• 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

Untuk memenuhi kebutuhan akan informasi, sebelum membeli bahan pustaka hendaknya perpustakaan terlebih dahulu mengetahui tipe atau jenis perpustakaan, hal ini dilakukan

Misalkan dalam PHP kita akan menyimpan suatu nilai berupa angka atau string dalam suatu variabel, caranya adalah membuat nama variabel terlebih dahulu kemudian diberikan

• Untuk membedakan nilai yang tersimpan dalam sebua array, maka sebuah index ditambahkan ke dalam array sebagai penunjuk lokasi nilai. • Nilai index pada umumnya secara otomatis

Dengan type = basis tipe data dari elemen-elemen yang akan disimpan pada array tersebut, var_name = nama (digunakan sebagai referensi) dari array tersebut, [ ] = keyword

Selanjutnya diberikan definisi fungsi semikontinu, yang akan digunakan dalam mendefinisikan kelas fungsi

Sebelum dilakukan penanaman bibit bawang merah yang akan digunakan pada penelitian ini terlebih dahulu dilakukan pemilihan bibit bawang merah dengan diameter 2 –

Dalam melakukan diagnosa, pemimpin tersebut terlebih dahulu menilai kinerja organisasinya saat ini, menemukan area yang bermasalah, lalu kemudian melakukan

Model aplikasi yang digunakan digambarkan pada Gambar 3.1 dimana, pengguna terlebih dahulu melakukan input akun google-nya kemudian jika berhasil maka google akan