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. Struct/Record adalah sekumpulan elemen data yang memiliki tipe dan panjang data yang berbeda-beda tapi memiliki nama yang sama.
Setiap elemen data disebut dengan member. Pertama yang harus anda ketahui adalah bahwa struct itu akan membentuk tipe data baru. Satu kali struct didefinisikan, maka tipe data baru berupa nama struct tersebut dapat digunakan dalam program sebagaimana tipe data lainnya seperti int, char, short, dll.
Syntax untuk membentuk struct: struct nama_struct { tipe_data_member1 nama_member1; tipe_data_member2 nama_member2; tipe_data_member3 nama_member3; }nama_objek; Nama_objek merupakan sebuah pengenal bagi objek yang menggunakan tipe struct tersebut.
Kita dapat mendeklarasikan objek yang akan menggunakan struct tersebut pada saat deklarasi struct. Seperti di bawah ini struct product { int weight;//variabel biasa float *price;//variabel pointer }apple, banana, melon;
Mengakses Member Untuk mengakses member struct pada masing2 objek, gunakan tanda titik(.) jika variabel biasa, dan gunakan tanda panah (->) jika variabel pointer yang disisipkan antara nama objek dan nama 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> struct film_struk { char judul[50]; int tahun; }film_tetap, film_kamu; void cetakfilm (film_struk film);
int main () { char konvertstring[5]; strcpy(film_tetap. judul,"Mr int main () { char konvertstring[5]; strcpy(film_tetap.judul,"Mr. Bean"); film_tetap.tahun = 2008; cout << "Masukkan Judul Film Kamu: "; cin.getline(film_kamu.judul,sizeof(film_kamu.judul)); cout << "Masukkan Tahun 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 void cetakfilm(film_struk film) { cout << film.judul; cout << " (" << film.tahun << ")\n"; }
strcpy() Pada contoh program di atas ada fungsi strcpy() dan atoi() Strcry() adalah fungsi yang ada pada file header string.h yang berfungsi untuk mengcopy string. syntax : char * strcpy ( char * destination, const char * source ); atoi() atoi() adalah fungsi yang ada pada file header stdlib.h yang berfungsi untuk menkonversi string menjadi integer. int atoi ( const char * str ); Fungsi lain: atol / strtol -> Convert string to long integer atof -> Convert string to double