SlideShare a Scribd company logo
PERTEMUAN 1Sumber :Dosen Rinna Rachmatika
shared by : Mr.FM
Teknik Kompilasi
T U J U A NT U J U A N
• Agar mahasiswa dapat memahami konsep
dasar Teknik Kompilasi yang meliputi fungsi,
komponen, tahapan-tahapan, dan cara kerja
suatu compiler.
• Agar mahasiswa mengetahui bahwa Compiler
merupakan konstruksi inti dari ilmu komputer.
MATERI
• Konsep Dasar
• Lexical Analyzer (Scanner)
• Syntactic Analyzer (Parser)
• Semantic Analyzer
• Intermediate Code Generator
• Code Generator
• Code Optimizer
Referensi :
1. Teknik Kompilasi, Edi Sediyono, Penerbit Andi, 2005
2. Compilers : Principles, Techniques, and Tools, second
Edition, Alfred V. Aho, Monica S. Lam, dkk, 2007
ARTI KATA TEKNIK KOMPILASIARTI KATA TEKNIK KOMPILASI
• Teknik :
– Metode atau Cara
• Kompilasi :
– Proses mengabungkan serta menterjermahkan
sesuatu (source program) menjadi bentuk lain
• Compile :
– To translate a program written in a high-level
programming language into machine language.
BAHASA PEMROGRAMAN
1. Bahasa Mesin
2. Bahasa Assembly
3. Bahasa Tingkat Tinggi
4. Bahasa yang Problem Oriented
1. BAHASA MESIN
Merupakan bentuk terendah dari bahasa
komputer. Setiap Instruksi dalam program
direpresentasikan dengan kode numerik yang
secara fisik berupa deretan angka 0 & 1.
2. BAHASA ASSEMBLY
(Bahasa Rakitan)
• Merupakan bentuk simbolik dari bahasa mesin.
• Setiap Kode Operasi memiliki kode simbolik,
misalkan ADD untuk penjumlahan (addition),
MUL untuk perkalian (Multiplication).
• Pada Bahasa Assembly terdapat alat bantu untuk
debug yang tidak terdapat pada bahasa mesin
Contoh : Turbo Assembler dari Borland, Macro
Assembler dari Microsoft, DEBUG yang tersedia
pada DOS
3. BAHASA TINGKAT TINGGI
• Disebut tingkat tinggi karena lebih dekat
dengan manusia.
• Bahasa ini memberikan fasilitas yang lebih
banyak, kontrol program yang terstruktur, dan
prosedur.
Contohnya : Pascal, Bahasa C, Java, dll
4. BAHASA PROBLEM ORIENTED
• Bahasa ini
memungkinkan
penyelesaian untuk
suatu masalah atau
aplikasi yang spesifik.
Contohnya : SQL, dll
• Bahasa ini kadang
dimasukkan ke dalam
bahasa tingkat tinggi.
KEUNTUNGAN
BAHASA TINGKAT TINGGI
1. Kemudahan untuk dipelajari
2. Lebih mendekati permasalahan yang akan terselesaikan
3. Pemrogram tidak perlu mengetahui bagaimana
representasi data ke dalam bentuk internal memory.
4. Memberikan banyak pilihan struktur kontrol seperti
looping, dll
5. Program lebih mudah di Debug
6. Kemampuan stuktur data lebih baik, dll…..
*Agar dapat dieksekusi, sebuah program dalam bahasa
tingkat tinggi tentu saja harus ditranslasikan ke dalam
bahasa mesin.
TRANSLATOR
• Melakukan pengubahan source code (Program
sumber) ke dalam target code/object code.
• Source Code ditulis dalam bahasa sumber,
sedangkan object code bisa berupa bahasa
pemrograman lain atau bahasa mesin pada suatu
komputer.
• Jika source code adalah high level language,
seperti cobol, pascal, fortran, c, maka objeknya
adalah bahasa tingkat rendah atau bahasa mesin.
Translator seperti ini disebut COMPILER.
Kenapa perlu Translator ?Kenapa perlu Translator ?
• Dengan bahasa mesin adalah bahasa bentuk bahasa
terendah komputer, berhubungan langsung dengan bagian
bagian komputer seperti bits, register & sangat primitive
• Jawaban atas pertanyaan ini akan membingungkan bagi
programmer yang membuat program dengan bahasa
mesin.
• Bahasa mesin adalah tidak lebih dari urutan 0 dan 1
• Instruksi dalam bahasa mesin bisa saja dibentuk menjadi
micro-code, semacam prosedur dalam bahasa mesin
MACAM-MACAM TRANSLATOR
1. Assembler
Source code adalah bahasa assembly, Object code adalah bahasa mesin.
2. Compiler
Source code adalah bahasa tingkat tinggi, object code adalah bahasa mesin atau
bahasa assembly. Source code dan data diproses berbeda. Contohny : Turbo Pascal,
Turbo C, Java, dll
MACAM-MACAM TRANSLATOR
3. Interpreter
Interpreter tidak menghasilkan bentuk object code, tetapi hasil translasinya hanya
dalam bentuk internal, dimana program induk harus selalu ada-berbeda dengan
compiler. Contohny : PHP, HTML, ASP, dll
Translator : Compiler &Translator : Compiler &
InterpreterInterpreter
OBJECT
PROGRAM
Source
Program
Compiler
ERROR
MESSAGES
COMPILER vs INTERPRETER
Compiler
1. Untuk menjalankan
program hasil kompilasi
dapat dilakukan tanpa
membutuhkan source code
2. Membutuhkan linker untuk
menggabungkan kode objek
dengan berbagai macam
library demi menghasilkan
suatu kode yang bisa
dijalankan oleh mesin.
3. Dll….
Interpreter
1. Untuk menjalankan
program hasil harus
menggunakan source code
2. Tidak butuh linker untuk
menggabungkan kode objek
dengan berbagai macam
library.
3. Dll…
Fase-fase proses sebuah kompilasi
MODEL KOMPILATOR
Keterangan Gambar :
• Scanner : Memecah program sumber menjadi besaran leksik/token
• Parser : Memeriksa kebenaran & urutan kemunculan token
• Analisis Semantik : biasanya dalam realisasi akan digabungkan
dengan Intermiediate Code Generator
• Code Generator : Membangkitkan Kode Objek
• Code Optimizer : Memperkecil hasil & mempercepat proses
• Tabel Simbol : menyimpan semua informasi yang berhubungan
dengan proses kompilasi
TERIMA KASIH
Rinna Rachmatika
JUST INTERMEZO, ENJOY IT !

More Related Content

What's hot

Pengantar algoritma dan pemrograman
Pengantar algoritma dan pemrogramanPengantar algoritma dan pemrograman
Pengantar algoritma dan pemrograman
MAFauzan
 
Teknik kompilasi dalam bahasa pemograman c
Teknik kompilasi dalam bahasa pemograman cTeknik kompilasi dalam bahasa pemograman c
Teknik kompilasi dalam bahasa pemograman cadhifatra agussalim
 
Teknik kompilasi
Teknik kompilasiTeknik kompilasi
Teknik kompilasi
Eko Junaidi Salam
 
Analisis leksikal tugas
Analisis leksikal tugasAnalisis leksikal tugas
Analisis leksikal tugas
Aminah Rahayu
 
Pertemuan 3 pemrograman dasar
Pertemuan 3 pemrograman dasarPertemuan 3 pemrograman dasar
Pertemuan 3 pemrograman dasarDisma Ariyanti W
 
Modul dasar pemrograman
Modul dasar pemrogramanModul dasar pemrograman
Modul dasar pemrogramanlidyanamaria
 
Pertemuan_2
Pertemuan_2Pertemuan_2
Pertemuan_2
kartiria sonata
 
Pemrograman dasar
Pemrograman dasarPemrograman dasar
Pemrograman dan bahasa program
Pemrograman dan bahasa programPemrograman dan bahasa program
Pemrograman dan bahasa program
Muhammad Fahmi
 
Bab i
Bab iBab i
flowchart
flowchartflowchart
flowchart
Aser Willi
 
Bahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrogramanBahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrograman
Andri Yanto
 
Kegiatan belajar 1 flowchart
Kegiatan belajar 1 flowchartKegiatan belajar 1 flowchart
Kegiatan belajar 1 flowchart
Syaiful Ahdan
 
Modul algo c++
Modul algo c++Modul algo c++
Modul algo c++
Ida Nurjanah
 

What's hot (18)

Pengantar algoritma dan pemrograman
Pengantar algoritma dan pemrogramanPengantar algoritma dan pemrograman
Pengantar algoritma dan pemrograman
 
