Dokumen Teknis
Webservice PUSH
Dokumen ini berisi tentang
implementasi webservice push
untuk setiap Perguruan Tinggi
DAFTAR REVISI
Versi Pemilik Deskripsi Revisi Tanggal
1.0 Ditjen Dikti 28/05/2011
1.1 Ditjen Dikti Penambahan contoh pemetaan database 16/06/2011 1.2 Ditjen Dikti - Penambahan field no_record pada contoh database
- Penambahan webservice ‘tran.teslogin’
15/09/2011
1.3 Ditjen Dikti Penambahan tips 01/10/2011
1.4 Ditjen Dikti - Penambahan webservice `report.error_data` dan `report.error_data_count`
- Penambahan daftar Elemen Data (field) yang dikirim via webservice push
08/11/2011
1.5 Ditjen Dikti - Penambahan parameter ‘is_perbaikan’ pada setiap webservice push data
17/11/2011
1.6 Ditjen Dikti Penambahan requirement 25/06/2012
1.7 Ditjen Dikti - Penambahan session webservice
- Penambahan URL webservice development/trial
Daftar Isi
Daftar Isi... 3
Persyaratan ... 5
Software Requirements ... 5
Frequently Asked Questions ... 5
Webservice ... 6
URL ... 6
Daftar service yang disediakan ... 6
Parameter Input & Output ... 6
Service sesi.inisiasi() ... 6
Service master.mahasiswa(), master.matakuliah(), tran.mengajar_dosen(), tran.riwayat_status_mhs(), tran.kuliah_mhs() dan tran.nilai_mhs() ... 7
Service report.error_data_count()... 7
Service report.error_data() ... 8
Service tran.teslogin() ... 9
Sintak Dasar Pembuatan Sesi ... 10
Sintak Dasar Pengiriman Data ... 10
Contoh Pemetaan dan Pengiriman Data Transaksi Nilai Mahasiswa ... 13
Struktur data ... 13
Elemen Data Webservice ... 14
Source code ... 14
Tips dan Trik dalam Pengiriman Data Melalui Webservice Push PDPT ... 17
Daftar Elemen Data yang Dikirim/Push ... 18
Master Mahasiswa ... 18
Master Mata Kuliah ... 21
Transaksi Kuliah Mahasiswa ... 23
Transaksi Riwayat Status Mahasiswa ... 24 Transaksi Aktivitas Mengajar Dosen ... 24
Persyaratan
Dokumen 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.
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 curl enable o PHP extension SOAP disable
o NuSOAP 0.9.5 (http://sourceforge.net/projects/nusoap/files/ )
Frequently
Asked
Questions
Pertanyaan terkait webservice PDPT dapat menghubungi:
• Ario Sutomo (arioss@pusat.itb.ac.id)
• Haris Sri Wibowo (haris_sw@ugm.ac.id)
Webservice
URL
URL Webservice Keterangan
http://ws.pdpt.dikti.go.id/pdpt.php
Webservice Production
http://ws-dev.pdpt.dikti.go.id/pdpt /pdpt.php
Webservice Development / Trial
Daftar
service
yang disediakan
No Nama Service Keterangan
1 sesi.inisiasi() Membuat kode sesi untuk pelaporan 2 master.mahasiswa() TMST_MAHASISWA1 3 master.matakuliah() TMST_MATA_KULIAH1 4 tran.mengajar_dosen() TRAN_AKTIVITAS_MENGAJAR_DOSEN1 5 tran.riwayat_status_mhs() TRAN_RIWAYAT_STATUS_MAHASISWA1 6 tran.kuliah_mhs() TRAN_KULIAH_MHS1 7 tran.nilai_mhs() TRAN_NILAI_SEMESTER_MHS1
8 report.error_data_count() Mengetahui jumlah data yang gagal di push 9 report.error_data() Mengambil data data yang gagal di push 10 tran.teslogin() untuk testing login
1
lihat dokumen “Pemetaan EPSBED dengan Evaluasi” untuk detailnya di website http://pdpt.dikti.go.id/materi/
Parameter Input & Output
Service sesi.inisiasi()
Input
No Nama Tipe Keterangan
1 username string Nama user PT1
2 passwd string Password PT1
3 tahun integer Tahun pelaporan
4 semester integer Semester pelaporan 1
user dan password yang digunakan sama dengan yang biasa digunakan di website http://evaluasi.dikti.go.id
Output (JSON encoded string)
No Nama Tipe Keterangan
1 err_no integer Kode error (0 jika tidak terjadi kesalahan)
2 err_teks string Teks error
Masa berlaku sesi adalah 2 (dua) hari sejak dipanggilnya service ini dan sukses menghasilkan
kode sesi.
Service master.mahasiswa(), master.matakuliah(), tran.mengajar_dosen(),
tran.riwayat_status_mhs(), tran.kuliah_mhs() dan tran.nilai_mhs() Input
No Nama Tipe Keterangan
1 username string Nama user PT1
2 passwd string Password PT1
3 tahun integer Tahun pelaporan
4 semester integer Semester pelaporan
5 dari integer Nomor awal record yang dikirim 6 jumlah integer Jumlah record yang dikirim
7 data string Data yang dikirim dalam format JSON
8 is_perbaikan integer Secara default isinya adalah 0. Parameter ini diisi angka 1 jika data yang dikirim merupakan data perbaikan. Jika data perbaikan yang dikirim ternyata valid, maka data error yang diperbaiki akan dihapus dari daftar data error.
9 sessionid string Kode sesi pelaporan 1
user dan password yang digunakan sama dengan yang biasa digunakan di website http://evaluasi.dikti.go.id
Output (JSON encoded string)
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
Service report.error_data_count()
Input
No Nama Tipe Keterangan
1 username string Nama user PT1 2 password string Password PT1
3 tahun integer Tahun pelaporan
4 semester integer Semester pelaporan
5 webservice string Nama webservice yg ingin diketahui jumlah data errornya
1
user dan password yang digunakan sama dengan yang biasa digunakan di website http://evaluasi.dikti.go.id
Output (JSON encoded string)
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 gagal di push
Service report.error_data()
Input
No Nama Tipe Keterangan
1 username string Nama user PT1 2 password string Password PT1
3 tahun integer Tahun pelaporan
4 semester integer Semester pelaporan
5 webservice string Nama webservice yg ingin diketahui jumlah data errornya
6 dari integer Index mulai data diambil (dimulai dari 1) 7 sampai integer Index akhir data yang diambil
1
user dan password yang digunakan sama dengan yang biasa digunakan di website http://evaluasi.dikti.go.id
Output (JSON encoded string)
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 berhasil di ambil
4 data array Data yang gagal berhasil diambil, strukturnya sama dengan tabel data dari parameter webservice
Gambar 1 Contoh Output Data Error “Master Mata Kuliah”
Service tran.teslogin()
Input
No Nama Tipe Keterangan
1 sessionid string Kode sesi pelaporan 2 username string Nama user PT1 3 password string Password PT1
1
user dan password yang digunakan sama dengan yang biasa digunakan di website http://evaluasi.dikti.go.id
Output (JSON encoded string)
No Nama Tipe Keterangan
1 err_no integer Kode error (0 jika tidak terjadi kesalahan) 2 err_teks string Keterangan berhasil tidaknya login
Sintak Dasar Pembuatan Sesi
Berikut contoh pembuatan kode sesi menggunakan PHP: <?php
// gunakan library NuSOAP untuk webservice require_once('nusoap.php');
function createSession($username, $passwd, $tahun, $semester) { // alamat webservice push pdpt
$w = 'http://ws-dev.pdpt.dikti.go.id/pdpt_session/pdpt.php?wsdl';
// inisialisasi client webservice
$soapclient = new nusoap_client($w, true); $soapclient->soap_defencoding = 'UTF-8';
$retval = $soapclient->call('sesi.inisiasi', array( 'username' => $username, 'passwd' => $passwd, 'tahun' => $tahun, 'semester' => $semester));
$retval = json_decode($retval, TRUE);
if ($retval['err_no'] == 0) { $kode_sesi = $retval['data']; } else { $kode_sesi = ''; } return $kode_sesi; }
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 = 'http://ws-dev.pdpt.dikti.go.id/pdpt_session/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;
// 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';
// buat sesi baru menggunakan fungsi pada contoh script sebelumnya $kode_sesi = createSession ($username, $password, $tahun, $semester);
// proses pengiriman data
$param = array('username' => $username, 'passwd' => $password, 'tahun' => $tahun, 'semester' => $semester, 'dari' => $dari, 'jumlah' => $jumlah, 'data' => json_encode($d), 'sessionid' => $kode_sesi); $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>";
Contoh Pemetaan dan Pengiriman Data Transaksi Nilai Mahasiswa
Struktur data
Diasumsikan Perguruan Tinggi sudah mempunyai Sistem Informasi Akademik dengan struktur data sebagai berikut:
Catatan:
Isi field t_mahasiswa.jenjang = ‘S1’, ‘S2’, ‘S3’, …
Setiap tabel yang berisi data yang akan dikirim memiliki field no_record yang akan dipetakan ke field SUMBER_RECORD_NO yang wajib ada pada setiap data yang dikirim.
Tabel referensi PDPT untuk jenjang pendidikan adalah sebagai berikut: KODE_JENJANG_PENDIDIKAN JENJANG_PENDIDIKAN
1 S3
2 S2
4 D4 5 D3 6 D2 7 D1 8 SP-1 9 SP-2 10 Profesi 11 Non-akademik
Dari data tersebut, harus dilakukan pemetaan terlebih dahulu sebelum data dikirimkan.
Elemen Data Webservice
Elemen data webservice push tran.nilai_mhs() adalah sebagai berikut:
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()); }
$db_selected = mysql_select_db($db_name, $link); if (!$db_selected) {
}
// konfigurasi parameter pelaporan $tahun = 2011;
$semester = 1;
$sql = "SELECT a.kode_mk, a.bobot, a.no_record, 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", "SUMBER_RECORD_NO" => $row['no_record'] ); $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 = 'http://ws-dev.pdpt.dikti.go.id/pdpt_session/pdpt.php?wsdl';
// inisialisasi client webservice
$soapclient = new nusoap_client($w, true); $soapclient->soap_defencoding = 'UTF-8';
// otentikasi client webservice push // diisi username dan password PT
$username = 'username-pt'; $password = 'password-pt'; // parameter webservice $dari = 1; $jumlah = sizeof($d); $namaWS = 'tran.nilai_mhs';
// buat sesi baru menggunakan fungsi pada contoh script sebelumnya $kode_sesi = createSession ($username, $password, $tahun, $semester);
// proses pengiriman data
$param = array('username' => $username, 'passwd' => $password, 'tahun' => $tahun, 'semester' => $semester, 'dari' => $dari, 'jumlah' => $jumlah, 'data' => json_encode($d), 'sessionid' => $kode_sesi); $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>";
Tips dan Trik dalam Pengiriman Data Melalui
Webservice Push
PDPT
1. Dianjurkan untuk membuat tabel dengan struktur sama dengan Kamus Data PDPT.
Hal ini akan mempermudah dalam pengiriman data, karena tinggal mengirimkan data tidak memerlukan pengolahan terlebih dahulu.
2. Tambahkan field NO_RECORD (atau sejenisnya) untuk di-mapping-kan dengan field SUMBER_RECORD_NOpada tabel PDPT.
Hal ini untuk memudahkan penelusuran data ketika terjadi error. Karena pesan error akan menampilkan isi dari field SUMBER_RECORD_NO.
3. Mengirim data dalam jumlah yang tidak terlalu besar.
Pengiriman data yang besar lebih rentan terputus dan memerlukan waktu yang lama. Oleh karena itu, sangat disarankan untuk tidak mengirimkan data yang terlalu besar. Jika jumlah data yang akan dikirimkan terlalu besar, dapat dikirimkan secara bertahap (dipotong-potong menjadi beberapa bagian).
4. Memastikan pengiriman berhasil.
Layanan webservice dimungkinkan untuk diakses banyak klien sekaligus, hal ini tentu saja akan mengakibatkan beban tinggi dan koneksi yang tidak stabil. Oleh karena itu, sangat disarankan agar menambahkan script untuk memastikan bahwa data telah terkirim.
Berikut ini contoh script untuk memastikan data sudah terkirim. Jika koneksi bermasalah, program akan mengirim ulang dan mengulangi kembali sampai 5 kali.
<?php
// ... script sebelumnya ...
$mulai = 1; $akhir = 100;
$maks_pengiriman = 5;
$data = get_data_mhs($mulai, $akhir);
$retval = NULL; $coba = 0;
while ($retval == NULL && $coba < $maks_pengiriman) { $retval = push_master_mahasiswa($mulai, $akhir, $data); $coba++;
}
Daftar Elemen Data yang Dikirim/Push
Seperti yang sudah diketahui bahwa pada dokumen “DOKUMEN PEMETAAN KAMUS DATA DENGAN APLIKASI EVALUASI PROGRAM STUDI BERBASIS EVALUASI DIRI (EPSBED & EVALUASI.DIKTI)” sudah tercatat lengkap semua Elemen Data setiap tabel PDPT. Hanya saja tidak semua Elemen Data yang dikirim ke Dikti. Ada beberapa yang digunakan internal saja oleh Dikti, sehingga ada beberapa Elemen Data yang tidak perlu disertakan ketika dikirim via webservice push.
Berikut daftar semua Elemen Data yang dikirim ke Dikti melalui webservice push PDPT.
Master Mahasiswa
Elemen data Deskripsi Elemen Data Tipe, Panjang, Constraint Data
Wajib Isi?
KODE_PROGRAM_STUDI Kode program studi Char(5) X
NIM NIM (Nomor Induk Mahasiswa) Char(15) X
NAMA_MAHASISWA Nama mahasiswa Char(150) X
KELAS Kelas Char(1)
Reguler dan Non-Reguler
X
TEMPAT_LAHIR Tempat lahir Char(20) X
KODE_JENJANG_PENDIDIKAN Kode jenjang pendidikan Num() X
TANGGAL_LAHIR Tanggal lahir Date, YYYYMMDD X
JENIS_KELAMIN Jenis kelamin Char(1)
L = Laki-laki P = Perempuan
X
ALAMAT Alamat Char(100) X
KODE_KOTA Kode Kota Num() X
KODE_PROVINSI Kode provinsi Num()
KODE_POS Kode pos Num()
KODE_NEGARA Kode negara (flag identifikasi data mahasiswa asing
untuk World Class University (WCU))
Num()
STATUS_MAHASISWA Status mahasiswa Char(1)
BATAS_STUDI Batas studi Char(5)
TANGGAL_MASUK Tanggal masuk Date, YYYYMMDD
TANGGAL_LULUS Tanggal lulus Date, YYYYMMDD
IPK_AKHIR IPK akhir Double(1,2)
NOMOR_SK_YUDISIUM Nomor SK Yudisium Char(30)
TANGGAL_SK_YUDISIUM Tanggal SK Yudisium Date, YYYYMMDD
NOMOR_SERI_IJAZAH Nomor seri ijazah Char(40)
KODE_PROV_ASAL_PENDIDIKAN Kode provinsi asal pendidikan sebelumnya Char(3)
STATUS_AWAL_MAHASISWA Status Awal Mahasiswa Char(1)
B=Baru P=Pindahan
SKS_DIAKUI SKS diakui Num(3)
KODE_PERGURUAN_TINGGI_ASAL Kode Perguruan Tinggi sebelumnya, bila berstatus
pindahan
char(6)
KODE_PROGRAM_STUDI_ASAL Kode Program Studi sebelumnya, bila berstatus
Pindahan
char(5)
KODE_BEASISWA Kode beasiswa Num()
KODE_JENJANG_PENDIDIKAN_SBLM Kode Jenjang Program Studi sebelumnya, bila
berstatus Pindahan
Num()
NIM_ASAL NIM asal dari perguruan tinggi sebelumnya jika
berstatus pindahan
Char(15)
KODE_BIAYA_STUDI Kode biaya studi (khusus mhs s3) Char(1)
A=Biaya APBN B=Biaya APBD C=Biaya PTN/BHMN
D=Biaya PTS E=institusi luar negeri F=institusi dalam negeri G=biaya tempat bekerja H=biaya sendiri
A=Dosen PNS-PTN/BHMN B=dosen kontrak PTN/BHMN C=dosen DPK PTS
D=dosen PTS
E=PNS lembaga pemerintah F=TNI/polri
G=pegawai swasta H=LSM
I=wiraswasta J=belum bekerja
NAMA_TEMPAT_BEKERJA Nama Tempat Bekerja, bila bukan Dosen (khusus
mhs s3)
Char(40)
KODE_PT_BEKERJA Kode PT tempat bekerja, bila dosen (khusus mhs s3) Char(6)
KODE_PS_BEKERJA Kode PS tempat bekerja, bila dosen (khusus mhs s3) Char(5)
NIDN_PROMOTOR NIDN Promotor (khusus mhs s1, s2, s3) Char(10)
NIDN_KOPROMOTOR 1 NIDN Ko-Promotor 1 (khusus mhs s1, s2, s3) Char(10)
NIDN_KOPROMOTOR 2 NIDN Ko-Promotor 2 (khusus mhs s3) Char(10)
NIDN_KOPROMOTOR 3 NIDN Ko-Promotor 3 (khusus mhs s3) Char(10)
NIDN_KOPROMOTOR 4 NIDN Ko-Promotor 4 (khusus mhs s3) Char(10)
JALUR_SKRIPSI Jalur kelulusan mahasiswa Num(1)
1 = tugas akhir/skripsi 2 = student project 3 = tesis
4 = disertasi
JUDUL_SKRIPSI Judul skripsi Char(100)
BULAN_AWAL_BIMBINGAN Bulan-tahun awal bimbingan Num(6)
YYYYMM
BULAN_AKHIR_BIMBINGAN Bulan-tahun akhir bimbingan Num(6)
YYYYMM
NISN Nomor induk siswa nasional Num(10)
Master Mata Kuliah
Keterangan:
- AAA : tiga karakter angka menunjukkan tahun lahir - XXXYYYY : tujuh karakater angka menunjukkan nomor urut yang terbati menjadi 2 (dua) bagian, yaitu:
* XXX : tiga karakter angka untuk pengelompokan oleh sistem, dan
* YYYY : empat karakter angka nomor urut dalam
pengelompokan XXX
KODE_KATEGORI_PENGHASILAN Kategori penghasilan yang didapatkan oleh
mahasiswa (dari ortu, atau sumber lainnya)
Num()
SUMBER_RECORD_NO Nomor record data yang dikirim Num() X
Elemen data Deskripsi Elemen Data Tipe, Panjang,
Constraint Data
Wajib Isi?
KODE_MATA_ KULIAH Kode mata kuliah Char(10) X
KODE_PROGRAM_STUDI Kode program studi Char(5) X
KODE_JENJANG_STUDI Kode jenjang pendidikan Num() X
NAMA_MATA_ KULIAH Nama mata kuliah Char(150) X
JENIS_MATA_ KULIAH Jenis mata kuliah Char(1)
A=wajib B=pilihan C=wajib peminatan D=pilihan peminatan S=TA/skripsi/tesis/disertasi
SEMESTER Semester Num(1)
1 = genap 2 = ganjil
A=MPK-Pengembangan Kepribadian B=MKK-Keilmuan dan Ketrampilan C=MKB-Keahlian Berkarya D=MPB-Perilaku Berkarya E=MBB-Berkehidupan bermasyarakat F=MKU/MKDU G=MKDK H=MKK
SKS_MATA_KULIAH SKS mata kuliah Num(3)
SKS_TATAP_MUKA SKS tatap muka Num(3)
SKS_PRAKTIKUM SKS praktikum Num(3)
SKS_PRAKTEK_ LAPANGAN SKS praktek lapangan Num(3)
SKS_SIMULASI SKS simulasi Num(3)
METODE_ PELAKSANAAN_ KULIAH Metode pelaksanaan kuliah Char(50)
STATUS_MATA_ KULIAH Status mata kuliah Char(50)
KODE_KURIKULUM Kode kurikulum Char(1)
KODE_KELAS Kode kelas Char(2)
SAP Satuan Acara Perkulihan (SAP) dalam mata kuliah diisi
dengan 1 = mempunyai SAP atau 0 = tidak mempunyai SAP
Char(1)
SILABUS Silabus Char(1)
BAHAN_AJAR Bahan ajar Char(1)
ACARA_PRAKTEK Acara praktek Num(1)
1 = mempunyai AP 0 = tidak
mempunyai AP
DIKTAT Diktat Char(1)
NIDN NIDN Char(10) X
Transaksi Kuliah Mahasiswa
Transaksi Nilai Semester Mahasiswa
TGL_AKHIR_EFEKTIF Tanggal akhir data efektif Date X
SUMBER_RECORD_NO Nomor record data yang dikirim Num() X
Elemen data Deskripsi Elemen Data Tipe, Panjang,
Constraint Data
Wajib Isi?
KODE_PROGRAM_STUDI Kode program studi Char(5) X
KODE_JENJANG_STUDI Kode jenjang pendidikan Num() X
NIM NIM Char(15) X
STATUS_MAHASISWA Status mahasiswa Char(1) X
IPS IPS Double(3,2) X
SKS_SEMESTER SKS diambil pada semester ybs Num(1) X
IPK IPK Double(3,2)
SKS_TOTAL SKS total yang telah diperoleh Num(3)
SUMBER_RECORD_NO Nomor record data yang dikirim Num() X
Elemen data Deskripsi Elemen Data Tipe, Panjang,
Constraint Data
Wajib Isi?
KODE_PROGRAM_STUDI Kode program studi Char(5) X
KODE_JENJANG_PENDIDIKAN Kode jenjang studi Num() X
NIM NIM Char(15) X
KODE_MATA_ KULIAH Kode mata kuliah Char(10) X
BOBOT_NILAI Bobot nilai Double(3,2) X
KODE_KELAS Kode kelas Char(2) X
Transaksi Riwayat Status Mahasiswa
Transaksi Aktivitas Mengajar Dosen
Elemen data Deskripsi elemen data Tipe, panjang,
constraint data
Wajib Isi?
KODE_PROGRAM_STUDI Kode program studi Char(5) X
NIM NIM (Nomor Induk Mahasiswa) Char(15) X
KODE_JENJANG_PENDIDIKAN Kode jenjang pendidikan Num() X
STATUS_MAHASISWA Status mahasiswa Char(1)
TANGGAL_STATUS Tanggal Perubahan Status Mahasiswa Date, YYYYMMDD
SUMBER_RECORD_NO Nomor record data yang dikirim Num() X
Elemen data Deskripsi Elemen Data Tipe, Panjang,
Constraint Data
Wajib Isi?
NIDN Nomor Induk Dosen Nasional Char(10) X
KODE_PROGRAM_STUDI Kode program studi Char(5)
KODE_JENJANG_STUDI Kode jenjang studi Num()
KODE_MATA_KULIAH Kode mata kuliah yang diajar oleh dosen Char(10) X
KODE_KELAS Kode Kelas Paralel Char(2) X
JML_TATAP_MUKA_RENCANA Jumlah rencana tatap muka Num(3) X
JML_TATAP_MUKA_REALISASI Jumlah Realisasi Tatap Muka (kehadiran riil dosen
mengajar)
Num(3) X
JENIS_EVALUASI Jenis kegiatan yang akan dievaluasi, misal kesiapan
awal kuliah, kuis, tugas rumah, dsb.
Char(1)
CARA_EVALUASI Cara yang dilakukan oleh dosen dalam mengevaluasi,
misal ujian tertulis, ujian lisan, dsb.
Num(1) 1 = ujian tertulis 2 = ujian lisan
3 = penyusunan atau penyajian makalah/laporan
4 = penyajian makalah 5 = lain-lain
CATATAN:
Perlu diketahui bahwa Elemen Data KODE_PERGURUAN_TINGGI, TAHUN_PELAPORAN dan SEMESTER_PELAPORAN tidak perlu disertakan karena sudah otomatis didapat melalui parameter username, tahun_pelaporan dan semester_pelaporan ketika melakukan push via webservice.
Elemen Data SUMBER_RECORD_NO merupakan nomor urut setiap data yang dikirim, unik per tahun semester pelaporan. Tujuannya adalah untuk mengidentifikasi data jika ternyata data tersebut gagal di push, sehingga PT dapat mengetahui dengan cepat data mana yang gagal di push tersebut.