Skip to content

Instantly share code, notes, and snippets.

@johardi
Last active January 16, 2020 10:31
Show Gist options
  • Save johardi/882ec50e35a6ca080f5d to your computer and use it in GitHub Desktop.
Save johardi/882ec50e35a6ca080f5d to your computer and use it in GitHub Desktop.
Kabupaten Penerima Dana Pemberdayaan Masyarakat, PNPM 2014

Grafik peta di atas menampilkan proporsi besar dana PNPM yang diterima oleh masing-masing kabupaten di Indonesia di tahun 2014. Terdapat dua jenis dana yang tercatat untuk program PNPM ini dari Bank Dunia (World Bank), yaitu:

  • Dana Community Development Area (CDA),
  • Dana Civil Society Fund (CSF)

Catatan: warna merah menandakan data tidak tersedia atau tidak dapat disimpulkan (lihat "Catatan Pinggir").

Kredit grafik peta: Mike Bostock

Sumber data: PNPM Socrata (diunduh 18 Juli 2014)

Catatan Pinggir

Pada saat pemprosesan data terdapat beberapa ketidaksesuaian nama-nama kabupaten antara dataset PNPM dan data topologi ID_ADM2. Tabel berikut menampilkan perbandingan nama-nama tersebut dan resolusi yang diambil dalam membuat penyesuaian nama.

PNPM ID_ADM2 Resolusi
Kepulauan Meranti --
Bolaang Mongondow Timur Bolaang Mongondow
Bolaang Mongondow Selatan Bolaang Mongondow
Bolaang Mongondow Utara Bolaang Mongondow
Kayong Utara --
Sawahlunto/Sijunjung Sawahlunto Ubah nama Sawahlunto/Sijunjung di PNPM menjadi Sawahlunto
Nias Utara Nias Selatan, Nias
Nias Barat Nias Selatan, Nias
Manggarai Timur Manggarai Barat, Manggarai
Lingga Lingga (Kotamadya) Ubah data Lingga di ID_ADM2 menjadi Kabupaten
Lombok Utara Lombok Barat, Lombok Tengah, Lombok Timur
Kota Tangerang Selatan Kota Tangerang, Tangerang
Bengkulu Tengah Bengkulu Utara, Bengkulu Selatan, Bengkulu
Labuhan Batu Utara Labuhan Batu
Labuhan Batu Selatan Labuhan Batu
Dharmas Raya Dharmasraya Ubah nama Dharmas Raya di PNPM menjadi Dharmasraya
Anambas --
Pidie Jaya --
Tana Tidung --
Kutai Kertanegara Kutai Kartanegara Ubah nama Kutai Kertanegara di PNPM menjadi Kutai Kartanegara
Sumba Tengah Sumba Barat, Sumba Timur
Sumba Barat Daya Sumba Barat, Sumba Timur
Sigi --
Banjar Banjar (Kotamadya) Ubah data Banjar di ID_ADM2 menjadi Kabupaten
Minahasa Tenggara Minahasa Utara, Minahasa Selatan, Minahasa
Kubu Raya --
Pesawaran --
Batu Bara --
Mesuji --
Buton Utara Buton
GunungSitoli --
Padang Lawas Utara --
Padang Lawas --
Konawe Konawe Selatan (Kotamadya)
Konawe Utara Konawe Selatan (Kotamadya)
Konawe Selatan Konawe Selatan (Kotamadya) Ubah data Konawe Selatan di ID_ADM2 menjadi Kabupaten
Sabu Raijua --
Bintan --
Kepulauan Sangihe Kepulauan Sangihe Talaud Ubah name Kepulauan Sangihe Talaud di ID_ADM2 menjadi Kepulauan Sangihe
Bandung Barat Bandung
Toraja Utara --
Buru Selatan Buru
Empat Lawang --
Gorontalo Utara Gorontalo
Nagekeo --
Pringsewu --
Tulang Bawang Barat Tulang Bawang
Maluku Barat Daya Maluku Tengah, Maluku Tenggara Barat, Maluku Tenggara
Musi Banyuasin Musi Banyu Asin
Tojo Una-una Tojo Una-Una
Polewali Mandar Polewali Mamasa
Kab. Kep. Siau Tagolandang Biaro --
create table dana2014 (
"Province Nom" decimal(12),
Province varchar(255),
"Kabupaten Nom" decimal(12),
Kabupaten varchar(255),
"Kecamatan Nom" decimal(12),
Kecamatan varchar(255),
"Sum Proposal" decimal(12),
"Sum Fund CDA" decimal(12),
"Sum Fund CSF" decimal(12),
"Sum Ideas All" decimal(12),
"Sum Ideas F" decimal(12),
"Nomor Proyek" decimal(12),
"Sub Proyek" varchar(255),
Proposals decimal(12),
"Length m" decimal(12),
"Area m2" decimal(12),
"Quantity PU" decimal(12),
"Fund CDA" decimal(12),
"Fund CHF" decimal(12),
"Idea A" decimal(12),
"Idea F" decimal(12),
"Beneficiary M" decimal(12),
"Beneficiary F" decimal(12),
"Beneficiary P" decimal(12),
Location varchar(255)
)
<!DOCTYPE html>
<meta charset="utf-8">
<style>
.buttons {
text-align: center;
width: auto;
}
.buttons .button {
box-shadow: 0 1px 2px rgba(0,0,0,0.08);
border-bottom-color: #ccc;
border-radius: 3px;
border: solid 1px #ddd;
background: #fff;
color: #888;
}
.buttons .button.fund-active {
box-shadow: inset 0 1px 4px rgba(0,0,0,.15);
z-index: 2
}
.button {
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
text-align: center;
line-height: 1.3em;
margin: 4px -5px 4px 0;
padding: 7px 0;
position: relative;
width: 96px;
cursor: pointer;
}
.button:first-child {
border-radius: 3px 0 0 3px;
}
.button:last-child {
border-radius: 0 3px 3px 0;
}
.button.fund-active {
background-color: #f0f0f0;
border-color: #ccc;
border-top-color: #bbb;
color: #333;
}
.legend {
font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
}
.legend path {
display: none;
}
.legend line {
stroke: #000;
shape-rendering: crispEdges;
}
.boundary {
fill: none;
stroke: #fff;
stroke-linejoin: round;
}
.region:hover {
opacity: 0.5;
}
</style>
<body>
<div class="buttons">
<script src="http://d3js.org/d3.v3.min.js"></script>
<script src="http://d3js.org/queue.v1.min.js"></script>
<script src="http://d3js.org/topojson.v1.min.js"></script>
<script>
var margin = {top: 100, right: 100, bottom: 100, left: 100},
width = 1400 - margin.left - margin.right,
height = 600 - margin.top - margin.bottom;
var format = d3.format(".d");
var funds = [
{
label: "Dana CDA",
dataset: d3.map(),
color: d3.scale.threshold()
.domain([0.5, 2, 5, 10, 20, 35, 50])
.range(["#deebf7", "#c6dbef", "#9ecae1", "#6baed6", "#4292c6", "#2171b5", "#08519c", "#08306b"]),
xscale: d3.scale.linear()
.domain([0, 55])
.range([0, 420])
},
{
label: "Dana CSF",
dataset: d3.map(),
color: d3.scale.threshold()
.domain([0.1, 0.2, 0.5, 1, 2, 3, 4])
.range(["#deebf7", "#c6dbef", "#9ecae1", "#6baed6", "#4292c6", "#2171b5", "#08519c", "#08306b"]),
xscale: d3.scale.linear()
.domain([0, 4.4])
.range([0, 420])
}
];
var projection = d3.geo.mercator()
.scale(1500)
.translate([-2460, 175]);
var path = d3.geo.path()
.projection(projection);
var svg = d3.select("body").append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom);
var map = svg.append("g")
.attr("transform", "translate(0,-20)");
var legend = svg.append("g")
.attr("class", "legend")
.attr("transform", "translate(30,420)");
var legendCaption = legend.append("text")
.attr("class", "caption")
.attr("y", -6)
.text("Besar dana (dalam miliar rupiah)");
var xAxis = d3.svg.axis()
.orient("bottom")
.tickSize(13);
var buttons = d3.select(".buttons");
var button = buttons.selectAll(".button")
.data(funds)
.enter().append("button")
.attr("class", "button")
.text(function(d) { return d.label; });
var tooltip = d3.select("body").append("div")
.attr("class", "tooltip")
.style("opacity", 0);
queue()
.defer(d3.json, "/johardi/raw/e2eb227a477fe0e7fb2b/id.json")
.defer(d3.csv, "pnpm2014.csv", function(d) {
funds[0].dataset.set(d.id, +d.cda_fund);
funds[1].dataset.set(d.id, +d.csf_fund);
})
.await(ready);
function ready(error, id) {
var boundaries = map.selectAll("path")
.data(topojson.feature(id, id.objects.regency).features)
.enter().append("path")
.attr("class", "region")
.attr("d", path);
map.append("path")
.datum(topojson.mesh(id, id.objects.regency, function(a, b) { return a !== b; }))
.attr("class", "boundary")
.attr("d", path);
button.on("click", click);
click(funds[0]);
function click(d) {
var color = d.color;
var x = d.xscale;
button.classed("fund-active", function(p) { return d === p; });
boundaries.style("fill", function(regency) {
var rate = d.dataset.get(regency.id);
if (typeof rate == 'undefined') {
return "#ff0000";
}
return color(rate);
});
var legendData = legend.selectAll("rect")
.data(color.range().map(function(p, i) {
return {
x0: i ? x(color.domain()[i - 1]) : x.range()[0],
x1: i < color.domain().length ? x(color.domain()[i]) : x.range()[1],
color: p
};
}));
legendData.enter().insert("rect")
.attr("height", 8)
.attr("x", function(p) { return p.x0; })
.attr("width", function(p) { return p.x1 - p.x0; })
.style("fill", function(p) { return p.color; });
legendData.transition()
.attr("x", function(p) { return p.x0; })
.attr("width", function(p) { return p.x1 - p.x0; })
xAxis.scale(x)
.tickValues(color.domain())
.tickFormat(function(p) { return p > color.domain()[0] ? format(p) : null; });
legend.call(xAxis);
}
}
d3.select(self.frameElement).style("height", 520 + "px");
d3.select(self.frameElement).style("width", 1260 + "px");
d3.select(self.frameElement).style("margin-left", -145 + "px");
</script>
:pnpm2014
a dcat:Dataset ;
dct:title "Data Pendanaan Aktif Program Nasional Pemberdayaan Masyarakat, PNPM 2010" ;
dcat:keyword "pendanaan", "fund", "pnpm", "2014" ;
dct:issued "2014-07-21"^^xsd:date ;
dct:modified "2014-07-21"^^xsd:date ;
dcat:contactPoint <http://ha.rdi.io/jo/contact> ;
dct:language <http://id.loc.gov/vocabulary/iso639-1/id> ;
dcat:distribution :pnpm2014-csv ;
.
:pnpm2014-csv
a dcat:Distribution ;
dcat:downloadURL <https://gist.github.com/johardi/74d9705d5c5a7b215faa#file-pnpm2014-csv> ;
dct:title "CSV distribution of Data Pendanaan Aktif PNPM 2014" ;
dcat:mediaType "text/csv" ;
dcat:byteSize "13665"^^xsd:decimal ;
.
id cda_fund csf_fund
1 23.65 0.190156
2 22.4 0
3 32.9 0
4 6.565 0
5 43.265028 0
6 16.75 0
7 12.1 0
8 16.25 0
9 38.15 0
10 61.4 0
11 71.35 0.032165
13 14.6 0
14 36.75 0
15 15.15 0
18 20.9 0
19 53.45 0
21 18.35 0
22 7.375 0.8239522
23 5.8725 0.375589125
24 13.315 0.69134825
26 6.415 0.5811056
27 5.47 0.1567689
28 13.04 0.51974715
29 2.95 0.066763
30 13.11 1.6631019
31 4.24 0
33 4.875 0
35 3 0.007602
40 71.15 0.4350979
41 59.25 0.65544565
42 31.25 0.17830455
43 35.55 0.0433996
44 11.806901 0
45 22.66966075 0.03719
47 16.6866912 0
48 5.6576115 0
49 4.45 0
50 3.3 0
51 8.75 0
52 17.1561635 0
53 15.4 0.186725
54 29.95 0.4062421
56 16.8 0.136273588
57 25.05 0.3702985
72 6.8 0.1038371
73 10.25 0.126658
75 5.11 0.031165
76 10.05 0.2778016
77 5.105 0.141499
78 4.55 0.03299
79 9.95 0.2600015
80 7.15 0.058403
81 5.2 0.036
82 12.85 0.6185195
84 11.4995145 0.0317975
85 46.78 1.39778165
86 26.9103437 5.86416438
87 46.9461805 0.92983855
89 11.5903955 0.53876205
91 57.4044011 1.569661
92 29.95 1.9068092
93 41.4999996 0.40295295
100 25.152199 1.0330792
101 24.85 3.56469345
102 18.779 0.3502027
103 23.7114091 1.27637155
104 14.713487 0.7818523
105 20.34157885 2.311770325
106 33.6 4.987822125
107 39.2548922 1.2333084
108 33.2520328 1.435411555
109 27.2977944 0.464065825
110 16.39619575 0.3009321
111 15.7 2.63056325
112 42 1.6051328
113 39.8666765 2.1448594
114 18.7748637 2.031607125
115 34.045119 2.388021
116 8.89774 1.562309
117 11.8844476 3.0806402
118 41.5199624 2.5973285
119 12.6690032 1.4514377
120 11.75 0.6538258
125 2.4 1.00230295
126 26.9662836 1.5597627
127 4.886809 0.149863
128 20.498846 0.60065735
129 24.0437579 0.81251365
130 23.2336493 0.4998413
132 15.3587512 1.161139042
133 24.2055725 0.7218571
135 14.6894762 1.2279957
136 15.4071712 2.7770953
137 6.9225836 0.4474717
139 18.35 0.8104543
140 21.5405597 1.05255715
141 22.284248 1.565816095
142 34.7360537 0.6130108
143 30.25 0.49755415
144 20.4 1.16970605
146 18.3 0.43315065
148 40.3 1.62097224
149 34.65 0.1815738
150 13.4 1.400247
152 46.1 0.2528911
153 14.2 0.5713617
155 22.5 2.442291
156 27.35 1.31016975
157 19.5 0.38178295
158 12.503 0.555989075
160 11 0.615950625
162 24.9 3.1622413
163 12.7 0.533422
165 19.5 0.748529125
166 24.15 0.9651816
167 14.9 0.88910935
168 25.85 0.2424742
169 29.9 0.97776755
171 25.15 1.05187715
172 30.1 1.20685765
174 37.25 0.212846
175 4.5175 0.1321921
176 28.997 0.24118525
177 38.65 1.1191745
179 17 1.14385845
180 28.97 0.73029595
181 10.7 0.905162125
182 16.35 0.1090455
183 21.2710533 0.8532957
184 17.809444 0.3266465
185 19.115 0.1242
188 14.305 0.016937
189 19.05 0.1886678
190 22.3342105 1.1074143
191 2.6 0.04495779
194 4.20802605 0.0004
196 13.85 0.727421
198 12.113443 0.21021925
199 3.326476 0.046006
200 5.4 0.101703
201 8.05 0.103668
202 12.520383 0.0674445
205 7.65 0.273887
206 2.4872026 0.0943443
207 9.7 0.34750475
208 4.4 0.053363
209 6.1 0.06016
210 4.4 0.0569148
211 7.45 0.22392765
212 26.75 0.5097047
213 12.05 0.0685495
214 4.3 0.048845
215 20 0.762386074
216 4.7 0.100959
217 5.95 0.2200688
219 8.1 0.031613
220 5.45 0.18843705
221 4.2225 0.072063
225 15.6 0.1458535
227 9.6157347 0.223185
228 6.388 0.223148
229 11.960579 0.155883
230 8.51476 0.027315
231 24.9761442 0.5456539
236 4.3 0.02126355
238 6.05 0.0104746
239 7.3535 0.0760229
242 40.2 0.36493845
243 42.9 0.03024
244 29.6 2.129070486
245 10.030518925 0.5898375
246 23.88162 0.6049463
248 21.3 0.485798
249 23.0042053 0.21125815
250 29.85 0.8314123
251 6.031342205 0
252 5.186089161 0.0645
253 3.5623419 0.080659
254 10.9410646 0.16972484
255 13.73205405 0
260 4.344487 0.09420545
261 11.230186 0.3977515
262 30.47264 0.37122825
263 17.34 0.8160239
264 13.75 0.9310906
265 16.31 0.8422159
266 12.7217 0.6960553
267 19.8 0.43233505
269 23 0.0615986
270 23.8515297 0.392313
271 28.1 1.73129625
272 25.1 1.112169658
274 5.4 0.1001928
275 30.15 0.548609
276 40.35 0.005467
277 53.953694 1.38346215
278 42.95 1.7320654
279 18.4493467 0.90614385
280 38.7998 1.137670504
282 18.5 1.00203586
283 27 0.887498199
284 24 0.5680316
285 4.2312365 0.3986212
286 7.471492 1.20958559
287 41.4574764 1.73677933
288 13.75 0.21193075
289 47.8657873 1.074095505
290 6.1710525 0.11791874
291 38.813096577 0.1669731
311 9.64 0
313 10.91 0.018771
314 6.7 0
315 16.6 0.2048147
316 8.33625 0.12272
318 6.68 0.1475386
320 7.635 0.162676
321 5.16254655 0.056351
322 19.1 0.067395
323 42.9 1.917790394
324 2.9 0.1532301
325 9.1 0.309217
327 14.7 0.3937893
328 8.8 0
329 16.25 0.272456809
330 7.9 0.055
331 7.45 0.0925141
332 23.9264807 0.00324
333 15.996798 0
334 8.8918995 0.1288416
335 13.7 0.5394178
336 58.5 0.535269
338 18.15 0.0550009
340 17.4454739 0.304224075
342 9.55 0.0772942
343 5.9359112 0.10442
344 9.25 0.0962182
346 6.2999999 0.0054759
347 13.9427885 0.035031
348 33.5 0.2498156
349 10.2498537 0.0193019
350 10.58579 0.248474
351 9.676277 0.1760935
353 32.05 0.2848215
354 8.112503 0.00455
356 17.493194 0.2294373
357 17.065794 0.1748875
359 16.2 0.1265894
361 26.1 0.2123647
362 49.4732404 0.4665185
364 25 0.0362515
365 39.6330592 0.176138
366 37.651826 0.3261036
367 75.9940067 0.5624865
368 13.1484033 0.129707
370 3.507773694 0.05398846
371 10.763571701 0.08534291
373 1.96630395 0.1438585
374 0.694890519 0.0154925
375 15 0.348770357
378 12.65 0.307071
380 11.095 0.05689
381 23.75 0.14648
382 10.05 0.093121
384 17.65 0.02106
387 14.85 0.0973406
388 18.95 0.06243
390 15.1 0.78319
392 5.3 0.06288
393 5.65 0.0953973
394 13 0.1313598
396 10.45 0.2580529
397 23.3 0
398 24.737739 0.004
400 10.6 0.0011
402 19.727156 0
403 19.85 0.0026205
404 30.2 0.6588396
405 14.15 0
406 15.5 0
407 7.65 0.003202
411 19.8360113 0
413 24.9 0.1002994
414 14.9526127 0.3736396
415 18.776499 0.2479275
416 8.5 0.12635
417 7.370057 0.134167
419 16.2 0
420 36.7866752 0.022535
423 15.5643397 0.6393303
425 16.457896 0
427 21.3082607 0.398588
428 18.4047863 0.4956246
430 6.405146 0.1090117
432 25.45 0.076488
433 23.6052344 0.250314
434 20.4870042 0.643565
436 18.410426 0.4974017
437 3.1 0.2152492
438 36.05 3.3676072
439 13.55 0.8684866
440 0.915 0.027143
select idcode.id_2 as "id",
sum(pnpm.cda)/1000000000::float as cda_fund,
sum(pnpm.csf)/1000000000::float as csf_fund
from
(select distinct "Kabupaten Nom" as kid,
province, kabupaten, kecamatan,
"Sum Fund CDA" as cda, "Sum Fund CSF" as csf from dana2014_view) as pnpm
left join
(select * from idcode where type_2 = 'Kabupaten') as idcode on pnpm.kabupaten = idcode.name_2
where idcode.id_2 is not null
group by idcode.id_2
order by idcode.id_2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment