Bab 4 Array Pascal

26
Bab 4 Array PASCAL Bab 4 Array 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. Contoh: Var Untai : array[1..50] of Integer; Pada contoh Array dengan nama untai telah dideklarasikan dengan tipe integer, dengan jumlah elemen maksimum 50 elemen, nilai dari elemen array tersebut diatas harus bertipe integer. 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 juga dapat dideklarasikan bersama dengan tipe yang beragam seperti contoh dibawah ini : Program Contoh_Deklarasi_Array_Beragam; Uses Crt;

Transcript of Bab 4 Array Pascal

Page 1: Bab 4 Array Pascal

Bab 4 Array PASCAL

Bab 4 Array 

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. 

Contoh: 

Var 

Untai : array[1..50] of Integer; 

Pada contoh Array dengan nama untai telah dideklarasikan dengan tipe integer, dengan jumlah

elemen maksimum 50 elemen, nilai dari elemen array tersebut diatas harus bertipe integer. 

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 juga dapat dideklarasikan bersama dengan tipe yang beragam seperti contoh dibawah

ini : 

Program Contoh_Deklarasi_Array_Beragam; 

Uses Crt; 

Var 

Page 2: Bab 4 Array Pascal

NPM : array[1..20] of string[10]; 

Nama : array[1..20] of string[25]; 

Nilai : array[1..20] of real; 

Umur : array[1..20] of byte; 

banyak,i : integer; 

Begin 

ClrScr; 

Write('Isi berapa data array yang diperlukan :');Readln(banyak); 

For i := 1 to banyak Do 

Begin 

Write('NPM =');Readln(NPM[i]); 

Write('Nama =');readln(Nama[i]); 

Write('Nilai=');readln(Nilai[i]); 

Write('Umur =');readln(Umur[i]); 

End; 

{cetak varibel array} 

Writeln('NPM NAMA NILAI UMUR '); 

For i:= 1 to banyak Do 

Begin 

Writeln(Npm[i]:10,Nama[i]:25,Nilai[i]:3:2,' ',Umur[i]:3); 

End; 

Readln; 

End. 

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini : 

Type 

Angka = String[20]; 

Var 

Nama : Array [1..50] of Angka; 

Begin 

End. 

Deklarasi tipe indeks subrange integer Indeks pada array dapat tipe skalar atau subrange,

tetapi tidak bisa real. 

Contoh: 

Var 

Page 3: Bab 4 Array Pascal

Nilai : Array[1..10] of Integer; 

pada contoh ini array nilai mempunyai 10 buah elemen yaitu dari 1 sampai 10. Array tersebut

dapat dideklarasikan dengan type seperti berikut ini : 

Type 

Skala = 1..10; 

Var 

Nilai : Array [skala] of Integer; 

atau : 

Type 

Skala = 1..10; 

Y = Array[skala] of Integer; 

Var 

Nilai : Y; 

atau : 

Type 

Y = Array[1..10] of Integer; 

Var 

Nilai : Y; 

atau : 

Const 

Atas =1; 

Bawah = 5; 

type 

Y = Array[Atas..Bawah] of Integer; 

Var 

Nilai : Y; 

I. Deklarasi Type Indeks Skalar 

Indeks dari larik dapat berupa tipe skalar. 

Contoh. : 

Program Deklarasi_Indeks_Array_Skalar; 

Uses Crt; 

Var 

Jum : Array[(jan,feb,mar,apr,mei)] of Integer; 

Begin 

Jum[jan]:=25; 

Jum[feb]:=45; 

Page 4: Bab 4 Array Pascal

Jum[mar]:=21; 

Jum[apr]:=23; 

Jum[mei]:=50; 

Writeln('Jumlah nilai bulan maret =',Jum[mar]); 

Readln; 

End. 

dapat juga ditulis : 

type 

Bln = (jan,feb,mar,apr,mei); 

Var 

Jum : Array[bln] of Integer; 

atau : 

type 

Bln =(jan,feb,mar,apr,mei); 

Var 

Jum : Array[jan..mei] of Integer;

II. Deklarasi Konstanta Array 

Array tidak hanya dapat berupa suatu varibel yang dideklarasikan di bagian deklarasi variabel,

tetapi dapat juga berupa konstanta (const). 

Contoh Program : 

Program Contoh_Deklarasi_Array_Konstan; 

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. 

konstanta array dapat juga berupa ketetapan dalam bentuk karakter seperti berikut. 

Contoh Program : 

Program Contoh_Konstan_Array_Char_; 

Uses Crt; 

Const 

Huruf : Array[0..5] of Char=('A','B','C','D','E','F'); 

Page 5: Bab 4 Array Pascal

Var 

i : Integer; 

Begin 

For i:= 0 to 5 Do 

Writeln('Nilai konstan array ke',i:2,' = ',Huruf[i]); 

Readln; 

End. 

Konstanta array dapat juga berupa string seperti berikut ini. 

Contoh Program : 

Program Constanta_Array_String; 

Uses Crt; 

Type 

A = Array [1..5] of String; 

Const 

Nama : A = ('basic','pascal','cobol','paradox','dbase'); 

Var 

i : Integer; 

Begin 

For i:= 1 to 5 Do 

Writeln('Nilai Array ke-',i:2,'= ',Nama[i]); 

readln; 

end. 

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut : 

Contoh Program : 

Program String_Adalah_Array_Tipe_Char; 

Uses Crt; 

Var 

Nama : string; 

i : Integer; 

Begin 

Nama:='Turbo Pascal'; 

For i:= 1 to Length(nama) Do 

Writeln('Elemen ',i,' dari ',Nama,'= ',Nama[i]); 

Readln; 

End. 

contoh program bilangan prima dengan menggunakan bantuan array. 

Page 6: Bab 4 Array Pascal

Contoh program : 

Program Mencari_Bilangan_Prima_Dengan_Array; 

Uses Crt; 

Var 

Prima : Array[1..100] of Integer; 

i,j : Integer; 

bil : Integer; 

Begin 

ClrScr; 

For i := 2 to 100 Do 

Begin 

Prima[i]:=i; 

For j:= 2 to i-1 Do 

Begin 

bil := (i mod j); {* i dibagi j dicek apakah 0*} 

If bil = 0 then Prima[i]:=0; {*jika habis dibagi,berarti bkn prima*} 

End; 

If Prima[i]<> 0 Then Write(Prima[i],' '); {*cetak array yg prima*} 

End; 

Readln; 

End. 

Contoh pengurutan data dengan metode buble sort, yaitu dengan cara penukaran, dapat dilihat

pada contoh dibawah ini : 

Contoh Program : 

Program Penggunaan_Array_Untuk_Sortir_Buble_Sort; 

Uses Crt; 

Var 

nil1 : Array[1..100] of Integer; 

n,i,j,dum : Integer; 

Begin 

ClrScr; 

Write('mau isi berapa data acak (integer) ='); readln(n); 

For i := 1 to n Do 

Begin 

Write('Data Ke ',i,':');Readln(nil1[i]); 

End; 

{* penyapuan proses} 

Page 7: Bab 4 Array Pascal

for i:= 1 to n-1 do 

begin 

for j:= i to n do 

begin 

if nil1[j]

begin 

dum:=nil1[j]; 

nil1[j]:=nil1[i]; 

nil1[i]:=dum; 

end; 

end; 

end; 

writeln; 

writeln('Hasil Sortir'); 

for i := 1 to n do 

write(nil1[i]:3); 

readln; 

end. 

III. Array Dua Dimensi 

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. 

1 2 

1 2 3 

Untuk mengetahui cara mendeklarasikan dari penggunaan aray dua dimensi dapat dilihat pada

listing program dibawah ini . 

Contoh Program: 

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; 

Page 8: Bab 4 Array Pascal

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. 

IV. Alternatif Deklarasi Array Dua Dimensi. 

Ada beberapa cara dalam mendeklarasikan array dua dimensi, beberapa cara tersebut dapat

dilihat dibawah ini : 

Contoh : 

Var 

Tabel : Array[1..3] of Array[1..2] of Byte; 

atau : 

Type 

Matrik = Array[1..3,1..2] of Byte; 

Var 

Tabel : Matrik; 

atau : 

Type 

Baris = 1..3; 

Kolom = 1..2; 

Matrik = Array[Baris,Kolom] of Byte; 

Var 

Tabel : Matrik; 

atau : 

Type 

Baris = 1..3; 

Kolom=1..2; 

Matrik= Array[Baris] of Array[Kolom] of Byte; 

Var 

Tabel : Matrik; 

Dibawah ini akan diberikan listing program penggunaan array dua dimensi dalam aplikasi

Page 9: Bab 4 Array Pascal

penjumlahan matrik : 

Contoh Prorgam: 

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} 

Page 10: Bab 4 Array Pascal

For i:= 1 to 3 Do 

Begin 

For j:= 1 to 2 Do 

Begin 

Write(Hasil[i,j]:6); 

End; 

Writeln; 

End; 

Readln; 

End. 

V. Array Sebagai Parameter 

Array dapat digunakan sebagai parameter yang dikirimkan baik secara nilai (by value) atau

secara acuan (by reference) ke procedure atau ke function. Procedure yang menggunakan

parameter berupa array harus dideklarasikan di dalam judul procedure yang menyebutkan

parameternya bertipe array. 

Contoh Program : 

Program Contoh_Pengiriman_Parameter_Array_Di_Procedure; 

Uses Crt; 

Const 

Garis ='---------------------------------------------------'; 

Type 

Untai = Array[1..10] of String[15]; 

Bulat = Array[1..10] of Integer; 

Huruf = Array[1..10] of Char; 

Var 

i,Banyak : Integer; 

Procedure Proses(Nama:Untai;Nilai:Bulat); 

Var 

Ket : String; 

Abjad : Char; 

Begin 

Writeln(Garis); 

Writeln('Nama Nilai Abjad Keterangan'); 

Writeln(Garis); 

For i := 1 to Banyak Do 

Page 11: Bab 4 Array Pascal

Begin 

If Nilai[i] > 90 Then 

Begin 

Abjad:='A'; 

Ket :='Istimewa'; 

End; 

If (Nilai[i]<90) And (Nilai[i]>70) Then 

Begin 

Abjad:='B'; 

Ket :='Memuaskan'; 

End; 

If (Nilai[i]<70) And (Nilai[i]>60) Then 

Begin 

Abjad:='C'; 

Ket :='Cukup'; 

End; 

If (Nilai[i]<60) And (Nilai[i]>45) Then 

Begin 

Abjad:='D'; 

Ket :='Kurang'; 

End; 

If Nilai[i]< 45 Then 

Begin 

Abjad:='E'; 

Ket :='Sangat kurang'; 

End; 

Writeln(Nama[i]:15,' ',Nilai[i]:4,' ',Abjad,' ',Ket:15); 

End; 

Writeln(Garis); 

End; 

Procedure Masuk_Data; 

Var 

Nama : Untai; 

Nilai : Bulat; 

Begin 

Write('Banyak data =');Readln(Banyak); 

For i:= 1 to Banyak Do 

Begin 

Page 12: Bab 4 Array Pascal

ClrScr; 

Writeln('Data ke - ',i); 

Write('Nama =');readln(Nama[i]); 

Write('Nilai =');readln(Nilai[i]); 

End; 

Proses(Nama,Nilai); 

End; 

{modul Utama} 

Begin 

Masuk_Data; 

Readln; 

End. 

Referensi : 

# Lepkom Universitas Gunadarma. 

# Dasar-dasar Pemrograman Pascal, Teori dan Program terapan , Ir.P. Insap Santosa, M.Sc.

