This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Minggu, 21 Juni 2015

Tugas Deret kedua

Program membuat deret
1.    Buatlah aplication seperti di bawah ini.
2.    Selanjutnya edit object inspector seperti di bawah ini.
 3.    Setelah itu double klik pada proses dan tulis scrip di bawah ini.

var
  DA,DB,DC,A,B,C:integer;
begin
  A:=strtoint(Edit1.Text);
  B:=strtoint(Edit2.Text);
  C:=strtoint(Edit3.Text);
  DA:=deret(A);
  DB:=deret(B);
  DC:=deret(C);

  D:=(DA+DB)/DC;
  Edit4.Text:=floattostr(D);
end;

4.    Setelah itu double klik pada proses dan tulis scrip di bawah ini.

begin
  Edit1.Text:='';
  Edit2.Text:='';
  Edit3.Text:='';
  Edit4.Text:='';
end;
end.

5.    Setelah itu klik run
selamat mencoba.


Membuat Program Pangkat Dengan Metode Procedure Dan Fucntion

Kali ini saya akan mengposti tentang pembuatan program perpangkatan akan tetapi menggunakan metode procedure dan function. Contoh Bilangan berpangkat seperti 23 = 2 x 2 x 2 = 8. Untuk pembuatannya mari ikuti langkah-langkah dibawah ini.
1.    Buatlah aplikasi pada form seperti di bawah ini.
2.    Setelah itu setting object inspector seperti di bawah ini.
3.    Untuk peng-kodeannya setiap buttom PANGKAT1, PANGKAT2, PANGKAT3, PANGKAT4 berbeda-beda akan tetapi memiliki tujuan yang sama, yaitu menghitung hasil bilangan berpangkat dan ketika di jalankan-punhasilnya akan sama. Untuk pengetikan listing program : {ket: untuk procedure/function pada button PANGKAT2, PANGKAT3 dan PANGKAT4 ditulis dibawah listing program button PANGKAT1
4.    Pada button PANGKAT1, rumus penghitungan hasil bilangan berpangkat menggunakan metode biasa(tanpa procedure/function). double-klik pada tombol pangkat1 lalu tulis scrip di bawah ini.

procedure TForm1.btnPANGKAT1Click(Sender: TObject);
var
  a,b,i,c:integer;
begin
  i:=1;
  c:=1;
  a:=strtoint(edit2.Text);
  b:=strtoint(edit1.Text);
  while i<=a do
  begin
    c:=c*b;
    i:=i+1;
  end;
  edit3.Text:=inttostr(c);
end;


procedure TForm1.pangkat1(p,l:string);
var
  a,b,i:integer;
begin
  i:=1;
  c:=1;
  a:=strtoint(p);
  b:=strtoint(l);
  while i<=a do
  begin
    c:=c*b;
    i:=i+1;
  end;
  edit3.Text:=inttostr(c);
end;

function TForm1.pangkat2(p,l:string):string;
var
  a,b,i:integer;
begin
  i:=1;
  c:=1;
  a:=strtoint(p);
  b:=strtoint(l);
  while i<=a do
  begin
    c:=c*b;
    i:=i+1;
  end;
  pangkat2:=inttostr(c);
end;

function TForm1.pangkat3(m,n:integer):integer;
var
  i:integer;
begin
  i:=1;
  c:=1;
  while i<=n do
  begin
    c:=c*m;
    i:=i+1;
  end;
  pangkat3:=c;
end;


5.    Pada button PANGKAT2, rumus penghitungan hasil bilangan berpangkat menggunakan procedure dengan tipe data string, dimana variabel yang diinputkan akan dibaca sebagai bentuk string dan kemudian diubah menjadi integer pada saat proses penghitungan dan diubah lagi menjadi bentuk string untuk ditampilkan pada hasil akhir. double-klik pada tombol PANGKAT2

procedure TForm1.btnPANGKAT2Click(Sender: TObject);
begin
pangkat1(edit2.Text,edit1.Text);
end;


6.    Pada button PANGKAT3, rumus penghitungan hasil bilangan berpangkat menggunakan function dengan tipe data string, sama dengan PANGKAT2 hanya berbeda pada saat eksekusi pemanggilan program ada perbedaan, jika PANGKAT2 langsung menyebutkan procedurenya namun pada PANGKAT3 seperti berikut. double-klik pada tombol PANGKAT3

procedure TForm1.btnPANGKAT3Click(Sender: TObject);
begin
edit3.Text:=pangkat2(edit2.Text,edit1.Text);
end;


7.    Pada button PANGKAT4, rumus penghitungan hasil bilangan berpangkat menggunakan function juga namun dengan tipe data integer, dimana variabel akan dibaca sebagai integer pada saat proses penghitungan(tentunya melalui proses perubahan string to integer terlebih dahulu) dan setelah proses penghitungan akan diubah kembali dalam bentuk string untuk ditampilakan pada hasil akhir. double-klik pada tombol PANGKAT4

procedure TForm1.btnPANGKAT4Click(Sender: TObject);
var
a,b,c:integer;
begin
a:=strtoint(edit1.Text);
b:=strtoint(edit2.Text);
c:=pangkat3(a,b);
edit3.Text:=inttostr(c);
end;


8.    Button CLEAR untuk menghapus. double-klik pada tombol CLEAR

procedure TForm1.btnCLEARClick(Sender: TObject);
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
end;


9.   Setelah itu pastikan pada unit 1 (tempat menuliskan scrip) pada public sudah di tuliskan seperti pada gambar di bawah ini.








9.    Setelah itu jalankan program. Klik run atau f9.

Tugas Deret

Pada postingan sebelumnnya saya membuat program menghitung deret aritmetika bilangan sampai suku ke N apabila hasil dari program tersebut mau di buat menjadi -1, 3, -5, 7, -9 maka kita bisa menggunakan cara seperti dibawah ini.
caranya sama seperti pada postingan sebeumnya klik disini untuk melihat akan tetapi yang perlu kita rubah adalah scrip pada buttom proses di ganti dengan scrip seperti di bawah ini.

procedure TForm1.Button1Click(Sender: TObject);
var
  a,b,c,i:integer;
begin
  a:=strtoint(Edit1.Text);
  Memo1.Clear;
  i:=-1;
  c:=-2;
  while i<=(a*2) do
  begin
    b:=i;
    Memo1.Lines.Add(inttostr(b));
    i:=(b+c)*-1;
    c:=c*-1;
  end;
end;


Setelah scrip tersebut di ganti setelah itu langsung jalankan dengan tekan f9 atau klik run.

selamat mencoba :)

Program Menghitung Deret Aritmetika Bilangan Sampai Suku Ke-N

Pada postingan kali ini saya akan mencoba untuk membuat program deret aritmetika bilangan sampai suku ke N. Berikut langkah-langkahnya.
1.    Seperti biasa masuk ke aplikasi borland delphi 7 terlebih dahulu setelah itu plih file-aplication.
2.    Setelah jendela aplication terbuka buatlah aplikasi pada form seperti di bawah ini.

3.  Setelah itu ubah object inspector seperti di bawah ini.


4.    Setelah itu double klik pada buttom proses dan ketik scrip dibawah ini.
procedure TForm1.Button1Click(Sender: TObject);
var
  a,i,b:integer;
begin
  a:=strtoint(Edit1.Text);
  Memo1.Clear;
  i:=1;
  while i<=a do
  begin
    b:=i;
    Memo1.Lines.Add(inttostr(b));
    i:=i+1;
  end;

end;
5.    Setelah itu double klik pada buttom close dan ketik scrip dibawah ini.
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;

6.    Setelah selesai menuliskan scrip diatas selanjutnya klik run untuk menjalankan.

7.    Selamat mencoba dan terimakasih.

Pengertian Rekursi



1. Pengertian
Rekursif merupakan alat/cara untuk memecahkan masalah dalam suatu fungsi atau procedure yang memanggil dirinya sendiri. Prosesnya terjadi secara berulang-ulang dan Yang perlu diperhatikan adalah “stopping role”

2. Kelebihan
Karena program lebih singkat dan ada beberapa kasus yang lebih mudah menggunakan fungsi yang rekursif

3. Kekurangan
Ø  Memakan memori yang lebih besar, karena setiap kali bagian dirinya dipanggil, dibutuhkan sejumlah ruang memori tambahan.
Ø  Mengorbankan efisiensi dan kecepatan

4. Problem yang sering dijumpai
Rekursi seringkali tidak bisa “berhenti” sehingga memori akan terpakai habis dan program bisa hang.

5. Penanggulangan
Jika memang bisa diselesaikan dengan iteratif, gunakanlah iteratif!

6. Contoh Permasalahan :
Penghitungan bilangan faktorial
5! = 5 x 4 x 3 x 2 x 1
4! = 4 x 3 x 2 x 1
Berarti 5! = 5 x 4!

7. Penyelesaian dengan Metode Rekursif
Cara pertama untuk menyelesaikan permasalahan di atas adalah dengan cara rekursif, dimana n! adalah hasil kali dari n dengan (n-1)!. -> dicontohkan bahwa 5! = 5 x 4!
Untuk menyelesaikan (n-1)! adalah sama dengan n!, sehingga (n-1)! adalah n-1 dikalikan dengan (n-2)!, dan (n-2)! adalah n-2 dikalikan dengan (n-3)! dan seterusnya sampai dengan n = 1, kita menghentikan penghitungan n!

Metode Rekursi Dalam Pengurutan Data

Rekursif merupakan alat/cara untuk memecahkan masalah dalam suatu fungsi atau procedure yang memanggil dirinya sendiri.
Berikut saya memberikan contoh dari rekursi dalam mengurutkan data dalam bentuk prosedure.
Tulislah scrip di bawah ini pada consule aplication.

SysUtils;
  type
    tipe_larik = string[20];
    larik_urut = array [1..1000] of tipe_larik;
    procedure quicksort(var a : larik_urut; bawah, atas:word);
      var i,j:Word;
        sementara :tipe_larik;
          Begin
            While atas > bawah do
            Begin
              i := bawah;
              j := atas;
              sementara:= a[bawah];
              {Memecah Larik Menjadi dua Bagian}
                while i<j do
                  Begin
                    While a[j]>sementara do
                      j:=j-1;
                      a[i]:=a[j];
                        while (i<j) And (a[i] <= sementara) do
                          i:=i+1;
                          a[j]:=a[i];
                  end;
                    a[i]:= sementara;
                    {Urutkan Rekursi}
                    quicksort(a,bawah,i-1);
                    bawah:=i+1;
              end;
          end;
            var
              nama:larik_urut;
              b,i:Word;
                Begin
                  writeln('NAMA : MUNAWIR');
                  writeln('=================================================');
                  writeln('                PENGURUTAN DATA                  ');
                  writeln('=================================================');
                  writeln('Berapa Banyak Data Anda yang Akan Di Urutkan...? '); Readln(b);
                  Writeln;
                  writeln('Masukkan Data Anda : ');
                    for i:=1 to b do
                      Begin
                        write('Data Ke ',i,'?'); Readln(nama[i]);
                      end;
                      {Urutkan dengan Procedure Quicksort}
                      quicksort(nama,1,b);
                      {Tampilan data yang di urutkan}
                      Writeln;
                      Writeln('Data yang Telah di urutkan : ');
                        for i:= 1 to b do
                          Writeln(nama[i]);
                          Readln;

end.


Setelah itu klik run untuk menjalankan.

Program Input Nama Dengan Metode Array

Pada pertemuan kali ini saya akan mencoba untuk mengposting cara membuat program Input Nama Dengan Metode Array dengan menggunakan program yang sama seperti pada posting sebelum – sebelumnya yaitu Borland Delphi 7.
    Tanpa banyak basa basi mari kita langsung ke praktek membuatnya dan ikuti langkah – langkah berikut ini.
Program Input Nama
1.    Buatlah desaign seperti di bawah ini pada form aplication.
 2.    Setelah itu setting properti pada object inspector seperti di bawah ini.
3.    Setelah itu edit kode program pada input, clear dan close caranya
  • Double klik pada buttom input dan tulis kode sepert di bawah ini
 procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
nama1,nama2:array [1..5] of string;
s:string;

begin
s:=inputbox ('inputdata','masukkan jumlah data : ','0');
for i:=1 to strtoint(s) do

  begin
  nama1[i]:=inputbox('data ke:'+inttostr(i),'nama awal',' ');
  nama2[i]:=inputbox('data ke :'+inttostr(i),'nama belakang',' ');
  lbdata.items.add(nama1[i]+ ' ' +nama2[i]);
  edit1.Text:=inttostr(lbdata.items.count);
  end;

end; procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
nama1,nama2:array [1..5] of string;
s:string;

begin
s:=inputbox ('inputdata','masukkan jumlah data : ','0');
for i:=1 to strtoint(s) do

  begin
  nama1[i]:=inputbox('data ke:'+inttostr(i),'nama awal',' ');
  nama2[i]:=inputbox('data ke :'+inttostr(i),'nama belakang',' ');
  lbdata.items.add(nama1[i]+ ' ' +nama2[i]);
  edit1.Text:=inttostr(lbdata.items.count);
  end;

end;

  • Double klik pada buttom clear dan tulis kode sepert di bawah ini
procedure TForm1.Button2Click(Sender: TObject);
begin
lbdata.clear;
edit1.Text:=' ';
end;

  • Double klik pada buttom close dan tulis kode sepert di bawah ini
procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;

end.

4.    Setelah edit kode atau scripnya lanjutkan dengan menjalankan program tersebut dengan cara klik run atau f9
Begitulah cara membuat program input nama terimakasih sudah mengunjungi blog saya.
:)

Menghitung Gaji Karyawan Menggunakan struktur if - then - else

Sebelum membaca ini alangkah baiknya kita baca dulu postingan saya yang sebelumnya yang berjudul Menghutung Gaji Karyawan Menggunakan Form Aplication Pada Delhi7 karena pada postingan ini saya cuma mengubah strukturnya saja.

ok... ebenarnya untuk merubah struktur if - then menjadi struktur if - then - else sangat mudah kita tinggal merubah tanda ; {titik koma} menjadi else begitu saja. Lihat gambar berikut ini:

gambar sebelum dirubah
gambar setelah dirubah
hasilnya seperti di bawah ini dan hasilnya sebelum dan sesudah sama saja tidak ada perubahan.
ya begitulah cara merubahnya terimakasih sudah membacanya.
:D



menghitung gaji karyawan menggunakan form aplication pada delphi

Setelah membuat program menghitung luas kali ini kita akan membuat aplikasi sederhana penghitungan total gaji karyawan berdasarkan Gaji, Golongan beserta Tunjangan yang telah ditentukan.
        Pada aplikasi sederhana ini, kita atur untuk golongan dan tunjangan seperti dibawah ini :
  • Jika golongan A, maka tunjangan = 10000;
  •  Jika golongan B, maka tunjangan = 20000; dan
  • Jika golongan C, maka tunjangan = 30000.
Karena perumpamaan kali ini menggunakan kata jika maka untuk listing program pada aplikasi sederhana ini kita memakai struktur IF then ELSE.
Tanpa banyak basa basi mari kita langsung praktekan saja.
1.    Pertama setelah di buka program delphi klik file – aplication setelah itu buat seperti contoh form di bawah ini:
2.    Setelah itu ubahlah Object inspector seperti tabel di bawah ini:
3.    Setelah itu double klik pada proses da tulis scrip seperti ini.
procedure TForm1.prosesClick(Sender: TObject);
var
gaji,tot,tunjang:integer;

