Anda di halaman 1dari 8

Asymptotic Notation:

Big O notation and Little O Notation


Nama Kelompok
• Rizki Ardi Maulana (13115031)
• Monang Fauzi (13115026)
• M Fadel Setia Budi (13115032)
Asymptotic Notation
• Notasi asimtotik merupakan himpunan fungsi yang dibatasi oleh suatu fungsi nÎN
yang cukup besar.

• Fungsi : N → R (sering R+)

• Notasi Asimtotik digunakan untuk menentukan kompleksitas suatu algoritma dengan


melihat waktu tempuh algoritma. Waktu tempuh algoritma merupakan fungsi : N → R+

• Menggambarkan karakteristik/perilaku suatu algoritma pada batasan tertentu


(berupa suatu fungsi matematis)

• Dituliskan dengan notasi matematis yg dikenal dgn notasi asymptotic


Big O Notation
Merupakan cara yang digunakan untuk menguraikan laju pertumbuhan suatu fungsi
yang tidak lain adalah time complexity suatu algoritma. Big O notation adalah notasi
yang paling populer dan paling banyak digunakan pada kalangan peneliti ilmu
komputer. Notasi Big-O digunakan untuk mengkategorikan algoritma ke dalam fungsi
yang menggambarkan batas atas (upper limit) dari pertumbuhan sebuah fungsi ketika
masukan dari fungsi tersebut bertambah banyak. Secara sederhana notasi O-Besar
didefinisikan sebagai berikut:

Jika n adalah ukuran masukan dan f(n) serta g(n) adalah fungsi positif dari n maka f(n)
adalah O(g(n)) jika dan hanya jika terdapat konstanta positif c dan integer positif n0
sedemikian rupa sehingga f(n) ≤ c g(n) untuk semua n ≥ n0.
notasi OBesar yang secara khusus digunakan untuk menguraikan efisiensi algoritma.
Notasi O-Besar tidak secara spesifik memasukkan suku konstanta. Jika hasil estimasi
efisiensi algoritma mencakup jumlah beberapa suku, notasi ini hanya akan mengambil
suku dengan order tertinggi. Sebagai contoh algoritma dengan efisiensi T(n) = n2+n+10
maka order algoritma tersebut adalah O(n2). Ilustrasi berikut menujukkan bagaimana
dominasi n2 terhadap nilai T(n) secara keseluruhan saat nilai n menuju tak berhingga.

n N^2 n 10 T(n)
0 0 0 10 10
10 100 10 10 120
100 10000 100 10 10110
1000 1000000 1000 10 1001010
10000 100000000 10000 10 100010010
Dalam Big-O, Anda hanya perlu menemukan pengganda tertentu yang ketidaksetaraannya ada di luar beberapa x minimum.

Dalam Little-o, harus ada minimum x setelah ketidaksetaraan berlaku tidak peduli seberapa kecil Anda membuat k, asalkan tidak negatif atau nol.

Keduanya menjelaskan batas atas, meskipun agak berlawanan secara intuitif,


Little-o adalah pernyataan yang lebih kuat.
Ada kesenjangan yang jauh lebih besar antara tingkat pertumbuhan f dan g jika f ∈ o (g) dibandingkan jika f ∈ O (g).

Satu ilustrasi dari perbedaan ini adalah: f ∈ O (f) adalah benar, tetapi f ∈ o (f) salah. Oleh karena itu, Big-O dapat dibaca sebagai "f ∈ O (g) berarti bahwa
pertumbuhan asimtotik f tidak lebih cepat dari g",

sedangkan "f ∈ o (g) berarti bahwa pertumbuhan asimtotik f adalah sangat lambat dari g". Ini seperti <= versus <.
Lebih khusus lagi, jika nilai g (x) adalah kelipatan konstan dari nilai f (x), maka f ∈ O (g) adalah benar.
Inilah sebabnya mengapa Anda dapat menjatuhkan konstanta ketika bekerja dengan notasi O besar.
Namun, untuk f ∈ o (g) benar, maka g harus menyertakan kekuatan x yang lebih tinggi dalam rumusnya, dan dengan demikian pemisahan relatif antara f (x)
dan g (x) harus benar-benar menjadi lebih besar karena x semakin besar. Untuk menggunakan contoh matematika murni (daripada merujuk ke algoritme):

Hal berikut ini berlaku untuk Big-O, tetapi tidak akan benar jika Anda menggunakan sedikit-o:

• x² ∈ O (x²)
• x² ∈ O (x² + x)
• x² ∈ O (200 * x²)

Hal berikut ini berlaku untuk little-o:

• x² ∈ o(x³)

• x² ∈ o(x!)

• ln(x) ∈ o(x)
Little O Notation
Notasi Little o, yaitu notasi asimptotik sebuah fungsi algoritma untuk
batas atas namun tidak secara ketat terikat (not asymptotically
tight).
o(g) = {f ; ∀c>0 ∃n0 ∀x> n0 : |f(x)| < |cg(x)|}
o(g) ⊂ O(g) − Θ(g)

Contoh: tetapi