Dokumen Teknis Web Service Push PDPT

10
  Dokumen Teknis Webservice PUSH Dokumen ini berisi tentang implementasi webservice push untuk setiap Perguruan Tinggi

Transcript of Dokumen Teknis Web Service Push PDPT

Page 1: Dokumen Teknis Web Service Push PDPT

5/13/2018 Dokumen Teknis Web Service Push PDPT - slidepdf.com

http://slidepdf.com/reader/full/dokumen-teknis-web-service-push-pdpt-55a74f80220e2 1/10

 

 

Dokumen TeknisWebservice PUSH

Dokumen ini berisi tentang

implementasi webservice push

untuk setiap Perguruan Tinggi 

Page 2: Dokumen Teknis Web Service Push PDPT

5/13/2018 Dokumen Teknis Web Service Push PDPT - slidepdf.com

http://slidepdf.com/reader/full/dokumen-teknis-web-service-push-pdpt-55a74f80220e2 2/10

 

 

Dokumen Teknis Webservice Push PDPT - v1.1

Hal 2

DAFTAR REVISI

Versi Pemilik Deskripsi Revisi Tanggal

1.0 Haris Sri Wibowo 28/05/2011

1.1 Haris Sri Wibowo Penambahan contoh pemetaan database 16/06/2011

Page 3: Dokumen Teknis Web Service Push PDPT

5/13/2018 Dokumen Teknis Web Service Push PDPT - slidepdf.com

http://slidepdf.com/reader/full/dokumen-teknis-web-service-push-pdpt-55a74f80220e2 3/10

 

 

Dokumen Teknis Webservice Push PDPT - v1.1

Hal 3

1  Daftar Isi

1 Daftar Isi ................................................................................................................................................ 3

2 Persyaratan ........................................................................................................................................... 4

2.1  Software Requirements................................................................................................................. 4

2.2  Frequently   Asked  Questions .......................................................................................................... 4

3 Webservice ............................................................................................................................................ 4

3.1 Daftar service yang disediakan...................................................................................................... 4

3.2 Parameter Input ............................................................................................................................ 5

3.3 Parameter Output ......................................................................................................................... 5

3.4 Sintak Dasar Pengiriman Data ....................................................................................................... 5

3.5 Contoh Pemetaan dan Pengiriman Data Transaksi Nilai Mahasiswa ........................................... 7

3.5.1 Struktur data ..................................................................................................................... 7

3.5.2 Elemen Data Webservice .................................................................................................. 8

3.5.3 Source code....................................................................................................................... 8

Page 4: Dokumen Teknis Web Service Push PDPT

5/13/2018 Dokumen Teknis Web Service Push PDPT - slidepdf.com

http://slidepdf.com/reader/full/dokumen-teknis-web-service-push-pdpt-55a74f80220e2 4/10

 

 

Dokumen Teknis Webservice Push PDPT - v1.1

Hal 4

2  PersyaratanDokumen ini tidak membahas dasar-dasar pengembangan webservice.

Client webservice push (setor) PDPT dapat dikembangkan menggunakan berbagai bahasa pemrograman,

seperti: Java, PHP, ASP.NET, dan lain-lain. Dokumen ini hanya membatasi pada pengembangan client webservice push PDPT menggunakan PHP.

2.1   Software Requirements

Software yang diperlukan untuk pengembangan client webservice push PDPT menggunakan PHP:

Webserver (rekomendasi Apache 2.2.x)

PHP (rekomendasi PHP 5.2.x), dengan ketentuan

o  PHP extension zLib enable

o  PHP extension PCRE enable

o  PHP extension SOAP disable

o  NuSOAP 0.9.5

2.2  Frequently   Asked  Questions

Pertanyaan terkait webservice PDPT dapat menghubungi:

Ario Sutomo ([email protected])

Haris Sri Wibowo ([email protected])

3  Webservice 

3.1  Daftar service yang disediakan

No Nama Service Tabel dalam schema PDPT

1 master.mahasiswa TMST_MAHASISWA

2 master.matakuliah TMST_MATA_KULIAH

3 tran.mengajar_dosen TRAN_AKTIVITAS_MENGAJAR_DOSEN4 tran.riwayat_status_mhs TRAN_RIWAYAT_STATUS_MAHASISWA

5 tran.kuliah_mhs TRAN_KULIAH_MHS

6 tran.nilai_mhs TRAN_NILAI_SEMESTER_MHS

Page 5: Dokumen Teknis Web Service Push PDPT

5/13/2018 Dokumen Teknis Web Service Push PDPT - slidepdf.com

http://slidepdf.com/reader/full/dokumen-teknis-web-service-push-pdpt-55a74f80220e2 5/10

 

 

Dokumen Teknis Webservice Push PDPT - v1.1

Hal 5

3.2  Parameter Input 

No Nama Tipe Keterangan

1 username string Nama user PT

2 password string Password PT

3 tahun integer Tahun pelaporan

4 semester integer Semester pelaporan5 dari integer Nomor awal record yang dikirim

6 jumlah integer Jumlah record yang dikirim

7 data string Data yang dikirim dalam format JSON

3.3  Parameter Output 

No Nama Tipe Keterangan

1 err_no integer Kode error (0 jika tidak terjadi kesalahan)

2 err_teks string Teks error

3 jumlah_data integer Jumlah data yang diproses

4 jumlah_data_gagal integer Jumlah data yang gagal diproses

3.4  Sintak Dasar Pengiriman Data

Secara garis besar, sintak dasar untuk pengiriman data melalui webservice push adalah sebagai berikut:

<?php

// ubah konfigurasi dasar php agar tidak membatasi waktu eksekusi

// dan penggunaan memori

set_time_limit(0);

ini_set("memory_limit", '-1');

// gunakan library NuSOAP untuk webservice

require_once('nusoap.php');

// alamat webservice push pdpt

$w = 'https://ws.pdpt.dikti.go.id/pdpt.php?wsdl';

// inisialisasi client webservice

$soapclient = new nusoap_client($w, true);

$soapclient->soap_defencoding = 'UTF-8';

// data yang akan dikirim$d = array();

// setting parameter pelaporan

$tahun = 2011;

$semester = 1;

Page 6: Dokumen Teknis Web Service Push PDPT

5/13/2018 Dokumen Teknis Web Service Push PDPT - slidepdf.com

http://slidepdf.com/reader/full/dokumen-teknis-web-service-push-pdpt-55a74f80220e2 6/10

 

 

Dokumen Teknis Webservice Push PDPT - v1.1

Hal 6

// otentikasi client webservice push

// diisi username dan password PT

$username = 'username-pt';

$password = 'password-pt';

// parameter webservice

$dari = 1;

$jumlah = sizeof($d);

$namaWS = 'master.mahasiswa';

// proses pengiriman data

$param = array('username' => $username,

'passwd' => $password,

'tahun' => $tahun,

'semester' => $semester,

'dari' => $dari,

'jumlah' => $jumlah,

'data' => json_encode($d));

$retval = $soapclient->call($namaWS, $param);

$retval = json_decode($retval, TRUE);

if ($retval['err_no'] == 0) {

echo 'sukses';

} else {

echo "<pre>";

print_r($data);

echo "</pre>";

}

// tampilkan request dan response untuk debuging

$err = $soapclient->getError();

if($err){

echo "<p><b>ERROR! $err</b></p>";

}

echo "<b>SOAP Request</b>";

echo "<pre>".htmlentities($soapclient->request)."</pre>";

echo "<b>SOAP Response</b>";

echo "<pre>".htmlentities($soapclient->response)."</pre>";

Page 7: Dokumen Teknis Web Service Push PDPT

5/13/2018 Dokumen Teknis Web Service Push PDPT - slidepdf.com

http://slidepdf.com/reader/full/dokumen-teknis-web-service-push-pdpt-55a74f80220e2 7/10

 

 

Dokumen Teknis Webservice Push PDPT - v1.1

Hal 7

3.5  Contoh Pemetaan dan Pengiriman Data Transaksi Nilai Mahasiswa

3.5.1  Struktur data

Diasumsikan Perguruan Tinggi sudah mempunyai Sistem Informasi Akademik dengan struktur data

sebagai berikut:

Catatan:

Isi field  t_mahasiswa.jenjang = ‘S1’, ‘S2’, ‘S3’, … 

Tabel referensi PDPT untuk jenjang pendidikan adalah sebagai berikut:

KODE_JENJANG_PENDIDIKAN JENJANG_PENDIDIKAN

1 S3

2 S2

3 S1

4 D4

5 D3

6 D2

Page 8: Dokumen Teknis Web Service Push PDPT

5/13/2018 Dokumen Teknis Web Service Push PDPT - slidepdf.com

http://slidepdf.com/reader/full/dokumen-teknis-web-service-push-pdpt-55a74f80220e2 8/10

 

 

Dokumen Teknis Webservice Push PDPT - v1.1

Hal 8

7 D1

8 SP-1

9 SP-2

10 Profesi

11 Non-akademik

Dari data tersebut, harus dilakukan pemetaan terlebih dahulu sebelum data dikirimkan.

3.5.2  Elemen Data Webservice

Elemen data webservice push tran.nilai_mhs() adalah sebagai berikut:

3.5.3   Source code 

<?php

// konfigurasi koneksi database

$db_host = 'localhost';

$db_user = 'root';

$db_pass = '';

$db_name = 'dbdummy';

$link = mysql_connect($db_host, $db_user, $db_pass);

if (!$link) {

die ('Could not connect: ' . mysql_error());

}

Page 9: Dokumen Teknis Web Service Push PDPT

5/13/2018 Dokumen Teknis Web Service Push PDPT - slidepdf.com

http://slidepdf.com/reader/full/dokumen-teknis-web-service-push-pdpt-55a74f80220e2 9/10

 

 

Dokumen Teknis Webservice Push PDPT - v1.1

Hal 9

$db_selected = mysql_select_db($db_name, $link);

if (!$db_selected) {

die ('Can not use ' . $db_name . ': '. mysql_error());

}

// konfigurasi parameter pelaporan

$tahun = 2011;$semester = 1;

$sql = "SELECT a.kode_mk, a.bobot, c.jenjang, c.kode_prodi, c.nim

FROM t_krs a, t_kuliah b, t_mahasiswa c

WHERE a.kuliah_id = b.id AND b.nim = c.nim

AND b.tahun = $tahun AND b.semester = $semester";

$result = mysql_query($sql);

if (!$result) {

die ('Invalid query: ' . mysql_error());

}

// mapping jenjang pendidikan

$jenjang = array('S3' => 1, 'S2' => 2, 'S1' => 3);

$d = array();

while ($row = mysql_fetch_assoc($result)) {

$temp = array(

"KODE_MATA_KULIAH" => $row['kode_mk'],

"BOBOT_NILAI" => $row['bobot'],

"KODE_JENJANG_PENDIDIKAN" => $jenjang[ $row['jenjang'] ],

"KODE_PROGRAM_STUDI" => $row['kode_prodi'],

"NIM" => $row['nim'],

"KODE_KELAS" => "01"

);

$d[] = $temp;

}

// ubah konfigurasi dasar php agar tidak membatasi waktu eksekusi

// dan penggunaan memori

set_time_limit(0);

ini_set("memory_limit", '-1');

// gunakan library NuSOAP untuk webservice

require_once('nusoap.php');

// alamat webservice push pdpt

$w = 'https://ws.pdpt.dikti.go.id/pdpt.php?wsdl';

// inisialisasi client webservice

$soapclient = new nusoap_client($w, true);

$soapclient->soap_defencoding = 'UTF-8';

// otentikasi client webservice push

Page 10: Dokumen Teknis Web Service Push PDPT

5/13/2018 Dokumen Teknis Web Service Push PDPT - slidepdf.com

http://slidepdf.com/reader/full/dokumen-teknis-web-service-push-pdpt-55a74f80220e2 10/10

 

 

Dokumen Teknis Webservice Push PDPT - v1.1

Hal 10

// diisi username dan password PT

$username = 'username-pt';

$password = 'password-pt';

// parameter webservice

$dari = 1;

$jumlah = sizeof($d);

$namaWS = 'tran.nilai_mhs';

// proses pengiriman data

$param = array('username' => $username,

'passwd' => $password,

'tahun' => $tahun,

'semester' => $semester,

'dari' => $dari,

'jumlah' => $jumlah,

'data' => json_encode($d));

$retval = $soapclient->call($namaWS, $param);

$retval = json_decode($retval, TRUE);

if ($retval['err_no'] == 0) {

echo 'sukses';

} else {

echo "<pre>";

print_r($data);

echo "</pre>";

}

// tampilkan request dan response untuk debuging

$err = $soapclient->getError();

if($err){

echo "<p><b>ERROR! ".$err."</b></p>";

}

echo"<b>SOAP Request</b>";

echo"<pre>".htmlentities($soapclient->request)."</pre>";

echo"<b>SOAP Response</b>";

echo"<pre>".htmlentities($soapclient->response)."</pre>";