laporan praktikum array delphi

30
LAPORAN PRAKTIKUM PEMROGRAMAN VISUAL “DELPHI” Disusun Oleh: Nama : Olga Aprilia Saudah NIM : M3111115 Kelas/Shift : TI C / 1 PROGRAM STUDI DIII TEKNIK INFORMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SEBELAS MARET 1

Upload: ariana-tika

Post on 02-Aug-2015

366 views

Category:

Documents


15 download

TRANSCRIPT

Page 1: Laporan Praktikum Array Delphi

LAPORAN PRAKTIKUM

PEMROGRAMAN VISUAL

“DELPHI”

Disusun Oleh:

Nama : Olga Aprilia Saudah

NIM : M3111115

Kelas/Shift : TI C / 1

PROGRAM STUDI DIII TEKNIK INFORMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SEBELAS MARET

SURAKARTA

2012

1

Page 2: Laporan Praktikum Array Delphi

I. PENDAHULUAN

A. Latar Belakang

Delphi merupakan bahasa pemrograman perkembangan dari

Pascal. Seperti bahasa pemrograman visual lainnya Delphi juga

memiliki IDE (Integrated Development Environment). Lingkungan ini

menyediakan semua tools yang diperlukan untuk mendesain,

mengembangkan, menguji, melakukan proses debugging, dan proses

penyebaran aplikasi (application deployment). Borland Delphi

memiliki fasilitas yang menarik dengan bahasa pemrograman yang

relatif mudah untuk dipelajari, dapat divisualisasikan, dan

dioperasikan. Delphi mendukung berbagai fasilitas yang tidak dimiliki

oleh software pemrograman lain, salah satu yang paling umum

diketahui adalah fasilitas source completion. Source completion

adalah fasilitas yang disediakan Delphi yang berguna untuk

melengkapi kode yang dituliskan pada kode editor secara otomatis.

Karena kelebihannya itu Borland Delphi digunakan pada penulisan ini

untuk dijadikan pembuat program pada praktikum kali ini.

B. Tujuan

1. Membuat program sederhana dengan menggunakan Borland

Delphi 7.0

2. Menggetahui tipe data array dan penggunaannya pada program

Delphi 7.0

3. Menggunakan komponen StringGrid dalam program.

II. DASAR TEORI

Array

Array adalah suatu tipe data terstruktur yang dapat menyimpan banyak data

dengan suatu nama yang sama dan menempati tempat di memori yang

berurutan serta bertipe data sama pula.

2

Page 3: Laporan Praktikum Array Delphi

Array dapat diakses berdasarkan indeksnya. Array umumnya dimulai dari 0

dan ada pula yang dimulai dari angka bukan 0. Pengaksesan larik biasanya

dibuat dengan menggunakan perulangan (looping). array dapat di bedakan

berdasarkn jumlah dimensinya.

Dimensi satu.Array ini biasanya digunkan hanya untuk menyimpan

nilai tunggal, seperti umur karyawan, atau semua tipe data yang

tungga.

Dimensi dua. Array ini biasanya digunkan untuk mengakses tabel

ataupun matriks pada matematika yang memerlukan 2 dimensi.

Multi dimensi. Array ini sangat jarang digunkan, karena sangat jarang

ada program yang memerlukan penapungan data secara multi dimensi

atau lebih dari 3 dimensi. oleh karena itu array multi dimensi jarang

digunakan.

Array sangat membantu kita dalam menyelesaikan atau pembuatan program

terutama pada penanganan kumpulan data atau statistika. contohnya: bila

kita di suruh untuk membuat sebuah program untuk menyimpan nama-nama

pegawai sebuah perusahaan yang nantinya akan di buatkan absensinya. bila

kita tidak membuat dengan array maka kita akan memerlukan nama variable

yang sangat banyak, tetapi bila kita menggunkan array kita hanya

memerlukan 1 variabel saja yang memiliki banyak nomor index.

StringGrid

StringGrid merupakan komponen visual Delphi yang digunakan menyajikan

data dalam bentuk lajur atau Grid. Beberapa properti yang sering digunakan

dalan komponen StringGrid diantaranya:

ColCount

Properti Colcount digunakan untuk menentukan jumlah kolom pada

StringGrid

3

Page 4: Laporan Praktikum Array Delphi

RowCount

Properti RowCount  digunakan untuk menentukan jumlah baris  pada

StringGrid

FixedCols

Properti FixedCols menyataka jumlah kolom tetap (kolom judul) yang

berada dikolom paling kiri dari tabel. Kolom tersebut tidak akan tergulung

jika pengguna melakukan scrolling secara horispntal.

FixedRows

Properti FixedRows menyatakan jumlah baris tetap (baris judul) yang

berada dikolom paling atas dari tabel. Baris tersebut tidak akan tergulung

jika pengguna melakukan scrolling secara vertikal.

Cells [kolom,baris]

Properti Cells [kolom,baris]  menyatakan konten  sel pada alamat [kolom,

baris]. Melalui properti Cell dapat diakses data-data pada masing-masing

cell. Tipe datanya berupa string sehingga data-data non string harus

dikonversi dulu sebelum dimasukkan ke dalam properti ini.

4

Page 5: Laporan Praktikum Array Delphi

III. LANGKAH KERJA

- Program Perkalian Matriks

1. Membuka Borland Delphi 7.0

2. Menanamkan beberapa komponen pada Form1, kontrol GroupBox (2

buah), Label (6 buah) Edit (3 buah), Button (3 buah) dan StringGrid (3

buah) pada jendela tool Additional.

3. Mengatur properti-properti dari masing-masing kontrol sesuai dengan

table sebagai berikut:

Komponen Properti Nilai

Form1 Name FrmMatrixKali

Caption MENGALIKAN MATRIKS

BorderStyle bsDialog

GroupBox1 Name GBInput

Caption Input Matriks

GroupBox2 Name GBElemen

Caption Input Elemen Matriks

StringGrid1 Name StringGrid1

FixedRows 0

5

Page 6: Laporan Praktikum Array Delphi

FixedCols 0

StringGrid2 Name StringGrid2

FixedRows 0

FixedCols 0

StringGrid3 Name StringGrid3

FixedRows 0

FixedCols 0

Label1 Name Label1

Caption Matriks A

Label2 Name Label2

Caption Jumlah Baris

Label3 Name Label3

Caption Jumlah Kolom

Label4 Name Label4

Caption Matriks B

Label5 Name Label5

Caption Jumlah Baris

Label6 Name Label6

Caption Jumlah Kolom

Label7 Name Label7

Caption Matriks A

Label8 Name Label8

Caption Matrik A

Label9 Name Label9

Caption Matrik B

Label10 Name Label10

Caption Matriks B

Label11 Name Label11

Caption Matriks C

Label12 Name lblinputa

6

Page 7: Laporan Praktikum Array Delphi

Caption Elemen

Label13 Name lblinputb

Caption Elemen

Edit1 Name EdBarisA

Text (dikosongkan)

Edit2 Name EdKolomA

Text (dikosongkan)

Edit3 Name EdBarisB

Text (dikosongkan)

Edit4 Name EdKolomB

Text (dikosongkan)

Edit5 Name EdInputA

Text (dikosongkan)

Edit6 Name EdInputB

Text (dikosongkan)

Button1 Name BtOK

Caption OK

Button2 Name BtOkA

Caption OK

Button3 Name BtOkB

Caption OK

Button4 Name BtKali

Caption Matriks A x B

4. Mengganti warna pada Form

5. Mendesain Form seperti tampilan dibawah ini:

7

Page 8: Laporan Praktikum Array Delphi

6. Membuka Unit1, kemudian mendeklarasikan variabel dan array pada

Var.

var

FrmMatriksKali: TFrmMatriksKali;

status:boolean;

i,j,k:integer;

data1,data2:array[1..100,1..100] of integer;

hasil:array[1..100,1..100] of integer;

7. Melakukan kode program untuk event on create pada Form.

procedure TFrmMatriksKali.FormCreate(Sender: TObject);

begin

GBElemen.Enabled:=true;

end;

8. Melakukan kode program untuk event on click pada BtOK.

procedure TFrmMatriksKali.btokClick(Sender: TObject);

begin

8

Page 9: Laporan Praktikum Array Delphi

if ((edkoloma.Text)<>(edbarisb.Text)) then

begin

ShowMessage('Ukuran Matriks tidak sesuai');

edkoloma.SetFocus;

end

else

begin

GBElemen.Enabled:=true;

Status:=True;

