• Tidak ada hasil yang ditemukan

Konsep Dasar Pemrograman Berorientasi Obyek

N/A
N/A
Protected

Academic year: 2018

Membagikan "Konsep Dasar Pemrograman Berorientasi Obyek"

Copied!
182
0
0

Teks penuh

(1)

Konsep Dasar

Pemrograman Berorientasi Obyek

(2)

BAB 1

PEMROGRAMAN

(3)

Daftar Isi

PendahuluanPemrograman

Pengertian

Bahasa Pemrograman

Level Bahasa Pemrograman

Siklus Hidup Perangkat LunakAnalisis

Desain

Pengembangan ( Development )

Pengujian ( Testing )

Implementasi

Pemeliharaan

(4)

Pemrograman(1)

Pengertian

Penanaman instruksi ke dalam komputer / devais

Tujuan : Komputer / devais melakukan operasi-operasi

komputasi sesuai instruksi

Contoh instruksi : Penjumlahan Jika input1=2 dan

input2 =5, maka hasil operasi komputer = 7

Bahasa Pemrograman

Instruksi yang dimengerti komputer : …010101001…

Instruksi yang dimengerti manusia : b = a + 4

Agar manusia dapat memberi instruksi kepada

komputer, dibutuhkan Bahasa Pemrograman

(5)

Pemrograman(2)

Level Bahasa Pemrograman

Bahasa Tingkat Rendah ( low-level language ),

misalnya: bahasa mesin dan assembler

Bahasa Tingkat Menengah (medium-level language),

misalnya: C / C++, Fortran

Bahasa Tingkat Tinggi (high-level language), misalnya:

Pascal

Bahasa Tingkat Lebih Tinggi (higher-level language),

(6)

Siklus Hidup Perangkat

Lunak(1)

Analisis

Penentuan scope masalah

(7)

Siklus Hidup Perangkat

Lunak(2)

Desain

Membuat blueprint / cetak biru

(8)

Siklus Hidup Perangkat

Lunak(3)

Pengembangan

Penggunaan blueprint untuk membuat komponen aktual

Jika diperlukan, komponen dapat dipecah menjadi

(9)

Siklus Hidup Perangkat

Lunak(4)

Pengujian

Evaluasi terhadap komponen-komponen : Memenuhi

(10)

Siklus Hidup Perangkat

Lunak(5)

Pengujian

Evaluasi terhadap komponen-komponen : Memenuhi

spesifikasi ?

Testing :

Unit Test

Functional Test

Flow Graph Test

Performance Test

Security Test

Integration Test

(11)

Siklus Hidup Perangkat

Lunak(6)

Implementation

Pembuatan produk :

Instalasi produk ke komputer / devais

(12)

Siklus Hidup Perangkat

Lunak(7)

Pemeliharaan

Perbaikan terhadap masalah-masalah yang terjadi pada

produk :

Perbaikan bug

Re-install produkData recovery

(13)

Siklus Hidup Perangkat

Lunak(8)

Akhir Siklus

Mengumpulkan feedback dari user terhadap produk

yang berjalan pada sistem

Feedback Dikumpulkan Dianalisa Keputusan :

(14)

Bab 2

ANALISIS MASALAH

MENGGUNAKAN KONSEP

(15)

Daftar Isi

Contoh Masalah

Identifikasi Domain MasalahIdentifikasi Obyek

Seleksi Obyek

(16)

Contoh Masalah

User : Petugas logistik pada sebuah koperasi

Aplikasi Diminta : Sistem pelaporan stok barang yang

mencatat persediaan, pemasukan, dan pengeluaran barang

Kebijakan Koperasi :

Untuk barang berupa makanan :

Jika kedaluwarsa sudah lewat, barang dibuang

Jika kedaluwarsa tinggal 6 bulan lagi (asumsi ketika dibeli,

masa kedaluwarsa makanan > 1 tahun ), diskon harga 50%

Untuk semua barang :

Jika stok suatu item tinggal 40% dari seharusnya, harus

(17)
(18)

Identifikasi Domain Masalah

Domain masalah : ruang lingkup permasalahan yang

akan dipecahkan.

Tujuan : fokus pada masalah

Domain masalah dapat ditentukan dari permintaan

(19)

Identifikasi Obyek

Identifikasi sifat-sifat dasar dari obyek yang

diperkirakan akan terlibat dalam aplikasi :

Obyek : fisik / konseptual

Identifikasi atribut / karakteristikIdentifikasi operasi

Membuat perkiraan obyek apa saja yang akan

digunakan :

Barang

Supplier

Koperasi

Pembeli

Gudang

Daftar Transaksi

(20)

Seleksi Obyek (1)

Pertimbangan-pertimbangan :

Relevansi dengan masalah :

Obyek eksis pada batasan masalah ?

Obyek dibutuhkan dalam menyelesaikan masalah ?

User dibutuhkan sebagai bagian dari interaksi antara user

dan solusi ?

Eksistensi independen : sebaiknya obyek yang dibuat

(21)

Seleksi Obyek (2)

Memilik Obyek :Barang OK

Supplier Not OK , sebab tidak terlalu berperan dalam

permasalahan

Koperasi OK , menjadi obyek utama

Pembeli Not OK, sebab tidak terlalu berperan dalam

permasalahan

(22)
(23)

Bab 3

(24)

Daftar Isi

Identifikasi Komponen-komponen ClassStrukturisasi Class

Deklarasi Class

Deklarasi Variabel dan Penugasan

Pendefinisian Method

Pemberian Komentar

Membuat dan Menguji Program Java

Konfigurasi yang Dibutuhkan

Membuat dan Menggunakan Class

(25)

Identifikasi Komponen-komponen

Class (1)

Strukturisasi ClassDeklarasi Class

Deklarasi dan Inisialisasi AtributPendefinisian Method ( optional )

Komentar (Optional )

Deklarasi Class

Deklarasi Variabel dan PenugasanPendefinisian Method

(26)

Apakah Java?

Java

adalah

bahasa

pemrograman

(27)
(28)

Kompiler dan interpreter untuk program Java

berbentuk Java Development Kit (JDK) yang

diproduksi

oleh

Sun Microsystems. JDK ini

dapat didownload gratis dari situs

(29)
(30)
(31)

Urutan langkah-langkah membuat

sebuah program Java

Membuat source code program dengan editor teks

apapun. file tersebut harus berekstensi .java dan case

sensitive.

Mengkompile source code dengan perintah javac.

Misalnya: javac HelloWorld.java. Jika berhasil, hasilnya

adalah file bytecode berakhiran .class.

Mengeksekusi bytecode dengan perintah java.

Parameter dari perintah ini adalah nama file hasil

kompilasi

tanpa

ekstensi .class. Contoh: java

(32)

Kebutuhan perangkat lunak

Java 2 SDK Standard Edition (J2SE)

digunakan untuk mengkompilasi kode

program java

Text Editor

(33)

Kompilasi kode program

Buka command promt

Set PATH=C:\Progra~1\java\jdk1.5.0\bin;%PATH%

Set CLASSPATH=.;D:\CodeJava

(34)

Contoh Program

public class HelloDunia

