• Tidak ada hasil yang ditemukan

IMPLEMENTASI ROBOT NXT LEGO PADA PERMAINAN TIC TAC TOE

N/A
N/A
Protected

Academic year: 2021

Membagikan "IMPLEMENTASI ROBOT NXT LEGO PADA PERMAINAN TIC TAC TOE"

Copied!
6
0
0

Teks penuh

(1)

IMPLEMENTASI ROBOT NXT LEGO PADA PERMAINAN TIC TAC

TOE

Andri Irwanto – Wahyu Suadi, S.Kom.,M.Kom.,M.M

Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi e-mail : irwansyah@cs.its.ac.id

Abstrak

Perkembangan teknologi yang

berkembang saat ini terus membuka berbagai alternatif baru dalam pemanfaatan teknologi robot yang lebih efisien dan cepat. Salah satu teknologi robot yang terkenal saat ini adalah LEGO NXT dengan platform Mindstorm NXT.

Lego Mindstorm NXT menawarkan lebih dari sekedar mainan. Lego Mindstorm NXT ini memungkinkan pembangunan robot dengan menggunakan beberapa motor dan juga sensor. Sebuah contoh sederhana yang dapat disimulasikan pada robot adalah permainan Tic Tac Toe. Penulis berusaha membuat sebuah robot yang mampu bermain Tic Tac Toe

melawan manusia dengan

mengimplementasikan suatu konstruksi dan algoritma yang digunakan, maka robot mampu untuk bermain Tic Tac Toe tanpa bantuan komputer maupun alat pemroses lainnya.

Kata Kunci : Robot, LEGO, NXT, Tic Tac Toe.

1. PENDAHULUAN

Perkembangan robotika di tanah air selama beberapa tahun terakhir ini terus mengalami peningkatan. Peserta event-event lomba robot yang secara tetap diadakan tiap tahun mulai bertambah khususnya di kalangan mahasiswa. Namun perkembangan robotika tidak hanya di kalangan mahasiswa saja, tetapi juga pada kalangan SD, SMP maupun SMA.

Robot yang digunakan adalah LEGO

ROBOTIC yaitu sebuah produk lego yang bisa dirangkai menjadi sebuah robot dan dapat diprogram dari komputer. LEGO Robotic ini

memadukan kemampuan mekanika dan

kemampuan programming untuk memecahkan berbagai masalah.

Di Indonesia baru mulai dirintis mulai 7 tahun lalu. Sedangkan event lomba robot tingkat SD, SMP dan SMA baru mulai dirintis

tahun 2005 dengan diselenggarakannya

Indonesian Robotics Olympiad (IRO) di Medan.

Sekarang ini sudah banyak bahasa yang bisa digunakan untuk memprogram LEGO

Robotic ini mulai dari icon based

programming seperti ROBOLAB (untuk siswa SD dan SMP) dan text based programming (Untuk SMA) seperti Visual Basic, C (NXC),

LegOS, BrickOS dan Java. Melihat

perkembangan robotik yang pesat, khususnya LEGO Robotic, di kalangan SD dan SMP,

penulis merasa perlu memperkenalkan

programming LEGO Robotic dengan

menggunakan bahasa NXC.

2. LEGO Mindstorm NXT

LEGO Mindstorm NXT adalah robot yang sangat mengasikan untuk bermain secara kreatif, karena disusun dari komponen-komponen yang bisa dilepas pasang. Kita dapat membangun berbagai konstruksi robot, kemudian memrogrammnya untuk berbagai tugas.

1.2.1 Komponen

1.2.1.1 Brick

Brick adalah komponen paling penting dari robot NXT, karena berfungsi sebagai pengendali (otak robot). Brick dapat diisi program untuk melakukan berbagai aksi.

Gambar 2.6 Gambar BRICK

Untuk interaksi langsung, pada Brick terdapat:

 Satu layar LCD

 Speaker untuk mengeluarkan suara

 Empat Tombol (Cancel, OK, Left,

(2)

Selain itu Brick dapat menerima masukan dari 4 sensor, dan menjalankan 3 motor.

Gambar 2.7 Komponen – komponen NXT Robot

2.3.1.2 Motor

Motor berfungsi untuk mengerakan bagian robot, seperti memutar roda atau menjadi sendi. Satu brick bisa dipasangi hingga 3 motor.

Gambar 2.8 Motor

2.3.1.3 Sensor Sentuh

Sensor sentuh berkerja seperti indra

peraba pada manusia. Gunanya untuk

membuat robot yang kalau tesentuh akan bereaksi seperti berjalan mundur,belok ke kanan atau ke kiri,dll tergantung progamnya.

Gambar 2.9 Sensor Sentuh

2.3.1.4 Sensor Ultrasonik

Sensor Ultrasonik berfungsi seperti

mulut dan telinga pada kelelawar,

memancarkan Ultrasonik dan mendengar pantulannya supaya dapat memperkirakan jarak benda di depannya.

Gambar 2.10 Sensor Ultrasonik

2.3.1.5 Sensor Cahaya

Sensor cahaya seperti mata, berguna untuk mengetahui gelap terangnya sesuatu

(mode pasif). Pada mode aktif, bisa

memancarkan cahaya dan menerima

pantulannya, antara lain untuk membedakan warna benda.

Gambar 2.11 Sensor Cahaya

2.3.1.6 Sensor Suara

Sensor suara berfungsi seperti telinga, yaitu untuk menangkap suara.

Gambar 2.12 Sensor Suara

3. NXC

NXC singkatan Not eXactly C. Ini adalah bahasa sederhana untuk pemrograman LEGO NXT INDSTORMS produk. NXT ini memiliki juru bytecode (disediakan oleh LEGO), yang dapat digunakan untuk menjalankan program.

NXC compiler menerjemahkan program

sumber menjadi bytecode NXT, yang

kemudian dapat dijalankan pada target itu sendiri. Meskipun preprocessor dan struktur pengendalian NXC sangat mirip dengan C, NXC bukanlah bahasa pemrograman untuk tujuan umum - ada pembatasan banyak yang berasal dari keterbatasan bytecode interpreter NXT.

Logikanya, NXC didefinisikan sebagai dua

bagian yang terpisah. Bahasa NXC

menjelaskan sintaks yang akan digunakan

dalam penulisan program. The NXC

(3)

menjelaskan fungsi sistem, konstanta, dan macro yang dapat digunakan oleh program. API ini didefinisikan dalam file khusus yang dikenal sebagai file header "" yang, secara default, termasuk secara otomatis ketika mengkompilasi program.

Dokumen ini menjelaskan kedua bahasa

NXC dan API NXC. Singkatnya, ia

menyediakan informasi yang diperlukan untuk menulis program NXC. Karena terdapat antarmuka yang berbeda untuk NXC, dokumen ini tidak menjelaskan bagaimana untuk menggunakan implementasi NXC tertentu (seperti compiler baris perintah atau Bricx Command Center). Lihat dokumentasi yang diberikan dengan alat NXC, seperti NXC User Manual, untuk informasi khusus untuk implementasi itu.

4. Desain dan Implementasi Sistem

Pada bab ini akan dijelaskan hal-hal yang berkaitan dengan desain dan implementasi sistem yang akan dibuat dalam Tugas Akhir ini

4.1 Arsitektur sistem

Robot Tic Tac Toe dirancang sebagai aplikasi dengan Brick sebagai otak utama yang di dalamnya terdapat program dan motor sebagai aktuator yang mampu menggerakkan robot agar pemain maupun robot sendiri dapat mengisi bola pada setiap sel yang ada di dalam papan permainan Tic Tac Toe. Pada layar LCD terdapat tampilan papan yang dipergunakan oleh pemain untuk memainkan Tic Tac Toe. Untuk mengisi sel-sel tersebut pemain harus menggunakan alat input berupa tombol-tombol yang ada di brick NXT. robot sendiri juga memiliki algoritma agar bisa beramin Tic Tac Toe melawan manusia. Program juga berfungsi untuk menggerakkan motor agar pemain dan robot dapat menempatkan bola ke dalam papan permainan Tic Tac Toe secara bergantian. Berikit ini akan digambarkan diagram alir untuk permainan Tic Tac Toe sesuai arsitektur sistem yang telah dijelaskan.

Gerak pemain Cek pemain menang Gerak robot Cek robot menang Pemenangnya robot Pemenangnya pemain keluar Main lagi Main lagi ya tidak ya tidak ya tidak ya tidak mulai selesai

Gambar 4.1 Arsitektur Umum Sistem

4.2 Mengatur Gerakan Robot

Robot Tic Tac Toe ini menggunakan tiga motor yang digunakan untuk malakukan gerakakan agar bola dapat dimasukkan ke tiap-tiap sel pada papan permainan Tic TAc Toe yang sesuai gerakan yang diinginkan pemain maupun sesuai gerakan robot sendiri. Motor A berfungsi untuk memutar papan permainan Tic Tac Toe. Bola yang akan masuk ke sel tersebut akan diatur oleh motor A ini. Kemudian motor B berfungsi untuk mengatur posisi motor C. motor B ini akan menggerakkan motor C ke depan dan ke belakang agar bola yang akan dimasukkan ke dalam sel bisa tepat pada posisinya. Dan motor yang terakhir adalah motor C yang berfungsi untuk melontarkan bola agar masuk ke papan permaianan. Motor C ini akan membawa Sembilan bola yang disusun secara bergantian antara bola warna putih dan bola waran hitam. Bola warna hitam digunakan untuk menandai gerakan pemain, sedangkan untuk bola waran putih digunakan untuk menandai gerakan robot. Berikut ini gambaran mengenai gerakan robot dalam mengisi sel pada papan permainan Tic Tac Toe.

4.3 Perancangan Tampilan Aplikasi

Dengan memanfaatkan layar LCD dari Brick NXT, kita bisa membuat papan permainan yang terdiri atas empat garis yang disusun sedemikain hingga menjadi papan permainnan Tic Tac Toe 3x3. Garis dapat dibuat dengan memanfaatkan fungsi API yang disediakan oleh firmware atau sistem operasi standart NXT. Gerakan pemain ditandai

(4)

dengan simbol silang, sedangkan gerakan untuk robot sendiri ditandai dengan symbol lingkaran. Untuk membedakan antara gerakan pemain maupun gerakan robot, maka untuk nilai positif akan digambar X sebagai tanda gerakan pemain, sedangkan untuk nilai negative akan digambar O (lingkaran) sebagai tanda gerakan robot pada layar LCD NXT. Input yang digunakan adalah tombol kanan, tombol kiri, tombol tengah, dan tombol cancel. Tombol inilah yang digunakan pemain untuk melakukan gerakan yang ada pada layar LCD NXT. Menggambar papan Mengecek positif/negatif Menggambar X Sebagai tanda gerakan pemain Menggambar O Sebagai tanda gerakan robot positif negatif mulai selesai

Gambar 4.2 Perancangan Tampilan

4.4 Perancangan Algoritma yang digunakan

Algoritma yang digunakan berfungsi agar robot dapat memutuskan geraknya secara maksimal. Algoritma ini diperlukan agar robot bisa menghambat gerak pemain agar pemain tidak bisa memenangkan permainan, hal ini bisa diketahui apabila setelah dicek ternyata skor untuk pemain adalah dua. Selain itu, Algoritma yang digunakan mampu melihat apakah dalam permaian ini pemain keluar sebagai pemenang atau robot yang keluar sebagai pemenang mulai Mengecek pemenang Pemain menang Robot menang pemain robot Belum ada Menghadang gerak pemain Robot mneghadang gerakan pemain ya Papan tengan kosong Robot mengisi sel tengah Robot melakukan gerakn lain ya tidak tidak selesai

Gambar 4.3 Perancangan Algoritma

4.5 Perancangan Gerakan Pemain

Untuk melakukan gerakan, pemain harus menggunakan tombola arah kanan, kiri, maupun tombol tengah. Tombol kanan dan tombol kiri digunakan untuk memilih lokasi sel mana yang nantinya akan diisi oleh tanda X, kemudian tombl tengah berfungsi untuk melakukan gerakan sesuai sel yang telah dipilih tadi dengan tanda X.

mulai Menekan tombol Gerakan pemain diincrement satu Gerakan pemain didecrement satu kanan kiri tengah Menggambar simbol X pada sel

yang telah dipilih

selesai

Gambar 4.4 Perancangan Gerakan Pemain

5. Uji Coba

Uji coba yang dilakukan adalah uji coba fungionalitas dari aplikasi yang telah dibuat.

5.1 Uji coba fungsionalitas

Uji coba ini dilakukan untuk melihat apakah fungsi-fungsi dasar dari perangkat

(5)

lunak ini berjalan sebagaimana mestinya atau tidak.

5.1.1 Menampilkan Papan Tic Tac Toe

Layar LCD digunakan untuk

menampilkan papan permainan Tic Tac Toe, layar ini yang nantinya akan digunakan oleh pemain untuk mengontrol gerakan pemain itu sendiri.

Gambar 5.1 Tampilan Papan Permainan

Input yang digunakan adalah tombol kanan, tombol kiri, tombol tengah dan tombol

exit. Tombol kanan dan tombol kiri digunakan untuk mengarahkan, kemudian tombol tengah digunakan untuk menaruh bola. Gambar 5-1 dapat dilihat sebuah kursor yang membantu pemain untuk menentukan gerakannya.

5.1.2 Menggerakkan Motor

Pemain dan robot secara bergantian melakukan gerakan untuk mengisi papan permainan. Dibawah ini merupakan hasil pengujian untuk menggerakkan ketiga motor agar gerakan yang dinginkan oleh pemain maupun robot dapat tepat dan akurat.

Gambar 5.2 Gerakan Motor

5.1.3 Algoritma Untuk Gerakan Robot

Agar robot mampu bermain dengan pemain, maka diperlukan algoritma supaya

robot dapat melakukan gerakan yang

maksimal. Berikut iki uji coba agar robot mampu menghadang gerak pemain agar tidak bisa memenangkan permainan.

Gambar 5.3 Gerakan Robot

5.1.4 Gerakan Pemain

Untuk gerakan pemain disediakan LCD sebagai alat output dan tombol sebagai alat inputannya. Pemain hanya bisa melakukan gerakan di papan yang selnya kosong. Kemudian apabila pemain menekan tombol tengah, maka tanda X akan ditempatkan pada sel tersebut.

Gambar 5.4 Posisi Kursor Telah Digerakkan oleh pemain

5.2 Uji coba performa

5.2.1 Robot Mengalahkan Pemain

Pada uji coba ini pemain sengaja mengalah agar robot bisa memenangkan permainan. Pada uji coba ini akn dihitung jumlah step yang terjadi ketika robot mengalahkan pemain serta mekanikal errornya.

Gambar 5.5 Robot Memenangkan Permainan

Tabel 5.1 Informasi Percobaan Pemenang Robot

Step 8

Mekanikal error -

5.2.1 Robot Menghadang Gerakan Pemain

Pada uji coba ini akan dilihat apakah robot mampu menghadang gerak pemain agar pemain tidak bisa memenangkan permainan.

Gambar Robot Menghadang Gerakan Pemain

(6)

Tabel 5.2 Informasi Percobaan II Pemenang No Step 9 Mekanikal error -

5.2.1 Perbandingan NXC dan LeJOS

Uji coba kali ini untuk membandingkan tingkat presisi robot ketika menggunakan NXC maupun menggunakan LeJOS. Uji coba ini menggunakan sebuah motor yang diputar dengan kecepatan dan sudut putar tertentu. Berikut ini merupakan hasil pengujian untuk merotasi motor.

Tabel 5.3 Menghitung Persen Error Motor pada rotasi 7200

Rotasi ke

NXC

LeJOS

1

2

0

0

0

2

2

0

0

0

3

3

0

0

0

4

3

0

0

0

5

4

0

0

0

6

4

0

0

0

7

3

0

0

0

8

3

0

0

0

9

4

0

0

0

10

3

0

0

0

Total error

31

0

0

0

persen error 0.43%

0%

Dari pengujian diatas dapat diperoleh hasil bahwa LeJOS masih unggul dalam

tingkat kepresisian gerakan motor bila

dibandingkan dengan menggunakan NXC yang merupakan standat firmware dari NXT.

6. Kesimpulan

Dari hasil pengamatan selama

perancangan, implementasi, dan proses uji coba perangkat lunak yang dilakukan, dapat diambil kesimpulan sebagai berikut :

1. Sistem yang dibuat sudah mampu

memenuhi kebutuhan sebagai aplikasi

yang bisa mengimplementasikan

permainan Tic Tac Toe menggunakan robot nxt dengan beberapa batasan.

2. Aplikasi ini dapat dijalankan tanpa

menggunakan computer atau server lain

untuk memproses program maupun

algoritma. Untuk sementara penggunaan robot hanya dapat di deploy pada Lego

Mindstorms NXT dengan firmware

standart.

Uji coba menunjukkan bahwa penggunaan Firmware LeJOS untuk mengganti firmware standart NXT terbukti lebih unggul dalam hal tingkat kepresisian untuk menggerakkan motor bila dibandingkan dengan NXC yang menggunakan firmware asli NXT.

7. Saran

Berikut merupakan beberapa saran untuk pengembangan sistem di masa yang akan datang, berdasar pada hasil perancangan, implementasi, dan uji coba yang telah dilakukan.

1. Membuat robot yang bisa bermain Tic Tac

Toe pada papan selain 3x3.

2. Membangun konstruksi robot yang lebih

baik agar dihasilkan keakuratan gerak yang lebih sempurna.

3. Penggunaan bahasa pemrograman yang

berbeda agar lebih bisa digunakan dengan tidak terbatas pada semua robot dan komputer.

4. Penggunaan algoritma yang lebih baik

sehingga bisa menghasilkan langkah robot yang lebih efektif.

8. Daftar pustaka

1. Benedettelli, Daniele, Lego

Mindstorms NXT Thinking Robots,

2010, no starch press.

2. Hansen, John C, Lego Mindstorm

NXT Power Programming Robotics In C. Second Edition.

3. http://bricxcc.sourceforge.net/nbc/nxc doc/nxcapi/index.html, tentang petunjuk pemrograman NXC, diakses pada 28 Februari 2010.

4. Perdana, Dian, 2010, Penyelesaian

Rubic Cube Dengan Menggunakan Robot NXT, Tugas Akhir, Jurusan

Teknik Informatika, Fakultas

Gambar

Gambar 2.6 Gambar BRICK  Untuk interaksi langsung, pada Brick terdapat:
Gambar 2.7 Komponen – komponen NXT  Robot
Gambar 4.1 Arsitektur Umum Sistem
Gambar 4.2 Perancangan Tampilan  4.4 Perancangan Algoritma yang digunakan
+2

Referensi

Dokumen terkait

Penyelesaian berangka bagi masalah aliran lapisan sempadan olakan bebas mantap terhadap silinder bulat mengufuk yang dijanakan oleh pemanasan Newtonan, iaitu pemindahan haba

Pada variabel kualitas produk dan harga yang mendaptkan hasil berpengaruhpostiif tidak signifikan terhadap keputusan pembelian sepeda motor Kawasaki ninja 250cc

Hal tersebut didukung oleh hasil penelitian yang diperoleh Floriyana Indra (2012:1) dalam penelitiannya yang berjudul Analisis Dayasaing dan Faktor- Faktor yang Mempengaruhi

Dalam ajaran Ahmadiyah, bagaimana keberadaan masyarakat yang ada di luar Ahmadiyahi. Bagaimana proses sosial yang dijalin dengan masyarakat

Tujuan dari penulisan ini untuk mengetahui: (1) Peningkatan kemampuan pemecahan masalah siswa setelah penerapan strategi kooperatif TGT; (2) Peningkatan pemahaman matematik siswa

Guru musik tipe ini merupakan guru yang senantiasa paham pada kurikulum atau kompetensi dasar sekolah dasar dan ilmu pedagogik, karena memang secara khusus dicetak

Indonesia yang jelita, zamrud khatulistiwa, sebuah negara benua maritim. Hamparan lautannya yang luas, terdiri dari belasan ribu pulau dengan panjang pantai lebih dari 81

Dari komposisi penduduk menurut pemeluk agama diatas dapat dilihat jumlah sarana peribadatan yang dominan pada tahun 2004 adalah Mesjid dan Mushola masing-masing