sistem keamanan portal perumahan berbasis rfid - … · kerja motor servo berdasarkan pengujian...
TRANSCRIPT
LAPORAN TUGAS AKHIR
SISTEM KEAMANAN PORTAL PERUMAHAN
BERBASIS RFID
Disusun Oleh:
Eleonora Anggi Ardaninggar
125114023
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
FINAL PROJECT REPORT
HOUSING PORTAL SECURITY SYSTEM
BASED ON RFID
By:
Eleonora Anggi Ardaninggar
125114023
DEPARTMENT OF ELECTRICAL ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
“ Segala sesuatu yang kamu kehendaki
supaya orang perbuat kepadamu,
perbuatlah demikian juga kepada mereka.”
– Matius 7:12.
“Lakukan segala sesuatu dari hati, karena
ketulusan akan selalu berbuah baik.”
Karya ini kupersembahkan untuk.....
Tuhan Yesus Kristus, Tuhan dan Penyelamatku
Bunda Maria, Ibuku yang baik hati
Mama dan Papa tercinta, untuk doa, waktu, dan dukungannya yang selalu
diberikan
Almamaterku Universitas Sanata Dharma, yang sudah memberikan banyak
pengalaman dan kesempatan untuk mengembangkan potensi diri
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
INTISARI
Penelitian ini mengembangkan teknologi RFID untuk security system yakni
membuat sistem keamanan suatu perumahan yang minim kesalahan dan juga lebih ketat
dari sekedar pengamanan yang dilakukan oleh satpam. Dengan memanfaatkan teknologi
RFID ditambah dengan sistem penyimpanan database, diharapkan penelitian ini akan
menghasilkan suatu alat prototype berupa portal otomatis yang di pasang pada maket
perumahan dan diuji dengan menggunakan mobil RC untuk mewakili mobil aslinya.
Prototype sistem keamanan portal perumahan berbasis RFID di buat dengan
menggunakan 4 buah RFID reader yakni masing-masing 2 buah RFID ID-12 dan 2 buah
RFID SL018, menggunakan 2 buah motor servo untuk menggerakkan palang portal serta
menggunakan 2 buah rangkaian sensor photodiode untuk mendeteksi ada atau tidaknya
mobil yang melewati portal dengan menggunakan kepekaan cahaya sensor.
Berdasarkan pengujian, penelitian ini menghasilkan prototype alat sistem keamanan
portal perumahan berbasis RFID walaupun sistem tidak stabil, menggunakan 2 jenis RFID
berdasarkan jarak bacanya yakni RFID ID-12 dan RFID SL018 dimana jarak baca RFID
ID-12 hanya ±3cm tegak lurus dari antena, dan jarak baca RFID SL018 ±1cm dari antena.
Kerja motor servo berdasarkan pengujian pulsa yang diberikan dan sudut yang dihasilkan
adalah berbanding terbalik, sensor photodioda yang digunakan juga memberikan hasil
deteksi yang baik, dan sistem database yang dibuat sudah menyediakan fasilitas
menyimpan, menambah, mengubah dan menghapus data yang dimasukkan oleh petugas.
Kata Kunci: Sistem Keamanan Portal, RFID, Database, Sensor Photodioda, Servo.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
This research develop RFID technology to make a housing portal security system
that errorless and more secure than safekeeping by the security guard. With harness RFID
technology added with database system, expected that this research will bear a housing
portal prototype and tested with remote control car to represent real car.
Prototype of housing portal security system based on RFID made with 4 RFID
readers which is consist two types of readers each 2 RFID ID-12 and 2 RFID SL018, use 2
servo motors to move the portal and also use 2 photodiode sensors to detect the car with
light sensors.
Based on testing, this research develop the prototype of housing portal security
system based on RFID although unstable, use two kind of RFID reader posit their length
ability to detect the tag that are RFID ID-12 and RFID SL018 whre the length detection of
RFID ID-12 only ±3 cm and length detection of RFID SL018 about ±1cm from the
anntena. Servo works opposite with the pulse that give and the degree that resulted, the
photodiode sensor results a good length of detection, and the database system that made
have a feature to add, save, change, and delete data that inputed by the user.
Keywords: Portal Security System, RFID, Database, Photodiode Sensor, Servo.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji syukur saya haturkan kepada Tuhan Yesus Kristus dan Bunda Maria yang
telah melimpahkan berkat-Nya. Sehingga saya dapat menyelesaikan Laporan Tugas Akhir
ini.
Pada kesempatan ini saya ingin mengucapkan terima kasih kepada pihak – pihak
yang telah membantu saya dalam menyelesaikan skripsi ini, baik dalam hal bimbingan,
perhatian, kasih sayang, semangat, kritik, dan saran yang telah diberikan. Ucapan terima
kasih ini saya sampaikan antara lain kepada :
1. Bapak Sudi Mungkasi, S.Si., M. Math. Sc., Ph.D., selaku Dekan Fakultas Sains dan
Teknologi Universitas Sanata Dharma Yogyakarta.
2. Bapak Petrus Setyo Prabowo, S.T., M.T., selaku Ketua Jurusan Teknik Elektro
Universitas Sanata Dharma.
3. Bapak Ir. Tjendro, M.Kom, selaku Dosen Pembimbing Akademik Teknik Elektro
angkatan 2012 dan Pembimbing Tugas Akhir. Terima kasih untuk semua
bimbingan yang telah diberikan dengan kesabaran sehingga saya dapat
menyelesaikan Tugas Akhir ini.
4. Mama, Papa, Edgar, terima kasih atas waktu, dukungan, kasih sayang dan semangat
yang tiada henti sehingga saya dapat menyelesaikan Tugas Akhir ini.
5. Kak Paulus Alexander Eldwin Pradana (Kak Alex), kakak angkatan tahun 2011
yang telah membantu, mengoreksi program dan juga memberi masukan kepada
saya selama mengerjakan Tugas Akhir ini.
6. Bapak Subroto, Bapak Mardi, dan Bapak Suryono laboran-laboran laboratorium
Teknik Elektro yang selalu membantu untuk melancarkan saya dan teman-teman
2012 dalam pengerjaan Tugas Akhir.
7. Teman-teman penghuni ruang TA dan Teknik Elektro angkatan 2012 yang selalu
mendukung, mendengarkan curahan hati, menemani, menghibur, dan membantu
saya dalam mengerjakan Tugas Akhir.
8. Teman-teman ex-kepanitiaan (Tia, Cik Novi, Ocka, Happy, Mbah, Vian, Yosua,
Monic, dkk.) dan teman-teman lain yang sering menemani dan membantu saya
mengerjakan skripsi di perpustakaan, kos, dan tempat nongkrong. Terkhusus Vian
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
DAFTAR ISI
HALAMAN JUDUL ...................................................................................................... i
HALAMAN PERSETUJUAN ...................................................................................... iii
HALAMAN PENGESAHAN ....................................................................................... iv
PERNYATAAN KEASLIAN KARYA ........................................................................ v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ............................................ vi
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI KARYA .................. vii
INTISARI ....................................................................................................................... viii
ABSTRACT ................................................................................................................... ix
KATA PENGANTAR ................................................................................................... x
DAFTAR ISI .................................................................................................................. xii
DAFTAR TABEL .......................................................................................................... xiii
DAFTAR GAMBAR ..................................................................................................... xiv
BAB I PENDAHULUAN
1.1. Latar Belakang ...................................................................................................... 1
1.2. Tujuan dan Manfaat Penelitian ............................................................................. 2
1.3. Batasan Masalah .................................................................................................... 2
1.4. Metode Penelitian .................................................................................................. 3
BAB II LANDASAN TEORI
2.1. RFID (Radio Frequency Identification ................................................................ 5
2.1.1. Tag RFID ..................................................................................................... 6
2.1.2. Jenis Tag RFID ............................................................................................ 6
2.1.3. Tipe Memori Tag ......................................................................................... 8
2.1.4. Reader RFID ................................................................................................ 9
2.2. RFID ID-20 .......................................................................................................... 9
2.3. RFID SL018 ......................................................................................................... 10
2.4. MySQL ................................................................................................................ 11
2.5. Microsoft Visual Basic 6.0 .................................................................................. 11
2.6. Mikrokontroler AVR ATMega32 ........................................................................ 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
2.6.1. Arsitekstur AVT ATMega32 ....................................................................... 13
2.6.2. Konfigurasi Pin ATMega32 ......................................................................... 13
2.6.3. Organisasi Memori ....................................................................................... 14
2.6.3.1. Memori Program .................................................................................. 14
2.6.3.2. Memori Data ......................................................................................... 15
2.6.4. Timer/Counter .............................................................................................. 15
2.6.4.1. Timer/Counter0 .................................................................................... 15
2.6.4.2. Mode Operasi ....................................................................................... 16
2.6.5. Komunikasi Serial USART ..................................................................... 18
2.7. Sensor Photodiode ............................................................................................. 22
2.8. LED Infrared ..................................................................................................... 23
2.9. Motor Servo ....................................................................................................... 24
BAB III RANCANGAN PENELITIAN
3.1. Model Sistem ..................................................................................................... 26
3.2. Spesifikasi Prototype Perangkat Keras ............................................................. 27
3.3. Perancangan Perangkat keras ............................................................................ 28
3.3.1. Perancangan Modul RFID Reader ID-20 dan SL018 .................................. 29
3.3.2. Motor Servo ................................................................................................. 30
3.3.3. Sensor Photodiode ........................................................................................ 30
3.4. Peracangan Perangkat Lunak ............................................................................ 31
3.4.1. Perancangan Pengidentifikasian Tag RFID ................................................. 31
3.4.2. Perancangan Database .................................................................................. 32
3.4.3. Perancangan Mikrokontroler ........................................................................ 34
3.4.4. Perancangan User Interface Menggunakan Visual Basic 6.0 ...................... 35
BAB IV HASIL DAN PEMBAHASAN
4.1. Hasil Perancangan dan Sistem Kerja Keseluruhan Sistem ............................... 38
4.2. Hasil Perancangan Perangkat Keras .................................................................. 39
4.2.1. Pengaturan Sudut Motor Servo .................................................................... 40
4.2.2. Pengaturan Jarak Kerja Sensor Photodioda ................................................. 42
4.3. Hasil Perancangan Perangkat Lunak ................................................................. 44
4.3.1. Hasil Pemrograman Mikrokontroler ............................................................ 44
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
4.3.1.1. Pembacaan Tag RFID .......................................................................... 45
4.3.1.2. Pengendalian Motor Servo ................................................................... 48
4.3.1.3. Komunikasi Serial Dua Arah Mikrokontroler dan Komputer .............. 49
4.3.1.4. Subrutin Program Utama ...................................................................... 49
4.3.2. Hasil Perancangan Aplikasi di Komputer .................................................... 51
4.3.2.1. Perancangan Sistem Database .............................................................. 51
4.3.2.2. Halaman Login Aplikasi ...................................................................... 53
4.3.2.3. Halaman Perekaman Aktivitas Keluar dan Masuk Kendaraan ............ 55
4.3.2.4. Halaman Pendaftaran ........................................................................... 57
4.3.2.5. Halaman Yang Menampilkan Data Pemilik, Tamu dan Satpam .......... 58
4.3.2.6. Pencetakan Laporan dari Aplikasi ........................................................ 62
4.3.2.7. Konektivitas Aplikasi Dengan Database .............................................. 63
BAB V KESIMPULAN DAN SARAN
5.1. Kesimpulan ........................................................................................................ 66
5.2. Saran .................................................................................................................. 66
Daftar Pustaka ............................................................................................................... 67
Lampiran ………………………………………………………………………… L1 - L49
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
DAFTAR TABEL
Tabel 2.1. Karakteristik RFID ID-20 .............................................................................. 10
Tabel 2.2. Penentuan Ukuran Karakter ........................................................................... 21
Tabel 3.1. Perhitungan Nilai OCR ................................................................................... 30
Tabel 4.1. Perhitungan Error Lebar Pulsa Motor Servo Standar .................................... 40
Tabel 4.2. Hasil Pengujian Motor Servo Dengan Pulsa ................................................... 41
Tabel 4.3. Hasil Pengujian Sensor Photodioda 1 ............................................................ 43
Tabel 4.4. Tabel Hasil Pengujian Sensor Photodioda 2 .................................................. 43
Tabel 4.5. Hasil Pengujian Jarak Deteksi RFID Reader ID-12 ....................................... 46
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
DAFTAR GAMBAR
Gambar 2.1. Komponen sistem RFID ............................................................................. 5
Gambar 2.2. Tag RFID .................................................................................................... 6
Gambar 2.3. Komponen Tag Pasif .................................................................................. 7
Gambar 2.4. Komponen Tag Semi Pasif ......................................................................... 8
Gambar 2.5. Komponen Tag Aktif .................................................................................. 8
Gambar 2.6. RFID ID-20 ................................................................................................. 10
Gambar 2.7. RFID SL018 ............................................................................................... 10
Gambar 2.8 Konfigurasi Pin Mikrokontroler ATMega32 ............................................... 13
Gambar 2.9. Peta Memori Flash Mikrokontroler ATMega32 ........................................ 15
Gambar 2.10. Peta Memori Data Mikrokontroler ATMega32 ........................................ 15
Gambar 2.11. Mode Phase Correct PWM ...................................................................... 17
Gambar 2.12. Mode Fast PWM ...................................................................................... 17
Gambar 2.13. Register UDR ........................................................................................... 18
Gambar 2.14. Register UCSRA ....................................................................................... 19
Gambar 2.20. Register UCSRB ....................................................................................... 20
Gambar 2.21. Register UCSRC ....................................................................................... 21
Gambar 2.22. Simbol Sensor Photodiode ....................................................................... 22
Gambar 2.23. Rangkaian Sensor Photodiode .................................................................. 23
Gambar 2.24. Bentuk Fisik Motor Servo ........................................................................ 24
Gambar 3.1. Diagram Blok Perancangan Sistem Keamanan Portal Perumahan ............. 26
Gambar 3.2. Dimensi Prototype Mobil ........................................................................... 27
Gambar 3.3. Perancangan Portal Tampak Atas ............................................................... 27
Gambar 3.4. Perancangan Portal Tampak Depan ............................................................ 28
Gambar 3.5. Rangkaian Lengkap Sistem Keamanan Portal Perumahan ......................... 28
Gambar 3.6. Diagram Rangkaian Modul RFID Reader .................................................. 29
Gambar 3.7. Perancangan 4 buah RFID reader dengan mikrokontroler ......................... 29
Gambar 3.8. Lebar Pulsa Motor Servo ............................................................................ 30
Gambar 3.9. Rangakaian Sensor Photodiode .................................................................. 31
Gambar 3.10. Perancangan Perangkat Lunak Identifikasi RFID .................................... 32
Gambar 3.11. Perancangan Perangkat Lunak DatabaseI ................................................ 34
Gambar 3.12. Perancangan Perangkat Lunak Mikrokontroler ........................................ 35
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
Gambar 3.13. Halaman Login Untuk Mengakses Halaman Aktivitas ............................ 36
Gambar 3.14. Tampilan Halaman Aktivitas .................................................................... 36
Gambar 3.15. Diagram Alir Halaman Login ................................................................... 36
Gambar 3.16. Perancangan Perangkat Lunak Visual Basic 6.0 ...................................... 37
Gambar 3.17. Halaman Pendaftaran Tamu Komplek Perumahan....................................... 37
Gambar 4.1. Prototype Pos Satpam .................................................................................... 38
Gambar 4.2. Prototype Kotak Palang/Portal ...................................................................... 38
Gambar 4.3. Mobil Mendekati RFID Reader ...................................................................... 39
Gambar 4.4. Tag RFID Terdeteksi ..................................................................................... 39
Gambar 4.5. Portal Terbuka Sesaat Tag RFID Terdeteksi .................................................. 39
Gambar 4.6. Sudut 20° ....................................................................................................... 40
Gambar 4.7. Sudut 40° ....................................................................................................... 40
Gambar 4.8. Sudut 60° ....................................................................................................... 40
Gambar 4.9. Grafik Linearitas Sudut Terhadap Pulsa ........................................................ 41
Gambar 4.10. Rangkaian Sensor Photodioda ..................................................................... 42
Gambar 4.11. Pengujian Sensor ......................................................................................... 42
Gambar 4.12. Kondisi Awal Sensor ................................................................................... 42
Gambar 4.13. Kondisi Sensor Saat Diberi Penghalang ...................................................... 44
Gambar 4.14. Listing Program Pembacaan Tag untuk RFID Reader ID-12 ...................... 45
Gambar 4.15. Hasil Pembacaan Tag untuk RFID Reader ID-12 ....................................... 46
Gambar 4.16. Listing Program Pembacaan Tag Untuk RFID Reader SL018 .................... 47
Gambar 4.17. Hasil Pembacaan Tag Untuk RFID Reader SL018 ..................................... 47
Gambar 4.18. Listing Program Pengendali Motor Servo ................................................... 48
Gambar 4.19. Listing Program Komunikasi Serial Komputer-Mikro ................................ 49
Gambar 4.20. Listing Program Utama ................................................................................ 50
Gambar 4.21. Listing Program Membuat Suatu Database .................................................. 52
Gambar 4.22. Query Untuk Membuat Sebuah Tabel ......................................................... 52
Gambar 4.23. Hasil Perancangan Tabel Dalam Database ................................................. 52
Gambar 4.24. ER-Diagram Perancangan Database ........................................................... 53
Gambar 4.25. Listing Program Halaman Login ................................................................. 54
Gambar 4.26. Hasil Pengujian Halaman Login .................................................................. 54
Gambar 4.27. Listing Program Komunikasi Serial Pada Aplikasi ..................................... 55
Gambar 4.28. Listing Program Memperbaharui Data Aktivitas Keluar-Masuk Kendaraan56
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xviii
Gambar 4.29. Hasil Tampilan Halaman Aktivitas Keluar Dan Masuk Kendaraan ............ 56
Gambar 4.30. Listing Program Penyimpanan Data Tamu Ke Tabel Tamu ........................ 57
Gambar 4.31. Halaman Pendaftaran Tamu ........................................................................ 58
Gambar 4.32. Hasil Pengamatan Halaman Pendaftaran Tamu .......................................... 58
Gambar 4.33. Listing Program Menampilkan Untuk Data Pemilik Atau Satpam .............. 59
Gambar 4.34. Hasil Pengamatan Halaman Tampilan Data Satpam ................................... 59
Gambar 4.35. Query Menambahkan Data Pemilik Atau Satpam Ke Dalam Database ..... 60
Gambar 4.36. Menambahkan Data Pemilik Atau Satpam Ke Dalam Database ................ 60
Gambar 4.37. Hasil Penambahan Data Pemilik Atau Satpam Ke Dalam Sistem Database60
Gambar 4.38. Query Untuk Mengubah Data Pemilik Atau Satpam Di Dalam Database . 61
Gambar 4.39. Data Satpam Dari Database Yang Akan Di Ubah Dan Diperbaharui ......... 61
Gambar 4.40. Query Untuk Menghapus Data Dari Tabel Pemilik Atau Tabel Satpam ..... 62
Gambar 4.41. Hasil Penghapusan Data Dari Tabel Pemilik Atau Tabel Satpam ............... 62
Gambar 4.42. Percobaan Akses Menggunakan Data Tag RFID Yang Tidak Tersimpan ... 62
Gambar 4.43. Pembuatan Layout Laporan ......................................................................... 63
Gambar 4.44. Query Untuk Memanggil Tabel Aktivitas Dan Pemilik .............................. 63
Gambar 4.45. Listing Program Laporan Halaman Aktivitas .............................................. 63
Gambar 4.46. Hasil Laporan Halaman Aktivitas ............................................................... 64
Gambar 4.47. Listing Program Koneksi Database Dan Aplikasi ....................................... 64
Gambar 4.48. Hasil Koneksi Antara Database Dan Aplikasi ............................................. 65
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1. LATAR BELAKANG
Pada zaman modern ini, peningkatan kegiatan ekonomi-sosial terjadi sangat
signifikan [1]. Hal ini dipicu karena berkembangnya aktivitas di pasar modal dunia,
sehingga berdampak pada meningkatnya kegiatan ekonomi-sosial di dunia termasuk di
Indonesia. Sejalan dengan peningkatan ekonomi-sosial, teknologi juga terus berkembang
mengimbangi kebutuhan pasar yang semakin meningkat dan beragam. Teknologi yang ada
saat ini tidak lagi terbatas tetapi sudah mencakup hampir seluruh aspek kehidupan [2].
Dengan peningkatan ini juga berdampak pada peningkatan taraf hidup masyarakat dan
salah satunya berdampak pada kebutuhan akan rumah tinggal yang aman, nyaman, bersih.
Teknologi menjadi salah satu komponen penting dalam sebuah kompleks perumahan
dimana sistem keamanan dengan bantuan teknologi jauh lebih efektif dan efisien dibanding
dengan cara pengamanan tradisional dengan ronda keliling, meskipun kenyataannya
beberapa kompleks perumahan yang menerapkan dua metode pengamanan ini baik secara
tradisional ataupun modern yang berbasis teknologi. Melihat hal itu banyak developer
property berlomba-lomba membangun kompleks perumahan dengan mengunggulkan
sistem keamanannya dan sesuai dengan target pasarnya.
Berdasarkan permasalahan tersebut, penulis berusaha mengembangkan penelitian
mengenai sistem keamanan dengan teknologi sebagai tonggak utamanya. Banyak
penelitian yang telah menggunakan teknologi RFID (Radio Frequency Indentification)
dalam sistem pengamanan seperti sistem pengamanan parkir di gedung-gedung
perkantoran maupun di pusat perbelanjaan sebagai kriteria utamanya. Teknologi RFID
sendiri merupakan pengembangan dari tekonologi nirkabel yang lebih praktis ketimbang
dengan teknologi sebelumnya seperti tag card ataupun barcode yang membutuhkan waktu
serta tag reader yang sesuai agar dapat mengenali sebuah obyek, yang kadang tidak
terbaca dengan baik apabila tidak pas peletakkannya dan juga memakan waktu yang sedikit
lebih lama.
Selain itu, yang membedakan penelitian ini dengan penelitian-penelitian mengenai
sistem RFID yang sudah pernah ada yaitu dengan adanya penambahan sistem database dan
data record yang akan memaksimalkan fungsi sistem RFID dalam sistem keamanan portal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
perumahan yang akan dibuat. Hal ini akan menciptakan sistem keamanan dengan tingkat
secure lebih tinggi dibandingkan dengan sistem keamanan berbasis RFID lainnya, karena
memungkinkan adanya perekaman data pengakses dan juga aktivitas keluar masuk
kendaraan dalam kompleks perumahan untuk meminimalisir hal-hal yang tidak diinginkan
terjadi.
Pada penelitian ini, teknologi RFID digunakan sebagai sistem keamanan portal
kompleks perumahan di mana setiap tag RFID yang telah didata, diletakkan di bagian
dalam mobil warga yang tinggal di kompleks perumahan tersebut. Tag RFID yang
digunakan dapat dibaca dengan segala kondisi dan jarak tertentu untuk alasan keamanan,
tidak tergantung oleh toleransi horisontal maupun vertikal seperti yang terdapat pada
teknologi barcode. Selain itu, juga pembandingan data yang diterima dengan data yang ada
di database lebih akurat.
1.2. TUJUAN DAN MANFAAT
Tujuan dari penelitian ini adalah menciptakan suatu prototype alat sistem keamanan
kompleks perumahan dengan menggunakan RFID (Radio Frequency Identification).
Manfaat penelitian ini adalah dapat memberi pengetahuan baru dari perkembangan
teknologi pada sistem keamanan pada masyarakat dan juga memberikan solusi teknologi
terbarukan pada sistem keamanan terutama sistem keamanan kompleks perumahan bagi
para developer property.
1.3. BATASAN MASALAH
Untuk menghindari terlalu kompleksnya masalah yang muncul, oleh karena itu
dibuat batasan-batasan masalah untuk membatasi topik tugas akhir ini, yaitu:
1. Menggunakan Tag RFID yang bersifat read/write.
2. Modul RFID Reader ID-20 dan RFID SL018 digunakan untuk membaca tag RFID.
3. Mikrokontroler 8 bit sebagai kontrol.
4. Sensor photodiode digunakan untuk mendeteksi apakah mobil telah melewati portal
atau belum.
5. Motor servo digunakan untuk menggerakkan palang portal, yaitu membuka dan
menutup.
6. Menggunakan 2 buah Tag RFID yang mewakili data pemilik rumah dan tamu.
7. Menggunakan 2 buah portal yang berfungsi sebagai pintu masuk dan pintu keluar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
kompleks perumahan.
1.4. METODOLOGI PENELITIAN
Agar dapat mencapai tujuan yang diinginkan metode-metode yang digunakan dalam
penyusunan tugas akhir ini adalah:
1. Studi Literatur
Membaca buku, makalah, artikel, serta jurnal-jurnal untuk memperoleh pengertian,
tinjauan pustaka, referensi dan dasar-dasar teori yang berkaitan dengan permasalahan
yang akan dibahas pada penelitian ini.
2. Pengamatan.
Mencari data tambahan serta melihat secara langsung pengaplikasian topik yang
dibahas agar dapat membuat sebuah perbandingan dan menerapkan beberapa prinsip
kerja yang hampir sama, serta mencari referensi dari video.
3. Perancangan Perangkat Keras dan Perangkat Lunak
Merancang gambaran umum mengenai perangkat keras dan perangkat lunak prototype
alat yang akan dibuat dengan mempertimbangkan faktor-faktor permasalahan dan
kebutuhan yang telah ditentukan, juga untuk mencari spesifikasi terbaik dari perangkat
keras prototype alat yang akan dibuat.
4. Pengujian Sistem Gabungan
Melakukan pengujian sistem secara keseluruhan baik perangkat keras maupun
perangkat lunaknya sebagai satu prototype alat sistem kemanan kompleks perumahan.
Menjalankan aplikasi perangkat lunak masing-masing bagian dan komunikasi antar
bagian, kemudian menjalankan sistem perangkat keras dengan perintah dari perangkat
lunak dan sensor. Menguji setiap sub-sistem yang ada dalam model perencanaan sistem
keamanan portal perumahan berbasis RFID.
5. Proses Pengambilan Data.
Pengambilan data dilakukan setelah semua bagian dalam prototype alat bekerja sesuai
dengan tujuan penelitian yang dimaksud. Data diambil dari tegangan masukan dan
keluaran serta pengondisian sinyal data yang diperoleh dari komunikasi dua arah pada
mikrokontroler yang ada dalam setiap sub-sistem. Mengambil data berupa jarak
pembacaan tag RFID sebagai data yang mewakili pengujian seluruh sistem.
6. Analisis dan Kesimpulan.
Dilakukan pembahasan mengenai sistem perangkat lunak dan juga perangkat keras
yang dibuat, membahas perhitungan serta membandingkan data yang didapat dari
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
hitungan teoritis dengan data yang di dapatkan saat keseluruhan sistem perangkat keras
dan perangkat lunak dijalankan. Analisa dan pengambilan kesimpulan diambil
berdasarkan persentase error yang muncul pada sistem secara keseluruhan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
BAB II
LANDASAN TEORI
2.1. RFID (Radio Frequency Identificaton)
RFID adalah kepanjangan dari radio frequency identification, yang merupakan
pengembangan teknologi komunikasi wireless yang digunakan secara unik
mengidentifikasi benda atau orang yang di tag [3]. RFID menggunakan teknologi yang
memanfaatkan frekuensi radio untuk identifikasi otomatis terhadap suatu obyek [4]. RFID
digunakan untuk mempermudah pekerjaan manusia yang awalnya harus mengidentifikasi
obyek satu per satu secara manual menjadi otomatis dan terprogram. Hal ini juga dapat
mengurangi human error akibat pencatatan identitas obyek secara manual [5].
Dengan teknologi RFID ini, identitas obyek akan dicatat dengan mudah dan cepat.
Terdapat tiga komponen utama pada sistem RFID (gambar 2.1), yaitu:
a. Tag (Transponder), yang terdiri dari chip semikonduktor, sebuah antena, dan untuk
beberapa jenis memiliki baterai.
b. Reader (Interogator), yang terdiri dari antena, modul elektronik RF, dan modul
kontrol elektronik.
c. Controller, yang biasanya diambil dari PC atau workstation running database dan
sofware kontrol.
Gambar 2.1. Komponen sistem RFID [3]
Secara ringkas, mekanisme kerja yang terjadi dalam sebuah sistem RFID adalah
bahwa sebuah reader frekuensi radio melakukan scanning terhadap data yang tersimpan
dalam tag, kemudian mengirimkan informasi tersebut ke sebuah controller.
Tag dan reader mengkomunikasikan informasi satu dengan yang lainnya melalui
gelombang radio. Ketika obyek tag memasuki area pembacaan reader (interogator), reader
akan memberi sinyal pada tag agar mengirim informasi data yang dibawanya. Setelah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
reader mendapatkan informasi data dari tag, maka informasi tersebut akan di lanjutkan ke
kontroler dengan jaringan interface standar seperti ethernet, LAN, dan atau internet.
Kontroler akan menggunakan informasi data yang diterima untuk berbagai macam tujuan.
2.1.1. Tag RFID
Fungsi utama tag RFID adalah untuk menyimpan data dan juga untuk
mentransmittkan ke reader (interogator). Secara umum, chip elektronik memuat memori
untuk menyimpan banyak data yang akan dibaca dan kadang untuk menulis data, dalam
penambahan sirkuit yang penting. Sebuah tag terdiri atas chip (microchip) dan sebuah
antena (Gambar 2.2). Chip tersebut menyimpan nomor seri yang unik atau informasi
lainnya.
Antena yang terpasang pada chip mengirimkan informasi dari chip ke reader.
Biasanya rentang pembacaan diindikasikan dengan besarnya antena. Antena yang lebih
besar mengindikasikan rentang pembacaan yang lebih jauh. Tag tersebut terpasang atau
tertanam dalam obyek yang akan diidentifikasi. Tag dapat dibaca dengan reader bergerak
maupun stasioner menggunakan gelombang radio [4].
Tag RFID sangat bervariasi dalam hal bentuk dan ukuran. Sebagian tag mudah
ditandai, misalnya tag anti pencurian yang terbuat dari plastik keras yang dipasang pada
barang-barang di toko. Tag untuk tracking hewan yang ditanam di bawah kulit berukuran
tidak lebih besar dari bagian lancip dari ujung pensil. Bahkan ada tag yang lebih kecil lagi
yang telah dikembangkan untuk ditanam di dalam serat kertas uang.
Gambar 2.2. Tag RFID
2.1.2. Jenis Tag RFID
Tag dapat diklasifikasikan menjadi 3 jenis, yaitu tag pasif, tag aktif, dan tag semi
aktif (disebut juga semi pasif) [6]. Pengelempokan ini berdasarkan pada ada tidaknya catu
daya pada tag dan kemampuannya untuk menginisiasi komunikasi dengan reader.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
1. Tag Pasif
Tag versi paling sederhana adalah tag pasif, yaitu tag yang tidak memiliki catu
daya sendiri serta tidak dapat menginisiasi komunikasi dengan reader. Sebagai
gantinya, tag merespon emisi frekuensi radio dan menurunkan dayanya dari
gelombang energi yang dipancarkan oleh reader. Sebuah tag pasif minimal
mengandung sebuah indentifier unik dari sebuah item yang dipasangi tag tersebut.
Data tambahan dimungkinkan untuk ditambahkan pada tag, tergantung kepada
kapasitas penyimpanannya. Contoh aplikasi tag pasif adalah pada pass transit, pass
masuk gedung, dan barang-barang konsumsi [8]. Komponen tag pasif ditunjukkan
pada Gambar 2.3.
Gambar 2.3. Komponen Tag Pasif [6]
2. Tag Semi Pasif
Tag semi pasif adalah versi tag yang memiliki catu daya sendiri (baterai) tetapi
tidak dapat menginisiasi komunikasi dengan reader [8]. Dalam hal ini, baterai
digunakan oleh tag sebagai catu daya untuk melakukan fungsi yang lain seperti
pemantauan keadaan lingkungan dan mencatu bagian elektronik internal tag, serta
untuk memfasilitasi penyimpanan informasi. Tag versi ini tidak secara aktif
memancarkan sinyal ke reader. Tag semi pasif tag disebut juga battery-assisted tag
[9]. Pada komunikasi antara tag dan reader dengan tag ini, reader selalu
mengkomunikasikan terlebih dahulu, baru kemudian diikuti oleh tag. Tag ini dapat
dihubungkan dengan sensor untuk menyimpan informasi untuk peralatan
keamanan. Gambar 2.4. menunjukkan komponen tag semi pasif.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
Gambar 2.4. Komponen Tag Semi Pasif [9]
3. Tag Aktif
Tag aktif adalah tag yang selain memiliki antena dan chip, juga memiliki catu daya
dan pemancar serta mengirimkan sinyal kontinyu [8]. Tag versi ini biasanya
memiliki kemampuan baca tulis, dalam hal ini data tag dapat ditulis ulang dan
dimodifikasi. Tag aktif dapat menginisiasi komunikasi dan dapat berkomunikasi
pada jarak yang lebih jauh, tergantung pada daya baterainya. Pada komunikasi
antara tag dan reader dengan tag ini, tag selalu memulai terlebih dahulu, baru
kemudian diikuti oleh reader. Gambar 2.5. menunjukkan komponen tag aktif.
Gambar 2.5. Komponen Tag Aktif [6]
2.1.3. Tipe Memori Tag
Seperti yang telah disebutkan di atas, sebuah chip pada sebuah tag berfungsi untuk
menyimpan nomor seri yang unik atau informasi lainnya. Ketentuan penyimpanan dan
pengisiannya tergantung pada tipe memorinya. Klasifikasi tipe memori tag adalah Read-
Only (RO), Write Once-Read Many (WORM), dan Read-Write (RW).
1. Read Only (RO)
Sebuah tag RO hanya dapat diprogram atau diisi sekali dalam penggunaanya [9].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
Data diisikan oleh pabrikan pada saat proses produksi. Setelah itu, data sama sekali
tidak dapat dituliskan kembali pada tag. Tag tipe ini memiliki kapasitas memori
minimum (biasanya kurang dari 64 bit) dan mengandung data yang terprogram
permanen sehingga tidak dapat diubah [10].
2. Write Once, Read Many (WORM)
Sebuah tag dengan tipe memori WORM dapat diprogram atau satu sekali. Berbeda
dengan tipe RO, pengisian tidak dilakukan oleh pabrikan tetapi dilakukan sendiri
oleh pengguna [9].
3. Read Write (RW)
Pada tag dengan tipe memori RW, data dapat dimutakhirkan jika diperlukan [10].
Sebagai konsekuensinya kapasitas memorinya lebih besar dan harganya lebih
mahal dibandingkan tag RO. Tag dengan tipe memori RW menawarkan
keuntungan yang luar biasa karena data yang telah terisi dapat ditulis ulang dan
diubah oleh pengguna [9].
2.1.4. Reader RFID
Untuk berfungsinya sistem RFID, diperlukan sebuah reader atau alat scanning yang
dapat membaca tag dengan benar dan mengkomunikasikan hasilnya ke suatu
controller[10]. Reader disebut juga interogator, yaitu perangkat yang dapat membaca data
pada tag dan mengisi data pada tag. Jadi reader juga berfungsi sebagai writer [9].
Dalam kasus tag pasif, reader berfungsi juga sebagai catu daya untuk mengaktifkan
tag. Reader merupakan jembatan antara tag dengan controller [11]. Reader memiliki
beberapa komponen utama, yaitu transmitter, receiver, microprocessor, memory,
input/output channels, communication interface, dan power [7].
2.2. RFID ID-20
Salah satu jenis RFID reader high frequency. ID-20 merupakan reader yang khusus
mendeteksi RFID tag frekuensi 125kHz. Berdasarkan acuan yang ada RFID tag yang
kompatibel dengan ID-20 diantaranya EM4001. Dengan membaca sekitar ± 16 cm [12].
Bentuk fisik ID-20 yang sering dijumpai diperlihatkan pada gambar 2.6. ID-20 tidak
memiliki kemampuan untuk baca-tulis (Read-Write) pada sebuah tag, hanya dapat
membaca data saja (Read only). Spesifikasi lengkap Modul RFID reader ID-20 dapat
dilihat pada Tabel 2.1 berikut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
Tabel 2.1. Karakteristik RFID ID-20
Parameter RFID ID-20
Baca Sampai ±16 cm
Dimensi 26mm x 25mm x 7mm
Frekuensi 125kHz
Format Kartu GK4001/EM4001 atau
yang compatible
Encoding Manchaster 64-bit, modulus 64
Jenis Catudaya 5 VDC pada 30mA
Arus Output I/O -
Jangkauan Catudaya +4.6V – 5.4V
Gambar 2.6. RFID ID-20
2.3. RFID SL018
Salah satu jenis RFID adalah jenis Mifare. RFID (reader dan tag) ini bekerja pada
frekuensi tinggi (high frequency) yakni 13,56 MHz. Gambar 2.7. menunjukkan modul
RFID SL018.
Gambar 2.7. RFID SL018
Berdasarkan pada datasheet RFID SL018, RFID ini dapat membaca tag berjenis
Mifare 1k, Mifare 4k, Mifare Ultra Light dan NFC NATG203 [5]. Untuk menggunakan
modul ini, digunakan komunikasi I2C (Inter Integrated Circuit). Sumber tegangan yang
dibutuhkan modul ini berkisar antara 4,5 V hingga 7 V. RFID ini dapat membaca tag yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
berjarak hingga 60 mm. Dilengkapi pula pin TagSta sebagai indikator ada tidaknya tag
disekitarnya.
2.4. MySQL
MySQL (My Structured Query Language) adalah sebuah program pembuat dang
pengelola data yang sering disebut dengan DBMS (Database Management System) [5].
MySQL menyediakan fasilitas-fasilitas untuk mengatur dan mengelola database, serta
menyediakan bahasa pemrograman SQL (Structured Query Language, biasa dibaca sebagai
“sekuel”) untuk mengolah database client-server. MySQL mulai memperkenalkan
penggunaan Stored Procedure dan Trigger, sehingga menjadikan MySQL sebagai
penyedia layanan pemrograman client-server secara penuh. Adapun kelebihan-keleihan
MySQL adalah sebagai berikut [13]:
a. MySQL sebagai Database Management System (DBMS).
b. MySQL sebagai Relational Database Management System (RDBMS).
c. MySQL bersifat open source atau gratis.
d. MySQL merupakan database server dan merupakan database client. Mampu
menyimpan data berkapasitas sangat besar.
e. MySQL memiliki kecepatan dalam pembuatan tabel maupun peng-upadate-an
tabel.
ODBC adalah singkatan dari Open Database Connectivity. ODBC merupakan
standar yang dikembangkan Microsoft untuk melakukan koneksi database melalui driver-
driver yang independen terhadap suatu produk. Konektor ODBC adalah program dan
driver yang bisa mengalikan suatu program (termasuk program database server, misalnya
MySQL) dengan ODBC [14]. MySQL menyediakan berbagai macam konektor ODBC
dalam berbagai platform (sistem operasi) dan versi program.
2.5. Microsoft Visual Basic 6.0
Visual Basic 6.0 merupakan aplikasi pemrograman visual yang dibuat oleh
Microsoft. Visual Basic 6.0 berjalan dalam sistem operasi Windows dan tergabung dalam
suite aplikasi Microsoft Visual Studio 6.0. Visual Basic 6.0 (atau yang disingkat dengan
VB 6.0) adalah perangkat unak untuk menyusun program aplikasi yang bekerja dalam
sistem operasi Windows [15].
Visual Basic 6.0 menggunakan pendekatan GUI (General User Interface) dalam
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
proses penggunaannya, sehingga proses pembuatan program menjadi lebih mudah dan
nyaman. Visual Basic 6.0 menggunakan bahasa pemrograman even drive, program yang
menunggu sampai adanya respon dari pemakai yang berupa kejadian tertentu. Dengan
kecanggihan yang ditawarkan Visual Basic 6.0 user dimanjakan dengan mudahnya
menyusun program dengan tampilan grafis yang menawan [16].
Dalam pembuatan program Visual Basic 6.0 digunakan dua tipe kode, yaitu form
untuk meletakkan control, fungsi dan variabel. Selain itu ada juga module untuk
meletakkan prosedur/fungsi dan variabel [17]. Kode merupakan milik dari obyek yang
disisipkan kode. Obyek atau control lainnya tidak dapat menggunakan kode yang bukan
menjadi miliknya. Jika sebuah blok kode akan digunakan bersama, maka kode tersebut
diletakkan di luar control. Blok kode disebut dengan prosedur atau fungsi. Prosedur atau
fungsi diletakkan pada suatu obyek lain yang disebut dengan modul, dan pada form.
Prosedur/fungsi diletakkan pada modul dapat digunakan oleh seluruh program, sedangkan
prosedur/fungsi yang diletakkan pada form hanya dapat digunakan oleh form yang
mengandung prosedur/fungsi tersebut.
Terdapat tiga edisi Visual Basic 6.0 yang dikeluarkan oleh Microsoft yakni Standard
Edition, Professional Edition, dan Enterprise Edition. Pada penelitian ini digunakan Visual
Basic 6.0 Enterprise Edition untuk membuat aplikasi yang bersifat server based. Program -
program aplikasi standar dapat berjalan dengan baik jika menggunakan versi ini. Ada
beberapa fasilitas tambahannya yaitu:
a. Aplikasi Performance Explorer.
b. Pendukung Microsoft Transaction Server 2.0.
c. Visual Component Manager.
d. SQL (Structured Query Language) Debugging.
e. Visual Database Tool.
2.6. Mikrokontroler AVR ATMega32
ATMEGA32 termasuk dalam mikrokontroler unit (MCU) 8 – bit keluarga AVR (Alf
and Vegard’s Risc Processor) ATMega yang memiliki daya guna tinggi dan penggunaan
daya yang rendah [18]. ATMega32 dirancang berdasarkan arsitektur RISC (Reduced
Instruction Set Computing), dimana semua instruksi dikemas dalam kode 16 – bit (16 –
bits word) dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus. Hampir semua
instruksi dieksekusi dalam satu siklus clock dan mempunyai 32 register general-purpose,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
timer/counter fleksibel dengan mode compare, interupsi internal dan eksternal, serial
UART, programmable Watchdog Timer, dan power saving mode. AVR juga mempunyai
ADC, PWM internal dan In-System Programmable Flash on-chip yang mengijinkan
memori program untuk diprogram ulang [18].
2.6.1. Arsitektur AVR ATMega32
Mikrokontroler AVR ATMega32 memiliki arsitektur sebagai berikut:
a. Saluran IO sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D.
b. ADC 10 bit sebanyak 8 channel.
c. Tiga buah timer/counter yaitu Timer 0, Timer 1, dan Timer 2
d. Watchdog Timer dengan osilator internal.
e. SRAM sebanyak 512 byte.
f. Memori Flash sebesar 32 kb.
g. Sumber Interupsi internal dan eksternal.
h. Port SPI (Serial Pheriperal Interface).
i. EEPROM on board sebanyak 512 byte.
j. Komparator analog.
k. Port USART (Universal Shynchronous Ashynchronous Receiver Transmitter).
2.6.2. Konfigurasi Pin ATMega32
Konfigurasi Pin Mikrokontroler ATMega32 dengan kemasan 40 pin DIP (dual inline
package) dapat dilihat pada gambar 2.8. Untuk memaksimalkan performa dan paralelisme,
AVR menggunakan arsitektur Harvard (dengan memori dan bus terpisah untuk program
dan data). Ketika sebuah instruksi sedang dikerjakan maka instruksi berikutnya diambil
dari memori program.
Gambar 2.8 Konfigurasi Pin Mikrokontroler ATMega32
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
Mikrokontroler ATMega32 memiliki konfigurasi pin sebagai berikut:
a. VCC (power supply).
b. GND (ground).
c. Port A (PA7..PA0) Port A berfungsi sebagai input analog pada ADC (Analog
Digital Converter). Port A juga berfungsi sebagai suatu Port I/O 8-bit dua arah.
d. Port B (PB7..PB0) Port B adalah suatu Port I/O 8-bit dua arah dengan resistor
internal pull-up (yang dipilih untuk beberapa bit).
e. Port C (PC7..PC0) Port C adalah suatu Port I/O 8-bit dua arah dengan resistor
internal pull-up (yang dipilih untuk beberapa bit).
f. Port D (PD7..PD0) Port D adalah suatu Port I/O 8-bit dua arah dengan resistor
internal pull-up (yang dipilih untuk beberapa bit).
g. RESET (Reset input).
h. XTAL1 (Input Oscillator).
i. XTAL2 (Output Oscillator).
j. AVCC adalah pin penyedia tegangan untuk Port A dan ADC.
k. AREF adalah pin referensi analog untuk ADC,
Port A berfungsi sebagai input analog pada A/D converter (ADC) dan port I/O 8-bit
dua arah. Port B, Port C, dan Port D adalah suatu port I/O 8-bit dua arah dengan resistor
pull-up (yang dipilih untuk beberapa bit). Pada rangkaian reset, waktu pengosogan
kapasitor dapat dihitng dengan persamaan 2.1 [19].
T = R x C (2.1)
2.6.3. Organisasi Memori
Arsitektur AVR memiliki dua ruang memori utama, yaitu ruang memori program
dan ruang memori data. ATMega32 juga memiliki fitur EEPROM memori untuk
penyimpanan data [18].
2.6.3.1. Memori Program
Mikrokontroler ATMega32 memiliki memori flash sebesar 32Kbytes yang bisa
diprogram berulang-ulang (reprogrammable). Demi keamanan program, memori flash
dibagi menjadi 2 (dua) bagian, yaitu bagian boot program dan bagian application program.
Memori flash terletak pada alamat $0000 - $3FFF. Peta memori flash ditunjukkan oleh
gambar 2.9.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
Gambar 2.9. Peta Memori Flash Mikrokontroler ATMega32
2.6.3.2. Memori Data
Mikrokontroler ATMega32 memiliki SRAM internal sebesar 2Kbytes. Organisasi
memori data SRAM pada mikrokontroler ATMega32 dapat dilihat pada peta memori data
seperti yang ditunjukkan oleh gambar 2.10 di bawah ini.
Gambar 2.10. Peta Memori Data Mikrokontroler ATMega32
2.6.4. Timer/Counter
ATMega32 memiliki tiga modul timer yang terdiri dari dua buah timer/counter 8
bit dan satu buah timer/counter 16 bit. Ketiga modul ini dapat diatur dalam mode yang
berbeda-beda secara individu dan tidak saling mempengaruhi satu sama lain. Selain itu
semua timer/counter juga dapat difungsikan sebagai pencacahan waktu seperti pada jam
digital maupun untuk menghasilkan sinyal PWM (Pulse Width Modulation) yakni sinyal
kotak dengan frekuensi dan duty cycle yang nilainya bisa diatur [19].
2.6.4.1. Timer/Counter0
Pada penelitian ini akan digunakan timer/counter0 untuk mengatur pulsa-pulsa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
PWM untuk menggerakkan motor servo. Timer/counter0 merupakan timer/counter 8 bit
dengan fitur sebagai berikut:
a. Timer/counter 1 kanal.
b. Auto reloads yaitu timer akan dinolkan kembali saat match compare.
c. Dapat menghasilkan pulsa PWM (Pulse Width Modulation) dengan glitch free.
d. Frequency generator.
e. External Event Counter.
f. Prescalar 10 bit untuk timer.
g. Membangkitkan interupsi saat timer overflow dan atau match compare.
Perhitungan overflow interrupt sebagai pembangkit PWM ditunjukkan pada
persamaan 2.2, 2.3, dan 2.4 berikut ini [19].
(2.2)
(2.3)
(2.4)
Keterangan:
f = frekuensi yang digunakan untuk eksekusi program
T = periode
N = prescaller yang digunakan
OCR = nilai cacahan pulsa
Pulse = lebar pulsa
2.6.4.2. Mode Operasi
Berikut adalah mode operasi
1. Mode normal, timer digunakan untuk menghitung saja, membuat delay, dan
menghitung selang waktu [20].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
2. Mode phase correct PWM (PCP), digunakan untuk menghasilkan sinyal PWM
dimana nilai register counter (TCNT0) yang mencacah naik dan turun secara terus-
menerus akan selalu dibandingkan dengan register pembanding OCR0 [21]. Hasil
pembandingan register TCNT0 dan OCR0 digunakan untuk membangkitkan sinyal
PWM yang dikeluarkan pada OCR0 seperti ditunjukkan pada gambar 2.11.
Gambar 2.11. Mode Phase Correct PWM [23]
3. CTC (Clear timer on compare match), register counter (TCNT0) akan mencacah
naik kemudian di-reset atau kembali menjadi 0x00 pada saat nilai TCNT0 sama
dengan OCR0. Sebelumnya OCR diset dulu, karena timer 0 dan 2 maksimumnya
255, maka range OCR 0-255 [19].
4. Fast PWM, mode ini hamper sama dengan mode phase correct PWM, hanya
perbedaanya adalah register counter TCNT0 mencacah naik saja dan tidak pernah
mencacah turun seperti gambar 2.12 berikut ini [19].
Gambar 2.12. Mode Fast PWM
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
2.6.5. Komunikasi Serial USART
Komunikasi data adalah perpindahan data antara satu atau lebih piranti,
perpindahan tersebut dapat dilaksanakan secara parallel atau seri. Komunikasi seri dapat
dibedakan menjadi dua macam yaitu, komunikasi data seri sinkron dan asinkron. Suatu
komunikasi dapat dikatakan sinkron jika sisi pengirim dan penerima dipicu (clocked) oleh
pemicu (clock) yang sama, satu sumber pemicu, data dikirim beserta pemicu. Sedangkan
suatu komunikasi dikatakan asinkron jika sisi pengirim dan penerima dipicu oleh pemicu
yang terpisah dengan frekuensi yang hampir sama, data dikirim disertai informasi
sinkronisasi.
Pada proses inisialisasi ini setiap perangkat yang terhubung harus memiliki
baudrate yang sama. Beberapa fasilitas yang disediakan USART AVR adalah sebagai
berikut:
a) Operasi full duplex (mempunyai register receive dan transmit yang terpisah)
b) Mendukung kecepatan multiprosesor
c) Mode kecepatan berorde Mbps
d) Operasi asinkron atau sinkron
e) Operasi master atau slave clock sinkron
f) Dapat menghasilkan baud-rate (laju data) dengan resolusi tinggi
g) Modus komunikasi kecepatan ganda pada asinkron
Inisialisasi USART
Pada mikrokontroler AVR untuk mengaktifkan dan mengeset komunikasi USART
dilakukan dengan cara mengaktifkan register-register yang digunakan untuk komunikasi
USART. Register-register yang digunakan untuk komunikasi USART antara lain:
USART I/O Data Register (UDR)
UDR merupakan dua buah register 8 bit dengan alamat yang sama, yang digunakan
sebagai tempat untuk menyimpan data yang akan dikirimkan (TXB) atau tempat data
diterima (RXB) sebelum data tersebut dibaca, seperti yang terlihat pada gambar 2.13
berikut ini.
Gambar 2.13. Register UDR
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
USART Control and Status Register A (UCSRA)
Gambar 2.14. Register UCSRA
Penjelasan bit penyusun UCSRA:
a) Bit 7 - RXC (USART Receive Complete)
Bit ini akan berlogika 1 ketika data yang masuk ke dalam UDR belum terbaca dan
akan berlogika 0 ketika sudah dibaca. Flag ini digunakan untuk membangkitkan
interupsi RX jika diaktifkan dan akan berlogika 0 secara otomatis bersamaan
dengan eksekusi vektor interupsi yang bersangkutan.
b) Bit 6 - TXC (USART Transmit Complete)
Bit ini akan berlogika 1 ketika data yang dikirim telah keluar. Flag ini akan
membangkitkan interupsi TX jika diaktifkan dan akan clear secara otomatis
bersamaan dengan eksekusi vektor interupsi yang bersangkutan.
c) Bit 5 - UDRE (USART Data Register Empty)
Flag ini sebagai indikator isi UDR. Jika bernilai 1 maka UDR dalam keadaaan
kosong dan siap menerima data berikutnya, jika flag bernila 0 berarti sebaliknya.
d) Bit 4 - FE (Frame Error)
Bit ini sebagai indikator ketika data yang diterima error, misalnya ketika stop bit
pertama data dibaca berlogika 0 maka bit FE bernilai 1. Bit akan bernilai 0 ktika
stop bit yang diterima berlogika 0.
e) Bit 3 - DOR (Data OverRun)
Bit ini berfungsi untuk mendeteksi jika ada data yang tumpang tindih. Flag akan
bernilai 1 ketika terjadi tumpang tindih data.
f) Bit 2 - PE (Parity Error)
Bit yang menentukan apakah terjadi kesalahan paritas. Bit ini akan berfungsi jika
ada kesalahan paritas. Bit ini akan berlogika 1 jika terjadi bit parity error apabla bit
paritas digunakan.
g) Bit 1 - U2X (Double the USART Transmission Speed)
Bit yang berfungsi untuk menggunakan laju data menjadi dua kalinya. Hanya
berlaku untuk modus asinkron, untuk mode sinkron bit ini diset 0.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
h) Bit 0 - MPCM (Multi Processor Communication Mode)
Bit untuk mengaktifkan modus multi prosessor, dimana ketika data yang diterima
oleh USART tidak mengandung informasi alamat akan diabaikan.
USART Control and Status Register B (UCSRB)
Gambar 2.20. Register UCSRB
Penjelasan bit penyusun UCSRB:
a) Bit 7 – RXCIE (RX Complete Interrupt Enable)
Bit pengatur aktvasi interupsi penerimaan data serial, akan berlogika 1 jika
diaktifkan dan berlogika 0 jika tidak diaktifkan.
b) Bit 6 – TXCIE (TX Complete Interrupt Enable)
Bit pengatur aktivasi pengiriman data serial, akan berloika 1 jika diaktifkan dan
berlogika 0 jika tidak diaktifkan.
c) Bit 5 – UDRIE (USART Data Register Empty Interrupt Enable)
Bit ini berfungsi untuk mengaktifkan interupsi data register kosong, berlogika 1
jika diaktifkan dan sebaliknya.
d) Bit 4 – RXEN (Receiver Enable)
Bit ini berfungsi untuk mengaktifkan pin RX saluran USART. Ketika pin
diaktifkan maka pin tersebut tidak dapat digunakan untuk fungsi pin I/O karena
sudah digunakan sebagai saluran penerima USART.
e) Bit 3 – TXEN (Transmitter Enable)
Bit ini berfungsi mengaktifkan pin TX saluran USART. Ketika pin diaktifkan maka
pin tersebut tidak dapat digunakan untuk fungsi pin I/O karena sudah digunakan
sebagai saluran pengirim USART.
f) Bit 2 – UCSZ2 (Character Size)
Bit ini bersama dengan UCSZ1 dan UCSZ0 dalam register UCSRC digunakan
untuk memilih tipe lebar data bit yang digunakan, sperti yang ditunjukkan pada
tabel 2.2. berikut ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
Tabel 2.2. Penentuan Ukuran Karakter
UCSZ[2..0] Ukuran Karakter dalam bit
0 5
1 6
10 7
11 8
100-110 Tidak dipergunakan
111 9
g) Bit 1 – RXB8 (Receive Data Bit 8)
Bit ini digunakan sebagai bit ke-8 ketika menggunakan format data 9-10 bit, dan bit
ini harus dibaca dahulu sebelum membaca UDR.
h) Bit 0 – TXB8 (Transmit Data Bit 8)
Bit ini dipergunakan sebagai bit ke-8 ketika menggunakan format data 9-10 bit, dan
bit ini harus ditulis dahulu sebelum membaca UDR.
USART Control and Status Register C (UCSRC)
Gambar 2.21. Register UCSRC
Penjelasan bit penyusun UCSRC:
a) Bit 7 - URSEL (Register Select)
Bit ini berfungsi untuk memilih register UCSRC dengan UBBRH, dimana untuk
menulis atau membaca register UCSRC maka bit harus berlogika satu.
b) Bit 6 - UMSEL (USART Mode Select)
Bit pemilih mode komunikasi serial antara sinkron dan asinkron.
c) Bit 5..4 – UPM[1..0] (Parity Mode)
Bit ini berfungsi untuk memilih mode paritas bit yang akan digunakan. Transmitter
USART akan membuat paritas yang akan digunakan secara otomatis.
d) Bit 3 – USBS (Stop Bit Select)
Bit yang berfungsi untuk memilih jumlah stop bit yang akan digunakan.
e) Bit 2..1 – UCSZ[1..0] (Character Size)
Merupakan bit pengatur jumlah karakter serial bit yang berfungsi untuk memilih
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
lebar data yang digunakan dikombinasikan dengan bit UCSZ2 dalam register
UCSRB.
f) Bit 0 – UCPOL (Clock Polarity)
Bit yang berguna hanya untuk modus sinkron. Bit ini berhubungan dengan
perubahan data keluaran dan sampel masukan, dan clock sinkron (XCK).
2.7. Sensor Photodiode
Photodiode adalah dioda yang bekerja berdasarkan intensitas cahaya, jika photodioda
terkena cahaya maka photodiode bekerja seperti dioda pada umumnya, tetapi jika tidak
mendapat cahaya maka photodiode akan berperan seperti resistor dengan nilai tahanan
yang besar sehingga arus listrik tidak dapat mengalir. Simbol sensor photodiode seperti
yang ditunjukkan oleh gambar 2.22 berikut.
Gambar 2.22. Simbol Sensor Photodiode
Photodiode merupakan sensor cahaya semikonduktor yang dapat mengubah
besaran cahaya menjadi besaran listrik. Photodiode merupakan sebuah dioda dengan
sambungan p-n yang dipengaruhi cahaya dalam kerjanya. Cahaya yang dapat dideteksi
oleh photodiode ini mulai dari cahaya inframerah, cahaya tampak, ultraungu sampai
dengan sinar-X.
Karena photodiode terbuat dari semikonduktor p-n junction maka cahaya yang
diserap oleh photodiode akan mengakibatkan terjadinya pergeseran foton yang akan
menghasilkan pasangan electron-hole dikedua sisi dari sambungan. Ketika elektron-
elektron yang dihasilkan itu masuk ke pita konduksi maka elektron-elektron itu akan
mengalir ke arah positif sumber tegangan sedangkan hole yang dihasilkan mengalir ke arah
negatif sumber tegangan sehingga arus akan mengalir di dalam rangkaian. Besarnya
pasangan elektron ataupun hole yang dihasilkan tergantung dari besarnya intensitas cahaya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
yang diserap oleh photodiode [22].
Photodiode digunakan sebagai penangkap gelombang cahaya yang dipancarkan
oleh inframerah. Besarnya tegangan atau arus listrik yang dihasilkan oleh photodiode
tergantung besar kecilnya radiasi yang dipancarkan oleh inframerah.
Sifat dari Photodiode adalah :
1. Jika terkena cahaya maka resistansinya berkurang
2. Jika tidak terkena cahaya maka resistansinya meningkat
Dioda dipasang reverse karena pada saat dioda dipasang reverse, maka arus tidak
akan mengalir karena hambatan yg sangat besar sekali. Jadi bias dikatakan ini dioda
sebagai kondisi Open Circuit jika dianalogikan seperti saklar. namun pada photodiode,
hambatan yang besar tadi bisa menjadi kecil karena pengaruh cahaya yang masuk. Hal
seperti ini bisa menyebabkan arus mengalir sehingga kondisi seperti ini bisa dikatakan
sebagai Close Circuit jika dianalogikan seperti saklar.
Arus yang dapat melewati sensor photodiode adalah sebesar 200µA sampai 800µA,
sehingga untuk menentukan nilai hambatan agar arus sensor photodiode tidak terlalu besar
adalah sebagai berikut [22]:
(2.5)
Sehingga nilai hambatan untuk sensor photodiode dapat dihitung dengan persamaan
diatas dengan asumsi Vcc = 5 volt. Rangkaian umum sensor photodiode ditunjukkan pada
gambar 2.23 berikut.
Gambar 2.23. Rangkaian Sensor Photodiode
2.8. LED Infrared
LED Infrared merupakan suatu komponen elektronika yang merupakan sumber
Photodiode Led
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
cahaya dengan panjang gelombang 750nm – 100nm dan arus maksimal sebesar 100 mA
[23]. Aplikasi LED infrared biasa dijumpai pada modul sensor yang behubungan dengan
cahaya seperti photodiode dan photo transistor. LED infrared merupakan sumber cahaya
yang paling baik untuk sumber cahaya.
Prinsip kerja LED infrared sama dengan LED biasa. Perbedaannya cahaya yang
dipancarkn pada LED inrfrared berupa cahaya tak tampak. LED infrared memiliki arus
maksimal sebesar 100mA. Kelemahan dari LED infrared adalah daya jelajah yang tidak
jauh hanya sekitar 7 – 8 meter dengan sudut radiasi sebesar 45° [24]. Penentuan nilai
hambatan untuk LED infrared dengan asumsi Vcc = 5 volt yaitu:
(2.6)
2.9. Motor Servo
Motor servo merupakan motor DC yang sudah dilengkapi dengan sistem kontrol
didalamnya. Motor ini terdiri dari sebuah motor, serangkaian gear, potensiometer dan
rangkaian kontrol. Potensiometer berfungsi untuk menentukan batas sudut dari putaran
servo. Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang
dikirim melalui kaki sinyal dari kabel motor. Pada aplikasinya, motor servo digunakan
sebagai control loop tertutup, sehingga dapat menangani perubahan posisi secara tepat dan
akurat [25]. Motor servo banyak digunakan sebagai aktuator pada mobile robot atau lengan
robot. Bentuk fisik motor servo dapat dilihat pada gambar 2.24.
Gambar 2.24. Bentuk Fisik Motor Servo
Motor servo umunya terdiri dari servo continuous dan servo standard. Motor servo
continuous dapat berputar sebesar 360 derajat. Sedangkan motor servo tipe standard hanya
mampu berputar 180 derajat [26]. Untuk menggerakkan motor servo ke kanan atau ke kiri,
tergantung dari nilai delay yang diberikan. Untuk membuat motor servo pada posisi center,
berikan pulsa 1.5 ms. Untuk memutar servo 90° ke kanan, berikan pulsa kurang dari atau
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
sama dengan 2 ms dan pulsa lebih besar dari atau sama dengan 1 ms untuk berputar 90° ke
kiri.
Sistem pengkabelan motor servo terdiri dari tiga bagian, yaitu Vcc, Gnd, dan
Kontrol (PWM). Penggunaan PWM pada motor servo berbeda dengan penggunaan PWM
pada motor DC. Paada motor servo, pemberian nilai PWM akan membuat motor servo
bergerak pada posisi tertentu lalu berhenti (control posisi) [26].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
BAB III
RANCANGAN PENELITIAN
3.1. Model Sistem
Secara umum perancangan sistem keamanan portal menggunakan beberapa
perangkat keras seperti tag RFID, RFID reader, sensor photodiode, mikrokontroler, motor
servo, dan unit PC server. Prinsip kerja dari sistem keamanan portal ini adalah tag RFID
yang berjenis mifare card dibaca oleh RFID reader, data diterima oleh mikronkontroler
kemudian dikirim ke PC server untuk dicocokkan dengan database di PC server, jika data
yang diperoleh sesuai maka PC server akan mengirim perintah ke mikrokontroler untuk
menggerakkan motor membuka portal dan kemudian mikro menunggu sinyal dari sensor
photodiode apakah mobil sudah melewati portal atau belum, jika mobil sudah melewati
portal maka secara otomatis mikro akan meenggerakkan motor menutup portal. Gambar
3.1 menunjukkan diagram blok perancangan sistem keamanan portal perumahan.
Gambar 3.1. Diagram Blok Perancangan Sistem Keamanan Portal Perumahan
Pada penelitian ini kartu yang digunakan berjumlah 2 buah, yang masing - masing
untuk pemilik rumah dan tamu. Prinsip kerja kedua kartu terhadap sistem keamanan portal
sama yang membedakan hanya kartu untuk pemilik rumah sebelumnya telah memiliki
nomor akses kartu, diletakkan di bagian kaca mobil, dan dengan kartu yang sama dapat
mengakses portal berulang-ulang. Sedangkan kartu yang diperuntukkan untuk tamu
perumahan sebelumnya harus didata terlebih dahulu oleh satpam kemudian mendapatkan
nomor akses, dipegang oleh pengguna kartu dan hanya dapat diakses dua kali saja yakni
satu kali masuk dan satu kali keluar.
RFID Mifare
Card
Sensor
Photodiode
Mikrokontroler RFID
Reader
PC Server
Motor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
3.2. Spesifikasi Prototype Perangkat Keras
Dalam penelitian ini akan digunakan mobil remote kontrol sebagai prototype mobil
yang akan digunakan. Dengan dimensi ukuran lebar mobil 19 cm, panjang 39 cm, dan
tinggi 13 cm berdasarkan standar ukuran sesungguhnya mobil remote kontrol yang ada di
pasaran. Gambar tampak depan dan tampak samping model mobil remote kontrol yang
ditunjukkan pada gambar 3.2. berikut ini.
Gambar 3.2. Dimensi Prototype Mobil
Gambar 3.3 dan 3.4 berikut menunjukkan bentuk fisik tampak atas dan depan
keseluruhan bidang kerja perancangan sistem keamanan portal dalam penelitian ini.
Gambar 3.3. Perancangan Portal Tampak Atas
19 cm
39 cm
13 cm
25 cm
50 cm
80 cm
70 cm
5 cm
15 cm
20 cm
Masuk
Keluar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
Gambar 3.4. Perancangan Portal Tampak Depan
3.3. Perancangan Perangkat Keras
Secara umum perancangan rangkaian elektronis keseluruhan sistem seperti pada
gambar 3.5 berikut ini, yang menunjukkan komunikasi dari RFID reader ke
mikrokontroler dan ke komputer.
Gambar 3.5. Rangkaian Lengkap Sistem Keamanan Portal Perumahan
25 cm
10 cm 12 cm
27 cm
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
3.3.1. Perancangan Modul RFID Reader ID-20 dan SL018
Perancangan rangkaian elektronis untuk RFID reader modul ID-20 dan SL018
berdasarkan datasheet seperti pada gambar 3.6.
(a) SL018 (b) ID-20
Gambar 3.6. Diagram Rangkaian Modul RFID Reader
Dalam penelitian akan digunakan 2 buah modul RFID reader ID-20 dan 2 buah
modul RFID reader SL018 untuk masing-masing portal. Modul ID-20 digunakan untuk
pembacaan jarak jauh dan modul SL018 digunakan untuk pembacaan jarak dekat.
Komunikasi antar modul RFID reader dengan mikrokontroler menggunakan komunikasi
USART. Dengan demikian bentuk perancangan modul RFID reader secara keseluruhan
seperti gambar 3.7.
Gambar 3.7. Perancangan 4 buah RFID reader dengan mikrokontroler
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
3.3.2. Motor Servo
Dalam perancangan sistem parkir otomatis ini buka tutup pintu gerbang akan
menggunakan motor servo. Motor servo yang akan digunakan berjumlah dua buah, satu
buah untuk gerbang masuk dan satu buah lagi untuk gerbang keluar. Untuk mengaktifkan
motor servo diperlukan pulsa PWM yang diatur dari mikrokontroler sebagai output mikro.
Untuk mendapatkan lebar pulsa PWM yang diinginkan maka perlu menghitung
besar nilai OCR, agar sesuai dengan gambar 3.8 berikut ini:
Gambar 3.8. Lebar Pulsa Motor Servo
Berikut tabel 3.1 hasil perhitungan lebar pulsa PWM dengan menggunakan rumus
perhitungan pulsa PWM yang ada pada landasan teori:
Tabel 3.1. Perhitungan Nilai OCR
SUDUT LEBAR PULSA NILAI OCR
0o 1 ms 43,20
90o 1,5 ms 64,8
3.3.3. Sensor Photodiode
Sensor photodiode digunakan untuk mendeteksi ada atau tidaknya mobil yang
melewati portal. Sensor akan aktif selama sitem nyala, jika sensor mendeteksi mobil yang
lewat maka portal akan menutup dan sebaliknya jika sensor tidak mendeteksi mobil lewat
maka portal akan tetap membuka sampai sensor mendeteksi mobil yang lewat. Berikut
gambar 3.9 sensor photodiode yang digunakan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
Gambar 3.9. Rangakaian Sensor Photodiode
Berdasarkan datasheet mengenai sensor photodiode, dengan besar arus 200µA dan
besar tegangan reverse 5 volt [27], maka besar nilai hambatan yang dapat
diimplementasikan adaah sebagai berikut:
R2 = = 25 kΩ
Sedangkan untuk nilai hambatan utnuk LED infrared berdasarkan pada dataheet
bahwa tegangan yang mengalir maksimal sebesar 5 volt, besar arus yang mengalir
maksimalnya adalah 100 mA [28] dan arus minimum adalah 20 mA, dan besar tegangan
forward sebesar 1,2 volt, maka:
R1 = = 190 Ω
Dalam implementasinya digunakan resistor 220 Ω. Sedangkan untuk hambatan
yang digunakan sensor photodiode adalah sebesar 27 kΩ.
3.4. Perancangan Perangkat lunak
Perancangan perangkat lunak dibagi menjadi 3 bagian yaitu perancangan
mikrokontroler, user interface dan sistem database dengan menggunakan 3 jenis software
program yakni Code Vision AVR untuk pemrograman mikrokontroler, Visual Basic 6.0
untuk pemrograman user interface dan MySQL untuk pemrograman sistem database.
3.4.1. Perancangan Pengidentifikasian Tag RFID
Pada perancangan perangkat lunak proses identifikasi tag RFID dibagi menjadi dua
bagian, setiap pintu portal terdiri dari 2 RFID reader, RFID reader yang pertama di
peruntukkan bagi “member” atau pemilik rumah yang sudah di data dan disimpan datanya
Photodiode
Led
220 27k
Ke Pin PA0 uc
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
pada database di PC server, tag RFID yang digunakan diletakkan pada mobil pemilik dan
sifatnya permanen.
Sedangkan jenis RFID reader yang kedua diperuntukkan bagi tamu perumahan
yang diasumsikan tidak terdaftar dalam database di PC server, tag RFID yang digunakan
berupa kartu yang sifatnya non-permanen atau kartu yang hanya dapat dipakai sekali waktu
(tapping masuk-tapping keluar) dan pada tapping-an berikutnya kartu tidak memiliki data
apapun untuk dibaca oleh reader. Perancangan perangkat lunak RFID secara umum
ditunjukkan oleh gambar 3.10 berikut.
Gambar 3.10. Perancangan Perangkat Lunak Identifikasi RFID
3.4.2. Perancangan Database
Perancangan database yang akan digunakan adalah untuk menyimpan data-data
pemilik kartu akses dan merekam aktivitas keluar masuknya mobil di kompleks
perumahan, kemudian dapat membuat laporan sederhana mengenai intensitas aktivitas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
keluar-masuk mobil di kompleks perumahan. Sebagai salah satu persyaratan keamanan
yang dapat mengakses sistem ini adalah satpam dan ketua RT kompleks perumahan. Peran
mereka adalah sebagai berikut:
a. Satpam
Satpam akan memakai sistem ini untuk menginputkan, menyimpan, meng-update
data para tamu. Satpam juga menggunakan sistem ini hanya untuk memantau
aktivitas kunjungan dan keluar-masuk kendaraan di kompleks perumahan.
b. Ketua RT
Ketua RT mencari, menambahkan, menghapus, dan mencetak semua data yang
berhubungan dengan warganya termasuk intensitas kunjungan tamu per rumah
hunian.
Perancangan Database yang di buat pada sistem ini terdiri dari 5 tabel yaitu:
a. Tabel Administrator
Tabel ini digunakan untuk menyimpan data login setiap user.
b. Tabel Aktivitas
Tabel ini digunakan untuk menyimpan data aktivitas keluar-masuk mobil di
kompleks perumahan.
c. Tabel Pemilik Rumah :
Tabel ini digunakan untuk menyimpan data lengkap pemilik rumah hunian di
kompleks perumahan.
d. Tabel Anggota Keluarga
Tabel ini digunakan untuk menyimpan data anggota keluarga yang tinggal bersama
pemilik rumah.
e. Tabel Tamu
Tabel ini digunakan untuk mnyimpan data tamu yang berkunjung.
Hal dimaksudkan agar data pemilik, tamu, dan satpam dapat terekam selengkap-
lengkapnya di dalam database terutama dengan tujuan agar tetap dapat diakses kapan
saja. Setiap tabel juga memiliki hubungan one to one atau one to many tergantung pada
rancangan data yang akan ditampilkan dalam user interface nantinya. Untuk lebih jelas
hubungan normalisasi antar tabel satu dengan yang lain dapat dilihat pada gambar 3.11
berikut:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Gambar 3.11. Perancangan Perangkat Lunak Database
3.4.3. Perancangan Mikrokontroler
Perancangan perangkat lunak untuk mikrokontroler, secara sederhana
mikrokontroler mendapat masukan yaitu, data dari pembacaan RFID reader yang jika nilai
masukannya tinggi maka portal akan terbuka dan data dari sensor photodiode yang jika
nilai masukannya rendah maka portal akan menutup. Perancangan mikrokotroler
digunakan untuk mengontrol 2 buah motor secara bergantian untuk membuka dan
menutup. Alur diagram pengolahan data gambar 3.12. pada mikrokontroler, sebagai
berikut:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
Gambar 3.12. Perancangan Perangkat Lunak Mikrokontroler
3.4.4. Perancangan User Interface Menggunakan Visual Basic 6.0
Perancangan perangkat lunak Visual Basic 6.0 menampilkan user interface yang
akan dijalankan oleh satpam sebagai user dan satpam kepala sebagai admin. Gambar 3.13
menujukkan halaman login dan gambar 3.14 menunjukkan gambar halaman aktivitas
kunjungan dan keluar-masuk kendaraan yang terekam. Diagram alir aktivitas halaman
login ditunjukkan pada gambar 3.15.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Gambar 3.13. Halaman Login Untuk Mengakses Halaman Aktivitas
Gambar 3.14. Tampilan Halaman Aktivitas
Gambar 3.15. Diagram Alir Halaman Login
Sebelum tamu dapat masuk ke kompleks perumahan terlebih dahulu tamu didata
oleh satpam melalui halaman pendaftaran agar mendapatkan ID card untuk mengakses
pintu portal masuk dan keluar. Digram alir perekaman data tamu ditunjukkan pada gambar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
3.16 dan tampilan halaman pendaftaran identitas tamu ditunjukkan pada halaman 3.17.
Gambar 3.16. Perancangan Perangkat Lunak Visual Basic 6.0
Gambar 3.17. Halaman Pendaftaran Tamu Komplek Perumahan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
BAB IV
HASIL DAN PEMBAHASAN
Dalam bab ini akan dibahas hasil pengujian dan pengamatan dari sistem keamanan
portal berbasis RFID yang telah dibuat. Pengujian dan pengamatan yang dilakukan berupa
pembacaan tag RFID, gerak motor servo, jarak deteksi sensor photodioda, komunikasi
serial antara komputer dan mikrokontroler, sistem database, koneksi aplikasi visual basic
dengan database, serta hasil pengamatan sistem secara keseluruhan pintu portal masuk dan
pintu portal keluar.
4.1. Hasil Perancangan dan Sistem Kerja Keseluruhan Sistem
Hasil perancangan prototype pos satpam dapat dilihat pada gambar 4.1,
perancangan kotak palang atau portal ditunjukkan oleh gambar 4.2, dan simulasi keluar-
masuk kendaraan ditunjukkan secara berurutan pada gambar 4.3, 4.4, dan 4.5.
Gambar 4.1. Prototype Pos Satpam Gambar 4.2. Prototype Kotak Palang/Portal
Mekanisme kerja dari prototype adalah mobil berjalan mendekati portal, RFID
reader kemudian mendeteksi tag RFID yang tertempel pada mobil (jika diasumsikan kartu
tersebut adalah pemilik rumah dalam kompleks perumahan tersebut) atau RFID reader
mendeteksi tag RFID yang ditempelkan didekat reader (diasumsikan kartu tersebut adalah
milik tamu), setelah tag RFID terbaca maka kode unik dari tag tersebut akan tertampil
secara otomatis pada layar aplikasi komputer yang menunjukkan data pemilik tag serta
menampilkan tanggal dan jam tag tersebut mengakses portal. Kemudian komputer akan
mengirimkan perintah ke mikrokontroler yang menggerakkan portal terbuka dan tertahan
beberapa detik selama sensor photodioda belum mendeteksi mobil melewati portal.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Setelah sensor photodioda mendeteksi mobil yang lewat secara otomatis portal
akan menutup setelah mobil lewat. Pembacaan tag RFID menggunakan 2 jenis RFID
reader dengan jarak deteksi yang berbeda dimaksudkan untuk membedakan akses tamu
dan pemilik rumah, dimana dalam perancangan ini RFID reader yang digunakan untuk
mendeteksi tag RFID pemilik rumah diletakkan di bagian atas prototype pos jaga dan
RFID reader yang digunakan untuk membaca tag RFID milik tamu diletakkan di sisi
kanan dan kiri pos.
Gambar 4.3. Mobil Mendekati RFID Reader Gambar 4.4. Tag RFID Terdeteksi
Gambar 4.5. Portal Terbuka Sesaat Tag RFID Terdeteksi
4.2. Hasil Perancangan Perangkat Keras
Pada sub-bab ini akan dibahas implementasi dari perangkat keras yang telah dibuat.
Dilakukan pengujian dan pengamatan terhadap sudut motor servo dan jarak deteksi sensor
photodioda yang dilakukan masing-masing 5 kali pengujian sampai sensor mencapai jarak
deteksi terjauh untuk setiap rangkaian sensor yang telah dibuat. Pengujian dan pengamatan
tidak hanya dilakukan sekali waktu tetapi dilakukan beberapa kali dihari yang berbeda
sampai didapatkan data terbaik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
4.2.1. Pengaturan Sudut Motor Servo
Pengujian sudut servo diukur dengan menggunakan busur derajat seperti pada
gambar 4.6 sampai dengan gambar 4.8 di bawah ini. Pada perancangan motor servo di bab
III, untuk dapat menggerakkan motor servo sesuai dengan sudut yang diinginkan dilakukan
pengaturan nilai PWM dalam program CodeVision AVR tetapi dalam implementasinya
digunakan 3 buah metode untuk dapat menentukan metode manakah yang lebih baik. Hal
ini dikarenakan pada saat pembuatan hardware, penulis mengganti jenis mikrontroler yang
awalnya AVR ATMega32 menjadi Arduino Mega2560. Ketiga metode tersebut adalah
mengatur nilai PWM, mengatur nilau pulsa berdasarkan delay kedua metode ini diuji
dengan menggunakan AVR ATMega32 dan menentukan sudut secara langsung pada
program diuji pada Arduino Mega 2560.
Pengujian pertama yakni dengan menentukan nilai PWM dilakukan dengan
memberikan nilai OCR sesuai dengan perhitungan teori pada bab III, pengujian dan
pengamatan ini dilakukan 2 kali percobaan untuk sudut 0° dan sudut 90°. Berdasarkan
pengamatan motor servo yang dikendalikan menggunakan AVR ATMega32 menghasilkan
nilai OCR yang berbeda dengan nilai OCR yang dihitung secara teori terlihat pada tabel
4.1 di bawah ini. Perhitungan nilai error diperoleh dengan membandingkan selisih nilai
OCR prakterk dan nilai OCR teori dengan nilai OCR teori, kemudian dikalikan 100%.
Tabel 4.1. Perhitungan Error Lebar Pulsa Motor Servo Standar
SUDUT Nilai OCR
Teori
Nilai OCR
Praktek Error
0° 43,2 45 4,17 %
90° 64,8 78 20,37 %
Karena nilai OCR yang didapatkan berbeda-beda setiap kali dilakukan pengujian
sudut dan nilainya untuk setiap motor servo juga berbeda kemudian dilakukan metode
kedua yakni memberikan nilai pulsa berdasarkan delay untuk mengendalikan sudut motor
servo.
Gambar 4.6. Sudut 20° Gambar 4.7. Sudut 40° Gambar 4.8. Sudut 60°
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Nilai pulsa yang diberikan diambil dari lebar pulsa total standar servo yakni 2 ms
kemudian diubah ke dalam delay microseconds agar memudahkan dalam menentukan nilai
yang akan diberikan. Hasil pengujian motor servo dengan menggunakan lebar pulsa
ditunjukkan oleh gambar 4.6 sampai dengan 4.8 diatas, pengujian dilakukan setiap
kenaikan sudut 10° seperti data yang disajikan pada tabel 4.2 di bawah ini.
Tabel 4.2. Hasil Pengujian Motor Servo Dengan Pulsa
SUDUT PULSA SUDUT PULSA SUDUT PULSA
0° 1725 μs 70° 1200 μs 140° 700 μs
10° 1650 μs 80° 1150 μs 150° 650 μs
20° 1575 μs 90° 1075 μs 160° 550 μs
30° 1500 μs 100° 1000 μs 170° 500 μs
40° 1425 μs 110° 900 μs 180° 400 μs
50° 1350 μs 120° 850 μs
60° 1275 μs 130° 750 μs
Berdasarkan hasil pengamatan ini diketahui bahwa perbandingan antara sudut yang
dihasilkan dan lebar pulsa yang diberikan adalah berbanding terbalik, seperti terlihat padda
gambar 4.9 bahwa semakin lebar pulsa yang diberikan maka sudut yang terbentuk semakin
kecil.
Gambar 4.9. Grafik Linearitas Sudut Terhadap Lebar Pulsa
Akan tetapi dengan menggunakan metode yang kedua ini sangat berpengaruh pada
waktu running keseluruhan program utama saat dijalankan dan tidak jarang saat program
dijalankan kembali, gerak servo tidak sesuai dengan hasil pengamatan sebelumnya bahkan
servo tidak bergerak sama sekali. Kemudian karena adanya pergantian jenis mikrokontroler
0
500
1000
1500
2000
0 50 100 150 200
Leb
ar
Pu
lsa (
us)
Sudut (°)
Grafik Linieritas Sudut Terhadap Pulsa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
yang digunakan, maka digunakan metode ketiga yakni dengan menulis angka derajat
secara langsung pada program. Dengan metode ketiga ini, hasil gerak sudut motor servo
sesuai dengan yang diharapkan dan tidak berubah ubah nilainya untuk setiap device-nya
seperti yang terjadi pada metode yang pertama serta tidak mengalami kendala pada saat
keseluruhan program dijalankan seperti yang terjadi dengan menggunakan metode kedua,
sehingga metode ketiga dianggap paling tepat digunakan dalam penelitian ini.
4.2.2. Pengaturan Jarak Kerja Sensor Photodiode
Pengujian sensor photodiode dilakukan dengan melihat jarak terjauh sensor mampu
mendeteksi keberadaan benda yang ada di depan sensor, pengamatan dan pengujian
dilakukan untuk menguji rangaian sensor yang telah dibuat dengan 2 metode yakni yang
pertama dengan menentukan keluaran sensor berupa nyala LED dan yang kedua keluaran
dari sensor sebagai masukan pada mikrokontroler atau dengan kata lain sensor diuji pada
sistem secara keseluruhan.
Gambar 4.10 menunjukkan sensor photodiode yang dibuat, gambar 4.11 diambil
saat pengujian dilakukan menggunakan LED sebagai hasil keluarannya. Pengujian dengan
metode ini menggunakan nyala LED sebagai indicator sensor bekerja atau tidak, selain itu
untuk menentukan jarak deteksi sensor dilakukan pengamatan nyala LED saat bagian
depan sensor diberi penghalang sampai jarak beberapa sentimeter sampai LED tidak
menyala lagi, hasilnya dapat dilihat pada tabel 4.3 dan 4.4 secara berurutan untuk 2 buah
rangkaian sensor yang telah dibuat.
Gambar 4.10. Rangkaian Sensor Photodiode Gambar 4.11. Pengujian Sensor
Pengujian dilakukan untuk melihat seberapa jauh jarak sensing yang dapat
dilakukan oleh setiap sensor didapatkan setiap sensor jarak sensingnya hanya ±3cm di
depan sensor photodiode, kemudian mengukur tegangan masukan sensor dan tegangan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
keluaran sensor dengan tujuan agar sensor aktif atau mendeteksi pada saat high yang
ditunjukkan dengan led menyala saat sensor mendeteksi benda dan akan mati saat tidak
ada benda yang didekatkan pada sensor.
Tabel 4.3. Tabel Hasil Pengujian Sensor Photodioda 1
Jarak Kondisi LED Vin Vout
0 cm Nyala 5.160 3.513
1 cm Nyala 5.160 3.492
2 cm Nyala 5.160 3.517
3 cm Nyala 5.183 3.514
4 cm Mati 5.202 -0.079
5 cm Mati 5.202 -0.069
Tabel 4.4. Tabel Hasil Pengujian Sensor Photodioda 2
Jarak Kondisi LED Vin Vout
0 cm Nyala 5.159 3.528
1 cm Nyala 5.159 3.523
2 cm Nyala 5.159 3.510
3 cm Nyala 5.198 2.092
4 cm Mati 5.201 -0.055
5 cm Mati 5.201 -0.090
Pengujian dan pengamatan selanjutnya dilakukan saat sensor telah digabungkan
dengan keseluruhan rangkaian dalam sistem. Pengamatan dilakukan berkali-kali dengan
dua kondisi cahaya yakni di luar dan di dalam ruangan, hal ini dikarenakan oleh
sensitivitas sensor yang sangat tinggi sehingga pada saat pengujian sensor di dalam
ruangan bisa saja hasilnya berubah di pengujian berikutnya dengan kondisi ruang yang
sama. Kondisi awal sensor adalah 0 seperti ditunjukkan pada gambar 4.12 dan kondisi saat
ada penghalang yang diletakkan di depan sensor adalah 1 yang menujukkan bahwa
rangkaian sensor aktif high karena pada saat ada penghalang nilai keluarannya tinggi
seperti ditunjukkan pada gambar 4.13 dibawah ini.
Gambar 4.12. Kondisi Awal Sensor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Gambar 4.13. Kondisi Sensor Saat Diberi Penghalang
Hasil dari pengujian dan pengamatan ini adalah kedua rangkaian sensor dapat
bekerja dengan baik saat diletakkan di dalam ruangan maupun di luar ruangan dengan jarak
deteksi ±3cm untuk masing-masing rangkaian sensor di dalam ruangan, sementara hasil
pengujian di luar ruangan ±10cm untuk rangkaian sensor A dan ±20cm untuk sensor B
selain itu saat pengujian di luar ruangan kedua rangkaian sensor aktif low artinya saat ada
pnghalang di depan sensor maka keluaran dari sensor adalah 0. Hal ini terjadi karena
perbedaan intensitas cahaya yang ada di sekitar sensor saat pengujian dilakukan.
4.3. Hasil Perancangan Perangkat Lunak
Pada sub-bab ini secara khusus dibahas mengenai semua subrutin program yang
dibuat dengan menggunakan tiga jenis bahasa pemrograman yakni Structured Query
Language (SQL) dengan MySQL sebagai aplikasi yang dipilih untuk membuat database,
C Language yang digunakan dalam Visual Basic 6.0 untuk membuat aplikasi User
Interface dan Arduino IDE untuk bahasa pemrograman mikrokontrolernya, kemudian akan
dibagi ke dalam 2 sub lagi yakni hasil dan pembahasan program aplikasi User Interface
dan program kontrol pada mikrokontroler.
4.3.1. Hasil Pemrograman Mikrokontroler
Pemrograman mikrokontroler dibuat dengan menggunakan 2 jenis aplikasi yakni
CodeVision AVR dan Arduino IDE. Hal ini tidak sesuai dengan yang dituliskan pada
perancangan bab III, awalnya hanya digunakan satu jenis board mikrokontroler saja yakni
mikrokontroler AVR ATMega32 yang dirancang untuk kendali keseluruhan sistem.
Namun pada praktiknya mikrokontroler jenis ini tidak dapat digunakan untuk membaca tag
RFID baik dengan komunikasi UART maupun I2C dan hanya dapat digunakan untuk
kontrol motor servo dan sensor photodiode saja. Oleh karena itu untuk dapat membaca tag
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
RFID digunakan board mikrokontroler Arduino Mega2560 sekaligus menjalankan semua
program sub-sistem. Pembahasan mengenai listing program pada board mikro Arduino
Mega2560 per sub-sistem dan menunjukkan perbandingan hasilnya dengan pemrograman
pada board mikro AVR ATMega32, sedangkan listing program mikro AVR ATMega32
dapat dilihat pada halaman lampiran.
4.3.1.1. Pembacaan Tag RFID
Pada perancangan di bab III, sebelumnya telah disepakati bahwa sistem ini
menggunakan 2 jenis RFID reader yakni RFID ID-12 dan RFID SL018 sehingga akan di
bahas mengenai pembacaan tag untuk kedua reader. Hasil pengamatan pembacaan tag
RFID ID-12 dan RFID SL018 ditunjukkan pada gambar 4.15 dan 4.17 berurutan, listing
programnnya masing-masing seperti yang ditunjukkan gambar 4.14 dan 4.16. Pembacaan
tag RFID dengan reader ID-12 menggunakan 2 buah pin komunikasi serial pada Arduino
Mega2560 yakni pin 19 sebagai RX1 dan pin 17 sebagai pin RX2, hal ini dikarenakan pada
prototype menggunakan 2 buah reader ID-12. Untuk membaca tag RFID pada RFID
reader ID-12, kedua pin serial di inisialisasi dengan Serial1.begin(9600) dan
Serial2.begin(9600) kemudian pada program utama dengan logika if…elseif… mikro akan
membaca bergantian jika salah satu reader mendeteksi tag. Secara bergantian mikro akan
mengecek data yang ada pada receive buffer pada pin serial 1 dan serial 2 dengan
serial.avaiable(), kemudian jika data sudah tersimpan dalam receive buffer maka mikro
akan membaca data yang diterima tersebut dengan Serial.read() dan mengirim data
numerik ke komputer dengan Serial.write().
Gambar 4.14. Listing Program Pembacaan Tag untuk RFID Reader ID-12
Pada saat pengujian pengambilan data dilakukan dengan menampilkan hasil
pembacaan pada komputer dan juga LCD. Salah satu contoh pembacaan tag ditunjukkan
pada gambar 4.15 di bawah ini, tag akan terbaca saat koneksi serial tersedia dan mikro
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
akan mulai menghitung data yang terbaca oleh RFID reader kemudian secara otomatis
mengirim data tersebut ke komputer, terlihat di layar LCD muncul 12 digit kode unik yang
dibaca oleh RFID reader ID-12 dengan menggunakan kartu EM4001, format kartu ini
sesuai dengan spesifikasi yang dicantumkan pada landasan teori dan saat diuji dengan
menggunakan kartu dengan format mifare RFID reader ID-12 tidak dapat mendeteksi
kartu tersebut karena formatnya tidak sesuai dengan spesisfikasi RFID reader.
Gambar 4.15. Hasil Pembacaan Tag untuk RFID Reader ID-12
Pada saat pengujian juga dilakukan pengambilan jarak deteksi RFID reader
terhadap tag RFID dan hasilnya tidak sesuai dengan jarak yang tercantum dalam datasheet
yakni ±12cm, pada implementasinya berdasarkan pengukuran yang dilakukan dengan
menempatkan titik 0 cm tepat pada bagian depan antena sehingga jarak maksimum deteksi
reader hanya 3 cm seperti data yang ditunjukkan pada tabel 4.5 di bawah ini.
Tabel 4.5. Hasil Pengujian Jarak Deteksi RFID Reader ID-12
Jarak Reader Respon
1 cm Terbaca
2 cm Terbaca
3 cm Terbaca
4 cm Tidak Terbaca
5 cm Tidak Terbaca
6 cm Tidak Terbaca
Alasan utama penggantian board mikro dari AVR menjadi Arduino adalah tidak
terbacanya data tag RFID karena sebelumnya telah dilakukan pengujian dengan board
mikro AVR ATMega32 tetapi data tag tidak tertampil sama sekali pada LCD setelah
beberapa kali percobaan yang tertapil pada layar LCD hanya karakter yang tidak dapat
dikenali dan terus berubah. Kemudian penulis mengganti board mikro yang digunakan dan
melakukan pengamatan pada RFID reader SL018 yang memiliki spesifikasi koneksi
pararel dengan mikro, keluaran dari reader diletakkan pada pin A5 dan A7 board Arduino
Mega2560. Mikro akan membaca masukan rendah saat tag didekatkan pada reader ini
kemudian reader akan membaca kode unik data string yang ada pada tag dan secara
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
otomatis mengirim data tersebut secara serial ke komputer dan LCD. Akan tetapi pada saat
tidak ada tag yang berada dekat reader maka mikro akan mendapat masukan tinggi maka
reader akan menunggu sampai ada tag yang didekatkan pada salah satu reader sehingga
salah satu pin mikro tersebut mendapat masukan rendah, hal ini sesuai dengan datasheet
dimana saat tag terdeteksi reader akan menghasilkan keluaran rendah 0 volt.
Gambar 4.16. Listing Program Pembacaan Tag Untuk RFID Reader SL018
Berdasarkan pengamatan yang dilakukan saat tag terdeteksi mikro akan menerima
data berupa len panjang data tag, command code, keadaan, UID berupa tipe data string,
dan type. Hasil pengujian dapat dilihat pada gambar 4.17 di bawah ini, data yang diterima
berupa data acak hal inni dikarenakan terjadinya coallision pada bus I2C-nya karena hanya
mennggunakan 1 alamat data dan clock yakni 0x50 dan untuk memudahkan penelitian
pada aplikasi dilakukan inisialisasi data berupa data tag yang sebenarnya.
RFID reader jenis ini format kartu yang dapat dideteksi adalah mifare card
sedangkan jika diuji dengan EM4001 seperti yang dilakukan pada RFID reader ID-12
kartu tidak akan dapat terbaca karena tidak sesuai dengan spesifikasi pada datasheet, jarak
deteksinya pada datasheet hanya sampai 60mm tetapi pada saat pengujian jarak deteksi
±1cm tegak lurus dari antena.
Gambar 4.17. Hasil Pembacaan Tag Untuk RFID Reader SL018
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
4.3.1.2. Pengendalian Motor Servo
Seperti yang sudah dibahas pada sub-bab sebelumnya bahwa pengendalian motor
servo diamati dengan menggunakan dua jenis mikro dan menghasilkan sudut yang sesuai
dengan yang diharapkan. Pada sub-bab ini listing program yang akan dibahas adalah listing
program dari aplikasi Arduino IDE seperti yang ditunjukkan gambar 4.18 dibawah ini,
sedangkan listing program pengendali motor servo dengan aplikasi CodeVision AVR
ditulis pada lembar lampiran.
Gambar 4.18. Listing Program Pengendali Motor Servo
Pada listing program, terlihat bahwa untuk mengatur sudut gerak servo
menggunakan metode yang ketiga yaitu dengan menulis sudut yang diingiinkan secara
langsung pada servo.write() yang merupakan fasilitas dari library #include <Servo.h>
sehingga memudahkan dalam mengontrol sudut. Kemudian berdasarkan listing program
terlihat bahwa untuk mengatur kapan motor servo digerakkan menuju sudut 90° dimana
posisi portal pada sudut ini adalah terbuka dan kapan motor servo kembali ke posisi
awalnya yakni 0° digunakan interrupt agar palang pintu tidak langsung tertutup sesaat
setelah mobil terdeteksi, tetapi menunggu beberapa saat setelah mobil terdeteksi lalu
palang tertutup. Sehingga pada saat mikro mendapat perintah „a‟ mikro akan menjalankan
interrupt menunggu beberapa saat sampai interrupt selesai dijalankan kemudian menutup
portal. Logika ini juga sama dengan logika listing program yang dibuat menggunakan
aplikasi CodeVision AVR pada lampiran.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
4.3.1.3. Komunikasi Serial Dua Arah Mikrokontroler dan Komputer
Pengamatan komunikasi serial antara mikro dan komputer adalah dengan melihat
data tag RFID yang tertampil pada layar komputer dan gerak motor servo yang membuka,
logika ini dapat dilihat pada listing program yang ditunjukkan oleh gambar 4.19 di bawah
ini.
Gambar 4.19. Listing Program Komunikasi Serial Komputer-Mikro
Pengujian komunikasi serial dilakukan dengan melihat data tag RFID yang
tertampil pada layar komputer dengan perintah Serial.println mikro secara otomatis akan
mengirimkan data tersebut ke komputer dan komunikasi satu arah dinyatakan berhasil.
Kemudian pengujian komunikasi serial dua arah yakni pengujian apakah mikro menerima
data yang dikirim oleh komputer dan mengeksekusi data tersebut. Dengan menggunakan
Serial.available() mikro akan terus mengecek apakah ada data yang diterima dalam receive
buffer atau tidak, jika ada maka kondisi pada receive buffer tidak sama dengan 0 dan lebih
dari nol sehingga dengan menginisialisasi variabel integer buff mikro membaca data
tersebut dengan perintah Serial.read() dan kemudian mengeksekusi data tersebut sesuai
dengan program yang telah dibuat pada mikro, tetapi jika tidak ada maka kondisi receive
buffer akan tetap bernilai 0 dan mikro tidak akan menjalankan perintah membaca data.
4.3.1.4. Subrutin Program Utama
Pada bagian ini akan dibahas mengenai subrutin program yang akan dieksekusi
berulang-ulang yang terdapat di dalam void loop() seperti pengaturan pembacaan tag RFID
agar tidak terjadi coallision saat dijalankan, menggerakkan motor servo membuka dan
menutup dengan menggunakan interrupt yang merupakan pengaruh kerja sensor
photodiode pada program saat dieksekusi, dan komunikasi serial komputer dengan mikro
seperti yang ditunjukkan gambar 4.20 di bawah ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
Gambar 4.20. Listing Program Utama
Setelah semua perancangan perangkat lunak yang terdapat pada mikrokontroler
memberikan hasil yang sesuai, selanjutnya program-program tersebut digabungkan
menjadi sebuah program utama yang bersifat sekuensial dimana setiap proses yang telah di
rancang pada bab III dilakukan secara berurutan. Pada listing program dilakukan
permisalan 4 kondisi yang mewakili jumlah RFID reader yang digunakan, masing-masing
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
2 buah reader akan dapat menggerakkan sebuah motor yang sama, dan dapat menerima
data dari sensor photodioda yang sama.
Saat RFID reader 1 membaca tag RFID, data tag tersebut akan dikirim secara serial
ke komputer oleh mikro dan komputer secara serial pula akan menngirimkan karakter „a‟
ke mikro. Setelah mikro menerima karakter „a‟ maka motor servo akan bergerak membuka
sementara motor servo berada pada posisi membuka sensor photodioda mulai mendeteksi,
saat mobil terdeteksi kemudian mikro akan langsung menjalankan program interrupt untuk
memberi jeda seluruh badan mobil melewati portal atau untuk mengantisipasi apabila
mobil belum berhenti agak lama di pos jaga. Setelah program mikro selesai menjalankan
program interrupt kemudian motor servo untuk menutup. Proses ini dilakukan berulang-
ulang dan sama pada setiap reader baik pada pintu portal keluar maupun pintu portal
masuk.
4.3.2. Hasil Perancangan Aplikasi di Komputer
Pemrograman aplikasi dalam komputer dikhususkan untuk program-program yang
dibuat untuk membuat sebuah aplikasi User Interface yang diinginkan, yakni tampilan user
yang dilengkapi dengan sistem penyimpanan database. Digunakan 2 jenis aplikasi dalam
pemrograman ini yakni, MySQL dan Visual Basic 6.0, berikut akan di bahas lebih lanjut.
4.3.2.1. Perancangan Sistem Database
Pada perancangan database di bab III dibuat 5 tabel, tetapi kemudian dalam
pembuatan tugas akhir disepakati dibuat 4 buah tabel. Pengurangan tabel ini dimaksudkan
agar data yang ditampilkan lebih ringkas dan memudahkan penulis dalam membuat sebuah
database sederhana untuk system keamanan portal perumahan ini. Empat tabel tersebut
masing-masing: tabel admin yang berisi data-data admin yang akan menjalankan dan
mengawasi aplikasisistem keamanan ini, tabel ini terdiri dari 5 kolom (idadmin,
nama_admin, ktp_admin, username, dan password), kemudian ada tabel pemilik yang akan
menyimpan data-data lengkap pemilik rumah dalam kompleks tersebut, lalu tabel tamu
menyimpan data-data lengkap seorang tamu yang akan masuk dan keluar pintu portal,
tabel aktivitas ini digunakan untuk merekam aktivitas keluar dan masuk kendaraan yang
keluar dan masuk kompleks perumahan tersebut, tabel ini memiliki fungsi yang unik
karena memiliki hubungan one to many dengan beberapa tabel lain seperti tabel admin,
tabel pemilik, dan tabel tamu dengan menggunakan fungsi foreign key yang digunakan
untuk membangun relasi antar tabel.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
Untuk membuat sebuah database yang pertama kali dilakukan adalah merancang
skema database yang akan digunakan dengan menggunakan query seperti yang
ditunjukkan gambar 4.21 berikut ini.
Gambar 4.21. Listing Program Membuat Suatu Database
Pada gambar 4.18 listing program CREATE SCHEMA merupakan query yang
digunakan untuk membuat database baru yakni „PortalRumah‟. Langkah selanjutnya
setelah membuat bagian luarnya kemudian dibuat tabel-tabel dibagian dalamnya untuk
mengisi database agar dapat berfungsi baik, seperti ditunjukkan gambar 4.22 di bawah ini.
Gambar 4.22. Query Untuk Membuat Sebuah Tabel
Query yang dgunakan untuk membuat suatu tabel yakni CREATE TABLE
„Pemilik‟ kemudian menentukan sebuah primary key dari setiap tabel yang dibuat untuk
memudahkan panggilan terhadap tabel tersebut, pada gambar 4.22 primary key berada pada
kolom idPemilik. Selanjutnya mulai menambahkan kolom-kolom lain sesuai dengan
kebutuhan dan menentukan jenis datanya seperti VARCHAR, TINYTEXT, CHAR, INT,
dan lain-lain. Untuk membuat tabel tamu, tabel admin, tabel aktivitas, tabel member
dilakukan dengan query yang sama. Hasil pembuatan tabel dapat dilihat pada gambar 4.23
di bawah ini.
Gambar 4.23. Hasil Perancangan Tabel Dalam Database
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
Gambar 4.24. EER-Diagram Perancangan Database
Hasil pembuatan database ditampilkan dengan EER-Diagram seperti pada gambar
4.24 yang menunjukkan hubungan setiap tabel dan data-data apa saja yang akan disimpan
dalam sistem database yang di buat.
4.3.2.2. Halaman Login Aplikasi
Hasil pengamatan halaman login aplikasi yang dibuat dengan memanggil subrutin
program seperti pada gambar 4.25, dimana program akan memanggil tabel admin dari
database dan akan mencocokkan username dan password yang dituliskan pada tempat
yang sudah disediakan sesuai atau tidak dengan data yang sudah ada pada tabel admin
tersebut setelah tombol login di klik jika sesuai maka akan tampil halaman utama dari
aplikasi. Apabila salah satu dari kedua kolom (username dan password) yang sudah
disediakan ada yang belum terisi secara tomatis aplikasi akan memunculkan peringatan
bahwa ada salah satu kolom yang belum diisi dan halaman utama tidak akan tampil dan
hanya akan muncul halaman login saja sampai semua kolom terisi.
Akan tetapi apabila semua kolom sudah terisi tetapi data yang dituliskan tidak
sesuai dengan data yang ada pada tabel admin maka akan muncul message box yang berisi
peringatan bahwa data yang dimasukkan salah dan pengguna aplikasi diberi 3 kali
kesempatan untuk memasukkan username dan password dengan benar. Jika 3 kali
berturut-turut data yang dimasukkan tidak sesuai maka aplikasi tidak akan dapat diakses
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
untuk beberapa saat, dan halaman utama tidak akan muncul sampai data username dan
password benar dimasukkan oleh pengguna.
Gambar 4.25. Listing Program Halaman Login
Berdasarkan hasil pengamatan, gambar 4.26 menunjukkan hasil halaman login
yang sukses diakses oleh pengguna yang berstatus sebagai satpam dilihat dari username
yang dituliskan. Dalam gambar kolom username diisi dengan „satpam‟ dan password diisi
dengan „satpam‟ yang sesuai dengan data yang terdapat pada tabel admin. Pada halaman
login juga ditentukan perbedaan hak akses antara satpam dan ketua RT, yakni seorang
satpam hanya memiliki hak akses untuk memantau halaman aktivitas, menambah dan
menyimpan data tamu, dan melihat data pemilik rumah serta satpam. Sedangkan seorang
ketua RT memiliki hak akses penuh untuk memantau halaman aktivitas, melihat,
menambah, menyimpan, menghapus, serta mengubah data baik tamu, pemilik rumah,
maupun satpam. Untuk penyimpanan dan pencetakan laporan aktivitas keluar – masuk
kendaraan dapat dilakukan oleh satpam maupun ketua RT. Perbedaan hak akses kedua
admin lebih jelas dapat terlihat pada menu – menu pada halaman utama maupun menu –
menu pada setiap halaman yang dibuat dengan melihat tulisan menu yang bercetak tebal
jelas dan tulisan menu yang bercetak transparan.
Gambar 4.26. Hasil Pengujian Halaman Login
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
4.3.2.3. Halaman Perekaman Aktivitas Keluar dan Masuk Kendaraan
Pengamatan halaman perekaman aktivitas keluar dan masuk kendaraan adalah
melihat tanggal dan waktu akses portal serta identitas pemilik kartu yang tertampil secara
otomatis pada layar komputer. Agar data yang dapat ditampilkan sesuai dengan yang
diharapkan maka komunikasi serial antara komputer dan mikro harus dibuat dengan listing
program seperti yang ditunjukkan pada gambar 4.27 dimana port 10 merupakan port serial
mikro terdeteksi oleh komputer, jika port yang diiinisialisasi bukan port tersebut maka
komunikasi serial antara komputer dan mikro tidak akan terjadi. Kemudian secara otomatis
komputer akan menampilkan data tag RFID yang terbaca pada Text 3 dengan inbuff
sebagai masukan yang diterima dari mikro, dt_a adalah data inbuff yang diterima angka 1
menampilkan data saat port komunikasi terbuka dan angka 12 menampilkan banyak data
yang akan ditampilkan pada layar komputer.
Gambar 4.27. Listing Program Komunikasi Serial Pada Aplikasi
Kemudian tampilan halaman aktivitas akan terus diperbaharui dengan
menampilkan semua data yang ada pada tabel aktivitas dari database seperti listing
program yang ditunjukkan gambar 4.28 di bawah ini. Dengan menggunakan query
SELECT * FROM aktivitas ORDER BY idaktivitas ASC, data berupa nomor, tanggal,
waktu, nomor RFID, nama pemilik RFID, alamat yang dikunjungi, dan nomor polisi
kendaraan akan tertampil semua pada grid dengan aktivitas sebagai tabel yang dipanggil.
Akan tetapi data yang tampil pada tampilan tabel tidak dapat menampilkan ketiga
tabel yakni tabel aktivitas, tabel pemilik dan tamu secara bersamaan, hanya dapat memilih
salah satu kombinasi tabel saja yang dapat ditampilkan yakni kombinasi tabel aktivitas dan
tabel pemilik atau kombinasi tabel aktivitas dan tabel tamu sesuai dengan data yang masuk.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
Gambar 4.28. Listing Program Memperbaharui Data Aktivitas Keluar-Masuk Kendaraan
Berdasarkan listing program yang telah dibuat hasil halaman aktivitas ditunjukkan
pada gambar 4.29 yang menampilkan nama pengguna yang sedang bertugas, data tag
RFID yang terbaca dan daftar data aktivitas kendaraan yang mengakses portal keluar dan
masuk. Seperti yang telah dikatakan sebelumnya, pada gambar hanya tampil salah satu
kombinasi tabel saja yakni tabel aktivitas dan tabel pemilik karena data yang masuk adalah
data kartu pemilik rumah, sedangkan data akses tamu tetap tersimpan dalam tabel aktivitas
hanya saja data secara spesifik tidak ditampilkan dalam tabel karena bukan kombinasi dari
tabel aktivitas dan tabel tamu sehingga yang terlihat oleh user hanya data aksesnya saja
berupa tanggal dan waktu sedangkan data lainnya kosong. Pada saat pengujian
menggunakan identitas tamu data tidak tertampil di dalam grid dikarenakan oleh kesalahan
peletakkan query sehingga program tidak dapat mengerjakan query yang seharusnya
dikerjakan.
Gambar 4.29. Hasil Tampilan Halaman Aktivitas Keluar Dan Masuk Kendaraan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
Selain itu pada halaman ini juga terdapat beberapa menu tambahan yaitu command
button serial, in, send a, dan send b. Fungsi dari masing-masing button adalah yang
pertama button serial berfungsi untuk menghidupkan koneksi komunikasi antara laptop
dan mikro, dengan menginisialisasi port dan baudrate yang digunakan untuk komunikasi.
Kedua, button IN digunakan untuk menerima data yang dikirim dari mikro dan
menampilkannya di textbox, pada perancangan di bab III data yang diterima dari mikro ini
akan secara otomatis muncul di textbox tetapi saat dilakukan pengujian ternyata data tidak
bisa secara otomatis tampil pada textbox sehingga tetap diperlukan bantuan user agar data
tertampil pada textbox dengan menggunakan tombol ini.
Terakhir, button send a dan button send b yang memiliki fungsi yang sama yakni
memberikan perintah ke mikro untuk membuka pintu portal. Akan tetapi kedua button ini
hanya dipergunakan saat pintu portal tidak dapat terbuka secara otomatis, letak
perbedaannya hanya pada karakter yang dikirim ke mikro yakni send a mengirim karakter
„a‟ yang akan memerintahkan mikro untuk membuka pintu portal masuk sedangkan send b
mengirim karakter „b‟ ke mikro yang akan memerintahkan mikro untuk membuka pintu
portal keluar. Fungsi kedua tombol pada sistem ini hanya sebagai cadangan serta
melengkapi kinerja sistem secara keseluruhan.
4.3.2.4. Halaman Pendaftaran
Halaman pendaftaran ini dapat diakses oleh satpam dan ketua RT, pengamatan
halaman pendaftaran dilakukan untuk melihat data yang didaftarkan tersimpan ke dalam
database atau tidak. Listing program pada halaman ini adalah untuk menyimpan data yang
sudah dituliskan ke dalam database terkhusus pada tabel tamu seperti yang ditunjukkan
gambar 4.30 di bawah ini.
Gambar 4.30. Listing Program Penyimpanan Data Tamu Ke Tabel Tamu
Berdasarkan pengamatan dengan menggunakan query INSERT INTO
nama_tabel(kolom1,kolom2,etc) VALUES (nilai1,nilai2,etc), maka Text 9.Text sebagai
nilai akan tersimpan pada kolom idtamu pada tabel tamu. Tampilan halaman pendaftaran
ditunjukkan pada gambar 4.31 di bawah ini dan hasil pengamatannya ditunjukkan oleh
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
gambar 4.32 yang menampilkan tabel tamu pada sistem database yang sudah terisi sesuai
dengan data yang dituliskan oleh pengguna aplikasi. Kemudian jika dilihat, terdapat menu
hapus dan tambah baru tetapi inti dari pembuatan halaman pendaftaran ini adalah
penyimpanan data tamu ke dalam database yang dilakukan oleh admin.
Gambar 4.31. Halaman Pendaftaran Tamu
Gambar 4.32. Hasil Pengamatan Halaman Pendaftaran Tamu
4.3.2.5. Halaman Yang Menampilkan Data Pemilik dan Satpam
Halaman tampilan data pemilik dan satpam adalah halaman yang memilki paket
komplit penggunaan query pada database karena halaman ini menampilkan semua data
yang terdapat dalam masing-masing yakni tabel pemilik dan tabel admin. Terdapat 4 menu
utama query yakni menampilkan data dari database, menambahkan data ke dalam
database, mengubah data yang udah ada di dalam database, dan menghapus data dari
database. Pertama akan dibahas mengenai query yang digunakan untuk menampilkan data
yang ada di dalam database seperti ditunjukkan oleh gambar 4.34, data yang akan
ditampilkan dipanggil dengan query “SELECT * FROM nama_tabel ORDER BY kolom”
dari sistem database yang sudah dibuat.
Kemudian dengan menggunakan fasilitas MsFlexGrid data berupa nomor
ditampilkan pada baris 1 kolom 0, kode tabel pada baris 1 kolom 1, begitu seterusnya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
hingga kolom data yang ada didalam tabel diatur pada baris yang sama dan kolom berbeda
dan akan mulai menampilkan data pada baris selanjutnya, listing programnya seperti
ditunjukkan pada gambar 4.33 di bawah ini.
Gambar 4.33. Listing Program Menampilkan Untuk Data Pemilik Atau Satpam
Hasil dari listing program diatas, pada grid tampil semua data pemilik rumah yang
memiliki kartu RFID. Data yang ditampilkan diambil dari tabel pemilik di database dan
menampilkan kode pemilik, nomor kartu, nama lengkap, jenis kelamin, nomor telepon,
alamat tinggal dan nomor polisi kendaraannya yang sebelumnya sudah di data dan di
simpan dalam sistem database.
Gambar 4.34. Hasil Pengamatan Halaman Tampilan Data Pemilik Rumah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
Pengujian selanjutnya adalah menambahkan data ke dalam database dengan
menggunakan query INSERT INTO nama_tabel(kolom 1, kolom 2, kolom 3, …) VALUES
(nilai 1, nilai 2, nilai 3, …) seperti ditunjukkan pada gambar 4.35 dan data-data baru yang
akan disimpan di isikan pada halaman edit residence member ditunjukkan oleh gambar
4.36 serta hasil dari aksi ini dengan melihat perubahan yang terjadi pada sistem database
seperti yang ditunjukkan gambar 4.37. Pasangan kolom dan nilai disesuaikan dengan setiap
text(n).text yang digunakan untuk menuliskan data yang ingin di simpan, setelah itu secara
otomatis akan membuka koneksi database dan mengeksekusi query.
Gambar 4.35. Query Menambahkan Data Pemilik Atau Satpam Ke Dalam Database
Gambar 4.36. Menambahkan Data Pemilik Atau Satpam Ke Dalam Database
Gambar 4.37. Hasil Penambahan Data Pemilik Atau Satpam Ke Dalam Sistem Database
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
Kemudian query selanjutnya adalah query yang digunakan untuk mengubah data
yang sebelumnya sudah tersimpan di dalam database. Dengan menggunakan UPDATE
nama_tabel SET kolom = nilai_yang_diubah WHERE [kondisi] seperti terlihat pada
gambar 4.38 di bawah ini, maka nama admin yang tadinya “kirmanto” di dalam database
menjadi “sugondo” dengan mengklik tombol „change‟ data pada database akan secara
otomatis diperbaharui dan menyimpan data baru yang akan disimpan. Hasil eksekusi dari
query ini ditunjukkan oleh gambar 4.39 di bagian yang diberi kotak merah, terlihat
perubahan data nama admin dari tabel admin di dalam database.
Gambar 4.38. Query Untuk Mengubah Data Pemilik Atau Satpam Di Dalam Database
Gambar 4.39. Data Satpam Dari Database Yang Akan Di Ubah Dan Diperbaharui
Menu yang terakhir adalah menu „delete‟ yang digunakan untuk menghapus data
dari database. Query yang digunakan DELETE FROM nama_tabel WHERE [kondisi]
seperti ditunjukkan gambar 4.40 di bawah ini dimana fungsi perintah ini adalah menghapus
data yang tersimpan di dalam database sesuai dengan primary key data tersebut, kemudian
data dalam tabel pemilik atau tabel satpam yang dipilih akan terhapus dari database seperti
gambar 4.41. Terlihat pada gambar 4.41 isi database sebelum query delete dieksekusi
terdapat 7 buah data dan setelah query delete dieksekusi data ke tujuh yang dihapus sudah
tidak muncul lagi di dalam database.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
Gambar 4.40. Query Untuk Menghapus Data Dari Tabel Pemilik Atau Tabel Satpam
Gambar 4.41. Hasil Penghapusan Data Dari Tabel Pemilik Atau Tabel Satpam
Dengan menghapus data pemegang tag RFID dari database, tag tersebut tidak lagi
dapat mengakses pintu portal karena tidak ada data yang terekam dalam database. Akan
tetapi, data tag berupa kode unik akan tetap tertampil di dalam textbox pada halaman
aktivitas seperti yang ditunjukkan pada gambar 4.42 di bawah ini saat data pemegang tag
telah dihapus kemudian dengan tag yang sama dicoba mengakses pintu portal tetapi pintu
portal tidak terbuka, karena data tag tidak terekam dalam database.
Gambar 4.42. Percobaan Akses Menggunakan Tag RFID Yang Tidak Tersimpan Datanya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
4.3.2.6. Pencetakan Laporan dari Halaman Aktivitas
Pembuatan laporan dari halaman aktivitas dilakukan dengan membuat format
laporan seperti yang ditunjukkan pada gambar 4.43 di bawah ini. Format laporan diatur
manual dengan menggeser item sesuai dengan keingiinan dan juga berdasarkan kemudahan
dalam pembacaan laporan.
Gambar 4.43. Pembuatan Layout Laporan
Agar data yang ditampilkan dalam laporan adalah benar data dari halaman
aktivitas, maka harus membuka tabel aktivitas dari database terlebih dahulu dengan
menggunakan query LEFT JOIN seperti ditunjukkan gambar 4.44 di bawah ini akan
memanggil skema database yakni SistemKeamananPortal dan LaporanAktivitas adalah
tabel aktivitas yang dipanggil untuk ditampilkan datanya seperti yang ditunjukkan gambar
4.45 di bawah ini.
Gambar 4.44. Query Untuk Memanggil Tabel Aktivitas Dan Pemilik
Gambar 4.45. Listing Program Laporan Halaman Aktivitas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
Hasil pengamatan dari listing program diatas ditunjukkan oleh gambar 4.46 yang
menunjukkan laporan dari halaman aktivitas yang menampilkan semua data yang
diinginkan dan mudah dibaca oleh orang awam.
Gambar 4.46. Hasil Laporan Halaman Aktivitas
4.3.2.7. Konektivitas Antara Aplikasi Dengan Database
Pembuatan aplikasi menggunakan software yang berbeda dengan software yang
digunakan untuk membuat database, oleh karena itu agar dapat terhubung pada aplikasi
dibuat listing program seperti pada gambar 4.47 dengan menggunakan driver MySQL
ODBC 5.1 agar dapat membuka database portal yang menjadi tujuan dari aplikasi dengan
membuat koneksi baru pada MySQL ODBC 5.1 dengan server localhost.
Gambar 4.47. Listing Program Koneksi Database Dan Aplikasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
Hasil pengamatan konektivitas ini adalah munculnya message box yang
menyatakan bahwa koneksi antara database dan aplikasi telah berhasil seperti yang
ditunjukkan pada gambar 4.48 di bawah ini.
Gambar 4.48. Hasil Koneksi Antara Database Dan Aplikasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Penelitian ini menghasilkan prototype sistem keamanan portal perumahan dengan
berbasis RFID dengan fasilitas penyimpanan database. Pengujian, pengamatan serta
pengambilan data dilakukan pada sistem secara keseluruhan yang menunjukkan bahwa
system dapat bekerja walaupun tidak stabil karena pengaruh dari kepekaan sensor
photodiode yang digunakan dan juga dilakukan untuk setiap sub-sistem keamanan portal
perumahan berbasis RFID hasilnya sebagai berikut:
1. Pengendalian gerak motor servo menggunakan nilai OCR memberikan hasil yang
berbeda-beda untuk setiap merek device yang digunakan, tetapi dapat disiasati
dengan memberikan lebar pulsa dengan hubungan antara lebar pulsa yang diberikan
dan sudut yang dihasilkan berbanding terbalik.
2. Jarak deteksi sensor photodiode ±5cm dari depan sensor, jarak ini dianggap baik
dan sudah sesuai dengan kebutuhan.
3. Jarak deteksi tag untuk RFID reader ID-12 hanya ± 3cm, sedangkan untuk RFID
reader SL018 hanya ± 1cm.
4. Sistem database sangat membantu dalam penyimpanan data setiap pemegang kartu.
Tetapi prototype sistem keamanan portal perumahan berbasis RFID ini masih memiliki
kekurangan yakni dalam hal penampilan data dari mikro ke laptop/pc yang belum otomatis
masih memerlukan bantuan user dengan menekan tombol IN pada tampilan user interface
dan juga terkadang data tamu yang sudah terdaftar tidak tertampil dalam grid karena masih
adanya kesalahan peletakkan query yang digunakan.
5.2. Saran
Untuk hasil yang lebih baik untuk penelitian selanjutnya, beberapa saran-saran yang
dapat dipertimbangkan oleh pembaca adalah sebagai berikut:
a. Penelitian ini dapat ditambah dengan pembatasan akses setiap kartu tag RFID baik
milik tamu ataupun warga perumahan untuk meningkatkan keamanan.
b. Pengaplikasian jaringan baik internet maupun intranet untuk komunikasi dan
distribusi data yang dikirim oleh RFID reader ke komputer.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
DAFTAR PUSTAKA
[1] Tim Penulis Laporan Triwulan, 2014, Analisis Triwulan: Perkembangan Moneter,
Perbankan dan Sistem Pembayaran Triwulan IV-2013, Buletin Ekonomi Moneter
dn Perbankan, Januari 2014, Bank Indonesia.
[2] Bowers, Dan M., 1988, Access Control and Personal Identification System,
Butterworth Publisher, USA, hlm 1.
[3] Hunt, V. Daniel, Puglia, Albert., dan Puglia, Mike., 2007, RFID: A Guide To Radio
Frequency Identification, New Jersey: John Wiley & Sons, Inc., hal 5-24.
[4] Wiranto, Robertus Heru, 2010, Pembaca Data Tag Pada Car Immobilizer Dengan
RFID, Universitas Sanata Dharma, Yogykarta.
[5] E.P., Paulus Alexander, 2015, Perekaman Data Akses Kamar Hotel Dengan RFID
Berbasis WEB, Universitas Sanata Dharma, Yogyakarta.
[6] Lahiri, sandip, 2005, RFID Sourebook, Prentice-Hall, Inc., New Jersey.
[7] Sanghera, Paul, Frank Thomton, Brad Haines, Francesco Kun Mang Fung, John
Kleinschmidt, Armand M. Das, Hersh Bhargava, Anita Campbell, 2007, How to
Cheat at Developing and Securing RFID, Elsever Inc., Burlington.
[8] Priambodo, Anthonius Rendi, 2014, Prototipe Sistem Parkir Menggunakan RFID
Berbasis Arduino, Universitas Sanata Dharman, Yogyakarta.
[9] Khairiniskam, H.I., Wibowo, I.D., dan Anwardi, M. I., 2008, Perancangan dan
Implementasi Sistem Tiket Busway Menggunakan Teknologi Smart Card,
http://library.binus.ac.id/eColls/eThesis/Bab2/2008-2-00453-SK%20Bab%202.pdf,
diakses tanggal 17 Okotober 2015.
[10] Winarsih, Irda dan Mahendra, Reza 2009, Sistem otomatis Menggunakan RFID
Berbasis Mikrokontroler AT 8951, http://blog.trisakti.ac.id/jetri/files/2010/06/-16.2-
Irda-Reza-parkir-otomatis-2136.pdf, diakses tanggal 29 Oktober 2015.
[11] -----,-----, Mindwave Solutions, http://www.mindwaveglobal.com/solutions-
/enterprise-solutions/rfid-solutions/, diakses tanggal 03 November 2015.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
[12] -----, -----, ID Series Datasheet, https://www.sparkfun.com/datasheets/Sensors/ID-
12-Datasheet.pdf, diakses tanggal 03 November 2015.
[13] Wibowo, Oscar P., 2009, Sistem informasi Kepegawaian dan Penggajian
Meggunakan Java dan MySQL (Studi Kasus Kodam I/Bukit Barisan), Universitas
Sanata Dharma, Yogyakarta.
[14] SE, Tomy, -----, Membuat Sistem Aplikasi Minimarket (Point of Sale) dengan
Visual Basic 6.0 dan MySQL 5, PT. Elex Media Komputindo.
[15] Frans NewMan, 2002, Aplikasi Internet Dengan Visual Basic 6.0, Elex Media
Komputindo, Jakarta.
[16] Riyana, Eva Marta, 2007, Pengandali Utama Pada Pemodelan Rumah Pintar
Berbasis Visual Basic 6.0, Universitas Sanata Dharma, Yogyakarta.
[17] -----, 2012, Diktat Pemrograman Antarmuka, Universitas Sanata Dharma,
Yogyakarta.
[18] -----, -----, ATMEL 8-bit AVR Mikrokontroler with 32Kbytes In-System
Programmable Flash ATMega32, ATMega32L,
www.techniks.com/Files/atmega32datasheet.pdf, diakses tanggal 04 November
2015.
[19] Agus Bejo, 2008, C dan AVR Rahasia Kemudahan Bahasa C dalam
Mikrokontroler ATMega8535, 1st ed, GRAHA ILMU, Yogyakarta.
[20] Fathoni, Oktober 2010, Unjuk Kerja Catu Daya 12 Volt 2A dengan Pass Element
Transistor NPN dan PNP, Jurnal Neutrino, Vol.3, No.1.
[21] -----, -----, -----, Servo Datasheet, http://www.servodatabase.com, diakses tanggal
10 November 2015.
[22] Boylestad, R. and Nashelsky, L., -----, Electronic Devices and Circuit Theory,
seventh edition, Prentice Hall, New Jersey Columbus, Ohio.
[23] Setiawan, A., 2011, 20 Aplikasi Mikrokotroler ATMega8535 dan ATMega16, Andi,
Yogyakarta.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
[24] Frank D. Petruzella, 2001, Elektronika Industri, 2nd
ed, ANDI, Yogyakarta.
[25] Budiharto, W., 2014, Robotika Modern – Teori dan Implementasi, edisi revisi, C.V
Andi Offset, Yogyakarta.
[26] Zairi, Tomy Abu, 2009, Rancang BangunSistem Parkir Otomatis Berbasis
Teknologi RFID Reader DL-019 dan Tag Pasif EPC GEN2 Dengan Fitur Sistem
Debit Biaya Parkir Via SMS, Univeritas Indonesia, Jakarta.
[27] Everlight, 2004, Technical Datasheet 3mm Silicon PIN Photodiode T-1,
www.everlight.com
[28] Everlight, 2005, Technical Datasheet 5mm Infrared Led T-1 ¾, www.everlight.com
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LISTING PROGRAM
ARDUINO UNO
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 1
#include <avr/io.h>
#include <avr/interrupt.h>
#include <Wire.h>
#include <Servo.h>
/*Inisialisasi Servo*/
Servo servoa;
Servo servob;
/*inisialisasi Sensor Photodioda*/
volatile int waktu=0;
volatile int waktu2=0;
int kontroltimer=0;
int kontroltimer2=0;
int kontrolservo=0;
int kontrolservo2=0;
int servturun=0;
int turun=0;
ISR(TIMER1_OVF_vect)
TCNT1=49911;
if(kontroltimer==1)
waktu++;
if(waktu==15)
kontrolservo=1;
waktu=0;
if(kontroltimer2==1)
waktu2++;
if(waktu2==15)
kontrolservo2=1;
waktu2=0;
/*inisialisasi RFID SL018*/
#define TAG2 A3//pin A3
#define TAG1 A2//pin A2
/*Inisialisasi Variabel Baca RFID SL018*/
int data[33], panjang, perintah, kondisi, panjang2;
char* mifare[] = "1K", "Pro", "UltraLight", "4K", "ProX", "DesFire";
int buff = 0;
void setup()
// put your setup code here, to run once:
Wire.begin();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 2
Serial.begin(9600);
Serial1.begin(9600);
Serial2.begin(9600);
servoa.attach(5);
servob.attach(7);
servoa.write(0);
servob.write(0);
cli();
TCCR1A=0;
TCCR1B=0;
TCNT1=49911; //preload 1Hz
TCCR1B|=(1<<CS12)|(1<<CS10); //prescaller 1024
TIMSK1|=(1<<TOIE1);
sei();
attachInterrupt(0,aksi,FALLING);
attachInterrupt(1,jalan,FALLING);
void loop()
// put your main code here, to run repeatedly:
if (Serial1.available())
int inByte = Serial1.read();
Serial.write(inByte);
else if (Serial2.available())
int inByte = Serial2.read();
Serial.write(inByte);
else
Wire.beginTransmission(0x50);
Wire.write(1);
Wire.write(1);
Wire.endTransmission();
if (digitalRead(TAG2) == 0)
bacaID(TAG2);
Serial.println(bacaID(TAG2));
panjang = 0;
perintah = 0;
kondisi = 0;
byte type = 0;
while (digitalRead(TAG2) == 0)
if (digitalRead(TAG1) == 0)
bacaID(TAG1);
Serial.println(bacaID(TAG1));
panjang = 0;
perintah = 0;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 3
kondisi = 0;
byte type = 0;
while (digitalRead(TAG1) == 0)
if (Serial.available() > 0)
buff = Serial.read();
switch (buff)
case 'a':
servoa.write(90);
servturun=1;
break;
case 'b':
servob.write(90);
turun=1;
break;
case 'c':
servoa.write(0);
break;
case 'd':
servob.write(0);
break;
if(kontrolservo==1)
buff = 'c';
kontrolservo=0;
if(kontrolservo2==1)
buff = 'd';
kontrolservo2=0;
/*Subrutin baca RFID SL018*/
int bacaID(boolean TAG)
while (digitalRead(TAG) == 0)
Wire.requestFrom(0x50, 11);
if (Wire.available())
panjang = Wire.read();
perintah = Wire.read();
kondisi = Wire.read();
panjang -= 2;
panjang2 = panjang - 1;
while (--panjang)
data[panjang] = Wire.read();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 4
byte type = Wire.read();
return 1;
Wire.endTransmission();
/*Interrupt 1*/
void aksi()
if(servturun==1)
kontroltimer=1;
/*Interrupt 2*/
void jalan()
if(turun==1)
kontroltimer2=1;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LISTING PROGRAM
MIKROKONTROLER
AVR ATMEGA32
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 5
/*******************************************************
This program was created by the CodeWizardAVR V3.26
Automatic Program Generator
© Copyright 1998-2016 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project : Coba lagi baca rfid
Version :
Date : 6/24/2016
Author :
Company :
Comments:
Chip type : ATmega32
Program type : Application
AVR Core Clock frequency: 11.059200 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 512
*******************************************************/
#include <io.h>
#include <stdio.h>
#include <delay.h>
#define alamat 0xA0
// TWI functions
#asm
.equ __i2c_port=0x15; PORTC
.equ __sda_bit=1;
.equ __scl_bit=0;
#endasm
#include <i2c.h>
#include <twi.h>
// Alphanumeric LCD functions
#asm
.equ __lcd_port=0x1B; PPORTA
#endasm
#include <alcd.h>
// Declare your global variables here
unsigned char buff[16];
void main(void)
// Declare your local variables here
//unsigned char data[33];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 6
int data[33];
// Input/Output Ports initialization
// Port A initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) |
(0<<DDA2) | (0<<DDA1) | (0<<DDA0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) |
(0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);
// Port B initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2)
| (0<<DDB1) | (0<<DDB0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) |
(0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);
// Port C initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2)
| (0<<DDC1) | (0<<DDC0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) |
(0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);
// Port D initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) |
(0<<DDD2) | (0<<DDD1) | (0<<DDD0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) |
(0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=(0<<WGM00) | (0<<COM01) | (0<<COM00) | (0<<WGM01) | (0<<CS02) |
(0<<CS01) | (0<<CS00);
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Disconnected
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 7
// OC1B output: Disconnected
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) |
(0<<WGM11) | (0<<WGM10);
TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) |
(0<<CS11) | (0<<CS10);
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0<<AS2;
TCCR2=(0<<PWM2) | (0<<COM21) | (0<<COM20) | (0<<CTC2) | (0<<CS22) |
(0<<CS21) | (0<<CS20);
TCNT2=0x00;
OCR2=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) |
(0<<TOIE1) | (0<<OCIE0) | (0<<TOIE0);
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00);
MCUCSR=(0<<ISC2);
// USART initialization
// USART disabled
UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (0<<TXEN) |
(0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);
// Analog Comparator initialization
// Analog Comparator: Off
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 8
// The Analog Comparator's positive input is
// connected to the AIN0 pin
// The Analog Comparator's negative input is
// connected to the AIN1 pin
ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) |
(0<<ACIS1) | (0<<ACIS0);
SFIOR=(0<<ACME);
// ADC initialization
// ADC disabled
ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) |
(0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0);
// SPI initialization
// SPI disabled
SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) |
(0<<SPR1) | (0<<SPR0);
// TWI initialization
// Mode: TWI Master
// Bit Rate: 100 kHz
twi_master_init(100);
// Alphanumeric LCD initialization
// Connections are specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTA Bit 0
// RD - PORTA Bit 1
// EN - PORTA Bit 2
// D4 - PORTA Bit 4
// D5 - PORTA Bit 5
// D6 - PORTA Bit 6
// D7 - PORTA Bit 7
// Characters/line: 16
lcd_init(16);
// Globally enable interrupts
#asm("sei")
lcd_gotoxy(0,0);
lcd_putsf("Baca RFID");
delay_ms(2000);
while (1)
// Place your code here
if (PINC.6==0)
i2c_start();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 9
i2c_write(alamat);
i2c_write(0);
i2c_stop();
i2c_start();
i2c_write(alamat|1);
data[16]=i2c_read(0);
i2c_stop();
lcd_clear();
lcd_gotoxy(0,0);
sprintf(buff,"%d",data); //kalau pakai perintah ini
//yang muncul di lcd angka 542 kak
lcd_puts(buff);
else
lcd_clear();
lcd_gotoxy(0,1);
lcd_putsf("Tidak ada kartu");
if (PINA.0==1)
jalan();
delay_ms(200);
if (PINA.2==1)
for (dataservo1=91;dataservo1>=45;dataservo1--)
delay_ms(60);
delay_ms(400);
diam();
else
jalan();
else if (PINA.1==1)
jln();
delay_ms(200);
if (PINA.3==1))
for (dataservo2=91;dataservo2>=45;dataservo2--)
delay_ms(60);
delay_ms(400);
dm();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 10
else
jln();
else
servo1=0;
servo2=0;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LISTING PROGRAM
VISUAL BASIC 6.0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 11
LISTING PROGRAM HALAMAN LOGIN
Option Explicit
Dim max As Integer
Private Sub Command1_Click()
If Text1.Text = "" Then
MsgBox "USERNAME MASIH KOSONG!!", vbCritical, vbOKOnly, "ERROR"
Text1.SetFocus
ElseIf Text2.Text = "" Then
MsgBox "PASSWORD MASIH KOSONG!!", vbCritical, vbOKOnly, "ERROR"
Else
Call BukaDatabase
On Error Resume Next
sql = ""
sql = "SELECT * FROM mydb.admin WHERE username = '" & Text1.Text & "' " _
& " AND password = '" & Text2.Text & "'"
Set rs = koneksi.Execute(sql)
If Not rs.BOF Then
If Text1.Text = "satpam" Then
With MDIForm1
.Enabled = True
.mnuHome.Enabled = True
.mnuActivity.Enabled = True
.mnuRegistration.Enabled = True
.mnuInformation.Enabled = True
.mnuInfoResidenceMemberView.Enabled = True
.mnuInfoResidenceMemberEdit.Enabled = False
.mnuInfoSecurityGuardView.Enabled = True
.mnuInfoSecurityGuardEdit.Enabled = False
.mnuInformationLibrary.Enabled = True
.mnuLogout.Enabled = True
End With
Unload Me
Else
With MDIForm1
.Enabled = True
.mnuHome.Enabled = True
.mnuActivity.Enabled = True
.mnuRegistration.Enabled = True
.mnuInformation.Enabled = True
.mnuInfoResidenceMemberView.Enabled = True
.mnuInfoResidenceMemberEdit.Enabled = True
.mnuInfoSecurityGuardView.Enabled = True
.mnuInfoSecurityGuardEdit.Enabled = True
.mnuInformationLibrary.Enabled = True
.mnuLogout.Enabled = True
End With
Unload Me
End If
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 12
userLogin = rs!UserName
namaLogin = rs!nama_adm
sttsLogin = True
Unload Me
Else
sttsLogin = False
If max < 3 Then
MsgBox "PASSWORD MASIH SALAH, SILAHKAN ULANGI LAGI!", vbCritical +
vbOKOnly, "ERROR"
Text2.Text = ""
Text2.SetFocus
max = max + 1
Else
MsgBox "SUDAH 3x LOGIN SALAH, ULANGI BEBERAPA SAAT LAGI!", vbCritical +
vbOKOnly, "ERROR"
End If
End If
End If
End Sub
Private Sub Form_Load()
MDIForm1.Show
sttsLogin = False
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
SendKeys "tab"
End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
SendKeys "tab"
End If
End Sub
LISTING PROGRAM HALAMAN UTAMA
Private Sub mnuActivity_Click()
Form5.Show
MDIForm1.Enabled = False
Unload Me
End Sub
Private Sub mnuInfoResidenceMemberEdit_Click()
Form3.Show
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 13
MDIForm1.Enabled = False
Unload Me
End Sub
Private Sub mnuInfoResidenceMemberView_Click()
Form3.Show
MDIForm1.Enabled = False
Unload Me
End Sub
Private Sub mnuInformationLibrary_Click()
Form6.Show
MDIForm1.Enabled = False
Unload Me
End Sub
Private Sub mnuInfoSecurityGuardEdit_Click()
Form4.Show
MDIForm1.Enabled = False
Unload Me
End Sub
Private Sub mnuInfoSecurityGuardView_Click()
Form4.Show
MDIForm1.Enabled = False
Unload Me
End Sub
Private Sub mnuRegistration_Click()
Form2.Show
MDIForm1.Enabled = False
Unload Me
End Sub
LISTING PROGRAM HALAMAN PENDAFTARAN
Private Sub Command1_Click()
If Text9.Text = "" Then
MsgBox "KODE BELUM TERBENTUK!", vbCritical, "ERROR"
Text9.SetFocus
ElseIf Text1.Text = "" Then
MsgBox "NOMOR IDENTITAS BELUM DIISI!!", vbCritical, "ERROR"
Text1.SetFocus
ElseIf Text2.Text = "" Then
MsgBox "NAMA TAMU BELUM DIISI!!", vbCritical, "ERROR"
Text2.SetFocus
ElseIf Text3.Text = "" Then
MsgBox "NOMOR TELEPON BELUM DIISI!!", vbCritical, "ERROR"
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 14
Text3.SetFocus
ElseIf Text5.Text = "" Then
MsgBox "PEKERJAAN BELUM DIISI!!", vbCritical, "ERROR"
Text5.SetFocus
ElseIf Text6.Text = "" Then
MsgBox "ALAMAT TINGGAL BELUM DIISI!!", vbCritical, "ERROR"
Text6.SetFocus
ElseIf Text7.Text = "" Then
MsgBox "ALAMAT TUJUAN BELUM DIISI!!", vbCritical, "ERROR"
Text7.SetFocus
ElseIf Text8.Text = "" Then
MsgBox "NOMOR KENDARAAN BELUM DIISI!!", vbCritical, "ERROR"
Text8.SetFocus
Else
Dim kelamin As String
If obkelamin(0).Value = True Then
kelamin = "Laki - Laki"
Else
kelamin = "Perempuan"
End If
strSQL = "INSERT INTO tamu(idtamu, rfid_tamu, nama_tamu, telepon, gender, job, origin,
add_visit, nopol)" _
& "VALUES('" & Text9.Text & "', '" & Text1.Text & "','" & Text2.Text & "','" & Text3.Text
& "', '" & kelamin & "','" & Text5.Text & "', '" & Text6.Text & "','" & Text7.Text & "', '" & Text8.Text
& "')"
koneksi.Execute strSQL, , adCmdText
MsgBox "SUKSES !! DATA BERHASIL DISIMPAN!", vbInformation, "Information"
End If
Call formkosong
Call kodeotomatis
Text1.SetFocus
End Sub
Private Sub Command2_Click()
If kode = "" Then
MsgBox "BELUM ADA DATA DIPILIH!", vbCritical, "ERROR"
FlexGrid1.SetFocus
Else
konfirmasi = MsgBox("ARE YOU SURE WANT TO DELETE THIS DATA?", vbYesNo +
vbQuestion, "Informastion")
If konfirmasi = vbYes Then
strSQL = ""
strSQL = "DELETE FROM tamu WHERE idtamu='" & kode & "'"
koneksi.Execute strSQL, , adCmdText
rs.Requery
Call gridDataFresh
MsgBox "SUCCESS !! YOUR DATA HAS BEEN DELETED!", vbInformation, "SUCCSESS"
End If
End If
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 15
Call formkosong
Call kodeotomatis
Call gridDataFresh
End Sub
Private Sub FlexGrid1_Click()
If FlexGrid1.Rows <= 1 Then
Exit Sub
Else
baris = FlexGrid1.Row
kode = FlexGrid1.TextMatrix(baris, 1)
Call dataPilih
End If
End Sub
Private Sub Form_Load()
Call BukaDatabase
Call kodeotomatis
Call gridDataFresh
Text9.Locked = True
Command2.Enabled = False
End Sub
Public Sub kodeotomatis()
Set rs = New ADODB.Recordset
strSQL = "SELECT idtamu FROM tamu ORDER BY idtamu"
rs.Open strSQL, koneksi, adOpenDynamic, adLockBatchOptimistic
If Not rs.BOF Then
rs.MoveLast
baru = rs!idtamu
baru = Right(baru, 3)
baru = Val(baru + 1)
If Len(kodebaru) > 3 Then
MsgBox "KODE BARU MELEWATI BATAS, BELUM BISA LEBIH DARI 999", vbCritical,
"ERROR"
Exit Sub
End If
baru = "T" & Format(baru, "000")
Else
baru = "T001"
End If
Text9.Text = baru
End Sub
Sub formkosong()
Text9.Text = ""
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 16
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
End Sub
Sub dataPilih()
Command2.Enabled = True
strSQL = "SELECT * FROM tamu WHERE rfid_tamu='" & kode & "'"
Set rs = New ADODB.Recordset
rs.Open strSQL, koneksi, adOpenDynamic, adLockBatchOptimistic
If Not rs.BOF Then
Text9.Text = rs!idtamu
Text1.Text = rs!rfid_tamu
Text2.Text = rs!nama_tamu
Text3.Text = rs!telepon
Text5.Text = rs!job
Text6.Text = rs!origin
Text7.Text = rs!add_visit
Text8.Text = rs!nopol
If rs!gender = "Laki - Laki" Then
obkelamin(0).Value = True
Else
obkelamin(1).Value = True
End If
Else
MsgBox "THERE IS NO DATA SELECTED!!", vbInformation, "Information"
End If
End Sub
Sub gridDataFresh()
strSQL = "SELECT * FROM tamu ORDER BY idtamu ASC"
Set rs = New ADODB.Recordset
rs.Open strSQL, koneksi, adOpenDynamic, adLockBatchOptimistic
Call AktifkanFlex
Call TampilkanFlexData
End Sub
Sub AktifkanFlex()
With FlexGrid1
.Cols = 7
.Rows = 2
.Col = 0
.Row = 0
.Text = "NO"
.CellFontBold = True
.ColWidth(0) = 400
.CellAlignment = flexAlignCenterCenter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 17
.Col = 1
.Row = 0
.Text = "NO. RFID"
.CellFontBold = True
.ColWidth(1) = 1500
.CellAlignment = flexAlignCenterCenter
.Col = 2
.Row = 0
.Text = "FULL NAME"
.CellFontBold = True
.ColWidth(2) = 3000
.CellAlignment = flexAlignCenterCenter
.Col = 3
.Row = 0
.Text = "PHONE NUMBER"
.CellFontBold = True
.ColWidth(3) = 2500
.CellAlignment = flexAlignCenterCenter
.Col = 4
.Row = 0
.Text = "GENDER"
.CellFontBold = True
.ColWidth(4) = 1500
.CellAlignment = flexAlignCenterCenter
.Col = 5
.Row = 0
.Text = "ADDRESS"
.CellFontBold = True
.ColWidth(5) = 5000
.CellAlignment = flexAlignCenterCenter
.Col = 6
.Row = 0
.Text = "POLICE NUMBER"
.CellFontBold = True
.ColWidth(6) = 2000
.CellAlignment = flexAlignCenterCenter
End With
End Sub
Sub TampilkanFlexData()
Dim no As Integer
FlexGrid1.Rows = 2
no = 0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 18
If rs.BOF Then
MsgBox "THERE IS NO DATA!!", vbInformation, "Information"
Exit Sub
Else
rs.MoveFirst
On Error Resume Next
Do While Not rs.EOF
no = no + 1
FlexGrid1.Rows = no + 1
FlexGrid1.TextMatrix(no, 0) = no
FlexGrid1.TextMatrix(no, 1) = rs!rfid_tamu
FlexGrid1.TextMatrix(no, 2) = rs!nama_tamu
FlexGrid1.TextMatrix(no, 3) = rs!telepon
FlexGrid1.TextMatrix(no, 4) = rs!gender
FlexGrid1.TextMatrix(no, 5) = rs!origin
FlexGrid1.TextMatrix(no, 6) = rs!nopol
rs.MoveNext
Loop
FlexGrid1.Rows = 101 + no
End If
End Sub
Private Sub mnuActivity_Click()
Form5.Show
Form2.Enabled = False
Unload Me
End Sub
Private Sub mnuHome_Click()
MDIForm1.Show
Form2.Enabled = False
Unload Me
End Sub
Private Sub mnuInfoResidenceMemberEdit_Click()
Form3.Show
Form2.Enabled = False
Unload Me
End Sub
Private Sub mnuInfoResidenceMemberView_Click()
Form7.Show
Form2.Enabled = False
Unload Me
End Sub
Private Sub mnuInformationLibrary_Click()
Form6.Show
Form2.Enabled = False
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 19
Unload Me
End Sub
Private Sub mnuInfoSecurityGuardEdit_Click()
Form4.Show
Form2.Enabled = False
Unload Me
End Sub
Private Sub mnuInfoSecurityGuardView_Click()
Form8.Show
Form2.Enabled = False
Unload Me
End Sub
Private Sub mnuLogout_Click()
Dim p As Integer
p = MsgBox("Are you sure want to quit this application?", vbOKCancel, "WARNING")
If p = vbOK Then
Form1.Show
Else
Form2.Show
End If
End Sub
Private Sub obkelamin_KeyPress(Index As Integer, KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
Text5.SetFocus
KeyAscii = 0
End If
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
Text2.SetFocus
KeyAscii = 0
End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
Text3.SetFocus
KeyAscii = 0
End If
End Sub
Private Sub Text3_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
obkelamin(0).SetFocus
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 20
KeyAscii = 0
End If
End Sub
Private Sub Text5_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
Text6.SetFocus
KeyAscii = 0
End If
End Sub
Private Sub Text6_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
Text7.SetFocus
KeyAscii = 0
End If
End Sub
Private Sub Text7_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
Text8.SetFocus
KeyAscii = 0
End If
End Sub
Private Sub Text8_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
Command1.SetFocus
KeyAscii = 0
End If
End Sub
LISTING PROGRAM HALAMAN INFORMASI AKTIVITAS
Private Sub Command1_Click()
If MSComm1.PortOpen = False Then
MSComm1.CommPort = 10
MSComm1.Settings = "9600,n,8,1"
MSComm1.PortOpen = True
End If
Call terima_data
End Sub
Sub terima_data()
Dim inbuff As String
Dim dt_a As String
inbuff = MSComm1.Input
If inbuff <> "" Then
dt_a = Mid$(inbuff, 1, 12)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 21
End If
Text3.Text = dt_a
End Sub
Private Sub Command2_Click()
LaporanAktivitas.Show
End Sub
Private Sub Command3_Click()
MSComm1.Output = "y" & Chr$(13)
End Sub
Private Sub Form_Load()
Call BukaDatabase
Call gridDataFresh
End Sub
Private Sub Form_Resize()
FlexGrid1.Width = Me.Width - 500
FlexGrid1.Height = Me.Height - 200
Label1.RightToLeft = Me.Width - (Label1.Width + 400)
Label1.Top = 0
End Sub
Sub gridDataFresh()
strSQL = "SELECT * FROM aktivitas ORDER BY idaktivitas ASC"
Set rs = New ADODB.Recordset
rs.Open strSQL, koneksi, adOpenDynamic, adLockBatchOptimistic
Call AktifkanGridData
Call TampilkanGrid
End Sub
Sub AktifkanGridData()
With FlexGrid1
.Cols = 8
.Rows = 2
.Col = 0
.Row = 0
.Text = "NO"
.CellFontBold = True
.ColWidth(0) = 400
.CellAlignment = flexAlignCenterCenter
.Col = 1
.Row = 0
.Text = "DATE"
.CellFontBold = True
.ColWidth(1) = 1500
.CellAlignment = flexAlignCenterCenter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 22
.Col = 2
.Row = 0
.Text = "TIME"
.CellFontBold = True
.ColWidth(2) = 1500
.CellAlignment = flexAlignCenterCenter
.Col = 3
.Row = 0
.Text = "NO.RFID"
.CellFontBold = True
.ColWidth(3) = 1500
.CellAlignment = flexAlignCenterCenter
.Col = 4
.Row = 0
.Text = "FULL NAME"
.CellFontBold = True
.ColWidth(4) = 4000
.CellAlignment = flexAlignCenterCenter
.Col = 5
.Row = 0
.Text = "GENDER"
.CellFontBold = True
.ColWidth(5) = 1500
.CellAlignment = flexAlignCenterCenter
.Col = 6
.Row = 0
.Text = "ADDRESS"
.CellFontBold = True
.ColWidth(6) = 6000
.CellAlignment = flexAlignCenterCenter
.Col = 7
.Row = 0
.Text = "POLICE NUMBER"
.CellFontBold = True
.ColWidth(6) = 2500
.CellAlignment = flexAlignCenterCenter
End With
End Sub
Sub panggilPemilik()
strSQL = "SELECT * FROM pemilik ORDER BY rfid ASC"
Set rs = New ADODB.Recordset
rs.Open strSQL, koneksi, adOpenDynamic, adLockBatchOptimistic
End Sub
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 23
Sub panggilTamu()
strSQL = "SELECT * FROM tamu ORDER BY rfid_tamu ASC"
Set rs = New ADODB.Recordset
rs.Open strSQL, koneksi, adOpenDynamic, adLockBatchOptimistic
End Sub
Sub TampilkanGrid()
Dim no As Integer
FlexGrid1.Rows = 2
no = 0
If rs.BOF Then
MsgBox "SORRY CAN'T FIND THE DATA!! PLEASE ADD FIRST!", vbInformation,
"Information"
Exit Sub
Else
If Text3.Text = "4B00A97FCB" Then
Call panggilPemilik
rs.MoveFirst
On Error Resume Next
Do While Not rs.EOF
no = no + 1
FlexGrid1.Rows = no + 1
FlexGrid1.TextMatrix(no, 0) = no
FlexGrid1.TextMatrix(no, 1) = rs!idpemilik
FlexGrid1.TextMatrix(no, 2) = rs!rfid
FlexGrid1.TextMatrix(no, 3) = rs!nama_own
FlexGrid1.TextMatrix(no, 4) = rs!gender_own
FlexGrid1.TextMatrix(no, 5) = rs!telpon_own
FlexGrid1.TextMatrix(no, 6) = rs!alamat
FlexGrid1.TextMatrix(no, 7) = rs!plat_own
rs.MoveNext
Loop
FlexGrid1.Rows = 101 + no
Else
Call panggilTamu
rs.MoveFirst
On Error Resume Next
Do While Not rs.EOF
no = no + 1
FlexGrid1.Rows = no + 1
FlexGrid1.TextMatrix(no, 0) = no
FlexGrid1.TextMatrix(no, 1) = rs!idtamu
FlexGrid1.TextMatrix(no, 2) = rs!rfid_tamu
FlexGrid1.TextMatrix(no, 3) = rs!nama_tamu
FlexGrid1.TextMatrix(no, 4) = rs!gender
FlexGrid1.TextMatrix(no, 5) = rs!telepon
FlexGrid1.TextMatrix(no, 6) = rs!add_visit
FlexGrid1.TextMatrix(no, 7) = rs!nopol
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 24
rs.MoveNext
Loop
FlexGrid1.Rows = 101 + no
End If
End If
End Sub
Private Sub mnuHome_Click()
MDIForm1.Show
Form5.Enabled = False
Unload Me
End Sub
Private Sub mnuInfoResidenceMemberEdit_Click()
Form3.Show
Form5.Enabled = False
Unload Me
End Sub
Private Sub mnuInfoResidenceMemberView_Click()
Form7.Show
Form5.Enabled = False
Unload Me
End Sub
Private Sub mnuInformationLibrary_Click()
Form6.Show
Form5.Enabled = False
Unload Me
End Sub
Private Sub mnuInfoSecurityGuardEdit_Click()
Form4.Show
Form5.Enabled = False
Unload Me
End Sub
Private Sub mnuInfoSecurityGuardView_Click()
Form8.Show
Form5.Enabled = False
Unload Me
End Sub
Private Sub mnuLogout_Click()
Dim p As Integer
p = MsgBox("Are you sure want to quit this application?", vbOKCancel, "WARNING")
If p = vbOK Then
Form1.Show
Else
Form5.Show
End If
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 25
End Sub
Private Sub mnuRegistration_Click()
Form2.Show
Form5.Enabled = False
Unload Me
End Sub
Private Sub FlexGrid1_Click()
If FlexGrid1.Rows <= 1 Then
Exit Sub
Else
baris = FlexGrid1.Row
kode = FlexGrid1.TextMatrix(baris, 1)
End If
End Sub
LISTING PROGRAM HALAMAN INFORMASI DATA KEPENDUDUKAN
Private Sub Command1_Click()
Command1.Enabled = False
Command3.Enabled = True
Command4.Enabled = True
End Sub
Sub dataPilihkeForm() 'belum bisa nampilin anggota keluarga
strSQL = "SELECT * FROM member WHERE pemilik_idpemilik='" & kode & "'"
Set rs = New ADODB.Recordset
rs.Open strSQL, koneksi, adOpenDynamic, adLockBatchOptimistic
strSQL = "SELECT * FROM pemilik WHERE idpemilik='" & kode & "'"
Set rs = New ADODB.Recordset
rs.Open strSQL, koneksi, adOpenDynamic, adLockBatchOptimistic
If Not rs.BOF Then
Text8.Text = rs!idpemilik
Text7.Text = rs!rfid
Text1.Text = rs!ktp_own
Text2.Text = rs!nama_own
Text3.Text = rs!telpon_own
Text4.Text = rs!alamat
Text5.Text = rs!plat_own
If rs!gender_own = "Laki - Laki" Then
kelamin(0).Value = True
Else
kelamin(1).Value = True
End If
Else
MsgBox "THERE IS NO DATA SELECTED!", vbInformation, "Information"
Call kodeotomatis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 26
Exit Sub
End If
End Sub
Sub formkosong()
Text8.Text = ""
Text7.Text = ""
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
End Sub
Sub kodeotomatis()
Set rs = New ADODB.Recordset
strSQL = "SELECT idpemilik FROM pemilik ORDER BY idpemilik"
rs.Open strSQL, koneksi, adOpenDynamic, adLockBatchOptimistic
If Not rs.BOF Then
rs.MoveLast
baru = rs!idpemilik
baru = Right(baru, 3)
baru = Val(baru) + 1
If Len(baru) > 3 Then
MsgBox "YOUR CODE INVALID!!", vbCritical, "ERROR"
Exit Sub
End If
baru = "P" & Format(baru, "000")
Else
baru = "P001"
End If
Text8.Text = baru
End Sub
Private Sub Command3_Click()
If kode = "" Then
MsgBox "PERIKSA KEMBALI DATA!! BELUM ADA DATA YANG DIPILIH!!!", vbCritical,
"WARNING"
Else
konfirm = MsgBox("ARE YOU SURE WANT TO DELETE THE DATA?", vbQuestion +
vbYesNo, "INFORMATION")
If konfirm = vbYes Then
strSQL = ""
strSQL = "DELETE FROM pemilik WHERE idpemilik='" & kode & "'"
koneksi.Execute strSQL, , adCmdText
strSQL = ""
strSQL = "DELETE FROM member WHERE pemilik_idpemilik='" & kode & "'"
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 27
koneksi.Execute strSQL, , adCmdText
MsgBox "DATA HAS BEEN DELETED!", vbInformation, "SUCCSESS"
End If
End If
Call gridDataFresh
End Sub
Private Sub Command4_Click()
If Text8.Text = "" Then
MsgBox "NOMOR PEMILIK MASIH KOSONG!", vbCritical, "WARNING"
Text8.SetFocus
End If
If Text7.Text = "" Then
MsgBox "ID PEMILIK MASIH KOSONG!", vbCritical, "WARNING"
Text7.SetFocus
End If
If Text1.Text = "" Then
MsgBox "NOMOR KARTU IDENTITAS PEMILIK MASIH KOSONG!", vbCritical, "WARNING"
Text1.SetFocus
End If
If Text2.Text = "" Then
MsgBox "NAMA PEMILIK MASIH KOSONG!", vbCritical, "WARNING"
Text2.SetFocus
End If
If Text3.Text = "" Then
MsgBox "NOMOR TELEPON PEMILIK MASIH KOSONG!", vbCritical, "WARNING"
Text3.SetFocus
End If
If Text4.Text = "" Then
MsgBox "ALAMAT RUMAH PEMILIK MASIH KOSONG!", vbCritical, "WARNING"
Text4.SetFocus
End If
If Text5.Text = "" Then
MsgBox "NOMOR KENDARAAN PEMILIK MASIH KOSONG!", vbCritical, "WARNING"
Text5.SetFocus
End If
If Text6.Text = "" Then
MsgBox "ANGOOTA KELUARGA PEMILIK MASIH KOSONG!", vbCritical, "WARNING"
Text6.SetFocus
End If
Dim gender As String
If kelamin(0).Value = True Then
gender = "Laki - Laki"
Else
gender = "Perempuan"
End If
Command1.Enabled = True
Command2.Enabled = False
Command3.Enabled = True
Command4.Enabled = False
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 28
Command5.Enabled = True
strSQL = ""
strSQL = "UPDATE pemilik SET rfid='" & Text7.Text & "', " _
& "ktp_own='" & Text1.Text & "'," _
& "nama_own='" & Text2.Text & "'." _
& "telpon_own='" & Text3.Text & "'," _
& "alamat='" & Text4.Text & "'," _
& "gender_own='" & gender & "'," _
& "plat_own='" & Text5.Text & "'" _
& "WHERE idpemilik='" & Text8.Text & "'"
koneksi.Execute strSQL, , adCmdText
strSQL = "UPDATE member SET nama_member='" & Text6.Text & "'WHERE pemilik_idpemilik='"
& Text8.Text & "'"
koneksi.Execute strSQL, , adCmdText
MsgBox "SUCCSES!! YOUR DATA HAS BEEN UPDATED!", vbInformation, "SUCCSES"
Call gridDataFresh
End Sub
Private Sub Command5_Click()
If Text8.Text = "" Then
MsgBox "NOMOR PEMILIK MASIH KOSONG!", vbCritical, "WARNING"
Text8.SetFocus
End If
If Text7.Text = "" Then
MsgBox "ID PEMILIK MASIH KOSONG!", vbCritical, "WARNING"
Text7.SetFocus
End If
If Text1.Text = "" Then
MsgBox "NOMOR KARTU IDENTITAS PEMILIK MASIH KOSONG!", vbCritical, "WARNING"
Text1.SetFocus
End If
If Text2.Text = "" Then
MsgBox "NAMA PEMILIK MASIH KOSONG!", vbCritical, "WARNING"
Text2.SetFocus
End If
If Text3.Text = "" Then
MsgBox "NOMOR TELEPON PEMILIK MASIH KOSONG!", vbCritical, "WARNING"
Text3.SetFocus
End If
If Text4.Text = "" Then
MsgBox "ALAMAT RUMAH PEMILIK MASIH KOSONG!", vbCritical, "WARNING"
Text4.SetFocus
End If
If Text5.Text = "" Then
MsgBox "NOMOR KENDARAAN PEMILIK MASIH KOSONG!", vbCritical, "WARNING"
Text5.SetFocus
End If
If Text6.Text = "" Then
MsgBox "ANGOOTA KELUARGA PEMILIK MASIH KOSONG!", vbCritical, "WARNING"
Text6.SetFocus
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 29
End If
Dim gender As String
If kelamin(0).Value = True Then
gender = "Laki - Laki"
Else
gender = "Perempuan"
End If
Command1.Enabled = True
Command2.Enabled = True
Command3.Enabled = False
Command4.Enabled = False
Command5.Enabled = False
strSQL = ""
strSQL = "INSERT INTO
pemilik(idpemilik,rfid,ktp_own,nama_own,telpon_own,alamat,gender_own,plat_own)" _
& "VALUES('" & Text8.Text & "','" & Text7.Text & "','" & Text1.Text & "','" & Text2.Text &
"','" & Text3.Text & "','" & Text4.Text & "'," _
& "'" & gender & "','" & Text5.Text & "')"
koneksi.Execute strSQL, , adCmdText
strSQL = "INSERT INTO member(nama_member,pemilik_idpemilik) VALUES('" & Text6.Text &
"','" & Text8.Text & "')"
koneksi.Execute strSQL, , adCmdText
MsgBox "YOUR DATA HAS BEEN SUCCESSFULY SAVED!", vbInformation, "SUCCSESS"
Call formkosong
Call kodeotomatis
Text7.SetFocus
Call gridDataFresh
End Sub
Private Sub Form_Load()
Call BukaDatabase
Call kodeotomatis
Call gridDataFresh
Text8.Locked = True
Command3.Enabled = False
Command4.Enabled = False
Command5.Enabled = True
End Sub
Sub gridDataFresh()
strSQL = "SELECT * FROM member ORDER BY pemilik_idpemilik ASC"
Set rs = New ADODB.Recordset
rs.Open strSQL, koneksi, adOpenDynamic, adLockBatchOptimistic
strSQL = "SELECT * FROM pemilik ORDER BY idpemilik ASC"
Set rs = New ADODB.Recordset
rs.Open strSQL, koneksi, adOpenDynamic, adLockBatchOptimistic
Call AktifkanGridData
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 30
Call TampilkanGrid
End Sub
Sub AktifkanGridData()
With FlexGrid1
.Cols = 8
.Rows = 2
.Col = 0
.Row = 0
.Text = "NO"
.CellFontBold = True
.ColWidth(0) = 400
.CellAlignment = flexAlignCenterCenter
.Col = 1
.Row = 0
.Text = "CODE"
.CellFontBold = True
.ColWidth(1) = 700
.CellAlignment = flexAlignCenterCenter
.Col = 2
.Row = 0
.Text = "NO.RFID"
.CellFontBold = True
.ColWidth(2) = 1500
.CellAlignment = flexAlignCenterCenter
.Col = 3
.Row = 0
.Text = "FULL NAME"
.CellFontBold = True
.ColWidth(3) = 4000
.CellAlignment = flexAlignCenterCenter
.Col = 4
.Row = 0
.Text = "GENDER"
.CellFontBold = True
.ColWidth(4) = 2000
.CellAlignment = flexAlignCenterCenter
.Col = 5
.Row = 0
.Text = "PHONE NUMBER"
.CellFontBold = True
.ColWidth(5) = 2300
.CellAlignment = flexAlignCenterCenter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 31
.Col = 6
.Row = 0
.Text = "ADDRESS"
.CellFontBold = True
.ColWidth(6) = 6000
.CellAlignment = flexAlignCenterCenter
.Col = 7
.Row = 0
.Text = "POLICE NUMBER"
.CellFontBold = True
.ColWidth(6) = 2500
.CellAlignment = flexAlignCenterCenter
End With
End Sub
Sub TampilkanGrid()
Dim no As Integer
FlexGrid1.Rows = 2
no = 0
If rs.BOF Then
MsgBox "SORRY CAN'T FIND THE DATA!! PLEASE ADD FIRST!", vbInformation,
"Information"
Form3.Show
Exit Sub
Else
rs.MoveFirst
On Error Resume Next
Do While Not rs.EOF
no = no + 1
FlexGrid1.Rows = no + 1
FlexGrid1.TextMatrix(no, 0) = no
FlexGrid1.TextMatrix(no, 1) = rs!idpemilik
FlexGrid1.TextMatrix(no, 2) = rs!rfid
FlexGrid1.TextMatrix(no, 3) = rs!nama_own
FlexGrid1.TextMatrix(no, 4) = rs!gender_own
FlexGrid1.TextMatrix(no, 5) = rs!telpon_own
FlexGrid1.TextMatrix(no, 6) = rs!alamat
FlexGrid1.TextMatrix(no, 7) = rs!plat_own
rs.MoveNext
Loop
FlexGrid1.Rows = 101 + no
End If
End Sub
Private Sub kelamin_KeyPress(Index As Integer, KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
Text3.SetFocus
KeyAscii = 0
End If
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 32
End Sub
Private Sub mnuActivity_Click()
Form5.Show
Form3.Enabled = False
Unload Me
End Sub
Private Sub mnuHome_Click()
MDIForm1.Show
Form3.Enabled = False
Unload Me
End Sub
Private Sub mnuInfoResidenceMemberView_Click()
Form7.Show
Form3.Enabled = False
Unload Me
End Sub
Private Sub mnuInformasiLibrary_Click()
Form6.Show
Form3.Enabled = False
Unload Me
End Sub
Private Sub mnuInfoSecurityGuardEdit_Click()
Form4.Show
Form3.Enabled = False
Unload Me
End Sub
Private Sub mnuInfoSecurityGuardView_Click()
Form8.Show
Form3.Enabled = False
Unload Me
End Sub
Private Sub mnuLogout_Click()
Dim p As Integer
p = MsgBox("Are you sure want to quit this application?", vbOKCancel, "WARNING")
If p = vbOK Then
Form1.Show
Else
Form3.Show
End If
End Sub
Private Sub mnuRegistration_Click()
Form2.Show
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 33
Form3.Enabled = False
Unload Me
End Sub
Private Sub FlexGrid1_Click()
If FlexGrid1.Rows <= 1 Then
Exit Sub
Else
baris = FlexGrid1.Row
kode = FlexGrid1.TextMatrix(baris, 1)
Call dataPilihkeForm
End If
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
Text2.SetFocus
KeyAscii = 0
End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
kelamin(0).SetFocus
KeyAscii = 0
End If
End Sub
Private Sub Text3_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
Text4.SetFocus
KeyAscii = 0
End If
End Sub
Private Sub Text4_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
Text5.SetFocus
KeyAscii = 0
End If
End Sub
Private Sub Text5_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
Text6.SetFocus
KeyAscii = 0
End If
End Sub
Private Sub Text6_KeyPress(KeyAscii As Integer)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 34
If KeyAscii = vbKeyReturn Then
Command5.SetFocus
KeyAscii = 0
End If
End Sub
Private Sub Text7_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
Text1.SetFocus
KeyAscii = 0
End If
End Sub
Private Sub Text8_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
Text7.SetFocus
KeyAscii = 0
End If
End Sub
Private Sub Text9_Change()
strSQL = "SELECT * FROM pemilik WHERE nama_own LIKE '%" & Text9.Text & "%' ORDEY
BY idpemilik ASC"
Set rs = New ADODB.Recordset
rs.Open strSQL, koneksi, adOpenDynamic, adLockBatchOptimistic
Call TampilkanGrid
End Sub
LISTING PROGRAM HALAMAN INFORMASI DATA SATPAM
Private Sub Command1_Click()
Command1.Enabled = False
Command3.Enabled = True
Command4.Enabled = True
End Sub
Private Sub Command3_Click()
If kode = "" Then
MsgBox "DATA ON GRID ROWS HASN'T SELECTED", vbCritical, "ERROR"
FlexGrid1.SetFocus
Else
konfirmasi = MsgBox("ARE YOU SURE WANT TO DELETE THIS DATA?", vbYesNo +
vbQuestion, "Information")
If konfirmasi = vbYes Then
strSQL = ""
strSQL = "DELETE FROM admin WHERE idadmin='" & kode & "'"
koneksi.Execute strSQL, , adCmdText
rs.Requery
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 35
Call Form8.gridDataFresh
MsgBox "YOUR DATA HAS BEEN SUCCESSFULY DELETED!", vbInformation,
"Information"
End If
End If
Call formkosong
Call kodeotomatis
Call gridDataFresh
Command1.Enabled = True
Command3.Enabled = False
Command4.Enabled = False
Command5.Enabled = False
End Sub
Private Sub Command4_Click()
If Text6.Text = "" Then
MsgBox "KODE BELUM TERBENTUK!!", vbCritical, "ERROR"
Text6.SetFocus
ElseIf Text1.Text = "" Then
MsgBox "NOMOR KTP PETUGAS BELM TERISI!!", vbCritical, "ERROR"
Text1.SetFocus
ElseIf Text2.Text = "" Then
MsgBox "NAMA PETUGAS BELUM DIISI!!", vbCritical, "ERROR"
Text2.SetFocus
ElseIf Text3.Text = "" Then
MsgBox "USERNAME BELUM DIISI!!", vbCritical, "ERROR"
Text3.SetFocus
ElseIf Text4.Text = "" Then
MsgBox "PASSWORD BELUM TERISI!!", vbCritical, "ERROR"
Text4.SetFocus
Else
strSQL = "UPDATE admin SET idadmin='" & Text6.Text & "', nama_adm='" & Text2.Text & "',
ktp='" & Text1.Text & "'," _
& "username='" & Text3.Text & "', password='" & Text4.Text & "'"
koneksi.Execute strSQL, , adcmdtexxt
MsgBox "YOUR DATA HAS BEEN UPDATED!!", vbInformation, "Information"
End If
Call formkosong
Call kodeotomatis
Call gridDataFresh
Command1.Enabled = True
Command3.Enabled = True
Command4.Enabled = False
Command5.Enabled = True
End Sub
Private Sub Command5_Click()
If Text6.Text = "" Then
MsgBox "KODE BELUM TERBENTUK!!", vbCritical, "ERROR"
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 36
Text6.SetFocus
ElseIf Text1.Text = "" Then
MsgBox "NOMOR KTP PETUGAS BELM TERISI!!", vbCritical, "ERROR"
Text1.SetFocus
ElseIf Text2.Text = "" Then
MsgBox "NAMA PETUGAS BELUM DIISI!!", vbCritical, "ERROR"
Text2.SetFocus
ElseIf Text3.Text = "" Then
MsgBox "USERNAME BELUM DIISI!!", vbCritical, "ERROR"
Text3.SetFocus
ElseIf Text4.Text = "" Then
MsgBox "PASSWORD BELUM TERISI!!", vbCritical, "ERROR"
Text4.SetFocus
Else
strSQL = "INSERT INTO admin(idadmin, nama_adm, ktp, username, password)" _
& "VALUES('" & Text6.Text & "','" & Text2.Text & "','" & Text1.Text & "'," _
& "'" & Text3.Text & "','" & Text4.Text & "')"
koneksi.Execute strSQL, , adCmdText
MsgBox "YOUR DATA HAS BEEN UPDATED!!", vbInformation, "Information"
Text2.SetFocus
End If
Call formkosong
Call kodeotomatis
Call gridDataFresh
Command1.Enabled = True
Command3.Enabled = False
Command4.Enabled = False
End Sub
Private Sub FlexGrid1_Click()
If FlexGrid1.Rows <= 1 Then
Call formkosong
Call kodeotomatis
Exit Sub
Else
baris = FlexGrid1.Row
kode = FlexGrid1.TextMatrix(baris, 1)
Call dataPilihkeForm
End If
End Sub
Private Sub Form_Load()
Call BukaDatabase
Call kodeotomatis
Call gridDataFresh
Text6.Locked = True
Command2.Enabled = True
Command3.Enabled = False
Command4.Enabled = False
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 37
Command5.Enabled = False
End Sub
Sub gridDataFresh()
strSQL = "SELECT * FROM admin ORDER BY idadmin ASC"
Set rs = New ADODB.Recordset
rs.Open strSQL, koneksi, adOpenDynamic, adLockBatchOptimistic
Call AktifkanFlex
Call TampilkanFlexData
End Sub
Sub AktifkanFlex()
With FlexGrid1
.Cols = 5
.Rows = 2
.Col = 0
.Row = 0
.Text = "NO"
.CellFontBold = True
.ColWidth(0) = 400
.CellAlignment = flexAlignCenterCenter
.Col = 1
.Row = 0
.Text = "CODE"
.CellFontBold = True
.ColWidth(1) = 1000
.CellAlignment = flexAlignCenterCenter
.Col = 2
.Row = 0
.Text = "FULL NAME"
.CellFontBold = True
.ColWidth(2) = 3000
.CellAlignment = flexAlignCenterCenter
.Col = 3
.Row = 0
.Text = "NO.IDENTITY CARD"
.CellFontBold = True
.ColWidth(3) = 2000
.CellAlignment = flexAlignCenterCenter
.Col = 4
.Row = 0
.Text = "USERNAME"
.CellFontBold = True
.ColWidth(4) = 2000
.CellAlignment = flexAlignCenterCenter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 38
End With
End Sub
Sub TampilkanFlexData()
Dim no As Integer
FlexGrid1.Rows = 2
no = 0
If rs.BOF Then
MsgBox "THERE IS NO DATA SELECTED!!!", vbInformation, "Information"
Exit Sub
Else
rs.MoveFirst
On Error Resume Next
Do While Not rs.EOF
no = no + 1
FlexGrid1.Rows = no + 1
FlexGrid1.TextMatrix(no, 0) = no
FlexGrid1.TextMatrix(no, 1) = rs!idadmin
FlexGrid1.TextMatrix(no, 2) = rs!nama_adm
FlexGrid1.TextMatrix(no, 3) = rs!ktp
FlexGrid1.TextMatrix(no, 4) = rs!UserName
rs.MoveNext
Loop
FlexGrid1.Rows = 101 + no
End If
End Sub
Sub formkosong()
Text6.Text = ""
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub
Sub kodeotomatis()
Set rs = New ADODB.Recordset
strSQL = "SELECT idadmin FROM admin ORDER BY idadmin"
rs.Open strSQL, koneksi, adOpenDynamic, adLockBatchOptimistic
If Not rs.BOF Then
rs.MoveLast
baru = rs!idadmin
baru = Right(baru, 3)
baru = Val(baru + 1)
If Len(baru) > 3 Then
MsgBox "SORRY WE CAN'T GIVE YOUR ID ADMIN!!", vbCritical, "ERROR"
Exit Sub
End If
baru = "S" & Format(baru, "000")
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 39
Else
baru = "S001"
End If
Text6.Text = baru
End Sub
Sub dataPilihkeForm()
strSQL = "SELECT * FROM admin WHERE idadmin='" & kode & "'"
Set rs = New ADODB.Recordset
rs.Open strSQL, koneksi, adOpenDynamic, adLockBatchOptimistic
If rs.BOF Then
MsgBox "THERE IS NO DATA SELECTED!!", vbInformation, "Information"
Call formkosong
Call kodeotomatis
Exit Sub
Else
Text6.Text = rs!idadmin
Text1.Text = rs!ktp
Text2.Text = rs!nama_adm
Text3.Text = rs!UserName
Text4.Text = rs!Password
End If
End Sub
Private Sub mnuActivity_Click()
Form5.Show
Form4.Enabled = False
Unload Me
End Sub
Private Sub mnuHome_Click()
MDIForm1.Show
Form4.Enabled = False
Unload Me
End Sub
Private Sub mnuInfoResidenceMemberEdit_Click()
Form3.Show
Form4.Enabled = False
Unload Me
End Sub
Private Sub mnuInformationLibrary_Click()
Form6.Show
Form4.Enabled = False
Unload Me
End Sub
Private Sub mnuInfoSecurityGuardView_Click()
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 40
Form8.Show
Form4.Enabled = False
Unload Me
End Sub
Private Sub mnuLogout_Click()
Dim p As Integer
p = MsgBox("Are you sure want to quit this application?", vbOKCancel, "WARNING")
If p = vbOK Then
Form1.Show
Else
Form4.Show
End If
End Sub
Private Sub mnuRegistration_Click()
Form2.Show
Form4.Enabled = False
Unload Me
End Sub
Private Sub mnuResidenceMemberView_Click()
Form7.Show
Form4.Enabled = False
Unload Me
End Sub
LISTING PROGRAM MODUL KONEKSI
Option Explicit
Public koneksi As New ADODB.Connection
Public rs, RsAdmin As ADODB.Recordset
Public RsAktivitas As ADODB.Recordset
Public RsMember As ADODB.Recordset
Public RsPemilik As ADODB.Recordset
Public RsTamu As ADODB.Recordset
Public str, driverKONEKSI As String
Public sql, strSQL As String
Public userLogin, namaLogin As String
Public sttsLogin As Boolean
Public Sub BukaDatabase()
Set koneksi = New ADODB.Connection
koneksi.CursorLocation = adUseClient
koneksi.ConnectionString = "" _
& "DRIVER=MySQL ODBC 5.1 Driver;" _
& "SERVER= localhost;" _
& "DATABASE= mysql;" _
& "UID=root;" _
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 41
& "PWD=;" _
& "OPTION="
If koneksi.State = adStateOpen Then
koneksi.Close
Set koneksi = New ADODB.Connection
Set rs = New ADODB.Recordset
Else
koneksi.Open
End If
If Err.Number <> 0 Then
MsgBox "Koneksi MySQL Gagal, Periksa Modul Koneksi", vbCritical, "ERROR"
Exit Sub
Else
MsgBox "Koneksi Berhasil", vbInformation, "Sukses"
End If
End Sub
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LISTING PROGRAM
DATABASE MySQL
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 42
-- MySQL Script generated by MySQL Workbench
-- 04/15/16 15:22:25
-- Model: New Model Version: 1.0
-- MySQL Workbench Forward Engineering
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,
FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE,
SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
-- -----------------------------------------------------
-- Schema PortalRumah
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Schema PortalRumah
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `PortalRumah` DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci ;
USE `PortalRumah` ;
-- -----------------------------------------------------
-- Table `PortalRumah`.`admin`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `PortalRumah`.`admin` (
`idadmin` CHAR(4) NOT NULL COMMENT '',
`nama_adm` VARCHAR(10) NULL COMMENT '',
`ktp_adm` VARCHAR(20) NULL COMMENT '',
`username` VARCHAR(20) NULL COMMENT '',
`password` VARCHAR(10) NULL COMMENT '',
PRIMARY KEY (`idadmin`))
ENGINE = MyISAM;
-- -----------------------------------------------------
-- Table `PortalRumah`.`Pemilik`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `PortalRumah`.`Pemilik` (
`idPemilik` CHAR(4) NOT NULL COMMENT '',
`ktp_pemilik` VARCHAR(20) NULL COMMENT '',
`nama_own` VARCHAR(30) NULL COMMENT '',
`gender_own` TINYTEXT NULL COMMENT '',
`telpn_own` VARCHAR(12) NULL COMMENT '',
`alamat` VARCHAR(15) NULL COMMENT '',
`nopol_own` VARCHAR(9) NULL COMMENT '',
PRIMARY KEY (`idPemilik`))
ENGINE = MyISAM;
-- -----------------------------------------------------
-- Table `PortalRumah`.`Tamu`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `PortalRumah`.`Tamu` (
`idTamu` CHAR(4) NOT NULL COMMENT '',
`ktp_tamu` VARCHAR(20) NULL COMMENT '',
`nama_tamu` VARCHAR(30) NULL COMMENT '',
`tamu_lahir` VARCHAR(15) NULL COMMENT '',
`telpon` VARCHAR(12) NULL COMMENT '',
`gender` TINYTEXT NULL COMMENT '',
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 43
`job` VARCHAR(10) NULL COMMENT '',
`origin` VARCHAR(20) NULL COMMENT '',
`add_visit` VARCHAR(15) NULL COMMENT '',
`plat_tamu` VARCHAR(9) NULL COMMENT '',
PRIMARY KEY (`idTamu`))
ENGINE = MyISAM;
-- -----------------------------------------------------
-- Table `PortalRumah`.`Aktivitas`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `PortalRumah`.`Aktivitas` (
`idAktivitas` INT NOT NULL COMMENT '',
`str_date` DATE NULL COMMENT '',
`en_date` DATE NULL COMMENT '',
`str_time` TIME NULL COMMENT '',
`en_time` TIME NULL COMMENT '',
`admin_idadmin` CHAR(4) NULL COMMENT '',
`Pemilik_idPemilik` CHAR(4) NULL COMMENT '',
`Tamu_idTamu` CHAR(4) NULL COMMENT '',
PRIMARY KEY (`idAktivitas`),
INDEX `fk_Aktivitas_admin1_idx` (`admin_idadmin` ASC),
INDEX `fk_Aktivitas_Pemilik1_idx` (`Pemilik_idPemilik` ASC),
INDEX `fk_Aktivitas_Tamu1_idx` (`Tamu_idTamu` ASC),
CONSTRAINT `fk_Aktivitas_admin1`
FOREIGN KEY (`admin_idadmin`)
REFERENCES `PortalRumah`.`admin` (`idadmin`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Aktivitas_Pemilik1`
FOREIGN KEY (`Pemilik_idPemilik`)
REFERENCES `PortalRumah`.`Pemilik` (`idPemilik`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Aktivitas_Tamu1`
FOREIGN KEY (`Tamu_idTamu`)
REFERENCES `PortalRumah`.`Tamu` (`idTamu`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = MyISAM;
-- -----------------------------------------------------
-- Table `PortalRumah`.`Member`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `PortalRumah`.`Member` (
`idMember` CHAR(4) NOT NULL COMMENT '',
`ktp_member` VARCHAR(20) NULL COMMENT '',
`nama_memb` VARCHAR(30) NULL COMMENT '',
`Pemilik_idPemilik` CHAR(4) NOT NULL COMMENT '',
PRIMARY KEY (`idMember`),
INDEX `fk_Member_Pemilik1_idx` (`Pemilik_idPemilik` ASC),
CONSTRAINT `fk_Member_Pemilik1`
FOREIGN KEY (`Pemilik_idPemilik`)
REFERENCES `PortalRumah`.`Pemilik` (`idPemilik`)
ON DELETE NO ACTION
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L a m p i r a n | 44
ON UPDATE NO ACTION)
ENGINE = MyISAM;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
-- -----------------------------------------------------
-- Data for table `PortalRumah`.`admin`
-- -----------------------------------------------------
START TRANSACTION;
USE `PortalRumah`;
INSERT INTO `PortalRumah`.`admin` (`idadmin`, `nama_adm`, `ktp_adm`, `username`,
`password`) VALUES ('P001', 'sutarman', '920212710506890001', 'satpam', 'satpam');
INSERT INTO `PortalRumah`.`admin` (`idadmin`, `nama_adm`, `ktp_adm`, `username`,
`password`) VALUES ('P002', 'wagio', '920212813006570001', 'ketuart', 'ketuart');
COMMIT;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI