MODUL 3 APLIKASI BASIS DATA DENGAN DELPHI Basis Data adalah kumpulan dari beberapa tabel yang saling berelasi dan berhubungan satu sama lain sehingga dapat memberikan suatu data/informasi. Berbagai jenis database yang dapat di olah dengan Delphi, misalnya : Paradox, dbase, MS-Access, ODBC, SyBase, Oracle dan lain-lain. Untuk pembahasan database paradox 7 dengan menggunakan Database Desktop. 1. Buatlah Sebuah Menu Utama Menu utama yang akan kita buat berbentuk menu pull-down yaitu menu yang mempunyai pilihan (menu) utama berjajar secara mendatar dibagian atas jendela program. Setiap menu utama, dapat mempunyai submenu yang berada pada kotak dibawah tiap menu utama dan submenu tersebut diatur bertumpuk dalam kotak submenu. Submenu hanya akan ditampilkan jika menu utama sedang terpilih atau aktif. Tiap submenu, nantinya dapat mempunyai sub-submenu yang ditampilkan disebelah kanan submenu yang bersangkutan dalam kotak sub-submenu. Demikian seterusnya. Adapun cara pembuatan Menu utama sebagai berikut : a. Buat Project sebuah baru anda, dari menu File -> New -> Application, maka akan otomatis ada form1 b. Buat beberapa form baru di dalam project anda tersebut. Dari menu File -> New -> Form, pada contoh ini silahkan buat 3 form yaitu Form1 (sebagai menu utama), Form2 dan Form3 sebagai Form prompt ketika di klik salah satu menu. c. Jangan lupa menyimpan project dan form-form anda, dari menu File -> Save All. d. Mulai membuat menu pada Form1 letakkan object MainMenu yang ada ditab Standard. Klik kanan pada MainMenu1 -> Menu Designer. maka akan ada tampilan edit menu. Klik pada area biru gambar diatas, kemudian pada properties Caption ketikkan Data Negara, kemudian enter. Satu menu utama sudah terbuat.untuk membuat menu dari Data Negara, klik pada menu document, akan ada satu area menu yang masih kosong, klik kemudian pada caption ketikkan Menu Baru Anda dan enter, dan seterusnya untuk menu-menu lain. Untuk membuat garis pembatas antar menu, cukup ketikkan - (tanda min), pada caption. Untuk membuat sub menu dari menu Baru, klik kanan pada Menu Baru -> Create Sub Menu, klik pada satu area kosong dari sub menu baru, kemudian ketik Dokument Kosong.Demikianjuga untuk membuat menu-menu. Close windows editor menu untuk selesai dan kembali ke design Form1. Jika berhasil maka pada form1 sudah ada menu-menu yang kita buat.
e. Membuat Form show/dan showmodal.untuk contoh ini, Form2 akan ditampilkan jika dipilih menu Document -> Buka. pilih menu Document dan klik Buka, maka akan masuk ke lebar source code, Kodenya adalah Form2.Show; atau bisa juga Form2.ShowModal. Apa perbedaan antara kedua kodenya? Jika menggunakan fungsi show, maka form1 dan form2 bisa bertukar tempat, artinya form1 bisa diatas Form2 dan Form2 bisa diatas form1. Tapi ShowModal akan membuat Form1 sebagai menu utama selalu berada dibelakang, dan Form2 akan selalu berada diatas (Always on Top). 2. Buatlah Sebuah Tabel Menggunakan Paradox 7 Nama_Field Type Size Key Id_negara A 4 * Nama_Negara A 30 Ibu_kota A 30 Benua A 30 Luas_Negara Jumlah_penduduk N N 3. Buatlah rancangan form seperti berikut ini. KOMPONEN PROPERTIES NILAI Form2 Caption Form Data Negara Tabel1 DatabaseName TableName Active Sesuaikan sesuaikan True DataSource1 DataSet Table1 DBGrid DataSource DataSource1
KOMPONEN PROPERTIES NILAI Form3 Caption Form Input Data Label1 Caption Nama Negara Label2 Caption Ibukota Label3 Caption Benua Label4 Caption Luas Daerah Label5 Caption Jml Penduduk Edit1 Text {dikosongkan} Edit2 Text {dikosongkan} Edit3 Text {dikosongkan} Edit4 Text {dikosongkan} Edit5 Text {dikosongkan} Button1 Caption OK Button2 Caption CANCEL 4. Double klik pada button1 with form3 do Edit1.Text:= ; Edit2.Text:=' '; Edit3.Text:=' '; Edit4.Text:=' '; Edit5.Text:=' '; Edit6.Text:=' '; Caption:= 'Menambah Data'; ActiveControl:=Edit1; Form3.ShowModal;
5. Double klik pada button2 Procedrure var str : string; str := 'Anda Yakin Negara ' + Table1.Fields[0].AsString + ' dihapus? ; if (Application.messagebox(PChar(Str),'Peringatan', MB_YESNO or MB_ICONQUESTION) = IDYES) then Table1.delete; 6. Double klik pada button3 with form3 do Edit1.Text:=Table1.Fields[0].AsString; Edit2.Text:=Table1.Fields[1].AsString; Edit3.Text:=Table1.Fields[2].AsString; Edit4.Text:=Table1.Fields[3].AsString; Edit5.Text:=Table1.Fields[4].AsString; Edit6.Text:=Table1.Fields[5].AsString; Caption:='Mengedit Data'; ActiveControl:=Edit1; Form3.ShowModal; End; 7. Button1 OK pada Form 3 Ketikan kode program sebagai berikut : With form2.table1 do If form3.caption= Menambah Data then App FieldByName( id_negara ).AsString:=Edit1.Text; FieldByName('nama_negara').AsString:=Edit2.Text; FieldByName('ibu_kota').AsString:=Edit3.Text; FieldByName('benua').AsString:=Edit4.Text; FieldByName('luas_negara').AsString:=Edit5.Text; FieldByName('jumlah_penduduk ).AsString:=Edit6.Text; End
else If form3.caption= Mengedit Data then Begin Edit; FieldByName(id_negara).AsString:=Edit1.Text; FieldByName('nama_negara').AsString:=Edit2.Text; FieldByName('ibu_kota').AsString:=Edit3.Text; FieldByName('benua').AsString:=Edit4.Text; FieldByName('luas_negara').AsString:=Edit5.Text; FieldByName('jumlah_penduduk ).AsString:=Edit6.Text; Post; End; close; 8. Double klik pada button4 Application.Terminate; Konsep Pemograman Pencarian Data Salah satu konsep pemograman berbasis data base proses pencarian data menjadi satu hal yang sangat penting didalam mendukung kesempurnaan hasil didalam sebuah aplikasi program. Fungsi secara umum adanya pencarian data adalah untuk mendapatkan secara cepat data yang diinginkan dari sebuah tabel didalm sebuah database. A. Konsep Pencarian dengan Properti Konsep ini merupakan metode pencarian data dimana memanfaatkan kemampuan property untuk mendapatkan data yang diinginkan Ada 5 konsep pencarian data dengan property 1. Locate Locate adalah metode pencarian data untuk record yang sama dengan criteria yang sudah ada ataupun mendekati dengan kriteria yang ada. Pencarian locate dapat digunakan untuk tabel dengan index maupun yang tanpa index If not table1.locate ( nama, enama.text, []) then Messagedlg( + enama.text + Tdak ditemukan, mterror, [mbok],0); 2. Findkey Metode finkey digunakan mencari record yang sama. Metode ini dapat digunakan untuk tabel dengan index. Table1.indexname := ; If not table1.findkey ([ 00099 ]) then Messagedlg( data Tdak ditemukan, mterror, [mbok],0);
Proses pencarian data diatas digunakan untuk table dengan index sebagai primary key. Sedangkan untuk pencarian dengan indes secondary dapat terlihat seperti contoh berikut ini. Table1.indexname := nama ; If not table1.findkey([enama.text]) then Messagedlg( + enama.text + Tdak ditemukan, mterror, [mbok],0); Else Tampil; 3. Find Nearest Metode ini digunakan untuk tabel dengan index selain itu juga dapat digunakan untuk pencarian record yang paling mendekati. Table1.indexname ;= nama ; Table1.findnearest([enama.text]) 4. Gotokey Metode ini sama seperti dengan metode dengan findkey, tetapi dalam hal penulisan lebih rumit karena harus menjalankan terlebih dahulu event Setkey ataupun editkey. Konsep ini juga dapat digunakan untuk tabel dengan index maupun tidak. Table1.setkey; Table1.fieldbyname( nama ).Asstring := enama.text; If not table1.gotokey then Messagedlg( + enama.text + Tdak ditemukan, mterror, [mbok],0); Else Tampil; 5. Gotonearest Metode ini hampir sama dengan metoded findnearest. Perbedaan utamanya hanya dalam hal penulisan. Table1.setkey Table1.fieldbyname( nama ).Asstring := enama.text; Table1.gotokey;