00:00:00
Halo assalamualaikum warahmatullah
00:00:01
wabarakatuh dalam pertemuan kali ini
00:00:04
saya akan membahas mengenai teknik
00:00:06
kompilasi mulai dari definisi sampai ke
00:00:10
langkah-langkah yang terjadi pada proses
00:00:13
kompilasi mungkin kita masuk aja
00:00:16
mengenai definisi dari teknik kompilasi
00:00:18
itu sendiri yang pertama kita tahu
00:00:21
teknik Itu adalah sebuah metode atau
00:00:25
cara Kemudian untuk kompilasi sendiri
00:00:28
Ini adalah proses menggabungkan serta
00:00:31
menerjemahkan sesuatu sesuatu ini berupa
00:00:35
source program menjadi bentuk lain setan
00:00:40
dikit ya di sini kita berhubungan dengan
00:00:42
suatu program kamu kita gabungkan ini
00:00:47
sebenernya teknik kompilasi Itu adalah
00:00:49
sebuah metode atau cara dalam melakukan
00:00:52
pembacaan suatu program yang ditulis
00:00:56
dalam bahasa sumber kemudian
00:00:59
diterjemahkan
00:01:00
jika dalam suatu bahasa lain yang kita
00:01:02
sebut sebagai bahasa target atau bahasa
00:01:05
sasaran ya jadi disini intinya kombinasi
00:01:10
itu adalah mengenai penerjemahan
00:01:14
penerjemahan apa dari sebuah bahasa
00:01:18
sumber menuju ke bahasa sasaran ya kalau
00:01:24
kita lihat juga disini ingat kompilasi
00:01:28
disini asal katanya bukan compilation
00:01:34
tapi asal katanya itu adalah compiler
00:01:39
dimana disini disebutkan bahwa compiler
00:01:42
itu adalah Translate program written in
00:01:46
A high-level programming language into
00:01:49
machine language Jadi terlihat jelas
00:01:54
lagi bahwa ada proses kompilasi kita
00:01:58
akan melakukan
00:02:00
translation dari sebuah high-level
00:02:04
programming language ke mesin language
00:02:09
nya sekarang kita lihat dulu apa sih
00:02:13
level programming atau mesin itu dari
00:02:17
bahasa pemrograman sendiri biasanya yang
00:02:20
dikenal yang pertama kita sebut sebagai
00:02:23
bahasa mesin dimana ia akan memberikan
00:02:28
perintah kepada komputer dengan memakai
00:02:31
kode bahasa biner yaitu 0 dan 1 Kemudian
00:02:36
yang kedua itu adalah bahasa tingkat
00:02:38
rendah atau dikenal dengan istilah
00:02:40
bahasa rakitan atau sembelit yaitu
00:02:44
memberikan perintah kepada komputer
00:02:45
dengan memakai kode-kode singkat atau
00:02:49
yang kita sebut sebagai mnemonic di sini
00:02:52
ada contoh-contohnya bisa move subs MP3
00:02:57
mp3blue dan sebagai
00:03:00
Hai yang ketiga itu adalah bahasa
00:03:03
tingkat menengah yaitu bahasa komputer
00:03:06
yang memakai campuran instruksi dalam
00:03:10
kata-kata bahasa manusia nih nanti kita
00:03:13
lihat pada dasarnya dulu yang bersifat
00:03:18
simbolik Contohnya seperti itu
00:03:21
programnya itu biasanya mengatasi ya
00:03:27
kemudian yang terakhir itu adalah bahasa
00:03:29
tingkat tinggi itu adalah bahasa
00:03:32
komputer yang instruksinya menggunakan
00:03:34
unsur-unsur kata bahasa manusia seperti
00:03:38
begin end if for while and end atau juga
00:03:44
or dan lain sebagainya tapi untuk
00:03:49
komputer dapat mengerti kita perlu
00:03:52
sebuah compiler atau interpreter nyeri
00:03:59
di sini kita
00:04:00
tiga bahwa Kenapa kita perlukan sebuah
00:04:05
compiler atau sebuah interpreter atau
00:04:10
secara garis besar itu sebuah transletr
00:04:14
ahna pemrograman sekarang itu biasanya
00:04:18
memang menggunakan bahasa tingkat tinggi
00:04:20
dan si komputer agar dia mengerti apa
00:04:25
yang kita maksudkan kita harus ubah dari
00:04:29
bahasa tingkat tinggi ini kebahasaan
00:04:31
yang dimengerti komputer itu adalah
00:04:34
bahasa mesin jadi disini untuk bahasa
00:04:39
tingkat tinggi contohnya ya seperti
00:04:41
basic Visual Basic Pascal Jepang dan
00:04:45
lain sebagainya di sini Kenapa kita
00:04:51
perlukan sebuah compiler dalam tiap
00:04:55
pemrograman ini sini pun kita harus
00:05:00
ndak bawa istilah tingkat tinggi dan
00:05:01
tingkat rendah itu sebabnya si relatif
00:05:04
gimana awalnya bahasa rakitan sebagai
00:05:07
bahasa tingkat rendah sementara combo si
00:05:11
dan lain-lainnya di itu kita anggap
00:05:13
sebagai bangsa tingkat tinggi nah tapi
00:05:16
sekarang banyak programmer juga
00:05:19
menganggap prestasi sebagai bahasa
00:05:21
pemrograman tingkat rendah karena apa
00:05:24
Karena bahasa pemrograman tersebut
00:05:26
mengizinkan akses memori secara langsung
00:05:29
dengan menggunakan alamatnya dan juga
00:05:33
kita dapat menggunakan beberapa direktur
00:05:36
mereka rakitan itu mengenai bahasa
00:05:41
pemrograman eh jadi tadi kita sudah
00:05:44
mempelajari mulai dari bahasa mesin
00:05:47
bahasa tingkat rendah tingkat menengah
00:05:50
dan juga bahasa tingkat tinggi sekarang
00:05:54
di sini kita akan mempelajari mengenai
00:05:57
translator itu sendiri
00:06:00
gimana Translate itu adalah suatu
00:06:02
program atau metode dimana program
00:06:06
tersebut akan mengambil input sebuah
00:06:08
program lain yang ditulis pada suatu
00:06:11
bahasa pemrograman atau sport language
00:06:15
bahasa lain atau objek on target
00:06:19
language di sini kita mengenal transletr
00:06:22
itu itu ada S11 ada interpreter dan juga
00:06:28
compiler ya Jadi intinya untuk transfer
00:06:32
Kita akan punya sebuah short program
00:06:36
kemudian kita akan transfer neh saat
00:06:40
proses kita mentranslatekan nanti akan
00:06:43
ada sebuah pesan error jadi pesan error
00:06:49
ini kemudian akan kita kembalikan kita
00:06:53
harus mengubah source programnya jika
00:06:57
sudah berhasil make kita akan
00:07:00
Letakkan target program target program
00:07:03
ini biasanya itu adalah sebuah mesin
00:07:07
language dan untuk saat program ini bisa
00:07:14
macam-macam nanti saat kita proses
00:07:17
translasi atau proses Translate disitu
00:07:21
akan ada juga pengecekan Nah makanya
00:07:24
saat Kalian sedang mengcompile itu akan
00:07:28
adek nanti error message yang harus kita
00:07:31
perbaiki kita akan masuk ke translator
00:07:36
yang pertama itu adalah ini dan itu
00:07:46
adalah penggambaran prosesnya untuk ini
00:07:51
biasanya ada ini bentuknya Iya kan masuk
00:07:58
kedalam sebuah SMP
00:08:00
yo yo kemudian ini langsung ditranslate
00:08:03
Kan koleksi smbr ini kedalam bahasa
00:08:06
mesin ini dalam bentuk binary code yang
00:08:11
pasti untuk smbr ini pasti prosesnya
00:08:14
akan lebih cepat karena dia hanya
00:08:17
langsung diri.mu dalam mereka mesin tapi
00:08:26
untuk programmer programmer awal akan
00:08:29
kesulitan dalam mempelajari bahasa
00:08:32
assembly Nyai itu berarti keuntungannya
00:08:38
lebih cepat tapi sulit untuk mempelajari
00:08:45
terutama bayi programmer programmer yang
00:08:48
baru kita lihat untuk yang kedua itu
00:08:52
adalah interpretasi interpretasi ini
00:08:58
sebuah perangkat lunak yang
00:09:00
cuma eksekusi kode program lalu
00:09:02
menerjemahkannya ke dalam bahasa mesin
00:09:04
sehingga mesin akan melakukan instruksi
00:09:07
yang kita minta Nah tapi di sini
00:09:11
interpreter tidak membangkitkan object
00:09:15
code dan hasil transaksinya atau hasil
00:09:18
dari Translate itu hanya dalam bentuk
00:09:21
internal kalau kita lihat disini untuk
00:09:26
interpreter berarti dan input di
00:09:29
langsung dijalankan masuk ke dalam
00:09:32
interpreter kalau di ada kesalahan kita
00:09:36
akan diperbaiki lagi nanti Nah dari sini
00:09:41
nanti dia akan langsung muncul output
00:09:45
outputnya ini biasanya dia tidak dalam
00:09:48
bentuk Excel Abang excitable program
00:09:54
jadi dia hanya langsung menginterpretasi
00:09:58
saja jadi
00:10:00
Hai input masuk interpreter sudah
00:10:03
terlihat hasilnya Jadi tidak kita
00:10:07
konversi dulu ke dalam bentuk excitable
00:10:10
program nah biasanya bahasa pemrograman
00:10:14
yang menggunakan interpreter itu adalah
00:10:18
dan lain-lain ini yang biasanya di dalam
00:10:22
bahasa pemrograman yang berbasis web
00:10:26
dengan untuk yang ketiga itu adalah
00:10:29
compiler statistika dalam bahasa tingkat
00:10:32
tinggi objek chordnya itu adalah merasa
00:10:36
mesin atau bahasa S9 di mana Scott dan
00:10:41
data akan diproses secara berbeda jadi
00:10:44
kita punya Scott kemudian dia akan masuk
00:10:47
ke sebuah compiler Jadi compiler ini
00:10:51
akan dia bentuk dulu ke dalam sebuah
00:10:55
executable program ini dalam bentuk
00:10:58
machine language
00:11:00
Hai kemudian setelah jadi XL disini kita
00:11:04
lihat dulu kita akan memproses input ya
00:11:07
untuk mendapatkan outputnya jadi disini
00:11:11
iya kan ada dua proses yang berbeda nah
00:11:16
tentunya untuk compiler ini pasti dia
00:11:20
akan memerlukan waktu yang lebih lama
00:11:23
karena apa kita perlu untuk memproses
00:11:27
sicot ini ke dalam bentuk excitable
00:11:30
program terlebih dahulu dengan prosesnya
00:11:34
ini akan terjadi secara keseluruhan
00:11:38
mungkin supaya terlihat disini untuk
00:11:41
perbedaan interpreter dan compiler
00:11:43
gimana disini terlihat kalau
00:11:45
interpreneur menerjemahkan
00:11:48
instruksi-instruksi sedangkan compiler
00:11:52
itu akan secara keseluruhan Nah kalau
00:11:55
interpreter ada kesalahan langsung bisa
00:11:57
kita perbaiki karena tadi
00:12:00
Ayo kita sudah bisa melihat untuk
00:12:02
hasilnya Jadi kalau yang salah and
00:12:04
transform bisa kita perbaiki 17 tapi
00:12:08
kalau untuk beli disaat ada kesalahan
00:12:12
sport programnya ya harus diperbaiki dan
00:12:16
prosesnya akan kita ulang tahun Bali
00:12:18
dari awal untuk interpreter tadi tidak
00:12:23
menghasilkan objek program Linux
00:12:25
compiler itu menghasilkan objek program
00:12:27
untuk interpreter itu dia tidak
00:12:30
menghasilkan excitable program compiler
00:12:34
itu akan menghasilkan executable program
00:12:39
Masih disitu Silahkan di baca semuanya
00:12:42
ini adalah perbedaan dari interpreter
00:12:46
dan compiler kemudian di sini mungkin
00:12:49
kita akan masuk adalah mengenai tahapan
00:12:54
pada compiler Nah sebagai tahapan pada
00:12:57
compiler itu ada dua yang pertama
00:13:00
Hai analisis dan yang kedua adalah
00:13:03
sintesis untuk analisis ini kita akan
00:13:06
menganalisa the river sport yang kita
00:13:09
punya nih Halo untuk sintesis ini adalah
00:13:13
proses membangun Resort yang kita punya
00:13:19
ini menjadi bahasa tujuan kita kenapa
00:13:25
kita perlukan analisis sama Saat kita
00:13:28
ingin mentranslate sebuah Batak pastikan
00:13:32
kita akan lihat dulu apa saja Kosakata
00:13:36
nya kemudian setelah itu kita akan cek
00:13:41
juga grammar-nya kemudian setelah itu
00:13:46
kita cek katak yang kita pilih ini
00:13:50
sesuai atau enggak dengan kondisinya nah
00:13:58
ini ini ya
00:14:00
Nyalakan maksud Jalan tahapan compiler
00:14:03
di proses analisis Kento proses energi
00:14:07
sendiri ini ada tiga Dimana disitu ada
00:14:10
analisis leksikal Atau biasa kita sebut
00:14:13
sebagai bentuk leksikal ini tadi yang
00:14:20
saya katakan ini yang akan kita cek
00:14:22
adalah kata perkata Nah dari kata
00:14:30
perkata ini nanti kita akan masukkan dia
00:14:33
ke dalam token token nya Eh jadi satu
00:14:38
persatu semua kata-kata akan kita cek
00:14:41
nih Kemudian untuk yang kedua itu adalah
00:14:44
analisis sintaks atau parser nah ini
00:14:47
yang kita akan cek itu adalah
00:14:49
grammar-nya ini jadi kita akan mencek
00:14:53
kremer nya itu sudah sesuai atau nggak
00:14:57
pengen menambahkan ke
00:15:00
ah bilangan wdm kalau kita Tuliskan itu
00:15:05
adalah masa 5 ditambah tiga ini
00:15:09
gambarnya sudah sesuai ada bilangan
00:15:12
kemudian operasi penjumlahan kemudian
00:15:16
juga ada bilangan yang kedua kalau kita
00:15:19
Tuliskan Ya seperti ini 35 plus ini
00:15:25
bukan sebuah grammar untuk penjumlahan
00:15:32
dengan untuk di grammar natal untuk di
00:15:35
analisis semantik tadi kita akan
00:15:38
sesuaikan grammar dingin Kakak perkata
00:15:41
sesuai atau enggak disini akan kita cek
00:15:45
adalah tipe datanya tadi saya punya x
00:15:51
tambah y kalo X nyediain teacher dan Yin
00:15:57
teacher ini berarti
00:16:00
sesuai nah tapi kalau x-nya dia sebuah
00:16:04
string janjinya misal sebuah plot atau
00:16:10
integer Ini kredit tipe datanya tidak
00:16:14
akan sesuai mungkin untuk bahasan
00:16:17
mengenai 36 sini kita akan pesan-pesan
00:16:23
kita selanjutnya dan untuk tahapan
00:16:25
sintesis itu juga ada tiga yang pertama
00:16:28
dari hasil analisis tadi kita akan ubah
00:16:32
dulu dia ke dalam bentuk kode antara
00:16:36
atau disini pada proses intermediate
00:16:40
code generator kita akan menggunakan
00:16:44
pohon parsin NRI intermediate kontraktor
00:16:50
ini nanti kita akan ubah dia nanti ke
00:16:54
dalam bentuk quadruple bisa juga ke
00:17:00
kau atau fade Scott ini nanti juga kita
00:17:03
akan pelajari pertemuan kita selanjutnya
00:17:06
kekalahan untuk COD optimization kita
00:17:09
akan mengoptimasi kode yang kita dapat
00:17:12
pada kode antara ini untuk mempercepat
00:17:16
prosesnya dan lain sebagainya jadi
00:17:19
disini untuk proses optimasi kaget jika
00:17:24
memang dimungkinkan nah kemudian untuk
00:17:28
code generator ini baru kita akan
00:17:32
jadikan dia bahasa tujuan kita atau
00:17:37
mesin language disini berarti duwe
00:17:45
tahapan pada proses compiler analisis
00:17:48
dan sintesis dimana masing-masing
00:17:50
tahapan juga tiga tahapan lagi jadi
00:17:54
disini program iya akan mulai
00:18:00
kiri Analisislah sampai ke pembentukan
00:18:04
koordinator sampai kita dapatkan target
00:18:07
programnya nah tapi dari tiap-tiap
00:18:11
tahapan ini juga nanti akan ada simbol
00:18:15
table Manager dan juga error handler
00:18:18
gimana nanti akan berbeda-beda error
00:18:22
handler saat kita dianalisis wajib
00:18:26
singkat atau analisis semantik atau juga
00:18:30
yang proses sintesis nya jadi disini
00:18:34
proses-proses keseluruhan dimana jika
00:18:40
ada kesalahan kita akan memperbaiki diri
00:18:45
awal pas programnya berarti sudah
00:18:49
diperbaiki kita akan sampai lagi tidak
00:18:52
sesuai target program mungkin untuk
00:18:58
pertemuan hari ini jam
00:19:00
Semoga dapat dipahami untuk pengenalan
00:19:03
tentang teknik kompilasinya Terima kasih
00:19:06
sebelumnya wabilahitaufik walhidayah
00:19:08
Wassalamualaikum warahmatullah
00:19:10
wabarakatuh