![Page 1: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/1.jpg)
IT132 – Dasar-Dasar Pemrograman
Ramos Somya
![Page 2: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/2.jpg)
Dalam program yang kompleks kode program panjang.
Sulit dalam memahami program (jalannya program).
Solusi: memecah program tersebut menjadi modul-modulsehingga lebih ringkas.
Untuk memecah program yang kompleks, kitamembutuhkan procedure dan function.
![Page 3: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/3.jpg)
Berdasarkan penjelasan sebelumnya, prosedur ataufungsi yaitu suatu bagian/modul program yang terpisahdari program utama, diletakkan dalam blok tersendiriyang berfungsi sebagai bagian dari program.
![Page 4: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/4.jpg)
Merupakan penerapan konsep modular, yaitu memecahprogram menjadi modul-modul atau subprogram-subprogam yang lebih sederhana.
Untuk hal-hal yang sering dilakukan berulang-ulang,cukup dituliskan sekali saja dalam prosedur dan dapatdipanggil atau dipergunakan sewaktu-waktu biladiperlukan.
![Page 5: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/5.jpg)
Terdapat pola:
Cara manual:print*; print*; print*; prints; prints; prints; print*; print*;print*; NL;prints; prints; prints; print*; print*; print*; NLprint*; print*; print*; prints; prints; prints; print*; print*;print*; NL;
![Page 6: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/6.jpg)
Caranya: Lihat pola yang sama.
Buat definisi:
def tigabintang()= print*; print*; print*; enddef
def tigaspasi()= prints; prints; prints; enddef
Perintah menjadi:
tigabintang();tigaspasi();tigabintang();NL;
tigaspasi();tigabintang(); NL;
tigabintang();tigaspasi();tigabintang();
![Page 7: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/7.jpg)
Buatlah program untuk mencetak huruf HELLO dalam posisi vertikal. Ukuran tiap huruf 5x5.(Gunakan procedure)
![Page 8: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/8.jpg)
def pola1() = print*;prints;prints;prints;print*;NL; enddef def pola2() = print*;print* print*;print*; print*;NL;
enddef def pola3() = print*;NL; enddef
Perintah menggunakan procedure:pola1();pola1();pola2();pola1();pola1();NL;pola2();pola3();pola2();pola3();pola2();NL;pola3();pola3();pola3();pola3();pola2();NL;pola3();pola3();pola3();pola3();pola2();NL;Pola2();pola1();pola1();pola1();pola2();NL;
![Page 9: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/9.jpg)
def hello() =def H() = pola1();pola1();pola2();pola1();pola1();NL; enddef
def E() = pola2();pola3();pola2();pola3();pola2();NL; enddef
def L() = pola3();pola3();pola3();pola3();pola2();NL; enddef
def O() = pola2();pola1();pola1();pola1();pola2();NL; enddef
def pola1() = print*;prints;prints;prints;print*;NL; enddef
def pola2() = print*;print* print*;print*; print*;NL; enddef
def pola3() = print*;NL; enddef
H();E();L();L();O();
enddef
Pemanggilan: hello();
![Page 10: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/10.jpg)
def pola3() = print*;NL; enddef Procedure di atas bila dipanggil hasilnya selalu sama, karena
tidak ada parameter. Dengan paramater memungkinkanmemberikan hasil output yang berbeda tergantungparameter yang dipassingkan.
Misal:def r3(p) = p();p();p() ; enddefdef one() = p*; enddefdef two() = NL; enddefdef three() = NL; p*;p*;p*; enddefr3(one); r3(two); r3(three)
![Page 11: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/11.jpg)
Merupakan sub program yang tidak mengembalikan nilaisecara langsung.
Prosedur memiliki struktur yang sama dengan strukturprogram, yaitu terdiri dari nama prosedur, deklarasi-deklarasi dan bagian deskripsi (statement atau aksi didalam prosedur).
Semua deklarasi di dalam prosedur bersifat lokal sehinggahanya bisa digunakan oleh prosedur itu saja, sedangkandeklarasi di dalam program utama bersifat globalsehingga dapat dikenali di seluruh bagian program.
![Page 12: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/12.jpg)
PROCEDURE mempunyai judul_prosedur sedangkanProgram utama tidak.
Untuk tanda berakhirnya Procedure diakhiri dengantanda End; sedangkan Program Utama End.
![Page 13: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/13.jpg)
Penggunaan prosedur selalu diawali dengan kata Procedure. Struktur umum prosedur adalah sebagai berikut :
Procedure Nama_Prosedur (param_formal1:tipe_param1, param_formal2:tipe_param2,…);{Jika prosedur tidak memiliki parameter, tanda kurung tidak disertakan}var{bagian deklarasi prosedur, sifatnya lokal}begin
statement-1;statement-2;…………Statement-n;
end;
![Page 14: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/14.jpg)
Struktur blok program utama beserta prosedur:
Program judul_program;var{bagian deklarasi prosedur, sifatnya global}
Procedure Nama_Prosedur; {Jika prosedur tidak memiliki parameter, tanda kurung tidak disertakan}var{bagian deklarasi prosedur, sifatnya lokal}begin
statement-1;statement-2;…………Statement-n;
end;
{program utama}begin
Nama_Prosedur;end.
![Page 15: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/15.jpg)
uses crt;
procedure cetakBintang;begin
writeln('****');end;
beginclrscr;cetakBintang();cetakBintang();cetakBintang();cetakBintang();readkey;
end.
![Page 16: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/16.jpg)
uses crt;
procedure Tanya_hitung;varX, Y : real;begin
write ('Nilai X =');readln (X) ;Y := X * X;
end;
beginTanya_hitung;writeln ('NilaiY =', Y);
end.
![Page 17: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/17.jpg)
Bila program dikompilasi, akan dideteksi kesalahan olehcompiler, karena variable Y yang sifatnya local diprocedure Tanya_hitung digunakan pada program utama.
Agar nilai-nilai variable dapat digunakan di modul lainnyayang membutuhkan, maka dapat dilakukan denganbeberapa cara, yaitu :- Dibuat global- Dikirimkan sebagai parameter ke modul lainnya.
![Page 18: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/18.jpg)
uses crt;
var
Y: real;
procedure Tanya_hitung;
var
X: real;
begin
write ('Nilai X = ');
readln (X) ;
Y := X * X;
end;
begin
clrscr;
Tanya_hitung;
writeln ('Nilai Y = ', Y: 2: 2);
readkey;
end.
![Page 19: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/19.jpg)
Pengertian hampir sama dengan procedure (sama-samasub program / bagian dari program).
Bedanya:- Fungsi memiliki tipe data.- Fungsi memberikan nilai balik, procedure tidak.- Harus ada NamaFungsi di dalam tubuh fungsi, karena
digunakan untuk menyimpan output.- Penulisannya menggunakan kata Function
![Page 20: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/20.jpg)
Function Nama_Fungsi : tipe_hasil;
var
{bagian deklarasi fungsi, sifatnya lokal}
begin
statement-1;
statement-2;
…………
Statement-n;
Nama_Fungsi:=hasil;
end;
![Page 21: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/21.jpg)
uses crt;
function cetakBintang:string;begin
cetakBintang:= '****';end;
beginclrscr;writeln(cetakBintang);writeln(cetakBintang);writeln(cetakBintang);writeln(cetakBintang);readkey;end.
![Page 22: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/22.jpg)
Suatu variable yang berfungsi sebagai penampung nilai pada procedure atau function, yang diberikan oleh pemanggil procedure atau function.
Contoh:Procedur nama_pro(parameter,parameter:tipe_data);Procedur hitung(angka1,angka2:integer);Procedur bagi(angka1:integer; angka2:real);
![Page 23: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/23.jpg)
Parameter yang dikirmkan dari modul utama ke modulprosedur disebut dengan parameter nyata (actualparameter) dan parameter yang ada dan dituliskan padajudul prosedur disebut dengan parameter formal (formalparameter).
Proses pengiriman data lewat parameter nyata keparameter formal disebut dengan parameter passing.
Parameter nyata dan parameter formal harus dengan tipeyang sama.
![Page 24: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/24.jpg)
Pass by Value Pass by Reference
![Page 25: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/25.jpg)
Parameter yang dikirimkan berupa nilai (value)nya saja.Jadi apabila terjadi pengubahan nilai pada prosedurataupun function tidak akan mempengaruhi nilai padavariabel yang dipassingkan, atau yang dikirimkan.
![Page 26: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/26.jpg)
uses crt;
var angka1,angka2,hasil : integer;
procedure dua(a,b,c : integer);
begin
c:=a+b;
writeln('Hasil = ', c);
end;
Begin
clrscr;
angka1:=10;
angka2:=5;
dua(angka1, angka2, hasil);
writeln;
writeln('angka1 = ', angka1);
writeln('angka2 = ', angka2);
writeln('hasil = ', hasil);
readln;
end.
![Page 27: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/27.jpg)
Parameter yang dikirimkan berupa acuan. Jadi apabilaterjadi pengubahan nilai pada prosedur ataupun functionakan mempengaruhi nilai pada variabel yangdipassingkan, atau yang dikirimkan. Kata kuncinyapemberian tambahan kata var pada pendeklarasianparameter.
![Page 28: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/28.jpg)
uses crt;
var angka1,angka2,hasil : integer;
procedure dua(var a,b,c : integer);
begin
c:=a+b;
writeln('Hasil = ', c);
end;
begin
clrscr;
angka1 :=10;
angka2:=5;
dua(angka1, angka2, hasil);
writeln;
writeln('angka1= ', angka1);
writeln('angka2= ', angka2);
writeln('hasil = ', hasil);
readln;
end.
![Page 29: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/29.jpg)
Buatlah program kalkulator untuk operasi penjumlahan,pengurangan, perkalian dan pembagian menggunakaninputan dari keyboard.
Setiap operasi HARUS menggunakan procedure ataufunction (Pakai Parameter).
![Page 30: IT132 Dasar-Dasar Pemrograman fileMerupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering](https://reader031.vdocuments.pub/reader031/viewer/2022021811/5ccbb51f88c993e4388db90f/html5/thumbnails/30.jpg)