Halaman

Minggu, 21 Juni 2015

Grid Computing

Pengertian Grid Computing

Grid computing sebenarnya merupakan sebuah aplikasi pengembangan dari jaringan komputer (network). Hanya saja, tidak seperti jaringan komputer konvensional yang berfokus pada komunikasi antar pirati, aplikasi pada grid computing dirancang untuk memanfaatkan sumber daya pada terminal dalam jaringannya. Grid computing biasanya diterapkan untuk menjalankan sebuah fungsi yang terlalu kompleks atau terlalu intensif untuk dikerjakan oleh satu sistem tunggal.

Definisi Grid Computing menurut beberapa sumber, yaitu:
  • Komputasi Grid adalah penggunaan sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis untuk memecahkan persoalan komputasi dalam skala besar (http://id.wikipedia.org)
  • 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. (The Grid 2: Blue Print for a New Computing Infrastructure yang ditulis oleh Ian Foster dan Carl Kesselman) 
  • Grid computing merupakan sebuah sistem komputasi terdistribusi, yang memungkinkan seluruh sumber daya dalam jaringan, seperti pemrosesan, bandwidth jaringan, dan kapasitas media penyimpan, membentuk sebuah sistem tunggal secara virtual. (http://ismetsaja.wordpress.com) 
Latar Belakang

Perkembangan kecepatan prosesor berkembang sesuai dengan Hukum Moore, meskipun demikian bandwith jaringan komputer berkembang jauh lebih pesat. Semakin cepatnya jalur komunikasi ini membuka peluang untuk menggabungkan kekuatan komputasi dari sumber-sumber komputasi yang terpisah. Perkembangan ini memungkinkan skala komputasi terdistribusi ditingkatkan lebih jauh lagi secara geografis, melintasi batas-batas domain administrasi yang sudah ada.

Pesatnya perkembangan teknologi komputer di negara-negara maju, membuat para penelitinya semakin haus akan tenaga komputasi yang dapat menjawab tantangan dan permasalahan yang mereka hadapi. Walaupun sudah memiliki supercomputer dengan kapasitas yang sangat tinggi , apa yang sudah ada ini pun dirasa tetap kurang, karena mereka berusaha memecahkan permasalahan yang lebih besar lagi. Setelah semua komputer yg dimiliki seorang "peneliti haus tenaga komputasi" dipergunakan habis-habisan untuk memecahkan masalahnya, setelah berbagai cara untuk memecahkan masalah dicoba, dan dipilih yang paling efisien, tapi tetap masalahnya belum bisa dipecahkan juga, apa yang harus dia lakukan? Komputasi grid adalah salah satu jawaban dari pertanyaan ini.

Struktur Grid Computing

Grid computing merupakan sistem komputer dengan sumber daya yang dikelola dan dikendalikan secara lokal. Dimana sumber daya ini berbeda dalam hal kebijakan dan mekanisme yaitu mencakup sumber daya komputasi yang dikelola oleh sistem batch berbeda, sistem storage berbeda pada node berbeda. Kebijakan berbeda dipercayakan kepada user yang sama pada sumber daya berbeda pada Grid. Grid computing memiliki sifat alami dinamis artinya Sumber daya dan pengguna dapat sering berubah.

Grid computing dibangun dengan cara menggabungkan seluruh sistem komputasi grid yang ada di institusi-institusi penelitian menjadi sebuah kesatuan. Pengaturan hardwaredan software pada masing-masing sistem di tingkat institusi kemungkinan berbeda, namun dengan menjalankan teknologi Grid computing dengan menggabungkan simpul-simpul penghubung dari masing-masing sistem, maka akan terbentuk sebah kesatuan sumber daya komputasi grid. Dengan ini berarti pengguna pada suatu institusi dapat memanfaatkan sumber daya komputasi yang berada di luar institusinya. Salah satu syarat dari pembentukan grid computing adalah adanya suatu backbone jaringan berkapasitas besar untuk menghubungkan simpul-simpul penghubung.

Karakteristik Sistem

Ian Foster menjelaskan ada 3 karakteristik atau ciri utama dari suatu sistem grid, yaitu : 
  • Tidak ada kontrol terhadap resource yang controlized.
  • Memiliki kesamaan standar protokol, misal TCP/IP.
  • Memberikan layanan yang canggih (non trivial QoS) .
Tiga hal yang di-sharing dalam sebuah sistem grid, antara lain : Resource, Network dan Proses. Kegunaan atau layanan dari sistem grid sendiri adalah untuk melakukan high through put computing dibidang penelitian, ataupun proses komputasi lain yang memerlukan banyak resource komputer.

Konsep dan Cara Kerja Grid Computing

Secara singkat, grid computing berarti menyatukan seluruh sumberdaya TI ke dalam sekumpulan layanan yang bisa digunakan secara bersama-sama untuk memenuhi kebutuhan komputing perusahaan. Infrastruktur gridcomputing secara kontinyu menganalisa permintaan terhadap sumberdaya dan mengatur suplai untuk disesuaikan terhadap permintaan tersebut. Dimana data disimpan atau computer mana yang memproses permintaan tidak perlu dipikirkan. Sebagaimana arus listrik; untuk memanfaatkannya, tempat pembangkit atau bagaimana pengabelan jaringan listrik tidak perlu diketahui. Dalam menyelesaikan masalah system monolitik dan sumberdaya yang terfragmentasi, grid computing bertujuan menciptakan keseimbangan antara pengaturan suplai sumberdaya dan kontrol yang fleksibel. Sumberdaya TI yang dikelola dalam grid mencakup:

Konsep Grid Computing

  1. Sumberdaya Infrastruktur : Mencakup hardware seperti penyimpan, prosesor, memori, dan jaringan; juga software yang didisain untuk mengelola hardware ini, seperti database, manajemen penyimpan, manajemen sistem, server aplikasi dan system operasi.
  2. Sumberdaya Aplikasi : Perwujudan logika bisnis dan arus proses dalam software aplikasi. Sumberdaya yang dimaksud bisa berupa aplikasi paket atau aplikasi buatan, ditulis dalam bahasa pemrograman, dan merefleksikan tingkat kompleksitas. Sebagai contoh, software yang mengambil pesanan dari seorang pelanggan dan mengirimkan balasan, proses yang mencetak slip gaji, dan logika yang menghubungkan telepon dari pelanggan tertentu kepada pihak tertentu pula.
  3. Sumberdaya Informasi : Saat ini, informasi cenderung terfragmentasi dalam perusahaan, sehingga sulit untuk memandang bisnis sebagai satu kesatuan. Sebaliknya, grid computing menganggap informasi adalah sumberdaya, mencakup keseluruhan data pada perusahaan dan metadata yang menjadikan data bisa bermakna. Data bias berbentuk terstruktur, semi-terstruktur, atau tidak terstruktur, tersimpan di lokasi manapun, seperti dalam database, sistem file local.
Prinsip Kerja Grid Computing 

Dua prinsip kerja utama grid computing yang membedakannya dari arsitektur komputasi yang lain, semisal mainframe, klien-server, atau multi-tier yaitu:

  1. Virtualisasi : Setiap sumberdaya (semisal komputer, disk, komponen aplikasi dan sumber informasi) dikumpulkan bersama-sama menurut jenisnya, lalu disediakan bagi konsumen (semisal orang atau program software). Virtualisasi berarti meniadakan koneksi secara fisik antara penyedia dan konsumen sumberdaya, dan menyiapkan sumberdaya untuk memenuhi kebutuhan tanpa konsumen mengetahui bagaimana permintaannya bisa terlayani.
  2. Provisioning : Ketika konsumen meminta sumberdaya melalui layer virtualisasi, sumberdaya tertentu di belakang layer didefinisikan untuk memenuhi permintaan tersebut, dan kemudian dialokasikan ke konsumen. Provisioning sebagai bagian dari grid computing berarti bahwa system menentukan bagaimana cara memenuhi kebutuhan konsumen seiring dengan mengoptimasi jalannya sistem secara keseluruhan.

Jenis-jenis Grid Computing

Jenis-jenis atau komponen-komponen grid computing adalah:

  1. Gram (Grid Resources Allocation & Management): Komponen ini dibuat untuk mengatur seluruh sumberdaya komputasi yang tersedia dalam sebuah sistem komputasi grid. Pengaturan ini termasuk eksekusi program pada seluruh komputer yang tergabung dalam sistem komputasi grid, mulai dari inisiasi, monitoring, sampai dengan penjadwalan dan koordinasi antar proses yang terjadi dalam sistem tersebut. Juga dapat berkoordinasi dengan sistem-sistem pengaturan sumber daya yang telah ada sebelumnya. Dengan mekanisme ini program-program yang telah dibuat sebelumnya tidak perlu dibangun ulang atau bila dimodifikasi, modifikasinya minimum.
  2. RFT/GridFTP (Reliable File Transfer/Grid File Transfer Protocol) : Komponen ini dibuat agar pengguna dapat mengakses data yang berukuran besar dari semua simpul komputasi yang telah tergabung dalam sebuah sistem komputasi secara efisien. Hal ini tentu saja berpengaruh karena kinerja komputasi tidak hanya bergantung pada kecepatan komputer yang tergabung dalam mengeksekusi program, tapi juga seberapa cepat data yang dibutuhkan dapat diakses. Data yang diakses juga tidak selalu ada pada komputer yang mengeksekusi.
  3. MDS (Monitoring and Discovery Service) : Komponen ini dibuat untuk memonitoring proses komputasi yang sedang dijalankan agar dapat mendeteksi masalah yang timbul dengan segera. Sedangkan fungsi disovery dibuat agar pengguna mampu mengetahui keberadaan sumber daya komputasi beserta karakteristiknya.
  4. GSI (Grid Security Infrastructure) : Komponen ini dibuat untuk mengamankan sistem komputasi grid secara keseluruhan. Komponen ini membedakan teknologi GT4 dengan teknologi-teknologi sebelumnya. Dengan menerapkan mekanisme keamanan yang tergabung dengan komponen-komponen komputasi grid lainnya, sistem ini dapat diakses secara luas tanpa sedikitpun mengurangi tingkat keamanannya. Sistem keamanan ini dibangun dengan segala komponen yang telah diuji, mencakup proteksi data, autentikasi, delegasi dan autorisasi. 
Kelebihan Grid Computing

Beberapa kelebihan dari grid computing adalah:

  • Perkalian dari sumber daya: Resource pool dari CPU dan storage tersedia ketika idle.
  • Lebih cepat dan lebih besar: Komputasi simulasi dan penyelesaian masalah dapat berjalan lebih cepat dan mencakup domain yang lebih luas. 
  • Software dan aplikasi: Pool dari aplikasi dan pustaka standard, akses terhadap model dan perangkat berbeda, metodologi penelitian yang lebih baik. 
  • Data: Akses terhadap sumber data global dan hasil penelitian lebih baik. 
  • Ukuran dan kompleksitas dari masalah mengharuskan orang-orang dalam beberapa organisasi berkolaborasi dan berbagi sumber daya komputasi, data dan instrumen sehingga terwujud bentuk organisasi baru yaitu virtual organization.
  • Organisasi virtual sebagai hasil kolaborasi memberikan beberapa keuntungan lebih lanjut, di antarnya :
    • Sumber daya dan orang-orang yang tersebar. 
    • Dihubungkan oleh jaringan, melintasi domain-domain admin. 
    • Berbagi sumber daya, tujuan bersama.
    • Dinamis.
    • Fault-tolerant, dan tidak ada batas-batas geografis. 
Kekurangan Grid Computing

Kekurangan pada grid computing yang lebih DItekankan disini adalah mengenai hambatan yang dialami oleh masyarakat Indonesia dalam mengaplikasikan teknologi grid computing. Hambatan-hambatan tersebut adalah sebagai berikut :

  1. Manajemen institusi yang terlalu birokratis menyebabkan mereka enggan untuk merelakan fasilitas yang dimiliki untuk digunakan secara bersama agar mendapatkan manfaat yang lebih besar bagi masyarakat luas. 
  2. Masih sedikitnya sumber daya manusia yang kompeten dalam mengelola grid computing.
  3. Kurangnya pengetahuan yang mencukupi bagi teknisi IT maupun user non teknisi mengenai manfaat dari grid computing itu sendiri. 
Dengan adanya beberapa manfaat dan hambatan mengenai tersedianya grid computing di Indonesia, maka harus ada solusi yang berfungsi untuk mewujudkan manfaat dan menghilangkan hambatan yang muncul tersebut. Solusi itu antara lain adalah sebagai berikut : 

  1. Memberikan sosialisasi pada instansi pendidikan maupun institusi non pendidikan mengenai manfaat serta biaya dengan menggunakan sistem komputasi grid. 
  2. Kerjasama riset dan pengembangan antara departement dalam suatu perguruan tinggi dan industri. 
  3. Diberikannya mata kuliah tentang grid computing sehingga dapat menghasilkan generasi yang menguasai teknologi ini. 
  4. Adanya pengembangan aplikasi yang relevan dengan grid computing.

Sabtu, 13 Juni 2015

Tutorial Menginstall Web Server pada windows 7 menggunakan XAMPP



Berikut ini adalah tutorial entang langkah-langkah cara instalasi Web Server di Microsoft Windows 7 menggunakan XAMPP yang nantinya dengan mengetahui cara instalasi ini kita dapat belajar untuk kelanjutannya membuat Moodle, e-tutor dan Website e-learning lainnya untuk keperluan Pembelajaran tanpa perlu terkoneksi internet dan harus membeli web hosting.

Tentang Elearning

E-learning berasal dari huruf ‘e’ (electronic) dan ‘learning’ (pembelajaran). Dengan demikian E-learning adalah pembelajaran yang menggunakan jasa elektronika. Secara umum definisi E-learning adalah pengiriman materi pembelajaran melalui suatu media elektronik seperti Internet, intranet/extranet, satellite broadcast, audio/video tape, interactive TV, CD-ROM, dan computer-based training (CBT) secara lebih fleksibel demi mendukung dan meningkatkan pengajaran, pembelajaran dan penilaian. Sedangkan secara lebih khusus E-learning didefinisikan sebagai pemanfaatan teknologi internet untuk mendistribusikan materi pembelajaran, sehingga siswa dapat mengakses dari mana saja.

Tentang Web Server

Web server merupakan suatu server yang memberikan service (layanan) kepada klien yang meminta informasi berkaitan dengan web. Web server sendiri terdiri dari dua komponen. yang pertama adalah komputer itu sendiri dan software web server yang dipakainya. jadi dapat diambil kesimpulan mesin(komputer) apapun bisa saja menjadi web server asalkan software web server tersedia di mesin(komputer) itu. salah satu software web server yang tersedia adalah Apache, tapi selain itu masih banyak lagi web server lainnya seperti ISS, Xitami, dll. 

XAMPP adalah perangkat lunak bebas, yang mendukung banyak sistem operasi, merupakan kompilasi dari beberapa program. Fungsinya adalah sebagai server yang berdiri sendiri (localhost), yang terdiri atas program Apache HTTP Server,MySQL database, dan penerjemah bahasa yang ditulis dengan bahasa pemrograman PHP dan Perl. Nama XAMPP merupakan singkatan dari X (empat sistem operasi apapun), Apache, MySQL, PHP dan Perl. Program ini tersedia dalam GNU General Public License dan bebas, merupakan web server yang mudah digunakan yang dapat melayani tampilan halaman web yang dinamis. Untuk mendapatkanya dapat mendownload langsung dari web resminya.

Langkah - Langkah

Download terlebih dahulu aplikasi Web Server dalam hal ini adalah XAMPP untuk windows di situs resminya DISINI.

Install Aplikasi XAMPP mengikuti petunjuk instalasi berikut ini:


Pilih English kemudian Klik OK.


Jika UAC di windows 7 anda aktif akan muncul pesan peringatan seperti gambar diatas. 
Nonaktifkan UAC komputer anda dan Klik OK.


Klik Next Untuk Melanjutkan.


Secara default apliaksi xampp terinstal di direktori c:\xampp klik browse dan pilih lokasi install jika anda ingin mengubah lokasi penginstalan dan klik OK, jika tidak langsung klik Tombol OK.


Klik Install untuk melanjutkan Proses installasi. Jika anda ingin menginstal Apace, MySQL dan FTP Server Fiezilla sebagai Service, pastikan anda mencentang ketiganya atau anda dapat mengabaikannnya.


Proses Instalasi / Extract Apikasi XAMPP.


Jika Proses Instalasi telah selesai, akan muncul jendela command prompt.


Klik Finish untuk mengakhiri proses instalasi XAMPP. 


Selajutnya adalah anda akan dihadapkan dengan kotak dialog Ucapan selamat bahwa anda telah sukses melakukan instalasi XAMPP Klik YES untuk mengaktifkan Control Panel XAMPP.


Gambar diatas adalah tampilan dari control panel XAMPP. Klik START untuk mengaktifkan Webserver dan Database dalam hal ini adalah Apache dan MySQL Untuk FTP Server, Mercury dan Tomcat kami sengaja tidak kami aktifkan Secara otomatis jika Firewall anda akatif akan memunculkan pesan Windows Security Alert untuk Apache dan MySQL, Klik Allow untuk mengijinkan.




Akhirnya kini proses instalasi Web server di windows 7 anda sudah selesai. Selanjutnya buka browser kesayangan. Ketikan pada address bar http://localhost atau http://127.0.0.1. Jika muncul seperti gambar dibawah ini berarti webserver anda sudah aktif.


Klik English untuk memilih bahasa.


Untuk melihat status klik Status di Menu sebelah Kiri. Selanjutnya mengecek apakah Database sudah aktif, silahkan klik menu phpMyAdmin atau pada address bar ketikan http://127.0.0.1/phpmyadmin/ atau http://localhost/phpmyadmin/. Jika tidak ada kendala, maka akan menampilkan seperti gambar dibawah ini untuk tampilan phpMyAdmin.

Contoh Program Untuk Mengecek IP, Nama Komputer dan Menampilkan Host Name beserta IP Address

Dibawah ini ada beberapa contoh program untuk mengecek ip, nama komputer, mengganti nama komputer dengan ip, menampilkan host name dan ip address, membuat aplikasi client-server TCP sederhana menggunakan bahasa pemrograman java.

Berikut adalah contoh program untuk mendapatkan ip yang sedang digunakan : 



Pertama program akan mengimport java.net. Kemudian kita buat class bernama getIP, selanjutnya kita mendeklarasikan InetAddress host bernilai null kemudian host akan didapatkan dari nilai InetAddress host dan terakhir pada byte ip didapatkan nilai dari hostAddress. Langkah terkahir terdapat suatu perulangan for dimana di bagian ini akan terjadi pada saat variabel i bernilai 0, dan nilai variabel i lebih kecil dari IP jika kondisi ini terpenuhi maka nilai i akan bertambah. Berikut adalah contoh program untuk mendapatkan nama komputer yang sedang dipakai : 


Pertamatama program akan mengimport java.net, lalu kita buat class bernama getName. Selanjutnya kita deklarasikan InetAddress host = null; dan host = InetAddress.getLocalHost(); maksudnya adalah InetAddress host bernilai null dan host didapatkan dari nilai InetAddress pada localhost. Berikut adalah contoh program untuk mengganti nama komputer dengan ip yang sedang digunakan : 



Pertama program akan mengimport java.net dan masuk pada nama class yang dibuat yaitu IPtoName.Untuk program ini terdapat kondisi if dimana jika program nilainya lebih besar sama dengan 0 maka cetak nama pemakai dan IPtoName lalu program akan kembali ke semula dan program akan mendeklarasikkan String host yaitu 0 dan InetAddress address bernilai null. Kemudian program akan mengulang ke bagian address yang terdapat di InetAddress pada host kemudian apabila perulangan tersebut tidak terpenuhi maka akan mencetak invalid IP – malformed ip.

Untuk hasil output ini pada saat menjalankan program masukkan terlebih dulu IPAddress kemudian host name dari komputer. Jika sudah maka jalankan kembali program java tersebut maka host name tersebut akan terganti dengan IP. Dan akan mencetak IP komputer yang lain yaitu 10.189.46.244 denganhost name 10.189.46.244. Berikut ini adalah program untuk menampilkan host name dan ip address pada komputer yang digunakan : 



Pertama program akan mengimport java.net kemudian program akan masuk ke dalam class program yang bernama NsLookup. Pada program utama ini akan mencetak Pemakai : Java NsLookup hostname kemudian aka mendeklarasikan String host adalah 0 dan InetAddress address bernilai null kemudian apabila host tidak dikenal maka akan tampil Unknown host. Untuk bagian listing byte ip nilainya didapat dari address lalu apabila i > 0 dan i.


Aplikasi Client-Server TCP sederhana


simpleServer.java


import java.io.*;
import java.net.*;


public class simpleServer {
public final static int TESTPORT = 5000;
public static void main(String args[]) {
ServerSocket checkServer = null;
String line;
BufferedReader is = null;
DataOutputStream os = null;
Socket clientSocket = null;
try {
checkServer = new ServerSocket(TESTPORT);
System.out.println(“Aplikasi Server hidup …”);
}
catch (IOException e) {
System.out.println(e);
}
try {
clientSocket = checkServer.accept();
is = new BufferedReader(new
InputStreamReader(clientSocket.getInputStream()));
os = new DataOutputStream(clientSocket.getOutputStream());
}
catch (Exception ei) {
ei.printStackTrace();
}
try {
line = is.readLine();
System.out.println(“Terima : ” + line);
if (line.compareTo(“salam”) == 0) {
os.writeBytes(“salam juga”);
}
else {
os.writeBytes(“Maaf, saya tidak mengerti”);
}
}
catch (IOException e) {
System.out.println(e);
}
try {
os.close();
is.close();
clientSocket.close();
}
catch (IOException ic) {
ic.printStackTrace();
}
}
}


simpleClient.java


import java.io.*;
import java.net.*;
public class simpleClient {
public final static int REMOTE_PORT = 5000;
public static void main(String args[]) throws Exception {
Socket cl = null;
BufferedReader is = null;
DataOutputStream os = null;
BufferedReader stdin = new BufferedReader(new
InputStreamReader(System.in));
String userInput = null;
String output = null;
// Membuka koneksi ke server pada port REMOTE_PORT
try {
cl = new Socket(args[0], REMOTE_PORT);
is = new BufferedReader(new
InputStreamReader(cl.getInputStream()));
os = new DataOutputStream(cl.getOutputStream());
}
catch(UnknownHostException e1) {
System.out.println(“Unknown Host: ” + e1);
}
catch (IOException e2) {
System.out.println(“Erorr io: ” + e2);
}


// Menulis ke server
try {
System.out.print(“Masukkan kata kunci: “);
userInput = stdin.readLine();
os.writeBytes(userInput + “\n”);
}
catch (IOException ex) {
System.out.println(“Error writing to server…” + ex);
}
// Menerima tanggapan dari server
try {
output = is.readLine();
System.out.println(“Dari server: ” + output);
}
catch (IOException e) {
e.printStackTrace();
}
// close input stream, output stream dan koneksi
try {
is.close();
os.close();
cl.close();
}
catch (IOException x) {
System.out.println(“Error writing….” + x);
}
}
}


  1. Compile kedua program diatas pada cmd (javac simpleServer.java dan javac simpleClient.java). Jika memakai 1 pc buka 2 cmd, jika tidak bisa membuka 2 cmd sekaligus buka cmd yang lainnya denga run as administrator.
  2. Jalankan server terlebih dahulu, kemudian buka cmd baru untuk menjalankan client. Pada server java simpleServer sedangkan client java simpleClient (nama pc server).
  3. Pada client masukkan masukkan kata kunci “salam” dan coba ketikkan kata apa saja dan juga perhatikan pada server apakah kata tersebut masuk atau tidak. Berikut output jika kata kunci yang dimasukkan benar : 
                            
           Berikut output jika kata kunci yang dimasukkan salah :

                            

Rabu, 29 April 2015

Cloud Computing

Pengertian dan Sejarah Cloud Computing

Cloud computing adalah kumpulan dari beberapa resources yang terintegrasi menjadi satu dan digunakan melalui web. Sebenarnya, cloud computing ini didasarkan pada teknologi grid computing yang membuat skalabilitas suatu sistem komputasi menjadi sangat besar dengan cara menggabungkan beberapa sumber daya komputer menjadi satu resource. Sehingga tidak salah jika ada orang yang mengatakan cloud computing adalah grid computing yang digabungkan dengan virtualisasi.
Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya. Cloud Computing suatu metoda komputasi di mana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan (as a service), sehingga pengguna dapat mengaksesnya lewat Internet tanpa mengetahui apa yang ada didalamnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya. 

Pada tahun 1960-an. Dimana pada saat itu seorang ahli komputer dari MIT memberikan gagasan bahwa kelak pada suatu hari akan lahir infrastruktur publik untuk sebuah komputasi layaknya layanan listrik dan telepon. Lalu pada tahun 1990-an ide itu mulai direalisasikan dengan hadirnya konsep ASP atau Application Service Provider yang memungkinkan pengelolaan data secara terpusat oleh suatu perusahaan. Ide-ide tersebut terus berkembang hingga pada tahun 1995 lewat Larry Ellison sang pendiri Oracle menggagas ide yang diberinama Network Computing. Larry Ellison mengatakan bahwa aplikasi seharusnya tidak dipasang dalam sebuah komputer personal yang berefek buruk pada beban berat yang ditanggung pc tersebut, sudah seharusnya konsep tersebut diganti dengan penggunaan sebuah terminal utama berupa komputer server.


Manfaat dari Cloud Computing

  • Skalabilitas, yaitu dengan cloud computing kita bisa menambah kapasitas penyimpanan data kita tanpa harus membeli peralatan tambahan, misalnya hardisk dll. Kita cukup menambah kapasitas yang disediakan oleh penyedia layanan cloud computing.
  • Aksesibilitas, yaitu kita bisa mengakses data kapanpun dan dimanapun kita berada, asal kita terkoneksi dengan internet, sehingga memudahkan kita mengakses data disaat yang penting.
  • Keamanan, yaitu data kita bisa terjamin keamanan nya oleh penyedia layanan cloud computing, sehingga bagi perusahaan yang berbasis IT, data bisa disimpan secara aman di penyedia cloud computing. Itu juga mengurangi biaya yang diperlukan untuk mengamankan data perusahaan.
  • Kreasi, yaitu para user bisa melakukan/mengembangkan kreasi atau project mereka tanpa harus mengirimkan project mereka secara langsung ke perusahaan, tapi user bisa mengirimkan nya lewat penyedia layanan cloud computing.
  • Kecemasan, ketika terjadi bencana alam data milik kita tersimpan aman di cloud meskipun hardisk atau gadget kita rusak

Cara Kerja Cloud Computing

Sistem Cloud bekerja menggunakan internet sebagai server dalam mengolah data. Sistem ini memungkinkan pengguna untuk login ke internet yang tersambung ke program untuk menjalankan aplikasi yang dibutuhkan tanpa melakukan instalasi. Infrastruktur seperti media penyimpanan data dan juga instruksi/perintah dari pengguna disimpan secara virtual melalui jaringan internet kemudian perintah – perintah tersebut dilanjutkan ke server aplikasi. Setelah perintah diterima di server aplikasi kemudian data diproses dan pada proses final pengguna akan disajikan dengan halaman yang telah diperbaharui sesuai dengan instruksi yang diterima sebelumnya sehingga konsumen dapat merasakan manfaatnya.

Contohnya lewat penggunaan email seperti Yahoo ataupun Gmail. Data di beberapa server diintegrasikan secara global tanpa harus mendownload software untuk menggunakannya. Pengguna hanya memerlukan koneksi internet dan semua data dikelola langsung oleh Yahoo dan juga Google. Software dan juga memori atas data pengguna tidak berada di komputer tetapi terintegrasi secara langsung melalui sistem Cloud menggunakan komputer yang terhubung ke internet.


Implementasi pada Cloud Computing
  1. Computer front end : Biasanya merupakan computer desktop biasa.
  2. Computer back end : Computer back end dalam skala besar biasanya berupa server computer yang dilengkapi dengan data center dalam rak-rak besar. Pada umumnya computer back end harus mempunyai kinerja yang tinggi, karena harus melayani mungkin hinggga ribuan permintaan data.
  3. Penghubung antara keduanya : Penghubung keduanya bisa berupa jaringan LAN atau internet.

Contoh dari Cloud Computing

Google Drive merupakan sebuah layanan cloud storage dari Google yang diluncurkan pada akhir April 2012, yaitu layanan untuk menyimpan file di internet pada storage yang disediakan oleh Google. Dengan menyimpan file di Google Drive maka pemilik file dapat mengakses file tersebut kapanpun dimanapun dengan menggunakan komputer desktop, laptop, komputer tablet ataupun smartphone. Dan file tersebut dapat di share dengan orang lain untuk berbagi pakai dan juga kolaborasi peng-edit-annya. Kapasitas yang disediakan oleh google drive untuk layanan gratis adalah 5GB, untuk menggunakan kapasitas lebih dari itu maka akan dikenakan biaya tambahan.

Dengan menggunakan Google Drive, berarti pemilik file telah memiliki back-up file nya di internet sehingga jika terjadi sesuatu pada file yang disimpan di komputer atau laptop, misalnya file tersebut rusak atau hilang atau terkena virus, atau komputer/laptopnya rusak yang menyebabkan tidak dapat digunakan, maka file yang berada di Google Drive tetap aman dan tetap dapat diakses menggunakan komputer lain yang terhubung ke internet.

Komputasi Modern


Sejarah dan Pengertian Komputasi Modern

Komputasi dapat diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Hal ini ialah apa yang disebut dengan teori komputasi, suatu sub-bidang dari ilmu komputer dan matematika. 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. Namun sekarang, kebanyakan komputasi telah dilakukan dengan menggunakan komputer.

Komputasi Modern pertama kali digagasi oleh John Von Neumann. Beliau di lahirkan di Budapest, ibukota Hungaria pada 28 Desember 1903 dengan nama Neumann Janos. Karya – karya yang dihasilkan adalah karya dalam bidang matematika, teori kuantum, game theory, fisika nuklir, dan ilmu komputer. Beliau juga merupakan salah seorang ilmuwan yang sangat berpengaruh dalam pembuatan bom atom di Los Alamos pada Perang Dunia II lalu. Kepiawaian John Von Neumann teletak pada bidang teori game yang melahirkan konsep automata, teknologi bom atom dan komputasi modern yang kemudian melahirkan komputer.

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

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


Jenis - Jenis Komputasi Modern


  1. 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 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 : 
    1. Sistem untuk koordinat sumber daya komputasi tidak dibawah kendali pusat. 
    2. Sistem menggunakan standard dan protocol yang terbuka. 
    3. Sistem mencoba mencapai kualitas pelayanan yang canggih, yang lebih baik diatas kualitas komponen individu pelayanan komputasi grid. 
  3. Cloud computing 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 :
    1. Komputasi mobile menggunakan teknologi komputer yang bekerja seperti handphone, sedangkan komputasi grid dan cloud menggunakan komputer. 
    2. Biaya untuk tenaga komputasi mobile lebih mahal dibandingkan dengan komputasi grid dan cloud. 
    3. Komputasi mobile tidak membutuhkan tempat dan mudah dibawa kemana-mana, sedangkan grid dan cloud membutuhkan tempat yang khusus. 
    4. 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. 


Contoh Komputasi Modern

  • Konrad Zuse’s electromechanical “Z mesin”.Z3 (1941) sebuah mesin pertama menampilkan biner aritmatika, termasuk aritmatika floating point dan ukuran programmability. Pada tahun 1998, Z3 operasional pertama di dunia komputer itu di anggap sebagai Turing lengkap. 
  • Berikutnya Non-programmable Atanasoff-Berry Computer yang di temukan pada tahun 1941 alat ini menggunakan tabung hampa berdasarkan perhitungan, angka biner, dan regeneratif memori kapasitor.Penggunaan memori regeneratif diperbolehkan untuk menjadi jauh lebih seragam (berukuran meja besar atau meja kerja). 
  • Selanjutnya komputer Colossus ditemukan pada tahun 1943, berkemampuan untuk membatasi kemampuan program pada alat ini menunjukkan bahwa perangkat menggunakan ribuan tabung dapat digunakan lebih baik dan elektronik reprogrammable.Komputer ini digunakan untuk memecahkan kode perang Jerman. 
  • The Harvard Mark I ditemukan pada 1944, mempunyai skala besar, merupakan komputer elektromekanis dengan programmability terbatas. 

Sabtu, 14 Juni 2014

Godot Game Engine

Game Closure itu adalah salah satu game engine yang berbasis javascript yang menggunakan HTML5 dan bersifat open source yang didesain bagi game 2D. Memungkinkan semua maniak game dapat terhubung di dalam salah satu game yang mereka mainkan di berbagai web browsers termasuk handphone tanpa mengunduh plug in Flash untuk bisa menampilkan video web dan grafis. HMTL5 yang adalah bahasa markah untuk menstrukturkan dan menampilkan isi WWW, dari sebuah teknologi inti internet. HTML5 merupakan revisi ke-5 dari HTML tahun 1990 dan juga versi ke-4 tahun 1997, sehingga pada bulan Juni 2011 kemrin html5 masih dalam pengembangan. Tujuan yang paling utama dalam pengembangan html5 ini adalah untuk memperbaiki teknologo html agar mendukung teknologi multimedia terbaru yang mudah dibaca oleh manusia maupun oleh mesin (hardware).

Banyak perusahaan mobile yang tertarik untuk menggunakannya salah satunya adalah Android dan IOS. Mengapa? Karena, pada tahun 2013 merupakan awal yang baik untuk menjanjikan game menggunakan html5. meskipun banyak yang menyatakan hal buruk pada performa dan situasi. Dengan menggunakan html5 mempunyai ketertarikan yang mengguntungkan dan kita tidak bisa membandingkan dengan pasar game native, disebabkan html5 memiliki area dan teknologi yang berbeda. Meskipun adanya prediksi buruk, namun banyak yang sudah membuktikan bahwa dengan menggunakannya akan mendapatkan pendapatan dari beberapa model bisnis. Dengan pendekatan yang tepat dan pengetahuan, pengembbangan perlu berfokus pada game - game yang akan dibuat.

Daftar Pustaka:
http://id.wikipedia.org/wiki/HTML5
http://filedoom.blogspot.com/2013/06/tizen-dunia-game-berbasis-html5-akan.html#



Rabu, 27 November 2013

About 3D

Motion Capture

Motion Capture atau motion tracking merupakan sebuah terminologii yang dugunakan untuk mendeskripsikan sebuah proses dari perkaman gerak dan pengartian gerakan tersebut menjadi model digital. Motion Capture dapat diaplikasikan dalam militer, hiburan, olaraga, aplikasi medis maupun robot. Di dalam pembuatan film, motion capture merupakan merekam aksi dari actor maupun actress dan menggunakan informasi tersebut untuk menganimasi karakter digital ke model animasi komputer 2D atau 3D. Pada sesi motion capture terdapat gerakan-gerakan dari satu atau lebih actor atau actress yang diambil sebagai contoh berulang kali per detik, meskipun dengan menggunakan teknik-teknik kebanyakan, motion capture hanya merekam gerakan-gerakan dari sang actor maupun actress.

Gerakan kamera juga dapat di-motion capture sehingga kamera virtual dalam sebuah skema dapat berjalan, miring, atau dikerek mengelilingi panggung dikendalikan oleh operator kamera ketika aktor sedang melakukan pertunjukan, dan sistem motion capture bisa mendapatkan kamera dan properti sebaik pertunjukan dari aktor tersebut. Hal ini membuat karakter komputer, gambar, dan set memiliki perspektif yang sama dengan gambar video dari kamera. Sebuah komputer memproses data dan tampilan dari gerakan aktor, memberikan posisi kamera yang diinginkan dalam terminology objek dalam set. Secara surut mendapatkan data gerakan kamera dari tampilan yang diambil biasa diketahui sebagai match moving atau camera tracking.

Pada Motion Capture terdapat beberapa kelebihan maupun kekurangan yang berdampak bagi penggunanya. Kelebihan dari Motion Capture yaitu sebagai berikut :
  • Lebih cepat atau lebih efesien.
  • Jumlah kerja tidak berubah dengan kompleksitas atau panjang pertunjukkan dalam tingkatan yang sama ketika menggunakan teknik tradisional.
  • Gerakan kompleks dan interaksi fisik yang real.
  • Jumlah data animasi yang bisa diproduksi dalam waktu yang diberikan sangatlah besar saat dibandingkan dengan teknik animasi tradisional.
  • Potensi software yang gratis dan solusi dari pihak luar dapat mengurangi biaya yang dikeluarkan.
Motion Capture juga terdapat kekurangan yang berdampak pada user yaitu sebagai berikut :
  • Hardware yang spesifik dan prohram yang special dibutuhkan untuk mendapatkan dan memproses data.
  • Biaya software, perlengkapan dan personel yang dibutuhkan dapat berpotensi menjadi penghalang bagi produksi kecil.
  • Sistem pengambilan gerakan mungkin memiliki kebutuhan yang spesifik untuk ruangan operasi, tergantung dari pandangan kamera atau distorsi magnetik.
  • Ketika masalah terjadi, lebih mudah mengulang dari pada memanipulasinya.
  • Hasil yang penting itu terbatas.
  • Gerakan yang tidak mungikuti hukum fisika secara umum tidak bisa diambil.
  • Teknik animasi tradisional.
  • Jika model komputer memiliki proporsi yang berbeda dari subject yang diambil.
Pemodelan 3D

Pemodelan 3D merupakan suatu proses untuk mengembangkan representasi matematis dari object 3D menggunakan software tertentu. Ada beberapa cara yang cukup populer untuk melakukan pemodelam 3D yaitu pemodelam polygon. Pada pemodelan ini, titik-titik digambar ruang 3D atau yang disebut sebagai vertex, akan dikoneksikan dengan garis untuk membentuk polygon mesh. Menggunakan permodelan ini proses rebder dapat dilakukan dengan cepat. Non Uniform Rational Basis Spline (NURBS) merpuakan pemodelan matematika untuk mempresentasikan kurva dan permukaan. Diabdingkan dengan pemodelan polygon metode NURBS lebih fleksibel dan akurasinya lebih baik kareana permukaan didefinisikan oleh garis kurva. 

Dari pemodelan 3D, objek akan diletakkan dalam suatu scene melalui proses layout dan animation yang merupakan relasi dan perpaduan antar objek dengan menentukan lokasi dan ukuran dari objek tersebut. Keyframing yang termasuk dalam metode untuk layotu dan animation yang digunakan dengan cara menentukan titik awal dan titik akhir dari suatu objek. Setelah itu pada setiap framenya, objek akan dipindakan secara halus sehingga saat frame ditampilkan satu persatu secara berurutan akan didapatkan animasi gerakan objek tersebut. Selain metode Keyframing terdapat juga metode inverse kinematics yang merupakan metode yang mendefinisikan bagaimana gerakan dilakukan. Tujuan metode ini adalah untuk mengidentifikasi gaya suatu titik dari objek dan kemudian menerapkan kinematik untuk menentukan gerakan objek tersebut. Proses terakhir untuk menjadikan objek menjadi realisti yaitu proses rendering. Pada proses rendering ini merupakan proses dimana objek yang sudah dibuat dengan metode-metode sebelumnya akan menjadi suatu bidang penelitian tersendiri di komputer grafik.

Pada pemodelan 3D terdapat prinsip dasar yaitu melihat objek dalam bentuk sesunggunnya. Penggambaran 3D akan lebih membantu memperjelas maksud dari rancangan objek karena bentuk sesungguhnya dari objek yang akan diciptakan divisualisasikan secara nyata. Penggambaran 3D merupakan pengembangan dari gambar 2D. Pada pemodelan juga terdapat 3 jenis tipe objek yaitu:

  • Wireframe
  • Surface
  • Solid
Texturing

Texturing merupakan proses pemberian karakteristik permukaan yang termasuk diantaranya adalah warna, highlight, kilauan, sebaran cahaya dan lain-lainnya. Karakteristik seperti bump juga diperlihatjan saat proses texturing. Umumnya proses ini adalah semacam pengecatan atau pemberian warna pada objek.

Rendering

Rendering merupakan proses akhir dari proses sebelumnya dalam pemodelan maupun animasi. Pada rendering, semua data-data yang sudah dimasukkan dalam proses modeling, animasi, texturing dan juga penchayaan dengan parameter tertentu akan ditejemahkan dalam sebuah bentuk output. Dalam rendering sendiri pun terdapat 4 metode yaitu:

Ray Tracing Rendering
Metode ini merupakan sebuah metode rendring pertama kali digunakan pada tahun 1980 untuk pembuatan gambar 3D. Tujuan metode ini aberasal dari percobaan Rene Descartes. Konsep dasar dari metode ini adalah menjalankan proses yang dialami oleh sebuah cahaya dalam perjalanannyadari sumber cahaya hingga layar dan memperkirakan warna macam apa yang ditampilkan pada pixel tempat jatuhnya cahaya.Proses tersebut akan diulang shingga seluruh pixel yang dibutuhkan terbentuk.

Wireframe Rendering
Metode ini merupakan objek 3D yang dideskripsikan sebagai onjek tanpa permukaan. Pada wireframe, sebuah objek dibentuk hanya terlihat garis-garis yang menggambarkan sisi edges dari sebuah objek. Metode ini mempunyai kelemahan yaitu tidak adanya permukaan sehingga sebuah objek terlihat tranparent.

Hidden Line Rendering
Metode ini menggunakan fakta bahwa dalam sebuah objek, terdapat permukan yang tidak terlihat atau permukaan yang tertutup oleh permukaan lainnya. Dengan menggunakan metode ini, sebuah objek masih mempresentasikan dengan garis-garis yang mewakili sisi dari objek tersebut tetapi beberapa garis tidak terlihat karena adanya permukaan yang menghalanginya. 

Shaded Rendering
Metode ini akan menghasilkan citra yang sangat realistik tetapi mempunyai kelemahan yaitu lama waktu rendering yang dibutuhkan.

Permodelan Geometris

Permodelan geometris merupakan cabang dari matematika terapan dan komputasi geometri yang mempelajari metode dan algoritma untuk deskripsi matematika bentuk. Bentuk belajar di pemodelan geometris tersebut kebanyakan 2D atau 3D. 2D merupakan model yang sangat penting dalam komputer tipografi dan gambar teknik. 3D merupakan pusat untuk komputer aided design dan manufacturing (CAD / CAM) dan banyak digunakan dalam bidang teknik.

Geometris model yang bisa ditampilkan pada komputer seprti shape, posisi, orientasi , warna dan cahaya. Pada geometris model juga terhadap tingkat-tingkat kesulitam untuk membuat suatu objek seperti menghubungkan beberapa bentuk sudut pada permukaan bebas karena bentuk sudut tersebut harus pas dan teliti ukurannya agar gambar terlihat nyata.

Sumber: