SlideShare a Scribd company logo
1 of 32
Topik 9
Prosedur
Algoritma & Struktur Data
PS. Manajemen Informatika
Sub Topik
1. Konsep Pemrograman Modular
2. Prosedur
3. Nama Lokal & Global
4. Parameter
5. Parameter Masukan
6. Parameter Keluaran
7. Parameter Masukan/Keluaran
Tujuan
Tujuan Instruksional Umum :
Mahasiswa diharapkan mampu membuat algoritma
dengan prosedur
Tujuan Instruksional Khusus :
 Mahasiswa mampu memahami konsep
pemrograman modular
 Mahasiswa mampu memahami penggunaan nama
lokal & global
 Mahasiswa mampu memahami penggunaan
parameter
 Mahasiswa mampu membuat algoritma dengan
prosedur
Konsep Pemrograman Modular
 Program yang besar lebih sulit dimengerti dan lebih sulit
lagi dalam melakukan pelacakan kesalahan
 Program sebaiknya dipecah menjadi beberapa subprogram
yang lebih kecil
 Subprogram yang baik adalah subprogram yang
independen dari program utama sehingga programnya
dapat dirancang tanpa mempertimbangkan konteks
dimana ia digunakan
 Teknik pemecahan program menjadi sejumlah subprogram
disebut teknik pemrograman modular
 Subprogram disebut juga dengan
subrutin, modul, prosedur atau fungsi
 Keuntungan pemrograman modular
• Menghindari penulisan teks program yang sama secara
berulangkali, sehingga dapat mengurangi panjang
program
• Kemudahan menulis dan menemukan kesalahan
program
 Terdapat dua bentuk subprogram, yaitu prosedur
(procedure) dan fungsi (function)
 Struktur subprogram adalah:
1. Bagian judul
2. Bagian deklarasi
3. Bagian badan program
Prosedur
 Prosedur adalah modul program yang mengerjakan tugas
yang spesifik dan menghasilkan suatu efek netto, dengan
membandingkan keadaan awal dan keadaan akhir pada
pelaksanaan sebuah prosedur
 Struktur prosedur sama dengan struktur algoritma biasa
 Setiap prosedur mempunyai nama yang unik
 Nama prosedur sebaiknya diawali dengan kata kerja karena
prosedur berisi suatu aktivitas
 Prosedur diakses dengan cara memanggil namanya dari
program pemanggil, misalnya program utama atau dari modul
program lainnya
 Jika prosedur tanpa parameter, maka pemanggilannya cukup
dengan namanya saja :
NamaProsedur
 Notasi algoritmik prosedur :
PROCEDURE NamaProsedur(deklarasi parameter jika ada)
{ Spesifikasi prosedur, berisi penjelasan tentang apa yang
dilakukan oleh prosedur ini.
K. Awal : keadaan sebelum prosedur dilaksanakan
K. Akhir : keadaan setelah prosedur dilaksanakan }
DEKLARASI
{ Semua nama yang dipakai didalam prosedur dan hanya berlaku
lokal didalam prosedur didefinisikan disini }
DESKRIPSI:
{ badan prosedur, berisi urutan instruksi }
Contoh Soal
 Kasus 1 :
Buatlah prosedur untuk menghitung luas segitiga dan program utama
untuk memanggil prosedur tersebut!
English Structure
Prosedur Luas Segitiga:
Input : -
Output : luas
Proses :
1. Menghitung luas = 0.5* (alas * tinggi)
2. Mencetak nilai luas
Program Utama:
Input : alas, tinggi
Output : -
Proses :
1. Membaca nilai alas yang dimasukkan oleh user
2. Membaca nilai tinggi yang dimasukkan oleh user
3. Memanggil prosedur untuk menghitung luas segitiga
Pseudocode untuk Prosedur :
PROCEDURE LuasSegitiga
{ Menghitung luas segitiga, luas = (alas x tinggi) / 2
K. Awal : sembarang
K. Akhir : luas segitiga tercetak }
DEKLARASI
luas : real
DESKRIPSI:
luas  0.5 * (alas * tinggi)
output(luas)
Pseudocode untuk Program Utama :
ALGORITMA Segitiga
{ Menghitung luas segitiga dengan prosedur }
DEKLARASI
alas, tinggi : real
procedure LuasSegitiga
{ Menghitung luas segitiga, luas = (alas x tinggi)/2 }
DESKRIPSI:
input(alas, tinggi)
LuasSegitiga
Nama Lokal & Global
 Nama lokal adalah nama-nama yang dideklarasikan
didalam prosedur dan hanya berlaku didalam prosedur itu
sendiri
 Nama global adalah nama-nama yang dideklarasikan
didalam program utama dan berlaku baik didalam
program utama maupun didalam prosedur yang dipanggil
 Pada contoh 1 diatas :
• Nama lokal : luas
• Nama global : alas, tinggi
 Pendeklarasian nama global dilakukan jika suatu peubah
digunakan di seluruh bagian program (termasuk didalam
prosedur)
 Pendeklarasian nama lokal dilakukan jika suatu peubah
