}

Rabu, 17 Juli 2013

Parallel Computation

Parallel Computation

Parallel computation adalah salah satu pemrograman komputer yang memungkinkan untuk melakukan eksekusi perintah secara bersamaan dan berbarengan dalam satu ataupun banyak prosesor di dalam sebuah CPU. Parallel computation sendiri berguna untuk meningkatkan performa komputer karena semakin banyak proses yang bisa dikerjakan secara bersamaan maka akan makin cepat. 

A. Konsep Paralel
Konsep paralel adalah sebuah kemampuan prosesor untuk melakukan sebuah tugas ataupun banyak tugas secara simultan ataupun bersamaan, dengan kata lain prosesor mampu melakukan satu ataupun banyak tugas dalam satu waktu. 

B. Pemrosesan Terdistribusi
Pemrosesan terdistribusi merupakan proses pendistribusian pengolahan paralel dalam pemrosesan paralel menggunakan beberapa mesin. Jadi, bisa di bilang kemampuan dari suatu komputer-komputer yang dijalankan secara bersamaan untuk memecahkan suatu masalah dengan proses yang cepat.

C. Arsitektur Komputer Paralel
Menurut seorang Designer Processor, taksonomi Flynn, Arsitektur Komputer dibagi menjadi 4 baguan, yaitu :

1. SISD ( Single Instruction Single Data Stream )
  Jenis Komputer yang hanya memiliki satu prosesor dan satu instruksi yang dieksekusi secara serial. 

2. SIMD ( Single Instruction Multiple Data Stream )
Jenis komputer yang memiliki lebih dari satu prosesor, tetapi komputer ini hanya mengeksekusi satu instruksi secara paralel pada data yang berbeda pada level lock-step. 

3. MISD ( Multiple Instruction Single Data Stream )
Jenis komputer yang memiliki satu prosesor dan mengeksekusi beberapa instruksi secara paralel tetapi di dalam praktiknya tidak ada komputer yang dibangun dengan arsitektur ini karena sistemnya tidak mudah dipahami, sampai saat ini pun belum ada komputer yang menggunakan arsitektur jenis ini

4. MIMD ( Multiple Instruction Multiple Data Stream )
Jenis komputer yang memiliki lebih dari satu prosesor dan mengeksekusi lebih dari satu instruksi secara paralel. Tipe komputer ini yang paling banyak digunakan untuk membangun komputer paralel, bahkan banyak supercomputer yang menerapkan arsitektur ini, karena model dan konsepnya yang tidak terlalu rumit untuk dipahami.

D. Pengantar Thread Programming 
Sebuah thread di dalam pemrograman komputer adalah sebuah informasi terkait tentang penggunaan sebuah program tunggal yang dapat menangani beberapa pengguna secara bersamaan.Thread ini memungkinkan program untuk mengetahui bagaimana user masuk ke dalam program secara bergantian dan user akan masuk kembali menggunakan user yang berbeda. Multiple thread dapat berjalan bersamaan dengan proses lainnya membagi sumberdaya menjadi memori, disaat proses lain tidak membaginya. 

E. Pengantar Message Passing, Open MP
Message Passing merupakan sebuah bentuk dari komunikasi yang digunakan di komputasi paralel, OOT (Object Oriented Programming) atau Pemrograman Berbasis Objek dan komunikasi interproses

F. Pengantar Pemrograman CUDA GPU
Sebelum saya membahas tentang CUDA, saya akan membahas GPU terlebih dahulu. GPU dalah sebuah processor khusus untuk memepercepat dan mengubah memori untuk mempercepat pemrosesan gambar. GPU ini sendiri biasanya berada di dalam graphic card komputer ataupun laptop
CUDA(Compute Unified Device Architecture) adalah suatu skema yang dibuat oleh NVIDIA agar NVIDIA selaku GPU (Graphic Processing Unit) mampu melakukan komputasi tidak hanya untuk pengolahan grafis namun juga untuk tujuan umum. Jadi dengan adanya CUDA kita dapat memanfaatkan banyak prosesor dari NVIDIA untuk melakukan proses perhitungan ataunpun komputasi yang banyak. 




Pengantar Quantum Computation

Kali ini saya akan membahas tentang Quantum Computation
Sebelum masuk ke pembahasan Quantum Computation, saya akan membahas Quantum Computer terlebih dahulu.
Apa itu Quantum Computer (Komputer Kuantum) ?
Quantum Computer merupakan alat yang digunakan untuk melakukan pergitungan yang menggunakan langsung dari kuantum mekanika fenomena, seperti superposisi dan belitan, untuk melakukan operasi pada data.

