Pada matematika, ilmu komputer dan linguistik, suatu bahasa formal terdiri dari kata-kata yang mana simbol diambil dari alfabet dan bentukan-selaras berdasarkan seperangkat kaidah tertentu.

Alfabet akan bahasa formal terdiri dari simbol, huruf atau token yang bergabung menjadi string akan bahasa.[1] Tiap string yang digabungkan dari simbol-simbol akan alfabet disebut sebuah kata. Sebuah bahasa formal sering didefinisikan melalui tata bahasa formal seperti tata bahasa reguler atau tata bahasa bebas konteks yang terdiri dari kaidah pembentukan.

Pada ilmu komputer, bahasa formal digunakan antara lain sebagai dasar untuk menggambarkan tata bahasa akan bahasa pemrograman dan versi formal akan himpunan bagian dari bahasa alami yang mana kata-kata akan bahasa mewakili konsep yang diasosiasikan dengan semantik atau makna tertentu.

Sejarah

sunting

Bahasa formal pertama diperkirakan digunakan oleh Gottlob Frege dalam buku Begriffsschrift (1879) yang mana Frege menyatakan sebagai sebuah "bahasa formal dari pemikiran murni."[2]

Definisi

sunting

Suatu bahasa formal L atas sebuah alfabet Σ ialah himpunan bagian akan Σ*, yaitu sekumpulan kata-kata atas alfabet.

Contoh

sunting

Terdapat kaidah yang menggambarkan suatu bahasa formal L atas alfabet Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, +, =}:

  • Setiap string berisi yang tidak mengandung "+" atau "=" dan tidak dimulai dengan "0" ialah L.
  • String "0" ialah L.
  • Suatu string berisi "=" adalah L hanya jika terdapat satu "=" memisahkan dua string valid akan L.
  • Suatu string berisi "+" tetapi bukan "=" ialah L jika setiap "+" dalam string memisahkan dua string yang valid akan L.
  • Tidak ada string dalam L selain yang tersirat oleh aturan yang ada.

Berdasar aturan tersebut, string "23+4=555" ialah L, tetapi string "=234=+" ialah bukan. Bahasa formal ini mengungkapkan bilangan asli, tetapi hanya mengungkapkan seperti apa yang terlihat (sintaksis), bukan berdasarkan makna (semantik). Sebagai contoh, tidak terdapat pada kaidah ini indikasi bahwa "0" berarti angka nol, "+" berarti penjumlahan, "23+4=555" ialah tidak benar, dsb.

Referensi

sunting

Kutipan

sunting
  1. ^ Reghizzi, Stefano Crespi (2009), Formal Languages and Compilation, Texts in Computer Science, Springer, hlm. 8, ISBN 9781848820500, Suatu alfabet ialah himpunan terbatas .
  2. ^ Martin Davis (1995). "Influences of Mathematical Logic on Computer Science". Dalam Rolf Herken. The universal Turing machine: a half-century survey. Springer. hlm. 290. ISBN 978-3-211-82637-9. 

Sumber

sunting

Pranala luar

sunting