Anda di halaman 1dari 12

POLTEKNIK

MITRA KARYA MANDIRI


BREBES

MEMBUAT CRUD PADA VBA

1. Merancang Form Entri dengan Berbagai Control


Pada tahap ini kita akan memasukkan satu per satu elemen data entri yang telah
seperti kita tentukan di atas dengan jenis kontrol (control) yang terdapat pada
Toolbox.
a) Entri NIM
- Untuk NIM, kita akan menambahkan dua jenis kontrol yaitu suatu kotak
entri text (TextBox) dan suatu Label untuk memberi keterangan apa yang
harus diisi pada TextBox tersebut.
- Pada Toolbox, klik kontrol Label.

- Klik salah satu area pada form Anda dan atur penempatan label yang
akan segera ditambahkan ke form tersebut. Hasilnya kira-kira terlihat
terlihat seperti pada gambar berikut.

Terlihat pada Label 1 ini terdapat “kotak” dengan bingkai garis dan 8
kotak kecil. Ini menandakan bahwa Label1 lagi aktif dan dapat
dipindahkan atau diubah ukurannya.
- Baik, sekarang kita akan mengubah properties pada Label1 ini. Dengan
cara yang sama yaitu pada bagian property Caption dan ubah text dari
“Label1” menjadi “NIM”.
- Cari properties (Name) dan rubah text dari “Label1” menjadi “lblNim”.
Dengan langkah ini, kita telah mengubah nama kontrol tersebut yang
sangat berguna untuk digunakan sebagai referensi di pemrograman VBA
nantinya. Disiplin ini sebisa mungkin dibiasakan dari awal.
- Lalu selanjutnya Kembali kepada Toolbox, kemudian pilik kontrol
TextBox.

Manajemen informatika 1
- Tambahkan TextBox tersebut dengan cara mengklik area form. Hasilnya
akan terlihat seperti pada gambar berikut. Perhatikan kotak “aktif” yang
sebelumnya ada di kontrol label sekarang berpindah ke textbox ini.

- Ubah properties (Name) dari kontrol ini menjadi txtNim.

- Ubah lebar dari kontrol ini dengan mengisi properties Width menjadi
nilai 100. Jika Anda merasa tidak cukup, maka nilai ini bisa Anda
tambahkan sesuai keinginan Anda.
- Masih aktif pada kontrol yang sudah bernama txtNim ini, aturlah
penempatannya sehingga sejajar/ simetris dengan label lblKodeSiswa,
sehingga tampak lebih rapi.
- Selesai

Manajemen informatika 2
b) Entri nama, jenis kelamin, alamat, program studi, simpan dan keluar. Dengan
ketentuan sebagai berikut:
Label TextBox
Nama
Name: lblNama Name: txtNama
OptionButton
Name: optLakilaki
GroupName: JenisKelamin
Label
Jenis Kelamin
Name: lblJenisKelamin
OptionButton
Name: optPerempuan
GroupName: JenisKelamin
Label TextBox
Alamat
Name: lblAlamat Name: txtAlamat
Label ComboBox
Program Studi
Name: lblProdi Name: cmbProdi
CommandButton
Simpan
Name: cmdSimpan
CommandButton
Edit
Name: btnEdit
CommandButton
Hapus
Name: btnHapus
CommandButton
Keluar
Name: cmdKeluar

Sehingga tampak antarmuka sebagai berikut:

Selesai.

A. LOGIKA DAN KODE PROGRAM

Manajemen informatika 3
1. DATA AWAL PADA WORKSHEET
Data-data ini akan disimpan di Sheet1 pada worksheet kita. Ada baiknya kita buat
kerangka worksheet kita dengan data awal seperti tampak pada gambar berikut.

2. SIMPAN/ TAMBAH DATA (CREATE)


Untuk menambahkan data maka algoritma yang digunakan setelah kita
melakukan entri input dan penekanan tombol “Simpan” adalah sebagai berikut:
• Cari data baris per baris berdasarkan NIM Mahasiswa yang diinput apakah
sudah terdapat pada Sheet1.
• Cari posisi data pada baris terakhir dari sheet Sheet1.
• Baca data yang diinput dan sisipkan data pada baris berikutnya.

Untuk menyimpan data pada database workbook excel, kode selengkapnya


adalah sebagai berikut:

Private Sub cmdSimpan_Click()


With Worksheets("sheet1").Range("a2:a1000")

Dim rws As Long


Set Ws = Worksheets("Sheet1")
Ws.Activate
rws = Ws.Cells(Ws.Rows.Count, 1).End(xlUp).Offset(1, 0).row

Ws.Cells(rws, 1) = txtNim
Ws.Cells(rws, 2) = txtNama
If optLakilaki = True Then
Ws.Cells(rws, 3).Value = optLakilaki.Caption
Else
If optPerempuan = True Then
Ws.Cells(rws, 3) = optPerempuan.Caption
End If
End If
Ws.Cells(rws, 4) = txtAlamat
Ws.Cells(rws, 5) = cmbProdi

End With
End Sub

Kemudian pada kondisi tertentu, pada saat kita klik menyimpan data, field pada
textbook kita ingin Kembali pada keadaan semula, oleh karenanya kita perlu
mengosongkan data yang ada, maka tambahkan kode dibawah

Manajemen informatika 4
Ws.Range("E" & LastRow).Value = cmbProdi
dengan kode sebagai berikut:
txtNim = ""
txtNama = ""
optLakilaki = False
optPerempuan = False
txtAlamat = ""
cmbProdi.Value = ""
txtNim.SetFocus

Sehingga kode pada procedure simpan tampak seperti berikut:

Private Sub cmdSimpan_Click()


With Worksheets("sheet1").Range("a2:a1000")

Dim rws As Long


Set Ws = Worksheets("Sheet1")
Ws.Activate
rws = Ws.Cells(Ws.Rows.Count, 1).End(xlUp).Offset(1, 0).row

Ws.Cells(rws, 1) = txtNim
Ws.Cells(rws, 2) = txtNama
If optLakilaki = True Then
Ws.Cells(rws, 3).Value = optLakilaki.Caption
Else
If optPerempuan = True Then
Ws.Cells(rws, 3) = optPerempuan.Caption
End If
End If
Ws.Cells(rws, 4) = txtAlamat
Ws.Cells(rws, 5) = cmbProdi

txtNim = ""
txtNama = ""
optLakilaki = False
optPerempuan = False
txtAlamat = ""
cmbProdi.Value = ""

txtNim.SetFocus
End With
End Sub

Lalu, karena Prodi disini kita menggunakan ComboBox, oleh karenanya kita perlu
menginisialisasi terlebih dahulu, untuk pemberikan nama-nama yang ada pada
prodi itu, yaitu: Teknik Informatika, Sistem Informasi dan Manajemen Informatika.
Demikian sehingga kita buat prosedur untuk menginisialisasi prodi, dengan
memilih Userform dan Initialize. Setelah itu masukan kode berikut ini:

Manajemen informatika 5
Private Sub UserForm_Initialize()
With cmbProdi
.AddItem "Teknik Informatika"
.AddItem "Sistem Informasi"
.AddItem "Manajemen Informatika"
End With
End Sub

Dan sekarang, data yang kita masukan akan tersimpan pada database workbook
excel. Seperti berikut ini.

3. KELUAR (EXIT)
Kemudian selanjutnya, untuk tombol keluar. Kita berikan fungsi close, agar Ketika
kita klik tombol keluar, maka kita akan keluar dari dari lembar kerja/ Workbook
excel, yaitu sebagai berikut:

Manajemen informatika 6
Public Sub cmdKeluar_Click()
ActiveWorkbook.Close savechanges:=True
End Sub

4. MENGUBAH/ EDIT DATA (EDIT)


Untuk pengubahan / edit data yang sedang ditampilkan, konsepnya sama dengan
menambahkan data, hanya saja data yang lama ditindas. Langkah-langkahnya
adalah:
- Cari posisi data yang mau diubah
- Timpa data lama dengan yang baru

Untuk langkah pertama adalah mencari data, jadi Jika data tersebut sudah
ketemu dan mau diubah, maka kita langsung memasukkan kode tambah data
tanpa harus mencari baris terakhir. Sehingga kode lengkapnya adalah sebagai
berikut:

Private Sub btnEdit_Click()


Dim NimVar
Dim CellTarget As Range

NimVar = txtNim.Text
Set CellTarget = Range("A:A").Find(What:=NimVar)

Cells(CellTarget.Row, 2) = txtNama
If optLakilaki = True Then
Cells(CellTarget.Row, 3).Value = optLakilaki.Caption
Else
If optPerempuan = True Then
Cells(CellTarget.Row, 3) = optPerempuan.Caption
End If
End If
Cells(CellTarget.Row, 4) = txtAlamat
Cells(CellTarget.Row, 5) = cmbProdi
End Sub

5. MEMINIMALISIR ADANYA REDUDANSI DATA


Redundansi data merupakan kerangkapan data yang terjadidalam
basisdata,bukan pada tabel. Denganpenggunaan DBMS,terjadi pengurangan
redundansi data, sehingga terjadipenghematan dalam penggunaan piranti
penyimpanan. Sehingga, dengan menghilangkan redundansi, resiko data yang
tidakkonsisten dapat dikurangi.

Tambahkan kode ini:

Set a = .Find(txtNim.Value, LookIn:=xlValues)


If a Is Nothing Then

Dibawah kode berikut, pada button Simpan:

Manajemen informatika 7
With Worksheets("sheet1").Range("a2:a1000")

Kemudian, buat message berikut, untuk memberikan informasi bahwa data


tersebut telah diinput:

Else
MsgBox "Maaf data sudah ada"

Letakkan kode diatas tadi, tepat dibawah kode ini:

Ws.Cells(rws, 4) = txtAlamat
Ws.Cells(rws, 5) = cmbProdi

Kemudian terakhir, jangan lupa untuk beri penutup End If, diatas kode End With,
seperti berikut ini:

End If
End With
End Sub

6. HAPUS DATA (DELETE)


Untuk menghapus data yang telah diinput, kita dapat menggunakan kode
berikut:

Private Sub btnHapus_Click()

Dim NimVar
Dim CellTarget As Range
NimVar = txtNim.Text
Set CellTarget = Range("A:A").Find(What:=NimVar)
Rows(CellTarget.Row).Delete Shift:=xlUp

End Sub

Selanjutnya tambahkan script berikut, untuk memberikan alert, hal ini membantu
untuk memberikan petunjuk agar memasukan data, data mana yang akan
dihapus.

Private Sub btnHapus_Click()

Dim NimVar
Dim CellTarget As Range
NimVar = txtNim.Text
Set CellTarget = Range("A:A").Find(What:=NimVar)
If NimVar = "" Then

Manajemen informatika 8
MsgBox "Pilih Data yang akan dihapus", vbInformation, "DATA"
Else
If CellTarget Is Nothing Then
MsgBox "Data Tidak ditemukan"
Else
Rows(CellTarget.Row).Delete Shift:=xlUp
End If
End If
End Sub

7. TAMPIL DATA (READ)


Buat tampil data dengan CommandButton;
CommandButton Name: btnTampil Caption: Tampil

Sehingga tampak seperti berikut:

Fungsi button tampil ini nantinya untuk membuka form baru, yang berisi record
dari data mahasiswa.
Silahkan isi button tampil tersebut dengan script berikut:

Private Sub btnTampil_Click()


frmTampil.Show
frmHome.Hide
End Sub

8. BUAT FORM BARU

Manajemen informatika 9
Buat form baru dengan diberi nama Form Tampil. Kemudian desain layout form
seperti tampak berikut ini:

CommandButton Name: btnHome Caption: Home


CheckBox Name: cbTampilData Caption: Tampilkan Data
ListBox Name: ListBoxTampil

9. TAMPILKAN DATA
Selanjutnya untuk menampilkan data, terlebih dahulu tulis script berikut pada
bagian VBE:

Sub TampilkanSemua()
If cbTampilData.Value = True Then
Set Tmp = Sheets("Sheet1")
End If
With ListBoxTampil 'Judul Data Mhs
.AddItem
.ColumnCount = 5
.List(.ListCount - 1, 0) = "NIM"
.List(.ListCount - 1, 1) = "Nama"
.List(.ListCount - 1, 2) = "Jenis Kelamin"
.List(.ListCount - 1, 3) = "Alamat"
.List(.ListCount - 1, 4) = "Program Studi"

Manajemen informatika 10
.ColumnWidths = 55 & ";" & 80 & ";" & 100 & ";" & 110
End With
Set Status = Tmp.Range("A2", Tmp.Range("A2").End(xlDown))
Set rgTampil = Status.SpecialCells(xlCellTypeVisible)
For Each sTampil In rgTampil
With ListBoxTampil 'Menampilkan Data Ke List
.AddItem
.List(.ListCount - 1, 0) = sTampil.Value
.List(.ListCount - 1, 1) = sTampil.Offset(0, 1).Value
.List(.ListCount - 1, 2) = sTampil.Offset(0, 2).Value
.List(.ListCount - 1, 3) = sTampil.Offset(0, 3).Value
.List(.ListCount - 1, 4) = sTampil.Offset(0, 4).Value
End With
Next sTampil
End Sub

Lalu, tambahkan script pada fitur checkbox, untuk memberikan fitur aktif dan
non aktifkan data yang akan ditampilkan:

Private Sub cbTampilData_Click()

If cbTampilData.Value = True Then


Call TampilkanSemua
Else
ListBoxTampil.Clear
End If
End Sub

Kemudian, untuk bisa switch ke form utama kita berikan fitur home pada tombol
Home, dengan nambahkan script berikut ini:

Private Sub btnHome_Click()


frm2.Hide
frm1.Show
End Sub

Dan sekarang, form tersebut sudah bisa dijalankan.

Manajemen informatika 11
References:

http://excelarasi.blogspot.com/
https://deyrahmi.wordpress.com/
http://library.binus.ac.id/
http://cah-patrick.blogspot.com/
http://tipandtrickunikvb.blogspot.com/
https://informasi-beritaandre.blogspot.com/

Manajemen informatika 12

Anda mungkin juga menyukai