Bab 4 Hasil dan Pembahasan -...

20
B Hasil dan Bab ini berisi tentang penjadwalan ujian skripsi di UKSW. Hasil yang dibahas a jadwal ujian yang terbentuk. 4.1 Hasil Pembuatan Ap Hasil dari aplikasi yang d generate jadwal ujian dari ma user, yang digunakan untuk penjadwalan ujian. Aplikasi yan user, yaitu admin, yang dapat dalam sistem. 4.1.1 Hasil Pembuatan Aplik Aplikasi yang dibuat pert login, yang mengharuskan us Proses ini dilakukan untuk men ada di dalamnya. Halaman logi Gambar 4 61 Bab 4 n Pembahasan g hasil pembuatan aplikasi untuk Fakultas Teknologi Informasi (FTI) adalah input dan manage data serta plikasi dibuat dari penelitian ini adalah men- asukan-masukan yang diberikan oleh membantu user dalam melakukan ang dibuat hanya dibuat untuk seorang melakukan semua fungsi yang ada di kasi Penjadwalan Ujian tama kali akan menampilkan halaman ser untuk melakukan proses login. njaga keamanan sistem dan data yang in dapat dilihat pada Gambar 4.1. 4.1 Halaman Login

Transcript of Bab 4 Hasil dan Pembahasan -...

Page 1: Bab 4 Hasil dan Pembahasan - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1736/5/T1_672007038_BAB IV.pdfBab 4 Hasil dan Pembahasan Bab ini berisi tentang hasil pembuatan

61

Bab 4

Hasil dan Pembahasan

Bab ini berisi tentang hasil pembuatan aplikasi untuk

penjadwalan ujian skripsi di Fakultas Teknologi Informasi (FTI)

UKSW. Hasil yang dibahas adalah input dan manage data serta

jadwal ujian yang terbentuk.

4.1 Hasil Pembuatan AplikasiHasil dari aplikasi yang dibuat dari penelitian ini adalah men-

generate jadwal ujian dari masukan-masukan yang diberikan oleh

user, yang digunakan untuk membantu user dalam melakukan

penjadwalan ujian. Aplikasi yang dibuat hanya dibuat untuk seorang

user, yaitu admin, yang dapat melakukan semua fungsi yang ada di

dalam sistem.

4.1.1 Hasil Pembuatan Aplikasi Penjadwalan Ujian

Aplikasi yang dibuat pertama kali akan menampilkan halaman

login, yang mengharuskan user untuk melakukan proses login.

Proses ini dilakukan untuk menjaga keamanan sistem dan data yang

ada di dalamnya. Halaman login dapat dilihat pada Gambar 4.1.

Gambar 4.1 Halaman Login

61

Bab 4

Hasil dan Pembahasan

Bab ini berisi tentang hasil pembuatan aplikasi untuk

penjadwalan ujian skripsi di Fakultas Teknologi Informasi (FTI)

UKSW. Hasil yang dibahas adalah input dan manage data serta

jadwal ujian yang terbentuk.

4.1 Hasil Pembuatan AplikasiHasil dari aplikasi yang dibuat dari penelitian ini adalah men-

generate jadwal ujian dari masukan-masukan yang diberikan oleh

user, yang digunakan untuk membantu user dalam melakukan

penjadwalan ujian. Aplikasi yang dibuat hanya dibuat untuk seorang

user, yaitu admin, yang dapat melakukan semua fungsi yang ada di

dalam sistem.

4.1.1 Hasil Pembuatan Aplikasi Penjadwalan Ujian

Aplikasi yang dibuat pertama kali akan menampilkan halaman

login, yang mengharuskan user untuk melakukan proses login.

Proses ini dilakukan untuk menjaga keamanan sistem dan data yang

ada di dalamnya. Halaman login dapat dilihat pada Gambar 4.1.

Gambar 4.1 Halaman Login

61

Bab 4

Hasil dan Pembahasan

Bab ini berisi tentang hasil pembuatan aplikasi untuk

penjadwalan ujian skripsi di Fakultas Teknologi Informasi (FTI)

UKSW. Hasil yang dibahas adalah input dan manage data serta

jadwal ujian yang terbentuk.

4.1 Hasil Pembuatan AplikasiHasil dari aplikasi yang dibuat dari penelitian ini adalah men-

generate jadwal ujian dari masukan-masukan yang diberikan oleh

user, yang digunakan untuk membantu user dalam melakukan

penjadwalan ujian. Aplikasi yang dibuat hanya dibuat untuk seorang

user, yaitu admin, yang dapat melakukan semua fungsi yang ada di

dalam sistem.

4.1.1 Hasil Pembuatan Aplikasi Penjadwalan Ujian

Aplikasi yang dibuat pertama kali akan menampilkan halaman

login, yang mengharuskan user untuk melakukan proses login.

Proses ini dilakukan untuk menjaga keamanan sistem dan data yang

ada di dalamnya. Halaman login dapat dilihat pada Gambar 4.1.

Gambar 4.1 Halaman Login

Page 2: Bab 4 Hasil dan Pembahasan - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1736/5/T1_672007038_BAB IV.pdfBab 4 Hasil dan Pembahasan Bab ini berisi tentang hasil pembuatan

62

User diharuskan mengisi username dan password pada

halaman login sebelum masuk ke dalam sistem. Untuk memastikan

bahwa username dan password tersebut sesuai dengan data yang ada

dalam database, maka digunakan sebuah fungsi yang digunakan

untuk pengecekan login. Fungsi login dapat dilihat pada Kode

Program 4.1.Kode Program 4.1 Fungsi Login

1. public boolean cekLogin(String username, String password) {2. try {3. ps = conn.prepareStatement("SELECT username, password FROM

t_user");4. rs = ps.executeQuery();5. while (rs.next()) {6. if (rs.getString(1).equals(username) &&

rs.getString(2).equals(password)) {7. cek = true; break;8. }}} catch (SQLException ex) {9. Logger.getLogger(Method_User.class.getName()).log(Level.SEVER

E, null, ex);10. } finally {11. try {12. ps.close();rs.close();conn.close();13. } catch (SQLException ex) {14. Logger.getLogger(Method_List.class.getName()).log(Level.SEVER

E, null, ex);15. }}return cek;16. }

Fungsi login pada Kode Program 4.1 mengembalikan nilai

boolean. Nilai kembalian dari fungsi tersebut akan mengembalikan

nilai true apabila username dan password yang dimasukkan ada di

dalam database, dan bernilai false apabila username dan password

tidak sesuai dengan yang ada di dalam database. Untuk mengetahui

nilai kembalian dari fungsi login ini, atau dalam kata lain berhasil

tidaknya proses login, ditentukan oleh fungsi pada Kode Program

4.2.

Page 3: Bab 4 Hasil dan Pembahasan - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1736/5/T1_672007038_BAB IV.pdfBab 4 Hasil dan Pembahasan Bab ini berisi tentang hasil pembuatan

63

Kode Program 4.2 Fungsi Validasi Login

1. String username = request.getParameter("username");2. String password = request.getParameter("password");3. boolean cek = new Method_User().cekLogin(username, password);4. if (cek == true) {5. session.setAttribute("user", username);6. rd = request.getRequestDispatcher("./index2.jsp");7. rd.include(request, response);8. } else {9. request.setAttribute("msg", "Invalid Username or Password");10. rd = request.getRequestDispatcher("./index.jsp");11. rd.include(request, response);12. }

Pada Kode Program 4.2 baris ke 9, fungsi validasi login ini

akan mengembalikan pesan yang menunjukan bahwa proses login

tidak berhasil. Apabila masukan username dan password tidak sesuai

dengan database, maka sistem akan mengeluarkan pesan yang

ditampilkan langsung pada halaman login. Hal ini dapat dilihat pada

Gambar 4.2 dan Gambar 4.3.

Gambar 4.2 Kesalahan Login

Gambar 4.3 Pesan Salah Login

63

Kode Program 4.2 Fungsi Validasi Login

1. String username = request.getParameter("username");2. String password = request.getParameter("password");3. boolean cek = new Method_User().cekLogin(username, password);4. if (cek == true) {5. session.setAttribute("user", username);6. rd = request.getRequestDispatcher("./index2.jsp");7. rd.include(request, response);8. } else {9. request.setAttribute("msg", "Invalid Username or Password");10. rd = request.getRequestDispatcher("./index.jsp");11. rd.include(request, response);12. }

Pada Kode Program 4.2 baris ke 9, fungsi validasi login ini

akan mengembalikan pesan yang menunjukan bahwa proses login

tidak berhasil. Apabila masukan username dan password tidak sesuai

dengan database, maka sistem akan mengeluarkan pesan yang

ditampilkan langsung pada halaman login. Hal ini dapat dilihat pada

Gambar 4.2 dan Gambar 4.3.

Gambar 4.2 Kesalahan Login

Gambar 4.3 Pesan Salah Login

63

Kode Program 4.2 Fungsi Validasi Login

1. String username = request.getParameter("username");2. String password = request.getParameter("password");3. boolean cek = new Method_User().cekLogin(username, password);4. if (cek == true) {5. session.setAttribute("user", username);6. rd = request.getRequestDispatcher("./index2.jsp");7. rd.include(request, response);8. } else {9. request.setAttribute("msg", "Invalid Username or Password");10. rd = request.getRequestDispatcher("./index.jsp");11. rd.include(request, response);12. }

Pada Kode Program 4.2 baris ke 9, fungsi validasi login ini

akan mengembalikan pesan yang menunjukan bahwa proses login

tidak berhasil. Apabila masukan username dan password tidak sesuai

dengan database, maka sistem akan mengeluarkan pesan yang

ditampilkan langsung pada halaman login. Hal ini dapat dilihat pada

Gambar 4.2 dan Gambar 4.3.

Gambar 4.2 Kesalahan Login

Gambar 4.3 Pesan Salah Login

Page 4: Bab 4 Hasil dan Pembahasan - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1736/5/T1_672007038_BAB IV.pdfBab 4 Hasil dan Pembahasan Bab ini berisi tentang hasil pembuatan

64

Apabila proses login berhasil, user dapat masuk ke dalam

halaman utama sistem. Halaman utama dari sistem dapat dilihat

pada Gambar 4.4.

Gambar 4.4 Halaman Home

Sebelum melakukan proses penjadwalan, terdapat beberapa

proses yang harus dilakukan, diantaranya adalah proses pengaturan

ruang ujian. Tampilan halaman pengaturan ruang ujian dapat dilihat

pada Gambar 4.5.

Gambar 4.5 Halaman Ruang

Hal yang dilakukan dalam proses pengaturan ruang ujian ini

yaitu penambahan ruang ujian dan penghapusan ruang ujian. Untuk

64

Apabila proses login berhasil, user dapat masuk ke dalam

halaman utama sistem. Halaman utama dari sistem dapat dilihat

pada Gambar 4.4.

Gambar 4.4 Halaman Home

Sebelum melakukan proses penjadwalan, terdapat beberapa

proses yang harus dilakukan, diantaranya adalah proses pengaturan

ruang ujian. Tampilan halaman pengaturan ruang ujian dapat dilihat

pada Gambar 4.5.

Gambar 4.5 Halaman Ruang

Hal yang dilakukan dalam proses pengaturan ruang ujian ini

yaitu penambahan ruang ujian dan penghapusan ruang ujian. Untuk

64

Apabila proses login berhasil, user dapat masuk ke dalam

halaman utama sistem. Halaman utama dari sistem dapat dilihat

pada Gambar 4.4.

Gambar 4.4 Halaman Home

Sebelum melakukan proses penjadwalan, terdapat beberapa

proses yang harus dilakukan, diantaranya adalah proses pengaturan

ruang ujian. Tampilan halaman pengaturan ruang ujian dapat dilihat

pada Gambar 4.5.

Gambar 4.5 Halaman Ruang

Hal yang dilakukan dalam proses pengaturan ruang ujian ini

yaitu penambahan ruang ujian dan penghapusan ruang ujian. Untuk

Page 5: Bab 4 Hasil dan Pembahasan - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1736/5/T1_672007038_BAB IV.pdfBab 4 Hasil dan Pembahasan Bab ini berisi tentang hasil pembuatan

65

fungsi penambahan ruang ujian, dapat dilihat pada Kode Program

4.3.Kode Program 4.3 Fungsi Tambah Ruang Ujian

1. public boolean addRuang(String nama) {2. try {3. ps = conn.prepareStatement("INSERT INTO t_ruang VALUES ('" +

nama + "')");4. if (ps.executeUpdate() > 0) {5. cek = true;6. }} catch (SQLException ex) {7. Logger.getLogger(Method_List.class.getName()).log(Level.SEVER

E, null, ex);8. } finally {9. try {10. ps.close();conn.close();11. } catch (SQLException ex) {12. Logger.getLogger(Method_List.class.getName()).log(Level.SEVER

E, null, ex);13. }}return cek; }

Pada Kode Program 4.3, dapat dilihat bahwa penambahan

ruang dimasukkan dalam tabel t_ruang dalam database, dengan

memasukkan nama ruang sesuai dengan parameter dari fungsi

tersebut ketika dipanggil. Hal yang sama terjadi pada proses

penghapusan ruang ujian. Penghapusan ruang dilakukan sesuai

dengan parameter dari fungsi yang dapat dilihat pada Kode Program

4.4.Kode Program 4.4 Fungsi Hapus Ruang Ujian

1. public boolean deleteRuang(String nama) {2. try {3. ps = conn.prepareStatement("DELETE FROM t_ruang WHERE

nama_ruang = '" + nama + "'");4. if (ps.executeUpdate() > 0) {5. cek = true;6. }} catch (SQLException ex) {7. Logger.getLogger(Method_List.class.getName()).log(Level.SEVER

E, null, ex);8. } finally {9. try {10. ps.close();conn.close();11. } catch (SQLException ex) {12. Logger.getLogger(Method_List.class.getName()).log(Level.SEVER

E, null, ex);13. }} return cek; }

Page 6: Bab 4 Hasil dan Pembahasan - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1736/5/T1_672007038_BAB IV.pdfBab 4 Hasil dan Pembahasan Bab ini berisi tentang hasil pembuatan

66

Untuk memberikan proteksi dalam pengaturan ruang ujian ini,

dibutuhkan sistem validasi yang digunakan untuk memberikan pesan

apakah proses pengaturan ruang ujian yang dilakukan berhasil atau

tidak. Fungsi validasi pengaturan ruang ujian dapat dilihat pada

Kode Program 4.5.Kode Program 4.5 Fungsi Validasi Pengaturan Ruang Ujian

1. if (pilih.equals("Tambah")) {2. if (new Method_List().isExistRuang(namaAdd)) {3. request.setAttribute("msg", "Ruang " + namaAdd + " sudah

ada!");4. rd = request.getRequestDispatcher("./manageRuang");5. rd.include(request, response);6. } else if (new Method_Jadwal().addRuang(namaAdd)) {7. request.setAttribute("msg", "Ruang telah ditambah!");8. rd = request.getRequestDispatcher("./manageRuang");9. rd.include(request, response); }}10. if (pilih.equals("Hapus")) {11. if (new Method_Jadwal().deleteRuang(namaDelete)) {12. request.setAttribute("msg", "Ruang telah dihapus!");13. rd = request.getRequestDispatcher("./manageRuang");14. rd.include(request, response); }}

Pada Kode Program 4.5 baris kedua, dilakukan proteksi dalam

penambahan ruang ujian, yaitu melakukan pengecekan apabila nama

yang dimasukkan ketika melakukan proses penambahan ruang ujian

sama dengan nama ruang yang sudah ada di dalam database. Fungsi

untuk mengecek nama ruang ujian yang sudah ada dapat dilihat pada

Kode Program 4.6.Kode Program 4.6 Fungsi Cek Ruang Ujian

1. public boolean isExistRuang(String nama) {2. try {3. ps = conn.prepareStatement("SELECT nama_ruang FROM t_ruang

WHERE nama_ruang = '" + nama + "'");4. rs = ps.executeQuery();5. if (rs.next()) {6. cek = true;}7. } catch (SQLException ex) {8. Logger.getLogger(Method_List.class.getName()).log(Level.SEVER

E, null, ex);9. } finally {10. try { ps.close(); rs.close(); conn.close();11. } catch (SQLException ex) {12. Logger.getLogger(Method_List.class.getName()).log(Level.SEVER

E, null, ex);13. }} return cek; }

Page 7: Bab 4 Hasil dan Pembahasan - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1736/5/T1_672007038_BAB IV.pdfBab 4 Hasil dan Pembahasan Bab ini berisi tentang hasil pembuatan

67

Fungsi pada Kode Program 4.6 akan mengembalikan nilai true

apabila nama ruang yang ada pada parameter fungsi sudah ada di

dalam database, dan false apabila nama ruang tidak ada di dalam

database. Apabila nilai kembalian bernilai true, maka fungsi

penambahan ruang tidak dapat dilakukan, sedangkan apabila

kembalian bernilai false, maka fungsi penambahan ruang dapat

dilakukan.

Selanjutnya adalah halaman penambahan jadwal dosen.

Tampilan dari halaman penambahan jadwal dosen dapat dilihat pada

Gambar 4.6.

Gambar 4.6 Halaman Penambahan Jadwal Dosen

Halaman penambahan jadwal dosen menggunakan fungsi

penambahan data tanggal. Fungsi yang digunakan sama dengan

fungsi penambahan tanggal ujian. Yang membedakan adalah

parameter yang digunakan, yaitu nama dosen, hari, dan waktu.

Sedangkan untuk tabel tempat penyimpanan data, digunakan tabel

t_dosen yang menyimpan data jadwal dosen keseluruhan.

Tampilan berikutnya adalah halaman penghapusan data. Data

yang dihapus dalam halaman ini adalah data tanggal ujian dan data

skripsi. Fungsi yang digunakan adalah fungsi penghapusan data.

Fungsi yang digunakan sama dengan fungsi penghapusan pada

67

Fungsi pada Kode Program 4.6 akan mengembalikan nilai true

apabila nama ruang yang ada pada parameter fungsi sudah ada di

dalam database, dan false apabila nama ruang tidak ada di dalam

database. Apabila nilai kembalian bernilai true, maka fungsi

penambahan ruang tidak dapat dilakukan, sedangkan apabila

kembalian bernilai false, maka fungsi penambahan ruang dapat

dilakukan.

Selanjutnya adalah halaman penambahan jadwal dosen.

Tampilan dari halaman penambahan jadwal dosen dapat dilihat pada

Gambar 4.6.

Gambar 4.6 Halaman Penambahan Jadwal Dosen

Halaman penambahan jadwal dosen menggunakan fungsi

penambahan data tanggal. Fungsi yang digunakan sama dengan

fungsi penambahan tanggal ujian. Yang membedakan adalah

parameter yang digunakan, yaitu nama dosen, hari, dan waktu.

Sedangkan untuk tabel tempat penyimpanan data, digunakan tabel

t_dosen yang menyimpan data jadwal dosen keseluruhan.

Tampilan berikutnya adalah halaman penghapusan data. Data

yang dihapus dalam halaman ini adalah data tanggal ujian dan data

skripsi. Fungsi yang digunakan adalah fungsi penghapusan data.

Fungsi yang digunakan sama dengan fungsi penghapusan pada

67

Fungsi pada Kode Program 4.6 akan mengembalikan nilai true

apabila nama ruang yang ada pada parameter fungsi sudah ada di

dalam database, dan false apabila nama ruang tidak ada di dalam

database. Apabila nilai kembalian bernilai true, maka fungsi

penambahan ruang tidak dapat dilakukan, sedangkan apabila

kembalian bernilai false, maka fungsi penambahan ruang dapat

dilakukan.

Selanjutnya adalah halaman penambahan jadwal dosen.

Tampilan dari halaman penambahan jadwal dosen dapat dilihat pada

Gambar 4.6.

Gambar 4.6 Halaman Penambahan Jadwal Dosen

Halaman penambahan jadwal dosen menggunakan fungsi

penambahan data tanggal. Fungsi yang digunakan sama dengan

fungsi penambahan tanggal ujian. Yang membedakan adalah

parameter yang digunakan, yaitu nama dosen, hari, dan waktu.

Sedangkan untuk tabel tempat penyimpanan data, digunakan tabel

t_dosen yang menyimpan data jadwal dosen keseluruhan.

Tampilan berikutnya adalah halaman penghapusan data. Data

yang dihapus dalam halaman ini adalah data tanggal ujian dan data

skripsi. Fungsi yang digunakan adalah fungsi penghapusan data.

Fungsi yang digunakan sama dengan fungsi penghapusan pada

Page 8: Bab 4 Hasil dan Pembahasan - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1736/5/T1_672007038_BAB IV.pdfBab 4 Hasil dan Pembahasan Bab ini berisi tentang hasil pembuatan

68

fungsi-fungsi sebelumnya. Untuk fungsi penghapusan tanggal ujian,

akan menghapus semua data tanggal yang ada pada tabel

t_tanggalujian, sedangkan fungsi penghapusan skripsi akan

menghapus semua data skripsi yang ada pada tabel t_skripsi.

Halaman penghapusan data dapat dilihat pada Gambar 4.7.

Gambar 4.7 Halaman Penghapusan Data

Tampilan selanjutnya adalah halaman pengaturan dosen. Pada

halaman ini dapat dilihat daftar dosen FTI secara keseluruhan dan

dosen-dosen yang termasuk ke dalam dosen penguji. Tampilan dari

halaman pengaturan dosen dapat dilihat pada Gambar 4.8 dan

Gambar 4.9.

Gambar 4.8 Halaman Dosen – Daftar Dosen FTI

68

fungsi-fungsi sebelumnya. Untuk fungsi penghapusan tanggal ujian,

akan menghapus semua data tanggal yang ada pada tabel

t_tanggalujian, sedangkan fungsi penghapusan skripsi akan

menghapus semua data skripsi yang ada pada tabel t_skripsi.

Halaman penghapusan data dapat dilihat pada Gambar 4.7.

Gambar 4.7 Halaman Penghapusan Data

Tampilan selanjutnya adalah halaman pengaturan dosen. Pada

halaman ini dapat dilihat daftar dosen FTI secara keseluruhan dan

dosen-dosen yang termasuk ke dalam dosen penguji. Tampilan dari

halaman pengaturan dosen dapat dilihat pada Gambar 4.8 dan

Gambar 4.9.

Gambar 4.8 Halaman Dosen – Daftar Dosen FTI

68

fungsi-fungsi sebelumnya. Untuk fungsi penghapusan tanggal ujian,

akan menghapus semua data tanggal yang ada pada tabel

t_tanggalujian, sedangkan fungsi penghapusan skripsi akan

menghapus semua data skripsi yang ada pada tabel t_skripsi.

Halaman penghapusan data dapat dilihat pada Gambar 4.7.

Gambar 4.7 Halaman Penghapusan Data

Tampilan selanjutnya adalah halaman pengaturan dosen. Pada

halaman ini dapat dilihat daftar dosen FTI secara keseluruhan dan

dosen-dosen yang termasuk ke dalam dosen penguji. Tampilan dari

halaman pengaturan dosen dapat dilihat pada Gambar 4.8 dan

Gambar 4.9.

Gambar 4.8 Halaman Dosen – Daftar Dosen FTI

Page 9: Bab 4 Hasil dan Pembahasan - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1736/5/T1_672007038_BAB IV.pdfBab 4 Hasil dan Pembahasan Bab ini berisi tentang hasil pembuatan

69

Gambar 4.9 Halaman Dosen – Daftar Dosen Penguji

Fungsi yang digunakan dalam halaman pengaturan dosen ini

adalah fungsi penambahan dosen menjadi dosen penguji, dan

penghapusan dosen penguji dari daftar. Fungsi yang digunakan sama

dengan fungsi sebelumnya, yang membedakan adalah tabel yang

digunakan. Tabel yang digunakan pada halaman ini adalah tabel

t_listdosen untuk mengambil daftar dosen secara keseluruhan dan

tabel t_dosenpenguji sebagai penyimpanan data dosen penguji.

Tampilan selanjutnya adalah halaman update dosen. Tampilan

dari halaman ini dapat dilihat pada Gambar 4.10.

Gambar 4.10 Halaman Update Dosen

69

Gambar 4.9 Halaman Dosen – Daftar Dosen Penguji

Fungsi yang digunakan dalam halaman pengaturan dosen ini

adalah fungsi penambahan dosen menjadi dosen penguji, dan

penghapusan dosen penguji dari daftar. Fungsi yang digunakan sama

dengan fungsi sebelumnya, yang membedakan adalah tabel yang

digunakan. Tabel yang digunakan pada halaman ini adalah tabel

t_listdosen untuk mengambil daftar dosen secara keseluruhan dan

tabel t_dosenpenguji sebagai penyimpanan data dosen penguji.

Tampilan selanjutnya adalah halaman update dosen. Tampilan

dari halaman ini dapat dilihat pada Gambar 4.10.

Gambar 4.10 Halaman Update Dosen

69

Gambar 4.9 Halaman Dosen – Daftar Dosen Penguji

Fungsi yang digunakan dalam halaman pengaturan dosen ini

adalah fungsi penambahan dosen menjadi dosen penguji, dan

penghapusan dosen penguji dari daftar. Fungsi yang digunakan sama

dengan fungsi sebelumnya, yang membedakan adalah tabel yang

digunakan. Tabel yang digunakan pada halaman ini adalah tabel

t_listdosen untuk mengambil daftar dosen secara keseluruhan dan

tabel t_dosenpenguji sebagai penyimpanan data dosen penguji.

Tampilan selanjutnya adalah halaman update dosen. Tampilan

dari halaman ini dapat dilihat pada Gambar 4.10.

Gambar 4.10 Halaman Update Dosen

Page 10: Bab 4 Hasil dan Pembahasan - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1736/5/T1_672007038_BAB IV.pdfBab 4 Hasil dan Pembahasan Bab ini berisi tentang hasil pembuatan

70

Dalam halaman ini, terdapat beberapa fungsi yang digunakan

dalam proses. Untuk penambahan maupun penghapusan kode dosen

dan nama dosen, fungsi yang digunakan sama dengan fungsi

sebelumnya. Perbedaannya terletak pada tempat penyimpanan data,

yaitu pada tabel t_listdosen.

Fungsi berikutnya adalah pengaturan tahun semester. Fungsi

ini akan mengembalikan nilai boolean dimana akan bernilai true

apabila proses update pada database berhasil dan sebaliknya,

apabila proses update pada database gagal, maka akan

mengembalikan nilai false. Fungsi ini dapat dilihat pada Kode

Program 4.7.Kode Program 4.7 Fungsi Pengaturan Tahun Semester

1. public boolean setTahunSemester(String tahun, Stringsemester) {

2. try {3. ps = conn.prepareStatement("UPDATE t_thnsmt SET tahun = '" +

tahun + "', semester = '" + semester + "' WHERE id = 1");4. if (ps.executeUpdate() > 0) {5. cek = true;6. }7. } catch (SQLException ex) {8. Logger.getLogger(Method_Jadwal.class.getName()).log(Level.SEV

ERE, null, ex);9. } finally {10. try {11. ps.close();12. conn.close();13. } catch (SQLException ex) {14. Logger.getLogger(Method_List.class.getName()).log(Level.SEVER

E, null, ex);15. }16. }17. return cek;18. }

Fungsi selanjutnya adalah fungsi yang digunakan untuk me-

refresh jadwal dosen yang diambil dari Web Service SIASAT.

Dalam fungsi ini, yang pertama dilakukan adalah mengatur nama

host dan port dari Web Service yang digunakan, sehingga sistem

dapat berhubungan dengan Web Service SIASAT, seperti yang

Page 11: Bab 4 Hasil dan Pembahasan - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1736/5/T1_672007038_BAB IV.pdfBab 4 Hasil dan Pembahasan Bab ini berisi tentang hasil pembuatan

71

ditunjukkan pada Kode Program 4.8 baris ke-1 dan ke-2. Proses

berikutnya adalah menghapus data jadwal yang terdapat pada

database untuk diisi dengan data yang baru. Fungsi ini ditunjukkan

pada Kode Program 4.8 baris ke-8.Kode Program 4.8 Fungsi Ambil Data dari Web Service

1. System.setProperty("http.proxyHost", "services.uksw.edu");2. System.setProperty("http.proxyPort", "80");3. String kode = request.getParameter("kode");4. String thnsmt = new Method_Jadwal().getTahunSemester();5. try {6. String x = getJadwalMengajar(kode, thnsmt, "admin67",

"adm67pwd");7. if (!x.isEmpty()) {8. new Method_List().deleteJadwalFromKode(kode);9. new Method_List().readDataFromWS(x, kode);10. request.setAttribute("msg", "Jadwal telah di-refresh!");11. rd = request.getRequestDispatcher("./updateDosen");12. rd.include(request, response);13. } else {14. request.setAttribute("msg", "Jadwal tidak ada!");15. rd = request.getRequestDispatcher("./updateDosen");16. rd.include(request, response);17. }18. }

Fungsi getJadwalMengajar() pada baris ke-6 adalah fungsi

yang diambil dari Web Service SIASAT. Fungsi ini dapat dilihat

pada Kode Program 4.9.Kode Program 4.9 Fungsi Web Service

1. private static String getJadwalMengajar(java.lang.Stringkodedosen, java.lang.String tahunsem, java.lang.Stringuseracc, java.lang.String pwd) {

2. org.kp.KpService service = new org.kp.KpService();3. org.kp.KpServiceSoap port = service.getKpServiceSoap();4. return port.getJadwalMengajar(kodedosen, tahunsem, useracc,

pwd);5. }

Setelah data jadwal di database dihapus, fungsi akan

menyimpan data yang baru yang diambil dari Web Service. Agar

data yang diambil dapat disimpan dalam database, data dari Web

Service harus dibaca terlebih dahulu. Berikut adalah fungsi untuk

Page 12: Bab 4 Hasil dan Pembahasan - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1736/5/T1_672007038_BAB IV.pdfBab 4 Hasil dan Pembahasan Bab ini berisi tentang hasil pembuatan

72

membaca data yang diambil dari Web Service yang dapat dilihat

pada Kode Program 4.10.Kode Program 4.10 Fungsi Baca Data dari Web Service

1. public void readDataFromWS(String x, String kode) {2. String[] jadwal = x.split("<>");3. for (int i = 0; i < jadwal.length; i++) {4. String[] data = jadwal[i].split("\\|");5. String kode_mk = data[0];6. String nama_mk = data[1];7. String hari = data[2];8. String jam1 = data[3].substring(0, 2);9. String jam2 = data[4].substring(0, 2);10. String tempat = data[5];11. String jam = "";12. if (jam1.startsWith("0")) {13. jam1 = jam1.substring(1);14. }15. if (jam2.startsWith("0")) {16. jam2 = jam2.substring(1);17. }18. jam = jam1 + "-" + jam2;19. New Method_List ().addJadwalDosen (kode, kode_mk, nama_mk,

hari, jam, tempat);20. }21. }

Fungsi pada Kode Program 4.10, untuk setiap jadwal dari

masing-masing dosen, data akan disimpan satu-persatu ke dalam

database pada tabel t_dosen, yaitu pada fungsi addJadwalDosen() di

Kode Program 4.10 baris ke-19.

Selanjutnya adalah halaman pengaturan tanggal. Fungsi yang

digunakan dalam pengaturan tanggal adalah fungsi penambahan

tanggal. Fungsi yang digunakan memiliki kesamaan dengan fungsi

penambahan yang ada pada fungsi penambahan bidang minat. Yang

membedakan adalah tabel yang digunakan untuk menyimpan data

tanggal, yaitu tabel t_tanggalujian. Tampilan dari halaman

pengaturan tanggal dapat dilihat pada Gambar 4.11.

Page 13: Bab 4 Hasil dan Pembahasan - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1736/5/T1_672007038_BAB IV.pdfBab 4 Hasil dan Pembahasan Bab ini berisi tentang hasil pembuatan

73

Gambar 4.11 Halaman Pengaturan Tanggal

Tampilan antarmuka selanjutnya adalah halaman pengaturan

skripsi. Tampilan dari halaman pengaturan skripsi dapat dilihat pada

Gambar 4.12.

Gambar 4.12 Halaman Pengaturan Skripsi

Halaman pengaturan skripsi memiliki dua fungsi yang dapat

dilakukan, yaitu fungsi penambahan data skripsi dan penghapusan

data. Fungsi penambahan dan penghapusan yang ada di halaman ini

memiliki kemiripan dengan fungsi sebelumnya, yang membedakan

adalah parameter dari fungsi serta tabel yang digunakan untuk

penyimpanan data, yaitu tabel t_skripsi. Parameter yang digunakan

untuk penambahan data yaitu, NIM, nama, judul, pembimbing 1,

pembimbing 2 dan bidang minat.

73

Gambar 4.11 Halaman Pengaturan Tanggal

Tampilan antarmuka selanjutnya adalah halaman pengaturan

skripsi. Tampilan dari halaman pengaturan skripsi dapat dilihat pada

Gambar 4.12.

Gambar 4.12 Halaman Pengaturan Skripsi

Halaman pengaturan skripsi memiliki dua fungsi yang dapat

dilakukan, yaitu fungsi penambahan data skripsi dan penghapusan

data. Fungsi penambahan dan penghapusan yang ada di halaman ini

memiliki kemiripan dengan fungsi sebelumnya, yang membedakan

adalah parameter dari fungsi serta tabel yang digunakan untuk

penyimpanan data, yaitu tabel t_skripsi. Parameter yang digunakan

untuk penambahan data yaitu, NIM, nama, judul, pembimbing 1,

pembimbing 2 dan bidang minat.

73

Gambar 4.11 Halaman Pengaturan Tanggal

Tampilan antarmuka selanjutnya adalah halaman pengaturan

skripsi. Tampilan dari halaman pengaturan skripsi dapat dilihat pada

Gambar 4.12.

Gambar 4.12 Halaman Pengaturan Skripsi

Halaman pengaturan skripsi memiliki dua fungsi yang dapat

dilakukan, yaitu fungsi penambahan data skripsi dan penghapusan

data. Fungsi penambahan dan penghapusan yang ada di halaman ini

memiliki kemiripan dengan fungsi sebelumnya, yang membedakan

adalah parameter dari fungsi serta tabel yang digunakan untuk

penyimpanan data, yaitu tabel t_skripsi. Parameter yang digunakan

untuk penambahan data yaitu, NIM, nama, judul, pembimbing 1,

pembimbing 2 dan bidang minat.

Page 14: Bab 4 Hasil dan Pembahasan - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1736/5/T1_672007038_BAB IV.pdfBab 4 Hasil dan Pembahasan Bab ini berisi tentang hasil pembuatan

74

Selanjutnya adalah antarmuka halaman pengaturan bidang

minat. Tampilan dari halaman pengaturan bidang minat dapat dilihat

pada Gambar 4.13.

Gambar 4.13 Halaman Bidang Minat

Fungsi yang digunakan dalam pengaturan bidang minat ini

hampir sama dengan fungsi untuk pengaturan ruang ujian. Fungsi

yang digunakan adalah fungsi penambahan bidang minat dan

penghapusan bidang minat. Perbedaannya terletak pada tabel yang

digunakan. Tabel yang digunakan dalam pengaturan bidang minat

adalah tabel t_bidangminat. Proteksi yang dilakukan sama dengan

proteksi dalam pengaturan ruang ujian.

Berikutnya adalah halaman pengaturan bidang minat dosen.

Bidang minat dari dosen ini akan dijadikan sebagai acuan untuk

mendapatkan dosen penguji dari topik skripsi. Fungsi yang

digunakan dalam pengaturan bidang minat dosen ini juga memiliki

kemiripan dengan fungsi untuk pengaturan bidang minat dan

pengaturan ruang, yaitu fungsi penambahan bidang minat dosen dan

penghapusan bidang minat dosen. Perbedaan dari fungsinya terletak

pada tabel yang digunakan. Tabel yang digunakan dalam pengaturan

bidang minat dosen adalah tabel t_bidangminatdosen. Proteksi yang

74

Selanjutnya adalah antarmuka halaman pengaturan bidang

minat. Tampilan dari halaman pengaturan bidang minat dapat dilihat

pada Gambar 4.13.

Gambar 4.13 Halaman Bidang Minat

Fungsi yang digunakan dalam pengaturan bidang minat ini

hampir sama dengan fungsi untuk pengaturan ruang ujian. Fungsi

yang digunakan adalah fungsi penambahan bidang minat dan

penghapusan bidang minat. Perbedaannya terletak pada tabel yang

digunakan. Tabel yang digunakan dalam pengaturan bidang minat

adalah tabel t_bidangminat. Proteksi yang dilakukan sama dengan

proteksi dalam pengaturan ruang ujian.

Berikutnya adalah halaman pengaturan bidang minat dosen.

Bidang minat dari dosen ini akan dijadikan sebagai acuan untuk

mendapatkan dosen penguji dari topik skripsi. Fungsi yang

digunakan dalam pengaturan bidang minat dosen ini juga memiliki

kemiripan dengan fungsi untuk pengaturan bidang minat dan

pengaturan ruang, yaitu fungsi penambahan bidang minat dosen dan

penghapusan bidang minat dosen. Perbedaan dari fungsinya terletak

pada tabel yang digunakan. Tabel yang digunakan dalam pengaturan

bidang minat dosen adalah tabel t_bidangminatdosen. Proteksi yang

74

Selanjutnya adalah antarmuka halaman pengaturan bidang

minat. Tampilan dari halaman pengaturan bidang minat dapat dilihat

pada Gambar 4.13.

Gambar 4.13 Halaman Bidang Minat

Fungsi yang digunakan dalam pengaturan bidang minat ini

hampir sama dengan fungsi untuk pengaturan ruang ujian. Fungsi

yang digunakan adalah fungsi penambahan bidang minat dan

penghapusan bidang minat. Perbedaannya terletak pada tabel yang

digunakan. Tabel yang digunakan dalam pengaturan bidang minat

adalah tabel t_bidangminat. Proteksi yang dilakukan sama dengan

proteksi dalam pengaturan ruang ujian.

Berikutnya adalah halaman pengaturan bidang minat dosen.

Bidang minat dari dosen ini akan dijadikan sebagai acuan untuk

mendapatkan dosen penguji dari topik skripsi. Fungsi yang

digunakan dalam pengaturan bidang minat dosen ini juga memiliki

kemiripan dengan fungsi untuk pengaturan bidang minat dan

pengaturan ruang, yaitu fungsi penambahan bidang minat dosen dan

penghapusan bidang minat dosen. Perbedaan dari fungsinya terletak

pada tabel yang digunakan. Tabel yang digunakan dalam pengaturan

bidang minat dosen adalah tabel t_bidangminatdosen. Proteksi yang

Page 15: Bab 4 Hasil dan Pembahasan - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1736/5/T1_672007038_BAB IV.pdfBab 4 Hasil dan Pembahasan Bab ini berisi tentang hasil pembuatan

75

dilakukan juga sama dengan proteksi untuk pengaturan bidang minat

dan pengaturan ruang.

Tampilan dari halaman pengaturan bidang minat dosen dapat

dilihat pada Gambar 4.14.

Gambar 4.14 Halaman Bidang Minat Dosen

Bidang minat dosen digunakan sebagai parameter untuk

perhitungan dalam metode TOPSIS untuk mendapatkan dosen

penguji terbaik untuk setiap topik skripsi. Tahap pertama yang

dilakukan adalah membuat matriks dari nilai alternatif masing-

masing kriteria dan membuat matriks ternormalisasi. Fungsi ini

dapat dilihat pada Kode Program 4.11.Kode Program 4.11 Matriks Nilai dan Matriks Ternormalisasi

1. double[][] matrix = new double[totalPenguji][kriteria]; intidx = 2;

2. for (int j = 0; j < totalPenguji; j++) {3. for (int k = 0; k < kriteria; k++) {4. matrix[j][k] =

Double.parseDouble(penguji.get(idx).toString());5. idx += 3; }6. double[][] matrixNormal = new double[totalPenguji][kriteria];7. double total = 0;8. for (int k = 0; k < kriteria; k++) {9. for (int l = 0; l < totalPenguji; l++) {10. total += Math.pow(matrix[l][k], 2); }11. for (int j = 0; j < totalPenguji; j++) {12. matrixNormal[j][k] = matrix[j][k] / Math.sqrt(total);}13. total = 0;}

75

dilakukan juga sama dengan proteksi untuk pengaturan bidang minat

dan pengaturan ruang.

Tampilan dari halaman pengaturan bidang minat dosen dapat

dilihat pada Gambar 4.14.

Gambar 4.14 Halaman Bidang Minat Dosen

Bidang minat dosen digunakan sebagai parameter untuk

perhitungan dalam metode TOPSIS untuk mendapatkan dosen

penguji terbaik untuk setiap topik skripsi. Tahap pertama yang

dilakukan adalah membuat matriks dari nilai alternatif masing-

masing kriteria dan membuat matriks ternormalisasi. Fungsi ini

dapat dilihat pada Kode Program 4.11.Kode Program 4.11 Matriks Nilai dan Matriks Ternormalisasi

1. double[][] matrix = new double[totalPenguji][kriteria]; intidx = 2;

2. for (int j = 0; j < totalPenguji; j++) {3. for (int k = 0; k < kriteria; k++) {4. matrix[j][k] =

Double.parseDouble(penguji.get(idx).toString());5. idx += 3; }6. double[][] matrixNormal = new double[totalPenguji][kriteria];7. double total = 0;8. for (int k = 0; k < kriteria; k++) {9. for (int l = 0; l < totalPenguji; l++) {10. total += Math.pow(matrix[l][k], 2); }11. for (int j = 0; j < totalPenguji; j++) {12. matrixNormal[j][k] = matrix[j][k] / Math.sqrt(total);}13. total = 0;}

75

dilakukan juga sama dengan proteksi untuk pengaturan bidang minat

dan pengaturan ruang.

Tampilan dari halaman pengaturan bidang minat dosen dapat

dilihat pada Gambar 4.14.

Gambar 4.14 Halaman Bidang Minat Dosen

Bidang minat dosen digunakan sebagai parameter untuk

perhitungan dalam metode TOPSIS untuk mendapatkan dosen

penguji terbaik untuk setiap topik skripsi. Tahap pertama yang

dilakukan adalah membuat matriks dari nilai alternatif masing-

masing kriteria dan membuat matriks ternormalisasi. Fungsi ini

dapat dilihat pada Kode Program 4.11.Kode Program 4.11 Matriks Nilai dan Matriks Ternormalisasi

1. double[][] matrix = new double[totalPenguji][kriteria]; intidx = 2;

2. for (int j = 0; j < totalPenguji; j++) {3. for (int k = 0; k < kriteria; k++) {4. matrix[j][k] =

Double.parseDouble(penguji.get(idx).toString());5. idx += 3; }6. double[][] matrixNormal = new double[totalPenguji][kriteria];7. double total = 0;8. for (int k = 0; k < kriteria; k++) {9. for (int l = 0; l < totalPenguji; l++) {10. total += Math.pow(matrix[l][k], 2); }11. for (int j = 0; j < totalPenguji; j++) {12. matrixNormal[j][k] = matrix[j][k] / Math.sqrt(total);}13. total = 0;}

Page 16: Bab 4 Hasil dan Pembahasan - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1736/5/T1_672007038_BAB IV.pdfBab 4 Hasil dan Pembahasan Bab ini berisi tentang hasil pembuatan

76

Tahap selanjutnya adalah mencari solusi ideal positif dan

solusi ideal negatif. Fungsi perhitungan ini dapat dilihat pada Kode

Program 4.12.Kode Program 4.12 Solusi Ideal Positif dan Negatif

1. double max = 0; List solusiPositif = new ArrayList();2. for (int k = 0; k < kriteria; k++) {3. for (int j = 0; j < totalPenguji; j++) {4. if (matrixNormal[j][k] > max) {5. max = matrixNormal[j][k]; }6. }solusiPositif.add(max);7. max = 0; } double min = 0;8. List solusiNegatif = new ArrayList();9. double[] baris = new double[totalPenguji];10. for (int k = 0; k < kriteria; k++) {11. for (int j = 0; j < totalPenguji; j++) {12. baris[j] = matrixNormal[j][k]; }13. for (int a = 0; a < baris.length - 1; a++) {14. if (a == 0) {15. min = Math.min(baris[a], baris[a + 1]);16. } else {17. min = Math.min(min, baris[a]); }18. }solusiNegatif.add(min); min = 0; }

Setelah didapat solusi ideal positif dan negatif, tahap

berikutnya adalah mencari jarak antara alternatif dengan solusi ideal

positif dan negatif. Fungsi ini dapat dilihat pada Kode Program 4.13.Kode Program 4.13 Jarak Antara Alternatif dan Solusi Ideal

1. List jarakPositif = new ArrayList();2. for (int j = 0; j < totalPenguji; j++) {3. for (int k = 0; k < kriteria; k++) {4. total += Math.pow(matrixNormal[j][k] -

Double.parseDouble(solusiPositif.get(k).toString()), 2); }5. jarakPositif.add(Math.sqrt(total));6. total = 0; }7. List jarakNegatif = new ArrayList();8. for (int j = 0; j < totalPenguji; j++) {9. for (int k = 0; k < kriteria; k++) {10. total += Math.pow(matrixNormal[j][k] -

Double.parseDouble(solusiNegatif.get(k).toString()), 2); }11. jarakNegatif.add(Math.sqrt(total)); total = 0; }

Tahap akhir dari metode TOPSIS ini adalah menentukan nilai

preferensi dari masing-masing alternatif. Setelah nilai preferensi

didapat, nilai tersebut diurutkan dari nilai terbesar hingga yang

paling kecil untuk mendapatkan dosen penguji yang terbaik. Fungsi

ini dapat dilihat pada Kode Program 4.14.

Page 17: Bab 4 Hasil dan Pembahasan - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1736/5/T1_672007038_BAB IV.pdfBab 4 Hasil dan Pembahasan Bab ini berisi tentang hasil pembuatan

77

Kode Program 4.14 Nilai Preferensi

1. List nilai = new ArrayList();2. for (int j = 0; j < totalPenguji; j++) {3. nilai.add(Double.parseDouble(jarakNegatif.get(j).toString())

/ (Double.parseDouble(jarakNegatif.get(j).toString()) +Double.parseDouble(jarakPositif.get(j).toString()))); }

4. List urutAwal = new ArrayList(); List urutAkhir = newArrayList();

5. for (int j = 0; j < totalPenguji; j++) {6. urutAwal.add(distinctPenguji.get(j));7. urutAwal.add(nilai.get(j)); }8. while (!urutAwal.isEmpty()) {9. int a = 0;10. for (int j = 0; j < urutAwal.size() / 2; j++) {11. if (j == 0) {12. max = Double.parseDouble(urutAwal.get(a + 1).toString());13. } else if (urutAwal.size() == 2) {14. urutAkhir.add(urutAwal.get(0));15. urutAkhir.add(urutAwal.get(1));16. urutAwal.remove(1);17. urutAwal.remove(0);18. break;19. } else {20. max = Math.max(max, Double.parseDouble(urutAwal.get(a +

1).toString())); }21. a += 2; }22. int ind = urutAwal.indexOf(max);23. urutAkhir.add(urutAwal.get(ind - 1));24. urutAkhir.add(urutAwal.get(ind));25. urutAwal.remove(ind - 1);26. urutAwal.remove(ind - 1); }

Setelah didapatkan dosen penguji untuk masing-masing topik

skripsi, proses selanjutnya adalah mencari hari dan sesi ujian yang

bisa dilakukan oleh dosen pembimbing dan penguji untuk skripsi

tersebut. Untuk membuat sebuah jadwal ujian, sistem harus dapat

menentukan waktu ujian dimana tidak ada konflik antara jadwal

dosen pembimbing dan penguji. Fungsi ini dapat dilihat pada Kode

Program 4.15.

Page 18: Bab 4 Hasil dan Pembahasan - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1736/5/T1_672007038_BAB IV.pdfBab 4 Hasil dan Pembahasan Bab ini berisi tentang hasil pembuatan

78

Kode Program 4.15 Fungsi Pencarian Hari dan Sesi Ujian

1. public boolean cekJadwalUjian(List jadwalUjian, List dosen) {2. int j = 0; List bisaTidak = new ArrayList();3. if (jadwalUjian.get(j + 5).toString().equals(“1”)) {4. return cek = true;5. } else {6. for (int k = 0; k < dosen.size(); k += 4) {7. if (k == 20) {8. break; }9. String hr = (String) dosen.get(k + 2);10. String jam = (String) dosen.get(k + 3);11. String[] jadwal = (jam.split(“-“));12. int awal = Integer.parseInt(jadwal[0]);13. int akhir = Integer.parseInt(jadwal[1]);14. int[] jdwlDosen = new int[jadwal.length];15. for (int l = 0; l <= (akhir – awal); l++) {16. jdwlDosen[l] = awal; awal++; }17. for (int x1 = (int) Double.parseDouble(jadwalUjian.get(j +

3).toString()); x1 <= (int)Double.parseDouble(jadwalUjian.get(j + 4).toString()); x1++){

18. for (int y = 0; y < jadwal.length; y++) {19. if (jdwlDosen[y] == x1 && hr.equals(jadwalUjian.get(j + 1)))

{20. bisaTidak.add(“tidak”);21. } else {22. bisaTidak.add(“bisa”); }}}23. for (int I = 0; I < bisaTidak.size(); i++) {24. if (bisaTidak.get(i).toString().equals(“tidak”)) {25. cek = true;26. break; }}}} return cek;}

Dari fungsi yang dilihat pada Kode Program 4.15, fungsi akan

mengembalikan nilai boolean, yaitu true apabila jadwal dosen tidak

bisa atau terdapat konflik pada hari dan sesi tertentu, dan false

apabila semua dosen bisa menghadiri ujian pada hari dan sesi

tertentu.

Setelah dosen penguji, hari, dan sesi ujian ditemukan, data

tersebut akan disimpan ke dalam database. Fungsi yang digunakan

sama dengan fungsi penambahan data yang terdapat pada fungsi-

fungsi penambahan sebelumnya, yang membedakan adalah tabel

yang digunakan untuk penyimpanan data, yaitu tabel t_jadwalujian.

Pembuatan jadwal ujian dapat dilakukan apabila langkah-

langkah tersebut telah terpenuhi. Dosen penguji yang didapat juga

Page 19: Bab 4 Hasil dan Pembahasan - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1736/5/T1_672007038_BAB IV.pdfBab 4 Hasil dan Pembahasan Bab ini berisi tentang hasil pembuatan

79

terdapat alternatif apabila dosen penguji yang telah ditentukan tidak

bisa hadir dalam ujian. Halaman jadwal ujian dapat dilihat pada

Gambar 4.15.

Gambar 4.15 Halaman Jadwal Ujian

Halaman ini adalah proses akhir dari sistem, yang akan

menampilkan tabel yang berisi jadwal ujian yang terbentuk. Jadwal

yang terbentuk dibuat berdasarkan data-data yang telah dimasukkan

sebelumnya.

Data jadwal ujian yang telah terbentuk, dapat dibuat laporan

ke dalam bentuk file .xls. Laporan yang dibuat dapat berdasarkan

seluruh jadwal yang terbentuk maupun berdasarkan dosen. Tampilan

dari fungsi ini dapat dilihat pada Gambar 4.16.

Gambar 4.16 Halaman Laporan

79

terdapat alternatif apabila dosen penguji yang telah ditentukan tidak

bisa hadir dalam ujian. Halaman jadwal ujian dapat dilihat pada

Gambar 4.15.

Gambar 4.15 Halaman Jadwal Ujian

Halaman ini adalah proses akhir dari sistem, yang akan

menampilkan tabel yang berisi jadwal ujian yang terbentuk. Jadwal

yang terbentuk dibuat berdasarkan data-data yang telah dimasukkan

sebelumnya.

Data jadwal ujian yang telah terbentuk, dapat dibuat laporan

ke dalam bentuk file .xls. Laporan yang dibuat dapat berdasarkan

seluruh jadwal yang terbentuk maupun berdasarkan dosen. Tampilan

dari fungsi ini dapat dilihat pada Gambar 4.16.

Gambar 4.16 Halaman Laporan

79

terdapat alternatif apabila dosen penguji yang telah ditentukan tidak

bisa hadir dalam ujian. Halaman jadwal ujian dapat dilihat pada

Gambar 4.15.

Gambar 4.15 Halaman Jadwal Ujian

Halaman ini adalah proses akhir dari sistem, yang akan

menampilkan tabel yang berisi jadwal ujian yang terbentuk. Jadwal

yang terbentuk dibuat berdasarkan data-data yang telah dimasukkan

sebelumnya.

Data jadwal ujian yang telah terbentuk, dapat dibuat laporan

ke dalam bentuk file .xls. Laporan yang dibuat dapat berdasarkan

seluruh jadwal yang terbentuk maupun berdasarkan dosen. Tampilan

dari fungsi ini dapat dilihat pada Gambar 4.16.

Gambar 4.16 Halaman Laporan

Page 20: Bab 4 Hasil dan Pembahasan - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1736/5/T1_672007038_BAB IV.pdfBab 4 Hasil dan Pembahasan Bab ini berisi tentang hasil pembuatan

80

4.2 Software TestingPengujian sistem dilakukan untuk memberikan penilaian

terhadap jalannya sebuah sistem. Sistem yang dibuat dapat

menghasilkan jadwal ujian dimana terdapat dosen penguji yang

sesuai dengan masing-masing topik skripsi dan alternatif dari dosen

penguji apabila dosen penguji yang telah ditetapkan tidak dapat

menghadiri ujian. Pengujian selanjutnya yang dilakukan adalah

melakukan perbandingan antara jadwal yang dibentuk oleh sistem

dan jadwal yang dibentuk tanpa menggunakan sistem dalam satu

periode ujian. Perbandingan antara kedua jadwal diambil persentase

kemiripan dosen penguji pada jadwal yang dibentuk oleh sistem

dengan jadwal yang dibentuk tanpa menggunakan sistem. Persentase

yang didapat kemudian dijumlah dan dibagi sejumlah topik skripsi

yang diujikan pada periode tersebut, sehingga didapatkan persentase

kemiripan rata-rata. Pengujian yang dilakukan mendapatkan

persentase kemiripan antara kedua jadwal sebanyak 33%.