Top Banner
PEMROGRAMAN BERORIENT ASI OBJE K M. Anif, M.Kom muhammad.anif@budi luhur.ac.id Versi : Oktober 2011
108

Pp pbo-130802070700-phpapp02

Nov 29, 2014

Download

Documents

yudharaditya01

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Pp pbo-130802070700-phpapp02

PEMROGRAMAN BERORIENTASIOBJE

K M. Anif, M.Kommuhammad.anif@budi luhur.ac.id

Versi : Oktober 2011

Page 2: Pp pbo-130802070700-phpapp02

1. MATA KULIAHNama : Pemrograman Berorientasi ObjekSKS : 3 SKSJenis : MKM (Mata kuliah Kendai Mutu)

2. ATURAN PERKULIAHAN1. Hadir Tepat Waktu2. Tidak Membuat Keributan3. Tidak Membuat Dosen Dan Peserta Lain Resah

(Berpakaian Yang Sopan)4. Pengumpulan Tugas Tepat Waktu.

3. ATURAN PENILAIAN1. Kehadiran : 10%2. Tugas : 20%3. UTS : 30%4. UAS : 40%

Total : 100%

PENDAHULUAN

A : 85 s/d 100B : 75 s/d 84.9C : 60 s/d 74.9D : 30 s/d 59.9E : 0 s/d 29.9

Page 3: Pp pbo-130802070700-phpapp02

PERTEMUAN - 1Pertemuan 1

Pertemuan 2

Pertemuan 3

Pertemuan 4

Pertemuan 5

Pertemuan 6

Pertemuan 7

Pertemuan 8

Pertemuan 9

Pertemuan 10

Pertemuan 11

Pertemuan 12

Pertemuan 13

Pertemuan 14

Pertemuan 15

PENGANTAR BAHASA PEMROGRAMAN JAVA

1. Konsep Pemrograman Berorientasi OBJEK2. Sejarah Java3. Keunggulan Java4. Kompiler dan Interpreter5. Editor6. Instalasi JAVA dan Editor7. Konfigurasi Editor dengan JAVA.8. Fase Pemrograman JAVA9. Contoh Program Pertama dengan JAVA10. Penamaan Class, Method, Variabel, dan

Konstanta

Page 4: Pp pbo-130802070700-phpapp02

PERTEMUAN - 2Pertemuan 1

Pertemuan 2

Pertemuan 3

Pertemuan 4

Pertemuan 5

Pertemuan 6

Pertemuan 7

Pertemuan 8

Pertemuan 9

Pertemuan 10

Pertemuan 11

Pertemuan 12

Pertemuan 13

Pertemuan 14

Pertemuan 15

OBJECT ORIENTED PROGRAMMING (OOP)

1. Objek, Kelas, dan Instance (Instans)2. Data/Variabel/Property3. Method/Prosedur atau Fungsi/Behaviour4. Hierarki Kelas5. Object Oriented Programming6. Hubungan antara Kelas, Objek, Data, dan Method7. Kerangka Program OOP8. Membuat Objek dari Sebuah Kelas9. Mengakses Data dan Method dari Suatu Kelas10. Menampilkan Hasil di Layar Monitor11. Membaca Data Input Dari Keyboard12. Keyword dalam Java

Page 5: Pp pbo-130802070700-phpapp02

PERTEMUAN - 3Pertemuan 1

Pertemuan 2

Pertemuan 3

Pertemuan 4

Pertemuan 5

Pertemuan 6

Pertemuan 7

Pertemuan 8

Pertemuan 9

Pertemuan 10

Pertemuan 11

Pertemuan 12

Pertemuan 13

Pertemuan 14

Pertemuan 15

TIPE DATA, VARIABEL dan OPERATOR

1. Tipe Data2. Variabel

3. Operator

Page 6: Pp pbo-130802070700-phpapp02

PERTEMUAN - 4Pertemuan 1

Pertemuan 2

Pertemuan 3

Pertemuan 4

Pertemuan 5

Pertemuan 6

Pertemuan 7

Pertemuan 8

Pertemuan 9

Pertemuan 10

Pertemuan 11

Pertemuan 12

Pertemuan 13

Pertemuan 14

Pertemuan 15

STRUKTUR PEMILIHAN

1. Pemilihan Kondisi if

2. Bentuk if ….. Else

3. Bentuk if atau if ….. else Bersarang

4. Pemilihan Bentuk switch

Page 7: Pp pbo-130802070700-phpapp02

PERTEMUAN - 5Pertemuan 1

Pertemuan 2

Pertemuan 3

Pertemuan 4

Pertemuan 5

Pertemuan 6

Pertemuan 7

Pertemuan 8

Pertemuan 9

Pertemuan 10

Pertemuan 11

Pertemuan 12

Pertemuan 13

Pertemuan 14

Pertemuan 15

STRUKTUR PENGULANGAN

3. Pengulangan do ….. While

1. Pengulangan for

2. Pengulangan while

4. Perintah break dan continue

Page 8: Pp pbo-130802070700-phpapp02

PERTEMUAN - 6Pertemuan 1

Pertemuan 2

Pertemuan 3

Pertemuan 4

Pertemuan 5

Pertemuan 6

Pertemuan 7

Pertemuan 8

Pertemuan 9

Pertemuan 10

Pertemuan 11

Pertemuan 12

Pertemuan 13

Pertemuan 14

Pertemuan 15

STRING, STRINGBUFFER dan CHARACTER1. Kelas String2. Operasi-Operasi pada Kelas String3. Kelas StringBuffer4. Operasi-Operasi pada Kelas StringBuffer3. Kelas Character6. Operasi-Operasi pada Kelas Character

Page 9: Pp pbo-130802070700-phpapp02

PERTEMUAN - 7Pertemuan 1

Pertemuan 2

Pertemuan 3

Pertemuan 4

Pertemuan 5

Pertemuan 6

Pertemuan 7

Pertemuan 8

Pertemuan 9

Pertemuan 10

Pertemuan 11

Pertemuan 12

Pertemuan 13

Pertemuan 14

Pertemuan 15

ARRAY1. Defenisi Array

2. Mendeklarasikan Array3. Contoh Deklarasi dan Inisialisasi Array4. Melewatkan Array ke Method5. Array Multidimensi6. Sorting dan Searching Elemen Array

Page 10: Pp pbo-130802070700-phpapp02

PERTEMUAN - 8Pertemuan 1

Pertemuan 2

Pertemuan 3

Pertemuan 4

Pertemuan 5

Pertemuan 6

Pertemuan 7

Pertemuan 8

Pertemuan 9

Pertemuan 10

Pertemuan 11

Pertemuan 12

Pertemuan 13

Pertemuan 14

Pertemuan 15

UTS1. Bentuk Soal UTS (Pilihan Ganda dan Essay)2. Soal di buat berdasarkan materi setiap pertemuan

(Pertemuan 1 s/d 7)3. Aturan UTS

a. Tidak bekerjasama sesama peserta ujianb. Tidak melakukan keributan selama ujian

berlangsung.

Page 11: Pp pbo-130802070700-phpapp02

PERTEMUAN - 9Pertemuan 1

Pertemuan 2

Pertemuan 3

Pertemuan 4

Pertemuan 5

Pertemuan 6

Pertemuan 7

Pertemuan 8

Pertemuan 9

Pertemuan 10

Pertemuan 11

Pertemuan 12

Pertemuan 13

Pertemuan 14

Pertemuan 15

KELAS dan METHOD1. Kelas dan Method Standar dan UDF2. Deklarasi Kelas3. Modifier pada kelas4. Scope / Blok5. Mengakses Anggota Scope6. Static dan Instance7. Operator new8. Keyword this

Page 12: Pp pbo-130802070700-phpapp02

PERTEMUAN - 10Pertemuan 1

Pertemuan 2

Pertemuan 3

Pertemuan 4

Pertemuan 5

Pertemuan 6

Pertemuan 7

Pertemuan 8

Pertemuan 9

Pertemuan 10

Pertemuan 11

Pertemuan 12

Pertemuan 13

Pertemuan 14

Pertemuan 15

KELAS dan METHOD9. Deklarasi Method10. Memanggil Method11. Melewatkan Argument ke Method12. Overloading Method13. Method Konstruktor14. Method Finalizer15. Method Main

Page 13: Pp pbo-130802070700-phpapp02

PERTEMUAN - 11Pertemuan 1

Pertemuan 2

Pertemuan 3

