Laporan Akhir Praktikum 3
Laporan Akhir Praktikum 3
Nama
NIM
Modul
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>
BAB II
LANGKAH KERJA
A. Program Pertama
Langkah-langkah :
1.
2.
Pada form I tanamkan komponen label (7 buah) dan komponen edit (7 buah),
serta Button (2 buah)
3.
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
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;
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.
2.
1.
Properti
Name
Caption
Label1
Label2
Label3
ComboBox1
Caption
Caption
Caption
Name
Text
Name
Name
Text
Ebabled
ListBox1
Edit1
2.
Nilai
FrmBarang
BARANG
ELEKTRONIK
Pilihan barang
Nama Barang
Harga
CBPilihan
LBNama
edHarga
False
3.
4.
end;
5.
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 :
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
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:
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
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
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
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:
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;
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;
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: