APLIKASI SMART CARD UNTUK PEMBAYARAN DI KANTIN Syaiful Amri1), Riyanto Sigit2) dan Setia Wardhana2)
1)
Teknik Elektro Politeknik Bengkalis Jl. Batin Alam, Sei-Alam, Bengkalis-Riau
2)
Politeknik Elektronika Negeri Surabaya Telp: (+62766) 7008877 Fax. (+62766) 21116
Abstrak
Salah satu tuntutan yang dihadapi dunia industri jasa saat ini adalah menciptakan sistem pelayanan terhadap publik yang memberikan kemudahan dalam tukar-menukar informasi, transaksi, dengan tingkat keamanan yang tinggi. Masalah ini juga dapat dijumpai pada lingkungan kerja apa saja yang membutuhkan faktor-faktor seperti : mobilitas tinggi, keamanan data, ketangguhan terhadap gangguan, kestabilan, dan unjuk kerja yang tinggi. Faktor-faktor tersebut memegang peranan penting dalam kelangsungan hidup industri karena berpengaruh langsung pada mutu produk atau service yang diberikan. SMARTCARD diciptakan untuk menjadi solusi bagi problem tersebut. Teknologi ini menawarkan banyak manfaat signifikan bagi para penyedia dan pengguna jasa, sekaligus menawarkan tantangan bagi siapa saja yang ingin mengembangkan inovasi ini lebih lanjut. Mobilitas tinggi didapatkan dari ukuran fisik yang kecil dengan dimensi chip hanya 85,6 mm x 54 mm. Keamanan data didukung oleh adanya mikroprosesor dalam chip yang dapat melakukan proses enkripsi data yang disimpan. Kestabilan dan kecepatan dapat dioptimalkan dengan makin banyaknya bahasa pemrograman yang mendukungnya. Aplikasi dan fungsi smart card untuk database berbasis komputer akan memberikan hak akses tersendiri berdasarkan kode kode program yang terenkripsi yang dimasukkan dalam chips pada smartcard
Kata kunci : Smart Card, RFID, Database
1. PENDAHULUAN
Teknologi kartu baik itu berupa kartu kredit, ATM, maupun kartu GSM handphone, saat ini bukan lagi monopoli masyarakat di kota-kota besar saja, namun juga telah merambah ke kota-kota kecil bahkan pedesaan. Pertumbuhan kartu ini baik dari sisi jumlah pengguna maupun teknologinya sendiri benar-benar berkembang dengan sangat cepat. Salah satu teknologi yang paling banyak diimplementasikan dalam berbagai jenis kartu adalah teknologi SmartCard. Dengan munculnya teknologi ini, membuka jalan yang seluas-luasnya bagi aplikasi-aplikasi berbasis kartu yang lebih komplek dan saling terintegrasi dengan kehidupan manusia. Selama ini teknologi kartu yang kita kenal berkisar pada aplikasi di mesin ATM, kartu
kredit, kartu GSM, dan sebagainya. Namun telah pula dikembangkan sebuah aplikasi dimana kita hanya memerlukan sebuah kartu saja untuk semua aplikasi yang ingin kita akses. Dengan menggunakan SmartCard tersebut, kita tidak perlu lagi untuk mengurus kebutuhan kita selama bepergian ke luar negeri misalnya, karena hanya dengan menggunakan satu kartu saja, kita dapat sekaligus mengurus tiket pesawat, mobil jemputan, dan kamar hotel yang ingin kita tempati. Bahkan ketika kita ingin menghubungi keluarga kita di belahan dunia yang lain, kartu ini berubah fungsi menjadi kartu telepon.
Meskipun demikian, aplikasi lain yaitu Student Card. Dengan menggunakan kartu ini, seorang mahasiswa atau dosen akan mendapatkan
Disampaikan Pada Seminar Nasional Industri dan Teknologi 42
banyak kemudahan. Ketika berada di kantin, mahasiswa atau dosen dapat menggunakan kartu ini sebagai kartu pembayaran, ketika registrasi ulang, pembayaran SPP atau semester pendek. Disamping utamanya kartu ini digunakan untuk kartu identitas mahasiswa atau kartu mahasiswa. Sebagai kartu identitas, kartu ini dapat digunakan sebagai kartu akses keamanan ketika mahasiswa memasuki ruang praktikum, bahkan sebagai kartu absensi ketika memasuki ruang kuliah. Selain itu kartu ini dapat digunakan sebagai kartu telepon dan kartu belanja di supermarket kampus atau koperasi. Dengan menambahkan komponen tambahan berupa Card Reader, Fleksibilitas SmartCard semakin terasa manfaatnya. Melalui sebuah Set-Top Box yang terhubung dengan Internet yang dilengkapi dengan SmartCard Reader, kita tidak perlu jauh-jauh untuk berbelanja, memesan antrian untuk periksa ke dokter, reservasi hotel, dan beribu-ribu aplikasi lainnya. Kita dapat menggunakan hanya sebuah kartu saja di Sekolah, Pusat perbelanjaan, Bandara, Stasiun, Kantor, dan di semua tempat dimana kita berada.
2. DASAR TEORI
2.1.Radio Frequency Identification (RFID) 2.1.a. Overview
RFID adalah proses identifikasi seseorang atau objek dengan menggunakan frekuensi transmisi radio. RFID menggunakan frekuensi radio untuk membaca informasi dari sebuah device kecil yang disebut tag atau transponder (Transmitter + Responder). Tag RFID akan mengenali diri sendiri ketika mendeteksi sinyal dari device yang kompatibel, yaitu pembaca RFID (RFID Reader).
RFID adalah teknologi identifikasi yang fleksibel, mudah digunakan, dan sangat cocok untuk operasi otomatis. RFID mengkombinasikan keunggulan yang tidak tersedia pada teknologi identifikasi yang lain. RFID dapat disediakan dalam device yang hanya dapat dibaca saja (Read Only) atau dapat dibaca dan ditulis (Read/Write), tidak memerlukan kontak langsung maupun jalur
cahaya untuk dapat beroperasi, dapat berfungsi pada berbagai variasi kondisi lingkungan, dan menyediakan tingkat integritas data yang tinggi. Sebagai tambahan, karena teknologi ini sulit untuk dipalsukan, maka RFID dapat menyediakan tingkat keamanan yang tinggi. Pada sistem RFID umumnya, tag atau
transponder ditempelkan pada suatu objek.
Setiap tag membawa dapat membawa informasi yang unik, di antaranya: serial number, model, warna, tempat perakitan, dan data lain dari objek tersebut. Ketika tag ini melalui medan yang dihasilkan oleh pembaca RFID yang kompatibel, tag akan mentransmisikan informasi yang ada pada tag kepada pembaca RFID, sehingga proses identifikasi objek dapat dilakukan.
Sistem RFID terdiri dari empat komponen, di antaranya seperti dapat dilihat pada gambar 2.1:
[a] Tag: Ini adalah device yang menyimpan informasi untuk identifikasi objek. Tag RFID sering juga disebut sebagai
transponder.
[b] Antena: untuk mentransmisikan sinyal frekuensi radio antara pembaca RFID dengan tag RFID.
[c] Pembaca RFID: adalah device yang kompatibel dengan tag RFID yang akan berkomunikasi secara wireless dengan tag. [d] Software Aplikasi: adalah aplikasi pada
sebuah workstation atau PC yang dapat membaca data dari tag melalui pembaca RFID. Baik tag dan pembaca RFID diperlengkapi dengan antena sehingga dapat menerima dan memancarkan gelombang elektromagnetik.
Gambar 2.1
Komponen komponen RFID
Disampaikan Pada Seminar Nasional Industri dan Teknologi
2.1.b. Cara Kerja RFID
Cara kerja untuk tag yang tidak memiliki energi antenalah yang mengambil tenaga dari reader akan memodulasi medan magnet untuk berkomunikasi mengirim data ke reader. Data yang diterima reader akan diteruskan menuju host komputer atau server database. Data yang masuk pada host komputer akan diolah sesuai dengan program aplikasi yang ada di komputer.
Gambar 2.2
Kkomunikasi Reder dengan tag/transponder
Gambar 2.3
Bagan Rangkaian RFID
Reader yang digunakan oleh RFID memiliki
bagian antena yang berfungsi untuk menyalurkan frekuensi. RF module yang mengatur frekuensi dan control module memproses data. Pada Gambar 2.2 dan Gambar 2.3 terlihat bagan rangkaian reader dan bagan rangkaian sistem RFID.
3. PEMBUATAN PROGRAM APLIKASI
Pada Tugas Akhir ini program aplikasi dibuat dengan menggunakan program Visual Basic (VB) dan menggunakan program Access untuk database.
Lingkungan pemrograman Visual Basic mengandung beberapa tool yang bermanfaat
untuk menjalankan dan mengelola program. Visual Basic juga mengandung segala sesuatu yang dibutuhkan untuk membangun aplikasi untuk window dari awal.
Pada aplikasi ini dibuat database untuk menyimpan Data Anggota, Data Barang, Data Penjualan dan Pengisian Pulsa.
Untuk menampilkan hasil, implementasi sistem, dibuat antar muka antara pemakai dengan sistem. Perancangan antar muka ini dibuat dengan menggunakan bahasa pemrograman visual basic 6.0. form berfungsi sebagai media kerja program aplikasi dan setiap form terdapat satu unit atau modul program yang berfungsi mengatur dan mengendalikan segala sesuatu yang berhubungan dengan form. Oleh karena itu perlunya form untuk memenuhi kebutuhan tersebut.
Gambar 3.1
Running Menu Utama
Gambar 3.2
Running Data Anggota
Disampaikan Pada Seminar Nasional Industri dan Teknologi
Gambar 3.3
Running Data Barang
Gambar 3.4
Running Pengisian Pulsa
Gambar 3.5 Running Penjualan
4. PENGUJIAN DAN ANALISA
Uji coba dimulai dari konektivitas port SmartCard-RFID Reader terhadap PC, Pembacaan reader terhadap tag/kartu serta jarak deteksi atau pembacaan Reader terhadap kartu, koneksi perangkat lunak terhadap database/Microsoft Access dan program aplikasi yang telah dibuat secara keseluruhan.
4.1 Pengujian Perangkat Keras
4.1.1. Pengujian koneksi antara RFID_Reader terhadap PC.
Sebelum melakukan pengujian software koneksi terlebih dahulu menghubungkan Port USB Reader terhadap Port USB PC, kemudian melakukan Instalasi driver reader yang sudah disiapkan dari vendornya, untuk melakukan koneksi dapat dilihat pada gambar berikut:
Gambar 4.1
Koneksi Port Reader RFID dengan Pc
Kemudian menjalankan program koneksi PortReader yang terdapat pada menu
Connection >> Koneksi Port Reader seperti
gambar berikut : Gambar 4.2
Form Menu Koneksi Port Reader
Menjalankan program koneksi port yang telah di buat sebelumnya, dengan memilih USB (USB1 sampai USB7) pada ListBox, kemudian dengan menekan tombol Connect.
Disampaikan Pada Seminar Nasional Industri dan Teknologi
Gambar 4.3
Form koneksi port Reader
Hasil dan Analisis
Pengujian ini akan berhasil ditandai dengan tampilnya pada ListText beberapa informasi diantaranya Port yang digunakan, driver yang digunakan dan jenis Reader dan versinya yang terlihat pada gambar berikut:
Gambar 4.4
Form Koneksi Port Reader Telah Berhasil
4.1.2.Pengujian Deteksi RFID Reader terhadap tag/kartu
Pada pengujian ini jenis kartu yang digunakan adalah MIFARE 1 Kbyte, yang bisa dideteksi secara contactless.
Gambar 4.5
Form Pengujian pembacaan kartu
Untuk melakukan pengujian ini yaitu dengan menekan tombol cek kartu pada form pengisian pulsa. Dan keberhasilan dari
pengujian ini yaitu dengan terisinya id_anggota dan type kartu pada TextBox seperti pada gambar diatas.
Hasil dan Analisis
Gambar 4.6
Pengujian komunikasi pembacaan kartu
Tag (label) secara fisik ditempelkan pada
kartu. Tag tersusun dari microchip yang berfungsi untuk menyimpan dan komputasi, yang disatukan dengan lilitan antena yang berfungsi untuk komunikasi. Telah dijelaskan sebelumnya bahwa tag ada yang memiliki sumber listrik sendiri dan ada yang tidak. Pada aplikasi ini yang digunakan yang tidak memiliki listrik sendiri, antenalah yang mengambil tenaga dari reader akan memodulasi medan magnet untuk berkomunikasi mengirim data ke reader. Data yang diterima reader akan diteruskan menuju
host komputer atau server database. Data
yang masuk pada host komputer akan diolah sesuai dengan program aplikasi yang ada di komputer.
4.2. Pengujian Perangkat Lunak
Adapun pungujian ini terdiri dari pengujian koneksi database Microsoft Access, Pengujian fungsi dari form anggota dan form barang, pengujian fungsi yang terdapat pada form pengisian pulsa dan form Penjualan.
4.2.1. Pengujian Koneksi Database
Untuk melakukan pengujian ini yaitu dengan mengambil Menu connection >> koneksi database seperti pada gambar berikut:
Disampaikan Pada Seminar Nasional Industri dan Teknologi
Gambar 4.7
Mmenu koneksi database
Hasil dan Analis
Sebelum mengakses atau memanggil form yang berhubungan database maka terdahulu harus melakukan koneksi database dengan memanggil rutin BukaDb, jika langkah ini tidak dilaksanakan maka pada saat mengakses database akan terdapat runtime error dan akan menyebabkan program akan berhenti, gambar berikut adalah salah satu eksekusi error terjadi Gambar 4.8
Contoh Error Pada Saat Runtime
Untuk menangani runtime error, di dalam kode program dibuatkan bagian khusus untuk menangani error yang terjadi. Bagian khusus ini diberi tKita berupa <label>. Agar setiap error yang terjadi dapat ditangani oleh bagian
khusus ini, pada awal kode program ditulis perintah berikut ini :
Selanjutnya untuk mengetahui informasi error apa yang terjadi, gunakan object Err. Object Err merupakan object built-in yang disediakan VB 6 untuk menangani error. Seperti halnya object yang dibuat dengan kontrol/komponen (misalnya TextBox), maka object Err juga mempunyai property dan method.
Property object Err yang penting diantaranya adalah property Number dan Description. Untuk mengetahui nomer error yang terjadi, gunakan property Number. Sedangkan untuk mengetahui deskripsi error yang terjadi, gunakan property Description.
Dengan menggunakan property Number, kita bisa menangani setiap error dengan cara yang berbeda. Misalnya : untuk setiap error yang terjadi akan dimunculkan kotak pesan dengan bahasa Indonesia.
Setelah error ditangani, kode program dapat dikembalikan ke bagian tertentu dengan perintah Resume. Ada 3 bentuk perintah Resume, yaitu :
o Resume – kembali ke kode program yang menimbulkan error. Biasanya digunakan untuk retry (mencoba lagi).
o Resume <label> – kembali ke bagian tertentu pada kode program yang diberi tKita <label>.
o Resume Next – kembali ke kode program berikutnya (kode program setelah kode program yang menimbulkan error). Biasanya digunakan untuk abort atau
cancel (mengabaikan atau membatalkan).
Berikut gambar MessageBox yang menyampaikan informasi error yang terjadi pada saat rutin mangakses database, sedangkan
Disampaikan Pada Seminar Nasional Industri dan Teknologi
perintah koneksi database nya belum dilaksanakan.
Gambar 4.9
Tampilan Pesan error
4.2.2 Pengujian Form Anggota
Pada form anggota terdapat tombol Tambah, Simpan, Update, Batal. Dimana tombol atau fungsi ini baru bisa digunakan setelah Reader mendeteksi kartu. Jika belum terdaftar sebelumnya maka baru fungsi penambahan dapat di gunakan dan jika sudah terterdaftar sebelumya maka fungsi update baru dapat dilakukan.
Gambar 4.10
Form Anggota Jika Kartu Tidak Ditemukan
Gambar 4.11
Form Anggota Jika Kartu Ditemukan Dan Sudah Terdaftar Sebelumnya
Berikutnya jika tap CARI DATA ANGGOTA dipilih, maka Tabel Anggota akan ditampilkan kemudian ada fungsi untuk mengurutkan data, Hapus Data dan Cari data yang dapat digunakan.
Gambar 4.12
Form Anggota Jika Pada Tab Cari Data Anggota
4.2.3 Pengujian form Pengisian Pulsa
Pada form anggota terdapat tombol Cek Kartu yang berfungsi untuk mengecek terlebih dahulu sebelum transaksi pembelian pulsa dilaksanakan dan tombol Load dimana berfungsi untuk mengisi/penambahan pulsa dan meng-update database. Sebelum menggunakan form ini terlebih dahulu harus mengkoneksi terlebih dahulu Port USB Reader-RFID dan koneksi ke database nya. Berikut gambar saat dilaksanakan perintah cek kartu sedangkan port Reader nya belum dikoneksi :
Gambar 4.13
Pesan Pada Form Pengisian_Pulsa Diamana Port Reader Belum Dikoneksi
Disampaikan Pada Seminar Nasional Industri dan Teknologi
Berikut gambar untuk proses transaksi pembelian pulsa dimana database akan di update / penambahan jumlah uang berdasarkan dari ComboBox jumlah pulsa dan log dari transaksi (nota) tersebut akan ditampilkan di listBox yang kemudian ada konfirmasi untuk menanyakan apakah nota tersebut perlu di cetak atau tidak.
Gambar 4.14.
Form Pengisian_pulsa dimana transaksi pengisian pulsa yang telah berhasil
Gambar 4.15
Contoh Hasil printout pada transaksi pengisian pulsa
Hasil dan analisa
Selain log (nota) tersebut ditampilkan di ListBox dan PrintOutnya, sebelumnya Data tersebut masih di dimpan di array yang kemudian baru dimasukkan ke database. Perintah yang digunakan memasukkan data ke Database menggunakan SQL, Pada aplikasi ini nama sub program nya InsertDataPulsa. Pada sub program InsertDataPulsa primary key nya dibuat secara otomatis dengan memanggil perintah buatKode, berikut potongan programnya :
4.2.4 Pengujian form Penjualan 4.2.4.a Pengujian filter angka
Pada form Penjualan terdapat Grid tabel dimana berfungsi untuk manmpilkan daftar menu untuk diplih, jika menu yang diinginkan tidak terdaftar pada tebel tersebut maka harga di inputkan secara manual (text_harga). Yang harus masuk kedalam text_harga tersebut harus berupa angka, jika selain itu maka akan timbol dialog informasi seperti berikut :
Gambar 4.16
Dialog Informasi Filter Angka
Analisa
Dalam Visual Basic untuk membuat agar isi masukan dari kotak TextBox harus berupa angka yaitu dengan mengetikan listing programnya pada kejadian keyPress, berikut kode nya :
B. Pengujian Tombol Undo
Fungsi Tombol_Undo pada form ini yaitu untuk membatalkan menu yang dipilih terakhir(yang terakhir tampil di ListBox). Serta menghapus data tersebut. Pada pengujian ini terlebih dahulu memilih menu pada tabel menu kemudian baru menekan Tombol_Undo berikut gambarnya :
Disampaikan Pada Seminar Nasional Industri dan Teknologi
Gambar 4.17
Tampilan ListBox sebelum Tombol_Undo ditekan
Gambar 4.18
Tampilan ListBox setelah Tombol_Undo ditekan
Analisa
Pada saat memilih daftar_menu kemudian akan ditampilkan di ListBox, pada proses ini data tersebut masih disimpan di Array. Yang kemudian baru dipindahkan ke Database pada saat menekan tombol Load. Karena data tersebut masih di simpan di Array, dengan menekan Tombol_Undo maka data Array index terakhir dihapus (di kosongkan), berikut potongan programnya :
C. Pengujian Tombol Load
Fungsi Tombol_Load pada form ini yaitu untuk memasukkan data yang telah dipilih tersebut ke dalam Database untuk disimpan secara permanent. Sebelum disimpan kedalam Database, total harga dijumlahkan terlebih dahulu kemudian dibandingkan dengan pulsa Pelanggan, jika total harga lebih besar dari pulsa yang dimiliki pelanggan maka transaksi gagal dilakukan dan akan tampil dialog seperti gambar berikut:
Gambar 4.19
Transaksi penjualan gagal dilaksanakan
Berikut gambar untuk proses transaksi Penjualan dimana database akan di update / pengurangan jumlah uang berdasarkan dari total harga dan log dari transaksi (nota) tersebut akan ditampilkan di listBox yang kemudian ada konfirmasi untuk menanyakan apakah nota tersebut perlu di cetak atau tidak. Gambar 4.19
Transaksi penjualan berhasil dilaksanakan
Disampaikan Pada Seminar Nasional Industri dan Teknologi
Gambar 4.20
Nota transaksi penjualan
Analisa
Agar data yang ingin dimasukkan ke Database tidak terdapat redudansi, maka sebelum disimpan ke database terlebih dahulu data tersebut di filter, berikut potongan programnya :
5. KESIMPULAN
[a] SmartCard yang terhubung secara contactless lebih efektif dan lebih efesien dibandingkan SmartCard yang terhubung secara kontak langsung
[b] Semakin Besarnya kapasitas memory yang dimiliki kartu maka semakin banyak pula aplikasi yang dapat digunakan dalam satu kartu
[c] Dua Alternatif jika Smart Card dapat digunakan di berbagai tempat yang pertama yaitu dengan membuat database secara online, yang kedua yaitu dengan menggunakan kartu yang rewriteble / pragramable dimana semua informasi disimpan di memory kartu.
DAFTAR PUSTAKA
Bunafit Nugroho, Aplikasi Multimedia Dengan
VisualBasic 6.0, Elex Media Komputindo,
Jakarta, Juli 2007
Jaja Jamalusdin Malik, Kumpulan Tip dan Trik
Pemrograman Visual Basic 6.0 , Andi
Yogyakarta, Januari 2006
MADCOM dan Penerbit Andi, Aplikasi
Database Visual Basic 6.0 dengan Cristal Report, Yogyakarta, Mei 2003
Advanced Digital Reader Technology (2004). ‘ID Series Data Sheet, Low Cost Short-Range Proximity Reader, ID0/ID-10/ID-15 MK(ii) Series’
Smart Card Dan Security Basics,
http://www.cardLogic.com
Disampaikan Pada Seminar Nasional Industri dan Teknologi