Rabu, 22 Mei 2013

Parallel Computation

Semakin canggih komputer, semakin besar pula kapasitas proses yang ditawarkan. Paralel processing menawarkan pemrosesan data dengan menggunakan sistem parallel sehingga memungkinkan processing data yang besar dengan menggunakan beberapa komputer yang memiliki kapasitas yang lebih kecil namun dirancang secara parallel.

A. Parallelism Concept

Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar (di industri keuangan, bioinformatika, dll) ataupun karena tuntutan proses komputasi yang banyak. Kasus kedua umum ditemui di kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia komputasi) dll.

Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi. Tidak berarti dengan mesin paralel semua program yang dijalankan diatasnya otomatis akan diolah secara paralel !

Salah satu middleware orisinal yang dikembangkan di Indonesia adalah openPC[1] yang digawangi oleh GFTK LIPI dan telah diimplementasikan dengan di LIPI Public Cluster.

Sebenarnya prinsip paralelisme juga sudah diterapkan dalam komputer serial misal dengan pipelining dan superscalar-nya namun demikian tidak memberikan solusi terbaik dalam hal meningkatkan performansi dikarenakan terbatasnya kemampuan untuk menambah kecepatan prosesor dan fenomena memory bottleneck.


B. Distributed Processing

Pemrosesan Paralel adalah komputasi dua atau lebih tugas pada waktu bersamaan dengan tujuan untuk mempersingkat waktu penyelesaian tugas-tugas tersebut dengan cara mengoptimalkan resource pada sistem komputer yang ada untuk mencapai tujuan yang sama. Pemrosesan paralel dapat mempersingkat waktu ekseskusi suatu program dengan cara membagi suatu program menjadi bagian-bagian yang lebih kecil yang dapat dikerjakan pada masing-masing prosesor secara bersamaan.

Tujuan utama dari pemrosesan paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan.

Performa dalam pemrosesan paralel diukur dari berapa banyak peningkatan kecepatan (speed up) yang diperoleh dalam menggunakan teknik paralel. Secara informal, bila anda memotong bawang sendirian membutuhkan waktu 1 jam dan dengan bantuan teman, berdua anda bisa melakukannya dalam 1/2 jam maka anda memperoleh peningkatan kecepatan sebanyak 2 kali.

Adapun proses kerja , pemrosesan paralel membagi beban kerja dan mendistribusikannya pada komputer-komputer lain yang terdapat dalam sistem untuk menyelesaikan suatu masalah. Sistem yang akan dibangun akan tidak akan menggunakan komputer yang didesikasikan secara khusus untuk keperluan pemrosesan paralel melainkan menggunakan komputer yang telah ada. Artinya, sistem ini nantinya akan terdiri dari sejumlah komputer dengan spesifikasi berbeda yang akan bekerjasama untuk menyelesaikan suatu masalah.


C. Architectural Parallel Computer

Sesuai taksonomi Flynn, seorang Designer Processor, Organisasi Prosesor dibagi menjadi 4 :

A. SISD (Single Instruction Single Data Stream)
Arus Instruksi Tunggal dan Data Tunggal
B. SIMD (Single Instruction Multiple Data Stream)
Arus Instruksi Tunggal dan Multiple Data
C. MISD (Multiple Instruction Single Data Stream)
Arus Multiple Instruksi dan Data Tunggal
D. MIMD (Multiple Instruction Multiple Data Stream)
Arus Multiple Instruksi dan Multiple Data



1. Organisasi Prosesor SISD
• Prosesor tunggal
• Aliran instruksi tunggal
• Data disimpan dalam memori tunggal
• Uni-processor




2. Single Instruction, Multiple Data Stream – SIMD
• Single machine instruction
• Mengontrol eksekusi secara simultan
• sejumlah elemen-elemen pengolahan
• Berdasarkan Lock-step
• Setiap pengolahan elemen memiliki hubungan dengan memori data
• Setiap instruksi dieksekusi pada kumpulan data yang berbeda oleh prosesor yang berbeda
• Prosesor Vector and array




3. Multiple Instruction, Single Data Stream – MISD
• Rangkaian dari data
• Dikirimkan ke kumpulan prosesor
• Setiap prosesor mengeksekusi urutan instruksi yang berbeda
• Belum pernah diimplementasikan (komesial)




4. Multiple Instruction, Multiple Data Stream- MIMD
• Kumpulan/sejumlah prosesor
• Mengeksekusi secara simultan urutan instruksi yang berbeda
• Kumpulan data yang berbeda
• SMP, Cluster and sistem NUMA




Sumber :

https://id.wikipedia.org/wiki/Komputasi_paralel
http://dpamudji.wordpress.com/2011/04/01/komputasi-paralel/
http://www.gudangmateri.com/2009/12/pemrosesan-paralel.html
http://organisasiarsitekturkomputernaro.blogspot.com/2011/12/parallel-processing.html
http://seto.citravision.com/berita-48-parallel-computation--architectural-parallel-computer.html

Selasa, 21 Mei 2013

Pengantar Quantum Computation

Teknologi komputerisasi semakin hari semakin berkembang. Mulai bermunculan berbagai konsep dan teknologi komputer yang baru dan canggih menggantikan konsep dan teknologi yang lama. Salah satunya adalah Quantum Computation dan Quantum Computer. Oleh karena itu, kali ini saya akan mencoba menjelaskan mengenai Quantum Computation dan Quantum Computer.

A. Apa Itu Quantum Computation ?

Quantum Computation atau komputasi kuantum adalah bidang studi difokuskan pada teknologi komputer berkembang berdasarkan prinsip-prinsip teori kuantum , yang menjelaskan sifat dan perilaku energi dan materi pada kuantum (atom dan subatom) tingkat. Pengembangan komputer kuantum , jika praktis, akan menandai lompatan maju dalam kemampuan komputasi jauh lebih besar daripada yang dari sempoa ke modern superkomputer , dengan keuntungan kinerja di alam miliar kali lipat dan seterusnya. Komputer kuantum, mengikuti hukum fisika kuantum, akan memperoleh kekuatan pengolahan yang besar melalui kemampuan untuk berada di beberapa negara, dan untuk melakukan tugas-tugas menggunakan semua kemungkinan permutasi secara bersamaan. kini pusat penelitian di komputasi kuantum termasuk MIT, IBM, Oxford University, dan Los Alamos National Laboratory.

Sedangkan teknologi komputer yang menggunakan prinsip-prinsip teori kuantum dikenal dengan komputer kuantum. Komputer kuantum adalah alat hitung yang menggunakan sebuah fenomena mekanika kuantum, misalnya superposisi dan keterkaitan, untuk melakukan operasi data.

Riset bidang komputasi kuantum masih terus berkembang. Dalam komputasi klasik, jumlah data dihitung dengan bit; dalam komputer kuantum, hal ini dilakukan dengan qubit. Prinsip dasar komputer kuantum adalah bahwa sifat kuantum dari partikel dapat digunakan untuk mewakili data dan struktur data, dan bahwa mekanika kuantum dapat digunakan untuk melakukan operasi dengan data ini. Dalam hal ini untuk mengembangkan komputer dengan sistem kuantum diperlukan suatu logika baru yang sesuai dengan prinsip kuantum.


B. Entanglement

Disebut sebagai suatu “aksi seram dari jarak jauh” oleh Albert Einstein, Quantum entanglement adalah fenomena mekanika kuantum dimana kuantum menyatakan bahwa dua atau lebih objek harus dideskripsikan dengan referensi antar objek, meskipun objek-objek tersebut tidaklah berkaitan secara spasial. Hal ini mengarah pada korelasi antara atribut fisik objek yang dapat diamati dari suatu sistem. Contohnya, adalah mungkin untuk menyiapkan 2 partikel dalam satu kondisi kuantum seperti ketika yang satu diteliti adalah "spin up" maka yang satunya adalah "spin down" dan begitu pula seterusnya.

Quantum entanglement terjadi ketika partikel seperti foton, elektron, molekul besar seperti buckyballs, dan bahkan berlian kecil berinteraksi secara fisik dan kemudian terpisahkan; jenis interaksi adalah sedemikian rupa sehingga setiap anggota yang dihasilkan dari pasangan benar dijelaskan oleh kuantum mekanik deskripsi yang sama (keadaan yang sama), yang terbatas dalam hal faktor penting seperti posisi, momentum, perputaran, polarisasi, dll

Secara keseluruhan, superposisi kuantum dan Entanglement menciptakan daya komputasi yang sangat ditingkatkan. Dimana sebuah register 2-bit di komputer biasa dapat menyimpan hanya satu dari empat konfigurasi biner (00, 01, 10, atau 11) pada waktu tertentu, register 2-qubit dalam sebuah komputer kuantum dapat menyimpan semua empat nomor secara bersamaan, karena qubit masing-masing mewakili dua nilai. Jika lebih qubit ditambahkan, kapasitas meningkat diperluas secara eksponensial.


C. Pengoperasian Data Qubit

Dalam komputasi kuantum, sebuah qubit atau bit kuantum adalah unit informasi kuantum-analog kuantum bit klasik.

Qubit adalah sebuah sistem kuantum mekanik dua kondisi seperti polarisasi foton tunggal: dalam hal ini dua kondisi tersebut adalah polarisasi vertikal dan polarisasi horizontal. Dalam sistem klasik, bit harus berada dalam satu kondisi atau yang lain, tapi mekanika kuantum memungkinkan qubit berada dalam superposisi dari kedua negara pada saat yang sama, sebuah properti yang fundamental bagi komputasi kuantum.

Proses komputasi dilakukan pada partikel ukuran nano yang memiliki sifat mekanika quantum, maka satuan unit informasi pada Komputer Quantum disebut quantum bit, atau qubit. Berbeda dengan bit biasa, nilai sebuah qubit bisa 0, 1, atau superposisi dari keduanya. State dimana qubit diukur adalah sebagai vektor atau bilangan kompleks. Sesuai tradisi dengan quantum states lain, digunakan notasi bra-ket untuk merepresentasikannya.

Pure qubit state adalah superposisi liner dari kedua state tersebut. Lebih jelasnya, sebuah pure qubit state dapat direpresentasikan oleh kombinasi linear dari state|0> dan state |1> : Dengan α dan β adalah amplitudo probabilitas yan dapat berupa angka kompleks. State space dari sebuah qubit secara geometri dapat direpresentasikan Bloch sphere.

Bloch sphere adalah ruang 2 dimensi yang merupakan geometri untuk permukaan bola. Dibandingkan bit konvensional yang hanya dapat beradai di salah satu kutub, Qubit dapat berada dimana saja dalam permukaan bola. Untuk penerapan fisiknya, semua sistem 2 level, selama ukurannya cukup kecil untuk hukum mekanika quantum berlaku. Berbagai jenis implementasi fisik telah dikemukakan, contohnya antara lain: polarisasi cahaya, spin elektron, muatan listrik, dll.

Superposisi quantum adalah inti perbedaan antara qubit dengan bit biasa. Dalam keadaan superposisi, sebuah qubit akan bernilai |0> dan |1> pada saat bersamaan. Menurut interpretasi Copenhagen, bila dilakukan pengukuran terhadap qubit, maka hanya akan muncul satu state saja. State lainnya “kolaps” dalam arti hancur dan tidak mungkin diambil kembali.

Pemanfaatan sifat superposisi qubit ini adalah Paralellisme Quantum. Paralelisme Quantum muncul dari kemampuan quantum register untuk menyimpan superposisi dari base state. Maka setiap operasi pada register berjalan pada semua kemungkinan dari superposisi secara simultan. Karena jumlah state yang mungkin adalah 2n, dengn n adalah jumlah qubit pada quantum register, kita dapat melakukan pada komputer quantum satu kali operasi yang membutuh kan waktu eksponensial pada komputer konvensional. Kelemahan dari metode ini adalah, semakin besar base state yang bersuperposisi, semakin kecil kemungkinan hasil pengukuran dari nilai hasil pengukuran tersebut benar. Kelemahan ini membuat pararellisme quantum tidak berguna bila operasi dilakukan pada nilai yang spesifik. Namun kelemahan ini tidak begitu berpengaruh pada fungsi yang memperhitungkan nilai dari semua input, bukan hanya satu.


D. Quantum Gates

Dalam komputasi kuantum dan khususnya model rangkaian perhitungan kuantum, quantum gates (gerbang logika kuantum) adalah dasar kuantum sirkuit operasi pada sejumlah kecil qubit. Mereka adalah blok bangunan sirkuit kuantum, seperti gerbang logika klasik adalah untuk sirkuit digital konvensional.

Tidak seperti banyak gerbang logika klasik, gerbang logika kuantum bersifat reversibel. Namun, komputasi klasik dapat dilakukan dengan menggunakan hanya gerbang reversibel. Misalnya, gerbang Toffoli reversibel dapat melaksanakan semua fungsi Boolean. Gerbang ini memiliki setara kuantum langsung, menunjukkan bahwa sirkuit kuantum dapat melakukan semua operasi yang dilakukan oleh sirkuit klasik.

Gerbang logika kuantum diwakili oleh matriks kesatuan. Gerbang logika kuantum yang paling umum beroperasi pada ukuran satu atau dua qubit, seperti yang umum gerbang logika klasik beroperasi pada satu atau dua bit. Ini berarti bahwa sebagai matriks, gerbang kuantum dapat dijelaskan oleh 2 × 2 atau 4 × 4 matriks kesatuan.


E. Algoritma Shor

Algoritma Shor, dinamai sesuai dengan nama pencetusnya, seorang matematikawan Peter Shor, adalah sebuah algoritma kuantum (algoritma yang berjalan pada sebuah komputer kuantum) untuk faktorisasi bilangan bulat dirumuskan pada tahun 1994. Secara informal memecahkan masalah berikut: Diberikan sebuah integer N, dicari faktor primanya.Untuk faktor integer N, algoritma Shor berjalan dalam waktu polinomial (waktu yang dibutuhkan adalah polinomial dalam log N, yang merupakan ukuran input).

Sumber :
http://radhika.blogdetik.com/2011/05/27/komputasi-kuantum/
http://my.opera.com/nduwun/blog/2011/05/27/komputasi-quantum
https://en.wikipedia.org/wiki/Quantum_entanglement
http://en.wikipedia.org/wiki/Qubit?g_q=Qubit
http://chachados.blogspot.com/2013/05/komputasi-kuantum.html?g_q=pengoperasian%20%20data%20qubit
http://id.wikipedia.org/wiki/Komputer_kuantum
http://en.wikipedia.org/wiki/Quantum_gate?g_q=quantum%20gates
http://en.wikipedia.org/wiki/Shor%27s_algorithm

Selasa, 30 April 2013

Pengantar Cloud Computing

Pengantar Cloud Computing Pasti banyak dari para pembaca yang sudah sering dengar kata tersebut, atau jika belum pernah dengar, mungkin pernah dengar istilah dalam bahasa Indonesia-nya, yaitu “Komputasi Awan”. Ada banyak tulisan dan sudut pandang untuk menjelaskan apa itu Cloud Computing, namun banyak dari penjelasan tersebut yang terlalu teknis, sehingga bagi orang awan akan kesulitan untuk memahaminya. Tulisan ini sengaja dibuat untuk mempermudah orang awam memahami Cloud Computing. Diharapkan setelah membaca tulisan ini, para pembaca akan bisa memahami dasar pengetahuan mengenai Cloud Computing dengan lebih mudah.


A. Apa itu Cloud Computing?

Untuk memudahkan pemahaman mengenai model cloud computing kita ambil analogi dari layanan listrik PLN. Tentu kita semua adalah para pemakai listrik dalam kehidupan sehari-hari. Untuk bisa menikmati listrik, kita tidak perlu mendirikan infrastruktur pembangkit listrik sendiri, bukan? Yang perlu kita lakukan adalah mendaftar ke PLN karena PLN sudah menyediakan layanan listrik ini untuk pelanggan.

Kalau Anda pernah melihat gardu induk PLN, Anda akan melihat bagaimana rumitnya instalasi listrik disana dengan banyak sekali transformator dan peralatan berat lainnya (Resource Pooling). Disinilah sumber daya listrik berpusat untuk kemudian didistribusikan ke pelanggan. Distribusi listrik ke pelanggan dari gardu induk ini menggunakan kabel listrik yang sudah distandarisasi. Kabel antara pembangkit listrik dengan gardu induk biasa dikenal dengan istilah SUTET (Saluran Udara Tegangan Ektra Tinggi). Dari gardu induk, distribusi kemudian dipecah ke gardu-gardu lain sampai akhirnya sampai di rumah pelanggan dengan kabel yang lebih kecil. Kabel listrik yang ada ini menjamin koneksi listrik yang cepat, sehingga layanan listrik bisa dinikmati terus menerus (Broad Network Access).

Setelah mendaftar, pelanggan bisa memakai energi listrik dan membayar kepada PLN berdasarkan jumlah penggunaan listrik kita tiap bulan. Jumlah yang dibayar dihitung dari meteran listrik di rumah pelanggan (Measured Service). Saat pelanggan butuh daya tambahan karena suatu tujuan khusus (misalnya saat acara pernikahan keluarga), pelanggan tinggal meminta kepada PLN untuk menambahkan daya, dan suatu saat nanti ketika ingin menurunkan daya lagi, pelanggan tinggal meminta juga kepada PLN.

Bisa dikatakan penambahan daya listrik ini bersifat elastis, untuk menambah daya atau menurukannya bisa dilakukan segera (Rapid Elasticity). Akan sangat menarik jika kedepannya untuk melakukan penambahan/penurunan daya tersebut, pelanggan bisa melakukannya sendiri dari suatu alat yang disediakan oleh PLN., sehingga tidak dibutuhkan lagi interaksi dengan pegawai PLN (Self Service).

Ketika memakai layanan listrik dari PLN, pelanggan tidak perlu pusing untuk memikirkan bagaimana PLN memenuhi kebutuhan listrik . Hal terpenting yang perlu diketahui adalah listrik menyala untuk kebutuhan sehari-hari, serta berapa tagihan listrik yang perlu dibayar tiap bulannya. Pelanggan tidak perlu mengetahui secara detail bagaimana PLN merawat infrastruktur listriknya, bagaimana ketika mereka ada kerusakan alat, bagaimana proses perawatan alat-alat tersebut, dsb. Intinya, pelanggan cukup tahu bahwa dapat menikmati listrik dan berkewajiban membayar biaya tersebut tiap bulannya, sedangkan PLN sendiri berkewajiban untuk memenuhi kebutuhan listrik pelanggannya. Nah, analogi PLN di atas adalah gambaran dari layanan Cloud Computing.

Menurut NIST (National Institute of Standards and Technology), terdapat 5 karakteristik sehingga sistem tersebut disebut Cloud Computing, yaitu:

1. Resource Pooling
Sumber daya komputasi (storage, CPU, memory, network bandwidth, dsb.) yang dikumpulkan oleh penyedia layanan (service provider) untuk memenuhi kebutuhan banyak pelanggan (service consumers) dengan model multi-tenant. Sumber daya komputasi ini bisa berupa sumber daya fisik ataupun virtual dan juga bisa dipakai secara dinamis oleh para pelanggan untuk mencukupi kebutuhannya.

2. Broad Network Access
Kapabilitas layanan dari cloud provider tersedia lewat jaringan dan bisa diakses oleh berbagai jenis perangkat, seperti smartphone, tablet, laptop, workstation, dsb.

3. Measured Service
Tersedia layanan untuk mengoptimasi dan memonitor layanan yang dipakai secara otomatis. Dengan monitoring sistem ini, kita bisa melihat berapa resources komputasi yang telah dipakai, seperti: bandwidth , storage, processing, jumlah pengguna aktif, dsb. Layanan monitoring ini sebagai bentuk transparansi antara cloud provider dan cloud consumer.

4. Rapid Elasticity
Kapabilitas dari layanan cloud provider bisa dipakai oleh cloud consumer secara dinamis berdasarkan kebutuhan. Cloud consumer bisa menaikkan atau menurunkan kapasitas layanan. Kapasitas layanan yang disediakan ini biasanya tidak terbatas, dan service consumer bisa dengan bebas dan mudah memilih kapasitas yang diinginkan setiap saat.

5. Self Service
Cloud Consumer bisa mengkonfigurasikan secara mandiri layanan yang ingin dipakai melalui sebuah sistem, tanpa perlu interaksi manusia dengan pihak cloud provider. Konfigurasi layanan yang dipilih ini harus tersedia segera dan saat itu juga secara otomatis. Kelima karakteristik Cloud Computing tersebut harus ada di service provider jika ingin disebut sebagai penyedia layanan Cloud Computing. Salah satu saja dari layanan tersebut tidak terpenuhi, maka penyedia layanan tersebut belum/tidak pantas disebut sebagai cloud provider.


Konsep dalam CLoud Computing
• Infrastructure as a Service (IaaS) : konsep tertua dimana pengimplementasiannya banyak dilakukan mulai dari penggunaan atau penyewaan jaringan untuk akses Internet, layanan Disaster Recovery Center, dsb.
• Platform as a Service (PaaS) : konsepnya hampir serupa dengan IaaS. Namun Platform disini adalah penggunaan operating system dan infrastruktur pendukungnya. Yang cukup terkenal adalah layanan dari situs Force.Com serta layanan dari para vendor server.
• • Software as a Service (SaaS) : berada satu tingkat diatas PaaS dan IaaS, dimana disini yang ditawarkan adalah software atau suatu aplikasi bisnis tertentu. Contoh yang paling mutakhir adalah SalesForce.Com, Service-Now.Com, Google Apps, dsb.


Komponen Cloud Computing
• Cloud Clients adalah seperangkat komputer ataupun software yang didesain secara khusus untuk penggunaan layanan berbasis cloud computing.
o Mobile – Windows Mobile, Symbian, dan lain-lain.
o Thin Client – Windows Terminal Service, CherryPal, dll.
o Thick Client – Internet Explorer, FireFox, Chrome, dll.
• Cloud Services adalah produk, layanan dan solusi yang dipakai dan disampaikan secara real-time melalui media Internet. Contoh yang paling popular adalah web service.
o Identitas – OpenID, OAuth, dan lain2.
o Integration – Amazon Simple Queue Service.
o Payments – PayPal, Google Checkout.
o Mapping – Google Maps, Yahoo! Maps.
• Cloud Storage melibatkan proses penyampaian penyimpanan data sebagai sebuah layanan. Misal :
o Database – Google Big Table, Amazon SimpleDB.
o Network Attached Storage – Nirvanix CloudNAS, MobileMe iDisk.
• Cloud Infrastructure merupakan penyampaian infrastruktur komputasi sebagai sebuah layanan. Contohnya :
o Grid Computing – Sun Grid.
o Full Virtualization – GoGrid, Skytap.
o Compute – Amazon Elastic Compute Cloud.


Keutungan Cloud Computing
• Murah
o Trend sesungguhnya dari komputansi awan justru terjadi pada perusahaan. Perusahaan tiap tahun dipusingkan pengeluaran besar untuk membeli piranti keras dan lunak. Bila cukup membeli satu terminal, bukan saja lebih murah, tapi juga perlengkapan yang simpel lebih tahan lama.
• Ramah Lingkungan
o Pada umumnya, komputer di rumah meniupkan udara panas. Udara panas itu berasal dari energi. Energi dibutuhkan supaya komputer bisa nyala. Tapi kebanyakan energi itu menjadi udara panas. Dengan ‘cloud computing’, sebuah komputer pusat, maka di rumah dibutuhkan lebih sedikit listrik, jadi sangat menghemat.


Kendala Cloud Computing
• Service level
o Cloud provider mungkin tidak akan konsisten dengan performance dari application atau transaksi. vMengharuskan anda untuk memahami service level mengenai transaction response time, data protection dan kecepatan data recovery.
• Privacy
o Karena orang lain / perusahaan lain juga melakukan hosting kemungkinan data anda akan keluar atau di baca oleh pemerintah U.S. dapat terjadi tampa sepengetahuan anda atau approve dari anda.
• Compliance o Cloud service provider diharapkan dapat menyamakan level compliance untuk penyimpanan data didalam cloud
• Data ownership
o Apakah data anda masih menjadi milik anda begitu data tersebut tersimpan didalam cloud?
o Mungkin pertanyaan ini sedikit aneh, namun anda perlu mengetahui seperti hal nya yang terjadi pada Facebook yang mencoba untuk merubah terms of use aggrement nya yang mempertanyakan hal ini.
• Data Mobility
o Apakah anda dapat melakukan share data diantara cloud service?
o Jika anda terminate cloud relationship bagaimana anda mendapatkan data anda kembali?
o Format apa yang akan digunakan ?
o Dapatkah anda memastikan kopi dari datanya telah terhapus ?

B. Komputasi Grid

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

Ide awal komputasi grid dimulai dengan adanya distributed computing, yaitu mempelajari penggunaan komputer terkoordinasi yang secara fisik terpisah atau terdistribusi. Sistem terdistribusi membutuhkan aplikasi yang berbeda dengan sistem terpusat. Kemudian berkembang lagi menjadi parallel computing yang merupakan teknik komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan.

Setidaknya ada dua sisi yang mendorong semakin berkembangnya grid computing saat ini. Kebutuhan akan sumber daya komputasi yang besar di berbagai bidang serta adanya sumber daya komputasi yang tersebar. Grid computing menawarkan solusi komputasi yang murah, yaitu dengan memanfaatkan sumber daya yang tersebar dan heterogen serta pengaksesan yang mudah dari mana saja. Globus Toolkit adalah sekumpulan perangkat lunak dan pustaka pembuatan lingkungan komputasi grid yang bersifat open-source. Dengan adanya lingkungan komputasi grid ini diharapkan mempermudah dan mengoptimalkan eksekusi program-program yang menggunakan pustaka paralel.


Definisi
Menurut tulisan singkat oleh Ian Foster ada check-list yang dapat digunakan untuk mengidentifikasi bahwa suatu sistem melakukan komputasi grid yaitu :

• Sistem tersebut melakukan koordinasi terhadap sumberdaya komputasi yang tidak berada dibawah suatu kendali terpusat. Seandainya sumber daya yang digunakan berada dalam satu cakupan domain administratif, maka komputasi tersebut belum dapat dikatakan komputasi grid.
• Sistem tersebut menggunakan standard dan protokol yang bersifat terbuka (tidak terpaut pada suatu implementasi atau produk tertentu). Komputasi grid disusun dari kesepakatan-kesepakatan terhadap masalah yang fundamental, dibutuhkan untuk mewujudkan komputasi bersama dalam skala besar. Kesepakatan dan standar yang dibutuhkan adalah dalam bidang autentikasi, otorisasi, pencarian sumberdaya, dan akses terhadap sumber daya.
• Sistem tersebut berusaha untuk mencapai kualitas layanan yang canggih, (nontrivial quality of service) yang jauh diatas kualitas layanan komponen individu dari komputasi grid tersebut.

Dalam buku The Grid:Blue Print for a new computing infrastructure dijelaskan bahwa yang dimaksud dengan komputasi grid adalah infrastruktur perangkat keras dan perangkat lunak yang dapat menyediakan akses yang bisa diandalkan, konsisten, tahan lama dan tidak mahal terhadap kemampuan komputasi mutakhir yang tersedia.

"A computational grid is a hardware and software infrastructure that provides dependable, consistent, pervasive, and inexpensive access to high-end computational capabilities."

Seandainya kelak dikemudian hari teknologi yang dibutuhkan untuk mewujudkan visi paradigma komputasi grid ini sudah mapan, peluang akan semakin terbuka bagi kerjasama lintas organisasi, lintas benua dan lintas bangsa. Akan terbuka peluang bagi peneliti di Indonesia yang ingin melakukan komputasi yang sangat rumit, dengan menggunakan supercomputer tercepat di dunia, tanpa harus melakukan investasi besar-besaran dalam bidang teknologi informasi.


C. Virtualisasi

Virtualisasi adalah istilah umum yang mengacu kepada abstraksi dari sumber daya komputer. Definisi lainnya adalah "sebuah teknik untuk menyembunyikan karakteristik fisik dari sumber daya komputer dari bagaimana cara sistem lain, aplikasi atau pengguna berinteraksi dengan sumber daya tersebut. Hal ini termasuk membuat sebuah sumber daya tunggal (seperti server, sebuah sistem operasi, sebuah aplikasi, atau peralatan penyimpanan terlihat berfungsi sebagai beberapa sumber daya logikal; atau dapat juga termasuk definisi untuk membuat beberapa sumber daya fisik (seperti beberapa peralatan penyimpanan atau server) terlihat sebagai satu sumber daya logikal."

Istilah virtualisasi sudah digunakan secara luas sejak 1960-an, dan telah diaplikasikan kepada beberapa aspek komputer—dari keseluruhan sistem komputer sampai sebuah kemampuan atau komponen individu. Secara umum semua teknologi virtualisasi mengacu kepada "menyembunyikan detail teknis" melalui enkapsulasi.


D. Distributed Computation Dalam Cloud Computing

Distributed computing merupakan bidang ilmu komputer yang mempelajari sistem terdistribusi.Sebuah sistem terdistribusi terdiri dari beberapa komputer otonom yang berkomunikasi melalui jaringan komputer. Komputer yang saling berinteraksi untuk mencapai tujuan bersama. Suatu program komputer yang berjalan dalam sistem terdistribusi disebut program didistribusikan, dan didistribusikan pemrograman adalah proses menulis program tersebut. Distributed computing juga mengacu pada penggunaan sistem terdistribusi untuk memecahkan masalah komputasi. Dalam distributed computing, masalah dibagi menjadi banyak tugas, masing-masing yang diselesaikan oleh satu komputer.


E. Map Reduce

Mapreduce adalah sebuah model pemrograman yang secara khusus dalam mengasosiasikan dan mendistribusian data dalam menangani masalah pengaturan data dalam skala besar. Model pemrograman ini didasarkan pada konsep yang sederhana yaitu melakukan suatu iterasi pada suatu inputan, kemudian menghitung pasangan-pasangan key/value dari setiap bagian inputan, mengelompokkan semua lanjutan value dengan key yang sama, melakukan proses perulangan semua hasil dari pengelompokkan dan melakukan pengurangan untuk setiap pengelompokkan tersebut. Dengan menggunakan metode Mapreduce ini kemudahan dan kecocokan pada suatu data yang dieksekusi dalam jumlah besar dapat diparalelkan dan didistribusikan melalui suatu pengelompokan data. Mapreduce adalah suatu kesederhanaan yang memungkinkan atomatisasi dalam pararelisasi dan pembagian perhitungan data dalam skala yang besar, dikombinasikan dengan pengimplementasian sistem cluster yang saling berhubungan sehingga menghasilkan performa tinggi dalam pendistribusian suatu data. Mapreduce diinspirasikan oleh bahasa fungsional yang terdiri dari Map dan Reduce dalam konsep abstrak.

Fungsi map memproses suatu pasangan kunci dan nilai {key/value) menjadi kunci dan nilai tengah {intermediate key/value) yang nantinya akan dikirim ke fungsi reduksi. Saat operasi pemetaan berjalan secara paralel, file yang menjadi input dibagi menjadi beberapa bagian yang disebut FileSplits. Hal ini dilakukan karena sebuah file bisa memiliki ukuran yang besar dan itu akan memperlambat kinerja. Saat fungsi pemetaan membaca baris data, fungsi ini menghasilkan pasangan kunci berupa kata dan nilai berupa jumlah.

Dalam hal ini fungsi map yang akan dilakukan untuk aplikasi pencarian term ini adalah sebagai berikut.

map(String key, String value):
// key: document name
// value: document contents
for each word w in value:
EmitIntermediate(w, “1”);

Pada program ini fungsi pemetaan menghasilkan setiap kata yang diasosiasikan dengan suatu perhitungan yang terjadi(hanya ‘1’ dalam setiap kata). Fungsi map akan menerima inputan berupa key/value dengan key berupa nama dokumen dan value merupakan jumlah kata yang dikandung dalam dokumen tersebut, untuk setiap kata dalam suatu dokumen tersebut akan menghasilkan lanjutan key/value yang berupa (kata, 1).

Fungsi reduksi adalah memproses pasangan kunci dan nilai yang dikirim dari fungsi pemetaan untuk menjadi pasangan kunci dan nilai akhir yang nantinya akan ditulis ke file sebagai hasil. Masing-masing kata kunci dan nilai yang dihasilkan oleh fungsi pemetaan diproses secara berbeda dan hasilnya disimpan pada masing-masing file hasil. Untuk suatu kata yang sama maka, fungsi reduksi akan menjumlahkan semua angka nilai dari masing-masing kata tersebut, sehingga didapat pasangan kata dan jumlahnya.

Dalam hal ini fungsi reduce yang akan dilakukan untuk pencarian kata ini adalah sebagai berikut.

reduce(String key, Iterator values):
// key: a word
// values: a list of counts
int result = 0;
for each v in values:
result += ParseInt(v);
Emit(AsString(result));

Pada program ini fungsi reduce akan menghasilkan hasil dari penjumlahan bersama semua perhitungan yang dihasilkan untuk sebuah keterangan kata yang terdapat dalam suatu dokumen. Fungsi reduce akan menerima inputan berupa lanjutan key/values yang telah dikelompokkan untuk setiap nilainya dengan sebuah kunci yang sama dari hasil fungsi map, key berupa sebuah kata dan values berupa suatu daftar jumlah dari perhitungan kata dalam setiap dokumen yang muncul tersebut. Values dalam fungsi reduce dihasilkan dari penggabungan nilai-nilai dari proses perhitungan kata dalam suatu iterasi, sehingga akan menghasilkan sebuah kata dengan hasil penjumlahan kata yang muncul pada dokumen tersebut. Hasil ini disimpan dalam satu file terpisah dari hasil pasangan kunci dan nilai yang lain.


F. NoSQL (Not Only SQL) <

NOSQL adalah istilah untuk menyatakan berbagai hal yang didalamnya termasuk database sederhana yang berisikan key danvalue seperti Memcache, ataupun yang lebih canggih yaitu non-database elational seperti MongoDB, Cassandra, CouchDB, dan yang lainnya.

Wikipedia menyatakan NoSQL adalah sistem menejemen database yang berbeda dari sistem menejemen database relasional yang klasik dalam beberapa hal. NoSQL mungkin tidak membutuhkan skema table dan umumnya menghindari operasi join dan berkembang secara horisontal. Akademisi menyebut database seperti ini sebagai structured storage, istilah yang didalamnya mencakup sistem menejemen database relasional.

Database relasional sudah ada semenjak tahun 70-an sehingga teknologi mereka sudah sangat matang. Secara umum mereka mendukung operasi transaksi, yang mengijinkan kita merubah sebagian data, melakukan kontrol terhadap operasi database, support terhadap constraint seperti unique, primary key, foreign key dan check. Mereka juga memiliki bahasa SQL atau Simplified Query Language untuk mengakses data, merubah data seperti operasi insert, update dan delete.

Walaupun SQL dalam arti sesungguhnya adalah simple atau sederhana, dan developer selama bertahun tahun menggunakannya, tetapi mereka merasa kurang puas bahkan cenderung tidak menyukainya. Alasan lainnya, RDBMS atau Relational Database Management System tidak dapat berkembang horisontal secara baik. Seringnya kita mendapatkan database yang berkembang tetapi secara read-only melalui kemampuan replikasi database dan untuk mendapatkan database yang berkembang horisontal secara read-write itu sangat sulit. Oracle saja sampai perlu membangun ORACLE RAC atau Real Application Cluster, yang menemui banyak tantangan untuk melakukan sinkronisasi data di internal cache melalui inter-koneksi khusus. Faktanya, perubahan data yang terjadi itu memerlukan waktu untuk mengirimkannya ke berbagai sistem. Selama data tersebut belum terkirimkan, kita memakai data yang tidak valid atau stale data/delta data.

Adanya database NoSQL seperti MongoDB yang mencoba untuk menyelesaikan permasalahan ini. Disini, Data tidak ditulis/dibaca dari database dengan menggunakan bahasa SQL, tetapi menggunakan metode object-oriented yang lebih disukai oleh developers. Kelebihan lainnya adalah adanya dukungan adanya banyaknya tipe index yang berbeda beda untuk lookupsterhadap data tertentu. Mereka juga memiliki kemampuan clustering secara default.

Setelah sekian lama muncul, database NoSQL tidak serta merta memiliki banyak penggemar. Untuk pastinya, banyak perusahaan besar yang menggunakan NoSQL database, tetapi secara umum mereka menggunakannya untuk kebutuhan kebutuhan yang spesial. Mereka perlu melihat apakah database ini bisa berkembang dengan kapasitas data yang sangat besar dan banyak dipergunakan di berbagai applikasi, jika tidak, mereka tidak melihat alasan untuk berpindah.

Sumber :

http://smuet.lecture.ub.ac.id/files/2012/06/E-Book-Pengantar-Cloud-Computing-R1.pdf
http://reza_chan.staff.gunadarma.ac.id/Downloads/files/26584/CLOUD+COMPUTING.pdf
http://my.opera.com/aviciena/blog/grid-computing-komputasi-grid
http://id.wikipedia.org/wiki/Virtualisasi
http://renzcort.tumblr.com/post/1983932660/mapreduce
http://condetcom.wordpress.com/2010/04/22/distributed-computing-grid-computing-cloud-computing/
http://nareswara.com/2011/07/06/apa-itu-nosql-database/

Rabu, 10 April 2013

Teori Komputasi dan Implementasinya



A. Definisi Komputasi

Teori komputasi adalah cabang ilmu komputer dan matematika yang membahas apakah dan bagaimanakah suatu masalah dapat dipecahkan pada model komputasi, menggunakan algoritma. Bidang ini dibagi menjadi dua cabang: teori komputabilitas dan teori kompleksitas, namun kedua cabang berurusan dengan model formal komputasi. Sedangkan, komputasi sendiri dapat diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Selama ribuan tahun, perhitungan dan komputasi umumnya dilakukan dengan menggunakan pena dan kertas, atau kapur dan batu tulis, atau dikerjakan secara mental, kadang-kadang dengan bantuan suatu tabel. Pada zaman sekarang ini, kebanyakan komputasi telah dilakukan dengan menggunakan komputer.


B. Pengertian 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)


C. Jenis-jenis Komputasi Modern

Komputasi modern terbagi tiga macam, yaitu komputasi mobile (bergerak), komputasi grid, dan komputasi cloud (awan). Penjelasan lebih lanjut dari jenis-jenis komputasi modern sebagai berikut :

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 computing

Komputasi grid menggunakan komputer yang terpisah oleh geografis, didistibusikan dan terhubung oleh jaringan untuk menyelasaikan masalah komputasi skala besar. Ada beberapa daftar yang dapat dugunakan untuk mengenali sistem komputasi grid, adalah :

• Sistem untuk koordinat sumber daya komputasi tidak dibawah kendali pusat.
• Sistem menggunakan standard dan protocol yang terbuka.
• Sistem mencoba mencapai kualitas pelayanan yang canggih, yang lebih baik diatas kualitas komponen individu pelayanan komputasi grid.

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.

Adapun perbedaan antara komputasi mobile, komputasi grid dan komputasi cloud, dapat dilihat penjelasannya dibawah ini :
• Komputasi mobile menggunakan teknologi komputer yang bekerja seperti handphone, sedangkan komputasi grid dan cloud menggunakan komputer.
• Biaya untuk tenaga komputasi mobile lebih mahal dibandingkan dengan komputasi grid dan cloud.
• Komputasi mobile tidak membutuhkan tempat dan mudah dibawa kemana-mana, sedangkan grid dan cloud membutuhkan tempat yang khusus.
• Untuk komputasi mobile proses tergantung si pengguna, komputasi grid proses tergantung pengguna mendapatkan server atau tidak, dan komputasi cloud prosesnya membutuhkan jaringan internet sebagai penghubungnya.

D. Beberapa Penerapan Komputasi Modern
Melanjutkan penulisan sebelumnya, banyak hal yang dapat diterapkan dari komputasi modern yang ada saat ini. Berikut beberapa penerapannya.

Komputasi hijau
Di bidang pendidikan, dengan adanya komputasi hijau dapat menghindari penggunaan kertas, yaitu menggunakan file elektronik dalam melakukan penggumpulan tugas. Selain itu, system e-learning juga dapat diterapkan sebagai metode pembelajaran, sehingga pemberian modul pembelajaran, forum diskusi dan tugas dapat dilakukan pada e-learning tersebut.

Dalam bidang bisnis, komputasi hijau juga dapat diterapkan dengan melakukan blogging untuk membangun branding image pribadi, marketing dan bisnis. Dengan demikian, cara konvensional seperti kartu nama, koran dan majalah dapat ditinggalkan.

Bioinformatika
Pada dunia pendidikan, bioinformatika diterapkan melalui computational biology. Model-model statistika untuk fenomena biologi dalam penerapan ini lebih disukai dipakai dibandingkan dengan model sebenarnya. Dalam beberapa hal cara tersebut cukup baik mengingat pada kasus tertentu eksperimen langsung pada fenomena biologi cukup sulit. Di bidang kesehatan, banyak sekali manfaat dari penerapan bioinformatika. Mengingat pekerjaan bioinformatika berkaitan dengan teknologi database yang penggunaannya meliputi tempat penyimpanan database “umum” seperti GenBank atau PDB maupun database “pribadi”, seperti yang digunakan oleh grup riset yang terlibat dalam proyek pemetaan gen atau database yang dimiliki oleh perusahaan-perusahaan bioteknologi. Dengan demikian, akan semakin mudah para peneliti dapat mengembangkan obat mau pun vaksin untuk berbagai penyakit yang ada serta mencegah kelainan gen pada manusia.

Komputasi Awan
Adanya cloud computing sangat berdampak besar terutama di dunia bisnis. Dengan teknologi ini, suatu perusahaan dapat mengurangi beban biaya dan menaikan nilai produksi, sehingga dari hal tersebut banyak perusahaan beralih menggunakan teknologi ini. Penghemat dana di perusahaan itu sendiri terjadi di bidang IT, yaitu dalam penggadaan komputer, server, OS, software, staff IT, dan lainnya karena dengan Cloud Computing yang perlu dibayar hanyalah apa saja yang telah digunakan (software dan penyimpanan) dan hal ini sesuai dengan kebutuhan perusahaan tersebut sehingga memungkinkan perusahan untuk membayar lebih murah jika menggunakan Cloud Computing.

Komputasi awan ini juga dapat diterapkan untuk perpustakaan. Dengan teknologi ini, di masa yang akan datang perpustakaan yang merupakan penyedia layanan informasi dapat memberikan layanan yang terbaik, mutakhir, dan berkesinambungan terhadap penggunanya. Dengan berbekal informasi yang ada, pengguna dapat melakukan berbagai pengkajian, penelitian atau keperluan lain untuk melahirkan pemikiran dan inovasi yang dapat bermanfaat bagi khalayak luas.


E. Beberapa Penerapan Komputasi Modern Scientific Simulation: Komputasi grid diimplementasikan di bidang fisika, kimia, dan biologi untuk melakukan simulasi terhadap proses yang kompleks. Untuk lebih jelasnya kunjungi halaman berikut:

1. National Institute of Advanced Industrial Science and Technology (AIST)
2. Computational Science Research Center in Hosei University
3. Advanced Center for Computing and Communication (RIKEN)

Medical Images: Penggunaan data grid dan komputasi grid untuk menyimpan medical-image. Contohnya adalah eDiaMoND project

Computer-Aided Drug Discovery (CADD): Komputasi grid digunakan untuk membantu penemuan obat. Salah satu contohnya adalah: Molecular Modeling Laboratory (MML) di University of North Carolina (UNC)

Big Science: Data grid dan komputasi grid digunakan untuk membantu proyek laboratorium yang disponsori oleh pemerintah Contohnya terdapat di DEISA

e-Learning: Komputasi grid membantu membangun infrastruktur untuk memenuhi kebutuhan dalam pertukaran informasi dibidang pendidikan. Contohnya adalah AccessGrid

Visualization: Komputasi grid digunakan untuk membantu proses visualisasi perhitungan yang rumit.

Contohnya dapat dilihat di website berikut:
1. http://www.tacc.utexas.edu/
2. http://www.tacc.utexas.edu/projects/grid_vis.php
3. http://www.ibm.com/grid/grid_press/pr_ut.shtml

Microprocessor design: komputasi grid membantu untuk mengurangi microprocessor design cycle dan memudahkan design center untuk membagikan resource lebih efisien. Contohnya ada di Microprocessor Design Group at IBM Austin

Sumber :
http://setiyanugroho.wordpress.com/2012/05/31/beberapa-penerapan-komputasi-modern/
http://tantyniieezz.wordpress.com/2011/02/23/pengantar-komputasi-modern/
http://id.wikipedia.org/wiki/Teori_komputasi
Grid Computing in Research and Education, IBM

Senin, 02 April 2012

Apa Itu Game Engine ?

Game engine (bahasa Indonesia: mesin permainan) adalah sebuah sistem software yang dirancang untuk pembuatan dan pengembangan suatu video game. Ada banyak sekali game engine yang dirancang untuk bekerja pada beberapa konsol video game dan sistem operasi desktop seperti Microsoft Windows, Linux dan Mac OS X. Fungsi utama yang secara khusus disediakan oleh game engine meliputi mesin render (renderer) untuk grafik 2D atau 3D, mesin fisika, deteksi tabrakan (dan tanggapan tabrakan), suara, script, animasi, kecerdasan buatan, jaringan, streaming, manajemen momori, threading, dukungan lokalisasi dan layar grafik. Proses pembuatan game seringkali dihemat oleh sebagian besar developer dengan menggunakan kembali game engine yang sama untuk membuat game yang berbeda.

Tipe-tipe Game Engine

1.Roll-your-own game engine

Banyak perusahaan game kecil seperti publisher indie biasanya menggunakan engine-nya sendiri. Mereka menggunakan API seperti XNA, DirectX atau OpenGL untuk membuat game engine mereka sendiri. Di sisi lain, mereka kadang menggunakan library komersil atau yang open source. Terkadang mereka juga membuat semuanya mulai dari nol. Biasanya game engine tipe ini lebih disukai karena selain kemungkinan besar diberikan secara gratis, juga memperbolehkan mereka (para developer) lebih fleksibel dalam mengintegrasikan komponen yang diinginkan untuk dibentuk sebagai game engine mereka sendiri. Kelemahannya banyak engine yang dibuat dengan cara semacam ini malah menyerang balik developernya. Tower Games Studio membutuhkan satu tahun penuh untuk menyempurnakan game engine-nya, hanya untuk ditulis ulang semuanya dalam beberapa hari sebelum penggunaannya karena adanya bug kecil yang sangat mengganggu.

2.Mostly-ready game engines

Engine ini biasanya sudah menyediakan semuanya begitu diberikan pada developer/programer. Semuanya termasuk contoh GUI, physiscs, libraries model, texture dan lain-lain. Banyak dari mereka yang sudah benar-benar matang, sehingga dapat langsung digunakan untuk scripting sejak hari pertama. Game engine semacam ini memiliki beberapa batasan, terutama jika dibandingkan dengan game engine sebelumnya yang benar-benar terbuka lebar. Hal ini ditujukan agar tidak terjadi banyak error yang mungkin terjadi setelah sebuah game yang menggunakan engine ini dirilis dan masih memungkinkan game engine-nya tersebut untuk mengoptimalkan kinerja game-nya. Contoh tipe game engine seperti ini adalah Unreal Engine, Source Engine, id Tech Engine dan sebagainya yang sudah sangat optimal dibandingkan jika harus membuat dari awal. Dengan hal ini dapat menyingkat menghemat waktu dan biaya dari para developer game.

3.Point-and-click engines

Engine ini merupakan engine yang sangat dibatasi, tapi dibuat dengan sangat user friendly. Anda bahkan bisa mulai membuat game sendiri menggunakan engine seperti GameMaker, Torque Game Builder dan Unity3D. Dengan sedikit memanfaatkan coding, kamu sudah bisa merilis game point-and-click yang kamu banget. Kekurangannya terletak pada terbatasnya jenis interaksi yang bisa dilakukan dan biasanya hal ini mencakup semuanya, mulai dari grafis hingga tata suara. Tapi bukan berarti game engine jenis ini tidak berguna, bagi developer cerdas dan memiliki kreativitas tinggi, game engine seperti ini bisa dirubah menjadi sebuah game menyenangkan, seperti Flow. Game engine ini memang ditujukan bagi developer yang ingin menyingkat waktu pemrogramman dan merilis game-game mereka secepatnya.

Contoh –Contoh Game Engine :

Engine Berbayar

Untuk membuat game 3D:
1. 3D Game Maker
2. 3D Game Studio
3. DarkBASIC
4. TrueVision
5. FPS Creator
6. Blade 3D
7. Source
8. Esenthel for commercial
9. Torque 3D
10. Shiva 3D
11. CryEngine
Untuk membuat game 2D:
1. RPG MAKER VX
2. RPG MAKER XP
3. Game Maker Pro

Engine Gratis

Untuk membuat game 3D:
1. Panda 3D *)
2. OGRE *)
3. Esenthel for non¬commercial
4. Unity Free Edition
5. G3D *)
6. Genesis3D *)
7. FPS Creator Free Edition
8. DarkBASIC Pro Free Edition
9. Cube 2 (Sauerbraten) *)
10. Unreal Development Kit
11. Platinum Arts Sandbox *)
12. CAST II *)
13. 3D RAD Pro
14. DX Studio
15. Blender *)
16. Angel ( ini engine¬nya Nusantara Online) *) **)
17. Irrlicht *)
18. id Tech (a.k.a Doom Engine, yang dipakai membuat Doom 2) *)
19. Quake Engine (yang dipakai menggarap Quake dan Half¬Life) *)

Untuk membuat game 2D:
1. RPG MAKER 2000
2. RPG MAKER 2003
3. 001 Action/RPG Maker
4. Game maker
5. 2D Fighter Maker
6. M.U.G.E.N.
7. Adventure Maker
8. Adventure Game Studio
9. Stratagus *)
10. Battle for Westnoth *)
11. RPG Studio *) **)
12. Scirra Construct*)
Legenda: *) berarti open source sedangkan **) berarti BUATAN INDONESIA.

Sumber :
Sumber 1
Sumber 2

Apa Itu Game ?

Telinga kita sudah tidak asing lagi mendengar kata “Game”, tapi apakah game itu sebenarnya ?

Game berasal dari kata bahasa inggris yang memiliki arti dasar Permainan. Permainan dalam hal ini merujuk pada pengertian “kelincahan intelektual” (intellectual playability). Game juga bisa diartikan sebagai arena keputusan dan aksi pemainnya. Ada target-target yang ingin dicapai pemainnya. Kelincahan intelektual, pada tingkat tertentu, merupakan ukuran sejauh mana game itu menarik untuk dimainkan secara maksimal.

Pada awalnya, game identik dengan permainan anak-anak. Kita selalu berpikir game merupakan suatu kegiatan yang dilakukan oleh anak-anak yang dapat menyenangkan hati mereka. Dengan kata lain, segala bentuk kegiatan yang memerlukan pemikiran, kelincahan intelektual dan pencapaian terhadap target tertentu dapat dikatakan sebagai game. Tetapi yang akan dibahas pada kesempatan ini adalah game yang terdapat di komputer, baik off line maupun online.

Berikut ini adalah pengertian dan definisi game:

# JOHN C BECK & MITCHELL WADE
Game adalah penarik perhatian yang telah terbukti
Game adalah lingkungan pelatihan yang baik bagi dunia nyata dalam organisasi yang menuntut pemecahan masalah secara kolaborasi

# IVAN C. SIBERO
Game merupakan aplikasi yang paling banyak digunakan dan dinikmati para pengguna media elektronik saat ini.

# FAUZI A
Game merupakan suatu bentuk hiburan yang seringkali dijadikan sebagai penyegar pikiran dari rasa penat yang disebabkan oleh aktivitas dan rutinitas kita

# SAMUEL HENRY
Game merupakan bagian tak terpisahkan dari keseharian anak, sedangkan sebagian orang tua menuding game sebagai penyebab nilai anak turun, anak tak mampu bersosialisasi, dan tindakan kekerasan yang dilakukan anak

# ANDIK SUSILO
Game adalah salah satu candu yang susah dihilangkan, bahkan ada yang mengatakan bahwa candu game online setara dengan narkoba

# JOHN NAISBITT
Game merupakan sistem partisipatoris dinamis karena game memiliki tingkat penceritaan yang tidak dimiliki film

# ALBERT EINSTEIN
Game adalah bentuk investigasi paling tinggi

# WIJAYA ARIYANA & DENI ARIFIANTO
Game merupakan salah satu kebutuhan yang menjadi masalah besar bagi pengguna komputer, karena untuk dapat memainkan game dengan nyaman, semua komponen komputernya harus memiliki kualitas yang baik, terutama VGA card-nya

JENIS-JENIS GAME

*) Dibawah ini adalah jenis atau klasifikasi beberapa game :

- Advergaming
Sering mengunjungi website merek-merek kesayangan anda? Permen coklat M&M, Coca-cola, Nike, A-Mild, atau Rexona? Anda pasti menemukan game-game yang dapat dimainkan lalu dapat anda beritahukan / mengundang langsung ke teman-teman anda. jenis game yang biasanya mudah dimainkan ini mengusung dan menampilkan produk atau brand mereka baik secara gamblang maupun tersembunyi. Di era tumbuhnya media-media baru berteknologi tinggi sekarang ini, dunia periklanan memang sudah tidak lagi terbatas pada TV, koran, majalah, billboard dan radio, video game sekarang telah menjadi sarana beriklan atau membangun brand-awareness yang efektif. Baik melalui internet maupun di mainkan di event-event mereka, edugames terasa semakin dibutuhkan untuk menjaring calon konsumen bagi produk yang menggunakan advergames ini. Contoh produk di indonesia yang membuat advergames: A-Mild, Rexona teens, Axe.

- Edutainment
Video Game jenis ini dibuat dengan tujuan spesifik sebagai alat pendidikan, entah untuk belajr mengenal warna untuk balita, mengenal huruf dan angka, matematika, sampai belajar bahasa asing. Developer yang membuatnya, harus memperhitungkan berbagai hal agar game ini benar-benar dapat mendidik, menambah pengetahuan dan meningkatkan ketrampilan yang memainkannya. Target segmentasi pemain harus pula disesuaikan dengan tingkat kesulitan dan design visual ataupun animasinya. Contoh edugames : Bobi Bola, Dora the explorer, Petualangan Billy dan Tracy.

- Games-Based Learning
- Edumarket Games – kombinasi dari advergaming dan edutainment.
- News Games atau Journalistic games
- Simulation Games

Video Game jenis ini seringkali menggambarkan dunia di dalamnya sedekat mungkin dengan dunia nyata dan memperhatikan dengan detil berbagai faktor. Dari mencari jodoh dan pekerjaan, membangun rumah, gedung hingga kota, mengatur pajak dan dana kota hingga keputusan memecat atau menambah karyawan. Dunia kehidupan rumah tangga sampai bisnis membangun konglomerasi, dari jualan limun pinggir jalan hingga membangun laboratorium cloning. Video Game jenis ini membuat pemain harus berpikir untuk mendirikan, membangun dan mengatasi masalah dengan menggunakan dana yang terbatas. Contoh: Sim City, The Sims, Tamagotchi.

- Persuasive Games

- Organizational-Dynamic Games
Game Online adalah game yang menggunakan internet network sehingga game ini dapat di mainkan atau di akses oleh siapa saja. Selain itu game ini juga tidak hanya dapat di akses oleh penduduk lokal saja tetapi bahkan hingga keluar negeri. Dibawah ini adalah beberapa tipe game online :

- First Person Shooter(FPS), sesuai judulnya game ini mengambil pandangan orang pertama pada gamenya sehingga seolah-olah kita sendiri yang berada dalam game tersebut, kebanyakan game ini mengambil setting peperangan dengan senjata-senjata militer (di indonesia game jenis ini sering disebut game tembak-tembakan).

- Real-Time Strategy, merupakan game yang permainannya menekankan kepada kehebatan strategi pemainnya, biasanya pemain memainkan tidak hanya 1 karakter saja akan tetapi banyak karakter.

- Cross-Platform Online, merupakan game yang dapat dimainkan secara online dengan hardware yang berbeda misalnya saja need for speed undercover dapat dimainkan secara online dari PC maupun Xbox 360(Xbox 360 merupakan hardware/console game yang memiliki konektivitas ke internet sehingga dapat bermain secara online).

- Browser Games, merupakan game yang dimainkan pada browser seperti Firefox, Opera, IE. Syarat dimana sebuah browser dapat memainkan game ini adalah browser sudah mendukung javascript, php, maupun flash.

- Massive Multiplayer Online Games, adalah game dimana pemain bermain dalam dunia yang skalanya besar (>100 pemain), setiap pemain dapat berinteraksi langsung seperti halnya dunia nyata

Contoh dari beberapa macam game online adalah :
- Ragnarok Online
- RF online
- Perfect World
- Yugioh! Online
- Ayo dance!
- Rohan Online
- dll.

Sedangkan game offline adalah game tanpa menggunakan jaringan internet sehingga game tersebut tidak dapat dimainkan secara bebas oleh siapapun. Contoh game offline seperti :
- Playstation
- Sega
- dll.

*) Jenis game berdasarkan platform yang digunakan :

- Arcade games
Yaitu yang sering disebut ding-dong di Indonesia, biasanya berada di daerah / tempat khusus dan memiliki box atau mesin yang memang khusus di design untuk jenis video games tertentu dan tidak jarang bahkan memiliki fitur yang dapat membuat pemainnya lebih merasa “masuk” dan “menikmati”, seperti pistol, kursi khusus, sensor gerakan, sensor injakkan dan stir mobil (beserta transmisinya tentunya).

- PC Games
Yaitu video game yang dimainkan menggunakan Personal Computers.

- Console games
Yaitu video games yang dimainkan menggunakan console tertentu, seperti Playstation 2, Playstation 3, XBOX 360, dan Nintendo Wii.

- Handheld games
Yaitu yang dimainkan di console khusus video game yang dapat dibawa kemana-mana, contoh Nintendo DS dan Sony PSP.

- Mobile games
Yaitu yang dapat dimainkan atau khusus untuk mobile phone atau PDA.
*) Jenis game berdasarkan genre permainan :
- Action-Shooting, (tembak-tembakan , atau hajar-hajaran bisa juga tusuk-tusukan, tergantung cerita dan tokoh di dalamnya)
video game jenis ini sangat memerlukan kecepatan refleks, koordinasi mata-tangan, juga timing, inti dari game jenis ini adalah tembak, tembak dan tembak. Termasuk didalam-nya :

a.First person shooting (FPS) seperti Counter Strike dan Call of Duty
b.Drive n’ shoot, menggunakan unsur simulasi kendaraan tetapi tetap dengan tujuan utama menembak dan menghancurkan lawan, contoh : Spy Hunter, Rock and Roll Racing, Road Rash.
c. Shoot em’ up, seperti Raiden, 1942, dan gradius.
d. Beat ‘em up (tonjok hajar) seperti Double Dragon dan Final Fight, lalu hack and slash (tusuk tebas) seperti Shinobi dan Legend of Kage.
e. Light gun shooting, yang menggunakan alat yang umumnya berbentuk seperti senjata, seperti Virtua Cop dan Time Crisis.

- Fighting ( pertarungan )
Video game ini memang memerlukan kecepatan refleks dan koordinasi mata-tangan, tetapi inti dari game ini adalah penguasaan jurus (hafal caranya dan lancar mengeksekusinya), pengenalan karakter dan timing sangatlah penting, o iya, combo-pun menjadi esensial untuk mengalahkan lawan secepat mungkin. Dan berbeda seperti game Aksi pada umumnya yang umumnya hanya melawan Artificial Intellegence atau istilah umumnya melawan komputer saja, pemain jenis fighting game ini baru teruji kemampuan sesungguhnya dengan melawan pemain lainnya. Seri Street Fighter, Tekken, Mortal Kombat, Soul Calibur dan King of Fighter adalah contohnya

- Aksi – Petualangan
Memasuki gua bawah tanah, melompati bebatuan di antara lahar, bergelayutan dari pohon satu ke pohon lain, bergulat dengan ular sambil mencari kunci untuk membuka pintu kuil legendaris, atau sekedar mencari telepon umum untuk mendapatkan misi berikutnya, itulah beberapa dari banyak hal yang karakter pemain harus lakukan dan lalui dalam video game jenis ini. Menurut penulis, game jenis ini sudah berkembang jauh hingga menjadi genre campuran action beat-em up juga, dan sekarang, di tahun 2000 an, jenis ini cenderung untuk memiliki visual 3D dan sudut pandang orang ke-tiga. Tomb Rider, Grand Theft Auto dan Prince of Persia termasuk didalamnya.

- Petualangan
Bedanya dengan jenis video game aksi-petualangan, refleks dan kelihaian pemain dalam bergerak, berlari, melompat hingga memecut atau menembak tidak diperlukan di sini. Video Game murni petualangan lebih menekankan pada jalan cerita dan kemampuan berpikir pemain dalam menganalisa tempat secara visual, memecahkan teka-teki maupun menyimpulkan rangkaian peristiwa dan percakapan karakter hingga penggunaan benda-benda tepat pada tempat yang tepat. Termasuk didalamnya:
a. Petualangan dengan teks atau sistem tunjuk dan klik, contoh: Kings Quest, Space Quest, Heroes Quest, Monkey Island, Sam and Max,
b.Novel atau film interaktif, seperti game “dating” yang banyak beredar di jepang, Dragons Lair dan Night Trap.

- Role Playing
Video game jenis ini sesuai dengan terjemahannya, bermain peran, memiliki penekanan pada tokoh/peran perwakilan pemain di dalam permainan, yang biasanya adalah tokoh utamanya, dimana seiring kita memainkannya, karakter tersebut dapat berubah dan berkembang ke arah yang diinginkan pemain ( biasanya menjadi semakin hebat, semakin kuat, semakin berpengaruh, dll) dalam berbagai parameter yang biasanya ditentukan dengan naiknya level, baik dari status kepintaran, kecepatan dan kekuatan karakter, senjata yang semakin sakti, ataupun jumlah teman maupun mahluk peliharaan.Secara kebudayaan, pengembang game Jepang biasanya membuat Role Playing Game (RPG) ke arah cerita linear yang diarahkan seolah karakter kita adalah tokoh dalam cerita itu, seperti Final Fantasy, Dragon Quest dan Xenogears. Sedangkan pengembang game RPG Eropa, cenderung membuat karakter kita bebas memilih jalan cerita sendiri secara non-linear, seperti Ultima, Never Winter Nights, baldurs gate, Elder Scroll, dan Fallout.

- Strategi
Kebalikan dari video game jenis action yang berjalan cepat dan perlu refleks secepat kilat, video game jenis strategi, layaknya bermain catur, justru lebih memerlukan keahlian berpikir dan memutuskan setiap gerakan secara hati-hati dan terencana. Video game strategi biasanya memberikan pemain atas kendali tidak hanya satu orang tapi minimal sekelompok orang dengan berbagai jenis tipe kemampuan, sampai kendaraan, bahkan hingga pembangunan berbagai bangunan, pabrik dan pusal pelatihan tempur, tergantung dari tema ceritanya. Pemain game strategi melihat dari sudut pandang lebih meluas dan lebih kedepan dengan waktu permainan yang biasanya lebih lama dan santai dibandingkan game action. Unsur-unsur permainannya biasanya berkisar sekitar, prioritas pembangunan, peletakan pasukan, mencari dan memanfaatkan sumberdaya (uang, besi, kayu,minyak,dll), hingga ke pembelian dan peng-upgrade-an pasukan atau teknologi. Game jenis ini terbagi atas:

a.Real time Strategy, game berjalan dalam waktu sebenarnya dan serentak antara semua pihak dan pemain harus memutuskan setiap langkah yang diambil saat itu juga berbarengan mungkin saat itu pihak lawan juga sedang mengeksekusi strateginya. Contoh: Starcraft, Warcraft , dan Command and Conquer.

b.Turn based Strategy , game yang berjalan secara bergiliran, saat kita mengambil keputusan dan menggerakan pasukan, saat itu pihak lawan menunggu, begitu pula sebaliknya, layaknya catur.
contoh: Front Mission, Super robot wars, Final Fantasy tactics, Heroes of might and magic, Master of Orion.
Sebenarnya ada yang memilah lagi menjadi jenis tactical dan strategi, namun penulis cenderung untuk menggabungkannya karena perbedaannya hanya ada di masalah skala dan ke-kompleks-an dalam manajemen sumber daya-nya saja.

- Puzzle
Video game jenis ini sesuai namanya berintikan mengenai pemecahan teka-teki, baik itu menyusun balok, menyamakan warna bola, memecahkan perhitungan matematika, melewati labirin, sampai mendorong-dorong kota masuk ke tempat yang seharusnya, itu semua termasuk dalam jenis ini. Sering pula permainan jenis ini adalah juga unsur permainan dalam video game petualangan maupun game edukasi. Tetris, Minesweeper, Bejeweled, Sokoban dan Bomberman.

- Simulasi kendaraan
Video Game jenis ini memberikan pengalaman atau interaktifitas sedekat mungkin dengan kendaraan yang aslinya, muskipun terkadang kendaraan tersebut masih eksperimen atau bahkan fiktif, tapi ada penekanan khusus pada detil dan pengalaman realistik menggunakan kendaraan tersebut. Terbagi atas beberapa jenis:

a. Perang. Video game simulasi kendaraan yang sempat tenar di tahun 90-an ini mengajak pemain untuk menaiki kendaraan dan berperang melawan kendaraan lainnya. Dan kebanyakan diantaranya memiliki judul sama dengan nama kendaraannya. Contoh : Apache 64, Comanche, Abrams, YF-23, F-16 fighting eagle.Tetapi game kehidupan bajak laut seperti ‘Pirates!’ pun dapat dikategorikan disini.

b.Balapan. Dari namanya sudah jelas, siapa sampai duluan di garis finish dialah pemenangnya! Terkadang malah pemain dapat memilih kendaraan, mendandani, upgrade mesin bahkan mengecatnya. Contoh: Top Gear, Test Drive, Sega Rally Championship, Daytona, Grand Turismo, Need For Speed, Mario Cart, ManXTT.

