Rabu, 29 April 2020

Quantum Computation, Entanglement Quantum, Pengoperasian Data Qubit, Quantum Gates, dan Algoritma Shor

Quantum Computation
Merupakan alat hitung yang menggunakan mekanika kuantum seperti superposisi dan keterkaitan, yang digunakan untuk peng-operasi-an 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.

Entanglement
Quantum entanglement adalah salah satu fenomena paling unik di dunia Quantum Fisika. Fenomena ini memungkinkan dua atom untuk mempunyai properti yang sama atau berlawanan satu sama lain, tanpa adanya interaksi diantara keduanya. Jadi meskipun jarak memisahkan dua atom itu, keduanya akan tetap terhubung seketika seolah ada sinyal yang mampu mempengaruhi keadaan mereka yang bergerak lebih cepat dari kecepatan cahaya. Agak sulit untuk membayangkan fenomena ini di dalam kejadian sehari-hari. Namun kita dapat membuat perumpamaan sebagai berikut.

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.

Algoritma Shor
Algoritma yang ditemukan oleh Peter Shor pada tahun 1995. Dengan menggunakan algoritma ini, sebuah komputer kuantum dapat memecahkan sebuah kode rahasia yang saat ini secara umum digunakan untuk mengamankan pengiriman data. Kode yang disebut kode RSA ini, jika disandikan melalui kode RSA, data yang dikirimkan akan aman karena kode RSA tidak dapat dipecahkan dalam waktu yang singkat. Selain itu, pemecahan kode RSA membutuhkan kerja ribuan komputer secara paralel sehingga kerja pemecahan ini tidaklah efektif.
Algoritma Shor bergantung pada hasil dari teori bilangan. Hasil ini adalah: fungsi periodik. Dalam konteks algoritma Shor, n akan menjadi bilangan yang akan difaktorkan. Jika dua bilangan tersebut adalah coprime itu berarti bahwa pembagi umumnya adalah 1. Perhitungan fungsi ini untuk jumlah eksponensial, dari itu akan mengambil waktu eksponensial pada komputer klasik. Algoritma Shor memanfaatkan paralelisme kuantum untuk melakukan jumlah eksponensial operasi dalam satu langkah.

Jumat, 10 April 2020

Cloud Computing, Grid Computing, Visualisasi, Distributed Computing, Map Reduce, dan No Sql

Distributed Computing 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.

Grid Computing adalah kombinasi sumber daya komputer dari beberapa domain administrasi untuk mencapai tujuan bersama. komputasi Grid (atau penggunaan dari komputasi grid) adalah menerapkan sumber daya dari banyak komputer dalam jaringan untuk masalah tunggal pada saat yang sama – biasanya untuk masalah ilmiah atau teknis yang memerlukan sejumlah besar siklus pengolahan komputer atau akses ke besar jumlah data.

Cloud computing adalah teknologi yang menggunakan internet dan server remote sentral dalam menjaga data dan aplikasi. Cloud komputasi memungkinkan konsumen dan bisnis untuk menggunakan aplikasi tanpa instalasi dan mengakses file pribadi mereka di setiap komputer dengan akses internet. Teknologi ini memungkinkan komputasi yang jauh lebih efisien dengan memusatkan penyimpanan, memori, pengolahan dan bandwidth.

Grid Computing
Mengumpulkan sumber daya komputer. komputasi Grid, atau hanya grid, adalah istilah generik yang diberikan kepada teknik dan teknologi yang dirancang untuk membuat kolam sumber daya komputer terdistribusi tersedia on-demand. Komputasi grid pada awalnya dipahami oleh para ilmuwan penelitian sebagai cara untuk menggabungkan komputer di jaringan untuk membentuk sebuah superkomputer didistribusikan untuk mengatasi perhitungan kompleks. Dalam dunia komersial, bertujuan grid untuk memaksimalkan pemanfaatan sumber daya komputasi suatu organisasi dengan membuat mereka shareable berbagai aplikasi (kadang-kadang disebut virtualisasi) dan, berpotensi, menyediakan komputasi on demand kepada pihak ketiga sebagai layanan utilitas. Bila digunakan dengan spesifikasi seperti WSRF dan WS-Pemberitahuan, sumber daya grid dapat muncul sebagai layanan web dalam arsitektur berorientasi layanan.

Distributed Computing
Komputasi terdistribusi merupakan bidang ilmu komputer yang mempelajari sistem terdistribusi. Sebuah sistem terdistribusi terdiri dari beberapa otonom komputer yang berkomunikasi melalui jaringan komputer . Komputer yang saling berinteraksi untuk mencapai tujuan bersama. Sebuah program komputer yang berjalan dalam sistem terdistribusi disebut program didistribusikan, dan didistribusikan program adalah proses penulisan program tersebut. Komputasi terdistribusi juga mengacu pada penggunaan sistem terdistribusi untuk memecahkan masalah komputasi. Dalam komputasi terdistribusi, masalah dibagi menjadi tugas banyak, setiap yang diselesaikan oleh satu komputer.

Cloud Computing
Cloud computing adalah internet berbasis komputer , dimana berbagi sumber daya, perangkat lunak dan informasi yang diberikan kepada komputer dan perangkat lain sesuai permintaan, utilitas publik seperti. Sebagian besar infrastruktur komputasi awan terdiri dari layanan yang handal disampaikan melalui data center dan dibangun pada server. Awan sering muncul sebagai titik akses tunggal untuk menghitung semua konsumen kebutuhan. Commercial penawaran komersial biasanya diharapkan untuk memenuhi kualitas layanan (QoS) persyaratan pelanggan dan biasanya menawarkan SLA.


Virtualisasi adalah sebuah teknik yang saat ini banyak diterapkan untuk memenuhi kebutuhan TI yang semakin tinggi namun diikuti dengan tuntutan untuk mengefisiensikan biaya yang digunakan semaksimal mungkin.  Virtualisasi adalah teknologi yang telah diterapkan secara luas saat ini dengan dampak peningkatan operasional dan finansial yang positif. Virtualisasi adalah konsep dimana akses ke sebuah hardware seperti server diatur sehingga beberapa operating system (guest operation system) dapat berbagi sebuah hardware.  Tujuan dari virtualisasi adalah kinerja tingkat tinggi, ketersediaan, keandalan, ketangkasan, atau untuk membuat dasar keamanan dan manajemen yang terpadu.
Virtualisasi memungkinkan kita untuk berbagi hardware untuk digunakan beberapa sistem operasi. Virtualisasi dapat membuat sebuah tempat penyimpanan tunggal yang besar terlihat menjadi beberapa tempat penyimpanan dengan ukuran yang lebih kecil.

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. 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.
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.
NoSQL adalah istilah untuk menyatakan berbagai hal yang didalamnya termasuk database sederhana yang berisikan key dan value seperti Memcache, ataupun yang lebih canggih yaitu non-database relational seperti MongoDB, Cassandra, CouchDB, dan yang lainnya.
Wikipedia menyatakan NoSQL adalah sistem menejemen database yang berbeda dari sistem menejemen database relasional yang klasik dalam beberapa hal. NoSQL mungkin tidak membutuhkan skema table dan umumnya menghindari operasi join dan berkembang secara horisontal. Akademisi menyebut database seperti ini sebagai structured storage, istilah yang didalamnya mencakup sistem menejemen database relasional.

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. Penjelasan lebih mengenai NoSQL database akan dijelaskan pada sub bab dibawah ini.
Database NoSQL, juga disebut Not Only SQL, adalah sebuah pendekatan untuk pengelolaan datadan desain database yang berguna untuk set yang sangat besar data terdistribusi. NoSQL, yang mencakup berbagai teknologi dan arsitektur, berusaha untuk memecahkan masalah skala bilitas 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 melarangbahasa 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 tupel.


Sumber :

Parallelism Concept, Distributed Processing, Architectural Parallel Computer, Pengantar Thread Programming, Pengantar Massage Passing, OpenMP, Pengantar Pemrograman CUDA GPU.

Pemrograman CUDA GPU CUDA adalah platform komputasi paralel dan model pemrograman yang dikembangkan oleh Nvidia untuk komputasi umum pa...