Selasa, 17 April 2018

Introduction to Quantum Computation

Tugas Softskill Kelompok 3
Materi 3 Pengantar Quantum Computation
Nama Anggota :
Azhar Fauzani
M.Fakhri
Rahman Azis
Rega Yudha
Yandy Jahya

Introduction

Quantum Computation it self is a field of study that is focused on developing computer technology based on the principles of quantum theory, which explains the nature and behavior of energy and matter on quantum (atomic and subatomic) levels.
There is also Quantum Computer. Then what's the difference with Quantum Computer?
It is a calculating tool that uses quantum mechanics such as superposition and interconnection, which is used for data operations. The calculation of the amount of data in classical computing is calculated with bits, while calculating the amount of data on quantum computers is done with qubit. The basic principle of quantum computers is that the quantum properties of particles can be used to represent data and data structures, and that quantum mechanics can be used to perform operations with this data. In this case to develop a computer with a quantum system required a new logic in accordance with quantum principles.

Operation of Qubit Data

A qubit is the basic unit of information in a quantum computer. While few can represent just one of two possibilities such as 0/1, yes / no, the qubit can represent more: 0/1, 1 and 0, the probability of occurrence at any time combined with more qubits, and all that simultaneously. In general quantum computers with qubit n can be in arbitrary superposition of up to 2 n different states simultaneously (this is compared to a normal computer that can only be in one state n 2 at a time).
To manipulate a qubit, then use Quantum Gates (Quantum Gate). The way it works is that a quantum gate works similar to a classical logic gate. The classical logical gate takes the bit as input, evaluates and processes the input and generates the new bit as output.

Quantum Gates

Quantum Gates / Quantum Gates is a logic / gate logic rule that applies to quantum computing. The working principle of quantum gates is almost the same as logic gates on digital computers. If on a digital computer there are some logical operations such as AND, OR, NOT, on quantum computing quantum gates composed of several qubits, so that quantum gates is harder to calculate than logic on digital computers.
Example of Quatum Gate :
https://www.youtube.com/watch?v=0XJp3akoocY&feature=youtu.be

Shor’s Algorithm

The algorithm invented by Peter Shor in 1995. By using this algorithm, a quantum computer can decode a secret code that is currently commonly used to secure data transmission. Code called RSA code, if encoded through the RSA code, the data sent will be safe because the RSA code can not be solved in a short time. In addition, RSA code splitting requires the work of thousands of computers in parallel so that the work of solving it is not effective.
Shor's algorithm depends on the result of number theory. These results are: periodic function. In the context of the Shor algorithm, n will be the number to be factored into. If the two numbers are coprime it means that the divisor is generally 1. The calculation of this function is for the exponential number, than it will take the exponential time on the classical computer. Shor's algorithm utilizes quantum parallelism to perform an exponential number of operations in one step.
Example of Shor's Algorithm :
https://youtu.be/zSmHXpVK6EA

About Quantum Gates dan Shor’s Algorithm

About the quantum gates and the shor algorithm, the Shor algorithm is based on a number theory: the function F (a) = xamod n is a periodic function if x is a relatively prime integer with n. In the Shor Algorithm, n will be an integer that wants to be factored. Calculating this functionality in a conventional computer for an exponential number will require an exponential time as well. On this issue the quantum shor algorithm utilizes quantum parallelism to do so in just one step. Since F (A) is a periodic function, then this function has a period r. Given x0mod n = 1, then xr mod n = 1, so is x2r mod n and so on
.
Entanglement

After a little understanding what is quantum computation and quantum computer we will enter the discussion of Entanglement. Entanglement itself is still part of Quantum Computation. What is Entanglement? Entanglement is a quantum mechanical theory that describes how quickly and how strongly the connected particles of a Quantum computer are where if a particle is treated "A" it will give an "A" effect to other particles as well.
There is also another understanding of Entanglement according to Albert Einstein's "Quantum Entanglement" in term "Remote Wizarding" which is the basic nature of quantum mechanics. Entanglement allows quantum information to spread over tens of thousands of kilometers, and is only limited by how fast and how many entanglement pairs can work in space. From the source I get from the internet: [Quantum entanglement] is a phenomenon that connects two particles in such a way that the changes that occur in one particle are instantly reflected in other particles, although physically may be among them apart several light years.

source :

https://amoekinspirasi.wordpress.com/2014/05/15/pengertian-quantum-computing-dan-implementasinya/ with translate
https://pandyapriyandi.blogspot.co.id/2016/04/pengoperasian-data-qubit-quantum-gates.html with translate

Senin, 12 Maret 2018

Pengantar Komputasi Modern

Nama  : Azhar Fauzani

NPM   : 51414916


Kelas   : 4IA22
Hasil gambar untuk komputasi grid


1.    Pengantar Komputasi GRID


A.    Pengertian Grid Computing

          Grid Cmputing yaitu  sumber daya yang melibatkan banyak komputer yang terdistribusi secara terpisah secara geografis untuk memecahkan persoalan komputasi dalam skala yang besar besar.

Grid computing juga merupakan cabang dari distributed computing.Grid komputer yang punya perbedaan yang menonjol dan biasa di pakai pada sisi infrastruktur dari penyelesaian suatu proses. Grid computing adalah suatu bentuk cluster (gabungan) komputer-komputer yang cenderung tak terikat batasan geografi. Di sisi lain, cluster selalu diimplementasikan dalam satu tempat dengan menggabungkan banyak komputer lewat jaringan.


B.    Konsep Grid Computing

 Beberapa konsep dasar dari grid computing :

1.     Sumber daya dikelola dan dikendalikan secara lokal.

2.     Sumber daya berbeda dapat mempunyai kebijakan dan mekanisme berbeda, mencakup Sumber daya komputasi dikelola oleh sistem batch berbeda, Sistem storage berbeda pada node berbeda, Kebijakan berbeda dipercayakan kepada user yang sama pada sumber daya berbeda pada Grid.

3.     Sifat alami dinamis: Sumber daya dan pengguna dapat sering berubah

4.     Lingkungan kolaboratif bagi e-community (komunitas elektronik, di internet)

5.     Tiga hal yang di-,sharing dalam sebuah sistem grid, antara lain : Resource, Network dan Proses. Kegunaan / layanan dari sistem grid sendiri adalah untuk melakukan high throughput computing dibidang penelitian, ataupun proses komputasi lain yang memerlukan banyak resource komputer. 


C.    Cara Kerja Grid Computing


Menurut tulisan singkat oleh Ian Foster ada check-list yang dapat digunakan untuk mengidentifikasi bahwa suatu sistem melakukan komputasi grid yaitu :

1.     Sistem tersebut melakukan koordinasi terhadap sumberdaya komputasi yang tidak berada dibawah suatu kendali terpusat. Seandainya sumber daya yang digunakan berada dalam satu cakupan domain administratif, maka komputasi tersebut belum dapat dikatakan komputasi grid.

2.     Sistem tersebut menggunakan standard dan protokol yang bersifat terbuka (tidak terpaut pada suatu implementasi atau produk tertentu). Komputasi grid disusun dari kesepakatan-kesepakatan terhadap masalah yang fundamental, dibutuhkan untuk mewujudkan komputasi bersama dalam skala besar. Kesepakatan dan standar yang dibutuhkan adalah dalam bidang autentikasi, otorisasi, pencarian sumberdaya, dan akses terhadap sumber daya.

3.     Sistem tersebut berusaha untuk mencapai kualitas layanan yang canggih, (nontrivial quality of service) yang jauh diatas kualitas layanan komponen individu dari komputasi grid tersebut.


D.    Contoh Grid Computing


A) Scientific Simulation

Komputasi grid diimplementasikan di bidang fisika, kimia, dan biologi untuk melakukan simulasi terhadap proses yang kompleks.


B) Medical Images

Penggunaan data grid dan komputasi grid untuk menyimpan medical-image. Contohnya adalah eDiaMoND project.


C) Computer-Aided Drug Discovery (CADD)

Komputasi grid digunakan untuk membantu penemuan obat. Salah satu contohnya adalah: Molecular Modeling Laboratory (MML) di University of North Carolina (UNC).



     E.    Kelebihan dan Kekurangan Grid Computing


·        Grid computing menjanjikan peningkatan utilitas, dan fleksibilitas yang lebih besar untuk sumberdaya infrastruktur, aplikasi dan informasi. Dan juga menjanjikan peningkatan produktivitas kerja perusahaan. Grid computing bisa memberi penghematan uang, baik dari sisi investasi modal maupun operating cost–nya dan beberapa hambatan yang dialami oleh masyarakat Indonesia dalam mengaplikasikan teknologi grid computing adalah sebagai berikut

·        Manajemen institusi yang terlalu birokratis menyebabkan mereka enggan untuk merelakan fasilitas yang dimiliki untuk digunakan secara bersama agar mendapatkan manfaat yan lebih besar bagi masyarakat luas.

·        Masih sedikitnya Sumber Daya Manusia yang kompeten dalam mengelola grid computing. Contonhya kurangnya pengetahuan yang mencukupi bagi teknisi IT maupun user non teknisi mengenai manfaat dari grid computing itu sendiri.


    2.    Virtualisasi

                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.


KEUNTUNGAN PENGGUNAAN VIRTUALISASI

·        Pengurangan Biaya Investasi Hardware. Investasi hardware dapat ditekan lebih rendah karena virtualisasi hanya mendayagunakan kapasitas yang sudah ada. Tak perlu ada penambahan perangkat komputer, server dan pheriperal secara fisik. Kalaupun ada penambahan kapasitas harddisk dan memori, itu lebih ditujukan untuk mendukung stabilitas kerja komputer induk, yang jika dihitung secara finansial, masih jauh lebih hemat dibandingkan investasi hardware baru.

·        Kemudahan Backup & Recovery. Server-server yang dijalankan didalam sebuah mesin virtual dapat disimpan dalam 1 buah image yang berisi seluruh konfigurasi sistem. Jika satu saat server tersebut crash, kita tidak perlu melakukan instalasi dan konfigurasi ulang. Cukup mengambil salinan image yang sudah disimpan, merestore data hasil backup terakhir dan server berjalan seperti sedia kala. Hemat waktu, tenaga dan sumber daya.

·        Kemudahan Deployment. Server virtual dapat dikloning sebanyak mungkin dan dapat dijalankan pada mesin lain dengan mengubah sedikit konfigurasi. Mengurangi beban kerja para staff IT dan mempercepat proses implementasi suatu sistem


KERUGIAN PENGGUNAAN VIRTUALISASI

·        Satu Pusat Masalah. Virtualisasi bisa dianalogikan dengan menempatkan semua telur didalam 1 keranjang. Ini artinya jika server induk bermasalah, semua sistem virtual machine didalamnya tidak bisa digunakan. Hal ini bisa diantisipasi dengan menyediakan fasilitas backup secara otomatis dan periodik atau dengan menerapkan prinsip fail over/clustering

·        Spesifikasi Hardware. Virtualisasi membutuhkan spesifikasi server yang lebih tinggi untuk menjalankan server induk dan mesin virtual didalamnya

·        Satu Pusat Serangan. Penempatan semua server dalam satu komputer akan menjadikannya sebagai target serangan. Jika hacker mampu menerobos masuk kedalam sistem induk, ada kemungkinan ia mampu menyusup kedalam server- server virtual dengan cara menggunakan informasi yang ada pada server induk


3.    Distribusi Computation dalam Cloud

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. Distributed computing terkait dengan system perangkat keras dan perangkat lunak yang memiliki lebih dari satu elemen pemrosesan atau storage element.


Pada cloud computing, penyimpanan data hanya dilakukan pada server utama, sehingga pengguna hanya dapat mengaksesnya tanpa harus mengetahui infrastruktur pembuatan aplikasinya. Hanya perlu interface software saja untuk mengakses server. Interface ini pada umumnya merupakan web browser yang tersedia dengan banyak pilihan dan tidak berbayar.


4.    Computing, Map Reduce dan NoSQL


          Pengertian Computing

               Computing adalah sistem pengolah informasi yang berbasiskan sistem komputer (Computer bases Information System) berupa jaringan sistem informasi (computer network) organisasional yang efisien, efektif, dan legal. Dalam hal ini, suatu sistem informasi merupakan perwujudan penerapan perkembangan teknologi informasi ke dalam suatu bentuk organisasional / organisasi perusahaan (bisnis)


Pengertian MapReduce

MapReduce merupakan sebuah konsep dimana data yang kontinue dipecah menjadi bagian data / komponen data kecil dan didistribusikan melalui mesin-mesin yang terhubung secara cluster. Bisa dibilang map reduce merupakan sebuah framework yang digunakan untuk mempercepat proses pengolahan data pada konsep cloud computing. 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.


          Pengertian NoSQL

          NoSQL singkatan dari Not Only SQL. NoSQL adalah sebuah konsep mengenai penyimpanan data non-relasional. Berbeda dengan model basis data relasional yang selama ini digunakan, NoSQL menggunakan beberapa metode yang berbeda-beda.


NoSQL sangat berguna pada data-data yang terus-menerus berkembang, dimana  data tersebut sangat kompleks sehingga sebuah database relational tidak lagi bisa mengakomodir. Salah satu bentuknya adalah ketika suatu data saling berhubungan satu sama lain, maka akan muncul proses duplikasi data. Dimana data saling memanggil ke beberapa permintaan, tambahan data baru, perubahan data, dan lain-lain dengan key yang sama. Karena faktor hubungan antar data yang sama terjadi terus-menerus, mendorong faktor redudansi data, data menjadi berlipat-lipat, dan pada akhirnya akan menyebabkan crash pada database berkonsep RDBMS.


5.   Keterkaitan NoSQL Database 

Berbeda dengan SQL Database, dari namanya saja sudah bisa ditebak bahwa nosql database adalah kebalikan dari sql database. Tidak relational / tanpa relation. Database nosql atau yang biasa disebut NoSQL database / cloud database merupakan penyimpanan data / database yang tidak terstruktur.

Nosql database tidak seperti sql database yang menggunakan tabel dalam penyusunan datanya, nosql database menggabungkan semua database tidak membedakan jenis2nya dan tanpa karakteristik umum. Tapi nosql database ini memiliki kecepatan yang super cepat dibanding dengan sql database, pencariannya lebih terfokus. Nosql sebetulnya tidak 100% menyimpan data dengan cara tidak terstruktur, terkadang ada miripnya dengan sql database dengan sedikit susunan pada saat2 tertentu.

Bedanya nosql database ini menyusun bagian didalam bagian lainnya (subset). Jadi setiap bagian akan memiliki beberapa bagian lagi didalamnya. Nosql ini cocok dan biasa digunakan untuk penyimpanan aplikasi atau data yang sangat besar. Karena dengan menggunakan nosql data dapat diakses dengan sangat fleksibel dan sangat sedikit kemungkinan error ketika mengakses banyak data dengan format yang berbeda-beda.


Kelebihan NoSQL 

1.     NoSQL bisa menampung data yang terstruktur, semi terstruktur dan tidak terstuktur secara efesien dalam skala besar (big data/cloud).

2.     Menggunakan OOP dalam pengaksesan atau manipulasi datanya.

3.     NoSQL tidak mengenal schema tabel yang kaku dengan format data yang kaku. NoSQL sangat cocok untuk data yang tidak terstruktur, istilah singkat untuk fitur ini adalah Dynamic Schema.

4.     Autosharding, istilah sederhananya, jika database noSQL di jalankandi cluster server (multiple server) maka data akan tersebar secara otomatis dan merata keseluruh server.


Kekurangan NoSQL

·         Hostingnya mahal. beberapa layanan di luar negeri mencharge biaya 100-200USD untuk hosting database noSQL.

·         Sulitnya mencari hosting Cpanel yang mendukung database MongoDB atau database noSQL lainnya.

·         karena bervariasinya produk dan format penyimpanan, berpindah antar satu produk database ke produk noSQL lainnya perlu waktu untuk belajar..



Beberapa software NoSQL


Neo4J

Neo4j merupakan basis data NoSQL dengan sistem graf. Apabila berurusan dengan basis data berbasis graf, maka Neo4j lah yang paling dikenal. Neo4j menyimpan relasi antar objek dalam struktur seperti graf, dimana setiap objek merujuk ke objek lainnya secara langsung.


OrientDB


OrientDB merupakan basis data graf terdistribusi generasi kedua. Basis data ini dibuat dalam bahasa Java oleh Orient Technologies  dan dirilis pertama kali tahun 2010. OrientDB diklaim sangat cepat dan mampu menyimpan 220.000 record per detik diperangkat standar.




SUMBER : 
http://febbri-grunge.blogspot.co.id/2015/06/komputasi-grid-grid-computing.html
https://www.excellent.co.id/product-services/vmware/keuntungan-teknologi-virtualisasi-cloud-computing/
https://putrinurani94.wordpress.com/2016/03/25/mapreduce-dan-nosql/
https://rizki08.wordpress.com/2014/05/09/distributed-computation-dalam-cloud-computing/
http://putrifebiani.blogspot.co.id/2014/05/map-reduce-dan-nosql.html
https://www.codepolitan.com/7-basis-data-nosql-populer
https://www.candra.web.id/pengantar-database-nosql-dan-mongodb/