Rangkuman Komputasi Modern


    

Komputasi modern adalah suatu konsep sistem yang menerima setiap intruksi-intruksi dan menyimpannya dalam sebuah memory, memory disini bisa juga dari memory komputer. Sistem komputasi yang sedang digunakan pada masa ini ialah 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.

Implementasi Komputasi banyak digunakan untuk berbagai bidang. Seperti : Bidang Fisika, Kimia, Matematika, Ekonomi, Geografi dan Geologi.

Fisika

Implementasi komputasi modern di bidang Fisika adalah Computational Physics yang mempelajari suatu gabungan antara Fisika, Komputer Sains dan Matematika Terapan untuk memberikan solusi pada “Kejadian dan masalah yang kompleks pada dunia nyata” baik dengan menggunakan simulasi juga penggunaan Algoritma yang tepat.

Kimia

Implementasi komputasi modern di bidang Kimia adalah Computational Chemistry yaitu penggunaan ilmu komputer untuk membantu menyelesaikan masalah Kimia. Contohnya penggunaan super komputer untuk menghitung struktur dan sifat molekul.

Matematika

Komputasi modern ini merupakan sebuah sistem yang akan menyelesaikan masalah Matematis menggunakan komputer dengan cara menyusun Algoritma yang dapat dimengerti oleh komputer yang berguna untuk menyelesaikan masalah manusia.

Ekonomi

Pemrograman yang didesain khusus untuk komputasi ekonomi dan pengembangan alat bantu dalam pendidikan komputasi ekonomi. Karena dibidang ekonomi pasti memiliki permasalahan yang harus dipecahkan oleh algoritma. Contohnya adalah memecahkan teori statistika untuk memecahkan permasalahan keuangan.

Geografi

Komputasi dalam bidang Geografi biasanya di gunakan untuk peramalan cuaca, di Indonesia khususnya ada salah satu instansi Negara dengan nama BMKG (Badan Meteorologi Klimatologi dan Geofisika) yakni instansi negara yang meneliti mengamati tentang Metereologi, Klimatologi kualitas udara dan Geofisika supaya tetap sesuai dengan perundang undangan yang berlaku di Indonesia.

Geologi

Komputasi Geologi umumnya digunakan dibidang pertambangan sebuah sistem komputer digunakan untuk menganalisa bahan-bahan mineral dan barang tambang yang terdapat didalam tanah. Implementasi pada bidang ini untuk memetakan letak sumber daya dan kontur dari permukaan bumi yang terdapat hasil tambang.

Sejarah Perkembangan Komputer

Sejarah komputer berawal dari abad ke-19, ketika Charles Babbage mencoba untuk mendesain komputer mekanik yang bernama Mesin Analitikal. Desain ini menjadi basis kerangka desain komputer sekarang. Secara garis besar, pengembangan komputer terbagi dalam empat generasi:

Generasi pertama dimulai ketika komputer digunakan dalam akademi dan militer, seperti Komputer Atanasoff-Berry dibuat pada tahun 1937 untuk menyelesaikan sistem persamaan linear dan komputer Colossus untuk memecahkan kode rahasia Jerman Nazi. Generasi kedua dimulai ketika transistor menggatikan tabung vakum. UNIVAC diperkenalkan ke publik tahun 1951 untuk penggunaan komersial. memiliki memori dan sistem operasi. Generasi ketiga dimulai ketika teknologi transistor meningkat menjadi sirkuit terpadu. Komputer mini adalah inovasi yang signifikan dalam generasi ini dan mempengaruhi generasi komputer selanjutnya. Generasi keempat dimulai pada dasawarsa 1970-an ketika penemuan MOSFET dan integrasi berskala besar selanjutnya membawa ke pengembangan mikroprosesor di awal 1970-an.

Karakteristik Komputasi Modern

Karakteristik dari komputasi modern diantaranya :

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

Komputer-komputer terhubung ke jaringan 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 ada 3 , yaitu :

Mobile Computing  
Mobile computing merupakan salah satu kemajuan teknologi komputer yang membuatnya mampu berkomunikasi menggunakan jaringan tanpa kabel sehingga mudah dibawa ataupun berpindah tempat (bukan komputasi nirkabel). Contoh perangkatnya adalah GPS, tipenya semisal smart phone, dan lain sebagainya.

