Anda di halaman 1dari 38

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

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>
...

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.

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
Form1
Label1
Labe12
Label3
Label4
Label5
Labe16
Editl
Edit2
Edit3
Edit4
Edit5
Edit6
GrupBox1
RadioButton1
RadioButton2
Button1
Button2

Properti
Name
Caption
Caption
Caption
Caption
Caption
Caption
Caption
Name
Text
Name
Text
Name
Text
Name
Text
Name
Text
Name
Text
Caption
Name
Name
Name
Caption
Name
Caption

Nilai
FrmNILAI
SELEKSI TINGGI SISWA
NIP
NAMA
ALAMAT
KOTA
NILAI TINGGI
KETERANGAN
EdNip
EdNama
EdAlamat
EdKota
EdNilai
EdKeterangan
Jenis Kelamin
RbPerempuan
RbLaki
BtnMulai
Mulai
BtnSelesai
Selesai

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

1.

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


sebagai berikut :
Component
Forml

Properti
Name
Caption

Label1
Label2
Label3
ComboBox1

Caption
Caption
Caption
Name
Text
Name
Name
Text
Ebabled

ListBox1
Edit1

2.

Lakukan Desain Seperti gambar berikut

Nilai
FrmBarang
BARANG
ELEKTRONIK
Pilihan barang
Nama Barang
Harga
CBPilihan
LBNama
edHarga
False

3.

Lakukan kode program untuk event OnActive pads Form.


procedure TFrmBarang.FormActivate(Sender: TObject); begin
CBP!Iihan.Items.Clear,
CBPilihan.items.Append('Komputer');
CBPilihan.Items.Append('Printer');
CBPilihan.items.Append('relevisi');
end;

4.

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;
5.

Lakukan Kode program untuk even OnClik


procedure TFrmBarang.LBNamaClick(Sender: TObject);

begin
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 :

Dengan ketentuan sebagai berikut:


Jenis Kereta
Express

Kota Tujuan
Bandung

Harga Tiket
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)

Yogyakarta

Rp.15.000(Anak-anak)
Rp.80.000(dewasa)
Rp.15.000(Anak-anak)

Surabaya

Rp.100.000(dewasa)
Rp. 25.000(Anak-anak)

BAB III
PEMBAHASAN

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
Form1

Properti
Nilai
Name
NILAI
Caption
SELEKSI TINGGI SISWA
Label1
Caption
NIP
Labe12
Caption
NAMA
Label3
Caption
ALAMAT
Label4
Caption
KOTA
Label5
Caption
NILAI TINGGI
Labe16
Caption
KETERANGAN
Editl
Name
EdNip
Text
Edit2
EdNama
Name
Text
Edit3
EdAlamat
Name
Text
Edit4
EdKota
Name
Text
Edit5
EdNilai
Name
Text
Edit6
EdKeterangan
Name
Text
GrupBox1
Jenis Kelamin
Caption
RadioButton1 Name
RbPerempuan
RadioButton2 Name
RbLaki
Button1
BtnMulai
Name
Mulai
Caption
Button2
BtnSelesai
Name
Selesai
Caption
Seperti yang diminta oleh modul kita diminta mendesain tampilan sebagai berikut:

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'

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

ComboBox. Berikut adalah propety yang kita atur:


Component
Forml

Properti
Nilai
Name
FrmBarang
Caption
BARANG ELEKTRONIK
Label1
Caption
Pilihan barang
Label2
Caption
Nama Barang
Label3
Caption
Harga
ComboBox1 Name
CBPilihan
Text
ListBox1
Name
LBNama
Edit1
Name
edHarga
Text
Ebabled
False
Setelah mengatur propertynya maka desainlah tampilannya seperti modul:

dan

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;
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
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:
Kompone
n
Form
Label1

Properti

Nilai

Caption
Caption

NILAI MAKS DAN MIN


Bilangan 1

Label2
Label3
Label4
Label5
Label6
Label7
Edit1
Edit2
Edit3
Edit4
Edit5
Edit6
Edit7
Button1

Caption
Bilangan 2
Caption
Bilangan 3
Caption
Bilangan 4
Caption
Bilangan 5
Caption
Terbesar
Caption
Terkecil
Text
Text
Text
Text
Text
Text
Text
Caption
Hasil
Name
btHasil
Button2
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;
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;
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
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.
2. Pada program kedua ini kita akan membuat harga dari tiket kereta api berikut
propetynya:
Komponen
Form
Label1
Label2
Label3
Label4
Label5
Label6

Properti
Caption
Caption
Caption
Caption
Caption
Caption
Caption

Nilai
Harga Tiket
Jenis Kereta
Jenis Penumpang
Kota Tujuan
Jam Keberangkatan
Jumlah Tiket
Total Bayar

ComboBox1

Name
cbKereta
Text
ComboBox2 Name
cbPenumpang
Text
ComboBox3 Name
cbKota
Text
ComboBox4 Name
cbJam
Text
Edit1
Name
edJumlahTiket
Text
Edit2
Name
edTotal
Text
Button1
Caption
HITUNG
Name
btHitung
Button2
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
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
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;
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
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;
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
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;
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
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
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
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

BAB VI
LAMPIRAN
Program Pertama
Koding:
procedure TForm1.Button1Click(Sender: TObject);
begin
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 Kedua
Koding:
procedure TForm1.FormActivate(Sender: TObject);
begin
CBPilihan.Items.Clear;
CBPilihan.Items.Append('Komputer');
CBPilihan.Items.Append('Printer');
CBPilihan.Items.Append('Televisi');
end;
procedure TForm1.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;
LbNama.Items.Append('Canon200SPX');
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;
procedure TForm1.LBNamaClick(Sender: TObject);
begin

if 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
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';
end
end;
end.
Output:

Tugas 1
Koding:
procedure TForm1.btHasilClick(Sender: TObject);
var kecil, besar , a, b , c , d , e : integer;
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;
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;
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;
end.
Output:

Tugas 2
Koding:
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;
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;
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
begin
cbJam.Enabled:=True;
end;
end;
procedure TForm1.cbJamChange(Sender: TObject);
begin
edJumlahTiket.Enabled:=True;
end;
procedure TForm1.edJumlahTiketChange(Sender: TObject);
begin
btHitung.Enabled:=true;
btHitung.SetFocus;
end;
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;
edTotal.Text:=IntToStr(total);
btBatal.SetFocus;
end
else if (cbKereta.Text = 'Express') and (cbPenumpang.Text='Anakanak') 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='Anakanak') and (cbKota.Text = 'Semarang') 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 = 'Yogyakarta') then
begin
harga := 250000;
total := jmltiket * harga;
edTotal.Text:=IntToStr(total);
btBatal.SetFocus;
end
else if (cbKereta.Text = 'Express') and (cbPenumpang.Text='Anakanak') 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='Anakanak') and (cbKota.Text = 'Surabaya') then
begin
harga := 200000;

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='Anakanak') 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
else if (cbKereta.Text = 'Ekonomi') and (cbPenumpang.Text='Anakanak') 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='Anakanak') 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;
total := jmltiket * harga;
edTotal.Text:=IntToStr(total);
btBatal.SetFocus;
end
else if (cbKereta.Text = 'Ekonomi') and (cbPenumpang.Text='Anakanak') and (cbKota.Text = 'Surabaya') then
begin
harga := 25000;
total := jmltiket * harga;
edTotal.Text:=IntToStr(total);
btBatal.SetFocus;
end
end;
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;
procedure TForm1.FormActivate(Sender: TObject);
begin
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;
end.
Output:

Anda mungkin juga menyukai