mata kuliah: k0144/ matematika diskrit tahun : 2008

20
Bina Nusantara Mata kuliah : K0144/ Matematika Diskrit Tahun : 2008 PENGANTAR ALGORITMA Pertemuan 11:

Upload: enoch

Post on 24-Jan-2016

62 views

Category:

Documents


0 download

DESCRIPTION

Mata kuliah: K0144/ Matematika Diskrit Tahun : 2008. PENGANTAR ALGORITMA Pertemuan 11:. Pengertian Algoritma. Algoritma adalah urutan langkah yang tepat dan pasti dalam memecahkan suatu masalah secara logis. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Mata kuliah: K0144/ Matematika Diskrit Tahun : 2008

Bina Nusantara

Mata kuliah : K0144/ Matematika DiskritTahun : 2008

PENGANTAR ALGORITMAPertemuan 11:

Page 2: Mata kuliah: K0144/ Matematika Diskrit Tahun : 2008

Bina Nusantara

Pengertian Algoritma

• Algoritma adalah urutan langkah yang tepat dan pasti dalam memecahkan suatu masalah secara logis.

• Beberapa masalah dapat diselesaikan dengan algoritma yang bermacam-macam asal hasilnya sama.

• Setiap bahasa pemrograman memiliki kelebihan dan kekurangan dalam mengimplementasikan algoritma dan setiap pemrogram dapat mengimplementasikan suatu algoritma dengan cara yang berbeda-beda pula.

• Namun algoritma dapat dianalisis efisiensi dan kompleksitasnya.

Page 3: Mata kuliah: K0144/ Matematika Diskrit Tahun : 2008

Bina Nusantara

Analisis Algoritma

• Penilaian algoritma didasarkan pada:– Waktu eksekusi (paling utama)– Penggunaan memori/sumber daya– Kesederhanaan dan kejelasan algoritma

• Analisis algoritma tidak mudah dilakukan secara pasti, maka hanya diambil:– Kondisi rata-rata (average case)– Kondisi terburuk (worst case)

• Waktu eksekusi dipengaruhi oleh:– Jenis data input– Jumlah data input– Pemilihan instruksi bahasa pemrograman

Page 4: Mata kuliah: K0144/ Matematika Diskrit Tahun : 2008

Bina Nusantara

Analisis Algoritma (2)

• Faktor-faktor yang menyulitkan analisis disebabkan oleh:– Implementasi instruksi oleh bahasa pemrograman yang berbeda– Ketergantungan algoritma terhadap jenis data– Ketidakjelasan algoritma yang diimplementasikan

• Langkah-langkah analisis algoritma– Menentukan jenis/sifat data input.– Mengidentifikasi abstract operation dari data input.

• Menganalisis secara matematis untuk menentukan average case atau worst case nya.

Page 5: Mata kuliah: K0144/ Matematika Diskrit Tahun : 2008

Bina Nusantara

Big-Oh

• Adalah fungsi yang lebih berkaitan dengan kelajuan proses daripada kelajuan pertambahan data.– T(n) = O(f(n))

• Jika ada konstan c, sehingga – T(n) ≤ c.f(n)– Secara sederhana dikatakan bahwa O(f(n)) dpt dianggap

sebagai nilai maksimum dari c.f(n).

Page 6: Mata kuliah: K0144/ Matematika Diskrit Tahun : 2008

Bina Nusantara

Big-Oh

Contoh:• Jika f(n) = 2n2 maka T(n) = O(n2)• Jika f(n) = 4n2 + 7n + 3 maka T(n) = O(n2)• Jika f(n) = n3 – 2n + 4 maka T(n) = O(n3)

Page 7: Mata kuliah: K0144/ Matematika Diskrit Tahun : 2008

Bina Nusantara

Contoh Big-Oh

Page 8: Mata kuliah: K0144/ Matematika Diskrit Tahun : 2008

Bina Nusantara

Contoh Big-Oh• Contoh program:• sum = 0;• for( i=0; i<n; i++)• for(j=0; j<n; j++)• sum = sum + a[j];

Page 9: Mata kuliah: K0144/ Matematika Diskrit Tahun : 2008

Bina Nusantara

Klasifikasi Algoritma

Page 10: Mata kuliah: K0144/ Matematika Diskrit Tahun : 2008

Bina Nusantara

Klasifikasi Algoritma (2)

Page 11: Mata kuliah: K0144/ Matematika Diskrit Tahun : 2008

Bina Nusantara

Klasifikasi Algoritma (3)

Page 12: Mata kuliah: K0144/ Matematika Diskrit Tahun : 2008

Bina Nusantara

Klasifikasi Algoritma (4)

Page 13: Mata kuliah: K0144/ Matematika Diskrit Tahun : 2008

Bina Nusantara

Klasifikasi Algoritma (5)

Page 14: Mata kuliah: K0144/ Matematika Diskrit Tahun : 2008

Bina Nusantara

Tabel Perbandingan

Page 15: Mata kuliah: K0144/ Matematika Diskrit Tahun : 2008

Bina Nusantara

Implementasi

• Pada implementasinya, algoritma kadang-kadang memiliki Big-Oh yang merupakan kombinasi dari klasifikasi dasar tersebut.

• Perancangan algoritma yang memiliki Big-Oh baik tetapi rumit tidak selalu menguntungkan apabila jumlah data inputnya hanya sedikit.

• Nilai Big-Oh adalah nilai worst case, sehingga dalam implementasinya biasanya tidak mencapai nilai setinggi itu.

Page 16: Mata kuliah: K0144/ Matematika Diskrit Tahun : 2008

Bina Nusantara

Contoh dan AturanFor loop (perulangan)

• Waktu eksekusi pada for loop, maksimum sebanyak waktu eksekusi statement-statement yang ada di dalam loop dikalikan banyaknya iterasi.

• Contoh:• for(a=0; a<n; a++) //n kali• {

– m = p + q; //n kali• t = y * z; //n kali• }• Waktu eksekusi = 3 x n kali • Jadi T(n) = O(n)

Page 17: Mata kuliah: K0144/ Matematika Diskrit Tahun : 2008

Bina Nusantara

Contoh dan Aturan

Nested for loop (perulangan bersarang)– Dianalisis dari loop terdalam kemudian keluar.– Waktu eksekusi total sebuah statement adalah waktu eksekusi

statement tsb dikalikan hasil kali dari banyaknya iterasi semua loop yang ada diluarnya.

• Contoh:• for(i=0 ; i<n ; i++) //n kali

– for( j=0 ; j<m ; j++) //m kali• a[i,j] = 0 ; //m x n kali• a[i,j] akan dieksekusi sebanyak (m x n) kali.• Jadi T(n) = O(n2)

Page 18: Mata kuliah: K0144/ Matematika Diskrit Tahun : 2008

Bina Nusantara

Consecutive Statement (statement yang berurutan)

• Untuk statement yang berurutan, waktu eksekusinya adalah jml dari masing-masing statement.

• Berdasarkan pengertian Big-OH, hal tsb akan diambil nilai yang terbesar.

Page 19: Mata kuliah: K0144/ Matematika Diskrit Tahun : 2008

Bina Nusantara

Contoh dan Aturanif else

• Total waktu eksekusi adalah waktu test ditambah waktu yang terbesar dari eksekusi Statemen1 atau Statemen2

Page 20: Mata kuliah: K0144/ Matematika Diskrit Tahun : 2008

Bina Nusantara