Minggu, 22 Juni 2014

Bio Informatika

Bioinformatika adalah sebuah disiplin ilmu yang mempelajari penerapan teknik komputasi untuk diterapkan dalam pengelolaan dan analisis biologis. Bidang ini mencakup penerapan dalam ilmu matematika, statistika dan informatika untuk memecahkan masalah biologis, terutama dalam hal DNA dan asam amino serta informasi yang terkait dengan kedua hal itu.


Sejarah

Istilah bioinformatika pertama kali dikemukakan pada pertengahan tahun 1980-an untuk mengacu pada penerapan ilmu komputer dalam biologi. Meskipun demikian, penerapan bidang-bidang dalam bioinformatika sudah dilakukan sejak tahun 1960-an dengan menggunakan komputer untuk penyimpanan data dengan jumlah data yang sangat banyak.

Kemajuan teknik biomolekular dalam mengungkap teknik sekuens DNA dari protein (sejak awal 1950-an) dan asam nukleat (sejak 1960-an) mengawali perkembangan basis data dan teknik analisis sekuens biologis. Penemuan teknik sekuensing DNA pada pertengahan 1970-an menjadi landasan terjadinya ledakan jumlah sekuens DNA yang telah diungkapkan pada tahun 1980-an dan 1990-an. Hal inilah yang menjadi  jalan pembuka bagi proyek-proyek pengungkapan genom, meningkatkan kebutuhan akan pengelolaan dan analisis sekuens, dan pada akhirnya menyebabkan lahirnya bioinformatika.

Perkembangan Internet yang semakin pesat juga mendukung berkembangnya bioinformatika. Basis data bioinformatika yang terhubung melalui Internet memudahkan para ilmuwan untuk mengumpulkan hasil sekuensing ke dalam basis data tersebut maupun memperoleh sekuens biologis sebagai bahan analisis.

Perangkat bioinformatika yang berkaitan erat dengan penggunaan pangkalan data sekuens Biologi ialah BLAST (Basic Local Alignment Search Tool). Penelusuran BLAST (BLAST search) pada pangkalan data sekuens memungkinkan ilmuwan untuk mencari sekuens baik asam nukleat maupun protein yang mirip dengan sekuens tertentu yang dimilikinya. Hal ini berguna misalnya untuk menemukan gen sejenis pada beberapa organisme atau untuk memeriksa keabsahan hasil sekuensingatau untuk memeriksa fungsi gen hasil sekuensing. Algoritma yang mendasari kerja BLAST adalah penyejajaran sekuens.

PDB (Protein Data Bank, Bank Data Protein) ialah pangkalan data tunggal yang menyimpan model struktur tiga dimensi protein dan asam nukleat hasil penentuan eksperimental (dengankristalografi sinar-X, spektroskopi NMR, dan mikroskopi elektron). PDB menyimpan data struktur sebagai koordinat tiga dimensi yang menggambarkan posisi atom-atom dalam protein atau pun asam nukleat.Bioinformatika merupakan ilmu terapan yang lahir dari perkembangan teknologi informasi dibidang molekular. Pembahasan dibidang bioinformatik ini tidak terlepas dari perkembangan biologi molekular modern, salah satunya peningkatan pemahaman manusia dalam bidang genomic yang terdapat dalam molekul DNA.

Kemampuan untuk memahami dan memanipulasi kode genetik DNA ini sangat didukung oleh teknologi informasi melalui perkembangan hardware dan soffware. Baik pihak pabrikan sofware dan harware maupun pihak ketiga dalam produksi perangkat lunak. Salah satu contohnya dapat dilihat pada upaya Celera Genomics, perusahaan bioteknologi Amerika Serikat yang melakukan pembacaan sekuen genom manusia yang secara maksimal memanfaatkan teknologi informasi sehingga bisa melakukan pekerjaannya dalam waktu yang singkat (hanya beberapa tahun).


Bioinformatika dalam Dunia Kedokteran

1. Bioinformatika dalam bidang klinis
Perananan Bioinformatika dalam bidang klinis ini sering juga disebut sebagai informatika klinis (clinical informatics). Aplikasi dari clinical informatics ini adalah berbentuk manajemen data-data klinis dari pasien melalui Electrical Medical Record (EMR) yang dikembangkan oleh Clement J. McDonald dari Indiana University School of Medicine pada tahun 1972 [5]. McDonald pertama kali mengaplikasikan EMR pada 33 orang pasien penyakit gula (diabetes). Sekarang EMR ini telah diaplikasikan pada berbagai penyakit. Data yang disimpan meliputi data analisa diagnosa laboratorium, hasil konsultasi dan saran, foto ronsen, ukuran detak jantung, dll. Dengan data ini dokter akan bisa menentukan obat yang sesuai dengan kondisi pasien tertentu. Lebih jauh lagi, dengan dibacanya genom manusia, akan memungkinkan untuk mengetahui penyakit genetik seseorang, sehingga personal care terhadap pasien menjadi lebih akurat.
2. Bioinformatika untuk identifikasi agent penyakit baru
Bioinformatika juga menyediakan tool yang esensial untuk identifikasi agent penyakit yang belum dikenal penyebabnya. Banyak sekali contoh-contoh penyakit baru (emerging diseases) yang muncul dalam dekade ini, dan diantaranya yang masih hangat di telinga kita tentu saja SARS (Severe Acute Respiratory Syndrome).
3. Bioinformatika untuk diagnosa penyakit baru
Untuk penyakit baru diperlukan diagnosa yang akurat sehingga bisa dibedakan dengan penyakit lain.
Diagnosa yang akurat ini sangat diperlukan untuk penanganan pasien seperti pemberian obat dan perawatan yang tepat. Jika pasien terinfeksi virus influenza dengan panas tinggi, hanya akan sembuh jika diberi obat yang cocok untuk infeksi virus influenza. Sebaliknya, tidak akan sembuh kalau diberi obat untuk malaria. Karena itu, diagnosa yang tepat untuk suatu penyakit sangat diperlukan.
4. Bioinformatika untuk penemuan obat
Usaha penemuan obat biasanya dilakukan dengan penemuan zat/senyawa yang bisa menekan perkembangbiakan suatu agent penyebab penyakit. Karena banyak faktor yang bisa mempengaruhi perkembangbiakan agent tersebut, faktor-faktor itulah yang dijadikan target. Diantara faktor tersebut adalah enzim-enzim yang diperlukan untuk perkembangbiakan suatu agent. Langkah pertama yang dilakukan adalah analisa struktur dan fungsi enzim-enzim tersebut. Kemudian mencari atau mensintesa zat/senyawa yang bisa menekan fungsi dari enzim-enzim tersebut. Penemuan obat yang
efektif adalah penemuan senyawa yang berinteraksi dengan asam amino yang berperan untuk aktivitas (active site) dan untuk kestabilan enzim tersebut.


Sumber :
http://ianspace.wordpress.com/2011/05/01/bioinformatika/
http://octianaeni.blogspot.com/2013/10/tahukah-kalian-apa-yang-dimaksud-dengan.html
http://andri102.wordpress.com/bioinformatika/

Sabtu, 07 Juni 2014

PARALEL PROCESSING

KOMPUTASI dan PARALEL PROCESSING

Komputasi
Sebagian besar manusia di dunia mengetahui apa itu komputer, komputer berbeda dengan komputasi. Jadi, komputasi merupakan suatu cara untuk menemukan pemecahan permasalahan dari data input dengan suatu algoritma. Pengertian Komputasi adalah proses menghitung, membandingkan dan berbagai operasi perhitungan matematika dan logika yang bertujuan untuk menyelesaikan suatu masalah yang dikerjakan dengan program komputer yang sudah disusun sesuai dengan Algoritma yang benar.  
 Kelebihan dari proses perhitungan komputasi yaitu bisa mendapatkan suatu hasil laporan dengan cepat dan akurat. Karena kita tinggal menginput data ke komputer, maka sistem yang telah dibuat tadi akan bekerja dan mengolah data kita menjadi informasi yang lebih berguna.

Parallel Processing 
Pemrosesan paralel (parallel processing) 
Yaitu menggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat programberjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam praktek, seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbeda-beda tanpa berkaitan di antaranya. 



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 keuangan, bioinformatika, 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.

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. Salah satu middleware yang asli dikembangkan di Indonesia adalah OpenPC yang dipelopori oleh GFTK LIPI dan diimplementasikan di LIPI Public Center.

Pemrograman Paralel sendiri adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan. Bila komputer yang digunakan secara bersamaan tersebut dilakukan oleh komputer-komputer terpisah yang terhubung dalam satu jaringan komputer, biasanya disebut sistem terdistribusi. Bahasa pemrograman yang populer digunakan dalam pemrograman paralel adalah MPI (Message Passing Interface) dan PVM (Parallel Virtual Machine).

