• Ayu Fitria A
• Nabila Rizky Adelia
Pemrograman Berorientasi
Objek
Pemrograman Berorientasi Objek
• Pengertian Pemrograman Berorientasi Objek
• Perbedaan PBO dengan Program Prosedural
• Konsep Dasar Pemrograman Berorientasi Objek
• Pengertian UML
• Compiler atau Interpreter
• Paradigma Pemrograman
• Sejarah JAVA
• Contoh Program dalam Bahasa JAVA
• Sejarah PHP
• Contoh Program dalam Bahasa PHP
• Kekurangan dan Kelebihan
PENGERTIAN PBO
CONTOH
Contoh dalam program :
Coba.Java
class Coba{
public String x =”Belajar”;
private String y = “Java”;
}
Belajar.Java
public class Belajar{
public static void main(String[]args){
Coba panggil = new Coba();
System.out.println(“Panggil X : “+panggil.x);
System.out.println(“Panggil Y : “+panggil.y);
}}
Tipe public dan private mempunyai fungsi yang berbeda. Fungsi public yang terdapat dalam class Coba pada
variable x, memungkinkan nilai dari variable x dapat diakses oleh class Belajar. Sedangkan variable y yang
menggunakan fungsiprivate tidak dapat dipanggil didalam class Belajar.
• Konsep Dasar Pemrograman Berorientasi Objek
4. Inheritance (Pewarisan / Turunan )
Kalimat extends yang terdapat dalam class Anak, menjelaskan bahwa classAnak
merupakan subclass dari class OrangTua.
Hal ini menjadikan bahwa semua sifat dan variabel yang berada pada class OrangTua dapat diakses oleh class Anak.
• Konsep Dasar Pemrograman Berorientasi Objek
5. Polymorphism (Polimorfisme /
Berubah Bentuk)
Suatu object yang dapat memiliki berbagai atau banyak bentuk
yang menjadi object dari class nya sendiri ataupun object
dari superclass nya adalah merupakan konsep OOP
dari Polymorphism. Ada 2 bentuk dari polimorfisme,
yaitu overloading dan overriding.Overloading adalah pemakaian
suatu nama yang digunakan untuk beberapa method yang di
dalamnya mempunyai parameter yang berbeda-beda.
Sedangkanoverriding adalah deklarasi method subclass sama
CONTOH
dengan method yang ada padasuperclass nya.
Contoh Program :
Nilai.Java
class Nilai{
int a;
String b;
Nilai(int a, String b){ //Dengan Parameter
this.a = a;
this.b = b;
}
LihatNilai.Java
class LihatNilai{
public static void main (String[]args){
Nilai x = new Nilai ();
System.out.println(“X = “+x.a);
System.out.println(“Y = “+x.b);
}}
Hasil yang akan ditampilkan ketika class LihatNilai di atas dijalankan adalah x = 1 dan y = Dua,
hal ini membuktikan bahwa sifat polimorfisme yang ada di java.Class LihatNilai memanggil method Nilai tanpa parameter, sehingga nilai yang dikembalikan adalah nilai yang ada dimana nilai
tersebut berada di method yang tidak memiliki parameter.
• MEMAHAMI ORIENTASI OBJEK
Objek dari kehidupan nyata.
1. View
#include <stdio.h>
000101000011
001010000100
main() 010010010101
{ C Compiler 010101010010
printf(“Hallo”);
}
(Compiler + Interpreter)
javac java
(Java Compiler) (Java Interpreter)
Tingkat Bahasa Pemrograman
1. Bahasa Pemrograman Tingkat Rendah (Assembler)
2. Bahasa Pemrograman Tingkat Sedang
(C, Pascal, Fortran)
3. Bahasa Pemrograman Tingkat Tinggi
(Java, C++, C#)
• Paradigma Pemrograman
Sudut pandang dan style pemrograman berhubungan dengan bagaimana
sebuah masalah diformulasikan dalam bahasa pemrograman
SELANJUTNYA
Tampilan Netbeans IDE 7.4
• Sejarah PHP
• Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995.
Pada waktu itu PHP masih bernama Form Interpreted (FI), yang wujudnya berupa sekumpulan skrip yang digunakan untuk mengolah data formulir
dari web.
• Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi sumber terbuka,
maka banyak pemrogram yang tertarik untuk ikut mengembangkan PHP.
• Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini, interpreter PHP sudah diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul-
modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan.
• Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada
Juni 1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP diubah
menjadi akronim berulang PHP: Hypertext Preprocessing.
• Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling
banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap
memiliki kecepatan dan stabilitas yang tinggi.
• Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan
model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek.
Server web bawaan ditambahkan pada versi 5.4 untuk mempermudah pengembang menjalankan kode PHP tanpa menginstall software server.
PBO Dalam Bahasa PHP
Contoh sebuah Class :
1 class mahasiswa {
2 var $nim;
3 var $nama; Sintak dari sebuah Class :
4 function cetakData() { 1 class nama_class {
5 echo "NIM : $this->nim"; 2 var $nama_variable;
6 echo "Nama : $this->nama"; 3 fungsi - fungsi;
7 } 4 }
8 }
Penjelasan Class ini kita beri nama mahasiswa.
Class mahasiswa memiliki 2 variabel yaitu $nim dan $nama.
Selain itu class mahasiswa juga memiliki sebuah fungsi yaitu cetakData().
Variable $this pada fungsi cetakData() mengacu pada object tersebut.
Untuk menggunakan class ini,
kita gunakan keyword new didepan nama class sehingga akan terbentuk sebuah object berdasarkan
• Class ini. Contohnya :
• 1 $ketua = new mahasiswa();
• 2 $wakil = new mahasiswa();
• 3 $ketua->nim = “20123421001";
• 4 $ketua->nama = “Debie Ayu Mustika Sari";
• 5 $wakil->nim = " 201234210012";
• 6 $wakil->nama = “Danny Andika P
• Object $ketua dan $wakil merupakan object dari class mahasiswa. Yang menarik di sini
bahwa object $ketua dan $wakil memiliki $nim dan $nama yang berbeda namun tetap
memiliki struktur yang sama.
Untuk mengakses isi dari suatu object adalah dengan menggunakan tanda ->
• Penurunan Class (Inharitence)
• Sekali lagi dalam PBO ada yang disebut dengan penurunan class. Maksudnya kita bisa membuat suatu cla
baru dari class yang sudah ada, mekanisme ini disebut penurunan kelas. Pada php , untuk menurunkan ke
maka digunakan kata kunci extends.
• Sintak :
• 1 class nama_kelas_baru extends nama_kelas_yang_diturunkan {
• 2 $var nama_variable; // tambahan variable
• 3 function nama_fungsi(); // fungsi yang ditambahkan
• 4 }
• Penjelasan Class baru yang dihasilkan selain memiliki variable maupun fungsi seperti
pada class utamanya, juga bisa memiliki variable dan fungsi baru. Jika seandainya pad
class baru dideklarasikan fungsi baru yang namanya sama dengan nama fungsi pada
class utamanya maka fungsi yang digunakan adalah fungsi yang terletak pada class
baru.
• Contoh :
01 class orang{
02 var $nama;
03 var $alamat; • Penjelasan Class mahasiswa merupakan
04 function cetakData() { kelas turunan dari class orang. Dari class
05 echo "nama : $this->nama"; orang, class mahasiswa memiliki variable
06 echo "alamat : $this->alamat"; $nama dan $alamat , dan juga fungsi
07 } cetakData(). Selain itu class mahasiswa juga
08 } memiliki variable tambahan yaitu $nim dan
09 $email. Sedangkan deklarasi fungsi
10 class mahasiswa extends orang {
11 var $nim;
cetakData() menyebabkan fungsi
12 var $email;
cetakData() pada class utama tidak
13 function cetakData(){ digunakan jika fungsi dipanggil dari class
14 echo "Nim : $this->nim\n"; mahasiswa.
15 echo "nama : $this->nama\n";
16 echo "alamat : $this->alamat\n";
17 echo "email : $this->email\n";
18 }
19 }
• Constructor
• Constructor merupakan sebuah fungsi yang digunakan untuk menginisialisasikan suatu object baru. Ada
aturan yang berbeda dalam PHP 3 dan PHP 4, dimana pada PHP 3, sebuah fungsi constructor merupakan
fungsi yang memiliki nama yang sama dengan nama class tersebut dan bisa berasal dari class induknya.
Sedangkan pada PHP 4 definisi sama namun ada tambahan jika fungsi constructor yang berasal dari class
induknya maka namanya harus sama dengan nama class induknya.
• <?php • <?php
• class person { • include("Class-1.php");
• var $name; • ?>
• function set_name($new_name) • <body>
• { • <?php
• $this->name = $new_name; • $stefan = new person();
• } • $jimmy = new person;
• function get_name() • $stefan->set_name ("Stefan Mischook");
• { • $jimmy->set_name("Nick Waddles");
• return $this->name; • ?>
• } • </body>
• } • </html>
• ?>
• File Name : Class-3.php
• <?php
• class person {
• var $name;
• public $height;
• protected $social_insurance;
• private $pinn_number;
• function __construct($persons_name)
• {
• $this->name = $persons_name;
• }
• function set_name($new_name)
• {
• $this->name = $new_name;
• }
• function get_name()
• {
• return $this->name;
• } }
• ?>
• File Name : Class-7.php
• class Form
• {
• var $fields = array();
• var $action; • echo "<tr><td colspan='2'>";
• var $submit = "Submit Form";
• var $jumField = 0;
• echo "<input type='submit' value='".$this-
• function __construct($action, $submit)
>submit."'></td></tr>";
• { • echo "</table>";
• $this->action = $action; • }
• $this->submit = $submit; • function addField($name, $label)
• }
• function displayForm() • {
• { • $this->fields [$this->jumField]['name'] = $name;
• echo "<form action='".$this->action."' method='POST'>"; • $this->fields [$this->jumField]['label'] = $label;
• echo "<table width='100%'>";
• for ($j=0; $j<count($this->fields); $j++) {
• $this->jumField ++;
• echo "<tr><td align='right'>".$this-> • }
• fields[$j]['label']."</td>"; • }
• echo "<td><input type='text' name='".$this-> • ?>
• fields[$j]['name']."'></td></tr>";
• }
• File Name : Class-12.php
• <?php
• include “Class-11.php";
• echo "<html><head><title>Mahasiswa</title></head><body>";
• $form = new Form ("","Input Form");
• $form->addField ("txtnim", "Nim");
• $form->addField ("txtnama", "Nama");
• $form->addField ("txtalamat", "Alamat");
• $form->addField ("txttelp", "Telp.");
• echo "<h3>Silahkan isi form berikut ini :</h3>";
• $form->displayForm();
• echo "</body></html>";
• ?>
• Membuat Database
• CREATE TABLE wisata
• CREATE TABLE user(
• user_id varchar(50), • (
• nama varchar(100), • id_wisata tinyint(10) NOT NULL auto_increment,
• password varchar(50), • nama_wisata char(150) ,
• alamat char(150) ,
• tipe varchar(20), • lat char(65) ,
• PRIMARY KEY (`user_id`) • lng char(50) ,
• gambar char(45) ,
• ); • PRIMARY KEY ( id_wisata )
• );
• INSERT INTO user VALUES ('admin', 'Administrator', 'soe165upi', 'USER');
• INSERT INTO wisata VALUES
• (1, 'Pantai Padang', 'Padang', 'Test-1', 'Ind', 'padang1.jpg'),
• (2, 'Pantai Kata', 'Pariaman', 'Test-2', 'Ind', 'padang2.jpg'),
• (3, 'Pantai Air Manih', 'Padang', 'Padang Timur', 'English', 'pgtmr.gif');
Hasil Eksekusi Program
Kelebihan Dan Kekurangan JAVA
• Kelebihan :
• Mudah Untuk Dikembangkan
• Sifatnya multiplatform
• Memiliki kemudahan dalam menyusun suatu
script
• Kekurangan :
• Penggunaan memory yang cukup tinggi
• Mudah didekompilasi
Kelebihan dan Kekurangan PHP
• Kelebihan :
• Memiliki Community yang besar
• Mudah Dipelajari
• Pengembangan Cepat
• Kekurangan :
• Banyak kompetisi
• Mudah di bajak
• Tidak adanya type data pada PHP
Soal
1. Serangkaian Langkah-langkah yang dilakukan untuk menyelesaikan permasalahan
secara sistematis disebut ........
a. Algoritma
b. Logaritma
c. Aritmatika
d. Informatika
e. Programming
2. mencerminkan pola kerja manusia dalam kehidupan kerja sehari-hari ini disebut juga
dengan
a. kebiasaan
b. object
c. pola
d. habit
e. class
3. Ide dasar pada bahasa berorientasi obyek (POB) adalah mengkombinasikan
a. Algoritma
b. fungsi dan pekerjaan
c. pekerjaan
d. data dan fungsi
e. data dan tugas
4. Sebuah obyek dapat diibaratkan sebagai departemen di dalam sebuah perusahaan
bisnis. Contoh departemen, kecuali
a. penjualan
b. akuntan
c. personalia
d. pergudangan
e. mesin
5. kumpulan beberapa object yang sama akan membentuk struktur baru yang disebut
a. unit
b. kelompok
c. class.
d. objects
e. semua benar
6. object tersebut mempunyai identitas tersendiri dapat dibedakan dengan yang lain
yang disebut dengan istilah
a. Is Identical
b. Has Behavior
c. Has State
d. is uniq
e. is identity
7. object itu mempunyai prilaku atau sifat-sifat yang khusus yang disebut dengan istilah
a. Is Identical
b. Has Behavior
c. Has State
d. is uniq
e. is identity
8. object mempunyai ukuran yang baku yang disebut dengan istilah
a. Is Identical
b. Has Behavior
c. Has State
d. is uniq
e. size
9. umum relasi object dapat dibedakan menjadi tiga dasar hubungan yaitu
a. is a, has a, other
b. is a, has a, why a
c. is a,that a, other
d. is other, has other, other
e. is , has , other
10. suatu kegiatan mengumpulkan data (atribut) dan prilaku (operasi) yang mempunyai
struktur data sama ke dalam satu grup disebut
a. identifikasi
b. modifikasi
c. gouping
d. klasifikasi
e. atributisasi
11. yang tidak termasuk ke dalam kelas contohnya
a. hewan buas
b. mahluk ciptaan
c. komputer
d. gelas
e. alat transportasi
12. Dibawah ini adalah beberapa contoh bahasa program Komputer, kecuali……..
a. Microsoft office
b. Pascal
c. Java
d. Delphi
e. Visual basic
13. Flowchart disebut juga sebagai ..........
a. Diagram batang
b. Diagram simbol
c. Diagram arus
d. Diagram venn
e. Diagram pemilihan
14. Program ini dibagi menjadi modul dan modul tersebut kemudian dibagi menjadi
fungsi. Adalah pengertian dari
a. Pemrograman Terstruktur
b. pemrograman
c. struktur data
d. OOP
e. modul
15. Pendekatan Pemrograman Terstruktur adalah pendekatan
a. top-up
b. bottom-up
c. top-down
d. bottom-down
e. top-bottom
16. Pendekatan Pemrograman Berorientasi Obyek adalah pendekatan
a. top-up
b. bottom-up
c. top-down
d. bottom-down
e. top-bottom
17. fokus dari Pemrograman Terstruktur adalah
a. algoritma
b. data
c. kontrol aliran
d. algoritma dan kontrol aliran
e. model object
18. fokus dari Pemrograman Berorientasi Obyek adalah
a. algoritma
b. data
c. kontrol aliran
d. algoritma dan kontrol aliran
e. model object
19. Mana yang lebih mahal dalam hal Pemeliharaan ...
a. Pemrograman Berorientasi Obyek
b. Pemrograman Terstruktur
c. sama sama murah
d. sama sama mahal
e. tidak perlu pemeliharaan
20. Mana yang lebih Murah dalam hal Pemeliharaan ...
a. Pemrograman Berorientasi Obyek
b. Pemrograman Terstruktur
c. sama sama mahal
d. sama sama murah
e. tidak perlu pemeliharaan
Daftar Pertanyaan :
Amalia :
Pertanyaan :Kalau pada hp cross java berfungsi untuk?
Jawaban:java memang dikhususkan untuk pemrograman mobile
Intan:
Pertanyaan:pada tahun berapa java dikembangkan dan siapa yang mengembangkan?
Jawaban:pada tahun 1995 dan dikembangkan oleh James Gosling
Ade Farhan
Pertanyaan: Sebutkan atribut dan tingkah laku dari objek motor?
Jawaban: Atribut dan Perilakunya sama seperti objek mobil sama sama memiliki class sama
sama memiliki objek ,method.