43
Bab 4
Hasil dan Pembahasan
Bab ini berisi pemaparan mengenai hasil dari perancangan
sistem dalam bentuk pembahasan mengenai uji implementasi dari
hasil perancangan tersebut. Pengujian dilakukan untuk memperoleh
evaluasi apakah perancangan yang dilakukan dapat mencapai tujuan
yang diharapkan. Penjelasan akan didukung dengan gambar hasil
printscreen dari perangkat lunak, berikut penjelasannya.
4.1
Pembahasan Aplikasi
4.1.1 FormLogin
Terdapat satu macam bentuk antar-muka yaitu antar-muka
untuk admindan user.
Tampilan awal adalah halaman awal web, dimana admin dan
user harus melakukan login terlebih dahulu. Menu halaman awal ini meliputi login untuk mahasiswa, dosen dan admin. Tampilan dapat dilihat pada Gambar 4.1.
44
Gambar 4.1 merupakan halaman login administrator. Untuk melakukan login sebagai administrator, administrator harus memasukkan username dan password agar dapat mengakses sistem informasi akademik yang berupa mengolah data mahasiswa,
mengolah data dosen, mengolah data matakuliah, mengolah data
jurusan, mengolah tahun akademik, mengolah konversi nilai,
mengolah persyaratan matakuliah, mengolah batas sks (Sistem
Kredit Semester), mengolah jadwal registrasi dan mengolah
matakuliah semester). Untuk user yang dalam hal ini adalah dosen dan mahasiswa, harus melewati proses yang sama dengan
administrator untuk dapat mengakses sistem informasi akademik.
User tersebut dapat melihat sistem informasi yang ada namun tidak memiliki otoritas yang sama dengan administrator, yakni mengolah.
Kode Program 4.1 Proses Login
menampilkan pesan “Login anda tidak berhasil, silahkan ulangi lagi”, jika login salah. Jika username dan password benar maka akan masuk ke halaman berikutnya.
4.1.2 FormAdministrator
Jika user melakukan login sebagai administrator, maka akan ditampilkan halaman utama administrator.
Gambar 4.2 Halaman Data Dosen
Gambar 4.2 merupakan halaman dosen, yang terdapat data
46
Kode Program 4.2 Halaman Data Dosen
NIP yang telah di-input tidak dapat diubah. Kode program tersebut ada di baris 1-5. Kode program baris 6-18 berfungsi untuk
errorhandling, dimana data primary tidak dapat dihapus. Jika ada pengisian data secara berulang atau data yang dimasukkan sama
dengan data sebelumnya, maka database tidak akan menyimpan data
tersebut, kemudian akan tampil pesan “Maaf Data ini masih digunakan”.
1. Protected Sub ASPxGridView1_CustomCallback(ByVal sender As Object, ByVal e As
DevExpress.Web.ASPxGridView.ASPxGridViewCustomCallbackEventA rg) Handles ASPxGridView1.CustomCallback
2. Dim gv As ASPxGridView = DirectCast(sender, ASPxGridView) gv.StartEdit(CInt(e.Parameters))
3. Dim tb As ASPxTextBox =
DirectCast(gv.FindEditRowCellTemplateControl(DirectCas
(gv.Columns(0), GridViewDataColumn), "NIPTextBox"), ASPxTextBox)
4. tb.ClientEnabled = False
5. End Sub
6. Protected Sub ASPxGridView1_CustomErrorText(ByVal sender As Object, ByVal e As
DevExpress.Web.ASPxGridView.ASPxGridViewCustomErrorTextEvent Arg) Handles ASPxGridView1.CustomErrorText
7. Dim errText As String = ""
13.Select Case errNumber 14.Case 547
errText = "Maaf Data ini masih di gunakan" 15.End Select
16.End If
Kode Program 4.3 Generate Password Data Dosen
Kode program baris 1-6 berfungsi untuk mengambil teks yang
telah dimasukkan, sedangkan kode program baris 7-15 berfungsi
untuk generate password berdasarkan tanggal lahir. Kode program baris 16-17 berfungsi untuk mengambil NIP yang ada di session, sedangkan kode program baris 18-24 berfungsi untuk menguji
apakah NIP yang dimasukkan telah sesuai atau tidak. Kode program
25-30 berfungsi untuk mengkonversi tanggal ke password.
1. Protected Sub ASPxGridView1_RowInserting(ByVal
sender As Object, ByVal e As
DevExpress.Web.Data.ASPxDataInsertingEventArgs) Handles
ASPxGridView1.RowInserting
2. Dim nip As String = CStr(e.NewValues.Item("NIP")) 3. Dim tgl As Date = CDate(e.NewValues.Item("TglLahir")) 4. e.NewValues.Item("Password") = ConvertFromDate(tgl) 5. e.Cancel = CheckNIP(nip)
6. End Sub
7. Protected Sub ResetButton_Click(ByVal sender As Object, ByVal
e As System.EventArgs)
8. Dim btn As ASPxButton = DirectCast(sender, ASPxButton) 9. Dim id As String = btn.CommandArgument
10. Dim obj As Dosen = GetObject(id) 11.With obj
12..Password = ConvertFromDate(.TglLahir) 13..Save()
14.End With
15. End Sub
16. Private Function CheckNIP(ByVal nip As String) As Boolean
17.Dim obj As Dosen = session1.GetObjectByKey(Of Dosen)(nip) 18.If obj Is Nothing Then
19. Return False
20.Else
21. Throw New Exception("NIP " & nip & " sudah ada!") 22.Return True
23.End If
24.End Function
25. Private Function ConvertFromDate(ByVal tgl As Date) As String
26.Dim tanggal As String = Left(tgl.ToShortDateString, 2) 27.Dim bulan As String = Mid(tgl.ToShortDateString, 4, 2) 28.Dim thn As String = Right(tgl.ToShortDateString, 4) 29.Return tanggal & bulan & thn
48
Gambar 4.3 Halaman Data Mahasiswa
Gambar 4.3 merupakan halaman mahasiswa, yang terdapat
data mahasiswa. Sama halnya dengan data dosen, data mahasiswa
dapat diubah, ditambah atau dihapus oleh admin. NIM yang telah
di-input tidak dapat di-edit.
Untuk kode program halaman data mahasiswa, kurang lebih
hampir sama dengan Kode Program 4.3.
Gambar 4.4 merupakan halaman fakultas untuk mengakses
penambahan, edit, dan hapus fakultas di dalam universitas.
Kode Program 4.4 Halaman Fakultas
Kode program baris 1-3 digunakan untuk mengambil id
fakultas, sedangkan kode program baris 4-6 berfungsi untuk
menyimpan jurusan.
Gambar 4.5 Halaman Matakuliah
Gambar 4.5 merupakan halaman matakuliah, untuk
menambah, mengubah dan menghapus matakuliah dari
masing-masing fakultas dan jurusannya. Halaman ini berisikan Kode
Matakuliah, Nama Matakuliah, SKS Kuliah, SKS bayar dan Jurusan. 1. Protected Sub ASPxGridView1_DetailRowExpandedChanged(ByVal
sender As Object, ByVal e As
DevExpress.Web.ASPxGridView.ASPxGridViewDetailRowEventArgs)
Handles ASPxGridView1.DetailRowExpandedChanged 2. Session("FakultasID") =
ASPxGridView1.GetRowValues(e.VisibleIndex, "FakultasID") 3. End Sub
4. Protected Sub ASPxGridView2_RowInserting(ByVal sender As Object, ByVal e As
DevExpress.Web.Data.ASPxDataInsertingEventArgs) 5. e.NewValues
50
Gambar 4.6 Halaman Syarat Matakuliah
Gambar 4.6 merupakan halaman syarat matakuliah, untuk
mengatur syarat dari pengambilan matakuliah semester berikut, dan
nilai minimum dari matakuliah sebelumnya.
Kode Program 4.5 Halaman Syarat Matakuliah
Kode program baris 1-3 berfungsi untuk mengambil id
matakuliah untuk disimpan di syarat matakuliah. Kode program
baris 4-6 berfungsi untuk menyimpan syarat matakuliah. 1. Protected Sub ASPxGridView1_DetailRowExpandedChanged(ByVal
sender As Object, ByVal e As
DevExpress.Web.ASPxGridView.ASPxGridViewDetailRowEventArgs)
Handles ASPxGridView1.DetailRowExpandedChanged 2. Session("MatkulID") =
ASPxGridView1.GetRowValues(e.VisibleIndex, "MatkulID") 3. End Sub
4. Protected Sub ASPxGridView2_RowInserting(ByVal sender As Object, ByVal e As
Gambar 4.7 Halaman Matakuliah Semester
Pada halaman matakuliah semester, administrator dapat memilih matakuliah yang akan dibuka berdasarkan fakultas dan
jurusan.
Gambar 4.8 Halaman Jadwal Matakuliah
Gambar 4.8 merupakan halaman jadwal matakuliah dari
52
Gambar 4.9 Halaman Pengajar
Gambar 4.9 merupakan halaman pengajar, untuk
memasukkan, meng-edit dan menghapus nama pengajar/dosen yang akan mengajar sesuai dengan jadwal di tiap fakultas.
Kode Program 4.6 Simpan Jadwal Pengajar
Kode program 4.6 berfungsi mengambil id jadwal untuk di
simpan di dosen.
1. Protected Sub ASPxGridView1_DetailRowExpandedChanged(ByVal
sender As Object, ByVal e As
DevExpress.Web.ASPxGridView.ASPxGridViewDetailRowEventArgs)
Handles ASPxGridView1.DetailRowExpandedChanged 2. Session("JadwalID") =
ASPxGridView1.GetRowValues(e.VisibleIndex, "JadwalID") 3. End Sub
4. Protected Sub ASPxGridView1_RowInserting(ByVal sender As Object, ByVal e As
Gambar 4.10 Halaman Nilai
Gambar 4.10 merupakan halaman yang berisi nilai setiap
mahasiswa. Di halaman ini Administrator memiliki akses penuh untuk memasukkan, edit dan hapus nilai.
Gambar 4.11 Halaman Tahun Akademik
Gambar 4.11 merupakan halaman tahun akademik, untuk
54
Gambar 4.12 Halaman Batas SKS (Satuan Kredit Semester)
Gambar 4.12 merupakan halaman batas sks (Satuan Kredit
Semester) untuk mengatur batas maksimum matakuliah sesuai
dengan IP (Indeks Prestasi) yang diperoleh.
Gambar 4.13 Halaman Setting Mahasiswa
Gambar 4.13 merupakan halaman setting mahasiswa, untuk mengatur mahasiswa yang dapat dan tidak dapat melakukan
Gambar 4.14 Halaman Jadwal Registrasi Matakuliah
Gambar 4.14 merupakan halaman jadwal regristasi
matakuliah, untuk mengatur jadwal regristrasi agar registrasi dapat
berjalan sesuai dengan jadwal.
Gambar 4.15 Halaman Konversi Nilai
Gambar 4.15 merupakan halaman konversi nilai dari angka
56
4.1.3 Form Mahasiswa
Gambar 4.16 merupakan halaman utama dari form mahasiswa.
Gambar 4.16 Halaman Utama
Jika user melakukan login sebagai mahasiswa, maka akan ditampilkan halaman utama mahasiswa.
Gambar 4.17 Halaman Registrasi Matakuliah
Gambar 4.17 merupakan halaman regristrasi matakuliah,
agar mahasiswa dapat melihat matakuliah apa saja yang akan
Kode Program 4.7 Ambil Data Jurusan
Kode program baris 1-15 berfungsi untuk mengambil data
jurusan. Hasil dari kode program tersebut menampilkan kode
matakuliah dan nama matakuliah yang dapat diambil oleh
mahasiswa.
Kode Program 4.8 Periksa Tanggal Registrasi
Kode program baris 27-31 berfungsi memeriksa tanggal dan
waktu registrasi. Jika valid, mahasiswa dapat melanjutkan registrasi. Kode program baris 33-34 berfungsi untuk menampilkan keterangan
1. Private Function GetMatkulbyJurusan() As String
2. Dim thn As New TahunAktifvb(session1) 3. Dim cr As CriteriaOperator =
CriteriaOperator.Parse("[TahunAjaranID.TglAktifID]=" & thn.TahunID & _ " And [MatkulID.IDJur.JurusanID]= " & GetMahasiswa.IdJur.JurusanID)
4. Dim coll As New XPCollection(Of JadwalMatkKul)(session1, cr) 5. coll.Sorting.Add(New SortProperty("MatkulID",
SortingDirection.Ascending)) 6. Dim st As String = ""
7. For Each obj As JadwalMatkKul In coll 8. If coll.IndexOf(obj) = 0 Then
9. st = st & obj.MatkulID.MatkulID.ToString 10.Else
11. st = st & ", " & obj.MatkulID.MatkulID.ToString 12.End If
13.Next
14.Return "[TahunAjaranID!Key]=" & thn.TahunID & " And [MatkulID!Key] in (" & st & ")"
15. End Function
1. Private Function CheckValid() As Boolean
2. If CheckTanggalRegistrasi() Then
3. Dim jam As Date = Date.Now
4. If GetRegistrasi.WaktuMulai <= jam And
GetRegistrasi.WaktuAhkir >= jam Then
5. Return True
6. Else
7. KeteranganEror = "Jadwal Registrasi Anda adalah " & GetRegistrasi.WaktuMulai & " sampai " &
GetRegistrasi.WaktuAhkir 8. Return False
9. End If
10. End If
58
error jika waktu registrasi tidak valid (waktu registrasi tidak cocok dengan NIM mahasiswa yang login).
Kode Program 4.9 Periksa Objek Registrasi
Kode program baris 47-50 berfungsi untuk mengambil objek
registrasi dari session. Kode program baris 57-58 digunakan untuk mengambil user mahasiswa yang ada di session, sedangkan kode program baris 59-61 berfungsi untuk mengambil objek.
Hasil dari kode program 4.7, akan ditampilkan pada kartu
studi dan jadwal kuliah yang akan diambil mahasiswa.
Gambar 4.18 Halaman Kartu Studi
1. Private Function GetRegistrasi() As Registrasi
2. Dim objRegistrasi As Registrasi = session1.FindObject(Of
Registrasi)(GetCriteria) 3. Return objRegistrasi 4. End Function
5. Private Function GetMahasiswa() As Mahasiswa 6. Dim nim As String = CStr(Session("user")) 7. Dim obj As Mahasiswa = session1.GetObjectByKey(Of
Gambar 4.18 merupakan halaman kartu studi, agar user
dengan level mahasiswa, dapat melihat dan membatalkan matakuliah yang telah diregistrasi.
Gambar 4.19 Halaman Hasil Studi
Gambar 4.19 merupakan halaman hasil studi, agar
mahasiswa dapat melihat hasil pembelajaran selama semester
berjalan.
Cara perhitungan nilai IP (Indeks Prestasi) ialah sebagai berikut :
Kode Program 4.10 Hitung IP (Indeks Prestasi) Sementara
1. Private Function IPSementara() As Decimal
2. Dim coll As New XPCollection(Of Kuliah)(session1, GetCriteria)
3. Dim ak As Decimal = 0 4. Dim sks As Integer = 0
5. For Each obj As Kuliah In coll 6. ak = ak + obj.AK
60
Kode program 4.8 baris 6-7 berfungsi untuk menghitung IP
(IndeksPrestasi) mahasiswa.
Gambar 4.20 Halaman Jadwal Kuliah
Gambar 4.20 merupakan halaman jadwal kuliah,
menampilkan matakuliah dan waktu yang dipilih mahasiswa saat
registrasi matakuliah untuk diampuh selama semester berjalan.
Gambar 4.21 Halaman Transkrip Nilai
Gambar 4.21 merupakan halaman transkrip nilai, agar
Cara perhitungan nilai IPK (Indeks Prestasi Kumulatif) ialah sebagai
berikut :
Kode Program 4.11 Hitung IPK (IndeksPrestasi Kumulatif)
Kode program 4.9 berfungsi untuk menghitung IPK (Indeks
Prestasi Kumulatif).
4.1.4 Form Dosen
Jika user melakukan login sebagai dosen, maka akan ditampilkan halaman utama dosen.
Gambar 4.22 Halaman Input Nilai
1. Private Function IPSementara() As Decimal
2. Dim coll As ArrayList = GetListNilai() 3. Dim ak As Decimal = 0
4. Dim sks As Integer = 0
5. For Each obj As NilaiMahasiswa In coll 6. ak = ak + obj.AK
7. sks = sks + obj.SKS 8. Next
9. If coll.Count > 0 Then
10.Return ak / sks 11.Else
12.Return 0 13. End If
62
Gambar 4.22 merupakan halaman nilai, agar dosen dapat
memasukkan nilai sesuai dengan kelas yang diajarkan pada semester
berjalan.
Kode Program 4.12 Simpan Nilai
Kode program 1-9 berfungsi untuk memberi nilai „DT‟ bagi mahasiswa jika nilai kosong atau bernilai nol, sedangkan kode
program baris 10-17 berfungsi untuk memasukkan nilai baru
mahasiswa dalam satuan huruf.
4.2
Pengujian Aplikasi
4.2.1 Performance Analysis
Pada bagian ini dilakukan analisis aplikasi menggunakan
bantuan Software Web Application Testing 5.0 (WAPT). WAPT 1. Protected Sub SimpanButton_Click(ByVal sender As Object,
ByVal e As System.EventArgs)
6. Dim nim As String = CStr(gv.GetRowValues(x, "NIM!Key")) 7. Dim nilaiMhs As String = tb.Text
8. If String.IsNullOrEmpty(nilaiMhs) Then
nilaiMhs = "DT" 9. End If
10. Dim obj As New Nilai(session1) 11.With obj
12. .MatKulID = GetMK()
13..NIM = session1.GetObjectByKey(Of Mahasiswa)(nim) 14..TahunID = GetThnAjaran()
sendiri merupakan alat uji yang digunakan untuk menguji performa
sebuah aplikasi web, server web yang berjalan pada jaringan internet maupun internet dengan antarmuka web. Hasil dari pengujian menggunakan software ini dapat digunakan untuk menganalisis performa dari sebuah aplikasi web. Pada Gambar 4.22 disajikan gambar grafik yang menunjukkan hasil pengujian menggunakan
WAPT.
Gambar 4.23 GrafikUnjuk Kerja Aplikasi
Dengan grafik pada Gambar 4.23 dapat dijelaskan tentang
unjuk kerja aplikasi yang meliputi waktu response yang dibutuhkan oleh seorang user untuk menunggu response dari server, waktu
download yang dibutuhkan oleh user dan banyaknya halaman web
yang dapat dieksekusi tiap detik, banyaknya hits yang dieksekusi tiap detik, dan user yang aktif dalam mengakses aplikasi. Waktu eksekusi (sumbu x) berbanding dengan waktu untuk melakukan
64
Pages per Second
Pages per second yang dimaksud adalah banyaknya halaman web
yang dapat dieksekusi tiap detik. Hal ini terlihat pada grafik
Gambar 4.23 dimana untuk tiap interval waktu tertentu terjadi
perubahan pages per second berkisar antara 0 – 8,4 detik.
Hits per Second
Hits per second yang dimaksud adalah banyaknya hits tiap halaman web yang dapat dieksekusi tiap detik. Halaman ini terlihat pada Gambar 4.23 dimana untuk tiap interval waktu
tertentu terjadi perubahan yang sama dengan pages per second
yaitu berkisar antara 0 – 12,6 detik.
Active Users
Active users yang dimaksud adalah banyaknya user yang aktif dalam mengakses aplikasi web. Gambar 4.23 menunjukkan sebanyak 10 user yang mengakses aplikasi ini dan tidak terjadi penambahan atau pengurangan users.
Hasil analisa dari grafik pengujian aplikasi, dapat diketahui
semakin banyak user yang melakukan aktivitas semakin lama waktu