4. BAB IV PENGUJIAN APLIKASI DAN EVALUASI 4.1 Karakteristik Sistem Perangkat lunak yang digunakan untuk menguji aplikasi ini adalah: − Program Aplikasi : Java (TM) Language − Server basis data : MySQL − Sistem Operasi : Windows XP Profesional Sedangkan perangkat keras yang digunakan antara lain: − 1 unit Notebook (Centrino, 768M DDR SDRAM) RFID kit : (MF328ARW reader, 2 buah Mifare Smartcard MF1 IC S50, dan kabel RS 232)
4.2 Pengujian Program Pengujian program yang dilakukan adalah pengujian method pada kelas pemrograman, pengujian deteksi tag, pengujian untuk membaca dan menulis pada tag, pengujian untuk menghubungkan dengan server basis data MySQL, 4.2.1 Pengujian Method pada Kelas Pemrograman Tabel 4-1 Hasil Pengujian Seluruh Method pada Kelas Pemrograman Engine.java method public void dapatNilaiParameter() public Vector getPort() public void setNilaiPort(String nilaiPort) public String getNilaiPort() public void setNilaiBaud(int nilaiBaud) public int getNilaiBaud() public void setData(String Data) public String getData() public void setnilaiData(int nilaiData) public int getnilaiData() public void setStop(String Stop) public String getStop() public void setnilaiStop(int nilaiStop) public int getnilaiStop()
hasil nilai parameter dari masing-masing comboBox port serial yang ada pada komputer
pengujian valid valid
nilai port dari ComboBox
valid
nilai port
valid
nilai baud dari ComboBox
valid
nilai baud data bit dari ComboBox data bit
valid valid valid
data bit diubah ke nilai data bit
valid
nilai data bit stop bit dari ComboBox stop bit
valid valid valid
stop bit diubah ke nilai stop bit
valid
nilai stop bit
valid
29
public void setParity(String Parity) public String getParity() public void setnilaiParity(int nilaiParity) public int getnilaiParity() public void setFlow(String Flow) public String getFlow() public void setnilaiFlow(int nilaiFlow) public int getnilaiFlow() public void serialEvent(SerialPortEvent serialPortEvent) public ThreadCekTagRFID() public void Scanning() public Vector getSerialNumber(String sbuf) public void setBuffSN(Vector temp) public void getBaca(String sbuf) public void nyambungPort(String nilaiPort, int nilaiBaud, int nilaiData, int nilaiParity, int nilaiFlow) public void handshaking() public void ReaderInitialization() public void GetCardSerialNumber() public void Password() public void BacaNama() public void BacaPlat() public void Tulis(String Tulisan) public void Buzzer() public static String hexStream(String asciiStream)
parity bit dari ComboBox
valid
parity bit
valid
parity bit diubah ke nilai parity bit
valid
nilai parity bit flow dari ComboBox flow
valid valid valid
flow diubah ke nilai flow
valid
nilai flow
valid
event pada port serial dijalankan
valid
Thread untuk pembacaan tag otomatis pembacaan nomor seri tag
valid valid
nomor seri dari buffer
valid
Buffer digabung isi blok pada tag
valid valid
port yang akan digunakan terbuka
valid
handshaking dengan RWD tag RFID yang akan digunakan dipilih getSerialNumber() dan parsing nomor seri yang didapatkan Passkey dikirim blok nama dibaca blok nomor plat dibaca blok nama buzzer RWD
valid
valid valid valid valid valid
format hexa diubah ke ASCII
valid
valid valid
HalUtama.java method
Hasil
public HalUtama() public void setLookAndFeel()
kelas HalUtama dijalankan tampilan seperti Windows port serial yang didapat dalam comboBox komponen form
valid valid
logout
valid
masuk menu tambah user
valid
masuk menu ubah password
valid
hasil dari basis data dicetak
valid
berhenti mengabsen otomatis
valid
tulisan respon dihapus
valid
aplikasi ditutup
valid
data dari basis data ditemukan
valid
public void addPort() private void initComponents() private void logoutMenu ActionPerformed() private void addusActionPerformed() private void passMenu ActionPerformed() private void cetak ActionPerformed() private void stopButton ActionPerformed() private void clearRespon ActionPerformed() private void close ActionPerformed() private void cari ActionPerformed()
30
pengujian
valid valid
private void absenButton ActionPerformed() private void tulis ActionPerformed() private void bacaNomor ActionPerformed() private void bacaNama ActionPerformed() private void bacaKartu ActionPerformed() private void refreshButtonActionPerformed() private void okButton ActionPerformed() public void dapatNilaiParameter() public void initcon() public void JamMasuk() public void InsertNama(String nama, String nomor) public void UpdateNama(String nama, String nomor) public void LihatNama() public void CariDatang(String cariNama)
Absen dimulai
valid
tag ditulis
valid
blok nomor plat dalam tag dibaca
valid
blok nama dalam tag dibaca
valid
Tag dibaca
valid
port yang tersedia di-refresh
valid
terhubung dengan port serial
valid
parameter port terhubung dengan MySQL tanggal dan jam sistem dibaca
valid valid valid
Data masuk ke tabel daftarnama
valid
Data masuk ke tabel daftarnama
valid
data dari tabel daftarnama berdasar SN data dari tabel daftardatang berdasar nama
valid valid
Editpass.java method
hasil
initComponents() public void setLookAndFeel() private void okGanti ActionPerformed() public void cek()
komponen dalam form addus tampilan seperti Windows
pengujian valid valid
penggantian password
valid
password pada basis data diganti
valid
addus.java method
Hasil
private void initComponents() private void okPassMouseClicked() private void okPass ActionPerformed()
komponen dalam form addus User ditambah
pengujian valid valid
User ditambah
valid
statusfrm.java Hasil
method public public xd) public public usr) public public idusr) public
pengujian
void setLookAndFeel() static void setaddu(boolean
tampilan seperti Windows
valid
akses pengguna
valid
static boolean getaddu() static void setuser(String
akses pengguna
valid
status pengguna
valid
static String getuser() static void iduser(String
status pengguna
valid
nama pengguna
valid
static String getiduser()
nama pengguna
valid
4.2.2 Pengujian Proses Identifikasi Pengguna Aplikasi Sebelum masuk ke halaman utama dari aplikasi, diperlukan identitas pengguna untuk menentukan fungsi-fungsi apa saja yang dapat diakses setiap pengguna. Untuk itu, diberikan halaman login seperti pada Gambar 4-1
31
Gambar 4-1 Form Login untuk Mengatur Akses Pengguna
Setelah memasukkan nama dan kata kunci, pengguna mendapatkan akses sesuai dengan statusnya masing-masing, sesuai diagram use case pada Gambar 3-2. setelah masuk pada halaman utama, pada menu bar terdapat beberapa menu, yaitu ubah password, tambah user, logout, dan exit. “logout” berarti keluar dari halaman utama kembali ke halaman login, sementara “exit” keluar dari program. Sementara untuk ubah password, memperbolehkan pengguna mengganti kata kuncinya, seperti pada Gambar 4-2. Lalu, tambah user, dapat diakses admin untuk menambah akun user seperti pada Gambar 4-3.
Gambar 4-2 Tampilan Setelah Pengubahan Kata Kunci Salah Satu Pengguna
32
Gambar 4-3 Tampilan Setelah Penambahan User
4.2.3 Pengujian Penyambungan Port Serial dan Server Basis data Penyambungan dengan port serial COM14 dengan parameter berikut sudah benar, sehingga komputer dapat terhubung dengan port serial
33
Gambar 4-4 Tampilan Setelah Terhubung dengan Port Serial dan Server Basis data
4.2.4 Pengolahan Data dari Tag RFID Setelah terhubung, tag RFID dibaca dan hasilnya ada pada Gambar 4-5
34
Gambar 4-5 Tampilan Setelah Nomor Seri dan Blok Kartu Dibaca
setelah tombol “tulis ke kartu” ditekan didapatkan hasil seperti pada Gambar 4-6.
35
Gambar 4-6 Tampilan Setelah Tombol “tulis kartu” Ditekan
36
Gambar 4-7 Tampilan System.out.println() Saat Pembacaan Kartu
Setelah dibaca, tampak ada “_” pada nama dan nomor, penjelasan mengenai ini ada pada sub bab 4.3. Sementara, antara nama yang terbaca dengan yang terdaftar berbeda karena data yang baru diisi ke dalam kartu belum diperbaharui ke basis data.
4.2.5 Pembacaan Data dari Basis Data Pembacaan data dari basis data dapat dilakukan dengan parameter nama, tanggal, atau tanpa parameter.
Gambar 4-8 Tampilan Hasil Pembacaan dari Basis Data
37
Setelah tombol “cetak” ditekan
Gambar 4-9 Tampilan Kotak untuk Mencetak
Sementara print preview dari hasil di atas:
Gambar 4-10 Print Preview Hasil Pembacaan dari Basis Data
38
4.2.6 Pengolahan Data dalam Basis data Sementara untuk hasil lengkap dapat menggunakan web browser, misalnya Mozilla Firefox, dengan menuliskan localhost/phpmyadmin/ pada toolbar navigasi, akan didapatkan halaman utama. Setelah itu, cukup pilih basis data. Untuk melihat tabel, cukup klik “Browse”, maka akan didapatkan hasil berikut ini untuk masing-masing tabel:
Gambar 4-11 Tampilan Tabel daftarnama pada Web browser
Gambar 4-12 Tampilan Tabel daftarnama pada Web browser
4.2.7 Pengolahan Tag RFID dan Basis data secara Bersamaan Untuk menjalankan absensi secara otomatis, cukup dengan menekan “mulai absen” dan menekan “stop absen” untuk menghentikannya.
39
Gambar 4-13 Tampilan Saat Pembacaan Otomatis
4.3 Evaluasi Kendala Saat Pengujian Isi buffer terhadap respon tidak dapat diketahui secara pasti, sementara penggunaan flush() terhadap output stream tidak dapat dilakukan, sehingga dilakukan beberapa penyesuaian pada program. Sebagai contoh: untuk membaca nomor seri, terkadang respon yang terisi pada buffer berupa : 00 04 E2 12 16 C3 21 67 00 04 E2 12 16 C3 21 45 00 04 E2 12 16 C3 21
..â..Ã! g..â..Ã! Eg..â..Ã!
40
Oleh karena itu, dilakukan penyesuaian dengan membuat pengecualian kondisi seperti berikut: if (temp1.equals("67")) { //67 = g j = 7; k = 4; } if (temp1.equals("45")) { //45 = E j = 8; k = 5; } else { j = 6; k = 3; } for (i=j; i>=k; i--) { temp = sbuf.substring(i-1,i); result.addElement(temp); } return result; }
Selain itu, baik pada pembacaan maupun penulisan pada blok, disisipkan karakter “_” karena dalam penulisan hexa ke dalam blok, isi blok harus penuh dengan 16 karakter. Sementara karakter “ ” (spasi) tidak dapat disisipkan karena dapat mengakibatkan kesalahan pembacaan dan memberikan respon seperti pada Gambar 4-14.
Gambar 4-14 Hasil System.out.println()
Kesalahan tersebut diakibatkan oleh RWD yang mengira spasi adalah jeda antar respon dan hal ini tidak dapat dihindari. Sehingga buffer terakhir yang didapat dianggap isi dari blok. Oleh karena itu, tidak boleh ada spasi pada data dalam blok. Secara keseluruhan, aplikasi yang dibangun sudah berjalan dengan baik. Aplikasi menjalankan fungsinya dengan benar, mulai pengaturan koneksi port serial dan server basis data, hingga pengolahan tag RFID dan basis data.
41