dan
Tipe Data
Contoh
Persoalan : Menghitung luas
segitiga bila
diketahui alas dan
tinggi segitiga
tersebut
Soal :
Hitung LUAS Segitiga
bila diketahui : 5
Alas = 7 dan
Tinggi = 5
7
Jawab : 17.5
Bila : L = Luas
A = Alas
T = Tinggi
Rumus menghitung
Luas segitiga :
L = ( Alas * Tinggi ) / 2
L = Alas * Tinggi / 2
L = ( Alas * Tinggi ) * 0.5
L = Alas * Tinggi * 0.5
7 5 ? printf L
cout L ?
A T L
A untuk Alas
T untuk Tinggi, dan
L untuk Luas
cout L
7 5 17.5 17.5
A T L
A untuk Alas
T untuk Tinggi, dan
L untuk Luas
harus
Rumus menghitung
Luas sebuah Segitiga
Kadang-kadang :
dibandingkan
menulis algoritma
dapat ditulis setelah
Alas Tinggi
7 5
Yang kita
17.5
inginkan :
Luas 7 * 5 / 2 = 17.5
Draf
KONSEP penyelesaian
A T
7 5
L=A*T/2
17.5
L
Algoritma yang
ditulis dalam
suatu
Bahasa
Pemrograman
disebut
PROGRAM
Cara-1 C++ Program Flowchart
#include <iostream.h> START
void main()
{ int A, T, L ; A=7
A = 7;
T=5
T = 5;
L = A * T / 2; L=A*T/2
Tercetak : ? print L
Tercetak : 17 print L
L=A*T / 2
A T
7 5
L=A*T / 2
Yang kita
17 inginkan :
7 * 5 / 2 = 17.5
L Tapi
yang
terbentuk 17
L = A * T / 2;
Proses arithmetic
dalam
Memory / CPU komputer
L = A * T / 2;
L A T
int 7 5 int 2 int
int 17
*
1 7*5=35
3 /
int 35
2 35 / 2 = 17.5
17 int
Nilai 17 ini yang Hasil 17.5
disimpan ke L. disimpan dl
area tipe int
yang juga bertpe int yang diambil
nilai integernya
saja yaitu 17
A T
int 7 5 int
*
1 7*5=35
int 35
A T A dan T , variabel
int 7 5 int yang disiapkan
sendiri.
* Gambar
ilustrasinya
digambarkan
dengan garis
padat
*
Proses hitung mengitung
( arithmetic )
terjadi dalam CPU.
(Central Prosessing Unit)
*
Area tempat menampung
hasil proses, disiapkan
sendiri oleh komputer.
Gambar ilustrasi areanya
sengja kita gambarkan
int 35 dengan garis putus-putus
*
Tipe areanya sesuai dengan
tipe data hasil proses.
* Tipe data yg
Tipe data
hasil
diproses proses
*
1 7*5=35
3 /
int 35
2 35 / 2 = 17.5
17 int
Hasil 17.5
disimpan dl
area tipe int
yang diambil
nilai integernya
saja yaitu 17
Bila
Variabel L
dibuat
bertipe : float
Program Flowchart
Cara-1 C
#include <iostream.h>
START
void main()
{ int A, T;
A=7
float L;
A = 7;
T=5
T = 5;
L = A * T / 2;
L=A*T/2
cout << L ;
} print L
Tercetak : 17 END
C Program Flowchart
#include <stdio.h> START
void main()
{ int A, T; A=7
float L;
T=5
A = 7;
T = 5; L=A*T/2
L = A * T / 2; printf L
printf(“%f”, L );
END
}
Tercetak : 17.000000
int int float
7 5 17.0
A T L
L = A * T / 2;
L A T
int 2 int
float 17.0 int 7 5
*
1 7*5=35
3 /
int 35
2 35 / 2 = 17.5
17 int
Variabel L
dibuat
bertipe float Oleh komputer
diperlakukan
sebagai
tipe int
Konstanta 2 ( 2 Byte )
Oleh komputer
Bila dibuat diperlakukan
tipe double
( 8 Byte )
C Program Flowchart
#include <iostream.h> START
void main()
{ int A, T; A=7
float L;
T=5
A = 7;
T = 5; L=A*T/2
L = A * T / 2.0; printf L
cout << L ;
END
}
Tercetak : ?
int int float
7 5 ?
A T L
C++ Program Flowchart
#include <iostream.h> START
void main()
{ int A, T; A=7
float L;
T=5
A = 7;
T = 5; L=A*T/2
L = A * T / 2.0; cout L
cout << L ;
END
}
Tercetak : 17.5
int int int
7 5 17.5
A T L
Program Flowchart
#include <stdio.h> START
void main()
{ int A, T; A=7
float L;
T=5
A = 7;
T = 5; L=A*T/2
L = A * T / 2.0; printf L
printf(“%f”, L );
END
}
Tercetak : 17.500000
int int float
7 5 17.5
A T L
L = A * T / 2;
L A T
float 17.5 int 7 5 int 2.0 double
*
1 7*5=35
3 /
int 35
2 35 / 2.0 = 17.5
17.5 double
Program Flowchart
#include <stdio.h> START
void main()
{ float A, T; A=7
float L;
T=5
A = 7; atau A = 7.0;
T = 5; atau T = 5.0; L=A*T/2
L = A * T / 2; printf L
printf(“%f”, L );
END
}
Tercetak : ?
int int float
7.0 5.0 ? 2 ?
A T L
Beberapa contoh lain
C++ Program Flowchart
#include <iostream.h> START
void main()
{ float A, T; A=7
float L;
T=5
A = 7;
float T = 5; L=A*T/2
4 byte L = A * T / 2; cout L
floating
point
cout << L ;
END
}
Tercetak : 17.5
float float float
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 cout
7 5 17.5 17.5
A T L
A untuk Alas
T untuk Tinggi, dan
L untuk Luas
Cara-1 C Program Flowchart
#include <stdio.h> START
void main()
{ float A, T, L; scanf A
scanf 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;
}
Menulis program,
Karena ada kemungkinan
memerlukan
mengandung nilai
pengetahuan mengenai
pecahan, maka digunakan
tipe data : :
BAHASA
float Pemograman
Floating point Single Precission yang digunakan
Cara-1 C++
#include <iostream.h>
void main()
{ float A, T, L; 12
cin >> A; 6
36
cin >> T;
L = A * T / 2;
cout << L;
}
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
data : int Bukan : 17.5
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;
}
40
Rumus konversi
derajat Celcius
ke derajat Fahrenheit
Draf
KONSEP penyelesaian
Celcius Fahrenheit
F = 9/5 * C + 32
40 104
C F
=
?
……….. Detik
harus
1 Jam = 60 Menit
1 Menit = 60 Detik
1 Jam = 3600 Detik
Ada langkah-langkah
pekerjaan
Susunan langkah-langkah
inilah yang disebut :
Algoritma
2 Jam + 5 Menit + 15 Detik = …….. Detik ?
15 Detik = 15 Detik
+ ……… Menit
+ ……… Detik
2
7425 Detik = ……… Jam
3
……… Menit
45
……… Detik
Draf
KONSEP 3600 / 7425 \ 2
penyelesaian Belum Rinci
7200
60 / 225 \ 3 Harus
180 dijelaskan dari
Didapat :
45 mana
7425 Detik mendapatkan
adalah : nilai 7200
2 Jam
3 Menit yaitu 2 x 3600
45 Detik
3600 / 7425 \ 2
2 * 3600 = 7200
ini yang
60 / 225 \ 3 rinci
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 7425 – 7200 DITUANGKAN
= 225 MENJADI
ORSINIL
MILIK 225 / 60 = 3 ALGORITMA
SEMUA 3 * 60 = 180
ORANG 225 – 180 Didapat :
= 45
2 Jam
3 Menit
45 Detik
7425 / 3600 = 2 Inilah langkah-
2 * 3600 = 7200 langkah yang
7425 – 7200 = 225
225 / 60 = 3
diambil dalam
3 * 60 = 180 menyelesaika
225 – 180 = 45 n suatu tugas
3 * 60
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
Bila ditulis sesuai
dengan tata cara
Ada 7 variabel, yang diilustrasikan dengan penulisan
gambar kotak 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
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 = ( Detik – J * 3600 ) – M * 60
4
45 D 45 D
7425 / 3600 = 2
Bahasa
7425 / 3600 sisa 225 pemrograman
menyediakan
225/ 60 = 3 instruksi
225 / 60 sisa 45 untuk
menghitung
sisa
pembagian
7425 / 3600 = 2
7425 / 3600 sisa 225
225/ 60 = 3
225 / 60 sisa 45
Ditulis : OPERATOR %
Adalah operator
modulus
7425 / 3600 = 2
(sisa pembagian
7425 % 3600 = 225 bilangan integer)
Untuk bilangan floating
225 / 60 = 3 point , tidak
225 % 60 = 45 menggunakan operator
%, tapi fungsi matematik
mod
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
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
2
2 X = Detik % 3600
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 " ;
} }