Compare commits

...

10 Commits

Author SHA1 Message Date
SyebaWardahani 4f3791bcc7 Update fitur 2025-06-30 11:28:10 +07:00
ImMocha 79eb11405c revisi:4 2025-06-20 23:01:58 +08:00
ImMocha eedda5766b add feature: reset password 2025-06-20 18:05:25 +08:00
ImMocha c01df37af0 revisi:5 2025-06-05 19:38:48 +08:00
ImMocha 6f15751421 revisi:4 2025-06-04 17:07:50 +08:00
ImMocha d20a3fccb0 revisi:4 2025-05-30 20:24:15 +08:00
ilhamrandikesuma 499eda0c7f revisi:3 2025-05-20 17:38:28 +08:00
ilhamrandikesuma 488d050e95 revisi:3 2025-05-19 21:07:22 +08:00
ilhamrandikesuma 7f500a5974 revisi:1.5 2025-04-28 17:19:45 +08:00
ilhamrandikesuma b32d666802 revisi:1.5 2025-04-28 16:30:20 +08:00
78 changed files with 1789 additions and 91 deletions

View File

@ -0,0 +1,457 @@
<mxfile host="Electron" modified="2025-05-02T13:42:06.019Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.6.4 Chrome/124.0.6367.207 Electron/30.0.6 Safari/537.36" etag="ispaAN4NePQEfyJKeuCX" version="24.6.4" type="device" pages="3">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Customer">
<mxGraphModel dx="1674" dy="884" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="DXOKsbUrYvm370bd_ecw-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-0" target="DXOKsbUrYvm370bd_ecw-0">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-0" value="Mulai" style="html=1;dashed=0;whiteSpace=wrap;shape=mxgraph.dfd.start;fillColor=#CCFFCC;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="341" y="100" width="146" height="50" as="geometry" />
</mxCell>
<mxCell id="DXOKsbUrYvm370bd_ecw-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-3" target="GYXsnk_IeWZ2GQ8rA3Nu-5">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-3" value="Halaman Login" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="250" y="280" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-10" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#99CCFF;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-5" target="GYXsnk_IeWZ2GQ8rA3Nu-9">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="424" y="585" />
<mxPoint x="424" y="585" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-11" value="iya" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fillColor=#99CCFF;" vertex="1" connectable="0" parent="GYXsnk_IeWZ2GQ8rA3Nu-10">
<mxGeometry x="-0.1804" y="2" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-5" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Autentikasi berhasil?&lt;/font&gt;" style="rhombus;whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="384" y="460" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-13" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fillColor=#99CCFF;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-9" target="GYXsnk_IeWZ2GQ8rA3Nu-12">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-15" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fillColor=#99CCFF;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-9" target="GYXsnk_IeWZ2GQ8rA3Nu-14">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.464;entryY=-0.023;entryDx=0;entryDy=0;entryPerimeter=0;fillColor=#99CCFF;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-9" target="GYXsnk_IeWZ2GQ8rA3Nu-18">
<mxGeometry relative="1" as="geometry">
<mxPoint x="599.9999999999998" y="725" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#99CCFF;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" target="GYXsnk_IeWZ2GQ8rA3Nu-20">
<mxGeometry relative="1" as="geometry">
<mxPoint x="499.9999999999998" y="725" as="targetPoint" />
<mxPoint x="460" y="630" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-9" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Masuk Dashboard Customer&lt;/font&gt;" style="rhombus;whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="384" y="590" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-22" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fillColor=#99CCFF;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-12" target="GYXsnk_IeWZ2GQ8rA3Nu-21">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-12" value="Ajukan Pendaftaraan Pengujian Air" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="130" y="725" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-14" value="Mengisi Survey Kepuasan" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="260" y="725" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-30" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0.5;entryDx=0;entryDy=15;entryPerimeter=0;fillColor=#99CCFF;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-18" target="GYXsnk_IeWZ2GQ8rA3Nu-25">
<mxGeometry relative="1" as="geometry">
<mxPoint x="459.9999999999998" y="1015" as="targetPoint" />
<Array as="points">
<mxPoint x="650" y="1065" />
<mxPoint x="424" y="1065" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-18" value="Buat Complaint Jika Ada Masalah" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="590" y="725" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-20" value="Edit Profile" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="464" y="725" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#99CCFF;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-21" target="GYXsnk_IeWZ2GQ8rA3Nu-12">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="80" y="895" />
<mxPoint x="80" y="755" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-24" value="Ditolak" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fillColor=#99CCFF;" vertex="1" connectable="0" parent="GYXsnk_IeWZ2GQ8rA3Nu-23">
<mxGeometry x="0.1273" y="2" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-21" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Menunggu Konfirmasi&amp;nbsp;&lt;/font&gt;&lt;div&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;Admin&lt;/font&gt;&lt;/div&gt;" style="rhombus;whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="150" y="855" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-25" value="Selesai" style="html=1;dashed=0;whiteSpace=wrap;shape=mxgraph.dfd.start;fillColor=#CCFFCC;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="384" y="995" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;fillColor=#99CCFF;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-21" target="GYXsnk_IeWZ2GQ8rA3Nu-25">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-27" value="Diterima" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fillColor=#99CCFF;" vertex="1" connectable="0" parent="GYXsnk_IeWZ2GQ8rA3Nu-26">
<mxGeometry x="-0.7283" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0.5;entryDx=0;entryDy=-15;entryPerimeter=0;fillColor=#99CCFF;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-14" target="GYXsnk_IeWZ2GQ8rA3Nu-25">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="320" y="890" />
<mxPoint x="424" y="890" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;fillColor=#99CCFF;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-20" target="GYXsnk_IeWZ2GQ8rA3Nu-25">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DXOKsbUrYvm370bd_ecw-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="DXOKsbUrYvm370bd_ecw-0" target="GYXsnk_IeWZ2GQ8rA3Nu-3">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DXOKsbUrYvm370bd_ecw-5" value="iya" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DXOKsbUrYvm370bd_ecw-3">
<mxGeometry x="-0.7145" relative="1" as="geometry">
<mxPoint x="-7" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DXOKsbUrYvm370bd_ecw-0" value="&lt;font style=&quot;font-size: 8px;&quot;&gt;Sudah Punya Akun&lt;/font&gt;" style="rhombus;whiteSpace=wrap;html=1;fillColor=#99CCFF;dashed=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="374" y="190" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="DXOKsbUrYvm370bd_ecw-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="DXOKsbUrYvm370bd_ecw-2" target="GYXsnk_IeWZ2GQ8rA3Nu-5">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DXOKsbUrYvm370bd_ecw-2" value="Halaman Register" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="454" y="280" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="DXOKsbUrYvm370bd_ecw-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.606;entryY=-0.04;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="DXOKsbUrYvm370bd_ecw-0" target="DXOKsbUrYvm370bd_ecw-2">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="527" y="230" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DXOKsbUrYvm370bd_ecw-6" value="tidak" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DXOKsbUrYvm370bd_ecw-4">
<mxGeometry x="-0.7317" y="-1" relative="1" as="geometry">
<mxPoint x="10" y="-1" as="offset" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="D7YJkv7FEI3dNPqd6Bzc" name="Admin">
<mxGraphModel dx="1860" dy="982" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="g-txs_lv8sqp4XE67Q3f-1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fillColor=#99CCFF;" edge="1" parent="1" source="g-txs_lv8sqp4XE67Q3f-2" target="g-txs_lv8sqp4XE67Q3f-4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="g-txs_lv8sqp4XE67Q3f-2" value="Mulai" style="html=1;dashed=0;whiteSpace=wrap;shape=mxgraph.dfd.start;fillColor=#CCFFCC;" vertex="1" parent="1">
<mxGeometry x="411" y="30" width="146" height="50" as="geometry" />
</mxCell>
<mxCell id="g-txs_lv8sqp4XE67Q3f-3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fillColor=#99CCFF;" edge="1" parent="1" source="g-txs_lv8sqp4XE67Q3f-4" target="g-txs_lv8sqp4XE67Q3f-9">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="g-txs_lv8sqp4XE67Q3f-4" value="Login" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="424" y="155" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="g-txs_lv8sqp4XE67Q3f-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#99CCFF;" edge="1" parent="1" source="g-txs_lv8sqp4XE67Q3f-9" target="g-txs_lv8sqp4XE67Q3f-4">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="404" y="325" />
<mxPoint x="404" y="185" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="g-txs_lv8sqp4XE67Q3f-6" value="Tidak" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fillColor=#99CCFF;" vertex="1" connectable="0" parent="g-txs_lv8sqp4XE67Q3f-5">
<mxGeometry x="0.1195" y="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="g-txs_lv8sqp4XE67Q3f-7" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#99CCFF;" edge="1" parent="1" source="g-txs_lv8sqp4XE67Q3f-9" target="g-txs_lv8sqp4XE67Q3f-14">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="484" y="410" />
<mxPoint x="484" y="410" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="g-txs_lv8sqp4XE67Q3f-8" value="iya" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fillColor=#99CCFF;" vertex="1" connectable="0" parent="g-txs_lv8sqp4XE67Q3f-7">
<mxGeometry x="-0.1804" y="2" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="g-txs_lv8sqp4XE67Q3f-9" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Autentikasi berhasil?&lt;/font&gt;" style="rhombus;whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="444" y="285" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="g-txs_lv8sqp4XE67Q3f-10" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fillColor=#99CCFF;" edge="1" parent="1" source="g-txs_lv8sqp4XE67Q3f-14" target="g-txs_lv8sqp4XE67Q3f-16">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="g-txs_lv8sqp4XE67Q3f-11" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fillColor=#99CCFF;" edge="1" parent="1" source="g-txs_lv8sqp4XE67Q3f-14" target="g-txs_lv8sqp4XE67Q3f-17">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="g-txs_lv8sqp4XE67Q3f-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.464;entryY=-0.023;entryDx=0;entryDy=0;entryPerimeter=0;fillColor=#99CCFF;" edge="1" parent="1" source="g-txs_lv8sqp4XE67Q3f-14" target="g-txs_lv8sqp4XE67Q3f-19">
<mxGeometry relative="1" as="geometry">
<mxPoint x="659.9999999999998" y="550" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="g-txs_lv8sqp4XE67Q3f-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#99CCFF;" edge="1" parent="1" target="g-txs_lv8sqp4XE67Q3f-20">
<mxGeometry relative="1" as="geometry">
<mxPoint x="559.9999999999998" y="550" as="targetPoint" />
<mxPoint x="520" y="455" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="g-txs_lv8sqp4XE67Q3f-14" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Masuk Dashboard Admin&lt;/font&gt;" style="rhombus;whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="444" y="415" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="plRFZ5TR-NCxUOx7RfAG-2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="g-txs_lv8sqp4XE67Q3f-16" target="plRFZ5TR-NCxUOx7RfAG-1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="g-txs_lv8sqp4XE67Q3f-16" value="Pengelolaan Daftar Permintaan Uji Air" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="190" y="550" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="g-txs_lv8sqp4XE67Q3f-17" value="Melihat Daftar Survey Pelanggan" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="320" y="550" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="g-txs_lv8sqp4XE67Q3f-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0.5;entryDx=0;entryDy=15;entryPerimeter=0;fillColor=#99CCFF;" edge="1" parent="1" source="g-txs_lv8sqp4XE67Q3f-19" target="g-txs_lv8sqp4XE67Q3f-24">
<mxGeometry relative="1" as="geometry">
<mxPoint x="519.9999999999998" y="840" as="targetPoint" />
<Array as="points">
<mxPoint x="710" y="990" />
<mxPoint x="480" y="990" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="g-txs_lv8sqp4XE67Q3f-19" value="Melihat Daftar Keluhan&amp;nbsp;Pelanggan" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="650" y="550" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="g-txs_lv8sqp4XE67Q3f-20" value="Edit Profile" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="524" y="550" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="g-txs_lv8sqp4XE67Q3f-24" value="Selesai" style="html=1;dashed=0;whiteSpace=wrap;shape=mxgraph.dfd.start;fillColor=#CCFFCC;" vertex="1" parent="1">
<mxGeometry x="440" y="940" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="g-txs_lv8sqp4XE67Q3f-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0.5;entryDx=0;entryDy=-15;entryPerimeter=0;fillColor=#99CCFF;" edge="1" parent="1" source="g-txs_lv8sqp4XE67Q3f-17" target="g-txs_lv8sqp4XE67Q3f-24">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="380" y="715" />
<mxPoint x="480" y="715" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="g-txs_lv8sqp4XE67Q3f-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;fillColor=#99CCFF;" edge="1" parent="1" source="g-txs_lv8sqp4XE67Q3f-20" target="g-txs_lv8sqp4XE67Q3f-24">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="plRFZ5TR-NCxUOx7RfAG-4" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="plRFZ5TR-NCxUOx7RfAG-1" target="plRFZ5TR-NCxUOx7RfAG-3">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="140" y="720" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="plRFZ5TR-NCxUOx7RfAG-5" value="Ditolak" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="plRFZ5TR-NCxUOx7RfAG-4">
<mxGeometry x="-0.5074" y="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="plRFZ5TR-NCxUOx7RfAG-7" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="plRFZ5TR-NCxUOx7RfAG-1" target="plRFZ5TR-NCxUOx7RfAG-6">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="350" y="720" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="plRFZ5TR-NCxUOx7RfAG-10" value="Diterima" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="plRFZ5TR-NCxUOx7RfAG-7">
<mxGeometry x="0.4119" y="3" relative="1" as="geometry">
<mxPoint x="-2" y="11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="plRFZ5TR-NCxUOx7RfAG-1" value="&lt;font style=&quot;font-size: 9px;&quot;&gt;Konfirmasi Keluhan Pelanggan&lt;/font&gt;" style="rhombus;whiteSpace=wrap;html=1;fillColor=#99CCFF;dashed=0;" vertex="1" parent="1">
<mxGeometry x="210" y="680" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="plRFZ5TR-NCxUOx7RfAG-3" value="Notifikasi Email Jika Ditolak serta Alasannya" style="whiteSpace=wrap;html=1;fillColor=#99CCFF;dashed=0;" vertex="1" parent="1">
<mxGeometry x="80" y="805" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="plRFZ5TR-NCxUOx7RfAG-6" value="Notifikasi Email Jika Diterima" style="whiteSpace=wrap;html=1;fillColor=#99CCFF;dashed=0;" vertex="1" parent="1">
<mxGeometry x="291" y="800" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="plRFZ5TR-NCxUOx7RfAG-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="plRFZ5TR-NCxUOx7RfAG-3" target="g-txs_lv8sqp4XE67Q3f-24">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="140" y="955" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="plRFZ5TR-NCxUOx7RfAG-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="plRFZ5TR-NCxUOx7RfAG-6" target="g-txs_lv8sqp4XE67Q3f-24">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="351" y="955" />
</Array>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="8JzFzPll2qXJ6hMNd3l_" name="Customer2">
<mxGraphModel dx="2391" dy="1263" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="wwCnqyOLYFwBRt703OWM-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="wwCnqyOLYFwBRt703OWM-2" target="wwCnqyOLYFwBRt703OWM-35">
<mxGeometry relative="1" as="geometry">
<mxPoint x="459" y="180" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-2" value="Mulai" style="html=1;dashed=0;whiteSpace=wrap;shape=mxgraph.dfd.start;fillColor=#CCFFCC;" vertex="1" parent="1">
<mxGeometry x="396" y="90" width="146" height="50" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#99CCFF;" edge="1" parent="1" source="wwCnqyOLYFwBRt703OWM-7" target="wwCnqyOLYFwBRt703OWM-12">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="469" y="575" />
<mxPoint x="469" y="575" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-6" value="iya" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fillColor=#99CCFF;" vertex="1" connectable="0" parent="wwCnqyOLYFwBRt703OWM-5">
<mxGeometry x="-0.1804" y="2" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-7" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Autentikasi berhasil?&lt;/font&gt;" style="rhombus;whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="429" y="450" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-8" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fillColor=#99CCFF;" edge="1" parent="1" source="wwCnqyOLYFwBRt703OWM-12" target="wwCnqyOLYFwBRt703OWM-14">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-9" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fillColor=#99CCFF;" edge="1" parent="1" source="wwCnqyOLYFwBRt703OWM-12" target="wwCnqyOLYFwBRt703OWM-15">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.464;entryY=-0.023;entryDx=0;entryDy=0;entryPerimeter=0;fillColor=#99CCFF;" edge="1" parent="1" source="wwCnqyOLYFwBRt703OWM-12" target="wwCnqyOLYFwBRt703OWM-17">
<mxGeometry relative="1" as="geometry">
<mxPoint x="644.9999999999998" y="715" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#99CCFF;" edge="1" parent="1" target="wwCnqyOLYFwBRt703OWM-18">
<mxGeometry relative="1" as="geometry">
<mxPoint x="544.9999999999998" y="715" as="targetPoint" />
<mxPoint x="505" y="620" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-12" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Masuk Dashboard Customer&lt;/font&gt;" style="rhombus;whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="429" y="580" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-13" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fillColor=#99CCFF;" edge="1" parent="1" source="wwCnqyOLYFwBRt703OWM-14" target="wwCnqyOLYFwBRt703OWM-21">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-14" value="Ajukan Pendaftaraan Pengujian Air" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="175" y="715" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-15" value="Mengisi Survey Kepuasan" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="305" y="715" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0.5;entryDx=0;entryDy=15;entryPerimeter=0;fillColor=#99CCFF;" edge="1" parent="1" source="wwCnqyOLYFwBRt703OWM-17" target="wwCnqyOLYFwBRt703OWM-22">
<mxGeometry relative="1" as="geometry">
<mxPoint x="504.9999999999998" y="1005" as="targetPoint" />
<Array as="points">
<mxPoint x="695" y="1055" />
<mxPoint x="469" y="1055" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-17" value="Buat Complaint Jika Ada Masalah" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="635" y="715" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-18" value="Edit Profile" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="509" y="715" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#99CCFF;" edge="1" parent="1" source="wwCnqyOLYFwBRt703OWM-21" target="wwCnqyOLYFwBRt703OWM-14">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="125" y="885" />
<mxPoint x="125" y="745" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-20" value="Ditolak" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fillColor=#99CCFF;" vertex="1" connectable="0" parent="wwCnqyOLYFwBRt703OWM-19">
<mxGeometry x="0.1273" y="2" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-21" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Menunggu Konfirmasi&amp;nbsp;&lt;/font&gt;&lt;div&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;Admin&lt;/font&gt;&lt;/div&gt;" style="rhombus;whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="195" y="845" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-22" value="Selesai" style="html=1;dashed=0;whiteSpace=wrap;shape=mxgraph.dfd.start;fillColor=#CCFFCC;" vertex="1" parent="1">
<mxGeometry x="429" y="985" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;fillColor=#99CCFF;" edge="1" parent="1" source="wwCnqyOLYFwBRt703OWM-21" target="wwCnqyOLYFwBRt703OWM-22">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-24" value="Diterima" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fillColor=#99CCFF;" vertex="1" connectable="0" parent="wwCnqyOLYFwBRt703OWM-23">
<mxGeometry x="-0.7283" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0.5;entryDx=0;entryDy=-15;entryPerimeter=0;fillColor=#99CCFF;" edge="1" parent="1" source="wwCnqyOLYFwBRt703OWM-15" target="wwCnqyOLYFwBRt703OWM-22">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="365" y="880" />
<mxPoint x="469" y="880" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;fillColor=#99CCFF;" edge="1" parent="1" source="wwCnqyOLYFwBRt703OWM-18" target="wwCnqyOLYFwBRt703OWM-22">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-37" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="wwCnqyOLYFwBRt703OWM-35" target="wwCnqyOLYFwBRt703OWM-36">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-35" value="Halaman Login" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="409" y="180" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-39" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="wwCnqyOLYFwBRt703OWM-36" target="wwCnqyOLYFwBRt703OWM-38">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="335" y="320" />
<mxPoint x="335" y="320" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-40" value="tidak" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="wwCnqyOLYFwBRt703OWM-39">
<mxGeometry x="-0.0621" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-42" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="wwCnqyOLYFwBRt703OWM-36" target="wwCnqyOLYFwBRt703OWM-7">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-43" value="iya" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="wwCnqyOLYFwBRt703OWM-42">
<mxGeometry x="-0.1724" y="-3" relative="1" as="geometry">
<mxPoint x="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-36" value="&lt;span style=&quot;font-size: 10px;&quot;&gt;Sudah Punya&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: 10px;&quot;&gt;Akun&lt;/span&gt;&lt;/div&gt;" style="rhombus;whiteSpace=wrap;html=1;fillColor=#99CCFF;dashed=0;" vertex="1" parent="1">
<mxGeometry x="429" y="280" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-41" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="wwCnqyOLYFwBRt703OWM-38" target="wwCnqyOLYFwBRt703OWM-7">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="155" y="490" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-38" value="Halaman Register" style="whiteSpace=wrap;html=1;fillColor=#99CCFF;dashed=0;" vertex="1" parent="1">
<mxGeometry x="95" y="290" width="120" height="60" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

