Fungsi/Tamat

Fungsi nama[<jenisdata>] (parameter1[<jenisdata>][=NilaiTersedia], parameter2[<jenisdata>][=NilaiTersedia], ...)
     <aturcara>..
Tamat


Penerangan

Fungsi adalah sub kerja. Jika anda mempunyai suatu kumpulan arahan yang melakukan sesuatu tugas anda boleh kumpulkan mereka menjadi satu arahan dipanggil fungsi. katakan anda mempunyai arahan berikut

x=100
y=100
saiz=30
warna 255,255,255
bulat x,y,saiz,1
warna 0,0,0
bulat x,y,saiz-5,0,10,160
bulat x-3,y,2,1:bulat x+3,y,2,1
bulat x-10,y-10,4,1:bulat x+10,y-10,4,1

Anda boleh menjadikan ianya fungsi dengan menggunakan arahan fungsi seperti berikut

fungsi Muka()
     x=100
     y=100
     saiz=30
     warna 255,255,255
     bulat x,y,saiz,1
     warna 0,0,0
     bulat x,y,saiz-5,0,10,160
     bulat x-3,y,2,1:bulat x+3,y,2,1
     bulat x-10,y-10,4,1:bulat x+10,y-10,4,1
Tamat

Perhatian Muka adalah nama fungsi tersebut yang anda beri. Fungsi ini tidak mempunyai apa-apa paremeter kerana tiada apa dimasukkan kedalam ( ) . Kemudian anda boleh menjanakan fungsi ini dengan memberi arahan Muka() . Cuba lihat contoh berikut

Contoh:
fungsi Muka() '<--Ini adalah untuk menyediakan fungsi bernama Muka
     x=100
     y=100
     saiz=30
     warna 255,255,255
     bulat x,y,saiz,1
     warna 0,0,0
     bulat x,y,saiz-5,0,10,160
     bulat x-3,y,2,1:bulat x+3,y,2,1
     bulat x-10,y-10,4,1:bulat x+10,y-10,4,1
Tamat

Muka() '<--Ini arahan untuk memanggil fungsi diatas

Anda boleh memanggil fungsi tersebut dari mana-mana sahaja termasuk didalam fungsi yang lain (Fungsi adalah bersifat awam). Namun semua pembolehubah didalamnya telah menjadi pembolehubah yang lokal terhadap fungsi tersebut. Pembolehubahnya tidak boleh diakses oleh fungsi yang lain. Ini baik kerana anda boleh menggunakan pembolehubah yang namanya sama ditempat lain.

Anda boleh memanggil arahan Muka() yang anda buat ini berapa kali yang anda suka tetapi dalam kes diatas, ianya melakukan perkara yang sama. Untuk membuatkan ianya melakukan perkara sedikit berbeza kita boleh gunakan parameter. Katalah dalam kes diatas mari kita buatkan x,y dan saiz boleh berubah. Untuk itu kita buatkan x,y dan saiz menjadi sebahagian daripada parameter.

Contoh:
fungsi Muka(x=100,y=100,saiz=30) '<--Menjadikan x,y dan saiz sebahagian dari parameter
     warna 255,255,255
     bulat x,y,saiz,1
     warna 0,0,0
     bulat x,y,saiz-5,0,10,160
     bulat x-3,y,2,1:bulat x+3,y,2,1
     bulat x-10,y-10,4,1:bulat x+10,y-10,4,1
Tamat

Muka()

Sekarang mari kita panggil fungsi ini dengan tiga kali panggil dan memasukkan berbagai parameter seperti berikut
  1. Panggil pertama: x=200 , y=200 dan saiz 40
  2. Panggil kedua : x=300 , y=300 dan saiz 50
  3. Panggil ketiga : x=400 , y=250 dan saiz 20
Untuk itu arahannya adalah seperti berikut

Contoh:
fungsi Muka(x=100,y=100,saiz=30)
     warna 255,255,255
     bulat x,y,saiz,1
     warna 0,0,0
     bulat x,y,saiz-5,0,10,160
     bulat x-3,y,2,1:bulat x+3,y,2,1
     bulat x-10,y-10,4,1:bulat x+10,y-10,4,1
Tamat

Muka(200,200,40) '<--Panggil pertama: x=200 , y=200 dan saiz 40
Muka(300,300,50) '<--Panggil kedua : x=300 , y=300 dan saiz 50
Muka(400,250,20) '<--Panggil ketiga : x=400 , y=250 dan saiz 20

Penerangan lanjutan

Apabila fungsi disediakan, tidak ada janaan berlaku. Fungsi hanya dijana apabila anda memanggilnya. Fungsi boleh dipanggil dari mana-mana termasuk memanggil dirinya sendiri.

Kedudukan fungsi yang dicipta pula tidak penting. Ini bermakna anda boleh letak fungsi ciptaan anda dibahagian bawah aturcara namun Malaybasic akan tahu keujutannya. Pada umumnya, arahan dijana dari atas ke bawah tetapi berbeda dengan arahan fungsi dimana ianya dikompil dalam laluan pertama ('PASS 1'). Jadi ianya difahami walaupun diletak dibawah.

Pada setiap panggilan pembolehubahnya akan bermula dengan nilai 0 jika tidak dinyatakan. Ini berbeza dengan parameter dimana nilainya diberi semasa fungsi dipanggil. Semua pembolehubah pula akan dilupakan apabila fungsi tamat. Selain itu, pada dasarnya, anda tidak boleh mengakses pembolehubah diluar fungsi. Jika anda memerlukannya juga, mereka perlu disediakan dengan arahan Awam atau disediakan diluar mana-mana fungsi yang lain (Di aturcara utama). Tatasusunan dan Senarai tidak boleh dijadikan parameter kerana mereka bersifat awam. Pada dasarnya boleh diakses dimana-mana.

Fungsi boleh mengembalikan nilai. Ini sesuai bagi fungsi-fungsi yang membuat pengiraan. Sila rujuk kembali

Dalam penyediaan, parameter boleh mempunyai nilai tersedia. Jadi jika parameter ini ditinggalkan semasa fungsi dipanggil, nilai tersedia akan digunakan. Nilai tersedia disediakan dengan meletakkan = dan mengisi nilai selepas nama parameter dibuat. Jika parameter tiada nilai tersedia, nilainya mesti diberi semasa memanggil fungsi kelak.


Contoh:
fungsi Muka(x,y=100,saiz=30) 'y dan saiz memiliki nilai tersedia. x tiada nilai tersedia.
     warna 255,255,255
     bulat x,y,saiz,1
     warna 0,0,0
     bulat x,y,saiz-5,0,10,160
     bulat x-3,y,2,1:bulat x+3,y,2,1
     bulat x-10,y-10,4,1:bulat x+10,y-10,4,1
Tamat

Muka (300,,45) '<--Memanggil dengan meninggalkan parameter ke 2. Nilai y ialah 100 bakal digunakan
Muka (400,300) '<--Memanggil dengan meninggalkan parameter ke 3. Nilai saiz ialah 30 bakal digunakan

Lihat juga: konsepfungsi , kembali , pembolehubah