Anda di halaman 1dari 131

Algoritma Aritmatika

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

L = Alas * 0.5 * Tinggi


dsb
Bagaimana bila
menghitung
Luas segitiga
ini kita
serahkan ke
komputer
Soalnya
berubah
menjadi :
Soal-5a.
Susun algoritma yang ditulis
dalam Bahasa C/C++, untuk
mencetak Luas sebuah segitiga
bila alas dan tinggi sudah
diketahui yaitu : Alas = 7 dan
Tinggi = 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 :

Lebih sulit : Mencari ,


memahami dan
menggunakan rumus
dibandingkan menulis algoritma
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

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

cout << L ; print L


}
END

int int int Contoh ini


menggunakan data
7 5 ? dengan tipe int
A T L integer
Cara-1 C++
#include <iostream.h>
void main() Nilai 2 (dua)
yang ditulis
{ int A, T, L;
seperti ini ,
A = 7; oleh
T = 5; komputer
diperlakukan
L = A * T / 2; sebagai
cout << L ; integer int
}
Program Flowchart
Cara-1 C
#include <iostream.h>
START
void main()
{ int A, T, L;
A=7
A = 7;
T = 5;
T=5
L = A * T / 2;
cout << L ; L=A*T/2
}

Tercetak : ? print L

int int int


END
7 5 ?
A T L
Program Flowchart
Cara-1 C
#include <iostream.h>
START
void main()
{ int A, T, L;
A=7
A = 7;
T = 5;
T=5
L = A * T / 2;
cout << L ; L=A*T/2
}

Tercetak : 17 print L

int int int END


7 5 17
A T L
#include <iostream.h>
void main()
{ int A, T, L;
A = 7;
T = 5;
L = A * T / 2;
cout << L ;
}
Luas = Alas * Tinggi / 2

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

Tipe datanya dipilih


int 35 sendiri , dalam hal
ini ke dua-duanya
integer int
A T
int 7 5 int

*
Proses hitung mengitung
( arithmetic )
terjadi dalam CPU.
(Central Prosessing Unit)

int 35 Nilai A dan nilai T dibawa ke CPU,


disini dilakukan proses.
Proses yang sesuai dengan tipe
data.
Tipe data yang digunakan dalam
proses adalah tipe data yang
Bytenya terpanjang dari dua tipe
data yang diproses.
Dalam contoh ini tipe int
A T
int 7 5 int

*
Area tempat menampung
hasil proses, disiapkan
sendiri oleh komputer.
Gambar ilustrasi areanya
sengja kita gambarkan
int 35 dengan garis putus-putus

Yang membedakannya dengan


gambar yang areanya kita
pesan sendiri
A T
int 7 5 int

*
Tipe areanya sesuai dengan
tipe data hasil proses.

int 35 Untuk contoh ini , proses


perhitungan integer,
mengahsilkan tipe data
integer int
A T
int 7 5 int

* Tipe data yg
Tipe data
hasil
diproses proses

int int int


int long int long int
int 35 int float float
int double double
long int float float
long int double double
float double double
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
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

menjadi 2.0 sebagai

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

7.0 5.0 17.5


A T L
C C++
#include <stdio.h> #include <iostream.h>
void main() void main()
{ float A, T, L; { float A, T, L;
A = 7; A = 7;
T = 5; T = 5;
L = A * T / 2.0; L = A * T / 2.0;
printf(“%f”, L ); cout << L ;
} }

Tercetak : 17.500000 Tercetak : 17.5


Soal-5b.
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 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(“%f”, &A); scanf T


scanf(“%f”, & T);
L=A*T/2
L = A * T / 2;
printf(“%f”, L ); printf L
}
END

Dua instruksi ini dapat digabung


menjadi satu instruksi :
Scanf(“%i %i”, &A, &B );

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

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-6.
Susun algoritma yang ditulis dalam Bahasa C+
+, untuk menginput sebuah nilai integer yang
menyatakan temperatur dalam derajat Celcius,
kemudian cetak temperatur tersebut dalam
derajat 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++ cin
#include <iostream.h> cout
void main() 40
{ float C,F; 72
cin >> C;
F = 9 / 5 * C + 32;
cout << F; 72 SALAH
} seharusnya,
untuk C = 40,
maka
Nilai F = 104

Bila menggunakan suatu Bahasa


Pemrograman, harus mengetahui
sifat / karakteristik Bahasa
Pemrograman tersebut.
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
9
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
9.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
2 Jam, 5 Menit, 15 Detik

=
?
……….. Detik
harus

1 Jam = 60 Menit
1 Menit = 60 Detik
1 Jam = 3600 Detik

Tidak tahu ini,


Tidak bisa membuat hitungan
penyelesaiannya
Dalam
hitungan

Ada langkah-langkah
pekerjaan

Susunan langkah-langkah
inilah yang disebut :

Algoritma
2 Jam + 5 Menit + 15 Detik = …….. Detik ?

2 Jam = 2 x 3600 Detik = 7200 Detik

5 Menit = 5 x 60 Detik = 300 Detik

15 Detik = 15 Detik

2 Jam, 5 Menit, 15 Detik


= 7200 + 300 + 15
= 7515 Detik
CONTOH-1
CONTOH

Sebuah pesawat melakukan perjalanan


selama 2 jam, 5 menit dan 15 detik.
Susun program dalam Bahasa C atau C++
untuk menginput lama perjalanan
pesawat tersebut ( dalam jam, menit dan
detik ) , kemudian mencetak lama
perjalanan tersebut kalau seluruhnya
dinyatakan dalam detik.
//CONTOH1a.CPP Dengan C++
#include<iostream.h>
void main()
{ int Detik, J,M,D, L;
cout << "\n Input lama perjalanan ";
cout << "\n dalam : Jam, Menit, Detik \n\n";
cout << " Jam : " ; cin >> J;
cout << " Menit : " ; cin >> M;
cout << " Detik : " ; cin >> D;
L = J*3600 + M*60 + D;
cout << "\n Lama dalam perjalanan = ";
cout << L << " detik ";
}
//CONTOH1b.CPP Dengan C
// Bahasa C
#include<stdio.h>
void main()
{ int Detik, J,M,D, L;
printf( "\n Input lama perjalanan " );
printf( "\n dalam : Jam, Menit, Detik \n\n" );
printf( " Jam : " ); scanf( "%i", &J );
printf( " Menit : " ); scanf( "%i", &M );
printf( " Detik : " ); scanf( "%i", &D );
L = J*3600 + M*60 + D;
printf("\n Lama dalam perjalanan = %i detik ", L );
}
CONTOH-2
Ambil kertas dan alat tulis
Coba hitung :

7425 Detik = berapa jam


+
berapa menit
+
berapa detik
Atau :

7425 Detik = ……… Jam

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

TIDAK BISA MEMBUAT KONSEP INI


TIDAK BISA JUGA MEMBUAT PROGRAM
7425 / 3600 = 2 Inilah
2 * 3600 = 7200
7425 – 7200 = 225
225 / 60 = 3 atau
3 * 60 = 180 paling tidak
225 – 180 = 45 cikal bakal

TIDAK BISA MEMBUAT KONSEP INI


TIDAK BISA JUGA MEMBUAT PROGRAM
Orang lain
7425 / 3600 = 2 mungkin
2 * 3600 = 7200 menggunakan
7425 – 7200 = 225 cara yang
225 / 60 = 3 berbeda
3 * 60 = 180
untuk
225 – 180 = 45
mengasilkan
hasil yang
sama
TIDAK BISA MEMBUAT KONSEP INI
TIDAK BISA JUGA MEMBUAT PROGRAM
Yang sulit
7425 / 3600 = 2 bukan
2 * 3600 = 7200 membuat
7425 – 7200 = 225 program
225 / 60 = 3 komputer,
3 * 60 = 180 tapi
225 – 180 = 45 membuat draf
perhitungan
seperti ini

TIDAK BISA MEMBUAT KONSEP INI


TIDAK BISA JUGA MEMBUAT PROGRAM
Ini tidak diajarkan
dalam pelajaran
7425 / 3600 = 2
algoritma,
2 * 3600 = 7200
Karena
7425 – 7200 = 225
pengetahuan
225 / 60 = 3
ini milik semua
3 * 60 = 180
orang,
225 – 180 = 45
Hanya diingatkan
bahwa langkah ini
diperlukan .
TIDAK BISA MEMBUAT KONSEP INI
TIDAK BISA JUGA MEMBUAT PROGRAM
7425 / 3600 = 2
2 * 3600 = 7200 Ini bukan
7425 – 7200 = 225
225 / 60 = 3 pelajaran
3 * 60 = 180 algoritma,
225 – 180 = 45

TIDAK BISA MEMBUAT KONSEP INI


TIDAK BISA JUGA MEMBUAT PROGRAM
7425 / 3600 = 2
2 * 3600 = 7200
7425 – 7200 = 225
225 / 60 = 3
3 * 60 = 180
225 – 180 = 45
ALGORITMA
adalah langkah-langkah
yang diambil dalam Langkah-langkah
harus tersusun
menyelesaikan suatu secara LOGIS
tugas / pekerjaan dan Efisien
agar dapat
menyelesaikan
tugas dengan benar
Dalam pelajaran Algoritma, dan efisien.
Tugas / Pekerjaan tersebut
akan diselesaikan
dengan
menggunakan
adalah :
memang
dirancang untuk
dapat
menerima
dan Susunan
melaksanakan perintah-perintah
inilah yang
perintah
disebut
yang diberikan algoritma
oleh manusia
Bagaimana cara memberi perintah
kepada komputer

Perintah seperti apa yang dapat


dilaksanakan oleh komputer

Karakteristik setiap instruksi,


fungsi dan cara kerjanya

Tipe data yang dikenal oleh


komputer, dan keterbatasan
komputer dalam menampilkan
data.
7425 / 3600
7425 / 3600 = 2 7425 2
2 * 3600 =
7200 2 * 3600
7425 – 7200 = 225 7425 - 7200 7200
225 / 60 = 3
3 * 60 = 180
225 – 180 = 45 225 / 60 3
225

3 * 60

Kerangka 225 - 180 180


berpikir, bila
setiap nilai
disimpan 45
masing-masing
alam sebuah
variabel
Ada 7 variabel, yang
diilustrasikan dengan
gambar kotak
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
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

Asli : 6 langkah Dibuat menjadi : 4 langkah


7 variabel 5 variabel
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 = ( Detik – J * 3600 ) – M * 60
4

45 D 45 D

Setelah menjadi : 4 langkah Dibuat menjadi : 3 langkah


5 variabel 4 variabel
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 :
7 variabel 2 Jam 3 Menit 45 Detik
Detik J
J = Detik / 3600
7425 2 #include<iostream.h>
1 void main()
{ int Detik, J, M, D, Y;
Y = Detik – J * 3600 cout << "Detik : " ;
cin >> Detik;
2 1 J = Detik / 3600;
M
M = Y / 60 2 Y = Detik – J*3600;
225 3
Y 3 M = Y / 60;
3
4 D = Y – M*60;
cout << J << " Jam ";
D = Y – M * 60 cout << M << " Menit ";
4 cout << D << " Detik " ;
}
45 D

4 langkah Di monitor terlihat : 7425


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

3 langkah Di monitor terlihat : 7425


4 variabel 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:


>> Detik;
t << Detik / 3600 << " Jam ";
t << ( Detik - (Detik / 3600) *3600 )/ 60 << " Menit ";
t << ( Detik - (Detik / 3600) * 3600 ) -((Detik - (Detik /3600) * 3600) / 60 ) * 60 << " Det
yang
disediakan
oleh
Bahasa Pemrograman
harus
memahami
karakteristik dan fasilitas
yang disediakan
oleh
Bahasa Pemrograman
Draf
KONSEP Didapat :
penyelesaian 7425 / 3600 = 2 sisa 225 2 Jam
3 Menit
225 / 60 = 3 sisa 45
45 Detik

LENGKAP Tidak rinci, darimana


dan mendapatkan nilai sisa
RINCI

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

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
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 " ;
} }

Dapat dipaksakan menjadi :

cin >> Detik;


cout << Detik / 3600 << " Jam ";
cout << ( Detik % 3600 ) / 60 << " Menit
";
cout << ( Detik % 3600 ) % 60 << " Detik
";
Copy dari program sebelumnya

cin >> Detik;


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

Yang terakhir ini dapat disingkat lagi


menjadi :

cout << ( Detik % 60 ) << " Detik " ;


//CONTOH2a.CPP
// Bahasa C++
#include<iostream.h>
void main()
{ int Detik, J, M, D, X;
cout << "\n Detik : " ;
cin >> Detik;
J = Detik / 3600;
X = Detik % 3600;
M = X / 60;
D = X % 60;
cout << " " << J << " Jam ";
cout << M << " Menit ";
cout << D << " Detik " ;
}
#include<iostream.h>
void main()
{ int Detik, J, M, D;
cout << "\n Detik : " ;
cin >> Detik;
J = Detik / 3600;
M = ( Detik % 300 ) / 60;
D = ( Detik % 3600 ) % 60;
cout << " " << J << " Jam ";
cout << M << " Menit ";
cout << D << " Detik " ;
}
//CONTOH2a.CPP
// Bahasa C++
#include<iostream.h>
void main()
{ int Detik, J, M, D, X;
cout << "\n Detik : " ;
cin >> Detik;
J = Detik / 3600;
X = Detik % 3600;
M = X / 60;
D = X % 60;
cout << " " << J << " Jam ";
cout << M << " Menit ";
cout << D << " Detik " ;
}
#include<iostream.h>
void main()
{ int Detik;
cout << "\n Detik : " ;
cin >> Detik;
cout << " " << Detik / 3600 << " Jam ";
cout << ( Detik % 3600 ) / 60 << " Menit ";
cout << ( Detik % 3600 ) % 60 << " Detik " ;
}
#include<iostream.h>
void main()
{ int Detik;
cout << "\n Detik : " ;
cin >> Detik;
cout << " " << Detik / 3600 << " Jam ";
cout << ( Detik % 3600 ) / 60 << " Menit ";
cout << Detik % 60 << " Detik " ;
}
Pertemuan-2
Soal-1.
Seseorang berangkat pukul 08 : 52 : 45
( pukul 08 lewat 52 menit 45 detik ) ,
dan tiba ditujuan setelah 5000 detik
kemudian.
Susun program untuk menghitung dan
mencetak pukul berapa
( jam : menit : detik ) dia tiba ditempat
tujuan.
Pertemuan-2
Soal-2.
Seseorang berangkat pukul 08 : 52 : 45
( pukul 08 lewat 52 menit 45 detik ) ,
dan tiba ditujuan pukul : 12 : 15 : 10.
Susun program untuk menghitung dan
mencetak berapa jam, berapa menit dan
berapa detik waktu yang dia habiskan
dalam perjalanan.

Anda mungkin juga menyukai