fbpx

Algoritma dan Pemrogaman : Contoh Program Bahasa Pascal Dengan Sub Program

Program Segitiga Dengan Fungsi Tanpa Parameter

Kode Program

Program segitigafungsitanpaparameter;
uses crt;
label ulangi;
var
  i,j,k,n,pilihan:integer;
  c,coba         :char;
function hasil:char;
        begin
                write(c:2);
        end;
begin
    clrscr;
    writeln('   Silahkan Pilih Menu yang Anda inginkan ');
    writeln('1. Segitiga rata kiri');
    writeln('2. Segitiga rata kanan');
    writeln('3. Segitiga rata tengah');
ulangi :
    write('   Pilihan Anda = ');
    readln(pilihan);
case pilihan of
    1: begin
           write('Masukkan karakter yang diinginkan = ');readln(c);
           write('Masukkan lebar                    = ');readln(n);
           for i:=1 to n do
              begin
                 for j:=1 to i do
                 hasil;
                 writeln;
              end;
       end;
    2: begin
           write('Masukkan karakter yang diinginkan = ');readln(c);
           write('Masukkan lebar                    = ');readln(n);

           for i:=1 to n do
              begin
                 for j:=1 to n do
                    if (j<=n-i) then
                       write(' ':2)
                    else hasil;
                 writeln;
              end;
       end;
    3: begin
           write('Masukkan karakter yang diinginkan = ');readln(c);
           write('Masukkan lebar                    = ');readln(n);
           for i:=1 to n do
              begin
                 for j:=n downto i do
                    write(' ');
                 for k:=1 to i do
                    hasil;
                 writeln;
              end;
       end;
end;
        write('Apakah ingin mencoba lagi ? (Y/T) = ');readln(coba);
        if (coba='T') or (coba='t') then
                writeln('Terima kasih :)')
        else
                goto ulangi;
readln;
end.

Contoh Output


Program Segitiga Dengan Fungsi Dengan Parameter

Kode Program

Program segitigafungsidenganparameter;
uses crt;
label ulangi;
var
  i,j,k,n,pilihan:integer;
  c,coba         :char;
function hasil(c:char):char;
        begin
                write(c:2);
        end;
begin
    clrscr;
    writeln('   Silahkan Pilih Menu yang Anda inginkan ');
    writeln('1. Segitiga rata kiri');
    writeln('2. Segitiga rata kanan');
    writeln('3. Segitiga rata tengah');
ulangi :
    write('   Pilihan Anda = ');
    readln(pilihan);
case pilihan of
    1: begin
           write('Masukkan karakter yang diinginkan = ');readln(c);
           write('Masukkan lebar                    = ');readln(n);
           for i:=1 to n do
              begin
                 for j:=1 to i do
                 hasil(c);
                 writeln;
              end;
       end;
    2: begin
           write('Masukkan karakter yang diinginkan = ');readln(c);
           write('Masukkan lebar                    = ');readln(n);

           for i:=1 to n do
              begin
                 for j:=1 to n do
                    if (j<=n-i) then
                       write(' ':2)
                    else hasil(c);
                 writeln;
              end;
       end;
    3: begin
           write('Masukkan karakter yang diinginkan = ');readln(c);
           write('Masukkan lebar                    = ');readln(n);
           for i:=1 to n do
              begin
                 for j:=n downto i do
                    write(' ');
                 for k:=1 to i do
                    hasil(c);
                 writeln;
              end;
       end;
end;
        write('Apakah ingin mencoba lagi ? (Y/T) = ');readln(coba);
        if (coba='T') or (coba='t') then
                writeln('Terima kasih :)')
        else
                goto ulangi;
readln;
end.

Contoh Output


Program Segitiga Prosedur Tanpa Parameter

Kode Program

Program segitigaprosedurtanpaparameter;
uses crt;
label ulangi;
var
  i,j,k,n,pilihan:integer;
  c,coba         :char;
procedure hasil;
        begin
                write(c:2);
        end;
begin
    clrscr;
    writeln('   Silahkan Pilih Menu yang Anda inginkan ');
    writeln('1. Segitiga rata kiri');
    writeln('2. Segitiga rata kanan');
    writeln('3. Segitiga rata tengah');
ulangi :
    write('   Pilihan Anda = ');
    readln(pilihan);
