Download - Pemrograman Database (1).pdf
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 1
KKOONNSSEEPP DDAASSAARR
PPEEMMRROOGGRRAAMMAANN DDAATTAABBAASSEE
OBJEKTIF
� Mahasiswa Dapat Memahami aspek-aspek penting pada pemrograman database
ASPEK-ASPEK PENTING PEMROGRAMAN DATABASE
aat ini perangkat lunak semakin luas dan besar lingkupnya, sehingga tidak bisa lagi dibuat asal-asalan. Perangkat lunak saat ini seharusnya dirancang dengan
memperhatikan hal-hal seperti scalability, security, dan eksekusi yang robust walaupun dalam kondisi yang sulit. Selain itu arsitekturnya harus didefinisikan dengan jelas, agar bug mudah ditemukan dan diperbaiki, bahkan oleh orang lain selain programmer aslinya. Keuntungan lain dari perencanaan arsitektur yang matang adalah dimungkinkannya penggunaan kembali modul atau komponen untuk aplikasi perangkat lunak lain yang membutuhkan fungsionalitas yang sama. Pemrograman Database merupakan salah satu bentuk spesifik dari teknik pemrograman. Dimana objek utama komputasi dari teknik pemrograman ini adalah Database. Terdapat beberapa aspek-aspek penting dari pemrograman database yaitu : 1. Pemodelan Sistem 2. Perancangan Database 3. Pemilihan Bahasa Pemrograman 4. Pengkodean (coding) 5. Perancangan sistem report 6. Proses Debugging dan Testing 7. Optimasi perangkat lunak 8. Dokumentasi Perangkat Lunak 9. Pembuatan File Instalasi
PEMODELAN SISTEM
emodelan (modeling) adalah proses merancang perangkat lunak sebelum melakukan pengkodean (coding). Model perangkat lunak dapat dianalogikan
seperti pembuatan blueprint pada pembangunan gedung. Membuat model dari
S
P
MMoodduull
11
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
2 Langkah Pasti Menuju Sukses
sebuah sistem yang kompleks sangatlah penting karena kita tidak dapat memahami sistem semacam itu secara menyeluruh. Semakin komplek sebuah sistem, semakin penting pula penggunaan teknik pemodelan yang baik. Dengan menggunakan model, diharapkan pengembangan perangkat lunak dapat memenuhi semua kebutuhan pengguna dengan lengkap dan tepat, termasuk faktor-faktor seperti scalability, robustness, security, dan sebagainya. Kesuksesan suatu pemodelan perangkat lunak ditentukan oleh tiga unsur, yang kemudian terkenal dengan sebuan segitiga sukses (the triangle for success). Ketiga unsur tersebut adalah metode pemodelan (notation), proses (process) dan tool yang digunakan.
PERANCANGAN DATABASE
ehandalan dari teknik pemrograman database adalah bagaimana anda sebagai seorang programmer merancang database sebaik mungkin.
Database menjadi suatu object yang sifatnya sangat sensitif disini dimana banyak sekali pertimbangan-pertimbangan yang harus anda lakukan sebelum merancang database. Untuk suatu aplikasi yang kemungkinan pengembangan datanya sangat besar maka diperlukan suatu manajemen database yang dapat menangani data hingga ribuan record. Tetapi hal yang paling utama dari semua ini adalah teknik perancangan database dengan melakukan normalisasi hingga diperoleh suatu rancangan database yang benar-benar terhindar dari redudancy data sehingga kapasitas penyimpanan lebih kecil dan proses pe-retrieve-an data dapat lebih cepat.
MEMILIH BAHASA PEMROGRAMAN
etelah permasalahan dan kebutuhan input/output telah didefenisikan dengan jelas, untuk keperluan penulisan programnya harus ditentukan terlebih dahulu bahasa
pemrograman apa yang akan dipergunakan. Berikut ini merupakan pertimbangan-pertimbangan yang dapat dipergunakan di dalam pemilihan bahasa pemrograman : � Tipe dari permasalahannya, apakah permasalahan bisnis, teknik atau yang lainnya. � Kesulitan dari permasalahan yang dihadapi. � Tipe dari pengolahan datanya, apakah berbentuk batch processing atau online
processing. � Ketersediaan program-program pustaka (library) yang ada dan yang dapat
dimanfaatkan oleh bahasa yang akan dipilih. � Kemampuan dari bahasanya. � Jenis dari bahasanya, compiler atau interpreter. � Dukungan dari penjual atau pembuat bahasa bila ada perubahan-perubahan
dikemudian hari.
K
S
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 3
� Kemudahan dari bahasa pemrograman dalam memodifikasi program bila ada perubahan
� Konfigurasi perangkat keras dan system software yang sudah dipergunakan.
PROSES PENGKODEAN (CODING)
erdapat beberapa teknik pengkodean yang dapat anda lakukan biasanya tergantung algoritma apa yang anda terapkan. Suatu program yang ditulis
dengan teknik pengkodean yang baik akan jauh lebih mudah dibaca algoritmanya baik oleh si programmer itu sendiri atau oleh oran lain yang akan mengembangkan program tersebut. Proses debugging juga akan jauh lebih gampang selaras dengan optimasi yang dilakukan pada sistem perangkat lunak tersebut. Pengkodean dari suatu sistem perangkat lunak yang telah dirancang mencerminkan karakteristik dari programmer itu sendiri.
PERANCANGAN SISTEM REPORT
istem perangkat lunak Database harus dapat menghasilkan suatu informasi yang dibutuhkan oleh si-pemakai. Informasi yang dihasilkan biasanya hasil pe-
retrieve-an oleh sistem report. Pada Visual Basic 6.0 terdapat suatu sistem report build-in yaitu Data Report. Data Report terintegrasi dengan baik sekali pada development tools ini, tetapi memiliki keterbatasan untuk menghasilkan suatu report yang sifatnya lebih kompleks. Anda dapat juga menggunakan aplikasi third party seperti Seagate Crystal Report yang dapat menghasilkan suatu report dari query yang sangat kompleks.
Proses Debugging Dan Testing ebelum program diterapkan, maka program harus bebas terlebih dahulu dari kesalahan-kesalahan. Oleh sebab itu, program harus ditest untuk menemukan
kesalahan-kesalahan yang mungkin terjadi. Program ditest untuk tiap-tiap modul dan dilanjutkan dengan pengetesan untuk semua modul yang telah dirangkai. Kesalahan dari program dapat diklasifikasikan dalam tiga bentuk kesalahan yaitu : � Kesalahan bahasa (language errors) atau disebut juga dengan kesalahan
penulisan (syntax errors) atau kesalahan tata bahasa (grammatical errors) adalah kesalahan didalam penulisan source program yang tidak sesuai dengan yang telah disyaratkan. Kesalahan ini relatif mudah ditemukan dan diperbaiki, karena kompiler akan memberitahukan letak dan sebab kesalahannya sewaktu program dikompilasi.
� Kesalahan sewaktu proses (run-time errors), adalah kesalahan yang terjadi sewaktu executable program dijalankan . Kesalahan ini akan menyebabkan
T
S
S
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
4 Langkah Pasti Menuju Sukses
proses program terhenti karena kompiler menemukan kondisi-kondisi yang belum terpenuhi yang tidak bisa dikerjakan. Kesalahan ini juga relatif mudah ditemukan karena juga ditunjukkan letak serta sebab kesalahannya.
� Kesalahan logika (logical errors) adalah kesalahan dari logika program yang dibuat. Kesalahan seperti ini sulit ditelusuri, karena tidak ada pemberitahuan mengenai kesalahannya dan tetap akan didapatkan hasil dari proses program, tetapi hasil yang salah. Jenis kesalahan ini merupakan kesalahan yang berbahaya, karena bila tidak disadari dan tidak ditemukan hasil yang salah dapat menyesatkan bagi yang menggunakannya. Proses melacak kesalahan ini dikenal dengan istilah mencari kutu (debugging).
OPTIMASI PERANGKAT LUNAK
etelah proses debugging selesai, maka tahap berikutnya adalah proses optimasi. Pada proses ini anda harus melakukan analisa terhadap algoritma
yang dipakai dan tentukan big O dari algoritma tersebut. Optimasi bagian-bagian program yang penting seperti pada proses looping dan branching, gunakan struktur yang tepat untuk kasus yang sesuai. Ingatlah filosofi dalam merancang suatu sistem perangkat lunak yaitu “Make it right and then make it fast” hal ini menjadikan hasil dari sistem perangkat lunak yang kita rancang tidak hanya benar secara algoritma tetapi juga menghasilkan waktu eksekusi yang cepat.
PEMBUATAN DOKUMENTASI PROGRAM
okumentasi program adalah catatan mengenai program yang telah dirancang, dapat meliputi catatan tentang tujuan program, data yang dipergunakan dalam
program, logika yang dipergunakan, bentuk input/output serta cara menggunakan programnya. Dokumentasi program diperlukan untuk tujuan : � Petunjuk untuk mereka yang akan menggunakan program � Sebagai bahan training di dalam penerapan program � Di dalam pemeliharaan program, bila akan memodifikasi atau mengembangkan
program lebih lanjut. � Mempermudah mencari dan membetulkan kesalahan-kesalahan program yang
terjadi. � Sebagai hard copy dari program yang dapat berfungsi untuk backup dari program. Dokumentasi Program dapat berupa : � Keterangan penjelasan (narrative description) yang berisi keterangan-keterangan
tertulis mengenai program, Hasil dari perancangan program dapat berbentuk :
S
D
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 5
1. Pseudocode 2. Structured Chart 3. Flow Chart
� Cetakan dari program sumber (source code program) � Manual operasi penggunaan program.
PEMBUATAN FILE INSTALASI
ahap terakhir dari pembuatan suatu sistem perangkat lunak adalah pembuatan file instalasi. Pada Microsoft Visual Basic 6.0 anda dapat dengan
mudah membuat file instalasi dengan menggunakan wizard yang ada. Atau anda dapat pula menggunakan aplikasi pembuat file instalasi dari third party yang jauh lebih fleksibel dan expert dengan banyak fitur tambahan.
LATIHAN DAN TUGAS
1. Rancanglah DFD (Data Flow Diagram) level 1 dari permasalahan untuk sistem akademik dimana entitas yang ada adalah Dosen, Mahasiswa, dan Matakuliah.
2. Dengan pendekatan terstruktur (Structured Approach) kembangkalah DFD Level 1 tersebut hingga diperoleh aspek real dari permasalahan sebelumnya.
3. Gunakan pendekatan Top Down Design untuk merancang perangkat lunak hingga terlihat jelas gambaran perangkat lunak yang akan dibangun.
T
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
6 Langkah Pasti Menuju Sukses
PPEERRAANNCCAANNGGAANN DDAANN
NNOORRMMAALLIISSAASSII DDAATTAABBAASSEE
OBJEKTIF
� Pemahaman teori database dan hierarki data. � Pembahasan teknik normalisasi untuk mereduksi terjadinya redudancy data. � Pemahaman aspek penting pada relation ships � Penentuan key-key pada database
PENDAHULUAN
elah disinggung pada bab sebelumnya bahwa pada teknik pemrograman database sangat dituntut perancangan database sebaik mungkin. Kehandalan
aplikasi berbasis data ini sekitar 70% bergantung kepada tipe dan hasil perancangan database tersebut serta teknik normalisasi yang digunakan.
TERMINOLOGI PADA DATABASE
Data � Nilai/value yang turut merepresentasikan deskripsi dari suatu objek atau kejadian (event)
Informasi � Merupakan hasil dari pengolahan data dalam suatu bentuk yang lebih berguna dan lebih berarti bagi penerimanya yang
T
MMoodduull
22
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 7
menggambarkan suatu kejadian-kejadian (event) yang nyata (fact) yang digunakan untuk pengambilan keputusan.
Sistem Informasi � Suatu sistem dalam suatu organisasi yang merupakan kombinasi dari orang-orang, fasilitas, teknologi, media, prosedur-prosedur dan pengendalian untuk mendapatkan jalur komunikasi penting, memproses tipe transaksi rutin tertentu, memberi sinyal kepada manajemen dan yang lainnya terhadap kejadian-kejadian internal dan eksternal yang penting dan menyediakan suatu dasar informasi untuk pengambilan keputusan.
Database � Kumpulan dari item data yang saling berhubungan satu dengan yang lainnya yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu, tersimpan di hardware komputer dan dengan software untuk melakukan manipulasi untuk kegunaan tertentu.
MENGAPA DIPERLUKAN DATABASE
� Salah satu komponen penting dalam sistem informasi, karena merupakan dasar dalam menyediakan informasi
� Menentukan kualitas informasi : akurat, tepat pada waktunya dan relevan. Informasi dapat dikatakan bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya mendapatkannya.
� Mengurangi duplikasi data (data redudancy) � Hubungan data dapat ditingkatkan (data relatability) � Mengurangi pemborosan tempat simpanan luar
JENJANG DATA
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
8 Langkah Pasti Menuju Sukses
1. Characters � merupakan bagian data yang terkecil, dapat berupa karakter numerik, huruf ataupun karakter-karakter khusus (special characters) yang membentuk suatu field atau item data.
2. item data / field � Field : merepresentasikan suatu atribut dari record yang menunjukkan suatu item dari data, seperti misalnya nama, alamat dan lain sebagainya. Kumpulan dari field membentuk suatu record. � field name : harus diberi nama untuk membedakan field yang satu dengan
lainnya � field representation : tipe field (karakter, teks, tanggal, angka, dsb), lebar
field (ruang maksimum yang dapat diisi dengan karakter-karakter data). � field value: isi dari field untuk masing-masing record.
3. Record � Kumpulan dari field membentuk suatu record. Record menggambarkan suatu unit data individu yang tertentu. Kumpulan dari record membentuk suatu file.
4. Misalnya file personalia, tiap-tiap record dapat mewakili data tiap-tiap karyawan.
5. File � File terdiri dari record-record yang menggambarkan satu kesatuan data yang sejenis. Misalnya file mata pelajaran berisi data tentang semua mata pelajaran yang ada.
6. Database : Kumpulan dari file / tabel membentuk suatu database
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 9
NORMALISASI
ormalisasi merupakan suatu teknik dalam logical desain sebuah basis data/ database, teknik pengelompokkan atribut dari suatu relasi sehingga
membentuk struktur relasi yang baik (tanpa redudansi). Ada Lima bentuk Normalisasi tetapi sampai kebentuk Normal ke Tiga saja sudah memenuhi syarat perancangan database yang baik. 1. Normal Pertama (1st Normal Form)
Aturan : � Mendefinisikan atribut kunci � Tidak adanya group berulang
N
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
10 Langkah Pasti Menuju Sukses
� Semua atribut bukan kunci tergantung pada atribut kunci 2. Normalisasi Kedua (2nd Normal Form)
Aturan : � Sudah memenuhi dalam bentuk normal kesatu � Sudah tidak ada ketergantungan parsial, dimana seluruh field hanya
tergantung pada sebagian field kunci. 3. Normalisasi Ketiga (3rd Normal Form)
Aturan : � Sudah berada dalam bentuk normal kedua � Tidak ada ketergantungan transitif (dimana field bukan kunci tergantung
pada field bukan kunci lainnya). Catatan:
ormal seharusnya berada dalam bentuk normal tertinggi dan bergerak dari bentuk normal satu dan seterusnya untuk setiap kali membatasi hanya satu
jenis redudansi. Keseluruhannya cuma ada lima bentuk normal. Tiga bentuk normal pertama menekankan redudansi yang muncul dari Function Dependencies sedangkan bentuk keempat dan kelima menekankan redudansi yang muncul dari kasus Multi Valued Dependencies.
RELASI ANTAR TABLE
ubungan antara tabel satu dengan lainnya melalui field yang sama disebut relasi. Relasi dibuat menggunakan kunci. Ada dua macam kunci. Pertama
primary key (kunci utama) yaitu field unik yang mengidentifikasikan suatu record sehingga dapat dihubungkan dengan tabel lain yang berkaitan. Kedua foreign key (kunci tamu) yaitu field yang berisi nilai identifikasi dengan record yang berkaitan dalam table lainnya. Ada tiga bentuk relasi antar table, yaitu : � Relasi One-to-one (satu ke satu), ketika satu record pada suatu tabel hanya
berhubungan dengan satu record pada table lainnya. � Relasi One-to-many (satu ke banyak), ketika satu record pada suatu tabel
berhubungan dengan banyak record pada tabel lainnya. � Relasi many-to-many (banyak ke banyak), ketika banyak record pada suatu
tabel berhubungan dengan banyak record pada tabel lainnya.
Contoh NORMALISASI PADA DATABASE SISTEM AKADEMIK
Bentuk tidak normal (Unnormalized Form) NIM NAMA JURUSAN KODE MATA KODE NAMA NILAI NILAI NILAI NILAI
N
H
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 11
MK. KULIAH DOSEN DOSEN ABSENSI TUGAS MID UAS
1001 Budi T.Mesin
KLK Kalkulus FHR Fahri 100 100 75 85
AGM Agama JFR Jefri 100 85 80 65
STS Statistik SNT Santi 85 100 80 85
1002 Ardi T.Sipil
KLK Kalkulus FHR Fahri 100 50 80 95
KMA Kimia NOE Whisnu 50 80 90 65
CAD AutoCad HNR Henry 100 100 85 95
Dari Bentuk unnormalized dapat kita buat ke bentuk normalisasi pertama yaitu dalam bentuk flat table
NIM NAMA JURUSAN KODE
MK.
MATA
KULIAH
KODE
DOSEN
NAMA
DOSEN
NILAI
ABSENSI
NILAI
TUGAS
NILAI
MID
NILAI
UAS
1001 Budi T.Mesin KLK Kalkulus FHR Fahri 100 100 75 85
1001 Budi T.Mesin AGM Agama JFR Jefri 100 85 80 65
1001 Budi T.Mesin STS Statistik SNT Santi 85 100 80 85
1002 Ardi T.Sipil KLK Kalkulus FHR Fahri 100 50 80 95
1002 Ardi T.Sipil KMA Kimia NOE Whisnu 50 80 90 65
1002 Ardi T.Sipil CAD AutoCad HNR Henry 100 100 85 95
Dari Bentuk Normal Pertama kita bagi flat table diatas menjadi beberapat table sehingga tiap table memiliki key unik (key primer). Table Mahasiswa
* NIM NAMA KODE JURUSAN 1001 Budi TMS 1002 Ardi T.Sipil
Table Dosen
* KODE DOSEN NAMA DOSEN FHR Fahri JFR Jefri SNT Santi NOE Whisnu HNR Henry
Table Jurusan
* KODE JURUSAN NAMA JURUSAN TMS Teknik Mesin TSP Teknik Sipil
Table Nilai
KODE NIM NILAI NILAI NILAI NILAI
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
12 Langkah Pasti Menuju Sukses
Table Nilai
Kode Ujian
Nim
N_Absen
N_Tugas
N_Mid
N_Semester
N_AkhirAngka
N_AkhirHuruf
Table Dosen
Kode_Dosen
Nama_Dosen
Table MataKuliah
Kode_MK
Nama_MK
Jmlh_SKS
Table Jurusan
Kode_Jurusan
Nama_Jurusan
Nama_KAJUR
Table Ujian
Kode_Ujian
Kode_MK
Kode_Dosen
Tahun_Ajaran
Table Mahasiswa
NIM
Nama
Kode_Jurusan
1
1
1
1 1n
n
n
n
n
MK ABSEN TUGAS MID UAS AGM 1001 100 85 80 65 CAD 1002 100 100 85 95 KLK 1001 100 100 75 85 KLK 1002 100 50 80 95 KMA 1002 50 80 90 65 STS 1001 85 100 80 85
Pada bentuk normal kedua diatas tiap tabel sudah tidak memiliki keteragantungan parsial atas tabel lainnya hanya bergantung pada field kunci saja, hanya saja pada table nilai masih terdapat redudancy data sehingga table perlu dipecah kembali untuk menghasilkan bentuk normal ke tiga. Pada Bentuk Normal ketiga tiap table harus tidak memiliki ketergantungan transitif lagi, hal ini dilakukan dengan cara menentukan foreign key yang memiliki ketergantungan pada key primer pada table lain. Hal ini sangat berguna dalam menjaga keintegritasan data pada tiap table. Bentuk Normal Ketiga
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 13
LATIHAN DAN TUGAS
Buatlah sebuah database baru pada Microsoft Access dan beri nama “dbAkademik” lalu buatlah table-table dengan ketentuan seperti dibawah ini. Table Dosen
Field Name Data Type
Lebar Data
* Kode_Dosen Text 5 Nama_Dosen Text 30
Table Jurusan
Field Name Data Type
Lebar Data
* Kode_Jurusan Text 3 Nama_Jurusan Text 20 Nama_Kajur Text 50
Table Mahasiswa
Field Name Data Type
Lebar Data
* NIM Text 8 Nama Text 30 Kode Jurusan Text 3
Table MataKuliah
Field Name Data Type
Lebar Data
* Kode_MK Text 7 Nama_MK Text 30 Jumlah SKS Number Byte
Table Nilai
Field Name Data Type
Lebar Data
Kode_Ujian Text 20 NIM Text 8 N_Absen Number Byte N_Tugas Number Byte N_Mid Number Byte N_Semester Number Byte N_AkhirAngka Number Single N_AkhirHuruf Text 5 Table Ujian
Field Name Data Type
Lebar Data
* Kode_Ujian Text 20 Kode_MK Text 7 Kode_Dosen Text 5 Tahun_Ajaran Text 10 Keterangan Tanda * pada Field Name dari setiap table menandakan bahwa Field Tersebut merupakan Primary Key dari table yang dirancang.
TIPS-Perancangan Database
enentuan Tipe Data dan Lebar Data dari tiap field sangat penting. Tipe Data harus ditentukan berdasarkan kemungkinan value yang akan diinput begitu P
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
14 Langkah Pasti Menuju Sukses
pula dengan lebar data. Pada suatu field Lebar data harus ditentukan seminimal mungkin (mis. Nama = 30, jarang sekali nama seseorang panjangnya sampai 50 karakter). Lebar Data yang mubazir akan menyebabkan pengembangan size database yang tentunya akan membutuhkan space penyimpanan yang besar.
BENTUK RELATION SHIPS
ancanglah bentuk Relationships seperti dibawah ini. Ketika anda melakukan relasi antar table maka atur properti tiap foreign key seperti dibawah ini :
Keterangan � Bentuk Relasi adalah One-To-Many (1 = One, ∞ = Many ) � Enforce Referential Integrity � Kita akan meningkatkan keintegritasan tiap
tabel yang direlasikan. � Cascade Update Related Fields � Tiap terjadi perubahan field pada parent
table maka hal ini juga akan terjadi pada child table. � Cascade Delete Related Fields � Tiap terjadi penghapusan record pada
parent table maka hal ini juga akan terjadi pada child table.
R
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 15
SSTTRRUUCCTTUURREE QQUUEERRYY
LLAANNGGUUAAGGEE ((SSQQLL))
OBJEKTIF
� Mahasiswa dapat memahami struktur dasar SQL � Command Pada DDL dan DML � Pembuatan Aplikasi Penguji Query SQL
KONSEP DASAR SQL
QL (Structured Query Language) adalah serangkaian pernyataan pada engine database (termasuk engine Jet) yang berisi informasi apa yang ingin
ditampilkan oleh pemakai. Kemudian engine memproses pernyataan tersebut dan menyediakan informasi yang diperlukan. SQL bukanlah bahasa pemrograman tetapi sub-language (subbahasa) yang berisi sekitar 30 pernyataan khusus dengan tugas mengelola database. Pernyataan SQL diintegrasikan pada bahasa pemrograman yang sebenarnya seperti Visual Basic. Pernyataan SQL dikelompokkan menjadi dua yaitu DDL (Data Defenition Language) dan DML (Data Manipulation Language). Pernyataan DDL dapat
S
MMoodduull
33
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
16 Langkah Pasti Menuju Sukses
digunakan untuk membuat tabel, indeks dan relasi database. Sedangkan pernyataan DML digunakan untuk memilih, mengurutkan dan melakukan perhitungan terhadap data. Aturan dalam penulisan pernyataan SQL adalah sebagai berikut : � Semua keyword (kata kunci) dari pernyataan SQL diketik menggunakan huruf
besar. � Informasi bertipe string yang terletak diantara pernyataan SQL dapat diapit
dengan kutip ganda (‘’) atau kutip tunggal (‘) � Pada waktu menampilkan data (recordset), SQL mendukung penggunaan
wildcards (memilih semua kolom/fields) dengan lambang asterik (*). � Jika nama field atau table memiliki spasi ditengahnya maka nama tersebut
harus diapit dengan lambang brackets ([ ]). � Untuk menunjuk field khusus pada table khusus dalam pernyataan SQL
digunakan notasi dot (.).
COMMAND DAN KLAUSA PADA SQL
Table berikut menunjukkan tujuh buah perintah (command) SQL. PERINTAH KETERANGAN
Create Membuat table, field atau indeks
Alter Mengubah tabel dengan menambah field atau mengubah definisi filed.
Drop Men-drop table atau indeks Select Mendefenisikan data apa yang akan diambil dari database. Insert Dengan sekali operasi menyisipkan banyak record.
Update Mengubah informasi seluruh range dengan memberi parameter.
Delete Menghapus record pada suatu table Ketika menggunakan query, Anda dapat menggunakan klausa berikut untuk diimplementasikan dalam pernyataan SQL.
KLAUSA KETERANGAN From Menentukan table mana yang datanya akan ditampilkan Where Menentukan kondisi query Group By Menentukan grup/kelompok dari informasi yang dipilih.
Having Digunakan bersama Group By untuk menentukan kondisi untuk tiap group dalam query.
Order By Menentukan urutan dari query.
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 17
PERNYATAAN SQL SELECT/FROM
ernyataan SELECT/FROM untuk mengambil field dari satu atau lebih table. Sintaks dari pernyataan SELECT/FROM adalah :
SELECT [FIELD] FROM [TABLE]
Dimana [Field] adalah daftar field yang diinginkan dan [Table] merupakan daftar table dimana field berada. Karakter Wildcard dapat digunakan untuk memilih semua field yang terletak dalam table. Contoh : SELECT * FROM PUBLISHER Pernyataan diatas akan memilih dan menampilkan semua field table publisher dari database Biblio.mdb (database contoh pada office / visual basic ) SELECT TITLE, [YEAR PUBLISHED] FROM TITLES
KLAUSA WHERE
lausa Where digunakan untuk menampilkan record yang memenuhi kondisi tertentu. Sintaksnya adalah :
SELECT [FIELD] FROM [TABLE] WHERE KONDISI
Klausa WHERE menggunakan operator sebagai berikut :
OPERATOR PENJELASAN < Isi field lebih kecil dari suatu nilai
<= Isi field lebih kecil atau sama dengan dari suatu nilai > Isi field lebih besar dari suatu nilai
>= Isi filed lebih besar atau sama dengan dari suatu nilai = Isi field sama dengan dari suatu nilai
<> Isi field tidak sama dengan dari suatu nilai Between Isi field diantara suat range
Like Isi field sesuai dengan pola tertentu In Isi field sesuai dengan satu dari beberapa Kriteria
Contoh : SELECT * FROM PUBLISHERS Where City = “New York”
P
K
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
18 Langkah Pasti Menuju Sukses
Hasilnya akan menampilkan daftar penerbit yang berasal dari kota New York saja.Untuk menampilkan penerbit yang PubID-nya diantara 200 sampai 300 maka query yang diberikan adalah : SELECT * FROM PUBLISHERS WHERE PUBID BETWEEN 200 A ND 300 Untuk menampilkan daftar pengarang yang nama belakangkanya menggunakan awalan huruf “D” digunakan klausa LIKE. SELECT * FROM AUTHORS WHERE AUTHOR LIKE “D*” Sedangkan untuk menampilkan daftar penerbit yang berasal dari kota Boston, Carmel dan Cambridge saja, digunakan klausa IN SELECT * FROM PUBLISHERS WHERE CITY IN (“BOSTON”,”CARMEL”,”CAMBRIDGE”)
PERNYATAAN SQL Delete
ernyataan Query Delete fungsinya untuk menghapus data. Contoh pemakaiannya yaitu :
Delete * From Authors Akan menghapus semua field dalam table Authors. Jika Anda ingin menghapus daftar semua penerbit kecuali yang berasal dari kota New York, Carmel dan Boston, perintahnya adalah DELETE * FROM PUBLISHERS WHERE CITY NOT IN (“NEW YORK”,”CARMEL”,”BOSTON”)
PERNYATAAN INSERT INTO
ernyataan query Insert Into fungsinya untuk menyisipkan baris baru kedalam table. Sintaksnya sebagai berikut :
Insert Into nama_table (daftar field) VALUES (dafta r nilai)
Contoh :
Insert Into Publisher(PUBID, Name,[Company Name]) Values (630,”Duta Mas”,”PT. Elex Media Komputindo”)
P
P
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 19
PERNYATAAN UPDATE
ernyataan query Update digunakan untuk memperbaharui informasi dalam suatu table.Sintaksnya sebagai berikut :
UPDATE Table Set Nilai Where Kriteria
Contoh : UPDATE Pelanggan SET Kota = ‘Makasar’ Where Kota = ‘Ujung Pandang’
LATIHAN DAN TUGAS
ada modul ini Anda akan membuat sebuah program penguji Query SQL dimana dengan aplikasi yang akan dirancang ini anda akan mudah untuk
mempelajari pernyataan SQL dan langsung melihat hasilnya pada form. Prosedur Pembuatan Program � Buatlah sebuah project Visual Basic Baru lalu pada form atur object-object
seperti pada gambar dibawah, tetapi sebelumnya tambahkan kontrol Microsoft Data Bound Grid Control 5.0 (Sp3) pada project Anda.
P
P
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
20 Langkah Pasti Menuju Sukses
DAFTAR PROPERTI OBJECT
OBJECT PROPERTI PENGATURAN Form1 Caption Penguji Query SQL
Data1 DatabaseName Path Database Anda Visible False
DBGrid1 Caption Hasil SQL DataSource Data1
Label1 Caption Record Ke Label2 Caption Jumlah Record
Label3 Name LblRecordKe Alignment 2 – Center BorderStyle 1 – Fixed Single
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 21
Caption Kosongkan
Label4
Name lblJmlhRecord Alignment 2 – Center BorderStyle 1 – Fixed Single Caption Kosongkan
TextBox
Name Text1 Multiline True ScrollBars 2 – Vertical Text Kosongkan
Command1 Name cmdJalankan Caption &Jalankan
LISTING PROGRAM PENGUJI QUERY
Option Explicit Private Sub cmdJalankan_Click() On Error GoTo SQLError: Data1.RecordSource = Text1 Data1.Refresh If Data1.RecordSource <> "" Then If (Data1.Recordset.RecordCount > 0) Then With Data1.Recordset .MoveLast .MoveFirst lblJmlhRecord = .RecordCount End With Else lblJmlhRecord = "0" lblRecordKe = "Tak ada record" End If Else MsgBox ("Masukkan pernyataan SQL") End If Exit Sub SQLError:
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
22 Langkah Pasti Menuju Sukses
Dim sError As String sError = "Nomor Error: " & Err.Number & vbCrLf sError = sError & Err.Description MsgBox (sError) Exit Sub End Sub Private Sub Data1_Reposition() lblRecordKe = Data1.Recordset.AbsolutePosition + 1 End Sub
AADDOO DDAANN PPEEMMBBUUAATTAANN
MMOODDUULL SSIISSTTEEMM AAKKAADDEEMMIIKK
MMoodduull
44
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 23
OBJEKTIF
� Memahamai fungsionalitas ADO � Mengenal Objek-Objek Pada ADO � Mengenal Metode-Metode yang ada pada objek-objek utama � Pembuatan Modul pada “Sistem Informasi Akademik”
PENGANTAR ADO
niversal Data Access (UDA) adalah strategi Microsoft untuk menyediakan akses ke semua tipe informasi dari berbagai sumber data baik relational
maupun non relational sepert mainframe ISAM/VSAM, database hierarkial, e-mail, teks dan data grafis. OLE Database (OLE DB) adalah bagian dari Universal Data Access yang memungkinkan kita membaca dan memproses data dari manapun tanpa terlebih dahulu mengkonversi dan mengimpor ke dalam bentuk database tradisional. Menggunakan provider OLE DB, anda dapat memproses data dalam pesan e-mail, halaman HTML, spreadsheet dan dokument teks. Juga Microsoft Jet, SQL Server, FoxPro dan database Oracle. Active X Data Object (ADO) adalah antarmuka level tinggi ke OLE DB atau dengan kata lain kita dapat berkomunikasi dengan OLE DB menggunakan ADO. Dengan menggunakan ADO yang dihubungkan dengan OLE DB kita dapat ‘Berbicara’ dengan data Access, Oracle, Server SQL dan sumber data linnya menggunakan model Objek ADO.
OBJEK ADO
Ado memiliki tujuh Objek sebagai berikut :
OBJEK KETERANGAN
Connection Membuat koneksi antara aplikasi Anda dengan sumber data eksternal sepert MS Access, MS SQL Server, Oracle dan lain-lain.
Command
Digunakan untuk mengeksekusi perintah termasuk menggunakan parameter yang spesifik untuk mengakses record dari sumber data. Umumnya nilai kembalian dari akses record adalah objek recordset.
Recordset Digunakan untuk mengakses record yang merupakan kembalian dari query SQL. Objek recordset dipakai untuk
U
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
24 Langkah Pasti Menuju Sukses
menampilkan record ke pemakai.
Field Berisi informasi tentang kolom tunggal data dalam recordset.
Parameter Suatu parameter tunggal dari command kumpulan parameter.
Error Berisi informasi error yang diperluas mengenai suatu kondisi yang ditimbulkan oleh provider.
Property Berisi suatu nilai karakteristik yang didefenisikan provider dari objek ADO.
Masing-masing objek ADO memiliki serangkaian properti dan metode yang mengizinkan Anda untuk memanipulasi objek dan isinya. Ketika anda bekerja dengan pemrograman ADO, umumnya digunakan tiga objek ADO yaitu Connection, Command dan Recordset.
OBJEK CONNECTION
Dibawah ini daftar metode yang ada pada objek Connection
METODA KETERANGAN
Begin Trans Untuk memulai transaksi baru. Cancel Untuk membatalkan operasi asynchronous Close Untuk menutup objek atau koneksi Execute Untuk mengeksekusi pernyataan SQL atau Query. Open Untuk membuka koneksi OpenSchem Nilai kembaliannya adalah informasi skema database
RollBackTrans Untuk membatalkan perubahan yang terjadi saat transaksi atau mengakhiri transaksi yang gagal.
Operasi asynchronous adalah suatu tugas yang diinisialisasi oleh suatu kode (seperti query) yang mengizinkan tugas lainnya untuk melanjutkannya sebelum tugas tersebut selesai. Kebalikannya, operasi synchronous adalah suatu tugas yang diinisialisasi oleh suatu kode yang harus selesai terlebih dahulu sebelum operasi lainnya dimulai.
PROPERTI OBJECT CONNECTION
Berikut Table Properti Objek Connection
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 25
PROPERTI KETERANGAN
Attributes Mengindikasikan karakteristik suatu objek.
CommandTimeOut Nilai kembalian atau pengaturan waktu yang digunkan untuk memperoses sebuah perintah sebelum waktunya habis / timeout.
ConnectionString Nilai kembalian atau pengaturan untuk membuat suatu connection. Isinya DSN, UserName dan Password.
ConnectionTimeOut Nilai kembalian atau pengaturan waktu yang disediakan untuk memproses sebuah connection sebelum waktunya habis /.timeout.
CursorLocation Nilai kembalian atau pengaturan dimana kursor berada.
DefaultDatabase Nilai kembalian atau pengaturan default database untuk objek connection.
Errors Nilai kembaliannya adalah koleksi dari objek error yang dimunculkan oleh provider data.
Isolation Level Nilai kembalian atau pengaturan dari level isolasi untuk transaksi
Mode Nilai kembaliannya adalah izin akses yang diberikan untuk memodifikasi data.
Properties Nilai kembaliannya adalah properti dinamik untuk objek. Provider Nilai kembaliannya adalah nama data provider.
State Nilai kembaliannya adalah status koneksi apakah dibuka, ditutup atau sibuk.
Version Nilai kembaliannya adalah nomor versi ADO.
OBJEK COMMAND
Dibawah ini adalah metode-metode yang ada pada objek command ;
METODE KETERANGAN
Cancel Membatalkan perintah yang dieksekusi secara asynchronous.
CancelParameter Membuat parameter baru suatu objek. Execute Menjalankan perintah/Command
PROPERTI OBJEK COMMAND
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
26 Langkah Pasti Menuju Sukses
Berikut adalah table properti objek Command
PROPERTI KETERANGAN
ActiveConnection Nilai kembalian atau pengaturan untuk mengaktifkan objek connection.
CommandText Nilai kembalian atau pengaturan untuk command teks.
CommandTimeOut Nilai kembalian atau pengaturan sampai waktunya habis.
CommandType Nilai kembalian atau pengaturan tipe command. Name Nlai kembaliannya adalah nama objek. Parameters Nilai kembaliannya adalah parameter command.
Prepared Nilai kembalian atau pengaturan apakah akan mengkompilasi command sebelum mengeksekusi.
Properties Nilai kembaliannya adalah properti yang dinamik dari objek.
State Nilai kembaliannya adalah status koneksi apakah dibuka, ditutup atau sibuk.
OBJEK RECORDSET
Dibawah ini adalah daftar metode yang ada pada objek RecordSet
METODA KETERANGAN
AddNew Menambah record baru ke objek recordset.
Cancel Membatalkan perintah yang dieksekusi secara asynchronous.
CancelBatch Membatalkan perubahan sebelum BatchUpdate dipanggil.
CancelUpdate Membatalkan perubahan sebelum update dipanggil.
Clone Membuat duplikat objek recordset dari objek recordset yang ada.
Close Menutup recordset dan koneksinya ke sebuah sumber data.
CompareBookmarks Mengambil dua bookmark dan membandingkan posisi relatif mereka.
Delete Menghapus data pada objek recordset. Find Mencari suatu record dari recordset. GetRows Memasukkan record ke dalam suatu array. GetString Memasukkan record ke dalam suatu string. Move Memindahkan posisi record aktif.
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 27
MoveFirst Memindahkan posisi data ke record pertama dari recordset.
MoveLast Memindahkan posisi data ke record terakhir dari recordset.
MoveNext Memindahkan posisi data ke record berikutnya dari recordset.
MovePrevious Memindahkan posisi data ke record sebelumnya dari recordset.
NextRecordset Menghapus objek recordset yang aktif dan menggantikannya dengan recordset baru.
Open Membuka objek recordset.
Requery Memperbarui data dalam objek recordset dengan mengulang query.
Resync Me-Refresh data dalam objek recordset database. Save Menyimpan recordset ke file
Supports Menyatakan apakah objek recordset mendukung tipe fungsi tertentu.
Update Menyimpan perubahan dalam baris/Record sekarang ke database.
UpdateBatch Menyimpan perubahan batch sekarang.
PROPERTI RECORDSET
Berikut adalah table Properti yang ada pada objek RecordSet.
PROPERTI KETERANGAN
AbsolutePage Menghasilkan nomor halaman dari record yang ada. AbsolutePosition Menghasilkan posisi awal dari record yang ada.
ActiveCommand Nilai kembaliannya adalah objek command yang membuat recordset.
ActiveConnection Nilai kembaliannya adalah koneksi aktif yang digunakan oleh recordset.
BOF Nilai kembaliannya adalah posisi record aktif sebelum data pertama dari recordset.
Bookmark Pengenal baris unik untuk record aktif.
CacheSize Nilai kembalian atau pengaturan jumlah record yang di-cache dalam memory lokal.
CursorLocation Nilai kembalian atau pengaturan dari lokasi kursor. CursorType Nilai kembalian atau pengaturan tipe kursor.
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
28 Langkah Pasti Menuju Sukses
Data Member Nilai kembalian atau pengaturan anggota sumber data dimana recordset terikat.
Data Source Nilai kembalian atau pengaturan sumber data. EditMode Nilai kembaliannya status editing dari record aktif.
EOF Nilai kembaliannya posisi data berada sesudah record terakhir dari objek recordset.
Fields Nilai kembaliannya adalah koleksi objek field dalam recordset.
Filter Nilai kembalian atau pengaturan filter dari data.
LockType Nilai kembalian atau pengaturan tipe kunci yang diberikan pada data selama pengeditan.
MaxRecord Nilai kembalian atau pengaturan jumlah maksimum data dalam sebuah query pada recordset.
PageCount Nilai kembalian atau pengaturan jumlah halaman data dalam recordset.
PageSize Nilai kembalian atau pengaturan ukuran halaman. Properties Nilai kembaliannya adalah properti dinamik dari objek. RecordCount Nilai kembaliannya adalah jumlah record. Sort Nilai kembalian atau pengaturan kriteria pengurutan. Source Nilai kembalian atau pengaturan sumber dari data.
State Nilai kembaliannya adalah status koneksi apakah dibuka, ditutup, atau sibuk.
Status Menyatakan status data selama updating batch.
STRING KONEKSI BERDASARKAN PROVIDER
PROVIDER STRING KONEKSI
Microsoft Jet “Provider=Microsoft.Jet.OLEDB.3.5.1;”
Oracle “Provdier=MSDAORA;Data Source =ServerName; User ID=NamaUser;Password=password”
Microsoft ODBC Provider=MSDASQL.1;UID=admin;Extended Properties=”DBQ=PathDatabase;FIL= Ms Access;”
SQL Server “Provider=SQLOLEDB;Data Source=sql65server; User ID=sa;Password=”;initial Catalog=pubs”
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 29
ANTARA ENGINE JET 3.51 DENGAN JET 4
isual Basic 6 dan MS Access 97 dalam mengelola database menggunakan engine database Jet 3.51, sedangkan MS Access 2000/XP menggunakan
engine database Jet 4. Karena adanya masalah kompatibilitas antara Jet 4 dengan Jet 3.51, maka diperlukan konversi file *.mdb. Misalnya saja anda membuat struktur tabel dalam file *.mdb menggunakan MS Access XP, konversi dapat dilakukan di Access atau di Visual Basic. Untuk melakukan konversi pada MS Access XP, klik menu Tools � Database Utilities � Convert Database � To Access 97 File Format. Konversi di Visual Basic dapat dilakukan dengan cara mengubah string koneksi dari Jet 3.51 menjadi Jet 4.
LATIHAN DAN TUGAS
ada modul ini dan modul selanjutnya anda akan membuat sebuah aplikasi lengkap Sistem Informasi Akademik. Untuk modul ini terlebih dahulu kita akan
membuat project baru untuk aplikasi kita dan pembuatan modul utama yang berisikan deklarasi variable global, inisialisasi variable, subrutine serta fungsi-fungsi umum. Agar aplikasi yang akan anda buat terstruktur dan source code yang ada pada modul ini dapat berjalan tanpa ada masalah, maka standarisasi untuk lokasi penyimpanan adalah sebagai berikut :
Keterangan : � Simpan file Project (Sistem Akademik.VBP) pada folder Sistem Akademik. � Simpan semua file project lainnya (*.frm, *.frx, *.bas) pada folder Code. � Simpan Database yang telah anda buat pada modul kedua di folder Database � Simpan Semua file report (*.rpt) yang akan anda buat nantinya pada folder
Report. � Siapkan folder Package untuk file instalasi (Setup Program). Prosedur Kerja Pembuatan Modul SistemAkademik : 1. Bukalah sebuah project baru (Standard Exe) pada Visual Basic 6.0. 2. Ubah properti Name pada Project1 menjadi Sistem_Akademik.
V
P
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
30 Langkah Pasti Menuju Sukses
3. Remove form1 dengan cara meng-klik kanan form default (form1) pada project explorer window dan pilih Remove Form1.frm.
4. Dari Menu Project pilih Add Module, dan ubah properti Name pada Module1 menjadi SistemAkademik.
5. Anda perlu mengatur referensi project ke ADO. Caranya klik menu Pjoect � References… Dari daftar referensi yang muncul pilih Microsoft ActiveX Data Object 2.5 Library. Klik OK.
6. Ketikkan listing program dibawah ini.
Listing Program Modul Sistem Akademik : 'Constanta Untuk daftar Table di Database Public Const Dosen = 1 Public Const Jurusan = 2 Public Const Mahasiswa = 3 Public Const MataKuliah = 4 Public Const Ujian = 5 Public Const Nilai = 6 Public Const ListNilai = 7 'Variable untuk pengaksesan ke database Public cn As ADODB.Connection 'cn untuk c onnnection Public rsDosen As ADODB.Recordset 'rs untuk r ecordset Public rsJurusan As ADODB.Recordset Public rsMahasiswa As ADODB.Recordset Public rsMataKuliah As ADODB.Recordset Public rsUjian As ADODB.Recordset Public rsNilai As ADODB.Recordset Public rsListNilai As ADODB.Recordset '************************************************** ********** ' Sub Rutin Untuk Membuka Konneksi ke Database * '************************************************** ********** Public Sub OpenDBConnection() Dim Str_Connect As String On Error GoTo ErrorMsg 'String koneksi untuk membuka koneksi Str_Connect = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Persist Security Info=False;" & _ "Data Source = " & App.Path & "\Database\dbAkad emik.mdb" 'Buat Koneksi baru Set cn = New ADODB.Connection cn.Open Str_Connect Exit Sub ErrorMsg: MsgBox Err.Description
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 31
End Sub '************************************************** ********** ' Sub Rutin Untuk Membuka Konneksi ke Table * '************************************************** ********** Public Sub OpenTblConnection(ID_Table As Byte) On Error GoTo ErrorMsg 'Pilih recordset mana yang akan dibuka Select Case ID_Table Case Dosen: 'Buar recordset baru untuk table Dosen Set rsDosen = New ADODB.Recordset rsDosen.Open "Select * from Dosen", cn, adOpenStatic, _ adLockOptimistic Case Jurusan: 'Buar recordset baru untuk table Jurusa n Set rsJurusan = New ADODB.Recordset rsJurusan.Open "Select * from Jurusan", cn, adOpenStatic, _ adLockOptimistic Case Mahasiswa: 'Buar recordset baru untuk table Mahasi swa Set rsMahasiswa = New ADODB.Recordset rsMahasiswa.Open "Select * from Mahasis wa", cn, _ adOpenStatic, adLockOptimistic Case MataKuliah: 'Buar recordset baru untuk table MataKu liah Set rsMataKuliah = New ADODB.Recordset rsMataKuliah.Open "Select * from MataKu liah", cn, _ adOpenStatic, adLockOptimistic Case Ujian: Set rsUjian = New ADODB.Recordset rsUjian.Open "Select * from Ujian", cn, adOpenStatic, _ adLockOptimistic Case Nilai: 'Buar recordset baru untuk table Nilai Set rsNilai = New ADODB.Recordset rsNilai.Open "Select * from Nilai", cn, adOpenStatic, _ adLockOptimistic Case ListNilai: 'Buar recordset baru untuk table ListNi lai Set rsListNilai = New ADODB.Recordset rsListNilai.Open _ "SELECT Nilai.Nim, Mahasiswa.Nama, Nila i.N_absen, " & _ "Nilai.N_Tugas, Nilai.N_Mid, Nilai.N_Se mester, " & _ "Nilai.N_AkhirAngka, Nilai.N_AkhirHuruf FROM Mahasiswa " & _ "INNER JOIN Nilai ON Mahasiswa.Nim = Ni lai.Nim", cn, _ adOpenStatic, adLockOptimistic End Select Exit Sub ErrorMsg: MsgBox Err.Description
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
32 Langkah Pasti Menuju Sukses
End Sub '************************************************** ********** ' Sub Rutin Untuk Menutup Konneksi ke Table * '************************************************** ********** Public Sub CloseTblConnection(ID_Table As Byte) On Error GoTo ErrorMsg Select Case ID_Table Case Dosen: 'Tutup recordset rsDosen.Close Set rsDosen = Nothing Case Jurusan: rsJurusan.Close Set rsJurusan = Nothing Case Mahasiswa: rsMahasiswa.Close Set rsMahasiswa = Nothing Case MataKuliah: rsMataKuliah.Close Set rsMataKuliah = Nothing Case Ujian: rsUjian.Close Set rsUjian = Nothing Case Nilai: rsNilai.Close Set rsNilai = Nothing Case ListNilai: rsListNilai.Close Set rsListNilai = Nothing End Select Exit Sub ErrorMsg: MsgBox Err.Description End Sub '************************************************** ********** ' Sub Rutin Untuk Menutup Konneksi ke Database * '************************************************** ********** Public Sub CloseDBConnection() Set cn = Nothing End Sub '************************************************** ********** ' Sub Rutin Main, Bagian Program Utama * '************************************************** ********** Public Sub Main() Load frmMain frmMain.Show End Sub
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 33
CATATAN
roject Program sejauh ini belum dapat dijalankan, simpan project dengan nama “Sistem Akademik.vbp” dan simpan module dengan nama “Sistem
Akademik.bas” (sesuai dengan pathnya) lalu tutup project. Pada modul-modul berikutnya anda akan membuat interfacing serta sistem report pada aplikasi Sistem Akademik ini.
P
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
34 Langkah Pasti Menuju Sukses
IINNTTEERRFFAACCIINNGG AAPPLLIIKKAASSII
SSIISSTTEEMM AAKKAADDEEMMIIKK
OBJEKTIF
� Mahasiswa dapat mendesain dan merancang interface yang diperlukan dalam pembuatan aplikasi perangkat lunak Sistem Informasi Akademik.
PENDAHULUAN
istem Informasi Akademik memiliki interface yang terdiri atas lima form dan satu form MDI (Multiple Document Interface). Tiap form satu sama lain memiliki
object-object yang hampir indentik, artinya Anda hanya perlu merancang satu form hingga selesai, dan form lainnya dapat dibuat dengan meng-copy dari form yang telah selesai dirancang tadi. Begitu pula dengan pengaturan properti tiap object Anda cukup mengatur pada satu form saja sehingga proses perancangan mudah dan cepat. Sebelum dilakukan perancangan pada Form Data Dosen maka Anda harus terlebih dahulu mengatur beberapa setting pada Project Sistem Akademik yaitu : � Tambahkan beberapa komponen kontrol dari menu Project � Components…
1. Crystal Report Component 2. Microsoft Hierarchical FlexGrid Control 6.0 (OLEDB) 3. Microsoft Windows Common Controls 6.0 (SP4)
� Atur Referensi dari Project yaitu dari menu Project � References… 1. Microsoft ActiveX Data Objects 2.5 Library 2. Microsoft Data Binding Collection VB 6.0 (SP4)
PERANCANGAN FORM DATA DOSEN
ancanglah Form Data Dosen dengan object-object yang ada seperti pada gambar dibawah ini. Untuk menambah sebuah form Anda dapat
menambahnya denggan mengklik menu Project � Add Form. Pada Form Data dosen Anda akan membuat sebuah objeck kontrol data ADO manual yang terdiri atas control Label dan control CommandButton. Terdapat suatu logika sistem keamanan dalam pengeditan, penghapusan, serta peng-update-an dari tiap record. Hal ini dilakukan agar tiap field yang terelasi terjaga keintegritasannya dan hasil retrieve data tetap valid. Algoritma yang digunakan pada form data dosen dapat anda lihat seperti pada flowchart dibawah ini :
S
R
MMoodduull
55
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 35
FLOW CHART DATA DOSEN
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
36 Langkah Pasti Menuju Sukses
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 37
BENTUK LAYOUT FORM DATA DOSEN
Label1Label2
Label3
Label4
Frame1TextBox1
TextBox2
CrystalReports
CommandButton2
CommandButton1
CommandButtons
CommandButton4
CommandButton3
DAFTAR PROPERTI OBJECT Pada Form Data Dosen
OBJECT PROPERTI PENGATURAN
Label1
Alignment 2 – Center
Caption Form Data Dosen
BackStyle 0 – Transparent
Label2
Alignment 1 – Right Justified
Caption Kode Dosen
BackStyle 0 – Transparent
Label3 Alignment 1 – Right
Justified
Caption Nama Dosen
BackStyle 0 – Transparent
Label4
Alignment 2 – Center
BorderStyle 1 – Fixed Single
BackColor &H00FFFFFF&
Caption (Kosongkan)
(Name) lblStatus
Frame1 Caption Data Dosen
TextBox1 (Name) txtFields
Text (Kosongkan)
TextBox2 (Name) TxtFields
Text (Kosongkan)
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
38 Langkah Pasti Menuju Sukses
Command
Button1
(Name) CmdAdd
Caption &Add
Command
Button2
(Name) CmdEdit
Caption &Edit
Command
Button3
(Name) CmdUpdate
Caption &Update
Command
Button4
(Name) CmdCancel
Caption &Cancel
Command
Button5
(Name) CmdDelete
Caption &Delete
Command
Button6
(Name) CmdSearch
Caption &Search
Command
Button7
(Name) CmdClose
Caption &Close
Command
Button8
(Name) CmdReport
Caption &Report
Command (Name) CmdFirst
Button9 Style 1 – Graphical
Command
Button10
(Name) CmdPrevious
Style 1 - Graphical
Command
Button11
(Name) CmdNext
Style 1 - Graphical
Command
Button12
(Name) CmdLast
Style 1 – Graphical
Form1
(Name) FrmDosen
BorderStyle 3 – Fixed Dialog
Caption Form Data Dosen
StartUposition 2 – Center Screen
Crystal Report1
(Name) CrptReport
WindowState 2-crptMaximize
PERANCANGAN FORM DATA JURUSAN
ampir semua object / control pada form data Jurusan identik dengan form Data Dosen yang telah Anda rancang.Untuk mempersingkat tahap
perancangan interfacing Anda cukup mengcopy semua form pada data Dosen dan kemudian menambahkan/menghapus beberapa control yang tidak ada pada Form Data Jurusan. Cara lain yang lebih cepat untuk menggandakan form Data Dosen adalah dengan melakukan Save As pada form dengan nama form lain misalnya dengan nama frmJurusan lalu Anda harus meng-add kembali form data dosen pada project Anda. Algoritma yang digunakan pada form Data Jurusan juga relatif sama dengan Form data Dosen sehingga Anda cukup melihat flowchart pada Form Data Dosen untuk memahami sistem kerja yang ada.
H
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 39
Label1Label2
Label3
Label4
Frame1TextBox1
TextBox2
CommandButton2
CommandButton1
CommandButtons
CommandButton4
CommandButton3
TextBox3
DAFTAR PROPERTI OBJECT Pada Form Data Jurusan
OBJECT PROPERTI PENGATURAN
Label1
Alignment 2 – Center
Caption Form Data Jurusan
BackStyle 0 – Transparent
Label2
Alignment 1 – Right Justified
Caption Kode Jurusan
BackStyle 0 – Transparent
Label3
Alignment 1 – Right Justified
Caption Nama Jurusan
BackStyle 0 – Transparent
Label4
Alignment 1 – Right Justified
Caption Nama Ketua Jurusan
BackStyle 0 - Transparant
Label5
Alignment 2 – Center
BorderStyle 1 – Fixed Single
BackColor &H00FFFFFF&
Caption (Kosongkan)
(Name) lblStatus
Frame1 Caption Data Jurusan
TextBox1 (Name) txtFields
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
40 Langkah Pasti Menuju Sukses
Text (Kosongkan)
TextBox2 (Name) txtFields
Text (Kosongkan)
TextBox3 (Name) txtFields
Text (Kosongkan)
Command
Button1
(Name) CmdAdd
Caption &Add
Command
Button2
(Name) CmdEdit
Caption &Edit
Command
Button3
(Name) CmdUpdate
Caption &Update
Command
Button4
(Name) CmdCancel
Caption &Cancel
Command
Button5
(Name) CmdDelete
Caption &Delete
Command
Button6
(Name) CmdSearch
Caption &Search
Command (Name) CmdClose
Button7 Caption &Close
Command
Button8
(Name) CmdReport
Caption &Report
Command
Button9
(Name) CmdFirst
Style 1 - Graphical
Command
Button10
(Name) CmdPrevious
Style 1 - Graphical
Command
Button11
(Name) CmdNext
Style 1 - Graphical
Command
Button12
(Name) CmdLast
Style 1 – Graphical
Form1
(Name) FrmJurusan
BorderStyle 3 – Fixed Dialog
Caption Form Data Jurusan
StartUposition 2 – Center Screen
PERANCANGAN FORM DATA MATA KULIAH
ampir semua object / control pada form data Mata Kuliah identik dengan form Data Dosen yang telah Anda rancang.Untuk mempersingkat tahap
perancangan interfacing Anda cukup mengcopy semua form pada data Dosen dan kemudian menambahkan/menghapus beberapa control yang tidak ada pada Form Data Mata Kuliah. Algoritma yang digunakan pada form Data Mata Kuliah juga relatif sama dengan Form data Dosen sehingga Anda cukup melihat flowchart pada Form Data Dosen untuk memahami sistem kerja yang ada.
H
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 41
Label1Label2
Label3
Label5
Frame1TextBox1
TextBox2
CommandButton2
CommandButton1
CommandButtons
CommandButton4
CommandButton3
TextBox3Label4
CrystalReport
DAFTAR PROPERTI OBJECT Pada Form Data Mata Kuliah
OBJECT PROPERTI PENGATURAN
Label1
Alignment 2 – Center
Caption Form Data
MataKuliah
BackStyle 0 – Transparent
Label2
Alignment 1 – Right Justified
Caption Kode MataKuliah
BackStyle 0 – Transparent
Label3
Alignment 1 – Right Justified
Caption Nama MataKuliah
BackStyle 0 – Transparent
Label4
Alignment 1 – Right Justified
Caption Jumlah SKS
BackStyle 0 - Transparant
Label5
Alignment 2 – Center
BorderStyle 1 – Fixed Single
BackColor &H00FFFFFF&
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
42 Langkah Pasti Menuju Sukses
Caption (Kosongkan)
(Name) lblStatus
Frame1 Caption Data MataKuliah
TextBox1 (Name) txtFields
Text (Kosongkan)
TextBox2 (Name) txtFields
Text (Kosongkan)
TextBox3 (Name) txtFields
Text (Kosongkan)
Command
Button1
(Name) CmdAdd
Caption &Add
Command
Button2
(Name) CmdEdit
Caption &Edit
Command
Button3
(Name) CmdUpdate
Caption &Update
Command
Button4
(Name) CmdCancel
Caption &Cancel
Command
Button5
(Name) CmdDelete
Caption &Delete
Command
Button6
(Name) CmdSearch
Caption &Search
Command (Name) CmdClose
Button7 Caption &Close
Command
Button8
(Name) CmdReport
Caption &Report
Command
Button9
(Name) CmdFirst
Style 1 - Graphical
Command
Button10
(Name) CmdPrevious
Style 1 - Graphical
Command
Button11
(Name) CmdNext
Style 1 – Graphical
Command
Button12
(Name) CmdLast
Style 1 – Graphical
Form1
(Name) FrmMataKuliah
BorderStyle 3 – Fixed Dialog
Caption Form Data
MataKuliah
StartUposition 2 – Center Screen
Crystal
Report1
(Name) CrptReport
WindowState 2-crptMaximize
PERANCANGAN FORM DATA MAHASISWA
ampir semua object / control pada form data Mahasiswa identik dengan form Data Dosen yang telah Anda rancang.Untuk mempersingkat tahap
perancangan interfacing Anda cukup mengcopy semua form pada data Dosen dan kemudian menambahkan/menghapus beberapa control yang tidak ada pada Form Data Mahasiswa. Algoritma yang digunakan pada form Data Mahasiswa juga relatif sama dengan Form data Dosen sehingga Anda cukup melihat flowchart pada Form Data Dosen untuk memahami sistem kerja yang ada.
H
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 43
Label1Label2
Label3
Label5
Frame1TextBox1
TextBox2
CommandButton2
CommandButton1
CommandButtons
CommandButton4
CommandButton3
ComboBoxLabel4
CrystalReport
DAFTAR PROPERTI OBJECT Pada Form Data Mahasiswa
OBJECT PROPERTI PENGATURAN
Label1
Alignment 2 – Center
Caption Form Data
Mahasiswa
BackStyle 0 – Transparent
Label2
Alignment 1 – Right Justified
Caption NIM
BackStyle 0 – Transparent
Label3
Alignment 1 – Right Justified
Caption Nama
BackStyle 0 – Transparent
Label4
Alignment 1 – Right Justified
Caption Kode Jurusan
BackStyle 0 - Transparant
Label5 Alignment 2 – Center
BorderStyle 1 – Fixed Single
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
44 Langkah Pasti Menuju Sukses
BackColor &H00FFFFFF&
Caption (Kosongkan)
(Name) LblStatus
Frame1 Caption Data Mahasiswa
TextBox1 (Name) TxtFields
Text (Kosongkan)
TextBox2 (Name) TxtFields
Text (Kosongkan)
TextBox3 (Name) TxtFields
Text (Kosongkan)
Combo1
(Name) cboJurusan
Style 0 – Dropdown
Combol
Command
Button1
(Name) CmdAdd
Caption &Add
Command
Button2
(Name) CmdEdit
Caption &Edit
Command
Button3
(Name) CmdUpdate
Caption &Update
Command
Button4
(Name) CmdCancel
Caption &Cancel
Command
Button5
(Name) CmdDelete
Caption &Delete
Command
Button6
(Name) CmdSearch
Caption &Search
Command
Button7
(Name) CmdClose
Caption &Close
Command
Button8
(Name) CmdReport
Caption &Report
Command
Button9
(Name) CmdFirst
Style 1 - Graphical
Command
Button10
(Name) CmdPrevious
Style 1 - Graphical
Command
Button11
(Name) CmdNext
Style 1 – Graphical
Command
Button12
(Name) CmdLast
Style 1 – Graphical
Form1
(Name) FrmMataKuliah
BorderStyle 3 – Fixed Dialog
Caption Form Data
Mahasiswa
StartUposition 2 – Center Screen
Crystal
Report1
(Name) CrptReport
WindowState 2-crptMaximize
PERANCANGAN FORM DATA Nilai
orm Data Nilai memiliki tingkat logika yang tinggi dimana terdapat algoritma sorting, searching dan retrieving pada data serta ekspansi kemampuan untuk
kontrol MsHflexGrid. Seperti yang kita ketahui bahwa MsHflexGrid bersifat Read Only tetapi untuk kemudahan user maka kita rancang suatu interface MsHflexGrid
F
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 45
yang dapat diedit seperti layaknya textbox serta dapat menampilkan list (combol box) pada cell yang diklik. Sistem Report juga akan mengacu kepada setting yang diberikan oleh user secara fleksibel. User dapat menentukan pensortiran data berdasarkan kriteria field. Hal ini dapat dimanipulasi berdasarkan query yang diberikan.
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
46 Langkah Pasti Menuju Sukses
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 47
DAFTAR PROPERTI OBJECT Pada Form Data Nilai
OBJECT PROPERTI PENGATURAN
Label1
Alignment 2 – Center
Caption Form Nilai
Mahasiswa
BackStyle 0 – Transparent
Label2
Alignment 1 – Right Justified
Caption Kode MataKuliah
BackStyle 0 – Transparent
Label3
Alignment 1 – Right Justified
Caption Kode Dosen :
BackStyle 0 – Transparent
Label4
Alignment 1 – Right Justified
Caption Tahun Ajaran :
BackStyle 0 - Transparant
Label5
Alignment 1 – Center
Caption (Kosongkan)
(Name) LblMataKuliah
Label5
Alignment 2 – Center
Caption (Kosongkan)
(Name) LblDosen
Frame1 Caption Data Mahasiswa
Frame2 Caption Nama MataKuliah
Frame3 Caption Nama Dosen
Frame4 Caption Pengurutan
Combo
Box1
(Name) CboMataKuliah
Style 2 – Dropdown
Combo
Box2
(Name) CboDosen
Style 2 – Dropdown
Combo
Box3
(Name) CboTahunAjaran
Style 2 – Dropdown
Combo
Box4
(Name) CboNIM
Style 2 – Dropdown
Combo
Box5
(Name) CboNama
Style 2 - Dropdown
Option Button1
(Name) Option1
Caption Ascend
Option Button2
(Name) Option2
Caption Descend
Command
Button1
(Name) CmdAdd
Caption &Add
Command
Button2
(Name) CmdEdit
Caption &Edit
Command
Button3
(Name) CmdUpdate
Caption &Update
Command
Button4
(Name) CmdCancel
Caption &Cancel
Command
Button5
(Name) CmdDelete
Caption &Delete
Command
Button6
(Name) CmdSearch
Caption &Search
Command
Button7
(Name) CmdClose
Caption &Close
Command
Button8
(Name) CmdReport
Caption &Report
Command
Button9
(Name) CmdTitle
Caption NIM
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
48 Langkah Pasti Menuju Sukses
Command
Button10
(Name) CmdTitle
Caption Nama Mahasiswa
Command
Button11
(Name) CmdTitle
Caption Absensi 10 %
Command
Button12
(Name) CmdTitle
Caption Tugas 15 %
Command
Button13
(Name) CmdTitle
Caption Mid 30 %
Command
Button14
(Name) CmdTitle
Caption UAS 45 %
Command
Button15
(Name) CmdTitle
Caption Angka
Command
Button16
(Name) CmdTitle
Caption Huruf
Text Box1 (Name) TxtList
BackColor &H00FFC0FF&
Form1
(Name) FrmMataNilai
BorderStyle 3 – Fixed Dialog
Caption Form Nilai
StartUposition
2 – Center Screen
Crystal
Report1
(Name) CrptReport
WindowState
2-crptMaximize
MsHFlex
Grid1
(Name) MshReport
BackColor &H00C0E0FF&
BackColorBkg
&H00FFC0C0&
PERANCANGAN FORM Main (MDI Form)
orm Main adalah form utama yang bertipe MDI (Multiple Document Interface). Pada form Main terdapat kontrol ToolBar, ImageList dan Status Bar juga
terdapat Menu dengan hierarki sebagai berikut :
PROPERTI PADA MENU PROPERTI PADA TOOL BAR
CAPTION NAME INDEX CAPTION STYLE &File mnuFile 1 4 – tbrPlaceholder …&Tutup Aplikasi mnuTutupAplikasi 2 Jurusan 0 – tbrDefault &Data mnuData 3 MataKuliah 0 – tbrDefault …&Jurusan mnuJurusan 4 3 – tbrSeparator …Mata&Kuliah mnuMataKuliah 5 Dosen 0 – tbrDefault …- Separator1 6 Mahasiswa 0 – tbrDefault …&Dosen mnuDosen 7 Nilai 0 – tbrDefault …&Mahasiswa mnuMahasiswa 8 3 – tbrSeparator …- Separator2 9 Keluar 0 – tbrDefault …&Nilai Mahasiswa mnuNilaiMahasiswa 10 3 – tbrSeparator
F
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 49
Tool Bar
ImageList
StatusBar
TIPS Dan Trick
nda dapat menambahkan bakcground untuk memperindah tampilan form Main. Sebaiknya tipe file image yang dipakai berekstensi *.wmf (windows
metafile) karena jika window diresize maka image background akan stretching mengikuti lebar window sehingga tampilan tampak professional. Jika anda tidak memiliki aplikasi konversi file image ke metafile maka anda dapat menggunakan aplikasi Microsoft Word. Yaitu dengan membuka lembar kerja baru lalu klik menu Insert � Picture � From File, masukkan file image dengan ekstensi apa saja (bmp, jpg, jpeg, gif) ke document word lalu atur layout picture menjadi behind text. Selanjutnya copy file image tersebut dan paste-kan pada MDI form. Secara otomatis file image tersebut akan berextensi wmf.
A
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
50 Langkah Pasti Menuju Sukses
PPEERRAANNCCAANNGGAANN RREEPPOORRTT
DDEENNGGAANN CCRRYYSSTTAALL RREEPPOORRTT
OBJEKTIF
� Mahasiswa Dapat merancang suatu sistem report yang terintegrasi dengan menggunakan aplikasi third party Seagate Crystal Report.
Perancangan Report
istem Report pada perangkat lunak Sistem Akademik ini dirancang dengan menggunakan program third party Seagate Crystal Report. Aplikasi ini bekerja
secara terpisah dengan Visual Basic 6.0 dan berfungsi membuat dan menguji report, kontrol ActiveX dan beberapa file lainnya. Crystal Report desainer akan membuat file definisi report dengan ekstensi *.rpt. Pada aplikasi kita Crystal Report di link-an dengan kontrol OLE (OCX) yang ditampilkan pada form untuk mengatur proses mencetak report. Dengan kontrol ini anda dapat menampilkan report pada jendela Print Preview, mencetak langsung ke printer, atau mengekspor menjadi suatu file.
LANGKAH-LANGKAH PEMBUATAN REPORT
1. Dari jendela program Crystal Report klik menu File > New. Akan muncul kotak dialog Create New Report. Klik pada pilihan Standard
S
MMoodduull
66
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 51
2. Muncul kotak wizard Create Report Expert. Pada Tab pertama Tables klik pada perintah Data File. Pada Pilihan Directories pilih dimana database dbAkademik disimpan. Lalu klik tombol Add kemudian tombol Done Anda akan masuk ke halaman tab ke dua yaitu Links dimana secara otomatis Crystal Report akan membuat daftar link.
3. Klik Next kemudian pada tab ketiga Fields tambahkan fieds sesuai report yang akan kita rancang.
4. Klik tab Style kemudian pada kotak isian Title isikan judul report dan pilih style Table untuk Report kita.
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
52 Langkah Pasti Menuju Sukses
DESAIN REPORT LAPORAN DATA DOSEN
Simpan Report dengan nama Laporan Data Dosen.rpt
DESAIN REPORT LAPORAN DATA MAHASISWA
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 53
Simpan Report dengan nama Laporan Data Mahasiswa.rpt
DESAIN REPORT LAPORAN DATA MATAKULIAH
Simpan Report dengan nama Laporan Data Matakuliah.rpt
Desain Report Laporan Data Nilai
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
54 Langkah Pasti Menuju Sukses
Running Total Field Pada Laporan Data Nilai
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 55
RUNNING TOTAL NAME
FIELD TO SUMMARIZE
TYPE OF SUMMARY
( EVALUATE ) USE A FORMULA
RESET
Count_A Nilai.N_AkhirHuruf Count {Nilai.N_AkhirHuruf} = "A" Never Count_B Nilai.N_AkhirHuruf Count {Nilai.N_AkhirHuruf} = "B" Never Count_C Nilai.N_AkhirHuruf Count {Nilai.N_AkhirHuruf} = "C" Never Count_D Nilai.N_AkhirHuruf Count {Nilai.N_AkhirHuruf} = "D" Never Count_E Nilai.N_AkhirHuruf Count {Nilai.N_AkhirHuruf} = "E" Never
Formula Field Pada Laporan Data Nilai
@MaxNilai = Maximum ({Nilai.N_AkhirAngka}) @MinNilai = Minimum ({Nilai.N_AkhirAngka}) @%A = ({#Count_A} / RecordNumber) * 100 @%B = ({#Count_B} / RecordNumber) * 100 @%C = ({#Count_C} / RecordNumber) * 100 @%D = ({#Count_D} / RecordNumber) * 100 @%E = ({#Count_E} / RecordNumber) * 100
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
56 Langkah Pasti Menuju Sukses
CCOODDEEIINNGG AAPPLLIIKKAASSII
SSIISSTTEEMM AAKKAADDEEMMIIKK
OBJEKTIF
� Tahap penulisan source code pada tiap objek. � RunTime Program. � Proses debugging dan testing program.
PENDAHULUAN
ada modul ini adalah tahapan penyelesaian perangkat lunak Sistem Informasi Akademik yaitu penulisan kode sumber (source code) pada tiap objek yang
ada. Setelah proses codeing selesai maka proses selanjutnya adalah melakukan proses debugging pada tiap modul, keintegritasan dari seluruh modul hingga diperoleh suatu sistem perangkat lunak yang baik dan terhindar dari bug program.
KODE PROGRAM PADA FORM DOSEN
Dim AddNewFlag As Boolean Dim EditFlag As Boolean Dim SaveRecord As Boolean Dim KodeDosen As String * 3 Private Sub FieldClear() Dim ObjTxt As TextBox For Each ObjTxt In Me.txtFields ObjTxt.Text = "" Next End Sub Private Sub FieldFill() On Error GoTo ErrorMsg With rsDosen txtFields(0).Text = .Fields(0).Value txtFields(1).Text = .Fields(1).Value End With txtFields(0).SetFocus Exit Sub ErrorMsg: MsgBox Err.Description
P
MMoodduull
77
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 57
End Sub Function CheckField() As Boolean If txtFields(0).Text = vbNullString Then MsgBox "Field Kode Dosen tidak boleh kosong !", vbInformation, "Kesalahan Input" txtFields(0).SetFocus CheckField = False Exit Function End If If txtFields(1).Text = vbNullString Then MsgBox "Field Nama Dosen tidak boleh kosong !", vbInformation, "Kesalahan Input" txtFields(1).SetFocus CheckField = False Exit Function End If CheckField = True End Function Private Sub cmdReport_Click() On Error GoTo Error crptReport.ReportFileName = App.Path & "\Report \LAPORAN DATA DOSEN.rpt" crptReport.DiscardSavedData = True crptReport.Action = 1 Exit Sub Error: MsgBox Err.Description End Sub Private Sub cmdSearch_Click() On Error GoTo ErrorMsg Dim Kode As String Kode = InputBox("Masukkan Kode Dosen", "Cari Re cord Dosen") With rsDosen If .RecordCount <> 0 Then .MoveFirst Do If UCase(.Fields(0).Value) = UCase( Kode) Then FieldFill Exit Sub End If .MoveNext Loop Until .EOF End If End With MsgBox "Kode Dosen yang anda input tidak ada", vbInformation, "Konfirmasi" Exit Sub
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
58 Langkah Pasti Menuju Sukses
ErrorMsg: MsgBox Err.Description End Sub Private Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then SendKeys "{tab}" KeyAscii = 0 End If End Sub Private Sub Form_Activate() SetButtons (True) With rsDosen If .RecordCount <> 0 Then cmdFirst_Click FieldFill End If End With End Sub Private Sub Form_Load() OpenTblConnection (Dosen) End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyEscape cmdClose_Click Case vbKeyEnd cmdLast_Click Case vbKeyHome cmdFirst_Click Case vbKeyUp, vbKeyPageUp If Shift = vbCtrlMask Then cmdFirst_Click Else cmdPrevious_Click End If Case vbKeyDown, vbKeyPageDown If Shift = vbCtrlMask Then cmdLast_Click Else cmdNext_Click End If End Select End Sub Private Sub Form_Unload(Cancel As Integer) CloseTblConnection (Dosen) Screen.MousePointer = vbDefault End Sub
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 59
Private Sub cmdAdd_Click() lblStatus.Caption = "Tambah Record" Save = False AddNewFlag = True FieldClear SetButtons (False) txtFields(0).SetFocus End Sub Private Sub cmdDelete_Click() On Error GoTo ErrorMsg lblStatus.Caption = "Hapus Record" With rsDosen If MsgBox("Yakin akan menghapus record ini ?", vbQuestion + vbYesNo, "Konfirmasi") = vbYes Then .Delete .Requery If .RecordCount <> 0 Then cmdFirst_Click Else FieldClear End If Else cmdFirst_Click End If End With Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub cmdEdit_Click() lblStatus.Caption = "Edit Record" Save = False EditFlag = True SetButtons (False) KodeDosen = txtFields(0).Text txtFields(0).SetFocus End Sub Private Sub cmdCancel_Click() Save = True EditFlag = False AddNewFlag = False SetButtons (True) cmdFirst_Click End Sub Private Sub cmdUpdate_Click() On Error GoTo ErrorMsg
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
60 Langkah Pasti Menuju Sukses
If CheckField = False Then Exit Sub End If With rsDosen If AddNewFlag Then 'check apakah terjadi redudansi pada ke y primer If .RecordCount <> 0 Then .MoveFirst Do If UCase(.Fields(0).Value) = UC ase(txtFields(0).Text) Then MsgBox "Kode Dosen telah ad a pada Database..", vbInformation, "Kesalahan Input" txtFields(0).Text = vbNullS tring txtFields(0).SetFocus Exit Sub End If .MoveNext Loop Until .EOF End If .AddNew .Fields(0).Value = txtFields(0).Text .Fields(1).Value = txtFields(1).Text .UpdateBatch AddNewFlag = False ElseIf EditFlag Then If txtFields(0).Text <> KodeDosen Then 'check apakah terjadi redudansi pad a key primer With rsDosen If .RecordCount <> 0 Then .MoveFirst Do If UCase(.Fields(0).Val ue) <> UCase(KodeDosen) Then If UCase(.Fields(0) .Value) = UCase(txtFields(0).Text) Then MsgBox "Kode Do sen telah ada pada Database..", vbInformation, "Kesalahan Input" txtFields(0).Te xt = vbNullString txtFields(0).Se tFocus Exit Sub End If End If .MoveNext Loop Until .EOF End If End With End If .MoveFirst Do If .Fields(0).Value = KodeDosen The n .Fields(0).Value = txtFields(0)
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 61
.Fields(1).Value = txtFields(1) .UpdateBatch Exit Do End If .MoveNext Loop Until .EOF EditFlag = False End If End With Save = True SetButtons (True) lblStatus.Caption = "Record Ke : " & CStr(rsDos en.AbsolutePosition) & "/" & CStr(rsDosen.RecordCount) Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub cmdFirst_Click() On Error GoTo ErrorMsg With rsDosen If .RecordCount <> 0 Then .MoveFirst FieldFill lblStatus.Caption = "Record Ke : " & CStr(r sDosen.AbsolutePosition) & "/" & CStr(rsDosen.RecordCount) End If End With Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub cmdLast_Click() On Error GoTo ErrorMsg With rsDosen If .RecordCount <> 0 Then .MoveLast FieldFill lblStatus.Caption = "Record Ke : " & CStr(r sDosen.AbsolutePosition) & "/" & CStr(rsDosen.RecordCount) End If End With Exit Sub
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
62 Langkah Pasti Menuju Sukses
ErrorMsg: MsgBox Err.Description End Sub Private Sub cmdNext_Click() On Error GoTo ErrorMsg With rsDosen If .RecordCount <> 0 Then .MoveNext If .EOF Then .MovePrevious End If Else Exit Sub End If End With FieldFill lblStatus.Caption = "Record Ke : " & CStr(rsDos en.AbsolutePosition) & "/" & CStr(rsDosen.RecordCount) Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub cmdPrevious_Click() On Error GoTo ErrorMsg With rsDosen If .RecordCount <> 0 Then .MovePrevious If .BOF Then .MoveNext End If Else Exit Sub End If End With FieldFill lblStatus.Caption = "Record Ke : " & CStr(rsDos en.AbsolutePosition) & "/" & CStr(rsDosen.RecordCount) Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub SetButtons(bVal As Boolean) Dim ObjText As TextBox For Each ObjText In Me.txtFields
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 63
ObjText.Locked = bVal Next cmdAdd.Visible = bVal cmdEdit.Visible = bVal cmdUpdate.Visible = Not bVal cmdCancel.Visible = Not bVal cmdDelete.Visible = bVal cmdClose.Visible = bVal cmdSearch.Visible = bVal cmdNext.Enabled = bVal cmdFirst.Enabled = bVal cmdLast.Enabled = bVal cmdPrevious.Enabled = bVal End Sub
KODE PROGRAM PADA FORM JURUSAN
Dim AddNewFlag As Boolean Dim EditFlag As Boolean Dim SaveRecord As Boolean Dim KodeJurusan As String * 3 Private Sub FieldClear() Dim ObjTxt As TextBox For Each ObjTxt In Me.txtFields ObjTxt.Text = "" Next End Sub Private Sub FieldFill() On Error GoTo ErrorMsg With rsJurusan txtFields(0).Text = .Fields(0).Value txtFields(1).Text = .Fields(1).Value txtFields(2).Text = .Fields(2).Value End With txtFields(0).SetFocus Exit Sub ErrorMsg: MsgBox Err.Description End Sub Function CheckField() As Boolean If txtFields(0).Text = vbNullString Then MsgBox "Field Kode Jurusan tidak boleh koso ng !", vbInformation, "Kesalahan Input" txtFields(0).SetFocus CheckField = False
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
64 Langkah Pasti Menuju Sukses
Exit Function End If If txtFields(1).Text = vbNullString Then MsgBox "Field Nama Jurusan tidak boleh koso ng !", vbInformation, "Kesalahan Input" txtFields(1).SetFocus CheckField = False Exit Function End If If txtFields(2).Text = vbNullString Then MsgBox "Field Nama Ketua Jurusan tidak bole h kosong !", vbInformation, "Kesalahan Input" txtFields(2).SetFocus CheckField = False Exit Function End If CheckField = True End Function Private Sub cmdSearch_Click() On Error GoTo ErrorMsg Dim Kode As String Kode = InputBox("Masukkan Kode Jurusan", "Cari Record Jurusan") With rsJurusan If .RecordCount <> 0 Then .MoveFirst Do If UCase(.Fields(0).Value) = UCase( Kode) Then FieldFill Exit Sub End If .MoveNext Loop Until .EOF End If End With MsgBox "Kode jurusan yang anda input tidak ada" , vbInformation, "Konfirmasi" Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then SendKeys "{tab}" KeyAscii = 0 End If End Sub
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 65
Private Sub Form_Activate() SetButtons (True) With rsJurusan If .RecordCount <> 0 Then cmdFirst_Click FieldFill End If End With End Sub Private Sub Form_Load() OpenTblConnection (Jurusan) End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyEscape cmdClose_Click Case vbKeyEnd cmdLast_Click Case vbKeyHome cmdFirst_Click Case vbKeyUp, vbKeyPageUp If Shift = vbCtrlMask Then cmdFirst_Click Else cmdPrevious_Click End If Case vbKeyDown, vbKeyPageDown If Shift = vbCtrlMask Then cmdLast_Click Else cmdNext_Click End If End Select End Sub Private Sub Form_Unload(Cancel As Integer) CloseTblConnection (Jurusan) Screen.MousePointer = vbDefault End Sub Private Sub cmdAdd_Click() lblStatus.Caption = "Tambah Record" Save = False AddNewFlag = True FieldClear SetButtons (False) txtFields(0).SetFocus End Sub
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
66 Langkah Pasti Menuju Sukses
Private Sub cmdDelete_Click() On Error GoTo ErrorMsg lblStatus.Caption = "Hapus Record" With rsJurusan If MsgBox("Yakin akan menghapus record ini ?", vbQuestion + vbYesNo, "Konfirmasi") = vbYes Then .Delete .Requery If .RecordCount <> 0 Then cmdFirst_Click Else FieldClear End If Else cmdFirst_Click End If End With Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub cmdEdit_Click() lblStatus.Caption = "Edit Record" Save = False EditFlag = True SetButtons (False) KodeJurusan = txtFields(0).Text txtFields(0).SetFocus End Sub Private Sub cmdCancel_Click() Save = True EditFlag = False AddNewFlag = False SetButtons (True) cmdFirst_Click End Sub Private Sub cmdUpdate_Click() On Error GoTo ErrorMsg If CheckField = False Then Exit Sub End If With rsJurusan 'Jika operasi Add Record If AddNewFlag Then 'check apakah terjadi redudansi pada ke y primer If .RecordCount <> 0 Then .MoveFirst Do
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 67
If UCase(.Fields(0).Value) = UC ase(txtFields(0).Text) Then MsgBox "Kode Jurusan telah ada pada Database..", vbInformation, "Kesalahan Input" txtFields(0).Text = vbNullS tring txtFields(0).SetFocus Exit Sub End If .MoveNext Loop Until .EOF End If 'Jika Tidak Lakukan Penambahan Record B aru .AddNew .Fields(0).Value = txtFields(0).Text .Fields(1).Value = txtFields(1).Text .Fields(2).Value = txtFields(2).Text .UpdateBatch AddNewFlag = False 'Jika Operasi Edit Record ElseIf EditFlag Then If txtFields(0).Text <> KodeJurusan The n 'check apakah terjadi redudansi pad a key primer With rsJurusan If .RecordCount <> 0 Then .MoveFirst Do If UCase(.Fields(0).Val ue) <> UCase(KodeJurusan) Then If UCase(.Fields(0) .Value) = UCase(txtFields(0).Text) Then MsgBox "Kode Ju rusan telah ada pada Database..", vbInformation, "Kesalahan Input" txtFields(0).Te xt = vbNullString txtFields(0).Se tFocus Exit Sub End If End If .MoveNext Loop Until .EOF End If End With End If .MoveFirst 'Jika tidak ubah record Do If .Fields(0).Value = KodeJurusan T hen .Fields(0).Value = txtFields(0) .Fields(1).Value = txtFields(1) .Fields(2).Value = txtFields(2) .UpdateBatch Exit Do End If .MoveNext
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
68 Langkah Pasti Menuju Sukses
Loop Until .EOF EditFlag = False End If End With Save = True SetButtons (True) lblStatus.Caption = "Record Ke : " & CStr(rsJur usan.AbsolutePosition) & "/" & CStr(rsJurusan.RecordCount) Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub cmdFirst_Click() On Error GoTo ErrorMsg With rsJurusan If .RecordCount <> 0 Then .MoveFirst FieldFill lblStatus.Caption = "Record Ke : " & CStr(rsJurusan.AbsolutePosition) & "/" & CStr(rsJur usan.RecordCount) End If End With Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub cmdLast_Click() On Error GoTo ErrorMsg With rsJurusan If .RecordCount <> 0 Then .MoveLast FieldFill lblStatus.Caption = "Record Ke : " & CStr(rsJurusan.AbsolutePosition) & "/" & CStr(rsJur usan.RecordCount) End If End With Exit Sub ErrorMsg: MsgBox Err.Description End Sub
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 69
Private Sub cmdNext_Click() On Error GoTo ErrorMsg With rsJurusan If .RecordCount <> 0 Then .MoveNext If .EOF Then .MovePrevious End If Else Exit Sub End If End With FieldFill lblStatus.Caption = "Record Ke : " & CStr(rsJur usan.AbsolutePosition) & "/" & CStr(rsJurusan.RecordCount) Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub cmdPrevious_Click() On Error GoTo ErrorMsg With rsJurusan If .RecordCount <> 0 Then .MovePrevious If .BOF Then .MoveNext End If Else Exit Sub End If End With FieldFill lblStatus.Caption = "Record Ke : " & CStr(rsJur usan.AbsolutePosition) & "/" & CStr(rsJurusan.RecordCount) Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub SetButtons(bVal As Boolean) Dim ObjText As TextBox For Each ObjText In Me.txtFields ObjText.Locked = bVal Next cmdAdd.Visible = bVal cmdEdit.Visible = bVal cmdUpdate.Visible = Not bVal
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
70 Langkah Pasti Menuju Sukses
cmdCancel.Visible = Not bVal cmdDelete.Visible = bVal cmdClose.Visible = bVal cmdSearch.Visible = bVal cmdNext.Enabled = bVal cmdFirst.Enabled = bVal cmdLast.Enabled = bVal cmdPrevious.Enabled = bVal End Sub
KODE PROGRAM PADA FORM MAHASISWA
Dim AddNewFlag As Boolean Dim EditFlag As Boolean Dim SaveRecord As Boolean Dim KodeMahasiswa As String Private Sub FieldClear() Dim ObjTxt As TextBox For Each ObjTxt In Me.txtFields ObjTxt.Text = "" Next End Sub Private Sub FieldFill() On Error GoTo ErrorMsg With rsMahasiswa txtFields(0).Text = .Fields(0).Value txtFields(1).Text = .Fields(1).Value cboJurusan.Text = .Fields(2).Value End With txtFields(0).SetFocus Exit Sub ErrorMsg: MsgBox Err.Description End Sub Function CheckField() As Boolean If txtFields(0).Text = vbNullString Then MsgBox "Field Nim Mahasiswa tidak boleh kos ong !", vbInformation, "Kesalahan Input" txtFields(0).SetFocus CheckField = False Exit Function End If If txtFields(1).Text = vbNullString Then
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 71
MsgBox "Field Nama Mahasiswa tidak boleh ko song !", vbInformation, "Kesalahan Input" txtFields(1).SetFocus CheckField = False Exit Function End If If cboJurusan.Text = vbNullString Then MsgBox "Data Kode Jurusan belum ada .. !", vbInformation, "Kesalahan Input" CheckField = False Exit Function End If CheckField = True End Function Private Sub cmdReport_Click() On Error GoTo Error crptReport.ReportFileName = App.Path & "\Report \LAPORAN DATA MAHASISWA.rpt" crptReport.DiscardSavedData = True crptReport.Action = 1 Exit Sub Error: MsgBox Err.Description End Sub Private Sub cmdSearch_Click() On Error GoTo ErrorMsg Dim Kode As String Kode = InputBox("Masukkan Nim Mahasiswa", "Cari Record Mahasiswa") With rsMahasiswa If .RecordCount <> 0 Then .MoveFirst Do If UCase(.Fields(0).Value) = UCase( Kode) Then FieldFill Exit Sub End If .MoveNext Loop Until .EOF End If End With MsgBox "Nim Mahasiswa yang anda input tidak ada ", vbInformation, "Konfirmasi" Exit Sub ErrorMsg: MsgBox Err.Description End Sub
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
72 Langkah Pasti Menuju Sukses
Private Sub FillCboJurusan() With rsJurusan If .RecordCount <> 0 Then .MoveFirst Do cboJurusan.AddItem .Fields(0).Value .MoveNext Loop Until .EOF Else cboJurusan.AddItem vbNullString End If If cboJurusan.ListCount > 1 Then cboJurusan.Text = cboJurusan.List(0) End If End With End Sub Private Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then SendKeys "{tab}" KeyAscii = 0 End If End Sub Private Sub Form_Activate() SetButtons (True) With rsMahasiswa If .RecordCount <> 0 Then FillCboJurusan cmdFirst_Click FieldFill Else FillCboJurusan End If End With End Sub Private Sub Form_Load() OpenTblConnection (Mahasiswa) OpenTblConnection (Jurusan) End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyEscape cmdClose_Click Case vbKeyEnd cmdLast_Click Case vbKeyHome cmdFirst_Click Case vbKeyUp, vbKeyPageUp If Shift = vbCtrlMask Then
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 73
cmdFirst_Click Else cmdPrevious_Click End If Case vbKeyDown, vbKeyPageDown If Shift = vbCtrlMask Then cmdLast_Click Else cmdNext_Click End If End Select End Sub Private Sub Form_Unload(Cancel As Integer) CloseTblConnection (Mahasiswa) CloseTblConnection (Jurusan) Screen.MousePointer = vbDefault End Sub Private Sub cmdAdd_Click() lblStatus.Caption = "Tambah Record" Save = False AddNewFlag = True FieldClear SetButtons (False) txtFields(0).SetFocus End Sub Private Sub cmdDelete_Click() On Error GoTo ErrorMsg lblStatus.Caption = "Hapus Record" With rsMahasiswa If MsgBox("Yakin akan menghapus record ini ?", vbQuestion + vbYesNo, "Konfirmasi") = vbYes Then .Delete .Requery If .RecordCount <> 0 Then cmdFirst_Click Else FieldClear End If Else cmdFirst_Click End If End With Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub cmdEdit_Click()
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
74 Langkah Pasti Menuju Sukses
lblStatus.Caption = "Edit Record" Save = False EditFlag = True SetButtons (False) KodeMahasiswa = txtFields(0).Text txtFields(0).SetFocus End Sub Private Sub cmdCancel_Click() Save = True EditFlag = False AddNewFlag = False SetButtons (True) cmdFirst_Click End Sub Private Sub cmdUpdate_Click() On Error GoTo ErrorMsg If CheckField = False Then Exit Sub End If With rsMahasiswa 'Jika operasi Add Record If AddNewFlag Then 'check apakah terjadi redudansi pada ke y primer If .RecordCount <> 0 Then .MoveFirst Do If UCase(.Fields(0).Value) = UC ase(txtFields(0).Text) Then MsgBox "NIM Mahasiswa telah ada pada Database..", vbInformation, "Kesalahan Input" txtFields(0).Text = vbNullS tring txtFields(0).SetFocus Exit Sub End If .MoveNext Loop Until .EOF End If 'Jika Tidak Lakukan Penambahan Record B aru .AddNew .Fields(0).Value = txtFields(0).Text .Fields(1).Value = txtFields(1).Text .Fields(2).Value = cboJurusan.Text .UpdateBatch AddNewFlag = False 'Jika Operasi Edit Record ElseIf EditFlag Then If txtFields(0).Text <> KodeMahasiswa T hen 'check apakah terjadi redudansi pad a key primer With rsMahasiswa If .RecordCount <> 0 Then
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 75
.MoveFirst Do If UCase(.Fields(0).Val ue) <> UCase(KodeMahasiswa) Then If UCase(.Fields(0) .Value) = UCase(txtFields(0).Text) Then MsgBox "NIM Mah asiswa telah ada pada Database..", vbInformation, "Kesalahan Input" txtFields(0).Te xt = vbNullString txtFields(0).Se tFocus Exit Sub End If End If .MoveNext Loop Until .EOF End If End With End If .MoveFirst 'Jika tidak ubah record Do If .Fields(0).Value = KodeMahasiswa Then .Fields(0).Value = txtFields(0) .Fields(1).Value = txtFields(1) .Fields(2).Value = cboJurusan.T ext .UpdateBatch Exit Do End If .MoveNext Loop Until .EOF EditFlag = False End If End With Save = True SetButtons (True) lblStatus.Caption = "Record Ke : " & CStr(rsMah asiswa.AbsolutePosition) & "/" & CStr(rsMahasiswa.RecordCount) Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub cmdFirst_Click() On Error GoTo ErrorMsg With rsMahasiswa If .RecordCount <> 0 Then .MoveFirst
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
76 Langkah Pasti Menuju Sukses
FieldFill lblStatus.Caption = "Record Ke : " & CStr(rsMahasiswa.AbsolutePosition) & "/" & CStr(rsM ahasiswa.RecordCount) End If End With Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub cmdLast_Click() On Error GoTo ErrorMsg With rsMahasiswa If .RecordCount <> 0 Then .MoveLast FieldFill lblStatus.Caption = "Record Ke : " & CStr(rsMahasiswa.AbsolutePosition) & "/" & CStr(rsM ahasiswa.RecordCount) End If End With Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub cmdNext_Click() On Error GoTo ErrorMsg With rsMahasiswa If .RecordCount <> 0 Then .MoveNext If .EOF Then .MovePrevious End If Else Exit Sub End If End With FieldFill lblStatus.Caption = "Record Ke : " & CStr(rsMah asiswa.AbsolutePosition) & "/" & CStr(rsMahasiswa.RecordCount) Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub cmdPrevious_Click() On Error GoTo ErrorMsg
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 77
With rsMahasiswa If .RecordCount <> 0 Then .MovePrevious If .BOF Then .MoveNext End If Else Exit Sub End If End With FieldFill lblStatus.Caption = "Record Ke : " & CStr(rsMah asiswa.AbsolutePosition) & "/" & CStr(rsMahasiswa.RecordCount) Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub SetButtons(bVal As Boolean) Dim ObjText As TextBox For Each ObjText In Me.txtFields ObjText.Locked = bVal Next cmdAdd.Visible = bVal cmdEdit.Visible = bVal cmdUpdate.Visible = Not bVal cmdCancel.Visible = Not bVal cmdDelete.Visible = bVal cmdClose.Visible = bVal cmdSearch.Visible = bVal cmdNext.Enabled = bVal cmdFirst.Enabled = bVal cmdLast.Enabled = bVal cmdPrevious.Enabled = bVal End Sub
KODE PROGRAM PADA FORM MATAKULIAH
Dim AddNewFlag As Boolean Dim EditFlag As Boolean Dim SaveRecord As Boolean Dim KodeMataKuliah As String * 3 Private Sub FieldClear() Dim ObjTxt As TextBox For Each ObjTxt In Me.txtFields ObjTxt.Text = "" Next
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
78 Langkah Pasti Menuju Sukses
End Sub Private Sub FieldFill() On Error GoTo ErrorMsg With rsMataKuliah txtFields(0).Text = .Fields(0).Value txtFields(1).Text = .Fields(1).Value txtFields(2).Text = .Fields(2).Value End With txtFields(0).SetFocus Exit Sub ErrorMsg: MsgBox Err.Description End Sub Function CheckField() As Boolean If txtFields(0).Text = vbNullString Then MsgBox "Field Kode MataKuliah tidak boleh k osong !", vbInformation, "Kesalahan Input" txtFields(0).SetFocus CheckField = False Exit Function End If If txtFields(1).Text = vbNullString Then MsgBox "Field Nama MataKuliah tidak boleh k osong !", vbInformation, "Kesalahan Input" txtFields(1).SetFocus CheckField = False Exit Function End If If txtFields(2).Text = vbNullString Then MsgBox "Field Nama Ketua MataKuliah tidak b oleh kosong !", vbInformation, "Kesalahan Input" txtFields(2).SetFocus CheckField = False Exit Function End If CheckField = True End Function Private Sub cmdReport_Click() On Error GoTo Error crptReport.ReportFileName = App.Path & "\Report \LAPORAN DATA MATAKULIAH.rpt" crptReport.DiscardSavedData = True crptReport.Action = 1 Exit Sub
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 79
Error: MsgBox Err.Description End Sub Private Sub cmdSearch_Click() On Error GoTo ErrorMsg Dim Kode As String Kode = InputBox("Masukkan Kode MataKuliah", "Ca ri Record MataKuliah") With rsMataKuliah If .RecordCount <> 0 Then .MoveFirst Do If UCase(.Fields(0).Value) = UCase( Kode) Then FieldFill Exit Sub End If .MoveNext Loop Until .EOF End If End With MsgBox "Kode MataKuliah yang anda input tidak a da", vbInformation, "Konfirmasi" Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then SendKeys "{tab}" KeyAscii = 0 End If End Sub Private Sub Form_Activate() SetButtons (True) With rsMataKuliah If .RecordCount <> 0 Then cmdFirst_Click FieldFill End If End With End Sub Private Sub Form_Load() OpenTblConnection (MataKuliah) End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyEscape
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
80 Langkah Pasti Menuju Sukses
cmdClose_Click Case vbKeyUp, vbKeyPageUp If Shift = vbCtrlMask Then cmdFirst_Click Else cmdPrevious_Click End If Case vbKeyDown, vbKeyPageDown If Shift = vbCtrlMask Then cmdLast_Click Else cmdNext_Click End If End Select End Sub Private Sub Form_Unload(Cancel As Integer) CloseTblConnection (MataKuliah) Screen.MousePointer = vbDefault End Sub Private Sub cmdAdd_Click() lblStatus.Caption = "Tambah Record" Save = False AddNewFlag = True FieldClear SetButtons (False) txtFields(0).SetFocus End Sub Private Sub cmdDelete_Click() On Error GoTo ErrorMsg lblStatus.Caption = "Hapus Record" With rsMataKuliah If MsgBox("Yakin akan menghapus record ini ?", vbQuestion + vbYesNo, "Konfirmasi") = vbYes Then .Delete .Requery If .RecordCount <> 0 Then cmdFirst_Click Else FieldClear End If Else cmdFirst_Click End If End With Exit Sub ErrorMsg: MsgBox Err.Description End Sub
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 81
Private Sub cmdEdit_Click() lblStatus.Caption = "Edit Record" Save = False EditFlag = True SetButtons (False) KodeMataKuliah = txtFields(0).Text txtFields(0).SetFocus End Sub Private Sub cmdCancel_Click() Save = True EditFlag = False AddNewFlag = False SetButtons (True) cmdFirst_Click End Sub Private Sub cmdUpdate_Click() On Error GoTo ErrorMsg If CheckField = False Then Exit Sub End If With rsMataKuliah 'Jika operasi Add Record If AddNewFlag Then 'check apakah terjadi redudansi pada ke y primer If .RecordCount <> 0 Then .MoveFirst Do If UCase(.Fields(0).Value) = UC ase(txtFields(0).Text) Then MsgBox "Kode MataKuliah tel ah ada pada Database..", vbInformation, "Kesalahan Input" txtFields(0).Text = vbNullS tring txtFields(0).SetFocus Exit Sub End If .MoveNext Loop Until .EOF End If 'Jika Tidak Lakukan Penambahan Record B aru .AddNew .Fields(0).Value = txtFields(0).Text .Fields(1).Value = txtFields(1).Text .Fields(2).Value = txtFields(2).Text .UpdateBatch AddNewFlag = False 'Jika Operasi Edit Record ElseIf EditFlag Then If txtFields(0).Text <> KodeMataKuliah Then 'check apakah terjadi redudansi pad a key primer With rsMataKuliah
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
82 Langkah Pasti Menuju Sukses
If .RecordCount <> 0 Then .MoveFirst Do If UCase(.Fields(0).Val ue) <> UCase(KodeMataKuliah) Then If UCase(.Fields(0) .Value) = UCase(txtFields(0).Text) Then MsgBox "Kode Ma taKuliah telah ada pada Database..", vbInformation, "Kesalahan Input" txtFields(0).Te xt = vbNullString txtFields(0).Se tFocus Exit Sub End If End If .MoveNext Loop Until .EOF End If End With End If .MoveFirst 'Jika tidak ubah record Do If .Fields(0).Value = KodeMataKulia h Then .Fields(0).Value = txtFields(0) .Fields(1).Value = txtFields(1) .Fields(2).Value = txtFields(2) .UpdateBatch Exit Do End If .MoveNext Loop Until .EOF EditFlag = False End If End With Save = True SetButtons (True) lblStatus.Caption = "Record Ke : " & CStr(rsMat aKuliah.AbsolutePosition) & "/" & CStr(rsMataKuliah.RecordCount) & "/" & CStr(rsMataKuliah.RecordCount) Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub cmdFirst_Click() On Error GoTo ErrorMsg
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 83
With rsMataKuliah If .RecordCount <> 0 Then .MoveFirst FieldFill lblStatus.Caption = "Record Ke : " & CStr(rsMataKuliah.AbsolutePosition) & "/" & CStr(rs MataKuliah.RecordCount) End If End With Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub cmdLast_Click() On Error GoTo ErrorMsg With rsMataKuliah If .RecordCount <> 0 Then .MoveLast FieldFill lblStatus.Caption = "Record Ke : " & CStr(rsMataKuliah.AbsolutePosition) & "/" & CStr(rs MataKuliah.RecordCount) End If End With Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub cmdNext_Click() On Error GoTo ErrorMsg With rsMataKuliah If .RecordCount <> 0 Then .MoveNext If .EOF Then .MovePrevious End If Else Exit Sub End If End With FieldFill lblStatus.Caption = "Record Ke : " & CStr(rsMat aKuliah.AbsolutePosition) & "/" & CStr(rsMataKuliah.RecordCount) Exit Sub ErrorMsg: MsgBox Err.Description End Sub
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
84 Langkah Pasti Menuju Sukses
Private Sub cmdPrevious_Click() On Error GoTo ErrorMsg With rsMataKuliah If .RecordCount <> 0 Then .MovePrevious If .BOF Then .MoveNext End If Else Exit Sub End If End With FieldFill lblStatus.Caption = "Record Ke : " & CStr(rsMat aKuliah.AbsolutePosition) & "/" & CStr(rsMataKuliah.RecordCount) Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub SetButtons(bVal As Boolean) Dim ObjText As TextBox For Each ObjText In Me.txtFields ObjText.Locked = bVal Next cmdAdd.Visible = bVal cmdEdit.Visible = bVal cmdUpdate.Visible = Not bVal cmdCancel.Visible = Not bVal cmdDelete.Visible = bVal cmdClose.Visible = bVal cmdSearch.Visible = bVal cmdNext.Enabled = bVal cmdFirst.Enabled = bVal cmdLast.Enabled = bVal cmdPrevious.Enabled = bVal End Sub Private Sub txtFields_KeyPress(Index As Integer, Ke yAscii As Integer) If Index = 2 Then If Not (KeyAscii >= Asc("0") And KeyAscii < = Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End If End If End Sub
KODE PROGRAM PADA FORM Nilai Mahasiswa
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 85
Option Explicit 'Variable Global Dim AddNewFlag As Boolean Dim EditFlag As Boolean Dim EditRow As Byte Dim SearchRow As Byte Dim Col, Row As Byte Dim strConnection As String 'Deklarasi Konstanta Const Light As Byte = 1 Const Normal As Byte = 2 Function KodeUjian() As String KodeUjian = """" & cboMataKuliah.Text & cboDose n.Text & cboTahunAjaran.Text & """" End Function Private Sub cboDosen_Click() With rsDosen If .RecordCount <> 0 Then .MoveFirst Do If .Fields(0).Value = cboDosen.Text Then lblDosen.Caption = .Fields(1).V alue End If .MoveNext Loop Until .EOF End If End With strConnection = _ "SELECT Nilai.Nim, Mahasiswa.Nama, Nilai.N_abse n, Nilai.N_Tugas, Nilai.N_Mid, " & _ "Nilai.N_Semester, Nilai.N_AkhirAngka, Nilai.N_ AkhirHuruf, Nilai.Kode_Ujian " & _ "FROM Mahasiswa INNER JOIN Nilai ON Mahasiswa.N im = Nilai.Nim " & _ "WHERE (((Nilai.Kode_Ujian)=" & KodeUjian & ")) " View_List End Sub Private Sub cboMataKuliah_Click() With rsMataKuliah If .RecordCount <> 0 Then .MoveFirst Do If .Fields(0).Value = cboMataKuliah .Text Then lblMataKuliah.Caption = .Fields (1).Value End If .MoveNext Loop Until .EOF End If End With strConnection = _
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
86 Langkah Pasti Menuju Sukses
"SELECT Nilai.Nim, Mahasiswa.Nama, Nilai.N_abse n, Nilai.N_Tugas, Nilai.N_Mid, " & _ "Nilai.N_Semester, Nilai.N_AkhirAngka, Nilai.N_ AkhirHuruf, Nilai.Kode_Ujian " & _ "FROM Mahasiswa INNER JOIN Nilai ON Mahasiswa.N im = Nilai.Nim " & _ "WHERE (((Nilai.Kode_Ujian)=" & KodeUjian & ")) " View_List End Sub Private Sub cboTahunAjaran_Click() strConnection = _ "SELECT Nilai.Nim, Mahasiswa.Nama, Nilai.N_abse n, Nilai.N_Tugas, Nilai.N_Mid, " & _ "Nilai.N_Semester, Nilai.N_AkhirAngka, Nilai.N_ AkhirHuruf, Nilai.Kode_Ujian " & _ "FROM Mahasiswa INNER JOIN Nilai ON Mahasiswa.N im = Nilai.Nim " & _ "WHERE (((Nilai.Kode_Ujian)=" & KodeUjian & ")) " View_List End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub cboNama_LostFocus() Dim NIM As String With rsMahasiswa If .RecordCount <> 0 Then .MoveFirst Do If .Fields(1).Value = cboNama.Text Then NIM = .Fields(0).Value Exit Do End If .MoveNext Loop Until .EOF End If End With With mshReport .Col = Col .Row = Row .Text = cboNama.Text .Col = Col - 1 .Text = NIM Hitung_Nilai .Col = .MouseCol .Row = .MouseRow End With cboNama.Visible = False End Sub
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 87
Private Sub cboNim_LostFocus() Dim Nama As String With rsMahasiswa If .RecordCount <> 0 Then .MoveFirst Do If .Fields(0).Value = cboNim.Text T hen Nama = .Fields(1).Value Exit Do End If .MoveNext Loop Until .EOF End If End With With mshReport .Col = Col .Row = Row .Text = cboNim.Text .Col = Col + 1 .Text = Nama Hitung_Nilai .Col = .MouseCol .Row = .MouseRow End With cboNim.Visible = False End Sub Private Sub View_List() Set rsListNilai = New ADODB.Recordset rsListNilai.Open strConnection, cn, adOpenStati c, adLockOptimistic mshReport.Clear Set mshReport.DataSource = rsListNilai rsListNilai.Close Set rsListNilai = Nothing End Sub Private Sub FillCboDosen() With rsDosen If .RecordCount <> 0 Then .MoveFirst Do cboDosen.AddItem .Fields(0).Value .MoveNext Loop Until .EOF Else cboDosen.AddItem vbNullString End If If cboDosen.ListCount > 1 Then cboDosen.Text = cboDosen.List(0) End If
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
88 Langkah Pasti Menuju Sukses
End With End Sub Private Sub FillCboMataKuliah() With rsMataKuliah If .RecordCount <> 0 Then .MoveFirst Do cboMataKuliah.AddItem .Fields(0).Va lue .MoveNext Loop Until .EOF Else cboMataKuliah.AddItem vbNullString End If If cboMataKuliah.ListCount > 1 Then cboMataKuliah.Text = cboMataKuliah. List(0) End If End With End Sub Private Sub FillCboMahasiswa() With rsMahasiswa If .RecordCount <> 0 Then .MoveFirst Do cboNim.AddItem .Fields(0).Value cboNama.AddItem .Fields(1).Value .MoveNext Loop Until .EOF Else cboNim.AddItem vbNullString cboNama.AddItem vbNullString End If If cboNim.ListCount > 1 Then cboNim.Text = cboNim.List(0) cboNama.Text = cboNama.List(0) End If End With End Sub Private Sub FillCboTahunAjaran() Dim i As Integer With cboTahunAjaran For i = 2001 To 2050 .AddItem CStr(i) & "/" & CStr(i + 1) Next i End With cboTahunAjaran.Text = cboTahunAjaran.List(0) End Sub Private Sub cmdReport_Click() On Error GoTo Error
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 89
Dim StrQuery As String crptReport.ReportFileName = App.Path & "\Report \LAPORAN NILAI MAHASISWA.rpt" StrQuery = "{Ujian.Kode_Ujian}=" & KodeUjian crptReport.SelectionFormula = StrQuery crptReport.DiscardSavedData = True crptReport.Action = 1 Exit Sub Error: MsgBox Err.Description End Sub Private Sub cmdSearch_Click() Dim NIM As String Dim FindNim As Boolean Dim i As Byte NIM = InputBox("Masukkan Nim record yang akan d icari", "Cari Record") With mshReport .Col = 0 FindNim = False For i = 0 To .Rows - 1 .Row = i If .Text = NIM Then FindNim = True SearchRow = i + 1 Exit For End If Next i End With If Not FindNim Then MsgBox "Nim " & NIM & " Tidak ada dalam lis t ", vbInformation, "Kesalahan" Exit Sub Else SelectRow SearchRow - 1, Light End If End Sub Private Sub cmdSearch_LostFocus() SelectRow SearchRow - 1, Normal End Sub Private Sub cmdTitle_Click(Index As Integer) strConnection = _ "SELECT Nilai.Nim, Mahasiswa.Nama, Nilai.N_abse n, Nilai.N_Tugas, Nilai.N_Mid, " & _ "Nilai.N_Semester, Nilai.N_AkhirAngka, Nilai.N_ AkhirHuruf, Nilai.Kode_Ujian " & _ "FROM Mahasiswa INNER JOIN Nilai ON Mahasiswa.N im = Nilai.Nim " & _ "WHERE (((Nilai.Kode_Ujian)=" & KodeUjian & ")) "
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
90 Langkah Pasti Menuju Sukses
Select Case Index Case 0 If Option1(0).Value = True Then strConnection = strConnection & "OR DER BY Nilai.Nim" Else strConnection = strConnection & "OR DER BY Nilai.Nim DESC" End If Case 1 If Option1(0).Value = True Then strConnection = strConnection & "OR DER BY Mahasiswa.Nama" Else strConnection = strConnection & "OR DER BY Mahasiswa.Nama DESC" End If Case 2 If Option1(0).Value = True Then strConnection = strConnection & "OR DER BY Nilai.N_absen" Else strConnection = strConnection & "OR DER BY Nilai.N_absen DESC" End If Case 3 If Option1(0).Value = True Then strConnection = strConnection & "OR DER BY Nilai.N_Tugas" Else strConnection = strConnection & "OR DER BY Nilai.N_Tugas DESC" End If Case 4 If Option1(0).Value = True Then strConnection = strConnection & "OR DER BY N_Mid" Else strConnection = strConnection & "OR DER BY Nilai.N_Mid DESC" End If Case 5 If Option1(0).Value = True Then strConnection = strConnection & "OR DER BY Nilai.N_Semester" Else strConnection = strConnection & "OR DER BY Nilai.N_Semester DESC" End If Case 6 If Option1(0).Value = True Then strConnection = strConnection & "OR DER BY Nilai.N_AkhirAngka" Else strConnection = strConnection & "OR DER BY Nilai.N_AkhirAngka DESC" End If Case 7 If Option1(0).Value = True Then strConnection = strConnection & "OR DER BY Nilai.N_AkhirHuruf"
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 91
Else strConnection = strConnection & "OR DER BY Nilai.N_AkhirHuruf DESC" End If End Select View_List End Sub Private Sub Form_Load() OpenTblConnection (Ujian) OpenTblConnection (Nilai) OpenTblConnection (Dosen) OpenTblConnection (Mahasiswa) OpenTblConnection (MataKuliah) mshReport.Clear Set_mshGrid SetGridTitle mshReport.Rows = 0 FillCboMahasiswa FillCboDosen FillCboMataKuliah FillCboTahunAjaran Option1(0).Value = True End Sub Private Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then SendKeys "{tab}" KeyAscii = 0 End If End Sub Private Sub Set_mshGrid() Dim wide As Integer wide = TextWidth("###########") With mshReport .Cols = 8 .Rows = 1 .Row = 0 .Col = 0 .ColWidth(0) = wide * 1 .ColWidth(1) = wide * 2.5 .ColWidth(2) = wide * 1 .ColWidth(3) = wide * 1 .ColWidth(4) = wide * 1 .ColWidth(5) = wide * 1 .ColWidth(6) = wide * 1 .ColWidth(7) = wide * 1 .ColWidth(8) = 0 End With
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
92 Langkah Pasti Menuju Sukses
End Sub Private Sub SetGridTitle() Dim i As Byte For i = 0 To 7 mshReport.Col = i cmdTitle(i).Width = mshReport.ColWidth(i) cmdTitle(i).Left = mshReport.CellLeft + msh Report.Left Next i End Sub Private Sub Form_Unload(Cancel As Integer) CloseTblConnection (Ujian) CloseTblConnection (Nilai) CloseTblConnection (Dosen) CloseTblConnection (Mahasiswa) CloseTblConnection (MataKuliah) End Sub Private Sub mshReport_Click() If Not EditFlag And Not AddNewFlag Then Exit Sub End If If AddNewFlag Then If mshReport.Row <> mshReport.Rows - 1 Then Exit Sub End If End If If EditFlag Then If mshReport.Row <> EditRow - 1 Or _ mshReport.Col = 0 Or mshReport.Col = 1 Then Exit Sub End If End If With mshReport Row = .Row Col = .Col Select Case Col Case 0 cboNim.Visible = True cboNim.SetFocus cboNim.Move .CellLeft + .Left, .Cel lTop + .Top, .CellWidth Case 1 cboNama.Visible = True cboNama.SetFocus cboNama.Move .CellLeft + .Left, .Ce llTop + .Top, .CellWidth Case 2 To 5 txtList.Visible = True txtList.Text = .Text
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 93
txtList.SetFocus txtList.Move .CellLeft + .Left, .Ce llTop + .Top, .CellWidth, txtList.Height Case 6 To 7 Hitung_Nilai End Select End With End Sub Private Sub Hitung_Nilai() Dim N_absen, N_Tugas, N_Mid, N_UAS As Single Dim N_Akhir As Single Dim N_Huruf As String * 1 With mshReport .Col = 2 N_absen = 0.1 * Val(.Text) .Col = 3 N_Tugas = 0.15 * Val(.Text) .Col = 4 N_Mid = 0.3 * Val(.Text) .Col = 5 N_UAS = 0.45 * Val(.Text) N_Akhir = N_absen + N_Tugas + N_Mid + N_UAS Select Case N_Akhir Case 80 To 100 N_Huruf = "A" Case 70 To 79 N_Huruf = "B" Case 55 To 69 N_Huruf = "C" Case 45 To 54 N_Huruf = "D" Case 0 To 45 N_Huruf = "E" End Select .Col = 6 .Text = N_Akhir .Col = 7 .Text = N_Huruf End With End Sub Private Sub txtList_GotFocus() SendKeys "{Home} + {End}" End Sub Private Sub txtList_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= As c("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End If End Sub
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
94 Langkah Pasti Menuju Sukses
Private Sub txtList_LostFocus() With mshReport .Col = Col .Row = Row .Text = txtList.Text Hitung_Nilai .Col = .MouseCol .Row = .MouseRow End With txtList.Visible = False End Sub Private Sub cmdAdd_Click() AddNewFlag = True SetButtons (False) With mshReport .Rows = .Rows + 1 End With End Sub Private Sub cmdDelete_Click() On Error GoTo ErrorMsg Dim NIM As String NIM = InputBox("Masukkan Nim Mahasiswa yang aka n dihapus", "Delete Record") With rsNilai If .RecordCount <> 0 Then .MoveFirst Do If .Fields(0).Value = cboMataKuliah & cboDosen.Text & cboTahunAjaran.Text And _ .Fields(1).Value = NIM Then If MsgBox("Yakin akan menghapus record tersebut ?", vbQuestion + vbYesNo, "Konfirmasi") = vbYes Then .Delete .Requery View_List Exit Sub End If Exit Sub End If .MoveNext Loop Until .EOF End If End With MsgBox "Nim " & NIM & " Tidak ada dalam Databas e ", vbInformation, "Kesalahan" Exit Sub ErrorMsg: MsgBox Err.Description
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 95
End Sub Private Sub cmdEdit_Click() Dim i As Byte Dim FindNim As Boolean Dim NIM As String NIM = InputBox("Masukkan Nim record yang akan d iedit", "Edit Record") With mshReport .Col = 0 FindNim = False For i = 0 To .Rows - 1 .Row = i If .Text = NIM Then FindNim = True EditRow = i + 1 Exit For End If Next i End With If Not FindNim Then MsgBox "Nim " & NIM & " Tidak ada dalam lis t ", vbInformation, "Kesalahan" Exit Sub Else SelectRow EditRow - 1, Light End If EditFlag = True SetButtons (False) End Sub Private Sub SelectRow(Brs As Byte, Tipe) Dim Warna As Long Select Case Tipe Case Normal Warna = &HC0E0FF Case Light Warna = &HC0FFC0 End Select With mshReport .Row = Brs .Col = 0 .CellBackColor = Warna .Col = 1 .CellBackColor = Warna .Col = 2 .CellBackColor = Warna .Col = 3 .CellBackColor = Warna .Col = 4 .CellBackColor = Warna .Col = 5
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
96 Langkah Pasti Menuju Sukses
.CellBackColor = Warna .Col = 6 .CellBackColor = Warna .Col = 7 .CellBackColor = Warna End With End Sub Private Sub cmdCancel_Click() On Error GoTo ErrorMsg If Not EditFlag Then mshReport.Rows = mshReport.Rows - 1 Else SelectRow EditRow - 1, Normal End If EditFlag = False AddNewFlag = False SetButtons (True) Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Function CheckField() As Boolean Dim NIM As String mshReport.Col = 0 mshReport.Row = mshReport.Rows - 1 NIM = mshReport.Text With rsNilai If .RecordCount <> 0 Then .MoveFirst Do If .Fields(0).Value = cboMataKuliah & cboDosen.Text & cboTahunAjaran.Text And _ .Fields(1).Value = NIM Then MsgBox "Nim Mahasiswa Tersebut telah ada !..", vbInformation, "Konfirmasi" CheckField = False Exit Function End If .MoveNext Loop Until .EOF End If End With CheckField = True End Function Private Sub cmdUpdate_Click() On Error GoTo ErrorMsg Dim NIM As String
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 97
Dim UpdateRecord As Boolean If Not EditFlag Then If CheckField = False Then Exit Sub End If End If 'Jika operasi Add Record If AddNewFlag Then 'Update pada table Ujian With rsUjian UpdateRecord = True If .RecordCount <> 0 Then .MoveFirst Do If .Fields(0).Value = cboMataKu liah.Text & _ cboDosen.Text & cboTahunAjaran. Text Then UpdateRecord = False Exit Do End If .MoveNext Loop Until .EOF End If If UpdateRecord Then .AddNew .Fields(0).Value = cboMataKuliah.Te xt & cboDosen.Text & cboTahunAjaran.Text .Fields(1).Value = cboMataKuliah.Te xt .Fields(2).Value = cboDosen.Text .Fields(3).Value = cboTahunAjaran.T ext .UpdateBatch End If End With With rsNilai .AddNew .Fields(0).Value = cboMataKuliah.Text & cboDosen.Text & cboTahunAjaran.Text .Fields(1).Value = mshReport.TextMatrix (mshReport.Rows - 1, 0) .Fields(2).Value = Val(mshReport.TextMa trix(mshReport.Rows - 1, 2)) .Fields(3).Value = Val(mshReport.TextMa trix(mshReport.Rows - 1, 3)) .Fields(4).Value = Val(mshReport.TextMa trix(mshReport.Rows - 1, 4)) .Fields(5).Value = Val(mshReport.TextMa trix(mshReport.Rows - 1, 5)) .Fields(6).Value = Val(mshReport.TextMa trix(mshReport.Rows - 1, 6)) .Fields(7).Value = mshReport.TextMatrix (mshReport.Rows - 1, 7) .UpdateBatch AddNewFlag = False End With
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
98 Langkah Pasti Menuju Sukses
'Jika Operasi Edit Record ElseIf EditFlag Then With rsNilai 'cari NIM mshReport.Col = 0 mshReport.Row = EditRow - 1 NIM = mshReport.Text If .RecordCount <> 0 Then .MoveFirst Do If .Fields(0).Value = cboMataKu liah & cboDosen.Text & cboTahunAjaran.Text And _ .Fields(1).Value = NIM Then .Fields(2).Value = Val(mshR eport.TextMatrix(EditRow - 1, 2)) .Fields(3).Value = Val(mshR eport.TextMatrix(EditRow - 1, 3)) .Fields(4).Value = Val(mshR eport.TextMatrix(EditRow - 1, 4)) .Fields(5).Value = Val(mshR eport.TextMatrix(EditRow - 1, 5)) .Fields(6).Value = Val(mshR eport.TextMatrix(EditRow - 1, 6)) .Fields(7).Value = mshRepor t.TextMatrix(EditRow - 1, 7) .UpdateBatch Exit Do End If .MoveNext Loop Until .EOF EditFlag = False SelectRow EditRow - 1, Normal End If End With End If SetButtons (True) Exit Sub ErrorMsg: MsgBox Err.Description End Sub Private Sub SetButtons(bVal As Boolean) Dim ObjText As TextBox cmdAdd.Visible = bVal cmdEdit.Visible = bVal cmdUpdate.Visible = Not bVal cmdCancel.Visible = Not bVal cmdDelete.Visible = bVal cmdClose.Enabled = bVal cmdSearch.Enabled = bVal
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 99
cmdReport.Enabled = bVal End Sub
KODE PROGRAM PADA FORM MAIN Private Sub MDIForm_Load() OpenDBConnection End Sub Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer) If MsgBox("Tutup Aplikasi Ini ?..", vbQuestion + vbYesNo, "Verifikasi Penutupan") = vbNo Then Cancel = 1 Else Unload Me End If End Sub Private Sub MDIForm_Unload(Cancel As Integer) CloseDBConnection End Sub Private Sub mnuDosen_Click() Load frmDosen frmDosen.Show vbModal End Sub Private Sub mnuJurusan_Click() Load frmJurusan frmJurusan.Show vbModal End Sub Private Sub mnuMahasiswa_Click() Load frmMahasiswa frmMahasiswa.Show vbModal End Sub Private Sub mnuMatakuliah_Click() Load frmMataKuliah frmMataKuliah.Show vbModal End Sub Private Sub mnuNilaiMahasiswa_Click() Load frmNilai frmNilai.Show vbModal End Sub Private Sub mnuTutupAplikasi_Click() Unload Me End Sub
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
100 Langkah Pasti Menuju Sukses
Private Sub Toolbar1_ButtonClick(ByVal Button As MS ComctlLib.Button) Select Case Button.Caption Case "Jurusan" mnuJurusan_Click Case "MataKuliah" mnuMatakuliah_Click Case "Dosen" mnuDosen_Click Case "Mahasiswa" mnuMahasiswa_Click Case "Nilai" mnuNilaiMahasiswa_Click Case "Keluar" Unload Me End Select End Sub
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 101
PPEEMMBBUUAATTAANN PPAACCKKAAGGEE
AAPPLLIIKKAASSII
OBJEKTIF
� Mahasiswa dapat membuat sebuah package dari aplikasi yang telah dirancang sebelumnya serta mengetahui aspek-aspek apa saja yang perlu diperhatikan selema proses pembuatan tersebut.
PENDAHULUAN
etelah proses perancangan dan Penulisan kode program selesai tahap akhir adalah membuat file executable dari program. Tahap ini sekaligus berfungsi
untuk memeriksa kode program apakah ada konstanta, variable atau object yang tidak sesuai dengan defenisinnya atau belum dideklarasikan.
LANGKAH-langkah pEMBUATAN PACKAGE PROGRAM
� Dari menu Add-Ins klik Add-Ins Manager � Pada kotak dialog Add-Ins-Manager pilih Package And Deployment Wizard
lalu klik checkbox Loaded/Unloaded
S
MMoodduull
88
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
102 Langkah Pasti Menuju Sukses
� Klik kembali menu Add-Ins lalu pilih Package And Deployment Wizard, maka
akan muncul kotak dialog berikutnya. Pada kotak dialog tersebut klik tombol Package maka VB akan memullai menganalisa tiap komponen aplikasi kita.
� Pada kotak dialog berikutnya pilih Standard Setup Package dan klik tombol Next
� Kotak dialog berikutnya akan mengkonfirmasi dimana lokasi folder tempat peng-asemble-an aplikasi kita (pembuatan folder package), klik Next.
� Kotak dialog berikutnya akan mengidentifikasikan setiap komponen object baik OCX dan lain-lain yang out of date, dependency-nya dan lain –lain, klik tombol Next
AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0
Langkah Pasti Menuju Sukses 103
� Kotak dialog berikutnya akan menanyakan apakah paket dibentuk dalam bentu single Cab atau Multiple CAB Klik tombol Next
� Menentukan judul instalasi pada kotak dialog berikutnya, klik tombol Next � Pilih apakah shortcut program akan dimasukkan kedalam start menu dan
dimana lokasinya
� Kotak dialog berikuntya akan menentukan lokasi setiap file pendukung instalasi kita nantinya akan dicopykan di lokasi mana
Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA
104 Langkah Pasti Menuju Sukses
� Klik tombol Finish untuk memulai proses pembuatan Pacakage.