pertemuan 1

48
Pemrograman Pemrograman Berorientasi Objek Berorientasi Objek (PBO) (PBO) Dewi Kusumaningsih Dewi Kusumaningsih PERTEMUAN I PERTEMUAN I

Upload: zisgoo

Post on 15-May-2015

2.577 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Pertemuan 1

Pemrograman Pemrograman Berorientasi Objek Berorientasi Objek

(PBO) (PBO) Dewi KusumaningsihDewi Kusumaningsih

PERTEMUAN IPERTEMUAN I

Page 2: Pertemuan 1

PBOPBO

Mata Kuliah MKM (Mata kuliah Mata Kuliah MKM (Mata kuliah Kendali Mutu)Kendali Mutu)

Bobot 3 SKSBobot 3 SKS Penilainan :Penilainan :

Absen : 10Absen : 10 TugasTugas : 20 : 20 MidTest : 30MidTest : 30 FINAL : 40 FINAL : 40

Page 3: Pertemuan 1

Final :Final : Berupa Pilihan GandaBerupa Pilihan Ganda OnlineOnline Random dari ratusan Soal dari semua Random dari ratusan Soal dari semua

dosen pengajar PBOdosen pengajar PBO Nilai by SystemNilai by System

Page 4: Pertemuan 1

Pengenalan JavaPengenalan Java

Sekilas Sejarah JavaSekilas Sejarah Java

19951995 : pertama diluncurkan : pertama diluncurkan sebagai bahasa sebagai bahasa pemrograman pemrograman umum, dibuat oleh Sun umum, dibuat oleh Sun Microsystem. Dibuatlah JVM (Java Microsystem. Dibuatlah JVM (Java

Virtual Machine) yaitu tempat Virtual Machine) yaitu tempat eksekusi program Java eksekusi program Java

dimana para dimana para objek saling objek saling berinteraksi satu sama berinteraksi satu sama lain. lain.

Page 5: Pertemuan 1

Untuk lebih meningkatkan Untuk lebih meningkatkan produktivitas pengembang perangkat produktivitas pengembang perangkat lunak, Sun juga meluncurkan lunak, Sun juga meluncurkan SDKSDK (Standard Development Kit) yang (Standard Development Kit) yang berisi kakas dan API untuk membuat berisi kakas dan API untuk membuat program aplikasi berbasis Java. Java program aplikasi berbasis Java. Java pada awalnya diluncurkan pada awalnya diluncurkan J2SEJ2SE, , yang digunakan untuk membuat yang digunakan untuk membuat aplikasi-aplikasi standar.aplikasi-aplikasi standar.

Page 6: Pertemuan 1

Tahun 1999Tahun 1999, Sun meluncurkan , Sun meluncurkan J2EEJ2EE (Java 2 Enterprise Edition) (Java 2 Enterprise Edition) sebagai framework untuk membuat sebagai framework untuk membuat aplikasi enterprise berskala besaraplikasi enterprise berskala besar

Tahun 2001Tahun 2001, Sun meluncurkan , Sun meluncurkan J2MEJ2ME yang menjadi salah satu yang menjadi salah satu standar pemrograman di dalam PDA standar pemrograman di dalam PDA maupun handphonemaupun handphone

Page 7: Pertemuan 1

Konsep Object-OrientedKonsep Object-Oriented

Ide dasarnya adalah menggabungkan data dan fungsi menjadi satu kesatuan unit yang dikenal sebagai object.

Page 8: Pertemuan 1

Beberapa hal yang perlu diketahui Beberapa hal yang perlu diketahui dalam membangun aplikasi dengan dalam membangun aplikasi dengan konsep OOP, diantaranya sbb : konsep OOP, diantaranya sbb : 1. Objek1. Objek2. Classification2. Classification a. Abstractiona. Abstraction b. Encapsulationb. Encapsulation c. Constructor (Single Constructor, c. Constructor (Single Constructor,

Constructor Constructor dengan parameter dandengan parameter dan Multiple constructor)Multiple constructor)

d. Inheritanced. Inheritance e. Polymorphisme. Polymorphism3. Pagkage3. Pagkage

Page 9: Pertemuan 1

ObjekObjek

Objek = HalObjek = Hal Punya FungsiPunya Fungsi Menghasilkan output dari fungsi Menghasilkan output dari fungsi

yang mengolah datayang mengolah data

Page 10: Pertemuan 1

ObjekObjek Di real-world, tiap obyek memiliki Di real-world, tiap obyek memiliki

ciri dan tingkah laku (behavior).ciri dan tingkah laku (behavior). Misalnya : Obyek-obyek mhs, ciri Misalnya : Obyek-obyek mhs, ciri

bisa dilihat dari warna kulit, suara, bisa dilihat dari warna kulit, suara, jenis kelamin. Tingkah laku : berlari, jenis kelamin. Tingkah laku : berlari, menulis, makan.menulis, makan.

Di programming, ciri dari tiap obyek Di programming, ciri dari tiap obyek diimplementasikan menjadi diimplementasikan menjadi “attribute” (atau variabel)“attribute” (atau variabel)

Tingkah laku diimplementasikan Tingkah laku diimplementasikan menjadi “method” (atau fungsi)menjadi “method” (atau fungsi)

Page 11: Pertemuan 1

Contoh :Contoh : Pada Balok:Pada Balok:

Objek : balokObjek : balok Data : panjang, lebar dan tinggiData : panjang, lebar dan tinggi Fungsi : menghitung volume dan Fungsi : menghitung volume dan

menghitung luas menghitung luas permukaan permukaan balok itubalok itu

Untuk menghitung volume dan luas Untuk menghitung volume dan luas permukaan beberapa Balok, maka permukaan beberapa Balok, maka harus ada beberapa objek balok.harus ada beberapa objek balok.

Tiap Objek memiliki Data dan fungsi Tiap Objek memiliki Data dan fungsi sendiri-sendirisendiri-sendiri

Page 12: Pertemuan 1

Classification Classification Disebut juga Class Disebut juga Class Class bersifat abstrakClass bersifat abstrak Di real-world, kita sering melihat Di real-world, kita sering melihat

banyak obyek dengan model yang sama. banyak obyek dengan model yang sama. Obyek-obyek tersebut bisa memiliki Obyek-obyek tersebut bisa memiliki perbedaan atau tidak.perbedaan atau tidak.

Misalnya : Mobil, mahasiswaMisalnya : Mobil, mahasiswa Class adalah blueprint dalam Class adalah blueprint dalam

membentuk obyekmembentuk obyek Obyek-obyek yang sama adalah Obyek-obyek yang sama adalah

merupakan anggota dari suatu kelas.merupakan anggota dari suatu kelas.

Page 13: Pertemuan 1

Contoh ClassContoh Class

MahasisMahasiswawa

NIM :NIM :Nama:Nama:

Menulis,Menulis,Kuliah,Kuliah,Makan,Makan,

BukuBuku

No. No. Buku:Buku:Judul:Judul:

Dibaca,Dibaca,DisampuDisampull

Nama class

atribut

Metoda/method

Page 14: Pertemuan 1

MahasiswaMahasiswa

NIM : NIM : 03115003250311500325Nama : DewiNama : Dewi

Menulis,Menulis,Kuliah,Kuliah,Makan,Makan,

BukuBuku

No.Buku : K001No.Buku : K001Judul : PBOJudul : PBO

Dibaca, Dibaca, disampuldisampul

Page 15: Pertemuan 1

Contoh hubungan Antara Kelas dan Obyek

Obyek = an instance of

Person

Budi Lusi Sri

Page 16: Pertemuan 1

Perbedaan Class dengan Objek :Perbedaan Class dengan Objek : Class merupakan desain dan objek Class merupakan desain dan objek

merupakan perwujudan suatu Classmerupakan perwujudan suatu Class Class bersifat abstrak dan objek Class bersifat abstrak dan objek

bersifat kongkritbersifat kongkrit

Page 17: Pertemuan 1

Classification : Classification :

adalah suatu proses pembuatan class.adalah suatu proses pembuatan class.

secara umum sebuah class java secara umum sebuah class java didefinisikan sbb:didefinisikan sbb:

class NamaClassclass NamaClass

{{

definisi_data_member;definisi_data_member;

definisi_member_functiondefinisi_member_function

}}

Page 18: Pertemuan 1

Data member (anggota data) : variabel-Data member (anggota data) : variabel-variabel yang menyatakan karakteristik variabel yang menyatakan karakteristik suatu objek contoh sebuah objek suatu objek contoh sebuah objek BalokBalok mempunyai karakteristik yang mempunyai karakteristik yang dinyatakan dengan dinyatakan dengan panjang, lebar dan panjang, lebar dan tinggi.tinggi.

