Perangkat Lunak Pemahaman The Lift-To-Front Algorithm untuk Menyelesaikan Problema Maximum Flow



dokumen-dokumen yang mirip
PERANGKAT LUNAK PENGAMBILAN KEPUTUSAN DALAM PENJADWALAN DENGAN METODE RECURSIVE LARGEST FIRST

Prosiding Matematika ISSN:

BAB III ANALISIS DAN PERANCANGAN

PENERAPAN TEORI GRAF UNTUK MENYELESAIKAN MASALAH MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN

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

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISA MASALAH DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN. Perancangan game mencocokkan gambar ini dibuat agar dapat berjalan

Pembuatan Program Pembelajaran Integer Programming Metode Branch and Bound. Frengki

BAB I PENDAHULUAN. 1.1 Latar Belakang. Algoritma dijkstra ditemukan oleh Edger Wybe Dijkstra merupakan salah

MEDIA PEMBELAJARAN PEMBUKTIAN PERNYATAAN PERIHAL HIMPUNAN DENGAN DIAGRAM VENN MENGGUNAKAN ADOBE FLASH PROFESIONAL CS6.

Perbandingan Kompleksitas Algoritma Prim, Algoritma Kruskal, Dan Algoritma Sollin Untuk Menyelesaikan Masalah Minimum Spanning Tree

Pengembangan Aplikasi Encoding dan Decoding Tree Menggunakan Kode Dandelion

PERANCANGAN SISTEM. Gambar 4-1 algoritma First in First Out 4-1.

Perancangan Sistem Informasi Absensi Guru/Staf pada Yayasan Pesantren Modern Adnan

BAB III METODOLOGI PENELITIAN

Perancangan Perangkat Lunak Bantu Bantu Pemahaman Kritografi Menggunakan Metode MMB (MODULAR MULTIPLICATION-BASED BLOCK CIPHER)

BAB III ANALISIS DAN DESAIN SISTEM

PENDEKATAN ALGORITMA PEMROGRAMAN DINAMIK DALAM MENYELESAIKAN PERSOALAN KNAPSACK 0/1 SKRIPSI SRI RAHAYU

PERANCANGAN SISTEM INFORMASI ASURANSI PAKET PELANGGAN DI PANDU SIWI SENTOSA CABANG LODAYA BANDUNG

SISTEM INFORMASI PEGAWAI BERBASIS WEB DENGAN METODE WATERFALL PADA SMA AISYIYAH 1 PALEMBANG

Sistem Informasi Inventory Pada PT. Pos Indonesia (Persero) Kadivre I Medan

Perangkat Lunak Permainan Deal or No Deal

Jurnal Mahajana Informasi, Vol.1 No 2, 2016 e-issn: SIMULASI PENGURUTAN DATA DENGAN ALGORITMA HEAP SORT

BAB III TUJUAN DAN MANFAAT. Informasi Apotek Farmasi Dirumah Sakit Umum Ajibarang dengan peralihan

Rancang Bangun Aplikasi Web Pencarian Rute Terpendek Antar Gedung di Kampus Menggunakan Algoritma Floyd-warshall

Sistem Informasi Penjualan Kredit Mobil pada PT. Mitsubishi Ratu Mobil Sejagat

BAB IV HASIL DAN UJI COBA

BAB IV ANALISIS DAN PERANCANGAN SISTEM. mampu memperkirakan dan merincikan seluruh dokumen ataupun prosedur yang

ANALISIS DAN PERANCANGAN SISTEM INFORMASI BIMBINGAN KONSELING PADA MADRASAH ALIYAH NEGERI PURWOKERTO 2

BAB IV ANALISIS DAN PERANCANGAN SISTEM. hasil analisis ini digambarkan dan didokumentasiakan dengan metodologi

Analisa Dan Perancangan Sistem Informasi Penjualan Pada Toko Souvernir

PERANCANGAN APLIKASI PENGACAKAN CITRA MENGGUNAKAN M-SEQUENCE BERDASARKAN PARAMETER

ANALISIS ALGORITMA BABY-STEP GIANT-STEP DAN POHLIG-HELLMAN UNTUK MENYELESAIKAN MASALAH LOGARITMA DISKRIT SKRIPSI ETTY WINITA ROISKA SIMBOLON

BAB III ANALISIS DAN PERANCANGAN SISTEM. mengacu kepada SDLC model waterfall berdasarkan referensi Ian Sommerville,

BAB III ALGORITMA DAN PERANCANGAN ALGORITMA DAN PERANCANGAN

TOOLS SIMULASI INVENTORI PADA SUPERMARKET

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISA DAN PERANCANGAN

APLIKASI PERANGKAT AJAR PENGELOLAAN DAN PERHITUNGAN EKSPRESI MATEMATIKA DARYANTO

PENYELESAIAN MASALAH ALIRAN MAKSIMUM MENGGUNAKAN EDMONS KARP ALGORITHM

Analisa Dan Perancangan Sistem Informasi Pemasaran Perumahan pada PT. Anugerah Bangun Cipta

Aplikasi Teori Graf dalam Penggunaan Cairan Pendingin pada Proses Manufaktur

SISTEM INFORMASI PERPUSTAKAAN SEKOLAH MENENGAH PERTAMA NEGERI 3 BAYAT

Penerapan Pewarnaan Titik pada Graf dalam Penyusunan Lokasi Duduk Menggunakan Algoritma Greedy Berbantuan Microsoft Visual Basic 6.

Analisa dan Perancangan Sistem Informasi Kependudukan pada Kecamatan Medan Selayang

BAB III ANALISIS DAN PERANCANGAN

PENCARIAN TITIK LOKASI DENGAN PEMANFAATAN ALGORITMA FLOYD-WARSHALL SEBAGAI PERHITUNGAN JARAK TERDEKAT DI INSTITUT TEKNOLOGI BANDUNG

BAB IV ANALISIS DAN PERANCANGAN. permasalahan, kesempatan, hambatan yang terjadi dan kebutuhan-kebutuhan yang

PENGEMBANGAN LONGEST PATH ALGORITHM (LPA) DALAM RANGKA PENCARIAN LINTASAN TERPANJANG PADA GRAF BERSAMBUNG BERARAH BERUNTAI

PENENTUAN ALUR TERPENDEK PENGIRIMAN BARANG PT.KENCANA LINK NUSANTARA MEDAN DENGAN ALGORITMA DJIKSTRA

Model Aplikasi Sistem Penjualan Suku Cadang Pada PT. Kobexindo Tractors Cabang Banjarmasin

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

BAB III ANALISA DAN PERANCANGAN

Simulasi Pengurutan Data Dengan Metode Seleksi

BAB IV HASIL DAN UJI COBA

Sistem Informasi Inventory pada UD. Sinar Bintang Cemerlang

BAB III ANALISA DAN PERANCANGAN. Pada dasarnya perancangan sistem yang dibuat oleh peneliti adalah

ALGORITMA DOUBLE SCALING UNTUK MENYELESAIKAN PERMASALAHAN MINIMUM COST FLOW DAN IMPLEMENTASINYA PADA PROGRAM KOMPUTER

RANCANG BANGUN APLIKASI MARKET BASKET ANALYSIS (MBA) PADA MINIMARKET UD. DIANI DENGAN ALGORITMA CT-PRO


BAB 1 PENDAHULUAN. 1.4 Latar Belakang. Dalam kondisi administrasi Dinas Komunikasi dan Informatika sekarang sangat

SISTEM INFORMASI DATA GURU SE-KABUPATEN KARO PADA DINAS PENDIDIKAN KABUPATEN KARO. Dibuat Oleh: David Super Natanail Ginting 1A112034

BAB III ANALISIS DAN PERANCANGAN

Penggunaan Algoritma Dijkstra dalam Penentuan Lintasan Terpendek Graf

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 4 PERANCANGAN DAN IMPLEMENTASI PROGRAM. dengan struktur yang sederhana dengan algoritma yang rumit, sehingga

Analisis dan Perancangan Sistem Informasi Administrasi pada Yotabakti Marine Hotel Training School Yogyakarta

PEMANFAATAN WINDOWS MANAGEMENT INSTRUMENTATION (WMI) DAN VISUAL BASIC 6 DALAM INVENTARISASI JARINGAN

Pengembangan Aplikasi Encode dan Decode Tree Menggunakan Blob Code

BAB III ANALISIS DAN PERANCANGAN

Rancang Bangun Sistem Informasi Manajemen Aset IT Pada PT. Tirta Investama Plant Citeureup Berbasis Web

MEDIA PEMBELAJARAN STRATEGI ALGORTIMA PADA POKOK BAHASAN POHON MERENTANG MINIMUM DAN PENCARIAN LINTASAN TERPENDEK

Bab 1a Case Tools - Case Studio 2

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

RANCANG BANGUN APLIKASI MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL

PERANCANGAN SISTEM INFORMASI PENOLAKAN BARANG KIRIM DENGAN METODE WATERFALL PADA JASA PENGIRIMAN

Aplikasi Pembelajaran Konversi Ekspresi Matematika Dalam Bahasa Mandarin

PENGEMBANGAN SISTEM INFORMASI LABORATORIUM PADA BALAI BESAR INDUSTRI HASIL PERKEBUNAN MAKASSAR

BAB III ANALISA DAN PERANCANGAN

PERANCANGAN SISTEM INFORMASI PERSURATAN PADA BADAN KEPEGAWAIAN NEGARA JAKARTA

LAYANAN PERMOHONAN PRODUSEN IMPOR BARANG JADI USER MANUAL

APLIKASI PEMBELAJARAN INTEGRAL BERBASIS WEB

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

APLIKASI RENCANA ANGGARAN BIAYA (RAB) BERBASIS JARINGAN CLIENT-SERVER

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


BAB III ANALISA DAN PERANCANGAN

Sistem Informasi Pembelajaran Online pada SMA Bina Warga 1 Palembang

BAB IV ANALISIS DAN PERANCANGAN. kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikannya.

PENGEMBANGAN SHORTEST PATH ALGORITHM (SPA) DALAM RANGKA PENCARIAN LINTASAN TERPENDEK PADA GRAF BERSAMBUNG BERARAH BERUNTAI

BAB IV HASIL DAN PEMBAHASAN

BAB III ANALISA DAN PERANCANGAN

SISTEM INFORMASI PELAYANAN MASYARAKAT PADA KONTRAKTOR LISTRIK CV. INDO PERKASA DI PURWOKERTO


Pemanfaatan Metode Analytical Hierarchy Process Untuk Penentuan Kenaikan Jabatan Karyawan

BAB IV HASIL DAN UJI COBA

Transkripsi:

Perangkat Lunak Pemahaman The Lift-To-Front Algorithm untuk Menyelesaikan Problema Maximum Flow Marto Sihombing, Hansen Tanjaya STMIK IBBI Jl. Sei Deli No. 18 Medan, Telp. 061-4567111 Fax. 061-4527548 e-mail: martosihombing@yahoo.com Abstrak Permasalahan maximum flow network (aliran maksimum) merupakan permasalahan paling sederhana yang berhubungan dengan flow network. Setiap sisi berarah dianggap sebagai saluran yang memiliki kapasitas maksimum dimana material mengalir. Simpul merupakan titik pertemuan dari setiap saluran. Material mengalir melalui simpul tanpa berkumpul di dalamnya. Dengan perkataan lain, skala dari material yang memasuki sebuah simpul harus sama dengan skala dari material yang keluar dari simpul tersebut. Permasalahan ini menanyakan skala maksimum dari material yang dapat dikirimkan dari sumber ke tujuan tanpa melanggar setiap batasan kapasitas pada sistem. Permasalahan ini dapat diselesaikan dengan menggunakan algoritma lift-to-front. Algoritma lift-to-front bekerja dengan menggunakan list dengan memelihara sebuah daftar vertex pada jaringan. Dimulai dari depan, metode meninjau daftar, secara berulang memilih sebuah vertex u yang overflow dan kemudian membuangnya dari daftar, yaitu melakukan operasi dorong dan angkat (push and lift) sampai u tidak memiliki kelebihan positif (positive excess). Saat sebuah vertex diangkat, vertex tersebut dipindahkan ke depan daftar (maka metode ini disebut lift-to-front ) dan metode memulai peninjauannya sekali lagi. Tujuan penelitian ini adalah untuk mempelajari proses kerja dari algoritma Lift-to-Front dalam menyelesaikan permasalahan maximum flow pada flow network. Metode yang digunakan dalam penelitian ini adalah model Waterfall. Perangkat lunak akan menampilkan proses kerja dari algoritma Lift-to-Front secara terperinci tahap demi tahap dalam mencari maximum flow network. Perangkat lunak juga mencatat langkah-langkah kerja algoritma sehingga perangkat lunak dapat digunakan untuk membantu pemahaman mengenai proses kerja dari algoritma Lift-to-Front. Kata kunci : lift to front algorithm, maximum flow. Abstract Problems of the maximum network flow (maximum flow) is the simplest problems associated with network flow. Each side considered trending channel that has a maximum capacity in which material flows. Node is the meeting point on each channel. Material flowing through the node without gathered in it. In other words, the scale of the material that enters a node must be equal to the scale of the material that came out of that node. This issue is looking for answers about the maximum scale of the material that may be sent from source to destination without violating any capacity constraints of the system. This problem can be solved by using algorithms lift-to-front. Algorithm lift-to-front work by using the list to maintain a list of vertices in the network. Starting from the front, the method of reviewing the list, repeatedly choose a vertex u that overflow and then remove it from the list, which is conducting operations "push and lift '(push and lift) until u do not have a positive surplus (positive excess). When a vertex is removed, is transferred to the front vertex list (this method is called 'lift-to-front') and the method will start again from the beginning. The purpose of this research is to study the working process of the algorithm-to-front Lift in solving the maximum flow problem on a flow network. The method used in this study is the Waterfall model. The software will show the working process of the algorithm-to-front Lift in detail step by step in finding the maximum flow network. The software also records the steps the algorithm so that the software can be used to aid understanding of the work process of the algorithm Liftto-Front. Keywords: lift to front algorithm, maximum flow. 1. Pendahuluan Teori graph merupakan pokok bahasan yang sudah tua usianya namun memiliki banyak terapan sampai saat ini. Graph digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut. Representasi visual dari graph adalah dengan menyatakan objek sebagai noktah, bulatan atau titik, sedangkan hubungan antara objek dinyatakan dengan garis. Graph berarah dapat digunakan untuk memodelkan sebuah flow network dan menggunakannya untuk menjawab pertanyaan mengenai arus material. Flow network dapat digunakan untuk memodelkan cairan mengalir melalui pipa,

52 bagian dari suatu benda melalui jalur pemasangan, arus listrik melalui jaringan elektrik, informasi melalui jaringan komunikasi, dan sebagainya. Contoh ilustrasi dari problema flow-network ini adalah sebagai berikut, misalkan terdapat problema pengangkutan dari Lucky Puck Company dengan pabrik di Vancouver sebagai titik sumber dan gudang di Winnipeg sebagai titik tujuan. Barang akan dikirimkan melalui kota-kota penghubung, tetapi hanya c(u, v) peti per hari yang dapat dikirimkan dari kota u ke kota v. Setiap sisi diberi label dengan kapasitasnya. Salah satu algoritma yang dapat digunakan untuk menyelesaikan permasalahan maximum flow pada flow network ini, yaitu algoritma Lift-to-Front. Metode lift-to-front merupakan sebuah variasi atau pengembangan dari metode preflow-push yang memiliki waktu eksekusi sebesar O(V 3 ) dan secara asimtot memiliki waktu eksekusi yang sebagus O(V 2 E). Metode lift-to-front memelihara sebuah daftar vertex pada jaringan. Dimulai dari depan, metode meninjau daftar, secara berulang memilih sebuah vertex u yang overflow dan kemudian membuangnya dari daftar, yaitu melakukan operasi dorong dan angkat (push and lift) sampai u tidak memiliki kelebihan positif (positive excess). Saat sebuah vertex diangkat, vertex tersebut dipindahkan ke depan daftar (maka metode ini disebut lift-to-front ) dan metode memulai peninjauannya sekali lagi. Alasan tersebut yang mendasari ketertarikan peneliti untuk melakukan sebuah penelitian yang diberi judul Perangkat Lunak Pemahaman The Lift-to-front Algorithm untuk Menyelesaikan Problema Maximum Flow 2. Metodologi Penelitian Metodologi penelitian dilakukan dengan mengumpulkan data terlebih dahulu. Proses pengumpulan data dilakukan dengan dua cara yaitu : studi literatur studi lapangan. Studi literatur dilakukan dengan mengumpulkan, mengidentifikasi, dan mengolah data-data tertulis yang berasal dari buku-buku, surat kabar, majalah, tulisan ilmiah lainnya dan situs-situs penunjang yang berkaitan dengan penelitian penulis dan studi lapangan dilakukan mencari bahan penelitian dengan dengan cara wawancara langsung, atau dengan pengamatan terhadap objek dari percobaan ataupun pada objek survei. Data penelitian bersumber dari Data Primer yaitu data yang didapatkan dari pengukuran maupun pengamatan secara langsung di lapangan dan data Sekunder yaitu data yang didapatkan dari sumber lain misalnya instansi pemerintah, swasta maupun perorangan yang telah melakukan pengamatan secara langsung di lapangan. Setelah melakukan mengumpulkan data, penelitian dikembangkan dengan menerapkan model air terjun (Model Waterfall). Model waterfall mengusulkan sebuah pendekatan kepada perkembangan software yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian, dan pemeliharaan. Model ini melingkupi aktivitas aktivitas berikut. Gambar 1. Model Waterfall Keterkaitan dan pengaruh antar tahap ini dikarenakan output sebuah tahap dalam model waterfall merupakan input bagi tahap berikutnya, dengan demikian ketidaksempurnaan hasil pelaksanaan tahap sebelumnya adalah awal ketidaksempurnaan tahap berikutnya. Memperhatikan karakteristik ini, sangat penting bagi tim pengembang ataupun penulis untuk secara bersama-sama melakukan analisa kebutuhan dan desain sistem sesempurna mungkin sebelum masuk ke dalam tahap penulisan kode program. Metode perancangan yang dilakukan terdiri dari perancangan use case dan user interface. Use case digunakan untuk menganalisis dan memodelkan sistem.

53 Rancang graph Tentukan nama dan posisi node Hubungkan node dan tentukan bobot node Simpan data ke file User Simpan graph Buka graph Tentukan nama file Baca data dari file Menampilkan proses kerja dari algoritma Tentukan node sumber dan node tujuan Pilih algoritma yang diinginkan Gambar 3. Diagram Use Case dari Perangkat Lunak Pada gambar di atas, terlihat bahwa use case dari sistem hanya terdiri dari sebuah aktor saja yaitu user (pemakai). Semua data yang diperlukan untuk proses pemahaman akan dimasukkan oleh user ke dalam sistem. Setelah itu, sistem akan melakukan proses validasi terhadap semua data input dan menampilkan proses kerja dari algoritma yang diinginkan apabila semua data input valid. Narasi dari use case dijelaskan pada tabel 2.1. Menu Popup Simpul Baru Hapus Simpul X Hubungkan dari simpul X ke simpul Y Hapus hubungan dari simpul X ke simpul Y Gambar 4. Rancangan Menu Popup Rancangan user interface dari perangkat lunak pemahaman Preflow-push algorithm dan Lift-tofront algorithm ini terdiri dari form berikut : splash screen, input graph, pemahaman Algoritma Preflow-Push, pemahaman algoritma Lift-to-Front dan About. Form Splash Screen merupakan form pembuka (awal) dari perangkat lunak dan berisi nama dan identitas perangkat lunak. Perangkat Lunak Pemahaman The Lift-To-Front (Marto Sihombing)

54 1 2 3 4 Keterangan : 1 : Icon perangkat lunak. 2 : Nama perangkat lunak. 3 : Nama identitas perangkat lunak. 4 : Nama universitas. Gambar 5. Rancangan Form Splash Screen Form Input Graph berfungsi sebagai tempat perancangan graph input. 8 9 10 1 11 2 3 4 5 6 7 12 13 Gambar 6. Rancangan Form Input Graph Keterangan : 1 : Nama perangkat lunak. 2 : Keterangan mengenai metode yang dipakai. 3 : Keterangan grafik. 4 : Combobox Simpul Awal, berisi simpul yang menjadi simpul awal. 5 : Combobox Simpul Tujuan, berisi simpul yang menjadi simpul tujuan. 6 : Tombol Periksa Jalur, berfungsi untuk memeriksa jalur dari simpul awal ke simpul tujuan. 7 : Tombol Lift-to-Front Algorithm, berfungsi untuk membuka form pemahaman algoritma Lift-to- Front. 8 : Tombol Hapus Graf, berfungsi untuk mengosongkan daerah input graf. 9 : Tombol Buka Graf, berfungsi untuk membuka graf yang telah disimpan sebelumnya. 10 : Tombol Simpan Graf, berfungsi untuk menyimpan input graf. 11 : Daerah input graf. 12 : Tombol About, berfungsi untuk membuka form About. 13 : Tombol Keluar, berfungsi untuk menutup form. Form pemahaman Algoritma Lift-to-Front berfungsi untuk menampilkan prosedur kerja dari algoritma Lift-to-Front dimana proses kerjanya akan ditampilkan secara terperinci mulai dari tahapan awal hingga tahapan akhir.

55 1 9 2 3 4 5 6 7 8 Gambar 7. Rancangan Form Pemahaman Algoritma Lift-to-Front Keterangan : 1 : tabel yang berisi simpul graf. 2 : tabel yang berisi hubungan antar simpul graf. 3 : tabel yang berisi algoritma Lift-to-Front. 4 : keterangan eksekusi algoritma. 5 : Tombol Simpan, berfungsi untuk menyimpan keterangan eksekusi. 6 : Tombol Jalan, berfungsi untuk menjalankan algoritma Lift-to-Front. 7 : Tombol Hentikan/Lanjutkan, berfungsi untuk menghentikan untuk sementara atau melanjutkan kembali algoritma Lift-to-Front. 8 : Tombol Keluar, berfungsi untuk menutup form pemahaman. 9 : Daerah tampilan graf. Form About berfungsi untuk menampilkan data-data pribadi mengenai perancang perangkat lunak (programmer). 1 2 3 4 6 Gambar 8. Rancangan Form About Keterangan : 1 : icon perangkat lunak. 2 : nama perangkat lunak. 3 : daerah tampilan data-data penyusun. 4 : tampilan mengenai permasalahan yang diangkat dalam perangkat lunak. 5 : daerah tampilan jurusan dan universitas. 4 : tombol OK, yang berfungsi untuk menutup form. 5 Perangkat Lunak Pemahaman The Lift-To-Front (Marto Sihombing)

56 3 Analisis dan Hasil Sebelum merancang perangkat lunak, maka terlebih dahulu perlu dilakukan analisis persyaratan terhadap perangkat lunak yang mencakup analisis fungsional dan non fungsional. Kemudian, baru dilakukan analisis struktur 3.1 Analisis Persyaratan Analisis persyaratan terhadap sistem mencakup analisis fungsional yang mendeskripsikan fungsionalitas-fungsionalitas yang harus dipenuhi oleh perangkat lunak dan analisis non fungsional yang mendeskripsikan persyaratan non fungsional yang berhubungan dengan kualitas sistem. 3.2 Analisis Fungsional Adapun beberapa persyaratan fungsional yang harus dipenuhi oleh perangkat lunak adalah sebagai berikut: user dapat melakukan perancangan terhadap graph input sesuai dengan keinginan, Graph input hasil rancangan dapat divalidasi untuk mengetahui apakah graph tersebut merupakan graph yang valid atau bukan, yaitu apakah semua node pada graph terhubung dan apakah node tujuan dapat diakses dari node sumber, Graph input hasil rancangan dapat disimpan ke dalam sebuah data file dan dapat dibuka kembali apabila diperlukan, Perangkat lunak mampu menunjukkan langkah-langkah kerja dari algoritma Preflow-push dan Lift-to-front dalam mencari solusi dari problema flow maksimum pada flow network dan Perangkat lunak mampu menampilkan hasil proses perhitungan dari algoritma Preflowpush dan Lift-to-front, yang dapat disimpan ke dalam sebuah file teks. User dapat menghentikan secara sementara (pause) dan melanjutkan kembali (resume) alur kerja algoritma di dalam perangkat lunak, supaya user dapat mengamati dan mengerti alur kerja algoritma. Perangkat lunak akan menampilkan animasi sederhana yang menunjukkan cara kerja dari flow network. 3.3 Analisis Non Fungsional Untuk mengidentifikasikan berbagai persyaratan non-fungsional yang terkait dengan kualitas sistem digunakan Kerangka PIECES sebagai berikut : Performance, perangkat lunak harus dapat menampilkan proses kerja dari algoritma Preflow-push dan Lift-to-front secara terperinci tahapan demi tahapan. Information, perangkat lunak harus mampu menampilkan laporan hasil proses perhitungan dari algoritma Preflow-push dan Lift-to-front. Economics, perangkat lunak dapat dijalankan di semua versi sistem operasi Windows.Control, perangkat lunak dapat menampilkan proses pemahaman dari algoritma Preflow-push dan Lift-to-front apabila semua input yang dimasukkan valid. Ada atau tidaknya solusi tergantung pada graph input hasil rancangan.efficiency, proses simulasi dari algoritma Preflow-push dan Lift-to-front dapat dihentikan dan dilanjutkan kembali sesuai keinginan. Service, perangkat lunak hanya dapat menampilkan proses pemahaman apabila telah dilakukan pengaturan data keadaan awal dari proses pemahaman yaitu graph input yang berupa graph berarah yang berbobot beserta properti-propertinya. 3.4 Hasil Implementasi Berikut ini adalah tampilan dari hasil eksekusi perangkat lunak pemahaman algoritma Preflow- Push dan algoritma Lift-to-Front. 1. Tampilan form Input Graph. Form ini merupakan tempat perancangan graph input. Tampilan form Input Graph dapat dilihat pada gambar 4.21. Gambar 9. Tampilan Form Input Graph

57 2. Tampilan form Pemahaman Algoritma Lift-to-Front : Form ini berfungsi untuk menampilkan proses penentuan maximum flow network dengan menggunakan algoritma Lift-to-Front. Tampilan form Pemahaman Algoritma Lift-to-Front dapat dilihat pada gambar 4.22. Gambar 10. Tampilan Form Pemahaman Algoritma Lift-to-Front Hasil eksekusi perangkat lunak adalah sebagai berikut: Keterangan: ----------- 1) Untuk setiap node i, set h(i) = 0, e(i) = 0 dan h(awal) = jumlah vertex. h(s) = 0, e(s) = 0 h(a) = 0, e(a) = 0 h(b) = 0, e(b) = 0 h(c) = 0, e(c) = 0 h(t) = 0, e(t) = 0 Set h(s) = jumlah simpul pada graf. h(s) = 5 2) Untuk semua hubungan simpul awal, balikkan semua arah panah yang berasal dari simpul awal. - Balikkan arah panah dari S ke A (bobot sisi = 5) Bobot sisi yang akan dibalikkan adalah 5 e(a) = e(a) + 5 = 0 + 5 = 5 - Balikkan arah panah dari S ke B (bobot sisi = 4) Bobot sisi yang akan dibalikkan adalah 4 e(b) = e(b) + 4 = 0 + 4 = 4 3) Bentuk list L. Set u ke awal list L. 4) u = 1, periksa simpul A Tidak ada edge yang dapat di-push, lift simpul A, h(a) = h(a) + 1 = 1 4) u = 1, periksa simpul A Masih terdapat edge yang bisa di-push pada simpul A, yaitu (A,B) - Balikkan arah panah dari A ke B (bobot sisi = 3) Bobot sisi yang akan dibalikkan adalah 3 e(a) = e(a) - 3 = 5-3 = 2 e(b) = e(b) + 3 = 4 + 3 = 7 Perangkat Lunak Pemahaman The Lift-To-Front (Marto Sihombing)

58 Masih terdapat edge yang bisa di-push pada simpul A, yaitu (A,C) - Balikkan arah panah dari A ke C (bobot sisi = 7) Bobot sisi yang akan dibalikkan adalah 2 e(a) = e(a) - 2 = 2-2 = 0 e(c) = e(c) + 2 = 0 + 2 = 2 Tidak terdapat edge lagi yang bisa di-push pada simpul A 5) u = next(u), periksa simpul B 4) u = 2, periksa simpul B Tidak ada edge yang dapat di-push, lift simpul B, h(b) = h(b) + 1 = 1 4) u = 2, periksa simpul B Masih terdapat edge yang bisa di-push pada simpul B, yaitu (B,T) - Balikkan arah panah dari B ke T (bobot sisi = 6) Bobot sisi yang akan dibalikkan adalah 6 e(b) = e(b) - 6 = 7-6 = 1 e(t) = e(t) + 6 = 0 + 6 = 6 Tidak terdapat edge lagi yang bisa di-push pada simpul B Tidak ada edge yang dapat di-push, lift simpul B, h(b) = h(b) + 1 = 2 4) u = 1, periksa simpul B Masih terdapat edge yang bisa di-push pada simpul B, yaitu (B,A) - Balikkan arah panah dari B ke A (bobot sisi = 3) Bobot sisi yang akan dibalikkan adalah 1 e(b) = e(b) - 1 = 1-1 = 0 e(a) = e(a) + 1 = 0 + 1 = 1 Tidak terdapat edge lagi yang bisa di-push pada simpul B 5) u = next(u), periksa simpul A 4) u = 2, periksa simpul A Masih terdapat edge yang bisa di-push pada simpul A, yaitu (A,C) - Balikkan arah panah dari A ke C (bobot sisi = 5) Bobot sisi yang akan dibalikkan adalah 1 e(a) = e(a) - 1 = 1-1 = 0 e(c) = e(c) + 1 = 2 + 1 = 3 Tidak terdapat edge lagi yang bisa di-push pada simpul A 5) u = next(u), periksa simpul C 4) u = 3, periksa simpul C Tidak ada edge yang dapat di-push, lift simpul C,

59 h(c) = h(c) + 1 = 1 4) u = 3, periksa simpul C Masih terdapat edge yang bisa di-push pada simpul C, yaitu (C,T) - Balikkan arah panah dari C ke T (bobot sisi = 3) Bobot sisi yang akan dibalikkan adalah 3 e(c) = e(c) - 3 = 3-3 = 0 e(t) = e(t) + 3 = 6 + 3 = 9 Tidak terdapat edge lagi yang bisa di-push pada simpul C 5) u = next(u), periksa simpul Semua simpul e sudah 0, maka graf maximum flow network sudah diperoleh. 4. Kesimpulan dan Saran Setelah menyelesaikan penelitian ini, penulis menarik beberapa kesimpulan bahwa perangkat lunak mampu menampilkan proses kerja dari algoritma Lift-to-Front secara terperinci tahap demi tahap sehingga perangkat lunak dapat digunakan untuk membantu pemahaman atas proses kerja dari algoritma Lift-to-Front dalam mencari maximum flow network, perangkat lunak ini dapat diimplementasikan dalam menyelesaikan berbagai masalah yang berhubungan dengan maximum flow network, seperti aliran arus atau aliran air dalam pipa / saluran, pemilihan simpul pada algoritma Lift-to-Front lebih terstruktur dengan menggunakan List, sehingga algoritma tersebut lebih cepat dalam menghasilkan graf solusi. Untuk pengembangan perangkat lunak lebih lanjutpertimbangkan beberapa saran berikut : menambahkan algoritma maximum flow network yang lain sehingga dapat dilakukan perbandingan algoritma mana yang lebih baikdan perangkat lunak dapat dikembangkan lebih lanjut dengan menerapkan algoritma Lift-to- Front untuk menyelesaikan permasalahan aliran arus atau aliran air dalam pipa serta permasalahan maximum flow network lainnya. Daftar Pustaka [1] Cormen H. Leiserson E. Rivest L. Introduction to Algorithms. Mc Graw Hill Book Company. 1990. [2] Hariyanto B. Struktur Data. Edisi-2. Bandung: Informatika. 2003. [3] Munir R. Matematika Diskrit. Bandung: Informatika. 2005. [4] Munir R. Lidia L. Algoritma dan Pemrograman. Edisi Ke-2. 2002. [5] Putra R. The Best Source Code Visual Basic. Jakarta : PT. Elex Media Komputindo. 2005. [6] Ramadhan A. 36 Jam Belajar Komputer Visual Basic 6.0. Jakarta: PT. Elex Media Komputindo. 2004. [7] Sommerville I. Software Engineering. Fourth Edition. 1996. [8] Flow network - Wikipedia, the free encyclop Perangkat Lunak Pemahaman The Lift-To-Front (Marto Sihombing)

60