Halaman 181
Susun program untuk menginput tiga buah bilangan yang
menyatakan nilai ujian tiga buah mata kuliah.
Cetak perkataan “TIGA” bila ketiga mata kuliah tersebut
mendapat nilai lulus.
Cetak perkataan “DUA”, bila hanya dua dari dari ketiga mata
kuliah tersebut yang mendapat nilai lulus.
Cetak perkataan “SATU” bila hanya satu mata kuliah yang
mendapat nilai lulus.
Cetak perkataan “NOL” bila ketiga mata kuliah tersebut
dinyatakan tidak lulus
Sebuah mata kuliah dinyatakan mendapat nilai lulus bila
nilainya lebih besar atau sama dengan 60.
181
Soal-33. Halaman 181
Susun program untuk menginput tiga buah bilangan yang
menyatakan nilai ujian tiga buah mata kuliah.
Cetak perkataan “TIGA” bila ketiga mata kuliah tersebut
mendapat nilai lulus.
Cetak perkataan “DUA”, bila hanya dua dari dari ketiga mata
kuliah tersebut yang mendapat nilai lulus.
Cetak perkataan “SATU” bila hanya satu mata kuliah yang
mendapat nilai lulus.
Cetak perkataan “NOL” bila ketiga mata kuliah tersebut
dinyatakan tidak lulus
Sebuah mata kuliah dinyatakan mendapat nilai lulus bila
nilainya lebih besar atau sama dengan 60.
180
dapat ditulis setelah
181
60
50
60
60 50 60 DUA
A B C
printf(“DUA”;
A B C
60 60 60 TIGA
60 60 50 DUA
60 50 60 DUA
60 50 50 SATU
50 60 60 DUA
50 60 50 SATU
50 50 60 SATU
50 50 50 NOL
A B C
60 60 60 TIGA
60 60 50 DUA
60 50 60 DUA
60 50 50 SATU
50 60 60 DUA
50 60 50 SATU
50 50 60 SATU
50 50 50 NOL
Progam harus
ditest 8 kali
Kemungkinan Seharusnya
Nilai yag diinput Tercetak
A B C
Pembuat 60 60 60 TIGA
program harus
dapat
60 60 50 DUA
memperkirakan 60 50 60 DUA
semua 60 50 50 SATU
kemungkinan 50 60 60 DUA
variasi data 50 60 50 SATU
50 50 60 SATU
50 50 50 NOL
Apabila variasi data sangat
banyak, cukup ditest
dengan beberapa sampel.
Usahakan, mencari sampel
yang sangat khusus
START
A B C
60 60 60 TIGA
60 60 50 DUA
scanf A,B,C
60 50 60 DUA
60 50 50 SATU
50 60 60 DUA
50 60 50 SATU
A>=60
50 50 60 SATU
50 50 50 NOL
B>=60 B>=60
END
scanf(“%i %i %i”, &A,&B,&C);
START
if(A>=60)
{
scanf A,B,C
A>=60
} B>=60
else
{
C>=60 C>=60
}
scanf(“%i %i %i”, &A,&B,&C);
START
if(A>=60)
{
scanf A,B,C
A>=60
B>=60
C>=60 C>=60
}
else
{
}
scanf(“%i %i %i”, &A,&B,&C);
if(A>=60) START
{
if(B>=60)
{ if(C>=60)
scanf A,B,C
printf(“TIGA”);
else
printf(“DUA”);
} A>=60
else
{ if(C>=60)
printf(“DUA”); B>=60
else
printf(”SATU”);
} C>=60 C>=60
}
printf printf printf printf
else “SATU” “DUA” “DUA” “TIGA”
{
}
scanf(“%i %i %i”, &A,&B,&C);
if(A>=60) START
{ if(B>=60)
{ if(C>=60)
printf(“TIGA”);
else scanf A,B,C
printf(“DUA”);
}
else
{ if(C>=60) A>=60
printf(“DUA”);
else
printf(”SATU”);
} B>=60
}
else
{ C>=60 C>=60
}
printf printf printf printf
“SATU” “DUA” “DUA” “TIGA”
START
scanf A,B,C
A>=60
{ if(B>=60)
{ if(C>=60)
B>=60
printf(“TIGA”);
else
C>=60 C>=60 printf(“DUA”);
}
printf printf printf printf else
“NOL” “SATU” “SATU” “DUA” { if(C>=60)
printf(“DUA”);
else
printf(”SATU”);
}
}
#include<stdio.h>
void main()
{ int A,B,C; Bersambung kesini
scanf(“%i %i %i”, &A,&B,&C);
if(A>=60)
{ if(B>=60) { if(B>=60)
{ if(C>=60) { if(C>=60)
printf(“TIGA”); printf(“TIGA”);
else else
printf(“DUA”); printf(“DUA”);
} }
else else
{ if(C>=60) { if(C>=60)
printf(“DUA”); printf(“DUA”);
else else
printf(”SATU”); printf(”SATU”);
} }
} }
else
{
Bagian else A>=60
}
}
START
1
Jum++
1
END
if(Jum==3)printf(“TIGA”); Jum=3
“TIGA”
if(Jum==2)printf(“DUA”);
if(Jum==1)printf(”SATU”); Flowchart
if(Jum==0)printf(“NOL”); Jum=2
“DUA”
if seperti ini
Jum=1
Lebih baik diganti “SATU”
menjadi if seperti
ini Jum=0
“NOL”
if(Jum==3)
printf(“TIGA”); Jum=3
else {if(Jum==2) “TIGA”
printf(“DUA”); Flowchart
Jum=2
else {if(Jum==1) “DUA”
Jum=1
printf(”SATU”);
“NOL” “SATU”
else printf(“NOL”);
}
}
Bersambung ke :