Files
flowgorithm/MG5_n2.fprg
2026-03-12 04:15:07 +00:00

2 lines
5.1 KiB
XML

<?xml version="1.0"?>
<flowgorithm fileversion="4.2"><attributes><attribute name="name" value="EmailValidator"/><attribute name="authors" value="yvl"/><attribute name="saved" value="2026-03-12 08:47:09 AM"/><attribute name="created" value="eXZsO1lVVkxJQU5fV0FTX0hFUkU7MjAyNi0wMy0xMjswODo0NzowOSBBTTsxMTEx"/><attribute name="edited" value="eXZsO1lVVkxJQU5fV0FTX0hFUkU7MjAyNi0wMy0xMjswODo0NzowOSBBTTsxOzExMTE="/></attributes><function name="Substring" type="String" variable="hasil"><parameters><parameter name="teks" type="String" array="False"/><parameter name="mulai" type="Integer" array="False"/><parameter name="panjang" type="Integer" array="False"/></parameters><body><declare name="hasil" type="String" array="False" size=""/><declare name="u" type="Integer" array="False" size=""/><assign variable="hasil" expression="&quot;&quot;"/><for variable="u" start="mulai" end="mulai + panjang - 1" direction="inc" step="1"><assign variable="hasil" expression="hasil &amp; Char(teks, u)"/></for></body></function><function name="CekEkstensi" type="Boolean" variable="apakahValid"><parameters><parameter name="surel" type="String" array="False"/></parameters><body><declare name="apakahValid" type="Boolean" array="False" size=""/><declare name="daftarTLD" type="String" array="True" size="7"/><declare name="u, panjangSurel, panjangTLD" type="Integer" array="False" size=""/><assign variable="daftarTLD[0]" expression="&quot;.com&quot;"/><assign variable="daftarTLD[1]" expression="&quot;.org&quot;"/><assign variable="daftarTLD[2]" expression="&quot;.net&quot;"/><assign variable="daftarTLD[3]" expression="&quot;.edu&quot;"/><assign variable="daftarTLD[4]" expression="&quot;.gov&quot;"/><assign variable="daftarTLD[5]" expression="&quot;.co.id&quot;"/><assign variable="daftarTLD[6]" expression="&quot;.ac.id&quot;"/><assign variable="apakahValid" expression="false"/><assign variable="panjangSurel" expression="Len(surel)"/><for variable="u" start="0" end="6" direction="inc" step="1"><assign variable="panjangTLD" expression="Len(daftarTLD[u])"/><if expression="panjangSurel &gt;= panjangTLD"><then><if expression="Substring(surel, panjangSurel - panjangTLD, panjangTLD) = daftarTLD[u]"><then><assign variable="apakahValid" expression="true"/></then><else></else></if></then><else></else></if></for></body></function><function name="Main" type="None" variable=""><parameters></parameters><body><declare name="email, karakter, ekstensiSekarang" type="String" array="False" size=""/><declare name="apakahValid, adaSpasi, titikSetelahAt, apakahEkstensiValid" type="Boolean" array="False" size=""/><declare name="jumlahAt, posisiAt, i, panjangEmail" type="Integer" array="False" size=""/><assign variable="apakahValid" expression="false"/><while expression="not apakahValid"><output expression="&quot;Masukkan email:&quot;" newline="True"/><input variable="email"/><assign variable="jumlahAt" expression="0"/><assign variable="posisiAt" expression="-1"/><assign variable="adaSpasi" expression="false"/><assign variable="titikSetelahAt" expression="false"/><assign variable="panjangEmail" expression="Len(email)"/><for variable="i" start="0" end="panjangEmail - 1" direction="inc" step="1"><assign variable="karakter" expression="Char(email, i)"/><if expression="karakter = &quot;@&quot;"><then><assign variable="jumlahAt" expression="jumlahAt + 1"/><assign variable="posisiAt" expression="i"/></then><else></else></if><if expression="karakter = &quot; &quot;"><then><assign variable="adaSpasi" expression="true"/></then><else></else></if><if expression="posisiAt != -1 and karakter = &quot;.&quot; and i &gt; posisiAt"><then><assign variable="titikSetelahAt" expression="true"/></then><else></else></if></for><if expression="jumlahAt != 1"><then><output expression="&quot;Error: Email harus mengandung karakter &apos;@&apos; (tepat satu)&quot;" newline="True"/></then><else><if expression="not titikSetelahAt"><then><output expression="&quot;Error: Domain harus mengandung titik setelah &apos;@&apos;&quot;" newline="True"/></then><else><if expression="adaSpasi"><then><output expression="&quot;Error: Email tidak boleh mengandung spasi&quot;" newline="True"/></then><else><if expression="posisiAt &lt; 3"><then><output expression="&quot;Error: Panjang lokal (sebelum &apos;@&apos;) minimal 3 karakter&quot;" newline="True"/></then><else><assign variable="apakahEkstensiValid" expression="CekEkstensi(email)"/><if expression="apakahEkstensiValid"><then><output expression="&quot;Valid! Email &quot; &amp; email &amp; &quot; memenuhi semua syarat.&quot;" newline="True"/><assign variable="apakahValid" expression="true"/></then><else><assign variable="ekstensiSekarang" expression="&quot;&quot;"/><for variable="i" start="panjangEmail - 1" end="posisiAt" direction="dec" step="1"><if expression="Char(email, i) = &quot;.&quot;"><then><assign variable="ekstensiSekarang" expression="Substring(email, i, panjangEmail - i)"/></then><else></else></if></for><output expression="&quot;Error: Ekstensi domain &quot; &amp; ekstensiSekarang &amp; &quot; tidak valid (gunakan .com, .org, dll)&quot;" newline="True"/></else></if></else></if></else></if></else></if></else></if></while></body></function></flowgorithm>