133
.$Flowchart.drawio.bkp Normal file
View File

@ -0,0 +1,133 @@
<mxfile host="Electron" modified="2025-05-02T13:11:45.026Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.6.4 Chrome/124.0.6367.207 Electron/30.0.6 Safari/537.36" etag="VWrbvmqc3ZIQMMgOIjpN" version="24.6.4" type="device">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="1674" dy="884" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-4" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-0" target="GYXsnk_IeWZ2GQ8rA3Nu-3">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-0" value="Mulai" style="html=1;dashed=0;whiteSpace=wrap;shape=mxgraph.dfd.start" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="341" y="120" width="146" height="50" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-6" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-3" target="GYXsnk_IeWZ2GQ8rA3Nu-5">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-3" value="Login" style="whiteSpace=wrap;html=1;dashed=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="354" y="245" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-5" target="GYXsnk_IeWZ2GQ8rA3Nu-3">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="334" y="415" />
<mxPoint x="334" y="275" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-8" value="Tidak" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="GYXsnk_IeWZ2GQ8rA3Nu-7">
<mxGeometry x="0.1195" y="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-10" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-5" target="GYXsnk_IeWZ2GQ8rA3Nu-9">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="414" y="500" />
<mxPoint x="414" y="500" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-11" value="iya" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="GYXsnk_IeWZ2GQ8rA3Nu-10">
<mxGeometry x="-0.1804" y="2" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-5" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Autentikasi berhasil?&lt;/font&gt;" style="rhombus;whiteSpace=wrap;html=1;dashed=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="374" y="375" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-13" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-9" target="GYXsnk_IeWZ2GQ8rA3Nu-12">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-15" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-9" target="GYXsnk_IeWZ2GQ8rA3Nu-14">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.464;entryY=-0.023;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-9" target="GYXsnk_IeWZ2GQ8rA3Nu-18">
<mxGeometry relative="1" as="geometry">
<mxPoint x="589.9999999999998" y="640" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" target="GYXsnk_IeWZ2GQ8rA3Nu-20">
<mxGeometry relative="1" as="geometry">
<mxPoint x="489.9999999999998" y="640" as="targetPoint" />
<mxPoint x="450" y="545" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-9" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Masuk Dashboard Customer&lt;/font&gt;" style="rhombus;whiteSpace=wrap;html=1;dashed=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="374" y="505" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-22" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-12" target="GYXsnk_IeWZ2GQ8rA3Nu-21">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-12" value="Ajukan Pendaftaraan Pengujian Air" style="whiteSpace=wrap;html=1;dashed=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="120" y="640" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-14" value="Mengisi Survey Kepuasan" style="whiteSpace=wrap;html=1;dashed=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="250" y="640" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-30" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0.5;entryDx=0;entryDy=15;entryPerimeter=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-18" target="GYXsnk_IeWZ2GQ8rA3Nu-25">
<mxGeometry relative="1" as="geometry">
<mxPoint x="449.9999999999998" y="930" as="targetPoint" />
<Array as="points">
<mxPoint x="640" y="980" />
<mxPoint x="414" y="980" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-18" value="Buat Complaint Jika Ada Masalah" style="whiteSpace=wrap;html=1;dashed=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="580" y="640" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-20" value="Edit Profile" style="whiteSpace=wrap;html=1;dashed=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="454" y="640" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-21" target="GYXsnk_IeWZ2GQ8rA3Nu-12">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="70" y="810" />
<mxPoint x="70" y="670" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-24" value="Ditolak" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="GYXsnk_IeWZ2GQ8rA3Nu-23">
<mxGeometry x="0.1273" y="2" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-21" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Menunggu Konfirmasi&amp;nbsp;&lt;/font&gt;&lt;div&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;Admin&lt;/font&gt;&lt;/div&gt;" style="rhombus;whiteSpace=wrap;html=1;dashed=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="140" y="770" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-25" value="Selesai" style="html=1;dashed=0;whiteSpace=wrap;shape=mxgraph.dfd.start" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="374" y="910" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-21" target="GYXsnk_IeWZ2GQ8rA3Nu-25">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-27" value="Diterima" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="GYXsnk_IeWZ2GQ8rA3Nu-26">
<mxGeometry x="-0.7283" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0.5;entryDx=0;entryDy=-15;entryPerimeter=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-14" target="GYXsnk_IeWZ2GQ8rA3Nu-25">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="310" y="805" />
<mxPoint x="414" y="805" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-20" target="GYXsnk_IeWZ2GQ8rA3Nu-25">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

556
Flowchart Syeba.drawio Normal file
View File

@ -0,0 +1,556 @@
<mxfile host="Electron" modified="2025-05-04T15:36:29.537Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.6.4 Chrome/124.0.6367.207 Electron/30.0.6 Safari/537.36" etag="Q9frk0iOBgGopvUJLDFn" version="24.6.4" type="device" pages="3">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Customer">
<mxGraphModel dx="1674" dy="884" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="DXOKsbUrYvm370bd_ecw-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-0" target="DXOKsbUrYvm370bd_ecw-0">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-0" value="Mulai" style="html=1;dashed=0;whiteSpace=wrap;shape=mxgraph.dfd.start;fillColor=#CCFFCC;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="341" y="100" width="146" height="50" as="geometry" />
</mxCell>
<mxCell id="DXOKsbUrYvm370bd_ecw-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-3" target="GYXsnk_IeWZ2GQ8rA3Nu-5">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-3" value="Halaman Login" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="250" y="280" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-10" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#99CCFF;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-5" target="GYXsnk_IeWZ2GQ8rA3Nu-9">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="424" y="585" />
<mxPoint x="424" y="585" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-11" value="iya" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fillColor=#99CCFF;" vertex="1" connectable="0" parent="GYXsnk_IeWZ2GQ8rA3Nu-10">
<mxGeometry x="-0.1804" y="2" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-5" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Autentikasi berhasil?&lt;/font&gt;" style="rhombus;whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="384" y="460" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-13" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fillColor=#99CCFF;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-9" target="GYXsnk_IeWZ2GQ8rA3Nu-12">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-15" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fillColor=#99CCFF;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-9" target="GYXsnk_IeWZ2GQ8rA3Nu-14">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.464;entryY=-0.023;entryDx=0;entryDy=0;entryPerimeter=0;fillColor=#99CCFF;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-9" target="GYXsnk_IeWZ2GQ8rA3Nu-18">
<mxGeometry relative="1" as="geometry">
<mxPoint x="599.9999999999998" y="725" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#99CCFF;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" target="GYXsnk_IeWZ2GQ8rA3Nu-20">
<mxGeometry relative="1" as="geometry">
<mxPoint x="499.9999999999998" y="725" as="targetPoint" />
<mxPoint x="460" y="630" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-9" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Masuk Dashboard Customer&lt;/font&gt;" style="rhombus;whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="384" y="590" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-22" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fillColor=#99CCFF;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-12" target="GYXsnk_IeWZ2GQ8rA3Nu-21">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-12" value="Ajukan Pendaftaraan Pengujian Air" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="130" y="725" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-14" value="Mengisi Survey Kepuasan" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="260" y="725" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-30" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0.5;entryDx=0;entryDy=15;entryPerimeter=0;fillColor=#99CCFF;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-18" target="GYXsnk_IeWZ2GQ8rA3Nu-25">
<mxGeometry relative="1" as="geometry">
<mxPoint x="459.9999999999998" y="1015" as="targetPoint" />
<Array as="points">
<mxPoint x="650" y="1065" />
<mxPoint x="424" y="1065" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-18" value="Buat Complaint Jika Ada Masalah" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="590" y="725" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-20" value="Edit Profile" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="464" y="725" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#99CCFF;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-21" target="GYXsnk_IeWZ2GQ8rA3Nu-12">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="80" y="895" />
<mxPoint x="80" y="755" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-24" value="Ditolak" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fillColor=#99CCFF;" vertex="1" connectable="0" parent="GYXsnk_IeWZ2GQ8rA3Nu-23">
<mxGeometry x="0.1273" y="2" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-21" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Menunggu Konfirmasi&amp;nbsp;&lt;/font&gt;&lt;div&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;Admin&lt;/font&gt;&lt;/div&gt;" style="rhombus;whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="150" y="855" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-25" value="Selesai" style="html=1;dashed=0;whiteSpace=wrap;shape=mxgraph.dfd.start;fillColor=#CCFFCC;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="384" y="995" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;fillColor=#99CCFF;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-21" target="GYXsnk_IeWZ2GQ8rA3Nu-25">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-27" value="Diterima" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fillColor=#99CCFF;" vertex="1" connectable="0" parent="GYXsnk_IeWZ2GQ8rA3Nu-26">
<mxGeometry x="-0.7283" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0.5;entryDx=0;entryDy=-15;entryPerimeter=0;fillColor=#99CCFF;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-14" target="GYXsnk_IeWZ2GQ8rA3Nu-25">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="320" y="890" />
<mxPoint x="424" y="890" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="GYXsnk_IeWZ2GQ8rA3Nu-29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;fillColor=#99CCFF;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="GYXsnk_IeWZ2GQ8rA3Nu-20" target="GYXsnk_IeWZ2GQ8rA3Nu-25">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DXOKsbUrYvm370bd_ecw-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="DXOKsbUrYvm370bd_ecw-0" target="GYXsnk_IeWZ2GQ8rA3Nu-3">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DXOKsbUrYvm370bd_ecw-5" value="iya" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DXOKsbUrYvm370bd_ecw-3">
<mxGeometry x="-0.7145" relative="1" as="geometry">
<mxPoint x="-7" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DXOKsbUrYvm370bd_ecw-0" value="&lt;font style=&quot;font-size: 8px;&quot;&gt;Sudah Punya Akun&lt;/font&gt;" style="rhombus;whiteSpace=wrap;html=1;fillColor=#99CCFF;dashed=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="374" y="190" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="DXOKsbUrYvm370bd_ecw-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="DXOKsbUrYvm370bd_ecw-2" target="GYXsnk_IeWZ2GQ8rA3Nu-5">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DXOKsbUrYvm370bd_ecw-2" value="Halaman Register" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="454" y="280" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="DXOKsbUrYvm370bd_ecw-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.606;entryY=-0.04;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="DXOKsbUrYvm370bd_ecw-0" target="DXOKsbUrYvm370bd_ecw-2">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="527" y="230" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DXOKsbUrYvm370bd_ecw-6" value="tidak" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DXOKsbUrYvm370bd_ecw-4">
<mxGeometry x="-0.7317" y="-1" relative="1" as="geometry">
<mxPoint x="10" y="-1" as="offset" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="D7YJkv7FEI3dNPqd6Bzc" name="Admin">
<mxGraphModel dx="2093" dy="1105" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="jBxjBn0xSni-pHa6JXSc-107" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-108" target="jBxjBn0xSni-pHa6JXSc-110">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-108" value="Mulai" style="html=1;dashed=0;whiteSpace=wrap;shape=mxgraph.dfd.start;shadow=1;fillColor=#CCFFCC;" vertex="1" parent="1">
<mxGeometry x="457.5" y="10" width="105" height="30" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-109" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-110" target="jBxjBn0xSni-pHa6JXSc-136">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-110" value="Login" style="whiteSpace=wrap;html=1;dashed=0;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="450" y="60" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-111" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-115" target="jBxjBn0xSni-pHa6JXSc-110">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="362" y="260" />
<mxPoint x="362" y="90" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-112" value="Tidak" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];shadow=1;fillColor=#99CCFF;" vertex="1" connectable="0" parent="jBxjBn0xSni-pHa6JXSc-111">
<mxGeometry x="0.1195" y="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-113" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-115" target="jBxjBn0xSni-pHa6JXSc-138">
<mxGeometry relative="1" as="geometry">
<Array as="points" />
<mxPoint x="506.0000000000002" y="465.0000000000002" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-114" value="iya" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];shadow=1;fillColor=#99CCFF;" vertex="1" connectable="0" parent="jBxjBn0xSni-pHa6JXSc-113">
<mxGeometry x="-0.1804" y="2" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-115" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Autentikasi berhasil?&lt;/font&gt;" style="rhombus;whiteSpace=wrap;html=1;dashed=0;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="470" y="220" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-116" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" target="jBxjBn0xSni-pHa6JXSc-121">
<mxGeometry relative="1" as="geometry">
<mxPoint x="479.9999999999998" y="450" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-117" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" target="jBxjBn0xSni-pHa6JXSc-123">
<mxGeometry relative="1" as="geometry">
<mxPoint x="479.9999999999998" y="450" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-118" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.464;entryY=-0.023;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-139" target="jBxjBn0xSni-pHa6JXSc-126">
<mxGeometry relative="1" as="geometry">
<mxPoint x="691.9999999999998" y="500" as="targetPoint" />
<mxPoint x="612" y="410" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-119" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-139" target="jBxjBn0xSni-pHa6JXSc-127">
<mxGeometry relative="1" as="geometry">
<mxPoint x="591.9999999999998" y="500" as="targetPoint" />
<mxPoint x="602" y="407" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-120" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-121" target="jBxjBn0xSni-pHa6JXSc-149">
<mxGeometry relative="1" as="geometry">
<mxPoint x="261.9999999999999" y="630" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-121" value="Menu Daftar Pengajuan Pengujian Air" style="whiteSpace=wrap;html=1;dashed=0;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="202" y="500" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-122" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-123" target="jBxjBn0xSni-pHa6JXSc-141">
<mxGeometry relative="1" as="geometry">
<mxPoint x="392" y="590" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-123" value="Menu Survey Kepuasan" style="whiteSpace=wrap;html=1;dashed=0;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="332" y="500" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-124" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0.5;entryDx=0;entryDy=15;entryPerimeter=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-181" target="jBxjBn0xSni-pHa6JXSc-131">
<mxGeometry relative="1" as="geometry">
<mxPoint x="551.9999999999998" y="790" as="targetPoint" />
<Array as="points">
<mxPoint x="749" y="1020" />
<mxPoint x="500" y="1020" />
</Array>
<mxPoint x="749" y="580" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-182" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-126" target="jBxjBn0xSni-pHa6JXSc-181">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-126" value="Menu Keluhan Pengguna" style="whiteSpace=wrap;html=1;dashed=0;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="688.5" y="500" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-153" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-127" target="jBxjBn0xSni-pHa6JXSc-154">
<mxGeometry relative="1" as="geometry">
<mxPoint x="622.5285714285715" y="580" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-127" value="Menu Profile" style="whiteSpace=wrap;html=1;dashed=0;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="562.5" y="500" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-131" value="Selesai" style="html=1;dashed=0;whiteSpace=wrap;shape=mxgraph.dfd.start;shadow=1;fillColor=#CCFFCC;" vertex="1" parent="1">
<mxGeometry x="460" y="955" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-135" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-136" target="jBxjBn0xSni-pHa6JXSc-115">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-136" value="input email dan password" style="shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;fixedSize=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="450" y="140" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-137" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-138" target="jBxjBn0xSni-pHa6JXSc-139">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-138" value="Dashboard" style="rounded=0;whiteSpace=wrap;html=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="450" y="330" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-139" value="Pilih Menu" style="rounded=0;whiteSpace=wrap;html=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="450" y="420" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-140" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0.5;entryDx=0;entryDy=-15;entryPerimeter=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-141" target="jBxjBn0xSni-pHa6JXSc-131">
<mxGeometry relative="1" as="geometry">
<mxPoint x="362" y="660" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-141" value="Daftar Riwayat Survey" style="rounded=0;whiteSpace=wrap;html=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="332" y="580" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-151" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-149" target="jBxjBn0xSni-pHa6JXSc-150">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-149" value="Lihat daftar pengajuan" style="whiteSpace=wrap;html=1;dashed=0;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="202" y="580" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-163" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-150" target="jBxjBn0xSni-pHa6JXSc-162">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-150" value="&lt;font style=&quot;font-size: 8px;&quot;&gt;Cek&amp;nbsp;&lt;/font&gt;&lt;div&gt;&lt;font style=&quot;font-size: 8px;&quot;&gt;Validasi Data Pengajuan&lt;/font&gt;&lt;/div&gt;" style="rhombus;whiteSpace=wrap;html=1;dashed=0;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="222" y="660" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-180" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-154" target="jBxjBn0xSni-pHa6JXSc-131">
<mxGeometry relative="1" as="geometry">
<mxPoint x="622.4000000000001" y="740" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-154" value="Input Data&amp;nbsp;&lt;div&gt;Terbaru&lt;/div&gt;" style="shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;fixedSize=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="562.5" y="730" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-165" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-162" target="jBxjBn0xSni-pHa6JXSc-164">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-162" value="Proses Persetujuan" style="whiteSpace=wrap;html=1;dashed=0;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="212" y="760" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-167" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-164" target="jBxjBn0xSni-pHa6JXSc-168">
<mxGeometry relative="1" as="geometry">
<mxPoint x="182" y="860" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-169" value="Ditolak" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];shadow=1;fillColor=#99CCFF;" vertex="1" connectable="0" parent="jBxjBn0xSni-pHa6JXSc-167">
<mxGeometry x="-0.2129" y="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-174" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-164" target="jBxjBn0xSni-pHa6JXSc-170">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-175" value="Diterima" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];shadow=1;fillColor=#99CCFF;" vertex="1" connectable="0" parent="jBxjBn0xSni-pHa6JXSc-174">
<mxGeometry x="-0.2682" y="1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-164" value="Status Pengajuan" style="rhombus;whiteSpace=wrap;html=1;dashed=0;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="222" y="820" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-177" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-168" target="jBxjBn0xSni-pHa6JXSc-170">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-168" value="Input Alasan Penolakan" style="shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;fixedSize=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="42" y="830" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-170" value="Notifikasi Dikirim Berdasarkan Hasil Status Pengajuan" style="whiteSpace=wrap;html=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="202" y="940" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-178" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-170" target="jBxjBn0xSni-pHa6JXSc-131">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-183" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0.5;entryDx=0;entryDy=15;entryPerimeter=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="jBxjBn0xSni-pHa6JXSc-126" target="jBxjBn0xSni-pHa6JXSc-181">
<mxGeometry relative="1" as="geometry">
<mxPoint x="500" y="985" as="targetPoint" />
<Array as="points" />
<mxPoint x="749" y="560" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="jBxjBn0xSni-pHa6JXSc-181" value="Daftar keluhan Pengguna" style="whiteSpace=wrap;html=1;dashed=0;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="688.5" y="610" width="120" height="60" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="8JzFzPll2qXJ6hMNd3l_" name="Customer2">
<mxGraphModel dx="3720" dy="1964" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="wwCnqyOLYFwBRt703OWM-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" parent="1" source="wwCnqyOLYFwBRt703OWM-2" target="wwCnqyOLYFwBRt703OWM-35" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="434" y="110" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-2" value="Mulai" style="html=1;dashed=0;whiteSpace=wrap;shape=mxgraph.dfd.start;fillColor=#CCFFCC;shadow=1;" parent="1" vertex="1">
<mxGeometry x="371" y="20" width="146" height="50" as="geometry" />
</mxCell>
<mxCell id="kxp_Y0qWxAa4s0NKsiJD-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="wwCnqyOLYFwBRt703OWM-14" target="kxp_Y0qWxAa4s0NKsiJD-2">
<mxGeometry relative="1" as="geometry">
<mxPoint x="170.1428571428571" y="790" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-14" value="Tambah Pengajuan Pengujian Air" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;shadow=1;" parent="1" vertex="1">
<mxGeometry x="100" y="710" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="wwCnqyOLYFwBRt703OWM-17" target="Rx7DlXicz7otXVTv4Vbu-35">
<mxGeometry relative="1" as="geometry">
<mxPoint x="730" y="870" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-17" value="Tambah Keluhan Baru" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;shadow=1;" parent="1" vertex="1">
<mxGeometry x="670" y="770" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="wwCnqyOLYFwBRt703OWM-18" target="Rx7DlXicz7otXVTv4Vbu-25">
<mxGeometry relative="1" as="geometry">
<mxPoint x="570.1379310344828" y="790" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-18" value="Lihat Data Profile Sekarang" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;shadow=1;" parent="1" vertex="1">
<mxGeometry x="510" y="690" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-22" value="Selesai" style="html=1;dashed=0;whiteSpace=wrap;shape=mxgraph.dfd.start;fillColor=#CCFFCC;shadow=1;" parent="1" vertex="1">
<mxGeometry x="420" y="990" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-37" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shadow=1;fillColor=#99CCFF;" parent="1" source="wwCnqyOLYFwBRt703OWM-35" target="wwCnqyOLYFwBRt703OWM-36" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-35" value="Halaman Login" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;shadow=1;" parent="1" vertex="1">
<mxGeometry x="384" y="110" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-39" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shadow=1;fillColor=#99CCFF;" parent="1" source="wwCnqyOLYFwBRt703OWM-36" target="wwCnqyOLYFwBRt703OWM-38" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="310" y="250" />
<mxPoint x="310" y="250" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-40" value="tidak" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];shadow=1;fillColor=#99CCFF;" parent="wwCnqyOLYFwBRt703OWM-39" vertex="1" connectable="0">
<mxGeometry x="-0.0621" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="ua8jiOvZsM3X96F_plmD-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="wwCnqyOLYFwBRt703OWM-36" target="ua8jiOvZsM3X96F_plmD-5">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ua8jiOvZsM3X96F_plmD-11" value="Iya" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];shadow=1;fillColor=#99CCFF;" vertex="1" connectable="0" parent="ua8jiOvZsM3X96F_plmD-10">
<mxGeometry x="-0.28" y="2" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-36" value="&lt;span style=&quot;font-size: 10px;&quot;&gt;Sudah Punya&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: 10px;&quot;&gt;Akun&lt;/span&gt;&lt;/div&gt;" style="rhombus;whiteSpace=wrap;html=1;fillColor=#99CCFF;dashed=0;shadow=1;" parent="1" vertex="1">
<mxGeometry x="404" y="210" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="ua8jiOvZsM3X96F_plmD-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="wwCnqyOLYFwBRt703OWM-38" target="ua8jiOvZsM3X96F_plmD-1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="wwCnqyOLYFwBRt703OWM-38" value="Halaman Register" style="whiteSpace=wrap;html=1;fillColor=#99CCFF;dashed=0;shadow=1;" parent="1" vertex="1">
<mxGeometry x="220" y="210" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="ua8jiOvZsM3X96F_plmD-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="ua8jiOvZsM3X96F_plmD-1" target="ua8jiOvZsM3X96F_plmD-9">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ua8jiOvZsM3X96F_plmD-1" value="Input Data Form Register" style="shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;fixedSize=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="220" y="340" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="ua8jiOvZsM3X96F_plmD-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="ua8jiOvZsM3X96F_plmD-5" target="ua8jiOvZsM3X96F_plmD-9">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ua8jiOvZsM3X96F_plmD-5" value="Input Data Login" style="shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;fixedSize=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="385.91" y="340" width="116" height="40" as="geometry" />
</mxCell>
<mxCell id="kU1DN-8kzPnJuqPbdXZm-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="ua8jiOvZsM3X96F_plmD-9" target="kU1DN-8kzPnJuqPbdXZm-3">
<mxGeometry relative="1" as="geometry">
<mxPoint x="443.8771929824561" y="530" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ua8jiOvZsM3X96F_plmD-9" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Autentikasi berhasil?&lt;/font&gt;" style="rhombus;whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;shadow=1;" vertex="1" parent="1">
<mxGeometry x="404" y="410" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="kU1DN-8kzPnJuqPbdXZm-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="kU1DN-8kzPnJuqPbdXZm-3" target="kU1DN-8kzPnJuqPbdXZm-4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kU1DN-8kzPnJuqPbdXZm-3" value="Dashboard" style="rounded=0;whiteSpace=wrap;html=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="399.39" y="510" width="89.05" height="40" as="geometry" />
</mxCell>
<mxCell id="m_i1cuFE6RcoGobPc3us-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="kU1DN-8kzPnJuqPbdXZm-4" target="m_i1cuFE6RcoGobPc3us-2">
<mxGeometry relative="1" as="geometry">
<mxPoint x="280" y="630" as="targetPoint" />
<Array as="points">
<mxPoint x="160" y="590" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="kU1DN-8kzPnJuqPbdXZm-4" target="Rx7DlXicz7otXVTv4Vbu-4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="kU1DN-8kzPnJuqPbdXZm-4" target="Rx7DlXicz7otXVTv4Vbu-21">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-30" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="kU1DN-8kzPnJuqPbdXZm-4" target="Rx7DlXicz7otXVTv4Vbu-29">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kU1DN-8kzPnJuqPbdXZm-4" value="Pilih Menu" style="rounded=0;whiteSpace=wrap;html=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="398.96000000000004" y="570" width="90.09" height="40" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="m_i1cuFE6RcoGobPc3us-2" target="wwCnqyOLYFwBRt703OWM-14">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="m_i1cuFE6RcoGobPc3us-2" value="Menu Daftar dan riwayat Pengajuan Pengujian Air" style="rounded=0;whiteSpace=wrap;html=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="100" y="610" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="kxp_Y0qWxAa4s0NKsiJD-2" target="Rx7DlXicz7otXVTv4Vbu-1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kxp_Y0qWxAa4s0NKsiJD-2" value="Input Form&amp;nbsp;&lt;div&gt;Pengujian Air&lt;/div&gt;" style="shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;fixedSize=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="100.00285714285712" y="800" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-1" value="Menunggu Proses Persetujuan Admin" style="whiteSpace=wrap;html=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="100.00285714285712" y="890" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="Rx7DlXicz7otXVTv4Vbu-4" target="Rx7DlXicz7otXVTv4Vbu-13">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-4" value="Menu Survey Kepuasan" style="rounded=0;whiteSpace=wrap;html=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="260" y="610" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="Rx7DlXicz7otXVTv4Vbu-1" target="wwCnqyOLYFwBRt703OWM-22">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="Rx7DlXicz7otXVTv4Vbu-13" target="Rx7DlXicz7otXVTv4Vbu-15">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-13" value="Daftar Riwayat&amp;nbsp;&lt;div&gt;Survey&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="260" y="690" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="Rx7DlXicz7otXVTv4Vbu-15" target="Rx7DlXicz7otXVTv4Vbu-17">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-15" value="Tambah Survey Baru" style="whiteSpace=wrap;html=1;dashed=0;fillColor=#99CCFF;shadow=1;" vertex="1" parent="1">
<mxGeometry x="260" y="770" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-17" value="Input Form&amp;nbsp;&lt;div&gt;Survey&lt;/div&gt;" style="shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;fixedSize=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="260.0028571428571" y="860" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0.5;entryDx=0;entryDy=-15;entryPerimeter=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="Rx7DlXicz7otXVTv4Vbu-17" target="wwCnqyOLYFwBRt703OWM-22">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-23" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="Rx7DlXicz7otXVTv4Vbu-21" target="wwCnqyOLYFwBRt703OWM-18">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-21" value="Menu Edit Profile" style="rounded=0;whiteSpace=wrap;html=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="510" y="610.0028571428571" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="Rx7DlXicz7otXVTv4Vbu-25" target="Rx7DlXicz7otXVTv4Vbu-26">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-25" value="Edit Data Profile" style="rounded=0;whiteSpace=wrap;html=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="509.9979310344828" y="770" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-26" value="Input Data&amp;nbsp;&lt;div&gt;Profile baru&lt;/div&gt;" style="shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;fixedSize=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="510.0028571428571" y="870" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="Rx7DlXicz7otXVTv4Vbu-26" target="wwCnqyOLYFwBRt703OWM-22">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-32" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="Rx7DlXicz7otXVTv4Vbu-29" target="Rx7DlXicz7otXVTv4Vbu-31">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-29" value="Menu Keluhan" style="rounded=0;whiteSpace=wrap;html=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="670" y="610.0028571428571" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="Rx7DlXicz7otXVTv4Vbu-31" target="wwCnqyOLYFwBRt703OWM-17">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-31" value="Daftar Riwayat&amp;nbsp;&lt;div&gt;Keluhan&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="670" y="690" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-35" value="Input Form&amp;nbsp;&lt;div&gt;Keluhan&lt;/div&gt;" style="shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;fixedSize=1;shadow=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="670" y="870" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Rx7DlXicz7otXVTv4Vbu-36" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0.5;entryDx=0;entryDy=15;entryPerimeter=0;shadow=1;fillColor=#99CCFF;" edge="1" parent="1" source="Rx7DlXicz7otXVTv4Vbu-35" target="wwCnqyOLYFwBRt703OWM-22">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -38,7 +38,7 @@ public function dashboard()
$totalServices = Service::count();
// Total pelanggan
$totalCustomers = User::where('role', 'customer')->count();
$totalCustomers = User::where('role', 'pelanggan')->count();
// Total admin
$totalAdmins = User::where('role', 'admin')->count();

View File

@ -0,0 +1,53 @@
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Password;
use Illuminate\Support\Facades\Validator;
class ForgotPasswordController extends Controller
{
public function __construct()
{
$this->middleware('guest');
}
/**
* Menampilkan form lupa password
*/
public function showLinkRequestForm()
{
return view('auth.forgot_password');
}
/**
* Mengirim email reset password
*/
public function sendResetLinkEmail(Request $request)
{
$validator = Validator::make($request->all(), [
'email' => 'required|email|exists:users,email',
], [
'email.required' => 'Email wajib diisi.',
'email.email' => 'Format email tidak valid.',
'email.exists' => 'Email tidak ditemukan dalam sistem kami.',
]);
if ($validator->fails()) {
return back()->withErrors($validator)->withInput();
}
// Mengirim email reset password
$status = Password::sendResetLink(
$request->only('email')
);
if ($status === Password::RESET_LINK_SENT) {
return back()->with('status', 'Link reset password telah dikirim ke email Anda!');
}
return back()->withErrors(['email' => 'Terjadi kesalahan saat mengirim email reset password.']);
}
}

View File

@ -43,7 +43,7 @@ public function login(Request $request)
}
return back()->withErrors([
'email' => 'Kredensial yang Anda berikan tidak cocok dengan data kami.',
'email' => 'Email dan password yang dimasukkan tidak sesuai dengan data kami',
])->withInput($request->only('email'));
}

View File

@ -62,9 +62,7 @@ public function register(Request $request)
'role' => 'pelanggan', // Default role untuk customer
]);
Auth::login($user);
return redirect('/');
return redirect()->route('login')->with('success', 'Pendaftaran berhasil, silakan login.');
}
/**

View File

@ -0,0 +1,81 @@
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Password;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Str;
use App\Models\User;
class ResetPasswordController extends Controller
{
public function __construct()
{
$this->middleware('guest');
}
/**
* Menampilkan form reset password
*/
public function showResetForm(Request $request, $token = null)
{
return view('auth.reset_password')->with([
'token' => $token,
'email' => $request->email
]);
}
/**
* Memproses reset password
*/
public function reset(Request $request)
{
$request->validate([
'token' => 'required',
'email' => 'required|email',
'password' => 'required|min:8|confirmed',
], [
'token.required' => 'Token reset password diperlukan.',
'email.required' => 'Email wajib diisi.',
'email.email' => 'Format email tidak valid.',
'password.required' => 'Password wajib diisi.',
'password.min' => 'Password minimal 8 karakter.',
'password.confirmed' => 'Konfirmasi password tidak sesuai.',
]);
$status = Password::reset(
$request->only('email', 'password', 'password_confirmation', 'token'),
function (User $user, string $password) {
$user->forceFill([
'password' => Hash::make($password)
])->setRememberToken(Str::random(60));
$user->save();
}
);
if ($status === Password::PASSWORD_RESET) {
return redirect()->route('login')->with('status', 'Password berhasil direset! Silakan login dengan password baru Anda.');
}
return back()->withErrors(['email' => $this->getResetErrorMessage($status)]);
}
/**
* Mendapatkan pesan error untuk reset password
*/
private function getResetErrorMessage($status)
{
switch ($status) {
case Password::INVALID_TOKEN:
return 'Token reset password tidak valid.';
case Password::INVALID_USER:
return 'Email tidak ditemukan.';
default:
return 'Terjadi kesalahan saat mereset password.';
}
}
}

View File

@ -17,9 +17,9 @@ class ComplaintController extends Controller
public function index()
{
if (Auth::user()->role === 'admin') {
$complaints = Complaint::paginate(10);
$complaints = Complaint::latest()->get();
} else {
$complaints = Complaint::where('user_id', Auth::id())->latest()->paginate(10);
$complaints = Complaint::where('user_id', Auth::id())->latest()->get();
}
return view('complaints.index', compact('complaints'));
}
@ -175,6 +175,7 @@ public function allPdf(Request $request)
}
$pdf = PDF::loadView('complaints.all-pdf', compact('complaints', 'filters'));
$pdf->setPaper('a4', 'landscape');
return $pdf->download('semua-keluhan.pdf');
}
}

View File

@ -35,7 +35,11 @@ public function update(Request $request)
// Data yang dapat diubah untuk admin
User::where('id', $user->id)->update([
'name' => $request->name
'name' => $request->name,
'email' => $request->email,
'gender' => $request->gender,
'phone' => $request->phone
]);
} else {
// Untuk customer
@ -50,7 +54,10 @@ public function update(Request $request)
User::where('id', $user->id)->update([
'name' => $request->name,
'business_name' => $request->business_name,
'business_address' => $request->business_address
'business_address' => $request->business_address,
'phone' => $request->phone,
'email' => $request->email,
'gender' => $request->gender
]);
}

View File

@ -17,9 +17,9 @@ class SatisfactionController extends Controller
public function index()
{
if (Auth::user()->role === 'admin') {
$satisfactions = Satisfaction::latest()->paginate(10);
$satisfactions = Satisfaction::latest()->get();
} else {
$satisfactions = Satisfaction::where('user_id', Auth::id())->latest()->paginate(10);
$satisfactions = Satisfaction::where('user_id', Auth::id())->latest()->get();
}
return view('satisfactions.index', compact('satisfactions'));
}
@ -205,6 +205,7 @@ public function allPdf(Request $request)
}
$pdf = PDF::loadView('satisfactions.all-pdf', compact('satisfactions', 'filters'));
$pdf->setPaper('a4', 'landscape');
return $pdf->download('semua-penilaian-kepuasan.pdf');
}

View File

@ -74,15 +74,12 @@ public function index(Request $request)
}
if (Auth::user()->role === 'admin') {
$services = $query->latest()->paginate(10);
$services = $query->latest()->get();
} else {
$query->where('user_id', Auth::id());
$services = $query->latest()->paginate(10);
$services = $query->latest()->get();
}
// Simpan parameter filter dalam url pagination
$services->appends(request()->query());
return view('services.index', compact('services'));
}

View File

@ -7,6 +7,7 @@
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens;
use App\Notifications\ResetPasswordNotification;
class User extends Authenticatable
{
@ -65,4 +66,15 @@ public function satisfactions()
{
return $this->hasMany(Satisfaction::class);
}
/**
* Send the password reset notification.
*
* @param string $token
* @return void
*/
public function sendPasswordResetNotification($token)
{
$this->notify(new ResetPasswordNotification($token));
}
}

View File

@ -0,0 +1,125 @@
<?php
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
use Illuminate\Support\Facades\Lang;
class ResetPasswordNotification extends Notification
{
use Queueable;
/**
* The password reset token.
*
* @var string
*/
public $token;
/**
* The callback that should be used to create the reset password URL.
*
* @var \Closure|null
*/
public static $createUrlCallback;
/**
* The callback that should be used to build the mail message.
*
* @var \Closure|null
*/
public static $toMailCallback;
/**
* Create a new notification instance.
*
* @param string $token
* @return void
*/
public function __construct($token)
{
$this->token = $token;
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return ['mail'];
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($notifiable)
{
if (static::$toMailCallback) {
return call_user_func(static::$toMailCallback, $notifiable, $this->token);
}
return $this->buildMailMessage($this->resetUrl($notifiable));
}
/**
* Get the reset password notification mail message for the given URL.
*
* @param string $url
* @return \Illuminate\Notifications\Messages\MailMessage
*/
protected function buildMailMessage($url)
{
return (new MailMessage)
->subject('Reset Password - Syeba Air')
->view('emails.reset_password', ['actionUrl' => $url]);
}
/**
* Get the reset URL for the given notifiable.
*
* @param mixed $notifiable
* @return string
*/
protected function resetUrl($notifiable)
{
if (static::$createUrlCallback) {
return call_user_func(static::$createUrlCallback, $notifiable, $this->token);
}
return url(route('password.reset', [
'token' => $this->token,
'email' => $notifiable->getEmailForPasswordReset(),
], false));
}
/**
* Set a callback that should be used when creating the reset password button URL.
*
* @param \Closure $callback
* @return void
*/
public static function createUrlUsing($callback)
{
static::$createUrlCallback = $callback;
}
/**
* Set a callback that should be used when building the notification mail message.
*
* @param \Closure $callback
* @return void
*/
public static function toMailUsing($callback)
{
static::$toMailCallback = $callback;
}
}

BIN
public/images/logotitle.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
public/images/logotitle.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #9 (SELESAI)
Dicetak pada: 17-05-2025 17:58:43
Informasi Pelanggan syebawardahani
Nama syebwardahani@gmail.com
Email 081235506431
No. HP Polije
Nama Badan Usaha Jl. Mastrip
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan dan Pengujian Contoh Uji
Jenis Permintaan 09 May 2025
Tanggal Uji TDS
Parameter 08 May 2025, 00:07
Waktu Pendaftaran
Air Badan Air
Detail Pengujian 1 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 16 May 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 22.000
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 295.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 SYEBA Air - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #45 (SELESAI)
Dicetak pada: 09-06-2025 01:49:18
Informasi Pelanggan syebawardahani
Nama syebwardahani@gmail.com
Email 081235506431
No. HP Polije
Nama Badan Usaha Jl. Mastrip
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan Contoh Uji
Jenis Permintaan 05 June 2025
Tanggal Uji TDS
Parameter 05 June 2025, 18:47
Waktu Pendaftaran
Air Bersih
Detail Pengujian 2 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 24 June 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 44.000
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 317.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #43 (SELESAI)
Dicetak pada: 09-06-2025 01:49:56
Informasi Pelanggan Husnul Rofiq
Nama rofiq@gmail.com
Email 083191775430
No. HP Rumah Pribadi
Nama Badan Usaha Jl. Walikota Gatot Gg 1
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan Contoh Uji
Jenis Permintaan 02 May 2025
Tanggal Uji Suhu
Parameter 01 June 2025, 19:44
Waktu Pendaftaran
Air Bersih
Detail Pengujian 3 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 22 May 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 10.500
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 283.500
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #42 (SELESAI)
Dicetak pada: 09-06-2025 01:51:20
Informasi Pelanggan ALFAMIDI
Nama midiutama@gmail.com
Email 085253617268
No. HP ALFAMIDI
Nama Badan Usaha Jl. Ahmad Yani No 76-82
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan dan Pengujian Contoh Uji
Jenis Permintaan 09 May 2025
Tanggal Uji Kekeruhan
Parameter 01 June 2025, 19:42
Waktu Pendaftaran
Air Badan Air
Detail Pengujian 3 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 29 May 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 45.000
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 318.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #41 (SELESAI)
Dicetak pada: 09-06-2025 01:51:33
Informasi Pelanggan CV. PAPUA BANGKIT
Nama papuabangkit@gmail.com
Email 081344816038
No. HP CV. PAPUA BANGKIT
Nama Badan Usaha Jl. Lingkar Utara No 108
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan dan Pengujian Contoh Uji
Jenis Permintaan 25 February 2025
Tanggal Uji Besi
Parameter 01 June 2025, 19:38
Waktu Pendaftaran
Air Badan Air
Detail Pengujian 1 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 17 March 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 51.000
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 324.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #40 (SELESAI)
Dicetak pada: 09-06-2025 01:51:47
Informasi Pelanggan ABDUL WAFI
Nama abdulwafi@gmail.com
Email 081339800976
No. HP Rumah Pribadi
Nama Badan Usaha Dsn. Kebun, Desa Sidodadi, Paiton
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan dan Pengujian Contoh Uji
Jenis Permintaan 28 April 2025
Tanggal Uji Nitrat
Parameter 01 June 2025, 19:32
Waktu Pendaftaran
Air Bersih
Detail Pengujian 1 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 16 May 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 32.000
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 305.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #39 (SELESAI)
Dicetak pada: 09-06-2025 01:52:03
Informasi Pelanggan MATAHARI JAYA INTERNASIONAL
Nama mtjaya@gmail.com
Email 089776565443
No. HP MATAHARI JAYA INTERNASIONAL
Nama Badan Usaha Dsn. Bulak , Klakah
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan dan Pengujian Contoh Uji
Jenis Permintaan 30 April 2025
Tanggal Uji Amonia
Parameter 01 June 2025, 19:30
Waktu Pendaftaran
Air Bersih
Detail Pengujian 4 sampel
Pengujian Kualitas Air jarak 100km - 150km
Total Sampel 16 May 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 148.000
Rp 373.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 521.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #38 (SELESAI)
Dicetak pada: 09-06-2025 01:52:19
Informasi Pelanggan CV. SAMUDRA SENTOSA
Nama samudrasentosa@gmail.com
Email 085223118877
No. HP CV. SAMUDRA SENTOSA
Nama Badan Usaha Jl. PPI Mngunharjo
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan Contoh Uji
Jenis Permintaan 08 May 2025
Tanggal Uji Kekeruhan
Parameter 01 June 2025, 19:25
Waktu Pendaftaran
Air Limbah
Detail Pengujian 6 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 28 May 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 90.000
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 363.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #37 (SELESAI)
Dicetak pada: 09-06-2025 01:52:35
Informasi Pelanggan PT. UNGGUL MEGA PERSADA
Nama info@tambang.id
Email 081289401406
No. HP PT. UNGGUL MEGA PERSADA
Nama Badan Usaha Jl. Brantas , Pilang
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan Contoh Uji
Jenis Permintaan 12 May 2025
Tanggal Uji Tembaga
Parameter 01 June 2025, 19:21
Waktu Pendaftaran
Air Limbah
Detail Pengujian 1 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 30 May 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 50.000
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 323.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #36 (SELESAI)
Dicetak pada: 09-06-2025 01:52:49
Informasi Pelanggan PMI
Nama pmikotaprob@gmail.com
Email 08335422518
No. HP PMI
Nama Badan Usaha Jl. Soekarno Hatta
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan Contoh Uji
Jenis Permintaan 07 May 2025
Tanggal Uji Amonia
Parameter 01 June 2025, 19:12
Waktu Pendaftaran
Air Badan Air
Detail Pengujian 1 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 27 May 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 37.000
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 310.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #35 (SELESAI)
Dicetak pada: 09-06-2025 01:53:07
Informasi Pelanggan PT. SEMERU MAKMUR
Nama wsc@mutucertification.com
Email 081352400740
No. HP PT. SEMERU MAKMUR
Nama Badan Usaha Dusun Krajan, Lumajang
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan dan Pengujian Contoh Uji
Jenis Permintaan 21 March 2025
Tanggal Uji Daya Hantar Listrik
Parameter 01 June 2025, 19:06
Waktu Pendaftaran
Air Limbah
Detail Pengujian 3 sampel
Pengujian Kualitas Air jarak 100km - 150km
Total Sampel 10 April 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 37.500
Rp 373.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 410.500
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #34 (SELESAI)
Dicetak pada: 09-06-2025 01:53:33
Informasi Pelanggan Solihin
Nama solihin@gmail.com
Email 089909778654
No. HP TAHU ASRI
Nama Badan Usaha Wonoasih
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan dan Pengujian Contoh Uji
Jenis Permintaan 20 March 2025
Tanggal Uji Mangan
Parameter 28 May 2025, 18:24
Waktu Pendaftaran
Air Badan Air
Detail Pengujian 3 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 09 April 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 158.400
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 431.400
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #33 (SELESAI)
Dicetak pada: 09-06-2025 01:53:54
Informasi Pelanggan KARUNIA ALAM INDOKAYU
Nama karuniaalam@gmail.com
Email (0334) 8828888
No. HP KARUNIA ALAM INDOKAYU
Nama Badan Usaha Jl. Raya Sentul, Ds. Sentul, Sumbersuko
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan dan Pengujian Contoh Uji
Jenis Permintaan 24 March 2025
Tanggal Uji Nitrat
Parameter 28 May 2025, 18:21
Waktu Pendaftaran
Air Limbah
Detail Pengujian 2 sampel
Pengujian Kualitas Air jarak 100km - 150km
Total Sampel 11 April 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 64.000
Rp 373.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 437.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #32 (SELESAI)
Dicetak pada: 09-06-2025 01:54:12
Informasi Pelanggan BFI
Nama pbl@bfi.co.id
Email 082234509094
No. HP BFI
Nama Badan Usaha Pilang, Kademangan. Probolinggo
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan dan Pengujian Contoh Uji
Jenis Permintaan 07 May 2025
Tanggal Uji DO
Parameter 28 May 2025, 18:17
Waktu Pendaftaran
Air Badan Air
Detail Pengujian 7 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 26 May 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 112.000
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 385.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #31 (SELESAI)
Dicetak pada: 09-06-2025 01:54:34
Informasi Pelanggan PT. Green One Biotechnologi
Nama info@gob.com
Email 081216982988
No. HP PT. Green One Biotechnologi
Nama Badan Usaha Dusun Krajan,Desa Banyuglugur, Situbondo
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan Contoh Uji
Jenis Permintaan 25 February 2025
Tanggal Uji Daya Hantar Listrik
Parameter 28 May 2025, 18:15
Waktu Pendaftaran
Air Limbah
Detail Pengujian 5 sampel
Pengujian Kualitas Air jarak 100km - 150km
Total Sampel 17 March 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 62.500
Rp 373.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 435.500
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #30 (SELESAI)
Dicetak pada: 09-06-2025 01:54:50
Informasi Pelanggan KLINIK GRAHA KUMALA
Nama klinik.grhakumala@gmail.com
Email 08113788185
No. HP KLINIK GRAHA KUMALA
Nama Badan Usaha Jl. Panglima Sudirman, No 347, Jati, Kec Mayangan
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan Contoh Uji
Jenis Permintaan 07 April 2025
Tanggal Uji Suhu
Parameter 28 May 2025, 18:10
Waktu Pendaftaran
Air Bersih
Detail Pengujian 4 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 25 April 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 14.000
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 287.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #29 (SELESAI)
Dicetak pada: 09-06-2025 01:55:06
Informasi Pelanggan PT. EAST HOPE
Nama easthope_prb@yahoo.co.id
Email (0335) 7877400
No. HP PT. EAST HOPE
Nama Badan Usaha Desa Bima, Pakuniran
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan dan Pengujian Contoh Uji
Jenis Permintaan 18 April 2025
Tanggal Uji Mangan
Parameter 28 May 2025, 18:08
Waktu Pendaftaran
Air Limbah
Detail Pengujian 4 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 08 May 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 211.200
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 484.200
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #28 (SELESAI)
Dicetak pada: 09-06-2025 01:55:23
Informasi Pelanggan PT. SASA INTI
Nama info@sasainti.co.id
Email (0335) 611651
No. HP PT. SASA INTI
Nama Badan Usaha Jl. Raya Gending KM 12, Kab. Probolinggo
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan dan Pengujian Contoh Uji
Jenis Permintaan 23 April 2025
Tanggal Uji Nitrat
Parameter 28 May 2025, 18:03
Waktu Pendaftaran
Air Limbah
Detail Pengujian 4 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 13 May 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 128.000
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 401.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #27 (SELESAI)
Dicetak pada: 09-06-2025 01:55:38
Informasi Pelanggan PT BEE JAY SEAFOOD
Nama info@beejaychef.id
Email 082111598002
No. HP PT BEE JAY SEAFOOD
Nama Badan Usaha Jl. Tanjung Tembaga Barat
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan dan Pengujian Contoh Uji
Jenis Permintaan 03 April 2025
Tanggal Uji TDS
Parameter 28 May 2025, 17:58
Waktu Pendaftaran
Air Limbah
Detail Pengujian 5 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 23 April 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 110.000
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 383.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #26 (SELESAI)
Dicetak pada: 09-06-2025 01:55:54
Informasi Pelanggan PT AFU BATA RINGAN
Nama info@baturingan.com
Email 089880765154
No. HP PT AFU BATA RINGAN
Nama Badan Usaha Jl. Anggrek No. 28
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan dan Pengujian Contoh Uji
Jenis Permintaan 08 April 2025
Tanggal Uji Besi
Parameter 28 May 2025, 17:55
Waktu Pendaftaran
Air Limbah
Detail Pengujian 3 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 28 April 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 153.000
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 426.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #25 (SELESAI)
Dicetak pada: 09-06-2025 01:56:13
Informasi Pelanggan PT AFU ASBES
Nama info@gocement.com
Email 081132299201
No. HP PT AFU ASBES
Nama Badan Usaha Jl. Anggrek No. 2
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan dan Pengujian Contoh Uji
Jenis Permintaan 17 February 2025
Tanggal Uji Besi
Parameter 28 May 2025, 17:51
Waktu Pendaftaran
Air Limbah
Detail Pengujian 2 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 07 March 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 102.000
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 375.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #24 (SELESAI)
Dicetak pada: 09-06-2025 01:56:31
Informasi Pelanggan PERUSAHAAN SUSU SUMBER HIDUP
Nama sususumberhidup@gmail.com
Email 081334774455
No. HP PERUSAHAAN SUSU SUMBER HIDUP
Nama Badan Usaha Jl. Panglima Sudirman No. 14
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan Contoh Uji
Jenis Permintaan 12 February 2025
Tanggal Uji TDS
Parameter 28 May 2025, 17:48
Waktu Pendaftaran
Air Badan Air
Detail Pengujian 3 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 04 March 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 66.000
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 339.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #23 (SELESAI)
Dicetak pada: 09-06-2025 01:56:51
Informasi Pelanggan RS. DHARMA HUSADA
Nama rs.dharma_husada@yahoo
Email (0335)422177
No. HP RS. DHARMA HUSADA
Nama Badan Usaha Jl. Soekarno Hatta No. 10
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan dan Pengujian Contoh Uji
Jenis Permintaan 09 May 2025
Tanggal Uji pH
Parameter 28 May 2025, 17:44
Waktu Pendaftaran
Air Bersih
Detail Pengujian 4 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 29 May 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 42.000
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 315.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #22 (SELESAI)
Dicetak pada: 09-06-2025 01:57:07
Informasi Pelanggan RSIA. MUHAMMADIYAH
Nama rsabm_probolinggo@yahoo.com
Email 0335 431116
No. HP RSIA. MUHAMMADIYAH
Nama Badan Usaha Jl. Panglima Sudirman No. 65
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan Contoh Uji
Jenis Permintaan 05 March 2025
Tanggal Uji DO
Parameter 28 May 2025, 17:21
Waktu Pendaftaran
Air Bersih
Detail Pengujian 6 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 25 March 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 96.000
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 369.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #21 (SELESAI)
Dicetak pada: 09-06-2025 01:57:23
Informasi Pelanggan RSIA. AMANAH
Nama info@rsiaamanah.id
Email 08335423487
No. HP RSIA. AMANAH
Nama Badan Usaha Jl. Dr. Moh Saleh
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan Contoh Uji
Jenis Permintaan 03 February 2025
Tanggal Uji Suhu
Parameter 28 May 2025, 17:16
Waktu Pendaftaran
Air Bersih
Detail Pengujian 6 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 21 February 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 21.000
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 294.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #20 (SELESAI)
Dicetak pada: 09-06-2025 01:57:39
Informasi Pelanggan PT. SOUTHERN MARINE PRODUCT
Nama southermp18@gmail.com
Email 08335422777
No. HP PT. SOUTHERN MARINE PRODUCT
Nama Badan Usaha Jl. Brantas No 2
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan Contoh Uji
Jenis Permintaan 22 January 2025
Tanggal Uji Nitrat
Parameter 28 May 2025, 17:13
Waktu Pendaftaran
Air Badan Air
Detail Pengujian 6 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 11 February 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 192.000
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 465.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #19 (SELESAI)
Dicetak pada: 09-06-2025 01:57:55
Informasi Pelanggan PT. PUTRA TEJA SEMPURNA
Nama info@putratejasempurna.com
Email 08317344860
No. HP PT. PUTRA TEJA SEMPURNA
Nama Badan Usaha Jl. Sbya-Probolinngo
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan dan Pengujian Contoh Uji
Jenis Permintaan 16 January 2025
Tanggal Uji BOD
Parameter 28 May 2025, 17:10
Waktu Pendaftaran
Air Limbah
Detail Pengujian 1 sampel
Pengujian Kualitas Air jarak 100km - 150km
Total Sampel 05 February 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 40.000
Rp 373.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 413.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #18 (SELESAI)
Dicetak pada: 09-06-2025 01:58:17
Informasi Pelanggan PT. RIMBA SEMPANA IINDONESIA
Nama info@rimbasempana.com
Email 08335422823
No. HP PT. RIMBA SEMPANA IINDONESIA
Nama Badan Usaha Jl. Brantas
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan Contoh Uji
Jenis Permintaan 05 February 2025
Tanggal Uji Mangan
Parameter 28 May 2025, 17:06
Waktu Pendaftaran
Air Bersih
Detail Pengujian 2 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 25 February 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 105.600
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 378.600
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #17 (SELESAI)
Dicetak pada: 09-06-2025 01:58:33
Informasi Pelanggan Andre Soesanto
Nama andreesoesanto@gmail.com
Email 081252512999
No. HP PT. SUMBER SETIA JAYA ABADI
Nama Badan Usaha Jl. Brantas, Pilang, Kec., Kademangan, Kota Probolinggo,
Alamat Badan Usaha 67221, Jawa Timur (East), Indonesia
Informasi Permintaan Selesai
Status
Jenis Permintaan Pengambilan dan Pengujian Contoh Uji
Tanggal Uji 14 January 2025
Parameter pH
Waktu Pendaftaran 28 May 2025, 17:01
Detail Pengujian Air Badan Air
Pengujian Kualitas Air 4 sampel
Total Sampel jarak < 100km
Jarak Pengambilan Sampel 03 February 2025
Tanggal Selesai Uji
Rp 42.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak Rp 273.000
Total Biaya Retribusi Rp 315.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #16 (SELESAI)
Dicetak pada: 09-06-2025 01:58:49
Informasi Pelanggan PT. KERAMIK PAOLO JAYA
Nama keramik88@gmail.com
Email 0811301103
No. HP PT. KERAMIK PAOLO JAYA
Nama Badan Usaha Jl. Brantas No. 46
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan dan Pengujian Contoh Uji
Jenis Permintaan 13 January 2025
Tanggal Uji Amonia
Parameter 28 May 2025, 16:57
Waktu Pendaftaran
Air Bersih
Detail Pengujian 2 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 31 January 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 74.000
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 347.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,32 @@
LAYANAN PENGUJIAN AIR #15 (SELESAI)
Dicetak pada: 09-06-2025 01:59:06
Informasi Pelanggan PT. PAMOLITE ADHESIVE INDUSTRY
Nama Pamolite@gmail.com
Email 0335 421844
No. HP PT. PAMOLITE ADHESIVE INDUSTRY
Nama Badan Usaha Jl. Brantas KM 1
Alamat Badan Usaha
Selesai
Informasi Permintaan
Status Pengambilan Contoh Uji
Jenis Permintaan 08 January 2025
Tanggal Uji TDS
Parameter 28 May 2025, 16:39
Waktu Pendaftaran
Air Limbah
Detail Pengujian 3 sampel
Pengujian Kualitas Air jarak < 100km
Total Sampel 28 January 2025
Jarak Pengambilan Sampel
Tanggal Selesai Uji Rp 66.000
Rp 273.000
Informasi Biaya
Biaya Retribusi Parameter
Biaya Retribusi Jarak
Total Biaya Retribusi Rp 339.000
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air

View File

@ -0,0 +1,52 @@
DAFTAR PENILAIAN KEPUASAN PELANGGAN
Dicetak pada: 05-06-2025 18:58:00
Daftar Penilaian
No Nama Tanggal Pengisian Nilai Rata-rata Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15
05 Jun 2025 1.9
1 syebawardahani 05 Jun 2025 4.1 5 2 1 1 1 2 1 2 1 2 2 1 2 2 4
05 Jun 2025 4.1
2 syebawardahani 05 Jun 2025 3.6 5 4 4 4 3 4 5 4 4 4 3 4 4 4 5
05 Jun 2025 4.3
3 syebawardahani 05 Jun 2025 4.0 5 4 4 4 5 4 4 4 4 5 4 4 4 4 3
05 Jun 2025 3.9
4 syebawardahani 05 Jun 2025 3.4 4 2 2 3 3 3 2 5 5 3 4 4 4 5 5
05 Jun 2025 3.8
5 syebawardahani 05 Jun 2025 4.3 4 4 5 4 4 5 4 4 5 4 5 4 5 4 4
05 Jun 2025 4.1
6 syebawardahani 01 Jun 2025 3.9 5 5 4 4 4 4 5 4 3 4 3 4 4 3 4
7 syebawardahani 4 4 4 5 3 4 4 4 4 4 3 4 4 4 4
8 syebawardahani 5 4 4 3 4 5 4 4 4 3 2 1 2 3 3
9 syebawardahani 5 5 5 5 3 3 4 4 3 3 4 3 4 3 3
10 syebawardahani 5 5 4 5 5 5 5 5 2 3 4 5 4 4 4
11 syebawardahani 5 4 5 5 3 4 4 3 4 5 4 4 4 3 4
12 PMI 4 4 4 3 4 4 3 4 3 4 4 4 4 4 5
Ringkasan
Total Penilaian 12
Rata-rata Keseluruhan 3.79
Nilai Tertinggi 4.33
Nilai Terendah 1.93
Jumlah Penilaian Sangat Baik (>=4) 6
Jumlah Penilaian Baik (>=3) 5
Jumlah Penilaian Cukup (>=2) 0
Jumlah Penilaian Kurang (2) 1
Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.
© 2025 UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Laporan Penilaian Kepuasan Pelanggan

View File

@ -8,7 +8,7 @@
<meta content="UPTD. LABLING DLH KOTA PROBOLINGGO" name="author" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!-- App favicon -->
<link rel="shortcut icon" href="{{ asset('images/logo2.png') }}">
<link rel="shortcut icon" href="{{ asset('images/logotitle.png') }}">
<!-- Datatables css -->
<link href="{{ asset('DB/assets/libs/datatables/dataTables.bootstrap4.css') }}" rel="stylesheet" type="text/css" />

View File

@ -8,7 +8,7 @@
<ul class="metismenu" id="side-menu">
<li class="menu-title">Navigation</li>
<li class="menu-title">Menu</li>
@can('customer')
<li>

View File

@ -56,8 +56,15 @@
<div class="form-group">
<label for="password">Password <span class="text-danger">*</span></label>
<input type="password" class="form-control @error('password') is-invalid @enderror"
id="password" name="password" required>
<div class="input-group">
<input type="password" class="form-control @error('password') is-invalid @enderror"
id="password" name="password" required>
<div class="input-group-append">
<button class="btn btn-secondary toggle-password" type="button" data-target="password">
<i class="mdi mdi-eye"></i>
</button>
</div>
</div>
@error('password')
<div class="invalid-feedback">
{{ $message }}
@ -67,8 +74,15 @@
<div class="form-group">
<label for="password_confirmation">Konfirmasi Password <span class="text-danger">*</span></label>
<input type="password" class="form-control"
id="password_confirmation" name="password_confirmation" required>
<div class="input-group">
<input type="password" class="form-control"
id="password_confirmation" name="password_confirmation" required>
<div class="input-group-append">
<button class="btn btn-secondary toggle-password" type="button" data-target="password_confirmation">
<i class="mdi mdi-eye"></i>
</button>
</div>
</div>
</div>
<div class="form-group text-right mb-0">
@ -79,4 +93,24 @@
</div>
</div>
</div>
@endsection
@section('scripts')
<script>
$(document).ready(function() {
$('.toggle-password').click(function() {
var target = $(this).data('target');
var input = $('#' + target);
var icon = $(this).find('i');
if (input.attr('type') === 'password') {
input.attr('type', 'text');
icon.removeClass('mdi-eye').addClass('mdi-eye-off');
} else {
input.attr('type', 'password');
icon.removeClass('mdi-eye-off').addClass('mdi-eye');
}
});
});
</script>
@endsection

View File

@ -179,7 +179,7 @@
<table class="table table-hover table-centered m-0">
<thead>
<tr>
<th>ID</th>
<th>No</th>
<th>Pelanggan</th>
<th>Jenis Permintaan</th>
<th>Pengujian</th>
@ -190,7 +190,7 @@
<tbody>
@foreach($latestServices as $service)
<tr>
<td>{{ $service->id }}</td>
<td>{{ $loop->iteration }}</td>
<td>{{ $service->user->name }}</td>
<td>{{ $service->jenis_permintaan }}</td>
<td>{{ $service->pengujian_kualitas_air }}</td>

View File

@ -0,0 +1,45 @@
@extends('layouts.auth')
@section('title', 'Lupa Password')
@section('content')
<h2 class="auth-title">LUPA PASSWORD</h2>
@if (session('status'))
<div class="alert alert-success">
{{ session('status') }}
</div>
@endif
@if ($errors->any())
<div class="alert alert-danger">
@foreach ($errors->all() as $error)
<div>{{ $error }}</div>
@endforeach
</div>
@endif
<p class="text-muted mb-4">
Masukkan email Anda dan kami akan mengirimkan link untuk mereset password.
</p>
<form method="POST" action="{{ route('password.email') }}">
@csrf
<div class="mb-3">
<input type="email" class="form-control @error('email') is-invalid @enderror"
placeholder="Masukkan E-mail Anda" name="email" value="{{ old('email') }}" required autofocus>
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<button type="submit" class="btn btn-auth">KIRIM LINK RESET</button>
</form>
<div class="auth-footer">
Ingat password Anda? <a href="{{ route('login') }}">Login</a>
</div>
@endsection

View File

@ -5,6 +5,13 @@
@section('content')
<h2 class="auth-title">LOGIN</h2>
@if(session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
@if (session('error'))
<div class="alert alert-danger">
{{ session('error') }}
@ -41,6 +48,10 @@
<button type="submit" class="btn btn-auth">LOGIN</button>
</form>
<div class="text-center mb-3">
<a href="{{ route('password.request') }}" class="text-decoration-none">Lupa Password?</a>
</div>
<div class="auth-footer">
Belum Punya akun? <a href="{{ route('register') }}">Daftar</a>
</div>

View File

@ -36,7 +36,8 @@
<div class="mb-3">
<input type="text" class="form-control @error('phone') is-invalid @enderror"
placeholder="Masukkan Nomor HP Anda" name="phone" value="{{ old('phone') }}" required>
placeholder="Masukkan Nomor HP Anda" name="phone" value="{{ old('phone') }}"
required oninput="this.value = this.value.replace(/[^0-9]/g, '')" maxlength="15">
@error('phone')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>

View File

@ -0,0 +1,65 @@
@extends('layouts.auth')
@section('title', 'Reset Password')
@section('content')
<h2 class="auth-title">RESET PASSWORD</h2>
@if ($errors->any())
<div class="alert alert-danger">
@foreach ($errors->all() as $error)
<div>{{ $error }}</div>
@endforeach
</div>
@endif
<form method="POST" action="{{ route('password.update') }}">
@csrf
<input type="hidden" name="token" value="{{ $token }}">
<div class="mb-3">
<input type="email" class="form-control @error('email') is-invalid @enderror"
placeholder="E-mail Anda" name="email" value="{{ $email ?? old('email') }}" required readonly>
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="mb-3 position-relative">
<input type="password" class="form-control @error('password') is-invalid @enderror"
placeholder="Password Baru" name="password" id="password" required>
<span class="position-absolute top-50 end-0 translate-middle-y me-2 password-toggle"
onclick="togglePassword('password')" style="cursor: pointer;">
<i class="bi bi-eye-slash" id="password-icon"></i>
</span>
@error('password')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="mb-3 position-relative">
<input type="password" class="form-control @error('password_confirmation') is-invalid @enderror"
placeholder="Konfirmasi Password Baru" name="password_confirmation" id="password_confirmation" required>
<span class="position-absolute top-50 end-0 translate-middle-y me-2 password-toggle"
onclick="togglePassword('password_confirmation')" style="cursor: pointer;">
<i class="bi bi-eye-slash" id="password_confirmation-icon"></i>
</span>
@error('password_confirmation')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<button type="submit" class="btn btn-auth">RESET PASSWORD</button>
</form>
<div class="auth-footer">
Ingat password Anda? <a href="{{ route('login') }}">Login</a>
</div>
@endsection

View File

@ -152,7 +152,7 @@
<div class="footer">
<p>Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.</p>
<p>© {{ date('Y') }} SYEBA Air - Laporan Keluhan Pelanggan</p>
<p>© {{ date('Y') }} UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Laporan Keluhan Pelanggan</p>
</div>
</body>
</html>

View File

@ -44,9 +44,9 @@
@can('admin')
<div class="col-sm-8">
<div class="float-right">
<button type="button" class="btn btn-info mb-2" data-toggle="collapse" data-target="#filterForm">
{{-- <button type="button" class="btn btn-info mb-2" data-toggle="collapse" data-target="#filterForm">
<i class="fe-filter"></i> Filter
</button>
</button> --}}
<button type="button" class="btn btn-danger mb-2 ml-1" onclick="cetakPDF()">
<i class="far fa-file-pdf"></i> Cetak PDF
</button>
@ -129,7 +129,7 @@ function cetakPDF() {
<tbody>
@foreach($complaints as $index => $complaint)
<tr>
<td>{{ $index + $complaints->firstItem() }}</td>
<td>{{ $loop->iteration }}</td>
<td>{{ $complaint->jenis_layanan }}</td>
<td>{{ \Carbon\Carbon::parse($complaint->tanggal_keluhan)->format('d-m-Y') }}</td>
<td>{{ $complaint->created_at->format('d-m-Y H:i') }}</td>
@ -157,9 +157,9 @@ function cetakPDF() {
</table>
</div>
<div class="pagination justify-content-center mt-3">
{{-- <div class="pagination justify-content-center mt-3">
{{ $complaints->links() }}
</div>
</div> --}}
@if($complaints->count() == 0)
<div class="text-center mt-3">

View File

@ -124,7 +124,7 @@
<div class="footer">
<p>Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.</p>
<p>© {{ date('Y') }} SYEBA Air - Laporan Keluhan Pelanggan</p>
<p>© {{ date('Y') }} UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Laporan Keluhan Pelanggan</p>
</div>
</body>
</html>

View File

@ -27,19 +27,15 @@
<div class="row">
<div class="col-md-12">
<div class="d-flex justify-content-between mb-4">
<h4>Informasi Keluhan #{{ $complaint->id }}</h4>
<h4>Informasi Keluhan</h4>
<div>
@can('customer')
<a href="{{ route('complaints.edit', $complaint->id) }}" class="btn btn-primary btn-sm mr-1">
<i class="fe-edit"></i> Edit
</a>
<form action="{{ route('complaints.destroy', $complaint->id) }}" method="POST" class="d-inline" onsubmit="return confirm('Anda yakin ingin menghapus data ini?');">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger btn-sm">
<i class="fe-trash"></i> Hapus
</button>
</form>
<button type="button" class="btn btn-danger btn-sm" onclick="confirmDelete('{{ route('complaints.destroy', $complaint->id) }}')">
<i class="fe-trash"></i> Hapus
</button>
@endcan
</div>
</div>
@ -150,4 +146,7 @@
</div>
</div>
</div>
<!-- Sertakan Modal Konfirmasi Hapus -->
@include('layouts.delete-modal')
@endsection

View File

@ -24,7 +24,7 @@
<p class="text-muted mb-3 font-16">
Sistem ini memungkinkan Anda melakukan permintaan pengambilan dan pengujian sampel air.
Kami siap melayani Anda dengan profesional dan memberikan hasil uji yang akurat.
Setelah pendaftaran uji kualitas air, kami akan menginformasikan lebih lanjut mengenai proses pengujian paling lambat 3 hari kerja.
Setelah pendaftaran uji kualitas air, kami akan menginformasikan tindak lanjut terkait informasi pelayanan paling lambat 3 hari kerja.
</p>
<p class="text-muted mb-4">
Profil Anda telah terdaftar sebagai:
@ -75,7 +75,7 @@
<p class="text-muted mb-3">Layanan</p>
</div>
<div class="progress progress-bar-alt-info progress-sm">
<div class="progress-bar bg-info" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%;">
<div class="progress-bar bg-info" role="progressbar" aria-valuenow="{{ $totalServices > 0 ? 100 : 0 }}" aria-valuemin="0" aria-valuemax="100" style="width: {{ $totalServices > 0 ? '100%' : '0%' }};">
</div>
</div>
</div>
@ -160,7 +160,7 @@
<table class="table table-hover table-centered m-0">
<thead>
<tr>
<th>ID</th>
<th>No</th>
<th>Jenis Permintaan</th>
<th>Tanggal Uji</th>
<th>Jenis Pengujian</th>
@ -172,7 +172,7 @@
<tbody>
@forelse($latestServices as $service)
<tr>
<td># {{ $service->id }}</td>
<td>{{ $loop->iteration }}</td>
<td>{{ $service->jenis_permintaan }}</td>
<td>{{ \Carbon\Carbon::parse($service->tanggal_uji)->format('d M Y') }}</td>
<td>{{ $service->pengujian_kualitas_air }}</td>

View File

@ -0,0 +1,105 @@
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Reset Password - Syeba Air</title>
<style>
body {
font-family: Arial, sans-serif;
line-height: 1.6;
color: #333;
max-width: 600px;
margin: 0 auto;
padding: 20px;
background-color: #f4f4f4;
}
.container {
background-color: #ffffff;
padding: 30px;
border-radius: 10px;
box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
.header {
text-align: center;
margin-bottom: 30px;
}
.logo {
font-size: 24px;
font-weight: bold;
color: #28a745;
margin-bottom: 10px;
}
.title {
font-size: 20px;
margin-bottom: 20px;
color: #333;
}
.content {
margin-bottom: 30px;
}
.button {
display: inline-block;
padding: 12px 30px;
background-color: #28a745;
color: #ffffff;
text-decoration: none;
border-radius: 5px;
font-weight: bold;
text-align: center;
margin: 20px 0;
}
.button:hover {
background-color: #125522;
}
.footer {
margin-top: 30px;
padding-top: 20px;
border-top: 1px solid #eee;
font-size: 14px;
color: #666;
text-align: center;
}
.warning {
background-color: #fff3cd;
border: 1px solid #ffeaa7;
color: #856404;
padding: 15px;
border-radius: 5px;
margin: 20px 0;
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<div class="logo">UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo</div>
<h1 class="title">Reset Password</h1>
</div>
<div class="content">
<p>Halo,</p>
<p>Kami menerima permintaan untuk mereset password akun Anda. Jika Anda yang melakukan permintaan ini, silakan klik tombol di bawah untuk mereset password Anda:</p>
<div style="text-align: center;">
<a href="{{ $actionUrl }}" class="button" style="color: #ffffff;">RESET PASSWORD</a>
</div>
<div class="warning">
<strong>Penting:</strong> Link ini akan kadaluarsa dalam 60 menit untuk keamanan akun Anda.
</div>
<p>Jika tombol di atas tidak berfungsi, Anda dapat menyalin dan menempelkan URL berikut ke browser Anda:</p>
<p style="word-break: break-all; color: #28a745;">{{ $actionUrl }}</p>
<p>Jika Anda tidak meminta reset password, silakan abaikan email ini. Password Anda tidak akan berubah.</p>
</div>
<div class="footer">
<p>Email ini dikirim secara otomatis, mohon jangan membalas email ini.</p>
<p>&copy; {{ date('Y') }} UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo. Semua hak dilindungi.</p>
</div>
</div>
</body>
</html>

View File

@ -11,7 +11,7 @@
<meta content="UPTD. LABLING DLH KOTA PROBOLINGGO" name="author" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!-- App favicon -->
<link rel="shortcut icon" href="{{ asset('images/logo2.png') }}">
<link rel="shortcut icon" href="{{ asset('images/logotitle.png') }}">
<style>
body {
background-color: #f5f5f5;
@ -28,7 +28,7 @@
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.auth-sidebar {
background-color: #28a745;
background-color: #44d651;
color: white;
padding: 30px 20px;
text-align: center;
@ -62,7 +62,7 @@
}
.auth-title {
text-align: center;
color: #28a745;
color: #44d651;
margin-bottom: 30px;
font-weight: bold;
}
@ -71,7 +71,7 @@
margin-bottom: 15px;
}
.btn-auth {
background-color: #28a745;
background-color: #44d651;
color: white;
border: none;
border-radius: 0;
@ -89,7 +89,7 @@
font-size: 0.9rem;
}
.auth-footer a {
color: #28a745;
color: #44d651;
text-decoration: none;
}
.password-toggle {

View File

@ -38,27 +38,27 @@
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="email" class="form-control"
id="email" value="{{ $user->email }}" readonly disabled>
<small class="form-text text-muted">Email tidak dapat diubah.</small>
<label for="email">Email <span class="text-danger">*</span></label>
<input name="email" type="email" class="form-control"
id="email" value="{{ $user->email }}" >
</div>
@if($user->role === 'admin')
<div class="form-group">
<label for="gender">Jenis Kelamin</label>
<input type="text" class="form-control"
id="gender" value="{{ $user->gender }}" readonly disabled>
<small class="form-text text-muted">Jenis kelamin tidak dapat diubah.</small>
<select name="gender" class="form-control" id="gender">
<option value="Laki-laki" {{ $user->gender == 'Laki-laki' ? 'selected' : '' }}>Laki-laki</option>
<option value="Perempuan" {{ $user->gender == 'Perempuan' ? 'selected' : '' }}>Perempuan</option>
</select>
</div>
@endif
@if($user->role === 'pelanggan')
<div class="form-group">
<label for="phone">Nomor Telepon</label>
<input type="text" class="form-control"
id="phone" value="{{ $user->phone }}" readonly disabled>
<small class="form-text text-muted">Nomor telepon tidak dapat diubah.</small>
<label for="phone">Nomor Telepon <span class="text-danger">*</span></label>
<input name="phone" type="text" class="form-control"
id="phone" value="{{ $user->phone }}"
oninput="this.value = this.value.replace(/[^0-9]/g, '')"
maxlength="15" placeholder="Masukkan hanya angka">
</div>
<div class="form-group">

View File

@ -197,7 +197,7 @@
<div class="footer">
<p>Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.</p>
<p>© {{ date('Y') }} SYEBA Air - Laporan Penilaian Kepuasan Pelanggan</p>
<p>© {{ date('Y') }} UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Laporan Penilaian Kepuasan Pelanggan</p>
</div>
</body>
</html>

View File

@ -53,9 +53,9 @@
@can('admin')
<div class="col-sm-8">
<div class="float-right">
<button type="button" class="btn btn-info mb-2" data-toggle="collapse" data-target="#filterForm">
{{-- <button type="button" class="btn btn-info mb-2" data-toggle="collapse" data-target="#filterForm">
<i class="fe-filter"></i> Filter
</button>
</button> --}}
<button type="button" class="btn btn-danger mb-2 ml-1" onclick="cetakPDF()">
<i class="far fa-file-pdf"></i> Cetak PDF
</button>
@ -157,7 +157,7 @@ function cetakPDF() {
<tbody>
@foreach($satisfactions as $index => $satisfaction)
<tr>
<td>{{ $index + $satisfactions->firstItem() }}</td>
<td>{{ $loop->iteration }}</td>
<td>{{ $satisfaction->created_at->format('d-m-Y H:i') }}</td>
<td>
<span class="badge {{ $satisfaction->average_score >= 4 ? 'badge-success' : ($satisfaction->average_score >= 3 ? 'badge-info' : 'badge-danger') }}">
@ -188,9 +188,9 @@ function cetakPDF() {
</table>
</div>
<div class="pagination justify-content-center mt-3">
{{-- <div class="pagination justify-content-center mt-3">
{{ $satisfactions->links() }}
</div>
</div> --}}
@if($satisfactions->count() == 0)
<div class="text-center mt-3">

View File

@ -222,7 +222,7 @@
<div class="footer">
<p>Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.</p>
<p>© {{ date('Y') }} SYEBA Air - Laporan Penilaian Kepuasan Pelanggan</p>
<p>© {{ date('Y') }} UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Laporan Penilaian Kepuasan Pelanggan</p>
</div>
</body>
</html>

View File

@ -79,10 +79,10 @@
</div>
<div class="card-body">
<table class="table table-borderless">
<tr>
{{-- <tr>
<th style="width: 40%;">ID Penilaian</th>
<td># {{ $satisfaction->id }}</td>
</tr>
</tr> --}}
<tr>
<th>Tanggal Pengisian</th>
<td>{{ $satisfaction->created_at->format('d F Y, H:i') }}</td>
@ -288,11 +288,9 @@
<a href="{{ route('satisfactions.index') }}" class="btn btn-secondary">Kembali</a>
@can('customer')
<a href="{{ route('satisfactions.edit', $satisfaction->id) }}" class="btn btn-primary ml-2">Edit</a>
<form action="{{ route('satisfactions.destroy', $satisfaction->id) }}" method="POST" class="d-inline" onsubmit="return confirm('Anda yakin ingin menghapus data ini?');">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger ml-2">Hapus</button>
</form>
<button type="button" class="btn btn-danger ml-2" onclick="confirmDelete('{{ route('satisfactions.destroy', $satisfaction->id) }}')">
<i class="fe-trash"></i> Hapus
</button>
@endcan
</div>
</div>
@ -301,4 +299,7 @@
</div>
</div>
</div>
<!-- Sertakan Modal Konfirmasi Hapus -->
@include('layouts.delete-modal')
@endsection

View File

@ -181,7 +181,7 @@
<div class="footer">
<p>Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.</p>
<p>© {{ date('Y') }} SYEBA Air - Laporan Layanan Pengujian Air</p>
<p>© {{ date('Y') }} UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Laporan Layanan Pengujian Air</p>
</div>
</body>
</html>

View File

@ -79,7 +79,7 @@
</div>
<div class="col-md-3">
<div class="form-group">
<label for="tanggal_mulai">Tanggal Mulai</label>
<label for="tanggal_mulai">Tanggal Uji</label>
<input type="date" name="tanggal_mulai" id="tanggal_mulai" class="form-control" value="{{ request('tanggal_mulai') }}">
</div>
</div>
@ -286,9 +286,9 @@ function cetakPDF() {
</table>
</div>
<div class="mt-3">
{{-- <div class="mt-3">
{{ $services->links() }}
</div>
</div> --}}
</div>
</div>
</div>

View File

@ -227,7 +227,7 @@
<div class="footer">
<p>Dokumen ini diterbitkan secara elektronik dan tidak memerlukan tanda tangan.</p>
<p>© {{ date('Y') }} SYEBA Air - Dokumen Layanan Pengujian Air</p>
<p>© {{ date('Y') }} UPTD Laboratorium Lingkungan Pada Dinas Lingkungan Hidup Kota Probolinggo - Dokumen Layanan Pengujian Air</p>
</div>
</body>
</html>

View File

@ -28,18 +28,16 @@
<div class="col-md-12 mb-3">
<div class="d-flex justify-content-between align-items-center">
<h5 class="card-title">Informasi Layanan</h5>
@can('admin')
<div>
<a href="{{ route('services.edit', $service->id) }}" class="btn btn-primary btn-sm me-1">
<i class="fe-edit"></i> Edit
</a>
<form action="{{ route('services.destroy', $service->id) }}" method="POST" class="d-inline" onsubmit="return confirm('Apakah Anda yakin ingin menghapus layanan ini?')">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger btn-sm">
<i class="fe-trash-2"></i> Hapus
</button>
</form>
<button type="button" class="btn btn-danger btn-sm" onclick="confirmDelete('{{ route('services.destroy', $service->id) }}')">
<i class="fe-trash-2"></i> Hapus
</button>
</div>
@endcan
</div>
<hr>
</div>
@ -195,10 +193,15 @@
<div class="card border">
<div class="card-body">
<h5 class="card-title">Hasil Uji</h5>
<p>File hasil uji telah tersedia dan dapat diunduh melalui tautan di bawah ini:</p>
<a href="{{ asset('uploads/hasil_uji/'.$service->file_hasil_uji) }}" class="btn btn-success" target="_blank">
<i class="fe-download"></i> Unduh Hasil Uji
</a>
<p>File hasil uji telah tersedia dan dapat dilihat melalui tautan di bawah ini:</p>
<div class="btn-group">
<a href="{{ asset('uploads/hasil_uji/'.$service->file_hasil_uji) }}" class="btn btn-success" target="_blank">
<i class="fe-eye"></i> Lihat Hasil Uji
</a>
<a href="{{ asset('uploads/hasil_uji/'.$service->file_hasil_uji) }}" class="btn btn-primary" download>
<i class="fe-download"></i> Unduh Hasil Uji
</a>
</div>
</div>
</div>
</div>
@ -237,4 +240,7 @@
</div>
</div>
</div>
<!-- Sertakan Modal Konfirmasi Hapus -->
@include('layouts.delete-modal')
@endsection

View File

@ -6,6 +6,8 @@
use App\Http\Controllers\SatisfactionController;
use App\Http\Controllers\Auth\LoginController;
use App\Http\Controllers\Auth\RegisterController;
use App\Http\Controllers\Auth\ForgotPasswordController;
use App\Http\Controllers\Auth\ResetPasswordController;
use App\Http\Controllers\Admin\AdminController;
use App\Http\Controllers\ProfileController;
use App\Http\Controllers\CustomerController;
@ -43,6 +45,14 @@
// Register Customer
Route::get('/register', [RegisterController::class, 'showRegistrationForm'])->name('register');
Route::post('/register', [RegisterController::class, 'register']);
// Forgot Password
Route::get('/forgot-password', [ForgotPasswordController::class, 'showLinkRequestForm'])->name('password.request');
Route::post('/forgot-password', [ForgotPasswordController::class, 'sendResetLinkEmail'])->name('password.email');
// Reset Password
Route::get('/reset-password/{token}', [ResetPasswordController::class, 'showResetForm'])->name('password.reset');
Route::post('/reset-password', [ResetPasswordController::class, 'reset'])->name('password.update');
});
// Logout