pertemuan 1
TRANSCRIPT
Pemrograman Pemrograman Berorientasi Objek Berorientasi Objek
(PBO) (PBO) Dewi KusumaningsihDewi Kusumaningsih
PERTEMUAN IPERTEMUAN I
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
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
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.
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.
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
Konsep Object-OrientedKonsep Object-Oriented
Ide dasarnya adalah menggabungkan data dan fungsi menjadi satu kesatuan unit yang dikenal sebagai object.
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
ObjekObjek
Objek = HalObjek = Hal Punya FungsiPunya Fungsi Menghasilkan output dari fungsi Menghasilkan output dari fungsi
yang mengolah datayang mengolah data
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)
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
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.
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
MahasiswaMahasiswa
NIM : NIM : 03115003250311500325Nama : DewiNama : Dewi
Menulis,Menulis,Kuliah,Kuliah,Makan,Makan,
BukuBuku
No.Buku : K001No.Buku : K001Judul : PBOJudul : PBO
Dibaca, Dibaca, disampuldisampul
Contoh hubungan Antara Kelas dan Obyek
Obyek = an instance of
Person
Budi Lusi Sri
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
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
}}
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.
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.
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.
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
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.
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
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.
Pengenalan Lingkungan Pengenalan Lingkungan JavaJava
Program Java akan melalui 5 tahap proses, yaitu : Edit Compile Load Verify Execute
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
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
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).
D. VerifyD. Verify
Memastikan agar bytecode dalam Memastikan agar bytecode dalam file .class validfile .class valid
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)
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!
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
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
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.
• 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 {
• 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!" );
Compiling dengan cara, masuk ke Compiling dengan cara, masuk ke Command LineCommand Line Start – RUN – ketik cmdStart – RUN – ketik cmd
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>
Ketik javac Wellcome1.java <enter> Ketik javac Wellcome1.java <enter>
Untuk menjalankannya, ketik :Untuk menjalankannya, ketik :java Wellcome1 <enter> java Wellcome1 <enter>
Menjalankan dari Menjalankan dari JCreatorJCreator
Pilih Start Pilih Start JCreator JCreator
Pilih tempat file andaPilih tempat file anda
Beri nama file anda sesuai dengan Beri nama file anda sesuai dengan nama classnama class
Mengompile dan menjalankan Program Java dengan JCreator
Build > Compile File
Jika proses Compile berhasil maka akan ditampilkan
Untuk menjalankan program pilih menu : Build > Execute File
Output program “Hello.java”