ANALISIS ALGORITMA PEMBANGUN POHON EKSPRESI DARI NOTASI PREFIKS DAN POSTFIKS

dokumen-dokumen yang mirip
Pemanfaatan Pohon dalam Realisasi Algoritma Backtracking untuk Memecahkan N-Queens Problem

DEFINISI. Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon 2

Pohon. Bahan Kuliah IF2120 Matematika Diskrit. Program Studi Teknik Informatika ITB. Rinaldi M/IF2120 Matdis 1

Aplikasi Pohon Keputusan dalam Pemilihan Penerima Beasiswa UKT

Penerapan Pohon Biner dalam Proses Pengamanan Peer to Peer

Aplikasi Pohon pada Pohon Binatang (Animal Tree)

MEMBANDINGKAN KEMANGKUSAN ALGORITMA PRIM DAN ALGORITMA KRUSKAL DALAM PEMECAHAN MASALAH POHON MERENTANG MINIMUM

Penerapan Algoritma Greedy untuk Memecahkan Masalah Pohon Merentang Minimum

TUGAS MAKALAH INDIVIDUAL. Mata Kuliah : Matematika Diskrit / IF2153 Nama : Dwitiyo Abhirama NIM :

Algoritma Penentuan Graf Bipartit

Algoritma Euclidean dan Struktur Data Pohon dalam Bahasa Pemrograman LISP

Optimalisasi Algoritma Pencarian Data Memanfaatkan Pohon Biner Terurut

Pohon (TREE) Matematika Deskrit. Hasanuddin Sirait, MT 1

Pemanfaatan Pohon Biner dalam Pencarian Nama Pengguna pada Situs Jejaring Sosial

Penggunaan Pohon Biner Sebagai Struktur Data untuk Pencarian

Matematika Diskret (Pohon) Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.

Definisi. Pohon adalah graf tak-berarah, terhubung, dan tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon (ada sikuit) (tdk terhubung)

Penerapan Pohon Untuk Menyelesaikan Masalah Labirin

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF

Penerapan strategi runut-balik dalam penyelesaian permainan puzzle geser

Penerapan Pohon Keputusan dalam Pengambilan Keputusan Terbaik dibidang Pemasaran Produk

I. PENDAHULUAN. 1.1 Permainan Rush Hour

Studi Algoritma Optimasi dalam Graf Berbobot

Permodelan Pohon Merentang Minimum Dengan Menggunakan Algoritma Prim dan Algoritma Kruskal

Menghitung Ketinggian Rata-Rata Pohon Terurut

Algoritma Heap Sort. Sekolah Teknik Elektro & Informatika Departemen Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung

Menyelesaikan Permainan Wordament Menggunakan Algoritma Backtracking

Termilogi Pada Pohon Berakar 10 Pohon Berakar Terurut

TERAPAN POHON BINER 1

Aplikasi Graf dalam Rute Pengiriman Barang

Kompleksitas Algoritma dari Algoritma Pembentukan pohon Huffman Code Sederhana

Analisis Penerapan Algoritma Backtracking Pada Pencarian Jalan Keluar di Dalam Labirin

Penyandian (Encoding) dan Penguraian Sandi (Decoding) Menggunakan Huffman Coding

Pemanfaatan Algoritma Runut-Balik dalam Menyelesaikan Puzzle NeurOn dalam Permainan Logical Cell

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem

PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA

Implementasi Pohon Keputusan untuk Membangun Jalan Cerita pada Game Engine Unity

Pemrograman Algoritma Dan Struktur Data

Implementasi Skema Pohon Biner yang Persistent dalam Pemrograman Fungsional

Pemodelan CNF Parser dengan Memanfaatkan Pohon Biner

Penggunaan Pohon Keputusan untuk Data Mining

Aplikasi Graf pada Persoalan Lintasan Terpendek dengan Algoritma Dijkstra

Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013

Pohon dan Aplikasinya dalam Bagan Silsilah Keturunan

Implementasi Algoritma DFS pada Pewarnaan Gambar Sederhana Menggunakan Bucket tool

I. PENDAHULUAN. Gambar 1. Contoh-contoh graf

Pohon Biner Sebagai Struktur Data Heap dan Aplikasinya

Penerapan Algoritma Runut-Balik (Backtracking) pada Permainan Nurikabe

Penggunaan Struktur Data Pohon Berakar dalam XML

B C D E F G H I J K L M N O P Q R S T. Tinaliah, S.Kom POHON BINER

PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN

Penerapan DFS dan BFS dalam Pencarian Solusi Game Japanese River IQ Test

Penggunaan Pohon Biner dalam Binary Space Partition untuk Membuat Dungeon Game Roguelike RPG

Aplikasi Pohon Pencarian Biner Seimbang sebagai Memo Table Dynamic Programming

Penerapan Pohon Keputusan pada Pemilihan Rencana Studi Mahasiswa Institut Teknologi Bandung

Penggunaan Algoritma DFS dalam Pencarian Strategi Permainan Catur

Penerapan Teknik Binary Search Tree Sebagai Alternatif Penyimpanan Data

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

Penerapan Algoritma DFS dan BFS untuk Permainan Wordsearch Puzzle

Pembentukan Pohon Pencarian Solusi dalam Persoalan N-Ratu (The N-Queens Problem)

ANALISIS PENERAPAN ALGORITMA RUNUT-BALIK DALAM PENCARIAN SOLUSI PERSOALAN LOMPATAN KUDA

Penggunaan Algoritma Backtracking pada Permainan Mummy Maze

Implementasi Algoritma Runut Balik dalam Pengenalan Citra Wajah pada Basis Data

TREE STRUCTURE (Struktur Pohon)

Pembentukan pohon pencarian solusi dan perbandingan masingmasing algoritma pembentuknya dalam simulasi N-Puzzle

Variasi Pohon Pencarian Biner Seimbang

Teorema Cayley pada Pohon Berlabel dan Pembuktiannya

PENERAPAN GRAF DAN POHON DALAM SISTEM PERTANDINGAN OLAHRAGA

Penerapan Algoritma Runut-balik pada Permainan Math Maze

Algoritma Puzzle Pencarian Kata

Penerapan Algoritma Greedy dalam Pencarian Rantai Penjumlahan Terpendek

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

PERBANDINGAN ALGORITMA BFS DAN DFS DALAM PEMBUATAN RUTE PERJALANAN OBJEK PERMAINAN 2 DIMENSI

METODE POHON BINER HUFFMAN UNTUK KOMPRESI DATA STRING KARAKTER

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 4 & 5

Algoritma Prim dengan Algoritma Greedy dalam Pohon Merentang Minimum

Penerapan Algoritma BFS dan DFS dalam Mencari Solusi Permainan Rolling Block

PENERAPAN ALGORITMA RUNUT-BALIK (BACKTRACKING) DALAM PENYELESAIAN PERMAINAN SUDOKU

Pohon Quad untuk Merepresentasikan Gambar

PEMAMPATAN DATA DENGAN KODE HUFFMAN (APLIKASI POHON BINER)

Penerapan Pohon Keputusan dalam Mendiagnosa Penyakit Jantung Koroner

Penerapan Algoritma Runut-Balik dan Graf dalam Pemecahan Knight s Tour

Aplikasi Algoritma Traversal Dalam Binary Space Partitioning

APLIKASI POHON DALAM PENCARIAN CELAH KEAMANAN SUATU JARINGAN

Kasus Penggunaan Stack: Komputasi Ekspresi Aritmatika

STRUKTUR POHON (TREE) Pohon atau Tree adalah salah satu bentuk Graph terhubung yang tidak mengandung sirkuit.

Penerapan Pohon dan Himpunan dalam Klasifikasi Bahasa

STACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan

MAKALAH STRATEGI ALGORITMIK (IF 2251) ALGORITMA RUNUT BALIK DALAM GAME LABIRIN

Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum

PENERAPAN ALGORITMA RUNUT-BALIK DALAM PENCARIAN SOLUSI TEKA-TEKI BATTLESHIP

Analisis Perbandingan Algoritma Rekursif dan Non-Rekursif secara DFS (Depth First Search) dengan Memanfaatkan Graf

Aplikasi Pohon dalam Pencarian dan Penempatan Buku di Perpustakaan

Aplikasi Pohon Prefix pada Pencarian Kontak di

Aplikasi Algoritma Dijkstra dalam Pencarian Lintasan Terpendek Graf

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Tree (Pohon)

STRUKTUR POHON (TREE) Pohon atau Tree adalah salah satu bentuk Graph terhubung yang tidak mengandung sirkuit.

Perbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle

Penerapan Teori Pohon Dalam Kajian Struktur Data

Transkripsi:

ANALISIS ALGORITMA PEMBANGUN POHON EKSPRESI DARI NOTASI PREFIKS DAN POSTFIKS R. Raka Angling Dipura NIM : 13505056 Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung Jalan Ganesha 10, Bandung E-mail : if15056@students.if.itb.ac.id Abstrak Makalah ini membahas tentang kemangkusan dua algoritma yang sering digunakan untuk membangun pohon ekspresi. Algoritma yang diperbandingkan adalah algoritma pembangun pohon ekspresi dari notasi prefiks dan algoritma pembangun pohon ekspresi dari notasi postfiks. Kedua algoritma pembangun pohon ekspresi ini jelas memiliki karakteristik tersendiri, hal ini disebabkan karena notasi prefiks dan postfiks yang dibaca juga memiliki perbedaan mendasar. Notasi prefiks, yang juga dikenal dengan Polish notation, pertama kali ditemukan oleh matematikawan berkebangsaan Polandia, Jan Lukasiewicz, pada tahun 1920-an. Pola penulisan notasi ini adalah dengan mencantumkan operator diikuti dua operand operand dapat bersifat rekursif, yaitu terdiri dari operator dan operand yang juga tersusun prefiks. Berikut ini contoh penulisan notasi prefiks : + * / + 10 4 7 2 - + * 1 2 2 + 6 3 Dengan memperjelas operasi antar operand, notasi prefiks di atas dapat kita ubah menjadi notasi yang biasa digunakan dalam kehidupan sehari-hari yaitu notasi infiks. Berikut ini langkah-langkahnya : + * / + 10 4 7 2 - + * 1 2 2 + 6 3 + * / + 10 4 7 2 + * 1 2 2 + 6 3 + * / + 10 4 7 2 - + * 1 2 2 + 6 3 + * / + 10 4 7 2 - + * 1 2 2 + 6 3 10 + 4 / 7 * 2 + 1 * 2 + 2 6 + 3 Notasi postfiks, yang juga dikenal dengan Reverse Polish notation, pertama kali ditemukan oleh pakar komputer berkebangsaan Australia, Charles Hamblin, pada tahun 1950-an. Notasi ini merupakan penurunan dari notasi prefiks. Charles Hamblin mempresentasikan hasil kerjanya atas notasi postfiks dalam suatu konferensi pada tahun 1957. Pola penulisan notasi postfiks adalah dengan mencantumkan dua operand diikuti satu operator. Sama seperti notasi prefiks, operand pada notasi postfiks dapat bersifat rekursif tetapi tersusun menurut aturan postfiks. Berikut ini contoh penulisan notasi postfiks : 10 4 + 7 / 2 * 1 2 * 2 + 6 3 + - + Dengan memperjelas operasi antar operand, notasi postfiks di atas juga dapat kita ubah menjadi notasi infiks. Berikut ini langkah-langkahnya : 10 4 + 7 / 2 * 1 2 * 2 + 6 3 + - + 10 4 + 7 / 2 * 1 2 * 2 + 6 3 + - + 10 4 + 7 / 2 * 1 2 * 2 + 6 3 + - + 10 4 + 7 / 2 * 1 2 * 2 + 6 3 + - + 10 + 4 / 7 * 2 + 1 * 2 + 2 6 + 3 Kata kunci: pohon ekspresi, notasi prefiks, notasi postfiks.

