Mohon Bantuannya Gays Buatlah Bahasa Manusia & Pseudocode​

Berikut ini adalah pertanyaan dari sallomiant pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas

Mohon Bantuannya Gays
Buatlah Bahasa Manusia & Pseudocode​
Mohon Bantuannya Gays 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

  1. Baca masukan bilangan bulat positif x.
  2. Inisialisasi sebuah variabel hasil = 1.
  3. 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.
  4. 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:

\begin{aligned}n!=\begin{cases}1&{\sf jika\ }n\in\{0,1\}\\n\cdot(n-1)!&{\sf jika\ }n > 1\end{cases}\end{aligned}

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 \tt hasil untuk menyimpan nilai Faktorial(x), kemudian \tt print\ hasil.

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