Latihan kode program bahasa Pascal kali ini akan membahas cara menghitung nilai faktorial. Materi ini berhubungan dengan logika matematika serta konsep perulangan.
Soal Menghitung Faktorial
Buatlah kode program Pascal 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 Pascal Menghitung Faktorial ## =========================================== Input angka: 13 13! = 6227020800
Berikut hasil yang di inginkan (soal bonus):
## Program Pascal Menghitung Faktorial ## =========================================== Input angka: 11 11! = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 = 39916800
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 dalam Bahasa Pascal
- Cara Penggunaan Perintah Read dan Readln
- Pengertian Tipe Data Integer Pascal
- Operator Aritmatika Pascal
- Perulangan FOR DO Pascal
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 Pascal Menghitung Faktorial
Berikut salah satu solusi dari soal menghitung faktorial menggunakan bahasa pemrograman Pascal:
program menghitung_faktorial; uses crt; var angka, i: integer; hasil: qword; begin clrscr; writeln('## Program Pascal Menghitung Faktorial ##'); writeln('==========================================='); writeln; write('Input angka: '); readln(angka); hasil := 1; for i := 1 to angka do begin hasil := hasil * i; end; writeln(angka,'! = ', hasil); readln; end.
Dalam kode program, variabel angka akan menampung angka yang diinput oleh user. Proses pembacaan dilakukan di baris 13 dengan perintah readln(angka)
.
Sebelumnya di baris 5 variabel angka saya defenisikan dengan tipe data qword. Ini adalah tipe data integer terbesar dalam bahasa Pascal. Tipe data qword sanggup menampung angka 0 hingga 18446744073709551615. Jika menggunakan tipe data integer, maka angka maksimal hanya 32767 atau 2147483647 (tergantung jenis compiler).
Kemudian di baris 16 terdapat perulangan for do mulai dari i := 1 hingga angka. Dalam setiap iterasi, variabel hasil dipakai untuk menampung operasi hasil * i.
Setelah perulangan, variabel hasil akan berisi jumlah perkalian dari 1 * 2 * 3 * dst. Variabel inilah yang kemudian ditampilkan dengan perintah writeln di baris 21.
Kode Program Bahasa Pascal 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 write(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:
program menghitung_faktorial; uses crt; var angka, i: integer; hasil: qword; begin clrscr; writeln('## Program Pascal Menghitung Faktorial ##'); writeln('==========================================='); writeln; write('Input angka: '); readln(angka); write(angka,'! = '); hasil := 1; for i := 1 to angka do begin hasil := hasil * i; // untuk menampilkan angka write(i); if(i <> angka) then begin write(' * '); end; end; writeln(' = ', hasil); readln; end.
Tambahan kode program ada di baris 22-26. Dalam setiap iterasi, perintah write(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 Pascal. Semoga bisa bermanfaat.