PEMROGRAMAN VISUAL - jogjaprov.go.id
Transcript of PEMROGRAMAN VISUAL - jogjaprov.go.id
PEMROGRAMAN VISUAL
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN ILMU KOMPUTER
E L R A H M A YOGYAKARTA
2008
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
1
BAB I
Mengenal Borland Delphi, layar serta control yang ada
Borland Delphi adalah salah satu developement tools untuk membangun aplikasi dalam lingkungan Windows. Dalam pengembangan aplikasi, Borland Delphi menggunakan pendekatan Visual untuk merancang user interface dalam bentuk form, sedangkan untuk kodingnya menggunakan dialek bahasa Pascal yang cenderung mudah dipelajari. Borland Delphi telah menjadi tools yang terkenal bagi para pemula maupun para developer.
Dalam lingkungan Window's User-interface sangat memegang peranan penting, karena dalam pemakaian aplikasi yang kita buat, pemakai senantiasa berinteraksi dengan User-interface tanpa menyadari bahwa dibelakangnya berjalan instruksi-instruksi program yang mendukung tampilan dan proses yang dilakukan.
Pada pemrograman Visual, pengembangan aplikasi dimulai dengan pembentukkan user interface, kemudian mengatur properti dari objek-objek yang digunakan dalam user interface, dan baru dilakukan penulisan kode program untuk menangani kejadian-kejadian (event). Tahap pengembangan aplikasi demikian dikenal dengan istilah pengembangan aplikasi dengan pendekatan Bottom Up
IDE Borland Delphi
Pertama kali yang perlu dilakukan dalam belajar Visual Basic adalah mengenal IDE (Integrated Developement Environment) dari Borland Delphi yang merupakan Lingkungan Pengembangan Terpadu bagi programmer dalam mengembangkan aplikasinya. Dengan menggunakan IDE programmer dapat membuat user interface, melakukan koding, melakukan testing dan debuging serta menkompilasi program menjadi executable. Penguasaan yang baik akan IDE akan sangat membantu programmer dalam mengefektifkan tugas-tugasnya sehingga dapat bekerja dengan efisien.
Menjalankan Borland Delphi
Ada beberapa cara untuk mengaktifkan IDE dari Borland Delphi, diantaranya adalah melalui tombol menu Start, Programs, Borland Delphi 7, Delphi 7 (Sesuai Versinya) Seperti aplikasi Windows umumnya, kita dapat juga mengaktifkan IDE Borland Delphi dengan
klik dua kali Shortcut Borland Delphi yang ada pada desktop, atau dengan klik dua kali file
project yang ekstensi filenya : *.prj melalui Windows Explorer.
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
2
Jendela IDE
IDE Borland Delphi 7 menggunakan model SDI (Single Document Interface). Berikut ini adalah gambar yang menunjukan bagian-bagian dan nama-nama jendela yang dapat tampil pada IDE Borland Delphi. Masing-masing jendela dapat ditampilkan, dapat pula ditutup sesuai dengan kebutuhan dengan menggunakan menu view.
1. Baris Menu 2. Object TreeView 3. Baris Toolbar 4. Komponen Palete 5. Objek Form 6. Jendela Alignment Palete 7. Jendela Project Manager 8. Jendela Object Inspector 9. Jendela Code Explorer 10. Jendela To Do List 11. Jendela Browser (Exploring Clases)
1 3 4 5 6 7
8 9 10 11
2
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
3
Tidak semua jendela di atas kita gunakan, kita akan mencoba membahas beberapa saja. 1. Baris Menu
Sebagaimana umumnya program di windows, baris menu disini berisi menu-menu pilihan yang digunakan untuk mengoperasikan aplikasi. Menu File berisi operasi-operasi yang berhubungan dengan file, misalkan membuka, menutup, menyimpan, dan sebagainya. Menu Edit berisi pilihan-pilihan yang berhubungan dengan editing kode dan desain tampilan form, misalnya menggandakan, memindah,memilih, menghapus, mengatur posisi, dan sebagainya. Menu Search berisi pilihan-pilihan untuk mencari/mengganti suatu kata atau ekspresi di dalam kode. Menu View berisi pilihan yang digunakan untuk menampilkan beberapa jendela/fasilitas yang ada di Borland Delphi. Menu Project berisi pilihan-pilihan yang berhubungan dengan project yang kita buat. Misalnya menambah form kedalam project, atau menghapus form dari project. Menu Run berisi pilihan-pilihan yang digunakan dalam menjalankan suatu project Menu Component berisi pilihan-pilihan untuk menginstall/mengimport/mengkonfigurasi (paket) komponen serta palette yang digunakan suatu project. Menu Database, Tools, Window berisi pilihan-pilihan yang berhubungan dengan alat-alat yang digunakan untuk melakukan penyimpanan data serta tool yang lain yang diperlukan juga pilihan-pilihan untuk mengaktifkan jendela yang terbuka di Borland Delphi.
2. Object Treeview Semua objek/kontrol yang terdapat di dalam form yang aktif akan ditampilkan pada jendela ini dengan tampilan struktur tree.
3. Baris Toolbar Toolbar juga banyak terdapat di aplikasi-aplikasi Windows yang digunakan untuk mengoperasikan program sebagaimana baris menu, tetapi dengan cara yang lebih cepat (shortcut).
4. Komponen Palete Seorang ahli masak, ketika memasak tentunya menggunakan peralatan untuk memasak seperti kompor, open, wajan, dsb. Begitu juga seorang programmer Visual mempunyai peralatan di dalam mendesain user interface suatu program. Peralatan-peralatan tersebut di delphi terdapat di dalam component palete. Jika peralatan tersebut belum terpasang, programmer bisa menambahkannya dengan memasang komponen baru.
5. Objek Form Objek Form merupakan objek dasar dari suatu jendela di dalam pemrograman Visual yang berbasis Objek. Pada objek form ini diletakkan objek ataupun kontrol-kontrol yang lain semacam kotak teks, tombol, kotak daftar, dan sebagainya. Ibarat kanvas yang digunakan seorang pelukis, maka objek form digunakan programmer untuk meletakkan objek-objek tambahan yang diperlukan oleh suatu aplikasi .
6. Jendela Alignment Palete Jendela ini digunakan untuk mengatur perataan antar suatu objek di dalam form.
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
4
7. Jendela Project Manager Pada jendela ini akan ditampilkan semua form, unit yang terdapat di dalam project beserta file-file yang terkait begitu juga tempat penyimpanannya. Sebuah project merupakan sekumpulan file yang kita gunakan untuk membangun sebuah aplikasi.
8. Jendela Object Inspector Setiap obyek mempunyai properti tertentu, yang settingnya mengontrol tampilan dan ulah obyek dalam suatu aplikasi. Beberapa properti terbatas pada nilai tertentu. Contoh : properti visible dari suatu obyek hanya bisa diset True atau False (obyek tampak atau tidak). Setting properti obyek bisa dilakukan saat desain maupun saat aplikasi dijalankan. Jendela Object Inspector berisi properti dari suatu object yang terpilih
9. Jendela Code Explorer Selain mendesain user interface dari suatu form, seorang programmer tentunya harus mengontrol objek-objek yang digunakan di dalam form dengan melakukan pengkodean. Untuk menuliskan kode program di Borland Delphi digunakan jendela Code Explorer. Kode program disimpan di dalam file-file unit. Jendela ini mempunyai dua bagian. Sebelah kiri berisi daftar objek, variabel, konstanta, unit, dan sebagainya yang digunakan di dalam program dan ditampilkan dengan struktur tree. Sedangkan pada sebelah kanan terdapat bagian dimana kita bisa menuliskan kode program.
10. Jendela To Do List Sesuai namanya, jendela ini berisi daftar pesan yang harus dikerjakan
11. Jendela Browser (Exploring Clases) Jendela ini digunakan untuk melakukan eksplorasi terhadap klas yang digunakan di dalam project.
Kontrol pada Borland Delphi
Kontrol di sini merupakan obyek hubungan dengan pemakai. Obyek-obyek ini tujuannya untuk
interaksi antara program dengan pemakai. Obyek ini dapat berupa suatu tools yang digunakan
untuk suatu input maupun output, atau hanya sebagai pesan yang ditampilkan ke layar (bersifat
statis).
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
5
A. Button
Fungsi : menjalankan suatu tindakan jika pemakai telah melakukan pilihan dengan tombol
ini.
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
6
B. Label
Fungsi : digunakan untuk menampilkan tulisan pada form. Pemakai tidak dapat merubah tulisan
tersebut secara langsung.
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
7
C. EditBox
Fungsi : digunakan sebagai tempat input atau juga untuk menampilkan teks, dan pemakai dapat
merubah teks yang terdapat dalam kontrol ini.
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
8
D. ListBox
Fungsi : menampilkan beberapa item, dan dari kontrol ini item-item tersebut dapat dipilih. Scroll
Bar dapat digunakan untuk menggulung pilihan yang tidak dapat ditampilkan semuanya.
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
9
E. ComboBox
Fungsi : merupakan kombinasi antara textbox dengan listbox. Dengan demikian pemilihan item
dapat dilakukan dari listbox atau dengan mengetik langsung pada textbox.
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
10
F. GroupBox
Fungsi : mengelompokkan control-control secara visual atau secara tindakan.
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
11
G. CheckBox
Fungsi : menampilkan keadaan True/False atau Yes/No. Beberapa control ini dapat memiliki
keadaan yang sama pad suatu saat.
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
12
H. Radio Button
Fungsi : sama seperti check box. Perbedaannya hanya satu control dari beberapa control ini
dapat di ON-kan. Jika control dengan tipe yang sama lainnya di-ON-kan, maka control tipe ini
yang sebelumnya On akan di-Off-kan.
Praktikum : Buatlah aplikasi baru dengan memilih menu File, New, Application. Tambahkan beberapa objek. Kemudian lakukan eksplorasi terhadap properti dan event dari masing-masing objek
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
13
BAB II
MENGHITUNG LUAS SEGI TIGA
Bahasan: Program Menghitung Luas Segi Tiga
Tujuan: 1. Mahasiswa Dapat Membuat Aplikasi Perhitungan Dengan Delphi
A. MENDESAIN FORM
Untuk membuat program menghitung luas segitiga ini, kita membutuhkan sebuah form. Namun anda juga bisa membuatnya bersama proyek yang baru. Kemudian anda masukan beberapa komponen diantaranya Label sebanyak empat buah, Edit sebanyak tiga buah dan Button sebanyak dua buah. Anda atur posisinya sehingga terlihat seperti pada Gambar 2.1.
Gambar 2.1. Jendela Desain Form.
B. MENGUBAH PROPERTI
Dengan menggunakan Object Inspector, ubahlah properti dari komponen yang ada dengan ketentuan sebagai berikut :
Nama Objek Properti Yang Diubah Nilai
Form1 : TForm1 Caption Mata Matiku...
Label1 : TLabel1 Caption Font : Size
Menghitung Luas Segitiga 15
Label2 : TLabel2 Caption Alas:
Label3 : TLabel3 Caption Tinggi:
Label4 : TLabel4 Caption Luas:
Edit1 : TEdit1 Text (Kosongkan)
Edit2 : Tedit2 Text (Kosongkan)
Edit3 : Tedit3 Text (Kosongkan)
Button1 : TButton1 Caption &Hitung
Button2 : Tbutton2 Caption &Tutup
Panel1 : TPanel1 Caption Kosongkan
Jika sudah selesai seharusnya tampilan form anda akan terlihat seperti gambar 2.2.
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
14
Gambar 2.2. Tampilan Hasil Perubahan Properti.
C. MEMASUKAN KODE
Agar desain program yang telah kita buat bisa berfungsi sebagaimana mestinya, tentunya kita harus memasukkan kode kedalam objek tersebut. Anda cukup memasukan kode untuk Button1 dan Button2 saja. Berikut ini kode sumbernya:
procedure TForm1.Button1Click(Sender: TObject);
var alas,tinggi,luas: real;
begin
// cek apakah input sudah diisi ?
IF edit1.text='' THEN
Begin
MessageDlg('Alas masih kosong',mtInformation,[mbOK],0);
edit1.setfocus;
End
ELSE IF edit2.text='' THEN
Begin
MessageDlg('Tinggi masih kosong',mtInformation,[mbOK],0);
edit2.setfocus;
End
ELSE
// jika sudah :
Begin
alas:=STRtoFLOAT(edit1.text);
tinggi:=STRtoFLOAT(edit2.text);
luas:=0.5*alas*tinggi;
edit3.text:=FLOATtoSTR(luas);
Edit3.Text:='Bukan Bilangan';
End;
End;
Sedangkan untuk kode Button2 adalah sebagai berikut :
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
Sehingga kode lengkapnya akan terlihat seperti dibawah ini:
unit Usegi3;
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
15
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
Edit3: TEdit;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Button1Click(Sender: TObject);
var alas,tinggi,luas: real;
begin
// cek apakah input sudah diisi ?
IF edit1.text='' THEN
Begin
MessageDlg('Alas masih kosong',mtInformation,[mbOK],0);
edit1.setfocus;
End
ELSE IF edit2.text='' THEN
Begin
MessageDlg('Tinggi masih kosong',mtInformation,[mbOK],0);
edit2.setfocus;
End
ELSE
// jika sudah :
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
16
Begin
alas:=STRtoFLOAT(edit1.text);
tinggi:=STRtoFLOAT(edit2.text);
luas:=0.5*alas*tinggi;
edit3.text:=FLOATtoSTR(luas);
Edit3.Text:='Bukan Bilangan';
End;
end;
end.
D. LATIHAN
- Modifikasi program diatas, sehingga ketika user menginputkan nilai alas dan tinggi tidak berupa angka, program bisa menghandlenya.
- Buatlah program baru seperti diatas, misalkan untuk menghitung luas lingkaran, volume tabung, dan sebagainya.
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
17
BAB III
TERBILANG
Bahasan: Penggunaan Fungsi Dalam Delphi
Tujuan: 1. Mahasiswa Dapat Membuat Fungsi Untuk Setiap Permasalahan Dalam Delhi
A. DESAIN FORM
Sekarang kita mencoba membuat sebuah aplikasi untuk menampilkan keterangan bilangan yang dimasukan. Misalkan ketika user atau pengguna mengetik angka 1, maka akan muncul tulisan Satu.
Berikut ini contoh desainnya:
Gambar 3.1. Contoh Tampilan Desain Form.
B. UBAH PROPERTI
Untuk memperindah tampilan, ubahlah properti masing-masing dengan ketentuan sebagai berikut:
Nama Object Properti Nilai
Label1 Caption Size
Terbilang 20
Label2 Caption Angka:
Panel1 Caption (dikosongkan)
BitBtn1 Caption Glyph
&Cek (Tbitmap)
BitBtn2 Kind bkClose
Form1 Caption Kubilang Terbilang...
Edit1 Text (dikosongkan)
Untuk menambahkan icon pada BitBtn1, langkah yang harus anda lakukan adalah:
1. Aktifkan komponen Bitbtn1, sehingga tampil propertinya pada Object Inspector
2. Pada Tab Propeties pilih baris Glyph, kemudian klik tombol 3. Tunggu hingga muncul jendela Picture Editor.
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
18
Gambar 3.2. Jendela Picture Editor.
4. Klik tombol Load... 5. Ketik muncul jendela berikutnya, pastikan anda aktifkan foder : C:\Program Files\Common Files\Borland
Shared\Images\Button, pada bagian Look in: 6. Pilih Check.bmp 7. Klik tombol Open hingga kembali kejendela semula 8. Klik tombol OK.
Gambar 3.3. Jendela Picture Editor Pemilihan Image
Jika langkah yang anda lakukan sudah tepat maka form anda akan terlihat seperti dibawah ini:
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
19
Gambar 3.4. Tampilan Form Setelah Perubahan
C. PENGKODEAN
9. CARA SEDERHANA
Untuk cara sederhana ini, kita hanya menyeleksi setiap angka pertama yang dimasukan dengan seleksi Case Of. Sebenarnya kita bisa juga menyeleksi dengan IF Then, namun akan membutuhkan lebih banyak pengkodean. Aktifkan Tombol Cek, dari Object Inspector di tab Events pada event OnClick() anda ketik kode berikut ini:
procedure TForm1.BitBtn1Click(Sender: TObject);
Var Digit1 : Char;
begin
Digit1 := Edit1.Text[1];
Case Digit1 Of
'0' : Panel1.caption := 'Nol';
'1' : Panel1.caption := 'Satu';
'2' : Panel1.caption := 'Dua';
'3' : Panel1.caption := 'Tiga';
'4' : Panel1.caption := 'Empat';
'5' : Panel1.caption := 'Lima';
'6' : Panel1.caption := 'Enam';
'7' : Panel1.caption := 'Tujuh';
'8' : Panel1.caption := 'Delapan';
'9' : Panel1.caption := 'Sembilan';
End;
end;
Untuk memeriksa apakah program kita bisa berjalan dengan baik atau tidak, sekarang coba anda jalankan program tersebut dengan menekan tombol F9. Kemudian anda isikan angka pada kotak isian dan klik tombol Cek.
10. DENGAN FUNGSI
Cara yang lebih efektif, untuk menerjemahkan banyak angka adalah dengan membuat sebuah fungsi. Fungsi ini harus anda letakkan dibagian bawah dari Implementation.
Function TERBILANG( n : longint) : String;
Const
Bil : Array[0..11] Of String[15] =
('','Satu','Dua','Tiga','Empat','Lima',
'Enam','Tujuh','Delapan','Sembilan','Sepuluh','Sebelas');
Begin
Case n Of
0..11 : Result := Bil[n];
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
20
12..19 : Result := Terbilang(n-10) + ' Belas';
20..99 : Result := Terbilang(n div 10) + ' Puluh ' + Terbilang(n mod 10);
100..199 : Result := 'Seratus ' + Terbilang(n-100);
200..999 : Result := Terbilang(n div 100) + ' Ratus ' + Terbilang(n mod 100);
1000..1999: Result := 'Seribu ' + Terbilang(n-1000);
2000..9999: Result := Terbilang(n div 1000) + ' Ribu ' + Terbilang(n mod 1000);
End;
//form1.caption := inttostr(n)
End; Kemudian anda hapus dan ganti kode yang ada ditombol check sehingga menjadi sebagai berikut:
procedure TForm1.BitBtn1Click(Sender: TObject);
Var Digit1 : Char;
begin
If Edit1.text<>'' Then
Begin
If Edit1.text='0' Then Panel1.Caption:='Nol'
Else Panel1.Caption:= TERBILANG(STRtoINT(Edit1.text));
End
Else
Panel1.Caption:='Kosong';
end;
Berikut ini Contoh Aplikasi yang sedang di RUN.
Gambar 3.4. Contoh Form Yang Sedang Dijalankan
D. LATIHAN DAN TUGAS
1. Buat supaya keterangan tampil ketika kita sedang mengetik angkanya (tanpa mengklik tombol cek) 2. Tambahkan pengkodean sehingga program bisa menghandle hingga bilangan Triliunan.
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
21
BAB IV
MENU
A. DESAIN FORM
Untuk membuat sebuah form bermenu caranya sangat mudah sekali yaitu : 1. Buat sebauh aplikasi baru 2. Tambahkan sebuah MainMenu pada form anda.
Gambar 4.1. Rancangan Form Bermenu.
3. Double klik pada komponen MainMenu yang ada pada form, tunggu hingga muncul jendela baru 4. Isi Properti Caption pada Object Inspector dengan : &Berkas, sehingga akan terlihat seperti Gambar 4.2
Gambar 4.2. Penambahan Menu Berkas
5. Klik tombol kosong yang ada dibawah tulisan Berkas pada form, kemudian anda tambahkan Caption dengan
&Keluar 6. Klik tanda titik-titik yang membentuk kotak kosong dengan disebelah kanan menu Berkas, kemudian anda ubah
Captionnya dengan &Warna. 7. Berturut-turut anda buatkan 3 buah sub menu baru dibawah menu Warna dengan Caption masing-masing
Hitam, Putih, Standar. 8. Kemudian anda tambahkan menu Help, disamping kanan Warna. 9. Dibawah menu Help, anda tambahkan dua sub menu dengan Caption Program, - , Tentang.
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
22
10. Tutup Form rancangan menu tersebut sehingga kita kembali aktif di Form yang pertama dan perhatikan perubahan yang terjadi.
Gambar 3.4. Tampilan Setelah Penambahan Menu
B. PENGKODEAN
Tambahkan pengkodean sehingga seluruh kodenya akan terlihat seperti dibawah ini:
unit Umenu;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
Berkas1: TMenuItem;
Keluar1: TMenuItem;
Warna1: TMenuItem;
Hitam1: TMenuItem;
Putih1: TMenuItem;
Standar1: TMenuItem;
Help1: TMenuItem;
Program1: TMenuItem;
N1: TMenuItem;
Tentang1: TMenuItem;
procedure Keluar1Click(Sender: TObject);
procedure Hitam1Click(Sender: TObject);
procedure Putih1Click(Sender: TObject);
procedure Standar1Click(Sender: TObject);
procedure Program1Click(Sender: TObject);
procedure Tentang1Click(Sender: TObject);
private
{ Private declarations }
public
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
23
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Keluar1Click(Sender: TObject);
begin
if Application.MessageBox(
'Apakah anda yakin keluar program ? ',
'Keluar Program',36) = 6 then
Close;
end;
procedure TForm1.Hitam1Click(Sender: TObject);
begin
Form1.Color := clBlack;
end;
procedure TForm1.Putih1Click(Sender: TObject);
begin
Form1.Color := clWhite;
end;
procedure TForm1.Standar1Click(Sender: TObject);
begin
Form1.Color := clLtGray;
end;
procedure TForm1.Program1Click(Sender: TObject);
begin
Application.MessageBox('Program Menu-Menuan v.0.1'+#13+#13+'Oleh : Mas UunS',
'Tentang Program',64);
end;
procedure TForm1.Tentang1Click(Sender: TObject);
begin
Application.MessageBox('Nama : Mas UunS''+#13+
'Alamat : Yogyakarta'+#13+
'Phone : 08882719341,'Programmer...',64);
end;
end.
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
24
BAB V
GRAFIK
A. DESAIN FORM
Delphi menyediakan Canvas untuk tempat penggambaran. Canvas memiliki Pen, Brush, Color yang dapat digunakan untuk menggambar. Selain itu juga mempunya method MoveTo, LineTo, Circle, Ellipse dan lain-lain yang memungkinkan programmer menggambar bentuk-bentuk primitif dengan mudah. Berikut ini adalah tabel method pokok pada Canvas:
Level Operasi Tools
Menggambar garis dan bentuk MoveTo, LineTo, Rectangle, dan Ellipsi
Menampilkan teks TextOut, TextHeight, TextWidth, dan TextRext method
Tinggi
Arsiran FillRect dan FloodFill
Mengubah grafik/teks Pen, Brush, dan Font property
Manipulasi pixel Pixels property
Sedang
Menyalin dan menggabung gambar Draw, StrectDraw, BrushCopy, CopyRect method dan CopyMode property
Rendah Call fungsi-fungsi Windows GDI Handle property
Pada bagian ini kita akan mempelajari bagaimana bentuk-bentuk dasar (primitif) grafik yang didukung oleh delphi.
Titik, garis, persegi, dan elips adalah contoh bentuk dasar grafik, yang daripadanya dapat digambar bentuk yang lebih kompleks.
Berikut ini desain formnya:
Gambar 5.1. Desain Form Grafik.
Kemudian anda ubah propertinya dari Object Inspector:
Nama Object Property Nilai
Label1 Caption Size
Primitif Gambar 15
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
25
Label2 Caption X1
Label3 Caption Y1
Label4 Caption X2
Label5 Caption Y2
Button1 Caption &Garis
Button2 Caption &Persegi
Button3 Caption &Elips
Button4 Caption &Acak
Button5 Caption &Rumah
Button6 Caption &Mobil
Button7 Caption &Bunga
Button8 Caption &Kubus
Button9 Caption &Hapus
Button10 Caption &Warna
Button11 Caption &Selesai
PaintBox1
ColorDialog1
Edit1 Text 0
Edit2 Text 0
Edit3 Text 200
Edit4 Text 100
Form1 Caption Gambar Gambaran...
Jika perubahan property anda benar, maka form anda akan terlihat seperti dibawah ini:
Gambar 5.2. Desain Form Setelah Perubahan.
B. SOURCE CODE
Berikut ini kode untuk tombol Garis, Persegi, Elips, Acak, Hapus, Warna, Rumah dan Selesai. unit Ugrafik; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls;
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
26
type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButton; Button8: TButton; ColorDialog1: TColorDialog; PaintBox1: TPaintBox; Button9: TButton; Button10: TButton; Button11: TButton; procedure Button1Click(Sender: TObject); procedure Button11Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button9Click(Sender: TObject); procedure Button10Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button5Click(Sender: TObject); private { Private declarations } public
a,b,c,d : Integer;
{ Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin
a:=STRtoINT(edit1.text);
b:=STRtoINT(edit2.text);
c:=STRtoINT(edit3.text);
d:=STRtoINT(edit4.text);
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
27
PaintBox1.Canvas.MoveTo(a,b);
PaintBox1.Canvas.LineTo(c,d);
end; procedure TForm1.Button11Click(Sender: TObject); begin
close;
end; procedure TForm1.Button2Click(Sender: TObject); begin
a:=STRtoINT(edit1.text);
b:=STRtoINT(edit2.text);
c:=STRtoINT(edit3.text);
d:=STRtoINT(edit4.text);
PaintBox1.Canvas.Rectangle(a,b,c,d);
end; procedure TForm1.Button3Click(Sender: TObject); begin
a:=STRtoINT(edit1.text);
b:=STRtoINT(edit2.text);
c:=STRtoINT(edit3.text);
d:=STRtoINT(edit4.text);
PaintBox1.Canvas.Ellipse(a,b,c,d);
end; procedure TForm1.Button4Click(Sender: TObject);
Var i : integer;
begin
For i:=1 to 1000 Do
Begin
PaintBox1.Canvas.Pixels[Random(PaintBox1.Width),
Random(PaintBox1.height)]:=
RGB(Random(256),Random(256),Random(256));
Application.ProcessMessages;
End;
end; procedure TForm1.Button9Click(Sender: TObject); begin
paintBox1.Hide;
PaintBox1.Show;
end; procedure TForm1.Button10Click(Sender: TObject); begin
ColorDialog1.Execute;
PaintBox1.Color := ColorDialog1.Color;
end; procedure TForm1.FormCreate(Sender: TObject);
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
28
begin
PaintBox1.Canvas.Pen.Color := clBlack;
end; procedure TForm1.Button5Click(Sender: TObject);
Var tinggi,lebar,atap,tengah :integer;
begin
lebar := PaintBox1.Width;
tengah:= lebar div 2;
tinggi:= PaintBox1.Height;
atap := tinggi div 3;
// gambar atap:
PaintBox1.Canvas.MoveTo(0,atap);
PaintBox1.Canvas.LineTo(lebar,atap);
PaintBox1.Canvas.LineTo(lebar - lebar div 4,0);
PaintBox1.Canvas.LineTo(lebar div 4,0);
PaintBox1.Canvas.LineTo(0,atap);
// gambar dinding:
PaintBox1.Canvas.MoveTo(lebar div 4,atap);
PaintBox1.Canvas.LineTo(lebar div 4,tinggi -1);
PaintBox1.Canvas.LineTo(lebar - lebar div 4,tinggi -1);
PaintBox1.Canvas.LineTo(lebar - lebar div 4,atap);
// gambar pintu:
with PaintBox1.canvas DO
Begin
Pen.Color := clBlue;
Pen.Width := 5;
MoveTo(tengah - lebar div 8, tinggi -1);
LineTo(tengah + lebar div 8, tinggi -1);
LineTo(tengah + lebar div 8, tinggi div 2);
LineTo(tengah - lebar div 8, tinggi div 2);
LineTo(tengah - lebar div 8, tinggi -1);
MoveTo(tengah, tinggi -1);
LineTo(tengah, tinggi div 2);
Pen.Color := clBlack;
Pen.Width := 1;
End; end; end.
C. LATIHAN
1. Lengkapi program diatas untuk tombol Mobil, Bunga, dan Kubus ! 2. Lengkapi pula fasilitas program untuk mengganti warna garis ! 3. Buat aplikasi sederhana semacam PaintBrush milik Windows !
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
29
BAB V
APLIKASI JAM DIGITAL DAN ANALOG
A. DESAIN FORM
Dengan menggunakan komponen MainMenu, StaticText serta Timer dan PaintBox, buatlah desain form seperti dibawah ini:
Gambar 5.1. Desain Form Jam.
Susunan menu sebagai berikut :
Tampilan Set Help
Nama Komponen Properti Nilai
Form1 Caption Jam Jaman...
MainMenu1.Analog1 Caption &Analog
MainMenu1.Digital1 Caption Checked
&Digital True
MainMenu1.Jalan1 Caption Checked
&Jalan True
MainMenu1.Berhenti1 Caption &Berhenti
MainMenu1.Tentang1 Caption &Tentang
StaticText1 Name Font.Size Font.Name
lblJAM 72 Garamond
Timer1 Interval 100
PaintBox1
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
30
B. SOURCE CODE
Seperti halnya dialam pascal, dalam program delphi ini kita juga bisa membuat prosedur sendiri. Caranya ketik dahulu Header prosedur yang akan dibuat (Bagian kepala prosedur) dan tempatkan dibagian private atau public. Misalkan kita ingin membuat prosedur BingkaiJam, JamDigital, dan JamAnalog maka anda harus mengetikkannya pada bagian private sehingga terlihat sebagai berikut:
xjam,yjam,xmen,ymen,xdet,ydet : integer; procedure JamAnalog(Sender : TObject);
procedure JamDigital(Sender : TObject);
procedure BingkaiJam;
Kemudian anda ketik isi prosedur tersebut dibagian implementation:
procedure TForm1.JamAnalog(Sender : TObject);
Var AmpJam,AmpMen,AmpDet,Jam,Men,Det,Det100 : word;
Begin
// Gambar Jam:
SetMapMode(paintbox1.Canvas.Handle, MM_LOMETRIC);
SetViewPortOrgEx(PaintBox1.Canvas.Handle, PaintBox1.Width div 2,
PaintBox1.Height div 2, nil);
If (PaintBox1.Height<PaintBox1.Width) Then
AmpDet := PaintBox1.Height div 2 -10
Else
AmpDet := PaintBox1.Width div 2 -10;
// Set Panjang Jarum Jam,Menit, dan Detik
AmpDet := AmpDet*3 div 2;
AmpMen := AmpDet-20;
AmpJam := AmpMen-30;
DecodeTime(Time,Jam,Men,Det,Det100); // catat waktu ini
With PaintBox1.Canvas DO
Begin
Pen.Color := clBtnFace;
MoveTo(0,0); LineTo(xdet,ydet);
MoveTo(0,0); LineTo(xmen,ymen);
MoveTo(0,0); LineTo(xjam,yjam);
xdet := Round(AmpDet*cos(DegToRad(90-det*6)));
ydet := Round(AmpDet*sin(DegToRad(90-det*6)));
xmen := Round(AmpMen*cos(DegToRad(90-men*6)));
ymen := Round(AmpMen*sin(DegToRad(90-men*6)));
xJam := Round(AmpJam*cos(DegToRad(90-jam*30)));
yJam := Round(AmpJam*sin(DegToRad(90-jam*30)));
// Gambar Jarum Detik:
Pen.Color := clRed;
MoveTo(0,0); LineTo(xdet,ydet);
// Gambar Jarum Menit:
Pen.Color := clBlack;
MoveTo(0,0); LineTo(xmen,ymen);
// Gambar Jarum Jam
MoveTo(0,0); LineTo(xjam,yjam);
End;
End;
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
31
procedure TForm1.JamDigital(Sender:TObject);
Begin
lblJam.Caption := TIMEtoSTR(Time);
End;
procedure TForm1.BingkaiJam;
Var Amp,Amp1,i :integer;
Begin
// Gambar Jam:
SetMapMode(paintbox1.Canvas.Handle, MM_LOMETRIC);
SetViewPortOrgEx(PaintBox1.Canvas.Handle, PaintBox1.Width div 2,
PaintBox1.Height div 2, nil);
If (PaintBox1.Height<PaintBox1.Width) Then
Amp := PaintBox1.Height div 2 -10
Else
Amp := PaintBox1.Width div 2 -10;
// Set Panjang Jarum Jam,Menit,Detik:
Amp := Amp*3 div 2;
Amp1 := Amp - 10;
For i:=0 to 60 Do
Begin
If (i mod 5 )=0 Then PaintBox1.Canvas.Pen.Color := clRed
Else PaintBox1.Canvas.Pen.Color := clBlack;
PaintBox1.Canvas.MoveTo(Round(Amp*cos(i/30*pi)),Round(Amp*sin(i/30*pi)));
PaintBox1.Canvas.LineTo(Round(Amp*cos(i/30*pi)),Round(Amp*sin(i/30*pi)));
End;
End;
Sehingga kode lengkapnya terlihat sebagai berikut: unit Ujam; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, ExtCtrls, Math; type TForm1 = class(TForm) MainMenu1: TMainMenu; Tampilan1: TMenuItem; Analog1: TMenuItem; Digital1: TMenuItem; Set1: TMenuItem; Help1: TMenuItem; N1: TMenuItem; Selesai1: TMenuItem; Jalan1: TMenuItem; Berhenti1: TMenuItem; Tentang1: TMenuItem; Timer1: TTimer; PaintBox1: TPaintBox; lblJAM: TStaticText;
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
32
procedure Analog1Click(Sender: TObject); procedure Digital1Click(Sender: TObject); procedure FormActivate(Sender: TObject); procedure Selesai1Click(Sender: TObject); procedure Jalan1Click(Sender: TObject); procedure Berhenti1Click(Sender: TObject); procedure Tentang1Click(Sender: TObject); private { Private declarations }
xjam,yjam,xmen,ymen,xdet,ydet : integer;
procedure JamAnalog(Sender : TObject);
procedure JamDigital(Sender : TObject);
procedure BingkaiJam;
public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM}
procedure TForm1.JamAnalog(Sender : TObject);
Var AmpJam,AmpMen,AmpDet,Jam,Men,Det,Det100 : word;
Begin
// Gambar Jam:
SetMapMode(paintbox1.Canvas.Handle, MM_LOMETRIC);
SetViewPortOrgEx(PaintBox1.Canvas.Handle, PaintBox1.Width div 2,
PaintBox1.Height div 2, nil);
If (PaintBox1.Height<PaintBox1.Width) Then
AmpDet := PaintBox1.Height div 2 -10
Else
AmpDet := PaintBox1.Width div 2 -10;
// Set Panjang Jarum Jam,Menit, dan Detik
AmpDet := AmpDet*3 div 2;
AmpMen := AmpDet-20;
AmpJam := AmpMen-30;
DecodeTime(Time,Jam,Men,Det,Det100); // catat waktu ini
With PaintBox1.Canvas DO
Begin
Pen.Color := clBtnFace;
MoveTo(0,0); LineTo(xdet,ydet);
MoveTo(0,0); LineTo(xmen,ymen);
MoveTo(0,0); LineTo(xjam,yjam);
xdet := Round(AmpDet*cos(DegToRad(90-det*6)));
ydet := Round(AmpDet*sin(DegToRad(90-det*6)));
xmen := Round(AmpMen*cos(DegToRad(90-men*6)));
ymen := Round(AmpMen*sin(DegToRad(90-men*6)));
xJam := Round(AmpJam*cos(DegToRad(90-jam*30)));
yJam := Round(AmpJam*sin(DegToRad(90-jam*30)));
// Gambar Jarum Detik:
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
33
Pen.Color := clRed;
MoveTo(0,0); LineTo(xdet,ydet);
// Gambar Jarum Menit:
Pen.Color := clBlack;
MoveTo(0,0); LineTo(xmen,ymen);
// Gambar Jarum Jam
MoveTo(0,0); LineTo(xjam,yjam);
End;
End;
procedure TForm1.JamDigital(Sender:TObject);
Begin
lblJam.Caption := TIMEtoSTR(Time);
End;
procedure TForm1.BingkaiJam;
Var Amp,Amp1,i :integer;
Begin
// Gambar Jam:
SetMapMode(paintbox1.Canvas.Handle, MM_LOMETRIC);
SetViewPortOrgEx(PaintBox1.Canvas.Handle, PaintBox1.Width div 2,
PaintBox1.Height div 2, nil);
If (PaintBox1.Height<PaintBox1.Width) Then
Amp := PaintBox1.Height div 2 -10
Else
Amp := PaintBox1.Width div 2 -10;
// Set Panjang Jarum Jam,Menit,Detik:
Amp := Amp*3 div 2;
Amp1 := Amp - 10;
For i:=0 to 60 Do
Begin
If (i mod 5 )=0 Then PaintBox1.Canvas.Pen.Color := clRed
Else PaintBox1.Canvas.Pen.Color := clBlack;
PaintBox1.Canvas.MoveTo(Round(Amp*cos(i/30*pi)),Round(Amp*sin(i/30*pi)));
PaintBox1.Canvas.LineTo(Round(Amp*cos(i/30*pi)),Round(Amp*sin(i/30*pi)));
End;
End;
procedure TForm1.Analog1Click(Sender: TObject); begin
Analog1.Checked := True;
Digital1.Checked := False;
lbljam.visible := false;
Caption := 'Jam Analog';
PaintBox1.Visible := True;
Application.ProcessMessages;
BingkaiJam;
Timer1.OnTimer := JamAnalog;
end; procedure TForm1.Digital1Click(Sender: TObject); begin
Digital1.Checked := True;
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
34
Analog1.Checked := False;
lbljam.visible := True;
Caption := 'Jam Digital';
PaintBox1.Visible := False;
Timer1.OnTimer := JamDigital;
end; procedure TForm1.FormActivate(Sender: TObject); begin
Timer1.OnTimer := JamDigital;
end; procedure TForm1.Selesai1Click(Sender: TObject); begin
Close;
end; procedure TForm1.Jalan1Click(Sender: TObject); begin
Jalan1.Checked := True;
Berhenti1.Checked := False;
Timer1.Enabled := True;
end; procedure TForm1.Berhenti1Click(Sender: TObject); begin
Jalan1.Checked := False;
Berhenti1.Checked := True;
Timer1.Enabled := False;
end; procedure TForm1.Tentang1Click(Sender: TObject); begin
Application.MessageBox('Buatan Orang Muslim !','Jam...',64);
end; End.
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
35
BAB VI
DATA BASE
Bahasan: Data Base Menggunakan Delphi
Tujuan: 1. Mahasiswa Dapat Membuat Aplikasi Basis Data Sekaligus Laporan Dengan Delphi 2. Mahasiswa Dapat Membuat Aplikasi Utuh Dengan Delphi
A. MEMBUAT TABLE
Untuk membuat table dengan menggunakan delphi, anda membutuhkan sebuah program bantual lain yang menjadi satu dengan delphi yaitu Database Desktop.
Cara untuk membuat table, bisa anda lakukan dengan mengikuti langkah-langkah dibawah ini: 3. Dari program delphi, pilih menu Tools | DataBase Desktop. 4. Tunggu beberapa saat hingga muncul jendela Database Desktop.
Gambar 6.1. Jendela Database Desktop.
5. Dari jendela tersebut, anda pilih menu Tools | Alias Manager.
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
36
Gambar 6.2 Jendela Alias Manager.
6. Klik tombol New. 7. Pada isian Database alias: anda ketikkan nama aliasnya misalkan Akademik. 8. Driver type: anda pilih STANDAR. 9. Path: diisi dengan letak penyimpanan tabel anda. Jika anda tidak hapal nama direktorinya, silahkan klik tombol
Browse untuk mencarinya. 10. Klik tombol OK, ketika muncul konfirmasi, anda pilih tombol Yes.
Gambar 6.3. Jendela Konfirmasi.
11. Kemudian anda pilih menu File | Working Directory... 12. Setelah muncul jendela Set Working Directory, anda pilih Akademik pada bagian Aliases: 13. Jika tidak muncul, kemungkinan ada kesalahan ketika anda membuat Alias Manager.
Gambar 6.4. Jendela Working Directory.
14. Klik tombol OK. 15. Pilih menu File | New | Table.
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
37
Gambar 6.5. Jendela Create Table.
16. Ketika muncul jendela Create Table, anda pilih type table Paradox 7, kemudian klik tombol OK 17. Setelah muncul jendela Create Paradox 7 Table, anda buat struktur tabel sebagai berikut:
Gambar 6.6. Jendela Desain Tabel.
18. Klik tombol Save As...
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
38
Gambar 6.7. Jendela Save As
19. Pada isian File name, anda isikan nama tabelnya, misalkan Mhs, sedangkan pada bagain Alias anda pilih Akademik.
20. Klik tombol Save. 21. Buka tabel anda, dengan memilih menu File | Open | Table
Gambar 6.8. Jendela Open.
22. Ketika muncul jendela open, anda pilih table Mahasiswa 23. Pilih menu Table | Edit Data, kemudin anda masukan record seperti dibawah ini:
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
39
Gambar 6.9. Contoh Data Yang Dimasukan Tabel Mahasiswa.
24. Pilih menu File | Close. Ketika muncul konfirmasi penyimpanan, anda pilih yes.
Gambar 6.10. Jendela Konfirmasi.
25. Pilih menu File | Exit, untuk keluar dari program Database Desktop dan kembali ke program Delphi.
B. MENDESAIN FORM
Untuk merancang aplikasi database ini, kita membutuhkan beberapa komponen pallete antara lain: Table, DataSource, DBGrid, dan DBNavigator. Anda bisa menambahkan komponen tersebut dari tab Data Access dan Data Control.
Jangan lupa untuk menambahkan sebuah label dan dua buah Bitbtn. Atur sedemikian rupa sehingga terlihat seperti pada gambar 6.11.
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
40
Gambar 6.11. Rancangan Form DataBase.
Atur propertinya sebagai berikut:
Nama Object Properti Nilai
Form1 BorderStyle Caption
bsDialog Basis Data...
Table1 DatabaseName TableName IndexFieldName Active
Akademik Mahasiswa.db Nim; Nama Mahasiswa True
DataSource1 DataSet Table1
DBGrid1 DataSource DataSource1
DBNavigator1 DataSource DataSource1
Bitbtn1 Caption Glyph
&Laporan report.bmp
Bitbtn2 Kind bkClose
Label1 Caption Font.Name Font.Size
DATABASE MAHASISWA Verdana 20
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
41
Gambar 6.12. Rancangan Form Setelah Perubahan Properti.
Sekarang coba anda jalankan form tersebut.
C. REPORT
Sebelum anda bisa menampilkan laporan terlebih dahulu anda harus mempersiapkan hal dibawah ini: 1. Tambahkan sebuah form baru, dengan memilih menu File | New Form. 2. Dengan menggunakan pallete QReport, masukkan beberapa komponen antara lain:
a. Sebuah QuickRep b. Empat buah QRBand c. Enam buah QRLabel d. Enam buah QRDBtext e. Satu buah Table
3. Ubah propertinya sebagai berikut:
Nama Objek Properti Nilai
Form1 Caption Laporan...
Table1 DatabaseName TableName IndexFieldName Active
Akademik Mahasiswa.db Nim; Nama Mahasiswa True
QRBand1 BandType rbTitle
QRBand2 BandType rbClumnHeader
QRBand3 BandType rbDetail
QRBand4 BandType rbPageFooter
QRLabel1 Caption NIM
QRLabel2 Caption Nama Mahasiswa
QRLabel3 Caption Tempat Lahir
QRLabel4 Caption Tanggal Lahir
QRLabel5 Caption Jurusan
QRLabel6 Caption Alamat
QRDBtext1 DataSet DataField
Table1 Nim
QRDBtext2 DataSet DataField
Table1 Nama Mahasiwa
Pemrograman Visual
STMIK EL RAHMA YOGYAKARTA
42
QRDBtext3 DataSet DataField
Table1 Tempat Lahir
QRDBtext4 DataSet DataField
Table1 Tanggal Lahir
QRDBtext5 DataSet DataField
Table1 Jurusan
QRDBtext6 DataSet DataField
Table1 Alamat
QuickRep1 DataSet ReportTitle
Table1 Laporan Mahasiswa
4. Pastikan Tampilan Form anda akan terlihat seperti berikut :
Gambar 6.13. Tampilan Form Setelah Perubahan.
5. Aktifkan kembali Form1 anda 6. Double Klik pada Bibtn1 (tombol Laporan), kemudian anda ketik:
Form2.QuickRep1.Preview;
7. Tekan tombol F9 8. Ketika muncul konfirmasi, pilih tombol yes
Gambar 6.14. Jendela Konfirmasi.
9. Tekan tombol F9 sekali lagi 10. Sekarang aplikasi anda bisa diuji coba.
D. LATIHAN
1. Lengkapi laporan diatas dengan menambahkan Judul Laporan, Garis pembatas antar data, dan tanggal pencetakan laporan pada bagian footer.
2. Buat sebuah aplikasi utuh dengan menggunakan menu, grafik dan data base seperti yang telah anda buat sebelumnya.