struct dan fungsi - jurusan informatikainformatika.unsyiah.ac.id/tfa/p/inf108-m16.pdf · struct dan...

Post on 06-Feb-2018

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

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

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

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

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; }

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

top related