Advertisement
Guest User

carickalimat model

a guest
Aug 18th, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.86 KB | None | 0 0
  1.  
  2.     public function kamus($explode, $tipe){
  3.         $terjemah = '';
  4.  
  5.         $cari = array();
  6.         foreach ($explode as $key => $value) {
  7.             $exp_comma = explode(",",$value); //pisahkan berdasarkan koma
  8.             $exp_titik = explode(".",$value); //pisahkan berdasarkan titik
  9.             $exp_tanya = explode("?",$value); //pisahkan berdasarkan tanya
  10.  
  11.             if(count($exp_comma)> 1){ //jika ada komanya
  12.                     $cari[] = $exp_comma[0]; //add array kata
  13.                     $cari[] = ",";
  14.             }elseif(count($exp_titik)> 1){//jika ada titiknya
  15.                     $cari[] = $exp_titik[0]; //add array kata
  16.                     $cari[] = ".";
  17.             }elseif(count($exp_tanya)> 1){ //jika ada tanyanya
  18.                     $cari[] = $exp_tanya[0]; //add array kata
  19.                     $cari[] = "?";
  20.             }else{
  21.                 $cari[] = $value; //add array kata
  22.             }
  23.         }
  24.  
  25.         $imp = implode(" ", $cari); //gabungkan berdasarkan spasi
  26.         $exp = explode(" ",$imp); //pisahkan berdasarkan spasi
  27.  
  28.         $kolom = ($tipe == 'jawa')? 'indonesia':'jawa';
  29.  
  30.         $kamus = $this->db->where_in($kolom, $exp)->get('kamus')->result_array(); //get kata yang dicari
  31.  
  32.         $terjemah = ''; //menyimpan terjemah
  33.         $tidak_ketemu = array(); //untuk menyimpan kata yang tidak ditemukan
  34.         $data = array();
  35.  
  36.  
  37.         // ELASTIC SEARCH
  38.         $i = 0;
  39.         while ($i < count($cari)) {
  40.             $n = 0;
  41.             $ketemu = false; //set default ketemu = false
  42.             $ter = $cari[$i];
  43.             $data_ = array();
  44.            
  45.             while ($n < count($kamus) && $ketemu == false) { //loop dampai ketemu
  46.                 if(strtolower($cari[$i]) == strtolower($kamus[$n][$kolom])){ //jika ketemu
  47.                     $ketemu = true; //set true
  48.                     $ter = $kamus[$n][$tipe]; //ambik terjemah nya
  49.                     $data_ = $kamus[$n]; //ambil datanya
  50.                 }else{
  51.                     $ketemu = false;
  52.                 }
  53.                 $n++;
  54.             }
  55.  
  56.             if($ketemu){
  57.                 $terjemah .= " ".$ter;
  58.                 $data[] = $data_;
  59.             }else{
  60.                 if(ctype_alnum  ($ter)) //cek mengandung alpha numeric atau tidak
  61.                     $terjemah .= " ".$ter;
  62.                 else
  63.                 $terjemah .= "".$ter;
  64.  
  65.                 if(ctype_alnum  ($ter)){ //cek mengandung alpha numeric atau tidak
  66.                     // insert ke db kata yang tidak ditemukan
  67.                     $this->db->insert('undefined', array('kata' => $ter, 'created_at' => date('Y-m-d H:i:s')));
  68.                     $tidak_ketemu[] = $ter;
  69.                 }
  70.             }
  71.  
  72.             $i++;
  73.         }
  74.         //
  75.  
  76.          return array('terjemah' => $terjemah, 'tidak_ketemu' => $tidak_ketemu, 'data' => $data);
  77.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement