Struct dan Fungsi - Jurusan Informatikainformatika.unsyiah.ac.id/tfa/p/INF108-M16.pdf · Struct dan...

6
Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala – http://www.informatika.unsyiah.ac.id 1 Struct dan Fungsi Pendahuluan Pada pertemuan kali ini, materi yang akan dibahas berkaitan dengan struct dan cara mengirim data bertipe struct tertentu ke dalam fungsi menggunakan konsep called-by-reference. Selain itu, pengiriman data bertipe array of struct juga akan didiskusikan. Objektif Memperlihatkan cara mendeklarasikan array bertipe struct Mendiskusikan cara mengakses member dari struct untuk tipe data array Memperlihatkan contoh mengirim struct dalam fungsi menggunakan konsep called-by-reference Bahan Bacaan Buku pegangan atau bahan bacaan lain yang menjelaskan tentang struct dan fungsi dalam bahasa pemrograman C.

Transcript of Struct dan Fungsi - Jurusan Informatikainformatika.unsyiah.ac.id/tfa/p/INF108-M16.pdf · Struct dan...

Page 1: Struct dan Fungsi - Jurusan Informatikainformatika.unsyiah.ac.id/tfa/p/INF108-M16.pdf · Struct dan Fungsi Pendahuluan Pada pertemuan kali ini, materi yang akan dibahas berkaitan

Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala – http://www.informatika.unsyiah.ac.id 1

Struct dan Fungsi

Pendahuluan

Pada pertemuan kali ini, materi yang akan dibahas berkaitan dengan struct dan cara mengirim data bertipe struct tertentu ke dalam fungsi menggunakan konsep called-by-reference. Selain itu, pengiriman data bertipe array of struct juga akan didiskusikan. Objektif � Memperlihatkan cara mendeklarasikan array bertipe struct � Mendiskusikan cara mengakses member dari struct untuk tipe data array � Memperlihatkan contoh mengirim struct dalam fungsi menggunakan konsep called-by-reference Bahan Bacaan Buku pegangan atau bahan bacaan lain yang menjelaskan tentang struct dan fungsi dalam bahasa pemrograman C.

Page 2: Struct dan Fungsi - Jurusan Informatikainformatika.unsyiah.ac.id/tfa/p/INF108-M16.pdf · Struct dan Fungsi Pendahuluan Pada pertemuan kali ini, materi yang akan dibahas berkaitan

Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala – http://www.informatika.unsyiah.ac.id 2

Array bertipe Struct

Struct atau structure dalam ANSI/C digunakan untuk membuat tipe data yang terdiri dari beberapa anggota (member) dengan tipe tertentu. Contoh mendeklarasi sebuah struct, sebagaimana telah dibahas sebelumnya, adalah sebagai berikut:

typedef struct tanggal{ int hari; int bulan; int tahun; }date; date dob, tgl[8];

hari

bulan

tahun

dob

tgl 7 6 5 4 3 2 1 0

hari

bulan

tahun

hari

bulan

tahun

hari

bulan

tahun

hari

bulan

tahun

hari

bulan

tahun

hari

bulan

tahun

hari

bulan

tahun

hari

bulan

tahun

Page 3: Struct dan Fungsi - Jurusan Informatikainformatika.unsyiah.ac.id/tfa/p/INF108-M16.pdf · Struct dan Fungsi Pendahuluan Pada pertemuan kali ini, materi yang akan dibahas berkaitan

Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala – http://www.informatika.unsyiah.ac.id 3

Array bertipe Struct (Lanjutan) Penjelasan terhadap array bertipe struct tanggal ya ng dideklarasi sebelumnya Contoh sebelumnya memperlihatkan bagaimana sebuah “struct tanggal” yang memiliki tiga member hari , bulan dan tahun , masing-masing bertipe int dideklarasikan. Kemudian menggunakan kata kunci typedef , struct tanggal tersebut dibuat alias dengan nama date . Selanjutnya, variabel dob dan array tgl yang bertipe date dideklarasikan. Ukuran dari array tgl adalah 8. Cara mengakses anggota (member) dari sebuah struct menggunakan digunakan operator titik. Contoh 1: dob.hari = 5; dob.bulan = 11; dob.tahun = 1970;

Mengakibatkan member dari struct dob memiliki nilai:

5

11

1970

dob

Page 4: Struct dan Fungsi - Jurusan Informatikainformatika.unsyiah.ac.id/tfa/p/INF108-M16.pdf · Struct dan Fungsi Pendahuluan Pada pertemuan kali ini, materi yang akan dibahas berkaitan

Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala – http://www.informatika.unsyiah.ac.id 4

Contoh 2: int i; for(i=0; i<8; i++){ tgl[i].hari = 5+i; tgl[i].bulan = 2+i; tgl[i].tahun = 1970+i; } for(i=0; i<8; i++){ printf("DoB mhs ke %d: %d-%d-%d\n", i+1,tgl[i].hari,tgl[i].bulan,tgl[i].tahun); }

Nilai setiap member dari array tgl per slot adalah:

tgl 7 6 5 4 3 2 1 0

5

2

1970

6

3

1971

7

4

1972

8

5

1973

9

6

1974

10

7

1975

11

8

1976

12

9

1977

Page 5: Struct dan Fungsi - Jurusan Informatikainformatika.unsyiah.ac.id/tfa/p/INF108-M16.pdf · Struct dan Fungsi Pendahuluan Pada pertemuan kali ini, materi yang akan dibahas berkaitan

Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala – http://www.informatika.unsyiah.ac.id 5

Fungsi dengan Parameter Bertipe Struct Contoh 3: #include <stdio.h> typedef struct vehicle{ char * jenis[30]; int jban; int jgear; }kendaraan_darat; void set(kendaraan_darat *, char *, int, int); /* prototipe fungsi */ void set(kendaraan_darat * kd, char * tipe, int b, int g){ strcpy(kd->jenis, tipe); kd->jban = b; kd->jgear = g; } int main(void){ kendaraan_darat v1, v2; set(&v1, "truk", 6, 7); /* mengirim alamat v1 yang bertipe struck */ set(&v2, "bajai", 3, 4); /* mengirim alamat v3 yang bertipe struck */ printf("Ciri-ciri truk: jlh ban %d, gear: %d\n", v1.jban. v1.gear); printf("Ciri-ciri bajai: jlh ban %d, gear: %d\n", v2.jban. v2.gear); return 0; }

Page 6: Struct dan Fungsi - Jurusan Informatikainformatika.unsyiah.ac.id/tfa/p/INF108-M16.pdf · Struct dan Fungsi Pendahuluan Pada pertemuan kali ini, materi yang akan dibahas berkaitan

Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala – http://www.informatika.unsyiah.ac.id 6

Diskusi dan Latihan

Jika sebuah buku memiliki judul , nama pengarang , jumlah halaman , penerbit , dan tahun terbit maka

1. Deklarasikan sebuah struct untuk menghimpun data buku tersebut.

2. Deklarasikan array berukuran 5 bertipe struct tersebut.

3. Buat fungsi set yang dapat digunakan untuk menentukan judul, nama pengarang, jumlah halaman, penerbit,

dan tahun terbit.

4. Input 3 buah data buku secara lengkap (gunakan perulangan).

5. Buat fungsi show yang dapat digunakan untuk menampilkan informasi lengkap dari sebuah buku.

Diskusikan secara berkelompok