laporan praktikum visual basic 2 (vb) pertemuan 4
DESCRIPTION
heheTRANSCRIPT
Laporan Pemrograman Visual Basic 2
Lanjutan Pertemuan 4
Dosen pengampu: Dessy Irmawati, S.T., M.T.
Oleh:
Nama : M. Luthfi Hakim
NIM : 13520241054
Kelas : F.1
Pendidikan Teknik Informatika
Pendidikan Teknik Elektronika
Fakultas Teknik
Universitas Negeri Yogyakarta
2015
Latihan
No Sintak Penjelasan Capture
1. Dim dbPegawai As Database
Dim rsBiodata As Recordset
Pendeklarasian dbpegawai sebagai Database dan rsBiodata sebagai recordsource
2. Private Sub cmdTutup_Click()
Unload Me
End Sub
Method cmdTutup ketika diklik.
Akan keluar dari program.
3. Private Sub Form_Load()
Set dbPegawai = OpenDatabase("E:\smt 4\Visual Basic 2\pertemuan 4\pegawai.mdb")
Set rsBiodata = dbPegawai.OpenRecordset("Biodata")
Kosongkan
SetKondisi (False)
End Sub
Method form
Membuat dbPegawai dengan membuka database di direktori tersebut.
Membuat rsBiodata di dalam database pegawai dan di recordset Biodata.
Memanggil method kosongkan.
Membuat method SetKondisi menjadi False.
4. Private Sub Form_Active()
Set rsBiodata = dbPegawai.OpenRecordset("Biodata")
If rsBiodata.RecordCount > 0 Then
rsBiodata.MoveFirst
Do While Not rsBiodata.EOF
cboNIP.AddItem rsBiodata!NIP
rsBiodata.MoveNext
Loop
Method Form active.
Menyesuaikan rsBiodata di database pegawai dan di recordsource Biodata.
Apabila rsBiodata melakukan penghitungan record apabila lebih dari 0 maka rsBiodata mengalihkan ke data pertama lalu rsBiodata tidak melakukan perpindahan data awal ke akhir.
Menambahkan data di cboNIP yang diambil dari rsBiodata!NIP.
End If
End Sub
rsBiodata melakukan lanjutan pindah data selanjutnya dan mengulang.
5. Private Sub Kosongkan()
Dim Tanggal As Date
txtNama.Text = ""
txtAlamat.Text = ""
txtTgLahir.Text = Date
End Sub
Method Kosongkan.
Membuat Tanggal sebagai Date.
txtNama, Alamat menjadi kosong.
Mengisikan txtTgLahir menjadi Date yang isinya adalah tanggal hari ini.
6. Private Sub SetKondisi(Logika As Boolean)
txtNama.Enabled = Logika
txtAlamat.Enabled = Logika
txtTgLahir.Enabled = Logika
optPria.Enabled = Logika
optWanita.Enabled = Logika
optIslam.Enabled = Logika
optKristen.Enabled = Logika
optKatolik.Enabled = Logika
optHindu.Enabled = Logika
optBudha.Enabled = Logika
End Sub
Method SetKondisi dengan Logika sebagai Boolean.
Untuk menentukan nilai true/false.
7. Private Sub Tampilkan()
txtNama.Text = rsBiodata!Nama
txtAlamat.Text = rsBiodata!Alamat
txtTgLahir.Text = rsBiodata!Tgl_lahir
Method tampilkan
Mengambil data dari txtNama, alamat, tglahir untuk diinputkan ke database.
If rsBiodata!Sex = True Then
optPria.Value = True
Else
optWanita.Value = True
End If
If rsBiodata!Agama = "I" Then
optIslam.Value = True
ElseIf rsBiodata!Agama = "K" Then
optKristen.Value = True
ElseIf rsBiodata!Agama = "k" Then
optKatolik.Value = True
ElseIf rsBiodata!Agama = "H" Then
optHindu.Value = True
ElseIf rsBiodata!Agama = "B" Then
optBudha.Value = True
End If
End Sub
8. Private Sub cboNIP_Change()
rsBiodata.Index = "NIP"
rsBiodata.Seek "=", cboNIP.Text
If Not rsBiodata.NoMatch Then
Tampilkan
Method cboNIP apabila diganti.
Index di rsBiodata mengambil dari NIP.
rsBiodata melakukan pencarian data apakah ada yang sama dengan cboNIP.
End If
End Sub
Apabila tidak ada data yang sama maka memanggil method tampilkan.
TUGAS
No. Sintak Penjelasan Capture
1.
form
Private Sub cmdLogin_Click()
frmLogin.Show
Unload Me
End Sub
Private Sub cmdRegister_Click()
frmRegister.Show
Unload Me
End Sub
Method cmdLogin apabila diklik.
Memanggil dan menampilkan frmLogin.
Keluar dari form
Method cmdRegister apabila diklik.
Memanggil dan menampilkan frmRegister.
Keluar dari form.
2.
frmLogin
Dim dbRegister As Database
Dim rsdataRegister As Recordset
Dim rsregisterDosen As Recordset
Private Sub cmdKeluar_Click()
Unload Me
End Sub
Private Sub cmdKeluarDosen_Click()
Unload Me
End Sub
Mendeklarikan dbRegister sebagai database, rsdataregister sebagai recorsource dan rsregisterDosen sebagai recordsource.
Method cmdKeluar ketika diklik.
Keluar dari form.
Method cmdKeluarDosen ketika diklik. Keluar dari form.
Private Sub cmdMasukDosen_Click()
rsregisterDosen.Seek "=", txtUsername.Text
rsregisterDosen.Index = "username"
rsregisterDosen.Seek "=", txtPasswordDosen.Text
rsregisterDosen.Index = "passwordDosen"
If rsregisterDosen.NoMatch Then
MsgBox "Username/Password tidak ditemukan!", vbCritical + vbOKOnly, "Perhatian"
Else
frmMenu.Show
A
Unload Me
End If
End Sub
Private Sub Form_Load()
Set dbRegister = OpenDatabase("E:\smt 4\Visual Basic 2\pertemuan 4\TUGAS\Register.mdb")
Set rsdataRegister = dbRegister.OpenRecordset("dataRegister")
Set rsregisterDosen =
Method cmdMasukDosen ketika diklik. Mencari data di rsregisterDosen dengan menggunakan index username dan password.
Apabila tidak ditemukan data maka tampil MsgBox, sedangkan apabila ditemukan datanya maka menampilkan frmMenu dan memanggil method A dan keluar dari form login.
Method Form
Mengeset dbRegister dengan membuka database di direktori tersebut.
Mengeset rsdataregister di database register dengan recordsource dataRegister dan registerDosen.
dbRegister.OpenRecordset("registerDosen")
rsdataRegister.Index = "nim"
rsdataRegister.Index = "password"
rsregisterDosen.Index = "username"
rsregisterDosen.Index = "passwordDosen"
Kosongkan
End Sub
Private Sub Kosongkan()
txtNIM.Text = ""
txtPassword.Text = ""
End Sub
Private Sub cmdMasuk_Click()
frmMenu.Label9 = txtNIM.Text
frmMenu.txtNIM = txtNIM.Text
rsdataRegister.Seek "=", txtNIM.Text
rsdataRegister.Index = "nim"
rsdataRegister.Index = "password"
rsdataRegister.Seek "=", txtPassword.Text
If rsdataRegister.NoMatch Then
MsgBox "NIM/Password tidak ditemukan!", vbCritical + vbOKOnly, "Perhatian"
Membuat index di rsdataregister di Username.
Memanggil method kosongkan.
Method Kosongkan.
Membuat txtUsername dan txtPassword menjadi kosong.
Method cmdMasuk ketika diklik.
Di Label9 yang ada di frmMenu captionnya akan tergantikan dengan teks di txtUsername.
rsdataRegister melakukan pencarian data apakah ada data yang sama dengan txtUsername.
Apabila tidak ditemukan data yang sama maka akan tampil msgBox.
Begitu juga dengan bagian passwordnya.
Apabila password dan username sudah ada didatabase maka akan memanggil dan menampilkan frmMenu kemudia keluar dari form.
Else
frmMenu.Show
B
Unload Me
End If
End Sub
Private Sub A()
frmMenu.Label9 = txtUsername.Text
frmMenu.Label1.Visible = False
frmMenu.cboDosen.Visible = False
frmMenu.Bimbingan.Visible = True
frmMenu.txtStatus.Enabled = False
frmMenu.cmdUbah.Visible = True
frmMenu.cmdSimpan.Visible = True
frmMenu.cmdSimpan.Enabled = False
frmMenu.cmdCek.Visible = False
frmMenu.cmdDaftar.Visible = False
frmMenu.cmdHapus.Visible = True
frmMenu.Label10.Visible = False
Method A dan Method B
Saya tambah method sendiri untuk mempermudah sintak di method yang lain.
Method ini berfungsi untuk menampilkan atau menyembunyikan objek.
frmMenu.txtStatus.Visible = True
End Sub
Private Sub B()
frmMenu.txtStatus.Enabled = False
frmMenu.cmdUbah.Visible = False
frmMenu.cmdSimpan.Visible = False
frmMenu.cmdHapus.Visible = False
End Sub
3.
frmMenu
Dim dbMahasiswa As Database
Dim rsBiodata As Recordset
Dim rsBimbingan As Recordset
Private Sub Tampilkan()
rsBimbingan!NIM = txtNIM.Text
rsBimbingan!Nama = txtNamaLengkap.Text
rsBimbingan!Kelas = txtKelas.Text
rsBimbingan!Semester = txtSemester.Text
rsBimbingan!Komentar = txtKomentar.Text
rsBimbingan!KomentarDosen = "Permintaan sedang diproses"
Mendeklarasikan dbMahasiswa sebagai database, rsBiodata sebagai recordsource dan rsBimbingan sebagai recordsource.
Method Tampilkan.
Menambahkan data dari txtNIM, NamaLengkap,Kelas, Semester, txtKomentar ke database.
Memberikan nilai “Permintaan sedang diproses” ke kolom database komentarDosen.
End Sub
Private Sub Kosongkan()
txtNIM.Text = ""
txtNamaLengkap.Text = ""
txtKelas.Text = ""
txtSemester.Text = ""
txtKomentar.Text = ""
lblStatus.Caption = ""
End Sub
Private Sub cboDosen_Click()
If cboDosen.Text = "Adi Dewanto" Then
DBGridAdi.Visible = True
DBGridMunir.Visible = False
DBGridMuslikhin.Visible = False
lblStatus.Visible = False
Kosongkan
ElseIf cboDosen.Text = "Muhammad Munir" Then
DBGridAdi.Visible = False
DBGridMunir.Visible = True
DBGridMuslikhin.Visible = False
Kosongkan
ElseIf cboDosen.Text =
Method Kosongkan
Membuat txtNIM, NamaLengkap, Kelas, Semester, Komentar dan lblStatus menjadi kosong.
Method cboDosen ketika diklik.
Apabila dosen yang dipilih adalah Adi Dewanto maka menampilkan dbgridAdi, dan menyembunyikan dbgridMunir dan dbGrid Muslikhin.
Memanggil method Kosongkan.
Apabila dosen yang dipilih adalah Muhammad Munir maka dbGridAdi dan dbGridMuslikhin menjadi false, menampilkan dbGridMunir
Memanggil method Kosongkan.
Begitu juga dengan dosen Muslikhin.
"Muslikhin" Then
DBGridAdi.Visible = False
DBGridMunir.Visible = False
DBGridMuslikhin.Visible = True
Kosongkan
End If
End Sub
Private Sub cmdCek_Click()
rsBimbingan.Seek "=", txtNIM.Text
If rsBimbingan.NoMatch Then
SetKondisi (True)
cmdDaftar.Enabled = True
MsgBox "data tidak ditemukan", vbInformation + vbOKOnly
Else
cmdDaftar.Enabled = False
txtNIM.Text = rsBimbingan!NIM
txtNamaLengkap.Text = rsBimbingan!Nama
txtKelas.Text = rsBimbingan!Kelas
txtSemester.Text = rsBimbingan!Semester
txtKomentar.Text = rsBimbingan!Komentar
lblStatus.Caption =
Method cmdCek ketika diklik.
rsBimbingan akan melakukan pencarian data apakah ada yang sama dengan txtNIM.
Apabila tidak ditemukan kesamaan data maka memanggil method SetKondisi menjadi True.
cmdDaftar menjadi diizinkan.
Dan menampilkan msgBox.
Apabila ditemukan data maka cmdDaftar tidak diizinkan.
Kemudia melakukan pemanggilan data dari database ke TextBox.
rsBimbingan!KomentarDosen
End If
lblStatus.Visible = True
End Sub
Private Sub cmdDaftar_Click()
If Ncek(txtKomentar.Text) > 250 Then
MsgBox "Jumlah karakter di Komentar terlalu banyak!", vbCritical + vbOKOnly, "Perhatian"
ElseIf Ncek(txtNIM.Text) > 11 Then
MsgBox "Jumlah karakter di NIM teralu banyak!", vbCritical + vbOKOnly, "Perhatian"
ElseIf Ncek(txtNamaLengkap.Text) > 25 Then
MsgBox "Jumlah karakter di Nama terlalu banyak!", vbCritical + vbOKOnly, "Perhatian"
ElseIf Ncek(txtKelas.Text) > 2 Then
MsgBox "Jumlah karakter di Kelas terlalu banyak!", vbCritical + vbOKOnly, "Perhatian"
ElseIf Ncek(txtSemester.Text) > 1 Then
MsgBox "Jumlah karakter di
Method cmdDaftar ketika diklik.
Akan melakukan pengecekan jumlah karakter di txtKomentar, apabila lebih dari 250 karakter maka akan tampil msgBox.
Apabila NIM lebih dari 11 karakter juga akan tampil MsgBox.
Apabila txtNamaLengkap melebihi 25 karakter akan tampil MsgBox
Begitu juga dengan seterusnya.
Semester terlalu banyak!", vbCritical + vbOKOnly, "Perhatian"
Exit Sub
End If
rsBimbingan.AddNew
Tampilkan
rsBimbingan.Update
MsgBox "Permintaan sedang di proses. Menunggu keputusan dosen terkait.", vbInformation + vbOKOnly, "Perhatian"
Kosongkan
lblStatus.Visible = True
lblStatus.Caption = "permintaan sedang di proses"
End Sub
Private Sub cmdLogout_Click()
frmLogin.Show
Unload Me
End Sub
Private Sub Form_Load()
Set dbMahasiswa = OpenDatabase("E:\smt 4\Visual Basic 2\pertemuan 4\\TUGAS\
Apabila semua sudah memenuhi syarat maka akan menambahkan data baru ke rsBimbingan dan muncul MsgBox.
Memanggil method kosongkan.
Kemudian memberi nilai di lblStatus.
Method cmdLogout ketika diklik.
Akan memanggil dan menampilkan frmLogin
Keluar dari form terkait.
Method Form
Melakukan set dbMahasiswa dari database yang di direktori.
Mengeset rsBiodata dari dbMahasiswa di recordsource dataRegister.
Register.mdb")
Set rsBiodata = dbMahasiswa.OpenRecordset("dataRegister")
Set rsBimbingan = dbMahasiswa.OpenRecordset("MahasiswaBimbingan")
Kosongkan
cboDosen.AddItem "Adi Dewanto"
cboDosen.AddItem "Muhammad Munir"
cboDosen.AddItem "Muslikhin"
rsBimbingan.Index = "NIM"
SetKondisi (False)
cmdDaftar.Enabled = False
End Sub
Function Ncek(nKar As String) As Integer
Ncek = Len(nKar)
End Function
Private Sub SetKondisi(Logika As Boolean)
txtNamaLengkap.Enabled = Logika
txtKelas.Enabled = Logika
Mengeset rsBimbingan di dbMahasiswa di recordSource MahasiswaBimbingan.
Memanggil method Kosongkan.
Menambahkan data di comboBox.
Membuat Index di rsBimbingan dari NIM.
Memanggil method SetKondisi menjadi False.
Membuat cmdDaftar menjadi tidak diizinkan.
Fungsi Ncek untuk melakukan penghitungan jumlah karakter.
Method SetKondisi dengan Logika sebagai Boolean untuk menentukan true/false.
txtSemester.Enabled = Logika
txtKomentar.Enabled = Logika
lblStatus.Enabled = Logika
End Sub
4.
frmRegister
Dim dbRegister As Database
Dim rsdataRegister As Recordset
Private Sub cmdKembali_Click()
Form1.Show
Unload Me
End Sub
Private Sub Form_Load()
Set dbRegister = OpenDatabase("E:\smt 4\Visual Basic 2\pertemuan 4\TUGAS\Register.mdb")
Set rsdataRegister = dbRegister.OpenRecordset("dataRegister")
rsdataRegister.Index = "Username"
Kosongkan
End Sub
Function Ncek(nKar As String) As Integer
Ncek = Len(nKar)
Mendeklarasikan dbRegister sebagai Database dan rsdataregister sebagai recordset.
Method cmdKembali ketika diklik
Memanggil dan menampilkan Form1
Keluar dari Form.
Method Form
Mengeset dbRegister membuka database di direktori tersebut.
Mengeset rsdataregister di database Register di recordsource dataRegister.
Membuat index di rsdataregister dengan Username sbagai index.
Memanggil method kosongkan.
Fungsi Ncek untuk menghitung jumlah karakter.
End Function
Private Sub Tampilkan()
rsdataRegister!UserName = txtUsername.Text
rsdataRegister!NamaLengkap = txtNamaLengkap.Text
rsdataRegister!Kelas = txtKelas.Text
End Sub
Private Sub Kosongkan()
txtUsername.Text = ""
txtPassword.Text = ""
txtNamaLengkap.Text = ""
txtKelas.Text = ""
End Sub
Private Sub cmdDaftar_Click()
If Ncek(txtUsername.Text) = 0 Then
MsgBox "Username belum diisi!", vbCritical + vbOKOnly, "Perhatian"
txtUsername.SetFocus
End If
If Ncek(txtPassword.Text) = 0 Then
MsgBox "Password belum diisi!", vbCritical + vbOKOnly,
Method Tampilkan
Menambahkan data ke database yang diambil dari kolom teks.
Method Kosongkan
Mengosongkan kolom di Username, Password, NamaLengkap dan Kelas
Method cmdDaftar ketika diklik.
Melakukan pengecekan jumlah karakter di Username apabila jumlah karakter = 0 maka akan tampil MsgBox.
Membuat kursor awal teks di Username.
Begitu juga seterusnya.
"Perhatian"
End If
If Ncek(txtNamaLengkap.Text) = 0 Then
MsgBox "Nama belum diisi!", vbCritical + vbOKOnly, "Perhatian"
End If
If Ncek(txtKelas.Text) = 0 Then
MsgBox "Kelas belum diisi!", vbCritical + vbOKOnly, "Perhatian"
End If
rsdataRegister.Index = "Username"
rsdataRegister.Seek "=", txtUsername.Text
If rsdataRegister.NoMatch Then
rsdataRegister.AddNew
Tampilkan
rsdataRegister.Update
Else
MsgBox "Username sudah digunakan.", vbCritical + vbOKOnly, "Perhatian"
End If
End Sub
Membuat Username menjadi index di rsdataregister.
Rsdataregister melakukan pencarian data apakah ada yang sama dg Username. Apabila tidak ada data yang sama maka menambahkan data baru ke database.
Apabila ditemukan kesamaan data maka akan ada MsgBox.