Materi Perkuliahan BAHASA PEMROGRAMAN STRUKTUR BAHASA PEMROGRAMAN Ari Wibowo, S.Kom
Pembahasan <ul><li>Semantics & Syntax </li></ul><ul><li>Variabel & Konstanta </li></ul><ul><li>Tipe Data </li></ul><ul><li...
Semantics & Syntax <ul><li>Semantics  dari bahasa pemrograman menspesifikasikan  arti  dari program </li></ul><ul><li>Synt...
Semantics <ul><li>If x > 2 Then </li></ul><ul><li>z := x * 5 </li></ul><ul><li>Else </li></ul><ul><li>z := x; </li></ul>If...
Syntax <ul><li>If x > 2 Then </li></ul><ul><li>z := x * 5 </li></ul><ul><li>Else </li></ul><ul><li>z := x; </li></ul>If  x...
Semantics <ul><li>Dasar mekanisme abstraksi pada bahasa pemrograman adalah penggunaan  nama  atau  identifiers </li></ul><...
Atribut <ul><li>Arti dari nama  ditegaskan  oleh  atribut  yang diasosiasikan oleh nama tersebut </li></ul><ul><ul><li>con...
Binding <ul><li>Proses mengasosiasikan atribut ke nama disebut dengan  Binding </li></ul><ul><ul><li>const  phi  = 3.14;  ...
Binding Time <ul><li>Language definition time : pada saat pendeklarasian </li></ul><ul><li>Language implementation time : ...
Deklarasi  <ul><li>Deklarasi merupakan  prinsip  dalam menyediakan  binding </li></ul><ul><li>Umumnya diasosiasikan dengan...
Deklarasi <ul><li>program  Test; </li></ul><ul><li>Uses  crt; </li></ul><ul><li>var  x: integer;  </li></ul><ul><li>proced...
Ruang Lingkup ( Scope ) <ul><li>program  Test; </li></ul><ul><li>Uses  crt; </li></ul><ul><li>var  x: integer;  </li></ul>...
Ruang Lingkup ( Scope ) <ul><li>program  Test; </li></ul><ul><li>Uses  crt; </li></ul><ul><li>var  x: integer;  </li></ul>...
Syntax <ul><li>Lexical Structure  menspesifikasikan bagaimana  kata  dibentuk dari  karakter </li></ul><ul><li>Syntactic S...
Lexical Structure <ul><li>Pada lexical structure, bahasa pemrograman menggunakan  tokens  untuk membentuk  grammatical cat...
Syntactic Structure <ul><li>Menggunakan notasi  Backus-Naur Form (BNF)  untuk definisi formal </li></ul><ul><li>Contoh : <...
Parse Tree <ul><li>integer  </li></ul><ul><li>integer   digit </li></ul><ul><li>integer digit   digit </li></ul><ul><li>di...
Upcoming SlideShare
Loading in...5
×

Bahasa Pemrograman - Part 3

3,259

Published on

Pembahasan materi Struktur Bahasa Pemrograman - Bahasa Pemrograman

Published in: Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,259
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
133
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Bahasa Pemrograman - Part 3

  1. 1. Materi Perkuliahan BAHASA PEMROGRAMAN STRUKTUR BAHASA PEMROGRAMAN Ari Wibowo, S.Kom
  2. 2. Pembahasan <ul><li>Semantics & Syntax </li></ul><ul><li>Variabel & Konstanta </li></ul><ul><li>Tipe Data </li></ul><ul><li>Data Terstruktur </li></ul><ul><li>Ekspresi & Pernyataan </li></ul>Bahasa Pemrograman – STMIK SATYAGAMA - Ari Wibowo, S.Kom
  3. 3. Semantics & Syntax <ul><li>Semantics dari bahasa pemrograman menspesifikasikan arti dari program </li></ul><ul><li>Syntax dari bahasa pemrograman menspesifikasikan struktur dari program </li></ul>
  4. 4. Semantics <ul><li>If x > 2 Then </li></ul><ul><li>z := x * 5 </li></ul><ul><li>Else </li></ul><ul><li>z := x; </li></ul>If x > 2 Then z := x * 5 Else z := x; Expression Evaluating If x > 2 Then z := x * 5 Else z := x; If x > 2 Then z := x * 5 Else z := x; Executing statements in TRUE condition block Optionaly, execute statements in FALSE condition block Mendeskripsikan bagaimana program berjalan
  5. 5. Syntax <ul><li>If x > 2 Then </li></ul><ul><li>z := x * 5 </li></ul><ul><li>Else </li></ul><ul><li>z := x; </li></ul>If x > 2 Then z := x * 5 Else z := x; If x > 2 Then z := x * 5 Else z := x; KEYWORD EXPRESSION If x > 2 Then z := x * 5 Else z := x; STATEMENTS Mendeskripsikan bagaimana program ditulis
  6. 6. Semantics <ul><li>Dasar mekanisme abstraksi pada bahasa pemrograman adalah penggunaan nama atau identifiers </li></ul><ul><li>Pada kebanyakan bahasa pemrograman, variabel, konstanta dan prosedur dapat diberikan nama yang didefinisikan oleh programmer </li></ul>
  7. 7. Atribut <ul><li>Arti dari nama ditegaskan oleh atribut yang diasosiasikan oleh nama tersebut </li></ul><ul><ul><li>const phi = 3.14; { phi merupakan sebuah konstanta} </li></ul></ul><ul><ul><li>var x : integer; { x merupakan sebuah variabel} </li></ul></ul><ul><ul><li>procedure Cetak ; { Cetak merupakan sebuah prosedur} </li></ul></ul>
  8. 8. Binding <ul><li>Proses mengasosiasikan atribut ke nama disebut dengan Binding </li></ul><ul><ul><li>const phi = 3.14; { static binding } </li></ul></ul><ul><ul><li>var x : integer; { static binding } </li></ul></ul><ul><ul><li>x :=2; { dynamic binding } </li></ul></ul>
  9. 9. Binding Time <ul><li>Language definition time : pada saat pendeklarasian </li></ul><ul><li>Language implementation time : pada saat penggunaan </li></ul><ul><li>Translation time : tipe-tipe dari variabel </li></ul><ul><li>Link time : pada saat pemanggilan fungsi external </li></ul><ul><li>Load time : lokasi global variabel </li></ul><ul><li>Execution time : nilai dari variabel, lokasi local variabel </li></ul>
  10. 10. Deklarasi <ul><li>Deklarasi merupakan prinsip dalam menyediakan binding </li></ul><ul><li>Umumnya diasosiasikan dengan sebuah block </li></ul><ul><li>Lokal , deklarasi yang ditempatkan didalam block </li></ul><ul><li>Global , deklarasi yang ditempatkan diluar block </li></ul>
  11. 11. Deklarasi <ul><li>program Test; </li></ul><ul><li>Uses crt; </li></ul><ul><li>var x: integer; </li></ul><ul><li>procedure Cetak(y: integer); </li></ul><ul><li>var z: integer; </li></ul><ul><li>begin </li></ul><ul><li>z := 2 * x; </li></ul><ul><li>writeln (z + y); </li></ul><ul><li>end ; </li></ul><ul><li>begin </li></ul><ul><li>x := 5; </li></ul><ul><li>Cetak(x); </li></ul><ul><li>Readln; </li></ul><ul><li>end . </li></ul>LOCAL GLOBAL
  12. 12. Ruang Lingkup ( Scope ) <ul><li>program Test; </li></ul><ul><li>Uses crt; </li></ul><ul><li>var x: integer; </li></ul><ul><li>procedure Cetak(y: integer); </li></ul><ul><li>var z: integer; </li></ul><ul><li>begin </li></ul><ul><li>z := 2 * x; </li></ul><ul><li>writeln (z + y); </li></ul><ul><li>end ; </li></ul><ul><li>begin </li></ul><ul><li>x := 5; </li></ul><ul><li>Cetak(x); </li></ul><ul><li>Readln; </li></ul><ul><li>end . </li></ul>
  13. 13. Ruang Lingkup ( Scope ) <ul><li>program Test; </li></ul><ul><li>Uses crt; </li></ul><ul><li>var x: integer; </li></ul><ul><li>procedure Cetak(y: integer); </li></ul><ul><li>var z: integer; </li></ul><ul><li>begin </li></ul><ul><li>z := 2 * x; </li></ul><ul><li>writeln (z + y); </li></ul><ul><li>end ; </li></ul><ul><li>begin </li></ul><ul><li>x := 5; </li></ul><ul><li>z := 3; </li></ul><ul><li>Cetak(x); </li></ul><ul><li>Readln; </li></ul><ul><li>end . </li></ul>ERROR !!!
  14. 14. Syntax <ul><li>Lexical Structure menspesifikasikan bagaimana kata dibentuk dari karakter </li></ul><ul><li>Syntactic Structure menspesifikasikan bagaimana kalimat dibentuk dari kata </li></ul>characters words sentences Lexical Structure Syntactic Structure
  15. 15. Lexical Structure <ul><li>Pada lexical structure, bahasa pemrograman menggunakan tokens untuk membentuk grammatical categories yang akan membentuk blok-blok syntax </li></ul><ul><li>Standar tokens: </li></ul><ul><ul><li>Keywords , seperti IF, WHILE, REPEAT, dll </li></ul></ul><ul><ul><li>Literals , seperti 10 (numeric literal) atau ‘A’ (string literal) </li></ul></ul><ul><ul><li>Special Symbols , umumnya dipergunakan untuk membentuk operator </li></ul></ul><ul><ul><li>Identifiers , umumnya dipergunakan untuk menamai routine (prosedur & fungsi) </li></ul></ul><ul><ul><li>Comments , baris program yang tidak akan dieksekusi </li></ul></ul>
  16. 16. Syntactic Structure <ul><li>Menggunakan notasi Backus-Naur Form (BNF) untuk definisi formal </li></ul><ul><li>Contoh : </li></ul><ul><ul><ul><li>Binary : </li></ul></ul></ul><ul><ul><ul><ul><li>binaryDigits  0 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>binaryDigits  1 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>binaryDigits  0 | 1 </li></ul></ul></ul></ul><ul><ul><ul><li>Integer : </li></ul></ul></ul><ul><ul><ul><ul><li>integer  digit | integer digit </li></ul></ul></ul></ul><ul><ul><ul><ul><li>digit  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 </li></ul></ul></ul></ul>
  17. 17. Parse Tree <ul><li>integer </li></ul><ul><li>integer digit </li></ul><ul><li>integer digit digit </li></ul><ul><li>digit digit digit </li></ul><ul><li>1 digit digit </li></ul><ul><li>1 2 digit </li></ul><ul><li>1 2 3 </li></ul>Sentential Form Sentence 1 2 3 digit digit digit integer integer integer
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×