BAB 2 LANDASAN TEORI. 2.1 Teori graf Definisi graf

dokumen-dokumen yang mirip
METODE PENCARIAN BFS dan DFS

Bab 2 2. Teknik Pencarian

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

Metode Searching. Blind/Un-informed Search. Heuristic/Informed Search. Breadth-First Search (BFS) Depth-First Search (DFS) Hill Climbing A*

CRITICAL PATH. Menggunakan Graph berbobot dan mempunya arah dari Critical Path: simpul asal : 1 simpul tujuan : 5. Graph G. Alternatif

METODE PENCARIAN. Irvanizam Zamanhuri, M.Sc Dr. Taufiq A. Gani, M.EngSc

PENERAPANAN ALGORITMA BFS, DFS, DAN UCS UNTUK MENCARI SOLUSI PADA MASALAH ROMANIA

Graf dan Analisa Algoritma. Pertemuan #01 - Dasar-Dasar Teori Graf Universitas Gunadarma 2017

BAB II LANDASAN TEORI

Dasar-Dasar Teori Graf. Sistem Informasi Universitas Gunadarma 2012/2013

BAB 2 TINJAUAN PUSTAKA

Kecerdasan Buatan. Penyelesaian Masalah dengan Pencarian... Pertemuan 02. Husni

BAB II LANDASAN TEORI

Data Structure GRAPH. Chapter 8. Dahlia Widhyaestoeti, S.Kom

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian

BAB 2 TINJAUAN PUSTAKA

SEARCHING. Blind Search & Heuristic Search

BAB II LANDASAN TEORI

ALGORITMA PENCARIAN (1)

BAB 2 LANDASAN TEORI

Penerapan BFS dan DFS pada Pencarian Solusi

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BAB 2 LANDASAN TEORI. yang tak kosong yang anggotanya disebut vertex, dan E adalah himpunan yang

BAB 2 LANDASAN TEORI

LANDASAN TEORI. Bab Konsep Dasar Graf. Definisi Graf

Pertemuan 11 GRAPH, MATRIK PENYAJIAN GRAPH

BAB 2 LANDASAN TEORI

Tujuan Instruksional

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. Di tengah masyarakat dengan aktivitas yang tinggi, mobilitas menjadi hal yang penting.

METODE PENCARIAN DAN PELACAKAN

PERBANDINGAN METODE PENCARIAN DEPTH-FIRST SEARCH, BREADTH-FIRST SEARCH DAN BEST-FIRST SEARCH PADA PERMAINAN 8-PUZZLE

ALGORITMA PENCARIAN. 1. Iterative-Deepening Depth-First Search (IDS) Nama : Gede Noverdi Indra Wirawan Nim : Kelas : VI A

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

Algoritma Brute-Force dan Greedy dalam Pemrosesan Graf

BAB 2 LANDASAN TEORI. 2.1 Penugasan Sebagai Masalah Matching Bobot Maksimum Dalam Graf Bipartisi Lengkap Berlabel

APLIKASI PEWARNAAN GRAF PADA PENGATURAN LAMPU LALU LINTAS

03/03/2015. Agenda Teknik Dasar Pencarian Teknik Pemecahan Masalah Strategi Pencarian Mendalam Pencarian Heuristik

Metode Pencarian Terdapat banyak metode yang telah diusulkan. Semua metode yang ada dapat dibedakan ke dalam 2 jenis : 1. Pencarian buta / tanpa infor

IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies (Rev.)

Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Sepuluh Nopember Surabaya 2011

Overview. Searching. Deskripsi. Intro Searching 2/4/2012 IF-UTAMA 1

LOGIKA DAN ALGORITMA

TERAPAN SISTEM KECERDASAN BUATAN PADA SISTEM INFORMASI AKADEMIK BERBASIS SMS GATEWAY MENGGUNAKAN METODE BREADTH FIRST SEARCH

Struktur dan Organisasi Data 2 G R A P H

Problem solving by Searching. Materi 3 Kecerdasan Buatan Oleh: Dewi Liliana TI PNJ

Sistem Kecerdasan Buatan. Masalah, Ruang Masalah dan Pencarian Solusi. Masalah. Masalah Sebagai Ruang Keadaan 10/7/2015

Penerapan BFS dan DFS pada Pencarian Solusi

KECERDASAN BUATAN MASALAH, RUANG KEADAAN DAN PENCARIAN ERWIEN TJIPTA WIJAYA, ST., M.KOM

Deteksi Wajah Menggunakan Program Dinamis

Pemanfaatan Directed Acyclic Graph untuk Merepresentasikan Hubungan Antar Data dalam Basis Data

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB I PENDAHULUAN. himpunan bagian bilangan cacah yang disebut label. Pertama kali diperkenalkan

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

GRAF. Graph seperti dimaksud diatas, ditulis sebagai G(E,V).

Denny Setyo R. Masden18.wordpress.com

Artificial Intelegence/ P_2. Eka Yuniar

BAB III METODE PELACAKAN/PENCARIAN

BAB 2 LANDASAN TEORI Graf Definisi Graf

Aplikasi Teori Graf dalam Manajemen Sistem Basis Data Tersebar

METODE BRANCH AND BOUND UNTUK MENEMUKAN SHORTEST PATH

BAB 2 LANDASAN TEORI

Pertemuan 15 REVIEW & QUIS

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

GRAF. V3 e5. V = {v 1, v 2, v 3, v 4 } E = {e 1, e 2, e 3, e 4, e 5 } E = {(v 1,v 2 ), (v 1,v 2 ), (v 1,v 3 ), (v 2,v 3 ), (v 3,v 3 )}

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

G r a f. Pendahuluan. Oleh: Panca Mudjirahardjo. Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut.

memberikan output berupa solusi kumpulan pengetahuan yang ada.

Masalah, Ruang Keadaan dan Pencarian 4/7/2016. fakultas ilmu komputer program studi informatika

BAB III ALGORITMA BRANCH AND BOUND. Algoritma Branch and Bound merupakan metode pencarian di dalam ruang

Aplikasi Graf Berarah dan Pohon Berakar pada Visual Novel Fate/Stay Night

Algoritma Branch & Bound

graph 3/12/2013 struktur data by andi arfian 1

2. TINJAUAN PUSTAKA. Chartrand dan Zhang (2005) yaitu sebagai berikut: himpunan tak kosong dan berhingga dari objek-objek yang disebut titik

Graf dan Pengambilan Rencana Hidup

Bagian 7 ANALISIS DESAIN PADA PEMROGRAMAN BERORIENTASI OBJECT DENGAN UML

TINJAUAN PUSTAKA. Pada bab ini akan diberikan beberapa definisi, istilah istilah yang berhubungan dengan materi

Disain System Berorientasi Objek (Unified Modeling Language) ( Studi Kasus : Sistem Informasi Manajemen Perpustakaan )

UNIVERSITAS GUNADARMA

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. Persoalan lintasan terpanjang (longest path) merupakan persoalan dalam mencari

Penyelesaian N-Puzzle Menggunakan A* dan Iterative Deepening A*

BAB III METODE PENELITIAN

Discrete Mathematics & Its Applications Chapter 10 : Graphs. Fahrul Usman Institut Teknologi Bandung Pengajaran Matematika

NASKAH UJIAN UTAMA. JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

Transkripsi:

2 LNDSN TEORI 2.1 Teori graf 2.1.1 Definisi graf Graf adalah kumpulan dari minimal satu atau lebih simpul (vertex) yang dihubungkan oleh sisi atau busur (edge). Dalam kehidupan sehari-hari, graf banyak diaplikasikan (Suryanaga, 2003) seperti untuk pengaturan arus lalu lintas, jaringan komputer, pembuatan chip, jaringan sosial dan sebagainya. Simpul didalam graf biasanya dilambangkan dengan titik sedangkan busur dilambangkan dengan garis. ontohnya : kota-kota di lambangkan dengan titik dan garis melambangkan jalan yang menghubungkan antar kota. Gambar 2.1 Gambar graf dimana setiap titik mewakili kota-kota dan garis mewakili jalan. Menurut Diestel (2000), sebuah graf G dapat diartikan sebagai himpunan berhingga dan tak kosong dari v dan e yang merupakan himpunan pasangan tak berurut dari unsur-unsur di v, dimana v=vertex dan e=edge. G=(v,e)

8 1 e1 3 e3 e5 4 e2 e4 2 Gambar 2.2 Gambar graf sederhana (G) pada gambar 2.2, G memiliki v={1,2,3,4} dan e={(1,3), (1,2), (1,4), (2,4), (3,4)} atau {e1,e2,e3,e4,e5}. da dua cara merepresentasikan sebuah graf (damchik, 2005) 1. djacency lists Representasi ini secara visual lebih mudah dimengerti, akan tetapi kurang bagus untuk dioperasikan bila vertex yang dimiliki terlalu banyak. iasanya adjacency lists direpresentasikan seperti bentuk array. Gambar 2.3 Gambar kiri merupakan graf (G), gambar kanan merupakan adjacency lists. Kerugian potensial dari representasi adjacency-daftar adalah bahwa tidak ada cara cepat untuk menentukan apakah ada edge diantara dua simpul. 2. djacency matrix Representasi ini baik digunakan untuk representasi graf didalam komputer.

9 Kekurangan dari adjacency lists dapat ditutupi dengan adjacency matrix. djacency matrix adalah matriks dari v x v dimana, Mi,j 1, jika ada edge diantara i dan j 0, jika tidak ada edge diantara i dan j Gambar 2.4 gambar kiri merupakan graf (G), gambar kanan merupakan matriks dari graf(g) 2.1.2 Jenis-jenis graf Menurut Scheinerman dan Ullman (2008), berdasarkan ada atau tidaknya gelang (loop), graf digolongkan menjadi dua, yaitu : a. Graf sederhana (simple graph) Graf yang tidak memiliki loops dan sisi paralel. b. Graf tak-sederhana (unsimple graph/multigraph) Graf yang memiliki loops dan sisi paralel. Menurut Munir (2008), erdasarkan ada atau tidaknya arah, graf digolongkan menjadi dua, yaitu : a. Graf berarah (directed graph) Graf yang memiliki orientasi arah pada sisinya. (v a,v b ) (v b,v a ) Pada simpul (v a,v b ), v a adalah simpul asal sedangkan v b adalah simpul tujuan. b. Graf tak berarah (undirected graph) Graf yang tidak memiliki orientasi arah pada sisinya. (v a,v b ) = (v b,v a )

10 Dalam hal ini tidak terdapat simpul asal maupun simpul tujuan karena bukan merupakan hal yang terlalu diperhatikan. erdasarkan bobotnya, graf juga terbagi menjadi dua, yaitu : a. Graf berbobot Graf yang setiap sisinya memiliki nilai atau harga. Misalnya sisi melambangkan jalan, bobot bisa merupakan panjang jalan dan sebagainya tergantung kebutuhan. b. Graf tak berbobot Graf yang setiap sisinya tidak memiliki nilai atau harga. 2.1.3 Walk dan path Menurut Yulianti (2008), walk dalam graf G adalah sebuah urutan tak nol yang suku-sukunya bergantian antara simpul dan sisi. dimana w = v 0 e 1 v 1 e 2 v 2 e i v i e k v k : 1 i k Panjang dari sebuah walk adalah banyaknya sisi yang dilalui dalam walk tersebut. Sebuah path atau jalur adalah walk dengan semua simpul dalam barisan berbeda. Gambar 2.5 gambar graf (G) e c d b c d b a adalah sebuah walk dengan panjang 7. e c d b a adalah sebuah path dengan panjang 4.

11 erdasarkan hasil diatas maka dapat dinyatakan bahwa setiap simpul walk pasti mengandung simpul path. 2.2 Searching (pencarian) Metode pencarian dapat dibedakan ke dalam dua jenis, yaitu: 1. pecarian buta/tanpa informasi (blind atau un-informed search) 2. pencarian heuristik/dengan informasi (heuristic atau informed search) Menurut Russel dan Norvig (1995), untuk mengukur performansi metode pencarian, terdapat 4 kriteria yang dapat digunakan, yaitu : a. ompleteness : apakah metode tersebut menjamin penemuan solusi jika solusinya memang ada? b. Time complexity : berapa lama waktu yang diperlukan? c. Space complexity : berapa banyak memori yang diperlukan? d. Optimality : apakah metode tersebut menjamin menemukan solusi yang terbaik jika terdapat beberapa solusi berbeda? 2.2.1 Metode Pencarian lind/un-informed Search Metode pencarian blind/un-informed search merupakan metode pencarian tanpa adanya informasi awal yang digunakan dalam proses pencarian Metode-metode yang termasuk kedalam teknik pencarian lind/un- Informed Search, yaitu: a. readth First Search (FS) b. Uniform ost Search (US) c. Depth First Search (DFS) d. Depth-Limited Search (DLS) e. Iterative Deepening Search (IDS) f. i-directional Search (DS)

12 2.2.2 Depth First Search (DFS) Pada metode DFS, pencarian dilakukan pada suatu simpul dalam setiap level dari paling kiri, jika pada level terdalam solusi belum ditemukan, maka pencarian dilanjutkan pada simbul sebelah kanan dan simpul yang kiri dapat dihapus dari memori. Jika pada level yang paling dalam tidak ditemukan solusi, maka pencarian dilanjutkan pada level sebelumnya. Demikian seterusnya sampai ditemukan solusi. Menurut Suyanto (2007), Kelebihan DFS adalah pemakaian memori yang lebih sedikit. DFS hanya menyimpan sekitar bd simpul, di mana b adalah faktor percabangan dan d adalah kedalaman solusi. Jika b = 10 dan d = 3, maka jumlah simpul yang disimpan di memori adalah 1 + 10 + 10 + 10 = 31. Hal ini berbeda jauh dengan readth First Search yang harus menyimpan semua simpul yang pernah dibangkitkan. Pada kasus tersebut, readth First Search harus menyimpan 1 + 10 + 100 + 1000 = 1111 simpul. Kelebihan lainnya adalah jika solusi yang dicari berada pada level yang dalam dan paling kiri, maka DFS akan menemukannya dengan cepat. Sedangkan kelemahan DFS adalah jika pohon yang dibangkitkan mempunyai level yang sangat dalam (tak terhingga), maka tidak ada jaminan menemukan solusi. rtinya DFS tidak complete. Kelemahan lainnya adalah jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka DFS tidak menjamin untuk menemukan solusi yang paling baik artinya DFS tidak optimal.

13 lgoritma DFS: 1. Masukkan simpul akar ke dalam antrian Q. Jika simpul akar = simpul solusi, maka Stop. 2. Jika Q kosong, tidak ada solusi. Stop. 3. mbil simpul v dari kepala (head) antrian. 4. Jika kedalaman simpul v sama dengan batas kedalaman maksimum, kembali ke langkah 2. 5. angkitkan semua anak dari simpul v. Jika v tidak mempunyai anak lagi, kembali ke langkah 2. Tempatkan semua anak dari v di antrian Q. 6. Jika anak dari simpul v adalah simpul tujuan, berarti solusi telah ditemukan, kalau tidak, kembali lagi ke langkah 2. Start with Discovered [,] Explore Discovered [D,E,] Explore D Discovered [H,I,E,] Explore H Finished H Discovered [I,E,] Explore I Finished I,D Discovered [E,] Gambar 2.6 proses algoritma DFS

14 2.3 Unified Modeling Language (UML) Unified Modeling Language (UML) adalah sebuah bahasa yang sudah menjadi standard industri untuk visualisasi, merancang dan mendokumentasikan sistem perangkat lunak (Dharwiyanti, S dan Wahono, S.R., 2003). Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka UML lebih cocok untuk penulisan piranti lunak dalam bahasa berorientasi objek. Unified Modeling Language (UML) bukanlah : 1. ahasa pemrograman visual, tapi bahasa pemodelan visual. 2. Spesifikasi kakas, tetapi spesifikasi bahasa pemodelan. 3. Proses, tetapi yang memungkinkan proses-proses. UML membagi diagram menjadi dua tipe yaitu : 1. Diagram Struktur Diagram ini untuk memvisualisasi, menspesifikasi, membangun dan mendokumentasikan aspek statik dari sistem. Diagram struktur di UML terdiri dari : a. Diagram Kelas (lass diagram) b. Diagram Objek (Object diagram) c. Diagram komponen (omponent Diagram) d. Diagram deployment (Deployment Diagram) 2. Diagram perilaku Diagram ini untuk memvisualisasi, menspesifikasi, membangun dan mendokumentasikan aspek dinamis dari sistem. Diagram struktur di UML terdiri dari :

15 a. Diagram use-case (Use case diagram) b. Diagram sekuen (Sequence diagram) c. Diagram kolaborasi (ollaboration diagram) d. Diagram statechart (Statechart diagram) e. Diagram aktivitas (ctivity diagram)