Rabu, 30 Maret 2016

Konsep Pembuatan Script Game Computer

Game berasal dari bahasa inggris yang berarti permainan. Dalam setiap game terdapat peraturan yang berbeda - beda untuk memulai permainannya sehingga membuat jenis game semakin bervariasi. Karena salah satu fungsi game sebagai penghilang stress atau rasa jenuh maka hampir setiap orang senang bermain game baik anak kecil, remaja maupun dewasa, mungkin hanya berbeda dari jenis game yang dimainkannya saja. Game itu sendiri adalah permainan yang menggunakan media elektronik, merupakan sebuah hiburan berbentuk multimedia yang dibuat semenarik mungkin agar pemain bisa mendapatkan sesuatu sehingga adanya kepuasan batin, dengan bermain game merupakan salah satu sarana pembelajaran. Game dibuat dengan tujuan spesifik sebagai alat pendidikan, untuk belajar mengenal warna, mengenal huruf dan angka, matematika, sampai belajar bahasa asing. Game sendiri mempunyai dampak positif dan negatif pada kehidupan yang memainkannya :
Contoh dampak positif        :
·         Sebagai penghilang stres karena lelah bekerja seharian , mungkin bermain
·         Sebagai media untuk menambah kecerdasan otak dan daya tanggap
Contoh dampak negatif      :
·         Terlalu sering bermain game lupa untuk melakukan pekerjaan yang lainnya , sehingga membuat pekerjaan lain menjadi tertunda .
·         Jika bermain game di komputer terlalu lama akan merusak mata.

Pembentukan ketika proses pembuatan game membutuhkan  susunan yang lebih kompleks, kebutuhan untuk memisahkan konten (desain perilaku) dari mesin. Kehandalan seorang desainer game benar-benar dibutuhkan untuk merancang perilaku yang luas dari karakter. Banyak tersedia berbagai macam bentuk bahasa pemrograman yang ada. Tentunya dari kesemuanya itu memiliki kelebihan dan kekurangan  sendiri-sendiri. Maka game developer harus benar-benar jeli dalam memilih bahasa dan menyusun script untuk membuat suatu game, agar nantinya game dapat berjalan lancar, tanpa bug, dan mampu menjalankan script dengan kebutuhan hardware  seminimum mungkin. Ada 2 cara dalam pembuatan game, yaitu dengan membuat sendiri programnya atau dengan menggunakan game maker yang hanya drag and drop saja. Pembuatan script game bisa dilakukan dengan berbagai bahasa pemrograman.
Pemrograman suatu game bisa menggunakan  berbagai macam jenis bahasa pemrograman. Diantaranya yang terkenal adalah C++, C dan Java. Proses pembuatan game modern bisa memakan waktu 1-3 tahun untuk menyelesaikannya. Lamanya suatu pengembangan bergantung pada sejumlah faktor, seperti genre, skala, platform pengembangan dan jumlah aset. C++ biasa digunakan untuk membuat game engine. Game engine berfungsi sebagai “Middleware” atau jembatan antara Brainware (pembuat game) dan game itu sendiri. Game engine bisa membuat proses pembuatan sebuah game menjadi lebih cepat dan efisien karena game engine layaknya sebuah template yang “reusable”.
A. Pemilihan Bahasa Pemrograman
1. Speed 
Bahasa scripting untuk game harus mampu berjalan secepat mungkin. Jika kita berniat untuk menggunakan banyak script untuk perilakukarakter dan kejadian di level game, maka scriptakan perlu untuk mengeksekusi sebagai bagiandari loop game utama. Ini berarti bahwa scriptyang lambat akan memakan waktu yang kita butuhkan untuk membuat suatu adegan,menjalankan mesin fisika, atau menyiapkan audio.
2. Kompilasi dan Interpretasi (penyusunan dan penafsiran)
Bahasa scripting secara luasdiinterpretasikan,melalui susunan serangkaian byte. Penafsiran bahasa diambil melalui formatteks. Interpreter melihat setiap baris, penyusunan bekerja sesuai yang maksud dari script, danmelakukan tindakan yang spesifik. Bahasa byte-terkompilasi dikonversi dari teks ke formatinternal, yang disebut byte code. Kode byte biasanya jauh lebih padat daripada format teks.Karena kode byte dalam suatu formatdioptimalkan ketika dieksekusi, agar dapat berjalan lebih cepat.
3. Ekstensibilitas dan Integrasi
Bahasa scripting perlu memiliki akses kefungsi yang signifikan ke dalam game. Sebuah script yang mengendalikan karakter, misalnya harus mampu untuk menanyai game untuk mencaritahu apa yang bisa dilihat dan kemudian membiarkan
game tahu apa yang akan dilakukan sebagai aksinya.
4. Re-Entrancy (ikut serta ulang)
Fungsi ini sering berguna untuk memanggil script menjadi diikut sertakan ulang. Mereka dapat berjalan untuk sementara waktu, dan ketika anggaran waktu telah habis script akan dapat ditunda. Ketika script selanjutnya mendapatkan beberapa waktu kembali, maka akan dapat menjalankan kembali script yang ditunda sebelumnya. Hal ini sering membantu untuk membiarkankontrol hasil script saat mencapai jeda normal. Kemudian sebuah algoritma penjadwalan dapat memberikan lebih banyak waktu untuk meminimalisasi penggunaan sumber daya. Sebuah script untuk mengendalikan sebuah karakter, misalnya, mungkin memiliki limatahapan yang berbeda (memeriksa situasi, memeriksa kesehatan, menentukan gerakan, rencana rute, dan melaksanakan gerakan). Ini semua dapat dimasukkan dalam satu script yang menghasilkan penyekat antara setiap bagian. Kemudian masing-masing akan berjalan dengan setiap lima frame, dan beban dari eksekusi AI akan didistribusikan.

B. Embedding (Penanaman)
Embedding berhubungan dengan ekstensibilitas.Sebuah bahasa yang tertanam dirancang untuk dimasukkan ke dalam program lain. Ketika kitamenjalankan bahasa scripting dari workstation, biasanya akan menjalankan program khusus untuk menafsirkan file source code. Dalam game, sistemscripting perlu dikontrol dari dalam program utama.Game yang menentukan jalannya script harusdijalankan dan harus dapat memberitahu mesin terkait bahasa scripting yang cocok untuk memproses scripttersebut.

C. Memilih Sebuah Bahasa
Sejumlah besar bahasa scripting tersedia, dan  banyak dari mereka yang dirilis di bawah lisensi yang cocok untuk dimasukkan dalam sebuah game. Beberapa mesin game komersial dilengkapi dengan dukungan bahasa scripting ini (Unreal dan Quake oleh id Software, misalnya). Hal ini memberikan solusi lengkap dalam efisiensi waktu pembuatan game, karena sebagian besar bahasa yang ada yang digunakan dalam game pada awalnya tidak dirancang untuk tujuan ini.

D. Open Source
Open-source software, seperti namanya, juga memungkinkan akses untuk melihat dan mengubah source code. Hal ini membuat mudah untuk menarik studio dengan memberikan kebebasan untuk menarik keluar setiap kode asing atau kode yang tidak efisien. Beberapa lisensi open source, bahkan yang mengijinkan anda untuk menggunakan bahasa dalam  produk komersial, mengharuskan anda membebaskan modifikasi bahasa itu sendiri. Ini mungkin akan menjadi masalah bagi proyek anda.
Bahasa yang open source yaitu bahasa yang bisa di pakai di berbagai operasi sistem. Bahasa seperti ini contohnya C++, Java. Sebaiknya dalam membuat script game menggunakan bahasa yang open source, agar aplikasi game dapat dipakai oleh pengguna operasi sistem apapun.

E. Tahapan Pengolahan bahasa
Memulai sebagai teks dalam sebuah file teks, script biasanya melewati empat tahap: tokenization, parsing (penguraian), kompilasi, dan interpretasi. Keempat tahapan membentuk sebuah jalur, masing-masing memodifikasi masukan untuk mengubahnya menjadi format yang lebih mudah dimanipulasi.
1.    Tokenizing
Tokenizing mengidentifikasi unsur-unsur dalam teks. Sebuah file teks hanya berisi serangkaian karakter (dalam pengertian karakter ASCII). Hasil tokenizer keluar sebagai kumpulan  byte tertentu dan jenis dari kelompok tertentu yang membentuk mereka. Sebuah string dalam bentuk : 1 a = 3.2;



2.    Parsing
Makna dari sebuah program adalah sangat hirarkis: nama variabel dapat ditemukan dalam sebuah statement pemberian nilai, ditemukan di dalam pernyataan IF-, yang ada di dalam tubuh fungsi, di dalam definisi kelas, maupun di dalam sebuah deklarasi namespace. Contoh : 1 if (a < b) return
dapat dilakukan proses parsing seperti pada bagan di bawah ini :




3.    Compiling
Compiler mengubah parse tree ke dalam kode byte yang dapat dijalankan oleh interpreter. Kode byte  biasanya berbentuk data biner berurutan.
Contoh :

4.    Interpreting
Tahap akhir dari serangkaian ini ialah menjalankan kode byte. Dalam sebuah compiler untuk bahasa seperti C atau C++, produk akhir akan menjadi mesin instruksi yang dapat langsung dijalankan oleh prosesor.

F. Bahasa Yang Sering Digunakan
·         Lua
Lua adalah bahasa prosedural sederhana yang dibangun dari dasar ke atas sebagai bahasa embedding. Desain bahasa didorong oleh ekstensibilitas. Tidak seperti kebanyakan bahasa embedded, hal ini tidak terbatas untuk menambahkan fungsi baru atau tipe data di C atau C + +. Cara kerja bahasa Lua juga dapat men-tweak.
·         Python
Python adalah bahasa yang mudah dipelajari, bahasa scripting berorientasi objek dengan ekstensibilitas  baik dan dukungan embedding. Python menyediakan dukungan yang sangat baik untuk  pemrograman bahasa campuran, termasuk kemampuan untuk secara transparan memanggil C dan C + + dari Python.

E. Tools Lex dan Yacc
Lex dan Yacc adalah dua tool utama yang digunakan dalam membangun tokenizers dan parser. Masing-masing memiliki implementasi yang berbeda dan kebanyakan disediakan untuk platform UNIX (namun tersedia versi untuk platform lain juga). Varian Linux yang sering digunakan contohnya adalah Flex dan Bison.



Referensi :

Senin, 14 Maret 2016

Pengantar Komputasi Modern

1.    Komputasi Modern adalah suatu bentuk konsep sistem yang menerima instruksi dan menyimpannya dalam sebuah memori didalam komputer yang berfungsi untuk menyelesaikan suatu masalah matematis dengan cara menggunakan komputer, yaitu dengan menyusun suatu algoritma yang tentunya dapat dimengerti oleh komputer untuk menyelesaikan masalahnya.
·         Perhitungan yang dilakukan oleh komputasi modern yaitu :
1.    Akurasi
2.    Kecepatan
3.    Problem Volume Besar
4.    Modeling
5.    Kompleksitas

·         Jenis – jenis dari komputasi modern yaitu :
1.    Mobile Computing
2.    Grid Computing
3.    Cloud Computing

2.    Konsep di dalam Cloud Computing diantaranya adalah :
·         Infrastructure as a Service(IaaS)
IaaS adalah konsep yang pertama kali muncul, IaaS banyak diimplementasikan pada penggunaan ataupun penyewaan jaringan untuk melakukan akses dengan internet, layanan Disaster Recovery Center dll.
·         Platform as a Service(PaaS)
PaaS adalah konsep yang tidak jauh berbeda dengan konsep IaaS, hanya saja konsep PaaS ini digunakan pada operating system dan infrastruktur pendukungnya. Contohnya adalah layanan dari situs force.com serta layanan dari para vendor server.
·         Software as a Service(SaaS)
SaaS adalah konsep dari Cloud Computing yang paling terbaru dan paling baik dibandingkan dengan konsep (IaaS dan PaaS), karena konsep SaaS ini didukung oleh software dan aplikasi bisnis tertentu. Contohnya adalah salesforce.com, service-now.com, Google Apps dll.
3.    Contoh aplikasi Cloud Computing
Google Docs adalah aplikasi office dari Google yang berbasis internet atau dalam dunia Cloud Computing masuk dalam kategori SaaS (Software as a Service). Pengguna Google Docs dapat membuat dokument seperti menggunakan aplikasi Microsoft Office, yaitu dapat membuat document seperti menggunakan MS Word, membuat spreadsheet seperti menggunakan MS Excel, membuat presentation seperti menggunakan MS PowerPoint, dan sebagainya. Dengan Google Docs, memungkinkan untuk berbagi pakai file tersebut sehingga file dapat di edit oleh beberapa orang dengan fasilitas sharing, mungkin kemampuan untuk sharing bukanlah hal yang baru karena dalam pengelolaan konvensional secara offline pun file bisa di share agar dapat diakses oleh beberapa orang yang diberikan izin untuk mengakses file tersebut, tapi bukan cuma itu yang dapat di lakukan dengan Google Docs, bahkan dapat melakukan real-time collaboration yaitu kolaborasi meng-edit file bersama beberapa orang pada waktu yang sama. Berikut adalah fasilitas dalam Google Docs :
1.     Fasilitas Upload dokumen
Di Microsoft Office atau atau Open Office, kita biasa mengenal perintah open document namun pada Google Docs ada 2 pilihan untuk membuka dokumen, yang pertama memilih dokumen di halaman awal Google Docs dan mengupload dokumen agar menjadi bagian dari dokumen online di dalam list koleksi Google Docs. Jika ingin membuka dokumen di Google Docs klik upload dan buka file yang sudah di upload.
2. Fasilitas Download dokumen
Google Docs dapat menyimpan dokumen kita di server Google, dan kita juga bisa menyimpan file yang telah kita olah di Google Docs dengan cara memilih opsi file > download as. di download as ini memiliki banyak format penyimpanan dokumen walaupun tidak sekaya program office berbayar. Untuk menyimpan dokumen secara online, kita tidak perlu mengklik save atau semacamnya sebagaimana program Office yang biasa kita gunakan, Google Docs akan menyimpan otomatis semua yang kita kerjakan tanpa harus mengklik suatu perintah khusus.
3. Fasilitas See Revision History
Fasilitas ini berfungsi ketika kita salah dalam mengerjakan sesuatu atau kita tidak setuju dengan pekerjaan teman kita yang telah mereka edit, kita dapat kembali ke editan sebelumnya dengan menggunakan See Revision History.  Coba deh tombol tersebut. Nanti disebelah kanan kita akan ada pilihan waktu editan dokumen dan coba klik salah satu waktu mundur.
4. Sharing and Privacy
Fasilitas ini membuat kita dapat mengelola aksesibilitas dokumen kita dengan menggunakan sharing and privacy, umumya ketika kita membuat dokumen baru dokumen akan terbatas hanya untuk kita saja.
5. Mencetak(printing)
Dengan Google Docs kita bisa langsung mencetak dokumen dan mengatur halaman seperti layaknya “page setup” di aplikasi office lainnya.
6. Translate document
Google Docs memiliki kemampuan untuk menerjemahkan dokumen karena sudah built in dengan layanan Google Translate. Caranya mudah, pilih tools > translate document, lalu ketik nama file baru dengan hasil terjemahan dan pilih bahasanya. Nantinya dokumen terjemahan akan menjadi dokumen baru yang terpisah dari dokumen awal dengan bahasa aslinya.
7.    Dapat diakses dimana saja
Google Docs dapat kita akses dokumen yang kita buat dimana saja asalkan ada koneksi internet. selain itu Google dengan Google Docs kita nggak perlu repot-repot mengirim dokumen lewat email agar teman kita dapat membaca dokumen yang kita buat, cukup berikan akses kepada mereka lewat sharing settings, lalu mereka dapat membaca dan mendownload dokumen kita tanpa harus membuka email.
4.    Perusahaan yang menerapkan Cloud computing salah satunya adalah Google, aplikasi yang diterapkan oleh Google itu sendiri salah satunya adalah Google Docs.