Anda di halaman 1dari 7

Membuat Form Data Matakuliah

1. Buat sebuah form baru dengan layout berikut :

2. Atur/ubahlah objek tersebut melalui jendela properties dengan nilai seperti berikut :
Objek Properties Value Objek Properties Value
Form1 Name frmMataKuliah Frame1 Caption JURUSAN
Caption Pengolahan Daftar Frame2 Caption DATA MATAKULIAH
Matakuliah
Label1 Caption DAFTAR Frame3 Caption TOMBOL OPERASI
MATAKULIAH
Label2 Caption KODE MATAKULIAH Command1 Name cmdTambah
Alignment Right Justify Caption T&AMBAH
Label3 Caption NAMA MATAKULIAH Command2 Name cmdHapus
Alignment Right Justify Caption &HAPUS
Label4 Caption BOBOT Command3 Name cmdPerbaiki
Alignment Right Justify Caption &PERBAIKI
Label5 Caption SKS Command4 Name cmdSimpan
Alignment Right Justify Caption SIMPA&N
Label6 Caption SEMESTER Command5 Name cmdSelesai
Alignment Right Justify Caption S&ELESAI
Text1 Name TxtKdMkl Option1 Caption &Sistem Informasi
Text2 Name TxtNmMkl Option2 Caption &Teknik Informatika
Text3 Name TxtSksMk Option3 Caption &Manajemen Informatika
Combo1 Name CboSmstr MSFlexGrid1 Name MsFlexGrid1

3. Untuk menambahkan objek MSFlexGrid1 lakukanlah langkah berikut :


a. Tekan tombol Ctrl + T atau click menu Project – Components… sehingga Dialog Component ditampilkan.
b. Aktifkan/pilihlah komponen Microsoft FlexGrid Control 6.0 selanjutnya click tombol Apply kemudian
click tombol OK sehingga dalam toolbox ada tambahan komponen MSFlexGrid.
c. Buat objek MsFlexGrid dari komponen MsFlexGrid yang ada dalam toolbox seperti membuat objek yang
lainnya.
4. Pada File Database tambahkan tabel baru dengan nama Matakuliah dengan struktur tabel terdiri dari :
Field Name Type Size
KdMkl Text 10
NmMkl Text 35
SksMk Integer 2
Smstr Text 2
Jurusan Text 25
Cara menambahkan tabel baru sama seperti pada modul sebelumnya
Lengkapi juga tabel dengan Index Primary berdasarkan field KdMkl. Untuk menambahkan index tersebut lakukan
langkah berikut :
a. Pada jendela Tabel structure saat membuat tabel tersebut, click tombol Add Index kemudian tuliskan Nama
Indexnya misalnya IdxMatKul
b. Pilih/Click Nama field yang digunakan sebagai Key-nya yaitu KdMkl
c. Click tombol OK kemudian Close

5. Jika sudah selesai Simpanlah form tersebut dengan nama frmMatakuliah 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 dengan cara yang sama seperti cara melengkapi kode program sebelumnya.

(General) – (Declaration)
'Form untuk penglahan Daftar Matakuliah
'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 nSmt As Byte 'Deklarasi variable memori bernama nSmt dgn type Byte
Dim dbData As Database 'Deklarasi variable memori bernama dbData dgn type Database
Dim rsMatKul As Recordset 'Deklarasi variable memori bernama rsMatKul dgn
'type Recordset untuk tabel

(General) – TabelGrid
Private Sub TabelGrid()
'Objek Grid ini menggunakan MSFlexGrid untuk menampilkan data dalam bentuk
'tabel tanpa control Data maupun control Adodc
MSFlexGrid1.Rows = rsMatKul.RecordCount + 1 'Menetapkan jumlah baris grid se-
'banyak rumlah record dalam tabel ditambah satu
MSFlexGrid1.FocusRect = flexFocusNone 'untuk menampilkan grid dengan pointer
MSFlexGrid1.SelectionMode = flexSelectionByRow 'record penuh satu baris
'Membuat Nomor Urut dalam grid dengan looping For - Next
For i = 1 To rsMatKul.RecordCount
With MSFlexGrid1
.TextMatrix(i, 0) = Str(i)
End With
Next
rsMatKul.MoveFirst
nBrs = 1 'Menetapkan variable bernama nBrs sekaligus memberi nilai satu
'Looping Do While – Loop untuk menampilkan isi record kedalam grid
Do While Not rsMatKul.EOF
MSFlexGrid1.TextMatrix(nBrs, 1) = rsMatKul!KdMkl 'Menampilkan isi KdMkl
'dalam Baris pertama kolom pertama
MSFlexGrid1.TextMatrix(nBrs, 2) = rsMatKul!NmMkl 'Menampilkan isi NmMkl
'dalam Baris pertama kolom kedua
MSFlexGrid1.TextMatrix(nBrs, 3) = rsMatKul!SksMkl 'Menampilkan isi SksMkl
'dalam Baris pertama kolom ketiga
MSFlexGrid1.TextMatrix(nBrs, 4) = rsMatKul!Smstr 'Menampilkan isi Smstr
'dalam Baris pertama kolom keempat
MSFlexGrid1.TextMatrix(nBrs, 5) = rsMatKul!Jurusan 'Menampilkan isi Jurusan
'dalam Baris pertama kolom kelima
rsMatKul.MoveNext
nBrs = nBrs + 1 'Menambah nilai variable nBrs satu demi satu
Loop
End Sub

(General) – Kosong
Private Sub Kosong()
'Prosedur Kosong untuk mengosongkan text box yang ada
optJurSi.Value = False
optJurTi.Value = False
optJurMi.Value = False
txtKdMkl.Text = ""
txtNmMkl.Text = ""
txtSksMk.Text = ""
cboSmstr.Text = ""
End Sub
(General) – Aktif
Private Sub Aktif()
'Prosedur Aktif untuk mengaktifkan textbox agar bisa disi data
optJurSi.Enabled = True
optJurTi.Enabled = True
optJurMi.Enabled = True
txtKdMkl.Enabled = True
txtNmMkl.Enabled = True
txtSksMk.Enabled = True
cboSmstr.Enabled = True
End Sub

(General) – NonAktif
Private Sub NonAktif()
'Prosedur NonAktif untuk me-non-aktifkan textbox agar tidak bisa disi data
optJurSi.Enabled = False
optJurTi.Enabled = False
optJurMi.Enabled = False
txtKdMkl.Enabled = False
txtNmMkl.Enabled = False
txtSksMk.Enabled = False
cboSmstr.Enabled = False
End Sub

(General) – TombolAwal
Private Sub TombolAwal()
'Prosedur TombolAwal untuk mengatur tombol command button yg ada
cmdTambah.Enabled = True
cmdHapus.Enabled = False
cmdPerbaiki.Enabled = False
cmdSimpan.Enabled = False
cmdSelesai.Enabled = True
cmdSimpan.Caption = "SIMPA&N"
cmdSelesai.Caption = "S&ELESAI"
End Sub

cboSmstr – Click
Private Sub cboSmstr_Click()
'untuk mengatur command simpan saat cboSmstr di click
cmdSimpan.Enabled = True
cmdSimpan.SetFocus
End Sub

cboSmstr – KeyPress
Private Sub cboSmstr_KeyPress(KeyAscii As Integer)
'untuk mengatur cboSmstr data yang dimasukan pada cboSmstr saat ditekan Enter
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or _
'KeyAscii = vbKeyBack Or KeyAscii = 13) Then
'untuk mengatur agar yang diinputkan hanya berupa angka 0-9 dan backspace
Beep 'memberikan bunyi beep jika ada kesalahan tombol inputan
KeyAscii = 0
Else
If KeyAscii = 13 Then
If Val(cboSmstr.Text) > 8 Then 'Cek jika data cboSmstr lebih dari 8
MsgBox "Uups..., Semester Tidak Boleh Lebih Dari Delapan", _
vbOKOnly, "Informasi"
cboSmstr.SetFocus
Else
cmdSimpan.Enabled = True
cmdSimpan.SetFocus
End If
End If
End If
End Sub

cmdHapus – Click
Private Sub cmdHapus_Click()
cJawab = MsgBox("Data Matakuliah Tersebut Akan Dihapus, Apakah Anda Yakin ?",_
vbYesNo, "Konfirmasi")
If cJawab = vbYes Then
rsMatKul.Delete 'Menghapus record dalam tabel
dbData.Recordsets.Refresh 'Merefresh isi tabel setelah dihapus
TabelGrid 'Memanggil procedure TabelGrid
End If
TombolAwal 'Memanggil procedure TombolAwal
Kosong 'Memanggil procedure Kosong
End Sub

cmdPerbaiki – Click
Private Sub cmdPerbaiki_Click()
cmdHapus.Enabled = False
cmdPerbaiki.Enabled = False
cmdSimpan.Enabled = True
cmdSimpan.Caption = "&UPDATE"
Aktif 'Memanggil procedure Aktif
optJurSi.Enabled = False
optJurTi.Enabled = False
optJurMi.Enabled = False
txtKdMkl.Enabled = False
MSFlexGrid1.Enabled = False
txtNmMkl.SetFocus
End Sub

cmdSelesai – Click
Private Sub cmdSelesai_Click()
If cmdSelesai.Caption = "S&ELESAI" Then
End
Else
Kosong
NonAktif
TombolAwal
MSFlexGrid1.Enabled = True 'Menjadikan grid bias di click
MSFlexGrid1.Redraw = True 'Menggambar ulang table grid dengan data yg ada
End If
End Sub

