belajaroracle.combelajaroracle.com/oai/java_fund/materi_java_fundamental.docx · web viewjava...

29
Java Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan dibanyak di operating sistem) slogan java: WORA Write One Run Anywhere Non java Java Source code -> compile -> binary (exe) -> OS Sorce code -> compile -> byte code (portable) -> JVM / JRE -> OS Java edition 1. Java SE (standar edition) : java library dasar, biasanya untuk membuat aplikasi desktop dan consol 2. Java ME (micro edition) : java library yang digunakan untuk membuat aplikasi yang berjalan di embeded device ; ex: EDC, set top box tv cable, projector, modem, router, simcard reader, running text, dll 3. Java EE (entrprise edition) : java library yang digunakan untuk aplikasi web , distributed application, SOA application Keunggulan web app java: 1. Eksekusi lebih cepat (karena bahasa yang tercopile) Compile merubah bahasa manusia menjadi bahasa mesin tapi menjadi sebuah file Parsing merubah bahasa manusia menjadi bahasa mesin yang langsung di parsing d mesin Php: zend engine for parsing -> php.execute -> end (html) Java : Byte code -> JVMM -> end - html 2. Intelectual properti terjaga karena kita tidak perlu memberikan source code ke customer

Upload: others

Post on 04-Nov-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

Java Fundamentalbahasa pemrograman yang mempunyai sifat yang multiplatform.(bisa dijalankan dibanyak di operating sistem)

slogan java: WORA Write One Run Anywhere

Non java JavaSource code -> compile -> binary (exe) -> OS Sorce code -> compile -> byte code (portable) ->

JVM / JRE -> OS

Java edition1. Java SE (standar edition) : java library dasar, biasanya untuk membuat aplikasi desktop dan

consol2. Java ME (micro edition) : java library yang digunakan untuk membuat aplikasi yang berjalan

di embeded device ; ex: EDC, set top box tv cable, projector, modem, router, simcard reader, running text, dll

3. Java EE (entrprise edition) : java library yang digunakan untuk aplikasi web , distributed application, SOA application

Keunggulan web app java:

1. Eksekusi lebih cepat (karena bahasa yang tercopile) Compile merubah bahasa manusia menjadi bahasa mesin tapi menjadi sebuah fileParsing merubah bahasa manusia menjadi bahasa mesin yang langsung di parsing d mesin Php: zend engine for parsing -> php.execute -> end (html)Java : Byte code -> JVMM -> end - html

2. Intelectual properti terjaga karena kita tidak perlu memberikan source code ke customer3. Java mensuppoert clustering agar aplikasi lebih terjamin (tetap bisa jalan 24 x 7 hari)

Clustering : > multiple server yang bisa berjalan di satu kesatuan

Java -> proxy -> server 1, server 2, server 3

Page 2: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

Tujuan clustering

a. Fail over: jaka salah satu server mati maka pekerjaan akan di transfer ke server lain

Php JavaComputer proxy

Jee jee jeeServer1 server2 server3

b. Load balancing: pekerjaan akan dibagi sama rata ke semua serverPembagian beban

c. Scalabilities: meningkatkan kapasitas pemrosesanMeningkatkan kapasitas perosesan

d. Paraller processing /speedup processing (meningkatkan kecepatan sebuah proses)

Distributed app

Tanpa distribusi app Jee dist.appbank

desktop1 desktop2 desktop3logic 1 logic 2 logic 3

Bank

Dist.pp (logic)

Desctop mobile web

SOA (service oriented architecture) : aplikasi yg dibuat dengan bahasa program yang berbeda beda tapi bisa saling berkomunikasi

Contoh: ticket.com/ traveloka

Cara kerja:

Ticket.com > pesawat hari rabu 30 peb tahun xxx ke surabaya

4. Android (java mobile)Java library yang digunakan untuk aplikasi di OS android

Kekurangan java1. Bahasanya rumit2. Kecepatannya lebih lambat jika dibanding bahasa native (C, VB, dll)

Page 3: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

JVM tidak bisa membuat software seperti pendeteksi detak jantungKarena alur proses lebih lambat dibanding dengan binary -> OS sementara java harus ke JVM dulu

Aturan penamaan Java Class1. Di awali dengan huruf besar2. Diikuti huruf kecil3. Kata baru diawali dengan hurf besar4. Diikuti huruf kecil

Contoh:

HelloHelloWorldHelloWorldLagi

Langkah langkah pembuatan java

1. Tulis source code, lalu di save dengan exstensi .java2. Lakukan kompilasi, dengan perintah javac NamaFile.java3. Jika kompilasi berhasil, akan menhasilkan file dengan nama file .class4. Cara eksekusi:

Java NamaFile (.class nya jangan di tulis)

*) file .java jika di compile tidak akan berubah menjadi file .class, tetapi yang akan menjadi .class adalah definisi class di dalam file .java tersebut

Aturan penamaan file source code java1. Jika di dalam file source code ada banyak devinisi class dan tidak ada satu class pun

yang berlabel public maka nama file bebas2. Jika di dalam file source code ada class yang berlabel public maka nama file harus

sama dengan yang public3. Dalam satu source code hanya boleh 1 class berlabel public dan nama file harus

sama dengan class public tersebut

Jenis Java Class1. Main class / Class Utama / Driver Class

Adalah class yang di dalamnya ada function (method) bernama

Page 4: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

“public static void main(String [] x)”class tersebut setelah di compile bisa dijalankan secara mandiri (stand alone). Dengan cara: java NamaFileClass

2. Library ClassAdalah class yang di dalamnya tidak ada method “public static void main..”, class tersebut tidak bisa di jalankan secara mandiri (stand alone), kelas seperti ini biasanaya akan di panggil oleh class yang lain.Di dalam aplikasi dunia nyata biasanya:-Ada bayak library class-Hanya ada satu main class

Type dataJava adalah bahasa yang bersifat strong tipe, artinya sebuah variabel harus ditentukan tipe datanya, dan valuenya (isi variable) harus sesuai dengan dengan tipe data yang telah didefinisikan. Dalam kondisi ini pada PHP sering juga disebut sebagai “loose type” artinya type data tidak perlu di definisikan dan bisa berubah2. Alhasil proses koding lebih mudah namun performa buruk dan security juga buruk pada PHP.

Tipe data pada java

1. Type data primitive (buildin)Adalah tipe data bawaan bahasa java.Cirinya: -nama lower case

-Nama tipe menjadi keyword-Jumlahnya hanya ada delapan(byte, sort, int,long, float, double, char, boolean)

2. Type data object/complex Adalah tipe data bukan built in. Tipe ini bisa di dapat dengan cara:- Dibuat sendiri dari programmer- Didapat dari sebuah library

Ciri:

- penamaan mengikuti aturan penamaan class- nama tipe tidak menjadi keywords- jumlhnya tidak terbatas

1. Type data PrimitifDibagi menjadi 4 keluargaa. Bilangan bulat (tanpa poin desimal, bukan pecahan)

byte (8bit/1byte)

Page 5: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

sort (16bit/2byte) int (32bit/4byte)long (64bit/8byte)-makin besar bit makin panjang range/jangkauannya

Rumus menghitung jangkauan((2^n)-1) / 2 separo negatif - separo positifContoh: byte (8bit)((2^8)-1)/2 = 2^8 =256-1=255/2= -127 - 0 + 127

b. Bilangan pecahan (mengandungn poin desimal)float (32bit/4byte) -max 7 point desimaldouble (64bit/8byte) -max 14 point desimal

c. Karakter tunggalChar (16bit/2byte)Contoh; ‘a’,’b’,’c’

16bit UNICODE (superset ASCII), tujuannya: internationalization support

d. tipe data boolean, true or falsekhusus boolean, di dalam java spec, tidak disebutkan jumlah byte yang dikonsumsi. Hanya disebutkan dengan “platform dependent” (berbeda beda di tiap OS)

Cara Deklarasi Variabel1. tipe nama;

cth: int angka;2. tipe nama=value;

cth: int angka=10;3. tipe nama1,nama2,nama3;

cth: int a,b,c4. tipe nama1, nama2, nama3=value;*

cth: int a,b,c=4; cara no 4, var c berisi 4 sisanya kosong

Aturan Membuat Variable dan Method (function)1. diawali huruf kecil2. diikuti huruf kecil

Page 6: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

3. kata baru diawali huruf besar4. diikuti huruf kecil5. dst...

cth:

uang uangKertasuangKertasBaru

Tipe Data Pecahan

-Di dalam java , literal/value bilangan pecahan, by default selalu bertipe doble /64 bit,-kecuali , jika de belakangnya ditabahkan suffix f, dia akan menjadi bertipe float (32 bit)

Pecahan hanya bisa di pakai pada tipe data double

Float pi=3.14; akan menyebabkan error karena...3.14 merupakan bilangan pecahan dengan tipe data support 64 bit sementara float hanya menampung 32 bit

Untuk memecahakan masalah tersebut, 1. Ubah variable menjadi doble, atau tambah huruf f dibelakang 3.14 menjadi 3.14f

Casting

Adalah proses konversi dari 1 tipe data ke tipe data lainAda 2 jenis

1. jenis implisit (otomatis): cating yang terjadi dari variable bik kecil ke bit besar2. jenis eksplisit(manual): casting yang terjadi dari var bit besar ke bit kecil

String

- Termasuk tipe data object- Adalah sebuah library bawaan javaSE, dengan lengkap java.lang.String- Digunakan untuk menyimpan deretan karakter, dan di apit dengan tanda “ ”

Page 7: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

ArrayAdalah variable yang memilik satu nama seperti variable biasar tetapi bisa menampung banyak value dengan tipe seragam (collection).Biasanya digunakan untuk menampung data dalam jumlah besar.Contoh:

- Gaji pegawai- Daftar nilai siswa

Cara Deklarasi Array1. Type [] nama; cth: int [] nilai;2. Type nama []; cth: int nilai [];

Cara mengisi Array1. Type [] nama = {value1, value2,....}; cth: int [] nilai= {100,80,70};2. Type [] nama = new type[n];

nama = {value1, value2,...,n}; Contoh:Int [] nilai =new int[3];Nilai={100,200,300};

3. Type [] nama;nama=new type [] {value1, value2, ..., valuen};Contoh:int [] nilai;nilai = new int [] {100,200,300,...};

Index arry selalu diawali dengan 0, sedangkan index tertinggi = jumlah elemen -1.Contoh:

int [] nilai = {100,200};Maka: nilai[0] 100

nilai[1] 200

untuk mendapatkan jumlah elemen dari array, caranya dengan mengakses properties yang anamanya “length”.Contoh:

int [] nilai={100,200};int jumlahElement = nilai.length;

Page 8: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

java.lang.ArrayIndexOutOfBoundsException

- adalah error yang terjadi jika kita menakses elemen array melebihi index tetinggi- error ini akan terdeteksi ketika program running, bukan ketika program di compile

(runtime error)

contoh: int [] nilai ={100,200};System.out.println(nilai[2]); err karena index tertnggi nya 1

Flow Control

Adalah mekanisme yang digunakan untuk mengatur alur jalannya progaramJenis flow contro ada 21. percabangan / branching

Digunakan untuk mengambil keputusan

Terdapat 2 jenisa. if-else

uji kondisi harus bertipe booleancontoh: MyIf. java

jika user memasukan inputan dari keyboard maka a.length pasti > 0.Flowchart :1. jalankan program2. cek apakah user memasukan inputan dari keyboard?3. If ya Cetak “anda memasukan inputan n buah”4. If tidak Cetak “anda malas”5. End

Page 9: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

D:\Oracle Academy\Belajar> java MyIf satu dua tigaAda inputan sebanyak:3, spasi pada satu dua dan tiga akan dijadikan sebagai pemisah index satu = a[0], dua = a[1], tiga = a[2] .

CekNilai.java

Selain boolen akan error..Uji kondisi error

UjiKondisi.java

Operator Equality Check

Digunakan untuk memeriksa 2 buah variable yang bertipe primitif Dia akan menghasilkan true atau falseJangan sekalikali menggunakan operator == untuk membandingkan 2 buah variable bertipe object, karena hasilnya tidak akurat

.equals() digunakan untuk memeriksa 2 buah variabel bertipe Object. Jangan sekalikali menggunakan operator equals() untuk membandingkan 2 buah variable bertipe primitif, karena akan error

Bandingkan.java

Masukan

5

Page 10: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

b. switchuji kondisi harus bertipe byte, short, int, long, char, String

PredikatNilai.javabreak; berfungsi untuk keluar dari switch

2. looping / perulangandigunakan untuk melakukan pekerjaan yang sifanya berulang-ulang (repetitive task)

didalam java ada 3 perulangan, dengan fungsi yang sama. for

MyFor.java

b. whileincrement wajib dilakukancth: x++;mikir dulu baru ngomongMyWhile.java

c. do .. whilengomong dulu baru mikir minimal 1 kali jalanMyDoWhile.java

Break Statement

digunakan untuk keluar dari sebuah blok, biasanya digunakan didalam swich atau looping secara prematur

Continue Statement

digunakan untuk memerintahkan sebuah loop untuk terus berputar tanpa melakukan aksi apapun

Page 11: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

java Util Scaner

adalah library yang bisa digunakan untuk menangkap inputan dari keyboard secara interaktif

DataKaryawan.java

java method/function/sub-program

adalah blok kode punya nama dan bisa di panggil untuk menjalankan spesifik task.tujuan pembuatan methode, agar kode bisa digunakan berulang ulang di banyak tempat, tanpa perlu menulis ulang logic yang sama.

TanpaMethod.javaDenganMethod.java

Jenis metod

1. void method: method yang setelah dipanggil, dia hanya menjalankan task di dalamnya saja, tanpa melempar sesuatu keluar (tanpa return value / nilai balik)

Syarat:- Method void tidak boleh ada return statement

VoidMethod.java

2. method bukan / non method: method yang setelah dipanggil, dia akan menjalankan task dan setelah itu dia akan melempar sesuatu keluar. (memiliki retun value / nilai balik).

:- harus ada return statement- bisa dijadikan parameter untuk panggil method lain- syarat harus konsisten antara tipe variable pada baris method dengan variable

pada isi method

Page 12: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

BukanVoidMethod.java

- OVERLOADING method- Kita boleh membuat banyak method dengan nama yang sama persis, tapi

parameter harus beda.- Beda parameter yang diijinkan

a. Beda type datab. Beda jumlahc. Beda posisi

- Yang tidak diijinkan adalah ‘beda nama parameter’

Java hanya membaca parameter variable (tipe data) bukan variablenya.

OverloadMethod.java

Sub Judul Jenis Class

Method tanpa main tidak akan bisa di jalankan pada class java, karena main sebagai acuan untuk menjalankan java

Error: Main method not found in class Libraryku, please define the main method as: public static void main(String[] args)or a JavaFX application class must extend javafx.application.Application

Libraryku.java

Memanggil Library atau file java class di luar

PanggilLibrary.java

Page 13: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

Struktur Pengaturan File Java yang benar

D:\Oracle Academy\Belajar\ --bikin folderscr berisi source codeclasses berisi hasil kompilasi

cara: D:\Oracle Academy\Belajar\src> javac PanggilLibrary.java -d ../classesMenjalankan hasilnya dari folder classes

Tip compilasi

- Jika program anda terdiri dari banyak source code, maka compile lah source code yg tergantung / dependent kepada source code lain. - Nanti source lain yg di akses, akan otomatis ikut tercompile

JAR (Java Archive)

- Adalah mekanisme yang digunakan untuk mendistribusikan hasil aplikasi java ke end user- Merupakan file zip dengan ekstensi .jar- Algoritma konpresi harus zip, tidak boleh rar/gz/tar/7z dll- Ekstensi harus *.jar

Struktur file JAR

Jika suatu aplikasi dengan nama MyApp.jar, maka- Di dalam file *.jar tersebut harus terdapat folder dengan nama META-INF dan di dalam

folder META-INF harus ada file dengan nama MANIFEST.MF . (kedua tersebut harus ditulis dengan HURUF BESAR).

- File *.class java berada sejajar dengan root folder META-INF

MyApp.jar|Folder [META-INF] – buat file MANIFEST.MF|*.class

Isi dari MANIFEST.MFBaris 1: Main-Class: PanggilLibrary (nama dari class utama yang di panggil)

Page 14: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

Baris 2: (Kosong) setelah enter dari baris 1

Cara Archive- Archive dengan ekstensi *.zip, tetapi ubah nama file nya menjadi *.jar- Jalankan perintah untuk menjalankan *.jar tersebut dengan perintah - D:\Oracle Academy\Belajar\classes> java -jar *.jar

Cara menatur source code java standard internasional

Package : mekanisme pengaturan folder di dalam java untuk membuat program lebih tersetruktur

...\Belajar\Src Main Class | Id | Ac | Itb |------------------|

lib MyLib.javadb Db.javaIo MyIO.java

Aturan penamaan package

- disarankan menggunakan nama domain institusi anda dibalikcontoh: itb.ac.id id.ac.itb

setiap komponen domain dijadikan satu folder- tujuan dibalik supaya nama domain dijamin unix- standard huruf kecil

*)SUN (Stanford University Network)Oracle = tukang ramal

contoh studi kasus:domain : itb.ac.idlibrary yang akan dibuat:

mylib

Page 15: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

mypackmaka package yang akan dibuat :

id.ac.itb.mylibid.ac.itb.mypack

`

Simpulan:- import id.ac.itb.mylib.*; (dipakai oleh pemanggil)

statmen tersebut artinya - akan memanggil class atau file yang berada di folder id/ac/itb/mylib

- package id.ac.itb.mylib; (dipakai oleh yang dipanggil)statmen diatas artinya - source code disimpan di folder id/ac/itb/mylib

cara compile:D:\Oracle Academy\Belajar\src> javac TestPack.java -d ..\classes

*) dengan mengikuti aturan tersebut, maka secara otomatis *.java yang di compile pada folder ‘id/ac/itb/mylib’ dan ‘id/ac/itb/mypack’ akan otomatis dibuatkan file *.class pada folder sesuai dengan kedalaman folder tersebut

Studi kasus 3:

TestPack.javaPanggil.javaPustaka.javaPaket.javaYourPaket.java

Page 16: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

Cara Membuat JAR File dengan file dan folder komplek

....error package ......

Exception Handling

Adalah penanganan error di dalam java dan hanya runtime error yg akan ditangani.Jenis-jenis err yang sering ditemukan

1. syntax error (error termudah)- error karena salah ketik- yg bertugas menemukan error ini adalah compiler

2. runtime error (menengah) exception handling by java - sintax , program ok- tetapi ketika execute, ERROR

DibagiNol.java

3. logic error- sintax ok, execute ok, rerult error (salah rumus by programmer)

Kenapa Exception Harus Ditangani

1. untuk memberikan pesan error yang lebih desktriptif kepada end user2. untuk membetulkan jalannya program3. jika exception tidak kita tangani maka yang akan menangani secara otomatis adalah JVM

atau JRE.

Contoh: Exception in thread "main" java.lang.ArithmeticException: / by zeroat DibagiNol.main(DibagiNol.java:5)

Page 17: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

5 Kata Kunci Untuk Exception Handling

1. tryadalah blok yang digunakan untuk mengawal kode yg ada kemungkinan terjadi exception

2. catchblok yg hanya akan dijalankan jika terjadi exception di dalam block try, jika tidak terjadi exception maka block catch akan diabaikan

try dan catch pasti berpasangan.

Cara kerja error:jika error program, maka program akan berhenti langsung di tempatnya err, blok program yang dibawahnya tidak akan error dan langsung akan menuju exception

DibagiNolEx.java Matematika2.java

3. finally- blok yang akan selalu jalan, baik di dalam try terjadi exception maupun tidak- blok ini digunakan untuk menjamin terjadinya cleanup resource dengan benar.

Contoh: Tutup koneksi databaseTutup koneksi fileTutup koneksi socket

Try {//1. Konesi database//2. Jalankan query jika terjadi error disini//3. Cetak hasil

} catch() {//5. Error ditangani disini

} finally {//4. Tutup koneksi koneksi akan tetap ditutup

}

4. throw- untuk melemparkan exception secara manual/eksplisit- keuntungan melempar exeption manual yaitu untuk memberikan custom mesage

5. throws- keyword yang digunakan untuk memberikan laporan atau report pada end user bahwa

sebuah blok atau function/method, di dalamnya ada kemungkinan terjadi exception- jika dalam sebuah blok ada statement “throw”, tetapi tanpa “throws”, maka ketika di

compile akan mendatkan pesan error: “unreproted exception...”- throws dan throw selalu berpasangan

Page 18: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

Reaksi Berantai Exception

1. jika blok ada trows maka ada trowsAljabar.java #1public class Aljabar{ public static void bagi (int a, int b) throws Exception { if (b==0) { throw new Exception("Penyebut tidak boleh nol!"); }else { int hasil = a/b; System.out.println(a+"/" +b+"="+hasil); } }

}

2. jika blok yang di panggil ber-label throws maka, anda punya 2 pilihana. pemanggil menggunkan try-catch

Aljabar.java #2public class Aljabar{ public static void bagi (int a, int b) throws Exception { if (b==0) { throw new Exception("Penyebut tidak boleh nol!"); }else { int hasil = a/b; System.out.println(a+"/" +b+"="+hasil); } }

public static void main (String [] x) { try { bagi(10,2); } catch(Exception ex) { System.out.println(ex); }

}}

b. pemanggil melakukan “throws”: tapi memiliki kelemahan ketika error panjang, user tidak dapat melihat pesan error manual yang awal

public class Aljabar{ public static void bagi (int a, int b) throws Exception { if (b==0) { throw new Exception("Penyebut tidak boleh nol!"); }else { int hasil = a/b; System.out.println(a+"/" +b+"="+hasil); } }

public static void main (String [] x) throws Exception { bagi(10,0); }

Page 19: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

}

OOP - Object Oriented Programming

Sebuah bahasa disebut support OOP jika memenuhi 3 prinsif1. encapsulation (pengkapsulan)

- kita bisa membuat tipe data baru dengan cara membungkus atau mengkapsulkan antara variable dan method menjadi sebuah “class”

Hubungan antara class dan objectClass: adalah bluer print /cetakan dari sebuah objectContoh: jika class > Manusia, maka objectnya amir, budi, joko

Mobil, maka objectnya avanza, alya, agyaBinatang, maka objectnya kerbau, sapi, kutu

Relasi antara class dengan object one to manyClass ----------------- > Object One ----------------- > Many

Dengan satu kelas kita bisa mencetak banyak object

Cara Merancang / Desain sebuah ClassTAHAP 1: ANALISIS- amati object di duania nyata lalu listing (daftarkan)

a. dia punya apasering disebut dengan fields, properties

b. dia bisa apasering disebut dengan method, behavior

TAHAP 2: IMPLEMENTASI- Fields atau properties diemplement menjadi variable dalam class- Method diimplement menjadi function atau class

Contoh:

analisaMOBIL punya apa: mesin, pintu, rodaMOBIL bisa apa: maju, mundur, belok, berhenti

Implementasipublic class Mobil{ int mesin = 1; int pintu = 5; int roda = 4; String nama;

void maju() { System.out.println(nama + " Maju"); }

void mundur() { System.out.println(nama + " Mundur");

Page 20: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

}}

public class CobaMobil{ public static void main (String [] a) { //new -> operator untuk create object dari class Mobil innova = new Mobil(); innova.nama = "Toyota Innova"; innova.maju(); innova.mundur();

Mobil alay = new Mobil(); alay.nama = "Daihatsu Alay"; alay.maju(); alay.mundur(); System.out.print("\n");

System.out.println("== Data Mobil " + innova.nama + " =="); System.out.println("Nama : " + innova.nama); System.out.println("Jumlah Mesin : " + innova.mesin); System.out.println("Jumlah Pintu : " + innova.pintu); System.out.println("Jumlah Roda : " + innova.roda); System.out.print("\n"); System.out.println("== Data Mobil " + alay.nama + " =="); System.out.println("Nama : " + alay.nama); System.out.println("Jumlah Mesin : " + alay.mesin); System.out.println("Jumlah Pintu : " + alay.pintu); System.out.println("Jumlah Roda : " + alay.roda); }}

Contoh 2public class Motor{ int roda = 2; static int mesin = 1; //why static tetapi fungsi seperti public global String nama;}

public class CobaMotor{ public static void main (String [] a) { Motor vario = new Motor(); vario.nama = "Honda Vario";

Motor mio = new Motor(); mio.nama = "Yamaha Mio";

System.out.println("== Data "+vario.nama+" =="); System.out.println("Jumlah Mesin : " + vario.mesin); System.out.println("Jumlah Roda : " + vario.roda);

System.out.println("== Data "+mio.nama+" =="); System.out.println("Jumlah Mesin : " + mio.mesin); System.out.println("Jumlah Roda : " + mio.roda); System.out.print("\n");

vario.roda = 9; System.out.println("== Data Roda "+vario.nama+" =="); System.out.println("Jumlah Roda : " + vario.roda);

System.out.println("== Data Roda "+mio.nama+" =="); System.out.println("Jumlah Roda : " + mio.roda); System.out.print("\n");

vario.mesin = 7; System.out.println("== Data Mesin "+vario.nama+" =="); System.out.println("Jumlah Mesin : " + vario.roda);

System.out.println("== Data Mesin "+mio.nama+" ==");

Page 21: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

System.out.println("Jumlah Mesin : " + mio.roda); System.out.print("\n"); }}

Kesimpulan:- jika roda vario diubah, maka yang berubah hanya roda vario sendiri, mio tidak ikut

berubah.

Static = alokasi memory hanya satu dan dipakai oleh semua object (mirip seperti variable global)

Static bisa di pasang di fields maupun methoda. Jika di pasang difield, fields hanya akan di alokasikan satu memory dan akan digunakan oleh

semua objectb. Fields static sering juga disebut dengan “Class Field” atau “Class Variable” artinya: Fields

tersebut milik dari “class” bukan milik dari “object”. Konsekwensinya ada 2:a. Bisa diakses langsung dengan nama classb. Jika di ubah, maka semua object akan ikut berubah.

Aturan Static

a. STATIC STATICb. STATIC NON-STATIC (x)—Tidak boleh

public class Motor{ int roda = 2; static int mesin = 1; //why static String nama;

static void maju() { System.out.println("Maju"); //roda=9; //ERR //mundur(); //ERR mesin=0; }

void mundur() { System.out.println("Mundur"); maju(); }

Page 22: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

}

c. NON-STATIC STATICd. NON-STATIC NON-STATIC

Constructor

Adalah blok kode dengan ciri ciri:a. Mirip seperti method tapi tanpa return type (tanpa void/int/char/...).b. Namanya persis seperti classc. Akan dipanggil secara otomatis ketika create objectd. Digunakan untuk mengisi valie field ketika create object, dengan tujuan bisa membuat

object dengan value field berbeda bedae. Dia bisa di overload (lebih dari satu dengan nama yang sama) seperti method

public class Binatang{ Binatang() //Constructor { System.out.println("Sebuah Object Binatang Dibuat"); }

Binatang(String s) { System.out.println("Object Binatang "+s+" Dibuat"); }

Binatang(String s, int a) { System.out.println("Object Binatang "+s+" Dibuat"); System.out.println("Jumlah Kaki Binatang "+a); }}

public class CobaBinatang{ public static void main (String [] a) { Binatang sapi = new Binatang(); Binatang macan = new Binatang("Macan Tutul"); Binatang kucing = new Binatang("Kucing Anggora", 3);

}

}

2. inheritance3. polymorphism

javadoc- Tool yang digunakan untuk mengenerat dokumentasi dari source code.

- Buat folder docs pada root program- javadoc bisa dijalankan kalo source code tidak err

Page 23: belajaroracle.combelajaroracle.com/oai/java_fund/Materi_Java_Fundamental.docx · Web viewJava Fundamental bahasa pemrograman yang mempunyai sifat yang multiplatform. (bisa dijalankan

- kalo source code err pasti di lewatkan

D:\Oracle Academy\Belajar\src> javadoc Pesawat.java -d ..\docsD:\Oracle Academy\Belajar\src> javadoc *.java -d ..\docs

ALICE

Public void act() adalah mehtod yang berfungsi sama dengan ‘public static void main()’ di dalam program java biasa