SlideShare a Scribd company logo
1 of 99
Niklaus Wirth
Eidgenossische Technische Hochschule
Zurich, Switzerland
Dalam pelajaran Algoritma,
Tugas / Pekerjan Tersebut
akan
diselesaikan
Oleh
KOMPUTER
Langkah-langkah
harus tersusun
secara LOGIS
dan Efisien
agar dapat
menyelesaikan tugas
dengan BENAR
dan Efisien.
Algoritma
adalah langkah-langkah
yang diambil dalam
menyelesaikan suatu tugas
/ pekerjaan
TEKNIK,
karena membuat Algoritma
adalah suatu pekerjaan yang
bersifat mendesain suatu
rancang bangun yang efektif
dan efisien.
Seni,
karena Algoritma
penuh dengan
kreativitas dan
imajinasi yang jenius
Algoritma
merupakan gabungan antara SENI
dan TEKNIK
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
Salah satu buku literatur, memberikan definisi dan kriteria sebuah
algoritma sebagai berikut :
Baca sendiri
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.
Baca sendiri
Horowitz,Eliis and Sahni, Sartaj;
FUNDAMENTAL
OF DATA STRUCTUTES; Computer Science
Press, Inc.;
Rocville, Maryland; 1983
PSEUDO-CODE
for i ← 1 to n-1 do
examine A(i) to A(n) and suppose the
smallest integer is at A(j); then interchange
A(i) and A(j).
end
ALGORITMA
for i ← 1 to n-1 do
j ← i
for k ← j+1 to n do
if A(k) < A(j) then j ← k
end
t ← A(i); A(i) ← A(j); A(j) ← t
end
Baca sendiri
2). Mencari suatu nilai dalam array dengan cara Binary Search.
PSEUDO-CODE
Procedure BINSRCH(A,n,x,j)
initialize lower and upper
while there are more elements to check do
let A(mid) be the middle element
case
: x > A(mid) : set lower to mid + 1
: X < A(mid) : set upper to mid - 1
: else : found
end
end
not found
end BINSRCH
Baca sendiri
Bila ditulis dalam bentuk algoritma:
ALGORITMA
Procedure BINSCRH(A,n,x,j)
lower ← 1; upper ← n
while lower <= upper do
mid ← [ (lower + upper) / 2 ]
case
: x > A(mid) : lower ← mid +1
: x < A(mid) : upper ← 1
: else : j ← mid; return
end
end
j ← 0
end
Baca sendiri
Untuk menunjukkan kaitan antara Pseudo Code dan Algoritma,
berikut ini diperlihatkan beberapa contoh penulisan Algoritma
untuk Pseudo Code yang diberikan
Pseudo Code Algoritma
•Nilai A ditambah dengan 5
•Cetak nilai A, bila nilai
tersebut lebih besar dari 5
•Dari dua buah nilai A dan B
cetak salah satu yang terbesar
•A = A + 5
•IF(A > 5) THEN
WRITE(A)
•IF (A>B) THEN WRITE(A)
ELSE WRITE B)
Baca sendiri
ALGORITMA
for i ← 1 to n-1 do
j ← i
for k ← j+1 to n do
if A(k) < A(j) then j ← k
end
t ← A(i); A(i) ← A(j); A(j) ← t
end
a. Bahasa BASIC
FOR I=1 TO N-1
J = 1
FOR K=J+1 TO N
IF A(K)< A(J)THEN
J = K
END IF
NEXT K
T=A(I): A(I)=A(J): A(J)=T
NEXT I
Baca sendiri
b. Bahasa PASCAL
FOR I := 1 TO N-1
Begin
J := 1;
FOR K := J+1 TO N
Begin
IF A[K] < A[J]
J := K;
End;
T:=A[I]; A[I]:=A[J]; A[J]:=T;
End;
ALGORITMA
for i ← 1 to n-1 do
j ← i
for k ← j+1 to n do
if A(k) < A(j) then j ← k
end
t ← A(i); A(i) ← A(j); A(j) ← t
end
Baca sendiri
ALGORITMA
for i ← 1 to n-1 do
j ← i
for k ← j+1 to n do
if A(k) < A(j) then j ← k
end
t ← A(i); A(i) ← A(j); A(j) ← t
end
c. Bahasa C atau C++
for(I=1; I <= N-1; I++)
{
J = 1;
for(K = J+1; K <= N; K++)
{
if(A[K] < A[J] )
J = K;
}
T=A[I]; A[I]=A[J]; A[J]=T;
}Baca sendiri
ALGORITMA
for i ← 1 to n-1 do
j ← i
for k ← j+1 to n do
if A(k) < A(j) then j ← k
end
t ← A(i); A(i) ← A(j); A(j) ← t
end
d. Bahasa Java
for(I=1; I <= N-1; I++)
{
J = 1;
for(K = J+1; K <= N; K++)
{
if(A[K] < A[J] )
J = K;
}
T=A[I]; A[I]=A[J]; A[J]=T;
}Baca sendiri
ALGORITMA
for i ← 1 to n-1 do
j ← i
for k ← j+1 to n do
if A(k) < A(j) then j ← k
end
t ← A(i); A(i) ← A(j); A(j) ← t
end
d. Bahasa Java
for(I=1; I <= N-1; I++)
{
J = 1;
for(K = J+1; K <= N; K++)
{
if(A[K] < A[J] )
J = K;
}
T=A[I]; A[I]=A[J]; A[J]=T;
}
c. Bahasa C atau C++
for(I=1; I <= N-1; I++)
{
J = 1;
for(K = J+1; K <= N; K++)
{
if(A[K] < A[J] )
J = K;
}
T=A[I]; A[I]=A[J]; A[J]=T;
}
Baca sendiri
1.3. Program Flowchart. START
JUM ← 0
READ
I ← 1
I ← I + 1
JUM ← JUM + 1
NIL >= 60
NIL
I <= 100
WRITE JUM
END
yes
no
while
if
yes
no
Menginput sampel 100 nilai ujian mahasiswa dan
mencetak ada berapa orang mahasiswa yang lulus
dari 100 sampel tersebut.
Dinyatakan lulus apabila nilai ujian lebih besar atau
sama dengan 60.
JUM ← 0
I ← 1
WHILE I <= 100
DO
READ(NIL)
IF NIL >= 60
THEN JUM ← JUM + 1
ENDIF
I ← I + 1
ENDDO
WRITE(JUM)
Baca sendiri
for i ← 1 to n-1 do
j ← i
for k ← j+1 to n do
if A(k) < A(j) then j ← k
end
t ← A(i); A(i) ← A(j); A(j) ← t
end
T ← A(I)
I ← 1
K ← K + 1
A(K) < A(J)
I <= N - 1
yes
n
o
For J ← I
K ← J + 1
K <= N
J ← K
A(I) ← A(J)
A(J) ← T
For yes
n
o
yes
n
o
if
I ← I + 1
Baca sendiri
for i ← 1 to n-1 do
j ← i
for k ← j+1 to n do
if A(k) < A(j) then j ← k
end
t ← A(i); A(i) ← A(j); A(j) ← t
end
T ← A(I)
I ← 1
K ← K + 1
A(K) < A(J)
I <= n - 1
no
For
J ← I
K ← J + 1
K <= N
J ← K
A(I) ← A(J)
A(J) ← T
yes
yes
no
if
For
no
yes
I ← I + 1
Baca sendiri
Terminal, untuk menyatakan START dan END
hanya sebagai tanda, tidak melakukan
suatu pekerjaan khusus.
Process, untuk menyatakan assignment statement
I/O, Input/Output operation.
untuk menyatakan proses baca (READ)
dan proses tulis (WRITE)
Decision, untuk menyatakan pengambilan keputusan
sesuai dengan suatu kondisi.
Digunakan untuk menggambarkan control
statement.
Garis, untuk menyatakan urutan pelaksanaan, atau
alur proses.
Baca sendiri
Preparation, Pemberian nilai awal suatu variabel.
Biasa dipakai pada bahasa COBOL,
juga bahasa C.
Call , Memanggil suatu subprogram (procedure,
atau function)
Titik connector yang berada pada halaman yang sama
Titik connector yang berada pada halaman lain.
Baca sendiri
dari cara kerjanya, ada tiga macam atau tiga
kategori pokok komponen instruksi dalam
algoritma, yaitu :
1.4. Struktur Alur Algoritma.
1. Assignment Statement,
2. Input / Output Statement, dan
3. Control Statement.
yang masih dapat ditambah satu macam lagi yaitu
4. Call Statement.
Baca sendiri
Dilihat dari struktur alur atau urutan pelaksanaan instruksi, ada
tiga macam struktur flow yaitu :
1. Sequential flow,
2. Branch flow,
- Uncoditional Branch flow,
- Conditional Branch flow, atau
Conditional Selection flow.
3. Repetition flow atau Iteration flow atau Loop flow,
- Unconditional Repetition flow,
- Conditional Repetition flow.
Baca sendiri
1.4.1. Struktur sequential
Contoh :
for i ← 1 to n-1 do
j ← i
for k ← j+1 to n do
if A(k) < A(j) then j ← k
end
t ← A(i); A(i) ← A(j); A(j) ← t
end
1)
2)
3)
4)
5)
6)
7)
t ← A(i)
A(i) ← A(j)
A(j) ← t
Contoh lain:
READ(A)
READ(B)
T ← A + B
WRITE(T)
6)
Baca sendiri
1.4.2. Struktur Conditional Branch/Selection.
Contoh :
IF-THEN-ELSE Statement
READ(A)
READ(B)
IF A > B
THEN WRITE(A)
ELSE WRIE(B)
ENDIF
1)
2)
3)
4)
5)
6)
Baca sendiri
Contoh :
IF-THEN Statement
READ(N)
IF N >= 60
THEN WRITE(“LULUS”)
ENDIF
1)
2)
3)
4)
Baca sendiri
Contoh :
CASE Statement
READ(Nilai)
CASE
: Nilai = “A” : WRITE(“Bagus Sekali”)
: Nilai = “B” : WRITE(“Bagus”)
: Nilai = “C” : WRITE(“Cukup”)
: Nilai = “D” : WRITE(“Kurang”)
: else : WRITE(“Kurang Sekali”)
EndCase
Baca sendiri
READ(Nilai)
CASE Nilai OF
“A” : WRITE(“Bagus Sekali”)
“B” : WRITE(“Bagus”)
“C” : WRITE(“Cukup”)
“D” : WRITE(“Kurang”)
else : WRITE(“Kurang Sekali”)
EndCase
atau
Baca sendiri
1.4.3. Struktur Loop
Contoh :
Unconditional LOOP
T ← 0
FOR I ← 1 TO 100
DO
READ(A)
T ← T + A
ENDDO
WRITE(T)
1)
2)
3)
4)
5)
6)
7)
Baca sendiri
Contoh :
Conditional LOOP
T ← 0
I ← 1
WHILE I <= 100
DO
READ(A)
T ← T + A
I ← I + 1
ENDDO
WRITE(T)
1)
2)
3)
4)
5)
6)
7)
8)
9)
Baca sendiri
Langkah-langkah
harus tersusun secara
LOGIS
dan Efisien
agar dapat
menyelesaikan tugas
dengan benar
dan efisien.
ALGORITMA
adalah langkah-langkah
yang diambil dalam
menyelesaikan suatu tugas
/ pekerjaan
Dalam pelajaran Algoritma,
Tugas / Pekerjaan tersebut
akan diselesaikan
dengan
menggunakan
adalah :
memang dirancang
untuk dapat
melaksanakan
perintah
yang diberikan oleh
manusia
Susunan
perintah-perintah
inilah yang
disebut
algoritma
RAM
Contoh
WINDOWS
Mempunyai
Processor contoh Intel Pentium
KOMPUTER
adalah alat pengolah data,
dengan konstruksi elektronik,
yang mempunyai, internal storage
bekerja dengan bantuan
Operating System
menurut program yang diberikan
kepadanya.
misal :
Intel Pentium
PROCESSOR
MEMORY
(internal Storage)
SCREEN
KEYBOARD
HARDDISK
(external storage) RAM
misal
kapasitas
64 MB
Input
device
Misal
kapasitas
10 GB
Output
device
Input &
Output
device
misal :
Intel Pentium
Data
Operating
System
OPERATING
SYSTEM
PROGRAM
--------
--------
--------
--------
--------
--------
data
PROCESSOR
MEMORY
(internal Storage)
SCREEN
KEYBOARD
HARDDISK
(external storage)
data data
Program
RAM
misal
kapasitas
64 MB
Input
device
Misal
kapasitas
10 GB
Output
device
Input &
Output
device
laporan
biasa disebut
KOMPUTER
adalah alat pengolah data,
dengan konstruksi elektronik,
yang mempunyai, internal storage
bekerja dengan bantuan
Operating System
menurut program yang diberikan kepadanya.
mempunyai
Suatu tempat didalam komputer
mempunyai kapasitas
daya tampung
Daya Tampung Satuan memory
B singkatan untuk Byte
1 KB (Kilo Byte ) = 1024 Byte
B Byte
1 KB (Kilo Byte ) = 1024 Byte
1 MB (Mega Byte ) = 1024 KB
B Byte
1 KB (Kilo Byte ) = 1024 Byte
1 MB (Mega Byte ) = 1024 KB
1 GB (Giga Byte ) = 1024 MB
B Byte
1 KB (Kilo Byte ) = 1024 Byte
1 MB (Mega Byte ) = 1024 KB
1 GB (Giga Byte ) = 1024 MB
1 TB (Tera Byte ) = 1024 GB
B Byte
1 KB (Kilo Byte ) = 1024 Byte
1 MB (Mega Byte ) = 1024 KB
1 GB (Giga Byte ) = 1024 MB
1 TB (Tera Byte ) = 1024 GB
. . . . . . . . . . . . . . = 1024 TB
B Byte
1 KB (Kilo Byte ) = 1024 Byte
1 MB (Mega Byte ) = 1024 KB
1 GB (Giga Byte ) = 1024 MB
1 TB (Tera Byte ) = 1024 GB
. . . . . . . . . . . . . . = 1024 TB
. . . . . . . . . . . . . . = 1024 ……
Mengapa
mengapa
bukan
10001 kg = 1000 g
1 km = 1000 m
Karena komputer
menggunakan
Bilangan biner
adalah bilangan
yang berbasis 2
x x x x x . x x x x
Hanya mengenal 2
macam notasi atau
simbol yaitu :
0 dan 1
16 8 4 2 1 0.5 0.25 0.125 0.0625
Setiap digit
1 ,
nilainya
titik decimal
angka biner
(binary digit)
1 0 0 1 1 . 1 0 1 0
16 8 4 2 1 0.5 0.25 0.125 0.0625
Setiap digit
1 ,
nilainya
Bilangan binary ini
nilainya secara
decimal = 19.625
16 + 2 +1 = 19 0.5 + 0.125 = 0.625
1
2
4
8
16
32
64
128
256
512
1024
2048
.
.
.
ini yang
dipakai
untuk
kilo
1024 = nilai yang paling
mendekati 1000
mengapa
yang biasa kita
gunakan sehari-hari
Bilangan decimal
yaitu bilangan yang
berbasis 10
x x x x . x x x
mengenal 10 macam
notasi atau simbol
yaitu :
0, 1, 2, ……..9
1000 100 10 1 0.1 0.01 0.001
Setiap satu
satuan ,
nilainya
titik decimal
memory
no: 0 1 2 3
No :
64 * 1024 * 1024 - 1
(Untuk memory 64 MB)
1 BYTE = 8 bit (binary digit)
X X X X X X X X
1 2 3 4 5 6 7 8
Bila memory dianggap
sebagai sebidang tanah,
maka 1 BYTE dapat
dianggap sebagai 1 meter
persegi
Satuan lain : WORD ( 4 Byte)
HALF WORD ( 2 Byte)
DOUBLE WORD ( 8 Byte)
SECTOR (512 Byte)
BYTE adalah satuan memory
(storage) terkecil yang
masih bisa diberi alamat
MEMORY dan satuan BYTE
Memory, bila dibayangkan sebagai sebidang tanah,
maka satu BYTE adalah area sebesar satu meter
persegi, yang dapat menyimpan satu buah huruf
Bila dibayangkan sebagai sebuah ruangan, maka
satu BYTE adalah sebuah ubin yang dapat
menampung sebuah huruf
RANDOM ACCESS (Akses secara Acak)
0 1 2 3 4 5 . . . . . .
Komputer dapat mengakses (menuju, mencapai,
mendapatkan) sebuah Byte dalam memory, secara
langsung, tanpa harus menelusuri satu per satu mulai
Byte 0,1,2,3, dan seterusnya. Bagi komputer, untuk
mengakses Byte no 1000, sama mudahnya dengan
mengakses Byte nomor 1, atau nomor lainnya
Sebuah Byte terdiri dari 8 komponen yang disebut bit.
Sulit menerangkan benda yang disebut bit tersebut secara fisik.
Hanya dapat diilustrasikan sebagai sebuah bohlam lampu atau
bola lampu yang hanya memiliki salah satu dari 2 kondisi yaitu :
menyala atau padam.
Bila menyala disebut ON, dan padam disebut OFF
Contoh sebuah huruf A
bila disimpan dalam satu BYTE memory
ON
OFF
1 BYTE = 8 bit (binary digit atau angka biner)
ilustrasi sebuah BYTE
yang terdiri dari 8 buah bohlam lampu.
Menurut
standard
ASCII
Catatan :
ON
OFF
disini sengaja dibuat
jarak, hanya agar
mudah melihat jumlah
bitnya ada 8 buah.
Bit = Binary digit (angka biner)
Untuk keperluan komputasi secara digital,
maka :
bit yang ON dinyatakan dengan angka 1, dan
bit yang OFF dinyatakan dengan angka 0
Sehingga huruf A
yang dinyatakan dengan ON dan OFF nya bit-bit sebagai
berikut :
ON
OFF
selanjutnya dinyatakan dengan :
0 1 0 0 0 0 0 1
Binary digit (angka biner)
Bilangan Binary,
Basis (Radix) = 2,
karena hanya mengenal 2 notasi atau simbol yaitu:
0 dan 1
x x x x x x
32 16 8 4 2 1
Bilangan Decimal
Basis (Radix) = 10,
karena mengenal 10 notasi atau simbol yaitu :
0, 1, 2, 3, . . . 9
x x x x
1000 100 10 1
Binary digit (angka biner)
0
1
1 0
1 1
1 0 0
1 0 1
1 1 0
1 1 1
1 0 0 0
1 0 0 1
= 0
= 1
= 2
= 3
= 4
= 5
= 6
= 7
= 8
= 9
Nilai decimal
Nilai yang terkandung dalam sebuah BYTE
Setiap bit yang ON mempunyai nilai sesuai dengan posisinya
dalam sebuah BYTE yang dapat digambarkan sebagai berikut :
128 64 32 16 8 4 2 1
Contoh : Bila bit-bit dalam satu Byte dinyatakan
sebagai berikut :
0 0 1 1 0 1 0 1
32 16 4 1
maka nilai numerik yang tersimpan = 53
( = 32 + 16 + 4 + 1 )
Nilai karakter A
Ilustrasi huruf A yang disimpan dalam suatu BYTE
128 64 32 16 8 4 2 1
Sehingga karakter A, atau huruf A
yang disimpan dalam satu BYTE memory akan bernilai = 65
karena bit yang ON bernilai 64 dan 1.
Yang dinyatakan dengan angka biner (binary digit)
menjadi :
0 1 0 0 0 0 0 1
128 64 32 16 8 4 2 1
128 64 32 16 8 4 2 1
A
B
C
D
E
HURUF
atau
KARAKTER : = 65
= 66
= 67
= 68
= 69
KOMPUTER
adalah alat pengolah data,
dengan konstruksi elektronik,
yang mempunyai, internal storage
bekerja dengan bantuan
Operating System
menurut program yang diberikan
kepadanya.
Operating System
adalah software yang dibuat untuk
mengendalikan bekerjanya komputer.
Semua pekerjaan didalam komputer dikendalikan
(di-control) oleh Operating System
Beberapa Contoh Operating System :
DOS
WINDOWS
WINDOWS NT
UNIX
LINUX
XENIX
MACINTOSH
SUN SOLARIS
KOMPUTER
adalah alat pengolah data,
dengan konstruksi elektronik,
yang mempunyai, internal storage
bekerja dengan bantuan
Operating System
menurut program yang diberikan kepadanya.
= Langkah-langkah
dalam Alagoritma
Instruksi-instruksi
harus tersusun
secara logis
Memerlukan
LOGIKA
yang benar
PROGRAM
adalah kumpulan
instruksi-instruksi
yang diberikan kepada komputer
untuk menyelesaikan suatu tugas
PROGRAM
ditulis dalam suatu bahasa yang disebut Bahasa
Pemrograman (Programming Language)
Contoh Bahasa
Pemrograman :
COBOL
FORTRAN
Pascal
BASIC
C
Java
dan sebagainya
Bahaca C ini yang kita
gunakan untuk
menerapkan Algoritma
di komputer
Learning
Algorithms
by
practical ways
Mencari Total dua buah bilangan
(Misal dua buah bilangan tersebut masing
masing bernilai 5 dan 4).
diselesaikan
dengan
menggunakan
SIPOA, SWIPOA,
SEMPOA
diselesaikan
dengan
menggunakan
KALKULATOR
diselesaikan
dengan
menggunakan
KOMPUTER
Bila diselesaikan dengan komputer
menggunakan
EXCEL
Menggunakan
program
yang
dibuat sendiriSuatu program yang sudah jadi,
dibuat oleh orang lain,
yang
siap untuk kita gunakan
Kita akan
membuat
program
sendiri
Diketahui dua buah bilangan masing-
masing bernilai 5 dan 4.
Susun program yang ditulis dalam
Bahasa C / C++, untuk mencetak total
kedua buah bilangan tersebut.
Mencari Total dua buah bilangan
(Misal dua buah bilangan tersebut masing
masing bernilai 5 dan 4).
Persoalan ini, bila akan diselesaikan dengan
program komputer, maka bunyi kalimatnya dapat
diganti menjadi :
Soal
Algoritma
secara Umum
A ← 5
B ← 4
T ← A + B
WRITE(T)
Algoritma dalam
Bahasa C
#include<stdio.h>
void main()
{ int A,B,T;
A = 5;
B = 4;
T = A + B;
printf(“%i”, T);
}
Diketahui dua buah bilangan masing- masing bernilai 5 dan 4.
Susun algoritma yang ditulis dalam dalam Bahasa C/C++, untuk
mencetak total kedua buah bilangan tersebut.
#include<iostream.h>
void main()
{ int A,B,T;
A = 5;
B = 4;
T = A + B;
cout << T;
}
Algoritma dalam
Bahasa C++
Soal-1a
Algoritma
secara Umum
A ← 5
B ← 4
T ← A + B
WRITE(T)
Dapat ditulis
secara bebas
asal dapat
dimengerti oleh
orang lain
A = 5
B = 4
T = A + B
WRITE(T)
Dapat diganti,
misalnya dengan :
WRITE T
PRINT ( T )
PRINT T
CETAK T
TULIS T
Print T
Write T
dan sebagainya
asal dipahami
Dapat diganti misal :
A diisi 5
Seperti yang
dicontohkan
dalam buku
literatur
ALGORITMA
adalah langkah-langkah
yang diambil dalam
menyelesaikan suatu tugas
KEMBALI KE :
A ← 5
B ← 4
T ← A + B
WRITE(T)
ADA
4
LANGKAH
Direncanakan
yang
menyelesaikan
tugas atau
pekerjaan
tersebut adalah :
KOMPUTER
ALGORITMA
adalah langkah-langkah
yang diambil dalam
menyelesaikan suatu tugas
atau pekerjaan
A ← 5
B ← 4
T ← A + B
WRITE(T)
ADA
4
LANGKAH
Satu langkah identik
dengan satu instruksi
komputer
ALGORITMA
adalah INSTRUKSI-INSTRUKSI
yang diberikan kepada KOMPUTER
untuk menyelesaikan suatu pekerjaan
SEHINGGA DAPAT DIKATAKAN :
Komputer memang
dirancang untuk dapat
menerima dan
melaksanakan instruksi
yang diberikan
kepadanya
Direncanakan
yang
menyelesaikan
tugas atau
pekerjaan
tersebut adalah :
KOMPUTER
A ← 5
B ← 4
T ← A + B
WRITE(T)
ALGORITMA YANG DITULIS
SEPERTI INI , TIDAK
DIPAHAMI OLEH KOMPUTER
Komputer
hanya mengerti
bahasanya sendiri
yang disebut
BAHASA MESIN
karena
Tidak disiapkan alat untuk
menerjemahkan ALGORITMA
tersebut menjadi
BAHASA MESIN
ALGORITMA
adalah INSTRUKSI-INSTRUKSI
yang diberikan kepada KOMPUTER
untuk menyelesaikan suatu pekerjaan
Algoritma
secara Umum
A ← 5
B ← 4
T ← A + B
WRITE(T)
Algoritma dalam
Bahasa C
#include<stdio.h>
void main()
{ int A,B,T;
A = 5;
B = 4;
T = A + B;
printf(“%i”, T);
}
#include<iostream.h>
void main()
{ int A,B,T;
A = 5;
B = 4;
T = A + B;
cout << T;
}
Algoritma dalam
Bahasa C++
TIDAK
DIMENGERTI
OLEH
KOMPUTER
DIMENGERTI OLEH KOMPUTER
karena
Sudah disiapkan atau disediakan
ALAT PENERJEMAH nya menjadi BAHASA MESIN
Algoritma dalam
Bahasa C
#include<stdio.h>
void main()
{ int A,B,T;
A = 5;
B = 4;
T = A + B;
printf(“%i”, T);
}
#include<iostream.h>
void main()
{ int A,B,T;
A = 5;
B = 4;
T = A + B;
cout << T;
}
Algoritma dalam
Bahasa C++
Agar dapat diterjemahkan menjadi BAHASA MESIN,
maka ALGORITMA harus ditulis dalam suatu Bahasa
Pemrograman (Programming Language)
Contoh : Bahaca C
Algoritma
secara Umum
A ← 5
B ← 4
T ← A + B
WRITE(T)
Algoritma dalam
Bahasa C
#include<stdio.h>
void main()
{ int A,B,T;
A = 5;
B = 4;
T = A + B;
printf(“%i”, T );
}
Variabel
tidak didefine/
dideklarasi/
dinyatakan/
dipesan
lebih dulu
Variabel perlu
didefine/
dideklarasi/
lebih dulu
VARIABLE
--------------
VARIABEL
- Tipe (Type)
- Nama
- Isi Mewakili
ALAMAT
(address)
Diketahui dua buah bilangan masing- masing bernilai 5 dan 4.
Susun algoritma yang ditulis dalam dalam Bahasa C untuk
mencetak total kedua buah bilangan tersebut.
Soal-1a
Algoritma
secara Umum
A ← 5
B ← 4
T ← A + B
WRITE(T)
Algoritma dalam
Bahasa C++
#include<iostream.h>
void main()
{ int A,B,T;
A = 5;
B = 4;
T = A + B;
cout << T;
}
Variabel
tidak didefine/
dideklarasi/
dinyatakan/
dipesan
lebih dulu
Variabel perlu
didefine/
dideklarasi/
lebih dulu
VARIABLE
--------------
VARIABEL
- Tipe (Type)
- Nama
- Isi Mewakili
ALAMAT
(address)
Diketahui dua buah bilangan masing- masing bernilai 5 dan 4.
Susun algoritma yang ditulis dalam dalam Bahasa C++, untuk
mencetak total kedua buah bilangan tersebut.
Soal-1a
Mengetik, dan menjalankan
di
#include<iostream.h>
void main()
{ int A,B,T;
A=5;
B=4;
T=A+B:
cout << T;
}
C
compiler
windows
#include<iostream.h>
void main()
{ int A,B,T;
A = 5;
B = 4;
T = A + B;
cout << T;
}
5 4 9
A B T
9
5 + 4 = 9C PU
MEMORY
SCREEN
KEYBOARD
Windows
C
compiler
HARDDISK
2
xxxxxx
xxxxxx
xxxxxx
xxxxxx
xxxxxx
xxxxxx
xxxxxx
xxxxxx
xxxxxx
xxxxxx
xxxxxx
2 3
1
4
Bersambung ke :

More Related Content

Similar to OPTIMIZED ALGORITHM

Algoritma dan pemrograman 1
Algoritma dan pemrograman 1Algoritma dan pemrograman 1
Algoritma dan pemrograman 1Javra Ketoprak
 
FUNGSI KOMPLEKS - TURUNAN DAN ATURAN RANTAI
FUNGSI KOMPLEKS - TURUNAN DAN ATURAN RANTAI FUNGSI KOMPLEKS - TURUNAN DAN ATURAN RANTAI
FUNGSI KOMPLEKS - TURUNAN DAN ATURAN RANTAI endahnurfebriyanti
 
Pertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IFPertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IFAchmad Solichin
 
Review algoritma percabangan dan perulangan - Pertemuan Teori Minggu 2
Review algoritma percabangan dan perulangan - Pertemuan Teori Minggu 2Review algoritma percabangan dan perulangan - Pertemuan Teori Minggu 2
Review algoritma percabangan dan perulangan - Pertemuan Teori Minggu 2rahmantoyuri
 

Similar to OPTIMIZED ALGORITHM (7)

Algoritma dan Pemrograman
Algoritma dan Pemrograman Algoritma dan Pemrograman
Algoritma dan Pemrograman
 
Algoritma dan pemrograman 1
Algoritma dan pemrograman 1Algoritma dan pemrograman 1
Algoritma dan pemrograman 1
 
FUNGSI KOMPLEKS - TURUNAN DAN ATURAN RANTAI
FUNGSI KOMPLEKS - TURUNAN DAN ATURAN RANTAI FUNGSI KOMPLEKS - TURUNAN DAN ATURAN RANTAI
FUNGSI KOMPLEKS - TURUNAN DAN ATURAN RANTAI
 
Bab1 algoritma
Bab1 algoritmaBab1 algoritma
Bab1 algoritma
 
Dasar c++ input, proses, output
Dasar c++ input, proses, output Dasar c++ input, proses, output
Dasar c++ input, proses, output
 
Pertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IFPertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IF
 
Review algoritma percabangan dan perulangan - Pertemuan Teori Minggu 2
Review algoritma percabangan dan perulangan - Pertemuan Teori Minggu 2Review algoritma percabangan dan perulangan - Pertemuan Teori Minggu 2
Review algoritma percabangan dan perulangan - Pertemuan Teori Minggu 2
 

OPTIMIZED ALGORITHM

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. Niklaus Wirth Eidgenossische Technische Hochschule Zurich, Switzerland
  • 10. Dalam pelajaran Algoritma, Tugas / Pekerjan Tersebut akan diselesaikan Oleh KOMPUTER Langkah-langkah harus tersusun secara LOGIS dan Efisien agar dapat menyelesaikan tugas dengan BENAR dan Efisien. Algoritma adalah langkah-langkah yang diambil dalam menyelesaikan suatu tugas / pekerjaan
  • 11. TEKNIK, karena membuat Algoritma adalah suatu pekerjaan yang bersifat mendesain suatu rancang bangun yang efektif dan efisien. Seni, karena Algoritma penuh dengan kreativitas dan imajinasi yang jenius Algoritma merupakan gabungan antara SENI dan TEKNIK
  • 12. 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 Salah satu buku literatur, memberikan definisi dan kriteria sebuah algoritma sebagai berikut : Baca sendiri
  • 13. 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. Baca sendiri
  • 14. Horowitz,Eliis and Sahni, Sartaj; FUNDAMENTAL OF DATA STRUCTUTES; Computer Science Press, Inc.; Rocville, Maryland; 1983 PSEUDO-CODE for i ← 1 to n-1 do examine A(i) to A(n) and suppose the smallest integer is at A(j); then interchange A(i) and A(j). end ALGORITMA for i ← 1 to n-1 do j ← i for k ← j+1 to n do if A(k) < A(j) then j ← k end t ← A(i); A(i) ← A(j); A(j) ← t end Baca sendiri
  • 15. 2). Mencari suatu nilai dalam array dengan cara Binary Search. PSEUDO-CODE Procedure BINSRCH(A,n,x,j) initialize lower and upper while there are more elements to check do let A(mid) be the middle element case : x > A(mid) : set lower to mid + 1 : X < A(mid) : set upper to mid - 1 : else : found end end not found end BINSRCH Baca sendiri
  • 16. Bila ditulis dalam bentuk algoritma: ALGORITMA Procedure BINSCRH(A,n,x,j) lower ← 1; upper ← n while lower <= upper do mid ← [ (lower + upper) / 2 ] case : x > A(mid) : lower ← mid +1 : x < A(mid) : upper ← 1 : else : j ← mid; return end end j ← 0 end Baca sendiri
  • 17. Untuk menunjukkan kaitan antara Pseudo Code dan Algoritma, berikut ini diperlihatkan beberapa contoh penulisan Algoritma untuk Pseudo Code yang diberikan Pseudo Code Algoritma •Nilai A ditambah dengan 5 •Cetak nilai A, bila nilai tersebut lebih besar dari 5 •Dari dua buah nilai A dan B cetak salah satu yang terbesar •A = A + 5 •IF(A > 5) THEN WRITE(A) •IF (A>B) THEN WRITE(A) ELSE WRITE B) Baca sendiri
  • 18.
  • 19. ALGORITMA for i ← 1 to n-1 do j ← i for k ← j+1 to n do if A(k) < A(j) then j ← k end t ← A(i); A(i) ← A(j); A(j) ← t end a. Bahasa BASIC FOR I=1 TO N-1 J = 1 FOR K=J+1 TO N IF A(K)< A(J)THEN J = K END IF NEXT K T=A(I): A(I)=A(J): A(J)=T NEXT I Baca sendiri
  • 20. b. Bahasa PASCAL FOR I := 1 TO N-1 Begin J := 1; FOR K := J+1 TO N Begin IF A[K] < A[J] J := K; End; T:=A[I]; A[I]:=A[J]; A[J]:=T; End; ALGORITMA for i ← 1 to n-1 do j ← i for k ← j+1 to n do if A(k) < A(j) then j ← k end t ← A(i); A(i) ← A(j); A(j) ← t end Baca sendiri
  • 21. ALGORITMA for i ← 1 to n-1 do j ← i for k ← j+1 to n do if A(k) < A(j) then j ← k end t ← A(i); A(i) ← A(j); A(j) ← t end c. Bahasa C atau C++ for(I=1; I <= N-1; I++) { J = 1; for(K = J+1; K <= N; K++) { if(A[K] < A[J] ) J = K; } T=A[I]; A[I]=A[J]; A[J]=T; }Baca sendiri
  • 22. ALGORITMA for i ← 1 to n-1 do j ← i for k ← j+1 to n do if A(k) < A(j) then j ← k end t ← A(i); A(i) ← A(j); A(j) ← t end d. Bahasa Java for(I=1; I <= N-1; I++) { J = 1; for(K = J+1; K <= N; K++) { if(A[K] < A[J] ) J = K; } T=A[I]; A[I]=A[J]; A[J]=T; }Baca sendiri
  • 23. ALGORITMA for i ← 1 to n-1 do j ← i for k ← j+1 to n do if A(k) < A(j) then j ← k end t ← A(i); A(i) ← A(j); A(j) ← t end d. Bahasa Java for(I=1; I <= N-1; I++) { J = 1; for(K = J+1; K <= N; K++) { if(A[K] < A[J] ) J = K; } T=A[I]; A[I]=A[J]; A[J]=T; } c. Bahasa C atau C++ for(I=1; I <= N-1; I++) { J = 1; for(K = J+1; K <= N; K++) { if(A[K] < A[J] ) J = K; } T=A[I]; A[I]=A[J]; A[J]=T; } Baca sendiri
  • 24. 1.3. Program Flowchart. START JUM ← 0 READ I ← 1 I ← I + 1 JUM ← JUM + 1 NIL >= 60 NIL I <= 100 WRITE JUM END yes no while if yes no Menginput sampel 100 nilai ujian mahasiswa dan mencetak ada berapa orang mahasiswa yang lulus dari 100 sampel tersebut. Dinyatakan lulus apabila nilai ujian lebih besar atau sama dengan 60. JUM ← 0 I ← 1 WHILE I <= 100 DO READ(NIL) IF NIL >= 60 THEN JUM ← JUM + 1 ENDIF I ← I + 1 ENDDO WRITE(JUM) Baca sendiri
  • 25. for i ← 1 to n-1 do j ← i for k ← j+1 to n do if A(k) < A(j) then j ← k end t ← A(i); A(i) ← A(j); A(j) ← t end T ← A(I) I ← 1 K ← K + 1 A(K) < A(J) I <= N - 1 yes n o For J ← I K ← J + 1 K <= N J ← K A(I) ← A(J) A(J) ← T For yes n o yes n o if I ← I + 1 Baca sendiri
  • 26. for i ← 1 to n-1 do j ← i for k ← j+1 to n do if A(k) < A(j) then j ← k end t ← A(i); A(i) ← A(j); A(j) ← t end T ← A(I) I ← 1 K ← K + 1 A(K) < A(J) I <= n - 1 no For J ← I K ← J + 1 K <= N J ← K A(I) ← A(J) A(J) ← T yes yes no if For no yes I ← I + 1 Baca sendiri
  • 27. Terminal, untuk menyatakan START dan END hanya sebagai tanda, tidak melakukan suatu pekerjaan khusus. Process, untuk menyatakan assignment statement I/O, Input/Output operation. untuk menyatakan proses baca (READ) dan proses tulis (WRITE) Decision, untuk menyatakan pengambilan keputusan sesuai dengan suatu kondisi. Digunakan untuk menggambarkan control statement. Garis, untuk menyatakan urutan pelaksanaan, atau alur proses. Baca sendiri
  • 28. Preparation, Pemberian nilai awal suatu variabel. Biasa dipakai pada bahasa COBOL, juga bahasa C. Call , Memanggil suatu subprogram (procedure, atau function) Titik connector yang berada pada halaman yang sama Titik connector yang berada pada halaman lain. Baca sendiri
  • 29. dari cara kerjanya, ada tiga macam atau tiga kategori pokok komponen instruksi dalam algoritma, yaitu : 1.4. Struktur Alur Algoritma. 1. Assignment Statement, 2. Input / Output Statement, dan 3. Control Statement. yang masih dapat ditambah satu macam lagi yaitu 4. Call Statement. Baca sendiri
  • 30. Dilihat dari struktur alur atau urutan pelaksanaan instruksi, ada tiga macam struktur flow yaitu : 1. Sequential flow, 2. Branch flow, - Uncoditional Branch flow, - Conditional Branch flow, atau Conditional Selection flow. 3. Repetition flow atau Iteration flow atau Loop flow, - Unconditional Repetition flow, - Conditional Repetition flow. Baca sendiri
  • 31. 1.4.1. Struktur sequential Contoh : for i ← 1 to n-1 do j ← i for k ← j+1 to n do if A(k) < A(j) then j ← k end t ← A(i); A(i) ← A(j); A(j) ← t end 1) 2) 3) 4) 5) 6) 7) t ← A(i) A(i) ← A(j) A(j) ← t Contoh lain: READ(A) READ(B) T ← A + B WRITE(T) 6) Baca sendiri
  • 32. 1.4.2. Struktur Conditional Branch/Selection. Contoh : IF-THEN-ELSE Statement READ(A) READ(B) IF A > B THEN WRITE(A) ELSE WRIE(B) ENDIF 1) 2) 3) 4) 5) 6) Baca sendiri
  • 33. Contoh : IF-THEN Statement READ(N) IF N >= 60 THEN WRITE(“LULUS”) ENDIF 1) 2) 3) 4) Baca sendiri
  • 34. Contoh : CASE Statement READ(Nilai) CASE : Nilai = “A” : WRITE(“Bagus Sekali”) : Nilai = “B” : WRITE(“Bagus”) : Nilai = “C” : WRITE(“Cukup”) : Nilai = “D” : WRITE(“Kurang”) : else : WRITE(“Kurang Sekali”) EndCase Baca sendiri
  • 35. READ(Nilai) CASE Nilai OF “A” : WRITE(“Bagus Sekali”) “B” : WRITE(“Bagus”) “C” : WRITE(“Cukup”) “D” : WRITE(“Kurang”) else : WRITE(“Kurang Sekali”) EndCase atau Baca sendiri
  • 36. 1.4.3. Struktur Loop Contoh : Unconditional LOOP T ← 0 FOR I ← 1 TO 100 DO READ(A) T ← T + A ENDDO WRITE(T) 1) 2) 3) 4) 5) 6) 7) Baca sendiri
  • 37. Contoh : Conditional LOOP T ← 0 I ← 1 WHILE I <= 100 DO READ(A) T ← T + A I ← I + 1 ENDDO WRITE(T) 1) 2) 3) 4) 5) 6) 7) 8) 9) Baca sendiri
  • 38.
  • 39. Langkah-langkah harus tersusun secara LOGIS dan Efisien agar dapat menyelesaikan tugas dengan benar dan efisien. ALGORITMA adalah langkah-langkah yang diambil dalam menyelesaikan suatu tugas / pekerjaan Dalam pelajaran Algoritma, Tugas / Pekerjaan tersebut akan diselesaikan dengan menggunakan
  • 41. memang dirancang untuk dapat melaksanakan perintah yang diberikan oleh manusia Susunan perintah-perintah inilah yang disebut algoritma
  • 42.
  • 43. RAM Contoh WINDOWS Mempunyai Processor contoh Intel Pentium KOMPUTER adalah alat pengolah data, dengan konstruksi elektronik, yang mempunyai, internal storage bekerja dengan bantuan Operating System menurut program yang diberikan kepadanya.
  • 44.
  • 45. misal : Intel Pentium PROCESSOR MEMORY (internal Storage) SCREEN KEYBOARD HARDDISK (external storage) RAM misal kapasitas 64 MB Input device Misal kapasitas 10 GB Output device Input & Output device
  • 46. misal : Intel Pentium Data Operating System OPERATING SYSTEM PROGRAM -------- -------- -------- -------- -------- -------- data PROCESSOR MEMORY (internal Storage) SCREEN KEYBOARD HARDDISK (external storage) data data Program RAM misal kapasitas 64 MB Input device Misal kapasitas 10 GB Output device Input & Output device laporan
  • 48. KOMPUTER adalah alat pengolah data, dengan konstruksi elektronik, yang mempunyai, internal storage bekerja dengan bantuan Operating System menurut program yang diberikan kepadanya. mempunyai Suatu tempat didalam komputer mempunyai kapasitas daya tampung
  • 50. B singkatan untuk Byte 1 KB (Kilo Byte ) = 1024 Byte
  • 51. B Byte 1 KB (Kilo Byte ) = 1024 Byte 1 MB (Mega Byte ) = 1024 KB
  • 52. B Byte 1 KB (Kilo Byte ) = 1024 Byte 1 MB (Mega Byte ) = 1024 KB 1 GB (Giga Byte ) = 1024 MB
  • 53. B Byte 1 KB (Kilo Byte ) = 1024 Byte 1 MB (Mega Byte ) = 1024 KB 1 GB (Giga Byte ) = 1024 MB 1 TB (Tera Byte ) = 1024 GB
  • 54. B Byte 1 KB (Kilo Byte ) = 1024 Byte 1 MB (Mega Byte ) = 1024 KB 1 GB (Giga Byte ) = 1024 MB 1 TB (Tera Byte ) = 1024 GB . . . . . . . . . . . . . . = 1024 TB
  • 55. B Byte 1 KB (Kilo Byte ) = 1024 Byte 1 MB (Mega Byte ) = 1024 KB 1 GB (Giga Byte ) = 1024 MB 1 TB (Tera Byte ) = 1024 GB . . . . . . . . . . . . . . = 1024 TB . . . . . . . . . . . . . . = 1024 ……
  • 56. Mengapa mengapa bukan 10001 kg = 1000 g 1 km = 1000 m
  • 58. Bilangan biner adalah bilangan yang berbasis 2 x x x x x . x x x x Hanya mengenal 2 macam notasi atau simbol yaitu : 0 dan 1 16 8 4 2 1 0.5 0.25 0.125 0.0625 Setiap digit 1 , nilainya titik decimal angka biner (binary digit)
  • 59. 1 0 0 1 1 . 1 0 1 0 16 8 4 2 1 0.5 0.25 0.125 0.0625 Setiap digit 1 , nilainya Bilangan binary ini nilainya secara decimal = 19.625 16 + 2 +1 = 19 0.5 + 0.125 = 0.625
  • 61. yang biasa kita gunakan sehari-hari Bilangan decimal yaitu bilangan yang berbasis 10 x x x x . x x x mengenal 10 macam notasi atau simbol yaitu : 0, 1, 2, ……..9 1000 100 10 1 0.1 0.01 0.001 Setiap satu satuan , nilainya titik decimal
  • 62.
  • 63. memory no: 0 1 2 3 No : 64 * 1024 * 1024 - 1 (Untuk memory 64 MB) 1 BYTE = 8 bit (binary digit) X X X X X X X X 1 2 3 4 5 6 7 8 Bila memory dianggap sebagai sebidang tanah, maka 1 BYTE dapat dianggap sebagai 1 meter persegi Satuan lain : WORD ( 4 Byte) HALF WORD ( 2 Byte) DOUBLE WORD ( 8 Byte) SECTOR (512 Byte) BYTE adalah satuan memory (storage) terkecil yang masih bisa diberi alamat
  • 64. MEMORY dan satuan BYTE Memory, bila dibayangkan sebagai sebidang tanah, maka satu BYTE adalah area sebesar satu meter persegi, yang dapat menyimpan satu buah huruf Bila dibayangkan sebagai sebuah ruangan, maka satu BYTE adalah sebuah ubin yang dapat menampung sebuah huruf
  • 65. RANDOM ACCESS (Akses secara Acak) 0 1 2 3 4 5 . . . . . . Komputer dapat mengakses (menuju, mencapai, mendapatkan) sebuah Byte dalam memory, secara langsung, tanpa harus menelusuri satu per satu mulai Byte 0,1,2,3, dan seterusnya. Bagi komputer, untuk mengakses Byte no 1000, sama mudahnya dengan mengakses Byte nomor 1, atau nomor lainnya
  • 66. Sebuah Byte terdiri dari 8 komponen yang disebut bit. Sulit menerangkan benda yang disebut bit tersebut secara fisik. Hanya dapat diilustrasikan sebagai sebuah bohlam lampu atau bola lampu yang hanya memiliki salah satu dari 2 kondisi yaitu : menyala atau padam. Bila menyala disebut ON, dan padam disebut OFF Contoh sebuah huruf A bila disimpan dalam satu BYTE memory ON OFF 1 BYTE = 8 bit (binary digit atau angka biner) ilustrasi sebuah BYTE yang terdiri dari 8 buah bohlam lampu. Menurut standard ASCII
  • 67. Catatan : ON OFF disini sengaja dibuat jarak, hanya agar mudah melihat jumlah bitnya ada 8 buah.
  • 68. Bit = Binary digit (angka biner) Untuk keperluan komputasi secara digital, maka : bit yang ON dinyatakan dengan angka 1, dan bit yang OFF dinyatakan dengan angka 0 Sehingga huruf A yang dinyatakan dengan ON dan OFF nya bit-bit sebagai berikut : ON OFF selanjutnya dinyatakan dengan : 0 1 0 0 0 0 0 1
  • 69. Binary digit (angka biner) Bilangan Binary, Basis (Radix) = 2, karena hanya mengenal 2 notasi atau simbol yaitu: 0 dan 1 x x x x x x 32 16 8 4 2 1 Bilangan Decimal Basis (Radix) = 10, karena mengenal 10 notasi atau simbol yaitu : 0, 1, 2, 3, . . . 9 x x x x 1000 100 10 1
  • 70. Binary digit (angka biner) 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 1 = 0 = 1 = 2 = 3 = 4 = 5 = 6 = 7 = 8 = 9 Nilai decimal
  • 71. Nilai yang terkandung dalam sebuah BYTE Setiap bit yang ON mempunyai nilai sesuai dengan posisinya dalam sebuah BYTE yang dapat digambarkan sebagai berikut : 128 64 32 16 8 4 2 1 Contoh : Bila bit-bit dalam satu Byte dinyatakan sebagai berikut : 0 0 1 1 0 1 0 1 32 16 4 1 maka nilai numerik yang tersimpan = 53 ( = 32 + 16 + 4 + 1 )
  • 72. Nilai karakter A Ilustrasi huruf A yang disimpan dalam suatu BYTE 128 64 32 16 8 4 2 1 Sehingga karakter A, atau huruf A yang disimpan dalam satu BYTE memory akan bernilai = 65 karena bit yang ON bernilai 64 dan 1. Yang dinyatakan dengan angka biner (binary digit) menjadi : 0 1 0 0 0 0 0 1 128 64 32 16 8 4 2 1
  • 73. 128 64 32 16 8 4 2 1 A B C D E HURUF atau KARAKTER : = 65 = 66 = 67 = 68 = 69
  • 74.
  • 75. KOMPUTER adalah alat pengolah data, dengan konstruksi elektronik, yang mempunyai, internal storage bekerja dengan bantuan Operating System menurut program yang diberikan kepadanya.
  • 76. Operating System adalah software yang dibuat untuk mengendalikan bekerjanya komputer. Semua pekerjaan didalam komputer dikendalikan (di-control) oleh Operating System Beberapa Contoh Operating System : DOS WINDOWS WINDOWS NT UNIX LINUX XENIX MACINTOSH SUN SOLARIS
  • 77.
  • 78. KOMPUTER adalah alat pengolah data, dengan konstruksi elektronik, yang mempunyai, internal storage bekerja dengan bantuan Operating System menurut program yang diberikan kepadanya.
  • 79. = Langkah-langkah dalam Alagoritma Instruksi-instruksi harus tersusun secara logis Memerlukan LOGIKA yang benar PROGRAM adalah kumpulan instruksi-instruksi yang diberikan kepada komputer untuk menyelesaikan suatu tugas
  • 80. PROGRAM ditulis dalam suatu bahasa yang disebut Bahasa Pemrograman (Programming Language) Contoh Bahasa Pemrograman : COBOL FORTRAN Pascal BASIC C Java dan sebagainya Bahaca C ini yang kita gunakan untuk menerapkan Algoritma di komputer
  • 82.
  • 83. Mencari Total dua buah bilangan (Misal dua buah bilangan tersebut masing masing bernilai 5 dan 4). diselesaikan dengan menggunakan SIPOA, SWIPOA, SEMPOA diselesaikan dengan menggunakan KALKULATOR diselesaikan dengan menggunakan KOMPUTER
  • 84. Bila diselesaikan dengan komputer menggunakan EXCEL Menggunakan program yang dibuat sendiriSuatu program yang sudah jadi, dibuat oleh orang lain, yang siap untuk kita gunakan
  • 86. Diketahui dua buah bilangan masing- masing bernilai 5 dan 4. Susun program yang ditulis dalam Bahasa C / C++, untuk mencetak total kedua buah bilangan tersebut. Mencari Total dua buah bilangan (Misal dua buah bilangan tersebut masing masing bernilai 5 dan 4). Persoalan ini, bila akan diselesaikan dengan program komputer, maka bunyi kalimatnya dapat diganti menjadi : Soal
  • 87. Algoritma secara Umum A ← 5 B ← 4 T ← A + B WRITE(T) Algoritma dalam Bahasa C #include<stdio.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; printf(“%i”, T); } Diketahui dua buah bilangan masing- masing bernilai 5 dan 4. Susun algoritma yang ditulis dalam dalam Bahasa C/C++, untuk mencetak total kedua buah bilangan tersebut. #include<iostream.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; cout << T; } Algoritma dalam Bahasa C++ Soal-1a
  • 88. Algoritma secara Umum A ← 5 B ← 4 T ← A + B WRITE(T) Dapat ditulis secara bebas asal dapat dimengerti oleh orang lain A = 5 B = 4 T = A + B WRITE(T) Dapat diganti, misalnya dengan : WRITE T PRINT ( T ) PRINT T CETAK T TULIS T Print T Write T dan sebagainya asal dipahami Dapat diganti misal : A diisi 5 Seperti yang dicontohkan dalam buku literatur
  • 89. ALGORITMA adalah langkah-langkah yang diambil dalam menyelesaikan suatu tugas KEMBALI KE : A ← 5 B ← 4 T ← A + B WRITE(T) ADA 4 LANGKAH
  • 90. Direncanakan yang menyelesaikan tugas atau pekerjaan tersebut adalah : KOMPUTER ALGORITMA adalah langkah-langkah yang diambil dalam menyelesaikan suatu tugas atau pekerjaan A ← 5 B ← 4 T ← A + B WRITE(T) ADA 4 LANGKAH Satu langkah identik dengan satu instruksi komputer
  • 91. ALGORITMA adalah INSTRUKSI-INSTRUKSI yang diberikan kepada KOMPUTER untuk menyelesaikan suatu pekerjaan SEHINGGA DAPAT DIKATAKAN : Komputer memang dirancang untuk dapat menerima dan melaksanakan instruksi yang diberikan kepadanya
  • 92. Direncanakan yang menyelesaikan tugas atau pekerjaan tersebut adalah : KOMPUTER A ← 5 B ← 4 T ← A + B WRITE(T) ALGORITMA YANG DITULIS SEPERTI INI , TIDAK DIPAHAMI OLEH KOMPUTER Komputer hanya mengerti bahasanya sendiri yang disebut BAHASA MESIN karena Tidak disiapkan alat untuk menerjemahkan ALGORITMA tersebut menjadi BAHASA MESIN ALGORITMA adalah INSTRUKSI-INSTRUKSI yang diberikan kepada KOMPUTER untuk menyelesaikan suatu pekerjaan
  • 93. Algoritma secara Umum A ← 5 B ← 4 T ← A + B WRITE(T) Algoritma dalam Bahasa C #include<stdio.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; printf(“%i”, T); } #include<iostream.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; cout << T; } Algoritma dalam Bahasa C++ TIDAK DIMENGERTI OLEH KOMPUTER DIMENGERTI OLEH KOMPUTER karena Sudah disiapkan atau disediakan ALAT PENERJEMAH nya menjadi BAHASA MESIN
  • 94. Algoritma dalam Bahasa C #include<stdio.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; printf(“%i”, T); } #include<iostream.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; cout << T; } Algoritma dalam Bahasa C++ Agar dapat diterjemahkan menjadi BAHASA MESIN, maka ALGORITMA harus ditulis dalam suatu Bahasa Pemrograman (Programming Language) Contoh : Bahaca C
  • 95. Algoritma secara Umum A ← 5 B ← 4 T ← A + B WRITE(T) Algoritma dalam Bahasa C #include<stdio.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; printf(“%i”, T ); } Variabel tidak didefine/ dideklarasi/ dinyatakan/ dipesan lebih dulu Variabel perlu didefine/ dideklarasi/ lebih dulu VARIABLE -------------- VARIABEL - Tipe (Type) - Nama - Isi Mewakili ALAMAT (address) Diketahui dua buah bilangan masing- masing bernilai 5 dan 4. Susun algoritma yang ditulis dalam dalam Bahasa C untuk mencetak total kedua buah bilangan tersebut. Soal-1a
  • 96. Algoritma secara Umum A ← 5 B ← 4 T ← A + B WRITE(T) Algoritma dalam Bahasa C++ #include<iostream.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; cout << T; } Variabel tidak didefine/ dideklarasi/ dinyatakan/ dipesan lebih dulu Variabel perlu didefine/ dideklarasi/ lebih dulu VARIABLE -------------- VARIABEL - Tipe (Type) - Nama - Isi Mewakili ALAMAT (address) Diketahui dua buah bilangan masing- masing bernilai 5 dan 4. Susun algoritma yang ditulis dalam dalam Bahasa C++, untuk mencetak total kedua buah bilangan tersebut. Soal-1a
  • 98. #include<iostream.h> void main() { int A,B,T; A=5; B=4; T=A+B: cout << T; } C compiler windows #include<iostream.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; cout << T; } 5 4 9 A B T 9 5 + 4 = 9C PU MEMORY SCREEN KEYBOARD Windows C compiler HARDDISK 2 xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx 2 3 1 4