Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Konsep Dasar Pemrograman Berorientasi Obyek 1

Presentasi serupa


Presentasi berjudul: "Konsep Dasar Pemrograman Berorientasi Obyek 1"— Transcript presentasi:

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)


Download ppt "Konsep Dasar Pemrograman Berorientasi Obyek 1"

Presentasi serupa


Iklan oleh Google