PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 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
Mahasiswa Nama; NIM; IPK Mahasiswa 1 Mahasiswa 2 Mahasiswa 3 Memiliki atribut/ variabel yang sama Nama; NIM; IPK Mahasiswa
struct mahasiswa { char nama[20]; char nim[8]; float ipk; } Deklarasi Struct
struct <nama record> <nama variabel> Contoh: struct mahasiswa dataMhs; Membuat Variabel Baru
Alternatif Pendeklarasian Struct 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
Latihan 1 Data seorang pasien: Nama Umur Penyakit Jenis kelamin Buatkan program untuk menyimpan datanya (untuk 1 pasien saja). Latihan 1
Proses Pengerjaan Langkah pengerjaan: Definisikan dulu struct-nya Deklarasikan variabel yang mengacu pada nama struct yang sudah dibuat tadi Lakukan input data pasien Lakukan output data pasien Proses Pengerjaan
//Program menggunakan STRUCT #include "stdio //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 //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; }
Latihan 2 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
Proses Pengerjaan Langkah pengerjaan: Definisikan dulu struct-nya Deklarasikan variabel yang mengacu pada nama struct yang sudah dibuat tadi. Variabel bisa bertipe array Lakukan input data pasien 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
Proses Pengerjaan Langkah pengerjaan: Definisikan dulu 2 buah struct-nya Deklarasikan 2 buah variabel berbeda yang masing-masing mengacu pada masing- masing struct. Lakukan proses input data Lakukan proses output data Proses Pengerjaan