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;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;
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;
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(); }
} }); }
/**
* 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);
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();
} });
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) {
//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.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);
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.setFont(new Font("Comic Sans MS", Font.BOLD, 12));
btnUpdateW.setBackground(Color.BLACK); btnUpdateW.setBounds(287, 101, 77, 25); contentPane.add(btnUpdateW);
lblVariabel = new JLabel("V :");
lblVariabel.setForeground(Color.WHITE);
lblVariabel.setFont(new Font("Comic Sans MS", Font.BOLD, 12));
lblVariabel.setBounds(25, 139, 18, 25); contentPane.add(lblVariabel);
txtVar2 = new JTextField();
txtVar2.addFocusListener(new FocusAdapter() { @Override
public void focusGained(FocusEvent e) {
tooltip = new BalloonTip(txtVar2, "Masukan kapasitas");
}
@Override
public void focusLost(FocusEvent e) { tooltip.closeBalloon();
}); txtVar2.setForeground(Color.WHITE); txtVar2.setColumns(10); txtVar2.setBackground(Color.BLACK); txtVar2.setBounds(50, 139, 46, 25); contentPane.add(txtVar2);
lblVariabel_1 = new JLabel("W :");
lblVariabel_1.setForeground(Color.WHITE);
lblVariabel_1.setFont(new Font("Comic Sans MS", Font.BOLD, 12));
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
tooltip = new BalloonTip(txtVar3, "Masukan kapasitas");
}
@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);
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.setBackground(Color.BLACK); btnHit.setBounds(259, 213, 105, 25); contentPane.add(btnHit);
lblNilaiMax = new JLabel("Nilai Maximum :"); lblNilaiMax.setForeground(Color.WHITE);
lblNilaiMax.setFont(new Font("Comic Sans MS", Font.BOLD, 12));
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 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.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; }
String var1 = (String) tabelModel.getValueAt(pilih, 0);
String var2 = (String) tabelModel.getValueAt(pilih, 1);
txtVar2.setText(var2);
String var3 = (String) tabelModel.getValueAt(pilih, 2);
txtVar3.setText(var3);
String var4 = (String) tabelModel.getValueAt(pilih, 3);
txtVar4.setText(var4);
String var5 = (String) tabelModel.getValueAt(pilih, 4);
txtVar5.setText(var5);
String hasil = (String) tabelModel.getValueAt(pilih, 5); txtNilaiTerkecil.setText(hasil); } }); table.setModel(tabelModel); scrTabel.setViewportView(table);
btnKeluar = new JButton("Keluar"); btnKeluar.setBounds(278, 394, 86, 25); contentPane.add(btnKeluar);
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);
txtVar4 = new JTextField();
txtVar4.addFocusListener(new FocusAdapter() { @Override
public void focusGained(FocusEvent e) {
tooltip = new BalloonTip(txtVar4, "Masukan kapasitas");
}
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;
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, 12));
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
tooltip = new BalloonTip(txtVar5, "Masukan kapasitas");
}
@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
//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.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);
label = new JLabel("SIMULASI PIPA AIR MENGGUNAKAN \n");
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);
}
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); }
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();
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); } }
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: