• Tidak ada hasil yang ditemukan

Bab 4 Array (Bahan Tambahan)

N/A
N/A
Protected

Academic year: 2019

Membagikan "Bab 4 Array (Bahan Tambahan)"

Copied!
29
0
0

Teks penuh

(1)

ARRAY PADA PASCAL

June 21st, 2009

Author

Leave a comment

Go to comments

Array

adalah

variabel

yang dapat menyimpan lebih dari satu nilai sejenis.

Terdapat dua bagian penting yaitu elemen

array

yang merupakan nilai dan

endeks

array

yang merupakan nilai urut untuk mengakses nilai pada

array

.

Berikut ini

contoh array

A dengan 10 buah elemen tiap elemen memiliki nilai

antara 10 hingga 100.

A[1]

A[2]

A[3]

A[4]

A[5]

A[6]

A[7]

A[8]

A[9]

A[10]

1

2

3

4

5

6

7

8

9

10

10

20

30

40

50

60

70

80

90

100

Deklarasi

Array

.

Array

dideklarasikan pada bagian deklarasi. Deklarasi umum dari

array

adalah

NamaArray :

array

[IndeksAwal..IndeksAkhir] of tipe_data;

Contoh

: Jika akan mendeklarasikan viriabel A sebagai

Array

dengan 10 elemen

bertipe

integer

:

Var

A:

array

[1..10] of

Integer

;

Contoh

lain:

A1:

array

[0..9] of

Integer

;

A1:

array

[10..20] of

Integer

;

A1:

array

[‘a’..’j’] of

Integer

;

Mengakses elemen

Array

Untuk memberikan nilai pada

variabel

array

dapat dengan menggunakan

parameter berikut :

NamaArray [indeks]:=nilai;

Contoh

Var

A:

array

[1..10] of

integer

;

Begin

A[1]:=1; {Mengisikan elemen 1 dengan nilai 1}

A[9]:=200; {Mengisi elemen 9 dengan nilai 200};

End.

Array

sebagai

konstanta

Nilai pada

array

dapat bernilai konstan. Dapat kita lakukan dengan

mendeklarasikannya pada bagian constanta.

Bentuk umum pendeklrasiannya adalah:

Const

(2)

………);

Banyaknya nilai

konstanta

harus sama dengan jumlah elemennya.

Contoh

penggunaanya

Program

ArrayKonstanm;

Uses Wincrt;

Const

Hari :

array

[1..2] oof

string

=

(’senin’,’selasa’,'rabu’,'kamis’,'jumat’,’sabtu’,'minggu’);

Var

noHari:

integer

;

begin

clrscr;

write(’Masukan nomor harinya : ‘);readln(noHAri);

write(’Hari ke’,noHari,’adalah’,Har[noHari]);

end.

Jika dieksekusi maka hasilnya adalah:

Masukan nomor harinya : 2

Hari ke 3 adalah rabu

Array

saebagai parameter

Array

pada waktu tertentu dapat digunakan sebagai parameter dari suatu

proesdur atyau fungsi.

Contoh

Type

Bilangan

=

array

[1..100[ of

integer

;

Procedure

InputArray(A:

bilangan

; N:

integer

);

var

i:

integer

;

begin

for i:=1 to N do

write('Masukan elemen

array

ke ',i); readln(A[i]);

end.

Contoh

diatas adalah prenggunaan

array

sebagai parameter untuk memberikan

nilai pada suatu

array

tertentu.

Array

berisi

record

Caranya adalah mendefinisikan

record

terlebih dahulu yang kemudian akan

digunakan sebagai

tipe data

pada saat pendeklarasiaan

array

.

Contoh

:

Type

Tsiswa =

record

(3)

End;

TkumpulanSiswa =

array

[1..100] of Tsiswa;

Var

A: TkumpulanSiswa;

Variabel

A diatas akan menampung 100 buah

record

yang bertipe Tsiswa.

Sementara untuk

record

berisi

array

dengan

contoh

perhitungan nilai siswa

berikut : Nilai = (20% * kuis) + (30% * UTS) + (50% * UAS). Maka kita dapat

mendefinisikan mahasiswa sebagai tipe

record

yang memiliki 3 nilai dengan

menggunakan

array

. Yaitu:

Type

Tsiswa =

record

NIM:=

string

[9[;

Nama:

string

[25];

Nilai =

array

[1..3] of

real

;

Kode diatas menunjukan bahwa setiap mahasiswa memiliki 3 nilai.

Metode pencarian pada

Array

Ada beberapa macam teknik dalam mendapatkan nilai dari suatu elemen pada

array

salh satunya dengan metode pencarian beruntun.

Contoh

:

Program

CaraiBeruntun;

Uses Wincrt;

Const

write(‘Masukan nilai yang akan dicari : ’);readln(a);

index:=0;

writeln(a,’ adalah nilai yang ditemukan pada index ke ’,index);

end.

Array

2 dimensi

Array

2 dimensi adalah

array

yang memiliki 2 buah elemen bertipe

array

yang

berbentuk kolom dan baris. Pendeklarasiannya adlah sebagai berikut:

(4)

Contoh

Array2D :

array

[1..3, 1..4] of

integer

;

(5)

ARRAY / LARIK

Array (

larik ) adalah tipe terstruktur yang terdiri dari sejumlah komponen yang mempuyai tipe sama.

B.U :

Array [ 1 . . 20 ] of tipe_data ; (Dimensi 1)

B.U :

Array [1 . . 3 , 1 . . 2] of tipe_data; (Dimensi 2)

Contoh

Program 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;

BEGIN

CLRSCR ;

Write (

Masukan Jumlah data :

) ; readln ( jd ) ;

For x : = 1 to jd do

begin

Writeln (

(6)

*****************************

) ;

Writeln (

PENILAIAN UJIAN MAHASISWA BSI

Input Nilai Tugas :

) ; readln (tugas[x] ) ;

Write (

Input Nilai Absen :

(7)

PENILAIAN UJIAN MAHASISWA BSI

(8)

Writeln (

Readln ;

End;

END.

Contoh dari Program Array

program ayam_goreng;

uses crt;

(9)

i,b:byte;

jenis,kdjenis:array [1..50]of string;

banyak,jmlharga,harga:array [1..50]of real;

totb,ppn,totjml,total:real;

begin

clrscr;

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 do

begin

writeln;

writeln(‘Jenis Ayam ke- ‘,i);

writeln;

write(‘Jenis Ayam Bagian [D/P/S] : ‘);readln(kdjenis[i]);

write(‘Jumlah Beli / Potong : ‘);readln(banyak[i]);

end;

(10)

writeln(‘ PROGRAM AYAM GORENG FRIED CHICKEN’);

writeln(‘==================================================================== ==’);

writeln(‘NO JENIS POTONG HARGA SATUAN BANYAK BELI JUMLAH HARGA ‘);

writeln;

totb:=0;

for i:=1 to b do

begin

if kdjenis[i]=’D’ then

begin

jenis[i]:=’Dada’;

harga[i]:=3000;

end

else if kdjenis[i]=’P’ then

begin

jenis[i]:=’Paha’;

harga[i]:=2500;

end

else if kdjenis[i]=’S’ then

begin

jenis[i]:=’Sayap’;

harga[i]:=1500;

end

(11)

begin

jenis[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+ppn

end;

for i:=1 to b do

begin

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;

(12)

Contoh Array Nilai siswa

uses crt;

var Nilai : array[1..50] of real;

jumlah, rata : real;

i,a, JumDat : byte;

nama : string;

begin

clrscr;

{jumlah:=0;}

writeln(‘ Nilai Rata – Rata Praktikum Kelas TK2A’);

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

write(‘Nama Mahasiswa =’ );readln(nama);

Write(‘Berapa Jumlah data = ‘);readln(JumDat);

for i := 1 to Jumdat do

begin

Write(‘Nilai Praktiklum ke ‘,i,’=');Readln(Nilai[i]);

end;

jumlah:=0;

for i:= 1 to JumDat do

begin

Jumlah := jumlah + Nilai[i];

(13)

end;

writeln;

clrscr;

writeln(‘Nama Mahasiswa =’,nama);

for i := 1 to jumdat do

begin

writeln(‘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 Array

uses crt;

var Nilai : array[1..50] of real;

jumlah, rata : real;

i,a, JumDat : byte;

nama : string;

begin

clrscr;

{jumlah:=0;}

(14)

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

write(‘Nama Mahasiswa =’ );readln(nama);

Write(‘Berapa Jumlah data = ‘);readln(JumDat);

for i := 1 to Jumdat do

begin

Write(‘Nilai Praktiklum ke ‘,i,’=');Readln(Nilai[i]);

end;

jumlah:=0;

for i:= 1 to JumDat do

begin

Jumlah := jumlah + Nilai[i];

rata := Jumlah/JumDat;

end;

writeln;

clrscr;

writeln(‘ Nilai Rata – Rata Praktikum Kelas TK2A’);

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

writeln(‘Nama Mahasiswa =’,nama);

writeln(‘ÉÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍ» ‘);

writeln(‘º Praktikum º Nilai º ‘);

writeln(‘ÌÍÍÍÍÍÍÍÍÍÍÍÎÍÍÍÍÍÍ͹ ‘);

(15)

begin

writeln(‘º’,’ 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 Bus

Program 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;

label

baru;

begin

baru:

clrscr;

(16)

writeln(‘AGEN BUS MALAM “LENGAH TENTREM”‘);

writeln;

write(‘Masukkan Jumlah Penumpang : ‘);readln(jml);

writeln;

for a:=1 to jml do

begin

writeln(‘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 Beli Jumlah Pembayaran’);

writeln(‘—————————————————-’);

for a:=1 to jml do

jbyr[a]:=jb[a]*25000;

for a:=1 to jml do

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

(17)

writeln(‘—————————————————-’);

tot:=0;

tot:=tot+jbyr[a];

writeln(‘Total

Pembayaran Rp.’,tot:10:3);

writeln(‘—————————————————-’);

writeln;

write(‘Anda Ingin Memasukkan Data Selanjutnya [Y/T] ? ‘);readln(ask);

if (ask=’Y')or(ask=’y') then goto baru;

end;

end.

Contoh Array data karyawan

uses crt;

var

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

alamat:array[1..20]of string[30] ;

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

i,j:byte;

begin

clrscr;

write(‘masukan jumlah Data :’);readln(j);

for i:=1 to j do

(18)

writeln(‘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 do

begin

writeln(i:1,nama[i]:15,jml_gaji[i]:15:0);

end;

writeln(‘=======================================’);

readln

end.

Contoh Array Penjualan Susu

Uses crt;

Var i,j:integer;

merk:array[1..5] of string[10];

(19)

jumbel,harsat:array[1..5] of integer;

harkot,pot,harsih:array[1..5] of real;

Begin

clrscr;

Write(‘Banyaknya Pembelian : ‘);readln(i);

Writeln;

For j:=1 to i do

Begin

Writeln(‘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’ then

Case ukuran[j] of

‘K’:harsat[j]:=6500;

‘S’:harsat[j]:=9500;

‘B’:harsat[j]:=13500;

End

Else If merk[j]=’Bendera’ then

Case ukuran[j] of

‘K’:harsat[j]:=8500;

‘S’:harsat[j]:=13500;

(20)

End

Else

Case ukuran[j] of

‘K’:harsat[j]:=9500;

‘S’:harsat[j]:=16500;

‘B’:harsat[j]:=23500;

End;

If jumbel[j]>=15 then

Begin

harkot[j]:=jumbel[j]*harsat[j];

pot[j]:=0.1*harkot[j];

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

End

Else if jumbel[j]>=30 then

Begin

harkot[j]:=jumbel[j]*harsat[j];

pot[j]:=0.2*harkot[j];

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

End

Else

Begin

harkot[j]:=jumbel[j]*harsat[j];

(21)

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

End;

End;

clrscr;

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 do

(22)

Gotoxy(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 ada

uses crt;

var

np: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;

begin

(23)

clrscr;

writeln(‘TOKO “SERBA ADA”‘);

writeln(‘————————-’);

write(‘masukan nama pembeli :’);readln(np);

write(‘masukan jumlah data :’);readln(jd);

for i:=1 to jd do

begin

writeln(‘data ke- ‘,i);

write(‘nama barang :’);readln(nb[i]);

write(‘jumlah beli :’);readln(jb[i]);

write(‘harga :’);readln(hrg[i]);

end;

clrscr;

writeln(‘ TOKO “SERBA ADA”‘);

writeln(‘ TABEL PENJUALAN BARANG’);

writeln(‘———————————————————–’);

writeln(‘No. Nama pembeli Nama barang Jumlah harga total ‘);

writeln(‘———————————————————–’);

tot:=0;

for i:=1 to jd do

(24)

ttl[i]:=hrg[i]*jb[i];

tot:=tot+ttl[i];

end;

for i:=1 to jd do

begin

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 data lagi[Y/T]=’);readln(lagi);

if (lagi=’Y') or (lagi=’y') then

goto awal

else

goto akhir;

akhir:

readln;

end.

Contoh Array Bengkel

program bengkel;

(25)

var

i,b:byte;

nm,nmoli,jnsmbl:array [1..50]of string;

hrg,bonus,hrgsev,hrgoli,tot:array [1..50]of real;

totb:real;

begin

clrscr;

writeln(‘BENGKEL MAJU MUNDUR’);

writeln(‘========================’);

write(‘Masukan data: ‘);readln(b);

for i:=1 to b do

begin

writeln(‘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. pelumas pertamina]:’);readln(nmoli[i]);

end;

writeln;

writeln(‘ PROGRAM SERVIC BENGKEL MAJU MUNDUR’);

(26)

writeln(‘NO NAMA PENGUNJUNG JENIS KENDARAAN JENIS OLI TOTAL ‘);

writeln;

totb:=0;

for i:=1 to b do

begin

if jnsmbl[i]=’1′ then

hrgsev[i]:=30000

else

hrgsev[i]:=20000;

if nmoli[i]=’2′ then

hrgoli[i]:= 20000

else

hrgoli[i]:=30000;

tot[i]:=hrgsev[i]+hrgoli[i];

totb:=totb+tot[i];

end;

for i:=1 to b do

begin

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

end;

writeln(‘=================================================================’);

(27)

readln;

end.

Contoh Array Kereta

uses crt;

var

jp,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;

lagi:char;

label awal,akhir;

begin

awal:

clrscr;

writeln(‘STASIUN “HARUS BERHENTI” ‘);

writeln(‘================================’);

write(‘masukan jumlah pemesan :’);readln(jp);

for i:=1 to jp do

begin

writeln(‘Data ke- ‘,i);

write(‘Nama pemesan :’);readln(np[i]);

write(‘Nama kereta :’);readln(nk[i]);

(28)

write(' 2.VIP 4.EKONOMI ] =’);readln(fsl[i]);

write(‘jumlah pesan :’);readln(jml[i]);

end;

writeln(‘ STASIUN “HARUS BERHENTI” ‘);

writeln(‘ PROGRAM PENJUALAN TIKET KERETA API’);

writeln(‘————————————————————————-’);

writeln(‘NO. Nama Pemesan Nama Kereta Fasilitas Jumlah Pesan harga total’);

tot:=0;

for i:=1 to jp do

begin

if fsl[i]=’1′ then

hrg[i]:=200000

else

if fsl[i]=’2′ then

hrg[i]:=180000

else

if fsl[i]=’3′ then

hrg[i]:=140000

else

hrg[i]:=80000;

(29)

tot:=tot+ttl[i];

end;

for i:=1 to jp do

begin

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') then

goto awal

else

goto akhir;

akhir:

readln;

end.

Referensi

Dokumen terkait

Berkaitan dengan tugas menetapkan kegiatan dan jadwal acara rapat DPRD, Panitia Musyawarah menetapkan acara DPRD untuk satu masa sidang atau sebagian dari suatu masa

PERSYARATAN YANG HARUS DISERTAKAN PADA SAAT PENDAFTARAN (Bagi pendaftar program S-2 dari perguruan tinggi teologi)... SEKOLAH TINGGI

Analisis tulang ikan (juga dikenal sebagai diagram sebab-akibat), merupakan alat analisis, antara lain untuk mengkategorikan berbagai sebab potensial dari suatu masalah dan

Berdasarkan observasi dan wawancara tentang prosedur pengelolaan arsip Dinas Kearsipan dan Perpustakaan Provinsi Sumatera Barat, kemudian analisis masalah dan solusi

Penelitian mengenai Program Perbaikan Kampung: Proyek Muhammad Husni Thamrin di Jakarta Tahun 1969-1979 ini ditujukan untuk melengkapi penulisan tentang sejarah

Pertumbuhan : Merupakan tanaman vigor, type semi determinate,toleran layu bakteri dan cocok didataran rendah dan tinggi.. Cabai

Penentuan varians bersyarat dari sebuah peubah acak diberikan peubah acak lainnya, baik diskrit maupun kontinu dijelaskan dalam Definisi 7.12... 2 FUNGSI PEMBANGKIT

Halaman 6 LAMPIRAN II PENJABARAN PERTANGGUNGJAWABAN - PENJABARAN LAPORAN REALISASI ANGGARAN PENDAPATAN DAN