NPM : 170210138
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.
KATA PENGANTAR....................................................................................... i
DAFTAR ISI...................................................................................................... ii
BAB. I PENDAHULUAN
BAB. II PEMBAHASAN
KESIMPULAN.................................................................................................. 7
DAFTAR PUSTAKA........................................................................................ 7
Mesin Turing
diimplementasikandarialgoritmapengenalankalimat.
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.
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