BAB 2 LANDASAN TEORI

dokumen-dokumen yang mirip
BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI. 2.1 Teori graf Definisi graf

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.

Penggunaan Algoritma Dijkstra dalam Penentuan Lintasan Terpendek Graf

BAB II LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

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

BAB 2 TINJAUAN PUSTAKA

METODE PENCARIAN DAN PELACAKAN

BAB 2 LANDASAN TEORI

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

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BAB III METODE PELACAKAN/PENCARIAN

BAB III ANALISA DAN PERANCANGAN

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

ALGORITMA PENCARIAN (1)

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

memberikan output berupa solusi kumpulan pengetahuan yang ada.

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

Algoritma Brute-Force dan Greedy dalam Pemrosesan Graf

Representasi Graf dalam Jejaring Sosial Facebook

SOLUSI PERMAINAN CHEMICALS DENGAN ALGORITMA RUNUT BALIK

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

IMPLEMENTASI ALGORITMA MINIMAX PADA PERMAINAN TIC-TAC-TOE SKALA 9X9

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian

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 )}

Oleh Lukman Hariadi

BAB 2 LANDASAN TEORI

BAB III METODE PENELITIAN

KECERDASAN BUATAN METODE HEURISTIK / HEURISTIC SEARCH ERWIEN TJIPTA WIJAYA, ST., M.KOM

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

IMPLEMENTASI HIERARCHICAL CLUSTERING DAN BRANCH AND BOUND PADA SIMULASI PENDISTRIBUSIAN PAKET POS

BAB III ANALISA DAN PERANCANGAN

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

Penerapan Algoritma Greedy untuk Memecahkan Masalah Pohon Merentang Minimum

BAB II LANDASAN TEORI

Penggunaan Algoritma Backtracking Untuk Menentukan Keisomorfikan Graf

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

BAB II LANDASAN TEORI

Analisis Beberapa Algoritma dalam Menyelesaikan Pencarian Jalan Terpendek

BAB III ANALISA DAN PERANCANGAN

LANDASAN TEORI. Bab Konsep Dasar Graf. Definisi Graf

BAB IV PERANCANGAN SISTEM

WEBGIS PENCARIAN RUTE TERPENDEK MENGGUNAKAN ALGORITM A STAR (A*) (Studi Kasus: Kota Bontang)

BAB II TINJAUAN PUSTAKA

Pencarian Jalur Terpendek dengan Algoritma Dijkstra

Aplikasi Teori Graf dalam Manajemen Sistem Basis Data Tersebar

BAB II KAJIAN PUSTAKA. Sebuah graf G didefinisikan sebagai pasangan himpunan (V,E), dengan V

KATA PENGANTAR. Maha Esa, yang telah berkenan memelihara dan membimbing penulis, sehingga

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

PENYELESAIAN TRAVELLING SALESMAN PROBLEM DENGAN METODE TABU SEARCH

Simulasi Pencarian Rute Terpendek dengan Metode Algoritma A* (A-Star) Agus Gustriana ( )

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA. yang ditandai dengan saling berhubungan dan mempunyai satu fungsi atau tujuan

BAB III METODOLOGI PENELITIAN. dalam pengumpulan data atau informasi guna memecahkan permasalahan dan

BAB II LANDASAN TEORI

Deteksi Wajah Menggunakan Program Dinamis

Aplikasi Algoritma Dijkstra dalam Pencarian Lintasan Terpendek Graf

BAB II LANDASAN TEORI. definisi, teorema, serta istilah yang diperlukan dalam penelitian ini. Pada bab ini

PENDAHULUAN MODUL I. 1 Teori Graph Pendahuluan Aswad 2013 Blog: 1.

PERNYATAAN PERSETUJUAN PUBLIKASI...

BAB II LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

Pemodelan Berorientasi Objek

PENYELESAIAN TRAVELLING SALESMAN PROBLEM MENGGUNAKAN METODE SIMPLE HILL CLIMBING

Aplikasi Graf dan Pohon Pada Permainan Kantai Collection

BAB I PENDAHULUAN 1-1. Howard. W. Sams & Co.1987, hal 1. 1 Frenzel, L.W. Crash Course In Artifical Intelligence And Expert Systems. 1st Edition.

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISA DAN DESAIN SISTEM

BAB 2 LANDASAN TEORI

PENERAPAN GRAF DAN POHON DALAM SISTEM PERTANDINGAN OLAHRAGA

BAB 3 ANALISIS DAN PERANCANGAN

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

BAB 2 LANDASAN TEORI

HEURISTIC SEARCH. Irvanizam Zamanhuri, M.Sc Dr. Taufiq A. Gani, M.EngSc

BAB II LANDASAN TEORI

Penerapan Algoritma BFS & DFS untuk Routing PCB

BAB III LANDASAN TEORI

BAB II TINJAUAN PUSTAKA. a) Purwadhi (1994) dalam Husein (2006) menyatakan: perangkat keras (hardware), perangkat lunak (software), dan data, serta

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

BAB III ANALISIS DAN DESAIN SISTEM

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI. Algoritma adalah urutan atau deskripsi langkah-langkah untuk memecahkan suatu masalah.

BAB II TINJAUAN PUSTAKA

Aplikasi Shortest Path dengan Menggunakan Graf dalam Kehidupan Sehari-hari

BAB I PENDAHULUAN. dirasakan peranannya, terutama pada sektor sistem komunikasi dan

BAB 2 LANDASAN TEORI

Transkripsi:

BAB 2 LANDASAN TEORI 2.1 Graph Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objekobjek tersebut. Gambar 2.1 merupakan sebuah graf yang menyatakan peta jaringan jalan raya yang menghubungkan sejumlah kota di Provinsi Jawa Tengah (Rinaldi Munir : 2007). Gambar 2.1 Jaringan jalan raya di Provinsi Jawa Tengah Sesungguhnya peta tersebut adalah sebuah graf, yang dalam hal ini kota dinyatakan sebagai bulatan (simpul) sedangkan jalan dinyatakan sabagai garis (sisi). Dengan diberikannya peta tersebut, kita dapat mengetahui apakah ada lintasan jalan antara dua buah kota. 2.1.1 Definisi Graph Graf G didefinisikan sebagai pasangan himpunan (V, E), yang dalam hal ini V = himpunan tidak-kosong dari simpul-simpul (vertices) = { v 1, v 2,..., v n } dan E = himpunan sisi (edges) yang menghubungkan sepasang simpul = {e 1, e 2,..., e n }. Jadi, sebuah graf dimungkinkan tidak mempunyai sisi satu buah pun, tetapi simpulnya harus ada, minimal satu. Graf yang hanya mempunyai satu buah simpul tanpa sebuah sisi pun dinamakan graf trivial (Rinaldi Munir : 2007).

2.1.2 Jenis-jenis Graph Pengelompokan graf dapat dipandang berdasarkan ada tidaknya sisi ganda, berdasarkan jumlah simpul atau berdasarkan orientasi arah pada sisi. Berdasarkan ada tidaknya gelang atau sisi ganda pada suatu graf, maka graf digolongkan menjadi dua jenis yaitu (Rinaldi Munir : 2007) : 1. Graf sederhana (simple graph). Merupakan graf yang tidak mengandung gelang maupun sisi ganda. Pada graf sederhana, sisi adalah pasangan tak-terurut ( unordered pairs ). Jadi, menuliskan sisi (u,v) sama saja dengan (v,u) Gambar 2.2 Graf sederhana Gambar 2.2 adalah graf dengan himpunan simpul V dan himpunan sisi E adalah V = { 1,2,3,4 } dan E = { (1,2), (1,3), (2,3), (2,4), (3,4) }. 2. Graf tak - sederhana (unsimple-graph). Merupakan graf yang mengandung sisi ganda atau gelang dinamakan graf taksederhana (unsimple graph). Ada dua macam graf tak-sederhana, yaitu graf ganda (multigraph) dan graf semu (pseudograph). Graf ganda adalah graf yang mengandung sisi ganda yang menghubungkan sepasang simpul lebih dari dua buah. Dapat diasosisiaikan sebagai pasangan tak-terurut yang sama.

Gambar 2.3 Graf ganda Gambar 2.3 merupakan graf ganda dengan V = { 1, 2, 3, 4 }, E = { (1, 2), (2, 3), (1, 3), (1, 3), (2, 4), (3, 4), (3, 4) } = { e 1, e 2, e 3, e 4, e 5, e 6, e 7 }. Sisi e 3 = (1, 3) dan sisi e 4 = (1, 3) dinamakan sisi-ganda (multiple edges atau pararel edges) karena kedua sisi ini menghubungkan dua buah simpul yang sama, yaitu simpul 1 dan simpul 3. Graf semu adalah graf yang mengandung gelang (loop). Graf semu lebih umum daripada graf ganda, karena sisi pada graf semu dapat terhubung ke dirinya sendiri. Gambar 2.4 Graf semu Gambar 2.4 adalah graf dengan V = { 1, 2, 3, 4 } E = { (1, 2), (2, 3), (1, 3), (1, 3), (2, 4), (3, 4), (3, 4), (3, 3) } = { e 1, e 2, e 3, e 4, e 5, e 6, e 7, e 8 }. Pada sisi e 8 = (3, 3) dinamakan gelang (loop) karena berawal dan berakhir pada simpul yang sama. Berdasarkan jumlah simpul pada suatu graf, maka secara umum graf dapat digolongkan menjadi dua jenis: 1. Graf berhingga (limited graph). Graf berhingga adalah graf yang jumlah simpulnya berhingga. 2. Graf tak-berhingga (unlimited graph) Graf yang jumlah simpulnya tidak berhingga banyaknya disebut graf tak berhingga. Berdasarkan orientasi arah pada sisi, maka secara umum graf dibedakan atas 2 jenis : 1. Graf tak-berarah (undirected graph).

Merupakan graf yang sisinya tidak mempunyai orientasi arah. Urutan pasangan simpul yang dihubungkan oleh sisi tidak diperhatikan. Jadi, (u, v) = (v, u) adalah sisi yang sama. 2. Graf berarah (directed graph atau digraph). Graf yang setiap sisinya diberikan orientasi arah disebut sebagai graf berarah. Pada graf berarah, (u, v) dan (v, u) menyatakan dua buah busur yang berbeda, dengan kata lain (u, v) (v, u). Simpul (u) dinamakan simpul asal dan simpul (v) dinamakan simpul terminal. Pada graf berarah, gelang diperbolehkan, tetapi sisi ganda tidak. Gambar 2.5 Graf berarah Definisi graf dapat diperluas sehingga mencakup graf-ganda berarah (directed multigraph). Pada graf-ganda berarah, gelang dan sisi ganda diperbolehkan ada. Gambar 2.6 Graf-ganda berarah 2.2 Metode Pencarian Ada banyak metode yang dapat digunakan untuk pencarian jalur terdekat pada suatu graf. Metode pencarian tersebut dapat dikelompokkan ke dalam dua jenis, yaitu pencarian

buta/tanpa informasi (blind atau un-informed search) dan pencarian heuristik/dengan informasi (heuristic atau informed search) (Dewi Yusra Aini : 2010). 2.2.1 Pencarian Heuristik Heuristik adalah teknik yang digunakan untuk meningkatkan efisiensi dari proses pencarian. Teknik ini baik diterapkan dalam tujuan yang umum, tapi tidak untuk tujuan yang khusus.heuristik yang baik, dapat memecahkan permasalahan yang berat, seperti pada masalah perjalanan salesman. Sebuah fungsi heuristik mengevaluasi keadaan permasalahan tersendiri dan menentukan bagaimana diperlukan fungsi ini dalam memecahkan suatu permasalahan. Sebuah fungsi heuristik adalah sebuah fungsi yang memetakan keadaan permasalaan, yang mendeskripsikan daya tarik dan digambarkan dalam sebuah angka (Andri Kristanto : 2004). Beberapa metode pencarian yang menggunakan fungsi heuristik dalam mencari solusi, yaitu Generate and test, Hill climbing, dan Best First Search (greedy best first search dan A*) (Dewi Yusra Aini : 2010). 2.2.1.1 Generate and Test (Bangkitkan dan Uji) Generate and Test merupakan penggabungan antara Depth - First Search dengan backtracking. Metode ini hanya melibatkan setiap node dalam ruang pencarian dan pengujian untuk melihat apakah itu simpul tujuan atau bukan. Jika ya, pencarian telah berhasil dan tidak perlu dilanjutkan, jika tidak pindah ke node berikutnya. Metode ini merupakan bentuk sederhana dari brute force search (pencarian lengkap), disebut demikian karena pecarian dilakukan dengan cara hanya melintasi pohon pencarian dan bagaimana mengidentifikasi node awal dan node tujuan, dan pada akhirnya akan memeriksa setiap node di pohon sampai menemukan tujuan (Coppin Ben : 2004 ). Generate-and-Test merupakan prosedur Depth First Search karena solusi harus dibangkitkan secara lengkap sebelum dilakukan test dan juga disebut prosedur backtracking

karena ketika tidak ada lagi simpul yang bisa dibangkitkan pada satu lintasan maka dilakukan backtracking terhadap simpul terdekatnya. Generate and Test memiliki tiga sifat : 1. Bangkitkan suatu solusi yang mungkin. Untuk beberapa permasalahan, pembangkitan ini berarti membangkitkan suatu simpul tertentu atau lintasan tertentu dari keadaan awal. 2. Uji untuk melihat apakah simpul tersebut benar-benar merupakan solusinya dengan cara membandingkan simpul yang dipilih atau simpul akhir suatu lintasan yang dipilih dengan kumpulan tujuan yang dapat diterima atau diharapkan. 3. Jika solusi telah diperoleh maka keluar. Jika tidak maka ulangi kembali langkah pertama. Generate and Test dapat diterapkan pada sejumlah masalah di mana orang memecahkan masalah ketika tidak ada informasi tambahan untuk mencapai solusi. Generate and test juga sering disebut sebagai teknik pencarian buta (Coppin Ben : 2004). Contoh kasus penyelesaian dengan menggunakan Generate and Test yaitu seorang salesman ingin mengunjungi sejumlah n kota. Akan dicari rute terpendek di mana setiap kota hanya boleh dikunjungi tepat 1 kali dan jarak setiap kota sudah diketahui. Misalkan ada 4 kota dengan jarak antara setiap kota seperti terlihat pada gambar berikut: Gambar 2.7 Lintasan Generate and Test

Penyelesaian dengan menggunakan Generate and Test dilakukan dengan membangkitkan solusi-solusi yang mungkin dengan menyusun kota-kota dalam urutan abjad dan membuat pohon pencarian : 1. A-B-C-D 2. A-B-D-C 3. A-C-B-D 4. A-C-D-B, dan seterusnya. Gambar 2.8 Pohon pencarian Generate and Test Misalkan kita mulai dari node A. Kita pilih sebagai keadaan awal adalah lintasan ABCD dengan panjang lintasan = 18. Kemudian kita lakukan backtracking untuk mendapatkan lintasan ABDC dengan panjang lintasan = 19. Lintasan ini kita bandingkan dengan lintasan ABCD, ternyata ABDC > ABCD, sehingga lintasan terpilih adalah ABCD. Kita lakukan lagi backtracking untuk mendapatkan lintasan ACBD =16, ternyata ACBD < ABCD, maka lintasan terpilih sekarang adalah ACBD. Demikian seterusnya hingga ditemukan solusi yang sebenarnya. 2.2.2 Pencarian Buta (Blind Search/Un-informed Search) Dikatakan pencarian buta, karena pada pencarian ini tidak ada informasi awal. Disini hanya akan dibahas dua metode pencarian, yaitu Breadth First Search dan Depth First Search (Dewi Yusra Aini : 2010).

2.2.2.1 Breadth First Search (BFS) Dalam hal ini, simpul simpul yang terdekat dengan simpul awal ( start node ) akan dicari paling awal sehingga urutan pencarianya mempunyai sifat yang horizontal. Algoritma ini tidak akan terperangkap untuk menksplorasi sebuah jalan yang salah. Hal ini berlawanan dengan algoritma depth first search yang mungkin mengikuti jalan tunggal yaitu jalan yang salah dan waktu yang lama (Andri Kristanto : 2004). S A B C D E F H G Gambar 2.9 Tree untuk Breadth First Search 2.2.2.2 Depth First Search (DFS) Depth First Search (DFS) menggunakan struktur data Stack untuk mengingat kemana seharusnya DFS pergi saat ia mencapai suatu simpul tertentu. DFS memiliki aturan tertentu, aturan untuk DFS adalah (Nugroho Adi. 2009).: 1. Jika mungkin, lakukan kunjungan pada simpul-simpul pendamping (adjacent vertex) yang belum pernah dikunjungi, tandai dan masukkan (push) ke Stack. Ketika tidak ada lagi simpul pendamping yang belum dikunjungi. Masuk ke aturan 2. 2. Jika saat melakukan aturan diatas mengalami kesulitan, keluarkan (popped off) simpul dari Stack maka akan sampai ke simpul di bawahnya. Jika simpul dibawahnya bukan simpul pendamping yang belum dikunjungi, keluarkan lagi. Demikian selanjutnya hingga tidak dapat melakukannya lagi dan masuk ke aturan 3.

3. Jika tidak dapat lagi mengikuti aturan 1 dan aturan 2, berarti algoritma DFS telah selesai B F H A C D G I E Gambar 2.10 Lintasan Depth First Seacrh Event Visit A Visit B Visit F Visit H Pop H Pop F Pop B Visit C Pop C Visit D Visit G Visit I Pop I Pop G Pop D Visit E Tabel 2.1 Isi Stack dalam DFS Isi Stack A AB ABF ABFH ABF AB A AC A AD ADG ADGI ADG AD A AE

Pop E A Pop A - FINISH 2.2.3 Backtracking Backtracking adalah cara yang metodologis mencoba beberapa sekuens keputusan, sampai menemukan sekuens yang bekerja. Algoritma backtracking banyak diterapkan untuk program games seperti permainan tic-tac-toe, menemukan jalan keluar dalam sebuah labirin, catur, crossword puzzle, sudoku dan masalah masalah pada bidang kecerdasan buatan (artificial intelligence). Penyelesaian dengan backtracking : 1. Solusi dicari dengan membentuk lintasan dari akar ke daun. Aturan yang dipakai adalah mengikuti Depth - First Search. Simpul simpul yang sudah dilahirkan dinamakan simpul hidup dan simpul hidup yang sedang diperluas dinamakan simpul- E. Simpul dinomori dari atas kebawah sesuai dengan kelahirannya. 2. Jika lintasan yang diperluas yang sedang dibentuk tidak mengarah ke solusi, maka simpul-e tersebut dibunuh sehingga menjadi simpul mati (dead node). Simpul yang sudah mati ini tidak akan diperluas lagi. 3. Jika pembentukan lintasan berakhir dengan simpul mati, maka proses pencarian diteruskan dengan membangkitkan simpul anak lainnya. Bila tidak ada lagi simpul anak yang dibangkitkan, maka pencarian solusi dilanjutkan dengan melakukan backtracking ke simpul hidup terdekat. Selanjutnya simpul ini menjadi simpul-e yang terbaru. 4. Pencarian dihentikan bila telah ditemukan solusi atau tidak ada lagi simpul hidup untuk backtracking.

2.3 Lintasan Terpendek (Shortest Path) Lintasan terpendek (Shortest Path) merupakan lintasan minimum yang diperlukan untuk mencapai suatu titik dari titik tertentu. Dalam pencarian lintasan terpendek, masalah yang dihadapi adalah mancari lintasan mana yang akan dilalui, sehingga didapat lintasan yang paling pendek dari satu verteks ke verteks yang lain. Ada beberapa macam persoalan lintasan terpendek, antara lain: 1. Lintasan terpendek antara dua buah verteks. 2. Lintasan terpendek antara semua pasangan verteks. 3. Lintasan terpendek dari verteks tertentu ke semua verteks yang lain 4. Lintasan terpendek antara dua buah verteks yang melalui beberapa verteks tertentu. Pada persoalan lintasan terpendek, yang menjadi masalah adalah lintasan terpendek antara dua buah verteks, dimana bobot pada setiap edge graph digunakan untuk menyatakan jarak antar kota dalam satuan kilometer (km) (Dewi Yusra Aini : 2010). 2.4 Pengertian Database Kumpulan file file yang mempunyai kaitan antara satu file dengan file yang lain sehingga membentuk satu bangunan data untuk menginformasikan satu perusahaan, instansi dalam batasan terntentu. Bila terdapat file yang tidak dapat dipadukan atau diubungkan dengan file yang lainnya berarti file tersebut bukanla kelompok dari satu database, ia akan dapat membentuk satu database sendiri (Ir. Harianto Kristanto). Beberapa istilah yang digunakan dalam Sistem Basis Data (Database): 1. Entity : merupakan orang,tempat, kejadian tau konsep yang informasinya direkam. Pada bidang Administrasi Siswa misalnya, entity adalah siswa, buku, pembayaran, nilai test. Pada bidang kesehatan, entity adalah pasien,dokter,obat,kamar,diet. 2. Atribute : setiap entity mempunyai atribute atau sebutan untuk mewakili suatu entity. Seorang siswa dapat diliat dari atributenya, misalnya nama, nomor siswa, alamat,

nama orang tua, hobby. Atribute juga disebut sebagai data elemen, data field, data item. 3. Data value (nilai atau isi data) : merupakan data aktual atau informasi yang disimpan pada tiap data elemen atau atribute. Atribute nama karyawan menunjukan tempat dimana informasi nama karyawan disimpan, sedangkan data valuenya adalah Sutrisno, Budiman, merupakan isi data nama karyawan tersebut 4. Record / Tuple : merupakan kumpulan elemen - elemen yang saling berkaitan menginformasikan tentang suatu entity secara lengkap. Satu record mewakili satu data atau informasi tentang seseorang misalnya, nomor karyawan, nama karyawan, alamat, kota, tanggal masuk. 5. File : merupakan kumpulan record-record sejenis yang mempunyai panjang elemen yang sama, atribut yang sama, namun berbeda-beda data valuenya. 6. Database Management System (DBMS) : merupakan kumpulan file yang saling berkaitan bersama dengan program untuk pengelolaannya. Database adalah kumpulan datanya, sedang program pengelolaannya berdiri sendiri dalam satu paket program yang komersial untuk membaca data, mengisi data, menghapus data, melaporkan data dalam database. 2.5 Flow Chart Flowchart adalah bagan yang menggambarkan urutan logika dari suatu prosedur pemecaan masalah. Simbol yang digunkan pada flowcart dapat dilihat pada tabel berikut (Heri Sismoro : 2005). Simbol Tabel 2.2 Simbol-simbol Flowchart Program Fungsi Terminator Menunjukkan awal dan akhir suatu proses. Preparation Memberikan nilai awal pada suatu variabel atau counter

Processing Menunjukan pengolahan aritmatika dan pemindahan data Input/output Menunjukan proses input dan output Decision Mewakili operasi perbandingan logika Predefined Process Proses yang ditulis sebagai subprogram, yaitu prosedur / fungsi Connector Penghubung pada halaman yang sama Off page connector Penghubung pada halaman yang berbeda Flow Lines Arah proses 2.6 UML (Unified Modeling Language) Unified Modeling Language adalah sebuah bahasa graphis yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML merupakan dasar fundamental dari teknik analisis berorientasi objek, berbentuk diagramdiagram yang digunakan untuk menampilkan konstruksi dari sistem berorientasi objek, seperti cetak biru (blue print) suatu pembangunan gedung yang menggambarkan konstruksi bangunan tersebut (Mardiansyah Matondang : 2012). 2.6.1 Use-case Diagram Use-case diagram menggambarkan secara graphis perilaku perangkat lunak. Diagram ini memberikan gambaran menurut perspektif pengguna perangkat lunak. Sebuah use-case diagram mengandung actor, use-case dan interaksi antara actor dengan use-case.

2.6.1.1 Actor Actor merupakan segala sesuatu yang perlu berinteraksi dengan sistem untuk pertukaran informasi. Actor memberikan suatu gambaran jelas tentang apa yang harus dilakukan perangkat lunak. Actor dinotasikan seperti pada Gambar 2.11. Gambar 2.11 Actor 2.6.1.2 Use case Use case merupakan hasil penyusunan kembali lingkup fungsionalitas sistem menjadi banyak pernyataaan fungsionalitas sistem yang lebih kecil. Sebuah use case merepresentasikan satu tujuan tunggal dari sistem dan menggambarkan satu rangkaian kegiatan dan interaksi pengguna untuk mencapai tujuan. Use case menggambarkan fungsi-fungsi sistem dari sudut pandang pengguna eksternal. Diagram ini juga dapat diartikan sebagai urutan transaksi berkaitan yang dilakukan satu actor dengan perangkat lunak.use case dinotasikan seperti pada Gambar 2.12 berikut: Gambar 2.12 Use case 2.6.1.3 Interaksi Actor dengan Use-case Interaksi Actor dengan Use case dinotasikan seperti pada Gambar 2.13.

Gambar 2.13 Use-case Diagram 2.6.2 Activity Diagram Activity diagram memodelkan alur kerja (workflow) sebuah proses bisnis dan urutan aktifitas dalam suatu proses. Diagram ini sangat mirip dengan sebuah flowchart karena kita dapat memodelkan sebuah alur kerja dari satu aktifitas ke aktifitas lainnya atau dari satu aktifitas ke dalam keadaan sesaat (state). Activity diagram menggambarkan aliran aktifitas dari sistem yang sedang dirancang, bagaimana masing-masing aliran berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Diagram ini juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Contoh activity diagram diperlihatkan pada Gambar 2.14. User Memilih tombol Menu Sistem Menampilkan sub Menu User dapat memilih sub Menu User Memilih sub Menu Peta Sistem Menampilkan Peta User dapat melihat peta Gambar 2.14 Activity Diagram Gambar 2.14 Activity Diagram

2.6.3 Sequence Diagram Sequence diagram menjelaskan interaksi objek yang disusun dalam suatu urutan waktu. Diagram ini memperlihatkan tahap demi tahap apa yang harus terjadi untuk menghasilkan sesuatu di dalam use-case. Sequence diagram secara khusus berinteraksi dengan use-case (Mardiansyah Matondang : 2012). Masing-masing sequence diagram menggambarkan aliran pada suatu use case. Sequence diagram dapat dibaca dengan melihat pada objek-objek dan pesan-pesan (message). Objek-objek yang berperan dalam aliran diperlihatkan pada kotak empat persegi panjang yang melintas pada bagian atas diagram. Setiap objek memiliki garis hidup (lifeline), yang digambarkan sebagai garis vertikal di bawah nama suatu objek.notasi sequence diagram dijelaskan seperti Gambar 2.15. Gambar 2.15 Sequence Diagram 2.6.4 Analisis Persyaratan dengan UML Analisis persyaratan meliputi usaha untuk mengetahui apa kemampuan sebuah sistem yang diinginkan pengguna dan pelanggan dari sebuah pembuat perangkat lunak. Analisis ini

dilakukan untuk mendapatkan informasi atau persyaratan cukup untuk mempersiapkan model yang menggambarkan apa yang diperlukan dari perspektif pengguna (Mardiansyah Matondang : 2012). Diagram yang digunakan dalam analisis persyaratan yaitu: 1. Use case diagram yang digunakan untuk menunjukkan fungsionalitas suatu sistem dan bagaimana sistem berinterakasi dengan dunia luar. 2. Activity diagram yang menunjukkan alur kerja (work flow) sebuah proses bisnis dan urutan aktivitas dalam suatu proses. 3. Class diagram yang membantu dalam visualisasi struktur sistem yang mendeskripsikan jenis-jenis objek dalam suatu sistem dan hubungan yang terdapat diantara objek tersebut. 4. Package diagram yang digunakan untuk mengelompokkan elemen-elemen model atau kelas. 2.6.5 Desain dengan UML Saat membuat desain adalah saat untuk berpikir secara teknis dalam menggambarkan diagram-diagram UML. Diagram yang digunakan dalam mendesain sistem yaitu: 1. Class diagram dalam sudut pandang perangkat lunak, untuk menunjukkan class yang terdapat di dalam perangkat lunak dan bagaimana mereka saling berhubungan. 2. Sequence diagram untuk menjelaskan interaksi objek yang disusun dalam suatu urutan waktu. 3. Package diagram yang digunakan untuk mengelompokkan elemen-elemen model atau kelas. Deployment diagram yang menunjukkan arsitektur fisik sebuah system (Mardiansyah Matondang : 2012).