Darmawan Satyananda Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Negeri Malang 2008

dokumen-dokumen yang mirip
MEMBUAT LAPORAN (DATA REPORT)

MODUL IX PEMROGRAMAN DATABASE DENGAN DELPHI. Untuk praktikum ini kita menggunakan Ms. Access sebagai databasenya.

ADO (Active-x Data Object)

IMPLEMENTASI ERD KE PROGRAM DATABASE DENGAN DELPHI MENGGUNAKAN DB ACCESS

Mengakses Database pada Delphi dengan ADO

HANDOUT KULIAH SISTEM INFORMASI MANAJEMEN

Identitas dosen POKOK BAHASAN. mendemonstrasikan tentang membuat project aplikasi dengan database access dengan benar (C3) Suherman,, ST Address

Membuat Koneksi Database Menggunakan ODBC (Open Database Conectivity)

MEMBUAT PROGRAM DENGAN DATABASE

IMPLEMENTASI PEMROGRAMAN VISUAL BASIC DENGAN DATABASE ACCESS

BAB VI MENGGUNAKAN DATABASE DESKTOP

MODUL X DATABASE VB. Modul Praktikum Bahasa Pemrograman Visual (BPV)

UNTUK MEMBUAT DESAIN SEPERTI DI ATAS IKUTI PETUNJUK TABEL DI BAWAH INI : NO

PANDUAN PRAKTIKUM PEMROGRAMAN BASIS DATA. Oleh: Wagito

E-Trik Visual C++ 6.0

PRAKTIKUM 10 REPORT LANJUTAN 72 C. TUGAS PENDAHULUAN Buat perancangan report untuk pegawai dan kerja seperti contoh dibawah ini : D. PERCOBAAN Buka da

Crystal Reports (Bagian 2)

PENGANTAR DATABASE DENGAN DELPHI Database dengan mengagunakan Delphi menggunakan konsep seperti gambar dibawah ini :

MEMBUAT APLIKASI DESKTOP DENGAN DATABASE ORACLE. UNIKOM (2010) Disusun Oleh : Andri Heryandi, M.T.

Praktikum 6 SubForm dan Kode VBA

Pertemuan 3 Bekerja dengan Kontrol

Modul Report Dan Form Report

Mengakses database Microsoft Access dengan Delphi 7.0

Modul Isikan di caption dari kotak yang ditandai garis File lalu tekan enter, lalu isi lagi dikanan dengan Menu

Sebelum kita membahas tentang Microsoft Access ada baiknya jika kita terlebih dahulu mengetahui apa yang dimaksud dengan database.

Sistem informasi penjualan barang

Mengakses database Microsoft Access dengan Delphi 7.0

Mengenal dan Mulai Bekerja dengan Access 2007

Spesifikasi: Ukuran: 14x21 cm Tebal: 159 hlm Harga: Rp Terbit pertama: Maret 2005 Sinopsis singkat:

ADODC. Gambar 5.1. ADODC

Pertemuan V Menggabungkan Form dengan Menu daan Membuat Laporan Menggunakan Crystal Report

Modul Praktikum Basis Data 11 Membuat Menu dengan Form

TABEL DATABASE TABEL - KODE BARANG TOKO INFOMART BARANG - NAMA BARANG - HARGA

BAB-I DATABASE DAN MENGENAL MICROSOFT ACCESS

PEMROGRAMAN DASAR XI TKJ SMK NEGERI 1 KUPANG

Praktikum Pemrograman 1. Mengenal Delphi


Bab 15 Menggunakan Menu Navigasi Berupa Switchboard dan Form

Gambar 1. Jendela Ms. Access Pilihan: New : menu untuk membuat file basis data baru. Recent : menu untuk membuka file basis data yang sudah ada.

DATABASE SQL SERVER. Database SQL Server Halaman 1

Menggunakan Microsoft Access (perhatikan untuk red text)

BAB-II OPERASI TABEL

URAIAN POKOK PERKULIAHAN

Modul 3 Pembuatan Form dengan Wizard dan Penambahan kode VBA

MEMBUAT KONEKSI MySQL DENGAN DELPHI7. Program yang disiapkan : 1. Delphi 7 2. MySQL. Langkah-langkah :

1. MENGENAL VISUAL BASIC

BAB-XI MEMBUAT SUBFORM

BAB 2 Membuat dan Menjalankan Form dengan Single Block

Modul 3. A. Database Desktop

BAB 3 Database dalam Form

Tutorial Lazarus Pemrograman Pascal Console, Visual dan Database Husni, husni.trunojoyo.ac.id, komputasi.wordpress.com

BAB 5. MEMBUAT DAN MENGGUNAKAN FORM

MODUL PRAKTIKUM 1 DASAR VISUAL BASIC 6.0

BAB 2 LANDASAN TEORI. Perangkat lunak adalah perintah ( program komputer ) yang bila dieksekusi

Sistem informasi penjualan barang

Model Koneksi Database Visual Basic 6.0 a. DAO (Data Access Objects) Menggunakan Objek Tanpa Objek b. ADO (ActiveX Data Objects) Menggunakan Objek Tan

BAB III PEMBAHASAN sampai 30 Agustus 2009 di Pemerintahan Desa Setianegara Kecamatan

Mengoperasikan Dasar-Dasar Basis Data (Database)

MODUL I. A. Instalasi Borland Delphi Buka file instalasi Borland Delphi Klik Run Program. 3. Klik Next

Penggunaan Komponen Combo Box

PRAKTIKUM 1 2 MENGENAL DELPHI

PEMAKAIAN MYSQL PADA DELPHI. Rachmat Selamet. Sekolah Tinggi Manajemen Informatika dan Komputer LIKMI Jl. Ir. H. Juanda 96 Bandung 40132

MODUL XIII FORM dan REPORTS

DATABASE. Visual Data Manager

Bab XII Mencetak Data SQL Server

Modul Praktikum Basis Data 7 Membuat Form Lebih Lanjut

MEMBUAT APLIKASI MENGGUNAKAN MICROSOFT ACCESS

PEMROGRAMAN BASIS DATA (DATABASE PROGRAMING)

Bab 10 Membuat, Menggunakan dan Memodifikasi Form

MODUL PERKULIAHAN APLIKASI KOMPUTER. Microsoft Access. Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

[Year] SILABUS: Kode Mata Kuliah MI09KB33 Mata Kuliah Pemrograman Visual II Prasyarat - Cosyarat

Membuat Aplikasi Database menggunakan Delphi. Bagian I Koneksi Database

KSI B ~ M.S. WULANDARI

ACCOUNT Q VERSI 3 PENGATURAN PROGRAM ACCOUNT Q VERSI 3 PENGATURAN PROGRAM DAFTAR PERKIRAAN DAFTAR BANK DAFTAR CUSTOMER TRANSAKSI KEUANGAN

Pemrograman Visual (Borland Delphi 7.0)

Gambar Contoh Sebuah Tabel

Modul Dasar Pemrograman Basis Data pada C++ Builder Materi : Komponen Basisdata pada C++ Builder & penggunaanya

Konsep Sistem Informasi B

Query adalah bahasa SQL (Structured Query Language) yang ditampilkan dalam bentuk visual, yang dapat digunakan untuk melihat, memodifikasi dan

Aplikasi Komputer. Bekerja Dengan Microsoft Excel Access (1) Ita Novita, S.Kom, M.T.I. Modul ke: Fakultas ILMU KOMPUTER. Program Studi Informatika

SMK BHAKTI NUSANTARA BOJA

I. INTEGRATED DEVELOPMENT ENVIRONMENT

PENGENALAN VISUAL FOXPRO

Koneksi Database BAB 1

BAB KONEKSI SQL SERVER

Menampilkan Data. LATIHAN 1 Menampilkan Data. ARSys Software Developed/AbdRohim 9

MENGOPERASIKAN PERANGKAT LUNAK BASIS DATA MICROSOFT ACCESS

Spesifikasi: Ukuran: 11x18 cm Tebal: 144 hlm Harga: Rp Terbit pertama: Juni 2005 Sinopsis singkat:

Bekerja dengan FORM dan EVENTS

PENGANTAR PERANGKAT LUNAK PENGOLAH DATA (6 jam)

DATABASE. Visual Data Manager

Ringkasan Bab 1. Bab 1 ini akan membahas pemakaian dasar Access secara menyeluruh. Topik-topiknya antara lain:

a. Menyiapkan database

Pengenalan IDE Delphi. 1 By : Eko Budi Setiawan

PROGRAM PENJUALAN TUNAI. (Menggunakan Microsoft Acces)

STMIK DIKTAT SINGKAT MACROMEDIA DREAMWEAVER 8 SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER TASIKMALAYA.

APLIKASI KOMPUTER. Pokok Bahasan : MS. Access 2010 (Bagian 1) Anggun Puspita Dewi, S.Kom., MM. Modul ke: Fakultas MKCU

KOMPUTER APLIKASI BISNIS

BAB-3 MEMBUAT DAN MENGATUR QUERY

MENU DAN TOOLBOX. Menu PopUp merupakan pengembangan dari menu yang ditampilkan di luar form, lepas dari menu bar.

Transkripsi:

Darmawan Satyananda 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 Field type Field size NIM Text 12 (key) Nama Text 40 Jurusan Text 15 Prodi Text 15 Alamat Text 50 TempatLahir Text 20 TanggalLahir Date/Time Short date JenisKelamin Text1 1 2. Tabel DOSEN Field name Field type Field size NIP Text 12 (key) SandiDosen Text 6 NamaDosen Text 20 3. Tabel MATAKULIAH Field name Field type Field size KodeMK Text 7 (key) NamaMK Text 25 SKS Number Byte JS Number Byte Sifat Text 1 4. Tabel MENGAJAR Field name Field type Field size KodeMK Text 7 (key) Darmawan Satyananda Praktikum Basis Data 08/09 1

SandiDosen1 Text 6 SandiDosen2 Text 6 Hari1 Text 6 Jam1 Text 3 Ruang1 Text 5 Hari2 Text 6 Jam2 Text 3 Ruang2 Text 5 Semester Text 7 (key) 5. Tabel NILAI Field name Field type Field size NIM Text 12 (key) KodeMK Text 7 (key) Nilai Text 2 SmtAmbil Text 7 (key) 6. Tabel PRODI Field name Field type Field size NamaProdi Text 20 (key) Jurusan Text 20 Fakultas Text 15 b. Teknologi akses database dengan Delphi Hampir semua bahasa pemrograman bisa melakukan pengaksesan basisdata. Masingmasing basis data mempunyai cara tersendiri untuk menyatakan data yang disimpan di dalamnya. Delphi bisa menggunakan beberapa teknologi pengaksesan basis data. Deskripsi ringkasnya bisa dilihat pada tabel berikut: Nama Teknologi Borland Database Engine (BDE) ActiveX Data Object (ADO) dbexpress Interbase Express (IBX) 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 Darmawan Satyananda Praktikum Basis Data 08/09 2

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. Darmawan Satyananda Praktikum Basis Data 08/09 3

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. Darmawan Satyananda Praktikum Basis Data 08/09 4

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. Gambar 1.1. Form yang berisi dua tabsheet. b. Menentukan ADOConnection Karena kita akan mengisi page untuk entry, klik pada tab Entry data. Klik pada tab ADO di Component Pallette, masukkan komponen ADOConnection ke form. Komponen ini sifatnya nonvisual (tidak ditampakkan) sehingga anda tidak perlu menentukan ukuran dan posisi komponen di form. Gambar 1.2. Isi Tab ADO Untuk melakukan koneksi ke suatu database, properti yang harus diset adalah ConnectionString. Anda bisa menuliskan teksnya secara langsung, menggunakan ConnectionString builder, atau menuliskan teksnya sebagai bagian dari kode program. Yang ditunjukkan berikut adalah dengan menggunakan ConnectionString builder. Klik dua kali pada kolom kosong di properti ConnectionString, selanjutnya akan tampak tampilan untuk menentukan sumber koneksi. Pastikan sudah terpilih Use Connection String, lalu klik button Build. Darmawan Satyananda Praktikum Basis Data 08/09 5

Gambar 1.3. Kotak dialog untuk menentukan Connection String Selanjutnya akan ditampilkan kotak dialog Data Link Properties. Yang ditampilkan di kotak tersebut adalah provider OLE DB (standar basisdata yang dikenal ADO). Karena menggunakan MS Access, pilih Microsoft Jet 4.0 OLE DB Provider, lalu klik Next Gambar 1.4. menentukan provider OLE DB Selanjutnya tentukan nama basisdata yang akan dikoneksikan. Untuk memudahkan, klik pada button ellipsis, yang akan menampilkan kotak dialog untuk memilih file. Tentukan nama file yang akan dibuka, klik Open. Nama dan lokasi file yang dibuka akan ditampakkan pada window Data Link Properties. Darmawan Satyananda Praktikum Basis Data 08/09 6

Gambar 1.5. Menentukan basisdata yang akan dikoneksikan. Catatan: anda bisa menggunakan setting yang diberikan, tetapi akibatnya bila anda berpindah ke komputer lain maka ada kemungkinan program tidak bisa menemukan file database anda. Ini dikarenakan yang digunakan adalah path absolut yang mencatat nama drive dan folder tempat file berada. Gunakan path relatif sehingga lebih fleksibel. Untuk mudahnya, letakkan file database pada folder yang sama dengan program. Hapuslah nama drive dan folder sehingga tinggal menampakkan nama filenya saja seperti berikut: 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 Nilai Keterangan LoginPrompt False Agar kotak dialog untuk menanyakan nama user dan password tidak Darmawan Satyananda Praktikum Basis Data 08/09 7

Properti Nilai Keterangan ditampilkan (asumsi: file database tidak menggunakan nama user dan password). Name ADOConAkademik 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 Nilai Keterangan Connection ADOConAkademik Diarahkan ke ADOConnection yang dibuat sebelumnya TableName Matakuliah Menentukan nama tabel yang akan dibuka Name ADOTbMataKuliah d. Menentukan DataSource Masukkan komponen DataSource dari tab DataAccess ke dalam form. Komponen ini juga bersifat nonvisual. Ubah properti lainnya: Properti Nilai Keterangan DataSet ADOTbMataKuliah Diarahkan ke ADODataSet yang dibuat sebelumnya Name DtSrcMatakuliah e. Memasukkan komponen DataControls Setelah semua setting terkait dengan akses data sudah ditentukan, berikutnya yang dimasukkan adalah komponen untuk menampilkan field tertentu dalam tabel. Anda bisa menggunakan komponen pada tab Standard atau pada tab DataControls, tetapi lebih disarankan menggunakan komponen DataControls untuk memudahkan pengaksesan dan pemrogramannya. Masukkan sejumlah komponen untuk membentuk tampilan form berikut, lalu sesuaikan propertinya dengan yang ada di tabel berikutnya. Perhatikan bahwa semua komponen dengan awalan DB terletak di tab DataControls. Darmawan Satyananda Praktikum Basis Data 08/09 8

Pengaturan properti komponen: Gambar 1.6. Tata letak form pengisian data Nama/jenis Properti Nilai Keterangan komponen Label Caption Data Master MataKuliah Label Caption Kode Matakuliah: Label Caption Nama Matakuliah: Label Caption SKS: Label Caption JS: Label Caption Sifat: DBEdit Name dbekodemk DataSource DtSrcMataKuliah DataField KodeMK Pilih dari list yang ada DBEdit Name dbenamamk DataSource DtSrcMataKuliah DataField NamaMK Pilih dari list yang ada DBComboBox Name dbcsks DataSource DtSrcMataKuliah DataField SKS Pilih dari list yang ada Items 2 3 4 Klik pada tombol ellipsis (...), lalu masukkan optionnya. Ini nilai yang ditampilkan di form dan disimpan di tabel DBRadioGroup Name dbrgjs Caption - (kosongkan) DataSource DtSrcMataKuliah DataField JS Pilih dari list yang ada Darmawan Satyananda Praktikum Basis Data 08/09 9

Items 3 4 Values 3 4 Klik pada tombol ellipsis, lalu masukkan optionnya. Ini nilai yang ditampilkan di form Klik pada tombol ellipsis, lalu masukkan optionnya. Ini adalah nilai yang disimpan di tabel DBRadioGroup Name dbrgsifat Caption - (kosongkan) DataSource DtSrcMataKuliah DataField Sifat Pilih dari list yang ada Items Wajib Pilihan Klik pada tombol ellipsis, lalu masukkan Values W P optionnya Klik pada tombol ellipsis, lalu masukkan optionnya Setiap komponen DataControl dikaitkan dengan satu field tertentu dalam dataset. Penggunaan RadioGroup dan ComboBox dimaksudkan untuk membatasi nilai yang diisikan sehingga memperkecil peluang salah. f. Membuka dataset. Untuk dapat digunakan, dataset harus dalam keadaan terbuka. Pembukaan dataset bisa dilakukan pada saat form dipanggil. Berarti kita bisa memanfaatkan event FormCreate, yang terjadi pada saat form dibuat. Klik 2x pada form (jangan di atas komponen yang lain). Selanjutnya ditampilkan kerangka event handler untuk FormCreate. Masukkan kode berikut: procedure TForm1.FormCreate(Sender: TObject); ADOTbMataKuliah.Open; // membuka dataset end; g. Menyimpan form. Simpanlah form anda dengan menekan File Save All. Tentukan nama form dan lokasinya (beri nama InputMK) serta nama project dan lokasinya (beri nama PrjAkademik). Anda bisa menentukan nama apapun asal tetap diingat dan konsisten. Sebaiknya diletakkan ke dalam sebuah folder tertentu. h. Menjalankan program. Sekarang jalankan form anda. Betulkan semua kesalahan yang muncul, dan bila sudah maka form anda akan menampilkan data pertama di tabel (bila sudah terisi data sebelumnya). Bila tabelnya kosong maka tidak ada teks apapun yang ditampilkan. Pada saat ini kita belum bisa isikan apapun karena belum ada perintah untuk menyimpan. Lanjutkan ke praktikum 2 untuk bisa menyimpan data. Darmawan Satyananda Praktikum Basis Data 08/09 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: Darmawan Satyananda Praktikum Basis Data 08/09 11

Procedure TForm1.AturIsianMK(kondisi: boolean); //komponen isian data dbekodemk.enabled:=kondisi; dbenamamk.enabled:=kondisi; dbcsks.enabled:=kondisi; dbrgjs.enabled:=kondisi; dbrgsifat.enabled:=kondisi; end; Properti dari masing-masing komponen yang digunakan untuk mengatur aktif tidaknya komponen adalah Enabled. Bila properti Enabled bernilai true maka komponen tersebut aktif (bisa digunakan), sedangkan bila false maka komponennya menjadi tidak bisa digunakan. Nilai true dan false dilewatkan melalui parameter kondisi yang bertipe boolean. Pergilah ke procedure FormCreate lalu tambahkan kode berikut (yang tercetak tebal): ADOTbMatakuliah.Open; // membuka dataset AturIsianMK(false); // matikan komponen isian end; Jalankan program anda, maka semua isian dalam keadaan non aktif sehingga anda tidak bisa mengubah data. Untuk mengubahnya, klik pada button Edit atau Insert di navigator. Sekarang bila anda klik pada button Edit atau Insert di navigator, isian belum aktif karena belum ada perintah mengaktifkan. Berarti perintah pengaktifan dimasukkan pada event Click milik navigator. Cari properti OnClick milik navigator, klik 2x untuk menampilkan kerangka event handler. Masukkan kode berikut: procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn); if button in [nbedit, nbinsert] then AturIsianMK(true) else AturIsianMK(false) end; Maksud kodenya adalah mengaktifkan komponen isian bila button Edit dan Insert ditekan (memanggil procedure AturIsianMK dengan parameter false) dan menonaktifkan komponen pengisian bila button lainnya ditekan (memanggil procedure AturIsianMK dengan parameter true). nbedit dan nbinsert adalah kode untuk button Edit dan Insert. Pada parameter terdapat Button, ini digunakan untuk menampung tombol mana yang ditekan (dihasilkan oleh sistem, anda tinggal melihat isinya saja, apakah nbedit atau yang lain). Simpan kembali program anda. Darmawan Satyananda Praktikum Basis Data 08/09 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. Gambar 3.1. DBGrid setelah dimasukkan ke tab Browse Sama halnya dengan komponen DataControls lain, DBGrid juga harus dikaitkan dengan data source tertentu untuk dapat menampilkan data. Ubah nilai properti Datasource menjadi DtSrcMataKuliah (atau data source lain yang sesuai). Jalankan, maka isi seluruh tabel akan ditampilkan di grid. Banyaknya field yang ditampilkan menyesuaikan dengan banyaknya field di dataset yang diacu. Bila salah satu baris di grid diklik, maka record yang sesuai akan ditampilkan di tab Entry Data. b. Mengatur tampilan DBGrid Secara defaultnya, DBGrid menampilkan semua field dalam tabel. Bila hanya akan menampilkan field tertentu saja, maka perlu dilakukan pengaturan properti DBGrid. Klik kanan pada DBGrid, pilih Columns Editor. Akan tampak editor kolom DBGrid. Tekan tombol Insert beberapa kali sesuai dengan banyaknya kolom (field) yang akan ditampilkan. Darmawan Satyananda Praktikum Basis Data 08/09 13

Gambar 3.2. Editor DBGrid. Misalkan pada kolom 0 akan ditampilkan kode matakuliah, maka klik pada 0 TColumn". Klik properti FieldName pada Object Inspector, pilih field KodeMK. Tentukan juga field yang ditampilkan oleh kolom lain dengan cara yang serupa. Jalankan kembali program anda, maka DBGrid akan menampilkan field yang sudah ditentukan. c. Mencegah pengubahan data lewat DBGrid Cobalah memilih salah satu field di record yang ditampilkan di grid, lalu ubahlah data anda. Kembalilah ke tab Entry Data, maka isi field akan berubah. Bukalah tabel yang sesuai, maka perubahan akan tersimpan. Grid memang bisa digunakan untuk mengedit data, menghapus, dan menyisipkan data baru. Untuk mencegah pengubahan data yang ditampilkan, maka aturlah properti ReadOnly milik DBGrid menjadi True. Simpan program anda. Darmawan Satyananda Praktikum Basis Data 08/09 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. Darmawan Satyananda Praktikum Basis Data 08/09 15

Gambar 4.1. Tata letak komponen. b. Menentukan isian bagi DBLookupComboBox Komponen yang bisa digunakan untuk pemilihan antara lain radio button, check box, list box, dan combo box (anda sudah menggunakan radio button pada saat menentukan jenis kelamin pada saat entry data mahasiswa atau jenis matakuliah pada saat entry data matakuliah). Pilihan yang disajikan bisa dimasukkan sebagai properti komponen tersebut atau disimpan dalam tabel tersendiri. Cara terakhir lebih tepat bila datanya mungkin bertambah atau berkurang, misalnya jurusan di suatu universitas. Komponen yang itemnya digunakan untuk pengacuan dinamakan dengan lookup control, salah satunya adalah dblookupcombobox. Komponen dbcombobox serupa dengan ComboBox biasa yaitu digunakan untuk memilih sejumlah item yang disediakan, hanya saja dbcombobox dikaitkan dengan field tertentu di tabel. dblookupcombobox serupa dengan dbcombobox, hanya saja item yang ditampilkan didapatkan dari tabel, bukan sebagai bagian properti Items. Untuk menentukan isian yang bisa dipilih, berikut ini langkahnya: Pada prinsipnya setiap sumber data yang berbeda yang digunakan oleh komponen tertentu memerlukan data source tersendiri. Untuk menangani data dari tabel Prodi, tambahkan komponen ADOTable dan DataSource, lalu atur propertinya: Jenis komponen Properti Nilai ADOTable Name ADOTblProdi Connection ADOConAkademik TableName Prodi DataSource Name DtSrcProdi DataSet ADOTblProdi Darmawan Satyananda Praktikum Basis Data 08/09 16

Modifikasi properti komponen dblookupcombobox anda: Properti Nilai Keterangan ListSource DtSrcProdi 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 Nilai Keterangan Name ADOTblPengambilan Connection ADOConAkademik TableName Nilai Nama tabel yang diacu MasterSource DtSrcMahasiswa Mengaitkan ADOTblPengambilan (tabel Nilai) dengan DtSrcMahasiswa (tabel Mahasiswa). DtSrcMahasiswa bertindak sebagai Master. Pada kode program, carilah procedure FormCreate. Tambahkan pada baris terakhir kode berikut (yang tercetak tebal, bagian lain tetap): Darmawan Satyananda Praktikum Basis Data 08/09 17

procedure TForm1.FormCreate(Sender: TObject);... ADOTblPengambilan.Open; end; f. Menggunakan properti Master-Fields Selanjutnya, dilakukan pengaturan bagaimana cara kedua dataset tersebut berhubungan. Pilih properti MasterFields, dan klik button ellipsis di sebelahnya. Kotak dialog Field Link Designer akan ditampilkan. Field tabel Nilai ditampilkan pada Detail Fields, dan field tabel Mahasiswa ditampilkan pada Master Fields. Gambar 4.2. Field Link Designer. Klik NIM pada Detail Fields dan klik NIM pada Master Fields, lalu klik Add. Ini berarti bahwa hubungan Master-Fields dilakukan melalui kedua field tersebut. Klik OK. Masukkan komponen DataSource (dari tab DataAccess) ke dalam form, atur propertinya: Properti Nilai Name DtSrcPengambilan DataSet ADOTblPengambilan DataSource diperlukan sebagai sumber data bagi komponen pengisian data pengambilan matakuliah. Jadi prinsipnya adalah bila ada sejumlah sumber data yang berbeda maka ada sejumlah komponen DataSource pula. g. Memasukkan komponen lain pada tab Entry Pengambilan Matakuliah Masukkan sejumlah komponen lain untuk keperluan entry data pengambilan matakuliah, atur posisinya seperti pada gambar 4.3. Tabel Nilai memiliki 4 field, tetapi hanya 3 field yang diisi (bayangkan seperti pada saat pengisian KRS, tentunya belum ada nilai untuk matakuliah yang diambil). Entry data NIM dan Semester Ambil menggunakan dbedit, sedangkan untuk kode matakuliah menggunakan dblookupcombobox. Atur penamaannya masing-masing sebagai berikut: Nama/jenis Properti Nilai komponen dbedit Name dbenimambil Darmawan Satyananda Praktikum Basis Data 08/09 18

Nama/jenis Properti Nilai komponen DataSource DtSrcPengambilan DataField NIM ReadOnly True dblookupcombobox Name dbckodemkambil DataSource DtSrcPengambilan DataField KodeMK dbedit Name dbesmtambil DataSource DtSrcPengambilan DataField SmtAmbil Gambar 4.3. Isi tab Pengambilan Matakuliah Dengan cara yang sama seperti pada saat anda menentukan properti untuk isian kode prodi pada Entry data mahasiswa, aturlah properti untuk kode matakuliah yang diambil. Data yang ditampilkan di ListSource adalah data kode matakuliah. Berarti anda harus menambahkan komponen ADOTable untuk tabel Matakuliah dan menambahkan DataSource. Atur supaya dbckodeambil mengacu ke DataSource yang baru ini. Atur pula properti ListField dan KeyField (apa yang seharusnya ditampilkan dan disimpan?). h. Mengatur aktif-tidaknya komponen pada tab Entry Pengambilan Matakuliah Lakukan hal yang serupa dengan yang anda lakukan pada saat menentukan aktif tidaknya komponen untuk entry data MataKuliah atau entry data Mahasiswa Coba jalankan program anda. Pilih salah satu mahasiswa, lalu berpindahlah ke tab Pengambilan Matakuliah. Klik button untuk insert data baru, maka NIM mahasiswa secara otomatis ditampilkan di edit box untuk isian NIM. Isikan data yang lain, dan lihat di tabel Nilai, maka data anda akan tersimpan. Darmawan Satyananda Praktikum Basis Data 08/09 19

i. Menambahkan grid untuk menampilkan semua matakuliah yang diambil Kalau diperhatikan, data pengambilan matakuliah hanya ditampilkan satu per satu. Untuk menampilkan semua data, tambahkan DBGrid pada tab pengambilan matakuliah. Arahkan datasourcenya ke data source untuk pengambilan MK, dan buat agar read only. Jalankan program anda, tampak semua data mahasiswa tersebut ditampilkan. Bila anda menambah data pengambilan matakuliah, maka akan muncul satu baris data yang baru. Simpan semua pekerjaan anda. Darmawan Satyananda Praktikum Basis Data 08/09 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 Properti Nilai RvDataSetConnection Name RvDSMahasiswa DataSet 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. Darmawan Satyananda Praktikum Basis Data 08/09 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: Darmawan Satyananda Praktikum Basis Data 08/09 22

Pilih tab Report, pilih komponen CalcText dan letakkan pada sebelah kiri field DataText pertama di DataBand1. Lakukan pengaturan propertinya: Properti Nilai Keterangan CalcType ctcount Menyatakan proses untuk mendapatkan cacah data Controller DataBand1 Komponen yang dijadikan acuan untuk melakukan perhitungan ketika data dicetak RunningTotal true Melakukan penjumlahan nilai sebelumnya dengan 1 h. Menentukan tanggal dan nomor halaman pada Band sebagai footer Untuk memasukkan nomor halaman laporan, masukkan sebuah DataText (ada di tab Report) ke Band2 (tidak harus di footer sebenarnya, hanya saja kali ini kita akan letakkan di footer). Melalui panel Property, pilih properti DataField, klik button ellipsis, selanjutnya akan ditampilkan Data Text Editor. Gambar 5.1. Data Text Editor Pada kotak di bawah Data Text ketikkan Halaman: + (tuliskan lengkap dengan tanda petik dan plus) Pastikan isian Report Variables berisi CurrentPage, lalu klik button Insert Report Var. Isian di kotak Data Text akan menjadi Halaman: + Report.CurrentPage. Klik OK untuk mengakhiri. Darmawan Satyananda Praktikum Basis Data 08/09 23

Untuk memasukkan keterangan tanggal, masukkan kembali DataText ke dalam report. Tampilkan Data Text Editor, lakukan hal seperti di atas, tetapi pastikan isian Report Variables adalah DateLong. i. Menambahkan keterangan pada akhir report Pada akhir laporan juga bisa ditambahkan keterangan (misalnya untuk menampilkan total penjumlahan atau keterangan lain). Tambahkan komponen Text (dari tab Standard), atur teks yang ditampilkan (misalnya: Universitas Negeri Malang ) Bila semua langkah anda lakukan dengan benar, maka tampilan report anda kurang lebih sebagai berikut: j. Menyimpan dan melihat hasilnya Gambar 5.2. Tampilan rancangan report 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); rvprjmahasiswa.execute; end; Jalankan programnya, maka report akan ditampilkan bila button Preview diklik. Simpan pekerjaan anda. Darmawan Satyananda Praktikum Basis Data 08/09 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 Properti Nilai RvDataSetConnection Name RvDSAmbilMK DataSet 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. Darmawan Satyananda Praktikum Basis Data 08/09 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 Nilai Keterangan BandStyle cek pada Body Header, First, dan New Page Membuat band sebagai header, muncul di halaman pertama, dan setiap halaman baru. ControllerBand DataBand1 Keberadaan Band1 ditentukan oleh DataBand1 Masukkan sebuah komponen Text (dari tab Standard), ubah teksnya menjadi Transkrip Nilai Ubah properti DataBand1: Properti Nilai Keterangan DataView DataView1 (sesuaikan dengan Nama data view untuk data semua mahasiswa data sebenarnya) BandStyle cek pada Detail dan First Sebagai bagian yang berisi data dari tabel Tambahkan dua buah komponen text (dari 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 Gambar 6.1. Layout Band1 dan DataBand1 e. Menambahkan Band dan DataBand untuk data matakuliah Masukkan sebuah Band dan DataBand (akan bernama sebagai Band2 dan DataBand2). Band2 akan digunakan untuk meletakkan judul data matakuliah yang diambil setiap mahasiswa, dan DataBand2 berisi data rinci matakuliah tersebut. Ubah properti Band2: Properti Nilai Keterangan BandStyle tambahkan cek pada Detail dan First Darmawan Satyananda Praktikum Basis Data 08/09 26

ControllerBand DataBand1 Keberadaan Band2 ditentukan oleh DataBand1 Masukkan tiga buah komponen Text secara mendatar ke kanan, masing-masing digunakan untuk menampilkan teks Kode MK, Nilai", dan Semester Ambil. Tambahkan garis pembatas bila perlu (dari tab Drawing). Atur properti DataBand2: Properti Nilai Keterangan ControllerBand DataBand1 Keberadaan DataBand2 ditentukan oleh DataBand1 DataView DataView2 Nama data view yang berisi data pengambilan matakuliah DetailKey NIM Field di tabel detail yang terhubung dengan Master MasterDataView DataView1 DataView yang bertindak sebagai Master MasterKey NIM Field di tabel master yang terhubung dengan Detail BandStyle Cek pada checkbox Detail dan First Masukkan komponen DataText ke dalam DataBand2, di bawah judul kolom KodeMK. Atur properti DataView agar mengarah ke DataView2, dan DataField ke field KodeMK. Tambahkan DataText lain untuk Nilai dan Semester Ambil. Layoutnya kurang lebih sebagai berikut: Gambar 6.2. Layout Band2 dan DataBand2 Coba lihat hasilnya dengan menekan F9. Simpan hasilnya bila sudah selesai. Perhatikan masih ada kelemahan: tidak bisa menampilkan nama matakuliah dan SKS. f. Menambahkan footer Tambahkan sebuah Band baru (Band3). Band ini digunakan sebagai penutup laporan setiap mahasiswa. Ubah propertinya: Properti Nilai Keterangan ControllerBand DataBand2 Keberadaan Band3 ditentukan oleh DataBand2 FinishNewPage True Setelah selesai ditampilkan, maka memaksa untuk pindah ke halaman baru BandStyle Cek pada checkbox BodyFooter dan First Tambahkan garis penutup dan keterangan lain yang perlu, misalnya tanggal dan nama rektor, dan nomor halaman. Tata letaknya sebagai berikut: Darmawan Satyananda Praktikum Basis Data 08/09 27

Gambar 6.3. Layout Band3 g. Menampilkan report Simpan report yang dibuat dengan nama RvPrjMahasiswaAmbil Tambahkan sebuah button di tab Pengambilan Matakuliah. Tentukan kodenya agar bisa membuka RvPrjMahasiswaAmbil. Jalankan programnya dan simpan hasilnya bila sudah selesai. Bila dilihat, masih ada kelemahan yaitu masih menampilkan kode matakuliah saja, belum sampai pada nama dan SKSnya. Yang lain adalah bila seorang mahasiswa tercatat di tabel Mahasiswa dan tidak mengambil kuliah apapun, maka transkrip tetap tercetak. Darmawan Satyananda Praktikum Basis Data 08/09 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 Properti Nilai komponen Button Caption Ambil foto Name btambilfoto Button Caption Hapus foto Name bthapusfoto DBImage Name dbifoto Stretch True DataSource DtSrcMahasiswa DataField Foto OpenPictureDialog Name opambilfile Title Ambil file foto Darmawan Satyananda Praktikum Basis Data 08/09 29

Tampilannya kurang lebih sebagai berikut: Gambar 7.1. Layout form Entry Data Mahasiswa Untuk menyimpan image, maka terlebih dulu harus ditentukan filenya. Pemilihannya menggunakan komponen OpenPictureDialog. Pengaktifannya menggunakan button AmbilFoto. Tampilkan event handler onclick milik btambilfoto, lalu masukkan kode berikut: procedure TForm2.btAmbilFotoClick(Sender: TObject); var nama:string; if opambilfile.execute then nama:=opambilfile.filename; dbifoto.picture.loadfromfile(nama); end; end; Execute adalah method untuk menampilkan kotak dialog. Outputnya berupa nilai True (bila ada file yang dipilih) dan False (bila batal memilih). Nama file yang dipilih ada di properti FileName. Untuk menampilkan image dari file yang dipilih, digunakan method LoadFromFile milik dbifoto dengan prameternya adalah nama file yang akan ditampilkan. Untuk menghilangkan (menghapus) image yang tersimpan, perintah yang harus dimasukkan ke button bthapusfoto adalah sebagai berikut: procedure TForm2.btHapusFotoClick(Sender: TObject); dbifoto.picture:=nil; end; c. Memodifikasi pengaktifan tombol Ingat kembali bahwa pada saat program dijalankan, ada bagian yang dinonaktifkan dan baru diaktifkan bila datanya akan diedit atau dilakukan pengisian data baru. Ubahlah Darmawan Satyananda Praktikum Basis Data 08/09 30

procedure AturIsianMahasiswa sebagi berikut: (tambahkan di akhir procedure bagian yang tercetak tebal) procedure TForm2.AturIsianMahasiswa(kondisi: boolean);... // sama dengan sebelumnya dbifoto.enabled:=kondisi; btambilfoto.enabled:=kondisi; bthapusfoto.enabled:=kondisi; end; d. Menjalankan form yang dimodifikasi Coba jalankan programnya, lalu edit data yang sudah ada atau menambahkan data baru. Pada saat pengisian foto, pilih salah satu file image yang sudah anda siapkan. Sebaiknya anda telah mengubah ukuran imagenya sehingga database anda tidak terlalu besar ukurannya (untuk mengubah ukuran image bisa digunakan image editor seperti ACDSee atau Paint). Ingat bahwa tipe filenya adalah bmp. Bila program anda hentikan lalu dijalankan lagi maka image yang tersimpan akan ditampilkan kembali Simpan program anda. Darmawan Satyananda Praktikum Basis Data 08/09 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 Nilai Keterangan DataView DataView1 DataView untuk data mahasiswa (sesuaikan namanya dengan milik anda) DataField Foto MatchedSide msboth msboth: menyesuaikan ukuran gambar yang ditampilkan dengan ukuran yang ditentukan di laporan Coba eksekusi reportnya, maka image mahasiswa akan ditampilkan. Bila mahasiswa tidak memliki image yang tersimpan maka tidak ada yang ditampilkan. Simpan kembali pekerjaan anda. Darmawan Satyananda Praktikum Basis Data 08/09 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. Gambar 9.1. Tampilan menu designer Tuliskan Program, lalu klik di sebelah kanannya untuk menuliskan Data. Berarti ada dua main menu. Untuk menambahkan submenu, pilih pada salah satu main menu, maka akan ditampakkan bagian yang bertanda biru di bawahnya. Misalkan klik pada Program dan tuliskan Selesai di bawahnya. Lakukan hal yang serupa untuk menambahkan sub menu Data Matakuliah dan Data Mahasiswa sebagai submenu dari Data. Tutup menu designer untuk mengakhiri pembuatan main menu. c. Melakukan referensi ke form lain Form yang sedang dirancang ini nantinya akan ditampilkan pertama kali dan memanggil form lain. Untuk itu perlu dilakukan pengacuan terhadap form lain. Buka form Input data Mahasiswa, tampilkan code editornya, dan pergilah ke baris pertama. Perhatikan dan Darmawan Satyananda Praktikum Basis Data 08/09 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); 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); 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. Darmawan Satyananda Praktikum Basis Data 08/09 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; 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: Darmawan Satyananda Praktikum Basis Data 08/09 35

Gambar 11.1. Tampilan InputQuery b. Eksekusi form entry data Matakuliah. Jalankan program anda, tampilkan form entry data matakuliah. Klik pada button Cari. Pada saat kode matakuliah diisikan dan OK ditekan, program akan mencari data yang sesuai dengan menggunakan method Locate. Parameternya adalah: (1) Nama field yang akan dicari datanya, (2) Kriteria pencarian (bisa secara langsung atau nilai dalam variabel), dan (3) Himpunan yang menyatakan opsi pencarian. Konstanta lopartialkey berarti akan mencari field yang nilainya sama atau mengandung bagian dari kriteria yang ditentukan. Konstanta lain adalah locaseinsensitive yang tidak mempertimbangkan besar/kecilnya huruf. Jalankan program anda dan klik pada button Cari, selanjutnya akan ditanyakan kode matakuliah. Coba isikan salah satu kode, bila ada maka record pertama yang sesuai akan ditampilkan. Bila anda isikan bagian dari kode matakuliah (misalkan MAU ) maka record pertama yang diawali dengan MAU akan ditampilkan. Bila anda ulangi pencarian dengan kriteria yang sama maka hasilnya akan tetap, jadi hanya record yang pertama ditemukan saja yang ditampilkan. Apa yang terjadi bila anda isikan bagian dari kode matakuliah berupa karakter yang bukan karakter pertama (misal AU atau 499 )? Simpan program anda. Darmawan Satyananda Praktikum Basis Data 08/09 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: Gambar 11.1. Page baru dan sejumlah komponen di dalamnya. Atur propertinya sebagai berikut: Jenis komponen Properti Nilai ADOConnection ConnectionString (arahkan ke basis data akademik) LoginPrompt False Name ADOConAkademik ADOQuery Name ADOQryCariMhs Darmawan Satyananda Praktikum Basis Data 08/09 37