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
2
-Big Oh (O)
3+(n+3) ≤ Cg(n)
2
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
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
2
-Big Oh (O)
2+(2+n) ≤ Cg(n)
2
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+(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
2
-Big Oh (O)
5+(3+2n) ≤ Cg(n)
2
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
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)
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
2
-Big Oh (O)
2+(n+2) ≤ Cg(n)
2
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) ≥ 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