Contoh ARRAY pada PASCALOctober 9th, 2009 • Related • Filed Under

Program contoh_array_dimensi1;

Uses crt;

Var:

A,Y: integer;

X:array [1…4] as integer;

Begin

For A:= 1 to 4 do

Begin

Write (‘Masukan angka ke-‘, A);

Readln (X[A]);

End;

For A:= 1 to 2 do

Begin

Y := Y + X[A];

If X[A] > X[A-1] then

Max := X[A]

Else

Max := X[A-1];

Page 13: Bab 4 Array Pascal

If X[A] < X[A-1] then

Min := X[A]

Else

Min := X[A-1];

End;

For A:= 1 to 4 do

Begin

Write (‘ Nilai data ke-‘,a,’ :’);

Writeln (X[A]);

End;

Writeln (‘Nilai terbesar :’, Max);

Writeln (‘Nilai terendah :’, Min);

Writeln (‘Total nilai semua data :’, Y);

Readln;

End.

ARRAY / LARIKArray (larik ) adalah tipe terstruktur yang terdiri dari sejumlah komponen yangmempuyai tipe sama.B.U :Array [ 1 . . 20 ] of tipe_data ; (Dimensi 1)B.U :Array [1 . . 3 , 1 . . 2] of tipe_data; (Dimensi 2)ContohProgram Array :Uses crt ;Var

Nama : array [1..30 ] of string ;

Tugas, uts, uas, absen : array [1..30] of integer ;

Rata : array [1..30] of real ;

x , jd : byte;BEGINCLRSCR ;Write ( ‘Masukan Jumlah data : ‘) ; readln ( jd ) ;For x : = 1 to jd dobegin

Page 14: Bab 4 Array Pascal

Writeln ( ‘***************************** ‘) ;

Writeln ( ‘PENILAIAN UJIAN MAHASISWA BSI ‘) ;

Writeln ( ‘***************************** ‘) ;

Write ( ‘Input Nama : ‘) ; readln (nama[x] ) ;

Write ( ‘Input Nilai Tugas : ‘) ; readln (tugas[x] ) ;

Write ( ‘Input Nilai Absen : ‘) ; readln (absen[x] ) ;

Write ( ‘Input Nilai UTS : ‘) ; readln (uts[x] ) ;

Write ( ‘Input Nilai UAS : ‘) ; readln (uas[x]) ;

Rata[x]:=(0.1*tugas[x])+(0.2*absen[x])+(0.3*uts[x])+(0.4*uas[x]);

End ;CLRSCR ; 

Page 15: Bab 4 Array Pascal

For i : = 1 to j doBegin

Writeln ( ‘***************************** ‘) ;

Writeln ( ‘PENILAIAN UJIAN MAHASISWA BSI ‘) ;

Writeln ( ‘***************************** ‘) ;

Writeln ( ‘Nama : ‘, nama[i] ) ;

Writeln ( ‘Nilai Tugas : ‘, tugas[i] ) ;

Writeln ( ‘Nilai Absen : ‘, absen[i] ) ;

Writeln ( ‘Nilai UTS : ‘, uts[i] ) ;

Writeln ( ‘Nilai UAS : ‘, uas[i]) ;

Writeln ( ‘**************************** 

Page 16: Bab 4 Array Pascal

‘) ;

Writeln ( ‘Rata-rata : ‘, rata : 1: 0 ) ;

