spm2102 bahasa pengaturcaraan 1 fungsiocw.utm.my/file.php/181/spm2102-fungsi-bm.pdf · elemen...
TRANSCRIPT
![Page 1: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/1.jpg)
BAHASA PENGATURCARAAN 1
SPM2102
FUNGSI
NORASYKIN MOHD ZAID
1
Disediakan oleh:
FUNGSI
NORAH MD NOOR
![Page 2: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/2.jpg)
FUNGSI
Di akhir pengajaran ini anda akan mempelajari:
•Elemen fungsi.
•Skop pembolehubah dan fungsi.•Skop pembolehubah dan fungsi.
![Page 3: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/3.jpg)
ELEMEN FUNGSI
• Satu entiti dalam aturcara C++ yang mengandungisatu set arahan untuk melakukan tugas.
• Dua kategori fungsi:
– Fungsi takrifan pengguna – fungsi yang – Fungsi takrifan pengguna – fungsi yang direkabentuk dan ditulis sendiri olehpengaturcara
– Fungsi piawai perpustakaan - untukmenggunakan fungsi-fungsi ini, fail kepalaperlu dimasukkan, contoh cout dan cin denganmemasukkan fail kepala iostream
![Page 4: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/4.jpg)
ELEMEN FUNGSI
• Contoh fungsi takrifan pengguna mudah:
int luas_segiempat (int panjang, int lebar)
{{
int luas;
luas = panjang * lebar;
return luas;
}
![Page 5: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/5.jpg)
ELEMEN FUNGSI• Contoh fungsi piawai perpustakaan
– sqrt (16)
– ceil (3.5)
– getch( )
DisimpanDisimpan dalamdalam piawaipiawai perpustakaanperpustakaan math.hmath.h
– getch( )
– exit( )
– system( )
– ctime( )
DisimpanDisimpan dalamdalam piawaipiawai perpustakaanperpustakaan stdlib.hstdlib.h
DisimpanDisimpan dalamdalam piawaipiawai perpustakaanperpustakaan time.htime.h
DisimpanDisimpan dalamdalam piawaipiawai perpustakaanperpustakaan conio.hconio.h
![Page 6: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/6.jpg)
ELEMEN FUNGSI
• Tiga elemen penting fungsi
– Takrifan fungsi
– Memanggil fungsi
– Prototaip fungsi
![Page 7: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/7.jpg)
ELEMEN FUNGSI
• Takrifan fungsi adalah menggunakan sintaks
berikut:
Jenis_fungsi Nama_fungsi ( Senarai Parameter)Jenis_fungsi Nama_fungsi ( Senarai Parameter)
{
…badan fungsi
}
![Page 8: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/8.jpg)
ELEMEN FUNGSI
• Contoh fungsi mudah:
– int luas_segiempat (int panjang, int lebar)
{
Jenis Nama Senarai parameter
{
int luas;
luas = panjang * lebar;
return luas;
}
Badan fungsi
![Page 9: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/9.jpg)
ELEMEN FUNGSI
• Memanggil fungsi
– Untuk melakukan sesuatu tugas, fungsi perlu
dipanggil
– Terdapat tiga perkara perlu diketahui sebelum– Terdapat tiga perkara perlu diketahui sebelum
fungsi dapat dipanggil
• Nama fungsi
• Parameter yang diperlukan
• Nilai yang akan dipulangkan
![Page 10: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/10.jpg)
ELEMEN FUNGSI
• Nama fungsi
– Fungsi dapat dipanggil dengan menulis kembali
nama fungsi yang hendak dipanggil
– Selepas itu, diikuti dengan bilangan data yang – Selepas itu, diikuti dengan bilangan data yang
diperlukan dengan urutan yang betul
• Contoh:
– luas_segiempat (void);
– luas_segiempat (4, 4);
![Page 11: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/11.jpg)
ELEMEN FUNGSI
• Data yang dihantar kepada fungsi perlu terdiri
daripada jenis yang sama seperti yang telah
ditakrifkan pada senarai fungsi
• Bilangan data dan urutan juga perlu sama • Bilangan data dan urutan juga perlu sama
seperti dalam takrifan fungsi
• Data-data yang dihantar akan digunakan
sebagai nilai parameter fungsi yang dipanggil
![Page 12: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/12.jpg)
ELEMEN FUNGSI
• Contoh panggilan fungsi luas_segiempat:
luas_segiempat ( 4 , 6 )
int luas_segiempat (int panjang, int lebar)
{
int luas;
luas = panjang * lebar;
return luas;
}
![Page 13: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/13.jpg)
ELEMEN FUNGSI
• Contoh cetakan segiempat ‘*’:
cetak_segiempat ( 4, 5, ‘*’)
void cetak_segiempat ( int panjang, int lebar, char simbol)
{{
for ( int x = 1; x <= panjang; x++)
{
cout<<endl;
for (int y=1; y<= lebar; y++)
cout<<simbol;
}
}
![Page 14: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/14.jpg)
ELEMEN FUNGSI
• Contoh:
1. cetak_segiempat (3, 6, ‘*’)
2. cetak_segiempat (6, 3, ‘*’)
3. cetak_segiempat (‘*’, 3, 6)3. cetak_segiempat (‘*’, 3, 6)
• Output:
1. ******************
2. ******************
3. ?
![Page 15: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/15.jpg)
ELEMEN FUNGSI
• Pemulangan nilai berlaku apabila fungsi bukan
dari jenis void
• Nilai yang dipulangkan perlu diuruskan
dengan betul oleh pengaturcaradengan betul oleh pengaturcara
– Memproses
– Menyimpan
– Mencetak
![Page 16: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/16.jpg)
ELEMEN FUNGSI
• Contoh pengunaan:
• Menyimpan nilai
– luas = luas_segiempat(4, 4);
• Mencetak nilai
– cout<<luas_segiempat(4, 4);– cout<<luas_segiempat(4, 4);
• Memproses nilai
– if(luas_segiempat(4, 4) = = 0)
cout<<“Satu titik”;
else
cout<<“Segiempat”;
![Page 17: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/17.jpg)
ELEMEN FUNGSI
• Prototaip fungsi
– Seperti pembolehubah, fungsi perlu diisytiharkan terlebih
dahulu sebelum digunakan
– Pengisytiharaan fungsi ini dikenali sebagai prototaip fungsi
– Digunakan untuk memastikan bilangan dan jenis
parameter yang dihantar oleh fungsi pemanggil adalah
sama dengan bilangan dan jenis fungsi yang dipanggil
– Prototaip fungsi perlu dilakukan sekiranya fungsi dipanggil
dalam aturcara utama sebelum takrifan fungsi dibuat
![Page 18: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/18.jpg)
ELEMEN FUNGSI
• Sintaks prototaip fungsi:
– Jenis_fungsi Nama_fungsi (Jenis parameter);
• Contoh:• Contoh:
– int luas_segiempat (int, int)
– void menu_utama (void)
– char gred (float)
![Page 19: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/19.jpg)
ELEMEN FUNGSI
� Penghantaran nilai kepada fungsi� Penghantaran nilai sebenar
� Penghantaran alamat nilai
� Penghantaran nilai sebenar� Pemalar cth: luas_segiempat(2, 2)
� Pembolehubah cth: luas_segiempat( x, y)
� Ungkapan cth: luas_segiempat((x-2), (y-4))
![Page 20: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/20.jpg)
SKOP PEMBOLEHUBAH DAN FUNGSI
• Menentukan kawasan di mana sesuatu
pembolehubah boleh digunakan
• Konsep ini penting untuk menentukan perkongsian
pembolehubahpembolehubah
• Skop pembolehubah dan fungsi ditentukan oleh
tempat dimana pembolehubah dan fungsi berada
• Terdapat dua jenis skop:
– Setempat
– Sejagat
![Page 21: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/21.jpg)
SKOP PEMBOLEHUBAH DAN FUNGSI
• Pembolehubah sejagat
– Boleh dicapai oleh semua fungsi yang berada
dalam aturcara yang sama
– Hayat pembolehubah sejagat adalah sepanjang – Hayat pembolehubah sejagat adalah sepanjang
perlaksanaan aturcara
– Lokasi pembolehubah sejagat adalah di luar fungsi
main
![Page 22: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/22.jpg)
SKOP PEMBOLEHUBAH DAN FUNGSI
Contoh pembolehubah sejagat:
#include<iostream.h>
int x, y;//pembolehubah sejagat
void main( )void main( )
{
int hasil;
x = 2; y = 4; //capai dan ubah pembolehubah sejagat
hasil = x * y;
cout<<“Hasil darab dua nombor ”<<x<<“ dan ” <<y;
cout<<“ adalah ”<< hasil;
}
![Page 23: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/23.jpg)
SKOP PEMBOLEHUBAH DAN FUNGSI
• Pembolehubah setempat
– Hanya dapat dicapai oleh fungsi yang mempunyai
pembolehubah jenis ini
– Lokasi pembolehubah jenis ini adalah di dalam – Lokasi pembolehubah jenis ini adalah di dalam
sesuatu fungsi
– Hayat pemboleubah jenis ini berakhir apabila
fungsi tamat melakukan tugas
![Page 24: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/24.jpg)
SKOP PEMBOLEHUBAH DAN FUNGSI
• Contoh pembolehubah setempat:
#include<iostream.h>
int x, y;
void main( )
{{
int hasil; //pembolehubah setempat
x = 2; y = 4;
hasil = x * y; //capai dan guna pembolehubah setempat
cout<<“Hasil darab dua nombor ”<<x<<“ dan ” <<y;
cout<<“ adalah ”<< hasil;
}
![Page 25: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/25.jpg)
SKOP PEMBOLEHUBAH DAN FUNGSI
• Skop fungsi terdiri daripada:
– Prototaip sejagat
– Prototaip setempat
• Prototaip sejagat
– Diisytiharkan diluar fungsi main
– Skop panggilan fungsi bermula daripada ianya
diisytiharkan sehingga tamat aturcara
![Page 26: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/26.jpg)
SKOP PEMBOLEHUBAH DAN FUNGSI
• Prototaip setempat
– Diisytiharkan di dalam sesuatu fungsi
– Skop panggilan fungsi hanya tertumpu pada blok
fungsi tersebutfungsi tersebut
![Page 27: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/27.jpg)
SKOP PEMBOLEHUBAH DAN FUNGSIContoh :
#include <iostream.h>
int luas_segiempat (int, int); //pengisytiharaan prototaip fungsi sejagat
void main( )
{
cout<<“Luas segiempat sama dengan sisi 4 adalah ”; cout<<“Luas segiempat sama dengan sisi 4 adalah ”;
cout<<luas_segiempat(4,4); //pemangil fungsi luas segiempat
cout<<endl;
}
int luas_segiempat (int panjang, int lebar) //takrifan fungsi luas segiempat
{
int luas; //pengisytiharaan pembolehubah setempat
luas = panjang * lebar; //pengiraan menggunakan pembolehubahsetempat
return luas; //pemulangan nilai int
}
![Page 28: SPM2102 BAHASA PENGATURCARAAN 1 FUNGSIocw.utm.my/file.php/181/spm2102-Fungsi-BM.pdf · ELEMEN FUNGSI • Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti](https://reader031.vdocuments.net/reader031/viewer/2022021606/5e1a67c469eb5e0b9f44ba4a/html5/thumbnails/28.jpg)
Rujukan
• Jabatan Multimedia Pendidikan (2004), Pengenalan kepada Bahasa
Pengaturcaraan dalam Konteks Bahasa C++ , Faculti Pendidikan,
UTM ( unpublished )
• Abdullah Zawawi Talib, Ahamad Tajudin Khader, Maziani Sabudin,
Wahidah Husain (2002), Prinsip-Prinsip Pengaturcaraan
Menggunakan C++ : Edisi kedua, Pearson Malaysia, ISBN 983-9236-Menggunakan C++ : Edisi kedua, Pearson Malaysia, ISBN 983-9236-
87-3
• Bakar, M. A et al (2002). Pengaturcaraan C. Malaysia. Prentice Hall
• Deitel, P. J., & Deitel, H. M. (2005). C++ How to Program (5th
Edition), Prentice Hall
Bahasa Pengaturcaraan I 28