SUBRUTIN Pendahuluan Ada 2 macam subrutin yaitu prosedur
![SUBRUTIN SUBRUTIN](https://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-1.jpg)
SUBRUTIN
![Pendahuluan Ada 2 macam subrutin yaitu prosedur dan fungsi. Mengapa memerlukan subrutin? Karena dalam Pendahuluan Ada 2 macam subrutin yaitu prosedur dan fungsi. Mengapa memerlukan subrutin? Karena dalam](http://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-2.jpg)
Pendahuluan Ada 2 macam subrutin yaitu prosedur dan fungsi. Mengapa memerlukan subrutin? Karena dalam program yang besar, akan lebih baik jika tugas tertentu dilakukan subrutin tertentu agar program menjadi lebih mudah dibaca. Dan juga pelacakan kesalahan program juga dapat dilacak.
![Prosedur • Bentuk umum: prosedur nama_prosedur ( parameter 1; parameter 2; . . . Prosedur • Bentuk umum: prosedur nama_prosedur ( parameter 1; parameter 2; . . .](http://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-3.jpg)
Prosedur • Bentuk umum: prosedur nama_prosedur ( parameter 1; parameter 2; . . . ) begin (pernyataan-pernyataan) end;
![Fungsi • Bentuk umum: function nama_fungsi ( parameter 1; parameter 2; . . ); Fungsi • Bentuk umum: function nama_fungsi ( parameter 1; parameter 2; . . );](http://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-4.jpg)
Fungsi • Bentuk umum: function nama_fungsi ( parameter 1; parameter 2; . . ); tipe kembalian begin {pernyataan-pernyataan} end;
![Penjelasan Nama_prosedur dan nama_fungsi nama yang diberikan ke prosedur atau fungsi. Tipe kembalian adalah Penjelasan Nama_prosedur dan nama_fungsi nama yang diberikan ke prosedur atau fungsi. Tipe kembalian adalah](http://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-5.jpg)
Penjelasan Nama_prosedur dan nama_fungsi nama yang diberikan ke prosedur atau fungsi. Tipe kembalian adalah tipe dari data nilai yang dikembalikan oleh fungsi, Parameter 1, parameter 2, . . . Merupakan informasi yang diberikan ke prosedur atau fungsi
![Contoh prosedur dengan nama Prosedurku Procedure Prosedurku; begin {pernyataan-pernyataan} end; Contoh prosedur dengan nama Prosedurku Procedure Prosedurku; begin {pernyataan-pernyataan} end;](http://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-6.jpg)
Contoh prosedur dengan nama Prosedurku Procedure Prosedurku; begin {pernyataan-pernyataan} end;
![Contoh fungsi dengan nama Fungsiku Function Fungsiku : integer; begin {pernyataan-pernyataan} end; Contoh fungsi dengan nama Fungsiku Function Fungsiku : integer; begin {pernyataan-pernyataan} end;](http://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-7.jpg)
Contoh fungsi dengan nama Fungsiku Function Fungsiku : integer; begin {pernyataan-pernyataan} end;
![Contoh Subrutin dengan parameter procedure Coba (S : string); begin {pernyataan-pernyataan} end; Dalam memberikan Contoh Subrutin dengan parameter procedure Coba (S : string); begin {pernyataan-pernyataan} end; Dalam memberikan](http://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-8.jpg)
Contoh Subrutin dengan parameter procedure Coba (S : string); begin {pernyataan-pernyataan} end; Dalam memberikan parameter harus ditentukan tipe parameternya
![Parameter untuk prosedur atau fungsi Procedure Coba. Lagi ( S : string; X : Parameter untuk prosedur atau fungsi Procedure Coba. Lagi ( S : string; X :](http://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-9.jpg)
Parameter untuk prosedur atau fungsi Procedure Coba. Lagi ( S : string; X : integer; ); begin {pernyataan-pernyataan} end; Jika memerlukan beberapa parameter, masing parameter dipisahkan dengan tanda titik koma
![Untuk parameter yang sama -1 Function Lagilagi. Coba ( i, j : longint) : Untuk parameter yang sama -1 Function Lagilagi. Coba ( i, j : longint) :](http://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-10.jpg)
Untuk parameter yang sama -1 Function Lagilagi. Coba ( i, j : longint) : longint; begin {pernyataan-pernyataan} end; Karena memiliki 2 parameter yang sama yaitu i dan j bertipe longint , fungsi diatas memiliki tipe kembalian longint. Untuk mengembalikan nilai pada suatu fungsi, berikan nilai variabel yang bernama sama dengan nama fungsinya
![Untuk parameter yang sama -2 Function Lagilagi. Coba ( i, j : longint) : Untuk parameter yang sama -2 Function Lagilagi. Coba ( i, j : longint) :](http://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-11.jpg)
Untuk parameter yang sama -2 Function Lagilagi. Coba ( i, j : longint) : longint; begin Lagilagi. Coba : = i + j ; end;
![Ketentuan penting • Pemanggilan sebuah prosedur atau fungsi dilakukan dengan menyebut namanya Prosedurku; • Ketentuan penting • Pemanggilan sebuah prosedur atau fungsi dilakukan dengan menyebut namanya Prosedurku; •](http://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-12.jpg)
Ketentuan penting • Pemanggilan sebuah prosedur atau fungsi dilakukan dengan menyebut namanya Prosedurku; • Bila terdapat parameter, letakkan parameter dalam tanda kurung Coba (‘pascal’); • Memanggil prosedur Coba dengan parameter Pascal Coba. Lagi (‘Pascal’, 100); • Untuk menangkap nilai kembalian dari sebuah fungsi harus menyediakan variabel x : = Lagilagi. Coba (2, 5);
![Untuk menambahkan parameter dengan referensi, tambahkan kata kunci var didepan nama parameter. procedure Coba(var Untuk menambahkan parameter dengan referensi, tambahkan kata kunci var didepan nama parameter. procedure Coba(var](http://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-13.jpg)
Untuk menambahkan parameter dengan referensi, tambahkan kata kunci var didepan nama parameter. procedure Coba(var i, j: longint); begin i : = 100; j : = 200; end;
![Penjelasan Nilai parameter i dan j masing-masing akan diubah menjadi 100 dan 200. Bila Penjelasan Nilai parameter i dan j masing-masing akan diubah menjadi 100 dan 200. Bila](http://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-14.jpg)
Penjelasan Nilai parameter i dan j masing-masing akan diubah menjadi 100 dan 200. Bila menghilangkan kata kunci var, nilai parameter i dan j tidak akan berubah setelah prosedur Coba dipanggil. Dengan kata lain, parameter i dan j hanya akan bernilai 100 dan 200 pada prosedur Coba saja
![Sebuah prosedur atau fungsi dapat mendeklarasikan tipe, variabel atau konstanta lokal. var Global : Sebuah prosedur atau fungsi dapat mendeklarasikan tipe, variabel atau konstanta lokal. var Global :](http://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-15.jpg)
Sebuah prosedur atau fungsi dapat mendeklarasikan tipe, variabel atau konstanta lokal. var Global : integer; procedure Coba; begin Lokal : integer; end;
![Contoh Soal -1 Tulislah fungsi untuk memangkatkan suatu bilangan real dengan bilangan real lainnya. Contoh Soal -1 Tulislah fungsi untuk memangkatkan suatu bilangan real dengan bilangan real lainnya.](http://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-16.jpg)
Contoh Soal -1 Tulislah fungsi untuk memangkatkan suatu bilangan real dengan bilangan real lainnya. Fungsi ini menerima dua parameter bertipe bilangan real dan mengembalikan bilangan real hasil pemangkatan dua parameter.
![Contoh fungsi untuk melakukan fungsi pemangkatan function Pangkat (x, y : real) : real; Contoh fungsi untuk melakukan fungsi pemangkatan function Pangkat (x, y : real) : real;](http://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-17.jpg)
Contoh fungsi untuk melakukan fungsi pemangkatan function Pangkat (x, y : real) : real; var z : real; begin if (x < 0. 0 ) then begin if ( Round (y) = y ) then begin if ( Round (y) mod 2 = 0) then z : = exp (y * ln (-x)); else z : = -exp (y * ln (-x)); end; else begin Pangkat : = 0. 0; writeln(‘Tidak dapat diselesaikan’); exit; end else if (x > 0. 0 ) then z : = exp (y * ln (x)); else z : = 0. 0; Pangkat : = z; end;
![Contoh penggunaan fungsi pemangkatan var x, y : real; begin write (‘ Masukkan x Contoh penggunaan fungsi pemangkatan var x, y : real; begin write (‘ Masukkan x](http://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-18.jpg)
Contoh penggunaan fungsi pemangkatan var x, y : real; begin write (‘ Masukkan x : ‘); readln (x); write (‘Masukkan y : ‘); readln (y); writeln(‘ x ^ y : ‘ , Pangkat ( x , y ): 1: 3); end;
![Keluaran program Masukkan x : 3 Masukkan y : 4 x ^ y : Keluaran program Masukkan x : 3 Masukkan y : 4 x ^ y :](http://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-19.jpg)
Keluaran program Masukkan x : 3 Masukkan y : 4 x ^ y : 81. 000 Masukkan x : -5 Masukkan y : -2 x ^ y : 0. 040
![• Tulislah sebuah prosedur untuk menukar dua nilai variabel. Sebagai contoh jika terdapat • Tulislah sebuah prosedur untuk menukar dua nilai variabel. Sebagai contoh jika terdapat](http://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-20.jpg)
• Tulislah sebuah prosedur untuk menukar dua nilai variabel. Sebagai contoh jika terdapat variabel a dan b, setelah pemanggilan prosedur, nilai a sama dengan b dan nilai b sama dengan a. Prosedur ini menerima parameter bertipe bilangan real: • Temp b • B a • A temp
![Contoh soal 2 Procedure Tukar (var a, b : real); var temp : real; Contoh soal 2 Procedure Tukar (var a, b : real); var temp : real;](http://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-21.jpg)
Contoh soal 2 Procedure Tukar (var a, b : real); var temp : real; begin temp : = b; b: = a; a: = temp; end;
![var a, b : integer; begin write ( ‘Masukkan a = ‘); readln(a); write var a, b : integer; begin write ( ‘Masukkan a = ‘); readln(a); write](http://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-22.jpg)
var a, b : integer; begin write ( ‘Masukkan a = ‘); readln(a); write ( ‘masukkan b=‘); readln(b); Tukar (a, b); writeln( ‘ a = ‘, a: 1: 3); writeln( ‘ b= ‘, b: 1: 3); end;
![Masukkan a : 5 Masukkan b : 7 A = 7000 B=5000 Masukkan a : 5 Masukkan b : 7 A = 7000 B=5000](http://slidetodoc.com/presentation_image_h2/76fc6c4e97f3ae22dc0c5903078b007b/image-23.jpg)
Masukkan a : 5 Masukkan b : 7 A = 7000 B=5000
- Slides: 23