2009
Diktat Delphi
BAB I PENDAHULUAN
(IDE Delphi dan OOP)
Delphi adalah suatu program berbasis bahasa Pascal yang berjalan dalam lingkungan Windows. Delphi telah memanfaatkan suatu teknik pemrograman yang disebut RAD yang telah membuat pemrograman menjadi lebih mudah. Delphi adalah suatu bahasa pemrograman yang telah memanfaatkan metode pemrograman Object Oriented Programming (OOP). Lingkungan kerja Borland Delphi dapat dilihat pada gambar di bawah ini.
Form
Fungsi dari elemen-elemen di atas adalah : Object Inspector : suatu window yang berguna untuk mengatur suatu object baik properti, events dan method. Form : Digunakan sebagai layar/window yang digunakan sebagai lembar kerja kita. Di form-lah semua komponen seperti tombol dan komponen lainnya disimpan. Window Unit/Source Code : Window/layar yang berisi perintah-perintah yang akan dieksekusi oleh komputer. Di layar inilah kita mengisikan program-program. Component Palette : Layar yang berisikan komponen-komponen yang dipakai dipakai dalam program kita.
Halaman. 1
Diktat Delphi
3.
4.
Sekarang klik form kemudian klik tab event di window object inspector dan pilih tab Event onclick. Double klik event tersebut. Maka akan muncul suatu procedure/method kosong yang harus diisi sesuai keinginan. Contoh di bawah ini akan mengganti warna (properti color) dari Form1 menjadi warna merah. Isilah programnya sebagai berikut : procedure TForm1.FormClick(Sender: TObject); begin Form1.Color:=clred; end; Keterangan program : - Tanda titik (.) adalah tanda pemisah antara objek dengan propertinya. - Setiap akhir dari perintah harus diberi perintah titik koma (;) - Pengisian nilai ke suatu variabel atau properti menggunakan simbol titik dua sama dengan (:=). Sekarang klik objek tombol kemudian klik tab event pada object inspector dan pilih event onclick. Double klik atau tulis nama fungsi yang akan digunakan sebagai method yang akan dikerjakan ketika tombol diklik. Kemudian tulis perintah untuk menutup form sebagai berikut : procedure TForm1.Button1Click(Sender: TObject); begin Form1.Close; end; Tekan tombol F9 atau menu Run Run atau tekan tombol untuk menjalankan program.
5.
Halaman. 2
Diktat Delphi
Edit Label
Button
Properti-properti utama yang bisa diatur untuk tiap komponen di atas adalah : Properti-properti Form BorderIcon Border icon mempunyai pilihan sebagai berikut : - BiSystemMenu : Apakah form akan memakai icon maximize, minimize dan close. Isi properti ini dengan true untuk mengaktifkannya. - BiMaximize : Apakah form akan memakai icon Maximize - BiMinimize : Apakah form akan memakai icon Minimize - BiHelp : Apakah form akan memakai icon help. BorderStyle Properti ini memiliki 6 nilai, yaitu : - BsDialog : Form hanya akan memiliki icon close - BsNone : Form tidak mempunyai garis pinggir - BsSingle : Form bisa diminimize, dimaximize tapi tidak bisa dibesarkan (resize) - BsSizeable : Form default, bisa diminimize, maximize dan diperbesar. - BsToolWindow : Judul form lebih kecil dan tidak bisa diperbesar. - BsSizeToolWin : Sama dengan bsToolWindow bisa diperbesar. BorderWidth Lebar border untuk form ke bidang clientnya. Caption Judul dari form. Bisa diisi sesuai keinginan karena tipenya string. Color Warna background dari form. Catatan : Coba klik pilihan pada properti color maka akan muncul beberapa pilihan. Pilihan dibawah clWhite adalah warna-warna yang dipakai dalam window (desktop-properties-apperance), seperti warna background desktop, dan lain-lain. Cursor Kursor apa yang akan tampil ketika cursor mouse berada diatas form (objek). Font Font standar yang akan digunakan oleh komponen-komponen yang berada dalam form tersebut. Untuk memilih font klik tombol elipsis () Height Tinggi dari form secara keseluruhan Hint Pesan apa yang akan ditampilkan ketika mouse diam diatas form. Untuk menampilkan hint maka properti ShowHint harus mempunyai nilai true.
Halaman. 1
Diktat Delphi
Left Name
Posisi kiri form dari desktop(dalam pixel). Ini adalah properti yang paling penting. Name bukan caption. Name adalah nama yang digunakan untuk memanggil/menggunakan objek. Nama object tidak boleh terpisah. Posisi menampilkan form ketika pertama kali ditampilkan. Posisi atas form dari desktop Apakah form akan ditampilkan atau tidak.Defaultnya adalah false Lebar form secara keseluruhan Kondisi state apakah maximize, minimize, atau normal Properti-Properti Label
Align
( ) Peletakan objek terhadap parent (form). Nilai yang dimungkinkan adalah : - AlClient : objek diletakan sebesar bidang sisa dari parentnya. - AlRight : objek diletakan di posisi kanan form - AlLeft : objek diletakan di posisi kiri form - AlTop : objek diletakan di posisi atas form - AlBottom : objek diletakan di posisi bawah form - AlNone : objek diletakan sesuai peletakan waktu desain Justifikasi dari text apakah rata kiri (leftJustify), rata kanan (rightJustify) dan tengah (center). Besar bidang objek akan sesuai dengan besarnya caption Text (kata) yang akan ditampilkan dalam label Warna background dari objek Font yang digunakan dalam objek. Defaultnya adalah font parent. Nama dari objek. Ingat Name berbeda dengan Caption Apakah warna objek akan dibuat transparan (properti color tidak dipakai). Jika diisi true, maka jika caption telah melebihi batas, maka akan menggulung ke baris berikutnya. Properti-Properti Edit
( ) Apakah objek akan menggunakan garis pinggir. Apakah data yang dimasukan akan dicapitalkan (uppercase) atau dihurufkecilkan (lowercase) atau normal. Warna background dari objek. Apakah akan dibuat 3D atau flat / datar. Panjang maksimal data yang akan dimasukan. Karakter apa yang akan ditampilkan ketika objek ini digunakan untuk memasukan password contoh *. Isi properti ini dengan #0 jika objek tidak digunakan untuk membaca password. Jika diisi true, maka user tidak bisa menulis/mengubah isi objek. Isi tulisan dari objek ini. Edit tidak mempunyai caption, sehingga isi dari yang ditulis diedit berada di properti ini. Isi properti ini dengan true jika objek ingin ditampilkan. Properti-properti dari Button
( ) Properti-properti dari button sebenarnya sama dengan properti-properti objek yang telah dijelaskan, tetapi ada beberapa properti yang berbeda yaitu properti : ModalResult Properti ini biasanya digunakan ketika kita membuat program yang memiliki banyak form. Properti ini digunakan untuk mengecek tombol apa yang diklik ketika suatu form ditutup. Cancel Jika properti ini diisi dengan nilai True, maka ketika ada penekanan tombol Escape dalam form tersebut maka tombol tersebut akan dieksekusi. Default Jika properti ini diisi dengan nilai True, maka ketika ada penekanan tombol Enter dalam form tersebut maka tombol tersebut akan dieksekusi.
Halaman. 2
Diktat Delphi
Setelah form selesai dibuat, maka langkah berikutnya adalah mengisi event OnClick pada tombol Hitung. Perintah untuk event OnClick adalah sebagai berikut : 1 procedure TForm1.ThitungClick(Sender: TObject); 2 var Harga:Real; 3 Qty:Integer; 4 SubTotal,Diskon,Total:Real; 5 6 begin Harga:=StrToFloat(EHarga.text); 7 Qty:=StrToint(EQty.text); 8 Subtotal:=Harga*Qty; 9 Diskon:=0.1 * Subtotal; 10 Total:=Subtotal-Diskon; 11 ESubTotal.text:=FloatToStr(SubTotal); 12 EDiskon.Text:=FloatToStr(Diskon); 13 ETotal.Text:=FloatToStr(Total); 14 end; 15 Keterangan Program : - Baris 1 : pendeklarasian method/procedure ThitungClick yang merupakan method yang dipanggil ketika tombol Hitung di klik. - Baris 2 : perintah var digunakan untuk mengawali pendeklarasian variabel-variabel yang akan digunakan dalam program. - Baris 3-5 : pendeklarasian variabel dan tipenya. Dengan perincian variabel harga bertipe Real karena harga bisa berupa nilai pecahan, variabel Qty bertipe Integer karena kuantitas penjualan tidak boleh bilangan pecahan dan harus bilangan bulat (integer), variabel Subtotal bertipe real karena nilai variabel tersebut berasal dari perkalian antara harga yang bertipe real dan qty yang bertipe integer (perkalian integer dengan real menghasilkan nilai real), hal yang sama juga terjadi pada variabel Diskon dan variabel Total. Jenis-jenis tipe data dapat dilihat di bawah ini. Tipe-Tipe Data : 1. Bilangan Bulat Tipe-tipe bilangan bulat adalah suatu tipe data yang hanya menampung bilangan bulat saja. Tipe data tersebut diantaranya : integer, byte, word, smallint. Tipe Data Range Format 128..127 signed 8-bit Shortint 32768..32767 signed 16-bit Smallint 2147483648..2147483647 signed 32-bit Longint 2^63..2^631 signed 64-bit Int64 0..255 unsigned 8-bit Byte 0..65535 unsigned 16-bit Word 0..4294967295 unsigned 32-bit Longword 2. Bilangan Pecahan Tipe-tipe bilangan pecahan adalah suatu tipe data bilangan yang bisa menampung bilangan pecahan. Tipe-tipe data tersebut diantaranya : Real, Double, Single. String Tipe data ini menampung data huruf yang banyak seperti untuk nama, alamat dan lain-lain. Tipe data tersebut adalah : String. Untuk pengisian suatu data bertipe String, maka harus diapit oleh tanda apostrop (), kecuali kalau data tersebut berasal dari data / variabel lain. Contoh : A:=Bandung; B:=A; // B berisi string Bandung
3.
Halaman. 3
Diktat Delphi
Aturan-aturan operasi perhitungan : - Jika bilangan bulat dioperasikan dengan bilangan bulat maka akan menghasilkan bilangan bulat. - Bilangan bulat dioperasikan dengan bilangan pecahan maka hasilnya adalah bilangan pecahan. - String tidak bisa dioperasikan dengan suatu bilangan kecuali telah dikonversi ke tipe data bilangan. Jika nilai yang dimasukan telah melebihi nilai maksimalnya, maka nilainya akan berputar ke arah minimalnya dan jika nilai yang dimasukan lebih kecil dari nilai minimalnya maka akan berputar ke arah nilai maksimalnya. Baris 6 : Perintah Begin yang menandai awal dari suatu procedure THitungClick. Baris 7 : Pengisian variabel harga yang berasal dari Eharga (edit box untuk pengisian harga). Karena properti Text dari Eharga bertipe string dan variabel harga bertipe real maka properti Text dari Eharga harus dikonversikan menjadi sebuah bilangan real/pecahan (float) dengan perintah StrToFloat. Baris 8 : Pengisian variabel Qty dari edit EQty. Karena terjadi ketidakcocokan tipe, maka properti Text dari EQty harus dikonversikan menjadi sebuah bilangan bulat sesuai dengan tipe data variabel Qty. Pengkonversian dari suatu string ke bilangan integer adalah dengan menggunakan perintah StrToInt. Baris 9 : Perhitungan variabel Subtotal yang berasal dari perkalian antara variabel Harga dan variabel Qty. Baris 10 : Perhitungan variabel Diskon yang berasal dari 10 % dari Subtotal. Baris 11 : Perhitungan variabel Total yang berasal dari Subtotal Diskon. Baris 12 : Menampilkan data Subtotal ke dalam edit ESubtotal. Properti yang diisi adalah properti Text yang bertipe string. Karena Subtotal bertipe real dan properti Text bertipe string maka harus ada proses konversi data dari real (float) ke string dengan perintah FloatToStr. Baris 13 : Menampilkan data Diskon ke dalam edit EDiskon. Prosesnya mirip dengan Baris 12. Baris 14 : Menampilkan data Total ke dalam edit ETotal. Prosesnya mirip dengan Baris 13. Baris 15 : Perintah End yang menadai akhir dari procedure THitungClick.
Setelah event OnClick tombol Hitung telah diisi, sekarang bagian pengisi OnClick pada tombol Ulang. Programnya adalah sebagai berikut : procedure TForm1.TUlangClick(Sender: TObject); begin Enama.Text:=''; {mengosongkan edit ENama} EHarga.Text:='0'; {me-nol-kan edit Eharga} EQty.Text:='0'; {me-nol-kan edit EQty} ESubTotal.Text:='0';//me-nol-kan edit ESubTotal EDiskon.Clear; // mengosongkan edit EDiskon ETotal.Clear; // mengosongkan edit ETotal ENama.SetFocus; // memindahkan kursor ke edit ENama end; Untuk program pada tombol Keluar, programnya adalah sebagai berikut : procedure TForm1.TKeluarClick(Sender: TObject); begin Close; // Menutup Form end; Setelah semua ditulis, sebaiknya kita simpan dulu program tersebut. Langkah-langkah untuk menyimpan suatu program adalah : - Simpan Unit/Form dengan mengklik menu File Save atau File Save As. Isi nama filenya sesuai dengan fungsi dari formnya. Contoh : UUtama, ULatihan1. - Simpan pula file Projectnya dengan mengklik menu File Save Project As. Isi nama file projectnya sesuai dengan kegunaan programnya. Contoh : Penjualan, SIAKAD, HangMan. - Jika suatu program telah disimpan dan kemudian diedit kembali maka langkah yang dilakukan untuk penyimpanan adalah dengan menekan menu File Save All yang akan menyimpan semua file yang mengalami perubahan. Langkah berikutnya adalah menjalankan program tersebut dengan menekan tombol F9 atau dengan mengklik menu Run Run atau mengklik tombol Run.
Halaman. 4
Aturan-aturan penulisan program yang menggunakan perintah IF : 1. Jika suatu kondisi tercapai (bernilai benar), maka If hanya mengenal satu perintah berikutnya. 2. Kalau suatu perintah if ingin mengerjakan lebih dari 1 perintah, maka gunakan perintah Begin dan End; 3. Sebelum Else jangan memakai titik koma. Karena titik koma merupakan tanda akhir dari suatu perintah.
Halaman - 7
Contoh kasus: Sebuah toko mempunyai tabel harga dan diskon seperti berikut : Kode Nama Barang Harga Barang A01 Speaker 50000 B02 Mouse 25000 C03 Harddisk 750000 D04 Mouse Pad 5000 Sub total >=100000 >=50000 >=25000 <25000 Buatlah Form Tempatkan buah ComboBox Isi properti sebagai berikut : Items : A01 B02 C03 D04 Text : {dikosongkan saja} Name : CBKode Kemudian tambahkan komponen lain sehingga terbentuk form seperti berikut : . Catatan : Untuk tombol gunakan BitBtn yang ada di Component Palette Additional. Untuk mengisikan gambar pada tombol, gunakan properti Glyph kemudian pilih Load dan pilih file gambar yang ada di folder : C:\Program Files \ commonFiles\ BorlandShared \ Images \ Buttons Contoh Kasus : Tombol Hitung : Calculate.bmp Tombol Ulang : Retry.bmp Tombol Keluar : Picture.bmp Diskon 15% 10% 5% 0%
Tulislah program pada event onclick tombol Hitung procedure TForm1.THitungClick(Sender: TObject); var NamaBarang:String; Quantity:integer; Harga,Total,Subtotal,Diskon:real; begin If CBKode.Text='A01' then // Kalau Kode = A01 begin NamaBarang:='Speaker'; //Pengisian String diapit ' ' Harga :=50000; // Pengisian Harga end else if CBKode.Text='B02' then {Kalau Kode = B02} begin NamaBarang:='Mouse'; Harga :=25000; end else if CBKode.Text='C03' then {Kalau Kode = C03 } begin NamaBarang:='HardDisk'; Harga :=750000; end else if CBKode.Text='D04' then {Kalau Kode = D04} begin NamaBarang:='Mouse Pad'; Harga :=5000; end
Halaman - 8
else // jika kode tidak diketahui begin NamaBarang:='Tidak Ada'; Harga :=0; end; Quantity:=StrToInt(EQTY.Text);// Ambil Quantity dari EQty SubTotal:=Harga*Quantity; // Hitung Subtotal if SubTotal>=100000 then // Jika Subtotal >= 100000 maka Diskon:=0.15*SubTotal // diskon = 15% else if SubTotal>=50000 then // Jika subtotal >=50000 maka Diskon:=0.10 * SubTotal // diskon = 10% else if SubTotal>=25000 then // Jika subtotal>=25000 maka Diskon:=0.05 * SubTotal // diskon = 5% else // jika subtotal < 25000 Diskon:=0; // diskon = 0% Total:=SubTotal - Diskon; // hitung total ENama.Text:=NamaBarang; // tampilkan nama barang EHarga.Text:=FloatToStr(Harga); // tampilkan harga ESubTotal.Text:=FloatToStr(SubTotal); // tampilkan subtotal EDiskon.Text:=FloatToStr(Diskon); //tampilkan diskon ETotal.Text:=FloatToStr(Total); // tampilkan total end; Untuk event Onclick pada tombol Ulang, silahkan diisi perintah berikut : procedure TForm1.TUlangClick(Sender: TObject); begin CBKode.Text:=''; ENama.Text:=''; EHarga.Text:='0'; ESubTotal.Text:=''; EDiskon.Text:=''; ETotal.Text:=''; CBKode.SetFocus; end; Untuk event OnClick pada tombol Tutup isilah dengan perintah: procedure TForm1.TKeluarClick(Sender: TObject); begin Close; end;
Operator-operator boolean :
Simbol = >= > <= < <> Not And Or Keterangan Sama dengan Lebih besar sama dengan Lebih besar Lebih kecil sama dengan Lebih kecil Tidak sama dengan Tidak / Invers Operator dan Operator Contoh (a = 7) (a >= 7) (a > 7) (a <= 7) (a < 7) (a <> 7) Not (a<>7) (a = 7)And(b =5) (a = 7) Or (b =5)
Halaman - 9
Komponen RadioButton (
Radiobutton adalah suatu komponen yang digunakan untuk pemilihan suatu kondisi dari beberapa kondisi yang ada. Kondisi yang bisa dipilih hanya ada 1 buah. Properti yang menandakan bahwa suatu radiobutton dipilih adalah properti Checked. Jika properti checked suatu Radiobutton berisi true, maka berarti Radiobutton tersebut dipilih. Contoh kasus : 1. Buatlah form seperti berikut : Caranya adalah sebagai berikut : - Tempatkan sebuah group box ( ) - Tempatkan 3 buah radiobutton kemudian ganti namanya sesuai dengan keperluan. Contoh untuk radiobutton Jakarta beri namanya RBJakarta untuk mempermudah dalam program. - Tempatkan sebuah Button.
2.
Isi event onclick dari button sebagai berikut : Procedure TForm1.Button1Click(Sender:TObject) begin if (RBJakarta.Checked=true) then ShowMessage(Jurusan yang dipilih adalah jakarta) else if (RBYogya.Checked=true) then ShowMessage(Jurusan yang dipilih adalah Yogyakarta) else if (RBSurabaya.Checked=true) then ShowMessage(Jurusan yang dipilih adalah Surabaya); End; ShowMessage adalah suatu perintah untuk menampilkan pesan dengan ketentuan adalah sebagai berikut : ShowMessage(Pesan:String) Contoh : ShowMessage(Jurusan yang dipilih adalah jakarta); Hasilnya adalah sebagai berikut :
3.
Halaman - 10
Komponen Radiogroup (
Radiogroup adalah suatu komponen yang digunakan untuk memilih sebuah option dari beberapa pilihan (sifatnya seperti radiobutton) hanya dengan satu buah komponen radiogroup saja. Tabel Properti dari RadioGroup Properti Keterangan Columns Pilihan mau dibuat berapa kolom Items Daftar pilihan yang akan ditampilkan ItemIndex Item ke berapa yang dipilih. Jika ItemIndex berisi 0 maka yang dipilih adalah pilihan ke-1, jika ItemIndex berisi 1 maka yang dipilih adalah pilihan ke-2 dan seterusnya. Jika ItemIndex berisi dengan 1 maka berarti tidak ada yang dipilih. Pada program sebelumnya, kita membuat suatu pemilihan dengan membuat sebuah group box dan 3 buah radiogroup. Sekarang kita akan membuat suatu pemilihan hanya dengan menggunakan sebuah radiogroup saja. Caranya : 1. Buat form seperti berikut - Tempatkan sebuah radiogroup, kemudian ganti namanya menjadi RGKelas dan captionnya diisi dengan Kelas. - Isi properti Items dengan Eksekutif Bisnis Ekonomi - Isi properti ItemIndex dengan 0 agar pilihan default adalah Eksekutif.
2.
Isi tombol Oncliknya dengan perintah berikut : Procedure TForm1.Button2Click(Sender:TObject) begin if (RGKelas.ItemIndex=0) then ShowMessage(Kelas adalah Exekutif) else if (RGKelas.ItemIndex=1) then ShowMessage(Kelas adalah Bisnis) else if (RGKelas.ItemIndex=2) then ShowMessage(Kelas adalah Ekonomi); End; Atau : Procedure TForm1.Button2Click(Sender:TObject) begin case RGKelas.ItemIndex of 0:ShowMessage(Kelas adalah Exekutif); 1:ShowMessage(Kelas adalah Bisnis); 2:ShowMessage(Kelas adalah Ekonomi); end; end; Run Program
3.
Halaman - 11
Contoh Kasus :
Sebuah Perusahaan angkutan Jalan Terus memiliki ketentuan harga seperti berikut : Eksekutif Bisnis Ekonomi 70000 40000 10000 Jakarta 80000 50000 20000 Solo 90000 60000 30000 Surabaya Karena ada masa promosi maka khusus untuk Surabaya Ekonomi atau Solo Eksekutif terdapat diskon 10%. Untuk lebih jelasnya, ikutilah cara berikut : 1. Buat suatu aplikasi baru dengan File-New Application 2. Tempatkan sebuah Groupbox kemudian ganti property Caption dengan Jurusan. 3. Tempatkan tiga buah RadioButton pada GroupBox tersebut kemudian ganti properti-propertinya seperti berikut : Name : RBJakarta RadioButton1 Caption : Jakarta Name : RBSolo RadioButton2 Caption : Solo Name : RBSurabaya RadioButton3 Caption : Surabaya 4. Tempatkan sebuah RadioGroup kemudian ganti propertinya seperti berikut : Name : RGKelas Items : Eksekutif Bisnis Ekonomi ItemIndex : 0 5. Tempatkan 2 buah Edit untuk pengisian data banyaknya tiket dan untuk menampilkan hasil dari perhitungan. Gantilah properti-propertinya seperti berikut : Edit1 Name : ETiket Edit2 Name : ETotal 6. Tempatkan 3 buah tombol untuk tombol perhitungan, reset, dan tombol keluar. Kemudian atur form seperti form berikut :
GroupBox
RadioButton
RadioGroup
7.
Untuk program selengkapnya dari kasus diatas adalah sebagai berikut : procedure TForm1.THitungClick(Sender: TObject); var jmltiket,harga:integer; total:real; begin jmltiket:=StrToInt(ETiket.text); if (RBJakarta.Checked=true)and(RGKelas.ItemIndex=0) then harga:=70000 else if (RBJakarta.Checked=true)and(RGKelas.ItemIndex=1) then harga:=40000 else if (RBJakarta.Checked=true)and(RGKelas.ItemIndex=2) then harga:=10000 else if (RBSolo.Checked=true) then begin if RGKelas.ItemIndex=0 then harga:=80000 else if RGKelas.ItemIndex=1 then harga:=50000 else if RGKelas.ItemIndex=2 then harga:=20000; end
Halaman - 12
else if (RBSurabaya.Checked=true) then begin case RGKelas.ItemIndex of 0:Harga:=90000; 1:Harga:=60000; 2:Harga:=30000; end; end; total:=harga*jmltiket; ETotal.Text:=FormatFloat('Rp #,##0.00',total); end; Untuk perhitungan diskon, sisipkan program berikut setelah perhitungan total : if ((RBSurabaya.checked=true)and (RGKelas.ItemIndex=2) ) // Surabaya Ekonomi or // atau ((RBSolo.Checked=true)and (RGKelas.ItemIndex=0) ) then //Solo Bisnis total:=0.9*total; 9. Untuk event OnClick dari tombol Reset, programnya adalah sebagai berikut : procedure TForm1.TResetClick(Sender: TObject); begin RBJakarta.Checked:=true; RGKelas.ItemIndex:=0; ETiket.Text:='0'; EJmlTotal.Text:='0'; end; 10. Run Program. 8.
Halaman - 13
CheckBox ( ) adalah komponen untuk pemilihan option dimana option yang dipilih bisa lebih dari satu buah. Properti-properti CheckBox Property Keterangan Tulisan yang ada di Checkbox Caption Checked Jika berisi true berarti checkbox yang bersangkutan dipilih.
Contoh kasus :
Rental Internet Surf The World mempunyai harga rental perjam Rp. 3500, dan juga menyediakan fasilitas pemesanan makanan dan minuman. Daftar yang bisa dipesan adalah sebagai berikut : Menu Harga Nasi goreng 3500 Coca Cola 1250 Teh Botol 1000 Buatlah program untuk menghitung berapa yang harus dibayar. Form yang dibuat :
Catatan : Untuk Kotak, gunakan komponent Panel yang ada di Standar dan untuk Gambar gunakan komponen Image yang ada di additional. Properti-properti dari Panel : Properti Keterangan Caption Tulisan yang ada di Panel Alignment Peletakan dari Caption, di kiri, tengah atau kanan BorderWidth Lebar bingkai panel antara kotak luar dengan kotak dalam BevelInner Bentuk kotak dalam BevelOuter Bentuk kotal luar Color Warna Panel Properti-properti dari Image : Properti Keterangan AutoSize Jika berisi true maka bidang gambar mengikuti besarnya gambar. Picture Isi gambar yang ada di image Stretch Jika berisi true maka seluruh gambar akan tampil dalam bidang yang ditentukan, besar gambar menyesuaikan besarnya bidangnya. Center Jika berisi true maka gambar akan ditampilkan di tengah bidang gambar.
Halaman - 14
Program untuk hitung onclick adalah seperti berikut : procedure TForm1.THitungClick(Sender: TObject); const // membuat suatu nilai konstanta HargaRental=3500; HargaNasGor=3500; HargaCocaCola=1250; HargaTehBotol=1000; var lama:real; TotalRental,TotalMakanMinum,GrandTotal:Real; TotalNasgor,TotalCocaCola,TotalTehBotol:real; begin Lama:=StrToFloat(ELama.Text); TotalRental:=Lama * HargaRental; if CBNasgor.checked=true then TotalNasgor:=StrToInt(ENasGor.text) * HargaNasgor else TotalNasgor:=0; if CBCoca.checked=true then TotalCocaCola:=StrToInt(ECoca.text) * HargaCocaCola else TotalCocaCola:=0; if CBTeh.checked=true then TotalTehBotol:=StrToInt(ETeh.text) * HargaTehBotol else TotalTehBotol:=0; TotalMakanMinum:=TotalNasGor + totalCocaCola + TotalTehBotol; GrandTotal:=TotalRental + TotalMakanMinum; ERental.text:=FloatToStr(TotalRental); EMakan.Text:=FloatToStr(TotalMakanMinum); ETotal.Text:=FloatToStr(GrandTotal); end; Program untuk tombol Ulang : procedure TForm1.TUlangClick(Sender: TObject); begin ELama.TexT:='1'; ENasGor.text:='0'; ECoca.text:='0'; ETeh.text:='0'; CBNasGor.checked:=false; CBCoca.checked:=false; CBTeh.checked:=false; ETotal.TexT:='0'; EMakan.text:='0'; ERental.Text:='0'; ELama.SetFocus; end;
Halaman - 15
BAB IV PERULANGAN
(For To Do, For Downto Do, Repeat Until, While Do)
Perulangan adalah suatu cara untuk mengulang satu atau sekumpulan perintah sampai mencapai kondisi tertentu. Dalam Delphi terdapat beberapa perulangan yaitu : 1. Perulangan menggunakan For To Do 2. Perulangan menggunakan For DownTo Do 3. Perulangan menggunakan Repeat Until 4. Perulangan menggunakan While Do 5. Perulangan menggunakan Label 6. Perulangan tersarang (perulangan dalam perulangan) 7. Perulangan dengan banyak kondisi Untuk lebih jelasnya, buatlah form seperti berikut dengan mengunakan 1 buah memo dan 7 buah BitBtn. Memo digunakan sebagai tempat untuk melihat hasil perulangannya.
Memo
Catatan : Komponen Memo ( ) umumnya digunakan untuk pemasukan data string yang bisa menampung data dalam bentuk beberapa paragraf (banyak baris). Komponen ini dapat kita samakan dengan Notepad. Isi dari komponen ini ada di properti Lines. Method-method yang banyak dipakai yang dimiliki oleh memo adalah : Clear, gunanya untuk mengosongkan memo. Contoh : Memo1.Clear; Lines.Add, gunanya untuk memasukan/menambahkan baris di Memo. Inputan untuk method add harus berupa string. Jika yang ingin ditampilkan berupa angka, maka harus dikonversikan dulu. Contoh : Memo1.Lines.Add(Text Yang Ditambahkan); A:=100; Memo1.Lines.Add(Nilai A adalah : +inttostr(A)); Lines.Delete, gunanya untuk menghapus suatu baris. Contoh : Memo1.Lines.Delete(0); // Menghapus baris ke-1
2.
Kasus :
1. Buat suatu program untuk menentukan faktorial dan jumlah deret sampai ke N. Buat form sebagai berikut :
2.
Buat suatu program untuk menghitung saldo akhir dari suatu tabungan dengan bunga dan jangka waktu tertentu : Contoh hasil : Saldo : 100000 Bunga : 10 Waktu : 3 Ketika user menekan tombol Hitung, maka akan muncul hasil seperti berikut di memonya. Saldo Bulan 1 = Rp. 110000 Saldo Bulan 2 = Rp. 121000 Saldo Bulan 3 = Rp. 133100
File Database
Komponen Table
Komponen DataSource
Keterangan : 1. File Database : File database dari sistem database lain seperti Dbase (*.dbf), Paradox (*.db), Microsoft Access (*.mdb), dan lain-lain. 2. Komponen Table : Komponen yang mewakili file database. Setiap melakukan proses dalam komponen tabel tersebut, maka isi file database yang terkoneksi ke komponen tersebut berubah juga. 3. Komponen DataSource : Komponen penghubung antara komponen tabel dengan komponen data control. Dalam datasource harus diisi tabel yang berelasi ke datasource tersebut. 4. Komponen-Komponen Data Control : Komponen yang digunakan untuk menampilkan data-data yang berasal dari datasource (tabel). Data control ada yang berbentuk tabel, label, edit box, gambar, combobox, listbox dan lain-lain. PROGRAM DATABASE 1 : Untuk program pertama ini, program database yang akan dibuat adalah untuk mendata spesies ikan pada suatu toko. (data sudah ada) 1. Buat suatu aplikasi baru dengan Alt+F - New Application 2. Tempatkan sebuah komponen Table dari component palette BDE. Ganti property berikut : Property Nilai DatabaseName DBDEMOS TableName BIOLIFE.DB Name TIkan Active True Keterangan : DatabaseName adalah Alias directory atau koneksi ODBC. Pembuatan alias akan diterangkan berikutnya. Tempatkan sebuah komponen DataSource dari component palette Data Access Ganti property berikut : Property Nilai DataSet TIkan Name DSIkan dari component palette Data Controls pada form kemudian isi Tempatkan sebuah DBGrid properti datasourcenya dengan DSIkan (karena akan menampilkan isi tabel ikan). Coba run program dan lihat hasilnya. Dengan cara yang tadi dijalankan, maka kita sudah dapat melihat, menambah, mengedit data.
3.
4.
6.
7.
8.
Untuk menampilkan data bertipe gambar, gunakan komponen DBImage dari component palette Data Controls, kemudian ganti property Datasource dengan DSIkan dan FieldName dengan Graphics. 10. Tempatkan suatu tombol kemudian ganti caption dengan Tutup Program dan kemudian isi even Onclick dengan perintah Close; atau Application.Terminate. Gambar Lengkap form adalah sebagai berikut :
9.
DBGrid
DBImage
3.
Klik tombol New, kemudian isi edit box Database alias dengan alias yang diinginkan, kemudian klik tombol Browse.
5.
Jika telah benar tekan tombol OK pada Alias Manager. Maka akan muncul dialog apakah alias tersebut akan disimpan dalam file configurasi. Tekan tombol Yes.
3.
4. 5. 6.
Jika sudah lengkap tekan tombol Save As untuk menyimpan tabel tersebut. Tulis nama file tabel yang sudah dibuat dan simpan pada alias yang tadi dibuat. Tabel sudah bisa diakses oleh Delphi.
Bitbtn
SpeedButton Catatan : Nama tabel adalah TBarang Program untuk tombol navigator (4 buah speedbutton bergambar tangan) adalah sebagai berikut : - Program untuk Pindah Ke Data Pertama (gambar tangan menunjuk ke atas) procedure TForm1.SpeedButton1Click(Sender: TObject); begin TBarang.First; end; - Program untuk Pindah Ke Data Sebelumnya / Mundur (gambar tangan menunjuk ke kiri) procedure TForm1.SpeedButton2Click(Sender: TObject); begin TBarang.Prior; if TBarang.BOF then ShowMessage('Anda sudah di awal data'); end; - Program untuk Pindah Ke Data Berikutnya / Maju (gambar tangan menunjuk ke kanan) procedure TForm1.SpeedButton3Click(Sender: TObject); begin TBarang.Next; if TBarang.EOF then ShowMessage('Anda sudah di akhir data'); end;
2.
3.
Untuk proses penambahan dan pengeditan data, diperlukan suatu form baru yang digunakan untuk pengisian data barang tersebut. Buat suatu form seperti berikut : - Buat form baru dengan File New Form dan namailah dengan FIsiBarang. - Tempatkan 4 buah Edit untuk tempat pengisian data. Kemudian atur properti Name-nya sesuai dengan kegunaannya. - Tempatkan tombol suatu tombol kemudian caption diisi dengan Save kemudian properti modalresult diisi dengan mrOk. - Tempatkan tombol suatu tombol kemudian caption diisi dengan Cancel kemudian properti modalresult diisi dengan mrCancel.
4.
5.
Buatlah objek/component field untuk mempermudah dalam pengisian program dengan cara mendouble klik di componen Table kemudian klik kanan dan pilih Add All field. Dengan melakukan hal tersebut, maka setiap field mempunyai objek field khusus. Isilah program berikut pada event onclick tombol Tambah. Procedure Tform1.TblTambahClick(Sender : Tobject); begin FIsiBarang.ENama.Text:=; FIsiBarang.EHarga.Text:=0; FIsiBarang.EStock.Text:=0; FIsiBarang.EStockMinimal.Text:=0; FIsiBarang.ShowModal; //tampilkan Form Fisibarang if FIsiBarang.ModalResult=mrOk then begin TBarang.Append;//meminta tempat kosong untuk data baru TBarangNama.Value:=FIsiBarang.ENama.Text; TBarangHarga.Value:=StrToFloat(FIsiBarang.EHarga.Text); TBarangStock.Value:=StrToInt(FIsiBarang.EStock.Text); TBarangStockMinimal.Value:=StrToInt(FIsiBarang. EStockMinimal.Text); TBarang.Post;//simpan data end; end;
7.
10. Untuk onclick pada Tombol Tambah, ketikan perintah berikut : Procedure Tform1.TblTambahClick(Sender : Tobject); begin TBarang.Append; FIsiBarang2.ShowModal; if FIsiBarang2.ModalResult=mrOk then begin TBarang.Post; end else begin TBarang.Cancel; end; end; 11. Untuk onclick pada Tombol Edit, ketikan perintah berikut : Procedure Tform1.TblEditClick(Sender : Tobject); begin TBarang.Edit; FIsiBarang2.ShowModal; if (FIsiBarang2.ModalResult=mrOk) then begin TBarang.Post; end else begin TBarang.Cancel; end; end;
4.
Pilih field yang akan dijadikan index. Pilih field Nama kemudian tekan tombol panah kanan. (lihat gambar).
5.
Jika telah dipilih, tulis nama index dari index tersebut. Contoh : idxNama.
6. 7.
Buat juga index dengan nama IdxHarga yang merupakan index dari field harga dengan ketentuan pengurutannya secara menurun (descending). Jika telah selesai, simpan table tersebut.
Untuk bagian Pengurutan Berdasarkan gunakan RadioGroup. Untuk OnClicknya tuliskan perintah berikutkan : Procedure TForm1.RadioGroup1Click(Sender:TObject); begin if (RadioGroup1.ItemIndex=0) then Tbarang.IndexName:= else if (RadioGroup1.ItemIndex=1) then Tbarang.IndexName:=idxBarang else if (RadioGroup1.ItemIndex=2) then Tbarang.IndexName:=IdxHarga; End; Untuk tombol Cari tuliskan perintah berikut : Procedure Tform1.CariClick(Sender:Tobject); Var Ditemukan:Boolean; Begin Ditemukan:=Tbarang.FindKey([Ecari.Text]); if (ditemukan=false) then // atau if not ditemukan then ShowMessage(Data tidak ditemukan); End; Untuk tombol Find Nearest tuliskan perintah berikut : Procedure Tform1.TfindNearestClick(Sender:Tobject); Begin TBarang.FindNearest([Ecari.Text]); End;
Tempatkan sebuah DBGrid dengan mengganti properti DataSource dengan DSPenjualan. Untuk lebih jelas lihat gambar di bawah ini.
TPenjualan DSPenjualan
DSBarang
TSupplier
TBarang
DSSupplier
3. Untuk membuat suatu field Lookup atau Calculated dalam table penjualan, pertama kali sebaiknya dibuat dulu field datanya untuk mempermudah pemrograman dengan mendouble klik Table TPenjualan, atau Klik Kanan di table kemudian pilih Field Editor. 4. Dalam Field Editor, klik kanan kemudian pilih Add All field jika semua field ingin dipakai semua atau pilih Add Field jika ingin memilih field yang akan dipakai.
5. Sekarang buat suatu field baru yang berjenis field lookup untuk Harga barang yang diambil dari table TBarang. Caranya : Double klik Table TPenjualan Klik kanan pada field editor kemudian pilih New - Field sehingga akan muncul layar seperti berikut :