Sabtu, 29 Juni 2013

Penjelasan Bioinformatika

Istilah bioinformatika berasal dari bahasa Inggris yaitu bioinformatics, yang artinya ilmu yang mempelajari tentang penerapan teknik komputasional untuk mengelola dan menganalisis informasi biologis . Akan tetapi kalau saya boleh sederhanakan menggunakan kata-kata sendiri, bioinformatika adalah segala bentuk penggunaan komputer dalam menangani masalah-masalah biologi. Dalam prakteknya, definisi yang digunakan oleh kebanyakan orang adalah satu sinonim dari komputasi biologi molekul (penggunaan komputer dalam menandai karakterisasi dari komponen-komponen molekul dari makhluk hidup). Sedangkan menurut Fredj Tekaia dari Institut Pasteur [TEKAIA 2004], Bioinformatika (Klasik) adalah “metode matematika, statistik dan komputasi yang bertujuan untuk menyelesaikan masalah-masalah biologi dengan menggunakan sekuen DNA dan asam amino dan informasi-informasi yang terkait dengannya”. Jadi, Bioinformatika ini merupakan ilmu terapan yang lahir dari perkembangan teknologi informasi dibidang molekular. Pembahasan dibidang bioinformatika ini tidak terlepas dari perkembangan biologi molekular modern, salah satunya peningkatan pemahaman manusia dalam bidang genomic yang terdapat dalam molekul DNA. Kemampuan untuk memahami dan memanipulasi kode genetik DNA ini sangat didukung oleh teknologi informasi melalui perkembangan hardware dan soffware. Baik pihak pabrikan sofware dan harware maupun pihak ketiga dalam produksi perangkat lunak. Salah satu contohnya dapat dilihat pada upaya Celera Genomics, perusahaan bioteknologi Amerika Serikat yang melakukan pembacaan sekuen genom manusia yang secara maksimal memanfaatkan teknologi informasi sehingga bisa melakukan pekerjaannya dalam waktu yang singkat (hanya beberapa tahun). 

SEJARAH Bioinformatika pertamakali dikemukakan pada pertengahan 1980an untuk mengacu kepada penerapan ilmu komputer dalam bidang biologi. Meskipun demikian, penerapan bidang-bidang dalam bioinformatika seperti pembuatan pangkalan data dan pengembangan algoritma untuk analisis sekuens biologi telah dilakukan sejak tahun 1960an. Kemajuan teknik biologi molekuler dalam mengungkap sekuens biologi protein (sejak awal 1950an) dan asam nukleat (sejak 1960an) mengawali perkembangan pangkalan data dan teknik analisis sekuens biologi. Pangkalan data sekuens protein mulai dikembangkan pada tahun 1960an di Amerika Serikat, sementara pangkalan data sekuens DNA dikembangkan pada akhir 1970an di Amerika Serikat dan Jerman pada Laboratorium Biologi Molekuler Eropa (European Molecular Biology Laboratory). Penemuan teknik sekuensing DNA yang lebih cepat pada pertengahan 1970an menjadi landasan terjadinya ledakan jumlah sekuens DNA yang dapat diungkapkan pada 1980an dan 1990an. Hal ini menjadi salah satu pembuka jalan bagi proyek-proyek pengungkapan genom, yang meningkatkan kebutuhan akan pengelolaan dan analisis sekuens, dan pada akhirnya menyebabkan lahirnya bioinformatika. Perkembangan jaringan internet juga mendukung berkembangnya bioinformatika. Pangkalan data bioinformatika yang terhubungkan melalui internet memudahkan ilmuwan dalam mengumpulkan hasil sekuensing ke dalam pangkalan data tersebut serta memperoleh sekuens biologi sebagai bahan analisis. Selain itu, penyebaran program-program aplikasi bioinformatika melalui internet memudahkan ilmuwan dalam mengakses program-program tersebut dan kemudian memudahkan pengembangannya. 

CABANG-CABANG YANG TERKAIT DENGAN BIOINFORMATIKA 
Dari pengertian Bioinformatika yang telah dijelaskan, kita dapat menemukan banyak terdapat banyak cabang-cabang disiplin ilmu yang terkait dengan Bioinformatika, terutama karena bioinformatika itu sendiri merupakan suatu bidang interdisipliner. Hal tersebut menimbulkan banyak pilihan bagi orang yang ingin mendalami Bioinformatika.
  • Biophysics Adalah sebuah bidang interdisipliner yang mengalikasikan teknik-teknik dari ilmu Fisika untuk memahami struktur dan fungsi biologi (British Biophysical Society). Disiplin ilmu ini terkait dengan Bioinformatika karena penggunaan teknik-teknik dari ilmu Fisika untuk memahami struktur membutuhkan penggunaan TI. 
  • Computational Biology Computational biology merupakan bagian dari Bioinformatika (dalam arti yang paling luas) yang paling dekat dengan bidang Biologi umum klasik. Fokus dari computational biology adalah gerak evolusi, populasi, dan biologi teoritis daripada biomedis dalam molekul dan sel. 
  •  Medical Informatics Menurut Aamir Zakaria [ZAKARIA2004] Pengertian dari medical informatics adalah “sebuah disiplin ilmu yang baru yang didefinisikan sebagai pembelajaran, penemuan, dan implementasi dari struktur dan algoritma untuk meningkatkan komunikasi, pengertian dan manajemen informasi medis.” Medical informatics lebih memperhatikan struktur dan algoritma untuk pengolahan data medis, dibandingkan dengan data itu sendiri. Disiplin ilmu ini, untuk alasan praktis, kemungkinan besar berkaitan dengan data-data yang didapatkan pada level biologi yang lebih “rumit”.
  • Cheminformatics Cheminformatics adalah kombinasi dari sintesis kimia, penyaringan biologis, dan pendekatan data-mining yang digunakan untuk penemuan dan pengembangan obat (Cambridge Healthech Institute’s Sixth Annual Cheminformatics conference). Kemungkinan penggunaan TI untuk merencanakan secara cerdas dan dengan mengotomatiskan proses-proses yang terkait dengan sintesis kimiawi dari komponenkomponen pengobatan merupakan suatu prospek yang sangat menarik bagi ahli kimia dan ahli biokimia. 
  • Genomics Genomics adalah bidang ilmu yang ada sebelum selesainya sekuen genom, kecuali dalam bentuk yang paling kasar. Genomics adalah setiap usaha untukmenganalisa atau membandingkan seluruh komplemen genetik dari satu spesies atau lebih. Secara logis tentu saja mungkin untuk membandingkan genom-genom dengan membandingkan kurang lebih suatu himpunan bagian dari gen di dalam genom yang representatif. 
  • Mathematical Biology Mathematical biology juga menangani masalah-masalah biologi, namun metode yang digunakan untuk menangani masalah tersebut tidak perlu secara numerik dan tidak perlu diimplementasikan dalam software maupun hardware. Menurut Alex Kasman [KASMAN2004] Secara umum mathematical biology melingkupi semua ketertarikan teoritis yang tidak perlu merupakan sesuatu yang beralgoritma, dan tidak perlu dalam bentuk molekul, dan tidak perlu berguna dalam menganalisis data yang terkumpul. 
  • Proteomics Istilah proteomics pertama kali digunakan untuk menggambarkan himpunan dari protein-protein yang tersusun (encoded) oleh genom. Michael J. Dunn [DUNN2004], mendefiniskan kata “proteome” sebagai: “The PROTEin complement of the genOME“. Dan mendefinisikan proteomics berkaitan dengan: “studi kuantitatif dan kualitatif dari ekspresi gen di level dari protein-protein fungsional itu sendiri”. Yaitu: “sebuah antarmuka antara biokimia protein dengan biologi molekul”.
  • Pharmacogenomics adalah aplikasi dari pendekatan genomik dan teknologi pada identifikasi dari target-target obat. Contohnya meliputi menjaring semua genom untuk penerima yang potensial dengan menggunakan cara Bioinformatika, atau dengan menyelidiki bentuk pola dari ekspresi gen di dalam baik patogen maupun induk selama terjadinya infeksi, atau maupun dengan memeriksa karakteristik pola-pola ekspresi yang ditemukan dalam tumor atau contoh dari pasien untuk kepentingan diagnosa (kemungkinan untuk mengejar target potensial terapi kanker). Gambaran dari sebagian bidang-bidang yang terkait dengan Bioinformatika di atas memperlihatkan bahwa Bioinformatika mempunyai ruang lingkup yang sangat luas dan mempunyai peran yang sangat besar dalam bidangnya. Bahkan pada bidang pelayanan kesehatan Bioinformatika menimbulkan disiplin ilmu baru yang menyebabkan peningkatan pelayanan kesehatan.

    Contoh-Contoh Penggunaan Bioinformatika

    1.      Bioinformatika dalam bidang klinis
    Bioinformatika dalam bidang klinis sring juga disebut sebagai informatika klinis (clinical informatics). Aplikasi dari informatika klinis ini berbentuk manajemen data-data klinis dari pasien melalui Electrical Medical Record (EMR) yang dikembangkan oleh Clement J. McDonald dari Indiana University School of Medicine pada tahun 1972. McDonald pertama kali mengaplikasikan EMR pada 33 orang pasien penyakit gula (diabetes). Sekarang EMR telah diaplikasikan pada berbagai macam penyakit seperti data analisa diagnosa laboratorium, hasil konsultasi dan saran, foto rontgen, ukuran detak jantung, dll.
    2.      Bioinformatika untuk identifikasi Agent penyakit baru
    Bioinformatika juga menyediakan tool yang sangat penting untuk identifikasi agent penyakit yang belum dikenal penyebabnya. Misalnya saja seperti SARS (Severe Acute Respiratory Syndrome) yang dulu pernah berkembang.
    3.      Bioinformatika untuk diagnose penyakit baru
    Untuk menangani penyakit baru diperlukan diagnosa yang akurat sehingga dapat dibedakan dengan penyakit lain. Diagnosa yang akurat ini sangat diperlukan untuk pemberian obat dan perawatan yang tepat bagi pasien.
    Ada beberapa cara untuk mendiagnosa suatu penyakit, antara lain: isolasi agent penyebab penyakit tersebut dan analisa morfologinya, deteksi antibodi yang dihasilkan dari infeksi dengan teknik enzyme-linked immunosorbent assay (ELISA), dan deteksi gen dari agent pembawa penyakit tersebut dengan Polymerase Chain Reaction (PCR).
    4.      Bioinformatika untuk penemuan obat
    Cara untuk menemukan obat biasanya dilakukan dengan menemukan zat/senyawa yang dapat menekan perkembangbiakan suatu agent penyebab penyakit. Karena perkembangbiakan agent tersebut dipengaruhi oleh banyak faktor, maka faktor-faktor inilah yang dijadikan target. Diantaranya adalah enzim-enzim yang diperlukan untuk perkembangbiakan suatu agent.

    http://ianspace.wordpress.com/2011/05/01/bioinformatika/ http://www.gunadarma.ac.id

Minggu, 12 Mei 2013

Algoritma Paralel


Dalam merancang suatu algoritma paralel kita harus mempertimbangkan pula hal-hal yang dapat mengurangi  kinerja program paralel.
Hal-hal tersebut adalah :
1.      Memory Contention
Eksekusi prosesor tertunda ketika prosesor menunggu hak ases ke sel memori yang sedang dipergunakan oleh  prosesor lain. Problem ini muncul pada arsitektur multiprosesor dengan memori bersama.
2.      Excessive Sequential Code
Pada beberapa algoritma paralel, akan terdapat kode sekuensial murni dimana tipe tertentu dari operasi pusat dibentuk, seperti misalnya pada proses inisialisasi. Dalam beberapa algoritma, kode sekuensial ini dapat mengurangi keseluruhan speedup yang dapat dicapai.
3.      Process Creation Time
Pembentukan proses paralel akan membutuhkan waktu eksekusi. Jika proses yang dibentuk relative berjalan dalam waktu yang relatif lebih singkat dibandingkan dengan waktu pembentukan proses itu sendiri, maka overhead pembuatan akan lebih besar dibandingkan dengan waktu eksekusi paralel algoritma.
4.      Communication Delay
Overhead ini muncul hanya pada multikomputer. Hal ini disebabkan karena interaksi antar prosesor melalui jaringan komunikasi. Dalam beberapa kasus, komunikasi antar dua prosesor mungkin melibatkan beberapa prosesor antara dalam jaringan komunikasi. Jumlah waktu tunda komunikasi dapat menurunkan kinerja beberapa algoritma paralel.
5.      Synchronization Delay
Ketika proses paralel disinkronkan, berarti bahwa suatu proses akan harus menunggu proses lainnya. Dalam beberapa program paralel, jumlah waktu tunda ini dapat menyebabkan bottleneck dan mengurangi speedup keseluruhan.
6.      Load Imbalance
Dalam beberapa program paralel, tugas komputasi dibangun secara dinamis dan tidak dapat diperkirakan sebelumnya. Karena itu harus selalu ditugaskan ke prosesor-prosesor sejalan dengan pembangunan tugas tersebut. Hal ini dapat menyebabkan suatu prosesor tidak bekerja (idle), sementara prosesor lainnya tidak dapat mengerjakan task yang ditugaskannya.

Berikut merupakan komputer paralel :
Dua tipe utama:
  1. Shared memory multiprocessor
    Cara natural untuk mengembangkan model prosesor tunggal - multiple processor dihubungkan ke multiple memory modules, sedemikian sehingga setiap prosesor dapat mengakses memory module yang manapun
2.      Distributed memory multicomputer

NOTASI UNTUK ALGORITMA PARALEL
-          Untuk Shared-Memory Model
·         Global
·         Local
-          Untuk Distributed Memory Machine
·         Parameter → suatu konstanta yang sudah dikomunikasikan antar prosesor.
-          Umum
·         +, x, ¬
·         if … else … endif ; while … endwhile ; for … endfor
·         for all … → data paralelism
-          SIMD : diasumsikan ada lockstep
-          MIMD : diasumsikan berjalan asynchronous
-          ¬ menyatakan suatu prosesor store/retrieve nilai local dari prosesor lain.
-          [x] a menyatakan nilai dari prosesor.
tmp ¬ [s] a

TEKNIK PEMBANGUNAN ALGORITMA PARALEL
Dalam beberapa kasus, algoritma sekuensial dengan mudah dapat diadaptasi ke dalam lingkungan paralel. Namun dalam kebanyakan kasus, problem komputasi harus dianalisa ulang dan menghasilkan algoritma paralel yang baru. Terdapat beberapa penelitian mengenai perancangan algoritma paralel untuk problem-problem praktis seperti pengurutan, pemrosesan geraf, solusi untuk persamaan lanjar, solusi untuk persamaan diferensial, dan untuk simulasi.

Teknik pembangunan algoritma paralel dapat dibedakan sebagai berikut :
1.      Paralelisme Data
Teknik paralelisme data merupakan teknik yang paling banyak digunakan dalam program paralel. Teknik ini lahir dari penelitian bahwa aplikasi utama komputasi paralel adalah dalam bidang sain dan engineer, yang umumnya melibatkan array multi-dimensi yang sangat besar. Dalam program sekuensial biasa, array ini dimanipulasi dengan mempergunakan perulangan bersarang untuk mendapatkan hasil. Kebanyakan program paralel dibentuk dengan mengatur ulang algoritma sekuensial agar perulangan bersarang tersebut dapat dilaksanakan secara paralel. Paralelisme data menunjukkan bahwa basis data dipergunakan sebagai dasar untuk membentuk aktifitas paralel, dimana bagian yang berbeda dari basis data akan diproses secara paralel. Dengan kata lain paralelisme dalam program ini dibentuk dari penerapan operasi-operasi yang sama ke bagian array data yang berbeda. Prinsip paralelisme data ini berlaku untuk pemrograman multiprosesor dan multikomputer.

2.      Partisi Data
Merupakan teknik khusus dari Paralelisme Data, dimana data disebar ke dalam memori-memori lokal multikomputer. Sebuah proses paralel kemudian ditugaskan untuk mengoperasikan masingmasing bagian data. Proses tersebut harus terdapat dalam lokal memori yang sama dengan bagian data, karena itu proses dapat mengakses data tersebut secara lokal. Untuk memperoleh kinerja yang baik, setiap proses harus memperhatikan variabel-variabel dan data-data lokalnya masing-masing. Jika suatu proses membutuhkan akses data yang terdapat dalam remote memori, maka hal ini dapat dilakukan melalui jaringan message passing yang menghubungkan prosesor-prosesor. Karena komunikasi antar prosesor ini menyebabkan terjadinya waktu tunda, maka messsage passing ini sebaiknya dilakukan dalam frekuensi yang relatif kecil. Dapat disimpulkan bahwa tujuan dari partisi data adalah untuk mereduksi waktu tunda yang diakibatkan komunikasi messsage passing antar prosesor. Algoritma paralel mengatur agar setiap proses dapat melakukan komputasi dengan lokal data masing-masing.

3.      Algoritma Relaksasi
Pada algoritma ini, setiap proses tidak membutuhkan sinkronisasi dan komunikasi antar proses. Meskipun prosesor mengakses data yang sama, setiap prosesor dapat melakukan komputasi sendiri tanpa tergantung pada data antara yang dihasilkan oleh proses lain. Contoh algoritma relaksasi adalah algoritma perkalian matrik, pengurutan dengan mengunakan metode ranksort dan lain sebagainya.

