banner

Jumat, 03 Juli 2015

Softskill PKM (Quantum Computation & Parallel Computation)

I. Artikel Pengantar Quantum Computation

Pendahuluan

       Pada kali ini saya akan membahas apa itu Quantum Computation. Quantum Computation sendiri adalah bidang studi yang difokuskan pada teknologi komputer berkembang berdasarkan prinsip-prinsip teori kuantum , yang menjelaskan sifat dan perilaku energi dan materi pada kuantum (atom dan subatom) tingkat.

lalu apa bedanya dengan Quantum Computer?

     Quantum Computer adalah alat untuk perhitungan yang menggunakan langsung dari kuantum mekanik fenomena, seperti superposisi dan belitan , untuk melakukan operasi pada Data. Cara kerja quantum computer sendiri berbeda dengann komputer bisanya. Dalam komputasi klasik, jumlah data dihitung dengan bit dalam komputer kuantum hal ini dilakukan dengan qubit(quantum bit) yang berarti jika di komputer biasa hanya mengenal 0 atau 1, dengan qubit sebuah komputer quantum dapat mengenal keduanya secara bersamaan dan itu membuat kerja dari komputer quantum itu lebih cepat dari pada komputer biasa.

Entanglement

     Setelah sedikit memahami apa itu quantum computation dan quantum computer kita akan memasuki pembahasan dari Entanglement. Entanglement sendiri masih bagian dari Quantum Computation. Apa itu Entanglement? Entanglement adalah suatu teori mekanika quantum yang menggambarkan seberapa cepat dan betapa kuatnya keterhubungan partikel-partikel pada Quantum computer yang dimana jika suatu partikel diperlakukan "A" maka akan memberikan dampak "A" juga ke partikel lainnya.

Pengoperasian Data Qubit

       Qubit merupakan kuantum bit , mitra dalam komputasi kuantum dengan digit biner atau bit dari komputasi klasik. Sama seperti sedikit adalah unit dasar informasi dalam komputer klasik, qubit adalah unit dasar informasi dalam komputer kuantum . Dalam komputer kuantum, sejumlah partikel elemental seperti elektron atau foton dapat digunakan (dalam praktek, keberhasilan juga telah dicapai dengan ion), baik dengan biaya mereka atau polarisasi bertindak sebagai representasi dari 0 dan / atau 1. Setiap partikel-partikel ini dikenal sebagai qubit, sifat dan perilaku partikel-partikel ini (seperti yang diungkapkan dalam teori kuantum ) membentuk dasar dari komputasi kuantum. Dua aspek yang paling relevan fisika kuantum adalah prinsip superposisi dan Entanglement

       Superposisi, pikirkan qubit sebagai elektron dalam medan magnet. Spin elektron mungkin baik sejalan dengan bidang, yang dikenal sebagai spin-up, atau sebaliknya ke lapangan, yang dikenal sebagai keadaan spin-down. Mengubah spin elektron dari satu keadaan ke keadaan lain dicapai dengan menggunakan pulsa energi, seperti dari Laser - katakanlah kita menggunakan 1 unit energi laser. Tapi bagaimana kalau kita hanya menggunakan setengah unit energi laser dan benar-benar mengisolasi partikel dari segala pengaruh eksternal? Menurut hukum kuantum, partikel kemudian memasuki superposisi negara, di mana ia berperilaku seolah-olah itu di kedua negara secara bersamaan. Setiap qubit dimanfaatkan bisa mengambil superposisi dari kedua 0 dan 1. Dengan demikian, jumlah perhitungan bahwa komputer kuantum dapat melakukan adalah 2 ^ n, dimana n adalah jumlah qubit yang digunakan. Sebuah komputer kuantum terdiri dari 500 qubit akan memiliki potensi untuk melakukan 2 ^ 500 perhitungan dalam satu langkah. Ini adalah jumlah yang mengagumkan - 2 ^ 500 adalah atom jauh lebih dari yang ada di alam semesta (ini pemrosesan paralel benar - komputer klasik saat ini, bahkan disebut prosesor paralel, masih hanya benar-benar melakukan satu hal pada suatu waktu: hanya ada dua atau lebih dari mereka melakukannya). Tapi bagaimana partikel-partikel ini akan berinteraksi satu sama lain? Mereka akan melakukannya melalui belitan kuantum.

Quatum Gates

       Gate sendiri dalam bahasa Indonesia adalah Gerbang.jadi Quantum Gates adalah sebuah gerbang kuantum yang dimana berfungsi mengoperasikan bit yang terdiri dari 0 dan 1 menjadi qubits. dengan demikian Quantum gates mempercepat banyaknya perhitungan bit pada waktu bersamaan.
Quantum Logic Gates, Prosedur berikut menunjukkan bagaimana cara untuk membuat sirkuit reversibel yang mensimulasikan dan sirkuit ireversibel sementara untuk membuat penghematan yang besar dalam jumlah ancillae yang digunakan.
  • Pertama mensimulasikan gerbang di babak pertama tingkat.
  • Jauhkan hasil gerbang di tingkat d / 2 secara terpisah.
  • Bersihkan bit ancillae.
  • Gunakan mereka untuk mensimulasikan gerbang di babak kedua tingkat.
  • Setelah menghitung output, membersihkan bit ancillae.
  • Bersihkan hasil tingkat d / 2.
       Sekarang kita telah melihat gerbang reversibel ireversibel klasik dan klasik, memiliki konteks yang lebih baik untuk menghargai fungsi dari gerbang kuantum. Sama seperti setiap perhitungan klasik dapat dipecah menjadi urutan klasik gerbang logika yang bertindak hanya pada bit klasik pada satu waktu, sehingga juga bisa setiap kuantum perhitungan dapat dipecah menjadi urutan gerbang logika kuantum yang bekerja pada hanya beberapa qubit pada suatu waktu. Perbedaan utama adalah bahwa gerbang logika klasik memanipulasi nilai bit klasik, 0 atau 1, gerbang kuantum dapat sewenang-wenang memanipulasi nilai kuantum multi-partite termasuk superposisi dari komputasi dasar yang juga dilibatkan. Jadi gerbang logika kuantum perhitungannya jauh lebih bervariasi daripada gerbang logika perhitungan klasik.

II. Artikel Parallel Computation

       Komputasi Paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.

Komputer dikatakan sebagai mesin komputasi paralel jika memenuhi beberapa syarat berikut ini:
  • Data yang diproses dipecah menjadi bagian-bagian terpisah yang bekerja secara independen dan terus-menerus.
  • Proses pengeksekusian instruksi ganda. Sehingga dalam sekali waktu, bisa dihasilkan 2 atau lebih suatu output data. Untuk lebih detilnya bisa dibaca pada sub bab taksonomi Flynn. Yang dalam hal ini sangat berbeda dengan paradigma perkembangan pengolahan data yang berkisar pelebaran jalur data, bukan penjamakan instruksi
  • Dapat menyelesaikan tugas lebih cepat daripada dengan perangkat serial.
A. Konsep Paralel

      Konsep paralel adalah sebuah kemampuan prosesor untuk melakukan sebuah tugas ataupun banyak tugas secara simultan ataupun bersamaan, dengan kata lain prosesor mampu melakukan satu ataupun banyak tugas dalam satu waktu.

B. Pemrosesan Terdistribusi

      Pemrosesan terdistribusi merupakan proses pendistribusian pengolahan paralel dalam pemrosesan paralel menggunakan beberapa mesin. Jadi, bisa di bilang kemampuan dari suatu komputer-komputer yang dijalankan secara bersamaan untuk memecahkan suatu masalah dengan proses yang cepat.

C. Arsitektur Komputer Paralel
     Menurut seorang Designer Processor, taksonomi Flynn, Arsitektur Komputer dibagi menjadi 4 baguan, yaitu :
  1. SISD ( Single Instruction Single Data Stream )
         Jenis Komputer yang hanya memiliki satu prosesor dan satu instruksi yang dieksekusi secara serial.
  2. SIMD ( Single Instruction Multiple Data Stream )
         Jenis komputer yang memiliki lebih dari satu prosesor, tetapi komputer ini hanya mengeksekusi satu instruksi secara paralel pada data yang berbeda pada level lock-step.
  3. MISD ( Multiple Instruction Single Data Stream )
         Jenis komputer yang memiliki satu prosesor dan mengeksekusi beberapa instruksi secara paralel tetapi di dalam praktiknya tidak ada komputer yang dibangun dengan arsitektur ini karena sistemnya tidak mudah dipahami, sampai saat ini pun belum ada komputer yang menggunakan arsitektur jenis ini
  4. MIMD ( Multiple Instruction Multiple Data Stream )     Jenis komputer yang memiliki lebih dari satu prosesor dan mengeksekusi lebih dari satu instruksi secara paralel. Tipe komputer ini yang paling banyak digunakan untuk membangun komputer paralel, bahkan banyak supercomputer yang menerapkan arsitektur ini, karena model dan konsepnya yang tidak terlalu rumit untuk dipahami.
  5. Pengantar Thread Programming     Sebuah thread di dalam pemrograman komputer adalah sebuah informasi terkait tentang penggunaan sebuah program tunggal yang dapat menangani beberapa pengguna secara bersamaan.Thread ini memungkinkan program untuk mengetahui bagaimana user masuk ke dalam program secara bergantian dan user akan masuk kembali menggunakan user yang berbeda. Multiple thread dapat berjalan bersamaan dengan proses lainnya membagi sumberdaya menjadi memori, disaat proses lain tidak membaginya.
  6. Pengantar Message Passing, Open MPMessage Passing merupakan sebuah bentuk dari komunikasi yang digunakan di komputasi paralel, OOT (Object Oriented Programming) atau Pemrograman Berbasis Objek dan komunikasi interproses
  7. Pengantar Pemrograman CUDA GPUSebelum saya membahas tentang CUDA, saya akan membahas GPU terlebih dahulu. GPU dalah sebuah processor khusus untuk memepercepat dan mengubah memori untuk mempercepat pemrosesan gambar. GPU ini sendiri biasanya berada di dalam graphic card komputer ataupun laptop.
  8. CUDA(Compute Unified Device Architecture)
    adalah suatu skema yang dibuat oleh NVIDIA agar NVIDIA selaku GPU (Graphic Processing Unit) mampu melakukan komputasi tidak hanya untuk pengolahan grafis namun juga untuk tujuan umum. Jadi dengan adanya CUDA kita dapat memanfaatkan banyak prosesor dari NVIDIA untuk melakukan proses perhitungan ataunpun komputasi yang banyak.

Sumber:
http://abdanniputri.blogspot.com/2013/04/pengantar-quantum-computation.html
http://www.komputasi.lipi.go.id/utama.cgi?cetakartikel&1227938582
http://djuneardy.blogspot.com/2015/04/quantum-computing-entanglement.html



http://ery-prima.blogspot.com/2012/05/komputasi-kuantum.html

Senin, 08 Juni 2015

Tugas ke 3 SoftSkill (Cloud Computing, Grid Computing, Distributed Computing)

Nama : Fahmi Imanuddin
NPM : 52411585
Kelas : 4ia22
Teknologi Industri, Teknik Informatika

Definisi Cloud Computing

Apakah Cloud Computing ?

Anda mungkin mulai sering mendengar istilah “cloud” atau “cloud computing”, tetapi masih belum terlalu mengerti ‘binatang’ apa cloud itu sebenarnya. Sebagian orang menganggap cloud adalah semacam teknik virtualisasi komputer, sehingga satu atau beberapa komputer bisa dibuat menjadi banyak virtual komputer. Ada juga yang menganggap cloud tidak ada bedanya dengan VPS (virtual private server), di mana VPS ini adalah teknologi yang sudah ada dari beberapa tahun yang lalu. Pada dasarnya pendapat tersebut tidak sepenuhnya salah, karena virtualisasi memang merupakan salah satu komponen dari cloud computing.

Tetapi pengertian cloud sebenarnya lebih dari itu. Cloud computing adalah kumpulan dari beberapa computing resources yang terintegrasi menjadi satu dan di-delivered melalui web. Cloud computing juga didasarkan pada teknologi grid computing, yaitu membuat skalabilitas suatu sistem computing menjadi sangat besar dengan cara menggabungkan beberapa computing resources menjadi satu resource.

Bisa dikatakan cloud computing adalah grid computing + virtualisasi


Perbedaan Cloud dan Grid computing

- Komputasi Grid lebih menekankan pada‘resources sharing’

- Fokus komputasi grid adalah kepada kemampuan memindahkan beban kerja ke lokasi sumber daya yang memerlukan.

- Cloud computing lebih menekankan pada kepemilikan (proprietary), setiap pengguna cloud bisa mendapatkan sumber daya pribadi dari cloud, yang disediakan oleh service provider tertentu dan pengguna tidak perlu berkontribusi dalam penyediaan sumber daya.

- Komputasi Grid menekankan pada tugas-tugas komputasi yang sensitif dan sulit untuk yang berskala otomatis.

- Cloud computing menekankan pada aplikasi transaksi, suatu permintaan dengan jumlah besar dan terpisah-pisah, dan dapat untuk skala otomatis atau semiotomatis.


Distributed Computing dalam Cloud Computing


Distributed Computing adalah suatu bentuk dari parallel computing yang berkaitan dengan sistem hardware dan software yang memiliki lebih dari satu elemen pemrosesan atau storage element, concurent process, atau multiple program berjalan di bawah pengendalian yang ketat. Pada distributed computing suatu program dipecah ke beberapa bagian yang dijalankan secara bersamaan pada banyak komputer yang berkomunikasi melalui jaringan. 

Distributed computing dapat berjalan secara simultan tetapi program yang di distribusikan sering harus sesuai dengan lingkungan yang heterogen, link jaringan dari berbagai latency dan kegagalan-kegagalan di jaringan atau komputer yang tidak diprediksi.


Map Reduce dan NoSQL (Not Only SQL)

Map reduce merupakan framework pemrograman yang berfungsi untuk processing data yang berukuran besar yang biasa digunakan untuk komputasi terdistribusi pada banyak computer. 

NoSQL adalah istilah yang dikenal untuk merujuk pada kelas yang luas dari DBMS yang di identifikasikan dengan tidak mematuhi aturan pada model RDBMS yang banyak digunakan dan tidak dibangun terutama dengan table dan umumnya tidak menggunakan SQL untuk memanipulasi data, sehingga sering ditafsirkan sebagai “tidak hanya SQL”.


Studi Kasus penerapan Cloud Computing pada layanan SaaS


Seperti namanya, Paas adalah layanan yang menyediakan modul-modul siap pakai yang dapat digunakan untuk mengembangkan sebuah aplikasi, yang tentu saja hanya bisa berjalan di atas platform tersebut. Paas memfokuskan aplikasi dimana developer tidak usah memikirkan tentang hardware dan tetap fokus pada application development-nya tanpa harus mengkhawatirkan operating system, infrastructure scaling, load balancing dan lainnya. Pengembang membuat aplikasi pada platform penyedia melalui internet. Penyedia PaaS dapat menggunakan API, portal situs web atau perangkat lunak gateway diinstal pada komputer pelanggan. Seperti juga layanan SaaS, pengguna Paas tidak memilliki kendali terhadap sumber daya komputasi dasar seperti memory, media penyimpangan, processing power dan lain-lain, yang semuanya diatur oleh provide layanan ini. Pionir di area ini adalah Google AppEngine, yang menyediakan berbagai tools untuk mengembangkan aplikasi di atas platform Google, dengan menggunakan bahasa pemrograman phyton da Django. Kemudian salesforce juga menyediakan layanan PaaS melalui Force.com, menyediakan modul-modul untuk mengembangkan aplikasi di atas platform salesforce yang menggunakan bahasa Apex.


Dan mungkin yang jarang sekali diketahui, bahwa Facebook juga bisa dianggap menyediakan layanan PaaS, yang memungkinkan kita untuk membuat aplikasi diatasnya. Salah satu yang berhasil menangguk untuk besar dari layanan PaaS Facenook adalah perusahaan bernama Zynga. Aplikasi tersebut adalah Farmville yang cukup popular di Facebook



Sumber :
http://www.cozy.co.id/tentang-cloud/definisi-cloud.html
http://saridr.blogspot.com/2013/04/cloud-computing.html
http://prichallean.blogspot.com/2013/02/cloud-computing-pemanfaatan-teknologi.html