Week 1
PEMROGRAMAN BERBASIS OBYEK
Sejarah Java 1991: project “Oak” oleh James Gosling Berorientasi obyek, berdasarkan C++ Berorientasi obyek berdasarkan C++ Dirancang untuk memprogram “home appliances” Dirancang agar dapat berjalan pada berbagai Di d b j l d b b i
platform dengan biaya murah
1995: implementasi publik pertama kali l bl k k l Semua browser dapat menjalankan aplikasi java
Sejarah Java cont. Sejarah Java cont 1998: Perkembangan Java Terdapat 3 platform: J2EE, J2SE, J2ME Terdapat 3 platform: J2EE J2SE J2ME
2006: Sun Microsystem merilis Java sebagai
F / O Free / Open Source Software S S f
Java Release Sun Microsystems merilis tiga platform Java: Java 2 Standard Edition (J2SE) JSE Java 2 Enterprise Endition (J2EE) JEE Java 2 Micro Edition (J2ME) J Mi Edi i (J ME) JME
Why Java
Java berorientasi objek Populer untuk pengembangan program aplikasi (stand alone atau / ), p client/server), mobile atau desktop Open source Simple (menghilangkan pointers, mempermudah multi inheritance) Portable
Program Java dikompilasi ke dalam Java Virtual Machine (JVM) code: bytecode Bytecode adalah machine‐independent dan dapat dijalankan pada mesin dengan Java interpreter Java interpreter (part of JVM) mentranslasikan bytecode ini ke bentuk bahasa mesin dari target yang dituju Sesudah di‐compile, program tersebut dapat dijalankan pada platform apapan tanpa harus di‐compile ulang
Robust Aman Multithreaded
Java Certification Path
OOP Concept Class and object Encapsulation Inheritance Polymorphism
Obyek Obyek secara harafiah merupakan benda‐
benda yang bahkan terdapat di sekeliling kita. Dan obyek‐obyek tersebut pun bisa jadi merupakan sebuah class. merupakan sebuah class Sebagai contoh sebuah lapangan terbang / bandara. Pesawat terbang Penumpang Bagasi agas
Obyek cont. Obyek cont Selain pesawat terbang, penumpang, bagasi,
dll, masih terdapat beberapa abstraksi kelas dll masih terdapat beberapa abstraksi kelas yang ada: Pemesanan tiket P tik t Pemeriksaan keamanan dll
Method Method merupakan aksi yang dapat
dilakukan oleh sebuah obyek Setiap obyek dapat berinteraksi dengan memanggil method yang berkenaan dengan il th d b k d obyek tersebut OOP merupakan konsep pemrograman di mana sebuah program merupakan koleksi p g p dari obyek‐obyek yang saling berinteraksi
Class dan Object
Class and object Class Struktur dasar benda dan memiliki atribut yang y g
menunjukkan keadaan benda atau memiliki method yang menunjukkan fungsi dari benda Merupakan prototype / blue prints yang M k t t / bl i t mendefinisikan variabel‐variabel dan method‐method secara umum
Object Contoh konkrit sebuah class sehingga setiap objek dari gg p j
class yang sama akan memiliki atribut yang sama Semua benda di dunia nyata dapat dianggap sebagai obyek b k
Object Setiap object mempunyai atribut sebagai
status Setiap object juga mempunyai tingkah laku (b h i ) (behaviour) Sebagai contoh: sebuah mobil mempunyai Atribut: gear, pedal gas, pedal rem, setir, dll Behaviour: kecepatan naik/ turun, perpindahan
gear
Encapsulation Pembungkusan variabel dan method dalam
sebuah obyek serta menyediakan antar muka untuk mengakses variabel tersebut Variabel dan method yang dipunyai suatu V i b l d th d di i t obyek bisa ditentukan hak aksesnya
Inheritance Merupakan pewarisan atribut dan method
dari sebuah class ke class lainnya Class tersebut mewarisi seluruh method dan atribut yang terdapat pada class parentnya. t ib t t d t d l t Class yang mewarisi g superclass Class yang diwarisi subclass
Polymorphism Kemampuan sebuah obyek untuk
mempunyai lebih dari satu bentuk
Hak Akses Hak Akses
Deskripsi
public
Hak akses yang paling fleksibel di mana atribut dan method bisa berlaku di seluruh class yang ada dalam th d bi b l k di l h l d d l satu package yang sama atau berbeda package
protected
Bisa berlaku dalam classnya sendiri atau berbeda package
private
Hanya bisa berlaku dalam classnya sendiri
Deklarasi Class Cara untuk mendeklarasi sebuah class adalah
sbb: Hak_akses {
}
class
Nama_class
Rules pada Java Programming Case sensitive Nama class harus sama dengan nama file Setiap akhir baris perintah diakhiri dengan
tanda semicolon (;) kecuali deklarasi class dan method
Tipe data Java memiliki 8 tipe data primitif T pe Type
Bits
B tes Bytes
Byte
8
1
Minimum Range Minim m Range ‐128 or ‐27
Maximum Range Ma im m Range 127 or 27‐1
Short
16
2
‐32,768 or ‐215
32,767 or 215‐1
Int
32
4
‐2,147,483,648 or ‐231
2,147,483,647 or 231‐1
Long
64
8
‐263
263‐1
Float
32
4
‐3.4E38
3.4E38
Double
64
8
‐1.7E308
1.7E308
Ch Char
16 6
2
n/a
n/a
boolean
8
1
n/a
n/a
Tipe data String String dapat berisi huruf, angka, dan karakter
khusus String bukan merupakan tipe data primitif melainkan data reference l i k d t f Untuk menggabungkan dua buah string, gunakan tanda + Contoh: String msg1 = “Halooo”; String msg2 = null; St i ll
Karakter khusus String Kita juga dapat memasukkan karakter khusus
ke dalam sebuah String yaitu: Sequence
Character
\n
New line
\t
Tab
\r
Return
\”
Quotation mark
\\
Backslash
Variabel & Assignment g Java merupakan bahasa pemrograman yang bersifat static,
artinya kita harus mendeklarasikan nama variabel sebelum meng‐ artinya kita harus mendeklarasikan nama variabel sebelum meng assign suatu nilai Sintaks: tipeData namaVariabel Contoh: int counter; counter = 1;
Kita juga dapat secara langsung meng‐assign suatu nilai kepada Kita juga dapat secara langsung meng assign suatu nilai kepada
variabel:
int counter = 1; boolean valid = false; char letter = ‘A’; char letter = 65; double distance = 3.65e+9;
Untuk menginisialisai suatu konstanta, kita gunakan keyword k l k k k k d
“final”:
final int DAYS_IN_NOVEMBER = 30; final double SALEX SALEX_TAX TAX = 0 0.75 75
Operator Aritmatika Program seringkali membutuhkan berbagai
operasi aritmatika. Java menyediakan berbagai operasi aritmatika untuk melakukan: Penjumlahan, Pengurangan, Pembagian, Perkalian, g , , Sisa Pembagian
More: Operator Aritmatika
Secara keseluruhan Java memiliki 9 operator aritmatika:
Operator
Name
# Operands
Description
+
Addition
2
Add two operands
‐
Subtraction
2
Subtract the right operand from the left Subtract the right operand from the left
*
Multiplication
2
Multiplies the right operand and left operand
/
Division
2
Divides the right operand into the left operand g p p
%
Modulus
2
++
Increment
1
Returns the value that is left over after dividing the right operand into the left operand Adds 1 to the operand (x = x + 1)
‐‐
Decrement
1
Subtracts 1 from the operand (x = x ‐1)
+
Positive Sign
1
‐
Negative Sign
1
Promotes byte, short, and char types to the int type Changes a positive value to negative, and vice versa
Contoh‐contoh operasi aritmatika Integer Arithmetic:
Double Arithmetic:
int x = 14;
double a = 8.5;
int y = 8; Operations
double b = 3.4; Operations
Results
Results
int result1 = x + y;
result1 = 22
double result9 = a + b;
result9 = 11.9
int result2 = x – y;
result2 = 6
double result10 = a – b;
result10 = 5.1
int result3 = x * y;
result3 = 112
double result11 = a * b;
result11 = 28.90
int result4 = x / y;
result4 = 1
double result12 = a / b;
result12 = 2.5
int result5 = x % y; y
result5 = 6
double result13 = a % b; b result13 = 1.7 17
int result6 = ‐y + x;
result6 = 6
double result14 = ‐a + b; result14 = ‐5.1
int result7 = ‐‐y;
result7 = 7
double result15 = ‐‐a;
int result8 = ++x; result8 = 15, x = 15 double result16 = ++b; Character Arithmetic:
result15 = 7.5 result16 = 4.4
char letter1 = ‘C’; C;
// letter1 = ‘C’ C
Unicode integer is 67
char letter2 = ++letter1;
// letter2 = ‘D’
Unicode integer is 68
Shorcut Assignment Operators g Java memiliki 6 shortcut assignment operators: Operator Name = Assignment += Addition
‐=
*==
/= %=
Description Assigns a new value to the variable Adds the operand to the starting variable value of the variable and assigns the result to the variable Subtraction Subtracts the operand from the starting value of p g the variable and assigns the result to the variable Multiplication Multiplies the operand by the starting value of Multiplies the operand by the starting value of the variable and assigns the result to the variable Division Divides the operand by the starting value of the Divides the operand by the starting value of the variable and assigns the result to the variable Modulus
Derives the value that is left over after dividing g the right operand by the value in the variable, and then assigns this value to the variable
Contoh shortcut assignment g operator
count += 1; // count is increased by 1 count -= = 1; // count is decreased by 1 total += 100.0; // total is increased by 100.0 total -= 100.0; // total is decreased by 100.0 price *= .8; // price is multiplied by 0.8 sum += nextNumber; // sum is increased by the value of nextNumber