LAPORAN AKHIR PRAKTIKUM
ALGORITMA & PEMROGRAMAN III
Nama
: BRATA KUSUMA
NIM
: DBC 110 039
Kelompok
: AP3 - 7
Modul
: VI (OPERASI DATABASE DALAM DELPHI)
JURUSAN/PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS PALANGKA RAYA 2012
BAB I TUJUAN DAN LANDASAN TEORI 1.
TUJUAN
Mahasiswa dapat mengimplementasikan operasi database dalam De lphi.
2.
LANDASAN TEORI A. Menggunakan Database Dekstop
Dalam membuat suatu program aplikasi untuk manajemen database, membutuhkan file database yang akan diproses. File database hanya dibuat satu kali saja (dibuat struktur database), selanjutnya file database tersebut diproses lewat program. Untuk membuat database dapat digunakan Database Dekstop. Database Dekstop adalah program yang ³ditempelkan´ dalam Delphi, sehingga bisa dipakai sebagai bagian dari program pro gram delphi. Cara memanggil database dekstop adalah lewat menu Tools lalu database Dekstop, sehingga muncul seperti ditunjukan pada gambar 6.1
Gambar 6.1 Database Dekstop
BAB I TUJUAN DAN LANDASAN TEORI 1.
TUJUAN
Mahasiswa dapat mengimplementasikan operasi database dalam De lphi.
2.
LANDASAN TEORI A. Menggunakan Database Dekstop
Dalam membuat suatu program aplikasi untuk manajemen database, membutuhkan file database yang akan diproses. File database hanya dibuat satu kali saja (dibuat struktur database), selanjutnya file database tersebut diproses lewat program. Untuk membuat database dapat digunakan Database Dekstop. Database Dekstop adalah program yang ³ditempelkan´ dalam Delphi, sehingga bisa dipakai sebagai bagian dari program pro gram delphi. Cara memanggil database dekstop adalah lewat menu Tools lalu database Dekstop, sehingga muncul seperti ditunjukan pada gambar 6.1
Gambar 6.1 Database Dekstop
B. Beberapa Operasi Record dan Field
Dalam mengolah Database pasti akan melibatkan operasi terhadap record dan field. Fasilitas untuk memanipulasi record dan field yang disediakan Delphi sangat banyak dan lengkap, dalam hal ini yang dibahas hanya fasilitas yang sering dan umum dilakukan.
1.
Operasi Record
Beberapa operasi record yang dapat dilakukan dengan menggunakan method (perintah) pada object dataset (object t able) adalah seperti berikut : METHOD
Keterangan
Edit
Mengaktifkan modus edit, jika modus edit tidak aktif tidak dapat diedit
Append
Menulis secara fisik fisik data yang berada pada memori buffer (disebut proses posting), kemudian menambahkan record baru dengan posisi setelah data terakhir dan mengaktifkan modus edit dan insert.
Insert
Posting, kemudian menambahkan record baru pda buffer dengan posisi sesuai dengan penunjuk record. Modus edit dan insert diaktifkan.
Delete
Menghapus record
Post
Menulis semua data yang berada dalam buffer ke dalam database
Cancle
2.
Membatalkan semua proses
Operasi Field
Beberapa operasi yang berhubungan dengan field dapat dilihat sebagai berikut : a.
SetField
SetField dipakai untuk mengisi field-field dalam record sekarang (record aktif). Bentuk penulisan adalah : Database.setField([ArrayField])
Contoh : TbBarang SetField([µP01¶,¶Pensil¶,¶Lusin¶,1000]);
b.
FieldValue
Field value adalah property yang dapat dipakai untuk mengisi atau mengambil nilai field. Bentuk penulisannya adalah : Dataset.FieldValue[µnamaField¶]:=; Atau: Dataset[µnamaField¶]:=; Contoh TbBarang.FieldValue[µkode¶]:=¶P01¶; TbBarang[µnama¶]:=¶pensil¶;
c.
Fields
Field adalah property yang dapat dipakai untuk mengisi atau mengambil nilai field. Bentuk penulisanya : Dataset.Fields[nomorField].As
d.
FieldByName
Property FieldByName hampir sama dengan Fields. Bedanya adalah digunakan nama field sebagai pengenal, bukan noomor field. Bentuk penulisannya : Dataset.FieldByName(µnamaField¶).As Contoh : TbBarang.FieldByName(µkode¶).AsString:=¶P01¶; TbBarang.FieldByName(µnama¶).AsString:=¶Lusin¶; Edit1.Text:=TbBarang.FieldByName(µkode¶).AsString;
C. Pencarian Data
Pencarian data merupakan operasi yang sangat penting dalam menejamen database yang digunakan untuk mencari suatu data di dalam sebuah tabel. Biasanya harus diawali dengan pencarian data, karena petunjuk record harus berada pada record yang akan dihapus.
Menggunakan FindKey dan FindNearst FindKey dan FindNearest digunakan untuk suatu table yang mempunyai indeks, baik primer maupun skunder. Contoh : Table1.IndexName:=¶idxnama¶; If Not Table1. FindKey([Edit1.text]) then MessageDlg(µData yang dicari tidak ditemukan¶),mtError,[mkOK],0);
Menggunakan GotoKey dan GotoNearest Selain dengan FindKey dan FiendNearst juga dapat melakukan pencarian data menggunakan Gotokey dan GotoNearest. Contoh: Tabel1.setkey; Tabel1.Fields[0].AsString:=Edit1.Text; If Not Table1.GotoKey then Message Dlg(µData yang dicari tidak ketemu¶), mtError,[mkOK],0);
Menggunakan Locate Pencarian ini digunakan pada tabel yang tidak mempunyai indeks. Contoh: If Not Table1.Locate(µcoklat¶.Edit1.Text.[ ]) then MessageDlg(µData yang dicari tidak ketemu¶),mtError,[mkOK],0);
Komponen Aplikasi database DELPHI
Delphi memiliki sistem (Engine) sendiri untuk mengelola sistem Database yaitu : BDE (Borland DataBase Engine), sehingga setiap komputer yang menjalankan aplikasi database Delphi umumnya membutuhkan keberadaan BDE pada sistemnya. Tetapi Delphi tetap memberi kesempatan jika kita ingin membuat aplikasi database tanpa melibatkan BDE.
Selain BDE, Delphi juga memiliki beberapa komponen khusus yang harus digunakan untuk membuat aplikasi database Delphi. Komponen database tersebut ada yang berfungsi sebagai pengait file database ke aplikasi ( Data bound ) dan ada yang berfungsi untuk meng-akses dan menyajikan data tersebut
Yang
termasuk sebagai pengait data (Data bound) yaitu : Table, Query,
DataSource,«
Yang
termasuk sebagai pengakses dan penyaji data yaitu : DBGrid, DBEdit,
DBLabel, DBComboBox,DBRadioGroup,DBImage, DBNavigator, «
Komponen-komponen database Delphi umumnya terletak di tab DataAccess dan Data Controls pada Componen Palette
KOMPONEN DATA ACCESS
Komponen Data Access adalah komponen non-visual. Merupakan komponen yang secara langsung berhubungan dengan database (file secara fisik). Komponen data access hanya melakukan akses dengan database, seperti membuka tabel, membaca record, mengubah record dan sebagainya tanpa memperhatikan apa yang ditampilkan pada pengguna. Berikut Kegunaan dari komponen data Access : 1. Data Source Bertindak sebagi penghubung antara data access component dengan komponen-komponen visual. 2. Table Bertindak sebagai DataSource yang mengakses record dari tabel. 3. Query Bertindak sebagai DataSource yang mengakses record dari tabel berdasarkan perintah SQL query.
4.
StoredProc Bertindak sebagai DataSource yang mengakses record dari tabel berdasarkan perintah Stored Procedure (perintah SQL Query yang telah dibuat sebelumnya) untuk database server.
5. Database Menciptakan client/server connection dengan sebuah database dalam session. 6. Session Menciptakan sebuah session dalam sebuah aplikasi multithreaded database. 7. BatchMove Digunakan jika kita ingin memindahkan record/field dari sebuah tabel ke tabel lainnya secara cepat (seluruhnya). 8. UpdateSQL Menjalankan perinah SQL seperti INSERT, UPDATE dan DELETE. 9. NestedTable Bertindak sebagai DataSource yang mengakses record dari tabel yang bersarang.
KOMPONEN DATA CONTROLS
Komponen Data Control adalah komponen visual yang juga merupakan komponen data-aware atau disebut juga visual-controls. Komponen ini melakukan interaksi antara pengguna dengan datasource (data source adalah salah satu komponen data data access components). Dengan komponen ini kita dapat menyusun tampilan untuk pemakai. Misalnya menampilkan record dan menampilkan image. Berikut Komponen Data Controls dengan kegunaannya :
1. DBGrid Komponen visual untuk grid dinamis yang digunakan untuk menampilkan dan meng-edit data dalam bentuk tabular menyerupai tampilan spreadsheet excel. 2. DBNavigator Komponen visual yang terdiri dari sejumlah tombol-tombol navigasi dan tombol operasi basis data seperti: insert, delete, edit dan post. 3. DBText Komponen visual berbentuk label, digunakan untuk menampilkan isi dari sebuah field pada record yang sedang aktif.
4.
DBEdit
Komponen
visual
berbentuk
kotak
edit,
digunakan
untuk
menampilkan isi dari sebuah field pada record yang sedang aktif. 5. DBMemo Komponen visual memo, digunakan untuk menampilkan isi dari sebuah field pada record yang sedang aktif. 6. DBImage Komponen visual berbentuk kotak gambar, digunakan untuk menampilkan, memotong atau menempelkan citra bitmapped BLOB (Binary Large OBject) ke dan dari record yang sedang aktif. 7. DBListBox Komponen visual berbentuk list box, box yang dapat digulung. Digunakan untuk menampilkan nilai-nilai sebuah ko lom dari sebuah tabel. 8. DBComboBox Komponen visual berbentuk list, box yang dapat digulung. Digunakan untuk menampilkan nilai-nilai sebuah kolom dari sebuah tabel, nilai dari kolom tersebut dapat di-edit. 9. DBCheckBox Komponen visual berbentuk check box, digunakan untuk menampilkan atau mengubah sebuah data field bertipe boolean pada record yang sedang aktif. 10. DBRadioGroup Komponen visual untuk menampilkan sejumlah pilihan berbentuk radio button. 11. DBLookupListBox DBLookupListBox adalah sebuah komponen visual berbentuk list box dimana item-item yang ditampilkan dapat diambil dari sebuah dataset, secondary data source, data field atau key. 12. DBLookupCombobox DBLookupListBox adalah sebuah komponen visual berbentuk combo box dimana item-item yang ditampilkan dapat diambil dari sebuah dataset, secondary data source, data field atau key. 13. DBRichEdit DBRichEdit adalah sebuah multiline edit control yang dapat digunakan untuk menampilkan dan meng-ubah sebuah rich edit memo field dalam sebuah dataset. 14. DBCtrlGrid DBCtrlGrid adalah sebuah control yang dapat menampilkan banyak field dari banyak record dalam sebuah format tabular grid. Tiap cell dalam sebuah grid menampilkan banyak fields dari sebuah record. 15. DBChart Untuk menampilkan data dalam bentuk grafik.
BAB II LANGKAH KERJA Membuat File Database
Untuk membuat database dengan format database Paradox. Lakukan langkah-langkah sebagai berikut : Langkah-langkah : 1. Pada database Dekstop, pilih Tools lalu alias manager untuk membuat alias Database (Nama database) 2. Pilih new, isikan Database alias mis: DbBarang, kemudian arahkan Path pada lokasi penyimpanan mis : D:\Delphi, dan akhiri dengan klik OK. 3. Pilih File, New lalu Table, sehingga muncul tampilan Seperti pada gambar 6.2
4.
Pada Type table pilih Paradox 7 lalu klik Ok sehingga diperoleh tampilan seperti Gambar 6.3.
5. Lengkapi Struktur tabelnya seperti gambar 6.3 6. Klik tombol Save As, pilih isian alias pilihlah alias yang sudah dibuat mis : DbBarang dan pada isian file name isilah nama file (table) databasenya. Misalnya : Barang 7. Klik tombol Save 8. Buka kembali tabel tersebut dengan memilih file open dan table, pada alias pilih tabel yang akan d imodifikasi.
Membuat Program Aplikasi
Langkah-langkah : 1. Pilih Menu file klik new aplication 2. Pada Form 1 tanamkan kontrol label (5 buah), Edit (4 Buah), ComboBox (1 buah), Table (1 buah) pada jendela tool BDE, DataSource (1 buah) pada jendela Tool DataAcces, DbGrid (1 buah) pada jendela tool Data Controls dan DBNavigator (1 buah) pada jendela tool Data Controls dan DBNavigator (1 buah) pada jendela tool Data Controls. 3. Aturlah properti-properti dari masing-masing kontrol sesuai dengan tabel sebagai berikut:
Component Form1
Properti
Nilai
Name
FrmBarang
Caption
INPUT DATA BARANG
Label1
Caption
Kode Barang
Label2
Caption
Nama Barang
Label3
Caption
Satuan
Label4
Caption
Harga Beli
Label5
Caption
Harga Jual
DBComBox1
Name
CbSatuan
DataSource
DSBarang
DataField
SATUAN
Name
EDKode
DataSource
DSBarang
DataField
KODE
Name
EdNama
DataSource
DSBarang
DataField
NAMA
Name
EdBeli
DataSource
DSBarang
DataField
HBELI
Name
EdJual
DataSource
DSBarang
DataField
HJUAL
Name
TBarang
DataBaseName
DbBarang
TabelName
Barang
Active
True
Name
DBNavigator1
DataSource
DSBarang
Name
DsBarang
DataSet
TBarang
Name
GridBarang
DataSource
DsBarang
Caption
& Tambah
DBEdit1
DBedit2
DBedit3
DBedit4
Tabel
DBNavigator1
DBSource1
DBGrid1
BitBtn1 BitBtn2
Name Caption
BitBtn3
& Simpan Name
Caption
BitTambah
BitSimpan & Hapus
Name
BitHapus
BitBtn4
Caption
BitBtn5
Name Caption
4.
& Edit BitEdit & Keluar Name
BitKeluar
Lakukan desain seperti ditunjukan pada gambar berikut
5. Pada BitBtn berikan bitmap pada Glyph (properties) dengan mengarahkan lokasi Bitmap (C:\program Files\commonfiles\Borland\Shared\images\buttons ) sesuai dengan Bitmap digunakan. 6. Lakukan kode program untuk event OnActive pada form. procedure TFrmBarang.FormCreate(Sender: TObject); begin cbsatuan.Items.clear; cbsatuan.Items.Append('Lusin'); cbsatuan.Items.Append('Rol'); cbsatuan.Items.Append('Kotak'); cbsatuan.Items.Append('Bungkus');
end; 7. Lakukan kode program untuk event OnClik pada BitTambah procedure TFrmBarang.BitTambahClick(Sender: TObject); begin TBarang.Append; end; 8. Lakukan kode program untuk event OnClik pada BitSimpan procedure TFrmBarang.BitSimpanClick(Sender: TObject); begin TBarang.FieldByName('kode').AsString:=edkode.Text; TBarang.FieldByName('Nama').AsString:=ednama.Text; TBarang.FieldByName('Satuan').AsString:=cbsatuan.Text; TBarang.FieldByName('HBeli').AsCurrency:=StrTocurr(edbeli.Text); TBarang.FieldByName('HJual').AsCurrency:=StrTocurr(edjual.text); TBarang.Post; end; 9. Lakukan kode program untuk event Onclik pada BitHapus. procedure TFrmBarang.BitHapusClick(Sender: TObject); begin TBarang.Delete; ShowMessage('Data Sudah Terhapus'); BitHapus.Enabled:=false; end; 10. Lakukan kode Program untuk event OnClik pada BitEdit. procedure TFrmBarang.BitEditClick(Sender: TObject);
begin TBarang.Edit; end;
BAB III PEMBAHASAN
Pada modul VI ini, terdapat sebuah tiga buah tugas praktikum. Pada tugas praktikum pertama , praktikan diminta untuk membuat sebuah daftar barang dengan
sistem penginputan data dengan membuat data barang database yang digunakan hanya satu tabel yaitu tabel database Barang.. Pertama-tama praktikan membuka aplikasi baru dengan meng-klik file, New Application, kemudian muncul sebuah Form kosong sebagai tempat untuk membuat tampilan program. Pada Form 1, praktikan menanamkan 6 buah label, 4 buah DBEdit , 1 buah DBComboBox ,1 buah Tabel ,1 buah DataSource ,1 buah DBGrid ,1 buah DBNavigator, 6 buah BitBtn ,1 buah edit. Kemudian propertiesnya di ubah dan di sesuaikan seperti gambar yang ada pada modul. Setelah semua properti pada object TreeView dan Object Inspector di sesuaikan dengan apa yang ada di modul, langkah selanjutnya yaitu praktikan klik pada bagian penulisan coding Unit 1 untuk memasukkan kode program. Yang pertama adalah praktikan mengetik coding program seperti di bawah ini : procedure TFrmBarang.FormCreate(Sender: TObject); begin cbsatuan.Items.clear; cbsatuan.Items.Append('Lusin'); cbsatuan.Items.Append('Rol'); cbsatuan.Items.Append('Kotak'); cbsatuan.Items.Append('Bungkus'); end; Jadi pada program ini terdapat pemberian masukan terhadap item atau barang yang akan dibeli berupa, lusin, rol, kotak atau bungkus. Cbsatuan fungsinya adalah untuk menyimpan data tersebut. Items digunakan untuk menandakan barang yang digunakan, dan Append adalah pemanggilan pada setiap item. Kemudian praktikan mengetik coding berikut pada bit button tambah :
procedure TFrmBarang.BitTambahClick(Sender: TObject); begin TBarang.Append; end; Pada bagian BitTambah ini fungsinya adalah untuk menambahkan data yang akan diinputkan oleh user. Pada bagian ini hanya terdapat coding TBarang.Append; yang fungsinya melakukan pemanggilan terhadap pengkosongan data agar dapat dimasukan data baru oleh user saat nanti program ini dijalankan. Selanjutnya praktikan menginput coding pada event OnClick pada bit button simpan. procedure TFrmBarang.BitSimpanClick(Sender: TObject); begin TBarang.FieldByName('kode').AsString:=edkode.Text; TBarang.FieldByName('Nama').AsString:=ednama.Text; TBarang.FieldByName('Satuan').AsString:=cbsatuan.Text; TBarang.FieldByName('HBeli').AsCurrency:=StrTocurr(edbeli.Text); TBarang.FieldByName('HJual').AsCurrency:=StrTocurr(edjual.text); TBarang.Post; end; Jadi, coding pada bagian ini berfungsi untuk memasukan data ke dalam tabel yang telah disediakan. Pada coding ini terdapat FieldByName yang berfungsi untuk melakukan pemanggilan terhadap nama pada setiap control edit dan combobox. AsString digunakan untuk sebuah nilai karakter dan AsCurrency digunakan untuk sebuah nilai bilangan bulat atau bilangan numerik. Kemudian terdapat StrTocurr yang merupakan Function untuk mendapatkan nilai berupa data numerik bertipe currency dari suatu data string. Selanjutnya praktikan mengetik coding program untuk event OnClick pada bit button hapus. Codingnya sebagai berikut : procedure TFrmBarang.BitHapusClick(Sender: TObject); begin
TBarang.Delete; ShowMessage('Data Sudah Terhapus'); BitHapus.Enabled:=false; end; Ini merupakan coding program untuk menghapus data yang telah masuk kedalam tabel, ketika di hapus jadi data di dalam tabel kembali seperti semula. Pada bagian ini terdapat TBarang.Delete; ini merupakan perintah untuk menghapus semua data barang yang terdapat di dalam tabel. ShowMessage digunakan untuk menampilkan sebuah pesan, seperti coding di atas terdapat pesan ³Data Sudah Terhapus´ yang menandakan data pada tabel terlah terhapus saat user meng-klik bit button hapus. Selanjutnya praktikan mengetik coding program untuk event OnClick pada bit button edit. Codingnya sebagai berikut : procedure TFrmBarang.BitEditClick(Sender: TObject); begin TBarang.Edit; end; Ini merupakan coding program untuk mengedit data yang terdapat di dalam tabel, jadi nilai atau nama barang yang di dalam tabel dapat diubah user jika mengklik bit button ini. Pada coding terdapat perintah TBarang.Edit berupa coding pengeditan pada tabel barang. Selanjutnya praktikan mengetik coding program untuk event OnClick pada bit button search. Codingnya sebagai berikut : procedure TFrmBarang.BitSearchClick(Sender: TObject); begin TBarang.setKey; TBarang.Fields[0].AsString:=edit1.Text; if not TBarang.GotoKey then MessageDlg('Data yang dicari tidak ketemu',mtError,[],0);
end; Ini merupakan coding program untuk mencari data yang terdapat di dalam tabel barang yang telah diinputkan oleh user. Pada coding search ini menggunakan gotokey dan gotoNearst selain dengan Findkey dan FiendNearst juga dapat melakukan pencarian data dengan menggunakan gotokey dan gotonearst yang fungsinya untuk mencari data. Pada coding ini terdapat pemanggilan nama TBarang dengan perintah setkey yang digunakan untuk mengunci tempat yang akan dicari datanya. Lalu terdapat AsString yang berfungsi untuk melakukan pengisian data, dimana akan dilakukan proses pada edit1.text. lalu, terdapat perulangan if not dengan melakukan perbandingan pada tabel, apabila pada di dalam tabel tidak dapat data yang dicari maka akan muncul pesan µdata yang dicari tidak ketemu¶ berdasarkan perintah MessageDlg. Kemudian praktikan mengetik coding program untuk event OnClick pada bit button keluar. Codingnya sebagai berikut : procedure TFrmBarang.BitKeluarClick(Sender: TObject); begin FrmBarang.close; end; Ini
merupakan
coding
program
untuk
keluar
dari
program.
Pada
FrmBarang.close; yang dimana pada FrmBarang tersebut adalah nama form jadi dengan ditambah perintah close, maka saat user meng-klik bit button ini maka akan keluar dari form.
Pada tugas praktikum kedua , praktikan diminta untuk membuat sebuah tabel dengan isi yang berbeda dengan tabel barang sebelumnya. Pada bagian ini praktikan akan membuat sebuah tabel yang berisi berisi Nomor Faktur, kode barang, tanggal faktur dan banyak beli. Pertama-tama praktikan membuka aplikasi baru dengan meng-klik file kemudian New Application, kemudian muncul sebuah Form kosong sebagai tempat untuk membuat tampilan program. Pada Form 1, praktikan menanamkan 4 buah label , 4 buah DBEdit , 1 buah Tabel , dan 1 buah DataSource.
Selanjutnya praktikan mengubah properti-propertinya menjadi sebagai berikut : Component Form1
Properti
Nilai
Name
FrmFaktur
Caption
Table Faktur
Label1
Caption
Kode Barang
Label2
Caption
Nomor Barang
Label3
Caption
Tanggal Barang
Label4
Caption
Banyak Beli
DBEdit1
Name
DBKodebarang
DataSource
DsFaktur
DataField
Kode barang
Name
DBNomor
DataSource
DsFaktur
DataField
Nomor Faktur
Name
DBTanggal
DataSource
DsFaktur
DataField
Tanggal Faktur
Name
EdBanyak Beli
DataSource
DsFaktur
DataField
Banyak Beli
Name
Tfaktur
DBedit2
DBedit3
DBedit 4
Tabel
DBSource1
DBGrid1
DataBaseName
DbFaktur
TabelName
Tfaktur
Active
True
Name
DsBarang
DataSet
Tfaktur
Name
GridBarang
DataSource
DsFaktur
Pada bagian ini praktikan diminta untuk membuat sebuah tabel yang berisi berisi Nomor Faktur, kode barang, tanggal faktur dan banyak beli. Sistem kerja database ini hanya akan melakukan penginputan data yang dimasukan pada kode barang, nomor faktur, tanggal faktur dan banyak beli. Nilai diatas kan masuk ke dalam tabel yang telah disediakan. Database ini digunakan untuk melakukan penginputan data tabel yang terdiri dari nomor, kode, tanggal dan banyak beli. Praktikan melakukan pemanggilan dengan menggunakan Db navigator dan data source untuk melakukan pemanggilan dan proses pemasukan data ke dalam tabel. Hal yang terpenting dalam membuat sebuah program database adalah letak database yang di simpan, pada data base ini praktikan menempatkannya pada C:\Program Files\Common Files\Borland Shared\Data. Apabila letak data base di ubah maka program otomatis tidak akan berjalan atau tabel databasenya tidak akan muncul di dalam program.
tampilan database program kedua
Selanjutnya pada tugas praktikum ketiga , praktikan diminta untuk membuat program untuk memproses pembelian atas barang dengan cara mengombinasikan kedua program sebelumnya yaitu tugas praktikum pertama dan tugas praktikum kedua. Pada program ini praktikan memasukan nomor Faktur, kode barang, nama, Harga beli, harga Jual, Tanggal Faktur, banyak dan Total Harga. Pada program ini praktikan menggunakan 2 buah tabel, 2 buah data source dan SQL. Tabel pertama digunakan untuk memanggil data dari data tabel barang, dan tabel kedua digunakan untuk memanggil data pada tabel faktur, begitu juga untuk kedua data source. SQL disini digunakan untuk database,
praktikan
memproses kedua tabel tersebut. Pada penyimpanan
melakukan
penyimpanan
di
C:\Program
Files\Common
Files\Borland Shared\SampleDictionary, apabila kita pindah letak database maka otomatis program tidak berjalan. Pertama-tama praktikan membuka aplikasi baru dengan meng-klik file, New Application, kemudian muncul sebuah Form kosong sebagai tempat untuk membuat tampilan program. Pada Form 1, praktikan menanamkan 8 buah label, 6 buah DBEdit, 2 buah Tabel, 2 buah DataSource, 1 buah DBCombo Box, 1 buah Combo Box, 1 buah DBGrid, 1 buah DBNavigator, dan 6 buah BitBtn.
Selanjutnya praktikan mengubah properti-propertinya menjadi sebagai berikut :
Component Form1
Properti
Nilai
Name
FrmFaktur
Caption
Faktur Barang
Label1
Caption
Kode Barang
Label2
Caption
Nama
Label3
Caption
Nomor Faktur
Label4
Caption
Harga Beli
Label5
Caption
Harga Jual
Label6
Caption
Tanggal Faktur
Label7
Caption
Total Harga
DBComBox1
Name
Cbkode
DataSource
DsFaktur
DataField
Kode
Name
EdNoFak
DataSource
DsFaktur
DataField
NoFak
Name
EdNama
DataSource
DSBarang
DataField
NAMA
Name
EdBeli
DataSource
DSBarang
DataField
HBELI
Name
EdJual
DataSource
DSBarang
DataField
HJUAL
Name
EdBanyak
DataSource
DsFaktur
DBEdit1
DBedit2
DBedit3
DBedit 4
DBedit5
DataField
Banyak
Name
EdTotal
DataSource
DsFaktur
DataField
HJual*Banyak
Name
TBarang
DataBaseName
DbFaktur
TabelName
Barang.db
Active
True
Name
Tfaktur
DataBaseName
DbFaktur
TabelName
Faktur
Active
True
Name
DBNavigator1
DataSource
DsFaktur
Name
DsFaktur
DataSet
Tfaktur
Name
DsBarang
DataSet
TBarang
Name
GridFaktur
DataSource
DsFaktur
Caption
& Tambah
DBedit6
Tabel 1
Tabel 2
DBNavigator1
DBSource1
DBSource2
DBGrid1
BitBtn1 BitBtn2
Name Caption
BitBtn3
Caption
BitSimpan & Hapus
Name
Caption
BitBtn5
& Simpan Name
BitBtn4
BitTambah
BitHapus & Edit
Name Caption
BitEdit & Keluar
BitBtn6
Name
BitKeluar
Name
Search
Caption
& search
Kemudian susun semua kontrol di atas seperti pada gambar yang ada d i modul.
desain form tugas ketiga
Setelah semua properti pada object TreeView dan Object Inspector di sesuaikan dengan apa yang ada di tabel, langkah selanjutnya yaitu praktikan klik pada bagian penulisan coding Unit 1 untuk memasukkan kode program. Yang pertama adalah praktikan mengetik coding program seperti di bawah ini : procedure TFrmFaktur.FormCreate(Sender: TObject); begin CbKode.Items.Clear; CbKode.Items.Append('A'); CbKode.Items.Append('B'); CbKode.Items.Append('C'); end; end.
Ini adalah bagian pemeberian sebuah coding di dalam form agar dapat dilakukan pemilihan pada combo box di bagian kode. Pada coding CbKode.Items.Clear; ini adalah untuk coding membersihkan data pada kolom combo box kode dengan perintah clear. Pada bagian selanjutnya adalah bagian pemeberian nama pada combo box untuk kode yang digunakan di dalam program seperti A,B dan C. Append digunakan untuk menulis secara fisik data yang berada pada memori buffer (disebut proses posting), kemudian menambahkan record baru dengan posisi setelah ada terakhir dan mengaktifkan modus edit dan insert. Selanjutnya praktikan menambahkan coding di bagian on click pada bit button tambah. Codingnya sebagai berikut : procedure TFrmFaktur.BitTambahClick(Sender: TObject); begin TFaktur.Append; TBarang.Append; end;
function tanggal(vdate:TDateTime):String; var counter : byte; const Namahari : array [1..7] of string = ('Minggu','Senin','Selasa','Rabu','Kamis','Jumat','Sabtu'); Namabulan : array [1..12] of string =('Januari','Februari','Maret' ,'April','Mei','Juni','July','Agustus','September','Oktober','November','Desember'); begin for counter := 1 to 7 do longdaynames[counter]:=namahari[counter]; for counter := 1 to 12 do longmonthnames[counter]:=namabulan[counter];
result := formatdatetime('dd/mm/yyyy',vdate); end; Jadi pada coding penambahan ini terdapat pemanggilan kedua tabel yaitu Tfaktur dan TBarang dengan perintah Append digunakan untuk menulis secara fisik data yang berada pada memori buffer (disebut proses posting), kemudian menambahkan record baru dengan posisi setelah ada terakhir dan mengaktifkan modus edit dan insert. Pada coding function tanggal(vdate:TDateTime):String; terdapat function yang digunakan untuk perintah pada tanggal dengan tipe data string. Vdate memiliki data yang sama dengan TdataTime. Di bagian function ini terdapat array yang digunakan untuk menampung nilai namahari dan namabulan. Kemudian, terdapat perulangan for untuk melakukan proses perulangan pada hari dan bulan. Result digunakan untuk menampilkan hasil proses dari hari dan bulan. Selanjutnya praktikan menambahkan coding di bagian on click pada bit button simpan. Codingnya sebagai berikut : procedure TFrmFaktur.BitSimpanClick(Sender: TObject); begin TFaktur.FieldByName('Kode').AsString:=(CbKode.Text); TFaktur.FieldByName('NoFak').AsString:=(EdNofak.Text); TFaktur.FieldByName('HJual').AsCurrency:=strtocurr(EdJual.Text); TFaktur.FieldByName('Nama').AsString:=(EdNama.text); TFaktur.FieldByName('Banyak').AsString:=(EdBanyak.Text); TFaktur.FieldByName('TglFak').AsString:=tanggal(datetimepicker1.Date); TFaktur.FieldByName('HJual*Banyak').AsString:=EdTotal.Text; TFaktur.FieldByName('HBeli').AsString:=(EdHbeli.Text); TFaktur.Post; EdNofak.Clear; EdJual.Clear; EdBanyak.Clear; EdTotal.Clear;
end; Jadi pada bagian ini adalah sistem penyimpanan data dari setiap data yang dimasukan ke dalam kolom yang disediakan. Pada
bagian
TFaktur.FieldByName('Kode').AsString:=(CbKode.Text);,
Tfaktur merupakan pemanggilan tabel yang digunakan dan FieldByName digunakan untuk nama pengenal, sedangkan Astring digunakan untuk pemberian Tipe data pada sebuah kolom. Pada setiap data yang didalam program menggunakan perintah tersebut untuk melakukan pemanggilan agar dapat dilakukan penginputan pada tabel. Pada Coding TFaktur.Post; EdNofak.Clear;, terdapat post yang berfungsi untuk menampilkan data pada tabel, sedangan clear digunakan untuk membersihkan data pada kolom atau baris dalam tabel. Selanjutnya praktikan menambahkan coding di bagian on click pada bit button hapus. Codingnya sebagai berikut : procedure TFrmFaktur.BitHapusClick(Sender: TObject); begin TFaktur.Delete; ShowMessage('Data Sudah Terhapus'); BitHapus.Enabled:=false; end; Coding pada bagian ini digunakan untuk melakukan penghapusan data pada tabel yang telah memiliki data, proses penghapusan pada Tfaktur atau pada tabel dengan perintah delete. Pada coding di atas terdapat coding ShowMessage('Data Sudah Terhapus'); yang berfungsi untuk menampilkan pesan pada data yang telah dihapus. Jika data di hapus maka akan keluar pesan ³'Data Sudah Terhapus'´. Pada coding di atas terdapat coding BitHapus.Enabled:=false;, ini merupakan perintah pada tombol bitHapus enabled agar dapat menggunakan button Hapus.
Selanjutnya praktikan menambahkan coding di bagian on click pada bit button search. Codingnya sebagai berikut : procedure TFrmFaktur.BitSearchClick(Sender: TObject); begin TFaktur.SetKey; TFaktur.Fields[0].AsString:=EdNofak.Text; if not TFaktur.GotoKey then messagedlg('Data yang dicari tidak ditemukan',mtError,[mbOK],0); end; Coding pada bagian ini digunakan untuk mencari data, Pada pencarian data disini praktikan menggunakan GotoKey dan GotoNearst atau menggunakan findkey dan findNearst juga dapat melakukan pencarian data. Pada Tfaktur.SetKey;, maksudnya adalah tabel data dengan perintah setkey digunakan untuk kata kunci yang diperlukan untuk mencari data tersebut sesuai nama atau kode barang. Kemudian
pada
bagian
messagedlg('Data
yang
dicari
tidak
ditemukan',mtError,[mbOK],0); ini adalah perintah pesan yang digunakan apabila data pada tabel tidak ditemukan.
Selanjutnya praktikan menambahkan coding di bagian on click pada bit button edit. Codingnya sebagai berikut : procedure TFrmFaktur.BitEditClick(Sender: TObject); begin TFaktur.Edit; end; Ini merupakan coding untuk mengedit isi di dalam tabel, sesuai dengan perintah TFaktur.Edit;, yang digunakan untuk perintah edit didalam tabel. Edit disini adalah perintah untuk mengubah data di dalam tabel.
Selanjutnya praktikan menambahkan coding di bagian on click pada bit button total. Codingnya sebagai berikut : procedure TFrmFaktur.TotalClick(Sender: TObject); var total:real; begin total:=(strtofloat(edJual.Text)*strtofloat(edbanyak.Text)); EdTotal.Text:=floattostr(total); end; Ini merupakan coding di bagian bit button total yang berfungsi untuk menampung nilai dari jual dan banyak, kemudian di proses dengan melakukan perkalian lalu nilai akan muncul pada kolom total Harga. StrToFloat digunakan untuk mendapatkan nilai bertipe extended (salah satu tipe real). Selanjutnya praktikan menambahkan coding di bagian on click pada bit button keluar. Codingnya sebagai berikut : procedure TFrmFaktur.BitKeluarClick(Sender: TObject); begin application.Terminate; end; Pada coding ini terdapat Application.Terminate yang mana memerintahkan agar program di terminate atau di akhiri, jadi saat user meng-klik bit button keluar maka akan keluar dari program ini.
BAB IV KESIMPULAN
y
Pada Database memiliki banyak komponen yang dapat digunakan di dalam delphi, seperti DATA ACCESS dan DATA CONTROLS.
y
File database hanya dibuat satu kali saja (dibuat struktur database), selanjutnya file database tersebut diproses lewat program. Untuk membuat database dapat digunakan
Database
Dekstop.
Database
Dekstop
adalah
program
yang
³ditempelkan´ dalam Delphi, sehingga bisa dipakai sebagai bagian dari program delphi. y
Dalam mengolah Database pasti akan melibatkan operasi terhadap record dan field. Fasilitas untuk memanipulasi record dan field yang disediakan Delphi sangat banyak dan lengkap, dalam hal ini yang dibahas hanya fasilitas yang sering dan umum dilakukan.
y
Komponen Aplikasi database DELPHI
Delphi memiliki sistem (Engine) sendiri untuk mengelola sistem Database yaitu : BDE (Borland DataBase Engine), sehingga setiap komputer yang menjalankan aplikasi database Delphi umumnya membutuhkan keberadaan BDE pada sistemnya. Tetapi Delphi tetap memberi kesempatan jika kita ingin membuat aplikasi database tanpa melibatkan BDE.
Selain BDE, Delphi juga memiliki beberapa komponen khusus yang harus digunakan untuk membuat aplikasi database Delphi. Komponen database tersebut ada yang berfungsi sebagai pengait file database ke aplikasi ( Data bound ) dan ada yang berfungsi untuk meng-akses dan menyajikan data tersebut
Yang
termasuk sebagai pengait data (Data bound) yaitu : Table, Query,
DataSource,«
Yang
termasuk sebagai pengakses dan penyaji data yaitu : DBGrid, DBEdit,
DBLabel, DBComboBox,DBRadioGroup,DBImage, DBNavigator, «
Komponen-komponen database Delphi umumnya terletak di tab DataAccess dan Data Controls pada Componen Palette
y
Pencarian data merupakan operasi yang sangat penting dalam menejamen database yang digunakan untuk mencari suatu data di dalam sebuah tabel. Biasanya harus diawali dengan pencarian data, karena petunjuk record harus berada pada record yang akan dihapus. Dapat dilakukan dengan menggunakan : y
FindKey dan FindNearst
y
GotoKey dan GotoNearest
y
Locate
BAB V DAFTAR PUSTAKA
http://ekoindri.wordpress.com/tutorial-pemula-dasar-database/ http://cangkruk.com/index.php?option=com_content&view=article&id=193%3databa se&catid=39%3Aglosarium&Itemid=146 http://www.delphibasics.co.uk/RTL.asp?Name=database http:// herianto.files.wordpress.com/pencarian-data-base
BAB VI LAMPIRAN Tugas Praktikum Pertama
Tugas Praktikum Kedua