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

dokumen-dokumen yang mirip
Definisi. Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon

Termilogi Pada Pohon Berakar 10 Pohon Berakar Terurut

8/29/2014. Kode MK/ Nama MK. Matematika Diskrit 2 8/29/2014

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

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

TERAPAN POHON BINER 1

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

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

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

Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013

Aplikasi Pohon pada Pohon Binatang (Animal Tree)

Penggunaan Pohon Biner Sebagai Struktur Data untuk Pencarian

Implementasi Skema Pohon Biner yang Persistent dalam Pemrograman Fungsional

Kompleksitas Algoritma dari Algoritma Pembentukan pohon Huffman Code Sederhana

METODE POHON BINER HUFFMAN UNTUK KOMPRESI DATA STRING KARAKTER

Penerapan Pohon Biner dalam Proses Pengamanan Peer to Peer

Pemanfaatan Pohon Biner dalam Pencarian Nama Pengguna pada Situs Jejaring Sosial

PEMAMPATAN DATA DENGAN KODE HUFFMAN (APLIKASI POHON BINER)

BAB IV POHON. Diktat Algoritma dan Struktur Data 2

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

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

P o h o n. Definisi. Oleh: Panca Mudji Rahardjo. Pohon. Adalah graf tak berarah terhubung yang tidak mengandung sirkuit.

Penerapan strategi runut-balik dalam penyelesaian permainan puzzle geser

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

Penerapan Pohon Keputusan pada Pemilihan Rencana Studi Mahasiswa Institut Teknologi Bandung

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

Aplikasi Pohon dan Graf dalam Kaderisasi

Variasi Pohon Pencarian Biner Seimbang

Optimalisasi Algoritma Pencarian Data Memanfaatkan Pohon Biner Terurut

ANALISIS ALGORITMA PEMBANGUN POHON EKSPRESI DARI NOTASI PREFIKS DAN POSTFIKS

Sebuah pewarnaan dari graph G adalah sebuah pemetaan warna-warna ke simpulsimpul dari G sedemikian hingga simpul relasinya mempunyai warna warna yang

BAB VII Tujuan 7.1 Deskripsi dari Binary Tree

Penerapan Pohon Untuk Menyelesaikan Masalah Labirin

Teknik Pembangkitan Kode Huffman

BAB VII POHON BINAR POHON

Algoritma Prim dengan Algoritma Greedy dalam Pohon Merentang Minimum

Aplikasi Pohon Pencarian Biner Seimbang sebagai Memo Table Dynamic Programming

I. PENDAHULUAN. 1.1 Permainan Rush Hour

Aplikasi Pohon Keputusan dalam Pemilihan Penerima Beasiswa UKT

Menyelesaikan Permainan Wordament Menggunakan Algoritma Backtracking

Kode Huffman dan Penggunaannya dalam Kompresi SMS

Penggunaan Pohon Huffman Sebagai Sarana Kompresi Lossless Data

Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum

Penerapan Pohon Keputusan pada Penerimaan Karyawan

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF

Pertemuan 9 STRUKTUR POHON & KUNJUNGAN POHON BINER

Ringkasan mengenai Tree (Dari beberapa referensi lain) Nina Valentika

STRUKTUR POHON & KUNJUNGAN POHON BINER

PENERAPAN GRAF DAN POHON DALAM SISTEM PERTANDINGAN OLAHRAGA

6. TREE / BINARY TREE

Penerapan Pohon Untuk Memanipulasi dan Meritrieve Data

Pemrograman Algoritma Dan Struktur Data

Penerapan Teknik Binary Search Tree Sebagai Alternatif Penyimpanan Data

Penerapan Pengkodean Huffman dalam Pemampatan Data

Implementasi Pohon Keputusan untuk Membangun Jalan Cerita pada Game Engine Unity

Penyelesaian Five Coins Puzzle dan Penghitungan Worst-case Time dengan Pembuatan Pohon Keputusan

I. LAMPIRAN TUGAS. Mata kuliah : Matematika Diskrit Program Studi : Sistem Informasi PA-31 Dosen Pengasuh : Ir. Bahder Djohan, MSc


Pemodelan CNF Parser dengan Memanfaatkan Pohon Biner

Penerapan Pohon dalam Kombinasi Gerakan Karakter Game

Penggunaan Struktur Data Pohon Berakar dalam XML

POHON CARI BINER (Binary Search Tree)

Penerapan Graf dan Pohon pada Klasifikasi Aplikasi di Play Store

Penerapan Pohon dalam Algoritma Expectiminimax untuk Permainan Stokastik

MATEMATIKA DISKRIT II ( 2 SKS)

Graf untuk soal nomor 7

Penerapan Pohon Keputusan dalam Pengambilan Keputusan Terbaik dibidang Pemasaran Produk

Pohon Biner dan Aplikasinya

Aplikasi Pohon dalam Pengambilan Keputusan oleh Sebuah Perusahaan

Pohon dan Aplikasinya dalam Bagan Silsilah Keturunan

Aplikasi Algoritma Traversal Dalam Binary Space Partitioning

BAB II TINJAUAN PUSTAKA

Menyelesaikan Topological Sort Menggunakan Directed Acyclic Graph

I. PENDAHULUAN. Gambar 1. Contoh-contoh graf

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

Tree. Perhatikan pula contoh tree di bawah ini : Level. Level 2. Level 3. Level 4. Level 5

Penerapan Pohon dan Himpunan dalam Klasifikasi Bahasa

KUNJUNGAN PADA POHON BINER

Penerapan Algoritma Branch and Bound pada Penentuan Staffing Organisasi dan Kepanitiaan

Pemampatan dengan Menggunakan Algoritma Huffman Dinamik : Algoritma FGK dan Algoritma Vitter

ALGORITMA DAN STRUKTUR DATA

Aplikasi Pohon dalam Pencarian dan Penempatan Buku di Perpustakaan

BAB 2 LANDASAN TEORI

Penerapan Algoritma BFS dan DFS dalam Mencari Solusi Permainan Rolling Block

OPERASI LOGIKA PADA GENERAL TREE MENGGUNAKAN FUNGSI REKURSIF

Pengaplikasian Pohon dalam Sistem Repository Ubuntu Linux

Aplikasi Pohon dan Logika pada Variasi Persoalan Koin Palsu

Buku Ajar Struktur Data

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

TREE STRUCTURE (Struktur Pohon)

Algoritma dan Struktur Data. Binary Tree & Binary Search Tree (BST)

Studi Algoritma Optimasi dalam Graf Berbobot

Tenia Wahyuningrum, S.Kom. MT Sisilia Thya Safitri, S.T.,M.T.

INFIX, POSTFIX, dan PREFIX Bambang Wahyudi

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

Graf dan Pengambilan Rencana Hidup

Aplikasi Teori Graf dalam Penggunaan Cairan Pendingin pada Proses Manufaktur

APLIKASI GRAF DALAM BISNIS TRAVEL BANDUNG-BOGOR

Tree (Struktur Data) Nisa ul Hafidhoh, MT

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II

Transkripsi:

TUGAS MAKALAH INDIVIDUAL Mata Kuliah : Matematika Diskrit / IF2153 Nama : Dwitiyo Abhirama NIM : 13505013 Institut Teknologi Bandung Desember 2006

Penggunaan Struktur Pohon dalam Informatika Dwitiyo Abhirama / 13505013 E-mail : if15013@students.if.itb.ac.id Program Studi Teknik Informatika, Institut Teknologi Bandung, Jl. Ganesha 10, Bandung. Abstrak Stuktur pohon memiliki sifat-sifat tertentu yang khas. Berbagai sifat pohon tersebut memungkinkan penggunaan struktur pohon yang luas yang mecakup pada berbagai lapangan kehidupan. Salah satu penerapan pohon misalnya dalam bidang informatika. Makalah ini membahas tentang studi dan penggunaan struktur pohon untuk memodelkan dan memanipulasi data dan informasi dalam bidang informatika. Penggunaan struktur pohon tersebut antara lain dalam memodelkan permasalahan yang biasa ditemui dalam bidang informatika. Dengan pemodelan masalah dengan menggunakan struktur pohon manipulasi informasi dan penyelesaian masalah akan menjadi lebih mudah. Kata Kunci : pohon bebas, pohon berakar, upapohon, pohon n-ary, pohon biner, akar, daun, lintasan, simpul, sisi. 1. Pendahuluan. Permasalahan yang dihadapi dalam bidang informatika terkadang cukup rumit. Solusi dari persoalan tersebut terkadang tidak dapat langsung teramati dari masalah yang dihadapi. Pemodelan yang baik untuk merepresentasikan masalah merupakan suatu alternatif langkah yang patut diperhatikan. Struktur pohon dengan segala sifat-sifatnya yang diadaptasi dari teori graf merupakan konsep yang pentig untuk diterapkan dalam memodelkan permasalahan yang dihadapi sehingga dapat dimanipulasi dan diselesaikan dengan baik. Penggunaan pohon antara lain pada pemampatan data, pennganan kondisional, pengevaluasian ekspresi, pencarian elemen, dan pengorganisasian arsip. 2. Teori Pohon. Pohon sebenarnya merupakan suatu bentuk graf. Berdasarkan sudut pandang teori graf pohon adalah termasuk graf yang khusus yaitu seperti yang didefinisikan pada definisi 1 berikut ini. Pohon Bebas. Definisi 1 : Pohon (pohon bebas) adalah graf tak-berarah terhubung yang tidak mengandung siruit. 1

Karena definisi pohon tersebut diacu dari teori graf, maka sebuah pohon dapat mempunyai sebuah simpul tanpa sebuah sisipun. Dengan kata lain, jika G = (V,E) merupakan sebuah pohon, maka V tidak boleh berupa himpunan kosong, tetapi E boleh merupakan himpunan kosong. Berdasarkan definisi tersebut, ada dua sifat penting pada pohon yaitu terhubung dan tidak mengandung sirkuit. Terhubung artinya pada setiap pasang simpul pada pohon terdapat lintasan yang menghubungkan. Tidak mengandung sirkuit berarti tidak terdapat lebih dari satu lintasan yang menghubungkan setiap pasang simpul pada pohon. Selain itu, dapat terlihat bahwa di dalam pohon, jumlah sisinya adalah jumlah simpul dikurangi satu. Terlihat pula bahwa pohon hanya memerlukan dua buah warna untuk mewarnai simpul-simpul di dalam pohon sedemikian rupa sehingga tidak ada dua buah simpul bertetangga yang mempunyai warna sama. Dengan kata lain, ditinjau dari teori pewarnaan graf, maka pohon mempunyai bilangan kromatik sama dengan 2. Definisi pohon yang dimaksud dalam definisi 1 biasa disebut pohon bebas (free tree) untuk membedakannya dengan pohon berakar (rooted tree). Pohon berakar akan dijelaskan kemudian. Sifat-sifat pohon. Sifat-sifat (properties) pohon dapat dirangkum dan dinyatakan dalam teorema 1 berikut ini. Teorema 1 : Misalkan G = (V,E) merupakan graf takberarah sederhana dan jumlah sisinya n. Maka, semua pernyataan berikut ini adalah ekivalen. 1. G adalah pohon. 2. Setiap pasang simpul di dalam G terhubung dengan lintasan tunggal. 3. G terhubung dan mempunyai m = n 1 buah sisi. 4. G tidak mengandung sirkuit dan mempunyai m = n 1 buah sisi. 5. G tidak mengandung sirkuit dan penambahan satu sisi pada graf akan membuat hanya satu sirkuit. 6. G terhumung dan setiap sisinya adalah jembatan (jembatan adalah sisi yang bila dihapus menyebabkan graf terpecah menjadi dua komponen). Pohon Berakar. Pada kebanyakan aplikasi pohon, simpul tertentu diperlakukan sebagai akar (root). Sekali sebuah simpul telah ditetapkan sebagai akar, maka simpul-simpul lainnya dapat dicapai dari akar dengan memberi arah pada sisi pohon yang mengikutinya. Untuk lebih jelasnya perhatikan definisi 2 berikut ini. Definisi 2 : Pohon yang sebuah simpulnya diperlakukan sebagai akar dan sisi-sisinya diberi arah sehingga menjadi graf berarah dinamakan pohon berakar. Akar mempunyai derajat-masuk sama dengan nol dan simpul-simpul lainnya berderajatmasuk sama dengan satu. Simpul yang mempunyai derajat-keluar sama dengan nol disebut daun atau simpul terminal. Simpul yang mempunyai derajat-keluar tidak sama dengan nol disebut simpul dalam atau simpul cabang. Setiap simpul di dalam pohon dapat dicapai dari akar dengan sebuah lintasan tunggal (unik). Sembarang pohon tak-berakar (pohon bebas) dapat diubah menjadi pohon berakar dengan memilih sebuah simpul sebagai akar. Pemilihan simpul yang berbeda menjadi akar akan menghasilkan pohon berakar yang berbeda pula. Sebagai perjanjian, arah sisi di dalam pohon berakar dapat dibuang karena setiap simpul di dalam pohon berakar harus dicapai dari akar, maka lintasan di dalam pohon berakar selalu dari atas ke bawah.berikut ini pada gambar 1 diperlihatkan pembentukan pohon berakar dari sebuah pohon tak-berakar. Pohon berakar berikut memilih simpul a sebagai akar. 2

a e a c d f b c b g d e f g Gambar 1. Terminologi Pohon Berakar. Gambar 1 di atas (gambar pohon berakar dengan simpul a sebagai akar) akan digunakan untuk menjelaskan terminologi pohn berakar. Anak (child) dan Orangtua (parent). Misalkan d adalah sebuah simpul di dalam pohon berakar. Simpul e dikatakan anak simpul d jika ada sisi dari simpul d ke simpul e. Dalam hal ini, d merupakan orangrua dari e. Pada gambar 1, simpul b, e, f, dan g tidak mempunyai anak. Saudara Kandung (sibling). Simpul yang mempunyai orangtua yang sama dikatakan merupakan saudara kandung satu sama lain. Pada gambar 1, simpul b dan c merupakan saudara kandung satu sama lain. Lintasan (path). Lintasan adalah runtunan simpul-simpul dari simpul awal sampai simpul tujuan. Panjang lintasan adalah jumlah sisi yang dilalui dalam suatu lintasan. Keturunan (descendant) dan Leluhur (ancestor). Jika terdapat lintasan dari simpul a ke simpul d di dalam pohon, maka simpul a adalah leluhur dari simpul d, dan d adalah keturunan dari simpul a. Upapohon (subtree). Misalkan c adalah simpul di dalam pohon berakar (T). Yang dimaksud dengan upapohon dengan c sebagai akarnya ialah upagraf T = (V,E) sedemikian rupa sehingga V mengandung c dan semua keturunannya dan E mengandung sisi-sisi dalam semua lintasan yang berasal dari c. Derajat (degree). Derajat sebuah simpul di dalam pohon berakar adalah jumlah anak simpul tersebut. Jadi yang dimaksud adalah derajat-keluar sebuah simpul. Derajat maksimum dari semua simpul merupakan derajat pohon tersebut. Pohon n-ary. Definisi 3 : Pohon berakar yang setiap simpul cabangnya mempunyai paling banyak n buah anak disebut pohon n-ary. Jika n sama dengan 2 pohon tersebut disebut pohon biner (binary tree). Pohon n-ary dikatakan teratur atau penuh (full) jika setiap simpul cabangnya mempunyai tepat n buah anak. Pohon Terurut. Definisi 4 : 3

Pohon berakar yang urutan anak-anaknya penting disebut pohon terurut. Pada pohon biner, pohon yang akarnya adalah anak kiri disebut upapohon kiri (left subtree), sedangkan pohon yang akarnya adalah anak kanan disebut upapohon kanan (right subtree). Pada bagian selanjutnya akan diterngakan penggunaan pohon dalam informatika. Penggunaan tersebut antara lain adalah untuk memodelkan permasalahan sehingga lebih mudah diselesaikan, merepresentasikan dan memanipulasi data/informasi atau arsip, serta untuk merampatkan data. 3. Pohon Kondisional. Kondisional merupakan serangkaian pilihan keputusan yang unik untuk mendapatkan suatu solusi tertentu. Solusi tersebut diambil jika dan hanya jika keputusan yang terkait terpenuhi. Keputusan yang unik berarti tidak saling beririsan. Bentuk kondisional yang paling umum adalah bentuk depend on. Pada bentuk kondisonal depend on, setiap solusi diambil apabila keputusan/syarat untuk mendapatkan solusi terebut terpenuhi. Depend on dapat mengandung terhingga banyaknya keputusan yang menghasilkan masing-masing solusi. Bentuk kondisional tersebut dapat dimodelkan dengan menggunakan struktur pohon kondisional yang akan diuraikan berikut. Struktur pohon kondisional dapat digunakan untuk memodelkan persoalan kondisional yang terdiri dari serangkaian pilihan cabang keputusan yang dapat terpenuhi untuk mengarahkan pada suatu solusi tertentu. Pohon n-ary digunakan untuk memodelkan persoalan pohon kondisional tersebut. Pada kondisional depend on dengan n buah keputusan digunakan pohon n-ary. Setiap daun menunjukkan solusi tertentu dan setiap lintasan menuju simpul terseut merupakan serangkaian keputusan untuk mendapatkan solusi tersebut. Sebagai contoh kita ingin menentukan wujud air berdasarkan kondisi temperatur udara. Pohon keputusan akan menggunakan pohon 3- ary untuk memodelkannya. Pohon keputusan untuk persoalan ini ditunjukkan pada gambar 2. Berdasarkan model yang direpresentasikan pada gambar 2, persoalan wujud air terselesaikan dalam algoritma dalam notasi algoritmik (pseudo-code) berikut ini. Depend on (T) : (T <= 0) : (padat) (0 < T < 0) : (cair) (T >= 0) : (gas) depend on : temperature(t) T <= 0 0 < T < 100 T >= 100 padat cair gas Gambar 2. 4

Jika cabang keputusan hanya terdiri dari dua pilihan keputusan, maka bentuk kondisional depend on menjadi bentuk khusus yang biasa dikenal sebagai bentuk kondisional if-else. Pada bentuk kondisional if-else, jika suatu kondisi tidak termasuk dalam suatu cabang pilihan keputusan, maka kondisi tersebut secara otomatis akan termasuk dalam cabang pilihan keputusan yang satunya lagi. Hal ini tentu saja dikarenakan pilihan keputusan yang satu merupakan komplemen dari pilihan keputusan yang lain. Untuk memodelkan bentuk kondisional if-else digunakan pohon n-ary dengan n sama dengan 2. Pohon ini biasa disebut sebagai pohon biner. Sebagai contoh kita ingin menentukan nilai maksimum di antara dua bilangan a dan b. Tentu saja nilai maksimum tersebut akan sama dengan nilai bilangan a atau akan sama dengan nilai bilangan b. Oleh karena itu, pohon keputusan akan menggunakan pohon biner untuk memodelkannya. Pohon keputusan untuk persoalan ini ditunjukan pada gambar 3. Berdasarkan model yang direpresentasikan pada gambar 3, persoalan menentukan nilai maksimum di antara dua bilangan a dan b terselesaikan dalam algoritma dalam notasi algoritmik (pseudo-code) berikut ini. If (a >= b) Then (a) Else (b) a : b a >= b a b < a b Gambar 3. Pohon biner dapat juga digunakan untuk merepresentasikan permasalahan yang biasa dimodelkan dengan bentuk depend on. Hal ini akan berakibat mengubah bentuk depend on menjadi bentuk if-else bersarang (nested). Sebagai contoh persoalan wujud air di atas. Persoalan tersebut akan direpresentasikan dengan pohon biner sebagaimana akan digambarkan pada gambar 4 berikut ini. Berdasarkan model yang direpresentasikan pada gambar 4, persoalan wujud air (yang dimodelkan dengan pohon biner) terselesaikan dalam algoritma dalam notasi algoritmik (pseudo-code) berikut ini. If (T >= 100) Then (gas) Else ( If (T <= 0) Then (padat) Else (cair) ) 5

Temperature : (T) T >= 100 T < 100 gas Temperature : (T) T <= 0 0 < T < 100 padat cair Gambar 4. 4. Pohon Ekspresi. Pohon ekspresi digunakan untuk mempermudah manipulasi ekspresi aritmatika. Pohon ekspresi ialah pohon biner dengan daun berupa operand dan simpul dalam (termasuk akar) berupa operator. Pohon ekspresi digunakan oleh compiler bahasa tingkat tinggi (high level language) untuk mengevaluasi ekspresi yang ditulis dalam notasi infix, prefix, dan postfix. Dalam notasi infix, operator berada di antara dua buah operand, pada notasi prefix, operator mendahului dua buah operand-nya, dan pada notasi postfix, kedua operand mendahului operator-nya. Penggunaan pohon ekspresi memudahkan pemrogram untuk memanipulasi ekspresi aritmatika. Hal ini misalnya tanda kurung tidak lagi diperlukan bila suatu ekspresi aritmatika telah direpresentasikan sebagai pohon biner Pohon ekspresi erat kaitannya dengan cara mengunjungi pohon biner. Oleh karena itu akan dijelaskan cara mengunjungi pohon biner sebagai berikut. Penelusuran Pohon Biner. Misalkan T adalah pohon biner, akarnya R, upapohon kirinya T1, dan upapohon kanannya T2. Terdapat 3 macam cara penelusuran pohon biner T yaitu sebagai berikut. 1. Preorder i. Kunjungi R. ii. Telusuri T1 secara preorder. iii. Telusuri T2 secara preorder. 2. Inorder i. Telusuri T1 secara inorder. ii. Kunjungi R. iii. Telusuri T2 secara inorder. 3. Postorder i. Telusuri T1 secara postorder. ii. Telusuri T2 secara postorder. iii. Kunjungi R. Terdapat keterkaitan antara ketiga macam cara penulusuran pohon biner dengan ketiga macam penulisan notasi. Keterkaitan itu ialah penelusuran pohon secara preorder, inorder, dan post order masing-masing meghasilkan ekspresi dalam notasi prefix, infix, dan postfix. Sebagai contoh penelusuran pohon ekspresi pada gambar 5 dapat menghasilkan ketiga macam penulisan notasi. Berdasarkan gambar 5 cara penelusuran pohon dan notasi yang terkait adalah sebagai berikut. Preorder : * + a / b c d * e f (prefix) 6

Inorder : a + b / c * d e * f (infix) Postorder : a b c / + d e f * - * (postfix) * + - a / d * b c e f Gambar 5. 5. Pohon Huffman. Pohon Huffman berguna untuk pemampatan data. Penerapan pohon Huffman tidak terlepas dari penggunaan kode awalan. Untuk itu, berikut ini dipaparkan penggunaan kode awalan. Kode Awalan. Kode awalan (prefix code) adalah himpunan kode sedimikian rupa sehingga tidak ada anggota kumpulan yang merupakan awalan dari anggota yang lain. Pemampatan data dilakukan dengan mengkodekan setiap karakter di dalam pesan atau di dalam arsip dengankode yang lebih pendek. Sistem kode yang umum digunakan adalah kode ASCII yang terdiri dari 8 bit biner. Sebagai contoh string APA direpresentasikan menjadi rangkaian bit 010000010101000001000001, representasi 3 huruf itu memerlukan 3 * 8 bit = 24 bit. Untuk meminimumkan bit yang digunakan, sedapat mungkin panjang kode setiap karakter diperpendek terutama untu karakter yang kekerapannya besar. Simbol Kode ASCII Kekerapan A 01000001 2 P 01010000 1 Berikut ini disajikan cara mendapatkan Kode Huffman. 1. Pilih dua simbol yang kekerapannya paling kecil. Kedua simbol tadi dikombinasikan dan diperlakukan sebagai simpul orangtua. Simbol baru ini diperlakukan sebagai simpul baru dan diperhitungkan pada langkah selanjutnya. 2. Selanjutnya, pilih dua simbol berikutnya yang kekerapannya paling kecil termasuk simbol baru. 7

3. Prosedur yang sama dilakukan hingga memperoleh simbol yang sama dengan kombinasi semua simbol pada string awal. Daun pada pohon Huffman menyatakan simbol yang digunakan dalam pesan. Dengan membuat lintasan dari akar ke daun, akan dihasilkan kode untuk setiap simbol. Gambar 6 memodelkan pohon Huffman untuk string APA. Berdasarkan gambar 6, maka hanya diperlukan 3 bit untuk merepresentasikan string APA yaitu 101. AP, 3/3 0 1 P, 1/3 A, 2/3 Gambar 6. 6. Pohon Arsip. Pengorganisasian arsip yang baik merupakan hal yang perlu diperhatikan oleh pelaku informatika. Pengorganisasian arsip dapat dimodelkan dengan pohon arsip yang berupa pohon n-ary. Gambar 7 memberikan contoh sebuah pohon arsip. Pohon tersebut merepresentasikan struktur direktori yang umum digunakan. C:/ My Documents Program Files Windows Gambar 7. Pohon arsip dapat juga digunakan untuk merancang sebuah situs. Dengan menggunakan pohon arsip pengorgasasian informasi dalam situs dapat menjadi lebih baik sehingga meningkatkan kenikmatan pengguna dalam menjelajahi situs tersebut. 7. Pohon Pencarian Biner. Pohon pencarian biner (PPB) merupakan pohon yang penting dalam persoalan yang banyak melakukan operasi pencarian, penyisipan, dan penghapusan elemen. Untuk operasi semacam itu, pohon pencarian biner 8

memiliki kinerja yang lebih baik daripada struktur data lain, yang dalam hal ini waktu pencarian. Simpul pada pohon pencarian biner dapat berupa kunci pada data, atau data itu sendiri (dengan catatan setiap data adalah unik). Kunci harus unik karena kunci adalah nilai yang membedakan setiap simpul dengan simpul yang lainnya sehingga tidak ada dua buah simpul yang mempunyai kunci yang sama. Pohon pencarian biner adalah pohon yang setiap kuncinya diatur dalam suatu urutan tertentu. Ketentuan pengaturan kunci adalah sebagai berikut. Misalkan R adalah akar, dan semua kunci yang tersimpan pada setiap simpul tidak ada yang sama, maka (perhatikan gambar 8) : a. Semua simpul pada upapohon kiri mempunyai kunci lebih kecil dari kunci pada R. b. Semua simpul pada upapohon kanan mempunyai kunci lebih besar dari kunci pada R. R Kunci(T1) < Kunci(R) Kunci(T2) > Kunci(R) T1 T2 Gambar 8. Pohon pencarian biner dimaksudkan untuk memberikan pengaksesan yang cepat terhadap data pada simpul. Pencarian data dilakukan melalui kunci. Pencarian selalu dimulai dari simpul akar. Kunci di simpul akar dibandingkan dengan nilai yang dicari (x). Jika kunci di akar tidak sama dengan x, pencarian dilanjutkan di upapohon kiri atau upapohon kanan, sesuai x lebih kecil dari akar ke upapohon kiri atau x lebih besar dari akar ke upapohon kanan. Pembandingan berlanjut sampai x sama dengan nilai suatu kunci (x terdapat dalam PPB) atau tercapai sebuah daun (Jika kunci pada daun tersebut sama dengan x, maka x terdapat dalam PPB. Jika tidak, x tidak terdapat dalam PPB). 8. Kesimpulan. Kesimpulan yang dapat diambil dari studi dan penggunaan struktur pohon untuk memodelkan dan memanipulasi data dan informasi dalam bidang informatika ini adalah sebagai berikut. 1. Struktur pohon merupakan suatu model yang baik untuk merepsentasikan masalah sehingga lebih mudah untuk ditangani. 2. Pohon kondsional dapat merepresentasikan permasalahan kondisional untuk diselesaikan dengan baik. 3. Pengevaluasian ekspresi aritmatika dapat diselseaikan dengan pohon ekspresi. 4. Perampatan data dapat dilakukan dengan menggunakan pohon Huffman yang berdasarkan kode awalan. 5. Pohon arsip bermanfaat dalam pengorganisasian informasi secara terstruktur dengan rapi. 9

6. Pohon pencarian biner merupakan struktur data yang baik dan efisien dalam hal operasi pencarian elemen. 10

DAFTAR PUSTAKA [1] http://coretmoret.web.id/arc/2004/06/tiga-buah-struktur Tanggal akses : 29 Desember 2006 pukul 19:00 WIB. [2] http://id.wikipedia.org/wiki/pohon_pencarian_biner Tanggal akses : 29 Desember 2006 pukul 19:00 WIB. [3] Liem, Inggriani. (2001). Diktat Kuliah If2181 Struktur Data. Departemen Teknik Informatika, Institut Teknologi Bandung. [4] Mardiyanto, Dwi Aji. Pemrograman Web. Departemen Teknik Informatika, Institut Teknologi Bandung. [5] Munir, Rinaldi. (2004). Diktat Kuliah IF2153 Matematika Diskrit. Departemen Teknik Informatika, Institut Teknologi Bandung. 11