Anda di halaman 1dari 74

Soal-25 Halaman 180

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

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
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

dan konsep atau draf


secara manual sudah
dibuat
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
5
5
5

5 5 5 SAMA SISI

A B C

printf(“SAMA SISI”);

scanf(“%i %i %i”, &A, &B, &C );


5
5
7

5 5 7 SAMA KAKI

A B C

printf(“SAMA KAKI”);

scanf(“%i %i %i”, &A, &B, &C );


5
7
5

5 7 5 SAMA KAKI

A B C

printf(“SAMA KAKI”);

scanf(“%i %i %i”, &A, &B, &C );


5
7
7

5 7 7 SAMA KAKI

A B C

printf(“SAMA KAKI”);

scanf(“%i %i %i”, &A, &B, &C );


5
7
9

5 7 9 SEMBARANG

A B C

printf(“SEMBARANG”);

scanf(“%i %i %i”, &A, &B, &C );


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
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

Apakah masih ada


nilai lain lagi yang
mewakili data untuk
ditest ?
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

Tidak ada lagi


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

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

Apabila variasi data sangat banyak, cukup ditest


dengan beberapa sampel.
Usahakan, mencari sampel yang sangat khusus
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 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
?
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
B == A
B == C
C == A
C == B
PILIH SALAH SATU
A B C
START
5 5 5 SAMA SISI
Dalam Flowchart
5 5 7 SAMA KAKI boleh dituis : A = B
5 7 5 SAMA KAKI scanf A,B,C Tapi dalam program C
5 7 7 SAMA KAKI harus ditulis :
5 7 9 SEMBARANG
A==B
A=B
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
False True
A=B

Misal memilih bagian kanan untuk TRUE,


dan bagian kiri untuk FALSE
A B C
START
5 5 5 SAMA SISI
5 5 7 SAMA KAKI A B
5 7 5 SAMA KAKI scanf A,B,C
5 7 7 SAMA KAKI
5 7 9 SEMBARANG
A B A B
A=B
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

Bagian False Bagian True


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

Bagian False Bagian True

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

Mencetak printf “SAMA


atau SISI”
masih harus
membandingkan
?

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 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

printf “SAMA printf “SAMA


KAKI” 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

printf “SAMA printf “SAMA


KAKI” SISI”

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

printf “SAMA printf “SAMA


KAKI” 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

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

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

Apa yang printf “SAMA printf “SAMA


harus KAKI” SISI”
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

A=C A=C

Ada 8 “SAMA
kemungkinan printf printf “SAMA
KAKI” SISI”

ABC

ABC
ABC ABC ABC ABC

ABC ABC ABC A BC


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 “SAMA printf “SAMA


KAKI” SISI”
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 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 scanf A,B,C
5 7 7 SAMA KAKI
5 7 9 SEMBARANG
A=B

A=C A=C

printf “SAMA printf “SAMA printf “SAMA


KAKI” KAKI” SISI”
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 “SAMA printf “SAMA printf “SAMA


atau KAKI” KAKI” SISI”
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 “SAMA printf “SAMA printf “SAMA


? KAKI” KAKI” SISI”
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 printf “SAMA printf “SAMA


? KAKI” KAKI” SISI”

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

printf “SAMA printf “SAMA printf “SAMA


B=C KAKI” KAKI” SISI”
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 printf “SAMA printf “SAMA


B=C KAKI” KAKI” SISI”

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 “SAMA printf “SAMA printf “SAMA


B=C KAKI” KAKI” SISI”

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 printf “SAMA printf “SAMA


B=C KAKI” KAKI” SISI”

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

printf “SAMA printf “SAMA printf “SAMA


B=C KAKI” KAKI” SISI”

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 “SAMA printf “SAMA printf “SAMA


B=C KAKI” KAKI” SISI”

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

printf “SAMA printf “SAMA printf “SAMA


B=C KAKI” KAKI” SISI”

printf “SEMBA printf


RANG”
“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

printf “SAMA printf “SAMA printf “SAMA


B=C KAKI” KAKI” SISI”

printf “SEMBA printf


RANG”
“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

printf “SAMA printf “SAMA printf “SAMA


B=C KAKI” KAKI” SISI”

printf “SEMBA printf


RANG”
“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

printf “SAMA printf “SAMA printf “SAMA


B=C KAKI” KAKI” SISI”

printf “SEMBA printf


RANG”
“SAMA
KAKI”

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 :

Anda mungkin juga menyukai