Welcome Text


SELAMAT DATANG DI BLOG NAUFAL ZUHDI ENJOY!!! .

Minggu, 15 April 2018

Pengantar Komputasi Modern

PENDAHULUAN

KOMPUTASI CLOUD
 
Cloud Computing atau komputasi awan merupakan gabungan pemanfaatan teknologi komputer (komputasi) dalam suatu jaringan dengan pengembangan berbasis internet (awan) yang mempunyai fungsi untuk menjalankan program atau aplikasi melalui komputer – komputer yang terkoneksi pada waktu yang sama, tetapi tak semua yang terkonekasi melalui internet menggunakan cloud computing.

KOMPUASI GRID

Komputasi Grid adalah penggunaan sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis untuk memecahkan persoalan komputasi dalam skala besar.

VIRTUALIASI

Virtualisasi adalah sebuah konsep dimana untuk akses ke sebuah hardware seperti server dikelola, sehingga beberapa operating system (guest operation system) dapat berbagi sebuah hardware.  Tujuan dari virtualisasi ini adalah untuk memiliki kinerja tingkat tinggi, ketersediaan, keandalan, ketangkasan, atau untuk membuat dasar keamanan dan manajemen yang terpadu.

MAP REDUCE DAN NOSQL

Map Reduce dan NoSQL (Not Only SQL) adalah sebuah pemrograman framework yang berguna untuk membantu user dalam mengembangankan sebuah data yang berukuran besar serta dapat terdistribusi antar satu sama lain. Map-Reduce adalah suatu konsep teknis yang sangat penting dalam teknologi cloud, karena dapat diterapkannya dalam lingkungan distributed computing. serta akan menjamin skalabilitas aplikasi kita.

NOSQL DATABASE

Database NoSQL adalah database yang tidak menggunakan realasi antar tabel dan tidak menyimpan data dalam format tabel kaku (kolom yang fix) seperti layaknya Relasional Database. Document Database contohnya MongoDB, seiap satu object data disimpan dalam satu dokumen

CONTOH WEBSITE PERUSAHAAN YANG MENGGUNAKAN KOMPUTASI MODERN

Disini saya akan memberikan satu contoh website pada sebuah perusahaan di bidang transporasi darat yang mengimplementasikan konsep komputasi modern. Disini akan dibahas penggunaan konsep komputasi modern yang ada pada website ini berikut dengan pembahasan dari beberapa tampilan websitenya.

Tampilan Beranda


PO Rosalia Indah merupakan salah satu perusahaan otobus besar di Indonesia. Nama Rosalia Indah sendiri diambil dari nama anak pertama pemilik Rosalia Indah, Yustinus Soeroso dan Yustina Rahyuni Soeroso. PO Rosalia Indah berdiri pada tahun 1983, dengan lokasi bisnis merekad di Karanganyar. Awalnya Rosalia Indah hanya mengoperasikan satu kendaraan dengan trayek Yogyakarta - Solo - Surabaya - Malang. Namun, di tahun 90-an PO Rosalia Indah mampu melebarkan sayap dan memiliki daya jangkau yang lebih luas. Pada pojok kanan terdapat menu pesan tiket, check status, dan charter bus


Pada halaman pesan tiket kita dapat memilih tanggal, jumlah penumpang, kelas armada, kota dan agen keberangkatan dan kota dan agen tujuan. Di website ini juga terdapat beberapa metode pembayaran.


Apabila pesanan yang dicari tersedia maka akan ada tampilan seperti berikut yang berisi Kode Rute, Waktu, Rute, Kelas, Harga, Informasi, dan Sisa Kursi


Setelah itu kita hanya memiliki waktu booking dengan diberi waktu untuk mengisi selama 10 menit.

Selasa, 20 Maret 2018

Teori Komputasi dan Implementasinya

Sejarah

Pertama kali komputasi modern ditemukan oleh John Von Neumann. Beliau adalah ilmuan yang meletakkan dasar-dasar komputer modern. Dalam hidupnya yang singkat, Von Neumann telah menjadi ilmuwan besar abad 21. Von Neumann meningkatkan karya-karyanya dalam bidang matematika, teori kuantum, game theory, fisika nuklir, dan ilmu komputer. Beliau juga merupakan salah seorang ilmuwan yang sangat berpengaruh dalam pembuatan bom atom di Los Alamos pada Perang Dunia II lalu

Untuk memahami perkembangan terori komputasi perhatikan gambar berikut ini :



Alat

Alat komputasi paling kuno adalah kertas, potlot dan karet penghapus. Alat komputasi yang lebih maju adalah kertas, potlot, karet penghapus dan mistar hitung, Selanjutnya mistar hitung diganti dengan kalkulator (elektronis), yang dapat dibawa di dalam saku. Alat komputasi yang modern adalah komputer, yang biasanya merupakan peralatan elektronis dengan berbagai kemampuan tertentu: (1) dapat melakukan operasi penyimpanan, karena dalam komputer ada memori; (2) dapat melakukan operasi-operasi tertentu atas yang disimpan dalam memori; (3) dapat menyajikan kembali isi memori itu dalam media penampil menurut format yang dikehendaki oleh pemakai.

Metode

Metode harus didukung oleh teori dan harus dapat diimplementasikan pada peralatan yang digunakan. Pastilah bahwa ada metode yang baik, ada metode yang buruk, dan barangkali ada juga metode yang sangat buruk. Metode disebut baik jika dapat diimplementasikan tanpa kesulitan serta memberikan hasil yang diinginkan dengan cepat dan tepat. Disebut cepat jika operasi komputasi pendek, antara lain karena tidak melibatkan jenis-jenis operasi yang “mahal” dari segi penggunaan sumberdaya komputer. Disebut tepat jika hasil komputasi tidak jauh berbeda dari hasil yang sebenarnya diinginkan.

Dalam pada itu harus dicatat bahwa ada soal yang mudah, ada soal yang sukar, dan ada soal yang sangat sukar untuk dipecahkan. Soal disebut mudah jika semua metode memberi hasil yang praktis sama cepat dan praktis sama tepat. Soal yang mudah tidak mampu memisahkan metode yang baik dari metode yang buruk. Soal disebut sukar jika memerlukan metode yang baik dan jitu untuk memecahkannya dengan kecepatan dan ketepatan yang diinginkan. Soal yang sukar biasanya memisahkan metode yang baik dari metode yang buruk, sama seperti sebuah tantangan yang muncul dalam kehidupan seseorang memisahkan yang “penakut” dari “pemberani”, “anak kecil” dari “orang dewasa”.

Lalu apa itu komputasi ?  

Komputasi dapat diartikan sebagai proses perhitungan atau pemecahan masalah menggunakan algoritma komputer. Asal muasal lahirnya proses komputasi berasal dari kegiatan hitung menghitung yang dilakukan manusia sejak berabad-abad silam. Manusia mulai mengenal angka dan cara menghitung, misalnya menghitung barang hasil barter, sistem kalender dan rasi bintang. Alat-alat yang digunakan pada masa itu juga masih sangat sederhana seperti pena, kertas dan batu.



Bidang ini berbeda dengan ilmu komputer (computer science), yang mengkaji komputasi, komputer dan pemrosesan informasi. Bidang ini juga berbeda dengan teori dan percobaan sebagai bentuk tradisional dari ilmu dan kerja keilmuan. Dalam ilmu alam, pendekatan ilmu komputasi dapat memberikan berbagai pemahaman baru, melalui penerapan model-model matematika dalam program komputer berdasarkan landasan teori yang telah berkembang, untuk menyelesaikan masalah-masalah nyata dalam ilmu tersebut.

Saat ini penggunaan komputer untuk menyelesaikan masalah sudah merasuk ke segala bidang. Hal ini karena komputasi dianggap lebih cepat dibandingkan dengan penyelesaian masalah secara manual. Seiring dengan hal tersebut, semakin dituntut proses komputasi yang semakin cepat. Untuk meningkatkan kecepatan proses komputasi, dapat ditempuh dua cara : peningkatan kecepatan perangkat keras dan peningkatan kecepatan perangkat lunak.

Teori Komputasi

Teori komputasi adalah merupakan cabang ilmu Komputer yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaan Algoritma untuk menganalisis dan memecahkan masalah-masalah ilmu (sains). pada perkembangannya sekarang initeori komputasi juga digunakan untuk menemukan prinsip - prinsip baru dalam berbagai bidang.
Dalam penggunaan praktis, biasanya berupa penerapan simulasi komputer atau berbagai bentuk komputasi lainnya untuk menyelesaikan masalah-masalah dalam berbagai bidang keilmuan, tetapi dalam perkembangannya digunakan juga untuk menemukan prinsip-prinsip baru yang mendasar dalam ilmu sains.

Ilmuwan komputer bekerja dengan abstraksi matematika dari komputer yang dinamakan model komputasi. Bidang ini berbeda dengan ilmu komputer (computer science), yang mengkaji komputasi, komputer dan pemrosesan informasi. Bidang ini juga berbeda dengan teori dan percobaan sebagai bentuk tradisional dari ilmu dan kerja keilmuan. Dalam ilmu alam, pendekatan ilmu komputasi dapat memberikan berbagai pemahaman baru, melalui penerapan model-model matematika dalam program komputer berdasarkan landasan teori yang telah berkembang, untuk menyelesaikan masalah-masalah nyata dalam ilmu tersebut.

Komputasi Modern

Komputasi modern adalah sebuah konsep sistem yang menerima intruksi-intruksi dan menyimpannya dalam sebuah memory, memory disini bisa juga dari memory komputer. Oleh karena pada saat ini kita melakukan komputasi menggunakan komputer maka bisa dibilang komputer merupakan sebuah komputasi modern. Konsep ini pertama kali digagasi oleh John Von Neumann (1903-1957). Beliau adalah ilmuan yang meletakkan dasar-dasar komputer modern. Von Neumann telah menjadi ilmuwan besar abad 21. Von Neumann memberikan berbagai sumbangsih dalam bidang matematika, teori kuantum, game theory, fisika nuklir, dan ilmu komputer yang di salurkan melalui karya-karyanya . Beliau juga merupakan salah satu ilmuwan yang terkait dalam pembuatan bom atom di Los Alamos pada Perang Dunia II lalu. Kegeniusannya dalam matematika telah terlihat semenjak kecil dengan mampu melakukan pembagian bilangan delapan digit (angka) di dalam kepalanya.

Dalam kerjanya komputasi modern menghitung dan mencari solusi dari masalah yang ada, dan perhitungan yang dilakukan itu meliputi:

1. Akurasi (big, Floating point)
2. Kecepatan (dalam satuan Hz)
3. Problem Volume Besar (Down Sizzing atau pararel)
4. Modeling (NN & GA)

5. Kompleksitas (Menggunakan Teori big O)

Jenis-jenis Komputasi Modern

Komputasi modern terbagi tiga macam, yaitu komputasi mobile (bergerak), komputasi grid, dan komputasi cloud (awan).

1. Mobile computing


Mobile computing atau komputasi bergerak memiliki beberapa penjelasan, salah satunya komputasi bergerak merupakan kemajuan teknologi komputer sehingga dapat berkomunikasi menggunakan jaringan tanpa menggunakan kabel dan mudah dibawa atau berpindah tempat, tetapi berbeda dengan komputasi nirkabel. Contoh dari perangkat komputasi bergerak seperti GPS, juga tipe dari komputasi bergerak seperti smart phone, dan lain sebagainya.

2. Grid Komputing

Komputasi grid menggunakan komputer yang terpisah oleh geografis, didistibusikan dan terhubung oleh jaringan untuk menyelasaikan masalah komputasi skala besar.

3. Cloud Computing

Komputasi cloud merupakan gaya komputasi yang terukur dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet. Komputasi cloud menggambarkan pelengkap baru, konsumsi dan layanan IT berbasis model dalam internet, dan biasanya melibatkan ketentuan dari keterukuran dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet.

Implementasi Komputasi

Komputasi banyak digunakan pada semua bidang salah satunya adalah komputasi sains. Komputasi sains merupakan salah satu cabang ilmu komputasi. Secara umum komputasi sains mengkaji aspek-aspek komputasi untuk aplikasi / memecahkan masalah di bidang sains lain, seperti fisika, kimia, biologi, dll.

Implementasi Teori Komputasi di Bidang Fisika


Implementasi komputasi modern di bidang fisika ada Computational Physics yang mempelajari suatu gabungan antara Fisika, Komputer Sains dan Matematika Terapan untuk memberikan solusi pada “Kejadian dan masalah yang kompleks pada dunia nyata” baik dengan menggunakan simulasi juga penggunaan algoritma yang tepat. Pemahaman fisika pada teori, eksperimen, dan komputasi haruslah sebanding, agar dihasilkan solusi numerik dan visualisasi / pemodelan yang tepat untuk memahami masalah Fisika.Untuk melakukan pekerjaan seperti evaluasi integral, penyelesaian persamaan differensial, penyelesaian persamaan simultan, mem-plot suatu fungsi/data, membuat pengembangan suatu seri fungsi, menemukan akar persamaan dan bekerja dengan bilangan kompleks yang menjadi tujuan penerapan fisika komputasi. Banyak perangkat lunak ataupun bahasa yang digunakan, baik MatLab, Visual Basic, Fortran, Open Source Physics (OSP), Labview, Mathematica, dan lain sebagainya digunakan untuk pemahaman dan pencarian solusi numerik dari masalah-masalah pada Fisika komputasi.

Implementasi Teori Komputasi di Bidang Kimia


Implementasi komputasi modern di bidang kimia adalah Computational Chemistry yaitu penggunaan ilmu komputer untuk membantu menyelesaikan masalah kimia, contohnya penggunaan super komputer untuk menghitung struktur dan sifat molekul. Istilah kimia teori dapat didefinisikan sebagai deskripsi matematika untuk kimia, sedangkan kimia komputasi biasanya digunakan ketika metode matematika dikembangkan dengan cukup baik untuk dapat digunakan dalam program komputer. Perlu dicatat bahwa kata “tepat” atau “sempurna” tidak muncul di sini, karena sedikit sekali aspek kimia yang dapat dihitung secara tepat. Hampir semua aspek kimia dapat digambarkan dalam skema komputasi kualitatif atau kuantitatif hampiran.

Implementasi Teori Komputasi di Bidang Matematika


Menyelesaikan sebuah masalah yang berkaitan dengan perhitungan matematis, namun dalam pengertian yang akan dibahas dalam pembahasan komputasi modern ini merupakan sebuah sistem yang akan menyelesaikan masalah matematis menggunakan komputer dengan cara menyusun algoritma yang dapat dimengerti oleh komputer yang berguna untuk menyelesaikan masalah manusia. Terdapat numerical analysis yaitu sebuah algoritma dipakai untuk menganalisa masalah – masalah matematika.Contohnya, penerapan teknik-teknik komputasi matematika meliputi metode numerik, scientific computing, metode elemen hingga, metode beda hingga, scientific data mining, scientific process control dan metode terkait lainnya untuk menyelesaikan masalah-masalah real yang berskala besar.

Implementasi Teori Komputasi di Bidang Ekonomi


Implementasi pada ilmu pengetahuan ekonomi adalah mempelajari agent-based computational modeling, computational econometrics dan statistika, komputasi keuangan, computational modeling of dynamic macroeconomic systems, pemrograman yang didesain khusus untuk komputasi ekonomi, dan pengembangan alat bantu dalam pendidikan komputasi ekonomi.Karena dibidang ekonomi pasti memiliki permasalahan yang harus dipecahkan oleh algoritma contohnya adalah memecahkan teori statistika untuk memecahkan permasalahan keuangan.


Salah satu contoh komputasi di bidang ekonomi adalah komputasi statistik. Komputasi statistik  adalah jurusan yang mempelajari teknik pengolahan data, membuat program, dan analisis data serta teknik penyusunan sistem informasi statistik seperti penyusunan basis data, komunikasi data, sistem jaringan, dan diseminasi data statistik. Komputasi dapat digunakan untuk memecahkan masalah ekonomi contohnya seperti Data Mining, dengan data mining, sebuah perusahaan dapat memecahkan masalah dengan cara yang seefektif mungkin.


Implementasi Teori Komputasi di Bidang Geologi


Cabang ilmu geologi merupakan ilmu yang mempelajari bumi secara menyeluruh. Komputasi pada ilmu ini adalah menganalisa dan mengukur struktur bumi pada waktu yang ditentukan. Pada bidang geologi teori komputasi biasanya digunakan untuk pertambangan, sebuah sistem komputer digunakan untuk menganalisa bahan-bahan mineral dan barang tambang yang terdapat di dalam tanah. Contohnya, Pertambangan dan digunakan untuk menganalisa bahan-bahan mineral dan barang tambang yang terdapat di dalam tanah.

Implementasi Teori Komputasi di Bidang Geografi


Geografi adalah ilmu yang mempelajari tentang lokasi serta persamaan, dan perbedaan (variasi) keruangan atas fenomena fisik, dan manusia di atas permukaan bumi. Komputasi dalam bidang geologi biasanya di gunakan untuk peramalan cuaca, di Indonesia khususnya ada salah satu instansi Negara dengan nama BMKG (Badan Meteorologi, Klimatologi, dan Geofisika) yakni instansi negara yang meneliti mengamati tentang metereologi klimatologi kualitas udara dan geofisika supaya tetap sesuai dengan perundang undangan yang berlaku di Indonesia.

Sumber


Selasa, 02 Januari 2018

Tugas Makalah Proposal Pengajuan Usaha

Memenuhi Tugas Softskill (Pengantar Bisnis Informatika) 

Kelompok 2:

  1. Jafar Shadiq
  2. Kasyfi Ivanedra
  3. M.Kautsar Firdaus
  4. M.Naufal Zuhdi
  5. Nijar Maulana
  6. Parulian Siagian
  7. Ressa Wahyu Ramadon
  8. Richard Natanael
  9. Ryan Fathurrachman

Tugas membuat Makalah Proposal Pengajuan Usaha yang bergerak dibidang IT. Untuk lebih jelas melihat makalah tersebut dapat dilihat pada link di bawah ini.


https://drive.google.com/file/d/1f8ihiG4JEF_GP6NZTe8aijrfdAISvt--/view

Kamis, 09 November 2017

Makalah PT Telkomsel

Memenuhi Tugas Softskill (Pengantar Bisnis Informatika) 

Kelompok 6:
Jafar Shadiq (55414575)
Januar Dwi Surya (5C414730)
M. Naufal Zuhdi (56414245)
Ryan Fathurrachman (59414877)



Selasa, 10 Oktober 2017

Telkom Akses

Profil Singkat


PT. Telkom Akses (Telkom Akses) didirikan pada tanggal 12 Desember 2012, berdasarkan akta notaris Siti Safarijah, S.H. No 20 tertanggal 26 November 2012, yang telah disetujui oleh Menkumham berdasarkan Surat No. AHU-60691.AH.01.01 tahun 2012 tanggal 28 November 2012.

Telkom Akses merupakan anak perusahaan PT. Telekomunikasi Indonesia, Tbk (Telkom) yang sahamnya 99,99% dimiliki oleh Telkom. Telkom Akses bergerak dalam bisnis penyediaan layanan konstruksi dan pengelolaan infrastruktur jaringan.

Telkom Akses berupaya menghadirkan koneksi Internet berkualitas dan terjangkau untuk meningkatkan kualitas sumber daya manusia Indonesia agar mampu bersaing di tingkat dunia. Saat ini Telkom tengah membangun jaringan backbone berbasis serat optik maupun internet protocol (IP) dengan menggelar 30 node terra router dan sekitar 75.000 km kabel serat optik.Pembangunan kabel serat optik merupakan bagian dari program Indonesia Digital Network 2015. Sebagai bagian dari strategi untuk mengoptimalkan layanannya, Telkom mendirikan Telkom Akses.

Kehadiran Telkom Akses diharapkan akan mendorong pertumbuhan jaringan akses broadband di Indonesia. Selain instalasi jaringan akses broadband, layanan lain yang diberikan oleh Telkom Akses adalah network terminal equipment (NTE), serta jasa pengelolaan operasi dan pemeliharaan (O&M, operation & maintenance) jaringan akses broadband.

Produk dan Layanan

Survey & drafting,
Design & Planning,
Construction & Installation
Project Management,
Manage Service,
Operation & Maintenance Supervision.

    Cakupan Wilayah

      Wilayah operasi PT. Telkom Akses berada di seluruh Kawasan Nusantara yang terbagi dalam lima wilayah operasi, yaitu : 1) Wilayah Operasi Sumatera, 2) Wilayah Operasi Jakarta – Banten, 3) Wilayah Operasi Jabar – Jateng, 4) Wilayah Operasi Jatim – Bali – Mataram – Kupang, 5) Wilayah Operasi Kalimantan – Sulawei – Maluku – Papua.


      Struktur Organinasi


      Dewan Komisaris PT. TELKOM AKSES :
      Mas’ud Khamid : Komisaris Utama
      Weriza, Teni Agustini, Amperandus Simanjuntak, Teuku Muda Nanta, Harry Suseno Hadisoebroto
      Jajaran Direksi PT. TELKOM AKSES :
      ISKRIONO WINDIARJANTO – CEO
      Semly Saalino – Dir. Operation
      Erikson Sianipar – Dir. Construction
      Ian Sigit Kurniawan – Dir. Finance
      Agus Kristiyono – Dir. Supply & Commerce
      Beni Sukawanto – Dir. Human Capital Management (HCM)

      Keunggulan

      • Berperan aktif dalam mempercepat proses pembangunan jaringan akses broadband.
      • Menerapkan lean operation concept sehingga proses bisnis berjalan lebih efektif dan efisien,
      • Memiliki tenaga ahli yang terampil dan kompeten di bidang konstruksi dan manage service jaringan akses broadband,
      • Memiliki continuity business process yang lebih terjamin, karena dikendalikan langsung oleh perusahaan induk secara efektif,
      • Memiliki capital management dan financing yang lebih kuat dan fleksible, karena didukung penuh oleh PT.Telekomunikasi Indonesia,
      • Mempunyai lebih dari 61 kantor perwakilan di seluruh Indonesia,
      • Memiliki kemampuan manage service end to end jaringan akses broadband baik untuk retail maupun corporate customer.

    Jumlah Karyawan

    Telkom memiliki 25,011 orang karyawan per tanggal 31 Desember 2013, yang terdiri dari 17,881 karyawan Telkom dan 7,130 karyawan di entitas anak yang termasuk juga telkom akses. Jumlah ini menurun 2.6% dibandingkan dengan posisi per 31 Desember 2012, sejalan dengan berlanjutnya program multi exit sebagai bagian dari upaya revitalisasi dan penigkatan efisiensi SDM Telkom sejak tahun 2002.



    1. Profil karyawan berdasarkan posisi jabatan


    2. Profil karyawan berdasarkan tingkat pendidikan


    3. Profil karyawan berdasarkan usia

    Omset

    PT Telkom Indonesia Tbk (Telkom) mencatatkan laba bersih kuartal-I 2017 sebesar Rp 6,69 triliun atau tumbuh 45,8 persen secara tahunan (YoY) dibandingkan periode sama tahun lalu.
    Pendapatan perusahaan per akhir Maret 2017 tercatat sebesar Rp 31,02 triliun atau tumbuh 12,6 persen YoY dibandingkan periode sama 2016 yang sebesar Rp 27,54 triliun. Adapun laba kotornya (EBITDA) tumbuh 14,7 persen menjadi Rp 16,81 triliun.



    Sumber

Sabtu, 22 Juli 2017

Game Puzzle Dengan Menggunakan Arduino | BAB V

Bab 5
PENUTUP
5.1 Kesimpulan
Arduino merupakan pengendali mikro single-board yang bersifat open-source, diturunkan dari Wiring platform, dirancang
untuk memudahkan penggunaan elektronik dalam berbagai bidang. Hardwarenya memiliki prosesor Atmel AVR dan softwarenya memiliki bahasa pemrograman sendiri. Hardware Arduino
diprogram menggunakan bahasa pemrograman C/C++, yang
sudah disederhanakan dan dimodi kasi. Arduino mengikuti pola pemrograman Wiring(syntax dan library).
130
BAB 5. PENUTUP 131
Sementara untuk editor pemrograman nya (IDE Intergrated Development Enviroment) dikembangkan dari Processing. Game Puzzle yang dihubungkan dengan perangkat Arduino membutuhkan lempengan tembaga yang digunakan sebagai
sensor yang diletakan di atas alas puzzle yang mengenai semua
bagian puzzle.
Cara kerjanya yaitu jika semua bagian puzzle sudah tersusun
dengan rapi maka lempengan tembaga menerima sensor yang
membuat waktu yang berjalan sebagai penghitung lamanya seseorang bermain puzzle tersebut menjadi berhenti. Untuk memulai kembali permainan puzzle waktu dapat direset dengan
menggunakan perangkat Arduino.
5.2 Saran
Pada dasarnya penulisan makalah ini jauh dari sempurna, banyak kekurangan baik yang disengaja ataupun tidak. Maka dibutuhkan saran untuk memperbaiki kesalahan-kesalahan yang
ada tentunya bagi penulis serta untuk membuat penulisan yang
lebih baik lagi ke depannya.
Perkembangan teknologi mikrokontroler yang sangat pesat
mengharuskan kita memilih sistem minimum yang tepat guna
menunjang eksibilitas kita dalam menyikapi perkembangan ini.
BAB 5. PENUTUP 132
Sistem minimum Arduino yang bersifat open source dapat digunakan siapa saja dan dapat dikembangkan seperti keinginan
kita sendiri tanpa harus ada tekanan legalitas ataupun lisensi
dari perusahaan pemegang lisensi tersebut. Dan semua kembali
kita sendiri mau memakai sistem minimum yang seperti apa.
BAB 5. PENUTUP 133
DAFTAR PUSTAKA
1. https://www.academia.edu/9843996/Makalah_Pengantar_Teknologi_Informasi
2. https://hamdani-s.blogspot.co.id/2016/03/pengantar-teknologigame.html
3. https://playground.arduino.cc/
4. https://cdn-learn.adafruit.com/downloads/pdf/adafruit-gfxgraphics-library.pdf
5. https://chikhungunya.wordpress.com/2011/05/26/de nisigame-dan-jenis-jenisnya/
6. https://g2hcombro.wordpress.com/sejarah-perkembangangame/
7. http://jokomurdiyanto.blogspot.co.id/2013/05/sejarah-danperkembangan-game-di-dunia.html
8. https://id.wikipedia.org/wiki/Permainan_daring
9. https://witanduty.wordpress.com/6/
10. https://hamdani-s.blogspot.co.id/2016/03/pengantar-teknologigame.html
BAB 5. PENUTUP 134
11. http://ra qamalyah.blogspot.co.id/2013/05/pengertian-teknologigame.html
12. https://id.wikipedia.org/wiki/Arduino
13. http://www.sinauarduino.com/artikel/mengenal-arduinosoftware-ide/
14. http://arduino.cc/en/Main/ArduinoBoardUno/
15. http://manfaat.co.id/17-manfaat-tembaga-dalam-kehidupansehari-hari-kesehatan
16. https://haiwiki.info/teknologi/pengertian-layar-lcd-tft-ipsoled-super-amoled-retina/

Game Puzzle Dengan Menggunakan Arduino | BAB IV

Bab 4
RUNNING GAME
4.1 Tampilan game
saat game selesai dibuat dengan arduino, maka tamppilan awal
dari layar LCD adalah terdapat timer dengan format Menit :
Detik. Dan terdapat tombol START untuk memulai waktu.
125
BAB 4. RNNING GAME 126
Gambar 4.1: stopwatch pada LCD
Jika waktu berjalan akan tampil seperti gambar di bawah
ini
BAB 4. RNNING GAME 127
Gambar 4.2: ketika timer stop atau game berhenti
selanjutnya game dimainkan, susun satu persatu puzzle yang
di sediakan.
BAB 4. RNNING GAME 128
Gambar 4.3: menyusun puzzle
Gambar 4.4: susun hingga selesai
jika sudah selesai, tekan keseluruhan puzzle gunakanya ada-
BAB 4. RNNING GAME 129
lah agar seluruh pita tembaga terhubung hingga stopwatch berhenti berjalan.
Gambar 4.5: jika selesai game waktu akan berhenti

Game Puzzle Dengan Menggunakan Arduino | BAB III

Bab 3
PENERAPAN GAME
3.1 Arduino
3.1.1 Pengertian Arduino
Arduino adalah pengendali mikro single-board yang bersifat
open-source, diturunkan dari Wiring platform, dirancang untuk
memudahkan penggunaan elektronik dalam berbagai bidang.
Hardwarenya memiliki prosesor Atmel AVR dan softwarenya
memiliki bahasa pemrograman sendiri.
78
BAB 3. PENERAPAN GAME 79
Gambar 3.1: Perangkat Arduino
Arduino juga merupakan platform hardware terbuka yang
ditujukan kepada siapa saja yang ingin membuat purwarupa
peralatan elektronik interaktif berdasarkan hardware dan software yang eksibel dan mudah digunakan. Mikrokontroler diprogram menggunakan bahasa pemrograman arduino yang memiliki kemiripan syntax dengan bahasa pemrograman C. Karena
sifatnya yang terbuka maka siapa saja dapat mengunduh skema
hardware arduino dan membangunnya.
Arduino menggunakan keluarga mikrokontroler ATMega yang
dirilis oleh Atmel sebagai basis, namun ada individu/perusahaan
yang membuat clone arduino dengan menggunakan mikrokon-
BAB 3. PENERAPAN GAME 80
troler lain dan tetap kompatibel dengan arduino pada level hardware. Untuk eksibilitas, program dimasukkan melalui bootloader meskipun ada opsi untuk membypass bootloader dan
menggunakan downloader untuk memprogram mikrokontroler
secara langsung melalui port ISP.
3.1.2 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. Visi awalnya aja udah
mulia kan.
Saat ini tim pengembangnya adalah Massimo Banzi, David
Cuartielles, Tom Igoe, Gianluca Martino, David Mellis, dan Nicholas Zambetti. Mereka mengupayakan 4 hal dalam Arduino
ini, yaitu:
1. Harga terjangkau
BAB 3. PENERAPAN GAME 81
2. Dapat dijalankan diberbagai sistem operasi, Windows, Linux, Max, dan sebagainya.
3. Sederhana, dengan bahasa pemograman yang mudah bisa
dipelajari orang awam, 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,
BAB 3. PENERAPAN GAME 82
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.
3.1.3 Jenis - Jenis Arduino
Dan seperti Microcontroller yang banyak jenisnya, Arduino lahir dan berkembang, kemudian muncul dengan berbagai jenis.
Diantaranya adalah:
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 Due Berbeda dengan saudaranya, Arduino Due
tidak menggunakan ATMEGA, melainkan dengan chip yang
BAB 3. PENERAPAN GAME 83
lebih tinggi ARM Cortex CPU. Memiliki 54 I/O pin digital
dan 12 pin input analog. Untuk pemogramannya menggunakan Micro USB, terdapat pada beberapa handphone.
Arduino Mega Mirip dengan Arduino Uno, sama-sama
menggunakan USB type A to B untuk pemogramannya.
Tetapi Arduino Mega, menggunakan Chip yang lebih tinggi ATMEGA2560. Dan tentu saja untuk Pin I/O Digital
dan pin input Analognya lebih banyak dari Uno.
Arduino Leonardo Bisa dibilang Leonardo adalah saudara kembar dari Uno. Dari mulai jumlah pin I/O digital
dan pin input Analognya sama. Hanya pada Leonardo
menggunakan Micro USB untuk pemogramannya.
Arduino Fio Bentuknya lebih unik, terutama untuk socketnya. Walau jumlah pin I/O digital dan input analognya
sama dengan uno dan leonardo, tapi Fio memiliki Socket
XBee. XBee membuat Fio dapat dipakai untuk keperluan
projek yang berhubungan dengan wireless.
Arduino Lilypad Bentuknya yang melingkar membuat Lilypad dapat dipakai untuk membuat projek unik. Seperti
membuat amor iron man misalkan. Hanya versi lamanya menggunakan ATMEGA168, tapi masih cukup untuk
BAB 3. PENERAPAN GAME 84
membuat satu projek keren. Dengan 14 pin I/O digital,
dan 6 pin input analognya.
Arduino Nano Sepertinya namanya, Nano yang berukulan
kecil dan sangat sederhana ini, menyimpan banyak fasilitas. Sudah dilengkapi dengan FTDI untuk pemograman
lewat Micro USB. 14 Pin I/O Digital, dan 8 Pin input
Analog (lebih banyak dari Uno). Dan ada yang menggunakan ATMEGA168, atau ATMEGA328.
Arduino Mini Fasilitasnya sama dengan yang dimiliki Nano. Hanya tidak dilengkapi dengan Micro USB untuk pemograman. Dan ukurannya hanya 30 mm x 18 mm saja.
9. Arduino Micro Ukurannya lebih panjang dari Nano
dan Mini. Karena memang fasilitasnya lebih banyak yaitu; memiliki 20 pin I/O digital dan 12 pin input analog.
Arduino Ethernet Ini arduino yang sudah dilengkapi dengan fasilitas ethernet. Membuat Arduino kamu dapat
berhubungan melalui jaringan LAN pada komputer. Untuk fasilitas pada Pin I/O Digital dan Input Analognya
sama dengan Uno.
Arduino Esplora Rekomendasi bagi kamu yang mau membuat gadget sepeti Smartphone, karena sudah dilengkapi
BAB 3. PENERAPAN GAME 85
dengan Joystick, button, dan sebagainya. Kamu hanya
perlu tambahkan LCD, untuk lebih mempercantik Esplora.
Arduino Robot Ini adalah paket komplit dari Arduino
yang sudah berbentuk robot. Sudah dilengkapi dengan
LCD, Speaker, Roda, Sensor Infrared, dan semua yang
kamu butuhkan untuk robot sudah ada pada Arduino ini.
3.1.4 Alat - Alat untuk Membuat Arduino
Tidak perlu perangkat chip programmer karena didalamnya sudah ada bootloadder yang akan menangani upload program dari
komputer. Sudah memiliki sarana komunikasi USB, Sehingga
pengguna laptop yang tidak memiliki port serial/RS323 bisa
menggunakannya. Memiliki modul siap pakai ( Shield ) yang
bisa ditancapkan pada board arduino. Contohnya shield GPS,
Ethernet,dll.
Soket USB Soket USB adalah soket kabel USB yang disambungkan kekomputer atau laptop. Yang berfungsi untuk mengirimkan program ke arduino dan juga sebagai
port komunikasi serial.
Input / Output Digital dan Input Analog Input/output di-
BAB 3. PENERAPAN GAME 86
gital atau digital pin adalah pin pin untuk menghubungkan arduino dengan komponen atau rangkaian digital. contohnya , jika ingin membuat LED berkedip, LED tersebut
bisa dipasang pada salah satu pin input atau output digital dan ground. komponen lain yang menghasilkan output
digital atau menerima input digital bisa disambungkan ke
pin pin ini. Input analog atau analog pin adalah pin pin
yang berfungsi untuk menerima sinyal dari komponen atau
rangkaian analog. contohnya , potensiometer, sensor suhu, sensor cahaya, dll.
Catu Daya pin pin catu daya adalah pin yang memberikan tegangan untuk komponen atau rangkaian yang dihubungkan dengan arduino. Pada bagian catu daya ini pin
Vin dan Reset. Vin digunakan untuk memberikan tegangan langsung kepada arduino tanpa melalui tegangan pada USB atau adaptor, sedangkan Reset adalah pin untuk
memberikan sinyal reset melalui tombol atau rangkaian
eksternal.
Baterai / Adaptor Soket baterai atau adaptor digunakan untuk menyuplai arduino dengan tegangan dari baterai/adaptor 9V pada saat arduino sedang tidak disambungkan kekomputer. Jika arduino sedang disambungk-
BAB 3. PENERAPAN GAME 87
an kekomputer dengan USB, Arduino mendapatkan suplai tegangan dari USB, Jika tidak perlu memasang baterai/adaptor pada saat memprogram arduino.
Contoh Program
int LED_PIN = 13;
void setup () { pinMode (LED_PIN, OUTPUT); // enable
pin 13 for digital output }
void loop () { digitalWrite (LED_PIN, HIGH); // turn on
the LED delay (1000); // wait one second (1000 milliseconds) digitalWrite (LED_PIN, LOW); // turn o the LED delay
(1000); // wait one second }
3.1.5 Arduino IDE
Pengertian 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.
BAB 3. PENERAPAN GAME 88
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 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.
Menulis Sketch Program yang ditulis dengan menggunaan Arduino Software (IDE) disebut sebagai sketch. Sketch
ditulis dalam suatu editor teks dan disimpan dalam le dengan ekstensi .ino. Teks editor pada Arduino Software memiliki tur seperti cutting/paste dan seraching/replacing
sehingga memudahkan kamu dalam menulis kode program.
Pada Software Arduino IDE, terdapat semacam message
box berwarna hitam yang berfungsi menampilkan status,
seperti pesan error, compile, dan upload program. Di ba-
BAB 3. PENERAPAN GAME 89
gian bawah paling kanan Sotware Arduino IDE, menunjukan board yang terkon gurasi beserta COM Ports yang
digunakan.
Gambar 3.2: tampilan dari Software Arduino IDE
Verify Berfungsi untuk melakukan checking kode yang kamu buat apakah sudah sesuai dengan kaidah pemrograman yang ada atau belum
Upload Berfungsi untuk melakukan kompilasi program atau
kode yang kamu buat menjadi bahsa yang dapat dipahami
oleh mesih alias si Arduino.
New Berfungsi untuk membuat Sketch baru
BAB 3. PENERAPAN GAME 90
Open Berfungsi untuk membuka sketch yang pernah kamu
buat dan membuka kembali untuk dilakukan editing atau
sekedar upload ulang ke Arduino.
Save Berfungsi untuk menyimpan Sketch yang telah kamu
buat.
Serial Monitor Berfungsi untuk membuka serial monitor.
Serial monitor disini merupakan jendela yang menampilkan data apa saja yang dikirimkan atau dipertukarkan antara arduino dengan sketch pada port serialnya. Serial Monitor ini sangat berguna sekali ketika kamu ingin membuat
program atau melakukan debugging tanpa menggunakan
LCD pada Arduino. Serial monitor ini dapat digunakan
untuk menampilkan nilai proses, nilai pembacaan, bahkan
pesan error.
File
New, berfungsi untuk membuat membuat sketch baru dengan bare minimum yang terdiri void setup() dan void
loop().
Open, berfungsi membuka sketch yang pernah dibuat di
dalam drive.
BAB 3. PENERAPAN GAME 91
Open Recent, merupakan menu yang berfungsi mempersingkat waktu pembukaan le atau sketch yang baru-baru
ini sudah dibuat.
Sketchbook, berfungsi menunjukan hirarki sketch yang kamu buat termasuk struktur foldernya.
Example, berisi contoh-contoh pemrograman yang disediakan pengembang Arduino, sehingga kamu dapat mempelajari program-program dari contoh yang diberikan.
Close, berfungsi menutup jendela Arduino IDE dan menghentikan aplikasi.
Save, berfungsi menyimpan sketch yang dibuat atau perubahan yang dilakukan pada sketch
Save as, berfungsi menyimpan sketch yang sedang dikerjakan atau sketch yang sudah disimpan dengan nama yang
berbeda.
Page Setup, berfungsi mengatur tampilan page pada proses pencetakan.
Print, berfungsi mengirimkan le sketch ke mesin cetak
untuk dicetak.
BAB 3. PENERAPAN GAME 92
Preferences, disini kam dapat merubah tampilan interface
IDE Arduino.
Quit, berfungsi menutup semua jendela Arduino IDE. Sketch yang masih terbuka pada saat tombol Quit ditekan,
secara otomatis akan terbuka pada saat Arduino IDE dijalankan.
Edit
Undo/Redo, berfungsi untuk mengembalikan perubahan
yang sudah dilakukan pada Sketch beberapa langkah mundur dengan Undo atau maju dengan Redo.
Cut, berfungsi untuk meremove teks yang terpilih pada
editor dan menempatkan teks tersebut pada clipboard.
Copy, berfungsi menduplikasi teks yang terpilih kedalam
editor dan menempatkan teks tersebut pada clipboard.
Copy for Forum, berfungsi melakukan copy kode dari editor dan melakukan formating agar sesuai untuk ditampilkan dalam forum, sehingga kode tersebut bisa digunakan
sebagai bahan diskusi dalam forum.
Copy as HTML, berfungsi menduplikasi teks yang terpilih kedalam editor dan menempatkan teks tersebut pada
BAB 3. PENERAPAN GAME 93
clipboard dalam bentuk atau format HTML. Biasanya ini
digunakan agar code dapat diembededdkan pada halaman
web.
Paste, berfungsi menyalin data yang terdapat pada clipboard, kedalam editor.
Select All, berfungsi untk melakukan pemilihan teks atau
kode dalam halaman editor.
Comment/Uncomment, berfungsi memberikan atau menghilangkan tanda // pada kode atau teks, dimana tanda
tersebut menjadikan suatu baris kode sebagai komen dan
tidak disertakan pada tahap kompilasi.
Increase/Decrease Indent, berfunsgi untuk mengurangi atau
menambahkan indetntasi pada baris kode tertentu. Indentasi adalah tab .
Find, berfungsi memanggil jendela window nd and replace, dimana kamu dapat menggunakannya untuk menemukan variabel atau kata tertentu dalam program atau
menemukan serta menggantikan kata tersebut dengan kata lain.
Find Next, berfungsi menemukan kata setelahnya dari kata pertama yang berhasil ditemukan.
BAB 3. PENERAPAN GAME 94
Find Previous, berfungsi menemukan kata sebelumnya dari kata pertama yang berhasil ditemukan.
Sketch
Verify/Compile, berfungsi untuk mengecek apakah sketch
yang kamu buat ada kekeliruan dari segi sintaks atau tidak. Jika tidak ada kesalahan, maka sintaks yang kamu
buat akan dikompile kedalam bahasa mesin.
Upload, berfunsi mengirimkan program yang sudah dikompilasi ke Arduino Board.
Uplad Using Programmer, menu ini berfungsi untuk menuliskan bootloader kedalam IC Mikrokontroler Arduino.
Pada kasus ini kamu membutuhkan perangkat tambahan
seperti USBAsp untuk menjembatani penulisan program
bootloader ke IC Mikrokontroler.
Export Compiled Binary, berfungsi untuk menyimpan le
dengan ekstensi .hex, dimana le ini dapat disimpan sebagai arsip untuk di upload ke board lain menggunakan
tools yang berbeda.
Show Sketch Folder, berfungsi membuka folder sketch yang
saat ini dikerjakan.
BAB 3. PENERAPAN GAME 95
Include Library, berfunsi menambahkan library/pustaka
kedalam sketch yang dibuat dengan menyertakan sintaks
#include di awal kode. Selain itu kamu juga bisa menambahkan library eksternal dari le .zip kedalam Arduino
IDE.
Add File. . . , berfungsi untuk menambahkan le kedalam
sketch arduino ( le akan dikopikan dari drive asal). File
akan muncul sebagai tab baru dalam jendela sketch.
Tools
Auto Format, berfungsi melakukan pengatran format kode
pada jendela editor
Archive Sketch, berfungsi menyimpan sketch kedalam le
.zip Fix Encoding & Reload, berfungsi memperbaiki kemungkinan perbedaan antara pengkodean peta karakter
editor danpeta karakter sistem operasi yang lain.
Serial Monitor, berungsi membuka jendela serial monitor
untuk melihat pertukaran data.
Board, berfungsi memilih dan melakukan kon gurasi board yang digunakan.
BAB 3. PENERAPAN GAME 96
Port, memilih port sebbagai kanal komunikasi antara software dengan hardware.
Programmer, menu ini digunakan ketika kamu hendak melakukan pemrograman chip mikrokontroller tanpa menggunakan koneksi Onboard USB-Serial. Biasanya digunakan pada proses burning bootloader.
Burn Bootloader, mengizinkan kamu untuk mengkopikan
program bootloader kedalam IC mikrokontroler
Help
Disini kamu bisa mendapatkan bantuan terhadap kegalauanmu mengenai pemrograman. Menu help berisikan
le- le dokumentasi yang berkaitan dengan masalah yang
sering muncul, serta penyelesaiannya. Selain itu pada menu help juga diberikan link untuk menuju Arduino Forum
guna menanyakan serta mendiskusikan berbagai masalah
yang ditemukan.
Sketchbook Arduino Software IDE, menggunakan konsep
sketchbook, dimana sketchbook menjadi standar peletakan dan penyimpanan le program. Sketch yang telah kamu buat dapat dibuka dengan dari File -> Sketchbook,
atau dengna menu Open.
BAB 3. PENERAPAN GAME 97
Tabs, Multiple Files, dan Compilations Mekanisme ini mengijinkan kamu untuk melakukan menejemen sketch, dimana
lebih dari satu le dibuka dalam tab yang berbeda.
Uploading Merupakan mekanisme untuk mengkopikan le
.hex atau le hasil kompilasi kedalam IC mikrokontroler
Arduino. Sebelum melakukan uploading, yang perlu kamu pastikan adalah jenis board yang kamu gunakan dan
COM Ports dimana keduanya terletak pada menu Tools
-> Board dan Tools -> Port.
Library Library/ Pustaka merupakan le yang memberikan fungsi ekstra dari sketch yang kamu buat, semisal agar
Arduino dapat bekerja dengan hardware tertentu dan melakukan proses manipulasi data. Untuk menginstal Library pihak ketiga alias Library bukan dari Arduino, dapat dilakukan dengan Library Manager, Import le .zip,
atau kopi paste secara manual di folder libraries pada Documents di platform Windows. Untuk instalasi library
dapat kunjungi link berikut.
Serial Monitor Serial monitor merupakan suatu jendela
yang menunjukan data yang dipertukaran antara arduino dan komputer selama beroperasi, sehingga kamu bisa
menggunakan serial monitor ini untuk menampilkan nilai
BAB 3. PENERAPAN GAME 98
hasil operasi atau pesan debugging. Selain melihat data, kamu juga bisa mengirimkan data ke Arduino melalui
serial monitor ini, caranya dengan memasukkan data pada text box dan menekan tombol send untuk mengirimkan
data. Hal penting yang harus kamu perhatikan adalah menyamakan baudrate antara serial monitor dengan Arduino
board. Untuk menggunakan kemampuan komunikasi serial ini, pada Arduino, di bagian fungsi void setup(), diawali
dengan instruksi Serial.begin diikuti dengan nilai baudrate.
Preferences Preferences mengatur tentang beberapa hal
dalam penggunaan Arduino Software IDE, seperti ukuran
font, lokasi dimana menyimpan sketcbook, bahasa yang
digunakan pada Arduino Software IDE, dan masih banyak
lagi. Kamu bisa mengatur preferences pada menu le yang
dapat dijumpai pada platform Windows dan Linux.
Language Support Language Support merupakan pilihan bahasa yang dapat disesuaikan pada Software Arduino
IDE. Bahasa Indonesia sudah ada loh. Language Support
ini dapat ditemukan pada menu le -> preferences atau
dengan menekan Ctrl+Comma.
Boards Pemilihan board pada Arduino Software IDE, ber-
BAB 3. PENERAPAN GAME 99
dampak pada dua parameter yaitu kecepatan CPU dan
baudrate yang digunakan ketika melakukan kompilasi dan
meng-upload sketch. Beberapa contoh board yang dapat
digunakan dengan Arduino Software IDE adalah:
Arduino Yùn Menggunkana ATmega32u4 dan berjalan pada clock 16 MHz dengan auto-reset, memiliki 12
Input Analog , 20 Digital I/O serta 7 PWM.
Arduino/Genuino Uno Menggunakan ATmega328 dan
berjalan pada clock 16 MHz dengan auto-reset, memiliki 6 Input Analog , 14 Digital I/O serta 7 PWM.
Arduino Diecimila or Duemilanove w/ ATmega168
Menggunakan ATmega168 dan berjalan pada clock
16 MHz dengan auto-reset.
Arduino Nano w/ ATmega328 Menggunakan ATmega328 dan berjalan pada clock 16 MHz dengan autoreset. memiliki 6 Input Analog.
Arduino/Genuino Mega 2560 Menggunakan ATmega2560 dan berjalan pada clock 16 MHz dengan autoreset, memiliki 16 Input Analog, 54 Digital I/O dan
15 PWM.
Arduino Mega Menggunakan ATmega1280 dan berjalan pada clock 16 MHz dengan auto-reset, memiliki
BAB 3. PENERAPAN GAME 100
16 Input Analog, 54 Digital I/O dan 15 PWM.
Arduino Mega ADK Menggunakan ATmega2560dan
berjalan pada clock 16 MHz dengan auto-reset, memiliki 16 Input Analog, 54 Digital I/O dan 15 PWM.
Arduino Leonardo Menggunakan ATmega32u4 dan
berjalan pada clock 16 MHz dengan auto-reset, memiliki 12 Input Analog, 20 Digital I/O dan 7 PWM.
Arduino Micro Menggunakan ATmega32u4 dan berjalan pada clock 16 MHz dengan auto-reset, memiliki
12 Input Analog, 20 Digital I/O dan 7 PWM.
Arduino Esplora Menggunakan ATmega32u4 dan berjalan pada clock 16 MHz dengan auto-reset.
Arduino Mini w/ ATmega328 Menggunakan ATmega328 dan berjalan pada clock 16 MHz dengan autoreset, memiliki 8 Input Analog, 14 Digital I/O dan 6
PWM.
Arduino Ethernet Equivalent to Arduino UNO with
an Ethernet shield: An ATmega328 dan berjalan pada clock 16 MHz dengan auto-reset, memiliki 6 Input
Analog, 14 Digital I/O dan 6 PWM.
Arduino Fio Menggunakan ATmega328 dan berjalan
pada clock 8 MHz dengan auto-reset. Memiliki ke-
BAB 3. PENERAPAN GAME 101
samaan dengan Arduino Pro atau Pro Mini (3.3V, 8
MHz) w/ ATmega328, memiliki 6 Input Analog, 14
Digital I/O dan 6 PWM.
Arduino BT w/ ATmega328 Menggunakan ATmega328 dan berjalan pada clock 16 MHz. Bootloader
dengan ukuran (4 KB) termasuk kode untuk melakukan inisialisasi pada modul bluetooth, memiliki 6
Input Analog, 14 Digital I/O and 6 PWM.
LilyPad Arduino USB Menggunakan ATmega32u4dan
berjalan pada clock 8 MHz dengan auto-reset, memiliki 4 Input Analog, 9 Digital I/O dan 4 PWM.
LilyPad Arduino Menggunakan ATmega168 atau ATmega132 dan berjalan pada clock 8 MHz dengan autoreset, memiliki 6 Input Analog, 14 Digital I/O dan 6
PWM.
Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328 Menggunakan ATmega328 dan berjalan pada
clock 16 MHz dengan auto-reset. Memiliki kesamaan
dengan Arduino Duemilanove atau Nano w/ ATmega328, memiliki 6 Input Analog, 14 Digital I/O dan
6 PWM.
Arduino NG or older w/ ATmega168 Menggunak-
BAB 3. PENERAPAN GAME 102
an ATmega168 dan berjalan pada clock 16 MHz without auto-reset. Proses kompilasi dan upload sama dengan Arduino Diecimila atau Duemilanove w/
ATmega168,memiliki 16 Input Analog, 14 Digital I/O
and 6 PWM.
Arduino Robot Control Menggunakan ATmega328
dan berjalan pada clock 16 MHz dengan auto-reset.
Arduino Robot Motor Menggunakan ATmega328 dan
berjalan pada clock 16 MHz dengan auto-reset.
Arduino Gemma Menggunakan ATtiny85 dan berjalan pada clock 8 MHz dengan auto-reset, 1 Analog In,
3 Digital I/O and 2 PWM.
3.1.6 Arduino Uno
Arduino UNO adalah sebuah board mikrokontroler yang didasarkan pada ATmega328 (datasheet). Arduino UNO mempunyai 14 pin digital input/output (6 di antaranya dapat digunakan sebagai output PWM), 6 input analog, sebuah osilator
Kristal 16 MHz, sebuah koneksi USB, sebuah power jack, sebuah ICSP header, dan sebuat tombol reset. Arduino UNO
memuat semua yang dibutuhkan untuk menunjang mikrokontroler, mudah menghubungkannya ke sebuah computer dengan
BAB 3. PENERAPAN GAME 103
sebuah kabel USB atau mensuplainya dengan sebuah adaptor
AC ke DC atau menggunakan baterai untuk memulainya.
Arduino Uno berbeda dari semua board Arduino sebelumnya, Arduino UNO tidak menggunakan chip driver FTDI USBto-serial. Sebaliknya, tur- tur Atmega16U2 (Atmega8U2 sampai ke versi R2) diprogram sebagai sebuah pengubah USB ke
serial. Revisi 2 dari board Arduino Uno mempunyai sebuah
resistor yang menarik garis 8U2 HWB ke ground, yang membuatnya lebih mudah untuk diletakkan ke dalam DFU mode.
Revisi 3 dari board Arduino UNO memiliki tur- tur baru sebagai berikut:
1. Pinout 1.0: ditambah pin SDA dan SCL yang dekat dengan pin AREF dan dua pin baru lainnya yang diletakkan dekat dengan pin RESET, IOREF yang memungkinkan
shield-shield untuk menyesuaikan tegangan yang disediakan dari board. Untuk ke depannya, shield akan dijadikan
kompatibel/cocok dengan board yang menggunakan AVR
yang beroperasi dengan tegangan 5V dan dengan Arduino
Due yang beroperasi dengan tegangan 3.3V. Yang ke-dua
ini merupakan sebuah pin yang tak terhubung, yang disediakan untuk tujuan kedepannya
2. Sirkit RESET yang lebih kuat
BAB 3. PENERAPAN GAME 104
3. Atmega 16U2 menggantikan 8U2
Uno berarti satu dalam bahasa Italia dan dinamai untuk menandakan keluaran (produk) Arduino 1.0 selanjutnya. Arduino UNO dan versi 1.0 akan menjadi referensi untuk versi-versi
Arduino selanjutnya. Arduino UNO adalah sebuah seri terakhir dari board Arduino USB dan model referensi untuk papan
Arduino, untuk suatu perbandingan dengan versi sebelumnya,
lihat indeks dari board Arduino.
Skema dan Referensi Desain Catatan: Referensi desain
Arduino dapat menggunakan sebuah Atmega8, 168, atau 328,
model saat ini menggunakan Atmega328, tetapi Atmega8 ditampilkan pada skema sebagai referensi. Kon gurasi pin identik
pada semua ketiga prosesor tersebut.
Daya (Power) Arduino UNO dapat disuplai melalui koneksi
USB atau dengan sebuah power suplai eksternal. Sumber daya dipilih secara otomatis. Suplai eksternal (non-USB) dapat
diperoleh dari sebuah adaptor AC ke DC atau battery.
Adaptor dapat dihubungkan dengan mencolokkan sebuah
center-positive plug yang panjangnya 2,1 mm ke power jack dari
board. Kabel lead dari sebuah battery dapat dimasukkan dalam header/kepala pin Ground (Gnd) dan pin Vin dari konektor
BAB 3. PENERAPAN GAME 105
POWER.
Board Arduino UNO dapat beroperasi pada sebuah suplai
eksternal 6 sampai 20 Volt. Jika disuplai dengan yang lebih kecil dari 7 V, kiranya pin 5 Volt mungkin mensuplai kecil dari 5
Volt dan board Arduino UNO bisa menjadi tidak stabil. Jika
menggunakan suplai yang lebih dari besar 12 Volt, voltage regulator bisa kelebihan panas dan membahayakan board Arduino
UNO. Range yang direkomendasikan adalah 7 sampai 12 Volt.
Pin-pin dayanya adalah sebagai berikut:
VIN. Tegangan input ke Arduino board ketika board sedang menggunakan sumber suplai eksternal (seperti 5 Volt
dari koneksi USB atau sumber tenaga lainnya yang diatur). Kita dapat menyuplai tegangan melalui pin ini, atau
jika penyuplaian tegangan melalui power jack, aksesnya
melalui pin ini.
5V. Pin output ini merupakan tegangan 5 Volt yang diatur
dari regulator pada board. Board dapat disuplai dengan
salah satu suplai dari DC power jack (7-12V), USB connector (5V), atau pin VIN dari board (7-12). Penyuplaian
tegangan melalui pin 5V atau 3,3V membypass regulator,
dan dapat membahayakan board. Hal itu tidak dianjurkan.
BAB 3. PENERAPAN GAME 106
3V3. Sebuah suplai 3,3 Volt dihasilkan oleh regulator pada
board. Arus maksimum yang dapat dilalui adalah 50 mA.
GND. Pin ground.
Memori ATmega328 mempunyai 32 KB (dengan 0,5 KB digunakan untuk bootloader). ATmega 328 juga mempunyai 2
KB SRAM dan 1 KB EEPROM (yang dapat dibaca dan ditulis
(RW/read and written) dengan EEPROM library).
Input dan Output Setiap 14 pin digital pada Arduino Uno
dapat digunakan sebagai input dan output, menggunakan fungsi pinMode(),digitalWrite(), dan digitalRead(). Fungsi-fungsi
tersebut beroperasi di tegangan 5 Volt. Setiap pin dapat memberikan atau menerima suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up (terputus secara default) 20-50
kOhm. Selain itu, beberapa pin mempunyai fungsi-fungsi spesial:
Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima
(RX) dan memancarkan (TX) serial data TTL (TransistorTransistor Logic). Kedua pin ini dihubungkan ke pin-pin
yang sesuai dari chip Serial Atmega8U2 USB-ke-TTL.
BAB 3. PENERAPAN GAME 107
External Interrupts: 2 dan 3. Pin-pin ini dapat dikon -
gurasikan untuk dipicu sebuah interrupt (gangguan) pada
sebuah nilai rendah, suatu kenaikan atau penurunan yang
besar, atau suatu perubahan nilai. Lihat fungsi attachInterrupt() untuk lebih jelasnya.
PWM: 3, 5, 6, 9, 10, dan 11. Memberikan 8-bit PWM
output dengan fungsi analogWrite().
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin
ini mensupport komunikasi SPI menggunakan SPI library.
LED: 13. Ada sebuah LED yang terpasang, terhubung ke
pin digital 13. Ketika pin bernilai HIGH LED menyala,
ketika pin bernilai LOW LED mati.
Arduino UNO mempunyai 6 input analog, diberi label A0 sampai A5, setiapnya memberikan 10 bit resolusi (contohnya 1024
nilai yang berbeda). Secara default, 6 input analog tersebut
mengukur dari ground sampai tegangan 5 Volt, dengan itu mungkin untuk mengganti batas atas dari rangenya dengan menggunakan pin AREF dan fungsi analogReference(). Di sisi lain,
beberapa pin mempunyai fungsi spesial:
TWI: pin A4 atau SDA dan pin A5 atau SCL. Mensupport
komunikasi TWI dengan menggunakan Wire library
BAB 3. PENERAPAN GAME 108
Ada sepasang pin lainnya pada board:
AREF. Referensi tegangan untuk input analog. Digunakan dengan analogReference().
Reset. Membawa saluran ini LOW untuk mereset mikrokontroler. Secara khusus, digunakan untuk menambahkan
sebuah tombol reset untuk melindungi yang memblock sesuatu pada board.
Komunikasi Arduino UNO mempunyai sejumlah fasilitas untuk komunikasi dengan sebuah komputer, Arduino lainnya atau
mikrokontroler lainnya. Atmega 328 menyediakan serial komunikasi UART TTL (5V), yang tersedia pada pin digital 0 (RX)
dan 1 (TX). Sebuah Atmega 16U2 pada channel board serial
komunikasinya melalui USB dan muncul sebagai sebuah port
virtual ke software pada komputer. Firmware 16U2 menggunakan driver USB COM standar, dan tidak ada driver eksternal
yang dibutuhkan.
Bagaimanapun, pada Windows, sebuah le inf pasti dibutuhkan. Software Arduino mencakup sebuah serial monitor yang
memungkinkan data tekstual terkirim ke dan dari board Arduino. LED RX dan TX pada board akan menyala ketika data
sedang ditransmit melalui chip USB-to-serial dan koneksi USB
BAB 3. PENERAPAN GAME 109
pada komputer (tapi tidak untuk komunikasi serial pada pin 0
dan 1). Atmega328 juga mensupport komunikasi I2C (TWI)
dan SPI. Software Arduino mencakup sebuah Wire library untuk memudahkan menggunakan bus I2C, lihat dokumentasi untuk lebih jelas. Untuk komunikasi SPI, gunakanSPI library.
Programming Arduino UNO dapat diprogram dengan software Arduino (download). Pilih Arduino Uno dari menu Tools > Board(termasuk mikrokontroler pada board). Untuk lebih
jelas, lihat referensi dan tutorial.
ATmega328 pada Arduino Uno hadir dengan sebuah bootloader yang memungkinkan kita untuk mengupload kode baru ke
ATmega328 tanpa menggunakan pemrogram hardware eksternal. ATmega328 berkomunikasi menggunakan protokol STK500
asli (referensi, le C header)
Kita juga dapat membypass bootloader dan program mikrokontroler melalui kepala/header ICSP (In-Circuit Serial Programming); lihat instruksi untuk lebih jelas Sumber kode rmware ATmega16U2 (atau 8U2 pada board revisi 1 dan revisi
2) tersedia. ATmega16U2/8U2 diload dengan sebuah bootloader DFU, yang dapat diaktifkan dengan:
Pada board Revisi 1: Dengan menghubungkan jumper solder pada belakang board (dekat peta Italy) dan kemudian
BAB 3. PENERAPAN GAME 110
mereset 8U2
Pada board Revisi 2 atau setelahnya: Ada sebuah resistor yang menarik garis HWB 8U2/16U2 ke ground, dengan itu dapat lebih mudah untuk meletakkan ke dalam
mode DFU. Kita dapat menggunakan software Atmel's
FLIP (Windows) atau pemrogram DFU (Mac OS X dan
Linux) untuk meload sebuah rmware baru. Atau kita dapat menggunakan header ISP dengan sebuah pemrogram
eksternal (mengoverwrite bootloader DFU). Lihat tutorial
user-contributed ini untuk informasi selengkapnya.
Reset Otomatis (Software) Dari pada mengharuskan sebuah penekanan sik dari tombol reset sebelum sebuah penguploadan, Arduino Uno didesain pada sebuah cara yang memungkinkannya untuk direset dengan software yang sedang berjalan
pada pada komputer yang sedang terhubung. Salah satu garis kontrol aliran hardware (DTR) dari ATmega8U2/16U2 sihubungkan ke garis reset dari ATmega328 melalui sebuah kapasitor
100 nanofarad. Ketika saluran ini dipaksakan (diambil rendah),
garis reset jatuh cukup panjang untuk mereset chip. Software Arduino menggunakan kemampuan ini untuk memungkinkan
kita untuk mengupload kode dengan mudah menekan tombol
upload di software Arduino. Ini berarti bahwa bootloader da-
BAB 3. PENERAPAN GAME 111
pat mempunyai sebuah batas waktu yang lebih singkat, sebagai
penurunan dari DTR yang dapat menjadi koordinasi yang baik
dengan memulai penguploadan.
Pengaturan ini mempunyai implikasi. Ketika Arduino Uno
dihubungkan ke sebuah komputer lain yang sedang running menggunakan OS Mac X atau Linux, Arduino Uno mereset setiap
kali sebuah koneksi dibuat dari software (melalui USB). Untuk
berikutnya, setengah-detik atau lebih, bootloader sedang berjalan pada Arduino UNO. Ketika Arduino UNO diprogram untuk
mengabaikan data yang cacat/salah (contohnya apa saja selain sebuah penguploadan kode baru) untuk menahan beberapa
bit pertama dari data yang dikirim ke board setelah sebuah
koneksi dibuka. Jika sebuah sketch sedang berjalan pada board menerima satu kali kon gurasi atau data lain ketika sketch
pertama mulai, memastikan bahwa software yang berkomunikasi menunggu satu detik setelah membuka koneksi dan sebelum
mengirim data ini.
Arduino Uno berisikan sebuah jejak yang dapat dihapus untuk mencegah reset otomatis. Pad pada salah satu sisi dari jejak
dapat disolder bersama untuk mengaktifkan kembali. Pad itu
diberi label RESET-RN Kita juga dapat menonaktifkan reset
otomatis dengan menghubungkan sebuah resistor 110 ohm dari
tegangan 5V ke garis reset; lihat thread forum ini untuk lebih
BAB 3. PENERAPAN GAME 112
jelasnya.
Proteksi Arus lebih USB Arduino UNO mempunyai sebuah sebuah sekring reset yang memproteksi port USB komputer dari hubungan pendek dan arus lebih. Walaupun sebagian
besar komputer menyediakan proteksi internal sendiri, sekring
menyediakan sebuah proteksi tambahan. Jika lebih dari 500 mA
diterima port USB, sekring secara otomatis akan memutuskan
koneksi sampai hubungan pendek atau kelebihan beban hilang.
Karakteristik Fisik Panjang dan lebar maksimum dari PCB
Arduino UNO masing-masingnya adalah 2.7 dan 2.1 inci, dengan konektor USB dan power jack yang memperluas dimensinya. Empat lubang sekrup memungkinkan board untuk dipasangkan ke sebuah permukaan atau kotak. Sebagai catatan,
bahwa jarak antara pin digital 7 dan 8 adalah 160 mil. (0.16"),
bukan sebuah kelipatan genap dari jarak 100 mil dari pin lainnya.
3.1.7 Implementasi
Pada pembuatan buku kali ini yang bertemakan game menggunakan arduino, kelompok kami membuat game dengan menggunakan arduino sebagai media dalam memainkannya. Dimana
BAB 3. PENERAPAN GAME 113
arduino bertindak sebagai sensor dalam permainan ini. Berikut
adalah tahapan dalam pembuatan game ini:
Pertama siapkan dahulu alat alat yang digunakan, diantaranya adalah
Arduino UNO
Genuino UNO
Touch screen display TFT Display
Potongan puzzle berbahan kayu
Pita temabaga
Dan Arduino IDE sebagai program
kami membuat Jigsaw Puzzle Timer menggunakan layar
sentuh panel TFT. Ini mengukur waktu sampai teka-teki
selesai. Dimana timer dibuat dengan menggunakan layar
LCD tadi. Layar Sentuh untuk Arduino UNO digunakan untuk menampilkan waktu, dan pewaktu berhenti saat
teka-teki selesai.
Tempelkan pita foil tembaga ke bagian belakang teka-teki
kayu, benda itu akan menjadi konduktif saat teka-teki selesai.
BAB 3. PENERAPAN GAME 114
Bor dua lubang di bingkai dan biarkan melewati konduktor
dan solder ke elektroda dari pita foil tembaga.
Bor dua lubang di bingkai dan biarkan melewati konduktor
dan solder ke elektroda dari pita foil tembaga.
Gambar 3.3: bor kayu untuk masuk kabel
kemudian sambungkan pita tembaga kabel agar terjadi
aliran arus listrik, sehingga sebuah bagian dari puzzle terhubung.
BAB 3. PENERAPAN GAME 115
Gambar 3.4: hubungkan kabel dengan copper foil
Tutup bagian samping dan belakang teka-teki dengan foil
tembaga sehingga dua titik akan dilakukan saat selesai.
BAB 3. PENERAPAN GAME 116
Gambar 3.5: melapisi potongan puzzle dengan pita tembaga
lakukan sampai semua potongan puzzle seperti gambar di
bawah ini
Gambar 3.6: hasil akhir penempelan pita tembaga
BAB 3. PENERAPAN GAME 117
Kami menggunakan driver ILI9325. 320 x 240 piksel. kami menggunakannya sebagai stopwatch untuk mengukur
waktu untuk menyelesaikan teka-teki ini.
Kami menggunakan perpustakaan Arduino berikut. Kami
membuat sebuah program berdasarkan contoh program
tftpaint.ino
Masukkan display di UNO dan hubungkan dua kabel dari teka-teki ke pin A5 dan yang lainnya ke GND. Saat
"START" pada panel sentuh ditekan, timer dimulai, tekateki selesai dan stopwatch berhenti saat A5 melakukan
GND.
dan berikut ini adalah kode program yang digunakan
#include <Adafruit_GFX.h>
#include <Adafruit_TFTLCD.h>
#include <TouchScreen.h>
Kode di atas digunakan untuk memasukan library graphic,
hardware, dan touchacreen.
#if defined(__SAM3X8E__)
#undef __FlashStringHelper::F(string_literal)
#define F(string_literal) string_literal
BAB 3. PENERAPAN GAME 118
#endif
Mende nisikan arduino, atau melakukan kalibrasi layar
yang digunakan.
#define YP A1
#define XM A2
#define YM 7
#define TS_MINX 150
#define TS_MINY 120
#define TS_MAXX 920
#define TS_MAXY 940
Mende nisikan alur yang digunakan untuk menghubungkan software arduino dengan perangkat. Untuk ketepatan
tekanan yang lebih baik, kita perlu mengetahui resistansi,
Antara X + dan X- Gunakan multimeter untuk membacanya, Untuk yang kita gunakan, 300 ohmnya melintang
di piring X
TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300);
Kode di atas digunakan untuk pembuatan variabel untuk
mende nisikan keliling dari layar.
BAB 3. PENERAPAN GAME 119
#define LCD_CS A3
#define LCD_CD A2
#define LCD_WR A1
#define LCD_RD A0
Mende nisikan titik hubungan dari LCD ke arduino.
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
Tetapkan nama yang dapat dibaca manusia ke beberapa
nilai warna 16-bit yang umum. Atau mende nisikan warna yang di tampilkan pada layar nanti.
Adafruit_TFTLCD tft
(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
Mende nisikan variabel yang menghubungkan arduino dengan layar tadi.
BAB 3. PENERAPAN GAME 120
long startTime;
long elapsedTime;
int fractional = 0;
int Min = 0;
int sec = 0;
int state = 3;
Mende nisikan variabel dengan tipe data masing-masing\
void setup(void) {
Serial.begin(9600);
Serial.println(F("Paint!"));
pinMode(A5, INPUT_PULLUP);
tft.reset();
uint16_t identifier = tft.readID();
Pembuatan method yang digunakan untuk melakukan setup pada layar LCD, dan digunakan untuk identi kasi Layar. Dan juga terdapat fungsi yang membuat agar layar
clear atau bersih dari tulisan. Atau di reset.
if(identifier == 0x9325) {
Serial.println(F("Found ILI9325 LCD driver"));
} else if(identifier == 0x9328) {
Serial.println(F("Found ILI9328 LCD driver")); }
else if(identifier == 0x7575) {
Serial.println(F("Found HX8347G LCD driver")); }
else if(identifier == 0x9341) {
BAB 3. PENERAPAN GAME 121
Serial.println(F("Found ILI9341 LCD driver")); }
else if(identifier == 0x8357) {
Serial.println(F("Found HX8357D LCD driver")); }
else { Serial.print(F("Unknown LCD driver chip: "));
Serial.println(identifier, HEX);
Serial.println(F("If using the Adafruit 2.8\" TFT Arduino shield, the line:"));
Serial.println(F(" #define USE_ADAFRUIT_SHIELD_PINOUT"));
Serial.println(F("should appear in the library header (Adafruit_TFT.h)."));
Serial.println(F("If using the breakout board, it should NOT be #defined!"));
Serial.println(F("Also if using the breakout, double-check that all wiring"));
Serial.println(F("matches the tutorial.")); return; }
Kode di atas digunakan untuk melakukan identi kasi terhadap warna yang muncul pada driver. Warna yang dikeluarkan adalah warna yang telah di de nisikan sebelumnya. Tetapi jika warna tidak ditemukan dalam layar,
maka akan muncul tulisan unknown LCD driver chip ,
kemudian meidenti kasikan nilai dari warna dalam heximal. Tetapi jika tidak keluar, maka akan muncul If using
the Adafruit 2.8\" TFT Arduino shield, the line: , #de -
ne USE_ADAFRUIT_SHIELD_PINOUT , If using the
breakout board, it should NOT be #de ned! , Also if
using the breakout, double-check that all wiring , matches the tutorial. .
tft.begin(identifier);
tft.fillScreen(BLACK);
tft.setRotation(1);
tft.fillRect(0, 160, tft.width(), 80, CYAN);
BAB 3. PENERAPAN GAME 122
tft.setCursor(15, 165);
tft.setTextColor(RED);
tft.setTextSize(10);
tft.println("START");
Kode program di atas masih di dalam method setup, yaitu
digunakan untuk mengisi layar LCD, dan menampilkan
text dengan tulisan START .
#define MINPRESSURE 10
#define MAXPRESSURE 1000 void loop() {
TSPoint p = ts.getPoint();
pinMode(XM, OUTPUT);
pinMode(YP, OUTPUT);
if (p.z > MINPRESSURE && p.z < MAXPRESSURE) {
p.x = map(p.x, TS_MINX, TS_MAXX, tft.width(), 0);
p.y = map(p.y, TS_MINY, TS_MAXY, tft.height(), 0);
Serial.print("(");
Serial.print(p.x);
Serial.print(", ");
Serial.print(p.y);
Serial.println(")");
Selanjutnya mende nisikan kembali press atau action terhadap layar jika tersentuh. Dan buat kembali method
dengan nama loop, dimana mathod ini digunakan untuk
mengidenti kasi sentuhan pada layar, dan mengakibatkan
terbentuknya kordinat X dan Y.
BAB 3. PENERAPAN GAME 123
if (p.x > 160 && digitalRead(A5) == 1) {
Serial.println("Reset");
if(state == 1){
state = 2;
tft.fillRect(0, 160, tft.width(), 80, CYAN);
tft.setCursor(15, 165);
tft.setTextColor(RED);
tft.setTextSize(10);
tft.println("RESET");
Jika kordinat x tersentuh dengan tertentu, maka layar akan mngeluarkan text RESET pada layar. Dimana ukuran yang terbentuk adalah 160x80 dan text yang muncul
sebesar 10dp.
if(state == 0){
startTime = millis();
state = 1;
tft.fillRect(0, 160, tft.width(), 80, CYAN);
tft.setCursor(45, 165);
tft.setTextColor(RED);
tft.setTextSize(10);
tft.println("STOP");
BAB 3. PENERAPAN GAME 124
Setelah tombol reset tersentuh maka akan berjalan waktu
timer, dan terdapat tombol dengan tulisan STOP berwarna merah. Jika tombol stop ini di tekan akan mengehentikan timer.
if (Min < 10)
tft.print("0");
tft.print(Min);
tft.print(":");
sec = (int)((elapsedTime / 1000L) % 60);
if (sec < 10)
tft.print("0");
tft.print(sec);
tft.print(".");
tft.setTextSize(5);
fractional = (int)((elapsedTime % 1000L)/10);
if (fractional < 10)
tft.print("0");
tft.println(fractional); }
Kode di atas digunakan untuk menampilkan waktu pada
timer dimana jika menit kurang dari 10 maka akan ter
cetak pada layar LCD Min : Sec. Dimana terdapat menit
dan detik pada layar. Dengan text sebesar 5dp.