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 4,1 1,2
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
C++
Gambar 3.2 Diagram Ishikawa Untuk Analisis Permasalahan Sistem
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.
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
Untuk menganalisa komponen-komponen yang berperan dalam sistem yang dirancang, penulis menggunakan use-case diagram agar proses penganalisaan komponen dapat
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 airMenghitung 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
Activity diagram menggambarkan berbagai alir aktivitas dalam system yang sedang dirancang. Bagaimana masing-masing aliran berawal, decision yang mungkin terjadi. Untuk menganalisa aktivitas-aktivitas yang akan berlangsung selama aplikasi dijalankan
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
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 /
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
Flowchart merupakan bagan yang menunjukkan arus pekerjaan secara keseluruhan dari sistem. Flowchart menjelaskan tentang urutan-urutan dari prosedur yang ada didalam sistem dengan menggunakan simbol-simbol. Berikut ini merupakan flowchart awal dari sistem secara umum yang nantinya akan dibangun yang dapat dilihat Gambar 3.6.
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
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.
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
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
Menu awal merupakan sebagai authentikasi data untuk mengakses halaman utama aplikasi. Halaman ini digunakan sebagai gambaran tampilan yang akan dilalui program selanjutnya. Agar dapat masuk kedalam aplikasi, maka pengguna harus memberikan button menandakan go to aplikasi sudah terdaftar sebelumnya.agar dapat melakukan proses selanjutnya Kemudian pengguna dapat melakukan proses selanjutnya. Tampilan dapat dilihat pada gambar 3.8
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)
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
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 = 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.