n Konsep Dasar
Pemrograman Berorientasi Obyek 1
Pemrograman Berorientasi Obyek 1
n Daftar Isi
n Pendahuluan
n Pemrograman
¨ Pengertian
¨ Bahasa Pemrograman
¨ Level Bahasa Pemrograman
n Siklus Hidup Perangkat Lunak
¨ Analisis
¨ Desain
¨ Pengembangan ( Development )
¨ Pengujian ( Testing )
¨ Implementasi
¨ Pemeliharaan
¨ Akhir Siklus
n Pemrograman(1)
n 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
n Bahasa Pemrograman
¨ Instruksi yang dimengerti komputer : …010101001…
¨ Instruksi yang dimengerti manusia : b = a + 4
¨ Agar manusia dapat memberi instruksi kepada komputer, dibutuhkan Bahasa Pemrograman
n Level Bahasa Pemrograman
n Pemrograman(2)
n 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), misalnya: Java , .Net
n Siklus Hidup Perangkat Lunak(1)
n Analisis
¨ Penentuan scopemasalah
¨ Identifikasi komponen
n Siklus Hidup Perangkat Lunak(2)
n Desain
¨ Membuat blueprint/ cetak biru
¨ Spesifikasi teknis dari sistem yang akan dihasilkan
n Siklus Hidup Perangkat Lunak(3)
n Pengembangan
¨ Penggunaan blueprintuntuk membuat komponen aktual
¨ Jika diperlukan, komponen dapat dipecah menjadi sub-sub komponen
n Siklus Hidup Perangkat Lunak(4)
n Pengujian
¨ Evaluasi terhadap komponen-komponen : Memenuhi spesifikasi ?
n Siklus Hidup Perangkat Lunak(5)
n Pengujian
¨ Evaluasi terhadap komponen-komponen : Memenuhi spesifikasi ?
¨ Testing :
n Unit Test
n Functional Test
n Flow Graph Test
n Performance Test
n Security Test
n Integration Test
n dll
n Siklus Hidup Perangkat Lunak(6)
n Implementation
¨ Pembuatan produk :
n Instalasi produk ke komputer / devais
n Pelatihan kepada user
n Siklus Hidup Perangkat Lunak(7)
n Pemeliharaan
¨ Perbaikan terhadap masalah-masalah yang terjadi pada produk :
n Perbaikan bug
n Re-install produk
n Data recovery
n Perbaikan pada komponen
n dll
n Siklus Hidup Perangkat Lunak(8)
n Akhir Siklus
¨ Mengumpulkan feedbackdari user terhadap produk yang berjalan pada sistem
¨ Feedback à Dikumpulkan Dianalisa Keputusan : Modifikasi produk / tidak ?
n Daftar Isi
n Contoh Masalah
n Identifikasi Domain Masalah
n Identifikasi Obyek
n Seleksi Obyek
n Solusi / Hasil Analisa
n Contoh Masalah
n User : Petugas logistik pada sebuah koperasi
n Aplikasi Diminta : Sistem pelaporan stok barang yang mencatat persediaan, pemasukan, dan pengeluaran barang
n Kebijakan Koperasi :
¨ Untuk barang berupa makanan :
n Jika kedaluwarsa sudah lewat, barang dibuang
n Jika kedaluwarsa tinggal 6 bulan lagi (asumsi ketika dibeli, masa kedaluwarsa makanan > 1 tahun ), diskon harga 50%
¨ Untuk semua barang :
n Jika stok suatu item tinggal 40% dari seharusnya, harus ditambah stoknya.
n Contoh Masalah
n Identifikasi Domain Masalah
n Domain masalah : ruang lingkup permasalahan yang akan dipecahkan.
n Tujuan : fokus pada masalah
n Domain masalah dapat ditentukan dari permintaan user (User Requirement Gathering )
n Identifikasi Obyek
n Identifikasi sifat-sifat dasar dari obyek yang diperkirakan akan terlibat dalam aplikasi :
¨ Obyek : fisik / konseptual
¨ Identifikasi atribut / karakteristik
¨ Identifikasi operasi
n Membuat perkiraan obyek apa saja yang akan digunakan :
¨ Barang
¨ Supplier
¨ Koperasi
¨ Pembeli
¨ Gudang
¨ Daftar Transaksi
¨ Daftar Stok Barang
n Seleksi Obyek (1)
n Pertimbangan-pertimbangan :
¨ Relevansi dengan masalah :
n Obyek eksis pada batasan masalah ?
n Obyek dibutuhkan dalam menyelesaikan masalah ?
n User dibutuhkan sebagai bagian dari interaksi antara user dan solusi ?
¨ Eksistensi independen : sebaiknya obyek yang dibuat tidak saling tergantung dengan obyek lainnya
n Seleksi Obyek (2)
n 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
¨ Daftar Transaksi OK
¨ Daftar Stok Barang à OK
n Solusi
n Daftar Isi
n Identifikasi Komponen-komponen Class
¨ Strukturisasi Class
¨ Deklarasi Class
¨ Deklarasi Variabel dan Penugasan
¨ Pendefinisian Method
¨ Pemberian Komentar
n Membuat dan Menguji Program Java
¨ Konfigurasi yang Dibutuhkan
¨ Membuat dan Menggunakan Class
n Mengkompilasi dan Mengeksekusi Program
n Identifikasi Komponen-komponen Class (1)
n Strukturisasi Class
¨ Deklarasi Class
¨ Deklarasi dan Inisialisasi Atribut
¨ Pendefinisian Method ( optional )
¨ Komentar (Optional )
n Deklarasi Class
n Deklarasi Variabel dan Penugasan
n Pendefinisian Method
n Pemberian Komentar
n Identifikasi Komponen-komponen Class(2)
n Deklarasi Class :
¨ Tujuan : mendefinisikan data yang dibawa oleh obyek
¨ Syntax :
[modifier] class class_identifier
¨ Contoh :
public class Barang {
}
n Identifikasi Komponen-komponen Class (3)
n 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
}
n Identifikasi Komponen-komponen Class (4)
n 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;
}
}
n Identifikasi Komponen-komponen Class (5)
n 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 */
public int hargaJual ;
n Membuat dan Menguji Program Java (1)
n Membuat dan Menguji Program Java (2)
n Membuat dan Menguji Program Java (3)
n Daftar Isi
n Identifikasi Penggunaan Variabel dan Syntax
¨ Penggunaan Variabel
¨ Deklarasi dan Inisialisasi Variabel
n Mendeskripsikan Tipe Data Primitif
¨ Tipe Data Integral
¨ Tipe Data Floating-Point
¨ Tipe Data Tekstual
¨ Tipe Data Logika
¨ Memilih Tipe Data
n Mendeklarasikan Variabel dan Melewatkan Nilai ke Variabel
¨ Penamaan Variabel
¨ Melewatkan Nilai ke Variabel
¨ Konstanta
n Identifikasi Penggunaan Variabel dan Syntax (1)
Contoh Program :
n Identifikasi Penggunaan Variabel dan Syntax (2)
n Identifikasi Penggunaan Variabel dan Syntax (3)
n 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
n Deklarasi dan Inisialisasi Variabel :
[modifiers] data_type identifier [ = value ] ;
n Identifikasi Penggunaan Variabel dan Syntax (4)
n Identifikasi Penggunaan Variabel dan Syntax (5)
n Hasil Kompilasi :
n Penyebab : Variabel belum dideklarasikan !!!
n Identifikasi Penggunaan Variabel dan Syntax (6)
n Inisialisasi Variabel ( dipisah dari deklarasi ) :
n Mendeskripsikan Tipe Data Primitif (1)
n 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 true dan false ).
n Mendeskripsikan Tipe Data Primitif (2)
n Mendeskripsikan Tipe Data Primitif (3)
n Tipe Data Floating Point
n Mendeskripsikan Tipe Data Primitif (4)
n Tipe Data Tekstual : char
¨ Contoh penggunaan :
public char alphabet = ‘A’;
public char ascii = ‘\111’; // jika dicetak, akan
//menghasilkan
// huruf ‘I’;
n Tipe Data Logika : boolean
¨ Contoh penggunaan :
public boolean status = true;
public boolean check = 10 < 5 ; // nilai check menjadi
//false
public boolean hasil = (10<5) && (var==3);
n Mendeskripsikan Tipe Data Primitif (5)
n 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 memory, gunakan tipe-tipe data dengan representasi bit kecil.
n Mendeklarasikan Variabel dan Melewatkan Nilai ke Variabel (1)
n Mendeklarasikan Variabel
¨ Variabel : entitas penyimpanan data yang paling elementer
¨ Variabel lebih mengacu ke alokasi memory daripada nilai data
n Mendeklarasikan Variabel dan Melewatkan Nilai ke Variabel (2)
n 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 IV.3, tidak dapat dijadikan nama identifier variabel.
¨ Kata kunci yang tidak dapat dijadikan nama variabel :
n Mendeklarasikan Variabel dan Melewatkan Nilai ke Variabel (3)
n Penamaan Variabel :
¨ Contoh nama variabel yang valid :
n @2var
n _status
n tanggal
n jumlahBarang
n nama_kecil
n final_test
n int_float
n Melewatkan Nilai ke Variabel
¨ Contoh :
n Mendeklarasikan Variabel dan Melewatkan Nilai ke Variabel (4)
n Penamaan Variabel :
¨ Contoh nama variabel yang valid :
n @2var
n _status
n tanggal
n jumlahBarang
n nama_kecil
n final_test
n int_float
n Melewatkan Nilai ke Variabel
¨ Contoh :
n Menyimpan Variabel Primitif dan Konstanta pada Memory
n Daftar Isi
n Menggunakan Operator Aritmatika untuk Memodifikasi Nilai
n Menggunakan Operator Bitwise untuk Memodifikasi Nilai
n Prioritas Operator
n Menggunakan Promosi dan Type Casting
¨ Promosi
¨ Type Casting
¨ Beberapa Catatan Promosi dan Type Casting
n Menggunakan Operator Aritmatika Untuk Mengubah Nilai (1)
n Menggunakan Operator Aritmatika Untuk Mengubah Nilai (2)
n Operator Aritmatika Unary
n Menggunakan Operator Bitwise Untuk Mengubah Nilai (1)
n Operator Bitwise
n Menggunakan Operator Bitwise Untuk Mengubah Nilai (2)
n Shift Kanan
n Shift Kiri
n Menggunakan Operator Bitwise Untuk Mengubah Nilai (3)
n Shift Kanan Dengan Penambahan ‘0’ pada Bit-bit Kiri
n Operator ‘&’
n Menggunakan Operator Bitwise Untuk Mengubah Nilai (4)
n Operator ‘|’
n Operator ‘^’
n Menggunakan Operator Bitwise Untuk Mengubah Nilai (5)
n Operator ‘~’
n Prioritas Operator (1)
n Prioritas dari yang paling dahulu dikerjakan :
¨ Operator pada tanda kurung “(…)”
¨ Operator-operator Increment dan Decrement
¨ Operator Perkalian dan Pembagian
¨ Operator Penjumlahan dan Pengurangan
¨ Operator Bitwise, dari kiri ke kanan
n Prioritas Operator (2)
n 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;
n Contoh 2:
int c = 3 + 4 >> 1 + 1 << 1;
Urutan Operasinya :
int c = 7 >> 1 + 1 << 1;
int c = 7 >> 2 << 1;
int c = 1 << 1;
int c = 2;
n Promosi dan Type-Casting (1)
n Promosi
¨ proses pengubahan representasi bit variabel primitif dari representasi bit yang lebih rendah ke representasi bit yang lebih tinggi
n Promosi karena assigningtipe data dengan representasi bit yang lebih tinggi ke yang lebih rendah
¨ Contoh :
short a = 12;
int b = a ; // nilai a promosi ke integer
n Promosi karena assigningtipe data integral ke tipe data floating-point
¨ Contoh :
int a = 30;
float b = a ;
n Promosi dan Type-Casting(2)
n Type-Casting
¨ proses pengubahan representasi bit variabel primitif dari representasi bit yang lebih tinggi ke representasi bit yang lebih rendah.
n Syntax :
identifier = (target_type) value ;
n 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 pernyataan : (short) (num1+num2)
n Promosi dan Type-Casting(3)
n 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
n Beberapa Catatan Promosi & Casting (1)
n 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);
Output : 3703629630 ( = 55555 * 66666 )
n Beberapa Catatan Promosi & Casting (2)
n 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 ruas kanan berbeda tipe datanya ( semuanya masih termasuk tipe data integral ), dan salah satu tipe data merupakan tipe data yang representasi bitnya di atas integer, yaitu long, maka hasil operasi aritmatika tersebut akan diasumsikan sebagai long
n Beberapa Catatan Promosi & Casting (3)
n 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 floating-point yang mengikuti tipe data floating-point dengan representasi bit tertinggi pada ruas kanan operasi aritmatika tersebut
n Daftar Isi
n Deklarasi Referensi Obyek, Instanstiasi Obyek, dan Inisialisasi Obyek :
¨ Deklarasi Referensi Obyek
¨ Instanstiasi dan Inisialisasi Obyek
¨ Menggunakan Variabel Referensi Obyek untuk Memanipulasi Data
n Deklarasi Referensi Obyek (1)
n Selain Variabel Primitif, terdapat satu jenis variabel lagi, yaitu : Variabel Referensi Obyek
n Ilustrasi :
n Deklarasi Referensi Obyek(2)
n Letak variabel referensi obyek pada memory :
n Deklarasi Referensi Obyek(3)
n Syntax :
Classname identifier ;
n Contoh :
n Inisialisasi Variabel Referensi Obyek (1)
n Syntax :
Classname identifier = new Classname ( ) ;
atau
Classname identifier ;
identifier = new Classname ( );
n Contoh :
n Inisialisasi Variabel Referensi Obyek(2)
n Hasil akhir pada memory :
n Menggunakan Variabel Referensi Obyek untuk Memanipulasi Data
n Contoh :
n Memindahkan Referensi dari Satu Obyek ke Obyek yang Lain (1)
n Contoh :
n Memindahkan Referensi dari Satu Obyek ke Obyek yang Lain (2)
n Daftar Isi
n Menggunakan Class String
¨ Instanstiasi String dengan Kata Kunci new
¨ Instanstiasi String tanpa Kata Kunci new
¨ Penggunaan Operator ‘==‘ dan Method equals( ) untuk Membandingkan Dua Buah String
n Investigasi Pustaka Class Java
¨ Spesifikasi Pustaka Class Java
¨ Mempelajari Spesifikasi Pustaka Class-class Java untuk Mempelajari Method
n Menggunakan Class String
n Keunikan String :
¨ Merupakan kumpulan karakter yang jumlahnya dari 0 sampai memori tidak mencukupi
¨ Dapat diinstanstiasi tanpa kata kunci new
n Contoh penggunaan String :
n Instanstiasi String dengan new
n 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
n Literal pool : satu blok alokasi memory pada Heap Memory yang khusus berisi kumpulan String literal. Alokasi literal pool ini dimaksudkan untuk mengakomodasi apabila terdapat lebih dari satu obyek String yang mereferensi ke literal yang sama, tidak perlu membuat 2 string literal dengan komposisi karakter yang sama, tetapi cukup hanya 1 string literal saja.
n Instanstiasi String tanpa new
n Instanstiasi String dengan new : JVM akan membentuk 1 buah obyek :
¨ Obyek String : memuat referensi ke suatu String literal pada literal pool.
n String literal akan dibentuk apabila representasi karakter obyek String belum ada di Literal Pool
n Hasil Instanstiasi String
n Penggunaan ‘==‘ dan Method equals( ) untuk Membandingkan dua buah String
n Investigasi Pustaka Class Java (1)
n Investigasi Pustaka Class Java (2)
n Daftar Isi
n Menggunakan Operator Relasional dan Kondisional
¨ Operator Relasional
¨ Operator Kondisional
n Konstruksi Pengambilan Keputusan
¨ Konstruksi if
¨ Konstruksi if … else
¨ Konstruksi switch
n Menggunakan Operator Relasional dan Kondisional
n Operator Relasional digunakan untuk mengevaluasi variabel
n Operator Kondisional digunakan untuk mengevaluasi kondisi
n Operator Relasional dan Kondisional akan menghasilkan nilai true atau false
n Operator Relasional (1)
n Membandingkan suatu variabel dengan variabel lain, atau variabel dengan sebuah nilai
n Operator Relasional :
n Operator Relasional (2)
n Contoh 1 :
int i = 1;
System.out.println(i==1);
Keluaran : true
n Contoh 2 :
int i = 1;
System.out.println(i>1);
Keluaran : false
n Operator Kondisional (1)
n Membandingkan suatu kondisi dengan kondisi lain
n Operator Kondisional :
n Operator Kondisional (2)
n Contoh 1 :
int i = 1;
int j = 2;
System.out.println ( ( i < 1 ) && ( j > 0 ) ) ;
Keluaran : false
n Contoh 2 :
int i = 1;
int j = 2;
System.out.println ( ( i < 1) || ( j > 0) ) ;
Keluaran : true
n Konstruksi Pengambilan Keputusan
n Konstruksi yang memungkinkan program melakukan evaluasi terhadap variabel / kondisi kemudian menjalankan alur program yang sesuai dengan kondisi.
n Konstruksi Pengambilan Keputusan :
¨ Konstruksi if
¨ Konstruksi if … else
¨ Konstruksi switch
n Konstruksi if (1)
n Konstruksi pengambilan keputusan dengan 2 kemungkinan keputusan.
n Konstruksi if (2)
n Syntax
if ( boolean_expression ){
code block;
} //akhir dari konstruksi ‘if’
//program dilanjutkan
n Contoh :
n Konstruksi if … else (1)
n Konstruksi if … else (2)
n Konstruksi if … else (3)
n Konstruksi switch(1)
n Konstruksi switch(2)
n Konstruksi switch(3)
n Konstruksi switch(4)
n Daftar Isi
n Konstruksi Loop
n Membuat Loop Menggunakan While
n Membuat Loop Menggunakan For
n Membuat Loop Menggunakan Do/While
n Loop Bersarang ( Nested Loop )
n Perbandingan Konstruksi Loop
nKonstruksi Loop
n Konstruksi Loop adalah konstruksi yang digunakan untuk mengakomodasi pengulangan proses
n Konstruksi Loop diperlukan untuk lebih mengefisienkan penulisan kode program, sehingga tidak perlu dilakukan pengulangan penulisan kode untuk merepresentasikan suatu proses yang berulang.
n Konstruksi Loop :
¨ while
¨ for
¨ do..while
nKonstruksi while(1)
n Konstruksi while adalah konstruksi loop yang jumlah perulangannya tergantung pada suatu kondisi logika tertentu
n Syntax :
while(boolean_expression){
code_block;
} //akhir dari konstruksi while
//program dilanjutkan di sini
nKonstruksi while (2)
n Contoh :
nKonstruksi while (3)
n Tabel Perkembangan Nilai Variabel :
nKonstruksi while (3)
n Penggunaan while(true): jika code block tidak mengandung pemeriksaan kondisi untuk mengakhiri loop, maka loop akan terus dijalankan
n Jika menggunakan while(true), buatlah pemeriksaan kondisi untuk keluar dari loop
n Contoh :
nKonstruksi for (1)
n Ada beberapa segmen yang dipertimbangkan pada konstruksi for :
¨ segmen inisialisasi
¨ segmen boolean_expression
¨ segmen update
n Syntax :
for(initialize[,initialize] ; boolean_expression ;update[,update]){
code_block;
}
nKonstruksi for (2)
n Contoh :
nKonstruksi for (3)
n Tabel perkembangan nilai variable
nKonstruksi do…while
n Mirip dengan konstruksi while
n Perbedaan dengan konstruksi while :
¨ Looping dijalankan terlebih dahulu
¨ Dilakukan pemeriksaan kondisi
n Contoh :
nLoop Bersarang
(Nested Loop) (1)
(Nested Loop) (1)
n Looping di dalam Looping dapat diterapkan pada pemrograman Java
n Konstruksi yang digunakan dalam nested loop tidak dibatasi
n Contoh :
nLoop Bersarang
(Nested Loop) (2)
(Nested Loop) (2)
n Keluaran Program :
@@@@@
@@@@@
@@@@@
@@@@@
@@@@@
nPerbandingan Konstruksi Loop
n Konstruksi while : lebih tepat digunakan untuk membuat iterasi dengan jumlah iterasi yang tidak pasti dan untuk jumlah iterasi dari nol sampai beberapa kali
n Konstruksi do…while : , lebih tepat digunakan untuk membuat iterasi dengan jumlah iterasi yang tidak pasti , dan untuk jumlah iterasi dari satu sampai beberapa kali
n Konstruksi for : lebih tepat digunakan untuk membuat iterasi dengan jumlah iterasi yang pasti dan berhingga
n Pernyataan Continue
n Pernyataan continue (2)
n Daftar Isi
n Pengertian Method
n Membuat dan Memanggil ( Invoke ) Method
¨ Bentuk Dasar Method
¨ Memanggil Method dari Class yang Berbeda
¨ Memanggil Method dari Class yang Sama
n 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
n Overloading pada Method
n Pengertian Method
n Method adalah satu kontainer pada class yang memuat baris-baris kode
n Semua baris kode pada pemrograman Java harus berada pada blok method, dan semua method harus berada di dalam blok class
n Method dapat dianalogikan sebagai fungsi. Contoh :
F ( x , y ) = x + y
F ( x, y ) dapat dikatakan sebagai method
nMembuat dan Memanggil
( Invoke ) Method (1)
( Invoke ) Method (1)
n Method dibuat / didefinisikan pada saat mendefinisikan class
n Syntax :
[modifiers] return_type method_identifier ([arguments]){
method_code_block;
}
nMembuat dan Memanggil
( Invoke ) Method(2)
( Invoke ) Method(2)
n Contoh :
nMembuat dan Memanggil
( Invoke ) Method(3)
( Invoke ) Method(3)
n Contoh (lanj.) :
nMembuat dan Memanggil
( Invoke ) Method(4)
( Invoke ) Method(4)
n Contoh (lanj.) :
nMemanggil Method dari Class yang Berbeda
n Contoh :
n Syntax :
< object identifier > . < method identifier ([arguments])> ;
nMemanggil Method dari Class yang Sama
n Contoh :
n Syntax :
<method identifier([arguments])>;
nMelewatkan Argumen (1)
n Method dapat memiliki argumen
n Argumen dapat disebut sebagai variabel dummy, atau parameter
n Dalam pemanggilan method, dapat dilakukan passing argumen ( pelewatan argumen ), dengan nilai yang tipe datanya sama dengan tipe data parameter
nMelewatkan Argumen (2)
n Syntax deklarasi method berargumen :
[modifiers] return_type method_identifier (
data_type argument_identifier_1 [,
data_type argument_identifier_n] ) {
code_block;
}
nMelewatkan Argumen (3)
n Contoh method dengan parameter :
¨ Class LumbungPadi :
public void simpanPadi(int tambahanPadi){
padiDisimpan = padiDisimpan + tambahanPadi;
}
¨ Class Petani :
public void simpanPanenanDiLumbung(int jumlahPanenan ){
lumbung.simpanPadi(jumlahPanenan);
}
n Contoh pemanggilan method :
Petani pakBakri = new Petani( );
pakBakri.simpanPanenanDiLumbung(100 );
nMengembalikan Nilai (1)
n Method dengan return_typebukan void dapat mengembalikan nilai
n Nilai dikembalikan ke method lain yang memanggil method tersebut
nMengembalikan Nilai (2)
n Syntax deklarasi method yang dapat mengembalikan nilai :
[modifiers] return_value method_identifier([arguments]){
method_code_block;
return value;
}
nMengembalikan Nilai (3)
n Contoh deklarasi method yang dapat mengembalikan nilai :
n Contoh pemanggilan method yang dapat mengembalikan nilai :
nKeuntungan Menggunakan Method
n Method membuat program lebih mudah dibaca dan mudah untuk dipelihara / di-maintain.
n Method membuat proses pengembangan dan perawatan ( maintenance ) menjadi lebih cepat.
n Method merupakan dasar untuk melakukan membuat software yang re-usable.
n Method memungkinkan obyek-obyek yang berbeda untuk berkomunikasi dan untuk mendistribusikan beban kerja yang dipikul oleh program.
nOverloading pada Method(1)
n Dalam satu class dapat dibuat lebih dari 1 method dengan identifier (nama method ) yang sama
n Setiap method dengan nama yang sama harus mempunyai komposisi argumen yang berbeda
n Contoh method-method yang merupakan overload :
¨ void simpanPanenanDiLumbung( )
¨ void simpanPanenanDiLumbung(int jumlahPanenan)
¨ void simpanPanenanDiLumbung(int jumlahPanenan, LumbungPadi lb )
nOverloading pada Method(2)
n Contoh :
nOverloading pada Method(3)
n Contoh (lanj.) :
nOverloading pada Method(4)
n Contoh (lanj.) :
nOverloading pada Java API
n Pada Spesifikasi Java API, terdapat method-method overload.
n Contoh : pada class PrintStream, terdapat method-method overload :
¨ print (boolean b)
¨ print (char c)
¨ print (char[ ] ca)
¨ print (double d )
¨ print (int i )
¨ print (Object o )
¨ dll
n Daftar Isi
n Membuat Method dan Variabel static
¨ Mendeklarasikan Method static
¨ Memanggil Method static
¨ Mendeklarasikan Variabel static
¨ Method static dan Variabel static pada Java API
¨ Method main ( )
¨ Kapan Mendeklarasikan Method atau Variabel static ?
n Membuat Method dan Variabel statik
n Mendeklarasikan Method Statik
n Syntax
[modifiers] static return_type method_identifier( [arguments ]){
method_code_block;
}
n Memanggil Method Statik
n Syntax
<class_name> . <method_identifier(arguments)> ;
n 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 terlebih dahulu menginstanstiasi obyek
n Mendeklarasikan Variabel Statik
n Syntax
[modifiers] static data_type identifier = value;
n 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 terlebih dahulu menginstanstiasi obyek
n Method Statik pada Java API
n Method statik pada Java API antara lain :
¨ Pada class System :
n public static Properties getProperties( )
n public static String getProperty(String key)
n public static SecurityManager getSecurityManager()
¨ Pada class Math :
n Public static double abs (double a)
n Public static double cos (double c)
n Public static double exp (double e)
n Public static double max (double a, double b)
n Variabel Statik pada Java API
n Variabel statik pada Java API antara lain :
¨ Pada class System :
n public static PrintStream err
n public static InputStream in
n public static PrintStream out
¨ Pada class Math :
n Public static double E
n Public static double PI
n Method main ( ) (1)
n Method main() adalah satu method static khusus yang wajib ada dalam setiap aplikasi Java Standard Edition
n Method main( )adalah method yang pertama kali dipanggil ketika sebuah aplikasi berbasis Java dipanggil ( kecuali Applet, MIDlet, dan aplikasi yang membutuhkan server )
n Syntax :
public static void main ( String[ ] args ){
main_method_code_block ;
}
n Method main ( ) (2)
n Method main() mempunyai argumen berupa array String
n Pemanggilan program dapat dilakukan dengan menyertakan argumen-argumennya
n Contoh pemanggilan program dengan argumen :
C:> java KegiatanPanen petani1 petani2 petani3
n Kapan Menggunakan Method atau Method Statik ?
n Tidak diperlukan operasi pada obyek individual
n Tidak diperlukan asosiasi suatu variabel kepada sebuah obyek
n Diperlukan akses variabel atau method sebelum instanstiasi obyek
n Method atau variabel secara logika bukan milik dari sebuah obyek, tetapi milik sebuah class utilitas. Contohnya class Math pada Java API
n Daftar Isi
n Menggunakan Enkapsulasi
¨ Visibility Modifier
¨ Modifier public
¨ Potensi Masalah dengan modifier public
¨ Modifier private
¨ Interface dan Implementasinya
n Mendeskripsikan Variable Scope
¨ Penempatan Variabel Instans dan Variabel Lokal di Memori
n Konstruktor
¨ Mendefinisikan Konstruktor
¨ Konstruktor Default
¨ Konstruktor Overload
n Menggunakan Enkapsulasi
n Enkapsulasi adalah menyembunyikan data di dalam class. Data yang disembunyikan adalah variabel instans / atribut
n Pada dasarnya, obyek adalah entitas yang mengikat data-data menjadi data-data yang eksklusif. Pengikatan ini juga dapat disebut enkapsulasi.
n Dengan menggunakan obyek, data-data dapat dimanipulasi aksesibilitasnya
n Modifier public
n Modifier public adalah modifier yang memberi kemampuan tak terbatas bagi variabel atau method untuk diakses
n Variabel atau method yang menggunakan modifier public akan dapat diakses dari mana saja, baik dari dalam class sendiri, maupun dari class lain.
n Visibility Modifier
n Visibility Modifier adalah modifier-modifier yang memberi batasan kemampuan variabel atau method untuk diakses
n Beberapa visibility modifier :
¨ public
¨ private
n Potensi Masalah dengan
Atribut public
Atribut public
n Contoh :
n Potensi Masalah dengan
Atribut public
Atribut public
n Contoh :
n Output : Persediaan = -100 à Mungkinkah ???
n Modifier private (1)
n Modifier privatemembatasi aksesibilitas variabel atau method, sehingga hanya dapat diakses oleh variabel atau method dari class yang sama.
n Contoh :
n Modifier private (2)
n Hasil Kompilasi :
n Interface dan Impementasinya (1)
n Agar variabel privatedapat diakses oleh class lain, dibutuhkan interface yang dapat menghubungkan antara class yang mengakses variabel dengan variabel tersebut
n Interface tersebut berupa Method !
n 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
¨ Jumlah padi yang dimasukkan selalu positif
n Interface dan Impementasinya (2)
n Contoh :
n Interface dan Impementasinya (3)
n Hasil eksekusi program :
n Mendeskripsikan Variable Scope
n Variable Scope : ruang lingkup keteraksesan variabel. Pendefinisian scope menentukan pada bagian mana saja suatu variabel dapat diakses
n 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 digunakan pada method yang mendeklarasikannya
n Penempatan Instance Variable dan Local Variable pada Memori(1)
n Instance Variable disimpan pada Heap Memory
n Local Variable disimpan pada Stack Memory
n Sebelum menempatkan Local Variable pada Stack Memory, terlebih dahulu dilakukan alokasi scopepada Stack Memory.
n Local variabel akan ditempatkan pada alokasi memory yang termasuk dalam scope
n Penempatan Instance Variable dan Local Variable pada Memori(2)
n Konstruktor
n Pendefinisian Konstruktor
n Konstruktor Default
n Konstruktor Overload(1)
n Konstruktor Overload(2)
n Konstruktor Overload(3)
0 komentar:
Posting Komentar