65 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; import javax.swing.jbutton;
66 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; public class MaxFlow extends JFrame {
67 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; private JButton btnupdatew;
68 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();
69 ); /** * 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); contentpane.add(panel_1);
70 txtvar1 = new JTextField(); txtvar1.addkeylistener(new KeyAdapter() { @Override public void keytyped(keyevent e) { btnhit.setenabled(false); btnhitung.setenabled(true); kapasitas"); ); txtvar1.requestfocus(); txtvar1.addfocuslistener(new FocusAdapter() { @Override public void focusgained(focusevent e) { tooltip = new BalloonTip(txtVar1, "Masukan @Override public void focuslost(focusevent e) { tooltip.closeballoon(); ); txtvar1.setforeground(color.white);
71 txtvar1.setbackground(color.black); txtvar1.setbounds(50, 101, 46, 25); contentpane.add(txtvar1); txtvar1.setcolumns(10); JLabel lblusername = new JLabel("Proses langkah setiap iterasi pada maximum-flow :"); lblusername.setfont(new Font("Comic Sans MS", Font.BOLD, 12)); lblusername.setforeground(color.white); lblusername.setbounds(25, 248, 302, 25); contentpane.add(lblusername); lblvari1 = new JLabel("U :"); lblvari1.setfont(new Font("Comic Sans MS", Font.BOLD, 12)); lblvari1.setforeground(color.white); lblvari1.setbounds(25, 101, 69, 25); contentpane.add(lblvari1); btnupdate = new JButton("Update"); btnupdate.setenabled(false); btnupdate.addactionlistener(new ActionListener() { public void actionperformed(actionevent evt) { int a,b,c;
72 //mengambil nilai string txt1 dan mengubahnya menjadi tipe integer kemudian menampungnya di variabel a a = Integer.parseInt(txtVar1.getText()); //mengambil nilai string txt1 dan mengubahnya menjadi tipe integer kemudian menampungnya di variabel a b = Integer.parseInt(txtNilaiTerkecil.getText()); //menjumlahkan variabel a dan b kemudian menampungnya di variabel c c = a-b; //mengubah data integer ke string di variabel hasil String hasil = String.valueOf(c); //menampilkan string hasil di label Hasil txtvar1.settext(hasil); btnhit.setenabled(true); btnhitung.setenabled(false); ); btnupdate.setfont(new Font("Comic Sans MS", Font.BOLD, 12)); btnupdate.setforeground(new Color(255, 255, 255)); btnupdate.setbackground(new Color(0, 0, 0)); btnupdate.setbounds(108, 101, 86, 25); contentpane.add(btnupdate); btnupdatev = new JButton("Update");
73 btnupdatev.addactionlistener(new ActionListener() { public void actionperformed(actionevent e) { int a,b,c; //mengambil nilai string txt2 dan mengubahnya menjadi tipe integer kemudian menampungnya di variabel a a = Integer.parseInt(txtVar2.getText()); //mengambil nilai string txt2 dan mengubahnya menjadi tipe integer kemudian menampungnya di variabel a b = Integer.parseInt(txtNilaiTerkecil.getText()); //menjumlahkan variabel a dan b kemudian menampungnya di variabel c c = a-b; //mengubah data integer ke string di variabel hasil String hasil = String.valueOf(c); //menampilkan string hasil di label Hasil txtvar2.settext(hasil); ); btnupdatev.setenabled(false); btnupdatev.setforeground(color.white); btnupdatev.setfont(new Font("Comic Sans MS", Font.BOLD, 12)); btnupdatev.setbackground(color.black); btnupdatev.setbounds(108, 138, 86, 25);
74 contentpane.add(btnupdatev); btnupdatew = new JButton("Update"); btnupdatew.addactionlistener(new ActionListener() { public void actionperformed(actionevent e) { int a,b,c; //mengambil nilai string txt3 dan mengubahnya menjadi tipe integer kemudian menampungnya di variabel a a = Integer.parseInt(txtVar3.getText()); //mengambil nilai string txt3 dan mengubahnya menjadi tipe integer kemudian menampungnya di variabel a b = Integer.parseInt(txtNilaiTerkecil.getText()); //menjumlahkan variabel a dan b kemudian menampungnya di variabel c c = a-b; //mengubah data integer ke string di variabel hasil String hasil = String.valueOf(c); //menampilkan string hasil di label Hasil txtvar3.settext(hasil); ); btnupdatew.setenabled(false); btnupdatew.setforeground(color.white);
75 12)); btnupdatew.setfont(new Font("Comic Sans MS", Font.BOLD, btnupdatew.setbackground(color.black); btnupdatew.setbounds(287, 101, 77, 25); contentpane.add(btnupdatew); 12)); lblvariabel = new JLabel("V :"); lblvariabel.setforeground(color.white); lblvariabel.setfont(new Font("Comic Sans MS", Font.BOLD, lblvariabel.setbounds(25, 139, 18, 25); contentpane.add(lblvariabel); kapasitas"); txtvar2 = new JTextField(); txtvar2.addfocuslistener(new FocusAdapter() { @Override public void focusgained(focusevent e) { tooltip = new BalloonTip(txtVar2, "Masukan @Override public void focuslost(focusevent e) { tooltip.closeballoon();
76 ); txtvar2.setforeground(color.white); txtvar2.setcolumns(10); txtvar2.setbackground(color.black); txtvar2.setbounds(50, 139, 46, 25); contentpane.add(txtvar2); 12)); lblvariabel_1 = new JLabel("W :"); lblvariabel_1.setforeground(color.white); lblvariabel_1.setfont(new Font("Comic Sans MS", Font.BOLD, lblvariabel_1.setbounds(206, 101, 27, 25); contentpane.add(lblvariabel_1); txtvar3 = new JTextField(); txtvar3.addactionlistener(new ActionListener() { public void actionperformed(actionevent arg0) { ); txtvar3.addfocuslistener(new FocusAdapter() { @Override public void focusgained(focusevent e) {
77 kapasitas"); tooltip = new BalloonTip(txtVar3, "Masukan @Override public void focuslost(focusevent e) { tooltip.closeballoon(); ); txtvar3.setforeground(color.white); txtvar3.setcolumns(10); txtvar3.setbackground(color.black); txtvar3.setbounds(229, 101, 46, 25); contentpane.add(txtvar3); lblhasil = new JLabel("Mencari Nilai Mininum :"); lblhasil.setforeground(color.white); lblhasil.setfont(new Font("Comic Sans MS", Font.BOLD, 12)); lblhasil.setbounds(25, 213, 147, 25); contentpane.add(lblhasil); txtnilaiterkecil = new JTextField(); txtnilaiterkecil.setenabled(false); txtnilaiterkecil.setforeground(color.white); txtnilaiterkecil.setcolumns(10);
78 txtnilaiterkecil.setbackground(color.black); txtnilaiterkecil.setbounds(175, 213, 69, 25); contentpane.add(txtnilaiterkecil); btnhit = new JButton("Iterasi[n]"); btnhit.setenabled(false); btnhit.addactionlistener(new ActionListener() { public void actionperformed(actionevent e) { Vector<Object> baris=new Vector<Object>(6); baris.add(txtvar1.gettext()); baris.add(txtvar2.gettext()); baris.add(txtvar3.gettext()); baris.add(txtvar4.gettext()); baris.add(txtvar5.gettext()); baris.add(txtnilaiterkecil.gettext()); tabelmodel.addrow(baris); // NoIterasi(); hitmax(); bersihkan(); ); btnhit.setforeground(color.white); btnhit.setfont(new Font("Comic Sans MS", Font.BOLD, 12));
79 btnhit.setbackground(color.black); btnhit.setbounds(259, 213, 105, 25); contentpane.add(btnhit); 12)); lblnilaimax = new JLabel("Nilai Maximum :"); lblnilaimax.setforeground(color.white); lblnilaimax.setfont(new Font("Comic Sans MS", Font.BOLD, lblnilaimax.setbounds(28, 394, 100, 25); contentpane.add(lblnilaimax); txtnilaimax = new JTextField(); txtnilaimax.setenabled(false); txtnilaimax.setforeground(color.white); txtnilaimax.setcolumns(10); txtnilaimax.setbackground(color.black); txtnilaimax.setbounds(133, 394, 125, 25); contentpane.add(txtnilaimax); btnhitung = new JButton("Hitung"); btnhitung.addactionlistener(new ActionListener() { public void actionperformed(actionevent arg0) { int n1=(integer.parseint(txtvar1.gettext()));
80 int n2= (Integer.parseInt(txtVar2.getText())); int n3= (Integer.parseInt(txtVar3.getText())); // int n4= (Integer.parseInt(txtVar4.getText())); //int n5= (Integer.parseInt(txtVar5.getText())); int[] nilai = {n1,n2,n3; int min=1000; for (int a = 0; a < nilai.length;a++){ //System.out.println("1."+a); if (nilai[a] < min){ //System.out.println("2."+a); min=nilai[a]; //System.out.println("3."+a); txtnilaiterkecil.settext("" + min); aktifkan(); ); btnhitung.setforeground(color.white); btnhitung.setfont(new Font("Comic Sans MS", Font.BOLD, 12));
81 btnhitung.setbackground(color.black); btnhitung.setbounds(224, 175, 140, 25); contentpane.add(btnhitung); scrtabel = new JScrollPane(); scrtabel.setbackground(new Color(60, 179, 113)); scrtabel.setbounds(25, 275, 340, 107); contentpane.add(scrtabel); tabelmodel = new DefaultTableModel(null, data); table = new JTable(); table.setbackground(color.white); table.addmouselistener(new MouseAdapter() { @Override public void mouseclicked(mouseevent me) { int pilih = table.getselectedrow(); if (pilih < 0) { return; 0); String var1 = (String) tabelmodel.getvalueat(pilih, txtvar1.settext(var1);
82 1); 2); 3); 4); 5); String var2 = (String) tabelmodel.getvalueat(pilih, txtvar2.settext(var2); String var3 = (String) tabelmodel.getvalueat(pilih, txtvar3.settext(var3); String var4 = (String) tabelmodel.getvalueat(pilih, txtvar4.settext(var4); String var5 = (String) tabelmodel.getvalueat(pilih, txtvar5.settext(var5); String hasil = (String) tabelmodel.getvalueat(pilih, txtnilaiterkecil.settext(hasil); ); table.setmodel(tabelmodel); scrtabel.setviewportview(table); btnkeluar = new JButton("Keluar"); btnkeluar.setbounds(278, 394, 86, 25); contentpane.add(btnkeluar);
83 btnkeluar.addactionlistener(new ActionListener() { public void actionperformed(actionevent arg0) { Keluar(); ); btnkeluar.setforeground(color.white); btnkeluar.setfont(new Font("Comic Sans MS", Font.BOLD, 12)); btnkeluar.setbackground(color.black); lblx = new JLabel("X :"); lblx.setforeground(color.white); lblx.setfont(new Font("Comic Sans MS", Font.BOLD, 12)); lblx.setbounds(206, 138, 27, 25); contentpane.add(lblx); kapasitas"); txtvar4 = new JTextField(); txtvar4.addfocuslistener(new FocusAdapter() { @Override public void focusgained(focusevent e) { tooltip = new BalloonTip(txtVar4, "Masukan @Override
84 public void focuslost(focusevent e) { tooltip.closeballoon(); ); txtvar4.setforeground(color.white); txtvar4.setcolumns(10); txtvar4.setbackground(color.black); txtvar4.setbounds(229, 138, 46, 25); contentpane.add(txtvar4); btnupdatex = new JButton("Update"); btnupdatex.addactionlistener(new ActionListener() { public void actionperformed(actionevent e) { int a,b,c; //mengambil nilai string txt4 dan mengubahnya menjadi tipe integer kemudian menampungnya di variabel a a = Integer.parseInt(txtVar4.getText()); //mengambil nilai string txt4 dan mengubahnya menjadi tipe integer kemudian menampungnya di variabel a b = Integer.parseInt(txtNilaiTerkecil.getText()); //menjumlahkan variabel a dan b kemudian menampungnya di variabel c c = a-b; //mengubah data integer ke string di variabel hasil
85 12)); String hasil = String.valueOf(c); //menampilkan string hasil di label Hasil txtvar4.settext(hasil); ); btnupdatex.setforeground(color.white); btnupdatex.setfont(new Font("Comic Sans MS", Font.BOLD, btnupdatex.setenabled(false); btnupdatex.setbackground(color.black); btnupdatex.setbounds(287, 138, 77, 25); contentpane.add(btnupdatex); lbly = new JLabel("Y :"); lbly.setforeground(color.white); lbly.setfont(new Font("Comic Sans MS", Font.BOLD, 12)); lbly.setbounds(25, 176, 27, 25); contentpane.add(lbly); txtvar5 = new JTextField(); txtvar5.addfocuslistener(new FocusAdapter() { @Override public void focusgained(focusevent e) {
86 kapasitas"); tooltip = new BalloonTip(txtVar5, "Masukan @Override public void focuslost(focusevent e) { tooltip.closeballoon(); ); txtvar5.setforeground(color.white); txtvar5.setcolumns(10); txtvar5.setbackground(color.black); txtvar5.setbounds(50, 176, 46, 25); contentpane.add(txtvar5); btnupdatey = new JButton("Update"); btnupdatey.addactionlistener(new ActionListener() { public void actionperformed(actionevent arg0) { int a,b,c; //mengambil nilai string txt5 dan mengubahnya menjadi tipe integer kemudian menampungnya di variabel a a = Integer.parseInt(txtVar5.getText()); //mengambil nilai string txt5 dan mengubahnya menjadi tipe integer kemudian menampungnya di variabel a b = Integer.parseInt(txtNilaiTerkecil.getText());
87 //menjumlahkan variabel a dan b kemudian menampungnya di variabel c c = a-b; //mengubah data integer ke string di variabel hasil String hasil = String.valueOf(c); //menampilkan string hasil di label Hasil txtvar5.settext(hasil); ); btnupdatey.setforeground(color.white); btnupdatey.setfont(new Font("Comic Sans MS", Font.BOLD, 12)); btnupdatey.setenabled(false); btnupdatey.setbackground(color.black); btnupdatey.setbounds(108, 175, 86, 25); contentpane.add(btnupdatey); lblbackgrond = new JLabel(""); lblbackgrond.seticon(new ImageIcon(Main.class.getResource("/img/wallpaper-blankonaseli212.png"))); lblbackgrond.setbounds(0, 86, 415, 346); contentpane.add(lblbackgrond); panel = new JPanel();
88 panel.setbackground(color.black); panel.setbounds(0, 0, 571, 89); contentpane.add(panel); panel.setlayout(null); label_1 = new JLabel(""); label_1.seticon(new ImageIcon(Main.class.getResource("/img/usu.png"))); label_1.setbounds(12, 0, 81, 91); panel.add(label_1); \n"); label = new JLabel("SIMULASI PIPA AIR MENGGUNAKAN label.setforeground(color.white); label.setfont(new Font("Comic Sans MS", Font.BOLD, 14)); label.setbounds(105, 12, 288, 37); panel.add(label); label_2 = new JLabel("ALGORITMA MAXIMUM-FLOW"); label_2.setforeground(color.white); label_2.setfont(new Font("Comic Sans MS", Font.BOLD, 14)); label_2.setbounds(105, 40, 255, 37); panel.add(label_2);
89 void Keluar(){ try { int reply = JOptionPane.showConfirmDialog (this, "Yakin Mau Logout?", "Sistem - Keluar", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if (reply == JOptionPane.YES_OPTION) { setvisible (false); //Menyembunyikan Frame. dispose(); //Membersihkan Resource dari system memori setdefaultcloseoperation(jframe.exit_on_close); //Membebaskan aplikasi dari memori //System.exit (0); //Keluar dari Aplikasi. catch (Exception ex) { System.out.println(ex);
90 void hitmax(){ int jumlahbaris = tabelmodel.getrowcount(); int x = 0; int y; for (int i=0; i<jumlahbaris; i++){ y = Integer.parseInt(tabelModel.getValueAt(i, 5).toString()); x = x + y; txtnilaimax.settext(string.valueof(x)); void bersihkan(){ txtvar1.settext(""); txtvar2.settext(""); txtvar3.settext(""); txtvar4.settext(""); txtvar5.settext(""); txtnilaiterkecil.settext(""); txtvar1.requestfocus(); void NoIterasi(){ int brs = tabelmodel.getrowcount();
91 for(int i=0;i<brs;i++){ String no = String.valueOf(i+1); tabelmodel.setvalueat(no+".",i,0); public static Object neighbors(int x, int[][] capacities) { // TODO Auto-generated method stub return null; void aktifkan(){ btnupdate.setenabled(true); btnupdatev.setenabled(true); btnupdatew.setenabled(true); btnupdatex.setenabled(true); btnupdatey.setenabled(true); btnhitung.setenabled(false);
92 CURRICULUM VITAE Nama : NURUL HIKMAH NASUTION Alamat Sekarang : Jalan Perjuangan No 18 C, Kec. Setia Budi Kota Medan Alamat Orang Tua : Jalan Printis Kemerdekaan Kec.Lima Puluh Kel.Empat Negri Dusun VII No 12. Kab.Batu Bara Telp/ HP : 087868761654 Email : nurulhikmahnst@gmail.com Riwayat Pendidikan: 1998 2004 MADRASAH IBTIDAIYAH NEGRI(MIN) KUALA GUNUNG 2004 2007 MADRASAH TSANAWIYAH(MTS) CIPTA SIMPANG DOLOK 2007 2010 MADRASAH ALIYAH NEGRI(MAN) LIMA PULUH Keahlian/kursus yang diikuti: Keahlian Bahasa Pemrograman: - Berbasis Dekstop: Java, Matlab, - Database: MySQL - Design : Photoshop, Kursus: -Pemrograman, database MySQL, C++, Java, Microsoft Office
93