- Pengertian Komputasi
Komputasi
adalah algortima yang digunakan untuk menemukan suatu cara dalam memecahkan
masalah dari sebuah data input. Data input disini adalah sebuah masukan yang
berasal dari luar lingkungan system. Komputasi merupakan bagian dari ilmu
computer berpadu dengan ilmu matematika. 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.
- 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.
Dalam komputasi modern terdapat perhitungan dan pencarian solusi dari masalah.
Perhitungan dari komputasi modern adalah akurasi, kecepatan, problem, volume
dan besar kompleksitas. 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:
- Akurasi
- Kecepatan
- Problem Volume Besar
- Modelling
- Kompleksitas
- Sejarah Komputasi Modern
Komputasi modern ini pertama kalinya
digagaskan oleh seorang ilmuan yang bernama John Von Neumann. Dialah orang yang
pertama kali menggagaskan konsep sebuah sistem yang menerima intruksi-intruksi
dan menyimpannya dalam sebuah memory. Konsep inilah yang menjadi dasar
arsitektur komputer modern. John Von Neumann memberikan berbagai sumbangsihnya
dengan cara meningkat karya – karyanya dalam bidang matematika, teori kuantum,
game theory, fisika nuklir, dan ilmu komputer. Selain itu, Von Neumann juga
merupakan seorang ilmuan yang sangat berperan penting dalam pembuatan bom atom
di Los Alamos pada Perang Dunia II silam. Dan berkat kepiawaian Neumann di
bidang teori game inilah ia bisa melahirkan konsep automata, teknologi bom atom
dan komputasi modern yang akhirnya melahirkan sebuah computer. Sebenarnya kata “komputer” tersebut
pertama kali dipergunakan secara umum pada tahun 1613. Arti kata komputer itu
sendiri mengacu kepada perhitungan aritmatika dan kata tersebut masih
dipergunakan hingga pertengahan abad ke-20. Dan seiring dengan perkembangan
jaman dari akhir abad ke-19 hingga seterusnya, “computer” menjadi berubah makna
jadi sebuah mesin yang melakukan komputasi.
Kemudian sekitar tahun 1920an, kata “mesin
komputasi” mulai dikenal. Setiap mesin yang dapat membantu melakukan pekerjaan
manusia yaitunya menghitung dengan metode yang efektif, disebut dengan mesin
komputasi. Pada tahun 1940-1950 dengan munculnya mesin komputasi elektronik
kata “mesin komputasi” mulai berubah menjadi “komputer” yang biasanya diawali
dengan “elektronik” atau “digital”.
Sejak
saat itu, Von Neumann menjadi seorang konsultan pada pengembangan komputer
ENIAC, Dia merancang konsep arsitektur komputer yang masih dipakai sampai
sekarang. Arsitektur Von Nuemann adalah seperangkat komputer dengan program
yang tersimpan (program dan data disimpan pada memori) dengan pengendali pusat,
I/O, dan memori. Konsep dasar arsitektur komputer modern sendiri ialah konsep
sebuah sistem yang menerima intruksi-intruksi dan menyimpannya dalam sebuah
memory.
- Teori Automata dan Bahasa Formal
Bahasa Formal adalah suatu aturan yang meliputi bahasa pemrograman dan
bahasa matematis seperti aljabar dan logika proposisi. Aturan tersebut akan
mengkonstruksi programming translator untuk bahasa pemrograman. Proses
penerapan aturan produksi dapat digambarkan sebagai suatu diagram pohon. Sebuah
bahasa formal bisa dibangkitkan oleh dua atau lebih tata bahasa berbeda.
Dikatakan bahasa formal karena grammar diciptakan mendahului pembangkitan
setiap kalimatnya.
b. Teori Automata
Automata berasal dari bahasa Yunani automatos, yang berarti sesuatu yang
bekerja secara otomatis (mesin). Istilah automata merupakan bentuk tunggal,
sedangkan bentuk jamaknya adalah automaton. Teori automata adalah teori tentang
mesin abstrak yang bekerja secara sekuensial yang menerima dan mengeluarkan
output dalam bentuk diskrit. Penggunaan automata pada perangkat lunak terutama
pada pembuatan kompiler bahasa pemrograman. Secara garis besar ada dua fungsi
automata dalam hubungannya dengan bahasa, yaitu:
- Fungsi automata sebagai pengenal (RECOGNIZER) string-string dari suatu bahasa, dalam hal ini bahasa sebagai masukan dari automata.
- Fungsi automata sebagai pembangkit (GENERATOR) string-string dari suatu bahasa, dalam hal ini bahasa sebagai keluaran dari automata.
- Finite State Machine
FSM adalah sebuah metodologi perancangan sistem kontrol yang
menggambarkan tingkah laku atau prinsip kerja sistem dengan menggunakan tiga
hal berikut: State (Keadaan), Event (kejadian) dan action (aksi). Pada satu
saat dalam periode waktu yang cukup signifikan, sistem akan berada pada salah
satu state yang aktif. Sistem dapat beralih atau bertransisi menuju state lain
jika mendapatkan masukan atau event tertentu, baik yang berasal dari perangkat
luar atau komponen dalam sistemnya itu sendiri. Transisi keadaan ini umumnya
juga disertai oleh aksi yang dilakukan oleh sistem ketika menanggapi masukan
yang terjadi. Aksi yang dilakukan tersebut dapat berupa aksi yang sederhana
atau melibatkan rangkaian proses yang relatif kompleks (Setiawan : 2006). FSM terdiri dari dua
jenis, yaitu FSM ber-output dan FSM tidak ber-output.
➤FSM tidak ber-output
digunakan untuk pengenalan bahasa dalam komputer, dengan input yang dimasukkan
akan diperoleh apakah input tersebut dikenal oleh bahasa komputer atau tidak.
Salah satu penggunaan FSM tidak ber-output adalah program compiler, yaitu
program untuk memeriksa apakah perintah yang digunakan pengguna benar atau
salah.
➤ FSM ber-output digunakan untuk merancang mesin atau
sistem (Zen, 2008). Dan FSM yang akan digunakan dalam penelitian ini adalah FSM
ber-output, dan untuk selanjutnya akan dituliskan dengan FSM saja.
Dalam bahasa pemrograman prosedural seperti bahasa C, FSM ini umumnya
direalisasikan dengan menggunakan statemen kontrol switch case atau/dan
if..then. Dengan menggunakan statemen-statemen kontrol ini, aliran program
secara praktis akan mudah dipahami dan dilacak jika terjadi kesalahan logika.
- Mesin Turing
Diusulkan pada tahun
1936 oleh Alan Turing, seorang matematikawan Inggris sebagai model matematis
sederhana sebuah komputer. Meskipun sederhana, Mesin Turing memiliki kemampuan
untuk menggambarkan perilaku komputer general-purpose. Mesin Turing dapat
digunakan untuk menghitung kelas fungsi bilangan bulat yang dikenal sebagai
fungsi rekursif sebagian (partial recursive function). Sama seperti Finite
State Automata dan Push Down Automata yang dapat mengenali bahasa formal, maka
mesin Turing juga dapat berperan sebagai mesin pengenal bahasa formal. Bahasa
yang dikenali oleh Mesin Turing adalah bahasa tanpa-pembatasan (non-restricted
language), yang disebut juga himpunan terenumerasi rekursif (recursively
enumerable set).
Perilaku mesin Turing bergantung pada simbol masukan yang berada pada
posisi head baca/tulis dan status dari Finite Control.
Contoh: Mesin Turing M akan digunakan untuk mengenali
bahasa L = {0n1n
| n ³ 1}.
Contoh string
di dalam L misalnya 01, 0011, 000111, 00001111, dst.
Cara kerja mesin Turing
untuk mengenali bahasa L dinyatakan dengan algoritma berikut:
1. Ganti simbol ‘0’ paling kiri dengan simbol
‘X’.
2. Gerakkan head ke kanan hingga dijumpai
simbol ‘1’.
3. Ganti simbol ‘1’ paling kiri dengan simbol
‘Y’
4. Gerakkan head ke kiri hingga dijumpai
simbol ‘X’
5. Geser head ke kanan (akan diperoleh
‘0’ paling kiri).
6. Kembali ke langkah 1.
#Note : 1. Jika pada saat bergerak
ke kanan untuk mencari ‘1’ , mesin Turing M menjumpai simbol B,
maka berarti banyaknya ‘0’ lebih dari banyaknya ‘1’. Kesimpulannya, string masukan tidak dikenali.
2. Jika pada saat bergerak
ke kiri M tidak menjumpai lagi ‘0’, maka
M memeriksa apakah masih ada ‘1’. Bila habis maka string
diterima (dikenali). Jika sebuah string
diterima (dikenali), maka mesin Turing M berhenti. Untuk string
yang tidak dikenali (ditolak) ada kemungkinan M tidak berhenti (looping).
Contoh 2:
Sumber :
- https://www.slideshare.net/risalfahmi/teori-bahasa-formal-dan-otomata
- http://julian.unsri.ac.id/userfiles/file/TBO/Modul_TBO-1.pdf
- http://www.k-oneteknologi.tk/2014/04/fsm-finite-state-machine.html
- http://informatika.stei.itb.ac.id/~rinaldi.munir/TeoriKomputasi/2015-2016/IF5110%20-%20Mesin%20Turing%20(Bagian%201)%20-%202015.pptx
- http://oolish.blog.uns.ac.id/komputasi/