Gambar 4.3 adalah halaman utama untuk admin dan kepala dinas. Pada halaman ini akan ditampilkan data PTK. Untuk menuju
Menu SIG, maka klik pada Menu Bar SIG.
4.2.3.1.1 Menu Bar SIG
4.2.3.1.1.1 Halaman Utama SIG untuk Admin dan Kepala
Dinas
Gambar 4. 4.
Halaman Utama SIG
Listing Program untuk menampilkan maps:
1. script
src=http:maps.googleapis.commapsapijs?sensor=falseamp;language=idkey=AIzaSyA qVkttaP8S2omjaagg3d-wB6SnHMCA22Qscript
2. script
3. var marker;
4. function initialize {
5. var mapCanvas = document.getElementByIdgoogleMap;
6. var mapOptions = {
7. mapTypeId: google.maps.MapTypeId.ROADMAP,
8. zoom: 0
9. };
10. var map = new google.maps.MapmapCanvas, mapOptions;
11. var infoWindow = new google.maps.InfoWindow;
12. var bounds = new google.maps.LatLngBounds;
13. 14.
function CoordMapTypetileSize { 15.
this.tileSize = tileSize; 16.
} 17.
18. CoordMapType.prototype.getTile = functioncoord, zoom, ownerDocument {
19. var div = ownerDocument.createElementdiv;
20. div.innerHTML = coord;
21. div.style.width = this.tileSize.width + px;
22. div.style.height = this.tileSize.height + px;
23. div.style.fontSize = 10;
24. div.style.borderStyle = solid;
25. div.style.borderWidth = 1px;
26. div.style.borderColor = AAAAAA;
27. return div;
28. };
29. 30.
map.overlayMapTypes.insertAt0, new CoordMapTypenew google.maps.Size256, 256;
31. 32.
function bindInfoWindowmarker, map, infoWindow, data { 33.
google.maps.event.addListenermarker, click, function { 34.
infoWindow.setContentdata; 35.
infoWindow.openmap, marker; 36.
}; 37.
} 38.
39. function addMarkerlatitude, longitut, info, info2, info3, info4, jenisdata {
40. var pt = new google.maps.LatLnglatitude, longitut;
41. bounds.extendpt;
42. var markerType = ;
43. if jenisdata === 1 {
44. markerType = gambarSdDigabung.png;
45. }
46. else if jenisdata === 0 {
47. markerType = gambarorangFix.png;
48. }
49. var marker = new google.maps.Marker{
50. map: map,
51. position: pt,
52. icon: markerType
53. };
54. map.fitBoundsbounds;
55. bindInfoWindowmarker, map, infoWindow, info + info2 + info3 + info4,
jenisdata; 56.
} 57.
?php 58.
query = mysql_queryselect from penilaiankg.sekolah; 59.
while data = mysql_fetch_arrayquery { 60.
lat = data[latitudeSDN]; 61.
lon = data[longitutSDN]; 62.
nama = data[namaSekolah]; 63.
jumlahSiswa = data[jumlahSiswa]; 64.
rombel = data[rombel]; 65.
npsn = data[npsn]; 66.
if lat = null lon = null || lat = lon = { 67.
68. echo addMarkerlat, lon, bnamab, brNpsn = npsn, brSisawa =
jumlahSiswa, brrombel = rombel, 1;\n; 69.
} 70.
} 71.
72. query2 = mysql_queryselect from penilaiankg.ptk;
73. while data2 = mysql_fetch_arrayquery2 {
74. latptk = data2 [latitudePTK];
75. lonptk = data2[longitutPTK];
76. namaptk = data2[namaPtk];
77. nuptk = data2[nuptk];
78. jenisPtk = data2[jenisPtk];
79. setatusKepegawaian = data2[statusKepegawaian];
80. if latptk = null lonptk = null || latptk = lonptk = {
81. echo addMarkerlatptk, lonptk, bnamaptkb, brNUPTK = nuptk,
brJenis PTK = jenisPtk,brSetatus Kepegawaian = setatusKepegawaian, 0;\n; 82.
} 83.
} 84.
? 85.
} 86.
google.maps.event.addDomListenerwindow, load, initialize; 87.
script
Pada Halaman utama SIGGambar 4.4 terdapat Menu Bar yaitu Menu, Data, Panduan, dan Logout. Di dalam Menu bar menu terdapat sub
sistem Home dan sistem utama Seperti gambar 4.5 : PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4. 5. Halaman Utama SIG sub sistem Menu
Untuk Menu bar Data terdapat sub sistem Ganti Lokasi PTK dan SDN, Gabung SD N Secara Manual, Pindah PTK Secara Manual, Cari PTK
Berdasarkan Sekolah, Daftar SDN Tergabung, Daftar SDN Digabung, Daftar PTK Tidak Memiliki Sekolah, dan History Pemindahan PTK Seperti
gambar 4.6. :
Gambar 4. 6.
Halaman Utama SIG sub sistem Data
4.2.3.1.1.2 Sub Sistem Perbaharui Lokasi PTK dan SDN
untuk Admin PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4. 7. Halaman Update lokasi PTK SDN
Gambar 4.7. merupakan halaman yang digunakan untuk mengupdate Koordinat PTK dan SDN. Jika akan mengganti koordinat
sekolah maka klik tombol Cari Masukan NPSN atau Nama Sekolah pada kolom NPSN NUPTK.
Listing Program untuk mencari data PTK dan SDN yang akan diupdate :
1. form method=POST action=updateLokasi.php
2. label class=control-label col-sm-2NPSN NUPTK label
3. label class=control-label col-sm-1:label
4. div class=col-sm-7 col-xs-7 col-lg-7
5. 6.
select class=selectpicker
dropdown onchange=this.form.submit title=-- Cari -- required=true data-live-search=true
name=data data-size=7 7.
?php 8.
query4 = mysql_queryselect from penilaiankg.sekolah;; 9.
10. while data6 = mysql_fetch_arrayquery4 {
11. if data6[statusGruping] = 1 {
12. echo option value= . data6[npsn] . . data6[npsn] .
. data6[namaSekolah] . option; 13.
} 14.
} 15.
query1 = mysql_queryselect from penilaiankg.ptk ;; 16.
while data4 = mysql_fetch_arrayquery1 { 17.
echo option value= . data4[nuptk] . . data4[nuptk] . . data4[namaPtk] . option;
18. }
19. ?
20. select
21. div
22. div class=form-inline
23. div class=col-sm-2
24. button
type=submit class=btn
btn-primary style=display:inlinespan
class=glyphicon glyphicon-
searchspannbspCaributton 25.
div 26.
div 27.
form
Listing Program untuk menampilkan data PTK dan SDN yang akan diupdate :
1. if isset_POST[data] {
2. searchf = _POST[data];
3. 4.
query2 = mysql_queryselect from penilaiankg.ptk where nuptk like searchf;
5. query3 = mysql_queryselect from penilaiankg.sekolah where NPSN like
searchf; 6.
7. jumlah1 = mysql_num_rowsquery2;
8. jumlah = mysql_num_rowsquery3;
9. 10.
if jumlah1 0 { 11.
while data3 = mysql_fetch_arrayquery2 { 12.
latptk = data3[latitudePTK]; 13.
lonptk = data3[longitutPTK];
14. namaptk = data3[namaPtk];
15. nuptk2 = data3[nuptk];
16. jenisPtk = data3[jenisPtk];
17. sekolah = data3[sekolah];
18. setifikasi = data3[sertifikasi];
19. setatusKepegawaian = data3[statusKepegawaian];
20. kecPTK = data3[kecamatan];
21. alamatPTK = data3[alamat];
22. }
23. } else if jumlah 0 {
24. while data5 = mysql_fetch_arrayquery3 {
25. namaSdAsal = data5[namaSekolah];
26. jumlahSiswaSdAsal = data5[jumlahSiswa];
27. rombelSdAsal = data5[rombel];
28. npsnSdAsla = data5[npsn];
29. latidSDNasal = data5[latitudeSDN];
30. LongitSDNasal = data5[longitutSDN];
31. AlamatSDAsal = data5[alamat];
32. }
33. ?
Gambar 4. 8.
Halaman Update data SDN.
Gambar 4.8. menampilkan cara mengubah koordinat SDN. Setelah itu klik Cari Masukan NPSN atau Nama SDN dalam kolom NPSN
NUPTK. Listing Program untuk mengupdate data SDN:
1. if isset_POST[NPSN1] isset_POST[nama1] isset_POST[Longitude1]
isset_POST[Latitude1] isset_POST[Alamat1] { 2.
nama = _POST[nama1]; 3.
npsn = _POST[NPSN1]; 4.
alamat = _POST[Alamat1]; 5.
latitudeSD = _POST[Latitude1]; 6.
longitudeSD = _POST[Longitude1]; 7.
8. query_carilonglat = mysql_queryselect from penilaiankg.sekolah where NPSN like
npsn; 9.
while data_longlat = mysql_fetch_arrayquery_carilonglat { 10.
latSDN = data_longlat[latitudeSDN]; 11.
longSDN = data_longlat[longitutSDN]; 12.
} 13.
14. if latitudeSD == latSDN longitudeSD == longSDN {
15. hasil3 = brdiv class=alert alert-warning col-lg-7 col-md-7 col-sm-7
16. a href= class=close data-dismiss=alert aria-label=closetimes;a
17. strongData Tidak ada yang Diperbaharui strong untuk nama.
18. div;
19. } else {
20. query = mysql_queryUPDATE penilaiankg.sekolah set
21. . npsn=npsn, namaSekolah =nama,
22. . alamat=alamat, longitutSDN=longitudeSD, latitudeSDN=latitudeSD
23. . where npsn like npsn;
24. 25.
hasil2 = brdiv class=alert alert-success col-lg-7 col-md-7 col-sm-7 26.
a href= class=close data-dismiss=alert aria-label=closetimes;a 27.
strongData Berhasil Diperbaharui strong untuk nama. 28.
div; 29.
} 30.
}
Jika data berhasil diupdate maka akan muncul pemberitahuan seperti pada gambar 4.9. :
Gambar 4. 9. Halaman Update lokasi SDN berhasil.
Jika data tidak berhasil diupdate maka akan muncul pemberitahuan seperti pada gambar 4.10 :
Gambar 4. 10. Halaman Update lokasi SDN gagal.
Gambar 4. 11.
Halaman Update data PTK.
Listing Program untuk mengupdate data PTK:
1. else
if isset_POST[nuptk_update]
isset_POST[nama] isset_POST[Longitude] isset_POST[Latitude] isset_POST[Alamat] {
2. nama1 = _POST[nama];
3. nuptkupdate = _POST[nuptk_update];
4. alamat1 = _POST[Alamat];
5. latitudeSD1 = _POST[Latitude];
6. longitudeSD1 = _POST[Longitude];
7. 8.
query_cari = mysql_queryselect from penilaiankg.PTK where NUPTK like nuptkupdate;
9. while data_longlat1 = mysql_fetch_arrayquery_cari {
10. latSDN1 = data_longlat1[latitudePTK];
11. longSDN1 = data_longlat1[longitutPTK];
12. }
13. if latitudeSD1 == latSDN1 longitudeSD1 == longSDN1 {
14. hasil4 = brdiv class=alert alert-warning col-lg-7 col-md-7 col-sm-7
15. a href= class=close data-dismiss=alert aria-label=closetimes;a
16. strongData Tidak ada yang Diperbaharui strong untuk nama1.
17. div;
18. } else {
19. query = mysql_queryUPDATE penilaiankg.ptk set
20. . nuptk=nuptkupdate, namaPtk =nama1,
21. . alamat=alamat1, longitutPTK=longitudeSD1, latitudePTK=latitudeSD1
22. . where nuptk like nuptkupdate;
23. hasil = brdiv class=alert alert-success col-lg-7 col-md-7 col-sm-7
24. a href= class=close data-dismiss=alert aria-label=closetimes;a
25. strongData Berhasil Diperbaharui strong untuk nama1.
26. div;
27. }
28. }
Jika data berhasil diupdate maka akan muncul pemberitahuan seperti pada gambar 4.12. :
Gambar 4. 12. Halaman Update lokasi PTK berhasil.
Jika data tidak berhasil diupdate maka akan muncul pemberitahuan seperti pada gambar 4.13. :
Gambar 4. 13. Halaman Update lokasi PTK gagal
4.2.3.1.1.3 Sub Sistem Gabung SD N Secara Manual dan
Otomatis untuk admin dan kepala DISDIKPORA
4.2.3.1.1.3.1 Sub Sistem Gabung SD N Secara Manual
Gambar 4. 14. Halaman Gabung SDN Manual
Admin dan kepala DISDIKPORA dapat menggabungkan 2 SDN secara manual dengan cara memasukkan NPSN Tergabung dan NPSN
Digabung kemudian klik cari. Listing Program untuk mencari data NPSN Tergabung NPSN digabung :
1. form method=POST action=gabungManual.php
2. div class=row
3. div class=col-sm-12 col-lg-12 col-md-12
4. div class=form-group style=font-size: 17px
5. label
class=control-label col-sm-3
col-lg-3 col-md-3NPSN
Tergabunglabel 6.
label class=control-label col-sm-1 col-lg-1 col-md-1:label 7.
div class=col-sm-4 col-lg-4 col-md-4 8.
--input type=text class=form-control name=npsn_tergabung value= onkeyup=angkathis; required=true autofocus--
9. --div class=col-sm-10 col-xs-10 col-lg-10--
10. ?php
11. nama = ;
12. if isset_SESSION[npsn_tergabung] {
13. nama = _SESSION[npsn_tergabung];
14. query_cari = mysql_queryselect from penilaiankg.sekolah where
npsn like nama;; 15.
while data7 = mysql_fetch_arrayquery_cari {
16. namaSdNtergabung = data7[namaSekolah];
17. }
18. 19.
echo select class=selectpicker dropdown title= . nama . . namaSdNtergabung
. data-live-search=true
name=npsn_tergabung data-size=7
required=true; 20.
query4 = mysql_queryselect from penilaiankg.sekolah;; 21.
while data6 = mysql_fetch_arrayquery4 { 22.
if data6[statusGruping] = 1 { 23.
echo option value= . data6[npsn] . . data6[npsn] . . data6[namaSekolah] . option;
24. }
25. }
26. echo select;
27. } else {
28. ?
29. select class=selectpicker dropdown title=--Pilih-- data-live-
search=true name=npsn_tergabung data-size=7 required=true 30.
?php 31.
query4 = mysql_queryselect from penilaiankg.sekolah;; 32.
while data6 = mysql_fetch_arrayquery4 { 33.
if data6[statusGruping] = 1 { 34.
echo option value= . data6[npsn] . . data6[npsn] . . data6[namaSekolah] . option;
35. }
36. }
37. ?
38. --optgroup--
39. select
40. ?php
41. }
42. unset_SESSION[npsn_tergabung];
43. ?
44. --div--
45. divbr
46. div
47. div
48. div
49. div class=row
50. div class=col-sm-12 col-lg-12 col-md-12
51. div class=form-group style=font-size: 17px; padding-bottom: 10px
52. label
class=control-label col-sm-3
col-lg-3 col-md-3NPSN
Digabunglabel 53.
label class=control-label col-sm-1 col-lg-1 col-md-1:label 54.
div class=col-sm-4 col-lg-4 col-md-4 55.
?php 56.
nama2 = ; 57.
if isset_SESSION[npsn_digabung] { 58.
nama2 = _SESSION[npsn_digabung]; 59.
query_cari = mysql_queryselect from penilaiankg.sekolah where npsn like nama2;;
60. while data8 = mysql_fetch_arrayquery_cari {
61. namaSdNdigabung = data8[namaSekolah];
62. }
63. echo select class=selectpicker dropdown title= . nama2 . .
namaSdNdigabung .
data-live-search=true name=npsn_digabung
data-size=7 required=true;
64. 65.
query9 = mysql_queryselect from penilaiankg.sekolah ;; 66.
67. while data6 = mysql_fetch_arrayquery9 {
68. if data6[statusGruping] = 1 {
69. echo option value= . data6[npsn] . . data6[npsn] . .
data6[namaSekolah] . option; 70.
} 71.
} 72.
echo select; 73.
} else { 74.
? 75.
select class=selectpicker dropdown title=--Pilih-- data-live- search=true name=npsn_digabung data-size=7 required=true
76. ?php
77. query9 = mysql_queryselect from penilaiankg.sekolah ;;
78. 79.
while data6 = mysql_fetch_arrayquery9 { 80.
if data6[statusGruping] = 1 { 81.
echo option value= . data6[npsn] . . data6[npsn] . . data6[namaSekolah] . option;
82. }
83. }
84. ?
85. select
86. ?php
87. }
88. unset_SESSION[npsn_digabung];
89. ?
90. divbr
91. div
92. div
93. div
94. div class=form-group
95. label class=control-label col-sm-4 col-lg-4 col-md-4label
96. div class=col-sm-2
97. button type=submit class=btn btn-primary style=display:inlinespan
class=glyphicon glyphicon-searchspannbspCaributton 98.
div 99.
div 100.
form
Gambar 4. 15. Halaman Tampil Gabung SDN manual
Setelah mengeklik Cari maka akan muncul seperti gambar 4.15. yang menampilkan kedua SDN yang akan tergabung.
Listing program untuk menampilkan 2 SDN yang akan tergabung dan menampilkan rute.
1. ?php
2. if isset_POST[mode] {
3. MODE = _POST[mode];
4. _SESSION[mode] = MODE;
5. ModeFix = _SESSION[mode];
6. } else {
7. MODE = DRIVING;
8. if isset_SESSION[mode] {
9. ModeFix = _SESSION[mode];
10. } else {
11. ModeFix = MODE;
12. }
13. }
14. ?
15. 16.
script 17.
var marker; 18.
var markers = []; 19.
var originMarker; 20.
var dists = []; 21.
22. function minIndexarr {
23. var index = 0;
24. var min = arr[0];
25. for var i = 0; i arr.length; i++ {
26. if arr[i] min {
27. min = arr[i];
28. index = i;
29. }
30. }
31. return index;
32. }
33. function initialize {
34. 35.
var mapCanvas = document.getElementByIdgoogleMap; 36.
var mapOptions = { 37.
mapTypeId: google.maps.MapTypeId.ROADMAP 38.
}; 39.
var map = new google.maps.MapmapCanvas, mapOptions; 40.
var infoWindow = new google.maps.InfoWindow; 41.
var bounds = new google.maps.LatLngBounds; 42.
var directionsService = new google.maps.DirectionsService; 43.
var directionsDisplay = new google.maps.DirectionsRenderer{ 44.
draggable: true, 45.
map: map, 46.
panel: document.getElementByIddirectionsPanel 47.
}; 48.
?php 49.
alaret = ; 50.
if isset_POST[npsn_tergabung] isset_POST[npsn_digabung] { 51.
52. _SESSION[npsn_tergabung] = _POST[npsn_tergabung];
53. _SESSION[npsn_digabung] = _POST[npsn_digabung];
54. 55.
if _POST[npsn_tergabung] = _POST[npsn_digabung] { 56.
57. npsnTergabung = _POST[npsn_tergabung];
58. npsnDigabung = _POST[npsn_digabung];
59. 60.
query3 = mysql_queryselect from penilaiankg.sekolah where NPSN like
npsnTergabung; 61.
jumlah = mysql_num_rowsquery3; 62.
if jumlah 0 { 63.
while data3 = mysql_fetch_arrayquery3 { 64.
latptk = data3[latitudeSDN]; 65.
lonptk = data3[longitutSDN]; 66.
namaptk = data3[namaSekolah]; 67.
nuptk = data3[npsn]; 68.
jenisPtk = data3[jumlahSiswa]; 69.
kecamatanSdAsal = data3[kecamatan];
70. rombeld = data3[rombel];
71. ruangkls = data3[ruangKelas];
72. 73.
query7 = mysql_queryselect countsekolah from penilaiankg.ptk where sekolah like npsnTergabung;;
74. while jmlSekolah1 = mysql_fetch_arrayquery7 {
75. jumlahSD1 = jmlSekolah1[countsekolah];
76. }
77. 78.
cntn1 = brbutton disabled type=button class=btn btn-info btn-sm data- toggle=modal data-target=myModal . preg_replace\s+, , namaptk . Gabungbutton;
79. btnAsal = a href=\Pecarian.php?searchf= . nuptk . nbspbutton type=button
class=btn btn-info btn-smSD Tergabungbuttona; 80.
btnTujuan = nbspbutton type=button class=btn btn-info btn-sm data- toggle=modal data-target=myModal . preg_replace\s+, , namaptk . SD
Digabungbutton; 81.
82. echo originMarker=addMarkerlatptk, lonptk, bnamaptkb, brNPSN =
nuptk, brJumlah Siswa = jenisPtk, 1, brRombel = rombeld,brRuang Kelas = ruangkls,brJumlah Guru = jumlahSD1,brkecamatanSdAsal,brcntn1,btnAsal;\n;
83. echo originMarker=addMarkerlatptk, lonptk, bnamaptkb, brNPSN =
nuptk, brJumlah Siswa = jenisPtk, 1, brRombel = rombeld,brRuang Kelas = kls,brJumlah Guru = jumlahSD1,brkecamatanSdAsal,brcntn1,btnAsal;\n;
84. }
85. 86.
cariSekolahAsal = mysql_queryselect from penilaiankg.sekolah where NPSN like nuptk;
87. while data5 = mysql_fetch_arraycariSekolahAsal {
88. namaSdAsal = data5[namaSekolah];
89. jumlahSiswaSdAsal = data5[jumlahSiswa];
90. rombelSdAsal = data5[rombel];
91. npsnSdAsla = data5[npsn];
92. }
93. } else {
94. _SESSION[Notife] = brdiv class=alert alert-warning col-md-4
95. a href= class=close data-dismiss=alert aria-label=closetimes;a
96. strongPeringatan strong Data NPSN NUPTK salah atau ada spasinya.
97. div;
98. headerLocation: index.php;
99. die;
100. }
101. 102.
query2 = mysql_queryselect from penilaiankg.sekolah where NPSN like
npsnDigabung; 103.
while data2 = mysql_fetch_arrayquery2 { 104.
latsekloh = data2[latitudeSDN]; 105.
lonseloh = data2[longitutSDN]; 106.
nama1 = data2[namaSekolah]; 107.
jumlahSiswa1 = data2[jumlahSiswa]; 108.
rombel1 = data2[rombel]; 109.
npsnSkolah = data2[npsn]; 110.
statusPenggabungan = data2[statusGruping]; 111.
kecamatanSdTujuan = data2[kecamatan]; 112.
113. cntnzz = brbrbutton type=button class=btn btn-info btn-sm inline data-
toggle=modal data-target=myModal . preg_replace\s+, , nama1 . Gabungbutton;
114. btnAsal1 = a href=\Pecarian.php?searchf= . npsnSkolah . nbspbutton
type=button class=btn btn-info btn-sm inlineSD Tergabungbuttona; 115.
116. loatSD = lonseloh;
117. latSd = latsekloh;
118. query6 = mysql_queryselect countsekolah from penilaiankg.ptk where sekolah like
npsnSkolah;; 119.
while jmlSekolah = mysql_fetch_arrayquery6 { 120.
jumlahSekolah1 = jmlSekolah[countsekolah]; 121.
} 122.
123. btnTujuan1
= div
class=btn-group inlineform
action=gabungSDN.php method=POST
124. . input type=hidden name=latid value= . latSd .
125. . input type=hidden name=logit value= . loatSD .
126. .
nbspbutton type=submit
class=btn btn-info
btn-sm inlineSD
Digabungbutton 127.
. formdiv; 128.
echo markers.pushaddMarkerlatSd,
loatSD, bnama1b,brNPSN
= npsnSkolah, brJumlah Siswa = jumlahSiswa1, 2, brrombel = rombel1, brJumlah guru
= jumlahSekolah1,brkecamatanSdTujuan, cntnzz,btnAsal1,btnTujuan1;\n; 129.
} 130.
} else { 131.
alaret = brdiv class=alert alert-danger col-md-12 col-sm-12 col-lg-12 132.
a href= class=close data-dismiss=alert aria-label=closetimes;a 133.
strongPeringatan strong Data NPSN Tergabung NPSN Digabung Tidak boleh sama.
134. div;
135. }
136. }
137. ?
138. var service = new google.maps.DistanceMatrixService;
139. var arrMin;
140. service.getDistanceMatrix{
141. origins: [originMarker.getPosition],
142. destinations: markers.mapfunctionm {
143. return m.getPosition;
144. },
145. travelMode: google.maps.TravelMode.?php echo ModeFix; ?,
146. unitSystem: google.maps.UnitSystem.METRIC
147. }, functionresponse, status {
148. if
status ===
google.maps.DistanceMatrixStatus.OK status
=== google.maps.DirectionsStatus.OK status === google.maps.GeocoderStatus.OK {
149. for i = 0; i response.rows[0].elements.length; i++ {
150. dists.pushresponse.rows[0].elements[i].distance.value;
151. }
152. var nearestMarker = markers[minIndexdists];
153. ?php
154. if isset_POST[latid] isset_POST[logit] {
155. lat2 = _POST[latid];
156. long2 = _POST[logit];
157. 158.
echo displayRoutelat2, long2, latptk, lonptk, directionsService, directionsDisplay;; 159.
} else { 160.
? 161.
displayRoutenearestMarker.getPosition, originMarker.getPosition,
directionsService,
162. directionsDisplay;
163. ?php } ?
164. } else {
165. alertSetatus : + status;
166. }
167. 168.
}; 169.
170. directionsDisplay.addListenerdirections_changed, function {
171. computeTotalDistancedirectionsDisplay.getDirections;
172. };
173. 174.
function displayRouteorigin, destination, service, display { 175.
service.route{ 176.
origin: origin, 177.
destination: destination, 178.
travelMode: google.maps.TravelMode.?php echo ModeFix; ? 179.
} 180.
, functionresponse, status { 181.
if status === google.maps.DirectionsStatus.OK { 182.
display.setDirectionsresponse; 183.
} else { 184.
alertSetatus : + status; 185.
} 186.
} 187.
; 188.
} 189.
190. function computeTotalDistanceresult {
191. var total = 0;
192. var myroute = result.routes[0];
193. for var i = 0; i myroute.legs.length; i++ {
194. total += myroute.legs[i].distance.value;
195. }
196. total = total 1000;
197. document.getElementByIdtotal.innerHTML = total + km;
198. }
199. 200.
function bindInfoWindowmarker, map, infoWindow, html, data, data1 { 201.
google.maps.event.addListenermarker, click, function { 202.
infoWindow.setContenthtml; 203.
infoWindow.openmap, marker; 204.
}; 205.
} 206.
207. function addMarkerlatitude, longitut, info, info2, btnGbng, jenisSekolah, data, data1, data2,
data3, btnAsal, btnTujuan { 208.
var pt = new google.maps.LatLnglatitude, longitut; 209.
bounds.extendpt; 210.
var markerType = ; 211.
if jenisSekolah === 1 { 212.
markerType = gambarSdTergabung2.png; 213.
} 214.
else { 215.
markerType = gambarSdDigabung.png; 216.
} 217.
var marker = new google.maps.Marker{
218. map: map,
219. position: pt,
220. icon: markerType
221. };
222. map.fitBoundsbounds;
223. bindInfoWindowmarker, map, infoWindow, info + info2 + btnGbng + data + data1 +
data2 + data3 + btnAsal + btnTujuan; 224.
return marker; 225.
} 226.
} 227.
google.maps.event.addDomListenerwindow, load, initialize;
228.
script
Sebelum melakukan penggabungan, admin dan kepala dinas dapat memilih mode Transportasi berdasar Legenda. gambar 4.16 adalah mode
transportasi untuk walking berjalan kaki.
Gambar 4. 16. Halaman Gabung SDN Manual mode walking
Admin dan Kepala DISDIKPORA dapat melakukan penggabungan dengan cara mengeklik marker yang berwarna biru seperti gambar 4.17. :
Gambar 4. 17. Halaman Gabung SDN Manual tekan Gabung
Akan muncul pesan dengan Informasi dari sekolah yang akan digabung, lalu admin dan kepala DISDIKPORA dapat menekan button
Gabung
untuk melakukan penggabungan. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4. 18. Halaman Gabung SDN Manual konfirmasi
Setelah menekan button Gabung maka akan muncul pesan
konfirmasi penggabungan kedua SDN tersebut seperti pada gambar 4.18. Jika sudah yakin maka tinggal klik simpan.
Listing program untuk menggabungkan ke 2 buah SDN.
1. if isset_POST[npsnSdTujuan1] isset_POST[npsnSdAsal1] {
2. 3.
penangguJawab = _SESSION[username]; 4.
npsnSDasar = _POST[npsnSdAsal1]; 5.
npsnSekolahDigabung = _POST[npsnSdTujuan1]; 6.
npsnSdTujuan = _POST[npsnSdTujuan1]; 7.
npsnSekolahTergabung = _POST[npsnSdAsal1]; 8.
tgl = dateY-m-d; 9.
10. query2 = mysql_queryUPDATE penilaiankg.sekolah SET statusGruping=2,
tglPenggabungan = tgl WHERE npsn like npsnSDasar; 11.
query1 = mysql_queryUPDATE penilaiankg.sekolah SET statusGruping=1, tglPenggabungan = tgl WHERE npsn like npsnSdTujuan;
12. query = UPDATE penilaiankg.ptk SET StatusPindah=2 WHERE sekolah like
npsnSDasar; 13.
14. query4 = mysql_queryUPDATE penilaiankg.ptk SET StatusPindah=2 WHERE sekolah
like npsnSdTujuan; 15.
16. cariIdGabung = mysql_queryselect from penilaiankg.gabungsekolah;
17. while row3 = mysql_fetch_arraycariIdGabung {
18. idGabungSD = row3[idgabungSekolah];
19. }
20. 21.
idbaru; 22.
if idGabungSD = null || idGabungSD = { 23.
idbaru = uniqid; 24.
} else { 25.
idbaru = uniqid; 26.
} 27.
28. cariNamaSdTergabung = mysql_queryselect from penilaiankg.sekolah where NPSN like
npsnSekolahTergabung; 29.
while cari1 = mysql_fetch_arraycariNamaSdTergabung { 30.
namaSekolahTergabung = cari1[namaSekolah]; 31.
} 32.
cariNamaSdDigabung = mysql_queryselect from penilaiankg.sekolah where NPSN like npsnSekolahDigabung;
33. while cari2 = mysql_fetch_arraycariNamaSdDigabung {
34. namaSekolahDigabung = cari2[namaSekolah];
35. }
36. 37.
query3 = insert into penilaiankg.gabungsekolahidgabungSekolah, npsnSekolahTergabung, namaSekolahTergabung, npsnSekolahDigabung, namaSekolahDigabung, tglPenggabungan,
Keterangan 38.
. VALUES idbaru,npsnSDasar,namaSekolahTergabung,npsnSdTujuan,namaSekolahDigabung,tg
l,penangguJawab; 39.
40. mysql_queryquery3;
41. 42.
_SESSION[npsnSdTujuan] = npsnSdTujuan; 43.
44. headerLocation: \..\..\dataSdBaru.php?npsn=npsnSDasar;
45. exit;
46. } else {
47. echo alertTidak masuk;
48. }
Setelah melakukan penggabungan, akan diarahkan ke halaman Data Rekomendasi SDN Baru.
Gambar 4. 19.
Halaman data rekomendasi SDN baru
Gambar 4. 19. Menampilkan form rekomendasi sekolah baru. Admin dapat mengganti tersebut atau tetap menggunakan data tersebut.
Setelah itu klik simpan. Listing program untuk mengubah data SDN yang telah tergabung.
1. if isset_POST[NPSN] isset_POST[Nama] {
2. 3.
nama = _POST[Nama]; 4.
statusSklh = _POST[statusSekolah]; 5.
jumlahSiswa = _POST[Jmlh_siswa]; 6.
rombel = _POST[Rombel]; 7.
npsn = _POST[NPSN]; 8.
ruangKelas = _POST[Ruang_kls]; 9.
status = _POST[NPSN]; 10.
nss = _POST[Nss]; 11.
bentukPendidikan = _POST[bentukPendidikan]; 12.
alamat = _POST[AlamatSd]; 13.
rt = _POST[RT]; 14.
rw = _POST[RW]; 15.
dusun = _POST[Dusun]; 16.
desaKelurahan = _POST[Desa]; 17.
kodePos = _POST[Kode_Pos]; 18.
kecamatan = _POST[Kecamatan]; 19.
kabupatenKota = _POST[Kabupaten]; 20.
propinsi = _POST[Provin]; 21.
nomorTelepon = _POST[No_telp]; 22.
nomorFax = _POST[fax]; 23.
email = _POST[email]; 24.
website = _POST[Web_site]; 25.
skPendirianSekolah = _POST[SKPendirian]; 26.
tanggalSkPendirian = _POST[tgl_sk_pendirian]; 27.
skIzinOperasional = _POST[izin_op]; 28.
tanggalSkIzinOperasional = _POST[tgl_sk_op]; 29.
skAkreditasi = _POST[SK_akre]; 30.
tanggalSkAkreditasi = _POST[Tgl_akreditasi]; 31.
namaBank = _POST[Nama_Bank]; 32.
cabangKcpUnit = _POST[cab_UnitBank]; 33.
nomorRekening = _POST[No_rek]; 34.
rekeningAtasNama = _POST[rek_ats_nama]; 35.
36. 37.
query = mysql_queryUPDATE penilaiankg.sekolah set 38.
. npsn=npsn,namaSekolah =nama,nss=nss,statusSekolah=statusSklh,bentukPendidikan=bentukPendidikan,
39. .
jumlahSiswa=jumlahSiswa,rombel=rombel,ruangKelas=ruangKelas,alamat=alamat,rt=rt,r w=rw,dusun=dusun,
40. .
desaKelurahan=desaKelurahan,kodePos=kodePos,kecamatan=kecamatan,kabupatenKota=ka bupatenKota,propinsi=propinsi,
41. .
nomorTelepon=nomorTelepon,nomorFax=nomorFax,email=email,website=website,skPendi rianSekolah=skPendirianSekolah,
42. .
tanggalSkPendirian=tanggalSkPendirian,skIzinOperasional=skIzinOperasional,tanggalSkIzinOp erasional=tanggalSkIzinOperasional,
43. .
skAkreditasi=skAkreditasi,tanggalSkAkreditasi=tanggalSkAkreditasi,namaBank=namaBank,c abangKcpUnit=cabangKcpUnit,nomorRekening=nomorRekening,rekeningAtasNama=rekening
AtasNama where npsn like npsn;
44. 45.
_SESSION[npsnSDasal] = npsn; 46.
_SESSION[npsnSdTujuan]; 47.
48. headerLocation: \..\..\pemindahanGuruSd.php;
49. exit;
50.
}
Gambar 4. 20.
Halaman Pidah guru
Setelah itu akan diarahkan ke halaman Data Guru yang akan Dipindah Gambar 4. 20. Pada halaman ini admin dan Kepala Dinas dapat
melakukan pemindahan atau tidak melakukan apa-apa.
4.2.3.1.1.3.2 Sub Sistem Gabung SDN Secara Otomatis
Gambar 4. 21. Halaman Utaman SIG untuk gabung Otomatis
Penggabungan otomatis dapat dilakukan dari halaman utama SIG seperti pada gambar 4. 21. Admin dan kepala dinas dapat melakukan
penggabungan dengan memasukan nama NPSN SDN kedalam
. Setelah itu klik icon Cari. Seperti pada gambar 4.22. di bawah ini :
Gambar 4. 22. Halaman Utaman SIG
untuk gabung Otomatis cari SDN
Listing program untuk mencari data SDN Tergabung.
1. form class=navbar-form navbar-right role=search action=Pecarian.php method=post
2. div class=row
3. div class=form-group col-sm-10 col-lg-10 col-md-10
4. select class=selectpicker dropdown title=--Cari Sekolah PTK--
required=true onchange=this.form.submit data-live-search=true name=searchf data- size=7
5. ?php
6. cariAwalSd = mysql_queryselect from penilaiankg.sekolah;;
7. while cariAwalSd1 = mysql_fetch_arraycariAwalSd {
8. if cariAwalSd1[statusGruping] = 1 {
9. echo option value= . cariAwalSd1[npsn] . . cariAwalSd1[npsn] .
. cariAwalSd1[namaSekolah] . option; 10.
} 11.
} 12.
? 13.
select 14.
div 15.
div class=form-group col-sm-1 col-lg-1 col-md-1 16.
button type=submit class=btn btn-defaultbutton 17.
div 18.
div
19.
form
Gambar 4. 23. Halaman Gabung SDN otomatis
Sebagai contoh, pada gambar 4.23, SDN Tembelang akan mendapatkan rekomendasi beberapa sekolah yang sudah sesuai dengan
ketentuan-ketentuan yang ada. Ketentuan-ketentuan tersebut seperti menampilkan dalam radius 10 KM, menampilkan sekolah yang jumlah
siswanya kurang dari 120 anak dan kedua sekolah berada dalam 1 kecamatan.
Untuk membuktikan apakah sekolah tersebut masuk dalam radius 10 km maka akan dibuktikan dengan perhitungan rumus yang ada dalam
bab III. Misalnya untuk SDN Tambelang dan SDN Surojoyo. Perhitungannya :
Koordinat untuk SDN Tambelang 110.289524, -7.483533 dan SDN Surojoyo 110.263648, -7.487931.
= √ −
+ −
BA =
√ .
− .
+ − . − − .
BA = √ − .
+ − .
BA = √ .
+ . BA =
√ . BA =
. Kemudian akan diubah ke dalam satuan jarakKM dengan
ketentuan : = 110101.8596
. = 2,889.85351 Km
Jarak penarikan garis lurus yang didapat adalah 2,889.843 km. Dapat disimpulkan bahwa jarak 2 sekolah tersebut memenuhi
rekomendasi radius 10 KM. Untuk melihat jumlah guru dan melihat jumlah siswa maka
akan seperti gambar 4. 24: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4. 24. Halaman Gabung otomatis SDN Lihat jumlah Guru
Pada gambar 4.24. diatas maka akan terlihat jumlah guru dan jumlah siswanya. Kemudian untuk menggabungkan kedua SDN tersebut maka klik
Gabung. Listing program untuk menampilkan radius, jarak terdekat, dan menampilkan filter
ketentuan-ketentuan.
1. ?php
2. if isset_GET[npsn] {
3. searchf = _GET[npsn];
4. _SESSION[npsn] = searchf;
5. } else {
6. searchf = _SESSION[search];
7. }
8. if isset_POST[km] {
9. KiloMeter = _POST[km];
10. _SESSION[km] = KiloMeter;
11. kiloMe = _SESSION[km];
12. } else {
13. KiloMeter = 20000;
14. if isset_SESSION[km] {
15. kiloMe = _SESSION[km];
16. } else {
17. kiloMe = KiloMeter;
18. }
19. }
20. if isset_POST[mode] {
21. MODE = _POST[mode];
22. _SESSION[mode] = MODE;
23. ModeFix = _SESSION[mode];
24. } else {
25. MODE = DRIVING;
26. if isset_SESSION[mode] {
27. ModeFix = _SESSION[mode];
28. } else {
29. ModeFix = MODE;
30. }
31. }
32. ?
33. 34.
script 35.
var marker; 36.
var markers = []; 37.
var originMarker; 38.
var dists = []; 39.
40. function minIndexarr {
41. var index = 0;
42. var min = arr[0];
43. for var i = 0; i arr.length; i++ {
44. if arr[i] min {
45. min = arr[i];
46. index = i;
47. }
48. }
49. return index;
50. }
51. function initialize {
52. 53.
var mapCanvas = document.getElementByIdgoogleMap; 54.
var mapOptions = { 55.
mapTypeId: google.maps.MapTypeId.ROADMAP 56.
}; 57.
var map = new google.maps.MapmapCanvas, mapOptions; 58.
var infoWindow = new google.maps.InfoWindow; 59.
var bounds = new google.maps.LatLngBounds; 60.
var directionsService = new google.maps.DirectionsService; 61.
var directionsDisplay = new google.maps.DirectionsRenderer{ 62.
draggable: true, 63.
map: map, 64.
panel: document.getElementByIddirectionsPanel 65.
}; 66.
?php 67.
query3 = mysql_queryselect from penilaiankg.sekolah where NPSN like searchf; 68.
jumlah = mysql_num_rowsquery3; 69.
if jumlah 0 { 70.
while data3 = mysql_fetch_arrayquery3 { 71.
latptk = data3[latitudeSDN]; 72.
lonptk = data3[longitutSDN]; 73.
namaptk = data3[namaSekolah]; 74.
nuptk = data3[npsn];
75. jenisPtk = data3[jumlahSiswa];
76. kecamatanSdAsal = data3[kecamatan];
77. rombeld = data3[rombel];
78. kls = data3[ruangKelas];
79. 80.
query7 = mysql_queryselect countsekolah from penilaiankg.ptk where sekolah like searchf;;
81. while jmlSekolah1 = mysql_fetch_arrayquery7 {
82. jumlahSD1 = jmlSekolah1[countsekolah];
83. }
84. 85.
cntn1 = brbutton disabled type=button class=btn btn-info btn-sm data- toggle=modal
data-target=myModal .
preg_replace\s+, ,
namaptk .
Gabungbutton; 86.
echo addMarkerlatptk, lonptk, bnamaptkb, brNPSN = nuptk, Jumlah Siswa = jenisPtk, 1,Jumlah Guru = jumlahSD1,cntn1;\n;
87. btnAsal = a href=\Pecarian.php?searchf= . nuptk . nbspbutton type=button
class=btn btn-info btn-smSD Tergabungbuttona; 88.
89. echo originMarker=addMarkerlatptk, lonptk, bnamaptkb, brNPSN =
nuptk, brJumlah Siswa = jenisPtk, 1, brRombel = rombeld,brRuang Kelas = kls,brJumlah Guru = jumlahSD1,brkecamatanSdAsal,brcntn1,btnAsal;\n;
90. }
91. 92.
cariSekolahAsal = mysql_queryselect from penilaiankg.sekolah where NPSN like nuptk;
93. while data5 = mysql_fetch_arraycariSekolahAsal {
94. namaSdAsal = data5[namaSekolah];
95. jumlahSiswaSdAsal = data5[jumlahSiswa];
96. rombelSdAsal = data5[rombel];
97. npsnSdAsla = data5[npsn];
98. }
99. } else {
100. _SESSION[Notife] = brdiv class=alert alert-warning col-md-4
101. a href= class=close data-dismiss=alert aria-label=closetimes;a
102. strongPeringatan strong Data NPSN NUPTK salah atau ada spasinya.
103. div;
104. headerLocation: index.php;
105. die;
106. }
107. 108.
query2 = mysql_queryselect from penilaiankg.sekolah; 109.
while data2 = mysql_fetch_arrayquery2 { 110.
latsekloh = data2[latitudeSDN]; 111.
lonseloh = data2[longitutSDN]; 112.
nama1 = data2[namaSekolah]; 113.
jumlahSiswa1 = data2[jumlahSiswa]; 114.
rombel1 = data2[rombel]; 115.
npsnSkolah = data2[npsn]; 116.
statusPenggabungan = data2[statusGruping]; 117.
kecamatanSdTujuan = data2[kecamatan]; 118.
119. hasil = sqrtpowlonptk - lonseloh, 2 + powlatptk - latsekloh, 2;
120. cntnzz = brbrbutton type=button class=btn btn-info btn-sm inline data-
toggle=modal data-target=myModal . preg_replace\s+, , nama1 . Gabungbutton; 121.
btnAsal1 = a href=\Pecarian.php?searchf= . npsnSkolah . nbspbutton type=button class=btn btn-info btn-sm inlineSD Tergabungbuttona;
122. 123.
derajt = 110101.8596; 124.
totalsemua = hasil derajt; 125.
126. if kecamatanSdAsal == kecamatanSdTujuan totalsemua = kiloMe
jumlahSiswa1 = 110 npsnSkolah = npsnSdAsla statusPenggabungan = 1 { 127.
128. loatSD = lonseloh;
129. latSd = latsekloh;
130. query6 = mysql_queryselect countsekolah from penilaiankg.ptk where sekolah like
npsnSkolah;; 131.
while jmlSekolah = mysql_fetch_arrayquery6 { 132.
jumlahSekolah1 = jmlSekolah[countsekolah]; 133.
} 134.
135. btnTujuan1
= div
class=btn-group inlineform
action=gabungSDN.php method=POST
136. . input type=hidden name=latid value= . latSd .
137. . input type=hidden name=logit value= . loatSD .
138. .
nbspbutton type=submit
class=btn btn-info
btn-sm inlineSD
Digabungbutton 139.
. formdiv; 140.
echo addMarkerlatSd, loatSD, bnama1b, brSisawa = jumlahSiswa1, rombel = rombel1, 1, Jumlah guru = jumlahSekolah1, cntnzz;\n;
141. echo
markers.pushaddMarkerlatSd, loatSD,
bnama1b,brNPSN =
npsnSkolah, brJumlah Siswa = jumlahSiswa1, 2, brrombel = rombel1, brJumlah guru = jumlahSekolah1,brkecamatanSdTujuan, cntnzz,btnAsal1,btnTujuan1;\n;
142. }
143. }
144. ?
145. var service = new google.maps.DistanceMatrixService;
146. var arrMin;
147. service.getDistanceMatrix{
148. origins: [originMarker.getPosition],
149. destinations: markers.mapfunctionm {
150. return m.getPosition;
151. },
152. travelMode: google.maps.TravelMode.?php echo ModeFix; ?,
153. unitSystem: google.maps.UnitSystem.METRIC
154. }, functionresponse, status {
155. if
status ===
google.maps.DistanceMatrixStatus.OK status
=== google.maps.DirectionsStatus.OK status === google.maps.GeocoderStatus.OK {
156. for i = 0; i response.rows[0].elements.length; i++ {
157. dists.pushresponse.rows[0].elements[i].distance.value;
158. }
159. var nearestMarker = markers[minIndexdists];
160. ?php
161. if isset_POST[latid] isset_POST[logit] {
162. lat2 = _POST[latid];
163. long2 = _POST[logit];
164. 165.
echo displayRoutelat2, long2, latptk, lonptk, directionsService, directionsDisplay;; 166.
} else { 167.
? 168.
displayRoutenearestMarker.getPosition, originMarker.getPosition,
directionsService, 169.
directionsDisplay;
170. ?php } ?
171. } else {
172. alertSetatus : + status;
173. if status === INVALID_REQUEST {
174. alertSetatus : Radius Terlalu kecil Silahkan Ganti radius.;
175. }
176. else {
177. alertSetatus : Radius Terlalu Besar Silahkan Ganti radius.;
178. }
179. }
180. 181.
}; 182.
183. directionsDisplay.addListenerdirections_changed, function {
184. computeTotalDistancedirectionsDisplay.getDirections;
185. };
186. 187.
function displayRouteorigin, destination, service, display { 188.
service.route{ 189.
origin: origin, 190.
destination: destination, 191.
travelMode: google.maps.TravelMode.?php echo ModeFix; ? 192.
} 193.
, functionresponse, status { 194.
if status === google.maps.DirectionsStatus.OK { 195.
display.setDirectionsresponse; 196.
} else { 197.
alertSetatus : + status; 198.
if status === INVALID_REQUEST { 199.
alertSetatus : Radius Terlalu kecil Silahkan Ganti radius.; 200.
} 201.
else { 202.
alertSetatus : Radius Terlalu Besar Silahkan Ganti radius.; 203.
} 204.
} 205.
} 206.
; 207.
} 208.
209. function computeTotalDistanceresult {
210. var total = 0;
211. var myroute = result.routes[0];
212. for var i = 0; i myroute.legs.length; i++ {
213. total += myroute.legs[i].distance.value;
214. }
215. total = total 1000;
216. document.getElementByIdtotal.innerHTML = total + km;
217. }
218. 219.
function bindInfoWindowmarker, map, infoWindow, html, data, data1 { 220.
google.maps.event.addListenermarker, click, function { 221.
infoWindow.setContenthtml; 222.
infoWindow.openmap, marker; 223.
}; 224.
} 225.
226. function addMarkerlatitude, longitut, info, info2, btnGbng, jenisSekolah, data, data1,
data2, data3, btnAsal, btnTujuan { 227.
var pt = new google.maps.LatLnglatitude, longitut; 228.
bounds.extendpt; 229.
var markerType = ; 230.
if jenisSekolah === 1 { 231.
markerType = gambarSdTergabung2.png; 232.
} 233.
else { 234.
markerType = gambarSdDigabung.png; 235.
} 236.
var marker = new google.maps.Marker{ 237.
map: map, 238.
position: pt, 239.
icon: markerType 240.
}; 241.
map.fitBoundsbounds; 242.
bindInfoWindowmarker, map, infoWindow, info + info2 + btnGbng + data + data1 + data2 + data3 + btnAsal + btnTujuan;
243. return marker;
244. }
245. }
246. google.maps.event.addDomListenerwindow, load, initialize;
247. script
Listing Program untuk menghitung Radius :
1. hasil = sqrtpowlonptk - lonseloh, 2 + powlatptk - latsekloh, 2;
2. derajt = 110101.8596;
3.
totalsemua = hasil derajt;
Listing Program untuk menghitung jalur terdekat :
1. script
2. var marker;
3. var markers = [];
4. var originMarker;
5. var dists = [];
6. 7.
function minIndexarr { 8.
var index = 0; 9.
var min = arr[0]; 10.
for var i = 0; i arr.length; i++ { 11.
if arr[i] min { 12.
min = arr[i]; 13.
index = i; 14.
} 15.
}
16. return index;
17. }
18. function initialize {
19. 20.
var mapCanvas = document.getElementByIdgoogleMap; 21.
var mapOptions = { 22.
mapTypeId: google.maps.MapTypeId.ROADMAP 23.
}; 24.
var map = new google.maps.MapmapCanvas, mapOptions; 25.
var infoWindow = new google.maps.InfoWindow; 26.
var bounds = new google.maps.LatLngBounds; 27.
var directionsService = new google.maps.DirectionsService; 28.
var directionsDisplay = new google.maps.DirectionsRenderer{ 29.
draggable: true, 30.
map: map, 31.
panel: document.getElementByIddirectionsPanel 32.
}; 33.
var service = new google.maps.DistanceMatrixService; 34.
var arrMin; 35.
service.getDistanceMatrix{ 36.
origins: [originMarker.getPosition], 37.
destinations: markers.mapfunctionm { 38.
return m.getPosition; 39.
}, 40.
travelMode: google.maps.TravelMode.?php echo ModeFix; ?, 41.
unitSystem: google.maps.UnitSystem.METRIC 42.
}, functionresponse, status { 43.
if status
=== google.maps.DistanceMatrixStatus.OK
status ===
google.maps.DirectionsStatus.OK status === google.maps.GeocoderStatus.OK { 44.
for i = 0; i response.rows[0].elements.length; i++ { 45.
dists.pushresponse.rows[0].elements[i].distance.value; 46.
} 47.
var nearestMarker = markers[minIndexdists]; 48.
?php 49.
if isset_POST[latid] isset_POST[logit] { 50.
lat2 = _POST[latid]; 51.
long2 = _POST[logit]; 52.
53. echo displayRoutelat2, long2, latptk, lonptk, directionsService, directionsDisplay;;
54. } else {
55. ?
56. displayRoutenearestMarker.getPosition,
originMarker.getPosition, directionsService,
57. directionsDisplay;
58. ?php } ?
59. } else {
60. alertSetatus : + status;
61. if status === INVALID_REQUEST {
62. alertSetatus : Radius Terlalu kecil Silahkan Ganti radius.;
63. }
64. else {
65. alertSetatus : Radius Terlalu Besar Silahkan Ganti radius.;
66. }
67. }
68. 69.
}; 70.
71. directionsDisplay.addListenerdirections_changed, function {
72. computeTotalDistancedirectionsDisplay.getDirections;
73. };
74. 75.
function displayRouteorigin, destination, service, display { 76.
service.route{ 77.
origin: origin, 78.
destination: destination, 79.
travelMode: google.maps.TravelMode.?php echo ModeFix; ? 80.
} 81.
, functionresponse, status { 82.
if status === google.maps.DirectionsStatus.OK { 83.
display.setDirectionsresponse; 84.
} else { 85.
alertSetatus : + status; 86.
if status === INVALID_REQUEST { 87.
alertSetatus : Radius Terlalu kecil Silahkan Ganti radius.; 88.
} 89.
else { 90.
alertSetatus : Radius Terlalu Besar Silahkan Ganti radius.; 91.
} 92.
} 93.
} 94.
; 95.
} 96.
97. function computeTotalDistanceresult {
98. var total = 0;
99. var myroute = result.routes[0];
100. for var i = 0; i myroute.legs.length; i++ {
101. total += myroute.legs[i].distance.value;
102. }
103. total = total 1000;
104. document.getElementByIdtotal.innerHTML = total + km;
105. }
106. script
Gambar 4. 25. Halaman Konfirmasi Gabung SDN otomatis
Langkah penggabungan sekolah secara otomatis sama seperti penggabung sekolah secara manual.
4.2.3.1.1.4 Sub Sistem Pindah PTK Secara Manual atau
Secara Otomatis
4.2.3.1.1.4.1 Sub Sistem Pindah PTK Secara Manual
Gambar 4. 26. Halaman Pindah PTK Manual
Admin dan kepala DISDIKPORA dapat memindahkan PTK Secara manual dengan cara memasukkan NUPTK dan NPSN, kemudian
klik Cari. Listing Program cari PTK dan SDN tujuan :
1. form method=POST action=pindahPTKmanual.php
2. div class=row
3. div class=col-sm-12 col-lg-12 col-md-12
4. div class=form-group style=font-size: 17px
5. label class=control-label col-sm-3 col-lg-3 col-md-3NUPTKlabel
6. label class=control-label col-sm-1 col-lg-1 col-md-1:label
7. div class=col-sm-4 col-lg-4 col-md-4
8. ?php
9. if isset_SESSION[nuptk1] {
10. nuptkPTK1 = _SESSION[nuptk1];
11. echo select class=selectpicker dropdown title= . nuptkPTK1 . .
namaptk . required=true data-live-search=true name=nuptk data-size=7; 12.
13. cariAwalPTK = mysql_queryselect from penilaiankg.ptk;;
14. while cariAwalPTK1 = mysql_fetch_arraycariAwalPTK {
15. echo
option value=
. cariAwalPTK1[nuptk]
. .
cariAwalPTK1[nuptk] . . cariAwalPTK1[namaPtk] . option; 16.
} 17.
18. echo select;
19. } else {
20. ?
21. select class=selectpicker dropdown title=-- Cari PTK --
required=true data-live-search=true name=nuptk data-size=7 22.
?php 23.
npsn_fik = ; 24.
cariAwalPTK = mysql_queryselect from penilaiankg.ptk;; 25.
while cariAwalPTK1 = mysql_fetch_arraycariAwalPTK { 26.
echo option value= . cariAwalPTK1[nuptk] . . cariAwalPTK1[nuptk] . . cariAwalPTK1[namaPtk] . option;
27. }
28. ?
29. select
30. ?php
31. }
32. unset_SESSION[nuptk1];
33. ?
34. div
35. divbr
36. div
37. div
38. 39.
div class=row 40.
div class=col-sm-12 col-lg-12 col-md-12 41.
div class=form-group style=font-size: 17px; padding-bottom: 10px 42.
label class=control-label col-sm-3 col-lg-3 col-md-3NPSN Tujuanlabel
43. label class=control-label col-sm-1 col-lg-1 col-md-1:label
44. div class=col-sm-4 col-lg-4 col-md-4
45. ?php
46. if isset_SESSION[npsn_tujuan] {
47. npsnfix = _SESSION[npsn_tujuan];
48. 49.
50. echo select class=selectpicker dropdown title= . npsnfix . .
nama1 . required=true data-live-search=true name=npsn_tujuan data-size=7; 51.
cariAwalSd = mysql_queryselect from penilaiankg.sekolah ;; 52.
while cariAwalSd1 = mysql_fetch_arraycariAwalSd { 53.
if cariAwalSd1[statusGruping] = 1 { 54.
echo option
value= .
cariAwalSd1[npsn] .
. cariAwalSd1[npsn] . . cariAwalSd1[namaSekolah] . option;
55. }
56. }
57. echo select;
58. } else {
59. ?
60. select class=selectpicker dropdown title=-- Cari Sekolah --
required=true data-live-search=true name=npsn_tujuan data-size=7 61.
?php 62.
cariAwalSd = mysql_queryselect from penilaiankg.sekolah ;; 63.
while cariAwalSd1 = mysql_fetch_arraycariAwalSd { 64.
if cariAwalSd1[statusGruping] = 1 { 65.
echo option value= . cariAwalSd1[npsn] . . cariAwalSd1[npsn] . . cariAwalSd1[namaSekolah] . option;
66. }
67. }
68. ?
69. select
70. ?php
71. }
72. unset_SESSION[npsn_tujuan];
73. ?
74. divbr
75. div
76. div
77. div
78. div class=form-group
79. label class=control-label col-sm-4 col-lg-4 col-md-4label
80. div class=col-sm-2
81. button type=submit class=btn btn-primary style=display:inlinespan
class=glyphicon glyphicon-searchspannbspCaributton 82.
div 83.
div 84.
form
Gambar 4. 27. Halaman Tampil pindah PTK Manual
Setelah klik Cari maka akan ditampilkan gambar 4.27. yang menampilkan rumah PTK Marker berwarna kuning, menampilkan SDN
asal PTK Marker berwarna merah dan menampilkan SDN Tujuan Pemindahan Marker berwarna biru. Jenis-jenis marker dapat dilihat pada
tombol Legend. Halaman Pindah PTK Manual ini digunakan untuk PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
memindah PTK ke SDN yang sudah diketahui datanya. Oleh karena itu di halaman ini PTK tidak mendapat SDN rekomendasi dari sistem, dan juga
tidak menampilkan sekolah terdekat dari rumah PTK. Untuk mode transportasi sama halnya dengan gabung SDN.
Listing program untuk menampilkan Pemindahan PTK secara Manual :
1. script
src=http:maps.googleapis.commapsapijs?sensor=falseamp;language=idkey=AIzaSyAqVktta P8S2omjaagg3d-wB6SnHMCA22Qscript
2. script type=textjavascript src=jsjquery.jsscript
3. 4.
?php 5.
if isset_POST[mode] { 6.
MODE = _POST[mode]; 7.
_SESSION[mode] = MODE; 8.
ModeFix = _SESSION[mode]; 9.
} else { 10.
MODE = DRIVING; 11.
if isset_SESSION[mode] { 12.
ModeFix = _SESSION[mode]; 13.
} else { 14.
ModeFix = MODE; 15.
} 16.
} 17.
? 18.
script 19.
function myFunction { 20.
var x = document.getElementByIdmode.value; 21.
document.getElementByIddemo.innerHTML = x; 22.
} 23.
script 24.
script 25.
var marker; 26.
var markers = []; 27.
var originMarker; 28.
var dists = []; 29.
30. function minIndexarr {
31. var index = 0;
32. var min = arr[0];
33. for var i = 0; i arr.length; i++ {
34. if arr[i] min {
35. min = arr[i];
36. index = i;
37. }
38. }
39. return index;
40. }
41. function initialize {
42. 43.
var mapCanvas = document.getElementByIdgoogleMap; 44.
var mapOptions = { 45.
mapTypeId: google.maps.MapTypeId.ROADMAP 46.
}; 47.
var map = new google.maps.MapmapCanvas, mapOptions; 48.
var infoWindow = new google.maps.InfoWindow; 49.
var bounds = new google.maps.LatLngBounds; 50.
var directionsService = new google.maps.DirectionsService; 51.
var directionsDisplay = new google.maps.DirectionsRenderer{ 52.
draggable: true, 53.
map: map, 54.
panel: document.getElementByIddirectionsPanel 55.
}; 56.
?php 57.
if isset_POST[nuptk] isset_POST[npsn_tujuan] { 58.
59. nuptk1 = _POST[nuptk];
60. 61.
npsnTujuan1 = _POST[npsn_tujuan]; 62.
63. _SESSION[nuptk1] = _POST[nuptk];
64. _SESSION[npsn_tujuan] = _POST[npsn_tujuan];
65. 66.
query3 = mysql_queryselect from penilaiankg.ptk where nuptk like nuptk1; 67.
jumlah = mysql_num_rowsquery3; 68.
if jumlah 0 { 69.
while data3 = mysql_fetch_arrayquery3 { 70.
latptk = data3[latitudePTK]; 71.
lonptk = data3[longitutPTK]; 72.
namaptk = data3[namaPtk]; 73.
nuptk = data3[nuptk]; 74.
jenisPtk = data3[jenisPtk]; 75.
sekolah = data3[sekolah]; 76.
setifikasi = data3[sertifikasi]; 77.
setatusKepegawaian = data3[statusKepegawaian]; 78.
kecPTK = data3[kecamatan]; 79.
alamatPTK = data3[alamat]; 80.
dusun = data3[dusun]; 81.
82. 83.
cntn1 = brbrbutton disabled type=button class=btn btn-info btn-sm data- toggle=modal data-target=myModal . preg_replace\s+, , namaptk . Pindahbutton;
84. 85.
echo originMarker=addMarkerlatptk, lonptk, bnamaptkb, brNUPTK = nuptk, Jenis PTK = jenisPtk, 0,Setatus Kepegawaian = setatusKepegawaian, brSertifikasi =
setifikasi,brAlamat = alamatPTK, br kecPTK;\n; 86.
} 87.
88. cariSekolahAsal = mysql_queryselect from penilaiankg.sekolah where NPSN like
sekolah; 89.
while data5 = mysql_fetch_arraycariSekolahAsal { 90.
namaSdAsal = data5[namaSekolah]; 91.
jumlahSiswaSdAsal = data5[jumlahSiswa]; 92.
rombelSdAsal = data5[rombel]; 93.
npsnSdAsla = data5[npsn]; 94.
latidSDNasal = data5[latitudeSDN];
95. LongitSDNasal = data5[longitutSDN];
96. AlamatSDAsal = data5[alamat];
97. jrkAsal = div id=outputdiv;
98. 99.
query7 = mysql_queryselect countsekolah from penilaiankg.ptk where sekolah like sekolah;;
100. while jmlSekolah7 = mysql_fetch_arrayquery7 {
101. jumlahSekolah17 = jmlSekolah7[countsekolah];
102. }
103. 104.
echo addMarkerlatidSDNasal,LongitSDNasal,bData
Sekolah Asalb
,brbnamaSdAsalb,NPSN =
npsnSdAsla,2,Jumlah Siswa
= jumlahSiswaSdAsal,brJumlah
Guru =
jumlahSekolah17,brrombel =
rombelSdAsal,brAlamat = AlamatSDAsal;\n; 105.
} 106.
} else { 107.
_SESSION[Notife] = brdiv class=alert alert-warning col-md-4 108.
a href= class=close data-dismiss=alert aria-label=closetimes;a 109.
strongPeringatan strong Data NPSN NUPTK salah atau ada spasinya. 110.
div; 111.
headerLocation: index.php; 112.
die; 113.
} 114.
115. 116.
query2 = mysql_queryselect from penilaiankg.sekolah where NPSN like npsnTujuan1; 117.
while data2 = mysql_fetch_arrayquery2 { 118.
latsekloh = data2[latitudeSDN]; 119.
lonseloh = data2[longitutSDN]; 120.
nama1 = data2[namaSekolah]; 121.
jumlahSiswa1 = data2[jumlahSiswa]; 122.
rombel1 = data2[rombel]; 123.
npsnSkolah = data2[npsn]; 124.
kec = data2[kecamatan]; 125.
cntnzz = brbrbutton type=button class=btn btn-info btn-sm data-toggle=modal data-target=myModal . preg_replace\s+, , nama1 . Pindahbutton;
126. query6 = mysql_queryselect countsekolah, countjenisPtk from penilaiankg.ptk where
sekolah like npsnSkolah;; 127.
while jmlSekolah = mysql_fetch_arrayquery6 { 128.
jumlahSekolah1 = jmlSekolah[countsekolah]; 129.
jmlhJenisPTK = jmlSekolah[countjenisPtk]; 130.
} 131.
132. loatSD = lonseloh;
133. latSd = latsekloh;
134. 135.
136. btnTujuan1 = div class=btn-group inlineform action=halamaGabungGuruMagelang
.php method=POST 137.
. input type=hidden name=latid value= . latSd . 138.
. input type=hidden name=logit value= . loatSD . 139.
. nbspbutton type=submit class=btn btn-info btn-sm inlinePindah Rute Ke Sinibutton
140. . formdiv;
141. echo markers.pushaddMarkerlatSd, loatSD, bnama1b,brNPSN = npsnSkolah,
Jumlah Siswa
= jumlahSiswa1,
1,rombel =
rombel1, brJumlah
guru =
jumlahSekolah1,brkec, cntnzz;\n;
142. }
143. }
144. ?
145. var service = new google.maps.DistanceMatrixService;
146. var arrMin;
147. service.getDistanceMatrix{
148. origins: [originMarker.getPosition],
149. destinations: markers.mapfunctionm {
150. return m.getPosition;
151. },
152. travelMode: google.maps.TravelMode.?php echo ModeFix; ?,
153. unitSystem: google.maps.UnitSystem.METRIC
154. }, functionresponse, status {
155. if
status ===
google.maps.DistanceMatrixStatus.OK status
=== google.maps.DirectionsStatus.OK status === google.maps.GeocoderStatus.OK {
156. for i = 0; i response.rows[0].elements.length; i++ {
157. dists.pushresponse.rows[0].elements[i].distance.value;
158. }
159. var nearestMarker = markers[minIndexdists];
160. ?php
161. if isset_POST[latid] isset_POST[logit] {
162. lat2 = _POST[latid];
163. long2 = _POST[logit];
164. 165.
echo displayRoutelat2, long2, latptk, lonptk, directionsService, directionsDisplay;; 166.
} else { 167.
? 168.
displayRoutenearestMarker.getPosition, originMarker.getPosition,
directionsService, 169.
directionsDisplay; 170.
?php } ? 171.
} else { 172.
alertSetatus : + status; 173.
} 174.
175. };
176. 177.
directionsDisplay.addListenerdirections_changed, function { 178.
computeTotalDistancedirectionsDisplay.getDirections; 179.
}; 180.
181. function displayRouteorigin, destination, service, display {
182. service.route{
183. origin: origin,
184. destination: destination,
185. travelMode: google.maps.TravelMode.?php echo ModeFix; ?
186. }
187. , functionresponse, status {
188. if status === google.maps.DirectionsStatus.OK {
189. display.setDirectionsresponse;
190. } else {
191. alertSetatus : + status;
192. }
193. }
194. ;
195. }
196.
197. function computeTotalDistanceresult {
198. var total = 0;
199. var myroute = result.routes[0];
200. for var i = 0; i myroute.legs.length; i++ {
201. total += myroute.legs[i].distance.value;
202. }
203. total = total 1000;
204. document.getElementByIdtotal.innerHTML = total + km;
205. }
206. 207.
function bindInfoWindowmarker, map, infoWindow, html, data, data1 { 208.
google.maps.event.addListenermarker, click, function { 209.
infoWindow.setContenthtml; 210.
infoWindow.openmap, marker; 211.
}; 212.
} 213.
214. function addMarkerlatitude, longitut, info, info2, info3, jenisSekolah, data, data1, data2,
data3 { 215.
var pt = new google.maps.LatLnglatitude, longitut; 216.
bounds.extendpt; 217.
var markerType = ; 218.
if jenisSekolah === 1 { 219.
markerType = gambarSdDigabung.png; 220.
} 221.
else if jenisSekolah === 0 { 222.
markerType = gambarorangFix.png; 223.
} else { 224.
markerType = gambarSdAsalguru.png; 225.
} 226.
var marker = new google.maps.Marker{ 227.
map: map, 228.
position: pt, 229.
icon: markerType 230.
}; 231.
map.fitBoundsbounds; 232.
bindInfoWindowmarker, map, infoWindow, info + info2 + br + info3 + br + data + data1 + data2 + data3;
233. return marker;
234. }
235. var origin1 = {lat:?php echo latptk; ?, lng:?php echo lonptk; ?};
236. var Tujuan = {lat:?php echo latidSDNasal; ?, lng:?php echo LongitSDNasal; ?};
237. var asa = document.getElementByIdoutput;
238. asa.innerHTML = ;
239. var nampak;
240. 241.
var SDNasal = new google.maps.DistanceMatrixService; 242.
SDNasal.getDistanceMatrix{ 243.
origins: [origin1], 244.
destinations: [Tujuan], 245.
travelMode: google.maps.TravelMode.?php echo ModeFix; ? 246.
}, functionresponse, status { 247.
if status === google.maps.DistanceMatrixStatus.OK { 248.
for i = 0; i response.rows[0].elements.length; i++ { 249.
asa.innerHTML += response.rows[i].elements[i].distance.text; 250.
nampak += response.rows[i].elements[i].distance.text; 251.
252. }
253. } else {
254. alertSetatus : + status;
255. }
256. 257.
}; 258.
} 259.
google.maps.event.addDomListenerwindow, load, initialize;
260.
script
Gambar 4. 28. Halaman Pindah PTK Manual klik pindah
Gambar 4. 28. merupakan contoh pemindahan PTK. Untuk memindahkan PTK dengan nama Devi Abriani ke SDN Tanjunganom, klik
Marker SDN Tujuan kemudian akan muncul kotak pesan informasi. Di PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
dalam kotak informasi tersebut terdapat button Pindah, maka klik button pindah.
Gambar 4. 29. Halaman Konfirmasi pindah PTK Manual
Akan muncul modal untuk mengkonfirmasi apakah akan memindahkan PTK dengan nama Devi Abriani ke SDN Tanjunganom. Jika
sudah yakin maka klik Simpan. Listing Program untuk memindahkan PTK Secara manual :
1. if isset_POST[npsnSdAsal] isset_POST[npsnSdTujuan] {
2. 3.
nuptk = _POST[nuptk]; 4.
npsnSdTujuan = _POST[npsnSdTujuan]; 5.
npsnSdAsla = _POST[npsnSdAsal]; 6.
tgl = dateY-m-d; 7.
Keterangan = _SESSION[username]; 8.
9. data = mysql_queryselect from penilaiankg.ptk where nuptk like nuptk;
10. while row = mysql_fetch_arraydata {
11. namaPtk = row[namaPtk];
12. }
13. data2 = mysql_queryselect from penilaiankg.sekolah where npsn like npsnSdTujuan;
14. while row2 = mysql_fetch_arraydata2 {
15. namaSDN = row2[namaSekolah];
16. }
17. 18.
data3 = mysql_queryselect from penilaiankg.pindahptk; 19.
while row3 = mysql_fetch_arraydata3 { 20.
idpindaPTK = row3[idpindahPTk]; 21.
} 22.
23. idbaru;
24. 25.
if idpindaPTK = null || idpindaPTK = { 26.
idbaru = uniqid; 27.
} else { 28.
idbaru = uniqid; 29.
} 30.
31. 32.
query1 = mysql_queryUPDATE penilaiankg.ptk SET sekolah = npsnSdTujuan, tglPemindahan =tgl, StatusPindah=1 WHERE nuptk like nuptk;
33. 34.
query2 =
insert into
penilaiankg.pindahptkidpindahPTk,npsnSekolahAsal,nuptk,tglPemindahan,Keterangan 35.
. VALUES idbaru,npsnSdAsla,nuptk,tgl,Keterangan; 36.
mysql_queryquery2; 37.
38. _SESSION[Notife2] = brdiv class=alert alert-success col-lg-12 col-md-12 col-sm-12
39. a href= class=close data-dismiss=alert aria-label=closetimes;a
40. strongSelamat strong PTK dengan nama namaPtk dan NUPTK nuptk
Berhasil dipindahkan Ke namaSDN. 41.
divbr; 42.
43. headerLocation: \..\..\pindahPTKmanual.php;
44. } else {
45. echo alertTidak masuk;
46.
}
Gambar 4. 30. Halaman PTK berhasil dipindah secara Manual
Setelah berhasil Memindahkan PTK maka akan muncul pesan pemberitahuan seperti gambar 4.30 diatas.
4.2.3.1.1.4.2 Sub Sistem Pindah PTK Secara Otomatis
Gambar 4. 31. Halaman Utama SIG pindah PTK secara otomatis
Pemindahan PTK secara otomatis dapat dilakukan dari halaman utama SIG seperti pada gambar 4.31. Kepala dinas dapat melakukan
Pemindahan dengan memasukan nama NUPTK PTK kedalam
setelah itu klik icon Cari seperti pada gambar 4.32:
Gambar 4. 32. Halaman Utaman SIG
untuk gabung Otomatis cari SDN
Setelah memasukan PTK kemudian Klik button icon cari. Listing progam untuk mencari PTK :
1. form class=navbar-form navbar-right role=search action=Pecarian.php method=post
2. div class=row
3. div class=form-group col-sm-10 col-lg-10 col-md-10
4. select class=selectpicker dropdown title=--Cari Sekolah PTK--
required=true onchange=this.form.submit data-live-search=true name=searchf data- size=7
5. ?php
6. cariAwalPTK = mysql_queryselect from penilaiankg.ptk ;;
7. while cariAwalPTK1 = mysql_fetch_arraycariAwalPTK {
8. echo
option value=
. cariAwalPTK1[nuptk]
. .
cariAwalPTK1[nuptk] . . cariAwalPTK1[namaPtk] . option; 9.
} 10.
? 11.
select 12.
div 13.
div class=form-group col-sm-1 col-lg-1 col-md-1 14.
button type=submit class=btn btn-defaultbutton 15.
div 16.
div
17.
form
Gambar 4. 33. Halaman Pindah PTK otomatis
Setelah itu akan ditampilkan rumah PTK Marker berwarna kuning, Menampilkan SDN asal PTK Marker berwarna merah dan menampilkan
SDN Tujuan Pemindahan Marker berwarna biruseperti Gambar 4.33. jenis-jenis Marker dapat dipelajari di tombol Legend. Pada halaman pindah
PTK otomatis ini, PTK akan mendapatkan rekomendasi SDN yang sesuai PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
dengan ketentuan-ketentuan yang ada. Ketentuan-ketentuan tersebut adalah mendapat rekomendasi SDN dengan jarak terdekat dari rumah PTK,
menampilkan SDN dalam radius 4 Km, dan SDN yang masih kekurangan PTK. Untuk mencari radius dan jarak terdekat akan sama seperti yang
digunakan untuk menggabungkan ke 2 SDN. Listing program gabung Otomatis :
1. script
src=http:maps.googleapis.commapsapijs?sensor=falseamp;language=idkey=AIzaSyAqVktta P8S2omjaagg3d-wB6SnHMCA22Qscript
2. script type=textjavascript src=jsjquery.jsscript
3. 4.
?php 5.
if isset_GET[ptk] { 6.
searchf = _GET[ptk]; 7.
_SESSION[search] = searchf; 8.
} else { 9.
searchf = _SESSION[search]; 10.
} 11.
12. if isset_POST[km] {
13. KiloMeter = _POST[km];
14. _SESSION[km] = KiloMeter;
15. kiloMe = _SESSION[km];
16. } else {
17. KiloMeter = 10000;
18. if isset_SESSION[km] {
19. kiloMe = _SESSION[km];
20. } else {
21. kiloMe = KiloMeter;
22. }
23. }
24. 25.
if isset_POST[mode] { 26.
MODE = _POST[mode]; 27.
_SESSION[mode] = MODE; 28.
ModeFix = _SESSION[mode]; 29.
} else { 30.
MODE = DRIVING; 31.
if isset_SESSION[mode] { 32.
ModeFix = _SESSION[mode]; 33.
} else { 34.
ModeFix = MODE; 35.
} 36.
} 37.
? 38.
script 39.
var marker;
40. var markers = [];
41. var originMarker;
42. var dists = [];
43. 44.
function minIndexarr { 45.
var index = 0; 46.
var min = arr[0]; 47.
for var i = 0; i arr.length; i++ { 48.
if arr[i] min { 49.
min = arr[i]; 50.
index = i; 51.
} 52.
} 53.
return index; 54.
} 55.
function initialize { 56.
var mapCanvas = document.getElementByIdgoogleMap; 57.
var mapOptions = { 58.
mapTypeId: google.maps.MapTypeId.ROADMAP 59.
}; 60.
var map = new google.maps.MapmapCanvas, mapOptions; 61.
var infoWindow = new google.maps.InfoWindow; 62.
var bounds = new google.maps.LatLngBounds; 63.
var directionsService = new google.maps.DirectionsService; 64.
var directionsDisplay = new google.maps.DirectionsRenderer{ 65.
draggable: true, 66.
map: map, 67.
panel: document.getElementByIddirectionsPanel 68.
}; 69.
?php 70.
query3 = mysql_queryselect from penilaiankg.ptk where nuptk like searchf; 71.
jumlah = mysql_num_rowsquery3; 72.
if jumlah 0 { 73.
while data3 = mysql_fetch_arrayquery3 { 74.
latptk = data3[latitudePTK]; 75.
lonptk = data3[longitutPTK]; 76.
namaptk = data3[namaPtk]; 77.
nuptk = data3[nuptk]; 78.
jenisPtk = data3[jenisPtk]; 79.
sekolah = data3[sekolah]; 80.
setifikasi = data3[sertifikasi]; 81.
setatusKepegawaian = data3[statusKepegawaian]; 82.
kecPTK = data3[kecamatan]; 83.
alamatPTK = data3[alamat]; 84.
dusun = data3[dusun]; 85.
86. cntn1 = brbrbutton disabled type=button class=btn btn-info btn-sm data-
toggle=modal data-target=myModal . preg_replace\s+, , namaptk . Pindahbutton; 87.
88. echo originMarker=addMarkerlatptk, lonptk, bnamaptkb, brNUPTK = nuptk,
Jenis PTK = jenisPtk, 0,Setatus Kepegawaian = setatusKepegawaian, brSertifikasi = setifikasi,brAlamat = alamatPTK,brDusun = dusun, br kecPTK;\n;
89. }
90. 91.
cariSekolahAsal = mysql_queryselect from penilaiankg.sekolah where NPSN like sekolah;
92. while data5 = mysql_fetch_arraycariSekolahAsal {
93. namaSdAsal = data5[namaSekolah];
94. jumlahSiswaSdAsal = data5[jumlahSiswa];
95. rombelSdAsal = data5[rombel];
96. npsnSdAsla = data5[npsn];
97. latidSDNasal = data5[latitudeSDN];
98. LongitSDNasal = data5[longitutSDN];
99. AlamatSDAsal = data5[alamat];
100. jrkAsal = labeldiv id=outputdivlabel;
101. 102.
query7 = mysql_queryselect countsekolah from penilaiankg.ptk where sekolah like sekolah;;
103. while jmlSekolah7 = mysql_fetch_arrayquery7 {
104. jumlahSekolah17 = jmlSekolah7[countsekolah];
105. }
106. jarakasal = div id=outputdiv;
107. 108.
echo addMarkerlatidSDNasal,LongitSDNasal,bData
Sekolah Asalb
,brbnamaSdAsalb,NPSN =
npsnSdAsla,2,Jumlah Siswa
= jumlahSiswaSdAsal,brJumlah
Guru =
jumlahSekolah17,brrombel =
rombelSdAsal,brAlamat = AlamatSDAsal,brJarak Tempuh = jarakasal;\n; 109.
} 110.
} else { 111.
112. _SESSION[Notife] = brdiv class=alert alert-warning col-md-4
113. a href= class=close data-dismiss=alert aria-label=closetimes;a
114. strongPeringatan strong Data NPSN NUPTK salah atau ada spasinya.
115. div;
116. headerLocation: index.php;
117. die;
118. }
119. 120.
query2 = mysql_queryselect from penilaiankg.sekolah; 121.
while data2 = mysql_fetch_arrayquery2 { 122.
latsekloh = data2[latitudeSDN]; 123.
lonseloh = data2[longitutSDN]; 124.
nama1 = data2[namaSekolah]; 125.
jumlahSiswa1 = data2[jumlahSiswa]; 126.
rombel1 = data2[rombel]; 127.
npsnSkolah = data2[npsn]; 128.
kec = data2[kecamatan]; 129.
Setatus1 = data2[statusGruping]; 130.
131. hasil = sqrtpowlonptk - lonseloh, 2 + powlatptk - latsekloh, 2;
132. cntnzz = brbrbutton type=button class=btn btn-info btn-sm data-toggle=modal data-
target=myModal . preg_replace\s+, , nama1 . Pindahbutton; 133.
derajt = 110101.8596; 134.
totalsemua = hasil derajt; 135.
136. query6 = mysql_queryselect countsekolah, countjenisPtk from penilaiankg.ptk where sekolah
like npsnSkolah;; 137.
while jmlSekolah = mysql_fetch_arrayquery6 { 138.
jumlahSekolah1 = jmlSekolah[countsekolah]; 139.
jmlhJenisPTK = jmlSekolah[countjenisPtk]; 140.
} 141.
142. if totalsemua = kiloMe jumlahSiswa1 = 120 npsnSkolah = npsnSdAsla
jumlahSekolah1 = 10 Setatus1 = 1 {
143. loatSD = lonseloh;
144. latSd = latsekloh;
145. 146.
147. btnTujuan1 = div class=btn-group inlineform action=halamaGabungGuruMagelang
.php method=POST 148.
. input type=hidden name=latid value= . latSd . 149.
. input type=hidden name=logit value= . loatSD . 150.
. nbspbutton type=submit class=btn btn-info btn-sm inlinePindah Rute Ke Sinibutton
151. . formdiv;
152. 153.
154. echo addMarkerlatSd, loatSD, bnama1b, brSisawa = jumlahSiswa1, rombel
= rombel1, 1, Jumlah guru = jumlahSekolah1, cntnzz;\n; 155.
echo markers.pushaddMarkerlatSd, loatSD, bnama1b,brNPSN = npsnSkolah, Jumlah
Siswa =
jumlahSiswa1, 1,rombel
= rombel1,
brJumlah guru
= jumlahSekolah1,brkec, cntnzz,btnTujuan1;\n;
156. }
157. }
158. ?
159. var service = new google.maps.DistanceMatrixService;
160. service.getDistanceMatrix{
161. origins: [originMarker.getPosition],
162. destinations: markers.mapfunctionm {
163. return m.getPosition;
164. },
165. travelMode: google.maps.TravelMode.?php echo ModeFix; ?,
166. unitSystem: google.maps.UnitSystem.METRIC
167. }, functionresponse, status {
168. if
status ===
google.maps.DistanceMatrixStatus.OK status
=== google.maps.DirectionsStatus.OK status === google.maps.GeocoderStatus.OK {
169. for i = 0; i response.rows[0].elements.length; i++ {
170. dists.pushresponse.rows[0].elements[i].distance.value;
171. }
172. var nearestMarker = markers[minIndexdists];
173. ?php
174. if isset_POST[latid] isset_POST[logit] {
175. lat2 = _POST[latid];
176. long2 = _POST[logit];
177. 178.
echo displayRoutelatptk, lonptk,lat2, long2, directionsService, directionsDisplay;; 179.
} else { 180.
? 181.
displayRouteoriginMarker.getPosition, nearestMarker.getPosition,
directionsService, 182.
directionsDisplay; 183.
184. ?php } ?
185. } else {
186. if status === INVALID_REQUEST {
187. alertSetatus : Radius Terlalu kecil Silahkan Ganti radius.;
188. }
189. else {
190. alertSetatus : Radius Terlalu Besar Silahkan Ganti radius.;
191. }
192. }
193. 194.
}; 195.
196. directionsDisplay.addListenerdirections_changed, function {
197. computeTotalDistancedirectionsDisplay.getDirections;
198. };
199. 200.
function displayRouteorigin, destination, service, display { 201.
service.route{ 202.
origin: origin, 203.
destination: destination, 204.
travelMode: google.maps.TravelMode.?php echo ModeFix; ? 205.
} 206.
, functionresponse, status { 207.
if status === google.maps.DirectionsStatus.OK { 208.
display.setDirectionsresponse; 209.
} else { 210.
if status === INVALID_REQUEST { 211.
alertSetatus : Radius Terlalu kecil Silahkan Ganti radius.; 212.
} 213.
else { 214.
alertSetatus : Radius Terlalu Besar Silahkan Ganti radius.; 215.
} 216.
217. }
218. }
219. ;
220. }
221. 222.
function computeTotalDistanceresult { 223.
var total = 0; 224.
var myroute = result.routes[0]; 225.
for var i = 0; i myroute.legs.length; i++ { 226.
total += myroute.legs[i].distance.value; 227.
} 228.
total = total 1000; 229.
document.getElementByIdtotal.innerHTML = total + km; 230.
} 231.
232. function bindInfoWindowmarker, map, infoWindow, html, data, data1 {
233. google.maps.event.addListenermarker, click, function {
234. infoWindow.setContenthtml;
235. infoWindow.openmap, marker;
236. };
237. }
238. 239.
function addMarkerlatitude, longitut, info, info2, info3, jenisSekolah, data, data1, data2, data3, data4 {
240. var pt = new google.maps.LatLnglatitude, longitut;
241. bounds.extendpt;
242. var markerType = ;
243. if jenisSekolah === 1 {
244. markerType = gambarSdDigabung.png;
245. }
246. else if jenisSekolah === 0 {
247. markerType = gambarorangFix.png;
248. } else {
249. markerType = gambarSdAsalguru.png;
250. }
251. var marker = new google.maps.Marker{
252. map: map,
253. position: pt,
254. icon: markerType
255. };
256. map.fitBoundsbounds;
257. bindInfoWindowmarker, map, infoWindow, info + info2 + br + info3 + br + data
+ data1 + data2 + data3 + data4; 258.
return marker; 259.
} 260.
var origin1 = {lat:?php echo latptk; ?, lng:?php echo lonptk; ?}; 261.
var Tujuan = {lat:?php echo latidSDNasal; ?, lng:?php echo LongitSDNasal; ?}; 262.
var asa = document.getElementByIdoutput; 263.
asa.innerHTML = ; 264.
var nampak; 265.
266. var SDNasal = new google.maps.DistanceMatrixService;
267. SDNasal.getDistanceMatrix{
268. origins: [origin1],
269. destinations: [Tujuan],
270. travelMode: google.maps.TravelMode.?php echo ModeFix; ?
271. }, functionresponse, status {
272. if status === google.maps.DistanceMatrixStatus.OK {
273. for i = 0; i response.rows[0].elements.length; i++ {
274. asa.innerHTML += response.rows[i].elements[i].distance.text;
275. nampak += response.rows[i].elements[i].distance.text;
276. 277.
} 278.
} else { 279.
alertSetatus : + status; 280.
} 281.
282. };
283. }
284. google.maps.event.addDomListenerwindow, load, initialize;
285. 286.
script
Gambar 4. 34. Halaman Pindah PTK otomatis klik pindah
Gambar 4. 34 menampilkan pesan pemindahan PTK. Jika sudah yakin akan memindahkan PTK Devi ibriani ke SDN Sukorejo 1. Klik
marker berwarna biru yang ditunjukan oleh marker B. kemudian klik button Pindah. Jika rekomendasi untuk SDN tujuan tidak cocok maka dapat
dipindah ke SDN lain, dengan mengeklik SDN Tujuan yang berbeda kemudian klik markernya. Setelah itu untuk melihat rutenya dapat
dilakukan dengan cara klik button Pindah Rute Ke Sini. Sebagai contoh yaitu memindahkan PTK Devi ibriani ke SDN Sukorejo.
Gambar 4. 35. Halaman Konfirmasi pindah PTK otomatis
Akan menampilkan halaman konfirmasi seperti diatas. Jika sudah yakin maka dapat mengklik Simpan.
Listing Program untuk memindahkan PTK secara Otomatis:
1. if isset_POST[npsnSdAsal] isset_POST[npsnSdTujuan] {
2. 3.
nuptk = _POST[nuptk]; 4.
npsnSdTujuan = _POST[npsnSdTujuan]; 5.
npsnSdAsla = _POST[npsnSdAsal]; 6.
tgl = dateY-m-d; 7.
Keterangan = _SESSION[username]; 8.
9. data = mysql_queryselect from penilaiankg.ptk where nuptk like nuptk;
10. while row = mysql_fetch_arraydata {
11. namaPtk = row[namaPtk];
12. }
13. data2
= mysql_queryselect
from penilaiankg.sekolah
where npsn
like npsnSdTujuan;
14. while row2 = mysql_fetch_arraydata2 {
15. namaSDN = row2[namaSekolah];
16. }
17. 18.
data3 = mysql_queryselect from penilaiankg.pindahptk; 19.
while row3 = mysql_fetch_arraydata3 { 20.
idpindaPTK = row3[idpindahPTk]; 21.
} 22.
23. idbaru;
24. 25.
if idpindaPTK = null || idpindaPTK = { 26.
idbaru = uniqid; 27.
} else { 28.
idbaru = uniqid; 29.
} 30.
query1 = mysql_queryUPDATE penilaiankg.ptk SET sekolah = npsnSdTujuan, tglPemindahan =tgl, StatusPindah=1 WHERE nuptk like nuptk;
31. 32.
query2 =
insert into
penilaiankg.pindahptkidpindahPTk,npsnSekolahAsal,nuptk,tglPemindahan,Keterangan 33.
. VALUES idbaru,npsnSdAsla,nuptk,tgl,Keterangan; 34.
mysql_queryquery2; 35.
36. _SESSION[Notife2] = brdiv class=alert alert-success col-lg-12 col-md-12 col-sm-12
37. a href= class=close data-dismiss=alert aria-label=closetimes;a
38. strongSelamat strong PTK dengan nama namaPtk dan NUPTK
nuptk Berhasil dipindahkan Ke namaSDN. 39.
divbr; 40.
41. headerLocation: \..\..\halamaGabungGuruMagelang .php?ptk=nuptk;
42. } else {
43. echo alertTidak masuk;
44. }
Gambar 4. 36. Halaman Pindah PTK otomatis berhasil
Setelah mengeklik tombol Simpan maka akan muncul halaman pindah PTK Otomatis Gambar 4.36. setelah itu akan muncul pesan bahwa
pemindahan berhasil dan lokasi SDN asal akan berubah ke SDN tujuan yang baru dipindahkan.
4.2.3.1.1.5 Sub Sistem Cari PTK Berdasarkan SDN
Gambar 4. 37. Halaman Cari PTK berdasarkan SDN
Proses pencarian PTK berdasarkan SDN oleh Admin dan kepala dinas dapat dilakukan dengan mencari kecamatan. Sebagai contoh, akan
dicari NPSN Sekolah untuk mencari PTK berdasar Kecamatan Candimulyo. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4. 38. Halaman Cari PTK berdasarkan SDN pilih kecamatan
Setelah admin atau kepala dinas memasukan pilihan kecamatan maka akan muncul kolom untuk memasukan NPSN SDN. Sebagai contoh yaitu menampilkan
data untuk SDN Surodai 3. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4. 39. Halaman Cari PTK berdasarkan SDN pilih SDN
Proses Pencarian PTK berdasar SDN akan menampilkan data seperti gambar 4.39 diatas. Akan ditampilkan beberapa guru yang mengajar pada
sekolah tersebut dan rute perjalanan yang akan muncul yaitu rute rumah PTK yang letaknya terjauh dari SDN. Untuk memindahkan guru tersebut
dapat langsung mengeklik pada salah satu marker rumah PTK. Listing untuk menampilkan rumah PTK berdasarkan SDN :
1. script
src=http:maps.googleapis.commapsapijs?sensor=falseamp;language=idkey=AIzaSyAqVktta P8S2omjaagg3d-wB6SnHMCA22Qscript
2. script type=textjavascript src=jsjquery.jsscript
3. 4.
?php
5. if isset_POST[mode] {
6. MODE = _POST[mode];
7. _SESSION[mode] = MODE;
8. ModeFix = _SESSION[mode];
9. } else {
10. MODE = DRIVING;
11. if isset_SESSION[mode] {
12. ModeFix = _SESSION[mode];
13. } else {
14. ModeFix = MODE;
15. }
16. }
17. ?
18. 19.
script 20.
var marker; 21.
var markers = []; 22.
var originMarker; 23.
var dists = []; 24.
25. function minIndexarr {
26. var index = 0;
27. var min = arr[0];
28. for var i = 0; i arr.length; i++ {
29. if arr[i] min {
30. min = arr[i];
31. index = i;
32. }
33. }
34. return index;
35. }
36. function initialize {
37. 38.
var mapCanvas = document.getElementByIdgoogleMap; 39.
var mapOptions = { 40.
mapTypeId: google.maps.MapTypeId.ROADMAP 41.
}; 42.
var map = new google.maps.MapmapCanvas, mapOptions; 43.
var infoWindow = new google.maps.InfoWindow; 44.
var bounds = new google.maps.LatLngBounds; 45.
var directionsService = new google.maps.DirectionsService; 46.
var directionsDisplay = new google.maps.DirectionsRenderer{ 47.
draggable: true, 48.
map: map, 49.
panel: document.getElementByIddirectionsPanel 50.
}; 51.
?php 52.
if isset_POST[npsn] { 53.
54. npsn_cari = _POST[npsn];
55. _SESSION[npsn1] = npsn_cari;
56. 57.
query3 = mysql_queryselect from penilaiankg.sekolah where NPSN like npsn_cari; 58.
jumlah = mysql_num_rowsquery3; 59.
if jumlah 0 { 60.
while data3 = mysql_fetch_arrayquery3 { 61.
latptk = data3[latitudeSDN];
62. _SESSION[lat1] = latptk;
63. 64.
lonptk = data3[longitutSDN]; 65.
_SESSION[long1] = lonptk; 66.
67. lat1 = _SESSION[lat1];
68. long1 = _SESSION[long1];
69. namaptk = data3[namaSekolah];
70. nuptk = data3[npsn];
71. jenisPtk = data3[jumlahSiswa];
72. kecamatanSdAsal = data3[kecamatan];
73. rombeld = data3[rombel];
74. 75.
query7 = mysql_queryselect countsekolah from penilaiankg.ptk where sekolah like npsn_cari;;
76. while jmlSekolah1 = mysql_fetch_arrayquery7 {
77. jumlahSD1 = jmlSekolah1[countsekolah];
78. }
79. 80.
echo originMarker=addMarkerlatptk, lonptk, bnamaptkb, brNPSN = nuptk, brJumlah Siswa = jenisPtk, 1, brrombel = rombeld,brJumlah
Guru = jumlahSD1,brkecamatanSdAsal,br,;\n;
81. }
82. 83.
cariSekolahAsal = mysql_queryselect from penilaiankg.sekolah where NPSN like nuptk;
84. while data5 = mysql_fetch_arraycariSekolahAsal {
85. namaSdAsal = data5[namaSekolah];
86. jumlahSiswaSdAsal = data5[jumlahSiswa];
87. rombelSdAsal = data5[rombel];
88. npsnSdAsla = data5[npsn];
89. }
90. } else {
91. _SESSION[Notife] = brdiv class=alert alert-warning col-md-4
92. a href= class=close data-dismiss=alert aria-label=closetimes;a
93. strongPeringatan strong Data NPSN NUPTK salah atau ada spasinya.
94. div;
95. headerLocation: index.php;
96. die;
97. }
98. 99.
query2 = mysql_queryselect from penilaiankg.ptk where sekolah like npsn_cari; 100.
while data4 = mysql_fetch_arrayquery2 { 101.
latsekloh = data4[latitudePTK]; 102.
lonseloh = data4[longitutPTK]; 103.
nama1 = data4[namaPtk]; 104.
nuptk = data4[nuptk]; 105.
jenisPtk = data4[jenisPtk]; 106.
sekolah = data4[sekolah]; 107.
setifikasi = data4[sertifikasi]; 108.
setatusKepegawaian = data4[statusKepegawaian]; 109.
kecPTK = data4[kecamatan]; 110.
alamatPTK = data4[alamat]; 111.
112. btnAsal1 = a href=\Pecarian.php?searchf= . nuptk . nbspbutton type=button
class=btn btn-info btn-sm inlinePindahbuttona; 113.
114. loatSD = lonseloh;
115. latSd = latsekloh;
116. 117.
btnTujuan1 = div class=btn-group inlineform action=cariPTKdenganNPSN.php method=POST
118. . input type=hidden name=latid value= . latSd .
119. . input type=hidden name=logit value= . loatSD .
120. . nbspbutton type=submit class=btn btn-info btn-sm inlinePindah Rute
Kesinibutton 121.
. formdiv; 122.
echo markers.pushaddMarkerlatSd, loatSD, bnama1b,brNUPTK = nuptk, brjenis PTK = jenisPtk, 2, brSetatus Kepegawaian = setatusKepegawaian,
bralamatPTK,brkecPTK,brbtnAsal1,btnTujuan1;\n; 123.
} 124.
} else if isset_SESSION[npsn1] { 125.
npsn_cari = _SESSION[npsn1]; 126.
127. 128.
query3 = mysql_queryselect from penilaiankg.sekolah where NPSN like npsn_cari; 129.
jumlah = mysql_num_rowsquery3; 130.
if jumlah 0 { 131.
while data3 = mysql_fetch_arrayquery3 { 132.
latptk = data3[latitudeSDN]; 133.
_SESSION[lat1] = latptk; 134.
135. lonptk = data3[longitutSDN];
136. _SESSION[long1] = lonptk;
137. 138.
lat1 = _SESSION[lat1]; 139.
long1 = _SESSION[long1]; 140.
namaptk = data3[namaSekolah]; 141.
nuptk = data3[npsn]; 142.
jenisPtk = data3[jumlahSiswa]; 143.
kecamatanSdAsal = data3[kecamatan]; 144.
rombeld = data3[rombel]; 145.
146. query7 = mysql_queryselect countsekolah from penilaiankg.ptk where sekolah like
npsn_cari;; 147.
while jmlSekolah1 = mysql_fetch_arrayquery7 { 148.
jumlahSD1 = jmlSekolah1[countsekolah]; 149.
} 150.
151. echo originMarker=addMarkerlatptk, lonptk, bnamaptkb, brNPSN = nuptk,
brJumlah Siswa = jenisPtk, 1, brrombel = rombeld,brJumlah Guru =
jumlahSD1,brkecamatanSdAsal,br,;\n; 152.
} 153.
154. cariSekolahAsal = mysql_queryselect from penilaiankg.sekolah where NPSN like
nuptk; 155.
while data5 = mysql_fetch_arraycariSekolahAsal { 156.
namaSdAsal = data5[namaSekolah]; 157.
jumlahSiswaSdAsal = data5[jumlahSiswa]; 158.
rombelSdAsal = data5[rombel]; 159.
npsnSdAsla = data5[npsn]; 160.
} 161.
} else { 162.
_SESSION[Notife] = brdiv class=alert alert-warning col-md-4
163. a href= class=close data-dismiss=alert aria-label=closetimes;a
164. strongPeringatan strong Data NPSN NUPTK salah atau ada spasinya.
165. div;
166. headerLocation: index.php;
167. die;
168. }
169. 170.
query2 = mysql_queryselect from penilaiankg.ptk where sekolah like npsn_cari; 171.
while data4 = mysql_fetch_arrayquery2 { 172.
latsekloh = data4[latitudePTK]; 173.
lonseloh = data4[longitutPTK]; 174.
nama1 = data4[namaPtk]; 175.
nuptk = data4[nuptk]; 176.
jenisPtk = data4[jenisPtk]; 177.
sekolah = data4[sekolah]; 178.
setifikasi = data4[sertifikasi]; 179.
setatusKepegawaian = data4[statusKepegawaian]; 180.
kecPTK = data4[kecamatan]; 181.
alamatPTK = data4[alamat]; 182.
183. btnAsal1 = a href=\Pecarian.php?searchf= . nuptk . nbspbutton type=button
class=btn btn-info btn-sm inlinePindahbuttona; 184.
185. loatSD = lonseloh;
186. latSd = latsekloh;
187. 188.
btnTujuan1 = div class=btn-group inlineform action=cariPTKdenganNPSN.php method=POST
189. . input type=hidden name=latid value= . latSd .
190. . input type=hidden name=logit value= . loatSD .
191. . nbspbutton type=submit class=btn btn-info btn-sm inlinePindah Rute
Kesinibutton 192.
. formdiv; 193.
echo markers.pushaddMarkerlatSd, loatSD, bnama1b,brNUPTK = nuptk, brjenis PTK = jenisPtk, 2, brSetatus Kepegawaian = setatusKepegawaian,
bralamatPTK,brkecPTK,brbtnAsal1,btnTujuan1;\n; 194.
} 195.
} 196.
? 197.
var service = new google.maps.DistanceMatrixService; 198.
var arrMin; 199.
service.getDistanceMatrix{ 200.
origins: [originMarker.getPosition], 201.
destinations: markers.mapfunctionm { 202.
return m.getPosition; 203.
}, 204.
travelMode: google.maps.TravelMode.?php echo ModeFix; ?, 205.
unitSystem: google.maps.UnitSystem.METRIC 206.
}, functionresponse, status { 207.
if status
=== google.maps.DistanceMatrixStatus.OK
status ===
google.maps.DirectionsStatus.OK status === google.maps.GeocoderStatus.OK { 208.
for i = 0; i response.rows[0].elements.length; i++ { 209.
dists.pushresponse.rows[0].elements[i].distance.value; 210.
} 211.
var nearestMarker = markers[minIndexdists]; 212.
?php 213.
if isset_POST[latid] isset_POST[logit] {
214. lat2 = _POST[latid];
215. long2 = _POST[logit];
216. lat1 = _SESSION[lat1];
217. long1 = _SESSION[long1];
218. 219.
echo displayRoutelat2, long2, lat1, long1,directionsService, directionsDisplay;; 220.
} else { 221.
? 222.
displayRoutenearestMarker.getPosition, originMarker.getPosition,
directionsService, 223.
directionsDisplay; 224.
?php } ? 225.
} else { 226.
alertData Guru Tidak ada ; 227.
} 228.
229. };
230. 231.
directionsDisplay.addListenerdirections_changed, function { 232.
computeTotalDistancedirectionsDisplay.getDirections; 233.
}; 234.
235. function displayRouteorigin, destination, service, display {
236. service.route{
237. origin: origin,
238. destination: destination,
239. travelMode: google.maps.TravelMode.?php echo ModeFix; ?
240. }
241. , functionresponse, status {
242. if status === google.maps.DirectionsStatus.OK {
243. display.setDirectionsresponse;
244. } else {
245. alertSetatus : + status;
246. alertData Guru Tidak ada ;
247. }
248. }
249. ;
250. }
251. 252.
function computeTotalDistanceresult { 253.
var total = 0; 254.
var myroute = result.routes[0]; 255.
for var i = 0; i myroute.legs.length; i++ { 256.
total += myroute.legs[i].distance.value; 257.
} 258.
total = total 1000; 259.
document.getElementByIdtotal.innerHTML = total + km; 260.
} 261.
262. function bindInfoWindowmarker, map, infoWindow, html, data, data1 {
263. google.maps.event.addListenermarker, click, function {
264. infoWindow.setContenthtml;
265. infoWindow.openmap, marker;
266. };
267. }
268.
269. function addMarkerlatitude, longitut, info, info2, btnGbng, jenisSekolah, data, data1, data2,
data3, btnAsal { 270.
var pt = new google.maps.LatLnglatitude, longitut; 271.
bounds.extendpt; 272.
var markerType = ; 273.
if jenisSekolah === 1 { 274.
markerType = gambarSdTergabung2.png; 275.
} 276.
else { 277.
markerType = gambarorangFix.png; 278.
} 279.
var marker = new google.maps.Marker{ 280.
map: map, 281.
position: pt, 282.
icon: markerType 283.
}; 284.
map.fitBoundsbounds; 285.
bindInfoWindowmarker, map, infoWindow, info + info2 + btnGbng + data + data1 + data2 + data3 + btnAsal;
286. return marker;
287. }
288. }
289. google.maps.event.addDomListenerwindow, load, initialize;
290. script
Gambar 4. 40. Halaman Cari PTK berdasarkan SDN
Setelah admin atau Kepala Dinas mengeklik marker rumah PTK, maka akan mucul kotak dialog. Di dalam kotak dialog tersebut mengandung
informasi terkait PTK dan terdapat 2 buah button, button Pindah dan Pindah Rute Kesini. Button Pindah digunakan untuk memindahkan PTK dan button
Pindah Rute Kesini digunakan untuk memindahkan rute ke rumah PTK tersebut.
Terdapat 3 cara pemindahan PTK, yaitu dengan cara otomatis, manual, dan berdasarkan SDN. Untuk cara manual dan otomatis sudah
dijelaskan pada subbab sebelumnya. Contoh kasus pada Gambar 4.40 menunjukkan pemindahan PTK dengan berdasar sekolah. PTK yang akan
dipindahkan adalah Sadilah dikarenakan jarak tempuh PTK sadilah terlalu jauh. Untuk memindahkan PTK kita klikbutton Pindah.
Gambar 4. 41. Halaman Pindah PTK berdasarkan SDN
Setelah admin atau kepala dinas mengklik tombol Pindah, maka PTK dengan nama Sadilah akan mendapatkan rekomendasi SDN baru
dengan jarak tempuh lebih dekat dari rumah PTK. Proses pemindahan PTK berdasar SDN sama dengan proses pemindahan PTK secara otomatis.
Gambar 4. 42. Halaman Pindah PTK berdasarkan SDN klik Pindah
Setelah itu PTK akan mendapat rekomendasi SDN yang lebih dekat dengan SDN Negeri Danurejo 1, dengan jarak tempuh 0.3886 KM. Untuk
memindahkan PTK tersebut klik button Pindah yang terdapat pada kotak dialog SDN Tujuan.
Gambar 4. 43. Halaman Konfirmasi pindah PTK berdasarkan SDN
Selanjutnya akan muncul pesan modal konfirmasi untuk mengkonfirmasi pemindahan PTK ke SDN Tujuan. Jika sudah yakin klik simpan.
Gambar 4. 44. Halaman Pindah PTK berdasarkan SDN berhasil
Akan muncul pesan pemberitahuan yang menyatakan PTK tersebut berhasil dipindah, informasi SDN asal juga akan berubah.
4.2.3.1.1.6 Sub Sistem Daftar SDN Tergabung
Gambar 4. 45. Halaman Data SDN Tergabung
Gambar 4.45 menunjukkan halaman data SDN Tergabung. Admin dan kepala dinas dapat melihat SDN mana yang telah tergabung dan dapat
membatalkan proses penggabungan. Untuk melihat SDN tergabung, admin dapat melihat berdasarkan periode atau melihat untuk satu SDN.
Listing program Untuk mencari berdasrkan periode SDN tergabung :
1. legendMasukan Tanggal Periodelegend
2. form method=POST action=lihatSdTergabung.php
3. div class=form-group style=font-size: 17px
4. label class=control-label col-sm-2 col-lg-2 col-md-2Periode label
5. label class=control-label col-sm-1 col-lg-1 col-md-1:label
6. div class=col-sm-3 col-lg-3 col-md-3
7. input type=date class=form-control name=tgl_awal
8. div
9. div
10. div class=form-group style=font-size: 17px; padding-bottom: 10px
11. label class=control-label col-sm-1 col-lg-1 col-md-1Sampailabel
12. div class=col-sm-3 col-lg-3 col-md-3
13. input type=date class=form-control name=tgl_akhir
14. div
15. 16.
div class=form-inline 17.
label class=control-label col-sm-2 col-lg-2 col-md-2label 18.
div class=col-sm-2 19.
button type=submit
class=btn btn-primary
style=display:inlinespan class=glyphicon glyphicon-searchspannbspCaributton 20.
div 21.
divbrbr 22.
div
23.
form
Gambar 4. 46. Halaman Daftar data SDN Tergabung
Gambar 4.46. merupakan tampilan data SDN yang pernah tergabung untuk periode waktu tertentu. Admin dapat melakukan pembatalan
penggabungan dengan cara mengklik button Batal Gabung pada kolom kanan dialogmenggeser secara horizontal slider seperti pada gambar 4.47.
Listing program Untuk menampilkan periode SDN tergabung :
1. h3 class=page-header text-center Data Sekolah yang Telah Tergabungh3
2. --div class=table-responsive--
3. --table class=table table-striped text-nowrap style=font-size: 14px--
4. table id=table class=table table-striped table-bordered text-nowrap style=font-
size: 14px cellspacing=0 width=100 5.
thead 6.
trthNOththNPSNththNama Sekolah
DasarththStatus SekolahththJumlah
SiswaththRuang KelasththRombelththStatus
PenggabunganththTanggal PenggabunganththNPSN Sekolah DigabungththNama Sekolah DigabungththTergabung OlehththAksithtr
7. thead
8. tbody
9. ?php
10. if isset_POST[tgl_awal] isset_POST[tgl_akhir] {
11. tgl_awal = _POST[tgl_awal];
12. tgl_akhir = _POST[tgl_akhir];
13. 14.
query =
mysql_queryselect from
penilaiankg.sekolah s,
penilaiankg.gabungsekolah g 15.
. where s.npsn = g.npsnSekolahTergabung and s.tglPenggabungan BETWEEN tgl_awal and tgl_akhir and s.statusGruping = 2;
16. 17.
no = 0; 18.
namaStatus = ; 19.
20. while data = mysql_fetch_arrayquery {
21. 22.
lat = data[latitudeSDN]; 23.
lon = data[longitutSDN]; 24.
nama = data[namaSekolah]; 25.
jumlahSiswa = data[jumlahSiswa]; 26.
rombel = data[rombel]; 27.
npsn = data[npsn]; 28.
ruangKelas = data[ruangKelas]; 29.
tanggalPenggabungan = data[tglPenggabungan]; 30.
status = data[statusGruping]; 31.
statusSklh = data[statusSekolah]; 32.
npsnSekolahDigabung = data[npsnSekolahDigabung]; 33.
namaSekolahDigabung = data[namaSekolahDigabung]; 34.
keterangan = data[Keterangan]; 35.
idgabungSekolah = data[idgabungSekolah]; 36.
37. 38.
if status == 1 { 39.
namaStatus = Digabung; 40.
} else if status == 2 { 41.
namaStatus = Tergabung; 42.
} 43.
44. btnbatal = div class=btn-group inlineform action=batalGabung.php
method=POST 45.
. input
type=hidden name=npsnDigabung
value= .
npsnSekolahDigabung . 46.
. input type=hidden name=idgabung value= . idgabungSekolah .
47. . input type=hidden name=npsnTergabung value= . npsn .
48. . nbspbutton type=submit class=btn btn-info btn-sm inlineBatal
Gabungbutton 49.
. formdiv; 50.
51. no++;
52. echo trtd . no . tdtd . npsn . tdtd . nama . tdtd .
statusSklh . tdtd . jumlahSiswa . tdtd . ruangKelas . tdtd . rombel . tdtd . namaStatus . tdtd . tanggalPenggabungan . tdtd . npsnSekolahDigabung . tdtd
. namaSekolahDigabung . tdtd . keterangan . tdtd . btnbatal . tdtr;
53. }
54.
}
Gambar 4. 47. Halaman Daftar data SDN Tergabung batal gabung
Admin dan kepala dinas dapat melakukan pembatalan penggabungan dengan mengklik button Batal Gabung Gambar 4.47..
gambar diatas menunjukkan contoh membatalkan penggabungan SDN Tonoboyo 2.
Gambar 4. 48. Halaman Data SDN berhasil batal gabung
Gambar 4.48. menampilkan pesan bahwa penggabungan SDN Tonoboyo 2 dan SDN Sukodadi 1 berhasil dibatalkan .
Listing Program Pembatalan Penggabungan :
1. if
isset_POST[npsnDigabung] isset_POST[npsnTergabung]
isset_POST[idgabung] { 2.
3. npsnDigabung = _POST[npsnDigabung];
4. npsnTergabung = _POST[npsnTergabung];
5. idgabung = _POST[idgabung];
6. 7.
query3 = mysql_querySELECT FROM penilaiankg.sekolah WHERE npsn like npsnDigabung;
8. while row = mysql_fetch_arrayquery3 {
9. jmlhSiswaDigabung = row[jumlahSiswa];
10. namaSekolahDigabung = row[namaSekolah];
11. }
12. 13.
query4 = mysql_querySELECT FROM penilaiankg.sekolah WHERE npsn like npsnTergabung;
14. while row1 = mysql_fetch_arrayquery4 {
15. jmlhSiswaTergabung = row1[jumlahSiswa];
16. namaSekolahTergabung = row1[namaSekolah];
17. }
18. 19.
totaljmlhSiswa = jmlhSiswaTergabung - jmlhSiswaDigabung; 20.
21. query1
= mysql_queryUPDATE
penilaiankg.sekolah SET
statusGruping=0, tglPenggabungan=NULL WHERE npsn like npsnDigabung;
22. query6
= mysql_querySELECT
FROM penilaiankg.gabungsekolah
WHERE npsnSekolahTergabung like npsnTergabung;
23. 24.
jumlah1 = mysql_num_rowsquery6; 25.
if jumlah1 = 2 { 26.
query5 = mysql_queryUPDATE penilaiankg.sekolah SET jumlahSiswa=totaljmlhSiswa WHERE npsn like npsnTergabung;
27. } else if jumlah1 == 1 {
28. query5
= mysql_queryUPDATE
penilaiankg.sekolah SET
statusGruping=0, tglPenggabungan=NULL,
jumlahSiswa=totaljmlhSiswa WHERE
npsn like
npsnTergabung; 29.
} 30.
query2 = DELETE FROM penilaiankg.gabungsekolah WHERE idgabungSekolah like idgabung;
31. mysql_queryquery2;
32. _SESSION[Notife4] = brdiv class=alert alert-success col-lg-12 col-md-12 col-sm-12
33. a href= class=close data-dismiss=alert aria-label=closetimes;a
34. strongSelamat
strong namaSekolahTergabung
dan namaSekolahDigabung Berhasil Dibatalkan Penggabungannya
35. divbr;
36. headerLocation: \..\..\lihatSdTergabung.php;
37. } else {
38. echo Data Salah ;
39. echo _POST[npsnDigabung];
40. echo _POST[npsnTergabung];
41. echo _POST[idPindah];
42.
}
Gambar 4. 49. Halaman Data SDN Tergabung cari npsn
Gambar 4.49. menunjukkan data SDN yang telah tergabung berdasarkan SDN induknya. Untuk menampilkan data sekolah yang
tergabung berdasar NPSN, klik radio button Ya pada pencarian berdasarkan NPSN. Data akan muncul seperti gambar 4.50.
Gambar 4. 50. Halaman Daftar data SDN Tergabung
Pada gambar 4.50 silakan masukan NPSN atau Nama SDN dan akan muncul seperti gambar 4.51.
Gambar 4. 51. Halaman Cari daftar data SDN Tergabung
Pada gambar 4.51, admin atau kepala dinas diminta untuk memilih salah satu SDN yang telah tergabung, setelah itu klik tombol Cari. Contoh
kasus yaitu admin memilih SDN Sukorejo 1. Setelah mengeklik Cari maka akan muncul informasi seperti pada gambar 4.52.
Listing program Untuk mencari berdasrkan NPSN atau Nama SDN tergabung :
1. legendCari Berdasarkan NPSNlegend
2. div class=form-group
3. form method=POST action=lihatSdTergabung.php
4. div class=form-group style=font-size: 17px; padding-bottom: 10px
5. label class=control-label col-sm-3 col-lg-3 col-md-3NPSNlabel
6. label class=control-label col-sm-1 col-lg-1 col-md-1:label
7. div class=col-sm-4 col-lg-4 col-md-4
8. select class=selectpicker dropdown onchange=this.form.submit
title=-- Cari Sekolah -- required=true data-live-search=true name=data data-size=7 9.
?php 10.
cariAwalSd = mysql_queryselect from penilaiankg.sekolah where statusGruping like 2;;
11. while cariAwalSd1 = mysql_fetch_arraycariAwalSd {
12. echo option value= . cariAwalSd1[npsn] . .
cariAwalSd1[npsn] . . cariAwalSd1[namaSekolah] . option; 13.
} 14.
? 15.
select 16.
div 17.
div class=form-inline 18.
--label class=control-label col-sm-2 col-lg-2 col-md-2label-- 19.
div class=col-sm-2 20.
button type=submit
class=btn btn-primary
style=display:inlinespan class=glyphicon glyphicon-searchspannbspCaributton 21.
div 22.
divbrbr 23.
div 24.
form
25.
div
Gambar 4. 52. Halaman Tampil daftar data SDN Tergabung
Gambar 4.52. menunjukkan data daftar SDN yang telah tergabung dengan SDN Sukorejo 1. Pembatalan penggabungan dapat dilakukan
dengan mengklik button Batal Gabung pada kolom kanan dialogmenggeser secara horizontal slider pada gambar 4.53.
Gambar 4. 53. Halaman Pindah data SDN Tergabung
Untuk melakukan pembatalan penggabungan akan sama langkahnya seperti sebelumnya.
Listing untuk menampilkan daftar SDN tergabung berdasrkan SDN induk :
1. h3 class=page-header text-center Data Sekolah yang Telah Tergabungh3
2. --div class=table-responsive--
3. --table class=table table-striped text-nowrap style=font-size: 14px--
4. table id=table class=table table-striped table-bordered text-nowrap style=font-
size: 14px cellspacing=0 width=100 5.
thead 6.
trthNOththNPSNththNama Sekolah DasarththStatus SekolahththJumlah
SiswaththRuang KelasththRombelththStatus
PenggabunganththTanggal PenggabunganththNPSN
Sekolah DigabungththNama Sekolah DigabungththTergabung OlehththAksithtr
7. thead
8. tbody
9. ?php }
10. 11.
else if isset_POST[data] { 12.
13. npsnCari = _POST[data];
14. query2
= mysql_queryselect
from penilaiankg.sekolah
s, penilaiankg.gabungsekolah g
15. .
where g.npsnSekolahTergabung
= s.npsn
and g.npsnSekolahTergabung like npsnCari and s.statusGruping = 2;
16. 17.
jumlah1 = mysql_num_rowsquery2; 18.
if jumlah1 0 { 19.
no1 = 0; 20.
namaStatus1 = ; 21.
while data1 = mysql_fetch_arrayquery2 { 22.
23. lat1 = data1[latitudeSDN];
24. lon1 = data1[longitutSDN];
25. nama1 = data1[namaSekolah];
26. jumlahSiswa1 = data1[jumlahSiswa];
27. rombel1 = data1[rombel];
28. npsn1 = data1[npsn];
29. ruangKelas1 = data1[ruangKelas];
30. tanggalPenggabungan1 = data1[tglPenggabungan];
31. status1 = data1[statusGruping];
32. statusSklh1 = data1[statusSekolah];
33. npsnSekolahDigabung1 = data1[npsnSekolahDigabung];
34. namaSekolahDigabung1 = data1[namaSekolahDigabung];
35. keterangan1 = data1[Keterangan];
36. idgabungSekolah1 = data1[idgabungSekolah];
37. 38.
39. if status1 == 1 {
40. namaStatus1 = Digabung;
41. } else if status1 == 2 {
42. namaStatus1 = Tergabung;
43. }
44. 45.
btnbata =
div class=btn-group
inlineform action=batalGabung.php method=POST
46. . input type=hidden name=npsnDigabung value= .
npsnSekolahDigabung1 . 47.
. input
type=hidden name=idgabung
value= .
idgabungSekolah1 . 48.
. input type=hidden name=npsnTergabung value= . npsn1 .
49. . nbspbutton type=submit class=btn btn-info btn-sm
inlineBatal Gabungbutton 50.
. formdiv; 51.
no1++; 52.
echo trtd . no1 . tdtd . npsn1 . tdtd . nama1 . tdtd . statusSklh1 . tdtd . jumlahSiswa1 . tdtd . ruangKelas1 . tdtd .
rombel1 . tdtd . namaStatus1 . tdtd . tanggalPenggabungan1 . tdtd . npsnSekolahDigabung1 . tdtd . namaSekolahDigabung1 . tdtd . keterangan1 .
tdtd . btnbata . tdtr;
53. }
54. }
55. }
56. ?
57. tbody
58.
table
4.2.3.1.1.7 Sub Sistem Daftar SDN Digabung
Gambar 4. 54. Halaman Data SDN Digabung
Gambar 4.54 menunjukkan admin dan kepala dinas dapat melihat SDN yang telah digabung. Untuk melihat SDN digabung admin dapat
melihat berdasarkan periode atau melihat untuk satu SDN. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Listing program Untuk mencari berdasrkan periode SDN digabung :
1. legendMasukan Tanggal Periodelegend
2. form method=POST action=lihatSdDigabung.php
3. div class=form-group style=font-size: 17px
4. label class=control-label col-sm-2 col-lg-2 col-md-2Periode label
5. label class=control-label col-sm-1 col-lg-1 col-md-1:label
6. div class=col-sm-3 col-lg-3 col-md-3
7. input type=date class=form-control name=tgl_awal
8. div
9. div
10. div class=form-group style=font-size: 17px; padding-bottom: 10px
11. label class=control-label col-sm-1 col-lg-1 col-md-1Sampailabel
12. div class=col-sm-3 col-lg-3 col-md-3
13. input type=date class=form-control name=tgl_akhir
14. div
15. 16.
div class=form-inline 17.
label class=control-label col-sm-2 col-lg-2 col-md-2label 18.
div class=col-sm-2 19.
button type=submit
class=btn btn-primary
style=display:inlinespan class=glyphicon glyphicon-searchspannbspCaributton 20.
div 21.
divbrbr 22.
div
23.
form
Gambar 4. 55. Halaman Data SDN Digabung cari periode
Admin dan kepala dinas memasukan tanggal periode data sekolah yang digabung seperti pada gambar 4.55. Setelah itu klik Cari dan akan
muncul halaman seperti pada gambar 4.56. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4. 56. Halaman Tampil daftar data SDN Digabung
Gambar 4.56. menunjukkan tampilan data SDN yang pernah digabung dalam periode tertentu. Untuk melihat berdasarkan SDN
digabung, admin dapat mengklik pada radio button Ya, maka akan menampilkan data seperti pada gambar 4.57.
Listing Program untuk menampilkan Daftar SDN digabung :
1. h3 class=page-header text-center Data Sekolah Yang Telah Digabungh3
2. div class=table-responsive
3. --table class=table table-striped text-nowrap style=font-size: 14px--
4. table id=tabledata class=table table-striped table-bordered nowrap hover cell-
border style=font-size: 14px cellspacing=0 width=100 5.
thead 6.
trthNOththNPSNththNama Sekolah
DasarththStatus SekolahththJumlah
SiswaththRuang KelasththRombelththStatus
PenggabunganththTanggal PenggabunganththNPSN
Sekolah TergabungththNama
Sekolah TergabungththDigabung Olehthtr
7. thead
8. tbody
9. ?php
10. if isset_POST[tgl_awal] isset_POST[tgl_akhir] {
11. tgl_awal = _POST[tgl_awal];
12. tgl_akhir = _POST[tgl_akhir];
13. 14.
15. query = mysql_queryselect from penilaiankg.sekolah s,
penilaiankg.gabungsekolah g
16. . where s.npsn = g.npsnSekolahDigabung and s.tglPenggabungan
BETWEEN tgl_awal and tgl_akhir and s.statusGruping = 1; 17.
jumlah = mysql_num_rowsquery; 18.
19. 20.
if jumlah 0 { 21.
no = 0; 22.
namaStatus = ; 23.
while data = mysql_fetch_arrayquery { 24.
25. lat = data[latitudeSDN];
26. lon = data[longitutSDN];
27. nama = data[namaSekolah];
28. jumlahSiswa = data[jumlahSiswa];
29. rombel = data[rombel];
30. npsn = data[npsn];
31. ruangKelas = data[ruangKelas];
32. tanggalPenggabungan = data[tglPenggabungan];
33. status = data[statusGruping];
34. statusSklh = data[statusSekolah];
35. npsnSekolahTergabung = data[npsnSekolahTergabung];
36. namaSekolahTergabung = data[namaSekolahTergabung];
37. keterangan = data[Keterangan];
38. 39.
40. if status == 1 {
41. namaStatus = Digabung;
42. } else if status == 2 {
43. namaStatus = Tergabung;
44. }
45. no++;
46. echo trtd . no . tdtd . npsn . tdtd . nama .
tdtd . statusSklh . tdtd . jumlahSiswa . tdtd . ruangKelas . tdtd . rombel . tdtd . namaStatus . tdtd . tanggalPenggabungan . tdtd .
npsnSekolahTergabung . tdtd . namaSekolahTergabung . tdtd . keterangan . tdtr;
47. }
48. }
49.
}
Gambar 4. 57. Halaman Data SDN Digabung cari berdasarkan NPSN
Admin atau kepala dinas dapat memasukkan nama atau NSPN ke dalam form
Cari Sekolah seperti Gambar 4.58.
Gambar 4. 58. Halaman Data SDN Digabung masukan NPSN
Pada gambar 4. 58 admin atau kepala dinas setalah mendapatkan nama SDN yang telah digabung dan klik Cari. Sebagai contoh akan
menampilkan SDN Sukorejo 3 maka akan tampil informasi seperti gambar 4.59.
Listing program Untuk mencari berdasrkan NPSN atau Nama SDN digabung:
1. legendCari Berdasarkan NPSNlegend
2. div class=form-group
3. form method=POST action=lihatSdDigabung.php
4. div class=form-group style=font-size: 17px; padding-bottom: 10px
5. label class=control-label col-sm-2 col-lg-2 col-md-2NPSNlabel
6. label class=control-label col-sm-1 col-lg-1 col-md-1:label
7. div class=col-sm-4 col-lg-4 col-md-4
8. --input type=text class=typeahead value= name=data data-
provide=typeahead autocomplete=off
spellcheck=false onkeyup=angkathis;
required=true autofocus-- 9.
select class=selectpicker dropdown onchange=this.form.submit title=-- Cari Sekolah -- required=true data-live-search=true name=data data-size=7
10. ?php
11. cariAwalSd = mysql_queryselect from penilaiankg.sekolah
where statusGruping like 1;; 12.
while cariAwalSd1 = mysql_fetch_arraycariAwalSd { 13.
echo option value= . cariAwalSd1[npsn] . . cariAwalSd1[npsn] . . cariAwalSd1[namaSekolah] . option;
14. }
15. ?
16. select
17. div
18. div class=form-inline
19. --label class=control-label col-sm-2 col-lg-2 col-md-2label--
20. div class=col-sm-2
21. button
type=submit class=btn
btn-primary style=display:inlinespan class=glyphicon glyphicon-searchspannbspCaributton
22. div
23. divbrbr
24. div
25. form
26.
div
Gambar 4. 59. Halaman Tampil data SDN Digabung
Pada gambar 4.59. akan muncul data SDN yang pernah digabungkan dengan SDN Sukorejo 3.
Listing untuk menampilkan daftar SDN digabung berdasrkan SDN :
1. h3 class=page-header text-center Data Sekolah Yang Telah Digabungh3
2. div class=table-responsive
3. --table class=table table-striped text-nowrap style=font-size: 14px--
4. table id=tabledata class=table table-striped table-bordered nowrap hover cell-
border style=font-size: 14px cellspacing=0 width=100 5.
thead 6.
trthNOththNPSNththNama Sekolah
DasarththStatus SekolahththJumlah
SiswaththRuang KelasththRombelththStatus
PenggabunganththTanggal PenggabunganththNPSN
Sekolah TergabungththNama
Sekolah TergabungththDigabung Olehthtr
7. thead
8. tbody
9. ?php
10. } else if isset_POST[data] {
11. 12.
npsnCari = _POST[data]; 13.
query2 = mysql_queryselect from penilaiankg.sekolah s, penilaiankg.gabungsekolah g
14. . where s.npsn = g.npsnSekolahDigabung and s.npsn like npsnCari
and s.statusGruping = 1; 15.
16. jumlah1 = mysql_num_rowsquery2;
17. if jumlah1 0 {
18. no1 = 0;
19. namaStatus1 = ;
20. while data1 = mysql_fetch_arrayquery2 {
21. 22.
lat1 = data1[latitudeSDN]; 23.
lon1 = data1[longitutSDN]; 24.
nama1 = data1[namaSekolah];
25. jumlahSiswa1 = data1[jumlahSiswa];
26. rombel1 = data1[rombel];
27. npsn1 = data1[npsn];
28. ruangKelas1 = data1[ruangKelas];
29. tanggalPenggabungan1 = data1[tglPenggabungan];
30. status1 = data1[statusGruping];
31. statusSklh1 = data1[statusSekolah];
32. npsnSekolahTergabung1 = data1[npsnSekolahTergabung];
33. namaSekolahTergabung1 = data1[namaSekolahTergabung];
34. keterangan1 = data1[Keterangan];
35. 36.
37. if status1 == 1 {
38. namaStatus1 = Digabung;
39. } else if status1 == 2 {
40. namaStatus1 = Tergabung;
41. }
42. no1++;
43. echo trtd . no1 . tdtd . npsn1 . tdtd . nama1 .
tdtd . statusSklh1 . tdtd . jumlahSiswa1 . tdtd . ruangKelas1 . tdtd . rombel1 . tdtd . namaStatus1 . tdtd . tanggalPenggabungan1 . tdtd .
npsnSekolahTergabung1 . tdtd . namaSekolahTergabung1 . tdtd . keterangan1 . tdtr;
44. }
45. }
46. }
47. ?
48. tbody
49.
table
4.2.3.1.1.8 Sub Sistem Daftar PTK Tidak Memiliki Sekolah
Gambar 4. 60. Halaman Daftar PTK tidak memiliki SDN
Gambar 4.60. menunjukkan halaman daftar PTK yang tidak memiliki SDN dimana tempat PTK mengajar atau SDN asal sudah
digabungkan dengan SDN lain. Untuk melakukan pemindahan geser table secara horizontal ke kanan untuk klik button pindah PTK seperti gambar
4.61. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Listing untuk menampilkan daftar PTK tidak memiliki SDN :
1. h3 class=page-header text-center Data PTK Yang Tidak Memiliki Sekolahh3
2. --table table-striped table-bordered text-nowrap--
3. table id=tabledata class=table table-striped table-bordered nowrap hover cell-
border style=font-size: 14px cellspacing=0 width=100 4.
thead 5.
trthNOththNUPTKththNama PTKththJenis
KelaminththTempat LahirththTanggal
LahirththJenis PTKththStatus
KepegawaianththAlamatththKecamatanththKeteranganthtr 6.
thead 7.
tbody 8.
?php 9.
if isset_POST[data] { 10.
11. query1
= mysql_queryselect
from penilaiankg.ptk
where StatusPindah=2;;
12. no = 0;
13. 14.
while data = mysql_fetch_arrayquery1 { 15.
latitudePTK1 = data[latitudePTK]; 16.
longitutPTK1 = data[longitutPTK]; 17.
nuptkPTK1 = data[nuptk]; 18.
namaPTK1 = data[namaPtk]; 19.
jenisKelaminPTK1 = data[jenisKelamin]; 20.
tempatLahirPTK1 = data[tempatLahir]; 21.
tanggalLahirPTK1 = data[tanggalLahir]; 22.
nikPTK1 = data[nik]; 23.
nipPTK1 = data[nip]; 24.
jenisPtkPTK1 = data[jenisPtk]; 25.
statusKepegawaianPTK1 = data[statusKepegawaian]; 26.
agamaPTK1 = data[agama]; 27.
alamatPTK1 = data[alamat]; 28.
rtPTK1 = data[rt]; 29.
rwPTK1 = data[rw]; 30.
dusunPTK1 = data[dusun]; 31.
desaKelurahanPTK1 = data[desaKelurahan]; 32.
kodePosPTK1 = data[kodePos]; 33.
kecamatanPTK1 = data[kecamatan]; 34.
nomorTeleponPTK1 = data[nomorTelepon]; 35.
nomorHpPTK1 = data[nomorHp]; 36.
emailPTK1 = data[email]; 37.
skCpnsPTK1 = data[skCpns]; 38.
tanggalCpnsPTK1 = data[tanggalCpns]; 39.
skPengangkatanPTK1 = data[skPengangkatan]; 40.
tmtPengangkatanPTK1 = data[tmtPengangkatan]; 41.
lembagaPengangkatPTK1 = data[lembagaPengangkat]; 42.
sumberGajiPTK1 = data[sumberGaji]; 43.
namaIbuKandungPTK1 = data[namaIbuKandung]; 44.
statusPerkawinanPTK1 = data[statusPerkawinan]; 45.
namaSuamiIstriPTK1 = data[namaSuamiIstri]; 46.
nipSuamiIstriPTK1 = data[nipSuamiIstri]; 47.
pekerjaanSuamiIstriPTK1 = data[pekerjaanSuamiIstri]; 48.
tmtPnsPTK1 = data[tmtPns]; 49.
lisensiKepalaSekolahPTK1 = data[lisensiKepalaSekolah]; 50.
npwpPTK1 = data[npwp]; 51.
pendTerakhirPTK1 = data[pendTerakhir]; 52.
sertifikasiPTK1 = data[sertifikasi]; 53.
tglPindah1 = data[tglPemindahan]; 54.
statusPindah1 = data[StatusPindah];
55. npsn1 = data[npsn];
56. namaSekolah1 = data[namaSekolah];
57. 58.
59. no++;
60. thNOththNUPTKththNama PTKththJenis
KelaminththTempat LahirththTanggal
LahirththJenis PTKththStatus
KepegawaianththAlamatththKecamatanththNPSN SekolahththNama
SekolahththTanggal Pemindahanthtr 61.
echo trtd . no . tdtd . nuptkPTK1 . tdtd . namaPTK1 . tdtd . jenisKelaminPTK1 . tdtd . tempatLahirPTK1 . tdtd . tanggalLahirPTK1
. tdtd . jenisPtkPTK1 . tdtd . statusKepegawaianPTK1 . tdtd . alamatPTK1 . tdtd . kecamatanPTK1 . tdtd a href=halamaGabungGuruMagelang .php?ptk= .
nuptkPTK1
. style=text-decoration:none
title=Pindah PTK
target=_topimg src=gambarmaps.png width=25 height=25a tdtr;
62. }
63. }
Gambar 4. 61. Halaman Pindah PTK tidak memiliki SDN
Proses pemindahan PTK yang tidak mempunyai sekolah pada gambar 4.61. klik kolom Keterangan kemudian klik icon maps kemudian
akan diarahkan pada ke halaman pemindahan PTK pada gambar 4.62. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4. 62. Halaman Pindah PTK tidak memiliki SDN klik Pindah
Langkah pemindahannya PTK yang tidak memiliki SDN sama dengan langkah pemindahan secara otomatis. Bila akan melihat daftar PTK
berdasarkan NUPTK atau nama PTK. Klik radio button Ya pada kolom pencarian Cari Berdasarkan NUPTK. Lalu masukan NUPTK atau Nama
PTK kemudian klik Cari seperti pada gambar 4.63. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4. 63. Halaman Lihat daftar PTK tidak memiliki SDN berdasarkan NUPTK
Listing Program untuk mencari Daftar PTK yang Tidak memiliki SDN :
1. legendCari Berdasarkan NUPTKlegend
2. div class=form-group
3. form method=POST action=daftarPTKtidakAdaSDn.php
4. div class=form-group style=font-size: 17px; padding-bottom: 10px
5. label class=control-label col-sm-3 col-lg-3 col-md-3NUPTKlabel
6. label class=control-label col-sm-1 col-lg-1 col-md-1:label
7. div class=col-sm-4 col-lg-4 col-md-4
8. --input type=text class=typeahead value= name=data data-
provide=typeahead autocomplete=off spellcheck=false onkeyup=angkathis; required=true autofocus--
9. select class=selectpicker dropdown title=-- Cari PTK --
required=true onchange=this.form.submit data-live-search=true name=data data-size=7 10.
?php 11.
cariAwalPTK = mysql_queryselect from penilaiankg.ptk where StatusPindah=2;;
12. while cariAwalPTK1 = mysql_fetch_arraycariAwalPTK {
13. echo option value= . cariAwalPTK1[nuptk] . .
cariAwalPTK1[nuptk] . . cariAwalPTK1[namaPtk] . option; 14.
} 15.
? 16.
select 17.
div 18.
div class=form-inline 19.
label class=control-label col-sm-2 col-lg-2 col-md-2label 20.
div class=col-sm-2 21.
button type=submit
class=btn btn-primary
style=display:inlinespan class=glyphicon glyphicon-searchspannbspCaributton 22.
div 23.
divbrbr 24.
div 25.
form 26.
div
Gambar 4. 64. Halaman Tampil PTK tidak memiliki SDN
Gambar 4.64. merupakan hasi PTK yang dicari berdasarkan NUPTK. Untuk memindahkan PTK akan sama langkahnya seperti
langkah sebelumnya. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.2.3.1.1.9 Sub Sistem History Pemindahan PTK
Gambar 4. 65. Halaman History pemindahan PTK
Gambar 4.65. merupakan halaman untuk melihat daftar PTK yang pernah dipindahkan. Admin dan kepala dinas dapat melihat data
berdasarkan periode waktu tertentu atau berdasarkan NUPTK atau Nama PTK. Admin dan kepala dinas juga dapat melakukan pembatalan
pemindahan. Untuk melihat PTK yang sudah pernah dipindahkan berdasarkan periode waktu tertentu dapat dilihat pada gambar 4.66.
Gambar 4. 66. Halaman Tampil history pemindahan PTK
Pada gambar 4.66. menampilkan PTK yang sudah pernah dipindahkan berdasarkan periode waktu tertentu. Untuk melakukan
pembatalan penggabungan dapat dilakukan dengan menggeser kotak informasi secara horizontal ke kanan dan menemukan button Batal Pindah.
Dapat dilihat pada gambar 4.67. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4. 67. Halaman Daftar history pemindahan PTK batalkan
Gambar 4.67 menunjukkan proses membatalkan pemindahan guru secara langsung. Untuk contoh kasus pemindahan PTK dengan nama Partinem
dapat dilihat pada gambar 4.68. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4. 68. Halaman Batal pindah PTK berhasil.
Akan muncul pesan pemberihauan bahwa PTK sudah berhasil dibatalkan pemindahanyaGambar 4.68. Admin dan kepala dinas dapat
melihat daftar PTK yang sudah pernah dipindahkan berdasarkan pencarian NUPTK atau Nama PTK dengan mengeklik radio button Ya pada kolom
Cari PTK berdasarkan NUPTKgambar 4.69. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4. 69. Halaman History pemindahan PTK cari berdasarkan NUPTK
Sebagai contoh untuk melihat Daftar PTK Devi Abrianigambar 4.69. Kemudian klik Cari maka akan tampil informasi seperti gambar 4.70.
Gambar 4. 70. Halaman Tampil history pemindahan PTK
Pada gambar 4.70. PTK dengan nama Devi Abriani sudah pernah dipindahkan sebanyak tiga kali dan untuk membatalkan pemindahannya
dapat dilakukan seperti langkah sebelumnya. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB V
ANALISIS HASIL IMPLEMENTASI
5.1 Analisis Hasil Uji coba Perangkat Lunak Alpha Test