Pertemuan 4

Pertemuan 5

Pertemuan 6

Pertemuan 7

Pertemuan 8

Pertemuan 9

Pertemuan 10

Pertemuan 11

Pertemuan 12

Pertemuan 13

Pertemuan 14

Pertemuan 15

PACKAGE dan MODIFIER1. Package2. Membuat Package3. Memanggil Kelas dari Suatu Package4. Modifier

Page 14: Pp pbo-130802070700-phpapp02

PERTEMUAN - 12Pertemuan 1

Pertemuan 2

Pertemuan 3

Pertemuan 4

Pertemuan 5

Pertemuan 6

Pertemuan 7

Pertemuan 8

Pertemuan 9

Pertemuan 10

Pertemuan 11

Pertemuan 12

Pertemuan 13

Pertemuan 14

Pertemuan 15

TIGA PILAR OOP (Inheritance, Encapsulation dan Polymorphism)

1. Inheritace (Pewarisan) ?2. Overriding Data dan Method3. Keyword extends4. Keyword Super

Page 15: Pp pbo-130802070700-phpapp02

PERTEMUAN - 13Pertemuan 1

Pertemuan 2

Pertemuan 3

Pertemuan 4

Pertemuan 5

Pertemuan 6

Pertemuan 7

Pertemuan 8

Pertemuan 9

Pertemuan 10

Pertemuan 11

Pertemuan 12

Pertemuan 13

Pertemuan 14

Pertemuan 15

TIGA PILAR OOP (Inheritance, Encapsulation dan Polymorphism)

5. Encapsulation (Enkapsulasi)6. Mengapa Enkapsulasi?7. Polymorphism

Page 16: Pp pbo-130802070700-phpapp02

PERTEMUAN - 14Pertemuan 1

Pertemuan 2

Pertemuan 3

Pertemuan 4

Pertemuan 5

Pertemuan 6

Pertemuan 7

Pertemuan 8

Pertemuan 9

Pertemuan 10

Pertemuan 11

Pertemuan 12

Pertemuan 13

Pertemuan 14

Pertemuan 15

KELAS INNER, KELAS ABSTRAK, dan INTERFACE

1. Kelas Inner2. Menggunakan Kelas Inner3. Kelas Abstrak4. Interface5. Apakah Interface = Kelas Abstrak

Page 17: Pp pbo-130802070700-phpapp02

PERTEMUAN - 15Pertemuan 1

Pertemuan 2

Pertemuan 3

Pertemuan 4

Pertemuan 5

Pertemuan 6

Pertemuan 7

Pertemuan 8

Pertemuan 9

Pertemuan 10

Pertemuan 11

Pertemuan 12

Pertemuan 13

Pertemuan 14

Pertemuan 15

REVIEW PERSIAPAN UAS1. Review Materi Pertemuan 1 s/d 142. Sifat Review : Tanya Jawab atau Pembahasan

Soal-soal.

Page 18: Pp pbo-130802070700-phpapp02

SEKIAN

TERIMA KASIH

Page 19: Pp pbo-130802070700-phpapp02

1

Page 20: Pp pbo-130802070700-phpapp02

PERTEMUAN – 1PENGANTAR BAHASA PEMROGRAMAN JAVA

1. Konsep Pemrograman Berorientasi OBJEK

Objek adalah kesatuan Entitas yang memiliki sifat dan tingkah laku. Dalam kehidupan sehari, objek adalah benda, baik benda berwujud nyata maupun benda tidak berwujud nyata atau konsep.

Contoh benda berwujud nyata : Manusia, mobil, komputer, dll Contoh benda yang tidak nyata atau konsep : Tabungan bank, sistem antrian, sistem internet bangking

Objek Oriented Programming (OOP)Konsep yang membagi program menjadi objek-objek yang

saling berinteraksi satu sama lainnya.

Keuntungan OOPAlami (Natural), Dapat dikendalikan(Reliable), Dapat

digunakan kembali (Reusable), Mudah untuk dipelihara (Maintainable), Dapat diperluas (Extendable) dan Efisiensi waktu.

Page 21: Pp pbo-130802070700-phpapp02

PERTEMUAN – 1PENGANTAR BAHASA PEMROGRAMAN JAVA

2. Sejarah Java

1991, Sun Micro-system memulai green project, yaitu penelitian untuk membuat bahasa yang akan digunakan pada chip-chip embendded untuk device intelligent consumer electronic. Bahasa itu haruslah bersifat multi platform, yang tidak tergantung pada vendor yang membuat chip tersebut.

Pemberian nama dimulai dari Star-7, kemudian Oak dan belakangan dikenal dengan JAVA. Awalnya ditujukan untuk pemrograman device kecil, sehingga java memiliki karakteristik berukuran kecil, efisien, dan portable untuk berbagai hardware.

Karena project ini sempat terancam terhenti karena dalam pengembangannya device ini belum memiliki pasar yang kuat. Kemudian berkembang menjadi pemrograman internet, desktop, mobile dan enterprice atau dikelompokan kedalam J2SE, J2ME, J2SE.

Page 22: Pp pbo-130802070700-phpapp02

PERTEMUAN – 1PENGANTAR BAHASA PEMROGRAMAN JAVA

3. Keunggulan JavaBeberapa keunggulan bila dibandingkan dengan bahasa

pemrograman lainnya adalah :1. Java bersifat sederhana dan relatif mudah

Semudah c, seampuh c++, mengurangi kompleksitas yang dimiliki c++, sehingga pemrograman cenderung lebih mudah.

2. Java berorientasi pada objekKarena java membagi program menjadi objek-objek, kemudian memodelkan sifat dan tingkah laku masing-masing. Menetukan dan mengatur interaksi antara objek yang satu dengan lainnya.

3. Java bersifat terdistribusiSudah berkembang ke pemrograman mulai dari client, server, database server, web server, proxy server, dan sebagainya.

4. Java bersifat multiplatformDapat berjalan di banyak platform sistem operasi.

5. Java bersifat multiThreadDapat mengerjakan beberapa proses dalam waktu yang hampir bersamaan.

Page 23: Pp pbo-130802070700-phpapp02

PERTEMUAN – 1PENGANTAR BAHASA PEMROGRAMAN JAVA

4. Kompiler dan Interpreter

Banyak tersedia kompiler dan interpreter dari berbagai vendor diantaranya :1. J2SDK (Java 2 Software Development Kit) : seperangkat tool

