Modul 1 Mesin Karakter 1

dokumen-dokumen yang mirip
Mesin Karakter dan Mesin Kata

IKG2A3/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Mesin Abstrak

Mesin Abstrak. Tim Pengajar KU1071 Sem

BAB II TINJAUAN PUSTAKA

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

Konstruksi Dasar Algoritma

STRUKTUR DASAR ALGORITMA

PENGULANGAN Bagian 1 : Notasi. Tim Pengajar KU1071 Sem

RENCANA PEMBELAJARAN SEMESTER (RPS)

Algoritma Pemrograman

Algoritma Pemrograman

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

Algoritma Pemrograman

ALGORITMA DAN PEMROGRAMAN

MODUL 1. Struktur Bahasa PASCAL secara umum

PERSEGI ANGKA-HURUF VERTIKAL

Algoritma Pemrograman

Perulangan Muh. Izzuddin Mahali, M.Cs. Pertemuan 3. Algoritma dan Struktur Data. PT. Elektronika FT UNY

Pertemuan 3 Penyeleksian Kondisi dan Perulangan

TEKNIK KOMPILASI Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 16

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB

algoritma & pemrograman

Prosedur merupakan modul program yang mengerjakan instruksi spesifik dan menghasilkan efek netto. Efek netto diketahui dengan membandingkan keadan awa

Algoritma Pemrograman

Pengenalan Pascal. Sejarah Singkat Pascal

PRAKTIKUM 4 STATEMENT KENDALI

Menghapus Pointer Statement yang digunakan untuk menghapus pointer adalah Dispose, yang mempunyai bentuk umum : Dispose(peubah) ;

Dasar Komputer & Pemrograman 2A

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

BAB 2 LANDASAN TEORI

MODUL 1 Operasi Dasar dalam PHP

Dasar Komputer & Pemrogaman 2A

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

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

Pertemuan 2 Operasi String

Selamat Mengerjakan. 2. Keluaran dari baris 10 adalah? a. 1 b. 4 c. 2.5 d. 2 e Keluaran dari baris 11 adalah? a. 1 b. 4 c. 2.5 d. 2 e.

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

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

Lab. Teknik Informatika Struktur Data 1

Algoritma. Menurut Kamus Besar Bahasa Indonesia Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.

Start. Baris Program. Baris Program. Baris Program. Selesai. Contoh Program Struktur berurutan menghitung luas empat persegi panjang

LOOPING. Brigida Arie Minartiningtyas, M.Kom

Soal hari Jumat (16/10) Latihan 10 MS

Modul Algoritma Dan Pemrograman Pascal

Modul Praktikum Ke-2

STRUKTUR KENDALI. Memanfaatkan struktur kendali untuk kasus komputasi

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

PHP mendukung komentar yang digunakan pada C, C++ dan Shell Unix. Sebagai contoh:

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia

Algoritma Pemrograman

Teori Algoritma. Struktur Algoritma

PRAKTIKUM 5 DAN 6 STATEMEN PERULANGAN

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

PENDAHULUAN. Brigida Arie Minartiningtyas, M.Kom

ALGORITMA PERULANGAN

Algoritma Pemrograman

KONSEP DASAR BAHASA PASCAL

Algoritma Pemrograman

CCH1A4 / Dasar Algoritma & Pemrogramanan

Krisna D. Octovhiana. 1.1 Apa itu Operator?

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S.

SOAL DAN JAWABAN UTS PEMROGRAMAN DASAR KELAS X

Array (Tabel) Tim Pengajar KU1071 Sem /11/3 TW/KU1071 1

Algoritma dan Pemrograman Bab II Dev Pascal, Variabel, Tipe Data. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

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

PRAKTIKUM 7 TIPE DATA TERSTRUKTUR. Larik : deretan data yang punya type data sejenis. Misalnya : Daftar Nomor Telpon, Tabel Pajak dll.

Teori Algoritma TIPE DATA

MODUL 3 ALGORITMA PEMROGRAMAN

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

PERTEMUAN 7 REVIEW (QUIZ)

Pertemuan XII ALGORITMA. Algoritma & Pemrograman Ken Kinanti P 1. {Pencarian Beruntun / Sequential Search}

Algoritma dan Pemrograman Bab 05 Struktur Pengulangan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

1.1 Mengenal Visual Basic (VB) 1.2 Mengenal Integrated Development Environment (IDE) VB 6

.::BAB II.::MENGENAL PASCAL

Algoritma Pemrograman

PROSEDUR. Jadi, setiap prosedur harus : - Didefinisikan (dibuat spesifikasinya) dan dituliskan kode programnya - Dipanggil, pada saat eksekusi

Indentifier, Keywords, Variable, Tipe Data dan Operator. Ramos Somya, S.Kom., M.Cs.

BAB I TUJUAN DAN LANDASAN TEORI

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom

IF Algoritma & Pemrograman. Bab 1: Pengantar Algoritma. Oleh : Andri Heryandi, M.T. Universitas Komputer Indonesia

c. Hasil pencarian berupa nilai Boolean yang menyatakan status hasil pencarian. Versi 1 (Pembandingan elemen dilakukan sebagai kondisi pengulangan)

Struktur Program. Rinta Kridalukmana

NomorDok : FRM/KUL/01/02 NomorRevisi : 02. Tgl.Berlaku : 1Oktober 2012 KlausaISO : & 7.5.5

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

PROSES PENJUALAN BUKU

2 ATURAN PENULISAN TEKS ALGORITMA

Pertemuan 3 Penyeleksian Kondisi

Algoritma Pemrograman

Struktur Perulangan. Sesi. 3.1 Pernyataan while do. 3.2 Pernyataan repeat... until

Krisna D. Octovhiana. 1.1 Mengenal Data dan Variabel.

PENGANTAR ALGORITMA DAN PEMROGRAMAN

PENGULANGAN SKEMA PEMROSESAN SEKUENSIAL. Tim Pengajar KU1071 Sem

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

MODUL II. OBJECK, PROPERTY, METHOD dan EVENT

Algoritma dan Pemrograman

FUNGSI MINGGU KE: 4 TUJUAN: Mahasiswa dapat memahami definisi fungsi. Mahasiswa dapat mendefinisikan fungsi. Mahasiswa dapat menggunakan fungsi.

Arsip Beruntun. Definisi Arsip Beruntun. Contoh Arsip Beruntun

Pengantar dalam Bahasa Pemrograman Turbo Pascal

Transkripsi:

MODUL 1 MESIN KARAKTER TUJUAN PRAKTIKUM 1. Mahasiswa dapat memahami salah satu contoh aplikasi otomata yaitu mesin karakter 2. Mahasiswa mampu mengimplementasikan mesin karaketer dalam program pengolahan teks LANDASAN TEORI 1. Mesin Abstrak Kajian dari kuliah teori bahasa formal dan otomata adalah mempelajari bahasa, grammar serta dikaitkan dengan mesin (otomata) yang mengenali atau menerima bahasa tersebut. Mempelajari otomata sama dengan mempelajari mesin. Mesin adalah mekanisme yang terdefinisi serta mampu untuk mengesksekusi aksi-aksi primitif yang terdefinisi untuk mesin tersebut. Mesin abstrak adalah mesin yang dianggap ada, dan diasumsikan mampu melakukan mekanisme yang didefinisikan untuk mesin tersebut. Mesin abstrak memodelkan suatu semesta (universe) tertentu. Dalam pemrograman, seringkali pemrogram harus mendefinisikan mesin-mesin abstrak sebelum menuliskan kode program karena dengan mesin abstrak memungkinkan permrogram untuk melakukan pemecahan secara bertahap. Mesin abstrak yang diciptakan pada tahap konseptual bahkan memungkinkan pemrogram untuk berpikir tahap demi tahap samapi akhirnya dijabarkan dalam mesin riiil. mesin abstrak mesin riil (komputer) mesin abstrak Modul 1 Mesin Karakter 1

Sebetulnya bahasa tingkat tinggi adalah mesin abstrak bagi assembler dan lebih abstrak bagi mesin riil yaitu komputer. Mendefinisikan mesin abstrak, berarti mendefinisikan : - sekumpulan status yang mungkin - sekumpulan aksi primitif yang diasumsikan dapat dimengerti dan dieksekusi mesin yang bersangkutan Pada modul ini akan dibahas salah satu contoh mesin abstrak yaitu mesin karakter. 2. Mesin Karakter Definisi : Mesin karakter adalah mesin abstrak yang terdiri dari : - pita karakter yaitu pita yang berisi deretan karakter, yang diakhiri dengan. (titik), pita yang hanya berisi. disebut dengan pita kosong - tombol start dan adv - sebuah lampu EOP ( End of Pita) - jendela yang ukurannya sebesar satu karakter, hanya karakter yang posisinya pada jendela yang dapat dikonsultasi (dibaca); karakter lain tidak kelihatan. Karakter yang sedang ada di jendela disebut dengan cc (curent caracter) Mesin mempunyai mekanisme untuk mengubah posisi pita dan menyalakan lampu EOP jika karakter yang ada pada jendela adalah titik. Keadaan (status) dari mesin setiap saat ditentukan oleh cc dan lampu EOP. Tombol start dan adv digunakan untuk mengubah status mesin. Mesin hanya dapat dioperasikan jika EOP tidak menyala. Modul 1 Mesin Karakter 2

EOP start adv Primitif untuk mengubah posisi pita procedure reset { mesin siap dioperasikan. pita disiapkan untuk dibaca. karakter pertama ada pada pita posisinya ada pada jendela} i.s. : sembarang f.s. : cc adalah karakter pertama pada pita; jika cc. maka EOP tidak menyala (false); jika cc =. maka EOP akan menyala (true) } procedure adv { pita dimajukan satu karakter} i.s. : karakter pada jendela = cc; cc. f.s. : cc adalah karakter berikutnya dari cc yang lama cc mungkin =.. Jika cc =. maka EOP akan menyala (true) } 3. Implementasi Mesin karakter Dalam pemrograman, model mesin karakter dikenal dengan model pengaksesan beruntun (sekuensial). Salah satu implementasinya adalah dalam hal pemrosesan terhadap teks. Misal, pada program pengolah kata (text editor) fungsi yang ada antara lain proses pencarian (search) sebuah karakter atau string, menghitung jumlah karakter, memperbaiki kata yang salah secara otomatis (autocorrect) dan sebagainya. Implementasi lain dari mesinkarakter adalah kompiler bahasa pemrograman. Tugas pertama suatu kompiler adalah membaca program sumber untuk mengambil simbol-simbol (keyword, konstanta, variabel, dsb). Komponen kompiler yang melakukan tugas ini disebut dengan scanner. Modul 1 Mesin Karakter 3

Dalam pemrograman,pita karakter (teks) direalisasikan dalam file teks. Misalkan nama file tersebut contoh.txt. Akhir teks harus diakhiri dengan tanda. (titik) sehingga pemrosesan teks dilakukan sebelum mencapai titik. Implementasi mesin karakter dalam bahasa PASCAL sebagai berikut : 1. Deklarasi global var P : text; { pita karakter yang akan diakses} cc : char; {karakter pada posisi jendela mesin} 2. aksi primitif - Proses reset/start procedure reset { mesin siap dioperasikan. pita teks.txt disiapkan untuk dibaca; karakter pertama ada pada pita posisinya ada pada jendela} i.s. : sembarang f.s. : cc adalah karakter pertama pada pita; jika cc. maka EOP tidak menyala (false); jika cc =. maka EOP akan menyala (true) } assign(p, teks.txt ); reset(p); - Proses membaca karakter pada jendela pita kemudian posisi dimajukan {baca karakter pada jendela pita. Karakter yang dibaca disimpan di variabel cc} 3. Contoh program 1. Counthuruf Diberikan sebuah mesin karakter dengan pita berisi karakter (mungkin kosong). Buatlah program untuk menghitung banyaknya huruf yang ada pada pita tersebut (tidak termasuk. ). procedure counthuruf(output n : integer) {menghitung banyaknya karakter pada pita} {k.akhir : n berisi banyaknya karakter dalam pita; n= 0 jika pita kosong} {deklarasi} {deskripsi} n 0 reset_teks Modul 1 Mesin Karakter 4

