QUANTUM GATES, DISTRIBUTED COMPUTATION
DALAM CLOUD COMPUTING, PARALLELISM CONCEPT, &
MAP REDUCE DAN NOSQL (NOT ONLY
SQL)
ANGGOTA KELOMPOK :
·
Indra Benyamin S 55414292
·
Ryan Dwi Darmawan 59414876
·
Siswoyo Langgeng 5A414323
·
Yonathan Kevin 5C414456
KELAS :
4IA23
Fakultas : Teknologi
Industri
Jurusan
:
Teknik Informatika
Mata
Kuliah :
Pengantar Komputasi Modern #
Nama Dosen : Lelly Prananingrum
UNIVERSITAS
GUNADARMA
2018
QUANTUM
GATES
Komputer
kuantum adalah alat hitung yang menggunakan sebuah fenomena mekanika kuantum,
misalnya superposisi dan keterkaitan,
untuk melakukan operasi data. Dalam komputasi klasik, jumlah data dihitung
dengan bit;
dalam komputer kuantum, hal ini 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.
Quantum
gate termasuk sebuah petunjuk yang memiliki cara atau perhitungan dari
komputasi kuantum tersebut dan khususnya model rangkaian kuantum perhitungan,
sebuah gerbang kuantum (quantum atau gerbang logika) adalah dasar kuantum
sirkuit operasi pada sejumlah kecil qubit. Tidak seperti banyak gerbang logika
klasik, gerbang logika kuantum yang reversibel. Namun, komputasi klasik dapat
dilakukan dengan menggunakan hanya gerbang reversibel. Misalnya, gerbang
Toffoli reversibel dapat melaksanakan semua fungsi Boolean. Gerbang ini
memiliki setara kuantum langsung, menunjukkan bahwa sirkuit kuantum dapat
melakukan semua operasi yang dilakukan oleh sirkuit klasik.
Quantum
gerbang logika yang diwakili oleh matriks kesatuan. Gerbang kuantum yang paling
umum beroperasi pada ruang satu atau dua qubit, seperti yang umum gerbang
logika klasik beroperasi pada satu atau dua bit. Ini berarti bahwa sebagai
matriks, gerbang kuantum dapat dijelaskan oleh 2 × 2 atau 4 × 4 matriks
kesatuan.
Toffoli (CCNOT) Gate
Contoh gerbang
Toffoli 3Bit
Gerbang
Toffoli, juga gerbang CCNOT atau gerbang Deutsch {\ displaystyle D (\ pi / 2)}
{\ displaystyle D (\ pi / 2)}, adalah gerbang 3-bit, yang universal untuk
penghitungan klasik. Gerbang Toffoli kuantum adalah gerbang yang sama,
ditetapkan untuk 3 qubit. Jika dua bit pertama berada dalam kondisi {\
displaystyle | 1 \ rangle} | 1 \ rangle, ini akan menerapkan Pauli-X (atau
TIDAK) pada bit ketiga, jika tidak, tidak akan terjadi apa-apa. Ini adalah
contoh gerbang yang dikendalikan. Karena ini adalah analog kuantum dari gerbang
klasik, itu sepenuhnya ditentukan oleh tabel kebenarannya.
Fredkin
(CSWAP) Gate
Gerbang Fredkin
(juga CSWAP atau gerbang cS) adalah gerbang 3-bit yang melakukan swap
terkendali. Ini universal untuk perhitungan klasik. Ini memiliki properti yang
berguna bahwa angka 0 dan 1 dilestarikan di seluruh, yang dalam model bola
biliar berarti jumlah bola yang sama adalah output sebagai input.
Sumber
:
DISTRIBUTED
COMPUTATION DALAM CLOUD COMPUTING
Pendahuluan
Distributed
computation atau komputasi terdistribusi adalah bidang ilmu komputer yang
mempelajari sistem terdistribusi. Sistem terdistribusi adalah 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.
Cloud
computing terdiri dari 2 kata, yaitu cloud dan computing. Secara harfiah cloud
adalah awan, sedangkan computing adalah komputasi. Untuk makna dari cloud
computing itu sendiri adalah penggunaan sumber daya komputasi (hardware dan
software) yang diwujudkan dalam bentuk layanan yang bisa diakses melalui
jaringan (biasanya internet). Asal kata cloud atau awan ini adalah penggambaran
dari internet.
Cloud
computing menyediakan sebuah layanan dimana informasinya disimpan di server
secara permanen dan disimpan di komputer client secara temporary. Di dalam
cloud computing dikenal istilah front-end (desktop-PC) dan back-end (server)
yang dimana harus saling terhubung di dalam sebuah jaringan internet. Font-end
bertugas dalam pengambilan data dan menjalankan aplikasi dari back-end,
sedangkan back-end bertugas sebagai sumber yang diistilahkan dengan cloud.
Pembahasan
Distributed Computation
Distributed
computation atau komputasi terdistribusi merupakan bidang ilmu komputer yang
mempelajari sistem terdistribusi. Sebuah sistem terdistribusi terdiri dari
beberapa komputer otonom yang berkomunikasi melalui jaringan komputer.
Distributed computation mengacu pada penggunaan sistem terdistribusi untuk
memecahkan masalah komputasi. Dalam distributed computation, masalah dibagi
menjadi banyak tugas, masing-masing yang diselesaikan oleh satu komputer.
Tujuan dari distributed computation adalah menyatukan kemampuan dari sumber
daya (sumber komputasi atau sumber informasi) yang terpisah secara fisik, ke
dalam suatu sistem gabungan yang terkoordinasi dengan kapasitas yang jauh dari
kapasitas individual komponen-komponennya.
Cloud
Computing
Cloud
computing adalah pemanfaatan teknologi komputer yang berasal dari penggabungan
antara virtualisasi dan grid computing. Virtualisasi merupakan sebuah teknik
untuk menyembunyikan karakteristik fisik dari sumber daya komputer dari
bagaimana cara sistem lain berinteraksi dengan sumber daya tersebut. Sedangkan
komputasi grid adalah penggunaan sumber daya yang melibatkan banyak komputer,
digunakan untuk memecahkan persoalan komputasi dalam skala besar yang
terdistribusi, menjalankan sistem yang terkoordinasi terhadap sumber daya
komputasi yang tidak berada di bawah suatu kendali terpusat.
Kelebihan Cloud
Computing
·
Membuat operasional dan manajemen lebih mudah karena sistem
pribadi/perusahaan yang tersambung dalam satu cloud dapat dimonitor dan diatur
dengan mudah.
·
Lebih efisien karena menggunakan
anggaran rendah untuk resource nya.
·
Menghemat waktu sehingga perusahaan bisa
langsung fokus ke profit dan berkembang dengan cepat.
Kekurangan Cloud Computing
·
Komputasi awan tidak dapat dilakukan jika tidak dapat terhubung
ke Internet.
·
Apabila koneksi internet yang lambat, maka cloud computing tidak
lagi optimal untuk digunakan.
·
Data yang disimpan
dalam awan secara umum tidaklah aman karena diperbanyak di beberapa mesin.
Distributed Computation dalam Cloud Computing
Kegiatan ini merupakan kumpulan
beberapa komputer yang terhubung untuk melakukan pendistribusian, seperti
mengirim dan menerima data serta melakukan interaksi lain antar komputer yang
dimana membutuhkan sebuah jaringan agar komputer satu dan lainnya bisa saling
terhubung dan melakukan interaksi. Hal ini semua dilakukan dengan cloud
computing yang seperti diketahui memberikan layanan dimana informasinya
disimpan di server secara permanen dan disimpan di komputer secara temporary.
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 rusak, sistem lain tidak akan
terpengaruh, dapat menghemat biaya operasional karena tidak membutuhkan sumber
daya.
Distribusi komputasi ini memiliki
definisi mempelajari penggunaan terkoordinasi dari komputer secara fisik
terpisah atau terdistribusi. Pada distributed computing ini, program dipisah
menjadi beberapa bagian yang dijalankan secara bersamaan pada banyak komputer
yang terhubung melalui jaringan internet.
Kesimpulan
Cloud computing sangat berguna pada
saat ini yang berfungsi untuk menyimpan data pada internet. Di dalam cloud
computing terdapat distributed computation, dimana interaksi yang dilakukan
antar komputer seperti mengirim dan menerima data menggunakan jaringan komputer
hingga pengaksesan sumber daya bisa dilakukan secara paralel dan bisa
dimanfaatkan dalam waktu yang bersamaan.
Sumber
PARALLELISM
CONCEPT
1. Pengertian
Paralel Processing adalah kemampuan
menjalankan tugas atau aplikasi lebih dari satu aplikasi dan dijalankan secara
simultan atau bersamaan pada sebuah komputer. Secara umum, ini adalah sebuah
teknik dimana sebuah masalah dibagi dalam beberapa masalah kecil untuk
mempercepat proses penyelesaian masalah.
2.
Tujuan
Tujuan
dari komputasi paralel adalah meningkatkan kinerja komputer dalam menyelesaikan
berbagai masalah. Dengan membagi sebuah masalah besar ke dalam beberapa masalah
kecil, membuat kinerja menjadi cepat.
3. Teori
M.J.
Flynn menjabarkan parallel computing ke dalam 4 buah model yaitu SISD, SIMD,
MISD dan MIMD. Berikut penjelasannya :
1. Komputer
SISD (Single Instruction stream-Single Data stream)
Adalah Sesuai dengan arti dari SISD sendiri,
komputer yang memakai model ini adalah komputer dengan prosesor tunggal dan
menjalankan satu instruksi yang dieksekusi secara serial. Yang sering
menggunakan model ini adalah komputer konvensional. Contoh komputer yang
menggunakan model SISD ini adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan
PDP 1. Gambarnya bisa di lihat di bawah ini.
2. Komputer
SIMD (Single Instruction stream-Multiple Data stream)
Adalah data yang akan dimanipulasi berbeda.Komputer
dengan model ini memiliki lebih dari satu prosessor, tetapi hanya mengeksekusi
satu instruksi yang sama pada data yang berbeda. Komputer vector adalah
salah satu contoh komputer yang menggunakan model ini. Contoh lainnya adalah
ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor
(GPU).
3. Komputer
MISD (Multiple Instruction stream-Single Data stream)
Adalah datanya masih dalam bentuk
teori. 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. Sampai
saat ini belum ada komputer yang menggunakan model MISD.
4. MIMD
(Multiple Instruction stream-Multiple Data stream)
Adalah datanya yang paling banyak di
gunakan. Komputer ini 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. Beberapa komputer yang menggunakan model MIMD adalah
IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM
BG/L.
Sumber
:
MAP REDUCE DAN NOSQL (NOT ONLY
SQL)
Map Reduce danNoSQL (Not Only SQL)
adalah sebuah pemogramaan framework guna untuk membantu user mengembangankan
sebuah data yang ukuran besar dapat terdistribusi satu sama lain.
·
MapReduce
MapReduce adalah model pemrogramana rilisan
Google yang ditujukan untuk memproses data berukuran raksasa secara
terdistribusi dan parallel dalam cluster yang terdiri atas ribuan komputer.
Dalam memproses data, MapReduce dibagi menjadi 2 proses utama, yaitu Map dan
Reduce.
Proses Map bertugas utnuk mengumpulkan
informasi dari potongan-potongan data yang terditribusi dalam tiap komputer
dalam cluster (kelompok komputer yang saling terhubung). Hasilnya deserahkan
kepada proses Reduce untuk diproses lebih lanjut. Hasil proses Reduce merupakan
hasil akhir yang dikirim ke pengguna.
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.
Desain
dan Struktur MapReduce
Mungkin terkesan sangat ribet, untuk
memproses sebuah data raksasa, data itu harus dipotong-potong kemudian dibagi-bagikan
ke tiap komputer dalam suatu cluster. Lalu proses Map dan proses Reduce pun
harus dibagi-bagikan ke tiap komputer dan dijalankan secara paralel. Terus
hasil akhirnya juga disimpan secara terdistribusi. Benar-benar terkesan
merepotkan.
Beruntunglah, MapReduce telah didesain
sangat sederhana alias simple. Untuk menggunakan MapReduce, seorang programer
cukup membuat dua program yaitu program yang memuat kalkulasi atau prosedur
yang akan dilakukan oleh proses Map dan Reduce. Jadi tidak perlu pusing memikirkan
bagaimana memotong-motong data untuk dibagi-bagikan kepada tiap komputer, dan
memprosesnya secara paralel kemudian mengumpulkannya kembali. Semua proses ini
akan dikerjakan secara otomatis oleh MapReduce yang dijalankan diatas Google
File System.
Program yang memuat kalkulasi yang akan
dilakukan dalam proses Map disebut Fungsi Map, dan yang memuat kalkulasi yang
akan dikerjakan oleh proses Reduce disebut Fungsi Reduce. Jadi, seorang
programmer yang akan menjalankan MapReduce harus membuat program Fungsi Map dan
Fungsi Reduce.
Fungsi Map bertugas
untuk membaca input dalam bentuk pasangan Key/Value, lalu menghasilkan output
berupa pasangan Key/Value juga. Dengan kata lain tiap Value yang memiliki Key
yang sama akan digabungkan dalam satu kelompok. Fungsi Reduce juga menghasilkan
output berupa pasangan Key/Value.
·
Pengertian NoSQL
Nosql adalah sebuah memcache dari bagian
database sederhana yang berisi key dan value. Database ini bersifat struktur
storage dimana sistem databasenya yang berbeda dengan sistem database
relasional.
Nosql tidak membutuhkan skema table dan
menghindari operasi join dan berkembang secara horizontal. Selain itu NoSQL
merupakan suatu bahasan yang jauh dari arti kata yang dibaca. Tidak berarti
tanpa sql query. Melainkan bagaimana suatu sql query digunakan seminimal
mungkin dalam suatu program database. Dengan memanfaatkan teknologi NoSQL ini,
diharapkan mampu mengurangi beban server. Selain itu, hal ini juga memudahkan
programmer dalam membuat suatu program dan proses pengembangannya.
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 tupe.
Kesimpulan
Map
Reduce danNoSQL (Not Only SQL) adalah sebuah pemogramaan framework untuk membantu user mengembangankan sebuah
data yang ukuran besar dapat terdistribusi satu sama lain.
Map-Reduce
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.
Sumber: