LAPORAN AKHIR PRAKTIKUM 3
-
Upload
darknessixi -
Category
Documents
-
view
403 -
download
13
Transcript of 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
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 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
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)
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.
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
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 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
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:
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 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
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;
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:
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;
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 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
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 KeduaKoding:
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
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;
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:
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
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
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
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
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: