Membangun Web Service PDDIKTI Sederhana (Lanjutan) Insert KRS Excel2Feeder

Pembuatan webservice sederhana ini semoga menjadi awal bagi teman-teman untuk belajar memahami bagaimana membuat webservice. Yang dibahas pada tutorial ini adalah masih sangat-sangat sederhana supaya teman-teman yang awam dengan kode php atau yang baru saja belajar bisa mencoba membuat kode/skrip untuk menunjang tugas sehari-hari.
Pada kesempatan kali ini, akan dibahas bagaimana membuat webservice untuk Insert KRS. Tutorial ini adalah melanjutkan tutorial-tutorial terdahulu, sehingga teman-teman yang ingin mencoba kode berikut harus sudah memiliki struktur web yang sudah kami bahas pada tutorial sebelumnya.
Langkah untuk membuat kode Insert KRS, seperti pembahasan terdahulu bahwa harus kita buka terlebih dahulu file depan.php.
Sedangkan file excel KRS yang dibutuhkan adalah dari file excel insert nilai yang dikosongi pada nilai huruf dan nilai indeks.
Berikut langkah untuk merubah file depan.php, dan copas kode berikut dan letakkan sesuai urutan menurut baiknya teman-teman.


<fieldset>
  <legend>Form excell</legend>
  <p>Untuk <strong><font color="#990000">insert KRS 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_krs_mhs.php">
Pilih File Excel :
<input name="fileexcel" type="file"> <input name="upload" type="submit" value="Import">
</form>
</fieldset>

Perlu kami jelaskan disini bahwa untuk Insert KRS ini adalah seharusnya didahului membuat kurikulum, memasukkan matakuliah di dalam kurikulum, membuat kelas. Jika semua sudah terpenuhi maka prosedur insert KRS untuk kode MK yang sudah di buatkan kelas akan bisa berjalan dengan lancar.
Berikut file insert_krs_mhs.php

insert_krs_mhs.php


<?php
include 'session.php';
include "excel_reader2.php";
@$data = new Spreadsheet_Excel_Reader($_FILES['fileexcel']['tmp_name']);
@$hasildata = $data->rowcount($sheet_index=0);
//echo $hasildata;
$sukses = 0;
$gagal = 0;
for ($i=2; $i<=$hasildata; $i++)
{
  $npm=$data->val($i,2);
  $nipd="nipd LIKE '%$npm%'";
  //echo "<br>".$nipd."<br>";
  $result=$proxy->GetRecord($gettoken,'mahasiswa_pt',$nipd);
  $id_reg_pd=$result['result']['id_reg_pd'];
  //echo "id_reg_pd ='".$id_reg_pd."<br>";
  $kd_mk=$data->val($i,4);
  $smt=$data->val($i,6);
  $kelas=$data->val($i,7);
  $filt="p.id_smt='".$smt."' AND nm_kls='".$kelas."' AND kode_mk='".$kd_mk."'";
  //echo $filt."<br>";
  $result=$proxy->GetRecord($gettoken,'kelas_kuliah',$filt);
  $id_kls=$result['result']['id_kls'];
  //echo "id kelas : ".$id_kls. "<br>";
  
 $record['id_kls'] = $id_kls; 
 $record['id_reg_pd'] = $id_reg_pd;
   $nilai= $data->val($i,8);
   $indeks=$data->val($i,9);
   //echo "Nilai =".$nilai."dan Indeks =".$indeks;
 $record['asal_data']=9;
 $record['nilai_huruf'] =$nilai;
 $record['nilai_indeks'] =$indeks;
   $records[]=$record;
 
}
 $je_krs=json_encode($records);
 $jd_krs=json_decode($je_krs,true);
 //print_r($je_nil);
 
 
  $result=$proxy->InsertRecordset($gettoken,'nilai',$je_krs);    // fix insert banyak records

 echo "<pre>";
 if ($result['result']) {
  for($i=0;$i<1;$i++){
   foreach($jd_krs as $row){
    $id_kls=$row['id_kls'];
    $id_reg_pd=$row['id_reg_pd'];
    //$kd_mk=$row['kode_mk'];
   
   
   echo "<br>Id Kelas : ".$id_kls." | Id reg pd : ".$id_reg_pd." | Kode MK = ".$kd_mk;
   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>";
 
?>

Yang perlu diketahui adalah, jika sebelumnya mahasiswa yang memprogram kode matakuliah, nama kelas, dan semester tersebut pernah di hapus, maka kode ini tidak bisa bekerja karena di dalam database masih terdapat record mhs yang memprogram mk pada kelas tersebut di semester tersebut masih ada, dengan status soft delete 1. dan supaya kode berikut bisa bekerja, maka record tersebut dg soft delete 1 harus di hapus dahulu dari databse.

Demikian tutorial membuat werbservice sederhana untuk insert KRS dengan template excel, semoga ada guna dan manfaatnya.
Selamat belajar dan Semangat... Chayooooo
Thx
Previous
Next Post »