Berikut ini adalah pertanyaan dari sallomiant pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas
Buatlah Bahasa Manusia & Pseudocode
Jawaban dan Penjelasan
Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.
Algoritma Faktorial
Algoritma Bahasa Manusia
Sebenarnya, algoritma bahasa manusia sudah terdapat pada soal. Namun, algoritma pada soal belum memperhitungkan kemungkinan nol faktorial, yaitu 0! = 1.
Jika ingin membuat bentuk lain yang ekuivalen dan sesuai dengan definisi faktorial serta memperhitungkan 0!, contohnya adalah sebagai berikut.
Algoritma Menghitung Faktorial
- Baca masukan bilangan bulat positif x.
- Inisialisasi sebuah variabel hasil = 1.
- Selama x ≥ 0, lakukan iterasi:
3.1. Jika x = 0 atau x = 1, keluar dari iterasi.
3.2. Hitung faktorial: hasil = hasil * x.
3.3. Dekrementasi x: x = x – 1. - Tampilkan hasil.
______________
Algoritma Dalam Bentuk Pseudocode
Untuk menghitung faktorial ini, kita bisa merancang pseudocode berdasarkan algoritma bahasa manusia di atas (atau pada soal) yang menggunakan metode iteratif. Namun, kita juga bisa menggunakan metode rekursif.
Jika ingin menggunakan metode rekursif, kita harus merancang dua buah algoritma, yaitu algoritma utama (program utama) dan algoritma fungsi rekursif. Untuk membedakan jenis/cakupan algoritma, digunakan keyword program, function, dan procedure.
METODE ITERATIF
program Menghitung_Faktorial_Iteratif
{ Membaca input bilangan bulat positif,
dan menampilkan output nilai faktorialnya. }
Deklarasi/Kamus Umum
x: unsigned integer
hasil: unsigned integer
i: unsigned integer
Algoritma
read x
hasil ← 1
while x >= 0
if (x = 0 or x = 1) then
break { keluar dari while }
end if
hasil ← hasil * x
x ← x – 1
end while
print hasil
______________
METODE REKURSIF
Metode rekursif dapat dilakukan karena definisi faktorial dari bilangan bulat positif n dapat dinyatakan dengan:
Pertama, kita rancang algoritma untuk fungsi rekursifnya.
function Faktorial(n: unsigned integer) → unsigned integer
{ Menerima bilangan bulat positif n,
dan mengembalikan nilai faktorialnya. }
Algoritma
{ Basis rekursi }
if (n = 0 or n = 1) then
return 1
end if
{ Langkah rekurens }
return ( n * Faktorial(n – 1) )
Kemudian, kita rancang algoritma program utamanya, yang menggunakan fungsi/function Faktorial(n) di atas.
program Menghitung_Faktorial_Rekursif
{ Membaca input bilangan bulat positif,
dan menampilkan output nilai faktorialnya. }
Deklarasi/Kamus Umum
x: unsigned integer
Algoritma
read x
print Faktorial(x)
Untuk algoritma program tersebut, Anda juga dapat menggunakan variabel untuk menyimpan nilai Faktorial(x), kemudian .
Semoga dengan pertanyaan yang sudah terjawab oleh henriyulianto dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.
Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact
Last Update: Wed, 28 Dec 22