Yang perlu diingat adalah komputasi paralel berbeda dengan multitasking. Pengertian multitasking adalah komputer dengan processor tunggal mengeksekusi beberapa tugas secara bersamaan. Walaupun beberapa orang yang bergelut di bidang sistem operasi beranggapan bahwa komputer tunggal tidak bisa melakukan beberapa pekerjaan sekaligus, melainkan proses penjadwalan yang berlakukan pada sistem operasi membuat komputer seperti mengerjakan tugas secara bersamaan. Sedangkan komputasi paralel sudah dijelaskan sebelumnya, bahwa komputasi paralel menggunakan beberapa processor atau komputer. Selain itu komputasi paralel tidak menggunakan arsitektur Von Neumann.

Untuk lebih memperjelas lebih dalam mengenai perbedaan komputasi tunggal (menggunakan 1 processor) dengan komputasi paralel (menggunakan beberapa processor), maka kita harus mengetahui terlebih dahulu pengertian mengenai model dari komputasi. Ada 4 model komputasi yang digunakan, yaitu:
  • SIMD
  • SIMD
  • MISD
  • MIMD

SISD

Yang merupakan singkatan dari Single Instruction, Single Data adalah satu-satunya yang menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa processor. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.

SIMD

Yang merupakan singkatan dari Single Instruction, Multiple Data. SIMD menggunakan banyak processor dengan instruksi yang sama, namun setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2 mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk processor-processor yang lain. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).

MISD

Yang merupakan singkatan dari Multiple Instruction, Single Data. MISD menggunakan banyak processor dengan setiap processor menggunakan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh, kita bisa menggunakan kasus yang sama pada contoh model SIMD namun cara penyelesaian yang berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga, keempat dan kelima sama-sama mengolah data dari urutan 1-100, namun algoritma yang digunakan untuk teknik pencariannya berbeda di setiap processor. Sampai saat ini belum ada komputer yang menggunakan model MISD.

MIMD

Yang merupakan singkatan dari Multiple Instruction, Multiple Data. MIMD menggunakan banyak processor dengan setiap processor memiliki instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.
Singkatnya untuk perbedaan antara komputasi tunggal dengan komputasi paralel, bisa digambarkan pada gambar di bawah ini:



Penyelesaian Sebuah Masalah pada Komputasi Tunggal





Penyelesaian Sebuah Masalah pada Komputasi Paralel

Dari perbedaan kedua gambar di atas, kita dapat menyimpulkan bahwa kinerja komputasi paralel lebih efektif dan dapat menghemat waktu untuk pemrosesan data yang banyak daripada komputasi tunggal.
Dari penjelasan-penjelasan di atas, kita bisa mendapatkan jawaban mengapa dan kapan kita perlu menggunakan komputasi paralel. Jawabannya adalah karena komputasi paralel jauh lebih menghemat waktu dan sangat efektif ketika kita harus mengolah data dalam jumlah yang besar. Namun keefektifan akan hilang ketika kita hanya mengolah data dalam jumlah yang kecil, karena data dengan jumlah kecil atau sedikit lebih efektif jika kita menggunakan komputasi tunggal.

Hubungan antara Komputasi Modern dengan Paralel Processing

Hubungan antara komputasi modern dan parallel processing sangat berkaitan, karena penggunaan komputer saat ini atau komputasi dianggap lebih cepat dibandingkan dengan penyelesaian masalah secara manual. Dengan begitu peningkatan kinerja atau proses komputasi semakin diterapkan, dan salah satu caranya adalah dengan meningkatkan kecepatan perangkat keras. Dimana komponen utama dalam perangkat keras komputer adalah processor. Sedangkan parallel processing adalah penggunaan beberapa processor (multiprocessor atau arsitektur komputer dengan banyak processor) agar kinerja computer semakin cepat.

Kinerja komputasi dengan menggunakan paralel processing itu menggunakan dan memanfaatkan beberapa komputer atau CPU untuk menemukan suatu pemecahan masalah dari masalah yang ada. Sehingga dapat diselesaikan dengan cepat daripada menggunakan satu komputer saja. Komputasi dengan paralel processing akan menggabungkan beberapa CPU, dan membagi-bagi tugas untuk masing-masing CPU tersebut. Jadi, satu masalah terbagi-bagi penyelesaiannya. Tetapi ini untuk masalah yang besar saja, komputasi yang masalah kecil, lebih murah menggunakan satu CPU saja.

Sumber:
http://blog.rian.web.id/komputasi_dengan_parallel_processing.html
http://spancills.wordpress.com/2011/05/21/kuis-softskills/
http://thaajah.blogspot.com/2013/06/artikel-tentang-komputasi-dan-paralel.html