Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pertemuan 18 CODE OPTIMIZATION

Presentasi serupa


Presentasi berjudul: "Pertemuan 18 CODE OPTIMIZATION"— Transcript presentasi:

1

2 Pertemuan 18 CODE OPTIMIZATION
Matakuliah : T0034 / Perancangan & Analisis Algoritma Tahun : 2008 Pertemuan 18 CODE OPTIMIZATION

3 MENGAPA PERLU OPTIMISASI?
Perbedaan algoritma dapat membawa perbedaan yang sangat besar pada kinerja sebuah program. Optimisasi algoritma adalah membuat sebuah algoritma dapat bekerja secara lebih optimal. Bisa dilakukan dari tingkat yang paling sederhana hingga tingkat yang paling sulit. Terkadang sebuah optimisasi yang kelihatan sepele dapat menyebabkan perbedaan yang besar ketika sebuah algoritma diimplementasikan menjadi program komputer. [buku utama, bab 10.1] Bina Nusantara

4 LEVEL BAHASA PEMROGRAMAN
Bahasa pemrograman tingkat tinggi  lebih dekat ke bahasa manusia Bahasa pemrograman tingkat rendah  lebih dekat ke bahasa mesin Komputer memproses peritnah kita dalam instruksi-instruksi sederhana yang terdiri atas kode instruksi dan data. Bina Nusantara

5 INSTRUKSI LOAD X = load accumulator dengan isi dari memori lokasi X
STORE X = Store isi dari accumulator ke memori lokasi X OP X, OP mungkin ADD, SUB, MPY, atau DIV. Definisi : Suatu terjemahan dari suatu ekspressi E ke dalam suatu mesin atau bahasa assembly pada suatu mesin tertentu, adalah optimal jika dan hanya jika mempunyai jumlah instruksi yang minimal. Bina Nusantara

6 OPTIMISASI BAHASA TINGKAT RENDAH
Misalkan suatu ekspressi matematik: ( a+ b ) / ( c + d ) akan diterjemahkan ke bahasa assembly, ada dua macam bentuk instruksi yang dapat di buat: LOAD a LOAD c ADD b ADD d STORE T1 STORE T1 LOAD c LOAD a ADD d ADD b STORE T2 DIV T1 LOAD T1 DIV T2 ( a ) ( b ) Dapat dilihat bahwa instruksi (a) mempunyai dua instruksi lebih panjang dari instruksi (b). Jadi instruksi (b) adalah yang optimal. Bina Nusantara

7 OPTIMISASI BAHASA TINGKAT TINGGI
Berfokus pada bagaimana menyederhanakan Fungsi Kompleksitas Trik dasar Mengurangi jumlah perulangan Meningkatkan efektivitas kondisi dalam if Menempatkan penyaringan kondisi di lokasi yang benar Mencari pola pikir lain untuk menyelesaikan masalah (kembali ke dasar) Bina Nusantara

8 CONTOH KASUS 1 for i=1 to 10 do 2 for j=1 to 3 do 3 A[i,j]=7 4 end for
[buku utama, pseudocode 10.1] Bina Nusantara

9 ANALISIS Terdapat redundansi 7 Bina Nusantara

10 HASIL OPTIMISASI 1 for i=1 to 10 do 2 for j=1 to 3 do 3 A[i,j]=7
4 end for 5 end for 6 for i=1 to 3 do 7 for j=4 to 5 do 8 A[i,j]=7 9 end for 10 end for [buku utama, pseudocode 10.1b] Bina Nusantara

11 CONTOH KASUS 2 1 for i=1 to 1000000 do 2 for j=1 to 560000 do
3 if (i mod 2)=0 then display A[i,j] 5 end if 6 end for 7 end for 1 for i=1 to do 2 if (i mod 2)=0 then 3 for j=1 to do display A[i,j] 5 end for 6 end if 7 end for [buku utama, pseudocode 10.2] [buku utama, pseudocode 10.2b] Bina Nusantara

12 LATIHAN Metode Binary Search adalah teknik pencarian data tertentu di dalam sebuah array yang sudah berurut. Pembahasan Binary Search sudah diberikan di Pertemuan 10. Adakah cara untuk meningkatkan kecepatan pencarian Binary Search? Coba lakukan optimisasi pada psesudocode 5.7 atau pseudocode 5.8 di buku utama ! Bina Nusantara

13 Apa yang sudah dipahami? Apa yang akan dibahas selanjutnya?
REVIEW Apa yang sudah dipahami? Apa yang akan dibahas selanjutnya? Bina Nusantara


Download ppt "Pertemuan 18 CODE OPTIMIZATION"

Presentasi serupa


Iklan oleh Google