PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
TUGAS AKHIR
disusun oleh :
PAULUS ALEXANDER ELDWIN PRADANA
NIM : 115114006
FINAL PROJECT
MOTTO
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
BAB I : PENDAHULUAN
1.1 Latar Belakang ............................................................................................................. 1
1.2 Tujuan dan Manfaat ..................................................................................................... 2
1.3 Batasan Masalah........................................................................................................... 2
1.4 Metodologi Penelitian .................................................................................................. 3
xii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
xiii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
xiv
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
DAFTAR GAMBAR
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
xvii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
DAFTAR TABEL
xviii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
BAB I
PENDAHULUAN
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.
BAB II
DASAR TEORI
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.
RFID reader dari stronglink dengan seri SL018. Gambar 2.1 merupakan penampakan
RFID SL018.
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.
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.
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.3. Daftar status sebagai feedback RFID SL018 kepada host [8]
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
Berikut ini disajikan tabel fungsi khusus pada beberapa pin arduino.
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.
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.
Pin SCK master mengeluarkan clock sinkron yang diterima slave melalui pin SCK
miliknya. SS digunakan untuk mengaktifkan slave yang bersangkutan [17].
dari data, sedangkan kolom sering disebut sebagai attribute atau field. Keseluruhan tabel
itu dihimpun dalam satu kesatuan yang disebut database[22].
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].
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
Gambar 3.1. Diagram blok sistem perekaman data akses kamar hotel
20
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
21
RFID 1
RFID 2
RFID 3
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.
resistor pull-up untuk komunikasi I2C antara Arduino dan piranti lain adalah sebagai
berikut.
modul Ethernet sama dengan pin pada Arduino. Gambar 3.5 merupakan perancangan
modul ethernet dan mikrokontroler.
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.
SELAMAT Username :
DATANG Password :
Gambar 3.7. Gambar halaman login sebelum mengakses halaman rekaman data akses
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
25
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;
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
29
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”.
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
BAB IV
HASIL DAN PEMBAHASAN
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.
34
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
35
Gambar 4.4. Tampilan halaman web perekaman data akses kamar hotel
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
Pin SDA
DS1307 GND
VCC
Gambar 4.8. Penampakan RTC
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
37
Gambar 4.10. Pengaturan IP Address beserta MAC Address untuk Modul Ethernet Shield
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.
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.
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
40
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.
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
Gambar 4.17. Pesan yang ditampilkan dari mikrokontroler melalui Modul Ethernet Shield
bahwa data telah diterima
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
42
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
mikrokontroler akan membaca berkomunikasi dengan RFID SL018 untuk membaca data
RFID Card menggunakan subrutin seperti Gambar 4.20.
Pembacaan data (waktu) pada RTC, diberikan subrutin pembacaan waktu pada
RTC seperti pada Gambar 4.25.
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
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.
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
48
1 - - - v v
12.00 –
2 - - - v v
13.00
3 - - - v v
1 v - - v v
13.00 –
2 - - - v v
16.00
3 - - v v v
1 v - - - v
16.00 –
2 - - - - v
00.00
3 - - v - v
1 v - - - v
00.00 –
2 - - - - v
08.00
3 - - v - v
1 v - - v v
08.00 –
2 - - - v v
12.00
3 - - v v v
24 Juli 2015
1 - - - v v
12.00 –
2 - - - v v
13.00
3 - - - v v
1 v - - v v
13.00 –
2 - v - v v
16.00
3 - - - v v
1 v - - - v
16.00 –
2 - v - - v
00.00
3 - - - - v
1 v - - - v
00.00 –
2 - v - - v
08.00
3 - - - - v
1 v - - v v
08.00 –
2 - v - v v
12.00
3 - - - v v
25 Juli 2015
1 - - - v v
12.00 –
2 - - - v v
13.00
3 - - - v v
1 - - - v v
13.00 –
2 - - - v v
16.00
3 - - - v v
1 - - - - v
16.00 –
2 - - - - v
00.00
3 - - - - 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 meng-
klik 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.
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.
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.
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.
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
57
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
58
LAMPIRAN
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L1
LAMPIRAN 1
LISTING PROGRAM ARDUINO
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L2
/*
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>
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)
{
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L4
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());
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L5
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);
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L7
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){}
}
}
}
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";
}
}
Wire.endTransmission();
}
waktu_rtc=tambah_nol(tahun,0)+"+"+tambah_nol(bulan,0)+"+"+tambah_nol(tanggal,0)+"
+"+tambah_nol(jam,0)+"+"+tambah_nol(menit,0);
}
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);
}
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;
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L12
EEPROM.write(ruang,didalam[ruang]);
}
else
{sprintf(kata,"Mencoba+Memasuki+Kamar+%d",ruang);}
}
}
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
L14
LAMPIRAN 2
LISTING PROGRAM
HALAMAN LOGIN
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L15
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;
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";
else if ($r[2]==0)
{
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L18
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 " );
?>
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L19
LAMPIRAN 3
LISTING PROGRAM
HALAMAN PENDAFTARAN
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
<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
L23
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>";
}
?>
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L25
</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;
}
$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;
$kirim_check_out=$tahun_out."+".$bulan_out."+".$tanggal_out."+".$jam_out."+".$menit
_out;
$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
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
L29
LAMPIRAN 4
LISTING PROGRAM
HALAMAN PENAMPIL
PEREKAMAN DATA AKSES
KAMAR HOTEL
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
L32
session_destroy();
header("location:index.php");
?>
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L33
LAMPIRAN 5
LISTING PROGRAM
HALAMAN CHECK OUT
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
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' AND
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';
$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
Error
muncul
di sini
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L39
Error
muncul
di sini
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L40
LAMPIRAN 7
RFID SL018 DATASHEET
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI L42
RFID MODULE
SL018
User Manual
Version 2.0
Nov 2012
StrongLink
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI L43
CONTENT
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
http://www.stronglink-rfid.com 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-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
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
http://www.stronglink-rfid.com 7
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI L49
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
http://www.stronglink-rfid.com 9
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI L51
http://www.stronglink-rfid.com 10
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI L52
http://www.stronglink-rfid.com 11
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI L53
http://www.stronglink-rfid.com 12
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI L54
4-3-14. Reset
Host Write:
Len 0xFF
No return
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 Status Data
(Firmware version)
HEX 0B F0 00 53 4C 30 31 38 2D 32 2E 32
ASCII “SL018-2.2”
http://www.stronglink-rfid.com 14
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L56
LAMPIRAN 8
RTC DS1307 DATASHEET
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, l 8 VCC
X1
minutes, hours, date of the month, month, day X2 2 7 SQW/OUT
of the week, and year with leap-year VBAT 3 6 SCL
compensation valid up to 2100 GND 4 5 SDA
§ 56-byte, battery-backed, nonvolatile (NV) DS1307 8-Pin DIP (300-mil)
RAM for data storage
§ Two-wire serial interface X1 l 8 VCC
§ Programmable squarewave output signal X2 2 7 SQW/OUT
§ Automatic power-fail detect and switch VBAT 3 6 SCL
circuitry GND 4 5 SDA
§ Consumes less than 500nA in battery backup DS1307 8-Pin SOIC (150-mil)
mode with oscillator running
§ Optional industrial temperature range:
-40°C to +85°C PIN DESCRIPTION
§ Available in 8-pin DIP or SOIC VCC - Primary Power Supply
§ Underwriters Laboratory (UL) recognized X1, X2 - 32.768kHz Crystal Connection
VBAT - +3V Battery Input
GND - Ground
ORDERING INFORMATION SDA - Serial Data
DS1307 8-Pin DIP (300-mil) SCL - Serial Clock
DS1307Z 8-Pin SOIC (150-mil) SQW/OUT - Square Wave/Output Driver
DS1307N 8-Pin DIP (Industrial)
DS1307ZN 8-Pin SOIC (Industrial)
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
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.
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.
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.
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.
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 (20-
23 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 re-
read 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
CONTROL REGISTER
The DS1307 control register is used to control the operation of the SQW/OUT pin.
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.
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 2-
wire bus. A typical bus configuration using this 2-wire protocol is show in Figure 4.
§ 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.
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.
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.
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.
8 of 12
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI L65
DS1307
ABSOLUTE MAXIMUM RATINGS*
Voltage on Any Pin Relative to Ground -0.5V to +7.0V
Storage Temperature -55°C to +125°C
Soldering Temperature 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.
DC ELECTRICAL CHARACTERISTICS
(Over the operating range*)
PARAMETER SYMBOL MIN TYP MAX UNITS NOTES
Input Leakage (SCL) ILI 1 mA
I/O Leakage (SDA & ILO 1 mA
SQW/OUT)
Logic 0 Output (IOL = 5mA) VOL 0.4 V
Active Supply Current ICCA 1.5 mA 7
Standby Current ICCS 200 mA 1
Battery Current (OSC ON); IBAT1 300 500 nA 2
SQW/OUT OFF
Battery Current (OSC ON); IBAT2 480 800 nA
SQW/OUT ON (32kHz)
Power-Fail Voltage VPF 1.216 x VBAT 1.25 x VBAT 1.284 x VBAT V 8
*Unless otherwise specified.
9 of 12
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI L66
DS1307
AC ELECTRICAL CHARACTERISTICS
(Over the operating range*)
PARAMETER SYMBOL MIN TYP MAX UNITS NOTES
SCL Clock Frequency fSCL 0 100 kHz
Bus Free Time Between a STOP and tBUF 4.7 ms
START Condition
Hold Time (Repeated) START Condition tHD:STA 4.0 ms 3
LOW Period of SCL Clock tLOW 4.7 ms
HIGH Period of SCL Clock tHIGH 4.0 ms
Set-up Time for a Repeated START tSU:STA 4.7 ms
Condition
Data Hold Time tHD:DAT 0 ms 4,5
Data Set-up Time tSU:DAT 250 ns
Rise Time of Both SDA and SCL Signals tR 1000 ns
Fall Time of Both SDA and SCL Signals tF 300 ns
Set-up Time for STOP Condition tSU:STO 4.7 ms
Capacitive Load for each Bus Line CB 400 pF 6
CI/O 10 pF
I/O Capacitance (TA = 25ºC)
Crystal Specified Load Capacitance 12.5 pF
(TA = 25ºC)
*Unless otherwise specified.
NOTES:
1. ICCS specified with VCC = 5.0V and SDA, SCL = 5.0V.
2. VCC = 0V, VBAT = 3V.
3. After this period, the first clock pulse is generated.
4. 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.
5. The maximum tHD:DAT has only to be met if the device does not stretch the LOW period (tLOW) of the
SCL signal.
6. CB – Total capacitance of one bus line in pF.
7. ICCA – SCL clocking at max frequency = 100kHz.
8. VPF measured at VBAT = 3.0V.
10 of 12
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI L67
DS1307
TIMING DIAGRAM Figure 8
11 of 12
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI L68
DS1307
DS1307Z 64 X 8 SERIAL REAL-TIME CLOCK
8-PIN SOIC (150-MIL) MECHANICAL DIMENSIONS
8-PIN
PKG
(150 MIL)
DIM MIN MAX
A IN. 0.188 0.196
MM 4.78 4.98
B IN. 0.150 0.158
MM 3.81 4.01
C IN. 0.048 0.062
MM 1.22 1.57
E IN. 0.004 0.010
MM 0.10 0.25
F IN. 0.053 0.069
MM 1.35 1.75
G IN. 0.050 BSC
MM 1.27 BSC
H IN. 0.230 0.244
MM 5.84 6.20
J IN. 0.007 0.011
MM 0.18 0.28
K IN. 0.012 0.020
MM 0.30 0.51
L IN. 0.016 0.050
MM 0.41 1.27
phi 0° 8°
56-G2008-001
12 of 12