Pembahasan Aplikasi Hasil dan Pembahasan

60

Bab 4 Hasil dan Pembahasan

Pada bab ini berisi hasil dan pembahasan berupa implementasi dari perancangan dan pengujian dari Aplikasi yang di bangun. Dalam hal ini Sistem Informasi Akademik Sekolah Tinggi Teologia Salatiga.

4.1 Pembahasan Aplikasi

Sistem Informasi Akdemik Sekolah Tinggi Teologia Salatiga dibangun menggunakan JSP, yang merupakan bagaian dari aplikasi dengan menggunakan java. Dalam mengimplementasikan sistem diperlukan tambahan library untuk fungsi-fungsi yang tidak tersedia dalam server JSP. Dalam sistem yang akan dibangun ini dibutuhkan library untuk sebagai konektor dan driver. Berikut ini Implementasi dari aplikasi yang telah di bangun. Gambar 4.1 Halaman Utama 61 Gambar 4.1 merupakan tampilan menu halaman utama. Pada halaman utama merupakan tempat dimana user ingin masuk sebagai admin, dosen, atau mahasiswa. Gambar 4.2 Form Login Administrator Gambar 4.2 merupakan tampilan menu login untuk Admin. Login dilakukan untuk mengawali kegiatan operasional . Dimana dalam menu ini, admin wajib memasukkan Username dan Password. Jika terjadi kesalahan penginputan, maka akan kembali ke index. Hal ini terlihat pada perintah Kode Program 4.1 . Kode Program 4.1 Form Login AdministratorDAO adao = new AdministratorDAO; HttpSession Session = request.getSessiontrue; String username = request.getParameterusername; String password = request.getParameterpassword; if adao.loginusername, password = null { Session.setAttributePengguna, adao.loginusername, password; 62 RequestDispatcher reqDis = request.getRequestDispatcherHome.jsp; reqDis.forwardrequest, response; } else { RequestDispatcher reqDis = request.getRequestDispatcherindex.jsp; reqDis.forwardrequest, response; } public Administrator loginString username, String password { Administrator admin = new Administrator; try { s = sf.openSession; admin = Administrator s.createQuerySELECT a FROM Administrator a WHERE Username= + username + AND Password= + password + .list.get0; } catch Exception e { admin = null; } return admin; } Setelah berhasil Login maka admin akan diarahkan ke “Halaman Utama” seperti yang terlihat pada Gambar 4.3 di bawah ini. 63 Gambar 4.3 Home Administrator Gambar 4.4 Form Mahasiswa Gambar 4.4 merupakan form Data Mahasiswa, Admin dapat memilih menu “Mahasiswa” yang terdapat tepat di sebelah Home. Admin dapat menambah, mengubah, serta menghapus data mahasiswa. Jika ingin menambahkan data baru dapat dilakukan dengan mengakses link “Tambah Mahasiswa” pada sudut kiri bawah form Data Mahasiswa. Berikut Kode Program pada Form Mahasiswa. Kode Program 4.2 Form Mahasiswa MahasiswaDAO mdao = new MahasiswaDAO; ListMahasiswa mhs = new ArrayListMahasiswa; 64 if kategori = null kode = null { mhs = mdao.getMahasiswaSearchkategori, kode; } else { mhs = mdao.getMahasiswa; } public ListMahasiswa getMahasiswa { s = sf.openSession; return s.createQuerySELECT m FROM Mahasiswa m ORDER BY Nim.list; } Gambar 4.5 Form Add Mahasiswa Setelah mengakses link “Tambah Mahasiswa”, Admin akan dialihkan ke form Add Mahasiswa seperti pada Gambar 4.5. Pada form ini hanya “No.Telp” yang bersifat optional. Ketika data sudah terisi, klik button “Tambah” dan data Mahasiswa selesai diinput. Berikut ini kode program pada Form Mahasiswa. Kode Program 4.3 Form Add Mahasiswa if new MahasiswaDAO.insertMahasiswam { 65 request.setAttributestatus, nim + Berhasil Ditambahkan; RequestDispatcher reqDis = request.getRequestDispatcherTambahMahasiswa.jsp; reqDis.forwardrequest, response; } else { request.setAttributestatus, nim + Sudah Ada; RequestDispatcher reqDis = request.getRequestDispatcherTambahMahasiswa.jsp; reqDis.forwardrequest, response; } public boolean insertMahasiswaMahasiswa m { boolean flag = true; try { s = sf.openSession; s.getTransaction.begin; s.savem; s.getTransaction.commit; } catch Exception e { flag = false; } return flag; } 66 Gambar 4.6 Form Edit Mahasiswa Gambar 4.6 di bawah atas merupakan form “Edit Mahasiswa”, pada form ini admin memanipulasi data mahasiswa. Berikut ini kode program form edit mahasiswa. Kode Program 4.4 Form Edit Mahasiswa if new DosenDAO.updateDosenprimaryKey, d { request.setAttributestatus, primaryKey + Berhasil Diubah; RequestDispatcher reqDis = request.getRequestDispatcherManageDosen; reqDis.forwardrequest, response; } else { request.setAttributestatus, nidn + Gagal Diubah; RequestDispatcher reqDis = request.getRequestDispatcherUbahDosen.jsp?nidn= + primaryKey; reqDis.forwardrequest, response; } public boolean updateDosenString nidn, Dosen d { 67 boolean flag = true; try { s = sf.openSession; s.createQueryUPDATE Dosen m set m.NIDN= + d.getNIDN + ,m.Nama= + d.getNama + ,m.Password= + d.getPassword + + ,m.Jenis_Kelamin= + d.getJenis_Kelamin + ,m.Tempat_Lahir= + d.getTempat_Lahir + ,m.Tanggal_Lahir= + d.getTanggal_Lahir + + ,m.Asal= + d.getAsal + ,m.Telepon= + d.getTelepon + where m.NIDN= + nidn + .executeUpdate; } catch Exception e { flag = false; } return flag; } Gambar 4.7 Form Dosen Gambar 4.7 merupakan form “Data Dosen”. Pada form ini prinsipnya sama dengan form “Data Mahasiswa” dimana Admin 68 dapat menambah, mengubah, serta menghapus data dosen. Berikut ini kode program Form Dosen. Kode Program 4.5 Form Dosen DosenDAO ddao = new DosenDAO; ListDosen dosen = new ArrayListDosen; if kategori = null kode = null { dosen = ddao.getDosenSearchkategori, kode; } else { dosen = ddao.getDosen; } public ListDosen getDosen { s = sf.openSession; return s.createQuerySELECT d FROM Dosen d ORDER BY NIDN.list; } Gambar 4.8 Form Add Dosen 69 Gambar 4.8 form Add Mahasiswa, admin bisa menambahkan dosen. Terlihat pada Gambar 4.8 di bawah atas. Berikut Kode Program form Add Mahasiswa. Kode Program 4.6 Form Add Dosen if new DosenDAO.insertDosend { request.setAttributestatus, nidn + Berhasil Ditambahkan; RequestDispatcher reqDis = request.getRequestDispatcherTambahDosen.jsp; reqDis.forwardrequest, response; } else { request.setAttributestatus, nidn + Sudah Ada; RequestDispatcher reqDis = request.getRequestDispatcherTambahDosen.jsp; reqDis.forwardrequest, response; } public boolean insertDosenDosen d { boolean flag = true; try { s = sf.openSession; s.getTransaction.begin; s.saved; s.getTransaction.commit; } catch Exception e { 70 flag = false; } return flag; } Gambar 4.9 Form Edit Dosen Form Edit Dosen pada Gambar 4.9 memungkinkan Admin untuk melakukan perubahan pada data Dosen. Berikut Kode Program Form Edit Dosen. Kode Program 4.7 Form Edit Dosen if new DosenDAO.updateDosenprimaryKey, d { request.setAttributestatus, primaryKey + Berhasil Diubah; RequestDispatcher reqDis = request.getRequestDispatcherManageDosen; reqDis.forwardrequest, response; } else { request.setAttributestatus, nidn + Gagal Diubah; 71 RequestDispatcher reqDis = request.getRequestDispatcherUbahDosen.jsp?nidn= + primaryKey; reqDis.forwardrequest, response; } public boolean updateDosenString nidn, Dosen d { boolean flag = true; try { s = sf.openSession; s.createQueryUPDATE Dosen m set m.NIDN= + d.getNIDN + ,m.Nama= + d.getNama + ,m.Password= + d.getPassword + + ,m.Jenis_Kelamin= + d.getJenis_Kelamin + ,m.Tempat_Lahir= + d.getTempat_Lahir + ,m.Tanggal_Lahir= + d.getTanggal_Lahir + + ,m.Asal= + d.getAsal + ,m.Telepon= + d.getTelepon + where m.NIDN= + nidn + .executeUpdate; } catch Exception e { flag = false; } return flag; } 72 Gambar 4.10 Form Matakuliah Gambar 4.10 merupakan menu matakuliah, terdapat dua pilihan form yang akan diakses yaitu form manage jadwal dan form transkrip nilai. Pada form Matakuliah admin dapat memasukan Kode Matakuliah, Nama matakuliah, serta jumlah SKS yang ada disetiap matakuliah. Admin dapat menambahkan, mengubah, serta menghapus data yang ada. Sedangkan pada form Transkrip Nilai Admin dapat menginputkan dan mengubah nilai Mahasiswa. Berikut ini Kode Program Form Matakuliah. Kode Program 4.8 Form Matakuliah MatakuliahDAO mdao = new MatakuliahDAO; ListMatakuliah matkul = new ArrayListMatakuliah; if kategori = null kode = null { matkul = mdao.getMatakuliahSearchkategori, kode; } else { matkul = mdao.getMatakuliah; } public ListMatakuliah getMatakuliah { s = sf.openSession; return s.createQuerySELECT m FROM Matakuliah m ORDER BY Kode_Matakuliah.list; } 73 Gambar 4.11 Form Add Matakuliah Form ini untuk menambahkan matakuliah jika ada matakuliah baru. Masukkan kode, nama matakuliah, beserta jumlah sks matakuliah tersebut. Ketika button Tambah di klik, jika berhasil akan muncul pesan “Matakuliah Berhasil Ditambahkan” dan jika matakuliah tersebut sudah ada atau kode matakuliahnya sama, maka akan muncul pesan “Matakuliah Sudah Ada” Berikut Kode Program Form Add Matakuliah. Kode Program 4.9 Form Add Matakuliah if new MatakuliahDAO.insertMatakuliahm { request.setAttributestatus, Matakuliah Berhasil Ditambahkan; RequestDispatcher reqDis = request.getRequestDispatcherTambahMatakuliah.jsp; reqDis.forwardrequest, response; } else { request.setAttributestatus, Matakuliah Sudah Ada; RequestDispatcher reqDis = request.getRequestDispatcherTambahMatakuliah.jsp; 74 reqDis.forwardrequest, response; } public boolean insertMatakuliahMatakuliah m { boolean flag = true; try { s = sf.openSession; s.getTransaction.begin; s.savem; s.getTransaction.commit; } catch Exception e { flag = false; } return flag; } Gambar 4.12 Form Edit Matakuliah Form edit matakuliah untuk mengubah apabila ada kesalahan kode, nama matakuliah, atau sks dalam data yang telah tersimpan. 75 Masukkan kode matakuliah, kemudian ubah data sesuai dengan data yang sebenarnya dan klik button “Ubah”. Sistem secara otomatis akan meng-update data. Kode Program 4.10 Form Edit Matakuliah if new MatakuliahDAO.updateMatakuliahprimaryKey, m { request.setAttributestatus, Matakuliah Berhasil Ubah; RequestDispatcher reqDis = request.getRequestDispatcherManageMatakuliah; reqDis.forwardrequest, response; } else { request.setAttributestatus, Matakuliah Gagal Ada; RequestDispatcher reqDis = request.getRequestDispatcherUbahMatakuliah.jsp?kode= + primaryKey; reqDis.forwardrequest, response; } public boolean updateMatakuliahString kode, Matakuliah m { boolean flag = true; try { s = sf.openSession; s.createQueryUPDATE Matakuliah m set m.Kode_Matakuliah= + m.getKode_Matakuliah + ,m.Nama_Matakuliah= + m.getNama_Matakuliah + ,m.SKS= + m.getSKS + + ,m.Hari= + m.getHari + ,m.Jam= + m.getJam + where m.Kode_Matakuliah= + kode + .executeUpdate; } catch Exception e { 76 flag = false; } return flag; } Gambar 4.13 Form Manage Jadwal Untuk pengelolaan jadwal dapat dilakukan di form manage jadwal. Button Search di bagian kanan berfungsi untuk mencari informasi tentang matakuliah tertentu berdasarkan kode matakuliah atau nama matakuliah. Tabel di bagian kanan menunjukkan informasi tentang matakuliah mulai dari kode, nama, sks, hari, jam, dosen pengampu matakuliah tersebut, serta daftar mahasiswa yang mengambil matakuliah yang dapat dilihat dengan meng-klik link Peserta. Jika ingin menghapus matakuliah tertentu, klik link Hapus. Kolom Jadwal Dosen untuk mengatur jadwal dosen yang akan mengajar matakuliah tertentu. Masukkan kode matakuliah, dosen yang akan mengajar, hari, serta jam yang sesuai. Kolom Jadwal Mahasiswa untuk menginput matakuliah yang di ambil oleh mahasiswa tersebut beserta semester pada saat mahasiswa 77 mengambil matakuliah. Berikut ini kode Program From Manage Jadwal. Kode Program 4.11 Form Manage Jadwal if matkulDao.tambahPesertarec { request.setAttributestatus, Berhasil Disimpan; RequestDispatcher reqDis = request.getRequestDispatcherManageJadwal; reqDis.forwardrequest, response; } else { request.setAttributestatus, Gagal Disimpan; RequestDispatcher reqDis = request.getRequestDispatcherManageJadwal; reqDis.forwardrequest, response; } public boolean tambahPesertaMatakuliah m { boolean flag = true; try { s = sf.openSession; s.getTransaction.begin; s.updatem; s.getTransaction.commit; } catch Exception e { flag = false; } 78 return flag; } Gambar 4.14 Form Add Nilai Form Add Nilai akan muncul jika link peserta pada form manage jadwal di klik. Daftar peserta mahasiswa yang mengambil matakuliah tersebut akan terlihat. Kemudian nilai mahasiswa yang bersangkutan dapat diinputkan satu persatu. Berikut ini kode program form manage jadwal. Kode Program 4.12 Form Add Nilai Nilai nilai = new Nilai; NilaiDAO ndao = new NilaiDAO; for int i = 0; i jumlahMhs; i++ { nilai.setMatakuliahmatkul; mhs = mhsDao.searchMahasiswaByNimmatkul.getMahasiswa.geti.getNim ; nilai.setMahasiswamhs; 79 nilai.setNilairequest.getParameterNilai + matkul.getMahasiswa.geti.getNim; nilai.setSemestermatkul.getMahasiswa.geti.getSemester; if ndao.insertNilainilai { flag = true; } } public boolean insertNilaiNilai n { boolean flag = true; try { s = sf.openSession; s.getTransaction.begin; s.saven; s.getTransaction.commit; } catch Exception e { flag = false; } return flag; } 80 Gambar Form 4.15 Form Transkrip Nilai Form Transkrip Nilai untuk mengubah nilai mahasiswa. Pilih matakuliah yang akan diubah nilainya dan klik button Pilih. Data mahasiswa yang mengambil matakuliah tersebut akan ditampilkan dalam tabel. Untuk mengubah nilai mahasiswa dalam matakuliah, klik ubah kemudian, masukkan data matakuliah, NIM, dan nilai yang baru kemudian klik button ”Ubah” dan sistem akan meng- update data yang baru diubah. Kode Program 4.13 Form Transkrip Nilai ListNilai nilai = new ArrayListNilai; nilai = new NilaiDAO.getNilaimatakuliah.substring0, matakuliah.indexOf-; public ListNilai getNilaiString kode { s = sf.openSession; return s.createQuerySELECT n FROM Nilai n WHERE Matakuliah_Kode_Matakuliah= + kode + ORDER BY Mahasiswa_Nim.list; } 81 Gambar 4.16 Form Manage Tagihan Form Manage Tagihan untuk mengelola tagihan mahasiswa. Dalam kolom Input Tagihan Semester, admin harus memasukkan harga SPP dan seterusnya yang berbeda – beda tiap semesternya. Jika pada semester berikutnya seorang mahasiswa belum melunasi tagihan semester sebelumnya, maka tagihan semester berikutnya tidak akan tercantum pada mahasiswa tersebut dan dia tidak bisa melakukan registrasi matakuliah sebelum melunasi tagihan semester sebelumnya. Pada kolom Input Tagihan per Orang dikhususkan untuk tiap mahasiswa yang bermasalah seperti mahasiswa yang belum melunasi tagihan yang dibebankan. Masukkan nim mahasiswa beserta SPP yang seharusnya dibayar kemudian klik button Simpan dan sistem akan menyimpan tagihan yang harus dibayar mahasiswa tersebut. Berikut ini kode program Form Manage Tagihan. Kode Program 4.14 Form Manage Tagihan if semester.equals1-6 { mhs = tdao.getSem16; 82 } else { mhs = tdao.getSem78; } for int i = 0; i mhs.size; i++ { if mhs.geti.getSemester == 0 { tagihan.setJumlahjumlah; tagihan.setMahasiswamhs.geti; tagihan.setTerbayar0; tdao.insertTagihantagihan; tdao.updateMahasiswamhs.geti; } else { tdao.updateTagihanjumlah, mhs.geti.getNim; tdao.updateMahasiswamhs.geti; } } public boolean insertTagihanTagihan t { boolean flag = true; try { s = sf.openSession; s.getTransaction.begin; s.savet; s.getTransaction.commit; } catch Exception e { 83 flag = false; } return flag; } Gambar 4.17 Form Tagihan Mahasiswa Form Tagihan Mahasiswa menampilkan jumlah tagihan yang harus dibayar seorang mahasiswa. Jika mahasiswa tersebut sudah membayar lunas total yang harus dibayar, maka sisa pembayaran akan menjadi 0 dan terbayar akan menampilkan jumlah yang sama dengan total pembayaran. Jika mahasiswa membayar secara menyicil, sisa yang harus dibayar akan ditampilkan dalam kolom keterangan. Berikut ini kode program Form Tagihan Mahasiswa Kode Program 4.15 Form Tagihan Mahasiswa TagihanDAO tdao = new TagihanDAO; Tagihan tagihan = new Tagihan; try { tagihan = tdao.getTagihannim; 84 request.setAttributeTagihan, tagihan; RequestDispatcher reqDis = request.getRequestDispatcherLihatTagihan.jsp; reqDis.forwardrequest, response; } catch Exception e { request.setAttributestatus, Belum ada Tagihan; RequestDispatcher reqDis = request.getRequestDispatcherTagihanMahasiswa; reqDis.forwardrequest, response; } public Tagihan getTagihanString nim { s = sf.openSession; return Tagihan s.createQuerySELECT t FROM Tagihan t WHERE Mahasiswa_Nim= + nim + .list.get0; } Gambar 4.18 Form Ganti Password Admin dapat mengganti password untuk kepentingan keamanan dengan memasukkan password lama dan mengganti dengan password baru pada kolom yang sudah tersedia. 85 Kode Program 4.16 Form Ganti Password if new AdministratorDAO.updatePasswordadmin { request.setAttributestatus, Berhasil Diubah; RequestDispatcher reqDis = request.getRequestDispatcherGantiPassword.jsp; reqDis.forwardrequest, response; } else { request.setAttributestatus, Gagal Diubah; RequestDispatcher reqDis = request.getRequestDispatcherGantiPassword.jsp; reqDis.forwardrequest, response; } public boolean updatePasswordAdministrator a { boolean flag = true; try { s = sf.openSession; s.getTransaction.begin; s.updatea; s.getTransaction.commit; } catch Exception e { flag = false; } return flag; } 86 Gambar 4.19 Form Login Dosen Gambar 4.19 merupakan tampilan menu login untuk dosen. Login dilakukan untuk mengawali kegiatan operasional . Dimana dalam menu ini, setiap dosen wajib memasukkan Nomor Induk Dosen NIDN dan Password. Jika terjadi kesalahan penginputan, maka akan kembali ke index. Hal ini terlihat pada perintah Kode Program 4.19 . Kode Program 4.17 Form Login Mahasiswa DosenDAO ddao = new DosenDAO; HttpSession Session = request.getSessiontrue; String nidn = request.getParameternidn; String password = request.getParameterpassword; if ddao.loginnidn, password = null { Session.setAttributePengguna, ddao.loginnidn, password; RequestDispatcher reqDis = request.getRequestDispatcherHome.jsp; reqDis.forwardrequest, response; 87 } else { RequestDispatcher reqDis = request.getRequestDispatcherindex.jsp; reqDis.forwardrequest, response; } public Dosen loginString nidn, String password { Dosen dosen = new Dosen; try { s = sf.openSession; dosen = Dosen s.createQuerySELECT d FROM Dosen d WHERE NIDN= + nidn + AND Password= + password + .list.get0; } catch Exception e { dosen = null; } return dosen; } Gambar 4.20 Home Dosen 88 Tampilan halaman home aplikasi dengan login sebagai dosen. Berisi Menu – menu seperti Jadwal Mengajar, Input Nilai, dan Ganti Password. Gambar 4.21 Form Jadwal Mengajar Form Jadwal Mengajar menampilkan informasi lengkap jadwal mengajar dosen tersebut. Link Mahasiswa untuk melihat daftar mahasiswa yang mengambil matakuliah tersebut. Kode Program 4.18 Form Jadwal Mengajar HttpSession Session = request.getSessiontrue; Dosen pengguna = new Dosen; if Session = null { pengguna = Dosen Session.getAttributePengguna; } ListMatakuliah matkul = new ArrayListMatakuliah; matkul = new MatakuliahDAO.getJadwalMengajarpengguna.getNIDN; request.setAttributeJadwal, matkul; 89 RequestDispatcher reqDis = request.getRequestDispatcherJadwalMengajar.jsp; reqDis.forwardrequest, response; public ListMatakuliah getJadwalMengajarString NIDN { s = sf.openSession; ListMatakuliah mhs = new ArrayListMatakuliah; ListMatakuliah matkul = new ArrayListMatakuliah; mhs = ListMatakuliah s.createQuerySELECT m FROM Matakuliah m.list; for int i = 0; i mhs.size; i++ { for int y = 0; y mhs.geti.getDosen.size; y++ { if mhs.geti.getDosen.gety.getNIDN.equalsNIDN { matkul.addmhs.geti; break; } } } return matkul; } 90 Gambar 4.22 Form Peserta Matakuliah Form Peserta Matakuliah berisi daftar mahasiswa yang mengambil matakuliah tertentu yang diajar oleh dosen tersebut. Kode Program 4.19 Form Peserta Matakuliah String kode = request.getParameterkode; Matakuliah matkul = new Matakuliah; MatakuliahDAO matkulDao = new MatakuliahDAO; matkul = matkulDao.searchMatakuliahByKodekode; request.setAttributePeserta, matkul; RequestDispatcher reqDis = request.getRequestDispatcherPesertaKuliah.jsp; reqDis.forwardrequest, response; public Matakuliah searchMatakuliahByKodeString kode { s = sf.openSession; 91 return Matakuliah s.createQuerySELECT m FROM Matakuliah m WHERE Kode_Matakuliah= + kode + .list.get0; } Gambar 4.23 Form Input Nilai Mahasiswa Menu Input Nilai untuk meng-input nilai – nilai mahasiswa di suatu matakuliah. Pilih matakuliah yang akan di-inputkan nilainya pada mahasiswa dengan mengklik link mahasiswa pada matakuliah tersebut. Kemudian nilai di-input sesuai dengan nama mahasiswa yang bersangkutan. Kode Program 4.20 Form Input Nilai Mahasiswa 92 Nilai nilai = new Nilai; NilaiDAO ndao = new NilaiDAO; for int i = 0; i jumlahMhs; i++ { nilai.setMatakuliahmatkul; mhs = mhsDao.searchMahasiswaByNimmatkul.getMahasiswa.geti.getNim ; nilai.setMahasiswamhs; nilai.setNilairequest.getParameterNilai + matkul.getMahasiswa.geti.getNim; nilai.setSemestermatkul.getMahasiswa.geti.getSemester; if ndao.insertNilainilai { flag = true; } } public boolean insertNilaiNilai n { boolean flag = true; try { s = sf.openSession; s.getTransaction.begin; s.saven; s.getTransaction.commit; } catch Exception e { flag = false; 93 } return flag; } Gambar 4.24 Form Ganti Password Form Ganti Password untuk mengganti password user yang sedang login, dalam hal ini dosen. Masukkan password lama dan password baru yang diinginkan pada textbox yang telah disediakan. Kode Program 4.21 Form Ganti Password if new DosenDAO.updateDosendosen { request.setAttributestatus, Berhasil Diubah; RequestDispatcher reqDis = request.getRequestDispatcherGantiPassword.jsp; reqDis.forwardrequest, response; } else { request.setAttributestatus, Gagal Diubah; RequestDispatcher reqDis = request.getRequestDispatcherGantiPassword.jsp; reqDis.forwardrequest, response; 94 } public boolean updateDosenDosen d { boolean flag = true; try { s = sf.openSession; s.getTransaction.begin; s.updated; s.getTransaction.commit; } catch Exception e { flag = false; } return flag; } Gambar 4.25 Form Login Mahasiswa Gambar 4.25 merupakan tampilan menu login untuk mahasiswa. Login dilakukan untuk mengawali kegiatan operasional . 95 Dimana dalam menu ini, setiap mahasiswa wajib memasukkan Nomor Induk Mahasiswa NIM dan Password. Jika terjadi kesalahan penginputan, maka akan kembali ke index. Hal ini terlihat pada perintah Kode Program 4.25. Kode Program 4.22 Form Login Mahasiswa MahasiswaDAO mdao = new MahasiswaDAO; HttpSession Session = request.getSessiontrue; String nim = request.getParameternim; String password = request.getParameterpassword; if mdao.loginnim, password = null { Session.setAttributePengguna, mdao.loginnim, password; RequestDispatcher reqDis = request.getRequestDispatcherHome.jsp; reqDis.forwardrequest, response; } else { RequestDispatcher reqDis = request.getRequestDispatcherindex.jsp; reqDis.forwardrequest, response; } public Mahasiswa loginString nim, String password { Mahasiswa mhs = new Mahasiswa; try { s = sf.openSession; 96 mhs = Mahasiswa s.createQuerySELECT m FROM Mahasiswa m WHERE Nim= + nim + AND Password= + password + .list.get0; } catch Exception e { mhs = null; } return mhs; } Gambar 4.26 Home Mahasiswa Tampilan halaman home aplikasi dengan login sebagai dosen. Berisi Menu – menu seperti Jadwal Mengajar, Input Nilai, dan Ganti Password. 97 Gambar 4.27 Form Hasil Studi Form hasil Studi menampilkan hasil pembelajaran mahasiswa tersebut selama 1 semester. Mahasiswa dapat melihat informasi nilai yang di dapatkan di setiap matakuliah. Kode Program 4.23 Hasil Studi HttpSession Session = request.getSessiontrue; Mahasiswa pengguna = new Mahasiswa; if Session = null { pengguna = Mahasiswa Session.getAttributePengguna; } ListNilai nilai = new ArrayListNilai; nilai = new NilaiDAO.getNilaipengguna.getNim, pengguna.getSemester + ; request.setAttributeNilai, nilai; RequestDispatcher reqDis = request.getRequestDispatcherHasilStudi.jsp; reqDis.forwardrequest, response; public ListNilai getNilaiString nim, String semester { s = sf.openSession; return s.createQuerySELECT n FROM Nilai n WHERE Mahasiswa_Nim= + nim + AND Semester= + semester + ORDER BY n.Semester.list; 98 } Gambar 4.28 Form Transkrip Nilai Form Transkrip nilai menampilkan informasi semua nilai mahasiswa tersebut di setiap matakuliah yang sudah pernah di ambil dari semester pertama sampai terakhir dia berkuliah. Informasi berupa Kode, Nama Matakuliah, SKS, Nilai yang di dapatkan, AK, serta pada semester berapa dia mengambil matakuliah tersebut. Kode Program 4.24 Transkrip Nilai HttpSession Session = request.getSessiontrue; Mahasiswa pengguna = new Mahasiswa; if Session = null { pengguna = Mahasiswa Session.getAttributePengguna; } ListNilai nilai = new ArrayListNilai; nilai = new NilaiDAO.getNilaipengguna.getNim; 99 request.setAttributeNilai, nilai; RequestDispatcher reqDis = request.getRequestDispatcherTranskripNilai.jsp; reqDis.forwardrequest, response; public ListNilai getNilaiString nim { s = sf.openSession; return s.createQuerySELECT n FROM Nilai n WHERE Mahasiswa_Nim= + nim + ORDER BY n.Semester.list; } Gambar 4.29 Form Jadwal Kuliah Form Jadwal Kuliah menampilkan informasi lengkap mengenai jadwal perkuliahan mahasiswa pada semester tersebut. Kode Program 4.25 Jadwal Kuliah HttpSession Session = request.getSessiontrue; Mahasiswa pengguna = new Mahasiswa; if Session = null { pengguna = Mahasiswa Session.getAttributePengguna; 100 } ListMatakuliah m = new ArrayListMatakuliah; m = new MatakuliahDAO.getJadwalKuliahpengguna.getNim; request.setAttributeJadwal, m; RequestDispatcher reqDis = request.getRequestDispatcherJadwalKuliah.jsp; reqDis.forwardrequest, response; public ListMatakuliah getJadwalKuliahString nim { s = sf.openSession; ListMatakuliah mhs = new ArrayListMatakuliah; ListMatakuliah matkul = new ArrayListMatakuliah; mhs = ListMatakuliah s.createQuerySELECT m FROM Matakuliah m.list; for int i = 0; i mhs.size; i++ { for int y = 0; y mhs.geti.getMahasiswa.size; y++ { if mhs.geti.getMahasiswa.gety.getNim.equalsnim { matkul.addmhs.geti; break; } } } 101 return matkul; } Gambar 4.30 Form Tagihan Pada form tagihan, informasi mengenai tagihan yang harus dibayarkan, sisa, beserta perinciannya dapat dilihat. Kode Program 4.26 Tagihan HttpSession Session = request.getSessiontrue; Mahasiswa pengguna = new Mahasiswa; if Session = null { pengguna = Mahasiswa Session.getAttributePengguna; } TagihanDAO tdao = new TagihanDAO; Tagihan tagihan = new Tagihan; try { tagihan = tdao.getTagihanpengguna.getNim; request.setAttributeTagihan, tagihan; 102 RequestDispatcher reqDis = request.getRequestDispatcherTagihan.jsp; reqDis.forwardrequest, response; } catch Exception e { request.setAttributestatus, Belum ada Tagihan; RequestDispatcher reqDis = request.getRequestDispatcherTagihan.jsp; reqDis.forwardrequest, response; } public Tagihan getTagihanString nim { s = sf.openSession; return Tagihan s.createQuerySELECT t FROM Tagihan t WHERE Mahasiswa_Nim= + nim + .list.get0; } Gambar 4.31 Form Ganti Password Form Ganti Password untuk mahasiswa yang ingin mengganti password lama dengan yang baru. Hanya dengan memasukkan password lama dan baru serta konfirmasi pada field 103 yang sudah tersedia dan meng-klik Simpan maka sistem akan dengan otomatis mengganti password sesuai dengan yang kita inginkan. Kode Program 4.27 Form Ganti Password if new MahasiswaDAO.updateMahasiswamhs { request.setAttributestatus, Berhasil Diubah; RequestDispatcher reqDis = request.getRequestDispatcherGantiPassword.jsp; reqDis.forwardrequest, response; } else { request.setAttributestatus, Gagal Diubah; RequestDispatcher reqDis = request.getRequestDispatcherGantiPassword.jsp; reqDis.forwardrequest, response; } public boolean updateMahasiswaMahasiswa m { boolean flag = true; try { s = sf.openSession; s.getTransaction.begin; s.updatem; s.getTransaction.commit; } catch Exception e { flag = false; 104 } return flag; }

4.2 Pengujian Aplikasi