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
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
x
DAFTAR ISTILAH DAN SINGKATAN xix
BAB I PENDAHULUAN
2.2 Ketentuan Permainan Catur 7
2.2.1 Pola Pergerakan Bidak Catur 8
2.2.2 Rokade 9
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.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
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
BAB V PENUTUP
5.1 Kesimpulan 70
5.2 Saran 71
DAFTAR PUSTAKA 72
LAMPIRAN 74
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
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.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 4.10 Pemanduan pergerakan bidak raja 69
xviii
DAFTAR LAMPIRAN
Halaman
Lampiran 1 Rangkaian Keseluruhan Sistem 76
Lampiran 2 Listing Program Pemandu Permainan Catur 79
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.
Latch : Pengancing atau penahan.
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.
Software : Perangkat Lunak.
Skak : Keadaan bidak raja yang terancam bidak lain.
Ster : Bidak Ratu pada catur.
System call : Service yang disediakan Sistem Operasi
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
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
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
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
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
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
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
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
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 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
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
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.
 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
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
C 1
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
InterruptPriority (IP) XXX00000B
InterruptEnable (IE) 0XX00000B
RegisterTimer 00H
SCON 00H
SBUF 00H
PCON (HMOS) 0XXXXXXXB
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
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
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
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
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
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,
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
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
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
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
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
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
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.
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.
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
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:
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.
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
program dan diakhiri oleh statement END. Jika dibuat contoh terlihat sebagai
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.
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
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
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
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
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
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 :
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 :
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
Gambar 3.3. Rangkaian kabel downloader pada port LPT
Sedangkan untuk konektor downloader pada microcontroller ATmega32
dapat dilihat pada Gambar 3.4 berikut:
R12
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
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
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 :
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
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
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
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
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
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
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
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.
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.
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:
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
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
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.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
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.
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_inpbaris2 Alias Portd.1
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,
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 :