44 Mengompile dan menjalankan Program Java

advertisement
FAKULTAS
TEKNOLOGI INFORMASI
UNIVERSITAS
BUDI LUHUR
Pemrograman
Berorientasi Objek
www.bl.ac.id
Pengenalan Java
HAL : 1
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
PBO
• Mata Kuliah MKM (Mata kuliah Kendali Mutu)
• Bobot 3 SKS
• Penilainan :
– Absen : 10
– Tugas : 20
– MidTest : 30
– FINAL
: 40
HAL : 2
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
Pengenalan Java
• Sekilas Sejarah Java
1995
: pertama diluncurkan sebagai bahasa
pemrograman umum, dibuat oleh Sun
Microsystem. Dibuatlah JVM (Java
Virtual Machine) yaitu tempat
eksekusi program Java dimana para
objek saling berinteraksi satu sama
lain.
HAL : 3
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
Untuk
lebih
meningkatkan
produktivitas
pengembang perangkat lunak, Sun juga
meluncurkan SDK (Standard Development Kit)
yang berisi kakas dan API untuk membuat
program aplikasi berbasis Java. Java pada
awalnya diluncurkan J2SE, yang digunakan
untuk membuat aplikasi-aplikasi standar.
HAL : 4
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
• Tahun 1999, Sun meluncurkan J2EE (Java 2
Enterprise Edition) sebagai framework untuk
membuat aplikasi enterprise berskala besar
• Tahun 2001, Sun meluncurkan J2ME yang
menjadi salah satu standar pemrograman di
dalam PDA maupun handphone
HAL : 5
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
Konsep Object-Oriented
• Ide dasarnya adalah menggabungkan data dan
fungsi menjadi satu kesatuan unit yang dikenal
sebagai object.
HAL : 6
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
• Beberapa hal yang perlu diketahui dalam
membangun aplikasi dengan konsep OOP,
diantaranya sbb :
1. Objek
2. Classification
a. Abstraction
b. Encapsulation
c. Constructor (Single Constructor,
Constructor dengan parameter dan Multiple
constructor)
d. Inheritance
e. Polymorphism
3. Package
HAL : 7
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
Objek
• Objek = Hal
• Punya Fungsi
• Menghasilkan output dari fungsi yang mengolah
data
HAL : 8
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
Objek
• Di real-world, tiap obyek memiliki ciri dan
tingkah laku (behavior).
• Misalnya : Obyek-obyek mhs, ciri bisa dilihat dari
warna kulit, suara, jenis kelamin. Tingkah laku :
berlari, menulis, makan.
• Di programming, ciri dari tiap obyek
diimplementasikan menjadi “attribute” (atau
variabel)
• Tingkah laku diimplementasikan menjadi
“method” (atau fungsi)
HAL : 9
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
• Contoh :
– Pada Balok:
• Objek : balok
• Data
: panjang, lebar dan tinggi
• Fungsi : menghitung volume dan
menghitung luas
permukaan
balok itu
– Untuk menghitung volume dan luas
permukaan beberapa Balok, maka harus ada
beberapa objek balok.
– Tiap Objek memiliki Data dan fungsi sendirisendiri
HAL : 10
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
Classification
• Disebut juga Class
• Class bersifat abstrak
• Di real-world, kita sering melihat banyak obyek
dengan model yang sama. Obyek-obyek
tersebut bisa memiliki perbedaan atau tidak.
• Misalnya : Mobil, mahasiswa
• Class adalah blueprint dalam membentuk obyek
• Obyek-obyek yang sama adalah merupakan
anggota dari suatu kelas.
HAL : 11
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
Contoh Class
Mahasiswa
NIM :
Nama:
Menulis,
Kuliah,
Makan,
Buku
No. Buku:
Judul:
Dibaca,
Disampul
Nama class
atribut
Metoda/
method
HAL : 12
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
Mahasiswa
NIM : 0311500325
Nama : Dewi
Menulis,
Kuliah,
Makan,
Buku
No.Buku : K001
Judul : PBO
Dibaca, disampul
HAL : 13
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
Contoh hubungan Antara Kelas dan
Obyek
Obyek = an instance of
Person
Budi
Lusi
Sri
HAL : 14
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
• Perbedaan Class dengan Objek :
– Class merupakan desain dan objek
merupakan perwujudan suatu Class
– Class bersifat abstrak dan objek bersifat
kongkrit
HAL : 15
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
• Classification :
adalah suatu proses pembuatan class.
secara umum sebuah class java didefinisikan
sbb:
class NamaClass
{
definisi_data_member;
definisi_member_function
}
HAL : 16
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
•
•
Data member (anggota data) : variabelvariabel yang menyatakan karakteristik suatu
objek contoh sebuah objek Balok mempunyai
karakteristik yang dinyatakan dengan panjang,
lebar dan tinggi.
Member function (fungsi anggota) : fungsifungsi yang bertugas memanipulasi nilai pada
data member. Fungsi yang paling sering ada
pada sebuah objek adalah fungsi untuk
mengubah dan menginformasikan nilai dari
data member objek.
HAL : 17
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
Abstraction
• Yaitu suatu proses dimana kita melakukan
desain class dan menetukan data dan method
yang akan dimiliki oleh sebuah class.
• Contoh :
sebuah bangunan geometri lingkaran,
dideskripsikan sbb:
Bahwa lingkaran memiliki jari-jari, (radius atau
r) untuk menyatakan ukurannya. Sehingga
semakin besar jari-jarinya maka semakin besar
pula lingkaran yang akan dihasilkan.
HAL : 18
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
• Jadi jari-jari adalah data yang dimiliki
sembarang lingkaran,
sehingga
jari-jari
merupakan karakteristik dari sebuah lingkaran.
• Berdasarkan fakta diatas maka kita
membuat class untuk objek lingkaran.
bisa
HAL : 19
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
• Contoh :
nama class lingkaran
karakteristiknya sbb :
- memiliki jari-jari
- memiliki beberapa method
* mengubah nilai jari-jari,
* memperoleh informasi jari-jari
* menghitung luas lingkaran,
* menghitung keliling lingkaran
HAL : 20
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
• Membuat format class berdasarkan karakteristik
tersebut diatas :
class Lingkaran
{
data: jari-jari
method: update jari-jari
informasi jari-jari
hitung luas
hitung keliling
}
• Sampai disini tahap perencanaan class bisa
dianggap selesai, kemudian pada bagian
selanjutnya dilakukan implementasi calss ini
secara mendetail.
HAL : 21
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
Encapsulation
• Merupakan inti dari metode OOP dimana data
objek dilindungi dari perubahan secara langsung
dari luar objek tersebut.
• Dimana perubahan secara langsung bisa
berakibat data didalam objek mengalami “bad
value” yang pada akhirnya berimbas tidak
berfungsinya sebuah objek sebagaimana yang
dikehendaki
HAL : 22
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
Memang
suatu
ketika
lingkungan
luar
memerlukan informasi dari objek kita, atau ingin
mengubah data yang tersimpan didalam objek,
tentu saja harus ada mekanisme untuk
mengubah data objek dan menginformasikan
data tersebut kelingkungan luarnya.
Dan tentu saja kita juga harus bisa memilahmilah data mana yang harus dipublish keluar
dan data mana yang hanya boleh diketahui oleh
lingkungan dalam objek.
HAL : 23
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
Pengenalan Lingkungan Java
• Program Java akan melalui 5 tahap proses,
yaitu:
– Edit
–
–
–
–
Compile
Load
Verify
Execute
HAL : 24
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
A. Edit
• Menulis program java dengan menggunakan
program editor seperti JCreator, Notepad, dll
• Disimpan dengan ekstensi file .java
• Misal : HelloWorld.java
HAL : 25
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
B. Compile
• Menggunakan perintah javac untuk mengcompile program java
• Akan menghasilkan bytecode (instruksi-instruksi
yg dimengerti oleh Java interpreter).
• Contoh perintah untuk meng-compile program
java:
javac HelloWorld.java
• Jika proses kompilasi benar, akan dihasilkan file
dengan ekstensi .class, misal : HelloWorld.class
HAL : 26
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
C. Load
• Menempatkan program (.class) ke dalam
memory sebelum dijalankan.
• Dilakukan oleh class loader.
• File .class dapat di-load dari penyimpanan di
komputer kita atau dari jaringan/network
(jaringan lokal atau internet).
HAL : 27
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
D. Verify
• Memastikan agar bytecode dalam file .class valid
HAL : 28
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
E. Eksekusi
• Menggunakan Java Interpreter
• Membaca bytecode dan menerjemahkannya
menjadi bahasa yang dimengerti oleh komputer
(bahasa mesin).
• Perintahnya adalah :
java HelloWorld
• Java Interpreter = Java Virtual Machine (JVM)
HAL : 29
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
Program 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!
HAL : 30
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
Komentar / Comments
1
// 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 kosong
Membuat program lebih mudah dibaca
Baris kosong, spasi, dan tab adalah ‘white-space characters’
Diabaikan oleh compiler
HAL : 31
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
Catatan :
4
public class Welcome1
• Awal pendeklarasian utk class Welcome1
• Sebuah program java minimal mempunyai 1
pendeklarasian class.
• By convention (aturan tdk tertulis), semua nama
class di Java dimulai dengan huruf besar dan
huruf besar pada tiap katanya. Misal : class
Welcome1, class HelloWorld, class
HitungLembur.
HAL : 32
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
Catatan lanjutan :
• Java identifier
Sekumpulan karakter yang terdiri dari huruf,
angka, underscores ( _ ) dan tanda dollar ( $ )
Tdk boleh diawali dg angka, tdk boleh ada spasi
Contoh : Welcome1, $value, _value,
button7
– 7button is invalid
• Java bersifat case-sensitive. Sehingga AB
dan Ab adalah berbeda.
HAL : 33
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
7
public static void main( String args[] )
• Pada tiap aplikasi Java
 Aplikasi mulai dieksekusi pada ‘main’
– Tanda kurung menandakan ‘main’ adalah
method
– Aplikasi Java terdiri dari 1 atau lbh method
 Satu method hrs bernama ‘main’
‘void’ berarti ‘main’ tdk mengembalikan nilai
8
{
– Kurawal kiri (brs 8) menandakan dimulainya
pendeklarasian method
• Diakhiri dg kurawal kanan } (brs 11)
HAL : 34
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
9
System.out.println( "Welcome to Java Programming!" );
• Perintah utk mencetak sekumpulan karakter
String – sekumpulan karakter yg berada di
antara tanda kutip ganda
• System.out
Standard output object
Print ke command window (i.e., MS-DOS
prompt)
• Method System.out.println
Stlh mencetak, cursor akan berada di baris baru
• Baris 9 ini disebut sebagai statement
Tiap statement harus diakhiri tanda semicolon ;
HAL : 35
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
• Compiling dengan cara, masuk ke Command
Line
– Start – RUN – ketik cmd
HAL : 36
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
• Masuk pada drive dimana anda menyimpan file
java tersebut:
– Ketik <drive>, contoh: D: <enter>
HAL : 37
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
• Ketik javac Wellcome1.java <enter>
HAL : 38
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
• Untuk menjalankannya, ketik :
java Wellcome1 <enter>
HAL : 39
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
Menjalankan dari JCreator
• Pilih Start  JCreator
HAL : 40
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
• Pilih tempat file anda
HAL : 41
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
• Beri nama file anda sesuai dengan nama class
HAL : 42
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
HAL : 43
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
• Mengompile dan menjalankan Program
Java dengan JCreator
Build > Compile File
HAL : 44
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
• Jika proses Compile berhasil maka akan
ditampilkan
HAL : 45
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
• Untuk menjalankan program pilih menu :
– Build > Execute File
HAL : 46
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
• Output program “Hello.java”
HAL : 47
Download