Lompat ke konten Lompat ke sidebar Lompat ke footer

Widget HTML #1

Program Menampilkan dan Menghitung Barisan Bilangan Lucas Menggunakan Bahasa C

Cetak dan Hitung Barisan Bilangan Lukas dalam Bahasa C

hobingoding.com - Halo coders. Dalam pelajaran matematika terutama dalam materi barisan dan deret bilangan, terdapat beberapa macam contoh / jenis barisan dan deret bilangan yang mungkin telah kamu pelajari sewaktu SMP / SMA.

Sesuai dengan judul postingan saya kali ini saya disini akan membahas bagaimana caranya membuat program untuk menampilkan sekaligus menghitung jumlah barisan bilangan Lucas dengan menggunakan bahasa pemgrograman bahasa C. Sebelumnya perlu kamu ketahui bahwasannya bilangan Lucas itu sendiri memiliki barisan bilangan: 2, 1, 3, 4, 7, 11, ..., dst. Adapun ketentuan / rumus untuk barisan bilangan Lucas itu sendiri dapat kamu lihat pada gambar di bawah ini:

Rumus Bilangan Lucas
Rumus bilangan Lucas, sumber Wikipedia.

Permasalahan

Buatlah program untuk menampilkan barisan bilangan Lucas sebanyak n kemudian hitung totalnya.

Test Case

Input n Bilangan  Lucas: 7
Barisan Bilangan Lucas: 2 1 3 4 7 11 18 29
Total Penjumlahan: 75

Kode Program

#include<stdio.h>
//visit us @hobingoding.com

int lucas(int a)
{
    if(a == 0)
        return (2);
    if(a == 1)
        return (1);
    else
        return lucas(a-1) + lucas(a-2);
}

int main(){
    int banyakBarisan, i;
    int total = 0;

    printf("Program Menampilkan dan Menghitung Barisan Bilangan Lucas\n\n");
    printf("Input n Bilangan Lucas\t: ");
    scanf("%d", &banyakBarisan);

    printf("Barisan Bilangan Lucas\t: ");
    for(i = 0; i <= banyakBarisan; i++)
    {
        printf("%d ", lucas(i));
        total += lucas(i);
    }
    printf("\nTotal Penjumlahan\t: %d\n", total);

    getch();
    return 0;
}

Lihat source code melalui github: fandipres

Output Program

Barisan Bilangan Lucas Bahasa C

Penjelasan Program

Saya disini membuat sebuah fungsi rekursif yang saya beri nama lucas (int lucas(int a)) yang dimana nantinya fungsi ini akan menerima sebuah nilai dari fungsi utama (int main) lalu fungsi ini akan memproses nilai tersebut ke dalam beberapa kondisi yang ada.

Baca juga: Apa Itu Fungsi Rekursif dan Fungsi Iteratif?

Adapun kondisi yang saya buat dalam fungsi ini sesuai dengan ketentuan / rumus barisan bilangan Lucas yang ada di atas yaitu fungsi ini akan mengembalikan nilai 2 ke fungsi utama jika nilai yang dikirimkan dari fungsi utama bernilai 0, kemudian fungsi ini akan mengembalikan nilai 1 ke fungsi utama jika nilai yang dikirimkan ke fungsi ini bernilai 1 dan terakhir fungsi ini akan menjumlahkan 2 nilai sebelumnya jika nilai yang dikirim ke dalam fungsi ini bernilai lebih dari 1.

Kemudian saya menggunakan perulangan sebanyak n-1 dengan nilai awalan i = 0 untuk menentukan nilai yang akan dikirimkan ke fungsi lucas. Semisal jika n = 4, maka perulangan i akan menjadi 0 1 2 3 yang mana:
ketika i = 0, maka akan dicetak 2;
ketika i = 1, maka akan dicetak 1;
ketika i = 2, maka akan dicetak 3, 3 ini didapat dari  1 (nilai ketika i = a = 1) + 2 (nilai ketika i = a = 0);
dan terakhir ketika i = 3 maka akan dicetak 4, 4 ini didapat dari 3 (nilai ketika i = a = 2) + 1 (nilai ketika i = a = 1).

Adapun untuk mencetak barisan di atas saya menggunakan printf("%d ", lucas(i)); yang mana nilai i disini akan selalu bertambah sesuai banyaknya perulangan, sekaligus mengirimkan dan menerima kembali nilai i yang telah diproses pada fungsi lucas.

Kemudian saya gunakan variabel total yang telah saya deklarasikan sebelumnya untuk menghitung jumlah dari barisan bilangan lucas ini. Saya membuat kode program total += lucas(i); untuk menghitung nilai i yang akan dikembalikan dari fungsi lucas menuju fungsi utama.

Terakhir untuk mencetak nilai daripada variabel total saya letakkan di luar daripada perulangan agar total barisan bilangan Lucas di atas hanya dicetak sekali saja.

Sekian pembahasan saya kali ini tentang Program Barisan Bilangan Lucas Bahasa C. Semoga bermanfaat dan jika kamu memiliki pertanyaan silahkan tanyakan pada kolom komentar di bawah ini.

Fandi Presly Simamora
Fandi Presly Simamora Do it right, be bright.

Posting Komentar untuk "Program Menampilkan dan Menghitung Barisan Bilangan Lucas Menggunakan Bahasa C"