F 3031 OBJECT ORIENTED PROGRAMMING Pengenalan Kepada Orientasi
F 3031 : OBJECT ORIENTED PROGRAMMING Pengenalan Kepada Orientasi Objek Prepared by : Suzila Yusof
PENGATURCARAAN BERSTRUKTUR • • • Aturcara dipecah-pecahkan kepada modul-modul atau prosedur Setiap modul mempunyai data dan fungsinya sendiri yang boleh dicapai oleh fungsi lain Rajah 1. 1 menggambarkan bentuk pengaturcaraan berstruktur di mana ac dipecahkan kpd fungsi-fungsi Setiap fungsi mempunyai datanya sendiri disamping berkongsi data global. Fungsi-fungsi yg menggunakan data global ini boleh mengubah data tersebut tanpa sebarang kekangan Bagi ac yg besar, adalah agak sukar utk mengenal pasti fungsi-fungsi yg mencapai data global. Ini mengakibatkan seandainya sesuatu struktur data global perlu diubahsuai, fungsi yang menggunakannya perlu juga dikaji samada perlu diubahsuai akibat dari perubahan ke atas data tersebut. Masalah ini blh mengakibatkan berlakunya ralat dlm ac dan proses penyenggaraan agak sukar dilakukan. Oleh itu, pengaturcaraan berstruktur terbukti gagal dalam penyelesaian masalah dalam krisis perisian.
PENGATURCARAAN BERSTRUKTUR MAIN PROGRAM FUNCTION 1 FUNCTION 4 FUNCTION 2 FUNCTION 3 FUNCTION 5 Rajah 1. 1 GLOBAL DATA
PERMASALAHAN DALAM PEMBANGUNAN PERISIAN BERSTRUKTUR Krisis yg biasa berlaku dalam pembangunan perisian menggunakan pengaturcaraan berstruktur adalah : • Projek tidak dpt disiapkan pd tarikh yg ditetapkan • Pembangunan projek melebihi anggaran kos • Perisian yg dihasilkan tidak menepati kehendak pengguna dan ini menjadikan perisian tersebut tidak dpt digunakan oleh pengguna • Proses penyenggaraan perisian agak sukar. Akibatnya jangka hayat sistem adalah pendek • Keperluan pengguna yang sentiasa berubah-ubah menjadikan pembangunan ac agak sukar • Teknik pembangunan perisian yang digunakan tidak menggambarkan operasi dunia sebenar. Pengaturcaraan berorientasikan objek seterusnya dihasilkan bagi mengatasi masalah yg tlh disebutkan di atas. Teknik pengaturcaraan ini mula digunakan dengan meluasnya pada tahun 1990 an.
PENGATURCARAAN BERORIENTASIKAN OBJEK • • • Satu organisasi perisian yang terdiri dr sekumpulan objek yang bekerjasama di antara satu sama lain. Setiap objek merupakan instant kpd sesuatu kelas dan kelas-kelas pula merupakan ahli kpd satu hirarki dlm hub pewarisan. Cara pengaturcaraan terbaru yg cuba meniru keadaan dunia sebenar dengan menggunakan objek-objek. Ia masih menggunakan konsep ac berstruktur yang digabungkan dengan bentuk pengaturcaraan baru. Rajah 1. 2 menggambarkan organisasi data dan fungsi di dlm pengaturcaraan berorientasikan objek. Setiap objek mempunyai data dan fungsinya sendiri dan objek-objek berkomunikasi di antara satu sama lain dengan menghantar mesej.
PENGATURCARAAN BERORIENTASIKAN OBJEK Object 2 Object 1 Data Function Object 3 Data Function Rajah 1. 2 : Objek-objek dalam pengaturcaraan OO
PENGATURCARAAN BERORIENTASIKAN OBJEK Pelanggan Nama No. Akaun Baki Akaun buka. Akaun( ) Jenis. Akaun Jenis. Transaksi urus. Akaun( ) kemaskini. Maklumat( ) Pekerja. Bank Nama Jawatan Gaji Tugas Rajah 1. 3 Rajah kelas yang menggambarkan hubungan di anatara Pelanggan, Akaun dan Pekerja. Bank
PENGATURCARAAN BERORIENTASIKAN OBJEK • • Rajah 1. 3 merupakan satu rajah kelas yg terdiri dr objek Pelanggan, Akaun dan Pekerja. Bank. Setiap objek mempunyai data dan kelakuannya sendiri Objek 2 berkomunikasi dgn menghantar mesej Contoh : - pelanggan menghantar mesej buka. Akaun() kpd Akaun dan ini mengakibatkan objek Akaun bertindakbalas terhadap mesej tersebut dgn menghasilkan akaun bg Pelanggan tersebut.
PENGATURCARAAN BERORIENTASIKAN OBJEK Kelebihan OOP : • Fasa analisa & rekabentuk sistem lbh mudah krn corak pengaturcaraan cuba meniru keadaan dunia sebenar dgn menggunakan objek sbg fokus utamanya. • Membenarkan kod digunakan semula • Penyenggaraan sistem lbh mudah, kerana pengubahsuaian hanya mengambil kira objek-objek yg terlibat shj • Mengurangkan pembinaan kod yg berulang krn kod yang tlh dihasilkan blh diguna semula • Aturcara yg dihasilkan lbh selamat.
PERBEZAAN ANTARA PENGATURCARAAN BERSTRUKTUR Dan OOP PENGATURCARAAN BERSTRUKTUR OOP • Penekanan ialah pada fungsi(algoritma) • Penekanan ialah kepada data daripada prosedur • Data dan fungsi-fungsi dikumpulkan dalam kelas • Reka bentuk keseluruhan sistem mudah difahami oleh orang lain (walaupun tidak mempunyai latar belakang pada komputer sains) • Menggunakan pendekatan dari bawah ke atas dalam reka bentuk atur cara • Data dan fungsi-fungsi adalah disimpan berasingan. • Reka bentuk tidak kemas, sukar untuk faham dan sukar untuk dilaksanakan. • Menggunakan pendekatan dari atas ke bawah.
KONSEP-KONSEP ORIENTASI OBJEK Konsep-konsep penting OO terdiri drp : • Kelas (Class) • Objek (Object) • Pengabstrakan Data (Data Abstraction) • Pengkapsulan Data (Encapsulation) • Polimorfisma ( Polymorphism) • Pewarisan (Inheritance)
KONSEP-KONSEP ORIENTASI OBJEK : KELAS • • Objek yg mempunyai struktur data & kelakuan yg sama dikumpulkan dalam satu kelas. Kelas tidak mempunyai nilai bg data/attribut Setiap objek merupakan instant kpd kelasnya Contoh kelas : kenderaan, perenggan, syarikat , masa, haiwan Drpd kelas terhasillah objek atau instant Instant : objek unik yg mempunyai nilai data/atributnya yg tersendiri ttp berkongsi nama attribut dan operasi dengan instant dr kelas yg sama. Contoh instant : - Kereta Honda Civic, WNF 3318 - Perenggan pertama dalam dokumen cuba. doc - Buku Pengaturcaraan OO : Pendekatan C++
KONSEP-KONSEP ORIENTASI OBJEK : OBJEK • • • Mempunyai pengenalan, kelakuan dan attribut. Boleh berupa konkrit atau konsep Jadual 1. 1 menyenaraikan contoh objek konkrit dan objek konsep Objek Konkrit Kerusi Bola Pekerja di sebuah syarikat Imej dalam dokumen • Objek Konsep Polisi Undang-undang Masa Jadual kuliah Identiti – Ciri sesuatu objek yg membezakannya dr objek lain
OBJEK : KONSEP-KONSEP ORIENTASI : OBJEK samb… • • • Attribute – merupakan data atau maklumat yg dipunyai oleh sesuatu objek. Data yg dipunyai oleh sesuatu objek membezakannya dengan objek lain. Attribute sesuatu objek bertukar apabila datanya bertukar. Contoh attribute sesuatu objek : - panjang perenggan : 20 perkataan - Tahap kemahiran pekerja : sederhana - tarikh perlaksanaan polisi : 20 hb Jun 2010 Method – merujuk kpd bagaimana sesuatu objek bertindak dan bertindakbalas terhadap perubahan sesuatu keadaan ataupun terhadap penerimaan mesej dr objek lain. Dikenali juga sebagai fungsi. Contoh method bagi kelas perenggan : Pamer perenggan, taip perenggan, kemaskini perenggan Contoh method bagi kelas polisi : ubah polisi, analisa polisi, laksana polisi
OBJEK : KONSEP-KONSEP ORIENTASI : PENGABSTRAKAN DATA samb… • • • Konsep di mana ianya memfokus kpd aspek penting dan mustahak kpd satu entiti manakala aspek yg tidak penting dan tidak berkaitan diabaikan Pengguna hanya perlu tahu ciri-ciri yang dipunyai oleh sesuatu kelas dan methodnya tanpa perlu mengetahui bagaimana method tersebut dilaksanakan. Rajah 1. 4 menggambarkan perlaksanaan konsep pengabstrakan data Pelajar Abstrak kepada Nama No. Pend HPNM Kursus Belajar( ) Layar. Internet( ) Hadir. Kuliah( ) Rajah 1. 4 : Pengabstrakan data bagi Pelajar
OBJEK : KONSEP-KONSEP ORIENTASI : PENGKAPSULAN DATA • Dikenali sbg penyembunyian maklumat • Satu konsep di mana data dan fungsi dikumpul dalam satu unit • Dengan pengumpulan data dan fungsi dalam satu unit, data tdk boleh dicapai oleh objek luaran yg lain • Data tersebut hanya blh dicapai oleh fungsi yg terkandung dlm objek tersebut • Konsep ini memastikan bahwa data tidak blh diubah oleh objek lain dgn sewenang-wenangnya
OBJEK : KONSEP-KONSEP ORIENTASI : PERWARISAN • • • Merupakan kebolehan sesuatu objek mewarisi ciri-ciri superclassnya berdasarkan kpd satu hubungkait hirarki Dlm perwarisan, kelas pd awalnya didefinisikan secara kasar atau secara umum dan ciri-ciri yg lbh spesifik bg sesuatu kelas kemudiannya diperincikan bg membentuk subclass. Superclass mewariskan ciri-cirinya kpd subclass manakala subkelas mewarisi semua ciri-ciri superclassnya disamping mempunyai ciri-ciri uniknya yang tersendiri. Rajah 1. 5 menggambarkan konsep pewarisan di mana kelas kenderaan mempunyai atribut dan kelakuannya sendiri. Subclassnya pula mewarisi semua ciri pada kenderaan disamping mempunyai cirinya yg tersendiri. Penggunaan semula kod yg menjadi kekuatan teknik orientasi objek boleh dilaksanakan melalui konsep perwarisan.
OBJEK : KONSEP-KONSEP ORIENTASI : POLIMORFISMA Objek yg berlainan jenis boleh memberi tindakbalas yg berbeza terhadap operasi yg sama. • Konsep ini blh dilaksana melalui method limpahan (overloading method) atau overridding method Overloading Method - merupakan metod dlm kelas yg sama yg mempunyai nama yg sama ttp dibezakan dr segi jenis pulangan, bil parameter dan jenis parameter - Contoh : operasi umpuk. Data ke atas seorang pelajar boleh dilaksana dgn beberapa cara berbeza sebagaimana berikut: umpuk. Data(string nama); umpuk. Data(string nama, int kredit, float cpa); umpuk. Data(string no. ID, char Gred); •
OBJEK : KONSEP-KONSEP ORIENTASI : POLIMORFISMA Overridding method - objek-objek dr kelas yg berbeza ttp mempunyai method yg sama dan bertindakbalas dgn cara berlainan. - Walaubagaimanapun objek-objek ini mestilah mempunyai hubungan dlm satu hirarki perwarisan - Contoh : - Operasi Bergerak : bagi objek kenderaan, kereta bergerak adalah berbeza dgn cara keretapi bergerak - Operasi Terbang : bagi objek yg boleh terbang, jet terbang adalah berbeza dgn cara kapalterbang Bagi polimorfisma, setiap objek beroperasi dgn caranya yg tersendiri. Rajah 1. 6 menunjukkan bagaimana polimorfisma dilaksanakan ke atas ops dipandu( ) pd kelas kenderaan. Subkelas kpd kenderaan iaitu kereta, kapalterbang dan keretapi setiap satunya mempunyai operasi dipandu( ) ttp bagaimana setiap kenderaan tersebut dipandu adalah berbeza di antara satu kelas dgn kelas lain.
OBJEK : KONSEP-KONSEP ORIENTASI : PERWARISAN samb… Kenderaan Model Tahun. Keluaran Bil. Penumpang Superclass Dipandu( ) subclass Kapalterbang Keretapi Ketinggian Ada. Stereng Bil. Gerabak Dipandu( ) Terbang( ) Dipandu( ) Rajah 1. 6: Pewarisan dan perlaksanaan polimorfisma ke atas operasi dipandu
KONSEP-KONSEP : OBJEK ORIENTASI : AGGREGATION • • • Atribut bg sesuatu objek x semestinya terdiri dr data primitif shj ttp blh berjenis objek. Ini berlaku kerana adakalanya komponen sesuatu objek terdiri dr objek lain Konsep ini dikenali svg aggregation Contoh : Komputer – terdiri drp pemproses, RAM, monitor, papankekunci dan tetikus Syarikat - terdiri drp pelbagai jawatan Rajah 1. 7 menggambarkan konsep aggregation di mana, syarikat komputer yang terdiri dari jabatan pengurusan, jabatan penyelidikan dan jabatan kewangan.
KONSEP-KONSEP : OBJEK ORIENTASI : AGGREGATION Syarikata Komputer Jabatan Pengurusan Jabatan Penyelidikan Jabatan Kewangan
Bahasa Berorientasikan Objek • • • Bahasa objek terbahagi kpd 2 : bahasa berasaskan objek dan bahasa berorientasikan objek Bahasa berasaskan objek merupakan bahasa yg mempunyai konsep enkapsulasi data dan juga mempunyai konsep kelas dan instant. Contoh bahasa berasaskan objek ialah Ada Sesuatu bahasa komputer dikatakan sbg bahasa berorientasikan objek jika ia memenuhi syarat berikut : Ø Boleh enskapsulasi data Ø Mempunyai konsep kelas dan instant Ø Boleh melaksanakan konsep perwarisan Ø Boleh melaksanakan konsep polimorfisma Bahasa berorientasikan objek yg digunakan sekarang terbahagi kpd 2 : bahasa orientasi objek asli dan bahasa hibrid
Bahasa Berorientasikan Objek samb… • Bahasa hibrid merupakan satu bahasa yg agak fleksibel di mana pengaturcara blh menulis aturcara samada secara berstruktur atau berorientasikan objek. • Bahasa orientasi objek asli hanya membenarkan pengaturcara menulis aturcara secara berorientasikan objek shj. • Contoh bahasa berorientasikan objek asli : Smalltalk, Simula, Eiffel, Actor dan Java • Contoh bahasa hibrid : C++, Objective-C, Object-Pascal dan CLOS
- Slides: 24