Bimtek Bogor Aug 2022 - 4a Konsolidasi Ke SP4N LAPOR
Bimtek Bogor Aug 2022 - 4a Konsolidasi Ke SP4N LAPOR
Konsolidasi Data
SP4N Lapor!
30 Agustus 2022
Outline Bimtek Konsolidasi Data
• Pengenalan konsolidasi data
• Pengenalan aplikasi konsolidasi data
https://konsolidasidev.layanan.go.id
• Kamus Data SP4N Lapor
• Tutorial perancangan konsolidasi data
• Tutorial penggunaan aplikasi konsolidasi data
• Tutorial eksekusi konsolidasi data
2
Manfaat Konsolidasi Data
5
Teknik Mapping
6
Teknik Mapping: Entity-Relationship +
Ontology Matching
• Memetakan entitas data yang sejenis
• “Pengaduan” ⬄ “Pengaduan” [Nama sama]
• “Complaints” => “Lapor” [Komplain adalah bagian dari laporan]
• “Pengaduan” => “Complaints” [Alih bahasa]
• “Pengaduan” ≠ “Respon Aduan” [Walaupun ada hubungannya, tapi 2 entitas ini
berbeda]
• Memetakan kolom data yang kongruen
• “nama” => “nama” [Label sama]
• “nama_pengadu” => “name” [Menunjuk ke hal yang sama]
• “kel” … “location_id” [biasanya kolom kel hanya menyimpan nama kelurahan lokasi
laporan. Jika ingin dipetakan, perlu transformasi terlebih dahulu dan nilai komposit
dari provinsi+kota+kecamatan+kelurahan-nya supaya location_id dapat diperoleh]
7
Teknik Mapping: Master-Data Management
(MDM)
• Tabel pada basis data dapat diklasifikasi menjadi 5 level:
1. Reference: Data referensi. Tidak berubah
2. Master: Data yang bertambah dengan volume kecil. Perubahannya minor dan
relatif jarang
3. Master Detail: Data yang menjelaskan tentang Master
4. Transaction: Data yang bertambah dengan volume besar
5. Transaction Detail: Data yang menjelaskan tentang Transaction
• Hubungan data hanya dapat dilakukan dengan level di atasnya atau yang
selevel
• Master bisa mengacu ke reference / master lainnya
• Master detail bisa mengacu ke Master / reference / master detail lainnya
• Master detail tidak bisa mengacu ke Transaction / Transaction detail
8
Mapping Tabel
pengaduan Transaction
Transaction lapor_complaint_complaint
s
Transaction lapor_complaint_followups
9
Mapping Kolom
lapor_admin_institutions
id
name
skpd slug
id
nama_skpd ? alias
institution_type_id
alamat location_code
parent_id
email
address
website
phone
fax
10
Teknik Mapping Kolom
• Identifikasi Domain, Ko-Domain, Range, dan Undefined dari kedua
belah data
• Domain: Data yang ada pada sumber data
• Ko-Domain: Data yang ada pada tujuan data
• Range: Data yang berhasil di-mapping ke
tujuan data 7
7
• Undefined: Data dari sumber data yang
tidak dapat di-mapping ke tujuan data
• Domain: {1,2,3,4,5}
• Ko-Domain: {4,8,12,16,20,22,24}
• Range: {4,8,12,16,20}
• Undefined: {77} 11
Teknik Mapping Kolom
• 4 jenis mapping kolom
• Perfect mapping: Domain ≡ Ko-Domain
Cukup perlu mapping sederhana
• Perfect transformable mapping: F(Domain) ≡ Ko-Domain
- Perlu definisi fungsi transformasi yang sesuai
- Seluruh kolom yang mengacu ke ini perlu di-transformasi juga
• Whole transformable mapping: F(Domain) ≡ Range ⊂ Ko-Domain
- Perlu definisi fungsi transformasi yang sesuai
• Imperfect mapping: F(Domain) ⊄ Ko-Domain (Ada Undefined)
- Perlu ada kompromi untuk menentukan data yang Undefined disubstitusi
oleh value apa
12
Mapping Data
id nama_skpd alama id name address
t 127334 Dinas Komunikasi dan Informatika -
111Dinas Kependudukan dan Pencatatan Sipil - Dinas Kependudukan dan
131882 Pencatatan Sipil -
112Dinas Komunikasi dan Informatika -
13
Mapping Kolom
skpd lapor_admin_institutions
Perfect transformable
id mapping id
nama_skpd Perfect name
mapping
Perfect
alamat address
mapping
14
Overview Kamus Data
SP4N Lapor!
15
16
Tutorial Penggunaan Aplikasi
Konsolidasi Data
17
Buka alamat
https://konsolidasidev.layanan.go.id/
Kemudian klik tombol Log In
18
Masukkan email dan password,
kemudian klik Log In
19
Tampilan setelah login sukses
20
Pembuatan Proyek
Konsolidasi Data
21
Klik menu “Aplikasi Umum”
pada daftar menu
22
Klik nama aplikasi LAPOR!
23
Klik “Gunakan Template” pada
template “Lapor Masyarakat”
24
Masukkan informasi nama
proyek konsolidasi kemudian
klik “Simpan”
25
Proyek konsolidasi berhasil
tersimpan
26
Input Definisi Sumber Basis Data
27
Klik nama proyek
28
Klik menu Sumber Basis Data
29
Klik tombol Tambah (+)
30
Masukkan definisi
koneksi basis data
aplikasi Anda
Password: generate
31
Klik Tombol Tes Koneksi
Jika sudah benar, akan muncul
pesan “Koneksi Berhasil”
32
Klik tombol “Simpan”
33
Definisi koneksi basis data
sumber berhasil ditambahkan
34
Input Definisi Tujuan API
35
Klik menu “Tujuan Data”
kemudian “Tujuan API JSON”
36
Klik tombol edit (pensil)
Pada halaman ini dapat
dilihat definisi API JSON
yang menjadi tujuan
penyimpanan data
37
Berikut adalah definisi API
yang digunakan pada
konsolidasi data Post Aduan
Nama: Nama dari tujuan data
Base Endpoint: alamat dasar
dari suatu API, bisa diubah
sesuai kebutuhan
Function Getendpoint: daftar
API yang digunakan
Function Pengambilan Data:38
implementasi fungsi konsolidasi
Function doInsert
'doInsert' => function($params, $variables, $endpoints, $data, $job_execution) {
return;
try {
$respdata = postJson($endpoints[0], [
'json' => [
'data' => $data,
],
]);
logJobExecution($job_execution, "info", "Response: " . json_encode($respdata));
} catch (\Exception $e) {
logJobExecution($job_execution, "info", "Error #1: " . $e->getMessage());
}
},
$respAcuan = postJson($endpoints['add_aduan'], [
'headers' => [
'token' => $resptoken->results->token,
'Authorization' => "Bearer ".$resptokenuser->results->token
],
'form_params' => $post,
]);
$respAcuan = (object)$respAcuan;
$new_idmaps[$previds[$i]] = $respAcuan->complaint_id;
logJobExecution($job_execution, "info", "Response: " . json_encode($respAcuan));
}
46
Klik Menu “Lainnya” kemudian menu
“Variables”
47
Masukkan informasi
authentikasi instansi Anda (
https://s.id/tutorialapilapor)
48
Pembuatan Job Konsolidasi Data
49
Klik navigasi “Menu”
50
Klik menu “Definisi Jobs”
51
Pada baris #1, klik tombol
“Aksi” kemudian “Edit”
52
Akan muncul halaman
“Edit Job”
Isikan dengan nama mapping
Definisi sumber nilai data Pilih tipe cara pengambilan Pilih kolom yang hendak diisi
data yang sesuai
53
Klik “Lihat Tabel” untuk
melihat isi dari sumber
54
Contoh sumber data
“pengaduan”
55
Contoh sumber data
“pengaduan”
56
Sumber data dari
query ke database
57
Mapping data per
kolom, ikuti template
58
Pendefinisian Konsolidasi Nilai
Data per Pemetaan
59
Tipe Konsolidasi Nilai Data
60
Pilih kolom ‘id’ untuk
dipetakan dari sumber
61
Pilih kolom ‘id’ untuk
dipetakan ke tujuan data
62
Mapping id ke id terdefinisi
63
Klik tombol Simpan
64
Konsolidasi IDMap
65
Map vs IDMap
• Konsolidasi nilai tipe map hanya akan menyalin nilai saja
• Pada aplikasi tujuan, seringkali data baru diterima dengan ID increment / rule
tertentu (istilahnya surrogate key)
• Sangat sulit jika memetakan nilainya satu per satu
• Belum lagi untuk nilai pada tabel lain yang mengacu pada ID tersebut
IDMap • Pemetaan kolom ID yang nilainya mengikuti aturan ID pada basis data tujuan
• Cocok untuk surrogate key
IDMap Lookup • Pemetaan pada kolom yang mengacu pada ID yang dipetakan dengan IDMap
• Cocok untuk foreign key
66
Klik menu Transformasi di
bagian atas lalu pilih
submenu IDMap
67
Klik tombol Tambah ID Maps
68
Masukkan nama ID Complaints
lalu klik simpan
69
Kembali ke menu Transformasi
lalu pilih submenu Definisi Jobs
70
Klik tombol “Aksi” pada job Sync
Pengaduan lalu klik tombol Edit
71
Ubah jenis mapping pada id
menjadi IDMap
72
Pilih nama IDMap “ID
Complaints”
73
Eksekusi Konsolidasi Data
74
Buka halaman definisi Job
75
Jika pesan sukses sudah muncul akan muncul
loading bar penanda proses eksekusi
76
Melihat Hasil Konsolidasi Data
77
Buka halaman
https://lapor.konsolidasiapp.layanan.go.id/
78
Login dengan akun
konsolidasi lapor
79
Data laporan sudah muncul
80
Mapping Berikutnya
• Data kategori pengaduan
• Pengguna / akun aplikasi pengaduan
• Mapping pengaduan eksisting ke kategori pada SP4N Lapor
• Tindak lanjut pengaduan
• Tanggapan pelapor
• Status pengaduan
• Linking SKPD penjawab pengaduan
• Lampiran pengaduan
81