Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehAlbertus Putra Telah diubah "9 tahun yang lalu
1
Pemrograman Berorientasi Objek OOP (Object Oriented Programming )
Budi Hartono Sekolah Tinggi Elektronika dan Komputer ( STEKOM ) Semarang
2
Software Development and Software Life Cycle
Para ahli telah mengembangkan banyak model untuk proses pengembangan software. Software life cycle akan membuat pengembangan software menjadi lebih tersetruktur, mudah di komunikasikan , mudah diawasi. Suatu model waterfall ditunjukan oleh gambar dibawah ini Model ini di mulai dari Spesifikasi kebutuhan, analisa dan perancangan sistem, deatiled design, implementasi dan testing integrate and testing , maintenace
3
Gambar Sofware Life Cycle
4
Keterangan System Analysis and Design Detailed Design
Requirements Spesification ( Kebutuhan spesifikasi ) Layanan apa saja yang harus disediakan software Dibawah atasan apa software dioperasikan System Analysis and Design Menentukan kebutuhan dan hardware yang akan digunakan untuk mengoperasikan Peranan Manusia Detailed Design Pemecahan system ke dalam sub system dan modul-modul definisi yang lebih jelas Implementation and Testing Penulisan kode untuk menghasilkan suatu program yang benar dan dapat dijalankan pada penerapan dan percobaan dan memastikan program dapat bekerja
5
Lanjutan Integretion and Testing
Membawa suatu program ke dalam subsystem dengan berbagai interface antar program Testing diperlukan untuk memastikan berjalan dengan benar, jika ada kode program yang salah rancangan diperlukan Maintenance Jika software sudah sempurna maka perlu diinstalasi dan diadakan pelatihan bagi pemakai Pada saat di instalasi kesalahan dapat muncul maka perlu adanya perawatan
6
Langkah Membuat Suatu Program
Speisifikasi kebutuhan untuk aplikasi tertentu Analisa masalah tersebut dan putusan bagaimana untuk memecahkannya. Gunakan suatu metode apa untuk memecahkanya ( algoritmanya ) Terjemahkan algoritma tersebut menjadi program high level languasge, kode pgroam pada penulisan ini disebut Source Program atau Source Code Compile program tersebut menjadi Machine language dan bahasa mesin yang dihasilkan disebut objek code
7
Lanjutan Object code dihasilkan oleh compiler dan di link dengan berbagai fuction library yang disediakan system Jalankan hasil link tersebut, periksa apakah ada logical error atau run time error, Jika ada kesalahan ulangi mulai dari tahap 3,4 dan 5 sampai hasil yang memuaskan Setelah program selesai, perlu adanya dokumentasi untuk keperluan perbaikan
8
Paradigma Beorientasi Objek
Faktor utama dari ditemukannya pendekatan berorientasi objek adalah ditemukannya kekurangan – kekurangan pada pendekatan terstruktur : biaya pengembangan perangkat lunak berkembang sesuai dengan berkembangnya keinginan /kebutuhan pengguna, pemeliharaan yang sukar, lamanya penyelesaian suatu proyek, jangka waktu penyelesaian proyek yang hampir selalu terlambat, biaya pengembangan perangkat lunak yang sangat tinggi, dan sebagainya. Pendekatan berorientasi objek membuat data terbungkus pada setiap fungsi/ prosedur dan melindunginya terhadap perubahan tidak dikehendaki dari fungsi yang berada di luar
9
Structured Programing
Secara garis besar pemrograman terdiri dari Pemrograman tidak tersetruktur ( unstructured programing ) Pemrograman Prosedural ( procedural programing ) Pemrograman Modular (modular programing ) Pemrograman Tersetruktur ( structured programing )
10
Unstructured Programing
Biasanya merupakan sebuah program kecil dan sederhana yang terdiri hanya satu program utama, pada program utama ini rangkaian perintah perintah yang secara langsung melakukan modifikasi data global dalam program Kelemahan program ini terutama ketika program tersebut berkembang menjadi lebih besar akan mengalami kesulitan dalam pelacakan data yang error Main Program Data Program
11
Procedural Programing
Main Program Procedure Procedural Programing Pada pemrograman prosedural rangkaian perintah perintah dapat dikelompokan yang sering digunakan pada suatu tempat menjadi suatu procedure, kemudian suatu procedure call dapat digunkan untuk membangkitkan prosedure tersebut Salah satu keunggulan dari pemrograman procedural ini adalah program menjadi lebih terstruktur dan tikat kesalahan dapat ditekan Program Main Program Data Procedure
12
Modular Programing Program Pada pemrograman modular, Procedure dengan fungsi yang umum dikelompokan menjadi suatu modul terpisah, sehinga suatu program tidak hanya terdiri dari satu bagian, tetapi terpisah menjadi beberapa bagian yang lebih kecil yang berinteraksi satu sama lain dengan melalui procedure call yang membentuk keseluruhan program Main Program Data Module2 Data + Data2 Module1 Data + Data1 Procedure Procedure Procedure
13
Structured Programing
Pemrograman Tersetruktur ( structured programing ) dapat dipandang sebagai bagian atau sub-disiplin dari procedural programing Satu pardigma paling besar dan populer untuk pemrograman komputer Bahasa pemrograman tersetruktur yang paling populer dan baik adalah : pascal dan Ada Pada pemrograman tersetruktur, programer harus memecahkan kode yang besar ke dalam sub rutin yang lebih pendek sebagai kesatuan logika yang lebih kecil ( procedure dan function) , sehingga dpt dimengerti scr mudah. Pada pemrograman tersetruktur diusahakan menggunakan variabel global sedikit mungkin dan sebagai gantinya subrutin harus menggunakan variabel lokal
14
Apa Itu OOP ? OOP adalah suatu cara baru dalam berpikir serta berlogika dalam menghadapi masalah – masalah yang akan dicoba diatasi dengan bantuan komputer OOP, tidak seperti pendahulunya, mencoba melihat permasalah lewat pengamatan dunia nyata dimana setiap objek adalah entitas tunggal yang memiliki kombinasi struktur data dan fungsi tertentu Mengkombinasikan data dan fungsi untuk mengakses data menjadi sebuah kesatuan unit merupakan ide dasar pada bahasa berorientasi objek( PBO ). Unit tersebut dikenal dengan nama objek( object ), yang sebenarnya mencerminkan pola kerja manusia dalam kehidupan sehari – hari
15
Definisi PBO Sebuah sistem yang dibangun berdasarkan metoda berorientasi objek adalah sebuah sistem yang komponen di-enkapsulasi menjadi kelompok data dan fungsi, yang dapat mewarisi atribut atau sifat dari komponen lainnya, komponen- komponen tersebut saling berinteraksi satu sama lainnya (Meyer, 1997) Objek dapat digolongkan menjadi beberapa kategori ( Ali Bahrani, 1999 ) Objek Konsep, Objek Event, Objek Organisasi Objek Mahasiswa, Objek Tempat, Sesuatu yang terukur Peralatan
16
Gambar Pendekatan BO
17
Ciri Pendekatan BO Pendekatan lebih pada data dan bukannya pada prosedur/fungsi. Program besar dibagi pada apa yang dinamakan objek – objek. Struktur data dirancang dan menjadi karakteristik dari objek – objek. Fungsi – fungsi yang mengoperasikan data tergabung dalam suatu objek yang sama. Data tersembunyi dan terlindung dari fungsi/prosedur yang ada di luar. Objek – objek dapat saling berkomunikasi dengan saling mengirim message (pesan) satu sama lain. Pendekatan adalah dari bawah ke atas (bottom up approach).
18
Objek Identitas adalah sesuatu yang membedakan suatu objek dari objek yang lainnya. (Rumbaugh, 1995) Objek adalah abstraksi dari suatu yang mewakili sesuatu pada dunia nyata Pada PBO, Objek adalah entitas pada saat run time. Objek mempunyai siklus hidup : diciptakan, dimanipulasi, dihancurkan. Sebuah objek dapat ditiru lewat namanya atau lewat referensinya / alamat (Meyer-1997) Objek adalah konsep atau abstraksi tentang sesuatu yang memiliki arti bagi aplikasi yang akan kita kembangkan. Objek biasanya adalah kata benda, namun objek dalam konteks Oop bukan hanya objek nyata yang bisa diraba dan dilihat secara kasat mata seperti mobil, pesawat terbang, sapi, dan sebagainya, namun juga menyangkut entitas – entitas konseptual seperti rumus persamaan kuadrat, leberalisme, marxisme, dan sebagainya.
19
Objek Model Eksekusi Program menciptakan sejumlah objek menurut pola yang tidak dapat diprediksi pada saat kompilasi Pada saat opersi, objek baru mungkin saja diciptakan, reference sebuah objek diubah ke objek yang lain atau tidak lagi mengacu ke objek apapun Nilai yang disimpan dalam sebuah field objek diubah
20
Class ( Kelas ) Class adalah kumpulan objek yang mempunyai atribut yang sama Class adalah definisi statik dari entitas ( Meyer ’97) Entitas merupakan salah satu dari yang berikut ini Atribut kelas Variabel lokal Parameter Formal Hasil Fungsi Kelas membungkus (encapsulating) objek-objek. Kelas mencakup sifat-sifat umum yang dimiliki objek-objek. Misalnya, dosen, rektor sebuah perguruan tinggi, dekan, ketua jurusan, dan sebagainya, dapat digolongkan pada suatu kelas yang dinamakan Staf Akademis.
21
Karakteristik Karakteristik utama sistem berorientasi objek adalah :
Abstraksi Enkapsulasi ( Pengkapsulan / pembungkusan Inheritance ( Pewarisan ) Reuseability ( dapat digunakan kembali ) Spesialisasi Generalisasi Komunikasi antar Objek Polymorphis ( banyak bentuk )
22
Abstraksi Abstraksi, adalah menemukan hal-hal yang essensial (dasar/pokok)pada suatu objek dan mengabaikan hal-hal yang sifatnya insidental. Maksud dari pernyataan ini diantaranya adalah menangkap sesuatu fakta yang ada. Abstraksi menfokuskan pada apa itu objek, apa ciri-ciri yang dimiliki objek itu (atribut-atributnya) serta apa yang objek lakukan sebelum memutuskan bagaimana ia dapat diimplementasikan
23
Enkapsulasi Prinsip menyembunyikan dengan menggunakan struktur data dan hanya meyediakan opersi-operasi untuk interface dengan luar Keuntungan dari pembungkusan adalah kita dapat mengharapkan suatu objek melakukan metoda apa yang kita inginkan tanpa harus tahu bagaimana objek itu melakukannya Contoh : suatu objek dengan televisi. Kita tidak perlu tahu bagaimana televisi melakukan suatu tugas tertentu, misalnya menayangkan gambar tertentu. Yang perlu kita ketahui adalah tombol mana pada remote control yang harus ditekan, kemudian televisi akan berfungsi
24
Pewarisan Pewarisan ini pada dasarnya adalah berbagi atribut dan operasi antar kelas berdasarkan hierarki kelas Motivasi utama dari langkah pewarisan adalah untuk menghemat upaya yang dilakukan pada suatu pengembangan sistem yang baru dengan memanfaatkan upaya-upaya yang dilakukan pada pengembangan sistem sebelumnya Pada pemrograman berorientasi objek menggunakan konsep pewarisan, pemrogram dapat menghemat waktu dan biaya saat mengembangkan perangkat lunak dimana sebagian komponennya sudah pernah dikerjakan pada proyek-proyek yang telah lalu.
25
Reusaebility Penstrukturan kelas menyediakan makna yang bermanfaat dalam dekomposisi komponen-komponen sistem Penggunaan ulang komponen (reusable component) sangat dimungkinkan dengan konsep pewarisan (inheritance) yang dikenal pada paradigma pemrograman berorientasi objek.
26
Generalisasi / Spesialisasi
Generalisasi/spesialisasi memungkinkan objek-objek berbagi data serta perilaku yang sama pada hierarki pewarisan Generalisasi juga meningkatkan keterpaduan dalam suatu objek dan mengurangi derajat kesaling bergantungan (meningkatkan koherensi) objek saat implementasi kelak
27
Komunikasi Antar Objek
Objek-objek dalam program akan saling berkomunikasi antara satu dengan yang lainya lewat pengiriman pesan ( message )
28
Polymorphisme Polimorfisme yaitu konsep yang menyatakan bahwa suatu fungsi yang sama dapat diterapkan dan dapat dimiliki oleh kelas – kelas yang berlainan. Misalnya, fungsi makan, dapat diterapkan pada baik kelas primata maupun pada kelas burung. Burung dan primata sama – sama perlu makan meskipun mereka melakukannya dengan caranya masing – masing.
29
Dinamika Kehidupan Objek
Lahir ( diciptakan ) Dimanipulasi / memanipulasi Mati ( dihancurkan ) Objek Merupakan model Eksekusi Program menciptakan sejumlah objek menurut pola yang tidak mungkin diprediksi pada saat kompilasi Pada saat operasi, objek baru mungkin saja diciptakan, reference sebuah objek diubah ke objek yang lain tidak lagi mengacu ke objek apapun Nulai yang disimpan dalam sebuah field objek diubah
30
Perbedaan Objek dan Kelas
Objek adalah elemen pada saat run time yang akan diciptakan, dimanipulasi dan dihancurkan saat eksekusi Kelas adalah deskripsi statik dari himpunan objek yang mungkin lahir/diciptakan yang merupakan instansiasi dari kelas Pada saat runtime, yang dipunyai adalah objek, di dalam teks program yang kita lihat hanyalah kelas
31
Definisi Statik Kelas Pada lingkungan PBO, pemrograman mendefiniskan kelas secara statik. Pada saat run time, kelas akan diinstansiasi ( hal ) menjadi objek Objek yang merupakan instansiasi dari suatu kelas selalu dapat diacu lewat Current Objek ( objek sekarang). Untuk menciptakan ( menghidupkan ) objek diperlukan konstruktor Untuk mematikan ( menghancurkan ) objek diperlukan destruktor
32
Kelas Mempunyai : Atribut (data, konstanta, properti ). Nilai atribut pada saat run time menyatakan “keadaan” (state) dari objek yang merupakan instance (contoh) dari kelas ybs. Method ( service, procedure, fungsi). Pada saat run time method akan dieksekusi sesuai dengan kode programnya, atas permintaan ( lewat pesan , message ) objek lain Fungsi dirancang untuk melahirkan sebuah objek baru (range, hasil ) dari banyak input Prosedur dirancang untuk mengubah state dari current objek, tanpa melahirkan objek baru Meyer’97 menyebut atribut dan method sebagai feature
33
Lingkungan Akses Feature
Public : dapat diakses / dipakai oleh kelas apapun Friend : hanya kelas tertentu yang boleh mengakses Private : hanya kelas yang bersangkutan yang boleh memakai Nb Sebaiknya dalam PBO friend tidak usah digunakan
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.