#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