Persentase Algoritma dan Struktur Data.ppt

AriefRahmanHakim53 0 views 64 slides Sep 30, 2025
Slide 1
Slide 1 of 64
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64

About This Presentation

Persentase Algoritma dan Struktur Data 1


Slide Content

1

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
1

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

2
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 :

2
Secara bebas definisi diatas dapat diterjemahkan sebagai berkut :
Algoritma adalah sekumpulan instruksi, yang apabila dijalankan, akan
menyelesaikan suatu tugas tertentu. Sebagai tambahan, 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.

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
81.
3

91.
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
3

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
4

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)
4

4

131.
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
5

141.
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
5

151.
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;
}
5

161.
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;
}
5

171.
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;
}
5

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)
6

for i  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
7

201.
for i  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
8

211.
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.
9

221.
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.
9

231.
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.
10

241.
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.
10

251.
1.4.1. Struktur sequential
Contoh :
for i  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)
10

261.
1.4.2. Struktur Conditional Branch/Selection.
Contoh :
IF-THEN-ELSE Statement
READ(A)
READ(B)
IF A > B
THEN WRITE(A)
ELSE WRITE(B)
ENDIF
1)
2)
3)
4)
5)
6)
11

271.
Contoh :
IF-THEN Statement
READ(N)
IF N >= 60
THEN WRITE(“LULUS”)
ENDIF
1)
2)
3)
4)
11

281.
12
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

291.
12
READ(Nilai)
CASE Nilai OF
“A” : WRITE(“Bagus Sekali”)
“B” : WRITE(“Bagus”)
“C” : WRITE(“Cukup”)
“D” : WRITE(“Kurang”)
else : WRITE(“Kurang Sekali”)
EndCase
atau

301.
12
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)

311.
12
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)

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
1

18

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.
18

20

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
20

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
20

19

memory
no: 0 123
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
19

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
19

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
19

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
yang dapat 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.
19

Catatan :
ON
OFF
disini sengaja dibuat
jarak, hanya agar
mudah melihat jumlah
bitnya ada 8 buah.
19

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
19

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
19

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
19

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 )
19

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
19

128 64 32 16 8 4 2 1
A
B
C
D
E
HURUF
atau
KARAKTER : = 65
= 66
= 67
= 68
= 69
19

KOMPUTER
adalah alat pengolah data,
dengan konstruksi elektronik,
yang mempunyai, internal storage
bekerja dengan bantuan
Operating System
menurut program yang diberikan kepadanya.
19

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
19

KOMPUTER
adalah alat pengolah data,
dengan konstruksi elektronik,
yang mempunyai, internal storage
bekerja dengan bantuan
Operating System
menurut program yang diberikan kepadanya.
19

= 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
19

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
19

2.01
131

Contoh Persoalan yang akan diselesaikan :
Mencari Total dua buah bilangan
(Misal dua buah bilangan tersebut masing
masing bernilai 5 dan 2).
diselesaikan
dengan
menggunakan
SIPOA, SWIPOA,
SEMPOA
diselesaikan
dengan
menggunakan
KALKULATOR
diselesaikan
dengan
menggunakan
KOMPUTER
13

Contoh Persoalan yang akan diselesaikan
dengan menggunakan komputer :
Mencari Total dua buah bilangan
(Misal dua buah bilangan tersebut masing
masing bernilai 5 dan 2).
diselesaikan
dengan menggunakan
program yang sudah jadi
misalnya EXCEL
diselesaikan
dengan membuat
PROGRAM
sendiri
13

Contoh Soal :
Diketahui dua buah bilangan masing masing bernilai 5 dan 2.
Susun program dalam Bahasa C
untuk mencetak hasil penambahan kedua buah bilangan tersebut.
Algoritma
secara Umum
A  5
B  2
T  A + B
WRITE(T)
Algoritma dalam Bahasa C
#include<stdio.h>
void main()
{ int A,B,T;
A = 5;
B = 2;
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) 16

#include<stdio.h>
main()
{ int A,B,T;
A=5;
B=2;
T=A+B:
printf(“%I”, T);
}
C
compiler
windows
#include<stdio.h>
main()
{ int A,B,T;
A = 5;
B = 2;
T = A + B;
printf(“%i”, T);
}
5 2 7
A B T
7
5 + 2 = 7
C PU
MEMORY
SCREEN
KEYBOARD
Windows
C
compiler
HARDDISK
2
1
xxxxxx
xxxxxx
xxxxxx
xxxxxx
xxxxxx
xxxxxx
xxxxxx
xxxxxx
xxxxxx
xxxxxx
xxxxxx
2
3
4
21

Kembali ke Soal :
Diketahui dua buah bilangan masing-masing bernilai 5 dan 2.
Susun program dalam Bahasa C untuk mencetak hasil penambahan
kedua bilangan tersebut.
Cara-1 :
#include <stdio.h>
main()
{
int A, B, T;
A = 5;
B = 2;
T = A + B;
printf(“%i”, T);
}
Disiapkan 3 buah
variabel
masing-masing
bertipe integer.
Dapat juga ditulis sbb:
int A;
int B;
int T;
Variabel A
diisi dengan
nilai 5
Isi variabel A
ditambah dengan
isi variabel B
hasil penambahannya
disimpan dalam variabel T
Yang dicetak
nilai T
Instruksi
Mencetak
Format “%i”
untuk nilai integer
16
27

#include <stdio.h>
main()
{
int A, B, T;
A = 5; B = 2; T = A + B;
printf(“%i”, T);
}
Program diatas dapat juga ditulis sbb:
Satu baris statement
dapat terdiri dari lebih
dari satu instruksi
#include <stdio.h>
main()
{
int A, B, T;
A = 5; B = 2; T = A + B; printf(“%i”, T);
}
Atau sebagai berikut :
#include <stdio.h>
main()
{
int A, B, T; A = 5; B = 2; T = A + B; printf(“%i”, T);
}
#include <stdio.h>
main()
{
int A = 5, B = 2, T;
T = A + B;
printf(“%i”, T);
} 17

#include <stdio.h>
main()
{
int A, B;
A = 5;
B = 2;
printf(“%i”, A+B);
}
Total tidak disimpan
dalam sebuah variabel,
tapi hasil penambahan A+B
bisa langsung dicetak
Cara - 2.
#include <stdio.h>
main()
{
printf(“%i”, 5 + 2);
}
Nilai 5 dan 2
begitu juga Total,
tidak dismpan dalam
variabel.
Tapi hasil 5 + 2
langsung bisa dicetak
Cara - 3
#include <stdio.h>
main()
{
printf(“%i”, 7 );
}
Walaupun ini juga program,
tapi BUKAN program yang dimaksud
untuk menghitung 5 + 2
tapi hanya sekedar mencetak nilai 7
yang telah kita hitung
sendiri.
Nilai 7 bukan dihitung oleh komputer
16

2.01
13
Bersambung ke :
1
Tags