BAB VII PEMROGRAMAN DATABASE Setelah melaksanakan praktikum pada bab ini diharapkan mahasiswa dapat : Mengetahui cara membuat MDIApplication Mengetahui cara membuat MenuBar Mengetahui cara membuat StatusBar Mengetahui cara membuat aplikasi database Teori Singkat Latihan 7.1 1. Awali selalu pekerjaan dgn doa, mudah-mudahan diberi kemudahan dan dapat memberikan manfaat 2. Buat Project baru Visual Basic.NET tipe : window application, nama : AplikasiLatihanTujuh1, tentukan pula lokasi penyimpanan (sesuai aturan lab) 3. Project baru anda seharusnya telah memiliki 1 buah Form : Form1. Atur property Form1 mengikuti tabel 7.1 Tabel 7.1 Control Properties Nilai Form Name frmmenuutama Latihan 7.1 ismdicontainer True WindowState Maximized 4. Untuk membuat MenuBar, tambahkan object MenuStrip dari ToolBox ke dalam FrmMenuUtama 1 Gambar 7.1 Modul Praktikum Pemrograman Komputer 2 thn ajaran 2006/2007 VB.NET 1
5. Tambahkan MenuItem-MenuItem ke dalam MenuStrip1 dengan susunan sebagai berikut : &Program - &Keluar &Data - &Pasien - &Dokter &Transaksi - Pen&daftaran Periksa - &Rekam Medis Pasien &Lain-Lain - &Tentang Program 2 3 4 5 6 7 8 9 10 11 6. Atur property sesuai Tabel 7.2 : Gambar 7.2 Tabel 7.2 Control Properties Nilai 1 Name MenuStripUtama 2 Name mnuprogram &Program 3 Name mnudata &Data 4 Name mnutransaksi &Transaksi 5 Name mnulainlain &Lain-Lain 6 Name mnukeluar &Keluar ShortcutKeys Ctrl+K 7 Name mnupasien &Pasien ShortcutKeys F2 8 Name mnudokter &Dokter ShortcutKeys F3 9 Name mnupendaftaranperiksa CustomFormat Pen&daftaran Periksa ShortcutKeys F4 Modul Praktikum Pemrograman Komputer 2 thn ajaran 2006/2007 VB.NET 2
10 11 Name ShortcutKeys Name mnurekammedispasien &Rekam Medis Pasien F5 mnutentangprogram &Tentang Program 7. Setelah pengaturan property, menu akan tampak sbb : Gambar 7.3 8. Selanjutnya kita akan buat ToolBar, tambahkan ToolStrip ke dalam frmmenuutama. Kemudian dalam MenuStrip tambahkan beberapa Button dan Separator sehingga tampak sbb : 2 3 4 5 6 1 Gambar 7.4 Modul Praktikum Pemrograman Komputer 2 thn ajaran 2006/2007 VB.NET 3
9. Atur property sesuai Tabel 7.3 : Tabel 7.3 Control Properties Nilai 1 Name ToolStripUtama 2 Name btnkeluar ToolTip Keluar 3 Name btndatapasien ToolTip Data Pasien 4 Name btndatadokter ToolTip Data Dokter 5 Name btnpendaftaran ToolTip Pendaftaran Periksa 6 Name btnrekammedis ToolTip Rekam Medis Pasien 10. Jalankan dan coba pelajari hasilnya! 11. Selanjutnya kita akan buat StatusBar, tambahkan StatusStrip ke dalam frmmenuutama. Kemudian dalam StatusStrip tambahkan 2 StatusLabel. 12. Tambahkan pula 1 buah obyek Timer 13. FrmMenuUtama akan tampak sbb : 2 3 1 4 Modul Praktikum Pemrograman Komputer 2 thn ajaran 2006/2007 VB.NET 4
14. Atur property sesuai Tabel 7.4 : Tabel 7.4 Control Properties Nilai 1 Name StatusStripUtama 2 Name sttnamalogin NamaLogin 3 Name sttwaktu Status Waktu 4 Name tmrwaktu Enabled False Interval 1000 15. FrmMenuUtama akan tampak sbb : 16. Selanjutnya kita akan buat dulu database ms access yang kita butuhkan untuk aplikasi ini. 17. Buka microsoft access, buat file database baru dengan nama : klinik.mdb 18. Melalui Design, buat beberapa tabel baru sbb : - Tabel Pengguna Field kd_pengguna merupakan Primary Key (Set kd_pengguna sebagai primary key tabel Pengguna) Modul Praktikum Pemrograman Komputer 2 thn ajaran 2006/2007 VB.NET 5
- Tabel Pasien Field kd_pasien merupakan Primary Key (Set kd_pasien sebagai primary key tabel Pasien) - Tabel Dokter Field kd_dokter merupakan Primary Key (Set kd_dokter sebagai primary key tabel Dokter) - Tabel Pendaftaran_Periksa Field kd_daftar merupakan Primary Key (Set kd_daftar sebagai primary key tabel Pendaftaran_Periksa) Field kd_pasien merupakan foreign key ke table pasien pada field kd_pasien, kita atur belakangan melalui relationships - Tabel Rekam_Medis Field kd_rekam_medis merupakan Primary Key (Set kd_rekam_medis sebagai primary key tabel Rekam_Medis) Field kd_daftar merupakan foreign key ke tabel Pendaftaran_Periksa pada field kd_daftar, kita atur belakangan melalui relationships Field kd_dokter merupakan foreign key ke tabel Dokter pada field kd_dokter, kita atur belakangan melalui relationships Modul Praktikum Pemrograman Komputer 2 thn ajaran 2006/2007 VB.NET 6
19. Sampai pada langkah ini kita telah memiliki 5 tabel 20. Atur relasi antar tabel sbb : - Tabel Dokter (kd_dokter) Rekam_Medis(kd_dokter) - Tabel Pasien (kd_pasien) Pendaftaran_Periksa (kd_pasien) - Tabel Pendaftaran_Periksa (kd_daftar) Rekam_Medis (kd_daftar) Modul Praktikum Pemrograman Komputer 2 thn ajaran 2006/2007 VB.NET 7
21. Sehingga relasi akhir antar tabel sbb : 22. Isikan data sbb : - Tabel Pengguna - Tabel Pasien - Tabel Dokter Modul Praktikum Pemrograman Komputer 2 thn ajaran 2006/2007 VB.NET 8
- Tabel Pendaftaran_Periksa - Tabel Rekam_Medis 23. Pembuatan database selesai, tutup ms access anda. Kita kembali ke Ms Visual Studio 2005, AplikasiLatihanTujuh1 24. Membuat DataSource ke klinik.mdb 25. klik menu Data Show Data Sources sehingga akan muncul jendela Data Sources di layer editor 26. Pada Jendela Data Sources, klik Add New Data Source sehingga muncul tampilan Data Source Configuration Wizard sbb : Modul Praktikum Pemrograman Komputer 2 thn ajaran 2006/2007 VB.NET 9
26. Pilih Database kmd klik Next>. Akan muncul layer sbb : Klik button New Connection 27. Muncul layer sbb: Ubah Data Source menjadi Microsoft Access Database File (OLE DB) Modul Praktikum Pemrograman Komputer 2 thn ajaran 2006/2007 VB.NET 10
Ubah Database Filename, browse ke file klinik.mdb milik anda. Kemudian klik test connection, seharusnya muncul pesan Test connection succeeded Kalo sudah klik OK Klik Next > Pesan tersebut menanyakan apakah akan dibuatkan copy file database klinik mdb untuk project. Klik Yes. Modul Praktikum Pemrograman Komputer 2 thn ajaran 2006/2007 VB.NET 11
Pilih semua table dalam database klinik.mdb. Beri nama DataSet Name : dsklinik Klik Finish, Akan didapat Data Sources dsklinik pada jendela Data Sources sbb : Sementara solution explorer akan terlihat sbb : 28. Klik kanan pada solution explorer. Tambahkan 1 buah folder dengan nama classes Modul Praktikum Pemrograman Komputer 2 thn ajaran 2006/2007 VB.NET 12
29. Dalam folder classes, tambahkan1 buah class dengan nama DataManager 30. Tambahkan kode pada Class DataManager sehingga menjadi sbb : Imports System.Data Imports System.Data.OleDb Public Class DataManager Public Shared Function ExecuteQuery(ByVal ConnectionString As String, ByVal query As String, Optional ByVal NamaTabel As String = "Table1") As DataTable Try Dim Koneksi As OleDbConnection = New OleDbConnection(ConnectionString) Dim dataadapter As OleDbDataAdapter = New OleDbDataAdapter(query, Koneksi) Dim ds As DataSet = New DataSet dataadapter.fill(ds, NamaTabel) ds.tables(0).tablename = NamaTabel Return ds.tables(0) Catch ex As Exception MessageBox.Show(ex.Message) End Try End Function Modul Praktikum Pemrograman Komputer 2 thn ajaran 2006/2007 VB.NET 13
Public Shared Sub ExecuteNonQuery(ByVal ConnectionString As String, ByVal query As String) Dim koneksi As OleDbConnection Try koneksi = New OleDbConnection(ConnectionString) koneksi.open() Dim datacommand As New OleDbCommand(query, koneksi) datacommand.executenonquery() Catch ex As Exception MessageBox.Show(ex.Message) Finally If koneksi.state = ConnectionState.Open Then koneksi.close() End If End Try End Class 31. Dalam folder classes, tambahkan1 buah class dengan nama LoginManager 32. Tambahkan kode pada Class LoginManager sehingga menjadi sbb : Imports System.Data Imports System.Data.OleDb Public Class LoginManager Public Shared Function loginumum(byval nm_login As String, ByVal password As String) As DataTable Dim ConnectionString As String = _ AplikasiLatihanTujuh1B.My.Settings.Klinik_mdbConnectionString Dim query As String = "select * from pengguna where nm_login='" & _ nm_login & "' and password='" & password & "'" Dim Dt As DataTable = DataManager.ExecuteQuery(ConnectionString, query, _ "pengguna") Return Dt End Function Public Shared Function logindokter(byval nm_login As String, ByVal password As String) As DataTable Dim ConnectionString As String = _ AplikasiLatihanTujuh1B.My.Settings.Klinik_mdbConnectionString Dim query As String = "select * from dokter where nm_login='" & _ nm_login & "' and password='" & password & "'" Dim Dt As DataTable = DataManager.ExecuteQuery(ConnectionString, query, _ "dokter") Return Dt End Function End Class 33. Melalui menu Project Add Window Form, tambahkan sebuah LoginForm beri nama frmlogin.vb Modul Praktikum Pemrograman Komputer 2 thn ajaran 2006/2007 VB.NET 14
34. Aktifkan frmlogin, tambahkan 1 buah label dan 1 buah combobox, atur posisinya sehingga tampak sbb : 1 2 3 4 5 6 7 8 35. Atur property menurut tabel 7.5 berikut : Tabel 7.5 Control Properties Nilai Form Name frmlogin Login 1 Nama Login 2 Name txtnamalogin 3 Name Password 4 Name txtpassword 5 Name Tipe Pengguna 6 Name cbtipelogin Items Admin Suster Dokter DropDownStyle DropDownList Modul Praktikum Pemrograman Komputer 2 thn ajaran 2006/2007 VB.NET 15
7 8 Name Name cmdok OK cmdbatal Batal 36. Setelah pengaturan properti, frmlogin akan tampak sbb : 37. Aktifkan frmmenuutama, tambahkan kode berikut pada frmmenuutama (perhatikan event-nya jika ada prosedur event) : Public Class frmmenuutama Private TipePengguna As String = "Suster" Private NamaPengguna As String = "" Sub settipepengguna(byval TipePengguna As String, ByVal NamaPengguna As String) Me.TipePengguna = TipePengguna Me.NamaPengguna = NamaPengguna Private Sub ubahmenu() mnuprogram.enabled = True mnukeluar.enabled = True mnudata.enabled = True mnudokter.enabled = True mnupasien.enabled = True mnupendaftaranperiksa.enabled = True mnurekammedispasien.enabled = True mnulainlain.enabled = True mnutentangprogram.enabled = True If TipePengguna = "Suster" Then mnurekammedispasien.enabled = False ElseIf TipePengguna = "Dokter" Then mnudokter.enabled = False mnupasien.enabled = False mnupendaftaranperiksa.enabled = False End If Private Sub frmmenuutama_load(byval sender As Object, ByVal e As System.EventArgs) Handles Me.Load Call ubahmenu() sttnamalogin. = NamaPengguna sttwaktu. = Now tmrwaktu.enabled = True Private Sub tmrwaktu_tick(byval sender As System.Object, ByVal e As System.EventArgs) Handles tmrwaktu.tick Me.sttWaktu. = Now End Class Modul Praktikum Pemrograman Komputer 2 thn ajaran 2006/2007 VB.NET 16
38. Aktifkan kembali frmlogin. Perhatikan event yang digunakan, tambahkan kode pada frmlogin sehingga menjadi sbb : Imports System.Data Imports System.Data.OleDb Public Class frmlogin Dim lm As New LoginManager Dim dt As DataTable Dim menuutama As New frmmenuutama Private Sub cmdok_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles cmdok.click If cbtipepengguna. = "Dokter" Then Call LoginDokter() Else Call loginumum() End If Private Sub LoginDokter() On Error Resume Next dt = lm.logindokter(txtnamalogin..trim, txtpassword..trim) menuutama.settipepengguna("dokter", dt.rows(0).item("nm_dokter").tostring) Call cekpengguna() Private Sub loginumum() On Error Resume Next dt = lm.loginumum(txtnamalogin..trim, txtpassword..trim) If cbtipepengguna. = "Suster" Then menuutama.settipepengguna("suster",dt.rows(0).item("nm_lengkap").tostring) ElseIf cbtipepengguna. = "Admin" Then menuutama.settipepengguna("admin",dt.rows(0).item("nm_lengkap").tostring) End If Call cekpengguna() Private Sub cekpengguna() If dt.rows.count = 0 Then MessageBox.Show("Nama Login atau Password Salah", "Login") Else menuutama.show() MessageBox.Show("Selamat Datang", "Login") Me.Finalize() End If Private Sub cmdbatal_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles cmdbatal.click End End Class 39. Ubah start up object dari project ke frmlogin. Coba Jalankan! Pelajari! Modul Praktikum Pemrograman Komputer 2 thn ajaran 2006/2007 VB.NET 17