Grid Computing
Pada Grid Computing, komputasinya menggunakan komputer yang terpisah oleh geografis, lalu didistibusikan dan terhubung dengan jaringan untuk menyelasaikan masalah komputasi yang berskala besar.  Contohnya :
>E-Learning (contohnya AccessGrid)
>Visualization
>Medical Images (contohnya eDiaMoND project)
>Computer-Aided Drug Discovery (contohnya Molecular Modeling Laboratory di University of North Carolina)

Cloud Computing
Cloud computing merupakan gabungan dari pemanfaatan komputasi dan pengembangan berbasis Internet. Cloud Computing ialah suatu metode komputasi dimana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan, sehingga pengguna dapat mengaksesnya lewat Internet tanpa mengetahui apa yang ada didalamnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya. Contohnya : Google Drive, iCloud, Windows Azure.

Yang membedakan ketiganya yaitu :

Dari segi teknologi yang digunakan, komputasi grid dan cloud menggunakan komputer sedangkan Komputasi mobile menggunakan handphone .

Dari segi biaya untuk tenaga komputasi, komputasi grid dan cloud lebih murah dibandingkan dengan komputasi mobile  .

Dari segi tempat, Komputasi grid dan cloud membutuhkan tempat yang khusus sedangkan komputasi mobile tidak membutuhkan tempat dan mudah dibawa kemana-mana.

Dari segi proses, untuk komputasi cloud prosesnya membutuhkan jaringan internet sebagai penghubungnya, komputasi grid proses tergantung pengguna mendapatkan server atau tidak, dan komputasi mobile proses tergantung si pengguna.

NoSQL

Konsep utama dari penerapan NoSQL adalah bagaimana mengatasi jumlah data yang sangat besar dan ledakan data dalam aplikasi web sebagai paridigma baru dalam penerapan teknologi basis data.. NoSQL memiliki beberapa keunggulan seperti basis data non-relasional (meliputi hirarki, graf, dan basis data object oriented). Empat model data NoSQL juga telah berhasil diinvestigasi dalam penelitian ini, yaitu kolom-oriented, document-oriented, key value-oriented, dan graphic-oriented.

Sistem pembagian data dapat dilakukan dengan memenuhi dua dari tiga teori CAP. Untuk peningkatan horizontal scaling, NoSQL mengorbankan konsistensi. Meskipun demikian NoSQL merupakan alternatif dari RDBMS dalam hal pendistribusian data, bukan penanganan masalah secara keseluruhan terutama transaksi yang tinggi. NoSQL tidak menerapkan konsistensi dan integritas data, hal ini membuat programmer harus bekerja ekstra dalam untuk mengatasinya dari sisi pemrograman.

Berikut adalah kelebihan dari NoSQL:

Skalabilitas yang Lebih Mudah dan Murah, NoSQL mempermudah proses penambahan server cloud dan menyambungkannya ke cluster database dengan mudah.

Menyimpan Banyak Data tanpa Mengorbankan Performa, karena kemudahan untuk melakukan “scale out” kapan saja.

Fleksibilitas Tinggi yang Mendukung Beberapa Jenis Database, NoSQL juga mampu menyimpan data unstructured, semi-structured, dan structured.

Lebih Ramah untuk Developer, berikut beberapa alasannya:

Tidak perlu menulis query SQL yang semakin kompleks seiring bertambahnya data.

Data dalam NoSQL bisa berbentuk JSON atau XML yang tentunya lebih familiar untuk para developer.

Dapat menampilkan data dengan cepat tanpa harus membuat schema terus menerus.

Ada banyak database NoSQL yang bersifat open-source dan gratis. Sehingga, bisa menghemat uang jika ingin mencoba kecocokannya terlebih dahulu.

Berikut adalah kekurangan dari NoSQL:

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

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

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

Tidak saling terkait antara transaksi record satu dengan lainnya.

Komputer Kuantum

Komputer tradisional yang kita kenal sampai saat ini didasari pada bilangan biner yaitu 0 dan 1. Ada atau tidak ada arus. Jadi untuk menciptakan 8 data yang berbeda kita harus menggunakan 3 karakter bit. Dalam komputer kuantum dikenal istilah quantum bit atau sering disingkat dengan qubits. Jika satu bit ditentukan dari ada atau tidaknya arus, nol atau satu, qubits ditentukan dari arah pergerakan partikel sub-atom. Arah perputaran partikel ini memiliki suatu posisi yang disebut dengan superposition di mana setiap arahnya dapat direpresentasikan dengan bilangan yang berbeda.

Algoritma Komputer Kuantum

Setelah beberapa temuan mengenai komputer kuantum maka 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.

Cara Kerja

