Website Tutorial and Download Program, Design, And News Technology and Lifestyle. We Have Free Download Source Code Project and Update Tutorial. We Sharing For Learning.

Tutorial Membuat Aplikasi SPK Sederhana Menggunakan Metode SAW di Java (Full Project)


tutorial membuat sistem pendukung keputusan

Apa itu Sistem Pendukung Keputusan ?

Sistem pendukung keputusan adalah Bagian dari sebuah sistem informasi yang dipakai untuk mendukung pengambilan keputusan dalam suatu organisasi atau perusahaan. SPK banyak digunakan dalam komponen sebuah sistem ataupun didalam peruhasaan.

Perusahaan biasanya menggunakan Aplikasi Spk untuk menentukan harga suatu product ataupun untuk menentukan pesanan barang gudan dan juga seperti penentuan jumlah produksi disuatu pabrik. Untuk membangun suatu Sistem pendukung keputusan ada banyak metode yang bisa digunakan seperti AHP,SAW ,Topsis, WP dan masih banyak lainnya.



Contoh Aplikasi SPK

Gambar dibawah adalah gambar form sistem pendukung keputusan menggunakan java.

Tutorial membuat sistem pendukung keputusan















Basis Data SPK

Aplikasi ini sudah berbasis data sehingga membutuh kan database untuk menyimpan dan memanejemen data. Databases yang di butuhkan terdiri dari 3 table tbl_bobot,tbl_peringkat,tbl_kriteria tabel ini lah yang nantinya akan menjadi tmpat pengelolaan data dari aplikasi Berikut adalah rancangan databases yang dibutuhkan untuk aplikasi PSK maaf maksdunya SPK




rancang database spk




Source Code Java


Berikut Adalah Source Codenya :

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

public class main extends javax.swing.JFrame {
DefaultTableModel tb;
DefaultTableModel tb2;
DefaultTableModel tb3;
koneksi conn= new koneksi();
    /**
     * Creates new form main
     */
    public main() {
        initComponents();
        tabelmodel();
        tabelmodelnormalisasi();
        tabelmodelPERINGKAT();
    }

   public void tabelmodel(){
       tb =new DefaultTableModel();
       tb.addColumn("Nama");
       tb.addColumn("Kreteria 1");
       tb.addColumn("Kreteria 2");
       tb.addColumn("Kreteria 3");
       tb.addColumn("Kreteria 4");
       jTable1.setModel(tb);
        try {
       

         ResultSet res = conn.ambilData("select *from tbl_kriteria ");
        while (res.next()){
                    tb.addRow(new Object[]{res.getString(1),res.getString(2),res.getString(3),res.getString(4),res.getString(5)});
                }
   
        jTable1.setModel(tb);
          } catch (SQLException ex) {
           JOptionPane.showMessageDialog(this, ex);
        }
     }
   public void tabelmodelnormalisasi(){
       tb2 =new DefaultTableModel();
       tb2.addColumn("Nama");
       tb2.addColumn("Kreteria 1");
       tb2.addColumn("Kreteria 2");
       tb2.addColumn("Kreteria 3");
       tb2.addColumn("Kreteria 4");
       jTable2.setModel(tb2);
       }
   public void tabelmodelPERINGKAT(){
        try {
            tb3 =new DefaultTableModel();
            tb3.addColumn("NAMA");
            tb3.addColumn("NILAI ");
            jTable3.setModel(tb3);
               ResultSet res = conn.ambilData("select *from tbl_peringkat order by nilai desc");
             while (res.next()){
                         tb3.addRow(new Object[]{res.getString(1),res.getString(2)});
                     }
        } catch (SQLException ex) {
            Logger.getLogger(main.class.getName()).log(Level.SEVERE, null, ex);
        }
       }
   public void cariperingkat(){
        try {
         
       LinkedList mm=new LinkedList();
            ResultSet res3 = conn.ambilData("select * from tbl_bobot");
               tabelmodelPERINGKAT();
               while (res3.next()){
                           mm.add(res3.getString(1));
                           mm.add(res3.getString(2));
                           mm.add(res3.getString(3));
                           mm.add(res3.getString(4));
               }
            for (int t = 0; t < jTable2.getRowCount(); t++) {
           
            String sql = "delete from tbl_peringkat WHERE Nama= Nama";
               conn.simpanData(sql);
            }
            for (int x = 0; x < jTable2.getRowCount(); x++) {
               double r1;
               double r2;
               double r3;
               double r4;
               double w;
                r1 = (Float.valueOf(jTable2.getValueAt(x, 1).toString())*Float.valueOf(mm.get(0).toString()));
            r2=(Float.valueOf(jTable2.getValueAt(x, 2).toString())*Float.valueOf(mm.get(1).toString()));
                r3=(Float.valueOf(jTable2.getValueAt(x, 3).toString())*Float.valueOf(mm.get(2).toString()));
            r4=(Float.valueOf(jTable2.getValueAt(x, 4).toString())*Float.valueOf(mm.get(3).toString()));
            w=r1+r2+r3+r4;
            String sql = "insert into tbl_peringkat  values"+
             "('"+jTable2.getValueAt(x, 0).toString()+"', "+
             "'"+w+"')";
               conn.simpanData(sql);
            }
            tabelmodelPERINGKAT();
        } catch (SQLException ex) {
           JOptionPane.showMessageDialog(this, ex);
        }
       }
   public int simpan(){    
        String sql="insert into tbl_kriteria "+
    "values"+
    "('"+jTextField1.getText()+"', "+
    "'"+jTextField2.getText()+"', "+
    "'"+jTextField3.getText()+"', "+
    "'"+jTextField4.getText()+"', "+
        "'"+jTextField5.getText()+"'"+
    ")";          
        conn.simpanData(sql);
       return 0;
    }
   public  void normalisasi(){
       LinkedList max=new LinkedList();
       LinkedList mm=new LinkedList();
   try {
       

         ResultSet res = conn.ambilData("select     max(C1),"+
    "max(C2), "+
    "max(C3), "+
    "min(C4)"+
    "from "+
    "tbl_kriteria ");
        while (res.next()){
                    max.add(res.getString(1));
                    max.add(res.getString(2));
                    max.add(res.getString(3));
                    max.add(res.getString(4));
                }
        ResultSet res2 = conn.ambilData("select *"+
    "from "+
    "tbl_kriteria ");
        tabelmodelnormalisasi();
        while (res2.next()){
                          tb2.addRow(new Object[]{res2.getString(1)
                          ,(res2.getFloat(2)/Float.valueOf(max.get(0).toString())),
                          (res2.getFloat(3)/Float.valueOf(max.get(1).toString()))
                          ,(res2.getFloat(4)/Float.valueOf(max.get(2).toString()))
                          ,(Float.valueOf(max.get(3).toString())/res2.getFloat(5))});
                       
        }
   
           } catch (SQLException ex) {
           JOptionPane.showMessageDialog(this, ex);
        }
   }
}

Koneksi Class

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
public class koneksi {
        public static Connection koneksi;
        public Statement st;
         private static  com.mysql.jdbc.Connection con;

        public static Connection getconnetion(){
        if(koneksi==null){
            try{
                String server="jdbc:mysql://localhost:3306/db_skp_saw";
                String user="root";
                String password="123";
                Class.forName("com.mysql.jdbc.Driver");
                koneksi=DriverManager.getConnection(server,user,password);
            }catch(Exception x){
                JOptionPane.showMessageDialog(null,"Koneksi Gagal, Pesan error \n"+x);
            }      
        }
        return koneksi;
    }
     public void koneksi(){
            try{
                getconnetion();
                st=koneksi.createStatement();
            }catch(Exception x){
                JOptionPane.showMessageDialog(null,"Koneksi ambil Gagal, Pesan error \n"+x);
            }
    }
      public void tutupKoneksi(ResultSet rs){
        try{
            if(rs!=null){
                rs.close();
            }
            st.close();
            koneksi.close();
        }catch(Exception x){
            JOptionPane.showMessageDialog(null,"Tutup Koneksi Gagal, Pesan error \n"+x);
        }
    }

    public ResultSet ambilData(String sql){
        ResultSet rs=null;
        try{
            koneksi();
            rs=st.executeQuery(sql);
        }catch(Exception x){
            JOptionPane.showMessageDialog(null,"Ambil Data Gagal, Pesan error : \n"+x);
        }
        return rs;
    }
    public void simpanData(String sql){
        try{
            koneksi();
            st.executeUpdate(sql);
        }catch(Exception x){
            //JOptionPane.showMessageDialog(null,"Simpan Data Gagal, Pesan error : \n"+x);
            System.out.print(x);
        }
    }
}

Langkah membuat Sistem Pendukung Keputusan

Tahapan SPK :


  • Definisi masalah 
  • Pengumpulan data atau elemen informasi yang relevan 
  • pengolahan data menjadi informasi baik dalam bentuk laporan grafik maupun tulisan 
  • menentukan alternatif-alternatif solusi (bisa dalam persentase)

Tujuan dari SPK :
  • Membantu menyelesaikan masalah semi-terstruktur 
  • Mendukung manajer dalam mengambil keputusan suatu masalah 
  • Meningkatkan efektifitas bukan efisiensi pengambilan keputusan

SPK Judul Buat Skripsi Mahsiswa Teknik Informatika

SPK juga banyak di angkat untuk topik penelitian mahasiswa difakultas ilmu komputer. Kali ini saya akan memberikan tutorial untuk membuat Aplikasi SPK menggunakan metode SAW. Aplikasi ini adalah aplikasi yang sederhana namun dapat dikembangkan untuk menjadi aplikasi yang bermanfaat.



Untuk Projectnya bisa Di Download Disini


Tutorial Videonya


Berikut adalah tutorial videonya



Labels: java, SPK, tutorial

Thanks for reading Tutorial Membuat Aplikasi SPK Sederhana Menggunakan Metode SAW di Java (Full Project). Please share...!

0 Comment for "Tutorial Membuat Aplikasi SPK Sederhana Menggunakan Metode SAW di Java (Full Project)"

Back To Top