Membangun Web Service PDDIKTI Sederhana (Lanjutan), Insert Matakuliah

Dalam sistem akademik, sudah pasti komponen-komponen yang wajib harus ada adalah adanya mahasiswa, dosen, serta kurikulum (matakuliah yang ditawarkan kepada calon mahasiswa). Dalam kesempatan kali ini akan saya buatkan Web Service sederhana (lanjutan) untuk insert matakuliah. Sebelum kita merancang web service, ada baiknya kita mengetahui mapping tabel feeder (memanfaatkan dictionary tabel yang sudah saya bahas pada tutorial sebelumnya) supaya dalam desain WS kita semakin jelas kebutuhan-kebutuhan tabel feeder yang akan kita isi data melalui web service.
Untuk mepersingkat waktu baiklah kita ikuti langkah-langkahnya.

Download template matakuliah dalam bentuk excel disini
Buka file depan.php dan edit seperti kode dibawah ini.

depan.php


<?php
include "session.php";
//echo "Id Perguruan Tinggi : <strong>".$id_sp."</strong><br />";
echo "Nama Perguruan Tinggi : <strong>".$nm_lemb."</strong><br />";

?>
<br />
<form method="post" enctype="multipart/form-data" action="dictionary.php">
<input name="dictiopnary" type="submit" value="Dictionary">
</form>

<fieldset>
  <legend>Form excell</legend>
  <p>Untuk <strong><font color="#990000">insert mahasiswa dari file excell</font></strong> silahkan download template excel <a href="temp_excell/inst_mhs.xls">disini</a></p>
<form method="post" enctype="multipart/form-data" action="insert_mhs.php">
Pilih File Excel :
<input name="fileexcel" type="file"> <input name="upload" type="submit" value="Import">
</form>
<br />
 <p>Untuk <strong><font color="#990000">insert Matakuliah file excell</font></strong> silahkan download template excel <a href="temp_excell/matkul_sample.xls">disini</a></p>
<form method="post" enctype="multipart/form-data" action="insert_matakuliah.php">
Pilih File Excel :
<input name="fileexcel" type="file"> <input name="upload" type="submit" value="Import">
</form>
<br />
  <p>Untuk <strong><font color="#990000">insert KRS dari file excell</font></strong> silahkan download template excel <a href="temp_excell/krs_mhs.xls">disini</a></p>
<form method="post" enctype="multipart/form-data" action="insert_krs_mhs.php">
Pilih File Excel :
<input name="fileexcel" type="file"> <input name="upload" type="submit" value="Import">
</form>
<br />
  <p>Untuk <strong><font color="#990000">insert nilai dari file excell</font></strong> silahkan download template excel <a href="temp_excell/nilai_mhs.xls">disini</a></p>
<form method="post" enctype="multipart/form-data" action="insert_nilai_mhs.php">
Pilih File Excel :
<input name="fileexcel" type="file"> <input name="upload" type="submit" value="Import">
</form>
</fieldset>
<br />
<fieldset>
  <legend>Form MySql2Feeder</legend>
<p>Untuk <strong><font color="#990000">insert mahasiswa</font></strong> dari database : <font color="#000066" size="+2">MySql to Feeder</font></p>
<form method="post" enctype="multipart/form-data" action="mhs_mysql2feeder.php">
<input name="mhs" type="submit" value="MySql2Feeder">
</form>
</fieldset>
<br />
<form method="post" enctype="multipart/form-data" action="logout.php" title="Logout">
<input name="kembali" type="submit" value="Logout" />
</form>

Untuk kode insert matakuliah seperti kode berikut :

insert_matakuliah.php


<html>
<head>
</head>
<body>
<h1> Insert Matakuliah to Feeder </h1>
         
 <!-- Database sisfo -->
<?php
include 'session.php';
include "excel_reader2.php";
@$data = new Spreadsheet_Excel_Reader($_FILES['fileexcel']['tmp_name']);
@$hasildata = $data->rowcount($sheet_index=0);
$sukses = 0;
$gagal = 0;

for ($i=2; $i<=$hasildata; $i++) // membaca data dimulai baris ke 2
{
  //echo "<br>";
  //echo "id_sp='".$id_sp."'<br>";
  $id_sp1="id_sp='".$id_sp."'";
  //echo $id_sp1."<br>";
  $prodi=$data->val($i,2);      
  //echo "kode prodi : ".$data->val($i,2)."<br>";
  $kode_prodi="kode_prodi ILIKE '%$prodi%'";
  $filter=$kode_prodi." AND ".$id_sp1;
  echo $filter."<br>";
  //$tbl_sms='sms';
  //$result=$proxy->GetRecord($gettoken,$tbl_sms,$kode_prodi);
  $result=$proxy->GetRecord($gettoken,'sms',$filter);
  //var_dump($result);
  //$coba=$result['result'];
  $id_sms=$result['result']['id_sms'];
  $jen=$result['result']['id_jenj_didik']; 
  //echo "id_sms = '".$id_sms."'<br>";
  //echo "id_jenj_didik = '".$jen."'<br>";
   //$sks=$data->val($i,1);  
   $tm=$data->val($i,7);  
   $prak=$data->val($i,8);  
   $lap=$data->val($i,9);
   $a_sap=$data->val($i,11);
   $a_silabus=$data->val($i,12);
   $a_bhn_ajar=$data->val($i,13);
   $acara_prak=$data->val($i,14);
   $a_diktat=$data->val($i,14);
  $record['id_sms']=$id_sms;
  $record['id_jenj_didik']=$jen;
  $record['kode_mk']=$data->val($i,3);                       // inti
  $record['nm_mk']= $data->val($i,4);                         // inti
  $record['jns_mk']= $data->val($i,6);                       // inti
  $record['sks_mk']=(integer)$tm+(integer)$prak;
  $record['sks_tm']=$tm;
  $record['sks_prak']=$prak;
  $record['sks_prak_lap']=$lap;
  $record['a_sap']=$a_sap;
  $record['a_silabus']=$a_silabus;
  $record['a_bhn_ajar']=$a_bhn_ajar;
  $record['acara_prak']=$acara_prak;
  $record['a_diktat']=$a_diktat;
  
  //$record['tgl_mulai_efektif']='2014-11-21';
  //$record['tgl_akhir_efektif']='2018-11-21';

  $records[]=$record; //data dikumpulkan pada array records
  
  }

  //print_r($records);

  $j_encode=json_encode($records);
  $makul_json=$j_encode;
  //echo "SKS TOTAL= ".$sks_lls;
  //print_r($makul_json);
  $j_decode=json_decode($j_encode,true);
  $makul_jsdec=$j_decode;
  //print_r($makul_jsdec);
  $result=$proxy->InsertRecordset($gettoken,'mata_kuliah',$makul_json);
  //print_r($result);
  //var_dump($result);
 echo "<pre>";
 if ($result['result']) {
  //for ($i=2; $i<=$hasildata; $i++){
   foreach ($j_decode as $row){
    $jenjang=$row['id_jenj_didik'];
    $kd_mk=$row['kode_mk'];
    $sks=$row['sks_mk'];
    
    echo "<br>Jenjang : ".$jenjang." | Kode MK : ".$kd_mk." | SKS = ".$sks;
    
    if ($hasildata) $sukses++;
    else $gagal++;
   }
  //}
 }
 echo "</pre>";

echo "<b>import data selesai.</b> <br>";
echo "Data yang berhasil di import : " . $sukses .  "<br>";
echo "Data yang gagal diimport : ".$gagal .  "<br>";
?>

</tr>
</tr>
</body>
</html>

Untuk insert matakuliah ada batasan-batasan role untuk login disini, yaitu harus login sebagai admin PT, sedang admin prodi tidak diperkenankan.

Demikian sekilas tentang tutorial membangun Web Service sederhana untuk kebutuhan feeder, semoga bagi yang bermaksud belajar bisa memahami konsep dasar ini dan bisa dikembangkan dikemudian hari yang lebih baik.

Selamat belajar, selamat berkarya dan sukses selalu.
Salam Koding dan CHAYOOOOOOOO....
Previous
Next Post »