4.      Paralelisme Sinkron
Aplikasi praktis dari komputasi paralel adalah untuk problem yang melibatkan array multi-dimensi yang sangat besar. Problem tersebut mempunyai peluang yang baik untuk paralelisme data karena elemen yang berbeda dalam array dapat diproses secara paralel. Teknik komputasi numerik pada array ini biasanya iteratif, dan setiap iterasi akan mempengaruhi iterasi berikutnya untuk menuju solusi akhir. Algoritma iterasi ini mempunyai peluang paralelisme pada setiap iterasinya. Beberapa proses parallel dapat dibentuk untuk bekerja pada array bagian yang berbeda. Teknik pemrograman paralel seperti ini disebut paralelisme sinkron. Contohnya adalah perhitungan numerik pada Metode Eliminasi Gauss. Pada paralelisme sinkron ini, struktur umum programnya biasanya terdiri dari perulangan FORALL yang akan membentuk sejumlah besar proses paralel untuk dioperasikan pada bagian array data yang berbeda. Setiap proses diulang dan disinkronkan pada akhir iterasi. Tujuan dari sinkronisasi ini adalah untuk meyakinkan bahwa seluruh proses telah menyelesaikan iterasi yang sedang berlangsung, sebelum terdapat suatu proses yang memulai iterasi berikutnya.

5.      Komputasi Pipeline
Pada komputasi pipeline, data dialirkan melalui seluruh struktur proses, dimana masing-masing proses membentuk tahap-tahap tertentu dari keseluruhan komputasi . Algoritma ini dapat berjalan dengan baik pada multikomputer, karena adanya aliran data dan tidak banyak memerlukan akses ke data bersama. Contoh komputasi pipeline adalah teknik penyulihan mundur yang merupakan bagian dari metoda Eliminasi.

Source :
http://imadeyudierawan.blogspot.com/2010/08/algoritma-paralel.html?m=1
http://freddykurnia.web.ugm.ac.id/?p=397

Kamis, 11 April 2013

Pemprograman Jaringan

Modul ke-1  
Nama program : getName.java

Program ini berfungsi untuk mengetahui nama komputer local yang di gunakan. Berikut ini output program yang ditampilkan.


Modul ke-2
Nama program : IPtoName.java

 


Program ini berfungsi untuk mengetahui nama komputer yang digunakan dengan memasukkan IP Address.Berikut ini output program yang ditampilkan.



 Modul ke-3
Nama program : IPFinder.java



Program ini berfungsi untuk mengetahui IP dari suatu alamat hosting. Disini alamat hosting yang akan dicari yaitu dari java.sun.com. Berikut output program yang ditampilkan Alamat IP dari java.sun.com.






Rabu, 10 April 2013

Jenis-jenis Komputasi Modern



Jenis-jenis komputasi modern ada 3, yaitu :
1.      Komputasi Mobile
2.      Komputasi Grid
3.      Komputasi Cloud

  1. Komputasi Mobile 

Komputasi Mobile atau Mobile computing adalah sistem komputasi yang dapat dengan mudah dipindahkan secara fisik dan kemampuan komputasi yang dapat digunakan ketika mereka sedang dipindahkan.
Contoh mobile computing device : Laptop, Personal Digital Assistant (PDA), ponsel, dll
Contoh tool yang digunakan : Java ME, Symbian, Android, iPhone, PalmOS, dll
Komunikasi Mobile juga disebut dengan komputasi bergerak. Disebut dengan komputasi bergerak, karena memiliki aplikasi yang sangat luas. memiliki kemampuan melakukan perpindahan posisi, memiliki kemampuan perpindahan peralatan, dan memiliki kemampuan perpindahan jaringan,dll.
Dengan membedakan sistem komputasi mobile dari sistem komputasi lain, kita bisa mengidentifikasi perbedaan dalam kinerja bagaimana dirancang, digunakan dan diatur dalam pembuatan sistem tersebut. Ada beberapa hal yang sistem komputasi mobile dapat melakukan apa yang tidak dapat dilakukan oleh sistem komputasi yang statis. Mobile computing device tidak selalu harus terhubung dengan jaringan telekomunikasi. Kalkulator, HP, laptop, netbook bisa dikategorikan sebagai perangkat mobile computing.
Mobile application contohnya:
1.      Kendaraan (untuk pemantauan dan koordinasi, GPS)
2.      Peralatan Emergensi (akses dunia luar)
3.      Akses web dalam keadaan bergerak
4.      Location aware service
5.      Information service
6.      Disconnected operations
7.      Entertainment (network game groups)
Keterbatasan Penggunaan Komputasi Mobile
Berikut merupakan keterbatasan penggunaan komputasi bergerak diantaranya :
a.      Kendala sumber daya yang terbatas pada perangkat mobile
Agar bersifat portable dan mobile, device dirancang kecil dan ringan. Tetapi dengan desain ini ada kelemahannya yaitu kapasitas baterai yang kecil, kapasitas penyimpanan memory kecil, daya komputasi terbatas.
b.      Bandwidth jaringan rendah
Pengguna mobile dapat terhubung ke jaringan nirkabel melalui berbagai jaringan komunikasi termasuk radio nirkabel, wireless Local Area Network (LAN), nirkabel selular, satelit, dll Setiap jaringan nirkabel menyediakan kapasitas bandwidth yang berbeda. Namun, bandwidth nirkabel ini terlalu kecil dibandingkan dengan jaringan tetap seperti ATM (Asynchronous Transfer Mode) yang dapat memberikan kecepatan hingga 155Mbps.
c.       Biaya komunikasi asymmetric
Kapasitas bandwidth yang berbeda antara hilir komunikasi dan komunikasi upstream telah menciptakan sebuah lingkungan baru yang disebut Lingkungan Komunikasi asimetrik. Bahkan, ada dua situasi yang dapat mengakibatkan komunikasi asimetri, Salah satunya adalah karena kemampuan perangkat fisik. Misalnya, server memiliki pemancar siaran kuat, sedangkan klien mobile memiliki kemampuan transmisi kecil. Yang lain adalah karena pola aliran informasi dalam aplikasi. Misalnya, dalam situasi dimana jumlah server jauh lebih sedikit daripada jumlah klien, itu adalah asimetris karena ada tidak kapasitas yang cukup untuk menangani permintaan simultan dari beberapa klien.
d.      Heterogenitas perangkat mobile
Industri telekomunikasi Mobile telah mengembangkan berbagai perangkat mobile seperti Laptop, Tablet PC, Handheld PC, Pocket PC, Netbook dan Mobile Phones. Namun, perangkat mobile juga mempunyai fitur dan kemampuan yang berbeda baik sistem operasi, daya komputasi, tampilan maupun kemampuan jaringan. Akibatnya, heterogenitas ini menimbulkan beberapa tantangan dalam manajemen konten, dan penyampaian konten ke penyedia layanan mobile.
e.       Mobilitas
Teknologi nirkabel memungkinkan pengguna mobile untuk bergerak bebas dan mandiri dari satu tempat ke tempat lain. Sebuah layanan handoff terjadi ketika pengguna bergerak dari satu daerah layanan jaringan ke lain. Hal ini penting untuk memastikan handoffs layanan berfungsi dengan baik.
f.       Koneksi yang sering terputus
pengguna Mobile sering terputus dari jaringan. Hal ini mungkin terjadi karena beberapa alasan, termasuk kegagalan sinyal, jangkauan sinyal yang kurang luas, area blank spot, dan penghematan daya. Tetapi hal ini juga bisa menguntungkan karena modus aktif membutuhkan seribu kali power lebih besar daripada perangkat dalam kondisi standby atau mode sleep. Sinyal radio nirkabel mungkin juga akan melemah karena jarak yang jauh dari sumber sinyal dimana pengguna bergerak.

