Tugas mata kuliah Universitas Gunadarma, Softskill, jurusan Teknik Informatika, semester 8. Distributed Processing, Algoritma Shor, NOSQL Database, Arsitektur Paralel Komputer.
TUGAS
SOFTSKILL
KELOMPOK ( INDIVIDU )
NAMA
|
NPM
|
MATERI
|
ANDI SUGANDI
|
51414060
|
DISTRIBUTED PROCESSING
|
FEBRIZKY RAMADANI
|
54414128
|
ALGORITMA SHOR
|
NUR SEPTA ADIYASA
|
51414060
|
NOSQL DATABASE
|
SYAIFUL FAJRIPAMA
|
5A414588
|
ARSITEKTUR PARALEL KOMPUTER
|
Dosen : Lely Prananingrum, SKom.MMSI
FAKULTAS TEKNOLOGI INDUSTRI
JURUSAN TEKNIK INFORMATIKA
UNIVERSITAS GUNADARMA
2018
DISTRIBUTED PROCESSING
-Andi
Sugandi
Distributed
Processing yaitu mengerjakan semua proses pengolahan data secara bersama antara
komputer pusat dengan beberapa komputer yang lebih kecil dan saling dihubungkan
melalui jalur komunikasi. Setiap komputer tersebut memiliki prosesor mandiri
sehingga mampu mengolah sebagian data secara terpisah, kemudian hasil
pengolahan tadi digabungkan menjadi satu penyelesaian total. Jika salah satu
prosesor mengalami kegagalan atau masalah yang lain akan mengambil alih
tugasnya.
Tujuan
lain yang ingin dicapai dalam komputasi terdistribusi adalah transparansi.
Kenyataan bahwa sumber daya yang dipakai oleh pengguna sistem terdistribusi
berada pada lokasi fisik yang terpisah, tidak perlu diketahui oleh pengguna
tersebut.
Transparansi
ini memungkinkan pengguna sistem terdistribusi untuk melihat sumber daya yang
terpisah tersebut seolah-olah sebagai satu sistem komputer tunggal, seperti
yang biasa digunakannya. Dalam prosesnya setiap komputer berinteraksi satu sama
lain untuk mencapai tujuan bersama.
A.
Distributed data processing
Merupakan
sekumpulan peralatan pemrosesan yang saling terhubung melalui jaringan yang
mengerjakan tugas-tugas tertentu.
Pemrosesan terdistribusi
dapat dikelompokan berdasarkan beberapa kriteria :
1.
Struktur antar hubungan
2.
Kesaling tergantungan
komponen-komponen.
3. Keselarasan
antar komponen.
B.
Distributed database system
Merupakan
sekumpulan database yang saling terhubung secara logical dan secara fisik
terdistribusi pada berbagai tempat melalui jaringan computer.
Sistem
yang mengelola database terdistribusi dan menyediakan mekanisme agar distribusi
transparent adalah distributed database management system (DDBMS).
Ciri – ciri Distributed
database system :
1.
Data disimpan pada sejumlah
tempat. Setiap tempat secara logic terdiri dari processor tunggal.
2.
Processor pada tempat yang
berbeda tersebut dihubungkan dengan jaringan computer.
3.
Bukan sekumpulan file yang
berada pada berbagai tempat tetapi merupakan database pada berbagai tempat.
4. Setiap
tempat mempunyai kemampuan untuk mandiri memproses permintaan user yang
membutuhkan akses kedata ditempat tersebut, dan juga mampu untuk memproses data
yang tersimpan di tempat lain
Keuntungan dan Kelemahan
Distributed database system
Ø Keuntungan
:
1.
Pengelolaan secara
transparan data terdistribusi dan replicated.
2.
Meningkatkan ketersediaan
data
3.
Meningkatkan kehandalan
4. Memudahkan
pengembangan system
Ø Kelemahan
:
1. Kompleksitas
manajemen
2. Control
integritas lebih sulit
3. Biaya
pengembangan
4. Menambahkan
kebutuhan penyimpanan
5. Menambah
biaya pelatihan.
ALGORITMA SHOR
-Febrizky
Ramadani
Algoritma Shor merupakan
algoritma kuantum yang ditemukan oleh Peter Shor pada tahun 1995. Algoritma ini
pada dasarnya adalah bagaimana cara menghitung faktorisasi dari bilangan yang
besar.
Algoritma Shor adalah
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.
Efisiensi algoritma Shor
adalah karena efisiensi kuantum Transformasi Fourier , dan modular
eksponensial. Jika sebuah komputer kuantum dengan jumlah yang memadai qubit
dapat beroperasi tanpa mengalah kebisingan dan fenomena interferensi kuantum
lainnya, algoritma Shor dapat digunakan untuk memecahkan kriptografi kunci
publik skema seperti banyak digunakan skema RSA. Algoritma Shor terdiri dari
dua bagian:
– Penurunan yang bisa dilakukan pada
komputer klasik, dari masalah anjak untuk masalah ketertiban -temuan.
– Sebuah algoritma kuantum
untuk memecahkan masalah order-temuan.
Hambatan runtime dari
algoritma Shor adalah kuantum eksponensial modular yang jauh lebih lambat
dibandingkan dengan kuantum Transformasi Fourier dan pre-/post-processing
klasik. Ada beberapa pendekatan untuk membangun dan mengoptimalkan sirkuit
untuk eksponensial modular. Yang paling sederhana dan saat ini yaitu pendekatan
paling praktis adalah dengan menggunakan meniru sirkuit aritmatika konvensional
dengan gerbang reversibel , dimulai dengan penambah ripple-carry. Sirkuit
Reversible biasanya menggunakan nilai pada urutan n ^ 3, gerbang untuk n qubit.
Teknik alternatif asimtotik meningkatkan jumlah gerbang dengan menggunakan
kuantum transformasi Fourier , tetapi tidak kompetitif dengan kurang dari 600
qubit karena konstanta tinggi.
Sebagai contoh Algoritma Shor yang paling sederhana adalah
menemukan faktor-faktor untuk
bilangan 15, di mana membutuhkan sebuah komputer kuantum
dengan tujuh qubit. Para ahli
kimia mendesain dan menciptakan sebuah molekul yang memiliki tujuh
putaran nukleus. Nukleus dari lima atom fluorin dan dua atom karbon yang dapat
berinteraksi satu dengan yang lain sebagai qubit, dapat diprogram dengan
menggunakan denyut-denyut frekuensi
radio dan dapat dideteksi melalui peralatan resonansi magnetis nuklir (nuclear magnetic resonance,
atau NMR) yang mirip dengan yang banyak digunakan di rumah-rumah sakit dan
laboratorium-laboratorium kimia.
NoSQL DATABASE
-Nur
Septa Adiyasa
1. Pengertian NoSQL
Database
NoSQL adalah jenis
basis data yang tidak menggunakan perintah SQL dalam memanipulasi (menyimpan
maupun mengambil data) basis data tersebut. Kebanyakan basis data NoSQL
digunakan dalam dunia aplikasi web waktu nyata (real-time web app).
Berbeda dengan basis data SQL dimana meskipun berbeda-beda pembuat namun cara
kerja maupun cara penggunaannya relatif sama. Contohnya sama-sama menggunakan
tabel yang dihubungkan oleh relasi-relasi, manipulasi data dengan bahasa SQL,
dsb. Basis data NoSQL bisa sangat berbeda satu sama lain.
2. Pengelompokan
Database NoSQL
Secara umum, database NoSQL
dibagi menurut format penyimpanan dokmentnya . Berikut ini adalah pengelompokan
database NoSQL berdasarkan model (penyimpanan) datanya.
1. Key-Value based (disimpan dalam bentuk
kunci-isi berpasangan)
Data disimpan
dalam bentuk key value data array.
Contoh database jenis ini adalah Apache Cassandra.
2. Document based (disimpan dalam
dokumen-dokumen)
Setiap suatu objek
data disimpan dalam satu dokumen2 sendiribisa terdiri dari key value,dan value
sendiri bisa berupa array atau key value bertingkat. Contohnya MongoDB,
seiap satu object data disimpan dalam satu dokumen. Dokumen sendiri bisa
terdiri dari key-value, dan value sendiri bisa berupa array atau key-value
bertingkat.
3. Object based (disimpan dalam bentuk objek)
Data disimpan
dalam bentuk objek2. Contoh : DB40
4. Graph based (disimpan dalam bentuk graf)
Data disimpan
dalam bentuk graph dan biasanya sering dipakai untuk jenis aplikasi sosial
media.Contoh database noSQL dengan format ini adalah Neo4J dan FlockDB. FlockDB
dipakai oleh twitter.
3. Jenis Basis Data NoSQL
1. MongoDB
MongoDB merupakan basis data yang paling
populer diantara basis data NoSQL lainnya. Hal ini dikarenakan pemasangan
maupun penggunaan mongoDB tidaklah sulit atau merepotkan penggunanya. Selain
itu mongoDB juga merupakan salah satu basis data yang open source sehingga
pengembangan mongoDB sendiri cukup pesat karena setiap orang bisa
berpartisipasi untuk mengembangkannya. MongoDB merupakan basis data NoSQL
yang document based. Ia menyimpan data-datanya dalam suatu
dokumen JSON yang disebut BSON (Binary JSON).
Dikembangkan sejak tahun 2009,
mongoDB sekarang telah mendukung hampir semua bahasa pemrograman untuk dapat
berinteraksi dengan mongoDB. Tak hanya bahasa pemrograman, beragam framework
terkenal pun sudah dapat menggunakan mongoDB untuk menyimpan datanya sehingga
kita tidak akan kesulitan untuk mengintegrasikan aplikasi yang kita buat dengan
basis data ini.
2. CouchDB
Apache CouchDB, biasa disebut
dengan CouchDB saja, merupakan basis data NoSQL yang dikembangkan oleh Apache.
CouchDB lebih dulu muncul jauh sebelum mongoDB yaitu pada tahun 2005. CouchDB
tidak menyimpan datanya dalam tabel melainkan dalam dokumen seperti halnya
mongoDB. Basis data ini juga merupakan proyek open source serta
dikembangkan dalam bahasa pemrograman Erlang oleh karena itu kita bisa ikut
berkontribusi dalam pengembangan CouchDB agar basis data ini lebih baik.
3.
Cassandra
Cassandra merupakan
sebuah sistem penyimpanan data terdistribusi untuk menangani jumlah data yang
sangat besar dan terstruktur. Cassandra juga dikembangkan Apache, pengembang
yang sama untuk basis data CouchDB. Kemampuan Cassandra dalam menyimpan data
dengan jumlah yang sangat besar tidak diragukan lagi, puluhan perusahaan besar
telah mempercayakan Cassandra sebagai salah satu penunjang kerja mereka
diantaranya:
1. Facebook
2. Digg
3. IBM
4. Reddit
5. Rackspace
6. CERN
7. Apple
8. Twitter
Cassandra juga merupakan aplikasi open source yang ditulis dalam
bahasa Java dengan lisensi Apache License 2.0. Untuk memproses datanya,
Cassandra menggunakan bahasa sendiri yang mirip dengan SQL yaitu Cassandra
Query Language (CQL).
4.
Redis
Redis merupakan basis
data berbasis key-value paling populer menurut situs DB-Engines.com. Redis merupakan singkatan dari
REmote DIctionary Server. Basis data ini dikembangkan oleh Salvatore Sanfilippo pada tahun 2009 dan
ditulis dalam bahasa C. Redis banyak dipilih karena memiliki fitur in-memory,
networked, dan durabilitas tinggi.
Redis mendukung banyak bahasa pemrograman
seperti ActionScript, C/C++, C#, Clojure, Common LIsp, Dart, Erlang, Go,
Haskell, Haxe, Io, Java, JavaScript (Node.js), Lua, Objective-C, Perl, PHP,
Pure Data, Python, R, Ruby, Scala, Smalltalk, dan Tcl.
5.
Riak
Riak merupakan basis
data NoSQL terdistribusi yang menyimpan datanya dalam bentu key-value.
Riak menawarkan fitur high availability, fault tolerance, operational
simplicaity, dan scalability. Riak memiliki dua versi
yakni Open source edition dan Enterprise edition. Enterprise edition menawarkan
dukungan berbayar intensif dari pengembangnya. Pengguna Open source edition
dapat bermigrasi kapan saja ke Enterprise edition jika dibutuhkan.
Erlang ditulis dalam
bahasa pemrograman Erlang dengan lisensi Apache License 2.0. Rilis pertama Riak
muncul pada tanggal 17 Agustus 2009 (bertepatan dengan 64 tahun Indonesia
merdeka). Basho Technologies merupakan
perusahaan yang mengembangkan Riak.
6.
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.
Dalam menambahkan maupun
mengambil data, Neo4j memiliki bahasa sendiri yang disebut Cypher. Neo4j
ditulis dalam bahasa Java dengan lisensi GPL V3 oleh Neo Technologies artinya Neo4j
termasuk basis data yang open source.
7.
OrientDB
OrientDB merupakan basis
data graf terdistribusi generasi kedua. Basis data ini dibuat dalam bahasa Java
oleh Orient
Technologies LTD dan dirilis pertama kali tahun 2010. OrientDB
diklaim sangat cepat dan mampu menyimpan 220.000 record per detik diperangkat
standar.
OrientDB menawrkan dua edisi yakni Community
Edition yang tersedia secara gratis dan Enterprise Edition yang merupakan
aplikasi komersial dikembangkan oleh tim yang sama yang mengembangkan engine
OrientDB.
OrientDB dapat digunakan bersama JavaScript,
.NET, node.js, php, Scala, Ruby, Python, C, Clojure, Java, dan Perl.
4. 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.
5. Kekurangan NoSQL
1.
Membutuhkan
storage yang lebih besar
2.
Membutuhkan tenaga yang terampil dalam
mengolah data
3.
Licensi perngkat lunak mahal
ARSITEKTUR PARALEL KOMPUTER
-Syaiful
Fajripama
Arsitektur Komputer
Paralel adalah kumpulan dari para pemroses (alat-alat yang memproses) yang
digunakan dalam pemecahan masalah besar. Ini diperlukan karena banyak hal,
diantaranya tuntutan aplikasi, trend teknologi, dan ekonomi. Realitas yang
terjadi saat ini ada beberapa kasus yang bersangkutan dengan arsitektur
parallel komputer, seperti: banyak mikroprosesor yang mendukung multiprosesor,
dan server dan workstation berasitektur multiprosesor.
Untuk menggunakan
arsitektur komputer parallel dibutuhkan infrastruktur mesin yang mana ada
sebuah perangkat lunak (bertindak sebagai middleware) yang menghubungkan banyak
komputer melalui jaringan, dan pemrograman parallel untuk merealisasikannya.
Tentunya ini berbeda
dengan multitasking, dimana multitasking adalah komputer tunggal mengeksekusi
beberapa perintah dalam waktu yang sama, sedangkan komputer parallel komputer
bersama-sama memecahkan masalah yang sama. Ada 4 model komputasi yang
digunakan, yaitu:
1.
SISD
Single Instruction,
Single Data adalah satu-satunya yang menggunakan arsitektur Von Neumann. Ini
dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu
model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga
model lainnya merupakan komputasi paralel yang menggunakan beberapa processor.
Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360,
CDC 7600, Cray 1 dan PDP 1.
2.
SIMD
Single Instruction,
Multiple Data. SIMD menggunakan banyak processor dengan instruksi yang sama,
namun setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin
mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita
menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau
perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1
mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2
mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk
processor-processor yang lain. 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 Instruction,
Single Data. MISD menggunakan banyak processor dengan setiap processor menggunakan
instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan
kebalikan dari model SIMD. Untuk contoh, kita bisa menggunakan kasus yang sama
pada contoh model SIMD namun cara penyelesaian yang berbeda. Pada MISD jika
pada komputer pertama, kedua, ketiga, keempat dan kelima sama-sama mengolah
data dari urutan 1-100, namun algoritma yang digunakan untuk teknik
pencariannya berbeda di setiap processor. Sampai saat ini belum ada komputer
yang menggunakan model MISD.
4.
MIMD
Multiple Instruction, Multiple
Data. MIMD menggunakan banyak processor dengan setiap processor memiliki
instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak komputer
yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa
komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer,
Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.
Singkatnya untuk
perbedaan antara komputasi tunggal dengan komputasi paralel, bisa digambarkan
pada gambar di bawah ini:
Penyelesaian Sebuah
Masalah pada Komputasi Tunggal
Penyelesaian Sebuah
Masalah pada Komputasi Paralel
Dari perbedaan kedua
gambar di atas, kita dapat menyimpulkan bahwa kinerja komputasi paralel lebih
efektif dan dapat menghemat waktu untuk pemrosesan data yang banyak daripada
komputasi tunggal.
Dari penjelasan-penjelasan di atas, kita bisa mendapatkan jawaban mengapa dan kapan kita perlu menggunakan komputasi paralel. Jawabannya adalah karena komputasi paralel jauh lebih menghemat waktu dan sangat efektif ketika kita harus mengolah data dalam jumlah yang besar. Namun keefektifan akan hilang ketika kita hanya mengolah data dalam jumlah yang kecil, karena data dengan jumlah kecil atau sedikit lebih efektif jika kita menggunakan komputasi tunggal.
Dari penjelasan-penjelasan di atas, kita bisa mendapatkan jawaban mengapa dan kapan kita perlu menggunakan komputasi paralel. Jawabannya adalah karena komputasi paralel jauh lebih menghemat waktu dan sangat efektif ketika kita harus mengolah data dalam jumlah yang besar. Namun keefektifan akan hilang ketika kita hanya mengolah data dalam jumlah yang kecil, karena data dengan jumlah kecil atau sedikit lebih efektif jika kita menggunakan komputasi tunggal.
REFERENSI
https://andynovawijaya.wordpress.com/tugas/tugas-study-kasus-distributed-accounting/
https://risanputtra.wordpress.com/2016/04/26/774/
https://syifaadeka.wordpress.com/2016/04/29/algoritma-shor/
http://irfandudin.blog.uns.ac.id/2015/12/19/nosql-database/
https://www.codepolitan.com/7-basis-data-nosql-populer
https://www.candra.web.id/pengantar-database-nosql-dan-mongodb/
https://sirajun-nasihin.blogspot.co.id/2016/10/keuntungankelebihannya-dan.html
http://student.blog.dinus.ac.id/ardi/2015/06/10/penjelasan-tentang-arsitektur-komputer-paralel/
No comments:
Post a Comment