• Tidak ada hasil yang ditemukan

BAB IV. IMPLEMENTASI SISTEM

4.3 Pembuatan Antar Muka Pemakai (User Interface)

Di sini akan dijelaskan bagaimana pembuatan antar muka pemakai (user interface) implementasi algoritma K-means untuk memprediksi nilai mahasiswa. Pada sistem ini hanya ada satu pengguna, yaitu user (dalam

hal ini yaitu mahasiswa) yang berhak untuk melalukan prediksi, mengubah password dan mengetahui tentang sistem.

Saat pertama kali sistem dijalankan akan menampilkan tampilan pembuka, sebagai berikut:

Setelah itu, sistem akan meminta aktivasi dengan mengisi form

login. Untuk login user diminta memasukkan identitas berupa nim dan

password (Gambar 4.3).

40

Dengan menekan tombol LOGIN, keabsahan data yang dimasukkan akan

dicek kecocokannya (verifikasi) .

Kode program pada form Login adalah sebagai berikut: Option Explicit

Dim conP As ADODB.Connection

Private Sub cmdBatal_Click() Unload LOGIN_USER End Sub

Private Sub cmdLogin_Click() If in_nim.Text = "" Then

MsgBox "NIM blm diinputkan", 0, "Peringatan" in_nim.SetFocus

ElseIf in_password.Text = "" Then

MsgBox "Password belum diinputkan", 0, "Peringatan" in_password.SetFocus

Else

With DE.rsLOGIN_USER

.Filter = "[nim]='" & in_nim.Text & "'" If .EOF And .BOF Then

MsgBox "Data tidak ditemukan", vbInformation, "DOR!" ElseIf in_password.Text = ![Password] Then

Me.Hide Load MENU_USER

MENU_USER.Show Else

MsgBox "Login anda salah, silahkan anda mengulangi kembali!", vbInformation, "Peringatan" in_nim = "" in_password = "" in_nim.SetFocus End If End With End If End Sub

Private Sub Form_Activate() in_nim.SetFocus

End Sub

Private Sub in_nim_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii)))

If (KeyAscii < vbKey0 Or KeyAscii > vbKey9) And _ KeyAscii <> vbKeyBack Then

KeyAscii = 0 End If If Len(in_nim.Text) = 10 Then in_password.SetFocus End If End Sub

Kemudian jika login berhasil maka user dapat masuk ke menu user

(Gambar 4.4).

Halaman Menu User memperlihatkan semua menu yang dapat diakses oleh user diantaranya adalah:

1. Prediksi

2. Ubah Password.

3. Abaout (Mengetahui bagaimana sistem digunakan) 4. Logout (jika user ingin keluar dari sistem)

42

Kode program pada Menu Utama adalah sebagai berikut :

Halaman Ubah Password digunakan oleh user untuk mengubah

data password yang sudah ada dalam database. Untuk mengubah

password user diminta untuk memasukkan data password baru dan

verifikasi password. Dengan menekan tombol EDIT maka secara otomatis data password baru akan disimpan dalam database menggantikan

Private Sub cmdLogout_Click() End

End Sub

Private Sub cmdPrediksi_Click() Unload Me

Load FORM_PREDIKSI FORM_PREDIKSI.Show End Sub

Private Sub Command2_Click() Load UBAH_PASSWORD UBAH_PASSWORD.Show End Sub

Private Sub cmd_about_Click() Unload Me

Load ABOUT ABOUT.Show End Sub

password yang lama, hal ini terjadi jika data password baru yang

dimasukkan sama dengan data verifikasi password.

Kode program pada form Ubah Password, adalah sebagai berikut:

Private Sub cmdBatal_Click() Unload Me

Load MENU_USER MENU_USER.Show End Sub

Private Sub cmdEdit_Click()

If Text1.Text = "" Then

MsgBox "Data belum diinputkan", vbInformation, "Peringatan" Text1.SetFocus

ElseIf Text2.Text = "" Then

MsgBox "data belum diinputkan", vbInformation, "Peringatan" Text2.SetFocus

Else

With DE.rsLOGIN_USER

.Filter = "[nim]='" & txtnim.Text & "'" If Text1.Text = Text2.Text Then

dbLog = " Update mahasiswa " & _

"Set [password] ='" & Text1.Text & "'" & _ "Where [nim]='" & txtnim.Text & "'" DE.DE_Prediksi.Execute (dbLog) DE.rsLOGIN_USER.Requery Unload UBAH_PASSWORD Load UBAH_PASSWORD Label3.ForeColor = &HC0& Label3.BackColor = &HE0E0E0 UBAH_PASSWORD.Show Else

MsgBox "data verifikasi salah, Ulangi lagi", vbInformation, "Peringatan" Text2 = "" Text2.SetFocus End If End With End If End Sub

Private Sub Form_Activate()

Text1.SetFocus

44

Pada form prediksi ini ditampilkan semua mata kuliah yang sudah diambil oleh mahasiswa beserta dengan nilai yang didapat, juga ditampilkan jumlah SKS yang telah ditempuh dan IPK mahasiswa. Saat menekan tombol PREDIKSI maka akan ditampilkan form pilih semester (Gambar 4.7).

kode program pada form Prediksi, adalah sebagai berikut: Private Sub cmd_batal_Click()

Unload Me MENU_USER.Show End Sub

Private Sub cmd_prediksi_Click() PILIH_SEMESTER.Show End Sub

Private Sub Form_Activate() End Sub

Private Sub Form_Load() Dim ipk As Double

ipk = Round(txtjum_nilai.Text / txtjum_sks.Text, 2)

txt_IPK.Text = ipk

End Sub

Pada form pilih semester terdapat dua pilihan yaitu semester genap dan ganjil. Saat memilih semester genap maka akan ditampilkan matakuliah yang ditawarkan pada saat semester genap (Gambar 4.9), begitu juga saat memilih semester ganjil maka akan ditampilkan matakuliah yang ditawarkan pada semester ganjil (Gambar 4.8).

Kode program pada halaman pilih semester, adalah sebagai berikut: Private Sub cmb_semester_KeyPress(KeyAscii As Integer)

KeyAscii = Asc(UCase(Chr(KeyAscii)))

If (KeyAscii < vbKey0 Or KeyAscii > vbKey9) And _ KeyAscii <> vbKeyBack Or _

Not (KeyAscii < vbKey0 Or KeyAscii > vbKey9) Then

KeyAscii = 0

End If End Sub

Private Sub cmd_pilih_Click() Me.Hide

Unload FORM_PREDIKSI

If cmb_semester.ListIndex = 0 Then PILIH_MATAKULIAH_Ganjil.Show

ElseIf cmb_semester.ListIndex = 1 Then PILIH_MATAKULIAH_Genap.Show

Else

MsgBox "Pilih Dulu", vbInformation, "Pemberitahuan"

Load Me

Me.Show

End If End Sub

Private Sub Form_Activate() Dim pil As ComboItem cmb_semester = ""

cmb_semester.DataChanged = False End Sub

Private Sub Form_Load()

cmb_semester.AddItem ("Ganjil") cmb_semester.AddItem ("Genap") End Sub

46

Pada form ini mahasiswa bisa memilih matakuliah apa saja yang akan diprediksi, tentunya matakuliah yang ditawarkan berdasarkan pilihan semester. Setelah memilih matakuliah, untuk memprediksinya tekan tombol prediksi.

Kode program pada halaman pilih matakuliah, adalah sebagai berikut: Private Sub cmd_prediksi_Click()

Dim error As Boolean List3.Clear List7.Clear

For i = 0 To List1.ListCount - 1 With DE.rsMK_PRASYARAT

.Filter = "[kode_MK]='" & CStr(List1.List(i)) & "'" If .EOF And .BOF Then

Exit Sub Else If .RecordCount > 0 Then .MoveFirst Do Until .EOF With DE.rsCommand4

.Filter = "([nim]='" & txtnim.Text & "') And ([kode_prasyarat]='" & DE.rsMK_PRASYARAT.Fields("kode_prasyarat") & "')"

If .EOF And .BOF Then

MsgBox "prasyarat mata kuliah" & vbCrLf & _ CStr(List1.List(i)) & _

vbTab & "yaitu" & vbCrLf &

DE.rsMK_PRASYARAT.Fields("kode_prasyarat").Value & _

vbTab & "belum diambil", vbInformation, "Pemberitahuan" List1.RemoveItem (i) List2.RemoveItem (i) List4.RemoveItem (i) List7.RemoveItem (i) error = True Else List3.AddItem CStr(DE.rsMK_PRASYARAT.Fields("kode_prasyarat")) List7.AddItem CStr(DE.rsMK_PRASYARAT.Fields("nama_MK")) 'Call kmeans End If End With .MoveNext Loop End If End If End With Next i

If error = True Then Exit Sub

Else

If List1.ListCount = 0 Then

MsgBox "Pilih dahulu mata kuliah yang akan diprediksi !", vbInformation, "DOR!"

ElseIf List1.ListCount > 1 Then

MsgBox "Pilih satu mata kuliah saja !", vbInformation, "DOR!" Else Me.Hide 'prediksi_ganjil.Show hasil_prediksi_ganjil.Show End If End If End Sub

Private Sub cmd_Tambah_Click() Dim X As Object

Dim i As Integer Dim clm As ColumnHeader

'If ListView1.SelectedItem Is Nothing Then Exit Sub If ListView1.Checkboxes = False Then Exit Sub List1.Clear List2.Clear List4.Clear List5.Clear List7.Clear For i = 1 To ListView1.ListItems.Count

If ListView1.ListItems(i).Checked = True Then

List1.AddItem CStr(ListView1.ListItems(i).ListSubItems(1).Text) List2.AddItem CStr(ListView1.ListItems(i).ListSubItems(2).Text) List4.AddItem CStr(ListView1.ListItems(i).ListSubItems(3).Text) End If 'ListView1.ListItems(i).Checked = False Next i End Sub

Dokumen terkait