You are on page 1of 5

Deskripsi

kon = 1
avg = 0
read (JPeserta)
while JPeserta.isnumeric() = False OR JPeserta< 1 do
WRITE ()
IF JPeserta.isnumeric() = False then
WRITE ("ERROR : input Salah, Harap Masukan Angka")
ELSE:
WRITE ("ERROR : input Salah, Harap Masukan Angka Lebih Dari
0")
ENDIF
WRITE ()
Read (JPeserta)
ENDWHILE
WRITE

for i = 1 to JPeserta do
read(No)
for y = 1 to len(Data) do
IF No = Data[y][2] then
kon = 1
ENDIF
ENDFOR
while No.isnumeric() = False OR not len(No) = 10 OR kon = 0 OR No =
0000000000 do
WRITE ()
IF No.isnumeric() = False then
WRITE ("ERROR : input Salah, Harap Masukan Angka") 11111

ELSE IF kon = 0 then


WRITE )"ERROR : input Salah, Nomor Peserta Sudah di Read")
kon = 1
ELSE IF No = 0000000000 then
WRITE ("Error : Data Salah, Nomor Peserta Tidak Boleh
0000000000)
ELSE
WRITE (ERROR : input Salah, Harap Masukan 10 Digit Angka")
ENDIF
WRITE ()
read(No)
for y = 1 to len(Data) do
IF No = Data[y][2] then
kon = 1
ENDIF
ENDFOR
ENDWHILE

read(Nm)
while Nm.isnumeric() = True do
WRITE ()
WRITE ("ERROR : input Salah, Harap Masukan Huruf")
WRITE ()
read(Nm)
ENDWHILE
IF len(Nm) < 20 then
zero = 20 - len(Nm)
for x = 1 to zero do
Nm = Nm + ""
ENDFOR
ENDIF

total = 0
while not(total = 100) do
read (NB)
while NB.isnumeric() = False OR NB> 100 do
WRITE ()
IF NB.isnumeric() = False then
WRITE ("ERROR : Input Salah, Harap Masukan Angka")
ELSE
WRITE ("ERROR : Input Salah, Harap Masukkan Angka Kurang
Dari 100")
ENDIF
WRITE ()

Read(NB)
ENDWHILE
read (NS)
while NS.isnumeric() = False OR NS = 100 do
WRITE ()
IF NS.isnumeric() = False then
WRITE ("ERROR : Input Salah, Harap Masukan Angka")
ELSE
WRITE ("ERROR : input Salah, Harap Masukkan Angka Kurang
Dari 100")
ENDIF
WRITE ()
read (NS)
ENDWHILE
read (NK)
while NK.isnumeric() = False OR NK > 100 do
WRITE ()
IF NK.isnumeric() = False then
WRITE (ERROR : input Salah, Harap Masukan Angka")
ELSE:
WRITE ("ERROR : input Salah, Harap Masukkan Angka Kurang
Dari 100")
ENDIF
WRITE
read (NS)
ENDWHILE

total = NK + NB + NS
IF not(total = 100) then
WRITE ()
WRITE ("Error : Data Salah, Pastikan Jumlah total jawaban
adalah 100")
WRITE ()
ELSE:
Nil = NB * 4 - NS
IF len(NB)< 3 then
zero = 3 - len(NB)
for x = 1 to zero do
NB = "" + NB
ENDFOR
ENDIF

IF len(NS) < 3 then


zero = 3 - len(NS)
for x = 1 to zero do
NS = "" + NS
ENDFOR
ENDIF

IF len(NK) < 3 then


zero = 3 - len(NK)
for x = 1 to zero do
NK = "" + NK
ENDFOR
ENDIF
IF len(Nil) < 3 then
zero = 3 - len(Nil)
for x = 1 to zero do
NK = "" + Nil
ENDFOR
ENDIF
Data.append([No, Nm[:20], str(NB) , str(NS), str(NK), str(Nil)])
avg = int(Nil) + avg
WRITE ()
ENDIF
ENDWHILE
ENDFOR

for i = 2 to len(Data) do
for j = 1 to len(Data) do
IF(Data[j][5] <Data[i][5]) then
sm= Data[j]
Data[j] =Data[i]
Data[i] = sm
ENDIF
ENDFOR
ENDFOR
WRITE ("Hasil SBMPTN")
WRITE ("-------------------------------------------------------")
WRITE ("|| No Peserta|| Nama||Benar|| Salah|| Kosong ||Nilai ||")
WRITE ("-------------------------------------------------------")
For i = 1 to len(data) do
WRITE ("||", end ="")
WRITE (Data[i] [0], end = " || ")
WRITE (Data[i] [1], end = " || ")
WRITE (Data[i] [2], end = " || ")
WRITE (Data[i] [3], end = " || ")
WRITE (Data[i] [4], end = " || ")
WRITE (Data[i] [5] + " ||")
ENDFOR
WRITE ("-------------------------------------------------------")
WRITE ()
WRITE ("Statistik")
WRITE ("Nilai Tertinggi = " + Data[0][5])
WRITE ("Nilai Terendah = " + Data[len(Data) - 1][5])
WRITE ("Rata - rata = " + avg / len(Data)
WRITE ()

read(PLulus)
while PLulus.isnumeric = False OR PLulus > 100 OR PLulus < 0 do
IF PLulus.isnumeric = False then
WRITE ()
WRITE ("ERROR : input Salah, Harap Masukan Angka")
WRITE ()
read(PLulus
ELSEIF PLulus > 100 OR PLulus < 0 then
WRITE ()
WRITE ("ERROR : Read Salah, Harap Masukan Positif kurang dari
100")
WRITE ()
ENDIF
ENDWHILE

PLulus = PLulus / 100)


Lulus = int(len(Data) * PLulus)
WRITE ()
WRITE "Peserta Lulus SBMPTN"
WRITE ("-------------------------------------------------------")
WRITE ("|| No Peserta ||Nama|| Benar||Salah ||Kosong ||Nilai ||")
WRITE ("-------------------------------------------------------")
For r = 1 to len(Data[:Lulus]) do
WRITE ("||", end ="")
WRITE (Data[r] [0], end =" || ")
WRITE (Data[r] [1], end =" || ")
WRITE (Data[r] [2], end =" || ")
WRITE (Data[r] [3], end =" || ")
WRITE (Data[r] [4], end =" || ")
WRITE (Data[r] [5] + " ||")
ENDFOR
WRITE ("-------------------------------------------------------")

You might also like