Minggu, 27 November 2016

Jumat, 25 November 2016

Kisi-Kisi UAS RPL

Tujuan perancangan data base
–          Untuk memenuhi informasi yang berisikan kebutuhan-kebutuhan user secara khusus dan aplkasi- aplikasinya.
–          Memudahkan pengertian struktur informasi
–          Mendukkung kebutuhan –kebutuhan  pemrosesan dan beberapa obyek penampilan (response time,proseccing time,dan storage space)

Proses perancangan data base
– Tahap 1, pengumpulan data dan analisis
– Tahap 2, perancangan data base secara konseptual
– Tahap 3, pemilihan DBMS
– Tahap 4, perancangan database secara logika (data model mapping)
– Tahap 5, perancangan database secara fisik
– Tahap 6,plementasi sistem database

Menurut Gordon C.Everest; database adalah koleksi atau kumpulan data yang mekanis ,terbagi atau shared ,terdefinisi secara formal dan kotrol terpusat pada organisasi.
 Empat elemen database
1.     Enterprise= suatu jenis organisasi,misalnya bank,hotel,universitas,dan lalin-lain.
2.     Entity=file=obyek pada enterprise berdasarkan data yang disimpan.
3.     Attribute=field=data item=beberapa hal yang ingin diketahui dari suatu file.
4.     Record=suatu set field yang merupakan cirri khas dari suatu file isttilah entity dan attribute biasanya digunakan pada tingkat konseptual dan logical,sedangkan file ,record  dan field pada tingkat internal/fisikal.
Hubungan : Enterprise terdiri dari beberapa entity,entity terdiri dari beberapa record dan record  terdiri dari beberapa field.

Memory Stucture
Di dalam memory structure terdapat dua buah komponen yaitu :
a. System Global Area (SGA)
        SGA merupakan shared memory yang dapat digunakan oleh seluruh server process dan background process. Di dalamnya tersimpan informasi-informasi yang berupa data file dan control file dari instance.
Di dalam SGA terdapat struktur data sebagai berikut :
- Database Buffer Cache : berisi cache blok data yang berisi hasil pengembalian dari proses query database.
- Redo log buffer : menyimpan redo information yang digunakan untuk instance recovery. Informasi tersebut akan disimpan hingga ditulis ke dalam physical redo log file di dalam storage disk.
- Shared Pool : menyimpan berbagai macam konstruksi / informasi yang dapat dishare di antara user database.
- Large Pool : merupakan area optional yang dibutuhkan jika ada proses-proses yang memakan memory cukup besar seperti backup and recovery dan proses server I/O.
- Java Pool : digunakan oleh java code atau data yang menggunakan Java Virtual Machine (JVM).
- Stream Pool : Digunakan oleh Oracle Stream untuk proses streaming.
-
b. Process Global Area (PGA)
       Berbeda dengan SGA, PGA lebih spesifik hanya digunakan secara khusus oleh masing-masing server dan background process. Minimal ada satu PGA yang dimiliki oleh tiap server process. Setiap PGA menyimpan data dan control information dari masing-masing proses yang menyediakan layanan dari tiap request oracle client.
Preparasi Dalam Membuat Basis Data
1.     Buka aplikasi xampp, kemudian aktifkan Xampp dengan klik start
2.     Panggil alamat Localhos/xampp/ dan klik phpmy
3.     Buat Database dengan nama yang di inginkan, Klik Create
4.     Buat nama table dan jumlah kolom lalu klik go
5.     Masukan data, setelah itu klik save
6.     Selesai.


Contoh Aplikasi yang menggunakan database misalnya:
  • Sistem perpustakaan yang berbasis komputer, pasti membutuhkan database yang besar untuk merawat data buku yang dimilikinya.
  • Sistem ATM (Automatic Teller Machine), pasti membutuhkan database yang besar untuk mengambil dan meng-update data saldo uang misalnya.
  •  
  • Sistem reservasi tiket pesawat, pasti membutuhkan database untuk menyimpan data reservasi tiket.
  • Sistem inventory, pasti membutuhkan database untuk menyimpan data inventory termasuk updating data stok barang dan lain sebagainya.



Minggu, 23 Oktober 2016

Pemrograman Berbasis Objek


Pemrograman Berorientasi Obyek
Apa itu PBO?
          OOP/PBO merupakan paradigma pemrograman yang popular saat ini yang telah menggantikan teknik pemrograman berbasis prosedur. Object Oriented Programing yang berarti pula Pemrograman Beorientasi Objek sudah ditemukan sekitar tahun 1960 dan dikembangkan pada permulaan tahun 1970.

Pemrograman Berorientasi Objek (Object Oriented Programming/OOP) merupakan pemrograman yang berorientasikan kepada objek, dimana semua data dan fungsi dibungkus dalam class-class atau object-object. Setiap object dapat menerima pesan, memproses data, mengirim, menyimpan dan memanipulasi data. Beberapa object berinteraksi dengan saling memberikan informasi satu terhadap yang lainnya.
          Masing-masing object harus berisikan informasi mengenai dirinya sendiri dan dapat dihubungkan dengan Object yang lain. Pemrograman berorientasi objek berbeda dengan pemrograman prosedural yang hanya menggunakan satu halaman kebawah untuk mengerjakan banyak perintah atau statement. Penggunaan pemrograman berorientasi objek sangat benyak sekali, contoh : java, php, perl, c#, cobol, dan lainnya.
          Dalam konsep Pemrograman Berorientasi Objek dikenal beberapa istilah umum, yaitu:
·         Attribute
Definisi dan Gambaran Umum Atribut
          Atribut dari sebuah kelas adalah variabel global yang dimiliki sebuah kelas, Atribut dapat memiliki hak akses private, public maupun protected.
Sebuah atribut yang dinyatakan sebagai private hanya dapat diakses secara langsung oleh kelas yang membungkusnya, sedangkan kelas lainnya tidak dapat mengakses atribut ini secara langsung.
          Sebuah atribut yang dinyatakan sebagai public dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya.
Sebuah atribut yang dinyatakan sebagai protected tidak dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya, kecuali kelas yang mengaksesnya adalah kelas turunan dari kelas yang membungkusnya.
          Atribut juga biasa disebut state/ properties/ field merupakan bagian yang dimiliki oleh sebuah class yang tidak melakukan operasi, tetapi kepadanya dilakukan operasi sehingga dapat merubah nilai dari attribute tersebut.
Karakteristik Atribut
          Dalam class, atribut disebut sebagai variabel. Atribut dapat membedakan antara satu object dengan object yang lain. Sebagai contoh, pada class : mahasiswa, terdapat object mahasiswa si A, dan object mahasiswa si B.
          Yang membedakan antara object si A dan si B adalah NPM-nya (Nomor Pokok Mahasiswa) yang merupakan atribut dari object tersebut. Pada atribut, terdapat pula dua istilah variabel, yaitu Instance Variabel dan Class Variable.
Dimana pada tiap variabel memiliki karakteristik tersendiri, diantaranya :
Pada Instance Variabel à tiap object memiliki instance variabel dan menyimpan nilainya tersendiri.
          Sedangkan pada Class Variabel à atribut yang dimiliki oleh semua object yang berasal dari class yang sama, serta semua object memiliki nilai class variabel yang sama. atribut yang dimiliki object dari class yang sama.
·         Method
Definisi dan Gambaran Umum Method
          Method adalah fungsi atau prosedur yang dibuat oleh seorang programmer didalam suatu Class. Dengan kata lain, method pada sebuah kelas hampir sama dengan fungsi atau prosedur pada pemrograman prosedural.
          Pada sebuah method di dalam sebuah kelas juga memiliki izin akses seperti halnya atribut pada kelas, izin akses itu antara lain private, public dan protected yang memiliki arti sama pada izin akses atribut yang telah dibahas sebelumnya. Sebuah kelas boleh memiliki lebih dari satu method dengan nama yang sama asalkan memiliki parameter masukan yang berbeda sehingga kompiler atau interpreter dapat mengenali method mana yang dipanggil.
          Hal ini dinamakan overloading. Di dalam sebuah kelas, terdapat juga yang disebut sebagai method atau atribut statis yang memiliki kata kunci static. Maksud dari statis di sini adalah method yang dapat diakses secara berbagi dengan semua objek lain tanpa harus membuat objek yang memiliki method statis tadi (tanpa proses new), tapi sebuah method statis mempunyai keterbatasan yaitu hanya dapat mengakses atribut atau method lain di dalam kelas yang membungkusnya yang juga bersifat statis. Method statis biasanya diimplementasikan untuk method main.
