You are on page 1of 31

E 4162

Programming 2

kepada Object Oriented Programming C++


4

BAB 1 Pengenalan

* APAKAH C++?

C++

Pengaturcaraan Berstruktur

Pengaturcaraan Berorientasikan Objek

Rajah 1.1: Menunjukkan C++ merupakan superset kepada C

* KEPERLUAN C++ :
Peningkatan program yg semakin kompleks Penggunaan yang meluas industri perkilangan, perlainan dan rekabentuk persekitaran Unix
5

Contoh keratan aturcara C #include <stdio.h> void EnterData(); void EnterData() { char name[30]; printf (Name:); gets(name); } : : :

Contoh keratan aturcara C++ #include<iostream.h> #include<string.h> class Person{ private: char name[30]; public: void EnterData(); }; void Person::EnterData(char *a) { cout<<Name: ; cin.getline(name,30)} :

Perbezaan C dan C++


Item Header file Input function Output Function Comment C #include <stdio.h> scanf() printf() /* */ C++ #include<iostream.h> cin>> cout<< //

Evolusi C++
Pengaturcaraan C telah dicipta sewalam 1970 di Makmal Bell oleh Brian Kernighan and Dennis Ritchie.

Evolusi C++
Pengaturcaraan Bahasa C diubahsuai dari Bahasa B. Bahasa C kemudiannya dikemaskini ke Bahasa C++ ( C plus plus). C++ telah dicipta oleh Bjarne Stroustrup di makmal yang sama Bell Labs seawal tahun 1980.

* Pengaturcaraan berorientasikan objek (OOP)


1.0 Konsep berorientasikan objek Satu jenis pengaturcaraan di mana pengaturcara mentakrifkan jenis data bagi struktur data dan mentakrifkan jenis operasi yang akan dilaksanakan pada struktur data. Suatu pendekatan menulis perisian di mana data dan kelakuan objek dipakejkan bersama di dalam kelas. Objek merupakan ahli bagi suatu kelas.

Contoh: Struktur data Data No.pelajar Markah Jenis data Integer Perpuluhan

Jenis operasi: No.pelajar : Menyusun senarai pelajar berdasarkan No.pelajar. Markah : Mengira markah.
10

No.pelajar Markah

Pelajar

Mewarisi

Pelajar perempuan

Pelajar lelaki

2.0 Objek dan Kelas OBJEK Istilah yang digunakan untuk menerangkan pelbagai benda. Mengandungi data dan method. Apakah DATA? Data adalah..
11

Ciri-ciri (properties) sesuatu objek dikenali sebagai data. Didalam dunia nyata ciri-ciri boleh dibahagikan kepada dua bahagian: 1. Boleh dilihat seperti objek manusia mempunyai sepasang tangan. 2. Tidak boleh dilihat seperti manusia mempunyai nama. Apakah METOD? Metod adalah.. Method ialah suatu set fungsi yang memanipulasikan data, seperti method MenentukanStatus() boleh menentukan keputusan peperiksaan objek pelajar.
Objek : Pelajar Data : nama, alamat, nokadpengenalan, id, markah, status Metod : MenentukanStatus() Objek Data Method : Kotak : tinggi, kedalaman, lebar : MengiraIsipadu()

Satu Objek Contoh 1 : Objek Pelajar dengan data dan metod

Satu Objek Contoh 2 : Objek Kotak dengan data dan metod 12

KELAS

Satu set objek yang mempunyai ciri-ciri dan method yang hampir sama. Dengan menggunakan konsep kelas, atribut dan method sesuatu kelas boleh digunakan oleh setiap objek daripada kelas tersebut. Contoh1 - kelas Pelajar. Pelajar mempunyai ciri-ciri seperti nama, alamat, status dan sebagainya. Begitu juga dengan method iaitu perlu menentukan status pelajar sama ada lulus atau tidak. Contoh2 - kelas Kotak. Setiap kotak boleh mempunyai ciri-ciri am iaitu panjang, lebar dan kedalaman. Method yang perlu ialah untuk mengira luas dan isipadu kotak.
13

class Student { String name, address, status; int icno, sid; double marks; char DetermineStatus() { if marks >= 40 status = Pass; else status = Fail; } };

data

method

Kelas / Class

Contoh 1 : Mendefinisikan Kelas Pelajar

class Box { double width, height, depth; double ComputeVolume() { return( width * height * depth );} double ComputeArea() { return( width * height ); }; method

data

Kelas / Class

Contoh 2 : Mendefinisikan Kelas Kotak

14

4.0 KITAR HAYAT PEMBANGUNAN PROGRAM BERORIENTASIKAN OBJEK

Kitar hayat pembangunan program berorientasikan objek mengandungi 3 fasa utama iaitu: 1. Analisa berorientasikan objek (Object Oriented Analysis - OOA) 2. Rekabentuk berorientasikan objek (Object Oriented Design - OOD) 3. Pengaturcaraan berorientasikan objek (Object Oriented Programming - OOP)

15

4.0 KITAR HAYAT PEMBANGUNAN PROGRAM BERORIENTASIKAN OBJEK

1. Analisa berorientasikan objek (OOA):

Fasa ini merupakan proses menentukan keperluan sistem dan mengenalpasti kelas-kelas dan hubungan di antara kelas. Kita juga boleh mengenalpasti atribut penting bagi objek-objek ini dan menentukan tingkahlaku serta interaksi objek-objek ini.

16

4.0 KITAR HAYAT PEMBANGUNAN PROGRAM BERORIENTASIKAN OBJEK

2. Rekabentuk berorientasikan objek(OOD): Fasa ini merupakan fasa untuk merekabentuk kelas-kelas yang dikenalpasti semasa fasa analisa dan antaramuka pengguna.

17

4.0 KITAR HAYAT PEMBANGUNAN PROGRAM BERORIENTASIKAN OBJEK 3. Pengaturcaraan berorientasikan objek (perlaksanaan) -OOP.

Fasa ini akan menterjemahkan rekabentuk yang dibuat kepada kod yang sebenar. Analisa berorientasikan objek dan rekabentuk berorientasikan objek merupakan disiplin yang berlainan tetapi ia boleh saling dihubungkaitkan.

18

Analisa berorientasikan objek

Rekabentuk berorientasikan objek

Pengaturcaraan berorientasikan objek (Perlaksanaan) Rajah 1.8: Kitar hayat pembangunan program berorientasikan objek

19

5.0 KELEBIHAN PENGATURCARAAN BERORIENTASIKAN OBJEK


Pengaturcaraan berorientasikan objek ini menawarkan beberapa kelebihan. Antaranya ia dapat mengatasi masalah kerumitan perisian dan juga meningkatkan produktiviti. Berikut adalah beberapa kelebihan yang boleh digariskan:
I. Kod boleh ditambah Kemampuan untuk menambah pada kod yang telah wujud dan diselaraskan mengikut keperluan. Ia lebih sesuai dengan perisian baru. Contoh: pengawal automatik VCR berfungsi dengan cara yang sama dengan VCR baru yang bakal digunakan di masa hadapan. II. Kod boleh digunakan berulangkali Kod yang sedia ada telah diuji terlebih dahulu serta boleh diwarisi dari modul yang terdahulu. Ia akan menjimatkan kos dan masa yang diperlukan untuk membangunkan sesuatu perisian. Dengan cara ini ia akan meningkatkan produktiviti pengaturcara. III. Menggambarkan dunia sebenar Dengan penggunaan konsep pengaturcaraan berorientasikan objek, ia memudahkan pengaturcara memodulkan masalah kerana data-data yang digunakan adalah menggambarkan situasi sebenar. Oleh itu kerumitan dan kesukaran dalam membangunkan perisian dapat dikurangkan. IV. Keselamatan data Penggunaan konsep pengkapsulan telah menjadikan data-data lebih selamat dari gangguan dan penyalahgunaan dari pihak luar. 20

5.0 PERBEZAAN PENGATURCARAAN BERSTRUKTUR DAN PENGATURCARAAN BERORIENTASIKAN OBJEK 6.0 CONTOH ATURCARA PERTAMA C++ PENGATURCARAAN BERORIENTASIKAN OBJEK
//Aturcara pertama dalam C++ #include <iostream.h> int main() { cout<<Hello!<<endl; return 0; } (6) Return value (1) Komen (2) Pra pemroses direktif (3)Kepala fungsi (5)Arahan mencetak

(4) Badan fungsi main ( )

21

1) Komen Komen digunakan untuk memudahkan program dibaca. 2) Prapemproses direktif Satu komponen dalam pengkompil C++ yang akan mengarahkan prapemproses memasukkan kandungan fail iostream.h ke dalam aturcara. 3) Kepala fungsi Mengandungi nilai yang dipulangkan (di dalam contoh diatas ialah int). Merupakan fungsi yang pertama yang akan dilaksanakan oleh pengkompil.

22

4) Badan fungsi main(). Tanda kurungan sebelah kiri { menunjukkan permulaan setiap fungsi dan sebelah kanan }untuk menamatkan fungsi tersebut.Di antara tanda kurungan tersebut adalah semua penyataan di dalam fungsi C++ yang dipanggil blok. 5) Sintak untuk mengarahkan aturcara untuk mencetak perkataan Hello! yang terletak di antara dan . Katakunci endl digunakan untuk mengakhirkan cetakan dengan baris baru.

6) Nilai sifar dipulangkan pada sistem bagi menandakan bahawa aturcara ini telah b Tidak dimestikan untuk menyertakannya di dalam aturcara anda. Walau bagaiman amaran akan dikeluarkan oleh pengkompil jika tidak menyertakannya.

RINGKASAN BAB1
23

3.0 KONSEP-KONSEP UTAMA PENGATURCARAAN BERORIENTASIKAN OBJEK 1.0 Pengabstrakan data

2.0 Pengkapsulan data

3.0 Pewarisan data

4.0 Polimorfisma

CONTOH program yang mengandungi 4 konsep OOP


24

B. STRUKTUR PEMPROGRAMAN VISUAL C++ - ASAS(REVIEW) 1. Penggunaan aliran input dan output Penggunaan cin dan cout - Pengawal input (Console input) Untuk memasukkan data melalui pengawal sistem (papan kekunci). cin mengawal input. >> operator pengarahan semula atau penyelitan. Contoh : //pengistiharan pembolehubah int w; float x; char y; char z[15]; cin>>w; cin>>x>>y; cin>>x>>y>>z;

//integer //titik perpuluhan //huruf //string // nilai input //nilai 2 input //nilai 3 input
25

- Pengawal output(console output) Menghantar output kepada pengawal sistem (monitor). cout mengawal output. << operator indirection atau extraction. Contoh: cout<<w; //cetak tanpa label cout<< The value of x is <<x<<endl cout<<Coordinate(x,y)=(<<x<<,<<y<<)\n;

26

/* Program ini mengandungi pengiraan bagi jumlah 2 nombor */ #include <iostream.h> /* Ini merupakan prapemproses yang mengandungi arahan */ main ( ) { int x.y,sum; cout<<\nEnter first number :; /* Bahagian ini perlu dimasukkan oleh pengguna */ cin>>x; count<< \nEnter second number:; cin>>y; sum=x + y; /* menambah x dan y */ cout<<endl<<Sum=<<sum; return 0; /* menunjukkan program telah diakhiri dengan jayanya */ }

27

Struktur program
#include <iostream.h> void main() { cout<<C++ is with Classes; }

Teknik-teknik pengaturcaraan Jenis-jenis data - Data 2kategori data Berubah (variable) Nilai boleh ditukar semasa pelaksanaan program. Tetap (constant) Nilai tetap ditetapkan. Setiap pembolehubah mesti ada : i. Nama ii. Jenis iii Nilai yang dipegang yang telah anda umpukkan.

28

Peraturan memberi nama pembolehubah : Mesti dimulakan dengan huruf abjad tetapi selepas huruf pertama ia boleh mengandungi :- Huruf : A...Z, a...z - Nombor : 09 - Underscore : _10 Panjang pembolehubah - Panjang minima : 1 huruf - Panjang maksima : 30 huruf (bergantung kepada pengkompil) Jenis data pembolehubah - Jenis data pembolehubah boleh dibahagikan kepada 4 subkategori utama : 1. Huruf char, unsigned char, singed char 2. Integer 3. Nombor titik perpuluhan 4. String -Tiada jenis string dalam C++ **Gunakan tatasusunan huruf atau penunjuk untuk mengistiharkan pembolehubah
29

NOTA:!!!! Terdapat 2 cara yang boleh digunakan untuk mengumpukkan nilai kepada pembolehubah.

Penyataan pengumpukan Contoh : length = 25; Penyataan input Contoh : cin>>length;

30

Operator - Operator ialah simbol yang mengendalikan satu atau lebih ungkapan, menghasilkan nilai yang boleh diumpukkan kepada pembolehubah. Terdapat 5 jenis operator iaitu :

i. Operator Matematik
Simbol Symbol + * / & Makna Meaning Tambahan / Additional Penolakan / Subtraction Pendaraban / Multiply Bahagi / Division Modulus Contoh Example y= a + b y= a - b y= a * b y= a / b y= a & b Keputusan jika a=5, b=3 Result if a=5, b=3 y=8 y=2 y = 15 y = 1.667 y=2

31

ii. Operator logikal - Digunakan untuk membandingkan DATA


Simbol Symbol == != < > <= >= Makna Meaning Sama dengan / Equal to Tidak sama / Not equal to Lebih besar / Greater than Lebih kurang / Less then Lebih besar atau sama / Greater than or equal to Lebih kurang atau sama / Less than or equal to

32

Operator logikal
Simbol Symbol && || ! Makna Meaning DAN / AND ATAU / OR TIDAK / NOT

Pengumpukan majmuk
- Kombinasi operator matematik dan pengumpukan
Simbol Symbol += -= *= /= %= Pengumpukan Majmuk Compound Assignment a+ = 1; a- = 1; a* = 1; a/ = 1; a% = 1; Pengumpukan Normal Normal Assignment a = a +1; a = a -1; a = a *1; a = a /1; a = a %1; 33

Struktur kawalan Untuk mengawal keputusan, C++ menyediakan struktur kawalan ( dikenali juga dengan nama penyataan kawalan ) Berjujukan Pelaksanaan penyataan dalam susunan yang khusus ( sesuatu arahan akan dilaksanakan selepas arahan sebelumnya telah dibuat )

Sintaks: penyataan1; penyataan2; .. .. penyataan3; Arahan pertama Arahan di dalam program ini dilaksanakan secara berjujukan satu persatu, bermula daripada arahan yang pertama dan diakhiri dengan arahan terakhir.

Carta alir

Arahan akhir

Masuk

S1

S2

S3

S4

Keluar

34

You might also like