Nilai Input (Peringkat Alternatif Fuzzy dan Crisp Terhadap Kriteria)

Similar documents
LISTING PROGRAM. 1. Form Menu Utama. Universitas Sumatera Utara

Tutorial, Source code, Request Program Visual Basic

LAMPIRAN LIST PROGRAM

LAMPIRAN. Universitas Sumatera Utara

LAMPIRAN A : LISTING PROGRAM

LAMPIRAN A LISTING PROGRAM. Universitas Sumatera Utara

End Sub. Sub Kunci() Dim i As Integer For i = 0 To 4 Txtfield(i).Locked = True Next i grddatagrid.enabled = False End Sub

LAMPIRAN : LISTING PROGRAM

LISTING PROGRAM. 1. Form Login. Private Sub BATAL_Click() End End Sub

LAMPIRAN A : LISTING PROGRAM

LISTING PROGRAM. Form Splash

L A M P I R A N. Universitas Sumatera Utara

1. Menu Utama. Private Sub abt_click() frmabout.show End Sub. Private Sub dafabsenhar_click() frmdafabsensihar.show End Sub

LAMPIRAN 1. Kode Program Splash Screen

LISTING PROGRAM. 1. Menu Utama

LAMPIRAN FORM 1 Universitas Sumatera Universitas Utara

LAMPIRAN. Universitas Sumatera Utara

DAFTAR ISI. HALAMAN JUDUL... Error! Bookmark not defined. LEMBAR PERSETUJUAN... Error! Bookmark not defined.

PANDUAN PENGGUNA (SUPPLIER) MAINTAIN CERTIFICATES/SUPPLIER DETAILS SUPPLIER RELATIONSHIP MANAGEMENT SUPPLY CHAIN MANAGEMENT SYSTEM (SCMS)

Pengenalan Sistem Maklumat Dalam Pendidikan

MULTIMEDIA COLLEGE JALAN GURNEY KIRI KUALA LUMPUR

PANDUAN PENGGUNA (SUPPLIER) MAINTAIN CERTIFICATES/SUPPLIER DETAILS SUPPLIER RELATIONSHIP MANAGEMENT SUPPLY CHAIN MANAGEMENT SYSTEM (SCMS)

MICROSOFT EXCEL. Membina Hamparan Elektronik Fungsi Hamparan Elektronik

Visitor Management System

INSTRUCTION: This section consists of FOUR (4) questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi EMPAT (4) soalan. Jawab SEMUA soalan.

LAMPIRAN 1 PENGARUH KETERSEDIAAN KOLEKSI PERPUSTAKAAN TERHADAP MINAT BACA SISWA SMP NEGERI 30 MEDAN

FUZZY NEURAL NETWORKS WITH GENETIC ALGORITHM-BASED LEARNING METHOD M. REZA MASHINCHI UNIVERSITI TEKNOLOGI MALAYSIA

Manual Pengguna. PCN Online Service Fulfillment System

PART A SULIT (EKT 221) BAHAGIAN A. Answer ALL questions. Question 1. a) Briefly explain the concept of Clock Gating.

UJIAN AKHIR SEMESTER TEKNIK INFORMATIKA SEKOLAH TINGGI TEKNOLOGI DUTA BANGSA

SURAT KETERANGAN Hasil Uji Program Tugas Akhir

DOKUMEN TIDAK TERKAWAL

COMBINING TABLES. Akademi Audit Negara. CAATs ASAS ACL / 1

RESOURCE ALLOCATION SCHEME FOR FUTURE USER-CENTRIC WIRELESS NETWORK WAHEEDA JABBAR UNIVERSITI TEKNOLOGI MALAYSIA

LISTING PROGRAM. 1. Menu Utama

Financial Functions (all with subtypes: Normal, Stairs, Points, Height, Hollow, Colors, Marks, No Border except where indicated):

LAMPIRAN 1 TATA CARA PENGGUNAAN SOFTWARE ALGORITMA GENETIKA

UNIVERSITI SAINS MALAYSIA. CPT111/CPM111 Principles of Programming [Prinsip Pengaturcaraan]

ssk 2023 asas komunikasi dan rangkaian TOPIK 4.0 PENGALAMATAN RANGKAIAN Minggu 11

LAB 5: WORKING WITH DATA

MSS 318 Discrete Mathematics [Matematik Diskret]

1. Akses untuk koperasi adalah melalui

SUPERVISED MACHINE LEARNING APPROACH FOR DETECTION OF MALICIOUS EXECUTABLES YAHYE ABUKAR AHMED

CHAPTER 5 IMPLEMENTATION AND TESTING

Universitas Sumatera Utara

22. VB Programming Fundamentals Data Access with Data Objects

MANAGE COURSE RESOURCES LABEL TEXT PAGE URL BOOK FILE FOLDER IMS CONTENT PACKAGE

Jaringan Komputer (IF8505) Pengamanan jaringan komputer. Cryptography

LAMPIRAN. Universitas Sumatera Utara

INSTRUCTION: This section consists of TWO (2) questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi DUA (2) soalan. Jawab SEMUA soalan.

MAT 181 Programming for Scientific Applications [Pengaturcaraan untuk Penggunaan Sains]

Panduan Guru Maker UNO/ Arduino

Lookup Project. frmlookup (Name: object is a combo box, style 2); use 4 labels: 2 for phone, 2 for mail. MsgBox Function:

BORANG PENCALONAN HADIAH UNIVERSITI NOMINATION FORM FOR UNIVERSITY AWARD

LISTING PROGRAM. Source Code Tampilan Awal. Source Code Menu Utama

EPUB - TUTORIAL BELAJAR SQL 2005 DOWNLOAD

LAMPIRAN A PROGRAM FLOWSTONE

PANDUAN PENGGUNA (SUPPLIER) e-purchase ORDER FOR SERVICES

PERU BAHAN PERKHIDMATAN KREDIT DAN PERBANKAN ARAHAN KERJA UNIT KOMPUTER. Tatacara Proses AGM03. BPKP/KJAK-104 Bilangan Semakan : 0 Tarikh :

KAEDAH PENYUSUNAN PORTFOLIO

UNIVERSITI SAINS MALAYSIA. CMT422 Multimedia Information Systems & Management [Sistem & Pengurusan Maklumat Multimedia]

Cosine Similarity Measurement for Indonesian Publication Recommender System

INSTRUCTION: This section consists of FOUR (4) structured questions. Answer ALL questions.

M2U MANUAL PENGGUNA USER MANUAL M2UNHJ. 0 P a g e BAHAGIAN SIMPANAN DAN PENGELUARAN JABATAN KHIDMAT PENDEPOSIT DAN OPERASI LEMBAGA TABUNG HAJI

UNIVERSITI SAINS MALAYSIA. CCS513 Computer Vision and Image Analysis [Penglihatan Komputer dan Analisis Imej]

UNIVERSITI SAINS MALAYSIA. CPT103/ CPM211 Struktur Data & Paradigma Pengaturcaraan

COLOUR IMAGE WATERMARKING USING DISCRETE COSINE TRANSFORM AND TWO-LEVEL SINGULAR VALUE DECOMPOSITION BOKAN OMAR ALI

Visual Basic 6 Lecture 7. The List Box:

Semasa buku ini ditulis XAMPP mengandungi empat versi:

Registration of Supplier (ROS) TM Supplier Registration Renewal via SUS Portal (Pembaharuan Pendaftaran Pembekal TM melalui SUS Portal)

DAFTAR ISI. BAB II... Error! Bookmark not defined.

INSTRUCTION: This section consists of TWO (2) structured questions. Answer ALL questions.

ABSTRAKSI. untuk sebuah bioskop yang berkonsep Romantic Dating. Penulis mencari sumber

Lab 4 : Sorting Techniques

EEE 348 PENGANTAR REKABENTUK LITAR BERSEPADU

INSTRUCTION: This section consists of FOUR (4) structured questions. Answer ALL questions.

ISU DAN CABARAN PELAKSANAAN SISTEM PENGURUSAN KESELAMATAN MAKLUMAT (ISMS) 15 Jun 2016 Dewan Taklimat Serdang

TWO DIMENSIONAL NETWORK ADJUSTMENT AND DEFORMATION ANALYSIS VIA MATLAB

PENDAFTARAN KURSUS SEMESTER 1 (DEP/DEE/DTK) SESI JUN 2018

PENDAFTARAN KURSUS SEMESTER 1 (DEP/DEE) SESI DIS 2017

UNIVERSITI SAINS MALAYSIA. CPT111 Principles of Programming [Prinsip Pengaturcaraan]

MAT 181 Programming For Scientific Applications [Pengaturcaraan Untuk Penggunaan Sains]

Please answer questions in the space provided. Question point values are shown in parentheses.

LISTING PROGRAM. mainform.vb A-1. Universitas Sumatera Utara

Send to: MM Irfan Subakti CC to Muhammad Ryanda Nugraha M with the. IF184401_DAA(F)_MID_NRP_Name.

An InputBox( ) function will display an input Box window where the user can enter a value or a text. The format is

LAMPIRAN A-2 : LAPORAN PENJUALAN DOKUMEN KELUARAN

INSTRUCTION: This section consists of TWO (2) structured questions. Answer ALL questions.

KUISIONER. 2. Apakah teknik Using Pictures tersebut sesuai dengan tingkat pemahaman para siswa? Ya, sebutkan alasan Anda:

Private Sub MenuUtamaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.ShowDialog() End Sub

[PDF] PHP MYSQL SCHOOL MANAGEMENT SYSTEM

UNIVERSITI PUTRA MALAYSIA

Lampiran A : Listing Program

A LEVY FLIGHT PARTICLE SWARM OPTIMIZER FOR MACHINING PERFORMANCES OPTIMIZATION ANIS FARHAN BINTI KAMARUZAMAN UNIVERSITI TEKNOLOGI MALAYSIA

LAMPIRAN A: Listing Program

ENHANCING WEB SERVICE SELECTION USING ENHANCED FILTERING MODEL AJAO, TAJUDEEN ADEYEMI

Panduan Menggunakan Autoresponder FreeAutobot.com

EEM 312 ROBOTIK & PENGLIHATAN MESIN

JABATAN KIMIA Kategori Arahan Kerja

ISI KANDUNGAN. Tarikh akhir kemaskini: 9 November 2016 Hakcipta Pusat Komputer, UTeM ms 2

Transcription:

LAMPIRAN-A PENYELESAIAN DENGAN METODE FUZZY TOPSIS Secara umum, prosedur Fuzzy TOPSIS mengikuti langkah-langkah sebagai berikut: 1. Membuat matriks keputusan yang ternormalisasi, 2. Menentukan matriks solusi ideal positif dan negatif, 3. Menentukan farak antara nilai setiap alternatif dengan matriks solusi ideal positif dan negatif, 4. Menetukan nilai preferensi untuk setiap alternatif. Alternatif Nilai Input (Peringkat Alternatif Fuzzy dan Crisp Terhadap Kriteria) Nilai Fuzzy C1 C2 C3 C4 C5 Nilai Crisp C1 C2 C3 C4 C5 a b c a b c a b c a b c a b c G1 0,733 0,917 0,967 0,667 0,833 0,933 0,6 0,767 0,867 0,533 0,7 0,8 0,4 0,55 0,7 0,895 0,822 0,756 0,689 0,550 G2 0,733 0,917 0,967 0,667 0,833 0,933 0,733 0,917 0,967 0,4 0,567 0,667 0,533 0,683 0,833 0,895 0,822 0,895 0,556 0,683 G3 0,667 0,833 0,933 0,733 0,917 0,967 0,533 0,683 0,833 0,733 0,917 0,967 0,333 0,483 0,633 0,822 0,895 0,683 0,895 0,483 G4 0,667 0,85 0,9 0,533 0,683 0,833 0,667 0,833 0,933 0,667 0,833 0,933 0,467 0,633 0,733 0,828 0,683 0,822 0,822 0,622 G5 0,533 0,683 0,833 0,733 0,917 0,967 0,6 0,767 0,867 0,667 0,833 0,933 0,667 0,85 0,9 0,683 0,895 0,756 0,822 0,828 G6 0,6 0,767 0,867 0,6 0,767 0,867 0,667 0,85 0,9 0,333 0,483 0,633 0,467 0,617 0,767 0,756 0,756 0,828 0,483 0,617 G7 0,8 1 1 0,6 0,75 0,9 0,667 0,833 0,933 0,4 0,55 0,7 0,333 0,483 0,633 0,967 0,750 0,822 0,550 0,483 G8 0,667 0,833 0,933 0,6 0,767 0,867 0,6 0,75 0,9 0,533 0,7 0,8 0,6 0,767 0,867 0,822 0,756 0,750 0,689 0,756 G9 0,667 0,833 0,933 0,467 0,617 0,767 0,667 0,85 0,9 0,467 0,617 0,767 0,533 0,7 0,8 0,822 0,617 0,828 0,617 0,689 G10 0,733 0,917 0,967 0,667 0,833 0,933 0,6 0,767 0,867 0,533 0,7 0,8 0,467 0,617 0,767 0,895 0,822 0,756 0,689 0,617 G11 0,667 0,85 0,9 0,667 0,833 0,933 0,6 0,783 0,833 0,467 0,617 0,767 0,4 0,55 0,7 0,828 0,822 0,761 0,617 0,550 G12 0,6 0,767 0,867 0,6 0,767 0,867 0,667 0,833 0,933 0,667 0,85 0,9 0,4 0,55 0,7 0,756 0,756 0,822 0,828 0,550 1. Hasil perhitungan matriks keputusan yang ternormalisasi, Teknik TOPSIS M-77

Alternatif C1 C2 C3 C4 C5 G1 0,310 0,302 0,276 0,284 0,253 G2 0,310 0,302 0,326 0,229 0,314 G3 0,285 0,328 0,249 0,369 0,222 G4 0,287 0,251 0,300 0,339 0,286 G5 0,236 0,328 0,276 0,339 0,381 G6 0,262 0,277 0,302 0,199 0,284 G7 0,335 0,275 0,300 0,227 0,222 G8 0,285 0,277 0,274 0,284 0,348 G9 0,285 0,226 0,302 0,255 0,317 G10 0,310 0,302 0,276 0,284 0,284 G11 0,287 0,302 0,277 0,255 0,253 G12 0,262 0,277 0,300 0,342 0,253 2. Hasil perhitungan matriks solusi ideal positif dan negatif C1 C2 C3 C4 C5 A+ 0,335 0,328 0,326 0,369 0,381 A- 0,236 0,226 0,249 0,199 0,222 3. Menentukan Jarak antara nilai setiap alternatif dengan matriks solusi ideal positif dan negatif Teknik TOPSIS M-78

Alternatif d+ d- G1 0,305 0,324 G2 0,285 0,368 G3 0,351 0,419 G4 0,303 0,325 G5 0,288 0,459 G6 0,416 0,219 G7 0,399 0,315 G8 0,273 0,326 G9 0,381 0,257 G10 0,268 0,337 G11 0,349 0,271 G12 0,332 0,315 Teknik TOPSIS M-79

4. Hasil perhitungan koefisien kedekatan relatif dan Rangking urutan preferensi Alternatif Koefisien Kedekatan Relatif Alternatif Koefisien Kedekatan Relatif Ranking G1 0,516 G5 0,635 1 G2 0,563 G8 0,564 2 G3 0,544 G4 0,540 3 G4 0,518 G3 0,537 4 G5 0,614 G10 0,532 5 G6 0,345 G2 0,522 6 G7 0,441 G12 0,497 7 G8 0,544 G1 0,482 8 G9 0,403 G9 0,415 9 G10 0,557 G11 0,402 10 G11 0,437 G7 0,388 11 G12 0,487 G6 0,320 12 Teknik TOPSIS M-80

LAMPIRAN-B LISTING PROGRAM 1. Entry Jenis Objek Penelitian Option Explicit Dim KP As String * 5 Dim JP As String * 3 Private Sub cmdparam_click() If Me.vIdx_Ob = "" Then MsgBox ("Pilih Objek yang akan ditentukan parameternya") Exit Sub With frmparameter.show.vidx_ob = Me.vIdx_Ob.Isi_Combo.vObjek = Me.vObjek.vTentang = Me.vTentang.Temukan Private Sub Form_Load() vidx_ob.clear RsObjek.Open "SELECT Idx_ob FROM tbobjek order by Idx_ob Asc", Conn Do While Not RsObjek.EOF vidx_ob.additem RsObjek!Idx_Ob RsObjek.MoveNext Loop Function CariData() RsObjek.Open "Select * From tbobjek where Idx_ob='" & vidx_ob & "'", Conn End Function Private Sub cmdinput_click() If vjp = "" Then MsgBox ("Pilih jumlah parameter alternatif penilaian") Exit Sub If CmdInput.Caption = "&Input" Then CmdInput.Caption = "&Simpan" cmdedit.enabled = False cmdhapus.enabled = False Call AutoNumber If vidx_ob = "" Or vobjek = "" Then MsgBox "Data Belum Lengkap...!" Dim SQLTambah As String L-81

SQLTambah = "Insert Into tbobjek values ('" & vidx_ob & "','" & vobjek & "','" & vtentang & "')" Conn.Execute SQLTambah Form_Load Private Sub CmdEdit_Click() If cmdedit.caption = "&Edit" Then CmdInput.Enabled = False cmdedit.caption = "&Simpan" cmdhapus.enabled = False vidx_ob.setfocus If vobjek = "" Then MsgBox "Masih Ada Data Yang Kosong" Dim SQLEdit As String SQLEdit = "Update tbobjek Set Objek= '" & vobjek & "',Tentang='" & vtentang & "' where Idx_ob='" & vidx_ob & "'" Conn.Execute SQLEdit Private Sub cmdhapus_click() Dim ps If cmdhapus.caption = "&Hapus" Then CmdInput.Enabled = False cmdedit.enabled = False CmdBatal.Caption = "&Para meters" Call CariData If Not RsObjek.EOF Then TampilkanData ps = MsgBox("Yakin akan dihapus", vbyesno, "Konfirmasi") If ps = vbyes Then Dim SQLHapus As String SQLHapus = "Delete From tbobjek where Idx_ob= '" & vidx_ob & "'" Conn.Execute SQLHapus MsgBox "Data Tidak ditemukan" Private Sub vidx_ob_click() Call CariData Call TampilkanData vjp = Left(vIdx_Ob, 3) Private Sub vidx_ob_keypress(keyascii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then If CmdInput.Caption = "&Simpan" Then L-82

Call CariData If Not RsObjek.EOF Then TampilkanData MsgBox "Idx_ob Sudah Ada" vidx_ob.setfocus vobjek.setfocus If cmdedit.caption = "&Simpan" Then Call CariData If Not RsObjek.EOF Then TampilkanData vobjek.setfocus MsgBox "Idx_ob Tidak Ada" vidx_ob = "" vidx_ob.setfocus If cmdhapus.enabled = True Then Private Sub vtentang_keypress(keyascii As Integer) If KeyAscii = 13 Then If CmdInput.Enabled = True Then CmdInput.SetFocus If cmdedit.enabled = True Then cmdedit.setfocus Sub AutoNumber() Dim Hitung As Byte With RsObjek.Open "select * from tbobjek Where Idx_ob In(Select Max(Idx_ob)from tbobjek where left(idx_ob,3)='" & JP & "') Order by Idx_ob Desc", Conn.Requery If.EOF Then KP = JP + "01" Hitung = Right(!Idx_Ob, 2) + 1 KP = Left(!Idx_Ob, 3) + Right("00" & Hitung, 2) vidx_ob = KP vobjek.setfocus 2. Entry Parameter Private Sub cmdtfn_click() If Me.vIdx_Ob = "" Then L-83

MsgBox ("Pilih Objek yang akan ditentukan Fungsi Keanggotaanya") Exit Sub With frmmembership.show.vidx_ob = Me.vIdx_Ob.Isi_Combo.vObjek = Me.vObjek.vTentang = Me.vTentang Sub Isi_Combo() vobjek.clear RsObjek.Open "SELECT Objek FROM tbobjek where left(idx_ob,3)='" & Left(vIdx_Ob, 3) & "' order by Objek Asc", Conn Do While Not RsObjek.EOF vobjek.additem RsObjek!Objek RsObjek.MoveNext Loop Function CariData() RsParameter.Open "Select * From tbparameter where Idx_ob='" & End Function Private Sub vobjek_click() RsObjek.Open "SELECT * FROM tbobjek where objek='" & vobjek & "'", Conn If Not RsObjek.EOF Then vtentang = RsObjek!Tentang vidx_ob = RsObjek!Idx_Ob Call CariData If Not RsParameter.EOF Then vc1 = RsParameter!C1 vc2 = RsParameter!C2 vc3 = RsParameter!C3 vc4 = RsParameter!C4 vc5 = RsParameter!C5 vc6 = RsParameter!C6 vc7 = RsParameter!C7 vc8 = RsParameter!C8 vc9 = RsParameter!C9 vc10 = RsParameter!C10 CmdSimpan.Caption = "&Edit" Call Private Sub TampilkanData() With RsParameter If Not.EOF Then L-84

vc1 =!C1 vc2 =!C2 vc3 =!C3 vc4 =!C4 vc5 =!C5 vc6 =!C6 vc7 =!C7 vc8 =!C8 vc9 =!C9 vc10 =!C10 CmdSimpan.Enabled = True CmdSimpan.Caption = "&Edit" CmdSimpan.Caption = "&Simpan" Call lblketform = "Silahkan Isi Parameter dari Objek" Private Sub cmdsimpan_click() If vidx_ob = "" Or vc1 = "" Then MsgBox "Data Belum Lengkap...!" If CmdSimpan.Caption = "&Simpan" Then Dim SQLTambah As String SQLTambah = "Insert Into tbparameter (Idx_ob,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10) values ('" & vidx_ob & "','" & vc1 & "','" & vc2 & "','" & vc3 & "','" & vc4 & "','" & vc5 & "','" & vc6 & "','" & vc7 & "','" & vc8 & "','" & vc9 & "','" & vc10 & "')" Conn.Execute SQLTambah If CmdSimpan.Caption = "&Update" Then Dim SQLEdit As String SQLEdit = "Update tbparameter Set C1= '" & vc1 & "',C2='" & vc2 & "',C3='" & vc3 & "',C4='" & vc4 & "',C5='" & vc5 & "',C6='" & vc6 & "',C7='" & vc7 & "',C8='" & vc8 & "',C9='" & vc9 & "',C10='" & vc10 & "' where Idx_ob='" & vidx_ob & "'" Conn.Execute SQLEdit Call Tidak Call CmdSimpan.Caption = "&Update" 3. Entry Triangular Fuzzy Number (TFN) Sub Form_Load() Call Isi_Combo Private Sub cmdfrs_click() If Me.vIdx_Ob = "" Then MsgBox ("Pilih Objek yang akan ditentukan Alternatif Penilainnya") Exit Sub frmfrs.show frmfrs.vidx_ob = Me.vIdx_Ob L-85

frmfrs.vobjek = Me.vObjek frmfrs.vtentang = Me.vTentang frmfrs.isi_combo Private Sub cmdgunakan_click() frmviewmf.show frmviewmf.vidx_ob = Me.vIdx_Ob frmviewmf.vobj = "Gunakan sebagai Fungsi Keanggotaan Untuk " & Me.vObjek Function CariData() rstfn.open "Select * From tbtfn where Idx_ob='" & vidx_ob & "' and Simbol='" & vsimbol & "'", Conn End Function Private Sub TampilkanData() With rstfn If Not.EOF Then vkriteria =!Kriteria va =!TFNa vb =!TFNb vc =!TFNc vlkriteria =!LKriteria LA =!LTFNa LB =!LTFNb LC =!LTFNc CmdSimpan.Enabled = True CmdSimpan.Caption = "&Edit" CmdSimpan.Caption = "&Simpan" lblketform = "Entry Membership Function" Call cmdhapus.enabled = True Private Sub cmdhapus_click() If cmdhapus.caption = "&Hapus" Then CmdTutup.Caption = "&Batal" Call CariData If Not rstfn.eof Then TampilkanData Pesan = MsgBox("Yakin akan dihapus", vbyesno) If Pesan = vbyes Then Dim SQLHapus As String SQLHapus = "Delete From tbtfn where Simbol= '" & vsimbol & "'" Conn.Execute SQLHapus MsgBox "Data Tidak ditemukan" L-86

Private Sub cmdsimpan_click() If vidx_ob = "" Or vkriteria = "" Then MsgBox "Data Belum Lengkap...!" If CmdSimpan.Caption = "&Simpan" Then Dim SQLTambah As String SQLTambah = "Insert Into tbtfn values ('" & vidx_ob & "','" & vkriteria & "','" & vsimbol & "','" & va & "','" & vb & "','" & vc & "','" & vlkriteria & "','" & LA & "','" & LB & "','" & LC & "')" Conn.Execute SQLTambah Tampil_LV If CmdSimpan.Caption = "&Update" Then Dim SQLEdit As String SQLEdit = "Update tbtfn Set Kriteria='" & vkriteria & "',TFNa= '" & va & "',TFNb='" & vb & "',TFNc='" & vc & "',LKriteria='" & vlkriteria & "',LTFNa= '" & LA & "',LTFNb='" & LB & "',LTFNc='" & LC & "' where Simbol='" & vsimbol & "'" Conn.Execute SQLEdit Call Tidak CmdSimpan.Caption = "&Edit" CmdSimpan.Caption = "&Update" Private Sub ListView1_DblClick() vsimbol.text = ListView1.SelectedItem Tampilkan Private Sub vobjek_click() RsObjek.Open "SELECT * FROM tbobjek where objek='" & vobjek & "'", Conn If Not RsObjek.EOF Then vtentang = RsObjek!Tentang vidx_ob = RsObjek!Idx_Ob CmdSimpan.Enabled = True Sub Tampilkan() Call CariData If Not rstfn.eof Then TampilkanData MsgBox "Peringkat Kriteria Tidak Ditemukan" vkriteria = "" vkriteria.setfocus 4. Entry Kebutuhan Fungsional (Functional Requirements) Dim C1a, C1b, C1c As String Dim C2a, C2b, C2c As String Dim C3a, C3b, C3c As String Dim C4a, C4b, C4c As String L-87

Dim C5a, C5b, C5c As String Dim C6a, C6b, C6c As String Dim C7a, C7b, C7c As String Dim C8a, C8b, C8c As String Dim C9a, C9b, C9c As String Dim C10a, C10b, C10c As String Dim xkd, Kod As String Dim By As Byte Private Sub cmdalternatif_click() frmalternatif.show frmalternatif.vidx_ob = Me.vIdx_Ob frmalternatif.isi_combo frmalternatif.vobjek = Me.vObjek frmalternatif.vtentang = Me.vTentang Unload Me Private Sub Form_Activate() Call Tampil_DMs Call Hitung_FR Function CariData() rsfrs.open "Select * From tbfrs where KP='" & vkp & "'", Conn End Function Sub Isi_Kriteria() With rsfrs.open "SELECT Distinct LKriteria FROM tbtfn where left(idx_ob,3)='" & Left(vIdx_Ob.Caption, 3) & "' order by LKriteria Asc", Conn Do While Not.EOF xc1.additem!lkriteria xc2.additem!lkriteria xc3.additem!lkriteria xc4.additem!lkriteria xc5.additem!lkriteria xc6.additem!lkriteria xc7.additem!lkriteria xc8.additem!lkriteria xc9.additem!lkriteria xc10.additem!lkriteria.movenext Loop Sub Isi_Combo() RsObjek.Open "SELECT Objek FROM tbobjek where left(idx_ob,3)='" & Left(vIdx_Ob.Caption, 3) & "' order by Objek Asc", Conn Do While Not RsObjek.EOF vobjek.additem RsObjek!Objek RsObjek.MoveNext Loop L-88

Isi_Kriteria RsParameter.Open "SELECT * FROM tbparameter where Idx_ob='" & If Not RsParameter.EOF Then vc1 = RsParameter!C1 vc2 = RsParameter!C2 vc3 = RsParameter!C3 vc4 = RsParameter!C4 vc5 = RsParameter!C5 vc6 = RsParameter!C6 vc7 = RsParameter!C7 vc8 = RsParameter!C8 vc9 = RsParameter!C9 vc10 = RsParameter!C10 Call Tampil_DMs Hitung_FR Private Sub vobjek_click() RsObjek.Open "SELECT * FROM tbobjek where objek='" & vobjek & "'", Conn If Not RsObjek.EOF Then vtentang = RsObjek!Tentang vidx_ob = RsObjek!Idx_Ob RsParameter.Open "SELECT * FROM tbparameter where Idx_ob='" & If Not RsParameter.EOF Then vc1 = RsParameter!C1 vc2 = RsParameter!C2 vc3 = RsParameter!C3 vc4 = RsParameter!C4 vc5 = RsParameter!C5 vc6 = RsParameter!C6 vc7 = RsParameter!C7 vc8 = RsParameter!C8 vc9 = RsParameter!C9 vc10 = RsParameter!C10 vdms.clear rsfrs.open "Select Distinct DMs From tbfrs where Idx_ob='" & Do While Not rsfrs.eof vdms.additem rsfrs!dms rsfrs.movenext Loop MsgBox ("Parameter untuk objek ini belum ada") lblketform = "Nilai FRs untuk penilaian objek ini belum ada" Exit Sub L-89

Private Sub xc1_click() With rsfrs.open "select * from tbtfn where LKriteria='" & xc1 & "'", Conn If Not.EOF Then C1a =!LTFNa C1b =!LTFNb C1c =!LTFNc vs1 =!Simbol Private Sub xc2_click() With rsfrs.open "select * from tbtfn where LKriteria='" & xc2 & "'", Conn If Not.EOF Then C2a =!LTFNa C2b =!LTFNb C2c =!LTFNc vs2 =!Simbol Private Sub xc3_click() With rsfrs.open "select * from tbtfn where LKriteria='" & xc3 & "'", Conn If Not.EOF Then C3a =!LTFNa C3b =!LTFNb C3c =!LTFNc vs3 =!Simbol Private Sub xc4_click() With rsfrs.open "select * from tbtfn where LKriteria='" & xc4 & "'", Conn If Not.EOF Then C4a =!LTFNa C4b =!LTFNb C4c =!LTFNc vs4 =!Simbol Private Sub xc5_click() With rsfrs.open "select * from tbtfn where LKriteria='" & xc5 & "'", Conn If Not.EOF Then C5a =!LTFNa C5b =!LTFNb L-90

C5c =!LTFNc vs5 =!Simbol Private Sub xc6_click() With rsfrs.open "select * from tbtfn where LKriteria='" & xc6 & "'", Conn If Not.EOF Then C6a =!LTFNa C6b =!LTFNb C6c =!LTFNc vs6 =!Simbol Private Sub xc7_click() With rsfrs.open "select * from tbtfn where LKriteria='" & xc7 & "'", Conn If Not.EOF Then C7a =!LTFNa C7b =!LTFNb C7c =!LTFNc vs7 =!Simbol Private Sub xc8_click() With rsfrs.open "select * from tbtfn where LKriteria='" & xc8 & "'", Conn If Not.EOF Then C8a =!LTFNa C8b =!LTFNb C8c =!LTFNc vs8 =!Simbol Private Sub xc9_click() With rsfrs.open "select * from tbtfn where LKriteria='" & xc9 & "'", Conn If Not.EOF Then C9a =!LTFNa C9b =!LTFNb C9c =!LTFNc vs9 =!Simbol L-91

Private Sub xc10_click() With rsfrs.open "select * from tbtfn where LKriteria='" & xc10 & "'", Conn If Not.EOF Then C10a =!LTFNa C10b =!LTFNb C10c =!LTFNc vs10 =!Simbol Private Sub TampilkanData() With rsfrs If Not.EOF Then vdms =!DMs xc1 =!C1 xc2 =!C2 xc3 =!C3 xc4 =!C4 xc5 =!C5 xc6 =!C6 xc7 =!C7 xc8 =!C8 xc9 =!C9 xc10 =!C10 cmdhapus.enabled = True Private Sub cmdinput_click() If vidx_ob.caption = "" Then MsgBox ("Silahkan tentukan objek dari parameter") Exit Sub If CmdInput.Caption = "&Input" Then CmdInput.Caption = "&Simpan" cmdedit.enabled = False cmdhapus.enabled = False CmdTutup.Caption = "&Batal" Call AutoNumber vdms.setfocus If vdms = "" Or xc1 = "" Or xc2 = "" Or xc3 = "" Then MsgBox "Data Belum Lengkap...!" Dim SQLTambah As String SQLTambah = "Insert Into tbfrs (KP,Idx_ob,DMs,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C1a,C1b,C1c,C2a,C2b,C2c,C3a,C3b,C3c,C4a,C4b,C4c,C5a,C5b,C5c,C6a,C6b,C6c,C7a,C7b,C7c, C8a,C8b,C8c,C9a,C9b,C9c,C10a,C10b,C10c) values ('" & vkp & "','" & vidx_ob & "','" & vdms & "','" & vs1 & "','" & vs2 & "','" & vs3 & "','" & vs4 & "','" & vs5 & "','" & vs6 & "','" & vs7 & "','" & vs8 & "','" & vs9 & "','" & vs10 & "','" & C1a & "','" & C1b & "','" & C1c & "','" & C2a & "','" & C2b & "','" & C2c & "','" & C3a & "','" & C3b & "','" & C3c & "','" & C4a & "','" & C4b & "','" & C4c & "','" & Val(C5a) & "','" & Val(C5b) & "','" & L-92

Val(C5c) & "','" & Val(C6a) & "','" & Val(C6b) & "','" & Val(C6c) & "','" & Val(C7a) & "','" & Val(C7b) & "','" & Val(C7c) & "','" & Val(C8a) & "','" & Val(C8b) & "','" & Val(C8c) & "','" & Val(C9a) & "','" & Val(C9b) & "','" & Val(C9c) & "','" & Val(C10a) & "','" & Val(C10b) & "','" & Val(C10c) & "')" Conn.Execute SQLTambah Form_Activate Private Sub CmdEdit_Click() If vidx_ob.caption = "" Then MsgBox ("Silahkan tentukan objek dari parameter") Exit Sub If cmdedit.caption = "&Edit" Then CmdInput.Enabled = False cmdedit.caption = "&Simpan" cmdhapus.enabled = False CmdTutup.Caption = "&Batal" If vkp = "" Then MsgBox "Masih Ada Data Yang Kosong" Dim SQLEdit As String SQLEdit = "Update tbfrs Set DMs='" & vdms & "',C1='" & vs1 & "',C2='" & vs2 & "',C3='" & vs3 & "',C4='" & vs4 & "',C5='" & vs5 & "',C6='" & vs6 & "',C7='" & vs7 & "',C8='" & vs8 & "',C9='" & vs9 & "',C10='" & vs10 & "',C1a ='" & C1a & "',C1b ='" & C1b & "',C1c ='" & C1c & "',C2a ='" & C2a & "',C2b ='" & C2b & "',C2c ='" & C2c & "',C3a ='" & C3a & "',C3b ='" & C3b & "',C3c ='" & C3c & "',C4a ='" & C4a & "',C4b ='" & C4b & "',C4c ='" & C4c & "',C5a ='" & C5a & "',C5b ='" & C5b & "',C5c ='" & C5c & "',C6a ='" & C6a & "',C6b ='" & C6b & "',C6c ='" & C6c & "',C7a ='" & C7a & "',C7b ='" & C7b & "',C7c ='" & C7c & "',C8a ='" & C8a & "',C8b ='" & C8b & "',C8c ='" & C8c & "',C9a ='" & C9a & "',C9b ='" & C9b & "',C9c ='" & C9c & "',C10a ='" & C10a & "',C10b ='" & C10b & "',C10c ='" & C10c & "' where KP='" & vkp & "'" Conn.Execute SQLEdit vkp.enabled = True Call T_KP Private Sub cmdhapus_click() If cmdhapus.caption = "&Hapus" Then CmdInput.Enabled = False cmdedit.enabled = False CmdTutup.Caption = "&Batal" Call CariData If Not rsfrs.eof Then TampilkanData Pesan = MsgBox("Yakin akan dihapus", vbyesno) If Pesan = vbyes Then L-93

Dim SQLHapus As String SQLHapus = "Delete From tbfrs where DMs= '" & vdms & "'" Conn.Execute SQLHapus MsgBox "Data Tidak ditemukan" Sub K1() rstfn.open "select * from tbtfn where Simbol='" & vs1 & "'", Conn If Not rstfn.eof Then xc1 = rstfn!lkriteria xc1_click Sub K2() rstfn.open "select * from tbtfn where Simbol='" & vs2 & "'", Conn If Not rstfn.eof Then xc2 = rstfn!lkriteria xc2_click Sub K3() rstfn.open "select * from tbtfn where Simbol='" & vs3 & "'", Conn If Not rstfn.eof Then xc3 = rstfn!lkriteria xc3_click Sub K4() rstfn.open "select * from tbtfn where Simbol='" & vs4 & "'", Conn If Not rstfn.eof Then xc4 = rstfn!lkriteria xc4_click Sub K5() rstfn.open "select * from tbtfn where Simbol='" & vs5 & "'", Conn If Not rstfn.eof Then xc5 = rstfn!lkriteria xc5_click Sub K6() rstfn.open "select * from tbtfn where Simbol='" & vs6 & "'", Conn If Not rstfn.eof Then xc6 = rstfn!lkriteria xc6_click L-94

Sub K7() rstfn.open "select * from tbtfn where Simbol='" & vs7 & "'", Conn If Not rstfn.eof Then xc7 = rstfn!lkriteria xc7_click Sub K8() rstfn.open "select * from tbtfn where Simbol='" & vs8 & "'", Conn If Not rstfn.eof Then xc8 = rstfn!lkriteria xc8_click Sub K9() rstfn.open "select * from tbtfn where Simbol='" & vs9 & "'", Conn If Not rstfn.eof Then xc9 = rstfn!lkriteria xc9_click Sub K10() rstfn.open "select * from tbtfn where Simbol='" & vs10 & "'", Conn If Not rstfn.eof Then xc10 = rstfn!lkriteria xc10_click Sub Hitung_FR() On Error Resume Next rsfrs.open "Select count(idx_ob) as BYK from tbfrs where Idx_ob='" & Br = rsfrs!byk rsfrs.open "Select sum(c1a) as JL from tbfrs where Idx_ob='" & FR1a = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c1b) as JL from tbfrs where Idx_ob='" & FR1b = Round(rsFRs!JL / Br, 3) L-95

rsfrs.open "Select sum(c1c) as JL from tbfrs where Idx_ob='" & FR1c = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c2a) as JL from tbfrs where Idx_ob='" & FR2a = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c2b) as JL from tbfrs where Idx_ob='" & FR2b = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c2c) as JL from tbfrs where Idx_ob='" & FR2c = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c3a) as JL from tbfrs where Idx_ob='" & FR3a = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c3b) as JL from tbfrs where Idx_ob='" & FR3b = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c3c) as JL from tbfrs where Idx_ob='" & FR3c = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c4a) as JL from tbfrs where Idx_ob='" & FR4a = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c4b) as JL from tbfrs where Idx_ob='" & FR4b = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c4c) as JL from tbfrs where Idx_ob='" & FR4c = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c5a) as JL from tbfrs where Idx_ob='" & FR5a = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c5b) as JL from tbfrs where Idx_ob='" & FR5b = Round(rsFRs!JL / Br, 3) L-96

rsfrs.open "Select sum(c5c) as JL from tbfrs where Idx_ob='" & FR5c = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c6a) as JL from tbfrs where Idx_ob='" & FR6a = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c6b) as JL from tbfrs where Idx_ob='" & FR6b = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c6c) as JL from tbfrs where Idx_ob='" & FR6c = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c7a) as JL from tbfrs where Idx_ob='" & FR7a = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c7b) as JL from tbfrs where Idx_ob='" & FR7b = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c7c) as JL from tbfrs where Idx_ob='" & FR7c = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c8a) as JL from tbfrs where Idx_ob='" & FR8a = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c8b) as JL from tbfrs where Idx_ob='" & FR8b = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c8c) as JL from tbfrs where Idx_ob='" & FR8c = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c9a) as JL from tbfrs where Idx_ob='" & FR9a = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c9b) as JL from tbfrs where Idx_ob='" & FR9b = Round(rsFRs!JL / Br, 3) L-97

rsfrs.open "Select sum(c9c) as JL from tbfrs where Idx_ob='" & FR9c = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c10a) as JL from tbfrs where Idx_ob='" & FR10a = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c10b) as JL from tbfrs where Idx_ob='" & FR10b = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c10c) as JL from tbfrs where Idx_ob='" & FR10c = Round(rsFRs!JL / Br, 3) Sub C_Objek() RsObjek.Open "SELECT * FROM tbobjek where Idx_ob='" & vidx_ob & "'", Conn If Not RsObjek.EOF Then vobjek = RsObjek!Objek Call vobjek_click Sub AutoNumber() rsfrs.open "select * from tbfrs Where KP In(Select Max(KP)From tbfrs WHERE left(kp,3)='d10')order By KP Desc", Conn rsfrs.requery Dim Urutan As String * 5 Dim Hitung As Byte With rsfrs If.EOF Then Urutan = "D10" + "01" Hitung = Right(!KP, 2) + 1 Urutan = "D10" + Right("0" & Hitung, 2) vkp = Urutan vdms.setfocus Sub T_KP() vkp.clear rsfrs.open "Select Distinct KP From tbfrs where left(kp,3)='d10'", Conn Do While Not rsfrs.eof vkp.additem rsfrs!kp rsfrs.movenext Loop L-98

5. Entry Alternatif Penilaian Private Sub vobjek_click() RsObjek.Open "SELECT * FROM tbobjek where objek='" & vobjek & "'", Conn If Not RsObjek.EOF Then vtentang = RsObjek!Tentang vidx_ob = RsObjek!Idx_Ob Function CariData() RsAlternatif.Open "Select * From tbalternatif where Idx_a='" & vidx_a & "'", Conn End Function Private Sub cmdsimpan_click() Dim SQLTambah As String If vidx_ob.caption = "" Then MsgBox ("Pilih jenis objek penilaian") Exit Sub If CmdSimpan.Caption = "&Simpan" Then If vidx_ob = "" Or valternatif = "" Then MsgBox "Data Belum Lengkap...!" Call CariData If RsAlternatif.EOF Then SQLTambah = "Insert Into tbalternatif values ('" & vidx_a & "','" & vidx_ob & "','" & valternatif & "','" & vket & "')" Conn.Execute SQLTambah Dim SQLEdit As String SQLEdit = "Update tbalternatif set Idx_ob='" & vidx_ob & "',Alternatif='" & valternatif & "',Ket='" & vket & "' where Idx_a='" & vidx_a & "'" Conn.Execute SQLEdit If CmdSimpan.Caption = "&New" Then Call AutoNumber valternatif.setfocus CmdSimpan.Caption = "&Simpan" CmdTutup.Caption = "&Batal" If CmdSimpan.Caption = "&Edit" Then Call CmdSimpan.Caption = "&Simpan" Private Sub cmdhapus_click() If cmdhapus.caption = "&Hapus" Then CmdSimpan.Enabled = False CmdTutup.Caption = "&Batal" Call CariData L-99

If Not RsAlternatif.EOF Then Pesan = MsgBox("Yakin akan dihapus", vbyesno) If Pesan = vbyes Then Dim SQLHapus As String SQLHapus = "Delete From tbalternatif where Idx_a= '" & vidx_a & "'" Conn.Execute SQLHapus MsgBox "Data Tidak ditemukan" Sub Tampil_LV() Dim X RsAlternatif.Open "Select * from tbalternatif where Idx_ob='" & LV.ListItems.Clear While Not RsAlternatif.EOF Set X = LV.ListItems.Add(,, RsAlternatif!Idx_A) X.SubItems(1) = RsAlternatif!Alternatif X.SubItems(2) = RsAlternatif!Ket RsAlternatif.MoveNext Wend vidx_a.clear RsAlternatif.Open "SELECT idx_a FROM tbalternatif where left(idx_a,3)='a05' order by idx_a Asc", Conn Do While Not RsAlternatif.EOF vidx_a.additem RsAlternatif!Idx_A RsAlternatif.MoveNext Loop Sub AutoNumber() RsAlternatif.Open "select * from tbalternatif Where IDX_A In(Select Max(IDX_A)From tbalternatif WHERE mid(idx_a,2,2)='" & Mid(vIdx_Ob, 2, 2) & "') Order By IDX_A Desc", Conn RsAlternatif.Requery Dim Urutan As String * 5 Dim Hitung As Byte With RsAlternatif If.EOF Then Urutan = "A" + Mid(vIdx_Ob, 2, 2) + "01" Hitung = Right(!Idx_A, 2) + 1 Urutan = "A" + Mid(vIdx_Ob, 2, 2) + Right("0" & Hitung, 2) vidx_a = Urutan valternatif.setfocus L-100

6. Input Pendapat Para Penilai Dim C1a, C1b, C1c As String Dim C2a, C2b, C2c As String Dim C3a, C3b, C3c As String Dim C4a, C4b, C4c As String Dim C5a, C5b, C5c As String Dim C6a, C6b, C6c As String Dim C7a, C7b, C7c As String Dim C8a, C8b, C8c As String Dim C9a, C9b, C9c As String Dim C10a, C10b, C10c As String Dim S1, S2, S3, S4, S5, S6, S7, S8, S9, S10 As String Dim xkd As String Dim vno As Byte Dim By Sub T_Objek() RsObjek.Open "SELECT Objek FROM tbobjek where left(idx_ob,3)='" & Left(vIdx_Ob.Caption, 3) & "' order by Objek Asc", Conn Do While Not RsObjek.EOF vobjek.additem RsObjek!Objek RsObjek.MoveNext Loop Private Sub vidx_a_change() RsAlternatif.Open "Select * from tbalternatif where Idx_A='" & vidx_a & "'", Conn If Not RsAlternatif.EOF Then valternatif = RsAlternatif!Alternatif Private Sub vidx_a_click() vidx_a_change Private Sub vobjek_click() RsObjek.Open "SELECT * FROM tbobjek where objek='" & vobjek & "'", Conn If Not RsObjek.EOF Then vidx_ob = RsObjek!Idx_Ob vtentang = RsObjek!Tentang RsParameter.Open "SELECT * FROM tbparameter where Idx_ob='" & If Not RsParameter.EOF Then vc1 = RsParameter!C1 vc2 = RsParameter!C2 vc3 = RsParameter!C3 vc4 = RsParameter!C4 vc5 = RsParameter!C5 vc6 = RsParameter!C6 vc7 = RsParameter!C7 vc8 = RsParameter!C8 vc9 = RsParameter!C9 vc10 = RsParameter!C10 L-101

Call Tampil_LV Call Tampil_DM Call TKriteria LV.ListItems.Clear Sub TKriteria() With rstfn.open "SELECT Distinct Kriteria FROM tbtfn where Idx_ob='" & Do While Not.EOF xc1.additem!kriteria xc2.additem!kriteria xc3.additem!kriteria xc4.additem!kriteria xc5.additem!kriteria xc6.additem!kriteria xc7.additem!kriteria xc8.additem!kriteria xc9.additem!kriteria xc10.additem!kriteria.movenext Loop Sub Tampil_LV() Dim X With RsAlternatif.Open "Select * from tbalternatif where Idx_ob='" & vidx_ob & "'", Conn LV.ListItems.Clear While Not.EOF Set X = LV.ListItems.Add(,,.Fields!Idx_A) X.SubItems(1) =.Fields!Alternatif X.SubItems(2) =.Fields!Ket.MoveNext Wend Sub Tampil_DM() rsfrs.open "SELECT DMs FROM tbfrs where Idx_ob='" & vidx_ob & "' order by DMs Asc", Conn Do While Not rsfrs.eof vdms.additem rsfrs!dms rsfrs.movenext Loop Private Sub Form_Activate() DT.ConnectionString = Conn DT.RecordSource = "select * from tbtemp Order By Nomor Asc" L-102

DT.Refresh Set DTGrid.DataSource = DT DTGrid.Refresh cmdedit.enabled = True cmdedit.caption = "&Edit" Function Cari() rstemp.open "Select * from tbtemp where Idx_A='" & vidx_a & "'", Conn End Function Private Sub cbnama_click() With rstemp.open "Select * from tbtemp Where Idx_A='" & vidx_a & "'", Conn If Not.EOF Then vno =!Nomor vnama =!Idx_A cmddel.caption = "&Del" cmdinsert.enabled = True cmdinsert.caption = "&Batal" Private Sub cmddel_click() If cmddel.caption = "&Batal" Then cmdedit.caption = "&Edit" cmdinsert.caption = "&Insert" cmdinsert.enabled = False cmddel.enabled = False If cmddel.caption = "&Del" Then With rstemp Pesan = MsgBox("Yakin akan dihapus", vbyesno) If Pesan = vbyes Then Dim SQLHapus As String SQLHapus = "Delete From tbtemp where Idx_A='" & vidx_a & "'" Conn.Execute SQLHapus Call Form_Activate vidx_a.clear DT.Refresh DT.Recordset.Requery DTGrid.Refresh Conn.Close Exit Sub Private Sub CmdEdit_Click() If cmdedit.caption = "&Edit" Then cmdedit.caption = "&Save" cmdinsert.caption = "&Batal" L-103

cmdinsert.enabled = True cmddel.enabled = True vidx_a.enabled = True vidx_a.clear rstemp.open "Select Distinct Idx_A From tbtemp", Conn Do While Not rstemp.eof vidx_a.additem rstemp!idx_a rstemp.movenext Loop If cmdedit.caption = "&Save" Then If vidx_a = "" Or vdms = "" Then MsgBox ("Masih ada data yang kosong...") Exit Sub rstemp.open "Select * from tbtemp Where Idx_A='" & vidx_a & "' order by nomor", Conn Pesan = MsgBox("Yakin melakukan perubahan data..?", vbyesno) If Not rstemp.eof And Pesan = vbyes Then DT.Recordset.Update DT.Recordset!Nomor = vno DT.Recordset!Idx_A = vnama DT.Recordset!Idx_A = vidx_a DT.Recordset!C1 = S1 DT.Recordset!C2 = S2 DT.Recordset!C3 = S3 DT.Recordset!C4 = S4 DT.Recordset!C5 = S5 DT.Recordset!C6 = S6 DT.Recordset!C7 = S7 DT.Recordset!C8 = S8 DT.Recordset!C9 = S9 DT.Recordset!C10 = S10 DT.Recordset!C1a = C1a DT.Recordset!C1b = C1b DT.Recordset!C1c = C1c DT.Recordset!C2a = C2a DT.Recordset!C2b = C2b DT.Recordset!C2c = C2c DT.Recordset!C3a = C3a DT.Recordset!C3b = C3b DT.Recordset!C3c = C3c DT.Recordset!C4a = C4a DT.Recordset!C4b = C4b DT.Recordset!C4c = C4c DT.Recordset!C5a = C5a DT.Recordset!C5b = C5b DT.Recordset!C5c = C5c DT.Recordset!C6a = C6a DT.Recordset!C6b = C6b DT.Recordset!C6c = C6c DT.Recordset!C7a = C7a DT.Recordset!C7b = C7b DT.Recordset!C7c = C7c L-104

DT.Recordset!C8a = C8a DT.Recordset!C8b = C8b DT.Recordset!C8c = C8c DT.Recordset!C9a = C9a DT.Recordset!C9b = C9b DT.Recordset!C9c = C9c DT.Recordset!C10a = C10a DT.Recordset!C10b = C10b DT.Recordset!C10c = C10c DT.Recordset.Update Call Form_Activate DT.Refresh DT.Recordset.Requery DTGrid.Refresh Conn.Close cmdedit.caption = "&Edit" Private Sub cmdsave_click() If vidx_ob = "" Or vdms = "" Then MsgBox ("Data masih ada yang kosong") Exit Sub Dim SqlT, SqlDetail As String SqlT = "Insert Into tbdms(kode,tanggal,idx_ob,dms,ket) values('" & xkd & "','" & Format(Date, "dd/mm/yyyy") & "','" & vidx_ob & "','" & vdms & "','" & vket & "')" Conn.Execute (SqlT) With DT.Recordset.MoveFirst Do While Not.EOF If!Nomor <> vbnullstring Then SqlDetail = "Insert Into tbdmsdetail (Kode,Idx_A,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C1a,C1b,C1c,C2a,C2b,C2 c,c3a,c3b,c3c,c4a,c4b,c4c,c5a,c5b,c5c,c6a,c6b,c6c,c7a,c7b,c7c,c8a,c8b,c8c,c9a,c9b,c9c,c10a,c10b,c10c) values ('" & xkd &!Nomor & "','" &!Idx_A & "','" &!C1 & "','" &!C2 & "','" &!C3 & "','" &!C4 & "','" &!C5 & "','" &!C6 & "','" &!C7 & "','" &!C8 & "','" &!C9 & "','" &!C10 & "','" &!C1a & "','" &!C1b & "','" &!C1c & "','" &!C2a & "','" &!C2b & "','" &!C2c & "','" &!C3a & "','" &!C3b & "','" &!C3c & "','" &!C4a & "','" &!C4b & "','" &!C4c & "','" &!C5a & "','" &!C5b & "','" &!C5c & "','" &!C6a & "','" &!C6b & "','" &!C6c & "','" &!C7a & "','" &!C7b & "','" &!C7c & "','" &!C8a & "','" &!C8b & "','" &!C8c & "','" &!C9a & "','" &!C9b & "','" &!C9c & "','" &!C10a & "','" &!C10b & "','" &!C10c & "')" Conn.Execute (SqlDetail) DT.Recordset.MoveNext Loop Private Sub AUTONOMOR() Dim Urutan As Byte L-105

Dim Hitung As Byte With rstemp.open ("select * from tbtemp Where Nomor In(Select Max(Nomor)From tbtemp)order By Nomor Desc"), Conn.Requery If.EOF Then Urutan = 1 Urutan =!Nomor + 1 vno = Urutan If xkd = "" Then vdms_click Private Sub xc1_click() With rstfn.open "select * from tbtfn where Kriteria='" & xc1 & "'", Conn If Not.EOF Then C1a =!TFNa C1b =!TFNb C1c =!TFNc S1 =!Simbol Private Sub xc2_click() With rstfn.open "select * from tbtfn where Kriteria='" & xc2 & "'", Conn If Not.EOF Then C2a =!TFNa C2b =!TFNb C2c =!TFNc S2 =!Simbol Private Sub xc3_click() With rstfn.open "select * from tbtfn where Kriteria='" & xc3 & "'", Conn If Not.EOF Then C3a =!TFNa C3b =!TFNb C3c =!TFNc S3 =!Simbol Private Sub xc4_click() With rstfn.open "select * from tbtfn where Kriteria='" & xc4 & "'", Conn L-106

If Not.EOF Then C4a =!TFNa C4b =!TFNb C4c =!TFNc S4 =!Simbol Private Sub xc5_click() With rstfn.open "select * from tbtfn where Kriteria='" & xc5 & "'", Conn If Not.EOF Then C5a =!TFNa C5b =!TFNb C5c =!TFNc S5 =!Simbol Private Sub xc6_click() With rstfn.open "select * from tbtfn where Kriteria='" & xc6 & "'", Conn If Not.EOF Then C6a =!TFNa C6b =!TFNb C6c =!TFNc S6 =!Simbol Private Sub xc7_click() With rstfn.open "select * from tbtfn where Kriteria='" & xc7 & "'", Conn If Not.EOF Then C7a =!TFNa C7b =!TFNb C7c =!TFNc S7 =!Simbol Private Sub xc8_click() With rstfn.open "select * from tbtfn where Kriteria='" & xc8 & "'", Conn If Not.EOF Then C8a =!TFNa C8b =!TFNb C8c =!TFNc S8 =!Simbol L-107

Private Sub xc9_click() With rstfn.open "select * from tbtfn where Kriteria='" & xc9 & "'", Conn If Not.EOF Then C9a =!TFNa C9b =!TFNb C9c =!TFNc S9 =!Simbol Private Sub xc10_click() With rstfn.open "select * from tbtfn where Kriteria='" & xc10 & "'", Conn If Not.EOF Then C10a =!TFNa C10b =!TFNb C10c =!TFNc S10 =!Simbol Sub Nomor() Dim Urutan As String * 9 Dim Hitung As Long Dim Tgl As Variant Tgl = Format(Date, "yymmdd") With rsdms.open "select * from tbdms Where Kode In(Select Max(Kode)From tbdms)order By Kode Desc", Conn.Requery If.EOF Then Urutan = Tgl + "001" Hitung = (!Kode) + 1 Urutan = Tgl + Right("000" & Hitung, 3) xkd = Urutan vdms.enabled = False 7. Hasil Penilaian Dim rc1a, C1b, rc1c, rc2a, rc2b, rc2c, rc3a, rc3b, rc3c, rc4a, rc4b, rc4c, rc5a, rc5b, rc5c, rc6a, rc6b, rc6c, rc7a, rc7b, rc7c, rc8a, rc8b, rc8c, rc9arc9b, rc9c, rc10a, rc10b, rc10c Dim fc1a, fc1b, fc1c, fc2a, fc2b, fc2c, fc3a, fc3b, fc3c, fc4a, fc4b, fc4c, fc5a, fc5b, fc5c, fc6a, fc6b, fc6c, fc7a, fc7b, fc7c, fc8a, fc8b, fc8c, fc9afc9b, fc9c, fc10a, fc10b, fc10c Sub T_Objek() L-108

vobjek.clear RsObjek.Open "select Distinct Objek from tbobjek,tbdms where tbdms.idx_ob=tbobjek.idx_ob", Conn Do While Not RsObjek.EOF vobjek.additem RsObjek!Objek RsObjek.MoveNext Loop Private Sub cmdeliminasi_click() CR.Reset CR.SelectionFormula = "Totext({tbHasilakhir.Idx_Ob})='" & vidx_ob & "' and Totext({tbHasilakhir.Ket})='Eliminasi'" CR.ReportFileName = App.Path & "\File\LapEliminasi.rpt" CR.WindowState = crptmaximized CR.DiscardSavedData = True CR.RetrieveDataFiles CR.Action = 1 Private Sub cmdhasil_click() LvHasil.ListItems.Clear With RsHasil Z = 0.Open "Select * from tbhasilakhir where Ket <> 'Eliminasi' and Idx_ob='" & vidx_ob & "' order by ICT", Conn While Not.EOF Set X = LvHasil.ListItems.Add(,,.Fields!Idx_Ob) X.SubItems(1) =!Alternatif RsAlternatif.Open "select Idx_a from tbalternatif where Alternatif='" &.Fields!Alternatif & "'", Conn If Not RsAlternatif.EOF Then X.SubItems(2) = RsAlternatif!Idx_A X.SubItems(3) =.Fields!ICt X.SubItems(4) =.Fields!Ket.MoveNext Wend Private Sub vidx_ob_change() Call T_List RsObjek.Open "select * from tbobjek where Idx_ob='" & vidx_ob & "'", Conn If Not RsObjek.EOF Then vtentang = RsObjek!Tentang vobjek = RsObjek!Objek Call Hitung_FRs Sub Klik_Combo() RsObjek.Open "select * from tbobjek where Objek='" & vobjek & "'", Conn L-109

If Not RsObjek.EOF Then vtentang = RsObjek!Tentang vidx_ob = RsObjek!Idx_Ob rsfrs.open "Select * from tbdms where Idx_Ob='" & vidx_ob & " '", Conn If Not rsfrs.eof Then vkode = rsfrs!kode vtgl = rsfrs!tanggal Call Tampil_H5a Private Sub cmdtutup_click() Unload Me Sub T_List() List1.Clear rsdms.open "Select Distinct Dms from tbdms where Idx_Ob='" & vidx_ob & "' order by Dms asc", Conn Do Until rsdms.eof List1.AddItem rsdms!dms rsdms.movenext Loop Private Sub list1_click() Conn.CursorLocation = aduseclient rsdms.open "select * from tbdms where Dms='" & List1.Text & "' and Idx_Ob='" & rsdms.requery If Not rsdms.eof Then vtgl = " " & rsdms!tanggal vkode = rsdms!kode Call Tampil_Detail Sub Tampil_H5a() On Error Resume Next Dim Br As Byte Lv_H5a.ListItems.Clear With rsfrs.open "Select * from tbdmsdetail where left(kode,9)='" & vkode & "' order by Idx_a", Conn While Not.EOF Set X = Lv_H5a.ListItems.Add(,,.Fields!Idx_A) RsAlternatif.Open "Select Alternatif from tbalternatif,tbobjek where tbobjek.idx_ob=tbalternatif.idx_ob and Idx_A ='" &.Fields!Idx_A & "'order by Idx_a", Conn If Not RsAlternatif.EOF Then X.SubItems(1) = RsAlternatif.Fields!Alternatif L-110

rsdms.open "Select count(idx_a) as BYK from tbdmsdetail where Idx_A='" &.Fields!Idx_A & "'", Conn Br = rsdms!byk RsCS.Open "Select sum(c1a) as sc1a,sum(c1b) as sc1b,sum(c1c) as sc1c,sum(c2a) as sc2a,sum(c2b) as sc2b,sum(c2c) as sc2c,sum(c3a) as sc3a,sum(c3b) as sc3b,sum(c3c) as sc3c,sum(c4a) as sc4a,sum(c4b) as sc4b,sum(c4c) as sc4c,sum(c5a) as sc5a,sum(c5b) as sc5b,sum(c5c) as sc5c,sum(c6a) as sc6a,sum(c6b) as sc6b,sum(c6c) as sc6c,sum(c7a) as sc7a,sum(c7b) as sc7b,sum(c7c) as sc7c,sum(c8a) as sc8a,sum(c8b) as sc8b,sum(c8c) as sc8c,sum(c9a) as sc9a,sum(c9b) as sc9b,sum(c9c) as sc9c,sum(c10a) as sc10a,sum(c10b) as sc10b,sum(c10c) as sc10c from tbdmsdetail where Idx_A='" &.Fields!Idx_A & "'", Conn rc1a = Round(RsCS!sC1a / Br, 3) rc1b = Round(RsCS!sC1b / Br, 3) rc1c = Round(RsCS!sC1c / Br, 3) rc2a = Round(RsCS!sC2a / Br, 3) rc2b = Round(RsCS!sC2b / Br, 3) rc2c = Round(RsCS!sC2c / Br, 3) rc3a = Round(RsCS!sC3a / Br, 3) rc3b = Round(RsCS!sC3b / Br, 3) rc3c = Round(RsCS!sC3c / Br, 3) rc4a = Round(RsCS!sC4a / Br, 3) rc4b = Round(RsCS!sC4b / Br, 3) rc4c = Round(RsCS!sC4c / Br, 3) rc5a = Round(RsCS!sC5a / Br, 3) rc5b = Round(RsCS!sC5b / Br, 3) rc5c = Round(RsCS!sC5c / Br, 3) rc6a = Round(RsCS!sC6a / Br, 3) rc6b = Round(RsCS!sC6b / Br, 3) rc6c = Round(RsCS!sC6c / Br, 3) rc7a = Round(RsCS!sC7a / Br, 3) rc7b = Round(RsCS!sC7b / Br, 3) rc7c = Round(RsCS!sC7c / Br, 3) rc8a = Round(RsCS!sC8a / Br, 3) rc8b = Round(RsCS!sC8b / Br, 3) rc8c = Round(RsCS!sC8c / Br, 3) rc9a = Round(RsCS!sC9a / Br, 3) rc9b = Round(RsCS!sC9b / Br, 3) rc9c = Round(RsCS!sC9c / Br, 3) rc10a = Round(RsCS!sC10a / Br, 3) rc10b = Round(RsCS!sC10b / Br, 3) rc10c = Round(RsCS!sC10c / Br, 3) Wend Tampil_H5b Sub Tampil_H5b() On Error Resume Next Dim rstemp As New ADODB.Recordset Dim Br, N As Byte Lv_H5b.ListItems.Clear N = 0 With rsfrs L-111

.Open "Select * from tbdmsdetail where left(kode,9)='" & vkode & "'", Conn While Not.EOF Set X = Lv_H5b.ListItems.Add(,,.Fields!Idx_A) RsAlternatif.Open "Select Alternatif from tbalternatif,tbobjek where tbobjek.idx_ob=tbalternatif.idx_ob and Idx_A ='" &.Fields!Idx_A & "' order by Alternatif", Conn If Not RsAlternatif.EOF Then X.SubItems(1) = RsAlternatif.Fields!Alternatif rsdms.open "Select count(idx_a) as BYK from tbdmsdetail where Idx_A='" &.Fields!Idx_A & "'", Conn Br = rsdms!byk RsCS.Open "Select sum(c1a) as sc1a,sum(c1b) as sc1b,sum(c1c) as sc1c," & _ "sum(c2a) as sc2a,sum(c2b) as sc2b,sum(c2c) as sc2c,sum(c3a) as sc3a,sum(c3b) as sc3b,sum(c3c) as sc3c," & _ "sum(c4a) as sc4a,sum(c4b) as sc4b,sum(c4c) as sc4c,sum(c5a) as sc5a,sum(c5b) as sc5b,sum(c5c) as sc5c," & _ "sum(c6a) as sc6a,sum(c6b) as sc6b,sum(c6c) as sc6c,sum(c7a) as sc7a,sum(c7b) as sc7b,sum(c7c) as sc7c," & _ "sum(c8a) as sc8a,sum(c8b) as sc8b,sum(c8c) as sc8c,sum(c9a) as sc9a,sum(c9b) as sc9b,sum(c9c) as sc9c," & _ "sum(c10a) as sc10a,sum(c10b) as sc10b,sum(c10c) as sc10c from tbdmsdetail where Idx_A='" &.Fields!Idx_A & "'", Conn rc1a = RsCS!sC1a / Br rc1b = RsCS!sC1b / Br rc1c = RsCS!sC1c / Br rc2a = RsCS!sC2a / Br rc2b = RsCS!sC2b / Br rc2c = RsCS!sC2c / Br rc3a = RsCS!sC3a / Br rc3b = RsCS!sC3b / Br rc3c = RsCS!sC3c / Br rc4a = RsCS!sC4a / Br rc4b = RsCS!sC4b / Br rc4c = RsCS!sC4c / Br rc5a = RsCS!sC5a / Br rc5b = RsCS!sC5b / Br rc5c = RsCS!sC5c / Br rc6a = RsCS!sC6a / Br rc6b = RsCS!sC6b / Br rc6c = RsCS!sC6c / Br rc7a = RsCS!sC7a / Br rc7b = RsCS!sC7b / Br rc7c = RsCS!sC7c / Br rc8a = RsCS!sC8a / Br rc8b = RsCS!sC8b / Br rc8c = RsCS!sC8c / Br rc9a = RsCS!sC9a / Br rc9b = RsCS!sC9b / Br rc9c = RsCS!sC9c / Br rc10a = RsCS!sC10a / Br L-112

rc10b = RsCS!sC10b / Br rc10c = RsCS!sC10c / Br Dim C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, ICt As Double Dim IC1, IC2, IC3, IC4, IC5, IC6, IC7, IC8, IC9, IC10 As Double Dim AC1, AC2, AC3, AC4, AC5, AC6, AC7, AC8, AC9, AC10 As Double Dim SA1, SA2, SA3, SA4, SA5, SA6, SA7, SA8, SA9, SA10 As Double Dim sca1, ssa1 If FR1a < rc1a Then sca1 = rc1c - rc1a ssa1 = rc1c - rc1a If FR1a > rc1a And FR1a < rc1b Then sca1 = rc1c - FR1a ssa1 = rc1c - rc1a If FR1a > rc1b And FR1a < rc1c Then sca1 = rc1c - FR1a ssa1 = rc1c - rc1a If rc1c < FR1a Then sca1 = 0 ssa1 = 0 Dim Miu Miu = 0.5 CA1 = (sca1 / 2) * Miu SA1 = ssa1 / 2 If CA1 = 0 Then CI1 = "~" IC1 = Log(SA1 / CA1) / Log(2) CI1 = Round(IC1, 3) AC1 = CA1 X.SubItems(2) = Round(AC1, 3) X.SubItems(12) = Round(SA1, 3) X.SubItems(22) = CI1 X.SubItems(33) = Ket1 Dim sca2, ssa2 If FR2a < rc2a Then sca2 = rc2c - rc2a ssa2 = rc2c - rc2a If FR2a > rc2a And FR2a < rc2b Then sca2 = rc2c - FR2a ssa2 = rc2c - rc2a If FR2a > rc2b And FR2a < rc2c Then sca2 = rc2c - FR2a ssa2 = rc2c - rc2a If rc2c < FR2a Then sca2 = 0 ssa2 = 0 CA2 = (sca2 / 2) * Miu SA2 = ssa2 / 2 If CA2 = 0 Then CI2 = "~" IC2 = Log(SA2 / CA2) / Log(2) CI2 = Round(IC2, 3) AC2 = CA2 L-113

X.SubItems(3) = Round(AC2, 3) X.SubItems(13) = Round(SA2, 3) X.SubItems(23) = CI2 Dim sca3, ssa3 If FR3a < rc3a Then sca3 = rc3c - rc3a ssa3 = rc3c - rc3a If FR3a > rc3a And FR3a < rc3b Then sca3 = rc3c - FR3a ssa3 = rc3c - rc3a If FR3a > rc3b And FR3a < rc3c Then sca3 = rc3c - FR3a ssa3 = rc3c - rc3a If rc3c < FR3a Then sca3 = 0 ssa3 = 0 CA3 = (sca3 / 2) * Miu SA3 = ssa3 / 2 If CA3 = 0 Then CI3 = "~" IC3 = Log(SA3 / CA3) / Log(2) CI3 = Round(IC3, 3) AC3 = CA3 X.SubItems(4) = Round(AC3, 3) X.SubItems(14) = Round(SA3, 3) X.SubItems(24) = CI3 Dim sca4, ssa4 If FR4a < rc4a Then sca4 = rc4c - rc4a ssa4 = rc4c - rc4a If FR4a > rc4a And FR4a < rc4b Then sca4 = rc4c - FR4a ssa4 = rc4c - rc4a If FR4a > rc4b And FR4a < rc4c Then sca4 = rc4c - FR4a ssa4 = rc4c - rc4a If rc4c < FR4a Then sca4 = 0 ssa4 = 0 CA4 = (sca4 / 2) * Miu SA4 = ssa4 / 2 If CA4 = 0 Then CI4 = "~" IC4 = Log(SA4 / CA4) / Log(2) CI4 = Round(IC4, 3) AC4 = CA4 X.SubItems(5) = Round(AC4, 3) X.SubItems(15) = Round(SA4, 3) X.SubItems(25) = CI4 L-114

Dim sca5, ssa5 If FR5a < rc5a Then sca5 = rc5c - rc5a ssa5 = rc5c - rc5a If FR5a > rc5a And FR5a < rc5b Then sca5 = rc5c - FR5a ssa5 = rc5c - rc5a If FR5a > rc5b And FR5a < rc5c Then sca5 = rc5c - FR5a ssa5 = rc5c - rc5a If rc5c < FR5a Then sca5 = 0 ssa5 = 0 CA5 = (sca5 / 2) * Miu SA5 = ssa5 / 2 If CA5 = 0 Then CI5 = "~" IC5 = Log(SA5 / CA5) / Log(2) CI5 = Round(IC5, 3) AC5 = CA5 X.SubItems(6) = Round(AC5, 3) X.SubItems(16) = Round(SA5, 3) X.SubItems(26) = CI5 Dim sca6, ssa6 If FR6a < rc6a Then sca6 = rc6c - rc6a ssa6 = rc6c - rc6a If FR6a > rc6a And FR6a < rc6b Then sca6 = rc6c - FR6a ssa6 = rc6c - rc6a If FR6a > rc6b And FR6a < rc6c Then sca6 = rc6c - FR6a ssa6 = rc6c - rc6a If rc6c < FR6a Then sca6 = 0 ssa6 = 0 CA6 = (sca6 / 2) * Miu SA6 = ssa6 / 2 If CA6 = 0 Then CI6 = "~" IC6 = Log(SA6 / CA6) / Log(2) CI6 = Round(IC6, 3) AC6 = CA6 X.SubItems(7) = Round(AC6, 3) X.SubItems(17) = Round(SA6, 3) X.SubItems(27) = CI6 Dim sca7, ssa7 If FR7a < rc7a Then sca7 = rc7c - rc7a L-115

ssa7 = rc7c - rc7a If FR7a > rc7a And FR7a < rc7b Then sca7 = rc7c - FR7a ssa7 = rc7c - rc7a If FR7a > rc7b And FR7a < rc7c Then sca7 = rc7c - FR7a ssa7 = rc7c - rc7a If rc7c < FR7a Then sca7 = 0 ssa7 = 0 CA7 = (sca7 / 2) * Miu SA7 = ssa7 / 2 If CA7 = 0 Then CI7 = "~" IC7 = Log(SA7 / CA7) / Log(2) CI7 = Round(IC7, 3) AC7 = CA7 X.SubItems(8) = Round(AC7, 3) X.SubItems(18) = Round(SA7, 3) X.SubItems(28) = CI7 Dim sca8, ssa8 If FR8a < rc8a Then sca8 = rc8c - rc8a ssa8 = rc8c - rc8a If FR8a > rc8a And FR8a < rc8b Then sca8 = rc8c - FR8a ssa8 = rc8c - rc8a If FR8a > rc8b And FR8a < rc8c Then sca8 = rc8c - FR8a ssa8 = rc8c - rc8a If rc8c < FR8a Then sca8 = 0 ssa8 = 0 CA8 = (sca8 / 2) * Miu SA8 = ssa8 / 2 If CA8 = 0 Then CI8 = "~" IC8 = Log(SA8 / CA8) / Log(2) CI8 = Round(IC8, 3) AC8 = CA8 X.SubItems(9) = Round(AC8, 3) X.SubItems(19) = Round(SA8, 3) X.SubItems(29) = CI8 Dim sca9, ssa9 If FR9a < rc9a Then sca9 = rc9c - rc9a ssa9 = rc9c - rc9a If FR9a > rc9a And FR9a < rc9b Then sca9 = rc9c - FR9a L-116

ssa9 = rc9c - rc9a If FR9a > rc9b And FR9a < rc9c Then sca9 = rc9c - FR9a ssa9 = rc9c - rc9a If rc9c < FR9a Then sca9 = 0 ssa9 = 0 CA9 = (sca9 / 2) * Miu SA9 = ssa9 / 2 If CA9 = 0 Then CI9 = "~" IC9 = Log(SA9 / CA9) / Log(2) CI9 = Round(IC9, 3) AC9 = CA9 X.SubItems(10) = Round(AC9, 3) X.SubItems(20) = Round(SA9, 3) X.SubItems(30) = CI9 Dim sca10, ssa10 If FR10a < rc10a Then sca10 = rc10c - rc10a ssa10 = rc10c - rc10a If FR10a > rc10a And FR10a < rc10b Then sca10 = rc10c - FR10a ssa10 = rc10c - rc10a If FR10a > rc10b And FR10a < rc10c Then sca10 = rc10c - FR10a ssa10 = rc10c - rc10a If rc10c < FR10a Then sca10 = 0 ssa10 = 0 CA10 = (sca10 / 2) * Miu SA10 = ssa10 / 2 If CA10 = 0 Then CI10 = "~" IC10 = Log(SA10 / CA10) / Log(2) CI10 = Round(IC10, 3) AC10 = CA10 X.SubItems(11) = Round(AC10, 3) X.SubItems(21) = Round(SA10, 3) X.SubItems(31) = CI10 ICt = IC1 + IC2 + IC3 + IC4 + IC5 + IC6 + IC7 + IC8 + IC9 + IC10 If CI1 = "~" Or CI2 = "~" Or CI3 = "~" Or CI4 = "~" Or CI5 = "~" Or CI6 = "~" Or CI7 = "~" Or CI8 = "~" Or CI9 = "~" Or CI10 = "~" Then X.SubItems(33) = "Eliminasi" X.SubItems(32) = Round(ICt, 3).MoveNext Wend L-117

Sub Hitung_FRs() On Error Resume Next rsfrs.open "Select count(idx_ob) as BYK from tbfrs where Idx_ob='" & Br = rsfrs!byk rsfrs.open "Select sum(c1a) as JL from tbfrs where Idx_ob='" & FR1a = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c1b) as JL from tbfrs where Idx_ob='" & FR1b = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c1c) as JL from tbfrs where Idx_ob='" & FR1c = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c2a) as JL from tbfrs where Idx_ob='" & FR2a = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c2b) as JL from tbfrs where Idx_ob='" & FR2b = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c2c) as JL from tbfrs where Idx_ob='" & FR2c = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c3a) as JL from tbfrs where Idx_ob='" & FR3a = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c3b) as JL from tbfrs where Idx_ob='" & FR3b = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c3c) as JL from tbfrs where Idx_ob='" & FR3c = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c4a) as JL from tbfrs where Idx_ob='" & FR4a = Round(rsFRs!JL / Br, 3) L-118

rsfrs.open "Select sum(c4b) as JL from tbfrs where Idx_ob='" & FR4b = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c4c) as JL from tbfrs where Idx_ob='" & FR4c = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c5a) as JL from tbfrs where Idx_ob='" & FR5a = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c5b) as JL from tbfrs where Idx_ob='" & FR5b = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c5c) as JL from tbfrs where Idx_ob='" & FR5c = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c6a) as JL from tbfrs where Idx_ob='" & FR6a = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c6b) as JL from tbfrs where Idx_ob='" & FR6b = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c6c) as JL from tbfrs where Idx_ob='" & FR6c = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c7a) as JL from tbfrs where Idx_ob='" & FR7a = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c7b) as JL from tbfrs where Idx_ob='" & FR7b = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c7c) as JL from tbfrs where Idx_ob='" & FR7c = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c8a) as JL from tbfrs where Idx_ob='" & FR8a = Round(rsFRs!JL / Br, 3) L-119

rsfrs.open "Select sum(c8b) as JL from tbfrs where Idx_ob='" & FR8b = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c8c) as JL from tbfrs where Idx_ob='" & FR8c = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c9a) as JL from tbfrs where Idx_ob='" & FR9a = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c9b) as JL from tbfrs where Idx_ob='" & FR9b = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c9c) as JL from tbfrs where Idx_ob='" & FR9c = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c10a) as JL from tbfrs where Idx_ob='" & FR10a = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c10b) as JL from tbfrs where Idx_ob='" & FR10b = Round(rsFRs!JL / Br, 3) rsfrs.open "Select sum(c10c) as JL from tbfrs where Idx_ob='" & FR10c = Round(rsFRs!JL / Br, 3) Sub Tampil_Detail() With rstemp.open "Select * from tbdmsdetail where left(kode,9)='" & vkode & "'", Conn Lv_Detail.ListItems.Clear While Not.EOF Set X = Lv_Detail.ListItems.Add(,,.Fields!Idx_A) RsAlternatif.Open "Select Alternatif from tbalternatif,tbobjek where tbobjek.idx_ob=tbalternatif.idx_ob and Idx_A ='" &.Fields!Idx_A & "'order by Idx_a", Conn If Not RsAlternatif.EOF Then X.SubItems(1) = RsAlternatif.Fields!Alternatif X.SubItems(2) = Round(.Fields!C1a, 3) X.SubItems(3) = Round(.Fields!C1b, 3) X.SubItems(4) = Round(.Fields!C1c, 3) X.SubItems(5) = Round(.Fields!C2a, 3) L-120

Wend X.SubItems(6) = Round(.Fields!C2b, 3) X.SubItems(7) = Round(.Fields!C2c, 3) X.SubItems(8) = Round(.Fields!C3a, 3) X.SubItems(9) = Round(.Fields!C3b, 3) X.SubItems(10) = Round(.Fields!C3c, 3) X.SubItems(11) = Round(.Fields!C4a, 3) X.SubItems(12) = Round(.Fields!C4b, 3) X.SubItems(13) = Round(.Fields!C4c, 3) X.SubItems(14) = Round(.Fields!C5a, 3) X.SubItems(15) = Round(.Fields!C5b, 3) X.SubItems(16) = Round(.Fields!C5c, 3) On Error Resume Next X.SubItems(17) = Round(.Fields!C6a, 3) X.SubItems(18) = Round(.Fields!C6b, 3) X.SubItems(19) = Round(.Fields!C6c, 3) X.SubItems(20) = Round(.Fields!C7a, 3) X.SubItems(21) = Round(.Fields!C7b, 3) X.SubItems(22) = Round(.Fields!C7c, 3) X.SubItems(23) = Round(.Fields!C8a, 3) X.SubItems(24) = Round(.Fields!C8b, 3) X.SubItems(25) = Round(.Fields!C8c, 3) X.SubItems(26) = Round(.Fields!C9a, 3) X.SubItems(27) = Round(.Fields!C9b, 3) X.SubItems(28) = Round(.Fields!C9c, 3) X.SubItems(29) = Round(.Fields!C10a, 3) X.SubItems(30) = Round(.Fields!C10b, 3) X.SubItems(31) = Round(.Fields!C10c, 3).MoveNext Sub Rangk() LV.ListItems.Clear Dim RsH As New ADODB.Recordset Set RsH = New ADODB.Recordset With RsH Z = 0.Open "Select * from tbhasilakhir where Idx_ob='" & vidx_ob & "'", Conn While Not.EOF Set X = LV.ListItems.Add(,,.Fields!Idx_Ob) X.SubItems(1) =!Alternatif RsAlternatif.Open "select Idx_a from tbalternatif where Alternatif='" &.Fields!Alternatif & "'", Conn If Not RsAlternatif.EOF Then X.SubItems(2) = RsAlternatif!Idx_A X.SubItems(3) =.Fields!ICt X.SubItems(4) =.Fields!Ket.MoveNext Wend LV.SortKey = 2 LV.SortOrder = lvwascending LV.Sorted = True L-121