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