Anda di halaman 1dari 6

Membuat Form Data Dosen

1. Aturlah/Buatlah form dengan layout berikut :

2. Atur/ubahlah objek tersebut melalui jendela properties dengan nilai seperti berikut :
Objek Properties Value Objek Properties Value
Form1 Name frmDosen Command3 Name cmdPerbaiki
Caption Pengolahan Data Caption &PERBAIKI
Dosen
Label1 Caption PENGOLAHAN Command4 Name cmdSimpan
DATA DOSEN
Label2 Caption NO. DOSEN Caption &SIMPAN
Alignment Right Justify Command5 Name cmdSelesai
Label3 Caption NAMA DOSEN Caption S&ELESAI
Alignment Right Justify Command6 Name cmdKeAwal
Label4 Caption TEMPAT LAHIR Caption KE&AWAL
Alignment Right Justify Command7 Name cmdMundur
Label5 Caption TANGGAL LAHIR Caption MUN&DUR
Alignment Right Justify Command8 Name cmdMaju
Text1 Name TxtNoDos Caption MA&JU
Text2 Name txtNmDos Command9 Name cmdKeAkhir
Text3 Name txtTpLhr Caption KEAK&HIR
Text4 Name txtTgLhr Adodc1 Name Adodc1
Text5 Name NoDosBaru Caption Adodc1
Frame1 Caption Biodata Dosen Connection Ikuti Petunjuk
String Langkah 5
Frame2 Caption Tombol Operasi Visible False
Frame3 Caption Tombol Navigasi DataGrid1 Name DataGrid1
Command1 Name cmdTambah Caption Daftar Mahasiswa
Caption &TAMBAH DataSource Adodc1
Command2 Name cmdHapus
Caption &HAPUS

3. Untuk menambahkan objek Adodc1 lakukanlah seperti cara sebelumnya (pada praktik membuat Form
Mahasiswa)
4. Pada File Database tambahkan tabel baru dengan nama Dosen dengan struktur tabel terdiri dari :
Field Name Type Size
NoDos Text 5
NmDos Text 45
TpLhr Text 35
TgLhr Date/Time 8
Cara menambahkan tabel baru sama seperti pada modul Pertama.

5. Buat Connection String (Koneksikan) objek Adodc1 dengan database yang sudah dibuat sebelumnya bedanya
pada Table or Stored Procedure Name pilihlah Dosen (Nama tabel Dosen yang telah dibuat pada pembuatan
database dan tabel sebelumnya)
6. Tampilkan nama-nama field ke dalam DataGrid dengan cara, Click kanan DataGrid1 kemudian pilih Retrieve
Fields dan jawab Yes pada pertanyaan yang muncul. (Harusnya Nama-Nama Field ditampilkan pada masing-
masing kolom dalam DataGrid)
7. Jika sudah selesai Simpanlah form tersebut dengan cara :
Pilih Menu File – Save Form1 As atau tekan tombol Ctrl + S kemudian berilah nama frmDosen pada folder yang
sama dengan folder penyimpanan form dan project sebelumnya.

Melengkapi Form Data Dosen dengan Source Code

Langkah-Langkah
1. Double Click pada bagian form desain yang dibuat
2. Ubah Nama Object menjadi General dan Nama Prosedur menjadi Declarations
3. Tuliskan code program berikut (Setiap bagian yang berwarna Hitam Tebal seperti (General) – CekTombol tidak
perlu ditulis, cukup mengubah bagian Nama Objek dan Nama Prosedur yang sesuai seperti langkah Nomor 2, pada
praktiknya di jendela penulisan code akan dipisah dengan garis mendatar sebagai pemisah antar objek dan
prosedur yang berbeda) :

(General) – (Declaration)
'Form untuk penglahan Data Dosen
'Penyimpanan data menggunakan database yang sudah dibuat pada modul praktikum
'membuat form pengolahan data mahasiswa sebelumnya
'Dibuat pada tanggal ............
'Oleh : Nama Anda Sendiri – NIM Anda Sendiri

Dim Ada As Byte 'Mendeklarasikan variabel memory bernama Ada dengan type Byte

(General) – TombolNaviOff
'Prosedur buatan sendiri dengan nama TombolNaviOff yang berfungsi untuk
'menonaktifkan tombol navigasi dalam form
Private Sub TombolNaviOff()
cmdKeAwal.Enabled = False
cmdMundur.Enabled = False
cmdMaju.Enabled = False
cmdKeAkhir.Enabled = False
End Sub

(General) – TombolNaviOn
'Prosedur buatan sendiri dengan nama TombolNaviOn yang berfungsi untuk
'mengaktifkan tombol navigasi dalam form dengan melakukan cek pada jumlah record
Private Sub TombolNaviOn()
If Adodc1.Recordset.RecordCount > 0 Then 'Pengecekan jika jlh record > 0
Adodc1.Recordset.MoveFirst 'Memindah pointer record ke awal record
cmdKeAwal.Enabled = False
cmdMundur.Enabled = False
cmdKeAkhir.Enabled = True
cmdMaju.Enabled = True
Else
TombolNaviOff 'Memanggil prosedur bernama TombolNaviOff
End If
End Sub

