Latihan Kode Program Pascal: Cek Bilangan Prima

Latihan kode program bahasa Pascal kali ini akan membahas soal untuk memeriksa apakah sebuah angka merupakan bilangan prima atau tidak.

Materi ini berhubungan dengan logika matematika serta konsep perulangan for do dan if then else.


Soal Cek Bilangan Prima

Buatlah kode program dalam bahasa Pascal yang menerima satu inputan angka. Kemudian kode program akan menampilkan pesan apakah angka tersebut adalah bilangan prima atau bukan bilangan prima.

Bonus: Selain menampilkan iya atau tidak, tuliskan pula alasan kenapa bilangan tersebut bukan bilangan prima.

Berikut contoh tampilan akhir yang diinginkan (1) :

## Program Pascal Cek Angka Prima ##
======================================

Input satu angka bulat: 3232

3232 bukan angka prima

Berikut contoh tampilan akhir yang diinginkan (2) :

## Program Pascal Cek Angka Prima ##
======================================

Input satu angka bulat: 5657

5657 adalah angka prima

Berikut contoh tampilan akhir yang diinginkan (untuk soal bonus) :

##  Program Pascal Cek Angka Prima  ##
======================================

Input satu angka bulat: 2537

2537 bukan angka prima, karena bisa dibagi 43

Tips Membuat Kode Program Cek Bilangan Prima

Soal ini melatih pemahaman terkait logika matematika dan konsep perulangan (looping) serta kondisi if else. Berikut tutorial pendahuluan yang bisa diikuti:

Suatu angka disebut sebagai bilangan prima jika angka tersebut tidak bisa dibagi dengan angka lain, selain angka itu sendiri dan 1.

Sebagai contoh, 3 adalah bilangan prima karena hanya bisa dibagi dengan 3. 11 juga bilangan prima karena hanya bisa dibagi dengan angka 11 saja. Sedangkan 8 bukan bilangan prima karena bisa dibagi dengan 2.

Pemeriksaan apakah suatu angka habis dibagi dengan angka lain bisa dilakukan dengan operator modulus (mod). Dalam bahasa Pascal, 12 mod 2 akan menghasilkan angka 0, yang berarti 12 habis dibagi dengan 2. Konsep inilah yang bisa kita pakai untuk membuat kode program pemeriksa bilangan prima.

Idenya adalah, buat sebuah perulangan untuk memeriksa setiap kemungkinan. Jika diinput angka 17, cek apakah 17 habis dibagi 2. Jika tidak, lanjut apakah 17 habis dibagi 3, jika tidak cek lagi apakah 17 habis dibagi 4, dst.

Silahkan anda coba sebentar membuat kode program ini.


Kode Program Bahasa Pascal Cek Bilangan Prima

Berikut salah satu solusi dari soal cek bilangan prima menggunakan bahasa pemrograman Pascal:

program cek_bilangan_prima;
uses crt;
var
  n,i: integer;
  angka_prima: boolean;
begin
  clrscr;
  writeln('##  Program Pascal Cek Angka Prima  ##');
  writeln('======================================');
  writeln;
  
  write('Input satu angka bulat: ');
  readln(n);

  angka_prima := true;

  // 0 dan 1 bukan angka prima
  if ((n = 0) or (n = 1)) then
    angka_prima := false
  else
    begin
    for i := 2 to (n div 2) do
      begin
      if ((n mod i) = 0) then
        begin
          angka_prima := false;
          break;
        end;
      end;
    end;

  writeln;

  if (angka_prima) then
    writeln(n,' adalah angka prima')
  else
    writeln(n,' bukan angka prima');

  readln;
end.

Hasil kode program:

Latihan Kode Program Pascal - Cek Bilangan Prima


Dalam kode program ini variabel n akan menampung angka yang diinput oleh user. Proses pembacaan dilakukan di baris 12 dengan perintah readln(n).

Selain itu saya membuat sebuah flag atau penanda yang disimpan di dalam variabel angka_prima. Di baris 15, variabel angka_prima diisi boolean true. Variabel ini akan jadi penentu apakah sebuah angka merupakan bilangan prima atau tidak.

Proses pemeriksaan pertama ada di baris 18. Jika angka yang diinput user adalah 0 atau 1, maka langsung isi angka_prima dengan false. Karena dalam matematika, 0 dan 1 tidak dianggap sebagai angka prima.

Jika angka yang diinput bukan 0 atau 1, maka masuk ke blok else yang berisi perulangan for do antara baris 22 – 29.

Perulangan for ini mulai dari 2 hingga n div 2. Dalam bahasa Pascal, div adalah operasi pembagian bilangan bulat. Tujuannya agar perulangan hanya berjalan sampai n div 2 saja, karena secara logika kita tidak perlu memeriksa pembagian dengan setiap angka.

Dalam setiap iterasi, cek apakah n habis dibagi dengan i melalui perintah (n mod i) = 0. Jika kondisi ini terpenuhi, update isi variabel angka_prima menjadi false dan langsung hentikan perulangan.

Setelah perulangan selesai, cek kembali isi variabel angka_prima. Jika berisi true, yakni if (angka_prima), maka n adalah angka prima. Jika berisi false, maka n bukanlah angka prima.


Kode Program Cek Bilangan Prima Bahasa Pascal Dengan Alasan

Untuk bonus soal, kita bisa menambah satu variabel ke dalam perulangan for untuk menampung angka yang membuat perulangan itu berhenti. Angka inilah yang menjadi alasan kenapa sebuah bilangan bukan bilangan prima.

Berikut modifikasi yang diperlukan:

program cek_bilangan_prima;
uses crt;
var
  n,i,pembagi: integer;
  angka_prima: boolean;
begin
  clrscr;
  writeln('##  Program Pascal Cek Angka Prima  ##');
  writeln('======================================');
  writeln;
  
  write('Input satu angka bulat: ');
  readln(n);

  angka_prima := true;

  // 0 dan 1 bukan angka prima
  if ((n = 0) or (n = 1)) then
    angka_prima := false
  else
    begin
    for i := 2 to (n div 2) do
      begin
      if ((n mod i) = 0) then
        begin
          pembagi := i;
          angka_prima := false;
          break;
        end;
      end;
    end;

  writeln;

  if (angka_prima) then
    writeln(n,' adalah angka prima')
  else
    writeln(n,' bukan angka prima, karena bisa dibagi ',pembagi);

  readln;
end.

Penambahan ada di baris 4, 26 dan 38. Variabel pembagi dipakai untuk menampung angka i saat perulangan berhenti.

Hasil kode program:

Latihan Kode Program Pascal - Cek Bilangan Prima dengan alasan


Demikian kode program cek bilangan prima menggunakan bahasa Pascal. Seperti yang terlihat, logika dan sedikit teori matematis sangat berperan untuk mencari solusi kode program. Semoga tutorial ini bisa bermanfaat.


eBook Pascal Uncover Duniailkom
Apabila anda serius ingin mempelajari Pascal dan butuh materi Pascal yang jauh lebih lengkap, Duniailkom telah menerbitkan eBook Pascal Uncover yang membahas bahasa pemrograman Pascal dari dasar hingga procedure, function dan contoh kasus. Penjelasan lebih lanjut bisa ke eBook Pascal Uncover Duniailkom.

Add Comment