laporan praktikum visual basic 2 (vb) pertemuan 4

23
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

Upload: luthfihakim111

Post on 14-Dec-2015

25 views

Category:

Documents


2 download

DESCRIPTION

hehe

TRANSCRIPT

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.