Vous êtes sur la page 1sur 15

Niklaus Wirth

Eidgenossische Technische Hochschule


Zurich, Switzerland
ALGORITMA
adalah langkah-langkah
yang diambil dalam
menyelesaikan suatu tugas Langkah-langkah harus
tersusun secara LOGIS
dan Efisien
agar dapat menyelesaikan
Diselesaikan
tugas dengan benar
Oleh
dan efisien.
KOMPUTER

ALGORITMA
merupakan gabungan antara
SENI dan TEKNIK TEKNIK,
Karena Algoritma diterapkan di
Komputer
yang penuh dengan TOOL
SENI, dan metodologi
karena Algoritma penuh dengan
kreativitas dan imajinasi yang
jenius

ALGORITMA
ditulis dalam suatu
bahasa yang disebut
Bahasa Pemrograman Contoh Bahasa Pemrograman :
BASIC
Pascal
C
C++
ALGORITMA Java
yang ditulis dalam suatu
Bahasa Pemrograman
disebut PROGRAM
Salah satu buku literatur, memberikan definisi dan kriteria sebuah
algoritma sebagai berikut :

An algorithm is a finite set of instructions which, if followed, accomplish a


particular task. In addition every algorithm must satisfy the following criteria :

1). Input : there are zero or more quantities which are externally supplied;
2). Output : at least one quantity is produced;
3). Definiteness : each instruction must be clear and unambiguous;

4). Finiteness : if we trace out the instructions of an algorithm, then for all cases the
algorithm will terminate after a finite number of steps;

5). Effectiveness : every instruction must be sufficiently basic that it can in


principle be carried out by a person using only pencil and paper. It is not
enough that each operation be definite as in 3), but it must also be feasible.

Horowitz,Eliis and Sahni, Sartaj;


FUNDAMENTAL OF DATA STRUCTUTES;
Computer Science Press, Inc.; Rocville, Maryland;
1983

Secara bebas definisi diatas dapat diterjemahkan sebagai berkut :

Algoritma adalah sekumpulan instruksi, yang apabila dijalankan, akan


menyelesaikan suatu tugas tertentu. Sebagai tammbahan, setiap algoritma
harus memenuhi kriteria sebagai berikut
1). Tidak harus ada data masukan yang dimasukkan dari luar.
2). Paling tidak ada satu buah keluaran
3) Setiap instruksi jelas maksudnya dan tidak meragukan

4). Algoritma baik secara keseluruhan maupun sub algoritma bila ditelusuri
harus ada titik berhentinya.

5). Setiap instruksi selain jelas juga harus dapat dilaksanakan, dan juga
efektif
dalam arti harus menghasilkan sesuatu. Sebagai contoh A=A+0
atau A = A*1, adalah termasuk instruksi yang tidak efektif.
Learning
Algorithms
by
practical ways
Soal-1.
Diketahui dua buah bilangan masing- masing bernilai 5 dan 4.
Susun algoritma yang ditulis dalam Bahasa C++, untuk mencetak
total kedua buah bilangan tersebut.

Algoritma Algoritma dalam Algoritma dalam


secara Umum Bahasa C Bahasa C++
A← 5 #include<stdio.h> #include<iostream.h>
B ← 4 void main() void main()
T ← A+B { int A,B,T; { int A,B,T;
WRITE(T) A = 5; A = 5;
B = 4; B = 4;
T = A + B; T = A + B;
printf(“%i”, T); cout << T;
} }
Tercerak : 9
Tercerak : 9
praktek

Algoritma
secara Umum
Dapat diganti misal :
A ← 5 A= 5 A diisi 5
B ← 4 B = 4
T ← A+B T = A+B
WRITE(T) WRITE(T)
Dapat ditulis
secara bebas asal
Dapat diganti, misalnya
dapat dimengerti dengan :
oleh orang lain
WRITE T
PRINT ( T )
Seperti yang PRINT T
dicontohkan CETAK T
dalam buku TULIS T
literatur Print T
Write T
dan sebagainya
asal dipahami
C++ C
#include<iostream.h> #include<stdio.h>
void main() void main()
{ int A,B,T; { int A,B,T;
A = 5; A = 5;
B = 4; B = 4;
T = A + B; T = A + B;
cout << T; printf(“%i”, T);
} }

Program diatas dapat juga ditulis sbb:

#include <iostream.h>
void main()
{ int A, B, T;
A = 5; B = 2; T = A + B; Satu baris statement
cout << T; dapat terdiri dari lebih
} dari satu instruksi

Atau sebagai berikut :


#include <iostream.h>
void main()
{ int A, B, T;
A = 5; B = 2; T = A + B; cout << T;
}

#include <iostream.h>
void main()
{ int A, B, T; A = 5; B = 2; T = A + B; cout << T;
}

#include <iostream.h>
void main()
{ int A=5, B=4, T;
T = A + B; cout << T;
}
Beberapa cara yang berbeda dengan maksud
dan hasil yang sama

