Nama Kelompok :
1. Wensi Sekarsari (D1041141011)
2. Diera Desmonda (D1041141013)
3. Yahya Risqi (D1041141033)
Soal :
Terdapat nilai ujian dari beberapa mahasiswa sebagai berikut
:
70,65,45,95,80,75
Jika seorang dosen ingin mencari nilai mahasiswanya yang
tertinggi dan nilai yang berada di atas ketuntasan, bagaimanakah algoritma dan
program dari penyelesaian masalah tersebut?
Solusi :
a.
Algoritma :
n ← 6
A[1] ← 70
A[2] ← 65
A[3] ← 45
A[4] ← 95
A[5] ← 80
A[6] ← 75
counter ← 0
x ← 0
for i ← 1 to n do
begin
if
(A[i] < 75) then counter ← counter + 1
else
begin
x ← x + 1
B[x] ← A[i]
end
end
m ← n - counter
for i ← 1 to m do
begin
for
j ← m downto i + 1 do
begin
if B[j] > B[j-1] then
begin
temp ← B[j]
B[j] ← B[j-1]
B[j-1] ← temp
end
end
end
output('Nilai tertinggi adalah ') output(B[1])
output('Yang tidak lulus ada ') output(counter)
output(' orang')
output('Nilai yang lulus adalah : ')
for i ← 1 to m do
begin
output(B[i])
end
readkey
end.
b. Source
code dengan menggunakan bahasa pemrograman pascal
Program Perhitungan_nilai;
uses crt;
var
A,B : array[1..6] of integer;
i,j,n,m,counter,temp,x : integer;
begin
clrscr;
n:= 6;
A[1] := 70;
A[2] := 65;
A[3] := 45;
A[4] := 95;
A[5] := 80;
A[6] := 75;
counter := 0;
x := 0;
for i:=1 to n do
begin
if (A[i]<75) then counter:=counter+1
else
begin
x
:= x+1;
B[x]
:= A[i];
end;
end;
m := n-counter;
for i:=1 to m do
begin
for j:= m downto i+1 do
begin
if B[j] > B[j-1] then
begin
temp := B[j];
B[j] := B[j-1];
B[j-1] := temp;
end;
end;
end;
write('Nilai tertinggi
adalah '); writeln(B[1]);
write('Yang tidak lulus
ada '); write(counter); writeln(' orang');
write('Nilai yang lulus
adalah : ');
for i:=1 to m do
begin
write(B[i]); write(' ');
end;
readkey;
end.
c.
Output
No comments:
Post a Comment