TA : Rancang Bangun Perangkat Pemandu Permainan Catur Berbasis Microcontroller.

(1)

TUGAS AKHIR

Nama : I Gusti Ayu Surya Krsnanda NIM : 08.41020.0009

Program : S1 (Strata Satu) Jurusan : Sistem Komputer

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER

SURABAYA


(2)

vii

Catur adalah permainan mental yang dimainkan oleh dua orang yaitu pemegang bidak hitam dan putih. Permainan catur bukan hanya bisa dimainkan secara fisik tetapi juga bisa dimainkan melalui komputer, yaitu dengan menggunakan software permainan catur dan meng-install-nya pada komputer. Permainan catur pada komputer umumnya dilengkapi fasilitas yang dapat memudahkan user dalam bermain catur yaitu sistem pemanduan gerakan tiap jenis bidak. Sehingga dengan fasilitas ini, pemain catur yang tergolong amatir dapat bermain catur dengan lancar.

Microcontroller adalah salah satu komponen elektronika yang sudah banyak digunakan. Selain harganya yang relatif murah, microcontroller dinilai efektif untuk membuat suatu sistem tanpa harus menggunakan komputer.

Dengan memadukan papan catur PCB yang telah didesain khusus,

microcontroller ATmega32 dan algoritma sistem pemanduan pergerakan bidak catur. Dibentuk perangkat yang berfungsi mirip permainan catur pada komputer namun menggunakan papan catur secara fisik. Sehingga tidak perlu lagi membawa komputer untuk memainkan permainan catur yang memiliki sistem pemanduan pergerakan bidak catur.

Dari hasil pengujian dapat diketahui sistem pemanduan permainan catur ini dapat dikendalikan dengan baik menggunakan microcontroller ATmega32, namun terdapat kendala dalam memandu bidak hitam dan mempertimbangkan bidak lain saat salah satu bidak diangkat selama permainan berlangsung.


(3)

x DAFTAR ISI

Halaman

ABSTRAKSI vii

KATA PENGANTAR viii

DAFTAR ISI x

DAFTAR TABEL xiv

DAFTAR GAMBAR xv

DAFTAR LAMPIRAN xviii

DAFTAR ISTILAH DAN SINGKATAN xix

BAB I PENDAHULUAN

1.1 Latar Belakang Masalah 1

1.2 Rumusan Masalah 2

1.3 Pembatasan Masalah 2

1.4 Tujuan 3

1.5 Kontribusi 3

1.6 Sistematika Penulisan 4

BAB II LANDASAN TEORI

2.1 Sejarah Catur 6

2.2 Ketentuan Permainan Catur 7

2.2.1 Pola Pergerakan Bidak Catur 8

2.2.2 Rokade 9


(4)

2.2.4 Promosi 10

2.2.5 Skak 11

2.2.6 Akhir Permainan Catur 11

2.3 Microcontroller ATmega32 12

2.3.1 Konfigurasi Pin 13

2.3.2 Reset 14

2.4 Light Emitting Diode (LED) 17

2.5 Latch 74HC573 18

2.6 Buffer 74HC244 21

2.7 Regulator LM7805 24

2.8 BASCOM-AVR Compiler 26

2.9 CodeVision AVR 28

BAB III METODE PENELITIAN

3.1 Perancangan Perangkat Keras 34

3.1.1 Rangkaian Microcontroller 35

a. Rangkaian MinimumSystem 35

b. Perancangan Interface I/O 36

c. Program Downloader 38

d. Rangkaian Reset 39

e. Rangkaian Oscillator 40

3.1.2 Rangkaian Input 41

3.1.3 Rangkaian Output 43


(5)

3.3 Perancangan Perangkat Lunak 48

BAB IV PENGUJIAN SISTEM

4.1 Pengujian Minimum System 54

4.1.1 Tujuan 54

4.1.2 Alat yang digunakan 54

4.1.3 Prosedur Pengujian 55

4.1.4 Hasil Pengujian 55

4.2 Pengujian Perangkat Input 56

4.2.1 Tujuan 56

4.2.2 Alat yang digunakan 56

4.2.3 Prosedur Pengujian 56

4.2.4 Hasil Pengujian 57

4.3 Pengujian Perangkat Output 60

4.3.1 Tujuan 60

4.3.2 Alat yang digunakan 60

4.3.3 Prosedur Pengujian 60

4.3.4 Hasil Pengujian 62

4.4 Pengujian Keseluruhan Sistem 64

4.5.1 Tujuan 64

4.5.2 Alat yang Digunakan 64

4.5.3 Prosedur Pengujian 64


(6)

BAB V PENUTUP

5.1 Kesimpulan 70

5.2 Saran 71

DAFTAR PUSTAKA 72

LAMPIRAN 74


(7)

xiv

Tabel 2.1 Isi Register setelah reset 15

Tabel 3.1 Perancangan interface input/output 37

Tabel 4.1 Hasil pengukuran tegangan perangkat input 58 Tabel 4.2 Hasil pengukuran tegangan perangkat output 63


(8)

xv

Halaman Gambar 2.1 Proses pergerakan Rokade 9

Gambar 2.2 Proses pergerakan en passant 10

Gambar 2.3 Proses pergerakan promosi 11

Gambar 2.4 Pin-pin ATmega32 13

Gambar 2.5 Skema rangkaian reset 15

Gambar 2.6 Aliran arus dan perubahan tegangan pada reset otomatis 16 Gambar 2.7 Rangkaian ekivalen saat saklar S1 ditekan 17

Gambar 2.8 Simbol LED 18

Gambar 2.9 Gated D-Latch 19

Gambar 2.10 Tabel kebenaran D-Latch 19

Gambar 2.11 Diagram function 74HC57 20

Gambar 2.12 Logic diagram 74HC573 20

Gambar 2.13 IC Latch 74HC573 21

Gambar 2.14 Diagram fungsi 74HC244 24

Gambar 2.15 IC buffer 74HC244 24

Gambar 2.16 Regulator LM7805 25

Gambar 2.17 Skematik prinsip kerja IC regulator LM7805 26

Gambar 3.1 Blok Diagram Keseluruhan Sistem 33

Gambar 3.2 Rangkaian MinimumSystem 36

Gambar 3.3 Rangkaian kabel downloader pada port LPT 39 Gambar 3.4 Konektor Downloader pada Microcontroller ATmega32 39


(9)

Gambar 3.5 Rangkaian Reset 40

Gambar 3.6 Rangkaian Oscillator 40

Gambar 3.7 Rangkaian skematik kontrol input 41

Gambar 3.8 Rangkaian skematik kontrol input baris satu 42

Gambar 3.9 Rangkaian kontrol output papan catur 44

Gambar 3.10 Kontrol output baris pertama 45

Gambar 3.11 Seluruh perangkat keras pada keseluruhan sistem 46

Gambar 3.12 Design PCB deteksi input 47

Gambar 3.13 Logam pada permukaan bawah Bidak 48

Gambar 3.14 Diagram alir perangkat lunak 49

Gambar 3.15 Diagram alir inisialisasi awal 50

Gambar 3.16 Diagram alir deteksi jenis bidak 51

Gambar 3.17 Diagram alir proses menyalakan LED 52

Gambar 3.18 Diagram alir proses bidak diletakkan 53

Gambar 4.1 Tampilan Chip Signatture 55

Gambar 4.2 Inisialisasi tiap kotak pada papan catur 58

Gambar 4.3 Inisialisasi perangkat output pada papan catur 62

Gambar 4.4 Proses inisialisasi awal papan catur 65

Gambar 4.5 Pemanduan dan perekaman pergerakan bidak pion 67

Gambar 4.6 Pemanduan pergerakan bidak benteng 67

Gambar 4.7 Pemanduan pergerakan bidak kuda 68

Gambar 4.8 Pemanduan pergerakan bidak peluncur 68


(10)

Gambar 4.10 Pemanduan pergerakan bidak raja 69 Gambar 4.11 Pemanduan bidak kuda dan bidak ratu 70


(11)

xviii

DAFTAR LAMPIRAN

Halaman

Lampiran 1 Rangkaian Keseluruhan Sistem 76

Lampiran 2 Listing Program Pemandu Permainan Catur 79


(12)

xix

Active chip : Port pengendali pada buffer 74HC244.

Bit : Binary Digit. Data bilangan basis 2, yaitu 0 atau 1.

Byte : Sejumlah data 8 bit.

Buffer : Penghubung dua instrumen yang berbeda kecepatan.

Buffering : Proses buffer.

Bidak : Buah catur.

Bishop : Bidak Peluncur pada catur.

Clock : Pewaktuan.

Castling : Nama lain Rokade.

Chasing : Pembungkus luar pada LED.

Copy semantic : Salah satu fasilitas buffer.

Draw : Seri.

En passant : Gerakan menangkap bidak lawan untuk pion.

GND : Ground.

Gated D : Gerbang D (Data).

Hardware : Perangkat keras.

InputBuffer : Penyangga data masukan.

Interface : Antar muka.

I/O : Input/Output.

Input : Masukan data.

Integer : Bilangan bulat positif.


(13)

Latch : Pengancing atau penahan.

Level : Tingkat.

LE : Latch Enable.

Low Byte : Byte rendah.

Loop : Pengulangan.

LSB : Least Significant Bit. Bit ke-0 dalam 1 byte. MSB : Most Significant Bit. Bit ke-7 dalam 1 byte.

Output : Data keluaran.

Oscillator : Pembangkit signal.

PA : Port A pada microcontroller AVR. PB : Port B pada microcontroller AVR. PC : Port C pada microcontroller AVR. PD : Port D pada microcontroller AVR.

Pull-up : Dihubungkan ke VCC.

Pull-down : Dihubungkan ke GND.

P-N : Sambungan positif dengan negatif pada dioda.

Power Supply : Catu daya.

RAM : Random Access Memory.

ROM : Read Only Memory.

RST : Reset.

Rokade :Pertukaran tempat antara bidak Raja dan Benteng. RISC : Reduced Instruction Set Computing.

CISC : Complex Instruction Set Computing.


(14)

Software : Perangkat Lunak.

Skak : Keadaan bidak raja yang terancam bidak lain.

Ster : Bidak Ratu pada catur.

System call : Service yang disediakan Sistem Operasi


(15)

1

BAB I PENDAHULUAN

1.1. Latar Belakang Masalah

Permainan yang sifatnya melatih kemampuan berpikir telah berkembang hingga saat ini. Baik permainan tradisional atau permainan modern memiliki karakteristik masing-masing yang disukai oleh para penggemarnya. Salah satu permainan yang sudah terkenal di banyak negara adalah permainan catur. Kejuaraan catur diselenggarakan dalam berbagai tingkat usia, yang menandakan bahwa catur adalah permainan yang digemari oleh segala usia.

Catur umumnya dimainkan secara konvensional yaitu menggunakan papan catur biasa, lalu pada papan catur tersebut terdapat 32 buah bidak catur berwarna hitam dan putih. Tiap bidak catur memiliki pola pergerakan yang berbeda-beda sesuai jenis dan kondisi pada saat bidak berjalan. Hal ini terkadang menjadi kendala bagi seseorang yang tergolong awam dalam catur.

Pengembangan permainan catur secara digital sudah ada dalam bentuk aplikasi permainan pada komputer. Pada aplikasi permainan catur tersebut user

