Soal-PR-3.20
Susun algoritma (program) untuk menginput 3
buah bilangan yang masing-masing
menyatakan panjang sisi sebuah segitiga.
Kemudian periksa ketiga buah garis (sisi)
tersebut . Bila ketiga buah garis (sisi) tersebut
panjangnya sama maka cetak perkataan “SAMA
SISI”. Bila hanya dua sisi yang sama maka
cetak perkataan “SAMA KAKI “. Tapi bila ketiga-
tiganya tidak sama maka cetak perkataan
“SEMBARANG”.
180
52
Soal-PR-3.20 Soal-25 Halaman 180
180
52
Soal-PR-3.20 Soal-25 Halaman 180
Susun algoritma (program) untuk menginput 3 buah bilangan
yang masing-masing menyatakan panjang sisi sebuah segitiga.
Kemudian periksa ketiga buah garis (sisi) tersebut . Bila ketiga
buah garis (sisi) tersebut panjangnya sama maka cetak
perkataan “SAMA SISI”. Bila hanya dua sisi yang sama maka
cetak perkataan “SAMA KAKI “. Tapi bila ketiga-tiganya tidak
sama maka cetak perkataan “SEMBARANG”.
Tidak boleh menggunakan logical operator AND dan OR (
&& dan || ).
180
dapat ditulis setelah
180
5
5
5
5 5 5 SAMA SISI
A B C
printf(“SAMA SISI”);
5 5 7 SAMA KAKI
A B C
printf(“SAMA KAKI”);
5 7 5 SAMA KAKI
A B C
printf(“SAMA KAKI”);
5 7 7 SAMA KAKI
A B C
printf(“SAMA KAKI”);
5 7 9 SEMBARANG
A B C
printf(“SEMBARANG”);
A B C
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI
5 7 7 SAMA KAKI
5 7 9 SEMBARANG
Kemungkinan Seharusnya
Nilai yag diinput Tercetak
A B C
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI
5 7 7 SAMA KAKI
5 7 9 SEMBARANG
A B C
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI
5 7 7 SAMA KAKI
5 7 9 SEMBARANG
A B C
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI
5 7 7 SAMA KAKI
5 7 9 SEMBARANG
Progam harus
ditest 5 kali
Kemungkinan Seharusnya
Nilai yag diinput Tercetak
A B C
Pembuat
program harus 5 5 5 SAMA SISI
dapat 5 5 7 SAMA KAKI
memperkirakan 5 7 5 SAMA KAKI
semua 5 7 7 SAMA KAKI
kemungkinan
5 7 9 SEMBARANG
variasi data
Progam harus
ditest 5 kali
Kemungkinan Seharusnya
Nilai yag diinput Tercetak
A B C
Pembuat
program harus 5 5 5 SAMA SISI
dapat 5 5 7 SAMA KAKI
memperkirakan 5 7 5 SAMA KAKI
semua 5 7 7 SAMA KAKI
kemungkinan
5 7 9 SEMBARANG
variasi data
if( A == B )
Komputer,
Coba periksa apakah (A == B) bernilai TRUE
Bila bernilai TRUE, maka kerjakan instruksi-instruksi yang ada di Bagian True
Sebaliknya bila bernilai FALSE, maka kerjakan instruksi-instruksi yang ada di
Bagian False
A B C
START
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI AB scanf A,B,C
5 7 7 SAMA KAKI
5 7 9 SEMBARANG AB
AB
A=B
Mencetak
atau
masih harus
membandingkan
?
A B C
START
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI AB scanf A,B,C
5 7 7 SAMA KAKI
5 7 9 SEMBARANG AB
AB
A=B
A B C
START
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI AB scanf A,B,C
5 7 7 SAMA KAKI
5 7 9 SEMBARANG AB
AB
A=B
Apa yang
harus
dibandingkan
?
A == C
yang jelas
B == C
bukan A&B
C == A
C == B
PILIH SALAH SATU
A B C
START
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI AB scanf A,B,C
5 7 7 SAMA KAKI
5 7 9 SEMBARANG AB
AB
A=B
BC
A=C
ABC ABC
A B C
START
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI AB scanf A,B,C
5 7 7 SAMA KAKI
5 7 9 SEMBARANG AB
AB
A=B
BC
A=C
Mencetak
atau
ABC ABC masih harus
membandingkan
?
A B C
START
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI AB scanf A,B,C
5 7 7 SAMA KAKI
5 7 9 SEMBARANG AB
AB
A=B
BC
A=C
printf
ABC ABC
A B C
START
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI AB scanf A,B,C
5 7 7 SAMA KAKI
5 7 9 SEMBARANG AB
AB
A=B
ABC
A=C
printf “SAMA
SISI”
ABC ABC
A B C
START
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI AB scanf A,B,C
5 7 7 SAMA KAKI
5 7 9 SEMBARANG AB
AB
A=B
ABC
A=C
ABC ABC
A B C
START
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI AB scanf A,B,C
5 7 7 SAMA KAKI
5 7 9 SEMBARANG AB
AB
A=B
ABC
A=C
ABC ABC
A B C
START
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI AB scanf A,B,C
5 7 7 SAMA KAKI
5 7 9 SEMBARANG AB
AB
A=B
ABC
A=C
ABC ABC
A B C
START
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI AB scanf A,B,C
5 7 7 SAMA KAKI
5 7 9 SEMBARANG AB
AB
A=B
ABC
A=C
Apa Apa
terusannya terusannya
? ?
A B C
START
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI AB scanf A,B,C
5 7 7 SAMA KAKI
5 7 9 SEMBARANG AB
AB
A=B
ABC
A=C
ABC ABC
A B C
START
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI AB scanf A,B,C
5 7 7 SAMA KAKI
5 7 9 SEMBARANG AB
AB
A=B
Mencetak
atau A=C
masih harus
membandingkan printf “SAMA printf “SAMA
KAKI” SISI”
?
A B C
START
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI AB scanf A,B,C
5 7 7 SAMA KAKI
5 7 9 SEMBARANG AB
AB
A=B
A=C
A=C
A=C A=C
Ada 8 “SAMA
kemungkinan printf printf “SAMA
KAKI” SISI”
ABC
ABC
ABC ABC ABC ABC
A=C A=C
A=C A=C
A=C A=C
A=C A=C
A=C A=C
A=C A=C
Apa
yang harus
dibandingkan
?
A B C
START
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI scanf A,B,C
5 7 7 SAMA KAKI
5 7 9 SEMBARANG
A=B
A=C A=C
A=C A=C
Mencetak
atau
masih harus
membandingkan
?
A B C
START
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI scanf A,B,C
5 7 7 SAMA KAKI
5 7 9 SEMBARANG
A=B
A=C A=C
printf
A B C
START
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI scanf A,B,C
5 7 7 SAMA KAKI
5 7 9 SEMBARANG
A=B
A=C A=C
printf
“SAMA
KAKI”
A B C
START
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI scanf A,B,C
5 7 7 SAMA KAKI
5 7 9 SEMBARANG
A=B
A=C A=C
Mencetak printf
atau
“SAMA
masih harus KAKI”
membandingkan
?
A B C
START
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI scanf A,B,C
5 7 7 SAMA KAKI
5 7 9 SEMBARANG
A=B
A=C A=C
printf printf
“SAMA
KAKI”
A B C
START
5 5 5 SAMA SISI
5 5 7 SAMA KAKI
5 7 5 SAMA KAKI scanf A,B,C
5 7 7 SAMA KAKI
5 7 9 SEMBARANG
A=B
A=C A=C
A=C A=C
A=C A=C
A=C A=C
END
START #include<stdio.h>
void main()
scanf A,B,C { int A,B,C;
scanf("%i %i %i", &A,&B,&C);
if(A==B)
A=B { if(A==C)
printf("SAMA SISI");
A=C A=C
else
printf printf printf printf("SAMA KAKI");
B=C “SK” “SK” “SS” }
printf printf else
“SBG” “SK” { if(A==C)
printf("SAMA KAKI");
else
{ if(B==C)
printf("SAMA KAKI");
END
else
printf("SEMBARANG");
}
}
}
Bersambung ke :