Algorithms (2) Flashcards

Topics covered: More on algorithm complexity Binary search Brute force Greedy algorithm - able to apply algorithm analysis techniques to problem-solving.

1
Q

Komponen Algoritma

A

Struktur Data: Menyimpan informasi.

Instruksi: Mengubah nilai data.

Ekspresi Kondisional: Membuat keputusan.

Struktur Kontrol: Menjalankan keputusan.

Modul: Membantu abstraksi dan manajemen algoritma.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Jenis Kompleksitas

A

Waktu (Time Complexity): Jumlah langkah eksekusi.

Ruang (Space Complexity): Memori yang digunakan.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Kompleksitas Waktu

A

Fungsi š‘“(š‘›) yang menyatakan jumlah operasi maksimum untuk input berukuran n.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Notasi Big-O

A

mengukur seberapa cepat atau efisien sebuah algoritma bekerja berdasarkan jumlah inputnya.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Kenapa Notasi Big O Penting?

A

Notasi Big O membantu kita menjawab pertanyaan seperti:
āœ… Seberapa cepat algoritma bekerja jika jumlah data bertambah?
āœ… Mana algoritma yang lebih efisien saat menangani data dalam jumlah besar?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

O(1)

A

Konstan

Operasi sederhana (akses elemen array).

Misalnya, kamu langsung mengambil mie dari lemari dapur. Waktu yang dibutuhkan tetap sama, tidak peduli berapa banyak mie yang ada di lemari.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

O(log n)

A

Logaritmik

Pencarian biner dalam daftar terurut.

Misalnya, kamu ingin mencari kata dalam kamus. Kamu tidak membuka satu per satu halaman dari awal, tetapi langsung melompat ke tengah, lalu ke bagian kiri atau kanan sampai menemukan kata yang dicari.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

O(n)

A

Linear

Misalnya, kamu sedang mencari kunci di dalam tas. Kamu harus memeriksa satu per satu sampai menemukannya. Semakin banyak barang di dalam tas, semakin lama waktu yang dibutuhkan.

šŸ’” Contoh dalam pemrograman:

Linear Search (pencarian dalam daftar tidak terurut).

Menjumlahkan semua angka dalam array.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

O(n log n)

A

Linearithmic
Misalnya, kamu sedang menyusun kartu remi berdasarkan angka. Kamu membagi kartu menjadi beberapa kelompok kecil, menyusun masing-masing kelompok, lalu menggabungkannya.

šŸ’” Contoh dalam pemrograman:

Merge Sort atau Quick Sort (algoritma sorting yang lebih efisien).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

O(n²)

A

Kuadratik
Misalnya, kamu sedang menyusun tim sepak bola dari sekelompok teman. Kamu harus membandingkan setiap orang dengan yang lain satu per satu untuk memastikan strategi terbaik. Jika jumlah teman bertambah, waktu yang dibutuhkan bertambah drastis.

šŸ’” Contoh dalam pemrograman:

Bubble Sort, Selection Sort (algoritma sorting yang lambat).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

O(2ⁿ)

A

Eksponensial
Misalnya, kamu harus memilih pakaian untuk 10 hari ke depan, tetapi setiap hari kamu bisa memilih 2 jenis pakaian yang berbeda. Jumlah kombinasi yang harus dipertimbangkan akan bertambah dengan sangat cepat.

šŸ’” Contoh dalam pemrograman:

Brute-force dalam pemecahan masalah kombinatorial.

Algoritma rekursif Fibonacci tanpa optimasi.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

O(n!)

A

Faktorial
Misalnya, kamu ingin menyusun 10 buku dalam rak tetapi bisa menaruhnya dalam urutan apa saja. Jumlah kemungkinan urutan yang bisa terjadi akan sangat besar.

šŸ’” Contoh dalam pemrograman:

Traveling Salesman Problem (TSP) dengan brute-force.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Binary Search

A

menemukan elemen dalam daftar yang sudah terurut.

bekerja dengan cara membagi daftar menjadi dua bagian, lalu membandingkan elemen tengah dengan target. Jika elemen tengah bukan target, pencarian berlanjut ke bagian kiri atau kanan daftar hingga elemen ditemukan atau tidak ada lagi yang bisa diperiksa.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

keunggulan binary search

A

Cepat (O(log n)), cocok untuk data besar

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

kekurangan binary search

A

Hanya untuk data terurut

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

contoh binary search

A

Mencari nomor telepon di buku kontak

15
Q

keunggulan greedy algorithm

A

Mudah & cepat, cocok untuk masalah besar

16
Q

kekurangan greedy algoritme

A

Tidak selalu optimal. Bisa jadi keputusan awal yang serakah membuat solusi akhir kurang baik.

Tidak cocok untuk masalah yang butuh perhitungan ulang (seperti TSP atau penyusunan jadwal kompleks).

17
Q

keunggulan brute force

A

Pasti benar (dapat menemukan solusi), mudah dipahami

18
Q

kekurangan brute force

A

Lambat, boros waktu dan daya

19
Q

contoh brute force

A

Mencari password, kombinasi optimal