Saturday, 22 October 2016

Menentukan Big-oh(O), Big-omega(Ω), dan Big-theta(Θ)



1. Algoritma Upah Karyawan

Program UpahKaryawan

Deklarasi
     nama : string
     JJK  : integer //Jumlah jam kerja
     lembur, upah : real

Algoritma
     input(nama,JJK)
     if JJK ≤ 48 then
          upah ← JJK*2000
     else
          lembur ← JJK-48
          upah ← 48*2000+lembur*3000
     endif
     output(nama,upah)

Analisis (worst case, best case, dan avarege case)
Tmax(n)= n+3
-Big Oh (O)
  n+3 Cg(n)
  5 ≤ 2                   ;n=2
  5 ≤ 3*2               ;C=3
  5 ≤ 6
  Tmax­­(n)= n+3=O(n) untuk n 2 dan C 3
-Big Ω dan Big Θ
  n+3 Cg(n)
  5 ≥ 2                   ;n=2  ;C=1
  Tmax­­(n)= n+3=(n) untuk n 2 dan C   1
  Karena Tmax­­(n)= n+3=O(n) dan Tmax­­(n)= n+3=(n) maka Tmax­­(n)= n+3= Θ(n)
                             
Tmin(n)= 3
-Big Oh (O)
  3 Cg(n)
  3 ≤ 2                   ;n=2  ;C=2
  Tmin(n)=3 =O(n) untuk n 2 dan C 2
-Big Ω dan Big Θ
  3 Cg(n)
  3 ≥ 2                   ;n=2  ;C=1
  Tmin­­(n)=3 =(n) untuk n 2 dan C 1
  Karena Tmin(n)=3 =O(n) dan Tmin­­(n)=3 =(n) maka Tmin­­(n)=3 = Θ(n) 

Tavg(n)= 3+(n+3)
                    2
-Big Oh (O)
  3+(n+3)  Cg(n)
        2
  3+(2+3) ≤ 2        ;n=2
        2
  4 ≤ 2*2               ;C=2
  4 ≤ 4                  
  Tavg(n)= 3+(n+3) =O(n) untuk n 2 dan C 2
                     2
-Big Ω dan Big Θ
  3+(n+3)  Cg(n)
        2
  3+(2+3) ≥ 2        ;n=2  ;C=1
        2
  4 ≥ 2                  
  Tavg(n)= 3+(n+3) =(n) untuk n 2 dan C   1
                     2
  Karena Tavg(n)= 3+(n+3)=O(n) dan Tavg(n)= 3+(n+3)=(n) maka Tavg(n)= 3+(n+3)= Θ(n)
                                  2                                           2                                               2

      
2. Algoritma Menghitung Total Bayar

Program MenghitungTotalBayar
{ menghitung total bayar dari input kode barang, nama barang, harga  satuan, dan jumlah barang yang dibeli. }

Deklarasi
     kode, nama : string
     jumlah : integer
     diskon, harga, harga_tot, total : real
Algoritma
     input(kode, nama, harga, jumlah)
     harga_tot ← harga * jumlah
     if jumlah ≥ 3 then
        diskon ← 0.125 * harga_tot
     else
        diskon ← 0
endif
     total ← harga_tot - diskon;
     output(total)

Analisis (worst case, best case, dan avarege case)
Tmax(n)= 2 + n
-Big Oh (O)
  2 + n Cg(n)
  6 ≤ 4                   ;n=4
  6 ≤ 2*4               ;C=2
  6 ≤ 8
  Tmax­­(n)= 2+n =O(n) untuk n 4 dan C 2
-Big Ω dan Big Θ
  2 + n Cg(n)
  5 ≥ 4                   ;n=4  ;C=1
  Tmax­­(n)= 2 + n=(n) untuk n 4 dan C   1
  Karena Tmax­­(n)= 2 + n =O(n) dan Tmax­­(n)= 2 + n =(n) maka Tmax­­(n)= 2 + n = Θ(n)

Tmin(n)= 2
-Big Oh (O)
  2 Cg(n)
  2 ≤ 4                   ;n=4  ;C=1
  Tmin­­(n)= 2 =O(n) untuk n 4 dan C 1
-Big Ω dan Big Θ
  2 Cg(n)
  2 ≥ 4                   ;n=4
  2 ≥ ½*4              ;C=½
  2 ≥ 2
  Tmin­­(n)= 2 =(n) untuk n 4 dan C   ½
  Karena Tmin­­(n)= 2  =O(n) dan Tmin­­(n)= 2 =(n) maka Tmin­­(n)= 2 = Θ(n)

Tavg(n)= 2+(2+n)
                   2  
-Big Oh (O)
  2+(2+n)  Cg(n)
        2
  2+(2+4)  ≤ 4        ;n=4  ;C=1
        2
  4 ≤ 4                  
  Tavg(n)= 2+(2+n) =O(n) untuk n 4 dan C 1
                     2
-Big Ω dan Big Θ
  2+(2+n)  Cg(n)
        2
  2+(2+4) ≥ 4        ;n=4  ;C=1
        2
  4 ≥ 4                  
  Tavg(n)= 2+(2+n) =(n) untuk n 4 dan C   1
                     2
  Karena Tavg(n)= 2+(2+n)=O(n) dan Tavg(n)= 2+(2+n)=(n) maka Tavg(n)= 2+(2+n)= Θ(n)
                                  2                                           2                                              2


3. Algoritma Hitung Rata-rata

Program HitungRataRata2
{menghitung rata-rata dari sejumlah data bilangan bulat yang dibaca dari papan ketik selama data yang dibaca tidak sama dengan 0.}

Deklarasi
     x : integer     { data bilangan yang dibaca dari papan ketik } 
     i : integer     { pencacah banyak data }  
     jumlah : integer     { pencatat jumlah data }
     rerata : real   { nilai rata-rata seluruh data }

Algoritma
     i ← 0           { inisialisasi pencatat banyak data dengan 0 }
     jumlah ← 0      { inisialisasi jumlah data dengan 0 }
     read(x)        
     while x ≠ 0 do       { lakukan penjumlahan selama x tidak nol }
           i ← i + 1             { naikkan pencatat banyaknya data }
           jumlah ← jumlah + x
           read(x)
     endwhile
     { x = 0 }
     If i ≠ 0 then   { data yang dibaca minimal 1 buah }
           rerata ← jumlah/i   
           write (rerata)
     else
           write (‘tidak ada data yang dimasukkan’)
     endif

Analisis (worst case, best case, dan avarege case)
Tmax(n)= 3 + 2n ≈ n
-Big Oh (O)
  3 + 2n Cg(n)
  13 ≤ 5                 ;n=5
  13 ≤ 3*5             ;C=3
  13 ≤ 15
  Tmax­­(n)= 3 +2n =O(n) untuk n 5 dan C 3
-Big Ω dan Big Θ
  3 + 2n Cg(n)
  13 ≥ 5                 ;n=5  ;C=1
  Tmax­­(n)= 3 + 2n=(n) untuk n 5 dan C   1
  Karena Tmax­­(n)= 3 + 2n =O(n) dan Tmax­­(n)= 3 + 2n =(n) maka Tmax­­(n)= 3 + 2n = Θ(n)

Tmin(n)= 5
-Big Oh (O)
  5 Cg(n)
  5 ≤ 3                   ;n=3
  5 ≤ 2*3               ;C=2
  5 ≤ 6
  Tmin­­(n)= 5 =O(n) untuk n ≥ 3 dan C 2
-Big Ω dan Big Θ
  5 Cg(n)
  5 ≥ 3                   ;n=3  ;C=1
  Tmin­­(n)= 5 =(n) untuk n 3 dan C   1
  Karena Tmin­­(n)= 5 =O(n) dan Tmin­­(n)= 5 =(n) maka Tmin­­(n)= 5 = Θ(n)

Tavg(n)= 5+(3+2n) ≈ 2n ≈ n
                     2
-Big Oh (O)
  5+(3+2n)  Cg(n)
        2
  5+(3+2*4)  ≤ 4                  ;n=4 
         2
  8 ≤ 2*4                              ;C=2
  8 ≤ 8
  Tavg(n)= 5+(3+2n) =O(n) untuk n 4 dan C 2
                      2
-Big Ω dan Big Θ
  5+(3+2n)  Cg(n)
        2
  5+(3+2*4) ≥ 4                  ;n=4  ;C=1
        2
  8 ≥ 4                  
  Tavg(n)= 5+(3+2n) =(n) untuk n 4 dan C   1
                      2
  Karena Tavg(n)= 5+(3+2n)=O(n) dan Tavg(n)= 5+(3+2n)=(n) maka Tavg(n)= 5+(3+2n)= Θ(n)
                                   2                                             2                                                 2

4. Algoritma Hitung Diskon

Program HitungDiskon

Deklarasi
     harga, diskon, total : real

Algoritma
     input(harga)
     if (harga > 300000)
         then
               diskon ← harga * 0.4
               total ← harga - diskon
         else
               if (harga ≥ 150000) and (harga ≤ 300000)
                   then
                         diskon ← harga * 0.2
                         total ← harga - diskon
                   else
                         diskon ← harga * 0.1
                         total ← harga - diskon
               endif
     endif
     output(total)

Analisis (worst case, best case, dan avarege case)
Tmax(n)= 2
-Big Oh (O)
  2 Cg(n)
  2 ≤ 2                   ;n=2  ;C=1
  Tmax­­(n)= 2 =O(n) untuk n 2 dan C 1
-Big Ω dan Big Θ
  2 Cg(n)
  2 ≥ 2                   ;n=2  ;C=1
  Tmax­­(n)= 2=(n) untuk n 2 dan C   1
  Karena Tmax­­(n)= 2 =O(n) dan Tmax­­(n)= 2 =(n) maka Tmax­­(n)=2 = Θ(n)

Tmin(n)= 2
-Big Oh (O)
  2 Cg(n)
  2 ≤ 2                   ;n=2  ;C=1
  Tmin­­(n)= 2 =O(n) untuk n 2 dan C 1
-Big Ω dan Big Θ
  2 Cg(n)
  2 ≥ 2                   ;n=2  ;C=1
  Tmin­­(n)= 2=(n) untuk n 2 dan C   1
  Karena Tmin­­(n)= 2 =O(n) dan Tmin­­(n)= 2 =(n) maka Tmin­­(n)= 2 = Θ(n)

Tavg(n)= 2 
-Big Oh (O)
  2 Cg(n)
  2 ≤ 2                   ;n=2  ;C=1
  Tavg­­(n)= 2 =O(n) untuk n 2 dan C 1
-Big Ω dan Big Θ
  2 Cg(n)
  2 ≥ 2                   ;n=2  ;C=1
  Tavg­­(n)= 2=(n) untuk n 2 dan C   1
  Karena Tavg­­(n)= 2 =O(n) dan Tavg­­(n)= 2 =(n) maka Tavg­­(n)= 2 = Θ(n)


5. Algoritma Jenis Bilangan Bulat

Program JenisBilanganBulat
Deklarasi
     X : interger
Algoritma
     read (x)
     if x > 0 then
           write(‘positif’)
     else
           if x < 0 then
                write(‘negatif’)
           else
                if x = 0
                     write(‘nol’)
                endif
           endif
     endif

Analisis (worst case, best case, dan avarege case)
Tmax(n)= n+2
-Big Oh (O)
  n+2 Cg(n)
  4 ≤ 2                   ;n=2 
  4 2*2               ;C=2
  4 ≤ 4
  Tmax­­(n)= n+2 =O(n) untuk n 2 dan C 2
-Big Ω dan Big Θ
  n+2 Cg(n)
  4 ≥ 2                   ;n=2  ;C=1
  Tmax­­(n)= n+2=(n) untuk n 2 dan C   1
  Karena Tmax­­(n)= n+2 =O(n) dan Tmax­­(n)= n+2 =(n) maka Tmax­­(n)=n+ 2 = Θ(n)

Tmin(n)= 2
-Big Oh (O)
  2 Cg(n)
  2 ≤ 2                   ;n=2  ;C=1
  Tmin­­(n)= 2 =O(n) untuk n 2 dan C 1
-Big Ω dan Big Θ
  2 Cg(n)
  2 ≥ 2                   ;n=2  ;C=1
  Tmin­­(n)= 2=(n) untuk n 2 dan C   1
  Karena Tmin­­(n)= 2 =O(n) dan Tmin­­(n)= 2 =(n) maka Tmin­­(n)= 2 = Θ(n)

Tavg(n)= 2+(n+2)
                    2
-Big Oh (O)
  2+(n+2)  Cg(n)
        2
  2+(2+2) ≤ 2        ;n=2 
        2
  3 ≤ 2*2               ;C=2
  Tavg(n)= 2+(n+2) =O(n) untuk n 2 dan C 2
                     2
-Big Ω dan Big Θ
  2+(n+2)  Cg(n)
        2
  2+(2+2) ≥ 2        ;n=2  ;C=1
        2
  3 ≥ 2                  
  Tavg(n)= 2+(n+2) =(n) untuk n 2 dan C   1
                      2
  Karena Tavg(n)= 2+( n+2)=O(n) dan Tavg(n)= 2+(n+2)=(n) maka Tavg(n)= 2+(n+2)= Θ(n)
                                   2                                           2                                              2