Kamis, 19 Mei 2011

Kuis Softskill


Komputasi Modern
Soal
  1. Apa yang kamu ketahui tentang komputasi modern ?
  2. Jelaskan sejarah komputasi modern !
  3. Sebutkan macam-macam komputasi modern !
Jawaban
1. Komputasi Modern
Komputasi berasal dari bahasa inggris yaitu computing dan computation. Computing berarti suatu aktifitas yang menggunakan atau memperbaiki hardware dan software, computation berarti suatu cara untuk menemukan pemecahan permasalahan dari data input dengan suatu algoritma. Dapat disimpulkan. Komputasi ialah suatu aktifitas untuk menemukan pemecahan permasalahan dengan suatu algoritma dengan menggunakan hardware dan software yang ada.
Kesimpulan
Komputasi Modern ialah suatu aktifitas untuk menemukan pemecahan permasalahan dengan suatu algoritma dengan menggunakan hardware dan software yang terbaru. Komputasi modern terdiri dari dua kata yaitu komputasi dan modern. Komputasi dapat diartikan sebagai cara untuk menemukan pemecahan permasalahan dari data input dengan suatu algoritma. Komputasi merupakan subbagian dari matematika. Disebut modern karena menggunakan alat canggih saat menyelesaian masalah. Maka dapat di simpulkan Komputasi modern adalah perhitungan yang menggunakan komputer canggih dimana pada computer tersebut tersimpan sejumlah algoritma untuk menyelesaikan masalah perhitungan secara efektif dan efisien. Komputasi modern digunakan untuk memecahkan masalah antara lain untuk menghitung akurasi (bit, floating point), kecepatan (dalam satuanHz), problem volume besar (paralel), modeling (NN dan GA) dan kompleksitas (menggunakan Teori Big O).
2. Sejarah Komputasi Modern
Asal muasal komputasi dari adanya perhitungan-perhitungan angka yang dilakukan manusia. Manusia telah mengenal angka dan perhitungan sejak berabad-abad yang lalu. Manusia purba telah mengenal perhitungan, yang bisa dilihat dari adanya sistem berter barang pada zaman itu. Manusia purba telah bisa memperkirakan suatu barang nilainya akan sama dengan barang apa. Bangsa romawi pun telah dapat menghitung sistem kalender dan rasi bintang.

Zaman berlalu, manusia pun melakukan perhitungan-perhitungan yang lebih kompleks. Otak manusia juga mengalami keterbatasan dalam menghitung angka yang jumlahnya bisa berdigit-digit. Karena hal tersebut, manusia pun membuat alat-alat perhitungan yang bisa membantunya. Alat perhitungan yang sederhana yang masih dapat dilihat saat ini adalah “sempoa”.

Kemudian sekitar tahun 1920an, kata "mesin komputasi" mulai dikenal, setiap mesin yang dapat membantu melakukan pekerjaan manusia disebut mesin komputasi, yaitu mesin yang dapat menghitung dengan metode yang efektif. Pada tahun 1940-1950 dengan munculnya mesin komputasi elektronik kata "mesin komputasi" mulai berubah menjadi "komputer" yang biasanya diawali dengan "elektronik" atau "digital". 
3. Macam-macam komputasi modern ada 3 macam, yaitu :
Mobile Computing atau Komputasi Bergerak
Mobile computing (komputasi bergerak) merupakan kemajuan teknologi komputer sehingga dapat berkomunikasi menggunakan jaringan tanpa menggunakan kabel serta mudah dibawa atau berpindah tempat, tetapi berbeda dengan komputasi nirkabel. Berdasarkan penjelasan tersebut, untuk kemajuan teknologi ke arah yang lebih dinamis membutuhkan  perubahan dari sisi manusia maupun alat. Contoh dari mobile computing adalah GPS, smart phone, dan sebagainya.
Grid Computing
Komputasi grid memanfaatkan kekuatan pengolahan idle berbagai unit komputer, dan menggunakan kekuatan proses untuk menghitung satu pekerjaan. Pekerjaan itu sendiri dikontrol oleh satu komputer utama, dan dipecah menjadi beberapa tugas yang dapat dilaksanakan secara bersamaan pada komputer yang berbeda. Tugas-tugas ini tidak perlu saling eksklusif, meskipun itu adalah skenario yang ideal. Sebagai tugas lengkap pada berbagai unit komputasi, hasil dikirim kembali ke unit pengendali, yang kemudian collates itu membentuk keluaran kohesif.
Keuntungan dari komputasi grid adalah dua kali lipat: pertama, kekuatan pemrosesan yang tidak digunakan secara efektif digunakan, memaksimalkan sumber daya yang tersedia dan, kedua, waktu yang dibutuhkan untuk menyelesaikan pekerjaan besar berkurang secara signifikan.
Idealnya kode sumber harus direstrukturisasi untuk membuat tugas-tugas yang saling eksklusif adalah sebagai mungkin. Itu tidak berarti bahwa mereka tidak bisa saling bergantung, tetapi pesan yang dikirim antara tugas-tugas meningkatkan faktor waktu. Satu pertimbangan penting saat membuat pekerjaan komputasi grid adalah bahwa apakah kode dijalankan serial atau paralel tugas, hasil dari keduanya harus selalu sama di setiap situasi.
Cloud Computing atau Komputasi Awan
Cloud computing adalah perluasan dari konsep pemrograman berorientasi objek abstraksi. Abstraksi, sebagaimana dijelaskan sebelumnya, menghapus rincian kerja yang kompleks dari visibilitas. Semua yang terlihat adalah sebuah antarmuka, yang menerima masukan dan memberikan output. Bagaimana output ini dihitung benar-benar tersembunyi.
Paralel Processing
Soal
  1. Apa yang kamu ketahui tentang komputasi ?
  2. Apa yang kamu ketahui tentang paralel processing ?
  3. Jelaskan hubungan antara komputasi modern dengan paralel processing !
Jawaban
1.      Komputasi berasal dari bahasa inggris yaitu computing dan computation. Computing berarti suatu aktifitas yang menggunakan atau memperbaiki hardware dan software, computation berarti suatu cara untuk menemukan pemecahan permasalahan dari data input dengan suatu algoritma. Dapat disimpulkan. Komputasi ialah suatu aktifitas untuk menemukan pemecahan permasalahan dengan suatu algoritma dengan menggunakan hardware dan software yang ada.
2.   Parallel processing atau Pemrosesan Parallel merupakan penggunaan lebih dari satu CPU untuk menjalankan sebuah program secara simultan yang artinya membuat sebuah program berjalan lebih cepat karena CPU yang digunakan banyak. Namun pada penerapannya sangat sulit membagi sebuah proses program kedalam CPU yang berbeda-beda tanpa memiliki keterkaitan diantaranya.
  1. Komputasi modern mengadopsi konsep paralel processing. Dalam konsep tersebut, proses perhitungan/komputasi dapat dilakukan dengan menggunakan 2 atau lebih processor dalam suatu komputer yang sama. Hal ini dapat meningkatkan kinerja komputer, yang tadinya lamban menjadi lebih cepat. Tidak hanya cepat, komputer dengan parallel processing, dapat menghitung angka yang lebih besar dari sebelumnya. Komputer yang demikian sudah termasuk ke dalam komputer dengan komputasi modern.
Bioinformatika
Soal
  1. Apa yang dimaksud dengan Bioinformatika?
  2. Sebutkan beberapa penerapan Bioinformatika?
Jawaban
1.    Bioinformatika dalam bahasa Inggris bioinformatics adalah ilmu yang mempelajari penerapan teknik komputasional untuk mengelola dan menganalisis informasi biologis. Bidang ini mencakup penerapan metode-metode matematika, statistika, dan informatika untuk memecahkan masalah-masalah biologis, terutama dengan menggunakan sekuens DNA dan asam amino serta informasi yang berkaitan dengannya. Contoh topik utama bidang ini meliputi basis data untuk mengelola informasi biologis, penyejajaran sekuens (sequence alignment), prediksi struktur untuk meramalkan bentuk struktur protein maupun struktur sekunder RNA, analisis filogenetik, dan analisis ekspresi gen.
2.    Penerapan Bioinformatika
·        Basis data sekuens biologis. Sesuai dengan jenis informasi biologis yang disimpannya, basis data sekuens biologis dapat berupa basis data primer untuk menyimpan sekuens primer asam nukleat maupun protein, basis data sekunder untuk menyimpan motif sekuens protein, dan basis data struktur untuk menyimpan data struktur protein maupun asam nukleat. Basis data utama untuk sekuens asam nukleat saat ini adalah GenBank (Amerika Serikat), EMBL (Eropa), dan DDBJ(Inggris) (DNA Data Bank of Japan, Jepang). Ketiga basis data tersebut bekerja sama dan bertukar data secara harian untuk menjaga keluasan cakupan masing-masing basis data. Sumber utama data sekuens asam nukleat adalah submisi langsung dari periset individual, proyek sekuensing genom, dan pendaftaran paten. Selain berisi sekuens asam nukleat, entri dalam basis data sekuens asam nukleat umumnya mengandung informasi tentang jenis asam nukleat (DNA atau RNA), nama organisme sumber asam nukleat tersebut, dan pustaka yang berkaitan dengan sekuens asam nukleat tersebut.
·         Penyejajaran sekuens (sequence alignment) adalah proses penyusunan/pengaturan dua atau lebih sekuens sehingga persamaan sekuens-sekuens tersebut tampak nyata. Hasil dari proses tersebut juga disebut sebagai sequence alignment atau alignment saja. Baris sekuens dalam suatu alignment diberi sisipan (umumnya dengan tanda "–") sedemikian rupa sehingga kolom-kolomnya memuat karakter yang identik atau sama di antara sekuens-sekuens tersebut. Berikut adalah contoh alignment DNA dari dua sekuens pendek DNA yang berbeda, "ccatcaac" dan "caatgggcaac" (tanda "|" menunjukkan kecocokan atau match di antara kedua sekuens).
·         Prediksi Struktur Protein. Secara kimia/fisika, bentuk struktur protein diungkap dengan kristalografi sinar-X ataupun spektroskopi NMR, namun kedua metode tersebut sangat memakan waktu dan relatif mahal. Sementara itu, metode sekuensing protein relatif lebih mudah mengungkapkan sekuens asam amino protein. Prediksi struktur protein berusaha meramalkan struktur tiga dimensi protein berdasarkan sekuens asam aminonya (dengan kata lain, meramalkan struktur tersier dan struktur sekunder berdasarkan struktur primer protein). Secara umum, metode prediksi struktur protein yang ada saat ini dapat dikategorikan ke dalam dua kelompok, yaitu metode pemodelan protein komparatif dan metode pemodelan de novo.
·         Analisis Ekspresi gen dapat ditentukan dengan mengukur kadar mRNA dengan berbagai macam teknik (misalnya dengan microarray ataupun Serial Analysis of Gene Expression ["Analisis Serial Ekspresi Gen", SAGE]). Teknik-teknik tersebut umumnya diterapkan pada analisis ekspresi gen skala besar yang mengukur ekspresi banyak gen (bahkan genom) dan menghasilkan data skala besar. Metode-metode penggalian data (data mining) diterapkan pada data tersebut untuk memperoleh pola-pola informatif. Sebagai contoh, metode-metode komparasi digunakan untuk membandingkan ekspresi di antara gen-gen, sementara metode-metode klastering (clustering) digunakan untuk mempartisi data tersebut berdasarkan kesamaan ekspresi gen.




Jumat, 22 April 2011

BioInformatika

Pengenalan
Bioinformatika dalam bahasa Inggris bioinformatics adalah ilmu yang mempelajari penerapan teknik komputasional untuk mengelola dan menganalisis informasi biologis. Bidang ini mencakup penerapan metode-metode matematika, statistika, dan informatika untuk memecahkan masalah-masalah biologis, terutama dengan menggunakan sekuens DNA dan asam amino serta informasi yang berkaitan dengannya. Contoh topik utama bidang ini meliputi basis data untuk mengelola informasi biologis, penyejajaran sekuens (sequence alignment), prediksi struktur untuk meramalkan bentuk struktur protein maupun struktur sekunder RNA, analisis filogenetik, dan analisis ekspresi gen.

Sejarah
Istilah bioinformatics mulai dikemukakan pada pertengahan era 1980-an untuk mengacu pada penerapan komputer dalam biologi. Namun demikian, penerapan bidang-bidang dalam bioinformatika (seperti pembuatan basis data dan pengembangan algoritma untuk analisis sekuens biologis) sudah dilakukan sejak tahun 1960-an.
Kemajuan teknik biologi molekular dalam mengungkap sekuens biologis dari protein (sejak awal 1950-an) dan asam nukleat (sejak 1960-an) mengawali perkembangan basis data dan teknik analisis sekuens biologis. Basis data sekuens protein mulai dikembangkan pada tahun 1960-an di Amerika Serikat, sementara basis data sekuens DNA dikembangkan pada akhir 1970-an di Amerika Serikat dan Jerman (pada European Molecular Biology Laboratory, Laboratorium Biologi Molekular Eropa). Penemuan teknik sekuensing DNA yang lebih cepat pada pertengahan 1970-an menjadi landasan terjadinya ledakan jumlah sekuens DNA yang berhasil diungkapkan pada 1980-an dan 1990-an, menjadi salah satu pembuka jalan bagi proyek-proyek pengungkapan genom, meningkatkan kebutuhan akan pengelolaan dan analisis sekuens, dan pada akhirnya menyebabkan lahirnya bioinformatika.
Perkembangan Internet juga mendukung berkembangnya bioinformatika. Basis data bioinformatika yang terhubung melalui Internet memudahkan ilmuwan mengumpulkan hasil sekuensing ke dalam basis data tersebut maupun memperoleh sekuens biologis sebagai bahan analisis. Selain itu, penyebaran program-program aplikasi bioinformatika melalui Internet memudahkan ilmuwan mengakses program-program tersebut dan kemudian memudahkan pengembangannya.

Penerapan utama bioinformatika

·         Basis data sekuens biologis

Sesuai dengan jenis informasi biologis yang disimpannya, basis data sekuens biologis dapat berupa basis data primer untuk menyimpan sekuens primer asam nukleat maupun protein, basis data sekunder untuk menyimpan motif sekuens protein, dan basis data struktur untuk menyimpan data struktur protein maupun asam nukleat.
Basis data utama untuk sekuens asam nukleat saat ini adalah GenBank (Amerika Serikat), EMBL (Eropa), dan DDBJ(Inggris) (DNA Data Bank of Japan, Jepang). Ketiga basis data tersebut bekerja sama dan bertukar data secara harian untuk menjaga keluasan cakupan masing-masing basis data. Sumber utama data sekuens asam nukleat adalah submisi langsung dari periset individual, proyek sekuensing genom, dan pendaftaran paten. Selain berisi sekuens asam nukleat, entri dalam basis data sekuens asam nukleat umumnya mengandung informasi tentang jenis asam nukleat (DNA atau RNA), nama organisme sumber asam nukleat tersebut, dan pustaka yang berkaitan dengan sekuens asam nukleat tersebut.
Sementara itu, contoh beberapa basis data penting yang menyimpan sekuens primer protein adalah PIR (Protein Information Resource, Amerika Serikat), Swiss-Prot (Eropa), dan TrEMBL (Eropa). Ketiga basis data tersebut telah digabungkan dalam UniProt (yang didanai terutama oleh Amerika Serikat). Entri dalam UniProt mengandung informasi tentang sekuens protein, nama organisme sumber protein, pustaka yang berkaitan, dan komentar yang umumnya berisi penjelasan mengenai fungsi protein tersebut.
BLAST (Basic Local Alignment Search Tool) merupakan perkakas bioinformatika yang berkaitan erat dengan penggunaan basis data sekuens biologis. Penelusuran BLAST (BLAST search) pada basis data sekuens memungkinkan ilmuwan untuk mencari sekuens 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 sekuensing maupun untuk memeriksa fungsi gen hasil sekuensing. Algoritma yang mendasari kerja BLAST adalah penyejajaran sekuens.
PDB (Protein Data Bank, Bank Data Protein) adalah basis data tunggal yang menyimpan model struktural tiga dimensi protein dan asam nukleat hasil penentuan eksperimental (dengan kristalografi sinar-X, spektroskopi NMR dan mikroskopi elektron). PDB menyimpan data struktur sebagai koordinat tiga dimensi yang menggambarkan posisi atom-atom dalam protein ataupun asam nukleat.

·         Penyejajaran sekuens

Penyejajaran sekuens (sequence alignment) adalah proses penyusunan/pengaturan dua atau lebih sekuens sehingga persamaan sekuens-sekuens tersebut tampak nyata. Hasil dari proses tersebut juga disebut sebagai sequence alignment atau alignment saja. Baris sekuens dalam suatu alignment diberi sisipan (umumnya dengan tanda "–") sedemikian rupa sehingga kolom-kolomnya memuat karakter yang identik atau sama di antara sekuens-sekuens tersebut. Berikut adalah contoh alignment DNA dari dua sekuens pendek DNA yang berbeda, "ccatcaac" dan "caatgggcaac" (tanda "|" menunjukkan kecocokan atau match di antara kedua sekuens).
 
Sequence alignment merupakan metode dasar dalam analisis sekuens. Metode ini digunakan untuk mempelajari evolusi sekuens-sekuens dari leluhur yang sama (common ancestor). Ketidakcocokan (mismatch) dalam alignment diasosiasikan dengan proses mutasi, sedangkan kesenjangan (gap, tanda "–") diasosiasikan dengan proses insersi atau delesi. Sequence alignment memberikan hipotesis atas proses evolusi yang terjadi dalam sekuens-sekuens tersebut. Misalnya, kedua sekuens dalam contoh alignment di atas bisa jadi berevolusi dari sekuens yang sama "ccatgggcaac". Dalam kaitannya dengan hal ini, alignment juga dapat menunjukkan posisi-posisi yang dipertahankan (conserved) selama evolusi dalam sekuens-sekuens protein, yang menunjukkan bahwa posisi-posisi tersebut bisa jadi penting bagi struktur atau fungsi protein tersebut.
Selain itu, sequence alignment juga digunakan untuk mencari sekuens yang mirip atau sama dalam basis data sekuens. BLAST adalah salah satu metode alignment yang sering digunakan dalam penelusuran basis data sekuens. BLAST menggunakan algoritma heuristik dalam penyusunan alignment. Beberapa metode alignment lain yang merupakan pendahulu BLAST adalah metode "Needleman-Wunsch" dan "Smith-Waterman". Metode Needleman-Wunsch digunakan untuk menyusun alignment global di antara dua atau lebih sekuens, yaitu alignment atas keseluruhan panjang sekuens tersebut. Metode Smith-Waterman menghasilkan alignment lokal, yaitu alignment atas bagian-bagian dalam sekuens. Kedua metode tersebut menerapkan pemrograman dinamik (dynamic programming) dan hanya efektif untuk alignment dua sekuens (pairwise alignment).
Clustal adalah program bioinformatika untuk alignment multipel (multiple alignment), yaitu alignment beberapa sekuens sekaligus. Dua varian utama Clustal adalah ClustalW dan ClustalX. Metode lain yang dapat diterapkan untuk alignment sekuens adalah metode yang berhubungan dengan Hidden Markov Model ("Model Markov Tersembunyi", HMM). HMM merupakan model statistika yang mulanya digunakan dalam ilmu komputer untuk mengenali pembicaraan manusia (speech recognition). Selain digunakan untuk alignment, HMM juga digunakan dalam metode-metode analisis sekuens lainnya, seperti prediksi daerah pengkode protein dalam genom dan prediksi struktur sekunder protein.
 

·         Prediksi struktur protein

 

Model protein hemaglutinin dari virus influensa
Secara kimia/fisika, bentuk struktur protein diungkap dengan kristalografi sinar-X ataupun spektroskopi NMR, namun kedua metode tersebut sangat memakan waktu dan relatif mahal. Sementara itu, metode sekuensing protein relatif lebih mudah mengungkapkan sekuens asam amino protein. Prediksi struktur protein berusaha meramalkan struktur tiga dimensi protein berdasarkan sekuens asam aminonya (dengan kata lain, meramalkan struktur tersier dan struktur sekunder berdasarkan struktur primer protein). Secara umum, metode prediksi struktur protein yang ada saat ini dapat dikategorikan ke dalam dua kelompok, yaitu metode pemodelan protein komparatif dan metode pemodelan de novo.
Pemodelan protein komparatif (comparative protein modelling) meramalkan struktur suatu protein berdasarkan struktur protein lain yang sudah diketahui. Salah satu penerapan metode ini adalah pemodelan homologi (homology modelling), yaitu prediksi struktur tersier protein berdasarkan kesamaan struktur primer protein. Pemodelan homologi didasarkan pada teori bahwa dua protein yang homolog memiliki struktur yang sangat mirip satu sama lain. Pada metode ini, struktur suatu protein (disebut protein target) ditentukan berdasarkan struktur protein lain (protein templat) yang sudah diketahui dan memiliki kemiripan sekuens dengan protein target tersebut. Selain itu, penerapan lain pemodelan komparatif adalah protein threading yang didasarkan pada kemiripan struktur tanpa kemiripan sekuens primer. Latar belakang protein threading adalah bahwa struktur protein lebih dikonservasi daripada sekuens protein selama evolusi; daerah-daerah yang penting bagi fungsi protein dipertahankan strukturnya. Pada pendekatan ini, struktur yang paling kompatibel untuk suatu sekuens asam amino dipilih dari semua jenis struktur tiga dimensi protein yang ada. Metode-metode yang tergolong dalam protein threading berusaha menentukan tingkat kompatibilitas tersebut.
Dalam pendekatan de novo atau ab initio, struktur protein ditentukan dari sekuens primernya tanpa membandingkan dengan struktur protein lain. Terdapat banyak kemungkinan dalam pendekatan ini, misalnya dengan menirukan proses pelipatan (folding) protein dari sekuens primernya menjadi struktur tersiernya (misalnya dengan simulasi dinamika molekular), atau dengan optimisasi global fungsi energi protein. Prosedur-prosedur ini cenderung membutuhkan proses komputasi yang intens, sehingga saat ini hanya digunakan dalam menentukan struktur protein-protein kecil. Beberapa usaha telah dilakukan untuk mengatasi kekurangan sumber daya komputasi tersebut, misalnya dengan superkomputer (misalnya superkomputer Blue Gene  dari IBM) atau komputasi terdistribusi (distributed computing, misalnya proyek Folding@home) maupun komputasi grid 

·         Analisis ekspresi gen

Ekspresi gen dapat ditentukan dengan mengukur kadar mRNA dengan berbagai macam teknik (misalnya dengan microarray ataupun Serial Analysis of Gene Expression ["Analisis Serial Ekspresi Gen", SAGE]). Teknik-teknik tersebut umumnya diterapkan pada analisis ekspresi gen skala besar yang mengukur ekspresi banyak gen (bahkan genom) dan menghasilkan data skala besar. Metode-metode penggalian data (data mining) diterapkan pada data tersebut untuk memperoleh pola-pola informatif. Sebagai contoh, metode-metode komparasi digunakan untuk membandingkan ekspresi di antara gen-gen, sementara metode-metode klastering (clustering) digunakan untuk mempartisi data tersebut berdasarkan kesamaan ekspresi gen.
 
Analisis klastering ekspresi gen pada kanker payudara

Sumber:
http://id.wikipedia.org/wiki/Bioinformatika

.