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 Form
Properties Name Text isMdiContainer WindowState
Nilai frmMenuUtama Latihan 7.1 True Maximized
4. Untuk membuat MenuBar, tambahkan object MenuStrip dalam FrmMenuUtama
dari ToolBox ke
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
Gambar 7.2 6. Atur property sesuai Tabel 7.2 : Tabel 7.2 Control 1 2 3 4 5 6
7
8
9
Properties Name Name Text Name Text Name Text Name Text Name Text ShortcutKeys Name Text ShortcutKeys Name Text ShortcutKeys Name CustomFormat ShortcutKeys
Nilai MenuStripUtama mnuProgram &Program mnuData &Data mnuTransaksi &Transaksi mnuLainLain &Lain-Lain mnuKeluar &Keluar Ctrl+K mnuPasien &Pasien F2 mnuDokter &Dokter F3 mnuPendaftaranPeriksa Pen&daftaran Periksa F4
Modul Praktikum Pemrograman Komputer 2 thn ajaran 2006/2007 – VB .NET
2
10
Name Text ShortcutKeys Name Text
11
mnuRekamMedisPasien &Rekam Medis Pasien F5 mnuTentangProgram &Tentang Program
7. Setelah pengaturan property, menu akan tampak sbb :
Gambar 7.3 ke dalam 8. Selanjutnya kita akan buat ToolBar, tambahkan ToolStrip 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 1 2
3
4
5
6
Properties Name Name Text ToolTipText Name Text ToolTipText Name Text ToolTipText Name Text ToolTipText Name Text ToolTipText
Nilai ToolStripUtama btnKeluar Keluar btnDataPasien Data Pasien btnDataDokter Data Dokter btnPendaftaran Pendaftaran Periksa btnRekamMedis Rekam Medis Pasien
10. Jalankan dan coba pelajari hasilnya !
11. Selanjutnya kita akan buat StatusBar, tambahkan StatusStrip frmMenuUtama. Kemudian dalam StatusStrip tambahkan 2 StatusLabel.
ke dalam
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 1 2 3 4
Properties Name Name Text Name Text Name Enabled Interval
Nilai StatusStripUtama sttNamaLogin NamaLogin sttWaktu Status Waktu tmrWaktu False 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 Sub 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 Form 1 2 3 4 5 6
Properties Name Text Text Name Text Name Name Text Name Name Items DropDownStyle
Nilai frmLogin Login Nama Login txtNamaLogin Password txtPassword Tipe Pengguna cbTipeLogin Admin Suster Dokter DropDownList
Modul Praktikum Pemrograman Komputer 2 thn ajaran 2006/2007 – VB .NET
15
7 8
Name Text Name Text
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 End Sub 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 End Sub Private Sub frmMenuUtama_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Call ubahMenu() sttNamaLogin.Text = NamaPengguna sttWaktu.Text = Now tmrWaktu.Enabled = True End Sub Private Sub tmrWaktu_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrWaktu.Tick Me.sttWaktu.Text = Now End Sub 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.Text = "Dokter" Then Call LoginDokter() Else Call loginUmum() End If End Sub Private Sub LoginDokter() On Error Resume Next dt = lm.loginDokter(txtNamaLogin.Text.Trim, txtPassword.Text.Trim) menuUtama.setTipePengguna("Dokter", dt.Rows(0).Item("nm_dokter").ToString) Call cekPengguna() End Sub Private Sub loginUmum() On Error Resume Next dt = lm.loginUmum(txtNamaLogin.Text.Trim, txtPassword.Text.Trim) If cbTipePengguna.Text = "Suster" Then menuUtama.setTipePengguna("Suster",dt.Rows(0).Item("nm_lengkap").ToString) ElseIf cbTipePengguna.Text = "Admin" Then menuUtama.setTipePengguna("Admin",dt.Rows(0).Item("nm_lengkap").ToString) End If Call cekPengguna() End Sub 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 End Sub Private Sub cmdBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBatal.Click End End Sub 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