bab1-pengenalan oop

Post on 31-Oct-2015

271 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

BAB 1Pengenalan

E 4162

Programming 2

Object Oriented Programming C++kepada

4

Pengaturcaraan BerstrukturC

C++

Pengaturcaraan Berorientasikan Objek

Rajah 1.1: Menunjukkan C++ merupakan superset kepada C

* APAKAH C++?

* KEPERLUAN C++ :

• Peningkatan program yg semakin kompleks

• Penggunaan yang meluas – industri perkilangan, perlainan dan rekabentukpersekitaran Unix

5

Contoh keratan aturcara C Contoh keratan aturcara C++#include <stdio.h>

void EnterData();void EnterData(){

char name[30];printf (“Name:”);gets(name);

}:::

#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)}:

6

Perbezaan C dan C++Item C C++

Header file #include <stdio.h> #include<iostream.h>

Input function scanf() cin>>

Output Function

printf() cout<<

Comment /* */ //

7

Evolusi C++

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

8

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.

9

* 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.

Strukturdata

Contoh:Data Jenis data

No.pelajar IntegerMarkah Perpuluhan

Jenis operasi:No.pelajar : Menyusun senarai pelajar berdasarkan No.pelajar.

Markah : Mengira markah. 10

Pelajar

No.pelajarMarkah

Mewarisi

Pelajar perempuan Pelajar lelaki

2.0 Objek dan Kelas

• Istilah yang digunakan untuk menerangkan pelbagai benda.

• Mengandungi data dan method.

• Apakah DATA? – Data adalah…..

OBJEK

11

Ciri-ciri (properties) sesuatu objek dikenali sebagai data. Didalam dunia nyata ciri-ciriboleh 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.

Contoh 1 : Objek Pelajar dengan data danmetod

Objek : PelajarData : nama, alamat, nokadpengenalan, id, markah, statusMetod : MenentukanStatus()

SatuObjek

Objek : KotakData : tinggi, kedalaman, lebarMethod : MengiraIsipadu()

SatuObjek

Contoh 2 : Objek Kotak dengan data danmetod

12

KELAS

• Satu set objek yang mempunyai ciri-ciri dan method yang hampir sama.

• Dengan menggunakan konsep kelas, atribut dan method sesuatukelas 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

Contoh 1 : Mendefinisikan Kelas Pelajar

class Student{ String name, address, status;

int icno, sid; double marks;

char DetermineStatus(){ if marks >= 40

status = “Pass”;else

status = “Fail”; }

};

Kelas / Class

data

method

class Box{ double width, height, depth;

double ComputeVolume(){ return( width * height * depth );}

double ComputeArea(){ return( width * height ); }

};Kelas / Class

data

method

Contoh 2 : Mendefinisikan Kelas Kotak 14

4.0 KITAR HAYAT PEMBANGUNAN PROGRAM BERORIENTASIKAN OBJEK

• Kitar hayat pembangunan program berorientasikanobjek

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 kodyang sebenar.

Analisa berorientasikan objek dan rekabentuk berorientasikan objekmerupakan 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

Pengaturcaraan berorientasikan objek ini menawarkan beberapa kelebihan. Antaranya ia dapat mengatasi masalah kerumitan perisian dan juga meningkatkanproduktiviti. Berikut adalah beberapa kelebihan yang boleh digariskan:

5.0 KELEBIHAN PENGATURCARAANBERORIENTASIKAN OBJEK

I. Kod boleh ditambahKemampuan 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 berulangkaliKod 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 sebenarDengan penggunaan konsep pengaturcaraan berorientasikan objek, ia memudahkanpengaturcara memodulkan masalah kerana data-data yang digunakan adalah menggambarkansituasi sebenar. Oleh itu kerumitan dan kesukaran dalam membangunkan perisian dapat dikurangkan.

IV. Keselamatan dataPenggunaan konsep pengkapsulan telah menjadikan data-data lebih selamat dari gangguandan 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;}

(1)

(2)

(3)

(5)

(6)

(4)

Komen

Pra pemrosesdirektif

Kepala fungsi

Arahan mencetak

Return value

Badan fungsi main ( )

21

1) KomenKomen digunakan untuk memudahkan program dibaca.

2) Prapemproses direktifSatu komponen dalam pengkompil C++ yang akan mengarahkanprapemproses memasukkan kandungan fail iostream.h ke dalam aturcara.

3) Kepala fungsiMengandungi 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 permulaansetiap fungsi dan sebelah kanan }untuk menamatkan fungsitersebut.Di antara tanda kurungan tersebut adalahsemua penyataan di dalam fungsi C++ yang dipanggil blok.

5) Sintak untuk mengarahkan aturcara untuk mencetak perkataanHello! 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 berjayaTidak dimestikan untuk menyertakannya di dalam aturcara anda. Walau bagaimanapunamaran akan dikeluarkan oleh pengkompil jika tidak menyertakannya.

RINGKASAN BAB123

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 OOP24

B. STRUKTUR PEMPROGRAMAN VISUAL C++

- ASAS(REVIEW)

1. Penggunaan aliran input dan outputPenggunaan 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 pembolehubahint w; //integerfloat x; //titik perpuluhanchar y; //hurufchar z[15]; //stringcin>>w; // nilai inputcin>>x>>y; //nilai 2 inputcin>>x>>y>>z; //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 labelcout<< “ The value of x is “<<x<<endlcout<<”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

#include <iostream.h>void main()

{cout<<”C++ is with Classes”;

}

Struktur program

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. Namaii. Jenisiii Nilai yang dipegang yang telah anda umpukkan.

28

Peraturan memberi nama pembolehubah :

• Mesti dimulakan dengan huruf abjad tetapi selepas huruf pertama ia bolehmengandungi :-- Huruf : A...Z, a...z- Nombor : 0…9- 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. Hurufchar, unsigned char, singed char2. Integer3. Nombor titik perpuluhan4. String-Tiada jenis string dalam C++**Gunakan tatasusunan huruf atau penunjuk untuk mengistiharkan pembolehubah

29

NOTA:-

!!!! Terdapat 2 cara yang boleh digunakan untukmengumpukkan nilai kepada pembolehubah.

Penyataan pengumpukanContoh : length = 25;

Penyataan input Contoh : cin>>length;

30

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

SimbolSymbol

MaknaMeaning

ContohExample

Keputusan jika a=5, b=3

Result if a=5, b=3

+ Tambahan / Additional y= a + b y = 8

- Penolakan / Subtraction y= a - b y = 2

* Pendaraban / Multiply y= a * b y = 15

/ Bahagi / Division y= a / b y = 1.667

& Modulus y= a & b y = 2

i. Operator Matematik

31

ii. Operator logikal- Digunakan untuk membandingkan DATA

SimbolSymbol

MaknaMeaning

= = 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

SimbolSymbol

MaknaMeaning

&& DAN / AND

|| ATAU / OR

! TIDAK / NOT

Pengumpukan majmuk- Kombinasi operator matematik dan pengumpukan

SimbolSymbol

Pengumpukan MajmukCompound Assignment

PengumpukanNormal

Normal Assignment

+ = a+ = 1; a = a +1;

- = a- = 1; a = a -1;

* = a* = 1; a = a *1;

/ = a/ = 1; a = a /1;

% = a% = 1; a = a %1;33

Struktur kawalanUntuk mengawal keputusan, C++ menyediakan struktur kawalan ( dikenali juga dengan nama penyataan kawalan )

BerjujukanPelaksanaan penyataan dalam susunan yang khusus ( sesuatu arahan akan dilaksanakan selepas arahan sebelumnya telah dibuat )

penyataan1;penyataan2;……..……..penyataan3;

Arahan pertama

Arahan akhir

Sintaks:

- Arahan di dalam program ini dilaksanakan secara berjujukan satupersatu, bermula daripada arahan yang pertama dan diakhiri dengan arahanterakhir.

S1Masuk S2 S3 S4 Keluar

Carta alir

34

top related