Anda di halaman 1dari 40

LAPORAN AKHIR PRAKTIKUM ALGORITMA DAN PEMROGRAMAN III

Nama NIM Modul

: AHMAD ZAY HOKKY SIHOTANG : DBC 110 089 : 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. 2. Pilih menu file dan klik new application 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. 2. Pilih menu file dan klik new application 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 Forml Properti Name Caption Caption Caption Caption Name Text Name Name Text Ebabled Nilai FrmBarang BARANG ELEKTRONIK Pilihan barang Nama Barang Harga CBPilihan LBNama edHarga False

Label1 Label2 Label3 ComboBox1 ListBox1 Edit1

4. Lakukan Desain Seperti gambar berikut

5. 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; 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 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) 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: 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: Komponen Form1

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 Forml Properti Name Caption Label1 Caption Label2 Caption Label3 Caption ComboBox1 Name Text ListBox1 Name Edit1 Name Text Ebabled Nilai FrmBarang BARANG ELEKTRONIK Pilihan barang Nama Barang Harga CBPilihan LBNama edHarga 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 Form Label1 Label2 Label3 Label4 Label5 Label6 Label7 Edit1 Edit2 Edit3 Edit4 Edit5 Edit6 Edit7 Button1 Button2 Properti Caption Caption Caption Caption Caption Caption Caption Caption Text Text Text Text Text Text Text Caption Name Caption Name Nilai NILAI MAKS DAN MIN Bilangan 1 Bilangan 2 Bilangan 3 Bilangan 4 Bilangan 5 Terbesar Terkecil

Hasil btHasil Lagi 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: Properti Nilai Caption Harga Tiket Caption Jenis Kereta Caption Jenis Penumpang Caption Kota Tujuan Caption Jam Keberangkatan Caption Jumlah Tiket Caption Total Bayar 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 Komponen Form Label1 Label2 Label3 Label4 Label5 Label6 ComboBox1

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: