Nama : Irfan Fadhil
NPM : 55414434
Kelas : 3IA04
Pengantar Teknologi Game
Bab 2 Game Design
2.1 Sejarah Arduino
Semuanya berawal dari sebuah thesis yang dibuat oleh Hernando Barragan, di institute Ivrea, Italia pada tahun 2005, dikembangkan oleh Massimo Banzi dan David Cuartielles dan diberi nama Arduin of Ivrea. Lalu diganti nama menjadi Arduino yang dalam bahasa Italia berarti teman yang berani.
Tujuan awal dibuat Arduino adalah untuk membuat perangkat mudah dan murah, dari perangkat yang ada saat itu. Dan perangkat tersebut ditujukan untuk para siswa yang akan membuat perangkat desain dan interaksi.
Sifat Arduino yang Open Source, membuat Arduino berkembang sangat cepat. Dan banyak lahir perangkat-perangkat sejenis Arduino. Seperti DFRDuino atau Freeduino, dan kalau yang lokal ada namanya CipaDuino yang dibuat oleh SKIR70, terus ada MurmerDuino yang dibuat oleh Robot Unyil, ada lagi AViShaDuino yang salah satu pembuatnya adalah Admin Kelas Robot.
Sampai saat ini pihak resmi, sudah membuat berbagai jenis-jenis Arduino. Mulai dari yang paling mudah dicari dan paling banyak digunakan, yaitu Arduino Uno. Hingga Arduino yang sudah menggunakan ARM Cortex, beebentuk Mini PC. Dan sudah ada ratusan ribu Arduino yang digunakan di gunakan di dunia pada tahun 2011. Dan untuk hari ini, yang bisa kamu hitung sendiri ya. Dan Arduino juga sudah banyak dipaka oleh perusahaan besar. Contohnya Google menggunakan Arduino untuk Accessory Development Kit, NASA memakai Arduino untuk prototypin, ada lagi Large Hadron Colider memakai Arduino dalam beberapa hal untuk pengumpulan data.
Gambar 2.1 Arduino
Arduino adalah kit(modul) microcontroller bersifat open source dibuat dan dikembangkan sejak tahun 2005. Pada pertengan tahun 2011 sudah lebih dari 300.000 modul yang diproduksi secara masal. Di dalam modul terdapat chip avr dari keluarga atmel baik itu yang 16, 32 bahkan 64 bit yang berfungsi untuk menyimpan perintah bahasa komputer. Untuk bahasa pemprograman arduino menggunakan bahasa C yang mudah dipelajari dan juga arduino sudah terdapat library yang cukup lengkap.
Arduino memiliki kelebihan tersendiri disbanding board mikrokontroler yang lain selain bersifat open source, arduino juga mempunyai bahasa pemrogramanya sendiri yang berupa bahasa C. Selain itu dalam board arduino sendiri sudah terdapat loader yang berupa USB sehingga memudahkan kita ketika kita memprogram mikrokontroler didalam arduino. Sedangkan pada kebanyakan board mikrokontroler yang lain yang masih membutuhkan rangkaian loader terpisah untuk memasukkan program ketika kita memprogram mikrokontroler. Port USB tersebut selain untuk loader ketika memprogram, bisa juga difungsikan sebagai port komunikasi serial.
Arduino menyediakan 20 pin I/O, yang terdiri dari 6 pin input analog dan 14 pin digital input/output. Untuk 6 pin analog sendiri bisa juga difungsikan sebagai output digital jika diperlukan output digital tambahan selain 14 pin yang sudah tersedia. Untuk mengubah pin analog menjadi digital cukup mengubah konfigurasi pin pada program. Dalam board kita bisa lihat pin digital diberi keterangan 0-13, jadi untuk menggunakan pin analog menjadi output digital, pin analog yang pada keterangan board 0-5 kita ubah menjadi pin 14-19. dengan kata lain pin analog 0-5 berfungsi juga sebagi pin output digital 14-16.
Sifat open source arduino juga banyak memberikan keuntungan tersendiri untuk kita dalam menggunakan board ini, karena dengan sifat open source komponen yang kita pakai tidak hanya tergantung pada satu merek, namun memungkinkan kita bisa memakai semua komponen yang ada dipasaran.
• Power
Arduino dapat diberikan power melalui koneksi USB atau power supply. Powernya diselek secara otomatis. Power supply dapat menggunakan adaptor DC atau baterai. Adaptor dapat dikoneksikan dengan mencolok jack adaptor pada koneksi port input supply. Board arduino dapat dioperasikan menggunakan supply dari luar sebesar 6 – 20 volt. Jika supply kurang dari 7V, kadangkala pin 5V akan menyuplai kurang dari 5 volt dan board bisa menjadi tidak stabil. Jika menggunakan lebih dari 12 V, tegangan di regulator bisa menjadi sangat panas dan menyebabkan kerusakan pada board. Rekomendasi tegangan ada pada 7 sampai 12 volt. Penjelasan pada pin power adalah sebagai berikut :
• Vin
Tegangan input ke board arduino ketika menggunakan tegangan dari luar (seperti yang disebutkan 5 volt dari koneksi USB atau tegangan yang diregulasikan). Pengguna dapat memberikan tegangan melalui pin ini, atau jika tegangan suplai menggunakan power jack, aksesnya menggunakan pin ini.
• 5V
Regulasi power supply digunakan untuk power mikrokontroller dan komponen lainnya pada board. 5V dapat melalui Vin menggunakan regulator pada board, atau supply oleh USB atau supply regulasi 5V lainnya.
• 3V3
Suplai 3.3 volt didapat oleh FTDI chip yang ada di board. Arus maximumnya adalah 50mA
• Pin Ground
Berfungsi sebagai jalur ground pada arduino
• Memori
ATmega328 memiliki 32 KB flash memori untuk menyimpan kode, juga 2 KB yang digunakan untuk bootloader. ATmega328 memiliki 2 KB untuk SRAM dan 1 KB untuk EEPROM.
• Input & Output
Setiap 14 pin digital pada arduino dapat digunakan sebagai input atau output, menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead(). Input/output dioperasikan pada 5 volt. Setiap pin dapat menghasilkan atau menerima maximum 40 mA dan memiliki internal pull-up resistor (disconnected oleh default) 20-50K Ohm.
Beberapa pin memiliki fungsi sebagai berikut :
1. Serial : 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirim (TX) TTL data serial. Pin ini terhubung pada pin yang koresponding dari USB ke TTL chip serial.
2. Interupt eksternal : 2 dan 3. Pin ini dapat dikonfigurasikan untuk trigger sebuah interap pada low value, rising atau falling edge, atau perubahan nilai.
3. PWM : 3, 5, 6, 9, 10, dan 11. Mendukung 8-bit output PWM dengan fungsi analogWrite().
4. SPI : 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin ini mensuport komunikasi SPI, yang mana masih mendukung hardware, yang tidak termasuk pada bahasa arduino.
5. LED : 13. Ini adalah dibuat untuk koneksi LED ke digital pin 13. Ketika pin bernilai HIGH, LED hidup, ketika pin LOW, LED mati.
• Komunikasi
Uno Arduino memiliki sejumlah fasilitas untuk berkomunikasi dengan komputer, Arduino lain, atau mikrokontroler lain. ATmega328 ini menyediakan UART TTL (5V) komunikasi serial, yang tersedia pada pin digital 0 (RX) dan 1 (TX). Firmware Arduino menggunakan USB driver standar COM, dan tidak ada driver eksternal yang dibutuhkan. Namun, pada Windows, file. Ini diperlukan. Perangkat lunak Arduino termasuk monitor serial yang memungkinkan data sederhana yang akan dikirim ke board Arduino. RX dan TX LED di board akan berkedip ketika data sedang dikirim melalui chip USB-to-serial dan koneksi USB ke komputer.
• Software Arduino
Arduino Uno dapat diprogram dengan perangkat lunak Arduino. Pada ATMega328 di Arduino terdapat bootloader yang memungkinkan Anda untuk meng-upload kode baru untuk itu tanpa menggunakan programmer hardware eksternal. IDE Arduino adalah software yang sangat canggih ditulis dengan menggunakan Java. IDE Arduino terdiri dari:
1. Editor program, sebuah window yang memungkinkan pengguna menulis dan mengeditprogram dalam bahasa Processing.
2. Compiler, sebuah modul yang mengubah kode program (bahasa Processing) menjadi kode biner. Bagaimanapun sebuah mikrokontroler tidak akan bisa memahami bahasa Processing. Yang bisa dipahami oleh mikrokontroler adalah kode biner. Itulah sebabnya compiler diperlukan dalam hal ini.
3. Uploader, sebuah modul yang memuat kode biner dari komputer ke dalam memory didalam papan Arduino.
Sebuah kode program Arduino umumnya disebut dengan istilah sketch. Kata“sketch” digunakan secara bergantian dengan “kode program” dimana keduanya memiliki arti yang sama. \vspace{4mm}
2.3 Macam - Macam Arduino
Arduino memiliki beberapa macam atau tipe sesuai dengan fiturnya masing-masing yang dapat dimanfaatkan sesuai kebutuhan dalam pembuatan sebuah alat atau robot. Berikut beberapa macam dari Arduino dengan fitur yang dimilikinya :
2.3.1 Arduino USB
Arduino USB, yaitu mikrokontroler Arduino dengan menggunakan USB sebagai antar muka pemrograman atau komunikasi komputer. Terdapat beberapa macam pada Arduino USB sebagai berikut :
2.3.1.1 Arduino UNO
Arduino Uno adalah papan mikrokontroler berdasarkan ATmega328 (datasheet). Ini memiliki 14 digital pin input / output (dimana 6 dapat digunakan sebagai output PWM), 6 input analog, resonator keramik 16 MHz, koneksi USB, jack listrik, header ICSP, dan tombol reset. Ini berisi semua yang diperlukan untuk mendukung mikrokontroler, hanya menghubungkannya ke komputer dengan kabel USB atau power itu dengan adaptor AC-DC atau baterai untuk memulai menggunakannya.
Uno berbeda dari semua papan sebelumnya di bahwa itu tidak menggunakan chip driver FTDI USB-to-serial. Sebaliknya, fitur Atmega16U2 (Atmega8U2 sampai versi R2) diprogram sebagai konverter USB-to-serial.
Revisi ke 2 Uno memiliki resistor menarik garis 8U2 HWB line to ground, sehingga lebih mudah untuk dimasukkan ke dalam mode DFU.
Revisi ke 3 memiliki fitur-fitur baru berikut :
• 1,0 pinout: menambahkan SDA dan pin SCL yang dekat dengan pin AREF dan dua pin baru lainnya ditempatkan dekat dengan pin RESET, yang IOREF yang memungkinkan perisai untuk beradaptasi dengan tegangan yang tersedia dari papan. Di masa depan, perisai akan kompatibel dengan kedua papan yang menggunakan AVR yang beroperasi dengan 5V dan dengan Arduino Due yang beroperasi dengan 3.3V. Yang kedua adalah pin tidak terhubung, yang disediakan untuk tujuan masa depan.
• Stronger RESET sirkuit.
• Atmega 16U2 menggantikan 8U2.
Kata "Uno" berarti satu di Italia dan diberi nama untuk menandai peluncuran Arduino 1.0. Arduino Uno dan versi 1.0 akan menjadi versi referensi Arduino, bergerak maju. Arduino Uno adalah yang terbaru dalam serangkaian USB Arduino papan, dan model referensi untuk platform Arduino, untuk perbandingan dengan versi sebelumnya, lihat indeks Arduino papan.
Gambar 2.2 Arduino UNO
2.3.1.2 Arduino Duemilanove
Arduino Arduino Duemilanovemilanove adalah papan mikrokontroler berdasarkan Atmel SAM3X8E ARM-Cortex-M3 CPU. Ini adalah pertama papan Arduino didasarkan pada 32-bit mikrokontroler ARM inti. Ini memiliki 54 digital pin input / output (yang 12 dapat digunakan sebagai output PWM), 12 analog input, 4 UART (hardware port serial), jam 84 MHz, USB OTG koneksi yang mampu, 2 DAC (digital ke analog) , 2 TWI, jack listrik, header SPI, header JTAG, tombol reset dan tombol hapus.
Peringatan: Tidak seperti papan Arduino lainnya, Arduino Duemilanove berjalan pada 3.3V. Tegangan maksimum yang I / O pin dapat mentolerir adalah 3.3V. Memberikan tegangan yang lebih tinggi, seperti 5V ke I / O pin dapat merusak papan.
Arduino Duemilanove berisi semua yang diperlukan untuk mendukung mikrokontroler, hanya menghubungkannya ke komputer dengan kabel micro-USB atau power dengan adaptor AC-DC atau baterai untuk memulainya. Arduino Duemilanove kompatibel dengan semua perisai Arduino yang bekerja di 3.3V dan telah sesuai dengan 1,0 Arduino pinout. Arduino Duemilanove mengikuti 1.0 pinout :
• TWI: SDA dan SCL pin yang dekat dengan pin AREF.
• Arduino IOREF pin yang memungkinkan perisai terpasang dengan konfigurasi yang tepat untuk beradaptasi dengan tegangan yang diberikan oleh Arduino.
Hal ini memungkinkan kompatibilitas perisai dengan papan 3.3V seperti papan Karena dan AVR berbasis yang beroperasi pada 5V. Arduino Duemilanove memiliki forum khusus untuk membahas papan.
Arduino Duemilanove memiliki inti ARM 32-bit yang dapat mengalahkan papan mikrokontroler 8-bit yang khas. Perbedaan yang paling signifikan adalah :
• 32-bit inti, yang memungkinkan operasi pada 4 byte data luas dalam jam CPU tunggal. (untuk informasi lebih lanjut lihat int jenis halaman).
• Kecepatan CPU di 84Mhz.
• 96 KByte SRAM.
• 512 KByte memori Flash untuk kode.
• DMA controller, yang dapat meringankan CPU dari melakukan tugas-tugas intensif memori.
Gambar 2.3 Arduino Duemilanove
2.3.1.3 Arduino Leonardo
Arduino Leonardo adalah papan mikrokontroler berdasarkan AT mega32u4. memiliki 20 digital pin input / output (yang 7 dapat digunakan sebagai output PWM dan 12 input analog sebagai), osilator kristal 16 MHz, koneksi micro USB, jack listrik, header ICSP, dan tombol reset. Berisi semua yang diperlukan untuk mendukung mikrokontroler, hanya menghubungkannya ke komputer dengan kabel USB atau power dengan adaptor AC-DC atau baterai untuk memulai menggunakkannya.
Leonardo berbeda dari semua papan sebelumnya di bahwa ATmega32u4 telah built-in USB komunikasi, menghilangkan kebutuhan untuk prosesor sekunder. Hal ini memungkinkan Leonardo tampil sebagai komputer yang terhubung sebagai mouse dan keyboard, selain virtual (CDC) serial / COM port. Ini juga memiliki implikasi lain untuk perilaku modul.
Gambar 2.4 Arduino Leonardo
2.3.1.4 Arduino Mega 2560
Arduino mega 2560 adalah papan mikrokontroler ATmega 2560 berdasarkan (datasheet) memiliki 54 digital pin input / output (dimana 15 dapat digunakan sebagai output PWM), 16 analog input, 4 UART (hardware port serial), osilator kristal 16 MHz, koneksi USB, jack listrik, header ICSP, dan tombol reset. Ini berisi semua yang diperlukan untuk mendukung mikrokontroler,hanya menghubungkannya ke komputer dengan kabel USB atau power dengan adaptor AC-DC atau baterai. Arduino Mega kompatibel dengan sebagian besar shield,dirancang untuk Arduino Duemilanove atau Diecimila.
Arduino Mega2560 berbeda dari semua board sebelumnya ,tidak menggunakan chip driver FTDI USB-to-serial. Sebaliknya, fitur ATmega16U2 (ATmega8U2 dalam revisi 1 dan revisi 2 papan) diprogram sebagai konverter USB-to-serial.
Revisi 2 dewan Mega2560 memiliki resistor menarik garis 8U2 HWB ke tanah, sehingga lebih mudah untuk dimasukkan ke dalam mode DFU.
Revisi 3 dari dewan memiliki fitur-fitur baru berikut :
• 1,0 pinout: menambahkan SDA dan pin SCL yang dekat dengan pin AREF dan dua pin baru lainnya ditempatkan dekat dengan pin RESET, yang IOREF yang memungkinkan perisai untuk beradaptasi dengan tegangan yang tersedia dari papan. Di masa depan, perisai akan kompatibel baik dengan dewan yang menggunakan AVR yang beroperasi dengan 5V dan dengan Arduino Due yang beroperasi dengan 3.3V. Yang kedua adalah pin tidak terhubung, yang disediakan untuk tujuan masa depan.
• Stronger RESET sirkuit.
• Atmega 16U2 menggantikan 8U2.
Gambar 2.5 Arduino Mega 2560
2.3.1.5 Arduino Intel Galileo
Galileo adalah papan mikrokontroler berdasarkan Intel ® Quark SoC X1000 Application Processor, 32-bit sistem Pentium-kelas Intel pada sebuah chip (datasheet). Ini adalah board pertama berdasarkan arsitektur Intel ® dirancang untuk menjadi hardware dan software pin-kompatibel dengan perisai Arduino dirancang untuk Uno R3. Digital pin 0-13 (dan AREF berdekatan dan pin GND), Analog input 0 sampai 5, header listrik, ICSP header, dan pin port UART (0 dan 1), semua di lokasi yang sama seperti pada Arduino Uno R3. Hal ini juga dikenal sebagai Arduino 1.0 pinout.
Galileo dirancang untuk mendukung shield yang beroperasi di kedua tegangan 3.3V atau 5V. Tegangan operasi inti Galileo adalah 3.3V. Namun, jumper di board memungkinkan terjemahan tegangan 5V di pin I / O. Hal ini memberikan dukungan untuk 5V shield Uno dan perilaku default. Dengan beralih posisi jumper, terjemahan tegangan dapat dinonaktifkan untuk menyediakan operasi 3.3V di pin I / O.
Tentu saja, board Galileo juga perangkat lunak yang cocok dengan Arduino Software Development Environment (IDE), yang membuat kegunaan dan pengenalan snap. Selain hardware Arduino dan kompatibilitas software, arduino.
Galileo memiliki beberapa industri PC standar I / O port dan fitur untuk memperluas penggunaan asli dan kemampuan luar ekosistem perisai Arduino. Sebuah ukuran penuh Slot mini-PCI Express, pelabuhan 100Mb Ethernet, slot Micro-SD, RS-232 port serial, port host USB, port USB Client, dan 8MByte NOR Flash.
Gambar 2.6 Arduino Intel Galileo
2.3.1.6 Arduino Pro Micro AT
Arduino Mikro adalah board mikrokontroler berdasarkan ATmega32u4 (lihat datasheet), yang dikembangkan bersama dengan Adafruit. Ini memiliki 20 digital pin input / output (yang 7 dapat digunakan sebagai output PWM dan 12 input analog sebagai), osilator 16 MHz kristal, koneksi USB mikro, header ICSP, dan tombol reset. Ini berisi semua yang diperlukan untuk mendukung mikrokontroler, hanya menghubungkannya ke komputer dengan kabel USB mikro untuk memulainya. Dengan memiliki faktor bentuk yang memungkinkannya untuk dapat dengan mudah ditempatkan pada papan tempat memotong roti.
Arduino Micro mirip dengan Arduino Leonardo in bahwa ATmega32u4 telah built-in USB komunikasi, dengan menghilangkan kebutuhan untuk prosesor sekunder. Hal ini memungkinkan Micro muncul ke komputer yang terhubung sebagai mouse dan keyboard, selain virtual (CDC) serial / COM port. Ini juga memiliki implikasi lain untuk pemanfaatan board.
Gambar 2.7 Arduino Pro Micro AT
2.3.1.7 Arduino Nano R3
Arduino Nano R3 adalah sebuah papan kecil, lengkap, dan ramah-papan tempat memotong roti berdasarkan ATmega328 (Arduino Nano 3.x) atau ATmega168 (Arduino Nano 2.x). Ini memiliki lebih atau kurang fungsi yang sama dari Arduino Duemilanove, tetapi dalam paket yang berbeda. Ini tidak memiliki hanya colokan listrik DC, dan bekerja dengan kabel USB Mini-B bukan satu standar. Arduino Nano dirancang dan diproduksi oleh Gravitech.
Gambar 2.8 Arduino Nano R3
2.3.1.8 Arduino Mini Atmega
Arduino ProMini ditujukan untuk pengguna tingkat lanjut yang membutuhkan fleksibilitas, biaya rendah, dan ukuran kecil. Muncul dengan minimum komponen (tidak ada on-board USB atau pin header) untuk menjaga biaya turun. Ini adalah pilihan yang baik untuk papan Anda ingin meninggalkan board tertanam dalam proyek. Harap dicatat bahwa ada dua versi dari board: satu yang beroperasi pada 5V (seperti kebanyakan papan Arduino), dan salah satu yang beroperasi pada 3.3V. Pastikan untuk memberikan yang benar daya dan penggunaan komponen yang operasi tegangan cocok dengan board.
Gambar 2.9 Arduino Mini Atmega
2.3.1.9 Arduino Mega ADK
Arduino MEGA ADK adalah board mikrokontroler AT mega 2560 berdasarkan (datasheet). Memiliki antarmuka USB untuk terhubung dengan ponsel berbasis Android, berdasarkan MAX3421e IC. Ini memiliki 54 digital pin input / output (dimana 15 dapat digunakan sebagai output PWM), 16 analog input, 4 UART (hardware port serial), osilator kristal 16 MHz, koneksi USB, jack listrik, header ICSP, dan tombol reset.
Arduino MEGA ADK berdasarkan Mega 2560.Mirip dengan Mega 2560 dan Uno, hotel ini memiliki sebuah ATmega8U2 diprogram sebagai konverter USB-to-serial. Revisi ke 2 dari board ADK memiliki resistor menarik garis 8U2 HWB ke tanah, sehingga lebih mudah untuk dimasukkan ke dalam mode DFU. Revisi 3 dari dewan memiliki fitur-fitur baru berikut :
• 1,0 pinout: menambahkan SDA dan pin SCL yang dekat dengan pin AREF dan dua pin baru lainnya ditempatkan dekat dengan pin RESET, yang IOREF yang memungkinkan perisai untuk beradaptasi dengan tegangan yang tersedia dari papan. Di masa depan, shield akan kompatibel baik dengan arduino yang menggunakan AVR yang beroperasi dengan 5V dan dengan Arduino Due yang beroperasi dengan 3.3V. Yang kedua adalah pin tidak terhubung, yang disediakan untuk tujuan pengembangan.
Gambar 2.10 Arduino Mega ADK
2.3.1.10 Arduino Esplora
Arduino Esplora adalah papan mikrokontroler berasal dari Arduino Leonardo. Esplora berbeda dari semua papan Arduino sebelumnya dalam hal ini menyediakan sejumlah built-in, siap digunakan set sensor onboard untuk interaksi. Ini dirancang untuk orang yang ingin bangun dan berjalan dengan Arduino tanpa harus belajar tentang elektronik dari pertama. Untuk langkah-demi-langkah pengantar Esplora, memeriksa Memulai dengan Esplora panduan.
Esplora onboard suara dan cahaya output, dan beberapa sensor input, termasuk joystick, slider, sensor suhu, accelerometer, mikrofon, dan sensor cahaya. Hal ini juga memiliki potensi untuk memperluas kemampuan dengan dua input dan output konektor Tinkerkit, dan soket untuk layar LCD warna TFT.
Seperti papan Leonardo, yang Esplora menggunakan mikrokontroler AVR Atmega32U4 dengan 16 MHz osilator kristal dan koneksi USB mikro mampu bertindak sebagai perangkat USB klien, seperti mouse atau keyboard.
Di sudut kiri atas papan ada tombol tekan reset, yang dapat Anda gunakan untuk me-restart board arduino. Ada empat LED Status :
• Pada [Hijau] menunjukkan apakah board menerima catu daya.
• L [yellow] terhubung langsung ke mikrokontroler, dapat diakses melalui pin 13.
• RX Dan TX [kuning] menunjukkan data yang dikirim atau diterima melalui komunikasi USB Dewan berisi semua yang diperlukan untuk mendukung mikrokontroler, hanya menghubungkannya ke komputer dengan kabel USB untuk memulainya.
Gambar 2.11 Arduino Esplora
2.3.2 Arduino Tipe Serial
Arduino Serial, yaitu jenis mikrokontroler arduino yang menggunakan RS232 sebagai antar muka pemrograman atau komunikasi computer.
Gambar 2.12 Arduino Tipe Serial
2.3.3 Arduino Mega
Arduino MEGA, yaitu mikrokontroler Arduino dengan spesifikasi yang lebih tinggi, dilengkapi tambahan pin digital, pin analog, port serial dan sebagainya. Arduino Mega berbasis ATmega1280 dengan 54 digital input/output.
Gambar 2.13 Arduino Mega
2.3.4 Arduino Fio
Arduino Fio, yaitu mikrokontroler Arduino yang ditujukan untuk penggunaan nirkabel. Arduino Fio ini menggunakan ATmega328P sebagai basis kontrolernya.
Gambar 2.14 Arduino Fio
2.3.5 Arduino Lylypad
Arduino Lilypad, yaitu mikrokontroler dengan bentuk yang melingkar. Contoh: LilyPad Arduino 00, LilyPad Arduino 01, LilyPad Arduino 02, LilyPad Arduino 03, LilyPad Arduino 04.
Gambar 2.15 Arduino Lylypad
2.3.6 Arduino BT
Arduino BT, mikrokontroler Arduino yang mengandung modul Bluetooth untuk komunikasi nirkabel.
Gambar 2.16 Arduino BT
2.3.7 Arduino Nano & Mini
Arduino Nano dan Arduino Mini, merupakan jenis arduino berbentuk kompak dan digunakan bersama breadboard. Contoh: Arduino Nano 3.0, Arduino Nano 2.x, Arduino Mini 04, Arduino Mini 03, Arduino Stamp 02.
Gambar 2.17 Arduino Nano & Mini
2.4 Arduino Software IDE
IDE itu merupakan kependekan dari Integrated Developtment Enviroenment, atau secara bahasa mudahnya merupakan lingkungan terintegrasi yang digunakan untuk melakukan pengembangan. Disebut sebagai lingkungan karena melalui software inilah Arduino dilakukan pemrograman untuk melakukan fungsi-fungsi yang dibenamkan melalui sintaks pemrograman. Arduino menggunakan bahasa pemrograman sendiri yang menyerupai bahasa C. Bahasa pemrograman Arduino (Sketch) sudah dilakukan perubahan untuk memudahkan pemula dalam melakukan pemrograman dari bahasa aslinya. Sebelum dijual ke pasaran, IC mikrokontroler Arduino telah ditanamkan suatu program bernama Bootlader yang berfungsi sebagai penengah antara compiler Arduino dengan mikrokontroler.
Arduino software IDE dibuat dari bahasa pemrograman JAVA. Arduino IDE juga dilengkapi dengan library C/C++ yang biasa disebut Wiring yang membuat operasi input dan output menjadi lebih mudah. Arduino IDE ini dikembangkan dari software Processing yang dirombak menjadi Arduino IDE khusus untuk pemrograman dengan Arduino.
Gambar 2.18 Arduino Software IDE
2.5 Game Tic Tac Toe
Permainan tic-tac-toe merupakan permainan klasik berjenis permainan papan (board-game) dengan ukuran 3x3. Cara memainkan Permainan tersebut dengan memberikan Nilai X atau O pada tiap kotak papan. Dalam Permainan ini hasil permainan yang didapat berupa menang, kalah, atau seri. Permainan ini mempunyai beberapa varian, antara lain 3D (3 dimensi), 2D (2 dimensi) dan juga board Permainans (permainan papan).
Sejak tahun 1980an, permainan 3 dimensi semakin banyak peminatnya karena mnemberikan efek visualisasi yang berbeda bagi pengguna dan user experience yang berbeda pula jika dibandingkan dengan permainan 2 dimensi sehingga saat ini permainan 3 dimensi semakin dikembangkan dengan visual dan sound yang dapat membuat permainan lebih real. Berdasarkan perkembangan zaman tersebut, penulis berkeinginan untuk memodifikasi permainan tic tac toe ini yaitu dengan membuat antarmuka 3 dimensi untuk permainan TicTacToe 3D dengan ukuran 3x3x3.
Selain itu, bentukTic Tac Toe 3D menjadi lebih rumit, karena jika tic tac toe 2 dimensi memiliki 8 kemungkinan bentuk pola yang dapat dibuat, maka tic tac toe 3 dimensi ini memiliki 49 kemungkinan pola yang dapat dibentuk. Permainan tic tac toe yang melibatkan komputer sebagai lawan pemain, menggunakan teknik kecerdasan buatan di dalamnya sehingga komputer dapat berpikir seperti manusia dan dapat bermain seperti berhadapan dengan manusia.
Gambar 2.19 Tic Tac Toe
2.5.1 Karakter / Objek Game
Permainan Tic Tac Toe ini merupakan permainan penerapan strategi, untuk permainan dasarnya atau secara standarnya terdapat dua pemain yaitu user dan komputer, kedua pemain akan saling menunjuk obyek pada permainan dengan objek yang berupa “X” dan “O” secara bergantian.
2.5.2 Level
Pada game tic tac toe, terdapat 3 level yaitu mudah, sedang sulit. Masing-masing level dibedakan dengan cara kerja AI (Artifical Intelligent). Semakin tinggi level, maka semakin sulit user untuk memenangkan permainannya. Sebaliknya jika kita memilih tingkat yang mudah maka kemungkinan besar user dapat dengan mudah memenangkan permainannya.
2.5.3 Rules
Rules atau aturan main pada game “TicTacToe” ini adalah sebagai berikut :
1. Pada game “TicTacToe”, permainan dilakukan secara bergantian dan pemain diberikan kebebasan untuk melakukan permainan pertama kali, barulah AI (komputer) langkah berikutnya.
2. Permainan berlangsung sampai ada salah satu yang menang atau semua kotak sudah terisi semuanya.
3. Pemenang ditentukan setelah berhasil menyusun 4 kotak secara berjajar baik horizontal, vertical ataupun diagonal atau minimal 3 kotak secara diagonal asalkan ujung dengan ujung saling bertemu.
4. AI (komputer) melakukan pembelajaran untuk menutup jalan pemain untuk mencapai goal (tujuan).
5. AI (komputer) juga melakukan pembelajaran untuk memenangkan game ini dengan memenuhi table.\vspace{4mm}
2.5.4 Game Play
1. Buatlah langkah pertama yang terbaik. Langkah terbaik, jika Anda adalah pemain pertama, adalah menggambar simbol pada kotak tengah. Tidak ada cara lainnya. Jika Anda memilih kotak tengah, Anda akan memiliki peluang tertinggi untuk memenangkan permainan. Dan jika Anda membiarkan lawan Anda memilih kotak tengah tersebut, Anda akan memiliki peluang tertinggi untuk kalah. Dan Anda tidak menginginkan itu, bukan?
• Jika Anda tidak memilih kotak tengah, langkah terbaik kedua Anda adalah salah satu dari empat kotak sudut. Dengan begitu, jika lawan Anda tidak memilih kotak tengah (seperti yang mungkin dilakukan oleh pemain pemula), maka Anda memiliki peluang tinggi untuk menang.
• Hindari kotak-kotak tepi sebagai langkah pertama. Kotak-kotak tepi adalah empat kotak yang tidak di tengah dan tidak di sudut. Jika Anda memilih kotak tepi sebagai langkah pertama, Anda akan memiliki peluang kemenangan yang terkecil.
2. Berikan respon yang sesuai jika lawan Anda menjadi pemain pertama. Jika lawan Anda adalah pemain pertama dan tidak memilih kotak tengah, Anda harus memilih kotak tengah tersebut. Tetapi jika lawan Anda memilih kotak tengah, maka langkah terbaik Anda adalah menggambar simbol Anda pada salah satu kotak sudut.
3. Ikuti strategi “kanan, kiri, atas, dan bawah”. Ini adalah sebuah strategi yang pasti akan membantu Anda memenangkan permainan. Saat lawan Anda meletakkan simbolnya, lihat apakah Anda dapat menggambar simbol Anda di sebelah kanan simbolnya. Jika tidak bisa, lihat apakah Anda dapat menggambar simbol Anda di sebelah kiri simbolnya. Jika tidak bisa juga, gambar simbol Anda di kotak di atas simbol lawan Anda. Dan akhirnya, jika itu juga tidak bisa, lihat apakah Anda dapat menggambar simbol Anda di bawah simbol lawan Anda. Strategi ini memastikan Anda dapat dengan sukses mengoptimalkan posisi Anda dan memblokir kemenangan lawan Anda.
4. Gunakan strategi tiga-sudut. Strategi lainnya untuk memenangkan permainan tic-tac-toe adalah dengan menggambar simbol Anda pada tiga dari empat sudut papan. Ini dapat mengoptimalkan peluang Anda menggambar tiga simbol dalam satu deret karena Anda akan dapat membuat deret diagonal atau deret pada sisi-sisi papan. Ini akan berhasil jika lawan Anda tidak sepenuhnya menghalangi Anda, tentu saja.
5. Bermainlah melawan komputer. Jika Anda ingin meningkatkan strategi Anda dan memastikan Anda tidak akan pernah kalah, maka cara terbaik adalah dengan bermain sesering mungkin daripada menghafal daftar strategi-strategi. Anda dapat menemukan permainan-permainan tic-tac-toe daring melawan komputer yang dapat Anda mainkan dan Anda dengan cepat akan dapat memainkan tic-tac-toe tanpa pernah kalah (bahkan jika Anda tidak dapat menang).
6. Tingkatkan level permainan. Jika Anda merasa terbatas dengan papan 3 x 3, maka sudah saatnya Anda memainkan papan 4 x 4 atau bahkan 5 x 5. Semakin besar papan, semakin besar deret yang harus Anda buat; untuk papan 4 x 4, Anda harus membuat 4 simbol dalam satu deret dan untuk papan 5 x 5, Anda harus membuat 5 simbol dalam satu deret, dan seterusnya. \vspace{4mm}
2.6 Gamification
2.6.1 Pengertian Gamification
Gamification atau dalam bahasa Indonesia gamifikasi adalah penggunaan dari teknik desain permainan, permainan berpikir dan permainan mekanik untuk meningkatkan non-game konteks.
Biasanya gamifikasi berlaku untuk non-game aplikasi dan proses, untuk mendorong orang untuk mengadopsi mereka, atau untuk mempengaruhi bagaimana mereka digunakan. Gamification menggunakan mekanisme berbasis game, estetika and pemikiran game untuk mengaktifkan orang, memotivasi tindakan, mendorong pembelajaran, dan memecahkan masalah.
2.6.2 Elemen Gamification
Ada beberapa elemen dari pengertian gamification yang perlu diperhatikan :
1. Berbasis game = bertujuan menciptakan suatu sistem dimana pembelajar, pemain, konsumen, dan karyawan aktif menghadapi tantangan yang didefinisikan melalui aturan-aturan, interaktifitas, dan feedback yang menghasilkan suatu penilaian yang terukur dan mendorong reaksi emosional.
2. Mekanisme = mekanisme memainkan game yang dimaksud di sini adalah munculnya level, mendapatkan lencana, sistem poin, dan batasan waktu. Inilah elemen-elemen yang digunakan dalam game.
3. Estetika = Tanpa grafis yang interaktif dan pengalaman permainan yang dirancang secara baik, maka gamification tidak akan sukses.
4. Pemikiran game = Ini elemen terpenting dari gamification. Ini merupakan gagasan merubah pengalaman sehari-hari seperti jogging atau berlari menjadi suatu kegiatan yang memiliki elemen-elemen kompetisi,kerja sama, eksplorasi dan bercerita (story-telling).
5. Aktif = Tujuan eksplisit gamification adalah menarik perhatian pembelajar dan melibatkannya. Keterlibatan dan keaktifan seorang individu menjadi fokus utama gamification.
6. Orang = dapat berupa pembelajar, konsumen atau pemain.
7. Memotivasi tindakan = membangkitkan energi dan memberikan arah, tujuan, atau makna bagi perilaku dan tindakan.
8. Mendorong pembelajaran = hal ini berjalan karena banyak elemen gamification berdasarkan psikologi pendidikan.
9. Memecahkan masalah = gamification dapat berpotensi tinggi menolong memecahkan masalah.
2.6.3 Perbedaan Gamification dan Game
• Game merupakan suatu unit yang utuh.
• Game memiliki kegiatan awal, pertengahan, dan akhir yang jelas sebagai satu keutuhan.
• Game memiliki suatu kondisi dimana harus ada kemenangan yang jelas.
• Pemain tahu ketika orang lain dan dirinya telah menyelesaikan Game.
• Game memiliki elemen game yang banyak.
• Game memuat mekanisme untuk berapa kali usaha yang dimainkan; tantangan; reward system.
• Gamification bukanlah satu unit game yang utuh.
• Gamification bertujuan menggunakan elemen game untuk mendorong pembelajar sibuk dengan isi materinya dan menunjukkan kemajuannya untuk mencapai tujuan pembelajaran.
2.6.4 Jenis Gamification
• Structural Gamification
Menerapkan elemen game untuk mendorong pembelajar menyimak konten materi dengan tanpa merubah konten materi menjadi terlihat seperti game namun struktur di sekeliling konten itulah yang tampak seperti game.
Tujuan utama tipe ini adalah untuk memotivasi pembelajar menyimak isi materi dan menyibukkan diri dengan materinya dalam proses pembelajaran yang terlihat tidak seperti game namun sambil meraih berbagai reward. Elemen game yang paling umum pada tipe ini adalah badge, points, leaderboards, dan level. Contoh: adanya penugasan mengumpulkan jenis-jenis bunga dan akan mendapatkan badge.
• Content Gamification
Menerapkan elemen game dan pemikiran game dalam isi materi sehingga isi materi berubah terlihat seperti game. Contoh: menambah elemen cerita dalam pengajaran suatu materi atau memulai suatu pengajaran dengan suatu tantangan alih-alih menyampaikan sederet tujuan mata kuliah.
Elemen dalam Content Gamification :
1. Cerita
2. Tantangan
3. Keingintahuan
4. Karakter
5. Interaktifitas
6. Feedback
7. Bebas untuk gagal (it’s OK to fail)
2.6.5 Kelebihan
Gamifikasi bekerja dengan membuat teknologi yang lebih menarik,dengan mendorong pengguna untuk terlibat dalam perilaku yang diinginkan, dengan menunjukkan jalan untuk penguasaan dan otonomi, dengan membantu untuk memecahkan masalah dan tidak menjadi gangguan, dan dengan mengambil keuntungan dari kecenderungan psikologis manusia 'untuk terlibat dalam game'.
2.6.6 Kekurangan
1. Motivasi yang didapatkan hanya bersifat superfisial. Motivasi yang didapatkan hanya dari permainan bukan dari produk yang seharusnya dihasilkan. Program seperti frequent flyer miles menyediakan beberapa manfaat nyata bagi aktivitas dan perkembangan. Namun gamifikasi akan menurunkan nilai insentif yang didapat karena hal ini hanya dijadikan perayaan digital atau cara untuk menyombongkan diri.
2. Terkadang metode untuk mencapai tingkatan tertinggi menjadi satu-satunya aspek yang dianggap penting. Hal ini menjadi masalah akibat kesalahan arah motivasional. Pengguna menetapkan motivasi mereka hanya untuk menjadi yang terbaik namun melupakan apa yang sebenarnya menjadi penawaran dari situs yang dimaksud. hal ini mungkin terlihat tidak relevan bagi perusahaan karena pengguna terus menghabiskan waktu mereka namun tidak terbentuk loyalitas dan ikatan terhadap brand seperti yang diharapkan perusahaan.
3. Gamifikasi menghilangkan banyak esensi dari permainan itu sendiri. Ini menjadi seperti teknologi cut and paste dan kurangnya orisinilitas. Permainan adalah tentang menemukan seustu dan melewati rintangan. Memang pada situs yang menggunakan gamifikasi terdapat beberapa tingkatan namun bukan layaknya permainan tradisional. Dimana pengembang situs justru menampilkan fitur mudah, biasa, dan membosankan sehingga diharapkan pengguna akan lebih mudah untuk menang.
4. Gamifikasi dangkal dapat menghasilkan pengalaman yang biasa saja dan memiiki nilai rendah terhadap ROI (Return of Investment; pengambalian modal) sehingga terkadang gamifikasi tidak menjual dan justru menjatuhkan nilai situs.
2.6.7 Gamification Game Pinball
Pada permainan pinball, pemain dituntut untuk mendapatkan skor sebanyak banyaknya dengan cara membuat bola pada permainan pinball mengenai objek objek terntentu yang ada pada area permainan. Bola yang dapat dimainkan pada satu sesi permainan pun dibatasi hanya sampai beberapa bola. Apabila bola turun di sebelah sisi kanan atau kiri area permainan, maka bola akan kembali ke pelontar dan jumlah bola yang dapat dimainkan oleh pemain akan berkurang satu. Disinilah pemain akan dituntut untuk mendapatkan skor sebanyak banyaknya dengan jumlah bola yang terbatas. Apabila jumlah bola yang dapat dimainkan telah habis, maka permainan dinyatakan selesai dan skor pemain akan dibandingkan dengan skor pemain yang lain. Apabila pemain memiliki skor tertinggi, maka skor pemain tersebut akan dicatat ke dalam High Score. Dengan adanya sistem High Score, maka pemain akan semakin terpacu untuk mendapatkan skor sebanyak banyaknya walaupun harus bermain sampai beberapa kali sesi permainan.