1. Pendahuluan Di antara sekian banyak konsep dalam teori graf yang ada, mungkin pohon tree merupakan konsep yang paling penting. Sejak pertama kali digunakan pada 1857 oleh matematikawan Inggris, Arthur Cayley, pohon menjadi salah salah satu pokok kajian intensif. Dalam kehidupan sehari-hari pun sering kita temui penerapan pohon, misalnya untuk menggambarkan silsilah keluarga atau struktur organisasi. Pohon adalah graf tak berarah terhubung yang tidak mengandung sirkuit. Salah satu simpulnya node mendapat perlakuan khusus dan disebut akar root. Tiap simpul menjadi orangtua parent dari simpul anak child, yaitu simpul yang terletak di bawahnya. Simpul yang terletak paling bawah tidak memiliki anak disebut daun leaf. Menurut banyaknya anak pada tiap simpul cabang, pohon terbagi lagi menjadi pohon-pohon n-ary, dengan n adalah anak paling banyak yang dimiliki tiap simpul cabang. Jika tiap simpul cabang pohon n-ary memiliki tepat n buah anak, maka pohon n-ary tersebut dikatakan teratur atau penuh. Gambar 2 Gambar 2 adalah contoh pohon dengan a sebagai akar. Sementara h, i, j, f, c, l, dan m adalah daun dari pohon tersebut. Pohon yang dibahas dalam makalah ini adalah pohon ekspresi, yaitu pohon biner 2-ary dengan daun berupa operand dan simpul dalam termasuk akar berupa operator. 1a Gambar 1 Gambar 1a adalah contoh graf tak- berarah dengan enam simpul v 1, v 2, v 3, v 4, v 5, v 6., Graf tersebut disebut graf tak-berarah karena sisi-sisi yang menghubungkan antar simpul tidak memiliki arah. Sedangkan gambar 1b adalah contoh graf berarah dengan enam simpul v 1, v 2, v 3, v 4, v 5, v 6. Jelas terlihat bahwa sisi-sisi graf berarah memiliki panah penunjuk. 1b Gambar 3 Gambar 3 adalah contoh pohon n-ary dengan nilai n=2 biner. Karena tiap simpul cabang pohon biner di atas memiliki tepat dua anak, maka pohon biner di atas merupakan pohon biner penuh.

T1, T2 : pohon Gambar 4 Gambar 4 adalah contoh pohon ekspresi. Daundaun dari pohon ekspresi merupakan operand, sedangkan simpul cabangnya termasuk akar merupakan operator. Dengan menelusuri pohon ekspresi di atas, notasi prefiks dan postfiks dari pohon tersebut dapat langsung ditentukan. Notasi prefiks : + / * 2 3 2 1 * 5 4 1 Notasi postfiks : 2 3 * 2 1 / 5 4 1 * + 2. Algoritma Pembangun Pohon Ekspresi Algoritma pembangun pohon ekspresi biner menurut notasi yang dibaca dikelompokkan menjadi dua. Algoritma yang membangun pohon ekspresi biner dari notasi prefiks dan algoritma yang membangun pohon ekspresi biner dari notasi postfiks, sementara notasi infiks tidak memiliki algoritma yang dapat langsung mengubahnya menjadi pohon ekspresi biner. 2.1 Algoritma Pembangun Pohon Ekspresi dari Notasi Prefiks Berikut ini suatu prosedur procedure yang membangun sebuah pohon ekspresi dari notasi prefiks yang diberikan, dengan memanfaatkan tumpukan stack. procedure FromPrefiks input P 1, P 2,, P n : elemen prefiks, output T : pohon Membangun pohon ekspresi dari notasi prefiks. Masukan : notasi prefiks, setiap elemennya disimpan di dalam tabel P Keluaran : pohon ekspresi T Deklarasi i : integer S : tumpukan Algoritma for i 1 to n do if P n-i+1 = operand then createnode P n-i+1 T push S T else P n-i+1 = operator pop S T 1 pop S T 2 createtree T 1 T 2 T push S T endif endfor 2.2 Algoritma Pembangun Pohon Eksprsi dari Notasi Postfiks Berikut ini suatu prosedur yang membangun sebuah pohon ekspresi dari notasi postfiks yang diberikan, dengan memanfaatkan tumpukan stack. procedure FromPostfiks input P 1, P 2,, P n : elemen postfiks, output T : pohon Membangun pohon ekspresi dari notasi postfiks. Masukan : notasi postfiks, setiap elemennya disimpan di dalam tabel P Keluaran : pohon ekspresi T Deklarasi i : integer S : tumpukan T1, T2 : pohon Algoritma for i 1 to n do for i 1 to n do if P i = operand then createnode P n-i+1 T push S T else P i = operator pop S T 1 pop S T 2 createtree T 2 T 1 T push S T endif endfor

3. Analisis Algoritma Pembangun Pohon Ekspresi Setelah menetapkan kedua algoritma pembangun pohon ekspresi di bagian 2, pada bagian 3 ini akan dilakukan analisis mendalam terhadap algoritma tersebut. Berikut ini beberapa definisi dan spesifikasi algoritma yang digunakan procedure FromPrefiks dan procedure FromPostfiks : procedure createnode input P : elemen notasi output T : pohon node-nya membuat simpul pohon T dari elemen notasi P procedure push input T : pohon output S : tumpukan stack memasukkan pohon T ke dalam tumpukan S procedure pop input S : tumpukan stack output T : pohon mengeluarkan pohon T dari dalam tumpukan S procedure createtree input T 1 T 2 : pohon output T : pohon membuat pohon T dari T 1 dan T 2 3.1 Analisis procedure FromPrefiks Algoritma pada bagian 2.1 menerima masukan dalam notasi prefiks, dengan n adalah jumlah elemen notasi prefiks jumlah operand + jumlah operator. Cara kerja procedure FromPrefiks adalah dengan memeriksa elemen P n-i+1 dari notasi prefiks. Jika elemen P n-i+1 adalah operand, maka dijalankan createnode, lalu dilanjutkan dengan push sehingga elemen P n-i+1 yang telah diubah menjadi simpul masuk ke dalam Jika elemen P n-i+1 bukan operand operator, maka dijalankan pop sebanyak dua kali untuk mengambil T 1 dan T 2 T 1 adalah hasil pop yang pertama dan T 2 adalah hasil pop yang kedua. Selanjutnya dijalankan createtree dengan T 2 sebagai upapohon kanan dan T 1 sebagai upapohon kiri, pohon T hasil createtree di-push ke dalam Setelah memproses P 1 saat i = 1, maka procedure FromPrefiks selesai. 3.2 Analisis procedure FromPostfiks Algoritma pada bagian 2.2 menerima masukan dalam notasi postfiks, dengan n adalah jumlah elemen notasi postfiks jumlah operand + jumlah operator. Cara kerja procedure FromPostfiks adalah dengan memeriksa elemen P i dari notasi postfiks. Jika elemen P i adalah operand, maka dijalankan createnode, lalu dilanjutkan dengan push sehingga elemen P i yang telah diubah menjadi simpul masuk ke dalam Jika elemen P i bukan operand operator, maka dijalankan pop sebanyak dua kali untuk mengambil T 1 dan T 2 T 1 adalah hasil pop yang pertama dan T 2 adalah hasil pop yang kedua. Selanjutnya dijalankan createtree dengan T 1 sebagai upapohon kanan dan T 2 sebagai upapohon kiri, pohon T hasil createtree di-push ke dalam Setelah memproses P n saat i = n, maka procedure FromPostfiks selesai. 4. Pengujian Algoritma Pembangun Pohon Ekspresi Setelah menentukan algoritma untuk membangun pohon ekspresi, baik dari notasi prefiks maupun notasi postfiks, selanjutnya akan dilakukan suatu uji kasus.

4.1 Pengujian Algoritma Pembangun Pohon Eksprsi dari Notasi Prefiks Untuk membuktikan kebenaran algoritma pembangun pohon ekspresi dari notasi prefiks yang telah ditentukan pada bagian 2.1, akan dibangun sebuah pohon ekspresi dari notasi prefiks yang tersedia. Sebelumnya didefinisikan sebuah pohon ekspresi awal untuk diambil notasi prefiks-nya. iii Baca P 9, P 9 = *. Karena P 9 operator, pop pointer P 10 dan nyatakan sebagai T 1, pop pointer P 11 dan nyatakan sebagai T 2, Buat pohon dengan T 1 sebagai upapohon kiri dan T 2 sebagai upapohon kanan. Push pointer pohon ke dalam iv Baca P 8, P 8 = 8. Karena P 8 operand, buat simpul untuk P 8, push pointer P 8 ke dalam Dengan menelusuri gambar di atas, didapatkan notasi prefiks : * + - / 30 10 5 8 * 4 6 Penyelesaian : i Mulai dari elemen prefiks terakhir, baca P 11, P 11 = 6. Karena P 11 operand, buat simpul untuk P 11, push pointer P 11 ke dalam v Baca P 7, P 7 = 5. Karena P 7 operand, buat simpul untuk P 7, push pointer P 7 ke dalam ii Baca P 10, P 10 = 4. Karena P 10 operand, buat simpul untuk P 10, push pointer P 10 ke dalam vi Baca P 6, P 6 = 10. Karena P 6 operand, buat simpul untuk P 6, push pointer P 6 ke dalam

vii Baca P 5, P 5 = 30. Karena P 5 operand, buat simpul untuk P 5, push pointer P 5 ke dalam x Baca P 2, P 2 = +. Karena P 2 operator, pop pointer pohon sebelumnya dan nyatakan sebagai T 1, pop pointer P 8 dan nyatakan sebagai T 2, Buat pohon dengan T 1 sebagai upapohon kiri dan T 2 sebagai upapohon kanan. Push pointer pohon ke dalam viii Baca P 4, P 4 = /. Karena P 4 operator, pop pointer P 5 dan nyatakan sebagai T 1, pop pointer P 6 dan nyatakan sebagai T 2, Buat pohon dengan T 1 sebagai upapohon kiri dan T 2 sebagai upapohon kanan. Push pointer pohon ke dalam xi Baca P 1, P 1 = *. Karena P 1 operator, pop pointer kedua pohon sebelumnya, nyatakan sebagai T 1 dan T 2, Buat pohon dengan T 1 sebagai upapohon kiri dan T 2 sebagai upapohon kanan. Push pointer pohon T ke dalam ix Baca P 3, P 3 = -. Karena P 3 operator, pop pointer pohon sebelumnya dan nyatakan sebagai T 1, pop pointer P 7 dan nyatakan sebagai T 2, Buat pohon dengan T 1 sebagai upapohon kiri dan T 2 sebagai upapohon kanan. Push pointer pohon ke dalam

Penyelesaian : i Mulai dari elemen postfiks pertama, baca P 1, P 1 = 30. Karena P 1 operand, buat simpul untuk P 1, push pointer P 1 ke dalam Pohon telah berhasil dibangun dari notasi prefiks * + - / 30 10 5 8 * 4 6. Daun-daun dari pohon ekspresi di atas terdiri dari operand 30, 10, 5, 8, 4, dan 6. Pohon di atas sama persis dengan pohon yang didefinisikan di awal bagian 4.1 ini, dengan demikian dapat disimpulkan bahwa algoritma yang diuji berhasil membangun pohon ekspresi biner dari notasi prefiks. 4.2 Pengujian Algoritma Pembangun Pohon Eksprsi dari Notasi Postfiks Untuk membuktikan kebenaran algoritma pembangun pohon ekspresi dari notasi postfiks yang telah ditentukan pada bagian 2.2, akan dibangun sebuah pohon ekspresi dari notasi postfiks yang tersedia. Sebelumnya didefinisikan sebuah pohon ekspresi awal untuk diambil notasi postfiks-nya. ii iii Baca P 2, P 2 = 10. Karena P 2 operand, buat simpul untuk P 2, push pointer P 2 ke dalam Baca P 3, P 3 = /. Karena P 3 operator, pop pointer P 2 dan nyatakan sebagai T 1, pop pointer P 1 dan nyatakan sebagai T 2, Buat pohon dengan T 1 sebagai upapohon kanan dan T 2 sebagai upapohon kiri. Push pointer pohon ke dalam iv Baca P 4, P 4 = 5. Karena P 4 operand, buat simpul untuk P 4, push pointer P 4 ke dalam Dengan menelusuri gambar di atas, didapatkan notasi postfiks : 30 10 / 5 8 + 4 6 * *

