Kamis, 12 Juli 2018

Pengantar Komputasi Modern Tugas 4


Kumpulan Soal Pilihan Ganda
Tugas  4 Softskill



1. Dalam Komputasi Modern menghitung dan mencari solusi masalah yang ada , dan perhitungan yang dilakukan meliputi?
A. Akurasi                           C. Matematika
B. Fisika                              D. Algoritma

2. Jenis Jenis komputasi modern, kecuali ?
A. Mobile Computing               C. Cloud Computing
B. Grid Computing                    D. Lyx Computing

3. Berikut ini adalah pengelompokan database noSQL berdasarkan model (penyimpanan) datanya?
A. Graph  Databases                  C. Audio
B. Video                                   D. Animasi

4. noSQL mengelompokan database noSQL ke dalam beberapa kategori, kecuali?
A. Document  store                   C. Lyx 
B.Graph database                      D. Grid & Cloud database

  5. Cara untuk menemukan pemecahan masalah/solusi dari data input dengan menggunakan suatu algoritma tertentu. Adalah pengertian dari…
   A. Proses Komputing             C. Algoritma dan Pemrograman  
   B. Komputasi Modern            D. Komputasi Tradisional 

   6. Microprocessor design termasuk dalam contoh ...
    A. Mobile Computing                  C. Benar Semua
    B. Cloud Computing                   D. Grid Computing

   7. Yang dapat digunakan untuk mengenali sistem komputasi grid adalah ?
  A. sistem untuk koordinat sumber daya komputasi tidak dibawah kendali pusat 
  B. Sistem tidak menggunakan standard dan protocol yang tertutup
  C. Sistem menggunakan standard dan protocol yang tertutup
  D. sistem untuk koordinat sumber daya komputasi dibawah kendali pusat

   8. Siapa yang memperkenalkan kembali NoSQL pada tahun 2009 ?
      A. Bill Gates              C. Johan Oskarsson
      B. Steve Jobs              D. Jeff Bezos

   9. Contoh dari salah satu multimodel databases..
      A. Oracle                    C. Netbeans
      B. CortexDB               D. VisualBasic

   10. Yang dapat digunakan untuk mengenali sistem komputasi grid adalah, kecuali ....
  A. sistem untuk koordinat sumber daya komputasi tidak dibawah kendali pusat 
  B. Sistem tidak menggunakan standard dan protocol yang tertutup
  C. Sistem menggunakan standard dan protocol yang tertutup
  D. sistem untuk koordinat sumber daya komputasi dibawah kendali pusat

11. Salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan adalah...
      A. Kompuatasi Paralel                      C. Komputasi Grid
      B. Salah Semua                                    D. Pemrosessan Paralel
12.  PC tradisional atau mainframe yang tua, yang hanya bisa melakukan single instruksi/tunggal merupakan contoh dari mesin…
     A. MISD                                                 C. SISD
     B. Salah Semua                                      D. SIMD
13.  Prosesor yang didedikasikan untuk render cepat dalam pemrosesan polygon baik itu texturing dan shading. Terdiri atas banyak core namun masih menggunakan arsitektur yang sederhana. Merupakan pengertian dari…
     A. CPU                                                   C. ROM
     B. GPU                                                  D. Ram
14. Komputer dengan beberapa elemen pemrosesan yang melakukan operasi yang sama pada beberapa titik data secara bersamaan disebut dengan…
     A.  SISD                                                   C. Benar Semua  
     B. SIMD                                                  D. Salah Semua

15.   SIMD dibagi menjadi beberapa bentuk lagi, yaitu…
     A.  Exclusive-Read, Exclusive-Write (EREW) SM SIMD
     B. Concurent-Read, Exclusive-Write (CREW) SM SIMD
     C. Exclusive-Read, Concurrent-Write (ERCW) SM SIMD  
     D. Benar semua


1
D
2
D
3
A
4
C
5
B
6
C
7
A
8
C
9
B
10
D
11
A
12
C
13
B
14
B
15
B







Senin, 25 Juni 2018

Pengantar Komputasi Modern # (Tugas 3)



Arsitektur Komputer Paralel
 
 
 
 
 
1. DEFINISI ARSITEKTUR KOMPUTER PARALEL
Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.

Arsitektur paralel diperlukan karena :
  •     Tuntutan aplikasi
  •     Trend Teknolog
  •     Trend Arsitekture
  •     Ekonomi
  •     Trend saat ini:
– Kebanyakan mikroprosesor sekarang ini mempunyai fasilitas untuk mendukung multiprosesor.
– Server dan workstation berarsitektur multiprosesor : Sun, SGI, DEC, COMPAQ!…
– Mikroprosesor yad (dan sekarang) adalah multiprosesor

Untuk melakukan berbagai jenis komputasi paralel diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk digunakan perangkat lunak pendukung yang biasa disebut middleware yang berperan mengatur distribusi antar titik dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.
Yang perlu diingat adalah komputasi paralel berbeda dengan multitasking. Pengertian multitasking adalah komputer dengan processor tunggal mengeksekusi beberapa tugas secara bersamaan. Walaupun beberapa orang yang bergelut di bidang sistem operasi beranggapan bahwa komputer tunggal tidak bisa melakukan beberapa pekerjaan sekaligus, melainkan proses penjadwalan yang berlakukan pada sistem operasi membuat komputer seperti mengerjakan tugas secara bersamaan. Sedangkan komputasi paralel sudah dijelaskan sebelumnya, bahwa komputasi paralel menggunakan beberapa processor atau komputer. Selain itu komputasi paralel tidak menggunakan arsitektur Von Neumann.

II.     TUJUAN PARALLEL PROCESSING

Tujuan utama dari pemrosesan paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan.

III.     JENIS-JENIS ARSITEKUR KOMPUTER PARALLEL




Sesuai taksonomi Flynn, seorang Designer Processor, Organisasi Prosesor dibagi menjadi 4 :
A.    SISD (Single Instruction Single Data Stream)
Arus Instruksi Tunggal dan Data Tunggal

B.    SIMD (Single Instruction Multiple Data Stream)
Arus Instruksi Tunggal dan Multiple Data

C.    MISD (Multiple Instruction Single Data Stream)
Arus Multiple Instruksi dan Data Tunggal

D.    MIMD (Multiple Instruction Multiple Data Stream)
Arus Multiple Instruksi dan Multiple Data




1.  Organisasi Prosesor SISD
  •     Prosesor tunggal
  •     Aliran instruksi tunggal
  •     Data disimpan dalam memori tunggal
  •     Uni-processor









 Keterangan:
CU      : Control Unit
IS        : Instruction Stream (Arus Instruksi)
PU      : Processing Unit (Unit Pengolah yang biasa disebut ALU)
DS      : Data Stream (Arus Data)
MU     : Memory Unit (Unit Memori)

2.   Single Instruction, Multiple Data Stream – SIMD
  •     Single machine instruction
  •     Mengontrol eksekusi secara simultan
  •     sejumlah elemen-elemen pengolahan
  •     Berdasarkan Lock-step
  •     Setiap pengolahan elemen memiliki hubungan dengan memori data
  •     Setiap instruksi dieksekusi pada kumpulan data yang berbeda oleh prosesor yang berbeda
  •     Prosesor Vector and array

SIMD dibagi menjadi beberapa bentuk yaitu :
  •  Exclusive-Read, Exclusive-Write (EREW) SM SIMD
  •  Concurent-Read, Exclusive-Write (CREW) SM SIMD
  •  Exclusive-Read, Concurrent-Write (ERCW) SM SIMD
  •  Concurrent-Read, Concurrent Write (CRCW) SM SIMD



  3.  Multiple Instruction, Single Data Stream – MISD

    Rangkaian dari data
    Dikirimkan ke kumpulan prosesor
    Setiap prosesor mengeksekusi urutan instruksi yang berbeda
    Belum pernah diimplementasikan (komesial)


  4.   Multiple Instruction, Multiple Data Stream- MIMD

    Kumpulan/sejumlah prosesor
    Mengeksekusi secara simultan urutan instruksi yang berbeda
    Kumpulan data yang berbeda
    SMP, Cluster and sistem NUMA

 


 IV.     KOMPONEN-KOMPONEN UTAMA

Sistem komputer paralel dibedakan dari cara kerja memorinya menjadi shared memory dan distributed memory. Shared memory berarti memori tunggal diakses oleh satu atau lebih prosesor untuk menjalankan instruksi sedangkan distributed memory berarti setiap prosesor memiliki memori sendiri untuk menjalankan instruksi.

Adapun komponen-komponen utama dari arsitektur komputer paralel cluster PC antara lain:

    Prosesor (CPU). Bagian paling penting dalam sistem, untuk multicore terdapat lebih dari satu core yang mengakses sebuah memori (shared memory).
    Memori. Bagian ini dapat diperinci lagi menjadi beberapa bagian penyusunnya seperti RAM, cache memory dan memori eksternal.
    Sistem Operasi. Software dasar untuk menjalankan sistem komputer.
    Cluster Middleware. Antarmuka antara hardware dan software.
    Programming Environment dan Software Tools. Software yang digunakan untuk pemrograman paralel termasuk software pendukungnya.
    User Interface. Software yang menjadi perantara hardware dengan user.
    Aplikasi. Software berisi program permasalahan yang akan diselesaikan.
    Jaringan. Penghubung satu PC (prosesor) dengan PC yang lain sehingga memungkinkan pemanfaatan sumberdaya secara simultan.

Singkatnya untuk perbedaan antara komputasi tunggal dengan komputasi paralel, bisa digambarkan pada gambar di bawah ini:

 

Rabu, 25 April 2018

Pengantar Komputasi Cloud ( NoSQL Database )


Pengertian NoSQL Database

NOSQL menurut Wikipedia adalah sistem menejemen database yang berbeda dari sistem menejemen database relasional yang klasik dalam beberapa hal. NOSQL mungkin tidak membutuhkan skema tabel dan umumnya menghindari operasi join dan berkembang secara horisontal. Akademisi menyebut databaseseperti ini sebagai structured storage, istilah yang didalamnya mencakup sistem menejemen database relasional. NOSQL adalah database generasi terbaru yang mengarahkan kepada database yang tidak berelasi (non-relational), dapat disebarkan kepada siapapun (open-source) dan berskala horisontal (horizontal scale).

Johan Oskarsson dari Last.fm memperkenalkan kembali istilah NOSQL pada awal 2009 ketika ia menyelenggarakan sebuah acara untuk membahas “Distributed Open Source dan Non-relational Database”. Nama berusaha untuk label munculnya peningkatan jumlah non-relasional, didistribusikan menyimpan data, termasuk kloning open source dari Google Bigtable/MapReduce dan Amazon Dynamo.
Berbeda dengan basis data SQL dimana meskipun berbeda-beda pembuat namun cara kerja NOSQL maupun cara penggunaannya relatif sama. Contohnya sama-sama menggunakan tabel yang dihubungkan oleh relasi-relasi, manipulasi data dengan bahasa SQL dan sb. Basis data NOSQL bisa sangat berbeda satu sama lain.
Sebagian besar sistem NOSQL pada masa awal tidak berusaha untuk memberikan atomicity, konsistensi, isolasi dan daya tahan jaminan, bertentangan dengan praktik yang berlaku di antara sistem databaserelasional. Namun di kemudian hari, beberapa database NOSQL dengan pembaruan terkini sudah mampu mengintegrasikan database yang non-relasional ke dalam bentuk database relasional sehingga dapat mempermudah pengguna yang masih belum akrab dengan bahasa standar yang diterapkan NOSQL.

Pengelompokan database noSQL

Secara umum, database noSQL dibagi menurut format penyimpanan dokmentnya . Berikut ini adalah pengelompokan database noSQL berdasarkan model (penyimpanan) datanya
·           Document Database 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.
·           Graph, Format penyimpanan data dalam struktur graph. Format ini sering dipakai untuk data yang saling berhubungan seperti jejaring social. Contoh database noSQL dengan format ini adalah Neo4J dan FlockDB. FlockDB dipakai oleh twitter.
·           Key – Value,  contoh database jenis ini adalah Apache Cassandra.
·           Object Database. Format database yang disimpan dalam object-object, Object disini sama dengan pengertian object di Pemrograman beroreintasi object, Contoh databasenya adalah Db4o.
·           Tipe lainnya adalah tabular, tuple store dan berbagai jenis lain yang tidak terlalu populer.

        Bersumber dari halaman resmi NOSQL (http://nosql-database.org), NOSQL mengelompokkan database NOSQL ke dalam beberapa kategori, yaitu

1.    Wide Column Store / Column Families
Contoh : Accumulo, Casssandra, Clouddata, ConcourseDB, Hadoop /Hbase, Hypertable, kdb+, dll.

2.    Document Store
Contoh : CouchDB, Couchbase, Clusterpoint, Elasticserach, Mark-Logic, MongoDB, OrientDB, dll.

3.    Key Value / Tuple Store
Contoh : Aerospike, BangDB, BerkeleyDB, Chordless, DynamoDB, GenieDB, LevelDB, Riak, Redis, Oracle NOSQL Database, Tarantool, dll.

4.    Graph Databases
Contoh : ArangoDB, OrientDB, Infinite Graph, Neo4J, OpenLink Virtuoso, Stardog, WhiteDB, dll.
5.    Multimodel Databases
Contoh : Alchemy DB, ArangoDB, CortexDB, Datomic,FoundationDB, OrientDB, WonderDB, dll.

6.    Object Databases
Contoh : db4o, GemStone/S, HSS DB, Magma, Objectivity, siaqodb, Star-counter, VelocityDB, Versant, ZODB.

7.    Grid & Cloud Database
Contoh : Crate Data, GigaSpaces, GemFire, Hazelcast, Coherence, Queplix, dll.

8.    Solutions XML Databases
Contoh : BaseX, EMC Documentum xDB, eXist, Qizx,Sedna,  dll.

9.    Multidimensional Databases
Contoh : Globals, GT.M, Inter-systems Cache, MiniM DB, SciDB, dll.

10. Multidivalue Databases
Contoh : Model204 DB, OpenInsight, OpenQM, Reality, U2, dll.

11. Event Sourcing
Contoh : Eventstore.

12. Time Series Databases
Contoh : Axibase.



Diantara banyak database NOSQL yang ada berdasarkan riset salah satu website pada Juli 2015 menunjukkan database NOSQL paling populer saat ini secara berurutan adalah MongoDBApache CassandraRedisSolrElasticSearchHBaseSplunkmemcached, dan Neo4j.
Terdapat tiga hal besar yang mempengaruhi perkembangan ini yaitu jumlah user yang banyak, jumlah data yang besar dan cloud computing. Dan dengan 3 hal besar diatas juga menjadikan sistem database harus mampu bergerak secara :

1.   Data harus bisa bergerak secara flexible,
2.   Harus mampu bergerak secara cepat dengan data dan user yang besar;
3.   Dan yang terakhir peningkatan performa untuk dapat memuaskan user yang menginginkan pengolahan data yang cepat.

Perbedaan SQL dengan NoSQL

1)        Karena basisdata SQL bersifat relasional, dari sinilah asal nama sistem manajemen basisdata relasional (RDBMS), basisdata NoSQL adalah non-relasional atau terdistribusi. Basisdata SQL berbasis tabel sedangkan basisdata NoSQL berbasis dokumen, basisdata grafik, penyimpanan kolom lebar, atau pasangan kunci-nilai. Bahasa query terstruktur adalah asal SQL (Structured Query Language) mendapatkan namanya. Dalam NoSQL DB, fokus untuk permintaan berada pada koleksi dokumen. Hal ini kadang-kadang disebut Unstructured Query Language (UnQL). Sintaks UnQL bervariasi dari satu basisdata ke basisdata yang lain.

2)        Dalam basisdata SQL data dalam bentuk tabel yang terdiri dari sejumlah baris, sedangkan data dalam NoSQL tidak memiliki definisi skema standar yang harus dipatuhi. Basisdata NoSQL memiliki skema yang dinamis sementara basisdata SQL terdiri dari skema yang telah ditetapkan.

3)        Basisdata NoSQL adalah horizontal terukur sementara SQL DB vertikal terukur. Untuk memperbesar skala NoSQL DB, tambahkan server DB di cluster untuk load balancing. Untuk memperbesar skala SQL DB, tambahkan tenaga dari CPU, SSD, RAM dan perangkat keras lainnya pada server. Ini berarti NoSQL adalah pilihan terbaik jika skalabilitas adalah pertimbangan utama.
4)        SQL memungkinkan untuk interaksi karena merupakan bahasa query deklaratif. Setelah anda menyatakan apa yang anda inginkan misalnya untuk menampilkan, DB mengekstrak hasil setelah membangun algoritma secara internal. Dengan NoSQL, MapReduce, menjadi teknik permintaan prosedural, mengharuskan bahwa anda tidak hanya tahu apa yang anda inginkan, tetapi anda menyatakan persis bagaimana untuk menghasilkan jawabannya. Peningkatan interaksi dengan data memungkinkan untuk wawasan baru yang akan membantu pengembangan produk.

5)        SQL telah digunakan beberapa waktu dan ini menjelaskan mengapa menggunakan standar. Meskipun beberapa vendor memperkenalkan dialek untuk antarmuka mereka, intinya telah distandarkan dan spesifikasi tambahan seperti JDBC dan ODBC menyediakan antarmuka SQL yang stabil dan tersedia secara luas. Hal ini memungkinkan sebuah ekosistem operator dan alat manajemen untuk membantu dalam merancang, memantau, memeriksa, mengeksplorasi, dan membangun aplikasi pada sistem SQL. Ini berarti programmer SQL dan pengguna dapat menggunakan kembali pengetahuan UI dan API di sistem backend yang berbeda, sehingga mengurangi waktu pengembangan aplikasi. Standarisasi juga penting karena memungkinkan alat deklaratif ETL (Extract, Transform, Load) pihak ketiga. Alat-alat ini memungkinkan anda untuk mengalirkan data di sistem dan antar basisdata.

6)        Basisdata SQL lebih cocok untuk lingkungan permintaan-intensif kompleks. Hal ini karena NoSQL tidak memiliki antarmuka standar untuk melakukan query kompleks pada tingkat tinggi dan query pada NoSQL tidak sebaik query SQL.

7)        Basisdata NoSQL lebih cocok untuk penyimpanan data hirarkis. Hal ini karena NoSQL mengikuti metode penyimpanan pasangan kunci-nilai yang mirip dengan JSON data. Hal ini membuat NoSQL pilihan terbaik untuk data besar sejak saat ini, kebanyakan vendor SQL telah menambahkan dukungan tipe-JSON serta dukungan dokumen XML.

8)        Meskipun dimungkinkan untuk menggunakan NoSQL untuk transaksi biasa, SQL adalah pilihan terbaik untuk aplikasi tugas berat tipe-transaksional. Hal ini karena NoSQL tidak cukup stabil ketika sarat dengan aplikasi transaksional yang kompleks dan lalu lintas tinggi. SQL adalah cocok karena database-nya stabil dan menjanjikan integritas dan atomicity data. Hal ini terutama karena NoSQL belum dikembangkan selama SQL.

9)        Anda akan mendapatkan dukungan yang lebih baik dengan basisdata SQL, terutama karena SQL DB telah dikembangkan lebih lama. Ketika anda menyewa sebuah tim ahli DBA jarak jauh, kemungkinan bahwa sebagian besar DBA memiliki pelatihan di SQL DB. Namun, semakin banyak tim DBA jarak jauh saat ini memiliki pengalaman dengan NoSQL karena peningkatan permintaan. SQL DBs juga lebih dapat diandalkan karena mereka telah dicoba dan diuji selama beberapa tahun.

10)     Dengan SQL DB, penekanan pada sifat Atomicity, Consistency, Isolation and Durability (ACID) sifat. Di sisi lain, NoSQL DBs mengikuti teorema Consistency, Availability and Partition (CAP) Brewers.

11)     Basisdata SQL bisa bersumber tertutup dari vendor komersial atau bersumber terbuka sedangkan NoSQLs bersumber terbuka. Ini berarti NoSQL adalah pilihan yang lebih baik jika Anda ingin menghemat uang.
Contoh populer dari basisdata SQL adalah Oracle, MySQL, MS-SQL, Sqlite, dan Postgres sementara contoh populer dari NoSQL adalah MongoDB, HBase, Redis, Bigtable, RavenDb, CouchDB, Cassandra, dan Neo4j.

Kelebihan NoSQL di banding Relasional Database

Kelebihan NoSQL
  • NoSQL bisa menampung data yang terstruktur, semi terstruktur dan tidak terstuktur secara efesien dalam skala besar (big data/cloud).
  • Menggunakan OOP dalam pengaksesan atau manipulasi datanya.
  • 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.
  • 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. Contohnya ketika anda pindah dari MongoDB ke Cassandra, maka anda harus belajar lagi dari awal, berbeda dengan database RDMS.





Software Dalam NoSQL       


Beberapa database NoSQL:



  • MongoDB
MongoDB merupakan database open source berbasis dokumen (Document-Oriented Database) yang awalnya dibuat dengan bahasa C++.
  • Cassandra Apache
Cassandra Dikembangkan oleh APACHE. Aplikasi Inilah yang digunakan facebook untuk penyimpanan miliayaran data hingga saat ini.
  • CouchDB
CouchDB juga dikembangkan oleh APACHE. CouchDB adalah database yang benar-benar merangkul web. Menyimpan data Anda dengan dokumen JSON.  
  • Dan sebagainya.
Sumber :