Latihan kode program bahasa C kali ini akan membahas cara menghitung nilai faktorial. Materi ini berhubungan dengan logika matematika serta konsep perulangan.
Soal Menghitung Faktorial
Buatlah kode program C yang menerima satu inputan angka. Kode program akan mencari nilai faktorial dari angka tersebut dan menampilkan hasilnya.
Bonus: Buat juga versi yang menampilkan angka perkalian, bukan hasilnya saja.
Berikut hasil yang di inginkan:
## Program Bahasa C Menghitung Faktorial ## =========================================== Input angka: 6 6! = 720
Berikut hasil yang di inginkan (bonus soal):
## Program Bahasa C Menghitung Faktorial ## =========================================== Input angka: 10 10! = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 = 3628800
Tips Membuat Kode Program Menghitung Faktorial
Soal ini melatih pemahaman terkait logika matematika dan konsep perulangan (looping). Berikut tutorial pendahuluan yang bisa diikuti:
- Pengertian Variabel Bahasa C
- Cara Penggunaan Perintah scanf
- Tipe Data Integer Bahasa C
- Perulangan FOR Bahasa C
Dalam matematika, faktorial adalah hasil perkalian menaik, dan ditulis dengan tanda seru ” ! “. Sebagai contoh, 4 faktorial ditulis dengan 4!, dan nilainya adalah 1 * 2 * 3 * 4 = 24, atau 7 faktorial ditulis dengan 7! = 1 * 2 * 3 * 4 * 5 * 6 * 7 = 5040.
Untuk membuat kode program ini kita perlu sebuah perulangan for. Dalam setiap iterasi, simpan hasil perkalian variabel counter yang dibuat menaik.
Silahkan anda coba sebentar membuat kode program ini.
Kode Program Bahasa C Menghitung Faktorial
Berikut salah satu solusi dari soal menghitung faktorial menggunakan bahasa pemrograman C:
#include <stdio.h> int main(void) { printf("## Program Bahasa C Menghitung Faktorial ## \n"); printf("=========================================== \n\n"); int angka,hasil,i; printf("Input angka: "); scanf("%d",&angka); hasil = 1; for(i=1; i<=angka; i++) { hasil = hasil * i; } printf("%d! = %d \n",angka, hasil); return 0; }
Dalam kode program ini, variabel angka akan menampung angka yang diinput oleh user. Proses pembacaan dilakukan di baris 11 dengan perintah scanf("%d",&angka)
.
Kemudian terdapat perulangan for mulai dari i = 1 hingga i <= angka. Dalam setiap iterasi, nilai i akan naik 1 angka dengan perintah increment i++, serta variabel hasil dipakai untuk menampung operasi hasil * i.
Setelah perulangan, variabel hasil akan berisi jumlah perkalian dari 1 * 2 * 3 * dst. Variabel ini kemudian ditampilkan dengan perintah printf di baris 25.
Kode Program Bahasa C Menghitung Faktorial (plus Angka)
Untuk bonus soal, kita harus menampilkan angka hasil perkalian, yakni 1 * 2 * 3 * dst.
Sekilas ini tampak mudah karena tinggal menambah satu perintah printf("%d * ",i)
 ke dalam perulangan. Namun terdapat sedikit masalah karena di angka terakhir, tanda perkalian ” * ” akan selalu tampil. Bagaimana caranya agar di perulangan terakhir tidak perlu tampil tanda perkalian? kita butuh bantuan kondisi if:
#include <stdio.h> int main(void) { printf("## Program Bahasa C Menghitung Faktorial ## \n"); printf("=========================================== \n\n"); int angka,hasil,i; printf("Input angka: "); scanf("%d",&angka); printf("%d! = ",angka); hasil = 1; for(i=1; i<=angka; i++) { hasil = hasil * i; // untuk menampilkan angka printf("%d",i); if(i != angka) { printf (" * "); } } printf(" = %d \n",hasil); return 0; }
Tambahan kode program ada di baris 20-23. Dalam setiap iterasi, perintah printf("%d",i)
 akan selalu dijalankan. Akan tetapi untuk tanda bintang / kali, hanya dijalankan jika memenuhi kondisi if(i != angka). Kondisi ini akan bernilai true selain di perulangan terakhir.
Dengan cara tersebut, tanda bintang tidak akan tampil di akhir. Berikut tampilan kode program:
Dengan ini, tampilan kode program menghitung faktorial menjadi lebih lengkap. Demikian kode program menghitung faktorial menggunakan bahasa pemrograman C. Semoga bisa bermanfaat.