STRUKTUR KOMPOSISI PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Struktur komposisi adalah sekumpulan variabel yang masing-masing tipe datanya bisa berbeda, dan dikelompokkan ke dalam satu nama. Inisialisasinya menggunakan kata kunci struct. Membuat sebuah struktur komposisi, berarti membuat sebuah record (rekaman data). Review Nama; NIM; IPK Mahasiswa 1 Nama; NIM; IPK Nama; NIM; IPK Mahasiswa 2 Mahasiswa 3 Memiliki atribut/ variabel yang sama Nama; NIM; IPK Mahasiswa Nama; NIM; IPK Mahasiswa 4 struct mahasiswa { char nama[20]; char nim[8]; float ipk; } Deklarasi Struct struct <nama record> <nama variabel> Contoh: struct mahasiswa dataMhs; Membuat Variabel Baru typedef struct { char nama[20]; char nim[8]; float ipk; } mahasiswa; mahasiswa dataMhs; Alternatif Pendeklarasian Struct Contoh cara mengisi nilai ke dalam variabel dataMhs: scanf(“%s”, &dataMhs.nama); scanf(“%s”, &dataMhs.nim); scanf(“%f”, &dataMhs.ipk); Contoh cara manampilkan nilai dari variabel dataMhs: printf(“%s”, dataMhs.nama); printf(“%s”, dataMhs.nim); printf(“%f”, dataMhs.ipk); Pengaksesan Struct Data seorang pasien: 1. Nama 2. Umur 3. Penyakit 4. Jenis kelamin • Buatkan program untuk menyimpan datanya (untuk 1 pasien saja). Latihan 1 Langkah pengerjaan: 1. Definisikan dulu struct-nya 2. Deklarasikan variabel yang mengacu pada nama struct yang sudah dibuat tadi 3. Lakukan input data pasien 4. Lakukan output data pasien Proses Pengerjaan //Program menggunakan STRUCT #include "stdio.h" void main() { struct pasien { char nama[20],sakit[20]; char gender; int umur; }; struct pasien dataPas; //Mengisi data mahasiswa printf("Nama Pasien: "); scanf("%s",&dataPas.nama); printf("Umur: "); scanf("%d",&dataPas.umur); printf("Penyakit: "); scanf("%s",&dataPas.sakit); printf("Jenis Kelamin: "); scanf("%s",&dataPas.gender); //Menampilkan data mahasiswa printf("Nama Pasien: %s \n",dataPas.nama); printf("Umur: %d \n",dataPas.umur); printf("Penyakit: %s \n",dataPas.sakit); printf("Jenis Kelamin: %c \n",dataPas.gender); return 0; } Diinginkan program untuk menyimpan data buku (5 buku). Data buku: Judul, Penulis, Penerbit, Kategori buku. Buatkan program untuk menyimpan dan menampilkan data 5 buah buku. Latihan 2 Langkah pengerjaan: 1. Definisikan dulu struct-nya 2. Deklarasikan variabel yang mengacu pada nama struct yang sudah dibuat tadi. Variabel bisa bertipe array 3. Lakukan input data pasien 4. Lakukan output data pasien Proses Pengerjaan #include "stdio.h" void main() { typedef struct { char judul[20],penulis[20]; char penerbit[20],kategori[10]; }buku; buku dataBuku[5]; int i; //MENGISI DATA BUKU for(i=0;i<=4;i++) { //Proses input data buku system("cls"); //fungsi untuk membersihkan layar printf("----MENGISI DATA BUKU----\n"); printf("Judul buku ke-%d: ",i+1); scanf("%s",&dataBuku[i].judul); printf("Penulis : "); scanf("%s",&dataBuku[i].penulis); printf("Penerbit: "); scanf("%s",&dataBuku[i].penerbit); printf("Kategori: "); scanf("%s",&dataBuku[i].kategori); printf("\n"); } //MENAMPILKAN DATA BUKU for(i=0;i<=4;i++) { printf("BUKU KE-%d \n",i+1); printf("Judul Buku: %s\n",dataBuku[i].judul); printf("Penulis: %s\n", dataBuku[i].penulis); printf("Penerbit: %s\n",dataBuku[i].penerbit); printf("Kategori: %s\n",dataBuku[i].kategori); printf("----------------------------------\n"); } return 0; } Diinginkan program untuk menyimpan data buku (5 buku) dan penulis (3 penulis). Data buku: Judul, Penulis, Penerbit, Kategori buku. Data penulis: Nama, Jenis kelamin, Umur. Buatkan program untuk menyimpan dan menampilkan data 5 buah buku dan 3 penulisnya. Latihan 3 Karena ada 2 buah objek yang berbeda, yakni BUKU dan PENULIS, maka perlu dibuat 2 buah struct yang berbeda. Artinya, selanjutnya akan dibutuhkan juga dua macam variabel, yakni variabel untuk menyimpan data buku, dan variabel untuk menyimpan data penulis. Analisis Masalah Langkah pengerjaan: 1. Definisikan dulu 2 buah struct-nya 2. Deklarasikan 2 buah variabel berbeda yang masing-masing mengacu pada masingmasing struct. 3. Lakukan proses input data 4. Lakukan proses output data Proses Pengerjaan