Sharing My Experience

Konsep Bahasa Pemrograman



Alasan mempelajari Konsep Bahasa Pemrograman :
  • Meningkatan kemampuan untuk mengekspresikan ide-ide
  • Meningkatan latar belakang untuk memilih bahasa yang sesuai
  • Meningkatan kemampuan untuk belajar bahasa baru
  • Pemahaman yang Lebih baik tentang pentingnya pelaksanaan/implementasi
  • Penggunaan bahasa Lebih baik yang sudah dikenal
  • Secara keseluruhan untuk kemajuan komputasi

Programming Domains :

1. Aplikasi ilmiah/ Scientific applications
  • Sejumlah besar menggunakan perhitungan floating point, penggunaan array.
  • Fortran 
2. Aplikasi bisnis/ Business applications
  • Menghasilkan laporan, menggunakan angka desimal dan karakter
  • COBOL
3. Kecerdasan buatan/Artificial intelligence
  • Simbol daripada nomor dimanipulasi; penggunaan daftar link
  • LISP
4. Sistem pemrograman/Systems programming
  • Butuh efisiensi karena terus digunakan
  • C
5. web Software
  • Koleksi eklektik bahasa: markup (misalnya, XHTML), script (misalnya PHP), untuk keperluan umum (misalnya, Java)
Kriteria Bahasa Pemrograman :
Readability: Mudah untuk dibaca dan dimengerti
Writability: Mudah untuk membuat sebuah program
Reliability: Kesesuaian dengan spesifikasi/ kehandalannya
Cost: Biaya yang terjangkau
Pengaruh pada design Bahasa :

Arsitektur komputer
       Bahasa yang dikembangkan di sekitar arsitektur komputer umum, yang dikenal sebagai arsitektur von Neumann
Pemrograman Metodologi
       Metodologi pengembangan perangkat lunak baru (misalnya, berorientasi objek pengembangan perangkat lunak) menyebabkan paradigma pemrograman baru dan dengan perluasan, bahasa pemrograman baru

Compilation/ Kompilasi :
- Menerjemahkan program tinggi tingkat (bahasa sumber) ke dalam kode mesin (machine language)
- Lambat penerjemahan, eksekusi cepat
- Proses kompilasi memiliki beberapa tahap:
  • Analisis leksikal: mengubah karakter dalam program sumber menjadi satuan-satuan leksikal
  • Sintaks analisis: mengubah unit leksikal menjadi pohon parse yang mewakili struktur sintaksis dari program
  • Semantik analisis: menghasilkan kode intermediate
  • Pembuatan kode: kode mesin yang dihasilkan

Proses Kompilasi :



Introduction/ Pengenalan :
  •        Sintaks: bentuk atau struktur dari ekspresi, pernyataan, dan unit program
  •        Semantik: arti dari ekspresi, pernyataan, dan unit program 
  •        Sintaks dan semantik memberikan definisi bahasa
  - Definisi Pengguna bahasa :
  •       Penyusun bahasa lain
  •       Pelaksana
  •       Programmer (pengguna bahasa)
Masalah Umum Menggambarkan Sintaks: Terminologi

  •      Kalimat adalah string dari beberapa karakter alfabet  
  •      Bahasa adalah seperangkat kalimat
  •      Lexeme adalah unit terendah sintaksis dari suatu bahasa (misalnya, *, jumlah, mulai)
  •      Token adalah kategori dari lexeme (misalnya, identifier)
CFG and BNF

Contexs- Free Grammars (Tata bahasa Bebas Konteks)
Dikembangkan oleh Noam Chomsky pada pertengahan 1950-an
Generator Bahasa, dimaksudkan untuk menggambarkan sintaks dari bahasa alami
Mendefinisikan kelas bahasa yang disebut bahasa bebas konteks

Backus Naur Form-(1959)
Diciptakan oleh John Backus untuk menggambarkan Algol 58. BNF setara dengan tata bahasa bebas konteks


BNF Fundamental

       - Dalam BNF, abstraksi digunakan untuk mewakili kelas struktur sintaksis 
       - Mereka bertindak seperti variabel sintaksis (juga disebut simbol     nonterminal, atau hanya terminal)

        -Terminal adalah leksem atau token
        -Aturan A memiliki sisi kiri (Left-Hand Side), yang merupakan nonterminal, dan sisi   kanan (Right-Hand Side), yang merupakan serangkaian terminal dan / atau nonterminals

        -Nonterminals sering ditutupi dalam kurung sudut

Contoh aturan BNF:
→ pengenal | identifier,
→ jika kemudian

        -Tata Bahasa: satu set yang tidak kosong hingga aturan
        -Sebuah simbol awal adalah elemen khusus dari nonterminals dari tata bahasa

BNF Rules/ Aturan BNF :
Sebuah abstraksi (atau simbol nonterminal) dapat memiliki lebih dari satu RHS

     ® <single_stmt>
             | begin <stmt_list> end

Menggambarkan Daftar

Daftar sintaksis dijelaskan menggunakan rekursif
               ® ident
                                    |  Ident,

Derivasi adalah aplikasi diulang aturan, dimulai dengan simbol awal dan berakhir dengan kalimat (semua simbol terminal)

Contoh Grammar :


Contoh Derivasi :
Parse tree
Sebuah representasi hirarkis dari turunan






0 Komentar untuk "Konsep Bahasa Pemrograman"

Back To Top