perekaman data akses kamar hotel dengan rfid

advertisement
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
TUGAS AKHIR
PEREKAMAN DATA AKSES KAMAR HOTEL
DENGAN RFID BERBASIS WEB
Diajukan untuk memenuhi salah satu syarat
memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
disusun oleh :
PAULUS ALEXANDER ELDWIN PRADANA
NIM : 115114006
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2015
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
FINAL PROJECT
DATA RECORDING OF HOTEL ROOM ACCESS
USING RFID BASED ON WEB
In partial fulfilment of the requirements
for the degree of Sarjana Teknik
Electrical Engineering Study Program
PAULUS ALEXANDER ELDWIN PRADANA
NIM : 115114006
ELECTRICAL ENGINEERING STUDY PROGRAM
ELECTRICAL ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2015
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO
BE DIFFERENT, COZ IT’S UNIQUE!!
Karya ini kupersembahkan untuk.......
Tuhan Yesus Kristus, Pembimbing dan Penyemangatku,
Keluarga tercinta,
Teman-teman seperjuangan TE 2011,
Dan semua pihak yang telah terlibat dalam proses penelitian ini
vi
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
INTISARI
Seiring berjalannya zaman, kemudahan dan kepraktisan karena kecanggihan
teknologi sistem otomasi semakin dirasakan. Salah satu contoh pengendalian secara
otomatis adalah menggunakan Radio Frequency Identification atau yang lebih dikenal
dengan RFID. Hotel sebagai salah satu tempat yang penuh dengan kamar hotel perlu
dimonitor sehingga setiap orang yang memasuki kamar dapat diketahui. Dengan
penggabungan keduanya, dibentuk suatu sistem untuk merekam data orang-orang yang
mengakses kamar hotel ke web.
Prinsip kerja dari sistem ini adalah sebagai berikut. Terdapat model kamar hotel
sebanyak 3 buah yang telah terpasang RFID reader di setiap kamarnya dan 5 buah RFID
card yakni Penyewa 1, 2, dan 3, Resepsionis, dan Office Boy (OB). Setiap penyewa hanya
dapat memasuki kamar yang sesuai selama waktu check in hingga check out-nya.
Resepsionis dapat memasuki setiap kamar sepanjang hari bila ada orang yang ingin
menyewa. OB dapat memasuki setiap kamar pada jam tertentu saja. Namun, ketika ada
orang yang telah mengakses kamar maka tidak ada orang yang dapat mengakses kamar
tersebut. Setiap pengaksesan kamar, maka data yang didapat pada RFID card akan dikirim
ke web.
Hasil akhir dari penelitian ini adalah dapat dihasilkannya perekaman data akses
kamar hotel dengan RFID berbasis web dengan adanya fasilitas halaman pendaftaran
(untuk mengatur waktu check in dan check out), dan halaman check out (untuk
memperbaharui data di mikrokontroler). Persentase keberhasilan yang didapat pada
penelitian ini sebesar 97,14%.
Kata kunci : perekaman data akses kamar hotel, RFID, perekaman dengan web, kamar
hotel dengan RFID
viii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
ABSTRACT
As time passed, easiness of sophistication technology of automated system,
recently can be perceived. An example of automatic control is Radio Frequency
Identification or commonly called RFID. Hotel, as a place with full of hotel rooms, needs
to be monitored, so everyone that accesses the hotel room would be easily identified. By
the combination of both, formed a system to record datas of everyone that accesses hotel
room to web.
This system’s principle will be explained in here. There is a model of 3 hotel
rooms that are installed RFID reader for each room and there are 5 RFID cards that will be
used for Guest 1, 2, and 3, Receptionist, and Office Boy (OB). Each of guest can only
access their suited room all day during their check in and check out time. Receptionist can
access every room all day when there is guest(s) to rent hotel room. OB can access every
room in certain time. But, if there is someone who has accessed the room, then nobody will
be able to access the same room. Each time the room is accessed, the RFID card’s identity
will be sent to web.
The last result of this research is the system is able to record data of hotel room
access to web by the additional facility of registration page (to set check in and check out
time), dan check out page (to regenerate data in microcontroller). Percentage of
achievement in this research is out of 97,14%.
Keywords : data recording of hotel room access, recording to web, hotel room with RFID
installed
ix
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
KATA PENGANTAR
Puji dan syukur kepada Tuhan Yang Maha Esa yang telah memberikan kenikmatan
berupa kesehatan jasmani dan rohani sehingga penulis dapat menyelesaikan tugas akhir
dengan lancar dari awal hingga diakhiri dengan munculnya laporan akhir dengan judul
“PEREKAMAN DATA AKSES KAMAR HOTEL BERBASIS WEB”.
Dalam pembuatan laporan akhir dari awal hingga akhir tentunya ada bantuan dari
beberapa pihak sehingga laporan akhir yang disusun oleh penulis sesuai dengan ketentuan
yang ada. Dengan adanya bantuan dari beberapa pihak, penulis dapat menyelesaikan
laporan akhir tersebut dan hendak mengucapkan terima kasih kepada beberapa pihak
diantaranya adalah sebagai berikut :
1. Tuhan Yang Maha Esa yang telah memberikan kenikmatan berupa kesehatan
jasmani dan rohani.
2. Kedua orang tua dan saudara penulis yang telah mendukung dan memberikan doa
restu.
3. Bapak Petrus Setyo Prabowo, S.T., M.T., sebagai Ka. Prodi Teknik Elektro
Universitas Sanata Dharma Yogyakarta
4. Bapak Ir. Tjendro, M.Kom., sebagai Dosen Pembimbing Tugas Akhir yang dengan
penuh pengertian dan kesabaran telah meluangkan waktu untuk memberikan
bimbingan, masukan, dan motivasi dalam penulisan laporan akhir ini.
5. Ibu Ir. Theresia Prima Ari Setiyani, M.T., dan Ibu B. Wuri Harini, S.T., M.T.,
sebagai dosen penguji yang telah memberikan bimbingan dan masukan dalam
merevisi laporan akhir ini.
6. Teman-teman Teknik Elektro angkatan 2011 yang telah banyak membantu baik
lahir maupun batin.
7. Semua pihak yang telah memberikan bantuan dalam penyusunan laporan akhir ini.
Dalam penyusunan laporan akhir ini tentunya terdapat kekurangan dan kelemahan
serta jauh dari kata sempuna. Karena kesempurnaan hanya milik Tuhan semata. Oleh
Karena itu penulis menerima masukan berupa kritik dan saran dengan harapan menjadikan
penulis lebih baik lagi.
x
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
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 ILMIAH UNTUK KEPENTINGAN AKADEMIS ......................................... vii
INTISARI .......................................................................................................................... viii
ABSTRACT .......................................................................................................................... ix
KATA PENGANTAR ......................................................................................................... x
DAFTAR ISI ...................................................................................................................... xii
DAFTAR GAMBAR ......................................................................................................... xv
DAFTAR TABEL ........................................................................................................... xviii
BAB I : PENDAHULUAN
1.1
Latar Belakang ............................................................................................................. 1
1.2
Tujuan dan Manfaat ..................................................................................................... 2
1.3
Batasan Masalah........................................................................................................... 2
1.4
Metodologi Penelitian .................................................................................................. 3
BAB II : DASAR TEORI
2.1
Radio Frequency Identification (RFID) ....................................................................... 4
2.1.1 RFID Tag ............................................................................................................ 4
2.1.2 RFID Reader ....................................................................................................... 5
2.2
RFID SL018 ................................................................................................................. 5
2.3
Mifare 4K 4-byte UID .................................................................................................. 8
2.4
Arduino UNO ............................................................................................................... 9
2.4.1 Komunikasi I2C ................................................................................................ 10
2.4.2 Resistor Pull-Up ............................................................................................... 11
2.4.3 Komunikasi SPI (Serial Peripheral Interface) ................................................. 12
xii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
2.5
RTC (Real Time Clock).............................................................................................. 13
2.6
Software XAMPP ....................................................................................................... 15
2.6.1 Apache Web Server........................................................................................... 16
2.6.2 MySQL Database.............................................................................................. 16
2.6.3 Pemrograman PHP............................................................................................ 17
2.7
Modul Ethernet Shield ............................................................................................... 17
2.7.1 MAC Address ................................................................................................... 18
BAB III : RANCANGAN PENELITIAN
3.1
Model Sistem ............................................................................................................. 20
3.2
Identifikasi Kebutuhan Perangkat .............................................................................. 21
3.3
Perancangan Perangkat Keras .................................................................................... 21
3.3.1 Perancangan Resistor Pull-Up .......................................................................... 21
3.3.2 Perancangan RFID SL018 ................................................................................ 22
3.3.3 Perancangan Modul Ethernet ........................................................................... 22
3.3.4 Perancangan RTC DS1307 ............................................................................... 23
3.4
Perancangan Perangkat Lunak ................................................................................... 24
3.4.1 Perancangan Halaman Login ............................................................................ 24
3.4.2 Perancangan Pendaftaran Penyewa Kamar Hotel............................................. 25
3.4.3 Diagram Alir Program Utama .......................................................................... 27
3.4.4 Pembacaan Identitas RFID Card oleh RFID SL018 ........................................ 28
3.4.5 Perancangan Perangkat Lunak Modul RTC DS1307 ....................................... 29
3.4.6 Persyaratan Akses Kamar ................................................................................. 29
3.4.7 Pengiriman Data ke Web Melalui Ethernet ...................................................... 32
3.4.8 Perancangan Tampilan Web ............................................................................. 33
BAB IV : HASIL DAN PEMBAHASAN
4.1
Hasil Implementasi Alat ............................................................................................. 34
4.2
Hasil Perancangan Perangkat Keras........................................................................... 35
4.3
Hasil Perancangan dan Pembahasan Perangkat Lunak .............................................. 37
4.3.1 Pengaturan IP Address pada Laptop Server...................................................... 37
4.3.2 Pengaturan IP Address pada Modul Ethernet Shield ........................................ 37
4.3.3 Hasil dan Pembahasan Perancangan Halaman Login ....................................... 38
xiii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
4.3.4 Hasil dan Pembahasan Perancangan Halaman Pendaftaran Penyewa
Kamar Hotel...................................................................................................... 39
4.3.5 Hasil dan Pembahasan Pembacaan Identitas RFID Card oleh RFID SL018 ... 42
4.3.6 Hasil dan Pembahasan Perancangan Perangkat Lunak Modul RTC DS1307 .. 44
4.3.7 Hasil dan Pembahasan Perancangan Program Utama ...................................... 47
BAB V : KESIMPULAN DAN SARAN
5.1
Kesimpulan ................................................................................................................ 56
5.2
Saran ........................................................................................................................... 56
DAFTAR PUSTAKA ........................................................................................................ 57
xiv
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
DAFTAR GAMBAR
Gambar 2.1
Penampakan RFID SL018 ............................................................................. 6
Gambar 2.2
Diagram Operasi Penulisan RFID SL018 ...................................................... 7
Gambar 2.3
Diagram Operasi Pembacaan RFID SL018 ................................................... 7
Gambar 2.4
RFID Card Mifare 4K 4-byte UID ................................................................ 8
Gambar 2.5
Board Arduino UNO...................................................................................... 9
Gambar 2.6
Komunikasi I2C ........................................................................................... 10
Gambar 2.7
RTC DS1307................................................................................................ 13
Gambar 2.8
Konfigurasi bit pada register DS1307.......................................................... 14
Gambar 2.9
Diagram write mode DS1307....................................................................... 15
Gambar 2.10 Diagram read mode DS1307 ....................................................................... 15
Gambar 2.11 XAMPP Control Panel ................................................................................ 16
Gambar 2.12 Modul Ethernet Shield ................................................................................. 18
Gambar 2.13 Contoh MAC Address .................................................................................. 18
Gambar 3.1
Diagram blok sistem perekaman data akses kamar hotel ............................ 20
Gambar 3.2
Bentuk fisik tampak depan........................................................................... 21
Gambar 3.3
Rancangan resistor pull-up .......................................................................... 22
Gambar 3.4
Perancangan 3 buah RFID dengan mikrokontroler ..................................... 23
Gambar 3.5
Perancangan Modul Ethernet dan Mikrokontroler ...................................... 23
Gambar 3.6
Perancangan RTC DS1307 .......................................................................... 24
Gambar 3.7
Gambar halaman login seblum mengakses halaman rekaman data akses ... 24
Gambar 3.8
Diagram alir halaman login ......................................................................... 25
Gambar 3.9
Tampilan tabel hasil pendaftaran kamar hotel pada web yang diharapkan . 25
Gambar 3.10 Diagram alir halaman pendaftaran ............................................................... 26
Gambar 3.11 Diagram alir program utama ........................................................................ 27
Gambar 3.12 Diagram alir pembacaan identitas RFID Card oleh RFID SL018 ............... 28
Gambar 3.13 (a) Diagram alir pengaturan waktu RTC ..................................................... 30
(b) Diagram alir pembacaan waktu modul RTC DS1307 ............................ 30
Gambar 3.14 Diagram alir syarat akses kamar .................................................................. 31
Gambar 3.15 Diagram alir pengiriman ke web .................................................................. 33
Gambar 3.16 Tampilan tabel hasil pada web yang diharapkan ......................................... 33
xv
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Gambar 4.1
Hasil implementasi alat Perekaman Data Akses Kamar Hotel dengan
RFID Berbasis Web...................................................................................... 34
Gambar 4.2
Tampilan halaman login .............................................................................. 34
Gambar 4.3
Tampilan halaman pendaftaran .................................................................... 35
Gambar 4.4
Tampilan halaman web perekaman data akses kamar hotel ........................ 35
Gambar 4.5
Penampakan RFID pada (a) kamar 1 (b) kamar 2 (c) kamar 3 .................... 35
Gambar 4.6
Penampakan hasil perancangan resistor pull-up .......................................... 36
Gambar 4.7
Penampakan Modul Ethernet Shield dan Arduino di bawahnya ................. 36
Gambar 4.8
Penampakan RTC ........................................................................................ 36
Gambar 4.9
IP Address laptop server diatur seperti gambar ........................................... 37
Gambar 4.10 Pengaturan IP Address beserta MAC Address untuk Modul
Ethernet Shield ............................................................................................. 38
Gambar 4.11 Koneksi antara server dan Modul Ethernet Shield telah berhasil ................ 38
Gambar 4.12 Pesan yang tertampil saat username atau password tidak benar ................. 39
Gambar 4.13 Pesan yang tertampil saat username atau password bukan resepsionis ....... 39
Gambar 4.14 Program penerimaan data dari server .......................................................... 40
Gambar 4.15 Subrutin penyimpanan data ke ke EEPROM ............................................... 41
Gambar 4.16 (a) EEPROM saat belum terisi ..................................................................... 41
(b) EEPROM setelah terisi data ................................................................... 41
Gambar 4.17 Pesan yang ditampilkan mikrokontroler melalui Modul Ethernet Shield
bahwa data telah diterima ............................................................................ 41
Gambar 4.18 Pengujian dilakukan dengan mendekatkan RFID Card ke RFID SL018 .... 42
Gambar 4.19 Program pada mikrokontroler untuk berkomunikasi dengan RFID SL018 . 42
Gambar 4.20 Subrutin Pembacaan Data RFID Card ......................................................... 43
Gambar 4.21 Inisialisasi identitas RFID Card................................................................... 43
Gambar 4.22 Subrutin penggantian nama identitas RFID Card ........................................ 44
Gambar 4.23 Hasil pembacaan identitas RFID Card ........................................................ 44
Gambar 4.24 Subrutin penulisan dan pengaturan waktu pada RTC .................................. 45
Gambar 4.25 Subrutin pembacaan waktu RTC ................................................................. 45
Gambar 4.26 Isi fungsi tambah_nol ................................................................................... 46
Gambar 4.27 Hasil pembacaan RTC DS1307 ................................................................... 46
Gambar 4.28 Subrutin syarat akses kamar......................................................................... 48
Gambar 4.29 Halaman Check Out ..................................................................................... 50
xvi
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Gambar 4.30 Subrutin pengiriman data ke web ................................................................. 51
Gambar 4.31 Isi file ambil.php .......................................................................................... 51
Gambar 4.32 Indikator LED Penyewa 3 tidak dapat memasuki Kamar 3 ......................... 52
Gambar 4.33 Tampilan web Penyewa 3 tidak dapat memasuki Kamar 3 ......................... 52
Gambar 4.34 Indikator LED Resepsionis memasuki Kamar 3 .......................................... 52
Gambar 4.35 Tampilan web Resepsionis memasuki Kamar 3 .......................................... 53
Gambar 4.36 Tampilan web OB tidak dapat memasuki Kamar 3 ..................................... 53
Gambar 4.37 Indikator LED OB tidak dapat memasuki Kamar 3..................................... 53
Gambar 4.38 Halaman web phpMyAdmin untuk melihat data-data yang telah
dikirimkan dari mikrokontroler ke server .................................................... 54
xvii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
DAFTAR TABEL
Tabel 2.1 Konfigurasi Pin RFID SL018 ............................................................................. 6
Tabel 2.2 Command Code .................................................................................................. 8
Tabel 2.3 Daftar status sebagai feedback RFID SL018 kepada host .................................. 8
Tabel 2.4 Fungsi khusus pada pin Arduino ...................................................................... 10
Tabel 2.5 Sebagian electrical characteristic dari ATMega328........................................ 12
Tabel 3.1 Format data yang dihasilkan pada halaman web pendaftaran untuk
kemudian diproses pada mikrokontroler .......................................................... 26
Tabel 3.2 Persyaratan akses kamar ................................................................................... 29
Tabel 3.3 Koneksi LED pada pin Arduino ....................................................................... 32
Tabel 4.1 Identitas pada RFID Card dan penamaannya ................................................... 43
Tabel 4.2 Daftar Penyewa Kamar Hotel ........................................................................... 47
Tabel 4.3 Hasil perancangan persyaratan akses kamar..................................................... 49
xviii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
BAB I
PENDAHULUAN
1.1.
Latar Belakang
Seiring berjalannya zaman, kemudahan dan kepraktisan karena kecanggihan
teknologi semakin dirasakan. Kecanggihan teknologi yang ada membuat hampir segala
sesuatunya dikendalikan secara otomatis. Lampu otomatis, pembuat kopi otomatis, bahkan
pintu yang dapat dibuka secara otomatis. Sistem otomasi membuat kemudahan bagi
manusia untuk mengendalikan sesuatu yang biasanya dilakukan dengan tangan menjadi
sesuatu yang tidak perlu dilakukan dengan tangan. Dalam bidang elektronika, sistem
otomasi biasanya memanfaatkan penggunaan sensor, elektromagnetik, dan sebagainya.
Salah satu contoh penggunaan elektromagnetik adalah Radio Frequency
Identification atau yang lebih dikenal dengan RFID. RFID menggunakan medan magnet
atau elektromagnet sebagai media pertukaran data antara RFID Tag (piranti yang
membawa data) dengan RFID Reader (pembaca data) [1]. RFID biasanya diaplikasikan
untuk presensi pada beberapa kantor.
Hotel merupakan salah satu tempat yang penuh dengan “ruang pribadi”
(selanjutnya disebut kamar hotel). Tiap kamar hotel dapat dimasuki oleh penyewa kamar,
resepsionis, dan Office Boy (selanjutnya disebut OB). Namun, ketiganya hanya dapat
memasuki kamar hotel pada jam tertentu saja. Setiap kali ada yang mengakses kamar
tersebut, data akan direkam ke web. Hal ini bertujuan untuk mengetahui orang yang
memasuki kamar tersebut.
Pada penelitian terdahulu telah ada yang membuat penelitian menggunakan modul
RFID [2]. Modul RFID yang digunakan adalah modul RFID ID-20. RFID ID-20
menggunakan komunikasi USART sebagai jalur pengiriman data dari maupun ke
mikrokontroler. Mengingat mikrokontroler yang akan digunakan pada penelitian ini hanya
memiliki 1 jalur USART dan dibutuhkan 3 buah modul RFID, maka penggunaan modul
RFID ID-20 tidak efisien karena dikhawatirkan akan terjadi tabrakan data pada proses
komunikasi antara mikrokontroler dengan modul RFID. Karena itu, akan digunakan modul
RFID yang menggunakan komunikasi I2C agar proses komunikasi antara mikrokontroler
dengan modul RFID lebih efisien.
1
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
2
Selain itu, terdapat artikel dalam suatu situs web [3] dan penelitian terdahulu [4]
mengenai pengiriman data dari mikrokontroler ke web melalui internet menggunakan
modul ethernet. Pada kedua referensi ini, penampilan data pada web masih menggunakan
bahasa pemrograman HTML. Hal ini tentunya dapat membuat halaman web tidak dinamis.
Dengan demikian, akan ditambahkan penggunaan bahasa pemrograman PHP sehingga
halaman web lebih dinamis.
Berdasarkan referensi-referensi tersebut diputuskan untuk menggabungkan
penggunaan RFID untuk mendeteksi identitas pengguna kamar hotel dan penggunaan
modul ethernet untuk merekam identitas pengguna tersebut melalui web.
1.2.
Tujuan dan Manfaat
Tujuan dari penelitian ini adalah menghasilkan perekaman data akses kamar hotel
dengan RFID berbasis web.
Penelitian ini memberikan beberapa manfaat, yaitu:
a. Mengembangkan penggunaan RFID untuk memonitor pengguna kamar hotel
b. Dapat dikembangkan dan diterapkan lebih lanjut pada bisnis hotel
1.3.
Batasan Masalah
Batasan masalah penelitian ini adalah:
a. Kamar hotel yang akan dikelola sebanyak 3 buah berupa model dengan
indikator LED. Indikator LED digunakan hanya untuk memberi informasi
bahwa pengguna telah memasuki kamar.
b. RFID Card yang digunakan sebanyak 5 buah. Tiga buah RFID Card
menandakan penyewa kamar hotel, 1 buah RFID Card untuk resepsionis, dan 1
buah RFID Card untuk OB. RFID Card yang digunakan berjenis Mifare 4K
yang memiliki UID 4 byte.
c. RFID Reader dan RFID Card yang digunakan merupakan jenis Mifare.
d. Kondisi kamar akan dimonitor melalui web menggunakan mikrokontroler.
e. Pengaturan jam digunakan RTC DS1307.
f. Indikator LED, komunikasi dengan RTC dan RFID Reader dikendalikan
menggunakan mikrokontroler.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
1.4.
3
Metodologi Penelitian
Dalam membuat tugas akhir ini, digunakan metode penelitian sebagai berikut:
a. Studi pustaka
Melalui studi pustaka, akan dikumpulkan dan mempelajari referensi yang
dibutuhkan mengenai RFID dan komponen pembantu sehingga dapat
membantu dalam mengerjakan tugas akhir ini.
b. Perancangan sistem
Perancangan sistem meliputi konsep alat, masukan, dan keluaran yang
diperoleh.
c. Perancangan perangkat keras dan perangkat lunak
Pada penelitian ini akan dirancang perangkat keras yang akan digunakan untuk
mendukung penelitian ini. Selain itu, akan dirancang perangkat lunak yang
akan digunakan, meliputi: perintah untuk membaca data dari RFID Reader,
mengirimkan data yang diterima ke komputer, dan perintah untuk membuka
pintu.
d. Pembuatan perangkat keras dan perangkat lunak
Tahap berikutnya yaitu menggabungkan perangkat keras dan perangkat lunak
agar sistem keseluruhan dapat dilihat prosesnya.
e. Uji coba dan pengambilan data
Tahap ini, akan dilakukan pengujian dan pengambilan data dari sistem
keseluruhan. Pengujian meliputi kesesuaian masukan dengan keluaran yang
diharapkan. Data – data yang diperoleh akan menunjukkan tingkat keberhasilan
perancangan.
f. Analisis data
Data yang diperoleh akan dianalisis untuk melihat besarnya kesalahan yang
timbul pada sistem keseluruhan. Hasil analisis ini akan membantu dalam
mengambil kesimpulan terhadap penelitian yang dilakukan.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
BAB II
DASAR TEORI
2.1.
Radio Frequency Identification (RFID)
RFID adalah proses identifikasi sesuatu dengan menggunakan sinyal frekuensi
radio [5]. RFID digunakan untuk mempermudah pekerjaan manusia yang awalnya harus
mengidentifikasi objek satu per satu secara manual menjadi otomatis dan terprogram. Hal
ini juga dapat mengurangi human error akibat pencatatan identitas objek secara manual.
Dengan teknologi RFID ini, identitas objek akan dicatat dengan mudah dan cepat.
Dalam sistem RFID, terdapat 3 buah komponen utama : transponder atau tag,
reader atau pembaca tag (yang sudah dilengkapi antena), dan host [6]. Sesuatu yang akan
diidentifikasi tersebut harus memiliki identitas berupa tag yang nantinya akan dibaca oleh
reader.
Saat ini, sudah banyak beredar macam-macam tag dan modul pembaca RFID. Tag
yang sering dijumpai bisa dalam bentuk kartu, maupun dalam bentuk gantungan kunci.
Jenis tag pun beragam, misalnya EM4001, Mifare, dan lain-lain. Karena ada beragam
jenis, tentunya modul pembaca RFID juga harus menyesuaikan dengan jenis tag-nya.
RFID (tag beserta reader-nya) memiliki frekuensi kerja yang berbeda-beda untuk
tiap jenisnya. RFID menggunakan frekuensi kerja pada low frequency (sekitar 125 kHz),
high frequency (13,56 MHz), dan ultra-high frequency (850-930 MHz). RFID yang bekerja
pada low frequency biasanya digunakan untuk metode pembayaran bukan untuk
identifikasi objek. RFID yang bekerja pada high frequency lebih banyak digunakan dan
biasanya digunakan untuk mengidentifikasi objek seperti teknologi NFC (Near Field
Communication) yang banyak terpasang pada smartphone untuk bertukar informasi. RFID
yang bekerja pada ultra-high frequency biasanya digunakan untuk identifikasi kendaraan
[6].
2.1.1. RFID Tag
Tag RFID adalah piranti yang terdiri atas rangkaian elektronika (berupa chip) dan
antena yang terintegrasi di dalam rangkaian tersebut [6]. Rangkaian elektronik dari tag
RFID umumnya memiliki memori sehingga tag ini mempunyai kemampuan untuk
menyimpan data. Data inilah yang nantinya akan dibaca oleh RFID reader.
4
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
5
Memori pada RFID tag sangat beragam tergantung jenisnya. Kapasitas memori
yang tersedia berkisar antara 16 byte hingga 8kilobyte [1]. Memori (chip) pada RFID tag
dapat dibedakan menjadi 2 yaitu read/write dan read only. Read/write diartikan bahwa
RFID tersebut memiliki data yang dapat dibaca dan ditulis berulang-ulang dengan
menimpa informasi bawaan pabrik sedangkan read only diartikan bahwa RFID tag tersebut
memiliki data yang telah diprogram pada saat tag ini dibuat di pabrik dan setelah itu
datanya tidak bisa diubah-ubah [7].
Macam-macam sistem RFID tergantung pada tipe tag yang digunakan. Tipe tag
yang dimaksud adalah tag aktif, tag pasif, dan tag semi-pasif [6].
1. Tag aktif memiliki sumber daya sendiri untuk berkomunikasi dengan RFID
reader. Sumber daya digunakan untuk menjalankan serangkaian microchip dan
membantu mengirimkan sinyal ke RFID reader.
2. Tag pasif tidak membutuhkan sumber daya sendiri. Tag pasif mendapat sumber
daya dari medan elektromagnetik yang terbuat dari sinyal RFID reader
kemudian memberikan respon ke RFID reader berupa informasi yang ada pada
tag pasif.
3. Tag semi-pasif menggunakan sumber daya sendiri untuk menjalankan
rangkaian internalnya namun berkomunikasi dengan sumber daya berupa
gelombang radio yang dihasilkan RFID reader.
2.1.2. RFID Reader
Pembaca RFID atau RFID Reader adalah alat yang digunakan untuk
mengidentifikasi suatu objek yang telah dipasang tag. Untuk membaca tag tersebut, sebuah
RFID reader harus diaktifkan dan dikendalikan oleh perintah dari host. Setelah RFID
reader mendapat perintah dari host, RFID reader akan mulai membaca informasi yang ada
pada tag menggunakan frekuensi radio. Setelah RFID reader telah mendapatkan informasi
dari tag, maka informasi tersebut akan dikirim kepada host untuk kemudian diproses lebih
lanjut untuk keperluan tertentu.
2.2.
RFID SL018
Salah satu jenis RFID adalah jenis Mifare. RFID (reader dan tag) ini bekerja pada
frekuensi tinggi (high frequency) yakni 13,56 MHz. Dalam penelitian ini, digunakan modul
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
6
RFID reader dari stronglink dengan seri SL018. Gambar 2.1 merupakan penampakan
RFID SL018.
Gambar 2.1. Penampakan RFID SL018 [8]
Merujuk pada datasheet RFID SL018, RFID ini dapat membaca tag berjenis
Mifare 1k, Mifare 4k, Mifare UltraLight dan NFC NATG203. 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
berjarak hingga 60 mm. Dilengkapi pula pin TagSta sebagai indikator ada tidaknya tag
disekitarnya.
Pada RFID SL018 terdapat 5 buah pin yang dapat diakses. Konfigurasi pin-pin
tersebut dapat dilihat pada Tabel 2.1.
Tabel 2.1. Konfigurasi Pin RFID SL018 [8]
PIN
SYMBOL
TYPE
1
TagSta
Output
2
3
4
5
SDA
SCL
VCC
GND
Input/Output
Input
PWR
PWR
DESCRIPTION
Tag detect signal
low level indicating tag in
high level indicating tag out
Serial Data Line
Serial Clock Line
Power Supply
Ground
RFID SL018 memiliki 7 bit sebagai alamat dan 1 bit pemilihan operasi. 7 bit yang
dimaksud adalah 1010000, sedangkan 1 bit pemilihan operasi (sebagai bit ke-8) adalah
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
7
pemilihan operasi RFID untuk menulis atau membaca. Jika RFID SL018 dijadikan sebagai
pembaca (reader), maka bit pemilihan operasi harus diberikan kondisi high. Jika dijadikan
sebagai penulis (writer), maka bit pemilihan operasi harus diberikan kondisi low.
Jika host akan menuliskan data ataupun perintah ke RFID SL018, maka piranti
host harus mengirimkan perintah yang berisi alamat slave (write), len, command code, dan
data (jika diperlukan). Jika host ingin membaca data ataupun respon (sebagai akibat dari
perintah yang ditulis host) dari RFID SL018, maka piranti host harus mengirimkan
perintah yang berisi alamat slave (read) kemudian menerima semua informasi mulai dari
len hingga data. Gambar 2.2 dan 2.3 merupakan diagram operasi write dan read pada
RFID SL018.
Gambar 2.2. Diagram Operasi Penulisan RFID SL018 [8]
Gambar 2.3. Diagram Operasi Pembacaan RFID SL018 [8]
Len mengindikasikan jumlah byte dari command code hingga akhir data.
Command code adalah kode perintah agar RFID SL018 dapat beroperasi sebagaimana
seharusnya. Daftar command code dapat dilihat pada Tabel 2.2. Status merupakan suatu
balasan dari RFID kepada host sebagai jawaban atas perintah yang diberikan. Tabel 2.3
merupakan daftar status yang akan diberikan oleh RFID SL018 kepada host. Data
merupakan informasi tambahan yang diberikan host ke RFID SL018 (dalam write mode)
ataupun informasi tambahan yang diberikan RFID SL018 ke host (dalam read mode).
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
8
Tabel 2.2. Command Code [8]
Command
0x01
0x02
0x03
0x04
0x05
0x06
0x07
0x08
0x09
0x0A
0x10
0x11
0x40
0xF0
0xFF
Description
Select Mifare card
Login to a sector
Read a data block
Write a data block
Read a value block
Initialize a value block
Write master key (key A)
Increment value
Decrement value
Copy value
Read a data page (Ultralight & NTAG203)
Write a data page (Ultralight & NTAG203)
Control the red led
Get firmware version
Reset
Tabel 2.3. Daftar status sebagai feedback RFID SL018 kepada host [8]
Status
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x0A
0x0C
0x0D
0x0E
2.3.
Description
Operation succeed
No tag
Login succeed
Login fail
Read fail
Write fail
Unable to read after write
Collision occur
Load key fail
Not authenticate
Not a value block
Mifare 4K 4-byte UID
Dalam penelitian ini, digunakan RFID Card berjenis Mifare 4K yang memiliki
UID (Unique ID) 4 byte menyesuaikan jenis tag yang dapat dibaca modul RFID SL018.
RFID Card berjenis tag pasif yang bekerja pada frekuensi 13,56 MHz ini memiliki
EEPROM sebesar 4 KiloByte [9]. Berikut ini adalah penampakannya.
Gambar 2.4. RFID Card Mifare 4K 4-byte UID
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
2.4.
9
Arduino UNO
Arduino merupakan board mikrokontroler yang berbasis platform komputasi fisik
bersifat open-source dan dibantu oleh software pemrograman yang mendukung. Arduino
dapat digunakan untuk membuat objek interaktif seperti mengambil input dari bermacammacam saklar ataupun sensor, dan mengendalikan cahaya (lampu), motor, dan keluaran
fisik lainnya [10]. Salah satu produk board Arduino adalah Arduino UNO.
Arduino
UNO
merupakan
salah
satu
produk
Arduino
yang berbasis
mikrokontroler Atmega328. Arduino UNO memiliki 14 buah input/output digital (6 di
antaranya bisa digunakan sebagai keluaran Pulse Width Modulation atau PWM), 6 buah
input analog, sebuah osilator keramik 16 MHz, sebuah koneksi USB, sebuah power jack,
sebuah ICSP header, dan sebuah tombol reset [11]. Berikut ini adalah penampakan
Arduino UNO.
Gambar 2.5. Board Arduino UNO [11]
Arduino UNO berbasis pada mikrokontroler Atmega328, memiliki tegangan kerja
5V, dan bisa diberikan sumber tegangan eksternal melalui power jack dengan rentang 7V
hingga 12V. Arus DC maksimum pada pin I/O sebesar 40 mA dan 50 mA untuk pin 3,3V.
Memori flash yang tersedia sebesar 32KB (karena berbasis Atmega328), memori SRAM
sebesar 2KB, dan EEPROM sebesar 1KB. Kecepatan clock maksimalnya adalah 16 MHz
[11].
Arduino UNO bisa diberikan sumber tegangan melalui koneksi USB atau
menggunakan sumber tegangan eksternal. Sumber tegangan dipilih secara otomatis.
Sumber tegangan eksternal dapat diambil dari adapter AC ke DC ataupun baterai. Jika
menggunakan adapter, diameternya harus 2,1 mm dengan sambungan positif di tengah
kemudian dihubungkan ke power jack. Jika digunakan baterai, dapat dihubungkan ke pin
Vin dan Gnd pada konektor POWER [11].
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
10
Berikut ini disajikan tabel fungsi khusus pada beberapa pin arduino.
Tabel 2.4. Fungsi khusus pada pin Arduino [11]
Fungsi Khusus
Serial
Pin
0 (RX) dan 1 (TX)
Interupsi Eksternal
2 dan 3
PWM (Pulse Width
Modulation)
SPI
(Serial
Peripheral Interface)
LED
3, 5, 6, 9, 10, dan 11
Keterangan
Digunakan untuk menerima (RX) dan
mengirimkan (TX) data TTL secara serial
Dikonfigurasikan untuk menerima interupsi
eksternal untuk kondisi low ataupun
perubahan suatu nilai
Digunakan untuk menghasilkan PWM
10 (SS), 11 (MOSI), 12 Digunakan sebagai komunikasi SPI
(MISO), 13 (SCK)
13
Terdapat lampu LED built-in yang
terkoneksi langsung dengan pin digital 13
TWI (Two Wire A4 (SDA) dan A5 (SCL)
Digunakan untuk komunikasi I2C
Interface) atau I2C
Analog Input
A0, A1, A2, A3, A4, A5
Digunakan sebagai pengubah data analog
menjadi data digital
2.4.1. Komunikasi I2C
I2C (Inter Integrated Circuit) adalah standar komunikasi serial 2 arah
menggunakan 2 saluran yang didisain khusus untuk mengirimkan dan/atau menerima data.
Saluran tersebut kemudian disebut sebagai jalur bus [12]. Komunikasi I2C terdiri atas 2 bidirectional jalur bus, jalur yang satu berfungsi sebagai jalur clock (SCL), dan jalur yang
lain berfungsi sebagai jalur data (SDA). Komunikasi I2C dapat digunakan hingga 128
piranti berbeda untuk dioperasikan pada jalur bus tersebut. Kebutuhan hardware eksternal
yang dibutuhkan adalah resistor pull-up pada setiap jalur (SCL maupun SDA) [13].
Gambar 2.6. Komunikasi I2C [13]
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
11
Pada komunikasi I2C, terdapat piranti yang disebut Master dan Slave. Master
adalah piranti yang memulai komunikasi I2C dan mengirimkan perintah ke Slave. Slave
adalah piranti yang menerima perintah dari Master dan menjawab perintah yang diberikan
Master. Master maupun Slave dapat beroperasi sebagai pengirim maupun penerima.
Sebagai pengirim artinya piranti mengirimkan perintah maupun data tertentu kepada
piranti penerima. Sebagai penerima artinya piranti menerima perintah maupun data tertentu
kepada piranti pengirim.
Proses Komunikasi I2C adalah sebagai berikut [13].
1. Diawali dengan pengiriman sinyal START oleh master. Sinyal START
merupakan transisi keadaan dari keadaan high menjadi low pada SDA saat
SCL dalam kondisi high.
2. Pengiriman paket alamat yang berjumlah 9 bit, 7 bit pertama merupakan alamat
slave, 1 bit berikutnya merupakan bit pengendali baca atau tulis (Read/Write
control), dan bit terakhir merupakan bit acknowledge yang dikirim oleh slave.
Namun pada Arduino, pengalamatan slave menggunakan 7 bit. Jika Arduino
ingin berkomunikasi dengan piranti yang memiliki pengalamatan 8 bit, maka
pada program Arduino alamat slave tersebut digeser 1 bit ke kanan [14].
3. Pengiriman paket data yang berjumlah 9 bit yang terdiri atas 1 byte data dan
sebuah bit acknowledge. Acknowledge (ACK) adalah sinyal low yang
dikirimkan slave untuk mengakhiri data ke-n telah dikirimkan. Not
Acknowledge (NACK) adalah sinyal high yang dikirim oleh slave untuk
memberitahukan master bahwa data terakhir sudah dikirimkan (tidak ada
pengiriman data lagi oleh slave).
4. Diakhiri dengan pengiriman sinyal STOP oleh master. Sinyal STOP
merupakan transisi keadaan dari keadaan low menjadi high pada SDA saat
SCL dalam kondisi high.
2.4.2. Resistor Pull-Up
Resistor pull-up digunakan dalam komunikasi I2C. Hal ini bertujuan untuk
memberikan keadaan yang pasti pada pin input mengenai kondisi high ataupun kondisi low
dan tentunya menggunakan arus yang rendah[15]. Kebutuhan akan resistor pull-up harus
disesuaikan dengan arus yang masuk ke pin input agar tidak merusaknya. Nilai resistor
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
12
pull-up tidak boleh menghasilkan arus yang melebihi arus maksimum yang boleh diterima
pin input.
Arduino menggunakan ATMega328. Berdasarkan datasheet, ATMega328
memiliki rentang resistor pull-up 20 kΩ sampai 50 kΩ. Berikut penampakannya.
Tabel 2.5. Sebagian electrical characterstic dari ATMega328 [13]
2.4.3. Komunikasi SPI (Serial Peripheral Interface)
Komunikasi Serial Peripheral Interface atau yang lebih dikenal dengan SPI,
sangat umum digunakan untuk mengirimkan data antara mikrokontroler dan beberapa
piranti tertentu seperti register geser, sensor, maupun kartu SD. SPI menggunakan jalur
data dan clock secara terpisah dan juga jalur piranti selektor untuk memilih piranti yang
akan digunakan untuk berkomunikasi [16].
Komunikasi SPI bersifat synchronous (komunikasi sinkron). Clock memberikan
sinyal yang berosilasi yang memberitahu penerima untuk mengambil bit pada jalur data.
Clock ini bisa berupa pinggiran positif (rendah ke tinggi) ataupun pinggiran negatif (tinggi
ke rendah). Saat penerima mendeteksi pinggiran tersebut, penerima secara otomatis akan
membaca bit selanjutnya pada jalur data [16].
Komunikasi SPI menggunakan setidaknya 5 buah pin sebagai berikut [17].
1. MOSI (Master Out Slave In)
4. SS (Slave Select)
2. MISO (Master In Slave Out)
5. GND (Ground)
3. SCK (Serial Clock)
Data master dikeluarkan melalui pin MOSI master dan diterima oleh pin MOSI
slave. Data slave dikeluarkan melalui pin MISO slave dan diterima oleh pin MISO master.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
13
Pin SCK master mengeluarkan clock sinkron yang diterima slave melalui pin SCK
miliknya. SS digunakan untuk mengaktifkan slave yang bersangkutan [17].
2.5.
RTC (Real Time Clock)
RTC (Real Time Clock) merupakan IC (integrated circuit) yang memiliki peran
sebagai jam elektronik. RTC memiliki memori untuk menyimpan waktu berupa detik,
menit, jam, hari, tanggal, bulan, dan tahun pada registernya. Salah satu contoh RTC adalah
DS1307.
Merujuk pada datasheet, RTC DS1307 dapat dioperasikan melalui komunikasi
I2C melalui mikrokontroler. Saat dioperasikan atau dibaca DS1307 akan mengirimkan data
berupa sandi BCD (Binary-Coded Decimal). Sandi BCD sendiri merupakan pengkodean
bilangan desimal ke dalam kelompok angka biner.
RTC DS1307 memiliki 8 buah pin, memori 56 byte, dan juga pendeteksi
kesalahan sumber daya. Pendeteksi kesalahan sumber daya yang dimaksud adalah saat
adanya kesalahan pada sumber tegangan (VCC) ke DS1307, DS1307 akan men-switch
sumber tegangan baginya ke tegangan baterai secara otomatis. Berikut ini adalah
penampakan RTC DS1307.
Gambar 2.7. RTC DS1307 [18]
Merujuk pada datasheet RTC DS1307, konfigurasi pin-pin tersebut adalah
sebagai berikut.
VCC
- Sumber Tegangan Utama
X1, X2
- 32.768kHz Crystal
VBAT
- +3V Input Tegangan Baterai
GND
- Ground
SDA
- Serial Data
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
SCL
- Serial Clock
SQW/OUT
- Square Wave/Output
14
RTC DS1307 sangat berguna untuk menjaga waktu agar terus berjalan walaupun
supply tegangan (VCC) tidak terhubung. Saat tegangan pada VCC berada di bawah
tegangan baterai (VBAT), maka DS1307 akan men-switch ke tegangan baterai. Jika
tegangan VCC sudah berada di atas tegangan baterai (VBAT + 0,2 V), maka DS1307 akan
mengubah sumber tegangan baginya dari tegangan baterai ke VCC.
Register DS1307 berlokasi pada alamat 00H sampai 07H. Register tersebut secara
urut mulai dari 00H adalah detik, menit, jam, hari, tanggal, bulan, tahun, dan pengendali
operasi SQW. Untuk mengatur detik, menit, jam, hari, tanggal, bulan, dan tahun, dapat
diatur bit-bit pada masing-masing register.
Gambar 2.8. Konfigurasi bit pada register DS1307 [18]
Untuk mengoperasikan RTC DS1307, digunakan komunikasi I2C dengan mode
reguler (100 kHz). Alamat slave DS1307 mengandung 7 bit alamat yaitu 1101000
Mikrokontroler sebagai master mengirimkan alamat slave + write bit, alamat register yang
akan ditulis, kemudian mengirimkan sejumlah byte data. Untuk membaca waktu dari
DS1307, mikrokontroler mengirimkan alamat slave + write bit, register pointer (register
pertama yang akan dibaca), kemudian membaca data yang dikirimkan dari DS1307.
Berikut ini adalah diagram write mode dan read mode pada RTC DS1307.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
15
Gambar 2.9. Diagram write mode DS1307 [18]
Gambar 2.10. Diagram read mode DS1307 [18]
2.6.
Software XAMPP
XAMPP
adalah
program
aplikasi
pengembang
yang
berguna
untuk
pengembangan website berbasis PHP dan MySQL. Perangkat lunak komputer ini memiliki
kelebihan untuk bisa berperan sebagai server web Apache untuk simulasi pengembangan
website. Tool pengembangan web ini mendukung teknologi web populer seperti PHP dan
MySQL. Melalui program ini, programmer web dapat menguji aplikasi web yang
dikembangkan dan mempresentasikannya ke pihak lain secara langsung dari komputer,
tanpa perlu terkoneksi ke internet. XAMPP juga dilengkapi fitur manajemen database
PHPMyAdmin seperti pada server hosting sungguhan, sehingga pengembang web dapat
mengembangkan web berbasis database dengan mudah [19].
Fungsi XAMPP adalah sebagai server yang berdiri sendiri (localhost), yang terdiri
atas program Apache HTTP Server, MySQL database, dan penerjemah bahasa yang ditulis
dengan bahasa pemrograman PHP dan Perl. Nama XAMPP merupakan singkatan dari X
(empat sistem operasi apapun: Windows, Linux, Mac OS, Solaris), Apache, MySQL, PHP
dan Perl. Program ini tersedia bebas, mudah digunakan, dan dapat melayani tampilan
halaman web yang dinamis [19].
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
16
Gambar 2.11. XAMPP Control Panel
2.6.1. Apache Web Server
Web server merupakan server internet yang mampu melayani koneksi transfer
data dalam protocol HTTP. Web server telah dirancang untuk dapat melayani beragam
jenis data, dari text sampai grafis. Kemampuan ini telah menyebabkan berbagai institusi
seperti universitas maupun perusahaan dapat menerima kehadirannya dan juga sekaligus
menggunakannya sebagai sarana di Internet [20].
Salah satu perangkat lunak web server yang biasa digunakan adalah Apache Web
Server. Apache ini bersifat open source yang berarti gratis dan bisa diedit oleh
penggunanya. Tugas utama Apache adalah menghasilkan halaman web yang benar kepada
client berdasarkan kode PHP yang dituliskan oleh pembuat halaman web. Secara otomatis
Apache akan menjalankan file index.html (halaman utamanya) untuk ditampilkan secara
otomatis pada client. Jika diperlukan juga berdasarkan kode PHP yang dituliskan,maka
dapat saja suatu database diakses terlebih dahulu (misalnya dalam MySQL) untuk
mendukung halaman web yang dihasilkan[19].
2.6.2. MySQL Database
MySQL (My Structured Query Language) adalah sebuah program pembuat dan
pengelola data atau yang sering disebut dengan DBMS (DataBase Management
System)[21]. Dalam konteks bahasa SQL, pada umumnya informasi tersimpan dalam tabeltabel yang secara logika merupakan struktur 2 dimensi yang terdiri atas baris-baris data
yang berada dalam sau atau lebih kolom. Baris pada tabel sering disebut sebagai instance
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
17
dari data, sedangkan kolom sering disebut sebagai attribute atau field. Keseluruhan tabel
itu dihimpun dalam satu kesatuan yang disebut database[22].
2.6.3. Pemrograman PHP
PHP adalah singkatan dari PHP Hypertext Preprocessor [23]. PHP adalah bahasa
server-side scripting yang menyatu dengan HTML (Hypertext Markup Language)untuk
membuat halaman web yang dinamis. Maksud dari server-side scriping adalah sinaks dan
perinah-perintah yang diberikan akan sepenuhnya dijalankan di server eapi disertakan pada
dokumen HTML sebagai pembangun halaman web. Ketika seorang pengguna internet akan
membuka suatu situs yang menggunakan PHP, maka terlebih dahulu server yang
bersangkutan akan memproses semua perintah PHP di server lalu mengirimkan hasilnya
dalam forma HTML ke web browser. Dengan demikian, seorang pengguna internet tidak
dapat melihat kode program yang ditulis dalam php sehingga keamanan dari halaman web
menjadi lebih terjamin [22].
PHP dapat mengirim HTTP header, dapat mengeset cookies, mengatur
authentication, redirect, mampu berkoneksi dengan beberapa basis data (semisal MySQL),
mampu berintegrasi dengan library eksternal [22].
Dalam membuat program PHP, maka yang dibutuhkan adalah perintah awal (start
tag) dan perintah akhir (end tag). Ada beberapa cara penulisan start tag dan end tag:
- <? Skrip PHP di sini ?>
- <?php Skrip PHP di sini ?>
- <% Skrip PHP di sini %>
- <scrpit language=”php”> Skrip di sini </script>
Semua perintah yang diletakkan pada daerah skrip akan dianggap sebagai perinah
PHP. Jika erjadi kesalahan ataupun kata-kata yang tidak sesuai dengan program akan
dianggap salah dan mengakibatkan program yang dibuat menjadi error [21].
2.7.
Modul Ethernet Shield
Arduino ethernet shield memungkinkan Arduino untuk terkoneksi ke internet.
Dalam penggunaannya, digunakan Ethernet Library yang merupakan salah satu standard
library Arduino untuk membantu penggunaannya. Tiap port pada ethernet shield ini,
terdapat semacam pin-head yang panjang sehingga dapat menancap dengan baik pada
board Arduino dan tentunya masih dapat digunakan seperti biasa.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
18
Ethernet shield memiliki koneksi standar RJ-45, micro SD card slot yang dapat
digunakan untuk menyimpan file. Arduino dapat berkomunikasi dengan ethernet maupun
dengan SD card menggunakan SPI. Pin yang digunakan adalah 10, 11, 12, dan 13
(menggunakan Arduino Uno). Antara Arduino dan Ethernet Shield, pin 10 digunakan
untuk berkomunikasi dengan ethernet dan pin 4 digunakan untuk berkomunikasi dengan
SD card [24].
Gambar 2.12. Modul Ethernet Shield [24]
2.7.1. MAC Address
Media Access Control Address (MAC Address) adalah alamat fisik suatu interface
jaringan (seperti ethernet card pada komputer, port pada router, dan lain-lain) yan bersifat
unik dan berfungsi sebagai identitas perangkat tersebut. MAC Address memiliki panjang 6
byte. Format standar MAC Address secara umum terdiri dari 6 kelompok digit yang
masing-masing kelompok berjumlah 2 digit heksadesimal. Masing-masing kelompok digit
dipisahkan tanda (-) atau (:), misalnya 01-23-45-67-89-ab atau 01:23:45:67:89:ab [25].
Gambar 2.13 Contoh MAC Address [26]
MAC Address terdiri dari 12 digit bilangan heksadesimal yang dibagi menjadi 6
segmen (masing-masing 2 digit). Tiga segmen pertama merupakan kode vendor atau
pembuat kartu jaringan tersebut, 3 segmen berikutnya merupakan serial number kartu
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
19
tersebut. MAC Address merupakan susunan dari 12 digit bilangan heksadesimal, yang
dapat diuraikan menjadi 48 digit bilangan biner. Dari contoh Gambar 2.11, vendor MAC
Address-nya adalah GVC CORPORATION dengan serial number 4C223A [26].
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
BAB III
RANCANGAN PENELITIAN
3.1.
Model Sistem
Prinsip kerja dari perekaman data akses kamar hotel ini adalah sebagai berikut.
Awalnya, semua ID Card dari penyewa tidak dapat mengakses kamar. ID Card penyewa
dapat digunakan untuk mengakses kamar setelah dilakukan pendaftaran melalui halaman
web bagian pendaftaran. Pada halaman web pendaftaran ini, terdapat waktu check in dan
check out. Setelah waktu check in dan check out diberikan, maka ID Card penyewa telah
dapat digunakan untuk mengakses kamar.
Setelah mendapatkan waktu check in dan check out, maka perekaman data akses
kamar hotel dilakukan dengan mengirimkan data dari ID Card penyewa ke web. Penyewa
yang ingin memasuki kamar hotel harus memiliki RFID Card. Data yang teridentifikasi
dari RFID Card tersebut akan diproses oleh mikrokontroler setelah melalui pembacaan
dari RFID Reader. Data tersebut kemudian akan dikirimkan ke web menggunakan Modul
Ethernet. Pada halaman web akan ditampilkan data yang teridentifikasi dari RFID Card
beserta waktu penggunaan kamar hotel ini.
Berikut ini adalah diagram blok sistem pengelolaan kamar hotel beserta bentuk
fisiknya.
Gambar 3.1. Diagram blok sistem perekaman data akses kamar hotel
20
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
21
LED
LED
LED
LED
LED
LED
Kamar 3
RFID 2
RFID 1
Kamar 2
RFID 3
Kamar 1
Gambar 3.2. Bentuk fisik tampak depan
Dalam penelitian ini, akan dibuat model 3 ruangan, yakni Kamar 1, Kamar 2,
Kamar 3 yang masing-masing dipasangi RFID dan terdapat 5 buah RFID Card Penyewa 1,
Penyewa 2, Penyewa 3, Resepsionis, dan OB. Setiap kali ada yang mengakses kamar, data
yang dibaca RFID akan dimonitor melalui internet menggunakan mikrokontroler. LED
akan menyala ataupun mati mengikuti persyaratan akses kamar.
3.2.
Identifikasi Kebutuhan Perangkat
Dalam pembuatan sistem pengelolaan kamar hotel ini, digunakan beberapa
perangkat keras sebagai berikut.
1. RFID Card sebagai identitas pengguna.
2. Modul RFID sebagai pembaca data identitas pengguna dari RFID Card.
3. Mikrokontroler sebagai pengolah data dan pengendali utama sistem secara
keseluruhan.
4. Modul Ethernet Shield sebagai alat bantu komunikasi mikrokontroler dengan
web.
5. Modul RTC DS1307 sebagai pemberi informasi waktu kunjung.
3.3.
Perancangan Perangkat Keras
3.3.1. Perancangan Resistor Pull-Up
Resistor pull-up digunakan dalam komunikasi I2C. Berdasarkan datasheet,
ATMega328 memiliki rentang resistor pull-up 20 kΩ sampai 50 kΩ, sehingga diambil nilai
resistor pull-up yang masih dalam rentangnya yakni 30kΩ. Dengan demikian, perancangan
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
22
resistor pull-up untuk komunikasi I2C antara Arduino dan piranti lain adalah sebagai
berikut.
Gambar 3.3. Perancangan resistor pull-up
3.3.2. Perancangan RFID SL018
Digunakan Modul RFID SL018 sebagai pembaca data dari RFID Card. Gambar
2.1 menunjukan Modul RFID SL018 dan Tabel 2.1 menunjukan konfigurasi pin RFID
SL018. Kedua gambar tersebut merujuk pada datasheet RFID SL018. Pin VCC akan
dihubungkan pada sumber tegangan 5V. Pin GND akan dihubungkan dengan ground. Pin
SDA akan dihubungkan pada pin SDA pada mikrokontroler sebagai komunikasi I2C. Pin
SCL akan dihubungkan dengan pin SCL pada mikrokontroler sebagai komunikasi I2C. Pin
TagSta akan dihubungkan ke port mikrokontroler sebagai pembaca keadaan RFID.
Komunikasi
antara
RFID
SL018
dengan
mikrokontroler
menggunakan
komunikasi I2C. Dalam komunikasi I2C, dibutuhkan resistor pull-up pada pin SDA dan
SCL. Sistem yang dibuat nantinya akan terdapat 3 buah RFID yang mewakili 3 kamar
hotel. Dengan demikian bentuk perancangan RFID SL018 secara keseluruhan adalah
seperti Gambar 3.4.
3.3.3. Perancangan Modul Ethernet
Modul Ethernet sebagai modul pembantu mikrokontroler untuk mengirimkan data
ke halaman web. Modul Ethernet digunakan untuk membantu mikrokontroler berkerja
sebagai web server. Penggunaan Modul Ethernet menggunakan komunikasi SPI. Pin pada
Modul Ethernet disesuaikan dengan pin MOSI, MISO, SCK, dan SS pada mikrokontroler.
Dikarenakan modul Ethernet yang digunakan berupa shield untuk Arduino, maka pin pada
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
23
modul Ethernet sama dengan pin pada Arduino. Gambar 3.5 merupakan perancangan
modul ethernet dan mikrokontroler.
Gambar 3.4. Perancangan 3 buah RFID dengan mikrokontroler
Gambar 3.5. Perancangan Modul Ethernet dan Mikrokontroler
3.3.4. Perancangan RTC DS1307
Pengelolaan kamar hotel ini, diatur juga waktu kunjungnya. Untuk itu, digunakan
modul RTC (Real Time Clock) sebagai pengatur waktunya mulai dari detik, menit, jam,
tanggal, bulan, dan tahun. Modul RTC yang digunakan adalah DS1307. Penggunaan RTC
bertujuan agar sistem sedang tidak mendapat sumber listrik (misal karena mati lampu),
waktu tetap berjalan sebagaimana mestinya sehingga tidak perlu melakukan setting waktu
lagi pada sistem.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
24
Dikarenakan Modul RTC DS1307 menggunakan komunikasi I2C, maka harus ada
resistor pull-up pada jalur SDA maupun jalur SCL. Pin SDA dan SCL akan dihubungkan
dengan pin SDA dan SCL pada mikrokontroler sebagai komunikasi I2C. Gambar 3.6
menunjukan pengabelan pada modul DS1307 merujuk pada datasheet.
Gambar 3.6. Perancangan RTC DS1307
3.4.
Perancangan Perangkat Lunak
3.4.1. Perancangan Halaman Login
Halaman web login yang dibuat ini digunakan agar pengguna dapat mengakses
halaman web pendaftaran dan perekaman data akses kamar hotel. Hal ini bertujuan agar
kedua halaman tersebut hanya dapat dilihat oleh beberapa pengguna saja seperti admin,
resepsionis dan manager hotel. Dengan demikian, orang yang tidak memiliki hak akses
tidak dapat mengakses kedua halaman tersebut. Berikut ini adalah tampilan halaman login
nya.
SELAMAT
DATANG
Username
:
Password
:
Gambar 3.7. Gambar halaman login sebelum mengakses halaman rekaman data akses
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
25
Diagram alir halaman login tersebut adalah sebagai berikut.
Gambar 3.8. Diagram alir halaman login
3.4.2. Perancangan Pendaftaran Penyewa Kamar Hotel
Sebelum diberikan hak akses mengenai waktu check in dan check out, ID Card
penyewa tidak dapat digunakan untuk mengakses kamar. Pengaturan hak akses kamar ini,
diberikan melalui halaman web pendaftaran. Halaman web pendaftaran ini hanya dapat
diakses oleh resepsionis. Berikut ini adalah tampilan halaman web pendaftaran.
Gambar 3.9. Tampilan tabel hasil pendaftaran kamar hotel pada web yang diharapkan
Format data yang dihasilkan pada halaman web pendaftaran setelah memberikan
data masukan adalah sebagai berikut.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
26
Tabel 3.1. Format data yang dihasilkan pada halaman web pendaftaran untuk kemudian
diproses pada mikrokontroler
alamatfileserver--kamar--tanggal_in--bulan_in--tahun_in--jam_in--menit_in-tanggal_out--bulan_out--tahun_out--jam_out--menit_out
alamatfileserver
dihubungkan ke alamat file PHP pada server yang mengatur
pemrosesan data-data yang dikirm
kamar
kamar yang digunakan atau disewa
tanggal_in; jam_in;
Waktu check in penyewa, terdiri atas tanggal, bulan, tahun,
bulan_in; menit_in;
jam, dan menit
tahun_in;
tanggal_out; jam_out;
Waktu check out penyewa, terdiri atas tanggal, bulan, tahun,
bulan_out; menit_out; jam, dan menit
tahun_out;
Selanjutnya, mikrokontroler akan membaca dan menerima data tersebut
menggunakan HTTP request dengan format sebagai berikut.
GET alamatfileserver
Kemudian, data-data masukan dari halaman web pendaftaran akan diproses pada
mikrokontroler. Pengiriman data dari web ke mikrokontroler ini menggunakan interupsi
komunikasi pada ethernet shield yang nantinya akan mempengaruhi hak akses ID Card
penyewa menjadi dapat digunakan untuk mengakses kamar. Dikarenakan yang memiliki
hak akses untuk halaman hanyalah resepsionis, maka selain resepsionis tidak dapat
mengakses halaman ini dengan cara diberikan notifikasi “Tidak memiliki hak akses”.
Diagram alir untuk pengaturan ini adalah sebagai berikut.
Gambar 3.10. Diagram alir halaman pendaftaran
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
27
3.4.3. Diagram Alir Program Utama
Gambar 3.11 menunjukan diagram alir program utama. Proses dimulai dengan
pembacaan RFID Card oleh RFID SL018. Data yang diterima oleh RFID SL018 diterima
oleh mikrokontroler. Mikrokontroler akan mengecek identitas dari RFID Card, kamar yang
digunakan beserta waktu kunjung. Pengecekan ini berlaku untuk setiap RFID yang
terpasang. Jika identitas RFID Card, kamar yang digunakan dan waktu kunjung telah
sesuai, maka pengguna diperbolehkan mengakses kamar hotel. Namun, jika tidak sesuai,
maka pengguna tidak dapat mengakses kamar hotel. Data-data dari hasil pengecekan
tersebut akan dikirimkan ke server untuk kemudian ditampilkan pada halaman web.
Pengiriman data ini diproses oleh mikrokontroler yang berkomunikasi dengan Modul
Ethernet.
Gambar 3.11. Diagram alir program utama
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
28
3.4.4. Pembacaan Identitas RFID Card oleh RFID SL018
Pembacaan data dari RFID SL018 mengacu pada datasheet RFID SL018.
Awalnya, jika terdapat RFID Card yang terdeteksi oleh RFID SL018, maka RFID akan
menghasilkan logika low pada pin TagSta. Jika tidak ada RFID Card yang terdeteksi, maka
akan kembali ke fungsi utama. Logika low ini diterima oleh mikrokontroler untuk
kemudian menuliskan write command berupa alamat slave, len, dan command. Untuk
memastikan mikrokontroler sudah berhasil berkomunikasi dengan RFID SL018, akan ada
pengecekan status komunikasi. Jika status komunikasi tersedia, maka mikrokontroler akan
memberikan read command untuk membaca hasilnya. Dalam pembacaan data ini,
mikrokontroler akan menerima sejumlah byte dalam bentuk bilangan heksadesimal yang
berupa len, command, status, identitas RFID Card, dan tipe RFID Card.
Gambar 3.12. Diagram alir pembacaan identitas RFID Card oleh RFID SL018
Berikut ini adalah format data yang diperlukan untuk membaca data RFID Card
yang diterima dari modul RFID SL018 [8].
a. Mikrokontroler menulis perintah ke modul RFID SL018.
Alamat Slave
Len
Command
Alamat Slave : 0xA0 (pada Arduino menjadi 0x50)
Len
: mengindikasikan jumlah byte dari command
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Command
29
: perintah yang diberikan ke RFID SL018. Untuk membaca data
dari RFID Card digunakan perintah 0x01
b. Hasil yang dibaca oleh mikrokontroler
Len
Command
Status
UID
Len
: mengindikasikan jumlah byte yang akan diterima
Command
: perintah yang diterima sebelumnya (0x01)
Status
: keadaan modul RFID SL018
Type
0x00 : operasi berhasil
0x01 : tag tidak terdeteksi
0x0A: terjadi benturan data
UID
: data unik dari RFID Card (berupa bilangan heksadesimal)
Type
: tipe kartu yang dideteksi. Karena menggunakan RFID Card
Mifare 4K 4-byte, maka data Type ini bernilai 0x04.
3.4.5. Perancangan Perangkat Lunak Modul RTC DS1307
Data yang dikirimkan oleh Modul RTC DS1307 merupakan bilangan BCD
(Binary Code Decimal). Komunikasi RTC DS1307 menggunakan I2C. Awalnya, RTC
DS1307 harus diatur dulu waktunya hingga sesuai dengan waktu sebenarnya. Pengaturan
waktu dilakukan dengan memberikan alamat slave, lokasi alamat waktu, dan data.
Pengaturan waktu ini hanya dilakukan sekali saja selama baterai yang terhubung dengan
pin VBat belum habis. Pembacaan waktu hanya akan dilakukan saat ada data RFID yang
terdeteksi dan digunakan untuk syarat akses kamar bagi OB. Diagram alirnya dapat dilihat
pada Gambar 3.13 (a) dan (b).
3.4.6. Persyaratan Akses Kamar
Pada penelitian ini, syarat akses hotel dan waktunya adalah sebagai berikut.
Identitas
Penyewa 1
Penyewa 2
Penyewa 3
Resepsionis
Office Boy (OB)
Tabel 3.2. Persyaratan akses kamar
Kamar Yang Boleh Diakses
Waktu
Kamar 1
Sepanjang hari
Kamar 2
Sepanjang hari
Kamar 3
Sepanjang hari
Semua kamar
Sepanjang hari
Semua kamar
08.00 – 16.00
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
30
Pada setiap kamar terdapat indikator LED hijau dan LED merah. LED berwarna
hijau diartikan sebagai indikator bahwa kamar tersebut dapat diakses (tidak ada orang di
dalamnya). LED berwarna merah diartikan sebagai indikator bahwa kamar tidak dapat
diakses (ada orang di dalamnya). Indikator LED ini digunakan agar mempermudah dalam
(a)
(b)
Gambar 3.13. (a) Diagram alir pengaturan waktu RTC dan (b) Diagram alir pembacaan
waktu modul RTC DS1307
penelitian ini. Resepsionis dan OB dapat mengakses kamar jika kamar itu kosong. OB
diberikan akses ke setiap kamar untuk membersihkan kamar sesuai pada waktu yang
tertera pada tabel 3.2. Resepsionis diberikan akses ke setiap kamar hanya jika seumpama
ada orang yang ingin melihat-lihat kamar sebelum menyewa.
Diagram alir untuk persyaratan akses kamar seperti pada gambar 3.14 dengan
penjelasan sebagai berikut. Sebelumnya, telah didapatkan identitas dari RFID Card oleh
RFID SL018. Awalnya dilakukan pengecekan terlebih dahulu mengenai ada tidaknya
orang pada kamar tersebut. Jika kamar tersebut kosong, dilakukan pengecekan terhadap
identitas yang ingin mengakses kamar tersebut. Jika yang mengakses adalah penyewa
kamar yang sesuai, dilakukan pengecekan terhadap waktu mengaksesnya. Waktu
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
31
mengakses ini dapat dipengaruhi setelah ada interupsi komunikasi pada ethernet karena
ada pemberian waktu check in dan check out. Jika penyewa mengakses kamar pada waktu
check in dan check out nya, maka penyewa dapat mengakses kamar hotel. Di luar waktu
check in dan check out, akan dibuat keluaran “Mencoba Memasuki Kamar x”.
Gambar 3.14. Diagram alir syarat akses kamar
Jika identitas merupakan resepsionis, maka kamar dapat diakses dengan indikator
LED merah menyala, LED hijau mati serta adanya penyimpanan identitas yang mengisi.
Jika yang mengakses kamar adalah OB, dilakukan pengecekan waktu yang sesuai dengan
tabel 3.2. Jika waktu telah sesuai, maka OB dapat mengakses kamar. Jika waktu tidak
sesuai maka OB tidak dapat mengakses kamar.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
32
Jika kamar yang akan diakses tidak kosong (ada orang di dalamnya), dilakukan
pengecekan identitas. Jika identitas sama dengan identitas yang mengisi, diartikan bahwa
orang yang ada di dalam akan keluar, LED hijau menyala, LED merah mati. Hal ini juga
menandakan bahwa kamar telah kosong. Jika identitas tidak sama dengan identitas yang
mengisi, diartikan bahwa ada orang lain yang ingin memasuki kamar padahal ada orang di
dalam. Dengan demikian, dibuat keluaran “Mencoba Memasuki Kamar x”.
Tiap LED akan dihubungkan dengan beberapa pin pada Arduino sebagai berikut.
Tabel 3.3. Koneksi LED pada pin Arduino
Kamar
LED
Pin pada Arduino
LED Merah
2
1
LED Hijau
3
LED Merah
5
2
LED Hijau
6
LED Merah
7
3
LED Hijau
8
3.4.7. Pengiriman Data ke Web Melalui Ethernet
Setelah mikrokontroler telah mendapatkan data berupa identitas dari RFID Card,
maka data tersebut akan ditampilkan pada halaman web. Pengiriman data ini lebih kepada
pengiriman data ke alamat IP tertentu melalui internet. Untuk membantu hal ini,
mikrokontroler dihubungkan dengan Modul Ethernet.
Dalam menggunakan Modul Ethernet ini, mikrokontroler harus mengirimkan kode HTML
agar bisa ditampilkan pada halaman web. Namun, harus ada pengaturan mengenai port,
Media Access Control (MAC), dan alamat IP web yang akan digunakan. Proses pengiriman
data ini akan dilakukan setelah adanya proses pengolahan data pada mikrokontroler
mengenai identitas RFID Card, kamar dan waktu. Kemudian, mikrokontroler akan
dihubungkan ke server melalui port yang digunakan server. Jika sudah terhubung dengan
server, maka mikrokontroler akan mengirimkan data ke web dengan format data seperti
tabel 3.4. Diagram alir pengiriman data ke web dapat dilihat pada gambar 3.15.
Tabel 3.4. Format perngiriman data ke server
POST alamatfileserver--identitas=a--tanggal=waktu--kamar=kamar
POST
merupakan salah satu HTTP request untuk mengirimkan data
alamatfileserver
dihubungkan ke alamat file PHP pada server yang mengatur
pemrosesan data-data yang dikirm
a
Identitas dari RFID Card
waktu
waktu yang didapatkan dari hasil pembacaan data pada RTC
kamar
kamar yang digunakan
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
33
Gambar 3.15. Diagram alir pengiriman data ke web
3.4.8. Perancangan Tampilan Web
Tampilan web yang akan dibuat, menggunakan pemrograman PHP (PHP
Hypertext Preprocessor) dan MySQL (My Structured Query Language) sebagai
penyimpan dan pengolah data. Data-data yang telah dikirimkan mikrokontroler diproses di
server. Data-data tersebut disimpan pada database server terlebih dahulu. Kemudian, pada
halaman web ditampilkan data-data yang disimpan pada database tersebut. Tampilan yang
akan diperlihatkan berbentuk tabel. Tabel tersebut berisi nomor, identitas, hari dan tanggal,
waktu, dan kamar yang diakses. Tampilan web yang berisi perekaman data akses kamar
hotel ini dapat diakses oleh administrator, resepsionis, dan manager hotel.
Gambar 3.16. Tampilan tabel hasil pada web yang diharapkan
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
BAB IV
HASIL DAN PEMBAHASAN
4.1
Hasil Implementasi Alat
Implementasi alat perekaman data akses kamar hotel dengan RFID berbasis web
tersusun atas mikrokontroler Arduino Uno, Modul Ethernet Shield, RTC, 3 buah RFID
SL018, 3 buah LED Hijau, 3 buah LED Merah, dan laptop (sebagai server). Berikut ini
adalah penampakan implementasi alat.
Gambar 4.1. Hasil implementasi alat Perekaman Data Akses Kamar Hotel dengan RFID
Berbasis Web
Pada laptop server terdapat halaman web tentang halaman pendaftaran, penampil
data akses kamar hotel yang direkam, beserta halaman login untuk mengakses kedua
halaman tersebut.
Gambar 4.2. Tampilan halaman login
34
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
35
Gambar 4.3. Tampilan halaman pendaftaran
Gambar 4.4. Tampilan halaman web perekaman data akses kamar hotel
4.2
Hasil Perancangan Perangkat Keras
Hasil perancangan perangkat keras ini terdiri atas RFID SL018, resistor pull-up,
Modul Ethernet Shield, dan RTC.
(a)
(b)
(c)
Gambar 4.5. Penampakan RFID pada (a) kamar 1 (b) kamar 2 dan (c) kamar 3
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
SDA
VCC
SCL
GND
Gambar 4.6. Penampakan hasil perancangan resistor pull-up
ETHERNET SHIELD
ARDUINO UNO
Gambar 4.7. Penampakan Modul Ethernet Shield dan Arduino di bawahnya
Crystal 32,76 kHz
Pin SCL
Baterai 3V
Pin SDA
DS1307
GND
VCC
Gambar 4.8. Penampakan RTC
36
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
4.3
Hasil Perancangan dan Pembahasan Perangkat Lunak
4.3.1
Pengaturan IP Address pada Laptop Server
37
Sebelum dapat berkomunikasi dengan Arduino melalui Modul Ethernet Shield, IP
address laptop server harus diatur terlebih dahulu. Laptop server menggunakan OS
Windows 7, sehingga pengaturannya adalah sebagai berikut.
1. Klik icon
pada Taskbar di kanan bawah.
2. Pilih “Open Network and Sharing Center”.
3. Pilih “Change Adapter Setting”.
4. Klik kanan “Local Area Connection” dan pilih “Properties”.
5. Klik pada “Internet Protocol Version 4 (TCP/IPv4)” dan pilih “Properties”.
6. Pada window “Internet Protocol Version 4 (TCP/IPv4) Properties” yang
muncul diatur seperti gambar berikut.
Gambar 4.9. IP Address laptop server diatur seperti gambar
4.3.2
Pengaturan IP Address pada Modul Ethernet Shield
Pengaturan IP address pada Modul Ethernet Shield dilakukan langsung pada
program Arduino. Pengaturannya adalah sebagai berikut.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
38
Gambar 4.10. Pengaturan IP Address beserta MAC Address untuk Modul Ethernet Shield
Setelah server dan Modul Ethernet Shield diatur IP address-nya, maka
selanjutnya dilakukan pengujian koneksi antar keduanya. Pengujian koneksi dilakukan
dengan command prompt. Keberhasilan koneksi antar keduanya memberikan hasil seperti
berikut pada command prompt.
Gambar 4.11. Koneksi antara server dan Modul Ethernet Shield telah berhasil
Berdasarkan gambar tersebut, koneksi antara server dan Modul Ethernet Shield
dapat bekerja dengan baik sehingga proses komunikasi antar keduanya dapat dilakukan.
4.3.3
Hasil dan Pembahasan Perancangan Halaman Login
Untuk pengujian hasil perancangan setiap halaman web yang dibuat, digunakan
bantuan browser Opera. Hasil perancangan halaman login dapat dilihat pada Gambar 4.2.
Pengujian dilakukan dengan memasukkan username dan password yang sudah dibuat
sebelumnya untuk admin, manager, dan resepsionis. Halaman yang ditampilkan setelah
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
39
memasukkan username admin maupun manager adalah halaman perekaman data akses
kamar hotel seperti Gambar 4.4. Jika username yang digunakan adalah resepsionis, maka
akan ditampilkan halaman pendaftaran seperti Gambar 4.3. Namun, jika yang dimasukkan
bukan ketiganya atau tidak adanya kesesuaian antara username dan password, maka akan
ditampilkan pesan seperti berikut.
Gambar 4.12. Pesan yang tertampil saat username atau password tidak benar
Berdasarkan pengujian yang dilakukan, hasil perancangan halaman login ini telah
sesuai dengan yang diharapkan.
4.3.4
Hasil dan Pembahasan Perancangan Halaman Pendaftaran
Penyewa Kamar Hotel
Hasil perancangan halaman pendaftaran dapat dilihat pada Gambar 4.3. Pengujian
dilakukan dengan mengambil username dan password yang sudah dimasukkan pada
halaman login. Jika username dan password yang dimasukkan bukan resepsionis maka
akan ditampilkan pesan seperti berikut.
Gambar 4.13. Pesan yang tertampil saat username atau password bukan resepsionis
Pada halaman pendaftaran, jika semua data seperti nama, kamar yang digunakan,
waktu check in, dan waktu check out sudah terisi dengan benar, maka data kamar, waktu
check in, dan waktu check out akan dikirim ke mikrokontroler melalui IP address Modul
Ethernet Shield. Data yang dikirimkan memiliki tipe data string. Gambar 4.14 adalah
program pada mikrokontroler untuk menerima data dari server.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Gambar 4.14. Program penerimaan data dari server
40
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
41
Program tersebut akan dilaksanakan bila ada pengiriman data dari server ke
mikrokontroler. Data yang diterima mikrokontroler tersebut kemudian dibagi data untuk
kamar, waktu check in, dan waktu check out. Data-data yang telah dibagi tersebut
kemudian disimpan di EEPROM. Fungsi eeprom_write_string sebagai fungsi untuk
menyimpan data ke EEPROM, berisi seperti Gambar 4.15.
Gambar 4.15. Subrutin penyimpanan data ke EEPROM
Data bertipe string yang akan disimpan pada EEPROM, diubah menjadi bentuk
data heksadesimal terlebih dahulu agar dapat disimpan ke EEPROM mulai dari alamat
EEPROM yang diinginkan. Format data check in dan check out yang disimpan pada
EEPROM memiliki format data “tahun+bulan+tanggal+jam+menit”. Gambar 4.16
merupakan bukti bahwa data-data tersebut telah tersimpan di EEPROM yang ditampilkan
melalui Serial Monitor Arduino.
(a)
(b)
Gambar 4.16. (a) EEPROM saat belum terisi data (b) EEPROM setelah terisi data
Hasil akhir dari halaman pendaftaran ini adalah, mikrokontroler memberikan
respon berupa halaman web bertuliskan “Data Telah Berhasil Disimpan” seperti pada
Gambar 4.17. Hal ini mengindikasikan bahwa data dari halaman pendaftaran dari server
telah tersimpan pada mikrokontroler.
Gambar 4.17. Pesan yang ditampilkan dari mikrokontroler melalui Modul Ethernet Shield
bahwa data telah diterima
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
4.3.5
42
Hasil dan Pembahasan Pembacaan Identitas RFID Card oleh
RFID SL018
Pengujian terhadap pembacaan identitas RFID Card ini dilakukan dengan
mendekatkan RFID Card terhadap RFID SL018. Hasil yang akan dilihat adalah
terdeteksinya RFID Card oleh RFID SL018 dan identitas yang diterima oleh
mikrokontroler.
Gambar 4.18. Pengujian dilakukan dengan mendekatkan RFID Card ke RFID SL018
Hal pertama yang dilakukan mikrokontroler untuk membaca data dari RFID Card
adalah dengan berkomunikasi terlebih dahulu dengan semua RFID SL018. Gambar 4.19
menunjukkan program untuk mikrokontroler berkomunikasi dengan RFID SL018.
Gambar 4.19. Program pada mikrokontroler untuk berkomunikasi dengan RFID SL018
Program tersebut diletakkan di program utama. Mikrokontroler akan menerima
data dari RFID SL018 sebagai hasil dari pembacaan data dari RFID Card setelah salah satu
RFID SL018 memberikan kondisi low pada pin TagSta sebagai respon bahwa RFID SL018
mendeteksi adanya RFID Card. Saat RFID SL018 mendeteksi adanya RFID Card, maka
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
43
mikrokontroler akan membaca berkomunikasi dengan RFID SL018 untuk membaca data
RFID Card menggunakan subrutin seperti Gambar 4.20.
Gambar 4.20. Subrutin Pembacaan Data RFID Card
Pada subrutin di atas, mikrokontroler membaca data-data yang dikirimkan oleh
RFID SL018. Data-data tersebut adalah len, command code, status, UID, dan type.
Identitas dari RFID Card terdapat pada data UID.
Pada penelitian ini, digunakan 5 buah RFID Card dengan identitas sebagai
berikut.
Tabel 4.1. Identitas pada RFID Card dan penamaannya
Identitas
Penamaan
FB9E4BB5
Resepsionis
B2D2E53D
OB
3273F33D
Penyewa 3
32BBE33D
Penyewa 2
723DE53D
Penyewa 1
Identitas pada Tabel 4.1 kemudian dimasukkan ke dalam mikrokontroler pada
inisialisasi pengaturan seperti pada Gambar 4.21.
Gambar 4.21. Inisialisasi identitas RFID Card
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
44
Untuk mempermudah penelitian, identitas RFID Card diberikan penamaan seperti
Tabel 4.1. Pada mikrokontroler, terdapat subrutin untuk memberikan nama pada setiap
identitas RFID Card seperti pada Gambar 4.22.
Gambar 4.22. Subrutin penggantian nama identitas RFID Card
Hasil dari pembacaan identitas RFID Card beserta penamaannya, kemudian
dilihat pada Serial Monitor Arduino seperti pada Gambar 4.23.
Identitas RFID Card
Hasil penamaan Identitas RFID Card
Gambar 4.23. Hasil pembacaan identitas RFID Card
4.3.6
Hasil dan Pembahasan Perancangan Perangkat Lunak Modul
RTC DS1307
Pengujian yang dilakukan terhadap modul RTC DS1307 adalah pengujian untuk
penulisan waktu ke RTC dan pembacaan waktu dari RTC. Pengujian ini diawali dengan
penulisan waktu ke RTC. Penulisan waktu ini dilakukan menggunakan subrutin seperti
Gambar 4.24.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
45
Gambar 4.24. Subrutin penulisan dan pengaturan waktu pada RTC
Pembacaan data (waktu) pada RTC, diberikan subrutin pembacaan waktu pada
RTC seperti pada Gambar 4.25.
Gambar 4.25. Subrutin pembacaan waktu RTC
Pada subrutin pembacaan waktu RTC, terdapat fungsi tambah_nol yang berfungsi
sebagai penambahan angka “0” di depan angka yang lebih kecil dari 10. Hal ini bertujuan
untuk mempermudah pemrosesan data selanjutnya pada subrutin syarat akses kamar.
Gambar 4.26 merupakan isi dari fungsi tambah_nol.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
46
Gambar 4.26. Isi fungsi tambah_nol
Hasil akhir dari perancangan perangkat lunak modul RTC ini adalah dapat
dibacanya data yang ada pada RTC. Pengujian ini dilakukan dengan melihat data tiap detik
melalui Serial Monitor Arduino seperti Gambar 4.27.
Gambar 4.27. Hasil pembacaan RTC DS1307
Berdasarkan
Gambar
4.27,
terlihat
bahwa
mikrokontroler
telah
dapat
berkomunikasi (membaca data) dengan RTC DS1307. Tampilan tersebut merupakan hasil
modifikasi yang telah dibuat dalam program pembacaan RTC DS1307.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
4.3.7
47
Hasil dan Pembahasan Perancangan Program Utama
Setelah semua perancangan perangkat lunak telah memberikan hasil yang sesuai
dengan perancangan, selanjutnya adalah menggabungkan semuanya ke dalam program
utama. Program utama ini bersifat sekuensial, artinya setiap proses yang telah dirancang
pada Bab III (mulai dari pembacaan identitas RFID Card hingga pengiriman data ke web)
dilakukan secara berurutan. Untuk mendapatkan hasil perancangan persyaratan akses
kamar, dilakukan pengujian terhadap perancangan persyaratan akses kamar dengan
perlakuan sebagai berikut.
Nama
Anna
Doni
Ryan
Jessy
Tabel 4.2. Daftar Penyewa Kamar Hotel
Kamar yang
Tanggal
Tanggal
Jam
disewa
Check In
Check Out
Check In
1
2
3
1
23 Juli 2015
24 Juli 2015
23 Juli 2015
24 Juli 2015
24 Juli 2015
25 Juli 2015
24 Juli 2014
25 Juli 2015
13.00
13.00
13.00
13.00
Jam
Check Out
12.00
12.00
12.00
12.00
Tiap penyewa akan mendapat RFID Card yang sesuai dengan kamar yang disewa,
misalnya kamar yang disewa adalah Kamar 1 maka penyewa kamar 1 akan mendapatkan
RFID Card Penyewa 1 dan seterusnya.
Penyewa yang telah melakukan check out maka akan dilakukan pembaharuan data
pada mikrokontroler dengan mengirimkan data penyewa selanjutnya ke mikrokontroler.
Misalnya, dalam tabel 4.2, jika Anna telah melakukan check out, maka server akan
mengirimkan data baru dari Jessy. Data baru yang dikirimkan adalah kamar yang disewa,
tanggal dan jam check in, dan tanggal dan jam check out.
Gambar 4.28 merupakan subrutin syarat akses kamar. Subrutin inilah yang
mengatur boleh tidaknya pengaksesan kamar berdasarkan identitas RFID Card. Diawali
dengan pengecekan kosong tidaknya kamar yang diakses. Jika kosong, kemudian
dilakukan pengecekan lagi sesuai dengan yang telah dirancang pada Bab III. Jika tidak
memiliki hak akses (misal pada Kamar 1), maka diberikan tulisan “Mencoba Memasuki
Kamar 1” serta tidak adanya pergantian LED pada kamar. Namun, jika memiliki hak akses,
diberikan tulisan “Memasuki Kamar 1”, ada pergantian LED pada kamar (LED Merah
sebelumnya mati menjadi menyala dan LED Hijau sebelumnya menyala menjadi mati) dan
adanya penyimpanan data id_pengguna (dari subrutin penggantian nama) ke EEPROM
menggunakan library EEPROM untuk mengindikasikan bahwa kamar tersebut telah
dimasuki dengan id_pengguna yang bersangkutan.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Gambar 4.28. Subrutin syarat akses kamar
48
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
25 Juli 2015
24 Juli 2015
23 Juli 2015
Tanggal
Tabel 4.3. Hasil perancangan persyaratan akses kamar
Jam
Kamar Penyewa 1 Penyewa 2 Penyewa 3
1
00.00 –
2
08.00
3
1
08.00 –
2
12.00
3
1
12.00 –
2
13.00
3
1
v
13.00 –
2
16.00
3
v
1
v
16.00 –
2
00.00
3
v
1
v
00.00 –
2
08.00
3
v
1
v
08.00 –
2
12.00
3
v
1
12.00 –
2
13.00
3
1
v
13.00 –
2
v
16.00
3
1
v
16.00 –
2
v
00.00
3
1
v
00.00 –
2
v
08.00
3
1
v
08.00 –
2
v
12.00
3
1
12.00 –
2
13.00
3
1
13.00 –
2
16.00
3
1
16.00 –
2
00.00
3
-
49
OB Resepsionis
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
50
Keterangan:
-
: tidak bisa mengakses kamar
v
: dapat mengakses kamar
Tabel 4.3 menunjukkan hasil pengujian yang telah dilakukan. Pada tanggal 24 Juli
2015 jam 13.00-16.00 terlihat bahwa penyewa 1 dapat memasuki Kamar 1. Hal ini
diartikan bahwa penyewa sebelumnya (Anna) telah melakukan check out terlebih dahulu
kemudian diganti dengan penyewa selanjutnya (Jessy). Dengan demikian, RFID Card
Penyewa 1 dapat digunakan untuk memasuki Kamar 1.
Untuk membantu dalam melakukan check out, diberikan halaman web untuk
proses check out. Halaman ini berguna untuk menghapus data penyewa yang telah check
out dan memberikan data penyewa yang baru (jika ada) ke mikrokontroler dengan mengklik pilihan Check Out pada kolom Status. Halaman check out dan penampil rekaman data
akses akan di reload selama 2 detik, sehingga lebih update. Penampakan dari halaman
check out ini dapat dilihat pada Gambar 4.29.
Gambar 4.29. Halaman Check Out
Pengiriman data-data ke web, diberikan subrutin pengiriman data ke web seperti
pada Gambar 4.30. Diawali dengan melakukan koneksi dari mikrokontroler ke server dan
diikuti dengan data-data seperti pada gambar. Subrutin tersebut memanggil file pada server
yang digunakan untuk menyimpan data ke database yang ada pada web. Pada subrutin
tersebut, file yang dimaksud adalah ambil.php. Isi dari file ini dapat dilihat pada Gambar
4.31.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Gambar 4.30. Subrutin pengiriman data ke web
Gambar 4.31. Isi file ambil.php
51
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
52
Indikator bahwa penyewa (ataupun OB) tidak dapat memasuki kamar dapat dilihat
pada lampu LED yang terpasang pada alat yang ditunjukkan Gambar 4.32. LED hijau tidak
akan mati dan LED merah tidak akan menyala menandakan bahwa penyewa (ataupun OB)
tidak dapat memasuki kamar. Selain itu, terdapat pula perekaman data pengguna yang
mengakses kamar pada halaman web. Misal, Penyewa 3 belum atau tidak dapat memasuki
kamar 3, maka pada halaman web akan ditampilkan “Mencoba Memasuki Kamar 3”
seperti pada Gambar 4.33.
Gambar 4.32. Indikator LED Penyewa 3 tidak dapat memasuki Kamar 3
Gambar 4.33. Tampilan web Penyewa 1 tidak dapat memasuki Kamar 1
Indikator bahwa penyewa, OB, ataupun Resepsionis dapat memasuki kamar dapat
dilihat pada lampu LED yang terpasang pada alat yang ditunjukkan Gambar 4.34. LED
hijau akan mati dan LED merah akan menyala menandakan bahwa penyewa, OB, maupun
Resepsionis dapat memasuki kamar. Selain itu, terdapat pula perekaman data pengguna
yang mengakses kamar pada halaman web. Misal, Resepsionis memasuki kamar 3, maka
pada halaman web akan ditampilkan “Memasuki Kamar 3” seperti pada Gambar 4.35.
Gambar 4.34. Indikator LED Resepsionis memasuki Kamar 3
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
53
Gambar 4.35. Tampilan web Resepsionis memasuki Kamar 3
Pada Bab III, dibuat perancangan bahwa jika terdapat pengguna yang sudah
memasuki kamar tersebut, maka tidak ada yang dapat memasuki kamar tersebut hingga
pengguna yang berada di dalam tersebut keluar dari kamar. Misal, sebelumnya Resepsionis
telah memasuki Kamar 3. Jika OB ingin memasuki kamar tersebut, maka pada halaman
web akan ditampilkan “Mencoba Memasuki Kamar 3” yang ditunjukkan Gambar 4.36 dan
indikator LED tidak mengalami perubahan seperti pada Gambar 4.37.
Gambar 4.36. Tampilan web OB tidak dapat memasuki Kamar 3
Gambar 4.37. Indikator LED OB tidak dapat memasuki Kamar 3
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
54
Data-data perekaman tersebut dapat dilihat pada halaman web dengan alamat
localhost/phpmyadmin. Alamat tersebut berisi database, tempat data-data yang
dikirimkan dari mikrokontroler ke server disimpan. Database untuk menyimpan data-data
tersebut dinamai “rfid”, disimpan dalam tabel “masukan”. Alamat tersebut merupakan
alamat yang diberikan XAMPP sebagai salah satu fasilitasnya. Yang perlu dicatat adalah
halaman web dari alamat tersebut dapat dilihat oleh siapapun yang mengetahui alamat
server. Hal tersebut merupakan kelemahan dari XAMPP itu sendiri. Gambar 4.38
diperlihatkan bentuk halaman web yang dimaksud.
Gambar 4.38. Halaman web phpMyAdmin untuk melihat data-data yang telah dikirimkan
dari mikrokontroler ke server
Berdasarkan hasil dan pembahasan di atas, setiap proses yang ada telah
memberikan hasil yang sesuai dengan rancangan penelitian. Pada bagian program utama,
sistem telah dapat merekam data pengguna yang mengakses kamar dengan batas waktu
yang telah ditentukan secara langsung (untuk OB), batas waktu yang ditentukan
berdasarkan waktu check in dan check out (untuk tiap penyewa kamar), dan tanpa
penentuan batas waktu (untuk Resepsionis).
Pada penelitian ini, terdapat kelemahan dari segi perangkat keras (hardware)
maupun perangkat lunak (software). Kelemahan yang ditemukan pada penelitian ini yakni
sebagai berikut: modul RFID yang digunakan mudah untuk dikomunikasikan dengan
Arduino, namun modul RFID yang digunakan memakan banyak port pada mikrokontroler
karena modul ini tidak memiliki alamat khusus di dalamnya (untuk digunakan dalam
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
55
jumlah banyak). Untuk penggunaan dalam jumlah lebih dari 1 modul RFID SL018, modul
ini mengandalkan Pin TagSta untuk mengetahui bahwa modul RFID tersebut mendeteksi
RFID Card.
Kelemahan selanjutnya adalah RFID Card tidak dapat dibaca secara bersamaan.
Hal yang dimaksud adalah, misal, RFID Card Penyewa 1 dan Penyewa 3 didekatkan
secara bersamaan masing-masing ke RFID Reader Kamar 1 dan Kamar 3. Hal tersebut
tidak dapat dilakukan karena akan terjadi error saat pembacaan. Error ini muncul karena
adanya tabrakan data saat kedua RFID Reader mengirimkan data ke mikrokontroler.
Kelemahan terakhir yang ditemukan pada penelitian ini adalah terkadang
mikrokontroler tidak memberikan respon apapun ke web saat RFID Reader membaca data
RFID Card. Hal ini terjadi saat diberikan perlakuan pembacaan data oleh RFID Reader
terhadap RFID Card dalam waktu yang cepat. Program pada mikrokontroler merupakan
jenis program sekuensial (berurutan) menyebabkan hal ini dapat terjadi. Saat RFID Card
dibaca oleh RFID Reader, akan ada pemrosesan data pada mikrokontroler. Error dapat
terjadi saat RFID Reader mendeteksi RFID Card lain sewaktu mikrokontroler melakukan
pemrosesan data pada RFID Card sebelumnya. RFID Card yang baru dideteksi akan
mengacaukan proses dalam mikrokontroler dan pembacaan RFID Card tersebut tidak akan
sempurna.
Namun, dibalik kelemahan tersebut, penelitian ini juga memiliki kelebihan.
Kelebihan yang ada pada penelitian ini yaitu, 1 buah Arduino dapat mengontrol 3 buah
RFID SL018 dikarenakan komunikasi I2C yang digunakan RFID SL018 sedangkan pada
penelitian sebelumnya hanya 1 tag dengan 1 mikrokontroler [2]. Bahasa pemrograman
PHP pada setiap halaman web di server dalam penelitian ini sangat mudah untuk dipelajari
dan lebih dinamis dibandingkan bahasa pemrograman untuk halaman web pada penelitian
sebelumnya [3] sehingga dapat membantu untuk penelitian selanjutnya yang masih dalam
satu lingkup dengan penelitian ini.
Berdasarkan data-data yang telah diperoleh (dapat dilihat pada Lampiran 6), dari
70 kali pengambilan data, ditemukan 2 kali error pada saat pengambilan data. Dari error
tersebut, persentase keberhasilan dari penelitian ini sebesar
.
Error yang dimaksud adalah tidak adanya respon dari mikrokontroler untuk membaca
identitas RFID Card, menerima data dari web, mengirim data ke web, membaca data RTC,
dan melaksanakan subrutin syarat akses kamar.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
BAB V
KESIMPULAN DAN SARAN
5.1
Kesimpulan
Berdasarkan hasil dari setiap proses pada penelitian ini, dapat diambil kesimpulan
sebagai berikut: telah dihasilkan perekaman data akses kamar hotel dengan RFID berbasis
web dengan adanya fasilitas halaman pendaftaran (untuk mengatur waktu check in dan
check out), dan halaman check out (untuk memperbaharui data di mikrokontroler).
Persentase keberhasilan yang didapat pada penelitian ini sebesar 97,14%.
5.2
Saran
Untuk hasil yang lebih baik untuk penelitian selanjutnya, diberikan saran-saran
yang dapat berguna bagi pembaca sebagai berikut:
a. Penelitian ini dapat diperbanyak dengan menggunakan hub, sehingga nantinya
akan banyak menggunakan modul Ethernet Shield yang berbeda MAC Address
dan IP Address-nya.
b. Halaman pendaftaran dapat dijadikan online ke internet (bukan lagi intranet)
sehingga penyewa dapat menyewa kamar di kemudian hari (menggunakan
sistem self-booking kamar hotel).
c. Dapat diberikan penelitian lebih detail untuk pembacaan RFID Card dalam
waktu cepat serta tidak mengganggu komunikasi dari mikrokontroler ke RFID
Reader.
56
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
DAFTAR PUSTAKA
[1]
Finkenzeller, Klaus, 2010, RFID Handbook – Fundamental and Applications in
Contactless Smart Cards, Radio Frequency Identification and Near-Field
Communication, Third Edition, Penerbit : Wiley, United Kingdom
[2]
Wiranto, Robertus Heru, 2010, Pembaca Data Tag Pada Car Immobilizer Dengan
RFID, Fakultas Sains dan Teknologi Universitas Sanata Dharma, Yogyakarta
[3]
Innovative Electronics, 2012, Pengujian modul W5200 Ethernet Shield dengan
menggunakan
Arduino,
http://blog.innovativeelectronics.com/2012/09/pengujian-
modul-w5200-ethernet-shield.html, diakses 22 November 2014
[4]
Adi, Galih Purwito, 2014, Monitoring Suhu 4 Channel Jarak Jauh Berbasis Arduino
Uno, Fakultas Sains dan Teknologi Universitas Sanata Dharma, Yogyakarta
[5]
_____, 2012, Pengertian dan Komponen Radio Frequency Identification (RFID),
http://elektronika-dasar.web.id/artikel-elektronika/pengertian-dan-komponen-radiofrequency-identification-rfid/, diakses 28 November 2014
[6]
Sweeney II, Patrick J., 2005, RFID For Dummies, Wiley Publishing Inc.,
Indianapolis
[7]
RFID
Centre,
_____,
RFID
Technology,
http://www.rfidc.com/docs/introductiontorfid_technology.htm, diakses 20 Desember
2014
[8]
_____, 2012, Mifare Reader/Writer SL018 User Manual, Stronglink
[9]
_____, 2011, Datasheet MIFARE Classic 4K, NXP Semiconductors
[10] Arduino, _____, What is Arduino, http://www.arduino.cc/en/Guide/Introduction,
diakses 20 Desember 2014
[11] Arduino, _____, Arduino Uno, http://arduino.cc/en/Main/ArduinoBoardUno, diakses
8 Desember 2014
[12] Sejati, Purnomo, 2011, Mengenal Komunikasi I2C (Inter Integrated Circuit),
http://purnomosejati.wordpress.com/2011/08/25/mengenal-komunikasi-i2cinterintegrated-circuit/, diakses 16 Desember 2014
[13] _____, 2013, Datasheet Atmel 8-bit Microcontroller with 4/8/16/32Kbytes, Atmel
[14] Arduino, _____, Wire Library, http://arduino.cc/en/Reference/Wire, diakses 16
Desember 2014
57
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
[15] Mando,
_____,
Pull-up
Resistor,
58
https://learn.sparkfun.com/tutorials/pull-up-
resistors, diakses 19 Desember 2014
[16] Mikegrusin,
_____,
Serial
Peripheral
Interface
https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi,
(SPI),
diakses
21
Desember 2014
[17] Triatmojo, Ragil, 2014, Cara Kerja Periperal USART,UART,SPI,SCI, DAC,ADC,
http://ragiltriatmojo.blogspot.com/2014/09/cara-kerja-periperal-usartuartspisci.html,
diakses 21 Desember 14
[18] _____, _____, Datasheet DS1307, Dallas Semiconductor
[19] Tester,
Soly,
2013,
Penjelasan
dan
Fungsi
XAMPP,
http://solylight.blogspot.com/2013/03/penjelasan-dan-fungsi-xampp.html, diaskes 1
Februari 2015
[20] Hastomo,
Widi,
2013,
Pengertian
dan
Kelebihan
Apache
Server,
http://hastomo.net/php/pengertian-dan-kelebihan-apache-server, diakses 1 Februari
2015
[21] Nugroho, Bunafit, 2008, Latihan Membuat Aplikasi Web PHP dan MySQL dengan
Dreamweaver MX (6,7,2004) dan 8, Penerbit : Gava Media, Yogyakarta
[22] Sunarfrihantono, Bimo, 2003, PHP dan MySQL untuk Web, Penerbit : ANDI,
Yogyakarta
[23] Peringinangin, Kasiman, 2006, Aplikasi WEB dengan PHP dan MySQL, Penerbit :
ANDI, Yogyakarta
[24] Arduino,
_____,
Arduino
Ethernet
Shield,
http://arduino.cc/en/Main/ArduinoEthernetShield, diakses 29 Desember 2014
[25] Setiawan,
Agus,
2012,
Pengertian
MAC
http://www.transiskom.com/2012/10/pengertian-mac-address.html,
Address,
diakses
4
Februari 2014
[26] Purdianto
Yudi,
2011,
MAC
Address,
http://yadicucuklauk.blogspot.com/2011/10/mac-address-mac-address-mediaaccess.html, diakses 14 Februari 2015
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
LAMPIRAN
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L1
LAMPIRAN 1
LISTING PROGRAM ARDUINO
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
/*
PEREKAMAN DATA AKSES KAMAR HOTEL BERBASIS WEB
Paulus Alexander Eldwin Pradana
115114006
*/
/*Inisialisasi Header*/
#include <Wire.h>
#include <SPI.h>
#include <Ethernet.h>
#include <EEPROM.h>
const int EEPROM_MIN_ADDR = 0;
const int EEPROM_MAX_ADDR = 511;
const int BUFSIZE = 17;
char buf[BUFSIZE];
String myString;
char myStringChar[BUFSIZE];
/*Inisialisasi Pin Untuk RFID*/
#define TAG3 17 // pin A3
#define TAG2 16 // pin A2
#define TAG1 15 // pin A1
EthernetClient klien; //ethernet sebagai penerima data dari mikro
/*Inisialisasi variabel utk baca RFID*/
int data[33],panjang,perintah,keadaan,panjang2;
char* mifare[] = { "1K", "Pro", "UltraLight", "4K", "ProX", "DesFire" };
/*Inisialisasi identitas RFID Card*/
int Penyewa1[5]={0x01,0x3D,0xE5,0x3D,0x72};
int Penyewa2[5]={0x01,0x3D,0xE3,0xBB,0x32};
int Penyewa3[5]={0x01,0x3D,0xF3,0x73,0x32};
int OB[5]={0x01,0x3D,0xE5,0xD2,0xB2};
int receptionist[5]={0x01,0xB5,0x4B,0x9E,0xFB};
/*Inisialisasi untuk syarat akses kamar*/
char* yang_masuk;
char* nama[8]={"-1","Penyewa+1","Penyewa+2","Penyewa+3","OB","Resepsionis"};
int cocok_id_pengguna[8]={-1,1,2,3,4,5};
int id_pengguna;
char* waktu_OB_L="08+0";
char* waktu_OB_H="16+0";
int didalam[8];
int i;
/*Inisialisasi MAC Address Ethernet Shield*/
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
L2
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
/*IP Address untuk Ethernet*/
IPAddress ip( 192,168,1,15 );
/*IP Address untuk server PC*/
IPAddress pusat(192,168,1,10);
EthernetServer server(80);//Ethernet sebagai server
/*Inisialisasi Variebel pembantu*/
char buf2[33],kata[33];
char *pch;
int test=0;
int naik;
int masuk_aja=0;
/*Inisialisasi variabel untuk RTC*/
int detik = 0;
int menit = 0;
int jam = 0;
int hari = 0;
int tanggal = 0;
int bulan = 0;
int tahun = 0;
/*Inisialisasi untuk LED di kamar*/
int LM[5]={-1,2,5,7};
int LH[5]={-1,3,6,8};
/*Inisialisasi waktu check in dan check out*/
int room;
String check_in[10]={"-1","0","0","0"};
String check_out[10]={"-1","0","0","0"};
String waktu_rtc;
String jam_rtc;
void setup()
{
Wire.begin();
Serial.begin(9600);
/*Pengaturan untuk LED di kamar*/
for(i=1;i<=3;i++)
{
pinMode(LM[i],OUTPUT);
pinMode(LH[i],OUTPUT);
}
for (i=1;i<=3;i++)
{
didalam[i]=EEPROM.read(i);
if (didalam[i]==0)
{
L3
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
digitalWrite(LM[i],0);
digitalWrite(LH[i],1);
}
else
{
digitalWrite(LM[i],1);
digitalWrite(LH[i],0);
}
}
for (i=1;i<=3;i++)
{
eeprom_read_string(i*20, buf, BUFSIZE);
check_in[i]=String(buf);
eeprom_read_string(i*100, buf, BUFSIZE);
check_out[i]=String(buf);
}
Ethernet.begin(mac, ip);
delay(1000);
server.begin();
tuliswaktu();
ledOn(1);
delay(500);
ledOn(0);
}
/*Program Utama*/
void loop()
{
/*Penerimaan Data Dari Server*/
EthernetClient client = server.available();
if(client)
{
boolean currentLineIsBlank = true;
boolean currentLineIsGet = true;
int tCount = 0;
char tBuf[64];
while (client.connected())
{
while(client.available())
{
char c = client.read();
if(currentLineIsGet && tCount < 85)
{
tBuf[tCount] = c;
tCount++;
}
if (c == '\n' && currentLineIsBlank)
{
while(client.available()) Serial.write(client.read());
L4
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L5
pch = strtok(tBuf,"?"); //membagi string menjadi beberapa bagian yg dibatasi oleh
karakter yg ditentukan
while(pch != NULL)
{
//strncmp membandingkan 2 string sejumlah n karakter
if(strncmp(pch,"r=",2) == 0) //menentukan kamar
{
room = atoi(pch+2);
}
if(strncmp(pch,"x=",2) == 0) //menentukan check_in
{
check_in[room] = String(pch);
check_in[room] = check_in[room].substring(2);
check_in[room].toCharArray(myStringChar, BUFSIZE);
strcpy(buf, myStringChar);
eeprom_write_string(room*20, buf);
}
if(strncmp(pch,"y=",2) == 0) //menentukan check_out
{
check_out[room] = String(pch);
check_out[room] = check_out[room].substring(2);
check_out[room].toCharArray(myStringChar, BUFSIZE);
strcpy(buf, myStringChar);
eeprom_write_string(room*100, buf);
}
pch = strtok(NULL,"& ");
}
client.print(F("HTTP/1.0 200 OK\r\nContent-Type: text/html\r\n\r\n<html>"));
client.println(F("<head>"));
client.println(F("</head>"));
client.println(F("<body>"));
client.println(F("<center>Data Telah Berhasil Disimpan<br>"));
client.println(F("</body></html>"));
client.stop();
}
else if (c == '\n')
{
currentLineIsBlank = true;
currentLineIsGet = false;
}
else if (c != '\r')
{
currentLineIsBlank = false;
}
}
client.stop();
delay(1);
}
}
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
else
{
Wire.beginTransmission(0x50);
Wire.write(1);
Wire.write(1);
Wire.endTransmission();
if(digitalRead(TAG3)==0)
{
readID(TAG3);
ubah_nama();
RTC();
syarat(3);
kirimweb(yang_masuk);
yang_masuk="";
waktu_rtc=0;
jam_rtc=0;
id_pengguna=0;
panjang=0;
perintah=0;
keadaan=0;
data[0]=0;data[1]=0;data[2]=0;data[3]=0;data[4]=0;
byte type=0;
while(digitalRead(TAG3)==0){}
}
if(digitalRead(TAG2)==0)
{
readID(TAG2);
ubah_nama();
RTC();
syarat(2);
kirimweb(yang_masuk);
yang_masuk="";
waktu_rtc=0;
jam_rtc=0;
id_pengguna=0;
panjang=0;
perintah=0;
keadaan=0;
data[0]=0;data[1]=0;data[2]=0;data[3]=0;data[4]=0;
byte type=0;
while(digitalRead(TAG2)==0){}
}
if(digitalRead(TAG1)==0)
{
readID(TAG1);
ubah_nama();
RTC();
syarat(1);
kirimweb(yang_masuk);
L6
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
yang_masuk="";
waktu_rtc=0;
jam_rtc=0;
id_pengguna=0;
panjang=0;
perintah=0;
keadaan=0;
data[0]=0;data[1]=0;data[2]=0;data[3]=0;data[4]=0;
byte type=0;
while(digitalRead(TAG1)==0){}
}
}
}
/*Perintah untuk mengatur LED pada RFID*/
void ledOn(boolean on)
{
// Send LED command
Wire.beginTransmission(0x50);
Wire.write(2);
Wire.write(0x40);
Wire.write(on);
Wire.endTransmission();
}
/*Subrutin Baca Data RFID Card*/
int readID(boolean TAG)
{
while(digitalRead(TAG)==0)
{
Wire.requestFrom(0x50, 11);
if(Wire.available())
{
panjang = Wire.read();
perintah = Wire.read();
keadaan = Wire.read();
panjang -= 2;
panjang2 = panjang-1;
while(--panjang)
{
data[panjang] = Wire.read();
}
byte type = Wire.read();
return 1;
}
}
Wire.endTransmission();
}
L7
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L8
/*Subrutin Penggantian Nama*/
void ubah_nama()
{
if((data[4]==Penyewa1[4])&&(data[3]==Penyewa1[3])&&(data[2]==Penyewa1[2])&&(da
ta[1]==Penyewa1[1]))
{
yang_masuk="Penyewa+1";
id_pengguna=1;
}
else
if((data[4]==Penyewa2[4])&&(data[3]==Penyewa2[3])&&(data[2]==Penyewa2[2])&&(da
ta[1]==Penyewa2[1]))
{
yang_masuk="Penyewa+2";
id_pengguna=2;
}
else
if((data[4]==Penyewa3[4])&&(data[3]==Penyewa3[3])&&(data[2]==Penyewa3[2])&&(da
ta[1]==Penyewa3[1]))
{
yang_masuk="Penyewa+3";
id_pengguna=3;
}
else
if((data[4]==OB[4])&&(data[3]==OB[3])&&(data[2]==OB[2])&&(data[1]==OB[1]))
{
yang_masuk="OB";
id_pengguna=4;
}
else
if((data[4]==receptionist[4])&&(data[3]==receptionist[3])&&(data[2]==receptionist[2])&
&(data[1]==receptionist[1]))
{
yang_masuk="Resepsionis";
id_pengguna=5;
}
else
{
yang_masuk="Tidak Dikenal";
}
}
/*Subrutin untuk menulis waktu pada RTC*/
void tulis_rtc(unsigned char alamat, unsigned char isi)
{
Wire.beginTransmission(0x68);
Wire.write(alamat);
Wire.write(isi);
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L9
Wire.endTransmission();
}
/*Subrutin untuk mengatur waktu pada RTC*/
void tuliswaktu()
{
tulis_rtc(0x06,0x15); //tahun
tulis_rtc(0x05,0x09); //bulan
tulis_rtc(0x04,0x25); //tanggal
tulis_rtc(0x03,0x06); //hari
tulis_rtc(0x02,0x20); //jam
tulis_rtc(0x01,0x08); //menit
tulis_rtc(0x00,0x00); //detik
}
/*Subrutin Pembacaaan Waktu RTC*/
void RTC()
{
Wire.beginTransmission(0x68); //memulai transmisi dengan mengirim reg 0x60
Wire.write(byte(0));
Wire.endTransmission(); //mengakhiri transmisi
Wire.requestFrom(0x68,9); //meminta data dari RTC
{
detik = (Wire.read());
menit = (Wire.read());
jam = (Wire.read());
hari = (Wire.read());
tanggal = (Wire.read());
bulan = (Wire.read());
tahun = (Wire.read());
}
Wire.endTransmission();
jam_rtc=tambah_nol(jam,0)+"+"+tambah_nol(menit,0);
waktu_rtc=tambah_nol(tahun,0)+"+"+tambah_nol(bulan,0)+"+"+tambah_nol(tanggal,0)+"
+"+tambah_nol(jam,0)+"+"+tambah_nol(menit,0);
}
/*Subrutin pengiriman data ke web*/
void kirimweb(String id)
{
if(klien.connect(pusat,80)==1)
{
klien.print(F("POST /RFID/ambil.php?"));
klien.print(F("pengguna="));
klien.print(id);
klien.print(F("&&"));
klien.print(F("hari="));
klien.print(hari,HEX);
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
klien.print(F("&&"));
klien.print(F("tanggal="));
klien.print(tanggal,HEX);
klien.print(F("/"));
klien.print(bulan,HEX);
klien.print(F("/"));
klien.print(tahun,HEX);
klien.print(F("&&"));
klien.print(F("jam="));
klien.print(jam,HEX);
klien.print(F(":"));
klien.print(menit,HEX);
klien.print(F(":"));
klien.print(detik,HEX);
klien.print(F("&&"));
klien.print(F("kamar="));
klien.print(kata);
klien.println(F(" HTTP/1.1"));
klien.print(F("Host: "));
klien.println(pusat);
klien.println(F("Connection: close"));
klien.println();
klien.println();
klien.stop();
delay(100);
}
delay(500);
}
/*Subrutin Pengaturan syarat akses kamar*/
void syarat (int ruang)
{
if (didalam[ruang]==0)
{
if (id_pengguna==cocok_id_pengguna[ruang])
{
if ((waktu_rtc>=check_in[ruang])&&(waktu_rtc<check_out[ruang]))
{
sprintf(kata,"Memasuki+Kamar+%d",ruang);
digitalWrite(LM[ruang],HIGH);
digitalWrite(LH[ruang],LOW);
didalam[ruang]=cocok_id_pengguna[ruang];
EEPROM.write(ruang,didalam[ruang]);
}
else
{sprintf(kata,"Mencoba+Memasuki+Kamar+%d",ruang);}
}
else if (id_pengguna==cocok_id_pengguna[5])
{
L10
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
for(naik=1;naik<=3;naik++)
{
if(didalam[naik]==cocok_id_pengguna[5])
{masuk_aja=1;}
}
if(masuk_aja==1)
{sprintf(kata,"Mencoba+Memasuki+Kamar+%d",ruang);masuk_aja=0;}
else
{
sprintf(kata,"Memasuki+Kamar+%d",ruang);
digitalWrite(LM[ruang],HIGH);
digitalWrite(LH[ruang],LOW);
didalam[ruang]=cocok_id_pengguna[5];
EEPROM.write(ruang,didalam[ruang]);
masuk_aja=0;
}
}
else if (id_pengguna==cocok_id_pengguna[4])
{
for(naik=1;naik<=3;naik++)
{
if(didalam[naik]==cocok_id_pengguna[4])
{masuk_aja=1;}
}
if(masuk_aja==1)
{sprintf(kata,"Mencoba+Memasuki+Kamar+%d",ruang);masuk_aja=0;}
else
{
if ((jam_rtc>=waktu_OB_L)&&(jam_rtc<waktu_OB_H))
{
sprintf(kata,"Memasuki+Kamar+%d",ruang);
digitalWrite(LM[ruang],HIGH);
digitalWrite(LH[ruang],LOW);
didalam[ruang]=cocok_id_pengguna[4];
EEPROM.write(ruang,didalam[ruang]);
}
else
{sprintf(kata,"Mencoba+Memasuki+Kamar+%d",ruang);}
}
}
else
{sprintf(kata,"Mencoba+Memasuki+Kamar+%d",ruang);}
}
else if (didalam[ruang]==id_pengguna)
{
sprintf(kata,"Keluar+dari+Kamar+%d",ruang);
digitalWrite(LM[ruang],LOW);
digitalWrite(LH[ruang],HIGH);
didalam[ruang]=0;
L11
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
EEPROM.write(ruang,didalam[ruang]);
}
else
{sprintf(kata,"Mencoba+Memasuki+Kamar+%d",ruang);}
}
/*Subrutin untuk menambah digit '0'*/
String tambah_nol(int angka, String hasil)
{
if (angka<10)
{hasil=String("0")+String(angka,HEX);}
else
{hasil=String(angka,HEX);}
return hasil;
}
/*Subrutin Penyimpanan Data ke EEPROM*/
boolean eeprom_is_addr_ok(int addr)
{return ((addr >= EEPROM_MIN_ADDR) && (addr <= EEPROM_MAX_ADDR));}
boolean eeprom_write_bytes(int startAddr, const byte* array, int numBytes)
{
int i;
if (!eeprom_is_addr_ok(startAddr) || !eeprom_is_addr_ok(startAddr + numBytes))
{return false;}
for (i = 0; i < numBytes; i++)
{EEPROM.write(startAddr + i, array[i]);}
return true;
}
boolean eeprom_write_string(int addr, const char* string)
{
int numBytes; // jumlah byte yang akan ditulis
numBytes = strlen(string) + 1;
return eeprom_write_bytes(addr, (const byte*)string, numBytes);
}
/*Subrutin Pembacaan Data ke EEPROM*/
boolean eeprom_read_string(int addr, char* buffer, int bufSize)
{
byte ch; // variabel pembantu membaca byte dari eeprom
int bytesRead; // jumlah byte yang akan dibaca
if (!eeprom_is_addr_ok(addr))
{return false;}
if (bufSize == 0)
{return false;}
if (bufSize == 1)
{
buffer[0] = 0;
return true;
L12
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L13
}
bytesRead = 0;
ch = EEPROM.read(addr + bytesRead);
buffer[bytesRead] = ch;
bytesRead++;
while ( (ch != 0x00) && (bytesRead < bufSize) && ((addr + bytesRead) <=
EEPROM_MAX_ADDR) )
{
ch = EEPROM.read(addr + bytesRead);
buffer[bytesRead] = ch;
bytesRead++;
}
if ((ch != 0x00) && (bytesRead >= 1))
{buffer[bytesRead - 1] = 0;}
return true;
}
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
LAMPIRAN 2
LISTING PROGRAM
HALAMAN LOGIN
L14
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
index.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>LOGIN!!!</title>
<style type="text/css">
<!-.welcome {
font-family: "Comic Sans MS", cursive;
font-size: xx-large;
color: #FFF;
background-image: url(images/background.gif);
background-repeat: no-repeat;
}
.foot {
font-family: "Comic Sans MS", cursive;
font-size: 16px;
color: #000;
}
.transparan{
background:rgba(11,106,203,0.4);
font-family: "Comic Sans MS", cursive;
font-size: 16px;
color: #000;
}
.transparan2{
background:rgba(11,106,203,0.8);
font-family: "Comic Sans MS", cursive;
font-size: 16px;
display: compact;
color: #000;
}
.judul {
font-family: "Bauhaus 93";
font-size: 40px;
color: #000;
display: compact;
font-style: normal;
line-height: normal;
}
.tabel {
background-image: url(images/background.gif);
border-top-color: #000;
border-right-color: #000;
border-bottom-color: #000;
border-left-color: #000;
}
.user {
font-family: "Comic Sans MS", cursive;
L15
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L16
font-size: 18px;
color: #000;
}
body {
background-color: #FFF;
background-image: url(images/batan2.gif);
background-repeat: repeat;
}
-->
</style>
<link rel="shortcut icon" href="images/favicon(1).ico"/>
</head>
<body>
<table width="1044" height="200" border="0" align="center" class="transparan"
style="border: 4px outset #3d85c6; border-radius:15px">
<tr>
<td width="750"><p align="center" class="judul">SELAMAT DATANG</p>
<p align="left" class="foot"> </p></td>
<td width="284">
<form id="form1" name="form1" method="post" action="cek_login.php">
<div align="right">
<table cellspacing="5" cellpadding="5" >
<tr>
<td class="user">Username</td>
<td>:</td>
<td><label>
<input type="text" name="username" id="username" />
</label></td>
</tr>
<tr>
<td class="user">Password</td>
<td>:</td>
<td><label>
<input type="password" name="password" id="password" />
</label></td>
</tr>
<tr align="right">
<td colspan="3"><label>
<input type="submit" name="login" id="login" value="Login" />
</label></td>
</tr>
</table>
</div></form>
</td>
</tr>
</table>
</body>
</html>
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L17
cek_login.php
<?php
// pemanggilan file koneksi
include "koneksi.php";
// pembuatan variabel pada penginputan username dan password
$username = $_POST['username'];
$pass = $_POST['password'];
// cek identitas IP Address
$user_ip = '-';
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{$user_ip=$_SERVER['HTTP_CLIENT_IP'];}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{$user_ip=$_SERVER['HTTP_X_FORWARDED_FOR'];}
else
{$user_ip=$_SERVER['REMOTE_ADDR'];}
function getUserIP()
{
$client = @$_SERVER['HTTP_CLIENT_IP'];
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
$remote = $_SERVER['REMOTE_ADDR'];
if(filter_var($client, FILTER_VALIDATE_IP))
{$ip = $client;}
elseif(filter_var($forward, FILTER_VALIDATE_IP))
{$ip = $forward;}
else
{$ip = $remote;}
return $ip;
}
$user_ip = getUserIP();
// Pengecekan user id dan password dengan yang ada di database
$login=mysql_query("SELECT * FROM hak_akses WHERE username='$username'
AND password='$pass'");
$ketemu = mysql_num_rows($login);
$r=mysql_fetch_array($login);
if(($r[0]==$username)&&($r[1]==$pass))
{
if($r[2]!=$user_ip&&$r[2]!=0)
{
echo '<script language="javascript">alert("Anda Sudah Login Di Komputer
Lain!!")</script>';
echo '<script language="javascript">window.location = "index.php"</script>';
}
else if ($r[2]==0)
{
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
mysql_query("UPDATE
hak_akses
SET
username='$username' AND password='$pass'");
session_start ();
$_SESSION[username] = $r[username];
$_SESSION[password] = $r[password];
$_SESSION[expire] = time() + (30 * 60) ;
$_SESSION[user_ip]= $user_ip;
if(($r[0]=="admin")||($r[0]=="manager"))
{header('location:tampil.php');}
else if ($r[0]=="resepsionis")
{header('location:pendaftaran.php');}
}
user_ip='$user_ip'
else if($r[2]==$user_ip)
{
session_start ();
$_SESSION[username] = $r[username];
$_SESSION[password] = $r[password];
$_SESSION[last_access] = time();
$_SESSION[leveluser]= $r[level];
$_SESSION[user_ip]= $user_ip;
if(($r[0]=="admin")||($r[0]=="manager"))
{header('location:tampil.php');}
else if ($r[0]=="resepsionis")
{header('location:pendaftaran.php');}
}
}
else
{
mysql_query("DELETE FROM pengunjung WHERE identitas='$user_ip'");
echo "<center>LOGIN GAGAL <br>
Username atau Password Anda Tidak benar
Atau Account Anda Sedang Diblokir<br>
";
echo "<a href='index.php'>Ulangi Lagi</a>";
}
?>
koneksi.php
<?php
$server= "localhost";
$username = "root";
$password = "";
$database = "rfid";
mysql_connect($server,$username,$password) or die ("Koneksi Gagal");
mysql_select_db($database) or die ("Database Tidak Bisa Di Buka " );
?>
L18
WHERE
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
LAMPIRAN 3
LISTING PROGRAM
HALAMAN PENDAFTARAN
L19
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L20
pendaftaran.php
<?php
date_default_timezone_set('Asia/Jakarta');
$tanggal_server=date("j");
$bulan_server=date("n");
$tahun_server=date("Y");
$jam_server=date("G");
$menit_server=date("i");
session_start();
if (!isset($_SESSION['username']))
{
echo '<script language="javascript">alert("Anda Belum Login.. Silahkan Login
Dahulu..!!")</script>';
echo '<script language="javascript">window.location = "index.php"</script>';
}
if (($_SESSION['username']=="admin")||($_SESSION['username']=="manager"))
{
echo '<script language="javascript">alert("Anda Tidak Memiliki Hak Akses Ke
Sini")</script>';
echo '<script language="javascript">window.location = "tampil.php"</script>';
}
else
{
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Reservasi Kamar</title>
<script type="text/javascript">
function tambah_nol (nilai)
{
if (nilai<10)
{nilai="0"+nilai;}
return nilai;
}
function validasi_input(form)
{
var months
= ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus',
'September', 'Oktober', 'November', 'Desember'];
var date
= new Date();
var day
= tambah_nol(date.getDate());
var month
= tambah_nol(date.getMonth()+1);
var yy
= tambah_nol(date.getYear());
var year
= (yy < 1000) ? yy + 1900 : yy;
var hour
= tambah_nol(date.getHours());
var minute
= tambah_nol(date.getMinutes());
var waktu_server
=year+"+"+month+"+"+day;
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L21
var check_in
=tambah_nol(tahun_in.value)+"+"+tambah_nol(bulan_in.value)+"+"+tambah_nol(tanggal
_in.value);
var check_out
=tambah_nol(tahun_out.value)+"+"+tambah_nol(bulan_out.value)+"+"+tambah_nol(tang
gal_out.value);
if (nama.value=="")
{
alert("Nama Harus Diisi");
nama.focus();
return (false);
}
else if (kamar.value=="")
{
alert("Silakan pilih kamar");
kamar.focus();
return (false);
}
else if (tanggal_in.value=="")
{
alert("Tanggal Check In Harus Diisi");
tanggal_in.focus();
return (false);
}
else if (bulan_in.value=="")
{
alert("Bulan Check In Harus Diisi");
bulan_in.focus();
return (false);
}
else if (tahun_in.value=="")
{
alert("Tahun Check In Harus Diisi");
tahun_in.focus();
return (false);
}
else if (jam_in.value=="")
{
alert("Jam Check In Harus Diisi");
jam_in.focus();
return (false);
}
else if (menit_in.value=="")
{
alert("Menit Check In Harus Diisi");
menit_in.focus();
return (false);
}
else if (tanggal_out.value=="")
{
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L22
alert("Tanggal Check Out Harus Diisi");
tanggal_out.focus();
return (false);
}
else if (bulan_out.value=="")
{
alert("Bulan Check Out Harus Diisi");
bulan_out.focus();
return (false);
}
else if (tahun_out.value=="")
{
alert("Tahun Check Out Harus Diisi");
tahun_out.focus();
return (false);
}
else if (jam_out.value=="")
{
alert("Jam Check Out Harus Diisi");
jam_out.focus();
return (false);
}
else if (menit_out.value=="")
{
alert("Menit Check Out Harus Diisi");
menit_out.focus();
return (false);
}
if (check_in<waktu_server)
{
alert("Waktu Check In Tidak Valid");
tanggal_in.focus();
return (false);
}
if (check_out<check_in)
{
alert("Waktu Check Out Tidak Valid");
tanggal_out.focus();
return (false);
}
return (true);
}
</script>
</head>
<body>
<form id="form1" name="form1" method="get" onsubmit="return validasi_input(form1)"
action="lihatdata9.php">
<table width="718" border="1" align="center">
<tr>
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
<th colspan="3" scope="row">PENDAFTARAN KAMAR HOTEL</th>
</tr>
<tr>
<th width="145" scope="row"><div align="left">NAMA</div></th>
<td width="26"><div align="center">:</div></td>
<td width="525"><div align="left"><label>
<input type="text" name="nama" id="nama" size="75"/>
</label></div></td>
</tr>
<tr>
<th scope="row"><div align="left">KAMAR</div></th>
<td><div align="center">:</div></td>
<td><div align="left"><select name="kamar" id="kamar">
<option value="" selected="selected">--</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</div></td>
</tr>
<tr>
<th scope="row"><div align="left">CHECK IN</div></th>
<td><div align="center">:</div></td>
<td><div align="left">
<select name="tanggal_in" id="tanggal_in">
<option value="">(tgl)</option>
<?php
for($tanggal_in=1;$tanggal_in<=31;$tanggal_in++){
echo "<option value=$tanggal_in>$tanggal_in</option>";
}
?>
</select>
<select name="bulan_in" id="bulan_in">
<option value="">(bulan)</option>
<option value="1">Januari</option>
<option value="2">Februari</option>
<option value="3">Maret</option>
<option value="4">April</option>
<option value="5">Mei</option>
<option value="6">Juni</option>
<option value="7">Juli</option>
<option value="8">Agustus</option>
<option value="9">September</option>
<option value="10">Oktober</option>
<option value="11">November</option>
<option value="12">Desember</option>
</select>
<select name="tahun_in" id="tahun_in">
<option value="">(tahun)</option>
<?php
L23
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
for($tahun_in=2015;$tahun_in<=2020;$tahun_in++)
{
echo "<option value=$tahun_in>$tahun_in</option>";
}
?>
</select>
<select name="jam_in" id="jam_in">
<option value="13">13</option>
</select>
:
<select name="menit_in" id="menit_in">
<option value="0">00</option>
</select>
</div></td>
</tr>
<tr>
<th scope="row"><div align="left">CHECK OUT</div></th>
<td><div align="center">:</div></td>
<td><div align="left">
<select name="tanggal_out" id="tanggal_out">
<option value="">(tgl)</option>
<?php
for($tanggal_out=1;$tanggal_out<=31;$tanggal_out++){
echo "<option value=$tanggal_out>$tanggal_out</option>";
}
?>
</select>
<select name="bulan_out" id="bulan_out">
<option value="">(bulan)</option>
<option value="1">Januari</option>
<option value="2">Februari</option>
<option value="3">Maret</option>
<option value="4">April</option>
<option value="5">Mei</option>
<option value="6">Juni</option>
<option value="7">Juli</option>
<option value="8">Agustus</option>
<option value="9">September</option>
<option value="10">Oktober</option>
<option value="11">November</option>
<option value="12">Desember</option>
</select>
<select name="tahun_out" id="tahun_out">
<option value="">(tahun)</option>
<?php
for($tahun_out=2015;$tahun_out<=2020;$tahun_out++)
{
echo "<option value=$tahun_out>$tahun_out</option>";
}
?>
L24
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
</select>
<select name="jam_out" id="jam_out">
<option value="12">12</option>
</select>
:
<select name="menit_out" id="menit_out">
<option value="0">00</option>
</select>
</div></td>
</tr>
</table>
<div align="center">
<table width="508" border="0">
<tr>
<th scope="row"><div align="right">
<input type="submit" name="simpan" id="simpan" value="Simpan" />
</div>
</label></th>
</tr>
</table>
</div>
<p><center><a href="logout.php">Logout</a></center></p>
</form>
</body>
</html>
<?php } ?>
lihatdata9.php
<?php
{
// pemanggilan file koneksi
include "koneksi.php";
$i=1;
$baris=1;
$check_in_before=0;
$check_in_now=0;
$check_out_before=0;
$check_out_now=0;
$sebelum_satu=0;
function tambah_nol ($nilai)
{
if ($nilai<10)
{$nilai="0".$nilai;}
return $nilai;
}
//baca waktu server
date_default_timezone_set('Asia/Jakarta');
L25
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L26
$tanggal_server=tambah_nol(date("j"));
$bulan_server=tambah_nol(date("n"));
$tahun_server=tambah_nol(date("Y")-2000);
$jam_server=tambah_nol(date("G"));
$menit_server=tambah_nol(date("i"));
$waktu_server=$tahun_server."-".$bulan_server."-".$tanggal_server."
".$jam_server.":".$menit_server;
//ambil waktu check_in
$nama
=$_GET['nama'];
$room
=$_GET['kamar'];
$tanggal_in
=tambah_nol($_GET['tanggal_in']);
$bulan_in
=tambah_nol($_GET['bulan_in']);
$tahun_in
=$_GET['tahun_in'];
$tahun_in
=tambah_nol($_GET['tahun_in']-2000);
$jam_in
=tambah_nol($_GET['jam_in']);
$menit_in
=tambah_nol($_GET['menit_in']);
$check_in
=$tahun_in."-".$bulan_in."-".$tanggal_in." ".$jam_in.":".$menit_in;
$kirim_check_in=$tahun_in."+".$bulan_in."+".$tanggal_in."+".$jam_in."+".$menit_in;
//ambil waktu check_out
$tanggal_out=tambah_nol($_GET['tanggal_out']);
$bulan_out
=tambah_nol($_GET['bulan_out']);
$tahun_out
=$_GET['tahun_out'];
$tahun_out
=tambah_nol($_GET['tahun_out']-2000);
$jam_out
=tambah_nol($_GET['jam_out']);
$menit_out
=tambah_nol($_GET['menit_out']);
$check_out
=$tahun_out."-".$bulan_out."-".$tanggal_out."
".$jam_out.":".$menit_out;
$kirim_check_out=$tahun_out."+".$bulan_out."+".$tanggal_out."+".$jam_out."+".$menit
_out;
// Pengecekan tersedia tidaknya pemesanan kamar
$lihat=mysql_query("SELECT * FROM daftar2 ORDER BY nomor DESC LIMIT
0,1");
$kolom=mysql_fetch_array($lihat);
$nomor=$kolom[8]+1;
$lihat=mysql_query("SELECT * FROM daftar2 WHERE kamar='$room' ORDER BY
antrian DESC LIMIT 0,1");
$kolom=mysql_fetch_array($lihat);
$antrian_max=$kolom[4];
if ($antrian_max=="")
{
mysql_query("INSERT INTO daftar2 SET nama='$nama', kamar='$room',
check_in='$check_in',
check_out='$check_out',
kirim_in='$kirim_check_in',
kirim_out='$kirim_check_out', antrian='1', status='1', nomor='$nomor'");
$url='http://192.168.1.15/?r='.$room.'&&x='.$kirim_check_in.'&&y='.$kirim_check_out;
/*echo '<script language="javascript">alert("Data Telah Disimpan")</script>';
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L27
echo
'<script
language="javascript">window.location
=
"pendaftaran.php"</script>';*/
//echo "$kirim_check_in<br>";
//echo "$kirim_check_out<br>";
//header('Refresh:5 ; location:'.$url);
header('location:'.$url);
}
else
{
for($baris=1;$baris<=$antrian_max;$baris++)
{
$lihat=mysql_query("SELECT * FROM daftar2 WHERE kamar='$room' &&
antrian='$baris'");
$kolom=mysql_fetch_array($lihat);
$check_in_now=$kolom[2];
$check_out_now=$kolom[3];
if (($check_in>$check_out_before)&&($check_in<$check_in_now))
{
if(($baris==1)&&($kolom[5]==1))
{
$sebelum_satu=1;
mysql_query("UPDATE daftar2 SET status='' WHERE
kamar='$room' && status='1'");
}
$benar=1;
$baris=$antrian_max+1;
}
else if
(($baris==$antrian_max)&&($check_in>$check_out_before)&&($check_in>$
check_out_now))
{
$benar=1;}
else
{
$benar=0;
}
//if(($benar==0)&&($baris==$antrian_max)&&($antrian_max>1))
//{$benar=1;}
$check_in_before=$check_in_now;
$check_out_before=$check_out_now;
}
if ($sebelum_satu==1)
{
mysql_query("INSERT INTO daftar2 SET nama='$nama', kamar='$room',
check_in='$check_in',
check_out='$check_out',
kirim_in='$kirim_check_in',
kirim_out='$kirim_check_out', status='1', nomor='$nomor'");
$ambil=mysql_query("SELECT * FROM daftar2 WHERE kamar='$room' ORDER
BY check_in ASC");
while($cek=mysql_fetch_array($ambil))
{
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L28
$antri=$cek[2];
mysql_query("UPDATE daftar2 SET antrian='$i' WHERE kamar='$room'
&& check_in='$antri'");
//echo "$baris[2] $baris[4]<br>";
$i++;
}
$url='http://192.168.1.15/?r='.$room.'&&x='.$kirim_check_in.'&&y='.$kirim_check_out;
//echo "$kirim_check_in<br>";
//echo "$kirim_check_out<br>";
//header('Refresh:5 ; location=$url');
header('location:'.$url);
/*echo '<script language="javascript">alert("Data Telah Disimpan")</script>';
echo
'<script
language="javascript">window.location
=
"pendaftaran.php"</script>'; */
}
else if ($benar==1)
{
mysql_query("INSERT INTO daftar2 SET nama='$nama', kamar='$room',
check_in='$check_in',
check_out='$check_out',
kirim_in='$kirim_check_in',
kirim_out='$kirim_check_out', nomor='$nomor'");
$ambil=mysql_query("SELECT * FROM daftar2 WHERE kamar='$room' ORDER
BY check_in ASC");
while($cek=mysql_fetch_array($ambil))
{
$antri=$cek[2];
mysql_query("UPDATE daftar2 SET antrian='$i' WHERE kamar='$room'
&& check_in='$antri'");
//echo "$baris[2] $baris[4]<br>";
$i++;
}
echo '<script language="javascript">alert("Data Telah Disimpan")</script>';
echo '<script language="javascript">window.location = "pendaftaran.php"</script>';
}
else
{
echo
'<script
language="javascript">alert("Kamar
'.$room.'
sudah
digunakan/dipesan")</script>';
echo '<script language="javascript">window.location = "pendaftaran.php"</script>';
}
}
}
?>
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
LAMPIRAN 4
LISTING PROGRAM
HALAMAN PENAMPIL
PEREKAMAN DATA AKSES
KAMAR HOTEL
L29
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L30
ambil.php
<?php
session_start();
include "koneksi.php";
//$link=Conection();
$name=$_GET['pengguna'];
$hari=$_GET['hari'];
$tanggal=$_GET['tanggal'];
$jam=$_GET['jam'];
$kamar=$_GET['kamar'];
$lihat=mysql_query("SELECT * FROM masukan ORDER BY nomor DESC LIMIT
0,1");
$kolom=mysql_fetch_array($lihat);
$nomor=$kolom[5]+1;
$Sql=mysql_query("INSERT INTO masukan SET pengguna='$name', hari='$hari',
tanggal='$tanggal', jam='$jam', kamar='$kamar', nomor='$nomor'");
header("Location: tampil.php");
?>
tampil.php
<html>
<?php
session_start();
if (!isset($_SESSION['username']))
{
echo '<script language="javascript">alert("Anda Belum Login.. Silahkan Login
Dahulu..!!")</script>';
echo '<script language="javascript">window.location = "index.php"</script>';
}
else
{
?>
<head><title>Perekaman Data Akses Kamar Hotel</title>
<style type="text/css">
<!-.badan {
font-family: "Comic Sans MS", cursive;
font-size: 24px;
}
.logout {
font-family: "Comic Sans MS", cursive;
font-size: 12px;
font-style: normal;
line-height: normal;
text-decoration: underline;
}
-->
</style>
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L31
</head>
<body class="badan">
<center>
<p>PEREKAMAN DATA AKSES KAMAR HOTEL</p>
<p class="logout"><a href="logout.php">logout</a></p>
</center>
<table border=1 align="center" cellpadding=2 cellspacing=2>
<tr>
<th>No</th><th>Identitas</th><th>Hari dan Tanggal</th><th>Waktu</th><th>Kamar
Yang Dimasuki</th>
</tr>
<?php
header ("Refresh:2");
include "koneksi.php";
$no=1;
$ambil="SELECT * FROM masukan ORDER BY tanggal ASC,jam ASC";
$query=mysql_query($ambil);
while($row=mysql_fetch_array($query))
{
$hari=$row[1];
$kamar=$row[4];
switch($hari)
{
case 1: $day="Minggu"; break;
case 2: $day="Senin"; break;
case 3: $day="Selasa"; break;
case 4: $day="Rabu"; break;
case 5: $day="Kamis"; break;
case 6: $day="Jumat"; break;
case 7: $day="Sabtu"; break;
}
echo
"<tr><td>$no</td><td>$row[0]</td><td>$day,
$row[2]</td><td>$row[3]</td><td>$row[4]</td></tr>";
$no++;
}
?>
</table>
</body>
</html>
<?php } ?>
logout.php
<?php
session_start();
include "koneksi.php";
$a=$_SESSION['username'];
$b=$_SESSION['password'];
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
mysql_query("UPDATE hak_akses SET
password='$b'");
unset($_SESSION['username']);
unset($_SESSION['password']);
session_destroy();
header("location:index.php");
?>
L32
ip='0' WHERE username='$a' AND
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
LAMPIRAN 5
LISTING PROGRAM
HALAMAN CHECK OUT
L33
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L34
keluar.php
<?php
date_default_timezone_set('Asia/Jakarta');
$tanggal_server=date("j");
$bulan_server=date("n");
$tahun_server=date("Y");
$jam_server=date("G");
$menit_server=date("i");
session_start();
if (!isset($_SESSION['username']))
{
echo '<script language="javascript">alert("Anda Belum Login.. Silahkan Login
Dahulu..!!")</script>';
echo '<script language="javascript">window.location = "index.php"</script>';
}
if (($_SESSION['username']=="admin")||($_SESSION['username']=="manager"))
{
echo '<script language="javascript">alert("Anda Tidak Memiliki Hak Akses Ke
Sini")</script>';
echo '<script language="javascript">window.location = "tampil.php"</script>';
}
else
{
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Halaman Check Out</title>
<style type="text/css">
<!-.judul {
font-family: "Comic Sans MS", cursive;
font-size: 36px;
color: #000;
}
-->
</style>
</head>
<body>
<p class="judul"><center>Halaman Check Out</center></p>
<table width="722" border="1" align="center" >
<tr>
<th width="26" scope="row">No</th>
<td width="179"><strong>Nama</strong></td>
<td width="70"><strong>Kamar</strong></td>
<td width="146"><strong>Check In</strong></td>
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L35
<td width="146"><strong>Check Out</strong></td>
<td width="115"><strong>Status</strong></td>
</tr>
<?php
header ("Refresh:2");
include "koneksi.php";
$no=1;
$ambil="SELECT * FROM daftar2 ORDER BY kamar, antrian ASC";
$query=mysql_query($ambil);
while($row=mysql_fetch_array($query))
{
echo "";
echo
"<tr><td>$no</td><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$row[3]</td
>";
if ($row[5]=="1")
{echo
"<td><center><a
href='proses_keluar.php?kamar=$row[1]&&status=$row[5]'>Check
Out</a></center></td></tr>";}
else
{echo "<td> </td></tr>";}
$no++;
}
?>
</table>
</body>
</html>
<?php } ?>
proses_keluar.php
<?php
include "koneksi.php";
$kamar=$_GET['kamar'];
$status=$_GET['status'];
$i=1;
//echo "$kamar <br>";
//echo "$status <br>";
$lihat=mysql_query("DELETE FROM daftar2 WHERE kamar='$kamar'
status='$status'");
$ambil=mysql_query("SELECT * FROM daftar2 WHERE kamar='$kamar'");
$kolom=mysql_num_rows($ambil);
if ($kolom==0)
{
$kirim_check_in='00+00+00+00+00';
$kirim_check_out='00+00+00+00+00';
AND
$url='http://192.168.1.15/?r='.$kamar.'&&x='.$kirim_check_in.'&&y='.$kirim_check_out;
header('location:'.$url);
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L36
}
else
{
$ambil=mysql_query("SELECT * FROM daftar2 WHERE kamar='$kamar' ORDER
BY antrian ASC");
while($kolom=mysql_fetch_array($ambil))
{
$ubah=$kolom[4]-1;
$i++;
//echo "$ubah";
if($ubah==1)
{
$status=1;
//echo "$status<br>";
$kirim_check_in=$kolom[6];
$kirim_check_out=$kolom[7];
$url='http://192.168.1.15/?r='.$kamar.'&&x='.$kirim_check_in.'&&y='.$kirim_check_out;
mysql_query("UPDATE daftar2 SET antrian='$ubah', status='$status' WHERE
kamar='$kamar' && antrian='$i'");
header('location:'.$url);
}
else
{
$status=0;
//echo "$status<br>";
mysql_query("UPDATE daftar2 SET antrian='$ubah' WHERE kamar='$kamar'
&& antrian='$i'");
}
}
}
?>
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L37
LAMPIRAN 6
HASIL PENGAMBILAN DATA
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L38
Hasil Pengambilan Data
Error
muncul
di sini
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L39
Hasil Pengambilan Data (lanjutan)
Error
muncul
di sini
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Hasil Pengambilan Data (lanjutan)
L40
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
LAMPIRAN 7
RFID SL018 DATASHEET
L41
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
RFID MODULE
Mifare Reader / Writer
SL018
User Manual
Version 2.0
Nov 2012
StrongLink
L42
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L43
CONTENT
1. MAIN FEATURES ....................................................................................................... 3
2. PINNING INFORMATION ........................................................................................ 4
3. DEVICE OPERATION ................................................................................................ 5
3-1.
3-2.
3-3.
3-4.
3-5.
3-6.
3-7.
3-8.
CLOCK AND DATA TRANSITIONS:..................................................................... 5
START CONDITION ................................................................................................ 5
STOP CONDITION ................................................................................................... 5
ACKNOWLEDGE ..................................................................................................... 5
BUSY STATE ............................................................................................................ 6
DEVICE ADDRESSING ........................................................................................... 6
WRITE OPERATIONS .............................................................................................. 6
READ OPERATIONS ............................................................................................... 6
4. COMMAND DESCRIPTION...................................................................................... 7
4-1. FORMAT.................................................................................................................... 7
4-2. COMMAND OVERVIEW......................................................................................... 8
4-3. COMMAND LIST ..................................................................................................... 9
4-3-1. Select Mifare card .................................................................................................... 9
4-3-2. Login to a sector ....................................................................................................... 9
4-3-3. Read a data block ..................................................................................................... 9
4-3-4. Write a data block .................................................................................................. 10
4-3-5. Read a value block ................................................................................................. 10
4-3-6. Initialize a value block ........................................................................................... 10
4-3-7. Write master key (KeyA) ....................................................................................... 11
4-3-8. Increment value ...................................................................................................... 11
4-3-9. Decrement value ..................................................................................................... 11
4-3-10. Copy value............................................................................................................ 12
4-3-11. Read a data page (UltraLight) .............................................................................. 12
4-3-12. Write a data Page (UltraLight) ............................................................................. 12
4-3-13. Control Red Led ................................................................................................... 13
4-3-14. Reset ..................................................................................................................... 13
4-3-15. Get firmware version ............................................................................................ 13
http://www.stronglink-rfid.com
2
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L44
1. MAIN FEATURES
• Tags supported: Mifare 1k, Mifare 4k, Mifare UltraLight and NFC
NATG203
• Auto detecting tag
• Integrated antenna
• 0 to 400 KHz bit-wide I2C bus communication
• 4.5 to 7.0 VDC supply voltage
• Operating distance: Up to 60 mm, depending on tag
• Storage temperature: -40 ºC ~ +85 ºC
• Operating temperature: -20 ºC ~ +70 ºC
• Dimension: 65 × 45 × 7 mm
• The TagSta pin at low level indicates tag in detective range, and high
level indicating tag out
http://www.stronglink-rfid.com
3
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L45
2. PINNING INFORMATION
PIN
SYMBOL
TYPE
1
TagSta
Output
2
3
4
5
SDA
SLC
VCC
GND
Input/Output
Input
PWR
PWR
http://www.stronglink-rfid.com
DESCRIPTION
Tag detect signal
low level indicating tag in
high level indicating tag out
Serial Data Line
Serial Clock Line
Power Supply
Ground
4
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L46
3. DEVICE OPERATION
3-1. CLOCK AND DATA TRANSITIONS:
The SDA pin is normally pulled high with an external device. Data on the SDA pin may
change only during SCL low time periods. Data changes during SCL high periods will
indicate a start or stop condition as defined below.
3-2. START CONDITION
A high-to-low transition of SDA with SCL high is a start condition which must precede any
other command
3-3. STOP CONDITION
A low-to-high transition of SDA with SCL high is a stop condition.
3-4. ACKNOWLEDGE
All addresses and data words are serially transmitted to and from the SL018 in 8-bit words.
The SL018 sends a zero to acknowledge that it is not busy,and has received each word.
This happens during the ninth clock cycle.
http://www.stronglink-rfid.com
5
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L47
3-5. BUSY STATE
When the SL018 has received command, then don’t acknowledge IIC bus until ends with
the card communication.
3-6. DEVICE ADDRESSING
The SL018 devices require an 8-bit device address word following a start condition to enable the chip for a
read or write operation.
The device address word consists of 7 bits addressing and 1 bit operation select bit.
The first 7 bits are the SL018 addressing, is 1010000
The eighth bit of the device address is the read/write operation select bit. A read operation
is initiated if this bit is high and a write operation is initiated if this bit is low.
3-7. WRITE OPERATIONS
The host device send a command(refer chapter 4) to SL018 via write operation, then SL018
will carry out the order that receive. Finished time according to different order
3-8. READ OPERATIONS
The host device passes to read the operation gets the order carries out the result
http://www.stronglink-rfid.com
6
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L48
4. COMMAND DESCRIPTION
4-1. FORMAT
Host Write Command to SL018:
Address Len Command
Data
Address:
1 byte, 0xA0
Len:
1 byte, indicating the bytes number from Command code to the end of Data
Command: 1 byte Command code, see Table 3
Data:
Variable length depends on the command type
Host Read The Result:
Address Len Command Status Data
Address:
1 byte, 0xA1
Len:
1 byte, indicating the bytes number from Command code to the end of Data
Command: 1 byte Command code, see Table 3
Status:
1 byte Command status, see Table 4
Data:
Variable length depends on the command type.
http://www.stronglink-rfid.com
7
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L49
4-2. COMMAND OVERVIEW
Table 3
Command Description
0x01
Select Mifare card
0x02
Login to a sector
0x03
Read a data block
0x04
Write a data block
0x05
Read a value block
0x06
Initialize a value block
0x07
Write master key (key A)
0x08
Increment value
0x09
Decrement value
0x0A
Copy value
0x10
Read a data page (Ultralight & NTAG203)
0x11
Write a data page (Ultralight & NTAG203)
0x40
Control the red led
0xF0
Get firmware version
0xFF
Reset
STATUS OVERVIEW
Table 4
Status
Description
0x00
Operation succeed
0x01
No tag
0x02
Login succeed
0x03
Login fail
0x04
Read fail
0x05
Write fail
0x06
Unable to read after write
0x0A
Collision occur
0x0C
Load key fail
0x0D
Not authenticate
0x0E
Not a value block
http://www.stronglink-rfid.com
8
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L50
4-3. COMMAND LIST
4-3-1. Select Mifare card
Host Write:
Len 0x01
Host Read:
Len 0x01 Status
UID
Type
Status: 0x00: Operation succeed
0x01: No tag
0x0A: Collision occur
UID:
The uniquely serial number of Mifare card
Type: 0x01: Mifare 1k, 4 byte UID
0x02: Mifare 1k, 7 byte UID [1]
0x03: Mifare UltraLight or NATG203 [2], 7 byte UID
0x04: Mifare 4k, 4 byte UID
0x05: Mifare 4k, 7 byte UID [1]
0x06: Mifare DesFire, 7 byte UID
0x0A: Other
4-3-2. Login to a sector
Host Write:
Len 0x02 Sector Type Key
Sector: Sector need to login
Type: Key type (0xAA: authenticate with KeyA, 0xBB: authenticate with KeyB)
Key:
Authenticate key, 6 bytes
Host Read:
Len 0x02 Status
Status: 0x02: Login succeed
0x01: No tag
0x03: Login fail
0x0C: Load key fail
4-3-3. Read a data block
Host Write:
Len 0x03 Block
Block: The block number to be read, 1 byte
Host Read:
Len 0x03 Status Data
Status: 0x00: Operation succeed
0x04: Read fail
0x0D: Not authenticate
0x01: No tag
Data: Block data returned if operation succeeds, 16 bytes.
http://www.stronglink-rfid.com
9
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L51
4-3-4. Write a data block
Host Write:
Len 0x04 Block Data
Block: The block number to be written, 1 byte.
Data: The data to write, 16 bytes.
Host Read:
Len 0x04 Status Data
Status: 0x00: Operation succeed
0x01: No tag
0x05: Write fail
0x06: Unable to read after write
0x07: Read after write error
0x0D: Not authenticate
Data: Block data written if operation succeeds, 16 bytes.
4-3-5. Read a value block
Host Write:
Len 0x05 Block
Block: The block number to be read, 1 byte.
Host Read:
Len 0x05 Status Value
Status: 0x00: Operation succeed
0x01: No tag
0x04: Read fail
0x0D: Not authenticate
0x0E: Not a value block
Value: Value returned if the operation succeeds, 4 bytes.
4-3-6. Initialize a value block
Host Write:
Len 0x06 Block Value
Block: The block number to be initialized, 1 byte.
Value: The value to be written, 4 bytes.
Host Read:
Len 0x06 Status Value
Status: 0x00: Operation succeed
0x01: No tag
0x05: Write fail
0x06: Unable to read after write
0x07: Read after write error
0x0D: Not authenticate
Value: Value written if the operation succeeds, 4 bytes.
http://www.stronglink-rfid.com
10
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L52
4-3-7. Write master key (KeyA)
Host Write:
Len 0x07 Sector Key
Sector: The sector number to be written, 1 byte.
Key:
Authentication key, 6 bytes
Host Read:
Len 0x07 Status Key
Status: 0x00: Operation succeed
0x01: No tag
0x05: Write fail
0x0D: Not authenticate
Key:
Authentication key written if the operation succeeds, 6 bytes.
4-3-8. Increment value
Host Write:
Len 0x08 Block Value
Block: The block number to be increased, 1 byte.
Value: The value to be increased by, 4 bytes.
Host Read:
Len 0x08 Status Value
Status: 0x00: Operation succeed
0x01: No tag
0x05: Write fail
0x06: Unable to read after write
0x0D: Not authenticate
0x0E: Not a value block
Value: The value after increment if the operation succeeds, 4 bytes
4-3-9. Decrement value
Host Write:
Len 0x09 Block Value
Block: The block number to be decreased, 1 byte
Value: The value to be decreased by, 4 bytes
Host Read:
Len 0x09 Status Value
Status: 0x00: Operation succeed
0x01: No tag
0x05: Write fail
0x06: Unable to read after write
0x0D: Not authenticate
0x0E: Not a value block
Value: The value after decrement if the operation succeeds, 4 bytes
http://www.stronglink-rfid.com
11
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L53
4-3-10. Copy value
Host Write:
Len 0x0A Source Destination
Source:
The source block copy from, 1 byte
Destination: The destination copy to, 1 byte
The source and destination must in the same sector
Host Read:
Len 0x0A Status Value
Status: 0x00: Operation succeed
0x01: No tag
0x05: Write fail
0x06: Unable to read after write
0x0D: Not authenticate
0x0E: Not a value block (Source)
Value: The value after copy if the operation succeeds, 4 bytes
4-3-11. Read a data page (UltraLight & NTAG203)
Host Write:
Len 0x10 Page
Page: The page number to be read, 1 byte
Host Read:
Len 0x10 Status Data
Status: 0x00: Operation succeed
0x01: No tag
0x04: Read fail
Data: Block data returned if operation succeeds, 4 bytes.
4-3-12. Write a data Page (UltraLight & NTAG203)
Host Write:
Len 0x11 Page
Data
Page: The page number to be written, 1 byte.
Data: The data to write, 4 bytes.
Host Read:
Len 0x11 Status Data
Status: 0x00: Operation succeed
0x01: No tag
0x05: Write fail
0x06: Unable to read after write
0x07: Read after write error
Data: page data written if operation succeeds, 4 bytes.
http://www.stronglink-rfid.com
12
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L54
4-3-13. Control Red Led
Host Write:
Len 0x40 Code
Code: 0 command red led turn off , other red led turn on, 1 byte
Host Read:
Len 0x40
Status
Status: 0x00: Operation succeed
4-3-14. Reset
Host Write:
Len 0xFF
No return
4-3-15. Get firmware version
Host Write:
Len 0xF0
Host Read: [3]
Len 0xF0 Status Data
Status: 0x00: Operation succeed
Data: firmware version.
http://www.stronglink-rfid.com
13
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L55
Remark
[1]
In order to support 7 byte UID Mifare class, the firmware of SL018 has been
updated to Ver2.2 in Mar 2011.
And older firmware version (such as Ver1.0, 1.6, 2.0, etc) only supports 4 byte UID.
Please refer to NXP Customer Letter UID for detailed information of 4 byte & 7 byte
UID of Mifare products.
[2]
To support NATG203, the firmware of SL030 has been updated to Ver2.3 in Oct
2012. The older firmware version only supports reading/writing data page address less
than 16.
[3]
One sample of SL018 response
Len
Command
HEX
ASCII
0B
http://www.stronglink-rfid.com
F0
Status
00
Data
(Firmware version)
53 4C 30 31 38 2D 32 2E 32
“SL018-2.2”
14
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
LAMPIRAN 8
RTC DS1307 DATASHEET
L56
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L57
DS1307
64 x 8 Serial Real-Time Clock
www.maxim-ic.com
FEATURES
§
§
§
§
§
§
§
§
§
PIN ASSIGNMENT
Real-time clock (RTC) counts seconds,
minutes, hours, date of the month, month, day
of the week, and year with leap-year
compensation valid up to 2100
56-byte, battery-backed, nonvolatile (NV)
RAM for data storage
Two-wire serial interface
Programmable squarewave output signal
Automatic power-fail detect and switch
circuitry
Consumes less than 500nA in battery backup
mode with oscillator running
Optional industrial temperature range:
-40°C to +85°C
Available in 8-pin DIP or SOIC
Underwriters Laboratory (UL) recognized
ORDERING INFORMATION
DS1307
DS1307Z
DS1307N
DS1307ZN
8-Pin DIP (300-mil)
8-Pin SOIC (150-mil)
8-Pin DIP (Industrial)
8-Pin SOIC (Industrial)
X1
l
8
VCC
X2
VBAT
2
7
SQW/OUT
3
6
SCL
GND
4
5
SDA
DS1307 8-Pin DIP (300-mil)
X1
l
8
VCC
X2
VBAT
2
7
SQW/OUT
3
6
SCL
GND
4
5
SDA
DS1307 8-Pin SOIC (150-mil)
PIN DESCRIPTION
VCC
X1, X2
VBAT
GND
SDA
SCL
SQW/OUT
- Primary Power Supply
- 32.768kHz Crystal Connection
- +3V Battery Input
- Ground
- Serial Data
- Serial Clock
- Square Wave/Output Driver
DESCRIPTION
The DS1307 Serial Real-Time Clock is a low-power, full binary-coded decimal (BCD) clock/calendar
plus 56 bytes of NV SRAM. Address and data are transferred serially via a 2-wire, bi-directional bus.
The clock/calendar provides seconds, minutes, hours, day, date, month, and year information. The end of
the month date is automatically adjusted for months with fewer than 31 days, including corrections for
leap year. The clock operates in either the 24-hour or 12-hour format with AM/PM indicator. The
DS1307 has a built-in power sense circuit that detects power failures and automatically switches to the
battery supply.
1 of 12
100101
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L58
DS1307
TYPICAL OPERATING CIRCUIT
OPERATION
The DS1307 operates as a slave device on the serial bus. Access is obtained by implementing a START
condition and providing a device identification code followed by a register address. Subsequent registers
can be accessed sequentially until a STOP condition is executed. When VCC falls below 1.25 x VBAT the
device terminates an access in progress and resets the device address counter. Inputs to the device will
not be recognized at this time to prevent erroneous data from being written to the device from an out of
tolerance system. When VCC falls below VBAT the device switches into a low-current battery backup
mode. Upon power-up, the device switches from battery to VCC when VCC is greater than VBAT + 0.2V
and recognizes inputs when VCC is greater than 1.25 x VBAT. The block diagram in Figure 1 shows the
main elements of the serial RTC.
DS1307 BLOCK DIAGRAM Figure 1
2 of 12
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L59
DS1307
SIGNAL DESCRIPTIONS
VCC, GND – DC power is provided to the device on these pins. VCC is the +5V input. When 5V is
applied within normal limits, the device is fully accessible and data can be written and read. When a 3V
battery is connected to the device and VCC is below 1.25 x VBAT, reads and writes are inhibited. However,
the timekeeping function continues unaffected by the lower input voltage. As VCC falls below VBAT the
RAM and timekeeper are switched over to the external power supply (nominal 3.0V DC) at VBAT.
VBAT – Battery input for any standard 3V lithium cell or other energy source. Battery voltage must be
held between 2.0V and 3.5V for proper operation. The nominal write protect trip point voltage at which
access to the RTC and user RAM is denied is set by the internal circuitry as 1.25 x VBAT nominal. A
lithium battery with 48mAhr or greater will back up the DS1307 for more than 10 years in the absence of
power at 25ºC. UL recognized to ensure against reverse charging current when used in conjunction with a
lithium battery.
See “Conditions of Acceptability” at http://www.maxim-ic.com/TechSupport/QA/ntrl.htm.
SCL (Serial Clock Input) – SCL is used to synchronize data movement on the serial interface.
SDA (Serial Data Input/Output) – SDA is the input/output pin for the 2-wire serial interface. The SDA
pin is open drain which requires an external pullup resistor.
SQW/OUT (Square Wave/Output Driver) – When enabled, the SQWE bit set to 1, the SQW/OUT pin
outputs one of four square wave frequencies (1Hz, 4kHz, 8kHz, 32kHz). The SQW/OUT pin is open
drain and requires an external pull-up resistor. SQW/OUT will operate with either Vcc or Vbat applied.
X1, X2 – Connections for a standard 32.768kHz quartz crystal. The internal oscillator circuitry is
designed for operation with a crystal having a specified load capacitance (CL) of 12.5pF.
For more information on crystal selection and crystal layout considerations, please consult Application
Note 58, “Crystal Considerations with Dallas Real-Time Clocks.” The DS1307 can also be driven by an
external 32.768kHz oscillator. In this configuration, the X1 pin is connected to the external oscillator
signal and the X2 pin is floated.
RECOMMENDED LAYOUT FOR CRYSTAL
3 of 12
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L60
DS1307
CLOCK ACCURACY
The accuracy of the clock is dependent upon the accuracy of the crystal and the accuracy of the match
between the capacitive load of the oscillator circuit and the capacitive load for which the crystal was
trimmed. Additional error will be added by crystal frequency drift caused by temperature shifts. External
circuit noise coupled into the oscillator circuit may result in the clock running fast. See Application Note
58, “Crystal Considerations with Dallas Real-Time Clocks” for detailed information.
Please review Application Note 95, “Interfacing the DS1307 with a 8051-Compatible Microcontroller”
for additional information.
RTC AND RAM ADDRESS MAP
The address map for the RTC and RAM registers of the DS1307 is shown in Figure 2. The RTC registers
are located in address locations 00h to 07h. The RAM registers are located in address locations 08h to
3Fh. During a multi-byte access, when the address pointer reaches 3Fh, the end of RAM space, it wraps
around to location 00h, the beginning of the clock space.
DS1307 ADDRESS MAP Figure 2
00H
SECONDS
MINUTES
HOURS
DAY
DATE
MONTH
YEAR
07H
08H
3FH
CONTROL
RAM
56 x 8
CLOCK AND CALENDAR
The time and calendar information is obtained by reading the appropriate register bytes. The RTC
registers are illustrated in Figure 3. The time and calendar are set or initialized by writing the appropriate
register bytes. The contents of the time and calendar registers are in the BCD format. Bit 7 of register 0
is the clock halt (CH) bit. When this bit is set to a 1, the oscillator is disabled. When cleared to a 0, the
oscillator is enabled.
Please note that the initial power-on state of all registers is not defined. Therefore, it is important
to enable the oscillator (CH bit = 0) during initial configuration.
The DS1307 can be run in either 12-hour or 24-hour mode. Bit 6 of the hours register is defined as the
12- or 24-hour mode select bit. When high, the 12-hour mode is selected. In the 12-hour mode, bit 5 is
the AM/PM bit with logic high being PM. In the 24-hour mode, bit 5 is the second 10 hour bit (2023 hours).
On a 2-wire START, the current time is transferred to a second set of registers. The time information is
read from these secondary registers, while the clock may continue to run. This eliminates the need to reread the registers in case of an update of the main registers during a read.
4 of 12
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L61
DS1307
DS1307 TIMEKEEPER REGISTERS Figure 3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
CONTROL REGISTER
The DS1307 control register is used to control the operation of the SQW/OUT pin.
BIT 7
OUT
BIT 6
0
BIT 5
0
BIT 4
SQWE
BIT 3
0
BIT 2
0
BIT 1
RS1
BIT 0
RS0
OUT (Output control): This bit controls the output level of the SQW/OUT pin when the square wave
output is disabled. If SQWE = 0, the logic level on the SQW/OUT pin is 1 if OUT = 1 and is 0 if
OUT = 0.
SQWE (Square Wave Enable): This bit, when set to a logic 1, will enable the oscillator output. The
frequency of the square wave output depends upon the value of the RS0 and RS1 bits. With the square
wave output set to 1Hz, the clock registers update on the falling edge of the square wave.
RS (Rate Select): These bits control the frequency of the square wave output when the square wave
output has been enabled. Table 1 lists the square wave frequencies that can be selected with the RS bits.
SQUAREWAVE OUTPUT FREQUENCY Table 1
RS1
0
0
1
1
RS0
0
1
0
1
SQW OUTPUT FREQUENCY
1Hz
4.096kHz
8.192kHz
32.768kHz
5 of 12
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L62
DS1307
2-WIRE SERIAL DATA BUS
The DS1307 supports a bi-directional, 2-wire bus and data transmission protocol. A device that sends
data onto the bus is defined as a transmitter and a device receiving data as a receiver. The device that
controls the message is called a master. The devices that are controlled by the master are referred to as
slaves. The bus must be controlled by a master device that generates the serial clock (SCL), controls the
bus access, and generates the START and STOP conditions. The DS1307 operates as a slave on the 2wire bus. A typical bus configuration using this 2-wire protocol is show in Figure 4.
TYPICAL 2-WIRE BUS CONFIGURATION Figure 4
Figures 5, 6, and 7 detail how data is transferred on the 2-wire bus.
§
§
Data transfer may be initiated only when the bus is not busy.
During data transfer, the data line must remain stable whenever the clock line is HIGH. Changes in
the data line while the clock line is high will be interpreted as control signals.
Accordingly, the following bus conditions have been defined:
Bus not busy: Both data and clock lines remain HIGH.
Start data transfer: A change in the state of the data line, from HIGH to LOW, while the clock is HIGH,
defines a START condition.
Stop data transfer: A change in the state of the data line, from LOW to HIGH, while the clock line is
HIGH, defines the STOP condition.
Data valid: The state of the data line represents valid data when, after a START condition, the data line
is stable for the duration of the HIGH period of the clock signal. The data on the line must be changed
during the LOW period of the clock signal. There is one clock pulse per bit of data.
Each data transfer is initiated with a START condition and terminated with a STOP condition. The
number of data bytes transferred between START and STOP conditions is not limited, and is determined
by the master device. The information is transferred byte-wise and each receiver acknowledges with a
ninth bit. Within the 2-wire bus specifications a regular mode (100kHz clock rate) and a fast mode
(400kHz clock rate) are defined. The DS1307 operates in the regular mode (100kHz) only.
6 of 12
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L63
DS1307
Acknowledge: Each receiving device, when addressed, is obliged to generate an acknowledge after the
reception of each byte. The master device must generate an extra clock pulse which is associated with
this acknowledge bit.
A device that acknowledges must pull down the SDA line during the acknowledge clock pulse in such a
way that the SDA line is stable LOW during the HIGH period of the acknowledge related clock pulse. Of
course, setup and hold times must be taken into account. A master must signal an end of data to the slave
by not generating an acknowledge bit on the last byte that has been clocked out of the slave. In this case,
the slave must leave the data line HIGH to enable the master to generate the STOP condition.
DATA TRANSFER ON 2-WIRE SERIAL BUS Figure 5
Depending upon the state of the R/ W bit, two types of data transfer are possible:
1. Data transfer from a master transmitter to a slave receiver. The first byte transmitted by the
master is the slave address. Next follows a number of data bytes. The slave returns an acknowledge
bit after each received byte. Data is transferred with the most significant bit (MSB) first.
2. Data transfer from a slave transmitter to a master receiver. The first byte (the slave address) is
transmitted by the master. The slave then returns an acknowledge bit. This is followed by the slave
transmitting a number of data bytes. The master returns an acknowledge bit after all received bytes
other than the last byte. At the end of the last received byte, a “not acknowledge” is returned.
The master device generates all of the serial clock pulses and the START and STOP conditions. A
transfer is ended with a STOP condition or with a repeated START condition. Since a repeated START
condition is also the beginning of the next serial transfer, the bus will not be released. Data is transferred
with the most significant bit (MSB) first.
7 of 12
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L64
DS1307
The DS1307 may operate in the following two modes:
1. Slave receiver mode (DS1307 write mode): Serial data and clock are received through SDA and
SCL. After each byte is received an acknowledge bit is transmitted. START and STOP conditions
are recognized as the beginning and end of a serial transfer. Address recognition is performed by
hardware after reception of the slave address and *direction bit (See Figure 6). The address byte is
the first byte received after the start condition is generated by the master. The address byte contains
the 7 bit DS1307 address, which is 1101000, followed by the *direction bit (R/ W ) which, for a write,
is a 0. After receiving and decoding the address byte the device outputs an acknowledge on the SDA
line. After the DS1307 acknowledges the slave address + write bit, the master transmits a register
address to the DS1307 This will set the register pointer on the DS1307. The master will then begin
transmitting each byte of data with the DS1307 acknowledging each byte received. The master will
generate a stop condition to terminate the data write.
DATA WRITE – SLAVE RECEIVER MODE Figure 6
2. Slave transmitter mode (DS1307 read mode): The first byte is received and handled as in the slave
receiver mode. However, in this mode, the *direction bit will indicate that the transfer direction is
reversed. Serial data is transmitted on SDA by the DS1307 while the serial clock is input on SCL.
START and STOP conditions are recognized as the beginning and end of a serial transfer (See
Figure 7). The address byte is the first byte received after the start condition is generated by the
master. The address byte contains the 7-bit DS1307 address, which is 1101000, followed by the
*direction bit (R/ W ) which, for a read, is a 1. After receiving and decoding the address byte the
device inputs an acknowledge on the SDA line. The DS1307 then begins to transmit data starting
with the register address pointed to by the register pointer. If the register pointer is not written to
before the initiation of a read mode the first address that is read is the last one stored in the register
pointer. The DS1307 must receive a “not acknowledge” to end a read.
DATA READ – SLAVE TRANSMITTER MODE Figure 7
8 of 12
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L65
DS1307
ABSOLUTE MAXIMUM RATINGS*
Voltage on Any Pin Relative to Ground
Storage Temperature
Soldering Temperature
-0.5V to +7.0V
-55°C to +125°C
260°C for 10 seconds DIP
See JPC/JEDEC Standard J-STD-020A for
Surface Mount Devices
* This is a stress rating only and functional operation of the device at these or any other conditions above
those indicated in the operation sections of this specification is not implied. Exposure to absolute
maximum rating conditions for extended periods of time may affect reliability.
Range
Commercial
Industrial
Temperature
0°C to +70°C
-40°C to +85°C
VCC
4.5V to 5.5V VCC1
4.5V to 5.5V VCC1
RECOMMENDED DC OPERATING CONDITIONS
(Over the operating range*)
PARAMETER
Supply Voltage
Logic 1
Logic 0
VBAT Battery Voltage
*Unless otherwise specified.
SYMBOL
VCC
VIH
VIL
VBAT
MIN
4.5
2.2
-0.5
2.0
TYP
5.0
MAX
5.5
VCC + 0.3
+0.8
3.5
UNITS
V
V
V
V
NOTES
DC ELECTRICAL CHARACTERISTICS
(Over the operating range*)
PARAMETER
Input Leakage (SCL)
I/O Leakage (SDA &
SQW/OUT)
Logic 0 Output (IOL = 5mA)
Active Supply Current
Standby Current
Battery Current (OSC ON);
SQW/OUT OFF
Battery Current (OSC ON);
SQW/OUT ON (32kHz)
Power-Fail Voltage
*Unless otherwise specified.
SYMBOL
ILI
ILO
MIN
TYP
MAX
1
1
UNITS
mA
mA
V
mA
mA
nA
VOL
ICCA
ICCS
IBAT1
300
0.4
1.5
200
500
IBAT2
480
800
nA
1.25 x VBAT
1.284 x VBAT
V
VPF
1.216 x VBAT
9 of 12
NOTES
7
1
2
8
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L66
DS1307
AC ELECTRICAL CHARACTERISTICS
(Over the operating range*)
PARAMETER
SCL Clock Frequency
Bus Free Time Between a STOP and
START Condition
Hold Time (Repeated) START Condition
LOW Period of SCL Clock
HIGH Period of SCL Clock
Set-up Time for a Repeated START
Condition
Data Hold Time
Data Set-up Time
Rise Time of Both SDA and SCL Signals
Fall Time of Both SDA and SCL Signals
Set-up Time for STOP Condition
Capacitive Load for each Bus Line
I/O Capacitance (TA = 25ºC)
Crystal Specified Load Capacitance
(TA = 25ºC)
*Unless otherwise specified.
SYMBOL
fSCL
tBUF
MIN
0
4.7
tHD:STA
tLOW
tHIGH
tSU:STA
tHD:DAT
tSU:DAT
tR
tF
tSU:STO
CB
CI/O
TYP
MAX
100
UNITS
kHz
ms
NOTES
4.0
4.7
4.0
4.7
ms
ms
ms
ms
3
0
250
ms
ns
ns
ns
ms
pF
4,5
1000
300
4.7
400
10
pF
12.5
pF
6
NOTES:
1.
2.
3.
4.
5.
6.
7.
8.
ICCS specified with VCC = 5.0V and SDA, SCL = 5.0V.
VCC = 0V, VBAT = 3V.
After this period, the first clock pulse is generated.
A device must internally provide a hold time of at least 300ns for the SDA signal (referred to the
VIHMIN of the SCL signal) in order to bridge the undefined region of the falling edge of SCL.
The maximum tHD:DAT has only to be met if the device does not stretch the LOW period (tLOW) of the
SCL signal.
CB – Total capacitance of one bus line in pF.
ICCA – SCL clocking at max frequency = 100kHz.
VPF measured at VBAT = 3.0V.
10 of 12
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
TIMING DIAGRAM Figure 8
DS1307 64 X 8 SERIAL REAL-TIME CLOCK
8-PIN DIP MECHANICAL DIMENSIONS
PKG
DIM
A IN.
MM
B IN.
MM
C IN.
MM
D IN.
MM
E IN.
MM
F IN.
MM
G IN.
MM
H IN.
MM
J IN.
MM
K IN.
MM
11 of 12
8-PIN
MIN
MAX
0.360
0.400
9.14
10.16
0.240
0.260
6.10
6.60
0.120
0.140
3.05
3.56
0.300
0.325
7.62
8.26
0.015
0.040
0.38
1.02
0.120
0.140
3.04
3.56
0.090
0.110
2.29
2.79
0.320
0.370
8.13
9.40
0.008
0.012
0.20
0.30
0.015
0.021
0.38
0.53
L67
DS1307
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
DS1307Z 64 X 8 SERIAL REAL-TIME CLOCK
8-PIN SOIC (150-MIL) MECHANICAL DIMENSIONS
PKG
DIM
A IN.
MM
B IN.
MM
C IN.
MM
E IN.
MM
F IN.
MM
G IN.
MM
H IN.
MM
J IN.
MM
K IN.
MM
L IN.
MM
phi
8-PIN
(150 MIL)
MIN
MAX
0.188
0.196
4.78
4.98
0.150
0.158
3.81
4.01
0.048
0.062
1.22
1.57
0.004
0.010
0.10
0.25
0.053
0.069
1.35
1.75
0.050 BSC
1.27 BSC
0.230
0.244
5.84
6.20
0.007
0.011
0.18
0.28
0.012
0.020
0.30
0.51
0.016
0.050
0.41
1.27
0°
8°
56-G2008-001
12 of 12
L68
DS1307
Download