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']}')"); } } } } } } } } } } } } } } } } } } } } }
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; }