TUNTUNAN LATIHAN LATIHAN 1. Membuat Database Membuat database SQL Server dengan nama APLIKASI Langkah : 1. Buka tampilan SQL Server Enterprise Manager. 2. Pada Enterprise Manager, klik icon Microsoft SQL Server lalu bukalah server. Klik tombol mouse kanan pada folder Database lalu pilih New Database. 3. Ketikkan nama untuk database ini adalah Aplikasi pada kotak dialog yang muncul. 4. Klik tombol OK jika telah selesai mengatur database.
Membuat tabel dengan struktur di bawah ini Tabel Nasabah NONASABAH INT 4 Key NAMA CHAR 25 KTP CHAR 15 TGLLAHIR DATETIME 8 TMPLAHIR CHAR 20 ALAMAT CHAR 30 KODEPOS CHAR 5 TELP CHAR 12 JNSKEL CHAR 10 AGAMA CHAR 10 Langkah : 5. Perbesar folder Database dan database tempat pembuatan tabel. 6. Klik tombol kanan mouse pada folder Tabel dan pilih New Tabel. 7. Tulis nama tabel Nasabah yang akan dibuat pada toolbox Choose Name. Gambar Toolbox Choose Name 8. Setelah muncul window New Table, tuliskan nama field dan lengkapi sesuai dengan struktur tabel yang akan dibuat. Selanjutnya dengan cara yang sama dengan di atas buatlah tabel di bawah ini : Tabel Rekening NOREK NUMERIK 9 Key JENISTAB CHAR 2 BUNGA NUMERIK 5 SALDOAWAL NUMERIK 9 SALDOAKHIR NUMERIK 9 TGLBUKA DATETIME 8 STATUSAKTIF BLT 1 NONASABAH INT 12
Tabel Aktifitas JNSTRAN CHAR 2 Key KETERANGAN CHAR 20 Tabel Tabungan JNSTAB CHAR 2 Key KETERANGAN CHAR 20 BUNGA NUMERIC 5,2 Tabel Transaksi NOREK NUMERIK 9 Key NOTRAN CHAR 2 Key TGLTRAN DATETIME 8 WAKTU DATETIME 8 JNSTRAN CHAR 2 JUMLAH NUMERIK 9 STAFFID CHAR 3 STAFFIDSP CHAR 3 Tabel Staff STAFF_ID CHAR 3 Key DEPT CHAR 2 NAMA CHAR 10 OTOR CHAR 1 BATAS NUMERIK 9 LATIHAN 2. Adodc Dan Ado Object 2.1. Menghubungkan Program VB dengan Database SQL Server / Binding. Database yang digunakan adalah database APLIKASI, tabel yang digunakan adalah tabel STAFF.
DESIGN TAMPILAN PROGRAM Aktifkan terlebih dahulu control ADODC dengan cara click kanan pada tollbar, pilih Components, beri tanda check pada Microsoft ADO Data Control 6.0, lalu clik OK. Lakukan cara yang sama untuk mengaktifkan control Microsoft DataGrid Control 6.0, lalu clik OK. LANGKAH-LANGKAH SETTING PROPERTIES ADODC. Pilih properties Connection String Pilih option Use Connection String lalu clik buttong Build Pada tab Provider pilih Microsoft OLE DB Provider for SQL Server lalu clik Next Pada tab Connection : 1. Select or enter a server name : USERXX 2. Enter information to log on to the server 3. Select the database on the server : APLIKASI Test Connection, OK
SETTING PROPERTIES NAMA CONTROL/OBJEK PROPERTIES NILAI Form1 Name FrmStaff Form Staff Adodc1 Name AdoStaff STAFF Connectionstring Provider=SQLOLEDB.1; Persist Security Info=False; User ID=sa; Initial Catalog=APLIKASI; Data Source= USERXX Command Type 2-adCmdTable Record Source STAFF Label1 Staff ID Label2 Departemen Label3 Nama Staff Label4 Otoritas Label5 Batas Text1 DataSource AdoStaff DataField STAFF_ID Text2 DataSource AdoStaff DataField DEPT Text3 DataSource AdoStaff DataField NAMA Text4 DataSource AdoStaff DataField OTOR Text5 DataSource AdoStaff DataField BATAS Command1 Tutup DataGrid1 DATA STAFF DataSource AdoStaff CODING PROGRAM Private Sub Command1_Click() Unload Me
2.2. Menghubungkan Program VB dengan Database SQL Server / Koneksi melalui Coding. Database yang digunakan adalah database APLIKASI, tabel yang digunakan adalah tabel NASABAH. DESIGN TAMPILAN PROGRAM
SETTING PROPERTIES NAMA CONTROL/OBJEK PROPERTIES NILAI Form2 Name FrmNasabah From Nasabah Adodc1 Name AdoNasabah Nasabah Visible False Label1 No Nasabah Label2 Nama Nasabah Label3 No KTP Label4 Tempat Lahir Label5 Tanggal Lahir Label6 Agama Label7 Alamat Label8 Kode Pos Label9 Telepon Text1 Name TxtNoNasabah Text2 Name TxtNamaNasabah Text3 Name TxtKTP Text4 Name TxtTmpLahir Text5 Name TxtTglLahir Text6 Name TxtAlamat MultiLine True ScrollBars 1-Horizontal Text7 Name TxtKodePos Text8 Name TxtTelp Frame1 Jenis Kelamin Frame2 Scrolling Data Frame Manipulasi Data Option1 Name OptLaki Option Laki-laki Option2 Name OptPer Option Perempuan Combo1 Name CboAgama DataSource AdoNasabah DataField AGAMA Command1 Name CmdPertama
Pertama Command2 Name CmdMundur Mundur Command3 Name CmdMaju Maju Command4 Name CmdAkhir Akhir Command5 Name CmdTutup Tutup Command6 Name CmdDataBaru Data Baru Command7 Name CmdUpdate Update Command8 Name CmdHapus Hapus Command9 Name CmdBatal Batalkan Command10 Name CmdCariData Cari Data
CODING PROGRAM Dim ConNas As String '********* Variabel untuk parameter koneksi Private Sub Form_Load() '********* Koneksi Ke Database dan Tabel ConNas = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=APLIKASI;Data Source= USERXX" AdoNasabah.ConnectionString = ConNas AdoNasabah.CommandType = adcmdtext AdoNasabah.RecordSource = "Select * from NASABAH" AdoNasabah.Refresh Tampil '********* Pemanggilan Prosedur yang bernama Tampilkan With CboAgama.AddItem "Islam".AddItem "Kristen Protestan".AddItem "Kristen Katolik".AddItem "Hindu".AddItem "Budha" Private Sub Tampil() '********* Isi Prosedur yang bernama Tampil With AdoNasabah TxtNoNasabah.Text =.Recordset("NONASABAH") TxtNamaNasabah.Text =.Recordset("NAMA") TxtKTP.Text =.Recordset("KTP") If.Recordset("JNSKEL") = "Perempuan " Then OptPer.Value = True Else OptLaki.Value = True TxtTmpLahir.Text =.Recordset("TMPLAHIR") TxtTglLahir.Text =.Recordset("TGLLAHIR") CboAgama.Text =.Recordset("AGAMA") TxtAlamat.Text =.Recordset("ALAMAT") TxtKodePos.Text =.Recordset("KODEPOS") TxtTelp.Text =.Recordset("TELP") Private Sub CmdAkhir_Click() AdoNasabah.Recordset.MoveLast Tampil MsgBox "Record Paling Akhir"
Private Sub CmdMaju_Click() With AdoNasabah.Recordset.MoveNext If.Recordset.EOF = True Then MsgBox "Record Paling Akhir".Recordset.MoveLast Tampil Private Sub CmdMundur_Click() With AdoNasabah.Recordset.MovePrevious If.Recordset.BOF = True Then MsgBox "Record Paling Awal".Recordset.MoveFirst Tampil Private Sub CmdPertama_Click() AdoNasabah.Recordset.MoveFirst Tampil MsgBox "Record Paling Awal" Private Sub CmdTutup_Click() Unload Me Private Sub CmdDataBaru_Click() CmdUpdate. = "Simpan" For Each Control In FrmNasabah If TypeOf Control Is TextBox Then Control.Text = "" Next CboAgama.Text = "" OptLaki.Value = False OptPer.Value = False CmdDataBaru.Enabled = False CmdBatal.Enabled = True
Private Sub CmdBatal_Click() AdoNasabah.Recordset.MoveFirst Tampil CmdDataBaru.Enabled = True CmdBatal.Enabled = False CmdUpdate. = "Update" Private Sub CmdUpdate_Click() With AdoNasabah If CmdUpdate. = "Simpan" Then.Recordset.AddNew.Recordset("NONASABAH") = TxtNoNasabah.Text.Recordset("NAMA") = TxtNamaNasabah.Text.Recordset("KTP") = TxtKTP.Text If OptPer.Value = True Then.Recordset("JNSKEL") = "Perempuan " Else.Recordset("JNSKEL") = "Laki-laki ".Recordset("TMPLAHIR") = TxtTmpLahir.Text.Recordset("TGLLAHIR") = TxtTglLahir.Text.Recordset("AGAMA") = CboAgama.Text.Recordset("ALAMAT") = TxtAlamat.Text.Recordset("KODEPOS") = TxtKodePos.Text.Recordset("TELP") = TxtTelp.Text.Recordset.Update CmdDataBaru.Enabled = True CmdBatal.Enabled = False CmdUpdate. = "Update" Tampil Private Sub CmdHapus_Click() AdoNasabah.Recordset.Delete AdoNasabah.Recordset.MoveFirst Tampil
Private Sub CmdCariData_Click() Dim CariData As String CariData = InputBox("Masukan Nomor Nasabah Yang Akan Dicari", "Cari Data Nasabah") With AdoNasabah.RecordSource = "SELECT * FROM NASABAH WHERE NONASABAH= '" & CariData & "'".Refresh If.Recordset.BOF = True And.Recordset.EOF = True Then MsgBox "Data Tidak Ditemukan".RecordSource = "SELECT * FROM NASABAH".Refresh Exit Sub Tampil AdoNasabah.RecordSource = "SELECT * FROM NASABAH" AdoNasabah.Refresh
I. Dim ConNas As String PEMBAHASAN Digunakan untuk mendeklarasikan ConNas sebagai variabel yang akan digunakan sebagai parameter untuk koneksi ke database. ConNas = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=APLIKASI;Data Source= USERXX " II. Provider=SQLOLEDB.1; Provider yang digunakan ADO untuk koneksi ke database SQL Server. III. Persist Security Info=False;User ID=sa; Untuk log on ke server dengan menggunakan Use a specific user name and password dengan User ID sebagai sa. IV. Initial Catalog=APLIKASI; Nama database yang digunakan. V. Data Source= USERXX" Nama server dari SQL Server. VI. AdoNasabah.ConnectionString = ConNas AdoNasabah.CommandType = adcmdtext AdoNasabah.RecordSource = "Select * from NASABAH" AdoNasabah.Refresh
Connection String ADO diambil dari parameter ConNas, Tipe Command menggunakan adcmdtext, Tabel dan Record didefinisikan dengan menggunakan perintah SQL. Pada perintah tersebut, Tabel yang digunakan adalah Tabel NASABAH. Refresh digunakan untuk me-refresh koneksi, record dan query. VII. Recordset("nama_field") Digunakan untuk untuk menentukan field yang dipakai. VIII. Recordset.MoveFirst,.MovePrevious,.MoveNext,.MoveLast,.BOF,.EOF, menentukan pergerakan letak dan posisi dari recordset. IX. CmdUpdate. = "Simpan" For Each Control In FrmNasabah If TypeOf Control Is TextBox Then Control.Text = "" Next CboAgama.Text = "" OptLaki.Value = False OptPer.Value = False Perintah-perintah tersebut digunakan apabila user akan melakukan entri data atau mengisi data baru. Dengan menjalankan perintah-perintah tersebut, maka setiap textbox, option dan control lain akan dikosongkan dan siap diisi data. X. AdoNasabah.Recordset.MoveFirst Tampil Jika user ingin membatalkan pengisian data, maka perintah di atas dijalankan agar record kembali ke record paling awal kemudian isi dari record tersebut ditampilkan dengan memanggil prosedur Tampil.
XI. With AdoNasabah If CmdUpdate. = "Simpan" Then.Recordset.AddNew.Recordset("NONASABAH") = TxtNoNasabah.Text...Recordset.Update Jika data sudah diisikan pada form dan user akan menyimpan data yang sudah diisikan tadi, maka perintah diatas dijalankan. Untuk melakukan penyimpanan data, maka digunakan perintah.addnew, kemudian menentukan isi field sesuai dengan text yang dimasukan, dan diakhiri dengan.update sehingga data benar-benar tersimpan. XI. Jika user ingin memrubah/memmodifikasi data yang sudah ada, maka user dapat langsung merubah data pada record yang diiginkan yang tampil pada form. Perintah yang digunakan mirip dengan pada prosedur simpan, namun tidak menggunakan perintah.addnew, tetapi tetap menggunakan.update. XI. AdoNasabah.Recordset.Delete Perintah tersebut digunakan untuk menghapus data yaitu data yang sedang ditampilkan pada form. XII. Prosedur untuk melakukan search/caridata pada dasarnya hanya berupa perintah koneksi recordset, namun ditambahkan beberapa kondisi tertentu dengan menggunakan perintah SQL. Apabila kodisi terpenuhi atau data yang dicari ditemukan maka akan ditampilkan pada form, jika tidak maka akan menampilkan pesan bahwa data tidak ditemukan.
2.3.Menghubungkan Program VB dengan Database SQL Server / Menggunakan Object ADO tanpa menggunakan control ADODC. Database yang digunakan adalah database APLIKASI, tabel yang digunakan adalah tabel REKENING. Pastikan Objek ADO sudah direferensikan kedalam Visual Basic. Caranya dengan mengklik menu Project pada MenuBar,Pilih References. Cari Micrisoft ActiveX Data Object 2.5 Library. Pastikan object tersebut sudah dibari tanda check, lalu clik OK. DESIGN TAMPILAN PROGRAM Form Rekening Form Search
SETTING PROPERTIES Form Rekening NAMA CONTROL/OBJEK PROPERTIES NILAI Form3 Name FrmRekening Form Rekening Label1 No Rekening Label2 No Nasabah Label3 Jenis Tabungan Label4 Bunga Label5 Saldo Awal Label6 Saldo Akhir Label7 Tanggal Buka Label8 Status Aktif Text1 Name TxtNoRek Text2 Name TxtNoNas Text3 Name TxtJnsTab Text4 Name TxtBunga Text5 Name TxtSalAwal Text6 Name TxtSalAkhir Text7 Name TxtTglBuka Text8 Name TxtStatus Frame1 Database Manipulation Frame2 Scrolling Data Command1 Name CmdNew New Command2 Name CmdCalcel Cancel Command3 Name CmdSave Save Command4 Name CmdUpdate Update Command5 Name CmdDelete Delete Command6 Name CmdSearch Search
Command7 Name CmdFirst << Command8 Name CmdPrevious < Command9 Name CmdNext > Command10 Name CmdLast >> Command11 Name CmdClose Close Form Search NAMA CONTROL/OBJEK PROPERTIES NILAI Form4 Name FrmRekening Form Rekening Label1 No Rekening Text1 Name TxtNoRek Command1 Name CmdNew New
CODING PROGRAM Form Rekening Dim AdoConRek As New ADODB.Connection connection Dim AdoRs As New ADODB.Recordset recordset '********* Variabel untuk '********* Variabel untuk Private Sub Form_Load() Koneksi '********* Pemanggilan Prosedur yang bernama Koneksi Tampilkan '********* Pemanggilan Prosedur yang bernama Tampilkan Private Sub Tampilkan() '********* Isi Prosedur yang bernama Tampilkan With AdoRs TxtNoRek.Text =!NOREK TxtNoNas.Text =!NONASABAH TxtJnsTab.Text =!JENISTAB TxtBunga.Text =!BUNGA TxtSalAwal.Text =!SALDOAWAL TxtSalAkhir.Text =!SALDOAKHIR TxtTglBuka.Text =!TGLBUKA TxtStatus.Text =!STATUSAKTIF Private Sub Koneksi() '********* Isi Prosedur yang bernama Koneksi If AdoRs.State <> adstateclosed And AdoConRek.State <> adstateclosed Then AdoRs.Close Set AdoRs = Nothing AdoConRek.Close Set AdoConRek = Nothing With AdoConRek.ConnectionString = "Persist Security Info=False;User ID=sa;Initial Catalog=APLIKASI;Data Source= USERXX".Provider = "SQLOLEDB.1".Open AdoRs.Open "Select * from REKENING", AdoConRek, adopendynamic, adlockoptimistic Private Sub CmdFirst_Click()
AdoRs.MoveFirst Tampilkan MsgBox "This is the First Record" Private Sub CmdLast_Click() AdoRs.MoveLast Tampilkan MsgBox "This is the Last Record" Private Sub CmdNext_Click() With AdoRs.MoveNext If.EOF = True Then MsgBox "This is the Last Record".MoveLast Tampilkan Private Sub CmdPrevious_Click() With AdoRs.MovePrevious If.BOF = True Then MsgBox "This is the First Record".MoveFirst Tampilkan Private Sub CmdNew_Click() For Each Control In FrmRekening If TypeOf Control Is TextBox Then Control.Text = "" Next Private Sub CmdCancel_Click() Tampilkan Private Sub CmdSave_Click()
With AdoRs.AddNew!NOREK = TxtNoRek.Text!NONASABAH = TxtNoNas.Text!JENISTAB = TxtJnsTab.Text!BUNGA = TxtBunga.Text!SALDOAWAL = TxtSalAwal.Text!SALDOAKHIR = TxtSalAkhir.Text!TGLBUKA = TxtTglBuka.Text!STATUSAKTIF = TxtStatus.Text.Update Tampilkan MsgBox "It's Done".MoveFirst Private Sub CmdUpdate_Click() With AdoRs!NOREK = TxtNoRek.Text!NONASABAH = TxtNoNas.Text!JENISTAB = TxtJnsTab.Text!BUNGA = TxtBunga.Text!SALDOAWAL = TxtSalAwal.Text!SALDOAKHIR = TxtSalAkhir.Text!TGLBUKA = TxtTglBuka.Text!STATUSAKTIF = TxtStatus.Text.Update MsgBox "It's Done" Koneksi Tampilkan Private Sub CmdDelete_Click() AdoRs.Delete MsgBox "It's Done" AdoRs.MoveFirst Tampilkan Private Sub CmdSearch_Click() Dim PSql As String FrmSearch.Show vbmodal PSql = "Select * from REKENING where NOREK ='" & Val(FrmSearch.TxtSearch.Text) & "'"
Unload FrmSearch Set frmseacrh = Nothing Set AdoRs = Nothing Set AdoRs = New ADODB.Recordset AdoRs.Open PSql, AdoConRek, adopendynamic, adlockoptimistic If AdoRs.BOF = True And AdoRs.EOF = True Then MsgBox "Data Does Not Exist" Koneksi Exit Sub Tampilkan Private Sub CmdClose_Click() AdoRs.Close Set AdoRs = Nothing AdoConRek.Close Set AdoConRek = Nothing Unload Me Private Sub CmdGo_Click() Me.Hide From Seacrh
PEMBAHASAN I. Dim AdoConRek As New ADODB.Connection Digunakan untuk mendefinisikan suatu variabel sebagai object Connection. II. Dim AdoRs As New ADODB.Recordset Digunakan untuk mendefinisikan suatu variabel sebagai object Recodset. III. Penggunaan parameter New pada deklarasi variable di atas digunakan untuk mengalokasikan memori untuk object Connection dan Recodset. IV. With AdoConRek.ConnectionString = "Persist Security Info=False;User ID=sa;Initial Catalog=APLIKASI;Data Source= USERXX".Provider = "SQLOLEDB.1".Open Merupakan parameter-parameter untuk Connection String yang mendefinisikan nama server, database, dan security yang digunakan. V. AdoRs.Open "Select * from REKENING", AdoConRek, adopendynamic, adlockoptimistic Merupakan parameter-parameter untuk Recordset yang mendefinisikan nama table dan field yang digunakan, dan menggunakan connection AdoConRek. VI. With AdoRs..
Digunakan untuk mengefisienkan pengetikan AdoRs sehingga tidak perlu diketik berulang-ulang VII. TxtNoRek.Text =!NOREK TxtNoNas.Text =!NONASABAH... TxtStatus.Text =!STATUSAKTIF Isi textbox dari TxtNoRek diambil dari Field NOREK dan begitu juga dengan textbox yang lain di sisuaikan dengan Field yang ingin digunakan. VIII. With AdoRs.AddNew!NOREK = TxtNoRek.Text!NONASABAH = TxtNoNas.Text....Update Untuk menyimpan data (SAVE) harus diawali dengan recordset.addnew kemudian recordset field menggunakan text yang terdapat pada textbox, dan diakhiri dengan recordset.update. Isi dari setiap field yang ada pada tabel yang digunakan disesuaikan / diambil dari text yang diketikan pada texbox, seperti contoh di atas isi field NOREK adalah text yang diketikan pada TxtNoRek. IX.!NOREK = TxtNoRek.Text!NONASABAH = TxtNoNas.Text....Update Untuk melakukan Update menggunakan urutan sintaks yang mirip dengan Save, nemun untuk update tidak perlu diawali dengan.addnew. X.
Penjelasan mengenai search pada dasarnya sama saja dengan penjelasan sebelumnya, hanya pada program kali ini, menggunakan form tambahan bukan dengan inputbox. LATIHAN 3. Crystal Report Membuat laporan nasabah dengan rancangan seperti gambar di bawah ini : Membuat laporan alamat seorang nasabah dengan rancangan seperti gambar di bawah ini: Membuat laporan transaksi seorang nasabah dengan rancangan seperti gambar di bawah ini:
Membuat laporan tabungan nasabah dengan rancangan seperti gambar di bawah ini : 1. Buat Report dengan menggunakan Pilih Tabel Rekening(NoRek,Bunga,SaldoAkhir) dan Tabel Nasabah ( NoNasabah,Nama) Dengan Tampilan. - Untuk JmlUang Gunakan Rumus Dibawah ini gunakan Formula: Saldo Akhir + (SaldoAkhir * Bunga ) / 100
2. Buat Report dengan menggunakan Tabel Rekening(NoRek,SaldoAkhir), Nasabah(Nama),Transaksi(NoTran,TglTrans) dengan kondisi: - Tampilkan 5 transaksi terakhir berdasarkan tanggal transaksi 3. Buat Report dengan menggunakan Tabel Rekening(NoRek,SaldoAkhir), Nasabah(Nama),Transaksi(Jumlah) buat formula field dengan nama ketbatas dengan kondisi: - Jika Jumlah Saldo Akhir Rekening Lebih Kecil dari Jumlah Transaksi Maka ketbatas Melebihi Batas, Jika Jumlah Saldo Akhir Rekening Lebih Besar dari Jumlah Transaksi Maka ketbatas Oke. 4. Buat Report dengan menggunakan Tabel Rekening(NoRek), Nasabah(Nama),Transaksi(Jumlah) buat formula field dengan nama nmstaff dengan kondisi: - Jika Jumlah Transaksi < 100000000 maka nmstaff = Hubungi Bpk. X, Jika Jumlah Transaksi >= 100000000 maka nmstaff= Hubungi Bpk. Y. Jawaban Latihan: 1. Gunakan Formula Dengan Nama JmlUang = {Rekening.SaldoAkhir}+({Rekening.SaldoAkhir}*{Rekening.Bunga})/100 2. Pada Field TglTrans Click Kanan Kemudian Pada Menu Popup Pilih Select Expert Kemudian pada form select expert pilih is between. 3. Gunakan Formula dengan nama ketbatas = if {Rekening.SaldoAkhir} > {Transaksi.Jumlah} then 'Melebihi Batas else 'OKE' 4. Gunakan Formula dengan nmstaff = if {Transaksi.Jumlah} < 100000000 then Hubungi Bpk.X else if{transaksi.jumlah} >= 100000000 then Hubungi Bpk.Y