Pengantar
Quantum Computation
A. Pendahuluan
Quantum Computation ini menjadi
bukti bahwa teknologi komputer sangat liar dalam perkembangan dan
kemajuannya, tiap tahun ada saja inovasi dan terkadang terdapat evolusi
didalamnya, sangat signifikan dan tentu hasilnya sungguh sangat mengagumkan.
Tapi manusia modern sekarang selalu mengimpikan memiliki sebuah komputer
canggih yang sering disebut Supercomputer, merupakan perangkat komputer hebat
yang memiliki kecepatan super, nah, komputer yang layak menyandang predikat
tersebut adalah Komputer Kuantum.
Teori ini pertama kali dilontarkan
oleh seorang fisikawan yang bernama Paul Benioff 20 tahun silam, dia jugalah
orang pertama yang mengimplementasikan teori fisika kuantum pada komputer di
tahun 1981.
Apa sih sebenarnya Komputer Kuantum
itu? Menurut beberapa sumber terkemuka macam wikipedia menyebutkan bahwa alat
perhitungan yang menggunakan langsung dari kuantum mekanik fenomena, seperti
superposisi dan belitan, untuk melakukan operasi pada data disebut Komputer
Kuantum.
Lantas apa bedanya dengan komputer
konvensional? Selain angka dasar 0 dan 1, komputer kuantum juga mengenal
superposisi dari keduanya. Ini mengubah keadaan yang jika pada Komputer
Konvensional hasil output nya berupa 0 ATAU 1, maka di kuantum, bisa ditemukan
output 0 DAN 1. Komputer Kuantum juga tidak menggunakan bits pada umumnya,
teknologi ini menggunakan QUBITS yang berarti Quantum Bits. Kemampuannya untuk
berada di berbagai macam keadaanmembuat komputer kuantuk memiliki potensi untuk
melaksanakan berbagai perhitungan secara simultan. Dan dampaknya komputer
kuantum bisa jauh lebih cepat dari komputer digital.
B. Entanglement
Sebuah fenomena yang dihasilkan dari
mekanika kuantum dan dimanfaatkan untuk teknologi komputer kuantum. Rumusannya
seperti ini, terdapat 2 buah atom yang telah mendapatkan gaya tertentu,
keduanya bisa masuk pada keadaan entangled. Keadaan ini memungkinkan
kedua atom-atom tersebut akan tetap berhubungan walaupun jarak memisahkan
keduanya. Ini dibuktikan dengan sebuah analogi yang menggambarkan sepasang
manusia yang memiliki telepati yang jika salah satu dicubit maka yang
lain akan merasakan sakit juga. Perlakuan terhadapa salah satu atom akan
mempengaruhi keadaan atom yang menjadi pasangannya. Sikon ini sungguh cepat dan
seakan-akan mengalahkan kecepatan cahaya!
C. Pengoperasian Data Qubits
Kedua nilai yang disimpan pada
setiap qubit akan selalu mempengaruhi operasi komputer kuantum. Selain itu,
sebuah n qubits sama-sama ber-superposisi dari 0 dan 1, dia berperan
untuk mengkodekan 2n nilai. Komputer kuantum dapat menghitung nilai
keseluruhannya sekaligus. Keadaan paralel ini memiliki istilah Paralelisme
Kuantum. Setiap rangkaian yang tercipta selalu memiliki rangkaian kuantum yang
sesuai. Kesimpulannnya, teknologi yang diterapkan pada komputer kuantum mampu
melakukan perhitungan pada semua nilai pada waktu yang hampir sama,
dengan waktu yang sama komputer konvensional hanya bisa melakukan
perhitungan tunggal.
D. Algoritma Shor
Bentuk Algoritma Shor yang sederhana
adalah mem-faktorkan bilangan 15, dimana untuk melakukannya dibutuhkan komputer
kuantum 7 quabit. 7 quabit ini digambarkan oleh para ahli kimia dengan
menciptakan 7 putaran nukleus. Nukleus ini terdiri dari 5 atom fluorin dan 2
atom karbon yang dapat berinteraksi satu dengan yang lain sebagai qubit.. Kedua
jenis atom tersebut dapat di program dengan menggunakan impulse
frekuensi radio dan dapat dideteksi dengan alat resonansi magnetis nuklir.
Algoritma Shor ini juga menarik
minat para ilmuwan IBM untuk mengontrol sebuah tabung kecil yang berisikan 1
miliar atau didefinisikan 10 pangkat 8 dari molekul-molekul ini untuk dapat
menjalankan algoritma shor. Tujuannya cuma satu yakni untuk mengindentifikasi
secara tepat 3 dan 5 sebagai faktor 15. Sepele memang tapi kontrol yang
dibutuhkan untuk mengkalkulasi nya sungguh sangat rumit.
Source :
http://id.wikipedia.org/wiki/Komputer_kuantum
http://www.faktailmiah.com/2010/08/06/kemajuan-jaringan-kuantum-dengan-entanglement-foton-pada-kubit-keadaan-padat.html
http://www.faktailmiah.com/2010/08/06/kemajuan-jaringan-kuantum-dengan-entanglement-foton-pada-kubit-keadaan-padat.html
A.Pendahuluan
Perkembangan teknologi di era ini
menggunakan konsep - konsep seperti social networking, open, share,
colaborations, mobile, easy maintenance, one click, terdistribusi, scalability,
concurency, dan transparan. Sampai saat ini trend teknologi Cloud Computing
(Komputasi Awan) masih terus diteliti dalam penelitian - penelitian para pakar
IT dunia. Dengan berbagai kelebihan dan kekurangan, Cloud Computing hadir
dengan memudahkan akses data dari mana saja dan kapan saja, karena dengan
memanfaatkan internet dan menggunakan perangkat fixed atau mobile device
menggunakan internet cloud sebagai tempat penyimpanan data, aplikasi dan
lainya. Teknologi ini akan memberikan banyak keuntungan baik dari sisi
pemberi layanan (provider) atau dari sisi user. Penerapan teknologi ini
memberikan dampak yang sangat signifikan bagi pengembangan teknologi itu
sendiri, baik dari sisi pengguna maupun dari sisi industri. Pengguna
diuntungkan dengan semakin mudahnya memperoleh atau mengunduh data secara cepat
dan mudah karena banyak layanan yang dibuka oleh pihak industri. Keuntungan
bagi pihak industri pun tidak kalah besar dengan kemudahan yang didapat oleh
pengguna, karena dengan semakin majunya teknologi cloud computing akan semakin
memudahkan industri untuk memasarkan produk dan menyebarkan informasi secara
meluas keseluruh penjuru dunia. Cloud computing adalah gabungan pemanfaatan
teknologi komputer dan pengembangan berbasis internet.
Kelebihan Cloud Computing:
Kelebihan paling menonjol dari cloud
computing adalah kemudahan akses. Untuk mengerjakan suatu pekerjaan tidak mesti
berada dihadapan satu komputer yang sama. Misal anda diberi tugas oleh oleh
atasan anda untuk membuat sebuah bahan presentasi dengan format aplikasi power
point, karena pada komputer anda tidak ada aplikasi power pointnya maka anda
bisa membuatnya di Google Docs (Google Drive) ataupun skydrive nya windows.
Cukup koneksi ke internet, login ke akun google atau hotmail. Outlook mail,
maka anda pun sudah bisa membuat bahan presentasi secara online. Fleksibilitas,
seperti contoh diatas, bahan presentasi yang kita buat tidak perlu di simpan di
hardisk yang akan memakan ruang space. Dimanapun anda berada ataupun kemanapun
anda berpergian file - file tersebut bisa dibuka dimana saja asalkan ada
koneksi internet. Andaikata anda akan pergi ke perusahaan cabang anda, anda
tidak perlu lagi repot - repot membawa laptop ke cabang perusahaan anda, karena
semua file - file tersimpan diawan. Penghematan adalah kelebihan lain dari
cloud computing.
Kekurangan Cloud Computing:
Hal yang paling wajib dalam cloud
computing adalah koneksi internet, internet bisa dibilang jalan satu - satunya
untuk menuju ke cloud computing, ketika tidak ada koneksi internet ditempat kita
berada, maka jangan harap bisa menggunakan sistem cloud computing. Hal ini
masih menjadi hambatan khususnya bagi Indonesia, karena belum semua wilayah di
tanah air terjangkau oleh akses internet, ditambah lagi sekalipun ada koneksi
internet, koneksinya belum stabil dan kurang memadai. Kerahasiaan dan keamanan
adalah salah satu hal yang paling diragukan pada komputasi awan. Karena dengan
menggunakan sistem cloud computing ini berarti kita mempercayakan sepenuhnya
atas keamanan dan kerahasiaan data - data kepada perusahaan penyedia server
komputasi awan (cloud computing). Contoh yang paling sederhana adalah ketika
anda menyimpan foto - foto anda di facebook dengan beberapa konfigurasi privasi
yang diberikan kepada kita, maka selebihya kita mempercayakan keamanan file -
file tersebut kepada facebook. Andaikata foto - foto tersebut hilang kita tidak
bisa menuntut karena kita memanfaatkan jasa tersebut secara cuma - cuma alias
gratis.
B. Pengantar Komputasi Grid
Komputasi Grid sebenarnya
merupakan sebuah aplikasi pengembangan dari jaringan komputer (network). Hanya
saja, tidak seperti jaringan komputer konvensional yang berfokus pada
komunikasi antar piranti (device), 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. Seperti halnya
pengguna internet yang mengakses berbagai situs web dan menggunakan berbagai
protokol seakan - akan dalam sebuah sistem yang berdiri sendiri, maka
pengguna aplikasi Grid Computing seolah - olah akan menggunakan sebuah virtual
komputer dengan kapasitas pemrosesan data yang sangat besar.
Menurut definisi Grid Computing atau
Komputasi Grid merupakan salah satu dari tipe data komputasi paralel. Karena
penggunaan sumber daya nya 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 komputer
yang terpisah menjadi semakin meningkat. Dengan demikian, skala komputasi
terdistribusi dapat ditingkatkan secara geografis lebih jauh lagi, melintasi
batas - batas domain administrasi yang ada.
Beberapa konsep dasar dari komputasi
grid:
- Sumber daya dikelola dan
dikendalikan secara lokal
- Sumber daya berbeda dapat
mempunyai kebijakan dan mekanisme berbeda
Secara generik, keuntungan dasar
dari penerapan komputasi grid, yaitu:
1.
Perkalian dari sumber daya: Resource
pool dari CPU dan storage tersedia ketika idle
2.
Lebih cepat dan lebih besar:
Komputasi simulasi dan penyelesaian masalah dapat berjalan lebih cepat dan
mencakup domain yang lebih luas
3.
Software dan aplikasi: Pool dari
aplikasi dan pustaka standard, Akses terhadap model dan perangkat berbeda,
Metodologi penelitian yang lebih baik.
4.
Data: Akses terhadap sumber data
global, dan hasil penelitian lebih baik.
C. Virtualisasi
Ada dua istilah yang sedang
popouler saat ini dalam hal teknologi komputasi, yaitu Virtualisasi dan Cloud
computing, namun saat ini sepertinya banyak yang menganggap bahwa virtualisasi
dan cloud computing adalah hal yang sama, padahal sebenarnya cloud computing
itu lebih dari sekedar virtualisasi.
Virtualisasi adalah sebuah
teknologi, yang memungkinkan anda untuk membuat versi virtual dari sesuatu yang
bersifat fisik, misalnya sistem operasi, storage data atau sumber daya
jaringan. Proses tersebut dilakukan oleh sebuah software atau firmware bernama
Hypervisor. Hypervisor inilah yang menjadi nyawanya virtualisasi, karena dialah
layer yang "berpura - pura" menjadi sebuah infrastruktur untuk
menjalankan beberapa virtual machine. Dalam prakteknya, dengan membeli dan
memiliki satu buah mesin, anda seolah - olah memiliki banyak server, sehingga
anda bisa mengurangi pengeluaran IT untuk pembelian server baru, komponen,
storage, dan software pendukung lainnya.
D. Distributed Computation
dalam Cloud Computing
Komputasi terdistribusi 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 dan NoSQL (Not Only
SQL)
Map-Reduce adalah salah satu konsep
teknis yang sangat penting di dalam teknologi cloud terutama karena
dapat diterapkannya dalam lingkungan distributed computing. Dengan demikian
akan menjamin skalabilitas aplikasi kita.
Salah satu contoh penerapan nyata
map-reduce ini dalam suatu produk adalah yang dilakukan Google. Dengan
inspirasi dari functional programming map dan reduce Google bisa
menghasilkan filesystem distributed yang sangat scalable, Google Big
Table.
Dan juga terinspirasi dari Google,
pada ranah open source terlihat percepatan pengembangan framework lainnya yang
juga bersifat terdistribusi dan menggunakan konsep yang sama, project open
source tersebut bernama Apache Hadoop.
NoSQL adalah istilah untuk
menyatakan berbagai hal yang didalamnya termasuk database sederhana yang
berisikan key dan value seperti Memcache, ataupun yang lebih
canggih yaitu non-database relational 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.
F. NoSQL Database
Database NoSQL, juga disebut Not Only SQL, adalah sebuah pendekatan untuk pengelolaan
data dan desain database yang berguna untuk set yang sangat besar data terdistribusi.
NoSQL, yang mencakup berbagai teknologi dan arsitektur, berusaha untuk memecahkan masalah skalabilitas dan kinerja data yang besar yang database relasional tidak dirancang untuk menangani. NoSQL ini sangat berguna ketika perusahaan perlu untuk mengakses dan menganalisis sejumlah besar data terstruktur atau data yang disimpan dari jarak jauh pada beberapa virtual server di awan. .
Berlawanan dengan kesalahpahaman yang disebabkan oleh namanya, NoSQL tidak melarang bahasa query terstruktur (SQL). Meskipun benar bahwa beberapa sistem NoSQL sepenuhnya non-relasional, yang lain hanya menghindari fungsi relasional dipilih seperti skema tabel tetap dan bergabung dengan operasi. Sebagai contoh, daripada menggunakan tabel, database NoSQL mungkin mengatur data menjadi objek, kunci / nilai berpasangan atau tupel.
NoSQL, yang mencakup berbagai teknologi dan arsitektur, berusaha untuk memecahkan masalah skalabilitas dan kinerja data yang besar yang database relasional tidak dirancang untuk menangani. NoSQL ini sangat berguna ketika perusahaan perlu untuk mengakses dan menganalisis sejumlah besar data terstruktur atau data yang disimpan dari jarak jauh pada beberapa virtual server di awan. .
Berlawanan dengan kesalahpahaman yang disebabkan oleh namanya, NoSQL tidak melarang bahasa query terstruktur (SQL). Meskipun benar bahwa beberapa sistem NoSQL sepenuhnya non-relasional, yang lain hanya menghindari fungsi relasional dipilih seperti skema tabel tetap dan bergabung dengan operasi. Sebagai contoh, daripada menggunakan tabel, database NoSQL mungkin mengatur data menjadi objek, kunci / nilai berpasangan atau tupel.
sumber:
- http://ikipmataram.ac.id/berita-376-komputasi-awan-icloud-definition-and-utilization.html
- http://rizkarunia.wordpress.com/2010/11/28/penerapan-grid-computing/
- http://www.locus.co.id/?pg=13
- http://en.wikipedia.org/wiki/Distributed_computing
- http://www.komputasiawan.com/python/map-reduce
- http://nareswara.com/2011/07/06/apa-itu-nosql-database/
April 1, 2011
Pengertian
Pemrosesan paralel (parallel processing) adalah penggunakan lebih dari satu
CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel
processing membuat programberjalan lebih cepat karena semakin banyak CPU yang
digunakan. Tetapi dalam praktek,seringkali sulit membagi program sehingga dapat
dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di antaranya.
Komputasi paralel adalah salah satu teknik melakukan komputasi secara
bersamaan dengan memanfaatkan beberapa komputer secara bersamaan.
Biasanyadiperlukan saat kapasitas yangdiperlukan sangat besar, baik karena
harus mengolah data dalam jumlah besar ataupun karenatuntutan proses komputasi
yang banyak. Untuk melakukan aneka jenis komputasi paralel inidiperlukan
infrastruktur mesin paralel yang terdiri dari banyak komputer yang
dihubungkandengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan
satu masalah. Untuk itudiperlukan aneka perangkat lunak pendukung yang biasa
disebut sebagaimiddleware yangberperan untuk mengatur distribusi
pekerjaan antar node dalam satu mesin paralel. Selanjutnyapemakai harus membuat
pemrograman paralel untuk merealisasikan komputasi.
Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan
eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan
satu (prosesor tunggal) ataupunbanyak (prosesor ganda dengan mesin paralel)
CPU. Tujuan utama dari pemrograman paraleladalah untuk meningkatkan performa
komputasi. Semakin banyak hal yang bisa dilakukan secarabersamaan (dalam waktu
yang sama), semakin banyak pekerjaan yang bisa diselesaikan.
Komputasi paralel membutuhkan:
- algoritma
- bahasa pemrograman
- compiler
Sebagai besar komputer hanya
mempunyai satu CPU, namun ada yang mempunyai lebih darisatu. Bahkan juga
ada komputer dengan ribuan CPU. Komputer dengan satu CPU dapat melakukan
parallel processing dengan menghubungkannya dengan komputer lain pada jaringan.
Namun, parallel processing ini memerlukan software canggih yang disebut
distributed processing software.
Parallel processing berbeda dengan
multitasking, yaitu satu CPU mengeksekusi beberapa program sekaligus.
Parallel processing disebut juga parallel computing.
Contoh struktur dari parallel
processing sbb :
Aristektur Komputer Parallel
1.
Komputer SISD (Single Instruction
stream-Single Data stream)
2.
Komputer SIMD (Single Instruction
stream-Multiple Data stream)
3.
Komputer MISD (Multiple
Instruction stream-Single Data stream)
4.
Komputer MIMD (Multiple
Instruction stream-Multiple Data stream)