• Tidak ada hasil yang ditemukan

Desain dan Analisis Algoritma

N/A
N/A
EDSEL YUSUF

Academic year: 2024

Membagikan "Desain dan Analisis Algoritma"

Copied!
19
0
0

Teks penuh

(1)

Alvin Tjondrowiguno

Desain dan Analisis Algoritma

1. Perkenalan

(2)

• Resep •

Secara umum didefinisikan sebagai:

• Hasil yang diinginkan

• Masukan

• Prosedur langkah demi langkah untuk menyelesaikan masalah tertentu

• Urutan langkah/prosedur

Ulasan: Apa itu “Algoritma”?

(3)

• Buat wadah dengan nilai awal 0

• Untuk setiap nomor dalam daftar:

Prosedur langkah demi langkah:

Masukan: Daftar angka

• Tambahkan nomor ke wadah

• Kembalikan nomor dalam wadah

Output yang diinginkan: Jumlah semua angka dalam daftar

Contoh Algoritma: Jumlah

7

10

4 8

3

5

37

(4)

• Efisien Dalam hal sumber daya:

• Waktu

• Memori

• Dihentikan dengan benar

• Layak

• Benar

Pastikan algoritmanya adalah:

• ...

• Bandwidth

Mengapa Menganalisis Algoritma?

(5)

Perkalian Bilangan Bulat

Contoh Soal:

(6)

• Keluaran: Produk X *

• Input: 2 n-digit angka X dan Y

1 2 3 1 2 3 4 5 6 7 8

Y

Perkalian Bilangan Bulat

7 0 0 6 6 5 2

9 8 7 2

8 6 3 8

7 4 0 4

6 1 7 0

(7)

• Menambahkan 2 angka satu digit Operasi dasar perkalian bilangan bulat:

• Mengalikan 2 angka satu digit

Perkalian Integer: Analisis

Operasi Dasar yang terdefinisi dengan baik

(8)

8

Tidak ada barang bawaan

3

operasi dasar

Lebih tepatnya:

1 dibawa (+)

*

Paling banyak n operasi dasar 8

*

n

operasi dasar 8

*

4

operasi dasar

- 4 - 3 - *

2 - 1

8

2 dibawa (+) 3 dibawa (+)

Ini untuk n = 4 digit

Bagaimana jika n bukan 4?

9 8 7 2 7 4 0 4

5 6 7 8 1 2 3 4

8 6 3 8 6 1 7 0

7 0 0 6 6 5 2

Perkalian Integer: Analisis

Analisis Kasus Terburuk

Analisis Asimptotik

(9)

Paling banyak 2n2 operasi dasar Paling banyak 2n

operasi dasar

Tepatnya n baris

Perkalian Integer: Analisis

9 8 7 2 8 6 3 8 7 4 0 4 6 1 7 0

1 2 3 4 5 6 7 8

7 0 0 6 6 5 2

(10)

operasi dasar

Paling banyak, ada 2n2

operasi dasar Paling banyak

ada n tambahan untuk setiap digit

Paling banyak 2n2

Jumlah

penambahan Paling banyak

ada 2n digit 1 2 3 4 3 1 0

9 8 7 2 8 6 3 8

5 6 7 8 1 2 3 4

6 1 7 0

7 0 0 6 6 5 2 7 4 0 4

Perkalian Integer: Analisis

Analisis Kasus Terburuk

(11)

Abaikan faktor konstan

2

4n2

Waktu berjalan terakhir dari algoritma Perkalian Integer kami adalah n

“Kompleksitas Waktu” dari algoritma ini adalah: O(n2 )

4 adalah faktor konstan,

jadi kita bisa mengabaikannya

2n2 + 2n2 = 4n2 , di mana n adalah jumlah digit bilangan bulat (ukuran masukan) Total waktu berjalan dari algoritma Perkalian Integer “Kelas Tiga” adalah:

Notasi “O Besar ”.

Perkalian Integer: Analisis

(12)

Algoritma Cepat ÿ Waktu berjalan kasus terburuk bertambah lambat seiring dengan ukuran input

Seberapa Baguskah “O(n2 )”?

(13)

Kita akan membahas kembali Perkalian Bilangan Bulat nanti!

Bisakah kita berbuat lebih baik? Dibandingkan dengan O(n2 )

(14)

Prinsip Dasar dari

Analisis Algoritma

(15)

1. Analisis Kasus Terburuk

Analisis Algoritma: Prinsip Panduan

• Secara umum, lebih mudah dilakukan dibandingkan analisis kasus rata-rata, yang memerlukan distribusi input diperhitungkan

• Hasil analisis berlaku untuk semua jenis masukan, tidak ada pengecualian, tidak ada asumsi

(Kasus terburuk dalam hal masukan algoritma)

(16)

2. Analisis Asimptotik

Analisis Algoritma: Prinsip Panduan

• Analisis relatif tidak diperlukan

• Dengan masukan yang besar, efisiensi menjadi lebih penting

• Dengan masukan yang kecil, algoritma yang benar tidak masalah

(Fokus pada input yang sangat besar)

• Algoritme yang tidak efisien dapat menyebabkan banyak masalah

(17)

3. Abaikan faktor konstan dan suku tingkat rendah (Dalam konteks waktu berjalan sebagai fungsi dari ukuran masukan)

Analisis Algoritma: Prinsip Panduan

• Suku tingkat rendah menjadi tidak signifikan dengan masukan yang lebih besar

• Hilangnya akurasi analisis dapat diabaikan

• Konstanta bergantung pada faktor eksternal (kompiler, pemrogram, dll.)

• Lebih mudah untuk membandingkan dan menganalisis

(18)

4. Operasi Dasar yang Terdefinisi dengan Baik

Analisis Algoritma: Prinsip Panduan

• Satuan waktu berjalan konvensional (detik, milidetik, dll.) bergantung pada

• Lebih tepat untuk membandingkan algoritma daripada “implementasi faktor eksternal (kompiler, perangkat keras, dll.)

(Gunakan operasi dasar sebagai satuan waktu berjalannya algoritma)

algoritma”

(19)

Minggu depan: Teknik Dasar - Rekursi

Terima kasih untuk mendengarkan!

Itu saja untuk hari ini!

Referensi

Dokumen terkait

Analisis dokumen merupakan kegiatan menganalisis seluruh dokumen dasar yang digunakan dan mengalir pada sebuah sistem informasi yang sedang.. Adapun jenis-jenis

Analisis dokumen merupakan kegiatan menganalisis seluruh dokumen dasar yang digunakan dan mengalir pada sebuah sistem informasi yang sedang berjalan. Adapun jenis- jenis dokumen

Selain itu, dengan menerapkan ketiga algoritme, diharapkan dapat mengetahui algoritme mana yang memiliki akurasi terbaik untuk analisis sentimen terhadap komentar YouTube tentang

Lakukan partisi pada senarai tersebut menjadi bagian yang lebih kecil dengan cara membaginya menjadi sub bagian yang memiliki kemiripan dengan senarai semula namun berukuran

Analisis dokumen merupakan kegiatan menganalisis seluruh dokumen dasar yang digunakan dan mengalir pada sebuah sistem informasi yang sedang berjalan. Adapun jenis-jenis

Pada makalah ini akan dicoba dikemukakan cara menganalisis buku sains berdasarkan literasi ilmiah untuk dijadikan dasar pertimbangan memilih buku ajar sains termasuk

Dokumen ini membahas langkah-langkah komprehensif untuk mengembangkan ide bisnis, termasuk mengidentifikasi masalah, merancang produk, menganalisis pasar, dan mengembangkan strategi

Bahan perkuliahan ini membahas tentang dasar-dasar analisis bisnis, termasuk evolusi, data, model, pemecahan masalah, dan analisis basis