Pengertian Komputasi
Komputasi adalah algoritma yang
digunakan untuk menemukan suatu cara dalam memecahkan masalah dari sebuah data
input. Data input disini adalah sebuah masukan yang berasal dari luar
lingkungan sistem. Komputasi ini merupakan bagian dari ilmu komputer berpadu
dengan ilmu matematika. Secara umum ilmu 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 secara umum, biasanya berupa
penerapan simulasi komputer atau berbagai bidang keilmuan, tetapi dalam
perkembangannya digunakan juga untuk menemukan prinsip-prinsip baru yang
mendasar terhadap bidang ilmu yang mendasari teori ini. 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.
Pengertian Komputasi Modern
Komputasi modern bisa disebut
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). Dalam kerjanya komputasi modern menghitung
dan mencari solusi dari masalah yang ada, dan perhitungan yang dilakukan itu
meliputi:
1. Akurasi
2. Kecepatan
3. ProblemVolume Besar
4. Modelling
5. Kompleksitas
Sejarah Komputasi Modern
Dalam perkembangan komputasi
modern, kita tidak bisa melupakan begitu saja orang dibalik perkembangan
komputasi modern yang merubah semua pekerjaan jadi lebih mudah. Sejarah
komputasi dimulai dari seseorang ilmuan yang ternama di bidang teknologi.
Permulaan komputasi modern dimulai pada saat tahun 1926 oleh ilmuan yang
berasal dari hungaria yang bernama John Von Neumann.
Von Neumann seorang ilmuan yang
belajar dari Berlin dan Zurich dan mendapatkan diploma pada bidang teknik kimia
pada tahun 1926. Pada tahun yang sama dia mendapatkan gelar doktor pada bidang
matematika dari Universitas Budapest. Berkat keahlian dan kepiawaiannya Von
Neumann dalam bidang teori game yang melahirkan konsep seluler automata,
teknologi bom atom, dan komputasi modern yang kemudian melahirkan komputer.
Kegeniusannya dalam matematika telah terlihat semenjak kecil dengan mampu
melakukan pembagian bilangan delapan digit (angka) di dalam kepalanya. Setelah
mengajar di Berlin dan Hamburg, Von Neumann pindah ke Amerika pada tahun 1930
dan bekerja di Universitas Princeton serta menjadi salah satu pendiri Institute
for Advanced Studies. Dipicu ketertarikannya pada hidrodinamika dan kesulitan
penyelesaian persamaan diferensial parsial nonlinier yang digunakan, Von
Neumann kemudian beralih dalam bidang komputasi. Sebagai konsultan pada
pengembangan ENIAC, dia merancang konsep arsitektur komputer yang masih dipakai
sampai sekarang. Arsitektur Von Nuemann adalah komputer dengan program yang
tersimpan (program dan data disimpan pada memori) dengan pengendali pusat, I/O,
dan memori. berdasarkan beberapa definisi di atas, maka komputasi modern dapat
diartikan sebagai suatu pemecahan masalah berdasarkan suatu inputan dengan
menggunakan algoritma dimana penerapannya menggunakan berbagai teknologi yang
telah berkembang seperti komputer.
Teori Komputasi
Teori komputasi adalah cabang
ilmu komputer dan matematika yang membahas apakah dan bagaimanakah suatu
masalah dapat dipecahkan pada model komputasi, menggunakan algoritma. Bidang
ini dibagi menjadi dua cabang: Teori Komputabilitas dan Teori Kompleksitas,
namun kedua cabang berurusan dengan model formal komputasi. Untuk melakukan
studi komputasi dengan ketat, ilmuwan komputer bekerja dengan abstraksi
matematika dari komputer yang dinamakan model komputasi. Ada beberapa model
yang digunakan, namun yang paling umum dipelajari adalah mesin Turing. Sebuah
mesin Turing dapat dipikirkan sebagai komputer pribadi meja dengan kapasitas
memori yang tak terhingga, namun hanya dapat diakses dalam bagian-bagian
terpisah dan diskret. Ilmuwan komputer mempelajari mesin Turing karena mudah
dirumuskan, dianalisis dan digunakan untuk pembuktian, dan karena mesin ini
mewakili model komputasi yang dianggap sebagai model paling masuk akal yang
paling ampuh yang dimungkinkan. Kapasitas memori tidak terbatas mungkin
terlihat sebagai sifat yang tidak mungkin terwujudkan, namun setiap
permasalahan yang "terputuskan" (decidable) yang dipecahkan oleh
mesin Turing selalu hanya akan memerlukan jumlah memori terhingga. Jadi pada
dasarnya setiap masalah yang dapat dipecahkan (diputuskan) oleh meisn Turing
dapat dipecahkan oleh komputer yang memiliki jumlah memori terbatas.
Contoh atau Implementasi
Komputasi Dalam Berbagai Bidang
Implementasinya Komputasi Modern
Di Berbagai Bidang :
1. Bidang Biologi : terdapat
Bioinformatics merupakan aplikasi dari teknologi informasi dan ilmu komputer
dalam penelitian bidang biologi molekuler.
2. Bidang Fisika : terdapat
Computational Physics yang mempelajari algoritma numerik untuk memecah kan
teori kuantitatif fisika yang ada
3. Bidang Kimia : terdapat
Computational Chemistry yaitu penggunaan ilmu komputer untuk membantu
menyelesaikan masalah kimia, contohnya penggunaan super komputer untuk
menghitung struktur dan sifat molekul.
4. Bidang Ekonomi : terdapat
Computational Economics yang mempelajari titik pertemuan antara ilmu ekonomi
dan ilmu komputer mencakup komputasi keuangan, statistika, pemrograman yang di
desain khusus untuk komputasi ekonomi dan pengembangan alat bantu untuk
pendidikan ekonomi.
5. Bidang Sosiologi : terdapat
Computational Sosiology yaitu penggunaan metode komputasi dalam menganalisa
fenomena sosial.
6. Bidang Geografi : terdapat
penggunaan komputasi yang diterapkan pada GIS (Geographic Information System)
yang berguna untuk menyimpan, memanipulasi dan menganalisa informasi geografi.
7. Bidang Geologi : pada bidang
geologi teori komputasi biasanya digunakan untuk pertambangan, sebuah sistem
komputer digunakan untuk menganalisa bahan-bahan mineral dan barang tambang
yang terdapat di dalam tanah.
8. Bidang Matematika : terdapat
numerical analysis yaitu sebuah algoritma dipakai untuk menganalisa masalah -
masalah matematika.
Parallel Processing
Pemrosesan paralel (parallel
processing) adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah
program secara simultan.
Idealnya, parallel processing
membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan.
Tujuan Parallel Processing
Tujuan utama dari pemrosesan
paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang
bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak
pekerjaan yang bisa diselesaikan.
Parallel Processing
Komputasi paralel
Komputasi paralel adalah salah
satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa
komputer secara bersamaan.
Biasanya diperlukan saat
kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam
jumlah besar ataupun karena tuntutan proses komputasi yang banyak.
Untuk melakukan aneka jenis
komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari
banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara
paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat
lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk
mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya
pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.
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:
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.
Komputasi paralel membutuhkan :
· algoritma
· bahasa pemrograman
· compiler
Pemrograman paralel adalah teknik
pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara
bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak
(prosesor ganda dengan mesin paralel) CPU.
Tujuan utama dari pemrograman
paralel adalah untuk meningkatkan performa komputasi.
* Message Passing Interface (MPI)
MPI adalah sebuah standard
pemrograman yang memungkinkan pemrogram
untuk membuat sebuah aplikasi
yang dapat dijalankan secara paralel.
MPI menyediakan fungsi-fungsi
untuk menukarkan
antar pesan. Kegunaan MPI yang
lain adalah
1. menulis kode paralel secara
portable
2. mendapatkan performa yang
tinggi dalam pemrograman paralel, dan
3. menghadapi permasalahan yang
melibatkan hubungan data irregular atau dinamis yang tidak
begitu cocok dengan model data
paralel.
* Message Passing Interface (MPI)
MPI adalah sebuah standard
pemrograman yang memungkinkan pemrogram
untuk membuat sebuah aplikasi
yang dapat dijalankan secara paralel.
MPI menyediakan fungsi-fungsi
untuk menukarkan
antar pesan. Kegunaan MPI yang
lain adalah
1. menulis kode paralel secara
portable
2. mendapatkan performa yang
tinggi dalam pemrograman paralel, dan
3. menghadapi permasalahan yang
melibatkan hubungan data irregular atau dinamis yang tidak
begitu cocok dengan model data
paralel.
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 dari artikel:
- Lengkap dalam penyajian informasi
- Memberikan informasi yang benar
- Informasi mudah dimengerti oleh pembaca
Kekurangan dari artikel:
- Tulisan tidak rapih, yaitu rata kiri kanan (justify)
- Line spacing terlalu jauh
- Font size tulisan kecil
Referensi :