Teknik kompilasi dalam bahasa pemograman c
Teknik kompilasi dalam bahasa pemograman cTeknik kompilasi dalam bahasa pemograman c
Teknik kompilasi dalam bahasa pemograman c
 
Teknik kompilasi
Teknik kompilasiTeknik kompilasi
Teknik kompilasi
 
Analisis leksikal tugas
Analisis leksikal tugasAnalisis leksikal tugas
Analisis leksikal tugas
 
Pertemuan 3 pemrograman dasar
Pertemuan 3 pemrograman dasarPertemuan 3 pemrograman dasar
Pertemuan 3 pemrograman dasar
 
Modul dasar pemrograman
Modul dasar pemrogramanModul dasar pemrograman
Modul dasar pemrograman
 
Teknik kompilasi
Teknik kompilasiTeknik kompilasi
Teknik kompilasi
 
Pertemuan_2
Pertemuan_2Pertemuan_2
Pertemuan_2
 
Pemrograman dasar
Pemrograman dasarPemrograman dasar
Pemrograman dasar
 
Daskom 4
Daskom 4Daskom 4
Daskom 4
 
Bab 1
Bab 1 Bab 1
Bab 1
 
Pemrograman dan bahasa program
Pemrograman dan bahasa programPemrograman dan bahasa program
Pemrograman dan bahasa program
 
Bab i
Bab iBab i
Bab i
 
flowchart
flowchartflowchart
flowchart
 
Bahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrogramanBahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrograman
 
Kegiatan belajar 1 flowchart
Kegiatan belajar 1 flowchartKegiatan belajar 1 flowchart
Kegiatan belajar 1 flowchart
 
Modul algo c++
Modul algo c++Modul algo c++
Modul algo c++
 
Bahasa c
Bahasa cBahasa c
Bahasa c
 

Similar to Teknik kompilasi

Artikel bahasa pemrograman
Artikel bahasa pemrogramanArtikel bahasa pemrograman
Artikel bahasa pemrograman
roy naldo
 
Logika algoritma dan pemograman
Logika algoritma dan pemogramanLogika algoritma dan pemograman
Logika algoritma dan pemograman
diran rahmat
 
Pengenalan Algoritma Komputer
Pengenalan Algoritma KomputerPengenalan Algoritma Komputer
Pengenalan Algoritma Komputer
Salman's Education Center
 
1. pendahuluan kompilasi
1. pendahuluan kompilasi1. pendahuluan kompilasi
1. pendahuluan kompilasiyuster92
 
Bahasa pemrograman
Bahasa pemrogramanBahasa pemrograman
Bahasa pemrograman
ery gunawan
 
Pertemuan - 1.pptx
Pertemuan - 1.pptxPertemuan - 1.pptx
Pertemuan - 1.pptx
Nazri46
 
Sekilas tentang c
Sekilas tentang cSekilas tentang c
Sekilas tentang c
Dyes Wirok
 
konsep asas pengaturcaraan
konsep asas pengaturcaraankonsep asas pengaturcaraan
konsep asas pengaturcaraan
haikalJaini
 
C basic
C basicC basic
Aplikasi pemrograman
Aplikasi pemrogramanAplikasi pemrograman
Pengantar Bahasa Pemgrograman.pptx
Pengantar Bahasa Pemgrograman.pptxPengantar Bahasa Pemgrograman.pptx
Pengantar Bahasa Pemgrograman.pptx
HanisSiddiq2
 
Bab 2 Definisi Algoritma
Bab 2 Definisi AlgoritmaBab 2 Definisi Algoritma
Bab 2 Definisi Algoritmapakdemamo
 
Bab 1 Asas Pengaturcaraan (MALAYSIA) G-Vecom
Bab 1 Asas Pengaturcaraan (MALAYSIA) G-VecomBab 1 Asas Pengaturcaraan (MALAYSIA) G-Vecom
Bab 1 Asas Pengaturcaraan (MALAYSIA) G-Vecom
YouTuber,G-Vecom
 
Perkuliahan 01 Teknik kompilasi
Perkuliahan 01 Teknik kompilasiPerkuliahan 01 Teknik kompilasi
Perkuliahan 01 Teknik kompilasi
Rakhmi Khalida, M.M.S.I
 
Slide-INF-Modul-1.pptx
Slide-INF-Modul-1.pptxSlide-INF-Modul-1.pptx
Slide-INF-Modul-1.pptx
Nitha Thatha
 
Slide-INF-Modul-1.pptx
Slide-INF-Modul-1.pptxSlide-INF-Modul-1.pptx
Slide-INF-Modul-1.pptx
yunusziliwu
 

Similar to Teknik kompilasi (20)

Artikel bahasa pemrograman
Artikel bahasa pemrogramanArtikel bahasa pemrograman
Artikel bahasa pemrograman
 
Logika algoritma dan pemograman
Logika algoritma dan pemogramanLogika algoritma dan pemograman
Logika algoritma dan pemograman
 
Pengenalan Algoritma Komputer
Pengenalan Algoritma KomputerPengenalan Algoritma Komputer
Pengenalan Algoritma Komputer
 
Chapter 5
Chapter 5Chapter 5
Chapter 5
 
1. pendahuluan kompilasi
1. pendahuluan kompilasi1. pendahuluan kompilasi
1. pendahuluan kompilasi
 
Bahasa pemrograman
Bahasa pemrogramanBahasa pemrograman
Bahasa pemrograman
 
Pertemuan - 1.pptx
Pertemuan - 1.pptxPertemuan - 1.pptx
Pertemuan - 1.pptx
 
Sekilas tentang c
Sekilas tentang cSekilas tentang c
Sekilas tentang c
 
konsep asas pengaturcaraan
konsep asas pengaturcaraankonsep asas pengaturcaraan
konsep asas pengaturcaraan
 
C basic
C basicC basic
C basic
 
Aplikasi pemrograman
Aplikasi pemrogramanAplikasi pemrograman
Aplikasi pemrograman
 
Pengantar Bahasa Pemgrograman.pptx
Pengantar Bahasa Pemgrograman.pptxPengantar Bahasa Pemgrograman.pptx
Pengantar Bahasa Pemgrograman.pptx
 
Tahap pemrograman
Tahap pemrogramanTahap pemrograman
Tahap pemrograman
 
Tahap pemrograman
Tahap pemrogramanTahap pemrograman
Tahap pemrograman
 
Bab 2 Definisi Algoritma
Bab 2 Definisi AlgoritmaBab 2 Definisi Algoritma
Bab 2 Definisi Algoritma
 
Bab 1 Asas Pengaturcaraan (MALAYSIA) G-Vecom
Bab 1 Asas Pengaturcaraan (MALAYSIA) G-VecomBab 1 Asas Pengaturcaraan (MALAYSIA) G-Vecom
Bab 1 Asas Pengaturcaraan (MALAYSIA) G-Vecom
 
Perkuliahan 01 Teknik kompilasi
Perkuliahan 01 Teknik kompilasiPerkuliahan 01 Teknik kompilasi
Perkuliahan 01 Teknik kompilasi
 
Assembler1
Assembler1Assembler1
Assembler1
 
Slide-INF-Modul-1.pptx
Slide-INF-Modul-1.pptxSlide-INF-Modul-1.pptx
Slide-INF-Modul-1.pptx
 
Slide-INF-Modul-1.pptx
Slide-INF-Modul-1.pptxSlide-INF-Modul-1.pptx
Slide-INF-Modul-1.pptx
 

More from Mr. FM

Panduan restore courses e learning
Panduan restore courses e learningPanduan restore courses e learning
Panduan restore courses e learning
Mr. FM
 
password (facebook)
password (facebook) password (facebook)
password (facebook)
Mr. FM
 
Password hacking
Password hackingPassword hacking
Password hacking
Mr. FM
 
Packet Tracer WEB & Email
Packet Tracer WEB & Email Packet Tracer WEB & Email
Packet Tracer WEB & Email
Mr. FM
 
Routing dan-internetworking
Routing dan-internetworkingRouting dan-internetworking
Routing dan-internetworking
Mr. FM
 
PENYIMPAN DATA
PENYIMPAN DATA PENYIMPAN DATA
PENYIMPAN DATA
Mr. FM
 
IP ADRESS (bab3)
IP ADRESS (bab3)IP ADRESS (bab3)
IP ADRESS (bab3)
Mr. FM
 
Algoritma
Algoritma Algoritma
Algoritma
Mr. FM
 
Java applet beserta contoh program
Java applet beserta contoh programJava applet beserta contoh program
Java applet beserta contoh program
Mr. FM
 
Pemrograman algoritma (IF,else)
Pemrograman algoritma (IF,else)Pemrograman algoritma (IF,else)
Pemrograman algoritma (IF,else)Mr. FM
 
Media transmisi wireless
Media transmisi wirelessMedia transmisi wireless
Media transmisi wireless
Mr. FM
 
Algoritma
Algoritma Algoritma
Algoritma
Mr. FM
 
Sistem berkas
Sistem berkasSistem berkas
Sistem berkas
Mr. FM
 
LISTRIK STATIS
LISTRIK STATIS LISTRIK STATIS
LISTRIK STATIS
Mr. FM
 
PANCASILA
PANCASILA PANCASILA
PANCASILA
Mr. FM
 
Panduan belajar ms excel digi pustaka.blogspot.com
Panduan belajar ms excel digi pustaka.blogspot.comPanduan belajar ms excel digi pustaka.blogspot.com
Panduan belajar ms excel digi pustaka.blogspot.comMr. FM
 
Surat lamaran pekerjaan
Surat lamaran pekerjaanSurat lamaran pekerjaan
Surat lamaran pekerjaanMr. FM
 

More from Mr. FM (17)

Panduan restore courses e learning
Panduan restore courses e learningPanduan restore courses e learning
Panduan restore courses e learning
 
password (facebook)
password (facebook) password (facebook)
password (facebook)
 
Password hacking
Password hackingPassword hacking
Password hacking
 
Packet Tracer WEB & Email
Packet Tracer WEB & Email Packet Tracer WEB & Email
Packet Tracer WEB & Email
 
Routing dan-internetworking
Routing dan-internetworkingRouting dan-internetworking
Routing dan-internetworking
 
PENYIMPAN DATA
PENYIMPAN DATA PENYIMPAN DATA
PENYIMPAN DATA
 
IP ADRESS (bab3)
IP ADRESS (bab3)IP ADRESS (bab3)
IP ADRESS (bab3)
 
Algoritma
Algoritma Algoritma
Algoritma
 
Java applet beserta contoh program
Java applet beserta contoh programJava applet beserta contoh program
Java applet beserta contoh program
 
Pemrograman algoritma (IF,else)
Pemrograman algoritma (IF,else)Pemrograman algoritma (IF,else)
Pemrograman algoritma (IF,else)
 
Media transmisi wireless
Media transmisi wirelessMedia transmisi wireless
Media transmisi wireless
 
Algoritma
Algoritma Algoritma
Algoritma
 
Sistem berkas
Sistem berkasSistem berkas
Sistem berkas
 
LISTRIK STATIS
LISTRIK STATIS LISTRIK STATIS
LISTRIK STATIS
 
PANCASILA
PANCASILA PANCASILA
PANCASILA
 
Panduan belajar ms excel digi pustaka.blogspot.com
Panduan belajar ms excel digi pustaka.blogspot.comPanduan belajar ms excel digi pustaka.blogspot.com
Panduan belajar ms excel digi pustaka.blogspot.com
 
Surat lamaran pekerjaan
Surat lamaran pekerjaanSurat lamaran pekerjaan
Surat lamaran pekerjaan
 

Recently uploaded

manajer lapangan pelaksana gedung SKK JENJANG 6
manajer lapangan pelaksana gedung SKK JENJANG 6manajer lapangan pelaksana gedung SKK JENJANG 6
manajer lapangan pelaksana gedung SKK JENJANG 6
MhdFadliansyah1
 
Modul Ajar Seni Rupa - Melukis Pemandangan - Fase B.pdf
Modul Ajar Seni Rupa - Melukis Pemandangan  - Fase B.pdfModul Ajar Seni Rupa - Melukis Pemandangan  - Fase B.pdf
Modul Ajar Seni Rupa - Melukis Pemandangan - Fase B.pdf
MiliaSumendap
 
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis JurnalA.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
Ekhwan2
 
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITASSURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
Pemdes Wonoyoso
 
Transformasi Desa Vokasi Tata Kelola dan Penguatan Pera Pendidikan
Transformasi Desa Vokasi Tata Kelola dan Penguatan Pera PendidikanTransformasi Desa Vokasi Tata Kelola dan Penguatan Pera Pendidikan
Transformasi Desa Vokasi Tata Kelola dan Penguatan Pera Pendidikan
deamardiana1
 
654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021
renprogarksd3
 
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIPPERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
Pemdes Wonoyoso
 
