Minggu, 23 Juli 2017

BAB 2 Game Pong Berbasis Arduino

BAB 2
Game Pong Berbasis Arduino

 Nama           :  Chairunnisaa
 NPM            :  52414319


            Arduino memiliki kelebihan tersendiri dibanding board mikrokontroler yang lain selain bersifat open source, arduino juga mempunyai bahasa pemrogramanya sendiri yang berupa bahasa C. Selain itu dalam board arduino sendiri sudah terdapat loader yang berupa USB sehingga memudahkan kita ketika kita memprogram mikrokontroler didalam arduino. Sedangkan pada kebanyakan board mikrokontroler yang lain yang masih membutuhkan rangkaian loader terpisah untuk memasukkan program ketika kita memprogram mikrokontroler. Port USB tersebut selain untuk loader ketika memprogram, bisa juga difungsikan sebagai port komunikasi serial.
Arduino menyediakan 20 pin I/O, yang terdiri dari 6 pin input analog dan 14 pin digital input/output. Untuk 6 pin analog sendiri bisa juga difungsikan sebagai output digital jika diperlukan output digital tambahan selain 14 pin yang sudah tersedia. Untuk mengubah pin analog menjadi digital cukup mengubah konfigurasi pin pada program. Dalam board kita bisa lihat pin digital diberi keterangan 0-13, jadi untuk menggunakan pin analog menjadi output digital, pin analog yang pada keterangan board 0-5 kita ubah menjadi pin 14-19. dengan kata lain pin analog 0-5 berfungsi juga sebagi pin output digital 14-16.
Sifat open source arduino juga banyak memberikan keuntungan tersendiri untuk kita dalam menggunakan board ini, karena dengan sifat open source komponen yang kita pakai tidak hanya tergantung pada satu merek, namun memungkinkan kita bisa memakai semua komponen yang ada di pasaran.

·         Power
Arduino dapat diberikan power melalui koneksi USB atau power supply. Powernya diselek secara otomatis. Power supply dapat menggunakan adaptor DC atau baterai. Adaptor dapat dikoneksikan dengan mencolok jack adaptor pada koneksi port input supply. Board arduino dapat dioperasikan menggunakan supply dari luar sebesar 6 – 20 volt. Jika supply kurang dari 7V, kadangkala pin 5V akan menyuplai kurang dari 5 volt dan board bisa menjadi tidak stabil. Jika menggunakan lebih dari 12 V, tegangan di regulator bisa menjadi sangat panas dan menyebabkan kerusakan pada board. Rekomendasi tegangan ada pada 7 sampai 12 volt.
Penjelasan pada pin power adalah sebagai berikut :
  • Vin
Tegangan input ke board arduino ketika menggunakan tegangan dari luar (seperti yang disebutkan 5 volt dari koneksi USB atau tegangan yang diregulasikan). Pengguna dapat memberikan tegangan melalui pin ini, atau jika tegangan suplai menggunakan power jack, aksesnya menggunakan pin ini.
  • 5V
Regulasi power supply digunakan untuk power mikrokontroller dan komponen lainnya pada board. 5V dapat melalui Vin menggunakan regulator pada board, atau supply oleh USB atau supply regulasi 5V lainnya.
  • 3V3
Suplai 3.3 volt didapat oleh FTDI chip yang ada di board. Arus maximumnya adalah 50mA
  • Pin Ground
Berfungsi sebagai jalur ground pada arduino

  • Memori
ATmega328 memiliki 32 KB flash memori untuk menyimpan kode, juga 2 KB yang digunakan untuk bootloader. ATmega328 memiliki 2 KB untuk SRAM dan 1 KB untuk EEPROM.
·         Input & Output
Setiap 14 pin digital pada arduino dapat digunakan sebagai input atau output, menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead(). Input/output dioperasikan pada 5 volt. Setiap pin dapat menghasilkan atau menerima maximum 40 mA dan memiliki internal pull-up resistor (disconnected oleh default) 20-50K Ohm.
Beberapa pin memiliki fungsi sebagai berikut :
-       Serial : 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirim (TX) TTL data serial. Pin ini terhubung pada pin yang koresponding dari USB ke TTL chip serial.
-       Interupt eksternal : 2 dan 3. Pin ini dapat dikonfigurasikan untuk trigger sebuah interap pada low value, rising atau falling edge, atau perubahan nilai.
-       PWM : 3, 5, 6, 9, 10, dan 11. Mendukung 8-bit output PWM dengan fungsi analogWrite().
-       SPI : 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin ini mensuport komunikasi SPI, yang mana masih mendukung hardware, yang tidak termasuk pada bahasa arduino.
-       LED : 13. Ini adalah dibuat untuk koneksi LED ke digital pin 13. Ketika pin bernilai HIGH, LED hidup, ketika pin LOW, LED mati.
·         Komunikasi
Uno Arduino memiliki sejumlah fasilitas untuk berkomunikasi dengan komputer, Arduino lain, atau mikrokontroler lain. ATmega328 ini menyediakan UART TTL (5V) komunikasi serial, yang tersedia pada pin digital 0 (RX) dan 1 (TX). Firmware Arduino menggunakan USB driver standar COM, dan tidak ada driver eksternal yang dibutuhkan. Namun, pada Windows, file. Ini diperlukan. Perangkat lunak Arduino termasuk monitor serial yang memungkinkan data sederhana yang akan dikirim ke board Arduino. RX dan TX LED di board akan berkedip ketika data sedang dikirim melalui chip USB-to-serial dan koneksi USB ke komputer.
·         Software Arduino
Arduino Uno dapat diprogram dengan perangkat lunak Arduino . Pada ATMega328 di Arduino terdapat bootloader yang memungkinkan Anda untuk meng-upload kode baru untuk itu tanpa menggunakan programmer hardware eksternal.
IDE Arduino adalah software yang sangat canggih ditulis dengan menggunakan Java. IDE Arduino terdiri dari:
  1. Editor program, sebuah window yang memungkinkan pengguna menulis dan mengeditprogram dalam bahasa Processing.
  2. Compiler, sebuah modul yang mengubah kode program (bahasa Processing) menjadi kode biner. Bagaimanapun sebuah mikrokontroler tidak akan bisa memahami bahasa Processing. Yang bisa dipahami oleh mikrokontroler adalah kode biner. Itulah sebabnya compiler diperlukan dalam hal ini.
  3. Uploader, sebuah modul yang memuat kode biner dari komputer ke dalam memory didalam papan Arduino.
Sebuah kode program Arduino umumnya disebut dengan istilah sketch. Kata“sketch” digunakan secara bergantian dengan “kode program” dimana keduanya memiliki arti yang sama.
Abstrak

Game Pong adalah salah satu permainan arkade pertama yang menandai era video game. Karena kesederhanaan permainannya, game ini banyak diadaptasi dan diimplementasikan oleh orang-orang di seluruh dunia sepanjang masa. Pada proyek ini, akan diimplementasi game Pong menggunakan FreeRTOS yang akan ditampilkan di Arduino yang kontrolnya menggunakan joystick.

1.    Spesifikasi Desain Sistem

Pong adalah permainan video generasi pertama yang dirilis sebagai permainan arkade yang dioperasikan dengan koin yang dikembangkan oleh Atari Inc. pada tanggal 29 November, 1972. Pong didasari dari permainan atau olahraga tenis meja (pingpong), nama permainan ini berasal dari suara yang dihasilkan ketika memukul bola pingpong. Kata Pong telah didaftarkan sebagai merek dari Atari Interactive.
Pong dengan cepat menjadi permainan komersial pertama yang sangat sukses, dan merupakan permulaan dari industri permainan video. Tak lama setelah dirilis, beberapa perusahaan berusaha menyalin permainan Pong, dan merilis beberapa permainan baru. Sehingga, Atari memberanikan pegawainya untuk membuat permainan yang lebih inovatif. Beberapa sekuel muncul dengan permainan yang sama, namun dengan fitur baru. Pada permulaan Natal 1975, Atari secara eksklusif merilis versi rumahan Pong via toko ritel Sears. Pada proyek ini, game Pong akan dibuat dengan environment FreeRTOS dengan prosesor Arduino.
Spesifikasi sistem yang akan dibuat adalah sebagai berikut:
·         Menggunakan development board Arduino Uno
·         Menggunakan FreeRTOS sebagai operating system pada konsol
·         Menggunakan joystick sebagai input, dimana player menggerakkan joystick ke atas atau ke bawah
·         Menggunakan layar OLED untuk menampilkan game Pong yang dijalankan
·         Permainan terdiri dari dua buah paddle, dimainkan oleh dua orang player, yang saling memantulkan bola, dengan objektif menggolkan bola ke arah lawan sebanyak-banyaknya, ke daerah lawan yang tidak ber-paddle
·         Skor bertambah setiap bola berhasil mencapai daerah lawan
·         Permainan selesai ketika skor salah satu pemain mencapai 10









BAB I PENDAHULUAN

BAB 1

PENDAHULUAN


 Nama           :  Chairunnisaa
 NPM            :  52414319


1.1      Latar Belakang

Pengembangan tentang AI (Artificial Intelligence) pada perilaku NPC (Non Player Character) dalam game, sampai saat ini masih terus dikembangkan. Penerapan AI yang baik pada sebuah game adalah ketika sebuah karakter didalam permainan menunjukan perilaku yang konsisten dan realistis, bereaksi dengan tepat kepada tindakan pemain dan karakter lain seperti halnya manusia. Terdapat banyak AI (Artificial Intelligence) yang dapat diterapkan dalam game salah satunya N-Gram. N-Gram dalam game adalah kecerdasan buatan untuk NPC (Non Player Character) yang digunakan untuk memprediksi perilaku player pada game sehingga dapat memperoleh keputusan yang akan dilakukan. Permainan tenis meja atau yang lebih dikenal dengan istilah “pingpong” merupakan suatu cabang olahraga yang unik dan kreatif. Pengertian tenis meja adalah suatu permainan yang menggunakan meja sebagai lapangan yang dibatasi oleh jaring (net) yang menggunakan bola kecil yang terbuat dari celluloid dan permainannya menggunakan pemukul atau yang disebut bet. Permainan tenis meja adalah suatu permainan dengan menggunakan fasilitas meja dan perlengkapannya serta raket dan bola sebagai alatnya. Game bertema tenis meja saat ini sudah ada beberapa, salah satunya adalah game ping pong mini akan tetapi pada game tersebut belum adanya penerapan AI (Artificial Intelligence), game ini diterapkan pada NPC (Non Player Character) untuk memprediksi gerakan player dengan 6 gerakan yaitu menendang, memukul, bertahan, berjalan mundur ,berjalan maju dan menunduk. Pada penelitian ini game tenis meja menerapkan metode N-Gram sebagai AI (Artificial Intelligence) yang diharapkan untuk 2 mengoptimalkan pergerakan NPC agar bisa memprediksi arah pukulan bola yang dipukul oleh player sebelum memprediksi NPC (Non Player Character) hanya akan menebak arah pukulan secara acak akan tetapi game tenis meja ini mempunyai gameplay yang hampir sama dengan game tenis yang lainnya. Berdasarkan latar belakang tersebut diatas, maka diusulkan dalam sebuah penelitian untuk membuat sebuah game yang memiliki genre olahraga dan menerapkan metode N-Gram sebagai AI untuk memprediksi arah pukulan bola pada NPC. Adapun penelitian tersebut dituangkan dalam penyusunan tugas buku dengan judul “Implementasi Pembuatan Game Pong Berbasis Arduino”.

1.2    Tujuan Penulisan
Berdasarkan uraian dari latar belakang masalah, maka perumusan masalah dari penelitian ini yaitu:
-          Memahami bagaimana konsep dasar game pong berbasis arduino
-          Mengetahui game design pong menggunakan arduino
-          Memahami bagaimana mengimplementasikan game pong arduino
-          Sebagai tugas kelompok mata kuliah softskill

1.3    Perumusan Masalah
-          Bagaimana konsep dasar game pong berbasis arduino?
-          Bagaimana game design pong  menggunakan arduino?
-          Bagaimana mengimplementasikan game pong arduino?

Kamis, 16 Februari 2017

HASIL ANIMASI SEDERHANA DENGAN APLIKASI BLENDER


video diatas adalah hasil dari pembuatan animasi sederhana yang menggunakan aplikasi blender yang sebelumnya saya jelaskan.

ANIMASI SEDERHANA DENGAN MENGGUNAKAN BLENDER

kali ini saya akan memberikan sebuah contoh bagaimana cara membuat animasi sederhana dengan aplikasi blender.

PENDAHULUAN
Dalam beberapa tahun terakhir ,pemanasan global semakin sering dibicarakan baik dalam skala kecil sampai tingkat internasional .Pemanasan global meningkatkan suhu permukaan bumi oleh gas rumah kaca akibat aktivitas manusia.Meski suhu lokal berubah-ubah secara alami dalam kurun waktu 50 tahun terakhir suhu global cenderung meningat lebih cepat dibandingkan data yang terekam sebelumnya.Pemanasan global telah menyebabkan perubahan iklim yang signifikan .Efek dari pemanasan ini telah menyebabkan perubahan mengakibatkan banjir bandang dan longsor ,munculnya angin puting beliung bahkan kekeringan yang mengancam jiwa manusia .Cara mencegah pemanasan global dan bencana besar yang akibatkan oleh adanya pemasan global.Perkembangan Teknologi saat ini cukup pesat khususnya dalam bidang animasi dan game .Maka dari itu telah banyak dingunakan aplikasi virtual 3D yang menggabungkan benda maya dua dimensi dan tiga dimensi ke dalam lingkungan nyata selanjutnya akan memproyeksikan benda-benda tersebut dalam waktu nyata.Tugas akhir membahas tentang dampak global warming dan memerlukan video animasi menggunakan 3D Blender .Blender adalah perangkat lunak sumber terbukagrafika komputer 3D. Perangkat lunak ini digunakan untuk membuat film animasi, efek visual, model cetak 3D, aplikasi 3D interaktif dan permainan video. Blender memiliki beberapa fitur termasuk pemodelan 3D, penteksturan, penyunting gambar bitmap, penulangan, simulasi cairan dan asap, simulasi partikel, animasi, penyunting video, pemahat digital, dan rendering.[1]
Adapun tujuan penulisan makalah pemanasan global ini adalah sebagai media pembelajaran bagi masyarakat luas yang memberikan gambaran tentang bahaya global warming bagi kehidupan, pemaparan tentang sebab dan akibat dari global warming serta pemberian solusi tentang bagaimana mengurangi dampak dari global warming tersebut.

PEMBAHASAN
Pengertian Pemanasan global
Pemanasan global adalah (Global Warming ) adalah proses peningkatan suhu rata-rata atmostfer ,laut,daratan bumi. Suhu rata-rata global pada permukaan bumi telah meningkat 0,74 = 0.18C (1.33 = 0.32F) selama seratus tahun terakhir [2]
Penyebab Pemanasan global
a)                  Polusi Karbondiaoksida dari pembangkit listrik bahan bakar fosil
b)                  Polusi Karbondiaoksida dari Pembakaran bensin untuk transportasi
c)                  Gas metana dari peternakan dan pertanian
d)                  Aktivitas penebangan hutan
e)                  Penggunaan pupuk kimia yang berlebihan
Dampak Pemanasan Global
a)                  Iklim mulai tidak stabil
b)                  Peningkatan permukaan laut
c)                  Suhu global cenderung meningkat
d)                  Gangguan Ekologis
 Pengendalian Pemanasan Global
a)                  Program menanam pohon
b)                  Kurangi bangunan rumah kaca
c)                  Cerdas dalam berkendara
d)                  Hemat listrik
e)                  Jangan tebang pohon sembarangan
f)                   Saluran ventilasi yang cukup
g)                  Hemat pemggunaan kertas
Solusi Pemanasan Global
a)                  Tanam Pohon
b)                  Daur Ulang sampah Organik
c)                  Mengurangi penggunaan kendaraan berasap
Konsep Video
Kami membuat animasi tentang penggambaran global warming, penyebab-penyebabnya, dan bagaimana cara menanggulanginya. Kami membuat animasi 3 dimensi dengan menggunakan aplikasi desktop blender. Blender adalah perangkat lunak sumber terbuka grafika komputer 3D. Perangkat lunak ini digunakan untuk membuat film animasi, efek visual, model cetak 3D, aplikasi 3D interaktif dan permainan video. Blender memiliki beberapa fitur termasuk pemodelan 3D, penteksturan, penyunting gambar bitmap, penulangan, simulasi cairan dan asap, simulasi partikel, animasi, penyunting video, pemahat digital, dan rendering[3]
 Teknis Pembuatan
a.      Modelling
Berikut adalah contoh modelling objek mobil. Pertama yaitu bentuk awal objek mobil ini adalah cube atau kubus lalu kita sesuaikan ukuranya menggunakan key S, dan kita bagi menjadi dua rangka (dengan klik R pada object mode).Setelah itu kita extrude bagian kiri dan kanan , Tarik menggunakan mouse searah sumbu X.Untuk bagian belakang mobil , kita bagi mnjadi 4*4 dan extrude keatas hingga seperti pada gambar berikut lalu extrude bagaian samping juga . Buat object baru silinder pipihkan seperti roda. Putar object silinder searah sumbu y atau 90 derajat lalu dekatkan pada bagian bawah mobil.[4]
                                                                         Gambar 1 – Modelling objek mobil
b.      Texturing
Berikut adalah contoh texturing pada objek pohon. Langkah selanjutnya adalah pemberian warna pada objek yang telah dibuat. Untuk objek daun, berikan warna hijau dan untuk batang pohonnya diberi warna coklat. Caranya, pilih menu material (ditandai dengan objek bergambar bulat berwarna merah) yang berada di sebelah menu kiri. Setelah itu pilih warna pada menu diffuse. Sesuaikan warna dengan yang diinginkan. Tampilan pohon akan seperti diatas jika sudah diberi warna.

                                                                           Gambar 2 – Texturing objek pohon
c.       Lighting
Pada blender terdapat fitur lamp untuk mengatur pencahayaan, dengan cara mengetik key shift+A, lalu pilih lamp. Lalu akan ada banyak option jenis lamp untuk pencahayaan,di dalam video animasi kita memilih point yang kami rasa cukup untuk pencahayaan video kami.

                                                                         Gambar 3 – Lighting objek gedung
d.      Rendering
Untuk mempersiapkan rendering kita harus menyesuaikan kamera agar hasil gambar sesuai dengan yang kita inginkan. untuk melihat bagaimana desain kita dilihat dari kamera cukup mengklik View > Camera atau dengan shortcut Numpad 0. Setelah semuanya sudah siap dirender, tekan F12 atau mengklik tombol render yang berada dalam render panel dan tunggu sampai render selesai.
                                                                   Gambar 4 – Rendering objek mobil dan pohon
e.       Animasi
Dalam menganimasi, klik objek yang ingin digerakkaan, misalnya dalam hal ini adalah mobil. Setelah itu pilih frame awal, lalu tetapkan keyframe nya. Ada 3 faktor yg menentukan perubahan yaitu location, rotation, dan scale. Setelah ditambahkan keyframe, ubah ke frame akhir, lalu rubah objeknya, sesuai dengan frame awal tadi, apakah itu loc,rot,atau scale, lalu tambahkan keyframe lg dengan cara ketik I pada keyboard.[5]
                               
                                                                                    Gambar 5 – Video animasi


PENUTUP

Pemanasan global telah menjadi permasalahan yang menjadi sorotan utama umat manusia. Fenomena ini bukan lain diakibatkan oleh perbuatan manusia sendiri dan dampaknya diderita oleh manusia itu juga. Untuk mengatasi pemanasan global diperlukan usaha yang sangat keras karena hampir mustahil untuk diselesaikan saat ini. Pemanasan global memang sulit diatasi, namun kita bisa mengurangi efeknya.Penangguangan hal ini adalah kesadaran kita terhadap kehidupan bumi di masa depan.
Dengan pembuatan animasi ini, telah tercapai bagaimana gambaran global warming kepada masyarakat, dan menjadi media pembelajaran tentang cara mengurangi efek global warming di masa depan.
Daftar Pustaka
 [1]Aini, Ratu. “Animasi 3D Global Warming menggunakan blender”. 15 Januari 20017. http://d4mations.com/animasi-3d-global-warming-menggunakan-blender-2-63/
[2]Andi “Animasi 3D Global Warming menggunakan blender”. 15 Januari 20017.  http://andi0309.blogspot.co.id/2012/08/animasi-3d-global-warming-menggunakan.html
[3]Wikipedia, diakses dari https://id.wikipedia.org/wiki/Blender_%28perangkat_lunak%29, pada tanggal 16 Januari 2017 pukul 11.42
[4]Anonim “Animasi menggunakan blender”. 15 Januari 20017. http://publication.gunadarma.ac.id/bitstream/123456789/5139/1/Dokumen%20Presentasi.pdf
[5]Anonim “Animasi 3D Global Warming menggunakan blender”. 15 Januari 20017. http://hits.gamezblog.net/download/M7Izlu3ztps/animasi-3d-global-warming-menggunakan-blender-263