MESIN ABSTRAK Algoritma dan Pemrograman I Wilis Kaswidjanti
MESIN ABSTRAK Algoritma dan Pemrograman I Wilis Kaswidjanti IF FTI UPN “Veteran” Yk - 2007
Wilis-K MESIN ABSTRAK Mesin abstrak adalah mesin yang dianggap ada dan diasumsikan mampu melakukan mekanisme yang didefinisikan untuk mesin tersebut. • Mesin abstrak tk II Ø Programer • Mesin abstrak TK I • Mesin riil (komputer) Macam-macam mesin abtrak : Mesin Gambar, Mesin Karakter, Mesin Integer dan Mesin Rekam. Algoritma dan Pemrograman
Wilis-K Mesin Gambar • Mesin gambar adalah abstrak yang terdiri dari 2 unit yaitu pena dan bidang gambar. • Terdiri dari 2 unit, yaitu pena & bidang gambar. Ada 9 prosedur standar dalam mesin gambar, yaitu : 1. Clear 6. Down 2. Restart 3. Move 7. Right 8. Left 4. To. Pos 9. Set. Dir 5. Up Algoritma dan Pemrograman
Wilis-K Mesin Gambar Pena memiliki 3 variabel, yaitu : – Status penulisan (pen) : ‘on’ dan ‘off’. Status ‘on’ berarti pena aktif, dapat menghitamkan bidang gambar ‘off’ = non aktif – Posisi pada permukaan bidang gambar (pas xy) : posisi koord pada bidang gambar Contoh : point : type (x : real, y : real) – Arah pena (dir/direct) : arah terhadap sumbu ox, besarnya dalam derajat berlawanan arah jarum jam 360 … 360] Contoh : isi variable pena : Pos xy : [20. 00, 10. 0], Pen : ‘on’, Dir : [- 45. 0 Algoritma dan Pemrograman
Wilis-K 9 Prosedur standar pada mesin gambar 1. Clear : procedur Membersihkan bidang gambar 2. Restart : procedur Memulai kembali proses dari awal, dengan kondisi : Variable : pos XY = [0. 0, 0. 0], Pen= ‘on’, Dir = 0. 0 3. Move : procedur (input L: real >0. 0) Membuat garis pada bidang gambar sejauh L satuan koord. Dengan arah sesuai dengan arah pena yang aktif (dir) 4. To. Pos : procedur (input x, y : real [-100. . + 100. 0]) Meletakkan pena pada posisi koord. (x, y) (tidak membentuk garis baik waktu ‘on’ / ‘off’) 5. Up : procedure menggerakkan pena ke atas Algoritma dan Pemrograman
Wilis-K 9 Prosedur standar pada mesin gambar 6. Down : proceure menggerakkan pena ke bawah 7. Right : procedure (input d : real [0. 0. . 360. 0]) memutar arah pena sebesar d derajat searah jarum jam 8. Left : procedure (input d : real [0. 0. . 360. 0]) memutar arah pena sebesar d derajat berlawanan arah jarum jam 9. Set. Dir : procedure (input d : real [-360. 0. . 360. 0]) menentukan arah pena dengan sudut d derajat Dir = 20 Right(30) Dir = 350 Algoritma dan Pemrograman
Wilis-K Mesin Karakter Terdiri dari tombol START, ADV, sebuah lampu Eo. T (End of Tape) dan jendela CC (Current Character) Jendela lampu CC Eo. T F Jendela lampu CC Eo. T Tombol tombol Start ADV I F Start F T I Suatu keadaan mesin karakter Dimana jendela CC = ‘F’ Sehingga EOT belum menyalan ADV O K E Suatu keadaan mesin karakter dimana jendela CC =’ ’ sehingga lampu EOT menyala Algoritma dan Pemrograman
Wilis-K Mesin Integer Terdiri dari tombol RESET, INC dan jendela CI (current integer) CI RESET INC Setelah tombol RESET ditekan CI RESET INC Setelah tombol INC ditekan 5 x Algoritma dan Pemrograman
Wilis-K Mesin Rekam Terdiri dari 3 tombol READY, REC dan MARK dan jendela CI (Current integar) Algoritma dan Pemrograman
Latihan Mesin Gambar Wilis-K 1. Buatlah algoritma yang menggambar topi mulai dari titik yang berkoordinat (0. 0, 0. 0) sebagai berikut : 60 15. 0 60 Algoritma dan Pemrograman
1. ALGORITMA Gambar. Topi {kondisi awal : Pen = sembarang, Pos. XY = sembarang, Dir = sembarang} {kondisi akhir : sebuah gambar seperti tergambar di samping} Kamus Procedure Topi Algoritma Restart Down Set. Dir (60. 0) Topi Wilis-K Procedure Topi {kondisi awal : Pen = on, Pos. XY = <x, y>, Dir = 60. 0} {kondisi akhir : Pen = on, Pos XY = <x, y>, Dir = -60. 0 dan topi seperti pada gambar} Algoritma Move (15. 0) Right (120. 0) Move(15. 0) Algoritma dan Pemrograman
Latihan Mesin Gambar Wilis-K 2. Buatlah algoritma yang membaca titik awal sebuah bujur sangkar dan panjang sisinya, kemudian gambarkan bujur sangkar sebagai berikut : Algoritma dan Pemrograman
Wilis-K 2. ALGORITMA Gambar. BSangkar {Input : data sebuah bujur sangkar} {Proses : menggambar bujur sangkar} {Output : gambar bujur sangkar sesuai data input} Kamus sisi : real > 0. 0 {panjang sisi bujur sangkar} arah : real {arah sisi bujursangkar} type titik : record <x : real, y : real> awal : titik Procedure bujursangkar(Input L : real) Algoritma Clear Input(sisi, awal, arah) Set. Dir(arah) Down bujursangkar(sisi) Algoritma dan Pemrograman
Wilis-K Lanjutan no. 2 Procedure bujursangkar(Input L : real) {Menggambarkan bujursangkar berukuran L} {kondisi awal: Pen = on, Poz. XY = awal, Dir = arah dari bujur sangkar} {kondisi akhir: Pen = on, Pos. XY = awal, Dir = arah dari bujur sangkar} Kamus Lokal i : integer Algoritma i 1 Repeat move(L) right(90. 0) i i+1 Until i>4 Algoritma dan Pemrograman
- Slides: 14