Materi matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptxMateri matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptx
BanjarMasin4
 
Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...
Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...
Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...
mtsarridho
 
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdfM. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
AjrunAzhiima
 
Apa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptxApa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptx
AssyifaFarahDiba1
 
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffffLAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
acehirfan
 
bahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gatewaybahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gateway
subbidtekinfo813
 
Analisis Korelasi dan penjelasannya juga bedanya dengan korelasi
Analisis Korelasi dan penjelasannya juga bedanya dengan korelasiAnalisis Korelasi dan penjelasannya juga bedanya dengan korelasi
Analisis Korelasi dan penjelasannya juga bedanya dengan korelasi
afaturooo
 

Recently uploaded (14)

manajer lapangan pelaksana gedung SKK JENJANG 6
manajer lapangan pelaksana gedung SKK JENJANG 6manajer lapangan pelaksana gedung SKK JENJANG 6
manajer lapangan pelaksana gedung SKK JENJANG 6
 
Modul Ajar Seni Rupa - Melukis Pemandangan - Fase B.pdf
Modul Ajar Seni Rupa - Melukis Pemandangan  - Fase B.pdfModul Ajar Seni Rupa - Melukis Pemandangan  - Fase B.pdf
Modul Ajar Seni Rupa - Melukis Pemandangan - Fase B.pdf
 
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis JurnalA.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
 
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITASSURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
 
Transformasi Desa Vokasi Tata Kelola dan Penguatan Pera Pendidikan
Transformasi Desa Vokasi Tata Kelola dan Penguatan Pera PendidikanTransformasi Desa Vokasi Tata Kelola dan Penguatan Pera Pendidikan
Transformasi Desa Vokasi Tata Kelola dan Penguatan Pera Pendidikan
 
654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021
 
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIPPERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
 
Materi matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptxMateri matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptx
 
Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...
Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...
Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...
 
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdfM. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
 
Apa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptxApa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptx
 
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffffLAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
 
bahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gatewaybahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gateway
 
Analisis Korelasi dan penjelasannya juga bedanya dengan korelasi
Analisis Korelasi dan penjelasannya juga bedanya dengan korelasiAnalisis Korelasi dan penjelasannya juga bedanya dengan korelasi
Analisis Korelasi dan penjelasannya juga bedanya dengan korelasi
 