(General) – Aktif
'Prosedur buatan sendiri dengan nama Aktif yang berfungsi untuk
'Mengaktifkan semua text box yang ada
Private Sub Aktif()
txtNoDos.Enabled = True
txtNmDos.Enabled = True
txtTpLhr.Enabled = True
txtTgLhr.Enabled = True
End Sub

(General) – GakAktif
'Prosedur buatan sendiri dengan nama GakAktif yang berfungsi untuk
'Menonaktifkan semua text box yang ada
Private Sub GakAktif()
txtNoDos.Enabled = False
txtNmDos.Enabled = False
txtTpLhr.Enabled = False
txtTgLhr.Enabled = False
End Sub

(General) – TombolAwal
'Prosedur buatan sendiri dengan nama TombolAwal yang berfungsi untuk
'mengatur Tombol-tombol operasi pertama kali dijalankan
Private Sub TombolAwal()
cmdTambah.Enabled = True
cmdSelesai.Enabled = True
cmdSimpan.Enabled = False
cmdSimpan.Caption = "&SIMPAN"
cmdSelesai.Caption = "S&ELESAI"
If Adodc1.Recordset.RecordCount > 0 Then
cmdHapus.Enabled = True
cmdPerbaiki.Enabled = True
Else
cmdHapus.Enabled = False
cmdPerbaiki.Enabled = False
End If
End Sub

cmdHapus – Click
Private Sub cmdHapus_Click()
cJawab = MsgBox("Perhatian..." + Chr(13) + "Data Saudara " + _
RTrim(txtNmDos.Text) + " Akan Dihapus" + Chr(13) + "Apakah Anda Yakin", _
vbYesNo, "Konfirmasi") 'Menampilkan dialog konfirmasi saat menghapus data
If cJawab = vbNo Then 'Pengecekan jika konfirmasi saat menghapus dijawab No
TombolAwal
GakAktif
Adodc1.Recordset.MoveFirst
Else
Adodc1.Recordset.Delete 'Menghapus record jika konfirmasi dijawab Yes
If Adodc1.Recordset.RecordCount > 0 Then 'Pengecekan jika jlh record > 0
Adodc1.Recordset.MoveFirst
TombolNaviOn
Else
TombolNaviOff
TombolAwal
End If
End If
End Sub

cmdKeAkhir – Click
Private Sub cmdKeAkhir_Click()
Adodc1.Recordset.MoveLast
cmdKeAkhir.Enabled = False
cmdKeAwal.Enabled = True
cmdMundur.Enabled = True
cmdMaju.Enabled = False
End Sub

cmdKeAwal – Click
Private Sub cmdKeAwal_Click()
Adodc1.Recordset.MoveFirst
cmdKeAwal.Enabled = False
cmdMundur.Enabled = False
cmdMaju.Enabled = True
cmdKeAkhir.Enabled = True
End Sub

cmdMaju – Click
Private Sub cmdMaju_Click()
Adodc1.Recordset.MoveNext
cmdMundur.Enabled = True
cmdKeAwal.Enabled = True
If Adodc1.Recordset.EOF Then 'Pengecekan jika pointer record diakhir record
Adodc1.Recordset.MoveLast
cmdMundur.Enabled = True
cmdKeAwal.Enabled = True
cmdMaju.Enabled = False
cmdKeAkhir.Enabled = False
End If
End Sub

cmdMundur – Click
Private Sub cmdMundur_Click()
Adodc1.Recordset.MovePrevious
cmdMaju.Enabled = True
cmdKeAkhir.Enabled = True
If Adodc1.Recordset.BOF Then 'Pengecekan jika pointer record diawal record
Adodc1.Recordset.MoveFirst
cmdMaju.Enabled = True
cmdKeAkhir.Enabled = True
cmdMundur.Enabled = False
cmdKeAwal.Enabled = False
End If
End Sub

cmdPerbaiki – Click
Private Sub cmdPerbaiki_Click()
Aktif
cmdPerbaiki.Enabled = False
cmdSimpan.Enabled = True
cmdHapus.Enabled = False
cmdTambah.Enabled = False
cmdSimpan.Caption = "&UPDATE"
cmdSelesai.Caption = "&BATAL"
TombolNaviOff
txtNoDos.SetFocus
End Sub

cmdSelesai – Click
Private Sub cmdSelesai_Click()
If cmdSelesai.Caption = "S&ELESAI" Then
End
Else
TombolAwal
GakAktif
NoDosBaru.Visible = False
txtNoDos.Visible = True
Adodc1.Recordset.CancelBatch
TombolNaviOn
End If
End Sub

