TEORI BAHASA & AUTOMATA

Teori Bahasa

Teori bahasa membicarakan bahasa formal (formal language), terutama untuk kepentingan perancangan kompilator (compiler) dan pemroses naskah (text processor). Bahasa formal adalah kumpulan kalimat. Semua kalimat dalam sebuah bahasa dibangkitkan oleh sebuah tata bahasa (grammar) yang sama. Sebuah bahasa formal bisa dibangkitkan oleh dua atau lebih tata bahasa berbeda. Dikatakan bahasa formal karena grammar diciptakan mendahului pembangkitan setiap kalimatnya. Bahasa manusia bersifat sebaliknya; grammar diciptakan untuk meresmikan kata-kata yang hidup di masyarakat. Dalam pembicaraan selanjutnya ‘bahasa formal’ akan disebut ‘bahasa’ saja.

Automata

Automata adalah mesin abstrak yang dapat mengenali (recognize), menerima (accept), atau membangkitkan (generate) sebuah kalimat dalam bahasa tertentu. Automata berasal dari bahasa Yunani automatos, yang berarti sesuatu yang bekerja secara otomatis (mesin). Istilah automaton sebagai bentuk tunggal dan automata sebagai bentuk jamak. Teori Automata adalah teori tentang mesin abstrak yang :

  1. bekerja sekuensial
  2. menerima input
  3. mengeluarkan output

Pengertian mesin 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. 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

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 langkahlangkah 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. Bahasa dalam bentuk tulisan terdiri atas simbol-simbol satuan yang jika dikombinasikan akan mempunyai arti yang berbeda-beda.

Simbol-simbol yang bisa dipergunakan dalam sebuah bahasa terbatas jumlahnya, yang membentuk sebuah himpunan dan disebut sebagai abjad (alphabet). Kadangkala digunakan istilah karakter yang maknanya sama dengan simbol. Deretan karakter membentuk string. Bahasa (language) didefinisikan sebagai himpunan semua string yang dapat dibentuk dari suatu abjad. Kaidah/aturan pembentukan kata/kalimat disebut tata bahasa (grammar).

Sebagai keluaran dari automata, Bahasa memungkinkan penyampaian gagasan dan pemikiran, tanpa itu komunikasi akan sulit terjadi. Dalam lingkungan pemprograman komputer, bahasa pemprograman bertindak sebagai sarana komunikasi antara manusia dan permasalahannya dengan komputer yang dipakai untuk membantu memperoleh pemecahan.

Suatu solusi untuk suatu masalah akan menjadi lebih mudah bila bahasa pemprograman lebih dekat dengan permasalahan tersebut. Oleh karena itu, bahasa harus memiliki konstruksi yang merefleksikan masalah dan independen dari komputer yang dipergunakan. Komputer digital, disisi lain, hanya menerima dan memahami bahasa tingkat rendah mereka sendiri, terdiri dari deretan nol dan satu, yang sulit dipahami oleh manusia.

Selain bahasa juga bisa menggunakan otomata sebagai media, otomata adalah ilmu yang mempelajari mengenai mesin abstrak, bisa disebut pula adalah suatu model abstrak dari komputer digital yang dapat menerima input secara sekuensial dan dapat mengeluarkan output. Setiap otomata memiliki beberapa fungsi dasar, dapat membaca input berupa string dari alphabet yang diberikan dari input file.

Otomata merupakan suatu sistem yang terdiri dari sejumlah berhingga status, dimana setiap status tersebut menyatakan informasi mengenai input yang lalu, dan dapat pula dianggap sebagai mesin memori. Input pada mesin otomata dianggap sebagai bahasa yang harus dikenali oleh mesin. Disajikan dengan suatu input string, suatu acceptor apakah akan menerima (mengenali) string tersebut atau menolaknya. Otomata yang lebih umum yaitu yang mampu menghasilkan string output, dikenal dengan Tranducer.

Sebagai contoh penggunaan otomata adalah:

  1. Mesin Turing.
  2. Mesin Karakter
  3. Kompiler
  4. Mesin Jaja (Vending Machine)

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 :

  1. Fungsi automata sebagai pengenal (RECOGNIZER) string-string dari suatu bahasa, dalam hal ini bahasa sebagai masukan dari automata
  2. Fungsi automata sebagai pembangkit (GENERATOR) string-string dari suatu bahasa, dalam hal ini bahasa sebagai keluaran dari automata

Di dalam praktik teori bahasa dan otomata (tbo) terdapat beberapa pembelajaran yang diajarkan kepada mahsiswa seperti finite state automata, deterministic finite automata, nondeterministic finite automata, grammar, regular expression, mesin turing, dan lain-lain. Di dalam tbo juga dijelaskan juga teori tentang finite state machine (fsm) yang di dalamnya juga dijelaskan beberapa fungsi seperti fsm with output dan fsm with no output, dalam fsm with output dijelaskan dua fungsi yaitu meanly machine dan moore machine, dan juga dalam fsm with no output dijelaskan juga beberapa fungsi yaitu finite state automata, deterministic finite automata, non-deterministik finite sutomata, grammar. Yang sering digunakan dalam pembelajaran di teori dan di praktik adalah finite state machine with no output seperti finite state automata, deterministic automata, dan lain-lain, akan tetapi dalam pembelajaran jarang sekali membahas finite state machine with output.

Di dalam finite state machine with output ada beberapa contoh yang dapat digunakan dalam penelitian seperti mesin jaja, mesin atm, dan lain-lain. Misal mengambil salah satu contoh yaitu mesin jaja atau vending machine, di dalam vending machine terdapat beberapa aspek yang harus kita pelajari seperti bagaimana proses dalam menjalankan vending machine?, oleh karena itu kita juga harus mendefinisikan dari awal seperti data inputan, data proses, dan data keluaran. Dalam data inputan juga harus dijelaskan seperti apakah masukkan?, kemudian juga menentukan data keluaran atau objek yang akan digunakan.

 

 

TEORI KOMPUTASI DAN KOMPUTASI MODERN

Pengertian Komputasi

Komputasi diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. 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, 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.

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.

Pengertian Komputasi Modern

Komputasi modern adalah 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.

Dalam kerjanya komputasi modern menghitung dan mencari solusi dari masalah yang ada, dan perhitungan yang dilakukan itu meliputi:

  1. Akurasi (big, Floating point)
  2. Kecepatan (dalam satuan Hz)
  3. Problem Volume Besar (Down Sizzing atau pararel)
  4. Modeling (NN & GA)
  5. Kompleksitas (Menggunakan Teori big O)

 

Karakteristik Komputasi Modern

Karakteristik komputasi modern ada 3 macam, yaitu :

  1. Komputer-komputer penyedia sumber daya bersifat heterogenous karena terdiri dari berbagai jenis perangkat keras, sistem operasi, serta aplikasi yang terpasang.
  1. Komputer-komputer terhubung ke jarinagn yang luas dengan kapasitas bandwidth yang beragam.
  1. Komputer maupun jaringan tidak terdedikasi, bisa hidup atau mati sewaktu-waktu tanpa jadwal yang jelas.

 

Sejarah Komputasi Modern

Kata  “komputer” pertama kali pada tahun 1613, hal ini mengacu pada perhitungan aritmatika dan kata “komputer” digunakan dalam pengertian itu sampai pertengahan abad ke-20. Dari akhir abad ke-19 dan seterusnya. Berkembanganya komputer akhirnya makna komputer menjadi sebuah mesin yang melakukan komputasi.

Sejarah komputer modern dimulai dengan dua teknologi yang terpisah- perhitungan otomatis dan dapat di program-tapi tidak ada satu perangkat pun yang dapat dikatakan sebagai komputer, karena sebagian penerapan yang tidak konsisten istilah tersebut. Contoh-contoh awal perangkat penghitung mekanis termasuk sempoa (yang berasal dari sekitar 150-100 SM).  Seorang pahlawan dari Alexandria (sekitar 10-70 AD) membangun sebuah teater mekanis yang diadakan bermain berlangsung 10 menit dan dioperasikan oleh sebuah sistem yang kompleks dengan tali dan drum yang dipakai sebagai sarana untuk memutuskan bagian dari mekanisme. Ini adalah inti dari programmability.

Salah satu tokoh yang sangat mempengaruhi perkembangan komputasi modern adalah 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 singkat dari perjalanan hidup dari Von Neumann , dilahirkan di Budapest, Hungaria pada 28 Desember 1903 dengan nama Neumann Janos. Dia adalah anak pertama dari pasangan Neumann Miksa dan Kann Margit.Nama keluarga diletakkan di depan nama asli. Sehingga dalam bahasa Inggris, nama orang tuanya menjadi Max Neumann. Pada saat Max Neumann memperoleh gelar, maka namanya berubah menjadi Von Neumann. Setelah bergelar doktor dalam ilmu hukum, dia menjadi pengacara untuk sebuah bank. Pada tahun 1903, Budapest merupakan  tempat lahirnya para manusia genius dari bidang sains, penulis, seniman dan musisi.