Member function (fungsi anggota) : Member function (fungsi anggota) : fungsi-fungsi yang bertugas fungsi-fungsi yang bertugas memanipulasi nilai pada data member. memanipulasi nilai pada data member. Fungsi yang paling sering ada pada Fungsi yang paling sering ada pada sebuah objek adalah fungsi untuk sebuah objek adalah fungsi untuk mengubah dan menginformasikan nilai mengubah dan menginformasikan nilai dari data member objek.dari data member objek.

Page 19: Pertemuan 1

AbstractionAbstraction Yaitu suatu proses dimana kita melakukan Yaitu suatu proses dimana kita melakukan

desain class dan menetukan data dan method desain class dan menetukan data dan method yang akan dimiliki oleh sebuah class. yang akan dimiliki oleh sebuah class.

Contoh :Contoh :sebuah bangunan geometri lingkaran, sebuah bangunan geometri lingkaran, dideskripsikan sbb:dideskripsikan sbb:BBahwa lingkaran memiliki jari-jari, (radius ahwa lingkaran memiliki jari-jari, (radius atau r) untuk menyatakan ukurannya. atau r) untuk menyatakan ukurannya. Sehingga semakin besar jari-jarinya maka Sehingga semakin besar jari-jarinya maka semakin besar pula lingkaran yang akan semakin besar pula lingkaran yang akan dihasilkan.dihasilkan.

Page 20: Pertemuan 1

Jadi jari-jari adalah data yang dimiliki Jadi jari-jari adalah data yang dimiliki sembarang lingkaran, sembarang lingkaran, sehingga sehingga jari-jari merupakan karakteristik dari jari-jari merupakan karakteristik dari sebuah lingkaran.sebuah lingkaran.

Berdasarkan fakta diatas maka kita Berdasarkan fakta diatas maka kita bisa membuat class untuk objek bisa membuat class untuk objek lingkaran.lingkaran.

Page 21: Pertemuan 1

Contoh :Contoh :

nama class lingkarannama class lingkaran

karakteristiknya sbb :karakteristiknya sbb :

- memiliki jari-jari- memiliki jari-jari

- memiliki beberapa method- memiliki beberapa method

* mengubah nilai jari-jari,* mengubah nilai jari-jari,

* memperoleh informasi jari-jari* memperoleh informasi jari-jari

* menghitung luas lingkaran,* menghitung luas lingkaran,

* menghitung keliling lingkaran* menghitung keliling lingkaran

Page 22: Pertemuan 1

Membuat format class berdasarkan Membuat format class berdasarkan karakteristik tersebut diatas :karakteristik tersebut diatas :class Lingkaranclass Lingkaran{{

data: jari-jaridata: jari-jarimethod: update jari-jarimethod: update jari-jari

informasi jari-jariinformasi jari-jari hitung luashitung luas hitung kelilinghitung keliling

}} Sampai disini tahap perencanaan class Sampai disini tahap perencanaan class

bisa dianggap selesai, kemudian pada bisa dianggap selesai, kemudian pada bagian selanjutnya dilakukan bagian selanjutnya dilakukan implementasi calss ini secara mendetail.implementasi calss ini secara mendetail.

Page 23: Pertemuan 1

EncapsulationEncapsulation

Merupakan inti dari metode OOP Merupakan inti dari metode OOP dimana data objek dilindungi dari dimana data objek dilindungi dari perubahan secara langsung dari luar perubahan secara langsung dari luar objek tersebut. objek tersebut.

Dimana perubahan secara langsung bisa Dimana perubahan secara langsung bisa berakibat data didalam objek berakibat data didalam objek mengalami “bad value” yang pada mengalami “bad value” yang pada akhirnya berimbas tidak berfungsinya akhirnya berimbas tidak berfungsinya sebuah objek sebagaimana yang sebuah objek sebagaimana yang dikehendakidikehendaki

Page 24: Pertemuan 1

Memang suatu ketika lingkungan luar Memang suatu ketika lingkungan luar memerlukan informasi dari objek kita, memerlukan informasi dari objek kita, atau ingin mengubah data yang atau ingin mengubah data yang tersimpan didalam objek, tentu saja tersimpan didalam objek, tentu saja harus ada mekanisma untuk mengubah harus ada mekanisma untuk mengubah data objek dan menginformasikan data data objek dan menginformasikan data tersebut kelingkungan luarnya. Dan tersebut kelingkungan luarnya. Dan tentu saja kita juga harus bisa memilah-tentu saja kita juga harus bisa memilah-milah data mana yang harus dipublish milah data mana yang harus dipublish keluar dan data mana yang hanya boleh keluar dan data mana yang hanya boleh diketahui oleh lingkungan dalam objek.diketahui oleh lingkungan dalam objek.

Page 25: Pertemuan 1

Pengenalan Lingkungan Pengenalan Lingkungan JavaJava

Program Java akan melalui 5 tahap proses, yaitu : Edit Compile Load Verify Execute

Page 26: Pertemuan 1

A. EditA. Edit

Menulis program java dengan Menulis program java dengan menggunakan program editor menggunakan program editor seperti JCreator, Notepad, dllseperti JCreator, Notepad, dll

Disimpan dengan ekstensi file .javaDisimpan dengan ekstensi file .java Misal : HelloWorld.javaMisal : HelloWorld.java

Page 27: Pertemuan 1

B. CompileB. Compile Menggunakan perintah javac untuk meng-Menggunakan perintah javac untuk meng-

compile program javacompile program java Akan menghasilkan bytecode (instruksi-Akan menghasilkan bytecode (instruksi-

instruksi yg dimengerti oleh Java instruksi yg dimengerti oleh Java interpreter).interpreter).

Contoh perintah untuk meng-compile Contoh perintah untuk meng-compile program java : program java :

javac HelloWorld.javajavac HelloWorld.java Jika proses kompilasi benar, akan Jika proses kompilasi benar, akan

dihasilkan file dengan ekstensi .class, dihasilkan file dengan ekstensi .class, misal : HelloWorld.classmisal : HelloWorld.class

Page 28: Pertemuan 1

C. LoadC. Load

Menempatkan program (.class) ke Menempatkan program (.class) ke dalam memory sebelum dijalankan.dalam memory sebelum dijalankan.

Dilakukan oleh class loader.Dilakukan oleh class loader. File .class dapat di-load dari File .class dapat di-load dari

penyimpanan di komputer kita atau penyimpanan di komputer kita atau dari jaringan/network (jaringan lokal dari jaringan/network (jaringan lokal atau internet).atau internet).

Page 29: Pertemuan 1

D. VerifyD. Verify

Memastikan agar bytecode dalam Memastikan agar bytecode dalam file .class validfile .class valid

Page 30: Pertemuan 1

E. EksekusiE. Eksekusi

Menggunakan Java InterpreterMenggunakan Java Interpreter Membaca bytecode dan Membaca bytecode dan

menerjemahkannya menjadi bahasa menerjemahkannya menjadi bahasa yang dimengerti oleh komputer yang dimengerti oleh komputer (bahasa mesin).(bahasa mesin).

Perintahnya adalah :Perintahnya adalah :

java HelloWorldjava HelloWorld Java Interpreter = Java Virtual Java Interpreter = Java Virtual

Machine (JVM)Machine (JVM)

Page 31: Pertemuan 1

Program SederhanaProgram Sederhana 1 // Fig. 2.1: Welcome1.java

2 // Text-printing program.

3

4 public class Welcome1

5 {

6 // main method begins execution of Java application

7 public static void main( String args[] )

8 {

9 System.out.println( "Welcome to Java Programming!" );

10

11 } // end method main

12

13 } // end clazss Welcome1

Welcome to Java Programming!

Page 32: Pertemuan 1

Komentar / CommentsKomentar / Comments1 // Fig. 2.1: Welcome1.java

2 // Text-printing program.

• Komentar diawali dg tanda //• Komentar diabaikan selama proses eksekusi program• Sebagai dokumentasi atas kode program• Memudahkan pembacaan kode (code readability)

• Traditional comments: /* ... *//* Ini ada adalah

remark beberapa baris */

•Baris kosongMembuat program lebih mudah dibacaBaris kosong, spasi, dan tab adalah ‘white-space characters’

Diabaikan oleh compiler

Page 33: Pertemuan 1

Catatan :Catatan :

Awal pendeklarasian utk class Welcome1Awal pendeklarasian utk class Welcome1 Sebuah program java minimal Sebuah program java minimal

mempunyai 1 pendeklarasian class.mempunyai 1 pendeklarasian class. By convention (aturan tdk tertulis), By convention (aturan tdk tertulis),

