SIPPEPP-RPL v5.1 | Prodi RPL FSTI ITS Mandala Jember
🔍 Verifikasi Keabsahan
Lembar Pengesahan Digital · SIPPEPP-RPL
Masukkan Kode Verifikasi Digital (format: XXXX-XXXX-XXXX-XXXX) yang tercantum pada lembar pengesahan untuk memeriksa keabsahannya.
💡 Catatan: Verifikasi akan memeriksa kode pada database Google Sheet (LembarPengesahan). Pastikan Apps Script v5.1 sudah di-deploy dan URL konfigurasi sudah diset.
Dashboard PPEPP
Prodi RPL · FSTI · ITS Mandala Jember · Kaprodi Belum terhubung
Selamat Datang di SIPPEPP-RPL v5.1 🎓
Sistem Monitoring PPEPP · Prodi Rekayasa Perangkat Lunak · FSTI · Institut Teknologi dan Sains Mandala Jember
Mahasiswa Aktif
Dosen Tetap
Mata Kuliah Aktif
Total Standar
—%
Rerata Capaian
Progres Siklus PPEPP
Dihitung dari data real. Klik tahap untuk detail.
Periode Aktif
P
Penetapan
P
Pelaksanaan
E
Evaluasi
P
Pengendalian
P
Peningkatan
🎓
Mahasiswa Aktif
Sheet: Mahasiswa
👨‍🏫
Dosen Tetap
Sheet: Dosen
📚
MK Aktif
Sheet: Kurikulum
📋
Total Standar
Sheet: Standar
🌐
MOU Aktif
Sheet: Kerjasama
Total Pelaksanaan
Sheet: Pelaksanaan
Radar 6 Kriteria LAM INFOKOM
% capaian dari data real
Tren Mahasiswa per Angkatan
Ringkasan 6 Kriteria — Capaian Real
Aktivitas Terbaru
Memuat...
⭐ K1 — Budaya Mutu
Komitmen institusi mengimplementasikan standar mutu
Capaian Indikator K1
Dari data standar & pelaksanaan
KPI Budaya Mutu
Standar
Pelaksanaan
Evaluasi
Pengendalian
Peningkatan
🎓 K2 — Relevansi Pendidikan
DTPR, kurikulum OBE, fleksibilitas pembelajaran & kompetensi lulusan · Bobot 120/400 (30%)
👥
Mahasiswa Aktif
🎓
Lulus Tepat Waktu
📊
Rata-rata IPK
📚
MK Aktif (OBE)
Distribusi IPK Mahasiswa
MK per CPL (Capaian Pembelajaran Lulusan)
Capaian Indikator K2
Dari data standar & pelaksanaan
KPI Relevansi Pendidikan
📋 Butir LAM
Standar
Pelaksanaan
Evaluasi
Pengendalian
Peningkatan
Data Mahasiswa
Kurikulum
🔬 K3 — Relevansi Penelitian
Hibah, publikasi, HKI, kerjasama penelitian berbasis peta jalan · Bobot 72/400 (18%)
🔬
Total Penelitian
📄
Publikasi
🌍
Scopus/Intl
💰
Dana (jt)
Tren Penelitian per Tahun
Distribusi Publikasi per Indeksasi
📋 Butir LAM
Standar K3
Data Penelitian
Evaluasi
Pengendalian
Peningkatan
Capaian Indikator K3
KPI Relevansi Penelitian
🤝 K4 — Relevansi PkM
Pengabdian kepada Masyarakat berbasis keilmuan komputer dan peta jalan PkM · Bobot 60/400 (15%)
PKM per Bidang IT
Dampak PkM
📋 Butir LAM
Standar K4
Data PKM
Evaluasi
Pengendalian
Peningkatan
Capaian Indikator K4
KPI Relevansi PkM
🏛️ K5 — Akuntabilitas
Tata kelola otonom, transparan, akuntabel; sarana-prasarana & SDM profesional · Bobot 40/400 (10%)
Capaian Indikator K5
KPI Akuntabilitas
📋 Butir LAM
Standar
Pelaksanaan
Evaluasi
Pengendalian
Peningkatan
🏆 K6 — Diferensiasi Misi
VMTS, renstra UPPS/PS, ciri khas keilmuan & pengakuan DUDIKA · Bobot 40/400 (10%)
Capaian Indikator K6
KPI Diferensiasi Misi
📋 Butir LAM
Standar
Pelaksanaan
Evaluasi
Pengendalian
Peningkatan
📋 Penetapan Standar & Indikator
Master indikator semua kriteria
⚡ Pelaksanaan Standar
Dokumentasi realisasi tiap indikator
📊 Evaluasi Diri
Gap = Target − Realisasi, dihitung otomatis
Capaian per Kriteria
Analisis SWOT
💪 STRENGTHS
⚠️ WEAKNESSES
🚀 OPPORTUNITIES
🔴 THREATS
🔍 Audit Mutu Internal (AMI)
🎛️ Pengendalian
Tindakan koreksi per indikator yang tidak tercapai
🚀 Peningkatan
Rencana tindak lanjut dan target baru
👥 Data Mahasiswa
👥
Total
Aktif
📊
Rata IPK
🎓
Lulus
👨‍🏫 Data Dosen & SDM
👨‍🎓
Tetap
🎓
S3
📜
Serdos
Lektor+
📊
Rasio
Jabatan Akademik
Pendidikan Terakhir
📚 Kurikulum & MK
🔭 Penelitian & PKM
Penelitian
PKM
🌐 Kerjasama & MOU
🎯 MBKM
📡 Tracer Study
📅 Program Kerja Tahunan
Monitoring & pengendalian program kerja per tahun · Terintegrasi dengan Kriteria LAM INFOKOM
Total Proker
Selesai
Berjalan
Direncanakan
—%
Serapan Anggaran
—%
Realisasi Fisik
Progres per Status
Distribusi status program kerja
Proker per Kriteria
Distribusi program tiap kriteria LAM
Realisasi Anggaran per Kriteria
Tren Proker per Tahun
Rekap per Kriteria LAM
Progres dan serapan anggaran tiap kriteria
Daftar Program Kerja
— program
📁 Arsip Dokumen
📑 Laporan Akreditasi LAM INFOKOM
📑
Pilih jenis laporan di atas
✍️ Lembar Pengesahan Digital
Tanda tangan elektronik · Kode hash unik · Timestamp

📝 Data Penandatangan

👁️ Preview

✍️
Isi form & gambar TTD

🕐 Riwayat TTD

0 dokumen
📎 Referensi Kriteria LAM INFOKOM 2.0
Data butir penilaian, bobot, deskriptor dari Google Sheet Referensi
📖 Panduan Setup SIPPEPP-RPL v5.1
✅ Ikuti langkah berikut untuk menghubungkan sistem dengan Google Sheet.
📊 16 Sheet yang diperlukan:
URL CSV: Google Sheet → File → Share → Publish to web → pilih sheet → CSV → Publish → Copy URL
Tambah Data
Pilih Role Akses
🗑️
Hapus Data?
Data tidak bisa dipulihkan.
🔔 Notifikasi PPEPP
Reminder otomatis berdasar siklus PPEPP & deadline proker
Memuat…
Auto-refresh 60 detik
⚙️ Koneksi Google Sheet
Paste URL CSV (published) dari tiap sheet. URL yang diisi di sini akan menimpa URL default.
📜 Google Apps Script — CRUD
Code.gs
▶ Deploy
// SIPPEPP-RPL v5.1 — Apps Script CRUD + Verifikasi Pengesahan
const SS = SpreadsheetApp.getActiveSpreadsheet();
const HEADER_LP = ["id","kode_verifikasi","nama","nip","jabatan","role","nama_dokumen","nomor_dokumen","kota","tanggal","timestamp_dibuat","tanda_tangan_base64","created_by"];
function doGet(e){return handleReq(e);}
function doPost(e){return handleReq(e);}
function handleReq(e){
  const p=(e&&e.parameter)||{};
  let r;
  try{
    switch(p.action){
      case 'read': r=readSheet(p.sheet);break;
      case 'create': r=createRow(p.sheet,p);break;
      case 'update': r=updateRow(p.sheet,p);break;
      case 'delete': r=deleteRow(p.sheet,p);break;
      case 'verifyPengesahan': r=verifyPengesahan(p.kode);break;
      default: r={ok:false,msg:'Unknown action'};
    }
  }catch(err){r={ok:false,msg:err.message};}
  return ContentService.createTextOutput(JSON.stringify(r)).setMimeType(ContentService.MimeType.JSON);
}
function ensureSheet_(name,header){
  let sh=SS.getSheetByName(name);
  if(!sh){
    sh=SS.insertSheet(name);
    sh.getRange(1,1,1,header.length).setValues([header]);
    sh.setFrozenRows(1);
    sh.getRange(1,1,1,header.length).setFontWeight("bold").setBackground("#0F3460").setFontColor("#FFFFFF");
  }
  return sh;
}
function readSheet(n){
  const sh=SS.getSheetByName(n);
  if(!sh)return{ok:false,msg:'Sheet tidak ada: '+n};
  const d=sh.getDataRange().getValues();
  if(!d.length)return{ok:true,data:[]};
  const h=d[0];
  return{ok:true,data:d.slice(1).map((r,i)=>{
    const o={_row:i+2};
    h.forEach((hh,j)=>o[hh]=r[j]);
    return o;
  })};
}
function createRow(n,p){
  let sh;
  if(n==="LembarPengesahan"){sh=ensureSheet_(n,HEADER_LP);}
  else{sh=SS.getSheetByName(n);if(!sh)return{ok:false,msg:'Sheet tidak ada: '+n};}
  const h=sh.getRange(1,1,1,sh.getLastColumn()).getValues()[0];
  if(h.indexOf("id")!==-1&&!p.id)p.id="ID-"+new Date().getTime();
  sh.appendRow(h.map(hh=>p[hh]||''));
  return{ok:true};
}
function updateRow(n,p){
  const sh=SS.getSheetByName(n);
  if(!sh)return{ok:false,msg:'Sheet tidak ada'};
  const rn=parseInt(p._row);
  if(!rn)return{ok:false,msg:'_row diperlukan'};
  const h=sh.getRange(1,1,1,sh.getLastColumn()).getValues()[0];
  sh.getRange(rn,1,1,h.length).setValues([h.map((hh,i)=>p[hh]!==undefined?p[hh]:sh.getRange(rn,i+1).getValue())]);
  return{ok:true};
}
function deleteRow(n,p){
  const sh=SS.getSheetByName(n);
  if(!sh)return{ok:false,msg:'Sheet tidak ada'};
  const rn=parseInt(p._row);
  sh.deleteRow(rn);
  return{ok:true};
}
// v5.1: Verifikasi kode lembar pengesahan (publik, tanpa login)
function verifyPengesahan(kode){
  if(!kode)return{ok:false,msg:'Kode kosong'};
  const target=String(kode).toUpperCase().trim();
  const sh=ensureSheet_("LembarPengesahan",HEADER_LP);
  const data=sh.getDataRange().getValues();
  if(data.length<2)return{ok:false,msg:'Belum ada data'};
  const h=data[0],idxKode=h.indexOf("kode_verifikasi");
  if(idxKode===-1)return{ok:false,msg:'Kolom kode_verifikasi tidak ada'};
  for(let i=1;i<data.length;i++){
    if(String(data[i][idxKode]||'').toUpperCase().trim()===target){
      const rec={};h.forEach((hh,j)=>rec[hh]=data[i][j]);
      return{ok:true,data:rec};
    }
  }
  return{ok:false,msg:'Kode tidak ditemukan'};
}
1. Google Sheet → Extensions → Apps Script
2. Paste kode Code.gs
3. Deploy → New Deployment → Web App
4. Execute as: Me · Access: Anyone
5. Copy URL → Paste di ⚙️ Koneksi