#Pencarian Nilai Faktorial
Algoritma ini berfungsi untuk mencari nilai faktorial dari sebuah bilangan.procedure proses_faktorial(n:input, hsl:output);
Deklarasi:
i:integer
Algoritma:
input(n)
hsl ← 1;
for i ← 1 to n do
hsl ← hsl * i
endfor
output(hsl)
Berikut system operasi dasar dalam algoritma tersebut:
operasi dasar Cn Cop
input 1 h
← 1+2n+1 i
* n j
output 1 k
T(n) = h + (1+2n+1)i + nj + k
input 1 h
← 1+2n+1 i
* n j
output 1 k
T(n) = h + (1+2n+1)i + nj + k
Program pembuatan dalam metode Pascal
program Hitung_Faktorial; {Program untuk menghitung faktorial suatu bilangan. masukan : nilai yang akan dicari faktorialnya. keluaran : nilai faktorial } var bilangan, hasil : integer; procedure isi_n(var n:integer); begin write ('Masukan Nilai Dibawah 10 : '); readln(n); end; procedure proses_faktorial(var n, hsl: integer); var i:integer; begin hsl := 1; for i := 1 to n do hsl := hsl * i; end; procedure tampil_faktorial(n, hsl:integer); begin writeln('Hasil Faktorial dari ',n,' adalah ', hsl); end; begin hasil :=1; isi_n(bilangan); if bilangan <= 10 then begin proses_faktorial(bilangan, hasil); tampil_faktorial(bilangan, hasil); end else writeln('Bilangan tidak bisa lebih dari 10'); Readln; end.
#Mencari Nilai Terbesar
Algoritma ini dimaksudkan untuk mencari nilai terbesar dari suatu set data yang diurutkan. Pencarian dilakukan dengan cara membandingkan setiap nilai pada data yang diinputkan dengan nilai maksimum yang didapat sebelumnya, dimana nilai maksimum diinisialisasi dengan nilai pertama dari data yang diinputkan. Berikut algoritma untuk mencari nilai terbesar:Procedure NilaiMaximum(data[0..n]:input)
Deklarasi:
max:integer
i:integer
Algoritma:
max ← data[0]
foreach item in data:
if item > max then
max ← item
output(max)
Dari algoritma diatas, didapat operasi dasar sebagai berikut, dimana n adalah jumlah data yang diinputkan:
| Operasi Dasar | Cop | Cn | |
|---|---|---|---|
| Min | Max | ||
| ← | x | x | x + nx |
| < | y | ny | ny |
output | z | z | z |
Maka didapatkan:
Kasus terbaik Tmin(n) = x + ny + z Kasus terburuk Tmax(n) = x + nx + ny + z
#Mencari Luas Balok
Procedure luasBalok(p, l, t : real ; var hl : real)
Deklarasi:
p, l, t, hl : real
Algoritma:
hl ← 2*(p+l+t)
| Operasi Dasar | Cop | Cn |
|---|---|---|
| ← | x | x |
| + | y | 2y |
| * | z | z |
Maka didapatkan:
T(n) = x + 2y + z
#Konversi Suhu
Dibawah ini adalah salah satu contoh algortima konversi suhu dari 3 satuan yang berbeda yaitu Fahrenheit, Celcius dan Reamur.Procedure Fahrenheit_celcius
Deklarasi
Algoritma
Input(f)
c←5/9*(f-32)
output(c)
end
Procedure Fahrenheit_reamur
Deklarasi
Algoritma
Input(f)
r←4/9*(f-32)
output(r)
end
Procedure celcius_fahrenheit
Deklarasi
Algoritma
Input(c)
f←(9/5)*c+32
output(f)
end
Procedure celcius_reamur
Deklarasi
Algoritma
Input(c)
r←(4/5)*c
output(r)
end
Procedure reamur_fahrenheit
Deklarasi
Algoritma
Input(r)
f←(9/4)*r+32
output(f)
end
Procedure reamur_celcius
Deklarasi
Algoritma
Input(r)
c←(5/4)*r
output(c)
end
Program Konversi_Suhu
Deklarasi
r, f, c : real
pilih, apa : char
algoritma
repeat
input(pilih)
case pilih of
'1' = fahrenheit_celcius
'2' = fahrenheit_reamur
'3' = celcius_fahrenheit
'4' = celcius_reamur
'5' = reamur_fahrenheit
'6' = reamur_celcius
else
output('Nomor yang anda masukkan salah')
endcase
input ('Mau coba lagi (Y/T) : ') read(apa)
until apa = 'Y'
end repeat
end
Operasi
Dasar
|
Cn
|
Cop
|
Input
|
2n+8
|
a
|
/
|
6
|
b
|
*
|
6
|
c
|
←
|
6
|
d
|
Output
|
n+7
|
e
|
+
|
2
|
f
|
-
|
2
|
g
|
Tn
= Cn*Cop
Tn=
(2n+8)a+6b+6c+6d+(n+7)e+2f+2g
|
||
#Deret Fibonacci
Dalam matematika, bilangan Fibonacci adalah barisan yang didefinisikan secara rekursif. Barisan ini berawal dari 0 dan 1, kemudian angka berikutnya didapat dengan cara menambahkan kedua bilangan yang berurutan sebelumnya. Berikut pseudocode dari algoritma deret bilangan fibonacci.
Procedure fibonacci(input jml : integer)
Deklarasi
range :integer
current :integer
tmp :integer
i :integer
Algoritma
range ← 0
current ← 1
tmp ← 0
print(range)
print(current)
for (i ← 2; i < jml; i++)
tmp ← current
current ← current + range
range ← tmp
print(current)
endfor
Operasi Dasar
|
Cn
|
Cop
|
←
|
3(n-2)+4 = 3n-2
|
A
|
<
|
(n-2)+1 = n-1
|
B
|
+
|
2(n-2) = 2n-4
|
C
|
print
|
(n-2)+2 = n
|
D
|
Tn = Cn*Cop
Tn= A(3n-2) +
B(n-1) + C(2n-4) + Dn
|
||
Referensi :
Munir, Rinaldi, 2005, Algoritma dan Pemrograman dalambahasa Pascal dan C, Penerbit Informatika Bandung
0 komentar:
Posting Komentar