1 / 56

ALGORITMA

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

oakley
Download Presentation

ALGORITMA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 01 Mata Kuliah : ALGORITMA dan STRUKTUR DATA 1

  2. 3 SKS ( 3 x 50 = 150 menit)

  3. 01 Algoritma, Program, Bahasa Pemrograman dan KOMPUTER 1

  4. ALGORITMA adalah langkah-langkah yang diambil dalam menyelesaikansuatutugas Langkah-langkah harus tersusun secara LOGIS dan Efisien agar dapat menyelesaikan tugas dengan benar dan efisien. Diselesaikan Oleh KOMPUTER 1

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

  6. 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; Finiteness : if we trace out the instructions of an algorithm, then for all cases the algorithm will terminate after a finite number of steps; 4). 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. 5). Horowitz,Eliis and Sahni, Sartaj; FUNDAMENTAL OF DATA STRUCTUTES; Computer Science Press, Inc.; Rocville, Maryland; 1983 2

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

  8. 1. 8 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 Horowitz,Eliis and Sahni, Sartaj; FUNDAMENTAL OF DATA STRUCTUTES; Computer Science Press, Inc.; Rocville, Maryland; 1983 3

  9. 1. 9 Mencari suatu nilai dalam array dengan cara Binary Search. 2). 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

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

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

  12. Algoritma dan Bahasa Pemrograman 4

  13. 1. 13 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

  14. 1. 14 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 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; 5

  15. 1. 15 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

  16. 1. 16 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

  17. 1. 17 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++ 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; } 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

  18. START JUM ¬ 0 I ¬ 1 I ¬ I + 1 no JUM ¬ JUM + 1 if NIL >= 60 yes READ NIL while I <= 100 yes no WRITE JUM END 1.3. Program Flowchart. 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

  19. I ¬ 1 I ¬ I + 1 A(J) ¬ T A(I) ¬ A(J) T ¬ A(I) no For yes K <= N if A(K) < A(J) yes J ¬ K no K ¬ K + 1 K ¬ J + 1 J ¬ I For I <= N - 1 yes no 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 7

  20. I ¬ 1 For I <= n - 1 yes J ¬ I no K ¬ J + 1 For K <= N yes if A(K) < A(J) yes no J ¬ K no T ¬ A(I) K ¬ K + 1 A(I) ¬ A(J) A(J) ¬ T I ¬ I + 1 1. 20 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 8

  21. 1. 21 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

  22. 1. 22 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

  23. 1. 23 1.4. Struktur Alur Algoritma. dari cara kerjanya, ada tiga macam atau tiga kategori pokok komponen instruksi dalam algoritma, yaitu : 1. Assignment Statement, 2. Input / Output Statement, dan 3. Control Statement. yang masih dapat ditambah satu macam lagi yaitu 4. Call Statement. 10

  24. 1. 24 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

  25. 1. 25 1.4.1. Struktur sequential Contoh : Contoh lain: 1) 2) 3) 4) 5) 6) 7) 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 READ(A) READ(B) T ¬ A + B WRITE(T) 6) t ¬ A(i) A(i) ¬ A(j) A(j) ¬ t 10

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

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

  28. 1. 28 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 12

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

  30. 1. 30 1.4.3. Struktur Loop Contoh : Unconditional LOOP 1) 2) 3) 4) 5) 6) 7) T ¬ 0 FOR I ¬ 1 TO 100 DO READ(A) T ¬ T + A ENDDO WRITE(T) 12

  31. 1. 31 Contoh : Conditional LOOP 1) 2) 3) 4) 5) 6) 7) 8) 9) T ¬ 0 I ¬ 1 WHILE I <= 100 DO READ(A) T ¬ T + A I ¬ I + 1 ENDDO WRITE(T) 12

  32. Kembali ke Pengertian ALGORITMA

  33. ALGORITMA adalah langkah-langkah yang diambil dalam menyelesaikansuatutugas Langkah-langkah harus tersusun secara LOGIS dan Efisien agar dapat menyelesaikan tugas dengan benar dan efisien. Diselesaikan Oleh KOMPUTER 1

  34. KOMPUTER computare COMPUTER to compute 18

  35. 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. RAM Contoh WINDOWS 18

  36. Konfigurasi Komputer 20

  37. misal : Intel Pentium PROCESSOR MEMORY (internal Storage) KEYBOARD SCREEN Output device Input device RAM misal kapasitas 64 MB HARDDISK (external storage) Misal kapasitas 10 GB Input & Output device 20

  38. misal : Intel Pentium PROCESSOR Data Program MEMORY (internal Storage) data data data PROGRAM -------- -------- -------- -------- -------- -------- KEYBOARD OPERATING SYSTEM SCREEN Input device Output device RAM misal kapasitas 64 MB Operating System HARDDISK (external storage) Misal kapasitas 10 GB Input & Output device 20

  39. Internal Storage, RAM (Random Access Memory) misal dengan Kapasitas 64 MB (Mega Byte) 19

  40. BYTE adalah satuan memory (storage) terkecil yang masih bisa diberi alamat Satuan lain : WORD ( 4 Byte) HALF WORD ( 2 Byte) DOUBLE WORD ( 8 Byte) SECTOR (512 Byte) 1 2 3 no: 0 Bila memory dianggap sebagai sebidang tanah, maka 1 BYTE dapat dianggap sebagai 1 meter persegi memory No : 64 * 1024 * 1024 - 1 (Untuk memory 64 MB) 1 BYTE = 8 bit (binary digit) X X X X X X X X 19 1 2 3 4 5 6 7 8

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

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

  43. 1 BYTE = 8 bit (binary digit atau angka biner) 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 ilustrasi sebuah BYTE yang terdiri dari 8 buah bohlam lampu. 19

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

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

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

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

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

  49. Nilai karakter A Ilustrasi huruf A yang disimpan dalam suatu BYTE 128 64 32 16 8 4 2 1 Yang dinyatakan dengan angka biner (binary digit) menjadi : 128 64 32 16 8 4 2 1 0 1 0 0 0 0 0 1 Sehingga karakter A, atau huruf A yang disimpan dalam satu BYTE memory akan bernilai = 65 karena bit yang ON bernilai 64 dan 1. 19

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

More Related