Selasa, 25 Juli 2017

Pengantar Teknologi Game (kelompok 4) Game Arduino Flappy Bird Bab 2

Bab2
PEMBAHASAN DAN GAME DESIGN
2.1            Pengenalan Flappy Bird
Flappy Bird adalah sebuah permainan di Android dan iOS, yang dibuat oleh seorang pengembang dari Hanoi, Vietnam ber-nama Nguyen Ha Dong dan diluncurkan pada bulan Mei 2013.
8

Cara bermainnya yakni dengan mengetukkan jari ke layar pon-sel pintar untuk membuat si burung terbang, melewati setiap pipa berwarna hijau. Jika waktu ketika mengetuk layar tidak tepat, maka dapat membuat si burung terbang menabrak pipa dan pada akhirnya harus mengulang permainan ini dari awal. Nguyen beralasan bahwa dia menciptakan permainan ini untuk kegiatan bersantai para pemainnya.

2.1.1            Sejarah Munculnya Flappy Bird

Asal-usul Flappy Bird mulai terlihat pada 6 November 2012. Saat itu, Nguyen membagikan gambar di Twitter tentang game yang sedang ia kerjakan. Namun, kala itu Nguyen tidak menyebut judul game yang sedang digarap. Kemudian pada 29 April 2013, Nguyen kembali membagikan gambar dari sebuah game yang dibuatnya dengan judul "Flap Flap" untuk platform Apple iOS. " Game baru yang sederhana, Flap Flap," tulis Nguyen di akun Twitter-nya. Flap Flap mengadopsi gaya visual permainan Nintendo. Ia mengaku menyelesaikan game ini hanya dua hari. Sebulan berlalu. Ternyata, nama aplikasi Flap Flap sudah ada di toko aplikasi Apple, App Store. Nguyen mengganti nama game itu menjadi Flappy Bird pada 24 Mei 2013. Pada saat itu juga ia berkicau tentang skor tertinggi yang diraihnya pada Flappy Bird, yaitu 44, sambil memberi tautan untuk mengunduh aplikasi tersebut. Dalam rentang 25 Mei hingga 31 Oktober 2013, Flappy Bird hanya mendapat 13 ulasan dari pengguna. Kebanyakan ulasan ini bisa disebut ditulis seadanya. Pendek kata, pengguna tidak meluangkan waktu besar untuk menulis ulasan Flappy Bird dengan sepenuh hati. Pada masa tersebut, Nguyen terlihat tidak aktif di Twitter. Nguyen memperbarui Flappy Bird pada September 2013. Namun, gameini masih mengalami beberapa bug.
Flappy Bird masih "biasa-biasa saja" dalam waktu enam pekan. Lalu, sesuatu yang mengejutkan mulai terjadi. Menurut data analisis aplikasi App Annie, Flappy Bird masuk urutan ke1.469 dari kategori aplikasi "Keluarga" pada 29 Oktober 2013, yang berarti itu adalah game keluarga paling populer di App Store di urutan ke-1.469 untuk kawasan Amerika Serikat (AS). Beberapa hari kemudian, nama Flappy Bird muncul kali pertama di Twitter dari seorang pengguna, selain Nguyen. Pengguna bernama Alexiss dengan akun @alexisbaskervil melontarkan kicauan pada 4 November 2013, yang menggambarkan kekesalannya bermain Flappy Bird.Pada 14 November, urutan Flappy Bird naik menjadi ke-1.368 di App Store kawasan AS, menurut data App Annie.
Setelah itu, game ini terus naik ke peringkat ke-393 dalam kategori keluarga. Permainan mulai mendapatkan traksi. Jumlah ulasan juga meningkat. Flappy Bird berhasil mendapatkan 20 ulasan pada bulan November. Banyak dari mereka yang menyatakan hubungan cinta dan benci dengan Flappy Bird. "Saya memiliki hubungan cinta/benci dengan permainan ini, dan sangat adiktif. Ini adalah permainan besar. Saya tidak bisa melewati 15," tulis seorang pengguna dengan subyek ulasan "Love/hate/live." Pada 3 Desember 2013, Flappy Bird berhasil masuk ke urutan ke-74 di kategori keluarga dan urutan ke-395 dalam kategori game di App Store kawasan AS.Nguyen kembali memakai Twitter pada 11 Desember. Dia membalas mention pengguna yang menginginkan Flappy Bird hadir untuk platform Android. Flappy Bird terus meningkat, naik ke urutan ke-259 untuk kategori aplikasi gratis di AS, urutan ke-80 untuk kategori game di AS, dan peringkat ke-14 untuk kategori keluarga.
Pengguna Twitter mulai melontarkan kicauan tentang Flappy Bird, membuat gambar olahan (meme) bernuansa lucu yang menggambarkan emosi atau kefrustrasian mereka memainkan Flappy Bird. Nguyen melakukan retweet beberapa gambar. Ulasan tentang Flappy Bird di App Store meningkat, bisa mencapai 20 ulasan per hari. Ada pengguna yang memberi peringkat satu bintang hingga lima bintang. Kebanyakan dari mereka mengatakan pendapat yang lebih kurang menyatakan, "Saya benci permainan ini, tetapi tidak bisa berhenti bermain." Popularitas Flappy Bird terus menanjak pada Januari 2014. Tepatnya 10 Januari 2014, game ini mencapai terobosan baru, berhasil masuk daftar top 10 di App Store kawasan AS.
Bisa masuk dalam daftar top 10 aplikasi di App Store AS adalah hal yang sulit bagi para pengembang. Nguyen menjawab pertanyaan yang kerap dilontarkan kepada dirinya tentang apa yang telah dilakukannya untuk meningkatkan popularitas Flappy Bird, dan dia menjawab, "Tidak melakukan promosi." Sejak 13 Januari 2014, tingkat pengunduhan Flappy Bird tumbuh 136 persen dari hari ke hari. Menurut perusahaan analisis aplikasi Distimo, Flappy Bird menjadi aplikasi gratis nomor 1 di App Store kawasan AS pada 17 Januari 2014.
Setelah sukses di platform iOS, Nguyen mengumumkan bahwa Flappy Bird tersedia di platform Android pada 22 Januari 2014. Hanya dalam waktu sepekan, Flappy Bird menjadi aplikasi paling banyak diunduh di Google Play Store. Sejak saat itu, Flappy Bird ramai dibicarakan di media sosial dan media massa. Media besar sekelas Forbes dan Time membuat artikel yang mengulas game ini. Di Twitter, ada sekitar 500.000 pembicaraan tentang Flappy Bird pada 25 Januari 2014, menurut data Topsy. Pada 1 Februari 2014, Flappy Bird menjadi game gratis nomor satu di App Store di 53 negara. Akun Twitter resmi App Store sampai melontarkan kicauan tentang Flappy
Bird.
Kepada blog teknologi TechCrunch, Nguyen mengatakan, "Saya tidak tahu bagaimana permainan saya bisa begitu populer. Sebagian besar pengguna saya adalah anak-anak yang duduk di bangku sekolah. Saya ingin mengucapkan terima kasih untuk mereka yang memainkannya dan berbagi kepada orang lain." Banyak pengembang aplikasi yang mempertanyakan kesuksesan Flappy Bird. Sulit bagi mereka untuk percaya bagaimana mungkin game sesederhana ini bisa merajai tangga peringkat game gratis di toko aplikasi App Store dan Play Store. Ada yang mengatakan, Nguyen mengeluarkan uang untuk meningkatkan jumlah unduhan, atau menggunakan teknik saling promosi untuk menarik perhatian pengguna. Ahli pemasaran aplikasi Carter Thimas berspekulasi, keberhasilan Flappy Bird diraih karena sebagian ulasan yang ditinggalkan itu dilakukan oleh botnet.
Sekali lagi, Nguyen mengatakan, ia tidak punya sumber daya untuk melakukan promosi. Yang bisa ia lakukan hanya mengunduh game ini ke toko aplikasi App Store dan Play Store. Pengguna Flappy Bird tampak menyukai game ini karena alasan psikologis. Ini memang game yang sederhana, tetapi membuat candu, terlebih lagi dengan adanya persaingan mendapatkan skor tertinggi di lingkungan pengguna.
Seorang bernama Zach Williams sempat menganalisis angkaangka di balik game Flappy Bird sebelum permainan ini dihapus. Dalam database Williams, terdapat 68.000 ulasan yang ditulis oleh pengguna Flappy Bird. Setelah melihat data dari Williams, tuduhan ulasan palsu yang ditujukan kepada Nguyen tidaklah benar. Ulasan yang ditulis untuk Flappy Bird adalah alami ditulis oleh pengguna. Nguyen mengatakan kepada blog teknologi The Verge, Flappy Bird telah menghasilkan uang 50.000 dollar AS atau sekitar Rp 600 juta per hari dari hasil iklan-iklan yang muncul pada game tersebut. Sejak adanya pernyataan itu, akun Twitter Nguyen makin sering diusik oleh pengguna, pengembang, hingga pengamat. Mulanya ia menanggapi pertanyaan dengan kata-kata diplomatis dan humoris. Namun, lambat laun, Nguyen merasa hidupnya yang sederhana terganggu. Nguyen mengatakan, ia menerima kicauan yang bernuansa kebencian, ancaman kematian, hingga pelecehan yang berulang kali terjadi.
Dalam kondisi seperti ini, Nguyen masih mengerjakan pembaruan untuk Flappy Bird. Ia mengajukan pembaruan Flappy Bird kepada Apple pada 3 Februari, lalu disetujui pada 8 Februari. Pembaruan gratis ini membuat Flappy Bird menjadi lebih mudah. Ada pengguna yang tidak puas dengan langkah Nguyen. Pengguna dengan akun Twitter @bigperrydog menyayangkan formula baru yang digunakan Nguyen lantaran membuat game itu jadi lebih mudah. Pengguna tersebut mengaku lebih suka versi lama, dan menjelek-jelekkan versi baru.
Pada 7 Februari 2014, ia merasa lelah dengan popularitas Flappy Bird. Dia tidak bisa mengendalikan game itu seorang diri dan menjawab sentimen negatif yang terus-menerus datang kepadanya. Setelah mulanya menjanjikan akan menghadirkan Flappy Bird di platform Windows Phone, Nguyen akhirnya menyerah karena tidak bisa memenuhi janji. Ia berencana mencabut Flappy Bird dari App Store dan Play Store.
Beberapa jam setelah Nguyen merilis pembaruan Flappy Bird, tampaknya ia mulai membenci game tersebut. Kebencian Nguyen pada Flappy Bird terlihat pada 8 Februari 2014. "Saya bisa mengatakan, Flappy Bird adalah keberhasilan saya. Tetapi, ia juga meruntuhkan kehidupan sederhana saya. Jadi, sekarang saya membencinya," tulis Nguyen di akun Twitter-nya. Sekitar pukul 02.00 pagi waktu Hanoi, tanggal 9 Februari, Nguyen membuat pengumuman yang sangat mencengangkan. Ia akan mencabut Flappy Bird dari toko aplikasi App Store dan Play Store dalam waktu 22 jam ke depan.
Para pengguna, pengembang, dan pengamat menilai pernyataan Nguyen hanya akal-akalan agar mendapat publisitas yang lebih heboh. Namun, ternyata tidak, Nguyen benar-benar mencabut Flappy Bird dari peredaran. Tanggal 10 Februari 2014, pada pagi hari, Flappy Bird sudah tidak bisa dicari ataupun diunduh dari App Store dan Play Store. Akun Twitter Nguyen kembali diserang beragam pertanyaan. Dia tetap diam, enggan menanggapi pertanyaan. Nguyen berpendapat, potensi masalah hukum bukanlah penyebab ditariknya Flappy Bird dari peredaran. Ketika ditanya soal dugaan pelanggaran hak cipta, Nguyen memberi jawaban lewat Twitter yang mengundang rasa penasaran. "Ah, saya tak mencuri sesuatu apa pun secara langsung. Melakukan itu adalah sebuah seni tersendiri," ujarnya singkat. Melalui sebuah wawancara dengan Forbes, akhirnya Nguyen mengutarakan alasan pencabutan Flappy Bird.
Nguyen beralasan bahwa sebenarnya game ini dibuat untuk kegiatan bersantai para pemainnya. Nguyen tidak bermaksud membuat Flappy Bird menjadi permainan yang adiktif. Nah, pada saat tujuannya melenceng, Nguyen memutuskan untuk menarik Flappy Bird. Flappy Bird didesain untuk dimainkan selama beberapa menit pada saat Anda sedang berelaksasi. Namun, game ini akhirnya menjadi produk adiktif. Saya rasa hal tersebut telah menjadi masalah. Untuk menyelesaikan masalah itu, hal terbaik adalah menarik Flappy Bird. Game ini telah hilang selamanya.
Pemuda asal Vietnam itu juga menjelaskan bahwa rasa bersalah membuat banyak pengguna ketagihan pada game tersebut, membuatnya mantap mengambil keputusan. Popularitas game ini juga merusak "hidupnya yang sederhana". "Saya tidak merasa ini (keputusan penarikan) sebagai suatu kesalahan. Saya telah memikirkannya matang-matang," ungkap Nguyen. Nguyen mengatakan bahwa ia tidak menjual Flappy Bird, tetapi ia akan terus membuat game. Flappy Bird adalah contoh sempurna popularitas yang diraih dengan cara alami. Berkat pemberitaan di media sosial dan media massa, pembicaraan dari mulut ke mulut, Flappy Bird telah menjadi fenomena global: diunduh setidaknya sebanyak 50 juta kali, dan di Twitter, terdapat setidaknya 16 juta pembicaraan mengenai Flappy Bird.

2.1.2           Permainan Flappy Bird

Karakter utama permainan dengan nuansa gras 8-bit ini adalah seekor burung. Cara memainkan Flappy Bird cukup dengan mengetuk jari ke layar untuk membuat si burung terbang. Bukan hanya sembarang terbang saja, namun tantangannya di sini adalah menjaga agar burung tersebut tidak menabrak pipa-pipa hijau dengan cara terbang melalui celah-celahnya. Pemain akan mendapat skor 1 (satu) jika berhasil melewati satu pipa. Jika waktu ketika mengetuk layar tidak tepat, maka dapat membuat si burung terbang menabrak pipa dan pada akhirnya harus mengulang permainan ini dari awal.
2.2          Pengenalan Arduino

2.2.1         Sejarah Singkat

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.
Saat ini tim pengembangnya adalah Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, David Mellis, dan Nicholas Zambetti. Mereka mengupayakan 4 hal dalam Arduino yaitu :
1.    Harga terjangkau
2.    Dapat dijalankan diberbagai sistem operasi, Windows,Linux, Max, dan sebagainya.
3.    Sederhana, dengan bahasa pemograman yang mudah bisadipelajari orang awam, bukan untuk orang teknik saja.
4.    Open Source, hardware maupun software.
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 jenisjenis 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. Dan banyak yang bertanya juga Arduino ini menggunakan bahasa pemograman apa? Arduino sebenarnya menggunakan bahas C, yang sudah disederhanakan. Sehingga orang awam pun bisa menjadi seniman digital, bisa mempelajari Arduino dengan mudahnya.

2.2.2          Pengertian Arduino

Arduino adalah pengendali mikro single-board yang bersi-fat open-source, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bi-dang. Hardwarenya memiliki prosesor Atmel AVR dan softwa-renya memiliki bahasa pemrograman sendiri. Saat ini Arduino sangat populer di seluruh dunia. Banyak pemula yang belajar mengenal robotika dan elektronika lewat Arduino karena mudah dipelajari. Tapi tidak hanya pemula, para hobbyist atau profesional pun ikut senang mengembangkan aplikasi elektronik menggunakan Arduino. Bahasa yang dipakai dalam Arduino bukan assembler yang relatif sulit, tetapi bahasa C yang dise derhanakan dengan bantuan pustaka-pustaka (libraries) Arduino.
Kelebihan Arduino
1.         Tidak perlu perangkat chip programmer karena di dalamnya sudah ada bootloader yang akan menangani upload program dari komputer.
2.         Sudah memiliki sarana komunikasi USB, sehingga pengguna Laptop yang tidak memiliki port serial/RS323 bisa menggunakannya.
3.         Bahasa pemrograman relatif mudah karena software Arduino dilengkapi dengan kumpulan library yang cukup leng-kap.
4.         Memiliki modul siap pakai (shield) yang bisa ditancapkanpada board Arduino. Misalnya shield GPS, Ethernet, SD Card, dan lain-lain.

2.2.3          Konsep Arduino

Otak utama dari arduino ini adalah mikrokontroler yang ditanam pada setiap serinya, setiap seri arduino menggunakan mikrokontroler yang berbeda sesuai dengan kebutuhan, misal untuk arduino uno biasanya mikrokontroler yang dipakai adalah ATMega 328 dan bahasa pemrograman yang dipakai untuk memprogram arduino adalah C.
Gambaran utama cara kerja dari arduino adalah sebagai berikut
Input->Proses->Output ya memang seperti inilah gambaran semua sistem komputer yang menjadi pembeda satu sistem dengan sistem lainnya adalah detail dari setiap tahapan input dilanjutkan dengan proses dan hasil yang dikeluarkan.
Sumber input pada arduino adalah dari PIN yang tersedia pada board arduino. Misal arduino dihubungkan dengan sensor jarak (sensor PING) dan buzzer. Sensor ping dihubungkan dengan pin digital i/o 4 dan buzzer dihubungkan dengan pin i/0 7. Anggaplah jika sensor ping menghasilkan jarak 100 cm ke atas maka buzzer akan berbunyi, jadi algoritmanya adalah sebagai berikut:
Jadi proses yang terjadi pada mikrokontroler hanyalah proses situasi if then else. Inputnya diambil dari pin 4 dan outputnya akan disalurkan ke pin 7. Cukup sederhana kan cara kerjanya, intinya adalah mengambil data input dari pin yang diatur untuk menerima data dan data input yang diterima dikirim ke mikrokontroler untuk diproses sesuai kebutuhan dan hasil prosesnya disalurkan kembali ke pin outputnya.

2.2.4          Jenis-Jenis Arduino

ARDUINO USB
Menggunakan USB sebagai antar muka pemrograman atau komunikasi komputer. Contoh:
Arduino Uno
Arduino Duemilanove
Arduino Diecimila
Arduino NG Rev. C
Arduino NG (Nuova Generazione)
Arduino Extreme dan Arduino Extreme v2
Arduino USB dan Arduino USB v2.0
ARDUINO SERIAL
Menggunakan RS232 sebagai antar muka pemrograman atau komunikasi komputer.
Arduino Serial dan Arduino Serial v2.0
ARDUINO MEGA
Papan Arduino mirip dengan arduino uno dengan spesikasi yang lebih tinggi, dilengkapi tambahan pin digital, pin analog, port serial dan sebagainya. Contoh:
Arduino Mega
Arduino Mega 2560
ARDUINO FIO
Ditujukan untuk penggunaan nirkabel.
ARDUINO LILYPAD
Papan dengan bentuk yang melingkar. Contoh: LilyPad Arduino 00, LilyPad Arduino 01, LilyPad Arduino 02, LilyPad Arduino 03, LilyPad Arduino 04.
ARDUINO BT
Mengandung modul bluetooth untuk komunikasi nirkabel.
ARDUINO NANO & ARDUINO MINI
Papan berbentuk kompak dan digunakan bersama breadboard. Contoh:
Arduino Nano 3.0, Arduino Nano 2.x
Arduino Mini 04, Arduino Mini 03, Arduino Stamp 02
Dari semua jenis arduino yang ada, arduino yang paling sering dan paling mudah digunakan adalah arduino uno R3.
Arduino Uno, jenis yang ini adalah yang paling banyak digunakan. Terutama untuk pemula sangat disarankan untuk menggunakan Arduino Uno. Dan banyak sekali referensi yang membahas Arduino Uno. Versi yang terakhir adalah Arduino Uno R3 (Revisi 3), menggunakan ATMEGA328 sebagai Microcontrollernya, memiliki 14 pin I/O digital dan 6 pin input analog. Untuk pemograman cukup menggunakan koneksi USB type A to To type B. Sama seperti yang digunakan pada USB printer.
Arduino Esplora. Rekomendasi bagi kamu yang mau membuat gadget sepeti Smartphone, karena sudah dilengkapi dengan Joystick, button, dan sebagainya. Kamu hanya perlu tambahkan LCD, untuk lebih mempercantik Esplora.
ARDUINO UNO
Arduino adalah sebuah board mikrokontroller yang berbasis ATmega328. Arduino memiliki 14 pin input/output yang mana 6 pin dapat digunakan sebagai output PWM, 6 analog input, crystal osilator 16 MHz, koneksi USB, jack power, kepala ICSP, dan tombol reset. Arduino mampu men-support mikrokontroller; dapat dikoneksikan dengan komputer menggunakan kabel USB.
Arduino adalah merupakan sebuah board minimum system mikrokontroler yang bersifat open source. Di-dalam rangkaian board arduino terdapat mikrokontroler AVR seri ATMega 328 yang merupakan produk dari Atmel. 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 ber-upa USB sehingga memudahkan kita ketika kita memprogram mikrokontroler didalam arduino. Sedangkan pada kebanyakan board mikrokontroler yang lain yang masih membutuhkan rang-kaian 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 ter-diri 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 kongurasi pin pada program. Dalam board kita bisa lihat pin digital diberi keterangan 0-13, jadi un-tuk 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 memberik-an keuntungan tersendiri untuk kita dalam menggunakan board ini, karena dengan sifat open source komponen yang kita pakai tidak hanya tergantung pada satu merek, namun memungkink-an kita bisa memakai semua komponen yang ada dipasaran. Bahasa pemrograman arduino merupakan bahasa C yang su-dah disederhanakan syntax bahasa pemrogramannya sehingga mempermudah kita dalam mempelajari dan mendalami mikro-kontroller.

2.2.5      Hubungan Arduino dengan Pembuatan Game

Dengan mengikuti perkembangan zaman yang memudahkan dan aktif dalam sebuah permainan yang dibahas dalam buku ini adalah Flappy Bird yang dibuat oleh Dan200 dengan menggunakan Arduino. Permainan ini dijadikan sarana bagi Dan200 untuk belajar perangkat keras seperti menggunakan resistor pembatas arus, 8x8 LED matriks, satu buah tombol dan membuat program di Arduino.

2.2.6             Tutorial Bahasa Pemrograman Arduino

Arduino menggunakan pemrograman dengan bahasa C. Berikut ini adalah sedikit penjelasan yang ditujukan kepada anda yang hanya mempunyai sedikit pengalaman pemrograman dan membutuhkan penjelasan singkat mengenai karakter bahasa C dan software Arduino. Untuk penjelasan yang lebih mendalam, web Arduino.cc adalah sumber yang lengkap.
1.   Struktur
Setiap program Arduino (biasa disebut sketch) mempunyai dua buah fungsi yang harus ada.
void setup( ) { } o Semua kode didalam kurung kurawal akan dijalankan hanya satu kali ketika program Arduino dijalankan untuk pertama kalinya.
void loop( ) { } o Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah dijalankan satu kali fungsi ini akan dijalankan lagi, dan lagi secara terus menerus sampai catu daya (power) dilepaskan.
2.   Syntax
Berikut ini adalah elemen bahasa C yang dibutuhkan untuk format penulisan.
//(komentar satu baris) Kadang diperlukan untuk memberi catatan pada diri sendiri apa arti dari kode-kode yang dituliskan. Cukup menuliskan dua buah garis miring dan apapun yang kita ketikkan dibelakangnya akan diabaikan oleh program.
/* */(komentar banyak baris) Jika anda punya banyak catatan, maka hal itu dapat dituliskan pada beberapa baris sebagai komentar. Semua hal yang terletak di antara dua simbol tersebut akan diabaikan oleh program.
{ }(kurung kurawal) Digunakan untuk mendenisikan kapan blok program mulai dan berakhir (digunakan juga pada fungsi dan pengulangan).
;(titik koma) Setiap baris kode harus diakhiri dengan tanda titik koma (jika ada titik koma yang hilang maka program tidak akan bisa dijalankan).
3. Variable
Sebuah program secara garis besar dapat didenisikan sebagai instruksi untuk memindahkan angka dengan cara yang cerdas. Variabel inilah yang digunakan untuk memindahkannya.
int (integer) Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Tidak mempunyai angka desimal dan menyimpan nilai dari -32,768 dan 32,767.
long (long) Digunakan ketika integer tidak mencukupi lagi. Memakai 4 byte (32 bit) dari memori (RAM) dan mempunyai rentang dari -2,147,483,648 dan 2,147,483,647.
boolean (boolean) Variabel sederhana yang digunakan untuk menyimpan nilai TRUE (benar) atau FALSE (salah). Sangat berguna karena hanya menggunakan 1 bit dari RAM.
oat (oat) Digunakan untuk angka desimal (oating point). Memakai 4 byte (32 bit) dari RAM dan mempunyai rentang dari -3.4028235E+38 dan 3.4028235E+38.
char (character) Menyimpan 1 karakter menggunakan kode ASCII (misalnya ‘A’ = 65). Hanya memakai 1 byte (8 bit) dari RAM.
4.   Operator Matematika
Operator yang digunakan untuk memanipulasi angka (bekerja seperti matematika yang sederhana)
= Membuat sesuatu menjadi sama dengan nilai yang lain (misalnya: x = 10 * 2, x sekarang sama dengan 20)
% Menghasilkan sisa dari hasil pembagian suatu angka de-ngan angka yang lain (misalnya: 12 % 10, ini akan meng-hasilkan angka 2)
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian
5.   Operator Perbandingan
Digunakan untuk membandingkan nilai logika.
== Sama dengan (misalnya: 12 == 10 adalah FALSE
(salah) atau 12 == 12 adalah TRUE (benar))
!= Tidak sama dengan (misalnya: 12 != 10 adalah TRUE (benar) atau 12 != 12 adalah FALSE (salah))
< Lebih kecil dari (misalnya: 12 < 10 adalah FALSE (salah) atau 12 < 12 adalah FALSE (salah) atau 12 < 14 adalah TRUE (benar))
> Lebih besar dari (misalnya: 12 > 10 adalah TRUE (benar) atau 12 > 12 adalah FALSE (salah) atau 12 > 14 adalah FALSE (salah))
6.   Struktur Pengaturan
Program sangat tergantung pada pengaturan apa yang akan dijalankan berikutnya, berikut ini adalah elemen dasar pengaturan (banyak lagi yang lain dan bisa dicari di internet).
1.         if..else, dengan format seperti berikut ini: if (kondisi) { } else if (kondisi) { } else { }
Dengan struktur seperti diatas program akan menjalankan kode yang ada di dalam kurung kurawal jika kondisinya TRUE, dan jika tidak (FALSE) maka akan diperiksa apakah kondisi pada else if dan jika kondisinya FALSE maka kode pada else yang akan dijalankan.
2.         for, dengan format seperti berikut ini: for (int i = 0; i < #pengulangan; i++) { }
Digunakan bila anda ingin melakukan pengulangan kode di da-lam kurung kurawal beberapa kali, ganti #pengulangan dengan jumlah pengulangan yang diinginkan. Melakukan penghitungan ke atas dengan i++ atau ke bawah dengan i.
7.   Digital
1.         pinMode(pin, mode) Digunakan untuk menetapkan modedari suatu pin, pin adalah nomor pin yang akan digunakan dari 0-19 (pin analog 0-5 adalah 14-19). Mode yang bisa digunakan adalah INPUT atau OUTPUT.
2.         digitalWrite(pin, value) Ketika sebuah pin ditetapkan sebagai OUTPUT, pin tersebut dapat dijadikan HIGH (di-tarik menjadi 5 volts) atau LOW (diturunkan menjadi gro-und).
3.         digitalRead(pin) Ketika sebuah pin ditetapkan sebagaiIN-PUT maka anda dapat menggunakan kode ini untuk mendapatkan nilai pin tersebut apakah HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground).
8. Analog
Arduino adalah mesin digital tetapi mempunyai kemampuan untuk beroperasi di dalam alam analog (menggunakan trik). Berikut ini cara untuk menghadapi hal yang bukan digital.
1.         analogWrite(pin, value) Beberapa pin pada Arduino mendukung PWM (pulse width modulation) yaitu pin 3, 5, 6, 9, 10, 11. Ini dapat merubah pin hidup (on)atau ma-ti (o) dengan sangat cepat sehingga membuatnya dapat berfungsi layaknya keluaran analog. Value (nilai) pada format kode tersebut adalah angka antara 0 ( 0% duty cycle ~ 0V) dan 255 (100% duty cycle ~ 5V).
2.         analogRead(pin) Ketika pin analog ditetapkan sebagai INPUT anda dapat membaca keluaran voltase-nya. Kelua-rannya berupa angka antara 0 (untuk 0 volts) dan 1024 (untuk 5 volts).

2.2.7            Komponen pada papan arduino

Komponen utama di dalam papan Arduino adalah sebuahmicrocontroller 8 bit dengan merk ATmegayang dibuat oleh perusahaan Atmel Corporation. Berbagai papan Arduino menggunakan tipe ATmega yang berbeda-beda tergantung dari spesikasinya, sebagai contoh Arduino Uno menggunakan Atmega328 sedangkan ArduinoMega 2560 yang lebih canggih menggunakan ATmega2560.Untuk memberikan gambaran mengenai apa saja yang terdapat di dalam sebuah microcontroller, pada gambar berikut ini diperlihatkan contoh diagram blok sederhana dari microcontrollerATmega328 (dipakai pada Arduino Uno).
Blok-blok di atas dijelaskan sebagai berikut :
Universal Asynchronous Receiver/Transmitter (UART) adalah antar muka yang digunakan untuk komunikasi serial seperti pada RS-232, RS-422 dan RS-485.
2KB RAM pada memory kerja bersifat volatile (hilang saat daya dimatikan), digunakan oleh variable-variabel di dalam program.
32KB RAM ash memory bersifat non-volatile, digunakan untuk menyimpan program yang dimuat dari komputer. Selain program, ash memory juga menyimpan bootloader.
Bootloader adalah program inisiasi yang ukurannya kecil, dijalankan oleh CPU saat daya dihidupkan. Setelah bootloader selesai dijalankan, berikutnya program di dalam RAM akan dieksekusi.
1KB EEPROM bersifat non-volatile, digunakan untuk menyimpan data yang tidak boleh hilang saat daya dimatikan. Tidak digunakan pada papan Arduino (red: namun bisa diakses/diprogram oleh pemakai dan digunakan sesuai kebutuhan).
Central Processing Unit (CPU), bagian dari microcontroller untuk menjalankan setiap instruksi dari program.
Port input/output, pin-pin untuk menerima data (input) digital atau analog, dan mengeluarkan data (output) digital atau analog.
Setelah mengenal bagian-bagian utama dari microcontroller ATmega sebagai komponen utama,selanjutnya kita akan mengenal bagian-bagian dari papan Arduino itu sendiri. Dengan mengambil contoh sebuah papan Arduino tipe USB, bagian-bagiannya dapat dijelaskan sebagai berikut :
14 pin input/output digital (0-13) Berfungsi sebagai input atau output, dapat diatur oleh program.Khusus untuk 6 buah pin 3, 5, 6, 9, 10 dan 11, dapat juga berfungsi sebagai pin analog output dimana tegangan output-nya dapat diatur. Nilai sebuah pin output analog dapat diprogram antara 0 255, dimana hal itu mewakili nilai tegangan 0 5V.
USB berfungsi untuk memuat program dari komputer ke dalam papan komunikasi serial antara papan dan komputer memberi daya listrik kepada papan.
Sambungan SV1 Sambungan atau jumper untuk memilih sumber daya papan, apakah dari sumber eksternal atau menggunakan USB. Sambungan ini tidak diperlukan lagi pada papan Arduino versi terakhir karena pemilihan sumber daya eksternal atau USB dilakukan secara otomatis.
Q1 Kristal (quartz crystal oscillator)Jika microcontro-ller dianggap sebagai sebuah otak, maka kristal adalah jantungnya karena komponen ini menghasilkan detak-detak yang dikirim kepada microcontroller agar melakukan sebuah operasi untuk setiap detak-nya. Kristal ini dipilih yang berdetak 16 juta kali per detik (16MHz).
Tombol Reset S1 Untuk me-reset papan sehingga program akan mulai lagi dari awal. Perhatikan bahwa tombol reset ini bukan untuk menghapus program atau mengosongkan microcontroller.
In-Circuit Serial Programming (ICSP) Port ICSP memungkinkan pengguna untuk memprogram microcontroller secara langsung, tanpa melalui bootloader. Umumnya pengguna Arduino tidak melakukan ini sehingga ICSP tidak terlalu dipakai walaupun disediakan.
IC 1-Microcontroller Atmega Komponen utama dari papan Arduino, di dalamnya terdapat CPU, ROM dan RAM.
X1-sumber daya eksternal Jika hendak disuplai dengan sumber daya eksternal, papan Arduino dapat diberikan tegangan DC antara 9-12V.
6 pin input analog (0-5) Pin ini sangat berguna untuk membaca tegangan yang dihasilkan oleh sensor analog, seperti sensor suhu. Program dapat membaca nilai sebuah pin input antara 0 1023, dimana hal itu mewakili nilai tegangan 0 5V.
CATATAN : Untuk selanjutnya pembahasan ini akan digunakan papan Arduino yang berbasiskan USB dan papan yang akan dijadikan contoh adalah Arduino Uno. Tanpa melakukan kongurasi apapun, begitu sebuah papan Arduino dikeluarkan dari kotak pembungkusnya ia dapat langsung disambungkan ke sebuah komputer melalui kabel USB. Selain berfungsi sebagai penghubung untuk pertukaran data, kabel USB ini juga akan mengalirkan arus DC 5 Volt kepada papan Arduino sehingga praktis tidak diperlukan sumber daya dari luar. Saat mendapat suplai daya, lampu LED indikator daya pada papan Arduino akan menyala menandakan bahwa ia siap bekerja.
Pada papan Arduino Uno terdapat sebuah LED kecil yang terhubung ke pin digital no 13. LED ini dapat digunakan sebagai output saat seorang pengguna membuat sebuah program dan ia membutuhkan sebuah penanda dari jalannya program tersebut. Ini adalah cara yang praktis saat pengguna melakukan uji coba. Umumnya microcontroller pada papan Arduino telah memuat sebuah program kecil yang akan menyalakan LED tersebut berkedip-kedip dalam jeda satu detik. Jadi sangat mudah untuk menguji apakah sebuah papanArduino baru dalam kondisi baik atau tidak, cukup sambungkan papan itu dengan sebuah komputer dan perhatikan apakah LED indikator daya menyala konstan dan LED dengan pin-13 itu menyala berkedip-kedip.
CATATAN : Setelah mengeluarkan papan Arduino dari kotaknya, harap berhati-hati dengan listrik statis dan hubungan singkat karena bagian bawah papan Arduino tidak ditutup dengan lapisan pelindung. Dianjurkan untuk tidak menyentuh bagian bawah atau kaki-kaki komponennya dengan tangan untuk menghindari bahaya listrik statis dari tubuh Anda. Hatihati juga meletakkan papan Arduino pada meja. Pastikan tidak ada logam atau cairan yang bisa mengakibatkan hubungan pendek yangbisa merusak komponen. Usahakan meletakkan papan Arduino pada alas berbahan plastik yang aman.

2.2.8            Kon gurasi PIN arduino

keterangan gambar :
1.       USB Connector : Untuk menguhubungkan Arduino dengan komputer
2.       melakukan komunikasi serial seperti mengirimkan dan menerima data sensor
3.       melalui serial terminal pada Arduino IDE.
4.       Power Jack: Tegangan input untuk menghidupkan Arduino
5.       IC ATMEGA328p: IC Microcontroler keluaran ATMELdengan boothloader
6.       Arduino UNO.
7.       I/O Digital : Header yang dipergunakan untuk inpit danoutput digital,
8.       Pada pin 3,5,6,9,10,11 memiliki tanda (~) menunjukanbahwa pin tersebut
9.       Selain memiliki fasilitas I/O Digital juga memiliki PWM(Pulse Width Modulation)
10.    Dengan rentang nilai output sebesar 8 bit atau setara dengan nilai antara 0-255.
11.    Input Analog : digunakan untuk input data sensor, potensiometer dan perangkat
12.    Analog input lainya.
13.    Power : digunakan untuk mengambil power 5V, 3.3V,GND.
Pin Arduino lebih lengkap :

2.2.9             Input Output dan Digital arduino

Pada Arduino uno terdapat pin untuk mengakses atau menerima data yang berupa input output analog dan input output digital. Penjelasan untuk keduanya yaitu :
Input Analog
Sinyal analog menjelaskan variabel sik yang bervariasi te-rus menerus yang berhubungan dengan variabel lain. Con-toh dari sinyal analog yaitu intensitas cahaya LED yang dima-na arus yang didalamnya juga meningkat, arus melalui resistor seperti yang kita memvariasikan tegangan, atau suhu di kamar yang berjalan sering dengan berjalannya waktu. Sinyal ana-log dapat mengambil nilai-nilai yang tak terbatas. Sayangnya mikrokontroler tidak dapat mewakili jumlah yang tak terbatas nilainya itu. Jadi yang harus dilakukan ketika ada sinyal ana-log dengan cara sampling dengan cara mengubah sinyal analog tersebut menjadi sinyal digital melalui pin khusus yaitu pin Ana-log ke Digital Konversi (ADC). Ini pada dasarnya berarti bahwa memilih nilai-nilai tertentu di suatu daerah dan kemudian kita menggunakan serangkaian bit untuk mewakili nilai-nilai tersebut saja. Pin analog (ADC) tersebut berfungsi sebagai mengubah sinyal analog yang masuk menjadi nilai digital sehingga mudah diolah dan dapat diukur. Pin analog dapat mengenali sinyal pada rentang nilai voltase tersebut (normal 0 5 Vdc) yang dibandingkan dengan nilai tegangan refrensinya. Hal ini sangat berguna ketika kita hendak mengukur nilai dari suatu sensor yang terpasang serta menggunakan nilai masukan tersebut untuk keperluan lain. Fungsi yang kita gunakan untuk membaca nilai analog pada Arduino adalah analogRead([nomorPin]).
Output Analog
Pada output analog Arduino tidak dapat dihasilkan secara langsung, tetapi harus melewati proses pengubahan output dari digital menjadi analog yang memerlukan fungsi komponen Digital to Analog Converter. Sayangnya pada Arduino fungsi tersebut tidak ada, sehingga memerlukan modul eksternal (modul DAC) sebagai konverter sinyalnya. Tetapi disisi lain, output analog pada Arduino kebanyakan memiliki tur PWM (Pulse Width Modulation). Contoh kasus apabila arduino yang dihubungkan dengan LED ingin mengendalikan intensitas cahaya LED tur ini dapat digunakan. Analog output pada Ardu-ino mengirimkan sinyal analog dengan intensitas yang diten-tukan sesuai kebutuhan. PWM memanipulasi keluaran digital sedemikian rupa sehingga menghasilkan sinyal analog. Ardui-no mengeset output digital ke HIGH dan LOW bergantian de-ngan rentang waktu tertentu untuk setiap nilai keluarannya. Durasi waktu untuk nilai HIGH disebutpulse width atau pan-jang pulsa. Variasi nilai output analog didapatkan dari peru-bahan panjang pulsa yang diberikan pada satu periode waktu dan dilakukan berulang-ulang.
Selain itu pada Arduino uno juga terdapat pin untuk mengakses atau menerima data yang berupa input output digital. Penjelasan yaitu :
Input Digital
Pin pada Arduino, baik pin digital maupun pin analog, dapat digunakan sebagaipin I/O (input Output) digital. Digital berarti sinyal yang akan dikirimkan/diterima berupa nilai 1 atau 0, kondisi on atau o, kondisi HIGH atau LOW, ataupun ada atau tidak ada sinyal. Berbeda dengan sinyal analog yang nilainya bersifat kontinyu, yakni nilai antara 0 dan 1 bernilai dipertimbangkan. Pin digital berarti pin dapat menerima/mengirim sinyal digital. Contoh dari input digital yaitu penggunaan sensor PIR dimana output dari sensor tersebut berupa nilai 1 jika terdeteksi adanya benda bergerak dan nilai 0 jika tidak terdeteksi adanya benda.
Output Digital
Pada output digital sebenarnya hampir sama dengan input digital dikarenakan pada dasarnya sama, hal yang dikirimkan yaitu nilai 1 atau nilai 0. Yang membedakan hanya pada penggunaan fungsi pada saat pemogramannya, kapan saat diset sebagai input maupun output. Format dasar pemograman untuk deklarasi >> pinMode ([pin yang digunakan], [INPUT or OUTPUT]};
2.3         Mikrokontroler
Mikrokontroler adalah sebuah sistem kompuer fungsional dalam sebuah chip. Di dalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil RAM, memori program, atau keduanya), dan perlengkapan input output. Dengan kata lain, mikrokontroler adalah suatu alat elektronika digital yang mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis dan dihapus dengan cara khusus, cara kerja mikrokontroler sebenarnya membaca dan menulis data. Sekedar contoh, bayangkan diri Anda saat mulai belajar membaca dan menulis, ketika Anda sudah bisa melakukan hal itu Anda bisa membaca tulisan apapun baik buku, cerpen, artikel dan sebagainya, dan andapun bisa pula menulis hal-hal sebaliknya. Begitu pula jika Anda sudah mahir membaca dan menulis data maka Anda dapat membuat program untuk membuat suatu sistem pengaturan otomatik menggunakan mikrokontroler sesuai keinginan Anda. Mikrokontroler merupakan komputer didalam chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan esiensi dan efektitas biaya. Secara harahnya bisa disebut pengendali kecil dimana sebuah sistem elektronik yang sebelumnya banyak memerlukan komponen-komponen pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil dan akhirnya terpusat serta dikendalikan oleh mikrokontroler ini. Mikrokonktroler digunakan dalam produk dan alat yang dikendalikan secara automatis, seperti sistem kontrol mesin, remote controls, mesin kantor, peralatan rumah tangga, alat berat, dan mainan. Dengan mengurangi ukuran, biaya, dan konsumsi tenaga dibandingkan dengan mendesain menggunakan mikroprosesor memori, dan alat input output yang terpisah, kehadiran mikrokontroler membuat kontrol elektrik untuk berbagai proses menjadi lebih ekonomis. Dengan penggunaan mikrokontroler ini maka :
Sistem elektronik akan menjadi lebih ringkas
Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar dari sistem adalah perangkat lunak yang mudah dimodikasi
Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang kompak
Agar sebuah mikrokontroler dapat berfungsi, maka mikro-kontroler tersebut memerlukan komponen eksternal yang kemudian disebut dengan sistem minimum. Untuk membuat sistem minimal paling tidak dibutuhkan sistem clock dan reset, wala-upun pada beberapa mikrokontroler sudah menyediakan sistem clock internal, sehingga tanpa rangkaian eksternal pun mikro-kontroler sudah beroperasi. Yang dimaksud dengan sistem mini-mal adalah sebuah rangkaian mikrokontroler yang sudah dapat digunakan untuk menjalankan sebuah aplikasi. Sebuah IC mik-rokontroler tidakakan berarti bila hanya berdiri sendiri. Pada dasarnya sebuah sistem minimal mikrokontroler AVR memiliki prinsip yang sama.

2.3.1          Sejarah Mikrokontroler

Dengan kata lain, mikrokontroler adalah suatu alat elektronika digital yang mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis dan dihapus dengan cara khu-sus, cara kerja mikrokontroler sebenarnya membaca dan menulis data. Sekedar contoh, bayangkan diri Anda saat mulai bela-jar membaca dan menulis, ketika Anda sudah bisa melakukan hal itu Anda bisa membaca tulisan apapun baik buku, cerpen, artikel dan sebagainya, dan Andapun bisa pula menulis hal-hal sebaliknya. Begitu pula jika Anda sudah mahir membaca dan menulis data maka Anda dapat membuat program untuk membuat suatu sistem pengaturan otomatik menggunakan mikrokontroler sesuai keinginan Anda. Mikrokontroler merupakan komputer didalam chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan e siensi dan efektitas biaya. Secara har ahnya bisa disebut pengendali kecil dimana sebuah sistem elektronik yang sebelumnya banyak memerlukan komponen-komponen pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil dan akhirnya terpusat serta dikendalikan oleh mikrokontroler ini.
Mikrokonktroler digunakan dalam produk dan alat yang dikendalikan secara automatis, seperti sistem kontrol mesin, remote controls, mesin kantor, peralatan rumah tangga, alat berat, dan mainan. Dengan mengurangi ukuran, biaya, dan konsumsi tenaga dibandingkan dengan mendesain menggunakan mikroprosesor memori, dan alat input output yang terpisah, kehadiran mikrokontroler membuat kontrol elektrik untuk berbagai proses menjadi lebih ekonomis. Dengan penggunaan mikrokontroler ini maka :
Sistem elektronik akan menjadi lebih ringkas
Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar dari sistem adalah perangkat lunak yang mudah dimodikasi
Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang kompak
Namun demikian tidak sepenuhnya mikrokontroler bisa mereduksi komponen IC TTL dan CMOS yang seringkali masih diperlukan untuk aplikasi kecepatan tinggi atau sekedar menambah jumlah saluran masukan dan keluaran (I/O). Dengan kata lain, mikrokontroler adalah versi mini atau mikro dari sebuah komputer karena mikrokontroler sudah mengandung beberapa periferal yang langsung bisa dimanfaatkan, misalnya port paralel, port serial, komparator, konversi digital ke analog (DAC), konversi analog ke digital dan sebagainya hanya menggunakan sistem minimum yang tidak rumit atau kompleks.
Agar sebuah mikrokontroler dapat berfungsi, maka mikrokontroler tersebut memerlukan komponen eksternal yang kemudian disebut dengan sistem minimum. Untuk membuat sistem minimal paling tidak dibutuhkan sistem clock dan reset, walaupun pada beberapa mikrokontroler sudah menyediakan sistem clock internal, sehingga tanpa rangkaian eksternal pun mikrokontroler sudah beroperasi.
Untuk merancang sebuah sistem berbasis mikrokontroler, kita memerlukan perangkat keras dan perangkat lunak, yaitu:
1.     Sistem minimal mikrokontroler
2.     Software pemrograman dan kompiler, serta downloader
Yang dimaksud dengan sistem minimal adalah sebuah rangkaian mikrokontroler yang sudah dapat digunakan untuk men-jalankan sebuah aplikasi. Sebuah IC mikrokontroler tidakakan berarti bila hanya berdiri sendiri. Pada dasarnya sebuah sistem minimal mikrokontroler AVR memiliki prinsip yang sama, yang terdiri dari 4 bagian, yaitu :
1.         Prosesor, yaitu mikrokontroler itu sendiri
2.         Rangkaian reset agar mikrokontroler dapat menjalankanprogram mulai dari awal
3.         Rangkaian clock, yang digunakan untuk memberi detakpada CPU
4.         Rangkaian catu daya, yang digunakan untuk memberi sumberdaya
Pada mikrokontroler jenis2 tertentu (AVR misalnya), poin2 pada no 2 ,3 sudah tersedia didalam mikrokontroler tersebut dengan frekuensi yang sudah diseting dari vendornya (biasanya 1MHz,2MHz,4MHz,8MHz), sehingga pengguna tidak perlu memerlukan rangkaian tambahan, namun bila ingin merancang sistem dengan spesikasi tertentu (misal ingin komunikasi dengan PC atau handphone), maka pengguna harus menggunakan rangkaian clock yang sesuai dengan karakteristik PC atau HP tersebut, biasanya menggunakan kristal 11,0592 MHz, untuk menghasilkan komunikasi yang sesuai dengan baud rate PC atau HP tersebut.
Mikrokontroler pertama kali dikenalkan oleh Texas Instrument dengan seri TMS 1000 pada tahun 1974 yang merupakan mikrokontroler 4 bit pertama. Mikrokontroler ini mulai dibuat sejak 1971. Merupakan mikrokomputer dalam sebuah chip, lengkap dengan RAM dan ROM. Kemudian, pada tahun 1976 Intel mengeluarkan mikrokontroler yang kelak menjadi populer dengan nama 8748 yang merupakan mikrokontroler 8 bit, yang merupakan mikrokontroler dari keluarga MCS 48. Sekarang di pasaran banyak sekali ditemui mikrokontroler mulai dari 8 bit sampai dengan 64 bit, sehingga perbedaan antara mikrokontroler dan mikroprosesor sangat tipis. Masing2 vendor mengeluarkan mikrokontroler dengan dilengkapi fasilitas2 yang cenderung memudahkan user untuk merancang sebuah sistem dengan komponen luar yang relatif lebih sedikit.
Saat ini mikrokontroler yang banyak beredar dipasaran adalah mikrokontroler 8 bit varian keluarga MCS51(CISC) yang dikeluarkan oleh Atmel dengan seri AT89Sxx, dan mikrokontroler AVR yang merupakan mikrokontroler RISC dengan seri ATMEGA8535 (walaupun varian dari mikrokontroler AVR sangatlah banyak, dengan masing-masing memiliki tur yang berbeda-beda). Dengan mikrokontroler tersebut pengguna (pemula) sudah bisa membuat sebuah sistem untuk keperluan sehari-hari, seperti pengendali peralatan rumah tangga jarak jauh yang menggunakan remote control televisi, radio frekuensi, maupun menggunakan ponsel, membuat jam digital, termometer digital dan sebagainya.
Kelebihan utama dari mikrokontroler ialah tersedianya RAM dan peralatan I/O pendukung sehingga ukuran board mikrokontroler menjadi sangat ringkas. Mikrokontroler MCS51 ialah mikrokomputer CMOS 8 bit dengan 4 KB Flash PEROM (Programmable and Erasable Only Memory) yang dapat dihapus dan ditulisi sebanyak 1000 kali. Mikrokontroler ini diproduksi dengan menggunakan teknologi high density non-volatile memory. Flash PEROM on-chip tersebut memungkinkan memori program untuk diprogram ulang dalam sistem (in-system programming) atau dengan menggunakan programmer non-volatile memory konvensional. Kombinasi CPU 8 bit serba guna dan Flash PEROM, menjadikan mikrokontroler MCS51 menjadi microcomputer handal yang eksibel.
Bentuk Fisik Mikrokontroler Keluarga MCS51 40 Pin
Arsitektur perangkat keras mikrokontroler MCS51 mempunyai 40 kaki, 32 kaki digunakan untuk keperluan 4 buah port pararel. 1 port terdiri dari 8 kaki yang dapat di hubungkan untuk interfacing ke pararel device, seperti ADC, sensor dan sebagainya, atau dapat juga digunakan secara sendiri setiap bitnya untuk interfacing single bit septerti switch, LED, dll. Karakteristik lainya dari mikrokontroler MCS51 sebagai berikut :
Low-power
32 jalur masukan/keluaran yang dapat diprogram
Dua timer counter
16 bit RAM 128 byte
Lima interrupt
Tidak seperti sistem komputer, yang mampu menanganiberbagai macam program aplikasi (misalnya pengolah kata, pengolah angkadan lain sebagainya), mikrokontroler hanya bisa digunakan untuk suatu aplikasi tertentu saja (hanya satu program saja yang bisa disimpan). Perbedaan lainnya terletak pada perbandingan RAM dan ROM. Pada sistem komputer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relatif besar, sedangkan rutin-rutin antarmuka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada Mikrokontroler, perbandingan ROM dan RAM-nya yang besar, artinya program kontrol disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpan sementara, termasuk registerregister yang digunakan pada mikrokontroler yang bersangkutan.
Kelebihan Sistem Dengan Mikrokontroler
Penggerak pada mikrokontoler menggunakan bahasa pemograman assembly dengan berpatokan pada kaidah digital dasar sehingga pengoperasian sistem menjadi sangat mudah dikerjakan sesuai dengan logika sistem (bahasa assembly ini mudah dimengerti karena menggunakan bahasa assembly aplikasi dimana parameter input dan output langsung bisa diakses tanpa menggunakan banyak perintah). Desain bahasa assembly ini tidak menggunakan begitu banyak syarat penulisan bahasa pemrograman seperti huruf besar dan huruf kecil untuk bahasa assembly tetap diwajarkan.
Mikrokontroler tersusun dalam satu chip dimana prosesor, memori, dan I/O terintegrasi menjadi satu kesatuan kontrol sistem sehingga mikrokontroler dapat dikatakan sebagai komputer mini yang dapat bekerja secara inovatif sesuai dengan kebutuhan sistem.
Sistem running bersifat berdiri sendiri tanpa tergantung dengan komputer sedangkan parameter komputer hanya digunakan untuk download perintah instruksi atau program. Langkah-langkah untuk download komputer dengan mikrokontroler sangat mudah digunakan karena tidak menggunakan banyak perintah.
Pada mikrokontroler tersedia fasilitas tambahan untuk pengembangan memori dan I/O yang disesuaikan dengan kebutuhan sistem.
Harga untuk memperoleh alat ini lebih murah dan mudah didapat.

2.3.2          Mengakses Mikrokontroler

Agar sebuah mikrokontroler dapat berfungsi, maka mikrokontroler tersebut memerlukan komponen eksternal yang kemudian disebut dengan sistem minimum. Untuk membuat sistem minimal paling tidak dibutuhkan sistem clock dan reset, walaupun pada beberapa mikrokontroler sudah menyediakan sistem clock internal, sehingga tanpa rangkaian eksternal pun mikrokontroler sudah beroperasi.
Untuk merancang sebuah sistem berbasis mikrokontroler, kita memerlukan perangkat keras dan perangkat lunak, yaitu:
Sistem minimal mikrokontroler.
Software pemrograman dan kompiler, serta downloader.
Yang dimaksud dengan sistem minimal adalah sebuah rangkaian mikrokontroler yang sudah dapat digunakan untuk menjalankan sebuah aplikasi. Sebuah IC mikrokontroler tidakakan berarti bila hanya berdiri sendiri. Pada dasarnya sebuah sistem minimal mikrokontroler AVR memiliki prinsip yang sama, yang terdiri dari 4 bagian, yaitu :
Prosesor, yaitu mikrokontroler itu sendiri.
Rangkaian reset agar mikrokontroler dapat menjalankan program mulai dari awal.
Rangkaian clock, yang digunakan untuk memberi detak pada CPU.
Rangkaian catu daya, yang digunakan untuk memberi sumberdaya.
Sistem Polling dan InterupsiPolling sebenarnya bukan suatu tur , ini adalah sesuatau yang harus dilakukan jika mikrokontroler yang dipilih tidak memiliki interupsi. Polling adalah teknik perangkat lunak dimana kontroler secara terus menerus menanyakan suatu perangkat jika membutuhkan servis.Perangkat membuat suatu tanda ketika data siap untuk ditransfer ke kontroler, dimana kontroler akan melihat pool berikutnya. Beberapa perangkat dapat dipolled dengan sukses, dengan kontroler yang meloncat kepada rutin program yang lain, tergantung pada ag mana yang telah diset.
Dasar dari polling adalah setiap fungsi memakai tipe roundrobin untuk menanyakan ketika mereka dalam keadaan yang membutuhkan sebuah servis, kita dapat membuat mereka (prosedure/fungsi) memanggil fungsi mereka sendiri ketika prosedure tersebut membutuhkan penanganan lain. Ini disebut dengan interupt, ketika perangkat menginterupsi eksekusi program utama. Prosesor lalu akan mengambil waktu untuk keluar dari eksekusi program normal untuk menguji source interrupt dan mengambil aksi tertentu. Setelah itu, eksekusi program normal dilanjutkan. Sebuah servis interrupt dengan kata lain seperti sebuah sub-rutin, untuk melakukan perintah lain yang sebelumnya tidak dijalankan sehingga dapat diantisipasi oleh prosesor untuk menyesuaikan sebagian waktu, untuk mengeksekusi perintah baru dan menghentikan program utama yang kemudian dijalankan kembali jika tidak ada pemanggilan prosedur lain pada badan program.
Pemakaian prioritas interupsi di atas memiliki beberapa peraturan yang tercantum dibawah ini:
1.    Tidak ada interupsi yang menginterupsi interupsi prioritastinggi.
2.    Interupsi prioritas tinggi boleh menginterupsi interupsiprioritas rendah.
3.    Interupsi prioritas rendah boleh terjadi jika tidak ada interupsi lain yang sedang dijalankan.
4.    Jika dua interupsi terjadi pada waktu bersamaan, interupsi yang memiliki prioritas lebih tinggi akan dikerjakan terlebih dahulu. Jika keduanya memiliki prioritas sama, maka interupsi yang berada pada urutan polling akan dikerjakan terlebih dahulu.
Mikrokontroler ATMEL secara otomatis akan menguji apakah sebuah interupsi bias terjadi setelah setiap instruksi dikerjakan. Pengecekan ini mengikuti suatu alur yang disebut dengan Polling Sequence dengan urutan:
Interupsi Eksternal 0
Interupsi Timer 0
Interupsi Eksternal 1
Interupsi Timer 1
Interupsi serial
Ini berarti jika sebuah interupsi serial terjadi pada waktu bersamaan dengan interupsi eksternal 0, maka interupsi eksternal 0 akan dikerjakan terlebih dahulu dan interupsi serial baru akan dikerjakan setelah pengerjaan rutin interupsi eksternal 0 selesai dilakukan

2.3.3           Fitur AVR ATMega328

ATMega328 adalah mikrokontroller keluaran dari atmel yang mempunyai arsitektur RISC (Reduce Instruction Set Computer) yang dimana setiap proses eksekusi data lebih cepat dari pada arsitektur CISC (Completed Instruction Set Computer). Mikrokontroller ini memiliki beberapa tur antara lain :
130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus clock.
32 x 8-bit register serba guna.
Kecepatan mencapai 16 MIPS dengan clock 16 MHz.
32 KB Flash memory dan pada arduino memiliki bootloader yang menggunakan 2 KB dari ash memori sebagai bootloader.
Memiliki EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 1KB sebagai tempat penyimpanan data semi permanent karena EEPROM tetap dapat menyimpan data meskipun catu daya dimatikan.
Memiliki SRAM (Static Random Access Memory) sebesar 2KB.
Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya PWM (Pulse Width Modulation) output.
Mikrokontroller ATmega 328 memiliki arsitektur Harvard, ya-itu memisahkan memori untuk kode program dan memori un-tuk data sehingga dapat memaksimalkan kerja dan parallelism. Instruksi instruksi dalam memori program dieksekusi dalam satu alur tunggal, dimana pada saat satu instruksi dikerjakan in-struksi berikutnya sudah diambil dari memori program. Konsep inilah yang memungkinkan instruksi instruksi dapat diekseku-si dalam setiap satu siklus clock. 32 x 8-bit register serba guna digunakan untuk mendukung operasi pada ALU ( Arithmatic Logic unit ) yang dapat dilakukan dalam satu siklus. 6 dari register serbaguna ini dapat digunakan sebagai 3 buah register pointer 16-bit pada mode pengalamatan tidak langsung untuk mengambil data pada ruang memori data. Ketiga register po-inter 16-bit ini disebut dengan register X ( gabungan R26 dan R27 ), register Y ( gabungan R28 dan R29 ), dan register Z ( gabungan R30 dan R31 ). Hampir semua instruksi AVR memi-liki format 16-bit. Setiap alamat memori program terdiri dari instruksi 16-bit atau 32-bit. Selain register serba guna di atas, terdapat register lain yang terpetakan dengan teknik memory mapped I/O selebar 64 byte. Beberapa register ini digunakan untuk fungsi khusus antara lain sebagai register control Timer/ Counter, Interupsi, ADC, USART, SPI, EEPROM, dan fungsi I/O lainnya. Register register ini menempati memori pada alamat 0x20h 0x5Fh.
Berikut ini adalah tampilan architecture ATmega 328 :
2.4        Resistor
Resistor adalah komponen dasar elektronika yang digunakan untuk membatasi jumlah arus yang mengalir dalam satu rangkaian. Sesuai dengan namanya resistor bersifat resistif dan umumnya terbuat dari bahan karbon . Dari hukum Ohms diketahui, resistansi berbanding terbalik dengan jumlah arus yang mengalir melaluinya. Satuan resistansi dari suatu resistor disebut Ohm atau dilambangkan dengan simbol W (Omega). Tipe resistor yang umum adalah berbentuk tabung dengan dua kaki tembaga di kiri dan kanan. Pada badannya terdapat lingkaran memben-tuk gelang kode warna untuk memudahkan pemakai mengenali besar resistansi tanpa mengukur besarnya dengan Ohmmeter. Kode warna tersebut adalah standar manufaktur yang dikelu-arkan oleh EIA (Electronic Industries Association) seperti yang ditunjukkan pada tabel berikut. Waktu penulis masuk pendaf-taran kuliah elektro, ada satu test yang harus dipenuhi yaitu diharuskan tidak buta warna. Belakangan baru diketahui bah-wa mahasiswa elektro wajib untuk bisa membaca warna gelang resistor (barangkali). Resistansi dibaca dari warna gelang yang paling depan ke arah gelang toleransi berwarna coklat, merah, emas atau perak. Biasanya warna gelang toleransi ini berada pada badan resistor yang paling pojok atau juga dengan lebar yang lebih menonjol, sedangkan warna gelang yang pertama agak sedikit ke dalam. Dengan demikian pemakai sudah langsung mengetahui berapa toleransi dari resistor tersebut. Kalau anda telah bisa menen-tukan mana gelang yang pertama selanjutnya adalah membaca nilai resistansinya. Jumlah gelang yang melingkar pada resistor umumnya sesuai dengan besar toleransinya. Biasanya resistor dengan toleransi 5%, 10% atau 20% memiliki 3 gelang (tidak termasuk gelang toleransi). Tetapi resistor dengan toleransi 1% atau 2% (toleransi kecil) memiliki 4 gelang (tidak termasuk ge-lang toleransi).
Gelang pertama dan seterusnya berturut-turut menunjukkan besar nilai satuan, dan gelang terakhir adalah fak-tor pengalinya. Misalnya resistor dengan gelang kuning, violet, merah dan emas. Gelang berwarna emas adalah gelang tole-ransi. Dengan demikian urutan warna gelang resitor ini adalah, gelang pertama berwarna kuning, gelang kedua berwana violet dan gelang ke tiga berwarna merah. Gelang ke empat tentu saja yang berwarna emas dan ini adalah gelang toleransi. Dari tabel-1 diketahui jika gelang toleransi berwarna emas, berarti resitor ini memiliki toleransi 5%. Nilai resistansisnya dihitung sesuai dengan urutan warnanya. Pertama yang dilakukan ada-lah menentukan nilai satuan dari resistor ini. Karena resitor ini resistor 5% (yang biasanya memiliki tiga gelang selain gelang to-leransi), maka nilai satuannya ditentukan oleh gelang pertama dan gelang kedua. Masih dari tabel-1 diketahui gelang kuning nilainya = 4 dan gelang violet nilainya = 7. Jadi gelang perta-ma dan kedua atau kuning dan violet berurutan, nilai satuannya adalah 47. Gelang ketiga adalah faktor pengali, dan jika warna gelangnya merah berarti faktor pengalinya adalah 100. Sehingga dengan ini diketahui nilai resistansi resistor tersebut adalah nilai satuan x faktor pengali atau 47 x 100 = 4.7K Ohm dan toleransinya adalah 5%. Spesikasi lain yang perlu diperhatikan dalam memilih resitor pada suatu rancangan selain besar resistansi adalah besar watt-nya. Karena resistor bekerja dengan dialiriarus listrik, maka akan terjadi disipasi daya berupa panas sebesar W=I2R watt. Semakin besar ukuran sik suatu resistor bisa menunjukkan semakin besar kemampuan disipasi daya resistor tersebut. Umumnya di pasar tersedia ukuran 1/8, 1/4, 1, 2, 5, 10 dan 20 watt. Resistor yang memiliki disipasi daya 5, 10 dan 20 watt umumnya berbentuk kubik memanjang persegi empat berwarna putih, namun ada juga yang berbentuk silinder. Tetapi biasanya untuk resistor ukuran jumbo ini nilai resistansi dicetak langsung dibadannya, misalnya 100W5W.
2.5        Kapasitor
Kondensator atau sering disebut sebagai kapasitor adalah suatu alat yang dapat menyimpan energi di dalam medan listrik, dengan cara mengumpulkan ketidakseimbangan internal dari muatan listrik. Kondensator memiliki satuan yang disebut Farad dari nama Michael Faraday. Kondensator juga dikenal sebagai "kapasitor", namun kata "kondensator" masih dipakai hingga saat ini. Pertama disebut oleh Alessandro Volta seorang ilmuwan Italia pada tahun 1782 (dari bahasa Itali condensatore), berkenaan dengan kemampuan alat untuk menyimpan suatu muatan listrik yang tinggi dibanding komponen lainnya. Kebanyakan bahasa dan negara yang tidak menggunakan bahasa Inggris masih mengacu pada perkataan bahasa Italia "condensatore", bahasa Perancis condensateur, Indonesia dan Jerman Kondensator atau Spanyol Condensador.

2.5.1              Prinsip dasar dan spesi kasi elektriknya

Kapasitor adalah komponen elektronika yang dapat menyimpan muatan listrik. Struktur sebuah kapasitor terbuat dari 2 buah plat metal yang dipisahkan oleh suatu bahan dielektrik. Bahan-bahan dielektrik yang umum dikenal misalnya udara vakum, keramik, gelas dan lain-lain. Jika kedua ujung plat metal diberi tegangan listrik, maka muatan-muatan positif akan mengumpul pada salah satu kaki (elektroda) metalnya dan pada saat yang sama muatan-muatan negatif terkumpul pada ujung metal yang satu lagi. Muatan positif tidak dapat mengalir menuju ujung kutup negatif dan sebaliknya muatan negatif tidak bisa menuju ke ujung kutup positif, karena terpisah oleh bahan dielektrik yang non-konduktif. Muatan elektrik ini "tersimpan" selama tidak ada konduksi pada ujung-ujung kakinya. Di alam bebas, phenomena kapasitor ini terjadi pada saat terkumpulnya muatan-muatan positif dan negatif di awan.

2.5.2        Kapasitansi

Kapasitansi didefenisikan sebagai kemampuan dari suatu kapasitor untuk dapat menampung muatan elektron. Coulombs pada abad 18 menghitung bahwa 1 coulomb = 6.25 x 1018 elektron. Kemudian Michael Faraday membuat postulat bahwa sebuah kapasitor akan memiliki kapasitansi sebesar 1 farad jika dengan tegangan 1 volt dapat memuat muatan elektron sebanyak 1 coulombs. Dengan rumus dapat ditulis :
Q = CV ................(1)
Q = muatan elektron dalam C (coulombs)
C = nilai kapasitansi dalam F (farads)
V = besar tegangan dalam V (volt)
Dalam praktek pembuatan kapasitor, kapasitansi dihitung dengan mengetahui luas area plat metal (A), jarak (t) antara kedua plat metal (tebal dielektrik) dan konstanta (k) bahan dielektrik. Dengan rumusan dapat ditulis sebagai berikut : C = (8.85 x 10-12) (k A/t) ...(2) Berikut adalah tabel contoh konstanta (k) dari beberapa bahan dielektrik yang disederhanakan.
Untuk rangkain elektronik praktis, satuan farads adalah sangat besar sekali. Umumnya kapasitor yang ada di pasar memiliki satuan uF (10-6 F), nF (10-9 F) dan pF (10-12 F). Konversi satuan penting diketahui untuk memudahkan membaca besaran sebuah kapasitor. Misalnya 0.047uF dapat juga dibaca sebagai 47nF, atau contoh lain 0.1nF sama dengan 100p.
2.6        Transistor
Pengertian Transistor adalah komponen elektronika semikonduktor yang memiliki 3 kaki elektroda, yaitu Basis (Dasar), Kolektor (Pengumpul) dan Emitor (Pemancar). Komponen ini berfungsi sebagai penguat, pemutus dan penyambung (switching), stabilitasi tegangan, modulasi sinyal dan masih banyak lagi fungsi lainnya. Selain itu, transistor juga dapat digunakan sebagai kran listrik sehingga dapat mengalirkan listrik dengan sangat akurat dan sumber listriknya. Transistor sebenarnya berasal da-ri kata transfer yang berarti pemindahan dan resistor yang berarti penghambat. Dari kedua kata tersebut dapat kita simpulkan, pengertian Transistor adalah pemindahan atau peralihan bahan setengah penghantar menjadi suhu tertentu. Transistor pertama kali ditemukan pada tahun 1948 oleh William Shockley, John Barden dan W.H, Brattain. Tetapi, komponen ini mulai digunakan pada tahun 1958. Jenis Transistor terbagi menjadi 2, yaitu transistor tipe P-N-P dan transistor N-P-N.

2.6.1          Cara Kerja Transistor

Hampir sama dengan resistor yang mempunyai tipe dasar modern. Tipe dasar modern terbagi menjadi 2, yaitu Bipolar Junction Transistor atau biasa di singkat BJT dan Field Eect Transistor atau FET. BJT dapat bekerja bedasarkan arus in-putnya, sedangkan FET bekerja berdasarkan tegangan input-nya. Dalam dunia elektronika modern, transistor merupakan komponen yang sangat penting terutama dalam rangkaian ana-log karena fungsinya sebagai penguat. Rangkaian analog terdiri dari pengeras suara, sumber listrik stabil dan penguat sinyal ra-dio. Tidak hanya rangkaian analog, di dalam rangkaian digital juga terdapat transistor yang digunakan sebagai saklar dengan kecepatan tinggi. Beberapa transistor juga dapat di rangkai sehingga berfungsi sebagai logic gate.

2.6.2          Jenis-jenis transistor

