Kuliah 1 2 Algoritma Pseudocode Prosedure dan Fungsi

  • Slides: 24
Download presentation
Kuliah 1 -2 (Algoritma) • Pseudocode • Prosedure dan Fungsi • Call by value

Kuliah 1 -2 (Algoritma) • Pseudocode • Prosedure dan Fungsi • Call by value vs call by Refrence • Membaca algoritma • Latihan

Psudocode Fungsi dan Prosedure n Notasi n Perbedaan Fungsi dan Prosedure n Call By

Psudocode Fungsi dan Prosedure n Notasi n Perbedaan Fungsi dan Prosedure n Call By Value vs Call by Refrence

Fungsi vs Prosedure Fungsi n Parameter inpur min 1 dan output mak 1 Procedure

Fungsi vs Prosedure Fungsi n Parameter inpur min 1 dan output mak 1 Procedure n Parameter sembarang Analysis of Algorithms 3

Fungsi Pseudocode nama. Fungsi(daftar par) : type. Hasil variabel local algoritma body return nilai

Fungsi Pseudocode nama. Fungsi(daftar par) : type. Hasil variabel local algoritma body return nilai Analysis of Algorithms 4

Contoh fungsi f(X, Y) = X^2+Y/2 Fucntion f(x, y) Algoritma Return x^2 + Y/2

Contoh fungsi f(X, Y) = X^2+Y/2 Fucntion f(x, y) Algoritma Return x^2 + Y/2 Analysis of Algorithms 5

Fungsi Rekursif Fungsi yang memanggil dirinya sendiri Contoh : n n n n fak(5)

Fungsi Rekursif Fungsi yang memanggil dirinya sendiri Contoh : n n n n fak(5) = 5 * fak(4) = 4 * fak(3) = 3 * fak(2) = 2 * fak(1) = 1 > fak(n) = n*fak(n-1) If n = 1 or n Analysis = 0 ofthen fak(n) = 1 Algorithms 6

Contoh 2 1, 2, 3, 5, 8, 13, 21, 34, …. F(n) = ?

Contoh 2 1, 2, 3, 5, 8, 13, 21, 34, …. F(n) = ? Analysis of Algorithms 7

Pseodocode Prosedure Nama. Prosedure (daftar parameter in/out) Variabel lokal Algoritma n Bodi Daftar parameter

Pseodocode Prosedure Nama. Prosedure (daftar parameter in/out) Variabel lokal Algoritma n Bodi Daftar parameter n Call by value n Call by refrence Analysis of Algorithms 8

Contoh 1. input data array 2. Cetak data array 3. Cari posisi suatu data

Contoh 1. input data array 2. Cetak data array 3. Cari posisi suatu data di array 4. Cari pos-pos data suatu array 5. Cari nilai terbesar di array 6. Copy array dari pos I sebanyak k item 7. Ganti item array yang nilainya genap dengan rumus A[i] = A[i-1]*3 Analysis of Algorithms 9

Langkah-langkah solusi Buat Rancangan Black Box (IPO) n Untuk mentukan fungsi atau prosedure Buat

Langkah-langkah solusi Buat Rancangan Black Box (IPO) n Untuk mentukan fungsi atau prosedure Buat flowchart Buat pseudocode Analysis of Algorithms 10

Contoh Buat algoritma fungsi/prosedure untuk mencari posisi data tertentu di suatu array A. Analysis

Contoh Buat algoritma fungsi/prosedure untuk mencari posisi data tertentu di suatu array A. Analysis of Algorithms 11

1. BB A : Larik find. Post. Dt posisi : int dt. Cari :

1. BB A : Larik find. Post. Dt posisi : int dt. Cari : tp. Dt Bentuk yang paling sesuai adalah fungsi Analysis of Algorithms 12

2. Flowchart dan Pseodocode Function Find. Pos. Dt(A : Larik, dt. Cari : tp.

2. Flowchart dan Pseodocode Function Find. Pos. Dt(A : Larik, dt. Cari : tp. Dt) : int Var local i : integer ketemu : boolean pos : integer Algoritma i 0 Ketemu false Pos -1 While (not ketemu and I < N) do If (dt. Cari = A[i]) then Ketermu true Pos I End if i i+1 End while Analysis of Algorithms 13

Latihan : kerjakan dengan cara yang sama untuk 1. 2. 3. 4. 5. Cari

Latihan : kerjakan dengan cara yang sama untuk 1. 2. 3. 4. 5. Cari posisi suatu data di array Cari posisi-posisi data suatu array Cari nilai terbesar di array Copy array dari pos I sebanyak k item Ganti item array yang nilainya genap dengan rumus A[i] = A[i-1]*3 6. Tukar isi dari array A dan B dengan ketentuan sebagai berikut : n Jika A[i] genap maka A[i] = B[i]*A[i] n Jika B[i] ganjil maka B[i] = B[i-1]-A[i] Analysis of Algorithms 14

Algoritma & Struktur Data ASD C algstrdttif-c Analysis of Algorithms 15

Algoritma & Struktur Data ASD C algstrdttif-c Analysis of Algorithms 15

Tugas 1 kelas C Dikumpulkan Selasa 5 Maret 2013 (JANGAN LUPA SERTAKAN NO KELOMPOK

Tugas 1 kelas C Dikumpulkan Selasa 5 Maret 2013 (JANGAN LUPA SERTAKAN NO KELOMPOK DENGAN FORMAT SBB: n K 01_C_T 1 Susun 1. BB, 2. Flowchart, 3. Pseudocode dan Program berbasis OOP untuk ADT Matrik meliputi : hitung. Rata-rata perbaris hitung. Rata-rata perkolom Penjumlahan 2 buat matrik Perkalian 2 buah matrik Tranpos Matrik Standart deviasi dari suatu matrik (rumus cari di buku statistik) Kesamaan dua buah matrik Ambil baris yang rata-ratanya terbesar Analysis of Algorithms 16

Tugas 1 kelas D Dikumpulkan Senin 4 Maret 2013 (JANGAN LUPA SERTAKAN NO KELOMPOK

Tugas 1 kelas D Dikumpulkan Senin 4 Maret 2013 (JANGAN LUPA SERTAKAN NO KELOMPOK DENGAN FORMAT SBB: n K 01_D_T 1 Susun 1. BB, 2. Flowchart, 3. Pseudocode dan Program berbasis OOP untuk ADT Matrik meliputi : hitung. Rata-rata perbaris hitung. Rata-rata perkolom Penjumlahan 2 buat matrik Perkalian 2 buah matrik Tranpos Matrik Standart deviasi dari suatu matrik (rumus cari di buku statistik) Kesamaan dua buah matrik Analysis of Algorithms 17

Tugas 1 E Dikumpulkan Selasa 5 Maret 2013 (JANGAN LUPA SERTAKAN NO KELOMPOK DENGAN

Tugas 1 E Dikumpulkan Selasa 5 Maret 2013 (JANGAN LUPA SERTAKAN NO KELOMPOK DENGAN FORMAT SBB: n K 01_E_T 1 Susun 1. BB, 2. Flowchart, 3. Pseudocode dan 4. Program berbasis OOP untuk ADT Matrik meliputi : 1. 2. 3. 4. 5. 6. 7. 8. • cetak. Matrik hitung. Rata-rata perbaris hitung. Rata-rata perkolom Penjumlahan 2 buat matrik Perkalian 2 buah matrik Tranpos Matrik Standart deviasi dari suatu matrik (rumus cari di buku statistik) Kesamaan dua buah matrik Dikumpulkan HC (A 4, Font Courier. New 9 untuk coding) Analysis of Algorithms 18

Latihan : susun algoritma prosedure atau fungsi dari persamaan berikut : Analysis of Algorithms

Latihan : susun algoritma prosedure atau fungsi dari persamaan berikut : Analysis of Algorithms 19

Membaca Algoritma Misalkan diberikan dua buah variabel x dan y, dan variable hasil yang

Membaca Algoritma Misalkan diberikan dua buah variabel x dan y, dan variable hasil yang nilai awalnya 0. Lakukan proses berikut selama nilai x lebih besar 0. 1. jika nilai x ganjil maka hasil = hasil + y 2. nilai x selanjutnya adalah nilai x sebelumnya dibagi dua, bila ada hasil pecahan, maka pecahannya dibuang (contoh bilai nilai x sebelumnya 1 maka nilai selanjutnya 0) 3. nilai y selanjutnya adalah nilai y sebelumnya dikali 2. Analysis of Algorithms 20

X = {3, 2, 1, 4} Jika diberikan potorngan pseudocode berikut : Function yyy(a

X = {3, 2, 1, 4} Jika diberikan potorngan pseudocode berikut : Function yyy(a : integer) : integer; Begin If (a >= 0) then yyy a else yyy -a End Function zzz : integer; Var tmp 1, tmp 2, j : integer; Begin Tmp 1 yyy(x[0]-x[1]); For j 0 to panjang. X-1 do begin Tmp 2 yyy(x[j]-x[j+1]) If (tmp 2 > tmp 1) then tmp 1 tmp 2 End Zzz tmp 1 End Analysis of Algorithms 21

X = {45, 23, 12, 90} X = {45, 23, 12, 90, 2, 7,

X = {45, 23, 12, 90} X = {45, 23, 12, 90, 2, 7, 9, 11, 100, 5, 17, 11, 32, 56} Procedure Kocok(I : integer) Var j : integer; Begin If(I >= 0) and (I < 15) then begin For j I + 1 to 14 do If (x[j] < x[I]) then • Fungsi Zaff adalah fungsi untuk • • menukar dua buah bilangan A dan B dengan ketentuan sebagai berikut : Jika A < B tidak terjadi penukaran Jika A > B maka tukar isi A dengan isi B Zaff(x[j], x[I]) Kocok(I+1) Write(x[I], “ “) End Kocok(10) : ? Analysis of Algorithms 22

Berapakah nilai dari apakah. Ini(10) ? X = {3, 2, 6, 7, 1} X

Berapakah nilai dari apakah. Ini(10) ? X = {3, 2, 6, 7, 1} X = {45, 23, 12, 90, 2, 7, 9, 11, 100, 5, 17, 11, 32, 56} Function apaka. Ini(I : integer) : integer Var temp : integer Algoritma If (i < 15) then Tmp x[i] apakah. Ini tmp X[i] (x[i] + apakah. Ini(i+1))/2 Output (x[i]) Else apakah. Ini 0 Analysis of Algorithms 23

ADA PERTANYAAN ? ? ? Analysis of Algorithms 24

ADA PERTANYAAN ? ? ? Analysis of Algorithms 24