Pengenalan Bahasa Berorientasi Objek
Kita seringkali mendengar ramai bercakap mengenai bahasa berorientasikan objek (Object Oriented) tetapi sebagai orang biasa, kita sering pening kepala apa yang hebat sangat berkenaan objek yang diperkatakan tersebut. Ramai dikalangan kita agak keliru dan masih tertanya-tanya tentang konsep dan kepentingan objek dalam sesebuah perisian. Dalam artikel ini, kita akan mengupas dengan sebaik mungkin tentang apakah objek yang digunakan pada sesebuah perisian serta bagaimana konsep ini digunakan dalam pengaturcaraan Visual BASIC 2008 Express. Sebelum itu, mari kita lihat pada contoh yang lebih mudah iaitu objek dalam kehidupan yang sebenar. Cuba anda perhatikan disekeliling anda, sudah pastinya anda boleh mengenalpasti segala objek berdekatan anda contohnya meja, kerusi, kasut, pakaian, pencetak, pen, radio, kereta, televisyen dan berjuta-juta objek lain. Secara perbandingan kedua-dua konsep objek sebenar dan juga objek dalam perisian adalah 99.99% agak sama. Cuba anda pegang satu objek berdekatan anda misalnya sebatang pen dan tanyakan diri anda soalan-soalan ini:
(a) apakah sifat objek ini?
(b) apakah yang ia boleh buat?
Anda mungkin menjawab objek berkenaan adalah sebatang pen yang memiliki sifat-sifat atau cirri-ciri tertentu dan kegunaannya untuk menulis dan melukis. Mungkin bagi sesetengah orang, soalan pertama merujuk kepada ‘keadaan’ pen dan soalan kedua merujuk kepada ‘perlakuan’ atau ‘cara’ ia digunakan. Dalam Visual BASIC 2008 Express Edition dan juga lain-lain bahasa pengaturcaraan, ianya dinamakan sebagai:
(a) Properties.
(b) Methods.
Dalam dunia sebenar, cuba anda perhatikan set televisyen dalam ruang tamu rumah anda dan fikirkan ianya sebagai sebuah Object. Apakah Properties yang ada pada set televisyen berkenaan dan apakah pula Methods yang ia ada.
Persoalan tentang apakah yang menyebabkan sesuatu kod itu menjadi OOP (Object Oriented Programming)? Terdapat 3 perkara yang menjadi tulang belakang kenapa sesuatu kod adalah berorientasikan objek.
1. Inheritance
Jika sebuah kilang membuat televisyen mengilang televisyen mengikut model-model tertentu yang memiliki ciri-ciri standard model berkenaan, dalam Visual BASIC 2008 Express Editions pula spesifikasi ini dinamakan sebagai Class. Class akan mengarah program supaya membina salinan yang sama yang sudah pastinya akan mewarisi segala sifat-sifat yang asal.
Seperti mana model televisyen yang mungkin boleh diubahsuai dengan menambah fungsi-fungsi baru kepada model terkini dengan menggunakan salinan asal televisyen berkenaan, Class juga boleh diubahsuai dengan konsep yang sama. Ia boleh memiliki ciri-ciri asal Object dan penambahan Object baru boleh dilakukan.
2. Polymorphism
Sebuah set televisyen akan menyiarkan perkara berbeza bergantung kepada dari mana input saluran diterima sama ada dari stesen Satelit, pemain DVD, dan sebagainya. Begitu juga halnya dengan konsep bahawa Object akan melakukan perkara berbeza bergantung kepada input yang diterima. Input berbeza akan menghasilkan keputusan yang berbeza.
3. Encapsulation
Sebagai penonton televisyen, anda pastinya tidak kisah dan tidak mahu ambil peduli bagaimana interaksi berlaku antara pemain DVD dan televisyen anda. Paling penting, anda boleh menonton rangkaian kegemaran anda. Begitu juga dengan onsep sama diterapkan dalam OOP iaitu anda hanya mahukan kerja selesai dengan sempurna dan anda boleh mengawal proses yang ada. Sifat ini dapat eringkaskan sebarang proses yang terlibat. Faedah menggunakan OOP ini kurang dihargai oleh mereka yang baru mempelajari sesuatu bahasa berorientasikaan objek sepertimana Visual BASIC 2008 Express Edition ini namun ia amat berharga apabila sistem yang dibina sangat komplek. Pada program yang ringkas, konsep OOP lebih mendatangkan masalah berbanding emudahan yang disediakan.
Semakin kompleks sesebuah sistem yang dibangunkan, pastinya para pengaturcara akan dapat menghargai kuasa dan mudahnya menguruskan kerja mereka secara fleksible dan lebih efektif. Dengan membuat aturcara dalam Visual BASIC Express Edition tidak menjadikan kod anda serta merta dianggap OOP. Tidak semua Class di dalamnya dikodkan sebagai Object kerana sebahagiannya hanya digunakan untuk menyusun organisasi dalam program anda supaya ianya kelihatan lebih baik. Ianya adalah bergantung kepada diri kita sendiri menggunakan peraturan yang ada dalam bahasa pengaturcaraan ini untuk menghasilkan sebuah kod berorientsikan objek dengan baik.
Mengapa OOP?
Pada suatu masa dahulu, ketika komputer mula-mula diperkenalkan kepada dunia, kebanyakan pengaturcaraan adalah berorientasikaan baris (Line Oriented). Pada masa itu, hampir setiap baris kod akan menjalankan tugas yang spesifik dan setiap baris kod akan diikuti baris kod yang lain. Aliran sesebuah program biasanya dari baris ke baris, dan ada juga penyambung ke cawangan kod yang lain sepeti statement GOTO dan sebagainya. Secara umumnya, kaedah ini sangat linear dan pengaturcara terpaksa memahami setiap patah baris kod yang ada. Oleh itu masa yang agak lama diperlukan untuk seseorang pengaturcara memahami kod orang lain terlebih dahulu sebelum meneruskan proses menulis aturcara. Antara contoh bahasa awal yang memiliki konsep ini seperti BASIC, Cobol dan Fortran.
Apabila sesebuah program yang dibina bertambah kompleks dan kod yang diguna mungkin perlu diubahsuai banyak kali, maka ini menyebabkan kesukaran dalam susunan kod yang agak linear. Lama kelamaan, kod yang begitu banyak menjadi apa yang dinamakan sebagai Spaghetti Code. Kod yang tersangat komplek ini menjadikan tiada siapa akan memahami bagaimana ianya berfungsi walaupun penulis asal program berkenaan. Bagi mengatasi masalah ini bahasa berorientasikaan prosedur (Prosedural Oriented) telah dihasilkan misalnya C dan Pascal. Dalam pada itu, bahasa lain turut juga diperkembangkan mengikut konsep tersebut.
Dengan adanya bahasa yang memiliki gaya berprosedur ini akan lebih memudahkan pengaturcara untuk menguruskan kod yang ditulis. Dengan prosedur baru ini juga dapat membentuk sikap pengaturcara untuk lebih bersistematik. Sejarah telah berlalu dan cara pengaturcaraan melalui evolusi yang sigkat, masa kini pula ramai yang menggunakan prosedur pengaturcaraan terbaru dikenali sebagai Object Oriented. Pengaturcara melihat banyak faedah diperolehi dengan pendekatan yang baru ini tambahan pula dengan marketing niche daripada Microsoft, menyebabkan ramai beralih kepada pengaturcaraan berorientasikaan objek.