Menu Bar SIG Menu Master Data

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