Post on 21-Jun-2015
Pemrograman Berorientasi Objek“Pengenalan Bahasa JAVA”
Sekolah Tinggi Manajemen Informatika dan Komputer
WIDYA DHARMA
Tujuan
Membahas secara singkat tentang sejarah JAVA dan definisi teknologi JAVA serta fase-fase dalam program JAVA.
Latar Belakang JAVA Pada 1991, sekelompok insinyur Sun dipimpin oleh Patrick Naughton
dan James Gosling ingin merancang bahasa komputer untuk perangkat konsumer seperti cable TV Box.
Perangkat tersebut tidak memiliki banyak memori, bahasa harus berukuran kecil dan mengandung kode yang liat.
Kebutuhan untuk fleksibilitas, kecil, liat dan kode yang netral terhadap platform mengantar tim mempelajari implementasi Pascal yang pernah dicoba.
Orang – orang di proyek Green berbasis C++ dan bukan Pascal maka kebanyakan sintaks diambil dari C++, serta mengadopsi orientasi objek dan bukan prosedural
Mulanya bahasa yang diciptakan diberi nama ”Oak” oleh James Gosling yang mendapat inspirasi dari sebuah pohon yang berada pada seberang kantornya, namun dikarenakan nama Oak sendiri merupakan nama bahasa pemrograman yang telah ada sebelumnya, kemudian SUN menggantinya dengan JAVA.
Latar Belakang JAVA Nama JAVA sendiri terinspirasi pada saat mereka sedang menikmati
secangkir kopi di sebuah kedai kopi yang kemudian dengan tidak sengaja salah satu dari mereka menyebutkan kata JAVA yang mengandung arti asal bijih kopi.
Produk pertama proyek Green adalah Star 7 (*7), sebuah kendali jarak jauh yang sangat cerdas.
Dikarenakan pasar masih belum tertarik dengan produk konsumer cerdas maka proyek Green harus menemukan pasar lain dari teknologi yang diciptakan.
Pada saat yang sama, implementasi WWW dan Internet sedang mengalami perkembangan pesat.
Di lain pihak, anggota dari proyek Green juga menyadari bahwa Java dapat digunakan pada pemrograman internet, sehingga penerapan selanjutnya mengarah menjadi teknologi yang berperan di web.
Java Pada Teknologi Web
Java Mengadopsi Kelebihan Bahasa LainJava telah mengakomodasi hampir seluruh fitur penting bahasa – bahasa pemrograman yang ada semenjak perkembangan komputasi modern manusia :
1. Dari SIMULA, bahasa pada tahun 65-an, bahasa yang paling mempengaruhi Java sekaligus C++. Dari bahasa ini diadopsi bentukan – bentukan dasar dari pemrograman berorientasi objek.
2. Dari LISP – bahasa tahun 55-an. Diadopsi fasilitas garbage collection, serta kemampuan untuk meniru generic list processing, meski fasilitas ini jarang yang memanfaatkannya.
Java Mengadopsi Kelebihan Bahasa Lain
3. Dari Algol – bahasa pada tahun 60-an, diambil struktur kendali yang dimilikinya.
4. Dari C++, diadopsi sintaks, sebagian semantiks dan exception handling
5. Dari bahasa Ada, diambil strongly type, dan exception handling.
6. Dari Objective C, diambil fasilitas interface. 7. Dari bahasa SmallTalk, diambil pendekatan single-root
class hiérarchie, dimana objek adalah satu kesatuan hirarki pewarisan
8. Dari bahasa Eiffel, fasilitas assertion yang mulai diterapkan di sebagian JDK 1.4
Apa itu Teknologi JAVA? Sebuah Bahasa Pemrograman
Sebagai sebuah bahasa pemrograman, Java dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya,
Sebuah Development Environment Sebagai sebuah peralatan pembangun, teknologi Java menyediakan
banyak tools : compiler, interpreter, penyusun dokumentasi, paket kelas dan sebagainya.
Sebuah Aplikasi Aplikasi dengan teknologi Java secara umum adalah aplikasi serbt a
guna yang dapat dijalankan pada seluruh mesin yang memiliki Java Runtime Environment (JRE).
Sebuah Deployment Environment JRE, yang terdapat pada paket J2SDK, mengandung kelas – kelas untuk
semua paket teknologi Java yang meliputi kelas dasar dari Java, komponen GUI dan sebagainya.
Komponen yang lain terdapat pada Web Browser.
Karakteristik JAVASederhana
Sintaknya mirip C++Menghilangkan pointer yang rumitMenghilangkan multiple inheritanceMenggunakan automatic memory allocation dan memory
garbage collection Berorientasi Objek
Murni berorientasi objek (program yang reusable)Terdistribusi
Aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi
InterpretedProgram Java dijalankan menggunakan interpreter yaitu
Java Virtual Machine (JVM) sehingga hasil terjemahan source code JAVA yang berupa bytecodes dapat dijalankan pada platform yang berbeda-beda
RobustCompiler pada Java mempunyai kemampuan mendeteksi
error secara lebih teliti dibandingkan bahasa pemrograman lain serta mempunyai runtime-Exception handling untuk membantu mengatasi error pada pemrograman
Karakteristik JAVA
Karakteristik JAVASecure
Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi.
Architecture NeutralProgram cukup mempunyai satu buah versi yang dapat
dijalankan pada platform berbeda dengan Java Virtual Machine.
Portable Source code maupun program Java dapat dengan mudah
dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang
Karakteristik JAVAPerformance
Performance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft ataupun Symantec yang menggunakan Just In Time Compilers (JIT).
Multithreaded Fasilitas pemrograman paralel (dapat melakukan beberapa
pekerjaan sekaligus)Dynamic
Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa menggangu program yang menggunakan class tersebut
Fase – Fase Pemrograman JAVA
Contoh Source Code JAVApublic class Hello{
/*** My first java program*/
public static void main(String[] args) {//Menampilkan kata "Hello world" dilayar
System.out.println("Hello world!");}
}
Penjelasan Source Code
Public : program bersifat umumStatic : karakteristik tetap pada kelas iniVoid : fungsi kelas ini tidak mengembalikan
suatu nilaiMain: fungsi utamaString[] args : fungsi kelas ini dapat
menerima argumen ketika dijalankan dan argumen ini adalah string yang berbentuk larik atau bisa lebih dari satu argumen
Contoh Source Code JAVA (Applet)import java.awt.*;import java.applet.*;
public class AppletHallo extends java.applet.Applet { /** Initialization method that will be called after the applet is loaded * into the browser. */ Font f = new Font("Tahoma",Font.BOLD,18); public void init() { // TODO start asynchronous download of heavy resources }
public void paint(Graphics g) { g.setFont(f); g.setColor(Color.blue); g.drawString("Hallo Semua Penghuni Dunia",5,25); }}
Implementasi Applet<html>
<head></head><body bgcolor="000000">
<center><applet
code = "AppletHallo.class"width = "500"height = "300">
</applet></center>
</body></html>
Komentar Pada Program
Menambahkan komentar 1 baris digunakan tanda “ // ”Cth :
//Menampilkan kata "Hello world" dilayarMenambahkan komentar lebih dari 1 baris
digunakan tanda “ /* bla bla bla */ “Cth :
/* Ini Komentar beberapa kalimatini komentar kedua */
Keyword, Variabel, dan Tipe Data (1)
KeywordKeyword adalah pengidentifikasi yang telah dipesan untuk didefinisikan sebelumnya oleh java untuk tujuan tertentu. Anda tidak dapat menggunakan keyword sebagai nama variabel anda, class, method dsb. Berikut ini adalah daftar dai kata kunci dalam java (Java Keywords).
Keyword, Variabel, dan Tipe Data (2)
Keyword, Variabel, dan Tipe Data (3)
VariabelVariabel pada Java terdiri dari :
Variabel Class yang dikenal sebagai property yang merupakan state dari objek Cthnya : Public Class hello ()
{// Kode
} Variabel Kode
Cthnya : int a;
Keyword, Variabel, dan Tipe Data (4)
Aturan pokok dalam deklarasi variabel Setiap variabel harus diawali dengan abjad/huruf Karakter kedua boleh huruf, angka atau simbol Tidak memakai tanda baca (? ! + - * & dsb) Tidak boleh ada spasi di dalamnya. Kata bisa
dipisah dengan menggunakan underscore “_” Bukan kata kunci Sebaiknya nama variabel cukup deskriptif,
menyatakan arti dan tujuannya
Keyword, Variabel, dan Tipe Data (5)
Deklarasi variable :• <tipe> <nama variable>;
Tipe DataTipe data pada Java dapat dibedakan atas 2 kategori, yaitu Tipe data primitif
Keyword, Variabel, dan Tipe Data (6)
Type Default Range boolean False -char \u0000 \u0000 to \uFFFFbyte 0 -128 s/d 127short 0 -32768 s/d 32767int 0 -2147483648 s/d 2147483647long 0 -9223372036854775808 s/d
9223372036854775808float 0.0 1.4E-45 s/d 3.4028235E+38double 0.0 4.9E-324 s/d
1.7976931348623157E+308
Keyword, Variabel, dan Tipe Data (7)
Tipe data komplekso String : untuk menyatakan tipe deretan karakter,
misalnya nama, alamat, dsb. Cth : String pesan = “Halo”;o Array : misalnya int [ ] x = new int [5];
Karakter khusus \n : pindah ke baris baru \t : pindah tabulasi ke kanan \b : backspace \r : return \f : halaman baru
KonstantaPendefinisian konstanta melalui kata kunci finalCth : final double PI = 3.14
Keyword, Variabel, dan Tipe Data (8)
Perubahan tipe dataJava menyediakan beberapa fungsi/metode untuk keperluan karakter, antara lain : isDigit() : memeriksa apakah karakter
tersebut adalah digit angka isJavaLetter() : memeriksa apakah karakter ini adalah
unicode isLowerCase() : memeriksa apakah karakter ini asalah
huruf kecil toLowerCase() : mengubah karakter ke huruf kecil toUpperCase() : mengubah karakter ke huruf besar
Keyword, Variabel, dan Tipe Data (9)
Berikut ini perubahan tipe data yang diperbolehkan
Dari Tipe Ke Tipebyte short, char, int, long, float, doubleshort int, long, float, doublechar int, long, float, doubleint long, float, double, charlong float, doublefloat double
Keyword, Variabel, dan Tipe Data (10)
Contoh perubahan tipe data o Double to integer
double b = 10.5int a = (int) b; // hasilnya adalah 10
o Integer to double int a = 5;
double b = a/2; // hasilnya 2, bukan 2.5double b = (double) a/2; // hasilnya 2.5
Keyword, Variabel, dan Tipe Data (11)
Menampilkan Data VariabelUntuk mengeluarkan nilai dari variabel yang diinginkan, kita dapat menggunakan perintah sebagai berikut :– System.out.println() – System.out.print()
Apa yang membedakan diantara perintah System.out.println() and System.out.print()? Yang pertama menambahkan baris baru pada akhir data untuk dikeluarkan, sementara selanjutnya tidak.
Keyword, Variabel, dan Tipe Data (12)
Perhatikan pernyataan tersebut, • System.out.print("Hello "); • System.out.print("world!");
Pernyataan tersebut akan menghasilkan output berikut ini pada layar :
Hello world!
Sekarang perthatikan pernyataan berikut, • System.out.println("Hello "); • System.out.println("world!");
Pernyataan ini akan menghasilkan output sebagai berikut pada layar,
Hello world!
Operator dan Ekspresi (1)
Operator Aritmatika+ penjumlahan 3+4- pengurangan 7-5* perkalian a*b/ pembagian c/d% sisa pembagian 8%3
Operator dan Ekspresi (2)
Operator Penugasanx=y=z=0; variabel x,y,z semua diberi
nilai 0x += y; x = x + yx -= y; x = x – yx *= y; x = x * yx /= y; x = x / yx %=y; x = x % y
Operator dan Ekspresi (3)
Operator Increment dan Decrement
Operator dan Ekspresi (3)Lazimnya dalam Pascal ditulis dengan
a := a + 1;Namun dalam Java lazimnya ditulis
a++; // walaupun a = a + 1; juga bisa dipakai
Cth :1. a++
int i = 10; int a = 3; int k = 0; k = a++ + i; //akan menghasilkan k = 3+10 = 13
Operator dan Ekspresi (4)
2. ++aint i = 10; int a = 3; int k = 0; k = ++a + i; //akan menghasilkan k = 4+10 = 14
3. a- - ??4. --a ??
Operator dan Ekspresi (5)
Operator Relasi
Operator dan Ekspresi (6)
Operator Logika Operator logika memiliki satu atau lebih operand
boolean yang menghasilkan nilai boolean.Ada enam operator logika yaitu: && (logika AND), & (boolean logika AND), || (logika OR), | (boolean logika inclusive OR), ^ (boolean logika exclusive OR), dan ! (logika NOT).
Operator dan Ekspresi (7)
Operator Simbol
AND && dan &
OR || dan |
XOR ^
NOT !
Operator dan Ekspresi (8) Perbedaan dasar antara operator && dan & adalah
bahwa && mensupports short-circuit evaluations (atau evaluasi perbagian), sementara operator & tidak.
&& akan mengevaluasi pernyataan exp1, dan segera mengembalikan nilai false dan menyatakan bahwa exp1 bernilai false. Jika exp1 bernilai false, operator tidak akan pernah mengevaluasi exp2 karena hasil operasi operator akan menjadi false tanpa memperhatikan nilai dari exp2. Sebaliknya, operator & selalu mengevaluasi kedua nilai dari exp1 dan exp2 sebelum mengembalikan suatu nilai jawaban.
Demikian pula dengan operator || dan |
Operator dan Ekspresi (9)
Operator dan Ekspresi (10)
Operator Kondisi (?:) operator kondisi ?: adalah operator ternary. Hal ini berarti
bahwa operator ini digunakan dalam tiga bentuk pernyataan kondisional argumen yang digunakan bersama-sama. Struktur pernyataan yang menggunakan operator kondisi adalah,
exp1?exp2:exp3 Dimana nilai exp1 adalah suatu pernyataan boolean yang
memiliki hasil yang salah satunya harus berupa nilai true atau false.
Jika exp1 bernilai true, exp2 merupakan hasil operasi . Jika bernilai false, kemudian exp3 merupakan hasil operasinya.
Operator dan Ekspresi (11)
Input Dari Keyboard (1)
Java menyediakan dua peralatan standard untuk melakukan operasi input-output, yaitu : System.in (keyboard) sebagai peralatan
input System.out (monitor) sebagai peralatan
output
Input Dari Keyboard (2)Java mempersyaratkan operasi input-output berada
di antara instruksi exception try { } catch { }, untuk memastikan reliabilitas dari program, sehingga ketika ada hambatan dari peralatan input-output maka program tidak berhenti di tengah jalan menunggu perbaikan peralatan tetapi akan melewati input-output yang bermasalah dengan sebuah kesalahan tertentu yang dinyatakan dalam eksepsi.
Jadi, kode dalam try { } akan mencoba peralatan input-output, bila ada masalah maka eksepsi yang ditulis pada catch { } akan dilaksanakan/ditayangkan
Input Dari Keyboard (3)
Cara input dari keyboard yang dibahas terdiri dari 2 (dua) yaitu Tanpa menggunakan libraries (dikhususkan
pada pembacaan karakter) Menggunakan libraries
Input mode console menggunakan paket java.io
Input mode visual (GUI) menggunakan paket javax.swing
Input Dari Keyboard (4) Tanpa menggunakan libraries (pembacaan
karakter)Cth pembacaan dengan satu karakter :class bacaHuruf {
public static void main(String[] args) {char input = (char) -1;try {
input = (char) System.in.read();}catch (Exception e) {System.out.println(“error “ + e);)}
}
Input Dari Keyboard (5)
Menggunakan libraries (1)• Input mode console
Mengunakan paket java.io dengan menambahkan import java.io.* sebelum public class utama.Cth class yang dipakai dalam membaca input string
1. new DataInputStream(..)2. new BufferedReader(new InputStreamReader(..)3. dll
Input Dari Keyboard (6)
Menggunakan libraries (2)• Input mode visual
Terdapat 2 mode visual yang digunakan yaitu1. GUI klasik (menggunakan import.java.awt.*
dan applet) awt (abstract window toolkit)2. GUI modern (menggunakan
import.javax.swing.*)
Input Dari Keyboard (7)
Konversi InputInput yang masuk melalui keyboard akan selalu dibaca tipe data karakter (char) atau kalimat (string). Untuk mengkonversinya diperlukan kode-kode tertentu yaitu:
Input Dari Keyboard (8)
String ke intMisalkan input dari keyboard dinyatakan dengan a, maka
i. int angka = 0;string a = “ ”;angka = Integer.parseInt(a);
ii. int angka = 0;string a = “ ”;angka = Integer.valueOf(a).intValue();
Input Dari Keyboard (9)
String ke floatMisalkan input dari keyboard dinyatakan dengan a, maka
i. float angka ;string a = “ ”;angka = Float.parseFloat(a);
ii. float angka ;string a = “ ”;angka = Float.valueOf(a).floatValue();
Input Dari Keyboard (10)
String ke doubleMisalkan input dari keyboard dinyatakan dengan a, maka
i. double angka ;string a = “ ”;angka = Double.parseDouble(a);
ii. double angka ;string a = “ ”;angka = Double.valueOf(a).doubleValue();
Instruksi Seleksi atau Pernyataan Berkondisi (1)Pada instruksi seleksi dan penyataan
berkondisi akan memuat Operator RelasiOperator Logika
Operator – operator tersebut akan dipadukan dengan instruksi seleksi (if/else) dan instruksi selektif multialternatif (switch)
Instruksi Seleksi atau Pernyataan Berkondisi (2)Pernyataan if/else
Pernyataan if merupakan pernyataan berkondisi yang digunakan untuk memilih alternatif berdasarkan suatu persyaratan. Apabila persyaratan dipenuhi maka suatu alternatif dikerjakan dan bila tidak dipenuhi maka alternatif lain yang dikerjakan.
Instruksi Seleksi atau Pernyataan Berkondisi (3)
Secara garis besar digambarkan sebagai berikut :if (kondisi/persyaratan)
{//Blok pernyataan yang dijalankan kalau kondisi benar
}else
{//Blok pernyataan yang dijalankan kalau kondisi salah
}
Instruksi Seleksi atau Pernyataan Berkondisi (4)
Apabila kondisi/persyaratan lebih dari 2 dapat digunakan if bersarang (nested if). Secara garis besar dapat digambarkan sebagai berikut :
if (kondisi/persyaratan){//Blok pernyataan yang dijalankan kalau kondisi benar}
Else if (kondisi/persyaratan)
{//Blok pernyataan yang dijalankan kalau kondisi pertama salah}
Elseif (kondisi/persyaratan)
{ … }Else
{ … }
Instruksi Seleksi atau Pernyataan Berkondisi (5) Kesalahan umum ketika menggunakan statement
if-else:1. Kondisi pada statement if bukan merupakan nilai
boolean. Cth : int number = 0;
if (number) {…}2. Menggunakan = daripada == untuk operator
perbandingan. Cth : int number = 0;
if (number = 0) {…} //salahif (number == 0 ) {…} //benar
3. Menulis elseif daripada else if.
Instruksi Seleksi atau Pernyataan Berkondisi (6)Pernyataan Switch
Fungsi switch hampir sama dengan if bersarang (nested if) digunakan untuk memilih berdasarkan banyak pilihan/alternatif di mana dari masing-masing pilihan akan menghasilkan pernyataan atau aksi yang berlainan sesuai pilihan yang dilakukan.
Fungsi switch lebih tepat digunakan untuk kondisi/persyaratan tunggal tanpa operator logika, operator relasi ‘==‘ dan lebih dari satu kondisi/persyaratan sejenis
Instruksi Seleksi atau Pernyataan Berkondisi (7)
Secara garis besar dapat digambarkan sebagai berikut :
switch (ekspresi) {case nilaiSatu : Pernyataan – 1; Break;case nilaiDua : Pernyataan – 2; Break;case nilaiTiga : Pernyataan – 3; Break;case nilaiEmpat : Pernyataan – 4;
Break;…default : pernyataan lain; Break;
Untuk menghindari program mengeksekusi statement pada case berikutnya, kita menggunakan statement break sebagai statement akhir.
String (1)
Menggabungkan StringCth :String kata1 = “Teknik ”;String kata2 = “Informatika”;String katagabung = kata1+kata2;
Mencek Awal dan Akhir StringCth :String kalimat = "Awal dari String";boolean cek1,cek2;cek1 = kalimat.startsWith("awal");cek1 = kalimat.endsWith(“String");
String (2)Membandingkan String
Cth :String kata1 = “STMIK JURUSAN TI”;String kata2 = “stmik jurusan ti”.toUpperCase();String cek = kata1.equals(kata2)?”sama”:”tidaksama”;
Membandingkan String (2)Pola : <variabel 1>.compareTo(<variabel 2>) compareTo akan menghasilkan negatif ( < 0 ) bila variabel
1 lebih kecil dari variabel 2 compareTo akan menghasilkan positif ( > 0 ) bila variabel 1
lebih besar dari variabel 2 compareTo akan menghasilkan netral/sama ( = 0) bila
variabel 1 sama dengan variabel 2
String (3)
Mendapatkan Panjang StringCth :
String panjang = “Ini panjangnya 17”;
System.out,println(panjang.length());
Mendapatkan Substring dari StringCth :
String kalimat = “Teknik Informatika WD”
String sub1 = kalimat.subString(4);
String sub2 = kalimat.subString(4,10);
Pola :subString(int posisiawal)subString(int posisiawal, int posisiakhir)
String (4)
Memodifikasi StringCth 1:
String kalimat = “Ini-String-awal”;
String kalimatbaru = kalimat.replace(‘-’,’ ‘);
Cth 2:
String kalimat = “ String lain “;
String kalimatbaru = kalimat.trim();
Pengertian Array
• Array adalah nama sekumpulan variabel yang memiliki tipe data yang sama.
• Array menggunakan indeks integer untuk menentukan urutan elemen-elemennya.
• Elemen pertama array memiliki indeks 0, elemen kedua memiliki indeks 1, elemen ketiga memiliki indeks 2, dan seterusnya.
Deklarasi Array (1)<tipe data><dimensi array><identifier/variabel>
Array 1 dimensi<tipe data>[] <identifier/variabel>Cth :– Int[] bilangan atau Int bilangan[]– String[] nama– char[] karakter
Array 2 dimensi<tipe data>[][] <identifier/variabel> Cth :– Int[][] bilangan atau Int bilangan[][]– String[][] nama– char[][] karakter
Deklarasi Array (2)
Array Multidimensi
<tipe data>[][][] <identifier/variabel>
Cth :– Int[][][] bilangan atau Int bilangan[][][]
– char[][][] kata
Mendefinisikan Array
• Mendefinisikan array dapat dilakukan dengan berbagai cara :Int[] a = new Int[100];
Angka 100 menunjukkan variabel a dapat menyimpan 100 nilai integer yang dapat diakses melalui indeks 0 sampai indeks ke 99. Namun jika didefinisikan demikian, variabel a belum memiliki nilai.
Int[] a = {0,2,5,6,7,8,3,6,9,2}
Pengaksesan Sebuah Elemen Array
• Misalnya : Int[] b = {0,2,5,6,7,8,3,6,9,2}b[0] = 0b[1] = 2b[2] = 5b[3] = 6b[4] = 7b[5] = 8b[6] = 3b[7] = 6b[8] = 9b[9] = 2
Panjang Array• Untuk mengetahui banyaknya elemen dari array dapat
dilakukan dengan cara. Misal : public class contoharray {
public static void main( String[] args ){ int[] umur = new int[100]; for( int i=0; i<umur.length; i++ ){ System.out.print( umur[i] ); }
} } //umur.length = 100
Membuat Array Karakter dari String
• Metode yang dapat dipakai :toCharArray()
Misal : String teks = “Koq gitu sih”;char[] arrayteks = teks.toCharArray();
getChars(posisi awal, posisi akhir, variabel baru, posisi indeks pertama untuk menyimpan karakter pertama dalam integer)
Misal :String teks = “Koq gitu sih”;char[] karakter = new char[4];Teks.getChars(4,8,karakter,0);
Mendapatkan String dari Array Karakter• Metode yang dipakai :
copyValueOf()Misal :char[] nama = {‘T’,’U’,’K’,’I’,’Y’,’E’,’M’};String teks = String.copyValueOf(nama);
Pemrograman Berorientasi Objek“Konsep OOP (Object Oriented
Programming)”
Sekolah Tinggi Manajemen Informatika dan Komputer
WIDYA DHARMA
Class dan Objek (1)
Paradigma Objeko Paradigma adalah suatu cara pandang atau cara
berpikir.o Paradigma objek dapat diartikan cara pandang
yang memandang segala sesuatu sebagai objek.
ClassSecara sederhana, komponen class dalam JAVA adalah :class NamaClass{
data member/variabel/field…konstruktor…method/behavior/aksi/fungsi…
}
Class dan Objek (2)
Komponen Class
Data member/variabel/fieldBerisikan tipe data yang disertai nama variabel.Cth : String kalimat;
KonstruktorCara khusus untuk membangun atau memanggil objek dari definisi class.
Method/behavior/aksi/fungsiKomponen yang memberikan nilai atau keluaran jika menerima parameter sebagai input datanya.
Access AttributeAttribute Hak Akses
tidak disebutkan dari class dalam package sama
Public dari class di mana sajaPrivate tidak dapat diakses dari luar
class Protected dari class dalam package sama
dan sub class
Contoh penggunaan access attribute :
private String kata;
protected int tinggi;
public double angka;
Istilah Lain
Static : dapat diakses secara langsung tanpa perlu membuat objek.
Data Member/Variabel/Field (1)
• Dalam class terdapat 2 (dua) macam variabel yaitu :instance variabel
Variabel kosong yang dapat diisi dengan nilai yang berbeda-beda.
class variabelVariabel yang memiliki nilai yang dapat di-share atau digunakan oleh setiap objek di mana nilai variabel yang diakses oleh setiap objek adalah sama.
Data Member/Variabel/Field (2)
• Pendeklarasian variabel bisa dilakukan dengan berbagai cara :String kata;static String kata = “Mobil”;private String kata;public String kata;private static String kata = “Mobil”;
Konstruktor (1)
• Aturan deklarasi konstruktor :Konstruktor harus dinamai sama dengan nama
classKonstruktor dapat didefinisikan lebih dari satu
dalam satu classKonstruktor dapat didefinisikan tanpa parameter
atau dengan satu maupun banyak parameterKonstruktor tidak mengembalikan nilaiKonstruktor dipanggil dengan operator new
Konstruktor (2)
• Contoh pemanggilan konstruktor :Namaclass objekbaru = new Namaclass();Namaclass objekbaru = new Namaclass(tipedata
parameter1, tipedata parameter2, …);
Method (1)
• Struktur dasar method :<Tipedata yang dikembalikan> namamethod(tipedata parameter1,…, tipedata parameterN)
Method (2)
• Tiga komponen method adalah :Tipe data yang dikembalikan
Apabila method mengembalikan String maka mengawali definisi method dengan String dan apabila method tidak mengembalikan nilai sama sekali maka kita menggunakan keyword void.
namamethodParameter
Tidak harus berparameter, namun jika berparameter harus didahului tipe data dan diakhiri variabel
Method (3)
• Contoh pendeklarasian method :void setgaji(double gajinya)
{gaji = gajinya;}
double getgaji(){return gaji;}
Enkapsulasi
• Enkapsulasi merupakan aspek pemrograman berorientasi objek yang berguna untuk menyembunyikan informasi class dari luar (data hiding) di mana kita tidak dapat mengubah atau mengakses data member atau variabel secara langsung.
• Jadi, untuk menerapkan enkapsulasi, data member/variabel perlu dideklarasikan dengan private dan deklarasi method-method untuk mendapatkan nilai dari variabel.
Inheritance / Pewarisan
Inheritance adalah proses pewarisan data dan method dari satu kelas kepada kelas yang lain.
Pewarisan ini bersifat menyeluruh, sehingga semua data dan method yang dimiliki oleh kelas utama akan diturunkan kepada kelas baru.
Kelas yang mewariskan disebut Kelas Super (Super Class)/ Kelas Induk.
Kelas yang diwariskan disebut subkelas (Sub Class)/Kelas Anak.
Inheritance (2)
Mengapa menggunakan inheritance?1. Bersifat reusable2. Kemudahan dalam me-manage kelas yang
memiliki data member dan method yang sama.
Inheritance (3)
Overriding Data dan Method 1. Overriding adalah kemampuan suatu subkelas
untuk memodifikasi data member dan method dari kelas induknya.
2. Tujuan utamanya adalah melakukan tambahan atau perubahan jika kelas Super tidak memiliki method khusus yang dimiliki sub kelas
Inheritance (4)
Keyword yang sering dipakai :1. extends
Fungsi : menyatakan bahwa suatu kelas merupakan perluasan dari kelas Induk.
2. superFungsi : memanggil konstruktor yang ada pada kelas Induk.
Polimorfisme
• Polimorfisme : kemampuan dari suatu variabel referensi objek untuk memiliki aksi/method yang berbeda bila method yang sama dipanggil, di mana aksi method tergantung dari tipe objeknya.