Selasa, 16 Juni 2015

Quantum Computation

Quantum Computation

Dalam bahasa Indonesia yaitu komputer kuantum, merupakan komputer yang memanfaatkan fenomena-fenomena dari mekanika quantum, seperti quantum superposition dan quantum entanglement, yang digunakan untuk pengoperasian data.Komputasi kuantum adalah bidang studi difokuskan pada teknologi komputer berkembang berdasarkan prinsip-prinsip teori kuantum , yang menjelaskan sifat dan perilaku energi dan materi pada kuantum (atom dan subatom) tingkat. Pengembangan komputer kuantum , jika praktis, akan menandai lompatan maju dalam kemampuan komputasi jauh lebih besar daripada yang dari sempoa ke modern superkomputer , dengan keuntungan kinerja di alam miliar kali lipat dan seterusnya.

 Komputer kuantum, mengikuti hukum fisika kuantum, akan memperoleh kekuatan pengolahan yang besar melalui kemampuan untuk berada di beberapa negara, dan untuk melakukan tugas-tugas menggunakan semua kemungkinan permutasi secara bersamaa. Kini pusat penelitian di komputasi kuantum termasuk MIT, IBM, Oxford University, dan Los Alamos National Laboratory.

Entanglement

Entanglement merupakan keadaan dimana dua atom yang berbeda berhubungan sedemikian hingga satu atom mewarisi sifat atom pasangannya. “Entanglement adalah esensi komputasi kuantum karena ini adalah jalinan kualitas yang berhubungan dengan lebih banyak informasi dalam bit kuantum dibanding dengan bit komputing klasik,” demikian Andrew Berkley, salah satu peneliti.

Para ahli fisika dari University of Maryland telah satu langkah lebih dekat ke komputer kuantum dengan mendemonstrasikan eksistensi entanglement antara dua gurdi kuantum, masing-masing diciptakan dengan tipe sirkuit padat yang dikenal sebagai persimpangan Josephson. Temuan terbaru ini mendekatkan jalan menuju komputer kuantum dan mengindikasikan bahwa persimpangan Josephson pada akhirnya dapat digunakan untuk membangun komputer supercanggih.

Pengoperasian Data Qubit

Proses komputasi dilakukan pada partikel ukuran nano yang memiliki sifat mekanika quantum, maka satuan unit informasi pada Komputer Quantum disebut quantum bit, atau qubit. Berbeda dengan bit biasa, nilai sebuah qubit bisa 0, 1, atau superposisi dari keduanya. State dimana qubit diukur adalah sebagai vektor atau bilangan kompleks. Sesuai tradisi dengan quantum states lain, digunakan notasi bra-ket untuk merepresentasikannya.

Pure qubit state adalah superposisi liner dari kedua state tersebut. Lebih jelasnya, sebuah pure qubit state dapat direpresentasikan oleh kombinasi linear dari state|0> dan state |1> : Dengan α dan β adalah amplitudo probabilitas yan dapat berupa angka kompleks. State space dari sebuah qubit secara geometri dapat direpresentasikan Bloch sphere

Bloch sphere adalah ruang 2 dimensi yang merupakan geometri untuk permukaan bola. Dibandingkan bit konvensional yang hanya dapat beradai di salah satu kutub, Qubit dapat berada dimana saja dalam permukaan bola. Untuk penerapan fisiknya, semua sistem 2 level, selama ukurannya cukup kecil untuk hukum mekanika quantum berlaku. Berbagai jenis implementasi fisik telah dikemukakan, contohnya antara lain: polarisasi cahaya, spin elektron, muatan listrik, dll.

Superposisi quantum adalah inti perbedaan antara qubit dengan bit biasa. Dalam keadaan superposisi, sebuah qubit akan bernilai |0> dan |1> pada saat bersamaan. Menurut interpretasi Copenhagen, bila dilakukan pengukuran terhadap qubit, maka hanya akan muncul satu state saja. State lainnya “kolaps” dalam arti hancur dan tidak mungkin diambil kembali.

Pemanfaatan sifat superposisi qubit ini adalah Paralellisme Quantum. Paralelisme Quantum muncul dari kemampuan quantum register untuk menyimpan superposisi dari base state. Maka setiap operasi pada register berjalan pada semua kemungkinan dari superposisi secara simultan. Karena jumlah state yang mungkin adalah 2n, dengn n adalah jumlah qubit pada quantum register, kita dapat melakukan pada komputer quantum satu kali operasi yang membutuh kan waktu eksponensial pada komputer konvensional. Kelemahan dari metode ini adalah, semakin besar base state yang bersuperposisi, semakin kecil kemungkinan hasil pengukuran dari nilai hasil pengukuran tersebut benar. Kelemahan ini membuat pararellisme quantum tidak berguna bila operasi dilakukan pada nilai yang spesifik. Namun kelemahan ini tidak begitu berpengaruh pada fungsi yang memperhitungkan nilai dari semua input, bukan hanya satu.





Quantum Gate

Dalam komputasi kuantum dan khusus kuantum sirkuit model komputasi, gerbang kuantum (atau Gerbang logika kuantum) adalah rangkaian dasar kuantum yang beroperasi di sejumlah kecil qubits. Mereka adalah blok bangunan dari kuantum sirkuit, seperti gerbang logik klasik sirkuit digital konvensional.

Tidak seperti logika klasik pintu gerbang pada umumnya, logika kuantum bersifat reversibel. Namun, komputasi klasik hanya dapat dilakukan dengan menggunakan gerbang reversibel. Sebagai contoh, gerbang Toffoli reversibel dapat melaksanakan semua fungsi Boolean. Gerbang ini memiliki penyetaraan kuantum secara langsung, menampilkan bahwa sirkuit kuantum dapat melakukan semua operasi yang dilakukan oleh sirkuit klasik.

Gerbang logik kuantum yang diwakili oleh kesatuan matriks. Gerbang kuantum yang paling umum beroperasi pada ruang dari satu atau dua qubits, seperti Gerbang logika klasik umum beroperasi pada satu atau dua bit. Ini berarti bahwa sebagai matriks, gerbang kuantum dapat dijelaskan oleh 2 × 2 atau 4 × 4 kesatuan matriks.

Algoritma Shor

Algoritma Shor merupakan sebuah metode yang dikembangkan tahun 1994 oleh ilmuwan AT&T  Peter Shor untuk menggunakan komputer kuantum yang futuristis untuk menemukan faktor-faktor dari sebuah bilangan. Bilangan-bilangan yang diperkalikan satu dengan yang lain  untuk  memperoleh  bilangan  asli.  Saat ini, pemfaktoran (factoring) sebuah bilangan besar masih terlalu sulit bagi komputer konvensional meskipun begitu mudah untuk  diverifikasi. Itulah sebabnya pemfaktoran bilangan besar ini banyak digunakan dalam metode kriptografi untuk melindungi data.


Sumber / Referensi :


Cloud Computing

Cloud Computing

Cloud Computing adalah sebuah istilah dalam ilmu komputer yang berarti komputasi awan yang berbasis internet atau biasa dalam dunia IT dengan sebutan "The Cloud". Istilah lain dalam teknologi cloud computing yaitu Sebuah jaringan komputer yang saling berhubungan dengan komputer lain yang dapat dijalankan secara bersamaan. Cloud computing sebenarnya penerapannya terpaku pada satu server atau banyak yang telah disediakan yang layanannya berupa penyimpanan data di server.

Berdasarkan jenis layanan-nya, Cloud Computing dibagi menjadi berikut ini:
  1. Software as a Service (SaaS)
  2. Platform as a Service (PaaS)
  3. Infrastructure as a Service (IaaS)
Dibawah ini kita bahas, masing-masing jenis layanan diatas:
  • Software as a Service (SaaS) adalah layanan dari Cloud Computing dimana kita tinggal memakai software (perangkat lunak) yang telah disediakan. Kita cukup tahu bahwa perangkat lunak bisa berjalan dan bisa digunakan dengan baik. Contoh: layanan email publik (Gmail, YahooMail, Hotmail, dsb), social network (Facebook, Twitter, dsb) instant messaging (YahooMessenger, Skype, GTalk, dsb) dan masih banyak lagi yang lain.  Dalam perkembangan-nya, banyak perangkat lunak yang dulu hanya kita bisa nikmati dengan menginstall aplikasi tersebut di komputer kita (on-premise) mulai bisa kita nikmati lewat Cloud Computing. Keuntungan-nya, kita tidak perlu membeli lisensi dan tinggal terkoneksi ke internet untuk memakai-nya. Contoh: Microsoft Office yang sekarang kita bisa nikmati lewat Office 365, Adobe Suite yang bisa kita nikmati lewat Adobe Creative Cloud, dsb.
  • Platform as a Service (PaaS) adalah layanan dari Cloud Computing dimana kita menyewa “rumah” berikut lingkungan-nya (sistem operasi, network, databbase engine, framework aplikasi, dll), untuk menjalankan aplikasi yang kita buat. Kita tidak perlu pusing untuk menyiapkan “rumah” dan memelihara “rumah” tersebut. Yang penting aplikasi yang kita buat bisa berjalan dengan baik di “rumah” tersebut. Untuk pemeliharaan “rumah” ini menjadi tanggung jawab dari penyedia layanan. Sebagai analogi, misal-nya kita sewa kamar hotel, kita tinggal tidur di kamar yang sudah kita sewa, tanpa peduli bagaimana “perawatan” dari kamar dan lingkungan-nya. Yang penting, kita bisa nyaman tinggal di kamar itu, jika suatu saat kita dibuat tidak nyaman, tinggal cabut dan pindah ke hotel lain yang lebih bagus layanan-nya. Contoh penyedia layanan PaaS ini adalah: Amazon Web Service, Windows Azure,  bahkan tradisional hosting-pun merupakan contoh dari PaaS. Keuntungan dari PaaS adalah kita sebagai pengembang bisa fokus pada aplikasi yang kita buat, tidak perlu memikirkan operasional dari “rumah” untuk aplikasi yang kita buat.
  • Infrastructure as a Service (IaaS) adalah layanan dari Cloud Computing dimana kita bisa “menyewa” infrastruktur IT (komputasi, storage, memory, network dsb). Kita bisa definisikan berapa besar-nya unit komputasi (CPU), penyimpanan data (storage) , memory (RAM), bandwith, dan konfigurasi lain-nya yang akan kita sewa. Mudah-nya, IaaS ini adalah menyewa komputer virtual yang masih kosong, dimana setelah komputer ini disewa kita bisa menggunakan-nya terserah dari kebutuhan kita. Kita bisa install sistem operasi dan aplikasi apapun diatas-nya. Contoh penyedia layanan IaaS ini adalah: Amazon EC2, Windows Azure (soon), TelkomCloud, BizNetCloud, dsb. Keuntungan dari IaaS ini adalah kita tidak perlu membeli komputer fisik, dan konfigurasi komputer virtual tersebut bisa kita rubah (scale up/scale down) dengan mudah. Sebagai contoh, saat komputer virtual tersebut sudah kelebihan beban, kita bisa tambahkan CPU, RAM, Storage dsb dengan segera.

Virtualisasi Pada Cloud Computing

Virtualisasi tidak akan lepas dari cloud computing. Salah satu karakteristik cloud computing yang merupakan turunan dari virtualisasi ini adalah elastisitas dan fleksibilitas. Pengguna bisa menggunakan cloud computing dalam jangka waktu yang pendek sekalipun dan bisa dengan mudah menambah atau mengurangi resource computing mereka. Sebagai contoh, untuk memenuhi kebutuhan trial atau development sebuah aplikasi yang hanya membutuhkancomputing resource dalam 2-3 minggu lamanya. Hal ini akan sulit jika pengguna masih menggunakan server fisik karena justifikasinya akan kurang bisa diukur bagi managemen organisasi tersebut.

Database yang Terintegrasi dengan Cloud Computing

Dalam cloud computing terdapat beberapa database ygang dapat digunakan. Salah satu contohnya yaitu database yang berbasis web, antara lain : Socrata, Cebase, Dabble DB. Berikut ini penjelasan dari masing-masing database berbasis web tersebut.

1.  Socrata

Awalnya website ini bernama www.blist.com, tapi karena mengalami perubahan servis dan layanan diubah menjadi Socrata yang beralamat di www.socrata.com. Socrata adalah aplikasi database online yang relatif mudah digunakan dan dirancang untuk keperluan nonteknis pebisnis, seperti spreadsheet dan pemrograman database.

2.  Cebase

Cebase (www.cebase.com) memungkinkan anda untuk membuat aplikasi database baru secara online dengan hanya beberapa klik dari mouse komputer anda. Anda juga dapat mendesain tampilan program database seperti membuat form, membuat kolom data entri, dan sebagainya.

Data anda akan ditampilkan dalam tata letak seperti spreadsheet. Anda dapat menyortir, menambah, menghapus, serta menyaring dari kelompok data anda yang diinginkan.

3.  Dabble DB

Cara pemakaian Dabble DB (www.dabbledb.com) mirip dengan Cebase. Anda tinggal klik-klik saja pada settingan database yang ingin dibuat. DB menawarkan tiga cara untuk berbagi data. Page Option memungkinkan anda untuk mengumpulkan data dari pengguna lain, tanpa memberikan akses ke database. User Option memungkinkan pengguna lain untuk mengakses data mentah di database. Schema Option dapat mengaktifkan JavaScript API untuk membiarkan orang lain berinteraksi dengan data anda pada situs-situs lain.

Komputasi Terdistribusi dalam Cloud Computing

Komputasi Terdistribusi merupakan salah satu tujuan dari Cloud Computing, karena menawarkan pengaksesan sumber daya secara paralel, para pengguna juga bisa memanfaatkannya secara bersamaan (tidak harus menunggu dalam antrian untuk mendapatkan pelayanan), terdiri dari banyak sistem sehingga jika salah satu sistem crash, sistem lain tidak akan terpengaruh dan juga dapat menghemat biaya operasional karena tidak membutuhkan sumber daya (resourches).

Map Reduce dan NoSQL

Map Reduce dan NoSQL (Not Only SQL) adalah sebuah pemogramaan framework guna untuk membantu user mengembangankan sebuah data yang ukuran besar dapat terdistribusi satu sama lain. 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.

Komputasi Grid

Grid computing merupakan salah satu jenis dari komputasi modern. Grid computing adalah arsitektur TI baru yang menghasilkan sistem informasi perusahaan yang berbiaya rendah dan lebih adaptif terhadap dinamika bisnis. Dengan grid computing, sejumlah komponen hardware dan software yang modular dan independen akan dapat dikoneksikan dan disatukan untuk memenuhi tuntutan kebutuhan bisnis. Lebih jauh, dari sisi ekonomi, implementasi grid computing berarti membangun pusat komputasi data yang tangguh dengan struktur biaya variatif yang bias disesuaikan dengan kebutuhan.

Referensi :