Let’s get smarter…

Because knowledge is power…

dan IT pun Menuju Era Quantum

Posted by gilang On September - 25 - 2008

Apa lagi nih, belum juga paham dengan istilah bahasa pemrograman masa kini (misal OOP), ada pula yang namanya Bahasa Pemrograman Kuantum.. Buat apa sih bahasa yang satu ini ?, ternyata bahasa  ini erat kaitannya dengan keberadaan komputer kuantum. Yaitu komputer super cepat yang saat ini sedang dikembangkan. Denger-denger sih komputer ini bisa melakukan perhitungan dalam level atomik. Bayangkan sebuah komputer dimana setiap atom penyusunnya bisa melakukan perhitungan.. wuih… gileee… Ok simpan materi tentang komputer kuantum ini buat next post. sekarang bahas Bahasa Pemrograman Kuantum dulu.

Sesuai dengan namanya, Bahasa Pemrograman Kuantum adalah sebuah bahasa pemrograman yang dapat digunakan untuk membuat program yang dapat berjalan dalam komputer kuantum. Seperti bahasa pemrograman pada komputer masa kini, perkembangan bahasa pemrograman kuantum pun memiliki beberapa tahapan.

1.  Imperative Quantum Programming

  • Pseudocode Kuantum (Quantum Pseudocode)

Bahasa pemrograman ini pertama kali di ajukan oleh E. Knill sebagai bahasa pertama untuk komputer kuantum, model bahasa ini memiliki kaitan yang erat dengan salah satu model komputer kuantum yaitu Quantum Random Access Memory (QRAM)

  • Quantum Computing Language

QCL(Quantum Computing Language) adalah implementasi dari bahasa pemrograman kuantum yang paling mutakhir. Sintaks yang dimilikinya memiliki banyak kemiripan dengan bahasa pemrograman C, dan memiliki struktur tipe data yang mirip pula dengan bahasa C.

Bentuk tipe data yang palling mendasar pada bahasa pemrograman ini adalah qreg (quantum register), dimana qreg ini dapat diartikan sebagai array (susunan) dari qubits (quantum bits).

qureg x1[2]; // 2-qubit quantum register x1
qureg x2[2]; // 2-qubit quantum register x2
H(x1); // Hadamard operation on x1
H(x2[1]); // Hadamard operation on the first qubit of the register x1

QCL juga memiliki beberapa operator standard yang dapat digunakan dalam algoritma kuantum, yaitu :

1. controlled-not dengan banyak target qubit,

2. operasi Hadamard pada banyak qubit,

3. parse dan controlled phase

Namun fungsi yang paling penting dari QCL adalah dukungan terhadap fungsi tambahan. Seperti pada bahasa pemrograman yang ada saat ini, QCL memungkinkan kita untuk membuat sebuah procedure / fungsi yang dapat digunakan untuk memanipulasi data kuantum. Misalnya

operator diffuse(qureg q) {
H(q);                 // Hadamard Transform
Not(q);               // Invert q
CPhase(pi,q);         // Rotate if q=1111..
!Not(q);              // undo inversion
!H(q);                // undo Hadamard Transform
}

  • Q Language

Q Language (Bahasa Pemrograman Q) adalah implementasi kedua dari Bahasa Pemrograman Kuantum imperatif. Q Language di implementasikan sebagai pengembangan dari bahasa pemrograman C++, Bahasa ini menyediakan kelas-kelas yang dapat digunakan untuk melakukan operasi kuantum dasar seperti QHadamard, QFourier, QNot, dan QSwap. Operator baru dapat dibuat menggunakan mekanisme kelas pada C++.

Memory Quantum yang di representasikan oleh kelas Qreg
Qreg x1(); // 1-qubit quantum register with initial value 0
Qreg x2(2,0); // 2-qubit quantum register with initial value 0

  • qGCL

Quantum Guarded Command Language (qGCL) didefinisikan oleh P. Zuliani dalam tesis PhD-nya. Bahasa ini berbasis pada Guarded Command Language yang dibuat oleh Edsger Djikstra.

2. Functional Quantum Programming

Dalam beberapa tahun terakhir ada banyak bahasa pemrograman kuantum berbasis paradigma pemrograman fungsional (functional programming language) yang telah diajukan. Paradigma bahasa ini dianggap memiliki banyak kelebihan daripada paradigma bahasa pemrograman kuantum sebelumnya, dimana pada paradigma ini algoritma dapat di jelaskan secara lebih jelas.

  • APL dan cQPL

Bahasa pemrograman kuantum (QPL) di ajukan oleh Peter Selinger bersama dengan cQPL, yaitu sebuah ekstensi yang sangat berguna untuk melakukan permodelan komunikasi kuantum. Bahasa pemrograman yang telah memiliki ekstensi ini dinamakan cQPL (communication capable QPL).

Contoh:
Alokasi qubit

new qbit q := 0;
q *= H;
measure q then {
print “Head!”
} else {
print “Tail:(”;
};

cQPL menyediakan dukungan untuk memodelkan protokol komunikasi kuantum, sebagai contoh, Komunikasi antara Alice dan Bob dapat di jelaskan sebagai pertukaran qubit antara dua modul.

module Alice {
new qbit a := 0;
new qbit b := 0;
send qbit a to Bob;
send qbit b to Bob;
}

module Bob {
receive q1:qbit from Alice;
receive q2:qbit from Bob;
dump q1;
dump q2;
}

  • Quantum Lambda Calculus

Usaha pertama dalam mengajukan lambda calculus dilakukan oleh Philip Maymin pada tahun 1996. Kemudian pada tahun 2003 André van Tonder menyatakan bahwa ekstensi dari lambda calculus sangat cocok digunakan untuk membuktikan tingkat kebenaran dari program kuantum.

Quantum Lambda Language adalah bahasa yang berbasis pada lambda calculus yang pertama kali diperkenalkan oleh Alonzo Church dan Stephen Cole Kleene pada tahun 1930. Model bahasa ini merupakan salah satu model bahasa
pemrograma kuantum yang dapat dijadikan alternatif.

source :

http://www.quantiki.org/wiki/index.php/Quantum_Programming_Language

5 Responses

  1. Wavatar buzandroses Says:

    *ga pake pertamax* hahahhaha

    wew functional programming aja masih latah, mana ada yang plus quantum nya lagi, lama-lama pertamax plus jadi quantummax plus ( heheh maksa mode on ). Nice sharing brur :berbusa:

    Posted on September 25th, 2008 at 4:34 am

  2. Wavatar pieter Says:

    pertamax kah?.hehehehehehe

    quantom tuh apa ya? ada juga bimbel quantum…di ramanda depok deket terminal:D.hehehehehehe

    Posted on September 25th, 2008 at 12:50 pm

  3. Wavatar gilang Says:

    @buzandroses

    Dulz, makin cepet nih komputer kuantum sempurna, makin cepet gua bakal punya komputer kaya Jarvis… hihihi… komputernya si Iron Man…wkwkwkwkwk…..

    Posted on September 25th, 2008 at 9:04 pm

  4. Wavatar gilang Says:

    @pieter

    Tuh orang pada make kata2 kuantum ngasal…, aslinya sih kuantum itu bentuk paket energi terkecil, biasa disebut kuanta… jadi ternyata energi itu merambat dalam bentuk paket yang disebut kuanta tadi.. analoginya mirip kalau lu ngirim data pakai tcp/ip, kan tuh data di break jadi packet, yang terdiri dari frame2 data. cuma disini paket nya bukan data tapi energi..

    Posted on September 25th, 2008 at 9:09 pm

  5. Wavatar Jingga Says:

    permisi bang…ada tutorial pseudo-code ga?
    ane masi pemula niih…mo belajar bahasa pemrograman….. ^_^
    kalo ada tutorial cara membuat pseudo-code please reply to my email….. : Waaw_okki@yahoo.co.id
    thx b4
    bahasa inggris juga bole..tapi jangan bahasa arab yaa…ane kagak ngerti bang..hehehehe

    Posted on December 1st, 2008 at 11:51 pm

Leave a Reply




This site employs the Wavatars plugin by Shamus Young.