yang berisi kompiler dan interpreter java yang direlease oleh Sun dan bersifat free. (download pada situs http://www.sun.com, yang kita gunakan dikelas ini.

2. JBuilder : Development software java yang dibuat oleh Borland Inc. bekerja dilingkungan windows dan memiliki tampilan GUI.

3. Visual J : Produk Microsoft, sebuah compiler sekaligus interpreter, berbasis GUI.

Selain ketiga kompiler dan interpreter diatas, masih terdapat beberapa development tool yang dapat digunakan untuk membuat program java, yaitu : Symantec Visual Café, IBM Visual Age for Java, dan Sun Fort for Java.

Page 24: Pp pbo-130802070700-phpapp02

PERTEMUAN – 1PENGANTAR BAHASA PEMROGRAMAN JAVA

Editor, merupakan sebuah sarana bagi pengembang aplikasi untuk menuliskan program yang mereka buat, editor yang kita gunakan merupakan editor yang berbasis teks. Baik editor yang sudah IDE maupun tidak, diantaranya :

• Edit atau EditPlus• NotePad• WordPad• JCreator• JBuilder• VisualJ• NetBeans• …

Banyak lagi editor yang dapat digunakan untuk pengembangan aplikasi dengan bahasa pemrograman java ini.

5. Editor

EditorYang Kita Gunakan

di Kelas ini

Page 25: Pp pbo-130802070700-phpapp02

PERTEMUAN – 1PENGANTAR BAHASA PEMROGRAMAN JAVA

6. Instalasi JAVA dan Editor

1. Instalasi J2SDK (Java 2 Software Development Kit) : setelah di download pada situs http://www.sun.com, versi manapun . Contoh : jdk-1_5_0_04-windows-i586-p.exe, lakukan dengan double click pada file tersebut, ikuti petunjuk dan tekan tombol next hingga selesai.

2. Editor JCreator : download JCreator Pro 3.0, serta nomor

serinya kemudian . Lakukan instalasi dengan mengikuti petunjuk yang ada, tekan tombol next hingga selesai.

Setelah kedua software terinstall, lakukan konfigurasi editor tersebut dengan Java, sehingga kedua software tersebut terhubung saat dilakukan kompilasi.

Page 26: Pp pbo-130802070700-phpapp02

PERTEMUAN – 1PENGANTAR BAHASA PEMROGRAMAN JAVA

7. Konfigurasi Editor dengan JAVA.

Langkah-langkah konfigurasi Editor JCreator dengan J2SDK adalah sbb :

1. Pilih menu configure pada editor Jcreator2. Kemudian pilih menu option3. Click JDK Profile4. Jika Profile belum tersedia, pilih tombol new 5. Pilih folder j2sdk berada, Contoh : cari pada folder berikut : C:\

Program Files\Java\jdk1.6.0_226. Kemudian tekan tombol OK sampai selesai.

Page 27: Pp pbo-130802070700-phpapp02

PERTEMUAN – 1PENGANTAR BAHASA PEMROGRAMAN JAVA

8. Fase Pemrograman JAVA

Page 28: Pp pbo-130802070700-phpapp02

PERTEMUAN – 1PENGANTAR BAHASA PEMROGRAMAN JAVA

9. Contoh Program Pertama dengan JAVA

1. /**2. * My first java program3. */4. 5. public class Hello6. {7. public static void main(String[] args) {8. //Menampilkan kata "Hello world"

dilayar9. System.out.println("Hello world!");10. }11. }

Page 29: Pp pbo-130802070700-phpapp02

PERTEMUAN – 1PENGANTAR BAHASA PEMROGRAMAN JAVA

10. Penamaan Class, Method, Variabel, dan Konstanta

Aturan Penamaan :1. Case-sensitive, 2. Tidak menggunakan reserved word atau Keyword JAVA, 3. Tidak menggunakan simbol-simbol operator. 4. Dimulai dengan huruf abjad (a, b, c, ….), atau underscore (_),

tanda dolar ( $ ), 5. Tidak dibolehkan diawali dengan bilangan (0, 1, 2, …).

Page 30: Pp pbo-130802070700-phpapp02

2

Page 31: Pp pbo-130802070700-phpapp02

PERTEMUAN – 2 OBJECT ORIENTED PROGRAMMING (OOP)

1. Objek, Kelas, dan Instance (Instans)

a. Objek adalah kesatuan entitas (benda), baik yang berwujud nyata maupun yang tidak nyata seperti sistem atau konsep yang memiliki sifat karakteristik dan fungsi.

Contoh : kue, spidol, mobil, telepon, dan lain-lain

b. Kelas adalah pemodelan dari objek yang berisi informasi (aturan) tentang sifat karakteristik (data) dan tingkah laku (metode) yang dimiliki oleh objek tersebut.

Contoh : resep kue, material spidol, dan lain-lain

c. Instance adalah perwujudan, dimana dalam istilah pemrograman, objek merupakan instans (perwujudan) dari suatu kelas. Instansiasi adalah : proses perwujudan kelas menjadi objek. Biasanya didalam pemrograman java menggunakan perintah new.

Page 32: Pp pbo-130802070700-phpapp02

PERTEMUAN – 2 OBJECT ORIENTED PROGRAMMING (OOP)

2. Data/Variabel/Property

Data adalah sifat karakteristik atau kondisi yang dimiliki oleh suatu objek, istilah data/variabel/property memiliki pengertian yang sama, dan dapat digunakan atau dianalogikan secara bergantian untuk lebih memperjelas suatu konsep. Atau beberapa buku menggunakan istilah lain seperti atribut.

3. Method/Prosedur atau Fungsi/Behaviour

Method adalah adalah Prosedur atau fungsi yang dimiliki oleh suatu objek. Karena pada dasarnya merupakan prosedur/fungsi, maka method ini akan mengolah atau mengubah data/variabel yang ada didalamnya sesuai dengan operasi yang telah ditentukan. Dari proses diatas akan terjadi 3 kemungkinan, yaitu :a. Mengembalikan suatu nilai akhir.b. Mengembalikan nilai yang bersifat sementara untuk

kemudian diumpankan me method lain.c. Tidak mengembalikan nilai sama sekali.

Page 33: Pp pbo-130802070700-phpapp02

PERTEMUAN – 2 OBJECT ORIENTED PROGRAMMING (OOP)

4. Hierarki Kelas

Suatu kelas dapat dibuat sebagai kelas yang benar-benar baru atau dapat dibentuk dari kelas yang sudah ada. Proses pembentukan kelas baru dari sebuah kelas yang sudah ada disebut sebagai pewarisan (inheritance). Kelas yang menjadi basis bagi pembentukan kelas lainnya disebut kelas super. Sedangkan kelas yang terbentuk dinamakan kelas sub.

Proses pewarisan inilah yang akan membentuk hirarki kelas. Kelas yang terletak pada puncak hirarki disebut sebagai kelas abstrak. Dimana sifat dari kelas abstrak hanya berisi deskripsi data dan method yang sangat umum. Sehingga tidak mungkin diimplementasikan secara terperinci. Oleh karena itu kelas abstrak ini tidak dapat langsung di instansiasi menjadi objek.

Page 34: Pp pbo-130802070700-phpapp02

PERTEMUAN – 2 OBJECT ORIENTED PROGRAMMING (OOP)

5. Object Oriented Programming

OOP adalah pemrograman yang difokuskan pada penciptaan kelas yang merupakan abstraksi/blueprint/prototype dari suatu objek. Kelas ini harus mengandung sifat (data) dan tingkah laku (method) umum yang dimiliki oleh objek-objek yang kelak akan dibuat (diinstansiasi). Data dan method merupakan anggota (member) dari suatu kelas.

Page 35: Pp pbo-130802070700-phpapp02

PERTEMUAN – 2 OBJECT ORIENTED PROGRAMMING (OOP)

6. Hubungan antara Kelas, Objek, Data, dan Method

Dalam konsep OOP, objek diciptakan atau diinstansiasi dari kelas dengan mengisikan nilai parameter data dan memanfaatkan method yang telah dideskripsikan oleh kelas itu. Dengan demikian kelas juga merupakan template/prototype dari suatu objek.

Objke-objek yang berasal dari kelas yang sama akan memiliki tipe data yang sama (meskipun dengan nilai yang berbeda) dan fungsi yang sama. Objek dikatakan sebagai instans dari suatu kelas.

Page 36: Pp pbo-130802070700-phpapp02

PERTEMUAN – 2 OBJECT ORIENTED PROGRAMMING (OOP)

7. Kerangka Program OOP

NamaFile.java

Komentar Program

Deskripsi Program dan Import

Kelas A

Kelas B

Badan Kelas

Badan Kelas

Deklarasi Data

Main Method

Deklarasi dan Implementasi Method

Deklarasi Data

Deklarasi dan Implementasi Method

Page 37: Pp pbo-130802070700-phpapp02

PERTEMUAN – 2 OBJECT ORIENTED PROGRAMMING (OOP)

8. Membuat Objek dari Sebuah Kelas

Untuk membuat sebuah objek dibutuhkan Operator new. Adapun bentuk umumnya sebagai berikut :

namaKelas namaObjek = new namaKelas();

Contoh :

Mahasiswa objMahasiswa = new Mahasiswa();

Page 38: Pp pbo-130802070700-phpapp02

PERTEMUAN – 2 OBJECT ORIENTED PROGRAMMING (OOP)

9. Mengakses Data dan Method dari Suatu KelasUntuk mengakses data dan method pada sebuah objek

dapat dilakukan dengan cara sebagai berikut :

namaObjek.namaVariabel;namaObjek.namaMethod();

Yang perlu diperhatikan dalam mengakses data dan method adalah bagaimana mengatur tingkat aksesibilitas (accesibility level) kedua unsur tersebut terhadap kelas yang mengakses, apakah bersifat default, public, private, atau protected.

Contoh :

objMahasiswa.NIM;objMahasiswa.bayarKuliah();

Page 39: Pp pbo-130802070700-phpapp02

PERTEMUAN – 2 OBJECT ORIENTED PROGRAMMING (OOP)

10. Menampilkan Hasil di Layar Monitor

Untuk menampilkan hasil ke layar monitor dapat dilakukan dengan beberapa perintah, diantaranya :

a. Dilingkungan Consolemenggunakan method print() atau println() dalam kelas System dalam struktur package java.lang. package ini merupakan default package bagi semua aplikasi java, sehingga tidak perlu di import kedalam program.

b. Menggunakan komponen GUImenggunakan kelas JOptionPane yang merupakan komponen dari package javax.swing. Baik sebagai output maupun sebagai input (showMesageDialog() atau showInputDialog()).

Page 40: Pp pbo-130802070700-phpapp02

PERTEMUAN – 2 OBJECT ORIENTED PROGRAMMING (OOP)

11. Membaca Data Input Dari Keyboard

Proses pembacaan data input yang diketikkan oleh user melalui keyboard dilihat dengan dua cara, yaitu :

a. Dalam lingkungan Console (DOS)menggunakan kelas BufferedReader(), InputStreamReader(), dimana kelas diinstansiasikan menjadi sebuah objek. Dan kemudian objek yang terbentuk memiliki sebuah metode readLine() yang digunakan untuk menangkap inputan dari keyboard.

b. Dalam lingkungan GUImenggunakan kelas/komponen JOptionPane dengan method showInputDialog().

InputDariKeyboard1.java

InputDariKeyboard2.java

Page 41: Pp pbo-130802070700-phpapp02

PERTEMUAN – 2 OBJECT ORIENTED PROGRAMMING (OOP)

12. Keyword dalam Java

Page 42: Pp pbo-130802070700-phpapp02

3

Page 43: Pp pbo-130802070700-phpapp02

PERTEMUAN – 3TIPE DATA, VARIABEL DAN OPERATOR

1. Tipe Data

a. PrimitifJenis-jenis nya sbb :

b. ReferenceTipe data berupa class, dimana class ini memiliki berbagai fungsi yang bisa digunakan untuk kebutuhan pemrograman.Jenis-jenis nya antara lain : Byte, Short, Integer, Long, Float, Double, Boolean, Character, String dan lain sebagainya.

Page 44: Pp pbo-130802070700-phpapp02

PERTEMUAN – 3TIPE DATA, VARIABEL DAN OPERATOR

2. VariabelVariabel merupakan sebuah tempat dimemori yang dialokasikan

untuk menampung data yang memiliki sifat sementara, yang digunakan hanya pada saat program masih berjalan dan dihilangkan/dihapus dari memori setelah program berakhir.

Format Deklarasi :TipeData namaVariabel [= inisialisasiNilaiAwal];

Contoh :int nilaiAbsen;int nilaiTugas, nilaiUTS, nilaiUAS;String namaDepan = “Tariq”String namaTengah=“Athar”, namaBelakang=“Kisan”;char nilaiHuruf=‘A’;

Link ke program :

Variabel1.java Variabel2.java Variabel3.java Variabel4.java

Page 45: Pp pbo-130802070700-phpapp02

PERTEMUAN – 3TIPE DATA, VARIABEL DAN OPERATOR

3. OPERATOR

1. Operator AritmatikaMemiliki beberapa jenis simbol yaitu : *, /, %, +, -

2. Operator Increment dan DecrementMemiliki beberapa jenis simbol yaitu : ++, --

3. Operator RelasiMemiliki beberapa jenis simbol yaitu : <, <=, >, >=, ==, !=

4. Operator LogikaMemiliki beberapa jenis simbol yaitu : &, &&, |, ||, ^, !

5. Operator Kondisi(?:) atau TernaryMemiliki bentuk sbb : exp1?exp2:exp3

Operator1.java

Operator2.java

Operator3.java

Operator4.java

Operator5.java

Page 46: Pp pbo-130802070700-phpapp02

4

Page 47: Pp pbo-130802070700-phpapp02

PERTEMUAN – 4 STRUKTUR PEMILIHAN

1. Pemilihan Kondisi if

Struktur if menentukan sebuah statement (atau blok statement) yangakan dieksekusi jika dan hanya jika persyaratan boolean (boolean statement) bernilai true.

Bentuk if dengan 1 baris statement,

if( boolean_expression )statement;

Bentuk if lebih dari 1 baris statement,

if( boolean_expression ){statement1;statement2;

}

StrukturPemilihan1.java

StrukturPemilihan2.java

Page 48: Pp pbo-130802070700-phpapp02

Struktu if-else digunakan apabila kita ingin mengeksekusi sebuah statement dengan kondisi true dan statement yang lain dengan kondisi false.

Bentuk dari if-else,

if( boolean_expression )statement;

elsestatement;

Untuk Lebih dari 1 baris,

if( boolean_expression ){statement1;…………………;

}else{

statement1;…………………;

}

PERTEMUAN – 4 STRUKTUR PEMILIHAN

2. Bentu if - else

StrukturPemilihan3.java

StrukturPemilihan4.java

Page 49: Pp pbo-130802070700-phpapp02

Statement pada bagian else dari blok if-else dapat menjadi struktur if else yang lain. Struktur seperti ini mengijinkan kita untuk membuat seleksi persyaratan yang lebih kompleks.

Bentuk if-else if,

if( boolean_expression1 )statement1;

else if( boolean_expression2 )statement2;

elsestatement3;

PERTEMUAN – 4 STRUKTUR PEMILIHAN

3. Bentuk if atau if ….. else Bersarang

StrukturPemilihan5.java

StrukturPemilihan6.java

StrukturPemilihan7.java

Page 50: Pp pbo-130802070700-phpapp02

PERTEMUAN – 4 STRUKTUR PEMILIHAN

4. Bentuk switch … caseCara lain untuk membuat percabangan adalah dengan menggunakankata kunci switch. Dengan menggunakan switch kita bisa melakukanpercabangan dengan persyaratan yang beragam.

Bentuk switch,

switch( switch_expression ){case case_selection1:

statement1; //block 1break;

case case_selection2:statement1; //block 2break;

default:statement1; //block nbreak;

}

StrukturPemilihan8.java

Page 51: Pp pbo-130802070700-phpapp02

PERTEMUAN – 4 STRUKTUR PEMILIHAN

4. Bentuk switch … caseCara lain untuk membuat percabangan adalah dengan menggunakankata kunci switch. Dengan menggunakan switch kita bisa melakukanpercabangan dengan persyaratan yang beragam.

Bentuk switch,

switch( switch_expression ){case case_selection1:

statement1; //block 1break;

case case_selection2:statement1; //block 2break;

default:statement1; //block nbreak;

}

StrukturPemilihan8.java

Page 52: Pp pbo-130802070700-phpapp02

5

Page 53: Pp pbo-130802070700-phpapp02

PERTEMUAN – 5 STRUKTUR PENGULANGAN

1. Pengulangan for

Seperti pada struktur pengulangan sebelumnya yaitu melakukan pengulangan eksekusi code beberapa kali.

Bentuk dari for loop,

for (InitExpression; LoopCondition;StepExpression){statement1;statement2;. . .

}

Keterangan ,1. InitExpression – inisialisasi dari variabel loop.2. LoopCondition - membandingkan variabel loop pada nilai

batas.3. StepExpression - melakukan update pada variabel loop.

StrukturPengulangan1.java

Page 54: Pp pbo-130802070700-phpapp02

PERTEMUAN – 5 STRUKTUR PENGULANGAN

2. Pengulangan While

Statement while loop adalah statement atau blok statement yang diulang-ulang sampai mencapai kondisi yang cocok.

Bentuk dari while,

while( boolean_expression ){statement1;statement2;. . .

}

StrukturPengulangan2.java

Page 55: Pp pbo-130802070700-phpapp02

Do-while loop mirip dengan while-loop. Statement di dalam do-while loop akan dieksekusi beberapa kali selama kondisi bernilai true. Perbedaan antara while dan do-while loop adalah dimana statement di dalam do-while loop dieksekusi sedikitnya satu kali.

Bentuk dari do-while,

do{statement1;statement2;. . .

}while( boolean_expression );

PERTEMUAN – 5 STRUKTUR PENGULANGAN

3. Pengulangan do … while

StrukturPengulangan3.java

Page 56: Pp pbo-130802070700-phpapp02

PERTEMUAN – 5 STRUKTUR PENGULANGAN

4. Perintah break dan continue

break adalah perintah yang digunakan untuk menghentikan kegiatan pengulangan

break label dengan menambahkan label pada awal for terluar dapat menjadikan perintah break … label menghentikan semua pengulangan.

Continue adalah perintah yang digunakan untuk melewati kegiatan yang ada dibawah perintah tersebut dan melanjutkan pengulangan

StrukturPengulangan4.java

Page 57: Pp pbo-130802070700-phpapp02

6

Page 58: Pp pbo-130802070700-phpapp02

PERTEMUAN – 6 STRING, STRING BUFFER dan CHARACTER

1. Kelas StringModel ini mengadopsi konsep Array-of-char dari bahasa C/C++. Dimana Array-of-char : memandang data string sebagai sederetan karakter yang membentuk array, jumlah element array sudah pasti dan tidak mungkin berubah.

Sebuah kelas yang digunakan untuk mengoperasikan data String, deklarasi kelas ini sebagai berikut :

1. Inisialisasi 1 : String abc = new String(“Contoh inisialisasi 1”);

2. Inisialisasi 2 :String abc;abc = new String(“Contoh inisialisasi 2”);

3. Inisialisasi 3 :String abc;abc = “Contoh inisialisasi 3”;

Page 59: Pp pbo-130802070700-phpapp02

PERTEMUAN – 6 STRING, STRING BUFFER dan CHARACTER

2. Operasi – Operasi pada Kelas Sring

Berikut beberapa metode yang disediakan oleh class String untuk memanipulasi data string (metode lengkap dapat dilihat di Java.sun.com) :

1. Panjang data string : namaObjek.length();2. Penggabungan data string : namaObjek.concat(String);3. Pembandingan data string : namaObjek.equal (String);4. Pengantian data string : namaObjek.replace(char, char);

namaObjek.replaceAll(String, String); namaObjek.replaceFirst(String, String);

5. Kapitalisasi data string : namaObjek.toLowerCase(); namaObjek.toUpperCase();

6. Sub-string : namaObjek.substring(int); namaObjek.substring(int, int);

7. Operasi charakter : namaObjek.charAt(int); namaObjek.toCharArray();

8. Konversi : String.valueOf(variabel): namaObjek.toString():

String1.java

Page 60: Pp pbo-130802070700-phpapp02

PERTEMUAN – 6 STRING, STRING BUFFER dan CHARACTER

3. Kelas StringBufferModel kedua ini mengadopsi konsep pointer-of-char dari bahasa C/C++. Dimana tipe data pointer adalah implementasi dari dynamic-allocation yang mengijinkan penggunaan variabel dalam jumlah besar jika diperlukan dan penghapusan variabel tersebut jika sudah tidak diperlukan lagi pada saat run-time. Fleksibelitas ini yang menyebabkan suatu data string bisa mengalami perubahan ukuran: bertambah atau berkurang.

Berbeda dengan class string, bahwa data StringBuffer hanya bisa diinisialisasi melalui construktornya yaitu dengan menggunakan perintah new. Sbb:

StringBuffer namaObjek = new StringBuffer(string);

Page 61: Pp pbo-130802070700-phpapp02

PERTEMUAN – 6 STRING, STRING BUFFER dan CHARACTER

4. Operasi – Operasi pada Kelas SringBufferBerikut beberapa metode yang disediakan oleh class StringBuffer untuk memanipulasi data stringBuffer, dimana tidak berbeda jauh dengan Class String.

1. Panjang data StringBuffer : namaObjek.length(); namaObjek.setLength(int);

2. Penambahan data StringBuffer : namaObjek.append(String); namaObjek.insert(int, String);

3. Penghapusan data StringBuffer : namaObjek.delete(int, int);4. Penggantian data StringBuffer : namaObjek.replace(int, int, String);5. Pembandingan data StringBuffer : namaObjek.equal (String);6. Pembalikan data StringBuffer : namaObjek.reverse();7. Sub-string : namaObjek.substring(int);

namaObjek.substring(int,int); namaObjek.indexOf(String).

8. Operasi karakter : namaObjek.charAt(int); namaObjek.deleteCharAt(int); namaObjek.setCharAt(int, char);

9. Konversi : namaObjek.toString():StringBuffer1.java

Page 62: Pp pbo-130802070700-phpapp02

PERTEMUAN – 6 STRING, STRING BUFFER dan CHARACTER

5. Kelas CharacterKelas Character dibuat untuk meningkatkan kemampuan programmer dalam menangani tipe data karakter. Berbagai metode disiapkan untuk memanipulasi data karakter. Mulai dari memeriksa jenis karakter sampai dengan melakukan konversi tipe data karakter menjadi data lain.

Kelas Character menyediakan satu constructor untuk menginisialisasi data karakter, yaitu : constructor dengan parameter data bertipe karakter.

Deklarasi Kelas Character sbb :

Character namaObjek = new Character(char);

Page 63: Pp pbo-130802070700-phpapp02

PERTEMUAN – 6 STRING, STRING BUFFER dan CHARACTER

6. Operasi – Operasi pada Kelas CharacterBeberapa metode akan dibahas terutama untuk memeriksa jenis karakter saat ini, diantaranya sbb:

1. Berjenis Bilangan ? : Character.isDigit(char));2. Berjenis Huruf ? :

Character.isLetter(char)); 3. Berjenis Huruf/Bilangan ? :

Character.isLetterOrDigit(char));4. Berjenis Spasi ? :

Character.isWhiteSpace(char)); 5. Berjenis Huruf Kecil ? :

Character.isLowerLetter(char));6. Berjenis Huruf Besar ? :

Character.isUpperLetter(char));7. Konversi ke Huruf Kecil ? :

Character.toLowerCase(char));8. Konversi ke Huruf Besar ? :

Character.toUpperCase(char));9. Konversi ke String ? :

Character.toString(char)); namaObjek.toString());

Page 64: Pp pbo-130802070700-phpapp02

7

Page 65: Pp pbo-130802070700-phpapp02

PERTEMUAN – 7ARRAY

1. Defenisi Array

Adalah sebuah solusi untuk mendeklarasikan sejumlah Variabel secara tepat. Pemakaian Variabel Array akan menghemat waktu penyebutan nama Variabel. Variabel Array adalah sejumlah Variabel dengan nama yang sama.

illustrasi Array :

Catt: No. Indeks/No. Element di awali angka 0 (nol) dan diakhiri n-1 dimana n= panjang array.

Page 66: Pp pbo-130802070700-phpapp02

PERTEMUAN – 7ARRAY

2. Mendeklarasikan Array

Beberapa cara mendeklarasikan sebua variabel array, yaitu :

1. Deklarasi

TypeData [ ] namaArray ;

2. Inisialisasi

namaArray = new TypeData [jml elemen];

3. Deklarasi dan Inisialisasi

TypeData [ ] namaArray = new TypeData [jml elemen]

Page 67: Pp pbo-130802070700-phpapp02

PERTEMUAN – 7ARRAY

3. Contoh Deklarasi dan Inisialisasi Array1. Tanpa menyebutkan berapa jumlah elemen yang diperlukan.

Int [ ] angka;Angka =new Int [5];

2. Dengan menyebutkan jumlah elemen yang diperlukan

Int [ ] angka = new Int [5];

Untuk kedua cara di atas pengisian data dilakukan secara manual yaitu dengan diinput satu persatu.

3. Dengan cara otomatisJumlah elemen secara tegas tidak diperlihatkan tetap dapat dilihat dari data yang didefinisikan secara terurut.

int angka = {5,3,7,1,10};

VariabelArray1D_01 .java

VariabelArray1D_02 .java

VariabelArray1D_03 .java

VariabelArray1D_04 .java

Page 68: Pp pbo-130802070700-phpapp02

PERTEMUAN – 7ARRAY

4. Melewatkan Array ke Method

Java menggunakan dua jenis mekanisma untuk melewatkan argumen ke suatu metode. Yaitu :

1. Untuk variabel ber tipedata primitif, yang akan dilewatkan ke metode adalah nilai aktualnya. Perubahan nilai variabel pada saat mengoperasikannya didalam metode tidak akan mengubah nilai variabel tersebut. Mekanisme ini disebut Pass by Value.

2. Pada variabel array, nilai yang dilewatkan pada hakekatnya adalah nilai alamat referensi memori yang menunjuk array tersebut, bukan nilai aktual masing-masing elemen nya, sehingga bila alamat referensi memori ini berubah pada saat pengoperasiannya di dalam metode, maka akan mengubah nilai variabel array asalnya. Mekanisme ini disebut Pass by Reference.

Page 69: Pp pbo-130802070700-phpapp02

PERTEMUAN – 7ARRAY

5. Array Multidimensi

Selain berupa sederetan variabel satu dimensi, kita dapat pula membuat array yang berukuran lebih dari satu dimensi atau disebut array multi-dimensi. Pada bagian ini kita mencoba mencontohkan bentuk array dua dimensi sbb:

TypeData [ ][] nmArray [= new TypeData [jml baris][jml kolom]

Contoh :Membuat matrik 2 X 3 yang berisi data mahasiswa, sbb:

Int [][] matriks = {{“9111500060”, “M. Anif”, “A”},{“9111500061”, “Munsi Liano”, “B”},

}

VariabelArray2D_01 .java

VariabelArray2D_02 .java

VariabelArray2D_03 .java

VariabelArray2D_04 .java

Page 70: Pp pbo-130802070700-phpapp02

PERTEMUAN – 7ARRAY

6. Sorting dan Searching Elemen ArraySorting : Algoritma sorting pengurutan sederetan elemn dapat dilihat sbb :1. Cari bilangan yang terbesar dan memeriksa posisi bilangan tersebut (apakah

sudah terletak dipaling kanan).2. Bila belum, letakkan bilangan terbesar tersebut pada posisi paling kanan.

Proses ini sekali gus saling bertukar posisi.3. Selanjutnya, mencari lagi bilangan terbesar dari deretan sisa dan letakkan

bilangan tersebut dibelakang bilangan terbesar hasil dari proses pertama.4. Lakukan proses diatas sampai selesai.

Searching : algoritma searching dibagi menjadi 2 bentuk5. Pencarian Linier, yaitu : mencari elemen berdasarkan suatu kunci yang berupa

bilangan atau karakter yang diinginkan. Proses berlangsung dengan mencocokkan tiap-tiap elemen dengan kunci tersebut. Bila ditemukan, maka metode akan mengembalikan indeks dari elemen itu, sedangkan bila tidak metode akan mengembalikan nilai integer -1.

6. Pencarian Biner, yaitu : perbaikan dari konsep sebelumnya (Pencarian Linier), karena lebih efisien. Dengan algoritma ini kita tidak perlu memeriksa semua elemen sehingga menghemat waktu pencarian. Adapun caranya : 1). urutkan deretan bilangan tersebut terlebih dahulu, sesuai dengan keinginan baik terbesar maupun terkecil. 2). Selanjutnya ambil nilai elemen yang terletak pada posisi tengah urutan array tsb. Sehingga nilai tengah ini membagi array menjadi 2 segmen. 3). Bandingkan nilai elemn yang dicari dengan nilai tengah ini, jika sama berarti pencarian selesai, jika tidak maka kegiatan dilakukan dengan membagi lagi menjadi dua bagian dari segmen yang memungkinkan untuk ditemukan. Dan seterusnya proses diulangi hingga selesai.

Page 71: Pp pbo-130802070700-phpapp02

9

Page 72: Pp pbo-130802070700-phpapp02

PERTEMUAN – 9 KELAS dan METHOD

1. Kelas dan Method

a. Kelas dan Method StandarMerupakan predefined class/method, yaitu kelas/method yang telah disediakan oleh java dan menjadi reference library. Banyak kelas standard maupun method yang dapat digunakan untuk aplikasi yang spesifik. Kumpulan class/method ini sering dikenal dengan istilah API (application Programming Interface).

b. Kelas dan Method yang didefinisikan Sendiri (UDF)Selain kelas/method standar, terkadang kita juga perlu memodelkan suatu objek kedalam kelas dan mendefenisikan data serta method yang dimilikinya. Bila aplikasi tersebut besar dan kompleks, kita dapat membaginya menjadi beberapa package yang didalamnya terdapat beberapa kelas.

Page 73: Pp pbo-130802070700-phpapp02

PERTEMUAN – 9 KELAS dan METHOD

2. Deklarasi Kelas

a. Deklarasi kelas yang sederhana

class namaKelas{// body

}

b. Deklarasi kelas secara UMUM

[modifier 1] class namaKelas [modifier 2] {// body

}

Page 74: Pp pbo-130802070700-phpapp02

PERTEMUAN – 9 KELAS dan METHOD

3. Modifier pada Kelas

a. Modifier 1public : dapat diakses dari kelas lain, baik dalam package yang sama maupun berbeda.private : tidak dapat diakses sama sekali dari kelas lain, baik dari package yang sama maupun berbeda.protected : membatasi akses kelas yang dilakukan oleh subkelas turunannya dan kelas lain yang terletak dalam package yang sama.abstract : kelas tersebut tidak dapat diinstankan langsung menjadi Objek. Dipakai pada hirarki kelas tertinggi. Yang hanya mungkin dilakukan dengan cara inheritance.final : kelas tersebut tidak dapat diturunkan menjadi subkelas.

b. Modifier 2extends SuperClass : digunakan untuk inheritanceimplements Interface : digunakan bila kelas mengimplementkan satu atau lebih interface.

Page 75: Pp pbo-130802070700-phpapp02

PERTEMUAN – 9 KELAS dan METHOD

4. Scope / Blok

Scope adalah grup yang menghimpun bagian tertentu dari program dan dapat dianggap sebagai suatu kesatuan modul. Scope bisa berupa kelas, blok, atau method dan selalu ditandai oleh kurung kurawal buka dan tutup. Macam-macam scope sbb:

a. Scope Berupa KelasDimulai dari deklarasi kelas dan diikuti tanda “{}”. Anggota terdiri dari data dan method.

b. Scope Berupa Blokdiawali dan diakhiri dengan tanda “{}”, biasanya ditemukan pada blok yang menyertai pengulangan, pemilihan seperti if, if else, while, for dal lain-lain.

c. Scope Berupa Methoddimulai dari deklarasi method yang diikuti oleh tanda “{}”, yang anggotanya terdiri dari data lokal yang hanya didefinisikan dan digunakan dalam method tersebut.

Page 76: Pp pbo-130802070700-phpapp02

PERTEMUAN – 9 KELAS dan METHOD

5. Mengakses Anggota Scope

Pada scope yang berupa kelas dan blok, anggotanya adalah data (variabel) dan method. Sedangkan untuk scope yang berupa method anggotanya adalah data (variabel). Adapun cara mengakses scope dibedakan dengan 2 cara

a. Mengakses dari dalam Scopecontoh variabel bil1 dan bil2 yang terletak di dalam main method, bila ingin menjumlahkan kedua bilangan tersebut dan hasilnya disimpan dalam variabel hasil, serta dan ditampilkan didalam method yang sama. Kita cukup memanggil nama variabel tersebut. Kita tidak perlu menyebutkan referensi kelas atau methodnya.

b. Mengakses dari luar Scopebila hasil ditampilkan melalui method yang berbeda, maka variabel bil1 dan bil dua harus dikirimkan kepada method tersebut melalui method main sebelumnya.

Page 77: Pp pbo-130802070700-phpapp02

PERTEMUAN – 9 KELAS dan METHOD

6. Static dan InstanceKelas tersusun dari data dan method. Kedua unsur ini dapat dibubuhkan modifier untuk menentukan hubungannya terhadap unsur lainnya. Baik dalam scope yang sama, maupun berbeda. Modifier juga digunakan untuk hubungan kepemilikan antara kelas dan objek terhadap kedua unsur tersebut. Berdasarkan hubungan tersebut kita dapat mengklafikasikan data dan method ini menjadi dua, yaitu :1. Bersifat sama untuk seluruh bagian kelas dan instansnya.

Bila kita membubuhkan modifier static pada data dan method dalam suatu kelas, maka kedua unsur tersebut akan bersifat berlaku untuk seluruh bagian kelas tersebut, serta ibjek yang diinstans darinya. Maksudnya, semua objek yang diinstans dari kelas tersebut akan memiliki nilai data dan method yang sama dengan kelasnya.

2. Bersifat unik hanya untuk satu objek (yang diinstas dari kelas terebut).secara default bila kuta tidak membubuhkan modifier apapun pada kedua unsur tersebut.atau bila tidak terdapar modifier static, maka data dan method itu akan bersifat sebagai instans (instance). Maksudnya data dan method itu bersifat unix untuk sebua objek yang diinstarkan dari kelad bersangkutn.

Page 78: Pp pbo-130802070700-phpapp02

PERTEMUAN – 9 KELAS dan METHOD

7. Operator new

Operator ini digunakan untuk membentuk (menginstankan) objek dari kelas, bentuk umumnya sbb:

namaKelas namaObjek = new namaKelas;

Pada saat menggunakan new, terjadi beberapa proses internal sebagai berikut :

a. Objek baru terciptab. Memory dialokasikan untuk objek tersebut.c. Method konstruktor dipanggil untuk menginisialisasi objek.

Page 79: Pp pbo-130802070700-phpapp02

PERTEMUAN – 9 KELAS dan METHOD

8. Keyword this

Ditinjau dari kepemilikannya, variabel dapat dibagi menjadi dua yaitu :

a. Variabel KelasVariabel kelas adalah variabel yang melekat pada kelas dan tidak terpengaruh oleh proses instasiasi. Sehingga tidak dapat dimiliki dan diakses oleh objek yang diinstans dari kelas tersebut.

b. Variabel InstansVariabel Instans adalah variabel yang dimiliki oleh objek dari proses instansiasi suatu kelas.

Keyword this digunakan untuk mengakses variabel instans dari masing-masing objek.

Page 80: Pp pbo-130802070700-phpapp02

10

Page 81: Pp pbo-130802070700-phpapp02

PERTEMUAN – 10 KELAS dan METHOD

9. Deklarasi Method

Bentuk umum dati method adalah sbb:

modifier tipeNilaiKembalian namaMethod(parameter input) throws exception{// body dari method

}

Modifier (optional) yang digunakan sama dengan modifier untuk mendeklarasikan kelas karena pada prinsipnya modifier dapat diletakkan pada kelas, data dan method. Namun implikasi dari penggunaan modifier pada ketiganya belum tentu sama persis antara satu dengan yang lainnya. Sebagai contoh :1. final pada kelas berarti bahwa kelas itu tidak dapat

diturunkan menjadi subkelas yang lain.2. final pada method, berarti method tersebut tidak dapat

dioverride oleh subkelas yang lain.3. final pada variabel akan mengubah variabel tersebut

menjadi sebuah konstanta.

Page 82: Pp pbo-130802070700-phpapp02

PERTEMUAN – 10 KELAS dan METHOD

10. Memanggil Method

Sama seperti ketika mengakses variabel, kita juga menggunakan notasi titik/dot (.) untuk memnaggil method. Bentuk umum pemanggilan method sbb :

NamaKelas.namaMethod(argument);

Contoh :

Mahasiswa.isiMataKuliah();

Page 83: Pp pbo-130802070700-phpapp02

PERTEMUAN – 10 KELAS dan METHOD

11. Melewatkan Argumen ke Method

Dua cara melewatkan argument ke method, yaitu :

1. Melewatkan serace Nilai (Pass by Value)diterapkan pada argument bertipe data primitif. Prosesnya adalah compiler hanya menyalin/mengcopy isi memori (yang telah dialokasikan untuk suatu variabel) dan kemudian menyampaikan salinan tersebut kepada method.oleh karena itu, maka perubahan yang terjadi pada variabel akibat proses tidak akan berpengaruh pada nilai variabel asalnya.

2. Melewatkan secara Referensi (Pass bya Refference)diterapkan pada array dan objek. Variabel array dan objek menyimpan alamat memori buka isi memori. Akibatnya setiap perubahan variabel didalam method akan mempengaruhi nilai pada variabel asalnya.

Page 84: Pp pbo-130802070700-phpapp02

PERTEMUAN – 10 KELAS dan METHOD

12. Overloading MethodJava memperbolehkan kita membuat dua atau lebih

method dengan nama yang sama dalam suatu kelas. Meskipun memiliki nama sama namun jumlah dan tipe data argument masing-masing method haruslah berbeda satu dengan lainnya. Inilah yang disebut dengan Overloading Method.

Contoh :

class mencetakArgument{void Cetak(int bil){

System.out.println(“Nilai yang dikirim adalah “+bil);}

void Cetak(String nama){System.out.println(“Mana yang dikirim adalah “+Nama);

}}

Page 85: Pp pbo-130802070700-phpapp02

PERTEMUAN – 10 KELAS dan METHOD

13. Method KonstruktorKonstruktor adalah method yang berfungsi untuk

menginisialisasi variabel-variabel instant yang akan dimiliki objek. Konstruktor ini dipanggil pada saat proses instansiasi kelas menjadi objek. Ketentuan sbb:1. Namanya sama denfan nama Kelasnya.2. Tidak mengembalikan suatu nilai3. Satu kelas bisa memiliki lebih dari satu konstruktor,

konstruktor satu dapat memanggil konstruktor lain.4. Dapat dibubuhi modifier public, private, protected

Contoh :class Cetak{

public Cetak(int bil){System.out.println(“Nilai yang dikirim adalah “+bil);

}

public Cetak(String nama){System.out.println(“Mana yang dikirim adalah “+Nama);

}}

Page 86: Pp pbo-130802070700-phpapp02

PERTEMUAN – 10 KELAS dan METHOD

14. Method FinalizerObjek adalah dalam program yang sedang dieksekusi

mempunyai waktu hidup (life time). Objek tercipta pada saat kita menginstankan suatu kelas dengan operator new dan akan dihapus pada saat objek dikumpulkan oleh Garbage Collection atau bila memori yang ditempatinya telah diklaim oleh objek/bagian program lain. Method yang dibubuhi modifier finalize ini dapat dikatakan juga sebagai lawan/kebalikan dari methid konstruktor. Method ini dipanggil sesaat sebelum objek dihancurkan.

Bentuk umum, sbb :

protected void finalize() throw Throwable{super.finalize();

}

Page 87: Pp pbo-130802070700-phpapp02

PERTEMUAN – 10 KELAS dan METHOD

15. Method MainSetelah selesai mengetik source code, langkah berikutnya

adalah mengkompilasi dan menjalankan program tersebut. Pada saat kompilasi, pertama-tama kompiler akan mencari bagian program yang disebut sebagai method utama (main method).

Bentuk umum, sbb :

public static void main(String [] arguments){// statement body dari main method

}

1. Public, main method harus dapat dilihat atau visible oleh kelas manapun.

2. Void, tidak mngembalikan nilai.3. Main(String[] arguments), main method ini dapat

mengambil suatu parameter input yang merupakan array dari string yang diberi nama argument.

Page 88: Pp pbo-130802070700-phpapp02

11

Page 89: Pp pbo-130802070700-phpapp02

PERTEMUAN – 11 PACKAGE dan MODIFIER

1. Package

Sesuai dengan namanya, package adalah sebuah upaya untuk mengelompokkan bagian-bagian program java menjadi satu. Sebuah package dalam java terdiri dari sekumpulan class dan/atau interface. Didalam sebuah package juga dimungkinkan mempunyai sub-package.

Package bisa berupa package yang sudah dimiliki oleh Java, dan ada pula package yang dibuat uleh user. Package yang dibuat oleh user ini sering disebut dengan folder. Atau sebuah lokasi didalam media penyimpanan yang kita miliki.

Dalam package yang kita buat dapat berisi sejumlah kelas dan didalam package tersebut juga bisa berupa sub-package.

Page 90: Pp pbo-130802070700-phpapp02

PERTEMUAN – 11 PACKAGE dan MODIFIER

2. Membuat Package

Deklarasi sebuah package diawali dengan deklarasi nama package pada bagian teratas sebuah file source.

Bentuk Deklarasi Package :

package [namaPackage];

Contoh :

package kampus;class unit1{

// … body kelas// … metode-metode// … field-field// …

}

Page 91: Pp pbo-130802070700-phpapp02

PERTEMUAN – 11 PACKAGE dan MODIFIER

3. Memanggil Kelas/Mengakses dari Suatu Package

Mengakses Kelas dengan Kata Kunci import:

import namaPackage.namaKelas;

Contoh :

package demo;import kampus.*;import java.awt.Color;class demo1{

public statik void main(String[] args){unit1 gedung1 = new unit1();Color merah = new Color(Color.red);

}}

Page 92: Pp pbo-130802070700-phpapp02

PERTEMUAN – 11 PACKAGE dan MODIFIER

4. Modifier

Adalah keyword yang digunakan sebagai pelengkap suatu unsur (kelas/method/variabel) dan berfungsi menjelaskan bagai mana hubungan diantara unsur-unsur tersebut. Misalnya bagaimana hubungan antara method dan variabel dari suatu kelas terhadap method dan variabel dari kelas lain, bagaimana hubungan kelas terhadap objek yang merupakan instannya, dsb. Modifier ini bersifat optional.

Lima jenis modifier yang sering digunakan oleh JAVA, yaitu1. public, private, protected : Mengatur aksesibiliti.2. satic : method dan variabel hanya dimiliki oleh kelas yang

