pengenalan java -...

66
PENGENALAN JAVA Pemrograman Berbasis Objek

Upload: others

Post on 29-Oct-2020

46 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

PENGENALAN JAVA Pemrograman Berbasis Objek

Page 2: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

SEJARAH SINGKAT Perkembangan Java

Page 3: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Java

• Asal mula Java :

• Tim sun Microsystems thn 1991 code name Oak

• thn 1995 Java

• Bahasa pemrograman java yang telah dirilis adalah:

1. Produk Sun Microsystem : J2SE, J2ME, J2EE

2. Produk Borland : Borland JBuilder

3. Produk Microsoft : Microsoft Visual J/J++

Page 4: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Java

Proyek Java dimulai pada tahun 1991

• Sejumlah insinyur perusahaan Sun yang dimotori oleh

James Gosling mempunyai keinginan untuk mendesain

sebuah bahasa komputer kecil yang dapat dipergunakan

untuk peralatan konsumen seperti kotak tombol saluran

TV.

• Proyek ini kemudian diberi nama sandi Green.

Page 5: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Java

Keharusan untuk membuat bahasa yang kecil dan kode

yang ketat

• Mendorong mereka untuk menghidupkan kembali model

yang pernah dicoba oleh bahasa UCSD Pascal, yaitu

mendesain sebuah bahasa yang portable yang

menghasilkan kode intermediate.

• Kode intermediate ini kemudian dapat digunakan pada

banyak komputer yang interpreternya telah disesuaikan.

Page 6: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Java

Karena orang-orang Sun memiliki latar belakang sebagai pemakai unix

• lebih menggunakan C++ sebagai basis bahasa pemrograman mereka, maka mereka secara khusus mengembangkan bahasa yang berorientasi objek bukan berorientasi prosedur.

• Gosling : ”Secara keseluruhan, bahasa hanyalah sarana, bukan merupakan tujuan akhir”.

• Gosling memutuskan menyebut bahasanya dengan nama “Oak” (diambil dari nama pohon yang tumbuh tepat diluar jendela kantornya di Sun), tetapi kemudian nama Oak diubah menjadi Java, karena nama Oak merupakan nama bahasa komputer yang sudah ada sebelumnya.

Page 7: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

KELEBIHAN &

KARAKTERISTIK Bahasa Pemrograman Java

Page 8: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Kelebihan Java

• Portable dan platform independent

• Garbage collection

• Menghilangkan pewarisan berganda pada C++

• Mengurangi pointer aritmatik -> java : reference

• Array sejati

• Mengurangi kerancuan antara pemberian nilai pada

statemen kondisional. Contoh : „=„ dgn „==„ pada kondisi if

Page 9: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Karakteristik Java

1. Sederhana (Simple)

2. Berorientasi Objek (Object Oriented)

3. Terdistribusi (Distributed)

4. Kuat (Robust)

5. Aman (Secure)

6. Netral Arsitektur (Architecture Neutral)

7. Portabel (Portable)

8. Interpreter

9. Kinerja Yang Tinggi (High Performance)

10. Multithreaded

11. Dinamis

Page 10: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Sederhana (Simple)

Syntax untuk Java seperti syntax pada C++ tetapi syntax

Java tidak memerlukan :

• header file

• pointer arithmatic (atau bahkan pointer syntax)

• struktur union

• operator overloading

• class virtual base

• dan yang lainnya.

Page 11: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Berorientasi Objek (Object Oriented)

• Feature pemrograman berorientasi objek pada Java

sebanding dengan C++.

• Perbedaan utama antara Java dengan C++ terletak pada

penurunan berganda (multiple inheritance), untuk ini Java

memiliki cara penyelesaian yang lebih baik.

Page 12: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Terdistribusi (Distributed)

• Java memiliki library rutin yang luas untuk dirangkai pada

protokol TCP/IP sepetrti HTTP dan FTP dengan mudah.

• Aplikasi Java dapat membuka dan mengakses objek

untuk segala macam NET lewat URL sama mudahnya

seperti yang biasa dilakukan seorang programmer ketika

mengakses file sistem secara lokal.

Page 13: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Kuat (Robust)

• Perbedaan utama antara Java dan C++ adalah Java

memiliki sebuah model pointer yang mengurangi

kemungkinan penimpaan (overwriting) pada memory dan

kerusakan data (data corrupt).

Page 14: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Aman (Secure)

• Java dimaksudkan untuk digunakan pada jaringan

terdistribusi. Sebelum sampai pada bagian tersebut,

penekanan terutama ditujukan pada masalah keamanan.

• Java memungkinkan penyusunan program yang

• bebas virus

• sistem yang bebas dari kerusakan.

Page 15: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Netral Arsitektur (Architecture Neutral)

• Kompiler membangkitkan sebuah format file dengan

objek arsitektur syaraf.

• Program yang di kompile dapat dijalankan pada banyak

prosesor, disini diberikan sistem run time dari Java.

• Kompiler Java melakukannya dengan membangkitkan

instruksi-instruksi kode byte yang tidak dapat dilakukan

oleh arsitektur komputer tertentu.

• Java dirancang untuk mempermudah penerjemahan pada

banyak komputer dengan mudah dan diterjemahkan pada

komputer asal pada saat run-time.

Page 16: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Portabel (Portable)

• Tidak seperti pada C dan C++, di Java terdapat

ketergantungan pada saat implementasi (implement

dependent). Ukuran dari tipe data primitif ditentukan,

sebagaimana kelakuan aritmatik padanya.

• Librari atau pustaka merupakan bagian dari sistem yang

mendefinisikan interface yang portabel.

Page 17: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Interpreter

• Interpreter Java dapat meng-eksekusi kode byte Java

secara langsung pada komputer-komputer yang memiliki

interpreter.

• Proses linking dalam Java merupakan proses yang

kenaikannya tahap demi tahap dan berbobot ringan,

maka proses pengembangan dapat menjadi lebih cepat

dan masih dalam penelitian.

Page 18: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Kinerja yang Tinggi (High Performance)

• Kode byte dapat diterjemahkan (pada saat run-time) ke

dalam kode mesin untuk CPU tertentu dimana aplikasi

sedang berjalan.

Page 19: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Multithread

• Multithreading adalah kemampuan sebuah program untuk

melakukan lebih dari satu pekerjaan sekaligus.

• Keuntungan dari multithreading adalah sifat respons yang

interaktif dan real-time.

Page 20: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Dinamis

• Java dirancang untuk beradaptasi dengan lingkungan

yang terus berkembang.

• Librari dapat dengan mudah menambah metode dan

variabel contoh yang baru tanpa banyak mempengaruhi

klien.

• Informasi run-time dalam Java adalah langsung

(straigtforward).

Page 21: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

JAVA DAN C++ Bagaimana Java lebih baik dari C++

Page 22: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Java dan C++

• Prinsip dasar pembuatan Java adalah karena C++

ternyata tidak memenuhi janji sebagai pemrograman

berorientasi objek.

Jadi apa yang salah dari C++ sehingga Java harus dibuat ?

Kompatibilitas ke belakang ( backward compability).

Page 23: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Java dan C++

• Kompabilitas kebelakang biasanya dikenal sebagai

kemampuan yang menjamin keberhasilan dengan

membuat programmer belajar dengan cepat.

• Java menggunakan hampir semua konvensi yang identik

untuk :

• deklarasi variabel

• melewatkan parameter

• operator

• pengaturan aliran.

Page 24: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Java dan C++

• Java jauh lebih baik dari C++ karena hal-hal yang tidak dimilikinya, seperti beberapa contoh berikut:

a) Variabel Global

b) Goto

c) Pointer

d) Alokasi Memori

e) Tipe Data Yang Rapuh

f) Pemilihan Tipe (Type Casting) yang Tidak Aman

g) Daftar Argumen Yang Tidak Aman

h) File Header yang Terpisah

i) Struktur yang Tidak Aman

j) Peng-hacker-an Preprocessor

k) QED

Page 25: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Variabel Global

C++

• Tanda sebuah program

yang tidak dirancang

cukup baik untuk

enkapsulasi data dengan

cara yang masuk akal.

JAVA

• Ruang penamaan global hanya hirarki class. Tidak mungkin menciptakan variabel global diluar semua class.

• Contoh, system.out.println() sering digunakan dalam program Java.

• Cara mengakses output standar global untuk interpreter Java.

Page 26: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

GOTO

C++

• Dikenal if-then-goto

• Goto sering digunakan

untuk membuat

perulangan di dalam

keadaan eksepsi

JAVA

• Tidak memiliki pernyataan

goto.

• Menyediakan kata goto

hanya untuk menjaga agar

programmer tidak bingung

menggunakannya

• Memiliki bagian break yang

diberi label dan pernyataan

continue yang merupakan

bagian dimana goto boleh

dipergunakan

Page 27: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Pointer

C++

• Biasanya kesalahan

terjadi karena “kurang

satu tempat” atau

rusaknya data yang

disimpan karena lokasi

memori terakhir hancur -

susah untuk diperiksa dan

ditelusuri.

JAVA

• Tidak memiliki

kemampuan

memanipulasi pointer

secara langsung.

• Kita tidak dapat

mengubah integer

menjadi pointer, menunjuk

ulang sembarang address

memori.

Page 28: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Alokasi Memori

C++

• Manajemen memori di C dan C++ diwujudkan dengan keunggulan dan kelemahan fungsi library malloc() dan free().

• Secara umum dapat menyebabkan kebocoran memori yang mengakibatkan program berjalan semakin lama semakin lambat.

JAVA

• Dialokasikan dengan

operator new, yang

mengalokasikan ruang

untuk objek pada „heap‟

memori.

• ‘heap’ berupa kumpulan

instans (instance) objek.

Page 29: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Tipe Data yang Rapuh

C++

• C++ mewarisi semua tipe

data umum pada C.

• Tipe-tipe ini mewakili

bilangan bulat dan

pecahan dengan berbagai

rentang nilai dan

ketelitian.

• Bergantung pada

implementasi

kompilernya.

JAVA

• Mengambil ukuran yang

sesuai untuk semua tipe

numerik dasar dan

menyatukannya.

• Menjamin hasil yang

dapat dibuat ulang pada

platform hardware yang

berbeda

Page 30: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

JAVA

Page 31: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Java

• Java/Standard Development Kit (JDK/SDK) merupakan

alat‐alat utama bagi programmer untuk membuat dan

menjalankan java.

• Development Kit dapat didownload di website resmi

oracle.

Page 32: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Komponen JDK

• compiler(javac),

• interpreter(java) disebut juga java virtual machine atau

java runtime environment,

• applet viewer(appletviewer),

• debugger(jdb),

• java class library(jcl),

• header dan stub generator(javah),

• java documentation(javadoc).

Page 33: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Komponen JDK

1. Kompilator (javac)

Bertugas untuk melaksanakan kompilasi *.java menjadi

*.class

Syntax umum : javac nama_file.java

2. Interpreter (java)

Bertugas untuk menjalankan bytecode (*.class)

Syntax umum : java nama_file.class

3. Applet Viewer

Digunakan untuk menjalankan applet viewer, namun

sekarang sudah digantikan browser.

Syntax umum : appletviewer nama_file.html

Page 34: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Komponen JDK

4. Java Debugger

Bertugas untuk melakukan debugging aplikasi java.

Syntax umum : jdb option

5. Java Class File Diassembler (javap)

Bertugas membuat daftar method dan attribute public dari

suatu kelas.

Syntax : javap namaKelas

6. Java Header and Stub Generator

Bertugas menerjemahkan bahasa yang ditulis dalam

bahasa Java menjadi bahasa pemrograman C.

Syntax umum : javah namaKelas

Page 35: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Komponen JDK

7. Java Documentation Generator

Menampilkan pustaka kelas, interface, constructor, dan

method standard yang telah dibuat vendor. Dari hasil

instalasi, dokumentasi ini dapat dilihat di pada

C:\java\docs\api\index.html dan dari hasil instalasi

Netbeans, dapat dilihat pada C:\Program

Files\NetBeans3.6\doc\junit\index.html

8. Source Code Java API

Source code ini dapat diperoleh dari file src.zip.

Page 36: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

• Untuk pemrogram pemula, lingkungan pemrograman java

dapat diringkas menjadi:

• Editing source code menggunakan editor teks, seperti

Notepad atau TextPad

• Compiling menggunakan keyword javac melalui

command promp (dapat juga dari editor teks seperti

TextPad).

• Executing menggunakan :

1. Command prompt untuk java application (atau dari

editor teks TextPad)

2. Browser atau appletviewer untuk java applet.

Page 37: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Pemrograman Java

• Baris‐baris program dalam java harus ditulis dalam lingkup class

• Contoh program pendek untuk menampilkan tulisan “Belajar Java” di layar monitor :

• Program di atas disimpan dengan nama file Latihan1.java. Penamaan ini mengikuti aturan bahwa nama file = nama class.

Page 38: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Token

• Adalah elemen terkecil di program yang masih memiliki

arti

• Lima token dalam bahasa java yaitu :

1. identifier

2. keyword

3. literal dan tipe data

4. operator

5. separator

Page 39: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Identifier

Adalah token yang merepresentasikan nama sesuatu

(variabel, atau konstanta, atau method, atau kelas, atau

package, atau interface)

Page 40: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Keyword dalam Java

Page 41: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Literal dan Tipe Data Primitif

• Adalah nilai variabel/attribute atau nilai konstanta atau

nilai objek data.

• Tiga besaran literal dalam java yaitu angka, karakter, dan

string.

• Angka terdiri dari byte, short, int, long, float, double, dan

boolean (dianggap angka true = 1 atau false = 0).

Page 42: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Deklarasi Variable dan Konstanta

Bentuk umum :

• TipeData namaVar = ungkapan_atau_nilai;

• TipeData namaVar1, namaVar2, …;

• [modifier] static final TipeData NAMAKONSTANTA = nilai;

Contoh deklarasi :

• float f1= 0.13f;

• double a=3, b=4;

• double c = Math.sqrt(a*a+b*b);

• static final PHI=3.14;

• static final double CM_PER_INC = 2.54;

Page 43: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Tipe Data

• Java merupakan contoh bahasa yang strongly typed

language.

• Hal ini berarti bahwa setiap variabel harus memiliki tipe

yang sudah dideklarasikan.

• Terdapat 8 tipe primitif :

a) 6 diantaranya adalah tipe bilangan

• 4 tipe integer

• 2 tipe floating point

b) 1 tipe karakter char, digunakan untuk encode Unicode

c) 1 tipe boolean.

Page 44: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Integer

Page 45: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Floating Point

Page 46: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Char

• Tipe char menggunakan tanda kutip tunggal untuk menyatakan suatu

char.

• Tipe char juga menyatakan karakter dalam upaya encoding unicode,

yang merupakan kode 2 byte.

• Karakter unicode paling sering dinyatakan dalam istilah skema

pengkodean hexadesimal yang dimulai dari \u0000 sampai \uFFFF.

• Selain karakter bebas (escape „ \u „) yang menyatakan karakter

unicode di Java terdapat juga

Page 47: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Boolean

• Tipe boolean memiliki nilai true (1) dan false (0).

• Tipe ini digunakan untul logical testing dengan

menggunakan operator relasional.

Page 48: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Casting

• teknik konversi secara eksplisit, yaitu menerangkan kepada kompiler bahwa terjadi perubahan tipe variabel, sehingga hasilnya harus dikonversi ke tipe variabel baru tersebut.

• Contoh :

int i;

double d;

byte b;

i = 250;

d = i; //tidak error,penyesuaian otomatis

b = i; //error, tipe tidak kompatible

Seharusnya : b = (byte) i; <- eksplisit cast

Page 49: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Promosi

• Promosi tipe pada ekspresi dilakukan oleh Java secara

otomatis bila konversi dari satu tipe variabel dgn

kapasitas byte yg lebih kecil ke tipe variabel lain dgn

penempatan byte (kapasitas) yg lebih besar

• Contoh :

int i;

byte b = 100;

i = b + 50; // otomatis tipe b+50

// menjadi integer

Page 50: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Konversi Antar Nilai Numerik

Operasi biner apapun pada variabel numerik dengan tipe

yang berbeda dapat diterima dan diperlakukan dengan

cara seperti dibawah ini :

1. Jika tipe operand adalah double, maka yang lain juga

akan diperlakukan sebagai double pada lingkup operasi

tersebut.

2. Jika operand adalah float, maka yang lain juga akan

diperlakukan sebagai float.

3. Jika operand adalah long, maka yang lain juga akan

diperlakukan sebagai long.

Page 51: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Konversi Antar Nilai Numerik

• Konversi yang diijinkan adalah sebagai berikut :

byte → short → int → long → float → double

• Dimana kita dapat memberikan nilai variabel suatu tipe

disebelah kiri ke tipe disebelah kanannya.

Page 52: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Operator

Operator melakukan komputasi terhadap satu/dua objek

data(operan).

Operan yang dioperasikan dapat berupa literal, variabel,

atau nilai yang dikirim method.

Page 53: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Assignment Operator ( = )

Page 54: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Arithmetic Operator ( = )

Page 55: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Bitwise Operator

Page 56: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Unary Operator

Page 57: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Relational Operator

Page 58: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Logical Operator

Page 59: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Tabel Hirarki Operator

Page 60: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Separator

• Separator menginformasikan ke compiler java mengenai

adanya kelompok kode program

Page 61: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Keyword Break, Continue, Return

Merupakan kendali jump (variasi lain dari goto), sehingga

berakibat pengabaian sisa instruksi

Page 62: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Keyword Break

• Untuk keluar dari kendali percabangan switch, dan untuk keluar dari kendali perulangan

Contoh :

public class contohBreak {

public static void main(String args[]) {

int i = 0;

do {

i++;

System.out.println(i);

if (i==5) break;

} while (i <= 9)

}

}

Page 63: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Keyword Continue

• Untuk segera lompat ke perulangan berikutnya.

• Pernyataan‐pernyataan setelah keyword continue dalam blok perulangan saat itu berarti diabaikan.

Contoh : public class contohContinue {

public static void main(String args[]) {

int i=0;

do {

i++;

if (i==3) continue;

System.out.println(”iterasi ke : “+i);

if (i==5) break;

} while(i <= 9);

}

}

Page 64: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Keyword Return

• Untuk keluar dari suatu method

Contoh cuplikan program :

int abs(int x) {

if (x >= 0)

return x;

else

return(-x)

. . .

}

}

Page 65: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

LATIHAN

Page 66: Pengenalan Java - ardisa_pramudhita.staff.gunadarma.ac.idardisa_pramudhita.staff.gunadarma.ac.id/Downloads/... · Netral Arsitektur (Architecture Neutral) •Kompiler membangkitkan

Latihan

1. Sebutkan komponen‐komponen yang terdapat dalam

Java Development Kit!

2. Apa yang dimaksud dengan token dan identifier?

3. Sebutkan kegunaan dari operator, separator, keyword

break dan keyword continue.

4. Buatlah program yang menampilkan tulisan :

Belajar java memang mudah

Jika dilakukan dengan tekun

5. Buatlah contoh program lain yang menggunakan

keyword break dan continue.