Rekaman – Record Pada Pascal Struktur Data Gerlan A. Manu - Struktur Data
Pengantar Array Array yang akan dipergunakan harus di deklarasikan terlebih dahulu. Deklarasi dari Array diawali dengan kata cadangan Array diikuti oleh tipe index yang diletakkan diantara tanda “ [ ] ” diikuti lagi oleh kata cadangan of dan tipe arraynya. Array dapat bertipe sederhana byte, word, integer, real, boolean, char, string dan tipe scalar atau subrange. Contoh : Var X : array [ 1..100 ] of integer ; Array(Larik) X dideklarasikan sebagai larik tipe integer dengan jumlah elemen maksimum 100 elemen, dimana nilai elemen larik ini harus berisi nilai integer. Misalkan : X [1] : = 18 ; X [2] : = 5 ; Untuk mencetak elemen ke-1 dari array X : writeLn ( x[1] ); Gerlan A. Manu - Struktur Data
Deklarasi Tipe Index Subrange Integer Var NilaiHuruf : array [1..5] of char ; [1..5] inilah yang dimaksud dengan index subrange integer. Dapat dideklarasikan menjadi : Type Jangkauan = 1..5 ; {tipe subrange integer} Var NilaiHuruf : array [Jangkauan] of char ; Begin … end. Gerlan A. Manu - Struktur Data
Deklarasi Tipe Index Subrange Byte Var X : array [0..255] of real ; Karena [0..255] merupakan nilai subrange byte maka dapat dideklarasikan menjadi : X : array [byte] of real ; Subrange Word jika jangkaun index dari 0 sampai 65535 maka dapat dideklarasikan menjadi : X : array [word] of real ; Gerlan A. Manu - Struktur Data
Deklarasi Tipe Index Skalar Index dari larik dapat berupa tipe scalar atau enumerated. Contoh program: Var Jumlah : array [(Jan, Peb, Mar)] of integer ; Begin Jumlah[Jan] : = 125 ; Jumlah[Peb] : = 75 ; Jumlah[Mar] : = 18 ; Writeln ( ‘Jumlah untuk bulan maret = ‘, Jumlah[Mar]); End. Gerlan A. Manu - Struktur Data
Deklarasi Konstanta Larik Larik tidak hanya dapat berupa suatu variable yang dideklarasikan di bagian deklarasi variable, tetapi juga dapat berupa suatu konstanta yang dideklarasikan dibagian deklarasi konstanta. Contoh program : Const X : array [1..5] of integer = (6, 25, 375, 5, 2) ; Var I : word ; Begin For I : = 1 to 5 do Writeln ( ‘Nilai konstanta larik ke ‘, I, ‘=’, X[I] ) ; End. Gerlan A. Manu - Struktur Data
Larik Dimensi Banyak Larik juga berdimensi lebih dari satu. Dapat berdimensi dua, tiga, dan seterusnya. Larik berdimensi dua mewakili suatu bentuk tabel atau matrik, yaitu index pertama dapat menunjukkan baris dan index kedua dapat menunjukkan kolom dari tabel atau matrik. Bentuk Umum : Nama_larik = array [tipe index1,tipe index2] of tipe larik Gerlan A. Manu - Struktur Data
Record Sama halnya dengan array, Record adalah kumpulan data. Perbedaannya dengan array : dalam array semua elemennya harus bertipe sama, sedangkan dalam record setiap elemen bisa mempunyai tipe data yg berbeda satu sama lain. Penggunaan array bisa di gabungkan dengan penggunaan record. Contoh penggunaan record : rekaman data akademis, rekaman data gaji pegawai, inventory dll. Bentuk Umum : Type pengenal = record medan1 : tipe1; medan2 : tipe2; . medan_n : tipe_n end; Gerlan A. Manu - Struktur Data
Contoh Deklarasi Type Siswa = record nama : String[25]; alamat : String[35]; kelamin : (L,P); end; Var Murid : Siswa; Gerlan A. Manu - Struktur Data
Input/Output dlm Record Untuk memberikan nilai (input) suatu variabel dalam record, sama dengan variabel biasa yaitu dengan ReadLn. ReadLn(murid.nama); ReadLn(murid.alamat); ReadLn(murid.kelamin); Untuk membaca nilai (output) dengan menggunakan WriteLn. WriteLn(murid.nama); WriteLn(murid.alamat); WriteLn(murid.kelamin); Gerlan A. Manu - Struktur Data
Statement With Pengunaan readln dan writeln yang dapat dilihat pada slide sebelumnya bisa ditulis dengan statement with untuk mempermudah penulisan readln dan writeln. Contoh readln : With Murid do Begin ReadLn(nama); ReadLn(alamat); ReadLn(kelamin); End; Contoh Writeln : WriteLn(nama); WriteLn(alamat); WriteLn(kelamin); Gerlan A. Manu - Struktur Data
Contoh Record Luas Lingkaran Const Pi = 3,14; Type Hasil = Record Jari2 : real; Keliling : real; Luas : real; end; Var Lingkaran : Hasil; Begin write (‘Jari- Jari Lingkaran ‘); readLn (Lingkaran.jari2); Lingkaran.Luas := Pi*sqr(Lingkaran.Jari2); Lingkaran.Keliling := 2*Pi*Lingkaran.Jari2; writeLn (‘Keliling Lingkaran =‘, Lingkaran.Keliling; writeLn (‘Luas Lingkaran = ‘, Lingkaran.Luas; End. Gerlan A. Manu - Struktur Data
Contoh penggunaan With Const Pi = 3,14; Type Hasil = Record Jari2 : real; Keliling : real; Luas : real; end; Var Lingkaran : Hasil; Begin Wirg Lingkaran do write (‘Jari- Jari Lingkaran ‘); readLn (jari2); Luas := Pi*sqr(Jari2); Keliling := 2*Pi*Jari2; writeLn (‘Keliling Lingkaran =‘, Keliling; writeLn (‘Luas Lingkaran = ‘, Luas; End. Gerlan A. Manu - Struktur Data
Contoh Kasus Penggunaan Array pada Record Program Inventory Barang Rekaman Jumlah Baju per Ukuran Rekaman Harga Alat Musik per Merek Dll Program Akademik Rekaman Nilai Matakuliah per Mahasiswa Rekaman Jadwal Kuliah Per Semester dll Gerlan A. Manu - Struktur Data
Contoh Kasus Type DataMhs = Record Nomor : Integer; Nama : String[20]; IP : Real; Var Jum, I, J : Integer; Mahasiswa : Array[1..50] of DataMhs; Gerlan A. Manu - Struktur Data
Lanjutan… Begin Write (‘Jumlah Mahasiswa ‘); ReadLn (Jum); for I := 1 to Jum Do WriteLn; with mahasiswa[I] do Write (‘masukan Nim mahasiswa ke ‘, I, ‘: ‘); readln(nomor) Write (‘masukan Nama mahasiswa ke ‘, I, ‘: ‘); Write (‘masukan IP mahasiswa ke ‘, I, ‘: ‘); end; End; ………………… (TUGAS II Lanjutkan program ini untuk menampilkan data mahasiswa yang telah dinputkan………. Gerlan A. Manu - Struktur Data
Contoh Hasil NIM MHS Nama MHS IP 1234 Ridwan 3.15 1235 Anton 3.01 1236 Erwin 2.77 1237 Donna 2.50 Gerlan A. Manu - Struktur Data