Perancangan Stand Alone RFID Reader untuk Aplikasi Sistem Keamanan Pintu

(1)

PERANCANGAN STAND ALONE RFID READER UNTUK

APLIKASI SISTEM KEAMANAN PINTU

Laporan ini diajukan untuk memenuhi salah satu syarat dalam menempuh pendidikan program Sarjana S1 di Jurusan Teknik Elektro

Oleh : Rahman Sanandra

13105015

Dosen Pembimbing : 1. Muhammad Aria, MT. 2. Levy Olivia Nur, MT.

PROGRAM STUDI TEKNIK ELEKTRO

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2009


(2)

LEMBAR PENGESAHAN

PERANCANGAN STAND ALONE RFID READER UNTUK APLIKASI SISTEM KEAMANAN PINTU

Oleh : Rahman Sanandra

13105015

Laporan ini diajukan untuk memenuhi salah satu syarat dalam menempuh pendidikan program Sarjana S1 di Jurusan Teknik Elektro

Disetujui dan disahkan di Bandung pada tanggal : __________________________________ 

Pembimbing I

Muhammad Aria, MT. NIP. 4127 70 04 008

Pembimbing II

Levy Olivia Nur, MT. NIP. 4127 70 04 014

Mengetahui,

Ketua Jurusan Teknik Elektro

Muhammad Aria, MT. NIP. 4127 70 04 008


(3)

SISTEM KEAMANAN PINTU

Oleh : Rahman Sanandra

13105015

Laporan ini diajukan untuk memenuhi salah satu syarat dalam menempuh pendidikan program Sarjana S1 di Jurusan Teknik Elektro

Disetujui dan disahkan di Bandung pada tanggal : __________________________________ 

Mengetahui,

Penguji I

Tri Rahajoeningroem, MT. NIP. 4127 70 04 015

Penguji II

Levy Olivia Nur, MT. NIP. 4127 70 04 014


(4)

ABSTRAK

Teknologi Radio Frrequency Identification (RFID) merupakan sebuah teknologi pengidentifikasian suatu objek dengan memanfaatkan frekuensi radio. Kelebihan yang dimiliki teknologi ini dengan teknologi identifikasi lainnya menjadi daya tarik bagi para pengembang teknologi untuk lebih memanfaatkannya. Penggunaannya yang masih mengandalkan perangkat komputer sebagai penyimpan database, mengakibatkan sistem tersebut tidak efisien dalam hal biaya dan tempat.

Dari masalah di atas, maka diharapkan sistem dalam tugas akhir ini dapat bekerja secara stand alone. Sehingga sistem dapat bekerja tanpa sebuah perangkat komputer sebagai media penyimpan database. Oleh karena itu, digunakan sebuah memori eksternal yang berfungsi sebagai media penyimpanan tersebut. Sebagai pengontrol dari sistem ini adalah AT89S8252. Sedangkan untuk reader RFID adalah ID-12 yang dapat memancarkan frekuensi radio sebesar 125KHz dengan menggunakan tag pasif sebagai transponder.

Data pada tag RFID dibaca oleh reader, kemudian diolah dalam mikrokontroler dan mencocokkan data tersebut dengan data yang disimpan dalam memori eksternal. Kemudian mikrokontroler akan membuka kunci solenoid untuk beberapa saat. Selain itu, respon dari kunci solenoid setelah reader melakukan pembacaan terhadap tag bergantung pada banyaknya data yang tersimpan dalam memori ekternal. Semakin banyak data, maka semakin lama waktu responnya.


(5)

Radio Frequency Identification (RFID) Technology is a technology to identify an object using radio frequency. The superiority of this technology compared with other identification technology attracted the technology developer to develop it. The use of a computer equipment as database storage on its application makes the system inefficient on cost and space.

The system which is used in this final assignment will be working as stand alone. The system will be working without computer equipment as the database storage media. An external memory is used to replace it. The controller of this system is an AT89S8252 and the reader will be using ID-12 which work on radio frequency range of 125KHz and using the passive transponder.

The reader read the data inside the RFID tag and then the microcontroller process and matched the data with the data which are stored inside the external memory. The microcontroller will open the solenoid key for a short amount of time. The response of solenoid key after the reader read the tag depend on quality of data which are stored inside the external memory. The more data that need to be read, the time respons will be longer.


(6)

vi  

KATA PENGANTAR

Assalamu’alaikum Wr. Wb,

Alhamdulillah, Puji Syukur kehadirat Allah SWT yang senantiasa memberikan Ridho dan Rahmat-Nya kepada kita semua, sehingga penulis dapat menyelesaikan laporan tugas akhir ini dengan judul:

“PERANCANGAN STAND ALONE RFID READER UNTUK APLIKASI SISTEM KEAMANAN PINTU”

Dalam menyelesaikan tugas akhir ini, penulis berpegang pada teori yang ada dan bimbingan dari dosen pembimbing serta kepada pihak–pihak lain yang sangat membantu. Tugas akhir ini merupakan salah satu syarat akademis dalam menempuh pendidikan program Sarjana S1 di Jurusan Teknik Elektro, Universitas Komputer Indonesia.

Tak ada gading yang tak retak, bahwa pada tugas akhir ini masih terdapat banyak kelemahan dan kekurangan, meskipun penulis telah berusaha untuk melakukan yang terbaik. Segala kekurangan adalah milik kita dan segala kelebihan hanyalah milik Allah SWT. Akhir kata penulis berharap semoga tugas akhir ini dapat memberi manfaat bagi penulis dan rekan-rekan mahasiswa pada khususnya serta seluruh pembaca pada umumnya.

Wassalamu’alaikum Wr.Wb.

Bandung, Juli 2009 Penulis


(7)

vii  

Alhamdulillah, atas segala limpahan rahmat, taufik, hidayah serta inayah-Nya sehingga tugas akhir ini dapat diselesaikan dengan baik. Penulis menyadari bahwa terwujudnya tugas akhir ini tak lepas dari bantuan, bimbingan dan dukungan dari berbagai pihak. Oleh karena itu, dengan segala kerendahan hati kami sampaikan terima kasih kepada :

1. Bapak, Ibu dan semua anggota keluarga yang telah bekerja keras untuk membiayai penulis sehingga dapat kuliah dan menyelesaikan tugas akhir ini. Serta terima kasih atas do’a dan dorongan yang diberikan selama penulis menyelesaikan tugas akhir ini.

2. Bapak Muhammad Aria, MT. selaku Ketua Jurusan Teknik Elektro dan dosen pembimbing I serta Ibu Levy Olivia, MT. selaku dosen pembimbing II yang telah banyak memberikan ilmu, pengarahan, bimbingan, dan masukan-masukan kepada penulis sehingga tugas akhir ini dapat terselesaikan dengan baik.

3. Bapak Prof. Dr. Ir. Ukun Sastraprawira, M.Sc. selaku Dekan Fakultas Teknik dan Ilmu Komputer, Universitas Komputer Indonesia.

4. Ibu Tri Rahajoeningroem, MT. selaku dosen wali dan koordinator tugas akhir yang senantiasa memberikan informasi tentang tugas akhir dan lain sebagainya.


(8)

viii  

5. Para dosen Teknik Elektro, baik dosen tetap maupun dosen luar biasa yang telah mengajar dan membimbing kita semua. Jasa yang sangat luar biasa bagi kami sehingga kami menjadi tahu tantang banyak hal.

6. Teman-teman satu perjuangan di jurusan Teknik Elektro yang bersedia memberi bantuan yang dibutuhkan dalam menyelesaikan tugas akhir ini. Tanpa kalian hidup menjadi hampa, tidak ada warna. Khususnya pada salah satu teman terbaik saya yang rela meluangkan waktunya (Suryono), sukses selalu dan maju terus pantang menyerah.

7. Semua staf Jurusan dan Universitas yang telah membantu dalam mengurusi segala macam administrasi dan sebagainya. Semoga dapat lebih dekat dengan mahasiswa dan lebih membantu lagi.

Serta semua pihak yang telah membantu baik secara langsung maupun tidak langsung. Saya ucapkan terima kasih banyak atas bantuannya. Maaf kalau tidak bisa disebutkan semua, nanti bukunya penuh dengan ucapan terima kasih. Untuk temen-temen semua, jangan pernah berhenti untuk berkarya dan jangan takut untuk mencoba sesuatu yang baik. Pokoknya Sukses Selalu!!


(9)

ix  

Kata Pengantar……….. vi

Ucapan Terima Kasih……… vii

Daftar Isi……… ix

Daftar Gambar………... xiii

Daftar Tabel………... xv

BAB I PENDAHULUAN……… 1

1.1 Latar Belakang………... 1

1.2 Tujuan………... 3

1.3 Batasan Masalah………... 3

1.4 Rumusan Masalah………. 3

1.5 Metode Penelitian………... 4

1.6 Sistematika Penelitian………... 4

BAB II TEORI DASAR……….. 6

2.1 Radio Frequency Identification (RFID)………... 6

2.1.1 Tag RFID……… 8

2.1.2 Reader RFID………... 11

2.1.3 Databases……… 11

2.1.4 Frekuensi RFID………... 12

2.1.5 Kategori Sistem RFID……….... 14

2.2 Mikrokontroler………... 15


(10)

x  

2.2.2 Mikrokontroler AT89S8252………... 17

2.2.3 Konfigurasi Mikrokontroler AT89S8252………... 18

2.2.3.1 Port 0………... 19

2.2.3.2 Port 1………... 20

2.2.3.3 Port 2………... 20

2.2.3.4 Port 3………... 21

2.2.3.5 Reset (RST)………... 21

2.2.3.6 Address Latch Enable (ALE)/ PROG……… 21

2.2.3.7 Program Store Enable (PSEN)………... 22

2.2.3.8 External Access Enable (EA)/ Vpp………... 22

2.2.4 Memori Data………... 23

2.2.5 Special Function Register (SFR)……… 23

2.2.6 Register Dasar MCS51………... 25

2.2.6.1 Program Counter………... 26

2.2.6.2 Akumulator……… 26

2.2.6.3 Stack Pointer Register………... 27

2.2.6.4 Program Status Word……… 27

2.2.6.5 Register B……….. 27

2.2.6.6 DPH dan DPL……… 28

2.3 Bahasa Pemrograman C……… 28

2.3.1 Baris Komentar………... 30

2.3.2 Variabel………... 30

2.3.2.1 Variabel Global………... 31

2.3.2.2 Variabel Lokal………... 31


(11)

xi  

2.3.5 Pemilihan Kondisi (Selection)……… 32

2.3.5.1 Pilihan Tunggal………... 32

2.3.5.2 Pilihan Ganda……… 33

2.3.5.3 Pilihan Majemuk………... 33

2.3.5.4 Struktur Case (Statement Switch)……….. 34

2.3.6 Pengulangan (Looping)………... 34

2.3.6.1 Struktur For………... 34

2.3.6.2 Struktur For Bersarang………... 35

2.3.6.3 Struktur While……… 35

2.3.7 Subprogram/ Fungsi……… 36

2.3.7.1 Pendeklarasian dan Pendefinisian Fungsi………... 37

2.3.7.2 Fungsi yang Mengembalikan Nilai………... 37

2.4 Komunikasi Serial RS232………. 38

2.5 Multi Media Card (MMC)……… 40

2.5.1 Deskripsi Umum………. 40

2.5.2 Komunikasi Data SPI………... 41

BAB III PERANCANGAN STAND ALONE RFID READER………….... 46

3.1 Perancangan Sistem……….. 46

3.2 Perancangan Perangkat Keras (Hardware)………... 47

3.2.1 Reader RFID………... 47

3.2.2 Mikrokontroler AT89S8252………... 48


(12)

xii  

3.2.4 Catu Daya……… 51

3.2.5 RS232 Converter……… 52

3.2.6 Relay………... 53

3.3 Perancangan Perangkat Lunak (Software)……… 54

3.3.1 Program Utama………... 55

3.3.2 Program Delay……… 57

3.3.3 Program Penerimaan Data Serial……… 57

3.3.4 Program SPI……… 59

BAB IV PENGUJIAN DAN ANALISA SISTEM……… 61

4.1 Pengujian Rangkaian Catu Daya……….. 61

4.2 Pengujian RFID Reader……… 62

4.3 Pengujian Rangkaian Minimum Mikrokontroler……….. 64

4.4 Pengujian Rangkaian Solenoid………. 65

4.5 Pengujian Memori……… 66

4.6 Pengujian Sistem Secara Keseluruhan……….. 70

BAB V PENUTUP………... 73

5.1 Kesimpulan………... 73

5.2 Saran………. 73

Daftar Pustaka


(13)

xiii  

Gambar 2.1 Komponen Utama Suatu Sistem RFID………. 8

Gambar 2.2 Tag RFID atau Transponder………. 9

Gambar 2.3 Beberapa Jenis IC yang Digunakan untuk Reader RFID……….. 11

Gambar 2.4 Konfigurasi Pin Mikrokontroler AT89S8252………... 19

Gambar 2.5 Susunan Register Dasar MCS51………... 26

Gambar 2.6 IC Serial MAX232……… 38

Gambar 2.7 Konfigurasi DB9 sebagai Komunikasi Serial (RS232)………… 39

Gambar 2.8 Konfigurasi Pin MMC/SD Card……… 40

Gambar 2.9 Prosedur Operasi SPI……… 43

Gambar 2.10 Format Penerimaan Karakter (CPHA = 0)………. 44

Gambar 2.11 Format Pengiriman Karakter (CPHA = 1)……….. 44

Gambar 3.1 Blok Diagram Stand alone RFID Reader……….. 46

Gambar 3.2 Rangkaian Sederhana RFID Reader dengan ID-12……….. 48

Gambar 3.3 Sistem Minimum AT89S8252………... 49

Gambar 3.4 Rangkaian MMC/ SD Card………... 51

Gambar 3.5 Rangkaian Catu Daya……… 52

Gambar 3.6 Rangkaian RS232 Converter………. 53

Gambar 3.7 Rangkaian Buffer Sebagai Pengontrol Relay……… 54

Gambar 3.8 Flowchart Utama………... 56

Gambar 3.9 Flowchart Program SPI………. 60

Gambar 4.1 Hasil Pembacaan Osiloskop Dalam Mengukur Frekuensi ID-12. 62 Gambar 4.2 Hasil Pengambilan Data Sebuah Tag RFID……….. 64


(14)

xiv  

Gambar 4.4 Flowchart Menulis Data ke EEPROM……….. 68 Gambar 4.5 Flowchart Program Pengambilan Data EEPROM……… 69 Gambar 4.6 Rangkaian Sistem Secara Keseluruhan………. 71 Gambar 4.7 Grafik Hubungan Antara Posisi Data Terhadap Waktu Respon... 72


(15)

xv  

Tabel 2.1 Perbedaan RFID dan Barcode………... 7

Tabel 2.2 Fungsi Alternatif Port 1………. 20

Tabel 2.3 Fungsi Alternatif Port 3………. 21

Tabel 2.4 Kapasitas Memori Mikrokontroller Seri AT89X………. 23

Tabel 2.5 Fungsi Masing-Masing Pin dari DB9………... 40

Tabel 2.6 Fungsi Masing-Masing Pin pada MMC……… 41

Tabel 3.1 Fungsi Pin Mikrokontroler dengan Rangkaian Lain………. 50

Tabel 3.2 Hubungan Pin MAX232 dengan Rangkaian Lain……… 53

Tabel 4.1 Hasil Pengukuran Rangkaian Catu Daya……….. 61

Tabel 4.2 Jarak Baca Reader Terhadap Tag Pasif RFID……….. 63

Tabel 4.3 Kondisi Reader Terhadap Tag RFID……… 63

Tabel 4.4 Hasil Pengukuaran pada Masing-Masing Port AT89S8252………. 65

Tabel 4.5 Hasil Pengujian Rangkaian Solenoid……… 65 Tabel 4.6 Pengujian Respon Pembacan Reader Terhadap Pembukaan Kunci. 71


(16)

DAFTAR PUSTAKA

[1] Patrick J. Sweeney II. RFID For DUMMIES. Indiana: Wiley Publishing,Inc. 2005

[2] Goldburg. Joseph. Adilam EVAL – RFID. Adilam Electronics [3]

http://www.adilam.com.au/RFID/ID%20SERIES%20SR(2005-3-1)%20rev19.pdf, tanggal 19 Oktober 2008

[4] http://www.datasheet4u.com/html/A/T/8/AT89S8252_ATMELCorporation.p df.html, tanggal 25 Maret 2009

[5] http://www.datasheet4u.com/html/M/A/X/MAX232_Maxim.pdf.html, tanggal 23 Oktober 2008

[6] http://www.datasheet4u.com/html/A/T/2/AT24C08_ATMELCorporation.pdf. html, tanggal 27 Juli 2009

[7] http://www.grote.net/bascom/files/interfacing_at24cxx.pdf, tanggal 27 Juli 2009


(17)

1.1 Latar Belakang

Kemajuan teknologi yang sangat pesat, mendorong manusia melakukan pengembangan-pengembangan dari teknologi yang telah mereka temukan. Salah satunya dalam hal identifikasi. Bagi mereka yang bergerak di bidang manufaktur, logistik, pergudangan, pasar swalayan, pelayanan keamanan, ada teknologi yang mungkin akan segera digunakan secara besar-besaran. Teknologi ini dinamakan Radio Frequency Identification (RFID). Kelebihan yang dimiliki teknologi ini dengan teknologi identifikasi lainnya menjadi daya tarik bagi para pengembang teknologi untuk lebih memanfaatkannya.

Teknologi ini sebenarnya telah ada sejak beberapa dekade yang lampau, bahkan ada yang mengatakan idenya ada sejak tahun 1940-an. Kemudian pada 1970-an teknologi ini dibuka untuk umum. Sedangkan produksi massalnya dimulai sejak 1999. Pemimpin teknologi di bidang ini adalah Texas Instrument, Philips, Sony, dan Intermec. Di Asia sendiri, teknologi ini mulai populer sejak tahun 2005. Sekarang ini, di Indonesia penggunaan RFID sudah mulai populer.

Banyak aplikasi yang dapat memanfaatkan sistem RFID ini, misalnya untuk sitem keamanan ruangan, keamanan perbelanjaan, bahkan hanya sekedar untuk identitas karyawan. Sistem RFID sendiri terdiri dari tiga komponen utama, yaitu tag atau transponder, reader, dan database. Tag RFID berfungsi sebagai alat pelabelan suatu objek yang di dalamnya terdapat sebuah data tentang objek tersebut. Kemudian reader RFID digunakan sebagai alat scanning atau pembaca informasi


(18)

2  

yang ada pada tag RFID tersebut. Sedangkan database digunakan sebagai pelacak dan penyimpan informasi tentang objek-objek yang dimiliki oleh tag RFID.

RFID sendiri merupakan sebuah pengembangan dari sistem identifikasi sebelumnya, yaitu Barcode. Perbedaan yang mendasar antara RFID dengan barcode terletak pada cara scanning, yaitu cara pembacaan sebuah transponder atau alat yang digunakan sebagai pelabelan. Untuk barcode, biasanya scanning dilakukan secara langsung dan posisi antara tag dengan reader harus benar. Jika tidak maka tag tersebut tidak dapat terbaca oleh reader. Berbeda dengan RFID yang hanya dengan mendekatkan tag ke reader, maka tag tersebut dapat teridentifikasi.

Penggunaan RFID yang semakin merebak di Indonesia, membuat para ahli berlomba-lomba untuk mengembangkannya. Pada umumnya, komunikasi antara reader dengan database dilakukan secara serial. Penyimpanan database biasanya menggunakan sebuah PC atau perangkat komputer. Hal tersebut sangat tidak efisien jika dalam suatu sistem RFID, sebuah reader memerlukan sebuah perangkat komputer. Berapa banyak komputer yang akan kita gunakan apabila kita menggunakan banyak sistem RFID.

Dengan sistem satu reader satu komputer, maka hal tersebut sangat tidak efisien baik dari segi biaya maupun dari segi tempat. Oleh karena itu, dengan adanya penelitian ini diharapkan agar RFID reader tersebut dapat berfungsi secara stand alone, artinya reader tersebut dapat bekerja tanpa harus tergantung pada sebuah perangkat komputer sebagai media penyimpan database. Sehingga sistem tersebut dapat bekerja secara efisien.


(19)

1.2 Tujuan

Membuat stand alone RFID reader dengan mikrokontroler AT89S8252 yang menggunakan memori eksternal sebagai penyimpan data informasi yang dikirimkan oleh tag RFID untuk aplikasi sistem keamanan pintu. Sehingga reader tidak memerlukan lagi suatu perangkat komputer sebagai penyimpan database.

1.3 Batasan Masalah

Batasan masalah dalam penelitian ini adalah sebagai berikut.

a. Dalam penelitian ini, pembuatan meliputi hardware dan beberapa software untuk mikrokontroler.

b. Pembuatan hardware hanya meliputi reader RFID yang dihubungkan dengan mikrokontroler dan sebuah memori.

c. Pembuatan reader RFID menggunakan ID-12.

d. Bagaimana mikrokontroler dapat mengatur komunikasi data antara reader dengan database yang tersimpan pada memori.

e. Sistem ini digunakan sebagai sistem keamanan pintu.

1.4 Rumusan Masalah

Rumusan masalah dalam penelitian ini sebagai berikut. a. Membuat reader RFID dengan menggunakan ID-12.

b. Membuat program untuk komunikasi reader RFID dengan mikrokontroler AT89S8252.


(20)

4  

c. Membuat program untuk memori yang akan digunakan sebagai penyimpan database dengan dihubungkan mikrokontroler.

d. Membuat program untuk memcocokkan nomor identitas sehingga dapat digunakan untuk membuka kunci pintu.

1.5 Metode Penelitian

Metode yang digunakan dalam menyusun laporan tugas akhir ini adalah sebagai berikut.

a. Tinjauan pustaka mengenai teori-teori yang digunakan dalam melakukan penelitian.

b. Perancangan sistem yaitu dengan membuat reader RFID yang standalone sehingga reader tersebut tidak memerlukan lagi sebuah perangkat komputer sebagai penyimpan data informasi.

c. Menguji sistem, apakah dapat bekerja sebagai mana mestinya atau belum dan apakah sistem tersebut perlu tambahan supaya lebih lengkap.

1.6 Sistematika Penulisan

BAB I PENDAHULUAN

Bab ini berisi tentang latar belakang, tujuan, rumusan masalah, batasan masalah, metode penelitian yang digunakan, dan sistematika penulisan laporan tugas akhir.


(21)

BAB II TEORI DASAR

Bab ini berisi tentang teori-teori yang digunakan dalam melakukan penelitian dan penyusunan laporan tugas akhir ini.

BAB III PERANCANGAN STAND ALONE RFID READER

Bab ini berisi tentang perancangan sistem yang menjadi pokok bahasan dalam penelitian ini.

BAB IV PENGUJIAN DAN ANALISA SISTEM

Bab ini berisi tentang analisa sistem yang dibuat dalam penelitian ini. BAB V PENUTUP


(22)

BAB II TEORI DASAR

2.1 Radio Frequency Identification (RFID)

RFID merupakan suatu teknologi yang memanfaatkan frekuensi radio sebagai identifikasi otomatis terhadap suatu objek. RFID dapat dipandang sebagai salah satu cara dalam pelabelan suatu objek secara eksplisit dengan menggunakan peralatan-peralatan komputer. Dengan kata lain, RFID adalah teknologi penangkapan data yang dapat digunakan secara elektronik untuk mengidentifikasi, melacak dan menyimpan informasi yang tersimpan dalam tag RFID.

Para pengamat RFID menganggap bahwa RFID merupakan suatu kemajuan dari barcode optik yang banyak terdapat pada barang-barang dagangan. Keunggulan pembeda dari RFID dengan barcode yaitu.

a. Identifikasi yang unik, artinya sebuah barcode mengindikasikan tipe obyek tempat ia dicetak, misalnya “sebatang coklat merek ABC dengan kadar 70% dan berat 100 gram”. Sebuah tag RFID selangkah lebih maju dengan mengemisikan sebuah nomor seri unik di antara jutaan obyek yang identik, sehingga ia dapat mengindikasikan “sebatang coklat merek ABC dengan kadar 70% dan berat 100 gram, dengan nomor seri 897348738”. Identifier yang unik dalam RFID dapat berperan sebagai pointer terhadap entri basis data yang menyimpan banyak histori transaksi untuk item-item individu.


(23)

b. Otomasi, artinya sebuah barcode memerlukan kontak line-of-sight dengan reader yaitu dengan cara scan optik, dan tentu saja peletakan fisik harus tepat dari obyek yang di-scan. Kecuali pada lingkungan yang benar-benar terkontrol, selain itu scanning terhadap barcode memerlukan campur tangan manusia. Sebaliknya, tag RFID dapat dibaca tanpa kontak line-of-sight dan tanpa penempatan yang presisi. Reader RFID dapat melakukan scan terhadap tag RFID sebanyak ratusan perdetik.

Perbedaan mendasar antara RFID dengan barcode dapat dilihat seperti pada Tabel 2.1 berikut ini.

Tabel 2.1 Perbedaan RFID dan Barcode

RFID Barcode

Dapat ditempel dan tersembunyi, tidak memerlukan pandangan langsung

Harus dengan pandangan langsung Dapat dibaca meskipun terhalang benda

kecuali benda logam

Tidak dapat dibaca jika terhalang Dapat diprogram/ entri ulang dalam

keadaan bergerak

Tidak dapat Dapat diterapkan dalam lingkungan

yang keras, seperti di luar rumah, sekitar bahan kimia dan kelembaban

Harus ditempatkan ditempat yang terlingdungi agar tidak merusak kode Tag RFID berisikan 1MB memori

(1miliar karakter) bahkan sampai fraksi terkecil dari 64 bits

Jumlah informasi terbatas sekitar 20 karakter

Secara garis besar sebuah sistem RFID terdiri atas tiga komponen utama, yaitu tag, reader dan basis data (seperti terlihat pada Gambar 2.1). Secara ringkas, mekanisme kerja yang terjadi dalam sebuah sistem RFID adalah bahwa sebuah reader frekuensi radio melakukan scanning terhadap data yang tersimpan dalam


(24)

8  

tag, kemudian mengirimkan informasi tersebut ke sebuah basis data yang menyimpan data yang terdapat dalam tag tersebut.

Gambar 2.1 Komponen Utama Suatu Sistem RFID

2.1.1 Tag RFID

Sistem RFID merupakan suatu sistem identifikasi otomatis yang bertujuan untuk memungkinkan data ditransmisikan oleh peralatan portable yang disebut tag. Kemudian tag tersebut dibaca oleh suatu reader RFID dan diproses menurut kebutuhan dari aplikasi tertentu. Data yang ditrasmisikan oleh tag dapat menyediakan informasi identifikasi atau lokasi, atau hal-hal khusus tentang produk-produk ber-tag, seperti harga, warna, tanggal pembelian dan lain-lain. Sebuah tag RFID atau transponder, terdiri atas sebuah microchip dan sebuah antena, (seperti terlihat pada Gambar 2.2). Microchip itu sendiri dapat berukuran sekecil butiran pasir, sekitar 0.4 mm. Chip tersebut menyimpan nomor seri yang unik atau informasi lainnya tergantung kepada tipe memorinya. Tipe memori itu sendiri dapat read-only, read-write, atau write-onceread-many. Antena yang terpasang pada mikrochip mengirimkan informasi ke reader RFID. Biasanya rentang pembacaan diindikasikan dengan besarnya antena. Antena yang lebih besar mengindikasikan rentang pembacaan yang lebih jauh. Tag tersebut


(25)

terpasang atau tertanam dalam obyek yang akan diidentifikasi. Tag dapat di-scan dengan reader RFID bergerak maupun stasioner.

Gambar 2.2 Tag RFID atau Transponder

Tag RFID sangat bervariasi dalam hal bentuk dan ukuran. Sebagian tag mudah ditandai, misalnya tag anti-pencurian yang terbuat dari plastik keras yang dipasang pada barang-barang di toko. Tag untuk tracking hewan yang ditanam di bawah kulit berukuran tidak lebih besar dari bagian lancip dari ujung pensil. Bahkan ada tag yang lebih kecil lagi yang telah dikembangkan untuk ditanam di dalam serat kertas uang.

Tag pasif adalah tag paling sederhana, yaitu tag yang tidak memiliki catu daya sendiri serta tidak dapat menginisiasi komunikasi dengan reader. Sebagai gantinya, tag merespon emisi frekuensi radio dan menurunkan dayanya dari gelombang-gelombang energi yang dipancarkan oleg reader. Sebuah tag pasif minimum mengandung sebuah indentifier unik dari sebuah item yang dipasangi tag tersebut. Data tambahan dimungkinkan untuk ditambahkan pada tag, tergantung kepada kapasitas penyimpanannya.


(26)

10  

Dalam keadaan yang sempurna, sebuah tag dapat dibaca dari jarak sekitar 10 hingga 20 kaki. Contoh aplikasi tag pasif adalah pada pas transit, pas masuk gedung, barang-barang konsumsi. Harga tag pasif lebih murah dibandingkan harga versi lainnya. Perkembangan tag murah ini telah menciptakan revolusi dalam adopsi RFID dan memungkinkan penggunaannya dalam skala yang luas baik oleh organisasi-organisasi pemerintah maupun industri.

Tag semipasif adalah versi tag yang memiliki catu daya sendiri (baterai) tetapi tidak dapat menginisiasi komunikasi dengan reader. Dalam hal ini baterai digunakan oleh tag sebagai catu daya untuk melakukan fungsi yang lain seperti pemantauan keadaan lingkungan dan mencatu bagian elektronik internal tag, serta untuk memfasilitasi penyimpanan informasi. Tag versi ini tidak secara aktif memancarkan sinyal ke reader. Sebagian tag semipasif tetap diam hingga menerima sinyal dari reader. Tag semi pasif dapat dihubungkan dengan sensor untuk menyimpan informasi untuk peralatan keamanan kontainer. Rentang baca yang dijangkau tag semipasif dapat mencapai 100 kaki.

Tag aktif adalah tag yang selain memiliki antena dan chip juga memiliki catu daya sendiri dan pemancar serta mengirimkan sinyal kontinyu. Tag versi ini biasanya memiliki kemampuan baca tulis, dalam hal ini data tag dapat ditulis ulang dan/atau dimodifikasi. Tag aktif dapat menginisiasi komunikasi dan dapat berkomunikasi pada jarak yang lebih jauh, hingga 750 kaki, tergantung kepada daya baterainya. Harga tag ini merupakan yang paling mahal dibandingkan dengan versi lainnya.


(27)

2.1.2 Reader RFID

Untuk berfungsinya sistem RFID, maka diperlukan sebuah reader atau alat scanning yang dapat membaca tag dengan benar dan mengkomunikasikan hasilnya ke suatu database yang ada. Sebuah reader menggunakan antenanya sendiri untuk berkomunikasi dengan tag. Ketika reader memancarkan gelombang radio, seluruh tag yang dirancang pada frekuensi tersebut serta berada pada rentang bacanya akan memberikan respon.

Sebuah reader juga dapat berkomunikasi dengan tag tanpa line of sight langsung, tergantung kepada frekuensi radio dan tipe tag (aktif, pasif atau semipasif) yang digunakan. Reader dapat memproses banyak item sekaligus. Menurut bentuknya, reader dapat berupa reader bergerak seperti peralatan genggam, atau stasioner seperti peralatan point-of-sale di supermarket. Reader dibedakan berdasarkan kapasitas penyimpanannya, kemampuan pemrosesannya, serta frekuensi yang dapat dibacanya.

Gambar 2.3 Beberapa Jenis IC yang Digunakan untuk Reader RFID

2.1.3 Databases

Database merupakan sebuah sistem informasi logistik pada posisi back-end yang bekerja melacak dan menyimpan informasi tentang item bertag. Informasi yang tersimpan dalam basis data dapat terdiri dari identifier item, deskripsi, pembuat,


(28)

12  

pergerakan dan lokasinya. Tipe informasi yang disimpan dalam basis data dapat bervariasi tergantung kepada aplikasinya. Sebagai contoh, data yang disimpan pada sistem pembayaran tol akan berbeda dengan yang disimpan pada rantai supply. Basis data juga dapat dihubungkan dengan jaringan lainnya seperti local area network (LAN) yang dapat menghubungkan basis data ke Internet. Konektivitas seperti ini memungkinkan sharing data tidak hanya pada lingkup database lokal.

2.1.4 Frekuensi RFID

Pemilihan frekuensi radio merupakan kunci kerakteristik operasi sistem RFID. Frekuensi sebagian besar ditentukan oleh kecepatan komunikasi dan jarak baca terhadap tag. Secara umum tingginya frekuensi mengindikasikan jauhnya jarak baca. Frekuensi yang lebih tinggi mengindikasikan jarak baca yang lebih jauh. Pemilihan tipe frekuensi juga dapat ditentukan oleh tipe aplikasinya. Aplikasi tertentu lebih cocok untuk salah satu tipe frekuensi dibandingkan dengan tipe lainnya karena gelombang radio memiliki perilaku yang berbeda-beda menurut frekuensinya. Sebagai contoh, gelombang LF memiliki kemampuan penetrasi terhadap dinding tembok yang lebih baik dibandingkan dengan gelombang dengan frekuensi yang lebih tinggi, tetapi frekuensi yang lebih tinggi memiliki laju data (data rate) yang lebih cepat. Kombinasi dari level-level frekuensi dan daya yang dibolehkan menentukan rentang fungsional dari suatu aplikasi tertentu seperti keluaran daya dari reader.


(29)

Berikut ini adalah empat frekuensi utama yang digunakan oleh sistem RFID. a. Band LF berkisar dari 125 KHz hingga 134 KHz. Band ini paling sesuai

untuk penggunaan jarak pendek (short-range) seperti sistem antipencurian, identifikasi hewan dan sistem kunci mobil.

b. Band HF beroperasi pada 13.56 MHz. Frekuensi ini memungkinkan akurasi yang lebih baik dalam jarak tiga kaki dan karena itu dapat mereduksi risiko kesalahan pembacaan tag. Sebagai konsekuensinya band ini lebih cocok untuk pembacaan pada tingkat item (item-level reading). Tag pasif dengan frekuensi 13.56 MHz dapat dibaca dengan laju 10 to 100 tag perdetik pada jarak tiga kaki atau kurang. Tag RFID HF digunakan untuk pelacakan barang-barang di perpustakaan, toko buku, kontrol akses gedung, pelacakan bagasi pesawat terbang, pelacakan item pakaian.

c. Tag dengan band UHF beroperasi di sekitar 900 MHz dan dapat dibaca dari jarak yang lebih jauh dari tag HF, berkisar dari 3 hingga 15 kaki. Tag ini lebih sensitif terhadap faktor-faktor lingkungan daripada tag-tag yang beroperasi pada frekuensi lainnya. Band 900 MHz muncul sebagai band yang lebih disukai untuk aplikasi rantai supply disebabkan laju dan rentang bacanya. Tag UHF pasif dapat dibaca dengan laju sekitar 100 hingga 1.000 tag perdetik. Tag ini umumnya digunakan pada pelacakan kontainer, truk, trailer, terminal peti kemas, serta telah diadopsi oleh peritel besar dan Departemen Pertahanan Amerika Serikat. Sebagai tambahan, di Amerika Serikat, band MHz digunakan untuk mengidentifikasi isi kontainer dalam area komersial dan industri untuk meningkatkan ketepatan waktu dan


(30)

14  

akurasi transmisi data. Menurut FCC penggunaan semacam itu menguntungkan perusahaan pengapalan komersial dan memberikan manfaat keamanan yang signifikan dengan dimungkinkannya seluruh isi kontnainer teridentifikasi dengan mudah dan cepat serta dengan dapat diidentifikasinya kerusakan selama pengapalan.

d. Tag yang beroperasi pada frekuensi gelombang mikro, biasanya 2.45 dan 5.8 GHz, mengalami lebih banyak pantulan gelombang radio dari obyek-obyek di dekatnya yang dapat mengganggu kemampuan reader untuk berkomunikasi dengan tag. Tag RFID gelombang mikro biasanya digunakan untuk manajemen rantai supply.

2.1.5 Kategori Sistem RFID

Secara kasar sistem-sistem RFID dapat dikelompokkan menjadi empat kategori

sebagai berikut.

a. Sistem Electronic Article Surveillance (EAS) : Umumnya digunakan pada

toko-toko untuk menyensor ada tidaknya suatu item. Produk-produk diberi

tag dan reader berantena besar ditempatkan di masing-masing pintu keluar

toko untuk mendeteksi pengambilan item secara tidak sah.

b. Sistem Portable Data Capture : dicirikan oleh penggunaan reader RFID yang

portabel yang memungkinkan sistem ini digunakan dalam seting yang


(31)

c. Sistem Networked : dicirikan oleh posisi reader yang tetap yang terhubung

secara langsung ke suatu sistem manajemen informasi terpusat, sementara

transponder berada pada orang atau item-item yang dapat dipindahkan.

d. Sistem Positioning : Digunakan untuk identifikasi lokasi item-item atau

kendaraan.

2.2 Mikrokontroler

Pada tahun 1970 mikroposesor atau disebut juga computer on a chip intel 4004 pertama kali diproduksi secara masal, pertumbuhannya sangat cepat. Pengembangan mikoprosesor dengan menggunakan teknik pabrikasi yang sama dan konsep pemrograman yang sama melahirkan mikrokontroler. Mikrokontroler tidak dikenal secara luas karena hanya ditujukan untuk komunitas teknik.

Yang dimaksud dengan mikrokontroler adalah sebuah sistem mikroprosesor lengkap yang terkandung didalam sebuah chip. Mikrokontroler berbeda dari mikroprosesor serba guna yang digunakan didalam sebuah PC, karena dalam sebuah mikrokontroler umumnya telah berisi komponen komponen pendukung, seperti prosesor, memori, dan I/O. Sedangkan mikroprosesor adalah CPU komputer. Oleh karena itu, untuk dapat digunakan secara umum,masih diperlukan:

a. Memory (RAM, ROM) dan juga decoder memory b. I/O dan decoder I/O

c. Piranti khusus (Interupsi, timer, counter, dll) d. Clock Generator


(32)

16  

Mikrokontroler didesain sebagai True computer on a chip, jadi mikrokontroler sudah mempunyai piranti-piranti tambahan untuk membangun suatu sistem komputer digital. Mikrokontroler dirancang dengan intruksi yang bisa mengakses piranti terprogram dan dioptimalkan untuk instruksi bit dan byte, sementara komputer PC didesain dengan instruksi untuk mengases data-data multybyte.

2.2.1 Prinsip Kerja

Prinsip kerja mikrokontroler adalah sebagai berikut.

a. Berdasarkan nilai yang berada pada register Program Counter, mikrokontroler mengambil data pada ROM dengan alamat sebagaimana yang tertera pada register Program Counter. Selanjutnya isi dari register Program Counter ditambah dengan satu (Increment) secara otomatis. Data yang diambil pada ROM merupakan urutan instruksi program yang telah dibuat dan diisikan sebelumnya oleh pengguna.

b. Instruksi yang diambil tersebut diolah dan dijalankan oleh mikrokontroler. Proses pengerjaan bergantung pada jenis instruksi, bisa membaca, mengubah nilai-nilai pada register, RAM, isi Port, atau melakukan pembacaan dan dilanjutkan dengan pengubahan data.

c. Program Counter telah berubah nilainya baik karena penambahan secara otomatris atau karena pengubahan data. Selanjutnya yang dilakukan mikrokontroler adalah mengulang kembali siklus ini pada langkah pertama. Demikian seterusnya hingga catu daya dimatikan


(33)

Dapat disimpulkan bahwa pada dasarnya unjuk kerja mikrokontroler sangatlah tergantung pada urutan instruksi yang dijalankannya, yaitu program yang ditulis dalam ROM. Dan jika dikaitkan dengan embedded system, mikrokontroler bertugas untuk membagi kerja dari sistem yang ditambahkan berdasarkan cara kerja sistem tersebut. Sehingga walau telah ditambahkan sistem atau proses yang lain, sistem yang ada sebelumnya tetap bisa melakukan proses sebagaimana mestinya yang diatur dengan mikrokontroler.

Secara teknis hanya ada 2 jenis mikrokontroler yaitu RISC dan CISC dan masing-masing mempunyai keturunan/keluarga sendiri-sendiri.

a. Reduced Instruction Set Computer (RISC) : instruksi terbatas tapi memiliki fasilitas yang lebih banyak

b. Complex Instruction Set Computer (CISC) : instruksi bisa dikatakan lebih lengkap tapi dengan fasilitas secukupnya.

2.2.2 Mikrokontroler AT89S8252

Mikrokontroller tipe Atmel AT89S8252 termasuk dalam keluarga MCS51 merupakan suatu mikrokomputer CMOS 8 bit dengan daya rendah, kemampuan tinggi, memiliki 8K byte Flash Programable and Erasable Read Only Memory

(PEROM), dan 2K byte EEPROM. Perangkat ini dibuat menggunakan teknologi memori non volatile artinya tidak kehilangan data apabila kehilangan daya listrik. Set instruksi dan kaki keluaran AT89S8252 sesuai dengan standar industri 80C51.


(34)

18  

Atmel AT89S8252 adalah mikrokomputer yang sangat bagus dan fleksibel untuk banyak aplikasi sistem kendali.

Spesifikasi penting AT89S8252 :

¾ kompatibel dengan keluarga mikrokontroler MCS51 sebelumnya

¾ 8K bytes In system Programmable (ISP) flash memori dengan kemampuan 1000 kali baca/tulis dan antarmuka serial SPI untuk mengunduh program

¾ 2K bytes EEPROM dengan kemampuan 100000 kali baca/tulis ¾ tegangan kerja 4.0 – 6V

¾ bekerja dengan rentang 0 – 24MHz ¾ 256x8 bit RAM internal

¾ 32 jalur I/0 dapat diprogram ¾ 3 buah 16 bit Timer/Counter ¾ saluran serial UART

¾ antarmuka serial SPI ¾ watchdog timer ¾ dual data pointer

2.2.3 Konfigurasi Mikrokontroller AT89S8252

Mikrokontroller keluarga MCS51 memiliki port-port yang lebih banyak (40 port I/O) dengan fungsi yang bisa saling menggantikan sehingga mikrokontroller jenis ini menjadi sangat digemari karena hanya dalam sebuah chip sudah bisa


(35)

mengkafer untuk banyak kebutuhan. Gambar 2.4 adalah gambar konfigurasi kaki-kaki mikrokontroler AT89S8252.

Gambar 2.4 Konfigurasi Pin Mikrokontroler AT89S8252

Konfigurasi dan deskripsi kaki-kaki mikrokontroler AT89S8252 sebagai berikut.

2.2.3.1Port 0

Port 0 adalah port dua arah masukan/keluaran 8-bit saluran terbuka. Sebagai port keluaran, tiap kaki dapat menerima masukan TTL. Ketika logika 1 dimasukkan ke kaki-kaki port 0, kaki-kaki dapat digunakan sebagai masukan impedansi tinggi. Port 0 juga dapat diatur sebagai bus alamat/data saat mengakses program dan data dari memori luar. Pada mode ini port 0 memiliki pull-up internal. Port 0 juga menerima byte-byte kode saat pemprograman Flash dan mengeluarkan byte kode saat verifikasi. Pull-up eksternal diperlukan saat memverifikasi program.


(36)

20  

2.2.3.2Port 1

Port 1 adalah port dua arah masukan/keluaran 8-bit dengan pull-up internal. Sebagai tambahan, P1.0 dan P1.1 dapat diatur sebagai pewaktu/pencacah-2 eksternal masukan pencacah (P1.0/T2) dan pewaktu/pencacah-2 masukan pemicu (P1.1/T2EX). Port 1 juga menerima byte-byte alamat saat pemrograman dan verifikasi flash.

Selanjutnya , P1.4, P1.5, P1.6 dan P1.7 dapat dikonfigurasikan sebagai port SPI

slave yang dipilih, pin data masukan/keluaran dan clok masukan/keluaran dapat ditujukkan seperti Tabel 2.2 berikut.

Tabel 2.2 Fungsi Alternatif Port 1 Port Pin Nama

Alternatif

Fungsi

P1.0 T2 Masukan pencacah eksternal ke pewaktu/pencacah-2 (clok-out)

P1.1 T2EX Pewaktu/pencacah-2 pemicu P1.4 SS Masukan port slave yang terpilih

P1.5 MOSI Pin data keluaran master, data masukan slave untuk saluran SPI

P1.6 MISO Pin data masukan master, data keluaran slave untuk saluran SPI

P1.7 SCK Pin clok keluaran master, clok masukan slave untuk saluran SPI

2.2.3.3Port 2

Port 2 adalah port masukan/keluaran dua arah 8-bit dengan internal pull-up. Port 2 juga menerima bit-bit alamat dan beberapa sinyal kendali saat pemrograman dan verifikasi flash.


(37)

2.2.3.4Port 3

Port 3 adalah port masukan/keluaran dua arah 8-bit dengan internal pull-up. Port 3 juga menyediakan fasilitas berbagai fungsi khusus dari AT89S8252. Port 3 juga menerima beberapa sinyal kendali saat pemrograman dan verifikasi flash. Selain itu port 3 juga memiliki fungsi alternatif seperti pada Tabel 2.3 berikut.

Tabel 2.3 Fungsi Alternatif Port 3 Port Pin Nama

Alternatif

Fungsi

P3.0 RXD Port masukan serial P3.1 TXD Port keluaran serial P3.2 INT0 Interupt 0 eksternal P3.3 INT1 Interupt 1 eksternal

P3.4 T0 Masukan timer 0 eksternal P3.5 T1 Masukan timer 1 eksternal

P3.6 WR Memoridata write strobe eksternal P3.7 RD Memori data read strobe eksternal

2.2.3.5Reset (RST)

Masukan tinggi pada kaki ini selama dua siklus instruksi mesin akan me-reset perangkat.

2.2.3.6Address Latch Enable (ALE)/ PROG

ALE adalah pulsa keluaran untuk mengunci bit rendah dari alamat saat mengakses memori eksternal. Kaki ini juga digunakan sebagai masukan pulsa ( PROG ) saat pemprograman Flash. Pada operasi biasa, ALE mengeluarkan rata-rata 1/6 kali frekuensi osilator dan mungkin digunakan sebagai pewaktu atau denyut.


(38)

22  

Catatan, satu pulsa ALE diabaikan saat setiap pengaksesan data memori eksternal. Jika diinginkan, operasi ALE dapat di-disable dengan menseting bit 0 dari SFR pada lokasi 8EH. Dengan bit yang diset, ALE aktif hanya saat menjalankan perintah MOVX dan MOVC. Selain itu, kaki ini dapat juga di-pull tinggi. Setting bit ALE-disable tidak berpengaruh jika mikrokomputer pada mode eksekusi eksternal.

2.2.3.7Program Store Enable (PSEN)

PSEN adalah strobe pembacaan program pada memori eksternal. Ketika AT89S8252 melakukan eksekusi program dari memori eksternal, PSEN diaktifkan dua kali setiap siklus instruksi mesin, kecuali bahwa dua aktifasi PSEN diabaikan setiap mengakses data memori eksternal.

2.2.3.8External Access Enable (EA)/ Vpp

EA harus dihubungkan ke GND supaya memfungsikan perangkat untuk mengambil kode program dari lokasi memori eksternal dimulai dari 0000H hingga FFFFH.

Catatan, jika lock-bit diprogram, EA akan dikunci secara internal pada saat reset. EA harus dihubungkan dengan Vcc untuk eksekusi program internal. Kaki ini juga menerima tegangan yang memungkinkan pemrograman 12 Volt saat memprogram flash bila pemrograman 12 Volt dipilih.


(39)

2.2.4 Memori Data

AT89S8252 memiliki 2K byte EEPROM internal untuk penyimpanan data dan 256 byte RAM. Lebih dari 128 byte RAM menempati ruang paralel untuk register khusus (SFR). Dengan kata lain lebih dari 128 byte memiliki alamat yang sama dengan SFR tetapi secara fisik terpisah dari SFR.

Memori data EEPROM internal dipilih dengan meng-set bit EEMEN di dalam register WMCON pada lokasi alamat SFR 96H. Jarak alamat EEPROM dari 000H sampai 7FFH. Instruksi MOVX digunakan untuk mengakses EEPROM. Untuk mengakses EEPROM eksternal dengan menggunakan instruksi MOVX, maka EEMEN harus di-set “0”.

Sebagai perbandingan kapasitas memori, Tabel 2.4 menampilkan kapasitas memori dari mikrokontroler seri AT89X.

Tabel 2.4 Kapasitas Memori Mikrokontroller Seri AT89X

Type RAM Flash Memory EEPROM

AT89C51/ AT89S51 8 X 128 byte 4 Kbyte Tidak AT89C52/ AT89S52 8 X 256 byte 8 Kbyte Tidak

AT89C55 8 X 256 byte 20 Kbyte Tidak

AT89S53 8 X 256 byte 12 Kbyte Tidak

AT89S8252 8 X 256 byte 8 Kbyte 2 Kbyte

2.2.5 Special Function Register (SFR)

Mikrokontroler mempunyai sebuah peta memori yang disebut sebagai Special Function Register (SFR) . Port 0 berada di alamat 80h, port 1 90h, port 2 A0h dan


(40)

24  

P3 di alamat B0h. Sedangkan SBUF untuk komunikasi serial berada pada alamat 99h.

Register Khusus SFR (Special Function Register) adalah satu daerah RAM dalam IC keluarga MCS51 yang dipakai untuk mengatur perilaku MCS51 dalam hal-hal khusus, misalnya tempat untuk berhubungan dengan port paralel P1 atau P3, dan sarana masukan/keluaran lainnya, tapi tidak umum dipakai untuk menyimpan data seperti layaknya memori data.

Meskipun demikian, dalam hal penulisan program SFR diperlakukan persis sama dengan memori data. Untuk mengisi memori data nomor 60H dengan bilangan 0FH, instruksi yang dipergunakan adalah :

MOV 60H, #0FH

Sedangkan untuk memenyimpan 0FH ke Port 1 yang di SFR menempati memori data nomor 90H, instruksi yang dipergunakan adalah :

MOV 90H, #0FH

Membandingkan kedua instruksi di atas bisa dimengerti dalam segi penulisan program SFR diperlakukan persis sama dengan memori data.

Meskipun demikian, dalam menyebut memori data bisa dipakai dua cara, yakni penyebutan nomor memori secara langsung (direct memory addressing) dan penyebutan nomor memori secara tidak langsung (indirect memory addressing) lewat bantuan R0 dan R1. Tapi untuk SFR hanya bisa dipakai penyebutan nomor memori secara langsung (direct memory addressing) saja.


(41)

2.2.6 Register Dasar MCS51

Untuk keperluan penulisan program, setiap mikroprosesor/ mikrokontroler selalu dilengkapi dengan register dasar. Ada beberapa macam register yaitu register baku yang bisa dijumpai disemua jenis mikroprosesor/ mikrokontroler, dan register yang spesifik pada masing-masing prosesor.

Yang termasuk Register Baku antara lain Program Counter, Akumulator, Stack Pointer Register, Program Status Register. MCS51 mempunyai semua register baku ini. Kemudian sebagai register yang khas dari MCS51 antara lain adalah Register B, Data Pointer High Byte dan Data Pointer Low Byte. Di samping itu, MCS51 masih mempunyai Register Serba Guna R0..R7 yang sudah disebut dibagian atas.

Dalam mikroprosesor/mikrokontroler yang lain, register-register dasar biasanya ditempatkan ditempat tersendiri dalam inti prosesor, tapi dalam MCS51 register-register itu ditempatkan secara terpisah.

¾ Program Counter ditempatkan ditempat tersendiri di dalam inti prosesor.

¾ Register Serba Guna R0..R7 ditempatkan di salah satu bagian dari memori data.


(42)

26  

Gambar 2.5 Susunan Register Dasar MCS51

Kegunaan dan pemakaian register-register dasar tersebut antara lain sebagai berikut.

2.2.6.1Program Counter

Program Counter (PC) dalam MCS51 merupakan register dengan kapasitas 16 bit. Di dalam PC dicatat nomor memori-program yang menyimpan instruksi berikutnya yang akan diambil (fetch) sebagai instruksi untuk dikerjakan (execute). Saat setelah reset PC bernilai 0000h, berarti MCS51 akan segera mengambil isi memori-program nomor 0 sebagai instruksi. Nilai PC otomatis bertambah 1 setelah prosesor mengambil instruksi 1 byte. Ada instruksi yang hanya 1 byte, ada instruksi yang sampai 4 byte, dengan demikian pertambahan nilai PC setelah menjalankan instruksi, tergantung pada jumlah byte instruksi bersangkutan.

2.2.6.2Akumulator

Sesuai dengan namanya, akumulator adalah sebuah register yang berfungsi untuk menampung (accumulate) hasil hasil pengolahan data dari banyak instruksi


(43)

MCS51. Akumulator bisa menampung data 8 bit (1 byte) dan merupakan register yang paling banyak kegunaannya, lebih dari setengah instruksi-instruksi MCS51 melibatkan akumulator.

2.2.6.3Stack Pointer Register

Salah satu bagian dari memori data dipakai sebagai Stack, yaitu tempat yang dipakai untuk menyimpan sementara nilai PC sebelum prosesor menjalankan sub-rutin, nilai tersebut akan diambil kembali dari Stack dan dikembalikan ke PC saat prosesor selesai menjalankan sub-rutin. Stack Pointer Register adalah register yang berfungsi untuk mengatur kerja Stack, dalam Stack Pointer Register disimpan nomor memori data yang dipakai untuk operasi Stack berikutnya.

2.2.6.4Program Status Word

Program Status Word (PSW) berfungsi mencatat kondisi prosesor setelah melaksanakan instruksi.

2.2.6.5Register B

Register B merupakan register dengan kapasitas 8 bit, merupakan register pembantu akumulator saat menjalankan instruk perkalian dan pembagian.


(44)

28  

2.2.6.6DPH dan DPL

Data Pointer High Byte (DPH) dan Data Pointer Low Byte (DPL) masing-masing merupakan register dengan kapasitas 8 bit, tapi dalam pemakaiannya kedua register ini digabungkan menjadi satu register 16 bit yang dinamakan sebagai Data Pointer Register (DPTR). Sesuai dengan namanya, Register ini dipakai untuk mengalamati data dalam jangkauan yang luas.

2.3 Bahasa Pemrograman C

Sebuah mikrokontroller memerlukan program atau perintah untuk dapat melakukan sesuatu. Pembuatan program tersebut dapat menggunakan beberapa bahasa pemrograman, salah satunya adalah bahasa pemrograman C. Bentuknya sendiri mirip dengan bahasa pemrograman tingkat tinggi lainnya, yaitu : judul program, daftar header file, deklarasi, deskripsi.

a. Judul Program

Judul program sifatnya sebagai dokumentasi saja, tidak signifikan terhadap proses program. Ditulis dalam bentuk baris komentar.

Contoh :


(45)

b. Header File

C menyediakan sejumlah file judul (header file) yaitu file yang umumnya berisi prototipe fungsi, definisi makro, variabel dan definisi tipe. File ini mempunyai ciri yaitu namanya diakhiri dengan extension .h.

Contoh :

#include <stdio.h>

Keterangan : menyatakan bahwa agar membaca file bernama stdio.h saat pelaksanaan kompilasi.

c. Deklarasi

Deklarasi adalah bagian untuk mendefinisikan semua nama yang dipakai dalam program. Nama tersebut dapat berupa nama tetapan (konstanta), nama variabel, nama tipe, nama prosedur, nama fungsi.

d. Deskripsi

Bagian inti dari suatu program yang berisi uraian langkah-langkah penyelesaian masalah. Program C pada hakekatnya tersusun atas sejumlah blok fungsi. Sebuah program minimal mengandung sebuah fungsi. Setiap fungsi terdiri dari satu atau beberapa pernyataan, yang secara keseluruhan dimaksudkan untuk melaksanakan tugas khusus. Bagian pernyataan fungsi (disebut tubuh fungsi) diawali dengan tanda “{“ dan diakhiri dengan tanda “}”.


(46)

30  

2.3.1 Baris Komentar

Dalam program C ada yang disebut dengan baris komentar yaitu baris-baris yang menjelaskan maksud dari perubah yang digunakan atau maksud dari program itu sendiri. Hal ini dimaksudkan untuk memudahkan pelacakan atas perubah yang digunakan apabila program yang digunakan cukup besar atau memudahkan orang lain memahami program yang kita buat. Dalam program, baris komentar diletakkan diantara tanda “/*” dan “*/” dan baris ini tidak dikerjakan oleh komputer, hanya dianggap sebagai baris kosong.

2.3.2 Variabel

Variabel dalam program digunakan untuk menyimpan suatu nilai tertentu dimana nilai tersebut dapat berubah-ubah. Setiap variabel mempunyai tipe dan hanya data yang bertipe sama dengan tipe variabel yang dapat disimpan di dalam variabel tersebut. Setiap variabel mempunyai nama. Pemisahan antar variabel dilakukan dengan memberikan tanda koma.

Contoh :

int jumlah;

float harga_per_unit, total_biaya;

Dari contoh di atas, variabel jumlah hanya boleh menerima data yang bertipe integer (bulat), tidak boleh menerima data bertipe lainnya. Variabel

harga_per_unit dan total_biaya hanya bisa diisi dengan bilangan float (pecahan). Macam-macam variabel antara lain variabel global, variabel lokal, variabel statik.


(47)

2.3.2.1Variabel Global

Variabel yang dideklarasikan di luar blok fungsi dan bersifat dikenali oleh semua bagian program. Data-data yang tersimpan dalam sebuah variabel dapat diakses di setiap blok fungsi. Disarankan untuk tidak digunakan, karena variabel ini dapat men-sharing-kan data dan dapat diubah secara tidak sengaja oleh suatu blok fungsi, sehingga nilainya bisa berubah.

2.3.2.2Variabel Lokal

Variabel yang dideklarasikan dalam suatu blok fungsi tertentu dan hanya dikenal oleh blok fungsi tersebut. Variabel lokal akan dihapus dari memori jika proses sudah meninggalkan blok letak variabel lokalnya.

2.3.2.3Variabel Statik

Variabel statik sering dipakai sebagai variabel lokal. Perbedaan variabel lokal dan variabel statik adalah variabel lokal akan dihapus dari memori jika proses sudah meninggalkan blok letak variabel lokalnya, sedangkan variabel statik akan dihapus dari memori jika program dimatikan.

Contoh :

int i,j; /* variabel global */ main ()

{

int k,l; /* variabel lokal */ }

fungsi() {

static int m,n; /* variabel statik */ }


(48)

32  

2.3.3 Konstanta

Berbeda dengan variabel yang isinya bisa berubah selama eksekusi program berlangsung, nilai suatu konstanta tidak bisa berubah.

Contoh :

const int m = 8; #define pajak 0.05

2.3.4 Fungsi main()

Fungsi main() harus ada pada program, karena fungsi inilah yang menjadi titik awal dan titik akhir eksekusi program. Tanda “{“ di awal fungsi menyatakan awal tubuh fungsi sekaligus awal eksekusi program, sedangkan tanda “}” di akhir fungsi merupakan akhir tubuh fungsi dan sekaligus akhir eksekusi program.

2.3.5 Pemilihan Kondisi (Selection) 2.3.5.1Pilihan Tunggal

Bentuk paling sederhana pilihan tunggal adalah jika hanya ada satu pilihan kondisi yang disediakan.

if kondisi {

true statement }


(49)

2.3.5.2Pilihan Ganda

Digunakan untuk menentukan tindakan yang akan digunakan bila kondisi bernilai benar dan salah.

if kondisi {

true statement }

else {

false statement }

2.3.5.3Pilihan Majemuk

Untuk menentukan tindakan yang akan digunakan disediakan lebih dari 2 alternatif. Merupakan bentuk statement if dengan statement if lain di dalam if sebelumnya.

if kondisiA {

if kondisiB {

true statementB }

else {

false statementB }

} else {

false statementA }


(50)

34  

2.3.5.4Struktur Case (Statement Switch)

Untuk masalah dengan dua pilihan atau lebih, struktur CASE dapat menyederhanakan penulisan IF yang bertingkat-tingkat.

Switch(kondisi) {

case konstanta1 : {Statement-statement ; break} case konstanta1 : {Statement-statement ; break} case konstanta1 : {Statement-statement ; break} case konstanta1 : {Statement-statement ; break} ...

}

2.3.6 Pengulangan (Looping)

2.3.6.1Struktur For

Struktur ini digunakan bila kita mengetahui secara pasti banyaknya pengulangan yang akan dilakukan. Pernyataan FOR mempunyai 3 parameter yaitu :

a. nilai awal (initial value)

b. test kondisi yang menentukan akhir loop (condition expression) c. penentu perubahan nilai (incremental expression)

Bentuk for :

for (initial value; condition expression; incremental expression)

Keterangan :

¾ initial value : memberikan nilai awal pada variabel kontrol

¾ condition expression : ekspresi yang menyatakan berhentinya pengulangan. Jika tes kondisi bernilai salah maka loop akan berhenti.


(51)

¾ incremental expression : berfungsi menaikkan/ menurunkan nilai dari variabel kontrol. Dapat berupa nilai positif (penaikan)/ nilai negatif (penurunan).

• Penaikan : setiap loop operator ++ akan menambah nilai 1 ke variabel kontrol

• Penurunan : setiap operator -- akan menurunkan nilai 1 pada variabel kontrol

2.3.6.2Struktur For Bersarang

Dinamakan struktur for bersarang karena di dalam for ada for. Contoh :

for (i=1; i<=3; i++) {

for (j=1; j<=5; j++) {

printf("*"); }

printf(" \n"); }

2.3.6.3Struktur While

Struktur ini digunakan bila kita belum mengetahui secara pasti berapakali banyaknya pengulangan yang akan dilakukan. Berakhirnya proses pengulangan ditentukan oleh suatu kondisi. Selama kondisi terpenuhi, maka pengulangan terus dilakukan, dan sebaliknya, bila kondisinya tidak terpenuhi maka pengulangan dihentikan.


(52)

36  

Bentuk while :

while (condition expression) {

statement-statement; }

2.3.7 Subprogram/ Fungsi

Program komputer yang dibuat untuk menyelesaikan permasalahan umumnya berukuran besar. Cara terbaik untuk menangani program besar adalah menyusunnya dari potongan-potongan program yang berukuran kecil-kecil (disebut modul) yang merupakan konsep dari pemrograman terstruktur yaitu pemrograman yang menitikberatkan pada pemecahan masalah yang kompleks menjadi masalah yang sederhana.

Program yang terdiri dari modul/ subprogram/ prosedur/ routine lebih mudah ditangani dibanding dengan program yang terdiri dari banyak sekali baris. Modul program dalam C disebut fungsi (function). Fungsi adalah blok dari kode yang dirancang untuk melakukan tugas khusus.

Tujuan pembuatan fungsi :

¾ program menjadi terstruktur

¾ menghemat kode program karena dapat mengurangi duplikasi kode

¾ fungsi dapat dipanggil dari program atau fungsi yang lain

¾ mempersingkat/memperpendek panjang program


(53)

2.3.7.1Pendeklarasian dan Pendefinisian Fungsi

Fungsi harus dideklarasikan di dalam program pemanggil/ program utama, dengan tujuan supaya program pemanggil mengenal nama fungsi tersebut serta cara mengaksesnya. Biasanya deklarasi fungsi diakhiri dengan tanda “ ; ” sedangkan pendefinisian fungsi tidak diakhiri tanda “ ; “.

Aturan pemberian nama fungsi sama dengan aturan penulisan variabel. Blok fungsi diawali dengan “{“ dan diakhiri dengan “}” .

Bentuk :

tipe_data nama_fungsi (daftar parameter)

Keterangan :

daftar parameter : berisi variabel dan tipe variabel yang berfungsi sebagai masukan untuk fungsi tersebut. Masukan tersebut akan diproses untuk menghasilkan nilai tertentu sesuai dengan tipe data fungsi.

contoh : int tukar (int x, int y)

2.3.7.2Fungsi yang Mengembalikan Nilai

Pada dasarnya semua fungsi mengembalikan nilai, tetapi untuk fungsi yang tidak mengembalikan nilai disebut fungsi bertipe void. Untuk mengembalikan nilai sebuah fungsi, digunakan kata return yang diikuti dengan nilai yang akan dikembalikan. Dalam sebuah fungsi return bisa mengembalikan beberapa nilai, tetapi setiap kata return hanya bisa mengembalikan sebuah nilai saja.


(54)

38  

2.4 Komunikasi Serial RS232

Komunikasi data serial sangat berbeda dengan format pemindahan data paralel. Pengiriman bit-bit pada serial tidak dilakukan sekaligus melalui saluran paralel, tetapi setiap bit dikirimkan satu persatu melalui saluran tunggal. Dalam pengiriman data secara serial harus ada sinkronisasi atau penyesuaian antara pengirim dengan penerima agar data yang dikirimkan dapat diterima dengan tepat dan benar oleh penerima.

Salah satu mode transmisi dalam komunikasi serial adalah mode asynchronous. Transmisi serial mode ini digunakan apabila pengiriman data dilakukan satu karakter tiap pengiriman. Antara satu karakter dengan karakter lainnya tidak ada waktu antara yang tetap. Karakter dapat dikirimkan sekaligus ataupun beberapa karakter kemudian berhenti untuk waktu yang tidak tentu, kemudian dikirimkan kembali sisanya. Dengan demikian, bit-bit data ini dikirimkan dengan periode yang acak sehingga pada sisi penerima, data akan diterima kapan saja. Sinkronisasi yang terjadi pada mode transmisi ini adalah dengan memberikan bit-bit penanda awal dan penanda akhir dari data pada sisi pengirim maupun penerima.


(55)

Gambar 2 RS232 ke konektor digunakan memiliki berfungsi pin 5 seba

2.6 di atas e TTL dan DB9. RS2 n untuk kom

fungsi mas sebagai rec agai ground merupakan n sebaliknya 32 model munikasi s sing-masing ceived data signal, sep

n sebuah IC a. RS232 s ini merupa erial. RS23 g. Pin yang (RxD), pin erti terlihat

C yang dig standar yan akan salah 32 ini mem g biasa dig n 3 sebagai pada Gamb

gunakakn se ng biasa di satu konek mpunyai sem gunakan ada

transmited bar 2.7 berik

ebagai konv igunakan a

ktor yang mbilan pin alah pin 2 data (TxD) kut. verter adalah biasa yang yang ), dan G

Gambar 2.7 KKonfigurasii DB9 sebaggai Komuniikasi Serial (RS232) Karakterisstik elektrikk dari RS2322 adalah sebbagai berikuut :

a. spacee (logic 0) mmempunyai level teganggan sebesarr +3V sampaai +25V. b. mark (logic 1) mmempunyai llevel teganggan sebesar -3V sampaii -25V. c. level ttegangan anntara -3V saampai +3V tidak terdeffinisikan.

d. arus diperl

yang mela lukan agar s

alui rangkai sistem yang

ian tidak b g dibangun b

boleh mele bekerja deng

ebihi dari gan akurat.

500mA, haal ini

Adapun fu 2.5 beriku

fungsi dari m ut ini.


(56)

40  

Tabel 2.5 Fungsi Masing-Masing Pin dari DB9

Pin Nama Fungsi

1 CD Received Line Signal Detector (Data Carier Detect) 2 RxD Received Data

3 TxD Transmited Data 4 DTR Data Terminal Ready 5 GND Signal Ground 6 DSR Data Set Ready 7 RTS Request To Send 8 CTS Clear To Send 9 Ring Indicator

2.5 Multi Media Card (MMC) 2.5.1 Deskripsi Umum

Multi Media Card atau lebih dikenal dengan MMC merupakan sebuah media penyimpanan universal yang umum digunakan untuk berbagai media seperti telepon genggam, PDA, kamera digital, MP3 player dan berbagai peralatan elektronik lainnya. MMC dibuat berbasis removeble flash memory yang media penyimpanannya memiliki bentuk fisik kecil, berdaya rendah, non-volatile, tidak butuh tenaga untuk menjaga data yang telah tersimpan. Sehingga media berbasis flash banyak digunakan sebagai media penyimpanan portable yang menggunakan baterai. Konfigurasi pin dari MMC dapat terlihat seperti Gambar 2.8 berikut.


(57)

Sistem komunikasi pada MMC didasarkan pada tujuh pin serial bus yang dirancang bekerja pada tegangan rendah. Mode komunikasi ini adalah standar komunikasi yang lebih dikenal dengan nama Multi Media Card Mode. Untuk menambah kompabilitas antara MMC dengan pengontrol yang ada, maka MMC menawarkan mode komunikasi alternatif yang dibuat berdasarkan standar Serial Peripheral Interface (SPI). Fungsi masing-masing pin pada MMC dapat dilihat seperti pada Tabel 2.6 berikut.

Tabel 2.6 Fungsi Masing-Masing Pin pada MMC

Pin Nama Fungsi SD Mode Fungsi SPI Mode

1 DAT3/ CS Data Line 3 Chip Select/ Slave Select (SS) 2 CMD/ DI Command Line Master Out Slave In (MOSI)

3 VSS1 Ground Ground

4 VDD Supply Voltage Supply Voltage

5 CLK/ SCK Clock Clock (SCK)

6 VSS2 Ground Ground

7 DAT0/ DO Data Line 0 Master In Slave Out (MISO) 8 DAT1/ IRQ Data Line 1

9 DAT2/ NC Data Line 2

2.5.2 Komunikasi Data SPI

Serial Peripheral Interface (SPI) merupakan salah satu metode pengiriman data dari suatu perangkat ke perangkat lainnya. Metode ini merupakan metode yang bekerja pada metode full duplex dan merupakan standar sinkronasi serial data link yang dikembangkan oleh Motorola. Pada SPI, perangkat dibagi menjadi dua bagian yaitu master dan slave, dengan master sebagai perangkat yang menginisiasi pengiriman data. Sebuah master dalam aplikasinya dapat digunakan untuk mengatur pengiriman data dari atau ke beberapa slave sekaligus.


(58)

42  

Komunikasi serial data antara master dan slave pada SPI diatur melalui 4 buah pin yang terdiri dari SCLK, MOSI, MISO, dan SS. Berikut ini adalah penjelasan singkat mengenai ke 4 pin tersebut :

¾ serial clock (SCLK) merupakan data biner yang keluar dari master ke slave yang berfungsi sebagai clock dengan frekuensi tertentu. Clock merupakan salah satu komponen prosedur komunikasi data SPI. Dalam beberapa perangkat, istilah yang digunakan untuk pin ini adalah SCK

¾ master out slave input (MOSI) merupakan pin yang berfungsi sebagai jalur data pada saat data keluar dari master dan masuk ke dalam slave. Istilah lain untuk pin ini antara lain SIMO, SDI, DI, dan SI

¾ master input slave output (MISO) merupakan pin yang berfungsi sebagai jalur data yang keluar dari slave dan mesuk ke dalam master. Istilah lain untuk pin ini adalah SOMI, SDO, DO, dan SO

