Komputasi merupakan
cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu
algoritma. Kemudian teori komputasi adalah 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.Pada zaman
sekarang ini, komputasi dilakukan dengan cara menggunakan komputer. Komputasi
yang menggunakan komputer inilah maka disebut dengan Komputasi Modern.
Perhitungan komputasi modern
yaitu seperti Akurasi (bit, floating point), Kecepatan (dalam satuanHz),
Problem volume besar (paralel), Modeling (NN dan GA), dan Kompleksitas
(menggunakan Teori Bog O).
Umumnya, ilmu komputasi merupakan
bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan
teknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan
memecahkan masalah-masalah ilmu (sains).
Dengan cara sederhana, 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.
Ilmu komputasi berbeda dengan
ilmu komputer. 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 yang
bersangkutan.
SEJARAH SINGKAT KOMPUTASI
•
Pada paruh pertama abad 20, banyak kebutuhan komputasi ilmiah bertemu dengan
semakin canggih komputer analog, yang menggunakan mekanis atau listrik langsung
model masalah sebagai dasar perhitungan. Namun, ini tidak dapat diprogram dan
umumnya tidak memiliki fleksibilitas dan keakuratan komputer digital modern.
George stibitz secara internasional diakui sebagai ayah dari komputer digital
modern.
•
sementara bekerja di laboratorium bel di November 1937, stibitz menciptakan dan
membangun sebuah relay berbasis kalkulator ia dijuluki sebagai "model
k" (untuk "meja dapur", di mana dia telah berkumpul itu), yang
adalah orang pertama yang menggunakan sirkuit biner untuk melakukan operasi
aritmatika. Kemudian model menambahkan kecanggihan yang lebih besar termasuk
aritmatika dan kemampuan pemrograman kompleks.
TOKOH YANG MEMBAWA PENGARUH BESAR
DALAM PERKEMBANGAN KOMPUTASI MODERN.
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
Komputasi Modern pertama kali digagasi oleh John Von Neumann. Beliau di
lahirkan di Budapest, ibukota Hungaria pada 28 Desember 1903 dengan nama asli
yaitu Neumann Janos. Awal mula pemberian nama Von Neumann dikarenakan prinsip
arsitektur beliau masih terus digunakan meskipun implementasi mesin dari sebuah
tabung vakum, ke sirkuit terpadu (Integrated Circuit). Yang membuatnya tidak
berubah adalah aliran informasi yang mengalir di dalam komputer tersebut.
Arsitektur Von Neumann menggambarkan komputer dengan empat bagian utama:
•
Unit Aritmatika dan Logis (ALU).
•
Unit kontrol.
•
Memori.
•
Alat masukan dan hasil (secara kolektif dinamakan I/O).
Bagian ini dihubungkan oleh
berkas kawat, “bus”. Pada dasarnya komputer arsitektur Von Neumann adalah
terdiri dari elemen sebagai berikut:
•
Prosesor, merupakan pusat dari kontrol dan pemrosesan instruksi pada komputer.
•
Memori, digunakan untuk menyimpan informasi baik program maupun data.
•
Perangkat input-output, berfungsi sebagai media yang menangkap respon dari luar
serta menyajikan informasi keluar sistem komputer.
Berikut ini beberapa contoh
komputasi modern sampai dengan lahirnya ENIAC :
•
Konrad Zuse’s electromechanical “Z mesin”.Z3 (1941) sebuah mesin pertama
menampilkan biner aritmatika, termasuk aritmatika floating point dan ukuran
programmability. Pada tahun 1998, Z3 operasional pertama di dunia komputer itu
di anggap sebagai Turing lengkap.
•
Non-programmable Atanasoff-Berry Computer yang di temukan pada tahun 1941 alat
ini menggunakan tabung hampa berdasarkan perhitungan, angka biner, dan regeneratif
memori kapasitor.Penggunaan memori regeneratif diperbolehkan untuk menjadi jauh
lebih seragam (berukuran meja besar atau meja kerja).
•
Colossus Computer ditemukan pada tahun 1943, berkemampuan untuk membatasi
kemampuan program pada alat ini menunjukkan bahwa perangkat menggunakan ribuan
tabung dapat digunakan lebih baik dan elektronik reprogrammable.Komputer ini
digunakan untuk memecahkan kode perang Jerman.
•
The Harvard Mark I ditemukan pada 1944, mempunyai skala besar, merupakan komputer
elektromekanis dengan programmability terbatas.
•
US Army’s Ballistic Research Laboratory ENIAC ditemukan pada tahun 1946,
komputer ini digunakan unutk menghitung desimal aritmatika dan biasanya disebut
sebagai tujuan umum pertama komputer elektronik (ENIAC merupaka generasi yang
sudah sangat berkembang di zamannya sejak komputer pertama Konrad Zuse ’s Z3
yang ditemukan padatahun 1941).
Parallel Processing pada Komputer
Penggunaan lebih dari satu CPU
atau inti prosesor secara simultan untuk mengeksekusi sebuah program atau
banyak program dengan komputasi ganda. Idealnya, parallel processing membuat
program berjalan lebih cepat karena ada mesin yang lebih (CPU atau core) menjalankannya.
Dalam praktek pararel processing,
seringkali sulit membagi program sedemikian rupa sehingga terpisah atau CPU
core dapat mengeksekusi bagian yang berbeda tanpa mengganggu satu sama lain.
Sebagian besar komputer hanya memiliki satu CPU, tetapi beberapa model memiliki
beberapa chip prosesor, dan multi-core menjadi norma. Bahkan ada komputer
dengan ribuan CPU.
Dengan single-CPU, single core
komputer, adalah mungkin untuk melakukan proses pengolahan paralel dengan
menghubungkan komputer dalam jaringan. Namun, jenis pemrosesan paralel
membutuhkan perangkat lunak yang sangat canggih yang disebut perangkat lunak
pengolah didistribusikan.
Perhatikan bahwa paralelisme
berbeda dari konkurensi. Concurrency adalah istilah yang digunakan dalam sistem
operasi dan database masyarakat yang mengacu pada milik suatu sistem di mana
banyak tugas tetap aktif secara logis dan membuat kemajuan pada saat yang sama
dengan interleaving urutan pelaksanaan tugas dan dengan demikian menciptakan
ilusi sekaligus melaksanakan instruksi. Paralelisme, di sisi lain, adalah
istilah yang biasanya digunakan oleh komunitas superkomputer untuk
menggambarkan eksekusi yang secara fisik mengeksekusi secara bersamaan dengan
tujuan untuk memecahkan masalah dalam waktu yang lebih atau pemecahan masalah
yang lebih besar dalam waktu yang sama . Paralelisme mengeksploitasi
konkurensi.
Komputasi Paralel
salah satu teknik untuk 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.
Komputasi Paralel merupakan salah
satu teknologi paling menarik sejak ditemukannya komputer pada tahun 1940-an.
Terobosan dalam pemorosesan parallel selalu berkembang dan mendapatkan tempat
disamping teknologi-teknologi lainnya sejak Era Kebangkitan (1950-an), Era
Mainframe (1960-an), Era Minis (1970-an), Era PC (1980-an), dan Era Komputer
Paralel (1990-an). Dengan berbagai pengaruh atas perkembangan teknologi
lainnya, dan bagaimana teknologi ini mengubah persepsi terhadap komputer, dapat
dimengerti betapa pentingnya komputasi parallel itu.
Inti dari komputasi parallel
yaitu hardware, software, dan aplikasinya. Paralel prosesing merupakan suatu
pemrosesan informasi yang lebih mendekatkan pada manipulasi rata-rata dari
elemen data terhadap satu atau lebih penyelesaian proses dari sebuah masalah.
Dengan kata lain komputasi parallel adalah komputer dengan banyak processor
dapat melakukan parallel processing dengan cara membagi-bagi proses ke
source-source yang dimiliki.
Pemrograman Paralel
Pemograman 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 paraleladalah untuk meningkatkan performa komputasi. Semakin banyak
hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak
pekerjaan yang bisa diselesaikan.Komputasi paralel membutuhkan:• algoritma•
bahasa pemrograman• compiler Sebagai besar komputer hanya mempunyai satu CPU,
namun ada yang mempunyai lebih dari satu.
Aristektur Komputer Parallel
terdiri dari:
1. Komputer
SISD (Single Instruction stream-Single Data stream)
2.
Komputer SIMD (Single Instruction stream-Multiple Data stream)
3.
Komputer MISD (Multiple Instruction stream-Single Data stream)
4. MIMD
(Multiple Instruction stream-Multiple Data stream)
Paradigma pemrosesan parallel bergantung pada nomor 2 dan 4. Model SIMD (single
instruction multiple data) 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).
Paradigma
functional dataflow yang memperkenalkan konsep model MIMD (Multiple Instrution
Multiple Data) 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.
Suatu program parallel memerlukan koordinasi ketika sebuah tugas bergantung
pada tugas lainnya. Ada dua macam bentuk koordinasi pada komputer parallel :
-asynchronous.
Bentuk synchronous merupakan
koordinasi pada hardware yang memaksa semua tugas agar dilaksanakan pada waktu
yang bersamaan dengan mengesampingkan adanya ketergantungan tugas yang satu
dengan yang lainnya.
-synchronous.
Sementara bentuk asynchronous
mengandalkan mekanisme pengunci untuk mengkoordinasikan processor tanpa harus
berjalan bersamaan.
Hubungan antara Komputasi Modern
dan Parallel Processing
Teknologi Komputasi yang modern
menghasilkan Paralel Processing yang sangat bermanfaat bagi manusia dalam
berbagai bidang. Dengan menggunakan konsep paralel processing sebuah komputasi
dapat mengeksekusi sebuah tugas dengan lebih cepat dan throughputnya pun
jadi lebih tinggi.
Akan tetapi penggunaan paralel
processing ini sering memiliki beberapa kendala seperti lebih banyaknya
perangkat keras yang dibutuhkan, lebih banyaknya kebutuhan akan daya.
Sehingga paralel processing ini tidak baik untuk perangkat dengan daya rendah
dan perangkat mobile.