Transistor mempunyai 3 jenis yaitu :
1.   Uni Junktion Transistor (UJT)
Uni Junktion Transistor (UJT) adalah transistor yang mempunyai satu kaki emitor dan dua basis. Kegunaan transistor ini adalah terutama untuk switch elektronis. Ada Dua jenis UJT ialah UJT Kanal N dan UJT Kanal P.
2.   Field Eect Transistor (FET)
Beberapa Kelebihan FET dibandingkan dengan transistor biasa ialah antara lain penguatannya yang besar, serta desah yang rendah. Karena harga FET yang lebih tinggi dari transistor, maka hanya digunakan pada bagian-bagian yang memang memerlukan. Bentuk sik FET ada berbagai macam yang mirip dengan transistor.
Jenis FET ada dua yaitu Kanal N dan Kanal P. Kecuali itu terdapat pula macam FET ialah Junktion FET (JFET) dan Metal Oxide Semiconductor FET (MOSFET).
3.   MOSFET
Bentuk Fisik Mosfet
MOSFET (Metal Oxide Semiconductor FET) adalah suatu jenis FET yang mempunyai satu Drain, satu Source dan satu atau dua Gate. MOSFET mempunyai input impedance yang sangat tinggi. Mengingat harga yang cukup tinggi, maka MOSFET hanya digunakan pada bagian bagian yang benar-benar memerlukannya. Penggunaannya misalnya sebagai RF amplier pada receiver untuk memperoleh amplikasi yang tinggi dengan desah yang rendah.
Simbol Mosfet
Dalam pengemasan dan perakitan dengan menggunakan MOSFET perlu diperhatiakan bahwa komponen ini tidak tahan terhadap elektrostatik, mengemasnya menggunakan kertas timah, pematriannya menggunakan jenis solder yang khusus untuk pematrian MOSFET. Seperti halnya pada FET, terdapat dua macam MOSFET ialah Kanal P dan Kanal N.

2.6.3         Fungsi Transistor

Sangat berpengaruh besar di dalam kinerja rangkaian elektronika. Karena di dalam sirkuit elektronik, komponen transistor berfungsi sebagai jangkar rangkaian. Transistor adalah komponen semi konduktor yang memiliki 3 kaki elektroda, yaitu Basis (B), Colector (C) dan Emitor (E). Dengan adanya 3 kaki elektroda tersebut, tegangan atau arus yang mengalir pada satu kaki akan mengatur arus yang lebih besar untuk melalui 2 terminal lainnya.
Sebagai penguat ampli er.
Sebagai pemutus dan penyambung (switching).
Sebagai pengatur stabilitas tegangan.
Sebagai peratas arus.
Dapat menahan sebagian arus yang mengalir.
Menguatkan arus dalam rangkaian.
Sebagai pembangkit frekuensi rendah ataupun tinggi.
Jika dilihat dari susuan semi konduktor, Transistor dibedakan lagi menjadi 2 bagian, yaitu Transistor PNP dan Transistor NPN. Untuk dapat membedakan kedua jenis tersebut, dapat kita lihat dari bentuk arah panah yang terdapat pada kaki emitornya. Pada transistor PNP arah panah akan mengarah ke dalam, sedangkan pada transistor NPN arah panahnya akan mengarah ke luar. Saat ini transistor telah mengalami banyak perkembangan, karena sekarang ini transistor sudah dapat kita gunakan sebagai memory dan dapat memproses sebuah getaran listrik dalam dunia prosesor komputer. Dengan berkembangnya fungsi transistor, bentuk dari transistor juga telah banyak mengalami perubahan. Salah satunya telah berhasil diciptakan transistor dengan ukuran super kecil yang hanya dalam ukuran nano mikron (transistor yang sudah dikemas di dalam prosesor komputer). Karena bentuk jelajah tegangan kerja dan frekuensi yang sangat besar dan lebar, tidak heran komponen ini banyak digunakan didalam rangkaian elektornika. Contohnya adalah transistor pada rangkaian analog yang digunakan sebagai amplier, switch, stabilitas tegangan dan lain sebagainya. Tidak hanya di rangkaian analog, pada rangkaian digital juga terdapat transistor yang berfungsi sebagai saklar karena memiliki kecepatan tinggi dan dapat memproses data dengan sangat akurat.
2.7            IC (Integrated Circuit)
IC atau integrated circuit adalah salah satu komponen elektronika aktif yang merupakan gabungan dari ratusan bahkan ribuan komponen elektronika seperti transistor, resistor, dioda, dan juga kapasitor. Jadi dalam komponen ini tersimpan berbagai jenis komponen tersebut dalam bentuk yang lebih compact. Dalam IC, komponen-komponen seperti transistor, resistor, dioda, dan juga kapasitor tersebut diintegrasikan menjadi satu kesatuan rangkaian dalam kemasan yang lebih kecil. Mayoritas IC dibuat dengan menggunakan bahan semikonduktor berupa silicon. Dalam bahasa Indonesia, komponen IC juga kerap disebut dengan nama sirkuit terpadu. Perlu diketahui bahwa komponen IC sangat bermacam-macam dan memiliki fungsi yang berbeda-beda satu sama lain. Bentuk IC pun juga sangat bermacam-macam, mulai dari yang mirip transistor, single in line, dual line, sampai dengan persegi seperti prosesor komputer. Selain itu IC juga bisa diklasikasikan menjadi beberapa bagian lagi. IC dapat dibedakan menjadi 2, yakni IC monolitik dan juga IC hybrid. IC monolitik adalah jenis IC yang berdiri sendiri mengatur satu blok rangkaian tanpa bergabung dengan IC lainnya. Sedangkan IC hybrid adalah jenis IC yang terdiri dari beberapa IC yang bergabung menjadi satu dalam sebuah blok PCB.

2.7.1    Aplikasi dan Fungsi IC (Integrated Circuit)

Seperti yang telah dikatakan tadi bahwa fungsi dari komponen IC sangatlah bermacam-macam tergantung komponen penyusunnya. Namun jika dilihat dari fungsinya, IC dapat diklasikasikan menjadi 2 jenis, yakni IC linier dan IC digital. Berikut adalah beberapa fungsi dari IC linier dan IC digital. Berdasarkan Aplikasi dan Fungsinya, IC (Integrated Circuit) dapat dibedakan menjadi IC Linear, IC Digital dan juga gabungan dari keduanya.
1. IC Linear
IC Linear atau disebut juga dengan IC Analog adalah IC yang pada umumnya berfungsi sebagai :
Penguat Daya (Power Amplier)
Penguat Sinyal (Signal Amplier)
Penguat Operasional (Operational Amplier / Op Amp) Penguat Sinyal Mikro (Microwave Amplier)
Penguat RF dan IF (RF and IF Amplier)
Voltage Comparator
Multiplier
Penerima Frekuensi Radio (Radio Receiver)
Regulator Tegangan (Voltage Regulator)
2. IC Digital
IC Digital pada dasarnya adalah rangkaian switching yang tegangan Input dan Outputnya hanya memiliki 2 (dua) level yaitu Tinggi dan Rendah atau dalam kode binary dilambangkan dengan 1 dan 0. IC Digital pada umumnya berfungsi sebagai :
Flip- op
Gerbang Logika (Logic Gates)
Timer
Counter
Multiplexer
Calculator
Memory
Clock
Microprocessor (Mikroprosesor)
Microcontroller
Hal yang perlu dingat bahwa IC (Integrated circuit) merupak-an Komponen Elektronika Aktif yang sensitif terhadap penga-ruh Electrostatic Discharge (ESD). Jadi, diperlukan penangan-an khusus untuk mencegah terjadinya kerusakan pada IC terse-but.

2.7.2 Kelebihan dan Keterbatasan IC (Integrated Circuit)

Integrated Circuit (IC) atau Sirkuit Terpadu merupakan Komponen penting dalam setiap Peralatan Elektronika. Hampir setiap peralatan Elektronika menggunakannya. Pada Zaman sekarang, peralatan Elektronika yang canggih seperti Handphone, Komputer, Audio/Video Player, Televisi, Kamera Digital, Konsol Game dan Tablet PC sudah tidak lepas dari penggunaan IC (Integrated Circuit) sebagai Komponen Utamanya. Meskipun memiliki banyak kelebihan dan memegang peranan yang sa-ngat penting dalam perkembangan Teknologi dan industri Elek-tronika, Integrated Circuit atau IC juga memiliki berbagai keter-batasan ataupun kelemahan yang tentunya memerlukan Kom-ponen Elektronika lainnya sebagai pendukung agar Rangkaian yang dirancang tersebut memenuhi kebutuhan dan fungsi yang diinginkan. Sebagai salah satu contohnya, Integrated Circuit (IC) merupakan komponen Elektronika yang hanya dapat ber-operasi di tegangan yang rendah (misalnya 5V ataupun 12V).
Oleh karena itu, jika sumber tegangannya lebih tinggi daripada yang ditentukan, maka diperlukan Adaptor ataupun rangkaian khusus untuk menurunkan tegangan dan arus listriknya. Pada umumnya, kita dapat menemukan Adaptor sebagai penurun te-gangan pada Laptop ataupun Handphone, Power supply yang mengkonversikan tegangan 220V agar dapat menyediakan sum-ber tegangan 5V untuk Motherboard dan Processor Komputer. Disamping itu, kita juga dapat menemukan banyak komponen Elektronika pendukung lainnya disekitar Komponen IC (Inte-grated Circuit) yang salah satu fungsinya adalah untuk mem-berikan sumber tegangan dan arus yang cocok untuk mengope-rasikan IC. Berikut ini adalah beberapa Kelebihan dan keterba-tasan Integrated Circuit atau IC : Keunggulan (Integrated Circuit)
1.    Berukuran Kecil.
2.    Lebih Ringan.
3.    Harga lebih murah karena dapat diproduksi dalam jumlahyang banyak dan serentak dalam 1 (satu) wafer.
4.    Lebih handal karena tidak memerlukan hubungan solderdan interkoneksi yang sangat sedikit di dalam Internal komponen IC.
5.    Mengkonsumsi daya listrik yang lebih kecil, hal ini dikarenakan ukuran IC yang kecil sehingga pemakaian daya listrik pun lebih kecil.
6.    Lebih mudah diganti dan troubleshooting (perbaikan) jikaterjadi kerusakan pada rangkaian Elektronika.
7.    Cocok untuk operasi sinyal rendah.
8.    Dapat melakukan fungsi yang lebih kompleks dan rumit.
Kelemahan (Integrated Circuit)
1.    Tidak dapat menghasilkan daya yang tinggi.
2.    Hanya dapat beroperasi di tegangan rendah.
3.    Memerlukan penanganan yang lebih hati-hati, IC tidaktahan terhadap penanganan yang kasar serta sangat sensitif dengan Electrostatic Discharge (ESD).
4.    Tidak tahan terhadap Suhu yang tinggi. Oleh karena itu,memerlukan ventilasi ataupun kipas dan Heatsink untuk membantu menurunkan suhu di sekitar IC.
5.    Tidak tahan terhadap tegangan tinggi yang berlebihan(Toleransi Tegangan sangat kecil dan terbatas) karena dapat merusak komponen internal IC. Untuk mengetahui Karakteristik ataupun tegangan IC yang cocok, diperlukan Datasheet dari Produsen IC dalam merancang (design) Rangkaian Elektronika.
6.    Memerlukan koneksi luar ke komponen Induktor dan Transformator (Trafo) untuk melakukan fungsi-fungsi yang berkaitan dengan Induksi dan Elektromagnetik. Hal ini dikarenakan Teknologi IC saat ini belum memungkinkan untuk meng-integrasi-kan Induktor dan Transformator ke dalam Internal IC.
7.    Memerlukan koneksi luar ke komponen Kapasitor untuknilai kapasitansi yang lebih dari 30pF.
2.8         Pushbutton
Push button switch (saklar tombol tekan) adalah perangkat / saklar sederhana yang berfungsi untuk menghubungkan atau memutuskan aliran arus listrik dengan sistem kerja tekan unlock (tidak mengunci). Sistem kerja unlock disini berarti saklar akan bekerja sebagai device penghubung atau pemutus aliran arus listrik saat tombol ditekan, dan saat tombol tidak ditekan (dilepas), maka saklar akan kembali pada kondisi normal.
Sebagai device penghubung atau pemutus, push button switch hanya memiliki 2 kondisi, yaitu On dan O (1 dan 0). Istilah On dan O ini menjadi sangat penting karena semua perangkat listrik yang memerlukan sumber energi listrik pasti membutuhkan kondisi On dan O. Karena sistem kerjanya yang unlock dan langsung berhubungan dengan operator, push button switch menjadi device paling utama yang biasa digunakan untuk memulai dan mengakhiri kerja mesin di industri. Secanggih apapun sebuah mesin bisa dipastikan sistem kerjanya tidak terlepas dari keberadaan sebuah saklar seperti push button switch atau perangkat lain yang sejenis yang bekerja mengatur pengkondisian On dan O .
Berdasarkan fungsi kerjanya yang menghubungkan dan memutuskan, push button switch mempunyai 2 tipe kontak yaitu NC (Normally Close) dan NO (Normally Open).
NO (Normally Open), merupakan kontak terminal dimana kondisi normalnya terbuka (aliran arus listrik tidak mengalir). Dan ketika tombol saklar ditekan, kontak yang NO ini akan menjadi menutup (Close) dan mengalirkan atau menghubungkan arus listrik. Kontak NO digunakan sebagai penghubung atau menyalakan sistem circuit (Push Button ON).
NC (Normally Close), merupakan kontak terminal dimana kondisi normalnya tertutup (mengalirkan arus litrik). Dan ketika tombol saklar push button ditekan, kontak NC ini akan menjadi membuka (Open), sehingga memutus aliran arus listrik. Kontak NC digunakan sebagai pemutus atau mematikan sistem circuit (Push Button O).
2.9        Dioda
Dioda adalah komponen aktif semikonduktor yang terdiri dari persambungan (junction) P-N.Sifat dioda yaitu dapat menghantarkan arus pada tegangan maju dan menghambat arus pada tegangan balik. Dioda berasal dari pendekatan kata dua elektroda yaitu anoda dan katoda. Dioda semikonduktor hanya melewatkan arus searah saja (forward), sehingga banyak digunakan sebagai komponen penyearah arus. Secara sederhana sebuah dioda bisa kita asumsikan sebuah katup, dimana katup tersebut akan terbuka manakala air yang mengalir dari belakang katup menuju kedepan, sedangkan katup akan menutup oleh dorongan aliran air dari depan katup.

2.9.1             SIMBOL UMUM DIODA

Dioda disimbolkan dengan gambar anak panah yang pada ujungnya terdapat garis yang melintang. Simbol tersebut sebenarnya adalah sebagai perwakilan dari cara kerja dioda itu sendiri. Pada pangkal anak panah disebut juga sebagai anoda (kaki positif = P) dan pada ujung anak panah disebut sebagai katoda (kaki negative = N).

2.9.2           FUNGSI DIODA

1.       Sebagai penyearah, untuk dioda bridge
2.       Sebagai penstabil tegangan (voltage regulator), untuk dioda zener
3.       Pengaman / sekering
4.       Sebagai rangkaian clipper, yaitu untuk memangkas / membuang level sinyal yang ada di atas atau di bawah level tegangan tertentu.
5.       Sebagai rangkaian clamper, yaitu untuk menambahkankomponen DC kepada suatu sinyal AC
6.       Sebagai pengganda tegangan.
7.       Sebagai indikator, untuk LED (light emiting diode)
8.       Sebagai sensor panas, contoh aplikasi pada rangkaian power ampli er
9.       Sebagai sensor cahaya, untuk dioda photo
10.    Sebagai rangkaian VCO (voltage controlled oscilator), untuk dioda varactor

2.9.3         Jenis Dioda

1. Dioda Standar
Dioda jenis ini ada dua macam yaitu silikon dan germanium. Dioda silikon mempunyai tegangan maju 0.6 V sedangkan dioda germanium 0.3 V. Dioda jenis ini mempunyai beberapa batasan tertentu tergantung spesikasi. Batasan batasan itu seperti batasan tegangan reverse, frekuensi, arus, dan suhu. Tegangan maju dari dioda akan turun 0.025 V setiap kenaikan 1 derajat dari suhu normal. Sesuai karakteristiknya dioda ini bisa dipakai untuk fungsi-fungsi sebagai berikut :
1.   Penyearah sinyal AC
2.   Pemotong level
3.   Sensor suhu
4.   Penurun tegangan
5.   Pengaman polaritas terbalik pada DC input
Contoh dioda jenis ini adalah 1N400x (1A), 1N5392 (1.5A), dan 1N4148 (500mA)
2.   LED (light emiting diode)
Dioda jenis ini mempunyai lapisan fosfor yang bisa memancarkan cahaya saat diberi polaritas pada kedua kutubnya. LED mempunyai batasan arus maksimal yang mengalir melaluinya. Diatas nilai tersebut dipastikan umur led tidak lama. Jenis led ditentukan oleh cahaya yang dipancarkan. Seperti led merah, hijau, biru, kuning, oranye, infra merah dan laser diode. Selain sebagai indikator beberapa LED mempunyai fungsi khusus seperti LED inframerah yang dipakai untuk transmisi pada sistem remote control dan opto sensor juga laser diode yang dipakai untuk optical pick-up pada sistem CD. Dioda jenis ini dibias maju (forward).
3.   Dioda Zener
Fungsi dari dioda zener adalah sebagai penstabil tegangan. Selain itu dioda zener juga dapat dipakai sebagai pembatas tegangan pada level tertentu untuk keamanan rangkaian. Karena kemampuan arusnya yang kecil maka pada penggunaan dioda zener sebagai penstabil tegangan untuk arus besar diperlukan sebuah bu er arus. Dioda zener dibias mundur (reverse).
4.   Dioda Photo
Dioda photo merupakan jenis komponen peka cahaya. Dioda ini akan menghantar jika ada cahaya yang mauk dengan intensitas tertentu. aplikasi dioda photo banyak pada sistem sensor cahaya (optical). Contoh : pada optocoupler dan optical pick-up pada sistem CD. Dioda photo dibias maju (forward).
5.   Dioda Varactor
Kelebihan dari dioda ini adalah mampu menghasilkan nilai kapasitansi tertentu sesuai dengan besar tegangan yang diberikan kepadanya. Dengan dioda ini maka sistem penalaan digital pada sistem transmisi frekuensi tinggi mengalami kemajuan pesat, seperti pada radio dan televisi. Contoh sistem penalaan dengan dioda ini adalah dengan sistem PLL (Phase lock loop), yaitu mengoreksi oscilator dengan membaca penyimpangan frekuensinya untuk kemudian diolah menjadi tegangan koreksi untuk oscilator. Dioda varactor dibias reverse.

2.9.4                KARAKTERISTIK DIODA

1.   Bias Maju Dioda
Adalah cara pemberian tegangan luar ke terminal diode. Jika anoda dihubungkan dengan kutub positif batere, dan katoda dihubungkan dengan kutub negative batere, maka keadaan diode ini disebut bias maju (forward bias). Aliran arus dari anoda menuju katoda, dan aksinya sama dengan rangkaian tertutup. Pada kondisi bias ini akan terjadi aliran arus dengan ketentuan beda tegangan yang diberikan ke diode dan akan selalu positif.
2.   Bias Mundur Dioda
Sebaliknya bila anoda diberi tegangan negative dan katoda diberi tegangan positif, arus yang mengalir jauh lebih kecil dari pada kondisi bias maju. Bias ini dinamakan bias mundur (reverse bias) pada arus maju diperlakukan baterai tegangan yang diberikan dengan tidak terlalu besar maupun tidak ada peningkatan yang cukup signicant.
Sebagai karakteristik dioda, pada saat reverse, nilai tahanan diode tersebut relative sangat besar dan diode ini tidak dapat menghantarkan arus listrik. Nilai-nilai yang didapat, baik arus maupun tegangan tidak boleh dilampaui karena akan mengkibatkan rusaknya dioda.
2.10             Module LCD TFT 2.4
Module LCD TFT 2.4 merupakan salah satu modul yang berukuran 2.4 inch yang berfungsi sebagai penampil dengan kedalaman warna RGB 65000 color , serta dilengkapi dengan tur Touchscreen dan tur modul microsd yang dikemas dalam bentuk shield module sehingga dapat dikatakan plug and play. Module ini dapat dibandingkan dengan smartphone umum pada saat ini yang kebanyakan digunakan. Dan didesain untuk arduino jenis Arduino Uno, Arduino Dueminalove, maupun Arduino mega2560. Hal yang dapat ditampilkan pada module lcd ini yaitu dapat berupa data string, grak, animasi, maupun gambar bitmaps. t berupa data string, gra k, animasi, maupun gambar bitmaps.
Spesi kasi module ini yaitu :
2.4 diagonal LCD TFT display
Memiliki microSD Card Socket
Dapat digunakan dengan Arduino Uno / Arduino Mega 2560 (tidak dapat digunakan dari Arduino Leonardo)
Tampilan dengan 4 backlight LED dengan cahaya berwarna putih terang
Resolusi tampilan / display resolution: 240 x 320 px
Kedalaman warna 18-bit (262K)
Dilengkapi dengan resistive touchscreen untuk mendeteksi sentuhan Menggunakan LCD display controller IC SPFD5408
Antarmuka digital lewat bus paralel 8 -bit (menggunakan 8 pin Digital I/O) dan 4-bit jalur kendali / control lines
Catu daya 3v3 atau 5V (modul ini sudah dilengkapi dengan IC LDO Voltage regulator 3.3 Volt)
Koneksi menggunakan pin header dengan pitch 0.1 (2,54 mm) dalam bentuk Arduino Shield
Ukuran Modul: 71 x 52 x 7 mm
Berat sekitar 33.5 gram
Pin Out
Berikut tabel keterangan wiring ke arduino
Pemasangan LCD TFT 2.4 pada Arduino Uno
2.11         Game Design

2.11.1              Karakter Flappy Bird pada Arduino

Berikut ini adalah tampilan dari bentuk Flappy Bird menggunakan Arduino yang digunakan
Pada game Flappy Bird arduino ini adanya interaksi yang pada saat kita memainkan game ini yaitu dengan cara menyentuh bu-rung pada Flappy Bird dengan adanya pilar-pilar yang berjalan untuk membuat burung agar tidak menyentuh pilar, sehingga pada saat burung melewati pilar score akan terus bertambah 1. Kemampuan yang dapat dilakukan dalam game ini yaitu pada layar sentuh digunakan untuk mengendalikan burung dan mencoba menghindari pilar yang bergerak yang semakin meningkat seiring kemajuan kita.

2.11.2  Level / Map pada Flappy Bird di Arduino

Pada game kami tidak adanya level di game Flappy Bird ini melainkan di game ini pada saat start pilar yang berjalan , berjalan lambat dan semakin score meningkat pilar yang berjalan akan semakin cepat. Selain itu permainan bisa menyimpan nilai tertinggi anda bahkan jika anda mencabut kabel powernya pada arduino.

2.11.3          De nisi Gameplay

Konsep game ini bermodalkan sebuah arduino jenis arduino uno , Arduino Dueminalove, maupun Arduino mega256 dengan menggunakan Module LCD TFT 2.4 yang merupakan salah satu modul yang berukuran 2.4 inch yang berfungsi sebagai penampil dengan kedalaman warna RGB 65000 color , serta dilengkapi dengan tur Touchscreen dan tur modul microsd yang dikemas dalam bentuk shield module sehingga dapat dikatakan plug and play dengan memasangkan module LCD TFT 2.4 pada arduinonya. Kemudian adanya source code untuk membuat tampilan seperti game appy bird ini dengan memasangkan kabel power yang terhubung ke laptop untuk mengcompile ke arduinonya agar dapat dimainkan dengan cara menyentuhnya pada Module LCD TFT 2.4.

0 komentar:

Posting Komentar