Rabu, 29 Maret 2017

TEORI KOMPUTASI DAN KOMPUTASI MODERN

Assalamualaikum wr wb

 Pada post kali ini saya akan  memberikan penjelasan mengenai komputasi dan komputasi modern yang saya tulis berdasar tugas softskill saya.

Tentunya pada era global ini komputer sudah tak asing bahkan sudah menjadi bagian dari hidup kita, namun disini kita perlu mengetahui  apakah definisi dari komputasi yang sangat akrab di telinga kita.

Definisi Komputasi adalah Suatu pemecahan masalah terhadap data input (sebuah masukan yang berasal dari luar lingkungan sistem) dalam berbagai bidang pekerjaan yang
telah disebutkan sebelumnya dengan menggunakan sebuah algoritma.

 
Sedangkan, definisi dari Komputasi Modern adalah Penggunaan komputer dalam menganalisis dan memecahkan masalah-masalah ilmu (sains), dengan menaruh perhatian pada penyusunan model matematika dan teknik penyelesaian numerik.

Komputasi modern merupakan 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). 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. Kegeniusannya dalam matematika telah terlihat semenjak kecil dengan mampu melakukan pembagian bilangan delapan digit (angka) di dalam kepalanya.

Begitulah sekiranya definisi Komputasi dan Komputasi modern serta sejarah perkembanganya, selanjutnya saya akan menjelaskan mengenai Bahasa automata dan bahasa formal.

FSA (Finite State Automata) merupakan tool yang sangat berguna dalam perancangan lexical analyzer, yaitu bagian dari kompilator yang mengelompokan karakter-karakter ke dalam sebuah token, yang berupa unit terkecil seperti nama, variabel, dan keyword.
FSA dipakai untuk penganalisa leksikal dan dipakai juga dalam text editor, pemrosesan teks, dan program file-searching
Spesifikasi dari sebuah bahasa pemrograman meliputi, hal-hal :
1.     Himpunan simbol-simbol (alpabet) yang bisa dipakai untuk membentuk program yang benar
2.     Himpunan program yang benar secara sintaktik
3.     Makna dari program tersebut
 

Teori Bahasa Formal
Karena bahasa adalah sebuah himpunan dari string, maka untuk mendefinisikan suatu bahasa bisa dilakukan dengan menuliskan semua string yang menjadi anggotanya. Bagaimana kita bisa melakukannya jika jumlah string yang menjadi anggota bahasa tersebut banyak sekali atau bahkan tidak berhingga ? Pada Teori Bahasa Formal, hal ini dilakukan dengan mendefinisikan tata bahasanya.  Tata Bahasa G = (T,N,S,P), di mana
  • T adalah himpunan berhingga simbol-simbol terminal
  • N adalah himpunan berhinggasimbol-simbol non terminal
  • S adalah simbol awal, S ∈ N
  • P adalah himpunan berhingga aturan produksi yang setiap elemennya berbentuk α → β, α, β ∈ (T ∪ N)+, α harus berisi minimal 1 simbol non terminal.
Sentential form adalah semua string yang dapat diturunkan dari simbol awal S dengan menggunakan aturan produksi P. Kalimat (sentence) adalah sentential form yang tidak mengandung simbol non terminal. Bahasa yang dihasilkan dari G dinotasikan dengan L(G), yaitu himpunan kalimat yang dapat diturunkan dari S dengan menggunakan P.
Teori Automata
Berasal dari bahasa Yunani automatos, yang berarti sesuatu yang bekerja secara otomatis (mesin). Dalam tulisan ini akan dipergunakan istilah automaton sebagai bentuk tunggal dan automata sebagai bentuk jamak. Teori Automata adalah teori tentang mesin abstrak yang :
  • bekerja sekuensial
  • menerima input
  • mengeluarkan output
Pengertian mesin di tulisan ini, bukan hanya mesin elektronis/mekanis saja melainkan segala sesuatu (termasuk perangkat lunak) yang memenuhi ketiga ciri di atas. Penggunaan automata pada perangkat lunak terutama pada pembuatan kompiler bahasa pemrograman. Setelah kita mengetahui definisi bahasa dan automata, pertanyaan selanjutnya adalah apakah hubungan antara teori automata dan bahasa formal ? 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.
Dalam tulisan ini, pembahasan akan ditekankan pada fungsi pertama dari automata. Untuk mengenali string-string dari suatu bahasa, akan dimodelkan sebuah automaton yang memiliki komponen sebagai berikut :
- pita masukan, yang menyimpan string masukan yang akan dikenali;
- kepala pita (tape head), untuk membaca/menulis ke pita masukan;
- Finite State Controller (FSC), yang berisi status-status dan aturan-aturan yang mengatur langkah yang dilakukan oleh automaton berdasarkan status setiap saat dan simbol masukan yang sedang dibaca oleh kepala pita;
- pengingat (memory), untuk tempat penyimpanan dan pemrosesan sementara Automaton pengenal, setelah membaca string masukan dan melakukan langkah langkah pemrosesan yang diperlukan, akan mengeluarkan keputusan apakah string tersebut dikenali atau tidak.
Konfigurasi adalah suatu mekanisme untuk menggambarkan keadaan suatu mesin pengenal , yang terdiri atas :
- status FSC
- isi pita masukan dan posisi kepala pita
- isi pengingat
Mesin pengenal bersifat deterministik bila dalam setiap konfigurasi, hanya ada satu kemungkinan yang dapat dilakukan mesin, jika tidak mesin pengenal bersifat non deterministik. Contoh mesin automata :

  • Sebuah string input diterima bila mencapai state akhir/ final state yang digambarkan dengan lingkaran ganda.
  • Pada gambar diatas, mesin mendapat string input berikut :
–        ada : diterima
–        adu : diterima
–        add : ditolak
  • Mesin diatas memiliki 6 state {qo, q1, q2, q3, q4, q5}.
  • State awal : q0, State akhir : {q3, q4}.
  • Himpunan simbol input : {a,d,u}.
 
Konsep Bahasa dan Otomata
•         Simbol adalah suatu entitas abstrak yang tidak bisa didefinisikan secara formal
•         Huruf dan digit adalah contoh dari simbol yang sering di pakai
•         String adalah suatu deretan berhingga dari simbol-simbol, contoh : ‘a’, ‘b’, ‘c’ adalah simbol dan ‘abc’ adalah sebuah string.
•         String kosong dinyatakan dengan ε di definisikan panjangnya = 0 atau |ε|= 0
•         Bahasa adalah himpunan string-string dari simbol-simbol untuk suatu alpabet yang memiliki makna.
•         Ada istilah bahasa kosong, yaitu bahasa yang tidak terdiri dari string-string, contoh himpunan kosong Ø
•         Otomata adalah suatu bentuk yang memiliki fungsi-fungsi dari komputer digital, menerima input menghasilkan output, bisa memiliki penyimpanan sementara, dan mampu membuat keputusan dalam mentransformasikan input ke output
•         Otomata merupakan suatu sistem yang terdiri atas sejumlah berhingga (state), dimana state menyatakan informasi mengenai input yang lalu dan dapat dianggap sebagai memori mesin.
•         Input pada mesin otomata dianggap sebagai bahasa yang harus dikenali oleh mesin. Selanjutnya mesin otomata membuat keputusan atau keluaran yang mengindikasikan apakah input itu diterima atau tidak 

sekian tulisan saya, dari tulisa ini saya mengambil rujukan dari beberapa sumber terkait.

source:
Gibbs, William R. (2006). Computation in Modern Physics. World Scientific.
Koenig, Herbert. (1998). Modern Computational Methods. CRC Press
https://id.wikipedia.org/wiki/Komputer
http://bintorobagus.blogspot.co.id/2015/04/implementasi-komputasi-modern-pada.html
https://niamoraa.wordpress.com/softskill-project-2/definisi-dan-penerapan-komputasi-modern/
http://teoribahasa-automata.blogspot.co.id/2012/01/teori-bahasa-dan-automata.html



Tidak ada komentar:

Posting Komentar