`id_kondisi` REFERENCES `kondisi_ekonomi` `id_kondisi`,
CONSTRAINT `FK_penilaian_kondisi2` FOREIGN KEY `id_usulan` REFERENCES `usulan_kredit`
`id_usulan`
ENGINE=InnoDB DEFAULT CHARSET=latin1;
Hasil akhir dari database sistembprx untuk sistem ini dapat dilihat
pada gambar berikut:
Gambar 4.12 Informasi Tabel Database sistembprx
4.2.2 Koneksi Java ke MySQL
Untuk mengoneksikan Java ke MySQL ini digunakan konektor pada
Netbean yaitu
mysql-connector-java-5.1.10-bin dan
menggunakan listing program dalam kelas Koneksi sebagai berikut:
public class Koneksi { private static String jdbcURL =
jdbc:mysql:localhost:3306sistembprx; private static String user = SKRIPSI;
private static String password = skripsi; private static Connection conn = null;
public static Connection Koneksi throws ClassNotFoundException, SQLException {
try { Class.forNameorg.gjt.mm.mysql.Driver;
conn = Connection DriverManager.getConnectionjdbcURL, user, password;
System.out.printlnkoneksi berhasil; } catch Exception ex {
System.out.printlnmessage: + ex.getMessage; }
return conn; }
public static void mainString[] args throws ClassNotFoundException, SQLException {
Koneksi; }
}
Perintah untuk melakukan koneksi ke server ditunjukkan pada tulisan yang dicetak tebal.
Kelas Koneksi akan selalu dipanggil oleh setiap kelas, hal ini dikarenakan setiap kelas akan selalu mengakses data
base sistembprx.
4.2.3 Implementasi Manajemen Dialog
Setelah proses pembuatan data base dilakukan dan koneksi pada data base telah berhasil, maka langkah selanjutnya adalah
membuat interface yang mengacu pada perancangan manajemen dialog pada sub bab sebelumnya. Interface inilah yang akan menjadi
tampilan sistem yang akan diakses oleh user. Berikut hasil implementasi manajemen dialog system.
4.2.3.1 Halaman Utama Sistem
Halaman Utama Sistem muncul pertama kali saat sistem dijalankan. Pada halaman ini terdapat empat menu utama yang dapat
dipilih user yaitu menu Data Pemohon, menu Bobot dan Kriteria, menu Simulasi dan Penentuan Pemberian Kredit dan menu Laporan
Penerimaan Kredit, berikut tampilannya:
Gambar 4.13 Halaman Utama Sistem
Menu Data Pemohon berisi panel halaman pengisian data identitas dan usulan kredit pemohon, selain itu terdapat panel
pengelolaan data angsuran kredit milik pemohon. Menu Bobot dan Kriteria berisi halaman pengelolaan kriteria dan bobot yang akan
digunakan pada simulasi kredit. Untuk menu Simulasi Penentuan Pemberian Kredit akan menampilkan halaman simulasi dengan
daftar pemohon serta perhitungan hasil survey dan kriteria bobot kredit yang pada akhirnya menghasilkan total skor dan keputusan
penerimaan kredit. Pada menu Laporan Penerimaan Kredit akan merujuk pada file jasper report yang berisi dokumentasi laporan
sesuai format yang dapat dicetak dalam bentuk hard copy.
4.2.3.2 Halaman Data Pemohon
Halaman Data Pemohon berisi daftar pemohon yang telah terdaftar dalam sistem, formulir pengisian data pemohon dan
angsuran kredit pemohon. Berikut tampilannya:
Gambar 4.14 Halaman Data Pemohon
4.2.3.2.1 Pengelolaan Identitas Pemohon
Pengelolaan identitas pemohon tersedia fitur yang dapat digunakan oleh manajer kredit untuk menyimpan, mengubah dan
menghapus data pemohon. Berikut tampilan dan penjelasannya:
4.2.3.2.1.1 Formulir Pengisian Data Pemohon
Formulir Pengisian Data Pemohon digunakan untuk mengisi data identitas pemohon dan usulan kredit. Setiap kali
data pemohon yang disimpan, maka akan ditampilkan ke dalam tabel daftar pemohon yang berada di bagian paling atas
dari halaman ini.
Gambar 4.15 Formulir Data Pemohon
Setiap kali merekam data usulan kredit, ketika tombol simpan ditekan maka akan program akan menjalankan stored
procedure simpanPenilaian yang berisi perintah mengambil id_usulan. Hal ini berkaitan dengan nilai survey setiap
pemohon yang juga akan disimpan dalam masing-masing tabel
penilaian_karakter, tabel
penilaian_jaminan, tabel
penilaian_kapasitas, tabel penilaian_modal dan tabel penilaian_kondisi. Berikut perintah dalam stored perocedure
simpanPenilaian.
DELIMITER USE `sistembprx`
DROP PROCEDURE IF EXISTS `simpanpenilaian` CREATE DEFINER=`SKRIPSI``` PROCEDURE
`simpanpenilaian` IN p_usulan VARCHAR10
BEGIN DECLARE v_usul_kar VARCHAR10;
DECLARE v_usul_jam VARCHAR10; DECLARE v_usul_kap VARCHAR10;
DECLARE v_usul_mod VARCHAR10; DECLARE v_usul_kon VARCHAR10;
DECLARE v_bobot_kar DOUBLE; DECLARE v_bobot_jam DOUBLE;
DECLARE v_bobot_kap DOUBLE; DECLARE v_bobot_mod DOUBLE;
DECLARE v_bobot_kon DOUBLE; DECLARE v_count INTEGER;
DECLARE i INTEGER; DECLARE v_jumlah_kar INTEGER;
DECLARE v_jumlah_jam INTEGER; DECLARE v_jumlah_kap INTEGER;
DECLARE v_jumlah_mod INTEGER; DECLARE v_jumlah_kon INTEGER;
DECLARE v_temp_kar VARCHAR10; DECLARE v_temp_jam VARCHAR10;
DECLARE v_temp_kap VARCHAR10; DECLARE v_temp_mod VARCHAR10;
DECLARE v_temp_kon VARCHAR10; DECLARE v_nomor_kar VARCHAR10;
DECLARE v_nomor_jam VARCHAR10; DECLARE v_nomor_kap VARCHAR10;
DECLARE v_nomor_mod VARCHAR10; DECLARE v_nomor_kon VARCHAR10;
SELECT a.id_usulan,b.id_usulan,c.id_usulan,d.id_usulan,e.id_us
ulan,a.bobot_karakter, b.bobot_jaminan, c.bobot_kapasitas,d.bobot_modal, e.bobot_kondisi
INTO v_usul_kar, v_usul_jam, v_usul_kap,v_usul_mod, v_usul_kon, v_bobot_kar, v_bobot_jam, v_bobot_kap,
v_bobot_mod, v_bobot_kon
FROM penilaian_karakter a, penilaian_jaminan b, penilaian_kapasitas c, penilaian_modal d,
penilaian_kondisi e WHERE a.id_penilaianKarakter= SELECT
MAXid_penilaianKarakter FROM penilaian_karakter AND b.id_penilaianJaminan= SELECT MAXid_penilaianJaminan
FROM penilaian_jaminanAND c.id_penilaianKapasitas= SELECT
MAXid_penilaianKapasitas FROM penilaian_kapasitasAND d.id_penilaianModal= SELECT MAXid_penilaianModal
FROM penilaian_modalAND e.id_penilaianKondisi= SELECT MAXid_penilaianKondisi
FROM penilaian_kondisi ; SET v_count =0;
IF v_usul_kar IS NOT NULL AND v_usul_jam IS NOT NULL AND v_usul_kap IS NOT NULL AND v_usul_mod IS NOT NULL
AND v_usul_kon IS NOT NULL THEN IF v_usul_kar = - AND v_usul_jam = - AND v_usul_kap
= - AND v_usul_mod = - AND v_usul_kon = - THEN UPDATE penilaian_karakter SET id_usulan = p_usulan
WHERE id_usulan=-; UPDATE penilaian_jaminan SET id_usulan = p_usulan WHERE
id_usulan=-; UPDATE penilaian_kapasitas SET id_usulan = p_usulan
WHERE id_usulan=-; UPDATE penilaian_modal SET id_usulan = p_usulan WHERE
id_usulan=-; UPDATE penilaian_kondisi SET id_usulan = p_usulan WHERE
id_usulan=-; ELSE
SET i =1; WHILE i=4
DO SET v_count =v_count+1;
SET v_temp_kar = SELECT SUBSTRMAXid_penilaianKarakter,6+1 FROM
penilaian_karakter; SET v_temp_jam = SELECT
SUBSTRMAXid_penilaianJaminan,6+1 FROM penilaian_jaminan;
SET v_temp_kap = SELECT SUBSTRMAXid_penilaianKapasitas,6+1 FROM
penilaian_kapasitas; SET v_temp_mod = SELECT
SUBSTRMAXid_penilaianModal,6+1 FROM penilaian_modal;
SET v_temp_kon = SELECT SUBSTRMAXid_penilaianKondisi,6+1 FROM
penilaian_kondisi; SET v_jumlah_kar = CHAR_LENGTHv_temp_kar;
SET v_jumlah_jam = CHAR_LENGTHv_temp_jam; SET v_jumlah_kap = CHAR_LENGTHv_temp_kap;
SET v_jumlah_mod = CHAR_LENGTHv_temp_mod; SET v_jumlah_kon = CHAR_LENGTHv_temp_kon;
IF v_jumlah_kar = 1 AND v_jumlah_jam = 1 AND v_jumlah_kap = 1 AND v_jumlah_mod = 1 AND v_jumlah_kon
= 1 THEN SET v_nomor_kar = CONCAT0000,v_temp_kar;
SET v_nomor_jam= CONCAT0000,v_temp_jam; SET v_nomor_kap = CONCAT0000,v_temp_kap;
SET v_nomor_mod= CONCAT0000,v_temp_mod; SET v_nomor_kon = CONCAT0000,v_temp_kon;
ELSEIF v_jumlah_kar = 2 AND v_jumlah_jam = 2 AND v_jumlah_kap = 2 AND v_jumlah_mod = 2 AND v_jumlah_kon
= 2 THEN SET v_nomor_kar = CONCAT000,v_temp_kar;
SET v_nomor_jam= CONCAT000,v_temp_jam; SET v_nomor_kap = CONCAT000,v_temp_kap;
SET v_nomor_mod= CONCAT000,v_temp_mod; SET v_nomor_kon = CONCAT000,v_temp_kon;
ELSEIF v_jumlah_kar = 3 AND v_jumlah_jam = 3 AND v_jumlah_kap = 3 AND v_jumlah_mod = 3 AND v_jumlah_kon
= 3 THEN SET v_nomor_kar = CONCAT00,v_temp_kar;
SET v_nomor_jam= CONCAT00,v_temp_jam; SET v_nomor_kap = CONCAT00,v_temp_kap;
SET v_nomor_mod= CONCAT00,v_temp_mod; SET v_nomor_kon = CONCAT00,v_temp_kon;
ELSEIF v_jumlah_kar = 4 AND v_jumlah_jam = 4 AND v_jumlah_kap = 4 AND v_jumlah_mod = 4 AND v_jumlah_kon
= 4 THEN SET v_nomor_kar = CONCAT0,v_temp_kar;
SET v_nomor_jam= CONCAT0,v_temp_jam; SET v_nomor_kap = CONCAT0,v_temp_kap;
SET v_nomor_mod= CONCAT0,v_temp_mod; SET v_nomor_kon = CONCAT0,v_temp_kon;
ELSE SET v_nomor_kar = v_jumlah_kar;
SET v_nomor_jam = v_jumlah_jam; SET v_nomor_kap = v_jumlah_kap;
SET v_nomor_mod = v_jumlah_mod; SET v_nomor_kon = v_jumlah_kon;
END IF; INSERT INTO penilaian_karakter VALUESCONCATPKAR-
,v_nomor_kar, v_bobot_kar, 0, p_usulan, CONCATKTR- ,CASTv_count AS CHAR5;
INSERT INTO penilaian_jaminan VALUESCONCATPJAM- ,v_nomor_jam, v_bobot_jam, 0, p_usulan, CONCATJAM-
,CASTv_count AS CHAR5; INSERT INTO penilaian_kapasitas VALUESCONCATPKAP-
,v_nomor_kap, v_bobot_kap, 0, p_usulan, CONCATKAP- ,CASTv_count AS CHAR5;
INSERT INTO penilaian_modal VALUESCONCATPMOD- ,v_nomor_mod, v_bobot_mod, 0, p_usulan, CONCATMOD-
,CASTv_count AS CHAR5; INSERT INTO penilaian_kondisi VALUESCONCATPKON-
,v_nomor_kon, v_bobot_kon, 0, p_usulan, CONCATKON- ,CASTv_count AS CHAR5;
SET i=i+1; END WHILE;
END IF; END IF;
END DELIMITER ;
4.2.3.2.1.2 Ubah Data Pemohon
Fitur ubah dapat digunakan oleh manajer kredit untuk mengubah data nasabah jika terjadi kesalahan pengisian. Untuk
mengubah data maka langkah yang harus dilakukan adalah memilih nasabah dari tabel daftar pemohon.
Gambar 4.16 Ubah Data Pemohon
4.2.3.2.1.3 Hapus Data Pemohon
Fitur hapus ini dapat digunakan oleh manajer kredit untuk menghapus data pemohon. Untuk menghapus data maka langkah
yang harus dilakukan juga dengan memilih nasabah dari tabel
daftar pemohon, lalu tekan tombol hapus.
Gambar 4.17 Hapus Data Pemohon
4.2.3.2.2 Pengelolaan Angsuran Pemohon
Halaman Pengelolaan Angsuran Pemohon berguna untuk merekam track record angsuran kredit pemohon sebagai nasabah
lama. Track record ini dibutuhkan sebagai salah satu penilaian keputusan dalam simulasi kredit. Pada halaman ini menampilkan
daftar pemohon, jika nasabah dipilih maka manajer kredit dapat
merekam dan melihat detil angsuran pemohon.
Gambar 4.18 Halaman Angsuran Kredit
4.2.3.2.2.1 Formulir Pengisian Data Angsuran Kredit
Gambar 4.19 Formulir Pengisian Data Angsuran Kredit
Gambar di atas menampilkan formulir pengisian data angsuran kredit. Untuk setiap data yang terekam maka akan langsung
ditampilkan dalam tabel Detil Angsuran seperti berikut ini:
Gambar 4.20 Detil Angsuran Kredit
4.2.3.3 Halaman Kriteria dan Bobot
Halaman ini memuat formulir untuk menentukan nama sub kriteria dan bobot sub kriteria untuk masing-masing kriteria 5C. Setelah
nama sub kriteria dan bobot sub kriteria ditentukan, manajer kredit dapat menentukan bobot utama kriteria 5C untuk perhitungan pada
menu simulasi.
Gambar 4.21 Halaman Kriteria dan Bobot
4.2.3.3.1 Pengisian Bobot Kriteria dan Sub Kriteria
Untuk menentukan nama sub kriteria manajer kredit dapat mengubah sub kriteria pada field yang disediakan dan untuk
bobotnya dapat dipilih pada RadioButton yang telah disediakan. Untuk pengisian pertama kali maka digunakan
tombol simpan, untuk selanjutnya digunakan tombol ubah.
Gambar 4.22 Form Sub Kriteria dan Bobot Sub Kriteria Karakter
Gambar 4.23 Form Sub Kriteria dan Bobot Sub Kriteria Jaminan
Gambar 4.24 Form Sub Kriteria dan Bobot Sub Kriteria Kapasitas
Gambar 4.25 Form Sub Kriteria dan Bobot Sub Kriteria Modal
Gambar 4.26 Form Sub Kriteria dan Bobot Sub Kriteria Kondisi Ekonomi
4.2.3.3.2 Pengisian Bobot Kriteria Utama 5C
Penentuan bobot kriteria utama 5C dilakukan dengan cara memilih nilai yang telah disediakan dalam RadioButton.
Bobot inilah yang menentukan kriteria yang memiliki prioritas teringgi untuk penentuan pemberian kredit. Dengan demikian
manajer kredit dapat melakukan perubahan bobot kriteria yang menjadi prioritas sewaktu-waktu tergantung pada kondisi
tertentu.
Gambar 4.27 Form Kriteria dan Bobot Kriteria 5C
4.2.3.4 Halaman Simulasi Penerimaan Kredit
Pada halaman simulasi ini yang pertama kali ditampilkan adalah daftar pemohon yang dapat digunakan untuk memilih nasabah yang
akan digunakan untuk simulasi.
Gambar 4.28 Daftar Pemohon Halaman Simulasi
Untuk mengambil idPemohon yang dipilih, kemudian akan
dimasukkan ke dalam masing-masing baris tabel sub kriteria, berikut penggalan perintah programnya:
for rownumber = 0; rownumber karakterTabel.getRowCount; rownumber++ {
row = rownumber; if karakterTabel.getValueAtrownumber, 0 ==
null { karakterTabel.setValueAtsimulasiTabel.getValueAtsimulasiTab
el.getSelectedRow, 0, row, 0; break;
} else
ifsimulasiTabel.getValueAtsimulasiTabel.getSelectedRow, 0==karakterTabel.getValueAtrownumber, 0{
JOptionPane.showMessageDialognull, Nasabah telah dipilih, silahkan pilih nasabah lain;
} }
if rownumber == karakterTabel.getRowCount { DefaultTableModel model = DefaultTableModel
karakterTabel.getModel; model.addRownew
Object[]{simulasiTabel.getValueAtsimulasiTabel.getSelectedRo w, 0, null, null, null, null, null};
} jaminan tabel
for rownumber = 0; rownumber JaminanTabel.getRowCount; rownumber++ {
row = rownumber; if JaminanTabel.getValueAtrownumber, 0 ==
null { JaminanTabel.setValueAtsimulasiTabel.getValueAtsimulasiTabe
l.getSelectedRow, 0, row, 0; break;
} }
if rownumber == JaminanTabel.getRowCount { DefaultTableModel model = DefaultTableModel
JaminanTabel.getModel; model.addRownew
Object[]{simulasiTabel.getValueAtsimulasiTabel.getSelectedRo w, 0, null, null, null, null, null};
} kapasitas tabel
for rownumber = 0; rownumber kapasitasTabel.getRowCount; rownumber++ {
row = rownumber; if kapasitasTabel.getValueAtrownumber, 0 ==
null { kapasitasTabel.setValueAtsimulasiTabel.getValueAtsimulasiTa
bel.getSelectedRow, 0, row, 0; break;
} }
if rownumber == kapasitasTabel.getRowCount { DefaultTableModel model = DefaultTableModel
kapasitasTabel.getModel; model.addRownew
Object[]{simulasiTabel.getValueAtsimulasiTabel.getSelectedRo w, 0, null, null, null, null, null};
} modal tabel
for rownumber = 0; rownumber modalTabel.getRowCount; rownumber++ {
row = rownumber; if modalTabel.getValueAtrownumber, 0 == null
{ modalTabel.setValueAtsimulasiTabel.getValueAtsimulasiTabel.
getSelectedRow, 0, row, 0; break;
} }
if rownumber == modalTabel.getRowCount { DefaultTableModel model = DefaultTableModel
modalTabel.getModel; model.addRownew
Object[]{simulasiTabel.getValueAtsimulasiTabel.getSelectedRo w, 0, null, null, null, null, null};
} kondisi tabel
for rownumber = 0; rownumber kondisiTabel.getRowCount; rownumber++ {
row = rownumber; if kondisiTabel.getValueAtrownumber, 0 ==
null { kondisiTabel.setValueAtsimulasiTabel.getValueAtsimulasiTabe
l.getSelectedRow, 0, row, 0; break;
}
} if rownumber == kondisiTabel.getRowCount {
DefaultTableModel model = DefaultTableModel kondisiTabel.getModel;
model.addRownew Object[]{simulasiTabel.getValueAtsimulasiTabel.getSelectedRo
w, 0, null, null, null, null, null}; }
kriteria tabel for rownumber = 0; rownumber
kriteriaTabel.getRowCount; rownumber++ { row = rownumber;
if kriteriaTabel.getValueAtrownumber, 0 == null {
kriteriaTabel.setValueAtsimulasiTabel.getValueAtsimulasiTab el.getSelectedRow, 0, row, 0;
break; }
} if rownumber == kriteriaTabel.getRowCount {
DefaultTableModel model = DefaultTableModel kriteriaTabel.getModel;
model.addRownew Object[]{simulasiTabel.getValueAtsimulasiTabel.getSelectedRo
w, 0, null, null, null, null, null}; }
Perintah program tersebut akan menampilkan idPemohon di
setiap tabel kriteria 5C, sehingga memudahkan manajer kredit dalam melakukan simulasi dengan memperkecil kemungkinan terjadinya
ketidaksesuaian pemilihan idPemohon.
Gambar 4.29 Form Simulasi Kredit
4.2.3.4.1 Normalisasi dan Perhitungan Total Sub Kriteria Hasil Survey
Dalam perhitungan SAW langkah-langkah yang dilakukan setelah menentukan kriteria dan bobot kriteria adalah membuat
matriks keputusan. Matriks ini dibuat berdasarkan kriteria Ci, kemudian matriks dinormalisasikan berdasarkan persamaan yang
disesuaikan dengan jenis atribut atribut keuntungan ataupun atribut biaya sehingga diperoleh matriks ternormalisasi R. Berikut
perhitungannya:
Normalisasi dan Perhitungan Total Sub Kriteria Karakter
Dalam perhitungan ini manajer kredit harus memasukkan nilai survey terlebih dahulu untuk setiap pemohon secara manual.
Di atas tabel kriteria karakter terdapat tabel yang menampilkan nama dan bobot sub kriteria untuk mengingatkan manajer kredit
akan bobot yang menjadi patokan.
Gambar 4.30 Tabel Pengisian Hasil Survey Karakter
Setelah nilai survey dimasukkan maka manajer kredit
hanya perlu menekan tombol Proses Perhitungan SAW. Berikut hasilnya:
Gambar 4.31 Hasil Total Skor Karakter
Hasil total skor karakter di atas diperoleh dari perkalian nilai normalisasi dengan bobot sub kriteria karakter. Berikut
penggalan programnya:
double max1 = 0; double max2 = 0;
double max3 = 0; double max4 = 0;
double total = 0; mencari nilai max
for int i = 0; i karakterTabel.getRowCount; i++ {
if max1 = Double.parseDoublekarakterTabel.getValueAti,
1.toString { max1 =
Double.parseDoublekarakterTabel.getValueAti, 1.toString;
} if max2 =
Double.parseDoublekarakterTabel.getValueAti, 2.toString {
max2 = Double.parseDoublekarakterTabel.getValueAti,
2.toString; }
if max3 = Double.parseDoublekarakterTabel.getValueAti,
3.toString { max3 =
Double.parseDoublekarakterTabel.getValueAti, 3.toString;
} if max4 =
Double.parseDoublekarakterTabel.getValueAti, 4.toString {
max4 = Double.parseDoublekarakterTabel.getValueAti,
4.toString; }
}
Berikut penggalan program untuk perhitungan total skor.
total dan normalisasi for int i = 0; i karakterTabel.getRowCount; i++
{ total =
Double.parseDoublekarakterTabel.getValueAti, 1.toString max1
Double.parseDoublebobotSubKarakter1.getText +
Double.parseDoublekarakterTabel.getValueAti, 2.toString max2
Double.parseDoublebobotSubKarakter2.getText +
Double.parseDoublekarakterTabel.getValueAti, 3.toString max3
Double.parseDoublebobotSubKarakter3.getText +
Double.parseDoublekarakterTabel.getValueAti, 4.toString max4
Double.parseDoublebobotSubKarakter4.getText; karakterTabel.setValueAttotal, i, 5;
kriteriaTabel.setValueAttotal, i, 1; }
Normalisasi dan Perhitungan Total Sub Kriteria Jaminan
Gambar 4.32 Tabel Pengisian Hasil Survey Jaminan
Setelah nilai survey dimasukkan maka manajer kredit
hanya perlu menekan tombol Proses Perhitungan SAW. Berikut hasilnya:
Gambar 4.33 Hasil Total Skor Jaminan
Hasil total skor jaminan di atas diperoleh dari perkalian nilai normalisasi dengan bobot sub kriteria jaminan. Berikut
penggalan programnya:
double max1 = 0; double max2 = 0;
double max3 = 0; double max4 = 0;
double total = 0; mencari nilai max
for int i = 0; i JaminanTabel.getRowCount; i++ {
if max1 = Double.parseDoubleJaminanTabel.getValueAti, 1.toString
{ max1 =
Double.parseDoubleJaminanTabel.getValueAti, 1.toString; }
if max2 = Double.parseDoubleJaminanTabel.getValueAti, 2.toString
{ max2 =
Double.parseDoubleJaminanTabel.getValueAti, 2.toString; }
if max3 = Double.parseDoubleJaminanTabel.getValueAti, 3.toString
{ max3 =
Double.parseDoubleJaminanTabel.getValueAti, 3.toString; }
if max4 = Double.parseDoubleJaminanTabel.getValueAti, 4.toString
{ max4 =
Double.parseDoubleJaminanTabel.getValueAti, 4.toString; }
}
Berikut penggalan program untuk perhitungan total skor.
total dan normalisasi for int i = 0; i JaminanTabel.getRowCount; i++
{ total =
Double.parseDoubleJaminanTabel.getValueAti, 1.toString max1
Double.parseDoublebobotSubJaminan1.getText +
Double.parseDoubleJaminanTabel.getValueAti, 2.toString max2
Double.parseDoublebobotSubJaminan2.getText +
Double.parseDoubleJaminanTabel.getValueAti, 3.toString max3
Double.parseDoublebobotSubJaminan3.getText +
Double.parseDoubleJaminanTabel.getValueAti, 4.toString max4
Double.parseDoublebobotSubJaminan4.getText; JaminanTabel.setValueAttotal, i, 5;
kriteriaTabel.setValueAttotal, i, 2;
Normalisasi dan Perhitungan Total Sub Kriteria Kapasitas
Gambar 4.34 Tabel Pengisian Hasil Survey Kapasitas
Setelah nilai survey dimasukkan maka manajer kredit
hanya perlu menekan tombol Proses Perhitungan SAW. Berikut hasilnya:
Gambar 4.35 Hasil Total Skor Kapasitas
Hasil total skor kapasitas di atas diperoleh dari perkalian nilai normalisasi dengan bobot sub kriteria kapasitas. Berikut
penggalan programnya:
double max1 = 0; double max2 = 0;
double max3 = 0; double max4 = 0;
double total = 0; mencari nilai max
for int i = 0; i kapasitasTabel.getRowCount; i++ {
if max1 = Double.parseDoublekapasitasTabel.getValueAti,
1.toString { max1 =
Double.parseDoublekapasitasTabel.getValueAti, 1.toString;
} if max2 =
Double.parseDoublekapasitasTabel.getValueAti, 2.toString {
max2 = Double.parseDoublekapasitasTabel.getValueAti,
2.toString; }
if max3 = Double.parseDoublekapasitasTabel.getValueAti,
3.toString { max3 =
Double.parseDoublekapasitasTabel.getValueAti, 3.toString;
} if max4 =
Double.parseDoublekapasitasTabel.getValueAti, 4.toString {
max4 = Double.parseDoublekapasitasTabel.getValueAti,
4.toString; }
}
Berikut penggalan program untuk menghitung total skor.
total dan normalisasi for int i = 0; i
kapasitasTabel.getRowCount; i++ { total =
Double.parseDoublekapasitasTabel.getValueAti, 1.toString max1
Double.parseDoublebobotSubKapasitas1.getText +
Double.parseDoublekapasitasTabel.getValueAti, 2.toString max2
Double.parseDoublebobotSubKapasitas2.getText
+ Double.parseDoublekapasitasTabel.getValueAti,
3.toString max3 Double.parseDoublebobotSubKapasitas3.getText
+ Double.parseDoublekapasitasTabel.getValueAti,
4.toString max4 Double.parseDoublebobotSubKapasitas4.getText;
kapasitasTabel.setValueAttotal, i, 5; kriteriaTabel.setValueAttotal, i, 3; }
Normalisasi dan Perhitungan Total Sub Kriteria Modal
Gambar 4.36 Tabel Pengisian Hasil Survey Modal
Setelah nilai survey dimasukkan maka manajer kredit
hanya perlu menekan tombol Proses Perhitungan SAW. Berikut hasilnya:
Gambar 4.37 Hasil Total Skor Modal
Hasil total skor modal di atas diperoleh dari perkalian nilai normalisasi dengan bobot sub kriteria modal. Berikut penggalan
programnya:
double max1 = 0; double max2 = 0;
double max3 = 0;
double max4 = 0; double total = 0;
cari max duyu for int i = 0; i modalTabel.getRowCount;
i++ { if max1 =
Double.parseDoublemodalTabel.getValueAti, 1.toString {
max1 = Double.parseDoublemodalTabel.getValueAti,
1.toString; }
if max2 = Double.parseDoublemodalTabel.getValueAti,
2.toString { max2 =
Double.parseDoublemodalTabel.getValueAti, 2.toString;
} if max3 =
Double.parseDoublemodalTabel.getValueAti, 3.toString {
max3 = Double.parseDoublemodalTabel.getValueAti,
3.toString; }
if max4 = Double.parseDoublemodalTabel.getValueAti,
4.toString { max4 =
Double.parseDoublemodalTabel.getValueAti, 4.toString;
} }
Berikut penggalan program untuk perhitungan total skor.
total dan normalisasi for int i = 0; i modalTabel.getRowCount;
i++ { total =
Double.parseDoublemodalTabel.getValueAti, 1.toString max1
Double.parseDoublebobotSubModal1.getText +
Double.parseDoublemodalTabel.getValueAti, 2.toString max2
Double.parseDoublebobotSubModal2.getText +
Double.parseDoublemodalTabel.getValueAti, 3.toString max3
Double.parseDoublebobotSubModal3.getText +
Double.parseDoublemodalTabel.getValueAti, 4.toString max4
Double.parseDoublebobotSubModal4.getText; modalTabel.setValueAttotal, i, 5;
kriteriaTabel.setValueAttotal, i, 4; }
Normalisasi dan Perhitungan Total Sub Kriteria Kondisi Ekonomi
Gambar 4.38 Tabel Pengisian Hasil Survey Kondisi Ekonomi
Setelah nilai survey dimasukkan maka manajer kredit
hanya perlu menekan tombol Proses Perhitungan SAW. Berikut hasilnya:
Gambar 4.39 Hasil Total Skor Kondisi Ekonomi
Hasil total skor kondisi ekonomi di atas diperoleh dari perkalian nilai normalisasi dengan bobot sub kriteria kondisi
ekonomi. Berikut penggalan programnya:
double max1 = 0; double max2 = 0;
double max3 = 0; double max4 = 0;
double total = 0; mencari nilai max
for int i = 0; i kondisiTabel.getRowCount; i++ {
if max1 = Double.parseDoublekondisiTabel.getValueAti,
1.toString { max1 =
Double.parseDoublekondisiTabel.getValueAti, 1.toString;
} if max2 =
Double.parseDoublekondisiTabel.getValueAti, 2.toString {
max2 = Double.parseDoublekondisiTabel.getValueAti,
2.toString; }
if max3 = Double.parseDoublekondisiTabel.getValueAti,
3.toString { max3 =
Double.parseDoublekondisiTabel.getValueAti, 3.toString;
} if max4 =
Double.parseDoublekondisiTabel.getValueAti, 4.toString {
max4 = Double.parseDoublekondisiTabel.getValueAti,
4.toString; }
}
Berikut penggalan program untuk perhitungan total skor kondisi ekonomi.
total dan normalisasi for int i = 0; i
kondisiTabel.getRowCount; i++ { total =
Double.parseDoublekondisiTabel.getValueAti, 1.toString max1
Double.parseDoublebobotSubKondisi1.getText +
Double.parseDoublekondisiTabel.getValueAti, 2.toString max2
Double.parseDoublebobotSubKondisi2.getText +
Double.parseDoublekondisiTabel.getValueAti, 3.toString max3
Double.parseDoublebobotSubKondisi3.getText +
Double.parseDoublekondisiTabel.getValueAti, 4.toString max4
Double.parseDoublebobotSubKondisi4.getText; kondisiTabel.setValueAttotal, i, 5;
kriteriaTabel.setValueAttotal, i, 5;
4.2.3.4.2 Normalisasi dan Total Skor Bobot Kriteria Utama
Setelah total skor pemohon dari masing-masing kriteria didapatkan, maka langkah selanjutnya manajer kredit hanya perlu
melakukan perhitungan SAW terhadap kriteria 5C untuk mendapatkan total skor akhir pemohon dengan menekan tombol
Proses Perhitungan SAW. Berikut tampilan sistem sebelum
dilakukan perhitungan dan setelah dilakukan perhitungan total skor akhir.
Gambar 4.40 Tabel Rekomendasi Keputusan Kredit
Hasil Perhitungan SAW:
Gambar 4.41 Total Skor Tabel Rekomendasi Keputusan Kredit
Total skor pada gambar di atas diperoleh dari perhitungan dalam penggalan perintah program sebagai berikut:
double max1 = 0; double max2 = 0;
double max3 = 0; double max4 = 0;
double max5 = 0; double total = 0;
mencari nilai max for int i = 0; i kriteriaTabel.getRowCount; i++
{ if max1 =
Double.parseDoublekriteriaTabel.getValueAti, 1.toString {
max1 = Double.parseDoublekriteriaTabel.getValueAti,
1.toString; }
if max2 = Double.parseDoublekriteriaTabel.getValueAti,
2.toString { max2 =
Double.parseDoublekriteriaTabel.getValueAti, 2.toString;
} if max3 =
Double.parseDoublekriteriaTabel.getValueAti, 3.toString {
max3 = Double.parseDoublekriteriaTabel.getValueAti,
3.toString; }
if max4 = Double.parseDoublekriteriaTabel.getValueAti,
4.toString { max4 =
Double.parseDoublekriteriaTabel.getValueAti, 4.toString;
} if max5 =
Double.parseDoublekriteriaTabel.getValueAti, 5.toString {
max5 = Double.parseDoublekriteriaTabel.getValueAti,
5.toString; }
} total dan normalisasi
for int i = 0; i kriteriaTabel.getRowCount; i++ {
total = Double.parseDoublekriteriaTabel.getValueAti, 1.toString
max1 Double.parseDoublekarakterText.getText
+ Double.parseDoublekriteriaTabel.getValueAti, 2.toString
max2 Double.parseDoublejaminanText.getText
+ Double.parseDoublekriteriaTabel.getValueAti, 3.toString
max3 Double.parseDoublekapasitasText.getText
+ Double.parseDoublekriteriaTabel.getValueAti, 4.toString
max4 Double.parseDoublemodalText.getText
+ Double.parseDoublekriteriaTabel.getValueAti, 5.toString
max5 Double.parseDoublekondisiEkonomiText.getText;
kriteriaTabel.setValueAttotal, i, 6; }
4.2.3.4.3 Mengecek Total Nilai dan Hasil Keputusan
Setelah total skor didapatkan, selanjutnya manajer kredit menentukan patokan skor penerimaan berdasarkan ketentuan
sebagai berikut:
Rentang Nilai Nilai
0-7,9
Sangat Rendah 8-14,9
Rendah 15-21,9
Cukup 22-28,9
Tinggi 29-35
Sangat Tinggi
Tabel 4.14 Ketentuan Skor
Gambar 4.42 Patokan Skor Penerimaan Kredit
Selain menggunakan patokan skor penerimaan, digunakan kondisi yang akan mengecek performa angsuran kredit
pemohon sebagai nasabah lama. Berikut penggalan program yang digunakan untuk melakukan pengecekan total skor dan performa
kredit.
for int i = 0; i kriteriaTabel.getRowCount; i++ { if Double.parseDoublepatokanSkor.getText =
Double.parseDoublekriteriaTabel.getValueAti, 6.toString simulasiTabel.getValueAti, 10.toString.equalsNasabah
Lancar { kriteriaTabel.setValueAtDiterima, i, 7;
} else if Double.parseDoublepatokanSkor.getText
Double.parseDoublekriteriaTabel.getValueAti, 6.toString simulasiTabel.getValueAti, 10.toString.equalsNasabah
Lancar { kriteriaTabel.setValueAtDitolak, i, 7;
} else if Double.parseDoublepatokanSkor.getText
= Double.parseDoublekriteriaTabel.getValueAti, 6.toString simulasiTabel.getValueAti,
10.toString.equalsNasabah Tidak Lancar { kriteriaTabel.setValueAtDiterima, i, 7;
} else if Double.parseDoublepatokanSkor.getText
Double.parseDoublekriteriaTabel.getValueAti, 6.toString simulasiTabel.getValueAti,
10.toString.equalsNasabah Tidak Lancar {
kriteriaTabel.setValueAtDitolak, i, 7; }
}
Pada penggalan program di atas terdapat 4 kondisi pengecekan total skor dan performa kredit, yaitu:
a. Jika patokan skor lebih kecil atau sama dengan total skor dan
performa nasabah adalah Nasabah Lancar, maka diterima. b.
Jika patokan skor lebih besar dari total skor dan performa nasabah adalah Nasabah Lancar, maka ditolak.
c. Jika patokan skor lebih kecil atau sama dengan total skor dan
performa nasabah adalah Nasabah Tidak Lancar, maka diterima.
d. Jika patokan skor lebih besar dari total skor dan performa
nasabah adalah Nasabah Tidak Lancar, maka ditolak.
Gambar 4.43 Hasil Keputusan Rekomendasi Kredit
4.2.3.4.4 Perangkingan Penerimaan Kredit
Setelah perhitungan SAW serta pengecekan total skor dilakukan maka langkah selanjutnya adalah proses perangkingan
penerimaan kredit. Proses ini dapat memudahkan manajer kredit untuk mengetahui pemohon yang menjadi prioritas karena
memiliki total skor tinggi.
Gambar 4.44 Peringkat Hasil Keputusan Rekomendasi Kredit
Proses perangkingan diurutkan berdasarkan total skor tertinggi dengan perintah dalam penggalan program berikut.
String ids = ; for int i = 0; i tab.getRowCount; i++ {
if i == tab.getRowCount - 1 { ids = ids ++ tab.getValueAti,
0.toString+; } else {
ids = ids ++ tab.getValueAti, 0.toString+ + ,;
}
} PreparedStatement statement = null;
ResultSet result = null; koneksi.setAutoCommitfalse;
String sql1 = SELECT a.id_nasabah,a.nama_nasabah, b.total_skorKredit, a.hasil_keputusan FROM nasabah a,
+ penilaian_usulan b WHERE a.id_nasabah= b.id_nasabah and a.id_nasabah in+ids+ ORDER BY
b.total_skorKredit desc; statement = koneksi.prepareStatementsql1;
result = statement.executeQuery; ListSimulasi simulasiL = new
ArrayListSimulasi; while result.next {
Simulasi simulasi2 = new Simulasi; UsulanKredit usulan2 = new UsulanKredit;
String selectedId = result.getString1; String selectedNama = result.getString2;
float selectedTotalSkor = Float.parseFloatresult.getString3;
String selectedKeputusan = result.getString4; simulasi2.setId_nasabahselectedId;
simulasi2.setNama_nasabahselectedNama; simulasi2.setTotal_skorselectedTotalSkor;
simulasi2.setHasil_keputusanselectedKeputusan; simulasiL.addsimulasi2;
} koneksi.commit;
koneksi.close; return simulasiL;
4.2.3.5 Halaman Laporan Penerimaan Kredit
Halaman Laporan Penerimaan Kredit ini akan menampilkan seluruh hasil perhitungan simulasi pemohon. Hal ini berguna sebagai
dokumentasi berupa laporan yang dapat dicetak agar manajer kredit dapat melihat seluruh hasil rekomendasi penerimaan kredit dari
simulasi yang telah dilakukan.
Gambar 4.45 Laporan Penerimaan Kredit Pemohon
Untuk menghubungkan java dengan IReport berikut penggalan perintah programnya.
Connection konek = null; String reportSource;
konek = com.Entities.Koneksi.Koneksi; reportSource =
com.ReportLaporanKredit.jasper;
MapString, Object params = new HashMapString, Object;
JasperPrint jasperprint; jasperprint =
JasperFillManager.fillReportreportSource, params, konek; JasperViewer.viewReportjasperprint, false;
Penggalan program yang dicetak tebal merupakan nama file .jasper yang merupakan file LaporanKredit.
139
BAB V PENGUJIAN DAN ANALISIS DATA
Dalam tahap ini akan dilakukan pengujian dan analisis data terhadap sistem untuk mengetahui efektifitas penggunaan metode SAW dalam
mengambil keputusan pada sistem ini. Proses pengujian ini akan dilakukan dengan teknik simulasi data asli. Proses analisis data akan dilakukan dengan
cara membandingkan hasil keputusan yang diperoleh dari sistem sama dengan keputusan asli dari data asli nasabah PT. BPR X manual, untuk lebih detil
berikut penjelasannya.
5.1 Pengujian Sistem
Proses pengujian sistem dilakukan dengan menggunakan data asli milik nasabah PT BPR X dengan rincian sebagai berikut:
4 15 Data nasabah lama, performa Nasabah Lancar : diterima
5 15 Data nasabah lama, performa Nasabah Tidak Lancar : ditolak
6 4 Data nasabah lama, performa Nasabah Tidak Lancar: diterima
Proses pengujian sistem diawali dengan memasukkan semua data nasabah ke dalam sistem berupa identitas nasabah maupun track record
angsuran nasabah. Langkah selanjutnya adalah menentukan bobot