Analisis Big O Notation dalam Pencarian Maksimum

Erika Pramesti Dewi

Sosial Media


1 orang menyukai ini
Suka

Summary

Big O Notation sangat penting di era sekarang,dengan memahami nya kita bisa memilih algoritma yang tepat untuk menyelesaikan masalah yang di hadapi.

Description

Di era digital saat ini, di mana kita berhadapan dengan data dalam jumlah besar, memahami efisiensi algoritma menjadi sangat penting. Big O Notation adalah alat yang digunakan untuk menggambarkan bagaimana kompleksitas waktu atau ruang sebuah algoritma meningkat ketika ukuran input bertambah. Misalnya, pencarian angka terbesar dalam sebuah daftar mungkin tampak sederhana, tetapi ketika daftar tersebut terdiri dari jutaan angka, efisiensi menjadi krusial.

Dengan menggunakan pendekatan Computational Thinking, kita dapat membongkar masalah ini menjadi langkah-langkah yang lebih kecil untuk memahami dan mengukur performa algoritma. Dalam portofolio ini, kita akan menjelajahi bagaimana cara menghitung waktu pencarian angka terbesar dalam suatu array menggunakan Python, serta bagaimana Big O Notation memberikan gambaran tentang efisiensi algoritma tersebut.

Langkah-Langkah Solusi:

  1. Decomposition (Dekonstruksi Masalah): Kita ingin menemukan angka terbesar dalam sebuah daftar. Untuk itu, kita perlu menelusuri seluruh daftar dan membandingkan setiap elemen dengan angka terbesar yang sudah ditemukan sebelumnya.
  2. Pattern Recognition (Pengenalan Pola): Pola yang kita kenali adalah bahwa semakin besar ukuran daftar, semakin banyak perbandingan yang harus dilakukan.
  3. Abstraksi: Kompleksitas algoritma ini dapat digambarkan dengan Big O Notation, yang dalam kasus ini adalah O(n), di mana n adalah jumlah elemen dalam daftar.
  4. Algoritma (Algorithm): Kita akan mengimplementasikan algoritma untuk mencari angka terbesar dengan iterasi sederhana dan mengukur berapa lama waktu yang dibutuhkan ketika ukuran input bertambah.

Source Code Python 

Penjelasan Kode 

  • Fungsi cari_maksimum: Fungsi ini berjalan melalui seluruh elemen dalam array untuk mencari angka terbesar. Waktu eksekusi dari algoritma ini bergantung pada ukuran array dan secara linear memiliki kompleksitas O(n).
  • Fungsi ukur_waktu: Fungsi ini digunakan untuk mengukur berapa lama waktu yang diperlukan untuk menemukan angka terbesar dalam array dengan ukuran yang bervariasi. Kita menggunakan modul time untuk mencatat waktu sebelum dan sesudah algoritma dieksekusi, lalu menghitung perbedaannya.
  • Pengujian performa: Kita menjalankan pengujian dengan berbagai ukuran array, mulai dari 100 hingga 1.000.000 elemen, dan mencatat berapa lama waktu yang dibutuhkan untuk setiap ukuran.

Mengapa Big O Notation Penting?

Big O Notation adalah alat yang penting untuk memprediksi performa algoritma dalam skenario dunia nyata. Dengan memahaminya, kita bisa memilih algoritma yang tepat untuk tugas yang dihadapi dan menghindari bottleneck ketika bekerja dengan dataset yang besar.

Program ini memberikan gambaran yang jelas tentang bagaimana sebuah algoritma sederhana seperti pencarian angka terbesar dapat dianalisis menggunakan Big O Notation, serta bagaimana Computational Thinking membantu dalam memecahkan masalah ini secara efisien.

Informasi Course Terkait
  Kategori: Algoritma dan Pemrograman
  Course: Mikrokontroler: Dasar-Dasar Pemrograman Python