Jumat, 24 Mei 2013

Parallel Computation

Paralel Processing adalah kemampuan menjalankan tugas atau aplikasi lebih dari satu aplikasi dan dijalankan secara simultan atau bersamaan pada sebuah komputer. Secara umum, ini adalah sebuah teknik dimana sebuah masalah dibagi dalam beberapa masalah kecil untuk mempercepat proses penyelesaian masalah.

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 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.
DISTRIBUTED PROCESSING
Distributed processing adalah manajemen banyak proses yang dieksekusi di banyak sistem komputer yang tersebar (terdistribusi) disatu jaringan. Pada sistem operasi tersebar yang ideal, pemrograman tidak perlu menyadari keberadaan banyak pemroses. Kecenderungan masa datang adalah menuju komputasi tersebar (distributed processing). Banyak riset dan pengembang sistem operasi tersebar antaranya AMOEBA , MACH , dan sebagainya.
Model komputasi Paralel.
1. Embarasingly Parallel adalah pemrograman paralel yang digunakan pada masalah-masalah yang bisa diparalelkan tanpa membutuhkan komunikasi satu sama lain. Sebenarnya pemrograman ini bisa dibilang sebagai pemrograman paralel yang ideal, karena tanpa biaya komunikasi, lebih banyak peningkatan kecepatan yang bisa dicapai.


Pengantar Thread Programming
Terdapat 2 buah teknik pada thread, yaitu :
S
      static Threading
Teknik ini biasa digunakan untuk komputer dengan chip multiprocessors dan jenis komputer shared-memory lainnya. Teknik ini memungkinkan thread berbagi memori yang tersedia, menggunakan program counter dan mengeksekusi program secara independen. Sistem operasi menempatkan satu thread pada prosesor dan menukarnya dengan thread lain yang hendak menggunakan prosesor itu.

2    Dynamic Multithreading
Teknik ini merupakan pengembangan dari teknik sebelumnya yang bertujuan untuk kemudahan karena dengannya programmer tidak harus pusing dengan protokol komunikasi, load balancing dan kerumitan lain yang ada pada static threading. 
OpenMP merupakan API yang mendukung multi-platform berbagi memori multiprocessing pemrograman C , C + + , dan Fortran , pada kebanyakan arsitektur prosesor dan system operasi , termasuk Solaris , AIX , HP-UX , GNU / Linux , Mac OS X , dan Windows platform. Ini terdiri dari satu set perintah kompiler, rutinitas library, dan variable lingkungan yang mempengaruhi perilaku run-time. OpenMP dikelola oleh nirlaba teknologi konsorsium OpenMP Arsitektur Review Board (ARB atau OpenMP), bersama-sama didefinisikan oleh sekelompok perangkat keras komputer utama dan vendor perangkat lunak, termasuk AMD , IBM , Intel , Cray , HP , Fujitsu , Nvidia , NEC , Microsoft , Texas Instruments , Oracle Corporation , dan banyak lagi.
 
 Pengantar Pemrograman CUDA GPU
     Sebelum membahas apa itu CUDA, saya akan menjelaskan apa itu GPU. GPU ( Graphics Processing Unit ) adalah sebuah processor khusus yang dirancang untuk mempercepat, memanipulasi dan mengubah memori yang berfungsi mempercepat pemuatan gambar. dibawah ini adalah contoh dari salah satu GPU.

    kali ini saya akan membahas CUDA. CUDA ( Compute Unified Device Architecture ) merupakan suatu
 cara yang dibuat oleh NVIDIA agar GPU yang ada tidak hanya untuk mengolah  grafis melainkan juga dapat untuk tujuan umum. CUDA sendiri mendukung pemrogrman bahasa C yang dimana
dapat terhubung langsung dengan GPU.  untuk melihatnya dapat membuka www.nvidia.com/cuda .



sumber:
http://abdanniputri.blogspot.com/search/label/Softskill 
http://andri102.wordpress.com/game/soft-skill/konsep-komputasi-parallel-processing/
 http://seto.citravision.com/berita-50-parallel-computation--pengantar-message-passing-openmp.html
http://rcaesario.blogspot.com/2013/04/parallel-computation.html

Pengantar Quantum Computation

Komputasi kuantum adalah bidang studi yang difokuskan pada teknologi komputer berkembang berdasarkan prinsip-prinsip teori kuantum , yang menjelaskan sifat dan perilaku energi dan materi pada kuantum (atom dan subatom).
tingkat. Pengembangan komputer kuantum , jika praktis, akan menandai lompatan maju dalam kemampuan komputasi jauh lebih besar daripada yang dari sempoa ke modern superkomputer , dengan keuntungan kinerja di alam miliar kali lipat dan seterusnya. Komputer kuantum, mengikuti hukum fisika kuantum, akan memperoleh kekuatan pengolahan yang besar melalui kemampuan untuk berada di beberapa negara, dan untuk melakukan tugas-tugas menggunakan semua kemungkinan permutasi secara bersamaan

 Quantum Bit  
 Pada komputasi quantum, ada keterhubungan dengan biner.  Pada pc dan komputasi quantum sama-sama menggunakan bahasa komputer yang disebut biner. Biner adalah basis 2 dalam bahasa matematika karena hanya terdiri dari dua digit, yaitu 1 dan 0. Dalam komputasi kuantum unit dasar dari informasi adalah qubit (quantum bit)

Pengoperasian data qubit :
Dalam komputer kuantum, sejumlah partikel elemental seperti elektron atau foton dapat digunakan (dalam praktek, keberhasilan juga telah dicapai dengan ion), baik dengan biaya mereka atau polarisasi bertindak sebagai representasi dari 0 dan / atau 1. Setiap partikel-partikel ini dikenal sebagai qubit, sifat dan perilaku partikel-partikel ini (seperti yang diungkapkan dalam teori kuantum ) membentuk dasar dari komputasi kuantum. Dua aspek yang paling relevan fisika kuantum adalah prinsip superposisi dan Entanglement 
Quantum Gates
Untuk memanipulasi informasi dalam qubit, kita menggunakan gerbang kuantum (Quantum Gates). Sebuah gerbang kuantum bekerja mirip dengan gerbang logika klasik. Gerbang logika klasik mengambil bit sebagai input, mengevaluasi dan memproses input dan menghasilkan bit baru sebagai output.

Entanglement
Keterkaitan kuantum (Entanglement) adalah fenomena mekanika kuantum terkenal. Sebagai contoh misalkan Anda membuat dua elektron yang persis sama, dibentuk tepat pada saat yang sama, dan di tempat yang sama. Sekarang, Anda mengambil satu elektron ini ke salah satu ujung alam semesta dan elektron lainnya ke ujung alam semesta.


Algortima Shor
Algortima Shor merupakan sebuah algoritma kuantum yang efisien bisa menguraikan pada pengali jumlah besar. Algortima ini merupakan pusat pada sistem yang menggunakan teori bilangan untuk memperkirakan periodisitas dari urutan nomor. Ditemukan oleh Peter Shor. Algortima ini di perbaharui oleh Lov Grover dari Bell Labs pada tahun 1996, dengan algoritma yang sangat cepat dan terbukti menjadi yang tercepat mungkin untuk mencari melalui database tidak terstruktur. Algoritma ini sangat efisien sehingga hanya membutuhkan rata-rata, sekitar akar N persegi  pencarian untuk menemukan hasil yang diinginkan.
 

Kamis, 16 Mei 2013

Pengantar Komputasi Cloud

a.     Pendahuluan

Cloud Computing adalah pemanfaatan teknologi komputer yang berasal dari penggabungan antara virtualisasi dan grid computing. Cloud computing menyediakan sebuah layanan dimana informasinya disimpan di server secara permanen dan disimpan di computer client secara temporary. E mail service, facebook, google adalah beberapa contoh penggunaan cloud computing. Di dalam cloud computing dikenal istilah front-end (desktop-PC) dan back-end(server) yang dimana harus saling terhubung di dalam sebuah jaringan internet. Front-end bertugas dalam pengambilan data dan menjalankan aplikasi dari back-end sedangkan Back-end bertugas sebagai sumber yang diistilahkan dengan cloud.
b.      Pengantar Komputasi Grid
Komputasi Grid adalah penggunaan sumber daya yang melibatkan banyak komputer . Digunakan untuk memecahkan persoalan komputasi dalam skala besar yang terdistribusi dan terpisah secara geografis. Komputasi Grid menjalankan sistem yang terkoordinasi terhadap sumberdaya komputasi yang tidak berada dibawah suatu kendali terpusat.
c.       Virtualisasi
Dalam ilmu komputer virtualisai adalah sebuah teknik untuk menyembunyikan karakteristik fisik dari sumber daya komputer dari bagaimana cara sistem lain, aplikasi atau pengguna berinteraksi dengan sumber daya tersebut. Jenis virtualisasi itu ada perangka keras, perangkat lunak, memori, pemasaran, data dan jaringan. Contoh software virtualisai itu ada Microsoft Hyper-V dan Virtual Box.
d.      Distributed Computation dalam Cloud Computing 
      Kegiatan ini merupakan kumpulan beberapa computer yang terhubung untuk melakukan pendistribusian, seperti mengirim dan menerima data serta melakukan interaksi lain antar computer yang dimana  membutuhkan sebuah jaringan agar computer satu dan lainnya bisa saling berhubung dan melakukan interaksi. Hal ini semua dilakukan dengan cloud computing  yang seperti kita ketahui memberikan layanan dimana informasinya disimpan di server secara permanen dan disimpan di computer client secara temporary.

e.       Map Reduce dan NoSQL (Not Only SQL)
Map Reduce adalah salah satu konsep teknis yang sangat penting di dalam teknologi cloud terutama karena dapat diterapkannya dalam lingkungan distributed computing. Dengan demikian akan menjamin skalabilitas aplikasi kita. Contoh penerapan map reduce adalah yang dilakukan oleh Google yang mana pada ranah open source terlihat percepatan pengembangan framework lain yang bersifat terdistribusi dan menggunakan konsep yang sama. 
NoSQL berorientasi dari berbagai hal seperti di bawah ini yaitu
  1. key-value orriented seperti, cassandra, riak, hypertable, dynamo,dll
  2. document orriented seperti, mongoDB, couchDB,Clusterpoint, SimpleDB,dll
  3. graph orriented seperti,  OrientDB, FlockDB, neo4j, pregel, dll
  4. multivalue database seperti, jBASE, OpenQM, InfinityDB, dll
  5. object database seperti, db40, NeoDatis ODB, JADE, dll
f.       NoSQL Database
NoSQL adalah sistem menejemen database yang berbeda dari sistem menejemen database relasional yang klasik dalam beberapa hal. NoSQL mungkin tidak membutuhkan skema table dan umumnya menghindari operasi join dan berkembang secara horisontal. Akademisi menyebut database seperti ini sebagai structured storage, istilah yang didalamnya mencakup sistem menejemen database relasional. NoSQL berisikan key dan value seperti Memcache, ataupun yang lebih canggih yaitu non-database relational seperti MongoDB  Cassandra  CouchDB, dan yang lainnya.
 
sumber:
http://www.komputasiawan.com/python/map-reduce
http://dian-pratiwi.web.ugm.ac.id/?p=54
http://id.wikipedia.org/wiki/Virtualisasi

Kamis, 09 Mei 2013

install wireless broadcomm pada linux

Untuk meng-install WiFi Broadcom di Ubuntu, ada dua cara yaitu dengan menggunakan aplikasi Hardware Driver dan cara manual download. Langkah-langkahnya sebagai berikut :
Cara yang Pertama :
  1. Koneksikan PC atau Laptop Anda ke internet menggunakan kabel LAN;
  2. Jalankan aplikasi Hardware Driver dengan mengklik menu System -> Administration -> Hardware Drivers dan pilih Broadcom Wireless B43 wireless driver, kemudian klik tombol Activate;

  3. Tunggu proses install. Proses ini akan sedikit memakan waktu, karena proses install akan mendownload driver dari server luar;
  4. Restart Komputer Anda, klik tombol WiFi pada keyboard, kemudian klik pada logo komputer.
Cara yang Kedua :
  1. Jika Anda tidak mempunyai koneksi internet, anda dapat mendownload paket driver yang sudah penulis paketkan di sini;
  2. Copy paket yang di download tadi ke home user Anda;
  3. Sekarang, jalankan konsole terminal dengan mengklik menu Applications -> Accesories -> Terminal dan install driver dengan perintah berikut;
  4. $ tar xzvf b43-fwcutter.tar.gz
    $ cd b43-fwcutter/
    $ bash install_bcm43xx_firmware.sh
  5. Akhirnya, restart komputer Anda untuk memastikan jika WiFi sudah terinstall dan bekerja dengan baik.
Catatan :
Cara instalasi diatas adalah, jika broadcom terdeteksi pada hardware driver Broadcom B43 Wireless Driver.
Selamat Mencoba!!
Sumber Referensi :
http://techie-buzz.com/
http://www.ugos.ugm.ac.id/main/2010/12/install-driver-wireless-berchipset-broadcom-di-linux-ubuntu/