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
Name frmMenuUtama
Text Latihan 7.1
isMdiContainer True
Form
WindowState Maximized
4. Untuk membuat MenuBar, tambahkan object MenuStrip dari ToolBox ke dalam FrmMenuUtama
Gambar 7.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
Gambar 7.2 6. Atur property sesuai Tabel 7.2 :
Tabel 7.2
Control Properties Nilai
1 Name MenuStripUtama Name mnuProgram 2 Text &Program Name mnuData 3 Text &Data Name mnuTransaksi 4 Text &Transaksi Name mnuLainLain 5 Text &Lain-Lain Name mnuKeluar Text &Keluar 6 ShortcutKeys Ctrl+K Name mnuPasien Text &Pasien 7 ShortcutKeys F2 Name mnuDokter Text &Dokter 8 ShortcutKeys F3 Name mnuPendaftaranPeriksa
CustomFormat Pen&daftaran Periksa 9 ShortcutKeys F4 2 6 3 4 5 7 8 9 10 11
Name mnuRekamMedisPasien
Text &Rekam Medis Pasien
10
ShortcutKeys F5
Name mnuTentangProgram
11
Text &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 :
Gambar 7.4
2 3 4 5 6
9. Atur property sesuai Tabel 7.3 : Tabel 7.3
Control Properties Nilai
1 Name ToolStripUtama Name btnKeluar Text 2 ToolTipText Keluar Name btnDataPasien Text 3
ToolTipText Data Pasien
Name btnDataDokter
Text 4
ToolTipText Data Dokter
Name btnPendaftaran
Text 5
ToolTipText Pendaftaran Periksa
Name btnRekamMedis
Text 6
ToolTipText 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 :
14. Atur property sesuai Tabel 7.4 : Tabel 7.4
Control Properties Nilai
1 Name StatusStripUtama Name sttNamaLogin 2 Text NamaLogin Name sttWaktu 3
Text Status Waktu
Name tmrWaktu
Enabled False
4
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)
- 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
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)
21. Sehingga relasi akhir antar tabel sbb :
22. Isikan data sbb : - Tabel Pengguna
- Tabel Pasien
- 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 :
26. Pilih Database → kmd klik Next>. Akan muncul layer sbb :
Klik button New Connection 27. Muncul layer sbb:
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.
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 :
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
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
34. Aktifkan frmLogin, tambahkan 1 buah label dan 1 buah combobox, atur posisinya sehingga tampak sbb :
35. Atur property menurut tabel 7.5 berikut : Tabel 7.5
Control Properties Nilai
Name frmLogin
Form
Text Login
1 Text Nama Login
Name txtNamaLogin 2 Text 3 Name Password Name txtPassword 4 Text
5 Name Tipe Pengguna
Name cbTipeLogin Items Admin Suster Dokter 6 1 2 3 4 5 6 7 8
Name cmdOK 7 Text OK Name cmdBatal 8 Text 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
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