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.