PERTEMUAN 2 PEMOGRAMAN BERORIENTASI OBJEK L/O/G/O

dokumen-dokumen yang mirip
PERTEMUAN 3 PEMOGRAMAN BERORIENTASI OBJEK L/O/G/O

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

PERTEMUAN 1 PEMOGRAMAN BERORIENTASI OBJEK L/O/G/O

PRAKTIKUM OBJECT ORIENTED PROGRAMING

OBJECT ORIENTED PROGRAMMING DENGAN PHP. Janitra Panji

INTERAKSI ANTAR OBJECT

PEMROGRAMAN BERORIENTASI OBJEK

Praktikum Minggu VI 1 dan 2 Dasar-dasar Object Oriented Programming PHP

Bag 4.4 Bagian ini sudah cukup menjelaskan dan memberikan gambaran yang tepat tentang JVM (Java Virtual Machine).

Pertemuan 11 Object Oriented Program

TPI4202 e-tp.ub.ac.id

STRUKTUR DENGAN ARRAY DAN FUNCTION

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni

Pemrograman Berorientasi. Class dan Obyek 2

Bahasa Pemrograman 2.

Jobsheet 09. Overloading and Overriding Method

Michael Lionardi

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

Pengenalan pemrograman berorientasi obyek

Konsep Dasar Pemrograman Berorientasi Obyek I JAVA. Anugrah Kusuma Seno Adi Putra

Class & Object 2. Imam Fahrur Rozi

OVERLOADING, CONSTRUCTOR DAN DESTRUCTOR. Dewi Sartika, M.Kom

MINGGU IV : PEMROGRAMAN BERORIENTASI OBJEK

SUMBER BELAJAR PENUNJANG PLPG

Pemrograman Berorientasi Obyek. Ramos Somya

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini:

Modul Praktikum 4 Pemograman Berorientasi Objek

PRAKTIKUM I Class dan Obyek

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO

MEMBUAT KELAS SENDIRI. Dewi Sartika, M.Kom

PERTEMUAN 3 OBJEK DAN CLASS

KONSEP OBJEK ORIENTASI PROGRAM

Pengenalan JAVA. Farhat, ST., MMSI., MSc

Pemograman Berorientasi Objek. Week 4 Initialization dan Instance dalam Kelas

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah );

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

Inheritance dan Kata Kunci static

Diciptakan oleh James Gosling. Resmi diperkenalkan tahun Merupakan bahasa pemrograman berorientasi obyek murni. Pada awalnya hanya mampu

SILABUS MATA KULIAH PEMROGRAMAN JAVA

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak

TUGAS KELOMPOK 4 PEMROGRAMAN BERBASIS OBJEK

Konsep Dasar Pemrograman Berorientasi Objek

Diciptakan oleh James Gosling. Resmi diperkenalkan tahun Merupakan bahasa pemrograman berorientasi obyek murni. Pada awalnya hanya mampu

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello {

06/03/2018. Tidak memiliki parameter. Melakukan inisialisasi semua variabel private dengan nilai awal.

PEMROGRAMAN PHP DASAR

MODUL 2 Constructor. Tujuan: Mahasiswa dapat mengenal dan memahami konsep constructor dan overloading constructor

Kurikulum Qt. Chapter 5 Pointer dan References. Agenda. Apa itu Pointer? Memory Komputer. Mengambil Alamat Memory dari Variabel

Dasar Pemrograman Java. H. Risdiandri Iskandar, SKom,MM 1

PEMROGRAMAN JAVA. Yoannita, S.Kom. Class & Method sederhana Konsep Pemrograman Berorientasi Objek. Company LOGO

COMPOSITION FAKULTAS TEKNOLOGI INFORMASI. PBO Lanjutan UNIVERSITAS BUDI LUHUR. Kelas (Lanjutan) HAL : 1

Dasar Pemrograman Java

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

Pemrograman Berorientasi Obyek (C++) Departemen Ilmu Komputer FMIPA IPB 2013

TPI4202 e-tp.ub.ac.id

Modul 4: Lebih Dalam lagi tentang Class, Objek dan Method

PEMROGRAMAN BERORIENTASI OBJEK STRUCTURE & CLASS

1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference ke atribut turunan dari objek? super

Tutorial FDM Nurul Huda 2008, bundled by samsonasik. Modul Java 1

Pemrograman Berorientasi Objek

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

KELAS DAN OBJEK KELAS

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya :

BAB IV HASIL PENELITIAN DAN PENERAPAN

Modul II Object Oriented Programming

TUGAS DASAR PEMROGRAMAN KELAS C DOSEN PENGAMPU : IKA ATSARI DEWI, STP, MP

PEMAHAMAN DASAR DASAR JAVA

Dasar-Dasar OOP di Java

MODUL 1 PENGENALAN OOP

Praktikum 3 Konsep Class, Attribute dan Method

Array Sebagai Parameter Method

Pemrograman Berorientasi. Inheritance

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

MODUL III ARRAYLIST TUGAS PENDAHULUAN

PEMROGRAMAN BERORIENTASI OBJEK

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

MODUL 3. Inheritance, Abstract Class, Interface TUJUAN PRAKTIKUM LANDASAN TEORI. A. Inheritance

Object Oriented Programming 1

Pengenalan JavaScript

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

Sebagai contoh misalnya akan dibuat kelas turunan Silinder dari kelas dasar Lingkaran, maka dapat dituliskan :

BAHASA PEMROGRAMAN. Untuk SMK. Kadarisman Tejo Yuwono Totok Sukardiyono Adi Dewanto. : Ratu Amilia Avianti. Perancang Kulit

Bab 8. Dasar-Dasar OOP

Modul 2. [access specifier] [tipe data] [nama variabel];

BEKERJA DENGAN JAVA CLASS LIBRARY

PRAKTIKUM 7 DASAR INPUT OUTPUT

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

Pemrograman Lanjut Review Class dan Object PTIIK

Transkripsi:

PERTEMUAN 2 PEMOGRAMAN BERORIENTASI OBJEK L/O/G/O

PENGERTIAN Secara logika kelas dalam dunia pemrograman dapat kita bayangkan seperti halnya kelas-kelas yang ada pada sekolah dasar. Kelas digunakan untuk mengelompokan komponenkomponen dengan kriteria tertentu yang hampir sama dimiliki semua anggota kelas. Misalnya kelas 1 pada sekolah dasar adalah anak-anak yang memiliki usia 6 sampai 7 tahun Dalam dunia pemrograman biasanya digunakan untuk mengelompokan benda dan proses yang terkait dengan aplikasi komputer yang akan dibuat (benda dan proses). Oleh karena itu sebelum merancang kelas-kelas apa saja yang dibutuhkan perlu dipelajari, bagaimana merancang data mengenai benda-benda yang terkait dan juga proses proses yang terkait pada aplikasi komputer yang akan dibuat

KELAS DAN OBJEK Kelas Kode program kelas yang ditulis oleh programmer Sebuah file yang berisi kode program Jika masih dalam bentuk kode, disebut sebagai kelas jadi pada saat runtime (saat sebuah program dieksekusi), yang kita punya adalah objek dan apabila berada didalam teks program yang kita lihat hanyalah kelas Objek Kelas yang telah di eksekusi dan dijalankan menjadi program komputer yang sudah siap digunakan Tidak dapat dilihat bentuknya karena onjek dijalankan didalam proses komputer mengeksekusi program berorientasikan objek Onjek adalah elemen pada aat runtime yang akan diciptakan, dimanipulasi dan dihancurkan saat eksekusi sehingga sebuah objek hanya ada saat sebuah program dieksekusi

KELAS DAN OBJEK Ilustrasi jalannya kelas menjadi objek

PHP, C++ dan JAVA C++ merupakan bahasa pengembangan dari bahasa C yang berbasiskan prosedural untuk mendukung pemrograman berorientasi objek. PHP pada awalnya berbasiskan pemrograman prosedural atau menggunakan fungsi-fungsi dalam membuat membuat kode programnya. Saat ini PHP5 telah mendukung pemrograman berorientasi objek seperti halnya C++ PHP bukanlah skrip pemrograman berorientasi objek murmi seperti Java, tetapi lebih bersifat semi berorientasi objek seperti halnya C++. PHP masih menggunakan cara prosedural pada program utamannya (main program)

PHP, C++ dan JAVA Sebuah file dapat terdiri dari beberapa kelas, namun biasanya pada Java, sebuah file hanya terdiri dari satu kela yang disimpan dengan nama kelas, misalnya file List.java berisi kelas List, namun jika kelas yang dibuat misalkan (dalam bahasa pemrograman Java): Public class nama_kelas{.. maka kelas itu harus disimpan dalamsatu file hanya untuk satu kelas. Setelah dikompilasi maka pada Java akan ada sebuah file.class yang berisi bytecode dari setiap kelas Jika sebuah file terdiri dari dua kelas maka setelah dikompilasi akan dihasilkan dua buah file.class yang nantinya akan dibaca oleh interpreter Java pada saat program dieksekusi. Setiap kelas sebaiknya memang disimpan dalam satu file agar mudah diambil jika akan digunakan pada program lain yang membuuhkan kelas itu.

PHP, C++ dan JAVA Kelas didefinisikan sebagai file yang berbeda dengan program utama (program utama memiliki file terpisah dengan file kelas). Aplikasi penjadwalan penerbangan pesawat, maka jika diperlukan sebuah aplikasi pencarian daftar nama pesawat yang telah dibuat sebuah pabrik maka kelas pesawat dapat digunakan untuk membuat aplikasi tanpa harus membuat kode program dari awal (karena data yang dimiliki pesawat pada aplikasi pertama dan kedua sama) Java merupakan bahasa pemrograman berorientasi objek karena semua kode program di dalam bahasa Java dibungkus di dalam kelas Ilustrasi Pemrograman Berorientasi Objek

PHP, C++ dan JAVA class Halo private kata : string procedure main() kata <- Halo Dunia output (kata) {end procedure Mendeklarasikan kelas bernama Halo Mendeklarasikan sebuah atribut bernama kata bertipe string dan bersifat provat (tidak dapat diakses langsung oleh kelas lain) Mendeklarasikan sebuah prosedur utama untuk menampilkan kata Halo Dunia {end class Ilustrasi Pembuatan Kelas

PHP, C++ dan JAVA Pada C++, prosedur utama tidak dapat dimasukan ke dalam kelas, tetapi harus diprogram secara prosedural (khusus prosedur utama) dan setiap kelas memiliki konstruktor. Konstruktur adalah sebuah metode dan dalam pemrograman berorientasi objek, metode yaitu prosedur dan fungsi Pada pemrograman PHP, fungsi dan prosedur sama-sama dianggap sebagai fungsi saja (function) maka metode yang ada didalam kelas semuanya berupa fungsi. Pada Java, program utama dapat juga dibungkus dalam sebuah kelas. Java merupakan bahasa pemrograman beorientasi objek murni sehingga program utamanya pun dibungkus didalam kelas.

ATRIBUT Atribut dari sebuah kelas adalah variable global yang dimiliki sebuah kelas, misalkan : class Buku private judul : string private pengarang : string Buku () {end constructor {end class Maka judul adalah atribut dari kelas Buku yang bertipe string dan pengarang adalah atribut dari kelas Buku yang bertipe string juga. Atribut pada sebuah kelas memiliki izin akses jika kelas digunakan oleh kelas lain, izin akses itu seperti provate, public dan protected.

ATRIBUT Atribut Private Izin akses private pada sebuah atribut biasanya digunakan oleh sebuah kelas untuk melindungi atribut-atributnya agar tidak dapat diakses oleh kelas lain Sebuah atribut yang dinyatakan private hanya dapat diakses secara langsung oleh kelas yang membungkusnya sedangkan kelas lainnya tidak dapat mengakses atribut ini secara langsung Sebuah atribut umumnya mempunyai ijin akses private agar tidak dapat diakses secara langsung oleh kelas lain Atribut merupakan bagian kelas yang harus dilindungi dalam enkapsulasi kelas. Oleh karena itu, akses kelas lain terhadap atribut suatu kelas harus dibatasi. Maka untuk mengubah atau mengambil nilai atribut kelas lain sebaiknya menggunakan metode set and get untuk setiap atribut yang dimiliki sebuah kelas.

ATRIBUT class Buku private judul : string private pengarang : string Buku () {end constructor {end class Yang dapat mengakses judul dan pengarang hanyalah kelas buku sehingga jika sebuah kelas lain di dalamnya mempunyai kode Buku b <- new Buku(), maka pengaksesan b.judul tidak diizinkan pada kelas lain yang menggunakan kelas buku. Agar isi dari sebuah atribut private dapat diakses oleh kelas lain dapat dibuat sebuah metode yang mengembalikan nilai atribut tersebut. Misalkan public getjudul() string -> judul {end getjudul Sehingga kelas lain akan mengakses atribut judul pada kelas Buku dengan kode string j <- b.judul

ATRIBUT Atribut Public Izin akses public sebuah atribut biasanya digunakan oleh sebuah kelas jika sebuah atribut diperbolehkan diakses secara langsung oleh kelas lain. Sebuah atribut yang dinyatakan sebagai public dapat diakses secara langsung oleh kelas lain diluar kelas yang membungkusnya, misalkan pada kelas Buku class Buku public judul : string public pengarang : string Buku () {end constructor {end class maka atribut judul dan pengarang dapat diakses langsung oleh kelas lain misalkan dengan kode Buku b <- new Buku () Output (b.judul)

ATRIBUT Atribut Protected Izin akses protected sebuah atribut biasanya digunakan oleh sebuah kelas jika sebuah atribut diperbolehkan diakses secara langsung oleh kelas lain yang merupakan kelas turunannya (inheritance) Izin akses protected dimaksudkan untuk melindungi atribut agar tidak diakses secara langsung oleh sembarang kelas lain namun diizinkan diakses secara langsung oleh kelas turunannya Sebuah atribut yang dinyatakan sebagai protected tidak dapat diakses secara langsung oleh kelas lain diluar kelas yang membungkusnya kecuali kelas yang mengaksesnya adalah kelas turunan dari kelas yang membungkusnya class Buku protected judul : string protected pengarang : string Buku () {end constructor {end class

KONSTRUKTOR Sebuah metode (method) yang dimiliki oleh sebuah kelas Nama sebuah konstruktor harus sama dengan nama dari sebuah kelas misalkan kelas Buku maka konstruktornya adalah Buku() Sebuah konstruktor juga bisa menerima masukan seperti halnya prosedur pada pemrograman prosedural. Konstruktor harus bersifat public karena sebuah konstruktor akan diakses oleh kelas lain untuk membuat objek suatu kelas Sebuah kelas dapat memiliki konstruktor lebih dari satu. Pada saat eksekusi program, compiler atau intrepeter akan mencari konstruktor mana yang sesuai dengan konstruktor yang dipanggil. Hal ini disebut sebagai overloading

KONSTRUKTOR Fungsi dari Konstruktor Mengalokasikan sebuah objek saat program dieksekusi (memerintahkan dibuatnya alokasi objek di memori saat program dijalankan) Memberikan nilai awal sebagai inisialisasi dari semua atribut yang perlu diinisialisasi Mengerjakan proses- proses yang diperlukan saat sebuah objek dibuat

KONSTRUKTOR class Titik private x : integer private y : integer Titik () x <- 0 y <- 0 {end Titik Titik(xp : integer, yp : integer) x <- xp y <- yp {end Titik {end class Maka ketika objek Titik dibuat dengan kode : Titik t <- new Titik() Konstruktor yang akan dipanggil adalah Titik(), namun jika objek Titik dibuat dengan kode : Titik t <- new Titik(5,7) Maka konstruktor yang dipangil adalah Titik (xp : integer, yp : integer)

KONSTRUKTOR Pada C++, konstruktor diimplementasikan sebagai metode yang bernama sama dengan kelasnya. Pada Java, konstruktor diimplementasikan sama dengan C++ yaitu sebagai metode yang bernama sama dengan kelasnya. class Buku{ private : public : Buku () { //konstruktor Buku (char j[], char p[] { //konstruktor. Class Buku{. Buku() { //konstruktor Buku (string j, string p) { //konstruktor.

KONSTRUKTOR Pada PHP4, konstruktor diimplementasikan sebagai fungsi yang bernama sama dengan kelasnya. class Buku{ function Buku () { //konstruktor function constructor ($j=, $p= ) { //konstruktor. Pada PHP5, konstruktor diimplementasikan dengan menggunakan metode _construct(). class Buku{. function _construct () { //konstruktor function_construct ($j=, $p= )) { //konstruktor.

DESTRUKTOR Metode yang dipanggil secara otomatis ketika objek dihancurkan Destruktor tidak perlu harus ada pada kode program sebuah kelas jika compiler atau interpreter tidak memiliki garbage collection (mekanisme membersihkan alokasi objekobjek yang sudah tidak dipakai dalam memori) Sebuah destruktor biasanya hanya terdapat satu metode pada sebuah kelas dan tidak memiliki parameter masukan Destruktor biasanya berisi proses=proses finalisasi dari suatu kelas, misalnya menghapus alokasi meori yang terlah dipakan oleh objek Penamaan Destruktor sama dengan konstruktor, hanya saja destruktor diberi tanda ~ pada bagian penamaan metode class Titik private x : integer private y : integer Titik() { x <- 0 y <- 0 ~Titik() {end ~Titik

DESTRUKTOR Pada Pemograman C++, destruktor dipanggil secara otomatis saat sebuah objek dihancurkan Pada PHP4, tidak mengenal destruktor atau belum mendukung desktruktor PHP5 mengenal fungsi _destruct() sebagai destruktor. Desktruktor pada PHP5 dipanggil saat onjek dihancurkan seperti C++ Pemograman Java terdapat metode finalize() yang dapat disungsikan seperti detruktor namun metode ini tidak harus diimplementasikan pada sebuah kelas pada bahasa pemrograman Java. Java objek dibebaskan secara otomatis oleh bagian runtime Java yang disebut dengan garbage collector yang berjalan secara background dimana java akan melakukan pengecekan secara bertahap dan menghapus onjek-objek yang sudah tidak diacu lagi sehingga destuktot tidak wajib ada pada kelas yang menggunakan Java

DESTRUKTOR C++ PHP5 Java class Buku { private :. public : Buku(){.. ~Buku(){ //desktruktor class Buku {. function_construct(){ //konstruktor.. function_destruct(){ //desktruktor class Buku {. Bukut(){ //konstruktor.. Protected void finalize(){ //desktruktor

METODE Metode atau method pada sebuah kelas hampir sama dengan fungsi atau prosedur pada pemrogrman prosedural Metode didalam sebuah kelas juga memiliki akses seperti halnya atribut pada kelas, izin akses itu antara lain private, public dan protected yang memiliki arti sama pada izin akses atribut Sebuah kelas boleh memiliki lebih dari satu metode dengan nama yang sama (overloading) asalkan memiliki parameter masikan yang berbeda sehingga compiler atau interpreter dapat mengenali metode mana yang dipanggil

METODE Pada bahasa pemrograman Java, dalam sebuah kelas, terdapat juga yang disebut sebagai metode atau atribut statis yang memiliki kata kunci static Yang dimaksud statis disini yaitu metode yang dapat diakses secara berbagi (share) dengan semua objek lain tanpa harus membuat objek yang memilki metode statis tadi (tanpa proses new) Metode statis mempunyai keterbatasan yaitu hanya dapat mengakses atribut atau metode lain didalam kelas yang membungkusnya yang juga bersifat statis Metode statis biasanya diimplementasikan pada metode main Metode atau atribut yang bersifat statis lebih dahulu dialokasikan di memori untuk dieksekusi atau dipergunakan walaupun kelas yang membungkusnya belum mengalami proses new (tanpa dikenai perintah new)