Pemrograman Berorientasi Objek OOP (Object Oriented Programming )

Slides:



Advertisements
Presentasi serupa
Latihan Soal 1. Dalam membagun aplikasi tidak lepas dari SDLC(System Development Life Cycle), yang tidak masuk dalam kategori tahapan SDLC adalah a. Analisa.
Advertisements

KEBUTUHAN & SPESIFIKASI SOFTWARE
Teknik Pemrograman Terstruktur
Object Oriented Programming
21-Aug-14 OO Concept E. Haodudin Nurkifli Teknik Informatika Universitas Ahmad Dahlan Kuliah 3 : Administrative dan Introduction 8 Oktober 2010.
PENGENALAN ANALISA SISTEM BERORIENTASI OBYEK
Desain Sistem By Hendro Joko Prasetyo, M.Kom.
13 KOMPONEN DIAGRAM UML & PROSES MODEL WATERFALL
Pemrograman Lanjut Ratnokustiawan.wordpress.com.
PEMROGRAMAN TERSTRUKTUR
Pertemuan 6 Structural modelling
DIKTAT PBO Oleh: Adam Mukharil B. S.Kom. BAB I – KONSEP PBO.
di OBJECT ORIENTED PROGRAMMING [OOP] Oleh H. SUMIJAN, Ir, M.Sc
Architecture dan design
Desain Sistem By Hendro Joko Prasetyo, M.Kom.
Prototyping Aplikasi Teknologi Informasi
PERANCANGAN BERORIENTASI OBJEK
BAB 1 KONSEP OOP.
Encapsulasi ( Pengkapsulan )
ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM
ALGORITMA DAN PEMROGRAMAN 2C MATERI MINGGU KE-2 Pengenalan Teknik-teknik Bahasa Pemrograman Henny Medyawati.
Rekayasa Perangkat Lunak Proses Rekayasa Perangkat Lunak
Matakuliah : T0456 ~ Algoritma dan Metode Object Oriented Programming
ANALISIS DAN PEMODELAN BERORIENTASI OBJEK DENGAN UML
Algoritma Pemrograman
Pengantar Perancangan Berorintasi Objek
Materi Sesi ke 8 Pengembangan Sistem Informasi Manajemen
KONSEP DASAR PENDEKATAN OBJEK
Desain Sistem.
Rekayasa Perangkat Lunak Konsep Orientasi Objek
Rekayasa Perangkat Lunak Model Proses PL
Pengertian Algoritma Pemrograman Pertemuan 1
BAB 1 BAHASA PEMROGRAMAN
Perancangan Sistem Informasi
PENGEMBANGAN PERANCANGAN SISTEM
BAB 1 KONSEP OOP.
BAHASA PEMROGRAMAN.
KEBUTUHAN & SPESIFIKASI SOFTWARE
Dasar Pemrograman Dan Bahasa Pemrograman
1. Algoritma, Pemograman dengan C++
Latihan Soal 1. Dalam membagun aplikasi tidak lepas dari SDLC(System Development Life Cycle), yang tidak masuk dalam kategori tahapan SDLC adalah a. Analisa.
Materi Habis Uts IMK Prototyping
Object Oriented Programming
Konsep Pemrograman berorientasi Objek
Object Oriented Programming
PERTEMUAN 2 Proses Pengembangan Perangkat Lunak
Konsep Object Oriented
KEBUTUHAN & SPESIFIKASI SOFTWARE
REKAYASA PERANGKAT LUNAK
MODUL PRATIKUM PEMOGRAMAN BERORIENTASI OBJEK (OOP)
PEMROGRAMAN BERORIENTASI OBYEK
ANALISA & DESAIN BERORIENTASI OBJEK
Unified Modelling Languange (UML)
PEMROGRAMAN BERORIENTASI OBJEK
Testing Dan Implementasi Sistem
Dasar Pemrograman Dan Bahasa Pemrograman
REKAYASA PERANGKAT LUNAK
Analisis dan Desain Berorientasi Obyek
Analisis dan Desain Berorientasi Obyek
ISTILAH-ISTILAH PENTING PEMROGRAMAN BERBASIS OBYEK
Desain Sistem.
Pemrograman Berorientasi Obyek
Teknik Pemrograman Terstruktur
ANALISA BERORIENTASI OBJEK
KEBUTUHAN & SPESIFIKASI SOFTWARE
ANALISA BERORIENTASI OBJEK
OBJECT ORIENTED ANALISYS AND DESIGN
Perkembangan Teknik Pemrograman
 Setelah mengikuti kegiatan belajar 1 ini siswa diharapkan dapat :  1) Memahami paradigma pemrograman berorientasi obyek  2) Menganalisis perbandingan.
 Setelah mengikuti kegiatan belajar 1 ini siswa diharapkan dapat :  1) Memahami paradigma pemrograman berorientasi obyek  2) Menganalisis perbandingan.
Transcript presentasi:

Pemrograman Berorientasi Objek OOP (Object Oriented Programming ) Budi Hartono Sekolah Tinggi Elektronika dan Komputer ( STEKOM ) Semarang

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

Gambar Sofware Life Cycle

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

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

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

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

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

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 )

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

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

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

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

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

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

Gambar Pendekatan BO

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

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.

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

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.

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 )

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

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

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.

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.

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

Komunikasi Antar Objek Objek-objek dalam program akan saling berkomunikasi antara satu dengan yang lainya lewat pengiriman pesan ( message )

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.

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

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

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

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

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