laporan praktikum visual basic

Upload: annisa-gatri

Post on 19-Oct-2015

113 views

Category:

Documents


0 download

DESCRIPTION

tentang database dan visual basic

TRANSCRIPT

LAPORAN PRAKTIKUM KE-3PEMROGRAMAN VISUAL 2

Disusun oleh :Annisa Gatri Zakinah12520241048

Kelas F-1Pendidikan Teknik InformatikaFakultas TeknikUniversitas Negeri Yogyakarta2013Pegawai.mdbSintakPenjelasan dan Capture

Dim dbPegawai As DatabaseDim rsBiodata As RecordsetMendeklarasikan dbPegawai sebagai database dan rsBiodata sebagai recordset

Private Sub cmdBatal_Click() txtNip.Text = "" Kosongkan txtNip.SetFocus SetKondisi (False) cmdSimpan.Enabled = False cmdBatal.Enabled = False cmdUbah.Enabled = FalseEnd SubSintak untuk button Batal.Setelah button Batal diklik, textbox pada NIP dikosongkan, kursor diletakkan pada textbox NIP, nama, alamat,jenis kelamin, agama dikosongkan, objek pada SetKondisi bernilai False yang artinya tidak aktif, button simpan, button, batal dan button ubah juga bernilai false.

Private Sub cmdCek_Click() rsBiodata.Seek "=", txtNip.Text If nCek(txtNip.Text) 4 Then MsgBox "NIP yang Anda masukkan kurang dari atau lebih dari 4 digit!", vbCritical + vbOKOnly, "Perhatian" txtNip.SetFocus End If If rsBiodata.NoMatch Then Kosongkan SetKondisi (True) cmdSimpan.Enabled = True cmdBatal.Enabled = True Else cmdHapus.Enabled = True cmdUbah.Enabled = True cmdSimpan.Enabled = True cmdBatal.Enabled = True cmdUbah.SetFocus txtNip.Text = rsBiodata!NIP txtNama.Text = rsBiodata!Nama txtAlamat.Text = rsBiodata!Alamat txtTglLahir.Text = rsBiodata!Tgl_Lahir If rsBiodata!Sex = True Then optPria.Value = True Else optWanita.Value = True End If Select Case rsBiodata!Agama Case "I" optIslam.Value = True Case "K" optKristen.Value = True Case "A" optKatolik.Value = True Case "H" optHindu.Value = True Case "B" optBudha.Value = True End Select End IfEnd SubSintak untuk mencari atau mengecek nip yang telah dimasukkan.Setelah memasukkan nip, maka program akan mengecek apakah nip yang dimasukkan ada dalam tabel pada database yang digunakan atau tidak. Jika nip yang dimasukkan kurang dari atau lebih dari 4 digit, maka akan keluar pesan kesalahan kemudian kursor akan diletakkan di textbox nip.

Setelah nip yang dimasukkan tadi dibandingkan dengan nip yang ada dalam database dan ternyata hasilnya tidak ada yang sama, maka setkondisi bernilai true yang artinya mengaktifkan kolom-kolom yang bisa diisi dan mengosonginya, selain itu button simpan, tutup, dan button batal bernilai true.

Jika hasil dari perbandingan tadi ada yang sama, berarti data ditemukan dan program akan menampilkan semua data yang ada dari nim tersebut kemudian mengaktifkan semua button yang ada.

Private Sub cmdHapus_Click() If MsgBox("Anda yakin?", vbYesNo + vbQuestion, "Konfirmasi") = vbYes Then rsBiodata.Delete End IfEnd SubSintak untuk menghapus data.Setelah memilih button hapus maka akan muncul pesan yang berisi pertanyaan apakah Anda yakin untuk menghapus data yang sedang aktif atau ditampilkan?

Jika user memilih Yes maka data yang sedang aktif akan dihapus, jika memilih tidak maka akan kembali ke form.

Private Sub cmdSimpan_Click() If nCek(txtNip.Text) = 0 Then MsgBox "Data NIP belum diisi!", vbCritical + vbOKOnly, "Perhatian" txtNip.SetFocus End If rsBiodata.Index = "NIP" rsBiodata.Seek "=", txtNip.Text If rsBiodata.NoMatch Then rsBiodata.AddNew Tampilkan rsBiodata.Update Else rsBiodata.Edit Tampilkan rsBiodata.Update End If Kosongkan txtNip.Text = "" txtNip.SetFocus SetKondisi (False) cmdHapus.Enabled = False cmdSimpan.Enabled = False cmdBatal.Enabled = False cmdUbah.Enabled = FalseEnd SubSintak untuk menyimpan data yang telah dimasukkan atau diedit.Jika user memilih button Simpan tetapi textbox nip masih kosong, maka program akan menampilkan pesan peringatan.

Jika nip yang dimasukkan kemudian setelah dibandingkan tidak terdapat nip yang sama dengan yang ada pada database, maka data yang dimasukkan tadi akan disimpan sebagai data yang baru pada database. Jika ternyata data yang akan disimpan sudah ada pada database, maka data yang masuk akan mengganti atau mengupdate data sebelumnya yang mempunyai nip yang sama.Setelah menyimpan data, program akan mengosongkan textbox nip, nama, alamat dan menonaktifkan teksbox tgl_lahir, option button jenis kelamin dan agama, semua button kecuali button tutup dan cek.

Private Sub cmdTutup_Click() If MsgBox("Anda yakin akan mengakhiri form ini?", vbQuestion + vbYesNo, "Konfirmasi") = vbYes Then Unload Me End IfEnd SubSintak untuk menutup form.Setelah memilih button tutup, maka akan ditampilkan pesan yang berisi pertanyaan apakah user akan menutup form yang sedang aktif atau tidak, jika memilih Yes maka user akan keluar dari form yang aktif, jika No maka user akan tetap berada pada form yang aktif.

Private Sub cmdUbah_Click() SetKondisi (True) txtNama.SetFocus cmdSimpan.Enabled = TrueEnd SubSintak untuk mengubah data yang telah dimasukkan.Setkondisi bernilai true yang artinya diaktifkan. Kursor diletakkan pada textbox nama dan button simpan diaktifkan.

Private Sub Form_Load() Set dbPegawai = OpenDatabase(App.Path + "\Pegawai.mdb") Set rsBiodata = dbPegawai.OpenRecordset("Biodata") rsBiodata.Index = "NIP" SetKondisi (False) cmdSimpan.Enabled = False cmdBatal.Enabled = False cmdUbah.Enabled = False cmdHapus.Enabled = FalseEnd SubSintak pada form.Setiap kali form dijalankan, maka ini akan selalu dieksekusi terlebih dahulu.Membuka database dengan perintah Set dbPegawai = OpenDatabase(App.Path + "\Pegawai.mdb") dan menetapkan nama tabel yang digunakan pada database pegawai yaitu Biodata.Setkondisi bernilai false dan button simpan, batal, ubah, dan hapus bernilai false.

Private Sub Kosongkan() Dim tangal As Date txtNama.Text = "" txtAlamat.Text = "" txtTglLahir.Text = DateEnd SubSintak untuk mengosongkan kolom-kolom untuk dapat diisi dengan data yang baru tanpa harus menghapusnya.

Private Sub SetKondisi(Logika As Boolean) txtNama.Enabled = Logika txtAlamat.Enabled = Logika txtTglLahir.Enabled = Logika optPria.Enabled = Logika optWanita.Enabled = Logika optIslam.Enabled = Logika optKristen.Enabled = Logika optKatolik.Enabled = Logika optHindu.Enabled = Logika optBudha.Enabled = LogikaEnd SubSintak untuk men-setting kondisi (true atau false) pada setiap kolom termasuk option button sesuai keinginan dan keperluan dengan parameter Logika.

Private Sub Tampilkan() rsBiodata!NIP = txtNip.Text rsBiodata!Nama = txtNama.Text rsBiodata!Alamat = txtAlamat.Text rsBiodata!Tgl_Lahir = txtTglLahir.Text If optPria.Value = True Then rsBiodata!Sex = True Else rsBiodata!Sex = False End If If optIslam.Value = True Then rsBiodata!Agama = "I" ElseIf optKristen.Value = True Then rsBiodata!Agama = "K" ElseIf optKatolik.Value = True Then rsBiodata!Agama = "A" ElseIf optHindu.Value = True Then rsBiodata!Agama = "H" ElseIf optBudha.Value = True Then rsBiodata!Agama = "B" End IfEnd SubSintak untuk menampilkan data yang ada pada database kedalam kolom-kolom yang ada pada form. Untuk kolom jenis kelamin dan agama yang menggunakan option button bisa dengan menggunakan kondisi ifElse untuk membandingkan antara data pada database dengan kondisi yang diberikan.

Function nCek(nKar As String) As Integer nCek = Len(nKar)End FunctionFungsi untuk menghitung karakter pada textbox.

Tugas3.mdbSintakPenjelasan dan Capture

Dim dbKonsultasi As DatabaseDim rsKonsultasi As RecordsetMendeklarasikan dbKonsultasi sebagai database dan rsKonsultasi sebagai recordset

Private Sub cmdKeluhan_Click() cboMasalah.Enabled = True cmdSimpan.Enabled = True SetKondisi (False) txtSolusi.Enabled = FalseEnd SubSintak untuk button Edit Keluhan.Setelah memilih button edit keluhan maka combobox pada keluhan/masalah akan diaktifkan dan button simpan akan diaktifkan.Namun untuk mengaktifkan button Edit Keluhan, user harus mencari terlebih dahulu data mahasiswa berdasarkan nim.

Private Sub cmdSimpan_Click() If nCek(txtSolusi.Text) > 50 Then MsgBox "Karakter yang Anda masukkan lebih dari 50 Karakter!", vbCritical + vbOKOnly, "Perhatian" txtSolusi.Enabled = True txtSolusi.SetFocus End If If nCek(txtNim.Text) = 0 Then MsgBox "Data NIM belum diisi!", vbCritical + vbOKOnly, "Perhatian" txtNim.SetFocus End If rsKonsultasi.Index = "NIM" rsKonsultasi.Seek "=", txtNim.Text If rsKonsultasi.NoMatch Then rsKonsultasi.AddNew Tampilkan rsKonsultasi.Update Else rsKonsultasi.Edit Tampilkan rsKonsultasi.Update End If Kosongkan txtNim.Text = "" txtNim.SetFocus SetKondisi (False) cboMasalah.Enabled = False txtSolusi.Enabled = False cmdHapus.Enabled = False cmdSimpan.Enabled = False cmdBatal.Enabled = False cmdUbah.Enabled = False cmdKeluhan.Enabled = False cmdSolusi.Enabled = FalseEnd SubSintak untuk menyimpan data.Jika jumlah karakter pada textbox solusi lebih dari 50 maka akan ditampilkan pesan kesalahan kemudian kursor akan diletakkan pada textbox solusi dan textbox solusi akan diaktifkan.

Jika nim belum diisi maka akan muncul pesan kesalahan dan kursor akan diletakkan pada textbox nim.

Men-setting NIM sebagai index dan isi datanya pada txtNIM.Jika nim yang dimasukkan tidak ada yang sama dengan nim yang ada pada database, maka data yang diisi tadi akan dimasukkan sebagai data yang baru dengan memanggil konstruktor Tampilkan.Jika nim yang dimasukkan sama dengan salah satu nim yang sudah ada pada database maka data dari nim tadi akan disimpan sebagai data yang telah diupdate atau mengganti data sebelumnya.Setelah penyimpanan data selesai, pada form semua kolom akan dikosongkan kecuali kolom tanggal, kursor diletakkan pada textbox NIM, dan semua button dinonaktifkan kecuali button cari dan keluar.

Private Sub cmdKeluar_Click() If MsgBox("Anda yakin akan mengakhiri form ini?", vbQuestion + vbYesNo, "Konfirmasi") = vbYes Then Unload Me End IfEnd SubSintak untuk keluar dari form yang sedang aktif.Setelah memilih button keluar, akan muncul pesan yang berisi pertanyaan. Jika memilih Yes maka akan keluar dari form, jika memilih No maka akan kembali ke form yang aktif.

Private Sub cmdSolusi_Click() txtSolusi.Enabled = True txtSolusi.SetFocus cmdSimpan.Enabled = True SetKondisi (False) cboMasalah.Enabled = FalseEnd SubSintak untuk button Edit Solusi.Setelah button edit solusi dipilih, maka textbox solusi akan aktif, kursor diletakkan pada kolom solusi, dan button simpan akan diaktifkan.Namun untuk mengaktifkan button edit solusi, user perlu mencari dahulu nim yang akan diedit pada kolom solusi.

Private Sub cmdUbah_Click() SetKondisi (True) txtNama.SetFocus cmdSimpan.Enabled = True txtSolusi.Enabled = False cboMasalah.Enabled = FalseEnd SubSintak untuk mengubah data yang telah disimpan di database.Setelah memilih button Ubah data, setkondisi bernilai true, kursor diletakkan pada textbox nama, dan button simpan akan diaktifkan.Ubah data ini khusus untuk mengedit data tanggal, nim, nama, kelas, program studi, nip, dan nama dosen PA.

Sedangkan untuk mengedit keluhan/masalah dan solusi bisa menggunakan button edit keluhan dan button edit solusi.

Private Sub Form_Load() Set dbKonsultasi = OpenDatabase(App.Path + "\Tugas3.mdb") Set rsKonsultasi = dbKonsultasi.OpenRecordset("Konsultasi") rsKonsultasi.Index = "NIM" SetKondisi (False) cboMasalah.Enabled = False txtSolusi.Enabled = False cmdSimpan.Enabled = False cmdBatal.Enabled = False cmdUbah.Enabled = False cmdHapus.Enabled = False cmdKeluhan.Enabled = False cmdSolusi.Enabled = False cboMasalah.AddItem "Nilai Belum Keluar" cboMasalah.AddItem "IPK Menurun" cboMasalah.AddItem "Terlambat Mengisi KRS" cboMasalah.AddItem "Belum Terealisasi Program Kunjungan ke Luar Negeri" cboMasalah.AddItem "Dosen Sering Tidak Masuk" cboMasalah.AddItem "(Masalah Baru)"End SubSintak pada form.Setiap kali form dijalankan, maka ini akan selalu dieksekusi terlebih dahulu.Membuka database dengan perintah Set dbKonsultasi = OpenDatabase(App.Path + "\Tugas3.mdb") dan menetapkan nama tabel yang digunakan pada database pegawai yaitu Konsultasi.Setkondisi bernilai false, combobox masalah dinonaktifkan, textbox solusi dinonaktifkan, dan semua button dinonaktifkan kecuali button cari dan keluar.

cboMasalah.AddItem untuk mengisi list dari combobox.

Private Sub Kosongkan() Dim tangal As Date txtNama.Text = "" txtKelas.Text = "" txtTanggal.Text = Date txtProdi.Text = "" txtNip.Text = "" txtNamaDosen = "" cboMasalah.Text = "" txtSolusi.Text = ""End SubUntuk mengosongkan semua kolom yang ada kecuali kolom nim dan mengeset tanggal sesuai tanggal hari ini (kapan program dijalankan).

Private Sub SetKondisi(Logika As Boolean) txtNama.Enabled = Logika txtKelas.Enabled = Logika txtProdi.Enabled = Logika txtNip.Enabled = Logika txtNamaDosen.Enabled = Logika txtTanggal.Enabled = LogikaEnd SubUntuk mengubah-ubah kondisi beberapa kolom yang diinginkan dalam kondisi aktif atau tidak aktif.

Private Sub Tampilkan() rsKonsultasi!NIP = txtNip.Text rsKonsultasi!Nama = txtNama.Text rsKonsultasi!NIM = txtNim.Text rsKonsultasi!Kelas = txtKelas.Text rsKonsultasi!Prodi = txtProdi.Text rsKonsultasi!Nama_Dosen = txtNamaDosen.Text rsKonsultasi!Solusi = txtSolusi.Text rsKonsultasi!Tanggal = txtTanggal.Text rsKonsultasi!Keluhan = cboMasalah.TextEnd SubUntuk menampilkan data yang tersimpan pada database ke dalam kolom-kolom dalam form yang ada.

Private Sub cmdBatal_Click() txtNim.Text = "" Kosongkan txtNim.SetFocus txtTanggal.Text = "" SetKondisi (False) cmdSimpan.Enabled = False cmdBatal.Enabled = False cmdUbah.Enabled = False cmdKeluhan.Enabled = False cmdSolusi.Enabled = False cmdHapus.Enabled = FalseEnd SubSintak untuk button Batal.Setelah memilih button batal, maka semua kolom akan dikosongkan dan semua button akan dinonaktifkan kecuali button cari dan keluar.

Private Sub cmdCari_Click() rsKonsultasi.Seek "=", txtNim.Text If nCek(txtNim.Text) 11 Then MsgBox "NIM yang Anda masukkan kurang dari atau lebih dari 11 digit!", vbCritical + vbOKOnly, "Perhatian" txtNim.SetFocus End If If rsKonsultasi.NoMatch Then MsgBox "Data yang Anda Cari tidak ditemukan!", vbOKOnly, "Perhatian" Kosongkan SetKondisi (True) txtNama.SetFocus cmdSimpan.Enabled = True cmdBatal.Enabled = True cboMasalah.Enabled = True Else cmdHapus.Enabled = True cmdUbah.Enabled = True cmdSimpan.Enabled = True cmdBatal.Enabled = True cmdKeluhan.Enabled = True cmdSolusi.Enabled = True cmdUbah.SetFocus txtNim.Text = rsKonsultasi!NIM txtNama.Text = rsKonsultasi!Nama txtKelas.Text = rsKonsultasi!Kelas txtProdi.Text = rsKonsultasi!Prodi txtNip.Text = rsKonsultasi!NIP txtNamaDosen.Text = rsKonsultasi!Nama_Dosen txtTanggal.Text = rsKonsultasi!Tanggal txtSolusi.Text = rsKonsultasi!Solusi cboMasalah.Text = rsKonsultasi!Keluhan End IfEnd SubSintak untuk mencari data.Sebelum memilih button cari, user harus memasukkan nim yang akan dicari ke dalam textbox nim. Jika nim kurang dari atau lebih dari 11 digit, maka akan muncul pesan kesalahan dan kursor diletakkan pada kolom nim.

Jika nim yang dimasukkan sudah 11 digit, maka program akan membandingkannya dengan nim yang sudah tersimpan di database, jika tidak ada yang sama maka data tidak akan ditampilkan, hanya tanggal dan nim yang tampil, dan button simpan, cari, batal, dan keluar akan diaktifkan.

Jika hasil dari perbandingan tadi ada yang sama, maka akan ditampilkan data dari nim yang dicari tersebut pada form.

Private Sub cboMasalah_Click() Dim Masalah As String Masalah = cboMasalah.List(cboMasalah.ListIndex) Select Case Masalah Case "Nilai Belum Keluar" txtSolusi.Text = "Tunggu Seminggu Lagi" Case "IPK Menurun" txtSolusi.Text = "Tingkatkan Belajarmu." Case "Terlambat Mengisi KRS" txtSolusi.Text = "Hubungi di Bagian Jurusan." Case "Belum Terealisasi Program Kunjungan ke Luar Negeri" txtSolusi.Text = "Hubungi Bagian Jurusan." Case "Dosen Sering Tidak Masuk" txtSolusi.Text = "Lapor ke Bagian Jurusan." Case Else txtSolusi.Text = "(Belum Ada Jawaban!)" End SelectEnd SubSintak combobox Masalah.Di sini diberikan beberapa pilihan masalah/keluhan yang sudah terdapat solusinya dan akan muncul setelah user memilih salah satu dari pilihan yang ada. Jika user memilih pilihan (Masalah Baru) maka akan muncul solusi "(Belum Ada Jawaban!)" karena itu artinya user memasukkan keluhan/masalah sesuai keinginannya atau tidak ada pada pilihan yang ada.

Private Sub cmdHapus_Click() If MsgBox("Anda yakin?", vbYesNo + vbQuestion, "Konfirmasi") = vbYes Then rsKonsultasi.Delete Kosongkan txtNim.Text = "" txtTanggal.Text = "" End IfEnd SubSintak untuk menghapus data.Setelah memilih button hapus maka akan muncul pesan yang berisi pertanyaan apakah Anda yakin untuk menghapus data yang sedang aktif atau ditampilkan?

Jika Yes maka data yang sedang aktif akan dihapus, jika No maka user akan kembali ke form yang aktif. Kemudian setelah data dihapus, semua kolom akan dikosongkan dan semua button akan diaktifkan.

Function nCek(nKar As String) As Integer nCek = Len(nKar)End FunctionFungsi untuk menghitung karakter yang telah dimasukkan user.