Selasa, 03 Mei 2016

Komputasi Modern pada Bidang Kimia

67 komentar
Pendahuluan
Komputasi sebetulnya bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Hal ini ialah apa yang disebut dengan teori komputasi, suatu sub-bidang dari ilmu komputer dan matematika. Selama ribuan tahun, perhitungan dan komputasi umumnya dilakukan dengan menggunakan pena dan kertas, atau kapur dan batu tulis, atau dikerjakan secara mental, kadang-kadang dengan bantuan suatu tabel. Namun sekarang, kebanyakan komputasi telah dilakukan dengan menggunakan komputer.
Secara umum iIlmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan memecahkan masalah-masalah ilmu (sains). Dalam penggunaan praktis, biasanya berupa penerapan simulasi komputer atau berbagai bentuk komputasi lainnya untuk menyelesaikan masalah-masalah dalam berbagai bidang keilmuan, tetapi dalam perkembangannya digunakan juga untuk menemukan prinsip-prinsip baru yang mendasar dalam ilmu.
Bidang ini berbeda dengan ilmu komputer (computer science), yang mengkaji komputasi, komputer dan pemrosesan informasi. Bidang ini juga berbeda dengan teori dan percobaan sebagai bentuk tradisional dari ilmu dan kerja keilmuan. Dalam ilmu alam, pendekatan ilmu komputasi dapat memberikan berbagai pemahaman baru, melalui penerapan model-model matematika dalam program komputer berdasarkan landasan teori yang telah berkembang, untuk menyelesaikan masalah-masalah nyata dalam ilmu tersebut.

Komputasi modern adalah sebuah konsep sistem yang menerima intruksi-intruksi dan menyimpannya dalam sebuah memory, memory disini bisa juga dari memory komputer. Oleh karena pada saat ini kita melakukan komputasi menggunakan komputer maka bisa dibilang komputer merupakan sebuah 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 . Beliau juga merupakan salah satu ilmuwan yang terkait dalam pembuatan bom atom di Los Alamos pada Perang Dunia II lalu. Kegeniusannya dalam matematika telah terlihat semenjak kecil dengan mampu melakukan pembagian bilangan delapan digit (angka) di dalam kepalanya.
Dalam kerjanya komputasi modern menghitung dan mencari solusi dari masalah yang ada, dan perhitungan yang dilakukan itu meliputi:
  1. Akurasi (big, Floating point)
  2. Kecepatan (dalam satuan Hz)
  3. Problem Volume Besar (Down Sizzing atau pararel)
  4. Modeling (NN & GA)
  5. Kompleksitas (Menggunakan Teori big O)

Implementasi pada Bidang Kimia

Kimia komputasi adalah cabang kimia yang menggunakan hasil kimia teori yang diterjemahkan ke dalam program komputer untuk menghitung sifat-sifat molekul dan perubahannya maupun melakukan simulasi terhadap sistem-sistem besar (makromolekul seperti protein atau sistem banyak molekul seperti gas, cairan, padatan, dan kristal cair), dan menerapkan program tersebut pada sistem kimia nyata. Contoh sifat-sifat molekul yang dihitung antara lain struktur (yaitu letak atom-atom penyusunnya), energi dan selisih energi, muatan, momen dipol, kereaktifan, frekuensi getaran dan besaran spektroskopi lainnya. Simulasi terhadap makromolekul (seperti protein dan asam nukleat) dan sistem besar bisa mencakup kajian konformasi molekul dan perubahannya (misal proses denaturasi protein), perubahan fase, serta peramalan sifat-sifat makroskopik (seperti kalor jenis) berdasarkan perilaku di tingkat atom dan molekul. Istilah kimia komputasi kadang-kadang digunakan juga untuk bidang-bidang tumpang-tindah antara ilmu komputer dan kimia.
Jurnal Kimia menggunakan Komputasi Modern
Berikut review salah satu contoh jurnal dan tautan yang berisikan jurnal-jurnal yang menggunakan komputasi modern pada bidang kimia.

Abstraksi(Anton, a Special-Purpose Machinefor Molecular Dynamics Simulation)

Kemampuan untuk melakukan simulasi dinamika molekul dengan panjang dan akurat (MD) yang melibatkan protein dan makromolekul biologis dan kimiawi lainnya pada dasarnya dapat memberikan jawaban atas beberapa pertanyaan yang paling penting dalam bidang biologi, kimia, dan obat-obatan. Berbagai fenomena menarik, namun, dapat terjadi lebih dari rentang waktu pada urutan dari perintah milidetik (beberapa dari besarnya melampaui durasi terpanjang saat ini) dalam simulasi MD. 
Kami menggambarkan sebuah mesin massal paralel yang disebut Anton, yang harus mampu melaksanakan proses dengan skala milidetik dalam simulasi MD klasik sistem biomolekuler tersebut. Mesin, yang dijadwalkan selesai pada akhir 2008, didasarkan pada 512 Asics MD-spesifik identik yang berinteraksi secara ketat ditambah menggunakan  jaringan komunikasi khusus berkecepatan tinggi.
Anton telah dirancang untuk menggunakan kedua algoritma paralel novel dan tujuan khusus logika untuk secara dramatis mempercepat perhitungan tersebut yang mendominasi waktu yang dibutuhkan untuk simulasi MD khas. Pengingat algoritma simulasi dijalankan oleh diprogram sebuah porsi setiap chip yang mencapai tingkat substansial paralelisme sambil menjaga fleksibilitas yang diperlukan untuk mengakomodasi kemajuan diantisipasi dalam model fisik dan metode simulasi.

Review(Anton, a Special-Purpose Machinefor Molecular Dynamics Simulation)

Jurnal tersebut membahas tentang masalah perhitungan dalam Dinamika Molekular dalam bidang Kimia dan obat-obatan khususnya. Permasalahan tersebut berupa reaksi kimia molekular yang dapat terjadi dalam waktu yang sangat cepat yaitu dalam rentang milidetik. Hal tersebut menyebabkan kesukaran bagi manusia dalam melakukan pengamatan dan penghitungan dengan cara konvensional yaitu dengan cara manual. Oleh karenanya permasalahan tersebut akan coba diselesaikan dengan cara mengembangkan sebuah alat komputasi Dinamika Molecular yang mampu melakukan pengamatan dan penghitungan reaksi kimia dalam skala milidetik.

Metode perhitungan Anton dalam MD mensimulasikan gerakan kumpulan atom (sistem kimia) selama periode waktu sesuai dengan hukum Waktu physics.1 waktu reaksi klasik dipecah menjadi serangkaian langkah waktu diskrit, masing-masing mewakili beberapa femtosekon waktu simulasi. Sebuah langkah waktu memiliki dua fase utama. perhitungan gaya menghitung gaya pada setiap partikel karena partikel lain dalam sistem. Integrasi menggunakan gaya total pada setiap partikel untuk memperbarui posisi itu partikel dan kecepatan.

Gaya interatomik dihitung berdasarkan bidang mekanika molekular kekuatan (atau hanya memaksa lapangan), yang model gaya pada setiap atom sebagai fungsi dari koordinat spasial semua atom.Anton menggunakan metode k-ruang Gaussian perpecahan Ewald untuk mengurangi beban kerja komputasi yang terkait dengan interaksi elektrostatik. Metode ini membagi perhitungan gaya elektrostatik menjadi dua komponen. Pertama peluruhan cepat dengan pemisahan partikel dan dihitung langsung untuk semua pasangan partikel dipisahkan oleh kurangdari radius cutoff. Kami menyebut kontribusi ini, bersama-sama dengan interaksi van der Waals, sebagai interaksi berbagai terbatas. Komponen kedua, interaksi jarak jauh, peluruhan yang lebih lambat, tetapi dapat dihitung secara efisien oleh biaya pemetaan dari partikel mesh biasa (biaya penyebaran), mengambil Fast Fourier Transform (FFT) dari biaya mesh, mengalikan dengan fungsi yang tepat dalam ruang Fourier, melakukan FFT terbalik, dan kemudian menghitung gaya pada partikel dari nilai-nilai jala yang dihasilkan (gaya interpolasi).
Fase integrasi menggunakan hasil perhitungan gayauntuk memperbarui posisi dan kecepatan atom, secara numerik mengintegrasikan satu set persamaan diferensial yang menggambarkan gerakan atom. Integrator numerik digunakan di MD bersifat trivial karena beberapa alasan. Pertama, algoritma integrasi dan cara di mana masalah numerik yang ditangani dapat memiliki dampak yang signifikan terhadap akurasi. Kedua, beberapa simulasi memerlukan integrator untuk menghitung dan menyesuaikan variabel global seperti temperatur dan tekanan. Akhirnya, salah satu secara signifikan dapat mempercepat paling simulasi dengan memasukkan kendala yang menghilangkan gerakan getaran tercepat. Misalnya, kendala biasanya digunakan untuk memperbaiki panjang obligasi untuk semua atom hidrogen dan menahan molekul air yang kaku.

