Untuk Memenuhi Salah Satu Tugas : ALGORITMA DAN DASAR PEMROGRAMAN Amirhud Dalimunthe,S.T.,M.Kom.
DISUSUN OLEH KELOMPOK V : 1. MUHAMMAD GHOZALI PURBA
(5173351031)
2. MUHAMMAD FERDIANSYAH NST
(5173351027)
3. SIMSON NAINGGOLAN
(5173351044)
FAKULTAS TEKNIK PENDIDIKAN TEKNOLOGI INFORMATIKA DAN KOMPUTER (C) UNIVERSITAS NEGERI MEDAN 2017/2018
KATA PENGANTAR Puji syukur kami panjatkan kehadirat Allah SWT. Karena atas rahmat-Nya maka kami dapat menyelesaikan penyusunan makalah ini yang berjudul “Prosedur dan Subroutin”. Penulisan makalah merupakan salah satu tugas dan persyaratan untuk menyelesaikan tugas mata kuliah Algoritma dan Dasar Pemrograman Universitas Negeri Medan (UNIMED) Prodi P.TIK. Harapan saya semoga makalah ini membantu menambah pengetahuan dan pengalaman bagi para pembaca, sehingga kami dapat memperbaiki bentuk maupun isi makalah ini sehingga kedepannya dapat lebih baik. Dalam penulisan makalah ini kami menyampaikan ucapan terima kasih yang tak terhingga kepada pihak-pihak yang membantu dalam menyelesaikan makalah ini. Saya menyadari bahwa makalah ini masih jauh dari sempurna, oleh karena itu kritik dan saran dari semua pihak yang bersifat membangun selalu saya harapkan demi kesempurnaan makalah ini. Akhir kata, saya sampaikan terima kasih kepada semua pihak yang telah berperan serta dalam penyusunan makalah ini dari awal sampai akhir. Semoga Allah SWT senantiasa meridhai segala usaha kita.
Amin.
Medan, 26 Oktober 2017
Penyusun
i
DAFTAR ISI KATA PENGANTAR…………………………………………………………………….. i DAFTAR ISI………………………………………………………………………………. ii BAB I
PENDAHULUAN
1.1 LATAR BELAKANG…………………………………………………………………. 1 1.2 RUMUSAN MASALAH………………………………………………………………. 1 1.3 TUJUAN PENULISAN………………………………………………………………... 1 BAB II
PEMBAHASAN
2.1 PENDEFINISIAN PROSEDUR DAN SUBROUTIN………………………………. 2 2.2 NAMA GLOBAL, LOKAL, LINGKUP ……………………………………………... 8 A. VARIABEL GLOBAL……………………………………………………………. 8 B. VARIABEL LOKAL ……………………………………………………………... 10 2.3 PENGGUNAAN / PEMANGGILAN PROSEDUR…………………………………. 13 2.4 PARAMETER (MASUKAN, KELUARAN, MASUKAN / KELUARAN)………… 14 A. PARAMETER MASUKAN……………………………………………………….. 14 B. PARAMETER KELUARAN……………………………………………………… 16 C. PARAMETER MASUKAN / KELUARAN……………………………………… 17 BAB III
PENUTUP
3.1 KESIMPULAN………………………………………………………………………… 19 3.2 SARAN………………………………………………………………………………… 19 DAFTAR PUSTAKA……………………………………………………………………… 20
ii
BAB I PENDAHULUAN 1.1 LATAR BELAKANG Pesatnya teknologi, terutama teknologi komputer sudah tak bisa dipungkiri lagi, bagi yang mengikuti perkembangannya, ia tidak akan dipandang sebelah mata. Sebaliknya, bagi yang tidak mengikuti perkembangannya, bersiaplah untuk mundur secara suka rela dari panggung kompetisi. Ibarat wabah, teknologi komputer sudah menyusupi hampir semua bidang kehidupan manusia. Dari pemerintah pusat sampai tingkat pemerintah desa, perusahaan-perusahaan, supermarket, minimarket, perguruan tinggi, SLTA, SLTP, bahkan SD hampir semuanya mengenal komputer. Saat ini, yang mempunyai lingkungan yang semakin luas dan banyak diminati, juga dapat digunakan untuk menghasilkan uang adalah dunia pemrograman komputer. Dalam dunia pemrograman komputer, dikenal algoritma dan banyak bahasa pemrograman, seperti C, C++, Pascal, Basic, Java, dan lain-lain. Oleh karena itulah, yang akan dibahas dalam makalah ini adalah Prosedur dan Subroutin.
1.2 RUMUSAN MASALAH a) Jelaskan pendefinisian prosedur dan subroutin! b) Jelaskan yang dimaksud dengan nama global, lokal, dan lingkup! c) Jelaskan yang dimaksud pemanggilan prosedur! d) Jelaskan yang dimaksud parameter (masukan, keluaran, masukan / keluaran)!
1.3 TUJUAN PENULISAN a) Mampu memahami dan membuat prosedur. b) Mampu menggunakan prosedur dengan tepat.
1
BAB II PEMBAHASAN 2.1 PENDEFINISIAN PROSEDUR DAN SUBROUTIN Procedure/prosedur merupakan suatu program yang terpisah dalam blok sendiri yang berfungsi sebagai sub-program (modul program) yang merupakan sebuah program kecil untuk memproses sebagian dari pekerjaan program utama. Procedure berguna untuk mengumpulkan statemen-statement (Pernyataan) yang dapat dijalankan menjadi satu dalam blok dan untuk menjalankan kembali hanya dengan menuliskan nama procedure yang menampungnya, yaitu pemanggilan dilakukan pada program utama. Sederetan instruksi algoritmik yang diberi nama, dan akan menghasilkan efek neto yang terdefinisi. Subroutine atau procedure adalah suatu blok program terpisah yang digunakan untuk mengerjakan suatu pekerjaan tertentu. Kegunaan yang umum dari subroutine adalah menghemat kode program bila terjadi proses yang sama diulang berkali-kali. Salah satu bentuk subroutine di dalam visual basic dikenal dengan event dari komponen. Penulisan subroutine di dalam Visual Basic dibedakan menjadi 3 macam: 1. Subroutine yang bersifat event dari komponen tertentu (subroutine ini sudah tersedia dalam library Visual Basic sebagai modul OOP dalam Visual Basic) dituliskan dengan: Private Sub Komponen_Event(Input)
………………………………………………………………………………… End Sub 2. Subroutine yang bersifat metode private dimana pemanggilan subroutinenya hanya ditulis dengan nama subroutine (Subroutine ini adalah subroutine yang dibuat sendiri), dituliskan dengan:
2
Private Sub Nama_Fungsi(Input)
………………………………………………………………………………… End Sub 3. Subroutine yang bukan event atau metode, dimana pemanggilannya menggunakan call NamaSubroutine, dituliskan dengan: Sub Komponen_Event(Input)
………………………………………………………………………………… End Sub Pemakaian Subroutine semacam ini banyak ditemui pada pemrograman game dalam Visual Basic. STRUKTUR PROCEDURE : JUDUL (header)
--> nama prosedur dan deklarasi parameter(kalau ada)
DEKLARASI
--> mengumumkan nama-nama dan tipe data
ALGORITMA
--> badan prosedur (instruksi)
3
NOTASI ALGORITMA UNTUK PROCEDURE : Procedure NamaProsedur(deklarasi parameter, jika ada) {spesifikasi prosedur, berisi penjelasan tentang apa yg dilakukan oleh prosedur ini. Kondisi awal : keadaan sebelum prosedur dilaksanakan. Kondisi akhir : keadaan setelah prosedur dilaksanakan} DEKLARASI {semua nama yg dipakai di dalam prosedur dan hanya berlaku lokal di dalam prosedur ini} ALGORITMA {badan prosedur, berisi urutan instruksi}
Untuk mendeklarasikan procedure dapat dilakukan dengan dua cara : 1. Header Procedure Tanpa Parameter yaitu penulisannya diawali dengan kata baku procedure dan diikuti dengan nama procedure serta diakhiri dengan tanda titik koma (;). Bentuk Umum : Procedure
Example : Procedure makcumabdu; Procedure kampret;
4
Contoh Programnya :
uses wincrt; var kol,bar,has1,has2:integer; procedure tabel; begin has1:= kol+bar; has2:= kol*bar; writeln('Kolom + Baris = ',has1); writeln('Kolom * Baris = ',has2); end; begin gotoxy(21,2); writeln('Contoh Program Procedure Tanpa Parameter'); gotoxy(21,3); writeln('----------------------------------------'); write('Masukkan Jumlah Kolom = '); readln(kol); write('Masukkan Jumlah Baris = '); readln(bar); tabel; end.
Output Program :
5
2. Header Procedure Dengan Menggunakan Parameter Yaitu penulisannya hampir sama dengan Procedure tanpa parameter. yaitu diawali dengan kata baku procedure, lalu diikuti dengan parameter-parameter (yang berada didalam kurung) yang masing-masing dipisahkan dengan koma beserta dengan tipenya yang dipisahkan dengan titik dua (:) serta diakhiri dengan tanda titik koma (;). Bentuk Umum : Procedure
(
); Example : Procedure makcumabdu(nim:integer; nama:string); Procedure kampret(jos,jis:real); Contoh Programnya :
uses wincrt; var kol,bar,has1,has2:integer; procedure tabel(a,b:integer); begin has1:= kol+bar; has2:= kol*bar; writeln('Kolom + Baris = ',has1); writeln('Kolom * Baris = ',has2); end; begin gotoxy(21,1); writeln('****************************************'); gotoxy(21,2); writeln('*Contoh Procedure Mneggunakan Parameter*'); gotoxy(21,3); writeln('*--------------------------------------*');
gotoxy(21,4); writeln('****************************************'); write('Masukkan Jumlah Kolom = '); readln(kol); write('Masukkan Jumlah Baris = '); readln(bar); tabel(kol,bar); end.
6
Output Programnya :
CONTOH KASUS : Buatlah program dengan memanfaat Procedure untuk kasus Penilaian dengan kreteria Tugas 30%, UTS 30% dan UAS 40%. Jawaban : uses wincrt; var a,b,c,d:real; procedure nilai; begin d:= ((a*0.3) + (b*0.3) + (c*0.4)); write(d:2:2); end; begin write('Masukkan Nilai Tugas Anda : ');readln(a); write('Masukkan Nilai UTS Anda : ');readln(b); write('Masukkan Nilai UAS Anda : ');readln(c);
7
write('Nilai Anda : '); nilai; end.
Output Program :
2.2 NAMA GLOBAL, LOKAL, LINGKUP A. VARIABEL GLOBAL Pendefinisian variabel kamus global berlaku untuk program dan semua prosedur/fungsi yang didefinisikan di kamus algoritma utama. Variabel global adalah variabel yang dapat digunakan atau dipanggil atau dikenali oleh semua fungsi / prosedur / dikenali diseluruh program. Variabel global ini dapat digunakan pada beberapa fungsi / prosedur, Hal ini betujuan untuk menghemat penulisan, karena tidak perlu lagi berkali - kali menuliskan variabel yang sama pada beberapa fungsi / prosedur.
8
Contoh penggunaan Variabel Global Berikut ini adalah contoh program yang menunjukkan penggunaan variabel yang bersifat global:
#include
using namespace std; // Variabel A adalah variabel global // Karena dideklarasikan diluar fungsi main dan fungsi lain int A; // Membuat sebuah prosedur dengan nama "coba" void coba(){ // Mengisikan (assign) nilai kedalam variabel A A = 20; cout<<"Nilai A di dalam prosedur coba() : "<
<<endl; } // Membuat fungsi main() atau fungsi utama int main (){ // Mengisikan (assign) nilai kedalam variabel A A = 10; cout<<"Nilai A di dalam fungsi main() : "<
<<endl;
9
// Memanggil atau menampilkan prosedur coba() coba(); return 0; }
Hasil yang diberikan oleh program diatas adalah sebagai berikut:
Pada kode diatas, Variabel A dideklarasikan sebagai variabel global. Proses deklarasi variabel global harus dilakukan diluar fungsi. Melalui cara seperti contoh diatas, variabel A akan dikenali oleh semua fungsi / prosedur yang ada di dalam program, yaitu prosedur coba() dan fungsi main().
B. VARIABEL LOKAL Pendefinisian variabel pada kamus local hanya berlaku dalam ruang lingkup fungsi/prosedur yang bersangkutan dan fungsi/prosedur yang didefinisikan di dalamnya. Variabel lokal adalah variabel yang hanya dikenali oleh sebuah fungsi / prosedur saja (hanya dikenali pada fungsi / prosedur tempat variabel tersebut dideklarasikan). Hal tersebut karena proses deklarasi variabel lokal dilakukan di dalam lingkup fungsi yang dimaksud.
10
Contoh Penggunaan Variabel Lokal
#include
using namespace std; // Membuat sebuah prosedur dengan nama "coba" void coba(){ // Variabel A bersifat Lokal // Dan hanya dikenali oleh prosedut coba() int A; A = 20; cout<<"Nilai A di dalam prosedur coba() : "<
<<endl; } // Membuat fungsi main() atau fungsi utama int main (){ // Variabel A tidak dapat digunakan oleh fungsi main() // A = 10; // SALAH // Harus di deklarasi ulang int A; A = 10; cout<<"Nilai A di dalam fungsi main() : "<
<<endl; // Memanggil atau menampilkan prosedur coba() coba(); return 0; }
11
Hasil yang diberikan oleh program diatas adalah sebagai berikut:
Pada contoh program diatas, Variabel A dideklarasikan sebanyak 2 kali yaitu di dalam prosedur coba() dan didalam fungsi main(). Hal tersebut karena variabel A bersifat lokal dan hanya dapat di akses pada fungsi / prosedur tempat variabel A dideklarasikan. Jadi Variabel A yang di deklarasikan pada prosedur coba() hanya dapat diakses di prosedur tersebut / tidak dapat diakses di fungsi main(), pun sebaliknya Variabel A yang di deklarasikan pada fungsi main() hanya dapat diakses di fungsi tersebut / tidak dapat diakses di prosedur coba().
Perbedaan Utama Variabel Global dan Variabel Lokal 1. Variabel Global dideklarasian diluar fungsi main() atau diluar sebuah fungsi atau prosedur lain. 2. Variabel Lokal dideklarasian didalam sebuah fungsi atau didalam sebuah prosedur. 3. Variabel Global dapat digunakan atau dipanggil atau dikenali oleh semua fungsi / prosedur / dikenali diseluruh program. 4. Variabel Lokal hanya dikenali oleh suatu fungsi / prosedur saja (hanya dikenali pada fungsi / prosedur tempat variabel tersebut dideklarasikan).
12
2.3 PENGGUNAAN / PEMANGGILAN PROSEDUR Prosedur bukan program yang beridiri sendiri. Prosedur tidak dapat dieksekusi secara langsung. Instruksi-instruksi di dalam prosedur dapat dilaksanakan bila prosedur itu diakses. Prosedur diakses dg cara memanggil namanya dari program pemanggil (misalnya dari program utama atau modul program lainnya). Jika prosedur tanpa parameter, maka pemanggilannya cukup dg nama prosedurnya saja. Selain itu procedure yang banyak dipakai untuk menampung baris-baris perintah yang sering dipakai dalam sebuah program.
Syarat pemanggilan prosedur : 1. List – parameter aktual yang berupa Input dapat menggunakan nama : variabel atau nama konstanta yg telah dididefinisikan di kamus atau konstanta. harga suatu konstanta atau harga yg dihasilkan ekspresi atau fungsi. 2. List – parameter aktual yang berupa Output harus berupa nama variabel. 3. List – parameter aktual yang berupa Input/Output harus berupa nama variabel.
13
2.4 PARAMETER (MASUKAN, KELUARAN, MASUKAN/ KELUARAN) Parameter merupakan suatu nilai atau refrensi yang dilewatkan kedalam rutin tertentu dan kehadirannya akan mempengaruhi proses maupun nilai yang terdapat didalam rutin itu sendiri. Parameter ditempatkan didalam tanda kurung setelah nama rutin bersangkutan. Setiap parameter yang dilewatkan harus memiliki tipe data tersendiri yang dapat berupa dari tipe dasar maupun bentukan seperti arrya, record atau pointer. Parameter secara teori terdapat pada pendefinisian sebuah fungsi yang di sebut dengan parameter formal, sedangkan parameter yang terdapat pada saat pemanggilan di sebut dengan parameter aktual. Jumlah serta tipe data antara parameter formal dan parameter aktual haruslah sesuai, jika tidak sesuai maka kompiler akan menampilkan pesan kesalahan. Menurut fungsinya, Parameter dibedakan menjadi tiga jenis, yaitu sebagai masukan, keluaran atau keduanya. A. PARAMETER MASUKKAN Secara default parameter yang digunakan didalam sebuah rutin akan berperan sebagai masukkan, artinya nilai yang disimpan di dalam parameter tersebut akan dijadikan sebagai input untuk melakukan proses yang terdapat didalam rutin bersangkutan.Parameter jenis ini selalu dilewatkan berdasarkan nilainya. Parameter Masukkan, parameter ini di gunakan sebagai nilai masukan dalam sebuah fungsi. Kemudian pada nilai tersebut akan di proses oleh fungsi untuk menghasilkan sebuah nilai kembalian atau return value. Apa bila kurang jelas maka Anda bisa melihat langsung kode programnya yaitu sebagai berikut:
14
#include
using namespace std;
int BertambahSatu (int X) { int hasil; hasil = X + 1; return hasil; }
int main () { int Bilangan, HASIL; cout<<"Masukkan Bilangan Bulat : "<<endl; cin>>Bilangan;
HASIL = BertambahSatu (Bilangan);
cout<<"Nilai keluaran : "<
return 0;
}
Itulah contoh kode program untuk parameter masukan pada bahasa C++, apa bila Anda mengeksekusi dan memasukan nilai bilangan bulat sepuluh maka Nilai keluarannya akan muncul 11, karena dari program di atas sudah di definisikan pada int BertambahSatu. Apabila kurang jelas maka silahkan Anda bisa langsung mencobanya. Kemudian untuk screnshoot kode program dan pengeluarannya yaitu sebagai berikut:
15
Kode Program
Output atau Pengeluaran
B. PARAMETER KELUARAN
Parameter keluaran yaitu parameter yang berfungsi untuk menampung value yang di hasilkan dari proses di dalam fungsi. Parameter keluaran ini pada umumnya di gunakan di dalam fungsi void yaitu fungsi yang tidak dapat mengembalikan value. Dengan kata lain, parameter tersebut berguna sebagai value keluaran dari sebuah fungsi. Maka dari itu, parameter keluaran ini harus di lewatkan berdasarkan alamat atau referensinya, yaiut dengan menggunakan pointer atau reference. Jika kurang jelas maka Anda bisa langsung memahami contoh programnya yaitu sebagai berikut:
16
#include
using namespace std; void BertambahSatu (int X, int *hasil) { *hasil = X + 1; } int main () { int Bilangan, HASIL; cout<<"Masukkan Bilangan Bulat : "<<endl; cin>>Bilangan; HASIL = BertambahSatu (Bilangan); cout<<"Nilai keluaran : "<
Dari contoh kode program di atas apabila di compile maka akan menghasilkan sebuah Output yang seperti pada gambar di bawah ini:
C. PARAMETER MASUKAN ATAU KELUARAN Parameter Jenis ini adalah parameter yang di gunakan sebagai masukan dan juga sebaga parameter keluaran. Artinya yaitu, mula mula nilai dari parameter ini akan di gunakan sebagai masukan untuk proses di dalam fungsi, setelah proses selesai maka hasilnya akan di simpan kembali ke dalam parameter tersebut sebagai value keluaran. Berikut ini adalah contoh kode program Parameter Masukan atau Keluaran pada bahasa C++:
17
#include
using namespace std; int BertambahSatu (int X) { *X = *X + 1; } int main () { int Bilangan; cout<<"Masukkan Bilangan Bulat : "; cin>>Bilangan; cout<<"Nilai keluaran : "<
Dari contoh kode program di atas apabila di compile maka outputnya akan sama pada output keluaran, atau program tersebut tidak di kenali saat proses mengcompile.
18
BAB III PENUTUP 3.1 KESIMPULAN Procedure/prosedur merupakan suatu program yang terpisah dalam blok sendiri yang berfungsi sebagai sub-program (modul program) yang merupakan sebuah program kecil untuk memproses sebagian dari pekerjaan program utama. Untuk mendeklarasikan procedure dapat dilakukan dengan dua cara : 1. Header Procedure tanpa parameter 2. Header Procedure Dengan Menggunakan Parameter Variabel terdiri atas : 1. Variabel global 2. Variabel lokal 3. Variabel lingkup Parameter merupakan suatu nilai atau refrensi yang dilewatkan kedalam rutin tertentu dan kehadirannya akan mempengaruhi proses maupun nilai yang terdapat didalam rutin itu sendiri. Parameter terdiri dari : 1. Parameter masukan 2. Parameter keluaran 3. Parameter masukan / keluaran
3.2 SARAN Dalam penulisan makalah ini penulis menyadari bahwa masih banyak kekurangan yang terdapat dalam makalah ini oleh karena itu penulis sangat mengharapkan masukan demi kesempurnaan makalah ini serta makalah ini dapat bermanfaan bagi kita semua.
19
DAFTAR PUSTAKA http://www.materidosen.com/2017/03/perbedaan-variabel-global-dan-variabel.html http://makcum-abdu.blogspot.co.id/2012/10/procedure-pada-bahasa-pemrogramanpascal.html http://cdndata.telkomuniversity.ac.id/pjj/15161/KUG1G3/EPN/COURSE_MATERIAL/z 144445081371686e40bc7bf695c3a1ba4f9d616db0.pdf http://dwiasihrahaayu.blogspot.co.id/2014/01/parameter.html http://www.marilahcoding.com/2016/05/jenis-jenis-parameter-dan-contoh.html
20