SlideShare una empresa de Scribd logo
1 de 4
PROSEDUR (PROCEDURE)
Seringkali dalam membuat program besar, pemrogram perlu memecah program menjadi beberapa
subprogram yang lebih kecil. Tiap subprogram(modul) dapat dirancang oleh pemrogram selain orang
yang mengembangkan program utama. Modul yang sudah dirancang dapat dipasang ke dalam program
lain yang membutuhkan.

Keuntungan Menggunakan Procedure :
1. Untuk aktivitas yang harus dilakukan lebih dari sekali, cukup ditulis sekali sehingga dapat
mengurangi panjang program.
2. Kemudahan menulis dan mencari kesalahan(debug) program Kemudahan menulis berguna jika
sebuah program dilaksanakan oleh satu tim pemrogram. Masalah dipecah menjadi beberapa
submasalah. Setiap submasalah ditulis ke dalam modul individual yang dikerjakan oleh orang
yang berbeda. Setelah selesai, semua modul diintegrasikan kembali menjadi program lengkap.
Program modular mudah dipahami dan mudah dicari kesalahannya karena setiap modul
melakukan aktivitas spesifik.

STRUKTUR PROSEDUR
1. Bagian Header -> nama prosedur dan komentar yang menjelaskan spesifikasi prosedur, nama
prosedur sebaiknya diawali kata kerja, misalnya Hitung_Luas, Tukar, CariMaks.
2. Bagian Kamus ->berisi variable yang dibutuhkan oleh Procedure.
3. Badan Prosedur (Deskripsi)
PROCEDURE Nama_Procedure(Parameter);
Var …..; {Kamus}
Begin
{Deskripsi/isi prosedure}
End;

PEMANGGILAN PROSEDUR
Prosedur tidak bisa dieksekusi langsung. Instruksi pada prosedur bisa dilaksanakan jika prosedur diakses.
Prosedur diakses dengan memanggil namanya dari program pemanggil (program utama atau modul
program lain).
NAMA_PROSEDUR
Ketika nama prosedur dipanggil, kendali program berpindah ke prosedur tersebut. Setelah semua
instruksi prosedur selesai dilaksanakan, kendali program berpindah kembali ke program pemanggil.
Dalam program pemanggil, harus mendeklarasikan Nama_Procedure (header) dalam bagian deklarasi
supaya dikenali oleh program pemanggil dan mengetahui cara mengaksesnya..
Contoh1 :
Program Coba_Procedure;
Uses Wincrt;
Procedure Tampil_Tulisan; {Header Procedure}
Begin {awal blok Procedure}
Writeln(‘Saya Sedang Mencoba Procedure’); {Deskripsi}
End; {akhir blok Procedure}
Begin {awal blok Program Utama}
Tampil_Tulisan; {Memanggil Procedure}
End. {akhir blok Program Utama}
Contoh2 :
Program Procedure_Dengan_Variable;
Uses Wincrt;
{Berikut ini Contoh Membuat procedure dengan Variable}
Procedure Kali;
Var X,Y:REAL; {Variable yg dibutuhkan Procedure}
Begin {awal blok procedure}
Write(‘Input Bilangan Pertama = ‘);Readln(X);
Write(‘Input Bilangan Kedua = ‘);Readln(Y);
Write(‘Hasil Perkalian = ‘,X*Y:10:0);
End; {akhir blok procedure}
Begin {awal blok Program Utama}
CLRSCR; {Membersihkan Layar}
KALI; {Memanggil Procedure}
End. {akhir blok Program Utama}

Contoh3 :
Program Procedure_Dengan_Parameter;
Uses Wincrt;
Var X,Y :REAL;{Variable Program Utama}
{Berikut ini Contoh Membuat procedure dengan Parameter}
Procedure Kali(A,B:REAL);
Begin
Write(‘Hasil Perkalian = ‘,A*B:10:0);
End;
Begin
CLRSCR; {Membersihkan Layar}
Write(‘Input Bilangan Pertama = ‘);Readln(X);
Write(‘Input Bilangan Kedua = ‘);Readln(Y);
KALI(X,Y); {Memanggil Procedure dengan Parameter}
End.

FUNGSI (FUNCTION)
Function mengembalikan nilai, hampir sama seperti prosedur dengan parameter output tetapi
outputnya tidak ditampung oleh sebuah parameter / variabel melainkan dikembalikan / dikirimkan ke
program utama.

STRUKTUR FUNCTION
1. Bagian Header -> nama fungsi dan komentar yang menjelaskan spesifikasi fungsi, nama fungsi
sebaiknya diawali kata kerja, misalnya Hitung_Luas, Tukar, CariMaks.
2. Bagian Kamus ->berisi variable yang dibutuhkan oleh fungsi.
3. Badan Fungsi (Deskripsi)
FUNCTION Nama_Function(Parameter):Tipe Hasil;
Var …..; {Kamus}
Begin
{Deskripsi/isi function}
End;

Tipe_Hasil : integer, real, boolean, string, atau tipe_bentukan seperti record
Cara Pemanggilan Function sama dengan cara Pemanggilan Procedure.
Contoh1 :
Program Fungsi_Konversi;
Uses Wincrt;
Var masukan : integer; {variable yg dibutuhkan Program Utama}
Function KONV(I:Longint):STRING {membuat Function dg Parameter, dan Nilai Balik bertipe string}
Var
S:string; {variable yg dibutuhkan Function}
Begin {awal Blok Function}
STR(I,S);
KONV:=S;
END; {akhir Blok Function}
Begin {awal blok Program Utama}
Write(‘Masukkan Angka = ‘);readln(masukan);
Write(‘Hasil String = ‘,KONV(masukan); {memanggil Function KONV}
End. {akhir blok Program Utama}

Contoh2 :
Program Fungsi_Perkalian;
Uses Wincrt;
Var A,B : integer; {variable yg dibutuhkan Program Utama}
Function KALI(P,Q:integer):REAL {membuat Function dg Parameter, dan Nilai Balik bertipe REAL}
Begin {awal Blok Function}
KALI:=P*Q;
END; {akhir Blok Function}
Begin {awal blok Program Utama}
Write(‘Masukkan Angka Pertama = ‘);readln(A);
Write(‘Masukkan Angka Kedua = ‘);readln(B);
Write(‘Hasil Perkalian = ‘,KALI(A,B):5:0); {memanggil Function KALI}
End. {akhir blok Program Utama}
Contoh3 :
Program Fungsi_Decimal_Ke_Binear;
Uses Wincrt;
Var isi : integer; {variable yg dibutuhkan Program Utama}
Function KONV(I:longint):String {membuat Function dg Parameter, dan Nilai Balik bertipe STRING}
Var
S:string; {variable yg dibutuhkan Function}
Begin {awal Blok Function}
STR(I,S);
KONV:=S;
End; {akhir Blok Function}
Function binear(intangka : integer): string;
Var
intnilai :longint;
intlen :integer;
j
:integer;
strhasil :string;
strend :string[1];
strsub : string;
Begin
strhasil := '';
strend := '';
strsub := '';
repeat
intnilai := intangka mod 2;
intangka := intangka div 2;
strhasil := strhasil + konv(intnilai);
until intangka = 1;
intlen := length(strhasil);
strend := konv (intangka);
for j := intlen downto 1 do
strsub := strsub + copy(strhasil, j, 1);
binear := strend + strsub;
End;
Begin {awal blok Program Utama}
Writeln(‘Berikut ini Program untuk Merubah Decimal Menjadi Binear ‘);
Write(‘Masukkan Angka = ‘);readln(isi);
Write(‘Hasil Binearnya = ‘,BINEAR(isi)); {memanggil FunctionBINEAR}
End. {akhir blok Program Utama}

Más contenido relacionado

La actualidad más candente

Metode enkripsi caesar cipher
Metode enkripsi caesar cipherMetode enkripsi caesar cipher
Metode enkripsi caesar cipher
Bobby Chandra
 
Struktur data 05 (bs avl tree)
Struktur data 05 (bs avl tree)Struktur data 05 (bs avl tree)
Struktur data 05 (bs avl tree)
Sunarya Marwah
 
Kinerja komputer
Kinerja komputer Kinerja komputer
Kinerja komputer
Lela Warni
 

La actualidad más candente (20)

Makalah prosedur dan fungsi
Makalah prosedur dan fungsiMakalah prosedur dan fungsi
Makalah prosedur dan fungsi
 
Metode enkripsi caesar cipher
Metode enkripsi caesar cipherMetode enkripsi caesar cipher
Metode enkripsi caesar cipher
 
Use skenario
Use skenarioUse skenario
Use skenario
 
Pemrograman Mobile Unit 2 : Dasar-dasar Flutter
Pemrograman Mobile Unit 2 : Dasar-dasar FlutterPemrograman Mobile Unit 2 : Dasar-dasar Flutter
Pemrograman Mobile Unit 2 : Dasar-dasar Flutter
 
Fungsi (function)
Fungsi (function)Fungsi (function)
Fungsi (function)
 
Minggu 1 - Using Alice 3
Minggu 1 - Using Alice 3Minggu 1 - Using Alice 3
Minggu 1 - Using Alice 3
 
Struktur data 05 (bs avl tree)
Struktur data 05 (bs avl tree)Struktur data 05 (bs avl tree)
Struktur data 05 (bs avl tree)
 
Kinerja komputer
Kinerja komputer Kinerja komputer
Kinerja komputer
 
9.kompresi teks
9.kompresi teks9.kompresi teks
9.kompresi teks
 
Pushdown Automata
Pushdown Automata Pushdown Automata
Pushdown Automata
 
Kriptografi - Steganografi
Kriptografi - SteganografiKriptografi - Steganografi
Kriptografi - Steganografi
 
Data Management (Data Mining Klasifikasi)
Data Management (Data Mining Klasifikasi)Data Management (Data Mining Klasifikasi)
Data Management (Data Mining Klasifikasi)
 
Logika lanjutan
Logika lanjutanLogika lanjutan
Logika lanjutan
 
Laporan Praktikum Web dengan PHP
Laporan Praktikum Web dengan PHPLaporan Praktikum Web dengan PHP
Laporan Praktikum Web dengan PHP
 
kriptografi hill cipher
kriptografi hill cipherkriptografi hill cipher
kriptografi hill cipher
 
31.pembangkit bilangan acak semu (bagian 1)
31.pembangkit bilangan acak semu (bagian 1)31.pembangkit bilangan acak semu (bagian 1)
31.pembangkit bilangan acak semu (bagian 1)
 
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
 
Algoritma flowchart
Algoritma flowchartAlgoritma flowchart
Algoritma flowchart
 
Rudi hartanto tutorial 02 rapid miner 5.3 linear regression
Rudi hartanto   tutorial 02 rapid miner 5.3 linear regressionRudi hartanto   tutorial 02 rapid miner 5.3 linear regression
Rudi hartanto tutorial 02 rapid miner 5.3 linear regression
 
Algoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur DataAlgoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur Data
 

Similar a Modul3 algoritma dan pemrograman procedure dan_function

Pascal - Pendahuluan1.txt - Notepad.pdf
Pascal - Pendahuluan1.txt - Notepad.pdfPascal - Pendahuluan1.txt - Notepad.pdf
Pascal - Pendahuluan1.txt - Notepad.pdf
Jurnal IT
 
Bahasa pemrograman pascal
Bahasa pemrograman pascalBahasa pemrograman pascal
Bahasa pemrograman pascal
Nadya Olivia
 
Konsep dasar pemrograman pascal materi i
Konsep dasar pemrograman pascal materi iKonsep dasar pemrograman pascal materi i
Konsep dasar pemrograman pascal materi i
laztorino
 
Konsep dasar pemrograman pascal
Konsep dasar pemrograman pascalKonsep dasar pemrograman pascal
Konsep dasar pemrograman pascal
bayyou
 
Jeni j2 me-bab11-topik-topik tambahan
Jeni j2 me-bab11-topik-topik tambahanJeni j2 me-bab11-topik-topik tambahan
Jeni j2 me-bab11-topik-topik tambahan
UNIVERSITY Of LAMPUNG
 
Ayo membuat program pascal
Ayo membuat program pascalAyo membuat program pascal
Ayo membuat program pascal
Hary Purwoko
 
JENI-J2ME-Bab11-Topik-topik Tambahan.pdf
JENI-J2ME-Bab11-Topik-topik Tambahan.pdfJENI-J2ME-Bab11-Topik-topik Tambahan.pdf
JENI-J2ME-Bab11-Topik-topik Tambahan.pdf
Jurnal IT
 

Similar a Modul3 algoritma dan pemrograman procedure dan_function (20)

Bab ii
Bab iiBab ii
Bab ii
 
PENGENALAN SSISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMAN
PENGENALAN SSISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMANPENGENALAN SSISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMAN
PENGENALAN SSISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMAN
 
Laporan praktikum dpk modul 1
Laporan praktikum dpk modul 1Laporan praktikum dpk modul 1
Laporan praktikum dpk modul 1
 
Algoritma pemrograman 13
Algoritma pemrograman 13Algoritma pemrograman 13
Algoritma pemrograman 13
 
Pengantar Algoritma Pemrograman II
Pengantar Algoritma Pemrograman IIPengantar Algoritma Pemrograman II
Pengantar Algoritma Pemrograman II
 
Pascal - Pendahuluan1.txt - Notepad.pdf
Pascal - Pendahuluan1.txt - Notepad.pdfPascal - Pendahuluan1.txt - Notepad.pdf
Pascal - Pendahuluan1.txt - Notepad.pdf
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Penggunaan prosedur dan fungsi pada pemrograman c++
Penggunaan prosedur dan fungsi pada pemrograman c++Penggunaan prosedur dan fungsi pada pemrograman c++
Penggunaan prosedur dan fungsi pada pemrograman c++
 
Materi : Chapter 1 Pemrograman Lanjut.pdf
Materi : Chapter 1 Pemrograman Lanjut.pdfMateri : Chapter 1 Pemrograman Lanjut.pdf
Materi : Chapter 1 Pemrograman Lanjut.pdf
 
Struktur data chapter_08
Struktur data chapter_08Struktur data chapter_08
Struktur data chapter_08
 
Bahasa pemrograman pascal
Bahasa pemrograman pascalBahasa pemrograman pascal
Bahasa pemrograman pascal
 
Konsep dasar pemrograman pascal materi i
Konsep dasar pemrograman pascal materi iKonsep dasar pemrograman pascal materi i
Konsep dasar pemrograman pascal materi i
 
Konsep dasar pemrograman pascal
Konsep dasar pemrograman pascalKonsep dasar pemrograman pascal
Konsep dasar pemrograman pascal
 
Jeni J2 Me Bab11 Topik Topik Tambahan
Jeni J2 Me Bab11 Topik Topik TambahanJeni J2 Me Bab11 Topik Topik Tambahan
Jeni J2 Me Bab11 Topik Topik Tambahan
 
Jeni j2 me-bab11-topik-topik tambahan
Jeni j2 me-bab11-topik-topik tambahanJeni j2 me-bab11-topik-topik tambahan
Jeni j2 me-bab11-topik-topik tambahan
 
Ayo membuat program pascal
Ayo membuat program pascalAyo membuat program pascal
Ayo membuat program pascal
 
Materi 5
Materi 5Materi 5
Materi 5
 
JENI-J2ME-Bab11-Topik-topik Tambahan.pdf
JENI-J2ME-Bab11-Topik-topik Tambahan.pdfJENI-J2ME-Bab11-Topik-topik Tambahan.pdf
JENI-J2ME-Bab11-Topik-topik Tambahan.pdf
 
Part 24 Perintah Record with
Part 24 Perintah Record withPart 24 Perintah Record with
Part 24 Perintah Record with
 
Modul Pascal.pdf
Modul Pascal.pdfModul Pascal.pdf
Modul Pascal.pdf
 

Más de Polytechnic State Semarang

Más de Polytechnic State Semarang (20)

Bab 2 Laporan Pembangkitan Sinyal Kontinyu
Bab 2 Laporan Pembangkitan Sinyal KontinyuBab 2 Laporan Pembangkitan Sinyal Kontinyu
Bab 2 Laporan Pembangkitan Sinyal Kontinyu
 
Operasi dasar matlab job 1
Operasi dasar matlab job 1Operasi dasar matlab job 1
Operasi dasar matlab job 1
 
Pengenalan Mathlab
Pengenalan MathlabPengenalan Mathlab
Pengenalan Mathlab
 
Gelombang FM dan AM
Gelombang FM dan AMGelombang FM dan AM
Gelombang FM dan AM
 
gambar tugas
gambar tugasgambar tugas
gambar tugas
 
Job 11 sebenarnya
Job 11 sebenarnyaJob 11 sebenarnya
Job 11 sebenarnya
 
Laporan praktikum jawaban 10 algoritma(1)
Laporan praktikum jawaban 10 algoritma(1)Laporan praktikum jawaban 10 algoritma(1)
Laporan praktikum jawaban 10 algoritma(1)
 
Kumpulan analisa
Kumpulan analisaKumpulan analisa
Kumpulan analisa
 
laporan praktikum jembatanwheatstone
laporan praktikum jembatanwheatstonelaporan praktikum jembatanwheatstone
laporan praktikum jembatanwheatstone
 
Laporan delta star milik rais 3.33.16.0.19
Laporan delta star milik rais 3.33.16.0.19Laporan delta star milik rais 3.33.16.0.19
Laporan delta star milik rais 3.33.16.0.19
 
Jobsheet 4 LOOPING( PENGULANGAN)
Jobsheet 4 LOOPING( PENGULANGAN)Jobsheet 4 LOOPING( PENGULANGAN)
Jobsheet 4 LOOPING( PENGULANGAN)
 
Laporan praktikum superposisi
Laporan praktikum superposisiLaporan praktikum superposisi
Laporan praktikum superposisi
 
Laporan Percobaan praktikum Hukum superposisi dan loop
Laporan Percobaan praktikum Hukum superposisi dan loopLaporan Percobaan praktikum Hukum superposisi dan loop
Laporan Percobaan praktikum Hukum superposisi dan loop
 
Transistor ( Versi sumber lain )
Transistor ( Versi sumber lain )Transistor ( Versi sumber lain )
Transistor ( Versi sumber lain )
 
Kelebihan dan kekurangan amplifier
Kelebihan dan kekurangan amplifierKelebihan dan kekurangan amplifier
Kelebihan dan kekurangan amplifier
 
Laporan Praktikum Hukum Loop
Laporan Praktikum Hukum LoopLaporan Praktikum Hukum Loop
Laporan Praktikum Hukum Loop
 
Percobaan Modulasi Frequensi
Percobaan Modulasi FrequensiPercobaan Modulasi Frequensi
Percobaan Modulasi Frequensi
 
Percobaan Praktikum Hukum kirchoff
Percobaan Praktikum Hukum kirchoff Percobaan Praktikum Hukum kirchoff
Percobaan Praktikum Hukum kirchoff
 
Laporan praktikum rangkaian listrik hukum ohm121
Laporan praktikum rangkaian listrik hukum ohm121Laporan praktikum rangkaian listrik hukum ohm121
Laporan praktikum rangkaian listrik hukum ohm121
 
Laporan praktikum rangkaian listrik hukum ohm
Laporan praktikum rangkaian listrik hukum ohmLaporan praktikum rangkaian listrik hukum ohm
Laporan praktikum rangkaian listrik hukum ohm
 

Último

Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
ssuser35630b
 
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
pipinafindraputri1
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
novibernadina
 

Último (20)

Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKAksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
 
power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"
 
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
 
Memperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptxMemperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptx
 
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
 
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
 
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdfModul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
 
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
 
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptxTEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
 
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptxBab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
 
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
 
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKAMODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
 
DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
 
Pengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, FigmaPengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, Figma
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
 
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTXAKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
 
Regresi Linear Kelompok 1 XI-10 revisi (1).pptx
Regresi Linear Kelompok 1 XI-10 revisi (1).pptxRegresi Linear Kelompok 1 XI-10 revisi (1).pptx
Regresi Linear Kelompok 1 XI-10 revisi (1).pptx
 
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat UI 2024
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat  UI 2024Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat  UI 2024
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat UI 2024
 

Modul3 algoritma dan pemrograman procedure dan_function

  • 1. PROSEDUR (PROCEDURE) Seringkali dalam membuat program besar, pemrogram perlu memecah program menjadi beberapa subprogram yang lebih kecil. Tiap subprogram(modul) dapat dirancang oleh pemrogram selain orang yang mengembangkan program utama. Modul yang sudah dirancang dapat dipasang ke dalam program lain yang membutuhkan. Keuntungan Menggunakan Procedure : 1. Untuk aktivitas yang harus dilakukan lebih dari sekali, cukup ditulis sekali sehingga dapat mengurangi panjang program. 2. Kemudahan menulis dan mencari kesalahan(debug) program Kemudahan menulis berguna jika sebuah program dilaksanakan oleh satu tim pemrogram. Masalah dipecah menjadi beberapa submasalah. Setiap submasalah ditulis ke dalam modul individual yang dikerjakan oleh orang yang berbeda. Setelah selesai, semua modul diintegrasikan kembali menjadi program lengkap. Program modular mudah dipahami dan mudah dicari kesalahannya karena setiap modul melakukan aktivitas spesifik. STRUKTUR PROSEDUR 1. Bagian Header -> nama prosedur dan komentar yang menjelaskan spesifikasi prosedur, nama prosedur sebaiknya diawali kata kerja, misalnya Hitung_Luas, Tukar, CariMaks. 2. Bagian Kamus ->berisi variable yang dibutuhkan oleh Procedure. 3. Badan Prosedur (Deskripsi) PROCEDURE Nama_Procedure(Parameter); Var …..; {Kamus} Begin {Deskripsi/isi prosedure} End; PEMANGGILAN PROSEDUR Prosedur tidak bisa dieksekusi langsung. Instruksi pada prosedur bisa dilaksanakan jika prosedur diakses. Prosedur diakses dengan memanggil namanya dari program pemanggil (program utama atau modul program lain). NAMA_PROSEDUR Ketika nama prosedur dipanggil, kendali program berpindah ke prosedur tersebut. Setelah semua instruksi prosedur selesai dilaksanakan, kendali program berpindah kembali ke program pemanggil. Dalam program pemanggil, harus mendeklarasikan Nama_Procedure (header) dalam bagian deklarasi supaya dikenali oleh program pemanggil dan mengetahui cara mengaksesnya.. Contoh1 : Program Coba_Procedure; Uses Wincrt; Procedure Tampil_Tulisan; {Header Procedure} Begin {awal blok Procedure} Writeln(‘Saya Sedang Mencoba Procedure’); {Deskripsi} End; {akhir blok Procedure} Begin {awal blok Program Utama} Tampil_Tulisan; {Memanggil Procedure} End. {akhir blok Program Utama}
  • 2. Contoh2 : Program Procedure_Dengan_Variable; Uses Wincrt; {Berikut ini Contoh Membuat procedure dengan Variable} Procedure Kali; Var X,Y:REAL; {Variable yg dibutuhkan Procedure} Begin {awal blok procedure} Write(‘Input Bilangan Pertama = ‘);Readln(X); Write(‘Input Bilangan Kedua = ‘);Readln(Y); Write(‘Hasil Perkalian = ‘,X*Y:10:0); End; {akhir blok procedure} Begin {awal blok Program Utama} CLRSCR; {Membersihkan Layar} KALI; {Memanggil Procedure} End. {akhir blok Program Utama} Contoh3 : Program Procedure_Dengan_Parameter; Uses Wincrt; Var X,Y :REAL;{Variable Program Utama} {Berikut ini Contoh Membuat procedure dengan Parameter} Procedure Kali(A,B:REAL); Begin Write(‘Hasil Perkalian = ‘,A*B:10:0); End; Begin CLRSCR; {Membersihkan Layar} Write(‘Input Bilangan Pertama = ‘);Readln(X); Write(‘Input Bilangan Kedua = ‘);Readln(Y); KALI(X,Y); {Memanggil Procedure dengan Parameter} End. FUNGSI (FUNCTION) Function mengembalikan nilai, hampir sama seperti prosedur dengan parameter output tetapi outputnya tidak ditampung oleh sebuah parameter / variabel melainkan dikembalikan / dikirimkan ke program utama. STRUKTUR FUNCTION 1. Bagian Header -> nama fungsi dan komentar yang menjelaskan spesifikasi fungsi, nama fungsi sebaiknya diawali kata kerja, misalnya Hitung_Luas, Tukar, CariMaks. 2. Bagian Kamus ->berisi variable yang dibutuhkan oleh fungsi. 3. Badan Fungsi (Deskripsi) FUNCTION Nama_Function(Parameter):Tipe Hasil; Var …..; {Kamus} Begin {Deskripsi/isi function} End; Tipe_Hasil : integer, real, boolean, string, atau tipe_bentukan seperti record
  • 3. Cara Pemanggilan Function sama dengan cara Pemanggilan Procedure. Contoh1 : Program Fungsi_Konversi; Uses Wincrt; Var masukan : integer; {variable yg dibutuhkan Program Utama} Function KONV(I:Longint):STRING {membuat Function dg Parameter, dan Nilai Balik bertipe string} Var S:string; {variable yg dibutuhkan Function} Begin {awal Blok Function} STR(I,S); KONV:=S; END; {akhir Blok Function} Begin {awal blok Program Utama} Write(‘Masukkan Angka = ‘);readln(masukan); Write(‘Hasil String = ‘,KONV(masukan); {memanggil Function KONV} End. {akhir blok Program Utama} Contoh2 : Program Fungsi_Perkalian; Uses Wincrt; Var A,B : integer; {variable yg dibutuhkan Program Utama} Function KALI(P,Q:integer):REAL {membuat Function dg Parameter, dan Nilai Balik bertipe REAL} Begin {awal Blok Function} KALI:=P*Q; END; {akhir Blok Function} Begin {awal blok Program Utama} Write(‘Masukkan Angka Pertama = ‘);readln(A); Write(‘Masukkan Angka Kedua = ‘);readln(B); Write(‘Hasil Perkalian = ‘,KALI(A,B):5:0); {memanggil Function KALI} End. {akhir blok Program Utama} Contoh3 : Program Fungsi_Decimal_Ke_Binear; Uses Wincrt; Var isi : integer; {variable yg dibutuhkan Program Utama} Function KONV(I:longint):String {membuat Function dg Parameter, dan Nilai Balik bertipe STRING} Var S:string; {variable yg dibutuhkan Function} Begin {awal Blok Function} STR(I,S); KONV:=S; End; {akhir Blok Function} Function binear(intangka : integer): string; Var intnilai :longint; intlen :integer; j :integer; strhasil :string; strend :string[1]; strsub : string; Begin strhasil := ''; strend := '';
  • 4. strsub := ''; repeat intnilai := intangka mod 2; intangka := intangka div 2; strhasil := strhasil + konv(intnilai); until intangka = 1; intlen := length(strhasil); strend := konv (intangka); for j := intlen downto 1 do strsub := strsub + copy(strhasil, j, 1); binear := strend + strsub; End; Begin {awal blok Program Utama} Writeln(‘Berikut ini Program untuk Merubah Decimal Menjadi Binear ‘); Write(‘Masukkan Angka = ‘);readln(isi); Write(‘Hasil Binearnya = ‘,BINEAR(isi)); {memanggil FunctionBINEAR} End. {akhir blok Program Utama}