Algorithm Flashcards
Topics covered: Searching for smallest and largest number Linear search Kompleksitas algoritma (Algorithm complexity) - able to apply algorithm analysis techniques to problem-solving.
Mencari nilai ekstrem (maksimum dan minimum)
Menemukan nilai maksimum atau minimum dalam suatu daftar angka.
Kesulitan bagi komputer Mencari Nilai Ekstrem
Komputer tidak dapat melihat banyak angka sekaligus, tetapi bisa membandingkan dua angka dalam satu waktu.
Algoritma dasar untuk mencari nilai maksimum:
Jika daftar kosong, keluarkan output “n.a.” dan selesai.
Jika daftar hanya berisi satu angka, angka tersebut adalah maksimum.
Jika daftar memiliki lebih dari satu angka, tetapkan angka pertama sebagai maksimum sementara.
Bandingkan setiap angka dalam daftar dengan nilai maksimum sementara, dan perbarui jika angka baru lebih besar.
Setelah semua angka diperiksa, angka terbesar adalah maksimum.
Pencarian Linier (Linear Search)
Algoritma yang memeriksa elemen satu per satu untuk menemukan target dalam suatu daftar.
Kesulitan bagi komputer Pencarian Linier
Komputer hanya bisa membandingkan dua angka sekaligus, sehingga pencarian harus dilakukan secara berurutan.
Algoritma dasar Pencarian Linier
Jika daftar kosong, keluarkan output “nilai tidak ditemukan” dan selesai.
Bandingkan setiap angka dengan target.
Jika ditemukan, keluarkan output “nilai ditemukan” dan selesai.
Jika daftar habis dan target belum ditemukan, keluarkan output “nilai tidak ditemukan.”
Kompleksitas Algoritma
Kompleksitas mengukur jumlah operasi yang dibutuhkan algoritma terhadap ukuran input.
Jika daftar berisi 4 angka, jumlah operasi = 3.
Jika daftar berisi 8 angka, jumlah operasi = 7.
Kompleksitas meningkat secara linier (O(n)).