struktur komposisi (record)

23
Algoritma dan Struktur Data STRUKTUR KOMPOSISI (RECORD)

Upload: brianna-kirby

Post on 02-Jan-2016

50 views

Category:

Documents


1 download

DESCRIPTION

STRUKTUR KOMPOSISI (RECORD). Algoritma dan Struktur Data. //Program pengantar ke materi struct #include void main() { char nama1[20], nama2[20], nama3[20]; char nim1[8], nim2[8], nim3[8]; float ipk1, ipk2, ipk3; printf("Nama 1: "); scanf("%s",&nama1); - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: STRUKTUR KOMPOSISI (RECORD)

Algoritma dan Struktur Data

STRUKTUR KOMPOSISI (RECORD)

Page 2: STRUKTUR KOMPOSISI (RECORD)

//Program pengantar ke materi struct

#include <stdio.h>

void main()

{

char nama1[20], nama2[20], nama3[20];

char nim1[8], nim2[8], nim3[8];

float ipk1, ipk2, ipk3;

printf("Nama 1: ");

scanf("%s",&nama1);

printf("NIM 1: ");

scanf("%s",&nim1);

printf("IPK 1: ");

scanf("%f",&ipk1);

Page 3: STRUKTUR KOMPOSISI (RECORD)

printf("Nama 2: ");

scanf("%s",&nama2);

printf("NIM 2: ");

scanf("%s",&nim2);

printf("IPK 2: ");

scanf("%f",&ipk2);

printf("Nama 3: ");

scanf("%s",&nama3);

printf("NIM 3: ");

scanf("%s",&nim3);

printf("IPK 3: ");

scanf("%f",&ipk3);

return 0;

}

Page 4: STRUKTUR KOMPOSISI (RECORD)

DefinisiStruktur 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).

Page 5: STRUKTUR KOMPOSISI (RECORD)

KegunaanStruktur Komposisi digunakan untuk

menampung sekumpulan data dari suatu objek.

Misalkan:Ada 1000 mahasiswa di STMIK AmikomSetiap mahasiswa pasti memiliki data diri, seperti:

nama, nim, ipk.Maka, untuk menyimpan ketiga data diri mahasiswa

tadi, setiap data diri mahasiswa harus disimpan dalam satu kesatuan.

Page 6: STRUKTUR KOMPOSISI (RECORD)

Mahasiswa 1

Nama;NIM;IPK

Mahasiswa 2

Nama;NIM;IPK

Mahasiswa 3

Nama;NIM;IPK

Mahasiswa 4

Nama;NIM;IPK

Nama;NIM;IPK

Mahasiswa

Memiliki atribut/ variabel yang sama

Page 7: STRUKTUR KOMPOSISI (RECORD)

Deklarasi Struktur Komposisi

struct mahasiswa{

char nama[20];char nim[8];float ipk;

}

Page 8: STRUKTUR KOMPOSISI (RECORD)

Menggunakan Struktur KomposisiJika struktur komposisi “mahasiswa” sudah

didefinisikan, berarti kita sudah mempunyai sebuah record yang bernama “mahasiswa”.

Selanjutnya, record “mahasiswa” ini bisa digunakan untuk membuat variabel-variabel baru.

Page 9: STRUKTUR KOMPOSISI (RECORD)

Menggunakan Struktur KomposisiSyntax untuk membuat variabel baru

dengan record “mahasiswa” yang sudah dibuat tadi adalah:struct <nama record> <nama variabel>

Contoh:struct mahasiswa dataMhs;

Sehingga sekarang kita sudah memiliki sebuah variabel bernama “dataMhs” yang berisi data nama, nim, dan ipk.

Page 10: STRUKTUR KOMPOSISI (RECORD)

Pengaksesan StrukturUntuk mengakses anggota dari struktur,

digunakan salah satu dari dua operator:1. Titik (.), jika tipe variabel yang diakses

adalah variabel tunggal.2. Panah (->), jika tipe variabel yang diakses

adalah pointer.

Page 11: STRUKTUR KOMPOSISI (RECORD)

Pengaksesan Struktur (2)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);

Page 12: STRUKTUR KOMPOSISI (RECORD)

//Program menggunakan STRUCT

#include "stdio.h"

void main()

{

struct mahasiswa

{

char nama[20];

char nim[7];

float ipk;

};

struct mahasiswa dataMhs;

Page 13: STRUKTUR KOMPOSISI (RECORD)

//Mengisi data mahasiswa

printf("Nama Mahasiswa: ");

scanf("%s",&dataMhs.nama);

printf("NIM: ");

scanf("%s",&dataMhs.nim);

printf("IPK: ");

scanf("%f",&dataMhs.ipk);

//Menampilkan data mahasiswa

printf("Nama Mahasiswa: %s \n", dataMhs.nama);

printf("NIM: %s \n", dataMhs.nim);

printf("IPK: %f \n", dataMhs.ipk);

return 0;

}

Page 14: STRUKTUR KOMPOSISI (RECORD)

Alternatif Mendeklarasikan Struktur KomposisiMenggunakan keyword typedef. Dengan menggunakan typedef, maka

berarti kita menjadikan record tersebut sebagai sebuah tipe data baru (user defined type).

Syntax:typedef struct

{

<deklarasi variabel>

} <nama tipe data>;

Page 15: STRUKTUR KOMPOSISI (RECORD)

Penggunaan TypedefContoh penggunaannya:typedef struct

{

char nama[20];

char nim[7];

float ipk;

}mahasiswa;

mahasiswa mhs; //inisialisasi variabel mhs tidak perlu menggunakan “struct” lagi

Page 16: STRUKTUR KOMPOSISI (RECORD)

Struktur Komposisi dan ArrayJika ada 1000 mahasiswa yang datanya

ingin disimpan, maka kita bisa mendefinisikan sebuah array yang bertipe “mahasiswa” yang telah dibuat sebelumnya.

Contoh:mahasiswa dataMhs[1000];Maka, kita sudah mempunyai sebuah array

bernama “dataMhs” yang berisi data nama, nim, dan ipk.

Page 17: STRUKTUR KOMPOSISI (RECORD)

Pengaksesan Struktur Komposisi dengan ArrayCara pengaksesan struktur komposisi dengan array

mirip dengan cara pengaksesan struktur komposisi biasa.

Contoh cara mengisi nilai ke dalam variabel dataMhs:scanf(“%s”, &dataMhs[i].nama);

scanf(“%s”, &dataMhs[i].nim);

scanf(“%f”, &dataMhs[i].ipk);

Page 18: STRUKTUR KOMPOSISI (RECORD)

Pengaksesan Struktur Komposisi dengan ArrayContoh cara manampilkan nilai dari

variabel dataMhs:printf(“%s”, dataMhs[i].nama);

printf(“%s”, dataMhs[i].nim);

printf(“%f”, dataMhs[i].ipk);

Page 19: STRUKTUR KOMPOSISI (RECORD)

//Program menggunakan TYPEDEF STRUCT

#include "stdio.h"

void main()

{

typedef struct

{

char nama[20];

char nim[7];

float ipk;

} mahasiswa;

int i; //pencacah array

mahasiswa dataMhs[3];

Page 20: STRUKTUR KOMPOSISI (RECORD)

//Mengisi data mahasiswa

for(i=0;i<=2;i++)

{

printf("Nama Mahasiswa: ");

scanf("%s",&dataMhs[i].nama);

printf("NIM: ");

scanf("%s",&dataMhs[i].nim);

printf("IPK: ");

scanf("%f",&dataMhs[i].ipk);

}

Page 21: STRUKTUR KOMPOSISI (RECORD)

//Menampilkan data mahasiswa

for(i=0;i<=2;i++)

{

printf("Nama Mahasiswa: %s \n",dataMhs[i].nama);

printf("NIM: %s \n",dataMhs[i].nim);

printf("IPK: %f \n",dataMhs[i].ipk);

}

return 0;

}

Page 22: STRUKTUR KOMPOSISI (RECORD)

Untuk Dibawa Pulang Buatkan sebuah program untuk

menyimpan dan menampilkan data dari 5 buah buku. Data yang dimiliki oleh setiap buku yakni:1. Judul buku2. Pengarang (satu orang saja)3. Penerbit4. Jumlah halaman5. Harga buku

Page 23: STRUKTUR KOMPOSISI (RECORD)

Kumpulkan HANYA KODE PROGRAMNYA SAJA dalam format .txt. Sertakan juga nama, nim, dan kelas dalam file .txt tersebut.

Dikirimkan ke [email protected], paling lambat satu pekan setelah praktikum ini dilaksanakan.

Subjek email: prak-06-<kelas>