Anda di halaman 1dari 8

TEORI BAHASA & OTOMATA

Dosen Pengampu : Fitri Nuraeni, S.Kom., M.Kom.

Disusun Oleh :
Gea Davids Khalik
2206013

TEKNIK INFORMATIKA
INSTITUT TEKNOLOGI GARUT
2023
A. Hubungan antara teori bahasa & otomata dengan komputasi

Teori bahasa dan otomata adalah dua konsep yang sangat penting dalam bidang
ilmu komputer dan ilmu komputasi. Keduanya memiliki hubungan erat dengan
komputasi dan membantu dalam memahami cara bahasa dan komunikasi
manusia dapat diubah menjadi representasi yang dapat diproses oleh komputer.
Berikut ini adalah hubungan antara teori bahasa dan otomata dengan komputasi:

1 Teori Bahasa:
• Teori bahasa adalah bidang studi yang berkaitan dengan analisis dan
pemahaman bahasa. Ini mencakup struktur bahasa, tata bahasa,
sintaksis, semantik, dan banyak aspek lainnya yang terkait dengan
cara kita berkomunikasi dengan kata-kata.
• Dalam konteks komputasi, teori bahasa digunakan untuk merancang
bahasa pemrograman, spesifikasi protokol komunikasi, dan banyak
aspek lainnya dari komputasi.
• Bahasa pemrograman adalah cara yang digunakan oleh manusia
untuk berkomunikasi dengan komputer. Teori bahasa membantu
dalam merancang bahasa pemrograman yang efisien dan dapat
dimengerti oleh komputer.

2 Teori Otomata:
• Teori otomata adalah bidang studi yang mencakup otomata, yang
dapat berupa mesin abstrak atau model matematis yang digunakan
untuk menggambarkan perilaku sistem.
• Automata digunakan dalam komputasi untuk memodelkan mesin
komputasi, seperti komputer dan perangkat lunak. Automata
digunakan untuk memahami apa yang dapat dihitung oleh komputer
dan seberapa efisien komputer tersebut dapat melakukan
perhitungan.
• Ada beberapa jenis otomata, termasuk otomata berhingga (finite
automata), otomata turing (Turing machines), dan banyak lainnya.
Otomata ini digunakan untuk menjelaskan berbagai tingkat kekuatan
komputasi.
3 Hubungan dengan Komputasi:
• Teori bahasa dan otomata memiliki peran penting dalam
pengembangan kompilator, yang menerjemahkan kode sumber
dalam bahasa pemrograman manusia ke dalam bahasa mesin yang
dapat dimengerti oleh computer.
• Mereka juga digunakan dalam pengembangan sistem pengenalan
suara, pemrosesan bahasa alami, dan bahkan dalam kecerdasan
buatan (AI).
• Teori otomata membantu dalam memahami batasan komputasi dan
memahami apa yang dapat dan tidak dapat dicapai oleh komputer
dalam hal perhitungan.
• Kedua teori ini juga berperan dalam pengembangan algoritma,
terutama algoritma yang terkait dengan pemrosesan bahasa dan
komunikasi manusia.

Dalam ringkasan, teori bahasa dan otomata adalah dua konsep yang mendasar
dalam ilmu komputer dan ilmu komputasi, dan keduanya memiliki peran
penting dalam merancang dan memahami komputasi serta komunikasi dengan
komputer.

B. Sejarah perkembangan bahasa pemrograman sampai saat ini

Sejarah perkembangan bahasa pemrograman mencakup berbagai bahasa yang


telah diciptakan dan digunakan sejak awal komputasi hingga saat ini. Di bawah
ini adalah gambaran singkat tentang perkembangan bahasa pemrograman dari
awal hingga saat ini:

1 Bahasa Mesin (Machine Language)

Bahasa pemrograman pertama adalah bahasa mesin, yang terdiri dari kode
biner (0 dan 1) yang dimengerti langsung oleh komputer. Ini adalah bentuk
paling primitif dari bahasa pemrograman.

2 Assembly Language
Assembly language adalah bahasa pemrograman tingkat rendah yang
menggunakan mnemonik dan kode simbolik untuk menggantikan instruksi
bahasa mesin. Ini mempermudah pemrograman dibandingkan dengan
bahasa mesin murni.

3 Fortran (Formula Translation)

Fortran adalah bahasa pemrograman pertama yang dikhususkan untuk


komputasi ilmiah dan numerik. Dikembangkan oleh IBM pada tahun 1957
oleh John Backus, Fortran sangat populer dalam pemodelan matematika dan
ilmiah.

4 COBOL (Common Business-Oriented Language)

COBOL, dikembangkan pada tahun 1959, dirancang untuk pemrograman


bisnis. Ini menggantikan bahasa Assembly dalam pengembangan aplikasi
bisnis.

5 LISP (LISt Processing)

LISP, diciptakan pada tahun 1958 oleh John McCarthy, adalah salah satu
bahasa pemrograman tertua yang digunakan dalam kecerdasan buatan dan
pemrosesan bahasa alami.

6 BASIC (Beginner's All-purpose Symbolic Instruction Code)

BASIC, dikembangkan pada tahun 1964 oleh John Kemeny dan Thomas
Kurtz, dirancang untuk pendidikan dan membuat pemrograman lebih
mudah dipelajari oleh pemula.

7 C dan C++

Bahasa pemrograman C, diciptakan oleh Dennis Ritchie pada tahun 1972,


menjadi salah satu bahasa yang paling berpengaruh dalam sejarah. Bahasa
ini adalah dasar dari banyak sistem operasi dan program lainnya. C++, yang
dikembangkan oleh Bjarne Stroustrup, merupakan ekstensi dari C dengan
fitur pemrograman berorientasi objek.
8 Java

Java, dikembangkan oleh Sun Microsystems (sekarang dimiliki oleh


Oracle), dirilis pada tahun 1995. Java dirancang untuk portabilitas lintas
platform dan menjadi populer dalam pengembangan aplikasi web dan
perangkat lunak berbasis jaringan.

9 Python

Python, yang pertama kali dirilis pada tahun 1991 oleh Guido van Rossum,
memiliki sintaksis yang mudah dibaca dan digunakan dalam berbagai
bidang, termasuk ilmu data, kecerdasan buatan, dan pengembangan web.

10 JavaScript

JavaScript, tidak sama dengan Java, adalah bahasa pemrograman yang


digunakan secara luas untuk pengembangan web. Ini memungkinkan
interaktivitas pada halaman web dan dijalankan di sisi klien (browser).

11 Bahasa Pemrograman Modern

Saat ini, terdapat berbagai bahasa pemrograman modern seperti Rust, Swift,
Go, dan banyak lainnya, masing-masing dengan tujuan dan kegunaan
khususnya. Perkembangan terus berlanjut dengan peningkatan dalam
efisiensi, keamanan, dan kemudahan penggunaan.

Penting untuk diingat bahwa bahasa pemrograman terus berkembang, dan


bahasa baru terus diciptakan untuk mengatasi tantangan dan kebutuhan baru
dalam komputasi. Pemilihan bahasa pemrograman biasanya bergantung pada
proyek atau tujuan tertentu, dan pemrogram harus memilih bahasa yang paling
sesuai untuk tugas yang mereka hadapi.
C. Karakteristik dari setiap penerjemah bahasa formal (translator)

Penerjemah bahasa formal, atau biasa disebut translator dalam konteks bahasa
pemrograman, adalah perangkat lunak atau sistem yang digunakan untuk
menerjemahkan kode dalam satu bahasa pemrograman ke dalam kode dalam
bahasa pemrograman lain. Setiap penerjemah bahasa formal memiliki
karakteristik khusus yang memengaruhi cara mereka bekerja dan
penggunaannya. Berikut adalah beberapa karakteristik umum dari penerjemah
bahasa formal:

1 Compiler dan Interpreter

Terdapat dua jenis penerjemah bahasa formal utama: kompiler (compiler)


dan penerjemah (interpreter). Kompiler menerjemahkan seluruh program ke
dalam bahasa mesin atau kode antara sebelum program dijalankan,
sementara interpreter menerjemahkan dan menjalankan kode satu per satu.

2 Proses Penerjemahan

Penerjemah bahasa formal memproses kode sumber dalam bahasa


pemrograman asal (source code) dan menghasilkan kode dalam bahasa
pemrograman target (target code).

Proses ini melibatkan analisis sintaksis (parsing) untuk memahami struktur


kode sumber, analisis semantik untuk memeriksa kesalahan dan makna,
serta penghasilan kode target yang sesuai.

3 Optimisasi Kode

Kompiler sering melakukan optimisasi kode, yang mencakup perubahan


kode sumber menjadi lebih efisien atau menghapus kode yang tidak perlu.
Hal ini bertujuan untuk meningkatkan kinerja dan efisiensi program.

4 Pengecekan Kesalahan

Penerjemah bahasa formal melakukan pemeriksaan kesalahan (error


checking) pada kode sumber selama proses penerjemahan. Ini termasuk
pemeriksaan sintaksis dan semantik untuk menemukan dan melaporkan
kesalahan kepada pengembang.

5 Portabilitas

Salah satu keuntungan dari penerjemah bahasa formal adalah bahwa mereka
dapat meningkatkan portabilitas kode. Ini berarti bahwa kode yang ditulis
dalam bahasa tertentu dapat dijalankan di berbagai platform atau sistem
operasi dengan sedikit atau tanpa modifikasi.

6 Interaksi dengan Memori dan Perangkat Keras

Penerjemah bahasa formal berinteraksi dengan memori komputer dan


perangkat keras untuk menjalankan program yang diterjemahkan. Ini
melibatkan alokasi memori, manajemen sumber daya, dan komunikasi
dengan perangkat keras.

7 Bahasa Sasaran

Setiap penerjemah bahasa formal berfokus pada satu atau beberapa bahasa
pemrograman target tertentu. Sebagian besar kompiler dan interpreter
dikembangkan untuk bahasa tertentu, seperti C, Python, Java, dll.

8 Debugging

Penerjemah bahasa formal biasanya memiliki fasilitas debugging yang


memungkinkan pengguna untuk melacak dan memecahkan masalah dalam
kode mereka. Ini mencakup kemampuan untuk meninjau variabel, melacak
eksekusi program, dan menghentikan eksekusi pada titik tertentu untuk
pengujian.

9 Waktu Eksekusi

Interpreter biasanya memiliki waktu eksekusi yang lebih lambat


dibandingkan dengan kompiler karena kode diterjemahkan saat program
berjalan. Kompiler, di sisi lain, menghasilkan kode yang lebih efisien dan
biasanya lebih cepat dalam eksekusi.
10 Contoh Penerjemah Bahasa Formal Populer

Contoh penerjemah bahasa formal yang terkenal termasuk GCC (GNU


Compiler Collection) untuk bahasa C dan C++, Python Interpreter untuk
Python, Java Virtual Machine (JVM) untuk bahasa Java, dan banyak lagi.

Setiap penerjemah bahasa formal memiliki keunggulan dan kelemahan sendiri,


dan pemilihan jenis penerjemah dan bahasa pemrograman yang tepat tergantung
pada kebutuhan dan tujuan pengembangan perangkat lunak.

Anda mungkin juga menyukai