• Tidak ada hasil yang ditemukan

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.

Dokumen terkait