Sunday, 9 October 2016

5 Algoritma, Pseudocode dan Menghitung T(n)


1. Algoritma Konversi Suhu ( ͦ C →  ͦ K)

Program KonversiFahrenheitCelcius

Deklarasi
            F,C : real
            x,y,step : integer

Algoritma
            Input (x,y,step)
            F ← x
            while (Fy)
do
                        C (5/9)*(F - 32)
                        output (F,C)
                        FF + step
            endwhile

Perhitungan kompleksitas waktu:

A.Pengisian Nilai
SYNTAX
JUMLAH
input x
1
input y
1
input step
1
F← x
1
C (5/9)*(F - 32)
N
output F
N
output C
N
F ← F + step   
N
TOTAL
4+4n

B.Operasi Penjumlahan
SYNTAX
JUMLAH
F + step
1
TOTAL
1

C.Operasi Pengurangan
SYNTAX
JUMLAH
F - 32
1
TOTAL
1

D.Operasi Pembagian
SYNTAX
JUMLAH
5/9
1
TOTAL
1

E.Operasi Perkalian
SYNTAX
JUMLAH
(5/9)*(F-32)
1
TOTAL
1

T(n)=t1+t2+t3+t4+t5=(4+4n)A + B+ C + D + E


2. 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)


Perhitungan kompleksitas waktu:

A.Pengisian Nilai
SYNTAX
JUMLAH
input harga
1
diskon ← harga * 0.4
1
total ← harga - diskon
n
diskon ← harga * 0.2
1
total ← harga - diskon
n
diskon ← harga * 0.1
1
total ← harga - diskon
n
harga > 300000
1
harga ≥ 150000
1
harga ≤ 300000
1
output (total)
1
TOTAL
8 + 3n

B.Operasi Pengurangan
SYNTAX
JUMLAH
harga - diskon
3
TOTAL
3

C.Operasi Perkalian
SYNTAX
JUMLAH
harga * 0.4
1
harga * 0.2
1
harga * 0.1
1
TOTAL
3

T(n) = t1+t2+t3 = (8 + 3n)A + 3B + 3C


     3. Algoritma Harga Sewa Kamar Hotel Berdasarkan Lama Menginap

Program HargaSewaKamar

Deklarasi
                LM : Byte
                KET : String
                HK, JML,BYRAKH : Real
Algoritma
                input (LM)
                input (HK)
                JML LM * HK
                If JML > 300000 
                       Then
                             BYRAKH JML - (JML * 0.3)
                       Else
                             If JML > 200000 Then
                                      BYRAKH JML - (JML * 0.2)
                                Else
                                                If JML > 100000 
                                                      Then
                                                            BYRAKH JML - (JML * 0.1)
                                                      Else
                                                                BYRAKH JML
                                                Endif
                            Endif
                Endif
                If JML > 100000 Then
                                KET ‘DAPAT DISC’
                Else
                                KET ‘TAK DISC’
                Endif
                output (JML)
                output (KET)
                output (BYRAKH)
               
Perhitungan kompleksitas waktu:

A.Pengisian Nilai
SYNTAX
JUMLAH
input LM
n
input HK
n
JML LM * HK
n
JML > 300000
1
BYRAKH JML - (JML * 0.3)
n
JML > 200000
1
JML > 100000
1
BYRAKH JML - (JML * 0.1)
n
BYRAKH JML
n
KET ‘DAPAT DISC’
1
KET ‘TAK DISC’
1
output JML
1
output KET
1
output BYRAKH
n
TOTAL
7 + 7n


B.Operasi Pengurangan
SYNTAX
JUMLAH
JML - (JML * 0.3)
1
JML - (JML * 0.2)
1
JML - (JML * 0.1)
1
TOTAL
3

C.Operasi Perkalian
SYNTAX
JUMLAH
LM * HK
1
JML * 0.3
1
JML * 0.2
1
JML * 0.1
1
TOTAL
4

T(n)=t1+t2+t3=(7+7n)A+3B+4C


     4. Algoritma Menghitung Gaji Total Karyawan

Program Menghitung_Gatot

Deklarasi
            NKaryawan                     : string
            GPokok                           : integer
            Pajak, Tunjangan, Gatot  : real

Algoritma
             Input(NKaryawan,GPokok)
             Pajak ← 0.1 * GPokok
             Tunjangan ← 0.2 * GPokok
             Gatot ← GPokok + Tunjangan
             Output(Gatot)

Perhitungan kompleksitas waktu:

A.Pengisian Nilai
SYNTAX
JUMLAH
Input NKaryawan
1
Input GPokok
1
Pajak ← 0.1 * GPokok
1
Tunjangan ← 0.2 * GPokok
1
Gatot ← GPokok + Tunjangan
N
Output(Gatot)
N
TOTAL
4+2N

B.Operasi Penjumlahan
SYNTAX
JUMLAH
GPokok + Tunjangan
1
TOTAL
1


C.Operasi Perkalian
SYNTAX
JUMLAH
0.1 * GPokok
1
0.2 * GPokok
1
TOTAL
2

T(n)= t1+t2+t3 =(4+2N)A+ B+ 2C


5. Algoritma Gaji Pegawai

Program GajiPegawai

Deklarasi
               NIK, Nama : String
               Jhk, tunj.jabatan, tunj.makan, tunj.transport, gaji_kotor, pajak, gaji_bersih : Real

Algoritma
               input (NIK, Nama, gaji_pokok, tunj.jabatan, Jhk)
               tunj.makan ← 10000 * Jhk
               tunj.transport ← 5000 * Jhk
               gaji_kotor ← (gaji_pokok + tunj.jabatan + tunj.makan + tunj.transport)
               pajak ← 0.1 * gaji_kotor
               gaji_bersih ← (gaji_kotor – pajak)
               output (tunj.makan, tunj.transport, gaji_kotor, pajak, gaji_bersih)


A.Pengisian Nilai
SYNTAX
JUMLAH
Input NIK
1
Input nama
1
Input gaji_pokok
1
Input tunj.jabatan
1
Input jhk
1
tunj.makan ← 10000 * Jhk
n
tunj.transport ← 5000 * Jhk
n
gaji_kotor ← (gaji_pokok + tunj.jabatan + tunj.makan + tunj.transport)
n
pajak ← 0.1 * gaji_kotor
n
gaji_bersih ← (gaji_kotor – pajak)
n
Output tunj.makan
1
Output tunj.transport
1
Output gaji_kotor
n
Output pajak
1
Output gaji_bersih
n
TOTAL
8 + 7N


B.Operasi Penjumlahan
SYNTAX
JUMLAH
gaji_pokok + tunj.jabatan + tunj.makan + tunj.transport
3
TOTAL
3

C.Operasi Pengurangan
SYNTAX
JUMLAH
gaji_kotor – pajak
1
TOTAL
1

D.Operasi Perkalian
SYNTAX
JUMLAH
10000 * Jhk
1
5000 * Jhk
1
0.1 * gaji_kotor
1
TOTAL
3

T(n)= t1+t2+t3+t4 =(8+7N)A+ 3B+ C + 3D

No comments:

Post a Comment