SlideShare a Scribd company logo
1 of 18
By Tenia Wahyuningrum, S.Kom
PENGERTIAN
 Ada dua jenis subprogram yaitu
  prosedur dan fungsi.
 Memiliki kegunaan yg sama, yaitu
  melakukan tugas tertentu
 Perbedaannya fungsi selalu
  mengembalikan suatu nilai setelah
  dipanggil sedangkan prosedur tidak
PENGERTIAN
 Mengapa membutuhkan subprogram ?
  Jawabnya karena dalam program yg
  besar, akan lebih baik jika tugas tertentu
  dilakukan oleh subrutin tertentu
 Hal ini menjadikan program lebih mudah
  dibaca
 Juga membuat pelacakan kesalahan
  program menjadi lebih mudah
PROSEDUR
   Bentuk umum prosedur adalah :
    Prosedur nama_prosedur (parameter1, 2, …);
    Begin
      {pernyataan – pernyataan}
    End;
     Parameter1, 2,.. Merupakan informasi yg
      diberikan kepada prosedur atau fungsi
     Untuk memanggil prosedur kita cukup
      menuliskan nama prosedur dan
      parameternya
    nama_prosedur (parameter1, 2, …);
FUNGSI
   Bentuk umum fungsi adalah :
    Function nama_fungsi (parameter1, 2, …):
      tipe_kembalian;
    Begin
      {pernyataan – pernyataan}
    End;
    Tipe kembalian adalah tipe data dari nilai yg
      dikembalikan oleh fungsi
    Untuk memanggil fungsi kita harus
      menyediakan variabel untuk menerima hasil dari
      fungsi
    Nama_variabel:= nama_fungsi (parameter1, 2,
      …);
PARAMETER
   Parameter adalah nilai atau informasi yg
    diberikan ke prosedur atau fungsi
   Untuk melewatkan parameter ada dua cara
    yaitu dengan nilai atau referensi
   Melewatkan dengan nilai, subrutin yg
    dipanggil tidak dapat merubah nilainya
   Sebaliknya bila melewatkan referensinya,
    subrutin dapat mengubah nilainya.
   Untuk melewatkan referensi, tambahkan
    kata var didepan nama parameter
VARIABLE
 Didalam prosedur dan fungsi kita dapat
  mendeklarasikan sebuah variable yg
  bersifat lokal
 Variable lokal hanya berlaku untuk
  prosedur tersebut dan tidak dapat
  digunakan diluar prosedur
Bentuk umum
 Var g,h:integer;

 Procedure hitung(a:integer,var c:byte)
 Var r,s: integer;
 Begin
 ...
 End;

 begin
 Hitung(x,y);
 end
Keterangan

   a dan c merupakan parameter formal
   integer dan byte merupakan tipe parameter
   x dan y merupakan parameter nyata
   pengiriman nilai x ke a disebut pengiriman
    parameter secara nilai (by value)
   pengiriman nilai dari y ke c disebut
    pengiriman parameter secara acuan (by
    reference)
   r dan s merupakan variabel lokal
   g dan h merupakan variabel global
Perbedaan prosedur dan
fungsi
 Fungsi, nilai yang dikirimkan balik
  terdapat pada nama fungsinya.
  Sedangkan Prosedur hanya pada
  parameter yang dikirim secara acuan.
 Fungsi selalu mengembalikan nilai
 Nilai yang dikirim balik berada pada
  nama fungsinya, sehingga nama fungsi
  ini harus digunakan untuk menampung
  hasil yang akan dikirimkan
 Penulisan fungsi harus disertai tipe
  datanya
 Karena nilai balik berada pada nama
  fungsinya, maka fungsi tersebut dapat
  langsung digunakan untuk mencetak
procedure hitung( var a,b,c:integer);
begin
c:=a+b;
writeln('nilai c=',c);
end;

var
x,y,z:integer;
Begin
   x:=2;
   y:=3;
   z:=0;
hitung(x,y,z);
writeln(x,y,z);
end.
function k(a:integer;var b:integer):integer;
   begin
   if a>b then
   k:=(a+b*abs(a-b))div 2 else
   a:=a*b;
   dec(a,4);
   inc(b,a);
   end;

var x,y:integer;
  begin
     x:=6;y:=2;
     writeln(x,' ',y);
     writeln(k(x,y));
     writeln(x,' ',y);
  end.
function abc(k:integer):integer;
var i,j:integer;
begin
   j:=1;
   for i:=1 to k do
   j:=j*2;
   abc:=j;
end;

 begin
writeln(abc(3));
end.
Function fakto(n:byte):longint;
Begin
  if n=0 then
  fakto:=1;
Else
Fakto:=n*fakto(n-1);
End;
PUSTAKA
   Algoritma dan Pemrograman, Antony
    Pranata
Function xyz(n:byte):integer;
  begin
  if n=1 then xyz:=n
  else xyz:=1+xyz(n-1);
  end;

Begin
a:=xyz(10);
Writeln(a);
End.
Masih berhubungan dengan soal diatas,
Bila statement xyz:=1+xyz(n-1), diganti
   xyz:=n+xyz(n-1) dan dipanggil dengan
   y:=xyz(5) maka, y berharga …..

More Related Content

What's hot

4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)Simon Patabang
 
Pressentasi control unit
Pressentasi control unitPressentasi control unit
Pressentasi control unitgea prima
 
Metode enkripsi caesar cipher
Metode enkripsi caesar cipherMetode enkripsi caesar cipher
Metode enkripsi caesar cipherBobby Chandra
 
membuat function dalam mysql
membuat function dalam mysqlmembuat function dalam mysql
membuat function dalam mysqlsukangimpi
 
Makalah Organisasi Komputer - Direct Memory Access (DMA)
Makalah Organisasi Komputer - Direct Memory Access (DMA)Makalah Organisasi Komputer - Direct Memory Access (DMA)
Makalah Organisasi Komputer - Direct Memory Access (DMA)Fajar Jabrik
 
Analisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKAnalisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKMiftahul Muttaqin
 
04 Testing Perangkat Lunak
04 Testing Perangkat Lunak04 Testing Perangkat Lunak
04 Testing Perangkat LunakMrirfan
 
Penyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapPenyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapCheria Asyifa
 
praktikum Cisco Packet Tracer 5.3.
praktikum Cisco Packet Tracer 5.3.praktikum Cisco Packet Tracer 5.3.
praktikum Cisco Packet Tracer 5.3.Hibaten Wafiroh
 
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLKelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLDejiko Chaem
 
Perancangan (diagram softekz, dfd level 0,1,2)
Perancangan (diagram softekz, dfd level 0,1,2)Perancangan (diagram softekz, dfd level 0,1,2)
Perancangan (diagram softekz, dfd level 0,1,2)Joel Marobo
 
Scheduling - Sistem Operasi (Kelompok 3)
Scheduling - Sistem Operasi (Kelompok 3)Scheduling - Sistem Operasi (Kelompok 3)
Scheduling - Sistem Operasi (Kelompok 3)Ryan Aulia
 
PPT ALGORITMA KRIPTOGRAFI
PPT ALGORITMA KRIPTOGRAFIPPT ALGORITMA KRIPTOGRAFI
PPT ALGORITMA KRIPTOGRAFIripki al
 
Algoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsiAlgoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsiZombie Black
 
Jenis dan proses interupsi
Jenis dan proses interupsiJenis dan proses interupsi
Jenis dan proses interupsilaurensius08
 
Modul 3 pencarian heuristik
Modul 3   pencarian heuristikModul 3   pencarian heuristik
Modul 3 pencarian heuristikahmad haidaroh
 

What's hot (20)

4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)
 
Pressentasi control unit
Pressentasi control unitPressentasi control unit
Pressentasi control unit
 
Metode enkripsi caesar cipher
Metode enkripsi caesar cipherMetode enkripsi caesar cipher
Metode enkripsi caesar cipher
 
membuat function dalam mysql
membuat function dalam mysqlmembuat function dalam mysql
membuat function dalam mysql
 
Makalah Organisasi Komputer - Direct Memory Access (DMA)
Makalah Organisasi Komputer - Direct Memory Access (DMA)Makalah Organisasi Komputer - Direct Memory Access (DMA)
Makalah Organisasi Komputer - Direct Memory Access (DMA)
 
5 white-box
5 white-box5 white-box
5 white-box
 
Analisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKAnalisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMK
 
04 Testing Perangkat Lunak
04 Testing Perangkat Lunak04 Testing Perangkat Lunak
04 Testing Perangkat Lunak
 
Penyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapPenyederhanaan Karnaugh Map
Penyederhanaan Karnaugh Map
 
praktikum Cisco Packet Tracer 5.3.
praktikum Cisco Packet Tracer 5.3.praktikum Cisco Packet Tracer 5.3.
praktikum Cisco Packet Tracer 5.3.
 
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLKelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
 
Sistem bus komputer
Sistem bus komputerSistem bus komputer
Sistem bus komputer
 
Perancangan (diagram softekz, dfd level 0,1,2)
Perancangan (diagram softekz, dfd level 0,1,2)Perancangan (diagram softekz, dfd level 0,1,2)
Perancangan (diagram softekz, dfd level 0,1,2)
 
Scheduling - Sistem Operasi (Kelompok 3)
Scheduling - Sistem Operasi (Kelompok 3)Scheduling - Sistem Operasi (Kelompok 3)
Scheduling - Sistem Operasi (Kelompok 3)
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
PPT ALGORITMA KRIPTOGRAFI
PPT ALGORITMA KRIPTOGRAFIPPT ALGORITMA KRIPTOGRAFI
PPT ALGORITMA KRIPTOGRAFI
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
 
Algoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsiAlgoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsi
 
Jenis dan proses interupsi
Jenis dan proses interupsiJenis dan proses interupsi
Jenis dan proses interupsi
 
Modul 3 pencarian heuristik
Modul 3   pencarian heuristikModul 3   pencarian heuristik
Modul 3 pencarian heuristik
 

Similar to Jika statement xyz:=1+xyz(n-1) diganti menjadi xyz:=n+xyz(n-1) dan dipanggil dengan y:=xyz(5), maka nilai y akan berharga 15

Laporan Praktikum ALPRO-Berhitung Rumus Statistika
Laporan Praktikum ALPRO-Berhitung Rumus StatistikaLaporan Praktikum ALPRO-Berhitung Rumus Statistika
Laporan Praktikum ALPRO-Berhitung Rumus StatistikaShofura Kamal
 
Prosedur dan fungsi
Prosedur dan fungsi Prosedur dan fungsi
Prosedur dan fungsi Hardini_HD
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Pemrograman Modular
Pemrograman ModularPemrograman Modular
Pemrograman ModularDimara Hakim
 
Struktur data chapter_09
Struktur data chapter_09Struktur data chapter_09
Struktur data chapter_09Sejahtera Affif
 
Pertemuan vi (Function Java)
Pertemuan vi (Function Java)Pertemuan vi (Function Java)
Pertemuan vi (Function Java)Putra Andry
 
Struktur data chapter_10
Struktur data chapter_10Struktur data chapter_10
Struktur data chapter_10Sejahtera Affif
 
Modul Pascal.pdf
Modul Pascal.pdfModul Pascal.pdf
Modul Pascal.pdfsylaaulia
 
Modul Pascal Mengenal Flowchart
Modul Pascal Mengenal FlowchartModul Pascal Mengenal Flowchart
Modul Pascal Mengenal FlowchartIrwien Andriyanto
 
Modul pascal
Modul pascalModul pascal
Modul pascaldanver98
 
Modul pascal
Modul pascalModul pascal
Modul pascalshediazz
 
Algoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe DataAlgoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe DataFakhrian Fadlia Adiwijaya
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 

Similar to Jika statement xyz:=1+xyz(n-1) diganti menjadi xyz:=n+xyz(n-1) dan dipanggil dengan y:=xyz(5), maka nilai y akan berharga 15 (20)

Laporan Praktikum ALPRO-Berhitung Rumus Statistika
Laporan Praktikum ALPRO-Berhitung Rumus StatistikaLaporan Praktikum ALPRO-Berhitung Rumus Statistika
Laporan Praktikum ALPRO-Berhitung Rumus Statistika
 
Prosedur dan fungsi
Prosedur dan fungsi Prosedur dan fungsi
Prosedur dan fungsi
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Pemrograman Modular
Pemrograman ModularPemrograman Modular
Pemrograman Modular
 
Materi 5
Materi 5Materi 5
Materi 5
 
Struktur data chapter_09
Struktur data chapter_09Struktur data chapter_09
Struktur data chapter_09
 
Tistrukdat5
Tistrukdat5Tistrukdat5
Tistrukdat5
 
5 prosedur dan fungsi
5 prosedur dan fungsi5 prosedur dan fungsi
5 prosedur dan fungsi
 
Modul pd
Modul pdModul pd
Modul pd
 
Pertemuan vi (Function Java)
Pertemuan vi (Function Java)Pertemuan vi (Function Java)
Pertemuan vi (Function Java)
 
Function c++
Function c++Function c++
Function c++
 
Struktur data chapter_10
Struktur data chapter_10Struktur data chapter_10
Struktur data chapter_10
 
Modul Pascal.pdf
Modul Pascal.pdfModul Pascal.pdf
Modul Pascal.pdf
 
Modul Pascal Mengenal Flowchart
Modul Pascal Mengenal FlowchartModul Pascal Mengenal Flowchart
Modul Pascal Mengenal Flowchart
 
Algoritma flowchart
Algoritma flowchartAlgoritma flowchart
Algoritma flowchart
 
Modul pascal
Modul pascalModul pascal
Modul pascal
 
Modul pascal
Modul pascalModul pascal
Modul pascal
 
Algoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe DataAlgoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe Data
 
Topik 10 Fungsi
Topik 10 FungsiTopik 10 Fungsi
Topik 10 Fungsi
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 

More from Tenia Wahyuningrum (20)

Measuring User Experience
Measuring User ExperienceMeasuring User Experience
Measuring User Experience
 
Populasi dan sampel dalam penelitian HCI
Populasi dan sampel dalam penelitian HCIPopulasi dan sampel dalam penelitian HCI
Populasi dan sampel dalam penelitian HCI
 
10th heuristic evaluation
10th heuristic evaluation10th heuristic evaluation
10th heuristic evaluation
 
Good vs bad design
Good vs bad designGood vs bad design
Good vs bad design
 
Media sosial untuk pembelajaran
Media sosial untuk pembelajaranMedia sosial untuk pembelajaran
Media sosial untuk pembelajaran
 
4th human factors (2)
4th human factors (2)4th human factors (2)
4th human factors (2)
 
Human factors
Human factorsHuman factors
Human factors
 
Historical Context of HCI
Historical Context of HCIHistorical Context of HCI
Historical Context of HCI
 
Trends in Human Computer Interaction
Trends in Human Computer InteractionTrends in Human Computer Interaction
Trends in Human Computer Interaction
 
Good data, for better life
Good data, for better lifeGood data, for better life
Good data, for better life
 
Teori pnp
Teori pnpTeori pnp
Teori pnp
 
Plagiarisme
PlagiarismePlagiarisme
Plagiarisme
 
Struktur data & computer trends 2015 2016
Struktur data & computer trends 2015 2016Struktur data & computer trends 2015 2016
Struktur data & computer trends 2015 2016
 
Pengujian hipotesis
Pengujian hipotesisPengujian hipotesis
Pengujian hipotesis
 
Research method
Research methodResearch method
Research method
 
Basic research
Basic researchBasic research
Basic research
 
Pengenalan android
Pengenalan androidPengenalan android
Pengenalan android
 
Mobile programming pendahuluan
Mobile programming pendahuluanMobile programming pendahuluan
Mobile programming pendahuluan
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
 
Public speaking
Public speakingPublic speaking
Public speaking
 

Jika statement xyz:=1+xyz(n-1) diganti menjadi xyz:=n+xyz(n-1) dan dipanggil dengan y:=xyz(5), maka nilai y akan berharga 15

  • 2. PENGERTIAN  Ada dua jenis subprogram yaitu prosedur dan fungsi.  Memiliki kegunaan yg sama, yaitu melakukan tugas tertentu  Perbedaannya fungsi selalu mengembalikan suatu nilai setelah dipanggil sedangkan prosedur tidak
  • 3. PENGERTIAN  Mengapa membutuhkan subprogram ? Jawabnya karena dalam program yg besar, akan lebih baik jika tugas tertentu dilakukan oleh subrutin tertentu  Hal ini menjadikan program lebih mudah dibaca  Juga membuat pelacakan kesalahan program menjadi lebih mudah
  • 4. PROSEDUR  Bentuk umum prosedur adalah : Prosedur nama_prosedur (parameter1, 2, …); Begin {pernyataan – pernyataan} End;  Parameter1, 2,.. Merupakan informasi yg diberikan kepada prosedur atau fungsi  Untuk memanggil prosedur kita cukup menuliskan nama prosedur dan parameternya nama_prosedur (parameter1, 2, …);
  • 5. FUNGSI  Bentuk umum fungsi adalah : Function nama_fungsi (parameter1, 2, …): tipe_kembalian; Begin {pernyataan – pernyataan} End; Tipe kembalian adalah tipe data dari nilai yg dikembalikan oleh fungsi Untuk memanggil fungsi kita harus menyediakan variabel untuk menerima hasil dari fungsi Nama_variabel:= nama_fungsi (parameter1, 2, …);
  • 6. PARAMETER  Parameter adalah nilai atau informasi yg diberikan ke prosedur atau fungsi  Untuk melewatkan parameter ada dua cara yaitu dengan nilai atau referensi  Melewatkan dengan nilai, subrutin yg dipanggil tidak dapat merubah nilainya  Sebaliknya bila melewatkan referensinya, subrutin dapat mengubah nilainya.  Untuk melewatkan referensi, tambahkan kata var didepan nama parameter
  • 7. VARIABLE  Didalam prosedur dan fungsi kita dapat mendeklarasikan sebuah variable yg bersifat lokal  Variable lokal hanya berlaku untuk prosedur tersebut dan tidak dapat digunakan diluar prosedur
  • 8. Bentuk umum Var g,h:integer; Procedure hitung(a:integer,var c:byte) Var r,s: integer; Begin ... End; begin Hitung(x,y); end
  • 9. Keterangan  a dan c merupakan parameter formal  integer dan byte merupakan tipe parameter  x dan y merupakan parameter nyata  pengiriman nilai x ke a disebut pengiriman parameter secara nilai (by value)  pengiriman nilai dari y ke c disebut pengiriman parameter secara acuan (by reference)  r dan s merupakan variabel lokal  g dan h merupakan variabel global
  • 10. Perbedaan prosedur dan fungsi  Fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya. Sedangkan Prosedur hanya pada parameter yang dikirim secara acuan.  Fungsi selalu mengembalikan nilai  Nilai yang dikirim balik berada pada nama fungsinya, sehingga nama fungsi ini harus digunakan untuk menampung hasil yang akan dikirimkan
  • 11.  Penulisan fungsi harus disertai tipe datanya  Karena nilai balik berada pada nama fungsinya, maka fungsi tersebut dapat langsung digunakan untuk mencetak
  • 12. procedure hitung( var a,b,c:integer); begin c:=a+b; writeln('nilai c=',c); end; var x,y,z:integer; Begin x:=2; y:=3; z:=0; hitung(x,y,z); writeln(x,y,z); end.
  • 13. function k(a:integer;var b:integer):integer; begin if a>b then k:=(a+b*abs(a-b))div 2 else a:=a*b; dec(a,4); inc(b,a); end; var x,y:integer; begin x:=6;y:=2; writeln(x,' ',y); writeln(k(x,y)); writeln(x,' ',y); end.
  • 14. function abc(k:integer):integer; var i,j:integer; begin j:=1; for i:=1 to k do j:=j*2; abc:=j; end; begin writeln(abc(3)); end.
  • 15. Function fakto(n:byte):longint; Begin if n=0 then fakto:=1; Else Fakto:=n*fakto(n-1); End;
  • 16. PUSTAKA  Algoritma dan Pemrograman, Antony Pranata
  • 17. Function xyz(n:byte):integer; begin if n=1 then xyz:=n else xyz:=1+xyz(n-1); end; Begin a:=xyz(10); Writeln(a); End.
  • 18. Masih berhubungan dengan soal diatas, Bila statement xyz:=1+xyz(n-1), diganti xyz:=n+xyz(n-1) dan dipanggil dengan y:=xyz(5) maka, y berharga …..