bersangkutan, tidak dapat diserahkan kepada objek pada saat instansiasi. Atau akses terhadapnya tidak dapat dilakukan melalui objek yang diciptakan.

3. Final : bila kelas/method/variabel memiliki nilai yang tetap.4. Abstract : Untuk menyatakan bahwa kelas atau method tersebut

tidak dapat secara langsung diinstankan menjadi sebuah objek tetapi melalui inheritance.

5. Syncronized, transient, dan volatile : digunakan pada pemrograman yang mempertimbangkan faktor thread.

Page 93: Pp pbo-130802070700-phpapp02

12

Page 94: Pp pbo-130802070700-phpapp02

PERTEMUAN – 12TIGA PILAR OOP :

Inheritance, Encapsulation dan Polymorphism

1. Inheritace (Pewarisan) ?

Adalah proses pewarisan data dan method dari suatu kelas kepada kelas yang lain. Kelas yang mewariskan disebut kelas super (super class), sedangkan kelas yang diwariskan disebut subkelas (sub class). Atau kelas super disebut Kelas Induk, sementara subkelas disebut Kelas Anak.

Pewarisan ini menggunakan keyword extends, seperti berikut :

Kelas A

Kelas B extends Kelas A

Kelas C extends Kelas B

Page 95: Pp pbo-130802070700-phpapp02

PERTEMUAN – 12TIGA PILAR OOP :

Inheritance, Encapsulation dan Polymorphism

2. Overriding Data dan Method

Adalah kemampuan suatu subkelas untuk memodifikasi data dan method dari kelas induknya atau disebu juga redefinisi data dan method. Proses ini akan mengubah data dan method di keduanya, kelas induk dan kelas anaknya.

Alasan mengapa melakukan overriding, yaitu :1. Mendefinisikan kembali method kelas induk secara total.

Perubahan dilakukan secara menyeluruh, baik jumlah maupun tipe parameter dari argumen inputnya, tipe nilai kembaliannya, maupun behaviour pemprosesan datanya.

2. Menambahkan behaviour tertentu pada method kelas induknya. Perubahan hanya dilakukan untuk menambahkan behaviour yang secara khusus dimiliki hanya oleh kelas anak tersebut.

Tentu kedua hal tersebut dilakukan dengan melihat aksesibiliti sebelum melakukan overriding. Seperti public, private, protected.

Page 96: Pp pbo-130802070700-phpapp02

PERTEMUAN – 12TIGA PILAR OOP :

Inheritance, Encapsulation dan Polymorphism

3. Keyword extends

Digunakan keyword extends untuk mengaplikasikan konsep pewarisan (inheritance). Keyword ini menyatakan bahwa suatu kelas merupakan perluasan dari kelas lain yang dijadikan basi (kelas induk).

Page 97: Pp pbo-130802070700-phpapp02

PERTEMUAN – 12TIGA PILAR OOP :

Inheritance, Encapsulation dan Polymorphism

4. Keyword Super

Keyword ini digunakan oleh suatu kelas anak untuk memanggil konstruktor atau method yang dimiliki oelh kelas induk yang menjadi basisnya.

1. Memanggil Konstruktor Kelas SuperBentuk umum, sbb :

super();super(parameter);

2. Memanggil Method Kelas Super

Bentuk umumnya, sbb :

super.namaMethod(parameter);

Page 98: Pp pbo-130802070700-phpapp02

13

Page 99: Pp pbo-130802070700-phpapp02

PERTEMUAN – 13TIGA PILAR OOP :

Inheritance, Encapsulation dan Polymorphism

5. Encapsulation (Enkapsulasi)

Adalah cara “membungkus” data dan method yang menyusun kelas dan menyembunyikannya dari dunia luar.

Page 100: Pp pbo-130802070700-phpapp02

PERTEMUAN – 13TIGA PILAR OOP :

Inheritance, Encapsulation dan Polymorphism

6. Mengapa Enkapsulasi?

Mungkin suatu saat kita ingin mendistribusikan aplikasi kita kepada orang lain, atau saling bertukar modul/komponen yang telah kita buat dengan orang lain. Adakalanya kita ingin merahasiakan sebagian atau seluruh listing program, kita berharap orang hanya tau cara menggunakannya saja.

Keuntungan menggunakan konsep ini sbb:1. Bersifat independen, suatu modul yang terencapsulasi dengan

baik akan bersifat independen dari modul lainnya, sehingga dapat digunakan pada bagian manapun dari program. Ia tidak akan terikat pada bagian tertentu dari program.

2. Bersifat transfaran, bila melakukan modifikasi pada suatu modul, maka perubahan tersebut akan dirasakan juga oleh bagian program yang menggunakan modul tersebut.

3. Menghindari efek yang diluar perencanaan, modul yang terencapsulasi dengan baik hanya akan berinteraksi dengan bagian program lainya melalui variabel-variabel input/output yang telah didefinisikan sebelumnya. Dengan demikian, akan mereduksi kemungkinan adanya hasil imbas pemprosesan yang diluar perencanaan semula.

Page 101: Pp pbo-130802070700-phpapp02

PERTEMUAN – 13TIGA PILAR OOP :

Inheritance, Encapsulation dan Polymorphism

7. Polymorphism

Polymorphisme bermakna sesuatu yang memiliki banyak bentuk. Dalam pemrograman istilah ini dapat diartikan sebagai modul yang memiliki nama sama, namun memiliki behaviuor (tingkah laku yang berbeda) sehingga listing code implementasinya berbeda.

Page 102: Pp pbo-130802070700-phpapp02

14

Page 103: Pp pbo-130802070700-phpapp02

PERTEMUAN – 14 KELAS INNER, KELAS ABSTRAK, dan INTERFACE

1. Kelas InnerNamaFile.java

Komentar Program

Deskripsi Program dan Import

Kelas A

Kelas B (Kelas Inner)

Badan Kelas A

Badan Kelas B

Deklarasi Data

Main Method

Deklarasi dan Implementasi Method

Deklarasi Data

Deklarasi dan Implementasi Method

Page 104: Pp pbo-130802070700-phpapp02

PERTEMUAN – 14 KELAS INNER, KELAS ABSTRAK, dan INTERFACE

2. Menggunakan Kelas Inner

Konsep inner class sering digunakan untuk menambahkan blok handler pada main method suatu aplikasi GUI. Blok handler merupakan bagian program yang akan merespon event-event yang dipicu ketika user berinteraksi dengan komponen GUI.

Page 105: Pp pbo-130802070700-phpapp02

PERTEMUAN – 14 KELAS INNER, KELAS ABSTRAK, dan INTERFACE

3. Kelas Abstrak

Adalah kelas yang terletak pada posisi tertinggi dari keararki kelas dan menjadi basis untuk menurunkan kelas-kelas lainnya.

Bentuk umum, sbb :

[modifier tambahan] abstract class namaKelas {// variabel umum dan deskripsi method tanpa

implementasi}

Page 106: Pp pbo-130802070700-phpapp02

PERTEMUAN – 14 KELAS INNER, KELAS ABSTRAK, dan INTERFACE

4. Interface

Adalah sekumpulan method yang hanya memuat deklarasi dan struktur method, tanpa detail implementasinya.

Deklarasi interface, sbb :

modifier interface namaInterface{// deklarasi konstanta// deklarasi method

}

Page 107: Pp pbo-130802070700-phpapp02

PERTEMUAN – 14 KELAS INNER, KELAS ABSTRAK, dan INTERFACE

5. Apakah Interface = Kelas Abstrak

Ditinjau daribagaimana kelas abstrak dan interface terdeklarasi, memang ada kemiripan diantara keduanya. Kelas abstract adalah kelas yang terletak pada hierarki teratas dari bagan kelas sehingga tidak mungkin langsung diinstankan menjadi objek. Demikian juga dengan interface, ia tidak dapat diinstankan menjadi objek.

Meski demikian terdapat perbedaan diantara keduanya, yaitu

Abstract Interface

Tipe Data /Variabel

Semua Hanya berupa konstanta.

Method Bisa berupa signature-nya saja atau berupa detail implementasi method.

Hanya berupa signatur, programmer harus mendefenisikan dan membuat detail implementasi dari method. Jadi, method yang tedapat didalam interface adalah method abstrak.

Sintaks Method Menggunakan modifier abstract.

Tidak perlu menggunakan modifier abstract.

Page 108: Pp pbo-130802070700-phpapp02

EndOf

Slide