Karakteristik Method
          Didalam suatu class, behavior disimpan dalam bentuk Method. Method merupakan serangkaian statemen / perintah (perintah = baris program) dalam suatu class yang menghandle task tertentu. Method merupakan hal-hal yang bisa dilakukan oleh object dari suatu class.
Method didefinisikan pada class akan tetapi dipanggil melalui object. Method memiliki peranan diantaranya :
– merubah nilai atribut dari suatu object,
– menerima informasi dari object lain, dan
– mengirim informasi ke obyek lain untuk melakukan suatu task (cara obyek berkomunikasi dengan obyek lain adalah dengan menggunakan method).
·         Class
          Merupakan model yang berisi kumpulan attribute dan method dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh class manusia memiliki attribute berat, tinggi, usia kemudian memiliki method makan, minum, tidur. Method dalam sebuah class dapat merubah attribute yang dimiliki oleh class tersebut. Sebuah class merupakan dasar dari modularitas dan struktur dalam pemrograman berorientasi object.
Definisi dan Gambaran Umum Class
          Class didefinisikan sebagai sebuah blueprint(denah), atau prototipe, yang mendefiniskan variabel-variabel dan metode-metode yang umum untuk semua objek dari n jenis tertentu (n maksudnya jumlah tertentu). Sebuah kelas menyerupai sebuah struktur yang merupakan tipe data sendiri, misalkan tipe data titik yang terdiri dari koordinat x dan y. Bahasa Java telah menggunakan sebuah kelas untuk menyatakan tipe data titik karena bahasa pemrograman Java merupakan bahasa pemrograman berorientasi objek murni sehingga tidak mengenal struktur, melainkan mengenal apa yang disebut dengan kelas.
          Perbedaan sebuah kelas dengan sebuah struktur adalah sebuah kelas dapat berdiri sendiri dan dapat digunakan untuk berbagai keperluan kelas-kelas yang lain, sedangkan sebuah struktur tidak dapat berdiri sendiri. Sebuah kelas lebih fleksibel untuk digunakan oleh kelas lain tanpa harus membongkar kode program utama, sedangkan jika digunakan struktur maka kode program harus dibongkar unuk disalin bagian strukturnya ke kode program utama yang lain.
          Sebuah file dapat terdiri dari berbagai kelas, namun biasanya pada bahasa pemrograman Java sebuah file hanya terdiri dari satu kelas yang disimpan dengan nama kelas, misal file List.java berisi kelas List. Namun jika kelas yang dibuat misalnya public class nama_kelas, maka kelas itu harus disimpan dalam satu file hanya untuk satu kelas. Setelah dilakukan kompilasi maka pada Java akan ada sebuah file .class yang berisi bytecode dari setiap kelas.
          Jika sebuah file terdiri dari dua kelas, maka setelah dilakukan kompilasi akan dihasilkan dua buah file .class yang nantinya akan dibaca oleh interpreter Java saat program dieksekusi. Sebuah kelas saat program dieksekusi dan perintah new dijalankan, maka akan dibuat sebuah objek. Class adalah template untuk pembuatan objek. Class juga memiliki anggota, diantaranya : atribut dan method.
Pemahaman singkatnya :
• Class merupakan pola / template yang menggambarkan kumpulan object yang mempunyai sifat dan perilaku yang sama.
• Class merupakan struktur data dari object (blueprint dari sebuah object), dan proses pembuatan object dari sebuah class disebut juga dengan instantiation.
• Class merupakan definisi data dan fungsi dari suatu hal (benda, konsep, dll).
• Di dalam class dideklarasikan variabel dan method yang dimiliki oleh obyek
Karakteristik Class
          Class memiliki beberapa karakteristik, diantaranya : anggota class terdiri dari atribut dan method. Tiap-tiap anggota class memiliki control pengaksesan tersendiri, maksudnya adalah apakah anggota class tersebut dapat diakses dengan bebas (dengan tipe public) atau hanya dapat diakses melalui sebuah interface.
          Dalam hal ini, interface adalah device yang digunakan untuk komunikasi antar object berbeda yang tidak memiliki hubungan apapun. Interface bisa dikatakan sebagai protokol komunikasi antar object tersebut.
·         Object
          Merupakan perwujudan dari class, setiap object akan mempunyai attribute dan method yang dimiliki oleh class-nya, contohnya: amir, ahmad, yani merupakan object dari class manusia. Setiap object dapat berinteraksi dengan object lainnya meskipun berasal dari class yang berbeda.
Definisi dan Gambaran Umum Object
          Object merupakan sesuatu yang memiliki identitas (nama), pada umumnya juga memiliki data tentang dirinya maupun object lain dan mempunyai kemampuan untuk melakukan sesuatu dan bisa bekerja sama dengan objek lainnya. Pada dasarnya semua benda yang ada di dunia dapat dianggap sebagai sebuah object. Rumah, mobil, sepeda motor, meja, dan komputer merupakan contoh-contoh object yang ada di dunia nyata. Object adalah implementasi dari class. Secara sederhananya, dapat dikatakan terdiri dari properti (atribut) dan method.
Pemahaman singkatnya :
• Objek merupakan sebuah objek khusus yang digunakan untuk mengakses anggota objek (atribut atau method) dari dalam objek itu sendiri.
• Apabila terdapat variabel lain yang memiliki nama yang sama dengan nama atribut di dalam objek, “this” dapat digunakan untuk merujuk ke atribut objek.
Karakteristik Object
          Setiap object memiliki dua karakteristik yang utama, yaitu atribut dan behavior. Atribut merupakan status object dan behavior merupakan tingkah laku dari object tersebut.
          Contoh sederhana adalah sepeda. Object sepeda memiliki atribut : pedal, roda, dan gigi, kecepatan serta memiliki tingkah laku seperti pacu dan rem. Sama seperti penggambaran di dunia nyata, pengembangan program dengan konsep OOP juga menggunakan model object yang akan menyimpan atributnya dalam variabel dan tingkah lakunya dalam method atau fungsi-fungsi/prosedur. Deskripsinya :
Contoh objek : Sepeda
– Sepeda memiliki atribut ( state ) : pedal, roda, jeruji, dan warna.
– Sepeda memiliki tingkah laku ( behaviour ) : kecepatannya menaik, kecepatannya menurun, dan perpindahan gigi sepeda.
Dalam pengembangan perangkat lunak berorientasi objek, objek dalam perangkat lunak akan menyimpan state-nya dalam variabel dan menyimpan informasi tingkah laku ( behaviour ) dalam method-method atau fungsi-fungsi/prosedur.
Konsep-konsep dalam OOP/PBO :
·         Abstraction
          Adalah suatu cara untuk melihat suatu object dalam bentuk yang lebih sederhana. Sebagai contoh kita tidak melihat sebuah mobil sebagai ribuan komponen elektronik, sistem mekanik dengan empat buah ban, jok, stir kemudi dan sebagainya. Dengan Abstraction, suatu sistem yang kompleks dapat dipandang sebagai kumpulan subsistem-subsistem yang lebih sederhana, seperti halnya mobil merupakan suatu sistem yang terdiri atas berbagai subsistem, seperti subsistem kemudi, subsistem pengereman dan sebagainya.
          Abstraksi merupakan kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan.
          Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
·         Encapsulation
          Merupakan suatu mekanisme untuk menyembunyikan atau memproteksi suatu proses dari kemungkinan interferensi atau penyalahgunaan dari luar sistem dan sekaligus menyederhanakan penggunaan sistem tersebut.
          Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak. Hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
·         Inheritance
          Merupakan konsep mewariskan attribute dan method yang dimiliki oleh sebuah class kepada class turunannya. Dengan konsep ini class yang dibuat cukup mendefinisikan attribute dan method yang spesifik didalamnya, sedangkan attribute dan method yang lebih umum akan didapatkan dari class yang menjadi induknya.
          Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada.Objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas.)
·         Polymorphism
          Merupakan konsep yang memungkinkan digunakannya suatu interface yang sama untuk memerintah suatu object agar melakukan suatu tindakan yang mungkin secara prinsip sama tetapi secara proses berbeda.
Model data berorientasi objek disebut dapat memberi fleksibilitas yang lebih, kemudahan mengubah program dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya selain itu pendekatan OOP lebih mudah dikembangkan dan dirawat.
          Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan, dengan metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesan tersebut dikirim.
          Contohnya, bila sebuah burung menerima pesan “gerak cepat”, dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.


Pengertian Class dalam Pemrograman Berbasis Objek

Class adalah ‘cetak biru’ atau ‘blueprint’ dari object. Class digunakan hanya untuk membuat kerangka dasar. Yang akan kita pakai nantinya adalah hasil cetakan dari class, yakni object.
Sebagai analogi, class bisa diibaratkan dengan laptop atau notebook. Kita tahu bahwa laptop memiliki ciri-ciri seperti merk, memiliki keyboard, memiliki processor, dan beberapa ciri khas lain yang menyatakan sebuah benda tersebut adalahlaptop. Selain memiliki ciri-ciri, sebuah laptop juga bisa dikenakan tindakan, seperti: menghidupkan laptop atau mematikan laptop.
Class dalam analogi ini adalah gambaran umum tentang sebuah benda. Di dalam pemrograman nantinya, contoh class seperti: koneksi_database dan profile_user.
Di dalam PHP, penulisan class diawali dengan keyword class, kemudian diikuti dengan nama dari class. Aturan penulisan nama class sama seperti aturan penulisan variabel dalam PHP, yakni diawali dengan huruf atau underscore untuk karakter pertama, kemudian boleh diikuti dengan huruf, underscore atau angka untuk karakter kedua dan selanjutnya. Isi dari class berada dalam tanda kurung kurawal.
Berikut adalah contoh penulisan class dalam PHP:


1.  <?php
2.  class laptop {
3.  // isi dari class laptop...
4.  }
5.  ?>


        Property (atau disebut juga dengan atribut) adalah data yang terdapat dalam sebuah class. Melanjutkan analogi tentang laptopproperty dari laptop bisa berupa merk, warna, jenis processor, ukuran layar, dan lain-lain.
Jika anda sudah terbiasa dengan program PHP, property ini sebenarnya hanyalahvariabel yang terletak di dalam class. Seluruh aturan dan tipe data yang biasa diinput kedalam variabel, bisa juga diinput kedalam property. Aturan tata cara penamaan property sama dengan aturan penamaan variabel.
Berikut adalah contoh penulisan class dengan penambahan property:


1
2
3
4
5
6
7

<?php
class laptop {
   var $pemilik;
   var $merk;
   var $ukuran_layar;
   // lanjutan isi dari class laptop...
}
?>
Dari contoh diatas, $merk, $ukuran_layar dan $jenis_processor adalah propertydari class laptop. Seperti yang kita lihat, penulisan property di dalam PHP sama dengan cara penulisan variabel, yakni menggunakan tanda dollar ($). Sebuahclass tidak harus memiliki property.

Fungsi dalam kelas

      Fungsi kelas terletak pada fungsi anggota (member function) dalam Java. Jika Anda ingin membaca data dalam objek maka Anda harus memanggil fungsi anggota (member function) dalam objek. hanya dengan cara ini Anda bisa mengakses data. Jadi Anda tidak bisa mengakses data secara langsung seperti dalam konsep pemrograman tradisional. Pengaksesan data seperti pada PBO ini dikenal sebagai pengkapsulan data. Pengkapsulan data (data encapsulation) dan
penyembunyian data merupakan kunci pengertian pemrograman berorientasi objek.
Jika Anda ingin mengubah data dalam objek tentunya Anda harus tahu fungsi-fungsi apa saja yang berinteraksi dengan objek itu, jadi tidak ada fungsi-fungsi lain yang bisa mengakses data sehingga penulisan dan penelusuran kesalahan program (debugging) akan dapat dilakukan dengan mudah.


HAK AKSES/ private,protected,public(OOP)

                    
Object Oriented Programming
 atau OOP adalah sebuah konsep atau paradigma pemrograman yang menganggap elemen pemrograman sebagai object. Dalam hal ini antara data dan fungsi dibungkus dalam sebuah blue print yang biasa disebut Class (Kelas). Dalam class terdapat dua bagian yaitu Attribute (Property) dan Method (Function). Setiap Attribute dan Method memiliki Modifier dimana modifier akan mengatur hak akses atas suatau method/attribute. Pada posting kali ini, sebelum kita belajar bagaimana dan seperti apa itu rupa dari attribute dan method, terlebih dahulu kita akan mempelajari tentang modifier dan hak aksesnya masing-masing.
Dalam pemrograman PHP saya belum terlalu paham seberapa hebat dan mendalam PHP dalam menerapkan konsep OOP ini, namun sepengetahuan saya antara OOP PHP dan Java memiliki kemiripan bahkan sangat mirip sehingga saya yang pertama kali belajar OOP dari Java tidak mengalami kesulitan berarti dalam memahami konsep-konsep yang ada. Seperti pada Java, PHP pun memiliki 5 Modifier yaitu Private, Protected, Public, Default (Undefined) dan Static, dimana Default dari Modifier dalam PHP adalah Public (maaf kalau salah tolong dibetulkan  soalnya aku juga kurang paham yang ini 
Mari kita bahas satu per satu
  1.Private
 Private; seperti namanya modifier ini bersifat spesifik class dan tidak dapat diwariskan kepada class turunannya. Modifier ini hanya dapat diakses oleh class tersebut dan tidak dapat diakses diluar dari class tersebut. Bahkan object saja tidak dapat mengaksesnya karena memang hanya diperuntukkan untuk class tersebut.
Contoh :

1
2
3
4
5
6
7
8
9
10
<?php
class Modifier{
         private function setPrivate(){
                 echo 'Ini private';
         }
}

$a = new Modifier();
$a->setPrivate();
?>
Ketika kita mencoba menjalankan program diatas maka yang ada bukannya keluar tulisan Ini private tapi justru error sebagai berikut
1
Fatal error: Call to private method Modifier::setPrivate() from context '' in/opt/lampp/htdocs/modifier.php on line 9
2. Protected
Protected; Modifier ini diproteksi hanya untuk class dan turunan class tersebut. Jadi modifier sedikit lebih terbuka daripada modifier Private namun belum bisa dipanggil secara langsung oleh object class. Untuk lebih jelas perhatikan contoh berikut :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
class Modifier{
         protected function setProtected(){
                 echo 'Ini protected';
         }
}

class Turunan extends Modifier{
         public function setPublic(){
                 $this->setProtected();
         }
}

//$a = new Modifier();
//$a->setProtected();

$b = new Turunan();
$b->setPublic();
//$b->setProtected();
?>
Pada contoh diatas akan keluar output Ini protected karena kita memanggil function setProtected dari extends class (class turunan) yang bersifat public. Secara singkat kira-kira beginilah alur program diatas.
Class Modifier mempunyai Turunan Class yaitu Turunan sehingga secara otomatis Turunan memiliki semua function yang dimiliki oleh class Modifier. Karena memiliki function yang dimiliki class Modifier, berarti Turunan juga memiliki fungsi setProtected. Karena ingin agar object dapat mengakses fungsi setProtected, dibuatlah sebuah fungsi pada class Turunan yaitu setPublic yang sebenarnya adalah fungsi setProtected namun dengan akses public.


Public
Deklarasi hak ini berarti variable atau fungsi dengan awalan ini bisa diakses dari class manapun, baik class itu sendiri atau class turunan dari class yang memiliki variable atau fungsi itu. Deklarasi ini merupakan yang paling sering dan mudah digunakan. Tetapi penggunaanya tergantung dari kebutuhan dan kebijakan dalam keamanan program.


Konsep Pewarisan (Inheritance) pada Pemrograman Berbasis Objek (PBO)
Pewarisan merupakan salah satu bentuk penggunaan kembali perangkat lunak dimana suatu kelas baru dibuat dari kelas yang sudah ada dengan mengabsorbsi variavel dan fungsi dari kelas yang sudah ada tersebut, serta menambahkan atribut maupun perilaku yang baru. Kelas baru secara otomatis akan memiliki variabel dan fungsi yang dimiliki oleh kelas asal.
Kelas asal disebut sebagai kelas induk (parent class, super class atau base class), kelas baru disebut dengan kelas anak (Child class, sub class). Java menggunakan kata kunci extends untuk menunjukkan suatu kelas merupakan turunan dari kelas yang lain.
Mendefinisikan Kelas
Pendefinisian  kelas untuk menunjukkan proses pewarisan melibatkan lebih dari satu kelas, yaitu kelas induk dan kelas turunan. Kelas turunan akan mewarisi atribut dan fungsi yang dimiliki oleh kelas induknya. Beberapa kemungkinan yang terjadi saat mendefinisikan fungsi-dungsi yang ada pada kelas turunan yaitu : kelas turunan dapat melakukan overriding function yang diperoleh dari kelas induk, kelas turunan mewarisi fungsi kelas induk dan tidak melakukan perubahan apapun, kelas  turunan mendefinisikan fungsi baru yang memang tidak ada di kelas induk.
Contoh dalam suatu organisasi (misal Perguruan Tinggi) terdapat berbagai macam jabatan struktural yang mempunyai berbagai tugas dengan karakteristik yang berbeda, misal : Ketua, Pembantu Ketua, Sekretaris, Ketua Jurusan dan lain-lain. Setiap jenis jabatan struktural akan memiliki karakteristik yang sama, misal : nama, job discription, tunjangan jabatan dan lain-lain. Selain karakteristik itu, setiap orang yang mempunyai jabatan struktural juga memiliki karakteristik tambahan, misal : masing-masing pejabat mempunyai job discription yang berbeda, besarnya tunjangan juga berbeda.
Tidak semua variabel atau fungsi dapat diwariskan ke kelas turunan.  Variabel atau fungsi yang di deklarasikan public akan diwariskan kepada turunan, sedang variabel atau fungsi yang dideklarasi private tidak akan diwariskan ke kelas turunnya.
Sintak dalam Java yang menggambarkan pewarisan dapat dituliskan sbb:
class nama_kelas_anak extends nama kelas induk {
//deklarasi atribut
//fungsi-fungsi kelas anak
}
Konstruktor
Konstruktor adalah sebuah fungsi yang digunakan untuk membuat objek dalam suatu kelas. Konstruktor ini juga digunakan untuk melakukan inisialisasi terhadap variabel-variabel yang dimiliki oleh kelas.
Dalam konsep pewarisan, konstruktor kelas induk tidak akan diwariskan ke kelas induk, untuk memfasilitasi pemanggilan fungsi konstruktor kelas induk oleh kelas anak maka Java menyediakan mekanisme rujukan ke kelas induk dengan menggunakan kata kunci super. Dengan menggunakan kata kunci ini, maka kita dapat mengakses semua variabel kelas induk walaupun variabel tersebut tidak diwariskan.
Pemanggilan konstruktor kelas induk dengan menggunakan super harus diletakkan dibaris pertama dalam fungsi konstruktor kelas anak.
Pemanggilan konstruktor kelas induk di dalam kelas anak dapat ditulis sbb:
public konstruktor_kelas_anak(parameter){
super(parameter)
//instruksi lain
}
Berikut contoh potongan program dengan konsep pewarisan (Program Lengkap):
//Class Struktural merupakan Class Induk
public abstract class Struktural {
private String nmpjb;
public Struktural(String nama){
nmpjb = nama;
}
public String getNama(){
return nmpjb;
}
abstract public String jobDesc();
abstract public double tunjangan();
}
//kelas turunan
public class Ketua extends Struktural{
public Ketua(String nama){
super(nama);
}
public String jobDesc(){
String job = “Job Description Ketua\n”;
job += “1. Memimpin Perguruan Tinggi \n”;
job += “2. Menentukan Tujuan Strategis \n”;
return job;
}
public double tunjangan(){
// rumus perhitungan tunjangan ketua
return 1000000;
}
}
keterangan:
  • Kelas Ketua (nama jabatan struktural : Ketua, Pembantu Ketua Sekretaris dll ) merupakan kelas extends dari     kelas Struktural.
  • super(nama) digunakan untuk pemanggilan variabel nama yang ada di kelas induk (kelas Struktural