Bab II PROJECT ADDRESS BOOK
2.1. Project Baru
Seperti yang sudah kita pelajari pada bab sebelumnya, untuk membuat project baru salah satunya dengan mengetikkan perintah pada jendela command. Lihat gambar di bawah ini
Gambar 2.1.1. Jendela Command
Untuk membuat project baru, maka kita ketikkan CREATE PROJECT (pada saat kita mengetikkan CREATE, otomatis akan muncul list perintah, ketika sampai PRO akan langsung mengarah ke PROJECT) lalu tekan tombol Enter.
Simpan dengan nama “AddressBook.pjx” di “C:\Latihan\Program\Address Book”. 2.2. Database & Table
Database merupakan tempat penyimpanan data yang kita inputkan. Dapat diibaratkan, Database adalah sebuah lemari dimana didalamnya terdapat laci/bagian-bagian yang kita pergunakan untuk tempat penyimpanan. Laci tersebut kalau dalam Database adalah tabel yang dipergunakan untuk menyimpan data/record.
Membuat Database :
Pada Project Manager – AddressBook, klik tab Data, pilih Databases selanjutnya klik tombol New. Tampil jendela opsi New Database (Database Wizard = membuat database secara otomatis dan New Database = membuat database secara manual) pilih New Database. Tampil jendela Create untuk menyimpan. Simpan dengan nama “dbAddressBook.dbc” di folder “C:\Latihan\Program\Address Book”.
Tampil Database Designer – dbAddressBook. Tutup saja jendela tersebut. Membuat Table :
Setelah membuat database dengan nama dbAddress, selanjutnya kita akan membuat tabel di dalam database tersebut. Caranya :
1. Klik Table di bawah dbAddress pada tab Data di jendela Project Manager – AddressBook seperti tampak pada gambar di bawah ini
Gambar 2.2.1. Jendela Project Manager tab Data
2. Klik tombol New. Tampil jendela opsi New Table (Table Wizard = membuat tabel secara otomatis dan New Table = membuat tabel secara manual) pilih New Table. Tampil jendela Create untuk menyimpan. Simpan dengan nama “tbAddressBook.dbf” di folder “C:\Latihan\Program\Address Book”. Tampil Table Designer – tbAddressBook.dbf.
3. Ketikkan beberapa Field seperti tampak pada gambar di bawah ini.
Gambar 2.2.2. Jendela Table Designer 4. fdfd
2.3. Design Form
Selesai kita menyiapkan tempat untuk menyimpan data/record. Berikutnya kita akan membuat form.
1. Siapkan form baru (lihat pada Bab I). Atur property formnya untuk : AutoCenter = True
Caption = Program Address Book Height = 484
Picture = masukkan gambar untuk background sesuka Anda ShowWindow = 2- As Top-Level Form
Width = 564
2. Tambahkan object Shapes ke dalam form, letakkan di pojok kiri atas. Atur propertynya :
BackColor = pilih warna sesuai selera, misal biru BorderColor = pilih warna sesuai selera, misal putih BorderWidth = 2
Height = 60
Width = 564
3. Tambahkan object Image. Letakkan di dalam object Shapes yang baru saja dibuat di sebelah kiri. Atur property-nya :
BorderColor = Putih
Picture = masukkan gambar sesuai selera yang berukuran kecil Stretch = 2- Stretch
Height = 50
Width = 66
4. Tambahkan object Label. Letakkan disebelah kanan object Image yang masih dalam object Shapes. Atur property-nya :
AutoSize = True
BackStyle = 0- Transparen Caption = Address Book FontBold = True
FontSize = 18 ForeColor = Putih
5. Tambahkan object PageFrame di dalam form di bawah object Shapes. Atur property-nya :
Height = 374
Width = 541
Klik kanan mouse lalu pilih edit Page1 Caption = FRIENDS Page2 Caption = PROFILE
FontBold = semuanya di buat True FontSize = semuanya berikan angka 14
6. Tambahkan object Shapes di dalam page FRIENDS dan PROFILE . Letakkan di pojok kiri atas. Atur property-nya :
BackStyle = 0- Transparen BorderWidth = 2
BorderColor = abu-abu
Height = 322
Width = 530
Untuk mempercepat pembuatan object Shapes tersebut di kedua page, maka tinggal kita klik kanan saja obejct shapes tersebut, pilih copy lalu klik page yang lainnya, klik kanan pilih Paste.
Gambar 2.3.1. Form Designer Atur properties-nya :
AutoSize = semua label dipilih True
BackStyle = semua label di pilih 0- Transparen Label1
FontBold = True FontSize = 14 Label2 Caption = Nama
Label3 Caption = Tempat Lahir Label4 Caption = Tanggal Lahir Label5 Caption = Alamat Image Stretch = 2- Stretch
Gambar 2.3.2. Form Designer Atur properties-nya :
AutoSize = semua label dipilih True
BackStyle = semua label di pilih 0- Transparen Label1 Caption = Hobi
Label2 Caption = Favorite
Label3 Caption = Telepon Rumah Label4 Caption = Handphone Label5 Caption = e-mail Label6 Caption = website
Klik kanan pada Text3 pilih Builder. Pada Data Type di tab Format pilih Numeric. Begitu pula untuk Text4.
Gambar 2.3.3. Jendela Text Box Builder
8. Tambahkan 4 buah command button/tombol di bagian form paling bawah. Atur properties-nya :
Command1 Caption = Simpan Command2 Caption = Batal Command3 Caption = Tambah Command4 Caption = Hapus 2.4. Melakukan Coding
Selesai mendesign form selanjutnya kita masukkan kode/rumus-rumusnya. 1. Kode form1 Procedurenya Load. Ketikkan rumus di bawah ini :
CLOSE TABLES ALL = menutup semua tabel yang aktif
SET DELETED ON = aktifkan perintah Delete/Hapus
USE tbAddressBook = menggunakan tabel tbAddressBook
SET ORDER TO tag NAMA && NAMA = mengurutkan data berdasarkan nama
2. Kode form1 Procedurenya Activate. Ketikkan rumus di bawah ini :
thisform.pageframe1.page1.text1.Value =tbAddressBook.nama
thisform.pageframe1.page1.text2.Value =tbAddressBook.tempat_lahir
thisform.pageframe1.page1.text3.Value =tbAddressBook.tgl_lahir
thisform.pageframe1.page1.edit1.Value =tbAddressBook.alamat
thisform.pageframe1.page2.text1.Value =tbAddressBook.hobi
thisform.pageframe1.page2.text2.Value =tbAddressBook.favorite
thisform.pageframe1.page2.text3.Value =tbAddressBook.telepon_rumah
thisform.pageframe1.page2.text4.Value =tbAddressBook.handphone
thisform.pageframe1.page2.text5.Value =tbAddressBook.email
thisform.pageframe1.page2.text6.Value =tbAddressBook.website
thisform.pageframe1.page1.label1.Caption =tbAddressBook.nama
thisform.pageframe1.page1.image1.Picture =tbAddressBook.picture
Penjelasan rumus : misalnya baris 1 maksudnya adalah tampilan dari object text1 di pageframe1 adalah isi data dari field nama pada tabel tbAddressBook. Demekian pula seterusnya.
Baris 11 maksudnya adalah tulisan pada Label1 akan berubah sesuai dengan isi data dari field nama pada tabel tbAddressBook.
Baris 12 maksudnya adalah gambar pada Image1 akan berubah sesuai dengan isi data dari field picture pada tabel tbAddressBook.
3. Kode object Image1 pada object PageFrame1. Klik kanan object PageFrame1, pilih Edit. Double klik/Klik kanan object Image pilih Code. Procedurenya Click. Ketikkan rumus di bawah ini :
thisform.pageframe1.page1.image1.Picture=GETFILE("JPG|GIF|PNG","Buka File","Ambil")
thisform.pageframe1.page1.image1.Picture=thisform.pageframe1.page1.i mage1.Picture
Penjelasan rumus : ketika image1 di klik maka kita akan ditampilkan pada perintah ambil gambar (GETFILE), buka gambar kemudian akan ditampilkan pada objek Image1 (rumus baris ke-2). Jika sudah diketik, tampilan kode untuk Image1 kita tutup.
4. Kode object Command1 (Simpan) dengan Procedure Click. Ketikkan rumus di bawah ini :
IF EMPTY(thisform.pageframe1.page1.text1.Value) THEN MESSAGEBOX("Nama harus diisi",64+0,"Perhatian")
ELSE
IF EMPTY(thisform.pageframe1.page1.text2.Value) THEN MESSAGEBOX("Tempat lahir harus diisi",64+0,"Perhatian")
ENDIF
IF EMPTY(thisform.pageframe1.page1.text3.Value) THEN MESSAGEBOX("Tanggal lahir harus diisi",64+0,"Perhatian")
ENDIF
IF EMPTY(thisform.pageframe1.page1.edit1.value) THEN MESSAGEBOX("Alamat harus diisi",64+0,"Perhatian")
ENDIF
APPEND BLANK
replace nama WITH thisform.pageframe1.page1.text1.Value
replace tempat_lahir WITH thisform.pageframe1.page1.text2.Value replace tgl_lahir WITH thisform.pageframe1.page1.text3.Value replace alamat WITH thisform.pageframe1.page1.edit1.value replace hobi WITH thisform.pageframe1.page2.text1.Value replace favorite WITH thisform.pageframe1.page2.text2.Value REPLACE telepon_rumah WITH thisform.pageframe1.page2.text3.Value replace handphone WITH thisform.pageframe1.page2.text4.Value replace email WITH thisform.pageframe1.page2.text5.Value replace website WITH thisform.pageframe1.page2.text6.Value replace picture WITH thisform.pageframe1.page1.image1.Picture ENDIF
thisform.command1.enabled = .F.artinya command1 tdk aktif (.F.)
Penjelasan rumus : misal
IF EMPTY(thisform.pageframe1.page1.text1.Value) THEN MESSAGEBOX("Nama harus diisi",64+0,"Perhatian")
ELSE
Jika (IF) isi (Value) dari text1 pada page1 di pageframe1 kosong maka (THEN) akan tampil pesan (MESSAGEBOX) Nama harus diisi. Angka 64 artinya sebagai pembentuk ikon information, 0 artinya sebagai pembentuk tombol OK. Selain itu (ELSE) Demikian dan seterusnya.
APPEND BLANK artinya perintah untuk memasukkan penginputan.
replace nama WITH thisform.pageframe1.page1.text1.Value maksudnya
isi (tulisan yang kita ketikkan) dari object text1 di page1 pada pageframe1 akan masuk ke filed nama di tabel tbAddressBook (ingat kembali pada kode form1 dengan Procedure Load).
5. Kode object Command2 (Batal) dengan Procedure Click. Ketikkan rumus di bawah ini:
thisform.pageframe1.page1.text1.Value =""
thisform.pageframe1.page1.text2.Value =""
thisform.pageframe1.page1.edit1.Value =""
thisform.pageframe1.page2.text1.Value =""
thisform.pageframe1.page2.text2.Value =""
thisform.pageframe1.page2.text3.Value =0
thisform.pageframe1.page2.text4.Value =0
thisform.pageframe1.page2.text5.Value =""
thisform.pageframe1.page2.text6.Value =""
thisform.pageframe1.page1.image1.Picture =""
thisfrom.command1.Visible = .T. artinya command1 terlihat (.T.)
Penjelasan rumus : misal
thisform.pageframe1.page1.text1.Value =""
isi tulisan dari text1 di page1 pada pageframe1 kosong ("")
6. Kode object Command3 (Tambah) dengan Procedure Click. Ketikkan rumus di bawah ini:
thisform.pageframe1.page1.text1.Value =""
thisform.pageframe1.page1.text2.Value =""
thisform.pageframe1.page1.edit1.Value =""
thisform.pageframe1.page2.text1.Value =""
thisform.pageframe1.page2.text2.Value =""
thisform.pageframe1.page2.text3.Value =0
thisform.pageframe1.page2.text4.Value =0
thisform.pageframe1.page2.text5.Value =""
thisform.pageframe1.page2.text6.Value =""
thisform.pageframe1.page1.image1.Picture =""
thisform.command1.Enabled = .T.
7. Kode object Command4 (Hapus) dengan Procedure Click. Ketikkan rumus di bawah ini:
DELETE
thisform.pageframe1.page1.text1.Value =""
thisform.pageframe1.page1.text2.Value =""
thisform.pageframe1.page1.edit1.Value =""
thisform.pageframe1.page2.text1.Value =""
thisform.pageframe1.page2.text2.Value =""
thisform.pageframe1.page2.text3.Value =0
thisform.pageframe1.page2.text4.Value =0
thisform.pageframe1.page2.text5.Value =""
thisform.pageframe1.page2.text6.Value =""
thisform.pageframe1.page1.image1.Picture =""