Sampai saat ini,  ada dua kegunaan yang paling menjanjikan pada perangkat komputer kuantum itu yaitu untuk melakukan pencarian kuantum dan anjak kuantum.  Untuk memahami bagaimana pencarian kuantum bekerja, kita dapat membayangkan ketika harus mencari nama dan nomor telepon tertentu pada Yellow Pages atau buku telepon dengan cara konvensional. Jika buku telepon tersebut memiliki 10.000 entri, rata-rata kita  perlu melihat sekitar setengah dari jumlah itu,  yakni 5.000 entri, sebelum akhirnya kita menemukan nama dan nomor yang dicari. Namun dengan  algoritma pencarian kuantum, kita  hanya perlu menebak 100 kali. Sehingga dengan 5.000 tebakan, sebuah komputer kuantum mampu menemukan 25 juta nama pada buku telepon tersebut.

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

Parallelism Concept

Konsep dari Paralel Komputasional adalah bentuk dari perhitungan menggunakan computer yang dapat melakukan tugas secara banyak dan serentak dalam waktu yang bersamaan. Konsep ini digunakan untuk mempermudah untuk memecahkan masalah besar. Konsep ini dapat menyebabkan pelaksanaan komputasi dalam interval waktu yang sama, dalam waktu yang bersamaan, dan dalam rentang waktu yang saling tumpang tindih.
Lahirnya konsep Paralel Komputasional dikarenakan komputer tetap akan mengalami keterbatasan dalam hal kecepatan pemrosesannya, walaupun teknologi processor saat ini berkembang sangat pesat. Beberapa contoh tugas yang membutuhkan kecepatan pemrosesan yang tinggi diantaranya prakiraan cuaca, simulasi reaksi kimia, perhitugan aerodinamika, dan sebagainya.
Konsep Paralel Komputasional dapat ditinjau dari aspek desain mesin parallel, perkembangan bahasa pemrograman parallel dan dari aspek analisis algoritma parallel. Algoritma konsep itu sendiri memang difokuskan khusus kepada alhoritma yang berfungsi untuk menyelesaikan masalah numeric, sebab masalah numeric merupakan masalah yang memerlukan kecepatan komputasi yang sangat tinggi.

Distributed Processing

Distribusi Processing adalah 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.

Arsitektur Parallel Komputer

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.

Thread Programming

Threading / Thread adalah sebuah alur kontrol dari sebuah proses layanan informasi yang diminta oleh user. Konsep threading adalah menjalankan 2 proses yang sama atau proses yang berbeda dalam satu waktu. Banyak sistem operasi modern telah memiliki konsep yang memungkinkan sebuah proses untuk memiliki eksekusi multi-threads. Keuntungan dari multithreaded meliputi peningkatan respon dari pengguna, pembagian sumber daya proses, ekonomis, dan kemampuan untuk mengambil keuntungan dari arsitektur multiprosesor.

Massage Passing

OpenMP (Open Multi-Processing) adalah sebuah antarmuka pemrograman aplikasi (API) yang mendukung multi processing shared memory pemrograman di C, C++ dan Fortran pada berbagai arsitektur, termasuk UNix dan Microsoft Windows platform. OpenMP Terdiri dari satu set perintah kompiler, perpustakaan rutinitas, dan variabel lingkungan yang mempengaruhi run-time. Banyak Aplikasi dibangun dengan model hibrida pemrograman paralel dapat dijalankan pada komputer cluster dengan menggunakan OpenMP dan Message Passing Interface (MPI), atau lebih transparan dengan menggunakan ekstensi OpenMP non-shared memory systems. OpenMP merupakan model portabel dan skalabel yang memberikan interface sederhana dan fleksibel bagi programer shared memory dalam membangun aplikasi paralel. Program multithread dapat ditulis dalam berbagai cara. Beberapa diantaranya memungkinkan untuk melakukan interaksi yang kompleks antar thread. OpenMP mencoba untuk memberikan kemudahan pemrograman serta membantu dalam menghindari kesalahan program, melalui pendekatan terstruktur. Pendekatan ini dikenal sebagai model pemrograman fork-join.
Sejarah OpenMP dimulai dari diterbitkannya API pertama untuk Fotran 1.0 pada Oktober 1997 oleh OpenMP Architecture Review Board (ARB). Oktober tahun berikutnya OpenMP Architecture Review Board (ARB) merilis standart C / C++. Pada tahun 2000 mengeluarkan versi 2.0 untuk fotran dan poda tahun 2002 dirilis

Komentar

Postingan Populer