Spk Profile Matching Dan Weight Product.pdf

  • Uploaded by: Boedhiex Haryono
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Spk Profile Matching Dan Weight Product.pdf as PDF for free.

More details

  • Words: 19,848
  • Pages: 152
SISTEM PENDUKUNG KEPUTUSAN PEMBERIAN PINJAMAN MODAL USAHA DENGAN METODE WEIGHT PRODUCT DAN PROFILE MATCHING PADA KANTOR UNIT PERMODALAN NASIONAL MADANI (PERSERO)

SKRIPSI

Oleh : AYU LESTARI P NIM. 1420000216

PROGRAM STUDI SISTEM INFORMASI FAKULTAS TEKNIK DAN ILMU KOMPUTER UNIVERSITAS POTENSI UTAMA MEDAN 2018

SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer

Untuk Ayah Dan Ibu Tersayang Ayah, Ibu Aku tau dalam senyummu kau sembunyikan letih dan sedihmu, Tak sedetikpun kau hentikan lenganmu demi memperjuangkan masa depan anakanakmu. Disetiap tetes keringatmu, dan setiap hembusan nafasmu, Mempunyai rasa kasihsayang yang luar biasa. Ayah, Ibu Aku akan kembali kedalam pangkuanmu Kurang lebih 4 tahun sudah aku menunaikan kewajibanku Untuk meneruskan cita-cita dan impian tertanam jauh di dalam lubuk hatiku Ayah, Ibu Akan aku persembahkan sebuah gelar diujung namaku Sebagai penghapus butiran keringat dan cucuran air mata pengorbananmu Satu malam satu lembar saja….!! Diam & mulailah belajar…..!! Bukankah janjimu ingin jadi SARJANA? Janganlah membuat mereka meneteskan air mata! Baju toga itu, mengeringkan semua keringat mereka! Menghapus air mata mereka! Membayar semua pengorbanan mereka! Ingat…! Bukan emas & permata sebagai bentuk balas jasa! Hanya kata-kata sederhana! SARJANA….Saja! Ayah, Ibu Terimah kasih atas segala perhatian dan kasih sayangmu Yang tulus ikhlas untuk kami anakmu Kami selalu menyayangimu nanti dan selamanya

ABSTRAK Salah satu cara pemerintah untuk menanggulangi dan membantu masyarakat kurang mampu ini adalah dengan menghadirkan bantuan permodalan melalui badan usaha milik Negara yakni PNM. PNM hadir melalui Mekaar untuk memberikan pelayanan bagi wanita kurang mampu yang tidak memiliki modal untuk membuka usaha dan mengembangkan usaha mereka dengan persyaratan layanan nasabah berbasis kelompok. Seiring banyaknya minat dari masyarakat kurang mampu ini, pihak pembuat keputusan sering dihadapkan pada permasalahan dalam memutuskan masyarakat yang layak mendapatkan pinjaman modal usaha dikarenakan data kriteria pemilihan dan data pengajuan bantuan yang begitu banyak. Kriteria yang digunakan dalam pengambilan keputusan diantaranya adalah kondisi rumah tinggal (luas bangunan, kondisi bangunan, jenis atap, dinding dan lantai) serta tingkat pendapatan (penghasilan rumah tangga sehari, pengeluaran rumah tangga sehari dan jumlah tanggungan). Penelitian ini menggabungkan dua metode pengambilan keputusan yakni metode weight product dan profile matching. Weight product merupakan metode pengambilan keputusan analisis multi kriteria yang banyak digunakan. Profile matching dapat memberikan bobot nilai sesuai tingkat kepentingan kriteria. Penggabungan dua metode ini bertujuan menggabungkan kekuatan masing-masing metode dan meminimalkan kekurangan-kekurangan dari masing-masing metode. Hasil yang diharapkan dari penelitian ini adalah suatu aplikasi sistem pendukung keputusan pemberian pinjaman modal usaha yang dapat menjadi solusi optimal dan akurat bagi perusahaan dalam pengambilan keputusan. Kata kunci : SPK, Weightproduct, Profilematching, PNM, Nasabah

ABSTRACT

One way the government to tackle and assist these underprivileged people is by presenting capital assistance through state-owned enterprises namely PNM. PNM is present through Mekaar to provide services for underprivileged women who do not have the capital to open businesses and develop their businesses with the requirements of group-based customer services. Along with the many interests of these underprivileged people, decision makers are often faced with the problem of deciding the people who are eligible to obtain business capital loans because of the selection criteria data and the data of so many submissions. The criteria used in decision making are housing condition (building area, building condition, roof type, wall and floor) and income level (household income per day, daily household expenses and dependent amount). This research combines two methods of decision making that is method of weight product and profile matching. Weight product is a multi-criteria decision-making method that is widely used. Profile matching can give the weight of the value according to the level of importance of the criteria. The merger of these two methods aims to combine the strengths of each method and minimize the deficiencies of each method. The expected result of this research is an application of decision support system of business capital loan that can be an optimal and accurate solution for company in decision making. Keywords: SPK, Weightproduct, Profilematching, PNM, Customers

DAFTAR ISI

KATA PENGANTAR ............................................................................................ i DAFTAR ISI .......................................................................................................... ii DAFTAR TABEL ..................................................................................................v DAFTAR GAMBAR .......................................................................................... vii DAFTAR LAMPIRAN ....................................................................................... ix BAB I PENDAHULUAN ......................................................................................1 I.1

Latar Belakang .............................................................................................1

I.2

Ruang Lingkup Permasalahan .....................................................................3 I.2.1 Identifikasi Masalah ...........................................................................3 I.2.2 Perumusan Masalah ...........................................................................3 I.2.3 Batasan Masalah ................................................................................4

I.3

Tujuan dan Manfaat ....................................................................................4 I.2.1 Tujuan ................................................................................................4 I.2.2 Manfaat ..............................................................................................5

I.4

Metode Penelitian ........................................................................................5

I.5

Kontribusi Keilmuan ...................................................................................8

I.6

Lokasi Penelitian .........................................................................................9

I.7

Keaslian Penelitian .......................................................................................9

I.8

Sistematika Penulisan ................................................................................13

BAB II LANDASAN TEORI .............................................................................15

ii

II.1

Sistem Pendukung Keputusan ...................................................................15 II.1.1 Karakteristik Sistem Pendukung Keputusan .................................15 II.1.2 Komponen-Komponen Sistem Pendukung Keputusan .................16 II.1.3 Kriteria Sistem Pendukung Keputusan ..........................................17 II.1.4 Fase Dalam Proses Pengambilan Keputusan .................................17 II.1.5 Tujuan Sistem Pendukung Keputusan ...........................................18

II.2

Pemberian Pinjaman (Pemberian Kredit) ..................................................19

II.3

Metode Profile Matching ..........................................................................20

II.4

Metode Weight Product ............................................................................22

II.5

Unified Modelling Language (UML) ........................................................23

II.6

Microsoft Visual Studio 2010 ....................................................................28

II.7

Microsoft SQL Server ................................................................................28

II.8

Normalisasi (Normalization) .....................................................................29

II.9

Basis Data (Database) ...............................................................................31 II.9.1 DBMS (Database Management System) .......................................32

BAB III ANALISA DAN DESAIN SISTEM ....................................................33 III.1

Analisa Masalah ........................................................................................33

III.2

Penerapan Metode Profile Matching dan Weighted Product ....................34

III.3

Desain Sistem ............................................................................................48 II.3.1 Use Case Diagram .........................................................................48 II.3.2 Class Diagram ...............................................................................49 II.3.3 Activity Diagram ...........................................................................49 II.3.4 Sequence Diagram .........................................................................57

iii

II.3.5 Basis Data ......................................................................................67 II.3.5.1

Normalisasi Data ...........................................................67

II.3.5.2

Desain Tabel .................................................................68

II.3.5.3

Desain Interface ............................................................71

BAB IV HASIL DAN UJICOBA .......................................................................76 IV.1

Tampilan Hasil ...........................................................................................76

IV.2

Spesifikasi Uji Coba Program ....................................................................83 IV.2.1 Uji Coba Program ..........................................................................83 IV.2.2 Hasil Coba .......................................................................................84 IV.2.3 Skenario Pengujian ........................................................................84

IV.3

Kelebihan dan Kekurangan Sistem ............................................................88 IV.3.1 Kelebihan Sistem ...........................................................................88 IV.3.2 Kekurangan Sistem ........................................................................89

BAB V KESIMPULAN DAN SARAN ...............................................................90 V.1

Kesimpulan.................................................................................................90

V.2

Saran ..........................................................................................................90

iv

DAFTAR GAMBAR

Gambar I.1

Diagram Fishbone Pengembangan Sistem .....................................6

Gambar II.1

Fase Proses Pengabilan Keputusan ..............................................18

Gambar III.1

Flowchart Penerapan Metode .......................................................35

Gambar III.2

Use Case Diagram Sistem Pendukung Keputusan .......................48

Gambar III.3

Class Diagram Sistem Pendukung Keputusan .............................49

Gambar III.4

Activity Diagram Login ...............................................................50

Gambar III.5

Activity Diagram Menu Data .......................................................50

Gambar III.6

Activity Diagram Master Data Korban ........................................51

Gambar III.7

Activity Diagram Penilaian Nasabah ...........................................52

Gambar III.8

Activity Diagram Master Data Pengguna ....................................53

Gambar III.9

Activity Diagram Proses SPK ......................................................54

Gambar III.10 Activity Diagram Laporan SPK ...................................................55 Gambar III.11 Activity Diagram Laporan Nasabah.............................................55 Gambar III.12 Activity Diagram Login Pimpinan ...............................................56 Gambar III.13 Activity Logout ............................................................................57 Gambar III.14 Sequence Diagram Form Login ...................................................58 Gambar III.15 Sequence Diagram Master ...........................................................59 Gambar III.16 Sequence Diagram Data Nasabah ................................................60 Gambar III.17 Sequence Diagram Penilaian Nasabah .........................................61 Gambar III.18 Sequence Diagram Pengguna .......................................................62 Gambar III.19 Sequence Diagram Proses SPK....................................................63

v

Gambar III.20 Sequence Diagram Laporan SPK .................................................64 Gambar III.21 Sequence Diagram Tentang .........................................................65 Gambar III.22 Sequence Diagram Form Login ...................................................66 Gambar III.23 Desain Sequence Lougout ............................................................67 Gambar III.24 Desain Sequence Lougout ............................................................67 Gambar III.25 Desain Form Login ......................................................................71 Gambar III.26 Desain Form Utama .....................................................................71 Gambar III.27 Desain Form Data Nasabah ..........................................................72 Gambar III.28 Desain Form Import Data Nilai....................................................72 Gambar III.29 Desain Form Pengguna ................................................................73 Gambar III.30 Desain Form Proses SPK .............................................................74 Gambar III.31 Desain Form Laporan SPK ..........................................................74 Gambar III.32 Desain Form Laporan Nasabah ....................................................75 Gambar IV.1

Performance Form Firm Login ....................................................76

Gambar IV.2

Tampilan Menu Utama ................................................................77

Gambar IV.3

Tampilan Master Data Nasabah ...................................................78

Gambar IV.4

Tampilan Master Data Penilaian ..................................................79

Gambar IV.5

Tampilan Data Pengguna .............................................................80

Gambar IV.6

Tampilan Proses SPK...................................................................81

Gambar IV.7

Tampilan Laporan SPK ................................................................82

Gambar IV.8

Tampilan Laporan Nasabah .........................................................83

vi

DAFTAR TABEL

Tabel.II.1

Simbol Use Case Diagram ................................................................24

Tabel.II.2

Simbol Class Diagram ......................................................................25

Tabel.II.3

Simbol Activity Diagram ..................................................................26

Tabel.II.4

Simbol Sequence Diagram................................................................27

Tabel.III.1

Preferensi Kriteria Luas Tanah .........................................................36

Tabel.III.2

Preferensi Kriteria Kondisi Rumah...................................................36

Tabel.III.3

Preferensi Kriteria Atap Rumah .......................................................36

Tabel.III.4

Preferensi Kriteria Dinding Rumah ..................................................36

Tabel.III.5

Preferensi Kriteria Lantai Rumah .....................................................36

Tabel.III.6

Preferensi Kriteria Pendapatan RT ...................................................36

Tabel.III.7

Penilaian Nasabah .............................................................................37

Tabel.III.8

Konversi Penilaian Nasabah .............................................................38

Tabel.III.9

Nilai Bobot Standart .........................................................................39

Tabel.III.10 Bobot Standart ..................................................................................40 Tabel.III.11 Pencarian GAP ..................................................................................41 Tabel.III.12 Bobot Standart GAP kompetensi ......................................................42 Tabel.III.13 Pemetaan GAP kompetensi Nasabah ................................................43 Tabel.III.14 Normalisasi Bobot Preferensi ...........................................................44 Tabel.III.15 Vektor S ............................................................................................46 Tabel.III.16 Vektor V ...........................................................................................47 Tabel.III.17 Rancangan Tabel Pengguna ..............................................................68 vii

Tabel.III.18 Rancangan Tabel Nilai......................................................................69 Tabel.III.19 Rancangan Tabel Gap .......................................................................69 Tabel.III.20 Rancangan Tabel Bobot Gap ............................................................69 Tabel.III.21 Rancangan Tabel Nasabah ................................................................70 Tabel.III.22 Rancangan Tabel Hasil .....................................................................70 Tabel.IV.1 Login .................................................................................................84 Tabel IV.2 Data Korban ......................................................................................85 Tabel IV.3 DataPenilaian Nasabah .....................................................................86 Tabel IV.4 Data Pengguna ..................................................................................87 Tabel IV.5 Proses SPK ........................................................................................88

viii

DAFTAR LAMPIRAN Lampiran-1

Listing Program

Lampiran-2

Surat Pengajuan Judul Skripsi

Lampiran-3

Formulir Pendaftaran Judul Skripsi

Lampiran-4

Surat Pernyataan Kesediaan Pembimbing I

Lampiran-5

Surat Pernyataan Kesediaan Pembimbing II

Lampiran-6

Formulir Pendaftaran Seminar Hasil Skripsi

Lampiran-7

Berita Acara Seminar Hasil

Lampiran-8

Formulir Pendaftaran Sidang Skripsi

Lampiran-9

Surat Izin Riset dari Perusahaan

Lampiran-10 Surat Keterangan Selesai Riset Dari Perusahaan

ix

BAB I PENDAHULUAN

BAB I PENDAHULUAN

I.1

Latar Belakang Pemberdayaan masyarakat adalah proses penyadaran masyarakat yang

dilakukan secara transformatif, partisipatif dan berkesinambungan melalui peningkatan kemampuan dan bertujuan untuk menangani berbagai persoalan hidup supaya tercapai cita-cita yang diharapkan (Arrosida, 2017 : 2). Perekonomian masyarakat saat ini masih jauh dari kata mampu dan bisa dikatakan masih banyak masyarakat yang perekonomiannya tergolong masyarakat kurang mampu. Untuk meningkatkan pendapatan keluarga, biasanya para wanita dalam hal ini para ibu rumah tangga melakukannya dengan membuka usaha. Namun usaha yang dilakukan terkadang terbentur pada masalah kesulitan modal usaha sehingga usahanya tidak dapat berkembang dengan baik. PT Permodalan Nasional Madani (Persero) atau PNM, merupakan salah satu cara pemerintah untuk memberikan pelayanan bagi wanita kurang mampu yang tidak memiliki modal untuk membuka usaha dan mengembangkan usaha mereka. Permasalahan yang dihadapi perusahaan adalah dalam pemilihan nasabah yang layak mendapatkan pinjaman modal usaha dikarenakan data kriteria pemilihan dan data pengajuan bantuan modal usaha yang begitu banyak. Untuk memberikan kemudahan dan keakuratan dalam dalam pengambilan keputusan pemberian pinajaman modal usaha maka perusahaan membutuhkan suatu sistem pendukung keputusan dengan metode pengambilan keputusan yang handal. Pada

1

2

penelitian ini, pengambilan keputusan pemberian pinjaman modal usaha menggunakan penggabungan dua metode pengambilan keputusan yakni metode weight product dan profile matching. Pemilihan metode weight product dikarenakan metode weight product dapat memberikan nilai cost dan benefit terhadap nilai masing-masing kriteria sehingga akan mempermudah perusahaan dalam pemberian bobot kriteria. Sedangkan pemilihan metode profile matching dikarenakan profile matching dapat memberikan bobot nilai sesuai tingkat kepentingan kriteria. Penggabungan dua metode ini bertujuan menggabungkan kekuatan masing-masing metode dan meminimalkan kekurangan-kekurangan dari masing-masing metode. Hasil dari penggabungan metode ini diharapkan dapat memberikan solusi yang optimal dan akurat serta dapat mempermudah perusahaan dalam pengambilan keputusan pemberian pinjaman modal usaha. Adapun kriteria penilaian yang akan digunakan dalam pengambilan keputusan pemberian pinjaman modal usaha diantaranya adalah kondisi rumah tinggal (luas bangunan, kondisi bangunan, jenis atap, dinding dan lantai) serta tingkat pendapatan (penghasilan rumah tangga sehari, pengeluaran rumah tangga sehari dan jumlah tanggungan). Berdasarkan paparan dari permasalahan yang telah dijabarkan sebelumnya dan gagasan dari solusi pemecahan permasalahan yang ditemukan yang ada, maka pada penelitian ini penulis tertarik mengangkat judul “: Sistem Pendukung Keputusan Pemberian Pinjaman Modal Product

Usaha Dengan Metode Weight

dan Profile Matching pada Kantor Unit Permodalan Nasional

Madani (Persero)”.

3

I.2

Ruang Lingkup Permasalahan

I.2.1

Identifikasi Masalah Berdasarkan latar belakang masalah, maka penulis mengambil pokok

permasalahan yaitu : 1.

Proses pengambilan keputusan pemberian pinjaman modal usaha menjadi lambat dan kurang akurat jika terdapat data pengajuan pinjaman modal usaha dalam jumlah besar.

2.

Pengambilan

keputusan

pemberian

pinjaman

modal

usaha

belum

menggunakan sistem pendukung keputusan yang terkomputerisasi. 3.

Dibutuhkan suatu sistem pendukung keputusan yang terkomputerisasi, dengan menggunakan metode pengambilan keputusan yang handal sehingga hasil pengambilan keputusan lebih akurat.

I.2.2

Perumusan Masalah Sebagaimana yang telah dikemukakan pada latar belakang masalah di atas,

maka rumusan masalahnya adalah sebagai berikut : 1.

Bagaimana merancang dan membangun suatu sistem pendukung keputusan yang dapat mempermudah dan mempercepat pengambilan keputusan pemberian pinjaman modal usaha pada PT. Permodalan Nasional Madani ?

2.

Bagaimana menerapkan metode weight product dan profile macthing dalam sistem pendukung keputusan pemberian pinjaman modal usaha ?

3.

Bagaimana menggabungkan metode weight product dan profile macthing dalam pengambilan keputusan pemberian pinjaman modal usaha ?

4

I.2.3

Batasan Masalah Batasan masalah di maksudkan untuk membatasi ruang lingkup

pembahasan, agar sistem yang dirancang lebih terarah. Batasan masalah dari perancangan sistem ini dibatasi pada hal-hal sebagai berikut : 1.

Pembahasan sistem dibatasi pada pengambilan keputusan pemberian pinjaman modal usaha pada PT . PNM.

2.

Metode pengambilan keputusan yang akan digunakan adalah metode weight product dan profile matching.

3.

Perhitungan bobot nilai menggunakan metode profile matching sedangkan metode weight product digunakan untuk proses perangkingan.

4.

Penggunaan data masukan sistem diantaranya data kriteria, data nasabah, data kelompok dan data penilaian nasabah.

5.

Penggunaan data keluaran sistem diantaranya laporan nasabah, laporan kelompok, laporan penilaian dan laporan perangkingan.

6.

Pembangunan sistem menggunakan bahasa pemrograman microsoft visual studio 2010 dengan database SQL Server.

7.

Permodelan sistem menggunakan UML.

I.3

Tujuan dan Manfaat

I.3.1

Tujuan Adapun yang menjadi tujuan dalam penelitian ini adalah :

1.

Untuk merancang dan membangun sistem pendukung keputusan pemberian pinjaman modal usaha pada PT. PNM sehingga dapat memberikan

5

kemudahan dalam pengambilan keputusan pemberian pinjaman modal usaha. 2.

Untuk mendapatkan hasil keputusan yang optimal dan akurat dalam proses pengambilan

keputusan

pemberian

pinjaman

modal

usaha

dengan

menerapkan dan menggabungkan dua metode pengambilan keputusan, yakni metode weight product dan metode profile matching.

I.3.2

Manfaat Manfaat yang dapat diperoleh dari penelitian ini adalah:

1.

Memberikan kemudahan dan hasil yang akurat bagi perusahaan dalam proses pengambilan keputusan pemberian pinjaman modal usaha.

2.

Memberikan bahan rujukan penelitian yang berkaitan dengan penggunaan metode weight product dan profile matching dalam sistem pendukung keputusan pemberian pinjaman modal usaha.

I.4

Metodologi Penelitian Metode penelitian yang dilakukan menggunakan studi literatur dengan

membaca beberapa bacaan dan jurnal-jurnal yang berkaitan dengan sistem pendukung keputusan untuk pemberian pinjaman modal usaha menggunakan metode profile matching dan weighted product. Pengumpulan data dilakukan dengan melakukan studi lapangan dan mengambil beberapa dokumen terkait, dimana penulis langsung mengamati dan melakukan wawancara proses pengajuan permohonan pinjaman, penilaian kriteria dan proses pemberian pinjaman modal usaha.

6

Pengembangan sistem digambarkan dalam bentuk diagram fishbone seperti pada gambar III.1 berikut :

Penetapan target Penggabungan Metode WP dan PM Dalam SPK Pemberian Pinjaman Modal Usaha

Pengujian Sistem

Input, Output, Process

Permodelan Sistem Input, Output, Process

Objek Penelitian

Luas bangunan

Perancangan Sistem UML

Perancangan Interface

Metode Weight Product Metode Pengambilan Keputusan Metode Profile Matching

Data Penilaian Nasabah Data Nasabah

SQL Server Laptop ACER Core I3

Kondisi bangunan Jenis Atap Dinding

Finalisasi Aplikasi Pemberian Pinjaman Modal Usaha menggunakan metode Weighted Product dan Profile Maching: Studi Kasus : Kantor Unit Permodalan Nasional Madani

Data Kelompok

Microsoft Visual Studio 2010

Lantai Kriteria Penilaian

Microsoft Windows 7

Penghasilan Sehari Pengeluaran Sehari

Studi Literatur

Tanggungan Implementasi Sistem Analisa Kebutuhan Sistem

Gambar I.1 Diagram Fishbone Pengembangan Sistem Pengembangan sistem menggunakan fishbone diagram dapat dijelaskan sebagai berikut : a.

Penetapan Target Tahap ini merupakan tahap penetapan target penelitian. Adapun yang menjadi objek penelitian adalah SPK perbandingan metode weighted product dan profile macthing dalam pemilihan nasabah yang layak mendapatkan bantuan modal pinjaman pada PT. PNM.

b.

Anasisis Kebutuhan Adapun kebutuhan dari sistem yang akan dibangun adalah membandingkan antara metode Weighted Product dan Profile Macthing

7

dalam pemberian pinjaman modal usaha pada PT. PNM. Kebutuhan sistem dianalisa melalui pengumpulan data yang akan digunakan sebagai data data awal yang mendukung perancangan sistem pendukung keputusan serta data masukan dari sistem untuk dilakukan proses penilaian. Data awal yang mendukung perancangan sistem pendukung keputusan berupa proses penentuan kriteria dan penyusunan hirarki faktor-faktor yang mempengaruhi pemberian pinjaman modal usaha pada kantor unit Permodalan Nasional Madani. Data masukan yang digunakan dalam hal ini adalah data nasabah, data penilaian nasabah dan data kelompok. c.

Perancangan Sistem Tahap ini merupakan tahap permodelan sistem menggunakan UML dan perancangan tampilan (layout) dari sistem yang akan dibangun berupa data input, data output dan process.

d.

Implementasi Sistem Tahap ini merupakan tahap pengkodean program pembuatan system yang membutuhkan perangkat yang sesuai kebutuhan sistem. Adapun spesifikasi perangkat yang digunakan adalah sebagai berikut : 1) Spesifikasi Perangkat Keras Perangkat keras yang dibutuhkan yaitu laptop dengan spesifikasi Processor Intel Core i5 2,40 Ghz, Ram 2GB, Hardisk 500 GB 2) Spesifikasi Perangkat Lunak Perangkat lunak yang dibutuhkan antara lain : Sistem operasi Windows 7, Microsoft SQLServer 2005, Microsoft Visual Studio 2010

8

e.

Pengujian Sistem Dalam tahap ini dilakukan proses pengujian sistem pendukung keputusan yang telah dibangun apakah informasi yang dihasilkan sudah sesuai baik itu dengan menggunakan metode profile matching maupun metode weight product. Pengujian lain dilakukan pada data input, data output dan process.

f.

Finalisasi Pada tahap ini sistem pendukug keputusan pemberian pinjaman modal usaha menggunakan metode Weihted Product dan Profile Matching sudah melewati tahap validasi dan verifikasi dan siap untuk digunakan oleh Kantor Unit Permodalan Nasional Madani. Tidak menutup kemungkinan sistem ini mengalami perubahan ketika sudah digunakan oleh user.

I.5

Kontribusi Penelitian Kontribusi penelitian dari sistem pendukung keputusan pemberian

pinjaman modal usaha dengan metode weight product dan profile matching yaitu : 1.

Bahan referensi dalam penelitian lebih lanjut terhadap kajian-kajian seputar penerapan metode weight product dan metode profile matching dalam pengambilan keputusan

2.

Bahan penyusunan, pembelajaran, modul, matakuliah, khusunya dengan penggabungan metode weight product dan metode profile matching.

9

I.6

Keaslian Penelitian Telah ada beberapa penelitian yang dilakukan terkait dengan penerapan

metode weighted product dan profile matching, diantaranya adalah : No

Thn

Penulis

Judul

Metode

Hasil Penelitian

1

2014 Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer e-ISSN: 2548964X Vol. 1, No. 11, November 2017, hlm. 1331-1336 http://jptiik.ub.ac.id

Oktavianis Kartikasari, Nurul Hidayat, Suprapto

Implementasi Metode Profile Matching Dengan Weighted Product Pada Seleksi Staf Operator Komputer (Studi Kasus:UPTD Pendidikan Kecamatan Tambakboyo Kabupaten Tuban Jawa Timur)

Gabungan Metode Profile Matching dan Metode Weight Product

Hasil dari penelitian ini adalah penerapan metode PM dan metode WP dalam menyeleksi staf operator komputer sehingga dapat dilihat hasil perbandingan untuk kedua metode yang yang digunakan. Kriteria yang digunakan adalah pengalaman kerja, pengetahuan tentang komputer dan penggunaanya, membuat aplikasi web atau untuk pekerjaan, pengetahuan tentang hardware dan software, pengaturan dan memindah data, mengoperasikan word, power point, excel, instalasi software, pengetahuan umum, komitmen, time management, serta kesiapan. Berdasarkan hasil pengujian didapatkan kesamaan peringkat yang dihasilkan oleh kedua metode. Staf yang memiliki nilai dengan peringkat yang tertinggi adalah staff yang lolos seleksi staff operator.

10

2

2015 Prosiding Seminar Informatika Aplikatif Polinema 2015 (SIAP~2015) ISSN: 24601160

Ahmad Syarifudin, Ahmadi Yuli Ananta

Rancang Metode Bangun Sistem Profile Pendukung Matching Keputusan Kelayakan Pemberian Kredit Menggunakan Metode profile Matching

3

2015 Riau Journal Of Computer Science Vol.1/No.1/20 15 : 92- 105

Kiki Yasdomi

Sistem Metode pendukung Weight keputusan Product pemberian kredit modal usaha menggunakan metode weighted product (Studi Kasus Pada Bank Danamon Simpan Pinjam Ujung Batu)

Hasil dari penelitian ini adalah SPK yang dapat digunakan pihak bank dalam menentukan diterima atau tidaknya pengajuan kredit. Metode yang digunakan dalam penelitian ini adalah metode PM dengan membandingkan nilai data actual suatu profil yang akan dinilai dengan nilai profil yang diharapkan. Kriteria yang digunakan adalah Character, Capacity, Collateral, Capital, dan Condition. Hasil pengambilan keputusan adalah calon nasabah yang memiliki peringkat tertinggi sangat berpotensial yang diterima pengajuannya. Hasil dari penelitian ini adalah penerapan metode weighted product (WP) sebagai metode penyelesaian masalah dengan tujuan untuk mencari alternatif calon nasabah terbaik pada Bank berdasarkan dengan memperhitungkan bobot dari tiap-tiap kriteria yang telah ditentukan. Kriteria yang digunakan adalah status rumah ,

11

status tempat usaha, kondisi usaha, jangka waktu, kemampuan membayar kembali dan nilai agunan. Hasilnya calon nasabah yang memiliki nilai terbaik sangat potensial untuk diberikan bantuan pinjaman kredit. 4

2017 Prosiding Seminar Ilmu Komputer dan Teknologi Informasi Vol. 2, No. 1, Maret 2017 e-ISSN 25407902 dan pISSN 2541366X

Septiyana Firdyana, Dedy Cahyadi, Indah Fitri Astuti

Penerapan Metode metode Weight weighted Product product untuk menentukan penerima bantuan beras masyarakat miskin (RASKIN)

Hasil dari penelitian ini adalah penerapan metode Weighted Product untuk menentukan penerima bantuan raskin di Kelurahan Air Putih. Kriteria yang digunakan adalah penilaian pekerjaan, jumlah penghasilan, sumber air, makan daging atau telur, luas lantai bangunan, jenis lantai rumah, dinding rumah, dan ketersediaan listrik. Penelitian dilakukan dengan mencari bobot untuk setiap atribut, kemudian dilakukan proses peringkat yang akan menentukan alternatif optimal calon penerima raskin, dimana peringkat tertinggi adalah yang paling optimal.

5

2016 Jurnal SIMETRIS, Vol 8 No 2 November 2017 ISSN: 22524983

Agusta Praba Ristadi Pinem, Prind Triajeng Pungkasanti, Edi Widodo

Implementasi Metode Profile Profile Matching Matching Untuk Pemberian Kredit Kedua Pada Koperasi Simpan Pinjam

Hasil dari penelitian ini adalah penerapan metode profile matching untuk pengambilan keputusan Berdasarkan profil nasabah pihak koperasi dapat mengabulkan dan

12

menolak permintaan kredit nasabah. Asumsi bahwa terdapat variable prediktor yang ideal yang harus dipenuhi oleh subyek yang diteliti. Kriteria yang digunakan adalah riwayat nasabah, nilai jaminan, nilai kredit, jangka waktu kredit, dan usia. Hasil dari SPK adalah nasabah dengan peringkat terbaik yang layak diberikan kredit

Perbedaan penelitian yang penulis lakukan dengan penelitian sebelumnya adalah penulis tidak hanya menggunakan satu metode pengambilan keputusan dalam pemilihan nasabah yang layak mendapatkan pinjaman modal usaha, akan tetapi penulis melakukan penggabungan dua metode pengambilan keputusan yakni metode weight product dan profile matching. Penggabungan dua metode ini bertujuan menggabungkan kekuatan masing-masing metode dan meminimalkan kekurangan-kekurangan dari masing-masing metode sehingga hasil dari pengambilan keputusan pemberian pinjaman modal usaha dapat menjadi solusi yang optimal dan akurat untuk PT. Permodalan Nasional Madani. Berdasarkan sistem pendukung keputusan pemberian pinjaman modal usaha yang dibangun, maka akan dihasilkan suatu keputusan sistem, dimana nasabah yang layak diberikan pinjaman modal usaha adalah nasabah dengan peringkat tertinggi.

13

I.7

Lokasi Penelitian Penelitian ini dilakukan pada PT. Permodalan Nasional Madani (PNM)

Unit Mekaar Medan Marelan yakni Badan Usaha Milik Negara Indonesia yang bergerak di bidang jasa keuangan permodalan yang beralamat di Jl. Pasar 3 Barat Marelan, Gang Swadaya, Lk.14, Rengas Pulau, Medan Marelan, kota Medan.

1.8

Sistematika Penulisan Laporan penelitian ini dibagi menjadi lima bab yang dilengkapi dengan

penjelasan, Adapun sistematika penulisannya adalah sebagai berikut : BAB I

PENDAHULUAN Pada bab ini berisikan dasar pemikiran, kebutuhan atau alasan yang menjadi ide penulis untuk mengakat judul tersebut menjadi judul skripsi, terdiri dari latar belakang, ruang lingkup masalah, tujuan dan manfaat, metodologi penelitian, kontribusi penelitian, lokasi penelitian dan sistematika penulisan.

BAB II LANDASAN TEORI Pada bab ini berisikan tentang studi literature dan dasar teori yang digunakan sebagai penunjang serta referensi dalam pembangunan sistem pendukung keputusan yang efisien dan efektif menggunakan penggabungan metode antara metode weight product dan profile matching pada PT. Permodalan Nasional Madani.

14

BAB III ANALISA DAN DESAIN SISTEM Pada bab ini berisikan analisa masalah pada sistem yang berjalan, strategi penyelesaian masalah, penerapan metode/algoritma, desain sistem baru, menggunakan use case diagram, class diagram, activity diagram dan sequence diagram, desain database (normalisasi dan desain tabel) dan desain user interface. BAB IV HASIL DAN UJICOBA Pada bab ini berisikan hasil dari sistem pendukung keputusan dan pengujian yang dilakukan pada sistem pendukung keputusan yang sudah dibangun menggunakan skenario pengujian dan hasil pengujian. BAB V KESIMPULAN DAN SARAN Pada bab ini berisikan tentang kesimpulan dari pemecahan masalah yang telah didefinisikan sebelumnya serta saran berisikan kelemahan sistem yang dibangun dan dianggap penting untuk penelitian.

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

II.1.

Sistem Pendukung Keputusan Sistem pendukung keputusan adalah sistem berbasis komputer yang tediri

dar tiga komponen yang saling berinteraksi, sistem bahasa (mekanisme untuk memberikan komunikasi antara pengguna dan komponen sistem pendukung keputusan lain), sistem pengetahuan (respositori pengetahuan domain masalah yang ada pada sistem pendukung keputusan atau sebagai data atau sebagai prosedur), dan sistem pemrosesan masalah (hubungan antara dua komponen lainnya, terdiri dan satu atau lebih kapabilitas manipulasi masalah umum yang diperlukan untuk pengambilan keputusan) (Novriansyah, 2015 : 1).

II.1.1 Karakteristik Sistem Pendukung Keputusan Menurut Novriansyah (2015 : 1), karakteristik sistem pendukung keputusan adalah sebagai berikut : 1.

Mendukung proses pengambilan keputusan suatu organisasi atau perusahaan.

2.

Adanya interface manusia/mesin dimana manusia (user) tetap memegang kontrol proses pengambilan keputusan

3.

Mendukung pengambilan keputusan untuk membahas masalah terstruktur, semi terstruktur serta mendukung beberapa keputusan yang saling berinteraksi.

4.

Memiliki kapasitas dialog untuk memperoleh informasi sesuai kebutuhan.

15

16

5.

Memitiki sub sistem yang terintegrasi sedemikian rupa sehingga dapat berfungsi sebagai kesatuan sistem.

6.

Memiliki dua komponen utama yaitu data dan model.

II.1.2 Komponen-Komponen Sistem Pendukung Keputusan Menurut Novriansyah (2015 : 3), sistem pendukung keputusan dibangun oleh 3 (tiga) komponen utama. Komponen utama dari sistem pendukung keputusan adalah sebagai berikut : 1.

Subsistem Data (Database) Subsistem data merupakan komponen sistem pendukung keputusan yang berguna sebagai data penyedia bagi sistem. Data tersebut disimpan untuk diorganisasikan oleh basis data yang diorganisasikan oleh suatu sistem yang disebut dengan Database Management System (DBMS).

2.

Subsistem Model (Model Base) Model adalah suatu tiruan dari alam nyata. Kendala yang sering dihadapi dalam merancang model adalah bahwa model yang dirancang tidak mampu mencerminkan seluruh variabel alam nyata , sehingga keputusan yang diambil tidak sesuai dengan kebutuhan. Oleh karena itu, dalam menyimpan berbagai model harus diperhatikan dan dijaga fleksibilitasnya..

3.

Subsistem Dialog (User System Interface) Subsistem dialog adalah fasilitas yang mampu mengintegrasikan sistem yang terpasang dengan pengguna secara interaktif, yang dikenal dengan sub sistem dialog. Melalui sub sistem dialog sistem diimplementasikan.

17

II.1.3 Kriteria Sistem Pendukung Keputusan Menurut Novriansyah (2015:2) kriteria atau ciri-ciri sistem pendukung keputusan adalah sebagai berikut : 1.

Banyak pilihan / alternatif.

2.

Ada kendala / surat.

3.

Mengikuti suatu pola/ model

4.

Banyak input / variabel

5.

Ada faktor resiko. Dibutuhkan kecepatan, ketepatan dan keakuratan.

II.1.4 Fase Dalam Proses Pengambilan Keputusan Menurut Novriansyah (2015 : 2) ada 3 (tiga) fase dalam proses pengambilan keputusan diantaranya sebagai berikut : 1.

Intellegence Tahap ini merupakan proses penelusuran dan pendeteksian dari ruang lingkup problematika secara proses pengenalan masalah. Data masukan diperoleh, diproses dan diuji dalam rangka mengindentifikasi masalah.

2.

Design Tahap ini merupakan proses menemukan, mengembangkan dan menganalisis alternatif tindakan yang bisa dilakukan yang meliputi uji kelayakan solusi.

3.

Choice Pada tahap inl dilakukan proses pemilihan diantara berbagai alternatif tindakan yang mungkin dijalankan. Hasi pemilihan tersebut kemudian diimplementasikan dalam proses pengambilan keputusan.

18

Fase dalam proses pengambilan keputusan dapat dilihat pada Gambar II.2 seperti berikut.

INTELLIGENCE (Penelusuran Lingkup Masalah)

DESIGN (Perencanaan Penyelesaian)

CHOISE (Pemilihan Tindakan)

Sistem Informasi Manajemen Pengolahan Data Elektronik Sistem Pendukung Keputusan Ilmu Manajemen Operation

IMPLEMENTATION (Pelaksanaan Tindakan)

Gambar II.1 Fase Proses Pengabilan Keputusan (Sumber : Novriansyah ; 2016)

II.1.5 Tujuan Sistem Pendukung Keputusan Menurut Novriansyah (2015:4) tujuan dari sistem pendukung keputusan adalah pengambilan keputusan diantaranya sebagai berikut : 1.

Membantu dalam pengambilan keputusan atas masalah yang terstruktur.

2.

Memberikan

dukungan

atas

pertimbangan

manajer

dan

bukannya

dimaksudkan untuk menggantikan fungsi manajer. 3.

Meningkatkan efektifitas keputusan yang diambil lebih dari pada perbaikan efesiensinya.

4.

Kecepatan komputasi komputer memungkinkan para pengambil keputusan untuk banyak melakukan komputasi secara cepat dengan biaya yang rendah.

5.

Peningkatan produktivitas membangun suatu kelompok pengambilan keputusan, terutama para pakar, biasa sangat mahal.

19

II.2.

Pemberian Pinjaman (Pemberian Kredit) Kredit adalah penyediaan uang atau tagihan yang dapat dipersamakan

dengan itu, berdasarkan persetujuan atau kesepakatan pinjam meminjam antara bank dengan pihak lain yang mewajibkan pihak peminjam untuk melunasi utangnya setelah jangka waktu tertentu dengan jumlah bunga, imbalan atau pembagian hasil keuntungan (Zefriyenni, 2017 : 2). Prinsip-prinsip pemberian kredit dalam melakukan penilaian kriteriakriteria serta aspek penilaiannya setiap pemberi kredit aspek penilaiannya tetap sama. Ukuran-ukuran yang yang ditetapkan sudah menjadi standar penilaian setiap bank. Kriteria penilaian yang harus dilakukan oleh bank untuk mendapatkan nasabah yang benar-benar menguntungkan dilakukan dengan analisis 5-C yaitu (Zefriyenni, 2017 : 3) : 1.

Character, merupakan suatu keyakinan bahwa sifat atau watak dari orangorang yang akan diberikan kredit benar-benar dapat dipercaya

2.

Capacity, untuk melihat nasabah dalam kemampuannya dalam bidang bisnis yang dihubungkan dengan pendidikannya.

3.

Capital, untuk melihat penggunaan modal apakah efektif, dilihat laporan keuangan (neraca dan laporan laba rugi) dengan melakukan pengukuran.

4.

Colleteral, merupakan jaminan yang diberikan calon nasabah baik yang bersifat fisik maupun.non fisik.

5.

Condition, dalam menilai kredit hendaknya juga dinilai kondisi ekonomi dan politik sekarang dan dimasa yang akan datang sesuai sektor masing-masing, serta prospek usaha dari sektor yang ia jalankan.

20

II.3

Metode Profile Matching Model Pencocokan Profil (Profile Matching) adalah suatu proses yang

sangat penting dalam manajemen SDM dimana terlebih dahulu ditentukan kompetensi (kemampuan) yang dibutuhkan agar diperoleh hasil maksimum dari beberapa kriteria. Kompetensi/kemampuan tersebut haruslah dapat dipenuhi secara maksimal ataupun paling mendekati oleh calon nasabah penerima kredit. (Syarifudin, 2015 : 3). Garis besarnya, profile matching membandingkan nilai yang didapatkan oleh satu profil dengan standar yang telah ditentukan. Proses membandingkan ini dinamakan gap, dimana semakin kecil nilai gap yang diperoleh maka besar peluang untuk mengisi jabatan yang ditawarkan. Langkah-langkah dalam melakukan metode ini adalah: 1.

Menentukan tujuan dan alternatif yang akan dipilih

2.

Menentukan aspek dan subaspek yang digunakan untuk penilaian

3.

Melakukan pemetaan Gap Gap yang dimaksud adalah perbedaan antara profil jabatan dengan profil karyawan atau bisa ditunjukkaan pada rumus di bawah ini: Gap = Profil pribadi – Profil kepribadian Gap = Profil pribadi – Profil kepribadian

4.

Melakukan perhitungan core factor dan secondary factor Setelah menentukan bobot nilai Gap untuk ketiga aspek, yaitu aspek kapasitas intelektual, sikap kerja dan perilaku dengan cara sama, setiap kriteria atau aspek dikelompokkan menjadi dua kelompok yaitu kelompok core factor dan secondary factor.

21

a. Perhitungan core factor menggunakan rumus dibawah ini:

…………………….(3)

dimana: NRC = Nilai rata-rata core factor tiap aspek NC = Jumlah total nilai core factor tiap aspek IC = Jumlah item tiap aspek b. Untuk menghitung nilai Secondary Factor digunakan rumus:

…………………….(4)

dimana: NRS = Nilai rata-rata secondary factor tiap aspek NS = Jumlah total nilai secondary factor tiap aspek IS = Jumlah item tiap aspek c. Untuk menghitung nilai total digunakan rumus :

60% (CF) + 40% (SF)

5.

…………………….(5)

Perhitungan Nilai Total Dari hasil setiap aspek di atas berikutnya dihitung nilai total berdasakan presentasi dari nilai core factor dan secondary factor yang diperkirakan berpengaruh terhadap kinerja tiap-tiap profil.

6.

Perhitungan Nilai Rangking Hasil akhir dari proses profile matching adalah ranking dari kepribadian yang

22

dominan dari setiap alternatif. Penentuan ranking mengacu pada hasil perhitungan tertentu. Perhitungan tersebut dapat ditunjukkan pada rumus :

Ranking = A%(K1)+B%(K2)+C%(K3)+D%(K4)+E%(K5)+F%(K6)+G%(K7)+H%(K8) …..(6)

Dimana : K = Nilai kriteria dan menyimpan data, maka data harus dalam satu basis data; dibuat satu format sehingga mudah membuat program aplikasinya.

II.4

Metode Weight Product Metode

Weighted

Product

(WP)

menggunakan

perkalian

untuk

menghubungkan rating atribut, dimana rating setiap atribut harus dipangkatkan dengan bobot atribut yang bersangkutan. Proses tersebut sama halnya dengan normalisasi (Yasdomi, 2015 : 3). Adapun

tahapan

dalam

mengimplementasikan

Sistem

Pendukung

Keputusan dengan metode Weighted Product : 1.

Penentuan alternatif

2.

Penentuan kriteria

3.

Penilaian bobot kepentingan tiap kriteria

4.

Penentuan range nilai tiap kriteria

5.

Penilaian tiap alternatif menggunakan semua atribut dengan penentuan range nilai yang disediakan yang menunjukan seberapa besar kepentingan antar kriteria.

23

6.

Dari data penilaian tiap bobot atribut dan nilai alternatif dibuat matrik keputusan

7.

Dilakukan proses perbaikan/normalisasi bobot kriteria. Preferensi untuk alternatif A i diberikan sebagai berikut :

S i   j 1 xijwj ..........(7) n

Xij : nilai kriteria ke-i dan ke-j Wj : bobot atribut j i : index kriteria j : index atribut Preferensi relatif dari setiap alternatif, diberikan sebagai :

i : index kriteria j : index atribut * : banyak kriteria yang telah dinilai pada vektor S

II.5

Unified Modelling Language (UML)

Unified Modeling Language (UML) adalah standarisasi bahasa pemodelan untuk membangun perangkat lunak yang dibangun dengan menggunakan teknik pemrograman berorientasi objek. (Aprianti, 2016 : 2). Diagram-diagram yang terdapat dalam UML sangat banyak, berikut ini beberapa diagram yang sering digunakan dalam pengembangan sistem yaitu : 1)

Use case diagram Use Case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat (Aprianti, 2016 : 3). Simbol-simbol Use Case Diagram dapat dilihat pada Tabel II.1 berikut. :

24

Tabel II.1 Simbol Use Case Diagram Gambar

Nama Actor

Dependency

Generalization

Include Extend

System

Use Case

Collaboration

Note

Keterangan Menspesifikasikan himpuan peran yang pengguna mainkan ketika berinteraksi dengan use case. Hubungan dimana perubahan yang terjadi pada suatu elemen mandiri (independent) akan mempengaruhi elemen yang bergantung padanya. Hubungan dimana objek anak (descendent) berbagi perilaku dan struktur data dari objek yang ada di atasnya objek induk (ancestor). Menspesifikasikan bahwa use case sumber secara eksplisit. Menspesifikasikan bahwa use case target memperluas perilaku dari use case sumber pada suatu titik Menspesifikasikan paket yang menampilkan sistem secara terbatas. Deskripsi dari urutan aksi-aksi yang ditampilkan sistem yang menghasilkan suatu hasil yang terukur bagi suatu aktor Interaksi aturan-aturan dan elemen lain yang bekerja sama untuk menyediakan prilaku yang lebih besar dari jumlah dan elemenelemennya (sinergi). Elemen fisik yang eksis saat aplikasi dijalankan dan mencerminkan suatu sumber daya

(Sumber : Aprianti ; 2016) 2.

Class Diagram Class diagram menggambarkan struktur sistem dari segi pendifinisian kelaskelas yang akan di buat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi (Aprianti, 2016 : 2)..Class diagram dapat dilihat pada Tabel II.2 berikut :

25

Tabel II.2 Simbol Class Diagram No

Gambar

Nama

Keterangan

1

Hubungan dimana objek anak (descendent) berbagi perilaku dan Generalization struktur data dari objek yang ada di atasnya objek induk (ancestor).

2

Nary Association

3

Class

Himpunan dari objek-objek yang berbagi atribut serta operasi yang sama.

4

Collaboration

Deskripsi dari urutan aksi-aksi yang ditampilkan sistem yang menghasilkan suatu hasil yang terukur bagi suatu aktor

5

Realization

6

Dependency

7

Association

Upaya untuk menghindari asosiasi dengan lebih dari 2 objek.

Operasi yang benar-benar dilakukan oleh suatu objek. Hubungan dimana perubahan yang terjadi pada suatu elemen mandiri (independent) akan mempegaruhi elemen yang bergantung padanya elemen yang tidak mandiri Apa yang menghubungkan antara objek satu dengan objek lainnya

(Sumber : Aprianti ; 2016) 3.

Activity Diagram Activity Diagram menggambarkan workflow (aliran kerja) dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak (Aprianti, 2016 : 3). Acitvity diagram dapat dilihat pada Tabel II.3 berikut :

26

Tabel II.3 Simbol Activity Diagram Simbol

Fungsi Status awal

Aktivitas

Percabangan / Decision

Penggabungan / join

Status akhir

Nama swimlane

Swimlane

Fork,

Join,

Keterangan Status awal aktivitas system, sebuah diagram aktivitas memiliki status awal Aktivitas yang dilakukan system, aktivitas biasanya diawali dengan kata kerja Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu Asosiasi penggabungan dimana lebih dari satu aktivitas digabungkan menjadi satu Status akhir yang dilakukan system, sebuah diagram aktivitas memiliki sebuah status akhir Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktivitas yang terjadi Digunakan untuk menunjukan kegiatan yang dilakukan secara parallel Digunakan untuk menunjukan kegiatan yang digabungkan

(Sumber : Aprianti ; 2016) 4.

Sequence Diagram Sequence diagram menggambarkan kelakuan objek pada Use Case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Sequence diagram dapat dilihat pada Tabel II.4 berikut :

27

Tabel II.4 Simbol Sequence Diagram Simbol

Fungsi

Actor

LifeLine

Keterangan Orang, proses atau system lain yang berinteraksi dengan system informasi dan mendapat manfaat dari system Ditempatkan di bagian atas diagram Objek entity, antarmuka yang saling berinteraksi.

Message

Spesifikasi dari komunikasi antar objek yang memuat informasi-informasi tentang aktifitas yang terjadi

Message

Spesifikasi dari komunikasi antar objek yang memuat informasi-informasi tentang aktifitas yang terjadi

(Sumber : Aprianti ; 2016)

II.6

Microsoft Visual Studio 2010 Microsoft Visual Studio merupakan sebuah perangkat lunak lengkap (suite) yang

dapat digunakan untuk melakukan pengembangan aplikasi, baik itu aplikasi bisnis, aplikasi personal, ataupun komponen aplikasinya, dalam bentuk aplikasi console, aplikasi Windows, ataupun aplikasi Web. Visual Studio mencakup kompiler, Software Development Kit, Integrated Development Environment (IDE), dan dokumentasi

28

(umumnya berupa MSDN Library). Kompiler yang dimasukkan ke dalam paket Visual Studio antara lain Visual C++, Visual C#, Visual Basic, Visual Basic .NET, Visual InterDev, Visual J++, Visual J#, Visual FoxPro, dan Visual SourceSafe. Microsoft Visual Studio dapat digunakan untuk mengembangkan aplikasi dalam native code (dalam bentuk bahasa mesin yang berjalan di atas Windows) ataupun managed code (dalam bentuk Microsoft Intermediate Language di atas .NET Framework). (Herpendi, 2016 : 1).

II.7

Microsoft SQL Server SQL Server 2005 merupakan salah satu produk DBMS yang dibuat oleh

microsoft. SQL server 2005 menawarkan beberapa fitur di dalam mengelola database ( Ulfah, 2015 : 2). SQL Server 2005 atau disebut juga dengan SQL Server 9 merupakan pengembangan dari SQL Server versi 2000. Pada SQL Server 2005 disediakan beberapa tools untuk para developer, yaitu: SQL Server Management Studio,

SQL Computer

Manager, Sqlcmd (SQL Command) dan SQL Management Object.

II.8

Normalisasi (Normalization)

Normalisasi adalah salah satu cara untuk meminimalisir pengulangan data (data redundancy), normalisasi akan diperlukan jika ada indikasi bahwa tabel yang kita buat tidak baik (terjadi pengulangan informasi, potensi inkonsistensi data pada operasi pengubahan, tersembunyinya informasi tertentu dan lain sebagainya) dan diperlukan supaya jika tabel-tabel yang didekomposisi kita gabung kembali dapat menghasilkan tabel awal sebelum didekomposisi, sehingga diperoleh tabel yang baik. Hasil dari normalisasi adalah himpunan-himpunan data (tabel-tabel) dalam bentuk normal (normal form). (Mulyani, 2016:132)

29

Beberapa kegunaan dari penggunaan normalisasi dalam perancangan database adalah (Mulyani, 2016:132). 1.

Meminimalisir pengulangan data (data redundancy)

2.

Memudahkan identifikasi entity objek. Beberapa bentuk normal yaitu (Mulyani, 2016:132):

1.

Bentuk Normal I (First Normal Form / 1-NF) Suatu relasi memenhi 1-NF jika dan hanya jika setiap attribute dan relasi tersebut hanya memiliki nilai tunggal dalam 1 (satu) baris record.

2.

Bentuk Normal II (Second Normal Form/2-NF) Suatu relasi memenuhi 2-NF jika dan hanya jika memenuhi 1-NF dan Setiap attribute yang bukan kunci utama tergantung secara fungsional terhadap semua attribute kunci dan bukan hanya sebagian attribute (menghilangkan ketergantungan fungsional pada sebagian/salah satu key).

3.

Bentuk Normal Ill (Third Normal Form/3-NF) Suatu relasi memenuhi 3-NF jika dan hanya jika memenuhi 2-NF dan setiap attribute bukan kunci tidak tergantung secara fungsional kepada attribute bukan kunci yang lain dalam relasi tersebut (menghilangkan ketergantungan transitif pada yang bukan key).

4.

Boyce-Codd Normal Form (BCNF) Suatu relasi memenhi BCNF jika untuk setiap functional dependency (FD) terhadap setiap atribut atau gabungan atribut dalam bentuk : X -> Y maka X adalah super key. Tabel tersebut harus di dekomposisi berdasarkan FD yang

30

ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi. Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF. Perbedaannya, untuk functional dependency X -> A, BCNF tidak membolehkan A sebagai bagian dari primary key. 5.

Bentuk Normal IV (Fourth Normal Form/4-NF) Suatu relasi memenuhi 4-NF jika dan hanya jika memenuhi BCNF dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued attribute. Untuk setiap multivalued attribute (MVD) juga harus merupakan functional dependencies. Beberapa key dalam Normalisasi (Mulyani, 2016:132):

1.

Superkey adalah sejumlah attribute entity yang dapat digunakan untuk mengidentifikasi objek secara unik.

2.

Candidate key adalah superkey dengan jumlah attribute minimal dan dapat berdiri sendiri.

3.

Primary key adalah superkey yang dipilih oleh database administrator.

4.

Foreign key adalah attribute disuatu relasi (tabel) yang menjadi primary key di relasi (label) lain.

II.9

Basis Data (Database) Database adalah kumpulan dari semua data yang diperlukan oleh sistem.

Dengan menggunakan database, beberapa apalikasi berbeda bisa saling terintegrasi. (Mulyani, 2016:148).

31

Database merupakan komponen terpenting dalam pembangunan sistem, karena menjadi tempat untuk menampung dan mengorganisasikan seluruh data yang ada dalam sistem, sehingga dapat dieksplorasi untuk menyusun-menyusun informasi-informasi dalam berbagai bentuk.

II.9.1 DBMS (Database Management System) Database

Management

System

adalah

sistem

software

yang

memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan kontrol akses ke database. (Mulyani, 2016:170). DBMS adalah software yang berinteraksi dengan program aplikasi dan pengguna database Biasanya DBMS menyediakan fasilitas sebagai berikut : 1.

DDL (Data Definition Language) DDL memungkinkan pengguna untuk menentukan tipe data dan struktur dan kendala pada data yang akan disimpan dalam database.

2.

DML(Data Manipulation Language) Ini memungkinkan pengguna untuk memasukkan, update, menghapus dan mengambil data dari database biasanya meskipun memanipulasi data bahasa.

3.

Memberikan akses kontrol ke database :

a.

Keamanan sistem: yang mencegah pengguna yang tidak berhak mengakses database.

b.

Integritas system : yang menjaga konsistensi data yang tersimpan.

c.

Concurrency control system: yang memungkinkan berbagi akses database.

32

d.

Pemulihan sistem control : yang mengembalikan database ke keadaan yang konsisten sebelumnya setelah perangkat keras atau kegagalan software.

e.

User-diakses katalog, yang berisi deskripsi dari data dalam database.

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

III.1

Analisis Masalah Analisis masalah bertujuan untuk mengidentifikasi serta melakukan

evaluasi mengevaluasi permasalahan-permasalahan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikan pada sistem yang ada. Berdasarkan

pengamatan

dan

wawancara yang penulis lakukan pada PT. Permodalan Nasional Madani cabang Medan Marelan, penulis menemukan beberapa permasalahan terkait pengambilan keputusan pemberian pinjaman modal usaha. Permasalahan tersebut diantaranya adalah : 4.

Proses pengambilan keputusan pemberian pinjaman modal usaha menjadi lambat dan kurang akurat jika terdapat data pengajuan pinjaman modal usaha dalam jumlah besar.

5.

Pengambilan

keputusan

pemberian

pinjaman

modal

usaha

belum

menggunakan sistem pendukung keputusan yang terkomputerisasi. 6.

Dibutuhkan suatu sistem pendukung keputusan yang terkomputerisasi, dengan menggunakan metode pengambilan keputusan yang handal sehingga hasil pengambilan keputusan lebih akurat. Adanya

permsalahan

dikarenakan

proses

pengambilan

keputusan

pemberian pinjaman modal usaha selama ini belum menggunakan sistem pendukung keputusan yang terkomputerisasi dan belum melakukan penerapman

33

34

metode yang tepat. Oleh karena itu, untuk memberikan kemudahan dan proses yang cepat kepada PT. Permodalan Nasional Madani cabang Medan Marelan dalam pengambilan keputusan maka penulis akan membangun sebuah aplikasi sistem pendukung keputusan pemberian

pinjaman

modal

usaha

dengan

menerapkan penggabungan 2 (dua) metode pengambilan keputusan yaitu metode profile matching dan weighted product. Bahasa pemrograman yang akan digunakan adalah Microsoft Visual Basic dengan didukung mesin database Microsoft SQL Server. Aplikasi sistem pendukung keputusan pemberian pinjaman modal usaha ini diharapkan dapat menjadi alat pengukuran kelayakan pemberian pinjaman bagi PT. Permodalan Nasional Madani.

III.2

Penerapan Metode Profile Matching dan Weighted Product Pengambilan keputusan yang digunakan dalam sistem pendukung

keputusan ini menggunakan penggabungan dua metode pengambilan keputusan yakni metode profile matching dan weighted product. Metode profile matching hanya dilakukan sampai tahap mendapatkan nilai bobot GAP dari masing-masing nasabah. Tidak sampai mendapatkan nilai CF maupun SF. Hal ini dikarenakan nilai yang dapat di masukkan ke dalam proses weight product untuk pencarian vektor S adalah nilai bobot GAP nasabah berdasarkan setiap kriteria. Sedangkan nilai CF dan SF tidak dapat digunakan dalam proses penggabungan metode. Hasil pemetaan GAP ini kemudian digunakan pada metode weight product untuk mendapatkan nilai Sigma Vector S dan Sigma Vektor V. Selanjunya nilai sigma vector v dilakukan perangkingan untuk mendapatkan keputusan nasabah yang

35

layak mendapatkan pinjaman modal. Penggabungan metode tersebut dapat dilihat dari flowchart penerapan metode profile matching dan weighted product seperti pada gambar III.1 berikut ini.

Mulai

Input Kriteria Dan Sub Kriteria Penilaian

PM Method

Input Bobot Prefernsi

Pencarian GAP

Pemetaan GAP Standar

Hasil Pemetaan GAP Standar

Input Data Penilaian Nasabah

WP Method Normaliasi Bobot Preferensi

Standar GAP

Perhitungan Nilai Vektor S

Perhitungan Nilai Vektor V

Hasil Penilaian SPK

Selesai

Gambar III.1 Flowchart Penerapan Metode

36

Adapun langkah-langkah yang dilakukan dalam penerapan penggabungan metode weight product dan metode profile matching dalam sistem pendukung keputusan pemberian pinjaman modal adalah sebagai berikut : 1. Menentukan kriteria dan sub kriteria pemberian pinjaman serta bobotnya : Tabel III.1 Preferensi Kriteria Luas Tanah Sub Kriteria

> 0 m2 dan <= 50 m2

Bobot

5

> 50 m2 dan <= 100 m2 4

> 100 m2 dan <= 200 m2 3

> 200 m2 dan <= 350 m2 2

> 350 m2 1

Tabel III.2 Preferensi Kriteria Kondisi Rumah Sub Kriteria Bobot

Sangat Rusak 5

Rusak

Sederhana

Mewah

4

3

2

Sangat Mewah 1

Tabel III.3 Preferensi Kriteria Atap Rumah Sub Kriteria Bobot

Anyaman Daun 5

Seng

Tanah Liat

Beton

Keramik

4

3

2

1

Tabel III.4 Preferensi Kriteria Dinding Rumah Sub Kriteria Bobot

Anyaman Bambu 5

Triplek

Papan

Beton

Keramik

4

3

2

1

Tabel III.5 Preferensi Kriteria Lantai Rumah Sub Kriteria Bobot

Tanah

Bambu

Papan

Semen

Keramik

5

4

3

2

1

Tabel III.6 Preferensi Kriteria Pendapatan RT Sub Kriteria

>0 dan <=400000

>400000 dan <=600000

>600000 dan <=800000

>800000 dan <=100000 0

>100000 0

Bobot

5

4

3

2

1

37

2. Melakukan penilaian nasabah Tabel III.7 Penilaian Nasabah Kode

Nama Nasabah

Nsbh N0001

N0002

Masmayni Binti

Luas

Kondisi

Atap

Dinding

Lantai

Pendapatan

Tanah

Rumah

Rumah

Rumah

Rumah

RT

Anyaman

Anyaman

Daun

Bambu

>100m2 dan

Legimin

<=200m2

Novi Binti

>200 m2

Mursiyabu

dan <= 350

Sederhana

Mewah

Rosmita Binti Suwandi

N0004

Dwi Binti Sutrisno

N0005

Marni Binti Iro

N0007

N0008

> 0 m2 dan <= 50 m2 > 50 m2 dan 2

Sangat

Beton

Beton

Semen

Rusak Rusak

Seng

Triplek

Papan

Sangat

Keramik

Keramik

Semen

Mewah

> 50 m2 dan

Sangat

Anyaman

Anyaman

Sudiman

<= 100 m2

Rusak

Daun

Bambu

Sumirah Binti

> 0 m2 dan

Rusak

Beton

Keramik

Keramik

Papan

Tanah

Suhema Binti

Ahmad Jaro

<= 50 m2

Siti Alijah Binti

> 100m2

Sabar Alka

Sederhana

dan <=200m2

N0009

Tanah

<= 100 m

Dukromo N0006

> 350 m2

Papan

Liat

m2

N0003

Tanah

Bambu

Dermawati Binti Rohman

Tanah Liat

Bambu

> 200m2 dan <= 350

Rusak

Keramik

Beton

Semen

Mewah

Beton

Beton

Keramik

Seng

Keramik

Keramik

Papan

Tanah

m2

N0010

N0011

Syamsidar Binti Abdullah

<= 100 m2

Suriani Binti

> 0 m2 dan

Salikin N0012

> 50 m2 dan

SunartiBinti Wadimin

2

<= 50 m

>100m2 dan <= 200 m2

Sangat Rusak Rusak

Tanah Liat

>600000 dan <=800000 >400000 dan <=600000 >0 dan <=400000 >800000 dan <=1000000 >1000000 >0 dan <=400000 >1000000 >400000 dan <=600000 >600000 dan <=800000 >800000 dan <=1000000 >1000000 >0 dan <=400000

38

3. Melakukan konversi penilaian nasabah Tabel III.8 Konversi Penilaian Nasabah Kode N0001

Nama Masmayni Binti Legimin

N0002

Novi Binti Mursiyabu

N0003

Rosmita Binti Suwandi

N0004

Dwi Binti Sutrisno

N0005

Marni Binti Iro Dukromo

N0006

Suhema Binti Sudiman

N0007

Sumirah Binti Ahmad Jaro

N0008

Luas

Kondisi

Atap

Dinding

Lantai

Pendapatan

Tanah

Rumah

Rumah

Rumah

Rumah

RT

3

3

5

5

4

3

2

2

3

3

5

4

1

5

2

2

2

5

5

4

4

4

3

2

4

5

5

5

4

5

5

4

2

1

1

1

3

3

3

3

5

4

2

4

1

2

2

3

4

2

2

2

1

2

5

5

4

1

1

1

3

4

3

3

5

5

1

3

5

4

3

4

Siti Alijah Binti Sabar Alka

N0009

Dermawati Binti Rohman

N0010

Syamsidar Binti Abdullah

N0011

Suriani Binti Salikin

N0012

SunartiBinti Wadimin

39

4. Menentukan bobot standar penilaian untuk digunakan sebagai pengurangan dalam pencarian gap. Pemberian bobot berdasarkan tingkat kepentingan dengan rincian sebagai berikut : a. Nilai 5, jika tingkat kepentingan kriteria yang ditentukan Sangat Penting b. Nilai 4, jika tingkat kepentingan kriteria yang ditentukan Penting c. Nilai 3, jika tingkat kepentingan kriteria yang ditentukan Cukup Penting d. Nilai 2, jika tingkat kepentingan kriteria yang ditentukan Kurang Penting e. Nilai 1, jika tingkat kepentingan kriteria yang ditentukan Tidak Penting Tabel III.9 Nilai Bobot Standar No

Bobot Kepentingan Kriteria

Nilai

1

Kriteria Sangat Penting

5

2

Kriteria Penting

4

3

Kriteria Cukup Penting

3

4

Kriteria Kurang Penting

2

5

Kriteria Tidak Penting

1

Berdasarkan nilai bobot kepentingan kriteria, maka ditetapkan bobot kepentingan kriteria sesuai dengan kebutuhan perusahaan sebagai berikut seperti terlihat pada Tabel III.5 berikut ini.

40

Tabel III.10 Bobot Standar Luas

Kondisi

Atap

Dinding

Lantai

Pendapatan

Tanah

Rumah

Rumah

Rumah

Rumah

RT

5

Nilai

5.

5

5

3

1

5

Pencarian gap Pencarian gap dilakukan dengan mengurangi nilai setiap kriteria peserta dengan bobot standar masing-masing kriteria. Misal : Nilai nasabah N0001 untuk kriteria Luas Tanah adalah 3 dan Bobot dari kriteria Luas Tanah adalah 5 maka dilakukan pengurangan Nilai dengan Bobot. N0001[Luas Tanah] = 3 – 5 = (-2) N0001[Kondisi Rumah] = 3 – 5 = (-2) N0001[Atap Rumah] = 5 – 5 = (0) N0001[Dinding Rumah] = 5 – 3 = (2) N0001[Lantai Rumah] = 4 – 1 = (3) N0001[Pendapatan RT] = 3 – 5 = (-2) Proses diulangi sampai nasabah yang terakhir sehingga akan didapatkan hasil pencarian GAP seperti pada tabel III.6 berikut ini.

41

Tabel III.11 Pencarian GAP Kode

Nama

Luas

Kondisi

Atap

Dinding

Lantai

Pendapatan

Nasabah

Nasabah

Tanah

Rumah

Rumah

Rumah

Rumah

RT

N0001

Masmayni

-2

-2

0

2

3

-2

-3

-3

-2

0

4

-1

-4

0

-3

-1

1

0

0

-1

-1

1

2

-3

-1

0

0

2

3

0

0

-1

-3

-2

0

-4

-2

-2

-2

0

4

-1

-3

-1

-4

-1

1

-2

-1

-3

-3

-1

0

-3

0

0

-1

-2

0

-4

-2

-1

-2

0

4

0

-4

-2

0

1

2

-1

Binti Legimin N0002

Novi Binti Mursiyabu

N0003

Rosmita Binti Suwandi

N0004

Dwi Binti Sutrisno

N0005

Marni Binti Iro Dukromo

N0006

Suhema Binti Sudiman

N0007

Sumirah Binti Ahmad Jaro

N0008

Siti Alijah Binti Sabar Alka

N0009

Dermawati Binti Rohman

N0010

Syamsidar Binti Abdullah

N0011

Suriani Binti Salikin

N0012

SunartiBinti Wadimin

42

6.

Penetapan Bobot Standar GAP kompetensi Bobot standar GAP kompetensi merupakan ketetapan yang digunakan sebagai perbandingan untuk mendapatkan bobot dari setiap nilai GAP nasabah. Penetapan bobot terlihat pada tabel III.7 berikut. Tabel III.12 Bobot Standar GAP Kompetensi Bobot Selisih

Nilai

Keterangan

0

5

Tidak Ada Selisih (kompetensi sesuai yang dibutuhkan)

1

4,5

Kompetensi individu kelebihan 1 tingkat/level

-1

4

Kompetensi individu kekurangan 1 tingkat/level

2

3,5

Kompetensi individu kelebihan 2 tingkat/level

-2

3

Kompetensi individu kekurangan 2 tingkat/level

3

2,5

Kompetensi individu kelebihan 3 tingkat/level

-3

2

Kompetensi individu kekurangan 3 tingkat/level

4

1,5

Kompetensi individu kelebihan 4 tingkat/level

-4

1

Kompetensi individu kekurangan 4 tingkat/level

7. Pemetaan gap kompetensi nasabah Pemetaan gap kompetensi nasabah dilakukan dengan memetakan gap dengan bobot standar gap kompetensi. Untuk mendapatkannya, nilai tiap gap masingmasing nasabah hasilnya akan dibandingkan dengan bobot standar gap kompetensi. Misalnya : Nilai GAP dari nasabah N0001 untuk kriteria Luas Tanah adalah (-2) dan dari tabel standar GAP didapat jika nilai GAP (-2), maka bobot nilainya adalah 3. N0001[Luas Tanah] = (-2) 3

43

Tabel III.13 Pemetaan GAP Kompetensi Nasabah Kode

Nama

N0001

Masmayni Binti Legimin Novi Binti Mursiyabu Rosmita Binti Suwandi Dwi Binti Sutrisno Marni Binti Iro Dukromo Suhema Binti Sudiman Sumirah Binti Ahmad Jaro Siti Alijah Binti Sabar Dermawati Binti Rohman Syamsidar Binti Abdullah Suriani Binti Salikin SunartiBinti Wadimin

N0002 N0003 N0004 N0005 N0006 N0007 N0008 N0009 N0010

N0011 N0012

Kode Nasabah N0005 N0004 N0010 N0011 N0012 N0003 N0001 N0007 N0006 N0009 N0002 N0008

Luas Kondisi Tanah Rumah

Atap Rumah

Dinding Rumah

Lantai Rumah

Pendapatan RT

3

3

5

3,5

2,5

3

2

2

3

5

1,5

4

1

5

2

4

4,5

5

5

4

4

4,5

3,5

2

4

5

5

3,5

2,5

5

5

4

2

3

5

1

3

3

3

5

1,5

4

2

4

1

4

4,5

3

4

2

2

4

5

2

5

5

4

3

5

1

3

4

3

5

1,5

5

1

3

5

4,5

3,5

4

Tabel III.14 Kelayakan Profile Matching Nama Nasabah NCF NSF Marni Binti Iro Dukromo 4,125 4,25 Dwi Binti Sutrisno 3,625 4,25 Syamsidar Binti Abdullah 4 3,5 Suriani Binti Salikin 3,375 4 SunartiBinti Wadimin 2,875 4,75 Rosmita Binti Suwandi 3,875 3 Masmayni Binti Legimin 2,875 4,25 Sumirah Binti Ahmad Jaro 2,875 4 Suhema Binti Sudiman 3,75 2,5 Dermawati Binti Rohman 3,25 3 Novi Binti Mursiyabu 2,375 4 Siti Alijah Binti Sabar Alka 3,375 2,5

Total 2,0875 1,9375 1,9 1,8125 1,8125 1,7625 1,7125 1,6625 1,625 1,575 1,5125 1,5125

Kelayakan Layak Layak Layak Layak Layak Layak Tak Layak Tak Layak Tak Layak Tak Layak Tak Layak Tak Layak

44

8.

Menentukan normalisasi perbaikan bobot (Wj): Setelah didapatkan bobot GAP dari setiap nasabah berdasarkan kriteria yang ditetapkan, maka penerapan metode profile matching sudah selesai dilakukan. Karena metode profile matching hanya digunakan untuk mendapatkan nilai GAP dari masing-masing nasabah dari kriteria yang ditetapkan. Selanjutnya hasil bobot GAP tersebut akan digunakan pada metode weight product. Tahap penerapan metode weight product dimulai dengan melakukan normalisasi perbaikan bobot (Wj): menggunakan rumus berikut :

Tabel III.15 Normalisasi Bobot Preferensi Kriteria

9.

Bobot Preferensi

Luas Tanah

0,208

Kondisi Rumah

0,208

Atap Rumah

0,208

Dinding Rumah

0,125

Lantai Rumah

0,042

Pendpatan Bersih

0,208

Total Wajib = 1

1,000

Menghitung vektor S: Setelah dilakukan normalisasi perbaikan bobot, selanjutnya dilakukan perhitungan vektor S menggunakan nilai nasabah hasil pemetaan GAP Kompetensi metode profile matching denga rumus sebagai berikut :

45

Nilai Vektor S Nasabah Ke - X = (Gap LuasTanah ^ Bobot LuasTanah) x = (GapKondRumah ^ BobotKondRumah) x = (GapAtapRumah ^ BobotAtapRumah) x = (GapDindingRumah ^ BobotDindingRumah) x = (GapLantaiRumah ^ BobotLantaiRumah) x = (GapPendRT ^ BobotPendRT) S[N0001] S[N0002] S[N0003] S[N0004] S[N0005] S[N0006] S[N0007] S[N0008] S[N0009] S[N0010] S[N0011] S[N0012]

= = = = = = = = = = = = = = = = = = = = = = = =

(3^0,208)x(3^0,208)x(5^0,208)x(3,5^0,125)x(2,5^0,042) x(3^0,208) 3,376050 (2^0,208)x(2^0,208)x(3^0,208)x(5^0,125)x(1,5^0,042) x(4^0,208) 2,785909 (1^0,208)x(5^0,208)x(2^0,208)x(4^0,125)x(4,5^0,042) x(5^0,208) 2,860400 (5^0,208)x(4^0,208)x(4^0,208)x(4,5^0,125)x(3,5^0,042) x(2^0,208) 3,660267 (4^0,208)x(5^0,208)x(5^0,208)x(3,5^0,125)x(2,5^0,042) x(5^0,208) 4,434807 (5^0,208)x(4^0,208)x(2^0,208)x(3^0,125)x(5^0,042) x(1^0,208) 2,645614 (3^0,208)x(3^0,208)x(3^0,208)x(5^0,125)x(1,5^0,042) x(4^0,208) 3,298666 (2^0,208)x(4^0,208)x(1^0,208)x(4^0,125)x(4,5^0,042) x(3^0,208) 2,454815 (4^0,208)x(2^0,208)x(2^0,208)x(4^0,125)x(5^0,042) x(2^0,208) 2,617907 (5^0,208)x(5^0,208)x(4^0,208)x(3^0,125)x(5^0,042) x(1^0,208) 3,202068 (3^0,208)x(4^0,208)x(3^0,208)x(5^0,125)x(1,5^0,042) x(5^0,208) 3,669077 (1^0,208)x(3^0,208)x(5^0,208)x(4,5^0,125)x(3,5^0,042) x(4^0,208) 2,983797

46

Tabel III.16 Vektor S Kode

Nama

Nilai Sigma S

N0001

Masmayni Binti Legimin

3,376050

N0002

Novi Binti Mursiyabu

2,785909

N0003

Rosmita Binti Suwandi

2,860400

N0004

Dwi Binti Sutrisno

3,660267

N0005

Marni Binti Iro Dukromo

4,434807

N0006

Suhema Binti Sudiman

2,645614

N0007

Sumirah Binti Ahmad Jaro

3,298666

N0008

Siti Alijah Binti Sabar Alka

2,454815

N0009

Dermawati Binti Rohman

2,617907

N0010

Syamsidar Binti Abdullah

3,202068

N0011

Suriani Binti Salikin

3,669077

N0012

SunartiBinti Wadimin

2,983797 37,989376

10. Menghitung vektor V: Setelah dilakukan perhitungan vektor S, selanjutnya dilakukan perhitungan vektor V dengan menggunakan rumus sebagai berikut, kemudian dilakukan perangkingan untuk melihat nasabah yang layak dan tidak layak dengan nilai indikator layak harus lebih dari 0,08 : n

 xijwj Vi 

j 1

n

 j 1

V1 V2 V3 V4

= = = =

( x *j ) wj

…………………….(8)

3, 376050/ 37,989376 2,785909/ 37,989376 2,860400/ 37,989376 3,660267/ 37,989376

= = = =

0,088868 0,073334 0,075295 0,096350

47

V5 V6 V7 V8 V9 V10 V11 V12 Kode N0001 N0002 N0003 N0004 N0005 N0006 N0007 N0008 N0009 N0010 N0011 N0012

Kode N0005 N0011 N0004 N0001 N0007 N0010 N0012 N0003 N0002 N0006 N0009 N0008

= = = = = = = =

4,434807/ 37,989376 = 2,645614/ 37,989376 = 3,298666/ 37,989376 = 2,454815/ 37,989376 = 2,617907/ 37,989376 = 3,202068/ 37,989376 = 3,669077/ 37,989376 = 2,983797/ 37,989376 = Tabel III.17 Vektor V

Nama Masmayni Binti Legimin Novi Binti Mursiyabu Rosmita Binti Suwandi Dwi Binti Sutrisno Marni Binti Iro Dukromo Suhema Binti Sudiman Sumirah Binti Ahmad Jaro Siti Alijah Binti Sabar Alka Dermawati Binti Rohman Syamsidar Binti Abdullah Suriani Binti Salikin SunartiBinti Wadimin

0,116738 0,069641 0,086831 0,064618 0,068912 0,084289 0,096582 0,078543 Vektor V 0,088868 0,073334 0,075295 0,096350 0,116738 0,069641 0,086831 0,064618 0,068912 0,084289 0,096582 0,078543 1,000000

Tabel III.18 Kelayakan Nasabah Nama Nilai Rangking Marni Binti Iro Dukromo 0,116738 1 Suriani Binti Salikin 0,096582 2 Dwi Binti Sutrisno 0,096350 3 Masmayni Binti Legimin 0,088868 4 Sumirah Binti Ahmad Jaro 0,086831 5 Syamsidar Binti Abdullah 0,084289 6 SunartiBinti Wadimin 0,078543 7 Rosmita Binti Suwandi 0,075295 8 Novi Binti Mursiyabu 0,073334 9 Suhema Binti Sudiman 0,069641 10 Dermawati Binti Rohman 0,068912 11 Siti Alijah Binti Sabar aka 0,064618 12

Kelayakan Layak Layak Layak Layak Layak Layak Tidak Layak Tidak Layak Tidak Layak Tidak Layak Tidak Layak Tidak Layak

48

III.3

Desain Sistem Desain sistem menggunakan bahasa pemodelan UML yang terdiri dari

Usecase Diagram, Class Diagram, Activity Diagram dan Sequence Diagram.

III.3.1 UsecaseDiagram Secara garis besar, bisnis proses sistem yang akan dirancang digambarkan dengan usecase diagram yang terdapat pada Gambar III.2 berikut : Sistem Pendukung Keputusan Pemberian Pinjaman Modal Usaha Dengan Metode Weight Product dan Profile Matching pada Kantor Unit Permodalan Nasional Madani (Persero) Data Nasabah «extends» «uses» Master

«extends» «extends»

Penilaian Nasabah «uses»

«uses»

«uses»

Data Pengguna

Login

«uses» «uses»

«uses»

Admin

Proses SPK

Laporan Nasabah «uses»

«uses»

«uses»

Laporan SPK

«uses» «uses»

Login Pimpinan

Logout User

Gambar III.2 Use CaseDiagram Sistem Pendukung Keputusan

49

III.3.2 ClassDiagram Rancangan kelas-kelas yang akan digunakan pada sistem pendukung keputusan penentuan penerimaan bantuan permodalan menggunakan metode Profile Matching dan Weight Product akan dirancang dapat dilihat pada gambar berikut. Nasabah User

Logout

-username -password -level +Simpan() +Edit() +Hapus() +Login()

-username +Keluar() 1

*

-tentang_program

-Data Nasabah -Penilaian Nasabah -Data Pengguna +Pilih Master()

+Lihat()

1 *

-username * -password +Cek User() +Valid User()

1

1

1 *

1 1

Laporan Nasabah No_KTP (varchar 25) Nama_Nasabah (varchar 30) Nama_Ayah (varchar 15) Tempat_Lahir (int 25) Tanggal_Lahir (varchar 25) No_KK (varchar 25) Alamat (varchar 30) Telepon (varchar 15) Status_Nikah (varchar 15) Nama_Suami (varchar 3)0 Pekerjaan_Suami (varchar 25) Jumlah_Anak (int 2) Usaha_Nasabah (varchar 30) Jumlah_Tanggungan (int 2)

Master

Login

1 1

*

*

Tentang

*

1

+ Simpan + Edit + Hapus

Proses SPK * Laporan SPk No KTP (varchar 25) Bobot VektorS (double) Bobot_VektorV (double) Kelayakan (varchar 15) + Cetak

