Matakuliah Tahun : T0034 / Perancangan & Analisis Algoritma : 2008 Pertemuan 26 PRAKTEK ANALISIS ALGORITMA KASUS 1 • Buatlah sebuah algoritma untuk menghitung jumlah faktor pembagi bilangan N ! Bina Nusantara TAHAP 5 • Optimisasi code • Cari bagian apa dari pseudocode yang bisa disempurnakan! – Periksa apakah semua batas atas dan batas bawah perulangan sudah optimal – Periksa apakah semua kondisi percabangan sudah ditempatkan dengan benar – Periksa apakah terdapat redundansi proses – Periksa apakah ada bagian pseudocode yang bisa dibuang tanpa mengubah hasilnya – Periksa adakah teknik lain yang bisa digunakan Bina Nusantara TAHAP 6 • Menulis program, kompilasi, testing • Lakukan perbaikan bila perlu • Isu-isu dalam memilih bahasa pemrograman – – – – – Bina Nusantara Kebutuhan masalah Kecepatan Tampilan Kompatibilitas Memori dan tipe data TAHAP 7 • Implementasi, training, maintenance • Tahap terakhir yang sering dilupakan • Sebuah program tidak berarti apabila penggunanya tidak tahu bagaimana cara menggunakannya ! Bina Nusantara KASUS 2 • Buatlah sebuah algoritma untuk menampilkan jumlah faktor pembagi bilangan X, dengan X adalah 1 hingga N ! • Misal – – – – – – – Jumlah faktor dari 1 adalah 1 Jumlah faktor dari 2 adalah 2 Jumlah faktor dari 3 adalah 2 Jumlah faktor dari 4 adalah 3 Jumlah faktor dari 5 adalah 2 Jumlah faktor dari 6 adalah 4 dst • Maka ditampilkan : 1, 2, 2, 3, 2, 4, dst Bina Nusantara PENYELESAIAN KASUS 2 • Lakukan penyelesaian kasus 2 dengan tahaptahap seperti kasus 1 ! • Apakah penyelesaian dengan teknik flagging dapt menghasilkan algoritma yang lebih baik? Bina Nusantara TRAVELING SALESMAN PROBLEM • Dalam matakuliah ini, TSP digunakan sebagai contoh dalam beberapa teknik algoritma. • Bisakah TSP diselesaikan dengan Divide and Conquer? • Bisakah TSP diselesaikan dengan Metode Greedy? Bagaimana hasilnya? • Bagaimana penyelesaian TSP dengan Dynamic Programming? • Bagaimana penyelesaian TSP dengan Branch and Bound? • Teknik mana yang paling baik untuk menyelesaikan TSP? • Mengapa? Bina Nusantara PEMILIHAN TEKNIK ALGORITMA • Masalah seperti apa yang paling baik diselesaikan dengan Teknik Divide and Conquer? • Masalah seperti apa yang paling baik diselesaikan dengan Metode Greedy? • Masalah seperti apa yang paling baik diselesaikan dengan Dynamic Programming? • Masalah seperti apa yang paling baik diselesaikan dengan Teknik Backtracking? • Masalah seperti apa yang paling baik diselesaikan dengan Teknik Branch and Bound? • Masalah seperti apa yang paling baik diselesaikan dengan Full Search Tree? Bina Nusantara PENUTUP • Kunci sukses dalam menguasai pemrograman komputer adalah berlatih dan terus berlatih. Bina Nusantara
© Copyright 2024 Paperzz