Sabtu, 16 April 2011

Cloud Computing

Cloud computing mengacu pada penyediaan sumber daya komputasi on demand melalui jaringan komputer . Dalam model tradisional komputasi, baik data dan perangkat lunak sepenuhnya terdapat pada pengguna komputer; dalam komputasi awan, pengguna komputer dapat berisi hampir tidak ada perangkat lunak atau data (mungkin minimal sistem operasi dan web browser saja), melayani sebagai sedikit lebih dari terminal tampilan untuk proses yang terjadi pada jaringan komputer jauh. Sebuah singkatan umum untuk layanan komputasi awan penyedia (atau bahkan sebuah agregasi dari semua layanan awan yang ada) adalah "The Cloud".

Analogi yang paling umum untuk menjelaskan komputasi awan adalah utilitas publik seperti listrik, gas, dan air. Hanya individu gratis sebagai terpusat dan standar utilitas dari keanehan pembangkit listrik sendiri atau memompa air mereka sendiri, komputasi awan membebaskan pengguna dari harus berurusan dengan itu, aspek fisik perangkat keras dari sebuah komputer atau lebih biasa tugas-tugas pemeliharaan perangkat lunak yang memiliki fisik komputer di rumah mereka atau kantor. Sebaliknya mereka menggunakan bagian dari jaringan luas komputer, menuai skala ekonomi.

Kata "cloud computing" berasal dari simbol awan yang biasanya digunakan oleh diagram alir dan diagram untuk melambangkan internet. Prinsip di balik awan adalah bahwa setiap komputer yang terhubung ke internet tersambung ke kolam sama daya komputasi, aplikasi, dan file. Pengguna dapat menyimpan dan mengakses file pribadi sendiri mereka seperti musik, gambar, video, dan bookmark atau bermain game atau penggunaan aplikasi produktivitas pada remote server daripada fisik membawa sekitar media penyimpanan seperti DVD atau thumb drive. Hampir semua pengguna internet mungkin menggunakan bentuk komputasi awan meski hanya sedikit menyadarinya.

Cloud computing adalah user tidak memiliki infrastruktur fisik, melainkan menggunakan/meminjam jasa pihak ke-3. hal ini tentu saja dapat menghemat pengeluaran, user tidak perlu mengeluarkan tambahan biaya untuk maintenance, mengganti spare-part apabila rusak, dan user mungkin hanya perlu membeli komputer kosong tanpa harddisk, karena segala keperluan komputerisasi telah disediakan oleh pihak ke-3 termasuk security, backup, dan hal umum lainnya.

Contoh cloud computing adalah Yahoo email atau Gmail. Anda tidak perlu software atau server untuk menggunakannya. Semua konsumen hanya perlu koneksi internet dan mereka dapat mulai mengirimkan email. Software manajemen email dan serber semuanya ada di cloud (internet) dan secara total dikelola oleh provider seperti Yahoo, Google, etc. Konsumen hanya perlu menggunakan software itu sendiri dan menikmati manfaatnya. Analoginya adalah, “Jika and membutuhkan susu, kenapa membeli sapi?” Yang semua pengguna butuhkan adalah manfaat menggunakan software atau hardware seperti mengirim email dll. Hanya untuk mendapatkan manfaat ini (susu) mengapa konsumen harus membeli sapi (software/hardware).

Cloud computing dipecah ke dalam 3 segmen : aplikasi, platform, dan infrastruktur. Setiap segmen memberikan tujuan dan penawaran produk yang berbeda untuk pebisnis dan individual di seluruh dunia. Pada bulan Juni 2009, penelitian dilakukan oleh VersionOne yg menemukan bahwa 41% profesional senior di bidang IT tidak tahu apa itu cloud computing dan dua pertiga dari profesional keuangan bingung dengan konsep tersebut. Pada bulan September 2009, penelitian Aberdeen Group menemukan bahwa perusahaan yang disiplin mencapai rata-rata 18% pengurangan biaya IT mereka dari cloud computing dan 16% pengurangan dalam data center power costs.


Berikut ini beberapa breakdown dari pengertian cloud computing diatas.

1. SAAS (Software As A Service), merupakan konsep dimana perusahaan penyedia jasa (provider) memiliki sebuah aplikasi yang bisa digunakan oleh banyak client, dengan ini client tidak perlu menyiapkan sebuah server dan membeli lisensi software, mereka cukup membeli service dari aplikasi tersebut, tentu saja hal ini akan memangkas biaya operasional perusahaan.
2. Utility Computing, cloud computing jenis ini menawarkan sebuah solusi dalam bentuk virtual server dan jasa penyimpanan data (storage data center).
3. Web Services In The Cloud, merupakan jenis cloud computing yang menyedikan service APIs yang bisa digunakan oleh para developer untuk membangun sebuah aplikasi, contohnya: Google Maps, ADP Payroll Processing, the U.S Postal Service, Bloomberg, etc..
4. Platform As A Service, merupakan jenis cloud computing yang menyedikan service berupa application development environment, yaitu sebuah lingkungan pengembangan aplikasi dimana pengembang bisa menjalankan aplikasinya di server provider dan diserahkan kepada client-nya melalui Internet.
5. MSP (Manage Service Provider), yaitu merupakan service untuk melakukan manajemen terhadap aplikasi yang digunakan oleh cloud computing. Dengan service ini, manajemen aplikasi akan menjadi lebih mudah, karena dilakukan pada satu aplikasi yang digunakan oleh banyak user, sehingga bisa lebih focus, contohnya: scanning virus, spam dan lain sebagainya.
6. Service Commerce Platforms, yaitu merupakan sebuah hybrid SaaS and MSP. Service ini menghubungkan antara satu user dengan user lainya, jika diibaratkan dalam sebuah jaringan komputer, service ini bertindak sebagai hub yang menguhubungkan satu client dengan client lainnya. Service ini banyak digunakan dalam lingkungan perdagangan.
7. Internet Integration

Jenis layanan yang bisa disediakan cloud computing bisa dibedakan mejadi tiga tipe:

1. Infrastructure as a Service

Produk yang ditawarkan menggunakan mode ini berupa layanan infrastruktur komputer yang diberikan melalui media Internet. Contohnya: komputer virtual, server, storage).

2. Platform as as Service

Pada paradigma komputer tradisional setiap aplikasi membutuhkan sistem operasi, database, middleware, server dan software-software tertentu. Selain itu diperlukan network dan database administrator serta management untuk menjamin keberlangsungan layanan yang diberikan. Semuaya dilakukan secara lokal. Menggunakan paradigma cloud computing, seluruh layanan diatas diberikan secara jarak jauh oleh layer ini.

3. Software as a Service

Pada layer ini, aplikasi diberikan sebagai sebuah layanan atau service melalui media Internet. Kita tidak perlu lagi untuk menginstall atau maintain aplikasi didalam komputer kita. Contohnya adalah Google apps.

sumber :
http://zulvani.wordpress.com/2010/03/08/apa-sih-cloud-computing-itu-2/
http://syarifhidayat.net/cloud-computing-2-jenis-layanan-cloud-computing.html
http://translate.google.co.id/translate?hl=id&langpair=en|id&u=http://en.wikipedia.org/wiki/Category:Cloud_computing
http://wartawarga.gunadarma.ac.id/2011/04/pengertian-cloud-computing/

GAME LABIRIN 2D - J2ME

Games atau dalam Bahasa Indonesia yaitu permainan. Permainan yang dimaksud dalam game juga merujuk pada pengertian sebagai “kelincahan intelektual” (intellectual playability). Sementara kata “game” bisa diartikan sebagai arena keputusan dan aksi pemainnya. Kelincahan intelektual, pada tingkat tertentu, merupakan ukuran sejauh mana game itu menarik untuk dimainkan secara maksimal. Suatu game dahulu pasti identik dengan anak-anak, dalam benak kita games merupakan suatu kegiatan yang dilakukan oleh anak-anak yang bagi mereka merupakan kegiatan yang menyenangkan. Segala bentuk kegiatan yang memerlukan pemikiran, kelincahan intelektual dan pencapaian terhadap target tertentu dapat dikatakan sebagai game. Sejalan dengan makin membanjirnya para penggemar game ini, teknologi piranti lunak untuk permainan ini pun berkembang kian pesat. Dari sekadar video game berbasis PC atau TV yang dimainkan sendiri atau secara bersama.
Pada masa sekarang ini, video game yang berbasis PC atau handphone sangatlah banyak. Akan tetapi pada video game berbasis PC, kita hanya bisa memainkannya di satu tempat tanpa bisa berpindah ketempat yang lain pada saat yang bersamaan. Sedangkan video game berbasis Handphone, kita bisa mengefesiensi waktu. Kita bisa memainkan video game dimana saja dan kapan saja. Hanya saja kekurangan nya pada tekstur warna dan resolusinya yang kurang bagus disbanding PC. Walaupun demikian tidak mengurangi jumlah pemakai video game di Handphone. Oleh karena itu, perkembangan jumlah game handphone bisa mencapai ribuan dan dari sekian banyak game tersebut banyak yang menggunakan Java (J2ME).
Berawal dari latar belakang masalah tersebut, maka saya mencoba memberi peranan dalam industry game dalam handphone. Dalam makalah ini, penulis akan membahas “game labirin” beserta tata cara untuk membuat game tersebut dengan menggunakan aplikasi J2ME.
Secara umum, pembuatan aplikasi permainan ini dibagi menjadi empat tahap, yang terdiri dari :

1. Membuat rancangan permainan Labirin.
2. Pembuatan diagram alur (flowchart) program yang akan menggambarkan aliran dan arah jalannya program yang akan dibuat.
3. Pembuatan program. Pada tahap ini penulis akan membuat kode program berdasarkan kedua tahap sebelumnya untuk di implementasikan pada ponsel
4. Uji coba program. Pada tahap ini kode program yang telah dibuat pada tahap sebelumnya akan dieksekusi dan dijalankan untuk menganalisa kesesuaiannya dengan ketiga tahap awal yang dilakukan (eksekusi melakukan NetBeans 6.8).

Rancangan Umum Permainan
Permainan Labirin ini adalah suatu jenis permainan yang terlihat sederhana namun mempunyai banyak teka-teki logika untuk menyelesaikannya. Dimana tampilannya dua dimensi (panjang dan lebar), hanya dapat dilihat dari satu sudut perspektif. Tampilan grafiknya berupa background bewarna cream dan sekat bewarna hijau yang membatasi pemain untuk keluar dari lika-liku jalan setapak yg diberikan. Permainan ini dapat dilakukan maksimal 1 pemain.
Aturan permainannya adalah pertama pemain mengawali perjalanannya dari pojok kiri atas, pemain harus melewati beberapa rintangan jalan-jalan buntu untuk sampai ke pojok kanan bawah sebagai pintu keluar dan permainan pun akan selesai.
Apabila sudah tiba di pojok kanan bawah atau tempat keluarnya, pemain dapat melanjutkan permainan ke level berikutnya atau pemain dapat mengakhiri permainan dengan keluar dari applikasi tersebut.

Pembuatan Program
Pada pemrograman java (J2ME), setiap fungsi yang ingin dibuat harus dituliskan didalam sebuah kelas, karena pada dasarnya J2ME menganut prinsip pemrograman OOP (object oriented programming). Pada pembuatan aplikasi permainan Labirin ini, penulis membagi fungsi yang terdapat dalam aplikasi ini kedalam beberapa kelas (java kelas), dimana setiap kelas dibuat berdasarkan karakteristik layar yang dipergunakan dalam aplikasi. Dengan kata lain, setiap layar yang ada dibangun dari kelas tersendiri, dalam permianan ini terdapat 4 kelas,yaitu canvas_labirin.java,game_labirin.java,pilih.java,pola_gambar.java.

Uji Coba
Uji coba program merupakan hal paling akhir yang dilakukan saya dalam membangun aplikasi permainan Labirin ini. Pada bagian ini penulis mencoba untuk menguji apakah program yang dibuat telah sesuai dengan rancangan awal yang dibuat, dan jalannya program telah sesuai dengan alur yang diharapkan. Untuk menjalankan program, saya menggunakan Netbeans IDE 6.8, pastikan semua Aplikasi emulator yang dibutuhkan terinstal.

Uji Coba Menggunakan Netbeans IDE 6.8
Pertama buat masing2 class dengan meng klik menu icon pada menu bar.akan muncul kotak pilihan project atau choose project. Pilihlah Java 2ME lalu pilih Mobile Application lalu next.Setelah pilih next akan muncul tampilan name and location untuk memberikan nama project dan menempatkannya sesuai folder yang kita inginkan.Masukkan project name dengan Aplikasi Labirin 2D dan hilangkan tanda centang pada create Hello MIDlet di bagian bawah.Klik Finish.Setelah langkah awal membuat project selesai, kita awali dengan membuat MIDlet.Untuk membuat MIDlet caranya klik kanan pada project kita (Aplikasi Labirin 2D) kemudian pilih new >> MIDlet.Setelah di klik akan muncul tampilan name and location yaitu untuk memasukkan nama MIDlet yang akan kita buat dan meletakkan di drive yang kita inginkan.Untuk aplikasi labirin ini masukkan game_labirin di MIDlet name.Klik Finish.Setelah membuat MIDlet, untuk membuat aplikasi labirin 2D ini diperlukan beberapa class, yaitu canvas_labirin, pilih, dan pola_gambar.
Kemudian Lakukan Build project tersebut. Apabila berhasil maka akan muncul statement BUILD SUCCESSFUL (total time: 2 seconds). Setelah berhasil di build pilih run dan game tersebut bisa dimainkan.

Berikut ini ialah tampilan game Labirin 2D saat dimainkan.