No_KTP (varchar (25) Bobot_Luas (int 5) Bobot_Kondisi (int 5) Bobot_Atap (int 2) Bobot_Dinding (int 2) Bobot_Lantai (int 2) Bobot_Pendapatan (int 2) Bobot VektorS (double) Bobot_VektorV (double) Kelayakan (varchar 15) + Proses

No_KTP (varchar 25) Nama_Nasabah (varchar 30) Nama_Ayah (varchar 15) Tempat_Lahir (int 25) Tanggal_Lahir (varchar 25) No_KK (varchar 25) Alamat (varchar 30) Telepon (varchar 15) Status_Nikah (varchar 15) Nama_Suami (varchar 3)0 Pekerjaan_Suami (varchar 25) * Jumlah_Anak (int 2) Usaha_Nasabah (varchar 30) Jumlah_Tanggungan (int 2)

1

*

Tabel Nilai * No_KTP (varchar 25) Nilai_Luas (int 5) Nilai_Kondisi (int 5) Nilai_Atap (int 2) Nilai_Dinding (int 2) Nilai_Lantai (int 2) Nilai_Pendapatan (int 2) + Update + Reload

+ Cetak

Gambar III.3 Class Diagram Sistem Pendukung Keputusan

III.3.3 Activity Diagram Bisnis proses yang telah digambarkan pada usecase diagram diatas dijabarkan dengan activity diagram : 1.

Activity Diagram Login Admin Aktivitas login admin yang dilakukan oleh admin dapat diterangkan dengan langkah-langkah state, dimulai dari memasukkan username, password dan memilih level user jika Akun valid maka sistem akan mengaktifkan menu

50

administrator, sedangkan jika tidak valid, maka tampilkan pesan kesalahan yang ditunjukkan pada gambar III.4 berikut. Form Login Admin Admin

Jalankan Aplikasi

Sistem

Form Login

Isi Username, password dan lewvel

Click Login

Validasi user, pass dan level

berhasil

gagal

Pesan error

Phase

Halaman admin

Gambar III.4 Activity Diagram Login Admin Activity Diagram Menu Data Admin Aktivitas yang dilakukan adalah memilih aktivitas menu data yakni data nasabah, konversi nilai dan data user. Aktivitas ini dapat dilihat sepeti yang ditunjukkan pada gambar III.5 berikut Master Admin

Sistem

Pilih Master

Tampil Pilihan Master

Memilih Pilihan Data

Klik Salah Satu Data

Tampilkan Data Sesuai Pilihan

Phase

2.

Gambar III.5 Activity Diagram Menu Data

51

Activity Diagram Menu Data Nasabah Admin Aktivitas yang dilakukan adalah admin memilih Menu Data Nasabah. Sistem akan menampilkan form Data Nasabah. Admin melakukan pengisian data, selanjutnya memilih tombol perintah sesuai dengan kebutuhan. Tombol Baru untuk memulai pengisian, Simpan untuk menyimpan data, Edit untuk merubah data, Hapus untuk menghapus data Batal untuk membatalkan pengisian data (mengosongkan form). Hal ini dapat dilihat sepeti yang ditunjukkan pada gambar III.6 berikut. Master Data Nasabah Admin

Sistem

Memilih Menu Data Tampil Form Nasabah Klik Data Nasabah

Isi Data Nasabah

Tambah Data

Menekan Tombol Simpan

Menyimpan data

Pilih Record Data Korban

tidak

Edit Data

Mengubah Data Menekan Tombol Ubah Hapus Data

Menekan Tombol Hapus

Konfirmasi Hapus

Ya

Menghapus Data

Phase

3.

Gambar III.6 Activity Diagram Master Data Korban

52

4.

Activity Diagram Master Data Nilai Admin Aktivitas ini melakukan proses konversi nilai korban menjadi bentuk angka kemudian admin mengklik tombol konversi agar sistem melakukan proses konversi data nilai dan menyimpan kedalam database. Aktivitas ini ditunjukkan pada gambar III.7 berikut. Master Data Penilaian Admin

Sistem

Memilih Menu Master Tampilkan Form Penilaian

Klik Menu Penilaian Nasabah

Menekan Tombol Konversi

Konversi

Menyimpan data

tidak

Reload

Phase

Menekan Tombol Reload

Gambar III.7 Activity Diagram Penilaian Nasabah 5.

Activity Diagram Master Data Pengguna Admin Aktivitas ini melakukan pengaturan data pengguna (user) yang memiliki hak akses ke sistem. Admin memilih menu data user

dan sistem akan

53

menampilkan form Data User. Admin melakukan pengisian data, selanjutnya memilih tombol perintah sesuai dengan kebutuhan. Tombol Baru untuk memulai pengisian, Simpan untuk menyimpan data, Edit untuk merubah data, Hapus untuk menghapus data dan Batal untuk membatalkan pengisian data (mengosongkan form) sepeti terlihat pada gambar III.8 berikut. Menu Data User Admin

Sistem

Memilih Menu Data Tampilkan Form User Klik Menu Data User

Isi Data User

Tambah Data

Menekan Tombol Simpan

Menyimpan data

Pilih Record User

tidak

Edit Data

Mengubah Data Menekan Tombol Ubah Hapus Data

Menekan Tombol Hapus

Konfirmasi Penghapusan

Menghapus Data

Phase

Ya

Gambar III.8 Activity Diagram Master Data Pengguna

54

Activity Diagram Proses SPK Admin Aktivitas yang dilakukan adalah admin menekan pada menu proses SPK dan sistem akan menampilkan form Proses SPK. Admin malakukan pengisian bobot kriteria dan menekan tombol proses untuk melakukan proses SPK dan sistem akan menampilkan hasil SPK seperti yang ditunjukkan pada gambar III.9 berikut.

Proses SPK Admin

Sistem

Click Form Proses SPK

Menampilkan Form SPK

Mengisi Bobot

Preferensi Bobot

Click Proses

Proses Pengambilan Keputusan

Hasil SPK

Phase

6.

Gambar III.9 Activity Diagram Proses SPK

55

7.

Activity Diagram Pembuatan Laporan Admin / User Admin / User dapat meihat hasil SPK dengan menekan menu Laporan SPK

dan sistem akan menampilkannya. Activity ini dapat dilihat pada gambar III.10 berikut. Laporan SPK Admin / User Admin / User

Pilih Laporan SPK

Sistem

Menampilkan Laporan SPK

Cetak Laporan

Phase

Click cetak laporan

Gambar III.10 Activity Diagram Laporan SPK 8.

Activity Diagram Laporan Nasabah Admin / User Admin / User dapat meihat laporan nasabah dengan menekan menu Laporan

Nasabah dan sistem akan menampilkannya. Activity ini dapat dilihat pada gambar III.11 berikut. Laporan Nasabah Admin / User Admin / User

Pilih Laporan Nasabah

Menampilkan Laporan Nasabah

Cetak Laporan

Phase

Click cetak laporan

Sistem

Gambar III.11 Activity Diagram Laporan Nasabah

56

Activity Diagram Login User Aktivitas login yang dilakukan oleh User dapat diterangkan dengan langkahlangkah state, dimulai dari memasukkan username, password dan memilih level user jika Akun valid maka sistem akan mengaktifkan menu User, sedangkan jika tidak valid, maka tampilkan pesan kesalahan yang ditunjukkan pada gambar III.12 berikut. Form Login User Sistem

User

Klik Login User

Form Login

Isi Username, password dan lewvel

Click Login

Validasi user, pass dan level

berhasil

Halaman Pimpinan

gagal

Pesan error

Phase

9.

Gambar III.12Activity Diagram Login Pimpinan

57

10. Activity Diagram Logout Admin / User Aktivitas Logout yang dilakukan oleh Admin / User dilakukan dengan memilih menu logout, maka sistem akan logout dari sistem dan menampilkan halaman login seperti pada gambar III.13 berikut. Logout (Admin / User) Admin / User

Sistem

Logoout Dari Sistem

Klik Menu Logout

Phase

Tampilkan Halaman Login

Gambar III.13 Activity Diagram Logout

III.3.4 Sequence Diagram Rangkaian kegiatan pada setiap terjadi event sistem digambarkan pada sequence diagram berikut: 1. Sequence Diagram Login Admin Serangkaian kegiatan saat terjadi event pada form login dapat dilihat pada gambar III.14 berikut.

58

Admin

Form Login

Proses Login

Main Form

Tampilkan Fom ()

click form login Validasi nama dan password ()

Invalid ()

Login sukses ()

Gambar III.14 Sequence Diagram Form Login Keterangan : a. Terdapat 1 actor, yaitu Admin b. Terdapat 4 lifline, yaitu main form, form admin, proses login, menu admin c. Terdapat 6 message, yaitu dilakukan oleh admin tampilan menu, admin melakukan menu login, mengisi nama dan password, masuk koneksi database, pengisian sesuai database, pengisian tidak sesuai database.

59

2.

Sequence Diagram Master Serangkaian kegiatan saat terjadi event pada menu Master dapat dilihat pada gambar III.15 berikut.

Admin

Main form Pilih Menu

Menu ()

Klik Master

Tampilkan Pilihan Menu

Gambar III.15 Sequence Diagram Master Keterangan : a. Terdapat 1 actor, yaitu Admin b. Terdapat 1 lifline, yaitu main form c. Terdapat 4 message, yaitu dilakukan oleh admin tampilan form, admin melakukan menu, klik Menu Data, tampilkan Pilihan Menu.

60

3.

Sequence Diagram Data Nasabah Serangkaian kegiatan saat terjadi event pada form Data Nasabah dapat dilihat pada gambar III.16 berikut.

Admin

Main form

Form Data Nasabah

Proses

Data Nasabah

Tampilkan Fom ()

Menu ()

Click form Data Nasabah () Mengisi Data Nasabah

Update data () Koneksi database ()

Delete data ()

Koneksi database () Close form ()

Gambar III.16 Sequence Diagram Data Nasabah Keterangan : a. Terdapat 1 actor, yaitu Admin b. Terdapat 4 lifline, yaitu main form, form data korban, proses dan data korban c. Terdapat 6 message, yaitu dilakukan oleh admin tampilan form, admin melakukan menu, click form data nasabah, mengisi data nasabah, update data, koneksi database, delete data, koneksi database.

61

4.

Sequence Diagram Penilaian Nasabah Serangkaian kegiatan saat terjadi event pada form penilaian nasabah dapat dilihat pada gambar III.17berikut.

Admin

Main form

Form Penilaian Nasabah

Proses

Data Nilai

Tampilkan Fom ()

Menu ()

Click form Data Bobot () Klik Proses Konversi

Konversi

Koneksi database ()

Close form ()

Gambar III.17 Sequence Diagram Penilaian Nasabah Keterangan : a. Terdapat 1 actor, yaitu Admin b. Terdapat 4 lifline, yaitu main form, form konversi, proses dan data nilai c. Terdapat 6 message, yaitu dilakukan oleh admin tampilan form, admin melakukan menu, click form Penilaian Nasabah, klik proses konversi, update data, koneksi database, delete data, koneksi database.

62

5.

SequenceDiagram Pendataan Pengguna Serangkaian kegiatan saat terjadi event pada form Pengguna dapat dilihat pada gambar III.18 berikut.

Main form

Admin

Form data Pengguna

Proses

Data Pengguna

Tampilkan Fom ()

Menu ()

Click form Data User () Mengisi Data User

Update data () Koneksi database ()

Delete data ()

Koneksi database () Close form ()

Gambar III.18 Sequence Diagram Pengguna Keterangan : a. Terdapat 1 actor, yaitu Admin b. Terdapat 4 lifline, yaitu main form, form pengguna, proses, data pengguna c. Terdapat 6 message, yaitu dilakukan oleh admin tampilan form, admin melakukan menu, click form data user, mengisi data pengguna, update data, koneksi database, delete data, koneksi database.

63

6.

Sequence Diagram Proses SPK Serangkaian kegiatan saat terjadi event pada form proses SPK dapat dilihat pada gambar III.19 berikut.

Admin

Main form

Form Proses SPK Proses

Tbl Nilai

Tbl BobotGAP

Tbl Hasil

Tampilkan Fom ()

Menu () Klik Proses SPK

isi data ()

Klik Proses

Load Data Simpan Bobot GAP Load Data Simpan Hasil Load Data Hasil SPK Close form ()

Gambar III.19 Sequence Diagram Proses SPK

Keterangan : a. Terdapat 1 actor, yaitu Admin b. Terdapat 4 lifline, yaitu main form, form proses SPK, proses, Tbl Nilai, Tbl Bobot, Tbl Hasil c. Terdapat 7 message, yaitu dilakukan oleh admin tampilan form, admin melakukan menu, click proses, mengisi data, load data, simpan data close form.

64

7.

Sequence Diagram Laporan SPK Serangkaian kegiatan saat terjadi event pada form Laporan SPK dapat dilihat pada gambar III.20 berikut.

User

Main form

Form Laporan SPK

Proses

Hasil SPK

Tampilkan Fom ()

Menu () Klik form Laporan SPK () Klik Cetak() Retrieve Data()

Koneksi database ()

Close form ()

Gambar III.20 Sequence Diagram Laporan SPK Keterangan : a. Terdapat 1 actor, yaitu Admin/Pimpinan b. Terdapat 4 lifline, yaitu main form, form laporan, proses, hasil SPK c. Terdapat 6 message, yaitu dilakukan oleh User tampilan form, User melakukan klik Laporan SPK, Klik Cetak, Retrieve, koneksi database.

65

8.

Sequence Diagram Laporan Nasabah Serangkaian kegiatan saat terjadi event pada form Laporan Nasabah dapat dilihat pada gambar III.21 berikut.

User

Main form

Form Laporan Nasabah

Proses

Data Nasabah

Tampilkan Fom ()

Menu () Klik form Laporan Nasabah() Klik Cetak() Retrieve Data()

Koneksi database ()

Close form ()

Gambar III.21 Sequence Diagram Laporan Nasabah Keterangan : d. Terdapat 1 actor, yaitu Admin/ User e. Terdapat 4 lifline, yaitu main form, form laporan nasabah, proses, data Nasabah f. Terdapat 6 message, yaitu dilakukan oleh User tampilan form, User klik Laporan Nasabah, Klik Cetak, Retrieve, koneksi database.

66

9. Sequence Diagram Login Pimpinan Serangkaian kegiatan saat terjadi event pada form login dapat dilihat pada gambar III.22 berikut.

User

Form Admin

Proses Login

Main Form

Tampilkan Fom ()

click form login Validasi nama dan password ()

Invalid ()

Login sukses ()

Gambar III.22 Sequence Diagram Form Login Keterangan : a. Terdapat 1 actor, yaitu User b. Terdapat 4 lifline, yaitu main form, form User, proses login, menu User c. Terdapat 6 message, yaitu dilakukan oleh User tampilan menu, User melakukan menu login, mengisi nama dan password, masuk koneksi database, pengisian sesuai database, pengisian tidak sesuai database.

67

10. Sequence Diagram Logout Serangkaian kegiatan saat terjadi event pada logout dapat dilihat pada gambar III.23 berikut.

User

Main form

Form Login

Tampilkan Fom ()

Menu ()

Klik Logout Konfirmasi Logout Sistem

Gambar III.23 Sequence Diagram Logout Keterangan : a. Terdapat 1 actor, yaitu Admin / User b. Terdapat 2 lifline, yaitu main form, form login c. Terdapat 4 message, dilakukan oleh User yaitu tampilan form, admin melakukan menu, klik logout, keluar sistem dan tampilan form login.

III.3.5 Perancangan Basis Data III.3.5.1 Normalisasi Tahap normalisasi ini bertujuan untuk menghilangkan masalah berupa ketidak konsistenan apabila dilakukannya proses manipulasi data seperti penghapusan, perubahan dan penambahan data sehingga data tidak ambigu.

68

Tabel Tidak Normal

UNF

No KTP NiC1 NiC2 NiC3 NiC4 NiC5 NiC6 NoC1 NoC2 NoC3 NoC4 NoC5 NoC6 BC1 BC2 BC3 BC4 BC5 BC6 BD+ BD- BTotal

1NF = 2NF 1NF = 2NF

T_Nilai

1NF = 2NF

No KTP NiC1 NiC2 NiC3 NiC4 NiC5 NiC6

No KTP

T_Hasil

No KTP BC1 BC2 BC3 BC4 BC5 BC6 BS BV Layak 1NF = 2NF

Nama C1 C2 Nasabah

C3

C4 C5 C6

T_Nasabah

No KTP NoC1 NoC2 NoC3 NoC4 NoC5 NoC6 T_Bobot_Gap

Gambar III.24 Normalisasi Keterangan : 1. C1-C6

: Kriteria penentuan kelayakan nasabah

2. NiC1-NiC6

: Nilai angka kriteria penilaian

3. NoC1-N0C6 : Nilai GAP setiap kriteria 4. BC1-BC6

: Nilai Bobot hasil setiap kriteria

5. BS BV -

: Bobot Vektor S dan Bobot Vektor V

6. Layak

: Nilai kelayakan nasabah

III.3.5.2 Desain Tabel Selanjutnya yang dikerjakan yaitu merancang struktur database, berikut ini merupakan rancangan struktur tabel tersebut: 1.

Struktur Tabel Pengguna Tabel pengguna dapat dilihat pada tabel III.19 berikut. Tabel III.19 Rancangan Tabel Pengguna Nama Database Nama Tabel No Nama Field username 2. password 3. level 4.

db_pnm Tb_pengguna Tipe Data varchar(30) varchar(20) varchar(15)

Boleh Kosong Tidak Tidak Tidak

Kunci PK -

69

2.

Struktur Tabel Nilai Tabel nilai dapat dilihat pada tabel III.20 berikut. Tabel III.20 Rancangan Tabel Nilai Nama Database db_pnm Nama Tabel Tb_nilai No Nama Field Tipe Data Boleh Kosong 1. id_nasabah varchar(15) Tidak 2. nilai_luas Int (2) Tidak 3. nilai_kondisi Int (2) Tidak 4. nilai_atap Int (2) Tidak 5. nilai_dinding Int (2) Tidak 6. nilai_lantai Int (2) Tidak 7. nilai_pendapatan Double (12,2) Tidak

3.

Kunci Primary Key -

Struktur Tabel Gap Tabel gap dapat dilihat pada tabel III.21 berikut. Tabel III.21 Rancangan Tabel Gap Nama Database db_pnm Nama Tabel Tb_gap No Nama Field Tipe Data Boleh Kosong 1. id_nasabah varchar(15) Tidak 2. gap_luas Int (2) Tidak 3. gap _kondisi Int (2) Tidak 4. gap _atap Int (2) Tidak 5. gap _dinding Int (2) Tidak 6. gap _lantai Int (2) Tidak 7. gap _pendapatan Double (12,2) Tidak

4.

Kunci Primary Key -

Struktur Tabel BobotGap Tabel bobot gap dapat dilihat pada tabel III.22 berikut. Tabel III.22 Rancangan Tabel Bobot Gap Nama Database db_pnm Nama Tabel Tb_bobotgap No Nama Field Tipe Data Boleh Kosong 1. id_nasabah varchar(15) Tidak 2. bobotgap_luas Int (2) Tidak 3. bobotgap _kondisi Int (2) Tidak 4. bobotgap _atap Int (2) Tidak 5. bobotgap _dinding Int (2) Tidak 6. bobotgap _lantai Int (2) Tidak 7. bobotgap _pendapatan Double (12,2) Tidak

Kunci Primary Key -

70

5.

Struktur Tabel Nasabah Tabel nasabah digunakan untuk menyimpan data nasabah sistem pendukung keputusan. Struktur tabel nasabah dapat dilihat pada tabel III.23 berikut. Tabel III.23 Rancangan Tabel Nasabah Nama Database Ayu_pnm Nama Tabel Tb_nasabah No Nama Field Tipe Data Boleh Kosong 1. No_KTP Tidak varchar(15) 2. Nama_Nasabah Tidak varchar(30) 3. Nama_Ayah Tidak varchar(30) 4. Tempat_Lahir Tidak varchar(30) 5. Tanggal_Lahir Tidak Date 6. No_KK Tidak varchar(15) 7. Alamat Tidak varchar(30) 8. Telepon Tidak varchar(15) 9. Status Tidak varchar(15) 10. Nama_Suami Tidak varchar(30) 11. Pekerjaan_Suami Tidak varchar(15) 4. Jumlah_Anak Tidak Int (2) 5. Usaha_Nasabah Tidak varchar(30) 6. Jumlah_Tanggungan Tidak Int (2)

6.

Kunci Primary Key -

Struktur Tabel Hasil Tabel hasil digunakan untuk menyimpan data hasil penilaian. Struktur tabel hasil dapat dilihat pada tabel III.24 berikut Tabel III.24 Rancangan Tabel Hasil Nama Database Wika Nama Tabel Vektor No Nama Field Tipe Data Boleh Kosong varchar(15) Tidak 1. no_ktp Double (8,6) Tidak 2. vector_s Double (8,6) Tidak 3. vektor_v varchar(20) Tidak 4. kelayakan varchar(20) Tidak 5. rangking

Kunci Primary Key -

71

III.3.5.3 Desain Interface Tahap perancangan berikutnya yaitu desain sistem secara detail yang meliputi desain input sistem, desain output sistem, dan desain database. 1.

Desain Form Login Serangkaian kegiatan saat terjadi event pada form login dapat dilihat pada gambar III.25 berikut. Login Sistem

FORM LOGIN Selamat datang Silahkan Login

User Name Password Level

Masuk

Reset

Gambar III.25 Desain Form Login 2.

Desain Form Utama Serangkaian kegiatan saat terjadi event pada form utama dapat dilihat pada gambar III.26 berikut. SPK Pemberian Pinjaman Modal Usaha Metode PM - WP Master

Proses SPK

Laporan SPK

Laporan Nasabah

Data Nasabah Penilaian Nasabah Data Pengguna

Gambar III.26 Desain Form Utama

Log Out

72

3.

Desain Form Data Nasabah Serangkaian kegiatan saat terjadi event pada form data nasabah dapat dilihat pada gambar III.27 berikut.

Data Nasabah

FORM NASABAH Form Nasabah Untuk Pendataan Nasabah Yang Mengajukan Permohonan

No KTP Nama

Nama Ayah

Status Kawin

Tempat Lahir

Tanggal Lahir

Nama Suami

No KK

Telepon

Usaha Nasabah

Jumlah Anak Pekerjaan Suami

Tanggungan

Alamat

Baru

Simpan

No KTP

Edit

Nama

Ayah

Batal

Tmp Lahir

Hapus

Tgl Lahir

ID

...

Luas

Cari

Nama

Kondisi

Atap

Dinding

Lantai

Pendapatan

Gambar III.27 Desain Form Data Nasabah 4.

Desain Form Pendataan Nilai Serangkaian kegiatan saat terjadi event pada form data nilai dapat dilihat pada gambar III.28 berikut. Form Penilaian Kriteria Nasabah

Form Pendataan Nilai Form Pendataan Nilai Berfungsi Untuk Konversi Data Penilaian Kriteria Nasabah Simpan

ID Nasabah

Hapus

Nama Nasabah

Batal

Luas Rumah

Dinding Rumah

Kondisi Rumah

Lantai Rumah

Atap Rumah

Pendapatan RT

ID

Nama

Luas

Kondisi

Atap

Lantai

Dinding

Pendapatan

ID

Nama

Luas

Kondisi

Atap

Lantai

Dinding

Pendapatan

Gambar III.28 Desain Form Import Data Nilai

73

5.

Desain Form Data Pengguna Serangkaian kegiatan saat terjadi event pada form data pengguna dapat dilihat pada gambar III.29 berikut. Form Pengguna

FORM PENGGUNA

Nama User

Baru

Password

Simpan

Level

Edit

Batal Nama User

Level Hapus

Gambar III.29 Desain Form Pengguna

74

6.

Desain Form Proses SPK Serangkaian kegiatan saat terjadi event pada form Proses SPK dapat dilihat pada gambar III.30 berikut.

Proses SPK

Bobot Preferensi

Nasabah Yang Layak

Luas Rumah Kondisi Rumah Atap Rumah Dinding Rumah Lantai Rumah Pendapatan RT

F O R M S P K

Proses SPK

Reset

Tampil Proses

ID

Nama

Vektor V

Rank

Nilai Nasabah ID

Nama

Luas

Kondisi

Atap

Dinding

Lantai

Pendapatan

Nama

Luas

Kondisi

Atap

Dinding

Lantai

Pendapatan

Nilai Konversi ID

ID

Nama

Vector S

Vector V

Kelayakan

Nilai GAP ID

Nama

Luas

Kondisi

Atap

Dinding

Lantai

Pendapatan

Nama

Luas

Kondisi

Atap

Dinding

Lantai

Pendapatan

Nilai Bobot ID

Gambar III.30 Desain Form Proses SPK 7.

Desain Form Laporan SPK Serangkaian kegiatan saat terjadi event pada form Laporan SPK dapat dilihat pada gambar III.31 berikut.

Laporan SPK

SPK Pemberian Pinjaman Modal Usaha Menggunakan Penggabungan Metode Profile Matching dan Weight Product Laporan Hasil SPK Pemilihan Nasabah No KTP

Nama

Luas

Kondisi

Atap

Dinding

Lantai

Pendapatan

Vector S

Vector V

Gambar III.31 Desain Form Laporan SPK

Kelayakan

Rangking

75

8.

Desain Form Laporan Nasabah Serangkaian kegiatan saat terjadi event pada form Laporan SPK dapat dilihat pada gambar III.31 berikut.

Laporan Nasabah

SPK Pemberian Pinjaman Modal Usaha Menggunakan Penggabungan Metode Profile Matching dan Weight Product Laporan Data Nasabah ID

Nama

Ayah

Tmp Lahir

Tgl Lahir

No KK

Alamat

Telepon

...

Usaha

Gambar III.32 Desain Form Laporan Nasabah

Tanggungan

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJICOBA IV.1. Tampilan Hasil Berikut ini dijelaskan mengenai tampilan hasil dari perancangan sistem pendukung

keputusan

pemberian

pinjaman

modal

usaha

menggunakan

penggabungan metode profile matching dan weight product yang dapat dilihat sebagai berikut : 11. Tampilan Login Aktivitas login yang dilakukan oleh pengguna sistem dapat dilihat pada gambar IV.1 seperti berikut :

Gambar IV.1 Performance form Form Login

76

77

12. Tampilan Menu Utama Menu Utama adalah akan tampil setelah pengguna mendapatkan akses login ke sistem. Menu utama berfungsi untuk mempermudah user dalam melihat aktifitas sistem dalam bentuk menu-menu yang tersedia seperti yang ditunjukkan pada gambar IV.2 berikut :

Gambar IV.2 Tampilan Menu Utama

13. Tampilan Master – Data Nasabah Tampilan Data Nasabah berfungsi untuk menampilkan data nasabah serta melakukan proses penyimpanan, perubahan dan penghapusan data nasabah. Tampilan Data Nasabah dapat dilihat seperti pada gambar IV.3 berikut :

78

Gambar IV.3 Tampilan Master Data Nasabah 14. Tampilan Master – Data Penilaian Tampilan Data Penilaian berfungsi untuk

menampilkan data penilaian

nasabah serta melakukan proses penyimpanan dan penghapusan data penilaian nasabah. Tampilan Data Penilaian dapat dilihat seperti pada gambar IV.4 berikut :

Gambar IV.4 Tampilan Master Data Penilaian

79

15. Tampilan Master – Data Pengguna Tampilan Data Pengguna berfungsi untuk

menampilkan data pengguna

sistem serta melakukan proses penyimpanan dan penghapusan data pengguna sistem. Tampilan Data Pengguna dapat dilihat seperti pada gambar IV.5 berikut :

Gambar IV.5 Tampilan Master Data Pengguna

16. Tampilan Proses SPK Tampilan Proses SPK berfungsi untuk melakukan proses perhitungan nilai nasabah untuk mendapatkan nasabah yang layak untuk mendapatkan pinjaman

modal

usaha.

Untuk menjalankan perhitungan,

pengguna

memasukkan data bobot dari setiap kriteria penilaian kemudian menekan tombol proses metode. Selanjutnya sistem akan melakukan proses perhitungan metode dan menampilkan hasil perhitungan nilai kedalam setiap

80

tabel. Tombol Reset Data berfungsi untuk melakukan reset terhadap hasil perhitungan kembali ke nilai 0 (kosong). Tombol Tampil Proses berfungsi untuk menampilkan proses langkah demi langkah. Tampilan Proses SPK dapat dilihat seperti pada gambar IV.6 berikut :

Gambar IV.6 Tampilan Proses SPK 17. Tampilan Laporan SPK Tampilan Laporan SPK berfungsi untuk menampilkan laporan hasil perhitungan SPK pemberian pinjaman modal usaha. Tampilan Proses SPK dapat dilihat seperti pada gambar IV.7 berikut :

81

Gambar IV.7 Tampilan Laporan SPK

18. Tampilan Laporan Nasabah Tampilan Laporan Nasabah berfungsi untuk menampilkan laporan data Nasabah yang diseleksi untuk pemberian pinjaman modal usaha. Tampilan Laporan Nasabah dapat dilihat seperti pada gambar IV.8 berikut :

Gambar IV.8 Tampilan Laporan Nasabah IV.2

Spesifikasi Uji Coba Program Uji coba terhadap sistem pendukung keputusan pemberian pinjaman

modal usaha bertujuan untuk memastikan bahwa system yang dibangun sudah

82

berada pada kondisi siap digunakan. Instrumen yang digunakan untuk melakukan pengujian ini yaitu dengan menggunakan: 1. Satu unit laptop Hewlett Packard dengan spesifikasi sebagai berikut: a. Processor AMD A8-7410 APU b. Memory 4 Gb c. Hardisk 500 Gb 2. Perangkat Lunak dengan spesifikasi sebagai berikut: a. Microsoft Visual Studio 2010 b. SQL Server 2008

IV.2.1 Uji Coba Program Pengujian program dilakukan untuk mengetahui tingkat keakuratan data dan informasi yang dihasilkan oleh program yang telah dirancang, adapun data yang diuji adalah : 1. Performance

program

yang

dirancang

untuk

menyesuaikan

kenyamanan user dalam mengakses sistem. 2. Keakuratan informasi dari input, proses dan output pada sistem.

83

IV.2.2 Hasil Uji Coba Setelah melakukan uji coba terhadap sistem, maka dapat disimpulkan hasil yang didapatkan yaitu: 1. Sistem memiliki Performance yang relatif stabil. 2. Sistem telah menghasilkan informasi yang valid. 3. Antarmuka

yang

sederhana

dapat

mempermudah

pengguna

dalam

mempelajari sistem ini. 4. Kebutuhan akan informasi laporan sangat cepat disajikan.

IV.2.3 Skenario Pengujian 1. Pengujian Login Tabel IV.1. Login Data Masukan Yang Diharapkan User name dan Akan menampilkan password : form utama admin,admin

Pengamatan Akan menampilkan form utama Akan Akan menampilkan menampilkan pesan “ user dan pesan “ user dan password yang password yang anda masukan salah anda masukan !!” salah !!”

Kesimpulan [ √ ] diterima [ ] ditolak

User name dan password kosong atau user name atau password salah

[ √ ] diterima [ ] ditolak

84

2. Pengujian Pendataan Nasabah Tabel IV.2. Data Korban Data Masukan Form Nasabah

Klik “Baru”

Klik “Simpan”

Klik “Edit”

Klik “Batal”

Klik “Hapus”

Yang Diharapkan Memasukan data Nasabah Mengosongkan field isian form Nasabah Menyimpan data Nasabah kedalam tabel pendataan Nasabah Mengubah data Nasabah yang ada di tabel pendataan Nasabah Menonaktifkan dan mengosongkan semua field pada form pendataan Nasabah Manghapus Data Nasabah yang ada di tabel pendataan Nasabah

Pengamatan Data yang dimasukan sudah valid Tombol “Baru” dapat berfungsi sesuai yang diharapkan Tombol “Simpan” dapat berfungsi sesuai yang diharapkan Tombol “Edit” dapat berfungsi sesuai yang diharapkan

Kesimpulan [ √ ] diterima [ ] ditolak [ √ ] diterima [ ] ditolak [ √ ] diterima [ ] ditolak [ √ ] diterima [ ] ditolak

Tombol “Batal” dapat berfungsi sesuai yang diharapkan

[ √ ] diterima [ ] ditolak

Tombol “Hapus” dapat berfungsi sesuai yang diharapkan

[ √ ] diterima [ ] ditolak

3. Pengujian Pendataan Penilaian Nasabah Tabel IV.2. Data Penilaian Nasabah Data Masukan Form Penilaian Nasabah Klik “Simpan”

Klik “Batal”

Yang Diharapkan Memasukan data Nilai Nasabah Menyimpan data Nilai Nasabah kedalam tabel Nilai Nasabah Menonaktifkan dan mengosongkan semua field pada

Pengamatan Data yang dimasukan sudah valid Tombol “Simpan” dapat berfungsi sesuai yang diharapkan Tombol “Batal” dapat berfungsi sesuai yang

Kesimpulan [ √ ] diterima [ ] ditolak [ √ ] diterima [ ] ditolak [ √ ] diterima [ ] ditolak

85

Klik “Hapus”

form pendataan Nilai Nasabah Manghapus Data Nilai Nasabah yang ada di tabel Nilai Nasabah

diharapkan Tombol “Hapus” dapat berfungsi sesuai yang diharapkan

[ √ ] diterima [ ] ditolak

4. Pengujian Pendataan Pengguna Tabel IV.2. Data Pengguna Data Masukan

Yang Diharapkan

Form Pengguna

Memasukan data Pengguna

Klik “Baru”

Mengosongkan field isian form Pengguna

Klik “Simpan”

Klik “Edit”

Klik “Batal”

Klik “Hapus”

Menyimpan data Pengguna kedalam tabel pendataan Pengguna Mengubah data Pengguna yang ada di tabel pendataan Pengguna Menonaktifkan dan mengosongkan semua field pada form pendataan Pengguna Manghapus Data Pengguna yang ada di tabel pendataan Pengguna

Pengamatan Data yang dimasukan sudah valid Tombol “Baru” dapat berfungsi sesuai yang diharapkan Tombol “Simpan” dapat berfungsi sesuai yang diharapkan Tombol “Edit” dapat berfungsi sesuai yang diharapkan

Kesimpulan [ √ ] diterima [ ] ditolak [ √ ] diterima [ ] ditolak [ √ ] diterima [ ] ditolak [ √ ] diterima [ ] ditolak

Tombol “Batal” dapat berfungsi sesuai yang diharapkan

[ √ ] diterima [ ] ditolak

Tombol “Hapus” dapat berfungsi sesuai yang diharapkan

[ √ ] diterima [ ] ditolak

86

5. Pengujian Proses SPK Tabel IV.5. Proses SPK Data Masukan

Yang Diharapkan

Klik “Proses Metode”

Melakukan proses perhitungan SPK dan menampilkan hasilnya

Klik “Reset Data”

Mengosongkan field-field yang ada dalam form dan table

Klik “Tampil Proses”

Menampilkan Hasil Proses Perhitungan

IV.3

Pengamatan Sistem dapat melakukan perhitungan dan menampilkan hasil perhitungan Sistem dapat melakukan pengosongan field Sistem dapat menampilkan hasil proses

Kesimpulan [ √ ] diterima [ ] ditolak

[ √ ] diterima [ ] ditolak [ √ ] diterima [ ] ditolak

Kelebihan dan Kekurangan Sistem Setiap sistem memiliki kelebihan dan kekurangan, berikut ini adalah

kelebihan dan kekurangan sistem yang telah dibuat. IV.3.1. Kelebihan Sistem Kelebihan sistem ini diantaranya yaitu: 1. Waktu yang dibutuhkan untuk proses masuk kedalam sistem relatif singkat. 2. Sistem mampu menghasilkan informasi yang sesuai dengan yang diharapkan. 3. Kebutuhan akan informasi nasabah yang layak mendapatkan pinjaman modal usaha menjadi lebih cepat dan akurat. 4. Performance sistem relatif stabil. 5. Sistem sangat cepat mengolah data untuk menghasilkan berbagai informasi yang dibutuhkan pengguna.

87

IV.3.2 Kekurangan Sistem Adapun kekurangan sistem yang telah dibuat diantaranya yaitu: 1. Sistem ini belum memiliki akses online sehingga penyebaran informasi data tidak bekerja dengan efektif. 2. Sistem ini belum memiliki modul yang lengkap.

BAB V KESIMPULAN DAN SARAN

77

BAB V KESIMPULAN DAN SARAN

V.1

Kesimpulan Berdasarkan penelitian yang telah dilakukan selama membuat sistem

pendukung

keputusan

pemberian

pinjaman

modal

usaha

menggunakan

penggabungan metode profile matching dan weight product pada PT. Permodalan Nasional Madani (PT. PNM), maka dapat ditarik beberapa kesimpulan sebagai berikut: 1. Memberikan kemudahan dan proes yang cepat bagi PT. Permodalan Nasional Madani (PT. PNM) dalam mengambil keputusan penentuan nasabah yang layak mendapatkan bantuan pinjaman modal usaha dari PT. Permodalan Nasional Madani (PT. PNM)berdasarkan data nasabah dan data nilai nasabah pada setiap kriteria serta data bobot setiap kriteria dari perusahaan. 2. Hasil penelitian dapat dijadikan bahan acuan untuk penelitian lain terkait penerapan penggabungan metode profile matching dan weight product dalam suatu sistem pendukung keputusan. 3. Berdasarkan hasil dari perhitungan sistem yang telah dibangun maka penggabungan metode profile matching dan weight product dapat dilakukan untuk mendapatkan hasil penilaian kelayakan nasabah menerima bantuan modal sehingga menjadi lebih optimal.

88

89

V.2.

Saran Saran yang dapat diberikan setelah sistem pendukung keputusan ini selesai

dibangun adalah : 3. Sistem ini masih berbasis komputer desktop dan hanya bisa diakses pada satu komputer, sebaiknya sistem ini dikembangkan dalam bentuk web agar dapat diakses secara online. 4. Penggabungan metode tidak terbatas pada metode profile matching dan weight product, tetapi dapat menggunakan berbagai metode pengambilan keputusan lain agar hasil yang diberikan sesuai dengan kebutuhan pengguna sistem. 5. Perlu adanya dilakukan pemeliharaan dan perawatan sistem secara berkala agar tidak terjadi kerusakan sistem dan data.

DAFTAR PUSTAKA Arrosida, Hanum, 2017, “Pemberdayaan Anak Putus Sekolah Melalui Pelatihan Pembuatan Kerajinan Flanel”, Jurnal Pengabdian Kepada Masyarakat, Dikemas VOL.1, No.1 Tahun 2017 ISSN : 25811932, Politeknik Negeri Madiun Firdyana, Septiyana, Cahyadi, Dedi, Astuti, Indah Fitri, 2017, “Penerapan Metode Weighted Product Untuk Menentukan Penerima Bantuan Beras Masyarakat Miskin (RASKIN)”, Prosiding Seminar Ilmu Komputer dan Teknologi Informasi Vol. 2, No. 1, Maret 2017 e-ISSN 2540-7902 dan pISSN 2541-366X, Universitas Mulawarman

Herpendi, 2016, “Aplikasi Pengelolaan Nilai Akademik Mahasiswa dan DPNA (Daftar Peserta dan Nilai Akhir)”, Jurnal Sains dan Teknologi ISSN: 2460-173X, Volume 2, Nomor 1, Juni 2016, Jurusan Teknik Informatika, Politeknik Negeri Tanah Laut Komputer, Wahana, 2013, “Membangun Aplikasi Database Dengan Visual Basic 2012”, Andi Publisher, Yogyakarta. Mulyani, Prof. Dr. Sri, Ak. Ca., 2016, “Metode Analisis Dan Perancangan Sistem”, Abdi Sistematika, Bandung.

Novriansyah S.Kom, M.Kom, Dicky, 2014, “Konsep Data Mining Vs Sistem Pendukung Keputusan”, Deepublish, Yogyakarta Oktavianis Kartikasari, Nurul Hidayat, Suprapto 2017, “Implementasi Metode Weighted Product dan Profile Matching pada Seleksi Staf Operator Komputer Program Studi Teknik Informatika”, Jurnal Pengembangan TI dan Ilmu Komputer e-ISSN: 2548-964X Vol. 1, No. 11, November 2017, hlm. 1331-1336, Universitas Brawijaya Pinem, Agusta Praba Ristadi, Pungkasanti, Prind Triajeng, Widodo, Edi, 2017, “Implementasi Profile Matching Untuk Pemberian Kredit Kedua Pada Koperasi Simpan Pinjam”, Jurnal SIMETRIS, Vol 8 No 2 November 2017 ISSN: 2252-4983, Universitas Semarang, Sunyoto, Drs.Danang, 2014, “Sistem Informasi Manajemen Perspektif Organisasi”, Deepublish, Yogyakarta Syarifudin, Ahmad, Ananta, Ahmadi Yuli, 2015, “Rancang Bangun Sistem Pendukung Keputusan Kelayakan Pemberian Kredit Menggunakan Metode profile Matching”, Prosiding Seminar Informatika Aplikatif Polinema 2015 (SIAP~2015) ISSN: 2460-1160, Politeknik Negeri Malang

Yasdomi, Kiki, 2015, “Sistem Pendukung Keputusan Pemberian Kredit Modal Usaha Menggunakan Metode Weighted Product (Studi Kasus Pada Bank Danamon Simpan Pinjam Ujung Batu)”, Riau Journal Of Computer Science Vol.1/No.1/2015 : 92- 105, Fakultas Ilmu Komputer Universitas Pasir Pengaraian Zefriyenni, 2017, “Kebijakan Pemberian Kredit Terhadap Penetapan Jumlah Kredit (Studi Khasus Pada Ued-Sp Amanah Sejahtera Sungai Buluh Kecamatansingingi Hilirkabupaten Kuantan Singingi Propinsi Riau)”, Jurnal Edik Informatika Penelitian Bidang Komputer Sains dan Pendidikan Informatika V1.i1(72-80) ISSN : 2407-0491 E-ISSN : 2541-3716, STKIP PGRI Sumbar

LAMPIRAN

LISTING PROGRAM

1. Active Record Imports System.Data Imports System.Data.SqlClient Public Class ActiveRecord Dim con As New SqlConnection Dim cmd As New SqlCommand Public lastQuery, condition ,tableName ,table1,table2 As String Public columnName, columnParam As String Public data As Object() Public connection_string As String = "Data Source=AYU-PC;Initial Catalog=db_pnm;Integrated Security=True" Public Sub New() con.ConnectionString = connection_string End Sub 'Return ArrayList Public Function SelectTop() Dim query As String = "" Try con.Open() cmd.Connection = con columnName = columnName.Trim() query = String.Format("SELECT * FROM (select t_hasil.id_nasabah, t_nasabah.nama_nasabah, t_hasil.vektor_s, t_hasil.vektor_v, t_hasil.kelayakan, ROW_NUMBER() OVER (ORDER BY vektor_v DESC) AS RowNum FROM t_hasil INNER JOIN t_nasabah ON t_nasabah.id_nasabah = t_hasil.id_nasabah) AS T WHERE T.Rownum <= 10") Me.lastQuery = query cmd.CommandText = query Dim reader As SqlDataReader = cmd.ExecuteReader() Dim row_list = New ArrayList Dim fieldCount = reader.FieldCount While reader.Read Dim values(fieldCount) As Object reader.GetValues(values) row_list.Add(values) End While con.Close() Return row_list Catch ex As Exception My.Application.Log.WriteException(ex, TraceEventType.Verbose, "ActiveRecord") MsgBox("Gagal mengambil data karena " & ex.Message) MsgBox(query) Return Nothing End Try End Function Public Function SelectData() Dim query As String = "" Try con.Open() cmd.Connection = con columnName = columnName.Trim() query = String.Format("SELECT {0} FROM {1} {2}", columnName, tableName, condition) Me.lastQuery = query cmd.CommandText = query Dim reader As SqlDataReader = cmd.ExecuteReader() Dim row_list = New ArrayList Dim fieldCount = reader.FieldCount While reader.Read Dim values(fieldCount) As Object reader.GetValues(values) row_list.Add(values)

End While con.Close() Return row_list Catch ex As Exception My.Application.Log.WriteException(ex, TraceEventType.Verbose, "ActiveRecord") MsgBox("Gagal mengambil data karena " & ex.Message) MsgBox(query) Return Nothing End Try End Function Public Function SelectDatarows() Dim querys As String = "" Try con.Open() cmd.Connection = con columnName = columnName.Trim() querys = String.Format("SELECT {0} FROM {1} {2}", columnName, tableName, condition) cmd.CommandText = querys Dim readers As SqlDataReader = cmd.ExecuteReader() Dim row_listx = New ArrayList Dim fieldCounts = readers.FieldCount While readers.Read Dim values(fieldCounts) As Object readers.GetValues(values) row_listx.Add(values) End While con.Close() Return row_listx Catch ex As Exception My.Application.Log.WriteException(ex, TraceEventType.Verbose, "ActiveRecord") MsgBox("Gagal mengambil data karena " & ex.Message) MsgBox(querys) Return Nothing End Try End Function Public Function SelectFirst() Dim query As String = "" Try con.Open() cmd.Connection = con columnName = columnName.Trim() query = String.Format("SELECT TOP 1 {0} FROM {1} {2}", columnName, tableName, condition) Me.lastQuery = query cmd.CommandText = query Dim reader As SqlDataReader = cmd.ExecuteReader() Dim fieldCount = reader.FieldCount Dim row_list = New ArrayList Dim hashRow As Boolean = reader.HasRows While reader.Read Dim values(fieldCount) As Object reader.GetValues(values) row_list.Add(values) End While con.Close() If hashRow Then Return row_list.Item(0) Else Return Nothing End If Catch ex As Exception My.Application.Log.WriteException(ex, TraceEventType.Verbose, "ActiveRecord") MsgBox("Gagal mengambil data karena " & ex.Message) MsgBox(query) Return Nothing End Try End Function Public Function SelectScalar() Dim scalar = Nothing Try con.Open() cmd.Connection = con columnName = columnName.Trim()

Dim query As String = String.Format("SELECT {0} FROM {1} {2} ", columnName, tableName, condition) Me.lastQuery = query cmd.CommandText = query scalar = cmd.ExecuteScalar() con.Close() Catch ex As Exception My.Application.Log.WriteException(ex, TraceEventType.Verbose, "ActiveRecord") MsgBox("Gagal mengambil data karena " & ex.Message) End Try Return scalar End Function Public Sub PopulateData(ByVal row_list As ArrayList, ByVal list_view As ListView) list_view.Items.Clear() Dim listview_item As New ListViewItem() For Each item In row_list Dim n = item.length listview_item = list_view.Items.Add(Convert.ToString(item(0))) For i = 1 To n - 1 listview_item.SubItems.Add(Convert.ToString(item(i))) Next Next End Sub Public Function Insert() Dim query As String = "" Try If con.State = ConnectionState.Closed Then con.Open() End If cmd.Connection = con columnName = columnName.Replace(" ", "") columnParam = "@" & columnName.Replace(",", ",@") Dim parameter() As String = Split(columnParam, ",") query = String.Format("INSERT INTO {0} ({1}) VALUES ({2})", tableName, columnName, columnParam) cmd.Parameters.Clear() cmd.CommandText = query For i = 0 To UBound(parameter) cmd.Parameters.AddWithValue(parameter(i), data(i)) Next cmd.ExecuteNonQuery() con.Close() Return True Catch ex As Exception My.Application.Log.WriteException(ex, TraceEventType.Verbose, "ActiveRecord") MsgBox("Gagal insert data karena " & ex.Message) MsgBox(query) Return False End Try End Function Public Function Edit() Dim query As String = "" Try con.Open() cmd.Connection = con columnName = columnName.Replace(" ", "") columnParam = "@" & columnName.Replace(",", ",@") Dim parameter() As String = Split(columnParam, ",") query = String.Format("UPDATE {0} SET ", tableName) For i = 0 To UBound(parameter) query = query & (parameter(i).Replace("@", "")) & "=" & parameter(i) & "," Next query = query.Substring(0, query.Length - 1) query = query & " " & condition cmd.CommandText = query cmd.Parameters.Clear() For i = 0 To UBound(parameter) cmd.Parameters.AddWithValue(parameter(i), data(i)) Next cmd.ExecuteNonQuery() con.Close() Return True Catch ex As Exception My.Application.Log.WriteException(ex, TraceEventType.Verbose, "ActiveRecord")

MsgBox("Gagal edit data karena " & ex.Message) MsgBox(query) Return False End Try End Function Public Function Delete() Dim query As String = "" Try con.Open() cmd.Connection = con query = String.Format("DELETE FROM {0} {1}", tableName, condition) cmd.CommandText = query cmd.ExecuteNonQuery() con.Close() Return True Catch ex As Exception My.Application.Log.WriteException(ex, TraceEventType.Verbose, "ActiveRecord") MsgBox("Gagal hapus data karena " & ex.Message) MsgBox(query) Return False End Try End Function Public Function GetAutoCode(ByVal tabel As String, ByVal kolom As String, ByVal prefix As String, ByVal kolLen As Integer) Dim pa = kolLen - prefix.Length 'panjang angka Dim KodeOtomatis As String = String.Format("{0}{1}", prefix, "1".PadLeft(pa, "0")) Dim query As String = "" 'MsgBox(String.Format("Kode otomatisnya awal adalah [{0}]", KodeOtomatis)) Try con.Open() cmd.Connection = con 'Dim query As String = String.Format("SELECT CONCAT('{0}',LPAD((RIGHT(MAX({1}),{2})+1),{3},'0')) AS kode FROM {4} LIMIT 0,1", prefix, kolom, pa, pa, tabel) query = String.Format("SELECT TOP 1 MAX({0}) FROM {1}", kolom, tabel) cmd.CommandText = query Dim scalar = cmd.ExecuteScalar() If Not IsDBNull(scalar) Then Dim angka = CInt(scalar.ToString.Replace(prefix, "")) + 1 KodeOtomatis = String.Format("{0}{1}", prefix, CStr(angka).PadLeft(pa, "0")) End If con.Close() Catch ex As Exception My.Application.Log.WriteException(ex, TraceEventType.Verbose, "ActiveRecord") MsgBox("Gagal mendapatkan kode otomatis " & ex.Message) MsgBox(query) End Try 'MsgBox(String.Format("Kode otomatisnya adalah [{0}]", KodeOtomatis)) Return KodeOtomatis End Function Public Function GetMax(ByVal tabel As String, ByVal kolom As String) Dim maksimum As String = "" Dim query As String = "" 'MsgBox(String.Format("Kode otomatisnya awal adalah [{0}]", KodeOtomatis)) Try con.Open() cmd.Connection = con query = String.Format("SELECT MAX({0}) FROM {1}", kolom, tabel) cmd.CommandText = query Dim scalar = cmd.ExecuteScalar() If Not IsDBNull(scalar) Then Dim angka = CDbl(scalar.ToString) maksimum = String.Format("{0}", CStr(angka)) End If con.Close() Catch ex As Exception My.Application.Log.WriteException(ex, TraceEventType.Verbose, "ActiveRecord") MsgBox("Gagal mendapatkan Maksimum " & ex.Message) MsgBox(query)

End Try 'MsgBox(String.Format("Kode otomatisnya adalah [{0}]", KodeOtomatis)) Return maksimum End Function Public Function GetMin(ByVal tabel As String, ByVal kolom As String) Dim minimum As String = "" Dim query As String = "" 'MsgBox(String.Format("Kode otomatisnya awal adalah [{0}]", KodeOtomatis)) Try con.Open() cmd.Connection = con query = String.Format("SELECT MIN({0}) FROM {1}", kolom, tabel) cmd.CommandText = query Dim scalar = cmd.ExecuteScalar() If Not IsDBNull(scalar) Then Dim angka = CDbl(scalar.ToString) minimum = String.Format("{0}", CStr(angka)) End If con.Close() Catch ex As Exception My.Application.Log.WriteException(ex, TraceEventType.Verbose, "ActiveRecord") MsgBox("Gagal mendapatkan Maksimum " & ex.Message) MsgBox(query) End Try 'MsgBox(String.Format("Kode otomatisnya adalah [{0}]", KodeOtomatis)) Return minimum End Function Public Function GetPembagi(ByVal tabel As String, ByVal kolom As String) Dim minimum As String = "" Dim query As String = "" Try con.Open() cmd.Connection = con query = String.Format("SELECT {0} FROM {1}", kolom, tabel) cmd.CommandText = query Dim readers As SqlDataReader = cmd.ExecuteReader() Dim row_listx = New ArrayList Dim fieldCounts = readers.FieldCount While readers.Read Dim values(fieldCounts) As Object readers.GetValues(values) row_listx.Add(values) End While con.Close() Return row_listx Catch ex As Exception My.Application.Log.WriteException(ex, TraceEventType.Verbose, "ActiveRecord") MsgBox("Gagal mendapatkan Maksimum " & ex.Message) MsgBox(query) End Try Return minimum End Function Private Sub NormalizeTableName() Dim normalized As String = "" Dim parameter() As String = Split(Me.tableName, ",") For i = 0 To UBound(parameter) Dim tblName = parameter(i) If tblName.Contains("as") Then tblName = tblName.Trim Dim temp() As String = Split(tblName, "AS") normalized = normalized & String.Format("[{0}] AS {1},", temp(0), temp(1)) Else normalized = normalized & String.Format("[{0}],", tblName) End If Next normalized = normalized.Substring(0, normalized.Length - 1) Me.tableName = normalized End Sub

Public Sub SetComboBoxDataset(ByVal combobox As ComboBox, ByVal ValueMember As String, ByVal DisplayMember As String, ByVal Table As String, ByVal Conditions As String) Try con.Open() Dim query As String = String.Format("SELECT {0},{1} FROM {2} {3}", ValueMember, DisplayMember, Table, Conditions) Dim adapter As New SqlDataAdapter(query, con) Dim DataTable As New DataTable adapter.Fill(DataTable) combobox.DataSource = DataTable combobox.ValueMember = ValueMember combobox.DisplayMember = DisplayMember con.Close() Catch ex As Exception Console.WriteLine("Gagal mengatur dataset combobox " & ex.Message & vbNewLine & lastQuery) MsgBox("Gagal mengatur dataset combobox " & ex.Message) con.Close() End Try End Sub End Class

2. Form Login Public Class FormLogin Dim Model As New ActiveRecord() Private Sub LoginProses() Model.tableName = "t_user" Model.columnName = "username,password,level" Model.condition = String.Format("WHERE username = '{0}' AND password = '{1}'", Username.Text, Password.Text) Dim data = Model.SelectFirst If IsNothing(data) Then MsgBox("Data akses login anda tidak valid", MsgBoxStyle.Critical, "Invalid") Else If level.Text = "Administrator" Then FormUtama.Show() FormUtama.Menu_Master.Enabled = True FormUtama.Menu_Laporan_SPK.Enabled = True FormUtama.MenuLapNasabah.Enabled = True FormUtama.Menu_Proses_SPK.Enabled = True FormUtama.Menu_Logout.Enabled = True Username.Text = "" Password.Text = "" level.Text = "" Model.condition = Nothing Me.Hide() Else FormUtama.Show() FormUtama.Menu_Master.Enabled = False FormUtama.Menu_Laporan_SPK.Enabled = True FormUtama.MenuLapNasabah.Enabled = True FormUtama.Menu_Proses_SPK.Enabled = False FormUtama.Menu_Logout.Enabled = True Username.Text = "" Password.Text = "" level.Text = "" Model.condition = Nothing Me.Hide() End If End If End Sub Private Sub Login_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Login.Click LoginProses() End Sub Private Sub Reset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Reset.Click Username.Text = "" Password.Text = "" level.Text = "" End End Sub Private Sub Password_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Password.KeyUp

If e.KeyCode = Keys.Enter Then LoginProses() End If End Sub Private Sub Username_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Username.KeyUp If e.KeyCode = Keys.Enter Then Password.Focus() End If End Sub End Class

3. Form Utama Public Class FormUtama Private Sub FormUtama_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Menu_Master.Enabled = False Menu_Laporan_SPK.Enabled = False Menu_Proses_SPK.Enabled = False Dim c As Control For Each c In Me.Controls If TypeOf c Is MdiClient Then c.BackColor = Me.BackColor c.BackgroundImage = Me.BackgroundImage c.BackgroundImageLayout = Me.BackgroundImageLayout End If Next FormLogin.Show() Me.Hide() End Sub Private Sub LoginMenu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) FormLogin.MdiParent = Me FormLogin.Show() End Sub Private Sub ExitMenu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) End End Sub Private Sub MenuKaryawan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuKaryawan.Click FormNasabah.MdiParent = Me FormNasabah.Show() End Sub Private Sub MenuNilai_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuNilai.Click FormNilai.MdiParent = Me FormNilai.Show() End Sub Private Sub MenuPengguna_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuPengguna.Click FormPengguna.MdiParent = Me FormPengguna.Show() End Sub Private Sub Menu_Laporan_SPK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Menu_Laporan_SPK.Click FormLaporan.MdiParent = Me FormLaporan.Show() End Sub Private Sub Menu_Proses_SPK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Menu_Proses_SPK.Click FormSPK.MdiParent = Me FormSPK.Show() End Sub Private Sub Menu_Logout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Menu_Logout.Click Menu_Master.Enabled = False Menu_Proses_SPK.Enabled = False Menu_Laporan_SPK.Enabled = False MenuLapNasabah.Enabled = False Menu_Logout.Enabled = False FormLogin.Show() Me.Hide() End Sub

Private Sub MenuLapNasabah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuLapNasabah.Click FL_Nasabah.MdiParent = Me FL_Nasabah.Show() End Sub End Class

4. Form Nasabah Public Class FormNasabah Dim Rows As ArrayList Dim Selected As Integer Dim Model As New ActiveRecord() Dim Nilai As New ActiveRecord() Dim BobotGap, Gap As New ActiveRecord() Dim Hasil As New ActiveRecord() Dim Normalisasi As New ActiveRecord() Private Sub LoadData() Model.tableName = "t_nasabah" Model.columnName = "id_nasabah,nama_nasabah,nama_ayah,tempat_lahir,tanggal_lahir,no_kk,alamat,tele pon,status,nama_suami,pekerjaan_suami,jumlah_anak,usaha_nasabah,jumlah_tanggu ngan" Model.condition = Nothing Rows = Model.SelectData() Model.PopulateData(Rows, ListView) ButtonBatal() End Sub Function Validasi() Dim invalid As Boolean = (nama_nasabah.Text = "") If invalid Then MsgBox("Mohon lengkapi data dahulu", MsgBoxStyle.Critical, "Validasi") Return False End If Return True End Function Private Sub LoadSelected() Selected = ListView.FocusedItem.Index id_nasabah.Text = Rows.Item(Selected)(0).ToString nama_nasabah.Text = Rows.Item(Selected)(1).ToString nama_ayah.Text = Rows.Item(Selected)(2).ToString tempat_lahir.Text = Rows.Item(Selected)(3).ToString tanggal_lahir.Text = Rows.Item(Selected)(4).ToString no_kk.Text = Rows.Item(Selected)(5).ToString alamat.Text = Rows.Item(Selected)(6).ToString telepon.Text = Rows.Item(Selected)(7).ToString status.Text = Rows.Item(Selected)(8).ToString nama_suami.Text = Rows.Item(Selected)(9).ToString pekerjaan_suami.Text = Rows.Item(Selected)(10).ToString jumlah_anak.Text = Rows.Item(Selected)(11).ToString usaha_nasabah.Text = Rows.Item(Selected)(12).ToString jumlah_tanggungan.Text = Rows.Item(Selected)(13).ToString id_nasabah.Enabled = False nama_nasabah.Enabled = True nama_ayah.Enabled = True tempat_lahir.Enabled = True tanggal_lahir.Enabled = True no_kk.Enabled = True alamat.Enabled = True telepon.Enabled = True status.Enabled = True nama_suami.Enabled = True pekerjaan_suami.Enabled = True jumlah_anak.Enabled = True usaha_nasabah.Enabled = True jumlah_tanggungan.Enabled = True Baru.Enabled = False Simpan.Enabled = False Edit.Enabled = True Hapus.Enabled = True Batal.Enabled = True End Sub Private Sub ButtonBaru()

id_nasabah.Text = Model.GetAutoCode("t_nasabah", "id_nasabah", "N", 8) nama_nasabah.Enabled = True nama_ayah.Enabled = True tempat_lahir.Enabled = True tanggal_lahir.Enabled = True no_kk.Enabled = True alamat.Enabled = True telepon.Enabled = True status.Enabled = True nama_suami.Enabled = True pekerjaan_suami.Enabled = True jumlah_anak.Enabled = True usaha_nasabah.Enabled = True jumlah_tanggungan.Enabled = True Baru.Enabled = False Simpan.Enabled = True Edit.Enabled = False Hapus.Enabled = False Batal.Enabled = True End Sub Private Sub ButtonSimpan() If Validasi() Then Model.data = New Object() {id_nasabah.Text, nama_nasabah.Text, nama_ayah.Text, tempat_lahir.Text, tanggal_lahir.Value, no_kk.Text, alamat.Text, telepon.Text, status.Text, nama_suami.Text, pekerjaan_suami.Text, jumlah_anak.Text, usaha_nasabah.Text, jumlah_tanggungan.Text, "", "", "", "", "", ""} If Model.Insert() Then Nilai.tableName = "t_nilai" Nilai.columnName = "id_nasabah,nilai_luas_rumah,nilai_kondisi_rumah,nilai_atap_rumah,nilai_dinding_r umah,nilai_lantai_rumah,nilai_pendapatan_rt" Gap.tableName = "t_gap" Gap.columnName = "id_nasabah,gap_luas_rumah,gap_kondisi_rumah,gap_atap_rumah,gap_dinding_rum ah,gap_lantai_rumah,gap_pendapatan_rt" BobotGap.tableName = "t_bobotgap" BobotGap.columnName = "id_nasabah,bobotgap_luas_rumah,bobotgap_kondisi_rumah,bobotgap_atap_rumah,b obotgap_dinding_rumah,bobotgap_lantai_rumah, bobotgap_pendapatan_rt" Hasil.tableName = "t_hasil" Hasil.columnName = "id_nasabah,vektor_s,vektor_v,kelayakan,rangking" Nilai.data = New Object() {id_nasabah.Text, 0, 0, 0, 0, 0, 0} Nilai.Insert() BobotGap.data = New Object() {id_nasabah.Text, 0, 0, 0, 0, 0, 0} BobotGap.Insert() Gap.data = New Object() {id_nasabah.Text, 0, 0, 0, 0, 0, 0} Gap.Insert() Hasil.data = New Object() {id_nasabah.Text, 0, 0, "", ""} Hasil.Insert() ButtonBaru() LoadData() End If End If End Sub Private Sub ButtonEdit() If Validasi() Then Model.data = New Object() {id_nasabah.Text, nama_nasabah.Text, nama_ayah.Text, tempat_lahir.Text, tanggal_lahir.Value, no_kk.Text, alamat.Text, telepon.Text, status.Text, nama_suami.Text, pekerjaan_suami.Text, jumlah_anak.Text, usaha_nasabah.Text, jumlah_tanggungan.Text} Model.condition = String.Format("WHERE id_nasabah = '{0}'", id_nasabah.Text) If Model.Edit() Then ButtonBaru() LoadData() End If End If End Sub Private Sub ButtonBatal() nama_nasabah.Text = "" nama_ayah.Text = "" tempat_lahir.Text = "" tanggal_lahir.Value = "1980-12-31" no_kk.Text = "" alamat.Text = "" telepon.Text = "" status.Text = "" nama_suami.Text = "" pekerjaan_suami.Text = "" jumlah_anak.Text = "0" usaha_nasabah.Text = "" jumlah_tanggungan.Text = "0" Rb_Id.Checked = False Rb_Nama.Checked = False txtCari.Text = "" id_nasabah.Enabled = False nama_nasabah.Enabled = False nama_ayah.Enabled = False

tempat_lahir.Enabled = False tanggal_lahir.Enabled = False no_kk.Enabled = False alamat.Enabled = False telepon.Enabled = False status.Enabled = False nama_suami.Enabled = False pekerjaan_suami.Enabled = False jumlah_anak.Enabled = False usaha_nasabah.Enabled = False jumlah_tanggungan.Enabled = False Baru.Enabled = True Simpan.Enabled = False Edit.Enabled = False Hapus.Enabled = False Batal.Enabled = False End Sub Private Sub ButtonHapus() Dim Klik = MsgBox("Data yang dihapus tidak dapat dikembalikan, lanjutkan?", MsgBoxStyle.YesNo, "Konfirmasi") If (Klik = MsgBoxResult.Yes) Then Nilai.tableName = "t_nilai" Nilai.columnName = "id_nasabah,nilai_luas_rumah,nilai_kondisi_rumah,nilai_atap_rumah,nilai_dinding_r umah,nilai_lantai_rumah,nilai_pendapatan_rt" Nilai.condition = String.Format("WHERE id_nasabah = '{0}'", id_nasabah.Text) BobotGap.tableName = "t_bobotgap" BobotGap.columnName = "id_nasabah,bobotgap_luas_rumah,bobotgap_kondisi_rumah,bobotgap_atap_rumah,b obotgap_dinding_rumah,bobotgap_lantai_rumah, bobotgap_pendapatan_rt" BobotGap.condition = String.Format("WHERE id_nasabah = '{0}'", id_nasabah.Text) Gap.tableName = "t_gap" Gap.columnName = "id_nasabah,gap_luas_rumah,gap_kondisi_rumah,gap_atap_rumah,gap_dinding_rum ah,gap_lantai_rumah,gap_pendapatan_rt" Gap.condition = String.Format("WHERE id_nasabah = '{0}'", id_nasabah.Text) Hasil.tableName = "t_hasil" Hasil.columnName = "id_nasabah,bobot_luas_rumah,bobot_kondisi_rumah,bobot_atap_rumah,bobot_dindi ng_rumah,bobot_lantai_rumah,bobot_pendapatan_rt,vektor_s,vektor_v,kelayakan,ran gking" Hasil.condition = String.Format("WHERE id_nasabah = '{0}'", id_nasabah.Text) Model.condition = String.Format("WHERE id_nasabah = '{0}'", id_nasabah.Text) If Model.Delete() And Nilai.Delete() And BobotGap.Delete() And Hasil.Delete() And Gap.Delete Then LoadData() End If End If End Sub Private Sub FormCari() Dim Cari As String = txtCari.Text Dim KategoriCari As String = "" If Rb_Id.Checked = True Then KategoriCari = "id_nasabah" ElseIf Rb_Nama.Checked = True Then KategoriCari = "nama_nasabah" Else MsgBox("Pilih Kategori Pencarian Berdasarkan ID atau Nama", MsgBoxStyle.OkOnly, "Peringatan !") Exit Sub End If Model.tableName = "t_nasabah" Model.columnName = "id_nasabah,nama_nasabah,nama_ayah,tempat_lahir,tanggal_lahir,no_kk,alamat,tele pon,status,nama_suami,pekerjaan_suami,jumlah_anak,usaha_nasabah,jumlah_tanggu ngan" Model.condition = String.Format(" Where {0} LIKE '%{1}%'", KategoriCari, Cari) Rows = Model.SelectData Model.PopulateData(Rows, ListView) ButtonBatal() If Rows.Count = 0 Then MsgBox("Data Tidak Ditemukan", MsgBoxStyle.OkOnly, "Peringatan !") LoadData() End If End Sub Private Sub FormNasabah_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load LoadData() End Sub

Private Sub ListView_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView.SelectedIndexChanged LoadSelected() End Sub Private Sub Batal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Batal.Click ButtonBatal() End Sub Private Sub Hapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Hapus.Click ButtonHapus() End Sub Private Sub Edit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Edit.Click ButtonEdit() End Sub Private Sub Simpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Simpan.Click ButtonSimpan() End Sub Private Sub Baru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Baru.Click ButtonBaru() End Sub Private Sub Cari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cari.Click FormCari() End Sub End Class

5. Form Nilai Public Class FormNilai Dim Rows, Row2 As ArrayList Dim Selected As Integer Dim Model As New ActiveRecord() Dim Nilai As New ActiveRecord() Dim bobotGAP, GAP,hasil,Normalisasi As New ActiveRecord() Dim luas_rumahx, kondisi_rumahx, atap_rumahx, dinding_rumahx, lantai_rumahx, pendapatan_rtx As Integer Private Sub LoadData() Model.tableName = "t_nasabah" Model.columnName = "id_nasabah,nama_nasabah,luas_rumah,kondisi_rumah,atap_rumah,dinding_rumah,lant ai_rumah,pendapatan_rt" Model.condition = Nothing Rows = Model.SelectData() Model.PopulateData(Rows, ListView1) Nilai.tableName = "t_nilai inner join t_nasabah on t_nilai.id_nasabah = t_nasabah.id_nasabah" Nilai.columnName = "t_nilai.id_nasabah,nama_nasabah,nilai_luas_rumah,nilai_kondisi_rumah,nilai_atap_ru mah,nilai_dinding_rumah,nilai_lantai_rumah,nilai_pendapatan_rt" Nilai.condition = Nothing Row2 = Nilai.SelectData() Nilai.PopulateData(Row2, ListView2) ButtonBatal() End Sub Function Validasi() Dim invalid As Boolean = (luas_rumah.Text = "" Or kondisi_rumah.Text = "" Or atap_rumah.Text = "" Or dinding_rumah.Text = "" Or lantai_rumah.Text = "" Or pendapatan_rt.Text = "") If invalid Then MsgBox("Mohon lengkapi data dahulu", MsgBoxStyle.Critical, "Validasi") Return False End If Return True End Function Private Sub LoadSelected() Selected = ListView1.FocusedItem.Index id_nasabah.Text = Rows.Item(Selected)(0).ToString nama_nasabah.Text = Rows.Item(Selected)(1).ToString luas_rumah.Text = Rows.Item(Selected)(2).ToString kondisi_rumah.Text = Rows.Item(Selected)(3).ToString atap_rumah.Text = Rows.Item(Selected)(4).ToString dinding_rumah.Text = Rows.Item(Selected)(5).ToString lantai_rumah.Text = Rows.Item(Selected)(6).ToString

pendapatan_rt.Text = Rows.Item(Selected)(7).ToString luas_rumah.Enabled = True kondisi_rumah.Enabled = True atap_rumah.Enabled = True dinding_rumah.Enabled = True lantai_rumah.Enabled = True pendapatan_rt.Enabled = True Simpan.Enabled = True Hapus.Enabled = True Batal.Enabled = True End Sub Private Sub ButtonSimpan() If Validasi() Then If luas_rumah.Text = ">0 m2 dan <= 50 m2" Then luas_rumahx = 5 ElseIf luas_rumah.Text = ">50 m2 dan <= 100m2" Then luas_rumahx = 4 ElseIf luas_rumah.Text = ">100m2 dan <= 200m2" Then luas_rumahx = 3 ElseIf luas_rumah.Text = ">200m2 dan <=350m2" Then luas_rumahx = 2 Else luas_rumahx = 1 End If If kondisi_rumah.Text = "Sangat Rusak" Then kondisi_rumahx = 5 ElseIf kondisi_rumah.Text = "Rusak" Then kondisi_rumahx = 4 ElseIf kondisi_rumah.Text = "Sederhana" Then kondisi_rumahx = 3 ElseIf kondisi_rumah.Text = "Mewah" Then kondisi_rumahx = 2 Else kondisi_rumahx = 1 End If If atap_rumah.Text = "Anyaman Daun" Then atap_rumahx = 5 ElseIf atap_rumah.Text = "Seng" Then atap_rumahx = 4 ElseIf atap_rumah.Text = "Tanah Liat" Then atap_rumahx = 3 ElseIf atap_rumah.Text = "Beton" Then atap_rumahx = 2 Else atap_rumahx = 1 End If If dinding_rumah.Text = "Anyaman Bambu" Then dinding_rumahx = 5 ElseIf dinding_rumah.Text = "Triplek" Then dinding_rumahx = 4 ElseIf dinding_rumah.Text = "Papan" Then dinding_rumahx = 3 ElseIf dinding_rumah.Text = "Beton" Then dinding_rumahx = 2 Else dinding_rumahx = 1 End If If lantai_rumah.Text = "Tanah" Then lantai_rumahx = 5 ElseIf lantai_rumah.Text = "Bambu" Then lantai_rumahx = 4 ElseIf lantai_rumah.Text = "Papan" Then lantai_rumahx = 3 ElseIf lantai_rumah.Text = "Semen" Then lantai_rumahx = 2 Else lantai_rumahx = 1 End If If pendapatan_rt.Text = ">0 dan <=400000" Then pendapatan_rtx = 5 ElseIf pendapatan_rt.Text = ">400000 dan <=600000" Then pendapatan_rtx = 4 ElseIf pendapatan_rt.Text = ">600000 dan <=800000" Then pendapatan_rtx = 3 ElseIf pendapatan_rt.Text = ">800000 dan <=1000000" Then pendapatan_rtx = 2 Else pendapatan_rtx = 1 End If Model.tableName = "t_nasabah" Model.columnName = "id_nasabah,luas_rumah,kondisi_rumah,atap_rumah,dinding_rumah,lantai_rumah,pend apatan_rt" Model.data = New Object() {id_nasabah.Text, luas_rumah.Text, kondisi_rumah.Text, atap_rumah.Text, dinding_rumah.Text, lantai_rumah.Text, pendapatan_rt.Text} Model.condition = String.Format("WHERE id_nasabah = '{0}'", id_nasabah.Text) Model.Edit() Nilai.tableName = "t_nilai" Nilai.columnName = "id_nasabah,nilai_luas_rumah,nilai_kondisi_rumah,nilai_atap_rumah,nilai_dinding_ru mah,nilai_lantai_rumah,nilai_pendapatan_rt" Nilai.data = New Object() {id_nasabah.Text, luas_rumahx, kondisi_rumahx, atap_rumahx, dinding_rumahx, lantai_rumahx, pendapatan_rtx} Nilai.condition = String.Format("WHERE id_nasabah = '{0}'", id_nasabah.Text) Nilai.Edit() LoadData() Else Exit Sub End If End Sub Private Sub ButtonBatal() id_nasabah.Enabled = False nama_nasabah.Enabled = False

luas_rumah.Enabled = False kondisi_rumah.Enabled = False atap_rumah.Enabled = False dinding_rumah.Enabled = False lantai_rumah.Enabled = False pendapatan_rt.Enabled = False Simpan.Enabled = False Hapus.Enabled = False Batal.Enabled = False id_nasabah.Text = "" nama_nasabah.Text = "" luas_rumah.Text = "" kondisi_rumah.Text = "" atap_rumah.Text = "" dinding_rumah.Text = "" lantai_rumah.Text = "" pendapatan_rt.Text = "" End Sub Private Sub ButtonHapus() Dim Klik = MsgBox("Data yang dihapus tidak dapat dikembalikan, lanjutkan?", MsgBoxStyle.YesNo, "Konfirmasi") If (Klik = MsgBoxResult.Yes) Then Nilai.tableName = "t_nilai" Nilai.condition = String.Format("WHERE id_nasabah = '{0}'", id_nasabah.Text) BobotGap.tableName = "t_bobotgap" bobotGAP.condition = String.Format("WHERE id_nasabah = '{0}'", id_nasabah.Text) GAP.tableName = "t_gap" GAP.condition = String.Format("WHERE id_nasabah = '{0}'", id_nasabah.Text) hasil.tableName = "t_hasil" hasil.condition = String.Format("WHERE id_nasabah = '{0}'", id_nasabah.Text) Model.tableName = "t_nasabah" Model.condition = String.Format("WHERE id_nasabah = '{0}'", id_nasabah.Text) If Model.Delete() Then Nilai.Delete() bobotGAP.Delete() hasil.Delete() GAP.Delete() LoadData() End If End If End Sub Private Sub FormNilai_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load LoadData() End Sub Private Sub Simpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Simpan.Click ButtonSimpan() End Sub Private Sub Hapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Hapus.Click ButtonHapus() End Sub Private Sub Batal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Batal.Click ButtonBatal() End Sub Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged LoadSelected() End Sub End Class

6. Form Pengguna Public Class FormPengguna Dim Rows As ArrayList Dim Selected As Integer Dim Model As New ActiveRecord() Private Sub LoadData() Model.tableName = "t_user" Model.columnName = "username,password,level" Model.condition = Nothing Rows = Model.SelectData() Model.PopulateData(Rows, ListView) Username.Enabled = False level.Enabled = False Password.Enabled = False Baru.Enabled = True Simpan.Enabled = False Edit.Enabled = False Hapus.Enabled = False Batal.Enabled = False Username.Text = "" level.Text = "" Password.Text = "" End Sub

Function Validasi() Dim invalid As Boolean = (Username.Text = "" Or level.Text = "" Or Password.Text = "") If invalid Then MsgBox("Lengkapi data dahulu", MsgBoxStyle.Critical, "Validasi") Return False End If Return True End Function Private Sub LoadSelected() Selected = ListView.FocusedItem.Index Username.Text = Rows.Item(Selected)(0).ToString Username.Enabled = False Model.columnName = "username,password,level" Model.condition = String.Format("WHERE username = '{0}'", Username.Text) Dim data = Model.SelectFirst level.Enabled = True Password.Enabled = True Password.Text = data(1) level.Text = data(2) Baru.Enabled = False Simpan.Enabled = False Edit.Enabled = True Hapus.Enabled = True Batal.Enabled = True End Sub Private Sub ButtonBaru() level.Enabled = True Username.Enabled = True Password.Enabled = True Username.Text = "" level.Text = "" Password.Text = "" Baru.Enabled = False Simpan.Enabled = True Edit.Enabled = False Hapus.Enabled = False Batal.Enabled = True End Sub Private Sub ButtonSimpan() If Validasi() Then Model.columnName = "username,password,level" Model.condition = String.Format("WHERE username = '{0}'", Username.Text) Rows = Model.SelectData() If Rows.Count < 1 Then Model.data = New Object() {Username.Text, Password.Text, level.Text} If Model.Insert() Then LoadData() End If Else MsgBox("Data Sudah ADa", vbOKOnly, "Peringatan!!") Exit Sub End If End If End Sub Private Sub ButtonEdit() If Validasi() Then Model.columnName = "username,password,level" Model.data = New Object() {Username.Text, Password.Text, level.Text} Model.condition = String.Format("WHERE username = '{0}'", Username.Text) If Model.Edit() Then LoadData() End If End If End Sub Private Sub ButtonBatal() LoadData() End Sub Private Sub ButtonHapus() Dim Klik = MsgBox("Data yang dihapus tidak dapat dikembalikan, lanjutkan?", MsgBoxStyle.YesNo, "Konfirmasi") If (Klik = MsgBoxResult.Yes) Then Model.condition = String.Format("WHERE username = '{0}'", Username.Text) If Model.Delete() Then LoadData() End If End If End Sub Private Sub Pengguna_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load LoadData() End Sub Private Sub Baru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Baru.Click ButtonBaru() End Sub Private Sub Simpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Simpan.Click ButtonSimpan()

End Sub Private Sub Edit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Edit.Click ButtonEdit() End Sub Private Sub Batal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Batal.Click ButtonBatal() End Sub Private Sub Hapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Hapus.Click ButtonHapus() End Sub Private Sub ListView_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView.SelectedIndexChanged LoadSelected() End Sub End Class

7. Form SPK Imports System Imports System.IO Public Class FormSPK Dim Rows, Rows_Hasil, Rows_Nilai, Rows_GAP, Rows_bobotGAP As ArrayList Dim Data, Dim Datarows As ArrayList Dim Selected As Integer Dim Model, Model_Hasil, Model_Nilai, Model_GAP, Model_bobotGAP As New ActiveRecord() Private Sub Kosongkan() bpLuas_Rumah.Text = 5 bpKondisi_Rumah.Text = 5 bpAtap_Rumah.Text = 5 bpDinding_Rumah.Text = 3 bpLantai_Rumah.Text = 1 bpPendapatan_RT.Text = 5 'stdlayak.Text = "0" End Sub Sub LoadData() Try Model.condition = Nothing Model.tableName = "t_nasabah" Model.columnName = "id_nasabah,nama_nasabah,luas_rumah,kondisi_rumah,atap_rumah,dinding_rumah,lant ai_rumah,pendapatan_rt" Rows = Model.SelectData() Model.PopulateData(Rows, LV_Nilai) Model_Nilai.condition = Nothing Model_Nilai.tableName = "t_nilai o INNER JOIN t_nasabah n ON o.id_nasabah = n.id_nasabah" Model_Nilai.columnName = "n.id_nasabah,n.nama_nasabah,o.nilai_luas_rumah,o.nilai_kondisi_rumah,o.nilai_atap_ rumah,o.nilai_dinding_rumah,o.nilai_lantai_rumah,o.nilai_pendapatan_rt" Rows_Nilai = Model_Nilai.SelectData() Model_Nilai.PopulateData(Rows_Nilai, LV_Konversi) Model_GAP.condition =Nothing Model_GAP.tableName = "t_gap o INNER JOIN t_nasabah n ON o.id_nasabah = n.id_nasabah" Model_GAP.columnName = "n.id_nasabah,n.nama_nasabah,o.gap_luas_rumah,o.gap_kondisi_rumah,o.gap_atap_ru mah,o.gap_dinding_rumah,o.gap_lantai_rumah,o.gap_pendapatan_rt" Rows_GAP = Model_GAP.SelectData() Model_GAP.PopulateData(Rows_GAP, LV_GAP) Model_bobotGAP.condition = Nothing Model_bobotGAP.tableName = "t_bobotgap o INNER JOIN t_nasabah n ON o.id_nasabah = n.id_nasabah" Model_bobotGAP.columnName = "n.id_nasabah,n.nama_nasabah,o.bobotgap_luas_rumah,o.bobotgap_kondisi_rumah,o.b obotgap_atap_rumah,o.bobotgap_dinding_rumah,o.bobotgap_lantai_rumah,o.bobotgap _pendapatan_rt" Rows_bobotGAP = Model_bobotGAP.SelectData() Model_bobotGAP.PopulateData(Rows_bobotGAP, LV_BobotGAP) Model_Hasil.condition = Nothing

Model_Hasil.tableName = "t_hasil h INNER JOIN t_nasabah n ON h.id_nasabah = n.id_nasabah" Model_Hasil.columnName = "n.id_nasabah,n.nama_nasabah,h.vektor_s,h.vektor_v,h.kelayakan,h.rangking" Rows_Hasil = Model_Hasil.SelectData() Model_Hasil.PopulateData(Rows_Hasil, LV_Vektor) Model_Hasil.condition = Nothing Model_Hasil.tableName = "t_hasil h INNER JOIN t_nasabah n ON h.id_nasabah = n.id_nasabah" Model_Hasil.columnName = "n.id_nasabah,n.nama_nasabah,h.vektor_v,h.rangking" Model_Hasil.condition = String.Format(" Where kelayakan= '{0}' ORDER BY rangking", "Layak") Rows_Hasil = Model_Hasil.SelectData() Model_Hasil.PopulateData(Rows_Hasil, LV_Result) Catch ex As Exception MsgBox("Error Load Data " & ex.Message) End Try End Sub Private Sub ButtonReset() LoadData() Kosongkan() clearpmwp() End Sub Function Validasi() Dim invalid As Boolean = (bpLuas_Rumah.Text = "0" Or bpKondisi_Rumah.Text = "0" Or bpAtap_Rumah.Text = "0" Or bpDinding_Rumah.Text = "0" Or bpLantai_Rumah.Text = "0") If invalid Then MsgBox("Mohon lengkapi data dahulu", MsgBoxStyle.Critical, "Validasi") Return False End If Return True End Function Private Sub PMWP() Dim MyStreamWriter As StreamWriter = Nothing MyStreamWriter = New StreamWriter(".\\Tracing.txt") Console.WriteLine("Proses 1") MyStreamWriter.WriteLine("Proses 1") Dim Model As New ActiveRecord() Model.tableName = "t_nilai n INNER JOIN t_nasabah o ON o.id_nasabah = n.id_nasabah" Model.columnName = "o.id_nasabah,o.nama_nasabah,n.nilai_luas_rumah,n.nilai_kondisi_rumah,n.nilai_atap_ rumah,n.nilai_dinding_rumah,n.nilai_lantai_rumah,n.nilai_pendapatan_rt" Dim DataMentah = Model.SelectData() 'Console.WriteLine("id_nasabah{0}nama_nasabah{0}nilai_luas_rumah{0}nilai_kondisi_ rumah{0}nilai_atap_rumah{0}nilai_dinding_rumah{0}nilai_lantai_rumah{0}nilai_penda patan_rt{0}", vbTab) For Each k In DataMentah Console.WriteLine("{1}{0}{2}{0}{3}{0}{4}{0}{5}{0}{6}{0}{7}{0}{8}{0}", vbTab, k(0), k(1), k(2), k(3), k(4), k(5), k(6), k(7), k(8)) MyStreamWriter.WriteLine("{1}{0}{2}{0}{3}{0}{4}{0}{5}{0}{6}{0}{7}{0}{8}{0}", vbTab, k(0), k(1), k(2), k(3), k(4), k(5), k(6), k(7), k(8)) Next Console.WriteLine() MyStreamWriter.WriteLine() 'Langkah 1: Menentukan bobot Preferensi Dim W(6) As Double W(1) = bpLuas_Rumah.Value W(2) = bpKondisi_Rumah.Value W(3) = bpAtap_Rumah.Value W(4) = bpDinding_Rumah.Value W(5) = bpLantai_Rumah.Value W(6) = bpPendapatan_RT.Value Dim TotalW As Integer = W(1) + W(2) + W(3) + W(4) + W(5) + W(6) Dim RataW(6) As Double RataW(1) = bpLuas_Rumah.Value / TotalW RataW(2) = bpKondisi_Rumah.Value / TotalW RataW(3) = bpAtap_Rumah.Value / TotalW

RataW(4) = bpDinding_Rumah.Value / TotalW RataW(5) = bpLantai_Rumah.Value / TotalW RataW(6) = bpPendapatan_RT.Value / TotalW Console.WriteLine("Bobot Preferensi:" & vbCrLf & "Luas Rumah = {0}" & vbCrLf & "Kondisi_Rumah = {1}" & vbCrLf & "Atap Rumah = {2}" & vbCrLf & "Dinding Rumah = {3}" & vbCrLf & "Lantai Rumah = {4}" & vbCrLf & "Pendapatan RT = {5}", W(1), W(2), W(3), W(4), W(5), W(6)) Console.WriteLine() MyStreamWriter.WriteLine("Bobot Preferensi:" & vbCrLf & "Luas Rumah = {0}" & vbCrLf & "Kondisi_Rumah = {1}" & vbCrLf & "Atap Rumah = {2}" & vbCrLf & "Dinding Rumah = {3}" & vbCrLf & "Lantai Rumah = {4}" & vbCrLf & "Pendapatan RT = {5}", W(1), W(2), W(3), W(4), W(5), W(6)) MyStreamWriter.WriteLine() Dim lv As ListViewItem = LV_Normalisasi.Items.Add(FormatNumber(RataW(1), 3, TriState.True, TriState.True, TriState.True)) For ratas = 2 To 6 lv.SubItems.Add(FormatNumber(RataW(ratas), 3, TriState.True, TriState.True, TriState.True)) Next 'Langkah 2: Matriks Nilai NASABAH GAP Console.WriteLine("Proses 2") MyStreamWriter.WriteLine("Proses 2") Model.tableName = "t_nilai" Model.columnName = "id_nasabah,nilai_luas_rumah,nilai_kondisi_rumah,nilai_atap_rumah,nilai_dinding_ru mah,nilai_lantai_rumah,nilai_pendapatan_rt" Rows = Model.SelectData() Dim jumlah As Integer = Rows.Count Dim aray(,) As String Dim intRowCount As Integer = jumlah Dim intColumnCount As Integer = jumlah ReDim aray(intColumnCount - 1, intRowCount - 1) Dim baris, kolom As Integer baris = 0 For Each peserta In Rows Dim id_nasabah = peserta(0) For kolom = 0 To 5 aray(baris, kolom) = peserta(kolom + 1) - W(kolom + 1) Next baris = baris + 1 Next baris = 0 Dim kolomsgap = New String() {"gap_luas_rumah", "gap_kondisi_rumah", "gap_atap_rumah", "gap_dinding_rumah", "gap_lantai_rumah", "gap_pendapatan_rt"} For Each k In DataMentah Dim id_nasabah = k(0) Dim nama_nasabah = k(1) Console.Write("NASABAH {0} {1}", id_nasabah, nama_nasabah) For kolom = 0 To 5 Model_GAP.tableName = "t_gap" Model_GAP.columnName = kolomsgap(kolom) Model_GAP.data = New Object() {aray(baris, kolom).Replace(",", ".")} Model_GAP.condition = String.Format("WHERE id_nasabah = '{0}'", k(0)) Model_GAP.Edit() Console.Write(" {0} ", aray(baris, kolom)) Dim y As Integer = aray(baris, kolom) Next baris = baris + 1 Console.WriteLine() Next Console.WriteLine() Model_GAP.tableName = "t_gap o INNER JOIN t_nasabah n ON o.id_nasabah = n.id_nasabah" Model_GAP.columnName = "n.id_nasabah,n.nama_nasabah,o.gap_luas_rumah,o.gap_kondisi_rumah,o.gap_atap_ru mah,o.gap_dinding_rumah,o.gap_lantai_rumah,o.gap_pendapatan_rt" Model_GAP.condition = Nothing Rows_GAP = Model_GAP.SelectData()

Model_GAP.PopulateData(Rows_GAP, LV_GAP) baris = 0 For Each k In DataMentah Dim id_nasabah = k(0) Dim nama_nasabah = k(1) Console.Write("NASABAH {0} {1} {2}", id_nasabah, nama_nasabah, vbTab) MyStreamWriter.Write("NASABAH {0} {1} {2}", id_nasabah, nama_nasabah, vbTab) For kolom = 0 To 5 Console.Write(" {0} ", aray(baris, kolom)) MyStreamWriter.Write(" {0} ", aray(baris, kolom)) Dim y As Integer = aray(baris, kolom) Next baris = baris + 1 Console.WriteLine() MyStreamWriter.WriteLine() Next Console.WriteLine() MyStreamWriter.WriteLine() baris = 0 For Each peserta In Rows Dim id_nasabah = peserta(0) Dim banyakcf As Integer = 0 Dim banyaksf As Integer = 0 Dim tempcf As Double = 0 Dim tempsf As Double = 0 For kolom = 0 To 5 If (aray(baris, kolom) = 0) Then aray(baris, kolom) = 5 ElseIf (aray(baris, kolom) = 1) Then aray(baris, kolom) = 4.5 ElseIf (aray(baris, kolom) = -1) Then aray(baris, kolom) = 4 ElseIf (aray(baris, kolom) = 2) Then aray(baris, kolom) = 3.5 ElseIf (aray(baris, kolom) = -2) Then aray(baris, kolom) = 3 ElseIf (aray(baris, kolom) = 3) Then aray(baris, kolom) = 2.5 ElseIf (aray(baris, kolom) = -3) Then aray(baris, kolom) = 2 ElseIf (aray(baris, kolom) = 4) Then aray(baris, kolom) = 1.5 ElseIf (aray(baris, kolom) = -4) Then aray(baris, kolom) = 1 End If Next baris = baris + 1 Next Console.WriteLine("Proses 3") MyStreamWriter.WriteLine("Proses 3") baris = 0 Dim koloms = New String() {"bobotgap_luas_rumah", "bobotgap_kondisi_rumah", "bobotgap_atap_rumah", "bobotgap_dinding_rumah", "bobotgap_lantai_rumah", "bobotgap_pendapatan_rt"} For Each k In DataMentah Dim id_nasabah = k(0) Dim nama_nasabah = k(1) Console.Write("NASABAH {0} {1} {2} {3}", id_nasabah, nama_nasabah, vbTab, vbTab) MyStreamWriter.Write("NASABAH {0} {1} {2} {3}", id_nasabah, nama_nasabah, vbTab, vbTab) For kolom = 0 To 5 Model_bobotGAP.tableName = "t_bobotgap" Model_bobotGAP.columnName = koloms(kolom) Model_bobotGAP.data = New Object() {aray(baris, kolom).Replace(",", ".")} Model_bobotGAP.condition = String.Format("WHERE id_nasabah = '{0}'", k(0)) Model_bobotGAP.Edit() Console.Write(" {0} {1} ", aray(baris, kolom), vbTab) MyStreamWriter.Write(" {0} {1} ", aray(baris, kolom), vbTab) Dim y As Integer = aray(baris, kolom) Next baris = baris + 1 Console.WriteLine() MyStreamWriter.WriteLine() Next Console.WriteLine() MyStreamWriter.WriteLine() Dim total_vektor_s As Double = 0 Console.WriteLine("Normalisasi Bobot : ") MyStreamWriter.WriteLine("Normalisasi Bobot : ") Console.WriteLine("Bobot Kepentingan:" & vbCrLf & "Luas Rumah = {0}" & vbCrLf & "Kondisi_Rumah = {1}" & vbCrLf & "Atap Rumah = {2}" & vbCrLf & "Dinding Rumah

= {3}" & vbCrLf & "Lantai Rumah = {4}" & vbCrLf & "Pendapatan RT = {5}", RataW(1), RataW(2), RataW(3), RataW(4), RataW(5), RataW(6)) Console.WriteLine() MyStreamWriter.WriteLine("Bobot Kepentingan:" & vbCrLf & "Luas Rumah = {0}" & vbCrLf & "Kondisi_Rumah = {1}" & vbCrLf & "Atap Rumah = {2}" & vbCrLf & "Dinding Rumah = {3}" & vbCrLf & "Lantai Rumah = {4}" & vbCrLf & "Pendapatan RT = {5}", RataW(1), RataW(2), RataW(3), RataW(4), RataW(5), RataW(6)) MyStreamWriter.WriteLine() Model_bobotGAP.tableName = "t_bobotgap bg INNER JOIN t_nasabah n ON bg.id_nasabah = n.id_nasabah" Model_bobotGAP.columnName = "bg.id_nasabah,n.nama_nasabah,bg.bobotgap_luas_rumah,bg.bobotgap_kondisi_rumah, bg.bobotgap_atap_rumah,bg.bobotgap_dinding_rumah,bg.bobotgap_lantai_rumah,bg.bo botgap_pendapatan_rt" Model_bobotGAP.condition = Nothing Rows_bobotGAP = Model_bobotGAP.SelectData() Model_bobotGAP.PopulateData(Rows_bobotGAP, LV_BobotGAP) Dim Model2 As New ActiveRecord() Model2.tableName = "t_bobotgap" Model2.columnName = "id_nasabah,bobotgap_luas_rumah,bobotgap_kondisi_rumah,bobotgap_atap_rumah,bob otgap_dinding_rumah,bobotgap_lantai_rumah,bobotgap_pendapatan_rt" Datarows = Model2.SelectDatarows() Dim kelayakan As String For Each datanasabah In Datarows Dim id_nasabah = datanasabah(0) Dim vektor_s As Double = ((datanasabah(1) ^ RataW(1)) * (datanasabah(2) ^ RataW(2)) * (datanasabah(3) ^ RataW(3)) * (datanasabah(4) ^ RataW(4)) * (datanasabah(5) ^ RataW(5)) * (datanasabah(6) ^ RataW(6))) Console.WriteLine("NASABAH {0} {1} {2} {3} {4} {5} {6} {7} {8} {9}", vbTab, vbTab, id_nasabah, datanasabah(1), datanasabah(2), datanasabah(3), datanasabah(4), datanasabah(5), datanasabah(6), vektor_s) MyStreamWriter.WriteLine("NASABAH {0} {1} {2} {3} {4} {5} {6} {7} {8} {9}", vbTab, vbTab, id_nasabah, datanasabah(1), datanasabah(2), datanasabah(3), datanasabah(4), datanasabah(5), datanasabah(6), vektor_s) Model2.tableName = "t_hasil" Model2.columnName = "id_nasabah,vektor_s" Model2.data = New Object() {id_nasabah, vektor_s} Model2.condition = String.Format("WHERE id_nasabah = '{0}'", datanasabah(0)) Model2.Edit() total_vektor_s = total_vektor_s + vektor_s Next Console.WriteLine() MyStreamWriter.WriteLine() Dim Model3 As New ActiveRecord() Model3.tableName = "t_hasil" Model3.columnName = "id_nasabah,vektor_s,kelayakan" Datarows = Model3.SelectDatarows() For Each datanasabah In Datarows Dim id_nasabah = datanasabah(0) Dim vektor_v As Double = ((datanasabah(1) / total_vektor_s)) If (vektor_v >= 0.08) Then kelayakan = "Layak" Else kelayakan = "Tak Layak" End If Console.WriteLine("NASABAH {0} {1} {2} {3} {4}", vbTab, vbTab, id_nasabah, vektor_v, kelayakan) MyStreamWriter.WriteLine("NASABAH {0} {1} {2} {3} {4}", vbTab, vbTab, id_nasabah, vektor_v, kelayakan) Model3.tableName = "t_hasil" Model3.columnName = "id_nasabah,vektor_v,kelayakan" Model3.data = New Object() {id_nasabah, vektor_v, kelayakan} Model3.condition = String.Format("WHERE id_nasabah = '{0}'", datanasabah(0)) Model3.Edit()

Next Console.WriteLine() MyStreamWriter.WriteLine() LoadData() Dim rangking As Integer = 0 Dim Model_Hasil As New ActiveRecord() Model_Hasil.tableName = "t_hasil" Model_Hasil.columnName = "id_nasabah,rangking" Model_Hasil.condition = String.Format(" WHERE kelayakan='{0}' ORDER BY vektor_v DESC", "Layak") Datarows = Model_Hasil.SelectData() For Each datanasabah In Datarows Model3.tableName = "t_hasil" Model3.columnName = "rangking" rangking = rangking + 1 Model3.data = New Object() {rangking} Model3.condition = String.Format("WHERE id_nasabah = '{0}'", datanasabah(0)) Model3.Edit() Next MyStreamWriter.Close() End Sub Private Sub FormWP_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ButtonReset() End Sub Private Sub Proses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Proses.Click If Validasi() Then PMWP() LoadData() End If FormKelayakan.Show() End Sub Sub clearpmwp() Model_GAP.tableName = "t_gap" Model_GAP.columnName = "id_nasabah,gap_luas_rumah, gap_kondisi_rumah, gap_atap_rumah, gap_dinding_rumah, gap_lantai_rumah, gap_pendapatan_rt" Model_BobotGAP.tableName = "t_bobotgap" Model_BobotGAP.columnName = "id_nasabah,bobotgap_luas_rumah, bobotgap_kondisi_rumah, bobotgap_atap_rumah, bobotgap_dinding_rumah, bobotgap_lantai_rumah, bobotgap_pendapatan_rt" Model_Hasil.tableName = "t_hasil" Model_Hasil.columnName = "id_nasabah, vektor_s, vektor_v, kelayakan, rangking" Dim DataMentah = Model_Nilai.SelectData() Console.WriteLine() Dim i = 0 For Each k In DataMentah Dim id_nasabah = k(0) Dim nama_nasabah = k(1) Model_GAP.data = New Object() {id_nasabah, 0, 0, 0, 0, 0, 0} Model_GAP.condition = String.Format("WHERE id_nasabah = '{0}'", k(0)) Model_GAP.Edit() Model_BobotGAP.data = New Object() {id_nasabah, 0, 0, 0, 0, 0, 0} Model_BobotGAP.condition = String.Format("WHERE id_nasabah = '{0}'", k(0)) Model_BobotGAP.Edit() Model_Hasil.data = New Object() {id_nasabah, 0, 0, "-", "-"} Model_Hasil.condition = String.Format("WHERE id_nasabah = '{0}'", k(0)) Model_Hasil.Edit() i=i+1 Next LV_Normalisasi.Items.Clear() End Sub Private Sub Reset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Reset.Click ButtonReset() End Sub Private Sub View_Result_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles View_Result.Click FResult.MdiParent = FormUtama FResult.Show() FResult.rtb_trace.LoadFile(".\\Tracing.txt", RichTextBoxStreamType.PlainText) FormKelayakan.MdiParent = FormUtama FormKelayakan.Show() End Sub

End Class

8. Form Kelayakan Public Class FormKelayakan Dim Rows, Rows_Hasil, Rows_Nilai, Rows_GAP, Rows_bobotGAP As ArrayList Dim Data,Datarows As ArrayList Dim Selected As Integer Dim Model, Model_Hasil, Model_Nilai, Model_GAP, Model_bobotGAP As New ActiveRecord() Sub LoadData() Try Model_Hasil.condition = Nothing Model_Hasil.tableName = "t_hasil h INNER JOIN t_nasabah n ON h.id_nasabah = n.id_nasabah" Model_Hasil.columnName = "n.id_nasabah,n.nama_nasabah,h.vektor_s,h.vektor_v,h.kelayakan,h.rangking" Rows_Hasil = Model_Hasil.SelectData() Model_Hasil.PopulateData(Rows_Hasil, LV_Vektor) Model_Hasil.condition = Nothing Model_Hasil.tableName = "t_hasil h INNER JOIN t_nasabah n ON h.id_nasabah = n.id_nasabah" Model_Hasil.columnName = "n.id_nasabah,n.nama_nasabah,h.vektor_v,h.rangking" Model_Hasil.condition = String.Format(" Where kelayakan= '{0}' ORDER BY rangking", "Layak") Rows_Hasil = Model_Hasil.SelectData() Model_Hasil.PopulateData(Rows_Hasil, LV_Result) Catch ex As Exception MsgBox("Error Load Data " & ex.Message) End Try End Sub Private Sub ButtonReset() LoadData() End Sub Private Sub FormWP_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ButtonReset() End Sub Private Sub Reset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) ButtonReset() End Sub Private Sub View_Result_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) FResult.MdiParent = FormUtama FResult.Show() FResult.rtb_trace.LoadFile(".\\Tracing.txt", RichTextBoxStreamType.PlainText) End Sub End Class

9. Form Result Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click Me.Dispose() End Sub

10. Form Laporan Public Class FormLaporan Private Sub FormLaporan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.view_pnmTableAdapter.Fill(Me.db_pnmDataSet.view_pnm) Me.ReportViewer2.RefreshReport() End Sub End Class

11. Form Laporan Nasabah Public Class FL_Nasabah Private Sub Lap_Nasabah_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.view_pnmTableAdapter.Fill(Me.db_pnmDataSet.view_pnm)

Me.ReportViewer1.RefreshReport() End Sub End Class

Related Documents

Spk Dan Rkk.docx
June 2020 3
Tugas Spk
June 2020 14
Spk Cv
November 2019 24
Matching Colours
October 2019 58

More Documents from "Donnette Davis"