User:Aryo Pratama Goyo

Teori Dasar Pada tahap pembelajaran bahasa C telah dipelajari mengenai tipe data dan variabe. Pada tahap awa setiap variable hanya mewakili 1 tipe data. Penggunaan struct memungkinkan 1 variabel memiliki anggota yang terdiri dari beberapa variabel dan tipe data. Struct membebaskan pemrogram untuk menyimpan data yang kompleks, data yang disimpan tidak harus bertipe data yang sama dengan data lainnya.

Pendeklarasian Untuk mendeklarasikan sebuah struct, dapat dipilih salah satu dari dua metode berikut ini. Pendeklarasian struct yang pertama (bentuk umum).

struct namaStruct { tipeData namaVariabel; }; Contoh kode pendeklarasian struct:

struct mahasiswa { char nim[25]; char nama[25]; int usia; }; Sedangkan untuk pendeklarasian cara yang kedua, dapat digunakan fasilitas typedef untuk memberikan nama samaran (alias name) kepada struct yang ingin dideklarasikan dan digunakan nantinya.

typedef struct { tipeData namaVariabel; }namaStruct; Contoh kode pendeklarasian struct:

typedef struct { char nim[25]; char nama[25]; int usia; }mahasiswa; Contoh Penggunaan Berikut ini merupakan contoh penggunaan struct :


 * 1) include 

struct mahasiswa { char nim[25]; char nama[25]; int usia; };

typedef struct { char namamk[25]; int semester; int sks; }mataKuliah;

void main{ struct mahasiswa mhs1 = {"2016823", "Budi Wahana",18}; mataKuliah mk1 = {"Struktur Data", 2, 3};

//tampilkan data Mahasiswa printf("NIM : %s\n",mhs1.nim); printf("Nama : %s\n",mhs1.nama); printf("Usia : %d\n",mhs1.usia);

//tampilkan data Mata Kuliah printf("Mata Kuliah : %s\n",mk1.namamk); printf("Semester : %d\n",mk1.semester); printf("SKS : %d\n",mk1.sks); } Pada contoh ini akan diperlihatkan struct bersarang, dalam artian didalam struct terdapat struct. Berikut ini contohnya:


 * 1) include 

struct nilai{ char mataKuliah[25]; int nilaiMk; };

struct mahasiswa { char nim[25]; char nama[25]; struct nilai dataNilai; };

void main{

struct mahasiswa mhs1 = {"2016823", "Budi Wahono",{"Struktur Data",90}};

printf("NIM : %s\n",mhs1.nim); printf("Nama : %s\n",mhs1.nama);

printf("Mata Kuliah : %s\n",mhs1.dataNilai.mataKuliah); printf("Nilai : %d\n",mhs1.dataNilai.nilaiMk);

} Pada contoh ini akan dilakukan pemberian nilai melalui keyboard terhadap struct yang sudah dideklarasikan.


 * 1) include 
 * 2) include 

struct koleksi { char judul[50]; char pengarang[50]; char jenis[100]; int buku_id; };

void main {

struct koleksi buku1; struct koleksi buku2;

printf("Buku 1 \n"); printf("Judul Buku : "); scanf("%[^\n]%*c", buku1.judul); printf("Nama Pengarang : "); scanf("%[^\n]%*c", buku1.pengarang); printf("Jenis Buku : "); scanf("%[^\n]%*c", buku1.jenis); buku1.buku_id = 6495407;

printf("Buku 2 \n"); printf("Judul Buku : "); scanf("%[^\n]%*c", buku2.judul); printf("Nama Pengarang : "); scanf("%[^\n]%*c", buku2.pengarang); printf("Jenis Buku : "); scanf("%[^\n]%*c", buku2.jenis); buku2.buku_id = 6495700;

printf("\nData Buku \n"); printf( "buku 1 judul : %s\n", buku1.judul); printf( "buku 1 pengarang : %s\n", buku1.pengarang); printf( "buku 1 jenis : %s\n", buku1.jenis); printf( "buku 1 buku_id : %d\n", buku1.buku_id);

printf( "buku 2 judul : %s\n", buku2.judul); printf( "buku 2 pengarang : %s\n", buku2.pengarang); printf( "buku 2 jenis : %s\n", buku2.jenis); printf( "buku 2 buku_id : %d\n", buku2.buku_id);

}