Tugas Akhir Daftar Hadir Menggunakan Memory Card Berbasis Mikrokontroller
oleh : FIRMANSYAH 0140311-211
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS MERCUBUANA JAKARTA 2007
LEMBAR PENGESAHAN Nama Nim Fakultas Jurusan Peminatan Judul
: : : : : :
Firmansyah 0140311-211 Teknologi Industri Teknik Elektro Teknik Elektronika Daftar Hadir Menggunakan Mikrokontroller.
Memory
Crad
Pembimbing
Koordinator Tugas Akhir Jurusan Teknik Elektro
(Jaja Kustija, MSc)
(Yudhi Gunardi, ST., MT)
Ketua Jurusan Teknik Elektro Fakultas Teknologi Industri
(Ir. Budi Yanto, MSc)
ii
Berbasis
Surat Peryataan Saya yang bertanda tangan dibawah ini : Nama Nim Fakultas Jurusan Peminatan
: : : : :
Firmansyah 0140311-211 Teknologi Industri Teknik Elektro Teknik Elektronika
Dengan ini menyatakan bahwa Modul Daftar Hadir Mengunakan Memory Card Berbasis Mikrokontroller adalah asli buatan saya sendiri. Demikian surat pernyataan ini saya buat tanpa adanya paksaan dari pihak manapun. Jakarta, Januari 2007
Firmansyah
iii
ABSTRAK Teknologi kartu baik itu berupa kartu kredit, ATM, maupun kartu GSM handphone, saat ini bukan lagi monopoli masyarakat di kota-kota besar saja, namun juga telah merambah ke kota-kota kecil bahkan pedesaan. Pertumbuhan kartu ini baik dari sisi jumlah pengguna maupun teknologinya sendiri benar-benar melesat dengan sangat cepat. Salah satu teknologi yang di paling banyak diimplementasikan dalam berbagai jenis kartu adalah Memory Card. Memory Card banyak digunakan dalam aplikasi kartu absensi di kantor-kantor , perguruan tinggi , pabrik dan lain sebagainya. Tugas akhir ini bertujuan untuk merancang suatu alat Daftar Hadir menggunakan Memory Card berbasis Mikrokontroller . Alat ini berkerja berdasarkan dari Memory Card sebagai data masukan pada Mikrokontroller dan kemudian data dari kartu tersebut di kirimkan ke PC menggunakan komunikasi RS232. Data yang berasal dari kartu tadi kemudian di cocokan dengan database yang ada di PC yang sebelumnya sudah kita tentukan sebelumnya. Dengan adanya alat ini maka dapat memudahkan dalam mendata kehadiran seseorang secara sistematis dan lebih cepat dibandingkan dengan cara konvensional, selain itu data yang yang ada yang kita peroleh dan dapat kita access dengan mudah.
iv
Kata Pengantar
Syukur Alhamdulillah kami panjatkan kepada Allah SWT karena hanya dengan rahmat, hidayah dan inayah-Nya kami dapat menyelesaikan proyek akhir ini dengan judul : Daftar Hadir Menggunakan Memory Card Berbasis Mikrokontroller
Dalam menyelesaikan proyek akhir ini, kami berpegang pada teori yang pernah kami dapatkan dan bimbingan dari dosen pembimbing proyek akhir. Dan pihak – pihak lain yang sangat membantu hingga samapi terselesaikannya proyek akhir ini. Proyek akhir ini merupakan salah satu syarat akademis untuk memperoleh gelar Sarjana Starata 1 (S.1) di Jurusan Teknik Elektro Fakultas Teknologi Industri Universitas Mercubuana. Kami menyadari bahwa masih banyak kekurangan pada perancangan dan pembuatan buku proyek akhir ini. Oleh karena itu, besar harapan kami untuk menerima saran dan kritik dari para pembaca. Semoga buku ini dapat memberikan manfaaat bagi para mahasiswa Jurusan Teknik Elektro Fakultas Teknologi Industri Universitas Mercubuana pada umumnya dan dapat memberikan nilai lebih untuk para pembaca pada khususnya.
Jakarta, April 2007
Penyusun
v
Daftar Isi Lebaran Judul ...................................................................................................... Lembaran Pengesahan ........................................................................................ Surat Pernyataan .................................................................................................. Abstrak ................................................................................................................ Kata Pengantar ..................................................................................................... Daftar Isi .............................................................................................................. Daftar Gambar ................................................................................................... Daftar Tabel ......................................................................................................... BAB I
BAB II
BAB III
i ii iii iv v vi viii ix
PENDAHULUAN ...........................................................................
1
1.1. 1.2. 1.3. 1.4.
Latar Belakang Masalah ........................................................... Tujuan ....................................................................................... Pembatasan Masalah ................................................................. Sistematika Penulisan ...............................................................
1 2 2 3
TEORI PENUNJANG .....................................................................
4
2.1. Memory Card............................................................................. 2.2. Mikrokontroller AT89C51 ………………………………......... 2.2.1. Arsitektur Mikrokontroller AT89C51………………….. 2.2.2. Fungsi Pin-Pin Mikrokontroller At89C51..…………….. 2.2.3. Timer / Counter…………..………………………….….. 2.2.4. Pewaktu CPU..……………………………………….…. 2.2.5. Port Serial…. ………………………………………….... 2.2.6. Type Intruksi..……………………………………….….. 2.2.7. Mode Pengalamatan..………………………………….... 2.3. Komunikasi Serial… …….………………………………….… 2.4. LCD ( Liquid Cristal Display ) …………………..…………… 2.4.1. Tegangan Kendali LCD…………….……………….….. 2.4.2. Konfigurasi Pin LCD……………………..……………..
4 5 7 10 13 14 14 16 20 22 24 25 26
PERANCANGAN ALAT DAN CARA KERJA ALAT……….....
28
3.1. Perangkat Keras……………………………………………….. 3.2. Cara Kerja Rangkaian Seacara Keseluruhan………………….. 3.3. Cara Kerja Rangkaian Berdasarkan Blok Diagram….………... 2.3.1. INPUT………………………………………………….. 2.3.2. Mikrokontroller…………………………...…………….. 2.3.3. Konverter RS232.………..……………………………... 2.3.4. LCD ( Liquid Cristal Display )…………………………. 2.2.5. ProgramAplikasi PC………..…………………………...
28 29 31 31 32 34 35 38
vi
BAB IV
UJICOBA DAN PENGOPERASIAN ALAT……………………..
41
BAB V
KESIMPULAN DAN SARAN...........................................................
47
DAFTAR PUSTAKA ........................................................................
48
LAMPIRAN
vii
Daftar Gambar Gambar 1
Arsitektur AT89C51 ..................................................................
8
Gambar 2
Susunan Pin Pada Mikrokontroller AT89C51...........................
9
Gambar 3
Fungsi Pin-Pin Konektpr DB9 Standard RS232........................
20
Gambar 4.
Rangkaian Pengubah Level Tegangan IC MAX232.................
21
Gambar 5
Tegangan Kendali LCD………. ...............................................
22
Gambar 6
Konfigurasi Pin LCD.................................................................
23
Gambar 7
Blok Diagrm Alat…….. ...........................................................
29
Gambar 8
Skema Rangkaian Alat.. ……………………………….…….
30
Gambar 9
Skema Rangkaian Blok Input dan Smartcard ………………..
31
Gambar 10
Skema Rangkaian Blok Mikrokontroller…………………......
32
Gambar 11
Diagram Alir Perangkat Lunak Mikrokontroller AT89C51.....
33
Gambar 12
Skema Rangkaian Blok Konverter RS232…………………....
22
Gambar 13
Skema Rangkaian Blaok LCD…………..……………………
35
Gambar 14
Diagram Alir Perangkat Lunak PC….………………………..
40
Gambar 15
Gambar Alat…………….. .......................................................
41
Gambar 16
Tampilan Menu Utama “DAFTAR HADIR’...........................
42
Gambar 17
Tampilan Menu Utama “DAFTAR HADIR” Pada Saat Ada Jadwal Kuliah ............................................................................
43
Gambar 18
Tampilan LCD pada saat belum ada Jadwal Kuliah...................
43
Gambar 19
Tampilan Menu Utama “DAFTAR HADIR” Pada Saat Ada Jadwal Kuliah Dan Ada Mahasiswa Yang Mengikuti Kuliah.... 44
Gambar 20
Tampilan LCD Pada Saat Kartu Yang Sudah Teregristrasi Dimasukan Ke Slot Input............................................................
Gambar 21
45
Tampilan LCD Pada Saat Kartu Yang Belum Teregristrasi Dimasukan Ke Slot Input............................................................
viii
45
Daftar Tabel Tabel 1
Fungsi – Fungsi Lain Dari Port 3 ………………………………. 11
ix
BAB 1 PENDAHULUAN
1.1 Latar Belakang Masalah Seiring dengan teknologi yang semakin canggih, saat ini dilingkungan instansi swasta, pemerintahan, kantor, ataupun perguruan tinggi menggunakan Memory Card yang dilengkapi dengan kombinasi angka-angka sebagai identitas bagi seseorang untuk menginformasikan kehadirannya. Karena Memory Card tersebut sudah dilengkapi dengan kombinasi angka-angka dan ini juga bisa digunakan sebagai daftar hadir, access ke dalam suatu ruangan tertentu ( security system ) dan sebagai tanda pengenal. Hal ini sangat menguntungkan dilihat dari segi fleksibelitas, keamanan dan kemudahannya yaitu dapat digunakan kapan saja dengan catatan kartu / card yang digunakan tidak mengalami kerusakan. Untuk itu penulis
mencoba untuk menggunakan media Memory Card
sebagai input atau masukan dari alat yang akan dibuat. Metode ini menggunakan mikrokontroler AT89C51 sebagai pengolah data masukan dan personal computer dengan aplikasi visual basic sebagai pengolah data akhir dan display. Berdasarkan penjelasan
diatas
maka
penulis
mengambil
MENGGUNAKAN MEMORY CARD
judul
“DAFTAR
HADIR
BERBASIS MIKROKONTROLER
AT89C51 “
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
2
1.2 Tujuan Tujuan dari tugas akhir ini adalah untuk merancang dan membuat alat “Daftar Hadir menggunakan Memory Card Berbasis Mikrokontroler AT89C51“.
1.3 Pembatasan Masalah Ruang lingkup dibatasi pada penulisan ini hanya tentang cara kerja dari “Daftar Hadir menggunakan Memory Card Berbasis Mikrokontroler AT89C51“.
1.4 Sistematika Pembahasan Metode penulisan yang digunakan penulis dalam menyelesaikan tugas akhir ini adalah sebagai berikut : 1.4.1
Metode Kajian Pustaka
Dimana dalam metode ini penulis akan mencari landasan teori sebagai sumber bahan penulisan tugas akhir ini, berdasarkan data-data atau informasi dari buku-buku yang berhubungan dengan pokok pembahasan dari tugas akhir tersebut, baik berupa buku-buku literature, majalah, maupun bahanbahan kuliah dari staf pengajar selama penulis menuntut ilmu di jurusan Teknik Elektro. 1.4.2
Metode Eksperimen
Dimana pada metode ini penelitian dan pembuktian dari alat yang dibuat dengan melakukan serangkaian percobaan terhadap alat tersebut sehingga dapat diketahui secara pasti apakah alat tersebut bekerja sesuai fungsinnya.
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLLER
3
1.5 Sistematika Penulisan Sistematika penulisan yang digunakan dalam penyusunan tugas akhir ini adalah sebagai berikut : BAB 1 : Pendahuluan. Pada bab ini akan membahas mengenai latar belakang, tujuan, pembatasan masalah, sistematika pembahasan dan sistematika penulisan. BAB II :Teori pendukung. Pada bab ini akan membahas mengenai teori dasar mengenai perangkat – perangkat pendukung pembuatan tugas akhir ini secara teoritis. BAB III : Perancangan alat dan Cara Kerja Alat Pada bab ini akan membahas tentang perancangan proyek akhir perancangan perangkat keras seperti Memory Card, Mikrokantroler AT89C51, Power Supply serta perangkat lunak untuk mengontrol kerja system dan menerangkan tentang pengoperasian dari alat yang dibuat. BAB IV : Uji Coba dan Pengoperasian Alat. Pada bab ini akan dibahas penjelasan mengenai pengujian dan pengoperasian dari alat yang dibuat. BAB V : Kesimpulan dan Saran Isi dari bab ini yaitu memberikan kesimpulan dan saran dari tugas akhir ini.
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLLER
BAB II DASAR TEORI
2.1. MEMORY CARD
Memory Card adalah sebuah kartu yang berukuran sama dengan kartu kredit yang di dalamnya terdapat chip silikon yang biasa disebut microkontroller. Chip merupakan integrated circuit yang terdiri dari prosesor dan memori. Chip, seperti layaknya CPU (Central Processing Unit) di komputer, bertugas melaksanakan perintah dan menyediakan power ke Memory Card. Memory Card merupakan pengembangan dari kartu magnetis, namun berbeda dengan kartu magnetis yang hanya dipakai sebagai tempat penyimpanan data, Memory Card mempunyai kemampuan untuk menyimpan dan menulis data secara aman. Apalagi dengan perkembangan algoritma kriptografi, data yang disimpan akan dienkripsi terlebih dahulu, sehingga tidak mudah dibaca oleh pihak yang tidak berwenang/berhak. Hal ini akan mempersulit pemalsuan data pada Memory Card. Selain perbedaan dengan adanya chip, Memory Card memiliki kapasitas memori yang lebih besar dari kartu magnetis. Secara umum ada 3 jenis memori yang digunakan : 1. ROM (Read Only Memory), berfungsi untuk menyimpan program utama dan sifatnya permanen. 2. RAM (Random Access Memory), berfungsi untuk menyimpan data sementara ketika proses sedang berjalan atau hasil penghitungan selama mengeksekusi perintah. Data yang disimpan di dalamnya akan hilang begitu Memory Card dicabut (power hilang).
5
3. EEPROM (Electrically Erasable Programmable Read Only Memory), berfungsi untuk menyimpan program dan data yang sewaktu-waktu bisa diubah. Seperti halnya hard disk pada komputer, jenis memori ini akan tetap menyimpan data meskipun tidak ada power(permanen). EEPROM (Electrically Erasable Programmable Read-Only Memory) adalah sejenis chip memori non-volatile yang digunakan dalam komputer dan peralatan elektronik lain untuk menyimpan sejumlah kecil konfigurasi data pada alat elektronik tersebut. Chip ini biasanya digunakan untuk menyimpan data konfigurasi BIOS dan seting sistem yang berhubungan dengannya. untuk penyimpanan data yang berjumlah besar maka penggunaan usb flashdisk/flash memori lebih ekonomis. Kelebihan utama dari EEPROM dibandingkan EPROM adalah ia dapat dihapus secara elektris menggunakan cahaya ultraviolet sehingga prosesnya lebih cepat. Jika RAM tidak memiliki batasan dalam hal baca-tulis memori, maka EEPROM sebaliknya. Beberapa jenis EEPROM keluaran pertama hanya dapat dihapus dan ditulis ulang (erase-rewrite) sebanyak 100 kali sedangkan model terbaru bisa sampai 100.000 kali.
2.2. Mikrokontroler AT89C51 Mikrokontroler merupakan salah satu bagian terpenting dalam suatu Perancangan Elektronika, dengan teknologi Mikrokontroler kita dapat menemukan kemudahan dalam merancang suatu sistem elektronika terutama pada aplikasi otomatis dan sistem kendali. Pada masanya, kontroler dibangun dari komponen-komponen logika secara keseluruhan, sehingga menjadikannya besar dan berat. Setelah itu barulah dipergunakan mikrokprosesor sehingga keseluruhan kontroler masuk kedalam PCB DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
6
yang cukup kecil. Hingga saat ini masih sering kita lihat kontroler yang dikendalikan oleh mikroprosesor biasa (Zilog Z80, Intel 8088, Motorola 6809, dsb). Proses pengecilan komponen terus berlangsung, semua komponen yang diperlukan guna membangun suatu kontroler dapat dikemas dalam satu keping. Maka lahirlah komputer
keping
tunggal
(one
chip
microcomputer)
atau
disebut
juga
mikrokontroler. Mikrokontroler adalah suatu IC dengan kepadatan yang sangat tinggi, dimana semua bagian yang diperlukan untuk suatu kontroler sudah dikemas dalam satu keping, biasanya terdiri dari: CPU (Central Processing Unit), RAM (Random Access Memory), EEPROM / EPROM / PROM / ROM, I/O, Serial & Parallel, Timer Interupt Controller. Rata-rata mikrokontroler memiliki instruksi manipulasi bit, akses ke I/O secara langsung dan mudah, dan proses interupt yang cepat dan efisien. Dengan kata lain mikrokontroler adalah " Solusi satu Chip" yang secara drastis mengurangi jumlah komponen dan biaya disain (harga relatif rendah). Mikrokontroler tersedia dalam beberapa pilihan, tergantung dari keperluan dan kemampuan yang diinginkan. Kita dapat memilih mikrokontroler 4, 8, 16 atau 32 bit. Disamping itu terdapat pula mikrokontroler dengan kemampuan komunikasi serial, penanganan keyboard, pemroses sinyal, pemroses video dll. Mikrokontroler
adalah
suatu
rangkain
LSI
yang
didesain
untuk
melaksanakan fungsi suatu unit pemrograman sentral suatu komputer digit atau suatu sistem logika universal yang dapat diprogram dan dimanukfaktur pada sebuah chip silikon.
Mikrokontroler ini dirancang untuk menyederhanakan fungsi dari
komponen-komponen elektronika yang cukup banyak seperti pengoperasian OR, AND, ADD, NOT, Comparator , Shift Register dan fungsi-fungsi lain dari beberapa IC Logika. DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
7
Dengan Mikrokontroler ini akan memudahkan desainer untuk merancang suatu fungsi tertentu, dan mikrokontoler ini merupakan suatu chip yang menggabungkan beberapa jenis device, yaitu mikroprossesor (sebagai otak dari chip ini), internal Random Access Memory, internal Erasable Programmable Read Only Memory (EEPROM) sebagai program memory dan I/O port. Sehingga tidak memerlukan I/O external untuk pengambilan/pengeluaran data dan tidak memerlukan memory external untuk penyimpanan data, karena semua media tersebut telah ada dan disediakan didalam chip mikrokontroler tersebut. Hanya bila diperlukan fasilitas tersebut dapat ditambahkan dari luar chip.
Mikrokontroler
sendiri memiliki banyak jenis, dan untuk pembuatan dan perancangan alat ini akan digunakan jenis Mikrokontroler keluarga MCS-51 yaitu Mikrokontroler AT89C51.
2.2.1. Arsitektur Mikrokontroler AT89C51 Mikrokontroler AT89C51 adalah sebuah mikrokontroler 8 bit dengan low power supply dan performasi tinggi yangterdiri dari CMOS dengan Programmable and Erasable Read Only Memory (PEROM) sebesar 4 Kbyte didalamnya. Alat tersebut dibuat dengan menggunakan teknologi non-volatile berdensitas tinggi dari ATMEL yang kompatible dengan keluarga MCS-51, sehingga perintah-perintah dan fungsi-fungsi pin-nya sama dengan mikrokrokontroler keluarga MCS-51 yang merupakan standard industri. Dengan menggunakan flash memory dapat mengisi program dan menghapusnya secara electrikal, yaitu dengan memberikan kondisikondisi tertentu
(high/low) pada pin-pinnya sesuai dengan konfigurasi untuk
mengisi atau mengapus program. Cara ini lebih praktis dibandingkan dengan menggunakan EPROM karena program atau data yang ada di ROM dapat dihapus dengan menggunakan sinar ultraviolet. DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
8
Mikrokontroler ini memiliki konfigurasi sebagai berikut :
8 bit CPU yang dikhusukan untuk aplikasi kontrol
64 Kbyte pengalamatan program memory
64 Kbyte pengalamatan data memory
4 Kbyte internal program memory
128 byte internal data RAM
4 x 8 bit jalur data yang dapat diprogram secara bidirectional
2 buah 16 bit Timer/Counter
Full Dupplex UART
Internal Clock Osscilator
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
9
Gambar 1. Arsitektur AT89C51
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
10
2.2.2. Fungsi pin-pin Mikrokontroler AT89C51 Susunan pin-pin pada Mikrokontroler AT89C51 dapat diperlihatkan pada Gambar 2.3 seperti di bawah ini :
Gambar 2. Susunan Pin Pada Mikrokontroler AT89C51
Penjelasan dari masing-masing pin adalah sebagai berikut :
a. Port 0 Port 0 berfungsi ganda (dual purpose port), pertama sebagai port I/0 dalam kondisi tinggi, berlokasi pada pin 32 – 39. Pada kondisi rendah digunakan sebagai memori eksternal, sehingga dapat menjadi multiplexer bus alamat dan bus data. Port ini terdiri atas 8 pin dengan code P0.1 – P0.7.
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
11
b. Port 1 Port 1 didesain khusus (dedicated) sebagai interface port I / O (pada kondisi tinggi) dengan peralatan luar, dan tidak ada alternative penggunaan pada pin ini selain kondisi tinggi. Port ini terdiri atas 8 pin dan berlokasi pada pin 1 – 8 dengan code P1.1 – P1.7. c. Port 2 Port 2 berfungsi ganda (dual-purpose) yaitu sebagai port I/O pada kondisi tinggi dan sebagai bus alamat dengan memori eksternal pada kondisi rendah, port ini terdiri dari 8 pin dan berlokasi pada pin 21 – 28 dengan code P2.0 – P2.7. d. Port 3 Port 3 adalah dual-purpose port terletak pada pin 10 – 17 dengan code P3.0 – P3.7. Selain sebagai general purpose I/O, port ini juga memiliki fungsi pengganti (alternatife function) pada masing-masing pinnya. Fungsi-fungsi pengganti dari port 3 diperlihatkan pada Tabel 2.3 dibawah ini:
Tabel 1. Fungsi-fungsi Lain Dari Port 3
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
12
e. PSEN (Program Store Enable) PSEN pada pin 29 adalah pengontrol sinyal untuk mengaktifkan program memory external. Digunakan bersamaan dengan pin EPROM Output Enable (OE) untuk pembacaan program byte EPROM. Pada sinyal pulsa rendah PSEN mengaktifkan pembacaan pada EPROM sebagai bus data yang menahan instruksi register, sedang pada pulsa tinggi melaksanakan program memory internal EPROM. f. ALE (Address Latch Enable) ALE yang terletak pada pin 30 berfungsi sebagai Demultiflexing bus data dan alamat pada sinyal pulsa rendah, ALE merupakan sinyal yang menahan sinyal alamat ke dalam register external selama 0,5 memory cycle yang pertama, ketika transfer data mengisi memory. Pulsa sinyal ALE berada pada 1/6 dari frekuensi oscilator sehingga dapat dijadikan clock untuk mereset sistem. g. EA (External Addres) Input sinyal EA yang terdapat pada pin 30 untuk kondisi tinggi/high (5 volt) akan melaksanakan program dari internal ROM. Sedangkan pada kondisi rendah/low, program akan dilaksanakan dari memory external dan pulsa PSEN akan menjadi rendah. h. RST (Reset) Input RST pada pin 9 adalah mereset master pada Mikrokontroler AT89C51, ketika sinyal ini tinggi untuk kira-kira 2 machine cycle, register internal AT89C51 akan diisi dengan data yang sesuai dengan sistem start up. Reset mikrokontroller AT89C51 yaitu dengan cara menahan RST pada posisi high sedikitnya dua kali perputaran mesin dan akan kembali menjadi posisi low. Dimana reset dapat dilakukan secara manual dengan saklar atau dapat diaktifkan dengan otomatis melalui rangkaian R-C. Program Counter pada register DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
13
ini pada alamat 000H, setelah RST kembali low, pengaktifan program dimulai pada lokasi pertama kode memori. i. XTAL 1 XTAL1 pada pin 19 adalah kaki masukan ke rangkaian oscilator internal. Sebuah oscilator kristal atau sumber oscilator luar dapat digunakan. j. XTAL 2 XTAL2 pada pin 18 adalah kaki keluaran ke rangkaian oscilator internal. Ini dipakai bila menggunakan oscilator dari luar.
2.2.3. Timer/Counter Pada Mikrokontroler AT89C51 terdapat dua buah timer yang dapat digunakan untuk : interval timing, event counting, dan baud rate generation bagi built-in serial port. Masing-masing adalah 16 bit timer. Pada aplikasi interval timing, sebuah timer diprogram agar overflow pada suatu interval waktu dan mengeset timer overfloe flag, flag ini digunakan untuk sinkronisasi program, yaitu untuk mengecek keadaan input atau untuk mengirimkan data ke output. Event counting digunakan untuk menentukan banyaknya kejadian dari suatu event atau untuk mengukur lamanya waktu dari suatu event. Pengoperasian Timer/Counter untuk mengaksesnya digunakan register khusus yang tersimpan dalam SFR (Special Function Register). Pencacah biner Timer 0 diakses melalui register TL0 (Timer 0 Low Byte, memory data internal 6AH) dan register TH0 (Timer 0 High Byte, memory data internal 6CH). Pencacah biner Timer 1 diakses melalui register TL1 (Timer 1 Low Byte, memory data internal 6BH) dan register TH1 (Timer 1 High Byte, memory data internal 6DH).
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
14
Timer Register Mode (TMOD) Register TMOD berisi 2 grup dari 4 bit yang diset dalam mode operasi untuk timer 0 atau timer 1. TMOD bukan bit alamat, pada dasarnya hanya dibebankan melalui software pada permulaan program ketika akan membangun mode timer. Timer Control Register (TCON) Register TCON berisi status dan kontrol bit untuk timer 0 dan timer 1. Bit keempat teratas TCON (TCON.4 – TCON.7) digunakan untuk menjalankan dan mematikan timer. Bit keempat bagian bawah TCON (TCON.0 –TCON.3) tidak digunakan dalam timer. Mereka hanya untuk mendeteksi dan membangun internal interupt.
2.2.4. Pewaktu CPU Semua Mikrokontroler AT89C51 memiliki Oscilator On-chip, yang dapat digunakan sebagai sumber detak (clock) ke CPU. Untuk menggunakannya dengan cara menghubungkan sebuah resonator kristal atau keremaik diantara kaki-kaki XTAL1 dan XTAL2 dan dihubungkan dengan kapasitor ke ground.
2.2.5. Port serial Port serial pada Mikrokontroler AT89C51 bersifat duplex penuh atau full duplex, artinya port serial bisa menerima dan mengirim secara bersamaan. Selain itu juga memiliki penyangga penerima, artinya port serial mulai bisa menerima byte yang kedua sebelum byte yang pertama dibaca oleh register penerima (jika sampai byte yang kedua selesai diterima, sedangkan byte yang pertama belum juga dibaca, maka salah satu byte akan hilang). Penerimaan dan pengiriman data port serial melalui register SBUF. Penulisan ke SBUF berarti membaca register-register pengiriman SBUF sedangkan pembacaan dari SBUF berati membaca DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
register
15
penerimaan SBUF yang memang terpisah secara fisik (secara perangkat lunak namanya menjadi satu yaitu SBUF). AT89C51 memiliki serial port yaitu pada pin TXD dan RXD, sedangkan akses perangkat lunak untuk serial port melalui dua buah SFR, yaitu SBUF (serial port buffer) dan SCON (serial port control register). Bila ingin mengirimkan data, kita harus menuliskan data tersebut pada SBUF, sedangkan bila ingin mengambil data, kita harus membaca nilai yang ada pada SBUF. Serial port pada AT89C51 memiliki empat mode operasi yang dapat dipilih melalui register SCON. Port serial dapat digunakan dalam 4 mode kerja yang berbeda. Dari 4 mode tersebut, 1 mode diantaranya bekerja secara sinkron sedangkan 3 yang lainnya bekerja secara asinkron. Adapun keempat mode tersebut adalah : a. Mode 0 Mode ini bekerja secara sinkron, data serial dikirm dan diterima melalui kaki P3.0 (RxD), sedangkan kaki P3.1 (TxD) digunakan untuk menyalurkan detak pendorong data serial yang dibangkitkan. Data dikirim/diterima 8 bit sekaligus, mulai dari bit yang bobotnya paling kecil atau LSB (bit 0) dan diakhiri dengan bit yang bobotnya paling besar atau MSB (bit 7). Kecepatan pengiriman data (baudrate) adah 1/12 frekuensi kristal yang digunakan. b. Mode 1 Pada mode ini tetap, data dikirim melalui P3.1 (TxD) dan diterima melalui kaki P3.0 (RxD), secara asinkron (juga mode 2 dan 3). Pada mode 1 data dikirim/diterima 10 bit sekaligus, diawali dengan bit start, disusul dengan 8 bit data yang dimulai dari bit yang bobotnya paling kecil (bit 0) dan diakhiri dengan 1 bit stop. Pada Mikrokontroler AT89C51 yang berfungsi sebagai penerima bit stop adalah RB8 dalam registre SCON. Kecepatan pengiriman data (boudrate) bisa diatur DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
16
sesuai dengan keperluan. Mode inilah (mode 2 dan 3) yang umum dikenal sebagai UART (Universal Asynchronous Receiver /Transmitter). c. Mode 2 Data dikirim dan diterima 11 bit sekaligus, diawali dengan 1 bit start, disusul dengan 8 bit data yang dimulai dari bit yang bobotnya paling kecil (bit 0), kemudian bit ke-9 yang bisa diatur lebih lanjut, diakhiri dengan 1 bit stop. Pada Mikrokontroler AT89C51 yang berfungsi sebagai pengirim, bit ke-9 tersebut berasal dari TB8 dalam register SCON, yang berfungsi sebagai penerima 9 bit ditampung pada bit RB8 dalam register SCON, sedangkan bit stop diabaikan tidak ditampung. Kecepatan pengiriman data (boudrate) bisa dipilih antara 1/32 atau 1/64 frekuensi kristal yang digunakan. d. Mode 3 Mode ini sama dengan mode 2, hanya saja kecepatan pengiriman data (boudrate) bisa di atur sesuai dengan keperluan, seperti halnya mode 1.
2.2.6. Type Instruksi Pada prosessor 8 bit, dimana mikrokontroler AT89C51 mempunyai opcode 8 bit, ini berarti terdapat 256 instruksi dari 28 bit. Dari 256 instruksi hanya satu saja yang belum didefinisikan, beberapa instruksi mempunyai satu atau dua bytes tambahan untuk data atau alamat, maka ada 139 buah instruksi satu byte, 92 buah instruksi 2 bytes dan 24 buah instruksi 3 bytes. Pemetaan Opcode dapat dilihat pada appendiks, untuk setiap opcode, mnemonics, jumlah bytes dari instruksi dan jumlah perputaran mesin untuk melaksanakan instruksi.
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
17
Mikrokontroler AT89C51 mempunyai instruksi yang dibagi dalam 5 grup yaitu :
Aritmetika
Logika
Data Transfer
Variable Boolean
Percabangan Program
a. Instruksi Aritmetika Instruksi Aritmetika / ADD dapat dilaksanakan dengan 4 cara yaitu :
ADD
A,7FH
Pengalamatan langsung
ADD
A,@R0
Pengalamatan tak langsung
ADD
A,R7
Pengalamatan Register
ADD
A,#35H
Pengalamatan Immediate
Untuk aritmatika BCD (Binnary – Coded Decimal), ADD dan ADDC harus diikuti dengan operasi DA A (Decimal Adjust) untuk meyakinkan hasil dari BCD, dimana DA A akan merubah nomor binary menjadi BCD b. Instruksi Logika Instruksi logika pada Mikrokontroler AT89C51 memberikan operasi Booelan (AND, OR, exlusive OR dan NOT) dalam byte data. Semua instruksi logika menggunakan akumulator pada pengoperasian pertama dalam sebuah cycle mesin. Operasi logika dapat ditampilkan dalam sebuah byte ruang memory internal data tanpa meninggalkan akumulator. Instruksi perputaran (RL A dan RR A) menggeser akumulator satu bit ke arah kiri atau kanan. Untuk pergeseran ke kiri, MSB berputar ke arah LSB, untuk DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
18
pergeseran ke kanan LSB berputar ke arah posisi MSB. Variasi RLC A dan RRC A adalah pergeseran 9-bit yang menggunakan akumulator dan membawa pengikut ke dalam PSW. Instruksi SWAP A mengubah posisi tinggi ke posisi rendah dengan menggunakan akumulator. c. Instruksi Data Transfer Internal RAM Instruksi ini memindahkan data dengan ruang memory internal yang akan dilaksanakan pada satu atau dua cycle mesin. Format instruksi ini adalah : MOV
,<sumber> Menyediakan data untuk dipindahkan antar 2 internal RAM atau lokasi SFR dengan keluaran melalui akumulator. Bagian atas 128 byte data memory RAM hanya dapat diakses dengan pengalamatan langsung dan SFR hanya dapat diakses dengan pengalamatan langsung. d. Instruksi Transfer Data Untuk Melihat Tabel Data Instruksi transfer data dapat dilakukan untuk melihat tabel dalam memory program. Sejak mengakses program memory, tabel hanya dapat dilihat tapi tidak dapat diperbaiki. Mnemonics MOVC untuk memindahkan konstan, maka digunakan hanya pada PC atau DPTR sebagai base register dan akumulator tetap. e. Instruksi Boolean Mikrokontroler AT89C51 memiliki sebuah prosessor Booleanyang lengkap (bit-tunggal). RAM internal mengandung 128 bit yang dapat dialamati dan ruang SFR (Register Fungsi Khusus) dapat mendukung hingga 128 bit yang dapat dialamati lainnya. Semua jalur port juga merupakan bit yang dapat dialamati dan masing-masing dapat diperlakukan sebagai port bit tunggal yang terpisah. Instruksiinstruksi yang mengakses bit-bit ini tidak hanya dipencabangan bersyarat saja, DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
19
namun lengkap meliputi instruksi-instruksi pemindahan data (move), set, cleaner, komplemen, OR dan AND. f. Pengujian Bit Instruksi pengujian bit akan dilewati jika alamat bit set (JC, JB, JBC) atau jika alamat bit tidak diset (JNC dan JNB). Semua bit PSW adalah pengalamatan langsung, jadi parity bit atau flag yang digunakan secara umum, dapat juga digunakan sebagai bit instruksi set. g. Instruksi Program Pencabangan Ada beberapa jenis variasi instruksi : SJMP, LJMP dan AJMP. Instruksi SJMP secara spesifik menunjukan alamat konstan 16-bit, instruksi AJMP merupakan alamat 11-bit. Pada SJMP, instruksi mempunyai panjang 2 byte, opcodenya berisi 3 dari 11 alamat bit dan 2 byte menahan bagian bawah 8 bit dari 11 bit dalam PC dan bagian tinggi menahan 5 bit pada PC yang sama. Tujuan yang akan dikirimkan harus sama dengan blok 2K pada instruksi AJMP. Jika 62K kode memory terdapat 32 blok, setiap bagian awal pada 2K alamat (0000H, 1000H sampai F800H). h. Tabel Jump Instruksi JMP @A+DPTR mendukung penggunaan jump untuk jump tabel, tujuan alamat komputer pada waktu pelaksanaan pada penambahan 16 bit register DPTR dan akumulator. DPTR akan dibebankan dengan alamat dari jump tabel dan akumulator bereakasi sebagai indeks.
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
20
2.2.7. Mode Pengalamatan Mode pengalamatan adalah bagian integral dari setiap instruksi set komputer, disediakan sumber atau tujuan spesifik data dengan jalan yang berbeda tergantung program yang dibuat. Pada bagian ini akan dijelaskan instruksi mikrokontroler AT89C51, yang dibagi dalam 8 mode yaitu : register, direct, indirect, immediate, relative, absolute, long dan indexed. a. Pengalamatan Register Program 8951 dapat mengakses alamat yang di encoded dengan menggunakan bits dari bits instruksi opcode untuk mengindikasikan / register dengan ruang alamat logika. Kode fungsi alamat operand dapat dikombinasikan untuk membuat instruksi pendek (1 byte). b. Pengalamatan Langsung (Direct) Pengalamatan langsung dapat mengakses setiap variable chip atau register hardware. Byte tambahan ditambahkan pada opcode di lokasi yang telah ditentukan. Ketergantungan pada bit order tinggi dari alamat langsung, yaitu satu dari dua chip memori yang dipilih. Ketika bit 7 = 0, alamat langsung antara 0 dan 127 (00H – 7FH) dan 128 order rendah lokasi chip RAM yang direferensikan. Semua port I / O dengan fungsi khusus, control atau register status menunjukkan alamat antara 128 256 (80H – FFH). c. Pengalamatan Tak Langsung (Indirect) Mikrokontroler AT89C51 mempunyai solusi dengan pengalamatan tak langsung pada situasi ketika memanipulasi perputaran memeori, register atau alamat langsung tidak dapat digunakan. Sejak digunakannya pengoprasian alamat yang dikenal dengan nama waktu pengasemblian. R0 dan R1 menggunakan register “POINTER” untuk mengindikasikan alamat dalam RAM dimana data ditulis atau DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
21
dibaca. Bit dari instruksi opcode menyediakan register (R0 dan R1) yang digunakan sebagai pointer. Pengalamatan tak langsung di representasikan dengan tanda “at” *@) yang mewakili R0 arau R1. d. Pengalamatan Immediate Ketika sumber operand berisi sebagian besar variable (contohnya : instruksi yang menggunakan nilai yang dikenal dengan nama “waktu pengasemblian”, ketika konstan maka dapat digabungkan menjadi instruksi sebagai byte data immediate. Dalam bahasa assembly, ditandai dengan tanda pagar (#). Operand dapat berisi angka konstan, variable symbol atau operator. Semua instruksi menggunakan pengalamayan data kosntan 8-bit dengan pengecualian ketika akan menginisialize data pointer sehingga data 16-bit dapat digunakan. e. Pengalamatan Relative Pengalamatan
ini
hanya
menggunakan
instruksi
JUMP,
dengan
menggunakan data 8-bit. Daerah untuk jumping adalah dari -128 sampai dengan +128 lokasi. Prioritas untuk penambahan, programn counter ditambahkan pada alamat melalui instruksi JUMP. Pengalamatan relative memiliki keunggulan dalam penyediaan posisi kode independent, namun kerugiannya adalah pembatasan daerah tujuan JUMP. f. Pengalamatan Absolute Pengalamatan absolute digunakan hanya pada instruksi ACALL dan AJMP. Kedua byte isntruksi ini menyediakan pencabangan pada 2K kode memory dengan mengadakan 11 bits alamat tujuan dalam opcode (A10 – A8) dan 2 byte instruksi (A7 – A0). Pengalamatan absolute menyediakan kelebihan yaitu instruksi yang pendek (2 byte) namun kerugiannya adalah pembatasan daerah tujuan dan penyediaan posisi yang tergantung pada kode. DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
22
g. Pengalamatan Long Pengalamatan Long hanya digunakan pada instruksi LCALL dan AJMP, ketiga byte instruksi ini termasuk alamat tujuan 16 bit pada bytes 2 dan 3 dari instruksi. Keuntungan kode ruang 64K mungkin dapat digunakan namun kerugiannya instruksi menggunakan 3 byte panjang dan tergantung pada posisi, sebab program tidak dapat melaksanakannya pada alamat yang berbeda. h. Pengalamatan Indexed Pengalamatan ini menggunakan register dasar dan offset dalam form alamat efektif untuk instruksi JMP atau MOVC.
2.3. KOMUNIKASI SERIAL RS-232 RS232 adalah standard komunikasi serial antar periperal-periperal. Contoh paling sering kita pakai
adalah antara komputer dengan mikrokontroler atau
komputer dengan hardaware. Untuk melaksanakan komunikasi antara komputer dengan mikrokontroler yang dilakukan secara serial dibutuhkan suatu konektor dan driver, dimana dalam alat ini kita mengunakan konektor DB9 dan driver RS232 berupa IC MAX232. Fungsi dari konektor DB9 adalah untuk menghubungkan antara komputer dan mikrokontroler sehingga keduannya dapat terhubung, berikut fungsi dari masingmasing pin pada konektor DB9.
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
23
Gambar 3. Fungsi Pin – Pin Konektor DB9 Standard RS232
Sedangkan fungsi dari IC MAX232 adalah sebagai driver yang akan mengubah tegangan dari hardware / mikrokontroler agar sesuai dengan tegangan pada komputer sehingga data dapat dibaca. Adapun gambaran fungsi dari IC MAX232 tersebut seperti berikut ini dimana data serial yang dikirimkan oleh PC melalui port serial dalam bentuk RS232 dan diubah menjadi level TTL oleh IC MAX232 dan kemudian diterima oleh serial AT89C51. Mikrokontroler tersebut mengirimkan kembali data serial tersebut melalui port serial dalam level TTL dan kembali diubah oleh IC MAX232 menjadi bentuk RS232 sehingga komunikasi pengiriman data antar mikrokontroler dan PC secara serial dapat dilakukan.
Gambar 4. Rankaian Pengubah Level Tegangan IC MAX232 DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
24
2.4. LCD (Liquid Crystal Display) Kita mungkin saja menggunakan LCD (liquid crystal display) tiap hari, pada jam tangan, handphone, display microwave, dan lain-lain. Tetapi mungkin kita tidak sangka kalau LCD ternyata ditemukan oleh seorang ahli botani. LCD pertama ditemukan oleh Friedrich Reinitzer, seorang botanist Austria, pada tahun 1888 ketika ia melelehkan suatu zat yang masih belum umum saat itu, cholesteryl benzoate, yang menjadi keruh dan kemudian bening ketika temperatur naik. Ketika proses pendinginan cholesteryl benzoate menjadi berwarna biru sebelum akhirnya mengkristal. Sejak saat itu, perkembangan LCD menjadi sangat pesat karena dianggap sangat prospektif. Pada aplikasi mikroprosessor, LCD sangat diminati karena tampilannya yang menarik dan dinilai sebagai “man-machine interface” yang sangat baik. Tetapi kelemahannya, sudut pandang (paralaks) LCD cukup sempit, sehingga pada kondisi tertentu lebih menyukai tampilan 7-segment. LCD adalah salah satu jenis tampilan (disamping 7-segment) yang dapat digunakan untuk menampilkan angka (numerik) atau karakter. LCD terdiri dari berbagai macam atau jenis dan ukuran, misalnya LCD yang hanya dapat menampilkan angka saja, LCD yang dapat menampilkan angka dan huruf, LCD yang dapat membuat grafik, dan lain sebagainya. LCD yang digunakan untuk Tugas Akhir ini adalah LCD dot matriks yaitu LCD yang dapat menampilkan angka dan huruf. Kelebihan dari LCD ini dibandingkan dengan LCD jenis yang lain adalah LCD ini dapat menampilkan bentuk karakter sebanyak 80 karakter pada satu layar dan dapat menampilkan simbol-simbol seperti (, ), <, >, &, ?, dan lain sebagainya. Karakter-karakter ini dapat ditampilkan karena pada LCD matriks tidak terdapat segment-segment (yang DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
25
berupa garis-garis lurus) yang membatasi bentuk karakter yang akan di tampilkan. Sebagai pengganti segment-segment, LCD jenis ini menggunakan dot-matriks (berupa titik-titik yang berbentuk matriks) untuk menampilkan karakter sehingga LCD jenis ini dapat menampilkan banyak kemungkinan bentuk karakter.
2.4.1. Tegangan Kendali LCD Tegangan yang diaplikasikan pada LCD adalah tegangan yang dihasilkan oleh beda potensial antara Vdd dan Vo dan berkisar antara 3,7 sampai 4,7 volt. Tegangan LCD optimum yang dipakai tergantung dari power supplay Vdd yang dipakai pada saat itu. Adapun rangkaian yang digunakan untuk menghasilkan Vo salah satu caranya dengan memasang resistor variabel yang membagi catu daya yang menghasilkan Vo. Cara ini cukup memuaskan bila modul tampilan ini dioperasikan dapat dilihat kekontrasannya.
VR = 10 kΩ - 20 kΩ
Gambar 5. Tegangan Kendali LCD
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
26
2.4.2. Konfigurasi Pin LCD Berikut ini adalah konfigurasi pin dan fungsi dari modul LCD.
4
Rs
5
R/W Modul LCD Vo E Vss DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7
6
2
Vdd
7
8
9
10
11
12
13
2 3 1
14
Gambar 6. Konfigurasi Pin LCD
Deskripsi pin-pin modul LCD : 1. Vss : Ground dari modul 2. Vdd : Catu daya +5 Volt 3. Vo : Tegangan kendali LCD, kontras dan sudut pandang diatur di sini. 4. Rs : Sinyal pemilihan register 0 = register intruksi (tulis), 1 = register data (baca/tulis) 5. R/W : Kontrol arah data 0 = tulis ke modul tampilan, 1 = baca dari modul tampilan 6. E
: Operasi enable mengaktifkan fungsi baca tulis.
7 – 14 : Jalur Data 8 bit
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
BAB III PERANCANGAN DAN CARA KERJA ALAT
Perancangan alat ini ditujukan untuk mendata kehadiran dari mahasiswa didalam mengikuti perkuliahan yang mana secara otomatis data – data tersebut akan diproses lebih lanjut kedalam personal komputer. Data yang masuk akan terdaftar pada komputer dan harus sesuai dengan database yang kita buat. Dosen dapat melihat data mahasiswa yang mengikuti perkulihaan hanya dengan melihat tampilan yang ada dikomputer yaitu dengan menjalankan program “DAFTAR HADIR“ sedangkan mahasiswa sendiri dapat melihat jadwal perkuliahan pada layar LCD, selanjutnya mahasiswa tersebut dapat mengecek apakah dia terdaftar atau tidak terdaftar pada perkuliahan yang sedang berlangsung, data mahasiswa tersebut akan disesuaikan dengan database yang ada dikomputer.
3.1. Perangkat Keras Komponen dan perangkat – perangkat yang digunakan dalam perancangan perangkat keras dari alat ini antara lain adalah Memory Card, Mikrokontroler AT89C51, Konverter RS232, LCD dan Personal Komputer. Sebagai garis besar blok diagram untuk perancangan alat ini adalah seperti pada gambar berikut.
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
29
Gambar 7. Blok Diagram Alat
Perancangan sistem aplikasi Mikrokontroler AT89C51 pada daftar hadir ini dengan memanfaatkan Memory Card sebagai masukannya dan didukung juga dengan perangkat PC sebagai pengolah data database. Berdasarkan dari pembatasan masalah yang telah dibahas bahwa masalah yang telah dibahas pada bab satu, maka perencanaan perangkat keras hanya meliputi Memory Card, Mikrokontroler, konverter RS232 dan LCD.
3.2. Cara Kerja Rangkaian Secara Keseluruhan Secara garis besar alat ini bekerja berdasarkan dari masukan data yang berasal dari Memory Card dimana data ini nantinya akan di baca oleh Mikrokontroler dan selanjutnya data tersebut akan di kirim ke database pada personal komputer yang sebelumnya sudah kita masukan dengan menggunakan konverter RS323. Jika data yang berasaal dari Memory Card tadi sesuai dan benar maka status di layar LCD akan
menjadi
“TERDAFTAR“ artinya nama mahasiswa tsb akan ditampilkan di LCD dan selanjutnya pada program “DAFTAR HADIR“ yang ada di komputer status nya akan berubah dari “ABSEN“ menjadi “HADIR“. DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
30 Jika data dari Memory Card teryata salah dan tidak ada di dalam database maka status di layar LCD akan menjadi “TIDAK TERDAFTAR“ dan selanjutnya status yang ada di program “Daftar Hadir“ tidak berubah yaitu “ABSEN“. Karena alat ini dibuat dan diaplikasikan pada program Daftar Hadir pada suatu perguruan tinggi maka database yang yang kita buat disesuaikan dengan data-data yang
16 VCC
6
V-
V+
2
diperlukan antara lain data mahasiswa dan jadwal kuliah.
Gambar 8. Skema Rangkaian Alat DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
31 3.3. Cara Kerja Rangkaian Berdasarkan Blok Diagram 3.3.1. INPUT P1.2 GND P2.0 P2.1 P2.2 +5V
Gambar 9. Skema Rangkaian Blok Input dan Memory Card
Blok input yang dimaksud disini adalah berupa kartu yang kita sebut sebagai kartu Memory Card. Kartu ini menggunakan sebuah IC EEPROM 24C256 yang kita pasang pada papan PCB. Kartu ini nantinya berfungsi sebagai tempat penyimpanan data dan sebagai masukan pada Mikrokontroler. Pada gambar di atas terlihat pada saat kartu dimasukkan ke dalam slot, maka jalur ground pada kartu akan terhubung dengan pin P1.2 pada Mikrokontroler. Pada saat kondisi pin P1.2 dalam kodisi “0” bearti Mikrokontroler mendeteksi ada adanya kartu yang masuk sehingga data yang ada di kartu dapat diacces ( dibaca dan ditulis ). Pada data sheet dari EEPROM 24C256 ini terdapat yang namanya Device Select Code yang yang terdiri dari 8 bit dan berfungsi untuk menentukan proses pembacaan atau penulisan pada EEPROM tersebut. Untuk proses pembacaan EEPROM kode yang digunakan adalah “A7” sedangkan pada proses penulisan EEPROM kode yang digunakan adalah “A6”.
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
32 3.3.2. MIKROKONTROLER AT89C51 39 38 37 36 35 34 33 32
To LCD 1 2 3 4 5 6 7 8
To Switch / Ground
To Smartcard / EEPROM
19 18
Y1 +5V C1 33p
31 9
C2 33p
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 XTAL1 XTAL2
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD ALE/PROG PSEN
21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17
To RS232 Converter
30 29
EA/VPP RST
+5V
R3
8K2 C3
10u
Rangkaian Mikroprosessor AT89C51
Gambar 10. Skema Rangkaian Blok Mikrokontroler Blok ini berfungsi untuk membaca, menulis, menampilkan data ke LCD, mengirimkan dan menerima data dari PC. Pertama-tama mikrokontroler akan melakukan inisialisasi serial port dan LCD. Serial port digunakan untuk melakukan komunikasi dengan PC melalui blok konventer RS232 sedangkan LCD digunakan untuk menampilkan informasi seperti jam saat ini, jadwal mata kuliah yang sedang berlangsung dan informasi status dari kartu smartcard . Setelah keduanya terinisialisasi selanjutnya mikrokontroler akan mengecek apakah pada input ada kartu yang masuk atau tidak. Pada saat kartu kita masukan ke input maka mikrokontroler akan membac kartu tsb dan mengirimkan data yang ada dikartu ke PC, selain itu mikrokontroler juga menerima instrukasi dari PC untuk melakukan penulisan / pengeditan
maupun
memformat
data
yang
ada
pada
kartu
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
tersebut.
33 Bersamaan dengan proses diatas mikrokontroler juga mengirimkan informasi data berupa identitas atau status dari kartu tersebut ke LCD untuk ditampilkan. Secara garis besar cara kerja mikrokontroler dapat dilihat pada diagram alir berikut :
Gambar 11. Diagram Alir Perangkat Lunak Mikrokontroler AT89C51
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
34 3.3.3. KONVERTER RS232 +5V C3 4.7u/50V
+
5 9 4 8 3 7 2 6 1
TO PC
DB9
U2 9 14 7 13 10 8
R2OUT T1OUT T2OUT R1IN
R1OUT T1IN C+
MAX232
C1-
T2IN
C2+
R2IN
C215
To Mikroprosessor
1 3
+ 1u
4 5
+
GND
+
C8
12 11
4.7u/50V
Rangkaian Konverter RS232
Gambar 12. Skema Rangkaian Blok Konverter RS232
Blok pada rangkaian ini berfungsi sebagai alat komunikasi antar mikrokontroler dan PC karena setiap saat program pada PC akan mengirimkan data ke mikrokontroler begitu pula sebaliknya data dari mikrokontroler akan di kirim ke PC. Untuk melakukan komunikasi tsb maka digunakan rangkian konverter RS232, dimana rangkaian konverter ini terdiri dari sebuah konektor DB9 yang terdiri dari sembilan pin dimana pin yang kita gunakan adalah pin transmitter dan receiver ditambah dengan IC MAC232 yang berfungsi mengubah tegangan dari hardware / mikrokontroler agar sesuai dengan tegangan pada komputer sehingga data dapat dibaca. Adapun gambaran fungsi dari IC MAX232 tersebut seperti berikut ini dimana data serial yang dikirimkan oleh PC melalui port serial dalam bentuk RS232 dan diubah menjadi level TTL oleh IC MAX232 dan kemudian diterima oleh serial AT89C51. Mikrokontroler tersebut mengirimkan kembali data serial tersebut melalui port serial dalam level TTL dan kembali diubah oleh IC MAX232 menjadi bentuk RS232 sehingga komunikasi pengiriman data antar mikrokontroler dan PC secara serial dapat dilakukan. DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
35 3.3.4. LCD ( Liquid Cristal Display )
Gambar 13. Skema Rangkaian Blok LCD
Setiap saat program pada PC akan mengirimkan data serial ke mikrokontroler untuk mengatur tampilan pada display LCD dan melakukan permintaan data nomor seri kartu yang telah terprogram pada memori EEPROM pada kartu. Alamat pada LCD 00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
Pada saat data yang diterima diawali dengan T (54H), maka data berikutnya akan ditampung pada memori 40h hingga 47h. Setelah 8 data berikutnya diterima, maka program akan mengambil data pada alamat 40h-47h tersebut dan mengirimkannya pada LCD mulai dari alamat LCD 04h hingga 0Bh. Jadi apabila PC mengirimkan karakter T14:23:57 maka tampilan LCD akan berubah menjadi
1
4
:
2
3
:
5
7
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
36 Pada saat data yang diterima diawali dengan J (4AH), maka data berikutnya akan ditampung pada memori 50h hingga 5Fh. Setelah 16 data berikutnya diterima, maka program akan mengambil data pada alamat 50h-5Fh tersebut dan mengirimkannya pada LCD mulai dari alamat LCD 40h hingga 4Fh. Jadi apabila PC mengirimkan karakter JABCDEFGHIJKLMNOP maka tampilan LCD akan berubah menjadi
A
B
C
D
1 E
4 F
: G
2 H
3 I
: J
5 K
7 L
M
N
O
P
Agar dapat menentukan tulisan 14:23:57 ditulis mulai pada alamat LCD 04h, maka terlebih dahulu perlu dilakukan pemindahan alamat LCD menjadi 04h yaitu dengan cara mengirimkan COMMAND ke LCD yang bernilai 84h. 84h = 1000 0100 = 1
000 0100
Menandakan bahwa COMMAND adalah untuk mengubah alamat LCD
000 0100 = 04h Menandakan alamat yang diinginkan
Setelah alamat RAM karakter yang aktif pada LCD telah dipindahkan ke alamat 04h, barulah dikirimkan KARAKTER ke LCD. Apabila karakter yang dikirimkan adalah A (41H), maka karakter A ini akan muncul di LCD pada :
A
Setelah karakter tersebut muncul pada LCD, secara otomatis alamat RAM karakter yang aktif pada LCD akan naik menjadi 05h sehingga tidak perlu dilakukan COMMAND untuk pemindahan alamat RAM karakter yang aktif.
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
37 Perbedaan antara pengiriman KARAKTER dan pengiriman COMMAND adalah : Pada saat mikrokontroler mengirimkan KARAKTER, maka pin RS pada LCD harus diberikan logika 1, sementara pada saat mikrokontroler mengirimkan COMMAND, maka pin RS pada LCD harus diberikan logika 0. Misalkan LCD dikirimkan data 38H dengan kondisi RS diberikan logika 0, maka LCD akan menganggap ini adalah sebuah COMMAND. Dengan melihat tabel fungsi COMMAND pada LCD, maka hal ini berarti COMMAND untuk melakukan : DL = 1, Data Length = 8 bit N = 1, jumlah baris = 2 F = 0, LCD type 5 x 7 Sementara apabila LCD dikirimkan data 38H dengan kondisi RS diberikan logika 1, maka LCD akan menampilkan karakter 38H (angka 8) ke alamat LCD yang sedang aktif.
Mengirimkan COMMAND 38H ? Pertama kali mikrokontroler melakukan Mengirimkan 38H (0011 1000) ke saluran Data LCD (D7 – D0) Dikarenakan D7 terhubung ke P0.0, D6 terhubung ke P0.1, dst atau dengan kata lain MSB dari LCD justru terhubung pada LSB mikrokontroler (kebalik), maka mikrokontroler haruslah mengeluarkan data 0001 1100 (1CH) pada P0.7 - P0.0 Selanjutnya mikrokontroler mengeluarkan logika 0 pada P1.0 yang terhubung pada pin RS dari LCD. Barulah setelah data dan RS-nya siap, dilakukan clock atau toggle atau logika yang berubah pada pin LCD ENABLE. Dikarenakan pin LCDEN ini terhubung pada pin P1.1 DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
38 dari mikrokontroler, maka pada pin P1.1 mikrokontroler yang sebelumnya berlogika 1 haruslah diubah hingga mengeluarkan logika 0 sesaat dan selanjutnya berubah menjadi logika 1.
3.3.5. Program Aplikasi PC Blok ini berfungsi sebagai database dan pengolah data secara keseluruhan dari alat yang kita buat ini, dimana menu utama dari program ” DAFTAR HADIR” ini dijalankan oleh perangkat lunak yang ada di PC. Perangkat lunak yang digunakan adalah Program MS - Visual Basic, dimana bahasa pemograman ini berbasis MS Windows. Pada perangkat lunak ini sudah tersedia perintah – perintah untuk mengakses data dari maupun ke port. Proses pengambilan data dilakukan dengan menggunakan perintah-perintah bahasa assembler yang disisipkan dalam program. Secara garis besar dalam perangkat lunak ini terdiri dari tiga form database yaitu ; 1. Jadwal 2. Mahasiswa 3. Absensi ( Menu Utama ) Pada saat aplikasi “DAFTAR HADIR” kita jalankan, maka pertama – tama akan melakukan inisialisasi serial terlebih dahulu selanjutnya aplikasi ini akan mengecek hari dan jam pada saat ini didatabase apakah ada jadwal mata kuliah yang cocok dengan hari dan jam tersebut diatas dan proses ini akan terus mencari sampai ada data yang cocok dan sesuai dengan database. Pasa saat aplikasi tadi menemukan data jadwal mata kuliah yang cocok di database maka proses selanjutnya aplikasi mengecek data mahasiswa yang
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
39 mengikuti mata kuliah ini. Setelah data jadwal mata kuliah dan data mahasiswa didapat maka data jadwal mata kuliah dan data mahasiswa yang mengikutinya akan ditampilkan pada menu utama dari program ini, dengan catatan status dari mahasiswa masih ‘ABSEN” artinya mahasiswa tsb tidak mengikuti mata kuliah. Selanjutnya program “DAFTAR HADIR” ini akan mengirimkan informasi ke mikrokontroler untuk membaca input dari alat ini apakah ada kartu yang masuk atau tidak secara terus menerus. Jika tidak ada kartu yang masuk dan dibaca oleh mikrokontroler maka status mahasiswa pada menu utama tetap dalam kondisi “ABSEN” dan secara bersamaan tampilan pada LCD akan menampilkam mata kuliah yang sedang berlangsung pada saat itu. Pada saat kita masukkan kartu ( sebelumnya kartu sdh kita registrasi dan kita masukan ke dalam database ) maka mikrokontroler akan membaca data yang ada pada kartu tersebut dan mengirimkan data informasi tsb ke PC, jika data yang dikirimkan sesuai dan benar maka status dari mahasiswa akan berubah menjadi “ HADIR “, artinya mahasisawa tersebut mengikuti matakuliah dan bersamaan dengan itu pula LCD akan menampikan identitas nama dari mahasiswa tersebut. Secara garis besar cara kerja mikrokontroler dapat dilihat pada diagram alir berikut :
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
40
Gambar 14. Dagram Alir Perangkat Lunak PC
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
BAB IV UJI COBA DAN PENGOPERASIAN ALAT
Rangkaian lengkap dari alat ini dalam bentuk sudah jadi adalah seperti pada gambar 9.
Gambar 15. Gambar Alat ( Fhoto alat )
Untuk memastikan bahwa peralatan tersebut berfungsi dengan benar dan sesuai dengan yang di harapkan maka perlu dilakukan pengujian. Langkah – langkah pengujian alat adalah sebagai berikut : 1. Hubungkan kabel power ke jala-jala listrik. 2. Pastikan kabel serial komunikasai antara Mikrokontroler dan PC terhubung dengan baik. 3. Hidupkan PC.
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
42
4. Jalankan program aplikasi “DAFTAR HADIR” hingga muncul tampilan seperti pada gambar dibawah dan alat sudah siap untuk di gunakan kemudian pilih port komunikasi yang digunakan lalu tekan tombol ”Sambung”.
Gambar 16. Tampilan menu utama “DAFTAR HADIR”
5. Melakukan pengetesan dengan mengunakan Memory Card, pada pengetesan ini kita telah menyiapkan lima buah Memory Card dengan keterangan sebagai berikut : ¾ Kartu dengan no seri 000001, 000002, 000003 Data Mahasiswa pada kartu sudah di input ke dalam database mahasiswa dan database jadwal kuliah. ¾ Kartu dengan no seri 000004 Data Mahasiswa pada kartu sudah diinput ke dalam database mahasiswa tapi belum diinput atau tidak dinput ke dalam database jadwal kuliah. ¾ Kartu dengan no seri 000005 DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
43
Kartu ini sengaja tidak kita input kedalam database mahasiswa dan jadwal kuliah. 6. Pastikan program aplikasi ”DAFTAR HADIR” pada PC berjalan dengan baik seperti pada gambar berikut :
Gambar 17. Tampilan menu utama “DAFTAR HADIR” pada saat ada Jadwal Kuliah
Gambar 18. Tampilan LCD pada saat belum ada Jadwal Kuliah
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
44
Pertama - tama kita akan test dengan menggunakan Memory Card dengan no seri 000001, 000002, 000003. Dari gambar diatas bahwa pada saat ini sedang berlangsung berlangsung perkuliahan dengan mata kuliah “TUGAS AKHIR” dan diikuti oleh tiga orang mahasiswa, pada saat ini status ketiganya masih “Absen” dan belum ada yang mengikuti mata kuliah tersebut. Secara bersamaan juga pada layar LCD akan menampilkan mata kuliah yang sedang berlangsung. Status kehadiran mahasiswa akan berubah pada saat Memory Card dimasukan kedalam slot input dan Mikrokontroler membaca data yang ada pada kartu dan mengirimkannya ke PC, jika data tsb benar maka status mahasiswa akan berubah dari “Absen” menjadi “Hadir” dimana artinya sdh ada mahasiswa yang mengikuti matakuliah tsb kemudian secara bersamaan pada layar LCD akan menampikan nama mahasiswa. Tampilan pada Menu Utama dan LCD bisa dilihat pada gambar berikut :
Gambar 19. Tampilan menu utama “DAFTAR HADIR” pada saat ada Jadwal Kuliah dan ada Mahasiswa yang mengikuti Kuliah DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
45
Gambar 20. Tampilan LCD pada saat Kartu yang sudah teregristrasi dimasukan ke Slot Input
Kemudian kita akan test dengan menggunakan Memory Card dengan no seri 000004. Pada saat Memory Card dimasukan kedalam slot input dan Mikrokontroler membaca data yang ada pada kartu dan mengirimkannya ke PC, teryata setelah dibaca data tsb benar merupakan data mahasiswa tetapi tidak terdaftar di database jadwal kuliah artinya mahasiswa ini tidak ada terdaftar mengikuti mata kuliah ini maka program pada PC akan mengirimkan data ke Mikrokontroler bahwa data mahasiswa tidak terdaftar dan selanjutnya Mikrokontroler akan mengirimkan data ke LCD sehingga tampilan pada LCD pada saat kartu ini kita masukan adalah “ Tidak Terdaftar”. Tampilan di LCD bisa dilihat pada gambar berikut :
Gambar 21. Tampilan LCD pada saat Kartu yang belum teregristrasi dimasukan ke Slot Input
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
46
Kemudian terakhir kita akan test dengan menggunakan Memory Card dengan no seri 000005. Pada saat Memory Card dimasukan kedalam slot input dan Mikrokontroler membaca data yang ada pada kartu dan mengirimkannya ke PC, teryata data yang ada dikartu tidak ada di database mahasiswa dan jadwal kuliah jadi dapat kita anggap data yang ada dikartu ini masih kosong atau belum di register maka program pada PC akan mengirimkan data ke Mikrokontroler bahwa data mahasiswa tidak terdaftar dan selanjutnya Mikrokontroler akan mengirimkan data ke LCD sehingga tampilan pada LCD pada saat kartu ini kita masukan adalah “ Tidak Terdaftar”. Tampilan di LCD sama seperti pada gambar diatas.
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
BAB V KESIMPULAN DAN SARAN
Bab ini menyimpulkan dan memberikan saran dari alat “Daftar Hadir menggunakan Memory Card berbasis Mikrokontroler“. Dari pecobaan alat yang telah dilakukan dapat ditarik beberapa kesimpulan : 1. Alat dapat bekerja sesuai dengan yang diharapkan yaitu dapat mendata mahasiswa yang hadir atau tidak hadir untuk mengikuti jadwal kuliah yang telah ditentukan 2. Pada saat aplikasi “DAFTAR HADIR” bekerja dan port komunikasi kita sambungkan maka secara keseluruhan alat sdh siap untuk digunakan. 3. Konfirmasi mengenai apakah data yang ada di kartu tersebut mengikuti jadwal kuliah atau tidak akan ditampilkan di LCD.
Beberapa saran yang dapat diberikan berdasarkan pengujian alat dalam tugas akhir ini adalah sebagai berikut : 1. Untuk kesempurnaan alat ini mungkin sebaiknya di tambahkan PIN / Paswword biosensor ( fingerscan ) untuk menghindari terjadinya penitipan kartu oleh mahasiswa. 2. Ada baiknya kartu yang digunakan adalah kartu smartcard yang berupa simcard kartu perdana agar kartu tersebut nanti nya dapat digunakan tidak hanya untuk kartu absensi tapi juga dapat digunakan untuk aplikasi – aplikasi yang lain nya.
DAFTAR HADIR MENGGUNAKAN MEMORY CARD BERBASIS MIKROKONTROLER
DAFTAR PUSTAKA
Nalwan,A.P, 2003, Teknik Antarmuka dan Pemrograman Mikrokontroler AT89C51, Elex Media Komputindo, Jakarta. Agfianto, E.P., 2002, Belajar Mikrokontroler AT89C51/52/53 (Teori dan Aplikasi), Gava Media, Yogyakarta. M. Agus J Alam, 2001, Microsoft Visual Basic Versi 6.0, Elex Media Komputindo, Jakarta. Barry B.Brey, 1997, The Intel Microprocessor Architecture, Programming & Interfacing 4th Ed, Printice-Hall International. Inc, New Jersey. Malvino, Albert Paul. “Prinsip-Prinsip Elektronika”, Edisi Kedua, Erlangga, Jakarta, 1995.
DAFTAR HADIR DENGAN MENGGUNAKAN SMARTCARD / EEPROM BERBASIS MIKROKONTROLLER