コード例 #1
0
ファイル: proses_mining.php プロジェクト: rosyid33/sppam
function pembentukan_tree($N_parent, $kasus)
{
    //mengisi kondisi
    if ($N_parent != '') {
        $kondisi = $N_parent . " AND " . $kasus;
    } else {
        $kondisi = $kasus;
    }
    echo $kondisi . "<br>";
    //cek data heterogen / homogen???
    $cek = cek_heterohomogen('ipk', $kondisi);
    if ($cek == 'homogen') {
        echo "<br>LEAF ";
        $sql_keputusan = mysql_query("SELECT DISTINCT(ipk) FROM data_training WHERE {$kondisi}");
        $row_keputusan = mysql_fetch_array($sql_keputusan);
        $keputusan = $row_keputusan['0'];
        //insert atau lakukan pemangkasan cabang
        pangkas($N_parent, $kasus, $keputusan);
    } else {
        if ($cek == 'heterogen') {
            //cek jumlah data
            $jumlah = jumlah_data($kondisi);
            if ($jumlah < 8) {
                echo "<br>LEAF ";
                $Ntinggi = $kondisi . " AND ipk='tinggi'";
                $Nrendah = $kondisi . " AND ipk='rendah'";
                $jumlahTinggi = jumlah_data("{$Ntinggi}");
                $jumlahRendah = jumlah_data("{$Nrendah}");
                if ($jumlahTinggi <= $jumlahRendah) {
                    $keputusan = 'Rendah';
                } else {
                    $keputusan = 'Tinggi';
                }
                //insert atau lakukan pemangkasan cabang
                pangkas($N_parent, $kasus, $keputusan);
            } else {
                //jika kondisi tidak kosong kondisi_ipk=tambah and
                $kondisi_ipk = '';
                if ($kondisi != '') {
                    $kondisi_ipk = $kondisi . " AND ";
                }
                $jml_tinggi = jumlah_data("{$kondisi_ipk} ipk='Tinggi'");
                $jml_rendah = jumlah_data("{$kondisi_ipk} ipk='Rendah'");
                $jml_total = $jml_tinggi + $jml_rendah;
                echo "Jumlah data = " . $jml_total . "<br>";
                echo "Jumlah tinggi = " . $jml_tinggi . "<br>";
                echo "Jumlah rendah = " . $jml_rendah . "<br>";
                //hitung entropy semua
                $entropy_all = hitung_entropy($jml_tinggi, $jml_rendah);
                echo "Entropy = " . $entropy_all . "<br>";
                //cek berapa nilai setiap atribut
                $nilai_instansi = array();
                $nilai_instansi = cek_nilaiAtribut('instansi', $kondisi);
                $jmlInstansi = count($nilai_instansi);
                $nilai_status = array();
                $nilai_status = cek_nilaiAtribut('status', $kondisi);
                $jmlStatus = count($nilai_status);
                $nilai_jurusan = array();
                $nilai_jurusan = cek_nilaiAtribut('jurusan', $kondisi);
                $jmlJurusan = count($nilai_jurusan);
                $nilai_kerja = array();
                $nilai_kerja = cek_nilaiAtribut('kerja', $kondisi);
                $jmlKerja = count($nilai_kerja);
                $nilai_motivasi = array();
                $nilai_motivasi = cek_nilaiAtribut('motivasi', $kondisi);
                $jmlMotivasi = count($nilai_motivasi);
                //hitung gain atribut
                mysql_query("TRUNCATE gain");
                //instansi
                if ($jmlInstansi != 1) {
                    $NA1Instansi = "instansi='{$nilai_instansi['0']}'";
                    $NA2Instansi = "";
                    $NA3Instansi = "";
                    if ($jmlInstansi == 2) {
                        $NA2Instansi = "instansi='{$nilai_instansi['1']}'";
                    } else {
                        if ($jmlInstansi == 3) {
                            $NA2Instansi = "instansi='{$nilai_instansi['1']}'";
                            $NA3Instansi = "instansi='{$nilai_instansi['2']}'";
                        }
                    }
                    hitung_gain($kondisi, "instansi", $entropy_all, $NA1Instansi, $NA2Instansi, $NA3Instansi, "", "");
                }
                //status
                if ($jmlStatus != 1) {
                    $NA1Status = "status='{$nilai_status['0']}'";
                    $NA2Status = "status='{$nilai_status['1']}'";
                    hitung_gain($kondisi, "status", $entropy_all, $NA1Status, $NA2Status, "", "", "");
                }
                //jurusan
                if ($jmlJurusan != 1) {
                    $NA1Jurusan = "jurusan='{$nilai_jurusan['0']}'";
                    $NA2Jurusan = "";
                    $NA3Jurusan = "";
                    $NA4Jurusan = "";
                    $NA5Jurusan = "";
                    if ($jmlJurusan == 2) {
                        $NA2Jurusan = "jurusan='{$nilai_jurusan['1']}'";
                    } else {
                        if ($jmlJurusan == 3) {
                            $NA2Jurusan = "jurusan='{$nilai_jurusan['1']}'";
                            $NA3Jurusan = "jurusan='{$nilai_jurusan['2']}'";
                        } else {
                            if ($jmlJurusan == 4) {
                                $NA2Jurusan = "jurusan='{$nilai_jurusan['1']}'";
                                $NA3Jurusan = "jurusan='{$nilai_jurusan['2']}'";
                                $NA4Jurusan = "jurusan='{$nilai_jurusan['3']}'";
                            } else {
                                if ($jmlJurusan == 5) {
                                    $NA2Jurusan = "jurusan='{$nilai_jurusan['1']}'";
                                    $NA3Jurusan = "jurusan='{$nilai_jurusan['2']}'";
                                    $NA4Jurusan = "jurusan='{$nilai_jurusan['3']}'";
                                    $NA5Jurusan = "jurusan='{$nilai_jurusan['4']}'";
                                }
                            }
                        }
                    }
                    hitung_gain($kondisi, "jurusan", $entropy_all, $NA1Jurusan, $NA2Jurusan, $NA3Jurusan, $NA4Jurusan, $NA5Jurusan);
                }
                //kerja
                if ($jmlKerja != 1) {
                    $NA1Kerja = "kerja='{$nilai_kerja['0']}'";
                    $NA2Kerja = "kerja='{$nilai_kerja['1']}'";
                    hitung_gain($kondisi, "kerja", $entropy_all, $NA1Kerja, $NA2Kerja, "", "", "");
                }
                //motivasi
                if ($jmlMotivasi != 1) {
                    $NA1Motivasi = "motivasi='{$nilai_motivasi['0']}'";
                    $NA2Motivasi = "";
                    $NA3Motivasi = "";
                    if ($jmlMotivasi == 2) {
                        $NA2Motivasi = "motivasi='{$nilai_motivasi['1']}'";
                    } else {
                        if ($jmlMotivasi == 3) {
                            $NA2Motivasi = "motivasi='{$nilai_motivasi['1']}'";
                            $NA3Motivasi = "motivasi='{$nilai_motivasi['2']}'";
                        }
                    }
                    hitung_gain($kondisi, "motivasi", $entropy_all, $NA1Motivasi, $NA2Motivasi, $NA3Motivasi, "", "");
                }
                //hitung gain atribut Numerik
                hitung_gain($kondisi, "rata UN posisi 6.5", $entropy_all, "rata_un<=6.5", "rata_un>6.5", "", "", "");
                hitung_gain($kondisi, "rata UN posisi 6.75", $entropy_all, "rata_un<=6.75", "rata_un>6.75", "", "", "");
                hitung_gain($kondisi, "rata UN posisi 7", $entropy_all, "rata_un<=7", "rata_un>7", "", "", "");
                hitung_gain($kondisi, "rata UN posisi 7.25", $entropy_all, "rata_un<=7.25", "rata_un>7.25", "", "", "");
                hitung_gain($kondisi, "rata UN posisi 7.5", $entropy_all, "rata_un<=7.5", "rata_un>7.5", "", "", "");
                hitung_gain($kondisi, "rata UN posisi 7.75", $entropy_all, "rata_un<=7.75", "rata_un>7.75", "", "", "");
                hitung_gain($kondisi, "rata UN posisi 8", $entropy_all, "rata_un<=8", "rata_un>8", "", "", "");
                hitung_gain($kondisi, "rata UN posisi 8.25", $entropy_all, "rata_un<=8.25", "rata_un>8.25", "", "", "");
                hitung_gain($kondisi, "rata UN posisi 8.5", $entropy_all, "rata_un<=8.5", "rata_un>8.5", "", "", "");
                hitung_gain($kondisi, "rata UN posisi 8.75", $entropy_all, "rata_un<=8.75", "rata_un>8.75", "", "", "");
                //ambil nilai gain tertinggi
                $sql_max = mysql_query("SELECT MAX(gain) FROM gain");
                $row_max = mysql_fetch_array($sql_max);
                $max_gain = $row_max['0'];
                $sql = mysql_query("SELECT * FROM gain WHERE gain={$max_gain}");
                $row = mysql_fetch_array($sql);
                $atribut = $row['1'];
                echo "Atribut terpilih = " . $atribut . ", dengan nilai gain = " . $max_gain . "<br>";
                echo "<br>================================<br>";
                //percabangan jika nilai atribut lebih dari 2 hitung rasio terlebih dahulu
                //INSTANSI TERPILIH
                if ($atribut == "instansi") {
                    //jika nilai atribut 3
                    if ($jmlInstansi == 3) {
                        //hitung rasio
                        $cabang = array();
                        $cabang = hitung_rasio($kondisi, 'instansi', $max_gain, $nilai_instansi[0], $nilai_instansi[1], $nilai_instansi[2], '', '');
                        $exp_cabang = explode(" , ", $cabang[1]);
                        proses_DT($kondisi, "({$atribut}='{$cabang['0']}')", "({$atribut}='{$exp_cabang['0']}' OR {$atribut}='{$exp_cabang['1']}')");
                    } else {
                        if ($jmlInstansi == 2) {
                            proses_DT($kondisi, "({$atribut}='{$nilai_instansi['0']}')", "({$atribut}='{$nilai_instansi['1']}')");
                        }
                    }
                } else {
                    if ($atribut == "status") {
                        proses_DT($kondisi, "({$atribut}='Negeri')", "({$atribut}='Swasta')");
                    } else {
                        if ($atribut == "jurusan") {
                            //jika nilai atribut 5
                            if ($jmlJurusan == 5) {
                                //hitung rasio
                                $cabang = array();
                                $cabang = hitung_rasio($kondisi, 'jurusan', $max_gain, $nilai_jurusan[0], $nilai_jurusan[1], $nilai_jurusan[2], $nilai_jurusan[3], $nilai_jurusan[4]);
                                $exp_cabang = explode(" , ", $cabang[1]);
                                proses_DT($kondisi, "({$atribut}='{$cabang['0']}')", "({$atribut}='{$exp_cabang['0']}' OR {$atribut}='{$exp_cabang['1']}' OR {$atribut}='{$exp_cabang['2']}' OR {$atribut}='{$exp_cabang['3']}')");
                            } else {
                                if ($jmlJurusan == 4) {
                                    //hitung rasio
                                    $cabang = array();
                                    $cabang = hitung_rasio($kondisi, 'jurusan', $max_gain, $nilai_jurusan[0], $nilai_jurusan[1], $nilai_jurusan[2], $nilai_jurusan[3], '');
                                    $exp_cabang = explode(" , ", $cabang[1]);
                                    proses_DT($kondisi, "({$atribut}='{$cabang['0']}')", "({$atribut}='{$exp_cabang['0']}' OR {$atribut}='{$exp_cabang['1']}' OR {$atribut}='{$exp_cabang['2']}')");
                                } else {
                                    if ($jmlJurusan == 3) {
                                        //hitung rasio
                                        $cabang = array();
                                        $cabang = hitung_rasio($kondisi, 'jurusan', $max_gain, $nilai_jurusan[0], $nilai_jurusan[1], $nilai_jurusan[2], '', '');
                                        $exp_cabang = explode(" , ", $cabang[1]);
                                        proses_DT($kondisi, "({$atribut}='{$cabang['0']}')", "({$atribut}='{$exp_cabang['0']}' OR {$atribut}='{$exp_cabang['1']}')");
                                    } else {
                                        if ($jmlJurusan == 2) {
                                            proses_DT($kondisi, "({$atribut}='{$nilai_jurusan['0']}')", "({$atribut}='{$nilai_jurusan['1']}')");
                                        }
                                    }
                                }
                            }
                        } else {
                            if ($atribut == "rata UN posisi 6.5") {
                                proses_DT($kondisi, "(rata_un<=6.5)", "(rata_un>6.5)");
                            } else {
                                if ($atribut == "rata UN posisi 6.75") {
                                    proses_DT($kondisi, "(rata_un<=6.75)", "(rata_un>6.75)");
                                } else {
                                    if ($atribut == "rata UN posisi 7") {
                                        proses_DT($kondisi, "(rata_un<=7)", "(rata_un>7)");
                                    } else {
                                        if ($atribut == "rata UN posisi 7.25") {
                                            proses_DT($kondisi, "(rata_un<=7.25)", "(rata_un>7.25)");
                                        } else {
                                            if ($atribut == "rata UN posisi 7.5") {
                                                proses_DT($kondisi, "(rata_un<=7.5)", "(rata_un>7.5)");
                                            } else {
                                                if ($atribut == "rata UN posisi 7.75") {
                                                    proses_DT($kondisi, "(rata_un<=7.75)", "(rata_un>7.75)");
                                                } else {
                                                    if ($atribut == "rata UN posisi 8") {
                                                        proses_DT($kondisi, "(rata_un<=8)", "(rata_un>8)");
                                                    } else {
                                                        if ($atribut == "rata UN posisi 8.25") {
                                                            proses_DT($kondisi, "(rata_un<=8.25)", "(rata_un>8.25)");
                                                        } else {
                                                            if ($atribut == "rata UN posisi 8.5") {
                                                                proses_DT($kondisi, "(rata_un<=8.5)", "(rata_un>8.5)");
                                                            } else {
                                                                if ($atribut == "rata UN posisi 8.75") {
                                                                    proses_DT($kondisi, "(rata_un<=8.75)", "(rata_un>8.75)");
                                                                } else {
                                                                    if ($atribut == "kerja") {
                                                                        proses_DT($kondisi, "({$atribut}='Sudah')", "({$atribut}='Belum')");
                                                                    } else {
                                                                        if ($atribut == "motivasi") {
                                                                            //jika nilai atribut 3
                                                                            if ($jmlMotivasi == 3) {
                                                                                $cabang = array();
                                                                                $cabang = hitung_rasio($kondisi, 'motivasi', $max_gain, $nilai_motivasi[0], $nilai_motivasi[1], $nilai_motivasi[2], '', '');
                                                                                $exp_cabang = explode(" , ", $cabang[1]);
                                                                                proses_DT($kondisi, "({$atribut}='{$cabang['0']}')", "({$atribut}='{$exp_cabang['0']}' OR {$atribut}='{$exp_cabang['1']}')");
                                                                            } else {
                                                                                if ($jmlMotivasi == 2) {
                                                                                    proses_DT($kondisi, "({$atribut}='{$nilai_motivasi['0']}')", "({$atribut}='{$nilai_motivasi['1']}')");
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
コード例 #2
0
ファイル: fungsi.php プロジェクト: rosyid33/sppam
function hitung_rasio($kasus, $atribut, $gain, $nilai1, $nilai2, $nilai3, $nilai4, $nilai5)
{
    $data_kasus = '';
    if ($kasus != '') {
        $data_kasus = $kasus . " AND ";
    }
    //menentukan jumlah nilai
    $jmlNilai = 5;
    //jika nilai 5 kosong maka nilai atribut-nya 4
    if ($nilai5 == '') {
        $jmlNilai = 4;
    }
    //jika nilai 4 kosong maka nilai atribut-nya 3
    if ($nilai4 == '') {
        $jmlNilai = 3;
    }
    mysql_query("TRUNCATE rasio_gain");
    if ($jmlNilai == 3) {
        $opsi11 = jumlah_data("{$data_kasus} ({$atribut}='{$nilai2}' OR {$atribut}='{$nilai3}')");
        $opsi12 = jumlah_data("{$data_kasus} {$atribut}='{$nilai1}'");
        $tot_opsi1 = $opsi11 + $opsi12;
        $opsi21 = jumlah_data("{$data_kasus} ({$atribut}='{$nilai3}' OR {$atribut}='{$nilai1}')");
        $opsi22 = jumlah_data("{$data_kasus} {$atribut}='{$nilai2}'");
        $tot_opsi2 = $opsi21 + $opsi22;
        $opsi31 = jumlah_data("{$data_kasus} ({$atribut}='{$nilai1}' OR {$atribut}='{$nilai2}')");
        $opsi32 = jumlah_data("{$data_kasus} {$atribut}='{$nilai3}'");
        $tot_opsi3 = $opsi31 + $opsi32;
        //hitung split info
        $opsi1 = -($opsi11 / $tot_opsi1) * log($opsi11 / $tot_opsi1, 2) + -($opsi12 / $tot_opsi1) * log($opsi12 / $tot_opsi1, 2);
        $opsi2 = -($opsi21 / $tot_opsi2) * log($opsi21 / $tot_opsi2, 2) + -($opsi22 / $tot_opsi2) * log($opsi22 / $tot_opsi2, 2);
        $opsi3 = -($opsi31 / $tot_opsi3) * log($opsi31 / $tot_opsi3, 2) + -($opsi32 / $tot_opsi3) * log($opsi32 / $tot_opsi3, 2);
        //desimal 3 angka dibelakang koma
        $opsi1 = round($opsi1, 3);
        $opsi2 = round($opsi2, 3);
        $opsi3 = round($opsi3, 3);
        //hitung rasio
        $rasio1 = $gain / $opsi1;
        $rasio2 = $gain / $opsi2;
        $rasio3 = $gain / $opsi3;
        //desimal 3 angka dibelakang koma
        $rasio1 = round($rasio1, 3);
        $rasio2 = round($rasio2, 3);
        $rasio3 = round($rasio3, 3);
        //cetak
        echo "Opsi 1 : <br>jumlah " . $nilai2 . "/" . $nilai3 . " = " . $opsi11 . "<br>jumlah " . $nilai1 . " = " . $opsi12 . "<br>Split = " . $opsi1 . "<br>Rasio = " . $rasio1 . "<br>";
        echo "Opsi 2 : <br>jumlah " . $nilai3 . "/" . $nilai1 . " = " . $opsi21 . "<br>jumlah " . $nilai2 . " = " . $opsi22 . "<br>Split = " . $opsi2 . "<br>Rasio = " . $rasio2 . "<br>";
        echo "Opsi 3 : <br>jumlah " . $nilai1 . "/" . $nilai2 . " = " . $opsi31 . "<br>jumlah " . $nilai3 . " = " . $opsi32 . "<br>Split = " . $opsi3 . "<br>Rasio = " . $rasio3 . "<br>";
        //insert
        mysql_query("INSERT INTO rasio_gain VALUES \r\n\t\t\t\t\t\t('' , 'opsi1' , '{$nilai1}' , '{$nilai2} , {$nilai3}' , '{$rasio1}'),\r\n\t\t\t\t\t\t('' , 'opsi2' , '{$nilai2}' , '{$nilai3} , {$nilai1}' , '{$rasio2}'),\r\n\t\t\t\t\t\t('' , 'opsi3' , '{$nilai3}' , '{$nilai1} , {$nilai2}' , '{$rasio3}')");
    } else {
        if ($jmlNilai == 4) {
            $opsi11 = jumlah_data("{$data_kasus} ({$atribut}='{$nilai2}' OR {$atribut}='{$nilai3}' OR {$atribut}='{$nilai4}')");
            $opsi12 = jumlah_data("{$data_kasus} {$atribut}='{$nilai1}'");
            $tot_opsi1 = $opsi11 + $opsi12;
            $opsi21 = jumlah_data("{$data_kasus} ({$atribut}='{$nilai3}' OR {$atribut}='{$nilai4}' OR {$atribut}='{$nilai1}')");
            $opsi22 = jumlah_data("{$data_kasus} {$atribut}='{$nilai2}'");
            $tot_opsi2 = $opsi21 + $opsi22;
            $opsi31 = jumlah_data("{$data_kasus} ({$atribut}='{$nilai4}' OR {$atribut}='{$nilai1}' OR {$atribut}='{$nilai2}')");
            $opsi32 = jumlah_data("{$data_kasus} {$atribut}='{$nilai3}'");
            $tot_opsi3 = $opsi31 + $opsi32;
            $opsi41 = jumlah_data("{$data_kasus} ({$atribut}='{$nilai1}' OR {$atribut}='{$nilai2}' OR {$atribut}='{$nilai3}')");
            $opsi42 = jumlah_data("{$data_kasus} {$atribut}='{$nilai4}'");
            $tot_opsi4 = $opsi41 + $opsi42;
            //hitung split info
            $opsi1 = -($opsi11 / $tot_opsi1) * log($opsi11 / $tot_opsi1, 2) + -($opsi12 / $tot_opsi1) * log($opsi12 / $tot_opsi1, 2);
            $opsi2 = -($opsi21 / $tot_opsi2) * log($opsi21 / $tot_opsi2, 2) + -($opsi22 / $tot_opsi2) * log($opsi22 / $tot_opsi2, 2);
            $opsi3 = -($opsi31 / $tot_opsi3) * log($opsi31 / $tot_opsi3, 2) + -($opsi32 / $tot_opsi3) * log($opsi32 / $tot_opsi3, 2);
            $opsi4 = -($opsi41 / $tot_opsi4) * log($opsi41 / $tot_opsi4, 2) + -($opsi42 / $tot_opsi4) * log($opsi42 / $tot_opsi4, 2);
            //desimal 3 angka dibelakang koma
            $opsi1 = round($opsi1, 3);
            $opsi2 = round($opsi2, 3);
            $opsi3 = round($opsi3, 3);
            $opsi4 = round($opsi4, 3);
            //hitung rasio
            $rasio1 = $gain / $opsi1;
            $rasio2 = $gain / $opsi2;
            $rasio3 = $gain / $opsi3;
            $rasio4 = $gain / $opsi4;
            //desimal 3 angka dibelakang koma
            $rasio1 = round($rasio1, 3);
            $rasio2 = round($rasio2, 3);
            $rasio3 = round($rasio3, 3);
            $rasio4 = round($rasio4, 3);
            //cetak
            echo "Opsi 1 : <br>jumlah " . $nilai2 . "/" . $nilai3 . "/" . $nilai4 . " = " . $opsi11 . "<br>jumlah " . $nilai1 . " = " . $opsi12 . "<br>Split = " . $opsi1 . "<br>Rasio = " . $rasio1 . "<br>";
            echo "Opsi 2 : <br>jumlah " . $nilai3 . "/" . $nilai4 . "/" . $nilai1 . " = " . $opsi21 . "<br>jumlah " . $nilai2 . " = " . $opsi22 . "<br>Split = " . $opsi2 . "<br>Rasio = " . $rasio2 . "<br>";
            echo "Opsi 3 : <br>jumlah " . $nilai4 . "/" . $nilai1 . "/" . $nilai2 . " = " . $opsi31 . "<br>jumlah " . $nilai3 . " = " . $opsi32 . "<br>Split = " . $opsi3 . "<br>Rasio = " . $rasio3 . "<br>";
            echo "Opsi 4 : <br>jumlah " . $nilai1 . "/" . $nilai2 . "/" . $nilai3 . " = " . $opsi41 . "<br>jumlah " . $nilai4 . " = " . $opsi42 . "<br>Split = " . $opsi4 . "<br>Rasio = " . $rasio4 . "<br>";
            //insert
            mysql_query("INSERT INTO rasio_gain VALUES \r\n\t\t\t\t\t\t('' , 'opsi1' , '{$nilai1}' , '{$nilai2} , {$nilai3} , {$nilai4}' , '{$rasio1}'),\r\n\t\t\t\t\t\t('' , 'opsi2' , '{$nilai2}' , '{$nilai3} , {$nilai4} , {$nilai1}' , '{$rasio2}'),\r\n\t\t\t\t\t\t('' , 'opsi3' , '{$nilai3}' , '{$nilai4} , {$nilai1} , {$nilai2}' , '{$rasio3}'),\r\n\t\t\t\t\t\t('' , 'opsi4' , '{$nilai4}' , '{$nilai1} , {$nilai2} , {$nilai3}' , '{$rasio4}')");
        } else {
            if ($jmlNilai == 5) {
                $opsi11 = jumlah_data("{$data_kasus} ({$atribut}='{$nilai2}' OR {$atribut}='{$nilai3}' OR {$atribut}='{$nilai4}' OR {$atribut}='{$nilai5}')");
                $opsi12 = jumlah_data("{$data_kasus} {$atribut}='{$nilai1}'");
                $tot_opsi1 = $opsi11 + $opsi12;
                $opsi21 = jumlah_data("{$data_kasus} ({$atribut}='{$nilai3}' OR {$atribut}='{$nilai4}' OR {$atribut}='{$nilai5}' OR {$atribut}='{$nilai1}')");
                $opsi22 = jumlah_data("{$data_kasus} {$atribut}='{$nilai2}'");
                $tot_opsi2 = $opsi21 + $opsi22;
                $opsi31 = jumlah_data("{$data_kasus} ({$atribut}='{$nilai4}' OR {$atribut}='{$nilai5}' OR {$atribut}='{$nilai1}' OR {$atribut}='{$nilai2}')");
                $opsi32 = jumlah_data("{$data_kasus} {$atribut}='{$nilai3}'");
                $tot_opsi3 = $opsi31 + $opsi32;
                $opsi41 = jumlah_data("{$data_kasus} ({$atribut}='{$nilai5}' OR {$atribut}='{$nilai1}' OR {$atribut}='{$nilai2}' OR {$atribut}='{$nilai3}')");
                $opsi42 = jumlah_data("{$data_kasus} {$atribut}='{$nilai4}'");
                $tot_opsi4 = $opsi41 + $opsi42;
                $opsi51 = jumlah_data("{$data_kasus} ({$atribut}='{$nilai1}' OR {$atribut}='{$nilai2}' OR {$atribut}='{$nilai3}' OR {$atribut}='{$nilai4}')");
                $opsi52 = jumlah_data("{$data_kasus} {$atribut}='{$nilai5}'");
                $tot_opsi5 = $opsi51 + $opsi52;
                //hitung split info
                $opsi1 = -($opsi11 / $tot_opsi1) * log($opsi11 / $tot_opsi1, 2) + -($opsi12 / $tot_opsi1) * log($opsi12 / $tot_opsi1, 2);
                $opsi2 = -($opsi21 / $tot_opsi2) * log($opsi21 / $tot_opsi2, 2) + -($opsi22 / $tot_opsi2) * log($opsi22 / $tot_opsi2, 2);
                $opsi3 = -($opsi31 / $tot_opsi3) * log($opsi31 / $tot_opsi3, 2) + -($opsi32 / $tot_opsi3) * log($opsi32 / $tot_opsi3, 2);
                $opsi4 = -($opsi41 / $tot_opsi4) * log($opsi41 / $tot_opsi4, 2) + -($opsi42 / $tot_opsi4) * log($opsi42 / $tot_opsi4, 2);
                $opsi5 = -($opsi51 / $tot_opsi5) * log($opsi51 / $tot_opsi5, 2) + -($opsi52 / $tot_opsi5) * log($opsi52 / $tot_opsi5, 2);
                //desimal 3 angka dibelakang koma
                $opsi1 = round($opsi1, 3);
                $opsi2 = round($opsi2, 3);
                $opsi3 = round($opsi3, 3);
                $opsi4 = round($opsi4, 3);
                $opsi5 = round($opsi5, 3);
                //hitung rasio
                $rasio1 = $gain / $opsi1;
                $rasio2 = $gain / $opsi2;
                $rasio3 = $gain / $opsi3;
                $rasio4 = $gain / $opsi4;
                $rasio5 = $gain / $opsi5;
                //desimal 3 angka dibelakang koma
                $rasio1 = round($rasio1, 3);
                $rasio2 = round($rasio2, 3);
                $rasio3 = round($rasio3, 3);
                $rasio4 = round($rasio4, 3);
                $rasio5 = round($rasio5, 3);
                //cetak
                echo "Opsi 1 : <br>jumlah " . $nilai2 . "/" . $nilai3 . "/" . $nilai4 . "/" . $nilai5 . " = " . $opsi11 . "<br>jumlah " . $nilai1 . " = " . $opsi12 . "<br>Split = " . $opsi1 . "<br>Rasio = " . $rasio1 . "<br>";
                echo "Opsi 2 : <br>jumlah " . $nilai3 . "/" . $nilai4 . "/" . $nilai5 . "/" . $nilai1 . " = " . $opsi21 . "<br>jumlah " . $nilai2 . " = " . $opsi22 . "<br>Split = " . $opsi2 . "<br>Rasio = " . $rasio2 . "<br>";
                echo "Opsi 3 : <br>jumlah " . $nilai4 . "/" . $nilai5 . "/" . $nilai1 . "/" . $nilai2 . " = " . $opsi31 . "<br>jumlah " . $nilai3 . " = " . $opsi32 . "<br>Split = " . $opsi3 . "<br>Rasio = " . $rasio3 . "<br>";
                echo "Opsi 4 : <br>jumlah " . $nilai5 . "/" . $nilai1 . "/" . $nilai2 . "/" . $nilai3 . " = " . $opsi41 . "<br>jumlah " . $nilai4 . " = " . $opsi42 . "<br>Split = " . $opsi4 . "<br>Rasio = " . $rasio4 . "<br>";
                echo "Opsi 5 : <br>jumlah " . $nilai1 . "/" . $nilai2 . "/" . $nilai3 . "/" . $nilai4 . " = " . $opsi51 . "<br>jumlah " . $nilai5 . " = " . $opsi52 . "<br>Split = " . $opsi5 . "<br>Rasio = " . $rasio5 . "<br>";
                //insert
                mysql_query("INSERT INTO rasio_gain VALUES \r\n\t\t\t\t\t\t('' , 'opsi1' , '{$nilai1}' , '{$nilai2} , {$nilai3} , {$nilai4} , {$nilai5}' , '{$rasio1}'),\r\n\t\t\t\t\t\t('' , 'opsi2' , '{$nilai2}' , '{$nilai3} , {$nilai4} , {$nilai5} , {$nilai1}' , '{$rasio2}'),\r\n\t\t\t\t\t\t('' , 'opsi3' , '{$nilai3}' , '{$nilai4} , {$nilai5} , {$nilai1} , {$nilai2}' , '{$rasio3}'),\r\n\t\t\t\t\t\t('' , 'opsi4' , '{$nilai4}' , '{$nilai5} , {$nilai1} , {$nilai2} , {$nilai3}' , '{$rasio4}'),\r\n\t\t\t\t\t\t('' , 'opsi5' , '{$nilai5}' , '{$nilai1} , {$nilai2} , {$nilai3} , {$nilai4}' , '{$rasio5}')");
            }
        }
    }
    $sql_max = mysql_query("SELECT MAX(rasio_gain) FROM rasio_gain");
    $row_max = mysql_fetch_array($sql_max);
    $max_rasio = $row_max['0'];
    $sql = mysql_query("SELECT * FROM rasio_gain WHERE rasio_gain={$max_rasio}");
    $row = mysql_fetch_array($sql);
    $opsiMax = array();
    $opsiMax[0] = $row[2];
    $opsiMax[1] = $row[3];
    echo "<br>=========================<br>";
    return $opsiMax;
}