Anda di halaman 1dari 58

Menghitung luas

segitiga bila diketahui


alas dan tinggi segitiga
tersebut
Soal-1.
Susun algoritma yang ditulis dalam
Bahasa C++, untuk menginput alas
dan tinggi sebuah segitiga, kemudian
mencetak luas segitiga tersebut.
7
5
cin 7 5 ? cout
?
A T L

A untuk Alas
T untuk Tinggi, dan
L untuk Luas
Soal-5.
Susun algoritma yang ditulis dalam
Bahasa C++, untuk menginput alas
dan tinggi sebuah segitiga, kemudian
mencetak luas segitiga tersebut.
7
5
cin 7 5 17.5 cout
17.5
A T L

A untuk Alas
T untuk Tinggi, dan
L untuk Luas
harus

Rumus menghitung
Luas sebuah Segitiga

Kadang-kadang :
Lebih sulit : Mencari ,
memahami dan
menggunakan
Rumus, dibandingkan menulis algoritma
dapat ditulis setelah

dan konsep atau draf


secara manual sudah
dibuat
Yang harus BUKAN
dipahami dan Dikuasai PERSOALAN
sebelumnya MATEMATIKA

RUMUS menghitung Luas


sebuah segitiga :
DALAM
BEBERAPA HAL
(KASUS), RUMUS
LUAS = ALAS * TINGGI / 2
TIDAK
DIBERITAHUKAN
atau LUAS = (ALAS * TINGGI) / 2
PEMBUAT ALGORITMA
atau LUAS = ALAS * ( TINGGI / 2) HARUS
MENGETAHUINYA
SENDIRI
atau LUAS = ALAS * TINGGI * 0.5
TIDAK MENGETAHUI
atau LUAS = 0.5 * ALAS * TINGGI RUMUS TIDAK DAPAT
MEMBUAT
atau dan sebagainya yang valid ALGORITMA
Draf
KONSEP penyelesaian

Alas Tinggi

7 5

Luas = Alas * Tinggi / 2

17.5

Luas
Algoritma yang
ditulis dalam
suatu Bahasa
Pemrograman
disebut PROGRAM
Cara-1 C++ Program Flowchart
#include <iostream.h> START
void main()
{ float A, T, L; cin A

cin >> A; cin T


cin >> T;
L=A*T/2
L = A * T / 2;
cout << L; cout L
}
END

Dua instruksi ini dapat digabung


menjadi satu instruksi :
cin >> A >> T;

cin A,T
Cara-1 C++
#include <iostream.h>
void main()
{ float A, T, L; 7
cin >> A; 5
17.5
cin >> T;
L = A * T / 2;
cout << L;
}
Karena ada kemungkinan
Menulis program,
mengandung nilai memerlukan
pecahan, maka digunakan pengtahuan mengenai :
tipe data :
BAHASA
float yang digunakan
Floating point Single Precission
Cara-1 C++
#include <iostream.h>
void main()
{ float A, T, L; 12
cin >> A; 6
30
cin >> T;
L = A * T / 2;
cout << L;
}
Walaupun tipe
data : float
Tapi tercetak
bukan : 30.0
Cara-1 C++
#include <iostream.h>
void main()
{ int A, T, L; 7
cin >> A; 5
17
cin >> T;
L = A * T / 2;
cout << L;
} 7 * 5 = 35
35 / 2 = 17
Bagaimana bila
menggunakan tipe
Bukan : 17.5
data : int
integer
#include <iostream.h>
void main()
Alas : 7
{ float A,T, L;
Tinggi : 5
cout << " Alas : " ; cin >> A;
Luas : 17.5
cout << " Tinggi : " ; cin >> T;
L = A * T / 2;
cout << " Luas : " << L;
}

Atau : #include <iostream.h>


void main()
{ float A,T, L;
cout << " Alas : " ;
cin >> A;
cout << " Tinggi : " ;
cin >> T;
L = A * T / 2;
cout << " Luas : " << L;
}
Meng-konversi derajat
Celcius ke derajat
Fahrenheit
Soal-2.
Susun algoritma yang ditulis dalam Bahasa C+
+, untuk menginput sebuah nilai integer yang
menyatakan temperatur dalam derajat Celcius,
kemudian cetak temperatur tersebut dalam
deajat Fahrenheit.

40

cin 40 xx.x cout xx.x


C F

C untuk nilai derajat Celcius


F untuk nilai derajat Fahrenheit
harus

Rumus konversi
derajat Celcius
ke derajat Fahrenheit
Draf
KONSEP penyelesaian

Celcius Fahrenheit
F = 9/5 * C + 32
40 104

C F

9 / 5 = 1.8 #include <iostream.h>


void main()
1.8 * 40 = 72 { float C,F;
cin >> C;
72 + 32 = 104
F = 9.0 / 5 * C + 32;
cout << F;
}
Cara-1 C++
#include <iostream.h>
void main()
{ float C,F; 40
cin >> C; 72
F = 9 / 5 * C + 32;
cout << F; SALAH
} Ceharusnya,
untuk C = 40,
maka
Bila diinput : 40 untuk nilai C
Nilai F = 104
Maka tercetak : 72 sebagai isi F

Karena 9 dan 5 Salah satu saja


9/5=1 kedua-duanya tipenya float,
1 * 40 = 40 dianggap integer maka hasilnya
40 + 32 = 72 float
Cara-1 C++
#include <iostream.h>
void main()
{ float C,F; 40
cin >> C; 104
F = 9.0 / 5 * C + 32;
cout << F;
}
Bila diinput : 40 untuk nilai C
Maka trcetak : 104 sebagai isi F

Salah satu saja


9.0 / 5 = 1.8 atau
tipenya float,
1.8 * 40 = 72 maka hasilnya 9 / 5.0
72 + 32 = 104 float
Cara-1 C++
#include <iostream.h>
void main()
{ float C,F; 40
cin >> C; 104
F = 9 / 5.0 * C + 32;
cout << F;
}
Bila diinput : 40 untuk nilai C
Maka trcetak : 104 sebagai isi F

Salah satu saja


9 / 5.0 = 1.8 tipenya float,
1.8 * 40 = 72 maka hasilnya
72 + 32 = 104 float
Cara-1 C++
#include <iostream.h>
void main()
{ int C; 40
float F; 104
cin >> C;
F = 9 / 5.0 * C + 32;
cout << F; C
Dapat saja dibuat
} bertipe int
Bila diinput : 40 untuk nilai C
Maka trcetak : 104 sebagai isi F

Salah satu saja


9 / 5.0 = 1.8 tipenya float,
1.8 * 40 = 72 maka hasilnya
72 + 32 = 104 float
Meng-konversi waktu
dalam Detik menjadi :
Jam, Menit dan Detik.
Soal-3.
Susun algoritma yang ditulis dalam Bahasa C+
+, untuk menginput sebuah nilai integer yang
menyatakan waktu (durasi) dalam satuan detik,
kemudian cetaklah waktu tersebut dalam satuan
Jam, Menit, dan Detik.

xxxx J jj

cin xxxx M mm cout jj mm dd


Detik
D dd
J untuk Jam
M untuk Menit, dan
D untuk Detik
Bila diinput Tercetak :
15 0 0 15

72 0 1 12

150 0 2 30

1000 0 16 40

3600 1 0 0

3605 1 0 5

7425 ? ? ?
7425 J ?
cin 7425 M ? cout
? ? ?
Detik
D
?
J untuk Jam
M untuk Menit, dan
D untuk Detik
harus

1 Jam = 60 Menit
1 Menit = 60 Detik
1 Jam = 3600 Detik
Draf
KONSEP 3600 / 7425 \ 2
penyelesaian Belum Rinci
7200
60 / 225 \ 3 Harus dijelaskan
180 dari mana
Didapat :
45 mendapatkan
7425 Detik
nilai 7200
adalah :
2 Jam
3 Menit
45 Detik

3600 / 7425 \ 2
2 * 3600 = 7200
60 / 225 \ 3
3 * 60 = 180
45
Draf
KONSEP Didapat :
penyelesaian 7425 / 3600 = 2 sisa 225 2 Jam
3 Menit
225 / 60 = 3 sisa 45
45 Detik
LENGKAP
dan
Tidak rinci, darimana
RINCI mendapatkan nilai sisa

INI
KONSEP 7425 / 3600 = 2 INI
BERPIKIR 2 * 3600 = 7200 YANG
YANG DITUANGKAN
7425 – 7200 = 225 MENJADI
ORSINIL
MILIK 225 / 60 = 3 ALGORITMA
SEMUA 3 * 60 = 180
ORANG Didapat :
225 – 180 = 45
2 Jam
3 Menit
45 Detik
7425 / 3600 = 2
2 * 3600 = 7200
7425 – 7200 = 225
225 / 60 = 3
3 * 60 = 180
225 – 180 = 45

TIDAK BISA MEMBUAT KONSEP INI


TIDAK BISA JUGA MEMBUAT ALGORITMA
7425 / 3600 = 2
2 * 3600 = 7200
7425 – 7200 = 225
225 / 60 = 3
3 * 60 = 180
225 – 180 = 45
7425 / 3600
7425 / 3600 = 2 7425 2
2 * 3600 = 7200
7425 – 7200 = 225 2 * 3600
225 / 60 = 3 7425 - 7200 7200
3 * 60 = 180
225 – 180 = 45
225 / 60
225 3

3 * 60
225 - 180 180
Kerangka
berpikir, bila
setiap nilai
45
disimpan dalam
sebuah variabel
Detik J
J = Detik / 3600
7425 2
1
2 X = J * 3600

Y = Detik - X
7200 X
Ada 6 langkah
3
1. J = Detik / 3600
M = Y / 60
225 3 M 2. X = J * 3600
Y
4 3. Y = Detik – X
4. M = Y / 60
5 Z = M * 60
5. Z = M * 60
D=Y-Z 6. D=Y-Z
180 Z
6

45 D
Sesuai dengan
kaidah penulisan
algoritma
Detik J Detik J
J = Detik / 3600 J = Detik / 3600
7425 2 7425 2
1 1
2 X = J * 3600

Y = Detik - X Y = Detik – J * 3600


7200 X
3 2
M
M = Y / 60 M = Y / 60
225 3 M 225 3
Y Y
4 3
5 Z = M * 60
D=Y-Z 180 D = Y – M * 60
Z
6 4

45 D 45 D

Asli : 6 langkah Dibuat menjadi : 4 langkah


Detik J Detik J
J = Detik / 3600 J = Detik / 3600
7425 2 7425 2
1 1

Y = Detik – J * 3600

2 2 M = ( Detik – J * 3600 ) / 60
M
M = Y / 60
225 3 3
Y M
3

D = Y – M * 60 3 D = ( Derik – J * 3600 ) – M * 60
4

45 D 45 D

Setelah menjadi : 4 langkah Dibuat menjadi : 3 langkah


Detik J
J = Detik / 3600
7425 2 #include<iostream.h>
1 void main()
2 X = J * 3600 { int Detik, J,M,D, X,Y,Z;
Y = Detik - X cout << "Detik : " ;
7200 X cin >> Detik;
3 1 J = Detik / 3600;
M = Y / 60 2 X = J * 3600;
225 3 M
Y 3 Y = Detik - X;
4
4 M = Y / 60;
5 Z = M * 60
5 Z = M * 60;
D=Y-Z 180 6 D = Y - Z;
Z
6 cout << J << " Jam ";
cout << M << " Menit ";
45 D cout << D << " Detik " ;
}
6 langkah 7425
Di monitor terlihat :
2 Jam 3 Menit 45 Detik
Detik J
J = Detik / 3600
7425 2
1
#include<iostream.h>
Y = Detik – J * 3600 void main()
{ int Detik, J, M, D, Y;
2 cout << "Detik : " ;
M
cin >> Detik;
M = Y / 60
225 3 1 J = Detik / 3600;
Y
3
2 Y = Detik – J*3600;
3 M = Y / 60;
D = Y – M * 60 4 D = Y – M*60;
cout << J << " Jam ";
4
cout << M << " Menit ";
45 D cout << D << " Detik " ;
}

4 langkah Di monitor terlihat : 7425


2 Jam 3 Menit 45 Detik
Detik J
J = Detik / 3600
7425 2
1

#include<iostream.h>
void main()
{ int Detik, J, M, D;
2 M = ( Detik – J * 3600 ) / 60
cout << "Detik : " ;

3
cin >> Detik;
M
1 J = Detik / 3600;
2 M = (Detik - J*3600 )/ 60;
3 D = ( Detik - J* 3600 ) - M*60;
3 D = ( Derik – J * 3600 ) – M * 60
cout << J << " Jam ";
cout << M << " Menit ";
45 D cout << D << " Detik " ;
}

3 langkah Di monitor terlihat : 7425


2 Jam 3 Menit 45 Detik
#include<iostream.h>
void main()
{ int Detik, J,M,D, X,Y,Z; #include<iostream.h>
cout << "Detik : " ; void main() #include<iostream.h>
cin >> Detik; { int Detik, J, M, D, Y; void main()
J = Detik / 3600; cout << "Detik : " ; { int Detik, J, M, D;
X = J * 3600; cin >> Detik; cout << "Detik : " ;
Y = Detik - X; J = Detik / 3600; cin >> Detik;
M = Y / 60; Y = Detik – J*3600; J = Detik / 3600;
Z = M * 60; M = Y / 60; M = (Detik - J*3600 )/ 60;
D = Y - Z; D = Y – M*60; D = ( Detik - J* 3600 ) - M*60;
cout << J << " Jam "; cout << J << " Jam "; cout << J << " Jam ";
cout << M << " Menit "; cout << M << " Menit "; cout << M << " Menit ";
cout << D << " Detik " ; cout << D << " Detik " ; cout << D << " Detik " ;
} } }

Dapat dipaksakan menjadi:


cin >> Detik;
cout << Detik / 3600 << " Jam " ;
cout << ( Detik - (Detik / 3600) *3600 )/ 60 << " Menit " ;
cout << ( Detik - (Detik / 3600) * 3600 ) -((Detik - (Detik /3600) * 3600) / 60 ) * 60 << " Detik ";
Draf
KONSEP Didapat :
penyelesaian 7425 / 3600 = 2 sisa 225 2 Jam
3 Menit
225 / 60 = 3 sisa 45
45 Detik
LENGKAP
dan
Tidak rinci, darimana
RINCI mendapatkan nilai sisa

7425 / 3600 = 2
Bahasa
7425 / 3600 sisa 225 pemrograman
menyediakan
225/ 60 = 3 instruksi untuk
225 / 60 sisa 45 menghitung
sisa pembagian
7425 / 3600 = 2
7425 / 3600 sisa 225
225/ 60 = 3
225 / 60 sisa 45

% Adalah
7425 / 3600 = 2 operator
7425 % 3600 = 225 modulus (sisa
pembagian)
225 / 60 = 3
225 % 60 = 45
7425 / 3600 = 2
7425 % 3600 = 225
225 / 60 = 3
225 % 60 = 45
7425 / 3600
7425 / 3600 = 2 7425 2
7425 % 3600 = 225
7425 % 3600
225 / 60 = 3
225 % 60 = 45 225 / 60
225 3

225 % 60

45
Kerangka
berpikir, bila
setiap nilai
disimpan dalam
sebuah variabel
Detik J
7425 / 3600 J = Detik / 3600
7425 2 7425 2

7425 % 3600 X = Detik % 3600

225 / 60 M = X / 60
225 3 X 225 3 M

225 % 60 D = X % 60

45 45 D
Detik J
J = Detik / 3600
7425 2

1. J = Detik / 3600
X = Detik % 3600
2. X = Detik % 3600
M = X / 60 3. M = X / 60
X 225 3 M
4. D = X % 60
D = X % 60

45 D
Sesuai dengan
kaidah penulisan
algoritma
Detik J Detik J
J = Detik / 3600 J = Detik / 3600
7425 2 7425 2
1 1
X = Detik % 3600
2
2
M = (Detik % 3600 ) / 60
M = X / 60
X 225 3 M 3 3 M
3
4 D = X % 60 D = Detik % 3600 ) % 60

45 D 45 D

4 langkah 3 langkah
Detik J
#include<iostream.h>
J = Detik / 3600 void main()
7425 2
1 { int Detik, J, M, D, X;
cout << "Detik : " ;
2 X = Detik % 3600
cin >> Detik;
M = X / 60 J = Detik / 3600;
X 225 3 M X = Detik % 3600;
3 M = X / 60;
4 D = X % 60 D = X % 60;
cout << J << " Jam ";
45 D cout << M << " Menit ";
cout << D << " Detik " ;
}
4 langkah
Detik J
#include<iostream.h>
J = Detik / 3600
7425 2 void main()
1 { int Detik, J, M, D;
2 cout << "Detik : " ;
M = (Detik % 3600 ) / 60 cin >> Detik;
J = Detik / 3600;
3 3 M M = ( Detik % 300 ) / 60;
D = ( Detik % 3600 ) % 60;
D = Detik % 3600 ) % 60 cout << J << " Jam ";
cout << M << " Menit ";
45 D cout << D << " Detik " ;
}

3 langkah
#include<iostream.h>
void main() #include<iostream.h>
{ int Detik, J, M, D, X; void main()
cout << "Detik : " ; { int Detik, J, M, D;
cin >> Detik; cout << "Detik : " ;
J = Detik / 3600; cin >> Detik;
X = Detik % 3600; J = Detik / 3600;
M = X / 60; M = ( Detik % 300 ) / 60;
D = X % 60; D = ( Detik % 3600 ) % 60;
cout << J << " Jam "; cout << J << " Jam ";
cout << M << " Menit "; cout << M << " Menit ";
cout << D << " Detik " ; cout << D << " Detik " ;
} }

Dapat dipaksakan menjadi :

cin >> Detik;


cout << Detik / 3600 << " Jam ";
cout << ( Detik % 3600 ) / 60 << " Menit ";
cout << ( Detik % 3600 ) % 60 << " Detik " ;

Anda mungkin juga menyukai