Minggu, 30 Juni 2019

Parallel Computation


Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar (di industri keuanganbioinformatika, dll) ataupun karena tuntutan proses komputasi yang banyak. Kasus kedua umum ditemui di kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia komputasi) dll.
Komputasi paralel berkaitan erat dengan komputasi konkuren — mereka sering digunakan bersama-sama, dan sering digabung, meskipun keduanya berbeda: dimungkinkan untuk memiliki paralelisme tanpa konkurensi (seperti paralelisme bit-level), dan konkurensi tanpa paralelisme (seperti multitasking) oleh pembagian waktu pada CPU single-core). Dalam komputasi paralel, tugas komputasi biasanya dipecah menjadi beberapa, seringkali banyak, sub-tugas yang sangat mirip yang dapat diproses secara independen dan yang hasilnya digabungkan setelah itu, setelah selesai. Sebaliknya, dalam komputasi serentak, berbagai proses seringkali tidak membahas tugas terkait; ketika mereka melakukannya, seperti tipikal dalam komputasi terdistribusi, tugas-tugas yang terpisah mungkin memiliki sifat yang bervariasi dan seringkali memerlukan beberapa komunikasi antar-proses selama eksekusi.

Konsep Paralelisme
Banyak perkembangan-perkembangan baru dalam arsitektur komputer yang didasarkan pada konsep pemrosesan paralel. Pemrosesan paralel dalam sebuah komputer dapat didefinisikan sebagai pelaksanaan instruksi-instruksi secara bersamaan waktunya. Hal ini dapat menyebabkan pelaksanaan kejadian-kejadian dalam interval waktu yang sama, dalam waktu yang bersamaan atau dalam rentang waktu yang saling tumpang tindih.
Sekalipun didukung oleh teknologi prosesor yang berkembang sangat pesat, komputer sekuensial tetap akan mengalami keterbatasan dalam hal kecepatan pemrosesannya. Hal ini menyebabkan lahirnya konsep keparalelan (parallelism) untuk menangani masalah dan aplikasi yang membutuhkan kecepatan pemrosesan yang sangat tinggi, seperti misalnya prakiraan cuaca, simulasi pada reaksi kimia, perhitungan aerodinamika dan lain-lain.
Konsep keparalelan itu sendiri dapat ditinjau dari aspek design mesin paralel, perkembangan bahasa pemrograman paralel atau dari aspek pembangunan dan analisis algoritma paralel. Algoritma paralel itu sendiri lebih banyak difokuskan kepada algoritma untuk menyelesaikan masalah numerik, karena masalah numerik merupakan salah satu masalah yang memerlukan kecepatan komputasi yang sangat tinggi.

Pemrosesan Terdistribusi
Pemrosesan terdistribusi adalah frasa yang digunakan untuk merujuk ke berbagai sistem komputer yang menggunakan lebih dari satu komputer (atau prosesor ) untuk menjalankanaplikasi . Ini termasuk pemrosesan paralel di mana satu komputer menggunakan lebih dari satu CPU untuk menjalankan program .
Namun, lebih sering, pemrosesan terdistribusi mengacu pada jaringan area lokal (LAN) yang dirancang sehingga satu program dapat berjalan secara bersamaan di berbagai situs.Sebagian besar sistem pemrosesan terdistribusimengandung perangkat lunak canggih yang mendeteksi CPU yang menganggur di jaringan dan mem-parsing program untuk menggunakannya.
Bentuk lain dari pemrosesan terdistribusi melibatkan database terdistribusi . Ini adalah basis data di mana datadisimpan di dua atau lebih sistem komputer. Sistem database melacak di mana data berada sehingga sifat database yang terdistribusi tidak terlihat oleh pengguna .


Arsitektural Komputer Paralel
Arsitektur Komputer Paralel adalah sekumpulan elemen pemroses (Processing Elements) yang bekerjasama dalam menyelesaikan sebuah masalah besar. 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. 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.

Pengantar Thread Programming
Dalam pemrograman komputer, sebuah thread adalah informasi terkait dengan penggunaan sebuah program tunggal yang dapat menangani beberapa pengguna secara bersamaan. Dari program point-of-view, sebuah thread adalah informasi yang dibutuhkan untuk melayani satu pengguna individu atau permintaan layanan tertentu. Jika beberapa pengguna menggunakan program atau permintaan bersamaan dari program lain yang sedang terjadi, thread yang dibuat dan dipelihara untuk masing-masing proses. Thread memungkinkan program untuk mengetahui user sedang masuk didalam program secara bergantian dan akan kembali masuk atas nama pengguna yang berbeda. Salah satu informasi thread disimpan dengan cara menyimpannya di daerah data khusus dan menempatkan alamat dari daerah data dalam register. Sistem operasi selalu menyimpan isi register saat program interrupted dan restores ketika memberikan program kontrol lagi.
Sebagian besar komputer hanya dapat mengeksekusi satu instruksi program pada satu waktu, tetapi karena mereka beroperasi begitu cepat, mereka muncul untuk menjalankan berbagai program dan melayani banyak pengguna secara bersamaan. Sistem operasi komputer memberikan setiap program “giliran” pada prosesnya, maka itu memerlukan untuk menunggu sementara program lain mendapat giliran. Masing-masing program dipandang oleh sistem operasi sebagai suatu tugas dimana sumber daya tertentu diidentifikasi dan terus berlangsung. Sistem operasi mengelola setiap program aplikasi dalam sistem PC (spreadsheet, pengolah kata, browser Web) sebagai tugas terpisah dan memungkinkan melihat dan mengontrol item pada daftar tugas. Jika program memulai permintaan I / O, seperti membaca file atau menulis ke printer, itu menciptakan thread. Data disimpan sebagai bagian dari thread yang memungkinkan program yang akan masuk kembali di tempat yang tepat pada saat operasi I / O selesai. Sementara itu, penggunaan bersamaan dari program diselenggarakan pada thread lainnya. Sebagian besar sistem operasi saat ini menyediakan dukungan untuk kedua multitasking dan multithreading. Mereka juga memungkinkan multithreading dalam proses program agar sistem tersebut disimpan dan  menciptakan proses baru untuk setiap thread.

Sumber :

Minggu, 19 Mei 2019

QUANTUM COMPUTATION


Pengertian
Merupakan alat hitung yang menggunakan mekanika kuantum seperti superposisi dan keterkaitan, yang digunakan untuk peng-operasi-an data. Perhitungan jumlah data pada komputasi klasik dihitung dengan bit, sedangkan perhitungan jumlah data pada komputer kuantum dilakukan dengan qubit. Prinsip dasar komputer kuantum adalah bahwa sifat kuantum dari partikel dapat digunakan untuk mewakili data dan struktur data, dan bahwa mekanika kuantum dapat digunakan untuk melakukan operasi dengan data ini. Dalam hal ini untuk mengembangkan komputer dengan sistem kuantum diperlukan suatu logika baru yang sesuai dengan prinsip kuantum.

Komputer Kuantum Komputer Masa Depan

Teknologi komputer merupakan salah satu teknologi yang paling cepat mengalami perkembangan dan kemajuan. Komputer-komputer yang ada saat ini sudah mencapai kemampuan yang sangat mengagumkan. Tetapi kedahsyatan komputer tercanggih yang ada saat ini pun masih belum bisa memuaskan keinginan manusia yang bermimpi untuk membuat sebuah Supercomputer yang benar-benar memiliki kecepatan super. Komputer yang nantinya layak untuk benar-benar disebut sebagai Komputer Super ini adalah Komputer Kuantum. Teori tentang komputer kuantum ini pertama kali dicetuskan oleh fisikawan dari Argonne National Laboratory sekitar 20 tahun lalu. Paul Benioff merupakan orang pertama yang mengaplikasikan teori fisika kuantum pada dunia komputer di tahun 1981.
Komputer yang biasa kita gunakan sehari-hari merupakan komputer digital. Komputer digital sangat berbeda dengan komputer kuantum yang super itu. Komputer digital bekerja dengan bantuan microprocessor yang berbentuk chip kecil yang tersusun dari banyak transistor. Microprocessor biasanya lebih dikenal dengan istilah Central Processing Unit (CPU) dan merupakan ‘jantung’nya komputer. Microprocessor yang pertama adalah Intel 4004 yang diperkenalkan pada tahun 1971. Komputer pertama ini cuma bisa melakukan perhitungan penjumlahan dan pengurangan saja. Memory komputer menggunakan sistem binary atau sistem angka basis 2 (0 dan 1) yang dikenal sebagai BIT (singkatan dari Binary digIT). Konversi dari angka desimal yang biasa kita gunakan (angka berbasis 10 yang memiliki nilai 0 sampai 9).

Sumber :



Selasa, 09 April 2019

PENGANTAR KOMPUTASI CLOUD


A.  PENDAHULUAN

Komputasi awan (bahasa Inggris: cloud computing) adalah gabungan pemanfaatan teknologi komputer ('komputasi') dan pengembangan berbasis Internet ('awan'). Awan (cloud) adalah metafora dari internet, sebagaimana awan yang sering digambarkan di diagram jaringan komputer.
Sebagaimana awan dalam diagram jaringan komputer tersebut, awan (cloud) dalam Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya. Ia adalah suatu metoda komputasi di mana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan (as a service), sehingga pengguna dapat mengaksesnya lewat Internet ("di dalam awan")  tanpa mengetahui apa yang ada didalamnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya.
Menurut sebuah makalah tahun 2008 yang dipublikasi IEEE Internet Computing "Cloud Computing adalah suatu paradigma di mana informasi secara permanen tersimpan di server di internet dan tersimpan secara sementara di komputer pengguna (client) termasuk di dalamnya adalah desktop, komputer tablet, notebook, komputer tembok, handheld, sensor-sensor, monitor dan lain-lain."
Komputasi awan adalah suatu konsep umum yang mencakup SaaS, Web 2.0, dan tren teknologi terbaru lain yang dikenal luas, dengan tema umum berupa ketergantungan terhadap Internet untuk memberikan kebutuhan komputasi pengguna. Sebagai contoh, Google Apps menyediakan aplikasi bisnis umum secara daring yang diakses melalui suatu penjelajah web dengan perangkat lunak dan data yang tersimpan di server. Komputasi awan saat ini merupakan trend teknologi terbaru, dan contoh bentuk pengembangan dari teknologi Cloud Computing ini adalah iCloud.

B.  VIRTUALISASI

Virtualisasi adalah sebuah teknologi, yang memungkinkan Anda untuk membuat versi virtual dari sesuatu yang bersifat fisik, misalnya sistem operasi, storage data atau sumber daya jaringan. Dalam prakteknya, dengan membeli dan memiliki satu buah mesin, Anda seolah-olah memiliki banyak server, sehingga Anda bisa mengurangi pengeluaran IT untuk pembelian server baru, komponen, storage, dan software pendukung lainnya.
Dua hal yang telah dijabarkan diatas sebenarnya saling berhubungan. Cloud Computing sendiri bisa dianggap sebagai pengembangan dari virtualisasi. Cloud computing adalah sebuah teknologi yang menggabungkan teknologi virtualisasi dan grid computing. Jadi, selain ada proses virtualisasi, juga terdapat grid computing, dimana seluruh beban proses komputasi yang ada akan didistribusikan ke berbagai server yang saling terhubung di dalam cloud, sehingga prosesnya akan jauh lebih ringan.
Dengan teknologi cloud computing sebuah perusahaan bisa menempatkan aplikasi atau sistem yang digunakan di internet dan tidak perlu mengelolanya secara internal. Contoh dari cloud computing versi publik adalah seperti google drive, google docs/spreadsheet, dropbox, dan lain-lain. Cloud computing versi publik bisa digunakan untuk umum secara gratis. Sedangkan untuk versi non publik, penggunanya harus membayar biaya sewa untuk menggunakan sistem virtual tersebut dalam jangka waktu yang telah ditentukan. Contoh cloud computing versi non publik adalah seperti SmartCloud Enterprise dari IBM, Enterprise Services Cloud-Compute dari HP, SmartMachines dari JoyentCloud dan Elastic Cloud Compute (EC2) dari Amazon.

                https://bamandhityo.wordpress.com/2016/04/13/cloud-computing-dan-virtualisasi/

Minggu, 17 Maret 2019

IMPLEMENTASI KOMPUTASI



Komputasi sendiri adalah sebuah proses perhitungan, pemrosesan informasi atau pemecahan masalah dengan menggunakan algoritma. Komputasi merupakan bagian dari ilmu komputer yang mempunyai tugas untuk menganalisa apa saja yang bisa dan tidak bisa dilakukan oleh secara komputasi, dari sini lah muncul Teori Komputasi yang menjadi sub-bidang ilmu komputer dan ilmu matematika.

Asal muasal komputasi sendiri adalah kebutuhan manusia untuk menghitung sebagai contoh dalam sistem barter sistem kalender dan lain lain. seiring perkembangan zaman perhitungan manusia pun semakin kompleks dan banyak dari situ muncullah kebutuhan akan mesin penghitung, maka lahirlah komputer dan komputer pun berkembang menjadi sebuah alat yang bisa melakukan lebih dari sekedar perhitungan semata.

Implementasi Pada Bidang Fisika
Pada fisika, teori-teori yang berbeda berdasarkan model matematik menimbulkan perbedaan yang signifikan terhadap presiksi bagaimana sebuah sistem bereaksi. Sehingga sangat disayangkan seringnya kasus yang menangani model matematik pada sistem prediksi tertentu menjadi tidak layak. Hal ini biasa terjadi pada kasus yang memeiliki bentuk yang tidak terbatas, atau terlalu membingungkan untuk diterapkan.

Secara umum, fisika memang memiliki tingkat kesulitan yang tinggi untuk dipecahkan secara sempurna. Hal ini dikarenakan banyaknya bidang yang saling berhubungan dalam penyelesaian suatu masalah--mulai dari ilmu matematika tingkat tinggi, kompleksitas, kelarutan, dan keterpautan antar bidang.

Sebagai contoh, ketika kita diberikan kasus mudah berupa fungsi gelombang electron yang mengorbit atom pada medan listrik yang kuat, maka dibutuhkan upaya yang baik dalam memformulasi algoritma praktik yang dibutuhkan; teknik bruteforce, seperti metode grafik atau pencarian akar (root finding) mungkin juga dibutuhkan. Kerumitan ini yang masih sulit diterapkan dalam komputer. Sehingga, walaupun dibentuk sebuah mesin penghitung kekuatan medan listrik gelombang elektron dibuat, hasil yang didapat dari mesin tersebut tidak selalu sepenuhnya benar.

Implementasi Pada Bidang Kimia
Implementasi komputasi modern di bidang kimia ada Computational Chemistry yaitu penggunaan ilmu komputer untuk  membantu menyelesaikan masalah kimia, contohnya penggunaan super komputer untuk menghitung struktur dan sifat molekul. Istilah kimia teori dapat didefinisikan sebagai deskripsi matematika untuk kimia, sedangkan kimia komputasi biasanya digunakan ketika metode matematika dikembangkan dengan cukup baik untuk dapat digunakan dalam program komputer. Perlu dicatat bahwa kata "tepat" atau "sempurna" tidak muncul di sini, karena sedikit sekali aspek kimia yang dapat dihitung secara tepat. Hampir semua aspek kimia dapat digambarkan dalam skema komputasi kualitatif atau kuantitatif hampiran.

Implementasi Pada Bidang Matematika
            Implementasi komputasi modern di bidang matematika ada numerical analysis yaitu sebuah algoritma dipakai untuk menganalisa masalah - masalah matematika. Bidang analisis numerik sudah sudah dikembangkan berabad-abad sebelum penemuan komputer modern.Interpolasi linear sudah digunakan lebih dari 2000 tahun yang lalu. Kalkulator mekanik juga dikembangkan sebagai alat untuk perhitungan tangan. Kalkulator ini berevolusi menjadi komputer elektronik pada tahun 1940. Kemudian ditemukan bahwa komputer juga berguna untuk tujuan administratif. Tetapi penemuan komputer juga mempengaruhi bidang analisis numerik, karena memungkinkan dilakukannya perhitungan yang lebih panjang dan rumit. Selain itu juga terdapat istilah-istilah seperti Probabilitas, Algoritma, dan Kalkulus yang ternyata sangat dibutuhkan dalam perkembangan Ilmu Komputer.



Sumber :