Von Neumann belajar berbagai tempat dan beberapa tempatnya di Berlin dan Zurich. Di tempat itu beliau mendapatkan diploma pada bidang teknik kimia pada tahun 1926. Pada tahun yang sama dia mendapatkan gelar doktor pada bidang matematika dari Universitas Budapest. Keahlian Von Neumann terletak pada bidang teori game yang melahirkan konsep seluler automata, teknologi bom atom, dan komputasi modern yang kemudian melahirkan komputer. Kegeniusannya dalam bidang matematika telah terlihat semenjak kecil dengan mampu melakukan pembagian bilangan delapan digit (angka) di dalam kepalanya.

Beliau pernah mengajar di Berlin dan Hamburg, Von Neumann pindah ke Amerika pada tahun 1930 dan bekerja di Universitas Princeton pada saat yang bersamaan Von Neumann menjadi salah satu pendiri Institute for Advanced Studies.

Von Neumann sangat tertarik pada hidrodinamika dan kesulitan penyelesaian persamaan diferensial parsial nonlinier yang digunakan, Von Neumann kemudian beralih dalam bidang komputasi. 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.

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.

Berikutnya 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).

Selanjutnya komputer Colossus 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.

Lalu lahirlah 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).

 Jenis-jenis Komputasi Modern

Komputasi modern terbagi tiga macam, yaitu komputasi mobile (bergerak), komputasi grid, dan komputasi cloud (awan). Penjelasan lebih lanjut dari jenis-jenis komputasi modern sebagai berikut :

  1. Mobile computing

Mobile computing atau komputasi bergerak memiliki beberapa penjelasan, salah satunya komputasi bergerak merupakan kemajuan teknologi komputer sehingga dapat berkomunikasi menggunakan jaringan tanpa menggunakan kabel dan mudah dibawa atau berpindah tempat, tetapi berbeda dengan komputasi nirkabel. Contoh dari perangkat komputasi bergerak seperti GPS, juga tipe dari komputasi bergerak seperti smart phone, dan lain sebagainya.

  1. Grid computing

Komputasi grid menggunakan komputer yang terpisah oleh geografis, didistibusikan dan terhubung oleh jaringan untuk menyelasaikan masalah komputasi skala besar. Ada beberapa daftar yang dapat dugunakan untuk mengenali sistem komputasi grid, adalah:

  • Sistem untuk koordinat sumber daya komputasi tidak dibawah kendali pusat.
  • Sistem menggunakan standard dan protocol yang terbuka.
  • Sistem mencoba mencapai kualitas pelayanan yang canggih, yang lebih baik diatas kualitas komponen individu pelayanan komputasi grid.
  1. Cloud computing

Komputasi cloud merupakan gaya komputasi yang terukur dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet. Komputasi cloud menggambarkan pelengkap baru, konsumsi dan layanan IT berbasis model dalam internet, dan biasanya melibatkan ketentuan dari keterukuran dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet.

Adapun perbedaan antara komputasi mobile, komputasi grid dan komputasi cloud, dapat dilihat penjelasannya dibawah ini :

  • Komputasi mobile menggunakan teknologi komputer yang bekerja seperti handphone, sedangkan komputasi grid dan cloud menggunakan komputer.
  • Biaya untuk tenaga komputasi mobile lebih mahal dibandingkan dengan komputasi grid dan cloud.
  • Komputasi mobile tidak membutuhkan tempat dan mudah dibawa kemana-mana, sedangkan grid dan cloud membutuhkan tempat yang khusus.
  • Untuk komputasi mobile proses tergantung si pengguna, komputasi grid proses tergantung pengguna mendapatkan server atau tidak, dan komputasi cloud prosesnya membutuhkan jaringan internet sebagai penghubungnya.

Referensi :

http://alam-saiful.blogspot.co.id/2015/03/pengantar-komputasi-modern.html

https://ku2harlis.wordpress.com/komputasi-modern/

http://esasabila.blogspot.co.id/2016/04/artikel-komputasi-modern.html