semua nama class di Java dimulai semua nama class di Java dimulai dengan huruf besar dan huruf besar dengan huruf besar dan huruf besar pada tiap katanya. Misal : class pada tiap katanya. Misal : class Welcome1, class HelloWorld, class Welcome1, class HelloWorld, class HitungLembur.HitungLembur.

4 public class Welcome1

Page 34: Pertemuan 1

Catatan lanjutan :Catatan lanjutan :

Java identifier Java identifier Sekumpulan karakter yang terdiri dari huruf, Sekumpulan karakter yang terdiri dari huruf,

angka, underscores ( angka, underscores ( __ ) dan tanda dollar ( ) dan tanda dollar ( $$ ) ) Tdk boleh diawali dg angka, tdk boleh ada Tdk boleh diawali dg angka, tdk boleh ada

spasispasi Contoh : Contoh : Welcome1Welcome1, , $value$value, , _value_value, , button7button7

7button7button is invalid is invalid

Java bersifat case-sensitive. Sehingga Java bersifat case-sensitive. Sehingga AB dan Ab adalah berbeda.AB dan Ab adalah berbeda.

Page 35: Pertemuan 1

• Pada tiap aplikasi JavaPada tiap aplikasi Java Aplikasi mulai dieksekusi pada ‘Aplikasi mulai dieksekusi pada ‘main’main’

Tanda kurung menandakan ‘Tanda kurung menandakan ‘main’ main’ adalahadalah method method

Aplikasi Java terdiri dari 1 atau lbh Aplikasi Java terdiri dari 1 atau lbh methodmethod

Satu method hrs bernama ‘Satu method hrs bernama ‘main’main’ ‘‘void’void’ berarti ‘ berarti ‘main’main’ tdk mengembalikan tdk mengembalikan

nilainilai

Kurawal kiri (brs 8) menandakan dimulainya Kurawal kiri (brs 8) menandakan dimulainya pendeklarasian methodpendeklarasian method

Diakhiri dg kurawal kanan Diakhiri dg kurawal kanan }} (brs 11) (brs 11)

7 public static void main( String args[] )

8 {

Page 36: Pertemuan 1

• Perintah utk mencetak sekumpulan karakterPerintah utk mencetak sekumpulan karakter String – sekumpulan karakter yg berada di String – sekumpulan karakter yg berada di

antara tanda kutip gandaantara tanda kutip ganda• System.outSystem.out

Standard output objectStandard output object Print ke command window (i.e., MS-DOS Print ke command window (i.e., MS-DOS

prompt)prompt)• Method System.out.println Method System.out.println

Stlh mencetak, cursor akan berada di baris Stlh mencetak, cursor akan berada di baris barubaru

• Baris 9 ini disebut sebagai statementBaris 9 ini disebut sebagai statement Tiap statement harus diakhiri tanda Tiap statement harus diakhiri tanda

semicolon ;semicolon ;

9 System.out.println( "Welcome to Java Programming!" );

Page 37: Pertemuan 1

Compiling dengan cara, masuk ke Compiling dengan cara, masuk ke Command LineCommand Line Start – RUN – ketik cmdStart – RUN – ketik cmd

Page 38: Pertemuan 1

Masuk pada drive dimana anda Masuk pada drive dimana anda menyimpan file java tersebut:menyimpan file java tersebut: Ketik <drive>, contoh: D: <enter>Ketik <drive>, contoh: D: <enter>

Page 39: Pertemuan 1

Ketik javac Wellcome1.java <enter> Ketik javac Wellcome1.java <enter>

Page 40: Pertemuan 1

Untuk menjalankannya, ketik :Untuk menjalankannya, ketik :java Wellcome1 <enter> java Wellcome1 <enter>

Page 41: Pertemuan 1

Menjalankan dari Menjalankan dari JCreatorJCreator

Pilih Start Pilih Start JCreator JCreator

Page 42: Pertemuan 1

Pilih tempat file andaPilih tempat file anda

Page 43: Pertemuan 1

Beri nama file anda sesuai dengan Beri nama file anda sesuai dengan nama classnama class

Page 44: Pertemuan 1
Page 45: Pertemuan 1

Mengompile dan menjalankan Program Java dengan JCreator

Build > Compile File

Page 46: Pertemuan 1

Jika proses Compile berhasil maka akan ditampilkan

Page 47: Pertemuan 1

Untuk menjalankan program pilih menu : Build > Execute File

Page 48: Pertemuan 1

Output program “Hello.java”