Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $dbhost = 'localhost';
- $dbuser = 'root';
- $dbpass = '';
- $dbname = 'dokumenjurnal';
- error_reporting(E_ALL ^ E_DEPRECATED);
- mysql_connect($dbhost,$dbuser,$dbpass) or die(mysqli_error('cannot connect to the server'));
- mysql_select_db($dbname) or die(mysqli('database selection problem'));
- mysql_query("TRUNCATE termkeyword");
- $query = $_POST['cari'];
- $stringteks = $query;
- $konversi = strtolower($stringteks); //mengubah huruf besar menjadi kecil
- $jenistandabaca = array(',', '!', '?', '.', ':',';', '-');
- $hapustandabaca = str_replace($jenistandabaca,'',$konversi);
- $hapustandabaca = trim(preg_replace('/[^0-9a-z]+/i','', $konversi)); //menghilangkan semua tanda baca
- $hapustandabaca = preg_replace('/[^a-z\d]+/i', '', $konversi);
- $hapustandabaca = preg_replace('/[^\w]+/','',$konversi);
- $hapustandabaca = preg_replace('/\W+/','',$konversi);
- $tokenbiasa = strtok($query, " "); //mentoken query input
- $replacespasi = str_replace(" ", PHP_EOL, $query);
- $konversistring = explode("/", $konversi); //konversi string ke array
- $kentoken = explode(" ", $konversi);//konversi string ke array. array dari data input
- $array = preg_split('/[\pZ\pC]+/u', $konversi);
- $ubahkarakter = str_replace(" ", '<br/>', $konversi);
- $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","
- 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","
- 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","
- dituturkan","dituturkannya","diucapkan","diucapkannya","diungkapkan","dong","dua","dulu","empat","enggak","enggaknya","entah","entahlah","guna","gunakan","hal","
- 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","
- 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");
- $hapus_stopword = str_ireplace($stopword,"", $replacespasi); //kata yang mengandung stopword dari kata kunci dihapus
- //stemming
- $regexRules = array(
- '/^be(.*)lah$/',
- '/^be(.*)an$/',
- '/^me(.*)i$/',
- '/^di(.*)i$/',
- '/^pe(.*)i$/',
- '/^ter(.*)i$/',
- '/^di(.*)kan$/',
- '/^di(.*)nya$/',
- '/^di(.*)kannya$/',
- '/^mem(.*)pe$/',
- '/^meng(.*)g$/',
- '/^meng(.*)h$/',
- '/^meng(.*)q$/',
- '/^meng(.*)k$/',
- '/^mem(.*)kan$/',
- '/^diper(.*)i$/',
- '/^di(.*)i$/',
- '/^memper(.*)kan$/',
- '/^meny(.*)i$/',
- '/^meny(.*)kan$/',
- '/^men(.*)kan$/',
- '/^me(.*)kan$/',
- '/^meng(.*)nya$/',
- '/^memper(.*)i$/',
- '/^men(.*)i$/',
- '/^meng(.*)i$/',
- '/^ber(.*)nya$/',
- '/^ber(.*)an$/',
- '/^ke(.*)an$/',
- '/^ke(.*)annya$/',
- '/^peng(.*)an$/',
- '/^peny(.*)an$/',
- '/^per(.*)an$/',
- '/^pen(.*)an$/',
- '/^pe(.*)an$/',
- '/^ber(.*)$/',
- '/^di(.*)$/',
- '/^men(.*)$/',
- '/^meng(.*)$/',
- '/^meny(.*)$/',
- '/^mem(.*)$/',
- '/^pen(.*)$/',
- '/^peng(.*)$/',
- '/^ter(.*)$/',
- '/^mem(.*)$/',
- '/^(.*)nya$/',
- '/^(.*)lah$/',
- '/^(.*)pun$/',
- '/^(.*)kah$/',
- '/^(.*)mu$/',
- '/^(.*)an$/',
- '/^(.*)kan$/',
- '/^(.*)i$/',
- '/^(.*)ku$/',
- );
- global $regexRules;
- $hapus_imbuhan = preg_replace($regexRules,"", $hapus_stopword);
- $imbuhan = '~^W*('.implode("|", array_map("preg_quote", $stopword)).')\W+\b|\b\W+(?1)\W*$~i';
- $hapusregex = str_replace($regexRules,"", $hapus_stopword);
- $ditoken = str_replace(" ",PHP_EOL, $hapusregex);
- $ditokenlagi = strtok($ditoken, " ");
- //stemming confix stripping stemmer
- require_once __DIR__ . '/vendor/autoload.php';
- $stringteks = $_POST['cari'];
- $array_text = $stringteks;
- settype($array_sentence, "string");
- $stemmerFactory = new \Sastrawi\Stemmer\StemmerFactory();
- $stemmer = $stemmerFactory->createStemmer();
- $content = $array_text;
- $output = $stemmer->stem($content);
- global $output;
- $stemmerFactory = new \Sastrawi\Stemmer\StemmerFactory();
- $stemmer = $stemmerFactory->createStemmer();
- $output = $stemmer->stem($hapus_stopword);
- $hasilStopWordRemoval = array();
- $hasilStemming = array($output);
- global $hasilStemming;
- $tokenKe = 0;
- foreach ($kentoken as $token) {
- $stopToken = str_ireplace($stopword,"", $token);
- if ($stopToken != "") {
- $hasilStopWordRemoval[$tokenKe] = $stopToken;
- $stemmerFactory = new \Sastrawi\Stemmer\StemmerFactory();
- $stemmer = $stemmerFactory->createStemmer();
- $hasilStemming[$tokenKe] = $stemmer->stem($hasilStopWordRemoval[$tokenKe]);
- $tokenKe++;
- $frequency = 1;
- if(isset($_POST['cari']))
- {
- foreach ($hasilStemming as $value)
- {
- $tokentoken = strtok($value, " ");
- $tokentoken1 = str_replace(" ", PHP_EOL, $value);
- $Token2 = strtok($stringteks, " ");
- $TOKEN = str_replace(" ", PHP_EOL, $stringteks);
- $hapus_imbuhan = preg_replace($regexRules,"", $hapus_stopword);
- $imbuhan = '~^W*('.implode("|", array_map("preg_quote", $stopword)).')\W+\b|\b\W+(?1)\W*$~i';
- $hapusregex = str_replace($regexRules,"", $hapus_stopword);
- $ditoken = str_replace(" ",PHP_EOL, $hapusregex);
- $ditokenlagi = strtok($ditoken, " ");
- $tokenagain = trim($query);
- $sql = "INSERT INTO termkeyword (queryuser,frequency) VALUES ('".$value."','".$frequency."')";
- mysql_query($sql);
- }
- $utkFilter = array();//nilai array masih kosong
- foreach ($hasilStemming as $stem) {
- $utkFilter[] = "'".$stem."'";
- }
- $inFilter = implode(",", $utkFilter);
- $docIds = array();
- for ($i = 1; $i <= 100; $i++) { //lakukan penulisan doc hingga doc ke 100 doc1 s.d. doc100
- $docIds[] = 'doc'.$i;
- }
- $sqlGetFreq = "SELECT * FROM termfrequency WHERE kata_kunci IN ($inFilter) ORDER BY kata_kunci, simbol_judul";
- $freqResult = mysql_query($sqlGetFreq) or die(mysql_error());
- $tf = array();
- while ($tfRow = mysql_fetch_array($freqResult)) { //ambil data dari database
- if ( ! array_key_exists($tfRow['kata_kunci'], $tf)) {
- $tf[$tfRow['kata_kunci']] = array(); //array kata_kunci
- }
- $tf[$tfRow['kata_kunci']][$tfRow['simbol_judul']] = $tfRow['frekuensi'];
- }
- $matrix_value = array();
- foreach ($hasilStemming as $stem) {
- $matrix_value[$stem] = array();
- foreach ($docIds as $docId) {
- if (array_key_exists($stem, $tf)) {
- $matrix_value[$stem][$docId] = 0;
- if (array_key_exists($docId, $tf[$stem])) {
- $matrix_value[$stem][$docId] = $tf[$stem][$docId];
- }
- }
- else {
- $matrix_value[$stem][$docId] = 0;
- }
- }
- echo '========';
- echo '<pre>';//tag untuk memberikan batas spasi atas dan bawah antar nilai array
- print_r($matrix_value);
- echo '</pre>'; //tag penutup
- }
- else
- {
- $tampil = mysql_query("SELECT * FROM termkeyword") or die(mysql_error());
- while ($dokumen = mysql_fetch_array($tampil))
- {
- mysql_query("UPDATE termkeyword SET query='$output' ");
- $hapus_duplicate_query = implode(' ', array_unique(explode(' ', $output)));
- $hapus_imbuhan = preg_replace($regexRules,"", $hapus_stopword);
- $imbuhan = '~^W*('.implode("|", array_map("preg_quote", $stopword)).')\W+\b|\b\W+(?1)\W*$~i';
- $hapusregex = str_replace($regexRules,"", $hapus_stopword);
- $ditoken = str_replace(" ",PHP_EOL, $hapusregex);
- $ditokenlagi = strtok($ditoken, " ");
- }
- }
- $hapus_duplicate_query_duakali = implode(' ',array_unique(explode(' ', $query )));
- $no_duplication = "SELECT DISTINCT queryuser FROM termkeyword ORDER BY id_term";
- mysql_query($no_duplication);
- header("c:/xampp/htdocs/ujicoba/query_frekuensi.php");
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement