JCONES Vol. 3, No. 1 (2014) 70-77
Journal of Control and Network Systems Situs Jurnal : http://jurnal.stikom.edu/index.php/jcone
RANCANG BANGUN SISTEM PEMBAYARAN MANDIRI PADA WAHANA PERMAINAN Pratama Johansah Endaryono1) Harianto2) Madha Christian Wibowo 3) Program Studi/Jurusan Sistem Komputer STIMIK STIKOM Surabaya Jl. Raya Kedung Baruk 98 Surabaya Email:1)
[email protected] 2)
[email protected] 3)
[email protected]
Abstract: Gaming is an entertainment medium preferred by many people, ranging from children, teens and adults. Ancient game only done at home or playing with friends only, the development of today's vehicle then made a play on certain rides. For example, by using coins as a means of payment on the vehicle and up to now made a payment system tool no longer use coins but using a swipe card. Then designed a device independent payment system or stand alone in each vehicle game. While the payment system on rides now, using a swipe card with a centrally connected using a LAN cable as a communication network. At this time the final project aims to create a data storage medium based on the concept of the game electrically microcontroller, EEPROM data storage card as the game balance. The shape of the memory cards such as flash, but it is a special EEPROM chip. On the outside appearance of this tool as there is an LCD screen to display the play and see the remaining balance on the memory card. There are two buttons, one button to play and 2 buttons to see the remaining balance on the memory card. There are several LED indicators for the running of the game. As for the microcontroller, using a Minimum System ATmega32. The workings of this tool is quite simple, but it has its uses and functions very large in real world applications. Another advantage of this tool, we can see the balance remaining on the memory card that is owned by each player and be able to access all rides places. Because the tool does not use the network, but rather a standalone or independent payment system on each vehicle for the game. Keyword: EEPROM, ATmega32, LCD Permainan merupakan suatu sarana hiburan yang diminati dan dimainkan oleh banyak orang baik dari kalangan anak-anak, remaja maupun orang dewasa. Sedangkan permainan zaman sekarang disajikan pada suatu piranti atau perangkat teknologi dan dimainkan secara virtual. Media teknologi yang digunakan yaitu, console, komputer, handphone dan elektronik lainnya. Dalam wahana permainan sekarang sistem pembayaran menggunakan katru gesek elektrik, sehingga mempermudah para penggemar permainan yang langsung menggunakan wahana permainan tersebut contohnya pada Time Zone. Sedangkan pada sistem pembayaran wahana permainan sekarang, terdapat sebuah permasalahan untuk proses pembayaran pada Time Zone. Jika kartu gesek ada sedikit lengkungan atau kusam, maka kartu gesek tersebut tidak dapat digunakan lagi untuk proses pembayaran pada wahan permainan tersebut dan tidak bisa digunakan disemua tempat wahana permainan. Maka penulis tertarik untuk merancang dan membangun aplikasi dari sistem pembayaran pada Time Zone yaitu, bagaimana membuat media
penyimpanan data pada konsep permainan elektrik berbasis microcontroller. Pada proses penelitian proyek Tugas Akhir ini, penyimpanan data saldo pembayaran disimpan pada kartu EEPROM, sedangkan data program permainan tersimpan pada microcontroller. Sehingga, mempermudah untuk proses pembacaan data program tersebut dan dapat menyimpan data saldo pada kartu EEPROM. Bentuk kartu memori ini seperti flashdisk, tetapi isinya adalah chip EEPROM, yang lebih tahan lama. Apabila IC microcontroller mengalami kerusakan, maka program data saldo tidak akan hilang dan rusak, karena sudah tersimpan di dalam kartu EEPROM. Keuntungan lain dari sistem ini adalah pengguna dapat melakukan pengecekkan saldo disetiap wahana permainan, yang ditampilkan melalui display LCD dan kartu EEPROM dapat digunakan disemua tempat wahana permainan, karena sistem pembayarannya bersifat independen atau berdiri sendiri disetiap tempat wahana permainan tersebut.
Microcontroller ATMega32 Microcontroller dan microprocessor mempunyai beberapa perbedaan. Jika ditelaah dari
Pratama Johansah Endaryono, Harianto, Madha Christian Wibowo JCONES Vol. 3, No. 1 (2014) Hal: 70
artinya maka, microprocessor adalah pengolah mikro sedangkan microcontroller adalah pengendali mikro. Dari pengertian diatas sebenarnya sudah bisa diketahui perbedaannya dimana microprocessor yang terdapat pada komputer seperti Intel Pentium, hanya dapat bekerja apabila terdapat komponen pendukung seperti RAM (Random Access Memory), hard disk, motherboard, perangkat I/O, dan sebagainya. Komponen-komponen tersebut diperlukan karena microprocessor hanya dapat melakukan pengolahan data, namun tidak dapat menyimpan data, menyimpan program, menerima masukan dari user secara langsung, ataupun menyampaikan data hasil pemrosesan ke keluaran. Berbeda dengan microprocessor, microcontroller sudah dilengkapi dengan komponen-komponen yang dikemas dalam satu chip seperti memori, perangkat I/O, timer, ADC (Analog to Digital Converter), dan lain-lain. Hal ini membuat microcontroller lebih tepat untuk digunakan pada aplikasi embedded system.( Putra, 2010). Microcontroller AVR (Alf and Vegard’s Risc processor) standar memiliki arsitektur 8bit, dimana semua instruksi dikemas dalam kode 16-bit, dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock. AVR berteknologi RISC (Reduced Instruction Set Computing). AVR dapat dikelompokkan menjadi empat kelas, yaitu keluarga ATtiny, keluarga ATSOSxx, keluarga ATmega, dan AT86RFxx. Pada dasarnya, yang membedakan masing-masing kelas adalah memori, anda dapat mencoba ATmega8 atau ATtiny2313 dengan ukuran Flash Memory 2KB dengan dua input analog konfigurasi pin dapat dilihat pada Gambar 1.
Gambar 1 Konfigurasi pin ATmega32 (Sumber: ATMEL, 2003)
5.
Port C (PCO..PC7) merupakan pin I/O dua arah dan fungsinya sebagai, TWI, komparator analog, dan timer osilator. 6. Port D (PDO..PD7) merupakan pin I/O dua arah dan fungsinya sebagai, komparator analog, interupsi eksternal dan komunikasi serial. 7. Reset merupakan pin yang digunakan untuk me-reset microcontroller. 8. XTAL 1 dan XTAL 2 sebagai pin clock eksternal. Pada microcontroller membutuhkan sumber (clock) agar dapat mengeksekusi instruksi yang ada di memori. Semakin tinggi nilai kristalnya, maka semakin cepat microcontroller tersebut. 9. AVCC sebagai pin tegangan untuk ADC. 10. AREF sebagai pin tegangan referensi.
Media Penyimpanan EEPROM AT24C16A EEPROM AT24C16A adalah media penyimpanan eksternal yang memiliki kapasitas sebesar 524.288 bit atau 65.536 bit. Memori ini cukup efisien dalam penggunaan pin dengan microcontroler. AT24C16 dikenal dengan nama 2-wire serial EEPROM menggunakan teknologi I2C.
Konfigurasi PIN AT24C01A/02/04/08A/16A menyediakan bit 1024/2048/4096/8192/16384 seri elektrik dihapus dan diprogram Read Only Memory (EEPROM) disusun sebagai 128/256/512/1024/2048 per-kata 8 bit. Alat ini dioptimalkan untuk digunakan dalam banyak aplikasi dimana daya rendah tegangan operasi sangat penting. AT24C01A/02/04/08A/16A tersedia dalam 8 PDIP, 8 Jedec Soic, 8 alamat, 5 SOT23 (AT24C01A/AT24C02/AT24C04), 8 TSSOP, dan 8 BGA2 paket dan diakses melalui dua jalur serial. Selain itu, (EEPROM) mempunyai catu daya 2.7V (2.7V ke 5.5V) dan 1.8V (1.8V untuk 5.5V) maka konfigurasi pin dapat dilihat pada Gambar 2.
Gambar 2. Konfigurasi pin AT24C16
Fungsi umum dari susunan pin microcontroller ATmega32 adalah sebagai berikut: 1. VCC merupakan catu daya positif. 2. GND sebagai pin ground catu daya negatif. 3. Port A (PAO..PA7) merupakan pin I/O dua arah dan dapat diprogram sebagai pin dari ADC. 4. Port B (PBO..PB7) merupakan pin I/O dua arah dan fungsinya sebagai, timer/counter, komparator analog, dan SPI.
(Sumber: ATMEL, 2005) 1. Serial Clock (SCL) 2. Serial Data (SDA) 3. Pengalamatan (A2, A1, A0A) 4. AT24C04 menggunakan input pin A1 dan pin A2 5. AT24C08A hanya menggunakan input pin A2, pin A0 dan pin A1 tidak terhubung. 6. AT24C16A tidak menggunakan alamat pin A0, pin A1 dan pin A2.
Pratama Johansah Endaryono, Harianto, Madha Christian Wibowo JCONES Vol. 3, No. 1 (2014) Hal: 71
7.
Perlindungan penulisan (WAP)T: 24C01A/02/04/08A/16A digunakan untuk menyediakan perlindungan data. Untuk melindungi data penulisan normal, operasi baca / tulis harus terhubung ke ( GND ). Ketika melakukan penulis, harus terhubung dengan ( VCC ) untuk mengaktifkan perlindungan penulisan data tersebut.
American Standard Codes for International Interchange (ASCI) ASCII singkatan dari American Standard Code for Informasi Interchange. Komputer hanya dapat memahami nomor, maka kode ASCII adalah representasi numerik dari karakter seperti 'a', '@'. ASCII dikembangkan dengan karakter non-printing. Karakter ASCII yang termasuk dalam deskripsi pertama 32 karakter non-printing, ASCII dirancang untuk digunakan dengan teletypes sehingga dapat ditampilkan dengan deskripsi yang kabur. Sehingga dengan mudah mengimpor file ke dalam aplikasi tanpa masalah.
Liqiud Cristal Display (LCD)
Gambar 3 Bentuk fisik LCD (Sumber: Hawkins, 2012) Pada Gambar 3 LCD adalah salah satu komponen elektronika yang berfungsi untuk menampilkan data, baik karakter, huruf ataupun grafik. Di pasaran LCD sudah tersedia dalam bentuk modul yaitu tampilan LCD beserta rangkaian pendukungnya termasuk ROM dan lain-lain. LCD mempunyai pin DATA, kontrol catu daya, dan pengatur kontras tampilan. Fungsi dari pin-pin pada konfigurasi dari LCD yaitu: 1. Pin DATA dapat dihubungkan dengan bus data dari rangkaian lain seperti microcontroller dengan lebar data 8 bit. 2. Pin RS (Register Select) berfungsi sebagai indikator atau yang menentukan jenis data yang masuk, apakah data atau perintah. Logika low menunjukan yang masuk adalah perintah, sedangkan logika high menunjukan data. 3. Pin R atau W (Read Write) berfungsi sebagai instruksi pada modul jika low tulis data, sedangkan high baca data. 4. Pin E (Enable) digunakan untuk memegang data baik masuk atau keluar. 5. Pin VLCD berfungsi mengatur kecerahan tampilan (kontras) dimana pin ini
dihubungkan dengan variabel resistor 5 kOhm, jika tidak digunakan dihubungkan ke ground, sedangkan tegangan catu daya ke LCD sebesar 5 Volt. LCD telah dilengkapi dengan microcontroller HD44780 yang berfungsi sebagai pengendali. LCD ini juga mempunyai CGROM (Character Generator Read Only Memory), CGRAM (Character Generator Random Access Memory) dan DDRAM (Display Data Random Access Memory).
Inter Integrated Circuit (I2C) Inter Integrated Circuit atau sering disebut I2C adalah standar komunikasi serial dua arah menggunakan dua saluran yang didesain khusus untuk mengirim maupun menerima data. I2C merupakan bus standar yang didesain oleh Philips pada awal tahun 1980-an untuk memudahkan komunikasi antar komponen pada suatu rangkaian. I2C merupakan singkatan dari Inter IC atau komunikasi antar IC, sering disebut juga IIC atau I2C. Pada awalnya, kecepatan komunikasi maksimumnya atur pada 100kbps karena pada awalnya kecepatan tinggi belum dibutuhkan pada transmisi data. Untuk yang membutuhkan kecepatan tinggi, ada mode 400kbps dan sejak 1998 ada mode kecepatan tinggi 3,4Mbps. I2C tidak hanya digunakan pada komponen yang terletak pada satu board, tetapi juga digunakan untuk menghubungkan komponen yang terhubung melalui kabel. Kesederhanaan dan fleksibilitas merupakan ciri utama dari I2C, kedua hal tersebut membuat bus ini mampu menarik penggunaanya dalam berbagai aplikasi. Fitur-fitur signifikan dari bus ini adalah : 1. Hanya 2 jalur/kabel yang dibutuhkan. 2. Tidak ada aturan baud rate yang ketat seperti pada RS232, di bus ini IC yang berperan sebagai master akan mengeluarkan bus clock. 3. Hubungan master/slave berlaku antara komponen satu dengan yang lain, setiap perangkat yang terhubung dengan bus mempunyai alamat unik yang diset melalui software. 4. IC yang berperan sebagai master mengontrol seluruh jalur komunikasi dengan mengatur clock dan menentukan siapa yang menggunakan jalur komunikasi. Jadi IC yang berperan sebagai slave tidak akan mengirim data kalau tidak diperintah oleh Master. 5. I2C merupakan bus yang mendukung multi-master yang mempunyai kemampuan arbitrasi dan pendeteksi tabrakan data.
Protokol Fisik I2C Ketika master (controller) ingin berkomunikasi dengan slave, master akan mulai mengirim start sequence pada bus I2C. Start sequence adalah salah satu dari dua sequence spesial pada bus I2C, sekuens spesial lainnya adalah stop. Start sequence dan stop sequence merupakan tahap spesial dimana merupakan kondisi dimana SDA (jalur data)
Pratama Johansah Endaryono, Harianto, Madha Christian Wibowo JCONES Vol. 3, No. 1 (2014) Hal: 72
boleh berubah ketika SCL (jalur clock) dalam kondisi naik (1). Start sequence menandai awal dari transaksi data dengan perangkat slave. Stop sequence menandai akhir transaksi data dengan perangkat slave data alur dapat dilihat pada Gambar 4.
Gambar 6 Blok Diagram Pengisian Saldo
Gambar 4 Alur data SCL dan SDA (Sumber: I2C_Tutoria, 2000)
METODE Perancangan Sistem Agar mendapatkan hasil yang diinginkan maka diperlukan suatu rancangan agar dapat mempermudah dalam memahami sistem yang akan dibuat, oleh karenanya akan dibuat seperti Gambar 5
Sedangkan pada Gambar 6 merupakan blok diagram pengisian saldo permainan, fungsi komputer untuk mendownloadkan program pengisian saldo, kemudian perintah dari komputer akan diterima oleh microcontroller ATmega32. Sebagai proses untuk melakukan pengisian saldo permainan, kemudian microcontroller akan menuliskan data saldo kembali pada EEPROM. Dan data saldo tersebut akan tersimpan di EEPROM, kemudian microcontroller akan menampilkan proses tersebut, bahwa saldo sudah terisi pada layar LCD. Jika tombol 1 ditekan, maka microcontroller akan melakukan proses read pada EEPROM untuk menampilkan saldo yang telah terisi pada layar LCD. Sedangkan fungsi dari LCD adalah, untuk menampilkan proses pengisian saldo yang dilakukan oleh microcontroller yang tersimpan pada kartu EEPROM.
Perancangan Perangkat Keras
Minimum System ATmega32 Gambar 5 Blok Diagram Sistem Pembaca Kartu Memori di Wahana Permainan Gambar 5 merupakan blok diagram permainan, fungsi dari microcontroller ATmega32 sebagai tempat penyimpanan data program permainan elektrik. EEPROM berfungsi sebagai tempat penyimpanan data saldo permainan, sedangkan LCD berfungsi untuk menampilkan hasil dari proses permainan. Setelah itu microcontroller ATmega32 kembali membaca data program permainan, jika tombol 1 ditekan maka microcontroller akan melakukan proses read dan write pada EEPROM untuk mengurangi saldo di awal permainan dengan biaya permainan sebesar Rp 2000 dan dituliskan lagi sisa dari hasil pengurangan saldo tersebut di EEPROM, kemudian microcontroller akan mengirimkan data ke wahana permainan dengan menggunakan kabel serial untuk proses bermain pada setiap wahana permainan tersebut. Jika tombol 2 ditekan maka microcontroller hanya melakukan proses read saja, untuk melihat sisa saldo yang ada pada kartu EEPROM. Semua proses bermain dan untuk melihat sisa saldo pada tiap kartu memori akan ditampilkan pada layar LCD.
Minimum system ATmega32 yang digunakan adalah minimum sistem dari Innovative Electronics. Dengan spesifikasi sebagai berikut 1. Microcontroller ATmega32 yang mempunyai 8KB Flash Memory dan 8 channel ADC dengan resolusi 10 bit. 2. Mendukung varian AVR 40 pin, antara lain : ATmega32, ATmega8535, AT90S8515, AT90S8535, dll. Untuk tipe AVR tanpa internal ADC membutuhkan Conversion Socket. 3. Memiliki jalur I/O hingga 35 pin. 4. Terdapat eksternal Brown Out Detector sebagai rangkaian reset. 5. Konfigurasi jumper untuk melakukan pemilihan beberapa model pengambilan tegangan referensi untuk tipe AVR dengan internal ADC. 6. LED (Light Emitting Diode) Programming indicator. 7. Frekuensi osilator sebesar 4 MHz. 8. Tersedia jalur komunikasi serial UART RS232 dengan konektor RJ-11. 9. Tersedia port untuk pemrograman secara ISP. Tegangan input catu daya 9-12 VDC dan output tegangan 5 VDC seperti pada Gambar 7.
Pratama Johansah Endaryono, Harianto, Madha Christian Wibowo JCONES Vol. 3, No. 1 (2014) Hal: 73
(Sumber: ATMEL, 2005)
Fungsi Tombol
Gambar 7 Rangkaian skematik Minimum System ATmega32 (Innovative Electronics, 2004)
Rangkaian EEPROM AT24C16A EEPROM AT24C16 secara khusus dapat menyimpan data sebanyak 16.384 bit. Jika dijadikan byte menjadi 16384/8 adalah 2048 byte/s. EEPROM memungkinkan untuk melakukan komunikasi melalui bus I2C, dengan beroperasi pada catu daya yang berbeda (tergantung pada kecepatan bus) untuk 400kHz dengan catu daya 5V, jika frequency 100kHz dengan catu daya 1,8 - 2,7V seperti Gambar 8.
Gambar 8 Alamat Format untuk perangkat I2C (Sumber: ATMEL, 2005) Broadcast address untuk I2C bus terdiri dari alamat bit A2 sampai A0, blok memori (B2 B0), bit R / W (bit LSB), dan bit 1 dari alamat MSB. Berikut ini adalah cara penulisan pada EEPROM dengan menulis byte dilokasi yang dituju sebagai berikut: a. Proses memulai awal (start) b. Memilih alamat penyimpanan c. Setelah menemukan alamat yang dituju, maka akan menuliskan data per-bit d. Alamat yang ditampilkan pada gambar di atas perbit terakhir adalah alamat awal per- menit e. Kemudian mengirimkan data ke alamat yang dituju f. Kemudian melakukan proses baca per-bit g. Proses selesai (stop) dapat dilihat pada Gambar 9.
Gambar 9 Diagram 4 byte menulis ke memori
Dalam memudahkan user untuk melakukan pemilihan bermain pada wahana permainan yang ada, mala pada layar LCD diberikan sebuah solusi dengan menambahkan rangkaian untuk tombol pilihan. Dimana terdapat dua buah tombol push button yang memiliki fungsi masing-masing dalam melakukan pemilihan permainan atau melihat sisa saldo pada tiap kartu pemain. Adapun dua tombol tersebut terdiri dari tombol 1 (untuk memulai bermain), tombol 2 (untuk melihat sisa saldo yang terdapat pada kartu). Dengan dibuatnya dua tombol tersebut, maka user dapat memilih dengan bermain atau melihat sisa saldo dalam kartu, maka ditampilkan pada LCD, sehingga proses pemilihan dapat berjalan dengan baik.
Light Emitting Diode (LED) Indikator Pada alat ini terdapat beberapa LED indikator. Dimana terdapat (1 buah) LED kuning untuk indikator alat menyala, 6 buah LED merah dan biru untuk indikator proses bermain.
Rangkaian LCD
Gambar 10 Rangkaian LCD ke microcontroller Pada Gambar 10 keterangan pin LCD ke microcontroller: 1. GND 2. VCC (+5V) 3. Penyesuaian pada resistor (VO) 4. Register Select (RS) dihubungkan ke pin D5 pada ATmega32 RS=0: perintah, RS=1: membaca data 5. Read/Write (R/W) dihubungkan ke pin D4 pada ATmega32 R/W=0: tulis, R/W=1: baca 6. Dihubungkan ke pin D6 pada ATmega32 7. Bit 0 (tidak dihubungkan) 8. Bit 1 (tidak dihubungkan) 9. Bit 2 (tidak dihubungkan) 10. Bit 3 (tidak dihubungkan) 11. Bit 4 dihubungkan ke pin D0 pada ATmega32 12. Bit 5 dihubungkan ke pin D1 pada ATmega32 13. Bit 6 dihubungkan ke pin D2 pada ATmega32
Pratama Johansah Endaryono, Harianto, Madha Christian Wibowo JCONES Vol. 3, No. 1 (2014) Hal: 74
14. Bit 7 dihubungkan ke pin D3 pada ATmega32 15. LED (dihubungkan ke VCC) 16. LED (dihubungkan ke GND)
menulis. Berikut potongan fungsi proses membaca dan menulis EEPROM.
Perancangan Perangkat Lunak Perancangan perangkat lunak dibuat menggunakan bahasa program c++ dengan aplikasi CodeVision AVR. Program ini meliputi pendeteksian input dari tombol, proses pengolahan data, output berupa LCD dan tanda permainan dimulai. Berikut adalah penjelasan dari masing-masing bagian dari program. Jika tombol 1 ditekan, maka akan mendeteksi saldo di bawah 2000, jika saldo di bawah 2000, maka dalam proses akan muncul tulisan “maaf saldo tidak cukup”. Jika saldo diatas 2000 maka proses akan berlanjut pada permainan dan akan memotong saldo sebesar 2000. Jika tombol 2 ditekan maka akan mengecek sisa saldo yang ada didalam EEPROM. Pada Gambar 11 adalah bentuk flowchart dari program keseluruhan.
unsigned char eeprom_read(long address) { int data; i2c_start(); i2c_write(EEPROM_BUS_ADDRESS); i2c_write((address) & 0x7F); i2c_write(address >> 8); i2c_start(); i2c_write(EEPROM_BUS_ADDRESS | 0x01); data = i2c_read(0); i2c_stop(); return(data); } void eeprom_write(long address, char data) { i2c_start(); i2c_write(EEPROM_BUS_ADDRESS); i2c_write((address) & 0x7F); i2c_write(address >> 8); i2c_write(data); i2c_stop(); delay_ms(10); }
Proses Pengurangan Saldo Permainan Pada proses pengolahan data microcontroller, data yang diolah atau yang diproses adalah data yang berada di EEPROM. Data pada EEPROM melakukan proses read dan write. Proses read dilakukan ketika data dibutuhkan untuk diolah dan proses write dilakukan ketika data ingin ditambahkan atau diganti. Dalam proses ini write dilakukan ketika permainan berlangsung sehingga data saldo pada EEPROM harus diganti dengan data saldo setelah pemotongan. Ketika tombol 1 ditekan, maka akan melakukan pengecekan pada saldo di EEPROM. Kemudian jika saldo kurang dari 2000 maka akan muncul tulisan “maaf saldo tidak cukup”, jika saldo pad EEPROM lebih dari 2000, maka akan melakukan proses pengurangan saldo sebesar 2000. Kemudian update sisa saldo yang ada di EEPROM, kembali ke menu awal. Pada Gambar 12 berupa flowchart pengurangan saldo.
Start
Tombol 1
Baca EEPROM
Saldo <= 2000
maaf saldo tidak cukup”
Main Saldo = saldo - 2000
Tombol 2
Lihat isi saldo
Tombol 1 on
Baca Saldo
Stop
Gambar 11 Flowchart program keseluruhan
Komunikasi Antara Microcontroller
EEPROM
Saldo <= 2000
“maaf saldo tidak cukup”
dan
Komunikasi antara EEPROM dan microcontroller memanfaatkan komunikasi secara I2C. Dalam komunikasi I2C hanya menggunakan dua jalur dari port microcontroller (SCL dan SDA) yang menuju port EEPROM. Pada komunikasi I2C ini microcontroller memerintahkan EEPROM untuk menulis atau membaca pada alamat-alamat yang telah ditentukan oleh microcontroller. Dalam berkomunikasi microcontroller harus mengirim header terlebih dahulu agar EEPROM mengerti, perintah tersebut berupa perintah membaca atau
Proses pengurangan saldo - 2000
Update saldo
Menu awal
Gambar 12 Flowchart pengurangan saldo
Pratama Johansah Endaryono, Harianto, Madha Christian Wibowo JCONES Vol. 3, No. 1 (2014) Hal: 75
5. Perhatikan respon dari LCD if (a[2]<=49) { if(a[1]>=49) { a[1]=a[1]-1; a[2]=a[2]+8; } else if(a[0]>=49) { a[0]=a[0]-1; a[1]=a[1]+9; a[2]=a[2]+8; } else if(a[0]==48 && a[1]==48) { lcd_clear(); lcd_gotoxy(0,0); lcd_puts("Maaf, Saldo"); lcd_gotoxy(0,1); lcd_puts("Tidak Mencukupi"); } } else a[2]=a[2]-2; if (a[0]=='0') { a[0]=' '; } if (a[0]==' ' && a[1]=='0') { a[1]=' '; } eeprom_write(1,a[0]); eeprom_write(3,a[1]); eeprom_write(5,a[2]); delay_ms(500); lcd_clear(); a[0]=eeprom_read(1); a[1]=eeprom_read(3); a[2]=eeprom_read(5); lcd_gotoxy(0,0); lcd_puts("Saldo Anda :"); lcd_gotoxy(0,1); lcd_puts(a); play(); lcd_clear(); lcd_gotoxy(0,0); lcd_puts("Welcome Gamers!!"); lcd_gotoxy(0,1); lcd_puts("1.Play | 2.Saldo"); }
HASIL DAN PEMBAHASAN Pengujian LCD Tujuan Tujuan dari pengujian ini adalah untuk menampilkan perintah microcontroller ke LCD.
Alat yang digunakan 1. LCD 2x16 2. Minimum System ATmega32 3. Software CodeVision AVR 2.03.4
Prosedur Pengujian
Hasil Pengujian Hasil pengujian LCD dapat dilihat pada Gambar 13.
Gambar 13 Pengujian LCD
Pengujian Sistem Secara Keseluruhan Pengujian ini dilakukan secara keseluruhan, sebelum kartu EEPROM dimasukkan ke minimum system ATmega32 hingga respon pembacaan dan penulisan pada EEPROM.
Tujuan Tujuan dari pengujian ini adalah mengetahui hasil dari proses bermain hingga ke proses penulisan dan pembacaan pada EEPROM secara keseluruhan.
Alat Yang Digunakan 1. AT24C16A 2. Software CodeVision AVR 2.03.4 3. Minimum System ATmega32 4. LCD 2x16 5. Tombol 6. LED
Prosedur Pengujian 1. Hubungkan adaptor ke listrik 2. Hubungkan adaptor ke minimum system 3. Menyalakan minimum system ATmega32 4. Download program permainan ke ATmega32 5. Tunggu hingga LCD mengeluarkan string “masukan kartu...” 6. Hubungkan kartu EEPROM ke minimum system ATmega32 7. Tekan tombol dua untuk melihat sisa saldo (proses read) 8. Perhatikan respon dari LCD 9. Tekan tombol satu untuk bermain (proses read kemudian write) 10. Perhatikan respon dari LCD dan LED akan menyala sebagai indikator pada proses permainan ini
Hasil Pengujian Hasil pengujian keseluruhan dapat dilihat pada Gambar 14, Gambar 15, Gambar 16, Gambar 17, Gambar 18.
1. Hubungkan adaptor ke listrik 2. Hubungkan adaptor ke minimum system 3. Menyalakan minimum system ATmega32 4. Download program LCD ke ATmega32 Pratama Johansah Endaryono, Harianto, Madha Christian Wibowo JCONES Vol. 3, No. 1 (2014) Hal: 76
mengirimkan header awal (I2C_start) kemudian alamat dan data yang akan disimpan lalu diikuti header akhir (I2C_stop). Sedangkan untuk pembacaan data penulis hanya mengirimkan data header dan alamat. Pada proses pembacaan memori, diketahui bahwa rata-rata waktu yang diperlukan untuk membaca pada memori 1 adalah (2,9detik) dan memori 2 adalah (2,566detik).
Gambar 14 Masukan kartu
DAFTAR PUSTAKA Damaiyanto, Panji, K. 2012. (online). (http://repository.library.uksw.edu/ jspui/handle/123456789/2353). ATMEL. 2003. ATmega32/ ATmega32A. (online). (http://pdf1.alldatasheet. com/datasheetpdf/view/77378/ ATMEL/ATMEGA32.html).
Gambar 15 Menu permainan
Putra.
Gambar. Gambar 16 Pengecekan saldo
2010. (online). (http://share.pdfonline. com/97465689e261456aa058c82 c7774cfe7/TK404-041035-685-2.htm). 2011. Minimum System ATmega32. (online). (http://innovativeelectronics. com/ index_indo.php).
ATMEL. 2005. AT24C16/ AT24C16A. (online). (http://pdf1.alldatasheet. com/ datasheetpdf/view/56066/ ATMEL/ AT24C16.html). Gambar. 2009. Konfigurasi Pin AT24C16. (online). (http://www.seekic. com/ uploadfile/icmfg/201272065641400. jpg). Gambar 17 Pemotongan saldo, indikator LED merah Tabel. Hawkins,
Gambar 18 Pemotongan saldo, indikator LED biru
SIMPULAN Adapun kesimpulan utama dari Tugas Akhir ini adalah sebagai berikut : 1. Penelitian ini dapat membuat sebuah sistem, yang dapat membaca dan menulis di EEPROM kemudian diolah oleh microcontroller dan ditampilkan oleh LCD. Microcontroller mengirimkan sinyal serial yang berisi alamat dan data yang akan disimpan oleh EEPROM. Sehingga, ketika microcontroller membutuhkan data tersebut microcontroller hanya memanggil alamat yang diinginkan datanya. 2. Peneliti memanfaatkan komunikasi I2C sebagai komunikasi antara microcontroller dengan EEPROM. Pada komunikasi ini sebelum mengirimkan data yang ingin disimpan peneliti
Chen.
2010. ASCII. (online). (http://www. lookuptables.com/ebcdic_ scancodes.php). Matt. 2012. LCD. (online). (http://www.raspberrypi-spy.co. uk/2012/07/16x2-lcd-module-controlusing-python/). 2008. LCD. (online). (https://www. sparkfun.com/datasheets/LCD/ ADM1602K-NSW-FBS-3.3v.pdf).
Tutorial. 2000. I2C. (online). (http://www.robotelectronics.co.uk/ acatalog/I2C_Tutorial.html).
Pratama Johansah Endaryono, Harianto, Madha Christian Wibowo JCONES Vol. 3, No. 1 (2014) Hal: 77