2 lines
5.1 KiB
XML
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=""""/><for variable="u" start="mulai" end="mulai + panjang - 1" direction="inc" step="1"><assign variable="hasil" expression="hasil & 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="".com""/><assign variable="daftarTLD[1]" expression="".org""/><assign variable="daftarTLD[2]" expression="".net""/><assign variable="daftarTLD[3]" expression="".edu""/><assign variable="daftarTLD[4]" expression="".gov""/><assign variable="daftarTLD[5]" expression="".co.id""/><assign variable="daftarTLD[6]" expression="".ac.id""/><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 >= 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=""Masukkan email:"" 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 = "@""><then><assign variable="jumlahAt" expression="jumlahAt + 1"/><assign variable="posisiAt" expression="i"/></then><else></else></if><if expression="karakter = " ""><then><assign variable="adaSpasi" expression="true"/></then><else></else></if><if expression="posisiAt != -1 and karakter = "." and i > posisiAt"><then><assign variable="titikSetelahAt" expression="true"/></then><else></else></if></for><if expression="jumlahAt != 1"><then><output expression=""Error: Email harus mengandung karakter '@' (tepat satu)"" newline="True"/></then><else><if expression="not titikSetelahAt"><then><output expression=""Error: Domain harus mengandung titik setelah '@'"" newline="True"/></then><else><if expression="adaSpasi"><then><output expression=""Error: Email tidak boleh mengandung spasi"" newline="True"/></then><else><if expression="posisiAt < 3"><then><output expression=""Error: Panjang lokal (sebelum '@') minimal 3 karakter"" newline="True"/></then><else><assign variable="apakahEkstensiValid" expression="CekEkstensi(email)"/><if expression="apakahEkstensiValid"><then><output expression=""Valid! Email " & email & " memenuhi semua syarat."" newline="True"/><assign variable="apakahValid" expression="true"/></then><else><assign variable="ekstensiSekarang" expression=""""/><for variable="i" start="panjangEmail - 1" end="posisiAt" direction="dec" step="1"><if expression="Char(email, i) = ".""><then><assign variable="ekstensiSekarang" expression="Substring(email, i, panjangEmail - i)"/></then><else></else></if></for><output expression=""Error: Ekstensi domain " & ekstensiSekarang & " tidak valid (gunakan .com, .org, dll)"" newline="True"/></else></if></else></if></else></if></else></if></else></if></while></body></function></flowgorithm> |