akan dipandu untuk dapat menjalankan bidaknya sesuai aturan pola pergerakannya. Pada saat menunjuk pada salah satu bidak yang akan dijalankan, beberapa kotak papan akan menyala menandakan bidak tersebut boleh melangkah ke salah satu kotak yang menyala. Pengambilan keputusan untuk menyalakan kotak-kotak catur yang dianggap valid tentunya setelah mempertimbangkan berbagai kondisi yang ada di permainan catur.


(16)

Selanjutnya dilakukan pengembangan penelitian untuk merancang sebuah alat yang pengoperasiannya mirip dengan aplikasi permainan catur yang telah diuraikan di atas, namun tidak lagi berupa aplikasi permainan di komputer, tapi sudah berupa papan catur yang terintegrasi dengan microcontroller. Sehingga dalam memainkan catur tidak memerlukan komputer lagi, karena segala pemrosesan dilakukan oleh microcontroller.

1.2. Perumusan Masalah

Dari masalah yang telah diuraikan di atas, dapat dirumuskan permasalahan yang dihadapi adalah :

1. Bagaimana membuat rekaman pola dan arah pergerakan tiap bidak catur. 2. Bagaimana menampilkan arah dari tiap bidak catur yang akan dijalankan

dalam permainan.

3. Bagaimana mendeteksi setiap jenis bidak yang akan dipindahkan selama permainan.

1.3. Pembatasan Masalah

Dalam perancangan dan pembuatan alat ini, terdapat beberapa pembatasan masalah, antara lain:

1. Pembuatan alat pemandu permainan catur berbasis microcontroller ini tidak menggunakan kecerdasan buatan, yaitu sistem yang dibangun tidak memandu pemain untuk menang dalam permainan.

2. Perancangan sistem pemandu permainan catur ini berlaku untuk semua bidak catur.


(17)

3. Terdapat komputer yang hanya berfungsi sebagai downloader program utama yang akan disimpan dalam sebuah memory yang ada pada

microcontroller.

1.4. Tujuan

Tujuan dari perancangan dan pembuatan perangkat ini adalah sebagai berikut :

1. Merancang dan membuat alat yang dapat merekam pola dan arah pergerakan tiap bidak catur.

2. Merancang dan membuat alat yang dapat menampilkan arah dari tiap bidak yang akan dijalankan dalam permainan catur.

3. Merancang dan membuat alat yang dapat mendeteksi setiap jenis bidak yang akan dipindahkan selama permainan.

1.5. Kontribusi

Permainan catur digital sebelumnya sudah banyak dirancang dalam bentuk aplikasi game catur dengan berbagai tingkat kecerdasan. Kelemahan sistem permainan catur seperti ini mengharuskan penggunanya membawa komputer ataupun laptop untuk menggunakan aplikasi game catur itu. Tentu saja dari sisi kepraktisan hal tersebut justru menyulitkan dalam pembelajaran catur. Dalam penelitian ini kekurangan itu akan dikembangkan menjadi lebih efisien sehingga tidak memerlukan komputer lagi dalam memainkan aplikasi game catur dan fungsi komputer ini hanya sebagai downloader dan pembuatan program di


(18)

sedang dalam proses pembelajaran permainan catur. Sistem ini memudahkan seseorang dalam memainkan catur karena sudah terdapat papan catur dan

microcontroller yang dengan mudah akan memandu seseorang dalam menjalankan bidak caturnya. Cara kerja alat ini mirip dengan cara kerja aplikasi game catur yang ada sekarang sehingga pengguna hanya perlu mengangkat bidak pada papan catur, kemudian secara otomatis pada beberapa kotak papan akan menyala yang menandakan bidak yang diangkat tersebut dapat menempati salah satu kotak yang menyala tersebut.

1.6. Sistematika Penulisan

Penulisan tugas akhir ini secara sistematis diatur dan disusun dalam lima bab yang didalamnya terdapat beberapa sub bab. Secara ringkas uraian materi dari bab pertama hingga bab terakhir adalah sebagai berikut:

BAB I : Pendahuluan

Pada bab pendahuluan ini dibahas mengenai latar belakang masalah, perumusan masalah, batasan masalah, tujuan serta sistematika dari penulisan tugas akhir.

BAB II : Landasan Teori

Pada bab landasan teori ini dijelaskan tentang sejarah catur, pola pergerakan bidak catur, Arsitektur dari microcontroller ATmega32 yang meliputi organisasi memori, memori program, memori data, register fungsi khusus, kemudian Random Access Memory (RAM), sensor input dan LED (Light emitting diode).


(19)

BAB III : Metode Penelitian

Pada bab ini dibahas mengenai perencanaan dan pembuatan perangkat keras (hardware) dan perangkat lunak (software). Perangkat keras (hardware) meliputi modul minimum system ATmega32, perangkat input, perangkat output, rangkaian power supply, dan mekanik papan catur. Sedangkan untuk perangkat lunaknya (software) menggunakan bahasa Basic.

BAB IV : Pengujian Sistem

Pada bab ini dibahas tentang pengujian sistem baik hardware maupun software. Pengujian hardware meliputi rangkaian minimum system ATmega32, perangkat input, dan perangkat output. Sedangkan untuk software dilakukan secara keseluruhan.

BAB V : Kesimpulan dan Saran

Pada bab kesimpulan dan saran ini merupakan kesimpulan dari hasil pengujian sistem secara keseluruhan dan saran-saran yang diharapkan dalam pengembangan lebih lanjut dari tugas akhir ini.


(20)

6

2.1. Sejarah Catur

Permainan di atas papan berisi 8 x 8 petak atau 64 petak ini berasal dari India sejak 500 Masehi, kemudian menyebar ke Persia dan masyarakat Arab.

Chess atau catur menyebar ke Eropa ketika kekuasaan Islam pada awal abad pertengahan memasuki Eropa dari selatan Spanyol.

Bentuk buah catur sempat berubah. Awalnya bentuk buah catur mirip manusia, kini berubah menjadi abstrak. Ketika memasuki Eropa, buah catur kembali mengambil bentuk menyerupai manusia. Buah-buah catur mewakili sejumlah golongan pada abad pertengahan yaitu:

1. Buah Pion mewakili budak yang kala itu selalu mengorbankan jiwa dan raga. 2. Buah Benteng mewakili rumah dan tempat berlindung.

3. Buah Kuda mewakili ksatria yang senantiasa melindungi negara.

4. Buah Peluncur mewakili gereja yang menjadi lambang keagamaan di abad pertengahan.

5. Buah Ratu atau Ster mewakili Ratu yang merupakan wanita paling berkuasa pada masa itu.

6. Buah Raja mewakili Raja yang merupakan pucuk pimpinan dan menentukan kalah menang pertarungan.

Catur dimainkan dua orang. Masing-masing pemain memegang buah catur putih melawan buah catur hitam. Yang menjadi pemenang dalam catur adalah


(21)

pemain yang berhasil men-skak (membuat Raja tidak bisa melangkah kemana pun) atau mematikan Raja.

Masing-masing buah catur memiliki pola pergerakan yang berbeda. Pion hanya boleh berjalan satu kotak ke depan, kecuali langkah pertamanya, boleh dua kotak ke depan. Pion tidak boleh jalan mundur, namun Pion memakan musuhnya dengan langkah diagonal kiri atau kanan. Benteng berjalan lurus secara vertikal dan horizontal, sementara Menteri atau Peluncur berjalan maju mundur secara diagonal sesuai warna petak. Cara jalan Ratu merupakan kombinasi cara jalan Benteng dan Menteri. Kuda bisa melompati halangan di depannya, asalkan alur jalannya menyerupai huruf “L” sebanyak 4 kotak. Untuk Raja bisa berjalan ke segala arah sebanyak satu kotak (Magethi, 2009:12).

2.2. Ketentuan Permainan Catur

Permainan dilangsungkan di atas papan yang terdiri dari 8 kolom dan 8 baris kotak atau petak berwarna hitam dan putih (terang dan gelap) secara berselang seling. Permainan dimulai dengan 16 buah pada masing-masing pihak, yang disusun berbaris secara khusus pada masing-masing sisi papan catur secara berhadap-hadapan. Satu buah hanya bisa menempati satu petak. Pada bagian terdepan masing-masing barisan terdapat 8 Pion, diikuti di belakangnya dua Benteng, dua Kuda (dalam bahasa Inggris disebut knight atau ksatria), dua Menteri atau Peluncur (dalam bahasa Inggris disebut bishop atau uskup), Ratu atau ster, serta satu Raja (Magethi, 2009:25).


(22)

2.2.1. Pola Pergerakan Bidak Catur

Sebelum bertanding, pecatur memilih warna buah yang akan ia mainkan. Pemegang buah putih memulai langkah pertama, yang selanjutnya diikuti oleh pemegang buah hitam secara bergantian. Setiap langkah hanya boleh menggerakkan satu bidak saja (kecuali untuk Rokade di mana ada dua bidak yang digerakkan). Bidak dipindahkan ke petak kosong, ataupun yang ditempati oleh bidak lawan, yang berarti menangkapnya dan memindahkan bidak lawan dari permainan. Ada pengecualian, yaitu untuk gerakan en passant. Setiap bidak catur memiliki gerakan yang unik sebagai berikut (Magethi, 2009:32):

1. Raja dapat bergerak satu petak ke segala arah. Raja juga memiliki gerakan khusus yang disebut Rokade yang turut melibatkan sebuah Benteng.

2. Benteng dapat bergerak sepanjang petak horizontal maupun vertikal, tetapi tidak dapat melompati bidak lain. Seperti yang telah di atas, Benteng terlibat dalam gerakan Rokade.

3. Peluncur dapat bergerak sepanjang petak secara diagonal, tetapi tidak dapat melompati bidak lain.

4. Ratu memiliki gerakan kombinasi dari Benteng dan Peluncur.

5. Kuda memiliki gerakan mirip huruf L, yaitu memanjang dua petak dan melebar satu petak. Kuda adalah satu-satunya bidak yang dapat melompati bidak-bidak lain.

6. Pion dapat bergerak maju (arah lawan) satu petak ke petak yang tidak ditempati. Pada gerakan awal, Pion dapat bergerak maju dua petak. Pion juga dapat menangkap bidak lawan secara diagonal, apabila bidak lawan tersebut


(23)

berada satu petak di diagonal depannya. Pion memiliki dua gerakan khusus, yaitu gerakan menangkap en passant dan promosi.

2.2.2. Rokade

Rokade (dalam bahasa Inggris, castling) merupakan gerakan khusus dalam catur di mana Raja bergerak dua petak menuju Benteng di baris pertamanya, kemudian meletakkan Benteng pada petak terakhir yang dilalui Raja. Persyaratan Rokade adalah sebagai berikut:

1. Bidak Raja dan Benteng yang akan dilibatkan dalam Rokade harus belum pernah bergerak.

2. Tidak ada bidak lain di antara Raja dan Benteng.

3. Raja tidak sedang di-skak, dan petak-petak yang dilalui Raja tidak sedang diserang oleh bidak lawan. Berikut adalah gambar mengenai proses Rokade :

Gambar 2.1. Proses pergerakan Rokade

(Sumber: http://www.chess.com/learn-how-to-play-chess.html).

2.2.3. En passant

Ketika Pion bergerak dua petak maju dan ada Pion lawan yang berada satu petak dalam baris tujuan, maka Pion lawan dapat menangkap dan menempati petak yang baru saja dilalui Pion tersebut (seolah-olah Pion tersebut bergerak satu


(24)

petak maju). Namun demikian, gerakan ini hanya dapat dilakukan sesaat setelah gerakan Pion maju dua petak, atau hak lawan untuk melakukan gerakan en passant ini hilang. Berikut adalah contoh proses en passant berlangsung :

Gambar 2.2. Proses pergerakan en passant

(Sumber: http://www.chess.com/learn-how-to-play-chess.html).

2.2.4. Promosi

Ketika Pion telah maju hingga menempati baris paling akhir, berbarengan dengan gerakan maju tersebut, Pion dipromosikan dan harus ditukar dengan bidak berdasarkan keinginan pemain, yaitu Ratu, Benteng, Peluncur, ataupun Kuda dengan warna yang sama. Pada umumnya, Pion dipromosikan menjadi Ratu. Tidak ada peraturan yang membatasi bidak yang dipilih sebagai promosi, jadi dimungkinkan memiliki bidak yang melebihi jumlahnya waktu awal permainan (semisal, dua Ratu). Berikut adalah gambar dari contoh proses promosi berlangsung pada permainan catur :


(25)

Gambar 2.3. Proses pergerakan promosi

(Sumber: http://www.chess.com/learn-how-to-play-chess.html).

2.2.5. Skak

Ketika Raja sedang diserang oleh satu atau lebih bidak lawan, keadaan ini disebut dengan skak. Pemain yang Rajanya diskak harus menggerakkan Rajanya supaya tidak terserang. Hal ini dapat dilakukan dengan menangkap bidak lawan yang menyerang, menutup serangan lawan dengan menempatkan sebuah bidak di antaranya (apabila yang menyerang Ratu, Benteng, atau Peluncur dan ada petak kosong di antara Raja dan bidak lawan) atau memindahkan Raja ke petak yang tidak sedang diserang. Rokade tidak diijinkan apabila Raja sedang diskak (Magethi, 2009:32).

2.2.6. Akhir Permainan Catur

Tujuan permainan adalah mencapai posisi skak mat. Hal ini bisa terjadi bila Raja terancam dan tidak bisa menyelamatkan diri ke petak lain. Tidak selalu permainan berakhir dengan kekalahan, karena bisa terjadi pula peristiwa seri atau remis di mana kedua belah pihak tidak mampu lagi meneruskan pertandingan karena tidak bisa mencapai skak mat. Peristiwa remis ini bisa terjadi berdasarkan kesepakatan maupun tidak. Salah satu contoh remis yang tidak berdasarkan kesepakatan, tetapi terjadi adalah pada keadaan remis abadi. Keadaan remis yang


(26)

lain adalah keadaan pat, dimana yang giliran melangkah tidak bisa melangkahkan buah apapun termasuk Raja, tetapi tidak dalam keadaan terancam skak. Dalam pertandingan catur pihak yang menang biasanya mendapatkan nilai 1, yang kalah 0, sedang draw 0.5 (Magethi, 2009:75).

2.3. Microcontroller ATmega32

Microcontroller AVR (Alf and Vegard's Risc processor) standar memiliki arsitektur 8 bit, 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), sedangkan seri MCS51 berteknologi CISC (Complex Instruction Set Computing). AVR dapat dikelompokkan menjadi empat kelas, yaitu keluarga ATtiny, keluarga ATSOSxx, keluarga ATmega, dan AT86RFxx. Pada dasamya, yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Untuk microcontroller AVR yang berukuran lebih kecil, Anda dapat mencoba ATmega8 atau ATtiny2313 dengan ukuran Flash Memory 2KB dengan dua input analog (Adrianto, 2008:17).

Selain ATmega32, sangat direkomendasikan untuk mencoba ATmega16 dan ATmegal28. Selain itu, kuasai juga jenis microcontroller lain produksi Maxim (Maxim-ic.com) seperti DS80C400 dan MAXQ2000 (Adrianto, 2008:19). Di dalam microcontroller ATmega32 sudah terdiri dari:

 Saluran I/O ada 32 buah, yaitu Port A, Port B, Port C, dan Port D.

 ADC (Analog to Digital Converter) 10 bit sebanyak 8 channel.

 Tiga buah Timer/Counter dengan kemampuan pembandingan.


(27)

 131 instruksi andal yang umumnya hanya membutuhkan 1 siklus clock.

Watchdogtimer dengan osilator internal.

 Dua buah timer/counter 8 bit, satu buah timer/counter 16 bit.

 Tegangan operasi 2.7 V – 5.5 V pada ATmega32L.

 Internal SRAM sebesar 1 KB.

 Memori Flash sebesar 32 KB dengan kemampuan Read While Write.

 Unit interupsi internal dan eksternal.

 Port antarmuka SPI.

 EEPROM sebesar 512 byte yang dapat diprogram saat operasi.

 Antarmuka komparator analog.

 Empat channel PWM.

 32 x 8 general purpose register.

 Hampir mencapai 16 MIPS pada Kristal 16 MHz.

 Port USART programmable untuk komunikasi serial.

2.3.1. Konfigurasi PIN

Gambar 2.2 merupakan susunan kaki standar 40 pin DIP microcontroller

AVR ATmega32:

Gambar 2.4. Pin-pin ATmega32


(28)

Berikut penjelasan umum susunan kaki ATmega32 :

 VCC merupakan pin masukan positif catu daya. Setiap peralatan elektronika digital tentunya butuh sumber catu daya yang umumnya sebesar 5V, itulah sebabnya di PCB kit microcontroller selalu ada IC regulator 7805.

 GND sebagai pin Ground.

 Port.A (PAO-PA7) merupakan pin I/O dua arah dan dapat diprogram sebagai pin masukan ADC.

 Port B (PBO-PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu

Tirner/Counter, Komparator analog, dan SPI.

 Port C (PCO-PC7) merupakan pin I/0 dua arah dan pin fungsi khusus, yaitu TWI, komparator analog, dan Timer Osilator.

 Port D (PDO-PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komparator analog, interupsi eksternal dan komunikasi serial.

Reset merupakan pin yang digunakan untuk me-resetmicrocontroller

 XTAL 1 dan XTAL 2 sebagai pin masukan clock ekstemal. Suatu

microcontroller membutuhkan sumber detak (clock) agar dapat mengeksekusi instruksi yang ada di memori. Semakin tinggi nilai kristalnya, maka semakin cepat microcontroller tersebut.

 AVCC sebagai pin masukan tegangan untuk ADC.

 AREF sebagai pin masukan tegangan referensi.

2.3.2. Reset


(29)

C 1 10uF / 16v

R 2 10k S1 VC C R ST R 1 100

Gambar 2.5. Skema rangkaian reset

(Sumber: Nalwan, 2003:56)

Reset dapat dilakukan secara manual maupun otomatis saat power diaktifkan (Power On Reset). Saat terjadi reset isi dari register akan berubah sesuai yang ada pada Tabel 2.1 (Nalwan, 2003:58).

Tabel 2.1. Isi Register setelah reset

Register Isi Register

Program Counter 0000H Akumulator 00H

Register B 00H

PSW 00H

Stack Pointer (A) 07H

DPTR 0000H

Port 0 – 3 FFH

InterruptPriority (IP) XXX00000B InterruptEnable (IE) 0XX00000B

RegisterTimer 00H

SCON 00H

SBUF 00H

PCON (HMOS) 0XXXXXXXB PCON (CMOS) 0XXX0000B


(30)

Reset terjadi dengan adanya logika 1 selama minimal 2 cycle pada kaki RST. Setelah kondisi pin RST kembali low, microcontroller akan mulai menjalankan program dari alamat 0000H. Kondisi pada internal RAM tidak terjadi perubahan selama reset.

Gambar 2.6 merupakan gambar rangkaian reset yang bekerja secara manual atau otomatis saat sumber daya diaktifkan. Saat sumber daya diaktifkan, maka kapasitor C1 sesuai dengan sifat kapasitor akan terhubung singkat pada saat itu sehingga rangkaian ekivalennya tampak pada Gambar 2.6A. Arus mengalir dari VCC langsung ke kaki RST sehingga kaki tersebut berlogika 1. Kemudian kapasitor terisi hingga tegangan pada kapasitor (VC) yaitu tegangan antara VCC dan titik antara kapasitor C1 dan resistor R2 mencapai VCC, otomatis tegangan pada R2 atau tegangan RST akan turun menjadi 0 sehingga kaki RST akan berlogika 0 (Gambar 2.6B) dan proses reset selesai. Aliran arus dan perubahan tegangan pada reset otomatis dapat dilihat pada Gambar 2.6.

R2 10k R1 100 S1 C1 10uF/16v R2 10k S1 RST VCC RST VCC A VR2 VC R1 100 B

Gambar 2.6. Aliran arus dan perubahan tegangan pada reset otomatis (Sumber: Nalwan, 2003:62)


(31)

Jika saklar S1 ditekan, reset kembali bekerja secara manual, aliran arus akan mengalir dari VCC melalui R1 menuju kaki RST (Gambar 2.6B). Tegangan pada kaki RST atau VR2 akan berubah menjadi (Nalwan, 2003:67) :

2 1 2 2 R R xVCC R VR   (2.1)

Yaitu 4,95 volt dengan nilai VCC = 5 volt. Sedangkan untuk rangkaian ekivalen saat saklar S1 ditekan dapat dilihat pada Gambar 2.7 berikut:

R2 10k R1 100 C1 10uF/16v RST VCC B

Gambar 2.7. Rangkaian ekivalen saat saklar S1 ditekan (Sumber: Nalwan, 2003:72)

Tegangan 4,94 volt pada kaki RST menyebabkan kaki ini berlogika 1 pada saat saklar tersebut ditekan. Saat saklar dilepas, aliran arus dari VCC melalui R1 akan terhenti dan tegangan pada kaki RST akan menurun menuju nol sehingga logika pada kaki ini menjadi 0 dan proses reset selesai.

2.4. Light Emitting Diode (LED)

LED adalah singkatan dari Light Emitting Diode, merupakan komponen yang dapat mengeluarkan emisi cahaya. LED merupakan produk temuan lain setelah dioda. Strukturnya juga sama dengan dioda, tetapi belakangan ditemukan bahwa elektron yang menerjang sambungan P-N juga melepaskan energi berupa


(32)

energi panas dan energi cahaya. LED dibuat agar lebih efisien jika mengeluarkan cahaya. Untuk mendapatkna emisi cahaya pada semikonduktor, doping yang pakai adalah galium, arsenic dan phosporus. Jenis doping yang berbeda menghasilkan warna cahaya yang berbeda pula (Mismail, 2007:112). Berikut adalah gambar dari simbol dioda LED :

Gambar 2.8. Simbol LED

(Sumber: http://en.wikipedia.org/wiki/Light-emitting_diode)

Dalam memilih LED perlu diperhatikan tegangan kerja, arus maksimum dan disipasi daya-nya. Pembungkus (chasing) LED dan bentuknya juga bermacam-macam, ada yang persegi empat, bulat dan lonjong (Mismail, 2007:114).

2.5. Latch 74HC573

Latch merupakan konsep dasar elemen penyimpan dalam sistem digital. Bentuk latch yang secara praktis penggunaannya luas adalah D-Latch. Rangkaian

D-latch ini memiliki masukan tunggal yaitu D (Data), dan akan menyimpan masukan D dengan pengendali sinyal Clk (clock). Rangkaian ini dikenal sebagai


(33)

Gambar 2.9. Gated D-Latch

(Sumber: http://en.wikipedia.org/wiki/flip-flop_electronics)

Jika D = 1, maka S = 1 dan R = 0, sehingga akan mengakibatkan state Q bernilai 1 (Q = 1). Sedangkan jika D = 0, maka S = 0 dan R = 1 yang berakibat pada state Q bernilai 0 (Q = 0). Perubahan state pada Q akan terjadi jika Clk bernilai 1, sedangkan saat Clk bernilai 0, Q akan mempertahankan state terakhirnya. Tabel kebenaran yang menggambarkan cara kerja dari gated D latch

ini adalah sebagai berikut:

Gambar 2.10. Tabel kebenaran D-Latch

(Sumber: http://en.wikipedia.org/wiki/flip-flop_electronics)

74HC573 adalah gerbang semikonduktor berkecepatan tinggi yang memiliki tipe octal D-latch. IC 74HC573 ini terdiri dari 3 blok yaitu input, D-Latch dan 3-State output. Berikut adalah function diagram dari 74HC573 :


(34)

Gambar 2.11. Diagram function 74HC57

(Sumber: http://en.wikipedia.org/wiki/Latch_electronics) Berikut adalah logic diagram dari latch 74HC573 :

Gambar 2.12. Logic diagram 74HC573

(Sumber: http://en.wikipedia.org/wiki/Latch_electronics)

Beberapa fitur-fitur pada latch 74HC573 adalah sebagai berikut :

1. Input dan output berada pada posisi berlawanan sehingga memudahkan dalam desain untuk penggunaannya bersama

microcontroller.

2. Dapat dipergunakan sebagai input juga output pada mikroprosesor dan mikrokomputer.


(35)

3. Memiliki 3-State output non-inverting untuk aplikasi berorientasi bus. 4. Common 3-state output enable input.

5. Functionally identical to 74HC563; 74HCT563 and 74HC373; 74HCT373.

6. Dilengkapi JEDEC dengan standar nomor 7A. 7. ESD protection:

a. HBMEIA/JESD22-A114-C exceeds 2000V. b. MMEIA/JESD22-A115-A exceeds 200V.

8. Spefikasi dari -40 °C hingga +85 °C dan dari -40 °C hingga +125 °C. Berikut adalah gambar dari IC Latch 74HC573 :

Gambar 2.13. IC Latch 74HC573

(Sumber: http://en.wikipedia.org/wiki/Latch_electronics)

2.6. Buffer 74HC244

Buffer adalah proses penampungan data sementara pada memory untuk keperluan penggunaan selanjutnya, proses bisa berupa digandakan, dipindahkan, diunduh, dimonitor dan lain sebagainya. Tugas utama dari buffer adalah untuk keperluan transfer data dari satu tempat ke tempat lain. Buffer adalah sebuah daerah memori yang menyimpan data ketika data tersebut ditransfer antara dua


(36)

perangkat atau antara sebuah perangkat dan sebuah aplikasi. Buffering digunakan karena tiga alasan, antara lain:

1. Untuk mengatasi perbedaan kecepatan antara produsen dan konsumen dari sebuah aliran data .

2. Untuk menyesuaikan antara perangkat-perangkat yang mempunyai perbedaan ukuran transfer data . Perbedaan ukuran transfer data ini sangat umum terjadi pada jaringan komputer dimana buffer digunakan secara luas untuk fragmentasi dan pengaturan kembali pesan-pesan. Pada bagian pengiriman, pesan yang ukurannya besar akan dipecah-pecah menjadi paket-paket kecil (fragmentasi). Paket-paket ini dikirim melalui jaringan, di ruang penerimaan, paket-paket kecil tadi diletakkan dalam buffer untuk disatukan kembali. 3. Untuk mendukung copy semantic pada aplikasi M/K. Sebuah contoh akan

menjelaskan arti dari copy semantic. Misalkan sebuah aplikasi mempunyai

buffer data yang ingin dituliskan ke disk. Aplikasi tersebut akan memanggil

system call write, lalu menyediakan sebuah pointer ke buffer dan sebuah bilangan bulat (integer) yang menspesifikasikan jumlah byte yang ditulis. Setelah system call tersebut selesai, dengan copy semantic, versi data yang ditulis ke disk sama dengan versi data pada saat aplikasi memanggil system call write , tidak tergantung dengan perubahan apapun yang ada pada buffer. Cara sederhana sistem operasi dapat menjamin copy semantic adalah untuk

system call write dengan menyalin data aplikasi ke buffer kernel sebelum mengembalikan kontrol ke aplikasi. Penulisan ke disk dilakukan dari buffer kernel sehingga perubahan yang terjadi pada buffer aplikasi tidak mempunyai efek apapun. Menyalin data antara buffer kernel dan buffer aplikasiadalah hal


(37)

yang umum dalam sistem operasi, kecuali overhead yang ada pada clean semantic. Efek yang sama dapat diperoleh dengan hasil yang lebih efisien dengan penggunaan yang cermat pada pemetaan memori virtual dan perlindungan halaman copy-on-write.

74HC244 adalah buffernon-inverting dan memiliki dua active-low enable

(IG dan 2G). Setiap jalur enable berdiri sendiri mengendalikan empat buffer. CMOS 74HC244 ini tidak memiliki input Schmit trigger. Berikut adalah beberapa fitur yang dimiliki IC ini :

1. Memiliki delay propagasi : 14 ns.

2. Memiliki 3-State output untuk koneksi bus. 3. Rentang nilai power supply antara 2-6 V. 4. dilengkapi dengan standar JEDEC no. 7A.

5. Spesifikasi dari -40 °C hingga +85 °C dan dari -40 °C hingga +125 °C. 6. ESD protection:

HBM EIA/JESD22-A114-C exceeds 2000 V. MM EIA/JESD22-A115-A exceeds 200 V.

Gerbang semikonduktor 74HC244 ini memiliki output-drive yang tinggi sehingga memungkinkan operasi kecepatan tinggi bahkan pada saat digunakan untuk bus berkapasitas besar. Semua inputan juga terlindungi dari kerusakan akibat static-discharge dari dioda ke Vcc dan Ground. Berikut adalah gambar dari diagram fungsi buffer 74HC244 :


(38)

Gambar 2.14. Diagram fungsi 74HC244 (Sumber: http://en.wikipedia.org/wiki/Buffer) Berikut adalah gambar chip dari buffer 74HC244 :

Gambar 2.15. IC buffer 74HC244 (Sumber: http://en.wikipedia.org/wiki/Buffer)

2.7. Regulator LM7805

Regulator adalah rangkaian regulasi atau pengatur tegangan keluaran dari sebuah catu daya agar efek dari naik atau turunnya tegangan jala tidak mempengaruhi tegangan catu daya sehingga menjadi stabil.


(39)

Prinsip Kerja IC (integrated circuit) mempunyai kelebihan karena lebih kompak (praktis) dan umumnya menghasilkan penyetabilan tegangan yang lebih baik. Fungsi-fungsi seperti pengontrol, sampling, komparator, referensi, dan proteksi yang tadinya dikerjakan oleh komponen diskrit, sekarang semuanya dirangkai dan dikemas dalam IC.

LM7805 adalah regulator untuk mendapat tegangan 5 volt. Komponen ini dilengkapi dengan pembatas arus (current limiter) dan juga pembatas suhu (thermal shutdown). Komponen ini memiliki tiga pin dan dengan menambah beberapa komponen saja sudah dapat menjadi rangkaian catu daya yang ter-regulasi dengan baik. Berikut adalah gambar dari regulator LM7805 :

Gambar 2.16. Regulator LM7805

(Sumber: http://id.wikipedia.org/wiki/Transformator)

Adaptor atau catu daya adalah sumber tegangan DC yang digunakan untuk memberikan tegangan akan daya kepada berbagai rangkaian elektronika yang membutuhkan tegangan DC agar dapat beroperasi. Berikut adalah skematik rangkaian lengkap catu daya menggunakan regulator tiga terminal IC 7805 untuk tegangan output 5 volt konstan.


(40)

Gambar 2.17. Skematik prinsip kerja IC regulator LM7805

Arus maksimum regulator IC yang dikirim ke beban tergantung pada tiga faktor, yaitu temperatur, arus beban, dan perbedaan antara input dan output atau yang disebut dengan diferensial input dan output (Blocher, 2003:134).

2.8. BASCOM-AVR Compiler

BASCOM-AVR adalah program Basic compiler berbasis Windows untuk

microcontroller keluarga AVR. Microcontroller AVR dapat dikelompokkan menjadi 6 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATmega, keluarga AT90CAN, keluarga AT90PWM dan AT89RFxx. BASCOM-AVR merupakan pemrograman dengan bahasa tingkat tinggi Basic yang dikembangkan oleh MCS electronic. BASCOM-AVR dapat dijalankan pada sistem operasi Windows 95, 98, NT, 2000, XP, Vista dan 7. Berikut adalah beberapa keunggulan BASCOM-AVR (Iswanto, 2008:87) :

a. Basic yang terstruktur dengan label.

b. Pemrograman terstruktur dengan IF-THEN-ELSE-END IF, DO-LOOP, WHILE-WEND, SELECT- CASE.


(41)

d. Variabel dan label berkapasitas besar hingga 32 karakter.

e. Variabel yang tersedia antara lain : Bit, Byte, Integer, Word, Long, Single, Double dan String.

f. Memberikan fasilitas untuk variabel Double. Hanya BASCOM-AVR yang dapat memberikan fasilitas ini dan tidak ditemukan di compiler AVR yang lainnya. BASCOM juga mampu menampung variabel Double dalam jumlah besar dengan 8 byte Floating Point.

g. Large set of Trig Floating point functions. h. Date & Time calculation functions.

i. Program compiler yang dapat berfungsi di semua microprocessors

AVR yang memiliki internalmemory.

j. Sangat kompatibel dengan Microsoft VB / QB.

k. Memiliki perintah khusus untuk LCD-display, chip I2C dan chip 1WIRE, PC Keyboad, matriks Keyboad, input RC5, perangkat lunak UART, SPI, grafis LCD, IR kirim RC5, RC6 atau kode Sony. l. TCP/IP dengan W3100A chip.

m. Local variables, user functions, library support.

n. Integrated terminal emulator with download option.

o. Integrated simulator for testing.

p. Integrated ISP programmer (application note AVR910.ASM).

q. Integrated STK200 programmer and STK300 programmer. r. Editor with statement highlighting.

s. PDF datasheet viewer.


(42)

u. Sangat sesuai untuk pemakaian board berikut : a. AVR robot controller (ARC 1.1) dari L. Barello. b. Active Mega8535 Micro Board dari Active Robots. c. MAVRIC dan MAVRIC-II dari BDMICRO.

v. Special Tcp/Ip library, AT mouse simulator, AT keyboard simulator and others are available as add on.

2.9. CodeVision AVR

CodeVisionAVR merupakan sebuah cross-compiler C, Integrated Development Environtment (IDE), dan Automatic Program Generator yang di desain untuk microcontroller buatan Atmel seri AVR. CodeVisionAVR dapat dijalankan pada sistem operasi Windows 95, 98, Me, NT4, 2000, XP, Vista dan 7. Cross-compiler C mampu menerjemahkan hampir semua perintah dari bahasa ANSI C, sejauh yang diijinkan oleh arsitektur dari AVR, dengan tambahan beberapa fitur untuk mengambil kelebihan khusus dari arsitektur AVR dan kebutuhan pada sistem embedded (Adrianto, 2008:32).

File object COFF hasil kompilasi dapat digunakan untuk keperluan

debugging pada tingkatan C, dengan pengamatan variabel, menggunakan

debugger Atmel AVR Studio.

IDE mempunyai fasilitas internal berupa software AVR Chip In-System Programmer yang memungkinkan Anda untuk melakukan transfer program

kedalam chip microcontroller setelah sukses melakukan kompilasi secara otomatis. Software In-System Programmer didesain untuk bekerja dengan Atmel STK500/AVRISP/AVRProg, Kanda Systems STK200+/300, Dontronics DT006,


(43)

Vogel Elektronik VTEC-ISP, Futurlec JRAVR dan MicroTronics ATCPU/Mega2000 programmers/development boards.

Untuk keperluan debugging sistem embedded, yang menggunakan komunikasi serial, IDE mempunyai fasilitas internal berupa sebuah terminal.

Selain library standar C, CodeVisionAVR juga mempunyai library tertentu untuk:

a. Modul LCD alphanumeric Bus I2C dari Philips. b. Sensor Suhu LM75 dari National Semiconductor.

c. Real-Time Clock: PCF8563, PCF8583 dari Philips, DS1302 dan DS1307 dari Maxim/Dallas Semiconductor.

d. Protokol 1-Wire dari Maxim/Dallas Semiconductor.

e. Sensor Suhu DS1820, DS18S20, dan DS18B20 dari Maxim/Dallas

Semiconductor.

f. Termometer/Termostat DS1621 dari Maxim/Dallas Semiconductor. g. EEPROM DS2430 dan DS2433 dari Maxim/Dallas Semiconductor. h. SPI.

i. Power Management.

j. Delay.

k. Konversi ke Kode Gray

CodeVisionAVR juga mempunyai Automatic Program Generator

bernama CodeWizardAVR, yang mengijinkan Anda untuk menulis, dalam hitungan menit, semua instruksi yang diperlukan untuk membuat fungsi-fungsi berikut:


(44)

2. Identifikasi sumber reset untuk chip.

3. Inisialisasi port input/output.

4. Inisialisasi interupsi eksternal. 5. Inisialisasi Timer/Counter.

6. Inisialisasi Watchdog-Timer.

7. Inisialisasi UART (USART) dan komunikasi serial berbasis

buffer yang digerakkan oleh interupsi. 8. Inisialisasi Pembanding Analog.

9. Inisialisasi ADC.

10.Inisialisasi Antarmuka SPI. 11.Inisialisasi Antarmuka Two-Wire.

12.Inisialisasi Antarmuka CAN.

13.Inisialisasi Bus I2C, Sensor Suhu LM75,

Thermometer/Thermostat DS1621 dan Real-Time Clock

PCF8563, PCF8583, DS1302, dan DS1307.

14.Inisialisasi Bus 1-Wire dan Sensor Suhu DS1820, DS18S20. 15.Inisialisasi modul LCD.

2.10 Pemrograman Basic

Basic adalah bahasa pemrograman yang terstruktur. Selain itu bahasa ini mendukung teknik pemrograman modular atau prosedural yang ditandai dengan tersedianya fasilitas untuk membuat suatu prosedur atau sub program. Struktur program Basic diawali dengan bagian pendeklarasian variabel, kemudian bagian tubuh program tempat meletakkan statement atau instruksi-intruksi untuk sebuah


(45)

program dan diakhiri oleh statement END. Jika dibuat contoh terlihat sebagai berikut:

DIM nama_variabel AS tipe_data

Variabel

No_baris1 Statement_1 No_baris2 Statement_2

No_barisn Statement_n End

Statement END tidak harus berada di akhir baris program, fungsinya adalah untuk mengakhiri program dan kembali ke sistem operasi.

Variabel adalah besaran atau simbol yang digunakan untuk menyimpan suatu nilai. Basic memiliki aturan atau kententuan untuk penulisan nama variabel yang akan dideklarasikan, yaitu (Iswanto, 2008:23) :

1. Maksimum panjangnya 40 karakter.

2. Terdiri dari huruf, angka, dan titik, tetapi karakter pertama harus huruf. 3. Tidak boleh menggunakan spasi atau blank di antara karakter-karakter. 4. Tidak boleh ada karakter khusus, kecuali %, !, # dan $ yang harus diletakkan diakhir nama variabel yang menunjukkan jenis variabelnya. 5. Tidak boleh sama dengan Basic reserved words, yaitu kata-kata yang

sudah menjadi milik Basic untuk tugas tertentu. Reserved word terdiri dari statement, function, keyword dan meta command.

Tipe data adalah jenis data yang disimpan variabel. Jika dideklarasikan tanpa menyebutkan tipe datanya Basic menganggap variabel tersebut bertipe numerik. Tipe data dalam Basic, yaitu (Iswanto, 2008:25) :

1. Integer : bilangan bulat 16-bit antara -32768 s/d. 32767. 2. Long : bilangan bulat 32-bit.


(46)

3. Single : floating point 32-bit antara 2.938736 x 10-39 s/d 1.701412 x 1038.

4. Double : floating point 64-bit antara 2.9358745877055719 x 10-39 s/d 1.701411834604692 x 1038.

5. String : untaian kata yang terdiri dari huruf dan angka dengan panjang n bytes(karakter).


(47)

33

BAB III

METODE PENELITIAN

Metode penelitian yang digunakan dalam perancangan perangkat keras adalah studi kepustakaan berupa data-data literatur dari masing-masing komponen, informasi dari internet dan konsep-konsep teoritis dari buku-buku penunjang. Sedangkan dalam perancangan perangkat lunak berdasarkan teori dan aplikasi dari buku-buku penunjang sehingga dapat dilakukan percobaan langsung baik pada perangkat keras maupun pada komputer.

Dalam perancangan alat pemandu permainan catur berbasis

microcontroller ini secara garis besar dapat digambarkan seperti blok diagram di bawah ini :

Gambar 3.1. Blok Diagram Keseluruhan Sistem

Microcontroller Perangkat Input dan Output di

Papan Catur

Latch Buffer


(48)

Dari Gambar 3.1. dapat dilihat bahwa sistem secara keseluruhan terbagi menjadi empat bagian yaitu Microcontroller, Latch 74HC573, Perangkat input dan output papan catur, serta Buffer 74HC244.

Buffer 74HC244 berfungsi untuk membaca data tiap baris dari deteksi letak bidak pada papan catur. Microcontroller berfungsi sebagai pengatur jalan dari bidak pada papan catur, dalam microcontroller tersebut memuat program-program untuk menentukan pergerakan bidak selanjutnya. Pergerakan bidak pion yang valid ditandai dengan menyalanya LED pada papan catur. Latch 74HC573 untuk mengatur nyala dari LED di papan catur agar sesuai seperti yang dimaksudkan program pada microcontroller.

3.1. Perancangan Perangkat Keras

Perangkat keras merupakan rangkaian elektronik yang digunakan sebagai pemroses. Rangkaian-rangkaian berikut terdiri dari rangkaian pemroses (Minimum System ATmega32), rangkaian input berupa sakelar PCB (Printed circuit board) dan Buffer 74HC244, rangkaian output berupa Latch 75HC573 dan LED.

Pada Minimum system ATmega32 terdapat beberapa rangkaian pendukung yaitu rangkaian reset dan rangkaian oscillator. Pada rangkaian reset

menggunakan manual reset. Pada rangkaian oscillator menggunakan komponen kristal 11.0592 MHz sebagai clk (clock).

Rangkaian input pada perangkat ini terdiri dari Buffer 74HC244 sebagai pengendali data input dari papan catur. Kemudian sensor input berupa desain pada papan catur yang cara kerjanya menyerupai sakelar yang dapat mendeteksi keberadaan bidak pada masing-masing kotak.


(49)

Rangkaian output pada perangkat ini terdiri dari Latch 74HC573 sebagai penyangga data output untuk menyalakan LED pada papan catur. Sensor output berupa LED tiga milimeter berwarna merah yang dapat menyala sebagai tanda memandu pergerakan bidak catur.

3.1.1. Rangkaian Microcontroller

Pada proyek akhir ini dibuat piranti pengendali menggunakan

Microcontroller keluaran AVR, yaitu ATmega32. Untuk mengaktifkan atau menjalankan microcontroller ini diperlukan rangkaian minimum system. Rangkaian minimum system tersebut terdiri rangkaian reset, rangkaian oscillator, rangkaian power supply dan rangkaian sistem microcontroller.

A. Rangkaian minimum system microcontroller

Untuk menjalankan microcontroller dibutuhkan sebuah rangkaian minimum agar microcontroller tersebut dapat bekerja dengan baik. Rangkaian

minimummicrocontroller terdiri dari rangkaian reset dan rangkaian oscillator. Reset pada microcontroler ATmega32 terjadi dengan adanya logika high

“1” selama dua cycle pada kaki RST pada microcontroller ATmega32. Setelah kondisi pin RST kembali low, maka microcontroller akan menjalankan program dari alamat 0000H. Dalam hal ini reset yang digunakan adalah manual reset.

Pada pin VCC diberi masukan tegangan operasi berkisar antara 4,5 volt sampai dengan 5,5 volt. Pin RST mendapat input dari manual reset. Rangkaian


(50)

Gambar 3.2. Rangkaian Minimum System

Pin XTAL1 dan XTAL2 merupakan pin oscillator bagi microcontroller

ATmega32. Pin XTAL1 befungsi sebagai input dan XTAL2 sebagai output

oscillator. Oscillator ini bisa berasal dari kristal atau dari keramik resonator.

Seperti yang sudah terlihat di atas, pin XTAL1 dan XTAL2 dihubungkan dengan komponen XTAL sebesar 11.0592 MHz. Pada proyek akhir ini dibuat rangkaian

oscillator internal yang terbuat dari kristal. Nilai C1 dan C2 masing-masing 33 pF.

B. Perancangan Interface I/O

Rangkaian I/O dari microcontroller mempunyai kontrol direksi yang tiap bitnya dapat dikonfigurasikan secara individual, maka dalam perancangan I/O yang digunakan ada yang berupa operasi port ada pula yang dikonfigurasi tiap bit I/O. Berikut ini akan diberikan konfigurasi dari I/O microcontroller tiap bit yang ada pada masing-masing port yang terdapat pada microcontroller.


(51)

1. Port A

Port A digunakan untuk output Latch 74HC573.

2. Port B

Port B digunakan untukoutput kontrol LED.

3. Port C

Port C digunakan untuk input Buffer 74HC244.

4. Port D

Port D digunakan untuk kontrol input sakelar.

Untuk perancangan interface input dan output pada microcontroller yang lebih mendetil dapat dilihat pada tabel 3.1 dibawah :

Tabel 3.1. Perancangan interface input/output Port Alokasi Port pada Hardware PortA.0 Data LED 1

PortA.1 Data LED 2 PortA.2 Data LED 3 PortA.3 Data LED 4 PortA.4 Data LED 5 PortA.5 Data LED 6 PortA.6 Data LED 7 PortA.7 Data LED 8

PortB.0 Kontrol clockLatch 1 PortB.1 Kontrol clockLatch 2 PortB.2 Kontrol clockLatch 3 PortB.3 Kontrol clockLatch 4 PortB.4 Kontrol clockLatch 5 PortB.5 Kontrol clockLatch 6 PortB.6 Kontrol clockLatch 7 PortB.7 Kontrol clockLatch 8 PortC.0 Data input sakelar 1 PortC.1 Data input sakelar 2 PortC.2 Data input sakelar 3 PortC.3 Data input sakelar 4 PortC.4 Data input sakelar 5 PortC.5 Data input sakelar 6 PortC.6 Data input sakelar 7 PortC.7 Data input sakelar 8


(52)

PortD.0 Kontrol chip select Buffer 1 PortD.1 Kontrol chip select Buffer 2 PortD.2 Kontrol chip select Buffer 3 PortD.3 Kontrol chip select Buffer 4 PortD.4 Kontrol chip select Buffer 5 PortD.5 Kontrol chip select Buffer 6 PortD.6 Kontrol chip select Buffer 7 PortD.7 Kontrol chip select Buffer 8

Pada pemrograman bahasa Basic menggunakan compiler Bascom AVR, inisialisasi Port pada microcontroller cukup dengan beberapa baris pernyataan seperti dibawah ini :

$regfile = "m32def.dat" $crystal = 11059200 Ddra = &B11111111 Ddrb = &B11111111 Ddrc = &B00000000 Ddrd = &B11111111

C. Program Downloader

Untuk melakukan proses downloading program dalam format .HEX dari komputer ke dalam memory program internal microcontroller, penulis menggunakan kabel downloader dengan interface DB25 yang dihubungkan pada port LPT1 pada komputer. Konfigurasi kabel downloader terdapat pada Gambar 3.3 berikut:


(53)

Gambar 3.3. Rangkaian kabel downloader pada port LPT Sedangkan untuk konektor downloader pada microcontroller ATmega32 dapat dilihat pada Gambar 3.4 berikut:

R12 10k

5 V

SCK MOSI RST MISO

J5

Downloader

1 2 3 4 5 6

Gambar 3.4. Konektor Downloader pada Microcontroller

ATmega32

D. Rangkaian Reset

Reset pada microcontroler ATmega32 terjadi dengan adanya logika high

“1” selama dua cycle pada kaki RST pada microcontroller ATmega32. Setelah kondisi pin RST kembali low, maka microcontroller akan menjalankan program


(54)

dari alamat 0000H. Dalam hal ini reset yang digunakan adalah manual reset.

Rangkaian reset dapat dilihat pada Gambar 3.5 berikut :

Gambar 3.5. Rangkaian Reset

E. Rangkaian Oscillator

Pin XTAL1 dan XTAL2 merupakan pin oscillator bagi microcontroller

ATmega32. Pin XTAL1 befungsi sebagai input dan XTAL2 sebagai output

oscillator. Oscillator ini bisa berasal dari kristal atau dari keramik resonator.

Rangkaian oscillator dapat dilihat pada Gambar 3.6 berikut:

Gambar 3.6. Rangkaian Oscillator

Pada proyek akhir ini dibuat rangkaian oscillatorinternal yang terbuat dari kristal. Nilai C1 dan C2 masing-masing 33 pF.


(55)

3.1.2. Rangkaian Input

Rangkaian input hal ini berfungsi sebagai pendeteksi keberadaan bidak dan posisi bidak pada saat ini. Rangkaian elektronika untuk perangkat input terdiri dari Buffer 74HC244 dan serangkaian desain PCB (printed circuit board) yang menyerupai sakelar. Rangkaian desain PCB yang berfungsi sebagai pendeteksi keberadaan bidak catur akan dijelaskan lebih detil pada perancangan mekanik di sub-bab selanjutnya. Berikut adalah skematik dari rangkaian kontrol input yang terdiri dari sakelar dan Buffer 74HC244 seperti pada gambar 3.7 ini :


(56)

Skematik di atas terdiri dari delapan Buffer 74HC244. Satu Buffer

digunakan untuk mengontrol input dari satu baris sehingga masing-masing baris memiliki satu Buffer 74HC244. Berikut adalah gambar dari kontrol input baris pertama pada rangkaian input.

Gambar 3.8. Rangkaian skematik kontrol input baris satu

Gambar di atas adalah detil dari gambar 3.7. Pada gambar 3.8 ini terdapat satu Buffer 74HC244 untuk kontrol baris pertama begitu juga seterusnya hingga baris kedelapan. Buffer 74HC244 dalam hal ini berfungsi untuk membaca perbaris data bidak yang diangkat. Buffer ini berguna untuk membaca delapan bit pada baris tersebut selama chip select 74HC244 ini diaktifkan. Namun, jika chip select

tidak diaktifkan data pada baris tersebut akan mengambang atau tidak terdeteksi 1 maupun 0. Dalam project tugas akhir ini, kotak catur yang terdeteksi keberadaan bidak pada kotak tersebut akan bernilai 0, begitu juga sebaliknya saat ada bidak akan bernilai 1.

Rangkaian input ini menggunakan 2 port dari microcontroller yaitu port C dan port D. Port D digunakan untuk mengambil 8 bit data dari tiap-tiap Buffer

74HC244, sedangkan port C digunakan untuk mengendalikan chip select dari tiap


(57)

pengambilan data, juga untuk mengatasi keterbatasan port input dan output pada

microcontroller, karena satu chip Buffer dapat menangani satu baris papan catur atau 8 input sekaligus.

3.1.3. Rangkaian Output

Rangkaian output proyek akhir ini berfungsi sebagai pengatur nyala LED (Light Emitting Diode) pada papan catur sebagai penanda langkah valid bidak yang diangkat saat itu. Rangkaian elektronika untuk output terdiri dari Latch

74HC573 dan LED (Light Emitting Diode) yang terletak pada PCB papan catur. LED pada papan catur akan menyala sesuai perintah pada program yang ada pada

microcontroller. Namun untuk memudahkan dan meminimalisir penggunaan pin output pada microcontroller penulis menggunakan Latch 74HC573 sebagai kontrol output. Berikut adalah gambar skematik untuk rangkaian output.


(58)

Gambar 3.9. Rangkaian kontrol output papan catur

Skematik di atas terdiri dari delapan Latch 74HC573. Satu Latch

digunakan untuk mengontrol output dari satu baris sehingga masing-masing baris memiliki satu Latch 74HC573. Berikut adalah gambar dari kontrol output baris pertama pada rangkaian output.


(59)

Gambar 3.10. Kontrol output baris pertama

Gambar 3.10 di atas adalah kontrol output baris pertama sebagai detil dari gambar 3.9 di halaman sebelumnya. Pada kontrol output baris pertama ini terdapat satu Latch 74HC573 sebagai penahan data yang dikirim dari microcontroller

begitu juga seterusnya untuk baris berikutnya hingga baris kedelapan. Prinsip kerja dari Latch 74HC573 ini adalah mempertahankan data output yang diterima dari microcontroller untuk menyalakan LED pada papan catur selama satu clock

yang diberikan pada Latch baris masing-masing. Untuk mengubah data pada baris yang diinginkan cukup dengan memberikan satu clock berikutnya pada Latch

yang sesuai.

Rangkaian output ini menggunakan 2 port dari microcontroller yaitu port A dan port B. Port A digunakan untuk memberikan 8 bit data ke tiap-tiap Latch

74HC573, sedangkan port B digunakan untuk mengatur clock dari tiap Latch. Kemudian pada perancangan hardware pada keseluruhan sistem dapat dilihat pada Gambar 3.11 berikut :


(60)

Gambar 3.11. Seluruh perangkat keras pada keseluruhan sistem

Pada gambar di atas, terdapat tiga bagian yaitu bagian papan catur, control board, dan juga power supply board. Pada bagian papan catur terdapat LED sebagai output dan sakelar PCB sebagai input. Pada bagian controlboard terdapat

Latch 74HC573 dan Buffer 74HC244 yang tergabung dengan minimum system

ATmega32. Kemudian board terakhir terdapat rangkaian power supply.

3.2. Perancangan Mekanik

Untuk perancangan mekanik, sebisa mungkin untuk merancang papan catur yang bisa mendeteksi keberadaan bidak catur pada tiap kotak papan catur tersebut. Untuk merancang mekanik yang dapat memenuhi kriteria tersebut, Papan catur dan bidak catur harus berfungsi seperti sakelar dimana pada saat ada bidak catur pada kotak, maka kotak mengirim data kepada Buffer 74HC244 untuk diteruskan menuju microcontroller. Selain sebagai pendeteksi keberadaan bidak catur, papan catur juga harus dilengkapi indikator di setiap kotak papan catur. Indikator ini berfungsi sebagai penanda bahwa bidak yang diangkat pada saat itu


(61)

Sensor yang digunakan sebagai pendeteksi buah catur yang sedang dijalankan pada papan catur adalah serangkaian desain PCB yang menyerupai sakelar. Masing-masing petak pada papan catur terdapat sepasang pelat tembaga PCB, dimana pemasangannya menyerupai keypad yang sama-sama menggunakan metode scanning sehingga untuk mendapatkan 64 petak dibutuhkan 8 baris dan 8 kolom. Rangkaian input pada papan catur ditunjukkan pada Gambar 3.12 :

Gambar 3.12. Design PCB deteksi input

Pada desain papan catur di atas terdapat indikator berupa LED (light emtting diode) berukuran 3 milimeter sebagai penanda valid atau tidaknya sebuah bidak menempati suatu kotak pada papan catur. Selain desain sakelar pada papan PCB ini, juga ada perangkat pendukung yaitu logam yang diletakkan dibawah permukaan masing-masing buah catur. Hal ini berfungsi sebagai deteksi letak bidak disaat logam pada bidak catur menyentuh salah satu kotak pada papan PCB maka dua pelat tembaga pada PCB akan tersambung menyerupai cara kerja sakelar. Berikut adalah gambar dari logam yang diletakkan pada permukaan bawah masing-masing bidak :


(62)

Gambar 3.13. Logam pada permukaan bawah Bidak

Untuk logam yang digunakan pada permukaan bawah bidak adalah sebuah mur dan logam. Penggunaan logam ini digunakan sebagai konduktor pada sistem sakelar sebagai input deteksi bidak.

3.3. Perancangan Perangkat Lunak

Perangkat lunak pada microcontroller bertujuan untuk memudahkan user

dalam bermain catur. Seluruh perangkat lunak pada sistem pemandu permainan catur ini menggunakan memory pada microcontroller. Perangkat lunak pada

microcontroller ini akan menampilkan arah pola pergerakan bidak yang dijalankan user. Diagram alir perangkat lunak dapat dilihat pada Gambar 3.14 berikut:


(63)

Gambar 3.14. Diagram Alir Perangkat Lunak

Terdapat empat proses inti pada keseluruhan sistem ini yaitu proses inisialisasi, proses pendeteksian bidak yang diangkat, proses menyalakan LED, dan terakhir adalah proses pendeteksi bidak diletakkan. Proses yang pertama adalah inisialisasi bidak pada awal permainan, inisialisasi ini bertujuan untuk memberi identitas pada 16 bidak putih yang terletak di baris pertama dan kedua. Proses inisialisasi ini sangat penting untuk pendeteksian bidak yang dijalankan


(64)

pada papan catur. Pendeteksian bidak ini bertanggung jawab dalam pengambilan keputusan saat menyalakan LED pemandu pola pergerakan bidak catur yang sedang diangkat. Diagram alir untuk proses pendeteksian awal bidak terlihat pada gambar dibawah ini:

Gambar 3.15. Diagram alir inisialisasi awal

Pada proses inisialisasi ini bidak yang terdeteksi menempati satu kotak papan catur akan menyalakan LED pada kotak tersebut sebagai tanda konfirmasi bidak tersebut telah diberi identitas. Setelah 16 bidak tersebut telah lengkap diinisialisasi, proses selanjutnya adalah menunggu salah satu bidak terangkat. Proses ini berulang hingga terdeteksi ada bidak yang diangkat, begitu ada bidak


(65)

yang terangkat, proses pendeteksian jenis bidak yang diangkat berjalan. Proses pembacaan jenis bidak ini akan memutuskan jenis bidak yang diangkat tersebut adalah bidak Raja, Menteri, Peluncur, Kuda, Benteng, ataupun Pion. Gambar berikut adalah diagram alir dari proses pendeteksian bidak:


(66)

Setelah diketahui jenis bidak yang terangkat, proses berikutnya adalah menjalankan subrutin sesuai jenis bidak yang telah dideteksi tersebut. Pada subrutin ini dilakukan pengolahan data di variabel yang menyimpan informasi posisi bidak tersebut dan menghasilkan nyala LED sesuai pola pergerakan bidak yang diangkat. Berikut diagram alir proses menyalakan LED pada papan catur:

Gambar 3.17. Diagram alir proses menyalakan LED

Pada proses subrutin masing-masing jenis bidak, perangkat pemandu permainan catur akan menampilkan arah pola pergerakan sesuai bidak yang dideteksi pada proses sebelumnya. Kemudian, langkah selanjutnya adalah


(67)

menunggu bidak yang terangkat tadi menempati salah satu kotak yang menyala pada papan catur, kondisi ini berulang hingga bidak diletakkan dengan baik pada salah satu kotak tersebut. Gambar berikut adalah diagram alir proses pendeteksian bidak yang diletakkan:

Gambar 3.18. Diagram alir proses bidak diletakkan

Setelah bidak menempati salah satu kotak yang menyala, semua lampu LED dipadamkan kecuali LED pada kotak yang ditempati. Nyala LED pada kotak yang ditempati menyala sedikit lebih lama dari LED pada kotak yang lainnya sebagai tanda konfirmasi bahwa bidak tersebut telah menempati posisi yang baru. Setelah proses ini selesai perangkat pemanduan permainan catur akan kembali menunggu ada bidak selanjutnya yang terangkat.


(68)

54

Pengujian sistem yang dilakukan penulis merupakan pengujian terhadap perangkat keras dan perangkat lunak dari sistem secara keseluruhan yang telah selesai dibuat.

4.1. Pengujian Minimum System 4.1.1. Tujuan

Pengujian terhadap minimum system dilakukan untuk menguji kinerja dari rangkaian minimum system dan microcontroller ATmega32 yang digunakan dapat bekerja dengan baik. Pengujian minimum system ini merupakan bagian vital yang menentukan kinerja sistem pemandu permainan catur secara keseluruhan. Sistem berjalan baik apabila minimum system ATmega32 dapat bekerja dengan baik sehingga dapat mengendalikan sistem pemandu permainan catur sesuai program yang telah dibuat.

4.1.2. Alat yang digunakan

1. Rangkaian minimum system ATmega32. 2. PC komputer.

3. Kabel downloader. 4. Power supply.


(69)

4.1.3. Prosedur pengujian

1. Aktifkan power supply dan hubungkan dengan minimum system selanjutnya aktifkan PC komputer. Jalankan program CodeVisionAVR. Sambungkan

minimum system dengan kabel downloader pada port parallel.

2. Jalankan menu Chip Signature programmer pada CodeVisionAVR .

4.1.4. Hasil pengujian

Tampilan dari program chip signature pada CodeVisionAVR dapat di lihat pada Gambar 4.1.

Gambar 4.1. Tampilan Chip Signature

Dari percobaan di atas apabila menu chip signature programmer berhasil dikerjakan maka minimum system ATmega32 inidapat dikatakan bekerja dengan baik. Pada Gambar 4.1. menunjukan bahwa minimum system berhasil dikenali dan


(70)

4.2. Pengujian Perangkat Input 4.2.1. Tujuan

Pengujian terhadap perangkat input dilakukan untuk menguji keakuratan perangkat input yang ada pada papan catur untuk mendeteksi keberadaan bidak catur. Sistem pemanduan permainan catur ini memerlukan data inputan dari papan catur dan mengolah data tersebut menggunakan microcontroller. Perangkat input dapat dikatakan berjalan dengan baik jika dapat mendeteksi keberadaan bidak di tiap-tiap kotak pada papan catur.

4.2.2. Alat yang digunakan

1. Perangkat pemandu permainan catur. 2. PC komputer.

3. Kabel downloader. 4. Power supply.

5. Digital multi meter.

4.2.3 Prosedur pengujian

1. Susun rangkaian perangkat pemandu permainan catur sehingga papan catur dan minimum system terhubung dengan baik. Kemudian hubungkan perangkat dengan power supply.

2. Pastikan perangkat pemandu permainan catur telah menyala dengan baik. Kemudian download program pengujian perangkat input di bawah ini ke dalam microcontroller :

$regfile = "m32def.dat" $crystal = 11059200 K_inpbaris1 Alias Portd.0


(71)

K_inpbaris2 Alias Portd.1 K_inpbaris3 Alias Portd.2 K_inpbaris4 Alias Portd.3 K_inpbaris5 Alias Portd.4 K_inpbaris6 Alias Portd.5 K_inpbaris7 Alias Portd.6 K_inpbaris8 Alias Portd.7 Dp1 Alias Pinc.0

Dp2 Alias Pinc.1 Dp3 Alias Pinc.2 Dp4 Alias Pinc.3 Dp5 Alias Pinc.4 Dp6 Alias Pinc.5 Dp7 Alias Pinc.6 Dp8 Alias Pinc.7 Portinput Alias Pinc Set K_inpbaris1 Set K_inpbaris2 Set K_inpbaris3 Set K_inpbaris4 Set K_inpbaris5 Set K_inpbaris6 Set K_inpbaris7 Set K_inpbaris8

3. Dengan menggunakan Digital multi meter. Catatlah tegangan yang diterima

microcontroller pada saat ada bidak dan tidak ada bidak pada tiap kotak papan catur.

4.2.4. Hasil pengujian

Pengukuran tegangan dilakukan pada masing-masing kotak di papan catur, dan dimulai dari kotak sudut kiri seperti pada Gambar 4.2.


(72)

Gambar 4.2. Inisialisasi tiap kotak pada papan catur

Pengukuran dimulai dari baris 1 hingga baris 8 dan tiap baris dimulai dari A hingga H. Hasil pengukuran tegangan disajikan pada tabel berikut :

Tabel 4.1. Hasil pengukuran tegangan perangkat input Indeks Tegangan (V)

ada bidak

Tegangan (V) tidak ada

bidak

Indeks Tegangan (V) ada bidak

Tegangan (V) tidak ada

bidak

1A 0,11 4,92 5A 0,12 4,88

1B 0,12 4,88 5B 0,14 4,90

1C 0,14 4,90 5C 0,11 4,90

1D 0,17 4,90 5D 0,11 4,88

1E 0,17 4,92 5E 0,12 4,92

1F 0,17 4,88 5F 0,14 4,92

1G 0,12 4,90 5G 0,11 4,88

1H 0,14 4,88 5H 0,12 4,92

2A 0,22 4,92 6A 0,11 4,88

2B 0,12 4,88 6B 0,14 4,92

2C 0,22 4,92 6C 0,12 4,90


(73)

2E 0,12 4,88 6E 0,14 4,90

2F 0,14 4,90 6F 0,11 4,92

2G 0,12 4,90 6G 0,12 4,90

2H 0,14 4,90 6H 0,11 4,92

3A 0,11 4,88 7A 0,12 4,90

3B 0,12 4,90 7B 0,11 4,90

3C 0,11 4,91 7C 0,12 4,91

3D 0,12 4,90 7D 0,11 4,92

3E 0,22 4,88 7E 0,11 4,90

3F 0,22 4,90 7F 0,14 4,92

3G 0,14 4,90 7G 0,11 4,90

3H 0,12 4,90 7H 0,12 4,91

4A 0,22 4,88 8A 0,12 4,92

4B 0,11 4,91 8B 0,14 4,90

4C 0,11 4,88 8C 0,11 4,90

4D 0,12 4,90 8D 0,14 4,91

4E 0,22 4,88 8E 0,12 4,90

4F 0,11 4,91 8F 0,11 4,90

4G 0,22 4,90 8G 0,11 4,92

4H 0,12 4,90 8H 0,11 4,90

Tabel 4.1 di atas menyajikan data dari masing-masing papan untuk menguji keakuratan input dalam mendeteksi bidak catur. Di dalam elektronika digital hanya mengenal 2 keadaan logika, yaitu 0 dan 1. Logika 0 Tegangan antara 0 – 0,7 V, sedangkan logika 1 berarti memiliki level tegangan antara 3,6 – 5 V. Pada proyek akhir ini, nilai input yang ideal adalah pada saat terdeteksi bidak maka microcontroller menerima logika 0, begitu juga sebaliknya saat mendeteksi tidak ada bidak microcontroller menerima logika 1 dari perangkat input yang telah dirancang.

Dari hasil pengujian perangkat input di atas, dapat dikatakan perangkat input telah bekerja dengan baik. Hal tersebut dapat dilihat dari nilai-nilai yang tertera pada tabel sudah sesuai dengan nilai input ideal untuk microcontroller.


(74)

4.3. Pengujian Perangkat Output 4.3.1. Tujuan

Pengujian perangkat output dilakukan untuk mengetahui kinerja dari sensor output yaitu LED (Light Emitting Diode) saat menerima signal dari

microcontroller. Dalam sistem pemanduan permainan catur ini, perangkat output penting peranannya dalam memandu user bermain catur berdasarkan nyala LED pada papan catur. Perangkat output yang ideal pada proyek ini ditandai dengan nyala LED yang sesuai dengan signal yang dikirim dari microcontroller.

4.3.2. Alat yang digunakan

1. Perangkat pemandu permainan catur. 2. PC komputer.

3. Kabel downloader. 4. Power supply.

5. Digital multi meter.

4.3.3 Prosedur pengujian

1. Susun rangkaian perangkat pemandu permainan catur sehingga papan catur dan minimum system terhubung dengan baik. Kemudian hubungkan perangkat dengan power supply.

2. Pastikan perangkat pemandu permainan catur telah menyala dengan baik. Kemudian download program pengujian perangkat output di bawah ini ke dalam microcontroller :

$regfile = "m32def.dat" $crystal = 11059200


(75)

K_ledbaris1 Alias Portb.0 K_ledbaris2 Alias Portb.1 K_ledbaris3 Alias Portb.2 K_ledbaris4 Alias Portb.3 K_ledbaris5 Alias Portb.4 K_ledbaris6 Alias Portb.5 K_ledbaris7 Alias Portb.6 K_ledbaris8 Alias Portb.7 D_led1 Alias Porta.0 D_led2 Alias Porta.1 D_led3 Alias Porta.2 D_led4 Alias Porta.3 D_led5 Alias Porta.4 D_led6 Alias Porta.5 D_led7 Alias Porta.6 D_led8 Alias Porta.7 Portled Alias Porta Do

Set K_ledbaris1 Portled = &B11111111 Wait 1000

Set K_ledbaris2 Portled = &B11111111 Wait 1000

Set K_ledbaris3 Portled = &B11111111 Wait 1000

Set K_ledbaris4 Portled = &B11111111 Wait 1000

Set K_ledbaris5 Portled = &B11111111 Wait 1000

Set K_ledbaris6 Portled = &B11111111 Wait 1000

Set K_ledbaris7 Portled = &B11111111 Wait 1000

Set K_ledbaris8 Portled = &B11111111 Wait 1000

Portled = &B00000000 Reset K_ledbaris1 Reset K_ledbaris2 Reset K_ledbaris3 Reset K_ledbaris4 Reset K_ledbaris5 Reset K_ledbaris6 Reset K_ledbaris7 Reset K_ledbaris8 Loop

3. Dengan menggunakan Digital multi meter. Catatlah tegangan pada keluaran

microcontroller pada saat LED di masing-masing kotak menyala dan tidak menyala.


(76)

4.3.4. Hasil pengujian

Pengukuran tegangan dilakukan pada masing-masing kotak di papan catur, dan dimulai dari kotak sudut kiri. Letak perangkat output pada papan catur berdampingan dengan perangkat input, maka dari itu inisial kotak pada papan catur sama dengan pengujian untuk perangkat input di atas. Berikut adalah gambar perangkat output pada papan catur beserta inisial yang digunakan :

Gambar 4.3. Inisialisasi perangkat output pada papan catur

Pengukuran dimulai dari baris 1 hingga baris 8 dan tiap baris dimulai dari A hingga H. Hasil pengukuran tegangan disajikan pada tabel berikut :


(77)

Tabel 4.2. Hasil pengukuran tegangan perangkat output Indeks Tegangan (V)

LED menyala

Tegangan (V) LED tidak

menyala

Indeks Tegangan (V) LED menyala

Tegangan (V) LED tidak

menyala

1A 0,11 4.98 5A 0,11 4,97

1B 0,11 4,90 5B 0,11 4,89

1C 0,12 4,97 5C 0,12 4.98

1D 0,12 4,89 5D 0,12 4,89

1E 0,11 4,97 5E 0,11 4,97

1F 0,14 4,90 5F 0,14 4.98

1G 0,14 4,97 5G 0,11 4,89

1H 0,11 4,89 5H 0,14 4,97

2A 0,14 4,89 6A 0,11 4.98

2B 0,11 4,90 6B 0,14 4,89

2C 0,14 4.98 6C 0,14 4,97

2D 0,14 4,89 6D 0,11 4,89

2E 0,14 4,90 6E 0,12 4,89

2F 0,11 4.98 6F 0,14 4.98

2G 0,12 4,90 6G 0,11 4,97

2H 0,14 4,97 6H 0,14 4,89

3A 0,11 4,90 7A 0,12 4,89

3B 0,14 4,97 7B 0,11 4,97

3C 0,14 4,89 7C 0,14 4,90

3D 0,11 4,97 7D 0,14 4,97

3E 0,14 4,90 7E 0,11 4,89

3F 0,12 4,89 7F 0,14 4,89

3G 0,14 4,97 7G 0,12 4,97

3H 0,11 4,90 7H 0,11 4,90

4A 0,12 4.98 8A 0,12 4,97

4B 0,14 4,89 8B 0,11 4,90

4C 0,11 4,97 8C 0,14 4,97

4D 0,12 4,90 8D 0,12 4,89

4E 0,12 4,97 8E 0,14 4,97

4F 0,11 4,89 8F 0,11 4,89

4G 0,14 4,90 8G 0,12 4,89

4H 0,11 4,97 8H 0,11 4,97

Pada perangkat output, kutub anoda (positif) pada LED terhubung dengan catu daya, sedangkan kutub katoda (negatif) terhubung pada Latch 74HC573 yang merupakan output dari microcontroller. Pada rangkaian output seperti yang dijelaskan sebelumnya, output bekerja baik jika pada saat LED menyala signal


(1)

3. Pengujian yang terakhir adalah pengujian proses pemanduan pergerakan masing-masing bidak dengan mempertimbangkan keberadaan posisi bidak lain selain posisi bidak yang diangkat pada saat itu. Berikut adalah beberapa gambar hasil pengujian tersebut:

A

B


(2)

71

Pada gambar 4.11A di atas, adalah hasil dari proses pemanduan pergerakan bidak kuda. Sedangkan pada gambar 4.11B adalah proses pemanduan pergerakan bidak ratu. Terdapat kegagalan pada sistem dalam memandu pergerakan yang mempertimbangkan bidak lain di sekeliling bidak yang diangkat pada saat itu.

Gambar 4.11A menunjukkan pemanduan bidak kuda yang menyalakan kotak yang ditempati bidak raja. Kemudian pada gambar 4.11B menunjukkan pemanduan bidak ratu yang menyalakan kotak yang sudah ditempati oleh bidak peluncur hasil pergerakan sebelumnya. Kedua hal ini seharusnya tidak boleh terjadi karena dalam aturan permainan catur melarang bidak yang berwarna sama untuk saling mematikan, kecuali bidak yang terletak pada jalurnya adalah bidak lawan.

Kegagalan di atas disebabkan karena pada perangkat pemanduan permainan catur ini belum memiliki sistem yang dapat memandu langkah pergerakan bidak dengan mempertimbangkan keberadaan bidak lain di sekelilingnya. Program untuk menyempurnakan perangkat ini tidak dapat disertakan ke dalam memori program microcontroller karena keterbatasan memori pada microcontroller.

Memori program di microcontroller sebagian besar terpakai untuk penggunaan menyimpan aturan gerak tiap bidak yang bersifat statis. Aturan gerak tiap bidak telah dibuat secara statis dan diimplementasikan untuk semua kotak pada papan catur, sehingga ke-enam jenis bidak catur memiliki 64 posisi yang berbeda sesuai jumlah kotak pada papan catur.


(3)

72 PENUTUP

Berdasarkan pengujian pada perangkat keras dan perangkat lunak yang dipergunakan dalam tugas akhir ini, maka dapat diambil kesimpulan dan saran-saran dari hasil yang diperoleh.

5.1. Kesimpulan

Setelah melakukan penelitian ini, penulis mengambil kesimpulan sebagai berikut:

1. Pendeteksian jenis bidak yang dijalankan dapat dilaksanakan dengan baik. Pada awal permainan catur terdapat proses inisialisasi guna memberi identitas pada masing-masing bidak. Pemberian identitas untuk 16 bidak putih dilakukan di dua baris pertama pada papan catur.

2. Hasil tampilan arah pola pergerakan dan perekaman bidak yang dijalankan telah sesuai dengan aturan permainan catur yang berlaku pada umumnya, tetapi khusus untuk bidak putih saja.

3. Terdapat kegagalan dalam memandu pergerakan bidak hitam dan kegagalan pemanduan bidak yang mempertimbangkan keberadaan bidak lain selama pergerakannya. Hal ini disebabkan oleh memori program pada microcontroller yang tidak cukup untuk menyempurnakan sistem pemanduan. Seluruh kapasitas memori sebagian besar digunakan untuk menampung aturan gerak yang bersifat statis.


(4)

73

5.2. Saran

Sebagai pengembangan dari penelitian yang telah dilakukan, penulis memberikan saran sebagai berikut:

1. Terjadi perubahan hardware yang dapat memberikan identitas berbeda pada 32 bidak catur. Diharapkan hal ini dapat menjadi solusi dari kendala addressing pada pergerakan masing-masing bidak.

2. Untuk pengembangan selanjutnya diharapkan sistem pemanduan permainan catur dapat berlangsung dua arah yaitu pada bidak putih dan bidak hitam. Serta sistem pemanduan permainan catur yang mempertimbangkan posisi bidak lain dalam pergerakannya.

3. Terdapat perubahan dalam variabel array penyimpanan posisi bidak satu dimensi (64) diubah menjadi variabel array dua dimensi (8, 8). Selain itu terdapat perubahan dalam sistem penyimpanan aturan gerak yang bersifat statis diubah menjadi dinamis dengan menggunakan perhitungan logika posisi bidak pada papan catur. Hal ini diharapkan dapat menjadi solusi dari kendala yang disebabkan keterbatasan memori program microcontroller.


(5)

74

DAFTAR PUSTAKA

Adrianto, H. 2008. Pemrograman Mikrokontroler AVR ATMEGA32. Bandung:Informatika.

Blocher, R. 2003. Dasar Elektronika. Yogyakarta:Andi Offset.

Bergsman, P. 1994. Controlling The World With Your PC. United States of America:LLH Technology Publishing.

Budiharto, Widodo. 2004. Elektronika Digital dan Mikroprosesor. Yogyakarta:Andi.

Chess. 2012. How the chess pieces move.

(Online) (http://www.chess.com/learn-how-to-play-chess.html, diakses tanggal 12 Januari 2012)

Iswanto. 2008. Design dan Implementasi Sistem Embedded : Microcontroller ATMega8535 dengan Bahasa BASIC. Yogyakarta : Penerbit Gava Media. ITB.2008.Mikrokontroller & embedded 2.

(Online)(http://student.eepisits.edu/~ulopens/Tutorial/Mikrokontroller, diakses 20 November 2011)

Koninklijke. 2006. 74HC573; 74HCT573.

(Online) (http://www.digchip.com/datasheets/74HC573.php, diakses 28 Desember 2011)

Magethi, Bey. 2009. Bagaimana memahami permainan catur. Bandung : Pionir Jaya.

Magethi, Bey. 2009. Pedoman bermain catur. Bandung : Pionir Jaya. Mazidi, M.A. & Mazidi, J. G. 2000. The 8051 MICROCONTROLLER &

Embedded System. New Jersey:Printice Hall.

Mismail, Budiono. 2007. Dasar-dasar rangkaian logika digital. Bandung:ITB.

Nalwan, P. A. 2003. Panduan Praktis Teknik Antarmuka dan Pemrograman Mikrokontroler AT89C51. Jakarta:PT Elex Media Komputindo.

Silaban, Narayana. 2005. Elemen-elemen elektromagnetika teknik. Jakarta:Erlangga.


(6)

75

Winoto, Ardi. 2008. Mikrokontroler AVR : ATmega8/32/16/8535. Bandung:Informatika.

Wikipedia. 2011. Light-emitting-Diode.

(Online) (http://en.wikipedia.org/wiki/Light-emitting_diode, diakses 21 Desember 2011)

Wikipedia. 2011. Flip-flop.

(Online) (http://en.wikipedia.org/wiki/flip-flop_electronics, diakses 12 Desember 2011)

Wikipedia. 2011. LM7805.

(Online) (http://id.wikipedia.org/wiki/78xx, diakses 31 Desember 2011) Wikipedia. 2011. Buffer.

(Online) (en.wikipedia.org/wiki/Buffer, diakses 27 Desember 2011) Wikipedia. 2011. Latch.

(Online) (http://en.wikipedia.org/wiki/Latch_electronics, diakses 27 Desember 2011)

Wikipedia. 2011. Transformator.

(Online) (http://id.wikipedia.org/wiki/Transformator, diakses 12 Desember 2011)