Penggunaan Mesin Turing Multitrack untuk Operasi Bilangan Biner

dokumen-dokumen yang mirip
Aplikasi Simulator Mesin Turing Pita Tunggal

Studi Kasus Implementasi Konsep Mesin Turing dalam Analisis Potensi Profiling Based Keyword di Sistem Sasbuzz

3. MesinTuring (Bagian3)

Turing and State Machines. Mesin Turing. Turing Machine. Turing Machines 4/14/2011 IF_UTAMA 1

DASAR SISTEM BILANGAN

Dalam konvensi tersebut dijumpai bahwa suatu bilangan yang tidak disertai indeks berarti bilangan tersebut dinyatakan dalam desimal atau basis-10.

Percobaan Perancangan Fungsi Pembangkit Bilangan Acak Semu serta Analisisnya

Mesin Turing dan Palindrome

Sistem Bilangan & Kode Data

PERTEMUAN 5. Teori Himpunan

Mesin Turing. Pertemuan Ke-14. Sri Handayaningsih, S.T., M.T. Teknik Informatika

MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE

Teori Bahasa Formal dan Automata

77 = (bilangan biner).

Aplikasi Algoritma Traversal Dalam Binary Space Partitioning

BAB I DASAR KOMPUTER DIGITAL

BAB IV SISTEM BILANGAN DAN KODE-KODE

Perbandingan Algoritma Pencarian Kunci di dalam Himpunan Terurut Melalui Linear Search dan Binary Search

Implementasi Algoritma Runut Balik dalam Pengenalan Citra Wajah pada Basis Data

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal

Interpolasi Polinom dan Applikasi pada Model Autoregresif

18/09/2017. Fakultas Teknologi dan Desain Program Studi Teknik Informatika

PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA

Teori Komputasi 11/2/2016. Bab 5: Otomata (Automata) Hingga. Otomata (Automata) Hingga. Otomata (Automata) Hingga

Aplikasi Pohon dalam Pencarian dan Penempatan Buku di Perpustakaan

PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA

TUGAS MAKALAH TEORI BAHASA & AUTOMATA

Penerapan Pewarnaan Graf dalam Alat Pemberi Isyarat Lalu Lintas

Menentukan Arah Pukulan Terbaik dalam Pertandingan Bulutangkis Kategori Tunggal dengan Teori Graf Terbalik

Strategi Algoritma Penyelesaian Puzzle Hanjie

IF5110 Teori Komputasi. Teori Kompleksitas. (Bagian 1) Oleh: Rinaldi Munir. Program Studi Magister Informatika STEI-ITB

Perbandingan Kompresi Data Dengan Algoritma Huffman Statik dan Adaptif

Penerapan Algoritma Brute Force di Permainan Nonogram

SISTEM BILANGAN DAN FORMAT DATA

Penerapan Mode Blok Cipher CFB pada Yahoo Messenger

Penggunaan Bilangan Kompleks dalam Pemrosesan Signal

Aplikasi Aljabar Boolean dalam Komparator Digital

Aplikasi Aljabar Geometri dalam Menentukan Volume Parallelepiped Beserta Penurunan ke Rumus Umum dengan Memanfaatkan Sifat Aljabar Vektor

Perbandingan Metode Visual Sharing Scheme dan General Access Structure pada Kriptografi Visual

Pemodelan Pembagian Kelompok Tugas Besar Strategi Algoritma dengan Masalah Sum of Subset

PENDEKATAN TEORI AUTOMATA UNTUK MENYELESAIKAN APLIKASI-APLIKASI DI BIDANG ILMU KECERDASAN BUATAN

KOMPUTASI PEMROGRAMAN

Definisi Bilangan Biner, Desimal, Oktal, Heksadesimal

Langkah 2 : mengubah bilangan Biner menjadi Desimal

Penerapan Algoritma Greedy dalam Permainan Othello

Penggunaan Pohon Biner Sebagai Struktur Data untuk Pencarian

Memecahkan Puzzle Hidato dengan Algoritma Branch and Bound

Optimasi Konversi String Biner Hasil Least Significant Bit Steganography

Sistem Bilangan dan Kode

Implementasi Greedy Dalam Menemukan Rangkaian Logika Minimal Menggunakan Karnaugh Map

BAB II Sistem Kode Dalam Bilangan Biner

Pertemuan 2. sistem bilangan

Menentukan Susunan Terbaik Tim Proyek dengan Algoritma Branch and Bound

TEORI DASAR DIGITAL OTOMASI SISTEM PRODUKSI 1

Penggunaan Algoritma Greedy untuk Mencari Solusi Optimal dalam Permainan Brick Breaker

Implementasi Struktur Data Rope menggunakan Binary Tree dan Aplikasinya dalam Pengolahan Teks Sangat Panjang

OPERASI DALAM SISTEM BILANGAN

Penerapan Algoritma Greedy dalam Permainan Connect 4

BAB V b SISTEM PENGOLAHAN DATA KOMPUTER (Representasi Data) "Pengantar Teknologi Informasi" 1

PENGANTAR TEKNOLOGI INFORMASI

Pengaruh Paralelisme Terhadap Mesin Turing Sebagai Konsep Komputasi

Penerapan Operasi Matriks dalam Kriptografi

BAB II ARITMATIKA DAN PENGKODEAN

Lecture Notes Teori Bahasa dan Automata

Aplikasi Pewarnaan Graf Pada Pengaturan Warna Lampu Lalu Lintas

Teori Bahasa Formal dan Automata

Sistem Bilangan Mata Kuliah Arsitektur Komputer Program Studi Sistem Informasi 2012/2013 STMIK Dumai -- Materi 08 --

Finite State Machine dapat berupa suatu mesin yang tidak memiliki output. Finite State Machine yang tidak mengeluarkan output ini dikenal

Studi dan Implementasi Integrasi Monte Carlo

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

Implementasi Logika Penurunan Persamaan Aritmatika pada Program Komputer

Topik: Tipe Bilangan dan Sistem Bilangan

Aplikasi Matematika Diskrit dalam Permainan Nonogram

Asah Otak dengan Knight s Tour Menggunakan Graf Hamilton dan Backtracking

G a a = e = a a. b. Berdasarkan Contoh 1.2 bagian b diperoleh himpunan semua bilangan bulat Z. merupakan grup terhadap penjumlahan bilangan.

Implementasi Pencocokan String Tidak Eksak dengan Algoritma Program Dinamis

Perbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin

Pencarian Solusi Permainan Pipe Puzzle Menggunakan Algoritma Backtrack

Penggunaan Algoritma Pathfinding pada Game

Perbandingan Kompresi Data Menggunakan Algoritma Huffman dan Algoritma DMC

PEMANFAATAN APLIKASI ELECTRONIC WORKBENCH (EWB) PADA MATA KULIAH LOGIKA INFORMATIKA MATERI GERBANG LOGIKA

Sistem Bilangan pada Bidang Ilmu Komputer (Lanjutan)

Penerapan Algoritma Brute Force dan Backtracking pada Permainan Skycraper

ARSITEKTUR SISTEM KOMPUTER. Wayan Suparta, PhD Maret 2018

Analisa Keputusan Manajemen dengan Pemrograman Dinamis

Sistem Bilangan Mata Kuliah Arsitektur Komputer Program Studi Sistem Informasi 2012/2013 STMIK Dumai -- Materi 08 --

Aplikasi Teori Graf pada State Diagram

Mencari Solusi Persamaan Rekursif Bilangan Catalan dengan Prinsip-prinsip Kombinatorial

DATA KOMPUTASI & SISTEM BILANGAN

Deterministic Finite Automata

MAKALAH. Mata Kuliah. Arsitektur dan Organisasi Komputer

Penyelesaian Game Lights Out dengan Algoritma Runut Balik

Penerapan Algoritma Pattern Matching untuk Mengidentifikasi Musik Monophonic

TEKNIK ENKRIPSI DAN DESKRIPSI MENGGUNAKAN ALGORITHMA ELECTRONIC CODE BOOK (ECB)

MODUL 1 SISTEM BILANGAN

Penggunaan Pohon Huffman Sebagai Sarana Kompresi Lossless Data

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

Materi #13. TKT312 - Otomasi Sistem Produksi T a u f i q u r R a c h m a n

Sasaran Pertemuan 2 PERTEMUAN 2 SISTEM BILANGAN

Our Way of Thinking I. PENDAHULUAN

Transkripsi:

Penggunaan Mesin Turing Multitrack untuk Operasi Bilangan Biner Hairil Anwar / 23514034 Program Magister Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia 23514034@std.stei.itb.ac.id Abstract Dalam tulisan ini akan dibahas penggunaan Mesin Turing untuk melakukan operasi pada bilangan biner. Operasi-operasi yang dibahas adalah operasi bitwise, operasi penjumlahan dan pengurangan. Jenis Mesin Turing yang digunakan adalah Mesin Turing Multitrack dengan pita terbatas kanan dan penunjuk yang dimulai dari kanan. Simulasi gerakan dalam melakukan operasi-operasi di atas akan ditunjukkan hingga hasil operasi diperoleh atau Mesin Turing berhenti. Index Terms Biner, Penjumlahan, Pengurangan, Mesin Turing Multitrack. I. MESIN TURING Mesin Turing terdiri atas pita, penunjuk, dan pengendali berhingga dengan sifat-sifat dideskripsikan sebagai berikut [2] : 1) Mesin Turing memiliki pita masukan yang terbatas pada satu sisi dan tak terbatas pada sisi lainnya (panjangnya tak berhingga). Pita ini berisi simbolsimbol yang dapat dibaca dan pita ini juga dapat ditulisi dengan simbol-simbol. Pita dapat dianggap sebagai deretan kotak-kotak yang setiap kotaknya hanya berisi satu simbol. 2) Penunjuk (header) yang berfungsi membaca dan menuliskan simbol pada pita. Penunjuk dapat bergerak ke kiri atau ke kanan. 3) Pengendali berhingga (finite control) yang menyimpan status dari Mesin Turing dan mengatur pergerakan penunjuk dalam membaca dan menulis simbol pada pita. Status pada Mesin Turing dapat berubah sesuai dengan simbol yang dibaca. Operasi-operasi dasar yang dapat dilakukan oleh Mesin Turing adalah 1) Membaca simbol yang ditunjuk oleh header 2) Menuliskan simbol baru pada simbol yang dibaca oleh header sesuai dengan status pada pengendali beringga 3) Berubah status 4) Menggerakkan header ke kiri atau ke kanan Operasi-operasi di atas dilakukan untuk satu gerakan pada Mesin Turing. Mesin Turing dapat berhenti (halt) ketika mencapai status akhir. Secara formal, Mesin Turing dituliskan dalam 7 Tupel,, dimana: Q = himpunan berhingga status Σ = himpunan simbol-simbol pada pita masukan awal Γ = himpunan simbol-simbol yang dapat dibaca atau ditulis pada pita δ = fungsi pergerakan q 0 = status awal B = simbol kosong (blank) tatus akhir Satu fungsi gerakan pada Mesin Turing dapat dituliskan sebagai δ(q i,x) = (q j,y,d) dengan q i adalah status saat ini, X adalah simbol yang terbaca, q j perubahan status setelah membaca X, Y adalah simbol yang dituliskan pada X, dan D adalah pergerakan penunjuk setelah menuliskan Y. Selain Mesin Turing yang dijelaskan di atas, terdapat beberapa jenis Mesin Turing lainnya. Berikut ini beberapa jenis Mesin Turing dan perbedaannya dengan Mesin Turing biasa: 1) Mesin Turing two-way infinite tape, Mesin Turing ini sama dengan Mesin Turing biasa namun memiliki pita yang tidak terbatas ke dua arah. 2) Mesin Turing Multitrack, Mesin Turing ini memiliki banyak jalur pita dan satu penunjuk untuk semua jalur pita. Penunjuk dapat membaca dan menulis simbol sejumlah jalur pita dalam satu gerakkanya. 3) Mesin Turing Multitape, Mesin Turing ini memiliki banyak jalur pita dan satu penunjuk untuk setiap jalur pita. Setiap penunjuk dapat bergerak secara terpisah. 4) Mesin Turing Non-deterministik, Mesin Turing ini memiliki transisi status atau gerakan yang banyak untuk satu pasangan status dan simbol yang dibaca. 5) Mesin Turing Multidimensional, Mesin Turing ini memiliki pita berbentuk dua dimensi atau lebih. Pada kasus dua dimensi penunjuk dapat bergerak ke kiri, ke kanan, ke atas, atau ke bawah. 6) Mesin Turing Multihead, Mesin Turing ini hanya memiliki satu jalur pita namun memiliki jumlah penunjuk (head) yang banyak.

II. MESIN TURING MULTITRACK Selain yang telah dijelaskan sebelumnya, perbedaan mendasar pada Mesin Turing Multitrack dengan Mesin Turing biasa ada pada notasi fungsi pergerakannya. Fungsi pergerakan untuk Mesin Turing Multitrack dituliskan sebagai δ(q i,[x 1,X 2, X N ]) = (q j, [Y 1,Y 2, Y N ],D) dengan q i adalah status saat ini, Y N adalah simbol yang terbaca pada jalur pita ke-n, q j perubahan status setelah membaca simbol pada pita, Y N adalah simbol yang dituliskan pada jalur pita ke-n, dan D adalah pergerakan penunjuk setelah menuliskan simbol pada pita. Secara umum pita pada Mesin Turing terbatas pada sisi kirinya dan tidak terbatas pada sisi lainnya dengan penunjuk dimulai dari ujung paling kiri. Namun dapat juga digunakan pita yang terbatas pada sisi kanannya dan tidak terbatas pada sisi lainnya dengan penunjuk yang dimulai dari ujung paling kanan. Dapat tunjukan bahwa keduanya ekuivalen. Selanjutnya akan digunakan skema pita yang terbatas kanan untuk melakukan operasi pada bilangan biner. Dalam tulisan ini akan dibahas penggunaan Mesin Turing Multitrack untuk melakukan operasi-operasi sederhana pada bilangan biner. Mesin Turing yang digunakan adalah Mesin Turing Multitrack. III. BILANGAN BINER DAN OPERASI BITWISE Bilangan biner adalah bilangan dengan basis 2 dimana suatu bilangan hanya dinyatakan dalam 0 dan 1 saja. Bilangan biner banyak diimplementasikan dalam bidang elektronik seperti pengkodean informasi dalam komputer saat ini. Bilangan biner juga digunakan sebagai bilangan yang paling fundamental. Semua bilangan dengan basis 8 (oktal), basis 10 (desimal), atau basis 16 (hexadesimal) dapat dikonversikan menjadi bilangan biner. Terdapat beberapa operasi bitwise untuk bilangan biner yaitu [4] : operasi NOT, AND, OR dan XOR. Berikut ini tabel kebenaran untuk operasi tersebut: Tabel 3.1. tabel kebenaran NOT A NOT A 0 1 1 0 Tabel 3.2. tabel kebenaran AND, OR dan XOR A B A AND B A OR B A XOR B 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 1 1 1 1 0 Tabel 3.3. Konversi beberapa basis bilangan Okta- Hexa- Biner Desimal desimal desimal (Basis 2) (Basis 10) (Basis 8) (Basis 16) 0 0 0 0 1 1 1 1 10 2 2 2 11 3 3 3 100 4 4 4 101 5 5 5 110 6 6 6 111 7 7 7 1000 8 10 8 1001 9 11 9 1010 10 12 A 1011 11 13 B 1100 12 14 C 1101 13 15 D 1110 14 16 E 1111 15 17 F 10000 16 20 10 IV. MESIN TURING MULTITRACK UNTUK OPERASI BITWISE A. Operasi NOT Untuk melakukan operasi NOT pada bilangan biner A dengan Mesin Turing Multitrack, input A terlebih dahulu dituliskan pada jalur 1. Hasil operasinya akan dituliskan pada jalur pita yang sama. Berikut langkah-langkah untuk melakukan operasi NOT dengan Mesin Turing Multitrack dua jalur: 3) Jika pasangan simbol terbaca 0B, maka tulis 1 4) Jika pasangan simbol terbaca 1B, maka tulis 0 6) Gerakkan penunjuk ke kiri dan kembali ke langkah 2. melakukan operasi NOT: δ(a,[0,b]) = (a,[1,b],l) δ(a,[1,b]) = (a,[0,b],l)

Misalkan diberikan input bilangan biner A = 1001 sebagai input untuk Mesin Turing di atas, maka akan dilakukan operasi NOT dengan langkah-langkah sebagai berikut: B B 1 0 0 0 B B 1 0 1 0 B B 1 1 1 0 B B 0 1 1 0 B B 0 1 1 0 Diperoleh hasil operasi NOT pada input A adalah 0110. B. Operasi AND Untuk melakukan operasi AND pada bilangan dua biner A dan B dengan Mesin Turing Multitrack, input A dan B terlebih dahulu dituliskan pada pita jalur ke-1 dan ke-2. Hasil operasinya akan dituliskan pada pita jalur. Berikut langkah-langkah untuk melakukan operasi AND dengan Mesin Turing Multitrack dua jalur: 3) Jika pasangan simbol terbaca 00, 01 atau 01, maka tulis 0 4) Jika pasangan simbol terbaca 11, maka tulis 1 6) Gerakkan penunjuk ke kiri dan kembali ke langkah 2 melakukan operasi AND: δ(a,[0,0]) = (a,[0,0],l) δ(a,[0,1]) = (a,[0,1],l) δ(a,[1,0]) = (a,[0,0],l) δ(a,[1,1]) = (a,[1,1],l) Misalkan diberikan input bilangan biner A = 1001 dan B = 0101 sebagai input untuk Mesin Turing di atas, maka akan dilakukan operasi AND dengan langkah-langkah B B 0 0 0 1 B B 0 0 0 1 Diperoleh hasil operasi AND dengan input A dan B adalah 0001. C. Operasi OR Untuk melakukan operasi OR pada bilangan dua biner A dan B dengan Mesin Turing Multitrack, input A dan B terlebih dahulu dituliskan pada pita jalur ke-1 dan ke-2. Hasil operasinya akan dituliskan pada pita jalur. Berikut langkah-langkah untuk melakukan operasi OR dengan Mesin Turing Multitrack dua jalur: 3) Jika pasangan simbol terbaca 00, maka tulis 0 4) Jika pasangan simbol terbaca 01, 01 atau 11, maka tulis 1 6) Gerakkan penunjuk ke kiri dan kembali ke langkah 2 melakukan operasi OR: δ(a,[0,0]) = (a,[0,0],l) δ(a,[0,1]) = (a,[1,1],l) δ(a,[1,0]) = (a,[1,0],l) δ(a,[1,1]) = (a,[1,1],l)

Misalkan diberikan input bilangan biner A = 1001 dan B = 0101 sebagai input untuk Mesin Turing di atas, maka akan dilakukan operasi OR dengan langkah-langkah B B 1 1 0 1 B B 1 1 0 1 B B 1 1 0 1 Diperoleh hasil operasi OR dengan input A dan B adalah 1101. D. Operasi XOR Untuk melakukan operasi XOR pada bilangan dua biner A dan B dengan Mesin Turing Multitrack, input A dan B terlebih dahulu dituliskan pada pita jalur ke-1 dan ke-2. Hasil operasinya akan dituliskan pada pita jalur. Berikut langkah-langkah untuk melakukan operasi XOR dengan Mesin Turing Multitrack dua jalur: 3) Jika pasangan simbol terbaca 00 atau 11, maka tulis 0 4) Jika pasangan simbol terbaca 01 atau 01, maka tulis 1 6) Gerakkan penunjuk ke kiri dan kembali ke langkah 2 melakukan operasi XOR: δ(a,[0,0]) = (a,[0,0],l) δ(a,[0,1]) = (a,[1,1],l) δ(a,[1,0]) = (a,[1,0],l) δ(a,[1,1]) = (a,[0,1],l) Misalkan diberikan input bilangan biner A = 1001 dan B = 0101 sebagai input untuk Mesin Turing di atas, maka akan dilakukan operasi OR dengan langkah-langkah B B 1 0 0 0 B B 1 1 0 0 B B 1 1 0 0 B B 1 1 0 0 Diperoleh hasil operasi OR dengan input A dan B adalah 1100. V. MESIN TURING MULTITRACK UNTUK PENJUMLAHAN DUA BILANGAN BINER Untuk melakukan penjumlahan dua bilangan biner akan digunakan Mesin Turing Multitrack dengan dua jalur pita. Input A dan B dituliskan pada pita jalur ke-1 dan jalur ke- 2. Kemudian akan dilakukan penjumlahan A+B yang hasil akan disimpan pada pita jalur ke-1. Langkah-langkah untuk melakukan operasi penjumlahan dua bilangan biner pada Mesin Turing Multitrack dua jalur adalah sebagai berikut: 1) Set status awal c 0. 3) Jika status adalah c 0 dan pasangan simbol terbaca 00, 0B, atau B0, maka tulis 0 pada jalur ke-1. Lanjut ke langkah 11. 4) Jika status adalah c 0 dan pasangan simbol terbaca 01, 10, 1B, atau B1, maka tulis 1 pada jalur 5) Jika status adalah c 0 dan pasangan simbol terbaca 11, maka tulis 0 pada jalur ke-1 dan ganti status menjadi c 1. Lanjut ke langkah 11. 6) Jika status adalah c 0 dan pasangan simbol terbaca BB, maka berhenti. Lanjut ke langkah 11. 7) Jika status adalah c 1 dan pasangan simbol terbaca 00, 0B, atau B0, maka tulis 1 pada jalur ke-1 dan ganti status menjadi c 0. Lanjut ke langkah 11. 8) Jika status adalah c 1 dan pasangan simbol terbaca 01, 10, 1B atau B1, maka tulis 0 pada jalur 9) Jika status adalah c 1 dan pasangan simbol terbaca

11, maka tulis 1 pada jalur ke-1. Lanjut ke langkah 11. 10) Jika status adalah c 1 dan pasangan simbol terbaca BB, maka tulis 1 pada jalur ke-1 dan ganti status menjadi c 0. Lanjut ke langkah 11. 11) Gerakkan penunjuk ke kiri dan kembali ke langkah 2. Notasi formal Mesin Turing Multitrack dua jalur untuk melakukan operasi penjumlahan dua bilangan biner: Q = {c 0, c 1, s} q 0 = c 0 // pergerakan dari status c 0 δ(c 0, [0,0]) = (c 0, [0,0], L) δ(c 0, [0,1]) = (c 0, [1,1], L) δ(c 0, [1,0]) = (c 0 [1,0], L) δ(c 0, [1,1]) = (c 1, [0,1], L) δ(c 0, [0,B]) = (c 0, [0,B], L) δ(c 0, [B,0]) = (c 0, [0,0], L) δ(c 0, [1,B]) = (c 0, [1,B], L) δ(c 0, [B,1]) = (c 0, [1,1], L) δ(c 0, [B,B]) = (s, [B,B], L) // pergerakan dari status c 1 δ(c 1, [0,0]) = (c 0, [1,0], L) δ(c 1, [0,1]) = (c 1, [0,1], L) δ(c 1, [1,0]) = (c 1, [0,0], L) δ(c 1, [1,1]) = (c 1, [1,1], L) δ(c 1, [0,B]) = (c 0, [1,B], L) δ(c 1, [B,0]) = (c 0, [1,0], L) δ(c 1, [1,B]) = (c 1, [0,B], L) δ(c 1, [B,1]) = (c 1, [0,1], L) δ(c 1, [B,B]) = (s, [1,B], L) Misalkan diberikan dua bilangan biner A dan B dengan A = 10011010 dan B = 1111011 sebagai input untuk Mesin Turing di atas, maka akan dilakukan penjumlahan dengan langkah-langkah Status = c 0 1 0 1 0 Status = c 0 1 0 1 1 1 0 0 1 Status = c 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 B B 0 0 0 1 0 1 0 1 B 1 0 0 0 1 0 1 0 1 Diperoleh solusi penjumlahan A dengan B pada pita jalur ke-1 adalah A + B = 100010101. VI. MESIN TURING MULTITRACK UNTUK PENGURANGAN DUA BILANGAN BINER Untuk melakukan pengurangan dua bilangan biner akan digunakan Mesin Turing Multitrack dengan dua jalur pita. Input A dan B dituliskan pada pita jalur ke-1 dan ke-2. Kemudian dilakukan pengurangan A-B yang hasilnya disimpan pada pita jalur ke-1. Digunakan dua status untuk berhenti yaitu status s untuk menyatakan proses pengurangan berhasil (A B) dan status f untuk menyatakan proses pengurangan tidak berhasil (A<B). Langkah-langkah untuk melakukan operasi pengurangan dua bilangan biner pada Mesin Turing Multitrack adalah 1) Set status awal b 0. 3) Jika status adalah b 0 dan pasangan simbol terbaca 00, 11, 0B atau B0, maka tulis 0 pada jalur 4) Jika status adalah b 0 dan pasangan simbol terbaca 10 atau 1B, maka tulis 1 pada jalur ke-1. Lanjut ke langkah 11. 5) Jika status adalah b 0 dan pasangan simbol terbaca 01 atau B1, maka tulis 1 pada jalur ke-1 dan ganti status menjadi b 1. Lanjut ke langkah 11. 6) Jika status adalah b 0 dan pasangan simbol terbaca BB, maka berhenti dengan status s. 7) Jika status adalah b 1 dan pasangan simbol terbaca 00, 11, 0B atau B0, maka tulis 1 pada jalur 8) Jika status adalah b 1 dan pasangan simbol terbaca 10 atau 1B, maka tulis 0 pada jalur ke-1 dan ganti status menjadi b 0. Lanjut ke langkah 11. 9) Jika status adalah b 1 dan pasangan simbol terbaca 01 atau B1, maka tulis 0 pada jalur ke-1. Lanjut ke langkah 11. 10) Jika status adalah b 1 dan pasangan simbol terbaca BB, maka berhenti dengan status f.

11) Gerakkan penunjuk ke kiri dan kembali ke langkah 2. Notasi formal Mesin Turing Multitrack dua jalur untuk melakukan operasi pengurangan dua bilangan biner: Q = {b 0, b 1, s, f} q 0 = b 0 F = {s,f} // pergerakan dari status b 0 δ(b 0, [0,0]) = (b 0, [0,0], L) δ(b 0, [0,1]) = (b 1, [1,1], L) δ(b 0, [1,0]) = (b 0 [1,0], L) δ(b 0, [1,1]) = (b 0, [0,1], L) δ(b 0, [0,B]) = (b 0, [0,B], L) δ(b 0, [B,0]) = (b 0, [0,0], L) δ(b 0, [1,B]) = (b 0, [1,B], L) δ(b 0, [B,1]) = (b 1, [1,1], L) δ(b 0, [B,B]) = (s, [B,B], L) // pergerakan dari status b 1 δ(b 1, [0,0]) = (b 1, [1,0], L) δ(b 1, [0,1]) = (b 1, [0,1], L) δ(b 1, [1,0]) = (b 0, [0,0], L) δ(b 1, [1,1]) = (b 1, [1,1], L) δ(b 1, [0,B]) = (b 1, [1,B], L) δ(b 1, [B,0]) = (b 1, [1,0], L) δ(b 1, [1,B]) = (b 0, [0,B], L) δ(b 1, [B,1]) = (b 1, [0,1], L) δ(b 1, [B,B]) = (f, [1,B], L) Misalkan diberikan dua bilangan biner A dan B dengan A = 10011110 dan B = 1111011 sebagai input untuk Mesin Turing di atas, maka akan dilakukan proses pengurangan dengan gerakan 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 B B 1 0 0 0 0 0 1 1 B B 1 0 1 0 0 0 1 1 B B 1 0 1 0 0 0 1 1 B B 0 0 1 0 0 0 1 1 B B 0 0 1 0 0 0 1 1 Diperoleh solusi pengurangan A dengan B pada pita jalur ke-1 adalah A - B = 100011. VII. KESIMPULAN Telah ditunjukkan penggunaan Mesin Turing Multitrack dengan dua jalur pita dan jenis pita terbatas kanan. Operasi yang dilakukan berupa operasi bitwise yaitu: NOT, AND, OR dan XOR serta operasi penjumlahan dan pengurangan pada dua bilangan biner. Dengan menggunakan Mesin Turing Multitrack penyelesaian dapat dilakukan dengan langsung dengan banyak gerakan berbanding lurus dengan panjang inputan. REFERENCES [1] Chen Wenyu, Wang Xiaobin, Cheng Xiaoou, dan Sun Shixin, Turing coumpute model for non-negative binary number, Journal of Software, 2009, vol. 5, pp. 123-130. [2] http://www.alanturing.net/turing_archive/pages/reference%20artic les/what%20is%20a%20turing%20machine.html Diakses pada tanggal 10 Desember 2014 [3] http://www.cs.umd.edu/class/sum2003/cmsc311/notes/bitop/bitw ise.html Diakses pada tanggal 11 Desember 2014 [4] http://www.cs.umd.edu/class/sum2003/cmsc311/notes/bitop/bitw ise.html Diakses pada tanggal 11 Desember 2014 PERNYATAAN Dengan ini saya menyatakan bahwa makalah yang saya tulis ini adalah tulisan saya sendiri, bukan saduran, atau terjemahan dari makalah orang lain, dan bukan plagiasi. Bandung, 11 Desember 2014 Hairil Anwar / 23514034