hanya digunakan didalam prosedur saja
 Nama yang dideklarasikan di dalam prosedur dan di
dalam program utama mungkin sama, namun sifatnya
tidak berubah
 Usahakan menggunakan nama global sedikit mungkin
 Penggunaan nama lokal menguntungkan karena dapat
meminimumkan usaha pencarian kesalahan yang
diakibatkan oleh program tersebut
Parameter
 Parameter adalah nama-nama peubah yang dideklarasikan
pada bagian header prosedur
 Program memerlukan pertukaran informasi/data antara
prosedur dengan bagian yang memanggilnya
 Parameter aktual (argumen) adalah parameter yang disertakan
pada waktu pemanggilan prosedur
 Parameter formal adalah parameter yang dideklarasikan
didalam bagian header prosedur itu sendiri
 Ketika prosedur dipanggil, parameter aktual menggantikan
parameter formal
 Tiap-tiap parameter aktual berpasangan dengan parameter
formal yang bersesuaian
 Cara memanggil prosedur dengan parameter :
NamaProsedur (parameter aktual)
 Aturan yang harus diperhatikan dalam hubungan satu-satu
antara parameter aktual dan parameter formal adalah :
• Jumlah parameter aktual pada pemanggilan prosedur
harus sama dengan jumlah parameter formal pada
deklarasi prosedurnya
• Tiap parameter aktual harus bertipe sama dengan tipe
parameter formal yang bersesuaian
• Tiap parameter aktual harus diekspresikan dalam cara
yang taat-asas dengan parameter formal yang
bersesuaian, bergantung pada jenis parameter formal
 Terdapat tiga jenis parameter formal yaitu :
1. Parameter masukan (input parameter)
2. Parameter keluaran (output parameter)
3. Parameter masukan/keluaran (input/output parameter)
Parameter Masukan
 Parameter masukan adalah parameter yang nilainya berlaku
sebagai masukan untuk prosedur
 Parameter masukan disebut juga parameter nilai
 Nilai yang dinyatakan oleh parameter masukan tidak dapat
dikirim balik ke bagian yang memanggil
 Perubahan nilai parameter didalam badan prosedur tidak
mengubah nilai parameter aktual
 Parameter masukan dideklarasikan di dalam header prosedur
 Parameter masukan dinyatakan dengan kata kunci input
 Nama parameter aktual boleh tidak sama dengan nama
parameter formal yang bersesuaian
Contoh Soal
 Kasus 2 :
Buatlah prosedur untuk menghitung luas segitiga dengan parameter
masukan dan program utama untuk memanggil prosedur tersebut!
English Structure
Prosedur Luas Segitiga:
Input : alas, tinggi
Output : luas
Proses :
1. Menghitung luas = 0.5* (alas * tinggi)
2. Mencetak nilai luas
Program Utama:
Input : alas, tinggi
Output : -
Proses :
1. Membaca nilai alas yang dimasukkan oleh user
2. Membaca nilai tinggi yang dimasukkan oleh user
3. Memanggil prosedur untuk menghitung luas segitiga
Pseudocode untuk Prosedur :
PROCEDURE LuasSegitiga(input alas, tinggi : real)
{ Menghitung luas segitiga, luas = (alas x tinggi) / 2
K. Awal : sembarang
K. Akhir : luas segitiga tercetak }
DEKLARASI
luas : real
DESKRIPSI:
luas  0.5 * (alas * tinggi)
output(luas)
Pseudocode untuk Program Utama :
ALGORITMA Segitiga
{ Menghitung luas segitiga dengan prosedur berparameter}
DEKLARASI
alas, tinggi : real
procedure LuasSegitiga(input alas, tinggi : real)
{ Menghitung luas segitiga, luas = (alas x tinggi)/2 }
DESKRIPSI:
input(alas, tinggi)
LuasSegitiga(alas, tinggi)
Contoh Soal
 Kasus 3 :
Buatlah prosedur untuk menghitung luas segitiga dengan parameter
aktual dan parameter formal tidak sama!
English Structure
Prosedur Luas Segitiga:
Input : a, t
Output : luas
Proses :
1. Menghitung luas = 0.5* (a * t)
2. Mencetak nilai luas
Program Utama:
Input : alas, tinggi
Output : -
Proses :
1. Membaca nilai alas yang dimasukkan oleh user
2. Membaca nilai tinggi yang dimasukkan oleh user
3. Memanggil prosedur untuk menghitung luas segitiga
Pseudocode untuk Prosedur :
PROCEDURE LuasSegitiga(input a, t : real)
{ Menghitung luas segitiga, luas = (alas x tinggi) / 2
K. Awal : sembarang
K. Akhir : luas segitiga tercetak }
DEKLARASI
luas : real
DESKRIPSI:
luas  0.5 * (a * t)
output(luas)
Pseudocode untuk Program Utama :
ALGORITMA Segitiga
{ Menghitung luas segitiga dengan prosedur berparameter}
DEKLARASI
alas, tinggi : real
procedure LuasSegitiga(input a, t : real)
{ Menghitung luas segitiga, luas = (alas x tinggi)/2 }
DESKRIPSI:
input(alas, tinggi)
LuasSegitiga(alas, tinggi)
Parameter Keluaran
 Parameter keluaran adalah paramater yang menampung
keluaran yang dihasilkan oleh prosedur
 Parameter keluaran disebut juga parameter acuan
 Nilai dari parameter aktual akan tetap berada di parameter
aktual meskipun prosedur telah selesai dilaksanakan
 Parameter keluaran dideklarasikan di dalam header
prosedur
 Parameter keluaran dinyatakan dengan kata kunci output
Contoh Soal
 Kasus 4 :
Buatlah prosedur untuk menghitung luas segitiga dengan parameter
masukan dan parameter keluaran!
English Structure
Prosedur Luas Segitiga:
Input : a, t
Output : l
Proses :
1. Menghitung l= 0.5* (a * t)
Program Utama:
Input : alas, tinggi
Output : luas
Proses :
1. Membaca nilai alas yang dimasukkan oleh user
2. Membaca nilai tinggi yang dimasukkan oleh user
3. Memanggil prosedur untuk menghitung luas segitiga
4. Mencetak nilai luas
Pseudocode untuk Prosedur :
PROCEDURE LuasSegitiga(input a, t : real, output l : real)
{ Menghitung luas segitiga, luas = (alas x tinggi) / 2
K. Awal : sembarang
K. Akhir : luas segitiga tercetak }
DEKLARASI
(tidak ada)
DESKRIPSI:
l  0.5 * (a * t)
Pseudocode untuk Program Utama :
ALGORITMA Segitiga
{ Menghitung luas segitiga dengan prosedur berparameter}
DEKLARASI
alas, tinggi, luas : real
procedure LuasSegitiga(input a, t : real, output l : real)
{ Menghitung luas segitiga, luas = (alas x tinggi)/2 }
DESKRIPSI:
input(alas, tinggi)
LuasSegitiga(alas, tinggi, luas)
output(luas)
Parameter Masukan/Keluaran
 Parameter masukan/keluaran adalah paramater yang
berfungsi sebagai masukan sekaligus keluaran bagi prosedur
tersebut
 Parameter masukan/keluaran disebut juga parameter acuan
 Jika parameter aktual nilainya diubah dalam badan
prosedur, maka sesudah pemanggilan prosedur nilai
parameter aktual di titik pemanggilan juga berubah
 Parameter aktual harus berupa peubah, tidak boleh berupa
konstanta atau ekspresi
 Parameter masukan/keluaran dideklarasikan di dalam header
prosedur
 Parameter keluaran dinyatakan dengan kata kunci
input/output
Contoh Soal
 Kasus 5 :
Buatlah program untuk mencetak angka 1 sampai 10, dengan prosedur
menaikkan angka sebanyak 1 angka!
English Structure
Prosedur Increment:
Input : x
Output : x
Proses :
1. Menjumlahkan x = x + 1
Program Utama:
Input : -
Output : x
Proses :
1. Mengisi variabel x dengan nilai awal = 1
2. Ulangi
a. Mencetak angka x
b. Memanggil prosedur increment
Sampai x > 10
Pseudocode untuk Prosedur :
PROCEDURE Increment(input/output x : integer)
{ Menaikkan nilai x sebesar 1
K. Awal : x sudah terdefinisi nilainya
K. Akhir : nilai x bertambah 1 }
DEKLARASI
{ tidak ada }
DESKRIPSI:
x  x + 1
Pseudocode untuk Program Utama :
ALGORITMA CetakAngka
{ Mencetak angka dari 1 sampai 10 }
DEKLARASI
x : integer
procedure Increment(input/output x : integer)
{ Menaikkan nilai x sebesar 1 }
DESKRIPSI:
x  1
repeat
output(x)
Increment(x)
until x > 10
Rangkuman
 Teknik pemrograman yang baik : memecah program menjadi
beberapa prosedur
 Prosedur sebaiknya ditulis dengan parameter untuk mengurangi
kebutuhan penggunaan nama global
 Bila prosedur menghasilkan keluaran yang digunakan oleh
program pemanggil, gunakan parameter keluaran
 Bila prosedur tidak menghasilkan keluaran atau keluaran hanya
digunakan oleh prosedur itu sendiri, gunakan parameter masukan
 Bila prosedur menerima masukan sekaligus keluaran pada
parameter yang sama , gunakan parameter masukan/keluaran
Latihan Soal
 Kasus 1:
Buatlah algoritma program utama dengan prosedur untuk
menghitung luas persegipanjang!
 Kasus 2:
Buatlah algoritma program utama dengan prosedur untuk
menghitung rata-rata sehingga dapat menampilkan hasil
perhitungan berikut!
Misalkan, user memasukkan angka = 5, maka proses
yang dilakukan adalah :
rata-rata = (1 + 2 + 3 + 4 + 5)/5 = 15/5 = 3
REFERENSI
1. Budi Sutedjo, Michael A.N. 2000. “Algoritma dan Teknik
Pemrograman”. Yogyakarta: ANDI OFFSET.
2. Fathul Wahid. 2004. “Dasar-Dasar Algoritma dan
Pemrograman”. Yogyakarta: ANDI OFFSET.
3. Rinaldi Munir, Leoni Lidya. 2002. “Algoritma &
Pemrograman Dalam Bahasa Pascal dan C Buku 1”.
Bandung: Informatika.
4. Rinaldi Munir, Leoni Lidya. 2002. “Algoritma &
Pemrograman Dalam Bahasa Pascal dan C Buku 2”.
Bandung: Informatika.

More Related Content

What's hot

Bab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi booleanBab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi boolean
Cliquerz Javaneze
 
proposisi majemuk & Tautologi
 proposisi majemuk & Tautologi proposisi majemuk & Tautologi
proposisi majemuk & Tautologi
Huzairi Zairi
 

What's hot (20)

Graf Pohon
Graf PohonGraf Pohon
Graf Pohon
 
Bab 4 aljabar boolean
Bab 4 aljabar booleanBab 4 aljabar boolean
Bab 4 aljabar boolean
 
Modul maple untuk metnum 2014
Modul maple untuk metnum 2014Modul maple untuk metnum 2014
Modul maple untuk metnum 2014
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorial
 
Pengenalan c++ bagian 3
Pengenalan c++ bagian 3Pengenalan c++ bagian 3
Pengenalan c++ bagian 3
 
Modul belajar java I/O (Input/Ouptut)
Modul belajar java I/O (Input/Ouptut)Modul belajar java I/O (Input/Ouptut)
Modul belajar java I/O (Input/Ouptut)
 
Data Mining - Naive Bayes
Data Mining - Naive BayesData Mining - Naive Bayes
Data Mining - Naive Bayes
 
Graf
GrafGraf
Graf
 
Fungsi Pembangkit
Fungsi PembangkitFungsi Pembangkit
Fungsi Pembangkit
 
Bab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi booleanBab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi boolean
 
Matematika Diskrit - 03 himpunan - 05
Matematika Diskrit - 03 himpunan - 05Matematika Diskrit - 03 himpunan - 05
Matematika Diskrit - 03 himpunan - 05
 
Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)
 
fungsi Generator
fungsi Generator fungsi Generator
fungsi Generator
 
Matematika Diskrit Relasi Rekursif
Matematika Diskrit Relasi RekursifMatematika Diskrit Relasi Rekursif
Matematika Diskrit Relasi Rekursif
 
proposisi majemuk & Tautologi
 proposisi majemuk & Tautologi proposisi majemuk & Tautologi
proposisi majemuk & Tautologi
 
Bab 7 integrasi numerik
Bab 7 integrasi numerikBab 7 integrasi numerik
Bab 7 integrasi numerik
 
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAnalisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic Programming
 
modul algoritma Bab 7 record
modul algoritma Bab 7 recordmodul algoritma Bab 7 record
modul algoritma Bab 7 record
 
Regresi dan interpolasi
Regresi dan interpolasiRegresi dan interpolasi
Regresi dan interpolasi
 
Modul2 metode regula falsi praktikum metode numerik
Modul2 metode regula falsi praktikum metode numerikModul2 metode regula falsi praktikum metode numerik
Modul2 metode regula falsi praktikum metode numerik
 

Similar to Topik 9 Prosedur

Laporan Praktikum ALPRO-Berhitung Rumus Statistika
Laporan Praktikum ALPRO-Berhitung Rumus StatistikaLaporan Praktikum ALPRO-Berhitung Rumus Statistika
Laporan Praktikum ALPRO-Berhitung Rumus Statistika
Shofura Kamal
 

Similar to Topik 9 Prosedur (20)

Konsep pemrograman prosedur dalam pascal
Konsep pemrograman prosedur dalam pascalKonsep pemrograman prosedur dalam pascal
Konsep pemrograman prosedur dalam pascal
 
Procedure dalam pemrograman
Procedure dalam pemrograman Procedure dalam pemrograman
Procedure dalam pemrograman
 
Topik 10 Fungsi
Topik 10 FungsiTopik 10 Fungsi
Topik 10 Fungsi
 
5 prosedur dan fungsi
5 prosedur dan fungsi5 prosedur dan fungsi
5 prosedur dan fungsi
 
sp243-061043-959-1.ppt
sp243-061043-959-1.pptsp243-061043-959-1.ppt
sp243-061043-959-1.ppt
 
Laporan Praktikum ALPRO-Berhitung Rumus Statistika
Laporan Praktikum ALPRO-Berhitung Rumus StatistikaLaporan Praktikum ALPRO-Berhitung Rumus Statistika
Laporan Praktikum ALPRO-Berhitung Rumus Statistika
 
Algoritma Procedure
Algoritma ProcedureAlgoritma Procedure
Algoritma Procedure
 
Algoritma pemrograman 13
Algoritma pemrograman 13Algoritma pemrograman 13
Algoritma pemrograman 13
 
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
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Pseudo code
Pseudo codePseudo code
Pseudo code
 
Intruksi Fundamental
Intruksi FundamentalIntruksi Fundamental
Intruksi Fundamental
 
Algoritma Pemrogaman
Algoritma PemrogamanAlgoritma Pemrogaman
Algoritma Pemrogaman
 
Algoritma dan pemogrman.pptx
Algoritma dan pemogrman.pptxAlgoritma dan pemogrman.pptx
Algoritma dan pemogrman.pptx
 
2- ALGORITMA, FLOWCHART, TIPE DATA, OPERATOR.pptx
2- ALGORITMA, FLOWCHART, TIPE DATA, OPERATOR.pptx2- ALGORITMA, FLOWCHART, TIPE DATA, OPERATOR.pptx
2- ALGORITMA, FLOWCHART, TIPE DATA, OPERATOR.pptx
 
Algoritma Pemrograman - Pseudocode & Flowchart
Algoritma Pemrograman - Pseudocode & FlowchartAlgoritma Pemrograman - Pseudocode & Flowchart
Algoritma Pemrograman - Pseudocode & Flowchart
 
Procedure dalam pascal
Procedure dalam pascalProcedure dalam pascal
Procedure dalam pascal
 
ALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMAN
 
Modularisasi – function dalam c++
Modularisasi – function dalam c++Modularisasi – function dalam c++
Modularisasi – function dalam c++
 

More from I Komang Agustino

More from I Komang Agustino (20)

Topik 14 Tugas
Topik 14 TugasTopik 14 Tugas
Topik 14 Tugas
 
Topik 12 Pointer
Topik 12 PointerTopik 12 Pointer
Topik 12 Pointer
 
Topik 11 Array
Topik 11 ArrayTopik 11 Array
Topik 11 Array
 
Topik 8 Perulangan
Topik 8 PerulanganTopik 8 Perulangan
Topik 8 Perulangan
 
Topik 7 Pemilihan
Topik 7 PemilihanTopik 7 Pemilihan
Topik 7 Pemilihan
 
Topik 6 Runtunan (Sequence)
Topik 6 Runtunan (Sequence)Topik 6 Runtunan (Sequence)
Topik 6 Runtunan (Sequence)
 
Topik 5 Ekspresi dan Iinput Output
Topik 5 Ekspresi dan Iinput OutputTopik 5 Ekspresi dan Iinput Output
Topik 5 Ekspresi dan Iinput Output
 
Topik 4 Tipe Data
Topik 4 Tipe DataTopik 4 Tipe Data
Topik 4 Tipe Data
 
Topik 3 Struktur Algoritma
Topik 3 Struktur AlgoritmaTopik 3 Struktur Algoritma
Topik 3 Struktur Algoritma
 
Topik 2 Konsep Dasar Algoritma
Topik 2 Konsep Dasar AlgoritmaTopik 2 Konsep Dasar Algoritma
Topik 2 Konsep Dasar Algoritma
 
Topik 1 Pendahuluan
Topik 1 PendahuluanTopik 1 Pendahuluan
Topik 1 Pendahuluan
 
Topik 15 Tugas
Topik 15 TugasTopik 15 Tugas
Topik 15 Tugas
 
Topik 13 Rekaman
Topik 13 RekamanTopik 13 Rekaman
Topik 13 Rekaman
 
Topik 11 Pengenalan Konsep
Topik 11 Pengenalan KonsepTopik 11 Pengenalan Konsep
Topik 11 Pengenalan Konsep
 
Topik 10 E-Commerce
Topik 10 E-CommerceTopik 10 E-Commerce
Topik 10 E-Commerce
 
Topik 9 Keamanan TI
Topik 9 Keamanan TITopik 9 Keamanan TI
Topik 9 Keamanan TI
 
Topik 8 Sertifikasi TI
Topik 8 Sertifikasi TITopik 8 Sertifikasi TI
Topik 8 Sertifikasi TI
 
Topik 7 Jaringan Telekomunikasi
Topik 7 Jaringan TelekomunikasiTopik 7 Jaringan Telekomunikasi
Topik 7 Jaringan Telekomunikasi
 
Topik 6 Komunikasi Data
Topik 6 Komunikasi DataTopik 6 Komunikasi Data
Topik 6 Komunikasi Data
 
Topik 5 Storage dan Memory
Topik 5 Storage dan MemoryTopik 5 Storage dan Memory
Topik 5 Storage dan Memory
 

Recently uploaded

Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptx
IvvatulAini
 

Recently uploaded (20)

LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.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
 
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
 
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...
 
E-modul Materi Ekosistem untuk kelas X SMA
E-modul Materi Ekosistem untuk kelas X SMAE-modul Materi Ekosistem untuk kelas X SMA
E-modul Materi Ekosistem untuk kelas X SMA
 
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
 
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
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
 
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfProv.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
 
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
 
Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.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
 
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
 
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
 
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdfAksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
 
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
 
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...
 
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANTUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
 
PPT MODUL 6 DAN 7 PDGK4105 KELOMPOK.pptx
PPT MODUL 6 DAN 7 PDGK4105 KELOMPOK.pptxPPT MODUL 6 DAN 7 PDGK4105 KELOMPOK.pptx
PPT MODUL 6 DAN 7 PDGK4105 KELOMPOK.pptx
 
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
 

Topik 9 Prosedur

  • 1. Topik 9 Prosedur Algoritma & Struktur Data PS. Manajemen Informatika
  • 2. Sub Topik 1. Konsep Pemrograman Modular 2. Prosedur 3. Nama Lokal & Global 4. Parameter 5. Parameter Masukan 6. Parameter Keluaran 7. Parameter Masukan/Keluaran
  • 3. Tujuan Tujuan Instruksional Umum : Mahasiswa diharapkan mampu membuat algoritma dengan prosedur Tujuan Instruksional Khusus :  Mahasiswa mampu memahami konsep pemrograman modular  Mahasiswa mampu memahami penggunaan nama lokal & global  Mahasiswa mampu memahami penggunaan parameter  Mahasiswa mampu membuat algoritma dengan prosedur
  • 4. Konsep Pemrograman Modular  Program yang besar lebih sulit dimengerti dan lebih sulit lagi dalam melakukan pelacakan kesalahan  Program sebaiknya dipecah menjadi beberapa subprogram yang lebih kecil  Subprogram yang baik adalah subprogram yang independen dari program utama sehingga programnya dapat dirancang tanpa mempertimbangkan konteks dimana ia digunakan  Teknik pemecahan program menjadi sejumlah subprogram disebut teknik pemrograman modular
  • 5.  Subprogram disebut juga dengan subrutin, modul, prosedur atau fungsi  Keuntungan pemrograman modular • Menghindari penulisan teks program yang sama secara berulangkali, sehingga dapat mengurangi panjang program • Kemudahan menulis dan menemukan kesalahan program  Terdapat dua bentuk subprogram, yaitu prosedur (procedure) dan fungsi (function)  Struktur subprogram adalah: 1. Bagian judul 2. Bagian deklarasi 3. Bagian badan program
  • 6. Prosedur  Prosedur adalah modul program yang mengerjakan tugas yang spesifik dan menghasilkan suatu efek netto, dengan membandingkan keadaan awal dan keadaan akhir pada pelaksanaan sebuah prosedur  Struktur prosedur sama dengan struktur algoritma biasa  Setiap prosedur mempunyai nama yang unik  Nama prosedur sebaiknya diawali dengan kata kerja karena prosedur berisi suatu aktivitas  Prosedur diakses dengan cara memanggil namanya dari program pemanggil, misalnya program utama atau dari modul program lainnya  Jika prosedur tanpa parameter, maka pemanggilannya cukup dengan namanya saja : NamaProsedur
  • 7.  Notasi algoritmik prosedur : PROCEDURE NamaProsedur(deklarasi parameter jika ada) { Spesifikasi prosedur, berisi penjelasan tentang apa yang dilakukan oleh prosedur ini. K. Awal : keadaan sebelum prosedur dilaksanakan K. Akhir : keadaan setelah prosedur dilaksanakan } DEKLARASI { Semua nama yang dipakai didalam prosedur dan hanya berlaku lokal didalam prosedur didefinisikan disini } DESKRIPSI: { badan prosedur, berisi urutan instruksi }
  • 8. Contoh Soal  Kasus 1 : Buatlah prosedur untuk menghitung luas segitiga dan program utama untuk memanggil prosedur tersebut! English Structure Prosedur Luas Segitiga: Input : - Output : luas Proses : 1. Menghitung luas = 0.5* (alas * tinggi) 2. Mencetak nilai luas Program Utama: Input : alas, tinggi Output : - Proses : 1. Membaca nilai alas yang dimasukkan oleh user 2. Membaca nilai tinggi yang dimasukkan oleh user 3. Memanggil prosedur untuk menghitung luas segitiga
  • 9. Pseudocode untuk Prosedur : PROCEDURE LuasSegitiga { Menghitung luas segitiga, luas = (alas x tinggi) / 2 K. Awal : sembarang K. Akhir : luas segitiga tercetak } DEKLARASI luas : real DESKRIPSI: luas  0.5 * (alas * tinggi) output(luas)
  • 10. Pseudocode untuk Program Utama : ALGORITMA Segitiga { Menghitung luas segitiga dengan prosedur } DEKLARASI alas, tinggi : real procedure LuasSegitiga { Menghitung luas segitiga, luas = (alas x tinggi)/2 } DESKRIPSI: input(alas, tinggi) LuasSegitiga
  • 11. Nama Lokal & Global  Nama lokal adalah nama-nama yang dideklarasikan didalam prosedur dan hanya berlaku didalam prosedur itu sendiri  Nama global adalah nama-nama yang dideklarasikan didalam program utama dan berlaku baik didalam program utama maupun didalam prosedur yang dipanggil  Pada contoh 1 diatas : • Nama lokal : luas • Nama global : alas, tinggi  Pendeklarasian nama global dilakukan jika suatu peubah digunakan di seluruh bagian program (termasuk didalam prosedur)
  • 12.  Pendeklarasian nama lokal dilakukan jika suatu peubah hanya digunakan didalam prosedur saja  Nama yang dideklarasikan di dalam prosedur dan di dalam program utama mungkin sama, namun sifatnya tidak berubah  Usahakan menggunakan nama global sedikit mungkin  Penggunaan nama lokal menguntungkan karena dapat meminimumkan usaha pencarian kesalahan yang diakibatkan oleh program tersebut
  • 13. Parameter  Parameter adalah nama-nama peubah yang dideklarasikan pada bagian header prosedur  Program memerlukan pertukaran informasi/data antara prosedur dengan bagian yang memanggilnya  Parameter aktual (argumen) adalah parameter yang disertakan pada waktu pemanggilan prosedur  Parameter formal adalah parameter yang dideklarasikan didalam bagian header prosedur itu sendiri  Ketika prosedur dipanggil, parameter aktual menggantikan parameter formal  Tiap-tiap parameter aktual berpasangan dengan parameter formal yang bersesuaian
  • 14.  Cara memanggil prosedur dengan parameter : NamaProsedur (parameter aktual)  Aturan yang harus diperhatikan dalam hubungan satu-satu antara parameter aktual dan parameter formal adalah : • Jumlah parameter aktual pada pemanggilan prosedur harus sama dengan jumlah parameter formal pada deklarasi prosedurnya • Tiap parameter aktual harus bertipe sama dengan tipe parameter formal yang bersesuaian • Tiap parameter aktual harus diekspresikan dalam cara yang taat-asas dengan parameter formal yang bersesuaian, bergantung pada jenis parameter formal  Terdapat tiga jenis parameter formal yaitu : 1. Parameter masukan (input parameter) 2. Parameter keluaran (output parameter) 3. Parameter masukan/keluaran (input/output parameter)
  • 15. Parameter Masukan  Parameter masukan adalah parameter yang nilainya berlaku sebagai masukan untuk prosedur  Parameter masukan disebut juga parameter nilai  Nilai yang dinyatakan oleh parameter masukan tidak dapat dikirim balik ke bagian yang memanggil  Perubahan nilai parameter didalam badan prosedur tidak mengubah nilai parameter aktual  Parameter masukan dideklarasikan di dalam header prosedur  Parameter masukan dinyatakan dengan kata kunci input  Nama parameter aktual boleh tidak sama dengan nama parameter formal yang bersesuaian
  • 16. Contoh Soal  Kasus 2 : Buatlah prosedur untuk menghitung luas segitiga dengan parameter masukan dan program utama untuk memanggil prosedur tersebut! English Structure Prosedur Luas Segitiga: Input : alas, tinggi Output : luas Proses : 1. Menghitung luas = 0.5* (alas * tinggi) 2. Mencetak nilai luas Program Utama: Input : alas, tinggi Output : - Proses : 1. Membaca nilai alas yang dimasukkan oleh user 2. Membaca nilai tinggi yang dimasukkan oleh user 3. Memanggil prosedur untuk menghitung luas segitiga
  • 17. Pseudocode untuk Prosedur : PROCEDURE LuasSegitiga(input alas, tinggi : real) { Menghitung luas segitiga, luas = (alas x tinggi) / 2 K. Awal : sembarang K. Akhir : luas segitiga tercetak } DEKLARASI luas : real DESKRIPSI: luas  0.5 * (alas * tinggi) output(luas)
  • 18. Pseudocode untuk Program Utama : ALGORITMA Segitiga { Menghitung luas segitiga dengan prosedur berparameter} DEKLARASI alas, tinggi : real procedure LuasSegitiga(input alas, tinggi : real) { Menghitung luas segitiga, luas = (alas x tinggi)/2 } DESKRIPSI: input(alas, tinggi) LuasSegitiga(alas, tinggi)
  • 19. Contoh Soal  Kasus 3 : Buatlah prosedur untuk menghitung luas segitiga dengan parameter aktual dan parameter formal tidak sama! English Structure Prosedur Luas Segitiga: Input : a, t Output : luas Proses : 1. Menghitung luas = 0.5* (a * t) 2. Mencetak nilai luas Program Utama: Input : alas, tinggi Output : - Proses : 1. Membaca nilai alas yang dimasukkan oleh user 2. Membaca nilai tinggi yang dimasukkan oleh user 3. Memanggil prosedur untuk menghitung luas segitiga
  • 20. Pseudocode untuk Prosedur : PROCEDURE LuasSegitiga(input a, t : real) { Menghitung luas segitiga, luas = (alas x tinggi) / 2 K. Awal : sembarang K. Akhir : luas segitiga tercetak } DEKLARASI luas : real DESKRIPSI: luas  0.5 * (a * t) output(luas)
  • 21. Pseudocode untuk Program Utama : ALGORITMA Segitiga { Menghitung luas segitiga dengan prosedur berparameter} DEKLARASI alas, tinggi : real procedure LuasSegitiga(input a, t : real) { Menghitung luas segitiga, luas = (alas x tinggi)/2 } DESKRIPSI: input(alas, tinggi) LuasSegitiga(alas, tinggi)
  • 22. Parameter Keluaran  Parameter keluaran adalah paramater yang menampung keluaran yang dihasilkan oleh prosedur  Parameter keluaran disebut juga parameter acuan  Nilai dari parameter aktual akan tetap berada di parameter aktual meskipun prosedur telah selesai dilaksanakan  Parameter keluaran dideklarasikan di dalam header prosedur  Parameter keluaran dinyatakan dengan kata kunci output
  • 23. Contoh Soal  Kasus 4 : Buatlah prosedur untuk menghitung luas segitiga dengan parameter masukan dan parameter keluaran! English Structure Prosedur Luas Segitiga: Input : a, t Output : l Proses : 1. Menghitung l= 0.5* (a * t) Program Utama: Input : alas, tinggi Output : luas Proses : 1. Membaca nilai alas yang dimasukkan oleh user 2. Membaca nilai tinggi yang dimasukkan oleh user 3. Memanggil prosedur untuk menghitung luas segitiga 4. Mencetak nilai luas
  • 24. Pseudocode untuk Prosedur : PROCEDURE LuasSegitiga(input a, t : real, output l : real) { Menghitung luas segitiga, luas = (alas x tinggi) / 2 K. Awal : sembarang K. Akhir : luas segitiga tercetak } DEKLARASI (tidak ada) DESKRIPSI: l  0.5 * (a * t)
  • 25. Pseudocode untuk Program Utama : ALGORITMA Segitiga { Menghitung luas segitiga dengan prosedur berparameter} DEKLARASI alas, tinggi, luas : real procedure LuasSegitiga(input a, t : real, output l : real) { Menghitung luas segitiga, luas = (alas x tinggi)/2 } DESKRIPSI: input(alas, tinggi) LuasSegitiga(alas, tinggi, luas) output(luas)
  • 26. Parameter Masukan/Keluaran  Parameter masukan/keluaran adalah paramater yang berfungsi sebagai masukan sekaligus keluaran bagi prosedur tersebut  Parameter masukan/keluaran disebut juga parameter acuan  Jika parameter aktual nilainya diubah dalam badan prosedur, maka sesudah pemanggilan prosedur nilai parameter aktual di titik pemanggilan juga berubah  Parameter aktual harus berupa peubah, tidak boleh berupa konstanta atau ekspresi  Parameter masukan/keluaran dideklarasikan di dalam header prosedur  Parameter keluaran dinyatakan dengan kata kunci input/output
  • 27. Contoh Soal  Kasus 5 : Buatlah program untuk mencetak angka 1 sampai 10, dengan prosedur menaikkan angka sebanyak 1 angka! English Structure Prosedur Increment: Input : x Output : x Proses : 1. Menjumlahkan x = x + 1 Program Utama: Input : - Output : x Proses : 1. Mengisi variabel x dengan nilai awal = 1 2. Ulangi a. Mencetak angka x b. Memanggil prosedur increment Sampai x > 10
  • 28. Pseudocode untuk Prosedur : PROCEDURE Increment(input/output x : integer) { Menaikkan nilai x sebesar 1 K. Awal : x sudah terdefinisi nilainya K. Akhir : nilai x bertambah 1 } DEKLARASI { tidak ada } DESKRIPSI: x  x + 1
  • 29. Pseudocode untuk Program Utama : ALGORITMA CetakAngka { Mencetak angka dari 1 sampai 10 } DEKLARASI x : integer procedure Increment(input/output x : integer) { Menaikkan nilai x sebesar 1 } DESKRIPSI: x  1 repeat output(x) Increment(x) until x > 10
  • 30. Rangkuman  Teknik pemrograman yang baik : memecah program menjadi beberapa prosedur  Prosedur sebaiknya ditulis dengan parameter untuk mengurangi kebutuhan penggunaan nama global  Bila prosedur menghasilkan keluaran yang digunakan oleh program pemanggil, gunakan parameter keluaran  Bila prosedur tidak menghasilkan keluaran atau keluaran hanya digunakan oleh prosedur itu sendiri, gunakan parameter masukan  Bila prosedur menerima masukan sekaligus keluaran pada parameter yang sama , gunakan parameter masukan/keluaran
  • 31. Latihan Soal  Kasus 1: Buatlah algoritma program utama dengan prosedur untuk menghitung luas persegipanjang!  Kasus 2: Buatlah algoritma program utama dengan prosedur untuk menghitung rata-rata sehingga dapat menampilkan hasil perhitungan berikut! Misalkan, user memasukkan angka = 5, maka proses yang dilakukan adalah : rata-rata = (1 + 2 + 3 + 4 + 5)/5 = 15/5 = 3
  • 32. REFERENSI 1. Budi Sutedjo, Michael A.N. 2000. “Algoritma dan Teknik Pemrograman”. Yogyakarta: ANDI OFFSET. 2. Fathul Wahid. 2004. “Dasar-Dasar Algoritma dan Pemrograman”. Yogyakarta: ANDI OFFSET. 3. Rinaldi Munir, Leoni Lidya. 2002. “Algoritma & Pemrograman Dalam Bahasa Pascal dan C Buku 1”. Bandung: Informatika. 4. Rinaldi Munir, Leoni Lidya. 2002. “Algoritma & Pemrograman Dalam Bahasa Pascal dan C Buku 2”. Bandung: Informatika.