E. Haodudin Nurkifli Teknik Informatika Universitas Ahmad Dahlan

Slides:



Advertisements
Presentasi serupa
Peserta mengerti tahap-tahap pada ADC
Advertisements

KIMIA UNSUR-UNSUR TRANSISI
PERTEMUAN 3 Algoritma & Pemrograman
Penyelidikan Operasi 1. Konsep Optimisasi.
KEBIJAKAN PEMERINTAH PROVINSI JAWA TIMUR
Penyusunan Data Baseline dan Perhitungan Capaian Kegiatan Peningkatan Kualitas Permukiman Kumuh Perkotaan DIREKTORAT PENGEMBANGAN KAWASAN PERMUKIMAN DIREKTORAT.
BALTHAZAR KREUTA, SE, M.SI
PENGEMBANGAN KARIR DOSEN Disarikan dari berbagai sumber oleh:
Identitas, persamaan dan pertidaksamaan trigonometri
ANGGOTA KELOMPOK WISNU WIDHU ( ) WILDAN ANUGERAH ( )
METODE PENDUGAAN ALTERNATIF
Dosen Pengampu: Muhammad Zidny Naf’an, M.Kom
GERAK SUGIYO, SPd.M.Kom.
Uji Hipotesis Luthfina Ariyani.
SOSIALISASI PEKAN IMUNISASI NASIONAL (PIN) POLIO 2016
PENGEMBANGAN BUTIR SOAL
Uji mana yang terbaik?.
Analisis Regresi linear berganda
PEERSIAPAN DAN PENERAPAN ISO/IEC 17025:2005 OLEH: YAYAN SETIAWAN
E Penilaian Proses dan Hasil Belajar
b. Kematian (mortalitas)
Ilmu Komputasi BAGUS ADHI KUSUMA
Uji Hipotesis dengan SPSS
OVERVIEW PERUBAHAN PSAK EFFEKTIF 2015
Pengolahan Citra Berwarna
Teori Produksi & Teori Biaya Produksi
Pembangunan Ekonomi dan Pertumbuhan Ekonomi
PERSIAPAN UN MATEMATIKA
Kriptografi.
1 Bab Pembangunan Ekonomi dan Pertumbuhan Ekonomi.
Ekonomi untuk SMA/MA kelas XI Oleh: Alam S..
ANALISIS PENDAPATAN NASIONAL DALAM PEREKONOMIAN TIGA SEKTOR
Dosen: Atina Ahdika, S.Si., M.Si.
Anggaran biaya konversi
Junaidi Fakultas Ekonomi dan Bisnis Universitas Jambi
Pemodelan dan Analisis
Bab 4 Multivibrator By : M. Ramdhani.
Analisis Regresi – (Lanjutan)
Perkembangan teknologi masa kini dalam kaitannya dengan logika fazi
DISTRIBUSI PELUANG KONTINU
FETAL PHASE Embryolgy II
Yusuf Enril Fathurrohman
3D Viewing & Projection.
Sampling Pekerjaan.
Gerbang Logika Dwi Indra Oktoviandy (A )
SUGIYO Fisika II UDINUS 2014
D10K-6C01 Pengolahan Citra PCD-04 Algoritma Pengolahan Citra 1
Perpajakan di Indonesia
Bab 2 Kinerja Perusahaan dan Analisis Laporan Keuangan
Penyusunan Anggaran Bahan Baku
MOMENTUM, IMPULS, HUKUM KEKEKALAN MOMENTUM DAN TUMBUKAN
Theory of Computation 3. Math Fundamental 2: Graph, String, Logic
Strategi Tata Letak.
Theory of Computation 2. Math Fundamental 1: Set, Sequence, Function
METODE PENELITIAN.
(Skewness dan kurtosis)
Departemen Teknik Mesin dan Biosistem INSTITUT PERTANIAN BOGOR
Dasar-dasar piranti photonik
Klasifikasi Dokumen Teks Berbahasa Indonesia
Mekflu_1 Rangkaian Pipa.
Digital to Analog Conversion dan Rekonstruksi Sinyal Tujuan Belajar 1
SEKSI NERACA WILAYAH DAN ANALISIS BPS KABUPATEN TEMANGGUNG
ASPEK KEPEGAWAIAN DALAM PENILAIAN ANGKA KREDIT
RANGKAIAN DIODA TK2092 Elektronika Dasar Semester Ganjil 2015/2016
Ruang Euclides dan Ruang Vektor 1.
Bab Anuitas Aritmetrik dan Geometrik
Penyelidikan Operasi Pemrograman Dinamik Deterministik.
Kesetimbangan Fase dalam sistem sederhana (Aturan fase)
ANALISIS STRUKTUR MODAL
Transcript presentasi:

E. Haodudin Nurkifli Teknik Informatika Universitas Ahmad Dahlan Analisis dan Perancangan Algoritma Kuliah 5 : Looping iteratif rekursif E. Haodudin Nurkifli Teknik Informatika Universitas Ahmad Dahlan 2-Jul-18

Looping Looping / perulangan Komputer dapat melakukang perulangan sangat cepat Perlu mempelajari algoritma perulangan Ada 3 struktur perulangan Struktur for Sturktur while Sturktur repeat

Sturktur perulangan Struktur for 1.struktur for digunakan untuk menghasilkan pengulangan sejumlah kali yang dispesifikasikan 2. jumlah pengulangan di ketahui sebanyak eksekusi 3. dibutuhkan variable dan counter Algorimta for menaik For i  awal to akhir do aksi End for

Algoritma for menurun for i  akhir down to awal do aksi End for

Contoh algoritma Algoritma mencetak angka 1,2,..8 Algoritma for menaik Deklarasi k : integer Deskripsi for k  1 to 8 do { ulangi sebanyak 8 kali} write (k); endfor

Algoritma for menurun Algoritma cetak angka 1,2, Algoritma for menurun Algoritma cetak angka 1,2,..8 Deklarasi k : integer Deskripsi for k  8 downto 1 do write (k) end for

Struktur while Aksi berulang terus pada kondisi true dan berhenti pada kondisi false Perulangan harus berhenti, ketika perulangan tidak berhenti menandakan algoritma salah Algoritma While kondisi do aksi Endwahile

Contoh Algoritma cetak angka 1,2,..8 Deklarasi k  integer Deskripsi k  1 while (k <= 8 ) do write (k) k  k+1 end while

Struktur repeat Sturktur repaeat memiliki makna yang sama dengan while Algoritma repeat Repeat aksi Until (kondisi)

Contoh Algoritma catak angka 1, 2, 4, ..8 Deklarasi k  integer Deskripsi k  1 repeat write (k) k = k + 1 until (k > 8)

Untuk memantapkan konsep perulangan silahkan kerjakan latihan Buatlah algoritma mencetak kata “ hallo word” sebanyak 10 kali dengan menggunakan sturktur for dan sturktur while do Buatlah algoritma mencetak bilangan ganjil dari angka 0 sampai 10 dengan menggunakan sturktur for, while dan repeat.

Analisis looping While/ Repeat tidak mudah untuk dianalisis karena banyak langkah tidak pasti. Yang paling mungkin dianalisis adalah For loop. Banyak Langkah untuk Statement FOR Kasus I: Counter : integer Step : 1 Statement S mempunyai banyak langkah yang tidak bergantung nilai counter

FOR counter : awal TO akhir S S dieksekusi sebanyak akhir – awal +1 kali Hidden : Counter ≤ Akhir S dieksekusi sebanyak akhir – awal + 2 kali Counter = counter + 1 S dieksekusi sebanyak akhir – awal + 1 kali Banyak Langkah = (akhir – awal + 2) + (akhir – awal + 1) (p + 1)

Contoh : Berapa banyak langkah dari FOR i = 1 TO n x : = x + 5 y : = y + x

Penyelesaian : = (n – 1 + 2) + (n – 1 + 1) (2 + 1) = (n + 1) + (n)(3) Banyak langkahnya = (akhir – awal + 2) + (akhir – awal + 1) (p + 1) = (n – 1 + 2) + (n – 1 + 1) (2 + 1) = (n + 1) + (n)(3) = n + 1 + 3n = 4n + 1

Kasus II : seperti kasus I tetapi mempunyai STEP = s s dieksekusi sebanyak atau ((akhir – awal) div s + 1) Contoh : Berapa banyak langkah dari FOR i:= j TO n STEP 3 x := x + i y := y + j

Contoh : Berapa banyak langkah dari FOR i = 0,5 TO 7,1 STEP 0,3 x := x + i y := y + j

TEKNIK ITERATIF & REKURSIF teknik pembuatan algoritma dengan pemanggilan procedure beberapa kali atau hingga suatu kondisi tertentu terpenuhi Contoh Teknik Iteratif pada algoritma untuk menghitung faktorial dari bilangan bulat positif n, adalah sebagai berikut :

Function FAK (n : integer) : integer FAK=1 For i = 1 TO n FAK = FAK Function FAK (n : integer) : integer FAK=1 For i = 1 TO n FAK = FAK * i NEXT i END FAK

Gambaran jalannya proses algoritma tersebut adalah sebagai berikut : Misal n = 5, maka : FAK = 1, kemudian i FAK 1 1*1 = 1 2 1*2 = 2 3 2*3 = 6 4 6*4 = 24 5 24*5= 120

Contoh : BARISAN BILANGAN FIBBONACI → 1, 1, 2, 3, 5, 8, 13, 21, . . . Teknik Iteratif pada algoritma untuk menentukan suku ke-n dari barisan bilangan Fibbonaci, adalah sebagai berikut :

Set x, y, n, i, f : integer x ← 1 ; y ← 1 If n 〉 2 then begin for i ← 3 to n do F ← x + y x ← y y ← F end else F ← x Write(F) End

Gambaran jalannya proses algoritma tersebut adalah sebagai berikut : Misal n = 5, maka : x=1, y=1, kemudian i F x y 3 1+1=2 1 2 4 1+2=3 5 2+3=5

TEKNIK REKURSIF Teknik Rekursif merupakan salah satu cara pembuatan algoritma dengan pemanggilan procedure atau function yang sama Contoh : Teknik Rekursif pada algoritma untuk menghitung faktorial dari bilangan bulat positif n, adalah sebagai berikut :

Function FAK (n : integer) : integer If n := 0 then FAK := 1 Else FAK := n * FAK(n-1) Gambaran jalannya proses algoritma tersebut adalah sebagai berikut : Misal n = 5, maka :

Contoh : BARISAN BILANGAN FIBBONACI → 1, 1, 2, 3, 5, 8, 13, 21, . . . Teknik Rekursif pada algoritma untuk menentukan suku ke-n dari barisan bilangan Fibbonaci, adalah sebagai berikut : Procedure F(n : integer) : integer If n ≤ 2 then F(n) = 1 else F(n) = F(n-1) + F(n-2) Endif End

Gambaran jalannya proses algoritma tersebut adalah sebagai berikut : Misal n = 5, maka :

Perbedaan Antara Teknik Iteratif dan Rekursif : 1.Tidak ada variabel lokal baru 2.Program tidak sederhana REKURSIF 1.Ada variabel lokal baru 2.Program menjadi lebih sederhana

Permainan menara hanoi latihan : Contoh paling umum dari penggunaan teknik rekursif adalah pada permainan menara Hanoi. Berdasarkan legenda, pertama kali dimainkan secara manual oleh seorang pendeta Budha di Hanoi, sehingga permainan ini disebut Menara Hanoi. Dalam permainan ini, akan dipindahkan sejumlah piringan yang tidak sama besarnya dari satu tonggak ke tonggak lainnya, dengan diperbolehkan menggunakan (melewati) sebuah tonggak bantuan. Aturan permainannya adalah semua piringan pada tonggak A akan dipindahkan ke tonggak C (dapat dengan melewati tonggak bantuan B), dengan ketentuan bahwa pemindahan piringan dilakukan satu per satu dan piringan yang lebih besar tidak boleh diletakan di atas piringan yang lebih kecil. Untuk jelasnya lihat gambar berikut :