while cc. do n n + 1 endwhile { cc =. } 2. Count-A menghitung banyaknya karakter A pada pita. procedure count_a(output na : integer) {menghitung banyaknya karakter A pada pita} {k.akhir : na berisi banyaknya karakter A dalam pita; na= 0 jika pita kosong} {deklarasi} {deskripsi} na 0 reset while cc. do if cc = A then na na + 1 endif endwhile { cc =. } contoh 1 : Program Utama Pascal untuk menguji prosedur yang telah dibuat Program Proses_MesinKar; var cc : char; P : text; nkar, na, no_menu : integer; procedure reset_teks; { mesin siap dioperasikan. pita teks.txt disiapkan untuk dibaca; karakter pertama ada pada pita posisinya ada pada jendela} i.s. : sembarang f.s. : cc adalah karakter pertama pada pita; jika cc. maka EOP tidak menyala (false); jika cc =. maka EOP akan menyala (true) } assign(p, teks.txt ); reset(p); procedure count_huruf(var n : integer); {menghitung banyaknya karakter pada pita} {k.akhir : n berisi banyaknya karakter dalam pita; n= 0 jika pita kosong} {deklarasi} {deskripsi} Modul 1 Mesin Karakter 5

n := 0; reset; ; while cc <>. do n := n + 1; ; {endwhile { cc =. }} procedure count_a(var na : integer); {menghitung banyaknya karakter A pada pita} {k.akhir : na berisi banyaknya karakter A dalam pita; na= 0 jika pita kosong} {deklarasi} {deskripsi} na 0 reset while cc. do if cc = A then A na + 1; {endwhile { cc =. }} { deskripsi program utama} repeat writeln( Menu ); writeln( 1. Hitung banyaknya karakter ); writeln( 2. Hitung banyaknya huruf A ); writeln( 0. Keluar program ); writeln( pilihan menu :.. );readln(no_menu); case no_menu of 1: count_huruf(nkar); writeln( Banyaknya huruf karakter =,nkar); 2: count_a(na); writeln( Banyaknya huruf A =,na); 0: writeln( Keluar program ); repeat until keypressed; until no_menu = 0; end. Modul 1 Mesin Karakter 6

TUGAS PRAKTIKUM 1. Ketik dan jalankan program di atas sambil dipahami dan dicamkan skema algoritmanya (karena sebagai dasar untuk pertemuan-pertemuan selanjutnya) 2. Buatlah prosedur berikut kemudian tambahkan ke dalam program utama pada contoh 1. procedure Frek_A(var frek_a: integer) {menghitung frekuensi relatif huruf A yang ada pada pita. Frekuensi relatif huruf A adalah banyaknya huruf A dibagi dengan banyaknya seluruh karakter yang ada pada pita.} ilustrasi hasil : pita aku mhs uin. frek a =2/11 mhs. frek a =0/3 = 0. pita kosong 3. Buatlah prosedur berikut kemudian tambahkan ke dalam program utama pada contoh 1. procedure hit_vokal(var n_vok: integer); {menghitung banyaknya huruf hidup pada pita} Modul 1 Mesin Karakter 7

{k.akhir : n_vok berisi banyaknya huruf hidup dalam pita; n_vok = 0 jika pita kosong} 4. Buatlah prosedur berikut kemudian tambahkan ke dalam program utama pada contoh 1. procedure hit_konsonan(var n_kon: integer); {menghitung banyaknya huruf konsonan pada pita} {k.akhir : n_kon berisi banyaknya huruf konsonan dalam pita; n_kon = 0 jika pita osong} Modul 1 Mesin Karakter 8