AMIK HASS BANDUNG MANAJEMEN INFORMATIKA DIPLOMA III (D3) TAHUN AJARAN 2010/2011
KATA PENGANTAR
Puji dan syukur kita panjatkan kehadirat Tuhan Yang Maha Esa, karena berkat rahmat dan hidayah Nya penulis dapat menyelesaikan makalah ini dengan Teknik Pemrograman Objek dengan Visual Studio 2005 yang berjudul PROGRAM APLIKASI RENTAL KASET. Penyelsaian makalah ini tidak terlepas dari bantuan berbagai pihak, Oleh karena itu dengan kerendahan hati saya mengucapkan banyak terima kasih kepada: 1. Dosen pembimbing yang telah banyak member saran dan masukkan tentang tugas. 2. Kedua orang tua yang mendukung baik secara moril maupun materil. 3. Teman-teman yang telah member ide untuk menyelsaikan makalh ini. Saya menyadari masih banyak kekurangan dalam makhalh yang saya buat ini untuk itu saya mengharapkan kritik dan saran dari teman-teman untuk menyempurnakan makalah ini. Penulis menyadari masih banyak kekurangan dan masih jauh dari kesempurnaan dalam makalah yang penulis buat ini, untuk itu penulis mengharapkan kritik dan saran dari temanteman untuk menyempurnakan makalah ini. Semoga Makalah ini bermanfaat bagi semua pembaca
Penulis
Page 2 of 28
DAFTAR ISI
KATA PENGANTAR........................................................................................... 2 DAFTAR ISI ................................................................................................... 3 BAB I .......................................................................................................... 5 PENDAHULUAN .............................................................................................. 5 A. B. C. Latar belakang ...................................................................................... 5 Manfaat .............................................................................................. 5 Tujuan ................................................................................................ 6
BAB II ......................................................................................................... 7 PERANCANGAN PROGRAM .................................................................................. 7 A. Pembahasan ......................................................................................... 7 1.a Definisi Sistem Operasi .......................................................................... 7 1.b Pengertian Visual Basic 2005 ................................................................... 7 1.c Kelebihan dan kekurangan Visual Basic 2005 ................................................ 7 1.d Pengertian Microsoft Access 2002 ............................................................. 7 1.e Kelebihan dan Kekurangan Microsoft Access 2002 .......................................... 8 B. Rancangan Database ............................................................................... 8 2.1 Struktur Tabel ..................................................................................... 8 2.2 Relationship Diagram ............................................................................10 C. Rancangan Interface ..............................................................................11 3.1 Splash Screen .....................................................................................11 3.2 Menu Utama ......................................................................................12 3.3 LogIn Form ........................................................................................13 3.4 Form Daftar Kaset ...............................................................................13 3.5 Form Pelanggan ..................................................................................14 3.6 Form Transaksi Peminjaman ...................................................................14 3.7 Form Transaksi Pengembalian .................................................................15 D. Coding (Kode Program) ...........................................................................15
A. B.
Daftar Pustaka..............................................................................................28
Page 4 of 28
BAB I PENDAHULUAN
A. Latar belakang
Pada era globalisasi seperti sekarang ini kebutuhan akan informasi menjadi semakin penting sehubungan dengan tujuan informasi yaitu menghasilkan sesuatu yang lebih berarti dan berguna demi mengambil keputusan secara cepat dan akurat. Microsoft berkonsentrasi dalam mengembangkan Microsoft .NET Framework 2.0, dan tentunya alat bantu untuk membangun program di atasnya. Hingga pada tahun 2005, mereka pun merilis versi terbaru dari Visual Basic .NET, yang kali ini disebut dengan Visual Basic 2005 (dengan membuang kata ".NET"), bersama-sama dengan beberapa aplikasi pengembangan lainnya. Untuk rilis 2005 ini, Microsoft menambahkan beberapa fitur baru, di antaranya adalah: Edit and Continue Fitur ini sebelumnya terdapat di dalam Visual Basic akan tetapi dihapus di dalam Visual Basic .NET. Dengan keberadaan fitur ini, para programmer dapat memodifikasi kode pada saat program dieksekusi dan melanjutkan proses eksekusi dengan kode yang telah dimodifikasi tersebut. Evaluasi ekspresi pada saat waktu desain. b. Munculnya Pseudo-NameSpace "My", yang menyediakan: o Akses yang mudah terhadap beberapa area tertentu dari dalam .NET Framework yang tanpanya membutuhkan kode yang sangat signifikan. o Kelas-kelas yang dibuat secara dinamis (khususnya My.Forms). c. Peningkatan yang dilakukan terhadap konverter kode sumber dari Visual Basic ke Visual Basic .NET. d. Penggunaan kata kunci (keyword) Using, yang menyederhanakan penggunaan objekobjek yang membutuhkan pola Dispose untuk membebaskan sumber daya yang sudah tidak terpakai. e. Just My Code, yang menyembunyikan kode reusable yang ditulis oleh alat bantu Intergrated Development Environment (IDE) Visual Studio .NET. f. Pengikatan sumber data (Data Source binding), yang mampu mempermudah pengembangan aplikasi Basis Data berbasis Klien/Server.
a.
Fungsi-fungsi yang tersebut di atas (khususnya My) ditujukan untuk memfokuskan Visual Basic .NET sebagai sebuah platform pengembangan aplikasi secara cepat dan "menjauhkannya" dari bahasa C#.
B. Manfaat
- Memberi informasi kepada pembaca mengenai bahasa pemrograman Visual Basic - Makalah ini diharapkan menjadi sumbangan pemikiran bagi para pembaca untuk mengembangkan bahasa pemrograman dimasa sekarang.
Page 5 of 28
C. Tujuan
- Untuk memenuhi tugas Tehnik Pemrograman.
- Untuk memberi pengetahuan kepada pembaca tentang bahasa pemograman Visual Basic 2005.
Page 6 of 28
1.d Pengertian Microsoft Access 2002 Microsoft Access merupakan salah satu software pengolah database yang berjalan dibawah sistem windows. Microsoft Access merupakan salah satu produk Page 7 of 28
Office dari Microsoft yang dapat menangani database dengan skala besar maupun kecil. Dalam pengolahan database, Microsoft Access ini memiliki sarana atau objekobjek yang dapat mempermudah pekerjaan bagi pengguna. Microsoft Access 2002 yang untuk selanjutnya disingkat Access 2002 merupakan salah satu program aplikasi basis data (database) paling lengkap dan canggih untuk saat ini, yang digunakan untuk merancang, membuat dan mengelola database secara lebih mudah. Software Access 2002 pada umumnya tergabung dalam paket software Microsoft Office 2002 yang tersimpan dalam CD-ROM.
1.e Kelebihan dan Kekurangan Microsoft Access 2002 Kelebihan : Salah satu keunggulan Microsoft Access dilihat dari perspektif programmer adalah kompatibilitasnya dengan bahasa pemrograman Structured Query Language (SQL). Para pengguna dapat mencampurkan dan menggunakan kedua jenis bahasa tersebut (VBA dan Macro) untuk memprogram form dan logika dan juga untuk mengaplikasikan konsep berorientasi objek. Kekurangan : Microsoft Access kurang begitu bagus jika diakses melalui jaringan sehingga aplikasi-aplikasi yang digunakan oleh banyak pengguna cenderung menggunakan solusi sistem manajemen basis data yang bersifat klien atau server.
B. Rancangan Database
2.1 Struktur Tabel Nama Database :data_kaset Keterangan : * : Primary Key (PK)
Data Type
Page 8 of 28
c. Tabel Pelanggan Field Name Data Type *ID_pelanggan Text Nama_Pelanggan Text Jenis Kelamin Text Alamat Text Kota Text Email Text Telepon Text
e. Tabel Transaksi Pengembalian Field Name Data Type *Kode_Pengembalian Text Tgl_Pengembalian Text Harga Number Lama_Peminjaman Number Total Number Kode_Kaset Text Kode_Peminjaman Text ID_Pelanggan Text
Page 9 of 28
2.2 Relationship Diagram Berikut ini adalah bentuk relationship diagram dari DBRental_Kaset
Page 10 of 28
C. Rancangan Interface
Berikut ini adalah Rancangan interface dari Program Aplikasi Rental_Kaset:
Page 11 of 28
Page 12 of 28
Page 13 of 28
Page 14 of 28
Page 15 of 28
Private Sub frPeminjaman_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim dc(1) As DataColumn Try dakaset = New OleDb.OleDbDataAdapter("select * from TBKaset", con) dakaset.Fill(dtkaset) dc(0) = dtkaset.Columns("Kode_Kaset") dtkaset.PrimaryKey = dc With lstKode_Kaset .DataSource = dtkaset .DisplayMember = "Kode_Kaset" .ValueMember = "Kode_Kaset" End With dadatapelanggan = New OleDb.OleDbDataAdapter("select * from TBPelanggan", con) dadatapelanggan.Fill(dtdatapelanggan) dc(0) = dtdatapelanggan.Columns("ID_Pelanggan") dtdatapelanggan.PrimaryKey = dc With lstID_Pelanggan .DataSource = dtdatapelanggan .DisplayMember = "ID_Pelanggan" .ValueMember = "ID_Pelanggan" End With dakodepeminjaman = New OleDb.OleDbDataAdapter("select * from TBPeminjaman", con) dakodepeminjaman.Fill(dtkodepeminjaman) dc(0) = dtkodepeminjaman.Columns("Kode_Peminjaman") dtkodepeminjaman.PrimaryKey = dc
Catch errConn As OleDb.OleDbException MsgBox(errConn.Message) End Try End Sub Private Sub btnKosong_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKosong.Click kosong() End Sub Private Sub kosong() txtKode_Peminjaman.Text = "" txtTglPeminjaman.Text = "" txtLamaPeminjaman.Text = "" txtBanyaknyaKaset.Text = "" txtKode_Peminjaman.Focus() End Sub Private Sub btnCari_Click(ByVal sender As System.Object, ByVal e As
Page 16 of 28
System.EventArgs) Handles btnCari.Click Try drkodePeminjaman = dtkodepeminjaman.Rows.Find(txtKode_Peminjaman.Text) txtKode_Peminjaman.Text = drkodePeminjaman("Kode_Peminjaman").ToString txtTglPeminjaman.Text = drkodePeminjaman("Tgl_Peminjaman").ToString txtLamaPeminjaman.Text = drkodePeminjaman("Lama_Peminjaman").ToString txtBanyaknyaKaset.Text = drkodePeminjaman("Banyaknya_Kaset").ToString
lstID_Pelanggan.Text = drkodePeminjaman("ID_Pelanggan").ToString lstKode_Kaset.Text = drkodePeminjaman("kode_Kaset").ToString Catch errCari As Exception MsgBox(errCari.Message) End Try End Sub Private Sub lstKode_Kaset_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstKode_Kaset.SelectedIndexChanged Try Dim drkaset As DataRow drkaset = dtkaset.Rows.Find(lstKode_Kaset.Text) cbxJenisKaset.Text = drkaset("Jenis_Kaset").ToString txtJudul_Film.Text = drkaset("Judul_Film").ToString Catch errTampil As Exception End Try End Sub Private Sub btnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHapus.Click Try Dim cbhapus As OleDb.OleDbCommandBuilder = New OleDb.OleDbCommandBuilder(dakodepeminjaman) drkodePeminjaman.Delete() dakodepeminjaman.DeleteCommand = cbhapus.GetDeleteCommand dakodepeminjaman.Update(dtkodepeminjaman) dtkodepeminjaman.AcceptChanges()
Page 17 of 28
dakodepeminjaman.DeleteCommand.Connection.Close() Catch errHapus As Exception MsgBox(errHapus.Message) End Try kosong() End Sub Private Sub btnTambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTambah.Click Try Dim cbTambah As OleDb.OleDbCommandBuilder = New OleDb.OleDbCommandBuilder(dakodepeminjaman) drkodePeminjaman = dtkodepeminjaman.NewRow drkodePeminjaman("Kode_Peminjaman") = txtKode_Peminjaman.Text drkodePeminjaman("Tgl_Peminjaman") = txtTglPeminjaman.Text drkodePeminjaman("Lama_Peminjaman") = Val(txtLamaPeminjaman.Text) drkodePeminjaman("Banyaknya_Kaset") = Val(txtBanyaknyaKaset.Text)
drkodePeminjaman("ID_Pelanggan") = lstID_Pelanggan.Text drkodePeminjaman("Kode_Kaset") = lstKode_Kaset.Text dtkodepeminjaman.Rows.Add(drkodePeminjaman) con.Open() dakodepeminjaman.Update(dtkodepeminjaman) dtkodepeminjaman.AcceptChanges() con.Close() Catch errTambah As Exception MsgBox(errTambah.Message) End Try kosong() End Sub Private Sub btnSelesai_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSelesai.Click Me.Close() End Sub Private Sub lstID_Pelanggan_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstID_Pelanggan.SelectedIndexChanged Try Dim drdatapelanggan As DataRow
Page 18 of 28
drdatapelanggan = dtdatapelanggan.Rows.Find(lstID_Pelanggan.Text) cbxNama_Pelanggan.Text = drdatapelanggan("Nama_Pelanggan").ToString txtJenis_Kelamin.Text = drdatapelanggan("Jenis_Kelamin").ToString txtAlamat.Text = drdatapelanggan("Alamat").ToString txtEmail.Text = drdatapelanggan("Email").ToString txtTelepon.Text = drdatapelanggan("Telepon").ToString Catch errTampil As Exception End Try End Sub Private Sub btnCheck_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCheck.Click Try drkodePeminjaman = dtkodepeminjaman.Rows.Find(txtKode_Peminjaman.Text) If (txtKode_Peminjaman.Text = drkodePeminjaman("Kode_Peminjaman")) Then MsgBox("Kode_Peminjaman Sudah terdaftar", MsgBoxStyle.Information) txtKode_Peminjaman.Text = "" txtKode_Peminjaman.Focus() Else txtKode_Peminjaman.Focus() End If Catch errCari As Exception txtTglPeminjaman.Focus() End Try End Sub End Class
Public Class fmPengembalian Dim dakaset As OleDb.OleDbDataAdapter Dim dakodepeminjaman As OleDb.OleDbDataAdapter Dim dadatapelanggan As OleDb.OleDbDataAdapter Dim dakodepengembalian As OleDb.OleDbDataAdapter Dim con As New OleDb.OleDbConnection(Koneksi("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\semester 3\VB.Net\Tugas_Akhir VB\Tugas_RentalKaset\Tugas_RentalKaset\Data_Kaset.mdb")) Dim dtkaset As New DataTable() Dim dtdatapelanggan As New DataTable() Dim dtkodepeminjaman As New DataTable() Dim dtkodepengembalian As New DataTable() Dim drdatapelanggan As DataRow Dim drkaset As DataRow Dim drkodePeminjaman As DataRow Dim drkodepengembalian As DataRow
Page 19 of 28
Function Koneksi(ByVal strDatabase As String) As String Dim kalimat As String kalimat = "Provider=Microsoft.Jet.OLEDB.4.0;" kalimat &= "Data Source=" & strDatabase & "" Return kalimat End Function Private Sub frPengembalian_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim dc(1) As DataColumn Try dakaset = New OleDb.OleDbDataAdapter("select * from TBKaset", con) dakaset.Fill(dtkaset) dc(0) = dtkaset.Columns("Kode_Kaset") dtkaset.PrimaryKey = dc With lstKode_Kaset .DataSource = dtkaset .DisplayMember = "Kode_Kaset" .ValueMember = "Kode_Kaset" End With dadatapelanggan = New OleDb.OleDbDataAdapter("select * from TBPelanggan", con) dadatapelanggan.Fill(dtdatapelanggan) dc(0) = dtdatapelanggan.Columns("ID_Pelanggan") dtdatapelanggan.PrimaryKey = dc With lstID_Pelanggan .DataSource = dtdatapelanggan .DisplayMember = "ID_Pelanggan" .ValueMember = "ID_Pelanggan" End With dakodepeminjaman = New OleDb.OleDbDataAdapter("select * from TBPeminjaman", con) dakodepeminjaman.Fill(dtkodepeminjaman) dc(0) = dtkodepeminjaman.Columns("Kode_Peminjaman") dtkodepeminjaman.PrimaryKey = dc With lstKode_Peminjaman .DataSource = dtkodepeminjaman .DisplayMember = "Kode_Peminjaman" .ValueMember = "Kode_Peminjaman" End With dakodepengembalian = New OleDb.OleDbDataAdapter("select * from TBPengembalian", con) dakodepengembalian.Fill(dtkodepengembalian) dc(0) = dtkodepengembalian.Columns("Kode_Pengembalian") dtkodepengembalian.PrimaryKey = dc Catch errConn As OleDb.OleDbException MsgBox(errConn.Message)
Page 20 of 28
End Try End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKosong.Click kosong() End Sub Private Sub kosong() txtKodePengembalian.Text = "" txtTglPengembalian.Text = "" cbxHarga.Text = "" txtDenda.Text = "" txtTotal.Text = "" txtKodePengembalian.Text = "" txtKodePengembalian.Focus() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCari.Click Try drkodepengembalian = dtkodepengembalian.Rows.Find(txtKodePengembalian.Text) txtKodePengembalian.Text = drkodepengembalian("Kode_Pengembalian").ToString txtTglPengembalian.Text = drkodepengembalian("Tgl_Pengembalian").ToString cbxHarga.Text = drkodepengembalian("Harga").ToString cbxLama.Text = drkodepengembalian("Lama_Peminjaman").ToString txtTotal.Text = drkodepengembalian("Total").ToString lstKode_Peminjaman.Text = drkodepengembalian("Kode_Peminjaman").ToString lstID_Pelanggan.Text = drkodepengembalian("ID_Pelanggan").ToString lstKode_Kaset.Text = drkodepengembalian("Kode_Kaset").ToString Catch errCari As Exception MsgBox(errCari.Message) End Try End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHapus.Click Try Dim cbhapus As OleDb.OleDbCommandBuilder = New OleDb.OleDbCommandBuilder(dakodepeminjaman) drkodepengembalian.Delete() dakodepengembalian.DeleteCommand = cbhapus.GetDeleteCommand dakodepengembalian.Update(dtkodepengembalian) dtkodepengembalian.AcceptChanges()
Page 21 of 28
dakodepengembalian.DeleteCommand.Connection.Close() Catch errHapus As Exception MsgBox(errHapus.Message) End Try kosong() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTambah.Click Try Dim cbTambah As OleDb.OleDbCommandBuilder = New OleDb.OleDbCommandBuilder(dakodepengembalian) drkodepengembalian = dtkodepengembalian.NewRow drkodepengembalian("Kode_Pengembalian") = txtKodePengembalian.Text drkodepengembalian("Tgl_Pengembalian") = txtTglPengembalian.Text drkodepengembalian("Harga") = Val(cbxHarga.Text) drkodepengembalian("Lama_Peminjaman") = Val(cbxLama.Text) drkodepengembalian("Total") = Val(txtTotal.Text)
dtkodepengembalian.Rows.Add(drkodepengembalian) con.Open() dakodepengembalian.Update(dtkodepeminjaman) dtkodepengembalian.AcceptChanges() con.Close() Catch errTambah As Exception MsgBox(errTambah.Message) End Try kosong() End Sub Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSelesai.Click Me.Close() End Sub Private Sub txtDenda_TextChanged(ByVal sender As System.Object, ByVal
Page 22 of 28
e As System.EventArgs) Handles txtDenda.TextChanged Dim harga, denda, total, lama As Decimal harga = Val(cbxHarga.Text) denda = Val(txtDenda.Text) lama = Val(cbxLama.Text) total = harga * lama - denda txtTotal.Text = total End Sub Private Sub lstKode_Kaset_SelectedIndexChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstKode_Kaset.SelectedIndexChanged Try Dim drkaset As DataRow drkaset = dtkaset.Rows.Find(lstKode_Kaset.Text) cbxJenisKaset.Text = drkaset("Jenis_Kaset").ToString txtJudul_Film.Text = drkaset("Judul_Film").ToString Catch errTampil As Exception End Try End Sub Private Sub lstID_Pelanggan_SelectedIndexChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstID_Pelanggan.SelectedIndexChanged Try Dim drdatapelanggan As DataRow drdatapelanggan = dtdatapelanggan.Rows.Find(lstID_Pelanggan.Text) cbxNama_Pelanggan.Text = drdatapelanggan("Nama_Pelanggan").ToString txtEmail.Text = drdatapelanggan("Email").ToString txtTelepon.Text = drdatapelanggan("Telepon").ToString Catch errTampil As Exception End Try End Sub Private Sub lstKode_Peminjaman_SelectedIndexChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstKode_Peminjaman.SelectedIndexChanged Try Dim drkodePeminjaman As DataRow drkodePeminjaman = dtkodepeminjaman.Rows.Find(lstKode_Peminjaman.Text) txtTgl_Peminjaman.Text = drkodePeminjaman("Tgl_Peminjaman").ToString
Page 23 of 28
txtBanyak_Kaset.Text = drkodePeminjaman("Banyaknya_Kaset").ToString Catch errTampil As Exception End Try End Sub Private Sub btnCheck_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCheck.Click Try drkodepengembalian = dtkodepengembalian.Rows.Find(txtKodePengembalian.Text) If (txtKodePengembalian.Text = drkodepengembalian("Kode_Pengembalian")) Then MsgBox("Kode_Pengembalian Sudah terdaftar", MsgBoxStyle.Information) txtKodePengembalian.Text = "" txtKodePengembalian.Focus() Else txtKodePengembalian.Focus() End If Catch errCari As Exception txtTglPengembalian.Focus() End Try End Sub End Class
Page 24 of 28
Page 25 of 28
Page 26 of 28
B. Saran
Diharapkan Makalah ini berguna dan dapat menjadi sarana pembelajar oleh pembaca, semoga pembaca menjadi lebih paham mengenai database dan aplikasi lain pendukungnya. Selain memahami database yang ada pada makalah ini, diharapkan pembaca juga bisa memperoleh informasi dari sumber-sumber lain yang membantu dalam mempelajari database dan aplikasi visual studio. Aplikasi visual studio 2005 dirancang agar lebih mudah di pelajari dan dipakai dalam aplikasi-aplikasi yang akan dibuat sesuai dengan kebutuhan tidak hanya database saja, tapi pembuatan aplikasi lainnya.
Page 27 of 28
Daftar Pustaka
Page 28 of 28