Contoh Program
Sederhana Dengan Menggunakan Type Data Sederhana Dan Majemuk :
Contoh Program Operasi Data Dalam
Bahasa Pascal :
Record
Sebuah record merupakan koleksi
satuan data yang heterogen, yakni terdiri dari berbagai type. Satuan data
tersebut sering disebut sebagai field dari record. Field dipanggil
dengan menggunakan namanya masing-masing. Suatu field dapat terdiri
atas beberapa subfield. Sebuah record rekaman disusun oleh beberapa
field. Tiap field berisi data dari tipe dasar / bentukan tertentu. Record
mempunyai kelebihan untuk menyimpan suatu sekumpulan elemen data yang
berbeda-beda tipenya (di banding array). Contoh, sebuah record dengan empat
buah field.
Deklarasi Record
Type
Variable = record
…field = type data
…field = type data
…field = type data
End.
STATEMENT “WITH”
Selain
cara yang telah disebutkan diatas, untuk memproses suatu record dapat
digunakan
statement WITH.
Dengan
statement ini penulisannya akan lebih sederhana.
Bentuk
Umum penulisan statement WITH ini adalah :
WITH
nama_record DO statement
Perhatikan
deklarasi dibawah ini :
TYPE x = RECORD
No : integer;
Kode : char;
Jumlah : integer;
Harga : real;
END;
VAR p,q : x;
Untuk membaca variabel p dan q
diatas dengan memanfaatkan statement WITH bentuknya menjadi
:
WITH
p,q DO read (no, kode, jumlah, harga);
Bandingkan jika digunakan cara sebelumnya :
Read(p.no,
p.kode, p.juml,p.harga,q.no,q.kode,q.juml,q.harga);
Pernyataan
seperti :
Data.npm
:=‘22297566’
Data.Nama:=‘Abdul
Kadir’
Data.Fakultas:=‘Teknik’
Dapat
diganti dengan :
WITH Data Do
Begin
npm
:=‘22297566’
Nama:=‘Abdul
Kadir’
Fakultas:=‘Teknik’
end;
Contoh Program Record Sederhana:
Type
Hasil =
record
Jari-jari
= real;
Keliling
= real;
Luas =
real;
End.
Var
Lingkarang
= hasil;
Begin
Write
(jari-jari lingkaran?); real readln (lingkaran.jari-jari);
Lingkaran.keliling
:=2 * Pi * lingkaran.jari-jari;
Lingkaran.luas
:= Pi * sqr (lingkaran jari-jari);
Writeln;
Writeln
(‘keliling lingkaran =’, lingkaran.keliling:7:2);
Writeln
(‘luas lingkaran =’, lingkaran luas :7:2);
End.
program record;
uses crt;
type
TSiswa = record
nim : string[8];
nama : string[25];
agama : string[10];
ktp : string[25];
end;
var
s : TSiswa;
umur,ts,tl : integer;
begin
clrscr;
write (’Masukkan tahun sekarang:
‘); readln (ts);
writeln (’Isikan data anda dalam
Form ini’);
write (’NIM : ‘); readln (s.nim);
write (’NAMA : ‘); readln
(s.nama);
write (’TAHUN LAHIR : ‘); readln
(tl);
umur := (ts-tl);
write (’AGAMA : ‘);readln
(s.agama);
write (’NO.KTP : ‘); readln
(s.ktp);
writeln;
writeln (’Berikut ini informasi
yang anda berikan: ‘);
writeln (’NIM : ‘, s.nim);
writeln (’NAMA : ‘, s.nama);
writeln (’Umur : ‘,umur);
writeln (’AGAMA : ‘, s.agama);
writeln (’NO.KTP : ‘, s.ktp);
READLN;
end.
Array (Larik)
Array adalah tipe data
terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe
sama. Komponen-komponen tersebut disebut sebagai komponen type, larik mempunyai
jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam larik
ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses
dengan menunjukkan nilai indexnya atau subskript. Array dapat bertipe data
sederhana seperti byte, word, integer, real, bolean, char, string dan tipe data
scalar atau subrange. Tipe larik mengartikan isi dari larik atau komponen-
komponenya mempunyai nilai dengan tipe data tersebut.
Array didefinisikan sebagai suatu kumpulan dimana elemen-elemennya berjenis data sama (homogeny). Array dapat dibedakan atas 2 (dua) bagian, yaitu :
a. Array Berdimensi Satu
Array
berdimensi satu dapat dikatakan sebagai suatu daftar yang linier atau sebuah
kolom. Bentuk deklarasi dari array jenis ini dalam bahasa Pascal adalah:
VAR
nama_array : ARRAY [index] OF jenis_elemen;
Contoh Program:
Program Contoh_Array_Input;
Uses Crt;
Var
Bilangan : array[1..50] of
Integer;
Begin
ClrScr;
Bilangan[1]:=3;
Bilangan[2]:=29;
Bilangan[3]:=30;
Bilangan[4]:=31;
Bilangan[5]:=23;
Writeln('nilai varibel bilangan
ke 3 =',Bilangan[3]);
Readln;
End.
Array
tidak hanya dapat berupa suatu varibel yang dideklarasikan
dibagian
deklarasi variabel, tetapi dapat juga berupa konstanta (const).
Contoh
Program:
Program;
Uses
Crt;
Const
Tetap
: Array[1..4] of Integer=(7,10,21,20);
Var
i
: Integer;
Begin
For
i:= 1 to 4 Do
Writeln('Nilai
Konstan array ke ',i:2,' =',Tetap[i]);
Readln;
End.
b. Array Multi Dimensi
Array
dimensi dua ini dapat dianggap sebagai sebuah matriks yang jumlah kolomnya
lebih dari satu. Bentuk deklarasi : VAR
nama_array : ARRAY [indeks_baris,indeks_kolom] OF jenis;
Di
dalam pascal Array dapat berdimensi lebih dari satu yang disebut dengan array dimensi
banyak (Multidimensional array), disini akan dibahas array 2 dimensi saja.
Array 2 dimensi dapat mewakili suatu bentuk tabel atau matrik, yaitu indeks
pertama menunjukkan baris dan indeks ke dua menunjukkan kolom dari tabel atau
matrik.
Untuk mengetahui cara mendeklarasikan dari penggunaan aray dua dimensi dapat dilihat pada listing program dibawah ini :
Program_Deklarasi_Array_Dua_Dimensi;
Uses Crt;
Var Tabel : Array[1..3,1..2] of
Integer;
i,j : Integer;
Begin
ClrScr;
Tabel[1,1]:=1;
Tabel[1,2]:=2;
Tabel[2,1]:=3;
Tabel[2,2]:=4;
Tabel[3,1]:=5;
Tabel[3,2]:=6;
For I := 1 to 3 Do Begin For J:=
1 to 2 Do Begin Writeln('Elemen ',i,',',j,'= ',tabel[i,j]);
End;
End;
Readln;
End.
Contoh program Array dalam
record :
Type barang= RECORD
nmbrg:string[20];
jmlbrg:array[1..3]of byte;
hrgbrg:real;
total:real;
end;
var jual:barang;
tbarang, i:integer;
Begin
clrscr;
write(‘Nama Barang
:’);readln(jual.nmbrg);
for i:=1to 3 do
begin
write(‘Jumlah barang ’,I,’ :
’);readln(jual.jmlbrg[i]);
tbarang:=tbarang+jual.jmlbrg[i];
end;
write(‘Harga barang
:’);readln(jual.hrgbrg);
jual.total:=tbarang*jual.hrgbrg;
writeln(‘Total Harga Barang = ‘,
jual.total:10:2);
end.
Coba lihat sendiri perbedaan
antara array tipe record dan array dalam record dari dua contoh program diatas
!
Program Penjumlahan_matrik ;
uses crt;
var
matrik1, matrik2 , hasil :
array[1..3,1..2] of integer;
i , j : integer;
begin
clrscr;
{ input matrik ke satu }
writeln(' Elemen matrik satu');
for i := 1 to 3 do
begin
for j :=
1 to 2 do
begin
write('Elemen baris -',i,' kolom -',j,'= ');
readln(matrik1[i,j]);
end;
end;
{input matrik ke dua}
writeln('input elemen matrik
dua');
for i:= 1 to 3 do
begin
for j:=
1 to 2 do
begin
write('Elemen baris -',i,' kolom -',j,'= ');
readln(matrik2[i,j]);
end;
end;
{proses penjumlahan tiap elemen}
for i := 1 to 3 do
begin
for j:= 1 to 2 do
begin
hasil[i,j]:=matrik1[i,j]+matrik2[i,j];
end;
end;
{proses cetak hasil}
writeln(' ');
for i:= 1 to 3 do
begin
for j:= 1 to 2
do
begin
write(matrik1[i,j]:4);
end;
writeln;
end;
writeln('+');
for i:= 1 to 3 do
begin
for j:= 1 to 2
do
begin
write(matrik2[i,j]:4);
end;
writeln;
end;
writeln('=');
for i:= 1 to 3 do
begin
for j:= 1 to 2 do
begin
write(hasil[i,j]:4);
end;
writeln;
end;
readln;
end.
Tidak ada komentar:
Posting Komentar