Materi Pertemuan 6

Download Report

Transcript Materi Pertemuan 6

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
#include
#include
#include
<iostream.h>
<stdlib.h>
<string.h>
<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. Bean");
film_tetap.tahun = 2008;
cout << "Masukkan Judul Film Kamu: ";
cin.getline(film_kamu.judul,sizeof(film_kamu.j
udul));
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.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.
syntax :
int atoi ( const char * str );
Fungsi lain:
atol / strtol -> Convert string to long integer
atof -> Convert string to double