Readln ;End;END.Contoh dari Program Arrayprogram ayam_goreng;uses crt;vari,b:byte;jenis,kdjenis:array [1..50]of string;banyak,jmlharga,harga:array [1..50]of real;totb,ppn,totjml,total:real;beginclrscr;writeln(‘Ayam Goreng Fried Chicken’);writeln(‘========================’);writeln(‘Kode Jenis potong Harga’);writeln(‘=============================’);writeln(‘D Dada 3000 ‘);writeln(‘P Paha 2500 ‘);writeln(‘S Sayap 1500 ‘);writeln(‘=============================’);write(‘Masukan Jumlah Jenis : ‘);readln(b);for i:=1 to b dobeginwriteln;writeln(‘Jenis Ayam ke- ‘,i);writeln;write(‘Jenis Ayam Bagian [D/P/S] : ‘);readln(kdjenis[i]);write(‘Jumlah Beli / Potong : ‘);readln(banyak[i]);end;writeln; clrscr;writeln(‘ PROGRAM AYAM GORENG FRIED CHICKEN’);writeln(‘======================================================================’);writeln(‘NO JENIS POTONG HARGA SATUAN BANYAK BELIJUMLAH HARGA ‘);writeln;totb:=0;for i:=1 to b dobeginif kdjenis[i]=’D’ thenbeginjenis[i]:=’Dada’;harga[i]:=3000;end

Page 17: Bab 4 Array Pascal

else if kdjenis[i]=’P’ thenbeginjenis[i]:=’Paha’;harga[i]:=2500;endelse if kdjenis[i]=’S’ thenbeginjenis[i]:=’Sayap’;harga[i]:=1500;endelsebeginjenis[i]:=’Kepala’;harga[i]:=1000;end;jmlharga[i]:=harga[i]*banyak[i];totb:=totb+jmlharga[i];ppn:=totb*0.1;totjml:=totjml+banyak[i];total:=totb+ppnend;for i:=1 to b dobegin

writeln(i:1,jenis[i]:9,harga[i]:14:0,banyak[i]:18:0,jmlharga[i]:19:0);end;writeln(‘=================================================================’);writeln(‘ Jumlah Potong :‘,totjml:2:0);writeln(‘ Jumlah bayar :‘,totb:2:0);writeln(‘ PPN 10 % :‘,ppn:2:0);writeln(‘ Total bayar :‘,total:2:0);readln;end.Contoh Array Nilai siswauses crt;var Nilai : array[1..50] of real;jumlah, rata : real;i,a, JumDat : byte;nama : string;beginclrscr;{jumlah:=0;}writeln(‘ Nilai Rata – Rata Praktikum KelasTK2A’);

Writeln(‘—————————————’);write(‘Nama Mahasiswa =’ );readln(nama);Write(‘Berapa Jumlah data = ‘);readln(JumDat);for i := 1 to Jumdat do

Page 18: Bab 4 Array Pascal

beginWrite(‘Nilai Praktiklum ke‘,i,’=');Readln(Nilai[i]);end;jumlah:=0;for i:= 1 to JumDat dobeginJumlah := jumlah + Nilai[i];rata := Jumlah/JumDat;end;writeln;clrscr;writeln(‘Nama Mahasiswa =’,nama);for i := 1 to jumdat dobeginwriteln(‘Nilai Praktekm ke-’,i,’=’,nilai[i]:3:0);end;writeln(‘Total Nilai = ‘, jumlah:8:0);writeln(‘Nilai Rata – rata = ‘, Rata:8:1);readln;end.Contoh Arrayuses crt;var Nilai : array[1..50] of real;jumlah, rata : real;i,a, JumDat : byte;nama : string;beginclrscr;{jumlah:=0;}writeln(‘ Nilai Rata – Rata Praktikum KelasTK2A’);

Writeln(‘—————————————’);write(‘Nama Mahasiswa =’ );readln(nama);Write(‘Berapa Jumlah data = ‘);readln(JumDat);for i := 1 to Jumdat dobeginWrite(‘Nilai Praktiklum ke‘,i,’=');Readln(Nilai[i]);end;jumlah:=0;for i:= 1 to JumDat dobeginJumlah := jumlah + Nilai[i];rata := Jumlah/JumDat;end;writeln;clrscr;writeln(‘ Nilai Rata – Rata Praktikum KelasTK2A’);

Writeln(‘—————————————’);

Page 19: Bab 4 Array Pascal

writeln(‘Nama Mahasiswa =’,nama);writeln(‘ÉÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍ» ‘);writeln(‘º Praktikum º Nilai º ‘);writeln(‘ÌÍÍÍÍÍÍÍÍÍÍÍÎÍÍÍÍÍÍ͹ ‘);for i := 1 to jumdat dobeginwriteln(‘º’,’ ke-’,i,’ º’,nilai[i]:3:0,’ º’);end;writeln(‘ÈÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍͼ’);writeln(‘Total Nilai = ‘, jumlah:8:0);writeln(‘Nilai Rata – rata = ‘, Rata:8:1);readln;end.Contoh Array Agen BusProgram Harga_Tiket;uses crt;var np:array[1..50] of string;jb:array[1..50] of real;jbyr:array[1..50] of real;jml,a:byte;tot:real;ask:char;labelbaru;beginbaru:clrscr;textcolor(7);writeln(‘AGEN BUS MALAM “LENGAH TENTREM”‘);writeln;write(‘Masukkan Jumlah Penumpang :‘);readln(jml);writeln;for a:=1 to jml dobeginwriteln(‘Data Ke -’,a);write(‘Nama Penumpang : ‘);readln(np[a]);write(‘Jumlah Beli : ‘);readln(jb[a]);end;clrscr;writeln(‘DATA PENJUALAN TIKET’);writeln(‘AGEN BUS MALAM “LENGAH TENTREM”‘);

writeln(‘—————————————————-’);writeln(‘No. Nama Penumpang Jumlah BeliJumlah Pembayaran’);

writeln(‘—————————————————-’);for a:=1 to jml dojbyr[a]:=jb[a]*25000;for a:=1 to jml do

writeln(a:1,np[a]:10,jb[a]:10:0,jbyr[a]:27:3);

Page 20: Bab 4 Array Pascal

begin

writeln(‘—————————————————-’);tot:=0;tot:=tot+jbyr[a];writeln(‘TotalPembayaran Rp.’,tot:10:3);

writeln(‘—————————————————-’);writeln;write(‘Anda Ingin Memasukkan DataSelanjutnya [Y/T] ? ‘);readln(ask);if (ask=’Y')or(ask=’y') then goto baru;end;end.Contoh Array data karyawanuses crt;varnama:array[1..10]of string[20];alamat:array[1..20]of string[30] ;jml_gaji:array[1..20]of real;i,j:byte;beginclrscr;write(‘masukan jumlah Data :’);readln(j);for i:=1 to j dobeginwriteln(‘data ke- ‘,i);write(‘nama Karyawan :’);readln(nama[i]);write(‘masukan Alamat :’);readln(alamat[i]);write(‘jumlah Gaji:’);readln(jml_gaji[i]);end;clrscr;writeln(‘ DATA GAJI KARYAWAN’);

writeln(‘======================================’);writeln(‘No. Nama Karyawan Total Gaji ‘);

writeln(‘=======================================’);for i:=1 to j dobeginwriteln(i:1,nama[i]:15,jml_gaji[i]:15:0);end;

writeln(‘=======================================’);readlnend.Contoh Array Penjualan SusuUses crt;Var i,j:integer;merk:array[1..5] of string[10];ukuran:array[1..5] of char;jumbel,harsat:array[1..5] of integer;

Page 21: Bab 4 Array Pascal

harkot,pot,harsih:array[1..5] of real;Beginclrscr;Write(‘Banyaknya Pembelian : ‘);readln(i);Writeln;For j:=1 to i doBeginWriteln(‘Data Ke-’,j);Write(‘Merk Susu : ‘);Readln(merk[j]);Write(‘Ukuran [K/S/B] :‘);Readln(ukuran[j]);Write(‘Jumlah Beli :‘);Readln(jumbel[j]);If merk[j]=’Dancow’ thenCase ukuran[j] of‘K’:harsat[j]:=6500;‘S’:harsat[j]:=9500;‘B’:harsat[j]:=13500;EndElse If merk[j]=’Bendera’ thenCase ukuran[j] of‘K’:harsat[j]:=8500;‘S’:harsat[j]:=13500;‘B’:harsat[j]:=18500;EndElseCase ukuran[j] of‘K’:harsat[j]:=9500;‘S’:harsat[j]:=16500;‘B’:harsat[j]:=23500;End;If jumbel[j]>=15 thenBeginharkot[j]:=jumbel[j]*harsat[j];pot[j]:=0.1*harkot[j];

harsih[j]:=jumbel[j]*harsat[j]-pot[j];EndElse if jumbel[j]>=30 thenBeginharkot[j]:=jumbel[j]*harsat[j];pot[j]:=0.2*harkot[j];

harsih[j]:=jumbel[j]*harsat[j]-pot[j];EndElseBeginharkot[j]:=jumbel[j]*harsat[j];pot[j]:=0*harkot[j];

harsih[j]:=jumbel[j]*harsat[j]-pot[j];End;End;clrscr;

Page 22: Bab 4 Array Pascal

Gotoxy(1,1);Writeln(‘===========================================================================’);Gotoxy(2,2);Writeln(‘No’);Gotoxy(7,2);Writeln(‘Merk’);Gotoxy(16,2);Writeln(‘Ukuran’);Gotoxy(24,2);Writeln(‘Jumlah’);Gotoxy(32,2);Writeln(‘Harga’);Gotoxy(55,2);Writeln(‘Potongan’);Gotoxy(70,2);Writeln(‘Total’);Gotoxy(1,3);Writeln(‘Urut’);Gotoxy(7,3);Writeln(‘Susu’);Gotoxy(16,3);Writeln(‘Kaleng’);Gotoxy(25,3);Writeln(‘Beli’);Gotoxy(32,3);Writeln(‘Satuan’);Gotoxy(70,3);Writeln(‘Bayar’);

Gotoxy(1,4);Writeln(‘===========================================================================’);For j:=1 to i doBeginGotoxy(1,j+4);Writeln(j);Gotoxy(7,j+4);Writeln(merk[j]);Gotoxy(18,j+4);Writeln(ukuran[j]);Gotoxy(26,j+4);Writeln(jumbel[j]);Gotoxy(32,j+4);Writeln(‘Rp’,harsat[j]);Gotoxy(55,j+4);Writeln(‘Rp ‘,pot[j]:0:2);Gotoxy(67,j+4);Writeln(‘Rp ‘,harsih[j]:5:2);End;

Writeln(‘===========================================================================’);Readln;End.Contoh Array Toko serba adauses crt;varnp:string[20];jd,i:byte;nb:array[1..50]of string;jb,ttl,hrg:array[1..50]of real;tot:real;lagi:char;label awal,akhir;beginawal:clrscr;writeln(‘TOKO “SERBA ADA”‘);writeln(‘————————-’);write(‘masukan nama pembeli :’);readln(np);write(‘masukan jumlah data :’);readln(jd);for i:=1 to jd dobeginwriteln(‘data ke- ‘,i);

Page 23: Bab 4 Array Pascal

write(‘nama barang :’);readln(nb[i]);write(‘jumlah beli :’);readln(jb[i]);write(‘harga :’);readln(hrg[i]);end;clrscr;writeln(‘ TOKO “SERBAADA”‘);writeln(‘ TABEL PENJUALANBARANG’);

writeln(‘———————————————————–’);writeln(‘No. Nama pembeli Nama barangJumlah harga total ‘);

writeln(‘———————————————————–’);tot:=0;for i:=1 to jd dobeginttl[i]:=hrg[i]*jb[i];tot:=tot+ttl[i];end;for i:=1 to jd dobegin

writeln(i:1,np:10,nb[i]:13,jb[i]:12:0,hrg[i]:8:0,ttl[i]:10:0);end;

writeln(‘————————————————————-’);writeln(‘total bayar= ‘,tot:3:0);

writeln(‘————————————————————-’);write(‘Mau input datalagi[Y/T]=’);readln(lagi);if (lagi=’Y') or (lagi=’y') thengoto awalelsegoto akhir;akhir:readln;end.Contoh Array Bengkelprogram bengkel;uses crt;vari,b:byte;nm,nmoli,jnsmbl:array [1..50]of string;hrg,bonus,hrgsev,hrgoli,tot:array [1..50]ofreal;totb:real;beginclrscr;writeln(‘BENGKEL MAJU MUNDUR’);writeln(‘========================’);

Page 24: Bab 4 Array Pascal

write(‘Masukan data: ‘);readln(b);for i:=1 to b dobeginwriteln(‘data ke- ‘,i);writeln;write(‘nama pengunjung :’);readln(nm[i]);write(‘jenis kendaraan [1. mobil| 2.motor]:’);readln(jnsmbl[i]);write(‘jenis oli [ 1. castrol| 2. pelumaspertamina]:’);readln(nmoli[i]);end;writeln;writeln(‘ PROGRAM SERVIC BENGKELMAJU MUNDUR’);

writeln(‘======================================================================’);writeln(‘NO NAMA PENGUNJUNG JENISKENDARAAN JENIS OLI TOTAL ‘);writeln;totb:=0;for i:=1 to b dobeginif jnsmbl[i]=’1′ thenhrgsev[i]:=30000elsehrgsev[i]:=20000;if nmoli[i]=’2′ thenhrgoli[i]:= 20000elsehrgoli[i]:=30000;tot[i]:=hrgsev[i]+hrgoli[i];totb:=totb+tot[i];end;for i:=1 to b dobegin

writeln(i:1,nm[i]:9,hrgsev[i]:14:0,hrgoli[i]:18:0,tot[i]:19:0);end;

writeln(‘=================================================================’);writeln(‘total bayar:’,totb:2:0);readln;end.Contoh Array Keretauses crt;varjp,i:byte;np,nk:array[1..50]of string;fsl:array[1..50]of char;jml,hrg,ttl:array[1..50]of real;tot:real;

Page 25: Bab 4 Array Pascal

lagi:char;label awal,akhir;beginawal:clrscr;writeln(‘STASIUN “HARUS BERHENTI” ‘);writeln(‘================================’);write(‘masukan jumlah pemesan :’);readln(jp);for i:=1 to jp dobeginwriteln(‘Data ke- ‘,i);write(‘Nama pemesan :’);readln(np[i]);write(‘Nama kereta :’);readln(nk[i]);writeln(‘fasilitas [ 1.VVIP 3.BISNIS ');write(' 2.VIP 4.EKONOMI ]=’);readln(fsl[i]);write(‘jumlah pesan :’);readln(jml[i]);end;writeln(‘ STASIUN “HARUSBERHENTI” ‘);writeln(‘ PROGRAM PENJUALAN TIKETKERETA API’);

writeln(‘————————————————————————-’);writeln(‘NO. Nama Pemesan Nama KeretaFasilitas Jumlah Pesan harga total’);tot:=0;for i:=1 to jp dobeginif fsl[i]=’1′ thenhrg[i]:=200000elseif fsl[i]=’2′ thenhrg[i]:=180000elseif fsl[i]=’3′ thenhrg[i]:=140000elsehrg[i]:=80000;ttl[i]:=hrg[i]*jml[i];tot:=tot+ttl[i];end;for i:=1 to jp dobegin

writeln(i:1,np[i]:10,nk[i]:12,fsl[i]:15,jml[i]:14:0,hrg[i]:12:0,ttl[i]:10:0);end;writeln(‘————————————————————————–’);writeln(‘total pembayaran=’,tot:9:0);writeln(‘————————————————————————–’);write(‘Mau input data lagi[Y/T]=’);readln(lagi);if (lagi=’Y') or (lagi=’y') thengoto awal

Page 26: Bab 4 Array Pascal

elsegoto akhir;akhir:readln;end.