Contoh dari perangkat komputasi mobile (komputasi bergerak seperti GPS, smart phone, dan lain sebagainya.

Source :

 2.     Komputasi Grid (Grid Computing)
Grid Computing atau Komputasi Grid merupakan salah satu dari tipe Komputasi Paralel, yaitu penggunaan sumber daya yang melibatkan banyak komputer terpisah secara geografis namun tersambung via jalur komunikasi (termasuk Internet) untuk memecahkan persoalan komputasi skala besar. Semakin cepat jalur komunikasi terbuka, maka peluang untuk menggabungkan kinerja komputasi dari sumber-sumber komputasi yang terpisah menjadi semakin meningkat. Dengan demikian, skala komputasi terdistribusi dapat ditingkatkan secara geografis lebih jauh lagi, melintasi batas-batas domain administrasi yang ada.
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.
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.
Dalam tulisan What is the Grid? A Three Point Checklist oleh Ian Foster (bapak dari Komputasi Grid) ada check-list yang dapat digunakan untuk mengidentifikasi bahwa suatu sistem melakukan komputasi grid yaitu :
  1. 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.
  2. 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.Misalnya TCP/IP.
  3. Sistem tersebut berusaha untuk mencapai kualitas layanan yang canggih, (nontrivial quality of service) yang jauh diatas kualitas layanan komponen individu dari komputasi grid tersebut.

Konsep Dasar Komputasi Grid
Berikut ini ada beberapa konsep dasar dari Komputasi Grid, yaitu :
  • Sumber daya dikelola dan dikendalikan secara lokal.
  • Sumber daya berbeda dapat mempunyai kebijakan dan mekanisme berbeda, mencakup Sumber daya komputasi dikelola oleh sistem batch berbeda, Sistem storage berbeda pada node berbeda, Kebijakan berbeda dipercayakan kepada user yang sama pada sumber daya berbeda pada Grid.
  • Sifat alami dinamis: Sumber daya dan pengguna dapat sering berubah.
  • Lingkungan kolaboratif bagi e-community (komunitas elektronik, di internet).
Tiga hal yang di-,sharing dalam sebuah sistem grid, antara lain : Resource, Network dan Proses. Kegunaan / layanan dari sistem grid sendiri adalah untuk melakukan high throughput computing dibidang penelitian, ataupun proses komputasi lain yang memerlukan banyak resource komputer.

Keuntungan Komputasi Grid
Berikut ini beberapa keuntungan dasar dari penerapan komputasi Grid, yaitu :
  • Perkalian dari sumber daya: Resource pool dari CPU dan storage tersedia ketika idle
  • Lebih cepat dan lebih besar: Komputasi simulasi dan penyelesaian masalah apat 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

Indonesia sudah menggunakan sistem Grid dan diberi nama InGrid (Inherent Grid). Sistem komputasi grid mulai beroperasi pada bulam Maret 2007 dan terus dikembangkan sampai saat ini. InGrid ini menghubungkan beberapa perguruan tinggi negeri dan swasta yang tersebar di seluruh Indonesia dan beberapa instansi pemerintahan seperti Badan Meteorologi dan Geofisika.

 

3.       Komputasi Cloud (Cloud Computing)

Pengertian Cloud Computing
Cloud Computing (Komputasi Awan) adalah suatu konsep umum yang mencakup SaaS, Web 2.0, dengan menggabungkan pemanfaatan teknologi komputer dan disajikan dalam bentuk suatu layanan. Yang dimaksud dengan Saas dan Web 2.0 adalah sebuah software as a service atau perangkat lunak yang berbentuk layanan, digunakan untuk mengembangkan suatu aplikasi yang berbasis web (Internet). Misalnya Facebook, didalam social networking ini memiliki berbagai aplikasi seperti game, acara undangan, tautan dan sebagainya. Dengan SaaS dan Web 2.0, pencipta Facebook menggunakannya untuk aplikasi tersebut dengan syarat harus melalui internet atau system online. Pada cloud computing, penyimpanan data hanya dilakukan pada server utama, sehingga pengguna hanya dapat mengaksesnya tanpa harus mengetahui infrastruktur pembuatan aplikasinya. Hanya perlu interface software saja untuk mengakses server. Interface ini pada umumnya merupakan web browser yang tersedia dengan banyak pilihan dan tidak berbayar.


Sejarah dan Perkembangan Cloud
Cloud computing adalah hasil dari evolusi bertahap di mana sebelumnya terjadi fenomena grid computing, virtualisasi, application service provision (ASP) dan Software as a Service (SaaS). Konsep penyatuan computing resources melalui jaringan global sendiri dimulai pada tahun 1960an. Dimana setiap manusia di dunia ini dapat terhubung dan bisa mengakses program dan data dari situs manapun, di manapun. Para pakar komputasi lainnya juga memberikan penambahan terhadap konsep ini, diantaranya menawarkan ide mengenai jaringan komputasi yang akan menjadi infrastruktur publik, sama seperti the service bureaus yang sudah ada sejak tahun enam puluhan. Cloud computing telah berkembang berdampingan dengan perkembangan Internet dan Web. Namun karena terjadi perubahan teknologi bandwidth yang cukup besar pada tahun 1990-an, maka Internet lebih dulu berkembang dibanding cloud computing. Faktor pendorong utama cloud computing adalah karena adanya revolusi Internet, matangnya teknologi visual, perkembangan universal banwidth berkecepatan tinggi, dan perangkat lunak universal.
Banyak prefesional IT mengetahui keuntungan cloud computing dalam hal fleksibilitas penyimpanan yang tinggi dan penghematan biaya. Namun mereka juga memiliki kekhawatiran terhadap keamanan data perusahaan mereka di dalam cloud. Para ahli sependapat bahwa cloud computing akan mengubah pemandangan komputasi saat ini. Andreas Asander, Vice-principal of product management at virtualisation security specialist dari Clavister mengatakan bahwa di saat masalah keamanan sudah terselesaikan maka layanan cloud computing “memungkinkan perusahaan untuk memperluas infrastruktur, menambah kapasitas sesuai permintaan, atau meng-outsourcekeseluruhan infrastrukturnya, mengakibatkan fleksibilitas yang lebih besar, serta pilihan sumber daya yang lebih beragam dan juga pengurangan biaya yang signifikan.

Kelebihan Sistem Cloud Computing
Berikut ini beberapa kelebihan dari system cloud computing, diantaranya :
1.      Kemudahan Akses
Untuk mengerjakan tugas, kita tidak harus berada dalam satu komputer yang sama. Kita bisa membuatnya dengan aplikasi lain. Namun kita harus terhubung dengan internet dan mengerjakannya secara online.
2.      Efisiensi Biaya
Dengan memaksimalkan penggunaan utilisasi  sisa yang tidak terpakai, kita dapat menciptakan beberapa virtual server lain. Dengan proses ini kita bisa mendapatkan kapasitas fisik komputer yang berlipat karena mengurangi infrastruktur komputer sehingga biaya sewa pelanggan menjadi lebih rendah. Selain itu dengan adanya komputasi awan, kita juga tidak dibebankan dengan besarnya biaya untuk membayar lisensi atas software-software yang kita install dan kita gunakan, karena semua software sudah bisa digunakan melalui komputasi awan.
3.      Fleksibilitas dalam Menambah Kapasitas
Dengan cloud kita tidak perlu melakukan proses pengadaan komputer yang memakan banyak waktu. Cukup dengan melakukan penyimpanan data pada suatu media penyimpanan dan mengkoneksikannya dengan internet. Maka kita dapat mengakses dan menggunakannya kembali.
4.      Kemudahan untuk Monitoring & Server Management
Proses monitoring dan manajemen server akan jauh lebih mudah karena semua terkoneksi dengan web portal pelanggan. Kita hanya tinggal melihat dashboard saja untuk mengetahui status global server-server kita. Untuk membuat, meng-upgrade dan me-manage server serta  menginstalasi software sangat mudah, karena sudah disediakan automation-tools untuk melakukan hal tersebut.
5.      Orang IT akan lebih banyak memikirkan pengembangan
Fungsi TI bagi perusahaan adalah mendukung pengembangan bisnis perusahaan. Banyak perusahaan sukses akibat penerapan TI yang tepat dan memberikan keunggulan kompetitif. Dengan adanya cloud service, maka sebagian kegiatan operasi dan server maintenance  sudah dialihkan, sehingga terdapat waktu lebih bagi departemen TI untuk melakukan kegiatan lain.
6.      Akses secara remote
Cloud computing membuat bisnis Anda tidak terbatas pada satu lokasi saja. Anda dapat mengakses dari mana saja di seluruh dunia dan kapan saja. Yang Anda perlukan hanya koneksi Internet, user ID dan password.

Kekurangan Sistem Cloud Computing
Berikut ini beberapa kekurangan dari system cloud computing, diantaranya :
1.      Faktor yang paling penting dalam penggunaan sistem komputasi awan adalah koneksi internet. Jika tidak ada koneksi internet maka kita dapat menggunakan sistem komputasi awan. Di Indonesia, masih ada beberapa wilayah yang belum terjangkau oleh akses internet, sehingga membuat koneksi internet kurang memadai dan sering kali tidak stabil karena pengaruh cuaca maupun lingkungan pada wilayah tersebut.
2.      Kerahasiaan dan keamanan adalah salah satu hal yang paling diragukan pada komputasi awan. Dengan menggunakan sistem komputasi awan berarti kita mempercayakan sepenuhnya atas keamanan dan kerahasiaan data-data kepada perusahaan penyedia server komputasi awan. Saat mengalami gangguan, kita tidak dapat menuntut pihak server karena kesalahan data-data tersebut.
3.      Kualitas server komputasi awan adalah salah satu pertimbangan terpenting sebelum kita memutuskan untuk menyediakan jasa penyedia server komputasi awan. Ketika server down atau permorma kurang bagus, kita malah akan dirugikan karena kualitas server yang buruk.

Contoh aplikasi dengan sistem berbasis cloud computing yang sering digunakan yaitu Hotmail, Yahoo!Mail atau Gmail. Untuk melihat email, kita bisa melakukannya di mana saja, yang penting ada internet dan browser. Software dan data kita tidak tersimpan di komputer yang kita pakai melainkan terletak di cloud server.

Source :
http://id.wikipedia.org/wiki/Komputasi_awan
http://www.computerweekly.com/Articles/2009/06/10/235429/A-history-of-cloud-computing.htm
http://www.cozy.co.id/
http://www.sby.dnet.net.id/dnews/september-2011/article-kelebihan-dan-kekurangan-cloud-computing-komputasi-awan--77.html