cmdSimpan – Click
Private Sub cmdSimpan_Click()
If cmdSimpan.Caption = "SIMPA&N" Then
rsMatKul.AddNew 'Menambah satu record baru/kosong
'Menyimpan data dari textbox kedlm field masing-masing pd table Matakuliah
rsMatKul!KdMkl = txtKdMkl.Text
rsMatKul!NmMkl = txtNmMkl.Text
rsMatKul!SksMkl = Val(txtSksMk.Text)
rsMatKul!Smstr = Val(cboSmstr.Text)
'Pengecekan terhadap option yang dipilih untuk disimpan dlm field Jurusan
If optJurSi.Value = True Then
rsMatKul!Jurusan = Mid(optJurSi.Caption, 2, Len(optJurSi.Caption) - 1)
ElseIf optJurTi.Value = True Then
rsMatKul!Jurusan = Mid(optJurTi.Caption, 2, Len(optJurTi.Caption) - 1)
ElseIf optJurMi.Value = True Then
rsMatKul!Jurusan = Mid(optJurMi.Caption, 2, Len(optJurMi.Caption) - 1)
End If
cmdSelesai.Caption = "&BATAL"
Aktif
Else
'Menyimpan data yang sudah ada dengan data baru setelah diperbaiki
rsMatKul.Edit
rsMatKul!NmMkl = txtNmMkl.Text
rsMatKul!SksMkl = Val(txtSksMk.Text)
rsMatKul!Smstr = Val(cboSmstr.Text)
If optJurSi.Value = True Then
rsMatKul!Jurusan = Mid(optJurSi.Caption, 2, Len(optJurSi.Caption) - 1)
ElseIf optJurTi.Value = True Then
rsMatKul!Jurusan = Mid(optJurTi.Caption, 2, Len(optJurTi.Caption) - 1)
ElseIf optJurMi.Value = True Then
rsMatKul!Jurusan = Mid(optJurMi.Caption, 2, Len(optJurMi.Caption) - 1)
End If
cmdSelesai.Caption = "S&ELESAI"
NonAktif
TombolAwal
MSFlexGrid1.Enabled = True
End If
rsMatKul.Update 'Mengupdate perubahan data dalam tabel setelah ditambah
'atau di edit
TabelGrid
Kosong
cmdSelesai.SetFocus
cmdSimpan.Enabled = False
cmdSimpan.Caption = "SIMPA&N"
End Sub

cmdTambah – Click
Private Sub cmdTambah_Click()
Aktif
Kosong
cmdTambah.Enabled = False
cmdSelesai.Caption = "&BATAL"
MSFlexGrid1.Enabled = False
End Sub

Form – Load
Private Sub Form_Load()
Kosong
NonAktif
TombolAwal
nSmt = 1 'Menetapkan variable bernama nSmt sekaligus memberi nilai 1
'Looping untuk menambahkan nilai pada cboSmstr dari 1 sampai 8
Do While nSmt <= 8
cboSmstr.AddItem (nSmt)
nSmt = nSmt + 1
Loop
'Menetapkan database dan tabel yang akan digunakan, lihat juga pada bagian
'General - Declaration
Set dbData = OpenDatabase(App.Path & "\dbAkademik.mdb") 'membuka file data
'base bernama dbAkademik.mdb yang telah dibuat sebelumnya, modul praktik 1
Set rsMatKul = dbData.OpenRecordset("Matakuliah") 'membuka tabel bernama
'Matakuliah yang telah dibuat dan disimpan dalam database dbAkademik
rsMatKul.Index = "IdxMatKul" 'Mengaktifkan file Index bernama IdxMatKul
MSFlexGrid1.Cols = 6 'Menetapkan Grid dengan 6 kolom
'Membuat Judul kolom pada grid MsFlexGrid1
MSFlexGrid1.TextArray(0) = "No."
MSFlexGrid1.TextArray(1) = "KODE MK"
MSFlexGrid1.TextArray(2) = "NAMA MATAKULIAH"
MSFlexGrid1.TextArray(3) = "SKS"
MSFlexGrid1.TextArray(4) = "SEMESTER"
MSFlexGrid1.TextArray(5) = "JURUSAN"
TabelGrid
End Sub

MSFlexGrid1 – Click
Private Sub MSFlexGrid1_Click()
'menampilkan data kedalam text box jika Grid di-click
'Data yang ditampilkan diambil dari tabel Matakuliah sesuai field masing2
txtKdMkl.Text = MSFlexGrid1.Text
rsMatKul.Seek "=", txtKdMkl.Text 'Melakukan pencarian KdMatKul, perintah ini
'dianggap salah jika dalam Form – Load tidak diberikan perintah untuk membuka
'file index untuk tabel yang bersangkutan, lihat pada Form – Load di
'baris rsMatKul.Index = "IdxMatKul" , itulah perintah untuk membuka index
txtNmMkl.Text = rsMatKul!NmMkl
txtSksMk.Text = rsMatKul!SksMkl
cboSmstr.Text = rsMatKul!Smstr
If UCase(rsMatKul!Jurusan) = "SISTEM INFORMASI" Then
optJurSi.Value = True
ElseIf UCase(rsMatKul!Jurusan) = "TEKNIK INFORMATIKA" Then
optJurTi.Value = True
ElseIf UCase(rsMatKul!Jurusan) = "MANAJEMEN INFORMATIKA" Then
optJurMi.Value = True
End If
cmdSelesai.Caption = "&BATAL"
cmdTambah.Enabled = False
cmdHapus.Enabled = True
cmdPerbaiki.Enabled = True
End Sub
MSFlexGrid1 – RowColChange
Private Sub MSFlexGrid1_RowColChange()
'menampilkan data kedalam text box jika pointer pd Grid dipindah-pindah
'sama seperti pada procedur MSFlexGrid1 - Click
txtKdMkl.Text = MSFlexGrid1.Text
rsMatKul.Seek "=", txtKdMkl.Text
txtNmMkl.Text = rsMatKul!NmMkl
txtSksMk.Text = rsMatKul!SksMkl
cboSmstr.Text = rsMatKul!Smstr
If UCase(rsMatKul!Jurusan) = "SISTEM INFORMASI" Then
optJurSi.Value = True
ElseIf UCase(rsMatKul!Jurusan) = "TEKNIK INFORMATIKA" Then
optJurTi.Value = True
ElseIf UCase(rsMatKul!Jurusan) = "MANAJEMEN INFORMATIKA" Then
optJurMi.Value = True
End If
End Sub

optJurMi – GotFocus
Private Sub optJurMi_GotFocus()
'jika option Jurusan MI mendapat focus
optJurMi.Value = True
txtKdMkl.SetFocus
End Sub

optJurSi – GotFocus
Private Sub optJurSi_GotFocus()
'jika option Jurusan SI mendapat focus
optJurSi.Value = True
txtKdMkl.SetFocus
End Sub

optJurTi – GotFocus
Private Sub optJurTi_GotFocus()
'jika option Jurusan TI mendapat focus
optJurTi.Value = True
txtKdMkl.SetFocus
End Sub

txtKdMkl – GotFocus
Private Sub txtKdMkl_GotFocus()
'jika txtKdMkl mendapat focus tetapi option jurusan belum dipilih
If optJurSi.Value = False And optJurTi.Value = False And _
optJurMi.Value = False Then
MsgBox "Uups..., Pilihlah Jurusan Lebih Dulu", vbOKOnly, "Informasi"
cmdSelesai.SetFocus
End If
End Sub

txtKdMkl – KeyPress
Private Sub txtKdMkl_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
'Jika txtKdMkl diisi dan ditekan tombol enter
rsMatKul.Seek "=", txtKdMkl.Text 'Mencari data yg sama dgn txtKdMkl
If rsMatKul.NoMatch Then
'Jika data tidak ditemukan
txtNmMkl.SetFocus
Else
'Jika data ditemukan, tampilkan data yg ada kedalam form
txtNmMkl.Text = rsMatKul!NmMkl
txtSksMk.Text = rsMatKul!SksMkl
cboSmstr.Text = rsMatKul!Smstr
If UCase(rsMatKul!Jurusan) = "SISTEM INFORMASI" Then
optJurSi.Value = True
ElseIf UCase(rsMatKul!Jurusan) = "TEKNIK INFORMATIKA" Then
optJurTi.Value = True
ElseIf UCase(rsMatKul!Jurusan) = "MANAJEMEN INFORMATIKA" Then
optJurMi.Value = True
End If
NonAktif
cmdHapus.Enabled = True
cmdPerbaiki.Enabled = True
cmdPerbaiki.SetFocus
End If
End If
End Sub

txtNmMkl – KeyPress
Private Sub txtNmMkl_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
'Jika txtNmMkl diisi dan ditekan tombol enter
txtSksMk.SetFocus
End If
End Sub

txtSksMk – KeyPress
Private Sub txtSksMk_KeyPress(KeyAscii As Integer)
'Melakukan pengecekan pada data yg diinputkan hanya boleh angka 0-9 dan
'tombol backspace
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or _
KeyAscii = vbKeyBack Or KeyAscii = 13) Then
Beep
KeyAscii = 0
Else
If KeyAscii = 13 Then
If Val(txtSksMk.Text) > 6 Then
MsgBox "Uups..., SKS Tidak Boleh Lebih Dari Enam", vbOKOnly,_
"Informasi"
Else
cboSmstr.SetFocus
End If
End If
End If
End Sub

Anda mungkin juga menyukai