#include<iostream.h>
void main() 5 4 9
{ int A,B,T;
A B T
A = 5;
B = 4;
T = A + B;
cout << T;
}

#include <iostream.h> 5 4
void main()
{ int A, B; A B
A = 5;
B = 4;
Total tidak disimpan dalam sebuah
cout << A+B ; variabel, tapi hasil penambahan A+B
} bisa langsung dicetak

#include <iostream.h>
void main() 5
{ int A;
A = 5; A
cout << A+4 ;
}

#include <iostream.h>
void main()
{
cout << 5+4 ;
}

#include <iostream.h> Walaupun ini juga program, tapi


void main() BUKAN program yang dimaksud
{ untuk menghitung 5 + 4 tapi hanya
cout << 9 ; sekedar mencetak nilai 9 yang
} telah kita hitung sendiri. Nilai 9
bukan dihitung oleh komputer
Soal-2
Susun algoritma yang ditulis dalam bahasa C++
untuk menginput 2 (dua) buah bilangan (nilai), kemudian mencetak total
kedua buah bilangan tersebut:
Cara-1
MISAL NILAI YANG DIINPUT ADALAH 5 DAN 4 C
#include <stdio.h>
5 void main()
4 { int A, B, T;
cin 5 4 9 cout scanf(“%i”,&A);
9
scanf(“%i”,&B);
A B T T = A + B;
printf(“%i”,T);
}
Cara-1 C++ Program
Flowchart
#include <iostream.h>
void main() START Terminal :
{ int A, B, T; START & END
cin >> A; cin
A I/O
cin >> B; ( INPUT / OUTPUT)
T = A + B; cin
B
cout << T; PROCESS
T=A+B
}
cout
Dua instruksi cin diatas, T
dapat digabung menjadi satu Cara-3
instruksi : END
cin >> A >> B; #include <io.stream.h>
Cara-2 void main()
{ int A, T;
cin #include <io.stream.h>
A,B T = 0;
void main()
cin >> A;
{ int A, B, T;
T = T + A;
T = 0;
cin >> A;
cin >> A;
T = T + A;
T = T + A;
cin >> B; cout << T;
T = T + B; }
cout << T;
A B T }
A T
Soal-3
Susun program dalam bahasa C
untuk menginput 4 (empat) buah bilangan (nilai),
kemudian mencetak total keempat buah bilangan tersebut:

5
Cara-1.
2
Menggunakan 5 variabel
10
6

5 2 10 6

A B C D
23 23
T

Cara-1 C++ Cara-1a C++


#include <iostream.h> #include <iostream.h>
void main() void main()
{ int A, B, C, D, T; { int A, B, C, D, T;
cin >> A; cin >> A >> B >> C >> D;
cin >> B; T = A + B + C + D;
cin >> C; cout << T;
cin >> D; }
T = A + B + C + D;
cout << T;
C
} #include <stdio.h>
void main()
{ int A, B, C, D, T;
scanf(“%i %i %i %i”, &A, &B, &C, &D );
T = A + B + C + D;
printf(“%i”, T);
}
Cara-2 Cara-3
#include <iostream.h> #include <iostream.h>
void main() void main()
{ int A, B, C, D, T; { int A, T;
cin >> A; T = 0;
T = T + A; cin >> A;
cin >> B; T = T + A;
cin >> A;
T = T + B;
T = T + A;
cin >> C;
cin >> A;
T = T + C;
T = T + A;
cin >> D; cin >> A;
T = T + D; T = T + A;
cout << T; cout << T;
} }

5 5
2 2
10 10
6 6
A B C D

A T
T

Pengembangan Cara-3
#include <stream.h> #include <iostream.h>
void main() void main()
#include <iostream> { int A, i, T; { int A, i, T;
void main() T = 0; T = 0;
{ int A, i, T; i = 1; i = 1;
T = 0; while ( i <= 4) do
for ( i=1; i <= 4; i=i+1) { {
cin >> A; cin >> A;
{ T = T + A;
cin >> A T = T + A;
i = i + 1; i = i + 1;
T = T + A; }
} }
while ( i <= 4);
cout << T;
cout << T; cout << T;
}
} }
Soal-4
Susun program dalam bahasa C
untuk menginput 100 (seratus) buah bilangan (nilai),
kemudian mencetak total keempat buah bilangan tersebut:
--
--
--
-
xx

A T

#include <stream.h> #include <iostream.h>


#include <iostream> void main() void main()
void main() { int A, i, T; { int A, i, T;
{ int A, i, T; T = 0; T = 0;
i = 1; i = 1;
T = 0;
while ( i <= 100 ) do
for ( i=1; i <= 100; i=i+1) { {
{ cin >> A; cin >> A;
cin >> A T = T + A; T = T + A;
T = T + A; i = i + 1; i = i + 1;
} } }
while ( i <= 100);
cout << T; cout << T;
cout << T;
} }
}

Vous aimerez peut-être aussi