Anda di halaman 1dari 11

TUGAS MANDIRI

TEORI BAHASA OTOMATA

NAMA : WIKALDO PANGGABEAN

NPM : 170210138

DOSEN : SestriNoviaRizki, S.Kom.,M.Kom.

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK DAN KOMPUTER
UNIVERSITAS PUTERA BATAM
2019
KATA PENGANTAR

Segala puji syukur kehadirat Allah SWT yang telah memberikan rahmat dan karunianya,
sehingga penulis dapat menyelesaikan makalah ini. Dalam penyusunan makalah ini merupakan
syarat untuk memenuhi tugas mata kuliah Teknik Informatika pada program Bahasa Otomata di
UNIVERSITAS PUTERA BATAM dengan judul Mesin Turing dan complier. Dengan sepenuh hati
penulis menyadari dan merasakan betapa besar bantuan dari berbagai pihak dan sumber
manapun. Di dalam penyusunan Makalah ini, penulis menyadari dengan sepenuh hati akan
kurang sempurnanya Makalah ini, mengingat tingkat kemampuan serta pengalaman penulis
belum luas. Namun demikian, penulis akan berusaha keras untuk menyusun Makalah ini
sehingga dapat terselesaikan dengan baik. Oleh sebab itu, penulis mengharapkan saran dan
kritik dari pembaca. Terimakasih.

Batam, 08 july 2019


DAFTAR ISI

KATA PENGANTAR....................................................................................... i

DAFTAR ISI...................................................................................................... ii

BAB. I PENDAHULUAN

1.1 Latar Belakang Masalah ........................................................................ 2


1.2 Rumusan Masalah.................................................................................. 2
1.3 Tujuan Makalah ..................................................................................... 3

BAB. II PEMBAHASAN

2.1 Defini Mesin Turing ........................................................................... 1

2.2 keterangan Mesin Turing.................................................................... 1

2.3 program sederhana Dan Fungsi Rekursif ............................................2

2.4 pengertian teknik kompilasi ...................................................................... 3

2.5 konsep pascal..............................................................4

6 BAB. III PENUTUP

KESIMPULAN.................................................................................................. 7

DAFTAR PUSTAKA........................................................................................ 7
Mesin Turing

Jauhsebelumlahirnya program komputer, Alan Turing padatahun 1936


telahmengeluarkangagasannyaberupa model
mesinabstraksebagaialatmekanikuntukmengerjakanprosedur yang efektif.Model
inidisebut Mesin Turing.
Mesinturingdapatdiadaptasiuntukmensimulasilogikadarisetiapalgoritmaolehkaren
aitucarakerjamesinturingadalahekivalendengancarakerjakomputersekaranginidanmesint
uringjugaekivalendenganproblemakomputasimatematika.
Mesinturingtidakditujukansebagaiteknologikomputasipraktistetapilebihsebagaieksperime
npemikiran yang
mewakilisebuahmesinkomputasi.Mesinturingmembantuparailmuankomputermemahami
batas-bataskomputasimekanis.
Sebagai input darimesinturingadalah kata atauuntaiatassuatualfabet T.
Mesinturingberhentidengankeadaanmenerimaataumenolakuntai. Kadang-kadangterjadi
pula perulanganatau looping takterhingga.
Keterangan :
· - Tape :Tempatdiletakannyainputan yang berupa kata/untai.
· - Head: membacadanmenulisisel pita mesinturing, bisabergerakkekiriataukekanan.

· - FiniteStateControl (FSC) : otakdari TM,

diimplementasikandarialgoritmapengenalankalimat.

Palindrome ituadalahberasaldari bahasa Yunani yaitu Palindromos


A Palindrome.Palindromos A Palindrome adalah kata ataukalimat yang
samadiejamajuataumundur(bacaan yang sama diejapada keduaarah).
Sebagaicontohsederhanaadalahbeberapa kata yang sederhanayaitu rotor, rotator, civic,
madam, racecar, level, dan lain-lain. Untukcontoh lain
yaitu kalimat palindrome adalah No lemon no melon, No devil lived on, Swap God for a
janitor rot in a jar of dog paws, dll.
Dibawahiniadalahgrafdari palindrome
detector ,merupakan sebuahsimulasimesinturing yang berfungsiuntukmendeteksi
kata palindrome yang diinputkanoleh user. Kata atauuntai yang
dibentukmasihterbataspadapenggunaanhuruf “A” dan “B”.Contoh kata yang
dibentukadalah “ABAABBA” untuk kata yang tidaktermasukdalam palindrome, dan
“BABBAB” untuk kata yang termasukdalam palindrome.

Pemrogramansederhanajenismesin Turing initidaksesulit yang


dibayangkan.Dimanasebenarnyapemrogramaniniakanmembentuk graph. Transisi state
terdiridari5-tupel rangkaianpadasetiapbaris, dengan format sepertiini:
[state],[karakter],[state baru],[karakterbaru],[arah]
1 , _ , 2 , # , >
2 , A , 3 , A , >
Karakter '_' dapatdigunakanuntukmenunjukkankosong(blank), 'H'
untukmenunjukkansebagai state berhenti/Halt (hanyaberlakupadasisikanantransisi),
dan '<' dan '>' untukmenunjukkanarah masing-masingbergerakkekiriataukanan.
2.4 PENGERTIAN TEKNIK KOMPLASI
Kompilator (Inggris: compiler) adalah sebuah program komputer yang
bergunauntukmenerjemahkan program komputer yang
ditulisdalambahasapemrogramantertentumenjadi program yang
ditulisdalambahasapemrograman lain. Kompilatormelakukan proses
kompilasidengancaramenganalisiskodesumbersecarakeseluruhan, sehinggawaktu yang
dibutuhkanuntukmelakukankompilasilebih lama, namunhasilnyalebihcepatdalam proses
eksekusidaripada program yang dibuatdenganmenggunakanteknikinterpretasidengan
interpreter.

Proses Penerjemahan Compiler


Compiler berbedadengan interpreter, jikaadakesalahanpada proses input
kodetidakakanbisadilanjtkan proses penerjemahannya, danakanmuncul error messages
yang harussegeradiperbaikijikaadakesalahan.

2. BahasaPemrograman Compiler
Istilahkompilatorbiasadigunakanuntuk program komputer yang menerjemahkan program
yang ditulisdalambahasatingkat-tinggi (semacambahasa Pascal, C++, BASIC, FORTRAN,
Visual C#, Java) menjadibahasamesin, biasanyadenganbahasa Assembly (assembler)
sebagaiperantara.

3. Struktur Compiler

Bagian-bagian Compiler:
a. Lexical Analiysis (scanner), Lexical Analysis
seringdisebut Scanner bertugasuntukmendekomposisi program sumbermenjadibagian-
bagiankecil. Tugasnyasecara detail adalahmengindentifikasisemuabesaran yang
membangunsuatubahasa; mentransformasikan, danmenentukanjenis token;
menanganikesalahandantabelsimbol. ContohbesaranLeksikal :
1. Identifier, dapatberupa keyword ataunamakunci, seperti IF.. ELSE, BEGIN..END
(pada Pascal), INTEGER (pascal), INT,FLOAT (bahasa C).
2. Konstanta, terdiridaribesaran yang merupakanbilanganbulat (integer),
bilanganpecahan (float/Real), boolean (true/false), karakter, string, dansebagainya.
3. Operator, terdiridari operator aritematika( + – * /), operator logika ( < = > ).
4. Delimiter, bergunasebagaipemisah/pembatas, sepertikurungbuka, kurungtutup, titik,
koma,titikdua, titik-koma
5. White Space, pemisah yang diabaikanoleh program seperti : enter, spasi, gantibaris,
akhir file.
b. Syntax Analysis, bertugasmemeriksakebenaranurutandari token-token yang
terbentukoleh lexical analysis. Syntax Analysis seringdisebut Parser, sedangkan proses
pen-deteksian-nya (pengenalan token) disebutdengan parsing. Pengelompokan token-
token kedalam class syntax (bentuk syntax), seperti procedure, Statement,dan expression.
c. SemanticsAnalyser, proses iniadalah proses kelanjutandari proses
kompilasisebelumnya, yaituanalisaleksikal (scanning) dananalisasintaks
(parsing). Parser hanyaakanmengenalisimbol-simbol ‘=’, ‘+’ dan ‘*’, parser
tidakmengetahuimaknadarisimbol-simboltersebut, untukmengenalisimbol-simboltersebut
Compiler menggunakan Analysis Semantics.
Pemeriksaanbiasadilakukanpadatabel indentifier, tabel display, dantabel block.
d. Intermediate
Code, bertujuanuntukmemperkecilusahadalammembuatcompilatordarisejumlahbahasakese
jumlahmesin.
e. Code Optimization, bertujuanuntukmengoptimalkan code, terdiridari:
1. DependensiOptimasi, bertujuanuntukmenghasilkankode program yang
berukuranlebihkecildancepat.
2. OptimasiLokal, adalahoptimasi yang dilakukanhanyapadasuatublokdari source code.
3. Optimasi Global, biasanyadilakukandengansuatu graph terarah yang
menunjukkanjalur yang mungkinselamaekskusiprograma.
f. Table Management,memilikiduafungsipentingyaitu : (1)
membantupemeriksaankebenaransemantikdari program sumber, (2)
membantudanmempermudahdalampembuatan intermediate code dan proses
pembangkitankode. Ada beberapajenisTabelInformasi:
1. Tabel identifier, berfungsimenampungsemua identifier yang terdapatdalam program.
2. Tabel Array, berfungsimenampunginformasitambahanuntuksebuah array.
3. Tabelblok, mencatatvariabel-variabel yang adapadablok yang sama.
4. Tabel Real, menyimpanelementabelbernilai real.
5. Tabelstring,menyimpaninformasi string.
6. Tabel display, mencatatblok yang aktif.
g. Error Handling, yaitukesalahan program dalam proses penerjemahanpada Compiler.
Kesalahan program dapatberupa :
1. KesalahanLeksikalkarenakesalahandalammengetik/mengeja.
2. KesalahanSintakskarenakesalahanrumus,
misalnyadalamoperasiaritematikadengantandakurung yang jumlahnyakurang.
3. Kesalahan Semantic karenatipe data yang salahatauvariabel yang belumdidefinisikan.

2.5 . Konsep Pascal


Pascal adalahbahasatingkattinggi yang orientasinyapadasegalatujuan, dirancangoleh Prof.
Niklaus Wirth dari Technical University di Zurich,
Switzerland.NamapascaldiambilsebagaipenghargaanterhadapBlaise Pascal,
ahlimatematikdanphilosophiterkenalabad 17 dariPerancis.
Strukturdarisuatu program pascalterdiridarisebuahjudul program dansuatublok program
ataubadan program. Blok program dibagilagimenjadiduabagian, yaitu
:bagiandeklarasidanbagianpernyataan. Secararingkas, struktursuatu program
pascaldapatterdiridari:

1. Judul program
2. Blok program
a. BagianDeklarasi, Bagiandeklarasidigunakanbiladidalam program
menggunakanpengenal (identifier) yang dapatberupa label, konstanta, tipe, variable,
prosedurdanfungsi.
1. DeklarasiKonstanta, diawalidengan kata cadangan Const diikutiolehkumpulan
identifier yang diberisuatunilaikonstanta. Data konstantanilainyasudahditentukandanpasti,
tidakdapatdirubahdidalam program
2. DeklarasiVariabel, Variabeladalah identifier yang berisi data yang dapatdiubah-
ubahnilainyadidalam program. Menggunakan kata
cadangan Var sebagaijuduldidalambagiandeklarasi variable dandiikutiolehsatuataulebih
identifier yang dipisahkankoma,
diikutidengantitikduadantipedaridatanyadiakhiridengantitikkoma.
3. DeklarasiTipe,Pascal menyediakanbeberapamacamtipe data, yaitu :
1) tipe data sederhana, terdiridari :
a. tipe data standar : integer, real, char, string, Boolean.
b. Tipe data didefinisikanpemakai : enumerated atau scalar, subrange
2) Tipe data terstruktur : array, record, file, set
3) Tipe data penunjuk
4. Deklarasi Label, Jika program menggunakan statement Gotountukmeloncatkesuatu
statement yang tertentu, makadibutuhkansuatu label pada statement yang ditujudan label
tersebutharus di deklarasikanterlebihdahulupadabagiandeklarasi. Menggunakan kata
cadangan Label diikutiolehkumpulan identifier label
dengandipisahkanolehkomadandiakhiridengantitikkoma.
5. DeklarasiProsedur, Prosedurmerupakanbagian yang terpisahdari program
dandapatdiaktifkandimanapundidalam program. Prosedurdibuatsendiribilamana program
akandibagi-bagimenjadibeberapablok-blokmodul. Prosedurdibuatdidalam program
dengancaramendeklarasikannyadibagiandeklarasiprosedur. Menggunakan kata
cadangan Procedure.
6. DeklarasiFungsi, Fungsijugamerupakanbagian program yang
terpisahmiripdenganprosedur, tetapiadabeberapaperbedaannya. Kata cadangan yang
digunakan Function.
BAB III
PENUTUP

KESIMPULAN

Dari makalah yang telah kami susun, kami dapat menarik kesimpulan bahwa Mesin Turing adalah alat
yang berfungsi sebagai model ideal untuk melakukan perhitungan matematis yang dikemas dalam
sebuah komputer.. Ada beberapa hal penting yang perlu diperhatikan bahwa, Alan Turing merupakan
ilmuan pertama yang mengagaskan dan mempurpose pengembangan komputer dengan mengunakan
mesin turing , tentu saja sangat berpengaruh terhadap perkembangan sistem yang ada di dalam sejarah
perkembangan komputer. Di mana Alan Turing mengegaskan bahwa computer itu dapat di jalankan
dengan berbagai macam aplikasi .Mesin Turing terkenal dengan ungkapan " Apapun yang bisa dilakukan
oleh Mesin Turing pasti bisa dilakukan oleh komputer.",yang kita rasakan memang benar dan pengruh
ya itu sangat besar setelah lebih jauh kita memahami tetang mesin turing ini. cara kerja komputer
sekarang ini dan mesinturing juga ekivalen dengan problema komputasi matematika dan . Mesin Turing
tidak ditujukan sebagai teknologi komputasi praktis tetapi lebih sebagai eksperimen pemikiran yang
mewakili sebuah mesin komputasi.di Mesin turing merupakan langkah manusia untuk maju ke masa
depan dengan kepandaianya dan di kembangan melalui mesin turing.dan Mesin Turing membantu para
ilmuan komputer memahami batas-batas komputasi mekanis.terhadap penyelarasan test dan perbaikan
dalam perkembangan komputer.
DAFTAR PUSTAKA

 http://hannan.h08.alumni.ipb.ac.id/2010/06/12/pengertian-pemrograman/
 http://ikc.dinus.ac.id/berseri/alex-algoritma/index.php
 googlecode.com/files/a980b55869178243a3cca38490ce9711.pd

Anda mungkin juga menyukai