¾ slave select (SS) merupakan pin yang berfungsi untuk mengaktifkan slave sehingga pengiriman data hanya dapat dilakukan jika slave dalam keadaan aktif (active low). Istilah lain untuk SS antara lain CS (chip select), nCS, nSS, dan STE (slave transmit enable).

Pin SCLK, MOSI, dan SS merupakan pin dengan arah pengiriman data dari master ke slave. Sebaliknya, MISO mempunyai arah komunikasi data dari slave ke master. Pengaturan hubungan antara pin MISO dan MOSI harus sesuai dengan ketentuan. Pin MISO pada master harus dihubungkan dengan pin MOSI pada slave, begitu juga sebaliknya. Hal ini penting untuk diperhatikan untuk menghindari terjadinya kesalahan prosedur pada pengiriman data. Istilah pin-pin


(59)

SPI untuk berbagai perangkat mungkin saja mempunyai istilah yang berbeda dengan istilah di atas tergantung produsen yang membuatnya.

Gambar 2.9 Prosedur Operasi SPI

Komunikasi data SPI dimulai pada saat master mengirimkan clock melalui SCK dengan frekuensi lebih kecil atau sama dengan frekuensi maksimum pada slave. Kemudian, master memberi logika nol pada SS untuk mengaktifkan slave sehingga pengiriman data (berupa siklus clock) siap untuk dilakukan. Pada saat siklus clock terjadi, transmisi data full duplex terjadi dengan dua keadaan sebagai berikut :

¾ master mengirim sebuah bit pada jalur MOSI, slave membacanya pada jalur yang sama

¾ slave mengirim sebuah bit pada jalur MISO, master membacanya pada jalur yang sama.

Transmisi dapat menghasilkan beberapa siklus clock. Jika tidak ada data yang dikirim lagi maka master menghentikan clock tersebut dan kemudian menon-aktifkan slave.


(60)

44  

Gambar 2.10 Format Penerimaan Karakter (CPHA = 0)

Gambar 2.11 Format Pengiriman Karakter (CPHA = 1)

Diagram pewaktuan (timing diagram) SPI dimulai pada saat SS diaktifkan (low). Pada saat tersebut siklus clock dimulai, pada contoh diatas dalam satu siklus terdapat 8 bit pengiriman data. Saat SS aktif, MISO/MOSI mulai mengirimkan data mulai dari Most Significant Bit (MSB) data tersebut. Pada saat clock berubah maka proses pengiriman data dilanjutkan pada bit yang lebih rendah. Proses tersebut berlangsung sampai pengiriman data selesai dengan mengirimkan bit Least Significant Bit (LSB) dan siklus clock berakhir serta SS kembali dinon-aktifkan (high). Pada saat ini biasanya slave mengirimkan interrupt ke master yang mengindikasikan bahwa pengiriman data telah selesai dan siap untuk melakukan pengiriman data selanjutnya. Dalam diagram pewaktuan, clock mempunyai beberapa mode pengaturan pada polaritas (CPOL) dan fasa (CPHA).


(61)

Pengaturan kedua mode tersebut jelas terlihat pada ilustrasi di atas (Gambar 2.10 dan Gambar 2.11).


(62)

BAB III

PERANCANGAN STAND ALONE RFID READER

3.1 Perancangan Sistem

Dalam penelitian ini, perancangan sistem meliputi :

a. perancangan perangkat keras (hardware) dengan membuat reader RFID

yang stand alone dengan menggunakan ID-12 sebagai IC pembaca,

mikrokontroler AT89S8252 sebagai pengontrol dan MMC sebagai memori penyimpan database.

b. perancangan perangkat lunak (software) dengan membuat program yang

akan digunakan sebagai pengontrol dengan menggunakan mikrokontroler AT89S8252.

Secara keseluruhan, blok diagram sistem stand alone RFID reader ini dapat dilihat seperti Gambar 3.1 di bawah ini :

Gambar 3.1 Blok Diagram Stand alone RFID Reader


(63)

Reader RFID menggunakan IC ID-12 yang secara otomatis akan memancarkan gelombang elektromagnetik dan kemudian sebuah tag dengan frekuensi yang sama akan aktif sehingga memancarkan gelombang elektromagnetik juga. Dalam hubungan seperti itu terjadi pengiriman data dari tag ke reader. Data tersebut berupa identitas dari tag. Kemudian data akan dilanjutkan ke mikrokontroler yang kemudian akan diproses di dalam mikrokontroler tersebut. Di samping itu, antara mikrokontroler dengan MMC juga terjadi pengiriman data secara serial dan terus menerus. Data dari MMC juga akan diproses dan dibandingkan dengan data yang diterima dari reader. Apabila data tersebut sama atau cocok maka akan mengaktifkan kunci solenoid yang artinya bahwa pintu dapat dibuka.

3.2 Perancangan Perangkat Keras (Hardware)

Dalam penelitian ini terdapat beberapa perangkat keras yang akan digunakan sebagai sistem stand alone RFID reader antara lain reader RFID, mikrokontroler AT89S8252, catu daya, RS232 Converter, relay.

3.2.1 Reader RFID

Pembuatan reader RFID memanfaatkan IC ID-12. Rangkaian RFID dapat dilihat

seperti Gambar 3.2 di bawah ini. Keluaran pada rangkaian tersebut akan dihubungkan dengan sistem mikrokontroler AT89S8252 dengan memanfaatkan pin 8 (D1) sebagai keluaran dari rangkaian RFID. Pin ini akan digunakan sebagai jalur pengiriman data yang terbaca dari tag. Cara komunikasi rangkaian RFID


(64)

48  

dengan mikrokontroler adalah secara serial, artinya pengiriman bit demi bit data dilakukan secara bergantian mengikuti siklus clock tertentu.

Gambar 3.2 Rangkaian Sederhana RFID Reader dengan ID-12

Sesuai rekomendasi dari datasheet ID Innovations ID12, harga

komponen-komponen pada rangkaian RFID tersebut adalah :

¾ R1 = 1K Ω

¾ R2 = 1K Ω

¾ Q1 = BC337 (NPN)

¾ ID-12 = ID Innovations ID12

3.2.2 Mikrokontroler AT89S8252

Dalam penelitian ini, yang digunakan sebagai pengontrol adalah mikrokontroler AT89S8252 yang merupakan mikrokontroler terbaru dan relatif lebih murah. Selain itu memiliki beberapa kelebihan dibandingkan dengan mikrokontroler seri


(65)

sebelumnya. Gambar 3.3 merupakan gambar rangkaian sistem minimum AT89S8252 dengan frekuensi kristal yang digunakan sebesar 11,0592 MHz dan dua buah kapasitor masing-masing sebesar 30pF. Fungsi kapasitor di sini adalah untuk menstabilkan osilasi yang dihasilkan oleh kristal. Penempatan antara kapasitor dengan kristal diusahakan sedekat mungkin untuk menghindari terjadinya noise. Rangkaian yang tersusun atas kristal dan dua kapasitor tersebut disebut rangkaian osilator yang merupakan subsistem dari mikrokontroler yang berfungsi untuk membangkitkan clock pada mikrokontroler. Clock tersebut diperlukan oleh mikrokoktroler untuk mensinkronkan proses yang sedang berlangsung dalam mikrokontroler tersebut.


(66)

50  

Selain osilator, dalam sistem minimum tersebut juga terdapat rangkaian reset. Rangkaian ini dibuat untuk me-reset sistem sehingga proses dapat dijalankan mulai dari awal lagi. Kemudian agar dapat berfungsi maka pin 40 (Vcc) dihubungkan pada supply sebesar 5 Volt. Sedangkan untuk ground dihubungkan pada pin 20 (GND). Selanjutnya hubungan antara mikrokontroler AT89S8252 dengan rangkaian lain dapat dilihat pada Tabel 3.1 di bawah ini.

Tabel 3.1 Fungsi Pin Mikrokontroler dengan Rangkaian Lain

Pin Nama Keterangan

5 P1.4/SS Slave Select terhubung dengan pin Chip Select (CS) pada

MMC

6 P1.5/MOSI Master Out Slave In (pengiriman data dari mikrokontroler

ke MMC)

7 P1.6/MISO Master In Slave Out (menerima data dari MMC ke

mikrokontroler)

8 P1.7/SCK Clock

10 P3.0/RxD Menerima data yang dikirim oleh rangkaian RFID

3.2.3 Rangkaian Komunikasi SPI pada MMC

MMC digunakan sebagai media penyimpanan database. MMC ini dihubungkan dengan mikrokontroler AT89S8252 secara Serial Peripheral Interface (SPI). MMC akan mengirimkan data yang ada ke dalam mikrokontroler yang kemudian akan diproses oleh mikrokontroler tersebut. Supply tegangan yang dibutuhkan adalah 3,3 volt DC. Gambar 3.4 di bawah ini merupakan gambar rangkaian MMC dengan mikrokontroler AT89S8252.


(67)

Gambar 3.4 Rangkaian MMC/ SD Card

3.2.4 Catu Daya

Agar semua rangkaian dapat bekerja, maka diperlukan sebuah rangkaian sebagai sumber tegangan. Rangkaian ini digunakan untuk rangkaian DC (Direct Current) atau rangkaian searah. LM7805 merupakan sebuah IC regulator yang digunakan untuk rangkaian yang membutuhkan tegangan sebesar 5 Volt seperti mikrokontroler dan RFID. Sedangkan LM7812 digunakan untuk rangkaian yang membutuhkan tegangan sebesar 12 Volt. Selain itu digunakan pula 1722-33 yang merupakan IC regulator 3.3 volt dan dimanfaatkan sebagai sumber tegangan pada MMC. Untuk lebih jelasnya rangkaian catu daya dapat dilihat seperti Gambar 3.5 di bawah ini.


(68)

52  

Gambar 3.5 Rangkaian Catu Daya

Rangkaian dioda digunakan untuk menyearahkan gelombang AC ke DC. Gelombang tersebut disaring melalui kapasitor sebesar 1000µF yang akan

membuat reeple gelombang makin kecil. Hal tersebut dilakukan agar

mendapatkan tegangan supply yang stabil.

3.2.5 RS232 Converter

Komunikasi data pada keluaran RFID dilakukan secara serial. Keluaran ini akan masuk ke dalam rangkaian mikrokontroler. Untuk dapat terhubung perlu ada suatu converter yang dapat menyesuaikan level tegangan TTL antara RFID dengan mikrokontroler, yaitu dengan menggunakan rangkaian RS232. Rangkaian ini memanfaatkan sebuah IC MAX232 dengan konfigurasi seperti Gambar 3.6 di bawah ini.


(69)

Gambar 3.6 Rangkaian RS232 Converter

Komunikasi MAX232 dengan mikrokontroler yaitu dengan menghubungkan kaki RxD mikrokontroler (pin 10) dengan R1out MAX232 (pin 12), dan TxD mikrokontroler (pin 11) dihubungkan dengan T1in MAX232 (pin 11). Hubungan antara pin MAX232 dengan rangkaian lain dapat dilihat pada Tabel 3.2 berikut.

Tabel 3.2 Hubungan Pin MAX232 dengan Rangkaian Lain

Pin Nama Keterangan

11 T1in Dihubungkan dengan kaki TxD mikrokontroler (pin 11)

12 R1out Dihubungkan dengan kaki RxD mikrokontroler (pin 10)

13 R1in Dihubungkan dengan D1 RFID (pin 8)

7,8 Ground

15 GND Ground

16 VCC Vcc 5 Volt

3.2.6 Relay

Relay merupakan alat yang secara mekanis mengontrol penghubungan rangkaian listrik. Bekerja berdasarkan pembentukan elektromagnet yang menggerakkan


(70)

54  

elektromekanis penghubung dar dua atau lebih titik penghubung (konektor) rangkaian sehingga dapat menghasilkan kondisi kontak ON atau OFF atau kondisi keduanya. Sebuah relay biassanya terdiri dari suatu solenoid, sehingga untuk mengontrol suatu relay diperlukan suatu rangkaian buffer. Salah satu alternatif rangkaian buffer dapat menggunakan rangkaian seperti Gambar 3.7 berikut.

Gambar 3.7 Rangkaian Buffer Sebagai Pengontrol Relay

Rangkaian di atas akan bekerja setelah ada masukan dari mikrokontroler yang kemudian akan mengaktifkan relay sehingga saklar pada relay terhubung dengan tegangan 12 Volt. Setelah saklar tersebut terhubung maka kunci solenoid akan bekerja sehingga pintu dapat dibuka.

3.3 Perancangan Perangkat Lunak (Software)

Komunikasi mikrokontroler dengan rangkaian lain dilakukan secara hardware

maupun software. Untuk dapat beroperasi maka mikrokontroler harus diprogram


(71)

lunak dalam sistem ini digunakan sebagai protokol antara mikrokontroler dengan MMC. Selain itu, perangkat lunak juga digunakan untuk mengolah data dan mengendalikan keluaran untuk rangkaian lainnya.

3.3.1 Program Utama

Program utama menunjukkan proses dari mikrokontroler secara global. Proses mikrokontroler secara global tersebut ditunjukkan pada Gambar 3.8 di bawah.

Ketika program dijalankan, maka mikrokontroler akan menginisialisai port serial yang akan digunakan untuk menerima data yang terkirim oleh RFID reader. Kemudian apabila port tersebut mendapat masukan dari reader, maka program akan mengambil data yang masuk dan menyimpannya pada SBUF (Serial Buffer). Setelah itu progam akan mengambil data yang tersimpan pada MMC secara berulang dan kemudian mencocokkan data tersebut dengan data masukan serial tadi. Apabila data serial dengan data MMC tidak cocok, maka program akan mengulang langkah tersebut hingga data serial cocok dengan data yang tersimpan pada MMC. Selanjutnya jika data serial sama dengan data yang ada pada MMC, maka rangkaian relay akan aktif sehingga kunci solenoid akan terbuka untuk beberapa saat.


(72)

56  


(73)

3.3.2 Program Delay

Program delay/ waktu tunda digunakan untuk menunda perintah selanjutnya.

Dengan kata lain, memperpanjang waktu dalam mengeksekusi perintah sebelumnya sebelum perintah eksekusi selanjutnya dikerjakan. Prinsip dasarnya adalah pengulangan (looping) selama yang diinginkan. Berikut ini merupakan contah program untuk waktu tunda.

void delay(int m){ int i,j;

for (i=1;i<m;i++){

for (j=1;j<1000;j++){;} //untuk konversi ms }

}

Variabel m merupakan berapa lama waktu yang akan diperlukan. Kemudian dalam program utama, fungsi tersebut dipanggil dengan format sebagai berikut.

void main(){

delay(10); //watu tunda selama 10 ms }

3.3.3 Program Penerimaan Data Serial

Program penerimaan data digunakan untuk menerima data serial yang melalui port RxD dan TxD pada mikrokontroler. Program ini ditujukan untuk menerima

data yang dikirimkan oleh RFID reader untuk dapat diproses sebagaimana


(74)

58  

penginisialisasian port serial supaya port serial tersebutlah yang digunakan. Berikut ini merupakan program untuk inisialisasi serial.

void InisialisasiSerial() {

SCON = 0x50; //serial control TMOD = 0x20; //timer mode TH1 = 0xFD;

TR1 = 1;

TI = 1; //eksternal timer RI = 0; //pointer

}

Setelah diinisialisasi, maka kominikasi secara serial dapat dilakukan. Berikut adalah fungsi untuk menerima data serial.

char TerimaData() { unsigned char x;

while(RI !=1){;} //!= (tidak sama dengan) RI = 0;

if(isalnum(SBUF))//menghilangkan karakter x = SBUF;

return x; //mengembalikan nilai x

}

Kemudian kedua fungsi tersebut dipanggil dalam program utama.

void main(){

unsigned char data_reader[1];

InisialisasiSerial();


(75)

data_reader[0]=TerimaData(); delay(1);

} }

3.3.4 Program SPI

Program ini digunakan untuk mengambil data yang tersimpan pada memori. Sebelum menginisialisasi port SPI terlebih dahulu program melakukan reset seluruh port. Kemudian dilakukan inisialisasi port SPI yang akan digunakan yaitu SS, MOSI, MISO dan SCK. Selanjutnya program akan masuk ke dalam program utama sampai ada instruksi untuk mengaktifkan SPI. Setelah port SPI diaktifkan, maka dilakukan pembacaan data SPI. Pembacaan akan terus dilakukan sampai batas tertentu sesuai dengan yang diinginkan. Apabila banyaknya pembacaan telah mencapai batas yang ditentukan biasanya delapan kali pembacaan atau 8-bit data, maka program SPI dimatikan dan selanjutnya akan kembali ke program utama. Program SPI akan aktif kembali sampai program tersebut diaktifkan. Program SPI ini mempunyai urutan seperti terlihat pada Gambar 3.9 dibawah ini.


(76)

60  


(77)

Agar sistem memperoleh hasil yang diinginkan, maka dalam penelitian ini dilakukan beberapa pengujian pada perangkat keras (hardware). Berikut merupakan hasil dari pengujian sistem.

4.1 Pengujian Rangkaian Catu Daya

Dalam rangkaian catu daya digunakan tiga buah IC regulator, yaitu 7812, 7805 dan 1722-33. Pengujian dilakukan dengan memberikan tegangan DC yang dihubungkan pada kaki masukan masing-masing IC tersebut. Kemudian keluaran dari IC regulator diukur dengan menggunakan voltmeter. Hasil pengukuran keluaran IC regulator dapat dilihat pada Tabel 4.1 berikut ini.

Tabel 4.1 Hasil Pengukuran Rangkaian Catu Daya IC

Regulator

Pengukuran Perhitungan

I II III Rata-Rata Simpangan

7812 12 V 11.9 V 12 V 11.97 V 0.058

7805 5 V 4.9 V 5.01 V 4.97 V 0.061

1722-33 3.3 V 3.2 V 3.32 V 3.27 V 0.064

Pengukuran tersebut dilakukan dalam tiga waktu yang berbeda. Pengukuran I dilakukan pukul 9.00, pengukuran II pada pukul 11.30 dan pengukuran III pada pukul 13.30. Dari hasil pengukuran tersebut tidak terdapat perbedaan yang terlalu jauh, maka beberapa tegangan yang dibutuhkan terpenuhi. Sehingga sistem dapat digunakan sesuai kebutuhan.


(1)

70  

Pengambilan data akan dilakukan setelah ada perintah untuk mengaktifkan EEPROM. Selanjutnya SDA akan mengirimkan perintah mode tulis tujuannya adalah untuk menentukan alamat data MSB dan LSB. Setelah itu EEPROM akan diaktifkan ulang dan SDA mengirimkan mode baca yaitu A1h. kemudian data akan dikirimkan melalui SDA untuk diambil dan diolah dalam mikrokontroler sebanyak data yang diinginkan.

Pengisian data pada EEPROM dilakukan dengan memprogram mikrikontroler sebagai pengisi data. Data yang akan diisikan ditulis langsung kedalam program tersebut. Selanjutnya untuk dapat mengetahui hasilnya dapat memanfaatkan hyperterminal pada PC seperti pada pengujian reader RFID. Data dari EEPROM diambil kedalam mikrokontroler kemudian dikeluarkan melalui port serial yang selanjutnya dihubungkan ke PC melalui hyperterminal.

4.6 Pengujian Sistem Secara Keseluruhan

Pengujian dilakukan secara keseluruhan pada sistem. Setelah data dalam memori siap maka program dapat dijalankan dan akan megeksekusi perintah-perintah di dalamnya. Setelah semua terinisialisasi, maka sebuah tag RFID dilewatkan pada IC reader ID-12 dan mengaktifkan LED indikator. Selanjutnya data masuk melalui serial port Rx pada mikrokontroler. Setelah itu data diproses, apabila sesuai maka kunci solenoid akan membuka selama beberapa saat kemudian akan mengunci kembali. Gambar 4.6 berikut ini merupakan gambar sistem secara keseluruhan.


(2)

Gambar 4.6 Rangkaian Sistem Secara Keseluruhan

Pengujian juga dilakukan terhadap respon dari kunci terhadap hasil pembacaan reader. Data yang terdapat pada memori eksternal sebanyak 200 data tag. Dan pengujian dilakukan dengan menggunakan sebuah tag yang akan dicocokkan dengan data dalam memori ekssternal tersebut. Tag yang akan diuji memiliki nomor identitas 0500C9C0EBE7. Nomor identitas tersebut diletekkan pada tiga posisi yang berbeda di dalam memori eksternal. Pencocokan data dilakukan secara berurutan mulai dari data pada posisi pertama hingga terakhir. Hasil pengujian tersebut dapat dilihat pada Tabel 4.6.

Tabel 4.6 Pengujian Respon Pembacan Reader Terhadap Pembukaan Kunci Posisi Nomor

Id

Pembacaan Ke- Rata-Rata (detik)

Simpangan (detik) 1 2 3 4

Awal 0.14 0.15 0.16 0.15 0.15 0.008

Tengah 13.14 13.14 13.16 13.14 13.15 0.012


(3)

72  

Ket : ¾ posisi data awal = data ke-1

¾ posisi data tengah = data ke-100

¾ posisi data akhir = data ke-200

¾ pembacaan dalam detik

Dari tabel di atas dapat diketahui bahwa posisi data dalam memori eksternal mempengaruhi waktu respon kunci solenoid untuk dapat membuka. Semakin banyak data yang terdapat dalam memori, maka semakin lama pula waktu repon yang dibutuhkan kunci solenoid untuk membuka. Hubungan penempatan data terhadap waktu respon dapat dilihat seperti Gambar 4.7 berikut.

13.15

26.97

0.15 0 5 10 15 20 25 30

Awal Tengah Akhir

Posisi Data

Wak

tu R

es

pon


(4)

5.1 Kesimpulan

Dari hasil pengujian yang dilakukan terhadap sistem, maka diperoleh beberapa kesimpulan sebagai berikut.

1. Reader ID-12 memiliki jarak baca yang pendek yaitu sebesar 6 cm dari sisi depan dan 6 cm dari sisi belakang dalam kondisi tanpa penghalang. Hal ini mungkin dikarenakan oleh besar daya pancar dari antena internal reader ID-12 yang kecil.

2. Waktu respon dari kunci solenoid setelah reader RFID melakukan pembacaan terhadap tag bergantung pada posisi data yang tersimpan pada memori eksternal. Semakin banyak data, maka semakin lama waktu respon yang dibutuhkan.

5.2 Saran

Setelah melakukan beberapa percobaan dalam pembuatan sistem ini, maka penulis memberikan beberapa saran dalam penelitian ini sebagai bahan untuk dapat mengembangkan penggunaan RFID antara lain.

1. Penggunaan RFID dapat terus dikembangkan untuk beberapa aplikasi lainnya bukan hanya sekedar sistem keamanan dan identifikasi benda, tetapi mungkin dapat lebih seperti pelacakan dan aplikasi lainnya.


(5)

74  

2. Penggunaan RFID sebagai sistem stand alone dapat lebih dikembangkan sesuai kebutuhan.

3. Untuk sistem yang lebih luas dan besar mungkin dapat dikembangkan dengan sistem jaringan network.


(6)

Nama NIM

Tempat/ Tgl Lahir Alamat

: : : :

Rahman Sanandra 13105015

Pekalongan/ 06 Juli 1987

Jl. Singosari – Nyamok, Kec. Kajen, Kab. Pekalongan Jawa Tengah 51161

Telepon e-mail

: :

085659132097

[email protected]

Riwayat Pendidikan

1993 – 1999 1999 – 2002 2002 – 2005 2005 – 2009

SD Muh.Tanjung Kulon, Kajen - Pekalongan SLTP N 2 Kajen Kab. Pekalongan

SMA N 1 Kajen Kab. Pekalongan Teknik Elektro - UNIKOM

“Berusaha dan Berdo’a adalah kunci dari sebuah Keberhasilan.

Tidak ada Kesuksesan tanpa Kegagalan.”