StringGrid1.RowCount:=strtoint(edbarisa.Text);

StringGrid1.ColCount:=strtoint(edkoloma.Text);

StringGrid2.RowCount:=strtoint(edbarisb.Text);

StringGrid2.ColCount:=strtoint(edkolomb.Text);

StringGrid3.RowCount:=strtoint(edbarisa.Text);

StringGrid3.ColCount:=strtoint(edkolomb.Text);

edbarisa.Enabled:=false;

edkoloma.Enabled:=false;

edbarisb.Enabled:=false;

edkolomb.Enabled:=false;

edinputa.SetFocus;

end;

end;

9. Melakukan kode program event on change pada EdInputA.

procedure TFrmMatriksKali.edinputaChange(Sender: TObject);

begin

Lblinputa.Caption:='['+''+inttostr(i)+','+Inttostr(j)+']';

end;

10. Melakukan kode program event on change pada EdInputB.

procedure TFrmMatriksKali.edinputbChange(Sender: TObject);

begin

Lblinputb.Caption:='['+''+inttostr(i)+','+Inttostr(j)+']';

9

Page 10: Laporan Praktikum Array Delphi

end;

11. Melakukan kode program event on click pada BtOkA.

procedure TFrmMatriksKali.btokaClick(Sender: TObject);

begin

StringGrid1.Cells[i,j]:=edinputa.Text;

GBElemen.Caption:='Input Elemen Matriks A';

if (i<>strtoint(edkoloma.Text)-1) or (j<>strtoint(edbarisa.Text)-1) then

begin

if i<strtoint(edkoloma.Text)-1 then

i:=i+1

else if j<strtoint(edbarisa.Text)-1 then

begin

i:=0;

j:=j+1;

end;

end

else

begin

ShowMessage('Elemen sudah habis. Isi Matrik Berikutnya');

i:=0;

j:=0;

edinputb.SetFocus;

edinputa.Enabled:=false;

btoka.Enabled:=false;

end;

end;

12. Melakukan kode program event on click pada BtOkB.

procedure TFrmMatriksKali.btokbClick(Sender: TObject);

begin

StringGrid2.Cells[i,j]:=edinputb.Text;

10

Page 11: Laporan Praktikum Array Delphi

GBElemen.Caption:='Input Elemen Matriks B';

if (i<>strtoint(edkolomb.Text)-1) or (j<>strtoint(edbarisb.Text)-1) then

begin

if i<strtoint(edkolomb.Text)-1 then

i:=i+1

else if j<strtoint(edbarisb.Text)-1 then

begin

i:=0;

j:=j+1;

end;

end

else

begin

ShowMessage('Elemen sudah habis. Kalikan Matriks');

i:=0;

j:=0;

edinputb.Enabled:=false;

btokb.Enabled:=false;

end;

end;

13. Melakukan kode program event OnClick pada btKali.

procedure TFrmMatriksKali.btkaliClick(Sender: TObject);

var w,x,y:integer;

begin

for y := 0 to StrtoInt(edkoloma.Text)-1 do

begin

for x := 0 to StrtoInt(edkolomb.Text)-1 do

begin

data1[y,x] := StrToInt(StringGrid1.Cells[y,x]);

data2[y,x] := StrToInt(StringGrid2.Cells[y,x]);

end;

11

Page 12: Laporan Praktikum Array Delphi

end;

for w := 0 to StrtoInt(edbarisa.Text)-1 do

begin

for y := 0 to StrtoInt(edkoloma.Text)-1 do

begin

hasil[w,y] := 0;

for x := 0 to strtoint(edkolomb.Text)-1 do

begin

hasil[w,y] := hasil[w,y] + data1[x,w]*data2[y,x];

end;

end;

end;

for y := 0 to StrtoInt(edkoloma.Text)-1 do

begin

for x := 0 to strtoint(edkolomb.Text)-1 do

begin

stringGrid3.Cells[x,y] := IntToStr(hasil[y,x]);

end;

end;

end;

14. Kemudian Save All (Project+Unit) dan menjalankan programnya

dengan menekan F9 (Run).

12

Page 13: Laporan Praktikum Array Delphi

IV. ANALISA

1. Ketika di Run tampilan program seperti dibawah ini:

Hal tersebut terjadi karena didalam unit terdapat script program:

Yang artinya ketika form kali matriks (FrmKaliMatriks) di run, maka

GroupBox Input dan Elemen akan aktif.

2. Kemudian menginputkan matriks 2 x 2, misalnya matrixA= (2 22 2) dan

matrixB=(3 33 3),

Pertama dimulai dengan menginputkan jumlah baris dan kolom baik

matrik A maupun B. Dalam penginputannya antara Kolom matriks A

13

Page 14: Laporan Praktikum Array Delphi

harus sama dengan kolom matrik B, begitu pula pada barisnya. Apabila

beda, maka akan muncul peringatan seperti dibawah ini:

Hal tersebut terjadi karena pada unit terdapat script:

14

Page 15: Laporan Praktikum Array Delphi

Arti script tersebuat adalah ketika BtOK di klik, maka akan muncul sebuah

kondisi yang apabila inputan pada komponen edkoloma tidak sama dengan

inputan pada edbarisb, maka akan muncul sebuah pesan “Ukuran Matriks

Tidak Sesuai”, sesuai dengan script:

begin

if ((edkoloma.Text)<>(edbarisb.Text)) then

begin

ShowMessage('Ukuran Matriks tidak sesuai');

kemudian kursor akan langsung aktif pada edkoloma. Hal tersebut

dikarenakan adanya script: edkoloma.SetFocus;

Namun apabila edkoloma dan edbarisb sama, maka akan masuk ke kondisi

kedua, yang kemudian akan diproses ke script yang lainnya.

Kemudian Enabled pada edbarisa, edkoloma, edbarisb, edkolomb diubah

menjadi False dan edinputa akan aktif.

edbarisa.Enabled:=false;

15

Page 16: Laporan Praktikum Array Delphi

edkoloma.Enabled:=false;

edbarisb.Enabled:=false;

edkolomb.Enabled:=false;

edinputa.SetFocus;

Dibawah ini merupakan tampilan dari program apabila diinputkan dua

buah matriks.

Dalam penginputan elemen berada pada GBElemen, tepatnya pada

edinputa dan edinputb. Terdapat script:

procedure TFrmMatriksKali.btokaClick(Sender: TObject);

begin

StringGrid1.Cells[i,j]:=edinputa.Text;

GBElemen.Caption:='Input Elemen Matriks A';

if (i<>strtoint(edkoloma.Text)-1) or (j<>strtoint(edbarisa.Text)-1) then

begin

if i<strtoint(edkoloma.Text)-1 then

16

Page 17: Laporan Praktikum Array Delphi

i:=i+1

else if j<strtoint(edbarisa.Text)-1 then

begin

i:=0;

j:=j+1;

end;

end

else

begin

ShowMessage('Elemen sudah habis. Isi Matrik Berikutnya');

i:=0;

j:=0;

edinputb.SetFocus;

edinputa.Enabled:=false;

btoka.Enabled:=false;

end;

end;

Maksud dari script tersebut adalah apabila btoka di klik, maka

kolom dan abris pada StringGrid1 berasal dari inputan dari edinputa dan

caption pada GBElemen akan berubah menjadi “Input Elemen Matriks

A”. Kemudian terdapat kondisi pertama yang nilai i tidak sama dengan

inputan pada edkolomb maka dikurangi 1, atau apabila nilai j tidak

sama dengan inputan pada edbarisa dikurangi 1 pula. Selanjutnya masuk

ke kondisi kedua, jika nilai i kurang dari nilai inputan edkoloma mka

dikurangi 1, lalu nilai I akan ditambah 1, namun apabila kondisi tersebut

salah maka akan masuk ke kondisi ketiga dimana nilai j apabila

besarnya kurang dari nilai inputan, edbaris dikurangi1, maka nilai i

menjadi 0 dan nilai j ditambah 1. Dan jika kondisi pertama tidak

terpenuhi (kondisi kedua dan ketiga tidak akan dieksekusi), maka akan

muncul sebuah pesan yang isinya “Elemen sudah habis. Kalikan

17

Page 18: Laporan Praktikum Array Delphi

Matriks”. Lalu nilai i dan j menjadi 0, kemudian enabled pada edinputa

dan btoka diubah menjadi false (non-aktif) dan yang aktif pada edinputb.

Kemudian masuk keprosedur selanjutnya, terdapat prosedur:

Penjelasan prosedur diatas hampir sama dengan prosedur sebelumnya,

letak perbedaannya pada komponen yang berperan, misalnya pada

prosedur sebelumnya edkoloma, kali ini edkolomb. Pada dasarnya sama,

karena fungsi dari kedua script diatas adalah untuk penginputan anggota

matriks.

Kemudian pada edinput (baik edinputa maupun edinputb) terdapat event

on change, yang didalamnya terdapat script:

18

Page 19: Laporan Praktikum Array Delphi

Maksud dari kedua prosedur diatas adalah, jika nilai pada edinputa(pada

prosedur eninputa) atau edinputb(pada prosedur eninputb), maka caption

pada Lbinputa / Lbinputb dikonversi dari Integer ke String kurung buka

siku “[“ kemudian dengan nilai i, kemudian string koma “,” kemudian

nilai j dan kurung tutup siku “]”

3. Kemudian BtnKali ditekan lalu tampilan program akan seperti:

Hal tersebut terjadi karena pada BtKali terdapat event on click yang

didalamnya memuat script:

19

Page 20: Laporan Praktikum Array Delphi

Maksud dari script diatas adalah ketika BtKali di klik, maka komponen

StringGrid3 akan ditampilkan, begitu pula label11 juga akan

ditampilkan. Lalu masuk ke perulangan for to do untuk nilai y=0 sampai

besar inputan pada edkoloma dikurangi 1 lakukan perulangan kedua

untuk x=0 sampai nilai inputan pada edkolomb dikurangi1, nilai data1

[y,x] adalah konversi tipe data String ke Integer dari nilai StringGrid1

[y,x] dan nilai data2 adalah hasil konversi tipe data String ke Integer dari

nilai pada StringGrind[y,x].

Kemudian terdapat perulangan kembali for to do yaitu untuk nilai w=0

sampai dengan nilai inputan edbarisa dikurangi 1, lakukan perulangan

lagi untuk nilai y=0 sampai nilai pada inputan edkoloma dikurangi1,

maka nilai hasil menjadi 0. Setelah itu masuk kedalam perulangan ketiga

untuk nilai x=0 sampai nilai inputan edkolomb dikurangi 1, terdapat

perhitungan untuk nilai hasil, yaitu nilai hasil untuk kolom nilai w dan

20

Page 21: Laporan Praktikum Array Delphi

baris y ditambah nilai data1 untuk kolom x dan baris w dikali nilai data2

untuk kolom y dan baris x.

Kemudian terdapat perulangan lagi yaitu untuk y=0 sampai inputan pada

edkoloma dikurangi1, akan masuk ke perulangan kedua untuk nilai x=0

sampai nilai inputan edkolombdikurangi 1, maka akan di tampilkan

untuk nilai pada StringGrid3[y,x] yang dikonversi dari Integer ke String.

*Catatan : x = baris, y = kolom

21

Page 22: Laporan Praktikum Array Delphi

V. KESIMPULAN

Dari praktikum kali ini praktikan dapat menarik kesimpulan:

1. Array merupakan sebuah tipe data yang berguna untuk menyimpan

sekelompok data yang sejenis. Pada realitanya bentuk array ada 2, yaitu:

a. Array Satu Dimensi

Bentuk umum penulisan Array satu dimensi adalah:

Nama_Array : Array[indeks] of Type Array

b. Array Dua Dimensi

Array berdimensi dua disebut dengan array multi dimensi. Bentuk

umum penulisan Array multi

dimensi adalah:

Nama_Array : Array[indeks_Baris,Indeks_Kolom] of Type Array

2. String Grid digunakan untuk menampilkan data array satu dimensi atau

dua (multi) dimensi.

22

Page 23: Laporan Praktikum Array Delphi

VI. DAFTAR PUSTAKA

Pranata, Antony.2000.Pemrograman Borland Delphi.Yogyakarta:ANDI OFFSET

_____________.2003.Pemrograman Delphi 7.0.Yogyakarta:ANDI OFFSET

http://lecturer.d3ti.mipa.uns.ac.id/tutut/files/2012/02/Modul-VIII.pdf

(diunduh 29 April 2012)

http://alpro.awardspace.com/array.html

http://fairuzelsaid.wordpress.com/2011/12/22/menggunakan-stringgrid-pada-

delphi/

(diunduh 5 Mei 2012)

23