c.Luar Angkasa. Walau masih dapat dikategorikan simulasi kendaraan perang, tetapi segala unsur fiksi ilmiah dan banyaknya judul yang beredar membuat subgenre ini pantas dikategorikan diluar simulasi kendaraan perang. Jenis ini memungkinkan pemain untuk menjelajah luar angkasa, berperang dengan mahluk alien, mendarat di planet antah berantah atau sekedar ingin merasakan bagaimana menjadi kapten di film fiksi ilmiah kesayangan kamu. Contoh: Wing Commander, Freelancer , Star Wars X-Wing, Star Wars Tie Fighter, dll.

d.Mecha. Pendapat bahwa hampir tidak ada orang yang terekspos oleh film robot jepang saat kecilnya tidak memimpikan ingin mengendalikan robot, memang sulit dibantah. Dipopulerkan oleh serial Mechwarrior oleh Activision, subgenre Simulasi Mecha ini memungkinkan pemainnya untuk mengendalikan robot dan menggunakannya untuk menghancurkan gedung, helikopter dan tentu saja robot lainnya. Contoh: Mechwarrior, Gundam Last war Chronicles, dan Armored Core.

- Olahraga
Singkat padat jelas, bermain sport di PC atau konsol anda. Biasanya permainannya diusahakan serealistik mungkin walau kadang ada yang menambah unsur fiksi seperti NBA JAM. Contohnya pun jelas, Seri Winning Eleven, seri NBA, seri FIFA, John Madden NFL, Lakers vs Celtics, Tony hawk pro skater, dll.

*) KATEGORI-KATEGORI LAINNYA :

- Multiplayer Online
Game yang lagi trend di Indonesia bahkan dunia,menjadi salah satu titik balik mengapa dunia game dan internet di Indonesia dapat berkembang. Dan karena dimainkan online dan dengan sistem pembayaran menggunakan voucher, pembajakan sudah tidak menjadi masalah lagi. Game yang dapat dimainkan secara bersamaan oleh lebih dari 2 orang (bahkan dapat mencapai puluhan ribu orang dalam satu waktu) membuat pemain dapat bermain bersama dalam satu dunia virtual dari sekedar chatting hingga membunuh naga bersama teman yang entah bermain di mana. Umumnya permainan tipe ini dimainkan di PC dan bertema RPG, walau ada juga yang bertema music atau action. Contoh: Ragnarok online, O2jam, World of Warcraft, Ayo Dance, Lineage, Rose online.

- Casual games
Sesuai namanya, game yang casual itu tidak kompleks, mainnya rileks dan sangat mudah untuk dipelajari ( bahkan cenderung langsung bisa dimainkan ). Jenis ini biasanya memerlukan spesifikasi komputer yang standar pada jamannya dan ukurannya tidak lebih dari 100 MB karena biasanya dapat di download versi demo-nya di website resminya. Genre permainannya biasanya puzzle atau action sederhana dan umumnya dapat dimainkan hanya menggunakan mouse ( biasanya game lain menggunakan banyak tombol tergantung game-nya ). Contoh: Diner Dash, Sally Salon, Bejeweled, Zuma, Feeding Frenzy, Insaniquarium.

Elemen Game

Didalam sebuah game terdapat beberapa elemen-elemen yang akan membentuk sebuah game itu sendiri yaitu :

1. Rules (aturan-aturan)
Sebuah game mengambil tempat atau seting di dunia buatan yang diatur oleh aturan-aturan (rules). Rules istilah yang menentukan aksi dan gerakan pemain dalam sebuah game. Pada game komputer, kebanyakan rules ini tersembunyi. Karena pemain berinteraksi dengan game hanya melalui suatu alat masukan atau yang biasanya disebut dengan input device dan mesin mengabaikan input yang tidak sesuai tampa harus memberitahu aturan kepada pemain.

2. Victory condition (kondisi menang) dan Lose condition (kondisi kalah).
Karena ada kondisi kemenangan, maka game juga memiliki kondisi kekalahan (lose condition).

3. Setting (seting)
Sebuah game mengambil tempat pada suatu dunia atau setting tertentu. Contohnya pada permainan bola yang berseting pada lapangan dan batasan-batasan tertentu.

4. Interaction model (model interaksi)
Yaitu cara pemain berinteraksi dengan game dan melakukan aksi untuk menghadapi tantangan dari game tersebut. Model interaksi yang biasa dipakai pada game komputer ada dua jenis. Yang pertama, jika pemain mengendalikan tokoh tunggal yang mempresentasikan dirinya dalam game dan tokoh tersebut dapat mempengaruhi dunia sekitarnya, maka tokoh tersebut disebut sebagai avatar-nya. Sedangkan yang kedua adalah jikapemain memiliki kemampuan untuk melihat berbagai bagaian dari gameworld (dunia permainan)dan melakukan aksi pada banyak tempat maka pemain tersebut sebagai omnipresent. Namun hal ini dapat diterapkan pada tokoh atau unit yang menjadi miliknya, dengan memberikan perintah kepada mereka satu-persatu. Salah satu contoh game yang termasuk jenis ini adalah catur.

5. Perspective (sudut pandang)
Yaitu mnjelaskan bagaimana pemain melihat gameworld dari suatu game pada layar.

6. Role (peran)
Yaitu tokoh yang dimainkan oleh pemain dalam suatu game. Dengan adanya peran ini maka pemain akan lebih mudah untuk memahami apa yang sebenarnya ingin dicapai dan aturan apa yang yang dimainkan. Sebagai contoh, pada permainan monopoli kita berperan sebagai pialang perumahan. Pada game Championship Manager kita berperan sebagai manager sebuah tim sepak bola. Pada seri game Sierra Online’s Police Quest pemain berperan sebagai polisi dan memiliki aturan-aturan seperti polisi sungguhan, seperti tidak boleh menembak sembarang sasaran, harus menaati peraturan tentang kapan diperbolehkannya menembak.

7. Mode
Beberapa game, seperti catur, berlaku sama dari awal sampai akhir. Pemain selalu ingin mencapai atau menyelesaikan hal yang sama dengan cara yang berbeda pula. Namun ada juga game yang memiliki mode yang nyata, yaitu dimana gameplay-nya berubah dari satu mode ke mode lainnya. Contohnya seperti pada game perang, yaitu sebelum pemain turun ke medan perang biasanya pemain diberi briefing terlebih dahulu, lalu pindah ke mode pemilihan senjata, dan terakhir adalah perang itu sendiri.

8. Structure (struktur)
Hubungan antara mode dan aturan menentukan kapan dan mengapa game berubah secara bersama-sama membentuk suatu permainan.

9. Realism (realisme)
Game menggambarkan sebuah dunia, bahkan mungkin dunia yang khayal. Sebuah game yang menerapkan akal sehat dan logika pada aturan permainannya dapat dikatakan sebagai game yang realistis. Contoh dari game ini adalah Microsoft Flight Simulator, game ini mencoba mengimplementasikan bagiamana mensimulasikan pesawat terbang yang sesungguhnya.

10. Story (cerita)
Game computer merupakan perpaduan antara media pasif, pasif seperti televisi dan film dan media aktif, dongeng, non pasif seperti permainan poker dan domino. Beberapa game komputer, seperti tetris tidaklah mempunyai cerita. Lain halnya dengan seri Metal Gear Solid, dan Final Fantasy. Beberapa game memiliki alur cerita yang linear atau hanya satu jalan cerita dan bersifat non interaktif, namun ada juga yang bersifat interaktifdimana cerita akan berbeda atau bercabang tergantung pada pilihan atau tindakan yang diambil pemain. Sehingga cerita akhir (ending) yang didapat akan berbeda-beda pula, atau biasanya disebut dengan multiple ending.

Sumber :
Sumber 1
Sumber 2

Senin, 02 Januari 2012

Texturing pada Blender

Pada kali ini saya akan menjelaskan bagaimana memberikan texture pada objek dengan menggunakan Blender. Saya menggunakan Blender 2.61. Berikut langkah-langkah untuk memberikan texture pada objek dalam Blender 2.61 :

• Buatlah Sebuah Object dengan menggunakan Add lalu pilih Mesh, di sini saya menggunakan Cube .



• Setelah itu kita akan membuat lembar kerja kita menjadi 2 Buah tampilan, arahkan kursor ke arah atas lembar kerja hingga muncul anak panah lalu right klik dan pilih split area maka akan tercipta lah 2 Buah lembar kerja.



• Setelah itu kita lihat untuk lembar kerja sebelah kanan kita akan ganti beberapa yaitu kita ada icon seperti kotak kecil kubus lalu kita ganti menjadi UV Editor Image lalu right klik sudut” Cube pada edit mode sehingga seluruh Cube dan Image dalam lembar kerja kedua menjadi seperti diblock, tujuannya adalah agar gambar yang diambil dapat ditampilkan pada Cube dalam texture mode . Seperti pada gambar berikut



• Lalu pilih Image pada lembar kerja kedua pilih Open Image dan pilih gambar yang dikehendaki.



• Setelah itu kita lihat lembar kerja kita dibagian sebelah kiri yaitu kita harus rubah untuk object mode kita rubah menjadi texture letaknya ada di sebelah object mode bentuk nya icon elipse , setelah itu tampilan label kita sudah dapat terlihat seperti gambar berikut .




• Namun Ini belum selesai, ketika kita render maka texture yang tadi kitamasukkan tidak dapat terlihat di dalam hasil render tersebut , kita perlu membuat sentuhan manis terlebih dahulu yaitu dengan kita pergi ke pilihan Material ,lalu klik add new lalu lihat di bagian bawah terdapat Face Texture & Face Texture Alpha . Centang lah keduanya maka lihat lah hasilnya ketika dirender . dengan cara seperti gambar di bawah ini



• Sehingga saat dirender menjadi seperti berikut.