Pada aplikasi ini saya berusaha semaksimal mungkin untuk membuat aplikasi ini bebas bug, berikut ini contoh fitur dan cara menggunakan aplikasi ini:
1. FITUR MEMILIH JENIS PENGGUNA
Anda bisa memilih jenis pengguna melalui combo box yang berada di pojok kanan bagian bawah aplikasi ini. Ada dua jenis pengguna yang dapat dipilih, yaitu "Admin" dan "Pengguna Biasa". Jika Anda masuk sebagai Pengguna biasa Anda hanya bisa menikmati fitur yang ada pada Group Box "Fungsi Standar" saja, tetapi jika Anda memilih sebagai Admin maka Anda bisa juga mengaktifkan fitur yang ada pada Combo Box "Kendali Admin".
2. FITUR MASUK SEBAGAI ADMIN

Sebelum Anda menikmati fitur sebagai Admin, maka sebelumnya Anda akan dimintai password, dalam kasus ini password yang digunakan adalah "admin". Fitur yang Anda nikmati selain fitur Fungsi Standar Anda juga mendapatkan fitur "Tambah data", "Simpan" dan "Hapus" data.
3. FITUR MENAMBAH DATA
Untuk menggunakan fitur ini, Anda cukup menekan tombol "Tambah data". Setelah Anda menekan tombol tersebut maka akan disediakan record baru dan kotak isian diaktifkan, selain itu tombol "Simpan" pun diaktifkan namun tombol "Tambah data" justru dinonaktifkan". Silahkan isikan data yang Anda inginkan sesuai kotalk isian yang disediakan.

Setelah Anda yakin tentang data yang Anda isikan, pastikan simpan datanya, Tekan tombol "Simpan" untuk melakukannya.
Setelah Anda menekan tombol simpan, maka kotak isian dan tombol simpan akan dinonaktifkan sementara itu tombol Tambah data diaktifkan.
Perlu diperhatikan, bahwa NIM yang diisikan tidak boleh ada yang sama. Jika anda mencoba memasukkan NIM yang sama dengan record yang lain akan muncul peringatan seperti ini
4. FITUR BERPINDAH-PINDAH RECORD
Fitur ini bekerja selayaknya seperti navigasi, di sana terdapat beberapa tombol navigasi, yaitu "Ke data sebelumnya", "Ke data berikutnya", "Ke data pertama" dan "Ke data terakhir".
Tombol "Ke data sebelumnya" dan "Ke data berikutnya" digunakan untuk maju atau mundur satu record.
Tombol "Ke data pertama" digunakan untuk menuju record paling awal.
Tombol "Ke data terakhir" digunakan untuk menuju record paling akhir.
Perlu diperhatikan, jika Anda sudah ada di posisi record paling awal tetapi Anda mencoba untuk menekan tombol "Ke data sebelumnya" maka akan muncul peringatan seperti ini
Begitu juga sebaliknya, Jika Anda sedang berada pada record paling akhir tetapi Anda mencoba mengakses tombol "Ke data berikutnya" muncul juga peringatan seperti di bawah ini


5. FITUR PENCARIAN NAMA
Anda bisa mengakses fitur ini dengan menekan tombol "Pencarian nama"
Anda bisa memasukkan nama yang Anda cari pada kotak isian yang disediakan tersebut, dalam kasus ini saya mencontohkan dengan nama "Lisa" yang notabene nama tersebut memang terdapat dalam database, maka yang terjadi adalah sebagai berikut
Namun jika saya memasukkan nama yang tidak terdapat pada database, dalam kasus ini saya mencoba mencari nama Agung, maka yang terjadi adalah berikut ini
6. FITUR KELUAR DARI APLIKASI
Anda bisa menutup aplikasi ini dengan mengakses tombol "Keluar" atau bisa juga melalui tombol "x" yang ada di pojok kanan atas dari aplikasi ini.
Jika Anda menjawab Yes maka aplikasi akan ditutup, tetapi jika Anda menjawab No maka Anda akan tetap pada aplikasi ini.
Berikutnya saya akan membahas bagaimana untuk membuat aplikasi ini. Dalam membuat aplikasi ini, pertama yang harus kita lakukan adalah mebuat data base-nya terlebih dahulu, dalam kasus ini saya membuatnya dengan nama DataBaseMahasiswa, setelah kita membuat data base, selanjutnya kita buat project-nya dalam kasus ini saya beri nama dengan "Connect DataBase". Setelah kedua objek tersebut tercipta, selanjutnya kita "kawinkan" keduanya, tetapi saya tidak akan membahas bagaimana "mengawinkannya", yang akan saya bahas hanya tentang bagaimana source code untuk membangun aplikasi ini.
Berikut adalah source code beserta penjelasan kegunaan dari tiap baris perintahnya
==============SOURCE CODE APLIKASI “Data
Mahasiswa STMIK Amikom Purwokerto”==============
Public Class Form1
Dim pss As Integer = 1
'pss menunjukkan nomer urut posisi record yang aktif
Private Sub
TabelMahasiswaBindingNavigatorSaveItem_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
TabelMahasiswaBindingNavigatorSaveItem.Click
'Coding di bawah ini digunakan untuk menyimpa/saving
perubahan yang terjadi
'Tetap dalam program ini, tombol save saya visible=false
Me.Validate()
Me.TabelMahasiswaBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.DataBaseMahasiswaDataSet)
End Sub
Private Sub
Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
'Coding di bawah ini akan dilakukan jika form
dimuat/dijalankan
Me.TabelMahasiswaTableAdapter.Fill(Me.DataBaseMahasiswaDataSet.TabelMahasiswa)
Dim control As
Windows.Forms.Control
For Each control In Me.Panel1.Controls
If (control.GetType.Name <> "Label") Then
control.Enabled = False
End If
Next
'Kode di atas digunakan untuk mendisable kotak isian pada
panel 1, tetapi label masih tetap hidup
End Sub
Private Sub
Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button7.Click
'Tombol ini digunakan untuk melakukan pencarian nama dalam
database yang sudah tersimpan sebelumnya
If (TabelMahasiswaBindingSource.Count = 0) Then
MsgBox("Belum ada data yang
diisikan", vbOKOnly + vbInformation, "Peringatan")
'Melakukan pengecekan kosong atau tidak data pada tabel
gridnya, jika kosong muncul peringatan tersebut
Else
'Jika di dalam table sudah ada datanya maka yang dilakukan
adalah kode di bawah ini
'sintaks untuk melakukan pencarian berdasar nama
Dim namaCari As String
namaCari = InputBox("Masukkan
Nama", "Cari Nama")
'cara mengeluarkan input box sekaligus menempatkan valuenya
pada variable namaCari
If (TabelMahasiswaBindingSource.Find("Nama", namaCari)) > -1 Then
'maksud dari Find("Nama", namaCari)
adalah mencari namacari di kolom "Nama" pada database
'Jika data ditemukan maka akan ada
pemberitahuan sekaligus menampilkan datanya di kotak isisan yang disediakan
MsgBox("Data Ditemukan",
vbOKOnly, "Pencarian Data")
Me.TabelMahasiswaBindingSource.Position
= TabelMahasiswaBindingSource.Find("Nama",
namaCari)
pss = TabelMahasiswaBindingSource.Find("Nama",
namaCari) + 1
'menentukan posisi baris yang akti, caranya
indeks dari nama+1, karena indeks mulai dari 0
Else
'Tetatpi jika nama yang dicari tidak ditemukan
maka muncul peringatan berikut
MsgBox("Data Tidak Ditemukan",
vbOKOnly, "Pencarian Data")
End If
End If
End Sub
Private Sub
Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button4.Click
'Tombol ini digunakan untuk berpindah ke record berikutnya
Dim max As Integer = TabelMahasiswaBindingSource.Count
'mengisikan nilai max dengan banyaknya record yang tersedia
If (max = 0) Then
'jika max=0 atau bisa diartikan jika bnyaknya record = 0
atau tidak ada data yang didimpan
'Maka Message Box di bawah ini akan tampil
MsgBox("Belum ada data yang
diisikan", vbOKOnly + vbInformation, "Peringatan")
Else
'jika dalam data base sudah ada data/record
If (pss = max) Then
'jika pss(posisi record aktif) = banyaknya
record, bisa diartikan jika pss berada di record terakhir
'maka keluar Message berikut ini
MsgBox("Sudah tidak ada data lagi",
vbOKOnly + vbInformation, "Peringatan")
Else
'jika posisi record aktif tidak pada record
terakhir maka record yang ditampilkan adalah record berikutnya
TabelMahasiswaBindingSource.MoveNext()
'setelah itu pss ditambah 1 supaya nmr urut
posisi record aktif bertambah 1
pss += 1
End If
End If
End Sub
Private Sub
Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button3.Click
'Tombol ini digunakan untuk berpindah ke record sebelumnya
If (TabelMahasiswaBindingSource.Count = 0) Then
'Jika banyaknya record yang tersimpan dalam database = 0,
maka akan keluar Message Box berikut ini
MsgBox("Belum ada data yang
diisikan", vbOKOnly + vbInformation, "Peringatan")
Else
'Tetapi jika dalam database sudah terdapat record yang
tersimpan maka lakukan perintah2 di bawah ini
If (pss = 1) Then
'Jika nomer urut posisi record yang aktif = 1,
atau bisa dikatakan jika kita berada di record paling awal
'Maka akan keluar Message box di bawah ini
MsgBox("Sudah tidak ada data lagi",
vbOKOnly + vbInformation, "Peringatan")
Else
'Tetapi jika kita tidak berada di record
paling awal, maka record yang aktif akan berpindah ke record sebelumnya
'Coding di bawah ini untuk berpindah ke record
sebelumnya
TabelMahasiswaBindingSource.MovePrevious()
'Setelah itu nomer urut posisi record yang
aktif dikurangi satu, karena record mundur 1 langkah
pss -= 1
End If
End If
End Sub
Private Sub
Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button5.Click
'Tombol ini digunkan untuk berpindah ke record paling awal
If (TabelMahasiswaBindingSource.Count = 0) Then
'Jika banyaknya record yang tersimpan dalam database = 0,
maka akan keluar Message Box berikut ini
MsgBox("Belum ada data yang
diisikan", vbOKOnly + vbInformation, "Peringatan")
Else
'Tetapi jika dalam database sudah terdapat record yang
tersimpan maka lakukan perintah2 di bawah ini
'Coding di bawah ini digunakan untuk berpindah ke record
paling awal
TabelMahasiswaBindingSource.MoveFirst()
'Setelah itu nomer urut posisi record yang aktif diisi 1,
karena record aktif sekarang ada di nomer urut 1
pss = 1
End If
End Sub
Private Sub
Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button6.Click
'Tombol ini digunkan untuk berpindah ke record paling akhir
If (TabelMahasiswaBindingSource.Count = 0) Then
'Jika banyaknya record yang tersimpan dalam database = 0,
maka akan keluar Message Box berikut ini
MsgBox("Belum ada data yang
diisikan", vbOKOnly + vbInformation, "Peringatan")
Else
'Tetapi jika dalam database sudah terdapat record yang
tersimpan maka lakukan perintah2 di bawah ini
'Coding di bawah ini digunakan untuk berpindah ke record
paling akhir
TabelMahasiswaBindingSource.MoveLast()
'Setelah itu nomer urut posisi record yang aktif diisi
TabelMahasiswaBindingSource.Count<banyaknya data=nmr urut record
terakhir> , karena record aktif sekarang ada di nomer urut paling akhir
pss = TabelMahasiswaBindingSource.Count
End If
End Sub
Private Sub
Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
'Tombol ini digunakan untuk menyediakan record baru untuk
tempat data baru
'Tombol ini hanya bisa diakses oleh seorang admin saja
'Ketika tombol ini ditekan maka kotak isian untuk pengisian
data akan bestatus enabled=true
Dim control As
Windows.Forms.Control
For Each control In Me.Panel1.Controls
If (control.GetType.Name <> "Label") Then
control.Enabled = True
End If
Next
'Coding ini untuk menyediakan record baru
TabelMahasiswaBindingSource.AddNew()
'Tombol "simpan" diaktifkan
Button9.Enabled = True
'Tombol "Tambah data dinonaktifka
Button1.Enabled = False
'Untuk memfokuskan kursor di kotak isian NIM
NIMTextBox.Focus()
End Sub
Private Sub
Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button2.Click
'Tombol ini digunakan untuk menghapus record yang sedang
dipilih
'Tombol ini hanya bisa diakses oleh seorang admin saja
If pss = TabelMahasiswaBindingSource.Count Then
'Logika ini hanya untuk mengetahui apakah posisi record
yang akan dihapus adalah nmer urut terakhir atau bukan
'Jika nomer urut dari record yang akan di hapus ada di nomer
urut record terakhir maka nomer urut record dikurangi 1
pss -= 1
End If
If (TabelMahasiswaBindingSource.Count = 0) Then
'Jika banyaknya record yang tersimpan dalam database = 0,
maka akan keluar Message Box berikut ini
MsgBox("Belum ada data yang
diisikan", vbOKOnly + vbInformation, "Peringatan")
Else
'Jika banyaknya record yang tersimpan >= 1 maka lakukan
perintah2 di bawah ini
'Sebelum menghapus, admin akan dikonfirmasi dulu apakah
yakin menghapus record yang dimaksud, jika ya maka record yang dimaksud akan
dihapus
If (MsgBox("Anda
yakin ingin menghapus record tersebut ?", vbQuestion + vbYesNo +
vbDefaultButton2, "Konfirmasi")) =
vbYes Then
'coding di bawah
ini digunakan untuk menghapus record yang dimaksud
TabelMahasiswaBindingSource.RemoveCurrent()
'3 baris coding ini digunakan untuk
mengupdate/saving perubahan kepada database
Me.Validate()
Me.TabelMahasiswaBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.DataBaseMahasiswaDataSet)
End If
End If
End Sub
Private Sub
Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button9.Click
'Tombol ini digunakan untuk menyimpan/mengupdate data pada
database
Try
'Jika NIM dari record baru tidak terdapat pada data base
maka prosedur penyimpanan akan dilaksanakan.
pss = TabelMahasiswaBindingSource.Count 'Digunakan
untuk menyatakan "nomer urut record yang aktif = nomer urut terakhir"
'3 baris coding ini digunakan untuk mengupdate/saving
perubahan kepada database
Me.Validate()
Me.TabelMahasiswaBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.DataBaseMahasiswaDataSet)
'Pendeklarasian control
Dim control As
Windows.Forms.Control
'Perulangan ini akan menyebabkan control selain label yang
ada dalam Panel1 akan di-disable
For Each control In Me.Panel1.Controls
If (control.GetType.Name <> "Label") Then
control.Enabled = False
End If
Next
'Tombol "Tambah data" akan diaktifkan kembali
Button1.Enabled = True
'Tombol "Simpan" akan dinonaktifkan
Button9.Enabled = False
Catch ex As Exception
'Jika NIM dari record baru sudah terdapat pada data base
maka prosedur penyimpanan tidak akan dilaksanakan dan akan mengeluarkan Message
Box di bawah ini.
MsgBox("NIM sudah digunakan oleh orang
lain", vbOKOnly + vbCritical, "Peringatan")
'Setelah prosedur penyimpanan digagalkan maka kursor akan
difokuskan pada NIMTextBox
NIMTextBox.Focus()
TabelMahasiswaBindingSource.RemoveCurrent()
Me.Validate()
Me.TabelMahasiswaBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.DataBaseMahasiswaDataSet)
Button1.Enabled = True
Button9.Enabled = False
pss -= 1
End Try
End Sub
Private Sub
Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button8.Click
'Tombol ini digunakan untuk keluar dari aplikasi ini
'Sebelum keluar, pengguna akan dikonfirmasi dulu tentang
niatannya untuk keluar
If (MsgBox("Anda
yakin?", vbYesNo + vbQuestion + vbDefaultButton2, "Konfirmasi")) = vbYes Then
'Jika jawabannya "Yes" maka aplikasi akan ditutup
End
End If
End Sub
Private Sub
ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
ComboBox1.SelectedIndexChanged
'Combo box ini digunakan untuk memilih pengguna sebagai
seorang "Admin" atau "Pengguna Biasa"
If (ComboBox1.Text = "Admin")
Then
'Jika user adalah seorang "Admin" maka
Label1(Password) dan TextBox1(Kotak isian password) akan ditampilkan pada
GroupBoX3(Group Box "Gunakan Sebagai")
Label1.Visible = True
TextBox1.Visible = True
ElseIf (ComboBox1.Text = "Pengguna
Biasa") Then
'Tetapi jika user adalah seorang "Pengguna Biasa"
maka Label1 dan TextBox1 akan disembunyikan/tidak ditampilkan
Label1.Visible = False
TextBox1.Visible = False
'GroupBox1(Group Box "Kendali Admin")
dinonaktifkan
GroupBox1.Enabled = False
End If
End Sub
Private Sub
TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
TextBox1.TextChanged
'Textbox ini digunakan untuk mengisikan password
'Sebelumnya rubah dulu properti TextBox1,
UseSystemPasswordChar=True, dengan properti seperti ini maka inputan text
otomatis berpenampilan sebagai karakter password
'Pastikan event dari TextBox1 ini adalah
"TextChanged"
If (TextBox1.Text = "admin")
Then
'Jika text yang diisikan pada TextBox1 adalah
"admin", maka GroupBox1(Group Box "Kendali Admin")
diaktifkan
GroupBox1.Enabled = True
Else
'tetapi jika text yang diisikan pada TextBox1 bukan
"admin", maka GroupBox1(Group Box "Kendali Admin")
dinonaktifkan
GroupBox1.Enabled = False
End If
End Sub
End Class