ALGORITMA

56

description

01. Mata Kuliah :. ALGORITMA. dan. STRUKTUR DATA. 1. 3 SKS. ( 3 x 50 = 150 menit). 01. Algoritma, Program, Bahasa Pemrograman. dan KOMPUTER. 1. ALGORITMA adalah langkah-langkah yang diambil dalam menyelesaikan suatu tugas. Langkah-langkah harus tersusun secara LOGIS - PowerPoint PPT Presentation

Transcript of ALGORITMA

Page 1: ALGORITMA
Page 2: ALGORITMA
Page 3: ALGORITMA

1

Page 4: ALGORITMA

Diselesaikan Oleh

KOMPUTER

Langkah-langkah harus tersusun secara LOGISdan Efisienagar dapat menyelesaikan tugas dengan benardan efisien.

ALGORITMAadalah langkah-langkah yang diambil dalam menyelesaikan suatu tugas

1

Page 5: ALGORITMA

TEKNIK,Karena Algoritma diterapkan di Komputeryang penuh dengan TOOLdan metodologi

Seni,karena Algoritma penuh dengan kreativitas dan imajinasi yang jenius

ALGORITMAmerupakan gabungan antara SENI dan TEKNIK

v

Page 6: ALGORITMA

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 :

Page 7: ALGORITMA

2

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.

Page 8: ALGORITMA

Horowitz,Eliis and Sahni, Sartaj; FUNDAMENTALOF DATA STRUCTUTES; Computer Science Press, Inc.; Rocville, Maryland; 1983

PSEUDO-CODEfor i1 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) tend

81.

3

Page 9: ALGORITMA

91.

2).

Mencari suatu nilai dalam array dengan cara Binary Search.

PSEUDO-CODEProcedure BINSRCH(A,n,x,j)initialize lower and upperwhile 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 endendnot foundend BINSRCH

3

Page 10: ALGORITMA

Bila ditulis dalam bentuk algoritma:

ALGORITMAProcedure BINSCRH(A,n,x,j)lower 1; upper nwhile lower <= upper do mid [ (lower + upper) / 2 ] case : x > A(mid) : lower mid +1 : x < A(mid) : upper 1 : else : j mid; return endendj 0end

4

Page 11: ALGORITMA

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

Page 12: ALGORITMA

4

Page 13: ALGORITMA

131.ALGORITMAfor 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) tend

a. Bahasa BASICFOR 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)=TNEXT I

5

Page 14: ALGORITMA

141.

b. Bahasa PASCALFOR 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;

ALGORITMAfor 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) tend

5

Page 15: ALGORITMA

151.ALGORITMAfor 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) tend

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

Page 16: ALGORITMA

161.ALGORITMAfor 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) tend

d. Bahasa Javafor(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

Page 17: ALGORITMA

171.ALGORITMAfor 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) tend

d. Bahasa Javafor(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

Page 18: ALGORITMA

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 0I 1WHILE I <= 100 DO READ(NIL) IF NIL >= 60 THEN JUM JUM + 1 ENDIF I I + 1 ENDDOWRITE(JUM)

6

Page 19: ALGORITMA

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

T A(I)

I 1

K K + 1

A(K) < A(J)

I <= N - 1 yes

no

For J I

K J + 1

K <= N

J K

A(I) A(J)

A(J) T

For yesno

yes

no

if

I I + 1

7

Page 20: ALGORITMA

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

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

Page 21: ALGORITMA

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

Page 22: ALGORITMA

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

Page 23: ALGORITMA

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, dan3. Control Statement.yang masih dapat ditambah satu macam lagi yaitu 4. Call Statement.

10

Page 24: ALGORITMA

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

Page 25: ALGORITMA

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

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 + BWRITE(T)

6)

10

Page 26: ALGORITMA

261.

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)

11

Page 27: ALGORITMA

271.

Contoh : IF-THEN Statement

READ(N)IF N >= 60 THEN WRITE(“LULUS”)ENDIF

1)2)3)4)

11

Page 28: ALGORITMA

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

Page 29: ALGORITMA

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

Page 30: ALGORITMA

301.

12

1.4.3. Struktur Loop

Contoh : Unconditional LOOP

T 0FOR I 1 TO 100 DO READ(A) T T + A ENDDOWRITE(T)

1)2)3)4)5)6)7)

Page 31: ALGORITMA

311.

12

Contoh : Conditional LOOP

T 0I 1WHILE I <= 100 DO READ(A) T T + A I I + 1 ENDDOWRITE(T)

1)2)3)4)5)6)7)8)9)

Page 32: ALGORITMA
Page 33: ALGORITMA

Diselesaikan Oleh

KOMPUTER

Langkah-langkah harus tersusun secara LOGISdan Efisienagar dapat menyelesaikan tugas dengan benardan efisien.

ALGORITMAadalah langkah-langkah yang diambil dalam menyelesaikan suatu tugas

1

Page 34: ALGORITMA

18

Page 35: ALGORITMA

RAM

ContohWINDOWS

MempunyaiProcessor contoh Intel Pentium

KOMPUTER adalah alat pengolah data, dengan konstruksi elektronik, yang mempunyai, internal storagebekerja dengan bantuan Operating Systemmenurut program yang diberikan kepadanya. 18

Page 36: ALGORITMA

20

Page 37: ALGORITMA

misal :Intel Pentium

PROCESSOR

MEMORY (internal Storage)

SCREENKEYBOARD

HARDDISK(external storage)

RAMmisal

kapasitas64 MB

Input device

Misalkapasitas

10 GB

Outputdevice

Input & Outputdevice 20

Page 38: ALGORITMA

misal :Intel Pentium Data

OperatingSystem

OPERATINGSYSTEM

PROGRAM------------------------------------------------

data

PROCESSOR

MEMORY (internal Storage)

SCREENKEYBOARD

HARDDISK(external storage)

data data

Program

RAMmisal

kapasitas64 MB

Input device

Misalkapasitas

10 GB

Outputdevice

Input & Outputdevice 20

Page 39: ALGORITMA

19

Page 40: ALGORITMA

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

19

Page 41: ALGORITMA

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

Page 42: ALGORITMA

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

Page 43: ALGORITMA

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 OFFContoh sebuah huruf Abila 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

Page 44: ALGORITMA

Catatan :

ON

OFF

disini sengaja dibuat jarak, hanya agar mudah melihat jumlah bitnya ada 8 buah.

19

Page 45: ALGORITMA

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 Ayang dinyatakan dengan ON dan OFF nya bit-bit sebagaiberikut :

ON

OFF

selanjutnya dinyatakan dengan :

0 1 0 0 0 0 0 1

19

Page 46: ALGORITMA

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 x32 16 8 4 2 1

Bilangan DecimalBasis (Radix) = 10,karena mengenal 10 notasi atau simbol yaitu : 0, 1, 2, 3, . . . 9

x x x x 1000 100 10 1

19

Page 47: ALGORITMA

Binary digit (angka biner)

01

1 01 1

1 0 01 0 11 1 01 1 1

1 0 0 01 0 0 1

= 0= 1= 2= 3= 4= 5= 6= 7= 8= 9

19

Page 48: ALGORITMA

Nilai yang terkandung dalam sebuah BYTESetiap 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

Page 49: ALGORITMA

Nilai karakter A

Ilustrasi huruf A yang disimpan dalam suatu BYTE

128 64 32 16 8 4 2 1

Sehingga karakter A, atau huruf Ayang disimpan dalam satu BYTE memory akan bernilai = 65karena bit yang ON bernilai 64 dan 1.

Yang dinyatakan dengan angka biner (binary digit)menjadi :

0 1 0 0 0 0 0 1128 64 32 16 8 4 2 1

19

Page 50: ALGORITMA

128 64 32 16 8 4 2 1

A

B

C

D

E

HURUFatauKARAKTER : = 65

= 66

= 67

= 68

= 69

19

Page 51: ALGORITMA

KOMPUTER adalah alat pengolah data, dengan konstruksi elektronik, yang mempunyai, internal storagebekerja dengan bantuan Operating Systemmenurut program yang diberikan kepadanya.

19

Page 52: ALGORITMA

Operating Systemadalah software yang dibuat untukmengendalikan bekerjanya komputer.

Semua pekerjaan didalam komputer dikendalikan (di-control) oleh Operating System

Beberapa Contoh Operating System :

DOSWINDOWSWINDOWS NTUNIXLINUXXENIXMACINTOSHSUN SOLARIS

19

Page 53: ALGORITMA

KOMPUTER adalah alat pengolah data, dengan konstruksi elektronik, yang mempunyai, internal storagebekerja dengan bantuan Operating Systemmenurut program yang diberikan kepadanya.

19

Page 54: ALGORITMA

= Langkah-langkah dalam Alagoritma

Instruksi-instruksiharus tersusunsecara logis

MemerlukanLOGIKA

yang benar

PROGRAM adalah kumpulan instruksi-instruksiyang diberikan kepada komputer untuk menyelesaikan suatu tugas

19

Page 55: ALGORITMA

PROGRAMditulis dalam suatu bahasa yang disebut Bahasa Pemrograman (Programming Language)

Contoh BahasaPemrograman :COBOLFORTRANPascalBASICCJavadan sebagainya

Bahaca C ini yang kitagunakan untukmenerapkan Algoritmadi komputer

19

Page 56: ALGORITMA

2.01

131

Bersambung ke :