Pengertian Komputasi
Modern
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:
- Akurasi
(big, Floating point)
Pengertian
Pararel Prosessing
Penggunaan
komputasi parallel prosessing merupakan pilihan yang cukup handal
untuk saat ini untuk pengolahan data yang besar dan banyak, hal ini
apabila dibandingkan dengan membeli suatu super komputer yang
harganya sangat mahal maka penggunaan komputasi parallel prosessing
merupakan pilihan yang sangat tepat untuk pengolahan data
tersebut.
Aspek keamanan merupakan suatu aspek penting
dalam sistem parallel prosessing komputasi ini, karena didalam sistem
akan banyak berkaitan dengan akses data, hak pengguna, keamanan data,
keamanan jaringan terhadap peyerangan sesorang atau bahkan virus
sehingga akan menghambat kinerja dari system komputasi
ini.
Parallel komputasi adalah melakukan perhitungan
komputasi dengan menggunakan 2 atau lebih CPU/Processor dalam suatu
komputer yang sama atau komputer yang berbeda dimana dalam hal ini
setiap instruksi dibagi kedalam beberapa instruksi kemudian dikirim
ke processor yang terlibat komputasi dan dilakukan secara bersamaan.
Untuk proses pembagian proses komputasi tersebut dilakukan oleh suatu
software yang betugas untuk mengatur komputasi dalam hal makalah ini
akan digunakan Message Parsing Interface (MPI). Pada sistem komputasi
parallel terdiri dari beberapa unit prosesor dan beberapa unit
memori. Ada dua teknik yang berbeda untuk mengakses data di unit
memori, yaitu shared memory address dan message passing. Berdasarkan
cara mengorganisasikan memori ini komputer paralel dibedakan menjadi
shared memory parallel machine dan distributed memory parallel
machine.
Prosesor dan memori ini didalam mesin paralel dapat
dihubungkan (interkoneksi) secara statis maupun dinamis. Interkoneksi
statis umumnya digunakan oleh distributed memory system (sistem
memori terdistribusi). Sambungan langsung peer to peer digunakan
untuk menghubungkan semua prosesor. Interkoneksi dinamis umumnya
menggunakan switch untuk menghubungkan antar prosesor dan memori.
Komunikasi data pada sistem paralel memori terdistribusi, memerlukan
alat bantu komunikasi. Alat bantu yang sering digunakan oleh sistem
seperti PC Jaringan pada saat ini adalah standar MPI (Message Passing
Interface) atau standar PVM (Parallel Virtual Machine)yang keduanya
bekerja diatas TCP/IP communication layer. Kedua standar ini
memerlukan fungsi remote access agar dapat menjalankan program pada
masing-masing unit prosesor.
Aspek
keamanan merupakan suatu aspek penting dalam sistem parallel
prosessing komputasi ini, karena didalam sistem akan banyak berkaitan
dengan akses data, hak pengguna, keamanan data, keamanan jaringan
terhadap peyerangan sesorang atau bahkan virus sehingga akan
menghambat kinerja dari system komputasi ini.
Parallel
komputasi adalah melakukan perhitungan komputasi dengan menggunakan 2
atau lebih CPU/Processor dalam suatu komputer yang sama atau komputer
yang berbeda dimana dalam hal ini setiap instruksi dibagi kedalam
beberapa instruksi kemudian dikirim ke processor yang terlibat
komputasi dan dilakukan secara bersamaan. Untuk proses pembagian
proses komputasi tersebut dilakukan oleh suatu software yang betugas
untuk mengatur komputasi dalam hal makalah ini akan digunakan Message
Parsing Interface (MPI). Pada sistem komputasi parallel terdiri dari
beberapa unit prosesor dan beberapa unit memori. Ada dua teknik yang
berbeda untuk mengakses data di unit memori, yaitu shared memory
address dan message passing. Berdasarkan cara mengorganisasikan
memori ini komputer paralel dibedakan menjadi shared memory parallel
machine dan distributed memory parallel machine.
Prosesor
dan memori ini didalam mesin paralel dapat dihubungkan (interkoneksi)
secara statis maupun dinamis. Interkoneksi statis umumnya digunakan
oleh distributed memory system (sistem memori terdistribusi).
Sambungan langsung peer to peer digunakan untuk menghubungkan semua
prosesor. Interkoneksi dinamis umumnya menggunakan switch untuk
menghubungkan antar prosesor dan memori. Komunikasi data pada sistem
paralel memori terdistribusi, memerlukan alat bantu komunikasi. Alat
bantu yang sering digunakan oleh sistem seperti PC Jaringan pada saat
ini adalah standar MPI (Message Passing Interface) atau standar PVM
(Parallel Virtual Machine)yang keduanya bekerja diatas TCP/IP
communication layer. Kedua standar ini memerlukan fungsi remote
access agar dapat menjalankan program pada masing-masing unit
prosesor.
Parallel komputasi adalah melakukan perhitungan
komputasi dengan menggunakan 2 atau lebih CPU/Processor dalam suatu
komputer yang sama atau komputer yang berbeda dimana dalam hal ini
setiap instruksi dibagi kedalam beberapa instruksi kemudian dikirim
ke processor yang terlibat komputasi dan dilakukan secara bersamaan.
Untuk proses pembagian proses komputasi tersebut dilakukan oleh suatu
software yang betugas untuk mengatur komputasi dalam hal makalah ini
akan digunakan Message Parsing Interface (MPI). Pada sistem komputasi
parallel terdiri dari beberapa unit prosesor dan beberapa unit
memori. Ada dua teknik yang berbeda untuk mengakses data di unit
memori, yaitu shared memory address dan message passing. Berdasarkan
cara mengorganisasikan memori ini komputer paralel dibedakan menjadi
shared memory parallel machine dan distributed memory parallel
machine.
Prosesor
dan memori ini didalam mesin paralel dapat dihubungkan (interkoneksi)
secara statis maupun dinamis. Interkoneksi statis umumnya digunakan
oleh distributed memory system (sistem memori terdistribusi).
Sambungan langsung peer to peer digunakan untuk menghubungkan semua
prosesor. Interkoneksi dinamis umumnya menggunakan switch untuk
menghubungkan antar prosesor dan memori. Komunikasi data pada sistem
paralel memori terdistribusi, memerlukan alat bantu komunikasi. Alat
bantu yang sering digunakan oleh sistem seperti PC Jaringan pada saat
ini adalah standar MPI (Message Passing Interface) atau standar PVM
(Parallel Virtual Machine)yang keduanya bekerja diatas TCP/IP
communication layer. Kedua standar ini memerlukan fungsi remote
access agar dapat menjalankan program pada masing-masing unit
prosesor.
Multiprocessing
juga kadang merujuk kepada kemampuan eksekusi terhadap beberapa
proses perangkat lunak dalam sebuah sistem secara serentak, jika
dibandingkan dengan sebuah proses dalam satu waktu, meski istilah
multiprogramming lebih sesuai untuk konsep ini. Multiprocessing
sering diimplementasikan dalam perangkat keras (dengan menggunakan
beberapa CPU sekaligus), sementara multiprogramming sering digunakan
dalam perangkat lunak. Sebuah sistem mungkin dapat memiliki dua
kemampuan tersebut, salah satu di antaranya, atau tidak sama
sekali.
Multiprocessing dapat dibagi ke dalam beberapa kelas,
yakni:
Berdasarkan simetrinya, multiprocessing dapat dibagi ke
dalam
o Asymmetric Multiprocessing (ASMP)
o Symmetric
Multiprocessing (SMP)
o Non-uniform memory access (NUMA)
multiprocessing
o Clustering
Berdasarkan jumlah instruksi
dan datanya, dapat dibagi ke dalam (lihat Taksonomi Flynn)
o SISD
(Single Instruction on Single Data Stream)
o SIMD (Single
Instruction on Multiple Data Stream)
o MISD (Multiple Instruction
on Single Data Stream)
o MIMD (Multiple Instruction on Multiple
Data Stream)
Berdasarkan kedekatan antar prosesor, dapat
dibagi ke dalam
o Loosely coupled
o Thightly coupled
Salah
satu contoh di atas adalah SIMD
SIMD adalah singkatan dari
Single Instruction, Multiple Data, merupakan sebuah istilah dalam
komputasi yang merujuk kepada sekumpulan operasi yang digunakan untuk
menangani jumlah data yang sangat banyak dalam paralel secara
efisien, seperti yang terjadi dalam prosesor vektor atau prosesor
larik. SIMD pertama kali dipopulerkan pada superkomputer skala besar,
meski sekarang telah ditemukan pada komputer pribadi.
Contoh
aplikasi yang dapat mengambil keuntungan dari SIMD adalah aplikasi
yang memiliki nilai yang sama yang ditambahkan ke banyak titik data
(data point), yang umum terjadi dalam aplikasi multimedia. Salah satu
contoh operasinya adalah mengubah brightness dari sebuah gambar.
Setiap pixel dari sebuah gambar 24-bit berisi tiga buah nilai
berukuran 8-bit brightness dari porsi warna merah (red), hijau
(green), dan biru (blue).
Untuk melakukan perubahan
brightness, nilai R, G, dan B akan dibaca dari memori, dan sebuah
nilai baru ditambahkan (atau dikurangkan) terhadap nilai-nilai R, G,
B tersebut dan nilai akhirnya akan dikembalikan (ditulis kembali) ke
memori.
Prosesor yang memiliki SIMD menawarkan dua keunggulan,
yakni:
• Data langsung dapat dipahami dalam bentuk blok data,
dibandingkan dengan beberapa data yang terpisah secara
sendiri-sendiri. Dengan menggunakan blok data, prosesor dapat memuat
data secara keseluruhan pada waktu yang sama. Daripada melakukan
beberapa instruksi "ambil pixel ini, lalu ambil pixel itu, dst",
sebuah prosesor SIMD akan melakukannya dalam sebuah instruksi saja,
yaitu "ambil semua pixel itu!" (istilah "semua"
adalah nilai yang berbeda dari satu desain ke desain lainnya). Jelas,
hal ini dapat mengurangi banyak waktu pemrosesan (akibat instruksi
yang dikeluarkan hanya satu untuk sekumpulan data), jika dibandingkan
dengan desain prosesor tradisional yang tidak memiliki SIMD (yang
memberikan satu instruksi untuk satu data saja).
• Sistem
SIMD umumnya hanya mencakup instruksi-instruksi yang dapat
diaplikasikan terhadap semua data dalam satu operasi. Dengan kata
lain, sistem SIMD dapat bekerja dengan memuat beberapa titik data
secara sekaligus, dan melakukan operasi terhadap titik data secara
sekaligus.
Sayangnya, beberapa desainer SIMD terbentur dengan
beberapa pertimbangan desain yang berada di luar kontrol mereka.
Salah satu pertimbangan tersebut adalah harus menambahkan banyak
register untuk menampung data yang akan diproses. Idealnya, hal ini
dapat dilakukan dengan menambahkan unit SIMD ke dalam prosesor agar
memiliki registernya sendiri, tetapi beberapa desainer terpaksa
menggunakan register yang telah ada, umumnya yang digunakan adalah
register floating-point. Register floating-point umumnya memiliki
ukuran 64-bit, yang lebih kecil daripada yang dibutuhkan oleh SIMD
agar bekerja secara optimal, meskipun hal ini dapat mendatangkan
masalah jika kode hendak mencoba untuk menggunakan instruksi
floating-point dan SIMD secara bersamaan.
Pada pendesainan
awal SIMD, terdapat beberapa prosesor yang khusus disiapkan untuk
melakukan tugas ini, yang seringnya disebut sebagai Digital Signal
Processor (DSP). Perbedaan utama antara SIMD dan DSP adalah DSP
merupakan prosesor yang komplit dengan set instruksinya sendiri (yang
meskipun lebih sulit digunakan), sementara SIMD hanya bergantung pada
register general-purpose untuk menangani detail program, dan
instruksi SIMD hanya menangani manipulasi data.
Penggunaan
instruksi SIMD pertama kali dilakukan dalam superkomputer vektor dan
dipopulerkan oleh Cray pada tahun 1970-an. Akhir-akhir ini, SIMD
skala kecil (64-bit atau 128-bit) telah menjadi populer dalam CPU
yang bersifat general purpose, yang dimulai pada tahun 1994 dengan
set instruks MAX yang diaplikasikan pada Hewlett-Packard PA-RISC.
Instruksi SIMD, saat ini dapat ditemukan dalam kebanyakan prosesor,
seperti halnya AltiVec dalam prosesor PowerPC; Intel MMX, SSE, SSE2,
SSE3, SSE4, AMD 3DNow! dalam prosesor Intel x86; VIS dalam prosesor
prosesor SPARC; MAX dalam Hewlett-Packard PA-RISC; MDMX serta MIPS-3D
dalam MIPS serta MVI dalam prosesor DEC Alpha. Meskipun demikian,
perangkat lunak pada umumnya tidak mengeksploitasi instruksi, dan
bahkan instruksi ini hanya digunakan dalam aplikasi yang khusus,
seperti pengolahan grafik.
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.
Kelebihan:
· Waktu
eksekusi lebih cepat.
· Throughput
jadi lebih tinggi.
Kekurangan:
· Perangkat
keras lainnya yang dibutuhkan.
· Kebutuhan
daya juga lebih.
· Tidak baik
untuk daya rendah dan perangkat mobile.
· Parallel
processing adalah salah satu teknik komputasi modern.
· Karena
membutuhkan banyak prosesor maka biaya mahal.
Salah
satu contoh dari pararel komputing adalah Bioinformatika
Definisi
Bioinformatika
Bioinformatika
“klasik”
Sebagian
besar ahli Biologi mengistilahkan ‘mereka sedang
melakukanBioinformatika’ ketika mereka sedang menggunakan komputer
untuk menyimpan, melihat atau mengambil data, menganalisa atau
memprediksi komposisi atau struktur dari biomolekul. Ketika kemampuan
komputer menjadi semakin tinggi maka proses yang dilakukan dalam
Bioinformatika dapat ditambah dengan melakukan simulasi. Yang
termasuk biomolekul diantaranya adalah materi genetik dari manusia
–asam nukleat– dan produk dari gen manusia, yaitu protein.
Hal-hal diataslah yang merupakan bahasan utama dari Bioinformatika
“klasik”, terutama berurusan dengan analisis sekuen
(sequenceanalysis).Definisi Bioinformatika menurut Fredj
Tekaia dari Institut Pasteur[TEKAIA2004] adalah: “metode
matematika, statistik dan komputasi yang bertujuan untuk
menyelesaikan masalah-masalah biologi dengan menggunakan sekuen DNA
dan asam amino dan informasi-informasi yang terkait dengannya.Dari
sudut pandang Matematika, sebagian besar molekul biologi mempunyai
sifatyang menarik, yaitu molekul-molekul tersebut adalah polymer;
rantai-rantai yang tersusun rapi dari modul-modul molekul yang lebih
sederhana, yang disebut monomer. Monomer dapat dianalogikan sebagai
bagian dari bangunan, dimana meskipun bagianbagian tersebut berbeda
warna dan bentuk, namun semua memiliki ketebalan yang sama dan cara
yang sama untuk dihubungkan antara yang satu dengan yang lain.
Monomer yang dapat dikombinasi dalam satu rantai ada dalam satu kelas
umum yang sama, namun tiap jenis monomer dalam kelas tersebut
mempunyai karakteristik masing-masing yang terdefinisi dengan
baik.Beberapa molekul-molekul monomer dapat digabungkan bersama
membentuksebuah entitas yang berukuran lebih besar, yang
disebut macromolecule. Macromoleculedapat
mempunyai informasi isi tertentu yang menarik dan sifat-sifat kimia
tertentu. Berdasarkan skema di atas, monomer-monomer tertentu
dalam macromoleculedari DNA dapat diperlakukan secara
komputasi sebagai huruf-huruf dari alfabet, yang diletakkan dalam
sebuah aturan yang telah diprogram sebelumnya untuk membawa pesan
atau melakukan kerja di dalam sel.Proses yang diterangkan di atas
terjadi pada tingkat molekul di dalam sel. Salahsatu cara untuk
mempelajari proses tersebut selain dengan mengamati dalam
laboratorium biologi yang sangat khusus adalah dengan menggunakan
Bioinformatika sesuai dengan definisi “klasik” yang telah
disebutkan di atas.
Salah satu pencapaian besar dalam metode
Bioinformatika adalah selesainyaproyek pemetaan genom manusia (Human
Genome Project). Selesainya proyek raksasa tersebut menyebabkan
bentuk dan prioritas dari riset dan penerapan Bioinformatika berubah.
Secara umum dapat dikatakan bahwa proyek tersebut membawa perubahan
besar pada sistem hidup kita, sehingga sering disebutkan –terutama
oleh ahli biologi– bahwa kita saat ini berada di masa pascagenom.
Selesainya proyek pemetaan genom manusia ini membawa beberapa
perubahan bagi Bioinformatika, diantaranya:
Setelah memiliki
beberapa genom yang utuh maka kita dapat mencari perbedaan dan
persamaan di antara gen-gen dari spesies yang berbeda. Dari studi
perbandingan antara gen-gen tersebut dapat ditarik kesimpulan
tertentu mengenai spesies-spesies dan secara umum mengenai evolusi.
Jenis cabang ilmu ini sering disebut sebagai perbandingan genom
(comparative genomics).
Sekarang ada teknologi yang
didisain untuk mengukur jumlah relatif darikopi/cetakan sebuah pesan
genetik (level dari ekspresi genetik) pada beberapa tingkatan yang
berbeda pada perkembangan atau penyakit atau pada jaringan yang
berbeda. Teknologi tersebut, contohnya seperti DNA
microarrays akan semakin penting. Akibat yang lain, secara
langsung, adalah cara dalam skala besar untuk mengidentifikasi
fungsi-fungsi dan keterkaitan dari gen (contohnya metode yeast
twohybrid)akan semakin tumbuh secara signifikan dan bersamanya
akan mengikuti
Bioinformatika yang berkaitan langsung dengan kerja
fungsi genom (functionalgenomics). Akan ada perubahan besar
dalam penekanan dari gen itu sendiri ke hasil-hasil dari gen. Yang
pada akhirnya akan menuntun ke: usaha untuk mengkatalogkan semua
aktivitas dan karakteristik interaksi antara semua hasil-hasil dari
gen (pada manusia) yang disebut proteomics; usaha untuk
mengkristalisasi dan memprediksikan struktur-struktur dari semua
protein (pada manusia) yang disebut structural genomics. Apa yang
disebut orang sebagai research informatics atau medical
informatics, manajemen dari semua data eksperimen biomedik yang
berkaitan dengan molekul atau pasien tertentu –mulai dari
spektroskop massal, hingga ke efek samping klinis—akan berubah dari
semula hanya merupakan kepentingan bagi mereka yang bekerja di
perusahaan obat-obatan dan bagian TI Rumah Sakit akan menjadi jalur
utama dari biologi molekul dan biologi sel, dan berubah jalur dari
komersial dan klinikal ke arah akademis.
Dari uraian di atas
terlihat bahwa Bioinformatika sangat mempengaruhi kehidupan manusia,
terutama untuk mencapai kehidupan yang lebih baik. Penggunaan
komputer yang notabene merupakan salah satu keahlian utama dari orang
yang bergerak dalam TI merupakan salah satu unsur utama dalam
Bioinformatika, baik dalam Bioinformatika “klasik” maupun
Bioinformatika “baru”.
Cabang-cabang
yang Terkait dengan Bioinformatika
Mathematical
biology juga menangani masalah-masalah biologi, namun metode
yang digunakan untuk menangani masalah tersebut tidak perlu secara
numerik dan tidak perlu diimplementasikan dalam software maupun
hardware.
Menurut Alex Kasman [KASMAN2004] Secara umum
mathematical biology melingkupi semua ketertarikan teoritis yang
tidak perlu merupakan sesuatu yang beralgoritma, dan tidak perlu
dalam bentuk molekul, dan tidak perlu berguna dalam menganalisis data
yang terkumpul.Proteomics
Bioinformatika
“baru”
terkait
dengan Bioinformatika
Genomics
Genomics adalah
bidang ilmu yang ada sebelum selesainya sekuen genom, kecuali dalam
bentuk yang paling kasar. Genomics adalah setiap usaha
untukmenganalisa atau membandingkan seluruh komplemen genetik dari
satu spesies atau lebih. Secara logis tentu saja mungkin untuk
membandingkan genom-genom dengan membandingkan kurang lebih suatu
himpunan bagian dari gen di dalam genom yang representatif.
Mathematical
Biology
Istilah
proteomics pertama kali digunakan untuk menggambarkan himpunan dari
protein-protein yang tersusun (encoded) oleh genom. Michael J. Dunn
[DUNN2004], mendefiniskan kata “proteome” sebagai: “The PROTEin
complement of the genOME“. Dan mendefinisikan proteomics berkaitan
dengan: “studi kuantitatif dan kualitatif dari ekspresi gen di
level dari protein-protein fungsional itu sendiri”. Yaitu: “sebuah
antarmuka antara biokimia protein dengan biologi molekul”.
Pharmacogenomics