Selasa, 16 Juni 2015

Tugas Softskill 2 & 3 (Pengantar Komputasi Modern)


Definisi Cloud Computing

Untuk memudahkan pemahaman mengenai model cloud computing kita ambil analogi dari layanan listrik PLN. Tentu kita semua adalah para pemakai listrik dalam kehidupan sehari-hari. Untuk bisa menikmati listrik, kita tidak perlu mendirikan infrastruktur pembangkit listrik sendiri, bukan? Yang perlu kita lakukan adalah mendaftar ke PLN karena PLN sudah menyediakan layanan listrik ini untuk pelanggan. Kalau Anda pernah melihat gardu induk PLN, Anda akan melihat bagaimana rumitnya instalasi listrik disana dengan banyak sekali transformator dan peralatan berat lainnya (Resource Pooling). Disinilah sumber daya listrik berpusat untuk kemudian didistribusikan ke pelanggan. Distribusi listrik ke pelanggan dari gardu induk ini menggunakan kabel listrik yang sudah distandarisasi. Kabel antara pembangkit listrik dengan gardu induk biasa dikenal dengan istilah SUTET (Saluran Udara Tegangan Ektra Tinggi). Dari gardu induk, distribusi kemudian dipecah ke gardu-gardu lain sampai akhirnya sampai di rumah pelanggan dengan kabel yang lebih kecil. Kabel listrik yang ada ini menjamin koneksi listrik yang cepat, sehingga layanan listrik bisa dinikmati terus menerus (Broad Network Access). Setelah mendaftar, pelanggan bisa memakai energi listrik dan membayar kepada PLN berdasarkan jumlah penggunaan listrik kita tiap bulan. Jumlah yang dibayar dihitung dari meteran listrik di rumah pelanggan (Measured Service). Saat pelanggan butuh daya tambahan karena suatu tujuan khusus (misalnya saat acara pernikahan keluarga), pelanggan tinggal meminta kepada PLN untuk menambahkan daya, dan suatu saat nanti ketika ingin menurunkan daya lagi, pelanggan tinggal meminta juga kepada PLN.
Bisa dikatakan penambahan daya listrik ini bersifat elastis, untuk menambah daya atau menurukannya bisa dilakukan segera (Rapid Elasticity). Akan sangat menarik jika kedepannya untuk melakukan penambahan/penurunan daya tersebut, pelanggan bisa melakukannya sendiri dari suatu alat yang disediakan oleh PLN., sehingga tidak dibutuhkan lagi interaksi dengan pegawai PLN (Self Service). Ketika memakai layanan listrik dari PLN, pelanggan tidak perlu pusing untuk memikirkan bagaimana PLN memenuhi kebutuhan listrik . Hal terpenting yang perlu diketahui adalah listrik menyala untuk kebutuhan sehari-hari, serta berapa tagihan listrik yang perlu dibayar tiap bulannya. Pelanggan tidak perlu mengetahui secara detail bagaimana PLN merawat infrastruktur listriknya, bagaimana ketika mereka ada kerusakan alat, bagaimana proses perawatan alat-alat tersebut, dsb. Intinya, pelanggan cukup tahu bahwa dapat menikmati listrik dan berkewajiban membayar biaya tersebut tiap bulannya, sedangkan PLN sendiri berkewajiban untuk memenuhi kebutuhan listrik pelanggannya. Nah, analogi PLN di atas adalah gambaran dari layanan Cloud Computing. Menurut NIST (National Institute of Standards and Technology), terdapat 5 karakteristik sehingga sistem tersebut disebut Cloud Computing, yaitu:

1. Resource Pooling Sumber daya komputasi (storage, CPU, memory, network bandwidth, dsb.) yang dikumpulkan oleh penyedia layanan (service provider) untuk memenuhi kebutuhan banyak pelanggan (service consumers) dengan model multi-tenant. Sumber daya komputasi ini bisa berupa sumber daya fisik ataupun virtual dan juga bisa dipakai secara dinamis oleh para pelanggan untuk mencukupi kebutuhannya.

2. Broad Network Access Kapabilitas layanan dari cloud provider tersedia lewat jaringan dan bisa diakses oleh berbagai jenis perangkat, seperti smartphone, tablet, laptop, workstation, dsb.

3. Measured Service Tersedia layanan untuk mengoptimasi dan memonitor layanan yang dipakai secara otomatis. Dengan monitoring sistem ini, kita bisa melihat berapa resources komputasi yang telah dipakai, seperti: bandwidth , storage, processing, jumlah pengguna aktif, dsb. Layanan monitoring ini sebagai bentuk transparansi antara cloud provider dan cloud consumer.

4. Rapid Elasticity Kapabilitas dari layanan cloud provider bisa dipakai oleh cloud consumer secara dinamis berdasarkan kebutuhan. Cloud consumer bisa menaikkan atau menurunkan kapasitas layanan. Kapasitas layanan yang disediakan ini biasanya tidak terbatas, dan service consumer bisa dengan bebas dan mudah memilih kapasitas yang diinginkan setiap saat.

5. Self Service Cloud Consumer bisa mengkonfigurasikan secara mandiri layanan yang ingin dipakai melalui sebuah sistem, tanpa perlu interaksi manusia dengan pihak cloud provider. Konfigurasi layanan yang dipilih ini harus tersedia segera dan saat itu juga secara otomatis.

Kelima karakteristik Cloud Computing tersebut harus ada di service provider jika ingin disebut sebagai penyedia layanan Cloud Computing. Salah satu saja dari layanan tersebut tidak terpenuhi, maka penyedia layanan tersebut belum/tidak pantas disebut sebagai cloud provider.

APA ITU VIRTUALISASI & CLOUD COMPUTING
Virtualisasi bisa diartikan sebagai pembuatan suatu bentuk atau versi virtual dari
sesuatu yang bersifat fisik, misalnya sistem operasi, perangkat
storage/penyimpanan data atau sumber daya jaringan.
Virtualisasi bisa diimplementasikan kedalam berbagai bentuk, antara lain (Harry
Sufehmi, Pengenalan Virtualisasi, 20090607):
1. Network Virtualization : VLAN, Virtual IP (untclustering), Multilink
2. Memory Virtualization : pooling memory dari node-node di cluster
3. Grid Computing : banyak komputer = satu
4. Application Virtualization : Dosemu, Wine
5. Storage Virtualization : RAID, LVM
6. Platform Virtualization : virtual computer
Pembahasan kali ini akan menitikberatkan pada materi platform virtualization alias
virtualisasi komputer dan sistem operasi.
Cloud Computing adalah sistem komputerisasi berbasis jaringan/internet, dimana
suatu sumber daya, software, informasi dan aplikasi disediakan untuk digunakan
oleh komputer lain yang membutuhkan.
Mengapa konsep ini bernama komputasi awan atau cloud computing? Ini karena
internet sendiri bisa dianggap sebagai sebuah awan besar (biasanya dalam skema
network, internet dilambangkan sebagai awan) yang berisi sekumpulan besar
komputer yang saling terhubung, jadi cloud computing bisa diartikan sebagai
komputerisasi berbasis sekumpulan komputer yang saling terhubung.
Cloud computing bisa dianggap sebagai perluasan dari virtualisasi. Perusahaan bisa
menempatkan aplikasi atau sistem yang digunakan di internet, tidak mengelolanya
secara internal. Contoh cloud computing untuk versi public adalah layanan-layanan
milik Google seperti Google Docs dan Google Spreadsheet. Adanya kedua layanan
tersebut meniadakan kebutuhan suatu aplikasi office untuk pengolah kata dan
aplikasi spreadsheet di internal perusahaan.

Contoh cloud computing untuk keperluan non public adalah Amazon EC2 ( Amazon
Elastic Compute Cloud ). Amazon menyediakan komputer induk, kita bisa mengirim
dan menggunakan sistem virtual dan menggunakannya dalam jangka waktu dan
biaya sewa tertentu.

KEUNTUNGAN VIRTUALISASI & CLOUD COMPUTING
1) 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.

2) 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.

3) 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

4) Mengurangi Panas. Berkurangnya jumlah perangkat otomatis mengurangi
panasnya ruang server/data center. Ini akan berimbas pada pengurangan
biaya pendinginan/AC dan pada akhirnya mengurangi biaya penggunaan
listrik

5) Mengurangi Biaya Space. Semakin sedikit jumlah server berarti semakin
sedikit pula ruang untuk menyimpan perangkat. Jika server ditempatkan
pada suatu co-location server/data center, ini akan berimbas pada
pengurangan biaya sewa

6) Kemudahan Maintenance & Pengelolaan. Jumlah server yang lebih
sedikit otomatis akan mengurangi waktu dan biaya untuk mengelola. Jumlah
server yang lebih sedikit juga berarti lebih sedikit jumlah server yang harus
ditangani

7) Standarisasi Hardware. Virtualisasi melakukan emulasi dan enkapsulasi hardware sehingga proses pengenalan dan pemindahan suatu spesifikasi
hardware tertentu tidak menjadi masalah. Sistem tidak perlu melakukan
deteksi ulang hardware sebagaimana instalasi pada sistem/komputer fisik

8) Kemudahan Replacement. Proses penggantian dan upgrade spesifikasi
server lebih mudah dilakukan. Jika server induk sudah overload dan
spesifikasinya tidak mencukupi lagi, kita bisa dengan mudah melakukan
upgrade spesifikasi atau memindahkan virtual machine ke server lain yang
lebih powerful

KERUGIAN PENGGUNAAN VIRTUALISASI
1. 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

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

3. 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

Database pada Cloud Computing
Cloud database adalah database yang biasanya berjalan pada platform cloud computing.  Ada dua model penyebaran umum: pengguna dapat menjalankan database di atas cloud computing itu secara mandiri, menggunakan gambar mesin virtual, atau mereka dapat membeli akses ke layanan database, dikelola oleh penyedia cloud database. Dari database yang tersedia di cloud computing itu, beberapa SQL-based dan beberapa menggunakan model data NoSQL.

Komputasi Terdistribusi
   Komputasi cloud atau cloud computing merupakan gabungan pemanfaatan teknologi komputer dan internet.cloud atau awan disini adalah metafora dari internet yang dimana digambarkan dari sebuah infrastruktur kompleks suatu jaringan komputer yang disembunyikan sehingga pengguna dapat mengaksesnya lewat internet.selain itu menurut makalah tahun 2008 yang dipubilkasikan IEEE internet computing “cloud computing adalah suatu paradigma dimana informasi secara permanen tersimpan di server di internet dan secara sementara tersimpan di komputer pengguna”.
    Pada dasarnya dengan seiringnya maju teknologi maka kegiatan atau pekerjaan kita menjadi lebih mudah.komputasi terdistribusi sendiri memiliki arti mempelajari penggunaan terkoordinasi dari komputer yang secara fisik terpisah atau terdistribusi. Sistem terdistribusi membutuhkan softwere yang berbeda dengan sistem terpusat. Jadi,server data yang hadir dalam lautan awan, Anda dapat setiap saat Kapan, dan di mana saja untuk dengan aman dan nyaman untuk mengakses atau berbagi dengan orang lain. Cloud computing membuat Internet ke setiap pusat penyimpanan pusat data.
   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 crash, sistem lain tidak akan terpengaruh dan juga dapat menghemat biaya operasional karena tidak membutuhkan sumber daya (resourches).

NoSql
   NoSQL adalah istilah yang dikenal dalam teknologi komputasi untuk merujuk kepada kelas yang luas dari sistem manajemen basis data yang di identifikasikan dengan tidak mematuhi aturan pada model sistem manajemen basis data relasional yang banyak digunakan.
   NoSQL tidak dibangun terutama dengan table dan umumnya tidak menggunakan SQL untuk memanipulasi data, sehingga sering ditafsirkan sebagai “tidak hanya SQL”.
   Map Redudce dan NoSQL (Not Only SQL) adalah pemograman framework berguna untuk membantu user mengembangkan sebuah data yang ukurannya besar secara terdistribusi dan parallel. Dimana implementasi dalam cloud computing adalah membantu user dalam mendistribusikan data secara terdistribusi dan parallel dengan menggunakan internet sebagai perantara.
   Studi kasus mengunakan cloud computing, dizaman modern ini banyak sekali perusahaan perusahaan besar yang berada di jalur IT (menggunakan computer) menggunakan cloud computing (NAS) karna mempermudah dalam bekerja, mudah dalam mendapatkan data tanpa harus tatap muka terhadap pengirim, tidak harus menggunakan device seperti HDD eksternal atau FD dalam mengirim atau menerima data cukup menggunakan internet. 

Komputasi Grid
   Komputasi Grid adalah penggunaan sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis untuk memecahkan persoalan komputasi dalam skala besar.

Quantum Computation
Pengertian  Quantum Computing

     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.

 Sejarah singkat

    Pada tahun 1970-an pencetusan atau ide tentang komputer kuantum pertama kali muncul oleh para fisikawan dan ilmuwan komputer, seperti Charles H. Bennett dari IBM, Paul A. Benioff dari Argonne National Laboratory, Illinois, David Deutsch dari University of Oxford, dan Richard P. Feynman dari California Institute of Technology (Caltech).
    Feynman dari California Institute of Technology yang pertama kali mengajukan dan menunjukkan model bahwa sebuah sistem kuantum dapat digunakan untuk melakukan komputasi. Feynman juga menunjukkan bagaimana sistem tersebut dapat menjadi simulator bagi fisika kuantum.
    Pada tahun 1985, Deutsch menyadari esensi dari komputasi oleh sebuah komputer kuantum dan menunjukkan bahwa semua proses fisika, secara prinsipil, dapat dimodelkan melalui komputer kuantum. Dengan demikian, komputer kuantum memiliki kemampuan yang melebihi komputer klasik.
    Pada tahun 1995, Peter Shor merumuskan sebuah algoritma yang memungkinkan penggunaan komputer kuantum untuk memecahkan masalah faktorisasi dalam teori bilangan.
    Sampai saat ini, riset dan eksperimen pada bidang komputer kuantum masih terus dilakukan di seluruh dunia. Berbagai metode dikembangkan untuk memungkinkan terwujudnya sebuah komputer yang memilki kemampuan yang luar biasa ini. Sejauh ini, sebuah komputer kuantum yang telah dibangun hanya dapat mencapai kemampuan untuk memfaktorkan dua digit bilangan. Komputer kuantum ini dibangun pada tahun 1998 di Los Alamos, Amerika Serikat, menggunakan NMR (Nuclear Magnetic Resonance).

 Entanglement

     Entanglement adalah efek mekanik kuantum yang mengaburkan jarak antara partikel individual sehingga sulit menggambarkan partikel tersebut terpisah meski Anda berusaha memindahkan mereka. Contoh dari quantum entanglement: kaitan antara penentuan jam sholat dan quantum entanglement. Mohon maaf bagi yang beragama lain saya hanya bermaksud memberi contoh saja. Mengapa jam sholat dibuat seragam? Karena dengan demikian secara massal banyak manusia di beberapa wilayah secara serentak masuk ke zona entanglement bersamaan.

 Pengoperasian Data Qubit

     Komputer kuantum memelihara urutan qubit. Sebuah qubit tunggal dapat mewakili satu, nol, atau, penting, setiap superposisi quantum ini, apalagi sepasang qubit dapat dalam superposisi kuantum dari 4 negara, dan tiga qubit dalam superposisi dari 8. 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). Komputer kuantum yang beroperasi dengan memanipulasi qubit dengan urutan tetap gerbang logika quantum. Urutan gerbang untuk diterapkan disebut algoritma quantum.

     Sebuah contoh dari implementasi qubit untuk komputer kuantum bisa mulai dengan menggunakan partikel dengan dua putaran menyatakan: “down” dan “up”. Namun pada kenyataannya sistem yang memiliki suatu diamati dalam jumlah yang akan kekal dalam waktu evolusi dan seperti bahwa A memiliki setidaknya dua diskrit dan cukup spasi berturut-turut eigen nilai , adalah kandidat yang cocok untuk menerapkan sebuah qubit. Hal ini benar karena setiap sistem tersebut dapat dipetakan ke yang efektif spin -1/2 sistem.

 Algoritma pada Quantum Computing

     Para ilmuwan mulai melakukan riset mengenai sistem kuantum tersebut, mereka juga berusaha untuk menemukan logika yang sesuai dengan sistem tersebut. Sampai saat ini telah dikemukaan dua algoritma baru yang bisa digunakan dalam sistem kuantum yaitu algoritma shor dan algoritma grover.

    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 Grover

Algoritma Grover adalah sebuah algoritma kuantum yang menawarkan percepatan kuadrat dibandingkan pencarian linear klasik untuk list tak terurut. Algoritma Grover menggambarkan bahwa dengan menggunakan pencarian model kuantum, pencarian dapat dilakukan lebih cepat dari model komputasi klasik. Dari banyaknya algoritma kuantum, algoritma grover akan memberikan jawaban yang benar dengan probabilitas yang tinggi. Kemungkinan kegagalan dapat dikurangi dengan mengulangi algoritma. Algoritma Grover juga dapat digunakan untuk memperkirakan rata-rata dan mencari median dari serangkaian angka, dan untuk memecahkan masalah Collision.

 Implementasi Quantum Computing

     Pada 19 Nov 2013 Lockheed Martin, NASA dan Google semua memiliki satu misi yang sama yaitu mereka semua membuat komputer kuantum sendiri. Komputer kuantum ini adalah superkonduktor chip yang dirancang oleh sistem D – gelombang dan yang dibuat di NASA Jet Propulsion Laboratories.

     NASA dan Google berbagi sebuah komputer kuantum untuk digunakan di Quantum Artificial Intelligence Lab menggunakan 512 qubit D -Wave Two yang akan digunakan untuk penelitian pembelajaran mesin yang membantu dalam menggunakan jaringan syaraf tiruan untuk mencari set data astronomi planet ekstrasurya dan untuk meningkatkan efisiensi searchs internet dengan menggunakan AI metaheuristik di search engine heuristical.

     A.I. seperti metaheuristik dapat menyerupai masalah optimisasi global mirip dengan masalah klasik seperti pedagang keliling, koloni semut atau optimasi swarm, yang dapat menavigasi melalui database seperti labirin. Menggunakan partikel terjerat sebagai qubit, algoritma ini bisa dinavigasi jauh lebih cepat daripada komputer konvensional dan dengan lebih banyak variabel.

     Penggunaan metaheuristik canggih pada fungsi heuristical lebih rendah dapat melihat simulasi komputer yang dapat memilih sub rutinitas tertentu pada komputer sendiri untuk memecahkan masalah dengan cara yang benar-benar cerdas . Dengan cara ini mesin akan jauh lebih mudah beradaptasi terhadap perubahan data indrawi dan akan mampu berfungsi dengan jauh lebih otomatisasi daripada yang mungkin dengan komputer normal

Sumber
·         E-Book Pengantar Cloud Computing (Alex Budiyanto)
·         Panduan Virtualisasi  & Cloud Computing pada Sistem Linux (Masim “Vavai” Sugianto)
·         https://amoekinspirasi.wordpress.com/2014/05/15/pengertian-quantum-computing-dan-implementasinya/