BigOCheatSheet
- Pengenalan
- Kompleksitas Komputasi Asimtotik
- Asimtot
- Analisis Asimtot
- Big O
- Big Omega
- Big Theta
- Perbedaan Ketiganya
- Konteks Kasus Terburuk, Terbaik, Rata-rata
- Referensi
Pengenalan
Sebelum kita menuju ke situs, kita perlu tahu dahulu apa itu Kompleksitas Komputasi Asimtotik. Jika dirimu sudah familiar dengan istilah ini, lewati dan langsung menuju ke Big-O Cheat Sheet Website.
Kompleksitas Komputasi Asimtotik
Dalam teori kompleksitas komputasi, kompleksitas komputasi asimtotik merupakan penggunaan analisis asimtotik untuk estimasi kompleksitas komputasi algoritme dan masalah komputasi, yang umumnya dikaitkan dengan penggunaan notasi big O. - Wikipedia
Untuk memahami istilah-istilah tersebut, kita perlu tahu dahulu apa itu Asimtot sebelum kita menyelam dalam Analisis Asimtotik.
Asimtot
Dalam geometri analitis, asimtot dari sebuah kurva adalah sebuah garis yang sedemikian rupa sehingga jarak antara kurva dan garis tersebut mendekati nol seiring x atau y (salah satu atau keduanya) mendekati takhingga. - Wikipedia
Berikut contoh visual dari jarednielsen
y = 1/x
Tak peduli seberapa besar atau kecil nilai x, kurva tidak akan pernah menyentuh sumbu x atau y. Bahkan jika nilainya takhingga. ๐ข๐โโ๏ธ.Terutama jika nilainya nol. Mengapa? Secara matematis tidak mungkin untuk membagi dengan nol. Pada grafik diatas, sumbu x dan y merupakan asimtot dari persamaan
y = 1 / x
. Namun garis apapun bisa menjadi asimtot. Tidak terbatas pada garis horizontal dan vertikal. - jarednielsen
Sekarang kita dapat ide tentang asimtot, ayo lanjut mempelajari mengenai Analisis Asimtotik.
Analisis Asimtot
Dalam analisis matematis, analisis asimtotik, juga disebut sebagai _asimtotik merupakan metode untuk menggambarkan perilaku limit. - Wikipedia
Sebagai contoh kita dapat dari jarednielsen. Diberikan fungsi f(x) = x^2 + 2x
, dimana x
nilainya meningkat (mendekati takhingga) dan 2x
menjadi tak signifikan dibandingkan dengan x^2
. Sederhananya, kita dapat katakan f(x)
ekuivalen secara asimtotik dengan x^2
.
Mengapa kita perlu analisis asimtotik ini dirimu mungkin bertanya?
Karena kita perlu mengestimasi kompleksitas komputasional dari algoritme dan masalah komputasional. Agar semua orang sepakat pada hal yang sama, kita menggunakan notasi-notasi ini: big O, big ฮฉ and big ฮธ untuk menggambarkan tipe estimasi yang berbeda.
Big O
Big O menggambarkan batas atas suatu algoritme. Inilah mengapa, kita sebagai pengembang dan praktisi terutama peduli dengan Big O. Kita ingin tahu seberapa buruk kinerja suatu algoritme. - jarednielsen
Ini didefinisikan sebagai batas atas dan batas atas pada suatu algoritme merupakan jumlah waktu paling banyak yang dibutuhkan (kinerja kasus terburuk). Notasi Big O digunakan untuk menggambarkan batas atas asimtotik. - GeeksForGeeks
Big ฮฉ
Big Omega menggambarkan batas bawah suatu algoritme. Kalo saja hidup selalu memberi kita array yang diurutkan. ๐ผ. Kita juga dapat menganggap ini sebagai skenario kasus terbaik kita. - jarednielsen
Ini didefinisikan sebagai batas bawah dan batas bawah pada suatu algoritme merupakan jumlah paling sedikit yang dibutuhkan (cara yang paling efisien, dengan kata lain kasus terbaik). Seperti notasi O menyediakan batas atas asimtotik, notasi ฮฉ menyediakan batas bawah asimtotik. - GeeksForGeeks
Big ฮธ
Big Theta menggambarkan batasan ketat suatu algoritme, batasannya dari atas dan bawah. Big Theta sering digunakan untuk menggambarkan kasus rata-rata atau yang diharapkan untuk suatu algoritme. Ini tidak sepenuhnya benar, tetapi ini adalah singkatan yang berguna. - jarednielsen
Ini didefinisikan sebagai batas terketat dan batas terketat merupakan yang terbaik dari semua waktu kasus terburuk yang dapat diambil oleh algoritme. - GeeksForGeeks
Perbedaan Ketiganya
Big O | Big ฮฉ / Omega | Big ฮธ / Theta | |
---|---|---|---|
Operator bersyarat | <= |
>= |
== |
Tingkat pertumbuhan suatu algoritme / struktur data | kurang dari | lebih dari | sama dengan |
Batas | atas | bawah | atas dan bawah |
Notasi | O(n) |
ฮฉ(n) |
ฮธ(n) |
Konteks Kasus Terburuk, Terbaik, Rata-rata
Apa hubungan antara
kasus terbaik / kasus terburuk / kasus diharapkan
dengan
Big O / Big Omega (ฮฉ) / Big Theta (ฮธ)?
Tidak ada.
Ekuivalensi sering dibuat antara Big O dan kasus terburuk, Big Omega dan kasus terbaik, dan Big Theta dan kasus rata-rata untuk setiap notasi. - jarednielsen
Misalnya, setiap pernyataan mengenai kasus terburuk berikut ini semuanya benar:
Tingkat pertumbuhan kasus terburuk Insertion Sort paling tinggi
O(n^2)
Tingkat pertumbuhan kasus terburuk Insertion Sort paling rendahฮฉ(n)
Tingkat pertumbuhan kasus terburuk Insertion Sort tepatฮ(n^2)
Referensi
Big-O Cheat Sheet Website โฝ diakses terakhir 17 September 2022
Asymptotic computational complexity โฝ diakses terakhir 17 September 2022
Asimtot โฝ diakses terakhir 17 September 2022
Asymptotic analysis โฝ diakses terakhir 17 September 2022
Whatโs the Difference Between Big O, Big Omega, and Big Theta? โฝ diakses terakhir 17 September 2022
Difference between Big Oh, Big Omega and Big Theta โฝ diakses terakhir 17 September 2022