Lalu, bagaimana dengan Quantum Computation (Komputasi Kuantum) ?
Quantum Computation adalah suatu bidang studi yang difokuskan pada teknologi komputer berkembang berdasarkan prinsip-prinsip teori kuantum
Quantum Computation ini menjelaskan sifat dan perilaku energi dan materi pada kuantum (atom dan subatom). Pengembangan komputer kuantum sendiri akan menandai kemajuan yang pesat dalam kemampuan komputasi seperti sekarang memakai sempoa lalu memakai modern superkomputer.

Terdapat sebuah teori tentang unsur-unsur penting dari komputasi kuantum yang berisi 'sebuah operasi komputer klasik dengan beberapa prinsip kuantum mekanik'. Hal ini dikemukakan oleh Paul Benioff. Tetapi, kemudian secara umum David Deutsch dari Universitas Oxford memberikan dorongan penting dalam pelaksanaan penelitian komputer quantum ini. Hal ini bermula pada tahun 1984 dimana dia berada di dalam konferensi teori komputasi dan bertanya tentang kemungkinan untuk merancang sebuah komputer yang hanya berdasarkan teori kuantum.

Entanglement
Setelah kita mengetahui dasar dari Komputer Kuantum dan Komputasi Kuantum, lebih lanjut saya akan membahas tentang Entanglement.
Entanglement adalah efek mekanik kuantum yang mengaburkan jarak antara partikel individual sehingga sulit menggambarkan partikel tersebut terpisah meski kita berusaha memindahkan mereka yaitu dimana jika ada suatu partikel yang diberlakukan "X" maka partikel tersebut akan memberikan dampak "X" juga ke partikel lainnya.

Quantum Gates
Quantum Gates adalah sebuah gerbang kuantum yang berfungsi mengoperasikan bit yang terdiri dari 0 dan 1 menjadi qubits. Cara kerja Gerbang kuantum mirip dengan gerbang logika klasik. Gerbang logika klasik mengambil bit sebagai input, mengevaluasi dan memproses input dan menghasilkan bit baru sebagai output. Gerbang logika kuantum mengambil dalam qubit yang bisa eksis dalam keadaan superposisi, ini membuka dimensi baru seluruh kemungkinan solusi dan output

Algoritma Shor
Algoritma Shor adalah suatu teori dimana komputer juantum dapat memecahkan sebuah kode rahasia yang digunakan untuk mengamankan pengiriman data. Kode ini disebut kode RSA. 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.


Referensi :



Pengantar Komputasi Cloud

Pendahuluan
Komputasi awan atau cloud computing  merupakan gabungan pemanfaatan teknologi komputer dan pengembagan berbasis internet. Maksud dari ‘cloud computing’ itu sendiri adalah penggunaan sumber daya komputasi (hardware dan software) yang diwujudkan dalam bentuk layanan yang bisa diakses melalui jaringan (biasanya internet). Asal kata cloud atau awan ini adalah penggambaran dari internet. 

Komputasi Grid
Komputasi grid adalah teknologi yang sedang berkembang yang memungkinkan pemakaian secara bersama berbagai macam sumber daya yang tersebar dan dikelola oleh organisasi yang berbeda. 
Kelebihan dari Grid Computing ini seperti akses lebih cepat dan lebih besar, perkalian sumber daya, akses terhadap sumber data global dan penelitian lebih baik. Di samping itu, Grid Computing juga memiliki kekurangan yaitu terbatasnya sumber daya manusia yang dapat menggunakan atau mengelola Grid Computing tersebut.

Virtualisasi
Virtualisasi adalah pembuatan sebuah teknik atau virtual dari sesuatu yg bersifat fisik dari sumber daya komputer dari bagaimana cara sistem lain berinteraksi misalnya sumber data atau sumber daya jaringan. 

Komputasi Terdistribusi dalam Cloud Computing
Komputasi terdistribusi yang di maksud di sini adalah suatu teknik yang dapat digunakan untuk menyelesaikan berbagai masalah dalam cloud computing. Komputasi terdistribusi adalah konsep menggunakan sistem terdistribusi terdiri dari banyak node diatur sendiri untuk memecahkan masalah yang sangat besar atau yang biasanya sulit untuk diselesaikan dengan satu komputer. Jadi, masalah yang besar akan di proses ke banyak komputer kemudian proses tersebut dipecahkan sehingga mendapatkan solusi-solusi yang lebih kecil apabila sudah didapatkan maka disatukan kembali dalam satu solusi yang besar dan terintegrasi. Komputasi terdistribusi adalah konsep menggunakan sistem terdistribusi terdiri dari banyak node diatur sendiri untuk memecahkan masalah yang sangat besar atau yang biasanya sulit untuk diselesaikan dengan satu komputer

Map Reduce dan NoSQL (Not Only SQL)
MapReduce yang berkaitan dengan cloud computing ini merupakan sebuah model pemrograman untuk melakukan pemrosesan data (biasa dipakai di komputer terdistribusi). Map-Reduce merupakan sebuah konsep teknis yang sangat penting di dalam teknologi cloud seperti dapat membantu programmer membuat aplikasi cloud computing.
NoSQL atau singkatan dari Not Only SQL ini adalah tipe database yang sangat jauh berbeda dengan konsep RDBMS ataupun ODBMS. Perbedaan utamanya sendiri yaitu karena tidak mengenal istilah relation dan tidak menggunakan konsep schema. Dalam NoSQL, setiap tabel berdiri sendiri tanpa tergantung dengan tabel lainnya.


NoSQL Database
NoSQL Database adalah sistem menejemen database yang berbeda dari sistem menejemen database relasional yang klasik dalam beberapa hal. NoSQL ini  mungkin tidak membutuhkan skema table dan umumnya menghindari operasi join dan berkembang secara horisontal.
NoSql database itu sendiri sebenarnya adalah penyebutan untuk database yang tidak memiliki relasi. Jika database yg berelasi biasanya menggunakan Sql, maka NonSql ini menggunakan berbagai cara untuk menyimpan datanya.

http://id.wikipedia.org/wiki/Komputasi_awan#cite_note-4
http://task-campus.blogspot.com/2013/04/pengantar-komputasi-cloud_12.html
http://hannareina.blogspot.com/2013_04_01_archive.html

Teori Komputasi Dan Implementasi komputasi

Kali ini saya akan membahas tentang teori Komputasi dan implementasinya.
sebelumnya, apa kalian tahu apa itu komputasi modern ?
Komputasi modern merupakan suatu cara dengan menggunakan algoritma untuk menemukan suatu pemecahan masalah yang berkaitan dengan sistem matematis,
dengan kata lain komputasi modern ini adalah suatu sistem yang akan menyelesaikan masalah matematis menggunakan komputer dengan cara menyusun algoritma yang dapat dimengerti oleh komputer yang berguna untuk menyelesaikan masalah manusia.

Beberapa masalah yang dapat dipecahkan dengan menggunakan komputasi modern, diantaranya :

• Problem volume besar (paralel)
• Akurasi (bit, floating point)
• Modeling (NN dan GA)
• Kecepatan (dalam satuanHz)
• Kompleksitas (menggunakan Teori Bog O)

Komputasi Modern sendiri dibagi menjadi 3 macam, yaitu :
Mobile computing : merupakan kemajuan teknologi komputer yang memungkinkan berkomunikasi menggunakan jaringan tanpa menggunakan kabel dan mudah dibawa atau berpindah tempat, tetapi hal ini jelas berbeda
dengan komputasi nirkabel.

Grid computing : menggunakan komputer yang terpisah oleh geografis, didistibusikan dan terhubung
oleh jaringan untuk menyelasaikan masalah komputasi skala besa

Cloud computing : Merupakan gaya komputasi yang terukur dinamis dan sumber daya virtual yang sering
menyediakan layanan melalui internet.

Implementasi komputasi dapat kita jumpai pada beberapa bidang, seperti bidang geografi, kimia,
matematika, sampai fisika.

Berikut contoh implementasi teori komputasi pada beberapa bidang
1. Fisika adalah untuk memecahkan masalah analitik yg rumit dan kompleks.
2. Kimia, pada bidang ini kita mengenal kimia komputasi yg berguna untuk menghitung sifat-sifat molekul dan juga perubahannya.
3. Matematika, pada bidang ini terdapat matematika komputasi. Teori komputasi dapat digunakan untuk menyelesaikan persoalan numerycal analisis.
4. Biologi, ada Bioinformatics yang merupakan aplikasi dari bidang teknologi informasi dan ilmu komputer terhadap bidang biologi molekuler.

Demikian artikel tentang pengantar komputasi modern yang dapat saya buat

Sumber : 
http://ianspace.wordpress.com/2011/05/20/tugas-softskill-pengantar-komputasi-modern/