Teknik kompilasi

  • 1. PERTEMUAN 1Sumber :Dosen Rinna Rachmatika shared by : Mr.FM Teknik Kompilasi
  • 2. T U J U A NT U J U A N • Agar mahasiswa dapat memahami konsep dasar Teknik Kompilasi yang meliputi fungsi, komponen, tahapan-tahapan, dan cara kerja suatu compiler. • Agar mahasiswa mengetahui bahwa Compiler merupakan konstruksi inti dari ilmu komputer.
  • 3. MATERI • Konsep Dasar • Lexical Analyzer (Scanner) • Syntactic Analyzer (Parser) • Semantic Analyzer • Intermediate Code Generator • Code Generator • Code Optimizer Referensi : 1. Teknik Kompilasi, Edi Sediyono, Penerbit Andi, 2005 2. Compilers : Principles, Techniques, and Tools, second Edition, Alfred V. Aho, Monica S. Lam, dkk, 2007
  • 4. ARTI KATA TEKNIK KOMPILASIARTI KATA TEKNIK KOMPILASI • Teknik : – Metode atau Cara • Kompilasi : – Proses mengabungkan serta menterjermahkan sesuatu (source program) menjadi bentuk lain • Compile : – To translate a program written in a high-level programming language into machine language.
  • 5. BAHASA PEMROGRAMAN 1. Bahasa Mesin 2. Bahasa Assembly 3. Bahasa Tingkat Tinggi 4. Bahasa yang Problem Oriented
  • 6. 1. BAHASA MESIN Merupakan bentuk terendah dari bahasa komputer. Setiap Instruksi dalam program direpresentasikan dengan kode numerik yang secara fisik berupa deretan angka 0 & 1.
  • 7. 2. BAHASA ASSEMBLY (Bahasa Rakitan) • Merupakan bentuk simbolik dari bahasa mesin. • Setiap Kode Operasi memiliki kode simbolik, misalkan ADD untuk penjumlahan (addition), MUL untuk perkalian (Multiplication). • Pada Bahasa Assembly terdapat alat bantu untuk debug yang tidak terdapat pada bahasa mesin Contoh : Turbo Assembler dari Borland, Macro Assembler dari Microsoft, DEBUG yang tersedia pada DOS
  • 8. 3. BAHASA TINGKAT TINGGI • Disebut tingkat tinggi karena lebih dekat dengan manusia. • Bahasa ini memberikan fasilitas yang lebih banyak, kontrol program yang terstruktur, dan prosedur. Contohnya : Pascal, Bahasa C, Java, dll
  • 9. 4. BAHASA PROBLEM ORIENTED • Bahasa ini memungkinkan penyelesaian untuk suatu masalah atau aplikasi yang spesifik. Contohnya : SQL, dll • Bahasa ini kadang dimasukkan ke dalam bahasa tingkat tinggi.
  • 10. KEUNTUNGAN BAHASA TINGKAT TINGGI 1. Kemudahan untuk dipelajari 2. Lebih mendekati permasalahan yang akan terselesaikan 3. Pemrogram tidak perlu mengetahui bagaimana representasi data ke dalam bentuk internal memory. 4. Memberikan banyak pilihan struktur kontrol seperti looping, dll 5. Program lebih mudah di Debug 6. Kemampuan stuktur data lebih baik, dll….. *Agar dapat dieksekusi, sebuah program dalam bahasa tingkat tinggi tentu saja harus ditranslasikan ke dalam bahasa mesin.
  • 11. TRANSLATOR • Melakukan pengubahan source code (Program sumber) ke dalam target code/object code. • Source Code ditulis dalam bahasa sumber, sedangkan object code bisa berupa bahasa pemrograman lain atau bahasa mesin pada suatu komputer. • Jika source code adalah high level language, seperti cobol, pascal, fortran, c, maka objeknya adalah bahasa tingkat rendah atau bahasa mesin. Translator seperti ini disebut COMPILER.
  • 12. Kenapa perlu Translator ?Kenapa perlu Translator ? • Dengan bahasa mesin adalah bahasa bentuk bahasa terendah komputer, berhubungan langsung dengan bagian bagian komputer seperti bits, register & sangat primitive • Jawaban atas pertanyaan ini akan membingungkan bagi programmer yang membuat program dengan bahasa mesin. • Bahasa mesin adalah tidak lebih dari urutan 0 dan 1 • Instruksi dalam bahasa mesin bisa saja dibentuk menjadi micro-code, semacam prosedur dalam bahasa mesin
  • 13. MACAM-MACAM TRANSLATOR 1. Assembler Source code adalah bahasa assembly, Object code adalah bahasa mesin. 2. Compiler Source code adalah bahasa tingkat tinggi, object code adalah bahasa mesin atau bahasa assembly. Source code dan data diproses berbeda. Contohny : Turbo Pascal, Turbo C, Java, dll
  • 14. MACAM-MACAM TRANSLATOR 3. Interpreter Interpreter tidak menghasilkan bentuk object code, tetapi hasil translasinya hanya dalam bentuk internal, dimana program induk harus selalu ada-berbeda dengan compiler. Contohny : PHP, HTML, ASP, dll
  • 15. Translator : Compiler &Translator : Compiler & InterpreterInterpreter OBJECT PROGRAM Source Program Compiler ERROR MESSAGES
  • 16. COMPILER vs INTERPRETER Compiler 1. Untuk menjalankan program hasil kompilasi dapat dilakukan tanpa membutuhkan source code 2. Membutuhkan linker untuk menggabungkan kode objek dengan berbagai macam library demi menghasilkan suatu kode yang bisa dijalankan oleh mesin. 3. Dll…. Interpreter 1. Untuk menjalankan program hasil harus menggunakan source code 2. Tidak butuh linker untuk menggabungkan kode objek dengan berbagai macam library. 3. Dll…
  • 18. MODEL KOMPILATOR Keterangan Gambar : • Scanner : Memecah program sumber menjadi besaran leksik/token • Parser : Memeriksa kebenaran & urutan kemunculan token • Analisis Semantik : biasanya dalam realisasi akan digabungkan dengan Intermiediate Code Generator • Code Generator : Membangkitkan Kode Objek • Code Optimizer : Memperkecil hasil & mempercepat proses • Tabel Simbol : menyimpan semua informasi yang berhubungan dengan proses kompilasi