v Baca P 5, P 5 = -. Karena P 5 operator, pop pointer P 4 dan nyatakan sebagai T 1, pop pointer pohon sebelum P 4 dan nyatakan sebagai T 2, Buat pohon dengan T 1 sebagai upapohon kanan dan T 2 sebagai upapohon kiri. Push pointer pohon ke dalam viii Baca P 8, P 8 = 4. Karena P 8 operand, buat simpul untuk P 8, push pointer P 8 ke dalam vi Baca P 6, P 6 = 8. Karena P 6 operand, buat simpul untuk P 6, push pointer P 6 ke dalam ix Baca P 9, P 9 = 6. Karena P 9 operand, buat simpul untuk P 9, push pointer P 9 ke dalam vii Baca P 7, P 7 = +. Karena P 7 operator, pop pointer P 6 dan nyatakan sebagai T 1, pop pointer pohon sebelum P 6 dan nyatakan sebagai T 2, Buat pohon dengan T 1 sebagai upapohon kanan dan T 2 sebagai upapohon kiri. Push pointer pohon ke dalam

x xi Baca P 10, P 10 = *. Karena P 10 operator, pop pointer P 9 dan nyatakan sebagai T 1, pop pointer P 8 dan nyatakan sebagai T 2, Buat pohon dengan T 1 sebagai upapohon kanan dan T 2 sebagai upapohon kiri. Push pointer pohon T ke dalam Baca P 11, P 11 = *. Karena P 11 operator, pop pointer kedua pohon sebelumnya, nyatakan sebagai T 1 dan T 2. Buat pohon dengan T 1 sebagai upapohon kanan dan T 2 sebagai upapohon kiri. Push pointer pohon ke dalam 5. Kesimpulan Setelah menganalisis algoritma pembangun pohon ekspresi dari notasi prefiks dan postfiks pada bagian 3, serta mengamati pola pembentukan pohon dari uji kasus pada bagian 4, terlihat jelas persamaan maupun perbedaan dari kedua algoritma tersebut. Persamaan : prosedur procedure bantuan yang digunakan prosedur pembangun pohon ekspresi langkah-langkah dalam algoritma Perbedaan : pada algoritma pembentuk pohon ekspresi dari notasi prefiks, pemeriksaan dimulai dari elemen akhir notasi dan selesai setelah memeriksa elemen awal notasi. Pada algoritma pembentuk pohon ekspresi dari notasi postfiks, pemeriksaan dimulai dari elemen awal notasi dan selesai setelah memeriksa elemen akhir notasi pada algoritma pembentuk pohon ekspresi dari notasi prefiks, T 1 menjadi upapohon kiri dan T 2 menjadi upapohon kanan dari pohon T. Pada algoritma pembentuk pohon ekspresi dari notasi postfiks, T 1 menjadi upapohon kanan dan T 2 menjadi upapohon kiri dari pohon T. Dengan membandingkan persamaan dan perbedaan dari kedua algoritma pembangun pohon ekspresi tersebut, dapat disimpulkan bahwa kemangkusan algoritma pembangun pohon ekspresi dari notasi prefiks dan algoritma pembangun pohon ekspresi dari notasi postfiks relatif sama. Pohon telah berhasil dibangun dari notasi prefiks 30 10 / 5 8 + 4 6 * *. Daun-daun dari pohon ekspresi di atas terdiri dari operand 30, 10, 5, 8, 4, dan 6. Pohon di atas sama persis dengan pohon yang didefinisikan di awal bagian 4.2 ini, dengan demikian dapat disimpulkan bahwa algoritma yang diuji berhasil membangun pohon ekspresi biner dari notasi postfiks.

DAFTAR PUSTAKA [1] Munir, Rinaldi. 2003. Diktat Kuliah IF2153 Matematika Diskrit. Program Studi Teknik Informatika, Institut Teknologi Bandung. [2] Codepedia the developers encyclopedia. 2006. http://www.codepedia.com/1/art_expression s_p1. Tanggal akses: 24 Desember 2006 pukul 20:00. [3] Wikipedia, the free encyclopedia. 2006. http://en.wikipedia.org/wiki/graph_theory. Tanggal akses: 24 Desember 2006 pukul 20:00. [4] Wikipedia, the free encyclopedia. 2006. http://en.wikipedia.org/wiki/polish_notation. Tanggal akses: 24 Desember 2006 pukul 20:00. [5] Wikipedia, the free encyclopedia 2006. http://en.wikipedia.org/wiki/reverse_polish _notation. Tanggal akses: 24 Desember 2006 pukul 20:00.