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
Kode Program 4.1 digunakan untuk melakukan proses login. Pada baris 5-7 digunakan untuk memeriksa apakah login benar atau salah. Sedangkan pada baris 9-11 digunakan untuk memeriksa login admin. Else.FailureText pada baris 12-13 digunakan untuk
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 dosen dimana admin dapat menambah, merubah dan menghapus data. Hanya saja, NIP yang sudah ada tidak dapat diedit.
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 = "" 8. If (e.Exception Is Nothing) Then
9. Exit Sub
10. Else
11. Dim ex As SqlException =
DirectCast(e.Exception.InnerException, SqlException) 12. Dim errNumber As Integer = ex.Number
13. Select Case errNumber 14. Case 547
errText = "Maaf Data ini masih di gunakan" 15. End Select
16. End If
17. e.ErrorText = errText 18. End Sub
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
DevExpress.Web.Data.ASPxDataInsertingEventArgs) 5. e.NewValues.Item("IDMatKul!Key") = Session("MatkulID") 6. End Sub
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 setiap fakultas dan jurusan. Administrator dapat menambahkan, mengubah dan menghapus data sesuai kebutuhan.
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
DevExpress.Web.Data.ASPxDataInsertingEventArgs) 5. e.NewValues.Item("JadwalID!Key") = Session("JadwalID") 6. End Sub
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 mengakses tahun ajaran dan semester yang sedang berlangsung.
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 registrasi.
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 menjadi huruf.
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 diambil.
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
Mahasiswa)(nim) 8. Return obj 9. End Function
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 7. sks = sks + obj.MatKulID.SKSKuliah 8. Next 9. If coll.Count > 0 Then 10. Return ak / sks 11. Else 12. Return 0 13. End If 14. End Function
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 mahasiswadapat melihat IPK (Indeks Prestasi Kumulatif).
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 14. End Function
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)
2. Dim gv As ASPxGridView = ASPxGridView1
3. For x As Integer = 0 To gv.VisibleRowCount - 1 4. Dim tb As ASPxTextBox =
CType(gv.FindRowCellTemplateControl(x,
CType(gv.Columns("Nilai"), GridViewDataColumn), "ASPxTextBox"), ASPxTextBox)
5. If tb.Enabled Then
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() 15. .Nilai_ = nilaiMhs 16. .Save() 17. End With 18. End If 19. Next 20. gv.DataBind() 21. Response.Redirect("default.aspx") 22. End Sub
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 pengujian aplikasi (sumbu y).
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