BAB IV PENGUJIAN dan ANALISIS
Pada bab ini akan dibahas mengenai pengujian dan analisis dari sistem presensi berbasis smart card. Tujuan pengujian adalah untuk mengetahui apakah sistem yang dirancang dapat memberikan hasil sesuai dengan spesifikasi, sedangkan analisis digunakan untuk meneliti penyebab perilaku sistem.
4.1
Pengujian RFID Tag dan Reader ID-12 Pengujian mengenai keterbacaan RFID tag dan kemampuan baca dari RFID reader
ID-12 yang digunakan dalam merancang modul sistem presensi. Salah satu masukan dari database sistem presensi akan didapat dari hasil pembacaan RFID tag yang dimiliki pengguna. 4.1.1. Pengujian RFID tag Metode pengujian yang dilakukan adalah dengan menanamkan program sederhana pada mikrokontroler untuk membaca RFID tag dan mengeluarkan data hasil pembacaan tersebut melalui komunikasi serial. Gambar 4.1 menunjukkan diagram alir mengenai metode pengujian yang dilakukan.
. Gambar 4.1. Diagram Alir Metode Pengujian Pembacaaan RFID.
42
43
Tabel 4.1 Hasil Pengujian Pembacaan RFID tag. No tag 1 2 3 4 5 6 7 8
Data tag 2C002E8E78F4 2300EAAB6DA 810002910614 4D00D5E281FB 4D00D5E396ED 4D00D5E22852 4D00D5E3ACD7 AD00D57BFB18
Data serial yang terbaca 2C002E8E78F4 2300EAAB6DA 810002910614 4D00D5E281FB 4D00D5E396ED 4D00D5E22852 4D00D5E3ACD7 AD00D57BFB18
Masing-masing tag yang digunakan dalam perancangan diberikan nomor urut untuk mempermudah dalam pembacaan datanya. Dari hasil pengujian yang dilakukan didapat bahwa RFID reader ID-12 berhasil membaca semua RFID tag yang digunakan dalam perancangan. 4.1.2. Pengujian Jarak Baca RFID Reader Pengujian berikutnya dilakukan dengan mengukur jarak baca maksimal saat data dari RFID tag terbaca dengan benar oleh RFID reader. Untuk metode pengujian yang dilakukan hampir sama dengan metode sebelumnya. Dapat dilihat pada Gambar 4.2, kali ini yang diukur adalah jarak maksimal pembacaaan yang dapat dilakukan RFID reader ID12 kepada semua tag yang digunakan dalam perancangan. Masing-masing tag yang digunakan diuji satu per satu mulai jarak baca 1-13cm, sesuai dengan datasheet RFID reader ID-12 [11] memiliki jarak baca maksimal 12 cm.
Gambar 4.2. Pengujian Jarak Baca RFID Reader.
44
Tabel 4.2 Hasil Pengujian Jarak Baca RFID Reader. Jarak (cm) 1
Persentase keterbacaan 8/8 = 100 %
Keterangan Semua tag terbaca
2
8/8 = 100 %
Semua tag terbaca
3
8/8 = 100 %
Semua tag terbaca
4 5
8/8 = 100 % 7/8 = 87,5 %
Semua tag terbaca Tag no 1, tidak terbaca
6
7/8 = 87,5 %
Tag no 1, tidak terbaca
7
6/8 = 75 %
Tag no 1 dan 2 tidak terbaca
8
6/8 = 75 %
Tag no 1 dan 2 tidak terbaca
9
5/8 = 62.5 %
Tag no 1, 2 dan 3 tidak terbaca
10
5/8 = 62.5 %
Tag no 1, 2 dan 3 tidak terbaca
11
5/8 = 62.5 %
Tag no 1, 2 dan 3 tidak terbaca
12
5/8 = 62.5 %
Tag no 1, 2 dan 3 tidak terbaca
13
0/8 = 0 %
Semua tag tidak terbaca
Dari hasil pengujian mengenai jarak baca RFID reader ID-12 didapat perbedaan jarak baca pada beberapa RFID tag yang digunakan. Untuk tag dengan nomor 1, 2 dan 3 jarak maksimal saat data terbaca benar oleh RFID reader adalah kurang dari 12 cm. Hal ini dikarenakan tag dengan nomor 1,2 dan 3 merupakan tag yang berbeda merk dengan 5 tag lain yang digunakan. Perbedaan teknologi dalam perancangan tag ini mempengaruhi jarak pembacaan maksimal dari tag tersebut. Pernyataan ini diperkuat dengan bukti hasil pengujian mengenai pembacaan tag dengan nomor 4,5,6,7 dan 8 yang merupakan tag yang masih baru dan dibeli bersamaan, dapat terbaca datanya dengan benar hingga jarak 12 cm. Dengan demikian jarak baca optimal yang dapat dilakukan RFID reader pada masingmasing tag tidak lebih dari 5cm.
45
4.2
Pengujian Konversi Data Serial ke TCP/IP Pengujian ini bertujuan untuk mengetahui apakah modul serial to TCP/IP converter
bekerja dengan baik. Diagram alir metode pengujian yang dilakukan dapat dilihat pada Gambar
4.3.
Metode
pengujian
yang
dilakukan
adalah
dengan
menghubungkan mikrokontroler ke modul konverter melaui komunikasi serial dan modul konverter ke komputer dengan kabel LAN. Lalu dibuat program sederhana untuk mengirimkan data serial dari mikrokontroler sebagai masukan modul konverter, kemudian data keluaran dari modul konverter dibaca menggunakan program hyperterminal pada PC. Susunan perangkat keras untuk pengujian dapat dilihat pada Gambar 4.4.
Gambar 4.3. Diagram Alir Pengujian Modul Konverter.
Mikrokontroler mengirimkan data serial berupa teks “TES KONVERSI DATA SERIAL->TCP/IP” sebagai masukan modul konverter, keluaran hasil konversi akan dibaca menggunakan program hyperterminal yang di atur untuk membaca data dengan format TCP/IP. Gambar 4.5 menunjukkan hasil pengujian konversi data.
46
Modul serial to ethernet converter
Gambar 4.4. Susunan perangkat keras saat pengujian dilakukan.
Data yang dikirim
Data yang diterima
Pengaturan hyperterminal
Gambar 4.5. Hasil Pengujian Modul Serial to TCP/IP Converter
4.3
Pengujian Pengiriman Data melalui Wifi Komunikasi wifi yang dirancang menggunakan access point untuk melakukan
komunikasi secara nirkabel. Metode pengujian yang dilakukan adalah dengan mengatur alamat IP dari access point yang akan digunakan, lalu mengatur access point yang akan ditempatkan di modul sistem presensi sebagai client dari access point yang ditempatkan di sisi server.
47
Kemudian access point di sisi client diberi masukan berupa data presensi yang sudah dikonversi ke dalam format TCP/IP, lalu pada PC melalui program HyperTerminal dibaca data yang diterima oleh access point di sisi server. Diagram alir metode pengujian yang dilakukan dapat dilihat pada Gambar 4.6.
Gambar 4.6. Diagram Alir Pengujian Komunikasi Wifi
Hasil pembacaan pada program HyperTerminal dan capture komunikasi paket data TCP dari program wireshark dapat dilihat pada Gambar 4.7. Dari hasil pengujian, data yang dikirimkan dari sisi client yang memiliki alamat IP 192.168.1.250 dapat diterima dengan baik di sisi server pada alamat IP 192.168.1.5. Terlihat juga bahwa protokol komunikasi yang digunakan adalah TCP. Data yang dikirimkan adalah data informasi kelas, data tag yang terbaca dan waktu pembacaan.
48
Protokol komunikasi
Informasi kelas Data tag yang terbaca Informasi waktu pembacaan
Gambar 4.7. Hasil pembacaan HyperTerminal di sisi Server 4.4
Pengujian Enkripsi DES Pada mikrokontroler ATmega32 Pengujian enkripsi data dengan metode Data Encryption Standard (DES) yang
diaplikasikan pada mikrokontroler ATmega32. Metode pengujian yang dilakukan adalah dengan menanamkan program enkripsi DES pada mikrokontroler. Detil program enkripsi DES yang ditanamkan dapat dilihat pada lampiran [A]. Hasil pengujian dapat dilihat pada Gambar 4.8.
Gambar 4.8. Hasil Pengujian Enkripsi DES
49
Berdasarkan pengujian yang dilakukan, terdapat linker error pada saat program dikompilasi. Hal ini dikarenakan enkripsi dengan metode DES memerlukan memori yang cukup besar untuk prosesnya, dari hasil pengujian dapat diketahui memori RAM yang dibutuhkan untuk proses DES sebesar 2408 bytes sedangkan memori RAM internal yang dimiliki Atmega32 adalah 2048 bytes. Dengan demikian metode enkripsi DES tidak mampu untuk diaplikasikan pada mikrokontroler ATmega32 karena keterbatasan memory RAM yang dimiliki.
4.5
Pengujian program server Pada sistem presensi ini, terdapat dua kelompok pengguna yang dapat login ke
dalam program server sistem presensi (use case diagram pada Gambar 1.1). Untuk pengujian program server akan dibagi menjadi tiga bagian, yang pertama saat pengguna melakukan proses login ke dalam program server, berikutnya adalah saat pengguna login sebagai admin dan yang terakhir adalah saat pengguna login sebagai dosen.
4.5.1. Pengujian Proses Login Pengujian untuk login ke dalam program sistem presensi diperlukan untuk memastikan proses login berhasil sehingga pengguna dapat mengakses berbagai pilihan menu pada server. Gambar 4.8 adalah form untuk login ke server sistem presensi. Metode pengujian yang dilakukan adalah dengan mencoba login ke dalam sistem presensi menggunakan nama pengguna yang terdaftar dan tidak terdaftar dalam database login.
Gambar 4.9. Tampilan form login
50
Pada saat program server sistem presensi dijalankan, program akan meminta verifikasi nama dan kata kunci dari pengguna. Hanya pengguna yang terdaftar dalam database yang dapat melakukan login ke dalam program server sistem presensi. Daftar pengguna terdapat pada tabel ‘login’ dalam database sistem presensi , dapat dilihat pada Gambar 4.10.
Gambar 4.10. Tabel ‘login’ dalam Database Sistem Presensi Pada Gambar 4.10 terlihat bahwa tidak semua pengguna yang terdaftar dalam database memiliki IDTag. Hal ini dikarenakan keterbatasan jumlah tag yang tersedia. Idealnya semua pengguna yang terdaftar dan posisinya sebagai dosen akan memiliki IDTag yang unik. Isi dari kolom IDTag adalah data dari tag yang dipegang oleh masingmasing dosen. Tag ini yang nantinya akan digunakan dosen untuk melakukan presensi. Gambar 4.11 akan menunjukkan diagram alir pengujian login server. Tabel 4.3. Hasil Pengujian Login Server Nama pengguna
Keberhasilan
dosenbitek
10/10 = 100%
Admin
10/10 = 100%
Dosen
10/10 = 100%
Soedigno, M.Sc
10/10 = 100%
Prof. DR. Liek. W
10/10 = 100%
Dr. Matias. HWB
10/10 = 100%
Budihardja M, M.Eng
10/10 = 100%
Hartanto. KW, M.T
10/10 = 100%
Onne Arista
0/10 = 0%
Mahasiswa
0/10 = 0%
51
Dari hasil pengujian login server dapat dilihat bahwa program yang dirancang berjalan baik untuk membedakan pengguna yang terdaftar dan tidak terdaftar pada database sistem presensi. Jika pengguna yang tidak terdaftar berusaha melakukan login dengan memasukkan sembarang nama pengguna dan kata kunci, maka program akan menampilkan pesan kesalahan. Hal yang sama juga terjadi jika pengguna yang terdaftar memasukkan kata kunci yang tidak sesuai.
Gambar 4.11 Diagram Alir Pengujian Login server. Berikut ini potongan program yang digunakan untuk membuka koneksi ke database dan query yang digunakan untuk memperoleh data dari tabel login. SqlConnection UGIcon = new SqlConnection(); UGIcon.ConnectionString = "Server=ONNE\\SQLEXPRESS; Database=trial_1; User Id=onne_trial; password=onnetrial" UGIcon.Open SqlCommand cmd = new SqlCommand("SELECT [ID/SandiDosen],Posisi,Nama, Password,KodeDosen FROM Login WHERE (Nama='" + tbNama.Text + "' or KodeDosen='" + tbNama.Text + "') and Password='" + tbPass.Text + "' Collate SQL_Latin1_General_CP1_CS_AS", UGIcon);
Kode 4.1. Potongan program login.
52
Bagian connection string merupakan bagian yang digunakan untuk inisialisasi koneksi ke database. Isi dari connection string disesuaikan dengan konfigurasi dari program Microsoft SQLServer 2005 yang digunakan dalam perancangan. Pada potongan program diatas SqlCommand berisikan query yang digunakan untuk mengambil data dari tabel login jika nama dan kata kuncinya sesuai. Pernyataan default SQLServer bersifat case-insensitive. Dengan kata lain SQL server tidak mampu membedakan huruf kecil dan huruf besar. Sehingga dapat menyebabkan kesalahan saat verifikasi kata kunci apabila pengguna menggunakan huruf kecil dan huruf besar dalam kata kuncinya. Untuk mengatasi kemungkianan kesalahan itu, dalam perancangan digunakan kata kunci Collate SQL_Latin1_General_CP1_CS_AS agar SQL server mampu membedakan huruf besar dan huruf kecil.
4.5.2. Pengujian Terima Data TCP/IP Untuk memastikan data yang dikirimkan dari modul sistem presensi dapat diterima benar oleh server, maka dilakukan pengujian untuk menerima data dalam format TCP/IP. Metode pengujian yang dilakukan adalah dengan mendekatkan tag pada modul sistem presensi, lalu program server akan membaca data hasil kiriman dari modul presensi tersebut. Data yang diterima di server dapat dilihat pada Gambar 4.12. Pengujian dilakukan pada sejumlah tag yang digunakan dalam perancangan, hasil pengujian dapat dilihat pada Tabel 4.4.
53
Data yang dikirimkan dari modul presensi
Gambar 4.12. Capture Data yang Terbaca di Server. Tabel 4.4. Hasil Pengujian Penerimaan Data TCP/IP. Nomor Tag 1 2 3 4 5 6 7 8
Keberhasilan (%) 10/10 = 100% 10/10 = 100% 10/10 = 100% 10/10 = 100% 10/10 = 100% 10/10 = 100% 10/10 = 100% 10/10 = 100%
4.5.3. Pengujian untuk Menampilkan Informasi Perkuliahan Saat pengguna login sebagai admin, maka akan ditampilkan pilihan menu lengkap dari server sistem presensi (diagram alir pada Gambar 3.2). Pilihan menu yang ditampilkan antara lain adalah data mata kuliah, yang menampilkan informasi seputar perkuliahan yang dibuka dalam suatu semester termasuk daftar mahasiswa yang mengambil kelas mata kuliah tersebut. Gambar 4.13 akan menunjukkan lebih jelas mengenai tampilan pada saat pengguna login sebagai admin.
54
Gambar 4.13. Tampilan saat Login sebagai Admin Untuk metode pengujian yang dilakukan adalah dengan login sebagai admin lalu melakukan prosedur untuk melihat informasi seputar perkuliahan, mulai dari detil mata kuliah, jadwal perkuliahan, dan melihat mahasiswa yang mengambil suatu mata kuliah. Pengujian dilakukan 10 kali untuk mata kuliah yang berbeda. Hasil percobaan dapat dilihat pada Tabel 4.5.
Tabel 4.5 Hasil Percobaan Menampilkan Informasi Perkuliahan Informasi yang dilihat ,keberhasilan (%) Mata kuliah Fisika 1
Detil mata kuliah 10/10 = 100%
jadwal kuliah 10/10 = 100%
Peserta kuliah 10/10 = 100%
Matematika 1
10/10 = 100%
10/10 = 100%
10/10 = 100%
Kimia Dasar A
10/10 = 100%
10/10 = 100%
10/10 = 100%
Kimia Dasar B
10/10 = 100%
10/10 = 100%
10/10 = 100%
PTE
10/10 = 100%
10/10 = 100%
10/10 = 100%
Fisika 3
10/10 = 100%
10/10 = 100%
10/10 = 100%
Matematika 3
10/10 = 100%
10/10 = 100%
10/10 = 100%
Bitek A
10/10 = 100%
10/10 = 100%
10/10 = 100%
Bitek B
10/10 = 100%
10/10 = 100%
10/10 = 100%
Bitek C
10/10 = 100%
10/10 = 100%
10/10 = 100%
55
Dari 10 kali percobaan yang dilakukan untuk masing-masing mata kuliah, ada beberapa mata kuliah yang tidak menampilkan peserta mata kuliah tersebut. Hal ini dikarenakan pada database sistem presensi, data mengenai peserta mata kuliah tersebut masih kosong atau belum dimasukkan. Sehingga saat dilakukan prosedur untuk menampilkan data, yang tertampil hanyalah tabel kosong. Berikut ini adalah potongan program query sql yang digunakan untuk menampilkan daftar kelas perkuliahan. String sqlString = "SELECT a.KodeMK, Pengajar1, ISNULL(c.Nama, 'tidak infoMataKuliah AS a LEFT OUTER JOIN = b.[ID/SandiDosen] LEFT OUTER JOIN = c.[ID/SandiDosen]";
a.NamaMK, a.SKS, b.Nama AS ada') AS Pengajar2 FROM login AS b ON a.SandiDosen1 login AS c ON a.SandiDosen2
Kode 4.2. Potongan Program Informasi Perkuliahan. Digunakan kata kunci left outer join untuk operasi Join dimana akan menampilkan semua isi tabel di sisi kiri, walaupun data di pasangan joinnya yg disisi kanan nilainya tidak sama ataupun bernilai null. Hal ini diperlukan karena ada beberapa mata kuliah yang diampu lebih dari satu dosen (asumsi dalam perancangan ini bisa terdapat dua dosen pengajar untuk satu mata kuliah). Dari sisi tampilan, digunakan datagridview yang dihubungkan dengan SQL server untuk menampilkan tabel yang diperlukan dalam perancangan. Untuk mengisi datagridview, digunakan dataset karena ada lebih dari satu tabel yang akan digabungkan untuk ditampilkan dalam datagridview. Potongan program berikut merupakan program yang digunakan untuk menampilkan dan mengisi datagridview. using (SqlDataAdapter dataAdapter_MK1 = new SqlDataAdapter(sqlString, conn)) { using (SqlCommandBuilder commandBuilder_MK1 = new SqlCommandBuilder(dataAdapter_MK1)) { DataTable dataTable_MK1 = new DataTable() dataTable_MK1.Locale = System.Globalization.CultureInfo.InvariantCulture; dataAdapter_MK1.Fill(dataTable_MK1); BindingSource bindingSource_MK1 = new BindingSource(); bindingSource_MK1.DataSource = dataTable_MK1; dgMK1.DataSource = bindingSource_MK1; dgMK1.EditMode = DataGridViewEditMode.EditProgrammatically; dgMK1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; } }
Kode 4.3. Potongan Program Tampilan Datagridview.
56
4.5.4. Pengujian untuk Mencetak Informasi Perkuliahan Pengujian ini dilakukan untuk menguji apakah pilihan menu untuk mencetak data dapat berjalan baik. Metode pengujian yang dilakukan adalah dengan melakukan prosedur untuk mencetak informasi seputar jadwal perkuliahan. Gambar 4.14 merupakan hasil pengujian untuk mencetak informasi mengenai jadwal perkuliahan. Terdapat kolom yang masih kosong pada beberapa mata kuliah. Karena informasi yang terdapat pada database mengenai mata kuliah tersebut belum lengkap. Dalam hal ini adalah informasi seputar jadwal perkuliahan, untuk melengkapi informasi tersebut dapat dilakukan melalui pilihan menu edit jadwal perkuliahan.
Gambar 4.14. Print Preview untuk Jadwal Perkuliahan
4.6
Pengujian sistem secara keseluruhan Pengujian sistem keseluruhan bertujuan untuk menguji apakah sistem presensi yang
direalisasikan dapat melakukan proses presensi sesuai dengan yang diinginkan. Pengujian ini dilakukan dengan melakukan presensi dosen dan mahasiswa. Hasil pengujian yang diinginkan adalah data presensi bisa masuk ke dalam database sistem presensi. Langkahlangkah pengujiannya adalah sebagai berkut:
57
1. Menempatkan modul sistem presensi di tempat terpisah dari server sistem presensi. Asumsi jarak yang penempatan adalah sejauh 50 m, pemilihan jarak disesuaikan dengan radius dari access point yang digunakan dalam perancangan. 2. Dosen melakukan presensi untuk membuka koneksi dengan server sistem presensi. Presensi dilakukan dengan mendekatkan tag ke modul presensi. 3. Beberapa mahasiswa melakukan presensi dengan cara yang sama. 4.
Dosen melakukan presensi lagi untuk menutup koneksi dengan server sistem presensi.
5. Admin melakukan pengecekan terhadap data hasil presensi yang dilakukan dosen dan mahasiawa.
Gambar 4.15 Hasil Pengujian Keseluruhan Dari pengujian keseluruhan yang dilakukan, modul sistem presensi dapat berjalan baik dengan untuk membaca dan mengolah data dari tag pengguna baik dosen maupun mahasiswa. Dari sisi server, data kiriman dari modul sistem presensi dapat di olah untuk dimasukkan ke database dan dapat menghasilkan laporan presensi dalam format siap cetak.