Pages

Subscribe:

Minggu, 17 Mei 2015

Komputasi Parallel

Oke selamat datang kembali sobat blogger, pada postingan saya kali ini akan dibahas mengenai komputasi parallel serta bagian-bagian dari komputasi parallel itu sendiri ? ada yang tau komputasi parallel itu apa ? yuk sama-sama kita belajar ^_^

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

2. Pemrosesan Terdistrubusi
Pemrosesan Terdistribusi atau Sistem Terdistribusi adalah Sekumpulan komputer otonom yang terhubung ke suatu jaringan, dimana bagi pengguna sistem terlihat sebagai satu komputer. Maksud komputer otonomi adalah walaupun komputer tidak terhubung ke jaringan, komputer tersebut tetap data berjalan. Dengan menjalankan sistem terdistribusi, komputer dapat melakukan :
Koordinasi Aktifitas
Berbagi sumber daya : hardware, software dan data

3. Arsitektur Komputer Paralel
Paralelisme dalam suatu komputer dapat diaplikasikan pada beberapa tingkatan, seperti berikut:
A. Tingkat pekerjaan: antara pekerjaan-pekerjaan atau fase-fase suatu pekerjaan. Hal ini menjadi prinsip dasar dari multiprogramming.
B. Tingkat prosedur: antara prosedur-prosedur dan di dalam loop. Hal ini harus tercakup sebagai hal yang penting bagi suatu bahasa.
C. Tingkat instruksi: antara fase-fase sebuah siklus instruksi, yaitu fetch, decode dan eksekusi suatu instruksi.
D. Tingkat aritmatika dan bit: antara bit-bit dalam sirkuit aritmatika. Salah satu contohnya adalah adder paralel.

4. Pengantar Thread Programming
Threading / Thread adalah sebuah alur kontrol dari sebuah proses. Konsep threading adalah menjalankan 2 proses ( proses yang sama atau proses yang berbeda ) dalam satu waktu. Contohnya sebuah web browser mempunyai thread untuk menampilkan gambar atau tulisan sedangkan thread yang lain berfungsi sebagai penerima data dari network.
Threading dibagi menjadi 2 :
A. 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.
B. 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. Concurrency platform ini menyediakan scheduler yang melakukan load balacing secara otomatis. Walaupun platformnya masih dalam pengembangan namun secara umum mendukung dua fitur : nested parallelism dan parallel loops.

5. Pengantar Message Parsing, Open MP
Message Passing Interface (MPI)
MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram untuk membuat sebuah aplikasi yang dapat dijalankan secara paralel. Proses yang dijalankan oleh sebuah aplikasi dapat dibagi untuk dikirimkan ke masing-masing compute node yang kemudian masing-masing compute node tersebut mengolah dan mengembalikan hasilnya ke komputer head node.Untuk merancang aplikasi paralel tentu membutuhkan banyak pertimbangan-pertimbangan diantaranya adalah latensi dari jaringan dan lama sebuah tugas dieksekusi oleh prosesor.MPI ini merupakan standard yang dikembangkan untuk membuat aplikasi pengirim pesan secara portable. Sebuah komputasi paralel terdiri dari sejumlah proses, dimana masing-masing bekerja pada beberapa data lokal. Setiap proses mempunyai variabel lokal, dan tidak ada mekanismesuatu proses yang bisa mengakses secara langsung memori yang lain. Pembagian data antar proses dilakukan dengan message passing, yaitu dengan mengirim dan menerima pesan antar proses. MPI menyediakan fungsi-fungsi untuk menukarkan antar pesan.

Kegunaan MPI yang lain :
menulis kode paralel secara portable
mendapatkan performa yang tinggi dalam pemrograman paralel
menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis yang tidak begitu cocok dengan model data paralel.
OpenMP
Open MP 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.

6. Pengantar Pemrograman CUDA GPU
GPU ( Graphical Processing Unit ) awalnya adalah sebuah prosesor yang berfungsi khusus untuk melakukan rendering pada kartu grafik saja, tetapi seiring dengan semakin meningkatnya kebutuhan rendering, terutama untuk mendekati waktu proses yang realtime, maka meningkat pula kemampuan prosesor grafik tersebut. akselerasi peningkatan teknologi GPU ini lebih cepat daripada peningkatan teknologi prosesor sesungguhnya ( CPU ), dan pada akhirnya GPU menjadi General Purpose, yang artinya tidak lagi hanya untuk melakukan rendering saja melainkan bisa untuk proses komputasi secara umum.
Penggunaan Multi GPU dapat mempercepat waktu proses dalam mengeksekusi program karena arsitekturnya yang natively parallel. Selain itu Peningkatan performa yang terjadi tidak hanya berdasarkan kecepatan hardware GPU saja, tetapi faktor yang lebih penting adalah cara membuat kode program yang benarbenar bisa efektif berjalan pada Multi GPU.
CUDA (Compute Unified Device Architecture) merupakan teknologi anyar dari produsen kartu grafis Nvidia, dan mungkin belum banyak digunakan orang secara umum. Teknologi ini dapat digunakan untuk menjalankan proses pengolahan gambar, video, rendering 3D, dan lain sebagainya. Kartu grafis lebih banyak digunakan untuk menjalankan aplikasi game, namun dengan teknologi CUDA ini kartu grafis dapat digunakan lebih optimal ketika menjalankan sebuah software aplikasi. Fungsi kartu grafis Nvidia digunakan untuk membantu Processor (CPU) dalam melakukan kalkulasi dalam proses data
VGA dari Nvidia yang sudah menggunakan teknologi CUDA antara lain : Nvidia GeForce GTX 280, GTX 260,9800 GX2, 9800 GTX+,9800 GTX,9800 GT,9600 GSO, 9600 GT,9500 GT,9400 GT,9400 mGPU,9300 mGPU,8800 Ultra,8800 GTX,8800 GTS,8800 GT,8800 GS,8600 GTS,8600 GT,8500 GT,8400 GS, 8300 mGPU, 8200 mGPU, 8100 mGPU, dan seri sejenis untuk kelas mobile ( VGA notebook ).Singkatnya, CUDA dapat memberikan proses dengan pendekatan bahasa C, sehingga programmer atau pengembang software dapat lebih cepat menyelesaikan perhitungan yang komplek. Bukan hanya aplikasi seperti teknologi ilmu pengetahuan yang spesifik. CUDA sekarang bisa dimanfaatkan untuk aplikasi multimedia. Misalnya meng-edit film dan melakukan filter gambar. Sebagai contoh dengan aplikasi multimedia, sudah mengunakan teknologi CUDA. Software TMPGenc 4.0 misalnya membuat aplikasi editing dengan mengambil sebagian proces dari GPU dan CPU. VGA yang dapat memanfaatkan CUDA hanya versi 8000 atau lebih tinggi.

Referensi :
http://mojomakearocket.blogspot.com
http://arditoadi.blogspot.com
https://krustybrain.wordpress.com/2013/05/25/tugas-4-softskill-pengantar-komputasi-modern-sem-8/
http://wwwpengembanganblogspot.blogspot.com/
http://rrezzablog.blogspot.com/2009/11/parallel-processing.html
http://id.wikipedia.org/wiki/Komputasi_paralel
Selengkapnya...

Sabtu, 09 Mei 2015

Membuat Website Menggunakan Adobe Flash

Pada postingan saya kali ini, saya akan memberikan materi tentang bagaimana cara membuat sebuah website pribadi berbentuk web flash. Software yang akan kita gunakan adalah Adobe Flash, software ini selain dapat digunakan untuk membuat animasi, presentasi juga dapat digunakan untuk membuat sebuah website. Berikut adalah cara pembuatan website flash sederhana :

Pertama, ketika kita membuka Adobe flash pilih Flash file (action script 2.0) 




Kemudian akan muncul tampilan seperti ini :

Atur dimensi document dengan memilih menu Modify, pilih document,  setelah itu akan muncul kotak dialog seperti ini dan atur size 640 x 480 pixel

Ubah background dengan warna hitam

Selanjutnya kita akan membuat tombol, buat sebuah layer baru dan beri nama tombol pada layar tersebut.

Selanjutnya kita akan membuat tombol, klik ractangel tool

Buat design tombol sekreatif anda pada layar kerja, misalnya seperti ini :

Kemudian aktifkan objek tombol tersebut lalu pilih insert, new symbol (F8) dan pilih sebagai movie clip

Setelah itu klik 2x pada objek tombol, maka kita akan dibawa pada frame bar yaitu didalam symbol 1, disini akan kita animasikan tombol tadi agar terlihat menarik.

Untuk membuatnya bergerak kita ubah letak tombol itu dengan digeser pada setiap framenya, untuk mengkopi ke frame selanjutnya gunakan tombol F6, kreasikan tombol anda dan buat semenarik mungkin.
Jika sudah, agar pergerakan animasi tidak berulang, maka pada frame terakhir kita beri script stop, untuk itu kita klik pada frame terakhir lalu tekan tombol f9, maka akan muncul kottak dialog seperti ini :

Pilih stop pada menu timeline control, cukup diklik 2x, setelah itu close kotak dialog tadi.

Masih pada frame terakhir, kali ini kita akan menjadikan gambar tombol pada frame terakhir menjadi sebuah button, klik pada gambar tombol, kemudian tekan tombol F8 dan pilih convert to button :

Setelah diklik OK, kita klik 2x pada objek tombol tersebut, maka seperti pada frame movie clip tadi, kita akan dibawa pada frame symbol2, namun yang membedakan di sini adalah pada frame button haya terdapat 4 frame, yaitu UP, OVER, DOWN dan HIT.

Sedikit penjelasan :
UP : keadaan button sebelum dieksekusi
OVER : Keadaan butto ketika disorot oleh cursur
DOWN : Keadaan button ketika diKlik
HIT : Jangkauan area aktif button

Tekan tombol f6 sebanyak 4 kali sampai semua frame terisi.

Setelah itu klik pada “Symbol 1” untuk kembali ke frame movie clip tombol.
Buat lah beberapa tombol kembali sebanyak yang anda butuhkan dengan mengikuti step by step seperti tadi.

Selanjutnya kita kembali ke frame scene, dan kini kita akan membuat isi dari masing2 tombol, kali ini saya akan mencontohkan isi dari tombol profile.
Buat layer baru dan beri nama layer tersebut dengan isi.

Kita akan memulainya pada frame ke2, untuk itu kita tekan tombol F6
Lalu isikan dengan data-data sesuai dengan keinginan kalian.
  
Buat layer baru dan beri nama Stop, kemudian tekan tombol F9 dan pilih STOP

Masuk ke frame button dan tekan tombol F9 lalu ketikan script seperti ini :

Jika telah selesai maka kita export ke public HTML. Dengan cara klik file, pilih publish setting lalu atur seperti ini :
Klik publish.

File website anda kini telah jadi :D
untuk melihat web yang telah saya buat klik link dibawah ini :
asyaif.id1945.com

Nama Kelompok :

1. Ananda Syaifullah (50411692)
2. Bramantya Dwi Cahyadi (51411532)
3. Zefri Tri Suprayogi (57411728) Selengkapnya...

Rabu, 22 April 2015

Quantum Computation

Pada postingan saya kali ini, masih berkutat dengan tugas softskill dikampus dan tugas nya minggu ini adalah saya akan membahas mengenai komputasi quantum, oke langsung saja kita bahas

Apa sih Komputasi quantum itu ?


Dikutip dari halaman wikipedia quantum computation atau Komputer kuantum adalah alat hitung yang menggunakan sebuah fenomena mekanika kuantum, misalnya superposisi dan keterkaitan, untuk melakukan operasi data. Dalam komputasi klasik, jumlah data dihitung dengan bit; dalam komputer kuantum, hal ini 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.

Ide mengenai komputer kuantum ini berasal dari beberapa fisikawan antara lain Charles H. Bennett dari IBM, Paul A. Benioff dari Argonne National Laboratory, Illinois, David Deutsch dari University of Oxford, dan Richard P. Feynman dari California Institute of Technology (Caltech).
Pada awalnya Feynman mengemukakan idenya mengenai sistem kuantum yang juga dapat melakukan proses penghitungan. Fenyman juga mengemukakan bahwa sistem ini bisa menjadi simulator bagi percobaan fisika kuantum.
Selanjutnya para ilmuwan mulai melakukan riset mengenai sistem kuantum tersebut, mereka juga berusaha untuk menemukan logika yang sesuai dengan sistem tersebut. Sampai saat ini telah dikemukaan dua algoritma baru yang bisa digunakan dalam sistem kuantum yaitu algoritma shor dan algoritma grover.
Walaupun komputer kuantum masih dalam pengembangan, telah dilakukan eksperimen dimana operasi komputasi kuantum dilakukan atas sejumlah kecil Qubit. Riset baik secara teoretis maupun praktik terus berlanjut dalam laju yang cepat, dan banyak pemerintah nasional dan agensi pendanaan militer mendukung riset komputer kuantum untuk pengembangannya baik untuk keperluan rakyat maupun masalah keamanan nasional seperti kriptoanalisis.
Telah dipercaya dengan sangat luas, bahwa apabila komputer kuantum dalam skala besar dapat dibuat, maka komputer tersebut dapat menyelesaikan sejumlah masalah lebih cepat daripada komputer biasa. Komputer kuantum berbeda dengan komputer DNA dan komputer klasik berbasis transistor, walaupun mungkin komputer jenis tersebut menggunakan prinsip kuantum mekanik. Sejumlah arsitektur komputasi seperti komputer optik walaupun menggunakan superposisi klasik dari gelombang elektromagnetik, namun tanpa sejumlah sumber kuantum mekanik yang spesifik seperti keterkaitan, maka tak dapat berpotensi memiliki kecepatan komputasi sebagaimana yang dimiliki oleh komputer kuantum.


Pengertian Quantum Entanglement



Quantum Entanglement adalah satu prinsip penting dalam fizik kuantum walaupun ianya belum benar-benar difahami. Jika kita mempunyai beberapa partikel yang berkait satu sama lain, ukuran untuk quantum state bagi satu saja partikel sudah cukup untuk mengetahui keadaan kuantum partikel yang lainnya.
Partikel-partikel ini berhubung di antara satu sama lain dalam cara yang luar biasa dan dikenali Einstein dengan “ spooky action at a distance”. Ia adalah fenomena kuantum yang luar biasa dan susah diterima akal. Einstein sendiri walaupun menyedari Quantum Entanglement adalah fenomena biasa partikel, dia berharap agar perkara serupa itu tidak ada dalam fizik dan Einstein memang tidak menyukainya. Tetapi adakah “action at a distance” diantara 2 partikel benar-benar berlaku? Ianya diterangkan dalam sebuah teori dikenali Bell Theorem melalui sebuah persamaan matematik dinamakan “Bell inequalities”.
Pada asasnya, teori popular yang berkaitan Quantum Entanglement dikenali dengan “EPR Paradox” iaitu kependekan kepada Einstein-Podolsky-Rosen Paradox. Ia telah diperkemaskan lagi oleh ahli Fizik bernama John Stewart Bell melalui teorinya “Bell theorem”. Teori Bell cuba mengesahkan samada benar atau tidak partikel berhubung diantara mereka melalui quantum entanglement.
Dalam kes EPR Paradox, katalah kita mempunyai partikel A dan partikel B dan keduanya berhubungan melalui Quantum Entaglement. Justeru, sifat kedua-duanya akan saling berkaitan. Sebagai contoh, jika spin untuk partikel A berkemungkinan ½ maka spin untuk partikel B berkemungkinan -1/2 atau vice versa.
Cumanya, jika kita telah mengukur spin untuk partikel A maka kita boleh mengetahui secara pasti keadaan spin untuk partikel B walaupun tanpa mengukur spin bagi partikel B secara langsung. Jika partikel A mempunyai spin ½ maka secara automatisnya partikel B akan mempunyai spin -1/2. Dan jika partikel B mempunyai spin ½ maka secara automatisnya partikel A akan mempunyai spin -1/2. (Perkara ini dibuktikan benar-benar berlaku menerusi eksperimen). Jangkaan ini boleh dilakukan kerana kedua-dua partikel berkait dan berhubungan melalui Quantum Entanglement.

Pengoperasian Data Qubits



Pengoperasian pada Data Qubits adalah dengan kedua nilai yang disimpan pada setiap qubit akan selalu mempengaruhi operasi komputer kuantum. Selain itu, sebuah n qubits sama-sama ber-superposisi dari 0 dan 1, dia berperan untuk mengkodekan 2n nilai. Komputer kuantum dapat menghitung nilai keseluruhannya sekaligus. Keadaan paralel ini memiliki istilah Paralelisme Kuantum. Setiap rangkaian yang tercipta selalu memiliki rangkaian kuantum yang sesuai. Jadi dapat disimpulkan bahwa teknologi yang diterapkan pada komputer kuantum mampu melakukan perhitungan pada semua nilai pada waktu yang hampir sama, dengan waktu yang sama komputer konvensional hanyabisa melakukan perhitungan tunggal.



Quantum Gates



Quantum Logic Gates, Prosedur berikut menunjukkan bagaimana cara untuk membuat sirkuit reversibel yang mensimulasikan dan sirkuit ireversibel sementara untuk membuat penghematan yang besar dalam jumlah ancillae yang digunakan.
- Pertama mensimulasikan gerbang di babak pertama tingkat.
- Jauhkan hasil gerbang di tingkat d / 2 secara terpisah.
- Bersihkan bit ancillae.
- Gunakan mereka untuk mensimulasikan gerbang di babak kedua tingkat.
- Setelah menghitung output, membersihkan bit ancillae.
- Bersihkan hasil tingkat d / 2.
Setiap perhitungan klasik dapat dipecah menjadi urutan klasik gerbang logika yang bertindak hanya pada bit klasik pada satu waktu, sehingga juga bisa setiap kuantum perhitungan dapat dipecah menjadi urutan gerbang logika kuantum yang bekerja pada hanya beberapa qubit pada suatu waktu. Perbedaan utama adalah bahwa gerbang logika klasik memanipulasi nilai bit klasik, 0 atau 1, gerbang kuantum dapat sewenang-wenang memanipulasi nilai kuantum multi-partite termasuk superposisi dari komputasi dasar yang juga dilibatkan. Jadi gerbang logika kuantum perhitungannya jauh lebih bervariasi daripada gerbang logika perhitungan klasik.

Algoritma Shor



Sebuah komputer kuantum tidaklah sama dengan komputer klasik. Hal ini tidak dalam hal kecepatan saja, namun juga dalam hal pemrosesan informasi. Sebuah komputer kuantum dapat mensimulasikan sebuah proses yang tidak dapat dilakukan oleh komputer klasik. Hal ini membuat para ilmuwan harus memiliki paradigma baru dalam hal permrosesan informasi.
Selama ini, sebuah komputer bekerja didasarkan hukum-hukum fisika klasik. Informasi didefinisikan secara positif, direpresentasikan secara material dan diproses berdasarkan hukum-hukum fisika klasik. Ketika para fisikawan masuk ke dalam teori kuantum dalam pemrosesan informasi, mereka diharuskan untuk mengubah pandangan mereka mengenai pemrosesan informasi. Lebih jauh lagi, mereka harus mengembangkan sebuah sistem logika baru yang mengikuti hukum-hukum fisika kuantum. Sistem logika baru ini disebut dengan logika kuantum. Sistem logika kuantum berbeda sama sekali dengan sistem logika yang selama ini dipakai, yaitu sistem logika yang dikembangkan oleh Aristoteles.
Dengan sistem logika yang baru, para ilmuwan harus memikirkan sebuah algoritma yang berbeda untuk memproses informasi. Inilah yang sebenarnya merupakan inti dari komputer kuantum. Beberapa algoritma telah dikembangkan dan yang di antaranya telah berhasil ditemukan adalah algoritma Shor yang ditemukan oleh Peter Shor pada tahun 1995. Lewat algoritma Shor ini, sebuah komputer kuantum dapat memecahkan sebuah kode rahasia yang saat ini secara umum 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.
Sebagai contoh, seorang pemecah kode akan membutuhkan waktu 8 bulan dan 1.600 pengguna internet jika ia akan memecahkan kode RSA yang disandikan dalam 129 digit. Jika hal ini mungkin, pengirim data hanya perlu menambahkan digit pada kode RSA-nya agar para pemecah kode membutuhkan waktu yang lebih lama lagi untuk memecahkan kuncinya. Sebagai gambaran, pemecahan kode RSA 140 (140 digit) akan membutuhkan waktu yang lebih lama dari umur alam semesta (15 miliar tahun). Namun, jika pemecah kode menggunakan komputer kuantum, mereka dapat memecahkan kode RSA 140 hanya dalam waktu beberapa detik. Hal inilah yang membuat waswas para pengguna channel komunikasi rahasia saat ini untuk melakukan pengiriman data secara aman.

Referensi :
http://id.wikipedia.org/wiki/Komputer_kuantum
http://physciense.blogspot.com/2013/11/apa-itu-quantum-entanglement-siri-1.html
http://task-campus.blogspot.com/2013/06/pengantar-quantum-computation.html
http://gregoriousvalentine.blogspot.com/2014/06/quantum-computation.html
Gambar
Selengkapnya...