SlideShare a Scribd company logo
ALGORITMA PEMROGRAMAN MODULAR
Ketika program pascal yang dibuat sudah terlalu panjang dgn listing program puluhan bahkan ratusan ribu baris, sehingga kita mengalami kesulitan untuk memahami jalannya program secara keseluruhan, maka ada baiknya bila program tersebut dipecah menjadi beberapa bagian yang biasanya disebut  modul,   subprogram atau subrutin   Konsep semacam ini biasa disebut dengan  pemrograman prosedural ,yg  kemudian dikenal dgn istilah  “ modul”. Memecah program menjadi modul-modul tentunya akan lebih memudahkan dalam mencari kesalahan, memperbaiki serta membuat dokumentasinya
Pembuatan modul  di Pascal dibagi dua jenis yaitu  Prosedur  dan  Fungsi . Prosedur atau Fungsi adalah suatu modul program yang terpisah dari program utama, diletakan dalam blok tersendiri yang berfungsi sebagai bagian dari program.  Setiap prosedur diawali dengan kata cadangan  (reserver word)   Procedure , sedangkan  Fungsi diawali dengan kata cadangan  Function . Prosedur  atau  Fungsi  banyak digunakan pada program terstruktur, karena : 1. Merupakan penerapan konsep modular, yaitu  memecah program menjadi modul-modul atau  subprogram-subprogam yang lebih sederhana. 2.  Untuk hal-hal yang sering dilakukan berulang-ulang,  cukup dituliskan sekali saja dalam prosedur dan  dapat dipanggil atau dipergunakan sewaktu-waktu  bila diperlukan.
Struktur Pascal Judul program PROGRAM  nama_program; USES  Wincrt; VAR CONST LABEL TYPE PROCEDURE  nama_procedure; Begin ………………… . End; FUNCTION  nama_function; Begin ………………… End; BEGIN ……………… END. Sistem Unit Bag. Deklarasi Prosedur Fungsi Program Utama
Penggunaan prosedur di pascal dibagi: Prosedur kompleks prosedur Prosedur sederhana
Procedure sederhana  (procedure tanpa parameter) dipakai untuk menampilkan pilihan menu dsb. Procedure tersbt terdiri dari beberapa statemen. Setiap procedure mempunyai  “nama”.  Dengan syntax”: Procedure nama; Begin Statemen; End;
CONTOH 1  tanpa procedure PROGRAM PROC1; USES WINCRT; BEGIN WRITELN ('MEMANGGIL PROCEDURE'); WRITELN ('PLIHAN MENU'); WRITELN ('1:EDIT FILE TEKS'); WRITELN ('2:BUKA FILE TEKS'); WRITELN ('3:SAVE FILE TEKS'); WRITELN ('4:COPY FILE TEKS'); WRITELN ('5:CETAK FILE TEKS'); WRITELN ('KEMBALI KE PROCEDURE'); END.
Layout:
PROGRAM PROC1; USES WINCRT; PROCEDURE  DISPLAY_MENU; BEGIN WRITELN ('PLIHAN MENU'); WRITELN ('1:EDIT FILE TEKS'); WRITELN ('2:BUKA FILE TEKS'); WRITELN ('3:SAVE FILE TEKS'); WRITELN ('4:COPY FILE TEKS'); WRITELN ('5:CETAK FILE TEKS'); END; {PROGRAM UTAMA} BEGIN WRITELN ('MEMANGGIL PROCEDURE'); DISPLAY_MENU; WRITELN ('KEMBALI KE PROCEDURE'); END.
Layout :
Program proc2; Uses wincrt; Begin WriteLn(‘------------------------------’); WriteLn(‘SELAMAT BELAJAR’); WriteLn(‘------------------------------’); End.
Uses wincrt; Procedure Garis; Begin WriteLn(‘-----------------------------’); End; Begin Garis; WriteLn(‘SELAMAT BELAJAR’); Garis; End.
Layout:
program matematika; uses wincrt; var nm,al : string [20]; a,b,tb,kl,kr :real; begin CLRSCR; WRITE ('NAMA  :'); READLN (NM); WRITE ('ALAMAT  :'); READLN (AL); WRITE ('NILAI a :'); rEADLN (A); WRITE ('NILAI B :'); READLN (B); WRITELN; WRITELN ('PENJUMLAHAN'); TB:=A+B; WRITELN ('PENJUMLAHAN  =',TB:4:2);
WRITELN; WRITELN ('PENGURANGAN'); KR:=A-B;  WRITELN ('PENGURANGAN  =',KR:4:2); WRITELN; WRITELN ('PERKALIAN'); KL:=A*B; WRITELN ('PERKALIAN  =',KL:4:2); END.
 
program CONTOH3; uses wincrt; var nm,al : string [20]; a,b,tb,kl,kr :real; procedure input; begin WRITE ('NAMA  :'); READLN (NM); WRITE ('ALAMAT  :'); READLN (AL); WRITE ('NILAI a :'); rEADLN (A); WRITE ('NILAI B :'); READLN (B); WRITELN; end;
procedure jumlah; begin WRITELN ('PENJUMLAHAN'); TB:=A+B; WRITELN ('PENJUMLAHAN  =',TB:4:2); WRITELN; end; procedure kurang; BEGIN WRITELN ('PENGURANGAN'); KR:=A-B;  WRITELN ('PENGURANGAN  =',KR:4:2); WRITELN; end;
procedure kali; begin WRITELN ('PERKALIAN'); KL:=A*B; WRITELN ('PERKALIAN  =',KL:4:2); WRITELN; end; {program utama} BEGIN INPUT; JUMLAH; KURANG; KALI; END.
 
PROGRAM MODULAR; USES WINCRT; VAR NM,NIP: STRING; GP,TUNJ,GB,PJ:REAL; GOL:CHAR; CONST PAJAK=0.05; PROCEDURE INPUT; BEGIN write ('nama pegawai  ='); readln (nm); write ('nip pegawai  ='); readln (nip); write ('golongan  ='); readln (gol); write ('gaji pokok  ='); readln (gp); end;
PROCEDURE HITUNG_TUNJANGAN; BEGIN IF GOL ='A' THEN TUNJ:=GP*0.25 ELSE IF GOL ='B' THEN TUNJ:=GP*0.2 ELSE TUNJ:=GP*0.15; WRITELN ('TUNJANGAN ANDA =',TUNJ:10:2); END;
PROCEDURE HITUNG_PAJAK; BEGIN IF GP>2500000 THEN BEGIN PJ:=GP*PAJAK; WRITELN ('PAJAK  =','  ',PJ:10:2); END ELSE BEGIN PJ:=0; WRITELN ('BEBAS PAJAK'); END;
PROCEDURE HITUNG_GAJI_BERSIH; BEGIN GB:=(GP+TUNJ)-PJ; WRITELN ('GAJI BERSIH  =','  ',GB:10:2); END; {PROGRAM UTAMA} BEGIN INPUT; HITUNG_TUNJANGAN; HITUNG_PAJAK; HITUNG_GAJI_BERSIH; END.
 
TUGAS ANDA: BUAT PROGRAM DGN MENGGUNAKAN PROCEDURE SEDERHANA UNTUK MENGHITUNG TUNJANGAN ANAK DAN TUNJANGAN KELUARGA DGN KETENTUAN SBB: JIKA SDH MENIKAH MAKA MENDAPATKAN TUNJANGAN KELUARGA SEBESAR 15% DR GAJI POKOK, JIKA BELUM MAKA TIDAK ADA TUNJANGAN KELUARGA. TUNJANGAN ANAK DIBERIKAN JIKA STATUSNYA SUDAH MENIKAH. DIBERIKAN MAKSIMAL KEPADA 3 ANAK, TIAP ANALK MENDAPATN 5% DARI GAJI POKOK.
Semua var yg digunakan pada contoh2 diatas merupakan var yg bersifat general dlm artian bahwa semua var yg telah dideklarasikan pd bag.deklarasi tsesbt berlaku untuk semua prosedur yg ada.  Pada  modul (prosedure/fungsi) dikenal 2 jenis jangkauan var, yaitu: 1. Var global 2. Var lokal
 Adl var yg didefinisikan/terletak pd program utama, dimana semua modul (prosedur/fungsi) bisa mengakses, menggunakan dan memodofikasinya.  formula var global: Ket : var A,B,C bisa diakses oleh prosedur input dan tampil  Program gaji ; Var  A,B,C :Char; Procedure input; Procedure tampil;
Suatu prosedur dpt mendeklarasikan var sendiri. Var2 itu hanya bekerja pada prosedur dimana var tersbt dideklarasikan. Var2 tersbt dinamakan var lokal. Formulanya adalah: Semua bisa mengakses var A,B,C Pada prosedur tampil definisi var  global diganti menjadi var lokal Prosedur tampil tdk bisa mengakses var D Program gaji ; Var  A,B,C :Char; Procedure input; Var D Procedure tampil; Var A,E
PROGRAM BELI; USES WINCRT; VAR TOTAL_BELI : REAL; PROCEDURE  INPUT ; BEGIN WRITE ('MASUKKAN TOTAL PEMBELIAN:');  READLN (TOTAL_BELI); END; PROCEDURE  HITUNG_DISKON ; VAR DISKON, BAYAR :REAL; BEGIN IF TOTAL_BELI>100000 THEN DISKON:=TOTAL_BELI*0.05 ELSE IF TOTAL_BELI>200000 THEN  DISKON:=TOTAL_BELI*0.15 ELSE Var global Var lokal
IF TOTAL_BELI>500000 THEN  DISKON:=TOTAL_BELI*0.2 ELSE DISKON:=0; BAYAR:=TOTAL_BELI-DISKON;  WRITELN (' DISKON ANDA  =','  ',' RP. ',DISKON:10:2); WRITELN (' TOTAL BAYAR ANDA =','  ',' RP. ',BAYAR :10:2); READLN; END; BEGIN INPUT; HITUNG_DISKON; READLN; END.
 
program lokal_var; uses wincrt; var A1,A2: integer;  procedure  tambah ; var hasil : integer;  begin hasil:=A1+A2; writeln ('Hasil  =',hasil); end; Begin write ('Masukkan 2 angka bulat dgn spasi='); readln (a1,a2); tambah ; end. Var global Var lokal
Layout:
BUATLAH PROSEDUR DGN MENGGUNAKAN VAR GLOBAL & VAR LOKAL YG MENERIMA 2 BUAH BIL YG MASING2 MENYATAKAN PANJANG & LEBAR SEBUAH EMPAT PERSEGI PANJANG (DLM CM) DAN MENGHITUNG LUAS & KELILING.
Prosedur yg menggunakan argumen PROSEDUR KOMPLEKS Prosedur yg memakai parameter
Prosedur juga bisa memakai var (data) untuk bekerja ketika dipanggil. Mendeklarasikan Var di dlm prosedur Ketentuan: 1. var yg diterima oleh prosedur diapit dgn  tanda kurung (). 2. Deklarasi dari var terletak diantara nama  prosedur dan semi kolom. Contoh: PROCEDURE  PANGGIL  (A, B : INTEGER); NAMA PROSEDUR DEKLARASI VAR
B.  Memanggil prosedur & menyampaikan nilai ke prosedur Ketentuan: 1. ketika prosedur dipanggil, nama prosedur  diikuti oleh sepasang (). 2. var ditulis dlm tingkat yg sama seperti dlm  prosedur terkait. Contoh: PANGGIL  ( C, D ); Pemanggilan var Pemanggilan prosedur
PROGRAM PANGGIL_VAR; USES WINCRT; VAR  C,D:INTEGER; PROCEDURE  PANGGIL   (A,B: INTEGER); VAR E: INTEGER; BEGIN E:=A*B; WRITELN ('HASIL KALI  =','  ',E); END; BEGIN WRITE ('MASUKKAN NILAI PERTAMA ='); READLN (C); WRITE ('MASUKKAN NILAI KEDUA  ='); READLN (D); PANGGIL (C,D); READLN; END.
 
PROGRAM JUMLAH; USES WINCRT; VAR NOMOR1, NOMOR2 : INTEGER; PROCEDURE  JAWAB  (KESATU, KEDUA: INTEGER); VAR HASIL: INTEGER; BEGIN HASIL:=KESATU+KEDUA; WRITELN ('HASILNYA ADALAH =','  ',HASIL); END; BEGIN WRITE ('MASUKKAN DUA ANGKA DALAM SPASI  =');  READLN (NOMOR1, NOMOR2); JAWAB (NOMOR1, NOMOR2); READLN; END.
 
PARAMETER: Secara sederhana ” parameter merupakan var yg dituliskan di dalam kurung setelah nama prosedur atau fungsi ”. Parameter adl nama var yg dideklarasikan pada bag  header  prosedur.  Kebanyakan program memerlukan pertukaran data/informasi antara prosedur (fungsi) dan titik dimana ia dipanggil. Penggunaan parameter menawarkan mekanisme pertukaran data/informasi tersbt. Prosedur dgn parameter diakses dgn cara memanggil namanya dr program utama atau modul program yg lain disertai parameternya.
Berdasarkan penulisannya terdapat 2 jenis parameter, yaitu :  1. parameter aktual   (actual parameter) ..   parameter aktual  adalah parameter yang disertakan pada saat pemanggilan prosedur/fungsi tersebut di blok program utama. 2. parameter formal   (formal parameter)   Parameter formal  adalah parameter yang disertakan/dituliskan  pada saat pendeklarasian prosedur/fungsi itu sendiri Tiap-tiap parameter aktual berpasangan dgn parameter formal yg bersesuaian.
Aturan yg harus diperhatikan dlm korespondensi satu2 antara parameter aktual dan parameter formal adl: 1. jumlah parameter aktual pada pemanggilan  prosedur harus sama dgn jumlah parameter  formal pada deklarasi prosedurnya. 2. tiap parameter aktual harus bertipe sama dgn  tipe parameter formal yg bersesuaian. 3. tiap parameter aktual harus diekspresikan dgn  cara yg taat-asas dgn parameter formal yg  bersesuaian, bergantung pada jenis parameter  formal.
PROGRAM TESTNILAI; USES WINCRT; VAR X,Y: INTEGER; PROCEDURE NOEFFECT (X,Y:INTEGER); BEGIN X:=Y; Y:=0; WRITELN ( X  ,  Y ); END; BEGIN X:=1; Y:=2; WRITELN (X,Y); NOEFFECT (X,Y); WRITELN (X,Y); END.
LAYOUT :
Berdasarkan tujuannya, terdapat 3 jenis parameter formal yg disertakan dlm prosedur/fungsi, yaitu : 1. Parameter masukan (input parameter) 2. Parameter keluaran (output parameter) 3.parameter masukan/keluaran (input/output  parameter) Parameter masukan adl parameter yg nilainya berfungsi sbagi masukan untuk prosedur. Pd bhs pemrograman parameter masukan sering dinamakan  parameter nilai . Parameter keluaran adl parameter yg menampug keluaran yg dihaslkan prosedur. Parameter masukan/keluaran adl parameter yg berfungsi sbagai masukan sekaligus sebagai keluaran bagi prosedur. Parameter masukan/keluaran biasa disbt  parameter reference  (parameter acuan).
Pada parameter masukan, nilai parameter aktual diisikan kedlm parameter formal. Nilai ini digunakan dlm badan prosedur. Nilai yg dinyatakan dlm parameter masukan tdk bisa dikirim dlm arah sebaliknya (formal ke aktual) Perubahan nilai parameter dlm bdn prosedur tdk mengubah nilai parameter aktual, karena yg dipentingkan adalah nilainya. Oleh karena itu nama parameter aktual boleh berbeda dgn nama parameter formal yg bersesuaian.

More Related Content

PDF
Modul pascal
PPTX
Struktur pemrograman pascal
PDF
Pascal tutorialtpascal701
PDF
Materi dasar-pascal
PDF
Algoritma flowchart
PPTX
Algoritma pemrograman 9
DOCX
TUGAS MANDIRI algoritma
PPTX
Algoritma pemrograman 10
Modul pascal
Struktur pemrograman pascal
Pascal tutorialtpascal701
Materi dasar-pascal
Algoritma flowchart
Algoritma pemrograman 9
TUGAS MANDIRI algoritma
Algoritma pemrograman 10

What's hot (20)

DOCX
Modul3 algoritma dan pemrograman procedure dan_function
PPT
Pemrograman Modular
PPT
Struktur Bahasa Pascal[1]
PPT
Dasar Dasar Algoritma
PPTX
Algoritma pemrograman 6
PPT
Algoritma - prosedur dan fungsi
DOCX
Ayo membuat program pascal
PPTX
Bahasa pemrograman pascal
DOC
Dasar Pemrograman materi kuliah
PDF
Materi dasar-pascal
PPTX
Topik 9 Prosedur
PPTX
Algoritma pemrograman 8
PPTX
Algoritma pemrograman 11
PDF
Konsep dasar pemrograman pascal
PPTX
Algoritma pemrograman 13
DOCX
Dasar pemrograman turbo pascal
PDF
Part 24 Perintah Record with
PDF
Makalah prosedur dan fungsi
DOCX
Jobsheet 4 LOOPING( PENGULANGAN)
Modul3 algoritma dan pemrograman procedure dan_function
Pemrograman Modular
Struktur Bahasa Pascal[1]
Dasar Dasar Algoritma
Algoritma pemrograman 6
Algoritma - prosedur dan fungsi
Ayo membuat program pascal
Bahasa pemrograman pascal
Dasar Pemrograman materi kuliah
Materi dasar-pascal
Topik 9 Prosedur
Algoritma pemrograman 8
Algoritma pemrograman 11
Konsep dasar pemrograman pascal
Algoritma pemrograman 13
Dasar pemrograman turbo pascal
Part 24 Perintah Record with
Makalah prosedur dan fungsi
Jobsheet 4 LOOPING( PENGULANGAN)
Ad

Similar to Pengantar Algoritma Pemrograman II (20)

PDF
Pascal - Pendahuluan1.txt - Notepad.pdf
PPT
Fu Nction
PDF
Modul Pascal Mengenal Flowchart
PDF
Modul Pascal.pdf
PDF
Modul pascal
PDF
Pemrograman pascal bab_i
DOC
Modul pascal
DOCX
Laporan praktikum web ke 5
PPTX
struktur pemrograman pascal - MATA KULIAH STRUKTUR DATA
PDF
Konsep dasar pemrograman pascal materi i
PDF
Pemrograman pascal bab_i
DOCX
PENGENALAN SSISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMAN
PDF
Laporan praktikum dpk modul 1
PDF
Materi : Chapter 1 Pemrograman Lanjut.pdf
PDF
1. konsep dasar pemrograman pascal
PDF
Penggunaan prosedur dan fungsi pada pemrograman c++
DOCX
Modul ii
DOCX
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
DOCX
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
DOCX
Pascal - Pendahuluan1.txt - Notepad.pdf
Fu Nction
Modul Pascal Mengenal Flowchart
Modul Pascal.pdf
Modul pascal
Pemrograman pascal bab_i
Modul pascal
Laporan praktikum web ke 5
struktur pemrograman pascal - MATA KULIAH STRUKTUR DATA
Konsep dasar pemrograman pascal materi i
Pemrograman pascal bab_i
PENGENALAN SSISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMAN
Laporan praktikum dpk modul 1
Materi : Chapter 1 Pemrograman Lanjut.pdf
1. konsep dasar pemrograman pascal
Penggunaan prosedur dan fungsi pada pemrograman c++
Modul ii
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Ad

More from formatik (20)

PPT
Pertemuan 2(Hardware Komputer)
PPT
Konsep Oop
PPT
Pertemuan 4(Sistem Bilangan)
PPT
Pertemuan 3 Software (Perangkat Lunak)
PPT
Pengantar Pengembangan Kepribadian
PPT
Pengantar Kewarganegaraan
PPT
Pengantar Matematika Teknik
PPT
Kuliah 2
PPT
Bab Iii Kondisi
PPT
Array
PPT
Kontrak Perkuliahan
PPT
Kontrak Perkuliahan
PPT
Array
PPT
Kontrak Perkuliahan
PPT
Dasar Dasar Statistika
PPT
Media Penyimpanan Berkas
PPT
Pengantar Sistem Berkas
PPT
Pengantar Sistem Berkas (Lanjutan)
PPT
Teknologi Informasi untuk keunggulan Kompetitif
PPT
Pengantar Sistem Informasi Manajemen
Pertemuan 2(Hardware Komputer)
Konsep Oop
Pertemuan 4(Sistem Bilangan)
Pertemuan 3 Software (Perangkat Lunak)
Pengantar Pengembangan Kepribadian
Pengantar Kewarganegaraan
Pengantar Matematika Teknik
Kuliah 2
Bab Iii Kondisi
Array
Kontrak Perkuliahan
Kontrak Perkuliahan
Array
Kontrak Perkuliahan
Dasar Dasar Statistika
Media Penyimpanan Berkas
Pengantar Sistem Berkas
Pengantar Sistem Berkas (Lanjutan)
Teknologi Informasi untuk keunggulan Kompetitif
Pengantar Sistem Informasi Manajemen

Recently uploaded (9)

PPTX
Implementasi Microservices pada Manufaktur
PPTX
Materi asdsa asd asd sad sa dsa dsa d sa
PPTX
Peranan AI dalam Dunia Pendidikan dan Industri Aplikasinya
PDF
Modul_Pemula_Merakit_Komputer untuk smppdf
PPTX
Materi_Array_Karakter_String untuk kelas XI sma.pptx
PPT
pengantar-sistem-informasi manajemen.ppt
DOCX
Keutuhan Aplikasi Konsep dan Praktik dalam Upaya menciptakan aplikasi Anti Vi...
PDF
Rekomendasi Riset Lanjutan : perspektif_futurologis.pdf
DOCX
Antivirus Versi.FULL.JALiN.KB.PRO Keutuhan Aplikasi Konsep dan Praktik dalam ...
Implementasi Microservices pada Manufaktur
Materi asdsa asd asd sad sa dsa dsa d sa
Peranan AI dalam Dunia Pendidikan dan Industri Aplikasinya
Modul_Pemula_Merakit_Komputer untuk smppdf
Materi_Array_Karakter_String untuk kelas XI sma.pptx
pengantar-sistem-informasi manajemen.ppt
Keutuhan Aplikasi Konsep dan Praktik dalam Upaya menciptakan aplikasi Anti Vi...
Rekomendasi Riset Lanjutan : perspektif_futurologis.pdf
Antivirus Versi.FULL.JALiN.KB.PRO Keutuhan Aplikasi Konsep dan Praktik dalam ...

Pengantar Algoritma Pemrograman II

  • 2. Ketika program pascal yang dibuat sudah terlalu panjang dgn listing program puluhan bahkan ratusan ribu baris, sehingga kita mengalami kesulitan untuk memahami jalannya program secara keseluruhan, maka ada baiknya bila program tersebut dipecah menjadi beberapa bagian yang biasanya disebut modul, subprogram atau subrutin Konsep semacam ini biasa disebut dengan pemrograman prosedural ,yg kemudian dikenal dgn istilah “ modul”. Memecah program menjadi modul-modul tentunya akan lebih memudahkan dalam mencari kesalahan, memperbaiki serta membuat dokumentasinya
  • 3. Pembuatan modul di Pascal dibagi dua jenis yaitu Prosedur dan Fungsi . Prosedur atau Fungsi adalah suatu modul program yang terpisah dari program utama, diletakan dalam blok tersendiri yang berfungsi sebagai bagian dari program. Setiap prosedur diawali dengan kata cadangan (reserver word) Procedure , sedangkan Fungsi diawali dengan kata cadangan Function . Prosedur atau Fungsi banyak digunakan pada program terstruktur, karena : 1. Merupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. 2. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.
  • 4. Struktur Pascal Judul program PROGRAM nama_program; USES Wincrt; VAR CONST LABEL TYPE PROCEDURE nama_procedure; Begin ………………… . End; FUNCTION nama_function; Begin ………………… End; BEGIN ……………… END. Sistem Unit Bag. Deklarasi Prosedur Fungsi Program Utama
  • 5. Penggunaan prosedur di pascal dibagi: Prosedur kompleks prosedur Prosedur sederhana
  • 6. Procedure sederhana (procedure tanpa parameter) dipakai untuk menampilkan pilihan menu dsb. Procedure tersbt terdiri dari beberapa statemen. Setiap procedure mempunyai “nama”. Dengan syntax”: Procedure nama; Begin Statemen; End;
  • 7. CONTOH 1 tanpa procedure PROGRAM PROC1; USES WINCRT; BEGIN WRITELN ('MEMANGGIL PROCEDURE'); WRITELN ('PLIHAN MENU'); WRITELN ('1:EDIT FILE TEKS'); WRITELN ('2:BUKA FILE TEKS'); WRITELN ('3:SAVE FILE TEKS'); WRITELN ('4:COPY FILE TEKS'); WRITELN ('5:CETAK FILE TEKS'); WRITELN ('KEMBALI KE PROCEDURE'); END.
  • 9. PROGRAM PROC1; USES WINCRT; PROCEDURE DISPLAY_MENU; BEGIN WRITELN ('PLIHAN MENU'); WRITELN ('1:EDIT FILE TEKS'); WRITELN ('2:BUKA FILE TEKS'); WRITELN ('3:SAVE FILE TEKS'); WRITELN ('4:COPY FILE TEKS'); WRITELN ('5:CETAK FILE TEKS'); END; {PROGRAM UTAMA} BEGIN WRITELN ('MEMANGGIL PROCEDURE'); DISPLAY_MENU; WRITELN ('KEMBALI KE PROCEDURE'); END.
  • 11. Program proc2; Uses wincrt; Begin WriteLn(‘------------------------------’); WriteLn(‘SELAMAT BELAJAR’); WriteLn(‘------------------------------’); End.
  • 12. Uses wincrt; Procedure Garis; Begin WriteLn(‘-----------------------------’); End; Begin Garis; WriteLn(‘SELAMAT BELAJAR’); Garis; End.
  • 14. program matematika; uses wincrt; var nm,al : string [20]; a,b,tb,kl,kr :real; begin CLRSCR; WRITE ('NAMA :'); READLN (NM); WRITE ('ALAMAT :'); READLN (AL); WRITE ('NILAI a :'); rEADLN (A); WRITE ('NILAI B :'); READLN (B); WRITELN; WRITELN ('PENJUMLAHAN'); TB:=A+B; WRITELN ('PENJUMLAHAN =',TB:4:2);
  • 15. WRITELN; WRITELN ('PENGURANGAN'); KR:=A-B; WRITELN ('PENGURANGAN =',KR:4:2); WRITELN; WRITELN ('PERKALIAN'); KL:=A*B; WRITELN ('PERKALIAN =',KL:4:2); END.
  • 16.  
  • 17. program CONTOH3; uses wincrt; var nm,al : string [20]; a,b,tb,kl,kr :real; procedure input; begin WRITE ('NAMA :'); READLN (NM); WRITE ('ALAMAT :'); READLN (AL); WRITE ('NILAI a :'); rEADLN (A); WRITE ('NILAI B :'); READLN (B); WRITELN; end;
  • 18. procedure jumlah; begin WRITELN ('PENJUMLAHAN'); TB:=A+B; WRITELN ('PENJUMLAHAN =',TB:4:2); WRITELN; end; procedure kurang; BEGIN WRITELN ('PENGURANGAN'); KR:=A-B; WRITELN ('PENGURANGAN =',KR:4:2); WRITELN; end;
  • 19. procedure kali; begin WRITELN ('PERKALIAN'); KL:=A*B; WRITELN ('PERKALIAN =',KL:4:2); WRITELN; end; {program utama} BEGIN INPUT; JUMLAH; KURANG; KALI; END.
  • 20.  
  • 21. PROGRAM MODULAR; USES WINCRT; VAR NM,NIP: STRING; GP,TUNJ,GB,PJ:REAL; GOL:CHAR; CONST PAJAK=0.05; PROCEDURE INPUT; BEGIN write ('nama pegawai ='); readln (nm); write ('nip pegawai ='); readln (nip); write ('golongan ='); readln (gol); write ('gaji pokok ='); readln (gp); end;
  • 22. PROCEDURE HITUNG_TUNJANGAN; BEGIN IF GOL ='A' THEN TUNJ:=GP*0.25 ELSE IF GOL ='B' THEN TUNJ:=GP*0.2 ELSE TUNJ:=GP*0.15; WRITELN ('TUNJANGAN ANDA =',TUNJ:10:2); END;
  • 23. PROCEDURE HITUNG_PAJAK; BEGIN IF GP>2500000 THEN BEGIN PJ:=GP*PAJAK; WRITELN ('PAJAK =',' ',PJ:10:2); END ELSE BEGIN PJ:=0; WRITELN ('BEBAS PAJAK'); END;
  • 24. PROCEDURE HITUNG_GAJI_BERSIH; BEGIN GB:=(GP+TUNJ)-PJ; WRITELN ('GAJI BERSIH =',' ',GB:10:2); END; {PROGRAM UTAMA} BEGIN INPUT; HITUNG_TUNJANGAN; HITUNG_PAJAK; HITUNG_GAJI_BERSIH; END.
  • 25.  
  • 26. TUGAS ANDA: BUAT PROGRAM DGN MENGGUNAKAN PROCEDURE SEDERHANA UNTUK MENGHITUNG TUNJANGAN ANAK DAN TUNJANGAN KELUARGA DGN KETENTUAN SBB: JIKA SDH MENIKAH MAKA MENDAPATKAN TUNJANGAN KELUARGA SEBESAR 15% DR GAJI POKOK, JIKA BELUM MAKA TIDAK ADA TUNJANGAN KELUARGA. TUNJANGAN ANAK DIBERIKAN JIKA STATUSNYA SUDAH MENIKAH. DIBERIKAN MAKSIMAL KEPADA 3 ANAK, TIAP ANALK MENDAPATN 5% DARI GAJI POKOK.
  • 27. Semua var yg digunakan pada contoh2 diatas merupakan var yg bersifat general dlm artian bahwa semua var yg telah dideklarasikan pd bag.deklarasi tsesbt berlaku untuk semua prosedur yg ada. Pada modul (prosedure/fungsi) dikenal 2 jenis jangkauan var, yaitu: 1. Var global 2. Var lokal
  • 28.  Adl var yg didefinisikan/terletak pd program utama, dimana semua modul (prosedur/fungsi) bisa mengakses, menggunakan dan memodofikasinya. formula var global: Ket : var A,B,C bisa diakses oleh prosedur input dan tampil Program gaji ; Var A,B,C :Char; Procedure input; Procedure tampil;
  • 29. Suatu prosedur dpt mendeklarasikan var sendiri. Var2 itu hanya bekerja pada prosedur dimana var tersbt dideklarasikan. Var2 tersbt dinamakan var lokal. Formulanya adalah: Semua bisa mengakses var A,B,C Pada prosedur tampil definisi var global diganti menjadi var lokal Prosedur tampil tdk bisa mengakses var D Program gaji ; Var A,B,C :Char; Procedure input; Var D Procedure tampil; Var A,E
  • 30. PROGRAM BELI; USES WINCRT; VAR TOTAL_BELI : REAL; PROCEDURE INPUT ; BEGIN WRITE ('MASUKKAN TOTAL PEMBELIAN:'); READLN (TOTAL_BELI); END; PROCEDURE HITUNG_DISKON ; VAR DISKON, BAYAR :REAL; BEGIN IF TOTAL_BELI>100000 THEN DISKON:=TOTAL_BELI*0.05 ELSE IF TOTAL_BELI>200000 THEN DISKON:=TOTAL_BELI*0.15 ELSE Var global Var lokal
  • 31. IF TOTAL_BELI>500000 THEN DISKON:=TOTAL_BELI*0.2 ELSE DISKON:=0; BAYAR:=TOTAL_BELI-DISKON; WRITELN (' DISKON ANDA =',' ',' RP. ',DISKON:10:2); WRITELN (' TOTAL BAYAR ANDA =',' ',' RP. ',BAYAR :10:2); READLN; END; BEGIN INPUT; HITUNG_DISKON; READLN; END.
  • 32.  
  • 33. program lokal_var; uses wincrt; var A1,A2: integer; procedure tambah ; var hasil : integer; begin hasil:=A1+A2; writeln ('Hasil =',hasil); end; Begin write ('Masukkan 2 angka bulat dgn spasi='); readln (a1,a2); tambah ; end. Var global Var lokal
  • 35. BUATLAH PROSEDUR DGN MENGGUNAKAN VAR GLOBAL & VAR LOKAL YG MENERIMA 2 BUAH BIL YG MASING2 MENYATAKAN PANJANG & LEBAR SEBUAH EMPAT PERSEGI PANJANG (DLM CM) DAN MENGHITUNG LUAS & KELILING.
  • 36. Prosedur yg menggunakan argumen PROSEDUR KOMPLEKS Prosedur yg memakai parameter
  • 37. Prosedur juga bisa memakai var (data) untuk bekerja ketika dipanggil. Mendeklarasikan Var di dlm prosedur Ketentuan: 1. var yg diterima oleh prosedur diapit dgn tanda kurung (). 2. Deklarasi dari var terletak diantara nama prosedur dan semi kolom. Contoh: PROCEDURE PANGGIL (A, B : INTEGER); NAMA PROSEDUR DEKLARASI VAR
  • 38. B. Memanggil prosedur & menyampaikan nilai ke prosedur Ketentuan: 1. ketika prosedur dipanggil, nama prosedur diikuti oleh sepasang (). 2. var ditulis dlm tingkat yg sama seperti dlm prosedur terkait. Contoh: PANGGIL ( C, D ); Pemanggilan var Pemanggilan prosedur
  • 39. PROGRAM PANGGIL_VAR; USES WINCRT; VAR C,D:INTEGER; PROCEDURE PANGGIL (A,B: INTEGER); VAR E: INTEGER; BEGIN E:=A*B; WRITELN ('HASIL KALI =',' ',E); END; BEGIN WRITE ('MASUKKAN NILAI PERTAMA ='); READLN (C); WRITE ('MASUKKAN NILAI KEDUA ='); READLN (D); PANGGIL (C,D); READLN; END.
  • 40.  
  • 41. PROGRAM JUMLAH; USES WINCRT; VAR NOMOR1, NOMOR2 : INTEGER; PROCEDURE JAWAB (KESATU, KEDUA: INTEGER); VAR HASIL: INTEGER; BEGIN HASIL:=KESATU+KEDUA; WRITELN ('HASILNYA ADALAH =',' ',HASIL); END; BEGIN WRITE ('MASUKKAN DUA ANGKA DALAM SPASI ='); READLN (NOMOR1, NOMOR2); JAWAB (NOMOR1, NOMOR2); READLN; END.
  • 42.  
  • 43. PARAMETER: Secara sederhana ” parameter merupakan var yg dituliskan di dalam kurung setelah nama prosedur atau fungsi ”. Parameter adl nama var yg dideklarasikan pada bag header prosedur. Kebanyakan program memerlukan pertukaran data/informasi antara prosedur (fungsi) dan titik dimana ia dipanggil. Penggunaan parameter menawarkan mekanisme pertukaran data/informasi tersbt. Prosedur dgn parameter diakses dgn cara memanggil namanya dr program utama atau modul program yg lain disertai parameternya.
  • 44. Berdasarkan penulisannya terdapat 2 jenis parameter, yaitu : 1. parameter aktual (actual parameter) .. parameter aktual adalah parameter yang disertakan pada saat pemanggilan prosedur/fungsi tersebut di blok program utama. 2. parameter formal (formal parameter) Parameter formal adalah parameter yang disertakan/dituliskan pada saat pendeklarasian prosedur/fungsi itu sendiri Tiap-tiap parameter aktual berpasangan dgn parameter formal yg bersesuaian.
  • 45. Aturan yg harus diperhatikan dlm korespondensi satu2 antara parameter aktual dan parameter formal adl: 1. jumlah parameter aktual pada pemanggilan prosedur harus sama dgn jumlah parameter formal pada deklarasi prosedurnya. 2. tiap parameter aktual harus bertipe sama dgn tipe parameter formal yg bersesuaian. 3. tiap parameter aktual harus diekspresikan dgn cara yg taat-asas dgn parameter formal yg bersesuaian, bergantung pada jenis parameter formal.
  • 46. PROGRAM TESTNILAI; USES WINCRT; VAR X,Y: INTEGER; PROCEDURE NOEFFECT (X,Y:INTEGER); BEGIN X:=Y; Y:=0; WRITELN ( X , Y ); END; BEGIN X:=1; Y:=2; WRITELN (X,Y); NOEFFECT (X,Y); WRITELN (X,Y); END.
  • 48. Berdasarkan tujuannya, terdapat 3 jenis parameter formal yg disertakan dlm prosedur/fungsi, yaitu : 1. Parameter masukan (input parameter) 2. Parameter keluaran (output parameter) 3.parameter masukan/keluaran (input/output parameter) Parameter masukan adl parameter yg nilainya berfungsi sbagi masukan untuk prosedur. Pd bhs pemrograman parameter masukan sering dinamakan parameter nilai . Parameter keluaran adl parameter yg menampug keluaran yg dihaslkan prosedur. Parameter masukan/keluaran adl parameter yg berfungsi sbagai masukan sekaligus sebagai keluaran bagi prosedur. Parameter masukan/keluaran biasa disbt parameter reference (parameter acuan).
  • 49. Pada parameter masukan, nilai parameter aktual diisikan kedlm parameter formal. Nilai ini digunakan dlm badan prosedur. Nilai yg dinyatakan dlm parameter masukan tdk bisa dikirim dlm arah sebaliknya (formal ke aktual) Perubahan nilai parameter dlm bdn prosedur tdk mengubah nilai parameter aktual, karena yg dipentingkan adalah nilainya. Oleh karena itu nama parameter aktual boleh berbeda dgn nama parameter formal yg bersesuaian.