Kamis, 25 Juni 2015

Tugas Softskill Teori Quantum Computation dan Teori Parallel Computation

1.     TEORI QUANTUM COMPUTATION

Pendahuluan

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.
Perhitungan jumlah data pada komputasi klasik dihitung dengan bit, sedangkan perhitungan jumlah data pada komputer kuantum dilakukan dengan qubit. Prinsip dasar komputer kuantum adalah bahwa sifat kuantum dari partikel dapat digunakan untuk mewakili data dan struktur data, dan bahwa mekanika kuantum dapat digunakan untuk melakukan operasi dengan data ini. Dalam hal ini untuk mengembangkan komputer dengan sistem kuantum diperlukan suatu logika baru yang sesuai dengan prinsip kuantum.
Komputer kuantum dapat jauh lebih cepat dari komputer konvensional pada banyak masalah, salah satunya yaitu masalah yang memiliki sifat berikut :
  1. Satu-satunya cara adalah menebak dan mengecek jawabannya berkali-kali
  2. Terdapat n jumlah jawaban yang mungkin
  3. Setiap kemungkinan jawaban membutuhkan waktu yang sama untuk mengeceknya
  4. Tidak ada petunjuk jawaban mana yang kemungkinan benarnya lebih besar: memberi jawaban dengan asal tidak berbeda dengan mengeceknya dengan urutan tertentu.
Quantum Entanglement

Quantum entanglement adalah efek mekanik kuantum yang mengaburkan jarak antara partikel individual sehingga sulit menggambarkan partikel tersebut terpisah meski Anda berusaha memindahkan mereka. Entanglement juga merupakan esensi komputasi kuantum karena ini adalah jalinan kualitas yang berhubungan dengan lebih banyak informasi dalam bit kuantum dibanding dengan bit komputing klasik.
Quantum entanglement terjadi ketika partikel seperti foton, elektron, molekul besar seperti buckyballs, dan bahkan berlian kecil berinteraksi secara fisik dan kemudian terpisahkan; jenis interaksi adalah sedemikian rupa sehingga setiap anggota yang dihasilkan dari pasangan benar dijelaskan oleh kuantum mekanik deskripsi yang sama (keadaan yang sama), yang terbatas dalam hal faktor penting seperti posisi, momentum, perputaran, polarisasi

Pengoperasian Data Qubit

Sebuah qubit adalah unit dasar informasi dalam sebuah komputer kuantum. Sementara sedikit dapat mewakili hanya satu dari dua kemungkinan seperti 0 / 1, ya / tidak, qubit dapat mewakili lebih: 0 / 1, 1 dan 0, probabilitas terjadinya setiap saat dikombinasikan dengan qubit lebih, dan semua yang secara bersamaan. Secara umum komputer kuantum dengan qubit n bisa dalam superposisi sewenang-wenang hingga 2 n negara bagian yang berbeda secara bersamaan (ini dibandingkan dengan komputer normal yang hanya dapat di salah satu negara n 2 pada satu waktu).
Untuk memanipulasi sebuah qubit, maka menggunakan Quantum Gates (Gerbang Kuantum). Cara kerjanya yaitu sebuah gerbang kuantum bekerja mirip dengan gerbang logika klasik. Gerbang logika klasik mengambil bit sebagai input, mengevaluasi dan memproses input dan menghasilkan bit baru sebagai output.

Quantum Gates

Quantum Gates / Gerbang Quantum merupakan sebuah aturan logika / gerbang logika yang berlaku 
pada quantum computing. Prinsip kerja dari quantum gates hampir sama dengan gerbang logika pada komputer digital. Jika pada komputer digital terdapat beberapa operasi logika seperti AND, OR, NOT, pada quantum computing gerbang quantum terdiri dari beberapa bilangan qubits, sehingga quantum gates lebih susah untuk dihitung daripada gerang logika pada komputer digital.

2.     TEORI 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.
      Pemrosesan paralel (parallel processing) adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat program berjalan 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.
  Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan.

Distributed Processing

Aktivitas memproses informasi dalam suatu organisasi yang dijalankan oleh jaringan komputer yang tersambung oleh saluran telekomunikasi yang terpusat pada fasilitas induk komputer biasa disebut dengan distributed processing.
Dalam penerapannya, proses ini menggunakan pemrosesan paralel pada beberapa mesin. Misalnya proses transaksi yang terjadi pada beberapa mesin ATM sebuah bank. Ketika ribuan nasabah menggunakan mesin ATM pada saat yang bersamaan, bayangkan berapa banyak proses yang harus dikerjakan jika hanya terdapat 1 komputer server. Oleh karena itu dengan menggunakan Distributed Processing, beban pemrosesan yang besar dapat di kerjakan oleh beberapa komputer yang terhubung oleh jaringan dalam waktu yang bersamaan secara simultan. Beban pemrosesan yang besar itu dipecah menjadi beberapa beban kecil guna mempercepat proses.

Architectural Parallel Computer

Dibawah ini akan dijelaskan beberapamacam arsitektur paralel komputer menurut Klasifikasi Flynn’s :
1.  SISD
Single Instruction – Single Data. Komputer jenis ini hanya memiliki satu prosesor ( single processor ). Dimana semua instruksi di eksekusi secara serial ( terurut satu demi satu ) dan memungkinkan adanya overlapping di setiap bagian instruksi dalam pelaksanaan eksekusi. Komputer ini adalah tipe komputer konvensional. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP.
2.  SIMD
Single Instruction – Multiple Data. Komputer jenis ini hanya dapat mengeksekusi satu instruksi dan memiliki lebih dari satu prosesor. Satu eksekusi dilakukan secara paralel pada data yang berbeda pada level lock-step. Komputer vektor adalah salah satu komputer paralel yang menggunakan arsitektur ini. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor ( GPU ).
3.  MISD
Multiple Instructions – Single Data. Belum ada perwujudan nyata dari komputer jenis ini kecuali dalam bentuk prototipe untuk penelitian. Teorinya komputer ini memiliki satu prosesor dan mengeksekusi beberapa instruksi secara paralel tetapi praktiknya tidak ada komputer yang dibangun dengan arsitektur ini karena sistemnya tidak mudah dipahami.
4.  MIMD
Multiple Instructions – Multiple Data. Komputer jenis ini dapat mengeksekusi lebih dari satu instruksi secara paralel dengan lebih dari satu prosesor. Tipe komputer ini yang paling banyak digunakan untuk membangun komputer paralel, bahkan banyak supercomputer yang menerapkan arsitektur ini. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.

                   http://bungatiarakaristi.blogspot.com/


Senin, 01 Juni 2015

cloud computing


      1.   Definisi cloud computing
      2.  Perbedaan cloud computing dengan komputasi grid
      3.  Implementasi distributed computation dalam cloud computing
      4.  Definisi map reduce dan NoSQL (not only SQL) dan implementasinya dalam cloud computing
      5.  Studi kasus dalam penerapan cloud computing dari beberapa service yang diberikan. Berikan 1 contoh!

JAWAB

       1. Cloud computing atau yang seringkali hanya disebut sebagai cloud adalah era baru penggunaan resource   komputer, baik itu hardware maupun software, yang ada di tempat lain (remote location) dan bisa diakses melalui internet network.

        2. Cloud komputasi dan Grid Computing yang terukur. Skalabilitas dicapai melalui load balancing contoh     aplikasi yang dijalankan secara terpisah di berbagai sistem operasi dan terhubung melalui layanan Web. CPU dan bandwidth jaringan dialokasikan dan de-yang dialokasikan pada permintaan. kapasitas penyimpanan sistem naik dan turun tergantung pada jumlah pengguna, contoh, dan jumlah data yang ditransfer pada saat tertentu. 
            Kedua jenis komputasi melibatkan multitenancy dan multitask, yang berarti bahwa banyak pelanggan dapat melakukan tugas yang berbeda, mengakses contoh aplikasi tunggal atau ganda. Berbagi sumber daya di antara kolam besar pengguna membantu dalam mengurangi biaya infrastruktur dan kapasitas beban puncak. Cloud dan Grid Computing memberikan perjanjian tingkat layanan (SLA) untuk ketersediaan jaminan uptime, katakanlah, 99 persen. Jika slide layanan di bawah tingkat layanan uptime terjamin, konsumen akan mendapatkan layanan kredit untuk menerima data terlambat.
              S3 Amazon menyediakan antarmuka Web layanan untuk penyimpanan dan pengambilan data di awan. Menetapkan batas maksimum jumlah objek bisa Anda simpan di S3. Anda dapat menyimpan objek sekecil 1 byte dan besar sebagai 5 GB atau bahkan beberapa terabyte. S3 menggunakan konsep ember sebagai wadah untuk setiap lokasi penyimpanan benda-benda Anda. Data disimpan dengan aman menggunakan infrastruktur penyimpanan data yang sama yang menggunakan Amazon untuk situs e-commerce dengan Web. Sedangkan penyimpanan dalam Grid Computing sangat cocok untuk penyimpanan data-intensif, tidak ekonomis cocok untuk menyimpan benda-benda kecil seperti 1 byte. Dalam grid data, jumlah data terdistribusi harus besar untuk manfaat maksimal.
              Sebuah Grid Computing berfokus pada operasi komputasi intensif. Amazon Web Services dalam Cloud Computing menawarkan dua jenis contoh: standar dan CPU tinggi.

         3.  Distribusi computation dalam cloud computing adalah sebuah ilmu yang memecahkan masalah besar  dengan memberikan bagian kecil dari masalah untuk banyak komputer untuk memecahkan dan kemudian menggabungkan solusi untuk bagian-bagian menjadi solusi untuk masalah tersebut.
Pada distribusi computation program yang telah ada dipecah-pecah ke beberapa komputer yang aktif dengan menggunakan internet sebagai media komunikasinya.

          4.  Map Reduce dan NoSQL (Not Only SQL)
               Map reduce merupakan sebuah framework pemrograman yang akan memproses sebuah data yang berukuran besar, yang biasanya data tersebut digunakan untuk komputasi terdistribusi pada kumpulan komputer.
               NoSQL (singkatan dari Not Only SQL) adalah tipe database yang berbeda dengan konsep RDBMS ataupun ODBMS. Perbedaan NoSQL adalah NoSQL tidak mengenal relation dan tidak menggunakan konsep schema. Pada konsep NoSQL ini bisa menyimpan data tanpa perlu mendefinisikan tipe data dan ukurannya lagi. Jadi lebih fleksibel bila ada perubahan di masa mendatang.  Adapun beberapa database NoSQL yang ada saat ini yaitu Cassandra, Big Table, CouchDB, Redis, Riak, Dynamo dan lainnya.
                NoSQL database
NoSQL adalah sebuah class dari data storage system yang tidak berelasi. NoSQL tidak memerlukan skema table, sehingga tidak menggunakan konsep relasi. NoSQL database secara native tidak menggunakan SQL seperti yang biasa terdapat pada relational database.

          5.  Sistem cloud computing atau komputasi berbasis awan bekerja dengan menggunakan server yang  bekerja secara online terus-menerus di jaringan internet. Di komputer server inilah semua data akan disimpan begitu juga dengan aplikasi, semua di install di komputer server sehingga pihak pengguna siap pakai saja.
               Pengguna yang ingin mengakses server tersebut baik untuk keperluan membuka, menyimpan data ataupun menjalankan sebuah program, maka pertama user harus melakukan login terlebih dahulu kemudian setelah login berhasil barulah pengguna bisa menggunakan resource server cloud seperti menjalankan suatu program tanpa perlu menginstalnya di komputer sendiri dan juga untuk menyimpan data.
               Cara kerjanya cukup sederhana seperti apabila user menjalankan sebuah aplikasi dan memberikan beberapa perintah pada aplikasi tersebut, maka perintah yang di input oleh user akan dikirimkan ke server melalui jaringan internet kemudian akan diolah atau di resfon oleh server dan memberikan hasilnya ke pengguna tersebut, data hasil proses tersebut akan disimpan di komputer server, sehingga setiap kali user ingin membuka dan melihat data yang dia simpan terakhir kali, data tersebut akan tetap tersedia pada server cloud.
                Contoh kasus ini dapat kita lihat pada penggunaan email seperti gmail dimana pengguna tidak perlu mendownload dan menginstall aplikasi email tersebut di komputer miliknya, tapi cukup dengan tersambung ke internet, userpun sudah bisa menggunakan aplikasi email yang ada pada server cloud tersebut.