• Tidak ada hasil yang ditemukan

Penerapan Algoritma Maximum-Flow Dalam Optimasi Volume Air Pada Pipa S-1 Ilmu Komputer USU

N/A
N/A
Protected

Academic year: 2016

Membagikan "Penerapan Algoritma Maximum-Flow Dalam Optimasi Volume Air Pada Pipa S-1 Ilmu Komputer USU"

Copied!
111
0
0

Teks penuh

(1)

SKRIPSI

NURUL HIKMAH NASUTION

101401009

PROGRAM STUDI S-1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(2)

PENERAPAN ALGORITMA MAXIMUM-FLOW DALAM

OPTIMASI VOLUME AIR PADA PIPA S-1 ILMU

KOMPUTER USU

SKRIPSI

Diajukan Untuk Melengkapi Tugas Dan Memenuhi Syarat Mencapai

Ijazah Sarjanah Komputer

NURUL HIKMAH NASUTION

101401009

PROGRAM STUDI S-1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : PENERAPAN ALGORITMA MAXIMUM-FLOW DALAM OPTIMASI VOLUME AIR PADA PIPA

S-1 ILMU KOMPUTER USU. Kategori : SKRIPSI

Nama : NURUL HIKMAH NASUTION Nomor Induk Mahasiswa : 101401009

Program Studi : S-1 ILMU KOMPUTER Departemen : ILMU KOMPUTER

Fakultas : FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

Komisi Pembimbing:

Dosen PembimbingII Dosen Pembimbing I

M.Andri Budiman, ST, M Comp.Sc.MEM Prof. Dr. Muhammad Zarlis NIP. 197510082008011011 NIP. 195707011986011003

Diketahui/Disetujuioleh

Program Studi S1 Ilmu Komputer Ketua,

(4)

PERNYATAAN

PENERAPAN ALGORITMA

MAXIMUM-FLOW

DALAM

OPTIMASI VOLUME AIR PADA ALIRAN PIPA S-1 ILMU

KOMPUTER USU.

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Januari 2015

(5)

PENGHARGAAN

Puji syukur kehadirat Allah SWT yang telah memberikan Rahmat dan Hidayah kepada penulis sehingga penulis dapat menyelesaikan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S-1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara.

Dalam penulisan ini tidak lupa penulis mengucapkan terima kasih kepada pihak-pihak yang telah banyak memberi motivasi hingga pada akhirnya penulis mampu menyelesaikan tugas akhir ini dengan baik. Oleh karena itu penulis mengucapkan banyak terima kasih kepada :

1. Allah SWT segala puji bagi-NYA yang kalau sudah Berkehendak cukup bagi-NYA mengatakan jadi(Kun) maka jadilah(Fayakun).Sholawat dan salam untuk Nabi Muhammad SAW agar menjadi do’a supaya semua bisa tetap istiqomah.

2. Ayahanda Drs.Abdul Rahman Nst, MM dan Ibunda Jumilawati MK S,pdI yang menjadi motivasi penulis untuk sukses dan selalu memberikan dukungan baik materi maupun non-materi,perhatian serta doa tanpa henti kepada penulis.

3. Bapak Prof.Dr.dr. Syahril Pasaribu, DTM&H, MSc(CTM), Sp.A(K) selaku Rektor Universitas Sumatera Utara.

4. Bapak Prof. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

5. Bapak Dr.Poltak Sihombing,M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.

6. Ibu Maya Silvi Lydia,B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.

(6)

8. Bapak M. Andri B, ST,M.Comp.Sc,MEM selaku Dosen Pembimbing II yang telah banyak meluangkan waktunya dalam memberikan masukkan-masukkan kepada penulis.

9. Bapak Dr.Poltak Sihombing,M.Kom selaku dosen Penguji I yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.

10.Ibu Dian Rachmawati,S.Si,M.Kom selaku dosen Penguji II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.

11.Semua dosen serta pegawai di Program Studi S1 Ilmu Komputer Fasilkom-TI USU.

12.Abangda tercinta Akbar Syahdan Nst , Adik tercinta Ahmad Yahya Usman Nst, Fajar Rahmah Nst, Khairul Ansyor Nst, dan Amin firmansyah Nst yang selalu mendoakan penulis.

13.Abang Heryprastia, Muhammad irfan, Azwar Ammar, Arif Julyardi, Muhammad Al-gozali, kakak Novita sari dan kakak santi. yang selalu memberikan saran serta motivasi dalam penulisan tugas akhir ini kepada penulis.

14.Sahabat tercintaku Muflah Hulhusnah, Amalia Chairy, Popy Tania, Leni mayasari Lubis, lizya arie syaela purba, Dina nasution, Asnizar, Nazria, Anugrah Bagus susilo, Nurhayati yang selalu memberikan semangat kepada penulis.

15.Teman-teman Stambuk 2010 (Kom-A&B) yang telah memberikan semangat kepada penulis.

16.Teman-teman pengurus KPLI-Medan, RTIK-Sumut, yang telah memberikan semangat kepada penulis.

Penulis menyadari bahwa penulisan tugas akhir ini masih banyak keterbatasan dan kekurangan Untuk itu kritik serta saran yang sifatnya membangun sangat penulis harapkan.Akhirnya penulis ucapkan semoga tugas akhir ini dapat berguna bagi pembaca dan bagi penulis khususnya.

Medan, Januari 2015

(7)

ABSTRAK

Flow-network adalah maximum flow problem . Secara sederhana, Maximum-flow problem

dapat di deskripsikan sebagai masalah pencarian untuk mencari arus maximum yang dapat mengalir pada sebuah network yang hanya memiliki satu source dan sink. Flow-network sering digunakan untuk memodelkan sistem lalu lintas, suatu sistem yang sering menjadi masalah utama dalam kehidupan, terutama di kota besar. Model aliran maksimum mempunyai tujuan untuk memaksimalkan jumlah arus yang melewati Aliran Pipa Air dalam sebuah sistem Aliran Air. Hal ini tentunya sangat umum terjadi pada bidang transportasi, produksi, komunikasi, dan distribusi aplikasi masalah aliran maksimum yang akan dibahas dalam skripsi ini adalah Aliran Air S-1 Ilmu Komputer USU. Serta memperoleh aliran maximum dengan menggunakan Algoritma Maximum-Flow pada Pada Aliran Pipa Air S-1 Ilmu Komputer USU. Dan mengetahui hasil dari pencarian aliran maximum dengan menggunakan algoritma maximum-flow.

Kata kunci: Volume Air, Graf, Network Flow, maximum-flow, bahasa pemerograman

(8)

APPLICATION ALGORITHM MAXIMUM-FLOW IN

OPTIMIZATION THE FLOW OF WATER PIPE S-1

USU COMPUTER SCIENCE

ABSTRACT

Flow-network is maximum flow problem, In a simple Maximum-flow problem can be

described as a search problem to find flow maximum that can flow in a network which

has only one source and the sink. Flow-network often used to model traffic system, a

system that often a major issue in the life, Especially in the city

big. Maximum flow model has the objective to maximize the amount of current passing

through Water Pipe Flow in of a Water Flow system. certainly this is very common in

the field of transport, production, communication, and distribution applications the

maximum flow problem which will be discussed essay in this Water Flow S-1 USU

Computer Science. And undestand result of from search flow maximum with using

algorithm maximum-flow.

Keywords : Volime Water. Graf, Network Flow, Maximum-Flow, Java

(9)

DAFTAR ISI

PERSETUJUAN... ii

PERNYATAAN ... iii

PENGHARGAAN ... iv

ABSTRAK ... vi

ABSTRACT ... vii

DAFTAR ISI………. viii

DAFTAR TABEL ... x

DAFTAR GAMBAR………..……xvi

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang ... 2

1.2 Rumusan Masalah ... 3

1.3 Batasan Masalah... 3

1.4 Tujuan Penelitian ... 3

1.5 Manfaat Penelitian... 3

1.6 Metodologi Penelitian ... 4

1.7 Sistematika Penulisan ... 4

BAB 2 TINJAUAN PUSTAKA ... 5

2.1 Teori Graf ... 5

2.1.1 Defenisi Graf ... 8

2.1.2 Graf Berbobot... 8

2.1.3 Representasi Graf Pada Komputer ………..8

2.2 Jenis-Jenis Graf ... 10

2.3 Network- Flow ... 11

2.4 Maximum-Flow Problem ... 13

2.5 Contoh Aplikasi Maximum-Flow Problem ... 16

2.6 Model Aliran Maximum (Maximum-Flow) ... 16

2.7 Prosedur Maximum-Flow ... 17

2.8 Aliran Maximum ... 17

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 23

3.1 Analisis Sistem ... 24

3.1.1 Analisis Masalah ... 24

3.1.2 Analisis Kebutuhan Sistem ... 25

3.1.2.1 Persyaratan Fungsional... 25

3.1.2.2 Persyaratan Non-Fungsional ... 25

3.1.3 Pemodelan ... 26

(10)

3.1.3.2 Activity Diagram ... 27

3.1.3.3 Sequence Diagram ... 29

3.2 Perancangan ... 29

3.2.1 Flowchart Sistem ... 29

3.2.2 Pseudocode Algoritma Maximum-Flow ... 31

3.3 Perancangan Sistem ... 32

3.3.1 Menu Awal ... 32

3.3.2 Menu Utama ... 33

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM... 35

4.1 Implementasi Sistem ... 35

4.1.1 Form Menu Awal ... 36

4.1.2 Form Upload Graf ... 37

4.1.3 Form Upload Graf Selanjutnya ... 38

4.1.4 Form Tampilan Hasil Upload Graf ... 39

4.1.5 Form Tampilan Perhitungan U, V, W, X, Y Setiap Iterasi ... 40

4.1.6 Form Tampilan Menu Log Out ... 41

4.2 Pengujian ... 42

4.2.1 Pengujian Implementasi Maximum-Flow ... 42

4.2.2 Pengujian Hasil Akhir Maximum-Flow ... 46

BAB 5 KESIMPULAN DAN SARAN ... 59

Kesimpulan ... 59

Saran ... 59

DAFTAR PUSTAKA

(11)

Daftar Gambar

Gambar 2. 1 Graf (V,E) ... 6

Gambar 2.2 Graf G ... 7

Gambar 2.3 Graf Berbobot ... 8

Gambar 2.4 Diagram Dan Matriks Keterhubungan Graf G ... 9

Gambar 2.5 Graf Berarah, (B) Graf-Ganda Berarah ... 11

Gambar 2.6 Network-Flow.. ... 11

Gambar 2.7 Maximum-Flow Pada Sebuah Flow-Network ... 14

Gambar 3.1 Ilustrasi Maximum Aliran Pipa Air ... 23

Gambar 3.2 Diagram Ishikawa Untuk Analisis Permasalahan Sistem ... 24

Gambar 3.3 Use-Case Diagram Pada Sistem ... 27

Gambar 3.4 Activity Diagram Pada Sistem ... 27

Gambar 3.5 Sequence Diagram Pada Sistem ... 29

Gambar 3.6 Flowchart Sistem ... 30

Gambar 3.8 Menu Awal ... 32

Gambar 3.9 Menu Utama ... 33

Gambar 4.1 Form Menu Awal ... 36

Gambar 4.2 Form Upload Graf ... 37

Gambar 4.3 Form Upload Graf Selanjutnya ... 38

Gambar 4.4 Form Tampilan Hasil Upload Graf ... 39

Gambar 4.5 Form Tampilan Perhitungan U,V,W,X,Y Pada Iterasi ... 40

Gambar 4.6 Form Tampilan Menu Log Out ... 41

Tabel 3.7 Pseudocode Algoritma Maximum-Flow ... 3

(12)

ABSTRAK

Flow-network adalah maximum flow problem . Secara sederhana, Maximum-flow problem

dapat di deskripsikan sebagai masalah pencarian untuk mencari arus maximum yang dapat mengalir pada sebuah network yang hanya memiliki satu source dan sink. Flow-network sering digunakan untuk memodelkan sistem lalu lintas, suatu sistem yang sering menjadi masalah utama dalam kehidupan, terutama di kota besar. Model aliran maksimum mempunyai tujuan untuk memaksimalkan jumlah arus yang melewati Aliran Pipa Air dalam sebuah sistem Aliran Air. Hal ini tentunya sangat umum terjadi pada bidang transportasi, produksi, komunikasi, dan distribusi aplikasi masalah aliran maksimum yang akan dibahas dalam skripsi ini adalah Aliran Air S-1 Ilmu Komputer USU. Serta memperoleh aliran maximum dengan menggunakan Algoritma Maximum-Flow pada Pada Aliran Pipa Air S-1 Ilmu Komputer USU. Dan mengetahui hasil dari pencarian aliran maximum dengan menggunakan algoritma maximum-flow.

Kata kunci: Volume Air, Graf, Network Flow, maximum-flow, bahasa pemerograman

(13)

APPLICATION ALGORITHM MAXIMUM-FLOW IN

OPTIMIZATION THE FLOW OF WATER PIPE S-1

USU COMPUTER SCIENCE

ABSTRACT

Flow-network is maximum flow problem, In a simple Maximum-flow problem can be

described as a search problem to find flow maximum that can flow in a network which

has only one source and the sink. Flow-network often used to model traffic system, a

system that often a major issue in the life, Especially in the city

big. Maximum flow model has the objective to maximize the amount of current passing

through Water Pipe Flow in of a Water Flow system. certainly this is very common in

the field of transport, production, communication, and distribution applications the

maximum flow problem which will be discussed essay in this Water Flow S-1 USU

Computer Science. And undestand result of from search flow maximum with using

algorithm maximum-flow.

Keywords : Volime Water. Graf, Network Flow, Maximum-Flow, Java

(14)

BAB 1

PENDAHULUAN

1.1Latar Belakang

Flow-Network ini memilik banyak aplikasi dalam kehidupan sehari-hari. Flow-Network sering digunakan untuk memodelkan sistem lalu lintas, suatu sistem yang sering menjadi masalah utama dalam kehidupan, terutama di kota besar. Salah satu masalah yang sering muncul dalam Flow-Network adalah Maximum-Flow Problem. Secara sederhana, Maximum-Flow Problem dapat dideskripsikan sebagai masalah pencarian untuk mencari arus Maximum yang dapat mengalir pada sebuah Network

yang hanya memiliki satu source dan sink.

(15)

Dan yang akan mengalir sesuai dengan arah lebih rendah atau tinggat pada pipa yang lebih tinggi. Untuk daerah kampus pada umumnya air yang dialiri masuk ke dalam saluran-saluran pipa buatan yang mengalirkan air masuk ke dalam masing-masing pipa bak kamar mandi dan wastafel. Kasus-kasus kelancaran air pada aliran pipa air di kampus S-1 Ilmu Komputer USU yang memiliki beberapa masalah sepenuhnya bergantung pada kondisi pipa air yang berada di kampus, karena adanya bangunan-bangunan yang menghalangi arah aliran air. Aliran yang terjadi berubah arah karena membentur bangunan dan mengakibatkan arah aliran memantul atau berbelok baik ke kiri maupun ke kanan pada aliran pipa air pada kampus (Loebis, 1992).

Sebuah model matematis telah dikembangkan sejak dua dekade yang lalu untuk melakukan analisa spasial terhadap aliran air (steady flow) pada saluran. Akan tetapi model matematis tersebut membutuhkan banyak persamaan matematis yang sangat kompleks untuk melakukan penelitian dibidang drainase tetapi dipenelitian ini tidak dibahas tentang drainase pada aliran-aliran diluar kondisi kampus, melainkan hanya membahas tentang bagaimana mencari aliran maximum pada aliran pipa air S-1 Ilmu Komputer USU untuk mengetahui kapasitas maximum-nya setiap pipa. Salah satu model lain yang juga seringkali digunakan pada proyek modernisasi sistem pengairan adalah simulasi aliran air yang(unsteady flow) pada saluran terbuka (Gartrell,1993).

Kelemahan model tersebut adalah pengguna perlu memahami dasar dari sistem yang akan dimodelkan serta mempunyai cukup waktu dan kemampuan untuk menetapkan apakah model yang dihasilkan masuk akal atau tidak. Oleh karena itu pada penelitian kali ini akan digunakan sebuah metode Maximum-flow yang sederhana dan tidak memerlukan banyak persamaan matematis pengairan (Misra, 1995).

1.2 Rumusan masalah

(16)

USU dan membuktikan bahwa Algoritma Maximum-flow digunakan pada pengguna memahami dasar dari sistem yang akan dimodelkan serta mempunyai cukup waktu dan kemampuan untuk menetapkan apakah model yang dihasilkan masuk akal atau tidak, serta bagaimana mengetahui kapasitas Maximum air yang dialirkan masing-masing pada pipa air tersebut. Dan bagaimana hasil pencarian aliran maksimum dengan menggunakan Algoritma Maximum-flow pada Aliran Pipa S-1 Ilmu Komputer USU.

1.3Batasan masalah

Berdasarkan latar belakang diatas maka ada beberapa hal yang dapat dijadikan rumusan masalah yaitu:

1. Wilayah studi terbatas pada aliran pipa air S-1 Ilmu Komputer USU.

2. Tidak membahas tentang visual simulasi ini (seperti animasi objek) dan hanya membahas tentang graf dan cara kerja dari algoritma Maximum-flow

tersebut.

3. Bagaimana hasil pencarian aliran maximum dengan menggunakan algoritma

Maximum-flow pada aliran pipa air S-1 Ilmu Komputer USU.

4. Aplikasi yang digunakan dalam membangun penerapan algoritma

Maximum-flow untuk optimasi volume Pada Aliran Pipa Air menggunakan bahasa Pemerograman Java.

5. Kapasitas air yang berada didalam wadah penampungan air dianggap penuh atau Full Bank Capacity (konstan).

1.4Tujuan penelitian

(17)

1.5Manfaat penelitian

Manfaat penelitian ini adalah:

a. Memperoleh aliran maximum dengan menggunakan Algoritma Maximum-flow pada Pada Aliran Pipa Air S-1 Ilmu Komputer USU.

b. Mengetahui hasil pencarian aliran maximum dengan menggunakan algoritma Maximum-flow.

1.6Metodologi Penelitian

Metode penelitian yang akan dilakukan dalam penyelesaian skripsi ini adalah: 1. Studi Literatur

Pada tahap ini, penulisan skripsi diawali dengan pembelajaran terhadap buku-buku, artikel-artikel, paper, e-book, situs internet, maupun hasil penelitian yang membahas tentang Maximum-flow yang terkait dengan aliran pipa air.

2. Analisis dan Pengumpulan Data

Melakukan analisis Pada Aliran Pipa Air S-1 Ilmu Komputer USU Pipa Air Menggunakan Algoritma Maximum-flow.

3. Perancangan Sistem

• Menguraikan Kemampuan Dari Algoritma Maximum-flow, Berupa Pencarian aliran maksimum pada Aliran Pipa Air .

• Dan mengetahui Alairan maximum air .

• Membuat kesimpulan bahwa kemampuan dari Algoritma Maximum-flow dapat/tidak dapat dilakukan.

(18)

4. Implementasi

Pada tahap ini dilakukan pengkodean (coding). 5. Pengujian

• Pengujian aplikasi yang telah selesai dibuat dilakukan menggunakan pemrograman Java.

• Pengujian dilakukan dengan Algoritma Maximum-Flow sebagai pencarian aliran maximum pada Aliran Pipa Air.

6. Dokumentasi

(19)

BAB 2

TINJAUAN PUSTAKA

2.1. Teori Graf

2.1.1 Definisi Graf

Teori graf merupakan salah satu cabang matematika yang paling banyak aplikasinya dalam kehidupan sehari hari. Salah satu bentuk dari graf adalah Flow-network, yaitu

graf berarah yang tiap sisinya mempunyai kapasitas tertentu. Flow-network ini memiliki banyak aplikasi dalam kehidupan sehari-hari. Flow-network sering digunakan untuk memodelkan sistem lalu lintas, sebuah sistem yang sering menjadi masalah utama dalam kehidupan, terutama di kota besar, serta sistem pipa air. Salah satu masalah yang sering muncul dalam Flow-network adalah Maximum-flow Problem.

(20)

Gambar 2.1. Graf (V,E) (Farizal, 2013).

V ={A,B,C,D,E,F, G,H,I}. dan

E ={{A,B},{A,C},{B,D},{C,D},{C,E},{E,F},{E,G},{H,I}}

Dalam teori graf, Network- flow adalah graf terarah dimana setiap edge-nya

memiliki kapasitas dan setiap edge memiliki aliran. Nilai dari aliran dalam suatu

edge tidak dapat melampaui kapasitas dari edge tersebut. Sering kali dalam

research operasi, graf terarah disebut jaringan, vertices-nya disebut dengan nodes

dan edge-nya disebut arcs. Diberikan G (V,E) adalah graf terarah tertutup di mana disetiap edge-nya c(u,v) E E, dimana E adalah bilangan positif, nilai kapasitas sebenarnya c(u,v) (Syahdatina, 2007).

Graf G adalah pasangan (V(G),E(G)) dengan (V(G)) adalah himpunan tidak kosong dan berhingga dari objek-objek yang disebut titik, (E(G)) adalah himpunan (mungkin kosong) pasangan tak berurutan dari titik- titik berbeda di (V(G)) yang disebut sisi. Banyaknya unsur di V(G) disebut order dari G dan dilambangkan dengan

p(G), dan banyaknya unsur di E(G) disebut ukuran dari G dan di lambangkan dengan

q(G). Jika graf yang dibicarakan hanya graf G, maka order dan ukuran dari G masing-masing cukup ditulis p dan q. Graf dengan order p dan q di sebut graf-(p,q).

(21)

Perhatikan graf G yang memuat himpunan titik V(G) dan himpunan sisi E(G)

seperti berikut ini:

V(G) = {a,b,c,d,e}

E(G) = {(a, b), (a, c), (a, d), (b, d), (b, c), (d, e)} Graf G tersebut secara lebih jelas dapat di gambar sebagai berikut:

Gambar 2.2 Graf G (Sanjaya, 2014).

Graf G mempunyai 5 titik sehingga order G adalah p = 5. Graf G mempunyai 6 sisi sehingga ukuran graf G adalah 6.

Graf G dengan himpunan titik dan sisi masing-masing V(G) = {a, b, c, d, e}

E(G) = {(a, b), (a, c), (a, d), (b, d), (b, c), (d, e)} Dapat juga ditulis dengan

V(G) = {a, b, c, d, e} E(G) = {e1, e2, e3, e4, e5, e6}

Dengan

G :

a c

d b

e

e1

e2

e3

(22)

e1 = (a, b) e2 = (a, c) e3 = (a, d) e4 = (b, d) e5 = (b, c) e6 = (d, e)

Sisi e = (a, b) di katakan menghubungkan titik a dan b. Jika e = (a, b) adalah sisi graf G, maka a dan b disebut terhubung langsung (adjacent), a dan e serta b dan e

disebut terkait langsung (incident), dan titik a dan b disebut ujung dari e. Dua sisi berbeda e1 dan e2 di sebut terhubung langsung (adjacent), jika terkait langsung pada satu titik yang sama. Untuk selanjutnya, sisi e = (a, b) akan ditulis e = ab (sanjaya, 2014).

2.1.2 Graf Berbobot

Graf berbobot adalah graf yang setiap sisinya diberi sebuah nilai atau bobot. Bobot pada setiap sisi graf dapat berbeda-beda bergantung pada masalah yang dimodelkan. Bobot dapat menyatakan jarak antara dua buah kota, biaya perjalanan antara dua buah kota, waktu tempuh antara dua buah kota, waktu tempuh pesan antara simpul komunikasi dengan simpul komunikasi lainya, ongkos produksi dan sebagainya. Graf

berbobot juga sering dikaitkan dengan istilah graf berlabel.

Untuk membuat label, masing-masing vertex diberi sebuah label dan setiap

edge diberikan sebuah nilai atau bobot. Tampilan graf berlabel dapat dilihat pada Gambar 2.3

P Q

T 6

9

12 7

(23)

V1 V2

V3 V4

v1 v2v3v4

v1

v2

v3

v4

Gambar 2.3 Graf Berbobot (Sanjaya, 2014).

2.1.3 Representasi Graf Pada Komputer

Meskipun menggambar merupakan cara yang mudah untuk menjelaskan suatu graf, cara ini tentunya mempunyai kelemahan ketika akan menyimpan data tentang graf

dalam komputer, atau ketika akan mengkaji sifat-sifat suatu graf melalui hitungan matematis. Mepresentasikan graf dalam bentuk matriks akan memberikan kemudahan bagi sesorang yang senang menggunakan komputer ketika mengkaji informasi atau menyelesaikan permasalahan yang melibatkan graf.

Matriks keterhubungan suatu graf G adalah matriks simetri dengan unsur 0 dan 1 dan memuat nilai 0 pada diagonal utamanya. Hal ini karena graf tidak memuat

loop dan tidak memuat sisi paralel.

Perhatikan contoh berikut. Misalkan graf G dengan himpunan titik V(G) = {v1, v2, v3, v4}

dan himpunan sisi

E(G) = {v1v2, v1v4, v2v3, v2v4, v3v4 }

(24)

Gambar 2.4 Diagram dan Matriks Keterhubungan Graf G (Sanjaya, 2014).

Derajat suatu simpul deg(v) adalah banyaknya ruas yang menghubungkan suatu simpul. Secara umum, jika graf G dengan order p (p ≥ 1) dengan himpunan titik V(G) = {v1,v2, … vp} dan A (G) = [aij], 1 ≤ i, j ≤ p adalah matriks keterhubungan dari G, maka:

deg (vi) =

Hal yang sama juga berlaku jika menghitung derajat titik melalui kolom, yaitu:

deg (vi) =

Dengan melihat matriks keterhubungan dari graf G dapat diperoleh bahwa:

a11 + a12 + a13 + a14 = 0 + 1 + 0 + 1 = 2 = deg(v1), a21 + a22 + a23 + a24 = 1 + 0 + 1 + 1 = 3 = deg(v2), a31 + a32 + a33 + a34 = 0 + 1 + 0 + 1 = 2 = deg(v3), dan a41 + a42 + a43 + a44 = 1 + 1 + 1 + 0 = 3 = deg(v4).

Dari diagram terlihat bahwa:

deg(v1) = 2, deg(v2) = 3, deg(v3) = 2, dan deg(v4) = 3.

2.2 Jenis-Jenis Graf

1. Berdasarkan ada tidaknya gelang atau sisi ganda pada suatu graf, maka graf

digolongkan menjadi dua jenis:

(25)

Graf yang tidak mengandung gelang maupun sisi-ganda dinamakan graf sederhana.

Graf tak-sederhana (unsimple-graf / multigraf).

Graf yang mengandung ruas ganda atau gelung dinamakan graf tak- sederhana (unsimple graf atau multigraf).

2. Berdasarkan jumlah simpul pada suatu graf, maka secara umum graf dapat digolongkan menjadi dua jenis:

Graf berhingga (limited graf)

Graf berhingga adalah graf yang jumlah simpulnya, N, berhingga.

Graf tak-berhingga (Unlimited graf)

Graf yang jumlah simpulnya, n, tidak berhingga banyaknya disebut graf tak Berhingga.

3. Berdasarkan orientasi arah pada sisi, maka secara umum graf di bedakan atas 2

jenis:

Graf tak-berarah (undirected graf)

Graf yang sisinya tidak mempunyai orientasi arah disebut Graf tak-berarah.

Graf berarah (Directed Graf atau di graf)

Graf yang setiap sisinya diberikan orientasi arah disebut sebagai graf berarah (a) G Dua buah graf pada Gambar 2.5 adalah graf berarah.

(26)

2.3 Network-Flow

Jaringan transportasi adalah sebuah graf berarah yang sederhana dengan setiap sisi mempunyai kapasitas dengan sejumlah syarat sebagai berikut:

1. Terdapat satu simpul didalam graf itu yang tidak mempunyai sisi masuk disebut dengan sumber.

2. Terdapat satu simpul didalam graf itu yang tidak mempunyai sisi keluar disebut dengan tujuan.

3. Pembobot setiap sisi C i j dari suatu sisi berarah (i, j) merupakan sebuah bilangan

real non negatif disebut dengan kapasitas sisi (i, j) (Johnsonbaugh, 1986).

Gambar : aliran setiap sisi (farizal, 2013).

Gambaran aliran setiap sisi CAB = 6,CAD = 8, CAC = 3, CBC = 9, CCD = 5, CCE = 7, CDE = 10.

Flow-network adalah sebuah graf berarah yang tiap sisinya memiliki kapasitas/bobot dan pada tiap sisi tersebut terdapat arus (flow) yang mengalir antara 2 simpul yang mengapit sisi tersebut. Jumlah arus yang mengalir pada tiap sisi harus lebih kecil atau sama dengan kapasitas sisi tersebut. Pada aplikasinya, sebuah graf berarah sering disebut dengan Network. Jumlah arus yang mengalir pada tiap sisi harus lebih kecil atau sama dengan kapasitas sisi tersebut. Pada aplikasinya, sebuah graf berarah sering disebut dengan network. Setiap arus (flow) yang ada dalam network, harus memenuhi sebuah batasanya itu arus yang masuk pada suatu simpul harus sama dengan arus yang keluar pada simpul tersebut, kecuali pada source, yang keluarnya lebih besar dari arus masuk, dan sink, yang arus masuknya lebih besar dari arus keluar sebuah

(27)

Gambar 2.6. Network-Flow. (Septiana, 2010)

4. Arus (flow) pada network, harus:

• Arus yg mengalir ≤ kapasitas sisi yg dialiri.

• Arus masuk ke node = arus keluar dari node, kecuali pada source . Sedangkan pada sink, arus masuk > arus keluar.

• Biasa digunakan untuk memodelkan sistem lalu lintas.

• Saluran pipa, sirkuit elektrik, dsb (Shella, 2010).

Network banyak dipakai dalam banyak hal untuk kegunaan yang berbeda-beda. Jaringan transportasi, jaringan listrik dan jaringan telekomunikasi adalah contoh-contoh dimana network ditemukan dalam kehidupan sehari-hari. Representasi network juga dipakai dalam produksi, distribusi, project planning, penempatan fasilitas, manajemen resource dan financial planning suatu network diperlukan karena memberi gambaran visual dan bantuan konseptual yang lebih jelas untuk memotret hubungan antar komponen dalam sistem yang sering dijumpai dalam banyak kasus. Dalam konteks optimasi, perkembangan metodologi maupun aplikasi

network termasuk yang cepat. Banyak temuan baru dalam hal algoritma yang berkenaan dengan permasalahan network flow membawa pengaruh besar dalam struktur data dan manipulasi data dalam Bidang Ilmu Komputer. Dengan berkembangnya ilmu komputer, memungkinkan penyelesaian problem Network-Flow

(28)

sebelumnya tidak terpecahkan. Banyak permasalahan Network flow yang sebenarnya berbentuk linear programming. Sebagai contoh, masalah transportasi atau assignment

yang kita bahas sebelumnya. Dalam bab ini akan kita bahas beberapa aplikasi Network flow.

Macam-macam Aplikasi Network-Flow antara lain:

1. Shortest-Path Problem.

2. Minimum Spanning Tree Problem.

3. Maximum Flow Problem.

4. Minimum Cost Flow Problem (Habibi, 2008).

2.4 Maximum-Flow Problem

Secara sederhana, Maximum-flow problem dapat dideskripsikan sebagai masalah pencarian untuk mencari arus maksimum yang dapat mengalir pada sebuah

network yang hanya memiliki sebuah source dan sebuah sink. model aliran Maximum (Maximum flow), sesuai dengan namanya adalah sebuah model yang dapat digunakan untuk mengetahui nilai maximum seluruh arus di dalam sebuah sistem jaringan. Contoh aliran maximum pada sebuah jaringan adalah jaringan listrik, pipa saluran, dan jalur lalu lintas dalam sebuah sistem jaringan yang tertutup. Kapasitas pada setiap jaringan akan membatasi jumlah arus atau aliran yang melewatinya. model aliran

maximum mempunyai tujuan untuk memaksimalkan jumlah arus yang melewati jaringan dalam sebuah sistem jaringan. Hal ini tentunya sangat umum terjadi pada bidang transportasi, produksi, komunikasi, dan distribusi (Fakhri, 2008).

Aplikasi dari Maximum-flow problem ini adalah sebagai berikut: “Terdapat pipa-pipa yang berhubungan, dengan kapasitas / daya tampung yang berbeda – beda. Pipa – pipa ini terhubung dengan sebuah keran, berapa volume

(29)

memenuhi persyaratan f ≤ c untuk setiap sisi selain source dan sink, dan jumlah nilai f yang masuk kedalam suatu sisi pasti sama dengan jumlah nilai yang meningalkannya. Kemudian kita akan mencari nilai maximum f yang memenuhi persyaratan di atas. Gambar di bawah ini menunjukkan solusi optimal untuk salah satu permasalahan di atas, setiap sisi di labeli dengan sebuah nilai f/c yang dia sosiasikan dengannya:

Gambar 2.7 Maximum-Flow pada sebuah Flow-Network (fackhry,2008). Pada gambar di atas, kita di minta untuk mencari arus maksimal yang dapat mengalir dari simpul s (source) ke simpul t (sink) melalui beberapa sisi yang masing masing memilik kapasitas tertentu. Dengan melihat gambar di atas maka dapat disimpulkan bahwa arus maksimal yang dapat mengalir pada Network

di atas adalah 5 satuan (Sedgewick, 2002).

Mencari penugasan suatu aliran pada suatu jaringan kerja sehingga aliran yang sampai ke tujuan maksimal. Dan menentukan aliraan aliran maximum yang dapat mengalir dalam suatu graf ( misal : air, bandwidth).

Secara formal : bagaimana mengotimalkan material dalam sebuah graf dari source

ke sink, tanpa melanggar melaggar konstrain (Rosyida, 2006).

Pada Maximum Flow Problem, sering dijumpai istilah sebagai berikut:

Network N

(30)

Walk (jalan)

Misalkan titik U dan V (tidak harus berbeda ) pada suatu graf G . Jalan (walk) (u, v) di G adalah titik.

Flow (f)

Flow (f) merupakan suatu bilangan tak negatif yang di definisikan pada tiap sisi pada suatu network yang memenuhi Fij < Cij untuk sebarang sisi (i,j) pada network tersebut. Setiap arus (flow) yang ada dalam Network , harus memenuhi sebuah batasan yaitu arus yang masuk pada suatu simpul harus sama dengan arus yang keluar pada simpul tersebut, kecuali pada source, yang arus keluarnya lebih besar dari arus masuk, soure dan sink, yang arus masuknya lebih besar dari arus keluar.

Residual Network

Residual Network merupakan Network dengan ketentuan pelabelan sisinya adalah sebagai berikut: C‟(i,j) = C(i,j) – F(i,j), C‟(j,i) = F(i,j).

Secara umum Maximum-flow bisa dijelaskan sebagai berikut:

1. Semua aliran barang melalui suatu network yang berarah dan tersambung dari

node awal ke node akhir. Node awal disebut sumber dan node akhir disebut tujuan.

2. Node sisa yang lain dinamakan node antara.

3. Aliran dalam satu cabang hanya di perbolehkan ke arah yang ditunjukkan oleh anak panah dimana jumlah maximum di berikan sebagai kapasitas cabang tersebut. Pada node sumber, semua cabang mengarah meninggalkan node.

Pada node tujuan semua cabang mengarah masuk ke node.

(31)

2.5 Contoh Aplikasi Maximum-Flow Problem

1. Maksimasi aliran dalam jaringan distribusi suatu perusahaan dari pabrik ke pelanggan.

2. Maksimasi aliran dalam jaringan suplai suatu perusahaan dari vendor ke pabrik-pabriknya.

3. Maksimasi aliran minyak dalam sistem perpipaan.

4. Maksimasi aliran air dalam distribusi air PDAM.

5. Maksimasi aliran kendaraan dalam jaringan transportasi.

6. Maksimasi pesan dalam suatu jaringan telekomunikasi.

Meskipun Maximum-flow bisa diformulasikan sebagai linear programming, namun ada algoritma yang cukup efisien untuk menyelesaikannya. Suatu network diperlukan karena memberi gambaran visual dan bantuan konseptual yang lebih jelas untuk memotret hubungan antar, komponen dalam sistem yang sering dijumpai dalam banyak kasus. Dalam konteks optimasi, perkembangan metodologi maupun aplikasi

Network termasuk yang cepat. Banyak temuan baru dalam hal algoritma yang berkenaan dengan permasalahan Network- flow membawa pengaruh besar dalam struktur data dan manipulasi data dalam bidang ilmu komputer. Dengan berkembangnya Ilmu Komputer, memungkinkan penyelesaian problem Network -flow

dengan bantuan software terutama untuk masalah-masalah besar yang beberapa tahun sebelumnya tidak terpecahkan. Banyak permsalahan Network-flow yang sebenarnya berbentuk linear programming.

2.7 Model Aliran Maksimum ( Maximal Flow )

(32)

apabila kita memaksa kabel itu dilewati oleh arus 50 ampere pada tingkat tegangan yang sama. Contoh lain, lalu lintas pada sebuah arus jalan searah akan macet apabila kemampuannya untuk menampung jumlah kendaraan terlampaui.

Situasi yang telah dijelaskan oleh kedua contoh di atas merupakan pusat perhatian model aliran maximum yang mempunyai tujuan untuk memaksimumkan jumlah arus yang melewati jaringan hubungan dalam sebuah sistem jaringan. Hal ini tentunya sangat umum terjadi pada bidang – bidang transportas, produksi/operasi, komunikasi dan distribusi (veriyen, 2012).

2.8 Prosedur Maximal Flow

1. Cari dan temukan path dari titik sumber ke titik lokasi tujuan yang memiliki arah dengan aliran kapasitas yang lebih besar dari nol untuk seluruh segitiga di dalam path. Jika tidak ada path yang tersedia, berarti optimal solution telah tercapai

2. Cari di aliran kapasitas yang paling kecil (Sf) di dalam path yang terpilih di Step 1. Lakukan perubahan di dalam aliran di dalam jaringan dengan mengirimkan sejumlah (Sf).

3. Untuk path yang terpilih di Step 1, kurangkan seluruh arus kapasitas dengan (Sf) di node arah masuk dan tambahkan di arus balik node sebesar (Sf)

(33)

5. Hentikan algoritma, ketika di node arah lebih kecil dari nol.

Contoh : Aliran Maximum

Iteration 1 :

1 4 7

2 5 3 6 0 10 30 0 10 0 20 0 40 0 0 20 15 0 40 20 0 10 0 0 10 0 30 10 0 10 20 10 sourse sink

1 – 2 – 5 - 7

10 < 30 < 40

Minimum = 10

(34)

1

2

5

7

30

10 0 10 30 10

Iteration 2 :

1 4 7

2 5 3 6 10 0 20 10 10 0 20 0 40 0 0 20 15 0 30 20 0 10 0 1 0 10 0 20 20 0 10 10 10 20 10 Source sink

1 – 2 - 4 – 5 - 7

10 < 20 < 20 < 30

(35)

Kemudian nilai yang ada pada iterasi pada 1, 2, 4, 5, 7 di kurangi dengan nilai minimum yang telah di dapat sebelumnya, sehingga mendapatkan hasil.

1

2

4

7

5

20

20

0

10

10

10

10

20

Iteration 3 :

1 4 7

2 5 3 6 20 0 10 20 10 5 20 0 30 10 0 20 5 10 20 10 0 0 10 10 10 0 25 15 0 15 5 0

Source sink

1 – 3 - 4 – 5 - 7

10 < 10 < 15 < 40

Minimum = 10 liter air

Kemudian nilai yang ada pada iterasi pada 1, 3, 4, 5, 7 di kurangi dengan nilai

(36)

1

3

4

5

7

30 10 5 10 0 10 0 30

Iteration 4:

1 4 7

2 5 3 6 20 0 10 20 10 5 20 0 30 10 0 20 5 10 20 10 0 0 10 10 10 0 25 15 0 15 5 0

(37)

1 -3 - 4 - 7

5 < 10 < 30

Minimum = 5 liter air

Kemudian nilai yang ada pada iterasi pada 1, 3, 4, 7 di kurangi dengan nilai minimum yang telah di dapat sebelumnya, sehingga mendapatkan hasil.

1

3

4 7

25

10 0

15

5 5

(38)

1 4 7 2 5 3 6 20 0 10 20 5 5 20 0 25 15 0 20 5 15 20 10 0 0 10 10 10 0 5 35

0 20 0

20

Source Sink

1 – 3 - 6 - 7

20 < 20 < 25

Minimum = 20 liter air

Kemudian nilai yang ada pada iterasi pada 1, 3,6,7 di kurangi dengan nilai minimum yang telah di dapat sebelumnya, sehingga mendapatkan hasil.

(39)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Persoalan aliran pipa air merupakan salah satu permasalahan optimasi. Graf yang digunakan adalah suatu graf berbobot jarak antar user yang merupakan tempat-tempat yang akan di lintasi. Untuk meminimumkan waktu atau biaya dalam melintasi tempat-tempat, diperlukan informasi dari setiap maximum aliran yang harus dilalui. Permasalahan pencarian aliran maximum yang dialiri setiap pipa yang dapat diselesaikan dengan algoritma Maximum-flow yang bekerja sebagai pencarian arus

maximum dari setiap aliran air pada setiap pipa, untuk selanjutnya dapat diterapkan pada pencarian arus maximum pada setiap pipa yang ingin diketahui. Contoh kasus yang akan diambil adalah pencarian arus maximum antara titik A dan titik D.

0 1 2 3 4 5

1 2 3 4

5 A

B

C

D 2,5

5,4

[image:39.595.219.421.580.733.2]

4,1 1,2

(40)

Dilihat pada gamabar 3.1 merupakan koordinat pengguna yang digunakan sebagai banyak

aliran air pada setiap pipa yang dialirikan kemudian sistem ini akan mencari aliran

maximum menggunakan algoritma maximum-flow.

3.1.1 Analisis Masalah

Untuk mengidentifikasi masalah menggunakan diagram Ishikawa (fishbone diagram). Masalah yang akan di identifikasi yaitu bahasa pemerograman Java belum digunakan secara maksimal., sehingga waktu yang digunakan akan jauh lebih efektif dari pada perhitungan secara manual. Permasalahan tersebut dapat diperlihatkan pada gambar 3.2. melalui sebuah diagram Ishikawa.

Kapasitas air flow

Mencari aliran maximum pada aliran Pipa air

Material

User

Metode

Machine

Memaximumkan jumlah aliran yang bisa di aliri dari sumber(source) ke tujuan(sink)

Bahasa Java Aliran pipa air

Maximum-flow

Matlab

[image:40.612.134.515.410.566.2]

C++

Gambar 3.2 Diagram Ishikawa Untuk Analisis Permasalahan Sistem

(41)

Analisis Kebutuhan Sistem meliputi analisis kebutuhan fungsional sistem dan analisis kebutuhan non-fungsional sistem.

3.1.2.1Kebutuhan Fungsional Sistem

Kebutuhan fungsional yang harus dimiliki oleh sistem. Dalam sistem penerapan pada aliran pipa air S-1 Ilmu Komputer USU yaitu dengan menggunakan aloritma Maximum-flow. Ini terdapat beberapa hal yang menjadi syarat fungsional yang harus dipenuhi, antara lain :

1. Sistem akan mencari kapasitas maximum yang dialiri air.

2. Mencari aliran maximum pada setiap aliran menggunakan alagoritma

Maximum-flow .

3. Sistem dapat mengetahui setiap aliran maximum yang akan dialiri setiap aliran air.

3.1.2.2Kebutuhan Non-Fungsional Sistem

Persyaratan non-fungsional adalah persyaratan apa yang dilakukan sistem, beberapa persyaratan fungisonal yang haru dipenuhi oleh sistem yang dirancang adalah sebagai berikut :

a. Performa

Sistem yang akan dibangun harus mampu memberi dan mengetahui hasil dari proses pada setiap aliran air yang dialiri.

(42)

Sistem harus mampu menyediakan informasi tentang data-data yang akan digunakan pada sistem.

c. Mudah dipelajari dan digunakan

Sistem yang akan dibangun harus sederhana dan mudah dipelajari oleh pengguna (user).

d. Kontrol

Sistem yang telah dibangun harus tetap dikontrol setelah selesai dirancang agar fungsi dan kinerja sistem tetap terjaga dan dapat memberikan hasil yang sesuai dengan keinginan pengguna.

e. Efisiensi

Sistem harus dirancang sesederhana mungkin agar memudahkan pengguna dalam menggunakan atau menjalankan aplikasi tersebut.

f. Pelayanan

Sistem yang telah dirancang bisa dikembangkan ke tingkat yang lebih kompleks lagi bagi pihak-pihak yang ingin mengembangkan sistem tersebut.

3.1.3 Pemodelan

Pemodelan aplikasi yang dirancang bertujuan untuk menggambarkan semua kondisi dan bagian-bagian yang berperan dalam sistem yang dirancang. Pemodelan aplikasi dilakukan dengan membuat use-case diagram, activity diagram, dan sequence diagram.

3.1.3.1Use-Case Diagram

(43)

dilakukan dengan mudah. Use-case diagram sistem pada aplikasi yang dirancang dapat dilihat pada Gambar 3.3.

System

Pengguna

«uses»

«uses»

«uses»

«uses»

«uses» Maximum-Flow

Menentukan kapasitas air

Menghitung kapasitas air

Update kapasitasl air

Proses pencarian hitung setiap kapasitas air setiap

iterasi

Hitung keseluruhan hasil aliran maximum

Gambar 3.3. Use-Case Diagram Pada Sistem

3.1.3.2Activity Diagram

[image:43.612.141.507.182.550.2]
(44)

diperlukan sebuah activity diagram. Berikut ini merupakan activitydiagram pada sistem yang akan dirancang.

Input nilai pada titik U,V,W,X,Y,Z

Pengguna menekan tombol iterasi

Pengguna menekan tombol update pada titik U,V,W,X,Y,Z

selesai Kembali ke home

Menampilkan hasil dari proses langkah setiap iteras i pada maximum-flow

PENGGUNA SYSTEM

Menampilkan nilai update dari titik U,V,W,X,Y,Z Pengguna menekan tombol hitung dari

Titik U,V,X,Y,Z

Menampilkan nilai maximum keseluruhan Membaca nilai U,V,W,X,Y,Z

Menampilkan nilai pada titik U,V,W,X,Y,Z

Mengitung nilai minimum pada titik U,V,W,X,Y,Z

System menghitung nilai kapasitas - minimum

flow + min

yes

no

[image:44.612.130.520.185.657.2]
(45)

3.1.3.3 Sequence Diagram

Sequence diagram adalah suatu diagram yang memperlihatkan atau menampilkan interaksi-interaksi antar objek didalam sistem yang disusun pada sebuah urutan atau rangkaian waktu. Sequence diagram digunakan untuk menggambarkan scenario atau rangkain langkah-langkah yang dilakukan sebagai sebuah respon dari suatu kejadian /

(46)

Input Maximum-flow Sumber(sourse ke tujuan (sink) iterasi

Pengguna

Input kapasitas

air Menentukan kapasitas air

Proses menhitung kapasitas air dari iterasi awal sampai

akhir

Proses menghitung setiap kapasitas airl pada setiap iterasi

Perhitungan nilai dari keseluruhan

maximum Mengitung

kapasitas air Update kapasitas

air Mengulangi setiap angka pada setiap

kapasitas air

Hasil maximum

Gambar 3.5 Sequence Diagram Pada Sistem.

3.2Perancangan Sistem

3.2.1 Flowchart Sistem

[image:46.612.121.533.144.408.2]
(47)

Mulai

Input nilai kapasitas air

Menentukan kapasitas air

Proses hitung kapasitas air pada iterasi selanjutnya

Mentukan titik awal sampai titik akhir

kapasitas air

Input nilai yang dialiri setiap iterasi

Yes

No

Proses hitung setiap kapasitas air pada

setiap iterasi Mengulangi setiap aliran pada setiap

(48)

Gambar 3.6 Flowchart Sistem

3.2.2 Pseudocode Algoritma Maximum-flow

Pseudocode adalah teknik untuk menuliskan algoritma secara hight-level tanpa tergantung pada sebuah bahasa pemrograman. Penulisan pseudocode biasanya ditulis dengan menggunakan bahasa inggris dan diberi tambahan notasi matematika.

[image:48.612.101.529.448.715.2]

Pseudeocode Algoritma maximum-flow ditunjukkan oleh tabel 3.7 di bawah ini:

Tabel 3.7 Pseudocode Algoritma Maximum-flow

Baris Kode Pseudocode 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

// public class MaxFlow extends JFrame {

// public void actionPerformed(ActionEvent evt) { int a,b,c;

//mengambil nilai string txt3 dan mengubahnya menjadi tipe integer kemudian menampungnya di variabel

a =

Integer.parseInt(txtVar3.getText());

a

//mengambil nilai string txt3 dan mengubahnya menjadi tipe integer kemudian menampungnya di variabel

b =

Integer.parseInt(txtNilaiTerkecil.getText());

a

//menjumlahkan variabel a dan b kemudian menampungnya di variabel

c = a-b;

c

//mengubah

String hasil = String.valueOf(c);

data integer ke string di variabel hasil

//menampilkan string hasil di label Hasil

(49)

18 19 20 21 22 23 24 25 26 27 28 29 30 31

} });

// lblHasil = new JLabel("Mencari Nilai Mininum :");

// lblNilaiMax = new JLabel("Nilai Maximum :");

// btnHitung = new JButton("Hitung");

End

End

3.3 Perancangan sistem

3.3.1 Menu awal

(50)
[image:50.612.131.515.142.334.2]

Gambar 3.8 Menu Awal

Keterangan:

1. Label yang berisi aplikasi logo universitas 2. Label judul

3. Label file nama penulis. 4. Label file fakultas.

5. Text box untuk menampilkan proses selanjutnya.

3.3.1.1Menu Utama

Menu utama adalah halaman yang digunakan sebagai antar-muka user setelah berhasil melakukan proses masuk dari menu awal. Halaman ini juga akan menampilkan posisinya berada berdasarkan cara kerja algoritma dapat dilihat seperti pada Gambar 3.9

logo (1)

JUDUL(2)

nama dan nim(3)

fakultas(5)

(51)
[image:51.612.123.519.159.442.2]

Gambar 3.9 Menu Utama

Menu utama berfungsi untuk menampilkan informasi tentang cara kerja dari algoritma. Dan menampilakan setiap iterasi-iterasi yang dilalui setiap variabel dan kapasitas yang sudah ditentukan menu utama dapat dilihat seperti pada Gambar 3.9

JUDUL(2)

Iterasi(14)

(4) Z(7)

V(4)

U(3) LOGO(1)

Update(8)

Hitung(13) W(5)

Y(6)

Log out(15) Mencari nilai maximum

(52)

Km

Ws

Km Km Km

Ws Ws Ws

Km Ws

Km Km Km

Ws Ws Ws

Km Ws

Km Km Km

Ws Ws Ws

Km Ws

Km Km Km

Ws Ws Ws

Km Ws

Km Km Km

Ws Ws Ws

Km Ws

Km Km Km

Ws Ws Ws

WADAH PENAMPUNG

AIR

LAKI-LAKI PEREMPUAN

Lantai 3 Lantai 3

Lantai 2 Lantai 2

Lantai 1 Lantai 1

Pipa air Pipa air

Pipa air Pipa air

Pipa air Pipa air

A L I R A N P I P A A I R S1 I L M U K O M P U T E R U S U Pipa air

L E G E N D

ws

Km

Wadah air

= Aliran Air = Washtafel

[image:52.612.112.460.136.584.2]

= Kamar Mandi = Wadah Penampung Air = Pipa Air Masing-Masing Bagian

Gambar 3.10 gambaran Ilustrasi Dari Penerapan Algoritma Maximum-Flow Dalam Optimasi Volume Air Pada Pipa S-1 Ilmu Komputer USU.

BAB 4

(53)

4.1 Implementasi Sistem

Tahap implementasi sistem merupakan lanjutan dari tahap perancangan sistem. Pada tahap ini dilakukan implementasi sistem ke dalam bahasa pemrograman berdasarkan hasil analisis dan perancangan sistem. Pada tahap implementasi ini digunakan perangkat lunak dan perangkat keras. Implementasi dilakukan dengan menggunakan bahasa pemrograman

Java. Perancangan sistem yang baik akan memudahkan pengembangan sistem dalam tahap implementasi. Proses selanjutnya dalam penerapan pembuatan aplikasi adalah proses implementasi dan pengujian sistem. Implementasi merupakan tahap di mana sistem melakukan fungsionalitas utamanya setelah suatu program atau perangkat lunak selesai di rancang. Sedangkan tahap pengujian merupakan tahap yang di lakukan setelah proses pengimplementasian selesai dilakukan dan sampai proses uji coba sesuai dengan kriteria-kriteria yang diinginkan pengguna pada tahap perancangan sistem. Pada sistem ini terdapat 5 form yaitu form Menu Awal, Form Upload Graf, Form Keluaran Graf

Gambar, Form Graf Perhitungan U,V,W,X,Y Pada Setiap Iterasi, Form Keluaran Graf

(54)

di jalakan. Form ini berisi informasi mengenai judul skripsi, penulis dan jurusan. Berikut pada gambar 4.1 di tampilkan Form Menu Awal pada sistem ini.

(55)

4.1.2 Form Upload Graf

Form Upload Graf ini merupakan tampilan untuk melakukannya proses menampilkan

[image:55.595.168.488.297.577.2]

graf gambar menggunakan upload graf. Di mana graf yang dimasukkan akan dilakukan proses menampilkan gambar graf. Kemudian tekan tombol next. Upload

gambar graf dapat di lihat pada gambar 4.2.

(56)

4.1.3 Form Upload Graf selanjutnya

Form Upload Graf ini merupakan tampilan untuk melakukannya proses dari tampilan

(57)

Gambar 4.3 Form Upload Graf Selanjutnya

4.1.4Form Tampilan Hasil Upload Graf

Form Tampilan Hasil Upload Graf merupakan form yang berisi gambaran dari graf

[image:57.595.137.517.185.463.2]
(58)

Gambar 4.4 Form Tampilan Hasil Upload Graf

[image:58.595.157.494.203.504.2]
(59)
[image:59.595.195.462.275.577.2]

Form Tampilan PerhitunganU,V,W,X,Y Setiap Iterasi merupakan form yang berisi gambaran dari graf guna mengitung setiap iterasi-iterasi yang akan dilalui. Form tampilan perhitungan U,V,W,X,Y pada iterasi ini dapat dilihat pada gambar 4.5.

(60)

4.1.6Form Tampilan Menu Log Out

Form Tampilan Menu Log Out merupakan form yang berisi gambaran dari akhir keseluruhan proses pada sistem. Ini juga dapat membantu pengguna dalam menjelaskan dan menjalankan system ini. Form tampilan menu log out ini dapat dilihat pada gambar 4.6.

[image:60.595.177.443.299.606.2]
(61)

4.2Pengujian

4.2.1 Pengujian Implementasi Maximum-Flow

Maximum-Flow Untuk Mencari Aliran Maximum Pada Setiap Aliran Pipa air S1 Ilmu Komputer USU.

Iteration 1: Node 1 – 2 - 5 – 7 10 < 30 < 40

(62)

1 4 7 2 5 3 6 0 10 30 0 10 0 20 0 40 0 0 20 15 0 40 20 0 10 0 0 10 0 30 10 0 10 20 10 sourse sink U W X

(63)

1

2

5

7

30

10

0

10

30

10

(64)

1 4 7 2 5 3 6 10 0 20 10 10 0 20 0 40 0 0 20 15 0 30 20 0 10 0 10 10 0 20 20 0 10 10 10 20 10 Source sink U V W X

(65)

1

2

4

7

5

20

20

0

10

10

10

10

20

Iteration 3: Node 1 – 3 – 4 - 5 – 7 10 < 10 < 15 < 40 Minimum = 10 liter air

1 4 7

2 5 3 6 20 0 10 20 10 0 20 0 40 0 0 20 15 5 20 10 0 0 10 10 10 0 30 10 5 10 0 10 0 30 Source Sink

U V

W

(66)

Kemudian pada iteration 3 dijelaskan pada aliran 1-3-4-5-7 yang mempunyai sisa min 40-15-10-10 = 10 liter air. Kemudian nilai yang ada pada iterasi pada 1, 3, 4, 5, 7 di kurangi dengan nilai minimum yang telah didapat sebelumnya, sehingga mendapatkan hasil.

1

3

4

5

7

30

10 5

10 0

10

0

30

Iteration 4: Node 1 – 3 – 4 – 7 5 < 10 < 30

(67)

1 4 7 2 5 3 6 20 0 10 20 10 5 20 0 30 10 0 20 5 10 20 10 0 0 10 10 10 0 25 15 0 15 5 0

Source sink

U V

W

(68)

Iteration 5: Node 1 – 3 – 6 – 7 20 < 20 < 25

Minimum = 20 liter air

1 4 7

2 5 3 6 20 0 10 20 5 5 20 0 25 15 0 20 5 15 20 10 0 0 10 10 10 0 5 35

0 20 0

20

Source Sink

U

V

W

(69)

1

3

5 35 20

6

7

0 0 20

ITERASI Node/Aliran Air Dari Bilangan U,V,W,X,Y, Kapasitas Air Nilai Minimum(Terkecil) Iterasi 1

1 Ke 2 U 30 L

10 Liter Air 2 Ke 5 V 10 L

5 Ke 7 W 10 L

Iterasi 2

1 Ke 2 U 30 L

10 Liter Air 2 Ke 4 V 10 L

4 Ke 5 W 20 L 5 Ke 7 X 20 L

Iterasi 3

1 Ke 3 U 40 L

10 Liter Air 3 Ke 4 V 15 L

4 Ke 5 W 10 L 5 Ke 7 X 10 L

Iterasi 4

1 Ke 3 U 30 L

5 Liter Air 3 Ke 4 V 5 L

4 Ke 7 W 10 L

Iterasi 5

1 Ke 3 U 25 L

20 Liter Air 3 Ke 6 V 20 L

(70)
[image:70.595.184.507.505.839.2]

Jumlah Aliran Maximum Yang Dilalui Pipa Air 55 Liter Air

Gambar 4.7 Form Hasil

Graf Dengan Capacity (c),

Source (s) Dan

Sink (t)

Flow (f) Dari

s Ke t Yang Maximum.

4.2.2 pengujian Hasil Akhir Maximum-Flow

Pengujian sistem pada Penerapan Algoritma Maximum-Flow dalam optimasi volume air pada Pipa S-1 Ilmu Komputer USU. Hal pertama yang akan di lakukan adalah

(71)

keluaran dari graf gambar, selanjutnya tekan tombol next untuk proses selanjutnya.

Kemudian pada pengujian Penerapan Algoritma Maximum-flow dalam optimasi volume air pada Pipa S-1 Ilmu Komputer USU di bawah ini merupakan tabel graf

[image:71.595.173.466.389.731.2]

gambar pengujian yang mana pada inputan U, V, W, X, Y merupakan iterasi dari graf

(72)
(73)

Setelah selesai hasil hitung diproses maka proses selanjutnya yaitu di temukan nilai

minimum (nilai terkecil) pada inputan U, V, W, X, Y. Kemudian tekan tombol update

(74)

lalu setelah di masukan kapasita air pada inputan U, V, W, X, Y , maka inputan akan di

(75)
(76)
(77)

lalu setelah di masukan kapasitas air pada inputan U, V, W, X, Y , maka inputan akan di proses pada sistem update. Kemudian nilai yang dihasilkan dikurangi dengan nilai minimum yang telah didapat sebelumnya, sehingga mendapatkan hasil.

(78)

Setelah semua inputan U, V, W, X, Y yang sudah dilalui pada setiap iterasi, maka proses selanjutnya yaitu hitung nilai keseluruhan maximum keseluruhan maka proses berakhir.

(79)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari hasil analisis dari Penerapan Algoritma Maximum-Flow dalam optimasi volume air pada pipa S-1 Ilmu Komputer USU dengan algoritma yang telah dilakukan, dapat disimpulkan bahwa:

1. Untuk Penerapan algoritma Maximum-Flow, dalam pipa air S-1 ilmu Komputer USU.

2. Supaya hasil optimum mendekati kondisi nyata di lapangan, perlu ditambah dengan analisis mengenai bagaimana aliran air yang ada di S-1 ilmu Komputer USU.

(80)

Adapun saran yang dapat penulis berikan untuk mengembangkan penelitian ini adalah sebagai berikut:

(81)

DAFTAR PUSTAKA

Bagus S, 2010. Kaji Eksperimental Rugi Tekan (Head Losses) Dan Faktor

Gesekan Yang Terjadi Pada Pipa Lurus Dan Belokan, Undip, Semarang. Evi, S. 2010, Pengembangan Simulasi Aliran Air Pada Saluran Drainase

Kota Menggunakan Pemodelan Network Flow. Program Magister Bidang Keahlian Telematik Jurusan Teknik Elektro Fakultas Teknologi Industri Institut Teknologi Sepuluh November Surabaya.

Fakhri, 2008, Penerapan Algoritma Djikstra Dalam Pencarian Solusi Maximu-Flow, Jurusan Teknik Informatika Sekolah Tinggi Elektro Dan Informatika ITB, Bandung.

Fathima, T. 2013, Penyelesaian Masalah Aliran Maksimum Menggunakan Edmons

Karp Algorithm. Universitas Negeri Malang

Habibi, L. 2008 Pemodelan Network-Flow Analysis Sistem Distribusi Air Menggunakan Algoritma Genetika-Metode Newton. Tesis Magister. Institut Teknologi Bandung.

Hayati, Izza, Dkk. 2010. Penyelesaian Maximum-Flow Problem Pada Distribusi

Semen Di Pt. Jawa Berkat Utama. Laporan. Universitas Negeri Malang.

Email. Elizabeth Dan Wuntikatri. Inu 2007. Penerapan Graf Kompatibel

(82)

Laporan.

Joesron, L. 1992 “Banjir Rencana Untuk Bangunan Air”. Departemen Pekerjaan Umum

Kevin, T. 2013, Analisis Kompleksitas Algoritma Untuk Menyelesaikan

Oktaviana, S, S. 2007. Universitas Negri Medan. Aplikasi Teori Graf

Dengan Menggunakan Pipa Pdam Daerah Sawojajar Blok H-1.

Putra, A, P. 2010, Eksplorasi Kerja Maximum Edmons Karb Dalam Meneyelesaikan

Maximum Flow Problem. Skripsi Malang Universitas Negri Malang.

Rossen, K.H. 2000. Discreate Mathematics And Its Aplications.: Mc Graw Hill,

Inc Newyork

Rosyida. 2006 Penerapan Model Maximum-Flow Dalam Teori Graf Pada 1990

Willson. Graf An Introduction Approach Canada.

Sanjaya, D. 2014. Implementasi Mobile Tracking Menggunakan Metode Ant Colony Optimization dan Google Maps Api. Program Studi Ekstensi S1 Ilmu Komputer Fakultas Ilmu Komputer Dan Teknologi Informasi Universitas Sumatera Utara Medan.

Thesa, F. 2013, Pencarian Aliran Maksimum Dengan Algoritma Ford-Fulkerson

(Studi Kasus Pada Jaringan Listrik Di Kota Tegal). Skripsi. Jurusan

Matematika Fakultas Matematika Dan Ilmu Pengetahuan Alam Universitas

(83)

LISTING PROGRAM

package app.maximumflow;

import java.awt.BorderLayout;

import java.awt.EventQueue;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.border.EmptyBorder;

import javax.swing.table.DefaultTableModel;

import javax.swing.JLabel;

import javax.swing.ImageIcon;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.awt.Color;

import java.awt.Font;

import javax.swing.JFileChooser;

import javax.swing.JOptionPane;

import javax.swing.JTextField;

import javax.swing.JPasswordField;

(84)

import net.java.balloontip.BalloonTip;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import java.awt.event.FocusAdapter;

import java.awt.event.FocusEvent;

import java.sql.Blob;

import java.util.Vector;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import java.awt.image.BufferedImage;

import java.awt.Toolkit;

import java.io.File;

import java.io.FileInputStream;

(85)

private JPanel contentPane;

private JLabel lblBackgrond;

private JPanel panel;

private JLabel label_1;

private JLabel lblVari1;

private JButton btnUpdate;

private JButton btnKeluar;

private JTextField txtVar1;

private BalloonTip tooltip;

private JTextField txtVar2;

private JLabel lblVariabel;

private JTextField txtVar3;

private JLabel lblVariabel_1;

private JLabel lblHasil;

private JTextField txtNilaiTerkecil;

private JScrollPane scrTabel;

private JTable table;

DefaultTableModel tabelModel;

String data[] = { "U", "V","W","X","Y", "Nilai.Min" };

private JButton btnHit;

private JLabel lblNilaiMax;

private JTextField txtNilaiMax;

private JButton btnUpdateV;

(86)

private JButton btnHitung;

private JTextField txtVar4;

private JLabel lblX;

private JButton btnUpdateX;

private JTextField txtVar5;

private JLabel lblY;

private JButton btnUpdateY;

private JLabel label;

private JLabel label_2;

private JFileChooser fc = new JFileChooser();

Blob blob;

BufferedImage img;

/**

* Launch the application.

*/

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

public void run() {

try {

MaxFlow frame = new MaxFlow();

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

(87)

}

});

}

/**

* Create the frame.

*/

public MaxFlow() {

setIconImage(Toolkit.getDefaultToolkit().getImage(MaxFlow.class.getRes

ource("/img/sl.png")));

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(100, 100, 417, 470);

contentPane = new JPanel();

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);

contentPane.setLayout(null);

setLocationRelativeTo(null);

JPanel panel_1 = new JPanel();

panel_1.setBackground(Color.BLACK);

panel_1.setBounds(0, 434, 571, 10);

(88)

txtVar1 = new JTextField();

txtVar1.addKeyListener(new KeyAdapter() {

@Override

public void keyTyped(KeyEvent e) {

btnHit.setEnabled(false);

btnHitung.setEnabled(true);

}

});

txtVar1.requestFocus();

txtVar1.addFocusListener(new FocusAdapter() {

@Override

public void focusGained(FocusEvent e) {

tooltip = new BalloonTip(txtVar1, "Masukan

kapasitas");

}

@Override

public void focusLost(FocusEvent e) {

tooltip.closeBalloon();

}

});

(89)

txtVar1.setBackground(Color.BLACK);

txtVar1.setBounds(50, 101, 46, 25);

contentPane.add(txtVar1);

txtVar1.setColumns(10);

JLabel lblUsername = new JLabel("Pr

Gambar

Gambar 2.1. Graf  (V,E) (Farizal, 2013).
Gambar 2.2 Graf G (Sanjaya, 2014).
Gambar 2.3
Gambar 2.3 Graf Berbobot (Sanjaya, 2014).
+7

Referensi

Dokumen terkait