• Tidak ada hasil yang ditemukan

Pembahasan Aplikasi

Dalam dokumen T1 682008042 Full text (Halaman 60-104)

Hasil dan Pembahasan

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.

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.getSession(true); String username = request.getParameter("username"); String password = request.getParameter("password"); if (adao.login(username, password) != null) {

Session.setAttribute("Pengguna", adao.login(username, password));

62 RequestDispatcher reqDis = request.getRequestDispatcher("Home.jsp"); reqDis.forward(request, response); } else { RequestDispatcher reqDis = request.getRequestDispatcher("index.jsp"); reqDis.forward(request, response); }

public Administrator login(String username, String password) { Administrator admin = new Administrator();

try {

s = sf.openSession();

admin = (Administrator) s.createQuery("SELECT a FROM Administrator a WHERE Username='" + username + "' AND Password='" + password + "'").list().get(0); } 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();

64 if (kategori != null && kode != null) {

mhs = mdao.getMahasiswaSearch(kategori, kode); } else {

mhs = mdao.getMahasiswa(); }

public List<Mahasiswa> getMahasiswa() { s = sf.openSession();

return s.createQuery("SELECT 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().insertMahasiswa(m)) {

65

request.setAttribute("status", nim + " Berhasil Ditambahkan!");

RequestDispatcher reqDis =

request.getRequestDispatcher("TambahMahasiswa.jsp"); reqDis.forward(request, response); } else {

request.setAttribute("status", nim + " Sudah Ada!"); RequestDispatcher reqDis =

request.getRequestDispatcher("TambahMahasiswa.jsp"); reqDis.forward(request, response); }

public boolean insertMahasiswa(Mahasiswa m) { boolean flag = true;

try { s = sf.openSession(); s.getTransaction().begin(); s.save(m); 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().updateDosen(primaryKey, d)) {

request.setAttribute("status", primaryKey + " Berhasil Diubah!");

RequestDispatcher reqDis = request.getRequestDispatcher("ManageDosen"); reqDis.forward(request, response); } else {

request.setAttribute("status", nidn + " Gagal Diubah!"); RequestDispatcher reqDis =

request.getRequestDispatcher("UbahDosen.jsp?nidn=" + primaryKey); reqDis.forward(request, response);

}

67 boolean flag = true;

try {

s = sf.openSession();

s.createQuery("UPDATE 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();

List<Dosen> dosen = new ArrayList<Dosen>(); if (kategori != null && kode != null) {

dosen = ddao.getDosenSearch(kategori, kode); } else {

dosen = ddao.getDosen(); }

public List<Dosen> getDosen() { s = sf.openSession();

return s.createQuery("SELECT d FROM Dosen d ORDER BY NIDN").list();

}

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().insertDosen(d)) {

request.setAttribute("status", nidn + " Berhasil Ditambahkan!");

RequestDispatcher reqDis =

request.getRequestDispatcher("TambahDosen.jsp"); reqDis.forward(request, response); } else {

request.setAttribute("status", nidn + " Sudah Ada!"); RequestDispatcher reqDis =

request.getRequestDispatcher("TambahDosen.jsp"); reqDis.forward(request, response); }

public boolean insertDosen(Dosen d) { boolean flag = true;

try { s = sf.openSession(); s.getTransaction().begin(); s.save(d); 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().updateDosen(primaryKey, d)) {

request.setAttribute("status", primaryKey + " Berhasil Diubah!");

RequestDispatcher reqDis = request.getRequestDispatcher("ManageDosen"); reqDis.forward(request, response); } else {

71 RequestDispatcher reqDis =

request.getRequestDispatcher("UbahDosen.jsp?nidn=" + primaryKey); reqDis.forward(request, response);

}

public boolean updateDosen(String nidn, Dosen d) { boolean flag = true;

try {

s = sf.openSession();

s.createQuery("UPDATE 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; }

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();

List<Matakuliah> matkul = new ArrayList<Matakuliah>(); if (kategori != null && kode != null) {

matkul = mdao.getMatakuliahSearch(kategori, kode); } else {

matkul = mdao.getMatakuliah(); }

public List<Matakuliah> getMatakuliah() { s = sf.openSession();

return s.createQuery("SELECT 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().insertMatakuliah(m)) {

request.setAttribute("status", "Matakuliah Berhasil Ditambahkan!");

RequestDispatcher reqDis =

request.getRequestDispatcher("TambahMatakuliah.jsp"); reqDis.forward(request, response);

} else {

request.setAttribute("status", "Matakuliah Sudah Ada!"); RequestDispatcher reqDis =

74

reqDis.forward(request, response); }

public boolean insertMatakuliah(Matakuliah m) { boolean flag = true;

try { s = sf.openSession(); s.getTransaction().begin(); s.save(m); 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().updateMatakuliah(primaryKey, m)) {

request.setAttribute("status", "Matakuliah Berhasil Ubah!"); RequestDispatcher reqDis =

request.getRequestDispatcher("ManageMatakuliah"); reqDis.forward(request, response); } else {

request.setAttribute("status", "Matakuliah Gagal Ada!"); RequestDispatcher reqDis =

request.getRequestDispatcher("UbahMatakuliah.jsp?kode=" + primaryKey);

reqDis.forward(request, response); }

public boolean updateMatakuliah(String kode, Matakuliah m) { boolean flag = true;

try {

s = sf.openSession();

s.createQuery("UPDATE 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();

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.tambahPeserta(rec)) {

request.setAttribute("status", "Berhasil Disimpan!"); RequestDispatcher reqDis =

request.getRequestDispatcher("ManageJadwal"); reqDis.forward(request, response); } else {

request.setAttribute("status", "Gagal Disimpan!"); RequestDispatcher reqDis =

request.getRequestDispatcher("ManageJadwal"); reqDis.forward(request, response); }

public boolean tambahPeserta(Matakuliah m) { boolean flag = true;

try { s = sf.openSession(); s.getTransaction().begin(); s.update(m); 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.setMatakuliah(matkul); mhs =

mhsDao.searchMahasiswaByNim(matkul.getMahasiswa().get(i).getNim()) ;

79 nilai.setNilai(request.getParameter("Nilai" + matkul.getMahasiswa().get(i).getNim())); nilai.setSemester(matkul.getMahasiswa().get(i).getSemester()); if (ndao.insertNilai(nilai)) { flag = true; } }

public boolean insertNilai(Nilai n) { boolean flag = true;

try { s = sf.openSession(); s.getTransaction().begin(); s.save(n); 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 List<Nilai> nilai = new ArrayList<Nilai>();

nilai = new NilaiDAO().getNilai(matakuliah.substring(0, matakuliah.indexOf("-")));

public List<Nilai> getNilai(String kode) { s = sf.openSession();

return s.createQuery("SELECT 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.equals("1-6")) {

82 } else {

mhs = tdao.getSem78(); }

for (int i = 0; i < mhs.size(); i++) { if (mhs.get(i).getSemester() == 0) { tagihan.setJumlah(jumlah); tagihan.setMahasiswa(mhs.get(i)); tagihan.setTerbayar("0"); tdao.insertTagihan(tagihan); tdao.updateMahasiswa(mhs.get(i)); } else { tdao.updateTagihan(jumlah, mhs.get(i).getNim()); tdao.updateMahasiswa(mhs.get(i)); } }

public boolean insertTagihan(Tagihan t) { boolean flag = true;

try { s = sf.openSession(); s.getTransaction().begin(); s.save(t); 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 {

84 request.setAttribute("Tagihan", tagihan); RequestDispatcher reqDis = request.getRequestDispatcher("LihatTagihan.jsp"); reqDis.forward(request, response); } catch (Exception e) {

request.setAttribute("status", "Belum ada Tagihan!"); RequestDispatcher reqDis =

request.getRequestDispatcher("TagihanMahasiswa"); reqDis.forward(request, response);

}

public Tagihan getTagihan(String nim) { s = sf.openSession();

return (Tagihan) s.createQuery("SELECT t FROM Tagihan t WHERE Mahasiswa_Nim='" + nim + "'").list().get(0); }

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().updatePassword(admin)) { request.setAttribute("status", "Berhasil Diubah!"); RequestDispatcher reqDis =

request.getRequestDispatcher("GantiPassword.jsp"); reqDis.forward(request, response); } else {

request.setAttribute("status", "Gagal Diubah!"); RequestDispatcher reqDis =

request.getRequestDispatcher("GantiPassword.jsp"); reqDis.forward(request, response); }

public boolean updatePassword(Administrator a) { boolean flag = true;

try { s = sf.openSession(); s.getTransaction().begin(); s.update(a); 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.getSession(true); String nidn = request.getParameter("nidn");

String password = request.getParameter("password"); if (ddao.login(nidn, password) != null) {

Session.setAttribute("Pengguna", ddao.login(nidn, password)); RequestDispatcher reqDis =

request.getRequestDispatcher("Home.jsp"); reqDis.forward(request, response);

87 } else { RequestDispatcher reqDis = request.getRequestDispatcher("index.jsp"); reqDis.forward(request, response); }

public Dosen login(String nidn, String password) { Dosen dosen = new Dosen();

try {

s = sf.openSession();

dosen = (Dosen) s.createQuery("SELECT d FROM Dosen d WHERE NIDN='" + nidn + "' AND Password='" + password + "'").list().get(0);

} catch (Exception e) { dosen = null; }

return 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.getSession(true); Dosen pengguna = new Dosen();

if (Session != null) {

pengguna = (Dosen) Session.getAttribute("Pengguna"); }

List<Matakuliah> matkul = new ArrayList<Matakuliah>(); matkul = new

MatakuliahDAO().getJadwalMengajar(pengguna.getNIDN()); request.setAttribute("Jadwal", matkul);

89 RequestDispatcher reqDis =

request.getRequestDispatcher("JadwalMengajar.jsp"); reqDis.forward(request, response);

public List<Matakuliah> getJadwalMengajar(String NIDN) { s = sf.openSession();

List<Matakuliah> mhs = new ArrayList<Matakuliah>(); List<Matakuliah> matkul = new ArrayList<Matakuliah>(); mhs = (List<Matakuliah>) s.createQuery("SELECT m FROM Matakuliah m").list();

for (int i = 0; i < mhs.size(); i++) {

for (int y = 0; y < mhs.get(i).getDosen().size(); y++) {

if (mhs.get(i).getDosen().get(y).getNIDN().equals(NIDN)) { matkul.add(mhs.get(i)); 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.getParameter("kode");

Matakuliah matkul = new Matakuliah();

MatakuliahDAO matkulDao = new MatakuliahDAO(); matkul = matkulDao.searchMatakuliahByKode(kode);

request.setAttribute("Peserta", matkul); RequestDispatcher reqDis =

request.getRequestDispatcher("PesertaKuliah.jsp"); reqDis.forward(request, response);

public Matakuliah searchMatakuliahByKode(String kode) { s = sf.openSession();

91

return (Matakuliah) s.createQuery("SELECT m FROM Matakuliah m WHERE Kode_Matakuliah='" + kode + "'").list().get(0);

}

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.

92 Nilai nilai = new Nilai();

NilaiDAO ndao = new NilaiDAO(); for (int i = 0; i < jumlahMhs; i++) { nilai.setMatakuliah(matkul); mhs = mhsDao.searchMahasiswaByNim(matkul.getMahasiswa().get(i).getNim()) ; nilai.setMahasiswa(mhs); nilai.setNilai(request.getParameter("Nilai" + matkul.getMahasiswa().get(i).getNim())); nilai.setSemester(matkul.getMahasiswa().get(i).getSemester()); if (ndao.insertNilai(nilai)) { flag = true; } }

public boolean insertNilai(Nilai n) { boolean flag = true;

try { s = sf.openSession(); s.getTransaction().begin(); s.save(n); 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().updateDosen(dosen)) {

request.setAttribute("status", "Berhasil Diubah!"); RequestDispatcher reqDis =

request.getRequestDispatcher("GantiPassword.jsp"); reqDis.forward(request, response); } else {

request.setAttribute("status", "Gagal Diubah!"); RequestDispatcher reqDis =

request.getRequestDispatcher("GantiPassword.jsp"); reqDis.forward(request, response);

94 }

public boolean updateDosen(Dosen d) { boolean flag = true;

try { s = sf.openSession(); s.getTransaction().begin(); s.update(d); 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.getSession(true); String nim = request.getParameter("nim");

String password = request.getParameter("password"); if (mdao.login(nim, password) != null) {

Session.setAttribute("Pengguna", mdao.login(nim, password)); RequestDispatcher reqDis = request.getRequestDispatcher("Home.jsp"); reqDis.forward(request, response); } else { RequestDispatcher reqDis = request.getRequestDispatcher("index.jsp"); reqDis.forward(request, response); }

public Mahasiswa login(String nim, String password) { Mahasiswa mhs = new Mahasiswa();

try {

96

mhs = (Mahasiswa) s.createQuery("SELECT m FROM Mahasiswa m WHERE Nim='" + nim + "' AND Password='" + password +

"'").list().get(0); } 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.getSession(true); Mahasiswa pengguna = new Mahasiswa(); if (Session != null) {

pengguna = (Mahasiswa) Session.getAttribute("Pengguna"); }

List<Nilai> nilai = new ArrayList<Nilai>();

nilai = new NilaiDAO().getNilai(pengguna.getNim(), pengguna.getSemester() + "");

request.setAttribute("Nilai", nilai); RequestDispatcher reqDis =

request.getRequestDispatcher("HasilStudi.jsp"); reqDis.forward(request, response);

public List<Nilai> getNilai(String nim, String semester) { s = sf.openSession();

return s.createQuery("SELECT 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.getSession(true); Mahasiswa pengguna = new Mahasiswa(); if (Session != null) {

pengguna = (Mahasiswa) Session.getAttribute("Pengguna"); }

List<Nilai> nilai = new ArrayList<Nilai>();

99 request.setAttribute("Nilai", nilai); RequestDispatcher reqDis =

request.getRequestDispatcher("TranskripNilai.jsp"); reqDis.forward(request, response);

public List<Nilai> getNilai(String nim) { s = sf.openSession();

return s.createQuery("SELECT 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.getSession(true); Mahasiswa pengguna = new Mahasiswa(); if (Session != null) {

100 }

List<Matakuliah> m = new ArrayList<Matakuliah>();

m = new MatakuliahDAO().getJadwalKuliah(pengguna.getNim());

request.setAttribute("Jadwal", m); RequestDispatcher reqDis =

request.getRequestDispatcher("JadwalKuliah.jsp"); reqDis.forward(request, response);

public List<Matakuliah> getJadwalKuliah(String nim) { s = sf.openSession();

List<Matakuliah> mhs = new ArrayList<Matakuliah>(); List<Matakuliah> matkul = new ArrayList<Matakuliah>(); mhs = (List<Matakuliah>) s.createQuery("SELECT m FROM Matakuliah m").list();

for (int i = 0; i < mhs.size(); i++) {

for (int y = 0; y < mhs.get(i).getMahasiswa().size(); y++) { if (mhs.get(i).getMahasiswa().get(y).getNim().equals(nim)) { matkul.add(mhs.get(i)); 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.getSession(true); Mahasiswa pengguna = new Mahasiswa(); if (Session != null) {

pengguna = (Mahasiswa) Session.getAttribute("Pengguna"); }

TagihanDAO tdao = new TagihanDAO(); Tagihan tagihan = new Tagihan();

try {

tagihan = tdao.getTagihan(pengguna.getNim()); request.setAttribute("Tagihan", tagihan);

102 RequestDispatcher reqDis =

request.getRequestDispatcher("Tagihan.jsp"); reqDis.forward(request, response); } catch (Exception e) {

request.setAttribute("status", "Belum ada Tagihan!"); RequestDispatcher reqDis =

request.getRequestDispatcher("Tagihan.jsp"); reqDis.forward(request, response); }

public Tagihan getTagihan(String nim) { s = sf.openSession();

return (Tagihan) s.createQuery("SELECT t FROM Tagihan t WHERE Mahasiswa_Nim='" + nim + "'").list().get(0);

}

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().updateMahasiswa(mhs)) {

request.setAttribute("status", "Berhasil Diubah!"); RequestDispatcher reqDis =

request.getRequestDispatcher("GantiPassword.jsp"); reqDis.forward(request, response); } else {

request.setAttribute("status", "Gagal Diubah!"); RequestDispatcher reqDis =

request.getRequestDispatcher("GantiPassword.jsp"); reqDis.forward(request, response); }

public boolean updateMahasiswa(Mahasiswa m) { boolean flag = true;

try { s = sf.openSession(); s.getTransaction().begin(); s.update(m); s.getTransaction().commit(); } catch (Exception e) { flag = false;

104 } return flag; }

Dalam dokumen T1 682008042 Full text (Halaman 60-104)

Dokumen terkait