• Tidak ada hasil yang ditemukan

Desain Analisa Algoritma : Efisiensi Algoritma

N/A
N/A
Protected

Academic year: 2018

Membagikan "Desain Analisa Algoritma : Efisiensi Algoritma"

Copied!
23
0
0

Teks penuh

(1)

Elsen Ronando, S.Si.,M.Si.,M.Sc.

elsen.ronando@untag-sby.ac.id

Teknik Informatika Fakultas Teknik

Universitas 17 Agustus 1945 Surabaya

2016

(2)

1 Efisiensi Algoritma

Analisa Ruang Kerja

Notasi Asimtotik dan Dasar Kelas Efisiensi Analisa Matematis Algoritma Nonrekrusif Analisa Matematis Algoritma Rekrusif Contoh Bilangan Fibonacci

(3)

Pendahuluan

Analisa Algoritma→ ada kaitannya dengan investigasi efisiensi

algoritma.

Efisiensi Algoritma →berkaitan dengan waktu eksekusi danruang

memori. Tujuan :

Efisiensi dipelajari secara kuantitas dengan rinci.

Efisiensi memperhatikan pentingnya keterkaitan dengankecepatan danmemorikomputer.

(4)

Pendahuluan

Analisa Algoritma→ ada kaitannya dengan investigasi efisiensi

algoritma.

Efisiensi Algoritma →berkaitan dengan waktu eksekusi danruang

memori. Tujuan :

Efisiensi dipelajari secara kuantitas dengan rinci.

Efisiensi memperhatikan pentingnya keterkaitan dengankecepatan danmemorikomputer.

(5)

Analisa Ruang Kerja

Efisiensi→ efisiensi waktu (kompleksitas waktu) dan efisiensi ruang

(kompleksitas ruang).

Kompleksitas waktu→kecepatan algoritma dalam eksekusi. Kompleksitas ruang→kebutuhan memori yang diperlukan oleh algoritma.

Kecepatan waktu dan kebutuhan ruang→ menjadi fokus utama.

Kecepatan waktu → lebih difokuskan daripada kebutuhan ruang.

(6)

Analisa Ruang Kerja(Lanjutan) Mengukur Besaran Input

Permasalahan utama →lambatnya eksekusi algoritma berdasarkan

pada besarnya input, seperti besarnya ukuran array dan matrik. Contoh :

Algoritma untuk menyelesaikan permasalahan prima, dimana memiliki nilai positif integern. Artinya, nilai inputnya adalah satu bilangan,

dimana besar ukuran dari bilangan b dalam representasi biner :

(7)

Analisa Ruang Kerja(Lanjutan)

Bagian untuk Mengukur Waktu Eksekusi

Ukuran standar waktu eksekusi → sekon atau milisekon.

Ukuran waktu eksekusi bergantung pada:

Kecepatan komputer.

Kualitas penerapan algoritma dalam program.

Penggunaan kompiler dalam menghasilkan kode mesin. Kesulitan waktu eksekusi aktual dalam program.

Operasi dasar→ identifikasi operasi algoritma secara menyeluruh

Total waktu eksekusi. Menghitung jumlah waktu.

Contoh :

Algoritma untuk menyelesaikan permasalahan perhitungan

matematika : penambahan, pengurangan, perkalian, dan pembagian. Menurut Saudara, operasi apa yang membutuhkan konsumsi waktu sangat banyak ?

(8)

Analisa Ruang Kerja(Lanjutan) Fungsi Pertumbuhan

Fungsi pertumbuhan → berpengaruh pada proses efisiensi algoritma.

n log2n n nlog2n n2 n3 2n n!

(9)

Analisa Ruang Kerja(Lanjutan)

Keadaan Terburuk, Terbaik, dan Rata-rata

(Algoritma Pencarian Sequential)

Input: sebuah arrayA[0..n−1] dan pencarianK Output: elemen indexAyang sesuai denganK

atau−1 jika tidak ditemukan

begin

(10)

Analisa Ruang Kerja(Lanjutan)

Keadaan Terburuk, Terbaik, dan Rata-rata (Lanjutan)

Keadaan Terburuk → berkaitan lambatnya algoritma berjalan dalam

banyaknya inputn.

Keadaan Terbaik → berkaitan cepatnya algoritma berjalan dalam

banyaknya inputn.

(11)

Notasi Asimtotik dan Dasar Kelas Efisiensi

berkaitan erat dengan fungsi pertumbuhan yang dipengaruhi n.

Jenis Notasi:

O (big oh)→keadaan terburuk (worst-case). Ω (big omega)→keadaan terbaik (best-case). Θ (big theta)→keadaan rata-rata (average-case).

(12)

Notasi Asimtotik dan Dasar Kelas Efisiensi

berkaitan erat dengan fungsi pertumbuhan yang dipengaruhi n.

Jenis Notasi:

O (big oh)→keadaan terburuk (worst-case). Ω (big omega)→keadaan terbaik (best-case). Θ (big theta)→keadaan rata-rata (average-case).

(13)

Notasi Asimtotik dan Dasar Kelas Efisiensi(Lanjutan) Definisi Waktu Terburuk (O)

f(n) =O(g(n))

Jika ada dua bilangan konstanta c dan n0 maka

kf(n)k ≤ckg(n)k,∀n≥N

Contoh : Tentukan nilai c dan N

3n+ 2∈O(n)

10n2+ 4n+ 2∈O(n2)

(14)

Notasi Asimtotik dan Dasar Kelas Efisiensi(Lanjutan) Definisi Waktu Terbaik (Ω)

f(n) = Ω(g(n))

Jika ada dua bilangan konstanta c dan n0 maka

kf(n)k ≥ckg(n)k,∀n≥N

Contoh : Tentukan nilai c dan N

3n+ 2∈Ω(n)

(15)

Notasi Asimtotik dan Dasar Kelas Efisiensi(Lanjutan) Definisi Waktu Rata-Rata (Θ)

f(n) = Θ(g(n))

Jika ada dua bilangan konstanta c1,c2, dann0 maka

c1kg(n)k ≤ kf(n)k ≤c2kg(n)k,∀n≥N

Contoh : Tentukan nilai c1, c2 dan N

3n+ 2∈Θ(n)

10n2+ 4n+ 2∈Θ(n2)

(16)

Permasalahan. Mencari elemen nilai terbesar dalam sebuah deretnbilangan.

Input: sebuah arrayA[0..n−1] bilangan real

Output: Elemen nilai terbesar diA

begin

Banyaknya eksekusi dilakukan (C(n))

C(n) =

n−1

X

(17)

Analisa Matematis Algoritma Nonrekrusif(Lanjutan)

Permasalahan. Mencari elemen berbeda dalamnelemen.

Input: sebuah arrayA[0..n−1]

Output: Return ”benar” jika seluruh elemen A berbeda dan ”salah jika sebaliknya”

begin

Banyaknya eksekusi dilakukan (C(n))

Cworst(n) =

(18)

Analisa Matematis Algoritma Rekrusif

Permasalahan. Mencari nilai faktorialnbilangan.

Input: Bilangan bulat taknegatifn

Output: Hasiln!

Banyaknya eksekusi dilakukan (M(n))

(19)

Contoh Bilangan Fibonacci Deret Bilangan Fibonaci :

0,1,1,2,3,5,8,13,21,34, ...

Rumus rekrusif bilangan fibonacci :

F(n) =F(n−1) +F(n−2) untukn >1

dengan kondisi awal

F(0) = 0,F(1) = 1

→ banyak diterapkan dalam bidang ilmu komputer.

→ banyak digunakan untuk memprediksi stok dan komoditas.

(20)

Contoh Bilangan Fibonacci(Lanjutan) Algoritma Rekrusif Bilangan Fibonacci

Inputn : bilangan integer tak negatif

OutputBilangan Fibonacci ke-n

begin

if n≤1then returnn end

else

returnF(n−1) +F(n−2)

(21)

Contoh Bilangan Fibonacci(Lanjutan) Algoritma Bilangan Fibonacci

Inputn : bilangan integer tak negatif

OutputBilangan Fibonacci ke-n

begin

Θ(log n) yang memiliki kesamaan dan efisien matriks power berikut ini:

"

(22)

Seluruh materi presentasi dapat didownload pada SIAKAD masing-masing atau link berikut :

https://sites.google.com/site/elsenronandosite/teaching Klik .

Apabila ada pertanyaan mengenai desain analisa algoritma dapat

(23)

Referensi

Dokumen terkait

Selain nilai-nilai budaya tersebut ada factor lain yang mendorong masyarakat Hindu Bali dapat berintergrasi dengan baik dengan masyarakat Tionghoa penganut Buddha, yaitu

sawah irigasi dan data sekunder dari Dinas Prasarana Wilayah Humbang Hasundutan, dari Badan Pusat Statistik Humbang Hasundutan, dan dari instansi terkait.Sampel

Dari hasil pada Tabel 6 terlihat per- bandingan nilai rata-rata prosentase kese- luruhan untuk tiap kata pada masing-masing pengujian dengan jumlah data standar yang

Tujuan dari perancangan dan pembuatan aplikasi ini adalah untuk membuat sebuah aplikasi web yang mendukung pengolahan informasi geografis UPN “Veteran” Jawa

Pada saat Peraturan Pemerintah ini mulai berlaku, Peraturan Pemerintah Nomor 17 Tahun 2001 tentang Tarif atas Jenis Penerimaan Negara Bukan Pajak yang Berlaku pada Badan Pengawas

bahwa guna melaksanakan Instruksi Gubernur Kalimantan Tengah Nomor 188.54/03/2011 tentang Jam Kerja Pegawai Negeri Sipil Di Lingkungan Pemerintah Kabupaten/Kota

Pendekatan yang digunakan dalam penelitian ini adalah menggunakan.. pendekatan