104
AMIK TRIGUNA DHARMA AMIK TRIGUNA DHARMA AMIK TRIGUNA DHARMA AMIK TRIGUNA DHARMA Pemrograman Database Dengan Visual Basic 6.0 Langkah Pasti Menuju Sukses 1 KONSEP DASAR PEMROGRAMAN DATABASE 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 M Mo od du ul l 1 1

Pemrograman Database (1).pdf

Embed Size (px)

Citation preview

Page 1: 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

Page 2: Pemrograman Database (1).pdf

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

Page 3: Pemrograman Database (1).pdf

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

Page 4: Pemrograman Database (1).pdf

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

Page 5: Pemrograman Database (1).pdf

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

Page 6: Pemrograman Database (1).pdf

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

Page 7: Pemrograman Database (1).pdf

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

Page 8: Pemrograman Database (1).pdf

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

Page 9: Pemrograman Database (1).pdf

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

Page 10: Pemrograman Database (1).pdf

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

Page 11: Pemrograman Database (1).pdf

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

Page 12: Pemrograman Database (1).pdf

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

Page 13: Pemrograman Database (1).pdf

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

Page 14: Pemrograman Database (1).pdf

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

Page 15: Pemrograman Database (1).pdf

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

Page 16: Pemrograman Database (1).pdf

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.

Page 17: Pemrograman Database (1).pdf

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

Page 18: Pemrograman Database (1).pdf

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

Page 19: Pemrograman Database (1).pdf

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

Page 20: Pemrograman Database (1).pdf

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

Page 21: Pemrograman Database (1).pdf

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:

Page 22: Pemrograman Database (1).pdf

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

Page 23: Pemrograman Database (1).pdf

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

Page 24: Pemrograman Database (1).pdf

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

Page 25: Pemrograman Database (1).pdf

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

Page 26: Pemrograman Database (1).pdf

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.

Page 27: Pemrograman Database (1).pdf

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.

Page 28: Pemrograman Database (1).pdf

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”

Page 29: Pemrograman Database (1).pdf

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

Page 30: Pemrograman Database (1).pdf

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

Page 31: Pemrograman Database (1).pdf

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

Page 32: Pemrograman Database (1).pdf

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

Page 33: Pemrograman Database (1).pdf

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

Page 34: Pemrograman Database (1).pdf

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

Page 35: Pemrograman Database (1).pdf

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

Page 36: Pemrograman Database (1).pdf

Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA

36 Langkah Pasti Menuju Sukses

Page 37: Pemrograman Database (1).pdf

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)

Page 38: Pemrograman Database (1).pdf

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

Page 39: Pemrograman Database (1).pdf

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

Page 40: Pemrograman Database (1).pdf

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

Page 41: Pemrograman Database (1).pdf

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&

Page 42: Pemrograman Database (1).pdf

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

Page 43: Pemrograman Database (1).pdf

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

Page 44: Pemrograman Database (1).pdf

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

Page 45: Pemrograman Database (1).pdf

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.

Page 46: Pemrograman Database (1).pdf

Pemrograman Database Dengan Visual Basic 6.0 AMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMAAMIK TRIGUNA DHARMA

46 Langkah Pasti Menuju Sukses

Page 47: Pemrograman Database (1).pdf

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

Page 48: Pemrograman Database (1).pdf

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

Page 49: Pemrograman Database (1).pdf

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

Page 50: Pemrograman Database (1).pdf

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

Page 51: Pemrograman Database (1).pdf

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.

Page 52: Pemrograman Database (1).pdf

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

Page 53: Pemrograman Database (1).pdf

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

Page 54: Pemrograman Database (1).pdf

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

Page 55: Pemrograman Database (1).pdf

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

Page 56: Pemrograman Database (1).pdf

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

Page 57: Pemrograman Database (1).pdf

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

Page 58: Pemrograman Database (1).pdf

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

Page 59: Pemrograman Database (1).pdf

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

Page 60: Pemrograman Database (1).pdf

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)

Page 61: Pemrograman Database (1).pdf

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

Page 62: Pemrograman Database (1).pdf

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

Page 63: Pemrograman Database (1).pdf

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

Page 64: Pemrograman Database (1).pdf

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

Page 65: Pemrograman Database (1).pdf

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

Page 66: Pemrograman Database (1).pdf

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

Page 67: Pemrograman Database (1).pdf

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

Page 68: Pemrograman Database (1).pdf

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

Page 69: Pemrograman Database (1).pdf

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

Page 70: Pemrograman Database (1).pdf

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

Page 71: Pemrograman Database (1).pdf

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

Page 72: Pemrograman Database (1).pdf

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

Page 73: Pemrograman Database (1).pdf

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()

Page 74: Pemrograman Database (1).pdf

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

Page 75: Pemrograman Database (1).pdf

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

Page 76: Pemrograman Database (1).pdf

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

Page 77: Pemrograman Database (1).pdf

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

Page 78: Pemrograman Database (1).pdf

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

Page 79: Pemrograman Database (1).pdf

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

Page 80: Pemrograman Database (1).pdf

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

Page 81: Pemrograman Database (1).pdf

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

Page 82: Pemrograman Database (1).pdf

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

Page 83: Pemrograman Database (1).pdf

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

Page 84: Pemrograman Database (1).pdf

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

Page 85: Pemrograman Database (1).pdf

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 = _

Page 86: Pemrograman Database (1).pdf

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

Page 87: Pemrograman Database (1).pdf

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

Page 88: Pemrograman Database (1).pdf

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

Page 89: Pemrograman Database (1).pdf

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 & ")) "

Page 90: Pemrograman Database (1).pdf

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"

Page 91: Pemrograman Database (1).pdf

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

Page 92: Pemrograman Database (1).pdf

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

Page 93: Pemrograman Database (1).pdf

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

Page 94: Pemrograman Database (1).pdf

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

Page 95: Pemrograman Database (1).pdf

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

Page 96: Pemrograman Database (1).pdf

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

Page 97: Pemrograman Database (1).pdf

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

Page 98: Pemrograman Database (1).pdf

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

Page 99: Pemrograman Database (1).pdf

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

Page 100: Pemrograman Database (1).pdf

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

Page 101: Pemrograman Database (1).pdf

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

Page 102: Pemrograman Database (1).pdf

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

Page 103: Pemrograman Database (1).pdf

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

Page 104: Pemrograman Database (1).pdf

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.