TA : Rancang Bangun Sistem Pembayaran Mandiri Pada Wahana Permainan.

(1)

WAHANA PERMAINAN

Oleh:

Nama : Pratama Johansah Endaryono NIM : 08.41020.0042

Program : S1 (Strata Satu) Jurusan : Sistem Komputer

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA DAN TEKNIK KOMPUTER SURABAYA


(2)

vi

Permainan merupakan suatu sarana hiburan yang diminati oleh banyak kalangan, mulai dari anak-anak, remaja, maupun orang dewasa. Zaman dahulu permainan hanya dilakukan dirumah atau bermain bersama teman-teman saja, semakin berkembangnya zaman sekarang maka dibuatlah sebuah sarana bermain di wahana permainan tertentu. Misalnya dengan menggunakan koin sebagai sarana pembayaran pada wahana tersebut dan sampai sekarang dibuatlah sebuah alat yang sistem pembayarannya bukan lagi menggunakan koin melainkan menggunakan kartu gesek. Maka dirancanglah sebuah alat yang sistem pembayarannya independen atau berdiri sendiri pada tiap wahana permainan.

Sedangkan sistem pembayaran pada wahana permainan sekarang, menggunakan kartu gesek yang terhubung secara terpusat dengan menggunakan kabel LAN sebagai jaringan komunikasinya. Pada Tugas Akhir kali ini bertujuan untuk membuat media penyimpanan data pada konsep permainan elektrik berbasis microcontroller, dengan EEPROM sebagai kartu penyimpanan data saldo permainan. Bentuk dari kartu memori ini seperti flashdisk, tetapi isinya adalah chip EEPROM khusus.

Pada tampilan luar alat ini terdapat sebuah LCD sebagai layar untuk menampilkan proses bermain dan melihat sisa saldo yang ada pada kartu memori. Terdapat 2 tombol, tombol 1 untuk bermain dan tombol 2 untuk melihat sisa saldo pada kartu memori. Terdapat beberapa LED untuk indikator proses berjalannya permainan tersebut. Sedangkan untuk microcontroller, menggunakan sebuah Minimum System ATmega32.

Cara kerja alat ini cukup sederhana, namun memiliki kegunaan dan fungsi yang sangat besar dalam aplikasi di dunia nyata. Keuntungan lain dari alat ini, kita dapat melihat sisa saldo pada kartu memori yang dimiliki tiap pemain dan bisa mengakses kesemua tempat


(3)

(4)

x

ABSTRAKSI ... vi

KATA PENGANTAR ... viii

DAFTAR ISI ... x

DAFTAR TABEL ... xiv

DAFTAR GAMBAR ... xv

BAB I PENDAHULUAN ... 1

1.1. Latar Belakang Masalah ... 1

1.2. Perumusan Masalah ... 2

1.3. Pembatasan Masalah ... 2

1.4. Tujuan ... 2

1.5. Kontribusi ... 3

1.6. Sistematika Penulisan ... 3

BAB II LANDASAN TEORI ... 5

2.1. Microcontroller ATMega32 ... 5

2.1.1. Konfigurasi PIN ... 7

2.2. Media Penyimpanan EEPROM AT24C16 ... 10

2.2.1. Konfigurasi Pin ... 10

2.3. American Standard Codes for International Interchange (ASCI) ... 12

2.4. Liqiud Cristal Displya (LCD) ... 17

2.4.1. Display Data Random Access Memory (DDRAM) ... 19

2.4.2. Character Generator Random Access Memory (CGRAM) ... 19


(5)

2.5. Inter Integrated Circuit (I2C) ... 20

2.5.1. Mekanisme Hubungan Antar Komponen ... 21

2.5.2. Protokol Fisik I2C ... 23

BAB III METODE PENELITIAN ... 26

3.1. Model Penelitian ... 26

3.2. Perancangan Perangkat Keras ... 28

3.2.1. Minimum System ATmega32 ... 28

3.3 Rangkaian EEPROM AT24C16 ... 29

3.4 Fungsi Tombol... 32

3.5 Light Emitting Diode (LED) Indikator... 33

3.6 Rangkaian LCD... 34

3.7 Perancangan Perangkat Lunak ... 35

3.8 Komunikasi Antara EEPROM dan Microcontroller... 36

3.9 Program Pendeteksian Input ... 37

3.9.1 Proses Pengurangan Saldo Permainan ... 39

3.9.2 Proses Output LCD ... 42

3.9.3 Proses Output LED... 42

3.10 Desain Mekanik... 43

3.11 Metode Pengujian dan Evaluasi ... 45

3.11.1 Pengujian Minimum System ATmega32 ... 45

3.11.2.Pengujian LCD ... 45

3.11.3.Pengujian LED... 46

3.11.4.Pengujian Tombol... 46


(6)

3.11.6.Evaluasi ... 47

BAB IV HASIL DAN PEMBAHASAN ... 48

4.1. Pengujian LCD ... 48

4.1.1. Tujuan... 48

4.1.2. Alat yang Digunakan ... 48

4.1.3. Prosedur Pengujian ... 48

4.1.4. Hasil Pengujian ... 48

4.2. Pengujian Input Tombol ... 49

4.2.1. Tujuan ... 49

4.2.2. Alat yang Digunakan ... 49

4.2.3. Prosedur Pengujian ... 49

4.2.4. Hasil Pengujian ... 50

4.3 Pengujian Koneksi EEPROM dan Minimum System ... 51

4.3.1. Tujuan ... 51

4.3.2. Alat yang Digunakan ... 51

4.3.3. Prosedur Pengujian ... 51

4.3.4. Hasil Pengujian Koneksi EEPROM dan Minimum System ... 52

4.4. Pengujian Sistem Secara Keseluruhan ... 53

4.4.1. Tujuan ... 53

4.4.2. Alat yang Digunakan ... 54

4.4.3. Prosedur Pengujian ... 54

4.4.4. Hasil Pengujian ... 54

BAB V PENUTUP ... 59


(7)

5.2. Saran ... 59

DAFTAR PUSTAKA ... 61

LAMPIRAN ... 62

Lampiran 1 Kode Program Main... 62

Lampiran 2 Kode Program Isi Saldo... 71

Lampiran 3 Langkah-langkah Penggunaan Alat... 77


(8)

xiv

Tabel 2.1. Tabel ASCII ... 13

Tabel 2.2. Konfigurasi Pin LCD ... 17

Tabel 2.3. Karakter Pada CGROM M1632 LCD ... 20


(9)

xv

Gambar 2.1. Modul Minimun System ATmega32 ... 7

Gambar 2.2. Konfigurasi Pin Microcontroller ATmega32 ... 7

Gambar 2.3. Diagram Blok ATmega32 ... 9

Gambar 2.4. Konfigurasi Pin AT24C16 ... 10

Gambar 2.5. Diagram Blok AT24C16 ... 11

Gambar 2.6. Format Pengalamatan Memori ... 12

Gambar 2.7. Bentuk Fisik LCD ... 17

Gambar 2.8. Konfigurasi LCD ... 18

Gambar 2.9. Ilustrasi SCL dan SDA ... 22

Gambar 2.10. Transaksi Pada Data SCL dan SDA ... 24

Gambar 2.11. Alamat Pengiriman SCL dan SDA ... 24

Gambar 3.1. Blok Diagram Permainan ... 26

Gambar 3.2. Blok Diagram Pengisian Saldo... 27

Gambar 3.3. Rangkaian Skematik Minimum System ATmega32 ... 29

Gambar 3.4. Alamat Format Untuk Perangkat I2C ... 30

Gambar 3.5. Diagram 4 byte Untuk Menulis ke Memori ... 31

Gambar 3.6. Diagram Membaca Alamat Yang Dipilih ... 31

Gambar 3.7. Rangkaian EEPROM ke Microcontroller ATmega32 ... 32

Gambar 3.8. Tombol Pilihan ... 33

Gambar 3.9. LED Indikator ... 33

Gambar 3.10. Rangkaian LCD ke Microcontroller ... 34


(10)

Gambar 3.12. Flowchart Pendeteksi Input ... 38

Gambar 3.13. Flowchart Pengurangan Saldo ... 40

Gambar 3.14. Flowchart Output LED ... 42

Gambar 3.15. Alat Tampak Atas ... 44

Gambar 3.16. Alat Tampak Samping ... 44

Gambar 3.17. Bentuk Kartu Penyimpanan Data Saldo ... 45

Gambar 4.1. Pengujian LCD ... 49

Gambar 4.2. Penekanan Tombol 1 ... 50

Gambar 4.3. Penekanan Tombol 2 ... 50

Gambar 4.4. Tampilan Proses Read ... 52

Gambar 4.5. Tampilan Proses Write + Read Berwarna Merah ... 53

Gambar 4.6. Tampilan Proses Write + Read Berwarna Biru ... 53

Gambar 4.7. Masukan Kartu ... 55

Gambar 4.8. Menu Permainan ... 56

Gambar 4.9. Pengecekan Saldo ... 57


(11)

1 1.1 Latar Belakang

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


(12)

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.

1.2 Perumusan Masalah

Berdasarkarkan latar belakang yang telah dijelaskan di atas dapat dirumuskan permasalahan sebagai berikut :

1. Bagaimana cara penyimpanan saldo wahana permainan pada EEPROM agar dapat dibaca dan ditulis oleh microcontroller.

2. Bagaimana cara koneksi serial antara microcontroller dan EEPROM. 1.3 Pembatasan Masalah

1. Menggunakan EEPROM sebagai memori untuk menulis dan menyimpan data.

2. Terdapat komputer yang berfungsi sebagai pengisian saldo. 3. Menggunakan LCD untuk menampilkan saldo.

4. Tidak membahas sistem keamanan. 1.4 Tujuan


(13)

1. Penyimpanan saldo wahana permainan pada EEPROM agar dapat dibaca dan ditulis oleh microcontroller.

2. Membuat koneksi serial antara microcontroller dan EEPROM. 1.5 Kontribusi

Pemanfaatan EEPROM cukup banyak dikembangkan sebagai media penyimpanan tambahan microcontroller. Dengan memanfaatkan metode ini, diharapkan EEPROM dapat menjadi suatu media penyimpanan yang dapat digunakan secara mobile sebagai penyimpan data saldo pada wahana permainan.

Umumnya EEPROM digunakan sebagai penyimpanan data permanen seperti databaselogger. Pada penelitian sebelumnya penyimpanan data EEPROM digunakan oleh Kresno Panji Damaiyanto (2012) yang memanfaatkan EEPROM sebagai penyimpanan database dari aktivitas forklift.

Pada penelitian kali ini penulis mengembangkan dari penelitian diatas tersebut untuk membuat suatu media penyimpanan yang praktis dan ekonomis. Media penyimpanan tersebut digunakan untuk menyimpan data saldo yang dapat berkurang bila kita bermain pada wahana permainan dan dapat bertambah bila kita isi saldo tersebut pada counter pengisian saldo permainan. Sehingga pengguna hanya memasukkan kartu pada slot yang telah tersedia agar dapat mengaktifkan permainan dan saldo akan berkurang secara otomatis. Pada masing-masing wahana permainan disediakan fasilitas untuk melihat saldo yang dimiliki oleh setiap pengguna.

1.6 Sistematika Penulisan

Laporan Tugas Akhir ini ditulis dengan sistematika penulisan sebagai berikut:


(14)

BAB I : PENDAHULUAN

Bab ini membahas tentang latar belakang masalah, perumusan masalah, pembatasan masalah, tujuan penulisan laporan Tugas Akhir, kontribusi dan sistematika penulisan Tugas Akhir.

BAB II : LANDASAN TEORI

Bab ini membahas tentang berbagai teori yang mendukung Tugas Akhir ini. Hal tersebut meliputi Microcontroller ATMega32, Media Penyimpanan EEPROM AT24C16A, Liqiud Cristal Display (LCD). BAB III :METODE PENELITIAN

Bab ini membahas tentang blok diagram sistem, flowchart dari program microcontroller, metode penyimpanan data pada EEPROM yang digunakan untuk menyimpan saldo permainan, adanya tombol sebagai input untuk pemilihan menu dan LED sebagai indikator dalam berjalannya permainan.

BAB IV : HASIL DAN PEMBAHASAN

Bab ini berisi tentang segala percobaan LCD, EEPROM, tombol dan hasil dari setiap percobaan tersebut. Percobaan ini meliputi percobaan dari sisi penyimpanan data EEPROM hingga secara keseluruhan.

BAB V : PENUTUP

Bab ini berisi tentang kesimpulan dari seluruh aplikasi yang dibuat serta diberikan saran untuk pengembangan lebih lanjut dari Tugas Akhir ini.


(15)

5

LANDASAN TEORI

2.1 Microcontroller ATmega32

Microcontroller dan microprocessor mempunyai beberapa perbedaan. Jika ditelaah dari 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


(16)

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. Berikut adalah fitur yang terdapat pada microcontroller ATmega32 yaitu:

1. Saluran I/O ada 32 buah, yaitu Port A, Port B, Port C, dan Port D. 2. ADC (Analog to Digital Converter) 10 bit sebanyak 8 channel. 3. Tiga buah Timer/Counter.

4. CPU yang terdiri dari 32 buah register.

5. Memiliki 131 instruksi yang membutuhkan 1 siklus clock. 6. Watchdog timer dengan osilator internal.

7. Dua buah timer/counter 8 bit, satu buah timer/counter 16 bit. 8. Tegangan operasi 2.7 V – 5.5 V pada ATmega 16L.

9. Internal SRAM sebesar 1 KB.

10.Memori flash sebesar 32KB dengan kemampuan Read While Write. 11.Unit interupsi internal dan external.

12.Port antarmuka SPI.

13.EEPROM sebesar 512 byte yang dapat diprogram saat operasi. 14.Antarmuka komparator analog.

15.4 channel PWM.

16.32x8 general purpose register.

17.Hampir mencapai 16 MIPS pada Kristal 16 MHz.


(17)

2.1.1. Konfigurasi PIN

Konfigurasi pin microcontroller ATmega32 dan bentuk modul minimum system ATmega32 terdapat pada Gambar 2.1 dan Gambar 2.2.

Gambar 2.1 Modul Minimum System ATmega32 (Sumber:Innovative Electronics, 2011)

Gambar 2.2 Konfigurasi pin microcontroller ATmega32. (Sumber: ATMEL, 2003)

Fungsi umum dari susunan pin microcontroller ATmega32 adalah sebagai berikut:

1. VCC merupakan catu daya positif.


(18)

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.

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.


(19)

Gambar 2.3 Diagram blok Atmega32 (Sumber: ATMEL, 2003)

Pada Gambar 2.3 dalam datasheet didasarkan pada simulasi dan characterization microcontrollers AVR, nilai tegangan pada ATmega32 adalah CMOS 8-bit daya rendah. Maka microcontroller akan meningkatkan Arsitektur RISC, dengan mengeksekusi instruksi dalam satu siklus. ATmega32 mencapai throughputs mendekati 1 MIPS per MHz memungkinkan system ini untuk mengoptimalkan konsumsi daya pada pengolahan kecepatan. (ATMEL, 2003).


(20)

2.2 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.

2.2.1 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).

Gambar 2.4 Konfigurasi pin AT24C16 (Sumber: ATMEL, 2005)

Pada Gambar 2.4 fungsi umum dari susunan pin EEPROM AT24C16 adalah sebagai berikut:

1. Serial Clock (SCL) 2. Serial Data (SDA)


(21)

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.

7. Perlindungan penulisan (WAP)T: 24C01A/02/04/08A/16A digunakan untuk menyediakan perlindungan data. Untuk melindungi data, pada format tulis dan baca, maka EEPROM harus terhubung ke pin (GND). Ketika menulis data, maka EEPROM harus terhubung ke pin (VCC) untuk mengaktifkan perlindungan penulisan data tersebut.

Gambar 2.5 Diagram blok AT24C16A (Sumber: ATMEL, 2005)

Pada Gambar 2.5 AT24C16A memiliki 2 pin SCL (serial clock) dan SDA (serial data). Operasi pada I2C, memori ini juga memiliki pin untuk tujuan pengalamatan yaitu A1 dan A0 sehingga memungkinkan untuk penggunaan secara paralel hingga 4 unit sekaligus. AT24C16 dapat dipasang secara paralel dengan menggunakan jalur I2C, untuk mendapatkan hasil secara maksimal sebesar 256 kByte. Memori ini juga dilengkapi dengan pengaman bila terjadi kesalahan


(22)

prosedur yang dapat menghilangkan isinya, yaitu memiliki pin WP (write protect). Jika pin ini dihubungkan ke (VCC) maka operasi tulis akan diabaikan.

Memori AT24C16A memiliki alamat internal 1010H. Pada saat melakukan operasi pengalamatan pada LSB harus ditambahkan sesuai dengan pin A1 dan A0. Format pengalamatan unit memori ini dapat dilihat pada Gambar 2.6.

Gambar 2.6 Format pengalamatan memori (Sumber: ATMEL, 2005)

AT24C16A dapat dijalankan untuk operasi baca maupun tulis. Pada operasi menulis disediakan 2 mode, yaitu byte write atau penulisan isi memori per-byte dan page write yaitu penulisan memori per halaman dengan jumlah data tiap halaman adalah 128 byte.

2.3 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 printing. Karakter ASCII yang termasuk dalam deskripsi pertama 32 karakter


(23)

non-printing, ASCII dirancang untuk digunakan dengan teletypes sehingga dapat ditampilkan dengan penulisan yang tidak jelas. Maka dapat mengkopi file ke dalam alamat yang ditujukan. Tabel 2.1 kode extended ASCII.

Tabel 2.1 Tabel ASCII Karakter Nilai Unicode

(heksadesimal)

Nilai ANSI ASCII (desimal)

Keterangan

NUL 0000 0 Null (tidak tampak)

SOH 0001 1 Start of heading (tidak tampak) STX 0002 2 Start of text (tidak tampak)

ETX 0003 3 End of text (tidak tampak)

EOT 0004 4 End of transmission (tidak tampak)

ENQ 0005 5 Enquiry (tidak tampak)

ACK 0006 6 Acknowledge (tidak tampak)

BEL 0007 7 Bell (tidak tampak)

BS 0008 8 Menghapus satu karakter di

belakang kursor (Backspace)

HT 0009 9 Horizontal tabulation

LF 000A 10 Pergantian baris (Line feed)

VT 000B 11 Tabulasi vertikal

FF 000C 12 Pergantian baris (Form feed)

CR 000D 13 Pergantian baris (carriage return)

SO 000E 14 Shift out (tidak tampak)

SI 000F 15 Shift in (tidak tampak)

DLE 0010 16 Data link escape (tidak tampak) DC1 0011 17 Device control 1 (tidak tampak) DC2 0012 18 Device control 2 (tidak tampak) DC3 0013 19 Device control 3 (tidak tampak) DC4 0014 20 Device control 4 (tidak tampak)

NAK 0015 21 Negative acknowledge (tidak

tampak)

SYN 0016 22 Synchronous idle (tidak tampak) ETB 0017 23 End of transmission block (tidak

tampak)

CAN 0018 24 Cancel (tidak tampak)

EM 0019 25 End of medium (tidak tampak)

SUB 001A 26 Substitute (tidak tampak)

ESC 001B 27 Escape (tidak tampak)

FS 001C 28 File separator

GS 001D 29 Group separator

RS 001E 30 Record separator

US 001F 31 Unit separator

SP 0020 32 Spasi


(24)

" 0022 34 Tanda kutip dua

# 0023 35 Tanda pagar (kres)

$ 0024 36 Tanda mata uang dolar

% 0025 37 Tanda persen

& 0026 38 Karakter ampersand (&)

‘ 0027 39 Karakter Apostrof

( 0028 40 Tanda kurung buka

) 0029 41 Tanda kurung tutup

* 002A 42 Karakter asterisk (bintang)

+ 002B 43 Tanda tambah (plus)

, 002C 44 Karakter koma

- 002D 45 Karakter hyphen (strip)

. 002E 46 Tanda titik

/ 002F 47 Garis miring (slash)

0 0030 48 Angka nol

1 0031 49 Angka satu

2 0032 50 Angka dua

3 0033 51 Angka tiga

4 0034 52 Angka empat

5 0035 53 Angka lima

6 0036 54 Angka enam

7 0037 55 Angka tujuh

8 0038 56 Angka delapan

9 0039 57 Angka sembilan

: 003A 58 Tanda titik dua

; 003B 59 Tanda titik koma

< 003C 60 Tanda lebih kecil

= 003D 61 Tanda sama dengan

> 003E 62 Tanda lebih besar

? 003F 63 Tanda tanya

@ 0040 64 A keong (@)

A 0041 65 Huruf latin A kapital

B 0042 66 Huruf latin B kapital

C 0043 67 Huruf latin C kapital

D 0044 68 Huruf latin D kapital

E 0045 69 Huruf latin E kapital

F 0046 70 Huruf latin F kapital

G 0047 71 Huruf latin G kapital

H 0048 72 Huruf latin H kapital

I 0049 73 Huruf latin I kapital

J 004A 74 Huruf latin J kapital

K 004B 75 Huruf latin K kapital

L 004C 76 Huruf latin L kapital

M 004D 77 Huruf latin M kapital

N 004E 78 Huruf latin N kapital


(25)

P 0050 80 Huruf latin P kapital

Q 0051 81 Huruf latin Q kapital

R 0052 82 Huruf latin R kapital

S 0053 83 Huruf latin S kapital

T 0054 84 Huruf latin T kapital

U 0055 85 Huruf latin U kapital

V 0056 86 Huruf latin V kapital

W 0057 87 Huruf latin W kapital

X 0058 88 Huruf latin X kapital

Y 0059 89 Huruf latin Y kapital

Z 005A 90 Huruf latin Z kapital

[ 005B 91 Kurung siku kiri

\ 005C 92 Garis miring terbalik (backslash)

] 005D 93 Kurung sikur kanan

^ 005E 94 Tanda pangkat

_ 005F 95 Garis bawah (underscore)

` 0060 96 Tanda petik satu

A 0061 97 Huruf latin a kecil

B 0062 98 Huruf latin b kecil

C 0063 99 Huruf latin c kecil

D 0064 100 Huruf latin d kecil

E 0065 101 Huruf latin e kecil F 0066 102 Huruf latin f kecil G 0067 103 Huruf latin g kecil H 0068 104 Huruf latin h kecil I 0069 105 Huruf latin i kecil J 006A 106 Huruf latin j kecil K 006B 107 Huruf latin k kecil L 006C 108 Huruf latin l kecil M 006D 109 Huruf latin m kecil N 006E 110 Huruf latin n kecil O 006F 111 Huruf latin o kecil P 0070 112 Huruf latin p kecil Q 0071 113 Huruf latin q kecil R 0072 114 Huruf latin r kecil S 0073 115 Huruf latin s kecil T 0074 116 Huruf latin t kecil U 0075 117 Huruf latin u kecil V 0076 118 Huruf latin v kecil W 0077 119 Huruf latin w kecil X 0078 120 Huruf latin x kecil Y 0079 121 Huruf latin y kecil Z 007A 122 Huruf latin z kecil { 007B 123 Kurung kurawal buka

¦ 007C 124 Garis vertikal (pipa)


(26)

~ 007E 126 Karakter gelombang (tilde)

DEL 007F 127 Delete

0080 128 Dicadangkan

0081 129 Dicadangkan

0082 130 Dicadangkan

0083 131 Dicadangkan

IND 0084 132 Index

NEL 0085 133 Next line

SSA 0086 134 Start of selected area

ESA 0087 135 End of selected area

0088 136 Character tabulation set 0089 137 Character tabulation with

justification 008A 138 Line tabulation set

PLD 008B 139 Partial line down

PLU 008C 140 Partial line up

008D 141 Reverse line feed

SS2 008E 142 Single shift two

SS3 008F 143 Single shift three

DCS 0090 144 Device control string

PU1 0091 145 Private use one

PU2 0092 146 Private use two

STS 0093 147 Set transmit state

CCH 0094 148 Cancel character

MW 0095 149 Message waiting

0096 150 Start of guarded area 0097 151 End of guarded area 0098 152 Start of string

0099 153 Dicadangkan

009A 154 Single character introducer

CSI 009B 155 Control sequence introducer

ST 009C 156 String terminator

OSC 009D 157 Operating system command

PM 009E 158 Privacy message

APC 009F 158 Application program command

00A0 160 Spasi yang bukan pemisah kata

¡ 00A1 161 Tanda seru terbalik

¢ 00A2 162 Tanda sen (Cent)

£ 00A3 163 Tanda Poundsterling

¤ 00A4 164 Tanda mata uang (Currency)

¥ 00A5 165 Tanda Yen

¦ 00A6 166 Garis tegak putus-putus (broken bar)

§ 00A7 167 Section sign

¨ 00A8 168 Diaeresis

© 00A9 169 Tanda hak cipta (Copyright)


(27)

« 00AB 171 Left-pointing double angle quotation mark

¬ 00AC 172 Not sign

00AD 173 Tanda strip (hyphen)

® 00AE 174 Tanda merk terdaftar

¯ 00AF 175 Macron

° 00B0 176 Tanda derajat

± 00B1 177 Tanda kurang lebih (plus-minus)

² Kodok 178 Tanda kuadrat (pangkat dua)

³ 00B3 179 Tanda kubik (pangkat tiga)

´ 00B4 180 Acute accent

µ 00B5 181 Micro sign

¶ 00B6 182 Pilcrow sign

· 00B7 183 Middle dot

(Sumber: lookuptables, 2010) 2.4 Liqiud Cristal Display (LCD)

Gambar 2.7 Bentuk fisik LCD (Sumber: Hawkins, 2012)

Pada Gambar 2.7 LCD merupakan salah satu komponen elektronika yang berfungsi untuk menampilkan data, baik karakter, huruf ataupun grafik. Di pasaran LCD sudah tersedia dalam bentuk modul yaitu layar LCD beserta rangkaian pendukungnya termasuk ROM dan lain-lain. LCD mempunyai pin DATA, kontrol catu daya, dan pengatur kontras tampilan seperti pada Tabel 2.2.

Tabel 2.2 Konfigurasi pin dari LCD 2x16 M1632

Nomor PIN Nama Fungsi

Deskripsi

1. Vss Power GND

2. Vdd Power + 5 V


(28)

4. RS Command Register Select

5. R atau W Command Read atau Write

6. E Command Enable (Strobe)

7. D0 I atau O Data LSB

8. D1 I atau O Data

9. D2 I atau O Data

10. D3 I atau O Data

11. D4 I atau O Data

12. D5 I atau O Data

13. D6 I atau O Data

14. D7 I atau O Data MSB

(Sumber: Hawkins, 2012)

Gambar 2.8 Konfigurasi dari LCD (Sumber: Hawkins, 2012) 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.

Data Bus Control Supply


(29)

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).

2.4.1. Display Data Random Access Memory (DDRAM)

DDRAM merupakan memori tempat karakter yang akan ditampilkan berada. Contoh, untuk karakter ‘A’ atau 41H yang ditulis pada alamat 00, maka karakter tersebut akan tampil pada baris pertama dan kolom pertama dari LCD. Apabila karakter tersebut ditulis di alamat 40, maka karakter tersebut akan tampil pada baris kedua kolom pertama dari LCD.

2.4.2. Character Generator Random Access Memory (CGRAM)

CGRAM adalah memori untuk menggambarkan pola sebuah karakter dimana bentuk dari karakter dapat diubah-ubah sesuai dengan keinginan. Namun memori ini akan hilang saat power supply tidak aktif, sehingga pola karakter akan hilang.

2.4.3. Character Generator Read Only Memory (CGROM)

CGROM adalah memori untuk menggambarkan pola sebuah karakter dimana pola tersebut sudah ditentukan secara permanen dari HD44780, sehingga pengguna tidak dapat mengubahnya. Karena ROM bersifat permanen, maka pola karakter tersebut tidak akan hilang walaupun sumber tegangan tidak aktif.


(30)

Pada Tabel 2.3 terlihat pola-pola karakter yang tersimpan dalam lokasi-lokasi tertentu dalam CGROM. Pada saat HD44780 akan menampilkan data 41H yang tersimpan pada DDRAM, maka HD44780 akan mengambil data di alamat 41H (0100 0001) yang ada pada CGROM yaitu pola karakter A.

Tabel 2.3Karakter Pada CGROM M1632 LCD

(Sumber: Hawkins, 2012) 2.5 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.


(31)

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.

2.5.1. Mekanisme Hubungan Antar Komponen

I2C hanya membutuhkan dua jalur/kabel yaitu SDA dan SCL. SCL/serial clock merupakan jalur clock, digunakan untuk mensinkronkan data transfer antara Master dan Slave dalam I2C bus. SDA/Serial Data merupakan jalur komunikasi data dua arah. SDA dan SCL dihubungkan ke seluruh komponen dalam bus I2C. Selain kedua jalur/kabel masih ada jalur/kabel ketiga yaitu Ground/0 volt serta jalus Vcc/5v untuk menghidupkan perangkat/komponen. Baik SDA maupun SCL merupakan tipe open drain. Maksud dari open drain adalah chip bisa membuat outputnya berlogika 0, tapi tidak bisa membuat outputnya berlogika 1. Sehingga


(32)

agar mampu memberikan output 1, diperlukan pull up resistor yang dihubungkan ke suplai 5v. Jadi kita harus memberikan resistor pull up pada jalur SDA dan SCL yang ujung satunya dihubungkan ke 5v. Kita hanya memerlukan 1 buah resistor per jalur untuk seluruh I2C bus, tidak perlu satu-persatu untuk tiap perangkat. Ilustrasinya adalah terlihat pada Gambar 2.9.

Gambar 2.9 Ilustrasi SCL dan SDA (Sumber: I2C_Tutoria, 2000)

Dari referensi, didapat bahwa ada yang memakai resistor dengan nilai mulai 1k8 (1800 Ohm) sampai 47k (47000 Ohm). Untuk penulisan, berdasar pengalaman cenderung memilih nilai 4k7 (4700 Ohm). Pemilihan nilai lain pun tidak masalah, asal masih dalam rentang tersebut karena berdasar pada spesifikasi bus I2C yang dirilis oleh NXP pada 2001, pull up device tergantung pada bus load. Jika bus load mencapai 200pF, maka pull up bisa berupa resistor, jika bus load antara 200-400pF (fast mode) maka pull up device bisa berupa sumber arus (min 3mA) atau switched resistor circuit. Jika tidak memberikan pull up device (resistor/sumber arus) maka jalur SDA dan SCL akan selalu berlogika rendah, hampir 0 volt, dan I2C bus tidak dapat bekerja.

Rumus hukum Ohm :

1. Untuk mengukur besar kuat arus listrik dengan rumus I = Q T


(33)

keterangan : I = nilai arus

Q = nilai muatan listrik T = nilai waktu

2. Untuk mengukur besar tegangan listrik dengan rumus V = I * R keterangan :

V = nilai tegangan I = nilai arus R = nilai resistansi

Diketahui nilai V = 5 volt, nilai R = 4K7 atau (4700 Ohm) jadi nilai I = V

R I = 5 4700 I = 0,00106 A

nilai diubah ke mA I = 1,06 mA 2.5.2. 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, sequence spesial lainnya adalah stop. Start sequence dan stop sequence merupakan tahap spesial dimana merupakan kondisi dimana SDA (jalur data) 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 seperti pada Gambar 2.10.


(34)

Gambar 2.10 Transaksi pada data SCL dan SDA (Sumber: I2C_Tutoria, 2000)

Data ditransfer dalam rangkaian/sequence 8bit. Bit dikirim lewat jalur SDA dimulai dengan MSB (Most Significant Bit). Jalur SCL kemudian dipulsakan naik (1) kemudian turun (0). Tanpa pull-up device, chip tidak bisa mengubah garis ke kondisi naik (1). Untuk setiap 8 bit yang ditransfer, perangkat penerima data mengirim balik bit acknowledge (ACK), jadi ada 9 clock SCL untuk tiap transfer dari 8 bit data. Jika perangkat penerima mengirim balik sebuah low ACK bit (ACK=0) maka perangkat tersebut telah menerima data dan siap menerima data berikutnya. Jika perangkat penerima mengirim balik naik ACK bit (ACK=1) berarti perangkat tersebut tidak bisa lagi menerima data selanjutnya, sehingga master harus mengakhiri transfer data dengan mengirim stop sequence seperti pada Gambar 2.11.

Gambar 2.11 Alamat pengiriman pada SCL dan SDA (Sumber: I2C_Tutoria, 2000)

Kecepatan serial clock (SCL) untuk I2C mencapai 100KHz. Untuk yang membutuhkan kecepatan tinggi, ada fast mode dimana clock bisa mencapai 400Khz dan sejak 1998 ada mode kecepatan tinggi dimana clock bisa mencapai 3,4MHz. Untuk aplikasi seperti robot dan modul embedded yang non vital


(35)

biasanya clock yang digunakan masih dibawah 100KHz. Berdasarkan I2C specification terbaru yang dikeluarkan NXP/Phillips, untuk transmisi data pada clock diatas 1Mhz dibutuhkan delay beberapa uS diantara setiap byte yang ditransfer.


(36)

26 3.1 Model Penelitian

Agar mendapatkan hasil yang diinginkan maka diperlukan suatu rancangan agar dapat mempermudah dalam memahami sistem yang akan dibuat, oleh karenanya akan dibuat seperti pada Gambar 3.1.

Gambar 3.1 Blok Diagram Sistem Pembaca Kartu Memori di Wahana Permainan

Gambar 3.1 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

Tombol 1

Microcontroller

ATmega 32 EEPROM

LCD Tombol 2


(37)

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.

Gambar 3.2 Blok Diagram Pengisian Saldo

Sedangkan pada Gambar 3.2 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.

Komputer

Microcontroller

ATmega 32 EEPROM

LCD Tombol 1


(38)

3.2 Perancangan Perangkat Keras 3.2.1. Minimum System ATmega32

Minimum system ATmega32 yang digunakan adalah minimum system 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 RS-232 dengan konektor RJ-11. 9. Tersedia port untuk pemrograman secara ISP.

10.Tegangan input catu daya 9-12 VDC dan output tegangan 5 VDC. Rangkaian skematik minimum system digambarkan pada Gambar 3.3.


(39)

Gambar 3.3 Rangkaian skematik Minimum System ATmega32. (Innovative Electronics, 2004)

3.3 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


(40)

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.

Gambar 3.4 Alamat Format untuk perangkat I2C (Sumber: ATMEL, 2005)

Pada Gambar 3.4 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 per-bit terakhir adalah alamat awal per- menit

e. Kemudian mengirimkan data ke alamat yang dituju f. Kemudian melakukan proses baca per-bit

g. Proses selesai, kemudian setelah itu akan mengulang lagi ke proses (start). Jika tidak diakhiri pada komunikasi bit, maka data EEPROM dapat mengirim lebih banyak data yang akan tersimpan pada alamat di atas (counter langsung otomatis bertambah). Menghentikannya dengan stop proses baca data per-bit seperti Gambar 3.5.


(41)

Gambar 3.5 Diagram 4 byte menulis ke memori (Sumber: ATMEL, 2005)

Berikut ini adalah cara membaca pada EEPROM dengan cara membaca alamat tiap bit:

a. Proses memulai awal (start)

b. Membaca alamat yang disimpanan

c. Setelah menemukan alamat yang dituju, maka akan membaca data per-bit d. Kemudian mengulang proses baca per-bit

e. Proses selesai (stop) pada Gambar 3.6.

Gambar 3.6 Diagram membaca alamat yang dipilih (Sumber: ATMEL, 2005)


(42)

Gambar 3.7 Rangkaian EEPROM ke Microcontroller ATmega32 Pada Gambar 3.7 keterangan pin yang duhubungkan pada EEPROM: a) A0-A2 dihubungkan ke grond jika EEPROM tidak diparalelkan b) WP dihubungkan ke grond jika proses membaca dan tulis diijinkan c) VCC dan GND sebagai catu daya

d) SCL dan SDA dihubungkan ke microcontroller 3.4 Fungsi Tombol

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. Seperti terlihat pada Gambar 3.8


(43)

Tombol 1 Tombol 2 Gambar 3.8 Tombol pilihan

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.

3.5 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. Seperti pada Gambar 3.9 LED indikator.

Proses bermain Alat menyala


(44)

3.6 Rangkaian LCD

Gambar 3.10 Rangkaian LCD ke microcontroller Pada Gambar 3.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)


(45)

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 14.Bit 7 dihubungkan ke pin D3 pada ATmega32 15.LED (dihubungkan ke VCC)

16.LED (dihubungkan ke GND) 3.7 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 3.11 adalah bentuk flowchart dari program keseluruhan.


(46)

T

F

T F

T

F

Gambar 3.11 Flowchart program keseluruhan 3.8 Komunikasi Antara EEPROM dan Microcontroller

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 menulis. Berikut potongan fungsi proses membaca dan menulis EEPROM.

Start

Tombol 1

Saldo <= 2000 “maaf saldo tidak cukup”

Main

Saldo = saldo - 2000

Tombol 2 Lihat isi saldo

Stop


(47)

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); }

3.9 Program Pendeteksian Input

Dalam program ini ada dua input berupa dua switch yang terhubung pada pin D.2 dan pin D.3 microcontroller. Kemudian pin-pin tersebut digunakan sebagai selector menu yang telah ditampilkan oleh LCD. Menu tersebut antara lain adalah menu untuk bermain dan menu untuk melihat sisa saldo. Jika tombol 1 ditekan, maka akan melakukan proses pengurangan saldo permainan. Jika tombol 1 tidak ditekan, maka akan masuk ke tombol 2. Jika tombol 2 ditekan maka akan mengecek sisa saldo pada EEPROM. Berikut Gambar 3.12 flowchart pendeteksian input.


(48)

T F T F

Gambar 3.12 Flowchart pendeteksi input if (PIND.2==0) //program main

{

if (a[2]<=49) //pengurangan saldo permainan { 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)||(a[0]==' ' && a[1]==' ')) { lcd_clear(); lcd_gotoxy(0,0); lcd_puts("Maaf, Saldo"); lcd_gotoxy(0,1); lcd_puts("Tidak Mencukupi"); delay_ms(2000); lcd_clear(); lcd_gotoxy(0,0);

lcd_puts("Mohon isi dulu"); lcd_gotoxy(0,1);

lcd_puts("Di Teler Game"); delay_ms(2000); goto y; } } else a[2]=a[2]-2; Stop

Tombol 1 = on

Tombol 2 = on

Proses pengurangan saldo

Lihat isi saldo Start


(49)

if (a[0]=='0') //untuk menghilangkan angka nol {

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(); y: lcd_clear(); lcd_gotoxy(0,0); lcd_puts("Welcome Gamers!!"); lcd_gotoxy(0,1);

lcd_puts("1.Play | 2.Saldo"); }

else if (PIND.3==0) //program cek saldo {

lcd_clear(); lcd_gotoxy(0,0);

lcd_puts("Saldo Anda :"); lcd_gotoxy(0,1); lcd_puts(a); delay_ms(5000); lcd_clear(); lcd_gotoxy(0,0); lcd_puts("Welcome Gamers!!"); lcd_gotoxy(0,1);

lcd_puts("1.Play | 2.Saldo"); }

} }

3.9.1. 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


(50)

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 3.13 berupa flowchart pengurangan saldo.

F

T

Gambar 3.13 Flowchart pengurangan saldo if (a[2]<=49) //pengurangan saldo permainan

{ if(a[1]>=49) {

a[1]=a[1]-1; a[2]=a[2]+8; }

else if(a[0]>=49) {

a[0]=a[0]-1; Baca Saldo Tombol

1 on

Saldo <= 2000 “maaf saldo tidak cukup”

Proses pengurangan saldo - 2000

Update saldo

Menu awal


(51)

a[1]=a[1]+9; a[2]=a[2]+8; }

else if((a[0]==48 && a[1]==48)||(a[0]==' ' && a[1]==' ')) { lcd_clear(); lcd_gotoxy(0,0); lcd_puts("Maaf, Saldo"); lcd_gotoxy(0,1); lcd_puts("Tidak Mencukupi"); delay_ms(2000); lcd_clear(); lcd_gotoxy(0,0);

lcd_puts("Mohon isi dulu"); lcd_gotoxy(0,1);

lcd_puts("Di Teler Game"); delay_ms(2000); goto y; } } else a[2]=a[2]-2;

if (a[0]=='0') //untuk menghilangkan angka nol {

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(); y: lcd_clear(); lcd_gotoxy(0,0); lcd_puts("Welcome Gamers!!"); lcd_gotoxy(0,1);

lcd_puts("1.Play | 2.Saldo"); }


(52)

3.9.2. Proses Output LCD

Pada proses pengeluaran output terbagi menjadi dua output. Output yang pertama adalah output berupa LCD 2x16. LCD ini digunakan sebagai indikator dan tampilan menu dan saldo permainan. Berikut potongan program output LCD. 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"); 3.9.3. Proses Output LED

Output yang kedua adalah output dari microcontroller yang mengindikasikan bahwa permainan dapat atau diijinkan untuk dimulai. Pada Tugas Akhir ini penulis memanfaatkan LED sebagai indikator berjalannya proses permainan tersebut. Gambar 3.14 flowchart output LED.

F

Gambar 3.14 Flowchart output LED i = 1

i<=5 Port B = 7 delay Port = 56 delay

i = i + 1

Port B = 0

Menu awal Main


(53)

Lampu LED pada port B menyala 111000 selama 1detik dan kemudian menyala 000111 selama 1 detik sebanyak 5 kali dan pada proses terakhir port B menjadi mati semua.

void play() { for (i=1;i<=5;i++) { PORTB.0=1; PORTB.1=1; PORTB.2=1; PORTB.3=0; PORTB.4=0; PORTB.5=0; delay_ms(1500); PORTB.0=0; PORTB.1=0; PORTB.2=0; PORTB.3=1; PORTB.4=1; PORTB.5=1; delay_ms(1500); } PORTB.0=0; PORTB.1=0; PORTB.2=0; PORTB.3=0; PORTB.4=0; PORTB.5=0; }

3.10 Desain Mekanik

Desain mekanik, terdiri dari satu kotak tempat mekaniknya, satu tampilan layar LCD, 2-tombol dan 6-buah lampu LED sebagai pendeteksi proses berjalannya permainan. Pada Gambar 3.15, Gambar 3.16 dan Gambar 3.17 adalah bentuk keseluruhan dari mekanik.


(54)

Gambar 3.15 Alat tampak dari atas

Gambar 3.16 Alat tampak dari samping

5,5cm 9cm


(55)

Gambar 3.17 Bentuk kartu penyimpanan data saldo 3.11 Metode Pengujian Dan Evaluasi

Berisikan langkah-langkah awal pembuatan alat, dan pembahasan secara singkat. Proses Minimum System ATmega32 (pembahsan), LCD (pembahasan), pengujian LED (pembahasan), pengujian tombol (pembahasan), EEPROM AT24C16 (pembahasannya), dan evaluasi dari alat apakah sudah bisa berjalan dengan baik.

3.11.1. Pengujian Minimum System ATmega32

Pengujian minimum system dilakukan dengan cara, membuat rangkaian minimum system sesuai pada Gambar 3.3. Setelah rangkaian minimum system, port downloader dihubungkan pada komputer. Pengujian menggunakan program aplikasi CVAVR dan memanfaatkan “signature” pada program tersebut.

3.11.2. Pengujian LCD

Pengujian LCD dilakukan dengan cara, menghubungkan port LCD ke port microcontroller seperti pada Gambar 3.10.Setelah semua port terhubung seperti Gambar 3.10, selanjutnya microcontroller diberi program untuk menampilkan tulisan pada layar LCD. Berikut ini adalah potongan programnya.


(56)

if (PIND.2==0) {

lcd_clear(); lcd_gotoxy(0,0);

lcd_puts("Tombol 1 ditekan"); }

else if (PIND.3==0) {

lcd_clear(); lcd_gotoxy(0,1);

lcd_puts("Tombol 2 ditekan"); }

Dengan demikian, LCD dapat menampilkan hasil sesuai apa yang terprogram pada microcontroller.

3.11.3. Pengujian LED

Pengujian ini dilakukan dengan menghubungkan LED ke minimum system pada port B.0 sampai port B.5 seperti Gambar 3.9. Disini fungsi dari LED hanya untuk indikator berjalannya proses bermain dan inisial alat atau minimum system itu berfungsi (stand by).

3.11.4. Pengujian Tombol

Pengujian ini dilakukan dengan menghubungkan tombol ke minimum system pada port D.2 dan port D.3 seperti Gambar 3.8. Setelah tombol terhubung, maka dapat diimplementasikan pada layar LCD, dengan munculnya tampilan tombol 1 dan tombol 2.

3.11.5. Pengujian EEPROM AT24C16

Pengujian dilakukan dengan cara menghubungkan EEPROM dengan minimum system seperti pada Gambar 3.7. Setelah terhubung seperti pada Gambar 3.7, kemudian microcontroller diberi program menulis dan membaca dari EEPROM. Berikut potongan programnya.

unsigned char eeprom_read(long address) {

int data; i2c_start();


(57)

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); }

Dari potongan program tersebut, akan menampilkan data yang berada pada EEPROM.

3.11.6. Evaluasi

Semua dari hasil percobaan yang dilakukan, hasilnya sudah berjalan sesuai dengan yang diharapkan. Setelah melakukan metode pengujian sebelumnya, maka diharapkan hasil microcontroller dapat membaca dan menulis data pada kartu memori. Kemudian hasilnya dapat dirubah dan ditampilkan sesuai program yang dimasukkan pada microcontroller.


(58)

48 4.1 Pengujian LCD

4.1.1 Tujuan

Tujuan dari pengujian ini adalah untuk menampilkan perintah microcontroller ke LCD.

4.1.2 Alat yang digunakan 1. LCD 2x16

2. Minimum System ATmega32 3. Software CodeVision AVR 2.03.4 4.1.3 Prosedur Pengujian

1. Hubungkan adaptor ke listrik

2. Hubungkan adaptor ke minimum system 3. Menyalakan minimum system ATmega32 4. Download program LCD ke ATmega32 5. Perhatikan respon dari LCD

4.1.4 Hasil Pengujian

Hasil dari pengujian microcontroller ke LCD yang berupa perintah penulisan “TESTING LCD”. Yang ditampilkan capture LCD pada alat Tugas Akhir ini seperti pada Gambar 4.1.


(59)

Gambar 4.1 Pengujian LCD

4.2 Pengujian Input Tombol

Pengujian ini menggunakan objek dua buah tombol yang terhubung dengan pin D.2 dan pin D.3.

4.2.1 Tujuan

Tujuan dari pengujian ini adalah untuk mengetahui respon dari input tombol.

4.2.2 Alat Yang Digunakan 1. Dua buah tombol 2. LCD 2x16

3. Minimum System ATmega32 4. Software CodeVision AVR 2.03.4 4.2.3 Prosedur Pengujian

1. Hubungkan adaptor ke listrik

2. Hubungkan adaptor ke minimum system 3. Menyalakan minimum system ATmega32


(60)

5. Tekan tombol satu

6. Perhatikan respon dari LCD 7. Tekan tombol dua

8. Perhatikan respon dari LCD 4.2.4 Hasil Pengujian

Dibawah ini adalah hasil pengujian dari input tombol dengan melakukan penekanan tombol 1 dan penekanan tombol 2. Berupa input yang dapat direspon oleh microcontroller. Maka respon tersebut dapat dilihat pada layar LCD seperti Gambar 4.2 dan Gambar 4.3.

Gambar 4.2 Penekanan tombol 1


(61)

4.3 Pengujian Koneksi EEPROM dan Minimum System

Pengujian koneksi ini membuktikan bahwa EEPROM dapat dihubungkan dengan microcontroller menggunakan komunikasi I2C.

4.3.1 Tujuan

Pengujian koneksi ini bertujuan untuk menulis dan membaca data yang tersimpan pada EEPROM.

4.3.2 Alat Yang Digunakan 1. AT24C16A

2. Software CodeVision AVR 2.03.4 3. Minimum System ATmega32 4. LCD 2x16

5. Dua buah tombol 4.3.3 Prosedur Pengujian

1. Hubungkan adaptor ke listrik

2. Hubungkan adaptor ke minimum system 3. Menyalakan minimum system

4. Download program EEPROM ke ATmega32

5. Masukkan kartu EEPROM ke minimum system ATmega32 6. Tekan tombol dua untuk melihat sisa saldo (proses read). 7. Perhatikan respon dari LCD.

8. Tekan tombol satu untuk bermain (proses read kemudian write)

9. Perhatikan respon dari LCD dan lampu LED sebagai indikator proses bermain.


(62)

4.3.4 Hasil Pengujian Koneksi EEPROM dan Minimum System

Dibawah ini adalah hasil pengujian koneksi kartu memori dengan microcontroller. Yang bertujuan untuk (proses read) pada kartu memori, jadi kartu memori disini sudah terhubung dengan microcontoller. Maka untuk proses bacanya dilakukan penekanan tombol 2 pada alat uji, kemudian microcontroller akan membaca berapa sisa saldo yang terdapat pada kartu memori dan akan ditampilkan pada layar LCD seperti pada Gambar 4.4.

Gambar 4.4 Tampilan proses read

Setelah proses membaca saldo selesai, maka selanjutnya tekan tombol 1 untuk proses bermain, pembuktian proses write yaitu proses pengurangan saldo sebanyak 2000, kemudian ditampilkan lagi pada layar LCD berapa sisa saldo yang tersimpan pada kartu memori seperti pada Gambar 4.5 dan Gambar 4.6.


(63)

Gambar 4.5 Tampilan proses write + read, LED berwarna merah

Gambar 4.6 Tampilan proses write + read, LED berwarna biru 4.4 Pengujian Sistem Secara Keseluruhan

Pengujian ini dilakukan secara keseluruhan, sebelum kartu EEPROM dimasukkan ke minimum system ATmega32 hingga respon pembacaan dan penulisan pada EEPROM.

4.4.1 Tujuan

Tujuan dari pengujian ini adalah mengetahui hasil dari proses bermain hingga ke proses penulisan dan pembacaan pada EEPROM secara keseluruhan.


(64)

4.4.2 Alat Yang Digunakan 1. AT24C16A

2. Software CodeVision AVR 2.03.4 3. Minimum System ATmega32 4. LCD 2x16

5. Dua buah tombol 6. LED

4.4.3 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

4.4.4 Hasil Pengujian

Hasil dari pengujian setelah program di-download ke microcontroller Atmega32 adalah berupa respon pada layar LCD seperti pada Gambar 4.7.


(65)

Gambar 4.7 Masukan kartu

Pada saat sebelum memasukan kartu Gambar 4.7 adalah tampilan device yang memerlukan waktu tunggu. Pada proses ini, dilakukan uji coba terhadap 2-kartu memori sebanyak 30-kali percobaan untuk mengetahui waktu rata-rata dari proses tunggu saat memasukan kartu memori. Berikut Tabel 4.1.

Tabel 4.1 Waktu Tunggu Pembacaan Kartu EEPROM

Percobaan ke- Waktu tunggu memori 1 Waktu tunggu memori 2

1 3detik 3detik

2 3detik 2detik

3 2detik 3detik

4 4detik 1detik

5 1detik 2detik

6 2detik 2detik

7 3detik 2detik

8 2detik 1detik

9 3detik 2detik

10 1detik 2detik

11 2detik 3detik

12 2detik 4detik

13 1detik 2detik

14 2detik 4detik

15 5detik 3detik

16 3detik 2detik

17 4detik 1detik

18 5detik 3detik

19 2detik 1detik

20 3detik 4detik

21 1detik 2detik

22 4detik 3detik

23 2detik 1detik


(66)

25 1detik 2detik

26 7detik 4detik

27 2detik 1detik

28 4detik 3detik

29 6detik 5detik

30 2detik 3detik

Dari hasil waktu tunggu pada tabel disimpulkan ;

Rata-rata waktu percobaan = Total waktu percobaan Berapa kali percobaan waktu tunggu kartu memori 1 = 87 detik

30 = 2,9 detik waktu tunggu kartu memori 2 = 77 detik

30 = 2,566 detik

Kemudian kartu dapat dihubungkan pada microcontroller untuk dapat mengetahui menu permainan. Gambar 4.8 merupakan respon microcontroller menampilkan menu awal ketika kartu dihubungkan pada microcontroller.

Gambar 4.8 Menu permainan

Pada menu permainan ada dua pilihan, yaitu menu ke 2 untuk mengecek sisa saldo permainan yang ada pada kartu memori dan menu ke 1 untuk proses bermain. Jika kartu memori dilepas pada microcontroller, maka diperlukan waktu tunggu untuk proses kembali ke Gambar 4.7. Sebelum microcontroller siap, yang


(67)

ditandai dengan tampilan LCD seperti pada Gambar 4.7, bila user menekan tombol tanpa ada kartu memori yang terpasang, microcontroller tidak akan memberikan respon apa-apa. Pada Gambar 4.9 merupakan respon dari microcontroller pada kartu memori, ketika melakukan penekanan tombol 2, maka microcontroller akan membaca data saldo yang ada di kartu memori. Pada percobaan ini proses yang dilakukan adalah (proses read)

Gambar 4.9 Pengecekan saldo

Setelah mengetahui sisa saldo permainan maka akan kembali ke menu awal lagi. Kemudian, penekanan tombol 1 digunakan untuk melakukan proses write dan read. Proses write yaitu menulis perubahan data saldo setelah dikurangi biaya pada wahana permainan, kemudian proses read disini adalah proses membaca data yang baru saja di-write atau setelah data di update kembali pada kartu memori, untuk menyimpan sisa saldo. Pada alat uji Tugas Akhir ini terdapat LED berwarna merah dan biru, sebagai indikator proses bermain pada wahana permainan. Gambar 4.10 adalah capture dari hasil pemotongan saldo sebanyak 2000.


(68)

(69)

59 PENUTUP

5.1 Simpulan

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 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,9 detik) dan memori 2 adalah (2,566 detik).

5.2 Saran

Sebagai pengembangan dari penelitian yang dilakukan, berikut adalah saran dari penulis :

1. Sistem ini dapat dikembangkan dengan cara membuat sebuah device untuk proses pengisian pulsa mandiri.


(70)

2. Sistem ini dapat dikembangkan kebanyak wahana wisata lainnya selain di wahana permainan, karena sistem ini hanya diaplikasikan pada permainan saja.


(71)

61

Damaiyanto, Panji, K. 2012. (online). (http://repository.library.uksw.edu/ jspui/handle/123456789/2353).

ATMEL. 2003. ATmega32/ ATmega32A. (online). (http://pdf1.alldatasheet. com/datasheet-pdf/view/77378/ATMEL/ATMEGA32.html).

Putra. 2010. (online). (http://share.pdfonline.com/97465689e261456aa058c82 c7774cfe7/TK404-041035-685-2.htm).

Innovative. 2011. Minimum System ATmega32. (online).

(http://innovativeelectronics.com/innovative_electronics/images/DT-AVR/DT-AVR%20LC%20MS_RED.gif).

ATMEL. 2005. AT24C16/ AT24C16A. (online). (http://pdf1.alldatasheet.com/ datasheet-pdf/view/56066/ATMEL/AT24C16.html).

Tabel. 2010. ASCII. Anonim. (online). (http://www.lookuptables.com/ebcdic_ scancodes.php).

Hawkins, Matt. 2012. LCD. (online). (http://www.raspberrypi-spy.co.

uk/2012/07/16x2-lcd-module-control-using-python/).

Chen. 2008. LCD. (online). (https://www.sparkfun.com/datasheets/LCD/

ADM1602K-NSW-FBS-3.3v.pdf).

Gerry. 2000. I2C. (online). (http://www.robot-electronics.co.uk/


(1)

56

25 1detik 2detik

26 7detik 4detik

27 2detik 1detik

28 4detik 3detik

29 6detik 5detik

30 2detik 3detik

Dari hasil waktu tunggu pada tabel disimpulkan ;

Rata-rata waktu percobaan = Total waktu percobaan Berapa kali percobaan waktu tunggu kartu memori 1 = 87 detik

30 = 2,9 detik waktu tunggu kartu memori 2 = 77 detik

30 = 2,566 detik

Kemudian kartu dapat dihubungkan pada microcontroller untuk dapat mengetahui menu permainan. Gambar 4.8 merupakan respon microcontroller menampilkan menu awal ketika kartu dihubungkan pada microcontroller.

Gambar 4.8 Menu permainan

Pada menu permainan ada dua pilihan, yaitu menu ke 2 untuk mengecek sisa saldo permainan yang ada pada kartu memori dan menu ke 1 untuk proses bermain. Jika kartu memori dilepas pada microcontroller, maka diperlukan waktu


(2)

tombol tanpa ada kartu memori yang terpasang, microcontroller tidak akan memberikan respon apa-apa. Pada Gambar 4.9 merupakan respon dari microcontroller pada kartu memori, ketika melakukan penekanan tombol 2, maka microcontroller akan membaca data saldo yang ada di kartu memori. Pada percobaan ini proses yang dilakukan adalah (proses read)

Gambar 4.9 Pengecekan saldo

Setelah mengetahui sisa saldo permainan maka akan kembali ke menu awal lagi. Kemudian, penekanan tombol 1 digunakan untuk melakukan proses write dan read. Proses write yaitu menulis perubahan data saldo setelah dikurangi biaya pada wahana permainan, kemudian proses read disini adalah proses membaca data yang baru saja di-write atau setelah data di update kembali pada kartu memori, untuk menyimpan sisa saldo. Pada alat uji Tugas Akhir ini terdapat LED berwarna merah dan biru, sebagai indikator proses bermain pada wahana permainan. Gambar 4.10 adalah capture dari hasil pemotongan saldo sebanyak 2000.


(3)

(4)

59 5.1 Simpulan

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 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,9 detik) dan memori 2 adalah (2,566 detik).

5.2 Saran

Sebagai pengembangan dari penelitian yang dilakukan, berikut adalah saran dari penulis :

1. Sistem ini dapat dikembangkan dengan cara membuat sebuah device untuk proses pengisian pulsa mandiri.


(5)

60

2. Sistem ini dapat dikembangkan kebanyak wahana wisata lainnya selain di wahana permainan, karena sistem ini hanya diaplikasikan pada permainan saja.


(6)

61

Damaiyanto, Panji, K. 2012. (online). (http://repository.library.uksw.edu/ jspui/handle/123456789/2353).

ATMEL. 2003. ATmega32/ ATmega32A. (online). (http://pdf1.alldatasheet. com/datasheet-pdf/view/77378/ATMEL/ATMEGA32.html).

Putra. 2010. (online). (http://share.pdfonline.com/97465689e261456aa058c82 c7774cfe7/TK404-041035-685-2.htm).

Innovative. 2011. Minimum System ATmega32. (online). (http://innovativeelectronics.com/innovative_electronics/images/DT-AVR/DT-AVR%20LC%20MS_RED.gif).

ATMEL. 2005. AT24C16/ AT24C16A. (online). (http://pdf1.alldatasheet.com/ datasheet-pdf/view/56066/ATMEL/AT24C16.html).

Tabel. 2010. ASCII. Anonim. (online). (http://www.lookuptables.com/ebcdic_ scancodes.php).

Hawkins, Matt. 2012. LCD. (online). (http://www.raspberrypi-spy.co. uk/2012/07/16x2-lcd-module-control-using-python/).

Chen. 2008. LCD. (online). (https://www.sparkfun.com/datasheets/LCD/ ADM1602K-NSW-FBS-3.3v.pdf).

Gerry. 2000. I2C. (online). (http://www.robot-electronics.co.uk/ acatalog/I2C_Tutorial.html).