cmdSimpan – Click
Private Sub cmdSimpan_Click()
If cmdSimpan.Caption = "&UPDATE" Then 'Pengecekan jika caption cmdSimpan
'sama dengan UPDATE
Adodc1.Recordset.Update
TombolAwal
TombolNaviOn
ElseIf Len(Trim(NoDosBaru.Text)) > 0 Then 'Pengecekan jika panjang data yang
'diinputkan pada text box NoDosBaru lebih dari nol atau tidak kosong
If cmdSimpan.Caption = "&SIMPAN" Then 'Pengecekan jika caption cmdSimpan
'sama dengan SIMPAN
NoDosBaru.Visible = True
txtNoDos.Visible = False
NoDosBaru.Text = ""
TombolNaviOff
Adodc1.Recordset.MoveLast
TombolNaviOn
NoDosBaru.SetFocus
End If
Else
MsgBox "Nomor Dosen Tidak Boleh Kosong...", vbOKOnly, "Informasi"
NoDosBaru.SetFocus
End If
GakAktif
End Sub

cmdTambah – Click
Private Sub cmdTambah_Click()
cmdSelesai.Caption = "&BATAL"
cmdTambah.Enabled = False
cmdHapus.Enabled = False
cmdPerbaiki.Enabled = False
TombolNaviOff
NoDosBaru.Visible = True
txtNoDos.Visible = False
NoDosBaru.Left = 2040 'Menempatkan text box NoDosBaru berada pada posisi
'batas kiri 2040 (samakan dengan posisi batas kiri text box txtNoDos)
NoDosBaru.SetFocus
End Sub

Form – Activate
'Prosedur ini akan dipanggil setiap form diaktifkan atau mendapat focus
Private Sub Form_Activate()
TombolNaviOn
End Sub

Form – Load
'Prosedur ini akan dipanggil setiap form pertama kali dijalankan
Private Sub Form_Load()
GakAktif
TombolAwal
NoDosBaru.Visible = False
NoDosBaru.Text = ""
txtNoDos.Visible = True
End Sub

NoDosBaru – KeyPress
Private Sub NoDosBaru_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then 'Pengecekan jika tombol yang ditekan adalah Enter
Dim cNoDos As String 'Mendeklarasikan variabel cNoDos dengan type String
If Adodc1.Recordset.RecordCount > 0 Then 'Pengecekan jika Jlh record > 0
cNoDos = UCase(Trim(NoDosBaru.Text)) 'Mengkonversi data dlm NoDosBaru
'menjadi huruf Kapital dan disimpan dlm variabel bernama cNoDos
If Ada = 0 Or Adodc1.Recordset.EOF Then 'Pengecekan jika variabel Ada
'bernilai Nol atau record berada pada posisi akhir file
Adodc1.Recordset.MoveFirst
Else
Adodc1.Recordset.MoveNext
End If
End If
Ada = 0 'Menetapkan nilai variabel Ada menjadi nol
Do While Not Adodc1.Recordset.EOF 'Mulai proses looping selama pointer
'record belum mencapai akhir file
If UCase(Adodc1.Recordset.Fields("NoDos")) = cNoDos Then 'Pengecekan
'jika data dalam field NoDos di tabel sama dengan data dalam
'variabel cNoDos
MsgBox "Nomor Dosen Tersebut Sudah Ada, Coba yang Lain...", _
vbOKOnly, "Informasi"
NoDosBaru.Text = ""
Exit Do 'Keluar dari proses looping jika kondisi pengecekan
'terpenuhi atau data ditemukan ada yang sama
End If
Adodc1.Recordset.MoveNext
Loop 'kembali ke awal looping Do While
If Adodc1.Recordset.EOF Then 'Pengecekan jika pointer record berada pada
'akhir file
NoDosBaru.Visible = False
txtNoDos.Visible = True
Aktif
Adodc1.Recordset.AddNew 'Menambah satu record baru (record kosong)
Adodc1.Recordset.Fields("NoDos") = NoDosBaru.Text 'Mengisi field NoDos
'dengan data yang ada pada NoDosBaru
txtNoDos.Text = NoDosBaru.Text
cmdSimpan.Enabled = True
txtNmDos.SetFocus
End If
End If
End Sub

txtNmDos – KeyPress
Private Sub txtNmDos_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
txtTpLhr.SetFocus
End If
End Sub

NoDosBaru – Change
'Prosedur ini akan dijalankan pada saat ada perubahan data dalam text
'box NoDosBaru
Private Sub NoDosBaru_Change()
If Len(Trim(NoDosBaru.Text)) > 0 Then 'Pengecekan jika panjang data dalam text
'box NoDosBaru lebih dari nol atau tidak kosong
cmdSelesai.Caption = "&BATAL"
Else
If cmdSimpan.Enabled = False Then
cmdSelesai.Caption = "S&ELESAI"
End If
End If
End Sub

txtNoDos – KeyPress
'Prosedur untuk memindah kursor ke text box berikutnya pada saat ditekan enter
Private Sub txtNoDos_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
txtNmDos.SetFocus
End If
End Sub

txtTgLhr – KeyPress
Private Sub txtTgLhr_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
cmdSimpan.SetFocus
End If
End Sub

txtTpLhr – KeyPress
Private Sub txtTpLhr_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
txtTgLhr.SetFocus
End If
End Sub

Anda mungkin juga menyukai