LAPORAN AKHIR PRAKTIKUM 3

49
LAPORAN AKHIR PRAKTIKUM ALGORITMA DAN PEMROGRAMAN III Nama : AHMAD ZAY HOKKY SIHOTANG NIM : DBC 110 089 Modul : III (Percabangan dan Perulangan)

Transcript of LAPORAN AKHIR PRAKTIKUM 3

Page 1: LAPORAN AKHIR PRAKTIKUM 3

LAPORAN AKHIR PRAKTIKUM

ALGORITMA DAN PEMROGRAMAN III

Nama : AHMAD ZAY HOKKY SIHOTANG

NIM : DBC 110 089

Modul : III (Percabangan dan Perulangan)

JURUSAN/PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS PALANGKARAYA

2011

Page 2: LAPORAN AKHIR PRAKTIKUM 3

BAB I

TUJUAN DAN LANDASAN TEORI

A. Tujuan Praktikum

Dapat memahami dan menggunakan bahasa pemrograman Delphi dengan baik.

B. Landasan Teori

Bahasa pemrograman yang digunakan dalam Delphi adalah suatu variant dari

bahasa Pascal, yang oleh Delphi disebut sebagai Object Pascal karena variant ini

mengimplementasi Object Oriented Programming (OOP) atau bisa juga disebut

dengan Delphi Object Pascal.

Percabangan dan Perulangan

If, Then, Else

Bentuk umum:

if <ekspresi boolean> then <statement> [else <statement>];

Case

Case adalah percabangan yang memiliki lebih dari dua alternatif.

Bentuk umum:

case <ekspresi case> of

<casevalue>: <statement>;

...

<casevalue>: <statement>;

else

<statement>

end

For

Loop jenis ini dilakukan untuk pengulangan dengan banyaknya pengulangan

yang sudah diketahui.

Bentuk umum:

for <nilai_awal> to <nilai_akhir> do

<statement>

...

Page 3: LAPORAN AKHIR PRAKTIKUM 3

end;

atau

for <nilai_awal> downto <nilai_akhir> do

<statement>

...

end;

While

Loop jenis ini digunakan untuk melakukan pengulangan selama suatu kondisi

tertentu dipenuhi

Bentuk umum:

while <kondisi> do

begin

<statement>

...

end

Repeat

Digunakan untuk melakukan pengulangan sampai suatu kondisi terpenuhi.

Bentuk umum:

repeat

<statement>

...

until <kondisi>

Komponen GroupBox dan RadioButton

GroupBox digunakan untuk membingkai dan mengelompokan beberapa

objek tertentu. RadioButton digunakan untuk menampilkan pilihan yang

dapat dipilih hanya salah satu pilihan yang disediakan.

ListBox dan ComboBox

ListBox digunakan untuk menampilkan daftar pilihan. ComboBox

digunakan untuk menampilkan dan mengetikan teks dan dapat memilih

pilihan dari daftar pilihan seperti pada object ListBox. Berikut ini adalah

langkah-langkah membuat program menggunakan ListBox dan ComboBox.

Page 4: LAPORAN AKHIR PRAKTIKUM 3

BAB II

LANGKAH KERJA

A. Program Pertama

Langkah-langkah :

1. Pilih menu file dan klik new application

2. Pada form I tanamkan komponen label (7 buah) dan komponen edit (7 buah),

serta Button (2 buah)

3. Aturlah properti-properti dari masing-masing komponen sesuai dengan table

sebagai berikut :

Komponen Properti NilaiForm1 Name FrmNILAI

Caption SELEKSI TINGGI SISWALabel1 Caption NIPLabe12 Caption NAMALabel3 Caption ALAMATLabel4 Caption KOTALabel5 Caption NILAI TINGGILabe16 Caption KETERANGANEditl Name EdNip

TextEdit2 Name EdNama

TextEdit3 Name EdAlamat

TextEdit4 Name EdKota

TextEdit5 Name EdNilai

TextEdit6 Name EdKeterangan

TextGrupBox1 Caption Jenis KelaminRadioButton1 Name RbPerempuanRadioButton2 Name RbLakiButton1 Name BtnMulai

Caption MulaiButton2 Name BtnSelesai

Caption Selesai

Page 5: LAPORAN AKHIR PRAKTIKUM 3

Lakukan desain seperti berikut

4. Lakukan kode program untuk event OnClick pads BtnMulai dengan klik

ganda pads BtnMulai.

procedure TFrrn N 11a i. BtnMulaiClick(Sender: TObject); begin

EdNIP.Enabled:=true;

EdNAMA.Enabled:=true;

EdALAMAT.Enabled:=true;

EdKOTA.Enabled:=true;

EdNilai.Enabled:=true;

EdNIP.Text:=";

EdNAMA.Text:=";

EdALAMAT.Text:=";

EdKOTA.Text:=";

EdNilai.Text:='0';

EdKeterangan.Text:=";

EdNIP.SetFocus;

end;

5. Lakukan kode program untuk event OnChange pads komponen Edit

(EdNilai).

procedure TFrmNilai.EdNilaiChange(Sender: TObject);

begin

if (strtofloat(EdNilai.Text)>=155) and (RBPerempuan.Checked) then

EdKeterangan.Text:='Lulus'

else if (strtofloat(EdNilai.Text)>=165) and (RBLaki.Checked) then

Page 6: LAPORAN AKHIR PRAKTIKUM 3

EdKeterangan.Text:='Lulus'

else

EdKeterangan.Text:='Gagal';

end;

B. Program Kedua

Program Harga Barang Elektronika

Langkah-langkah:

1. Pilih menu file dan klik new application

2. Pada forml tanamkan kontrol label (3 buah), edit (1 buah), ComboBox (1

buah), dan ListBox (1 buah)

3. Aturlah properti-properti dari masing-masing kontrol sesuai dengan table

sebagai berikut :

Component Properti NilaiForml Name FrmBarang

Caption BARANG ELEKTRONIK

Label1 Caption Pilihan barangLabel2 Caption Nama BarangLabel3 Caption HargaComboBox1 Name CBPilihan

TextListBox1 Name LBNamaEdit1 Name edHarga

TextEbabled False

4. Lakukan Desain Seperti gambar berikut

5. Lakukan kode program untuk event OnActive pads Form.

Page 7: LAPORAN AKHIR PRAKTIKUM 3

procedure TFrmBarang.FormActivate(Sender: TObject); beginCBP!Iihan.Items.Clear,

CBPilihan.items.Append('Komputer');

CBPilihan.Items.Append('Printer');

CBPilihan.items.Append('relevisi');

end;

6. Lakukan kode program untuk event OnClick pads CBPilihan..

procedure TFrmBarang.CBr;;ihanClick(Sender: TObject);

var

pilihan:integer;

begin

if CBPilihan.Text='Komputer' then

b e g i n I-BISIama.1tems.Clear;

LBNama.Items.Append('Pentium III');

I-BNama.1tems.Append(Tentium IV');

end

else if CBPiIihan.Text='Printer' then

begin

LB Na ma. Item s.Clear;

LBNama. Item s.Append('Ca non 200SPX');

LBNama. ltems.Append('Ca non Pixma iplOOO');

LBNama.Items.Append('Epson L-300');

end

else if CBPilihan.Text='Televisi'then begin

LBNama.Items.Clear;

LBNama.Items.Append('Televisi 21"'); LBNama.items.Append(Televisi

24"'); end;

end;

7. Lakukan Kode program untuk even OnClik

procedure TFrmBarang.LBNamaClick(Sender: TObject);

begin

Page 8: LAPORAN AKHIR PRAKTIKUM 3

CBPilhan.Text=Komputer' then

case LBNama. Item Index of

0: edharga.Text:='Rp. 3000000’;

1: edharga.Text:='Rp. 4500000';

else

edharga.Text:='0’;

end

else if CBPilihan.Text='Printer' then

case LBNama.ftemindex of

0: edharga.Text:='Rp. 500000%

1: edharga.Text:='Rp. 600000';

2: edharga.Text:='Rp. 700000';

else

edharga.Text:='O';

end

else if CBPilihan.Text=Televisi' then

case LBNama. Item Index of

0: edharga.Text:='Rp. 2000000'; 1: edharga.Text:='Rp. 4000000';

else

edharga.Text:='0';

end;

end;

Tugas Pratikum

1. Rancanglah program untuk menentukan nilai terbesar dan terkecil dari 5 buah

bilangan yang diinputkan

2. Buatlah sebuah program untuk melakukan pemesanan tiket kereta, dengan

desain form sebagai berikut :

Page 9: LAPORAN AKHIR PRAKTIKUM 3

Dengan ketentuan sebagai berikut:

Jenis Kereta Kota Tujuan Harga Tiket

Express Bandung Rp.100.000(dewasa)

Rp. 50.000(Anak-anak)

Semarang Rp.200.000(Dewasa)

Rp.100.000(Anak-anak)

Yogyakarta Rp.250.000(Dewasa)

Rp.100.000(Anak-anak)

Surabaya Rp.300.000(dewasa)

Rp200.000(Anak-anak)

Ekonomi Bandung Rp.50.000(dewasa)

Rp. 10.000(Anak-anak)

Semarang Rp.75.000(dewasa)

Rp.15.000(Anak-anak)

Yogyakarta Rp.80.000(dewasa)

Rp.15.000(Anak-anak)

Surabaya Rp.100.000(dewasa)

Rp. 25.000(Anak-anak)

BAB III

PEMBAHASAN

Page 10: LAPORAN AKHIR PRAKTIKUM 3

1. Program Pertama (Nilai Tinggi)

Pada program pertama ini kita akan membuat penghitung tinggi dan kita akan

menggunakan 7 label, 7 edit,1 groupbox, 2 radio button dan button untuk

penjelasan fungsi dari groupbox dan radio button sebagai berikut, GroupBox

digunakan untuk membingkai dan mengelompokkan beberapa objek tertentu.

Radio Button digunakan untuk menampilkan pilihan yang dapat dipilih hanya

salah satu pilihan yang disediakan, aturlah propertynya sebagai berikut:

Komponen Properti NilaiForm1 Name NILAI

Caption SELEKSI TINGGI SISWALabel1 Caption NIPLabe12 Caption NAMALabel3 Caption ALAMATLabel4 Caption KOTALabel5 Caption NILAI TINGGILabe16 Caption KETERANGANEditl Name EdNip

TextEdit2 Name EdNama

TextEdit3 Name EdAlamat

TextEdit4 Name EdKota

TextEdit5 Name EdNilai

TextEdit6 Name EdKeterangan

TextGrupBox1 Caption Jenis KelaminRadioButton1 Name RbPerempuanRadioButton2 Name RbLakiButton1 Name BtnMulai

Caption MulaiButton2 Name BtnSelesai

Caption SelesaiSeperti yang diminta oleh modul kita diminta mendesain tampilan sebagai berikut:

Page 11: LAPORAN AKHIR PRAKTIKUM 3

Setelah mendesain tampilan sekarang kita akan memasukan koding programnya

procedure TFrrn N 11a i. BtnMulaiClick(Sender: TObject); begin

EdNIP.Enabled:=true;

EdNAMA.Enabled:=true;

EdALAMAT.Enabled:=true;

EdKOTA.Enabled:=true;

EdNilai.Enabled:=true;

EdNIP.Text:=";

EdNAMA.Text:=";

EdALAMAT.Text:=";

EdKOTA.Text:=";

EdNilai.Text:='0';

EdKeterangan.Text:=";

EdNIP.SetFocus;

end;

koding diatas berfungsi untuk mengubah nilai property Enabled semua kontrol

edit dan nilai Enablednya akan menjadi True, dan mengisikan text kosong,

maksunya adalah ketika tombol Mulai diklik, maka Pada komponen edit dapat

diinputkan. Selanjutnya adalah melakukan koding pada even OnChange pada

komponen Edit (EdNilai) kodingnya adalh sebagai berikut:

procedure TFrmNilai.EdNilaiChange(Sender: TObject);

begin

if (strtofloat(EdNilai.Text)>=155) and (RBPerempuan.Checked) then

EdKeterangan.Text:='Lulus'

else if (strtofloat(EdNilai.Text)>=165) and (RBLaki.Checked) then

EdKeterangan.Text:='Lulus'

Page 12: LAPORAN AKHIR PRAKTIKUM 3

else

EdKeterangan.Text:='Gagal';

end;

koding ini merupakan fungsi pemilihan jika pada radio button dipilih perempuan

dan ketika diinputkan nilai tingginya maka apabila nilai lebih dari 155 maka pada

label keterangan dia akan dinyatakan lulus begitu juga sebaliknya jika kurang dari

155 maka pada label keterangan dimana pada kontrol editnya akan muncul tulisan

gagal dan hal ini berlaku juga untuk radio button pada laki. Setelah ini kita akan

menambahkan fungsi selesai klik dua kali pada button selesai dan kodingnya

sebagai berikut:

procedure TFrmNILAI.BtnSelesaiClick(Sender: TObject);

begin

close;

end;

koding ini berfungsi untuk mengakhiri program ketika tombol Selesai diklik.

2. Program Kedua(Harga Barang)

Pada program ini kita akan membuat daftar harga barang kita akan menggunkan 3

label, 1 edit, 1 combobox dan 1 listbox, kegunaan dari combobox dan listbox

adalah sebagai berikut dimana ListBox digunakan untuk menampilkan daftar

pilihan. ComboBox digunakan untuk menampilkan dan membuat pilihan teks dan

dapat memilih pilihan dari daftar pilihan seperti pads object ListBox. Berikut ini

adalah langkah-langkah membuat program menggunakan ListBox dan

ComboBox. Berikut adalah propety yang kita atur:

Component Properti NilaiForml Name FrmBarang

Caption BARANG ELEKTRONIKLabel1 Caption Pilihan barangLabel2 Caption Nama BarangLabel3 Caption HargaComboBox1 Name CBPilihan

TextListBox1 Name LBNamaEdit1 Name edHarga

TextEbabled False

Page 13: LAPORAN AKHIR PRAKTIKUM 3

Setelah mengatur propertynya maka desainlah tampilannya seperti modul:

Setelah melakukan desain lakukanlah pengkodingan pada event OnActive pada

form:

procedure TFrmBarang.FormActivate(Sender: TObject);

begin

CBPilihan.Items.Clear;

CBPilihan.Items.Append('Komputer');

CBPilihan.Items.Append('Printer');

CBPilihan.Items.Append('Televisi');

end;

Koding ini berfungsi untuk memberikan pilihan pada combobox sehingga user

dapat memilih barang-barang yang tertera pada kodingnya seperti komputer,

printer, televisi. Setelah itu lakukan pengkodingan pada event OnClick pada

CBPilihan:

procedure TFrmBarang.CBPilihanClick(Sender: TObject);

var

pilihan : integer;

begin

if CBPilihan.Text='Komputer' then

begin

LBNama.Items.Clear;

LBNama.Items.Append('Pentium III');

LBNama.Items.Append('Pentium IV');

end

else if CBPilihan.Text='Printer' then

begin

LBNama.Items.Clear;

Page 14: LAPORAN AKHIR PRAKTIKUM 3

LBNama.Items.Append('Canon 200PX');

LBNama.Items.Append('Canon Pixma ip1000');

LBNama.Items.Append('Epson L-300');

end

else if CBPilihan.Text='Televisi' then

begin

LBNama.Items.Clear;

LBNama.Items.Append('Televisi 21"');

LBNama.Items.Append('Televisi 24"');

end;

end;

koding diatas berfungsi untuk menampilkan pilihan pada listbox ketika pilihan

pada combox dilakukan, ketika user memilih komputer pada combobox maka

pada listbox akan menampilkan pentium III dan Pentium IV dan begitu juga untuk

pilihan yang lainnya. Lalu lakukan pengkodingan pada Onclick pada LBNama:

procedure TFrmBarang.LBNamaClick(Sender: TObject);

begin

if CBPilihan.Text='Komputer' then

case LBNama.ItemIndex of

0:edharga.Text:='Rp. 3000000';

1:edharga.Text:='Rp. 4500000';

else

edharga.Text:='0';

end

else if CBPilihan.Text='Printer' then

case LBNama.ItemIndex of

0:edharga.Text:='Rp. 500000';

1:edharga.Text:='Rp. 600000';

2:edharga.Text:='Rp. 700000';

else

edharga.Text:='0';

end

Page 15: LAPORAN AKHIR PRAKTIKUM 3

else if CBPilihan.Text='Televisi' then

case LBNama.ItemIndex of

0:edharga.Text:='Rp. 2000000';

1:edharga.Text:='Rp. 4000000';

else

edharga.Text:='0';

end;

end;

Koding ini berfungsi untuk untuk menampilkan harga ketika barang yang ada

pada listbox dipilih dan harga akan ditampilkan pada kotrol edit.

3. Tugas Praktikum

1. Menentukan bilangan terbesar dan terkecil dari 5 buah bilangan yang

diinputkan. Pada program ini kita akan menginputkan 5 buah bilangan dan kita

akan menentukan yang mana bilangan yang terbesar dan terkecil dan aturlah

property yang seperti berikut:

Komponen Properti NilaiForm Caption NILAI MAKS DAN MINLabel1 Caption Bilangan 1Label2 Caption Bilangan 2Label3 Caption Bilangan 3Label4 Caption Bilangan 4Label5 Caption Bilangan 5Label6 Caption TerbesarLabel7 Caption TerkecilEdit1 TextEdit2 TextEdit3 TextEdit4 TextEdit5 TextEdit6 TextEdit7 TextButton1 Caption Hasil

Name btHasilButton2 Caption Lagi

Name btLagi

Setelah mengatur property seperti diatas lakukan lah pengkodingan button Hasil

dengan cara mengklik dua kali pada button tersebut dan kodingnya sebagai

berikut:

procedure TForm1.btHasilClick(Sender: TObject);

var kecil, besar , a, b , c , d , e : integer;

Page 16: LAPORAN AKHIR PRAKTIKUM 3

begin

a:=StrToInt(Edit1.Text);

b:=StrToInt(Edit2.Text);

c:=StrToInt(Edit3.Text);

d:=StrToInt(Edit4.Text);

e:=StrToInt(Edit5.Text);

If (a>b) and (a>c) and (a>d) and (a>e) then

begin

besar := a;

Edit6.Text:= IntToStr(besar);

end

else If (b>a) and (b>c) and (b>d) and (b>e) then

begin

besar := b;

Edit6.Text:= IntToStr(besar);

end

else If (c>a) and (c>b) and (c>d) and (c>e) then

begin

besar := c;

Edit6.Text:= IntToStr(besar);

end

else If (d>a) and (d>b) and (d>c) and (d>e) then

begin

besar := d;

Edit6.Text:= IntToStr(besar);

end

else

begin

besar := e;

Edit6.Text:= IntToStr(besar);

end;

Page 17: LAPORAN AKHIR PRAKTIKUM 3

If (a<b) and (a<c) and (a<d) and (a<e) then

begin

kecil := a;

Edit7.Text:= IntToStr(kecil);

end

else If (b<a) and (b<c) and (b<d) and (b<e) then

begin

kecil := b;

Edit7.Text:= IntToStr(kecil);

end

else If (c<a) and (c<b) and (c<d) and (c<e) then

begin

kecil := c;

Edit7.Text:= IntToStr(kecil);

end

else If (d<a) and (d<b) and (d<c) and (d<e) then

begin

kecil := d;

Edit7.Text:= IntToStr(kecil);

end

else

begin

kecil := e;

Edit7.Text:= IntToStr(kecil);

end;

btLagi.SetFocus;

end;

Koding Diatas menggunakan struktur kontrol if...then dimana koding ini berfungsi

untuk mengambil keputusan tertentu berdasarkan pengujian nilai logika (kondisi),

contoh kita akan mengambil potongan baris pertama :

If (a>b) and (a>c) and (a>d) and (a>e) then

begin

Page 18: LAPORAN AKHIR PRAKTIKUM 3

besar := a;

Edit6.Text:= IntToStr(besar);

end

Koding ini berfungsi dimana jika a nilainya lebih besar dari nilai b, c, d dan e

maka bilangan terbesar adalah a, lalu bilangan tersebut akan dicetak pada Edit6

sebagai bilangan terbesar begitu juga pada koding berikut ini:

If (a<b) and (a<c) and (a<d) and (a<e) then

begin

kecil := a;

Edit7.Text:= IntToStr(kecil);

end

apabila nilai a lebih kecil dari variabel lainnya maka a akan dinyatakan sebagai

bilangan terkecil dan akan dicetak pada edit7 dan dinyatakan sebagai bilangan

terkecil, hal ini berlaku pada koding yang lainnya yang terdapat pada koding

diatas. Lalu kita akan memasukan koding pada tombol Lagi dimana jika tombol

lagi diklik maka semua inputan sebelumnya akan hilang dan akan menjadi

lampiran baru masukan kodingnya dengan cara klik dua kali pada button lagi dan

kodingnya sebagai berikut:

procedure TForm1.btLagiClick(Sender: TObject);

begin

Edit1.Text:=' ';

Edit2.Text:=' ';

Edit3.Text:=' ';

Edit4.Text:=' ';

Edit5.Text:=' ';

Edit6.Text:='0';

Edit7.text:='0';

Edit1.SetFocus;

end;

Koding ini berfungsi untuk mengkosongkan kontrol edit kecuali pada edit6 dan

edit7 pada kontrol edit itu akan menampilkan bilangan 0.

Page 19: LAPORAN AKHIR PRAKTIKUM 3

2. Pada program kedua ini kita akan membuat harga dari tiket kereta api berikut

propetynya:

Komponen Properti NilaiForm Caption Harga TiketLabel1 Caption Jenis KeretaLabel2 Caption Jenis PenumpangLabel3 Caption Kota TujuanLabel4 Caption Jam KeberangkatanLabel5 Caption Jumlah TiketLabel6 Caption Total BayarComboBox1 Name cbKereta

TextComboBox2 Name cbPenumpang

TextComboBox3 Name cbKota

TextComboBox4 Name cbJam

TextEdit1 Name edJumlahTiket

TextEdit2 Name edTotal

TextButton1 Caption HITUNG

Name btHitungButton2 Caption BATAL

Name btBatal

Setelah mengatur propertinya seperti diatas lakukan pengkodingan pada

OnChange di cbKereta koding sebagai berikut:

procedure TForm1.cbKeretaChange(Sender: TObject);

begin

if cbKereta.Text='Express' then

begin

cbPenumpang.Enabled:=True;

end

else if cbKereta.Text='Ekonomi' then

begin

cbPenumpang.Enabled:=True;

end;

end;

Koding ini memiliki fungsi agar combobox menampilkan dan mengetikan teks

dan dapat memilih pilihan yang terdapat pada koding, contoh pada koding diatas

dimana pada cbKereta terdapat dua pilihan Express dan Ekonomi lalu jika user

Page 20: LAPORAN AKHIR PRAKTIKUM 3

memilih salah satu dari dua pilihan tersebut maka cbPenumpang akan dapat

dipilih jika pada cbKereta tidak dipilih maka cbPenumpang tidak dapat dipilih,

Setelah itu kita akan melakukan pengkodingan pada combobox lainnya dengan

cara yang sama lakukan pengkodingan pada OnChange.

Pada cbPenumpang;

procedure TForm1.cbPenumpangChange(Sender: TObject);

begin

if cbPenumpang.Text='Dewasa' then

begin

cbKota.Enabled:=True;

end

else if cbPenumpang.Text='Anak-anak' then

begin

cbKota.Enabled:=True;

end;

end;

Pada cbKota:

procedure TForm1.cbKotaChange(Sender: TObject);

begin

if cbKota.Text='Bandung' then

begin

cbJam.Enabled:=true;

end

else if cbKota.Text='Semarang' then

begin

cbJam.Enabled:=True;

end

else if cbKota.Text = 'Yogyakarta' then

begin

cbJam.Enabled:=True;

end

else

Page 21: LAPORAN AKHIR PRAKTIKUM 3

begin

cbJam.Enabled:=True;

end;

end;

Pada cbJam:

procedure TForm1.cbJamChange(Sender: TObject);

begin

edJumlahTiket.Enabled:=True;

end;

Pada edJumlahTiket:

procedure TForm1.edJumlahTiketChange(Sender: TObject);

begin

btHitung.Enabled:=true;

btHitung.SetFocus;

end;

Pada setiap combobox diatas memiliki fungsi yang sama seperti combobox

cbKereta kecuali pada edJumlahTiket pada koding tersebut berfungsi untuk

mengijinkan tombol Hitung untuk diklik apabila edJumlahTiket Diisikan atau

diinputkan maka tombol hitung dapat digunakan. Berikutnya kita akan

memasukan koding pada button hitung caranya dengan klik dua kali pada buttun

HITUNG dan kodingnya sebagi berikut:

procedure TForm1.btHitungClick(Sender: TObject);

var

harga, jmltiket, total : integer;

begin

jmltiket := StrToInt(edJumlahTiket.Text);

if (cbKereta.Text = 'Express') and

(cbPenumpang.Text='Dewasa') and (cbKota.Text = 'Bandung')

then

begin

harga := 100000;

total := jmltiket * harga;

Page 22: LAPORAN AKHIR PRAKTIKUM 3

edTotal.Text:=IntToStr(total);

btBatal.SetFocus;

end

else if (cbKereta.Text = 'Express') and

(cbPenumpang.Text='Anak-anak') and (cbKota.Text =

'Bandung') then

begin

harga := 50000;

total := jmltiket * harga;

edTotal.Text:=IntToStr(total);

btBatal.SetFocus;

end

else if (cbKereta.Text = 'Express') and

(cbPenumpang.Text='Dewasa') and (cbKota.Text = 'Semarang')

then

begin

harga := 200000;

total := jmltiket * harga;

edTotal.Text:=IntToStr(total);

btBatal.SetFocus;

end

else if (cbKereta.Text = 'Express') and

(cbPenumpang.Text='Anak-anak') and (cbKota.Text =

'Semarang') then

begin

harga := 100000;

total := jmltiket * harga;

edTotal.Text:=IntToStr(total);

btBatal.SetFocus;

end

Page 23: LAPORAN AKHIR PRAKTIKUM 3

else if (cbKereta.Text = 'Express') and

(cbPenumpang.Text='Dewasa') and (cbKota.Text = 'Yogyakarta')

then

begin

harga := 250000;

total := jmltiket * harga;

edTotal.Text:=IntToStr(total);

btBatal.SetFocus;

end

else if (cbKereta.Text = 'Express') and

(cbPenumpang.Text='Anak-anak') and (cbKota.Text =

'Yogyakarta') then

begin

harga := 100000;

total := jmltiket * harga;

edTotal.Text:=IntToStr(total);

btBatal.SetFocus;

end

else if (cbKereta.Text = 'Express') and

(cbPenumpang.Text='Dewasa') and (cbKota.Text = 'Surabaya')

then

begin

harga := 300000;

total := jmltiket * harga;

edTotal.Text:=IntToStr(total);

btBatal.SetFocus;

end

else if (cbKereta.Text = 'Express') and

(cbPenumpang.Text='Anak-anak') and (cbKota.Text =

'Surabaya') then

begin

harga := 200000;

Page 24: LAPORAN AKHIR PRAKTIKUM 3

total := jmltiket * harga;

edTotal.Text:=IntToStr(total);

btBatal.SetFocus;

end

else if (cbKereta.Text = 'Ekonomi') and

(cbPenumpang.Text='Dewasa') and (cbKota.Text = 'Bandung')

then

begin

harga := 50000;

total := jmltiket * harga;

edTotal.Text:=IntToStr(total);

btBatal.SetFocus;

end

else if (cbKereta.Text = 'Ekonomi') and

(cbPenumpang.Text='Anak-anak') and (cbKota.Text =

'Bandung') then

begin

harga := 10000;

total := jmltiket * harga;

edTotal.Text:=IntToStr(total);

btBatal.SetFocus;

end

else if (cbKereta.Text = 'Ekonomi') and

(cbPenumpang.Text='Dewasa') and (cbKota.Text = 'Semarang')

then

begin

harga := 75000;

total := jmltiket * harga;

edTotal.Text:=IntToStr(total);

btBatal.SetFocus;

end

Page 25: LAPORAN AKHIR PRAKTIKUM 3

else if (cbKereta.Text = 'Ekonomi') and

(cbPenumpang.Text='Anak-anak') and (cbKota.Text =

'Semarang') then

begin

harga := 15000;

total := jmltiket * harga;

edTotal.Text:=IntToStr(total);

btBatal.SetFocus;

end

else if (cbKereta.Text = 'Ekonomi') and

(cbPenumpang.Text='Dewasa') and (cbKota.Text = 'Yogyakarta')

then

begin

harga := 80000;

total := jmltiket * harga;

edTotal.Text:=IntToStr(total);

btBatal.SetFocus;

end

else if (cbKereta.Text = 'Ekonomi') and

(cbPenumpang.Text='Anak-anak') and (cbKota.Text =

'Yogyakarta') then

begin

harga := 15000;

total := jmltiket * harga;

edTotal.Text:=IntToStr(total);

btBatal.SetFocus;

end

else if (cbKereta.Text = 'Ekonomi') and

(cbPenumpang.Text='Dewasa') and (cbKota.Text = 'Surabaya')

then

begin

harga := 100000;

Page 26: LAPORAN AKHIR PRAKTIKUM 3

total := jmltiket * harga;

edTotal.Text:=IntToStr(total);

btBatal.SetFocus;

end

else if (cbKereta.Text = 'Ekonomi') and

(cbPenumpang.Text='Anak-anak') and (cbKota.Text =

'Surabaya') then

begin

harga := 25000;

total := jmltiket * harga;

edTotal.Text:=IntToStr(total);

btBatal.SetFocus;

end

end;

Koding ini merupakan perhitungan untuk menentukan harga total dari tiket yang

dipesan kita ambil koding yang baris pertama pada koding ini sebagai contoh:

if (cbKereta.Text = 'Express') and

(cbPenumpang.Text='Dewasa') and (cbKota.Text = 'Bandung')

then

begin

harga := 100000;

total := jmltiket * harga;

edTotal.Text:=IntToStr(total);

btBatal.SetFocus;

end

Fungsi dari koding ini adalah jika user memilih pada cbKereta adalah Express dan

pada cbPenumpang adalah Dewasa dan cbKota adalah Bandung maka harga 1

tiketnya bernilai 100000 dimana total sama dengan jumlah tiket X Harga dan total

dari harga tersebut akan ditampilkan pada edTotal lalu SetFokus berfungsi unutk

memindahkan pilhan selanjutnya pada button batal, Untuk koding lainnya pada

koding ini juga memiliki fungsi yang sama dengan koding baris pertama ini hanya

Page 27: LAPORAN AKHIR PRAKTIKUM 3

berbeda pada pemilihanya saja. Lalu pada koding BATAL akan kita masukan

koding sebagai berikut:

procedure TForm1.btBatalClick(Sender: TObject);

begin

cbKereta.Text:=' ';

cbPenumpang.Text:=' ';

cbPenumpang.Enabled:=false;

cbKota.Text:=' ';

cbKota.Enabled:=false;

cbJam.Text:=' ';

cbJam.Enabled:=false;

edJumlahTiket.Text:=' ';

edJumlahTiket.Enabled:=false;

edTotal.Text:=' ';

edTotal.Enabled:=false;

btHitung.Enabled:=false;

cbKereta.SetFocus;

end;

Untuk koding ini berfungsi untuk menghapus semua input pada kontrol dan

membuat kontrol yang false menjadi tidak aktif atau tidak dapat digunakan sampai

semua kontrol terisi semua. Koding pada combobox pada saat ini tidak dapat

digunakan karena combobox tersebut belum diaktifkan untuk mengaktifkannya

kita akan melakukan koding pada Form diOnActivate koding sebagai berikut:

procedure TForm1.FormActivate(Sender: TObject);

begin

Page 28: LAPORAN AKHIR PRAKTIKUM 3

cbKereta.Items.Clear;

cbKereta.Items.Append('Express');

cbKereta.Items.Append('Ekonomi');

cbPenumpang.Items.Clear;

cbPenumpang.Items.Append('Dewasa');

cbPenumpang.Items.Append('Anak-anak');

cbKota.Items.Clear;

cbKota.Items.Append('Bandung');

cbKota.Items.Append('Semarang');

cbKota.Items.Append('Yogyakarta');

cbKota.Items.Append('Surabaya');

cbJam.Items.Clear;

cbJam.Items.Append('07.00');

cbJam.Items.Append('09.00');

cbJam.Items.Append('13.00');

cbJam.Items.Append('15.00');

end;

Koding inilah yang membuat combobox dapat melakukan pilihan sehingga user

dapat melakukan pilihan pada combobox.

BAB IV

KESIMPULAN

Pada modul kali yang kita bahas adalah percabangan seperti If...Then,

Fungsi ini digunakan untuk mengambil keputusan tertentu berdasarkan

pengujian nilai logika (kondisi). Selain If...Then, terdapat juga fungsi

Page 29: LAPORAN AKHIR PRAKTIKUM 3

percabangan lain yaitu Case. Case adalah percabangan yang memiliki lebih dari

dua alternative.

Sedangkan struktur perulangan yaitu For, While, dan Repeat. For Loop

jenis ini dilakukan untuk pengulangan dengan banyaknya pengulangan yang sudah

diketahui. While Loop jenis ini digunakan untuk melakukan pengulangan selama

suatu kondisi tertentu dipenuhi. Repeat Digunakan untuk melakukan

pengulangan sampai suatu kondisi terpenuhi.

.

BAB V

Daftar Pustaka

Modul Praktikum, DELPHI IDE, Palangka Raya,2011.

Kadir, Abdullah. 2001.Dasar Pemrograman Delphi 5.0, Penerbit AndiYogyakarta

Sutopo, Anton. 2005.Pemrograman Komputer Dasar ,Yogyakarta

Page 30: LAPORAN AKHIR PRAKTIKUM 3

BAB VI

LAMPIRAN

Program Pertama

Koding:

procedure TForm1.Button1Click(Sender: TObject);

begin

Page 31: LAPORAN AKHIR PRAKTIKUM 3

EdNIP.Text:='';

EdNAMA.Text:='';

EdALAMAT.Text:='';

EdKOTA.Text:='';

EdNILAI.Text:='0';

EdKET.Text:='';

EdNIP.SetFocus;

end;

procedure TForm1.EdNILAIChange(Sender: TObject);

begin

if (strtofloat(EdNILAI.Text)>=155)and(RBPerempuan.checked)then

EdKET.Text:='Lulus'

else if(strtofloat(EdNILAI.Text)>=165)and(RBLaki.checked)then

EdKET.Text:='Lulus'

else

EdKET.Text:='Gagal';

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

close;

end;

end.

Output:

Program KeduaKoding:

Page 32: LAPORAN AKHIR PRAKTIKUM 3

procedure TForm1.FormActivate(Sender: TObject);beginCBPilihan.Items.Clear;CBPilihan.Items.Append('Komputer');CBPilihan.Items.Append('Printer');CBPilihan.Items.Append('Televisi');end;procedure TForm1.CBPilihanClick(Sender: TObject);varpilihan:integer;beginif CBPilihan.Text='Komputer' thenbegin LBNama.Items.Clear; LbNama.Items.Append('Pentium III'); LbNama.Items.Append('Pentium IV');endelse if CBPilihan.Text='Printer' thenbegin LBNama.Items.Clear; LbNama.Items.Append('Canon200SPX'); LbNama.Items.Append('Canon Pixma ip1000'); LbNama.Items.Append('Epson L-300');endelse if CBPilihan.Text='Televisi' thenbegin LBNama.Items.Clear; LbNama.Items.Append('Televisi 21'); LbNama.Items.Append('Televisi 24');end;end;procedure TForm1.LBNamaClick(Sender: TObject);beginif CBPilihan.Text='Komputer'then case LBNama.ItemIndex of 0:EdHarga.Text:='Rp 3.000.000'; 1:EdHarga.Text:='Rp 4.500.000'; else EdHarga.Text:='0'; end else if CBPilihan.Text='Printer'then case LBNama.ItemIndex of 0:EdHarga.Text:='Rp 500.000'; 1:EdHarga.Text:='Rp 600.000'; 2:EdHarga.Text:='Rp 700.000'; else EdHarga.Text:='0'; end

Page 33: LAPORAN AKHIR PRAKTIKUM 3

else if CBPilihan.Text='Televisi'then case LBNama.ItemIndex of 0:EdHarga.Text:='Rp 2.000.000'; 1:EdHarga.Text:='Rp 4.000.000'; else EdHarga.Text:='0'; endend;

end.Output:

Tugas 1Koding: procedure TForm1.btHasilClick(Sender: TObject);var kecil, besar , a, b , c , d , e : integer;begina:=StrToInt(Edit1.Text);b:=StrToInt(Edit2.Text);c:=StrToInt(Edit3.Text);d:=StrToInt(Edit4.Text);e:=StrToInt(Edit5.Text);If (a>b) and (a>c) and (a>d) and (a>e) thenbeginbesar := a;Edit6.Text:= IntToStr(besar);endelse If (b>a) and (b>c) and (b>d) and (b>e) thenbeginbesar := b;Edit6.Text:= IntToStr(besar);endelse If (c>a) and (c>b) and (c>d) and (c>e) thenbeginbesar := c;Edit6.Text:= IntToStr(besar);endelse If (d>a) and (d>b) and (d>c) and (d>e) thenbeginbesar := d;

Page 34: LAPORAN AKHIR PRAKTIKUM 3

Edit6.Text:= IntToStr(besar);endelsebeginbesar := e;Edit6.Text:= IntToStr(besar);end;If (a<b) and (a<c) and (a<d) and (a<e) thenbeginkecil := a;Edit7.Text:= IntToStr(kecil);endelse If (b<a) and (b<c) and (b<d) and (b<e) thenbeginkecil := b;Edit7.Text:= IntToStr(kecil);endelse If (c<a) and (c<b) and (c<d) and (c<e) thenbeginkecil := c;Edit7.Text:= IntToStr(kecil);endelse If (d<a) and (d<b) and (d<c) and (d<e) thenbeginkecil := d;Edit7.Text:= IntToStr(kecil);endelsebeginkecil := e;Edit7.Text:= IntToStr(kecil);end;btLagi.SetFocus;end;

procedure TForm1.btLagiClick(Sender: TObject);beginEdit1.Text:=' ';Edit2.Text:=' ';Edit3.Text:=' ';Edit4.Text:=' ';Edit5.Text:=' ';Edit6.Text:='0';Edit7.text:='0';Edit1.SetFocus;end;end.Output:

Page 35: LAPORAN AKHIR PRAKTIKUM 3

Tugas 2Koding:procedure TForm1.cbKeretaChange(Sender: TObject);beginif cbKereta.Text='Express' thenbegincbPenumpang.Enabled:=True;endelse if cbKereta.Text='Ekonomi' thenbegincbPenumpang.Enabled:=True;end;end;procedure TForm1.cbPenumpangChange(Sender: TObject);beginif cbPenumpang.Text='Dewasa' thenbegincbKota.Enabled:=True;endelse if cbPenumpang.Text='Anak-anak' thenbegincbKota.Enabled:=True;end;end;procedure TForm1.cbKotaChange(Sender: TObject);beginif cbKota.Text='Bandung' thenbegincbJam.Enabled:=true;endelse if cbKota.Text='Semarang' thenbegincbJam.Enabled:=True;endelse if cbKota.Text = 'Yogyakarta' thenbegin

Page 36: LAPORAN AKHIR PRAKTIKUM 3

cbJam.Enabled:=True;endelsebegincbJam.Enabled:=True;end;end;procedure TForm1.cbJamChange(Sender: TObject);beginedJumlahTiket.Enabled:=True;end;procedure TForm1.edJumlahTiketChange(Sender: TObject);beginbtHitung.Enabled:=true;btHitung.SetFocus;end;procedure TForm1.btHitungClick(Sender: TObject);varharga, jmltiket, total : integer;beginjmltiket := StrToInt(edJumlahTiket.Text);if (cbKereta.Text = 'Express') and (cbPenumpang.Text='Dewasa') and (cbKota.Text = 'Bandung') thenbeginharga := 100000;total := jmltiket * harga;edTotal.Text:=IntToStr(total);btBatal.SetFocus;endelse if (cbKereta.Text = 'Express') and (cbPenumpang.Text='Anak-anak') and (cbKota.Text = 'Bandung') thenbeginharga := 50000;total := jmltiket * harga;edTotal.Text:=IntToStr(total);btBatal.SetFocus;endelse if (cbKereta.Text = 'Express') and (cbPenumpang.Text='Dewasa') and (cbKota.Text = 'Semarang') thenbeginharga := 200000;total := jmltiket * harga;edTotal.Text:=IntToStr(total);btBatal.SetFocus;endelse if (cbKereta.Text = 'Express') and (cbPenumpang.Text='Anak-anak') and (cbKota.Text = 'Semarang') thenbegin

Page 37: LAPORAN AKHIR PRAKTIKUM 3

harga := 100000;total := jmltiket * harga;edTotal.Text:=IntToStr(total);btBatal.SetFocus;endelse if (cbKereta.Text = 'Express') and (cbPenumpang.Text='Dewasa') and (cbKota.Text = 'Yogyakarta') thenbeginharga := 250000;total := jmltiket * harga;edTotal.Text:=IntToStr(total);btBatal.SetFocus;endelse if (cbKereta.Text = 'Express') and (cbPenumpang.Text='Anak-anak') and (cbKota.Text = 'Yogyakarta') thenbeginharga := 100000;total := jmltiket * harga;edTotal.Text:=IntToStr(total);btBatal.SetFocus;endelse if (cbKereta.Text = 'Express') and (cbPenumpang.Text='Dewasa') and (cbKota.Text = 'Surabaya') thenbeginharga := 300000;total := jmltiket * harga;edTotal.Text:=IntToStr(total);btBatal.SetFocus;endelse if (cbKereta.Text = 'Express') and (cbPenumpang.Text='Anak-anak') and (cbKota.Text = 'Surabaya') thenbeginharga := 200000;total := jmltiket * harga;edTotal.Text:=IntToStr(total);btBatal.SetFocus;endelse if (cbKereta.Text = 'Ekonomi') and (cbPenumpang.Text='Dewasa') and (cbKota.Text = 'Bandung') thenbeginharga := 50000;total := jmltiket * harga;edTotal.Text:=IntToStr(total);btBatal.SetFocus;endelse if (cbKereta.Text = 'Ekonomi') and (cbPenumpang.Text='Anak-anak') and (cbKota.Text = 'Bandung') thenbegin

Page 38: LAPORAN AKHIR PRAKTIKUM 3

harga := 10000;total := jmltiket * harga;edTotal.Text:=IntToStr(total);btBatal.SetFocus;endelse if (cbKereta.Text = 'Ekonomi') and (cbPenumpang.Text='Dewasa') and (cbKota.Text = 'Semarang') thenbeginharga := 75000;total := jmltiket * harga;edTotal.Text:=IntToStr(total);btBatal.SetFocus;endelse if (cbKereta.Text = 'Ekonomi') and (cbPenumpang.Text='Anak-anak') and (cbKota.Text = 'Semarang') thenbeginharga := 15000;total := jmltiket * harga;edTotal.Text:=IntToStr(total);btBatal.SetFocus;endelse if (cbKereta.Text = 'Ekonomi') and (cbPenumpang.Text='Dewasa') and (cbKota.Text = 'Yogyakarta') thenbeginharga := 80000;total := jmltiket * harga;edTotal.Text:=IntToStr(total);btBatal.SetFocus;endelse if (cbKereta.Text = 'Ekonomi') and (cbPenumpang.Text='Anak-anak') and (cbKota.Text = 'Yogyakarta') thenbeginharga := 15000;total := jmltiket * harga;edTotal.Text:=IntToStr(total);btBatal.SetFocus;endelse if (cbKereta.Text = 'Ekonomi') and (cbPenumpang.Text='Dewasa') and (cbKota.Text = 'Surabaya') thenbeginharga := 100000;total := jmltiket * harga;edTotal.Text:=IntToStr(total);btBatal.SetFocus;endelse if (cbKereta.Text = 'Ekonomi') and (cbPenumpang.Text='Anak-anak') and (cbKota.Text = 'Surabaya') thenbegin

Page 39: LAPORAN AKHIR PRAKTIKUM 3

harga := 25000;total := jmltiket * harga;edTotal.Text:=IntToStr(total);btBatal.SetFocus;endend;procedure TForm1.btBatalClick(Sender: TObject);begincbKereta.Text:=' ';cbPenumpang.Text:=' ';cbPenumpang.Enabled:=false;cbKota.Text:=' ';cbKota.Enabled:=false;cbJam.Text:=' ';cbJam.Enabled:=false;edJumlahTiket.Text:=' ';edJumlahTiket.Enabled:=false;edTotal.Text:=' ';edTotal.Enabled:=false;btHitung.Enabled:=false;cbKereta.SetFocus;end;procedure TForm1.FormActivate(Sender: TObject);begincbKereta.Items.Clear;cbKereta.Items.Append('Express');cbKereta.Items.Append('Ekonomi');cbPenumpang.Items.Clear;cbPenumpang.Items.Append('Dewasa');cbPenumpang.Items.Append('Anak-anak');cbKota.Items.Clear;cbKota.Items.Append('Bandung');cbKota.Items.Append('Semarang');cbKota.Items.Append('Yogyakarta');cbKota.Items.Append('Surabaya');cbJam.Items.Clear;cbJam.Items.Append('07.00');cbJam.Items.Append('09.00');cbJam.Items.Append('13.00');cbJam.Items.Append('15.00');end;end.

Output:

Page 40: LAPORAN AKHIR PRAKTIKUM 3