Panduan Lengkap: Program Pascal Memisahkan Bilangan Ganjil Genap dengan Array

Membuat program untuk memilah angka menjadi kelompok bilangan ganjil dan genap merupakan salah satu studi kasus dasar yang sangat populer dalam dunia pemrograman. Namun, tantangannya akan menjadi lebih menarik jika kita diminta untuk menampung puluhan data acak sekaligus, memisahkan kategorinya, hingga menghitung total penjumlahannya menggunakan struktur Array (Larik).

Dalam pemrograman Pascal, kombinasi antara Array, perulangan FOR..TO..DO, serta percabangan IF..THEN..ELSE adalah pondasi penting yang wajib dikuasai oleh setiap calon developer. Dengan menggunakan Array, kita bisa menyimpan banyak data di dalam memori komputer hanya dengan menggunakan satu nama variabel saja.

Artikel ini akan mengupas tuntas langkah demi langkah pembuatan program pencari bilangan ganjil genap berbasis Array secara mendalam. Yuk, mari kita bedah kodenya!

Memahami Deklarasi Variabel dan Array pada Pascal

Sebelum masuk ke kode lengkap, poin paling mendasar yang membedakan program ini dengan program biasa adalah cara kita memesan slot memori di komputer. Perhatikan potongan kode deklarasi berikut:

angka: array[1..100] of integer;

Sintaks di atas memerintahkan Pascal untuk membentuk sebuah media penyimpanan data bertipe Array berkapasitas maksimal 100 slot data bilangan bulat (integer). Nilai indeksnya dimulai dari angka 1 sampai 100. Dengan demikian, user bisa menginput hingga maksimal 100 angka berbeda ke dalam konsol.

Selain Array, kita juga membutuhkan beberapa variabel pembantu untuk mengelola alur data algoritma kita:

b, i, jlhgen, jlhgan, ganjil, genap: integer;
  • b: Digunakan untuk menyimpan batasan jumlah data yang ingin diinput oleh pengguna.
  • i: Berfungsi sebagai variabel counter (pencatat putaran) di dalam konstruksi looping.
  • jlhgen & jlhgan: Berfungsi sebagai akumulator untuk menjumlahkan nilai total angka-angka genap dan ganjil yang masuk.
  • genap & ganjil: Berfungsi sebagai alat hitung (counter item) untuk mengetahui ada berapa banyak butir angka genap dan ganjil yang ditemukan.

Source Code Lengkap Program Ganjil Genap Array Pascal

Berikut adalah source code utamanya yang sudah disempurnakan, terstruktur, dan dijamin 100% bebas dari compile error. Silakan salin ke editor Anda:

program ganjil_genap_array;
uses crt;

var
    angka: array[1..100] of integer;
    b, i, jlhgen, jlhgan, ganjil, genap: integer;

begin
    clrscr;
    writeln('====================================================');
    writeln('    PROGRAM MEMILAH BILANGAN GANJIL GENAP (ARRAY)   ');
    writeln('====================================================');
    writeln;
    
    { 1. Menentukan jumlah data yang akan di-input }
    write('Masukkan Banyak data yg diinput (Maks 100): '); 
    readln(b);
    writeln;
    
    { 2. Proses Input Data ke Dalam Array }
    for i := 1 to b do
    begin
        write('Masukkan Angka Ke-', i, ': ');
        readln(angka[i]);
    end;
    
    { Nilai Awal Akumulator }
    jlhgen := 0;
    jlhgan := 0;
    genap := 0;
    ganjil := 0;
    
    { 3. Proses Analisis Logika Ganjil Genap }
    for i := 1 to b do
    begin
        { Memeriksa sisa hasil bagi dengan operator MOD }
        if (angka[i] mod 2 = 0) then
        begin
            jlhgen := jlhgen + angka[i]; { Menjumlahkan nilai angka genap }
            genap  := genap + 1;         { Menghitung jumlah item genap }
        end
        else
        begin
            jlhgan := jlhgan + angka[i]; { Menjumlahkan nilai angka ganjil }
            ganjil := ganjil + 1;        { Menghitung jumlah item ganjil }
        end;
    end;
    
    { 4. Menampilkan Output Hasil Olah Data }
    writeln;
    writeln('====================================================');
    writeln('                  HASIL ANALISIS                    ');
    writeln('====================================================');
    
    { Menampilkan daftar angka genap }
    write('-> Angka Genap yang ditemukan : ');
    for i := 1 to b do
    begin
        if (angka[i] mod 2 = 0) then write(angka[i], ' ');
    end;
    writeln;
    writeln('   Jumlah item genap          : ', genap, ' angka');
    writeln('   Total penjumlahan genap    : ', jlhgen);
    writeln;
    
    { Menampilkan daftar angka ganjil }
    write('-> Angka Ganjil yang ditemukan: ');
    for i := 1 to b do
    begin
        if (angka[i] mod 2 <> 0) then write(angka[i], ' ');
    end;
    writeln;
    writeln('   Jumlah item ganjil         : ', ganjil, ' angka');
    writeln('   Total penjumlahan ganjil   : ', jlhgan);
    writeln('====================================================');
    
    { Menahan tampilan layar konsol }
    readln;
end.

Analisis Algoritma: Cara Kerja Operator MOD

Inti dari kecerdasan program dalam menentukan status bilangan terletak pada penggunaan fungsi matematika bernama MOD (Modulus). Operator mod bertugas untuk mencari sisa hasil pembagian antara dua bilangan bulat.

Kombinasi logika percabangan output Pascal di atas bekerja dengan aturan baku komputer sebagai berikut:

  • Jika suatu angka di dalam array dihitung dengan rumus angka[i] mod 2 dan hasilnya adalah 0, artinya angka tersebut habis dibagi dua tanpa sisa. Komputer langsung menyimpannya sebagai kelompok Bilangan Genap.
  • Sebaliknya, jika sisa pembagiannya tidak sama dengan nol (misalnya bersisa 1), maka otomatis masuk ke dalam kondisi else dan diklasifikasikan sebagai Bilangan Ganjil.

Sebagai contoh simulasi internal memori, jika angka[1] berisi nilai 7, maka 7 mod 2 adalah 1. Karena tidak sama dengan 0, variabel jlhgan akan terakumulasi bertambah 7, dan pencatat indeks ganjil bertambah 1 poin.

Screenshot Tampilan Running Program di Compiler

Program di atas dirancang menggunakan standardisasi penulisan algoritma yang bersih (clean code) sehingga sangat nyaman saat dibaca. Untuk proses kompilasi, disarankan menggunakan aplikasi Free Pascal terpercaya. Output tampilannya akan memisahkan deretan angka secara teratur seperti gambar di bawah ini:

Pogram pemilah bilangan ganjil genap dengan array pascal

Gambar 1: Gambar Hasil eksekusi kode array ganjil genap pada pemrograman pascal

Kesimpulan

Mengelola pengelompokan data dalam jumlah besar menjadi jauh lebih taktis dan rapi saat kita menerapkan fungsi penyimpanan berindeks (Array). Melalui program ini, kita tidak hanya belajar memisahkan bilangan berdasarkan sisa bagi lewat operator mod saja, melainkan juga mengasah pemahaman struktur data bertingkat di dalam perulangan.

Jika Anda tertarik untuk mengembangkan logika pemrograman lebih jauh, cobalah modifikasi program di atas agar bisa mencari nilai tertinggi (maksimum) dan nilai terendah (minimum) dari angka-angka ganjil genap yang sudah dikelompokkan tersebut. Bila Anda menemui kendala eror di tengah jalan, langsung saja tanyakan melalui kolom komentar di bawah ya! Selamat belajar!