Pemrograman Database dengan BDE
A. Pengantar
BDE (Borland Database Engine) adalah alat (software) yang disediakan oleh C++ Builder untuk membuat komunikasi antara database dengan user interface. Selain BDE, terdapat beberapa alat atau fitur yang perlu diketahui dalam mengembangkan aplikasi database, diantaranya :
Database Explorer
Fitur ini berguna untuk melihat isi database, mengatur alias BDE dan juga untuk membuat kamus data.
Database Desktop
Fitur ini berguna untuk melakukan pembuatan dan perubahan terhadap isi database.
Data Modul
Fitur ini berguna untuk menempatkan komponen-komponen seperti Ttable, Tquery, dan TstoredProc.
Quick Report
Fitur ini berupa komponen-komponen yang terdapat pada component pallete didalam IDE C++ Builder. Fitur ini berfungsi untuk membuat laporan-laporan database didalam aplikasi yang tentunya sangat dibutuhkan oleh pengguna (user). B. Database Desktop
Latihan 6.1
Tujuan : Dapat membuat database melalui Database Desktop, membuat alias melalui BDE Administrator.
Sasaran :
1. Memahami tipe data yang terdapat pada database desktop serta penerapannya.
2. Memahami dan dapat membuat Alias dan database dengan menggunakan BDE Administrator dan Database Desktop.
3. Memahami dan dapat membuat tabel dengan menggunakan Database Desktop
4. Memahami penggunaan komponen BDE untuk pembuatan aplikasi database
5. Dapat Menerapkan dalam pemecahan masalah kedalam program aplikasi menggunakan Software Borland C++ Builder 6
1. jalankan database desktop dengan memilih menu Tools-Database Desktop pada IDE C++ Builder.
2. Setelah database desktop aktif, maka pilihlah menu File-New-Table, kemudian pilih tipe paradox 7 lalu isikan contoh field berikut ini :
3. simpan tabel tersebut dengan nama mahasiswa.db pada direktori kerja anda dengan cara memilih tombol save as.
4. kemudian buat alias database dengan cara buka Control Panel Windows, lalu klik icon BDE Administrator.
5. Pilih menu Object-New, jika terdapat pertanyaan mengenai database driver, pilih STANDAR sehingga terlihat seperti gambar dibawah.
6. isikan nama aliasnya menjadi dbakademik, kemudian path databasenya arahkan ke direktori/folder tempat anda menyimpan tabel mahasiswa tadi, setelah benar simpan dengan menekan kombinasi tombol Ctrl + A atau pilih menu Object – Aplly.
Latihan 6.2
Tujuan : membuat aplikasi untuk input data dan memanipulasi data di database. 1. Setelah anda melakukan latihan 4.1, Langkah berikutnya membuat program
aplikasi untuk manipulasi data dengan membuat program aplikasi, adapun langkahnya, jalankan C++ Builder kemudian buat project baru dengan memilih Menu File|New| Application.
2. tempatkan sebuah komponen Ttable dan Tdatasource yang terletak pada tabpage Data Acces pada componen pallete serta sebuah komponen TDBGrid dan TDBNavigator yang terletak pada tabpage Data Controls. Selanjutnya lakukan pengesetan properti seperti berikut.
Komponen Properti Nilai
Form1 Caption Aplikasi Input Data Mahasiswa
GroupBox1 Caption Input Data
GroupBox2 Caption
Table1 DatabaseName dbakademik
Active True
Datasource1 Dataset Table1
DBGrid DataSource DataSource1
5 buah Label Caption NIM, Nama, Alamat, Kota, Telepon
5 buah Edit Caption Kosongkan
Button1 Caption Simpan
Name btSimpan
Button2 Caption Batal
Name btBatal
Button3 Caption Keluar
Name btKeluar
DBNavigator DataSource DataSource1
Visible Button Nbfirst,nbprior,nbnext,nblast,nbdelete nilainya true.
Nbinsert,nbrefresh,nbedit,nbcancel,nbpos t nilainya di false
3. Double klik pada tombol Simpan kemudian isikan source code berikut
4. Double klik pada tombol Keluar kemudian isikan source code berikut
5. Double klik pada tombol Batal kemudian isikan source code berikut
6. Simpan unit dengan nama umahasiswa.cpp dan projectnya dengan nama mahasiswa dengan memilih menu File-Save All. Kemudian jalankan aplikasi dengan menekan tombol F9 atau Run.
void __fastcall TForm1::btSimpanClick(TObject *Sender) { Table1->Append(); Table1->FieldValues["NIM"] = Edit1->Text; Table1->FieldValues["Nama"] = Edit2->Text; Table1->FieldValues["Alamat"] = Edit3->Text; Table1->FieldValues["Kota"] = Edit4->Text; Table1->FieldValues["Telepon"] = Edit5->Text; Table1->Post(); btBatal->Click(); }
void __fastcall TForm1::btBatalClick(TObject *Sender) { Edit1->Clear(); Edit2->Clear(); Edit3->Clear(); Edit4->Clear(); Edit5->Clear(); Edit1->SetFocus(); }
void __fastcall TForm1::btKeluarClick(TObject *Sender) {
Close(); }
Latihan 6.3
Tujuan : melakukan proses pencarian data di tabel yang dipanggil dari form lain. 1. Buka kembali latihan 4.2 kemudian tambahkan komponen Tbutton dan isikan
captionnya Cari sehingga tampilan menjadi seperti gambar dibawah
2. Kemudian tambahkan form baru dengan cara klik Menu File | New | Form, maka akan tampil form baru, dan simpan unitnya dengan nama ucari.cpp, setelah itu tambahkan komponen dibawah ini serta atur propertinya dari masing-masing komponen sehingga terlihat seperti gambar.
Komponen Properti Nilai
Form2 Caption Pencarian Data Mahasiswa
GroupBox1 Caption Kriteria Pencarian Berdasarkan GroupBox2 Caption Display Hasil Pencarian
Table1 DatabaseN
ame dbakademik
TableName Mahasiswa.db
Datasource1 Dataset Table1
DBGrid1 DataSource DataSource1
RadioButton1 Caption NIM RadioButton1 Caption Nama
Edit1 Text Kosongkan
Button1 Caption Cari
Button2 Caption Selesai
3. Double klik tombol Cari pada Form2 kemudian isikan source code berikut void __fastcall TForm2::Button1Click(TObject *Sender)
{
if (RadioButton1->Checked) { Table1->SetKey();
Table1->FieldByName("NIM")->AsString=Edit1->Text; if(!Table1->GotoKey()){
ShowMessage("Data yang dicari tidak ditemukan"); } } if (RadioButton2->Checked) { Table1->IndexName="NamaMhs"; Table1->FindNearest(ARRAYOFCONST((Edit1->Text))); } }
4. Double klik tombol Selesai pada Form2 kemudian isikan source code berikut
5. Selanjutnya berpindah ke Form1 dengan cara menekan kombinasi tombol Shift + F12 , klik tombol Pencarian pada Form1 kemudian ketikan source code berikut yang berfungsi untuk memanggil Form2.
6. Langkah terakhir deklarasikan Header dari Form2 didalam unit Form1 dengan mengetikan kode berikut
7. Jalankan aplikasi dengan menekan tombol F9 atau Run Latihan 6.4
Tujuan : melakukan pemanggilan form lain dengan melalui proses validasi password yang tersimpan di table.
1. Buka database desktop kemudian buatlah tabel user untuk menyimpan data user dan password, dan simpan tabel tersebut dengan nama user.db pada alias dbakademik yang telah dibuat pada latihan 4.1. adapun untuk field dari tabel user adalah sebagai berikut:
Field Type Data Ukuran Primary Key
User A (Alpha) 15 Ya
Pass A (Alpha) 15
2. Setelah table disimpan buka kembali tabel user kemudian isikan data sampel user : admin dan pass : admin
void __fastcall TForm2::Button2Click(TObject *Sender) {
Form2->Close(); }
void __fastcall TForm1::Button1Click(TObject *Sender) { Form2->ShowModal(); } #pragma resource "*.dfm" TForm1 *Form1; #include "ucari.h" USEFORM("ucari.cpp",Form2);
3. Buat project baru dengan memilih Menu File|New| Application, dan simpan unitnya upas.cpp projectnya password. Kemudian tempatkan komponen dan atur properti dari masing-masing komponen seperti gambar berikut
Komponen Properti Nilai
Form1 Caption Login
Table1 DatabaseName dbakademik
TableName user.db
Active True
Label1 Caption Form Login
Label2,Label3 Caption Username, Password
Edit1 Text Kosongkan
Edit2 Text Kosongkan
PasswordChar x
Button1 Caption Login
Button2 Caption Batal
4. Tambahkan form baru dengan cara klik Menu File | New | Form, yang nanti akan dipanggil melalui Form1 jika login sukses dan tambahkan komponen label kemudian desain seperti gambar, dan simpan unitnya dengan nama umenu.cpp.
5. Kembali ke Form1 dengan menekan tombol Shift+F12 kemudian double klik pada tombol Login dan isikan source code berikut:
6. Double klik tombol Batal kemudian isikan source code berikut
7. Langkah terakhir deklarasikan Header dari Form2 didalam unit Form1 dengan mengetikan kode berikut
8. Jalankan aplikasi dengan menekan tombol F9 atau Run void __fastcall TForm1::Button1Click(TObject *Sender) { String username; String password; Table1->SetKey(); Table1->FieldByName("user")->AsString=Edit1->Text; if(!Table1->GotoKey()){
ShowMessage("Username yang anda masukan salah"); } else{ username = Table1->FieldValues["user"]; password = Table1->FieldValues["pass"]; } if ((Edit1->Text==username)&&(Edit2->Text==password)){ Form2->ShowModal(); } else {
ShowMessage("Password yang anda masukan salah"); }
}
void __fastcall TForm1::Button2Click(TObject *Sender) { Close(); } #pragma resource "*.dfm" TForm1 *Form1; #include "umenu.h" USEFORM("umenu.cpp",Form2);
Latihan 6.5
Tujuan : Pada latihan ini membuat aplikasi untuk stok barang yang terdiri dari input data barang, edit data barang, dengan melibatkan Penggunaan TMainMenu dan TQuery dalam menampilkan data.
1. Buka database desktop kemudian buatlah tabel barang untuk menyimpan data barang, dan simpan tabel tersebut dengan nama barang.db, dan buatlah alias baru dengan nama dbstok adapun cara membuat alias bisa anda lihat kembali pada latihan 4.1 sebelumnya. adapun untuk field dari tabel barang adalah sebagai berikut:
Field Type Data Ukuran Primary Key
Kd_brg A (Alpha) 25 Ya
Nm_brg A (Alpha) 30
Harga $ (money)
Banyak N (Number)
Tanggal D (Date)
2. Buat project baru dengan memilih Menu File|New| Application dan simpan unitnya ustok.cpp projectnya stok. Kemudian tempatkan komponen dan atur properti dari masing-masing komponen seperti gambar berikut.
Komponen Properti Caption
Form1 Caption Aplikasi Stok Barang
MainMenu1 Menu File , Edit, Keluar
Menu Item File Input Stok Menu Item Edit Data Stok
Catatan : untuk mebuat daftar menu pada komponen TmainMenu adalah dengan cara mendouble klik komponen MainMenu1 sehingga muncul dialog properti MainMenu sperti gambar
3. Tambahkan form baru dengan cara klik Menu File | New | Form, yang nanti akan dipanggil melalui Menu simpan unitnya dengan nama uinputstok.cpp aturlah properti komponen seperti berikut
Komponen Properti Keterangan
Form2 Caption Input Data Barang
Table1 DatabaseNa
me dbstok
TableName barang.db
Active True
DateTimePicker1 Terdapat pada Palette Win32
5 buah Label Caption Tanggal Kode, Nama Harga,Banyak
Button1 Caption Simpan
Button2 Caption Ulang
Button3 Caption Selesai
4. Double klik tombol Simpan kemudian isikan source code berikut
5. Double klik tombol Ulang kemudian isikan source code berikut
6. Double klik tombol Selesai kemudian isikan source code berikut
7. Tambahkan kembali form baru dengan cara klik Menu File | New | Form, simpan unitnya dengan nama ueditstok.cpp aturlah properti komponen seperti berikut
Komponen Properti Keterangan
Form3 Caption Edit Data Stok
Query1 DatabaseName dbstok
Active True
void __fastcall TForm2::Button1Click(TObject *Sender) { Table1->Append(); Table1->FieldValues["kd_brg"]=Edit1->Text; Table1->FieldValues["nm_brg"]=Edit2->Text; Table1->FieldValues["harga"]=Edit3->Text; Table1->FieldValues["banyak"]=Edit4->Text; Table1->FieldValues["tanggal"]=DateTimePicker1->Date; Table1->Post(); Button2Click(Sender); }
void __fastcall TForm2::Button2Click(TObject *Sender) { Edit1->Clear(); Edit2->Clear(); Edit3->Clear(); Edit4->Clear(); Edit1->SetFocus(); }
void __fastcall TForm2::Button3Click(TObject *Sender) {
Form2->Close(); }
DBGrid1 DataSource DataSource1
Datasource1 Dataset Query1
DBNavigator DataSource DataSource1
2 Buah DateTimePicker
GroupBox1 Caption Tampilkan Berdasarkan Tgl
Button1 Caption Tampilkan
8. Klik pada komponen Query1, kemudian pada properties SQL klik tombol ... setelah muncul dialog tuliskan syntak SQL select * from ‘barang.db’ lihat gambar
9. Klik pada badan Form kemudian pada Tab Event di Properties Double klik event OnShow kemudian isikan source code berikut
10. Double klik pada tombol Tampilkan dan isikan source code berikut:
11. beralih ke Form1 dengan menekan tombol Shift+F12 kemudian double klik pada menu Input Stok lalu isikan source code berikut
12. double klik pada menu Data Stok lalu isikan source code berikut void __fastcall TForm3::FormShow(TObject *Sender)
{
DBGrid1->Refresh(); }
void __fastcall TForm3::Button1Click(TObject *Sender) { DATE PTgAwal; DATE PTgAkhir; PTgAwal=DateTimePicker1->Date; PTgAkhir=DateTimePicker2->Date; Query1->SQL->Clear();
Query1->SQL->Add("select * from "+QuotedStr("barang.db")); Query1->SQL->Add("where Tanggal>=:PTgAwal"); Query1->SQL->Add("and Tanggal<=:PTgAkhir"); Query1->ParamByName("PTgAwal")->AsDate=DateTimePicker1->Date; Query1->ParamByName("PTgAkhir")->AsDate=DateTimePicker2->Date; Query1->Prepare(); Query1->Open(); DBGrid1->Refresh(); }
void __fastcall TForm1::InputStok1Click(TObject *Sender) {
Form2->Show(); }
void __fastcall TForm1::DataStok1Click(TObject *Sender) {
Form3->Show(); }
13. double klik pada menu Keluar lalu isikan source code berikut
14. Langkah terakhir deklarasikan Header dari Form2 dan Form3 didalam unit Form1 dengan mengetikan kode berikut
15. Jalankan aplikasi dengan menekan tombol F9 atau Run #pragma resource "*.dfm" TForm1 *Form1; #include "uinputstok.h" #include "ueditstok.h" USEFORM("uinputstok.cpp",Form2); USEFORM("ueditstok.cpp",Form3);
void __fastcall TForm1::Keluar1Click(TObject *Sender) {
Application->Terminate(); }
Soal 6.1
1. Kembangkan kembali soal 3.3 pada bab 3 halaman 24 menjadi aplikasi database dengan field tabel anda buat sendiri mengacu pada desain dibawah ini.