PENGEMBANGAN SISTEM MANAJEMEN PERUNDANG- UNDANGAN MENGGUNAKAN MODEL PENCARIAN EXTENDED BOOLEAN (Studi Kasus : Kementrian Lingkungan Hidup RI)

1 PENGEMBANGAN SISTEM MANAJEMEN PERUNDANG- UNDANGAN MENGGUNAKAN MODEL PENCARIAN EXTENDED BOOLEAN (Studi Kasus : Kementrian Lingkungan Hidup RI) Skrips...
Author:  Ridwan Setiabudi

25 downloads 196 Views 4MB Size

Recommend Documents

        

2.Cek_login.php 
   

}else{$login=mysql_query("SELECT * FROM users WHERE username='$username' AND password='$pass' ");  $ketemu=mysql_num_rows($login);  $r=mysql_fetch_array($login);  if ($ketemu > 0){    session_start();    $_SESSION[namauser]     = $r[username];    $_SESSION[namalengkap]  = $r[nama_lengkap];    $_SESSION[passuser]     = $r[password];    $_SESSION[leveluser]    = $r[level];  $sid_lama = session_id();  session_regenerate_id();  $sid_baru = session_id();    mysql_query("UPDATE users SET id_session='$sid_baru' WHERE username='$username'");    header('location:media.php?module=home');}  else{  echo "";    echo "
LOGIN GAGAL! 
           Username atau Password Anda tidak benar.
          Atau account Anda sedang diblokir.
";    echo "ULANGI LAGI
";}}  ?>    

3.peraturan.php  <meta http‐equiv="Content‐Type" content="text/html;  charset=iso‐8859‐1" /><script type="text/javascript" src="development‐bundle/jquery‐1.3.2.js">  <script type="text/javascript" src="development‐bundle/ui/ui.core.js">  <script type="text/javascript" src="development‐bundle/ui/ui.datepicker.js">  <script type="text/javascript" src="development‐bundle/ui/i18n/ui.datepicker‐id.js">  <script>$(function() {$( "#datepicker" ).datepicker();});  <script type="text/javascript">$(document).ready(function(){$("#tanggal").datepicker({dateFormat :"dd  MM yy ",showOn     :"button",buttonImage  :"development‐ bundle/demos/datepicker/images/calendar.gif",buttonImageOnly : true});});  <script type="text/javascript">  function show(){var n = document.myform.jumfile.value;var i;var string = "";   for (i=0; i<=n‐1; i++){string = string + "Pilih File: 
";}   document.getElementById('files').innerHTML = string;document.myform.n.value = n;}    <script type="text/javascript">  function field(){var m = document.myform.jumtext.value;var i;var string = "";   for (i=0; i<=m‐1; i++){string = string + " Nama Peraturan :

";}   document.getElementById('text').innerHTML = string;  document.myform.m.value = m;}     
Untuk mengakses modul, Anda harus login 
";    echo "LOGIN
";}  else{$aksi="modul/mod_peraturan/aksi_peraturan.php";switch($_GET[act]){    default:    echo "

Peraturan

                         

   

          ";        $p      = new Paging; $batas  = 15;$posisi = $p‐>cariPosisi($batas);    if ($_SESSION[leveluser]=='admin'){  $tampil = mysql_query("SELECT * FROM peraturan,kategori WHERE  peraturan.id_kategori=kategori.id ORDER BY id_peraturan DESC LIMIT $posisi,$batas");  else{   $tampil=mysql_query("SELECT * FROM peraturan  WHERE username='$_SESSION[namauser]' ORDER BY  id_peraturan DESC LIMIT $posisi,$batas"); } $arsip=mysql_query("SELECT * FROM arsip,peraturan WHERE  peraturan.id_peraturan=arsip.id_peraturan");    $no = $posisi+1;while($r=mysql_fetch_array($tampil)){  echo "     ";   $no++;}   echo "
noNama Peraturantgl.disahkan   Kategoriaksi
$no$r[nama]$r[tgl_disahkan]$r[nama_kategori]Edit |    Hapus
";    if ($_SESSION[leveluser]=='admin'){  $jmldata = mysql_num_rows(mysql_query("SELECT * FROM peraturan"));  }   else{   $jmldata = mysql_num_rows(mysql_query("SELECT * FROM peraturan WHERE  username='$_SESSION[namauser]'"));} $jmlhalaman  = $p‐>jumlahHalaman($jmldata, $batas); $linkHalaman  = $p‐>navHalaman($_GET[halaman], $jmlhalaman); echo "$linkHalaman

";    break;    case "tambahperaturan":   echo "

Tambah Peraturan

";   echo"    Nama  Peraturan      :  Kategori   :    <select name='katagori'>‐ Pilih Kategori ‐";  $tampil=mysql_query("SELECT * FROM kategori ORDER BY nama_kategori");  while($r=mysql_fetch_array($tampil)){ echo "$r[nama_kategori]";}   echo " Tentang    Tgl Disahkan : "; Pilih Jumlah File";  ?> <select name="jumfile" onchange="show()">      0      1      2      3      4      5      6           
Pilih Jumlah peraturan terkait  <select name="jumtext" onchange="field()">      0      1      2      3      4      5      6     
                                                                                      ";       break;    case "editperaturan":      $edit = mysql_query("SELECT * FROM peraturan WHERE peraturan.id_peraturan='$_GET[id]'"); 

   

    $r    = mysql_fetch_array($edit);  $edit1 = mysql_query("SELECT * FROM arsip WHERE arsip.id_peraturan='$_GET[id]'");  $edit2 = mysql_query("SELECT * FROM terkait WHERE terkait.id_peraturan='$_GET[id]'");  echo "

Edit Peraturan

                                    Nama Peraturan                  ";      echo"";?>       *) Apabila file tidak diubah, dikosongkan saja.                                
 : 
Kategori : <select name='kategori'>";  $tampil=mysql_query("SELECT * FROM kategori ORDER BY nama_kategori");   if ($r[id_kategori]==0){ echo "‐‐‐Pilih Kategori‐‐‐";}     while($w=mysql_fetch_array($tampil)){ if ($r[id_kategori]==$w[id]){   echo "$w[nama_kategori]"; }    else{ echo "$w[nama_kategori]"; } }    echo "
tentang $r[tentang]
Tgl Disahkan :";  echo" 
Arsip :  "; echo "
    ";        while($d=mysql_fetch_array($edit1)){   echo "
  • $d[nama_arsip]
  • ";            echo"
Pilih Jumlah File<select name="jumfile" onchange="show()">      0      1      2      3      4      5      6     
 
Peraturan Terkait :  ";   while($d=mysql_fetch_array($edit2)){echo "
  • $d[nama_terkait]
  • ";   }  ?>
    Pilih Jumlah peraturan terkait<select name="jumtext" onchange="field()">      0      1      2      3      4      5      6     
    ";break;  }}?>       

    4.Aksi_Peraturan.php     
    Untuk mengakses modul, Anda harus login 
    "; 

       

      echo "LOGIN
    ";}  else{    include "../../../config/koneksi.php";  include "../../../config/library.php";  include "../../../config/fungsi_thumb.php";  include "../../../config/myIndexing1.php";  $module=$_GET[module];$act=$_GET[act];  if ($module=='peraturan' AND $act=='hapus'){    mysql_query("DELETE FROM my_index WHERE id_peraturan='$_GET[id]'");     mysql_query("DELETE FROM peraturan WHERE id_peraturan='$_GET[id]'");     mysql_query("DELETE FROM terkait WHERE id_peraturan='$_GET[id]'");       $arsip=mysql_query("SELECT * FROM arsip WHERE arsip.id_peraturan='$_GET[id]'");       while($row=mysql_fetch_array($arsip)){ unlink("../../../files/$row[nama_arsip]") or die("gagal");        }  mysql_query("DELETE FROM arsip WHERE arsip.id_peraturan='$_GET[id]'");    header('location:../../media.php?module='.$module);}  elseif ($module=='peraturan' AND $act=='input'){  mysql_query("INSERT INTO peraturan(nama,id_kategori,  tentang, tgl_disahkan, terkait, tanggal) VALUES('$_POST[nama]', '$_POST[katagori]',  '$_POST[tentang]',  '$_POST[tgl]', '$_POST[terkait]', '$tgl_sekarang')") or die(mysql_error());    $last_insert_peraturan_id = mysql_insert_id();  $n = $_POST['n'];  $uploaddir = '../../../files/';  for ($i=0; $i<=$n‐1; $i++){  $fileName = $_FILES['userfile'.$i]['name'];     $fileSize = $_FILES['userfile'.$i]['size'];  $tmpName  = $_FILES['userfile'.$i]['tmp_name'];  $uploadfile = $uploaddir . $fileName;  if ($fileSize > 0){ if (move_uploaded_file($tmpName, $uploadfile)){ $input="INSERT INTO  arsip(id_peraturan,nama_arsip) VALUES('$last_insert_peraturan_id','$fileName')";   mysql_query($input);   $index = new MyIndex;   $index‐>Process();}  else{echo "File ".$fileName." gagal diupload
    ";}}}  $m = $_POST['m'];  for ($j=0; $j<=$m‐1; $j++){    $text=$_POST['terkait'.$j];  $input1="INSERT INTO terkait(id_peraturan,nama_terkait)  VALUES('$last_insert_peraturan_id','$text')";mysql_query($input1);}   $index = new MyIndex;   $index‐>Process();  header('location:../../media.php?module='.$module); }elseif ($module=='peraturan' AND $act=='update'){  $sahkan=$_POST[thn_disahkan].'‐'.$_POST[bln_disahkan].'‐'.$_POST[tgl_disahkan];  mysql_query("DELETE FROM my_index WHERE id_peraturan='$_GET[id]'");  mysql_query("UPDATE peraturan SET nama      = '$_POST[nama]',   id_kategori = '$_POST[kategori]',   tentang  = '$_POST[tentang]', tgl_disahkan='$_POST[tgl]', terkait='$_POST[terkait]'  WHERE id_peraturan   = '$_POST[id]'") or die(mysql_error());   $index = new MyIndex;   $index‐>Process();  $n = $_POST['n'];  $uploaddir = '../../../files/';  for($i=0;$i<=$n‐1; $i++){  $fileName = $_FILES['userfile'.$i]['name'];     $fileSize = $_FILES['userfile'.$i]['size'];  $tmpName  = $_FILES['userfile'.$i]['tmp_name'];  $uploadfile = $uploaddir . $fileName;  if ($fileSize > 0){ $n = $_POST['n'];  for($z=0;$z<=$n‐1; $z++){$uploaddir = '../../../files/'; 

       

    $fileName = $_FILES['userfile'.$z]['name'];     $fileSize = $_FILES['userfile'.$z]['size'];  $tmpName  = $_FILES['userfile'.$z]['tmp_name'];  $uploadfile = $uploaddir . $fileName;  $arsip=mysql_query("SELECT * FROM arsip WHERE arsip.id_peraturan='$_POST[id]'");  while($row=mysql_fetch_array($arsip)){ unlink("../../../files/$row[nama_arsip]") or die("gagal"); }    mysql_query("DELETE FROM arsip WHERE arsip.id_peraturan='$_POST[id]'");}   $n = $_POST['n'];  for($i=0;$i<=$n‐1; $i++){$uploaddir = '../../../files/';  $fileName = $_FILES['userfile'.$i]['name'];     $fileSize = $_FILES['userfile'.$i]['size'];  $tmpName  = $_FILES['userfile'.$i]['tmp_name'];  $uploadfile = $uploaddir . $fileName;  move_uploaded_file($tmpName, $uploadfile);  $input="INSERT INTO arsip(id_peraturan,nama_arsip) VALUES('$_POST[id]','$fileName')";    mysql_query($input);} }  else{echo "File ".$fileName." gagal diupload
    ";}}  $m = $_POST['m'];  if($m>0){  for($h=0;$h<=$m‐1; $h++){mysql_query("DELETE FROM terkait WHERE id_peraturan='$_POST[id]'");  $text=$_POST['terkait'.$h];  $input1="INSERT INTO terkait(id_peraturan,nama_terkait) VALUES('$_POST[id]','$text')";  mysql_query($input1); }}   header('location:../../media.php?module='.$module);}}?>   

    5.indexing.php  go_db=MyAccess::instance();  }static function instance(){if(!MyIndex::$instance){ MyIndex::$instance = new MyIndex();}return  MyIndex::$instance; }  public function setIndex($filename){ $this‐>filename=$filename; $this‐>Process();}  function Process(){ $this‐>StopWordsThrow();$this‐>Stemming();$this‐>Weigth();$this‐>Save();  header('location:../../media.php?module='.$module); }  function StopWordsThrow(){$a_punct=array("\021","\022","\023","\024","\043","\051",  "\076","~","!","@","#","$","%","^","&","*","(",")","_","‐","+","=",  "|","\\",":",";","\"","'","<",">",".","?","/","`","\t",",","“","”");$this‐>a_doc=$this‐>go_db‐>GetAll('SELECT  id_peraturan,tentang FROM peraturan'); foreach($this‐>a_doc as $key=>$value){  $this‐>clearRepeatWord($value['tentang']);          $this‐>a_doc[$key]['tentang']=str_replace($a_punct," ",$value['tentang']); }}  function Stemming(){$i=0;  $this‐>a_dictionary=$this‐>go_db‐>GetCol('SELECT root_word FROM my_dictionary');  foreach($this‐>a_doc as $value){ $s_abs="";$a_abs=explode(" ",$value['tentang']);  foreach($a_abs as $word){ if(empty($word)) continue;  if(!in_array($word,$this‐>a_dictionary)){ $temp=$word;   $word=$this‐>_AfixThrow($this‐>_InflexionalThrow($word));   if(!in_array($word,$this‐>a_dictionary))   $word=$temp; }$s_abs.=" ".$word; }  $a_stopwords=$this‐>go_db‐>GetCol('SELECT stopwords FROM my_stopwords');  $s_abs=str_replace($a_stopwords," ",$s_abs);   $a_abs=explode(" ",trim($s_abs));  $a_term=array_count_values($a_abs);  foreach($a_term as $term=>$freq){ $this‐>a_index[$i]['id_peraturan']=$value['id_peraturan'];  this‐>a_index[$i]['term']=$term; $this‐>a_index[$i]['freq']=$freq;$i++;}}}  function Weigth(){$N=count($this‐>a_doc);if($N==1){ 

       

    foreach($this‐>a_index as $key=>$value){$this‐>a_index[$key]['tf']=$value['freq']/$this‐ >getFreqMax($value['id_peraturan']);  $this‐>a_index[$key]['idf']=0; $this‐>a_index[$key]['weight']=0; }}  else{foreach($this‐>a_index as $key=>$value){   $this‐>a_index[$key]['tf']=$value['freq']/$this‐>getFreqMax($value['id_peraturan']);  $this‐>a_index[$key]['idf']=log($N/$this‐>_GetFreqGlobal($value['term']))/log($N);  $this‐>a_index[$key]['weight']=($this‐>a_index[$key]['tf'])*($this‐>a_index[$key]['idf']);}}}  private function Save(){$this‐>go_db‐>Execute('TRUNCATE my_index');foreach($this‐>a_index as $value){  $this‐>go_db‐>Execute('INSERT INTO my_index  VALUES(?,?,?,?,?,?)',array($value['id_peraturan'],$value['term'],$value['freq'],$value['tf'],$value['idf'],$value ['weight'])); }}  private function clearRepeatWord(&$abs){ $abs=strtolower($abs);  preg_match_all('/[a‐z]+\‐+[a‐z]+[a‐z]/',$abs,$matches);  foreach($matches[0] as $match){ $a_repeat=explode('‐',$match);  if($a_repeat[0]==$a_repeat[1]){ $abs=str_replace($match,$a_repeat[0],$abs);}}}  private function _GetFreqGlobal($term){$freq=0;  foreach($this‐>a_index as $value){ if($value['term']==$term) $freq++;  }return $freq; }  ]private function getFreqMax($id_peraturan){ $max=1;  foreach($this‐>a_index as $value){ if($value['id_peraturan']==$id_peraturan){  if($max<$value['freq']) $max=$value['freq']; }}return $max;}  function _InflexionalThrow($word){ $a_inflexional=array('ku','mu','nya','kah','lah');  foreach($a_inflexional as $inf){ if($this‐>_EndWith($word,$inf)){  $word=substr_replace($word,'',strrpos($word,$inf),strlen($inf));  break; }}return $word; }  function _AfixThrow($word){  $a_prefix=array('meng','memper','mempe','mem','di','ber','peng','ke','se','ter','per');  $a_sufix=array('i','kan','an');  if($this‐>_StartWith($word,'meny')) $word=substr_replace($word,'s',strpos($word,'meny'),strlen('meny'));  else if(($this‐>_StartWith($word,'men')) &&(!$this‐>_StartWith($word,'meng')) &&($this‐ >_EndWith($word,'kan'))){ $word=substr_replace($word,'t',strpos($word,'men'),strlen('men'));  $word=substr_replace($word,'',strrpos($word,'kan'),strlen('kan')); }  if(in_array($word,$this‐>a_dictionary)) return $word;  foreach($a_prefix as $prefix){ $is_prefix=false;  if($this‐>_StartWith($word,$prefix)){ $is_prefix=true;  $word=substr_replace($word,'',strpos($word,$prefix),strlen($prefix)); }  if(in_array($word,$this‐>a_dictionary)) break;  if($is_prefix){ foreach($a_sufix as $sufix){ if(($sufix=='i')&&(strrpos($word,'ai')))  continue;  if($this‐>_EndWith($word,$sufix))   $word=substr_replace($word,'',strrpos($word,$sufix),strlen($sufix));  if(in_array($word,$this‐>a_dictionary))  break; }}  if(in_array($word,$this‐>a_dictionary))  break; }  return $word; }  function _StartWith($word,$prefix){ $c_prefix=substr($word,0,strlen($prefix));  if($c_prefix==$prefix)   return true;  else  return false; }  function _EndWith($word,$sufix){ $c_sufix=substr($word,strlen($sufix)*‐1,strlen($sufix));  if($c_sufix==$sufix)   return true; else  return false; }}?>   

    6.search.php 
       

    require 'config/indexing.php';  class MySearchModel{static private $instance =false;private $db;private $index;private  $query;private $next_query_or;private $next_query_and;private $param;private  $case_param;private $restrict_or;private $restrict_and;private $restrict;private  $name_table;private $a_coloumn=array();  function __construct(){  $this‐>db=MyAccess::instance();  $this‐>index=MyIndex::instance();}   static function instance(){if(!MySearchModel::$instance){ MySearchModel::$instance = new  MySearchModel();}return MySearchModel::$instance; }  function setResult($find,$parameter){  $_POST['find']=$find; $_POST['parameter']=$parameter;  $a_result=array();$ceck_and=array(1,2);$find=$this‐>clearKeyword($find);  $a_keyword=$this‐>parseWords($find);  $this‐>queryFirst();  if(count($a_keyword)<=2){ $this‐>arrangeQueryOr($a_keyword,$parameter);}  if(count($a_keyword)>2){ $this‐>arrangeQueryAnd($a_keyword,$parameter);   }$this‐>arrangeQuery(count($a_keyword),$parameter);  $this‐>queryLast();  $a_result=$this‐>db‐>GetAll($this‐>query);  foreach($a_result as $key=> $result){ foreach($a_keyword as $keyword){   if(empty($keyword))continue;  $a_result[$key]['tentang']=preg_replace("/\b$keyword\b/i",''.$keyword.'',$a_result[$ke y]['tentang']); }}  $no=1; $p      = new Paging10; $batas  = 2; $posisi = $p‐>cariPosisi($batas);  echo"";foreach ($a_result as $result){   echo "";  echo"";  echo"";$no++;}  echo"
    ".$no."".$result['nama']. "(".$result['peringkat'].")
    id Peraturan :".$result['id_peraturan']."
    ".$result['tentang']."
    ";    $jmldata     = count($a_result);    $jmlhalaman  = $p‐>jumlahHalaman($jmldata, $batas);    $linkHalaman = $p‐>navHalaman($_GET[halperaturan], $jmlhalaman);      echo "Hal: $linkHalaman ";  return $a_result; }  public function goSearch(){return $this‐>db‐>GetAll("SELECT * FROM  temp_result_".$_SESSION['search']['name_table']); }  private function setSearch(){$this‐>db‐>Execute($this‐>query);}  private function arrangeQueryOr($a_keyword,$parameter){$not='';  foreach($a_keyword as $keyword){ if(strstr($keyword,'|')!==FALSE){  $keyword=str_replace('|','',$keyword); $not='NOT ';}  $this‐>restrict_or.=$not."result.".$keyword." OR ";  $this‐>param.="result.".$keyword."+";  if(!in_array($keyword,$this‐>a_coloumn)){ $this‐>next_query_or.="result.".$keyword.",";  $this‐>case_param.="SUM(CASE WHEN term='".$keyword."' THEN POW(weight,".$parameter.")  ELSE 0 END) AS ".$keyword.","; $this‐>a_coloumn[]=$keyword; }}}  private function arrangeQueryAnd($a_keyword,$parameter){  $param_and='';$not='';$p=count($a_keyword);if(!empty($this‐>restrict_and))  $this‐>restrict_and.=' OR '; foreach($a_keyword as $keyword){  if(strstr($keyword,'|')!==FALSE){ $not='NOT ';}  if(empty($keyword)) continue; 

       

    $keyword=str_replace('|','',$keyword); $this‐>restrict_and.=$not."result.".$keyword." AND ";  $param_and.="POW((1‐result.".$keyword."),".$parameter.")+"; if(!in_array($keyword,$this‐ >a_coloumn)){ $this‐>next_query_and.="result.".$keyword.","; $this‐>case_param.="SUM(CASE  WHEN term='".$keyword."' THEN POW(weight,".$parameter.") ELSE 0 END) AS ".$keyword.",";  $this‐>a_coloumn[]=$keyword; }}  $this‐>restrict_and=substr_replace($this‐>restrict_and,'',strrpos($this‐>restrict_and,'AND'),3);    $param_and=substr_replace($param_and,'',strrpos($param_and,'+'),1);  $this‐>param.="(1‐POW((".$param_and.")/".$p.",1/".$parameter."))+"; }  private function arrangeQuery($p,$parameter){ $param=substr_replace($this‐ >param,'',strrpos($this‐>param,'+'),1);  if(!empty($this‐>next_query_or)&&!empty($this‐>next_query_and)){        $this‐>restrict=$this‐>restrict_or."".$this‐>restrict_and;        $this‐>restrict=str_replace('OR NOT','AND NOT',$this‐>restrict);        $this‐>query.=$this‐>next_query_or."".$this‐>next_query_and;        $this‐>query.="POW((".$param.")/".$p.",1/".$parameter.") ";  }else if(!empty($this‐>next_query_or)){    $this‐>restrict_or=substr_replace($this‐>restrict_or,'',strripos($this‐>restrict_or,'OR'),2);  $this‐>restrict=$this‐>restrict_or;  $this‐>restrict=str_replace('OR NOT',') AND NOT',$this‐>restrict);  if(strstr($this‐>restrict,'NOT')!==FALSE){ $this‐>restrict="(".$this‐>restrict; }  $this‐>query.=$this‐>next_query_or;  $this‐>query.="POW((".$param.")/".$p.",1/".$parameter.") ";}else{  $this‐>restrict=$this‐>restrict_and; $this‐>query.=$this‐>next_query_and; $this‐ >query.="(".$param.") ";}  $this‐>query.="AS peringkat FROM (SELECT ".$this‐>case_param." id_peraturan ";}  function clearKeyword($find){ $a_stopwords=$this‐>db‐>GetCol('SELECT stopwords FROM  my_stopwords'); $a_dictionary=$this‐>db‐>GetCol('SELECT root_word FROM my_dictionary');  $a_punct=array("\021","\022","\023","\024","\043","\051","\076","~","!","@","#","$","%","^"," &","*","(",")","_","‐","+","=","\\",":",";","'","<",">",".","?","/","`","\t",",","“","”");      $find=str_replace($a_punct," ",$find);      $s_abs="";      $a_abs=explode(" ",$find);      foreach($a_abs as $word){ if(empty($word))    continue;  if(!in_array($word,$a_dictionary)){ $temp=trim($word);  $word=$this‐>index‐>_AfixThrow($this‐>index‐>_InflexionalThrow($word));  if(!in_array($word,$a_dictionary)) $word=$temp; }  $s_abs.=" ".$word; }  return strtolower(trim(str_replace($a_stopwords," ",str_replace($a_punct," ",$s_abs))));}  private function parseWords($text, $minlength = 2){   $result = Array();  if(@preg_match_all('/"(?P<string>[^"\\\\]{' . $minlength . ',}(?:\\\\.[^"\\\\]*)*)"|(?P<words>[^  "]{' . $minlength . ',})/', $text, $regs)){ if(($result = @array_unique(@array_filter($regs['words']) +  @array_filter($regs['string']))) !== NULL) {@ksort($result, SORT_NUMERIC); }}return($result); }  private function queryFirst(){$this‐>query="CREATE TABLE IF NOT EXISTS temp_result_%s AS  SELECT result.id_peraturan,peraturan.nama,peraturan.tentang, ";  $this‐>query="SELECT result.id_peraturan,peraturan.nama,peraturan.tentang, ";}  private function queryLast(){if((stristr($this‐>restrict,'or')===FALSE)&&(stristr($this‐ >restrict,'and')===FALSE)) $having="HAVING ".$this‐>restrict."<>0";else  $having="HAVING ".$this‐>restrict; $this‐>query.="FROM my_index GROUP BY id_peraturan )  result,peraturan peraturan WHERE result.id_peraturan=peraturan.id_peraturan GROUP BY  result.id_peraturan ".$having." ORDER BY peringkat DESC";}?> 

       

     

    Dalam pengumpulan data (Collecting Data), penulis melakukan wawancara dengan Bapak Zaid Ibnu Awwal Selaku Staff Deputi Pengembangan Perundang. Berikut beberapa petikan hasil wawancara yang dilakukan oleh penulis: 1. Bagaimana Pengaturan file-file peraturan pada saat ini? File peraturan pada saat ini hanya didata menggunakan microsoft excell dan tidak tersedia file salinan berupa PDF 2. Bagaimana Sosialisasi peraturan yang telah ada pada saat ini kepada masyrakat? Sosialisasi Peraturan pada masyrakat pada saat ini hanya sebatas menggunakan buku kecil, yang diperbanyak dan hanya peraturan tertentu saja yang dibuatkan buku kecil dan dibagikan ke masyarakat. 3. Apakah masyarakat bisa melihat peraturan yang dia inginkan? Hal ini tidak lepas dari namanya birokrasi dalam kementrian Lingkungan Hidup, dan tidak semua masyarakat bisa melihat peraturan-peraturan yang ada dalam kementrian Lingkungan Hidup. Jadi hanya orang-orang yang berkepentingan saja yang dapat melihat peraturan yang ada, hal ini dikarenakan pencarian yang manual dan tidak instan. 4. Adakah kendala dalam penyusunan undang-undang? Kendala yang ada dalam penyusunan undang-undang adalah terjadinya peraturan yang bertentangan antara peraturan daerah dengan peraturan

       

    pusat. Hal ini dikarenakan kurangnya informasi akan peraturan perundangundangan yang didaerah maupun dipusat. 5. Dari banyaknya kendala di atas, pengembangan sistem seperti apa yang bapak harapkan? Pengembangan sistem yang dilakukan tentu saja diharapkan mampu menjawab berbagai kendala yang selama ini kami hadapi. Terutama kendala sosialisai undang-undang terhadap masyarakat dan juga diharapkan masyarakat dapat melihat dan mendownload file copy dari setiap undang-undang secara online, dan juga tersedianya sistem yang cepat dan tepat dalam melakukan pencarian undang-undang yang ada.

    Jakarta,

    Juli 2011

    (…………………………….)

       

    A. Interface Halaman User  1. Halaman Home 

      2. Halaman Profile Tentang Kami 

      3. Profile Struktur Organisasi 

       

      4. Agenda 

      5. Halaman Berita User 

       

      6. halaman Peraturan 

      7. halaman Detail Peraturan 

       

      8.Halaman Pencarian 

      9. Halaman Hasil Pencarian 

       

      10. Hubungi Kami 

      B. Interface Halaman Admin       

    1.  halaman Edit Account Admin 

       

    2. Halaman Input Kategori 

                3. Edit Kategori 

       

      4.input Peraturan 

        5. Edit Peraturan 

       

      6. Hapus Peraturan 

        7. Hapus Hubungi Kami 

       

      8. input Sekilas Info 

      9.Edit Sekilas Info 

      10. Hapus Sekilas Info