4.4 Pembahasan dan Implementasi Sistem
4.4.3 Form Server
Form server adalah form yang berguna untuk me-manage
data user, data soal, data fakultas, data pengaturan ujian, melihat data peserta, melihat data hasil dan data penerimaan. Form Server
ini terdiri dari 7 tab utama, yaitu User, Soal, Fakultas, Pengaturan, Peserta, Hasil dan Penerimaan.
a. Tab User
Tab User memiliki 4 tab di dalamnya, yaitu tab
TambahUser, Edit User,HapusUserdan LihatUser.
Tab Tambah User digunakan untuk menambahkan
user yang baru. Ada 2 jenis user, user sebagai
administrator yang ditandai dengan status angka 0 danuser sebagai camaru yang ditandai dengan status angka 1. Tampilan antarmuka tab Tambah User ini terlihat pada Gambar 4.29.
Gambar 4.29AntarmukaTabTambahUser
Tab Edit User digunakan untuk melakukan perubahan data useryang sudah ada dalam database.
Tampilan antarmuka tab Edit User ini terlihat pada Gambar 4.30.
Gambar 4.30AntarmukaTab Edit User
Berdasarkan Gambar 4.30 untuk memilih user yang ingin diubah datanya menggunakan combo box Username. Setelah memilih username, secara otomatis password dan status tampil sesuai dengan
usernametersebut.
Tab Hapus User digunakan untuk menghapus data
user yang tidak diperlukan lagi. Tampilan antarmuka
tabHapusUserini terlihat pada Gambar 4.31.
Tab Lihat Userdigunakan untuk melihat semua user
yang ada dalam database. Tampilan antarmuka tab
LihatUserini terlihat pada Gambar 4.32.
Gambar 4.32AntarmukaTabLihatUser b. TabSoal
Tab Soal memiliki 4 tab di dalamnya, yaitu tab
Tambah Soal,EditSoal, Hapus Soal dan Lihat Soal.
Tab Tambah Soal digunakan untuk menambahkan soal yang baru. Tampilan antarmuka tab Tambah Soal ini terlihat pada Gambar 4.33.
Pada tab Tambah Soal user bisa menambah paket soal. Nama paket akan dibuat otomatis mulai dari P001 . Jika user menambah paket lagi, maka akan ada paket baru dengan nama P002 . Sebelum menambahkan paket yang baru, sistem akan mengecek paket terakhir yang ada di dalamdatabase
dan menambahkan paket yang baru. Fungsi untuk mendapatkan paket baru itu dapat dilihat pada Kode Program 4.1.
Kode Program 4.1Fungsi Mendapatkan Paket Baru
Dapat dilihat pada Kode Program 4.1, sistem dengan fungsi max mencari nilai maksimum dari tabel paket yang ada, jika sudah mendapat nilai maksimum maka akan dibuat dengan format nama paket yang benar. public String getNewPaket() {
String query = "SELECT MAX(RIGHT(nama_paket,3)) FROM tbl_paket"; int temp = 0; String newPaket = ""; try { pre = (PreparedStatement) conn.prepareStatement(query); rs = pre.executeQuery(); while (rs.next()) { if (rs.getString(1) == null) { temp = 0; } else { temp = Integer.parseInt(rs.getString(1)); } } } catch (Exception e) { } temp += 1; if (temp < 10) { newPaket = "P00" + String.valueOf(temp); } else if (temp >= 10 && temp < 100) {
newPaket = "P0" + String.valueOf(temp); } else if (temp >= 100 && temp <= 999) {
newPaket = "P" + String.valueOf(temp); }
return newPaket; }
Setelah mendapatkan format yang benar, nama paket tersebut akan dimasukkan ke dalam fungsi tambah paket. Fungsi tambah paket itu dapat dilihat pada Kode Program 4.2.
Kode Program 4.2Fungsi Tambah Paket
User juga bisa menghapus paket soal yang dipilih berdasarkan combo box Paket. Jika user menghapus paket tersebut, secara otomatis semua soal yang terdapat di dalamnya juga akan terhapus. Fungsi hapus paket itu dapat dilihat pada Kode Program 4.3. Kode Program 4.3Fungsi Hapus Paket
Sebelum menambahkan soal baru ke dalam paket sistem akan menentukan no soal yang baru. Fungsi untuk menentukan no soal yang baru dapat dilihat pada Kode Program 4.4.
public void insertPaket(String paket) { String query = "INSERT INTO tbl_paket VALUES ('" + paket + "')"; try { pre = (PreparedStatement) conn.prepareStatement(query); pre.executeUpdate(); conn.close(); pre.close(); } catch (Exception e) { } }
public void deletePaket(String paket) { String query = "DELETE FROM tbl_paket WHERE nama_paket='" + paket + "'";
try { pre = (PreparedStatement) conn.prepareStatement(query); pre.executeUpdate(); conn.close(); pre.close(); } catch (Exception e) { } }
Kode Program 4.4Fungsi Menentukan No Soal Baru
Dapat dilihat pada Kode Program 4.4, sistem dengan fungsi max mencari nilai maksimum dari soal yang sudah ada. Kemudian hasilnya yang didapatkan akan dimasukkan ke dalam format kode soal yang benar. Kode program format kode soal dapat dilihat pada Kode Program 4.5.
Kode Program 4.5Kode Program Format Kode Soal
Dari Kode Program 4.5, misalkan kita mendapatkan no soal yang baru 7 dan di dalam paket P001 maka hasil kode soalnya adalah P001007 . Setelah mendapatkan kode soalnya barulah fungsi tambah
public String getNewNoSoal(String paket) { String query = "SELECT
MAX(RIGHT(kode_soal,3)) FROM tbl_soal WHERE kode_soal LIKE '" + paket + "%'";
int temp = 0; String newNoSoal = ""; try { pre = (PreparedStatement) conn.prepareStatement(query); rs = pre.executeQuery(); while (rs.next()) { temp = Integer.parseInt(rs.getString(1)); } } catch (Exception e) { } temp += 1; if (temp < 10) { newNoSoal = "00" + String.valueOf(temp);
} else if (temp >= 10 && temp < 100) { newNoSoal = "0" + String.valueOf(temp); } else if (temp >= 100 && temp <= 999) {
newNoSoal = String.valueOf(temp); } return newNoSoal; } kodeSoal = cmbAddPaket.getSelectedItem().toString() + newNoSoal;
soal dijalankan. Fungsi tambah soal dapat dilihat pada Kode Program 4.6.
Kode Program 4.6Fungsi Tambah Soal
Tab EditSoal digunakan untuk melakukan perubahan data soal yang sudah ada dalam database. Tampilan antarmuka tab Edit Soal ini terlihat pada Gambar 4.34.
Gambar 4.34AntarmukaTab EditSoal
Tab Edit Soal akan menampilkan soal, pilihan jawabannya dan jawaban yang benar yang sebelumnya dipilih melalui combo box paket dan
public void insertSoal(String kodeSoal, String soal, String jawaban, String paket) {
String query = "INSERT INTO tbl_soal VALUES ('" + kodeSoal + "','" + soal + "','" + jawaban + "','" + paket + "')"; try { pre = (PreparedStatement) conn.prepareStatement(query); pre.executeUpdate(); conn.close(); pre.close(); } catch (Exception e) { } }
kode soal. Fungsi edit soal dapat dilihat pada Kode Program 4.7.
Kode Program 4.7FungsiEditSoal
Tab Hapus Soal digunakan untuk menghapus soal yang sudah tidak diperlukan lagi. Tampilan antarmuka tab Hapus Soal ini terlihat pada Gambar 4.35.
Gambar 4.35AntarmukaTabHapus Soal
Tab Hapus Soal juga akan menampilkan soal dan pilihan jawabannya dan pilihan jawaban yang benar seperti padatab Edit Soal pada Gambar 4.34, namun, perbedaannya adalah text area dan text field hanya
public void editSoal(String kodeSoal, String soal, String jawaban) {
String query = "UPDATE tbl_soal SET soal = '" + soal + "',jawaban = '" + jawaban + "' WHERE kode_soal = '" + kodeSoal + "'"; try { pre = (PreparedStatement) conn.prepareStatement(query); pre.executeUpdate(); conn.close(); pre.close(); } catch (Exception e) { } }
berfungsi untuk menampilkan isi datanya saja, tidak dapat diubah. Hal ini dilakukan untuk mengurangi terjadinya kesalahan dalam penghapusan soal. Fungsi hapus soal dapat dilihat pada Kode Program 4.8. Kode Program 4.8Fungsi Hapus Soal
Tab Lihat Soal digunakan untuk melihat semua soal yang ada dalam database, berdasarkan nama paket yang dipilih melalui combo box Paket. Tampilan antarmuka tab Lihat Soal ini terlihat pada Gambar 4.36.
Gambar 4.36AntarmukaTabLihat Soal
public void deleteSoal(String kodeSoal) {
String query = "DELETE FROM tbl_soal WHERE kode_soal = '" + kodeSoal + "'"; try { pre = (PreparedStatement) conn.prepareStatement(query); pre.executeUpdate(); conn.close(); pre.close(); } catch (Exception e) { } }
Fungsi lihat soal dapat dilihat pada Kode Program 4.9.
Kode Program 4.9Fungsi Lihat Soal
Dari Kode Program 4.9 dapat diketahui pertama sistem akan menghitung jumlah soal pada paket yang telah dipilih. Jumlah soal sama dengan jumlah baris dalam tabel yang akan ditampilkan. Sedangkan jumlah kolom soalnya 3 yaitu untuk kode soal, soal dan jawaban yang benar. Kemudian datanya akan dimasukkan ke dalam tabel.
public void viewSoal(JTable tableData, String paket) { int row = 0;
String query = "SELECT kode_soal, soal, jawaban FROM tbl_soal WHERE nama_paket='" + paket + "'";
String query2 = "SELECT COUNT(*) FROM tbl_soal WHERE nama_paket='" + paket + "'";
try { pre = (PreparedStatement) conn.prepareStatement(query2); rs = pre.executeQuery(); while (rs.next()) { row = Integer.parseInt(rs.getString(1)); } pre = (PreparedStatement) conn.prepareStatement(query); rs = pre.executeQuery();
String col[] = {"Kode Soal", "Soal", "Jawaban"};
String[][] data = new String[row][col.length];
for (int j = 0; j < row; j++) { rs.next();
for (int k = 0; k < col.length; k++) { data[j][k] = rs.getString(k + 1); }
}
DefaultTableModel model = new DefaultTableModel(data, col);
tableData.setModel(model); } catch (Exception ex) { }
c. TabFakultas
Tab Fakultas memiliki 4 tab di dalamnya yaitu, tab
Tambah Fakultas, Edit Fakultas, Hapus Fakultas dan Lihat Fakultas.
Tab Tambah Fakultas digunakan untuk menambah fakultas atau program studi yang baru. Tampilan antarmuka tab Tambah Fakultas ini terlihat pada Gambar 4.37.
Gambar 4.37AntarmukaTabTambah Fakultas
Berdasarkan Gambar 4.37 administrator harus memasukkan data fakultas dengan lengkap dan benar. Data fakultas yang diperlukan seperti no program studi, fakultas, program studi, batas nilai dan biaya pembangunan minimal.
Tab Edit Fakultas digunakan untuk melakukan perubahan data fakultas yang sudah ada dalam
database. Tampilan antarmuka tab Edit Fakultas ini terlihat pada Gambar 4.38.
Gambar 4.38AntarmukaTab EditFakultas
Tab Edit Fakultas akan menampilkan fakultas, program studi, batas nilai dan biaya pembangunan minimal yang dipilih berdasarkan combo box no program studi.
Tab Hapus Fakultas digunakan untuk menghapus fakultas atau program studi yang sudah tidak diperlukan lagi. Tampilan antarmuka tab Hapus Fakultas ini terlihat pada Gambar 4.39.
TabHapus Fakultas juga akan menampilkan fakultas, program studi, batas nilai dan biaya pembangunan minimal yang dipilih berdasarkan combo box no program studi seperti pada tab Edit Fakultas, namun perbedaannya text field pada tab Hapus Fakultas hanya berfungsi untuk menampilkan data saja, tidak dapat dilakukan perubahan data. Hal ini dilakukan untuk mengurangi terjadinya kesalahan dalam penghapusan fakultas.
Tab Lihat Fakultas digunakan untuk melihat semua fakultas yang ada dalam database. Tampilan antarmuka tab Lihat Fakultas ini terlihat pada Gambar 4.40.
Gambar 4.40AntarmukaTabLihat Fakultas
d. TabPengaturan
Tab Pengaturan digunakan untuk me-manage
pengaturan ujian. Data-data yang diatur adalah timer
nilai toleransi, tempat tes dan waktu tes. Nilai toleransi adalah nilai maksimal toleransi di bawah batas nilai tiap fakultas. Contohnya jika nilai toleransinya 10 dan batas nilai suatu fakultas adalah 50. Maka nilai 40-49 termasuk ke dalam toleransi. Dimana jika mendapatkan toleransi, camaru harus menghubungi fakultas yang bersangkutan untuk menerima kebijakan. Tampilan antarmuka tab
Pengaturan ini terlihat pada Gambar 4.41.
Gambar 4.41AntarmukaTabPengaturan
Pada tab Pengaturan terdapat combo box Set Timer
yang berisi pilihan waktu yang ingin digunakan untuk ujian. Pilihan waktu tersebut diukur dalam satuan menit. Di dalamtab Pengaturan juga terdapatcombo box Set Paket yang berisi nama-nama paket yang telah disimpan dalamdatabase.Combo box SetPaket yang telah dipilih oleh administrator ini, nantinya
digunakan untuk menentukan paket soal yang akan diujikan.
e. TabPeserta
Tab Peserta digunakan untuk menampilkan semua camaru yang sudah terdaftar untuk mengikuti proses ujian. Tampilan antarmuka tab Peserta ini terlihat pada Gambar 4.42.
Gambar 4.42AntarmukaTabPeserta
Padatab Peserta terdapat tabel peserta yang berisi no pendaftaran, nama, pilihan program studi pertama dan pilihan program studi kedua camaru.
f. TabHasil
TabHasil digunakan untuk menampilkan semua hasil ujian. Tampilan antarmukatab Hasil ini terlihat pada Gambar 4.43.
Gambar 4.43AntarmukaTabHasil
Pada tab Hasil terdapat tabel hasil yang berisikan no pendaftaran, jumlah jawaban benar, jumlah jawaban salah, dan nilai ujian. Nilai ujian merupakan perhitungan dari jumlah benar dikalikan dengan dua. g. TabPenerimaan
Tab Penerimaan digunakan untuk menampilkan semua keterangan penerimaan pada tiap pilihan fakultas yang sudah dipilih oleh camaru. Misalnya camaru lulus pada pilihan pertamanya namun tidak lulus di pilihan keduanya dan sebagainya. Tampilan antarmuka tab Penerimaan ini terlihat pada Gambar 4.44.
Gambar 4.44AntarmukaTabPenerimaan
Pada tabPenerimaan terdapat tabel penerimaan yang berisi no pendaftaran, nama, keterangan kelulusan pilihan pertama dan keterangan kelulusan pilihan kedua camaru.