Algoritma dan Pemrogran

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

iii

Polit e knik T e lk om

iv

Algorit m a dan Pe mrogra man

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

v

Polit e knik T e lk om

Pe ndahulua n


Algorit m a dan
n Pe mrogra man

1

Polit e knik T e lk om

2

Algorit m a dan Pe mrogra man

Pe nda hulua n

Polit e knik T e lk om

Pe ndahulua n

Algorit m a dan Pe mrogra man


3

Polit e knik T e lk om

4

Algorit m a dan Pe mrogra man

Pe nda hulua n

Polit e knik T e lk om

Pe ndahulua n

Algorit m a dan Pe mrogra man

5

Polit e knik T e lk om


Algorit m a dan Pe mrogra man







6

Pe nda hulua n

Polit e knik T e lk om

Algorit m a dan Pe mrogra man










Pe ndahulua n

7

Polit e knik T e lk om

8

Algorit m a dan Pe mrogra man

Pe nda hulua n

Polit e knik T e lk om

Pe ndahulua n


Algorit m a dan Pe mrogra man

9

Polit e knik T e lk om

10

Algorit m a dan Pe mrogra man

Pe nda hulua n

Polit e knik T e lk om

Pe ndahulua n

Algorit m a dan Pe mrogra man

11


Polit e knik T e lk om

12

Algorit m a dan
nP
Pe mrogra man

Flow chart da
a n Pse udoc ode

Polit e knik T e lk om

Flow chart da n Pse udoc ode

Algorit m a dan Pe mrogra man

13

Polit e knik T e lk om


14

Algorit m a dan Pe mrogra man

Flow chart da n Pse udoc ode

Polit e knik T e lk om

Flow chart da n Pse udoc ode

Algorit m a dan Pe mrogra man

15

Polit e knik T e lk om

16

Algorit m a dan Pe mrogra man


Flow chart da n Pse udoc ode

Polit e knik T e lk om

Flow chart da n Pse udoc ode

Algorit m a dan Pe mrogra man

17

Polit e knik T e lk om

18

Algorit m a dan Pe mrogra man

Flow chart da n Pse udoc ode

Polit e knik T e lk om


Algorit m a dan Pe mrogra man

Algoritma Coba;
Kamus data
x : integer;
s : string;
...

Algoritma Hello
Kamus data
s : string
BEGIN
s
“Halo!”
output(s)
END.

Flow chart da n Pse udoc ode


19

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

Algoritma Masukkan_data
Kamus data
BEGIN
input(x) /*x adalah variabel penampung nilai*/
END.

Algoritma Masukkan_nilai
Kamus data
BEGIN
x
5 /*panah ke kiri arah masuknya nilai*/
END.

Algoritma Tampilan

Kamus data
BEGIN
output(x) /*x adalah variabel yang berisi nilai*/
END.

20

Flow chart da n Pse udoc ode

Polit e knik T e lk om

Flow chart da n Pse udoc ode

Algorit m a dan Pe mrogra man

21

Polit e knik T e lk om

22

Algorit m a dan
nP
Pe mrogra man

T ipe da ta , ope ra torr d
da n Runtuta n

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

3.1



T ipe dat a , opera tor dan Runt uta n

23

Polit e knik T e lk om

Short
Int
Long

Algorit m a dan Pe mrogra man

8 bit
16 bit
32 bit

-128 .. 127
-32768 .. 32767
-2147483648 .. 2147483647



float
Double

2.9x10-39 .. 1.7x1038
5.0x10-324 .. 1.7x10308

32 bit
48 bit



“5”
5

24

“A”

“”
“?”
“+”
“5”

“$”

T ipe da ta , ope ra tor da n Runtuta n

Polit e knik T e lk om

Algorit m a dan Pe mrogra man



“”
“BANDUNG”
“Politeknik Telkom Bandung”
“ABC3456”
“Lucu”
“30202001”
“z”
“z”


T ipe dat a , opera tor dan Runt uta n

25

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

x : integer
nama : string
TB : real

1. KAMUS DATA {awal deklarasi variabel}
2.
x : integer
3.
nama: string
4.
TB : real
5.
jenisKelamin : char
6.
status : boolean

1.
2.
3.
4.
5.
6.
7.

// Contoh Program C++
#include
/* Program Utama */
main() {
printf("Selamat Datang");
return 0;
}

/* .. */
/*

*/

#include

26



T ipe da ta , ope ra tor da n Runtuta n

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

stdio.h

main()

{
printf("Selamat Datang")
Selamat Datang
return 0
;

1. #include
2.
3. main () {
4.
int x;
5.
string nama;
6.
float BB;
7.
char jKelamin;
8.
bool status;
9.
...
10. }



T ipe dat a , opera tor dan Runt uta n

27

Polit e knik T e lk om

Algorit m a dan Pe mrogra man








cJenisKelamin = ‘P’
sNamaOrangTua = ‘Jeremy Thomas’
iNilaiAkhir = 99

Input (cJenisKelamin)
Input (sNamaOrangTua)
Input (iNilaiAkhir)

cJKelamin

28

‘p’

Input (cJKelamain)

T ipe da ta , ope ra tor da n Runtuta n

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

1. #include
2. main() {
3.
int lA,lB;
4.
String NamaA, NamaB;
5.
// Pengisian secara Langsung
6.
lA = 20;
7.
NamaA = “Joko Handono”;
8.
// Pengisian dengan Inputan
9.
scanf(“%i”,&lB);
10.
scanf(“%s”,&NamaB);
11.
// Menampilkan Kelayar
12.
printf(“Nilai lA : %i”,lA);
13.
printf(“Nilai lB : %i”,lB);
14.
printf(“Nilai NamaA : %s”,NamaA);
15.
printf(“Nilai NamaB : %s”,NamaB);
16. }

%i

%s

lB
%i
float -> %f String ->
%s
&

iMaks = 100
fPi = 3.14
sSapa = ‘Hello’

T ipe dat a , opera tor dan Runt uta n

29

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

define

1.
2.
3.
4.
5.
6.
7.
8.

#include
#define iMaxs 100
#define fPi 3.14159
#define sSapa ‘Hello’
#define newLine ‘\n’
main() {
...
}



30

T ipe da ta , ope ra tor da n Runtuta n

Polit e knik T e lk om

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

Algorit m a dan Pe mrogra man

//Program Aritmatik
/* IS:Tersedia dua buah bilangan integer
FS:Hasil Modulo duabuah bilangan */
#include

main () {
// Deklarasi Variabel
int iTambah;
int iAngka1, iAngka2;
printf(“Masukan Bilangan Pertama : ”);
scanf(“%i”, iAngka1);
printf(“Masukan Bilangan Kedua
: ”);
scanf(“%i”, iAngka2);
// Penjumlahan
iTambah = iAngka1 + iAngka2;
printf(“Hasil Penjumlahan %i + %i = %i”,
iAngka1, iAngka2, iTambah);
return 0;
}

Masukan Bilangan Pertama : 10
Masukan Bilangan Kedua
: 23
Hasil Penjumlahan 10 + 23 = 33

T ipe dat a , opera tor dan Runt uta n

31

Polit e knik T e lk om

Algorit m a dan Pe mrogra man





1
2
3
4
5

...
a++;
a += 1;
a = a + 1;
...

2

1 B = 3;
A = ++B;
// A = 4, B = 4

1
2

B = 3;
A = B++;
// A = 3, B = 4



32

T ipe da ta , ope ra tor da n Runtuta n

Polit e knik T e lk om

1
2
3
4
5
6
7
8
9
10
11
12

Algorit m a dan Pe mrogra man

// Program Operator Relasional
KAMUS DATA {awal deklarasi variabel}
iAngka1, iAngka2 : integer
BEGIN
{awal algoritma}
iAngka1 = 6 {pengisian variabel langsung}
Input(iAngka2) {pengisian dgn inputan}
IF (iAngka1 iAngka2) THEN
Output (‘Tebakan Anda salah’)
ELSE
Output (‘Horee! Tebakan Anda benar’)
ENDIF
END

iAngka1 != iAngka2
iAngka1 != iAngka2



T ipe dat a , opera tor dan Runt uta n

33

Polit e knik T e lk om

Algorit m a dan Pe mrogra man



(x > 7) && (x = y)



(8 > 7) && (8 = 5)
True AND False
False
(x != y) || (x > 3)



(4 != 4) || (4 > 3)
False OR True
True
NOT (x > y)
NOT (3 > 3)
NOT (False)
True

34

T ipe da ta , ope ra tor da n Runtuta n

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

iHasil = x * 2 % 2 > y && (x != 3)

T ipe dat a , opera tor dan Runt uta n

35

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

iHasil = x * 2 % 2 > y && (x 3)

iHasil
iHasil
iHasil
iHasil
iHasil
iHasil
iHasil

x * 2
x * 2
5 * 2
0 > y
0 > 3
False
False

% 2 > y && (5 != 3)
% 2 > y && True
% 2 > y && True
&& True
&& True
&& True

1.
2.

Algoritma Runtunan;
{IS:Tersedia empat bilangan yang akan
dioperasikan
FS:Mengoutputkan dua bilangan setelah
dioperasikan }
3. Kamus data
4.
a,b,c,d : integer
5. BEGIN
6.
a
3
7.
b
2
8.
c
a * b
9.
a
5
10.
d
a + b
11.
Output (c, d)
12. END.

36

T ipe da ta , ope ra tor da n Runtuta n

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

1. // Program Runtunan;
2. /*IS:Tersedia empat bilangan yang akan
dioperasikan
FS:Menampilkan dua bilangan setelah
dioperasikan */
3. #include
4.
5. main () {
6.
int a,b,c,d;
7.
a = 3;
8.
b = 2;
9.
c = a * b;
10.
a = 5;
11.
d = a + b;
12.
printf(“Nilai C : %i”,c);
13.
printf(“Nilai D : %i”,d);
14. }

Nilai C : 6
Nilai D : 7

T ipe dat a , opera tor dan Runt uta n

37

Polit e knik T e lk om

38

Algorit m a dan Pe mrogra man

T ipe da ta , ope ra tor da n Runtuta n

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

2.9x10-39
1.1x10

4932

.

...
Kamus data
a, b, d, e : integer
c, f : real
g : char
h : boolean
Konstanta
d = 100;
BEGIN
a
5
b
3
c
7.0
a
a + c
e
d / a
ReadLn (g)
h
(g = ‘k’) OR (d MOD b > 3)
f
g + c
Output (a, b, c, d, e, f, g, h)
END

T ipe dat a , opera tor dan Runt uta n

39

Polit e knik T e lk om

e

40

Algorit m a dan Pe mrogra man

d / a

T ipe da ta , ope ra tor da n Runtuta n

Polit e knik T e lk om

T ipe dat a , opera tor dan Runt uta n

Algorit m a dan Pe mrogra man

41

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

#include
main () {
int bilangan1, bilangan2;
int bilangan3, bilangan4;
bilangan1
bilangan1
bilangan2
bilangan3

:=
:=
:=
:=

10;
bilangan1 * 2;
bilangan1 + 10;
bilangan2 * bilangan1;

printf(“%i”,bilangan3);
}

42

T ipe da ta , ope ra tor da n Runtuta n

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

# include
main () {
int iPertama, iKedua;
iPertama = 50;
iPertama %= 9;
iKedua = iPertama – 2;
printf(”%i”,iKedua);
}
}

T ipe dat a , opera tor dan Runt uta n

43

Polit e knik T e lk om

44

Algorit m a dan
nP
Pe mrogra man

Pe m ilihan

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

IF cuaca mendung THEN
saya membawa payung
END IF

4.1

Pe m ilihan

45

Polit e knik T e lk om

46

Algorit m a dan Pe mrogra man

Pe m ilihan

Polit e knik T e lk om

Pe m ilihan

Algorit m a dan Pe mrogra man

47

Polit e knik T e lk om

48

Algorit m a dan Pe mrogra man

Pe m ilihan

Polit e knik T e lk om

Pe m ilihan

Algorit m a dan Pe mrogra man

49

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

4.2

50

Pe m ilihan

Polit e knik T e lk om

Pe m ilihan

Algorit m a dan Pe mrogra man

51

Polit e knik T e lk om

52

Algorit m a dan Pe mrogra man

Pe m ilihan

Polit e knik T e lk om

Pe m ilihan

Algorit m a dan Pe mrogra man

53

Polit e knik T e lk om

54

Algorit m a dan Pe mrogra man

Pe m ilihan

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

4.3

Pe m ilihan

55

Polit e knik T e lk om

56

Algorit m a dan Pe mrogra man

Pe m ilihan

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

4.4

Pe m ilihan

57

Polit e knik T e lk om

58

Algorit m a dan Pe mrogra man

Pe m ilihan

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

4.5

Pe m ilihan

59

Polit e knik T e lk om

60

Algorit m a dan Pe mrogra man

Pe m ilihan

Polit e knik T e lk om

Pe m ilihan

Algorit m a dan Pe mrogra man

61

Polit e knik T e lk om

62

Algorit m a dan Pe mrogra man

Pe m ilihan

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

Input (nilai)
IF nilai > 85 AND nilai 60 AND nilai 45 AND nilai 30 AND nilai = 0 THEN
Output (‘x adalah bilangan genap’)
ELSE
IF x mod 2 < 0 THEN
Output (‘x adalah bilangan ganjil’)
66

Pe m ilihan

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

ENDIF
ENDIF
b. Input (x)
IF x div 2 >= 0 THEN
Output (‘x adalah bilangan genap’)
ELSE
IF x div 2 < 0 THEN
Output (‘x adalah bilangan ganjil’)
ENDIF
ENDIF
c. Input (x)
IF x mod 2 = 0 THEN
Output (‘x adalah bilangan genap’)
ELSE
Output (‘x adalah bilangan ganjil’)
ENDIF
d. Input (x)
IF x div 2 = 0 THEN
Output (‘x adalah bilangan genap’)
ELSE
Output (‘x adalah bilangan ganjil’)
ENDIF

Pe m ilihan

67

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

Input (harga)
IF harga = 12500 then
Beli
ENDIF

Input (n)
p = n*2
IF p mod 2 = 0 THEN
Output (p/2)
ELSE
Output (p*2)
ENDIF

68

Pe m ilihan

Polit e knik T e lk om

Pe m ilihan

Algorit m a dan Pe mrogra man

69

Polit e knik T e lk om

70

Algorit m a dan
nP
Pe mrogra man

Pe ngulanga n

Polit e knik T e lk om

Algorit m a dan Pe mrogra man









Pe ngulanga n

71

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

1 {inisialisasi}
2 WHILE (kondisi)
3
aksi
4
ubah pencacah (pencapaian kondisi berhenti)
5 ENDWHILE

ALGORITMA Kupas_Kentang
IS : Terdapat 10 kentang belum dikupas
FS : 10 kentang telah terkupas
KAMUS DATA
kentang : integer
1 BEGIN
{inisialisasi jumlah kentang yang sudah dikupas}
2 kentang
0
3 WHILE (kentang < 10 ){kondisi iterasi dilakukan}
4 Ambil sebuah kentang
5 Kupas kulit kentang
6 kentang kentang+1 {pencapaian kondisi berhenti}
7 ENDWHILE
8 END
72

Pe ngulanga n

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

kentang

kentang

Pe ngulanga n

73

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

1)
ALGORITMA Tampil_Bintang
IS : FS : Jumlah bintang yg tampil = 5
KAMUS DATA
i : integer
1 BEGIN
2 i
0
{inisialisasi pencacah i}
3 WHILE (i < 5)
{jumlah iterasi}
4 Output (‘*’) {aksi}
5 i
i + 1
{pencapaian kondisi berhenti}
6 ENDWHILE
7 END

*
*
*
*
*
2)
ALGORITMA Iterasi_Angka
IS : FS : Tampil angka 1 hingga 5
KAMUS DATA
i : integer
1 BEGIN
2 i
1 {inisialisasi pencacah i}
3 WHILE (i

0

while (kondisi)
{
//aksi
//ubah pencacah
}
Pe ngulanga n

Polit e knik T e lk om

...

Algorit m a dan Pe mrogra man

...
i = 0;
while (i < 5)
{
printf(“*”);
i = i + 1;
}

i
0
WHILE (i < 5)
Output(‘*’)
i
i + 1
ENDWHILE
...
...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

//Nilai_Rata_Rata.c
//Menerima 3 angka dan menampilkan rata-ratanya
#include
main ()
{
//deklarasi variabel yg digunakan
float
jumlah;
int
bilangan;
float
x;
float
rerata;
//inisialisasi variabel jumlah
jumlah = 0;
//inisialisasi variabel pencacah bilangan
bilangan = 3;
while (bilangan > 0 )
{
//meminta inputan dari user
printf("Masukkan angka : ");
scanf("%f",&x);
//menjumlahkan angka yg diinputkan
jumlah = jumlah + x;
//mengurangkan pencacah untuk mencapai
//kondisi berhenti
bilangan = bilangan - 1;
}
//menghitung rata-rata dari 3 inputan angka
rerata = jumlah / 3;
//menampilkan hasil rata-rata
printf("Rerata : %.2f",rerata);
}

Pe ngulanga n

77

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

ALGORITMA Tebak_Huruf
IS : FS : Menampilkan pesan “Maaf Anda salah” jika
tebakan salah, dan menampilkan “Anda Benar” jika
tebakan benar
KAMUS DATA
huruf
: character
1 BEGIN
2 {inisialisasi huruf tebakan pertama }
3
Output(‘Masukkan tebakan : ‘)
4
Input(huruf)
5 WHILE (huruf != ‘q’) {pengecekan kondisi}
6
Output(‘Maaf Anda salah ‘)
7 Output(‘Masukkan tebakan : ‘)
8 Input(huruf) {input huruf berikutnya}
9 ENDWHILE
10 Output (‘Anda Benar’)
11 END

78

Pe ngulanga n

Polit e knik T e lk om

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

Algorit m a dan Pe mrogra man

//Tebak_Huruf.c
//User memasukkan sebuah karakter untuk menebak
#include
main()
{
//deklarasi variabel untuk menerima input
char huruf;
//menginisialisasi huruf awal untuk dicek
printf("Tebakan : " );
scanf("%s",&huruf);
//pengecekan kondisi terhadap huruf inputan
while (huruf!='q')
{
//jika huruf bukan 'q' maka input huruf lain
printf("Maaf anda salah");
printf("\nTebakan : " );
scanf("%s",&huruf);
}
//jika huruf = 'q' maka tidak masuk ke while
printf("Anda Benar");
}

5.3

1
2
3
4
5

{inisialisasi}
DO
aksi
ubah pencacah
WHILE (kondisi)

Pe ngulanga n

79

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

ALGORITMA Kupas_Kentang
IS : Terdapat 10 kentang belum dikupas
FS : 10 kentang telah terkupas
KAMUS DATA
kentang : integer
1 BEGIN
2 {inisialisasi jml kentang yang sudah dikupas}

3 kentang
0
4 DO
5 Ambil sebuah kentang
6 Kupas kulit kentang
7 {pencapaian kondisi berhenti}
8 kentang kentang+1
9 WHILE (kentang < 10) {kondisi berhenti}
10 END

80

Pe ngulanga n

Polit e knik T e lk om

Algorit m a dan Pe mrogra man

kentang <
10
6)
ALGORITMA Tampil_Bintang
IS : Jumlah bintang yg tampil = 0
FS : Jumlah bintang yg tampil = 5
KAMUS DATA
i : integer
1 BEGIN
2 i
0
{inisialisasi pencacah i}
3 DO
4 Output (‘*’) {aksi}
5 i
i + 1
{pencapaian kondisi berhenti}
6 WHILE (i < 5)
{jumlah iterasi}
7 END

*
*
*
*
*
i