Advertisement
Guest User

ambil_data.php

a guest
Jun 10th, 2017
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 17.09 KB | None | 0 0
  1. <?php
  2. $dbhost = 'localhost';
  3. $dbuser = 'root';
  4. $dbpass = '';
  5. $dbname = 'dokumenjurnal';
  6. error_reporting(E_ALL ^ E_DEPRECATED);
  7. mysql_connect($dbhost,$dbuser,$dbpass) or die(mysqli_error('cannot connect to the server'));
  8. mysql_select_db($dbname) or die(mysqli('database selection problem'));
  9. mysql_query("TRUNCATE termkeyword");
  10. $query = $_POST['cari'];
  11. $stringteks = $query;
  12.  
  13. $konversi = strtolower($stringteks); //mengubah huruf besar menjadi kecil
  14. $jenistandabaca = array(',', '!', '?', '.', ':',';', '-');
  15. $hapustandabaca = str_replace($jenistandabaca,'',$konversi);
  16. $hapustandabaca = trim(preg_replace('/[^0-9a-z]+/i','', $konversi)); //menghilangkan semua tanda baca
  17. $hapustandabaca = preg_replace('/[^a-z\d]+/i', '', $konversi);
  18. $hapustandabaca = preg_replace('/[^\w]+/','',$konversi);
  19. $hapustandabaca = preg_replace('/\W+/','',$konversi);
  20. $tokenbiasa   = strtok($query, " "); //mentoken query input
  21. $replacespasi = str_replace(" ", PHP_EOL, $query);
  22. $konversistring = explode("/", $konversi); //konversi string ke array
  23. $kentoken = explode(" ", $konversi);//konversi string ke array. array dari data input
  24. $array = preg_split('/[\pZ\pC]+/u', $konversi);
  25. $ubahkarakter = str_replace(" ", '<br/>', $konversi);
  26.  
  27. $stopword = array("dan","serta","atau","melainkan","tetapi","padahal","sedangkan","yang","agar","supaya","biar","jika","kalau","asal","asalkan","bila","manakala","sejak","semenjak","sedari","sewaktu","tatkala","ketika","sementara","begitu","seraya","selagi","selama","serta","sambil","demi","setelah","sesudah"," sebelum","sehabis","selesai","seusai","hingga","sampai","andaikan","seandainya","umpamanya","sekiranya","biar","biarpun","walau","walaupun","sekalipun","sungguhpun","kendati","kendatipun","seakan-akan","seolah-olah","sebagaimana","seperti","sebagai","laksana","ibarat","daripada", "alih-alih","sebab","karena","oleh","sehingga", "sampai","maka","makanya","dengan","tanpa","dengan","tanpa","bahwa","sama","lebih","bagi","pada","sangat","hanya","lebih","beberapa","banyak","sedikit","kami","mereka","kita","itu", "di","ke","dari","untuk","guna","hingga","hampir","demi","atas","di mana","yang mana","dan","atau","tetapi","ketika","seandainya","supaya","walaupun","seperti","oleh karena","sehingga","bahwa","sang","para","umat","akan", "dan","serta","atau","melainkan","tetapi","padahal","sedangkan","agar","supaya","jika","kalau","asal","asalkan","bila","manakala","sejak","semenjak","sedari","sewaktu","tatkala","ketika","sementara","begitu","seraya","selagi","selama","serta","sambil","demi","setelah","sesudah"," sebelum","sehabis","selesai","seusai","hingga","sampai","andaikan","seandainya","umpamanya","sekiranya","biarpun","pun","sekalipun","sungguhpun","kendati","kendatipun","seakan-akan","seolah-olah","sebagaimana","seperti","sebagai","laksana","ibarat","daripada", "alih-alih","sebab","karena","oleh","sehingga", "sampai","maka","dengan","tanpa","dengan","tanpa","bahwa","sama","lebih","bagi","pada","sangat","hanya","lebih","beberapa","banyak","sedikit","kami","mereka","kita","itu", "di","ke","dari","untuk","guna","hingga","hampir","demi","atas","di mana","atau","tetapi","ketika","seandainya","supaya","walaupun","seperti","oleh karena","sehingga","bahwa","sang","para","umat","ada","adalah","adanya","adapun","agak","agaknya","agar","akan","akankah","akhir","akhiri","akhirnya","aku","akulah","amat","amatlah","anda","andalah","antar","antara","antaranya","apa","apaan","apabila","apakah","apalagi","
  28. apatah","artinya","asal","asalkan","atas","atau","ataukah","ataupun","awal","awalnya","bagai","bagaikan","bagaimana","bagaimanakah","bagaimanapun","bagi","bagian","bahkan","bahwa","bahwasanya","baik","bakal","bakalan","balik","banyak","bapak","baru","bawah","beberapa","begini","beginian","beginikah","beginilah","begitu","begitukah","begitulah","begitupun","bekerja","belakang","belakangan","belum","belumlah","benar","benarkah","benarlah","berada","berakhir","berakhirlah","berakhirnya","berapa","berapakah","berapalah","berapapun","berarti","berawal","berbagai","berdatangan","beri","berikan","berikut","berikutnya","berjumlah","berkali-kali","berkata","berkehendak","berkeinginan","berkenaan","berlainan","berlalu","berlangsung","berlebihan","bermacam","bermacam-macam","bermaksud","bermula","bersama","bersama-sama","bersiap","bersiap-siap","bertanya","bertanya-tanya","berturut","berturut-turut","bertutur","berujar","berupa","besar","betul","betulkah","biasa","biasanya","bila","bilakah","bisa","bisakah","boleh","bolehkah","bolehlah","buat","bukan","bukankah","bukanlah","bukannya","bulan","bung","cara","caranya","cukup","cukupkah","cukuplah","cuma","dahulu","dalam","dapat","dari","daripada","datang","dekat","demi","demikian","demikianlah","dengan","depan","dia","diakhiri","diakhirinya","dialah","diantara","diantaranya","diberi","diberikan","diberikannya","dibuat","dibuatnya","didapat","didatangkan","digunakan","diibaratkan","diibaratkannya","diingat","diingatkan","diinginkan","dijawab","dijelaskan","dijelaskannya","dikarenakan","dikatakan","dikatakannya","dikerjakan","diketahui","diketahuinya","dikira","dilakukan","dilalui","dilihat","dimaksud","dimaksudkan","dimaksudkannya","dimaksudnya","diminta","dimintai","dimisalkan","dimulai","dimulailah","dimulainya","dimungkinkan","dini","dipastikan","diperbuat","diperbuatnya","dipergunakan","diperkirakan","diperlihatkan","
  29. diperlukan","diperlukannya","dipersoalkan","dipertanyakan","dipunyai","diri","dirinya","disampaikan","disebut","disebutkan","disebutkannya","disini","disinilah","ditambahkan","ditandaskan","ditanya","ditanyai","ditanyakan","ditegaskan","ditujukan","ditunjuk","ditunjuki","ditunjukkan","ditunjukkannya","ditunjuknya","
  30. dituturkan","dituturkannya","diucapkan","diucapkannya","diungkapkan","dong","dua","dulu","empat","enggak","enggaknya","entah","entahlah","guna","gunakan","hal","
  31. hampir","hanya","hanyalah","hari","harus","haruslah","harusnya","hendak","hendaklah","hendaknya","hingga","ialah","ibarat","ibaratkan","ibaratnya","ibu","ikut","ingat","ingat-ingat","ingin","inginkah","inginkan","ini","inikah","inilah","itu","itukah","itulah","jadi","jadilah","jadinya","jangan","jangankan","janganlah","jauh","jawab","jawaban","jawabnya","jelas","jelaskan","jelaslah","jelasnya","jika","jikalau","juga","jumlah","jumlahnya","justru","kala","kalau","kalaulah","kalaupun","kalian","kami","kamilah","kamu","kamulah","kapan","kapankah","kapanpun","karena","karenanya","kasus","kata","katakan","katakanlah","katanya","keadaan","kebetulan","kecil","kedua","keduanya","keinginan","kelamaan","kelihatan","kelihatannya","kelima","keluar","kembali","kemudian","kemungkinan","kemungkinannya","kenapa","kepada","kepadanya","kesampaian","keseluruhan","keseluruhannya","keterlaluan","ketika","khususnya","kini","kinilah","kira","kira-kira","kiranya","kita","kitalah","kurang","lagi","lagian","lah","lain","lainnya","lalu","lama","lamanya","lanjut","lanjutnya","lebih","lewat","lima","luar","macam","maka","makanya","makin","malah","malahan","mampu","mampukah","mana","manakala","manalagi","masa","masalah","masalahnya","masih","masihkah","masing","masing-masing","mau","maupun","melainkan","melakukan","melalui","melihat","melihatnya","memang","memastikan","memberi","memberikan","membuat","memerlukan","memihak","meminta","memintakan","memisalkan","memperbuat","mempergunakan","memperkirakan","memperlihatkan","mempersiapkan","mempersoalkan","mempertanyakan","mempunyai","memulai","memungkinkan","menaiki","menambahkan","menandaskan","menanti","menanti-nanti","menantikan","menanya","
  32. menanyai","menanyakan","mendapat","mendapatkan","mendatang","mendatangi","mendatangkan","menegaskan","mengakhiri","mengapa","mengatakan","mengatakannya","mengenai","mengerjakan","mengetahui","menggunakan","menghendaki","mengibaratkan","mengibaratkannya","mengingat","mengingatkan","menginginkan","mengira","mengucapkan","mengucapkannya","mengungkapkan","menjadi","menjawab","menjelaskan","menuju","menunjuk","menunjuki","menunjukkan","menunjuknya","menurut","menuturkan","menyampaikan","menyangkut","menyatakan","menyebutkan","menyeluruh","menyiapkan","merasa","mereka","merekalah","merupakan","meski","meskipun","meyakini","meyakinkan","minta","mirip","misal","misalkan","misalnya","mula","mulai","mulailah","mulanya","mungkin","mungkinkah","nah","naik","namun","nanti","nantinya","nyaris","nyatanya","oleh","olehnya","pada","padahal","padanya","pak","paling","panjang","pantas","para","pasti","pastilah","penting","pentingnya","percuma","perlu","perlukah","perlunya","pernah","persoalan","pertama","pertama-tama","pertanyaan","pertanyakan","pihak","pihaknya","pukul","pula","pun","punya","rasa","rasanya","rata","rupanya","saat","saatnya","saja","sajalah","saling","sama","sama-sama","sambil","sampai","sampai-sampai","sampaikan","sana","sangat","sangatlah","satu","saya","sayalah","sebab","sebabnya","sebagai","sebagaimana","sebagainya","sebagian","sebaik","sebaik-baiknya","sebaiknya","sebaliknya","sebanyak","sebegini","sebegitu","sebelum","sebelumnya","sebenarnya","seberapa","sebesar","sebetulnya","sebisanya","sebuah","sebut","sebutlah","sebutnya","secara","secukupnya","sedang","sedangkan","sedemikian","sedikit","sedikitnya","seenaknya","segala","segalanya","segera","seharusnya","sehingga","seingat","sejak","sejauh","sejenak","sejumlah","sekadar","sekadarnya","sekali","sekali-kali","sekalian","sekaligus","sekalipun","sekarang","sekecil","seketika","sekiranya","sekitar","sekitarnya","sekurang-kurangnya","sekurangnya","sela","selain","selaku","selalu","selama","selama-lamanya","selamanya","selanjutnya","seluruh","seluruhnya","semacam","semakin","semampu","semampunya","semasa","semasih","semata","semata-mata","semaunya","sementara","semisal","semisalnya","sempat","semua","semuanya","semula","sendiri","sendirian","sendirinya","seolah","seolah-olah","seorang","sepanjang","sepantasnya","sepantasnyalah","seperlunya","seperti","sepertinya","sepihak","sering","seringnya","serta","serupa","sesaat","sesama","sesampai","sesegera","sesekali","seseorang","sesuatu","sesuatunya","sesudah","sesudahnya","setelah","setempat","setengah","seterusnya","setiap","setiba","setibanya","setidak-tidaknya","setidaknya","setinggi","seusai","sewaktu","siap","siapa","siapakah","siapapun","sini","sinilah","soal","soalnya","suatu","sudah","sudahkah","sudahlah","supaya","tadi","tadinya","tahu","tahun","tak","tambah","tambahnya","tampak","tampaknya","tandas","tandasnya","tanpa","tanya","tanyakan","tanyanya","tapi","tegas","tegasnya","telah","tempat","tengah","tentang","tentu","tentulah","tentunya","tepat","terakhir","terasa","terbanyak","terdahulu","terdapat","terdiri","terhadap","terhadapnya","teringat","teringat-ingat","terjadi","terjadilah","terjadinya","terkira","terlalu","terlebih","terlihat","termasuk","ternyata","tersampaikan","tersebut","tersebutlah","tertentu","tertuju","terus","terutama","tetap","tetapi","tiap","tiba","tiba-tiba","tidak","tidakkah","tidaklah","tiga","tinggi","tunjuk","turut","tutur","tuturnya","ucap","ucapnya","ujar","ujarnya","umum","umumnya","ungkap","ungkapnya","untuk","usah","usai","waduh","wahai","waktu","waktunya","walau","walaupun","wong","yaitu","yakin","yakni");
  33.  
  34. $hapus_stopword = str_ireplace($stopword,"", $replacespasi); //kata yang mengandung stopword dari kata kunci dihapus
  35. //stemming
  36. $regexRules = array(
  37.             '/^be(.*)lah$/',
  38.             '/^be(.*)an$/',
  39.             '/^me(.*)i$/',
  40.             '/^di(.*)i$/',
  41.             '/^pe(.*)i$/',
  42.             '/^ter(.*)i$/',
  43.  
  44.             '/^di(.*)kan$/',
  45.             '/^di(.*)nya$/',
  46.             '/^di(.*)kannya$/',
  47.             '/^mem(.*)pe$/',
  48.             '/^meng(.*)g$/',
  49.             '/^meng(.*)h$/',
  50.             '/^meng(.*)q$/',
  51.             '/^meng(.*)k$/',
  52.             '/^mem(.*)kan$/',
  53.             '/^diper(.*)i$/',
  54.             '/^di(.*)i$/',
  55.             '/^memper(.*)kan$/',
  56.             '/^meny(.*)i$/',
  57.             '/^meny(.*)kan$/',
  58.             '/^men(.*)kan$/',
  59.             '/^me(.*)kan$/',
  60.             '/^meng(.*)nya$/',
  61.             '/^memper(.*)i$/',
  62.             '/^men(.*)i$/',
  63.             '/^meng(.*)i$/',
  64.             '/^ber(.*)nya$/',
  65.             '/^ber(.*)an$/',
  66.             '/^ke(.*)an$/',
  67.             '/^ke(.*)annya$/',
  68.             '/^peng(.*)an$/',
  69.             '/^peny(.*)an$/',
  70.             '/^per(.*)an$/',
  71.             '/^pen(.*)an$/',
  72.             '/^pe(.*)an$/',
  73.             '/^ber(.*)$/',
  74.             '/^di(.*)$/',
  75.             '/^men(.*)$/',
  76.             '/^meng(.*)$/',
  77.             '/^meny(.*)$/',
  78.             '/^mem(.*)$/',
  79.             '/^pen(.*)$/',
  80.             '/^peng(.*)$/',
  81.             '/^ter(.*)$/',
  82.             '/^mem(.*)$/',
  83.             '/^(.*)nya$/',
  84.             '/^(.*)lah$/',
  85.             '/^(.*)pun$/',
  86.             '/^(.*)kah$/',
  87.             '/^(.*)mu$/',
  88.             '/^(.*)an$/',
  89.             '/^(.*)kan$/',
  90.             '/^(.*)i$/',
  91.             '/^(.*)ku$/',
  92.         );
  93. global $regexRules;
  94.  
  95. $hapus_imbuhan = preg_replace($regexRules,"", $hapus_stopword);
  96. $imbuhan = '~^W*('.implode("|", array_map("preg_quote", $stopword)).')\W+\b|\b\W+(?1)\W*$~i';
  97. $hapusregex = str_replace($regexRules,"", $hapus_stopword);
  98. $ditoken = str_replace(" ",PHP_EOL, $hapusregex);
  99. $ditokenlagi = strtok($ditoken, " ");
  100. //stemming confix stripping stemmer
  101. require_once __DIR__ . '/vendor/autoload.php';
  102. $stringteks = $_POST['cari'];
  103. $array_text = $stringteks;
  104.  
  105. settype($array_sentence, "string");
  106. $stemmerFactory = new \Sastrawi\Stemmer\StemmerFactory();
  107. $stemmer  = $stemmerFactory->createStemmer();
  108. $content = $array_text;
  109.            
  110.             $output   = $stemmer->stem($content);
  111. global $output;
  112. $stemmerFactory = new \Sastrawi\Stemmer\StemmerFactory();
  113. $stemmer  = $stemmerFactory->createStemmer();
  114. $output = $stemmer->stem($hapus_stopword);
  115. $hasilStopWordRemoval = array();
  116. $hasilStemming = array($output);
  117. global $hasilStemming;
  118. $tokenKe = 0;
  119. foreach ($kentoken as $token) {
  120. $stopToken = str_ireplace($stopword,"", $token);
  121. if ($stopToken != "") {
  122. $hasilStopWordRemoval[$tokenKe] = $stopToken;
  123.  $stemmerFactory = new \Sastrawi\Stemmer\StemmerFactory();
  124. $stemmer  = $stemmerFactory->createStemmer();
  125. $hasilStemming[$tokenKe] = $stemmer->stem($hasilStopWordRemoval[$tokenKe]);
  126.  $tokenKe++;
  127. $frequency = 1;
  128. if(isset($_POST['cari']))
  129. {
  130. foreach ($hasilStemming as $value)
  131.     {
  132.         $tokentoken = strtok($value, " ");
  133.     $tokentoken1 = str_replace(" ", PHP_EOL, $value);
  134.     $Token2 = strtok($stringteks, " ");
  135.     $TOKEN = str_replace(" ", PHP_EOL, $stringteks);
  136.     $hapus_imbuhan = preg_replace($regexRules,"", $hapus_stopword);
  137.     $imbuhan = '~^W*('.implode("|", array_map("preg_quote", $stopword)).')\W+\b|\b\W+(?1)\W*$~i';
  138.     $hapusregex = str_replace($regexRules,"", $hapus_stopword);
  139.     $ditoken = str_replace(" ",PHP_EOL, $hapusregex);
  140.     $ditokenlagi = strtok($ditoken, " ");
  141.     $tokenagain = trim($query);
  142.  
  143.         $sql = "INSERT INTO termkeyword (queryuser,frequency) VALUES ('".$value."','".$frequency."')";
  144.         mysql_query($sql);    
  145.     }
  146. $utkFilter = array();//nilai array masih kosong
  147.  
  148.     foreach ($hasilStemming as $stem) {
  149.         $utkFilter[] = "'".$stem."'";
  150.        
  151.     }
  152.     $inFilter = implode(",", $utkFilter);
  153. $docIds = array();
  154.     for ($i = 1; $i <= 100; $i++) { //lakukan penulisan doc hingga doc ke 100 doc1 s.d. doc100
  155.         $docIds[] = 'doc'.$i;
  156.     }
  157. $sqlGetFreq = "SELECT * FROM termfrequency WHERE kata_kunci IN ($inFilter) ORDER BY kata_kunci, simbol_judul";
  158. $freqResult = mysql_query($sqlGetFreq) or die(mysql_error());
  159. $tf = array();
  160.     while ($tfRow = mysql_fetch_array($freqResult)) { //ambil data dari database
  161.  
  162.         if ( ! array_key_exists($tfRow['kata_kunci'], $tf)) {
  163.             $tf[$tfRow['kata_kunci']] = array(); //array kata_kunci
  164.         }
  165.        
  166.        $tf[$tfRow['kata_kunci']][$tfRow['simbol_judul']] = $tfRow['frekuensi'];
  167.  }
  168. $matrix_value = array();
  169. foreach ($hasilStemming as $stem) {
  170.  $matrix_value[$stem] = array();
  171. foreach ($docIds as $docId) {
  172.             if (array_key_exists($stem, $tf)) {
  173.                 $matrix_value[$stem][$docId] = 0;
  174.                 if (array_key_exists($docId, $tf[$stem])) {
  175.                     $matrix_value[$stem][$docId] = $tf[$stem][$docId];
  176.                 }
  177.             }
  178.             else {
  179.                
  180. $matrix_value[$stem][$docId] = 0;
  181.  
  182.         }
  183.     }
  184.  
  185.  echo '========';
  186.    echo '<pre>';//tag untuk memberikan batas spasi atas dan bawah antar nilai array
  187.    print_r($matrix_value);
  188.  
  189.  echo '</pre>'; //tag penutup
  190. }
  191. else
  192. {
  193. $tampil = mysql_query("SELECT * FROM termkeyword") or die(mysql_error());
  194.     while ($dokumen = mysql_fetch_array($tampil))
  195.     {
  196.         mysql_query("UPDATE termkeyword SET query='$output' ");
  197.         $hapus_duplicate_query = implode(' ', array_unique(explode(' ', $output)));
  198.         $hapus_imbuhan = preg_replace($regexRules,"", $hapus_stopword);
  199.         $imbuhan = '~^W*('.implode("|", array_map("preg_quote", $stopword)).')\W+\b|\b\W+(?1)\W*$~i';
  200.         $hapusregex = str_replace($regexRules,"", $hapus_stopword);
  201.         $ditoken = str_replace(" ",PHP_EOL, $hapusregex);
  202.         $ditokenlagi = strtok($ditoken, " ");
  203.     }
  204. }
  205.     $hapus_duplicate_query_duakali = implode(' ',array_unique(explode(' ', $query )));
  206.       $no_duplication = "SELECT DISTINCT queryuser FROM termkeyword ORDER BY id_term";
  207.         mysql_query($no_duplication);
  208.  
  209.         header("c:/xampp/htdocs/ujicoba/query_frekuensi.php");
  210.  
  211.  
  212. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement