PRAKTIKUM 7 TIPE DATA TERSTRUKTUR 1. Judul Materi / Pokok Bahasan : Tipe Data Terstruktur 2. Tujuan Instruksional Khusus : Mahasiswa dapat membuat program dengan menggunakan jenisjenis tipe data terstruktur 3. Pengetahuan Prasyarat : Tipe Data Sederhana dan Struktur dasar logika 4. Teori Dasar : Type Data Terstruktur Type Data Terstruktur di dalam bahasa Pascal terdiri dari : 1. Array 2. Record 3. Set 4. File 1. Tipe Data Array / Larik Larik : deretan data yang punya type data sejenis. Misalnya : Daftar Nomor Telpon, Tabel Pajak dll. Tiap rinci data disebut komponen/elemen Larik. Tiap larik bisa dioperasikan menggunakan pemilih elemen larik yang disebut INDEX atau subskrib. Dan Index ini diletakkan dalam tanda [ ], sesudah nama larik. Tipe Data Terstruktur 1
Deklarasi ARRAY Deklarasi perubah selalu diawali dengan kata VAR Dalam deklarasi perubah biasa, kita hanya perlu menentukan type data perubah tersebut misalnya: real, integer, boolean atau char, sedangkan pada deklarasi larik (array), kita perlu mendefinisikan type larik, juga harus menentukan banyaknya index yang akan mengisi larik tersebut. VAR nama : ARRAY [index] OF type Keterangan : Nama : nama larik yang dideklarasikan; Index : batasan index (cacah elemen); Type : tipe data dari larik; Larik dapat bertipe data sederhana byte, word, integer, real, boolean, char atau string dan tipe data skalar atau subrange. Index dari larik menunjukkan maksimum banyaknya elemen-elemen dari larik. Index larik ini dapat berupa tipe subrange atau skalar apapun (integer, byte, word, char ) kecuali tipe real. Suatu larik tidak hanya dapat berupa suatu variabel yang dideklarasikan di bagian variabel, tetapi juga dapat berupa uatu konstanta yang dideklarasikan di bagian deklarasi konstanta. 2. Type Data Record (Rekaman) Seperti halnya array (larik), record juga punya elemen, di sini elemennya disebut "Field". Tiap elemen bisa punya type data yang berbeda. Banyaknya field dapat bervariasi atau bisa juga tetap. Record yang punya field yang bervariasi disebut Variant Record. Deklarasi type data Record dapat ditetapkan di bagian deklarasi var atau Type. Tipe Data Terstruktur 2
TYPE pengenal = RECORD Field1 : type1; Field2 : type2; : fieldn : typen; END; Membaca dan menulis field dapat dilaksanakan pada seluruh record atau sebagian record. Nama_record.Nama_field Tanda titik harus ditulis Notasi ini disebut Penandaan field ( field designator ). Berbeda dengan statement pemberian (assigment), maka untuk membaca dan menulis record selalu dilakukan menurut Field yang ada, tidak dilakukan secara keseluruhan record. Contoh : Read(Tanggal.Tgl); Read(Tanggal.bulan); Read(Tanggal.tahun); Statement WITH Digunakan untuk mengurangi penulisan yang berulang-ulang untuk nama recordnya. Maka dengan menggunakan statement WITH hanya cukup sekali saja menyebutkan nama recordnya. WITH nama_record DO {langsung dimasukkan/dicetak fieldnya} Record Varian Contoh : 1. Ketikkan program berikut, Program Contoh1; Uses crt; Tipe Data Terstruktur 3
Var Bil : Array[1...10] of real; Jum, rata : real; I,N : integer; Begin Clrscr; I:=0; jum:=0; Write( Jumlah data : ); readln(n); While I<=N Do Begin I:=I+1; Write( Bilangan ke-,i, );readln(bil[i]); Jum:=jum+bil[I]; End; Rata:=jum/N; Writeln( Total data :,jum:6:2); Writeln( Rata-rata :,rata:6:2); Readln; End. Tipe Data Terstruktur 4
Algoritma Contoh1 {Algoritma ini akan Memasukkan N buah data dan Menentukan Jumlah dari N data dan rata-ratanya } Deklarasi Bil : Array [1..10] of Real Jum, Rata : Real i, n : Integer Deskripsi : I 0 Jum 0 Read (n) While i<=n do I i + 1 Read (bil[i]) Jum jum+bil[i] Endwhile Rata jum/n Write(jum) Write(Rata) 2. Ketikkan program berikut, Program Contoh3; {Program input data pada record} Uses crt; Type Barang = record Kode : string; Nb : string; Jumlah : integer; Harsat : longint; End; Var Brg : Array [word] of barang; Lagi : char; I : integer; Tipe Data Terstruktur 5
Begin Clrscr; I:=0; Repeat Inc(I) Write( Kode Barang : ); readln(brg[i].kode); Write( Nama Barang : ); readln(brg[i].nb); Write( Jumlah Barang : ); readln(brg[i].jumlah); Write( Harga satuan : ); readln(brg[i].harsat); Write( Ada lagi : ); readln(lagi); Until lagi<> Y or lagi<> y End. Tipe Data Terstruktur 6
Algoritma Contoh3 {Algoritma ini akan Memproses data barang yang terdiri dari kode barang, nama barang, jumlah barang dan harga satuan barang } Deklarasi Type Barang = record Kode : string Nb : string Jumlah : integer Harsat : longint End Var Brg : Array [word] of barang Lagi : char I : integer Deskripsi : I 0 Repeat Inc(I) Read (brg[i].kode) Read (brg[i].nb) read (brg[i].jumlah) read (brg[i].harsat) read (lagi) Until (lagi Y ) or (lagi y ) Latihan dan Tugas 7, bisa dilihat di modul praktikum algoritma Tipe Data Terstruktur 7