Rabu, 30 Juni 2021

KOMPUTASI MODERN Tugas ke-3

 Komputasi Modern

 

Pengertian Komputasi Modern

Komputasi modern adalah sebuah konsep sistem yang menerima intruksi-intruksi dan menyimpannya dalam sebuah memory, memory disini bisa juga dari memory komputer. Oleh karena pada saat ini kita melakukan komputasi menggunakan komputer maka bisa dibilang komputer merupakan sebuah komputasi modern. Konsep ini pertama kali digagasi oleh John Von Neumann (1903-1957). Beliau adalah ilmuan yang meletakkan dasar-dasar komputer modern. Von Neumann telah menjadi ilmuwan besar abad 21. Von Neumann memberikan berbagai sumbangsih dalam bidang matematika, teori kuantum, game theory, fisika nuklir, dan ilmu komputer yang di salurkan melalui karya-karyanya . Beliau juga merupakan salah satu ilmuwan yang terkait dalam pembuatan bom atom di Los Alamos pada Perang Dunia II lalu. Kegeniusannya dalam matematika telah terlihat semenjak kecil dengan mampu melakukan pembagian bilangan delapan digit (angka) di dalam kepalanya.

Dalam kerjanya komputasi modern menghitung dan mencari solusi dari masalah yang ada, dan perhitungan yang dilakukan itu meliputi:

1.    Akurasi (big, Floating point) 

2.    Kecepatan (dalam satuan Hz) 

3.    Problem Volume Besar (Down Sizzing atau pararel) 

4.    Modeling (NN & GA) 

5.    Kompleksitas (Menggunakan Teori big O)

Karakteristik Komputasi Modern

Karakteristik komputasi modern ada 3 macam, yaitu :

·         Komputer-komputer penyedia sumber daya bersifat heterogenous karena terdiri dari berbagai jenis perangkat keras, sistem operasi, serta aplikasi yang terpasang. 

·         Komputer-komputer terhubung ke jarinagn yang luas dengan kapasitas bandwidth yang beragam. 

·         Komputer maupun jaringan tidak terdedikasi, bisa hidup atau mati sewaktu-waktu tanpa jadwal yang jelas.

Jenis - Jenis Komputasi Modern

Komputasi modern terbagi tiga macam, yaitu komputasi mobile (bergerak), komputasi grid, dan komputasi cloud (awan). Penjelasan lebih lanjut dari jenis-jenis komputasi modern sebagai berikut :

1. Mobile computing

Mobile Computing atau komputasi bergerak merupakan kemajuan teknologi komputer sehingga dapat berkomunikasi menggunakan jaringan tanpa menggunakan kabel dan mudah dibawa atau berpindah tempat, tetapi berbeda dengan komputasi nirkabel. Contoh dari perangkat komputasi bergerak seperti GPS. Beberapa keterbatasan dan resiko dari mobile computing :

Kurangnya Bandwith akses internet pada peralatan ini umumnya lebih lambat dibandingkan dengan koneksi kabel.  Gangguan Transimisi, banyak faktor yang bisa menyebabkan gangguan sinyal pada mobile computing seperti cuaca, medan dan jarak alat mobile computing dengan titik pemancar sinyal terdekat.

2. Grid computing

Grid Computing komputasi grid menggunakan komputer yang terpisah oleh geografis, didistribusikan dan terhubung oleh jaringan untuk menyelesaikan masalah komputer skala besar. Beberapa daftar dapat digunakan untuk mengenali sistem komputasi grid, adalah :

·         Sistem untuk koordinat sumber daya komputasi tidak dibawah kendali pusat. 

·         Sistem menggunakan standard dan protocol yang terbuka. 

·         Sistem mencoba mencapai kualitas pelayanan yang canggih, yang lebih baik diatas kualitas komponen individu pelayanan komputasi grid.

Jenis-jenis Grid Computing

1.    Computational Grid

2.    Data Grid

3.    Collaboration Grid

4.    Network Grid

5.    Utility Grid

3. Cloud computing

Komputasi cloud merupakan gaya komputasi yang terukur dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet. Komputasi cloud menggambarkan pelengkap baru, konsumsi dan layanan IT berbasis model dalam internet, dan biasanya melibatkan ketentuan dari keterukuran dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet.

Konsep dalam Cloud Computing

  • Infrastructure asa a Service (IaaS)
  • Platform as a Service (PaaS)
  • Software as a Service (SaaS)

Komponen Cloud Computing

  • Cloud Clients
  • Cloud Service
  • Cloud Applications
  • Cloud Platform
  • Cloud Storage
  • Cloud Infrastructure

 Pengertian Database NoSQL

Database noSQL adalah Database yang tidak memiliki perintah SQL dan konsep penyimpanannya semistuktural atau tidak struktural dan tidak harus memiliki relasi layaknya tabel-tabel MySQL.

Tujuan Database NoSQL

Tujuan dari penggunaan database noSQL adalah untuk model data spesifik dan memiliki skema fleksibel dalam membuat aplikasi modern. Kebanyakan dalam beberapa kasus penggunaan Database noSQl berfungsi dalam pengembangan real time application.

Cara Kerja Database NoSQL

Cara kerja database noSQL yakni dengan menggunakan berbagai model database untuk mengelolah dan mengakses data, seperti dokument, key-value, grapik, in-memory dan search-engine.

1.    Kelebihan dan Kekurangan NoSQL

·         Kelebihan NoSQL:

1.    Memiliki kemampuan scaling yang baik, karena kemampuannya pada suatu kondisi.

2.    Penanganan data skema dan struktur data pada NoSQL mudah ditangani tanpa harus merubah konsistensi data pada database, karena skema data pada NoSQL tidak fixed seperti halnya pada SQL.

3.    Biaya maintenance terjangkau, karena tidak membutuhkan database administrator dengan skill yang tinggi.

4.    Sifat NoSQL adalah database horizontal yang semakin melebar ke samping utnuk mengikuti perkembangan data pada jenis yang sama, tetapi terdapat penambahan pada data lain yang tidak dapat dibedakan dengan data sebelumnya serta untuk memperbesar skala, anda hanya perlu melakukan penambahan server DB yang di cluster untuk load balancing.

5.    Memiliki kemampuan schema-less, yaitu tidak perlu mendefinisikan fields dan tipedata pada tabel seperti pada mysql. 

·         Kekurangan NoSQ:

1.    Tiap record atau row merupakan data yang unik dan tidak bisa digantika data yang lain.

2.    Setiap baris data konsisten, yang mana data akan tetap konsisten setelah di eksekusi dan server maupun client akan melihat data yang sama.

3.    Setelah transaksi selesai, akibat dari perubahan record akan tersimpan secara permanen dan solid.

4.    Tidak saling terkait antara transaksi record satu dengan lainnya.

Jenis - Jenis NoSQL

1.    Key-value

2.    Column-based

3.    Document-oriented

4.    Graph-based

Basis Data NoSQL yang populer

1.    MongoDB

2.    CouchDB

3.    Cassandra

Quantum Computing

quantum computing adalah perhitungan yang berfokus pada pengembangan teknologi, berdasarkan teori kuantum. teori kuantum didasari oleh kemungkinan bahwa setiap peristiwa memiliki kemungkinan untuk terjadi, meskipun terlihat tidak mungkin. Terdapat banyak partikel atau bagian dari apa pun itu. Dalam konteks ini, komputer biasanya hanya menuliskan kode informasi dalam “bits” dengan mengambil nilai 1 atau 0 atau dalam kata lain bersifat biner. Dalam quantum computing, ada yang dinamakan “bits” dan “qubits”.

Quantum Gates

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 Shor, dinamai oleh matematikawan Peter Shor, adalah algoritma kuantum yaitu merupakan suatu algoritma yang berjalan pada komputer kuantum yang berguna untuk faktorisasi bilangan bulat. Algoritma Shor dirumuskan pada tahun 1994.  Inti dari algoritma ini merupakan bagaimana cara menyelesaikan faktorisasi terhadap bilangan integer atau bulat yang besar.

Parallelism Concept

Komputasi paralel didefinisikan sebagai penggunaan sekumpulan sumberdaya komputer secara simultan untuk menyelesaikan permasalahan komputasi. Secara prinsip komputer paralel membagi permasalahan sehingga menjadi lebih kecil untuk dikerjakan oleh setiap prosesor / CPU dalam waktu yang bersamaan/simultan / concurrent dan prinsip ini disebut paralelisme. Konsep program parallel :

  Memerintahkan set instruksi (pandangan programmer).

  File executable (pandangan sistem operasi)

Berdasarkan tingkat paralelismenya prosesor paralel dapat dibagi menjadi beberapa tingkat(level) sebagai berikut :

1. Komputer Array :

a. Prosesor array : beberapa prosesor yang bekerja sama untuk mengolah set instruksi yang sama dan data yang berbeda – beda atau biasa disebut SIMD (Single Instruction-stream Multiple Data)

b. Prosesor vektor : beberapa prosesor yang disusun seperti pipeline.

2. Multiprosesor, yaitu sebuah sistem yang memiliki 2 prosesor atau lebih yang saling berbagi memori.

3. Multikomputer, yaitu sebuah sistem yang memiliki 2 prosesor atau lebih yang masing-masing prosesor memiliki memori sendiri.

Jenis-Jenis Pemrosesan Paralel

Pemrosesan paralel dapat dibagi ke dalam beberapa klasifikasi, sebagai berikut :

1. Berdasarkan simetri penjadwalannya, pemrosesan parallel dapat dibagi dalam beberapa jenis:

a) Asymmetric Multiprocessing (ASMP)

b) Symmetric Multiprocessing (SMP)

c) ClusteringPoliteknik Telkom Sistem Komputer

2. Berdasarkan aliran instruksi dan datanya, pemrosesan parallel dapat dibagi dalam beberapa jenis:

a) SISD (Single Instruction on Single Data Stream)

b) SIMD (Single Instruction on Multiple Data Stream)

c) MISD (Multiple Instruction on Single Data Stream)

d) MIMD (Multiple Instruction on Multiple Data Stream)

3. Berdasarkan kedekatan antar prosesor, pemrosesan parallel dapat dibagi dalam beberapa jenis:

a) Multikomputer (Loosely Coupled/ local memory) dengan memori yang terdistribusi

b) Multiprosesor (Tightly Coupled/ global memory) dengan memori yang dapat digunakan bersama (shared memory)

Distributed computation

Distributed computation atau komputasi terdistribusi adalah bidang ilmu komputer yang mempelajari sistem terdistribusi. Sistem terdistribusi 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 Processing

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.

Pengantar Thread Programming

Thread dalam sistem operasi dapat diartikan sebagai sekumpulan perintah (instruksi) yang dapatdilaksanakan (dieksekusi) secara sejajar dengan ulir lainnya, dengan menggunakan cara time slice (ketika satu CPU melakukan perpindahan antara satu ulir ke ulir lainnya) atau multiprocess (ketika ulir-ulir tersebut dilaksanakan oleh CPU yang berbeda dalam satu sistem). Ulir sebenarnya mirip dengan  roses, tapi cara berbagi sumber daya antara proses dengan ulir sangat berbeda. Multiplethread dapat  dilaksanakan secara sejajar pada sistem komputer. Secara umum multithreading melakukan time-slicing  (sama dengan time-division multipleks), di manasebuah CPU bekerja pada ulir yang berbeda, di mana suatu kasus ditangani tidak sepenuhnya secara serempak, untuk CPU tunggal pada dasarnya benar-benar melakukan sebuah pekerjaan pada satu waktu. Thread saling berbagi bagian program, bagian data dan sumber daya sistem operasi denganthread lain yang mengacu pada proses yang sama. Thread terdiri atas ID thread, program counter, himpunan register, dan stack. Dengan banyak kontrol thread proses dapat melakukan lebih dari satu pekerjaan pada waktu yang sama.

Karakteristik Thread

Proses merupakan lingkungan eksekusi bagi thread-thread yang dimilikinya. Thread-thread di satu proses memakai bersama sumber daya yang dimiliki proses, yaitu :

• Ruang alamat.

• Himpunan berkas yang dibuka.

• Proses-proses anak.

• Timer-timer.

• Snyal-sinyal.

• Sumber daya-sumber daya lain milik proses.

Jenis-jenis Thread Berdasarkan Waktu Penciptaannya

1. Static threads

2. Dynamic threads

Berdasarkan Pemetaan Thread

1. Many-to-One

2. One-to-One

3. Many-to-Many

Pengantar Massage Passing

Message Parsing dalam ilmu komputer adalah suatu bentuk komunikasi yang digunakan dalam komputasi paralel, pemrograman berorientasi obyek, dan komunikasi antar. Dalam model ini, proses atau benda dapat mengirim dan menerima pesan (yang terdiri dari nol atau lebih byte, struktur data yang kompleks, atau bahkan segmen kode) ke proses lainnya. Dengan menunggu pesan, proses juga dapat menyinkronkan.

Message passing adalah paradigma komunikasi di mana pesan dikirim dari pengirim ke satu atau lebih penerima. Bentuk pesan termasuk (remote) pemanggilan metode, sinyal, dan paket data.

 

Tidak ada komentar:

Posting Komentar

KOMPUTASI MODERN Tugas ke-3

  Komputasi Modern   Pengertian Komputasi Modern Komputasi modern adalah sebuah konsep sistem yang menerima intruksi-intruksi dan menyim...