{

public static void main(String[] args)

{

System.out.println("Apa Kabar Dunia?");

}

(35)

import java.awt.Graphics;

public class HelloWorldApplet extends

java.applet.Applet

{

public void paint(Graphics g)

{

g.drawString("Apa Kabar Dunia?", 5, 25);

}

(36)

<HTML>

<HEAD>

<TITLE>Coba Applet</TITLE>

</HEAD>

<BODY>

<APPLET

CODE="HelloWorldApplet.class"

WIDTH=150 HEIGHT=25>

</APPLET>

</BODY>

(37)

Identifikasi Komponen-komponen

Class(2)

Deklarasi Class :

Tujuan : mendefinisikan data yang dibawa oleh obyek

Syntax :

[modifier] class class_identifier

Contoh :

public class Barang {

(38)

Identifikasi Komponen-komponen

Class (3)

Deklarasi Variabel dan Penugasan

Deklarasi variabel dilakukan di dalam class

Variabel yang dideklarasikan di dalam class = variabel atribut /

variabel anggota / variabel instans

Syntax :

[modifiers] data_type identifier [ = value ] ;

Contoh :

import java.util.Date; public class Barang {

public int jumlah ; //contoh deklarasi

public int hargaBeli ;

public Date tanggalKedaluwarsa ;

public int hargaJual ;

public String idBarang ;

double diskon = 0.0 ; //contoh penugasan

(39)

Identifikasi Komponen-komponen

Class (4)

Pendefinisian Method

Method : merepresentasikan operasi-operasi yang dapat

dilakukan oleh obyek

Syntax :

[modifiers] return_type method_identifier ([arguments]){ method_code_block;

}

Contoh :

public class Barang {

... //inisialisasi variabel

public void setIDBarang( String id ){

dBarang = id; }

(40)

Identifikasi Komponen-komponen

Class (5)

Pemberian Komentar :

Tujuan : Menandai baris-baris program dengan catatan,

supaya programmer dapat mengingat maksud dari baris-baris program tersebut

Contoh :

1) public int hargaJual ; // ini variabel untuk

// menyimpan data harga jual

2) /* ini variabel untuk menyimpan

data harga jual */

(41)

Membuat dan Menguji Program Java (1)

Konfigurasi yang Dibutuhkan :

Java Runtime Environment ( JRE )

(42)

Membuat dan Menguji Program Java (2)

Membuat dan Menggunakan Class

Contoh program :

public class Barang {

public int jumlah ; //contoh deklarasi public int hargaBeli ;

public int hargaJual ; public String idBarang ;

double diskon = 0.0 ; //contoh penugasan

public int getJumlah(){ return jumlah;

} }

(43)

Membuat dan Menguji Program Java (3)

Mengkompilasi Program :

C:\Latihan>javac Barang.java

Mengeksekusi Program :

(44)

Bab 4

(45)

Daftar Isi

Identifikasi Penggunaan Variabel dan Syntax

Penggunaan Variabel

Deklarasi dan Inisialisasi VariabelMendeskripsikan Tipe Data Primitif

Tipe Data Integral

Tipe Data Floating-Point

Tipe Data Tekstual

Tipe Data Logika

Memilih Tipe Data

Mendeklarasikan Variabel dan Melewatkan Nilai ke

Variabel

Penamaan Variabel

Melewatkan Nilai ke Variabel

(46)

Identifikasi Penggunaan Variabel

dan Syntax (1)

(47)
(48)

Identifikasi Penggunaan Variabel

dan Syntax (3)

Penggunaan Variabel :

noPol menyimpan data nomor polisi

merk menyimpan data merk mobil

harga menyimpan harga mobil

tahunPembuatan menyimpan tahun pembuatan mobil

namaPemilik menyimpan data pemilik mobil

Deklarasi dan Inisialisasi Variabel :

(49)
(50)

Identifikasi Penggunaan Variabel

dan Syntax (5)

Hasil Kompilasi :

(51)

Identifikasi Penggunaan Variabel

dan Syntax (6)

(52)

Mendeskripsikan Tipe Data Primitif

(1)

Tipe Data Primitif :

Integral : merepresentasikan nilai-nilai bilangan bulat ( tidak memiliki elemen pecahan desimal.

Floating Point : merepresentasikan nilai-nilai bilangan real ( memiliki elemen pecahan desimal )

Tekstual : merepresentasikan nilai-nilai berupa alphabet.  Logika : merepresentasikan nilai-nilai logika ( hanya bernilai

(53)
(54)

Mendeskripsikan Tipe Data Primitif

(3)

(55)

Mendeskripsikan Tipe Data Primitif

(4)

Tipe Data Tekstual : char

Contoh penggunaan :

public char alphabet = ‘A’;

public char ascii = ‘\111’; // jika dicetak, akan

//menghasilkan

// huruf ‘I’;

Tipe Data Logika : boolean

Contoh penggunaan :

public boolean status = true;

public boolean check = 10 < 5 ; // nilai check menjadi //false

(56)

Mendeskripsikan Tipe Data Primitif

(5)

Memilih Tipe Data :

Perhatikan Jenis Data ( bilangan bulat / bilangan real /

logika / karakter )

Terdapat operasi pembagian ? disarankan

menggunakan tipe floating point

Jika program memperhatikan ukuran data dalam

(57)

Mendeklarasikan Variabel dan

Melewatkan Nilai ke Variabel (1)

Mendeklarasikan Variabel

Variabel : entitas penyimpanan data yang paling

elementer

Variabel lebih mengacu ke alokasi memory daripada

nilai data

(58)

Mendeklarasikan Variabel dan

Melewatkan Nilai ke Variabel (2)

Penamaan Variabel :

 Identifier variabel harus dimulai dengan alfabet huruf besar, huruf

kecil, tanda dollar ( $ ) atau underscore (_). Setelah karakter pertama, dapat diikuti dengan angka.

 Identifier variabel tidak boleh mengandung punctuation, spasi, atau

dashes ( - )

 Kata kunci pada teknologi Java , seperti pada Tabel , tidak dapat dijadikan nama identifier variabel.

(59)

Mendeklarasikan Variabel dan

Melewatkan Nilai ke Variabel (3)

Penamaan Variabel :

 Contoh nama variabel yang valid :

 @2var

 _status

 tanggal

 jumlahBarang

 nama_kecil

 final_test

 int_float

(60)

Mendeklarasikan Variabel dan

Melewatkan Nilai ke Variabel (4)

Penamaan Variabel :

 Contoh nama variabel yang valid :

 @2var

 _status

 tanggal

 jumlahBarang

 nama_kecil

 final_test

 int_float

(61)

Bab 5

(62)

Daftar Isi

Menggunakan Operator Aritmatika untuk

Memodifikasi Nilai

Menggunakan Operator Bitwise untuk Memodifikasi

Nilai

Prioritas Operator

Menggunakan Promosi dan Type Casting

Promosi

Type Casting

(63)
(64)

Menggunakan Operator Aritmatika

Untuk Mengubah Nilai (2)

(65)

Menggunakan Operator Bitwise

Untuk Mengubah Nilai (1)

(66)

Menggunakan Operator Bitwise

Untuk Mengubah Nilai (2)

Shift Kanan

Shift Kiri

0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 2 3 4 5 6 7 31 30 29 28 27

Sign bit

= - 16

Geser ke kanan 2 kali : >> 2

0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 2 3 4 5 6 7 31 30 29 28 27

Sign bit

= - 4

0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 2 3 4 5 6 7 31 30 29 28 27

Sign bit

= - 16

Geser ke kiri 2 kali : << 2

0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 2 3 4 5 6 7 31 30 29 28 27

Sign bit

(67)

Menggunakan Operator Bitwise

Untuk Mengubah Nilai (3)

Shift Kanan Dengan Penambahan ‘0’ pada Bit-bit Kiri

Operator ‘&’

0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 2 3 4 5 6 7 31 30 29 28 27

Sign bit

= - 16

Geser ke kanan 2 kali dengan bit kiri diberi 0 : >>> 2

0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 2 3 4 5 6 7 31 30 29 28 27

Sign bit

= 1073741820

0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 31 30 29 28 27

= 12 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 2 3 4 5 6 7 31 30 29 28 27

= - 13

& 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 31 30 29 28 27

(68)

Menggunakan Operator Bitwise

Untuk Mengubah Nilai (4)

Operator ‘|’

Operator ‘^’

0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 31 30 29 28 27

= 12 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 2 3 4 5 6 7 31 30 29 28 27

= - 13

| 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 2 3 4 5 6 7 31 30 29 28 27

= -1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 31 30 29 28 27

= 13 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 2 3 4 5 6 7 31 30 29 28 27

= - 13

1 1 1 0

1 1 1 1 1 1 1 1 1 1 0 1 2 3 4 5 6 7 31 30 29 28 27

(69)

Menggunakan Operator Bitwise

Untuk Mengubah Nilai (5)

Operator ‘~’

0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 31 30 29 28 27

= 12

~

1 0 1 10

0 1 1 1 1 1 1 1 1 1 0 1 2 3 4 5 6 7 31 30 29 28 27

(70)

Prioritas Operator (1)

Prioritas dari yang paling dahulu dikerjakan :

Operator pada tanda kurung “(…)”

Operator-operator Increment dan Decrement

Operator Perkalian dan Pembagian

Operator Penjumlahan dan Pengurangan

(71)

Prioritas Operator (2)

Contoh 1:

int c = 12 * 3 +5 / (8 - 3) ;

Urutan Operasinya :

int c = 12 * 3 + 5 / 5 ; int c = 36 + 5 / 5;

int c = 36 + 1 ; int c = 37;

Contoh 2:

int c = 3 + 4 >> 1 + 1 << 1; Urutan Operasinya :

int c = 7 >> 1 + 1 << 1; int c = 7 >> 2 << 1;

(72)

Promosi dan Type-Casting (1)

Promosi

proses pengubahan representasi bit variabel primitif dari representasi bit

yang lebih rendah ke representasi bit yang lebih tinggi

Promosi karena assigning tipe data dengan

representasi bit yang lebih tinggi ke yang lebih rendah

Contoh :

short a = 12;

int b = a ; // nilai a promosi ke integer

Promosi karena assigning tipe data integral ke tipe

data floating-point

Contoh :

(73)

Promosi dan Type-Casting(2)

Type-Casting

 proses pengubahan representasi bit variabel primitif dari

representasi bit yang lebih tinggi ke representasi bit yang lebih rendah.

Syntax :

identifier = (target_type) value ;  Contoh :

int num1 = 34; int num2 = 45;

short num3 = (short)(num1 + num2 );

Keterangan : (num1 + num2) menghasilkan nilai integer. Agar

nilainya dapat di-assign ke num3, dilakukan casting dengan

(74)

Promosi dan Type-Casting(3)

Type-Casting merupakan proses pemotongan bit Misalnya : Type-casting dari float ke int

Contoh :

int num1;

long num2 = 123987654321L; num1 = (int)(num2);

num1 akan bernilai -566397263

0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 63 62 61 60 59

= 36 L

0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 31 30 29 28 27

(75)

Beberapa Catatan Promosi &

Casting (1)

Operasi Aritmatika Menghasilkan Nilai di Luar Batas

Tipe Data

 Contoh :

int a = 55555; int b = 66666; int c = a * b System.out.println(c);

Output : -591337666 ( != 55555 * 66666 )

Solusi :

int a = 55555; long b = 66666; long c = a * b;

System.out.println(c);

(76)

Beberapa Catatan Promosi &

Casting (2)

Asumsi dasar compiler untuk tipe data integer:

 Nilai yang di-assign tanpa penambahan keterangan apapun, diasumsikan sebagai nilai integer

 Jika pada suatu operasi aritmatika, operand-operand pada

ruas kanan berbeda tipe datanya ( semuanya masih termasuk tipe data integral ), dan semua tipe data merupakan tipe data yang representasi bitnya di bawah integer, maka hasil operasi aritmatika tersebut akan diasumsikan sebagai integer

 Jika pada suatu operasi aritmatika, operand-operand pada

(77)

Beberapa Catatan Promosi &

Casting (3)

Asumsi dasar compiler untuk tipe data floating-point:  Nilai yang di-assign tanpa penambahan keterangan apapun

akan diasumsikan sebagai double

 Jika pada operasi aritmatika dengan semua operand pada ruas kanan menggunakan tipe data floating-point, maka hasil

operasi aritmatika tersebut direpresentasikan dengan tipe data yang mengikuti tipe data dengan representasi tertinggi pada ruas kanan operasi aritmatika tersebut

 Jika pada operasi aritmatika dengan sebagian operand pada ruas kanan menggunakan tipe data floating-point dan

sebagian menggunakan tipe data integral, maka hasil operasi aritmatika tersebut direpresentasikan dengan tipe data

(78)

Bab 6

MEMBUAT DAN

(79)

Daftar Isi

Deklarasi Referensi Obyek, Instanstiasi Obyek, dan

Inisialisasi Obyek :

Deklarasi Referensi Obyek

Instanstiasi dan Inisialisasi Obyek

Menggunakan Variabel Referensi Obyek untuk

(80)

Deklarasi Referensi Obyek (1)

Selain Variabel Primitif, terdapat satu jenis variabel

lagi, yaitu : Variabel Referensi Obyek

Ilustrasi :

Jl. Kalimantan F120 Yogyakarta

(81)

Deklarasi Referensi Obyek(2)

Letak variabel referensi obyek pada memory :

STACK MEMORY

HEAP MEMORY

OBYEK

0x….

(82)

Deklarasi Referensi Obyek(3)

Syntax :

Classname identifier ;

(83)

Inisialisasi Variabel Referensi

Obyek (1)

Syntax :

Classname identifier = new Classname ( ) ;

atau

Classname identifier ;

identifier = new Classname ( );

(84)

Inisialisasi Variabel Referensi

Obyek(2)

Hasil akhir pada memory :

STACK MEMORY

HEAP MEMORY

luasTanah = 100

0x…. 0x….

rumah1 rumah2

luasBangunan = 0 Harga = 0 luasTanah = 100 luasBangunan = 0

Harga = 0

(85)

Menggunakan Variabel Referensi

Obyek untuk Memanipulasi Data

(86)

Memindahkan Referensi dari Satu

Obyek ke Obyek yang Lain (1)

(87)

Memindahkan Referensi dari Satu

Obyek ke Obyek yang Lain (2)

(88)

Bab 7

MENGGUNAKAN CLASS

(89)

Daftar Isi

Menggunakan Class String

Instanstiasi String dengan Kata Kunci newInstanstiasi String tanpa Kata Kunci new

Penggunaan Operator ‘==‘ dan Method equals( ) untuk

Membandingkan Dua Buah String

Investigasi Pustaka Class JavaSpesifikasi Pustaka Class Java

Mempelajari Spesifikasi Pustaka Class-class Java untuk

(90)

Menggunakan Class String

Keunikan String :

Merupakan kumpulan karakter yang jumlahnya dari 0

sampai memori tidak mencukupi

Dapat diinstanstiasi tanpa kata kunci new

(91)

Instanstiasi String dengan

new

Instanstiasi String dengan new : JVM akan

membentuk 2 buah obyek :

Obyek String : memuat referensi ke suatu String literal pada

literal pool.

String literal : yang memuat karakter-karakter. String literal ini terletak pada literal pool

(92)

Instanstiasi String tanpa

new

Instanstiasi String dengan new : JVM akan

membentuk 1 buah obyek :

Obyek String : memuat referensi ke suatu String literal pada

literal pool.

String literal akan dibentuk apabila representasi

(93)

Hasil Instanstiasi String

STACK MEMORY HEAP MEMORY 0xdef 0x0011f Literal Pool namaSiswa1 (without new) Adi 0xdef 0x0011f Adi 0xd77 namaSiswa2

(with new) 0x0023g

0x0023g

namaSiswa3 ( without new)

(94)

Penggunaan ‘==‘ dan Method

equals( )

untuk Membandingkan dua buah String

Penggunaan ‘==‘ : lebih menekankan apakah kedua obyek String tersebut menunjuk ke string literal yang sama

(95)

Investigasi Pustaka Class Java (1)

Spesifikasi Pustaka Class-class Java : Java Software

(96)

Investigasi Pustaka Class Java (2)

Menggunakan Spesifikasi Pustaka Java untuk

Mempelajari Method :

Daftar Field

(97)

Bab 8

MENGGUNAKAN OPERATOR

DAN KONSTRUKSI

(98)

Daftar Isi

Menggunakan Operator Relasional dan Kondisional Operator Relasional

Operator Kondisional

Konstruksi Pengambilan KeputusanKonstruksi if

(99)

Menggunakan Operator Relasional

dan Kondisional

Operator Relasional digunakan untuk mengevaluasi

variabel

Operator Kondisional digunakan untuk mengevaluasi

kondisi

Operator Relasional dan Kondisional akan

(100)

Operator Relasional (1)

Membandingkan suatu variabel dengan variabel lain,

atau variabel dengan sebuah nilai

(101)

Operator Relasional (2)

Contoh 1 :

int i = 1;

System.out.println(i==1);

Keluaran : true

Contoh 2 :

int i = 1;

System.out.println(i>1);

(102)

Operator Kondisional (1)

(103)

Operator Kondisional (2)

Contoh 1 :

int i = 1; int j = 2;

System.out.println ( ( i < 1 ) && ( j > 0 ) ) ; Keluaran : false

Contoh 2 :

int i = 1; int j = 2;

System.out.println ( ( i < 1) || ( j > 0) ) ;

(104)

Konstruksi Pengambilan

Keputusan

Konstruksi yang memungkinkan program melakukan

evaluasi terhadap variabel / kondisi kemudian menjalankan alur program yang sesuai dengan kondisi.

Konstruksi Pengambilan Keputusan :Konstruksi if

(105)

Konstruksi

if

(1)

Konstruksi pengambilan keputusan dengan 2

kemungkinan keputusan.

If ( kondisi )

Code Block

Kondisi menghasilkan nilai true

(106)

Konstruksi

if

(2)

Syntax

if ( boolean_expression ){

code block;

} //akhir dari konstruksi ‘if’ //program dilanjutkan

(107)

Konstruksi

if … else

(1)

Digunakan sebagai konstruksi pengambilan

keputusan yang memiliki beberapa kemungkinan keputusan.

If ( kondisi_1 )

Blok Program 1

Blok Program 2

Kondisi_1 menghasilkan nilai true

Kondisi_1 menghasilkan nilai false

else if

( kondisi_2 )

Blok Program 3

else

Kondisi_2 menghasilkan nilai false

(108)

Konstruksi

if … else

(2)

Syntax

if ( boolean_expression_1 ){

code block 1;

}

else if ( boolean_expression_2 ){

code block 2;

} . . .

else{

code block n;

(109)

Konstruksi

if … else

(3)

(110)

Konstruksi

switch(1

)

Digunakan untuk mengambil keputusan yang

mengevaluasi kemungkinan-kemungkinan nilai dari variabel yang dievaluasi

Evaluasi variabel

Code_block_1 Code_block_2 Code_block_default Variabel =

nilai_1

Variabel = nilai_2

Semua kemungkinan nilai tidak sama dengan nilai

variabel

(111)

Konstruksi

switch(2

)

Syntax

switch( variabel ) {

case nilai_literal_1 : code_block_1; [ break; ]

case nilai_literal_2 : code_block_2; [ break; ]

. . .

[default:]

code_block_default; [ break; ]

(112)

Konstruksi

switch(3

)

(113)

Konstruksi

switch(4

)

Variabel yang dapat dievaluasi menggunakan

konstruksi switch adalah variabel yang bertipe-data :

int

short

bytechar

Setelah evaluasi terhadap satu nilai dilakukan, jika

tidak ditemukan kata kunci break, maka pemeriksaan dilanjutkan ke nilai berikutnya. Jika ditemukan

break, maka program keluar dari blok switch

Kata kunci default dimaksudkan : jika semua nilai

yang dievaluasi tidak ada yang cocok maka blok

(114)

Bab 9

(115)

Daftar Isi

Konstruksi Loop

Membuat Loop Menggunakan While

Membuat Loop Menggunakan For

Membuat Loop Menggunakan Do/WhileLoop Bersarang ( Nested Loop )

(116)

Konstruksi Loop

Konstruksi Loop adalah konstruksi yang digunakan

untuk mengakomodasi pengulangan proses

Konstruksi Loop diperlukan untuk lebih

mengefisienkan penulisan kode program, sehingga tidak perlu dilakukan pengulangan penulisan kode untuk merepresentasikan suatu proses yang

berulang.

Konstruksi Loop :while

for

(117)

Konstruksi

while

(1)

Konstruksi while adalah konstruksi loop yang jumlah

perulangannya tergantung pada suatu kondisi logika tertentu

Syntax :

while(boolean_expression){

code_block;

} //akhir dari konstruksi while

(118)

Konstruksi

while

(2)

(119)

Konstruksi

while

(3)

(120)

Konstruksi

while

(3)

Penggunaan while(true) : jika code block tidak

mengandung pemeriksaan kondisi untuk mengakhiri

loop, maka loop akan terus dijalankan

Jika menggunakan while(true), buatlah pemeriksaan

kondisi untuk keluar dari loop

(121)

Konstruksi

for

(1)

Ada beberapa segmen yang dipertimbangkan pada

konstruksi for :

segmen inisialisasi

segmen boolean_expression

segmen update

Syntax :

for(initialize[,initialize] ; boolean_expression ;update[,update]){
(122)

Konstruksi

for

(2)

(123)

Konstruksi

for

(3)

(124)

Konstruksi

do…while

Mirip dengan konstruksi while

Perbedaan dengan konstruksi while :

Looping dijalankan terlebih dahulu

Dilakukan pemeriksaan kondisi

(125)

Loop Bersarang

(

Nested Loop

) (1)

Looping di dalam Looping dapat diterapkan pada

pemrograman Java

Konstruksi yang digunakan dalam nested loop tidak

dibatasi

(126)

Loop Bersarang

(

Nested Loop

) (2)

Keluaran Program :

(127)

Perbandingan Konstruksi Loop

Konstruksi while : lebih tepat digunakan untuk membuat iterasi

dengan jumlah iterasi yang tidak pasti dan untuk jumlah iterasi dari nol

sampai beberapa kali

Konstruksi do…while :

,

lebih tepat digunakan untuk membuat

iterasi dengan jumlah iterasi yang tidak pasti , dan untuk jumlah iterasi

dari satu sampai beberapa kali

Konstruksi for : lebih tepat digunakan untuk membuat iterasi

(128)
(129)
(130)

Bab 10

(131)

Daftar Isi

Pengertian Method

Membuat dan Memanggil ( Invoke ) Method

Bentuk Dasar Method

Memanggil Method dari Class yang Berbeda

Memanggil Method dari Class yang Sama

Melewatkan Argumen dan Mengembalikan Nilai

Deklarasi Method Ber-argumen

Memanggil Method Ber-argumen

Mendeklarasikan Method yang Memiliki Nilai

Pengembalian

Menerima Nilai Pengembalian

Keuntungan Menggunakan Method

(132)

Pengertian Method

Method adalah satu kontainer pada class yang

memuat baris-baris kode

Semua baris kode pada pemrograman Java harus

berada pada blok method, dan semua method harus berada di dalam blok class

Method dapat dianalogikan sebagai fungsi. Contoh :

F ( x , y ) = x + y

(133)

Membuat dan Memanggil

(

Invoke

) Method (1)

Method dibuat / didefinisikan pada saat

mendefinisikan class

Syntax :

[modifiers] return_type method_identifier ([arguments]){ method_code_block;

(134)

Membuat dan Memanggil

(

Invoke

) Method(2)

(135)

Membuat dan Memanggil

(

Invoke

) Method(3)

(136)

Membuat dan Memanggil

(

Invoke

) Method(4)

(137)

Memanggil Method dari Class

yang Berbeda

Contoh :

Syntax :

(138)

Memanggil Method dari Class

yang Sama

Contoh :

Syntax :

(139)

Melewatkan Argumen (1)

Method dapat memiliki argumen

Argumen dapat disebut sebagai variabel dummy,

atau parameter

Dalam pemanggilan method, dapat dilakukan passing

(140)

Melewatkan Argumen (2)

Syntax deklarasi method berargumen :

[modifiers] return_type method_identifier ( data_type argument_identifier_1 [,

data_type argument_identifier_n] ) {

code_block;

(141)

Melewatkan Argumen (3)

Contoh method dengan parameter :

Class LumbungPadi :

public void simpanPadi(int tambahanPadi){

padiDisimpan = padiDisimpan + tambahanPadi;

}

Class Petani :

public void simpanPanenanDiLumbung(int jumlahPanenan ){ lumbung.simpanPadi(jumlahPanenan);

}

Contoh pemanggilan method :

Petani pakBakri = new Petani( );

(142)

Mengembalikan Nilai (1)

Method dengan return_type bukan void dapat

mengembalikan nilai

Nilai dikembalikan ke method lain yang memanggil

(143)

Mengembalikan Nilai (2)

Syntax deklarasi method yang dapat mengembalikan

nilai :

[modifiers] return_value method_identifier([arguments]){

method_code_block;

return value;

(144)

Mengembalikan Nilai (3)

Contoh deklarasi method yang dapat mengembalikan

nilai :

Contoh pemanggilan method yang dapat

(145)

Keuntungan Menggunakan

Method

Method membuat program lebih mudah dibaca dan

mudah untuk dipelihara / di-maintain.

Method membuat proses pengembangan dan

perawatan ( maintenance ) menjadi lebih cepat.

Method merupakan dasar untuk melakukan membuat

software yang re-usable.

Method memungkinkan obyek-obyek yang berbeda

(146)

Overloading pada Method(1)

Dalam satu class dapat dibuat lebih dari 1 method

dengan identifier (nama method ) yang sama

Setiap method dengan nama yang sama harus

mempunyai komposisi argumen yang berbeda

Contoh method-method yang merupakan overload :

void simpanPanenanDiLumbung( )

void simpanPanenanDiLumbung(int jumlahPanenan)

void simpanPanenanDiLumbung(int jumlahPanenan,

(147)

Overloading pada Method(2)

(148)

Overloading pada Method(3)

(149)

Overloading pada Method(4)

(150)

Overloading pada Java API

Pada Spesifikasi Java API, terdapat method-method

overload.

Contoh : pada class PrintStream, terdapat

method-method overload :

print (boolean b)print (char c)

print (char[ ] ca) print (double d )print (int i )

(151)

Bab 11

(152)

Daftar Isi

Membuat Method dan Variabel

static

Mendeklarasikan Method static

Memanggil Method static

Mendeklarasikan Variabel static

Method static dan Variabel static pada Java APIMethod main ( )

(153)
(154)

Mendeklarasikan Method Statik

Syntax

[modifiers] static return_type method_identifier( [arguments ]){

(155)

Memanggil Method Statik

Syntax

<class_name> . <method_identifier(arguments)> ;

Perbedaan pemanggilan method statik dan

non-statik adalah :

Pemanggilan method statik dilakukan tanpa

menginstanstiasi obyek, tetapi langsung menuliskan nama class.

Pemanggilan method non-statik dilakukan dengan

(156)

Mendeklarasikan Variabel Statik

Syntax

[modifiers] static data_type identifier = value;

Perbedaan pemanggilan variabel statik dan

non-statik adalah :

Pemanggilan variabel statik dilakukan tanpa

menginstanstiasi obyek, tetapi langsung menuliskan nama class.

Pemanggilan variabel non-statik dilakukan dengan

(157)

Method Statik pada Java API

Method statik pada Java API antara lain :Pada class System :

public static Properties getProperties( )

public static String getProperty(String key)

public static SecurityManager getSecurityManager()

Pada class Math :

Public static double abs (double a)

Public static double cos (double c)

Public static double exp (double e)

(158)

Variabel Statik pada Java API

Variabel statik pada Java API antara lain :Pada class System :

public static PrintStream err

public static InputStream in

public static PrintStream out

Pada class Math :

Public static double E

(159)

Method

main ( ) (1)

Method main() adalah satu method static khusus

yang wajib ada dalam setiap aplikasi Java Standard Edition

Method main( ) adalah method yang pertama kali

dipanggil ketika sebuah aplikasi berbasis Java

dipanggil ( kecuali Applet, MIDlet, dan aplikasi yang membutuhkan server )

Syntax :

public static void main ( String[ ] args ){ main_method_code_block ;

(160)

Method

main ( ) (2)

Method main() mempunyai argumen berupa array

String

Pemanggilan program dapat dilakukan dengan

menyertakan argumen-argumennya

(161)

Kapan Menggunakan Method atau

Method Statik ?

Tidak diperlukan operasi pada obyek individualTidak diperlukan asosiasi suatu variabel kepada

sebuah obyek

Diperlukan akses variabel atau method sebelum

instanstiasi obyek

Method atau variabel secara logika bukan milik dari

(162)

Bab 12

(163)

Daftar Isi

Menggunakan Enkapsulasi Visibility Modifier

Modifier public

Potensi Masalah dengan modifier publicModifier private

Interface dan Implementasinya

Mendeskripsikan Variable Scope

Penempatan Variabel Instans dan Variabel Lokal di

Memori

Konstruktor

Mendefinisikan Konstruktor

Konstruktor Default

(164)

Menggunakan Enkapsulasi

Enkapsulasi adalah menyembunyikan data di dalam

class. Data yang disembunyikan adalah variabel instans / atribut

Pada dasarnya, obyek adalah entitas yang mengikat

data-data menjadi data-data yang eksklusif. Pengikatan ini juga dapat disebut enkapsulasi.

Dengan menggunakan obyek, data-data dapat

(165)

Modifier

public

Modifier public adalah modifier yang memberi

kemampuan tak terbatas bagi variabel atau method untuk diakses

Variabel atau method yang menggunakan modifier

public akan dapat diakses dari mana saja, baik dari

(166)

Visibility Modifier

Visibility Modifier adalah modifier-modifier yang

memberi batasan kemampuan variabel atau method untuk diakses

Beberapa visibility modifier :

(167)

Potensi Masalah dengan

Atribut

public

(168)

Potensi Masalah dengan

Atribut

public

Contoh :

(169)

Modifier

private

(1)

Modifier private membatasi aksesibilitas variabel

atau method, sehingga hanya dapat diakses oleh variabel atau method dari class yang sama.

(170)

Modifier

private

(2)

(171)

Interface dan Impementasinya (1)

Agar variabel private dapat diakses oleh class lain,

dibutuhkan interface yang dapat menghubungkan antara class yang mengakses variabel dengan

variabel tersebut

Interface tersebut berupa Method !

Interface dapat digunakan sebagai filter, sehingga

nilai data tetap berada pada selang nilai yang sesuai dengan desain, dan masuk akal, sehingga :

Persediaan padi selalu >= 0

Jumlah padi yang diambil selalu positif

(172)

Interface dan Impementasinya (2)

(173)

Interface dan Impementasinya (3)

(174)

Mendeskripsikan Variable Scope

Variable Scope : ruang lingkup keteraksesan

variabel. Pendefinisian scope menentukan pada bagian mana saja suatu variabel dapat diakses

Berdasarkan scope-nya, variabel dibagi atas 2

kategori :

instance variable : variabel yang dapat digunakan pada

semua bagian obyek

local variable

:

yaitu variabel yang hanya dapat
(175)

Penempatan Instance Variable dan

Local Variable pada Memori(1)

Instance Variable disimpan pada Heap Memory

Local Variable disimpan pada Stack Memory

Sebelum menempatkan Local Variable pada Stack

Memory, terlebih dahulu dilakukan alokasi scope

pada Stack Memory.

Local variabel akan ditempatkan pada alokasi

(176)

Penempatan Instance Variable dan

Local Variable pada Memori(2)

STACK MEMORY HEAP MEMORY 0x0ab7 lumbungDesaSukatani persediaan jumlahDiambil jumlahDimasukkan 0x0abc pesan 0x23ff

(177)

Konstruktor

Konstruktor adalah struktur yang mirip dengan

(178)

Pendefinisian Konstruktor

 Syntax pendefinisian konstruktor : [modifiers] class className {

[modifiers] ConstructorName([arguments]) { code_block;

}

}

(179)

Konstruktor Default

 Jika pada suatu class tidak didefinisikan satu konstruktor

(180)

Konstruktor Overload(1)

 Dalam satu class dapat didefinisikan lebih dari 1

konstruktor

 Setiap konstruktor tidak boleh mempunyai komposisi

argumen yang sama dengan konstruktor lain

(181)

Konstruktor Overload(2)

(182)

Referensi

Dokumen terkait

Dalam membuka sebuah bisnis banyak orang yang tidak menganalisa peluang, resiko dan pemetaan usaha sehingga mereka membuka usahanya hanya dengan menggunakan keinginan mereka

Dengan ini kami mengajukan Permohonan Bantuan Dana Penyelenggaraan Rintisan PAUD di Daerah Terpencil dan PerbatasanKepada Direktur Pembinaan Pendidikan Anak Usia

Limbah adalah buangan yang dihasilkan dari suatu proses produksi baik industri maupun domestik (rumah tangga, yang lebih dikenal sebagai sampah), yang kehadirannya pada

Kelompok Usaha mereklasifikasi keuntungan atau kerugian yang sebelumnya diakui dalam pendapatan komprehensif lain dari ekuitas ke laporan laba rugi (sebagai

Salah satu rekomendasi dari studi Masterplan Pengembangan Wilayah Sungai Walanae Cenranae, adalah pemanfaatan tampungan yang ada pada Danau Tempe untuk mengairi

Supaya aku bisa membawa pesan ke kanselir surga dan membawa kembali surat keputusan untuk kalian tanpa naik banding .‖ Dan mer eka kembali menundukan kepalanya

Menimbang, bahwa dari surat-surat tersebut ternyata bahwa sekarang Termohon Kasasi dahulu sebagai Penggugat telah menggugat cerai terhadap Pemohon Kasasi dahulu sebagai Tergugat

Penelitian ini bertujuan untuk mengetahui Langkah – langkah apa yang diambil dalam persiapan Dinas Pendidikan Provinsi Jawa Tengah untuk menghadapi Alih Kewenangan