Tautan(Jurnal Sumber)
https://drive.google.com/open?id=0B6GUim_Q8keccW9PMWNkXzZSOG8
https://drive.google.com/open?id=0B6GUim_Q8kecOEJIV2NZek5JMWs
https://drive.google.com/open?id=0B6GUim_Q8keceTJweFZJY1pMRjQ

Kelompok
A Firdha Shafridhi (50412441) Ahmad Syaiful Irsyad (50412473)
Marcellina Yoanita C (54412414)
Muhammad Andry Mahdison (54412876)
Timothy Abraham Yoseph (57412390)
Read more ►

Pengantar Thread Programming

29 komentar

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.
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.
Mekanisme ini terhitung lambat, karenanya disebut dengan static. Selain itu teknik ini tidak mudah diterapkan dan rentan kesalahan. Alasannya, pembagian pekerjaan yang dinamis di antara thread-thread menyebabkan load balancing-nya cukup rumit. Untuk memudahkannya programmer harus menggunakan protocol komunikasi yang kompleks untuk menerapkan scheduler load balancing. Kondisi ini mendorong pemunculan concurrency platforms yang menyediakan layer untuk mengkoordinasi, menjadwalkan, dan mengelola sumberdaya komputasi paralel.
Sebagian platform dibangun sebagai runtime libraries atau sebuah bahasa pemrograman paralel lengkap dengan compiler dan pendukung runtime-nya.
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. Nested parallelism memungkinkan sebuah subroutine di-spawned (ditelurkan dalam jumlah banyak seperti telur katak) sehingga program utama tetap berjalan sementara subroutine menghitung hasilnya. Sedangkan parallel loops seperti halnya fungsi for namun memungkinkan iterasi loop dilakukan secara bersamaan.

A Firdha Shafridhi (50412441)
Ahmad Syaiful Irsyad (50412473)
Marcellina Yoanita C (54412414)
Muhammad Andry Mahdison (54412876)
Timory Abraham Yoseph (57412390)

sumber :
http://djuneardy.blogspot.co.id/2015/05/konsep-arsitektur-paralel-pemrosesan.html
Read more ►

Quantum Gates

18 komentar
Quantum Gates adalah sebuah gerbang kuantum yang dimana berfungsi mengoperasikan bit yang terdiri dari 0 dan 1 menjadi qubits. dengan demikian Quantum gates mempercepat banyaknya perhitungan bit pada waktu bersamaan. Quantum Gates adalah blok bangunan sirkuit kuantum, seperti klasik gerbang logika yang untuk sirkuit digital konvensional.
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.
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.
Sekarang kita telah melihat gerbang reversibel ireversibel klasik dan klasik, memiliki konteks yang lebih baik untuk menghargai fungsi dari gerbang kuantum. Sama seperti 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.
Untuk memanipulasi sebuah qubit, maka menggunakan Quantum Gates (Gerbang Kuantum). Cara kerjanya yaitu 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.
Tidak seperti banyak gerbang logika klasik, logika kuantum gerbang reversibel . Namun, adalah mungkin untuk melakukan komputasi klasik menggunakan gerbang hanya reversibel. Sebagai contoh, reversibel gerbang Toffoli dapat melaksanakan semua fungsi Boolean. Gerbang ini memiliki setara kuantum langsung, menunjukkan bahwa sirkuit kuantum dapat melakukan semua operasi yang dilakukan oleh sirkuit klasik.
Quantum gerbang logika yang diwakili oleh matriks kesatuan . Gerbang kuantum yang paling umum beroperasi pada ruang satu atau dua qubit, seperti biasa klasik gerbang logika beroperasi pada satu atau dua bit. Ini berarti bahwa sebagai matriks, gerbang kuantum dapat dijelaskan oleh 2 × 2 atau 4 × 4 matriks kesatuan.

Jurnal Quantum Gates pada link berikut :
A Firdha Shafridhi (50412441)
Ahmad Syaiful Irsyad (50412473)
Marcellina Yoanita C (54412414)
Muhammad Andry Mahdison (54412876)
Timothy Abraham Yoseph (57412390)

Link Jurnal :
https://drive.google.com/file/d/0B3-vlpD3rqtfcE1UbEx0dkFIZjA/view?usp=sharing

Sumber :
https://zarapintar.wordpress.com/2015/06/04/pengantar-quantum-computation/
http://romydjuniardi.blogspot.co.id/2013/05/pengantar-quantum-computation.html
http://ezzatannaaziat.blogspot.sg/2015/05/pengantar-quantum-computation.html
Read more ►
 

Copyright © andreymahdison Design by O Pregador | Blogger Theme by Blogger Template de luxo | Powered by Blogger