KOMPUTASI
Pengertian Secara Umum
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.
Komputasi
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
Pengertian
Komputasi Modern adalah Proses perhitungan untuk menemukan pemecahan masalah
dari data input dengan menggunakan suatu algoritma. Seribu tahun lalu
perhitungan 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.
Sekarang ini dengan semakin berkembangnya jaman, komputasi telah dilakukan
dengan komputer. Hal inilah yang menyebabkan berkembangnya komputasi menjadi
komputasi modern. Dengan semakin berjalannya waktu komputasi dengan komputer
sebagai media utama sudah semakin meluas dan berkembang pesat. Perhitungan dan
pemecahan masalah dengan algoritma menjadi semakin menjadi mudah karena
dilakukan pada sebuah komputer. Contoh komputasi modern yaitu Akurasi (bit,
floating point), Kecepatan (dalam satuanHz), Problem volume besar (paralel).
TOKOH YANG MEMBAWA PENGARUH BESAR
DALAM PERKEMBANGAN KOMPUTASI MODERN
John von Neumann
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.
Sejarah Komputasi Modern
Secara historis, komputer panitera
manusia yang dihitung sesuai dengan metode yang efektif. Komputer ini manusia
melakukan berbagai perhitungan saat ini dilakukan oleh komputer elektronik, dan
ribuan dari mereka yang bekerja dalam perdagangan, pemerintahan, dan lembaga
penelitian. Istilah mesin komputasi , digunakan semakin dari tahun 1920,
mengacu pada setiap mesin yang melakukan pekerjaan komputer manusia, yaitu,
setiap mesin yang menghitung sesuai dengan metode yang efektif. Selama akhir
1940-an dan awal 1950-an, dengan munculnya mesin komputasi elektronik, mesin
‘kalimat’ komputasi secara bertahap memberi jalan hanya untuk ‘komputer’,
awalnya biasanya dengan elektronik ‘awalan’ atau ‘digital’. Catatan ini survei
sejarah mesin ini.
Tahun 1940 komputer yang semula
dikhususkan sebagai instrument untuk science, berubah menjadi produk komersil.
Tahun 1945 di temukan Bug Komputer oleh Grace Murray Hopper Tahun 1947 tanggal
23 Desember ditemukan transistor yang pertama kali oleh Bardeen dan Walter
Brattain bersama dengan William Shockley Tahun 1951 dimulai sebuah gagasan
microprogramming oleh Maurice Wilkes Tahun 1951-1952 Grace Murray Hopper
mengembangkan A-O, yang merupakan compiler pertama.
Tahun 1957 John Backus dan kolega
IBM mengirimkan Compiler Fortran yang pertama. Tahun 1958 Jack Kilby
menghasilkan prototype semiconductor IC Tahun 1960 merupakan timbulnya system
kecil seperti word length, register structure, Number of Addresses, I/O
channel, Floating point hardware. Tahun 1960 juga Paul Baran yang bekerja di
Rand Corp. menemukan dasar packet switching untuk data komunikasi. Tahun 1962
video game pertama kali di temukan oleh Steve Russell yang merupakan seorang
lulusan MIT. Tahun 1964 mouse ditemukan oleh Doug Engelbart. Tahun 1969
munculnya internet oleh DARPA Tahun 1970 merupakan kedatangan PC (personal
computer).
Tahun 1970 ditemukan UNIX oleh
Dennis Ritchie dan Kenneth Thomson. Pada tahun 1970 juga floppy disk dan
daisywheel printer di tunjukkan kepada umum (debut pertama). Tahun 1971 Ray
Tomlinson of Bolt Beranek dan Newmen pertama kali mengirimkan jaringan surat
e-mail. Tahun 1971 Niklaus Wirth menemukan Pascal Tahun 1972 di temukan bahasa
C oleh Dennis Ritchie di Bell Labs. Tahun 1973 Robert Metcalfe menuliskan
catatan di “Ether Acquisition” yang mendeskripsikan Ethernet. Tahun 1973 Robert
Metcalfe dan David Boggs menemukan Ethernet. Tahun 1976 merupakan tahun pertama
kalinya muncul supercomputer dengan vektorial arsitektur. Tahun 1976, Steve
Jobs dan Steve Wozniak mendesain dan membangun Apple I yang terdiri dari
kebanyakan papan circuit.
Tahun 1977, Steve Jobs dan Steve
Wozniak tergabung dalam Apple computer pada 3 januari. Tahun 1978, Muncul MS
Tahun 1978, Wordstar yang merupakan software pengolah kata diperkenalkan dan
meluas. Tahun 1979 telepon seluler di test di Jepang dan Chicago. Tahun 1980
IBM memilih PC-DOS dari Microsoft sebagai OS (Operating System)
Tahun 1980 bahasa Ada muncul yang di
temukan oleh Departemen Pertahanan US. Tahun 1980 portable computer seberat 24
pounds lahir. 1 januari 1983, muncul TCP/IP Tahun 1984, muncul Apple Macintosh
Tahun 1984, muncul DNS Tahun 1985 menyebarnya sistem networking.
Tahun 1990 tim Barners Lee Menemukan
WWW yaitu aplikasi internet yang membawa perkembangan dan perubahan besar di
dunia internet. Tahun 1991 Trovalds menempatkan UNIX di IBMnya. Tahun 1992
muncul istilah surfing Tahun 1993 pentium milik intel diperkenalkan kepada umum
pada bulan Maret Tahun 1993 muncul NSCA Mosaic Tahun 1994 muncul Yahoo dan
Netscape Navigator 1.0 Tahun 1995 muncul bahasa pemrograman Java pada bulan
Mei. Pada Desember 1994 maka Spyglass milik Microsoft telah dibayar dan diberi
lisensi, sehingga untuk web browser yang nantinya nama spyglass tersebut akan
diganti dengan nama Internet Explorer.
Pada 1995 spyglass sudah menjadi
bagian dari OS dan bagian dari windows Definisi Komputasi Modern Komputasi
adalah algoritma yang digunakan untuk menemukan suatu cara untuk memecahkan masalah
dari sebuah data input. Komputasi ini merupakan bagian dari ilmu matematika dan
ilmu komputer. 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 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.
PARALLEL PROCESSING
Pengertian
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. Tetapi dalam praktek,
seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang
berbea-beda tanpa berkaitan di antaranya. 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 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. Semakin
banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama),
semakin banyak pekerjaan yang bisa diselesaikan.
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.
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:
• 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.
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 Komputasi Modern dengan
Parallel Processing
Pemrosesan paralel juga disebut
komputasi paralel. Dalam upaya lebih murah pengolahan komputasi paralel
menyediakan alternatif pilihan yang layak. Waktu idle siklus prosesor di
seluruh jaringan dapat digunakan secara efektif oleh perangkat lunak komputasi
terdistribusi yang canggih. Pengolahan paralel istilah digunakan untuk mewakili
kelas besar teknik yang digunakan untuk memberikan tugas pengolahan simultan
data untuk tujuan meningkatkan kecepatan komputasi dari sistem komputer.
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.
Kerugian:
• 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)