begin
gaji:=strtoint(tgaji.Text);
if gol.Text='A' then tunjang:=100000;
if gol.Text='B' then tunjang:=200000;
if gol.Text='C' then tunjang:=300000;
tunj.text:=inttostr(tunjang);
tot:=gaji+tunjang;
total.text:=inttostr(tot);
end;
end.
4.    Setelah itu konfigurasi selesai dan klik run atau f9 untuk menjalankan.

Pada hasil running diatas, kita uji coba listing program apakah telah sesuai dengan rumus atau tidak. Jika gaji = 2700000 dan ada pada golongan A, maka tunjangan yg didapatkan dari golongan A adalah 10000 dan hasil total gaji yang didapatkan adalah sebesar 2800000 ( gaji + tunjangan).

Apabila kita ingin membuat program diatas menjadi struktur if - then - else caranya mudah.
klik disini untuk mempelajarinya.

terimakasih :)



Sabtu, 20 Juni 2015

program menghitung luas menggunakan form aplication pada delphi

Pada kali ini saya akan belajar untuk membuat program menggunakan aplication dimana aplication berbeda dengan console aplication. Kalau console aplication adalah aplikasi yang tidak mempunyai form dan berbasis teks. sedangkan Aplication
sendiri memiliki form dan tidak berbasis teks (bergambar/memiliki icon/simbol-simbol).
Untuk mengaktifkan mode Aplication sendiri akan muncul otomatis pada saat pertama kali membuka program delphi.
Langkah awal seperti biasa, buka terlebih dahulu Delphi 7 yang telah diinstall. START > Delphi 7.
Untuk pertama kita coba membuat aplikasi sederhana menghitung luas persegi. Ikuti langkah-langkah di bawah ini:
1.    Setelah masuk program delphi dan sudah terbuka form aplication setelah itu kita buat form seperti di bawah ini:






2.    Setelah itu setting sesuai pada tabel di bawah ini.

yang dirubah seperti pada tabel yaitu pada jendela seperti di bawah ini:
3.    Setelah itu double klik pada buttom proses dan tulis perintah di bawah ini:
procedure TForm1.Button1Click(Sender: TObject);
var
  Panjang,Lebar,Luas:integer;
begin
  Panjang:=StrToInt(txtPanjang.Text);
  Lebar:=StrToInt(txtLebar.Text);
  Luas:=Panjang*Lebar;
  txtLuas.Text:=IntToStr(Luas);
end;
end.
4.    Setelah itu klik run (f9).

begitulah program sederhana menghitung luas semoga berhasil.





Senin, 19 Januari 2015

Contoh soal untuk Variabel Array Dimensi 2


Dari materi variabel array dimensi 2 yang kita pelajari sebelumnya mari kita coba untuk menyelesaikan empat (4) latihan soal di bawah ini agar bisa lebih mengerti tentang materi ini.

1.    1    0    0    0    0
        2    2    0    0    0
        3    3    3    0    0
        4    4    4    4    0
        5    5    5    5    5



2.    1    0    0    0    0
        0    1    0    0    0
        0    0    1    0    0
        0    0    0    1    0
        0    0    0    0    1

3.    0    0    0    0    1
        0    0    0    1    0
        0    0    1    0    0
        0    1    0    0    0
        1    0    0    0    0

4.    *    *    *    *    *
        *    *    *    *
        *    *    *
        *    *
        *

Berikut Jawaban dari soal di atas:
1.
{$APPTYPE CONSOLE}
uses
  SysUtils;
var
  mat:array[1..10,1..10]of integer;
  x,y:integer;
  i:integer;

begin
  writeln ('WELCOME TO munawir2706.blogspot.com');
  writeln ('=================================');
  writeln ('Nama : MUNAWIR');
  writeln ('NIK : 114224030');
  writeln ('=================================');
  for x:=1 to 5 do
  begin
    for y:=1 to 5 do
    begin
      mat [x,y]:=0;
      if x>=y then mat [x,y]:=x;
      write (mat[x,y]:5);
    end;
    writeln;
  end;
  readln;
end.


 2.





{$APPTYPE CONSOLE}
uses
  SysUtils;
var
  mat:array[1..10,1..10]of integer;
  x,y:integer;

begin
  writeln ('WELCOME TO munawir2706.blogspot.com');
  writeln ('=================================');
  writeln ('Nama : MUNAWIR');
  writeln ('NIK : 114224030');
  writeln ('=================================');
  for x:=1 to 5 do
  begin
    for y:=1 to 5 do
    begin
      mat [x,y]:=0;
      if x=y then mat [x,y]:=1;
      write (mat[x,y]:5);
    end;
    writeln;
  end;
  readln;
end.



3.
{$APPTYPE CONSOLE}
uses
  sysutils;
var
  mat:array[1..10,1..10]of integer;
  x,y:integer;
  i:integer;

begin
  writeln ('WELCOME TO munawir2706.blogspot.com');
  writeln ('=================================');
  writeln ('Nama : MUNAWIR');
  writeln ('NIK : 114224030');
  writeln ('=================================');
  for x:=1 to 5 do
  begin
    for y:=1 to 5 do
    begin
      mat [x,y]:=0;
      if x+y=6 then mat [x,y]:=1;
      write (mat[x,y]:5);
    end;
    writeln;
  end;
    readln;
end.


4.
{$APPTYPE CONSOLE}
uses
  SysUtils;
var
  mat:array[1..10,1..10]of integer;
  x,y:integer;
  i:integer;

begin
  writeln ('WELCOME TO munawir2706.blogspot.com');
  writeln ('=================================');
  writeln ('Nama : MUNAWIR');
  writeln ('NIK : 114224030');
  writeln ('=================================');
  for x:=1 to 5 do
  begin
    for y:=1 to 5 do
    begin
      if x+y<=6 then write ('*':5) else write (' ');
    end;
    writeln;
  end;
  readln;
end.



Yachh.... Mungkin soal diatas sudah cukup semoga bermanfaat.
amiinnn,,,,,,

Contoh Membuat Program Faktorial Menggunakan sistem Procedure

Di posting sebelumnya sudah saya jelaskan contoh dasar dari sistem procedure, kali ini saya akan memberikan contoh membuat program faktorial menggunakan sistem procedure.
Biasanya faktorial ini di tulis: N! (artinya => N faktorial)

Contoh : misal N =3
Maka 3! = 3*2*1 = 6

Tanpa panjang lebar mari kita langsung mencoba ke scripnya saja, Berikut scripnya:

{$APPTYPE CONSOLE}
uses
  SysUtils;
procedure faktorial (var fak, hasil:integer);
  var
    i:integer;

begin
  hasil:=1;
  for i := 2 to fak do
  hasil:=hasil*i;
end;

var
  n,f:integer;

begin
  writeln ('WELCOME TO munawir2706.blogspot.com');
  writeln ('Contoh Program Faktorial');
  writeln ('=================================');
  writeln ('Nama : MUNAWIR');
  writeln ('NIK : 114224030');
  writeln ('=================================');
  write ('berapa faktorial dari=');readln(n);
  faktorial(n,f);
  writeln (n,' faktorial (',n,'!) = ',f);readln;
end.






Biar lebih faham coba kita buat Program dengan  soal seperti ini:
Dengan menggunakan procedure buat program menghitung banyaknya kombinasi dengan rumus:
CRN = N! / (N-R)! * R!
Dimana:
N = banyaknya data yang di kombinasikan
R = banyaknya kombinasi
C = jumlah

Contoh:
N = hasilny nanti???
R = misal kita buat 2
N = misal kita buat 3
Maka
CRN = N! / (N-R)! * R!
C23 =  3! / (3-2)! * 2!
CRN = 6 / 1*2
CRN = 3
Dimana     : 3! = 3*2*1 = 6
                : 2! = 2*1 = 2
                : 1! = 1


Berikut ini scripnya:

{$APPTYPE CONSOLE}
uses
  SysUtils;

procedure faktorial (var fak, hasil:integer);
  var
    i:integer;

begin
  hasil:=1;
  for i := 2 to fak do
  hasil:=hasil*i;
end;

var
  n,f,r:integer;
  c:real;
  f1,f2,NminR,f3:integer;
begin
  writeln ('WELCOME TO munawir2706.blogspot.com');
  writeln ('=================================');
  writeln ('Contoh Soal');
  writeln ('Nama : MUNAWIR');
  writeln ('NIK : 114224030');
  writeln ('=================================');
  write ('input n = ');readln(n);
  write ('input r = ');readln(r);
  faktorial(n,f1);
  NminR:=n-r;
  faktorial(NminR,f2);
  faktorial (r,f3);
  c:=f1/(f2*f3);
  writeln ('c=',c:10:2);readln;
end.



Sekian dari saya semoga bermanfaat.

amiinnn!!!

Procedure dan Function

Seperti yang kita ketahui bahwa dalam bahasa pemrograman apapun pastilah memiliki istilah yang disebut dengan function dan procedure. Tidak peduli kamu menggunakan bahasa pemrograman apapun, seperti Delphi, Java, C++, Visual Basic, dan program lainnya.

okk, saya akan coba untuk membahas tentang itu:

Pengertian Procedure dan Function
=> Procedure yaitu sub program yang digunakan untuk melakukan proses tertentu dan tidak mengembalikan nilai, bisa disimpan dalam database sebagai object skema, sehingga suatu procedure bisa digunakan berulangkali tanpa harus melakukan parsing dan compile ulang. 
=> Function yaitu Sebuah kumpulan Statement yang akan mengembalikan sebuah nilai balik pada pemanggilnya. Nilai yang dihasilkan Function harus ditampung kedalam sebuah variabel.
Perbedaan function dan procedure, yaitu :

Perbedaan Procedure dan function
Perbedaan antara function dan procedure adalah : kalau function dia akan mengembalikan suatu nilai pada pemanggilnya, sedangkan kalau procedure dia tidak akan mengembalikan nilai apapun pada fungsi pemanggilnya

Nahh,, Berikut contoh Sistem Procedur menggunakan program penjumlahan 2 bilangan:

Procedure sistem model

{$APPTYPE CONSOLE}
uses
  SysUtils;
procedure coba;
var
  a,b,c:integer;
begin
  writeln ('WELCOME TO munawir2706.blogspot.com');
  writeln ('=================================');
  writeln ('Nama : MUNAWIR');
  writeln ('NIK : 114224030');
  writeln ('=================================');
  write ('input nilai A = ');readln(a);
  write ('input nilai B = ');readln(b);
  C:=a+b;
  write ('hasil = ',c);readln;
end;

begin
coba;
readln;
end.



Atau dengan cara
Procedure By Value

{$APPTYPE CONSOLE}
uses
  SysUtils;
var
  x,y:integer;

procedure coba (a,b:integer);
var
c:integer;

begin
c:=a+b;
writeln ('hasil = ',c);
end;

begin
  writeln ('WELCOME TO munawir2706.blogspot.com');
  writeln ('=================================');
  writeln ('Nama : MUNAWIR');
  writeln ('NIK : 114224030');
  writeln ('=================================');
  write ('input x=');readln(x);
  write ('input y= ');readln(y);
  coba (x,y);readln;
end.


Atau dengan cara
Procedure By Reference

{$APPTYPE CONSOLE}
uses
  SysUtils;
var
  x,y,z:integer;
procedure coba (var a,b,c:integer);

begin
c:=a+b;
end;

begin
  writeln ('WELCOME TO munawir2706.blogspot.com');
  writeln ('=================================');
  writeln ('Nama : MUNAWIR');
  writeln ('NIK : 114224030');
  writeln ('=================================');
  write ('input x= ');readln(x);
  write ('input y = ');READLN(Y);
  coba (x,y,z);
  write ('hasil = ',z);readln;
end.


Hasil dari ketiga cara di atas sama, yang membedakan dari ketiga cara diatas hanya penempatan input, proses, dan outputnya saja. Berikut hasilnya:

Berikut cara mudah dari sistem Procedure.
Baca juga cara membuat program menghitung faktorial menggunakan sistem procedure

Sekian terimakasih,.,,,, :)