BAB IV
HASIL DAN PEMBAHASAN
4.1 Sistem Admisi Non Pemamik di UKSW
Sistem Admisi Non Pemamik di Universitas Kristen Satya Wacana saat ini akan dijelaskan melalui Gambar 4.1.
4.1.1 Dokumen dan Catatan dalam Sistem Admisi Non Pemamik di UKSW
Dokumen yang digunakan dalam sistem Non Pemamik ini, antara lain, sebagai berikut:
1. Formulir Pendaftaran/Admisi Universitas Kristen Satya Wacana.
2. Bukti Pembayaran Pendaftaran.
Catatan yang digunakan dalam sistem Non Pemamik ini, antara lain, sebagai berikut:
1. Kartu Tes
2. Daftar yang berisi data fakultas dan program studi di Universitas Kristen Satya Wacana.
4.1.2 Bagian yang Terkait dalam Sistem Admisi Non Pemamik di UKSW
Ada 2 bagian yang terkait dalam sistem admisi Non Pemamik di UKSW yaitu:
1. Bagian Administrasi dan Registrasi (BARA).
Bagian ini mengatur tentang registrasi atau pendaftaran calon mahasiswa baru.
2. Biro Administrasi Akademik (BAA).
Bagian ini mengatur tentang ujian calon mahasiswa baru.
4.2 Perancangan dan Implementasi Basis Data
dibuat. Tabel-tabel beserta tipe data dan keterangan masing-masing tabel yang digunakan di dalam sistem ini yaitu:
1. tbl_pendaftaran
tbl_pendaftaran digunakan untuk menyimpan informasi pendaftaran camaru. Struktur tabel pada tbl_pendaftaran dijelaskan pada Tabel 4.1.
Tabel 4.1Struktur Data Tabel tbl_pendaftaran
Nama Data Tipe Data Deskripsi
no_pendaftaran Char(14) No pendaftaran camaru yang merupakan hasil
generate dari sistem, yang digunakan juga sebagai username dan
password ujian. No pendaftaran sebagai
primary key.
nama Varchar(45) Nama camaru.
tempat_lahir Varchar(25) Tempat lahir camaru. tgl_lahir Date Tanggal lahir camaru. jenis_kelamin Varchar(10) Jenis kelamin camaru.
agama Varchar(25) Agama camaru.
kewarganegaraan Varchar(3) Kewarganegaraan camaru.
suku Varchar(25) Suku camaru.
alamat_asal Varchar(100) Alamat asal camaru.
kota Varchar(25) Kota camaru.
propinsi Varchar(25) Propinsi camaru. kode_pos Varchar(10) Kode pos camaru. no_telp Varchar(25) No telpon camaru.
email Varchar(45) Email camaru.
nama_ayah Varchar(45) Nama ayah camaru. nama_ibu Varchar(45) Nama ibu camaru. no_telp_ortu Varchar(25) No telpon orang tua
camaru.
nama_sma Varchar(45) Nama sma camaru. jurusan Varchar(25) Jurusan sma camaru. alamat_sklh Varchar(100) Alamat sekolah camaru. kota_sklh Varchar(25) Kota sekolah camaru. propinsi_sklh Varchar(25) Propinsi sekolah camaru. no_telp_sklh Varchar(25) No telpon sekolah
camaru.
fakultas_1 Varchar(45) Fakultas pilihan pertama camaru.
progdi_1 Varchar(45) Program studi pilihan pertama camaru.
biaya_pemb_1 Bigint Biaya pembangunan pilihan pertama camaru. fakultas_2 Varchar(45) Fakultas pilihan kedua
camaru.
progdi_2 Varchar(45) Program studi pilihan kedua camaru.
biaya_pemb_2 Bigint Biaya pembangunan pilihan kedua camaru. 2. tbl_user
tbl_user digunakan untuk menyimpan informasi login user, seperti username, password, statususer. Struktur tabel pada tbl_user dijelaskan pada Tabel 4.2.
Tabel 4.2Struktur Data tbl_user
Nama Data Tipe Data Deskripsi
username Varchar(45) Usernamedariuser. Username
digunakan sebagai primary key.
password Varchar(45) Password untuk masuk ke dalam sistem.
status Integer Status untuk membedakanuser
sebagai administrator atau
Ada 2 jenisuser dimana userpertama sebagai administrator
(yang ditandai dengan status angka 0) dan user sebagai camaru (yang ditandai dengan status angka 1).
3. tbl_fakultas
tbl_fakultas digunakan untuk menyimpan informasi fakultas, seperti no_progdi, fakultas, progdi, batas_nilai, biaya_pemb_min. Struktur tabel pada tbl_fakultas dijelaskan pada Tabel 4.3.
Tabel 4.3Struktur Data tbl_fakultas
Nama Data Tipe Data Deskripsi
no_progdi Varchar(3) No program studi yang digunakan sebagai
primary key.
fakultas Varchar(45) Fakultas dari program studi.
progdi Varchar(45) Program studi.
batas_nilai Integer Batas nilai ujian tiap program studi.
biaya_pemb_min Bigint Biaya pembangunan minimum tiap program studi.
4. tbl_paket
tbl_paket digunakan untuk menyimpan nama_paket soal ujian. Soal-soal yang ada, akan masuk ke dalam paket yang tersedia sehingga di kemudian hari soal tersebut bisa digunakan kembali. Struktur tabel pada tbl_paket dijelaskan pada Tabel 4.4.
Tabel 4.4Struktur Data tbl_paket
Nama Data Tipe Data Deskripsi
5. tbl_soal
tbl_soal digunakan untuk menyimpan soal dan jawaban ujian. Struktur tabel pada tbl_soal dijelaskan pada Tabel 4.5.
Tabel 4.5Struktur Data tbl_soal
Nama Data Tipe Data Deskripsi
kode_soal Char(7) Kode soal ujian.
soal Varchar(2500) Soal dan pilihan jawaban ujian.
jawaban Varchar(5) Jawaban yang benar. nama_paket Char(4) Diambil dari tbl_paket. 6. tbl_pengaturan
tbl_pengaturan digunakan untuk menyimpan pengaturan ujian, seperti timer, nama_paket, nilai toleransi, tempat dan waktu. Struktur tabel pada tbl_pengaturan dijelaskan pada Tabel 4.6.
Tabel 4.6Struktur Data tbl_pengaturan
Nama Data Tipe Data Deskripsi
timer Integer Batastimeruntuk ujian. Dalam satuan menit.
nama_paket Char(4) Nama paket yang akan digunakan pada saat ujian. Diambil dari tbl_paket. nilai_toleransi Integer Nilai maksimal toleransi di
bawah batas nilai tiap program studi.
tempat Varchar(25) Tempat ujian berlangsung. waktu Varchar(15) Waktu ujian berlangsung. 7. tbl_hasil
Tabel 4.7Struktur Data tbl_hasil
Nama Data Tipe Data Deskripsi
no_pendaftaran Char(14) Diambil dari tbl_pendaftaran. benar Integer Jumlah benar dalam ujian. salah Integer Jumlah salah dalam ujian. nilai Integer Nilai ujian.
8. tbl_penerimaan
tbl_penerimaan digunakan untuk menyimpan hasil penerimaan camaru, yang berisi keterangan tentang kelulusan pada pilihan pertama dan pilihan keduanya. Struktur tabel pada tbl_penerimaan dijelaskan pada Tabel 4.8.
Tabel 4.8Struktur Data tbl_penerimaan
Nama Data Tipe Data Deskripsi
no_pendaftaran Char(14) Diambil dari tbl_pendaftaran.
nama Varchar(45) Nama camaru.
pilihan_1 Varchar(15) Keterangan kelulusan camaru di pilihan pertamanya.
Perancangan basis data menggunakanRational Roseyang dapat dilihat pada Gambar 4.2.
Gambar 4.2Entity Relationship Diagram
Dari Gambar 4.2 dapat dilihat bahwa tbl_pendaftaran memiliki relasione to onedengan tbl_user, tbl_hasil, tbl_penerimaan, karena tiap camaru Non Pemamik yang mendaftar akan mendapatkan satu username, satu hasil dan satu penerimaan. Sedangkan
tbl_pendaftaran akan memiliki relasi one to one or more dengan
tbl_fakultas, karena tiap camaru Non Pemamik bisa memilih satu atau 2 pilihan progdi yang diinginkan. Sedangkan tbl_paket
memiliki relasione or more to zero or moredengantbl_soal, karena tiap paket atau lebih bisa memiliki nol soal (jika belum mengisi soalnya) atau lebih dari satu soal dalam satu paket. tbl_paket
4.3 Perancangan Antarmuka Sistem
Dalam penelitian ini aplikasi menggunakan beberapa form.
Form yang digunakan untuk perancangan antarmuka sistem antara lain:
1. Rancangan AntarmukaFormPendaftaran
Form Pendaftaran adalah form yang berguna untuk melakukan pendaftaran camaru. Rancangan antarmukaForm
Pendaftaran ini terlihat pada Gambar 4.3.
Gambar 4.3Rancangan AntarmukaFormPendaftaran
Form Pendaftaran ini juga dapat dilakukan proses edit data dandeletedata. TombolEdit, Delete,Delete All, Print Kartu Tes dancombo boxNo Pendaftaran akan muncul jika combo box Edit diaktifkan. Sesudah melakukan pendaftaran, sistem akan men-generate no pendaftaran, menyimpan data ke
tertera no pendaftaran yang nanti akan digunakan sebagai
usernamedanpasswordujian. 2. Rancangan AntarmukaForm Login
Form Loginadalahformyang muncul pertama kali pada saat mengakses sistem server tes seleksi dan sistem client tes seleksi. PadaFormLogin iniuserakan diminta memasukkan
username dan password yang sudah dimiliki, untuk dapat
loginke dalam sistem. Rancangan antarmukaForm Loginini terlihat pada Gambar 4.4.
Gambar 4.4Rancangan AntarmukaForm Login
Form Login ini memiliki fungsi untuk melakukan proses pengecekan ke dalam database untuk memastikan bahwa
usersudah terdaftar dan berhak untuk loginke dalam sistem tersebut.
3. Rancangan AntarmukaForm 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
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. Rancangan antarmuka tab TambahUser ini terlihat pada Gambar 4.5.
Gambar 4.5Rancangan AntarmukaTabTambahUser
Tab Edit User digunakan untuk melakukan perubahan data useryang sudah ada dalam database.
Rancangan antarmukatab Edit User ini terlihat pada Gambar 4.6.
Tab Hapus User digunakan untuk menghapus data
user yang tidak diperlukan lagi. Rancangan antarmuka tab Hapus User ini terlihat pada Gambar 4.7.
Gambar 4.7Rancangan AntarmukaTabHapusUser
Tab Lihat Userdigunakan untuk melihat semua user
yang ada dalam database. Rancangan antarmuka tab
LihatUserini terlihat pada Gambar 4.8.
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. Rancangan antarmuka tab Tambah Soal ini terlihat pada Gambar 4.9.
Gambar 4.9Rancangan AntarmukaTabTambah Soal
Pada Tab Tambah Soal user bisa menambah dan menghapus paket soal. Nama paket soalnya akan dibuat otomatis. Misalkan belum ada paket, lalu kita tambah paketnya, maka akan menambah paket baru secara otomatis dengan nama P001 . Jika user
TabEditSoal digunakan untuk melakukan perubahan data soal yang sudah ada dalamdatabase. Rancangan antarmuka tab Edit Soal ini terlihat pada Gambar 4.10.
Gambar 4.10Rancangan AntarmukaTab EditSoal
Tab Hapus Soal digunakan untuk menghapus soal yang sudah tidak diperlukan lagi. Rancangan antarmuka tab Hapus Soal ini terlihat pada Gambar 4.11.
Pada tab Hapus Soal, soal dan jawaban tetap ditampilkan, untuk mengurangi terjadinya kesalahan dalam proses penghapusan. Sehingga data tersebut hanya ditampilkan, tetapi tidak dapat diubah.
Tab Lihat Soal digunakan untuk melihat semua soal yang ada dalam database, berdasarkan nama paket yang dipilih. Rancangan antarmukatabLihat Soal ini terlihat pada Gambar 4.12.
Gambar 4.12Rancangan AntarmukaTabLihat Soal
c. TabFakultas
Tab Fakultas memiliki 4 tab di dalamnya yaitu, tab
Tambah Fakultas, Edit Fakultas, Hapus Fakultas dan Lihat Fakultas.
Gambar 4.13Rancangan AntarmukaTabTambah Fakultas
Tab Edit Fakultas digunakan untuk melakukan perubahan data fakultas yang sudah ada dalam
database. Rancangan antarmukatab EditFakultas ini terlihat pada Gambar 4.14.
Tab Hapus Fakultas digunakan untuk menghapus fakultas atau program studi yang sudah tidak diperlukan lagi. Rancangan antarmuka tab Hapus Fakultas ini terlihat pada Gambar 4.15.
Gambar 4.15Rancangan AntarmukaTabHapus Fakultas
Pada tab Hapus Fakultas, fakultas, program studi batas nilai dan biaya pembangunan minimal tetap ditampilkan, untuk mengurangi terjadinya kesalahan dalam proses penghapusan. Sehingga data tersebut hanya ditampilkan, tetapi tidak dapat diubah.
Gambar 4.16Rancangan AntarmukaTabLihat Fakultas
d. TabPengaturan
Tab Pengaturan digunakan untuk me-manage
pengaturan ujian. Data-data yang diatur adalah timer
Gambar 4.17Rancangan AntarmukaTabPengaturan
Pada tab Pengaturan, jika user sudah men-set
pengaturan ujian maka akan langsung terjadi perubahan nilai pada Pengaturan saat ini sesuai dengan yang sudah di-set.
e. TabPeserta
Gambar 4.18Rancangan AntarmukaTabPeserta
f. TabHasil
TabHasil digunakan untuk menampilkan semua hasil ujian. Rancangan antarmuka tab Hasil ini terlihat pada Gambar 4.19.
g. TabPenerimaan
Tab Penerimaan digunakan untuk menampilkan semua no pendaftaran, nama, dan keterangan penerimaan pada tiap pilihan fakultas yang sudah dipilih oleh camaru. Rancangan antarmuka tab
Penerimaan ini terlihat pada Gambar 4.20.
Gambar 4.20Rancangan AntarmukaTabPenerimaan
4. Rancangan AntarmukaForm Client
Gambar 4.21Rancangan AntarmukaForm Client
4.4 Pembahasan dan Implementasi Sistem
Setelah seluruh rangkaian analisa dan perancangan sistem selesai dilakukan, maka tahap selanjutnya adalah melakukan implementasi sesuai dengan perancangan sistem yang telah dibuat. Penulis membuat 3 aplikasi, yaitu :
- Aplikasi Pendaftaran Camaru - AplikasiServerTes Seleksi. - AplikasiClientTes Seleksi.
Aplikasi Pendaftaran Camaru berisi form pendaftaran, Aplikasi
Server Tes Seleksi berisi form login dan form server, dimana form server tersebut memiliki beberapa tab, yaitu tab user, tab soal, tab
4.4.1 FormPendaftaran
Form pendaftaran adalah form yang berguna untuk melakukan pendaftaran camaru. Tampilan antarmuka form
pendaftaran terlihat pada Gambar 4.22.
Gambar 4.22AntarmukaFormPendaftaran
Berdasarkan Gambar 4.21 administrator harus memasukkan data pribadi camaru, data orang tua camaru, data sekolah camaru, dan pilihan fakultas camaru dengan lengkap dan benar. Setelah
administrator melakukan proses pendaftaran, maka sistem akan men-generate no pendaftaran. No pendaftaran tersebut digunakan sebagai username dan password untuk mengikuti ujian. Tampilan hasilgenerateno pendaftaran terlihat pada Gambar 4.23.
Setelah menampilkan hasil generate no pendaftarannya, sistem tersebut akan mencetak kartu tes camaru. Tampilan kartu tes camaru terlihat pada Gambar 4.24.
Gambar 4.24Tampilan Kartu Tes
Administrator tidak hanya dapat melakukan proses daftar, tetapi juga dapat melakukan proses edit dan hapus data camaru. Tetapi sebelumnya, administrator harus mengaktifkan combo box Edit. Tampilan antarmuka form pendaftaran pada saat combo box Editaktif terlihat pada gambar 4.25.
Berdasarkan Gambar 4.25 pada saat mengaktifkan combo box Edit, maka akan muncul combo box No Pendaftaran dan 4 tombol baru yaitu tombol Edit, Delete, Delete All dan Print Kartu Tes, sedangkan tombol Daftar akan hilang, untuk mengurangi terjadinya kesalahan yang dilakukan oleh administrator. Jika ingin menampilkan tombol Daftar lagi, maka administrator harus mengganti combo box Edit menjadi tidak aktif, sehingga tampilan
form pendaftaran akan kembali seperti semula seperti yang terlihat pada Gambar 4.22.
4.4.2 Form Login
Form loginadalah formyang muncul pertama kali pada saat mengakses aplikasi server tes seleksi dan aplikasiclient tes seleksi.
Form login server hanya bisa diakses oleh user sebagai
administrator, sedangkan form login client hanya bisa diakses oleh
usersebagai camaru. Tampilan antarmuka form login serverterlihat pada Gambar 4.26.
Gambar 4.26AntarmukaForm Login Server
Berdasarkan Gambar 4.25 user harus mengisi username dan
Gambar 4.27TampilanError Message Login
Sedangkan tampilan antarmuka form login client terlihat pada Gambar 4.28.
Gambar 4.28AntarmukaForm Login Client
Berdasarkan Gambar 4.27 user harus mengisi username dan
password terlebih dahulu. Jika username dan password yang dimasukkan salah, user tidak dapat mengakses aplikasi client tes seleksi tersebut dan akan keluar tampilanerror messageseperti pada Gambar 4.27.
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
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.
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); }
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; }
soal dijalankan. Fungsi tambah soal dapat dilihat pada Kode Program 4.6.
Kode Program 4.6Fungsi Tambah Soal
[image:33.516.86.434.117.630.2]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
[image:34.516.86.434.129.563.2]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
[image:35.516.84.436.176.601.2]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.
[image:37.516.85.434.184.638.2]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
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.
[image:39.516.86.434.150.625.2]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
[image:40.516.83.435.141.584.2]Pengaturan ini terlihat pada Gambar 4.41.
Gambar 4.41AntarmukaTabPengaturan
Pada tab Pengaturan terdapat combo box Set Timer
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
[image:41.516.85.435.147.579.2]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
Gambar 4.44AntarmukaTabPenerimaan
Pada tabPenerimaan terdapat tabel penerimaan yang berisi no pendaftaran, nama, keterangan kelulusan pilihan pertama dan keterangan kelulusan pilihan kedua camaru.
4.4.4 Form Client
Form Client adalah form yang digunakan dalam proses mengikuti ujian. Tampilan antarmuka form client ini terlihat pada Gambar 4.45.
Form Client akan menampilkan soal dan pilihan jawabannya. Soal yang ditampilkan akan diacak oleh sistem, untuk mengurangi resiko terjadinya kecurangan yang dilakukan oleh user. Kemudian, user
bisa memilih jawabannnya melaluiradio buttonyang tersedia. Kode program untuk set jawaban dapat dilihat pada Kode Program 4.10. Kode Program 4.10Kode Program Set Jawaban
Dari Kode Program 4.10 pertama sistem akan menentukan jawaban mana yang yang telah dipilih sebelumnya. Kemudian sistem akan mengisi jawaban berdasarkan no yang telah dikerjakan. Sistem juga akan me-reset ulang soal mana yang belum dikerjakan untuk dimasukkan ke dalamcombo box No yang belum dikerjakan .
String jawaban = ""; if (rbA.isSelected()) {
jawaban = rbA.getText(); }
if (rbB.isSelected()) { jawaban = rbB.getText(); }
if (rbC.isSelected()) { jawaban = rbC.getText(); }
if (rbD.isSelected()) { jawaban = rbD.getText(); }
if (rbE.isSelected()) { jawaban = rbE.getText(); }
cmbNoYgBlm.removeAllItems(); cmbNoYgBlm.addItem("Pilih");
for (int i = 0; i < listSoalDanJawaban.size(); i += 5) { if (listSoalDanJawaban.get(i +
4).equals(cmbLompatNo.getSelectedItem())) {
listSoalDanJawaban.set(i + 3, jawaban); }
if (listSoalDanJawaban.get(i + 3).equals("-")) { cmbNoYgBlm.addItem(listSoalDanJawaban.get(i+4)); }
}
Jika camaru telah selesai, maka camaru akan mendapatkan hasil ujian dan keputusan penerimaan di fakultas pilihannya. Contoh tampilan hasil ujian dan keputusan penerimaan terlihat pada Gambar 4.46.
Gambar 4.46Contoh Tampilan Hasil Ujian dan Keputusan Penerimaan
Sebelum mendapatkan hasil tersebut sistem akan melakukan proses pemeriksaan hasilnya ujiannya. Kode program untuk memeriksa hasil ujian dapat dilihat pada Kode Program 4.11.
Kode Program 4.11Kode Program Periksa Hasil Ujian
Dari Kode Program 4.11 sistem akan mendapatkan jumlah benar dan jumlah salah dari hasil ujian yang telah dikerjakan. Sedangkan untuk nilai ujian didapatkan dari jumlah benar dikalikan dengan 2. Sistem akan menyimpan hasil ujian tersebut ke dalam database. Fungsi menyimpan hasil ujian ke dalam database dapat dilihat pada Kode Program 4.12.
for (int i = 0; i < listSoalDanJawaban.size(); i += 5) { if (listSoalDanJawaban.get(i +
2).toString().equalsIgnoreCase(listSoalDanJawaban.get(i + 3).toString())) {
betul += 1; } else {
salah += 1; }
Kode Program 4.12Fungsi Menyimpan Hasil Ujian
Kemudian untuk mendapatkan tampilan hasil ujian dan keputusan penerimaan seperti Gambar 4.46, diperlukan beberapa fungsi, seperti fungsi mendapatkan nama, fungsi mendapatkan fakultas, fungsi mendapatkan program studi, fungsi mendapatkan batas nilai, dan fungsi mendapatkan nilai toleransi.
Fungsi untuk mendapatkan nama camaru dapat dilihat pada Kode Program 4.13.
Kode Program 4.13Fungsi Mendapatkan Nama
public String getNama(String noPendaftaran) { String nama = "";
String query = "SELECT nama FROM tbl_pendaftaran WHERE no_pendaftaran='" + noPendaftaran + "'";
try {
pre = (PreparedStatement) conn.prepareStatement(query);
rs = pre.executeQuery(); while (rs.next()) {
nama = rs.getString(1); }
pre.close(); rs.close();
} catch (Exception e) { }
return nama; }
public void insertHasil(String noPendaftaran, int benar, int salah, int nilai) {
String query = "INSERT INTO tbl_hasil VALUES ('" + noPendaftaran + "'," + benar + "," + salah + "," + nilai + ")";
try {
pre = (PreparedStatement) conn.prepareStatement(query);
pre.executeUpdate(); conn.close(); pre.close();
} catch (Exception e) { }
Fungsi untuk mendapatkan fakultas yang dipilih camaru dapat dilihat pada Kode Program 4.14.
Kode Program 4.14Fungsi Mendapatkan Fakultas
Fungsi untuk mendapatkan program studi yang dipilih camaru dapat dilihat pada Kode Program 4.15.
Kode Program 4.15Fungsi Mendapatkan Program Studi
public String getFakultas(String progdi) { String fakultas = "";
String query = "SELECT fakultas FROM tbl_fakultas WHERE progdi='" + progdi + "'";
try {
pre = (PreparedStatement) conn.prepareStatement(query);
rs = pre.executeQuery(); while (rs.next()) {
fakultas = rs.getString(1); }
pre.close(); rs.close();
} catch (Exception e) { }
return fakultas; }
public List getProgdi(String noPendaftaran) { List progdi = new ArrayList();
String query = "SELECT progdi_1, progdi_2 FROM
tbl_pendaftaran WHERE no_pendaftaran='" + noPendaftaran + "'"; try {
pre = (PreparedStatement) conn.prepareStatement(query);
rs = pre.executeQuery(); while (rs.next()) {
progdi.add(rs.getString(1)); progdi.add(rs.getString(2)); }
pre.close(); rs.close();
} catch (Exception e) { }
Fungsi untuk mendapatkan batas nilai dari program studi yang dipilih camaru dapat dilihat pada Kode Program 4.16.
Kode Program 4.16Fungsi Mendapatkan Batas Nilai
Fungsi untuk mendapatkan nilai toleransi dapat dilihat pada Kode Program 4.17.
Kode Program 4.17Fungsi Mendapatkan Nilai Toleransi
Kemudian setelah mendapatkan nama, fakultas, program studi, batas nilai dan nilai toleransi, sistem akan melakukan proses keputusan penerimaan. Kode program untuk proses keputusan penerimaan dapat dilihat pada Kode Program 4.18.
public int getBatasNilai(String progdi) { int batas = 0;
String query = "SELECT batas_nilai FROM tbl_fakultas WHERE progdi='" + progdi + "'";
try {
pre = (PreparedStatement) conn.prepareStatement(query);
rs = pre.executeQuery(); while (rs.next()) {
batas = Integer.parseInt(rs.getString(1)); }
} catch (Exception e) { }
return batas; }
public int getNilaiToleransi() { int nilaiToleransi = 0;
String query = "SELECT nilai_toleransi FROM tbl_pengaturan";
try {
pre = (PreparedStatement) conn.prepareStatement(query);
rs = pre.executeQuery(); while (rs.next()) {
nilaiToleransi = Integer.parseInt(rs.getString(1));
}
} catch (Exception e) { }
Kode Program 4.18Kode Program Keputusan Penerimaan
Sebenarnya dalam percabanganif pada Kode Program 4.18, terdapat kode program untuk mengeluarkan tampilan hasil ujian dan penerimaan seperti pada Gambar 4.46. Namun, penulis tidak memasukkannya, karena jika dimasukkan kode program akan menjadi sangat panjang. Kode Program 4.18 sudah menjelaskan cara mendapatkan proses keputusan penerimaannya.
Setelah mendapatkan keputusan penerimaan, sistem akan menyimpannya dalam database. Fungsi menyimpan hasil penerimaan dalamdatabasedapat dilihat pada Kode Program 4.19.
if (nilai >= batas1 && nilai < (batas2 - toleransi)) { new Client().insertPenerimaan(lblNoPeserta.getText(), nama, "LULUS", "TIDAK LULUS");
} else if (nilai >= batas2 && nilai < (batas1 - toleransi)) { new Client().insertPenerimaan(lblNoPeserta.getText(), nama, "TIDAK LULUS", "LULUS");
} else if (nilai >= batas1 && nilai >= batas2) {
new Client().insertPenerimaan(lblNoPeserta.getText(), nama, "LULUS", "LULUS");
} else if (nilai >= batas1 && (nilai >= (batas2 - toleransi) && nilai < batas2)) {
new Client().insertPenerimaan(lblNoPeserta.getText(), nama, "LULUS", "TOLERANSI");
} else if (nilai >= batas2 && (nilai >= (batas1 - toleransi) && nilai < batas1)) {
new Client().insertPenerimaan(lblNoPeserta.getText(), nama, "TOLERANSI", "LULUS");
} else if ((nilai >= (batas1 - toleransi) && nilai < batas1) && (nilai >= (batas2 - toleransi) && nilai < batas2)) {
new Client().insertPenerimaan(lblNoPeserta.getText(), nama, "TOLERANSI", "TOLERANSI");
} else if ((nilai >= (batas1 - toleransi) && nilai < batas1) && nilai < (batas2 - toleransi)) {
new Client().insertPenerimaan(lblNoPeserta.getText(), nama, "TOLERANSI", "TIDAK LULUS");
} else if ((nilai >= (batas2 - toleransi) && nilai < batas2) && nilai < (batas1 - toleransi)) {
new Client().insertPenerimaan(lblNoPeserta.getText(), nama, "TIDAK LULUS", "TOLERANSI");
} else {
new Client().insertPenerimaan(lblNoPeserta.getText(), nama, "TIDAK LULUS", "TIDAK LULUS");
Kode Program 4.19Fungsi Menyimpan Keputusan Penerimaan
4.5 Pembahasan
Pembahasan dilakukan dengan tujuan untuk membandingkan ketepatan dan waktu tunggu camaru untuk mendapatkan hasil dan keputusan penerimaan antara tes secara terkomputerisasi dengan tes secara manual yang digunakan pada Universitas Kristen Satya Wacana. Ada camaru yang mengikuti tes seleksi calon mahasiswa baru di Universitas Kristen Satya Wacana dengan pilihan pertama di program studi Pendidikan Bahasa Inggris dan pilihan kedua di program studi Teologi. Program studi Pendidikan Bahasa Inggris memiliki batas nilai 60 sedangkan program studi Teologi memiliki batas nilai 50.Administratormengatur nilai toleransinya 10. Camaru berhasil mengerjakan dengan benar 27 soal dari 50 soal. Dengan cara manual, camaru tersebut mendapatkan nilai 54. Nilai dihitung dengan hasil benar dikalikan dengan 2. Yang menghasilkan keputusan bahwa camaru tersebut akan menerima toleransi pada pilihan pertamanya di program studi Pendidikan Bahasa Inggris karena nilai yang diterimanya berada di bawah batas nilai 60, namun masih dalam batas nilai toleransi 50. Batas nilai toleransi dihasilkan
public void insertPenerimaan(String noPendaftaran, String nama, String pilihan1, String pilihan2) {
String query = "INSERT INTO tbl_penerimaan VALUES ('" + noPendaftaran + "','" + nama + "','" + pilihan1 + "','" + pilihan2 + "')";
try {
pre = (PreparedStatement) conn.prepareStatement(query);
pre.executeUpdate(); conn.close(); pre.close();
} catch (Exception e) { }
dari batas nilai dikurangi dengan nilai toleransinya yaitu 10, sehingga nilai 50 sampai dengan 59 akan mendapatkan toleransi. Dan camaru akan lulus di pilihan keduanya di program studi Teologi, karena nilainya 54 melebihi batas nilai program studinya yaitu 50. Kemudian akan dicoba jika menggunakan tes secara terkomputerisasi, camaru berhasil mengerjakan 27 soal dengan benar dari 50 soal. Maka hasil ujian yang dilakukan oleh sistem terlihat pada Gambar 4.47.
Gambar 4.47Contoh Tampilan Percobaan Hasil Ujian
langsung muncul setelah calon mahasiswa tersebut menyelesaikannya.
4.6 Pengujian
Tahap pengujian ini merupakan tahapan saat seorang pengembang aplikasi melakukan pengujian terhadap sistem yang sudah dirancang. Tahap ini bertujuan untuk menemukan beberapa kekurangan yang ada dalam sistem. Ketika ada kesalahan pada program, disesuaikan dengan analisa pada tahap sebelumnya dan melakukan pemeriksaan pada kode program yang telah dikembangkan. Pada pengujian perangkat lunak di sistem ini, akan digunakan metodeblack box testing. Tujuanblack box testingadalah membuktikan bahwa hasil output sesuai dengan yang diharapkan. Pengujian akan dilakukan pada form pendaftaran, form server dan
form client.
[image:52.516.87.437.151.606.2]4.6.1 FormPendaftaran
Tabel 4.9PengujianFormPendaftaran
Namacase PengujianFormPendaftaran
Tujuan - Uji coba proteksi pada tanggal lahir - Uji coba proteksi pada biaya
pembangunan dan kode pos jika input
karakter bukan angka
- Uji coba proteksitext fieldkosong
Precondition FormPendaftaran telah dibuka
Output yang diinginkan - Tulisan menjadi berwarna merah pada
text fieldtanggal lahir
- Muncul tampilanerror message
Tabel 4.9 merupakan pengujian black box testing pada form
Pendaftaran. Pengujian pertama yang dilakukan adalah uji coba proteksi padatext field tanggal lahir. Hasil pengujiannya jika format yang diminta pada text field tanggal lahir salah maka warna tulisannya akan berubah menjadi merah. Pengujian kedua yang dilakukan adalah uji coba proteksi pada biaya pembangunan dan kode pos jika input-an yang dimasukkan bukan angka. Hasil pengujiannya jika dimasukkan karakter selain angka pada biaya pembangunan akan muncul error message yang bertuliskan Isi biaya pembangunan dengan angka saja!!! dan pengujiannya jika dimasukkan karakter selain angka pada kode pos akan munculerror message yang bertuliskan Isi kode pos dengan angka saja!!! . Pengujian ketiga yang dilakukan adalah uji coba proteksi text field
yang kosong. Hasil pengujiannya jika pada saatsubmitadatext field
yang masih kosong akan muncul error message yang bertuliskan Isi data dengan lengkap!!! . Semua pengujian dilakukan dengan
precondition form Pendaftaran telah dibuka. Semua hasil pengujian sesuai dengan output yang diinginkan.
Tampilan tulisan menjadi merah pada text field tanggal lahir jika format yang dimasukkan salah dapat dilihat pada Gambar 4.48.
Gambar 4.48Tampilan Tulisan Merah padaText FieldTanggal Lahir
Gambar 4.49TampilanError MessageBiaya Pembangunan
[image:54.516.87.435.177.611.2]Tampilan error messagejika kode pos diisi nilai yang bukan angka dapat dilihat pada Gambar 4.50.
Gambar 4.50TampilanError MessageKode Pos
Tampilan error message jika ada text field yang kosong pada form
pendaftaran dapat dilihat pada Gambar 4.51.
Gambar 4.51TampilanError Message Text FieldKosongFormPendaftaran 4.6.2 Form Server
Tabel 4.10PengujianForm Server Namacase PengujianForm Server
Tujuan Uji coba proteksitext fieldkosong
Precondition Administrator telah login ke dalam aplikasiserver
Outputyang diinginkan Muncul tampilanerror message
Tabel 4.10 merupakan pengujian black box testing pada form Server. Pengujian yang dilakukan adalah uji coba proteksitext field
yang kosong. Hasil pengujiannya jika pada saatsubmitadatext field
yang masih kosong akan muncul error message yang bertuliskan Isi data dengan lengkap!!! . Pengujian dilakukan dengan
precondition administrator telah login ke dalam aplikasi server. Hasil pengujian sesuai dengan output yang diinginkan.
[image:55.516.88.434.220.557.2]Tampilan error message jika ada text field yang kosong pada form serverdapat dilihat pada Gambar 4.52.
Gambar 4.52TampilanError MessageText Field KosongForm Server
4.6.3 Form Client
Tabel 4.11PengujianForm Client Namacase PengujianForm Client
Tujuan Uji coba menyelesaikan ujian dan mendapatkan hasil ujian dan keputusan penerimaan / penolakan mahasiswa baru
Precondition Camaru telah login ke aplikasiclient Outputyang diinginkan Mendapatkan hasil ujian dan keputusan
penerimaan / penolakan mahasiswa baru Hasil uji coba Uji coba berhasil, hasil ujian dan hasil
keputusan penerimaan / penolakan mahasiswa baru telah ditampilkan
menyelesaikan ujian, maka akan muncul message yang berisi hasil ujian dan keputusan penerimaan / penolakan mahasiswa baru. Pengujian dilakukan dengan precondition camaru telah login ke dalam aplikasi client. Hasil pengujian sesuai dengan output yang diinginkan.
[image:56.516.89.431.192.536.2]Tampilan hasil ujian dan hasil keputusan penerimaan camaru dapat dilihat pada Gambar 4.53.