ketentuan:
- program dapat memasukkan identitas siswa yaitu: nama, kelas dan nomor serta data nilai siswa.
- program dapat menghitung nilai final seorang siswa dengan rumus: Nilai Final = (Nilai Mid 1+ Nilai Ulangan 1 + Nilai Ulangan 2 + 2 x Ulangan Blok)/5
- Program dapat menentukan predikat ketuntasan nilai seorang siswa, yaitu jika: Nilai Final >=65, maka predikatnya TUNTAS, selain itu predikatnya TIDAK TUNTAS.
- Program kemudian menampilkan kembali data siswa, data nilai, nilai final dan predikatnya.
Pa, boleh saya coba menjawab?
BalasHapusUntuk algoritma sederhana :
1. Memasukan nama
2. Memasukan kelas
3. Memasukan nomor
2. Memasukan Nilai Mid 1, Nilai Ulangan 1, Nilai Ulangan 2, dan Nilai Ulangan Blok 2
3. Menghitung Nilai Final
4. Menentukan predikat ketuntasan nilai
5. Menampilkan data siswa, data nilai, nilai final, dan predikat
Untuk kode pemrograman (Pascal) :
program Pengolah_Nilai ;
var
nama : string;
kls, no, nm1, nu1, nu2, nub2, x : integer ;
procedure Identitas_Siswa ;
begin
write ('Nama : ') ; readln (nama) ;
repeat
write ('Kelas : ') ; readln (kls) ;
if ( kls < 10 ) or ( kls > 12 ) then writeln ('( Maaf, hanya berlaku untuk kelas 10, 11, dan 12 )') ;
until ( kls >= 10 ) and ( kls <= 12 ) ;
repeat
write ('Nomor : ') ; readln (no) ;
if ( no < 0 ) or ( no > 40 ) then writeln ('( Maaf, hanya berlaku untuk nomor 1 - 40 )') ;
until ( no >= 0 ) and ( no <= 100 ) ;
end;
procedure Identifikasi_Nilai ;
begin
repeat
write ('Nilai Mid 1 : ') ; readln (nm1) ;
if ( nm1 < 0 ) or ( nm1 > 100 ) then writeln ('( Maaf, hanya berlaku untuk nilai 0 - 100 )') ;
until ( nm1 >=0 ) and ( nm1 <= 100) ;
repeat
write ('Nilai Ulangan 1 : ') ; readln (nu1) ;
if ( nu1 < 0 ) or ( nu1 > 100 ) then writeln ('( Maaf, hanya berlaku untuk nilai 0 - 100 )') ;
until ( nu1 >=0 ) and ( nu1 <= 100) ;
repeat
write ('Nilai Ulangan 2 : ') ; readln (nu2) ;
if ( nu2 < 0 ) or ( nu2 > 100 ) then writeln ('( Maaf, hanya berlaku untuk nilai 0 - 100 )') ;
until ( nu2 >=0 ) and ( nu2 <= 100) ;
repeat
write ('Nilai Ulangan Blok 2 : ') ; readln (nub2) ;
if ( nub2 < 0 ) or ( nub2 > 100 ) then writeln ('( Maaf, hanya berlaku untuk nilai 0 - 100 )') ;
until ( nub2 >=0 ) and ( nub2 <= 100) ;
end;
procedure Hitung_Nilai ;
begin
x := ( nm1 + nu1 + nu2 + 2 * nub2 ) div 5
end;
procedure Predikat_Ketuntasan ;
begin
if x >= 65 then writeln ('Predikat : Tuntas')
else writeln ('Predikat : Tidak Tuntas') ;
end;
procedure Isi_Form ;
begin
writeln ('Silakan isi identitas Anda!') ;
Identitas_Siswa ;
writeln ;
writeln ('Silakan isi nilai-nilai Anda!') ;
Identifikasi_Nilai ;
writeln ;
end ;
procedure Report ;
begin
writeln ('Kesimpulan...') ;
writeln ;
writeln ('Nama : ', nama) ;
writeln ('Kelas : ', kls) ;
writeln ('Nomor : ', no) ;
writeln ;
writeln ('Nilai Mid : ', nm1) ;
writeln ('Nilai Ulangan 1 : ', nu1) ;
writeln ('Nilai Ulangan 2 : ', nu2) ;
writeln ('Nilai Ulangan Blok 2 : ', nub2) ;
writeln ;
Hitung_Nilai ;
writeln ('Nilai Final : ', x) ;
writeln ;
Predikat_Ketuntasan ;
readln ;
end ;
begin
Isi_Form ;
Report
end.
Bagaimana, Pa?
Sip! hanya sedikit yang harus di tambah kayaknya pada bagian 3 Proses Final proses atau ekspresinya di tuliskan juga.
BalasHapusCoba untuk susunal Algoritma sesuaikan dengan format :
PROGRAM xxxxxx;
KAMUS
........;
ALGORITMA
........
dst.
Sukses selalu!