Jurusan Matematika
Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Negeri Malang
2008
PENDAHULUAN
a. Deskripsi permasalahan
Permasalahan yang digunakan selama praktikum adalah permasalahan akademik
suatu perguruan tinggi. Sebuah perguruan tinggi memiliki sejumlah fakultas/jurusan,
mahasiswa, dan dosen. Setiap jurusan menyelenggarakan perkuliahan, ada sejumlah
matakuliah yang ditawarkan. Setiap matakuliah memiliki kode tersendiri (asumsi: kurikulum
tidak berubah).
Mahasiswa bisa mengambil matakuliah yang ditawarkan. Setiap pengambilan akan
menghasilkan nilai (asumsi: tidak ada pengambilan matakuliah yang dibatalkan). Mahasiswa
yang tidak lulus bisa mengulang kembali. Semua nilai yang pernah diambil disimpan, jadi
ada keterangan pada semester kapan matakuliah itu diambil.
Untuk menyederhanakan masalah, setiap matakuliah hanya memiliki satu offering
perkuliahan. Setiap offering bisa diajar oleh maksimum dua orang dosen, dan diadakan
maksimum dua kali dalam seminggu pada hari dan jam yang ditentukan.
Nantinya program harus menghasilkan sejumlah laporan, seperti laporan mahasiswa
pada jurusan tertentu, mahasiswa yang mengambil kuliah tertentu, laporan nilai mahasiswa,
dan sebagainya.
Dari permasalahan tersebut, tabel yang bisa dibuat adalah:
1. Tabel MAHASISWA
Field name
NIM
Nama
Jurusan
Prodi
Alamat
TempatLahir
TanggalLahir
JenisKelamin
Field type
Text
Text
Text
Text
Text
Text
Date/Time
Text1
Field size
12
40
15
15
50
20
Short date
1
2. Tabel DOSEN
Field name
NIP
SandiDosen
NamaDosen
Field type
Text
Text
Text
Field size
12
6
20
3. Tabel MATAKULIAH
Field name
KodeMK
NamaMK
SKS
JS
Sifat
Field type
Text
Text
Number
Number
Text
Field size
7
25
Byte
Byte
1
4. Tabel MENGAJAR
Field name
KodeMK
Field type
Text
(key)
(key)
(key)
Field size
(key)
SandiDosen1
SandiDosen2
Hari1
Jam1
Ruang1
Hari2
Jam2
Ruang2
Semester
Text
Text
Text
Text
Text
Text
Text
Text
Text
6
6
6
3
5
6
3
5
7
5. Tabel NILAI
Field name
NIM
KodeMK
Nilai
SmtAmbil
Field type
Text
Text
Text
Text
Field size
12
7
2
7
6. Tabel PRODI
Field name
NamaProdi
Jurusan
Fakultas
Field type
Text
Text
Text
Field size
20
20
15
(key)
(key)
(key)
(key)
(key)
dbExpress
Keterangan
Mendukung database lokal dan remote
Mendukung database: dBase, Paradox, ASCII,
FoxPro, Access, SQLServer (Oracle, Sybase, MS
SQL Server, Informix, Interbase, DB2), dan lainnya
dengan ODBC (Open Database Connectivity)
Keuntungan: Integrasi yang baik dengan Delphi
Kelemahan: harus menginstall BDE pada tiap
komputer yang menjalankan aplikasi yang dibuat,
hanya ada di Windows
Bisa mengakses database relasional dan nonrelasional, mendukung database lokal dan remote.
Keuntungan: lebih terpadu dengan produk
Microsoft lainnya
Bisa diakses di Delphi (Windows) dan Kylix (Linux),
keduanya produk Borland
Kemampuan terbatas, unidirectional, hanya untuk
database remote, hanya bisa berjalan dengan
query SQL
Cocok untuk aplikasi yang hanya menghasilkan
informasi seperti report atau page HTML
Menggunakan database Interbase yang bersifat
open source dan gratis.
Memberikan kontrol dan kinerja lebih baik
Yang lebih umum digunakan dalam lingkup kecil adalah ADO karena mendukung
banyak DBMS dan juga digunakan oleh bahasa pemrograman lain. Praktikum ini akan
menggunakan ADO. Untuk teknologi lain, silahkan dipelajari sendiri disesuaikan dengan
kebutuhan.
Untuk aplikasi ADO, ada beberapa hal yang perlu ditentukan dalam mengakses data:
Koneksi ke database: untuk menghubungkan aplikasi ke database
Data set: untuk mendapatkan sekumpulan data dari database. Bisa dengan membuka
tabelnya secara langsung, dengan menggunakan query, atau dengan menggunakan
stored procedure.
Data source: sumber data bagi komponen yang terkait dengan data di dataset
(komponen data-aware). Komponen data-aware adalah komponen yang terkait dengan
data, digunakan untuk pengisian data ke dataset atau menampilkan data dari dataset.
PRAKTIKUM 1
Kegiatan:
Pengenalan teknologi akses data dan penggunaan komponen untuk pengaksesan data
dalam database
Perancangan form untuk entry data dan penggunaan berbagai komponen DataControls
Sebagaimana yang telah dijelaskan pada pendahuluan, ada beberapa teknologi
pengaksesan data dalam basis data yang digunakan oleh Delphi, salah satunya adalah ADO.
Pada praktikum ini akan dibuat sebuah form untuk melakukan pengisian data dengan
memanfaatkan ADO. Untuk mengakses database, ada 3 hal yang perlu dipersiapkan: (1)
koneksi ke database, (2) menentukan dataset [sekumpulan data yang akan diproses], dan
(3) menentukan sumber data [data-source] bagi komponen pengisian data. Dataset bisa
didapat dari tabel atau hasil query (pencarian data).
Untuk dataset, setidaknya ada 3 komponen yang bisa digunakan: (1) ADOTable, (2)
ADODataSet, dan (3) ADOQuery. ADOTable lebih sesuai digunakan untuk memanipulasi
data yang berada di satu tabel secara keseluruhan, ADODataSet untuk memanipulasi data
yang ada di tabel atau hasil query, dan ADOQuery untuk memanipulasi data hasil query.
Praktikum 1 akan menggunakan dataset berupa ADOTable.
Seperti yang disebutkan di pendahuluan, ada 3 hal yang harus ditentukan dalam
mengakses data ke database: connection, data set, dan data source. Di Delphi, masingmasing komponen yang terkait dengan untuk hal itu adalah ADOConnection, ADOTable
(keduanya ada di tab ADO pada Component Pallette), dan DataSource (ada di tab
DataAccess). ADOConnection berfungsi untuk melakukan koneksi ke basisdata, ADOTable
untuk mendapatkan sekumpulan data dari tabel tertentu, komponen ini merupakan salah
satu dari beberapa komponen penghasil dataset. DataAccess merupakan sumber data bagi
komponen DataControls. Komponen DataControls (ada di tab DataControls) adalah
komponen yang bisa dikaitkan ke field tertentu dalam suatu dataset. Bentuknya sama
dengan komponen input data pada tab Standard.
Semua praktikum yang anda lakukan adalah satu kesatuan, sehingga hasil sebuah
praktikum masih akan terpakai atau berhubungan dengan praktikum sebelumnya.
Praktikum kali ini adalah membuat form yang untuk entry data matakuliah. Awalilah
dengan membuka sebuah form kosong. Selanjutnya lakukan hal berikut:
a. Membuat PageControl
Form yang akan dirancang nantinya digunakan untuk entry data dan menampilkan
(display) data. Karena ukuran form yang terbatas, maka form dibagi menjadi beberapa
halaman tersendiri (halaman tersebut dinamakan dengan tabsheet). Masing-masing
tabsheet memiliki fungsi tertentu. Untuk memasukkan tabsheet, berikut langkahnya:
Pilih tab Win32, masukkan komponen PageControl, drag secukupnya ke dalam form.
Klik kanan pada page yang ditampilkan, pilih New Page. Sebuah tabsheet baru akan
tampak. Ganti caption pada tabsheet itu melalui property caption pada object inspector.
Isi nilainya dengan Entry data.
Tambahkan tabsheet baru dengan cara yang sama (New Page). Beri caption Browse.
Untuk memastikan bahwa file sukses dibuka, klik button Test Connection. Akan muncul
pesan yang menyatakan apakah tes koneksi berhasil atau gagal. Bila gagal, periksa lagi
apakah database dalam keadaan terbuka. Perbaiki dan ulangi sampai koneksi berhasil.
Klik OK untuk menutup semua kotak dialog. String koneksi akan ditampilkan pada
properti ConnectionString pada Object Inspector untuk komponen ADOConnection.
Properti lain milik ADOConnection yang perlu diubah:
Properti
LoginPrompt
Nilai
False
Keterangan
Agar kotak dialog untuk menanyakan
nama user dan password tidak
Properti
Name
Nilai
ADOConAkademik
Keterangan
ditampilkan (asumsi: file database tidak
menggunakan nama user dan password).
Nama bisa apapun, sebaiknya anda ganti
agar konsisten dengan pembahasan
selanjutnya
c. Menentukan ADOTable
Masukkan komponen ADOTable dari tab ADO ke dalam form. Komponen ini juga
nonvisual sehingga tidak perlu ditentukan posisi dan ukurannya.
Ubah properti lain:
Properti
Connection
Nilai
ADOConAkademik
TableName
Name
Matakuliah
ADOTbMataKuliah
Keterangan
Diarahkan ke ADOConnection yang dibuat
sebelumnya
Menentukan nama tabel yang akan dibuka
d. Menentukan DataSource
Masukkan komponen DataSource dari tab DataAccess ke dalam form. Komponen ini juga
bersifat nonvisual.
Ubah properti lainnya:
Properti
DataSet
Nilai
ADOTbMataKuliah
Name
DtSrcMatakuliah
Keterangan
Diarahkan ke ADODataSet yang dibuat
sebelumnya
DBEdit
DBComboBox
DBRadioGroup
Properti
Caption
Nilai
Caption
Caption
Caption
Caption
Caption
Name
DataSource
DataField
Name
DataSource
DataField
Name
DataSource
DataField
Items
Data Master
MataKuliah
Kode Matakuliah:
Nama Matakuliah:
SKS:
JS:
Sifat:
dbeKodeMK
DtSrcMataKuliah
KodeMK
dbeNamaMK
DtSrcMataKuliah
NamaMK
dbcSKS
DtSrcMataKuliah
SKS
2
3
4
Name
Caption
DataSource
DataField
dbrgJS
- (kosongkan)
DtSrcMataKuliah
JS
Keterangan
DBRadioGroup
Items
3
4
Values
3
4
Name
Caption
DataSource
DataField
Items
dbrgSifat
- (kosongkan)
DtSrcMataKuliah
Sifat
Wajib
Pilihan
10
PRAKTIKUM 2
Kegiatan:
Penggunaan form pada praktikum 1 untuk melakukan entry data ke dalam tabel
Penggunaan DBNavigator untuk menelusuri tabel
Form hasil praktikum 1 hanya menampilkan record pertama saja. Bagaimana dengan
record lain? Bagaimana bila akan menambah data baru? Pada praktikum ini form hasil
praktikum 1 akan diperbaiki sehingga bisa untuk melakukan penyimpanan data.:
Buka kembali project (File Open Project, jangan File - Open) dari praktikum 1, lalu
ikuti petunjuk berikut ini:
a. Menggunakan DBNavigator untuk menelusuri dataset
Masukkan komponen DBNavigator (di tab DataControls) ke dalam form, atur propertinya
sebagai berikut:
Properti
Nilai
DataSource
DtSrcMataKuliah
Jalankan program, maka anda bisa menelusuri dataset (ke record pertama, sebelumnya,
sesudahnya, dan record terakhir), melakukan penambahan data baru, edit data yang
ditampilkan, dan menghapus record yang sedang ditampilkan.
Simpan program anda dengan menekan File-SaveAll (anda tidak perlu memberi nama
lagi karena sebelumnya sudah bernama).
b. Mengatur aktif-tidaknya komponen
Jalankan program anda, ubahlah nilai salah satu field, lalu coba berpindah ke record lain
dan kembalilah ke record yang tadi. Tampak data anda sudah berubah. Berarti ada
potensi kesalahan karena ketidaksengajaan. Berarti pula komponen pengisian data perlu
kita non-aktifkan selama tidak ada aksi insert data atau edit data. Untuk memprogram
aktif tidaknya komponen kita manfaatkan state (kondisi) yang berlaku pada DBNavigator.
DBNavigator bekerja bila pengguna melakukan klik pada button yang ada. Seperti biasa,
event yang bekerja adalah Click, tetapi karena ada sejumlah button maka kita juga perlu
melihat button mana yang ditekan.
Pada saat form mulai dijalankan, semua komponen isian dalam keadaan non-aktif. Berarti
kode programnya dimasukkan ke dalam event FormCreate. Karena pengaktifan dan
penon-aktifan dilakukan beberapa kali pada kesempatan yang berbeda maka lebih baik
dibuat sebagai procedure.
Perhatikan kode program anda, pergilah ke baris atas, lalu cari baris private. Buat
beberapa baris kosong di antara private dan public, lalu ketik sebagai berikut:
Procedure AturIsianMK(kondisi:boolean);
Prosedur ini digunakan untuk mengatur aktif tidaknya komponen isian yang ada di form.
Tekan Ctrl-Shift-C, bila program anda benar maka akan ditampilkan kerangka
procedure AturIsianMK. Isikan sebagai berikut:
11
12
PRAKTIKUM 3
Kegiatan:
Penggunaan komponen DBGrid untuk menampilkan isi tabel secara keseluruhan
Pada praktikum sebelumnya hanya satu record yang ditampilkan setiap waktu. Untuk
menampilkan semua data sekaligus bisa digunakan DBGrid. Dalam DBGrid bisa diatur field
apa saja yang bisa ditampilkan, termasuk juga field baru yang merupakan hasil perhitungan.
Buka kembali project sebelumnya, ikuti langkah berikut:
a. Menambahkan komponen DBGrid
Pada form anda, klik tab Browse, letakkan komponen DBGrid (dari tab DataControls) ke
tabsheet yang sedang terbuka, lalu drag sampai hampir memenuhi tabsheet.
13
14
PRAKTIKUM 4
Kegiatan:
Menghubungkan dua tabel dengan fasilitas Master-Detail
Menggunakan komponen DBLookupComboBox
Sesuai dengan deskripsi permasalahan, setiap mahasiswa bisa mengambil sejumlah
matakuliah tertentu. Jadi ada keterkaitan antara dua tabel: tabel Mahasiswa dan tabel Nilai.
Tabel Mahasiswa bertindak sebagai data induk dan tabel Nilai sebagai data rinci yang terkait
dengan data induk. Hubungan ini dinamakan juga dengan hubungan Master-Detail.
Nantinya, dataset pada komponen yang berperan sebagai detail akan mengikuti record yang
sedang aktif pada dataset yang berperan sebagai master. Komponen data set yang
digunakan masih ADOTable.
a. Membuat form pengisian data Mahasiswa
Buat dulu form pengisian data Mahasiswa seperti yang sudah anda lakukan pada saat
membuat form pengisian data Matakuliah di praktikum 1 dan 2. Jangan lupa gunakan
komponen PageControl ke dalamnya.
Masukkan komponen ADOConnection ke dalam form, arahkan ke database Akademik,
beri nama ADOConAkademik.
Masukkan komponen ADOTable (tetap di tab ADO) ke dalam form. Atur propertinya
sebagai berikut:
Properti
Nilai
Keterangan
Name
ADOTblMahasiswa
Connection
ADOConAkademik
Koneksi ke database
TableName
Mahasiswa
Nama tabel yang diacu
Tambahkan komponen DataSource ke dalam form, atur propertinya:
Properti
Nilai
DataSet
ADOTblMahasiswa
Name
DtSrcMahasiswa
Rancang form seperti pada gambar 4.1, arahkan ke field yang sesuai, dan tentukan
sendiri nilai properti yang lain. Perhatikan bahwa semua komponen diambil dari tab
DataControls. Semua komponen pengisian menggunakan DBEdit, kecuali untuk pengisian
Program Studi mahasiswa menggunakan komponen DBLookupComboBox. Properti
DataSource diarahkan ke DtSrcMahasiswa. Properti DataField diarahkan ke masingmasing field yang sesuai. Atur pula komponen dbNavigator dengan memasukkan kode
seperti pada praktikum sebelumnya, untuk mengatur aktif-tidaknya komponen pengisian.
Jangan lupa mengaktifkan ADOTblMahasiswa di FormCreate.
15
DataSource
Properti
Name
Connection
TableName
Name
DataSet
Nilai
ADOTblProdi
ADOConAkademik
Prodi
DtSrcProdi
ADOTblProdi
16
Nilai
DtSrcProdi
Keterangan
Nama data source yang menyimpan item
pilihan
ListField
NamaProdi
Menentukan satu atau beberapa field
yang isinya akan ditampilkan di lookup
control
KeyField
NamaProdi
Menentukan field apa yang isinya harus
sesuai dengan yang ada di properti
DataField (field apa yang isinya akan
disimpan di tabel)
Perhatikan beda ListField dan KeyField. ListField digunakan untuk menentukan isi dari
combo, sedangkan KeyField untuk digunakan mencocokkan pilihan dengan data yang
tersimpan di tabel Mahasiswa.
Aktifkan ADOTblProdi melalui event FormCreate (tambahkan kode yang sesuai)
c. Mengatur form yang ditampilkan pertama kali
Tadi anda sudah membuat sebuah form. Bila program dijalankan maka yang ditampilkan
adalah form yang pertama tadi. Untuk menjalankan form yang lain, setting projectnya
perlu diubah. Pilih menu Project Options. Pada combo Main Form, tentukan form yang
akan dijalankan lebih dulu, klik OK.
Jalankan program anda maka combo akan berisi semua program studi yang datanya ada
di tabel Prodi. Lengkapilah yang kurang dan simpan kembali bila sudah.
d. Mengatur aktif-tidaknya komponen pada tab Entry Data Mahasiswa
Lakukan hal yang serupa dengan yang anda lakukan pada saat menentukan aktif
tidaknya form untuk entry data MataKuliah.
e. Menambahkan tab untuk entry data Matakuliah yang diambil
Entry data pengambilan matakuliah kita letakkan pada tabsheet tersendiri pada form
untuk entry data Mahasiswa yang sudah dibuat. Untuk itu tambahkan sebuah tabsheet
baru pada form, beri caption Pengambilan Matakuliah.
Masukkan komponen ADOTable ke dalam form, dengan mengambil dari tab ADO pada
Component pallette. Atur propertinya sebagai berikut:
Properti
Name
Connection
TableName
MasterSource
Nilai
ADOTblPengambilan
ADOConAkademik
Nilai
DtSrcMahasiswa
Keterangan
17
Properti
Name
Nilai
dbeNIMAmbil
18
Nama/jenis
komponen
dbLookupCombobox
dbEdit
Properti
DataSource
DataField
ReadOnly
Name
DataSource
DataField
Name
DataSource
DataField
Nilai
DtSrcPengambilan
NIM
True
dbcKodeMKAmbil
DtSrcPengambilan
KodeMK
dbeSmtAmbil
DtSrcPengambilan
SmtAmbil
19
20
PRAKTIKUM 5
Kegiatan:
Pembuatan report berbentuk Simple Table secara manual
Untuk menampilkan atau mencetak data yang tersimpan, perlu dibuat report. Delphi
menyediakan editor report yaitu RAVE (Report Authoring Visual Environment). Report
yang bisa dibuat berupa Simple Table Report (report tunggal) karena hanya melibatkan
satu data source, atau Master-Detail Report karena melibatkan lebih dari satu data
source. RAVE memerlukan data dari basis data, dalam hal ini bisa memanfaatkan sumber
data (ADOConnection, ADOTable, DataSource) yang sudah terkoneksi dengan form tempat
komponen RAVE berada.
Report bisa dibuat dengan wizard atau secara manual. Untuk kemudahan modifikasi,
yang dibahas hanya yang secara manual saja. Praktikum kali ini akan membuat report
Simple Table untuk kasus report data Mahasiswa.
Berikut langkah-langkahnya:
a. Membuat Rave Project
Buka form untuk entry data mahasiswa
Masukkan komponen RvDataSetConnection dan sebuah RvProject, atur propertinya:
Jenis komponen
RvDataSetConnection
Properti
Name
DataSet
Nilai
RvDSMahasiswa
ADOTblMahasiswa
(sesuaikan dengan nama
dataset anda)
RvProject
Name
RvPrjMahasiswa
Klik 2x pada RvProject untuk menampilkan RaveDesigner
b. Menentukan sumber data
Klik File New Data Object, pilih Direct Data View, klik Next.
Pilih nama RvDataSet yang anda buat (RvDSMahasiswa), klik Finish. Tampak lembaran
kosong report yang akan kita rancang.
c. Menambahkan Region, Band, dan Data band
Region adalah daerah dalam report yang digunakan untuk menampilkan data dan
yang lainnya (misal judul field). Region bisa berisi band dan data band. Band adalah
daerah untuk meletakkan judul kolom dan informasi lain seperti judul report, dan Data band
adalah daerah untuk meletakkan field tabel (data) yang akan ditampilkan.
Pada Rave designer, pilih tab Report, pilih komponen Region, masukkan di dalam report
di bawah tanggal dan perlebar sampai hampir memenuhi report (secukupnya).
Klik pada komponen Band, lalu letakkan di region. Klik komponen Data band, letakkan di
region. Klik Band sekali lagi dan letakkan di bawah DataBand1. Dengan demikian,
DataBand1 akan berhimpitan diapit Band1 dan Band2.
21
Klik pada Band1, pilih properti BandStyle, klik button di sebelahnya sehingga muncul
BandStyle Editor. Pilih checkbox BodyHeader dan First. Langkah ini bertujuan untuk
menjadikan Band1 sebagai header laporan dan menampilkannya setiap kali ganti
halaman. Klik OK untuk mengakhiri.
Klik pada property ControllerBand, pilih DataBand1 (atau nama data band yang ada di
band tersebut). ControllerBand digunakan untuk menentukan band pengendali, dalam hal
ini bila DataBand1 menampilkan data maka Band1 akan ikut muncul dan sebaliknya.
Klik pada DataBand1, pilih properti DataView, pilih DataView1 (atau nama data view yang
dispesifikasikan sebelumnya untuk data mahasiswa). Ini bertujuan untuk menentukan
sumber data yang akan ditampilkan di data band.
Klik pada Band2, pilih properti BandStyle. Pada BandStyle Editor, Pilih BodyFooter dan
First. Langkah ini bertujuan untuk menjadikan Band2 sebagai footer laporan dan
menampilkannya setiap kali ganti halaman. Klik OK untuk mengakhiri.
d. Menentukan judul laporan
Pilih tab Standard (di Rave Designer), pilih komponen Text, dan klik di Band1 untuk
meletakkannya.
Gantilah teksnya melalui properties windownya menjadi Daftar Mahasiswa, lalu
tentukan juga font atau colornya.
e. Menambahkan label judul kolom pada Band sebagai header
Seperti biasa, bila reportnya berbentuk tabel maka diperlukan judul kolom. Judul
kolom diletakkan di dalam band. Berikut langkahnya:
Klik Band1, perlebar area antara Band1 dan DataBand1 untuk memberikan tempat bagi
label.
Pilih tab Standard, pilih komponen Text dan letakkan pada daerah Band1.
Untuk mengganti teksnya, pilih properti Text, dan isikan judul kolomnya (misal NIM).
Tambahkan komponen Text lainnya sebanyak kebutuhan field yang akan ditampilkan dan
atur judulnya.
f. Menambahkan komponen DataText pada DataBand
Isi field ditampilkan melalui komponen DataText yang diletakkan di daerah DataBand.
Berikut langkah pembuatannya:
Pilih tab Report, pilih komponen DataText dan letakkan pada daerah DataBand1.
Tentukan properti DataView dengan DataView1 (atau DataView lain yang sesuai), dan
tentukan properti DataField dengan nama field yang isinya akan ditampilkan (pilih dari
list yang ada).
Ulangi untuk field yang lain sampai lengkap, atur pula lebar, tinggi, fontnya, dan lainnya.
g. Menambahkan nomor urut pada setiap baris yang ditampilkan
Setiap baris bisa diberi nomor urut tersendiri. Berikut langkah pembuatannya:
22
Pilih tab Report, pilih komponen CalcText dan letakkan pada sebelah kiri field DataText
pertama di DataBand1.
Lakukan pengaturan propertinya:
Properti
CalcType
Nilai
ctCount
Controller
DataBand1
RunningTotal
true
Keterangan
Menyatakan proses untuk mendapatkan
cacah data
Komponen yang dijadikan acuan untuk
melakukan perhitungan ketika data
dicetak
Melakukan penjumlahan nilai sebelumnya
dengan 1
23
Simpan hasil pekerjaan anda dengan menekan menu File Save. Tentukan lokasi
penyimpanan dan namanya. File report disimpan dengan ekstensi .rav.
Untuk melihat hasilnya, anda bisa pilih menu File Execute report (atau tekan F9).
Tentukan apakah dipreview ke layar atau dicetak ke printer.
Bila semua sudah benar, simpan report anda dan keluarlah dari Rave Designer.
k. Menghubungkan report ke form
Kembali bukalah form Mahasiswa, klik pada RvPrjMahasiswa. Klik di properti ProjectFile,
pilih report yang baru anda buat tadi (yang berekstensi .rav).
Pengaktifan report dilakukan dengan menekan sebuah button. Tambahkan sebuah
button ke dalam form (di tab Entry Data), beri nama btPreview, beri caption Preview.
Klik 2x pada event OnClick, lalu masukkan kode berikut:
procedure TForm1.btPreviewClick(Sender: TObject);
begin
rvPrjMahasiswa.Execute;
end;
Jalankan programnya, maka report akan ditampilkan bila button Preview diklik. Simpan
pekerjaan anda.
24
PRAKTIKUM 6
Kegiatan:
Pembuatan report berbentuk Master-Detail
Praktikum 5 adalah contoh pembuatan report Simple Table secara manual. Praktikum
kali ini adalah membuat Master-Detail Table secara manual, dalam kasus pembuatan report
transkrip atau data nilai setiap mahasiswa. Nantinya setiap mahasiswa akan menerima
selembar report yang berisi daftar nilai mereka.
Berikut langkah-langkahnya:
a. Menentukan sumber data
Report kali ini memerlukan dua sumber data: data Mahasiswa dan data Nilai. Anda
bisa memanfaatkan RvDSMahasiswa yang digunakan pada praktikum 5 (seandainya belum
ada maka buat dulu DataSet, DataSource, dan TRvDataSetConnectionnya). Untuk data
pengambilan matakuliah, jangan mengambil dari ADOTblPengambilan yang anda gunakan di
form karena sifatnya yang master-detail (karena sifat ini, bila satu data master dipilih, maka
data detailnya menyesuaikan dengan data master sehingga tidak semua data ditampilkan).
Untuk itu, masukkan sebuah komponen ADOTable dengan koneksi diarahkan ke
ADOConAkademik dan properti TableName diarahkan ke tabel Nilai. Beri nama dengan
ADOTblNilaiRpt. Jangan mengeset properti Master-Detailnya.
b. Membuka report kosong
Buka form untuk entry data pengambilan matakuliah mahasiswa
Masukkan satu komponen RvDataSetConnection dan sebuah RvProject, atur propertinya:
Jenis komponen
RvDataSetConnection
Properti
Name
DataSet
Nilai
RvDSAmbilMK
ADOTblNilaiRpt
(sesuaikan dengan nama
dataset anda)
RvProject
Name
RvPrjMahasiswaAmbil
Klik 2x pada komponen RvProject di form, maka RAVE Report Designer ditampilkan.
Pastikan yang terbuka adalah report kosong, bila belum kosong pilih menu File - New
c. Menambahkan DataView dan Region
Berikutnya, tentukan sumber data untuk report yang akan dibuat. Klik File New Data
Object. Pilih Direct Data View, maka akan ditampilkan nama DataSetConnection yang
sudah dimasukkan di form. Pilih RVDSMahasiswa dan RvDSAmbilMK, lalu klik Finish.
Perhatikan di Project Tree (di sebelah kanan), sekarang ada dua Data View (DataView1
dan DataView2). RVDSMahasiswa digunakan sebagai data master, dan RvDSAmbilMK
sebagai data detail
Masukkan sebuah Region ke dalam report, atur posisi dan ukurannya, kira-kira sampai
memenuhi ukuran kertas.
25
d. Menambahkan Band dan DataBand untuk judul report dan data setiap
mahasiswa
Masukkan sebuah Band dan DataBand (akan bernama sebagai Band1 dan DataBand1).
Band1 akan digunakan untuk meletakkan judul report, dan DataBand1 berisi data rinci
setiap mahasiswa.
Ubah properti Band1 tersebut:
Properti
BandStyle
Nilai
cek pada Body
Header, First, dan
New Page
DataBand1
Keterangan
Membuat band sebagai header, muncul di
halaman pertama, dan setiap halaman
baru.
ControllerBand
Keberadaan Band1 ditentukan oleh
DataBand1
Masukkan sebuah komponen Text (dari tab Standard), ubah teksnya menjadi Transkrip
Nilai
Ubah properti DataBand1:
Properti
DataView
Nilai
DataView1
(sesuaikan dengan
data sebenarnya)
BandStyle
cek pada Detail
dan First
Tambahkan dua buah komponen text (dari
Keterangan
Nama data view untuk data semua
mahasiswa
Sebagai bagian yang berisi data dari tabel
tab Standard) dan dua buah komponen
DataText (dari tab Report) untuk menampilkan data setiap mahasiswa. Untuk kedua
komponen DataText, atur properti DataView ke DataView1 (yang berisi data Mahasiswa),
dan atur properti DataField ke field yang sesuai dalam tabel.
Berikut ini contoh tampilan Band1 dan DataBand1
Nilai
tambahkan cek
pada Detail dan
First
Keterangan
26
ControllerBand
DataBand1
Nilai
DataBand1
DataView
DataView2
DetailKey
NIM
MasterDataView
MasterKey
DataView1
NIM
Keterangan
Keberadaan DataBand2 ditentukan oleh
DataBand1
Nama data view yang berisi data
pengambilan matakuliah
Field di tabel detail yang terhubung
dengan Master
DataView yang bertindak sebagai Master
Field di tabel master yang terhubung
dengan Detail
BandStyle
Nilai
DataBand2
FinishNewPage
True
Keterangan
Keberadaan Band3 ditentukan oleh
DataBand2
Setelah selesai ditampilkan, maka
memaksa untuk pindah ke halaman baru
BandStyle
27
28
PRAKTIKUM 7
Kegiatan:
Menyimpan dan menampilkan image
Bila kita menyimpan data seseorang secara elektronik maka foto (image) orang itu
sebaiknya bisa disimpan secara elektronik juga. Delphi menyediakan komponen yang bisa
digunakan untuk menampilkan image, dan Access bisa menyimpan data image.
Ada dua macam pendekatan dalam menyimpan image: (1) Image disimpan di tabel.
Keuntungannya adalah data image tersebut menyatu dengan data lain, tetapi akibatnya
ukuran file anda akan sangat besar, terlebih lagi bila image anda berukuran besar. (2) File
image disimpan dalam folder tersendiri dan yang disimpan di tabel hanya nama file dan
lokasinya saja. Keuntungannya adalah file data anda tetap berukuran kecil, tetapi akibatnya
adalah file anda bisa saja tercecer atau hilang. Pada praktikum ini akan digunakan cara yang
pertama.
Hanya saja yang perlu diperhatikan adalah jenis imagenya. Yang bisa disimpan secara
langsung adalah yang bertipe bmp, sehingga anda harus menyediakan file dengan tipe ini.
Anda bisa mengconvert dari file jpeg atau yang lain dengan menggunakan software image
editor (misalnya Photoshop atau Paint).
a. Menambahkan field baru ke tabel Mahasiswa
Buka kembali tabel Mahasiswa dalam Design Mode, tambahkan sebuah field dengan
nama Foto dan dengan field type OLE Object.
Simpan kembali dan tutup databasenya
b. Memodifikasi form pengisian data Mahasiswa
Buka kembali form pengisian data Mahasiswa. Masukkan komponen DBImage yang
digunakan untuk menampilkan image (diambil dari tab DataControls), dua buah Button,
dan OpenPictureDialog (diambil dari tab Dialogs). OpenPictureDialog digunakan untuk
menampilkan kotak dialog pemilihan file yang akan disimpan di tabel. Komponen ini
sifatnya nonvisual sehingga anda bisa letakkan di manapun. Atur propertinya sebagai
berikut:
Nama/jenis
komponen
Button
Button
DBImage
OpenPictureDialog
Properti
Caption
Name
Caption
Name
Name
Stretch
DataSource
DataField
Name
Title
Nilai
Ambil foto
btAmbilFoto
Hapus foto
btHapusFoto
dbiFoto
True
DtSrcMahasiswa
Foto
opAmbilFile
Ambil file foto
29
30
31
PRAKTIKUM 8
Kegiatan:
Menampilkan image di dalam report
Image yang tersimpan kali ini akan ditampilkan pada report, dengan menyisipkannya
pada transkrip nilai yang sudah anda buat pada praktikum 6.
Buka kembali report yang anda rancang pada praktikum 6 dalam report editor.
Komponen yang digunakan untuk menampilkan image terletak pada tab standard. Klik
komponen Bitmap , letakkan pada DataBand (di sebelah kanan NIM dan Nama). Jangan
diletakkan pada band biasa. Atur ukurannya seperlunya.
Atur properti komponen tersebut:
Properti
DataView
Nilai
DataView1
DataField
MatchedSide
Foto
msBoth
Keterangan
DataView untuk data mahasiswa
(sesuaikan namanya dengan milik anda)
32
PRAKTIKUM 9
Kegiatan:
Menggunakan menu
Hasil dari praktikum sebelumnya adalah sejumlah form yang harus dipilih untuk
dieksekusi dari Project Options. Untuk merangkaikan kesemuanya, bisa dibuat menu dalam
bentuk pulldown menu.
a. Menambahkan form baru dan komponen menu
Buka kembali project anda
Tambahkan sebuah form baru (File New Form).
Tambahkan komponen MainMenu dari tab Standard. Komponen ini sifatnya nonvisual.
b. Menentukan isian mainmenu dan submenu
Untuk mengedit menu dan submenu yang ditampilkan, klik kanan pada komponen
MainMenu di form, pilih Menu Designer. Bagian yang bertanda biru saat itu adalah
tempat menuliskan pilihan main menu.
33
catat yang tampak di klausa Unit. Lakukan hal yang sama terhadap form Input data
Matakuliah.
Berpindahlah ke form yang mengandung menu tadi, tampilkan code editornya, dan
berpindahlah ke baris pertama. Tambahkan nama Unit dari dua form anda yang tadi ke
klausa Uses, misalnya seperti kode berikut ini (yang tercetak tebal):
unit Menu;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, Dialogs, Menus, InputMahasiswa, InputMK;
Untuk menjadikan form yang berisi menu sebagai form yang pertama kali dieksekusi,
pilih menu Project Options. Pada isian Main Form, pilih nama form yang berisi menu
(misal Form3). Klik OK.
d. Menentukan kode yang terkait dengan setiap sub menu
Bila dieksekusi, main menu atau sub menu akan bekerja bila diklik. Untuk itu kita
tentukan kode apa yang harus dieksekusi pada saat terjadi pemilihan main menu atau
sub menu. Misalkan pada saat memilih item Data Matakuliah maka akan membuka
form matakuliah (misalkan yang bernama Form1). Pada form, klik pilihan Data
Matakuliah, maka code editor akan terbuka. Masukkan kode berikut (sesuaikan dengan
nama form anda):
procedure TForm3.DataMatakuliah1Click(Sender: TObject);
begin
Form1.Show;
end;
Lakukan hal yang serupa terhadap form yang lain, sesuaikan namanya.
Untuk pilihan Selesai, kodenya adalah sebagai berikut:
procedure TForm3.Selesai1Click(Sender: TObject);
begin
Application.Terminate;
end;
Coba jalankan program anda dan pastikan pilihan sub menu berjalan dengan baik.
e. Menentukan sifat tampilan form
Pada saat eksekusi, bila anda memilih salah satu pilihan sub menu maka form yang
terkait akan ditampilkan (misal form Input data Mahasiswa). Anda bisa berpindah dari
form input data mahasiswa ke main menu dan sebaliknya. Ini perlu kita hindari, untuk
memastikan bahwa hanya ada satu form yang bisa diakses setiap saat.
Pada saat pemanggilan, gunakan method ShowModal, bukannya Show. Ini akan
membuat form yang dipanggil bersifat modal sehingga anda tidak bisa mengakses form
lain sebelum menutup form saat itu. Ulangi langkah ini untuk semua form selain form
yang berisi main menu.
Coba jalankan program anda dan lihat perbedaannya. Simpan form anda.
34
PRAKTIKUM 10
Kegiatan:
Pencarian data pada ADODataSet dengan menggunakan Locate
Sampai dengan praktikum sebelumnya anda belum bisa mencari data tertentu. Untuk
mencari data anda harus berpindah ke record lain dengan menggunakan DBNavigator. Tidak
praktis bila datanya sangat banyak. Karena komponen akses data yang digunakan berbedabeda, maka pada praktikum ini dan selanjutnya akan diketengahkan bagaimana melakukan
pencarian data pada berbagai jenis komponen data.
Pada praktikum ini pencarian data akan dilakukan pada form yang menggunakan
komponen ADOTable (form entry data Matakuliah). Pencarian dilakukan berdasarkan kode
matakuliah. Bila data yang dicari ada maka data akan ditampilkan, sedangkan bila tidak ada
maka diberikan pesan bahwa tidak ada data yang sesuai.
Pencarian dilakukan dengan menggunakan method Locate. Method ini akan mencari
field pertama yang ditemukan, sehingga bila ada sejumlah field yang sama atau mirip
nilainya, maka sisanya tidak akan ditampilkan. Selain pada komponen ADOTable, method ini
juga bisa digunakan pada komponen ADODataSet.
a. Memodifikasi form entry data Matakuliah.
Buka kembali form entry data Matakuliah
Tambahkan komponen button ke dalam form. Atur captionnya dengan Cari dan beri
nama btCari.
Pada event onClick milik button tersebut, masukkan kode berikut:
procedure TForm1.btCariClick(Sender: TObject);
var kodeMK:string;
hasil:boolean;
begin
kodeMK:='';
hasil:=InputQuery('Pencarian Matakuliah','Kode MK:', kodeMK);
if hasil then
if not ADOTbMataKuliah.Locate('KODEMK',kodeMK,[loPartialKey])
then
MessageDlg('Data tidak ada!', mtInformation, [mbOK],0);
end;
Pencarian dilakukan berdasarkan kode Matakuliah. Untuk memasukkan kode matakuliah
yang dicari, digunakan method InputQuery. InputQuery berbentuk sebagai kotak
dialog. Parameternya yang digunakan adalah: (1) teks yang ditampilkan sebagai judul
kotak dialog, (2) teks ditampilkan di depan isian, dan (3) variabel yang menerima hasil
isian. Pemanggilan method ini akan mengembalikan nilai True atau False sehingga harus
ditampung di variabel bertipe boolean. Nilai True dikembalikan bila OK ditekan, dan False
dikembalikan bila Cancel ditekan. Bentuk InputQuery pada saat dieksekusi:
35
36
PRAKTIKUM 11
Kegiatan:
Pencarian data dengan menggunakan ADOQuery
Cara sebelumnya sangat tidak praktis karena hanya data pertama saja yang
ditampilkan. Praktikum kali ini akan menggunakan cara lain untuk menampilkan sejumlah
data dalam bentuk grid. Pencarian dilakukan dengan menggunakan query SQL. Komponen
yang digunakan untuk mengeksekusi query SQL adalah ADOQuery. (Komponen
ADODataSet sebenarnya juga bisa digunakan untuk mengeksekusi query, dengan jalan
mengganti properti CommandType menjadi cmdText dan mengisikan querynya pada
properti CommandText).
Contoh yang digunakan adalah pada data mahasiswa. Pencarian dilakukan
berdasarkan NIM, Nama, atau semua data tanpa kriteria tertentu.
a. Membuat form pencarian data
Tambahkan sebuah form baru ke project yang sudah ada (jangan membuat project
baru).
Pada form tersebut, masukkan komponen ADOConnection, ADOQuery, DataSource,
RadioGroup, Edit, Button, dan DBGrid seperti tampilan berikut:
Properti
ConnectionString
ADOQuery
LoginPrompt
Name
Name
Nilai
(arahkan ke basis data
akademik)
False
ADOConAkademik
ADOQryCariMhs
37
Jenis komponen
Properti
Connection
Name
DataSet
Name
Caption
Items
Nilai
ADOConAkademik
DataSource
DtSrcCariMhs
ADOQryCariMhs
RadioGroup
RGKriteria
Cari berdasarkan:
NIM
Nama
Semua record
ItemIndex
2
Edit
Name
edCari
Button
Name
btCariMhs
Caption
Cari
DBGrid
Name
DBGMhs
DataSource
DtSrcCariMhs
Pada event onClick milik btCariMhs, masukkan kode berikut:
procedure TForm2.btCariMhsClick(Sender: TObject);
var keyword,strQuery:string;
begin
ADOQryCariMhs.SQL.Clear;
// bersihkan memori
ADOQryCariMhs.Active:=false;
// nonaktifkan ADOQuery
strQuery:='SELECT * FROM MAHASISWA'; // query yg akan dimasukkan
if RGKriteria.ItemIndex=0 then
// kriteria: NIM
begin
keyword:=trim(edCari.Text);
if keyword<>'' then
begin
strQuery:=strQuery+' WHERE NIM="'+keyword+'"';
ADOQryCariMhs.SQL.Add(strQuery); // masukkan query yg baru
ADOQryCariMhs.Active:=true;
// aktifkan ADOQuery
if ADOQryCariMhs.RecordCount=0 then
MessageDlg('Data tidak ada!', mtInformation, [mbOK],0);
end
end
else if RGKriteria.ItemIndex=1 then // kriteria: Nama
begin
keyword:=trim(edCari.Text);
if keyword<>'' then
begin
strQuery:=strQuery+' WHERE Nama LIKE "%'+keyword+'%"';
ADOQryCariMhs.SQL.Add(strQuery);
ADOQryCariMhs.Active:=true;
if ADOQryCariMhs.RecordCount=0 then
MessageDlg('Data tidak ada!', mtInformation, [mbOK],0);
end
end
else if RGKriteria.ItemIndex=2 then // kriteria: semua data
begin
ADOQryCariMhs.SQL.Add(strQuery);
ADOQryCariMhs.Active:=true;
if ADOQryCariMhs.RecordCount=0 then
MessageDlg('Data tidak ada!', mtInformation, [mbOK],0);
end;
end;
38
Pencarian dilakukan dari tabel Mahasiswa dan akan menampilkan semua data, sehingga
variabel strQuery diisi dengan SELECT * FROM MAHASISWA. Bila anda ingin field
tertentu saja yang ditampilkan, maka gantilah * dengan nama field yang diinginkan.
Pencarian berdasar NIM adalah contoh pencarian yang mensyaratkan kesesuaian
sepenuhnya antara keyword (kriteria) yang dimasukkan dengan data di field tertentu.
Variabel strQuery ditambah dengan kondisi pencarian WHERE NIM=[keyword].
Pencarian berdasar Nama adalah contoh pencarian yang mengambil bagian dari field
tertentu. Variabel strQuery ditambah dengan kondisi pencarian WHERE NIM LIKE
%[keyword]%.
Pencarian berdasar semua data tidak menggunakan kriteria tertentu.
Untuk memasukkan query baru, maka ADOQuery harus dinonaktifkan terlebih dulu.
Setelah query dimasukkan melalui properti SQL, maka ADOQuery diaktifkan kembali.
Pengaktifan ini akan mengakibatkan query dieksekusi. DataSource yang terhubung ke
ADOQuery selanjutnya meneruskan hasil query ke Grid untuk ditampilkan.
Judul kolom grid akan menyesuaikan dengan nama field dari tabel. Untuk menentukan
nama sendiri, tambahkan kode berikut sebelum end yang terakhir:
procedure TForm2.btCariMhsClick(Sender: TObject);
...
begin
... // sama dengan sebelumnya
DBGMhs.Columns[0].Title.Caption:=NIM;
DBGMhs.Columns[1].Title.Caption:=Nama mahasiswa;
... // dan seterusnya tentukan judulnya sendiri
end;
Dengan demikian anda harus tahu persis berapa kolom yang dihasilkan dan bagaimana
urutannya. Nomor kolom diawali dari indeks 0.
Simpan form tersebut, perhatikan nama filenya karena akan dipanggil dari menu.
b. Memanggil form pencarian data dari menu
Form yang sudah dibuat akan dipanggil dari menu yang sudah dibuat sebelumnya. Buka
kembali form yang berisi menu, masukkan menu Pencarian dan sub menu Data
Mahasiswa.
Masukkan nama unit dari form pencarian ke dalam klausa Uses milik form menu.
Pada event Click untuk sub menu Data Mahasiswa, masukkan nama form pencarian (lihat
cara memasukkan form sebelumnya).
Jalankan program anda, kemudian simpan kembali program anda.
39
PRAKTIKUM 12
Kegiatan:
Report dengan menggunakan ADOQuery
Report yang sudah dibuat masih menampilkan semua data mahasiswa. Kali ini dengan
memanfaatkan ADOQuery akan dibuat report yang menampilkan data pengambilan nilai
mahasiswa tertentu. Report yang sudah dibuat tetap digunakan, hanya saja sekarang
diakses melalui menu di form menu. Yang dari form entry data mahasiswa adalah report per
mahasiswa.
a. Membuat menu untuk tampilan report semua data di form menu
Buka form menu, tambahkan menu Preview dan sub menu Data pribadi semua
mahasiswa serta sub menu Data nilai semua mahasiswa.
Rave Project untuk report data semua mahasiswa ada di form entry data mahasiswa.
Misalkan form entry data mahasiswa bernama frmMahasiswa dan Rave projectnya
bernama RvPrjMahasiswa. Kembali ke form menu, klik pada sub menu Data pribadi
semua mahasiswa, masukkan kode berikut:
procedure TfrmMenu.Semuamahasiswa1Click(Sender: TObject);
begin
frmMahasiswa.RvPrjMahasiswa.Execute;
end;
Rave Project untuk report data nilai semua mahasiswa juga ada di form entry data
mahasiswa. Misalkan Rave projectnya bernama RvPrjAmbilMKSemua. Kembali ke form
menu, klik pada sub menu Data nilai semua mahasiswa, masukkan kode berikut:
procedure TfrmMenu.Pengambilannilaisemuamahasiswa1Click(Sender:
TObject);
begin
frmMahasiswa.RvPrjAmbilMKSemua.Execute;
end;
Hapuslah kode pada event onClick di semua button Preview di form entry data
mahasiswa. Dengan demikian report semua mahasiswa Button tidak dihapus karena
akan digunakan untuk report per mahasiswa.
b. Membuat report pengambilan matakuliah per mahasiswa
Buka form entry data mahasiswa. Masukkan komponen RvProject, RvDataSetConnection,
dan ADOQuery. Atur propertinya sebagai berikut:
Jenis komponen
ADOQuery
Properti
Name
Connection
SQL
Nilai
ADOQryMahasiswa
ADOConAkademik
SELECT * FROM
MAHASISWA
RvProject
Name
RvPrjAmbilMKSendiri
RVDataSetConnection
DataSet
ADOQryMahasiswa
Name
RvDSMahasiswaQuery
Properti SQL adalah query untuk menentukan data set yang digunakan. Kali ini
40
ditentukan karena di report perlu diketahui struktur data yang digunakan. Nanti datanya
akan diubah melalui query dalam program tetapi tidak mengubah strukturnya.
Buka report pengambilan matakuliah semua mahasiswa. Simpan dengan nama lain.
Pada kolom Object TreeView di sebelah kanan, buka pilihan Data View Dictionary. Hapus
DataView yang mengarah ke data mahasiswa (pada report sebelumnya bernama
DataView1). Hal ini dilakukan karena kita tidak akan menggunakan data mahasiswa yang
sepenuhnya berasal dari tabel Mahasiswa seperti pada report sebelumnya.
Masukkan DataView baru (File New Data Object Direct Data View, pilih
RvDSMahasiswaQuery). Struktur tabel mahasiswa akan tampil di bawah DataView1.
Yang menggunakan DataView1 adalah DataBand1. Atur kembali properti DataView pada
DataBand1 dan semua komponen DataText dan Bitmap di dalamnya, agar mengarah ke
DataView1 yang baru saja dimasukkan. Simpan report anda.
Kembali pada form entry data mahasiswa, atur properti ProjectFile pada komponen
RvProject agar mengarah ke report yang baru anda buat.
Klik dua kali pada button Preview untuk menentukan kode pada event onClick. Masukkan
kode berikut:
procedure TfrmMahasiswa.btPreviewClick(Sender: TObject);
var strQuery,NIM:string;
begin
NIM:=dbeNIM.Text;
// dptkan NIM dari NIM yg tampil
strQuery:='SELECT * FROM MAHASISWA WHERE NIM="'+NIM+'"';
ADOQryMahasiswa.SQL.Clear;
// bersihkan memori
ADOQryMahasiswa.Active:=false; // nonaktifkan ADOQuery
ADOQryMahasiswa.SQL.Add(strQuery);
// tentukan query yang baru
ADOQryMahasiswa.Active:=true;
// aktifkan ADOQuery
RvPrjAmbilMKSendiri.Execute;
// eksekusi report
end;
Pertama kali dapatkan NIM yang akan ditampilkan reportnya dari edit yang menampilkan
NIM. Slanjutnya dibentuk string query yang menyertakan NIM, yang kemudian
dimasukkan ke properti SQL dan diaktifkan. Pada saat report dieksekusi, data yang
ditampilkan adalah data baru hasil query.
Jalankan dan simpan program anda.
c. Membuat report data pribadi mahasiswa
Pembuatan report data pribadi mahasiswa dilakukan dengan cara yang serupa dengan
yang baru saja anda lakukan. Masukkan ADOQuery, RvProject, RvDSConnection.
Tentukan properti yang sesuai (properti SQL pada ADOQuery diset supaya mengarah ke
data Mahasiswa). Buka report data semua mahasiswa yang suda ada, simpan dengan
nama lain (atau buat yang baru sehingga bisa menampilkan foto mahasiswa), atur
Dataviewnya. Tentukan project untuk RvProject, tentukan kode untuk button yang ada.
Jalankan dan simpan program anda.
41
PENUTUP
Praktikum Basis Data pada tahun akademik 2008/2009 menyajikan bagaimana
membuat program yang mengakses database dengan menggunakan Borland Delphi dan
Microsoft Access. Saya mengetengahkan beberapa cara untuk hal yang sama, misalkan
akses tabel dengan menggunakan ADOTable, dan ADOQuery (ADODataSet tidak dibahas,
anda bisa mencobanya sendiri). Anda bebas menggunakan yang mana, disesuaikan dengan
keperluan. Misalkan ingin menggunakan SQL gunakan ADOQuery, tetapi bila hanya
memasukkan atau edit data, gunakan ADOTable, atau bila ingin menggunakan keduanya
gunakan ADODataSet.
Belum semua hal diberikan karena keterbatasan waktu. Tetapi setidaknya bisa
memberikan gambaran tentang bagaimana pembuatan program yang mengakses basis
data. Silahkan kembangkan sendiri disesuaikan dengan permasalahan yang anda hadapi.
Kembangkan juga kemampuan anda, apa yang saya berikan masih sedikit, juga karena
pesatnya perkembangan di bidang pemrograman.
Demikian pula mengenai interface atau layout komponen, masih seadanya. Tidak ada
juga validasi data (misalnya anda akan menambahkan data mahasiswa baru, kemudian
langsung saja menyimpan data tanpa mengisi semua field atau hanya mengisi sebagian
saja).
42