BAB III PERANCANGAN SISTEM Pada bab ini akan dijelaskan perancangan modul e-stnk serta penerapannya pada sistem parkir yang menggunakan komunikasi socket sebagai media komunikasi sistem. Perancangan terdiri dari perancangan perangkat keras dan perancangan perangkat lunak. 3.1. Gambaran Sistem Gambar 3.1. Blok diagram keseluruhan sistem yang dirancang. Gambar 3.1 menunjukkan blok diagram keseluruhan sistem yang dirancang, secara umum sistem yang dirancang terdiri dari beberapa bagian utama yaitu modul e- STNK, aplikasi desktop server, dan aplikasi TCP server. Berikut penjelasan dari blok diagram di atas : 1. Kartu tag RFID pada aplikasi ini berisi data hash nomor polisi kendaraan. 2. Pengguna melakukan pengecekan verifikasi data yang tersimpan pada kartu 20
tag RFID dengan menggunakan modul e-stnk. 3. Modul e-stnk membaca data dari tag RFID kemudian melakukan autentifikasi ke server dengan menggunakan modul GSM/GPRS dengan metode soket TCP/IP. 4. Server sistem e-stnk ini berupa sebuah aplikasi socket server console yang menangani komunikasi socket antara modul e-stnk dan server. Setelah menerima permintaan autentifikasi dari modul e-stnk, maka akan dilakukan pengecekan data ke basis data, apakah nomor STNK itu teregistrasi atau tidak, kemudian mengembalikan informasi tersebut ke modul e-stnk. 5. Admin bertugas untuk meregistrasikan data nomor polisi kendaraan ke kartu tag RFID dan data pendukung lainnya ke dalam basis data. Untuk antarmuka admin, disediakan aplikasi desktop untuk mengolah data pada basis data e- STNK serta melakukan penulisan data ke tag RFID. 3.2. Perancangan Perangkat Keras Pada bagian ini akan dijelaskan mengenai perancangan hingga perealisasian perangkat keras sistem. Perancangan perangkat keras meliputi perancangan pada modul e-stnk yang terdiri dari beberapa bagian serta mikrokontroler ATMega2560 sebagai pengendali utama. Mikrokontroler tersebut terhubung dengan beberapa modul yaitu modul RFID MFRC522, modul GSM/GPRS SIM908, modul LCD keypad shield, serta buzzer. Gambar 3.2. Blok diagram perangkat keras modul e-stnk Gambar 3.2 menunjukkan blok diagram perancangan modul e-stnk. Berikut penjelasan dari masing masing modul. 21
3.2.1. RFID MFRC522 RFID MFRC522 merupakan sensor utama dari modul e-stnk yang digunakan untuk membaca dan menulis data ke kartu tag. RFID ini bekerja pada frekuensi 13,56 MHz, berkomunikasi melalui protokol SPI dengan mikrokontroler, serta memiliki jarak pembacaan kartu maksimal adalah 5 cm. Kartu tag yang digunakan adalah kartu tag jenis mifare ISO 14443A dengan kapasitas 1KB. Gambar 3.2 menunjukkan sensor RFID dan kartu tag yang digunakan. Gambar 3.2. Sensor MFRC522 dan kartu tag mifare ISO 14443A Konfigurasi pin sensor MFRC522 dengan ATMega 2560 ditunjukkan oleh Tabel 3.1 sebagai berikut : Tabel 3.1. Konfigurasi Pin RFID MFRC522 dengan ATMega 2560 Pin RFID MFRC522 Pin ATMega 2560 1 3.3V 2 PD49 3 GND 4 NC 5 PD50 (MISO) 6 PD51 (MOSI) 7 PD52 (SCK) 8 PD53 (SS) 3.2.2. Modul GSM/GPRS SIM908 SIM908 digunakan untuk berkomunikasi dengan aplikasi TCP server melalui GPRS. Modul SIM908 ini memiliki dua rangkaian utama yang dibutuhkan untuk mendukung modul agar dapat bekerja yaitu antarmuka kartu SIM dan catu daya. Kedua rangkaian ini bersama dengan modul SIM908 disatukan pada sebuah stamp dengan tujuan memudahkan dalam penggunaan modul. Catu daya menggunakan baterai lithium ion 3,7 volt 1000 mah. 22
SIM908 memiliki pin power key yang berguna untuk mengaktifkan dan menonaktifkan kerja modul serta pin status key yang berguna sebagai indikator apakah modul sedang hidup atau mati. Cara mengaktifkan modul SIM908 adalah dengan memberikan level tegangan low selama 1 detik pada pin power key kemudian diberikan level tegangan high. Modul SIM908 aktif ditandai dengan pin status yang berlogika high. Timing diagram dari proses pengaktifkan modul SIM908 dapat dilihat pada Gambar 3.3. Skema ini digunakan oleh mikrokontroler pada saat inisialisasi dan reset modul 908. Gambar 3.3. Timing diagram proses pengaktifan modul SIM908 [5] SIM908 dikendalikan oleh mikrokontroler dengan komunikasi serial. Pin konfigurasi dari modul SIM908 dengan mikrokontroler dapat dilihat pada Gambar 3.4. Gambar 3.4. Konfigurasi pin modul SIM908 dengan mikrokontroler. 3.2.3. Modul LCD Keypad Shield Sebagai penampil informasi serta antarmuka keypad pada modul e-stnk, digunakan modul LCD Keypad Shield dari DFRobot. Modul ini terdiri dari sebuah LCD 23
karakter 2x16 dan antarmuka keypad yang terdiri atas 6 buah tombol. LCD karakter tersebut mendukung 4 bit mode data dan digunakan untuk menampilkan menu serta informasi dari berbagai proses yang dilakukan oleh modul e-stnk. Tombol yang digunakan hanya 4 buah, yaitu UP untuk memilih menu ke atas, DOWN untuk memilih menu ke bawah, SELECT untuk memasuki menu yang dipilih, serta LEFT yang digunakan untuk kembali ke menu utama. Gambar 3.5 menunjukkan gambar modul LCD Keypad Shield, sedangkan Tabel 3.2 menunjukkan konfigurasi pin yang terhubung dengan mikrokontroler. Gambar 3.5 Modul LCD keypad shield [9] Tabel 3.2. Konfigurasi Pin LCD Keypad Shield dengan ATMega 2560 LCD Keypad Shield Pin ATMega 2560 Tombol (SELECT, UP, RIGHT, Analog 0 DOWN, LEFT) DB4 Digital 4 DB5 Digital 5 DB6 Digital 6 DB7 Digital 7 RS (Data or Signal Display Selection) Digital 8 Enable Digital 9 Backlit Control Digital 10 3.2.4. Buzzer Buzzer digunakan sebagai bunyi penanda saat suatu proses (baca, tulis, atau verifikasi) telah selesai dilakukan oleh modul e-stnk. Rangkaian buzzer menggunakan transistor NPN C828A yang digunakan sebagai saklar. Kaki basis transistor terhubung 24
dengan resistor 330 ohm yang disambung ke pin digital 44 dari mikrokontroler. Rangkaian buzzer dapat dilihat pada Gambar 3.6. Gambar 3.6. Skematik rangkaian buzzer 3.3. Perancangan Perangkat Lunak Pada bagian ini akan dijelaskan mengenai perancangan perangkat lunak sistem. Gambaran umum perangkat lunak pada sistem ini dapat dilihat pada Gambar 3.7. Gambar 3.7. Gambaran umum perangkat lunak pada sistem e-stnk Perancangan perangkat lunak meliputi perangkat lunak pada mikrokontroler, basis data, aplikasi TCP server, aplikasi desktop server, serta komunikasi GPRS. 3.3.1. Perangkat lunak pada mikrokontroler Mikrokontroler digunakan sebagai pengendali utama dari modul e-stnk. Perangkat lunak tersebut mengakomodasi setiap tugas tugas dari modul e-stnk. Gambar 3.8 memperlihatkan garis besar jalannya program perangkat lunak pada mikrokontroler. 25
Gambar 3.8. Aliran proses perangkat lunak pada modul e-stnk Berikut adalah penjelasan dari diagram alir pada gambar di atas : Saat modul e-stnk dihidupkan, pertama kali akan dilakukan inisialisasi serial, inisialisasi LCD, inisialisasi RFID, serta inisialisasi modul GSM/GPRS. Setelah melakukan inisialisasi, maka akan mencoba berhubungan dengan server melalui komunikasi socket kemudian masuk ke menu utama dari 26
modul e-stnk. Terdapat 2 menu utama yaitu menu Sistem Parkir dan Komputer. Jika memilih menu sistem parkir, maka modul e-stnk akan menunggu kartu tag RFID didekatkan ke antena RFID. Setelah didekatkan, modul e- STNK akan membaca nomor serial kartu tag serta data hash nomor polisi kendaraan yang tersimpan di dalam kartu tag. Kemudian modul e-stnk akan mengirimkan paket data ke aplikasi console TCP server untuk melakukan verifikasi, kemudian menampilkan balasan dari aplikasi TCP server ke tampilan LCD. Bentuk paket datanya adalah sebagai berikut : 32-byte data hash # n-byte nomor serial tag Balasan yang mungkin diterima dari aplikasi TCP server adalah : - Blank Card jika kartu tag kosong / tidak ada datanya. - String nomor polisi kendaraan apabila teregistrasi dan data ditemukan didalam database. - INVALID apabila terjadi error / paket data terganggu sehingga terjadi masalah parsing paket data - UNREGISTERED jika data yang dicari tidak ada. Contoh paket data yang dikirimkan saat melakukan verifikasi serta balasan dari aplikasi TCP server ditunjukkan oleh Gambar 3.9. Gambar 3.9. Contoh paket data verifikasi nomor STNK serta balasan dari aplikasi TCP server. Jika pengguna memilih mode komputer, maka modul e-stnk harus disambungkan ke komputer yang menjalankan aplikasi desktop server melalui USB. Setelah tersambung dengan komputer, modul e-stnk akan menunggu perintah dari aplikasi desktop server. Jika saat menunggu perintah terjadi interupsi oleh pengguna dengan menekan tombol BACK pada modul e- 27
STNK, maka akan keluar dari menu mode komputer dan kembali ke menu utama. Jika aplikasi desktop server mengirimkan perintah untuk membaca data kartu tag, yaitu dengan mengirimkan command R1# melalui serial, maka modul e-stnk akan melakukan pembacaan data pada kartu. Modul e-stnk menunggu kartu tag didekatkan, kemudian membaca datanya lalu data tersebut dikirimkan ke aplikasi desktop server melalui serial. Jika aplikasi desktop server mengirimkan perintah untuk menulis data ke kartu tag, yaitu dengan mengirimkan command W1# melalui serial, maka modul e-stnk akan menerima data yang akan dituliskan ke kartu tag melalui serial, kemudian menunggu kartu tag didekatkan ke antena RFID, lalu melakukan penulisan data ke kartu tag. Setelah itu, modul e-stnk akan mengirimkan ACK ke aplikasi desktop server melalui serial sebagai tanda bahwa penulisan data telah selesai dilakukan. 3.3.2. Basis data Basis data merupakan pusat penyimpanan data pada sistem e-stnk ini. Data yang disimpan pada basis data ini adalah data mahasiswa, data karyawan, data daftar fakultas, data jenis jabatan, data STNK, data registrasi e-stnk, serta data parkir. Entity Relationship Diagram (ERD) dapat dilihat pada Gambar 3.10. Penjelasan masingmasing tabel dalam ERD pada Gambar 3.10 adalah sebagai berikut : a) Tabel Fakultas Tabel ini berisi nama nama fakultas beserta kode fakultas yang digunakan. b) Tabel Jabatan Tabel ini berisi nama jabatan dari karyawan. c) Tabel Karyawan Tabel ini berisi data pribadi karyawan yang meliputi NIP, nama, alamat asal, alamat tinggal, tempat dan tanggal lahir, nomor telepon, fakultas, serta jabatan. d) Tabel Mahasiswa Tabel ini berisi data pribadi mahasiswa yang meliputi NIM, nama, alamat asal, alamat tinggal, tempat dan tanggal lahir, nomor telepon, fakultas, serta angkatan. e) Tabel JenisKendaraan 28
Tabel ini berisi nama jenis kendaraan yang terdapat pada STNK. f) Tabel STNK Tabel ini berisi data data yang terdapat pada STNK seperti nomor polisi, nama pemilik, alamat, merk, jenis kendaraan, tahun pembuatan, serta data-data lainnya sesuai dengan STNK. g) Tabel Registrasi Tabel ini berisi data registrasi e-stnk. Ketika mahasiswa / karyawan meregistrasikan STNK nya, maka data registrasi akan disimpan di tabel ini. Di tabel ini ada satu kolom bernama IsMahasiswa yang menandai registrasi dilakukan oleh mahasiswa atau karyawan. Jika IsMahasiswa bernilai 0, maka registrasi dilakukan oleh karyawan, sedangkan jika bernilai 1 maka registrasi dilakukan oleh mahasiswa. h) Tabel ParkirOut Tabel ini berisi data parkir yang diperoleh dari modul e-stnk. Informasi yang disimpan berupa tanggal dan waktu parkir keluar. i) Tabel Pengguna Tabel pengguna berisi data pengguna yang bisa mengakses aplikasi desktop server e-stnk. Informasi yang disimpan di tabel ini adalah nama pengguna serta password yang digunakan untuk masuk ke aplikasi. j) Tabel LogHistory Tabel ini berisi history dari aktivitas pengguna. Ketika pengguna menambah atau mengubah atau menghapus data dari basis data, maka datanya akan dicatat pada tabel LogHistory ini. Pada basis data server cadangan, ditambahkan fitur replikasi transactional. Berikut adalah langkah langkah yang dilakukan dalam menambahkan fitur ini : Membuat VPN untuk server utama dan server cadangan dengan menggunakan software LogMeIn Hamachi. Mengkonfigurasi publisher pada basis data server cadangan. Mengkonfigurasi distribution database pada server cadangan. Mengkonfigurasi subscriber pada basis data server utama. Untuk panduan konfigurasi fitur replikasi basis data lebih lengkapnya bisa dilihat pada Lampiran A. 29
Gambar 3.10. ERD basis data e-stnk 30
3.3.3. Aplikasi TCP server Aplikasi TCP server merupakan jembatan penghubung antara modul e-stnk dengan basis data yang terdapat di server. Berikut adalah fungsi dari aplikasi TCP server yang dibuat : 1. Menerima koneksi dari modul e-stnk dengan metode komunikasi socket. 2. Menerima paket data verifikasi dari modul e-stnk. 3. Memisahkan paket data yang diterima dari modul e-stnk. 4. Melakukan pengecekan ke dalam basis data apakah nomor polisi kendaraan teregistrasi atau tidak. 5. Melakukan verifikasi data hash nomor polisi kendaraan dari modul e-stnk apakah valid atau tidak. 6. Memberi balasan hasil verifikasi ke modul e-stnk. Diagram alir jalannya aplikasi TCP server dapat dilihat pada Gambar 3.11. Gambar 3.11. Diagram alir jalannya aplikasi TCP server 31
3.3.4. Aplikasi Desktop Server Aplikasi desktop server e-stnk merupakan aplikasi back end pada sistem e- STNK yang memiliki fungsi sebagai berikut : 1. Menambah, mengubah, dan menghapus data karyawan, mahasiswa, dan fakultas serta menyimpannya ke dalam basis data; 2. Menambah, mengubah, dan menghapus data registrasi e-stnk serta menyimpannya ke dalam basis data; 3. Menulis data hash nomor polisi kendaraan ke kartu tag RFID dengan menggunakan bantuan modul e-stnk; 4. Membaca data hash nomor polisi kendaraan kartu tag RFID dengan menggunakan bantuan modul e-stnk; 5. Menampilkan data parkir sesuai dengan batasan waktu yang dipilih dalam bentuk tabel dan grafik. Diagram alir jalannya proses registrasi pada aplikasi desktop server ini dapat dilihat pada Gambar 3.12 serta diagram alir proses baca tulis data kartu tag pada aplikasi desktop server dapat dilihat pada Gambar 3.13. Gambar 3.12. Aliran proses registrasi pada aplikasi desktop server e-stnk 32
Gambar 3.13. Aliran proses baca tulis data kartu tag pada aplikasi desktop e-stnk dengan bantuan modul e-stnk 3.3.5. Komunikasi GPRS Untuk berkomunikasi dengan modul SIM908, maka digunakan perintah perintah ATCommand yang dikirim dengan menggunakan komunikasi serial. Fungsi utama yang digunakan dari modul ini adalah kemampuannya untuk melakukan komunikasi GPRS. Kemampuan ini dimanfaatkan oleh modul e-stnk untuk menjalin komunikasi dengan aplikasi TCP server dengan metode komunikasi socket. Aliran perancangan perangkat lunak komunikasi GPRS dapat dilihat pada Gambar 3.14. 33
Gambar 3.14. Aliran proses komunikasi GPRS pada modul SIM908 34