case pilihan of
    1: begin
           write('Masukkan karakter yang diinginkan = ');readln(c);
           write('Masukkan lebar                    = ');readln(n);
           for i:=1 to n do
              begin
                 for j:=1 to i do
                 hasil;
                 writeln;
              end;
       end;
    2: begin
           write('Masukkan karakter yang diinginkan = ');readln(c);
           write('Masukkan lebar                    = ');readln(n);

           for i:=1 to n do
              begin
                 for j:=1 to n do
                    if (j<=n-i+1) then
                       write(' ':2)
                    else hasil;
                 writeln;
              end;
       end;
    3: begin
           write('Masukkan karakter yang diinginkan = ');readln(c);
           write('Masukkan lebar                    = ');readln(n);
           for i:=1 to n do
              begin
                 for j:=n downto i do
                    write(' ');
                 for k:=1 to i do
                    hasil;
                 writeln;
              end;
       end;
end;
        write('Apakah ingin mencoba lagi ? (Y/T) = ');readln(coba);
        if (coba='T') or (coba='t') then
                writeln('Terima kasih :)')
        else
                goto ulangi;
readln;
end.

Contoh Output


Program Segitiga Prosedur Dengan Parameter

Kode Program

Program segitigaproceduredenganparameter;
uses crt;
label ulangi;
var
  i,j,k,n,pilihan:integer;
  c,coba         :char;
function hasil(c:char):char;
        begin
                write(c:2);
        end;
begin
    clrscr;
    writeln('   Silahkan Pilih Menu yang Anda inginkan ');
    writeln('1. Segitiga rata kiri');
    writeln('2. Segitiga rata kanan');
    writeln('3. Segitiga rata tengah');
ulangi :
    write('   Pilihan Anda = ');
    readln(pilihan);
case pilihan of
    1: begin
           write('Masukkan karakter yang diinginkan = ');readln(c);
           write('Masukkan lebar                    = ');readln(n);
           for i:=1 to n do
              begin
                 for j:=1 to i do
                 hasil(c);
                 writeln;
              end;
       end;
    2: begin
           write('Masukkan karakter yang diinginkan = ');readln(c);
           write('Masukkan lebar                    = ');readln(n);

           for i:=1 to n do
              begin
                 for j:=1 to n do
                    if (j<=n-i) then
                       write(' ':2)
                    else hasil(c);
                 writeln;
              end;
       end;
    3: begin
           write('Masukkan karakter yang diinginkan = ');readln(c);
           write('Masukkan lebar                    = ');readln(n);
           for i:=1 to n do
              begin
                 for j:=n downto i do
                    write(' ');
                 for k:=1 to i do
                    hasil(c);
                 writeln;
              end;
       end;
end;
        write('Apakah ingin mencoba lagi ? (Y/T) = ');readln(coba);
        if (coba='T') or (coba='t') then
                writeln('Terima kasih :)')
        else
                goto ulangi;
readln;
end.

Contoh Output


Progam Kalkulator

Kode Program

program kalkulator;
uses crt;
var     a,b,pilihan:integer;
        yakin,guna :char;
label ulangi,awal;

function tambah(bil1,bil2:integer):integer;
var      hasiltambah:integer;
begin
        hasiltambah:=bil1+bil2;
        writeln('Hasil penjumlahannya adalah ',hasiltambah);
        readln;
end;
function kurang(bil1,bil2:integer):integer;
var      hasilkurang:integer;
begin
        hasilkurang:=bil1-bil2;
        writeln('Hasil pengurangannya adalah ',hasilkurang);
        readln;
end;
function kali(bil1,bil2:integer):integer;
var      hasilkali:integer;
begin
        hasilkali:=bil1*bil2;
        writeln('Hasil pembagiannya adalah ',hasilkali);
        readln;
end;
function bagi(bil1,bil2:real):real;
var      hasilbagi:real;
begin
        hasilbagi:=bil1/bil2;
        writeln('Hasil pembagiannya adalah ',hasilbagi:0:2);
        readln;
end;
begin
        clrscr;
        writeln('Selamat datang di Kalkulator sederhana');
        writeln('Silahkan pilih menu berikut : ');
        writeln('1. Penjumlahan');
        writeln('2. Pengurangan');
        writeln('3. Perkalian');
        writeln('4. Pembagian');
        writeln('5. Keluar');
ulangi :
awal   :
        write('Pilihan Anda : ');readln(pilihan);

        case pilihan of
        1 :     begin
                        write('Masukkan Nilai Pertama = ');readln(a);
                        write('Masukkan Nilai kedua   = ');readln(b);
                        tambah(a,b);
                end;
        2 :     begin
                        write('Masukkan Nilai Pertama = ');readln(a);
                        write('Masukkan Nilai kedua   = ');readln(b);
                        kurang(a,b);
                end;
        3 :     begin
                        write('Masukkan Nilai Pertama = ');readln(a);
                        write('Masukkan Nilai kedua   = ');readln(b);
                        kali(a,b);
                end;
        4 :     begin
                        write('Masukkan Nilai Pertama = ');readln(a);
                        write('Masukkan Nilai kedua   = ');readln(b);
                        bagi(a,b);
                end;
        else
                write('Apakah Anda yakin ingin keluar ? (Y/T) : ');readln(yakin);
                begin
                if (yakin='Y') or (yakin='y') then
                        writeln('Terima kasih :)')
                else
                        goto ulangi;
                end;
        end;
        write('Ingin menggunakan kalkulator lagi ? (Y/T) : ');readln(guna);
        begin
                if (guna='Y') or (guna='y') then
                        goto awal
                else
                        writeln('Terima kasih :)');
        end;

readln;
end.

Contoh Output


Progam Menghitung Faktorial

Buatlah program yang menhitung Faktorial, Permutasi dan Kombinasi dimana pada subprogram permutasi dalam proses penghitungannya menggunakan sub program faktorial dan sub program kombinasi menggunakan permutasi.

Kode Program

Program fktrl;
uses crt;

var n,r,pilih   :integer;
    lagi        :char;
    
    function faktorial(x:integer):longint;
    begin
        if (x=0) or (x=1) then
            faktorial:=1
        else
            faktorial:=x*faktorial(x-1);
    end;
    
    function permutasi(n,r:integer):real;
    begin
        permutasi:=faktorial(n)/faktorial(n-r);
    end;
    
    function kombinasi(n,r:integer):real;
    begin
        kombinasi:=permutasi(n,r)*faktorial(r);
    end;
    
    procedure menu;
    begin
        writeln('Selamat datang di kalkulator fakperkom');
        writeln('1. Faktorial');
        writeln('2. Permutasi');
        writeln('3. Kombinasi');
        writeln('4. Keluar');
        
        repeat
            write('Masukkan pilihan anda (1/2/3/4) = ');readln(pilih);
            writeln();
            case pilih of 
                1   :   begin
                            writeln('=======================');
                            writeln(' Perhitungan Faktorial ');
                            writeln('=======================');
                            write('Masukkan nilai n = ');readln(n);
                            writeln('Nilai dari ',n,'! adalah = ',faktorial(n));
                        end;
                2   :   begin
                            writeln('=======================');
                            writeln(' Perhitungan Permutasi ');
                            writeln('=======================');
                            writeln('Masukkan nilai n dan r, dengan n>r');
                            write('Nilai n = ');readln(n);
                            write('Nilai r = ');readln(r);
                            writeln('Nilai dari permutasi ',n,'P',r,' adalah = ',permutasi(n,r):0:0);
                        end;
                3   :   begin
                            writeln('=======================');
                            writeln(' Perhitungan Kombinasi ');
                            writeln('=======================');
                            writeln('Masukkan nilai n dan r, dengan n>r');
                            write('Nilai n = ');readln(n);
                            write('Nilai r = ');readln(r);
                            writeln('Nilai dari kombinasi ',n,'C',r,' adalah = ',kombinasi(n,r):0:0);
                        end;
                4   :   begin
                            writeln('Apakah Anda yakin ingin keluar ? ');
                            writeln('Y untuk keluar atau tekan sembarang tombol untuk mengulang');
                            write('Pilihan Anda = ');readln(lagi);
                        end;
            end;
        until (lagi='Y') or (lagi='y');
        writeln;
        writeln('Terima kasih :)');
    end;
begin
    clrscr;
    menu;
end.

Contoh Output


Materi Lengkap

Silakan baca juga beberapa artikel menarik kami tentang Subprogram, daftar lengkapnya adalah sebagai berikut.


Tonton juga video pilihan dari kami berikut ini

Bagikan ke teman-teman Anda

Contact Us

How to whitelist website on AdBlocker?

How to whitelist website on AdBlocker?

  1. 1 Click on the AdBlock Plus icon on the top right corner of your browser
  2. 2 Click on "Enabled on this site" from the AdBlock Plus option
  3. 3 Refresh the page and start browsing the site
error: Content is protected !!
Up