struktur komposisi - E

advertisement
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
Download