Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehMartin Salma Telah diubah "10 tahun yang lalu
1
Konsep Dasar Pemrograman Berorientasi Obyek 1
JAVA
2
BAB 1 PEMROGRAMAN DAN SIKLUS HIDUP PERANGKAT LUNAK
3
Daftar Isi Pendahuluan Pemrograman Siklus Hidup Perangkat Lunak
Pengertian Bahasa Pemrograman Level Bahasa Pemrograman Siklus Hidup Perangkat Lunak Analisis Desain Pengembangan ( Development ) Pengujian ( Testing ) Implementasi Pemeliharaan Akhir Siklus
4
Pemrograman(1) Pengertian Bahasa Pemrograman Level Bahasa Pemrograman
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 : … … Instruksi yang dimengerti manusia : b = a + 4 Agar manusia dapat memberi instruksi kepada komputer, dibutuhkan Bahasa Pemrograman Level 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), misalnya: Java , .Net
6
Siklus Hidup Perangkat Lunak(1)
Analisis Penentuan scope masalah Identifikasi komponen
7
Siklus Hidup Perangkat Lunak(2)
Desain Membuat blueprint / cetak biru Spesifikasi teknis dari sistem yang akan dihasilkan
8
Siklus Hidup Perangkat Lunak(3)
Pengembangan Penggunaan blueprint untuk membuat komponen aktual Jika diperlukan, komponen dapat dipecah menjadi sub-sub komponen
9
Siklus Hidup Perangkat Lunak(4)
Pengujian Evaluasi terhadap komponen-komponen : Memenuhi spesifikasi ?
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 dll
11
Siklus Hidup Perangkat Lunak(6)
Implementation Pembuatan produk : Instalasi produk ke komputer / devais Pelatihan kepada user
12
Siklus Hidup Perangkat Lunak(7)
Pemeliharaan Perbaikan terhadap masalah-masalah yang terjadi pada produk : Perbaikan bug Re-install produk Data recovery Perbaikan pada komponen dll
13
Siklus Hidup Perangkat Lunak(8)
Akhir Siklus Mengumpulkan feedback dari user terhadap produk yang berjalan pada sistem Feedback Dikumpulkan Dianalisa Keputusan : Modifikasi produk / tidak ?
14
Bab 2 ANALISIS MASALAH MENGGUNAKAN KONSEP OBJECT-ORIENTED ANALYSIS
15
Daftar Isi Contoh Masalah Identifikasi Domain Masalah
Identifikasi Obyek Seleksi Obyek Solusi / Hasil Analisa
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 ditambah stoknya.
17
Contoh Masalah
18
Identifikasi Domain Masalah
Domain masalah : ruang lingkup permasalahan yang akan dipecahkan. Tujuan : fokus pada masalah Domain masalah dapat ditentukan dari permintaan user (User Requirement Gathering )
19
Identifikasi Obyek Identifikasi sifat-sifat dasar dari obyek yang diperkirakan akan terlibat dalam aplikasi : Obyek : fisik / konseptual Identifikasi atribut / karakteristik Identifikasi operasi Membuat perkiraan obyek apa saja yang akan digunakan : Barang Supplier Koperasi Pembeli Gudang Daftar Transaksi Daftar Stok Barang
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 tidak saling tergantung dengan obyek lainnya
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 Daftar Transaksi OK Daftar Stok Barang OK
22
Solusi
23
Bab 3 MEMBUAT DAN MENGUJI PROGRAM JAVA
24
Daftar Isi Identifikasi Komponen-komponen Class
Strukturisasi Class Deklarasi Class Deklarasi Variabel dan Penugasan Pendefinisian Method Pemberian Komentar Membuat dan Menguji Program Java Konfigurasi yang Dibutuhkan Membuat dan Menggunakan Class Mengkompilasi dan Mengeksekusi Program
25
Identifikasi Komponen-komponen Class (1)
Strukturisasi Class Deklarasi Class Deklarasi dan Inisialisasi Atribut Pendefinisian Method ( optional ) Komentar (Optional ) Deklarasi Variabel dan Penugasan Pendefinisian Method Pemberian Komentar
26
Identifikasi Komponen-komponen Class(2)
Deklarasi Class : Tujuan : mendefinisikan data yang dibawa oleh obyek Syntax : [modifier] class class_identifier Contoh : public class Barang { }
27
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 }
28
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;
29
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 */ public int hargaJual ;
30
Membuat dan Menguji Program Java (1)
Konfigurasi yang Dibutuhkan : Java Runtime Environment ( JRE ) JRE dapat didownload dari :
31
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; } Class disimpan dalam file : Barang.java
32
Membuat dan Menguji Program Java (3)
Mengkompilasi Program : C:\Latihan>javac Barang.java Mengeksekusi Program : C:\Latihan>java Barang
33
Bab 4 DEKLARASI, INISIALISASI, DAN PENGGUNAAN VARIABEL
34
Daftar Isi Identifikasi Penggunaan Variabel dan Syntax
Deklarasi dan Inisialisasi Variabel Mendeskripsikan 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 Konstanta
35
Identifikasi Penggunaan Variabel dan Syntax (1)
Contoh Program :
36
Identifikasi Penggunaan Variabel dan Syntax (2)
37
Identifikasi Penggunaan Variabel dan Syntax (3)
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 : [modifiers] data_type identifier [ = value ] ;
38
Identifikasi Penggunaan Variabel dan Syntax (4)
39
Identifikasi Penggunaan Variabel dan Syntax (5)
Hasil Kompilasi : Penyebab : Variabel belum dideklarasikan !!!
40
Identifikasi Penggunaan Variabel dan Syntax (6)
Inisialisasi Variabel ( dipisah dari deklarasi ) :
41
Mendeskripsikan Tipe Data Primitif (1)
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 ).
42
Mendeskripsikan Tipe Data Primitif (2)
43
Mendeskripsikan Tipe Data Primitif (3)
Tipe Data Floating Point
44
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 public boolean status = true; public boolean check = 10 < 5 ; // nilai check menjadi //false public boolean hasil = (10<5) && (var==3);
45
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 memory, gunakan tipe-tipe data dengan representasi bit kecil.
46
Mendeklarasikan Variabel dan Melewatkan Nilai ke Variabel (1)
Variabel : entitas penyimpanan data yang paling elementer Variabel lebih mengacu ke alokasi memory daripada nilai data
47
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 IV.3, tidak dapat dijadikan nama identifier variabel. Kata kunci yang tidak dapat dijadikan nama variabel :
48
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 Melewatkan Nilai ke Variabel Contoh :
49
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 Melewatkan Nilai ke Variabel Contoh :
50
Menyimpan Variabel Primitif dan Konstanta pada Memory
51
Bab 5 MENGGUNAKAN OPERATOR ARITMETIKA DAN BITWISE
52
Daftar Isi Menggunakan Operator Aritmatika untuk Memodifikasi Nilai
Menggunakan Operator Bitwise untuk Memodifikasi Nilai Prioritas Operator Menggunakan Promosi dan Type Casting Promosi Type Casting Beberapa Catatan Promosi dan Type Casting
53
Menggunakan Operator Aritmatika Untuk Mengubah Nilai (1)
54
Menggunakan Operator Aritmatika Untuk Mengubah Nilai (2)
Operator Aritmatika Unary
55
Menggunakan Operator Bitwise Untuk Mengubah Nilai (1)
56
Menggunakan Operator Bitwise Untuk Mengubah Nilai (2)
Shift Kanan Shift Kiri
57
Menggunakan Operator Bitwise Untuk Mengubah Nilai (3)
Shift Kanan Dengan Penambahan ‘0’ pada Bit-bit Kiri Operator ‘&’
58
Menggunakan Operator Bitwise Untuk Mengubah Nilai (4)
59
Menggunakan Operator Bitwise Untuk Mengubah Nilai (5)
60
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 Operator Bitwise, dari kiri ke kanan
61
Prioritas Operator (2) Contoh 1: Contoh 2: Urutan Operasinya :
int c = 12 * 3 +5 / (8 - 3) ; Urutan Operasinya : int c = 12 * / 5 ; int c = / 5; int c = ; int c = 37; Contoh 2: int c = >> << 1; int c = 7 >> << 1; int c = 7 >> 2 << 1; int c = 1 << 1; int c = 2;
62
Promosi dan Type-Casting (1)
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 int a = 30; float b = a ;
63
Promosi dan Type-Casting(2)
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 pernyataan : (short) (num1+num2)
64
Promosi dan Type-Casting(3)
Type-Casting merupakan proses pemotongan bit Misalnya : Type-casting dari float ke int Contoh : int num1; long num2 = L; num1 = (int)(num2); num1 akan bernilai
65
Beberapa Catatan Promosi & Casting (1)
Operasi Aritmatika Menghasilkan Nilai di Luar Batas Tipe Data Contoh : int a = 55555; int b = ; int c = a * b System.out.println(c); Output : ( != * ) Solusi : long b = ; long c = a * b; System.out.println(c); Output : ( = * )
66
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 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
67
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 floating-point yang mengikuti tipe data floating-point dengan representasi bit tertinggi pada ruas kanan operasi aritmatika tersebut
68
Bab 6 MEMBUAT DAN MENGGUNAKAN OBYEK
69
Daftar Isi Deklarasi Referensi Obyek, Instanstiasi Obyek, dan Inisialisasi Obyek : Deklarasi Referensi Obyek Instanstiasi dan Inisialisasi Obyek Menggunakan Variabel Referensi Obyek untuk Memanipulasi Data
70
Deklarasi Referensi Obyek (1)
Selain Variabel Primitif, terdapat satu jenis variabel lagi, yaitu : Variabel Referensi Obyek Ilustrasi :
71
Deklarasi Referensi Obyek(2)
Letak variabel referensi obyek pada memory :
72
Deklarasi Referensi Obyek(3)
Syntax : Classname identifier ; Contoh :
73
Inisialisasi Variabel Referensi Obyek (1)
Syntax : Classname identifier = new Classname ( ) ; atau Classname identifier ; identifier = new Classname ( ); Contoh :
74
Inisialisasi Variabel Referensi Obyek(2)
Hasil akhir pada memory :
75
Menggunakan Variabel Referensi Obyek untuk Memanipulasi Data
Contoh :
76
Memindahkan Referensi dari Satu Obyek ke Obyek yang Lain (1)
Contoh :
77
Memindahkan Referensi dari Satu Obyek ke Obyek yang Lain (2)
78
Bab 7 MENGGUNAKAN CLASS STRING DAN PUSTAKA JAVA
79
Daftar Isi Menggunakan Class String Investigasi Pustaka Class Java
Instanstiasi String dengan Kata Kunci new Instanstiasi String tanpa Kata Kunci new Penggunaan Operator ‘==‘ dan Method equals( ) untuk Membandingkan Dua Buah String Investigasi Pustaka Class Java Spesifikasi Pustaka Class Java Mempelajari Spesifikasi Pustaka Class-class Java untuk Mempelajari Method
80
Menggunakan Class String
Keunikan String : Merupakan kumpulan karakter yang jumlahnya dari 0 sampai memori tidak mencukupi Dapat diinstanstiasi tanpa kata kunci new Contoh penggunaan String :
81
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 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.
82
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 karakter obyek String belum ada di Literal Pool
83
Hasil Instanstiasi String
84
Penggunaan ‘==‘ dan Method equals( ) untuk Membandingkan dua buah String
Penggunaan ‘==‘ : lebih menekankan apakah kedua obyek String tersebut menunjuk ke string literal yang sama Penggunaan method equals () : lebih menekankan apakah representasi karakter kedua String sama atau tidak
85
Investigasi Pustaka Class Java (1)
Spesifikasi Pustaka Class-class Java : Java Software Development Kit (SDK ) Documentation
86
Investigasi Pustaka Class Java (2)
Menggunakan Spesifikasi Pustaka Java untuk Mempelajari Method : Daftar Field Daftar Method
87
Bab 8 MENGGUNAKAN OPERATOR DAN KONSTRUKSI PENGAMBILAN KEPUTUSAN
88
Daftar Isi Menggunakan Operator Relasional dan Kondisional
Operator Kondisional Konstruksi Pengambilan Keputusan Konstruksi if Konstruksi if … else Konstruksi switch
89
Menggunakan Operator Relasional dan Kondisional
Operator Relasional digunakan untuk mengevaluasi variabel Operator Kondisional digunakan untuk mengevaluasi kondisi Operator Relasional dan Kondisional akan menghasilkan nilai true atau false
90
Operator Relasional (1)
Membandingkan suatu variabel dengan variabel lain, atau variabel dengan sebuah nilai Operator Relasional :
91
Operator Relasional (2)
Contoh 1 : int i = 1; System.out.println(i==1); Keluaran : true Contoh 2 : System.out.println(i>1); Keluaran : false
92
Operator Kondisional (1)
Membandingkan suatu kondisi dengan kondisi lain Operator Kondisional :
93
Operator Kondisional (2)
Contoh 1 : int i = 1; int j = 2; System.out.println ( ( i < 1 ) && ( j > 0 ) ) ; Keluaran : false Contoh 2 : System.out.println ( ( i < 1) || ( j > 0) ) ; Keluaran : true
94
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 Konstruksi if … else Konstruksi switch
95
Konstruksi if (1) Konstruksi pengambilan keputusan dengan 2 kemungkinan keputusan.
96
Konstruksi if (2) Syntax Contoh : if ( boolean_expression ){
code block; } //akhir dari konstruksi ‘if’ //program dilanjutkan Contoh :
97
Konstruksi if … else (1) Digunakan sebagai konstruksi pengambilan keputusan yang memiliki beberapa kemungkinan keputusan.
98
Konstruksi if … else (2) Syntax if ( boolean_expression_1 ){
code block 1; } else if ( boolean_expression_2 ){ code block 2; . else{ code block n;
99
Konstruksi if … else (3) Contoh
100
Konstruksi switch(1) Digunakan untuk mengambil keputusan yang mengevaluasi kemungkinan-kemungkinan nilai dari variabel yang dievaluasi
101
Konstruksi switch(2) Syntax switch( variabel ) {
case nilai_literal_1 : code_block_1; [ break; ] case nilai_literal_2 : code_block_2; . [default:] code_block_default; }
102
Konstruksi switch(3) Contoh :
103
Konstruksi switch(4) Variabel yang dapat dievaluasi menggunakan konstruksi switch adalah variabel yang bertipe-data : int short byte char 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 default ini akan dieksekusi
104
Bab 9 KONSTRUKSI LOOP
105
Daftar Isi Konstruksi Loop Membuat Loop Menggunakan While
Membuat Loop Menggunakan For Membuat Loop Menggunakan Do/While Loop Bersarang ( Nested Loop ) Perbandingan Konstruksi Loop
106
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 do..while
107
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 //program dilanjutkan di sini
108
Konstruksi while (2) Contoh :
109
Konstruksi while (3) Tabel Perkembangan Nilai Variabel :
110
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 Contoh :
111
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]){ code_block; }
112
Konstruksi for (2) Contoh :
113
Konstruksi for (3) Tabel perkembangan nilai variable
114
Konstruksi do…while Mirip dengan konstruksi while
Perbedaan dengan konstruksi while : Looping dijalankan terlebih dahulu Dilakukan pemeriksaan kondisi Contoh :
115
Loop Bersarang (Nested Loop) (1)
Looping di dalam Looping dapat diterapkan pada pemrograman Java Konstruksi yang digunakan dalam nested loop tidak dibatasi Contoh :
116
Loop Bersarang (Nested Loop) (2)
Keluaran Program :
117
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 dengan jumlah iterasi yang pasti dan berhingga
118
Pernyataan Continue
119
Pernyataan continue (2)
120
Bab 10 MENGGUNAKAN METHOD
121
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 Overloading pada Method
122
Pengertian Method F ( x , y ) = x + y
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 F ( x, y ) dapat dikatakan sebagai method
123
Membuat dan Memanggil ( Invoke ) Method (1)
Method dibuat / didefinisikan pada saat mendefinisikan class Syntax : [modifiers] return_type method_identifier ([arguments]){ method_code_block; }
124
Membuat dan Memanggil ( Invoke ) Method(2)
Contoh :
125
Membuat dan Memanggil ( Invoke ) Method(3)
Contoh (lanj.) :
126
Membuat dan Memanggil ( Invoke ) Method(4)
Contoh (lanj.) :
127
Memanggil Method dari Class yang Berbeda
Contoh : Syntax : < object identifier > . < method identifier ([arguments])> ;
128
Memanggil Method dari Class yang Sama
Contoh : Syntax : <method identifier([arguments])>;
129
Melewatkan Argumen (1) Method dapat memiliki argumen
Argumen dapat disebut sebagai variabel dummy, atau parameter Dalam pemanggilan method, dapat dilakukan passing argumen ( pelewatan argumen ), dengan nilai yang tipe datanya sama dengan tipe data parameter
130
Melewatkan Argumen (2) Syntax deklarasi method berargumen :
[modifiers] return_type method_identifier ( data_type argument_identifier_1 [, data_type argument_identifier_n] ) { code_block; }
131
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( ); pakBakri.simpanPanenanDiLumbung(100 );
132
Mengembalikan Nilai (1)
Method dengan return_type bukan void dapat mengembalikan nilai Nilai dikembalikan ke method lain yang memanggil method tersebut
133
Mengembalikan Nilai (2)
Syntax deklarasi method yang dapat mengembalikan nilai : [modifiers] return_value method_identifier([arguments]){ method_code_block; return value; }
134
Mengembalikan Nilai (3)
Contoh deklarasi method yang dapat mengembalikan nilai : Contoh pemanggilan method yang dapat mengembalikan nilai :
135
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 untuk berkomunikasi dan untuk mendistribusikan beban kerja yang dipikul oleh program.
136
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, LumbungPadi lb )
137
Overloading pada Method(2)
Contoh :
138
Overloading pada Method(3)
Contoh (lanj.) :
139
Overloading pada Method(4)
Contoh (lanj.) :
140
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 ) print (Object o ) dll
141
Bab 11 VARIABEL DAN METHOD STATIK
142
Membuat Method dan Variabel static
Daftar Isi 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 ?
143
Membuat Method dan Variabel statik
144
Mendeklarasikan Method Statik
Syntax [modifiers] static return_type method_identifier( [arguments ]){ method_code_block; }
145
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 terlebih dahulu menginstanstiasi obyek
146
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 terlebih dahulu menginstanstiasi obyek
147
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) Public static double max (double a, double b)
148
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 Public static double PI
149
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 ; }
150
Method main ( ) (2) Method main() mempunyai argumen berupa array String Pemanggilan program dapat dilakukan dengan menyertakan argumen-argumennya Contoh pemanggilan program dengan argumen : C:> java KegiatanPanen petani1 petani2 petani3
151
Kapan Menggunakan Method atau Method Statik ?
Tidak diperlukan operasi pada obyek individual Tidak diperlukan asosiasi suatu variabel kepada sebuah obyek Diperlukan akses variabel atau method sebelum instanstiasi obyek Method atau variabel secara logika bukan milik dari sebuah obyek, tetapi milik sebuah class utilitas. Contohnya class Math pada Java API
152
Bab 12 ENKAPSULASI DAN KONSTRUKTOR
153
Daftar Isi Menggunakan Enkapsulasi Mendeskripsikan Variable Scope
Visibility Modifier Modifier public Potensi Masalah dengan modifier public Modifier private Interface dan Implementasinya Mendeskripsikan Variable Scope Penempatan Variabel Instans dan Variabel Lokal di Memori Konstruktor Mendefinisikan Konstruktor Konstruktor Default Konstruktor Overload
154
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 dimanipulasi aksesibilitasnya
155
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 dalam class sendiri, maupun dari class lain.
156
Visibility Modifier Visibility Modifier adalah modifier-modifier yang memberi batasan kemampuan variabel atau method untuk diakses Beberapa visibility modifier : public private
157
Potensi Masalah dengan Atribut public
Contoh :
158
Potensi Masalah dengan Atribut public
Contoh : Output : Persediaan = -100 Mungkinkah ???
159
Modifier private (1) Modifier private membatasi aksesibilitas variabel atau method, sehingga hanya dapat diakses oleh variabel atau method dari class yang sama. Contoh :
160
Modifier private (2) Hasil Kompilasi :
161
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 Jumlah padi yang dimasukkan selalu positif
162
Interface dan Impementasinya (2)
Contoh :
163
Interface dan Impementasinya (3)
Hasil eksekusi program :
164
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 digunakan pada method yang mendeklarasikannya
165
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 memory yang termasuk dalam scope
166
Penempatan Instance Variable dan Local Variable pada Memori(2)
167
Konstruktor Konstruktor adalah struktur yang mirip dengan method ( tetapi bukan method ), yang digunakan untuk melakukan instanstiasi obyek
168
Pendefinisian Konstruktor
Syntax pendefinisian konstruktor : [modifiers] class className { [modifiers] ConstructorName([arguments]) { code_block; } Contoh :
169
Konstruktor Default Jika pada suatu class tidak didefinisikan satu konstruktor pun , maka JVM mengasumsikan konstruktor default, yaitu konstruktor yang tidak melakukan modifikasi nilai variabel, dan tidak mempunyai argumen
170
Konstruktor Overload(1)
Dalam satu class dapat didefinisikan lebih dari 1 konstruktor Setiap konstruktor tidak boleh mempunyai komposisi argumen yang sama dengan konstruktor lain Contoh :
171
Konstruktor Overload(2)
Contoh (lanj.)
172
Konstruktor Overload(3)
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.