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 yang 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 NoSQL
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.