Kuliah 1-2 (Algoritma) Pseudocode Prosedure dan Fungsi Call by value vs call by Refrence Membaca algoritma Latihan
Psudocode Fungsi dan Prosedure Notasi Perbedaan Fungsi dan Prosedure Call By Value vs Call by Refrence
Analysis of Algorithms Fungsi vs Prosedure Fungsi Parameter inpur min 1 dan output mak 1 Procedure Parameter sembarang Analysis of Algorithms
Analysis of Algorithms Fungsi Pseudocode namaFungsi(daftar par) : typeHasil variabel local algoritma body return nilai Analysis of Algorithms
Analysis of Algorithms Contoh fungsi f(X,Y) = X^2+Y/2 Fucntion f(x,y) Algoritma Return x^2 + Y/2 Analysis of Algorithms
Analysis of Algorithms Fungsi Rekursif Fungsi yang memanggil dirinya sendiri Contoh : fak(5) = 5 * fak(4) fak(4) = 4 * fak(3) fak(3) = 3 * fak(2) fak(2) = 2 * fak(1) fak(1) = 1 > fak(n) = n*fak(n-1) If n = 1 or n = 0 then fak(n) = 1 Beri contoh untuk bilangan fibonacci dan uraian proses pengerjaannya step by step Analysis of Algorithms
Analysis of Algorithms Contoh 2 1,2,3,5,8,13,21,34,…. F(n) = ? Analysis of Algorithms
Analysis of Algorithms Pseodocode Prosedure NamaProsedure (daftar parameter in/out) Variabel lokal Algoritma Bodi Daftar parameter Call by value Call by refrence Analysis of Algorithms
Analysis of Algorithms Contoh input data array Cetak data array Cari posisi suatu data di array Cari pos-pos 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 Analysis of Algorithms
Langkah-langkah solusi Buat Rancangan Black Box (IPO) Untuk mentukan fungsi atau prosedure Buat flowchart Buat pseudocode Analysis of Algorithms
Analysis of Algorithms Contoh Buat algoritma fungsi/prosedure untuk mencari posisi data tertentu di suatu array A. Analysis of Algorithms
Analysis of Algorithms 1. BB Bentuk yang paling sesuai adalah fungsi A : Larik findPostDt posisi : int dtCari : tpDt Analysis of Algorithms
2. Flowchart dan Pseodocode Function FindPosDt(A : Larik, dtCari : tpDt) : int Var local i : integer ketemu : boolean pos : integer Algoritma i 0 Ketemu false Pos -1 While (not ketemu and I < N) do If (dtCari = A[i]) then Ketermu true Pos I End if i i + 1 End while Analysis of Algorithms
Latihan : kerjakan dengan cara yang sama untuk 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 Tukar isi dari array A dan B dengan ketentuan sebagai berikut : Jika A[i] genap maka A[i] = B[i]*A[i] Jika B[i] ganjil maka B[i] = B[i-1]-A[i] Analysis of Algorithms
Analysis of Algorithms Algoritma & Struktur Data ASD C algstrdttif-c Analysis of Algorithms
Analysis of Algorithms Tugas 1 kelas C Dikumpulkan Selasa 5 Maret 2013 (JANGAN LUPA SERTAKAN NO KELOMPOK DENGAN FORMAT SBB: K01_C_T1 Susun 1.BB, 2. Flowchart, 3.Pseudocode dan Program berbasis OOP untuk ADT Matrik meliputi : hitungRata-rata perbaris hitungRata-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
Analysis of Algorithms Tugas 1 kelas D Dikumpulkan Senin 4 Maret 2013 (JANGAN LUPA SERTAKAN NO KELOMPOK DENGAN FORMAT SBB: K01_D_T1 Susun 1.BB, 2. Flowchart, 3.Pseudocode dan Program berbasis OOP untuk ADT Matrik meliputi : hitungRata-rata perbaris hitungRata-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
Analysis of Algorithms Tugas 1 E Dikumpulkan Selasa 5 Maret 2013 (JANGAN LUPA SERTAKAN NO KELOMPOK DENGAN FORMAT SBB: K01_E_T1 Susun 1.BB, 2. Flowchart, 3.Pseudocode dan 4.Program berbasis OOP untuk ADT Matrik meliputi : cetakMatrik hitungRata-rata perbaris hitungRata-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 (A4,Font CourierNew 9 untuk coding) Analysis of Algorithms
Analysis of Algorithms Latihan : susun algoritma prosedure atau fungsi dari persamaan berikut : Analysis of Algorithms
Analysis of Algorithms 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
Analysis of Algorithms 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 tmp1, tmp2, j : integer; Begin Tmp1 yyy(x[0]-x[1]); For j 0 to panjangX-1 do begin Tmp2 yyy(x[j]-x[j+1]) If (tmp2 > tmp1) then tmp1 tmp2 End Zzz tmp1 Analysis of Algorithms
Analysis of Algorithms X = {45,23,12,90} X = {45,23,12,90,2,7,9,11,10,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 Zaff(x[j],x[I]) Kocok(I+1) Write(x[I], “ “) End Kocok(10) : ? 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 Analysis of Algorithms
Analysis of Algorithms Berapakah nilai dari apakahIni(10) ? X = {3,2,6,7,1} X = {45,23,12,90,2,7,9,11,10,100,5,17,11,32,56} Function apakaIni(I : integer) : integer Var temp : integer Algoritma If (i < 15) then Tmp x[i] apakahIni tmp X[i] (x[i] + apakahIni(i+1))/2 Output (x[i]) Else apakahIni 0 Analysis of Algorithms
Analysis of Algorithms Ada pertanyaan ??? Analysis of Algorithms