TABEL INFORMASI / SIMBOL

dokumen-dokumen yang mirip
TUGAS MATA KULIAH TEKNIK KOMPILASI

Perjalanan sebuah intruksi

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.

Teknik Kompiler 8. oleh: antonius rachmat c, s.kom

STRUKTUR PROGRAM. Secara ringkas, struktur suatu program Pascal dapat terdiri dari : 1.Judul Program 2.Blog Program a.

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

STRUKTUR BAHASA PEMROGRAMAN

TIPE DATA, VARIABLE, dan OPERATOR DELPHI

MK. PEMROGRAMAN SISTEM Semester/SKS : 6/3 COMPILER. Jurusan Sistem Komputer S1 Universitas Gunadarma

ARRAY. Larik / array adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe yang sama.

JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

PENGERTIAN VARIABEL, KONSTANTA DAN TIPE DATA

Teori Algoritma TIPE DATA

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

.::BAB II.::MENGENAL PASCAL

Lab. Teknik Informatika Struktur Data 1

Contoh soal Struktur Program Pascal (Seleksi tingkat propinsi TOKI 2004)

FUNGSI. Blok fungsi juga diawali dengan kata cadangan Begin dan di akhiri dengan kata cadangan End dan titik koma.

Cara pertama adalah pada saat deklarasi variabel ditambahkan ke- yword const sebelum nama tipe data seperti

ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

SMA SANTO PAULUS PONTIANAK

PENDAHULUAN. Brigida Arie Minartiningtyas, M.Kom

PEMROGRAMAN JAVA. Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita

ARRAY. contoh : A[1] := 10; var A : array[1..10] of integer; A[nomer_indeks]

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

Struktur Data. Pertemuan 2

BAB 7 Java Array. Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki identifier yang berbeda untuk tiap variabel.

PERTEMUAN V PEMROGRAMAN TERSTRUKTUR DENGAN VISUAL C Setiap bahasa C mempunyai satu fungsi dengan nama main (program utama).

Tipe Data. Definisi Tipe Data

MODUL. Pointer. Modul Praktikum C++ Dasar Pemrograman Komputer JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

Alat bantu (tools) dalam pembuatan parser/ analisis sintaksis. Menggunakan simbol persegi panjang untuk non terminal

OPERASI PERNYATAAN KONDISI

Struktur Data. PDE - Struktur Data 1

Konsep Dasar Pemrograman Pascal

Modul Praktikum Bahasa Pemrograman 1

Pengenalan Pascal/DevPascal

BAB 7. Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki identifier berbeda untuk tiap variabel.

KONSEP DASAR BAHASA PASCAL

PERKEMBANGAN PASCAL. Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan

BAB I PENGENALAN STRUKTUR DATA DAN ALGORITMA

Dasar Komputer & Pemrograman 2A

Tujuan Pembelajaran : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Modul.

Bab II Algoritma dan logika

Objek Data, Variabel, dan Konstanta. Konsep Bahasa Pemrograman Materi 4 Yudianto Sujana, M.Kom

Teori Algoritma. Struktur Algoritma

Chapter 3.2 : Tipe, Nama dan Nilai

Pointer. ted = &andy;

MODUL 1. Struktur Bahasa PASCAL secara umum

A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] A[10] Nilai elemen array Index array Inelemen array

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 1 & 2

Pertemuan 4 Array pada Java

Pengenalan C++ Oleh : Dewi Sartika

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-1

PENGGUNAAN DATA DAN VARIABEL

& PEMROGRAMAN. Alex De Kweldju, S.Kom D3 Teknik Komputer Fakultas Teknik Universitas Negeri Papua

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

JENIS-JENIS DATA DAN STATEMEN INPUT OUTPUT

Algoritma dan Pemrograman. Pertemuan Ke-4 Konsep Tipe Data, Operator Dan Identifier

STRUKTUR DATA. Deskripsi Mata Kuliah

MATERI 2 JENIS-JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

Lecturer: Abdusy Syarif. Undergraduate Course Informatics Engineering Dept. Universitas Mercu Buana. Tipe Data

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-5

Tabel 1. Jenis data integer Ukuran memori (dalam byte)

ANALISIS SEMANTIK. Teknik Kompilasi Dosen: Utami Dewi W.,S.Kom

Dasar Pemrograman Java

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

Tujuan Pembelajaran : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Modul.

Tipe data dasar merupakan tipe data yang disediakan oleh kompailer, sehingga dapat langsung dipakai Dalam algoritma dan pemrograman yang termasuk dala

Belajar itu, Tidak harus menunggu materi dari guru Inisiatif Mencari itulah BELAJAR.

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya :

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera

PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan)

Pemrograman Fery Updi,M.Kom

Pemrograman Dasar Pascal

MAKALAH POINTER PADA BAHASA C

KONSEP DASAR PEMROGRAMAN PASCAL

ALGORITMA DAN STRUKTUR DATA

LAPORAN PRAKTIKUM RESMI TIPE DATA, KONSTANTA DAN VARIABEL

VARIABEL & TIPE DATA PEMROGRAMAN C++

Keyword,Tipe data & Variabel. Keywords pada c Tipedata Variabel Konstanta

MODUL STRUKTUR DATA. Erna Kumalasari Nurnawati

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C


BAB 6 Array Dua Dimensi

Pemrograman Dasar C. Minggu 9

Algoritma dan Pemrograman 1. By. Rita Wiryasaputra, ST., M. Cs.

disebut ternary operator. Di dalam suatu operasi dapat terdapat banyak operator. Urutan eksekusi dari operatoroperator

BAB IX LINKED LIST (SENARAI BERANTAI)

ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA

Array Pendeklarasian Array

Pertemuan 4 KONSEP TIPE DATA

Pengenalan Pascal. Sejarah Singkat Pascal

Tipe data primitif adalah tipe data dasar yang dikenali oleh Java dan bukan merupakan class. Tipe data primitif ini dapat dikenali dengan ciri

Modul Praktikum 4 Pemograman Berorientasi Objek

Universitas Komputer Indonesia. Pemrograman dengan C++ Builder 2004 Taryana S.

Memulai Pemrograman Pascal dengan Delphi Console 1. Buka aplikasi delphi 2. Pilih File New Other Console Application

Modul PVB-POLINEMA V1.0

VARIABEL, TIPE DATA DAN EKSPRESI Bab 2

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

Pengenalan Algoritma & Struktur Data. Pertemuan ke-1

Transkripsi:

TABEL INFORMASI / SIMBOL Fungsi Tabel Informasi atau Tabel Simbol : Membantu pemeriksaan kebenaran semantik dari program sumber. Membantu dan mempermudah pembuatan intermediate code dan proses pembangkitan kode. ELEMEN TABEL SIMBOL Elemen pada Tabel Simbol bermacammacam, tergantung pada jenis bahasanya. Misalnya : 1.No urut identifier : Menentukan nomor urut identifier dalam tabel simbol. 2.Nama identifier : Berisi nama-nama identifier (nama variabel, nama tipe, nama konstanta, nama procedure, nama fungsi, dll) yang terdapat pada program sumber. Nama-nama ini akan dijadikan referensi pada waktu analisa semantik, pembuatan intermediate code, serta pembangkitan kode. ELEMEN TABEL SIMBOL 3. Tipe identifier : Berisi keterangan/ informasi tipe dari record dan string, maupun procedure dan function. 4. Object time address : address yang mengacu ke alamat tertentu. 5. Dimensi dari identifier yang bersangkutan. 6. Nomor baris variabel dideklarasikan. 7. Nomor baris variabel direferensikan. 8. Field link. 1

Tabel Informasi Implementasi Ada bebera jenis Tabel Informasi : Tabel Indentifier ; berfungsi menampung semua identifier yang terdapat dalam program Tabel Array ; berfungsi menampung informasi tambahan untuk sebuah array Tabel Blok : mencatat variabel-variabel yang ada pada blok yang sama Tabel Real : menyimpan elemen tabel bernilai real Tabel String : menyimpan informasi string Tabel Display : mencatat blok yang akif Tabel Identifier Memiliki field : No urut identifier dalam tabel Nama identifier Jenis/obyektif dari identifier : Prosedur, fungsi, tipe, variabel, konstanta Tipe dari identifier yang bersangkutan : integer, char, boolean, array, record, file, no-type Level : Kedalaman identifier tertentu, hal ini menyangkut letak identifier dalam program. Konsepnya sama dengan pembentukan tree, misal main program = level 0. Fiel ini digunakan pada run time untuk mengetahui current activation record dan variabel yang bisa diakses. Contoh (identifier) Untuk identifier yang butuh penyimpanan dicatat pula : Alamat relatif/address dari identifier untuk implementasi Informasi referensi (acuan) tertentu ke alamat tabel lain yang digunakan untuk mencatat informasi-informasi yang diperlukan yang menerangkannya. Link : Menghubungkan identifier ke identifier lainnya, atau yang dideklarasikan pada level yang sama. Normal : Diperlukan pada pemanggilan parameter, untuk membedakan parameter by value dan reference (berupa suatu variabel boolean) Terdapat listing program sebagai berikut : Program A; var B : integer; Procedure X(Z:char); var C : integer Begin. Tabel Identifier akan mencatat semua identifier : 0 A 1 B 2 X 3 Z 4 C 2

Contoh implementasi tabel identifier : TabId: array [0..tabmax] of record name : string; link : integer; obj : objek; tipe : types; ref : integer; normal : boolean; level : 0..maxlevel; address : integer; di mana : objek = (konstant, variabel, prosedur, fungsi) types = (notipe, int, reals, booleans, chars, arrays, record) Tabel Array Dipergunakan untuk menyimpan informasi suatu identifier bertipe array, tabel ini memiliki field : No urut suatu array dalam tabel Tipe dari indeks array yang bersangkutan Tipe elemen array Referensi dari elemen array Indeks batas bawah array Indeks batas atas array Jumlah elemen array Ukuran total array ( total size = (atas-bawah+1) x elemen size) Elemen size (ukuran tiap elemen) Tabel Blok Tabel Array diacu dengan field referensi pada Tabel Identifier. Contoh implementasi Tabel Array : TabArray : array [1...tabmax] of record indextype, elementype : types; elemenref, low, high : integer; elemensize, tabsize : integer; Digunakan untuk menyimpan informasi blok-blok pada tabel utama. Memiliki field : No urut blok Batas awal blok Batas akhir blok Ukuran parameter / parameter size Ukuran variabel / variabel size Last variable Last parameter 3

Contoh implementasi tabel blok : TabBlok: array [1..tabmax] of record lastvar, lastpar, parsize, varsize: integer; Dari contoh listing program berikut : Program A; var B: integer; Procedure X(Z:char); var C : integer Begin. implementasi tabel blok (lanjt) Akan diperoleh, untuk blok Program A : last variable = 2 variable size = 2 (dianggap integer butuh dua byte) last parameter = 0 (tanpa parameter) parameter size = 0 Untuk blok Procedure X : last variable = 4 variable size = 2 last parameter = 3 parameter size = 1 (dianggap char butuh satu byte) Tabel Real Dipergunakan untuk menyimpan nilai suatu identifier yang bertipe real (pecahan). Elemen tabel real : No urut elemen Nilai real suatu variabel real yang mengacu ke indeks tabel ini Contoh implementasi tabel real : TabReal : array [1..tabmax] of real Tabel String Dipergunakan untuk menyimpan informasi string yang terdapat pada program sumber. Elemennya : No urut elemen Karakter-karakter yang merupakan konstanta Contoh implementasi tabel string : TabString: array[1..tabmax] of string (pemikiran : setiap tipe yang dimiliki oleh suatu bahasa akan memiliki tabelnya sendiri) 4

Tabel Display Dipergunakan untuk menyimpan informasi blok-blok yang sedang aktif. Elemennya : No urut tabel Blok yang aktif Pengisian tabel display dilakukan dengan konsep stack. Urutan pengaksesan : Tabel Display Tabel Blok Tabel Simbol. Contoh implementasi Tabel Display : TabDisplay: array [1..tabmax]of integer Interaksi Antar Tabel Pertama kali tabel display akan menunjuk blok mana yang sedang aktif. Dari blok yang aktif ini, akan diketahui identifier-identifier yang termasuk dalam blok tersebut. Untuk pertama kalinya, yang akan diacu adalah identifier yang paling akhir, kemudian identifier sebelumnya, dan seterusnya. Informasi suatu identifier ini mungkin belum lengkap. Untuk itu dari tabel identifier ini mungkin akan dicari kelengkapan informasi dari suatu identifier ke tabel yang sesuai (tabel real, tabel string, atau tabel array). 5