Langsung ke konten utama

Menerapkan Penggunaan Fungsi dan Prosedur

Indikator Pencapaian Kompetensi

IPK Pengetahuan

  • Menjelaskan konsep fungsi dalam bahasa pemrograman
  • Menerapkan fungsi-fungsi buatan sendiri
  • Menerapkan fungsi-fungsi bawaan dari bahasa pemrograman

IPK Keterampilan

  • Membuat aplikasi dengan fungsi buatan sendiri
  • Membuat aplikasi dengan fungsi bawaan bahasa pemrograman

Tujuan Pembelajaran

  • Siswa dapat menerapkan fungsi dan prosedur buatan sendiri maupun bawaan dalam suatu aplikasi
  • Siswa dapat mengetahui salah satu teknik pemrograman terstruktur yaitu pada pembuatan Sub Program atau penerapan konsep program modular.

Materi Kegiatan Pembelajaran


PROCEDURE DAN FUNCTION

Pemahaman fungsi dan prosedur ini menjadi fondasi atau dasar pemahaman pemrograman berbasis objek. Tanpa pemahaman yang paripurna mengenai faham fungsi atau prosedur maka akan kesulitan untuk memahami pemrograman berorientasi objek.


 PROSEDUR DAN FUNGSI

Prosedur maupun fungsi adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram (program bagian). Prosedur diawali  dengan kata cadangan “Procedure” sedangkan fungsi diawali dengan kata cadangan “Fungction” pada bagian deklarasinya.

 Perbedaan paling mendasar antara Procedure dan Fungsi bahwa Pada Procedure tidak dapat memulangkan(mengembalikan)   nilai kepada bagian program yang memanggilnya sedangkan pada fungsi dapat memulangkan nilai.

 Bentuk Umum Pendeklarasian Procedure :

 Procedure Nama_Prosedur;

 Begin

Statement;
. . .
Statement;

End;

 

Atau :

Procedure Nama_Prosedur(Daftar Parameter); Begin

Statement;
 . .
Statement;

End;

Bentuk Umum Pendeklarasian Fungsi :

Function Nama_Fungsi : Type_Data;

Begin

Statement;
. . .
Statement;

End;

 Atau :

Function Nama_Fungsi(Daftar Parameter): Type_Data; Begin

Statement;
. . .

Statement;

End;


Contoh Program :

{ Contoh Pemakaian Procedure dan Fungsi }

Uses CRT;

Var

op1,op2 : integer;

Hasil : integer;

{ Prosedur cetak hasil }

Procedure Cetak_hasil(hasil :integer);

Begin

Write(' Hasil Penjumlahan  = ',hasil);

End;

 { Fungsi Tambah }

 Function Tambah(a: integer; b:integer):integer; Begin

Tambah := a + b;

End;

 

{ Program Utama } Begin

Clrscr;

 

Write(' Masukkan Operand 1 = '); Readln(op1);
Write(' Masukkan Operand 2 = '); Readln(op2);

hasil := Tambah(op1,op2); Cetak_Hasil(hasil); Readln;

End.

 PARAMETER FORMAL DAN PARAMETER AKTUAL

Parameter Formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi atau prosedur.
Parameter Aktual adalah variabel (parameter) yang dipakai dalam pemanggilan fungsi atau prosedur

Dalam contoh program pertambahan di atas parameter formal terdapat pada pendefinisisan fungsi dan Procedure.

Procedure Cetak_hasil(hasil :integer);

Function Tambah(a: integer; b:integer):integer;

Sedangkan parameter aktual terdapat pada pemanggilan fungsi atau procedure hasil :=

Tambah(op1,op2);

Cetak_Hasil(hasil);

 CARA MELEWATKAN PARAMETER

 Cara melewatkan suatu parameter dalam Bahasa Pascal ada dua cara yaitu pemanggilan secara nilai (Call by Value) dan Pemanggilan Secara Referensi

 

(Call by Reference).

 Pemanggilan Secara Nilai (Call By Value)

 Call by value akan menyalin nilai dari parameter aktual ke parameter formal. Yang dikirimkan ke fungsi atau prosedur adalah nilai dari datanya, bukan alamat memori letak dari datanya.

Fungsi dan prosedur yang menerima kiriman nilai akan menyimpannya di alamat terpisah dari nilai aslinya yang digunakan oleh bagian program yang memanggil fungsi atau prosedur.

Perubahan nilai di fungsi atau prosedur (parameter formal) tidak akan merubah nilai asli di bagian program yang memanggilnya.

Pengiriman parameter secara nilai adalah pengiriman searah, yaitu dari bagian program yang memanggil fungsi atau prosedur ke fungsi atau prosedur yang dipanggil.

Pengiriman suatu nilai dapat dilakukan untuk suatu ungkapan, tidak hanya untuk sebuah variabel, elemen array atau konstanta saja.

Contoh Program :

{ Program pemanggilan prosedur atau fungsi secara pengiriman nilai (call by value) }

Uses CRT;

 

Var

a,b : integer;

{ Deklarasi Procedure Tukar } Procedure tukar(x:integer;y:integer); Var

z : integer; { variabel sementara } Begin

{ tukar nilai x dan y }

z := x;

x := y;

y := z;

 

Writeln(' Nilai di akhir fungsi tukar() '); Writeln(' x = ',x,', y = ', y);

End;

 { Program Utama } Begin

Clrscr;

{ inisialisasi nilai a dan b } a := 15;

b := 10;

Writeln('<< Nilai sebelum pemanggilan fungsi >>'); Writeln(' a = ',a,' b = ',b);

tukar(a,b); { pemanggilan prosedur tukar()} Writeln('<< Nilai setelah pemanggilan fungsi >>'); Writeln(' a = ',a,' b = ',b);

Readln;

End.

Pemanggilan Secara Referensi (Call by Reference)

Pemanggilan secara Referensi merupakan upaya untuk melewatkan alamat dari suatu variabel ke dalam fungsi atau prosedur.

Yang dikirimkan ke fungsi atau prosedur adalah alamat letak dari nilai datanya, bukan nilai datanya.

Fungsi atau prosedur yang menerima kiriman alamat ini akan menggunakan alamat yang sama untuk mendapatkan nilai datanya.

Perubahan nilai di fungsi atau prosedur akan merubah nilai asli di bagian program yang memanggil fungsi atau prosedur.

Pengiriman parameter secara referensi adalah pengiriman dua arah, yaitu dari fungsi atau prosedur pemanggil ke fungsi atau prosedur yang dipanggil dan juga sebaliknya.

Pengiriman secara acuan tidak dapat dilakukan untuk suatu ungkapan.

Contoh Program :

{ Program pemanggilan prosedur atau fungsi secara pengiriman referensi (call by reference) }

Uses CRT;

Var

a,b : integer;

 { Deklarasi Procedure Tukar }

 Procedure tukar(var x:integer;var y:integer); Var

 z : integer; { variabel sementara } Begin

 { tukar nilai x dan y } z := x;

 x := y; y := z;

 Writeln(' Nilai di akhir fungsi tukar() '); Writeln(' x = ',x,', y = ', y);

End;

 { Program Utama } Begin

Clrscr;

 { inisialisasi nilai a dan b } a := 15;

 b := 10;

Writeln('<< Nilai sebelum pemanggilan fungsi >>'); Writeln(' a = ',a,' b = ',b);

tukar(a,b); { pemanggilan prosedur tukar()} Writeln('<< Nilai setelah pemanggilan fungsi >>');

Writeln(' a = ',a,' b = ',b);

Readln;

End.

 

PENGGOLONGAN VARIABEL

 Berdasarkan kelas penyimpanannya variable pada Pascal secara umum dapat dibedakan kedalam dua kelas yaitu :

Variabel lokal

 Variabel lokal adalah variabel yang dideklarasikan di dalam fungsi.

 Sifat-sifat variabel lokal :

 Secara otomatis akan diciptakan ketika fungsi dipanggil dan akan lenyap ketika proses eksekusi terhadap fungsi berakhir.

 Hanya dikenal oleh fungsi tempat variabel dideklarasikan

 Tidak ada inisialisasi secara otomatis (saat variabel diciptakan nilainya random).



Variabel global (eksternal)
Variabel global (eksternal) adalah variabel yang dideklarasikan di luar fungsi.
Sifat-sifat variabel global :
Dikenal (dapat diakses) oleh semua fungsi.

Jika tidak diberi nilai awal secara otomatis berisi nilai nol.






Penilaian / TUGAS :

Buatlah fungsi untuk menentukan apakah suatu bilangan adalah bilangan ganjil atau bilangan genap.

Buatlah prosedur yang akan meng-input 10 data numerik lalu akan melakukan pensortiran secara Ascending (dari terkecil ke terbesar).

Buatlah suatu fungsi yang akan memulangkan nilai faktorial dari suatu bilangan.






Komentar

Postingan populer dari blog ini

Fase Fase Capaian Pembelajaran pada Kurikulum Merdeka SMK

Kurikulum ‘Merdeka’ membagi pendidikan   ke dalam beberapa fase  Berikut penjelasan singkat mengenai masing-masing fase: Fase A : Diperuntukkan bagi siswa kelas 1 dan 2 SD. Pada fase ini, fokusnya adalah pada pengembangan dasar-dasar literasi dan numerasi, serta pengenalan lingkungan sekitar. Fase B : Diperuntukkan bagi siswa kelas 3 dan 4 SD. Siswa mulai memperdalam literasi dan numerasi, serta mulai mengenal konsep-konsep dasar dalam berbagai mata pelajaran seperti sains dan sosial. Fase C : Diperuntukkan bagi siswa kelas 5 dan 6 SD. Pada fase ini, siswa mulai mempelajari materi yang lebih kompleks dan mendalam dalam berbagai mata pelajaran, serta mulai mengembangkan keterampilan berpikir kritis dan kreatif. Fase D : Diperuntukkan bagi siswa kelas 7, 8, dan 9 SMP. Siswa mulai mempersiapkan diri untuk pendidikan menengah atas dengan mempelajari materi yang lebih spesifik dan mendalam dalam berbagai mata pelajaran, serta mengembangkan keterampilan akademik dan non-akademi...

TOKO ONLINE - Tahapan membuka jualan online

A. Persiapan  Hal hal yang peru disiapkan untuk  berjualan secara online, berikut adalah beberapa hal yang perlu Anda siapkan: Produk atau Layanan : Tentukan produk atau layanan apa yang ingin Anda jual. Pastikan ada permintaan di pasar dan produk Anda unik atau memiliki keunggulan dibandingkan kompetitor. Riset Pasar : Pelajari tren pasar dan target audiens Anda. Pahami kebutuhan, preferensi, dan perilaku konsumen yang menjadi target Anda. Platform Penjualan : Pilih platform penjualan online yang sesuai, seperti marketplace (Tokopedia, Shopee, Bukalapak), media sosial (Instagram, Facebook), atau website e-commerce sendiri. Branding dan Identitas Visual : Buat branding yang kuat, termasuk nama toko, logo, dan estetika visual yang konsisten. Hal ini membantu dalam membangun kepercayaan dan pengenalan merek. Konten Produk : Siapkan deskripsi produk yang menarik dan informatif, serta foto produk yang berkualitas tinggi. Konten yang baik dapat menarik perhatian dan meningkatkan k...

Soal dan Jawaban Pemrograman Java 1

I. ESSAY TERSTRUKTUR 1. Konsep dasar object (object Oriented) meliputi 3 hal, Sebutkan ! 2. Sebagai sebuah platform, Java terdiri atas dua bagian utama, yaitu sebagai ? 3. Sebutkan 3(tiga) arsitektur Java menurut Sun ? 4. Sebutkan minimal 3 atribut/data  yang melekat pada diri anda bila anda dipandang sebagai objek ? 5. Sebutkan minimal 3 method/"perilaku" yang melekat pada diri anda jika anda dipandang sebagai objek ? 6. Sebutkan 5 bagian dari bagan dasar program java ! (Catatan : hanya menyebutkan saja, detil bagiannya tak perlu dijelaskan ) 7. Untuk penulisan komentar beberapa baris pada program java supaya tidak akan diproses oleh ‘virtual mechine’, caranya adalah dengan memberikan tanda awal yaitu tanda a)….. dan diakhiri dengan tanda b)…., sedangkan komentar untuk satu baris dapat menggunakan tanda c) …. 8. Sebutkan 2(dua) kelompok “Error” dalam pemograman java? 9. Sebutkan minimal sepuluh buah katakunci bahasa java (Java Keyword) yang kalian ...