Masih sama seperti tugas kemarin, namun sekarang dengan Powershell. Buatlah

Berikut ini adalah pertanyaan dari qed pada mata pelajaran TI untuk jenjang Sekolah Dasar

Masih sama seperti tugas kemarin, namun sekarang dengan Powershell.Buatlah script Powershell yang dapat menampilkan barisan bilangan Fibonacci hingga suku ke-n.
(Nilai n diperoleh dari parameter script.)

Jawaban dan Penjelasan

Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.

Script Powershell: fibonacci.ps1

# fibonacci.ps1
# oleh: hy

# Get-Fibonacci($n)
# Mengembalikan array berisi
# barisan bilangan Fibonacci,
# mulai dari suku ke-0 hingga
# suku ke-$n.
function Get-Fibonacci {
   param (
       $n
   )
   $F = 0 .. $n
   for ($i = 0; $i -le $n; $i++) {
       if ($i -lt 2) {
           $F[$i] = $i
       }
       else {
           $F[$i] = $F[$i-1] + $F[$i-2]
       }
   }
   $F
}

$n = $args[0]
Write-Output "Barisan bilangan Fibonacci hingga suku ke-${n}:"
(Get-Fibonacci($n)) -join ', '
_____________

Pembahasan

Seperti jawaban saya yang lalu (shellscript fibonacci : yomemimo.com/tugas/51769747), relasi rekurensi pada barisan bilangan Fibonacci didefinisikan oleh:

\begin{aligned}F_n=\begin{cases}0,&{\rm untuk\ }n=0\\1,&{\rm untuk\ }n=1\\F_{n-1}+F_{n-2},&{\rm untuk\ }n > 1\end{cases}\end{aligned}

Pada script Powershell di atas, fungsi Get-Fibonaccidengan parameter$n mengembalikan array yang berisi barisan bilangan Fibonacci dari suku pertama (suku ke-0) hingga suku ke-$n. Jadi, misalnya $n = 10, maka array $F akan berisi suku ke-0 hingga suku ke-10 dari barisan bilangan Fibonacci. Banyak elemen array $F adalah 11.

Script fibonacci.ps1 menerima 1 argumen/parameter, yaitu n, dan mencetak barisan bilangan Fibonacci dari suku ke-0 sampai suku ke-n.

Contoh Hasil Eksekusi

(dapat dilihat juga pada gambar)

> .\fibonacci.ps1 5
Barisan bilangan Fibonacci hingga suku ke-5:
0, 1, 1, 2, 3, 5

> .\fibonacci.ps1 15
Barisan bilangan Fibonacci hingga suku ke-15:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610

> .\fibonacci.ps1 30
Barisan bilangan Fibonacci hingga suku ke-30:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040

> .\fibonacci.ps1 50
Barisan bilangan Fibonacci hingga suku ke-50:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578, 5702887, 9227465, 14930352, 24157817, 39088169, 63245986, 102334155, 165580141, 267914296, 433494437, 701408733, 1134903170, 1836311903, 2971215073, 4807526976, 7778742049, 12586269025

> .\fibonacci.ps1 75
Barisan bilangan Fibonacci hingga suku ke-75:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578, 5702887, 9227465, 14930352, 24157817, 39088169, 63245986, 102334155, 165580141, 267914296, 433494437, 701408733, 1134903170, 1836311903, 2971215073, 4807526976, 7778742049, 12586269025, 20365011074, 32951280099, 53316291173, 86267571272, 139583862445, 225851433717, 365435296162, 591286729879, 956722026041, 1548008755920, 2504730781961, 4052739537881, 6557470319842, 10610209857723, 17167680177565, 27777890035288, 44945570212853, 72723460248141, 117669030460994, 190392490709135, 308061521170129, 498454011879264, 806515533049393, 1,30496954492866E+15, 2,11148507797805E+15

Script Powershell: fibonacci.ps1# fibonacci.ps1# oleh: hy# Get-Fibonacci($n)# Mengembalikan array berisi# barisan bilangan Fibonacci,# mulai dari suku ke-0 hingga# suku ke-$n.function Get-Fibonacci {    param (        $n    )    $F = 0 .. $n    for ($i = 0; $i -le $n; $i++) {        if ($i -lt 2) {            $F[$i] = $i        }        else {            $F[$i] = $F[$i-1] + $F[$i-2]        }    }    $F}$n = $args[0]Write-Output

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, 09 Nov 22