ALGORITMA
description
Transcript of ALGORITMA
1
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
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
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 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.
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
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
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
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.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
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
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
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
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
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
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
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
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, dan3. 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) 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
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
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 0FOR I 1 TO 100 DO READ(A) T T + A ENDDOWRITE(T)
1)2)3)4)5)6)7)
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)
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
18
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
20
misal :Intel Pentium
PROCESSOR
MEMORY (internal Storage)
SCREENKEYBOARD
HARDDISK(external storage)
RAMmisal
kapasitas64 MB
Input device
Misalkapasitas
10 GB
Outputdevice
Input & Outputdevice 20
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
19
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
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 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
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 Ayang dinyatakan dengan ON dan OFF nya bit-bit sebagaiberikut :
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 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
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
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
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
128 64 32 16 8 4 2 1
A
B
C
D
E
HURUFatauKARAKTER : = 65
= 66
= 67
= 68
= 69
19
KOMPUTER adalah alat pengolah data, dengan konstruksi elektronik, yang mempunyai, internal storagebekerja dengan bantuan Operating Systemmenurut program yang diberikan kepadanya.
19
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
KOMPUTER adalah alat pengolah data, dengan konstruksi elektronik, yang mempunyai, internal storagebekerja dengan bantuan Operating Systemmenurut program yang diberikan kepadanya.
19
= Langkah-langkah dalam Alagoritma
Instruksi-instruksiharus tersusunsecara logis
MemerlukanLOGIKA
yang benar
PROGRAM adalah kumpulan instruksi-instruksiyang diberikan kepada komputer untuk menyelesaikan suatu tugas
19
PROGRAMditulis dalam suatu bahasa yang disebut Bahasa Pemrograman (Programming Language)
Contoh BahasaPemrograman :COBOLFORTRANPascalBASICCJavadan sebagainya
Bahaca C ini yang kitagunakan untukmenerapkan Algoritmadi komputer
19
2.01
131
Bersambung ke :