Modul 1 Konsep Pemrograman Basis Data Materi di modul satu Konsep Aplikasi Basis Data Penggunaan ADOCDC Penggunaan Grid Penggunaan perintah recordset Penggunaan methode add new dan find Konsep Aplikasi Basis Data dan contoh penggunaan komponen Dapat membuat aplikasi basis data ada dua sub system yang terlibat yaitu : Program Developer (aplikasi Visual Basic) Aplikasi Basis Data (Database) Program Developer adalah aplikasi yang digunakan untuk membuat interface antara system dengan user. Interface ini dapat berupa form atau report. Sedangkan aplikasi basis data adalah aplikasi yang digunakan untuk membangun database sebagai tempat penyimpanan data yang di dalamnya termasuk membuat tabel dan query yang diperlukan oleh form atau report di interface. Untuk menghubungkan Interface dan basis data dapat digunakan salah satunya komponen ADODC. Dalam komponen ADODC dilakukan pengaturan seperti : Penentuan driver yang sesuai agar form dapat terkoneksi dengan basis data Koneksi form dengan basis data melalui Conection String Penentuan tabel atau query (perintah SQL) yang digunakan di form tersebut. Setelah Form terhubung ke basis data melalui komponen adocdc maka untuk menampilkan isi tabel dapat digunakan grid, dengan cara menghubungkan grid dengan adodc melalui datasource. Contoh : 1. Jalankan ke sql server 2. Pastikan SQL service manager dalam kondisi aktif 3. masuk ke query analizer 4. Buat database dengan perintah berikut : Cat : eksekusi setiap perintah yang telah anda buat dengan cara blok perintah kemudian tekan F5 Membuat database Create database akuntansi_tulis nama anda Mendefinisikan database Use akuntansi_tulis nama anda Membuat tabel Create table buku_tamu ( Nama varchar(30), Institusi varchar(30), Telepon varchar(25) ) 5. Membuat aplikasi Interface
a. Jalankan aplikasi visual basic masuk ke standar exe b. Tambahkan komponen dengan cara pilih menu project component c. Checklist komponen Microsoft adodatacontrol 6.0, microsoft datalist control 6.0, microsoft datagrid control 6.0 d. Buat tampilan di form seperti berikut : Property dari komponen diatas yang harus diubah (bukan default) Komponen Name Caption/text Keterangan textbox Txtnama - textbox txtinstitusi - textbox Txttelepon - Command button Command1 &Simpan Command Button Command2 &Hapus Command Button Command3 &Cari Command Button Command4 &Update Koneksikan form dengan database Dengan klik kanan adodc properties tab general - Build Pilih provider microsoft SQL server
Klik next di radio button log on server pilih use windows NT Integrated security di select database pilih database yang digunakan test connection (harus sukses) ok - ok Pilih tab record source di command type pilih no 2 adcmdtable kemudian di table pilih buku_tamu - ok Hubungkan component datagrid dengan mengatur datasource berisi adodc1. Jalankan aplikasi anda maka akan tampil sebagai berikut :
Menggunakan Perintah Recordset Recordset adalah methode yang dapat digunakan untuk instruksi yang berhubungan dengan tabel seperti : Menambah data dengan perintah Recordset.addnew Meng-update data dengan perintah recordset.update Menghapus data dengan perintah recordset,delete Mencari data dengan perintah recordset.find Contoh menambah data Klik 2 kali command button Simpan kemudian ketik perintah berikut diantara : Private Sub Command1_Click() tidak perlu diketik With Adodc1.Recordset.AddNew!nama = txtnama.text!institusi = txtinstitusi.text!telepon = txttelepon.text.update tidak perlu diketik Contoh mencari data Klik 2 kali command button Cari kemudian ketik instruksi berikut : Private Sub Command3_Click() jangan diketik With Adodc1.Recordset.MoveFirst.Find "nama like '%" & txtnama.text & "%'" If Not.EOF Then txtnama = DataGrid1.Columns("nama") txttelepon = DataGrid1.Columns("telepon") txtinstitusi = DataGrid1.Columns("institusi") jangan diketik
Modul 2 Materi di Modul Dua Penggunaan Metode Update Penggunaan Metode Delete Konsep Pemrograman Basis Data Metoda Update adalah methode yang ada di recordser komponen adodc untuk mengupdate data. Sedangkan methode delete adalah untuk menghapus.data. Contoh Update - Delete Gunakan contoh form di modul satu yang telah tersedia button update - delete Update adalah suatu proses untuk mengubah data dalam tabel. Proses pengubahan ini tidak dapat dibatalkan bila telah dilakukan. Maka sebelum proses pengubahan data dilakuakn perlu dilakukan konfirmasi terlebih dahulu untuk memastikan proses update dilakukan atau dibatalkan. Begitu pula untuk proses delete adalah suatu proses yang tidak dapat dibatalkan maka perlu dilakukan konfirmasi terlebih dahulu. Sekuen urutan program juga harus diperhatikan. Proses Update atau Delete dapat dikerjakan bila telah terpilih data yang akan di-update atau dihapus. Dengan demikian urutan proses sebaai berikut : Saat program diaktifkan tombol yang hanya hidup Tambah dan cari Tombol Update dan Delete di disable Perintah tersebut dapat diletakkan di event Form Load Bila tombol cari dijalankan dan data yang dicari ditemukan maka update dan delete diaktfikan dan tombol tambah dimatikan Bila tombol update atau delete dijalankan dan data ditemukan maka akan ada konfirmasi terlebih dahulu sebelum perintah tersebut dijalankan Setelah Perintah update atau delete dijalankan maka tombol update dan delete dimatikan dan tombol tambah dihidupkan kembali
Contoh Sub Hidupkan_Hapus_update() Sub Program untuk hidupkan update delete Command2.Enabled = True 'Hidupkan tombol Hapus Command4.Enabled = True 'Hdupkan tombol Update Command1.Enabled = False 'Matikan tambol tambah Sub matikan_hapus_update() Sub Program untuk matikan Update Delete Command2.Enabled = False 'Matikan tombol Hapus Command4.Enabled = False 'Matikan tombol Update Command1.Enabled = True 'Hidupkan tombol tambah Private Sub Form_Load() Even yang dikerjakan saat program diaktifkan matikan_hapus_update Memanggil Sub Program Matikan Update - Delete Tambhahkan Juga sub Program untuk menghidupkan dan memattikan Kemudian Di event tombol cari sisipkan perintah untuk menghidupkan tombol hapus_update Private Sub Command3_Click() With Adodc1.Recordset.MoveFirst.Find "nama like '%" & txtnama.text & "%' " If Not.EOF Then txtnama = DataGrid1.Columns("nama") txttelepon = DataGrid1.Columns("telepon") txtinstitusi = DataGrid1.Columns("institusi ) Hidupkan_Hapus_update Instruksi Yang disisipkan Contoh Perintah Delete Sub bersihkan() txtnama.text = "" txtinstitusi.text = "" txttelepon.text = "" Private Sub Command2_Click() tanya = MsgBox("Yakin Dihapus", vbyesno, "Konfirmasi") Perintah Konfirmasi If tanya = vbyes Then With Adodc1.Recordset.Delete Bersihkan Matikan_hapus_update Contoh Perintah Update Private Sub Command4_Click() With Adodc1.Recordset
!nama = txtnama.text!institusi = txtinstitusi.text!telepon = txttelepon.text.update bersihkan matikan_hapus_update Latihan : Buat Program Berikut dan kumpulkan di ftp://server/dosen/eko/tugasakuntansi atau \\serverprogr1/eko/tugasakuntansi Tugas 1. Buat Program Buku telepon yang berisi data nama dan no telepon. Fasilitas dalam program tersebut dapat melakukan pencarian dengan pilihan berdasarkan nama atau no telepon. Berisi juga fasilitas untuk tambah data, hapus data dan update data.
Modul 3 Menggunakan Perintah SQL Materi di Modul 3 SQL singkatan dari Structured Queery Language. Bahasa SQL adalah bahasa universal untuk mengakses tabel di basis data. Ada dua jenis bahasa basis data yang menggunakan instruksi SQL yaitu DDL (Data Definition Language) dan MDL(Maniplation Data Language). Yang termasuk kategori perintah DDL seperti Create Database, Create Table Sedangkan yang termasuk perintah MDL : Select, Update dan Delete Di Visual basic perintah SQL diletakkan dengan method RecordSource di komponen adodc sehingga perintahnya dapat disusun seperti berikut : Adodc1.recordsource = <perintah SQL> Perintah sql akan mengalami konflik dengan properties recordsource bila didefinisikan menggunakan tabel karena tabel bersifat statik sedangkan perintah sql bersifat dinamis. Maka untuk mengatasi errror tersebut pada saat anda mendefinisikan record source dari adcmdtable diganti dengan adcmdtext dan ketikkan perintah sql di properties record source. Contoh : Contoh Latihan Buat tabel di database buku tamu seperti berikut : Use <nama database> Create table pemakai ( Pengguna varchar(30) not null, Password_pengguna varchar(20) ) Kemudian di visual basic buat form seperti berikut : Name:txtuser name:txtpassword
Atur properties di adodc1 di tab recordsource seperti berikut : Kemudian ketikkan program berikut : Atur di property visible di di adodc menjadi false agar komponen adodc tidak terlihat Private Sub Command1_Click() Di objek Login With Adodc1.RecordSource = Select * from pemakai where pengguna like & txtuser.text & & _ and password_pengguna like & txtpassword.text & Mencari password yang ada.refresh If Not.Recordset.EOF Then MsgBox Selamat Datang, vbokonly, Informasi Form2.Hide tutup form login Form1.Show buka form buku tamu Else MsgBox "Password atau User Salah", vbokonly, "INformasi" bersihkan Sub bersihkan() txtuser.text = txtpassword.text = txtuser.setfocus Private Sub Form_Load() txtpassword.passwordchar = * mengatur karakter password yang terlihat di layar Latihan : Buat form untuk mengentry data user dan password dengan fasilitas di form tersebut berupa tambah, hapus, dan delete. Dan buat urutan proses seperti di modul 2 untuk mengaktifkan atau menonaktifkan command tambah hapus dan delete. Simpan file yang telah anda buat di ftp://server/dosen/eko/tugasakuntansi atau \\serverprogr1/eko/tugasakuntansi
Modul 4 Lebih Lanjut Penggunaan SQL dan Membaca tombol keyboard Penggunaan SQL Command SQL selain diletakkan di dalam pengaturan property adodc1 dapat diletakkan di dalam kode instruksi. Untuk meletakkan instruksi sql di kode digunakan methode RecordSource di komponen ADODC. Kemudian tambahkan pula methode Refresh untuk agar instruksi sql diekseksi. Yang harus diperhatikan adalah gunakan tanda petik ( ) sebelum mengetikkan perintah SQL dan gunakan kebali tanda petik ( ) setelah perintah sql. Bila di dalam instruksi SQL ada proses pembacaan methode komponen misal textbox beri tanda & methode & contoh With Adodc1.RecordSource = Select * from pemakai where pengguna like & txtuser.text & & _ and password_pengguna like & txtpassword.text &.Refresh Bila hendak menyembunyikan data dalam tabel dengan perintah SQL dapat dengan memberikan komntar dalam sql. Sebagai contoh misal kita ingin menyembunyika password seperti berikut : Password yang disembunyikan Perintah yang digunakan Dapat digunakan perintah : Alias nama Kolom With Adodc1.RecordSource = " select pengguna,'<password>' as password from pemakai".refresh Membaca Tombol KeyBoard Untuk membaca tombol keyboard dapat digunakan event Keypress kemudian gunakan perintah KeyAscii untuk mendeteksi tombol yang ditekan. Untuk dapat mengetahui tombol yang ditekan harus didefinisikan nomor tombol yang akan dibaca. Sebagai contoh untuk enter nomor 13, Esc nomor 27, Tab nomor 9. Contoh instruksi untuk membaca tombol enter atau tab di komponen textbox dengan nama txtconfirmasipassword Private Sub Txtconfirmasipassword_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = 9 Then Perintah mendeteksi tombol Enter = 13 atau Tab = 9 If txtpassword = Txtconfirmasipassword Then... Dst Contoh Latihan Buat Form Seperti Berikut : Txtuser Txtpassword txtconfirmasipassword Command1 Command2 Command4
Atur TabStop di semua komponen textbox menjadi false. Kemudian ketikkan Instruksi Berikut : Dim status As Boolean Sub set_selector() sub Rutin mengatur posisi selector saat proses update dan Delete record_data With Adodc1.Recordset.Find pengguna like & txtuser.text & Private Sub Command1_Click() Event simpan data If status Then record_data With Adodc1.Recordset.AddNew.Fields("pengguna") = txtuser.text.fields("password_pengguna") = txtpassword.text.update tampil_data bersihkan matikan_edit Private Sub Command2_Click() Event hapus data set_selector With Adodc1.Recordset.Delete tampil_data bersihkan matikan_edit Private Sub Command4_Click() Event Update data set_selector With Adodc1.Recordset.Fields("pengguna") = txtuser.text.fields("password_pengguna") = txtpassword.text.update tampil_data bersihkan matikan_edit Private Sub Form_Activate() Event mengatur posisi kursor data form aktif txtuser.setfocus Private Sub Form_Load() Event Kondisi awal saat form aktif txtpassword.passwordchar = "*" Txtconfirmasipassword.PasswordChar = "*" Command1.Enabled = False matikan_edit
tampil_data Private Sub Txtconfirmasipassword_KeyPress(KeyAscii As Integer) event mendeteksi tombol If KeyAscii = 13 Or KeyAscii = 9 Then keyboard saat ada event di komponen textbox If txtpassword = Txtconfirmasipassword Then If status Then menguji status apakah proses pengeditan dilakukan atau tidak matikan_edit jika status=true maka matikan edit Command1.Enabled = True Command1.SetFocus Else Command4.SetFocus jika status=false maka dilakukan proses editing Else MsgBox "Password tidak Cocok ", vbokonly, "Confirmasi" Untuk memastikan isi password txtpassword.text = "" Txtconfirmasipassword.Text = "" txtpassword.setfocus Private Sub txtpassword_keypress(keyascii As Integer) If KeyAscii = 13 Or KeyAscii = 9 Then Txtconfirmasipassword.SetFocus Sub record_data() Sub Rutin untuk mendefinisikan sumber data saat update dan insert data With Adodc1.RecordSource = " select * from pemakai".refresh Sub tampil_data() sub rutin untuk memanipulasi tampilan data agar password tidak tampak With Adodc1.RecordSource = " select pengguna,'<password>' as password from pemakai".refresh Private Sub txtuser_keypress(keyascii As Integer) If KeyAscii = 13 Or KeyAscii = 9 Then With Adodc1.Recordset.Find "pengguna like '" & txtuser.text & "'" If Not.EOF Then MsgBox "User sudah ada akan diedit ", vbyesno, "Informasi" If vbyes Then status = False aktifkan_edit txtpassword.setfocus Else bersihkan txtuser.setfocus Else status = True
txtpassword.setfocus Sub aktifkan_edit() Command2.Enabled = True Command4.Enabled = True Command1.Enabled = False Sub matikan_edit() Command2.Enabled = False Command4.Enabled = False Command1.Enabled = False Sub bersihkan() txtuser.text = "" txtpassword.text = "" Txtconfirmasipassword.Text = "" Latihan (dikumpulkan 2 minggu): Buat Program Anggota Klub dengan menu : Form Input data Anggota Form Input data User Terdapat Form login saat program diaktifkan Fasilitas di Form Input Data Anggota Insert, Update, Delete dan Cari Data anggota Atribut di Data Anggota : Kode Anggota, Nama, Alamat, No Telepon, Jenis Kelamin,tanggal Daftar Fasilitas di Form data user Insert, Update,Delete dengan kemampuan validasi password untuk memastikan password tepat Atribut di data user :nama_user, Password_user Gunakan fasilitas untuk dapat membaca tombol enter sebagai alternatif selain tab untuk memindahkan posisi kursor di semua form
Modul 5 Pembuatan Reporting Dengan Menggunakan Data Environment (DE) Dalam Pembuatan Report di VB dapat dilakukan dengan 2 cara, pertama dengan IDE kedua dengan Cristall Report. DE merupakan metode penghubung untuk mengakses sumber data yang terdapat di komputer Local atau server dan berfungsi untuk mengontrol dan menjaga keamanan data dari user yang tidak memiliki hak akses terhadap database. DE memiliki tiga bagian penting yaitu : Bagian Connection Command Field Keterangan Berfungsi untuk menentukan koneksi melalui Provider (Driver) menentukan database dan nama user yang dapat mengakses data Berfungsi untuk menentukan tabel tabel yang akan digunakan Berfungis untuk menentukan Field/Atribut dari tabel yang digunakan (Menggunakan Instruksi SQL) Dengan Fasilitas DE kita dapat membuat data report. Data Report merupakan area kerja untuk merancang sebuah laporan di mana sumber data yang digunakan adalah dari Data Environment. Data Report memiliki beberapa bagian yaitu : 1. Report Header, Berfungsi untuk Mendefinisikan Judul Laporan 2. Page Header, berfungsi untuk mendefinisikan Judul Kolom dari suatu Field atau Atribut 3. Detail, berfungsi untuk mendefinisikan Field field yang telah terhubung ke database 4. Report Footer, berfungsi untuk mendefinisikan Catatan kaki keterangan di bawah laporan. Untuk memperjelas pembuatan laporan dengan Data Report ikuti langkah langkah pembuatan laporan berikut ini Ada 3 langkah untuk membuat laporan database menggunakan Data Report Designer, Yaitu: Membuat koneksi data menggunakan Data Environment yang merupakan objek di mana report akan memanggil data dengan langkah : 1. Menempatkan report ke suatu data connector yang dibuat dalam data Environment. Dengan menggunakan pilihan Retrieve Structure maka seksi (section Report) akan disesuaikan dengan koneksi data 2. Menambahkan kontrol report. Kontrol Report akan menampilkan data yang akan dipanggil oleh report Contoh Membuat Report: Gunakan Database buku tamu yang telah saudara buat Ikuti langkah berikut untuk membuat report 1. Klik Menu Project More ActiveX Designer Data Environmet akan muncul Data Enviroment ubah menjadi DELaporan dan Connection1 ubah menjadi KoneksiTamu
2. Klik kanan Mouse di objek KoneksiTamu, pilih Properties dan akan tampil Data Link Properties, Pilih Microsoft OLE DB Provider For SQL Server 3. Pilih Next atau pilih Tab Cooenction untuk menentukan nama Server Login, memilih Database, serta dapat menguji koneksi kemduian pilih OK seperti gambar berikut 4. Klik Kanan di Objek KoneksiTamu pilih Add Command akan tampil Command1 kemudian klik kanan kembali pilih properties kemudian ubah pada Command1 ubah menjadi CmdTamu
Ubah bagian source data ke database Object kemudian pilih Table dan pilih nama objek Buku_tamu. Klik Ok. Maka akan muncul tampilan seperti berikut : 5. Langkah berikutnya buka menu project pilih Add data Report Penjelasan : Report Header Berfungsi untuk Menulis Title/Judul Report yang muncul di tiap halaman report lebih dari satu halaman Page Header : Berfungsi untuk meletakkan nama atribut yang akan muncul di tiap halaman report bila report lebih dari satu halaman Detail : Berfungsi tempat meletakkan data yang akan ditampilkan Page Footer : Berfungsi meletakkan penutup di tiap halaman misal garis bawah tabel Report Footer : Berfungsi meletakkan judul footer yang berfungsi untuk pengenal report atau tempat meletakkan halaman tanggal dan sebagainya. 5. Defnisikan Data Source Data Report yaitu DElaporan (sesuai dengan dengan nama DE yang telah dibuat) dan data member diisi CmdTamu (sesuai nama command1) 6. Kemudian disain report seperti anda membuat form dengan bagian header menggunakan komponen rptlabel bagian detail menggunakan komponen rpttextbox seperti berikut :
7. Di Komponen properties rpttextbox ganti datamember menjadi CmdTamu dan di data field pilih field yang sesuai lokasi atribut textbox 8. kemudian simpan Data Environment dan report yang telah anda buat ke folder yang sama dengan lokasi form anda untuk datareport simpan dengan nama datareport1 Menghubungkan form dengan report Buat command button di form dan beri nama cmdreport untuk memanggil report dan ketikkan instruksi berikut : Private Sub CmdPrint_Click() With DataReport1.Show.WindowState = maximised Anda simpan disain yang anda buat dan jalankan report dengan memanggil dari form yang telah anda buat maka didapat tampilan seperti berikut :
Modul 6 SQL Relasi dan Penggunaan Fungsi Agregasi SQL relasi adalah menggunakan perintah SQL dengan menggunakan data lebih dari satu tabel. Untuk pengambilan data lebih dari satu tabel digunakan perintah seperti berikut : Select namatabel1.namaatribut1, NamaTabel1.Namaatribut2, namatabel2.namaatribut1, dst from namatabel1 inner join namatabel2 on namatabel1.namaatributprimarykey=namatabel2.namaatributforeignkey Atau Select namatabel1.namaatribut1, NamaTabel1.Namaatribut2, namatabel2.namaatribut1, dst from namatabel1, namatabel2 where namatabel1.namaatributprimarykey=namatabel2.namaatributforeignkey Contoh Latihan Sebagai contoh disain tabel data nasabah dengan menggunakan perintah SQL sebagai berikut : create database Bank_Try use bank_try {Membuat Database} Create table Nasabah {Membuat Tabel Nasabah} ( No_rekening varchar(15), Nama_nasabah varchar(30), Alamat varchar(40), Kota varchar(20), Telepon varchar(20), Pilihan_tabungan varchar(10), constraint PK_Nasabah primary key (no_rekening), constraint FK_Nasabah Foreign key (Pilihan_tabungan) references jenis_tabungan(kode) on update cascade ) Create Table Jenis_tabungan {Membuat Tabel jenis Tabungan} ( Kode varchar(10), Nama Varchar(15), Constraint PK_Jenis_Tabungan Primary key (kode) ) Create Table Jenis_transaksi {Membuat Tabel Jenis Transaksi} ( Kode_Transaksi varchar(10), Nama_TR varchar(15), constraint PK_Kode_Transaksi Primary Key (kode_transaksi) )
Create table Trn_Nasabah {Membuat Tabel Transaksi Nasabah} ( No_tr Bigint, No_Rekening varchar(15), kode_transaksi varchar(10), Debet money, Kredit money, Constraint PK_Trn_Nasabah Primary Key (No_tr), Constraint FK_NoRekeningTrn Foreign key (no_rekening) references nasabah(no_rekening), Constraint FK_Kd_Transaksi Foreign key (kode_transaksi) references jenis_transaksi(kode_transaksi) on update cascade ) select * from sysobjects where xtype='u' {Perintah melihat tabel yang telah dibuat} create view Saldo_nasabah {Membuat Virtual Tabel menghitung saldo Nasabah} as select No_Rekening,sum(Kredit)-sum(debet) as [Saldo Nasabah] from trn_nasabah group by no_rekening Select * from Saldo_nasabah {Perintah Menjalankan View} Create View data_nasabah {View untuk melihat data nasabah} As Select Nsb.No_rekening, nsb.no_rekening varchar,nsb.nama_nasabah,nsb.alamat, Nsb.Kota,nsb.Telepon,nsb.Pilihan_tabungan.jnsTB.nama From nasabah nsb,jenis_tabungan jnstb Where nsb.pilihan_tabungan=jnstb.kode Select * from data_nasabah
Pembuatan Reporting dengan Crystall Report dan SQL Relasi Crystall Report adalah aplikasi yang sangat populer untuk membuat report karena banyak memiliki fasilitas bantu dalam membuat report dan dilengkapi dengan wizzard dalam pembuatan report. Agar dapat menggunakan Crystall Report maka perlu diinstall terlebih dahulu aplikasi Crystall Report. Crystal Report yang digunakan adalah versi 8.5. Cara menggunakan Crystall Report :