130 likes | 445 Views
STRUKTUR DATA. Struct Atau Record. Pengantar. Struct terdapat pada bahasa C/C++, sedangkan Record pada bahasa Pascal. Sebuah Struct /Record merupakan koleksi satuan data yang heterogen , yakni terdiri dari berbagai type: int , float, char etc.
E N D
STRUKTUR DATA StructAtau Record
Pengantar • Structterdapatpadabahasa C/C++, sedangkan Record padabahasa Pascal. • SebuahStruct/Record merupakankoleksisatuan data yang heterogen, yakniterdiridariberbagai type: int, float, char etc. • Struct/Record adalahsekumpulanelemen data yang memilikitipedanpanjang data yang berbeda-bedatapimemilikinama yang sama.
Setiapelemen data disebutdengan member. • Pertama yang harusandaketahuiadalahbahwastructituakanmembentuktipe data baru. • Satu kali structdidefinisikan, makatipe data baruberupanamastructtersebutdapatdigunakandalam program sebagaimanatipe data lainnyasepertiint, char, short, dll.
Syntax untukmembentukstruct: structnama_struct { tipe_data_member1 nama_member1; tipe_data_member2 nama_member2; tipe_data_member3 nama_member3; }nama_objek; Nama_objekmerupakansebuahpengenalbagiobjek yang menggunakantipestructtersebut.
Kita dapatmendeklarasikanobjek yang akanmenggunakanstructtersebutpadasaatdeklarasistruct. Sepertidibawahini struct product { int weight;//variabelbiasa float *price;//variabel pointer }apple, banana, melon;
Mengakses Member • Untukmengakses member structpada masing2 objek, gunakantandatitik(.) jikavariabelbiasa, dangunakantandapanah (->) jikavariabel pointer yang disisipkanantaranamaobjekdannama member struct. Contoh : apple.weight apple->price melon.weight melon->price
Contoh Program 1 #include <iostream.h> #include <stdlib.h> #include <string.h> #include <conio.h> structfilm_struk { char judul[50]; inttahun; }film_tetap, film_kamu; void cetakfilm (film_struk film);
int main () { char konvertstring[5]; strcpy(film_tetap.judul,"Mr. Bean"); film_tetap.tahun = 2008; cout << "MasukkanJudul Film Kamu: "; cin.getline(film_kamu.judul,sizeof(film_kamu.judul)); cout << "MasukkanTahun Film Kamu: "; cin.getline(konvertstring, sizeof(konvertstring)); film_kamu.tahun = atoi(konvertstring); cout << "Film Favorite :\n"; cetakfilm (film_tetap); cout << "Film Favorite Kamu :\n"; cetakfilm (film_kamu); getch(); return 0; }
void cetakfilm(film_struk film) { cout << film.judul; cout << " (" << film.tahun << ")\n"; }
strcpy() • Padacontoh program diatasadafungsistrcpy() danatoi() • Strcry() adalahfungsi yang adapada file header string.h yang berfungsiuntukmengcopy string. syntax : char * strcpy ( char * destination, const char * source ); • atoi() atoi() adalahfungsi yang adapada file header stdlib.h yang berfungsiuntukmenkonversi string menjadi integer. syntax : intatoi ( const char * str ); Fungsi lain: atol / strtol -> Convert string to long integer atof -> Convert string to double