Pertemuan 2 Halaman 1/1 Struktur Dasar Pemrograman Java Struktur Program Java Comments Comments digunakan untuk memberikan keterangan/penjelasan suatu baris program. Comments tidak akan dikompilasi oleh compiler. Lambang untuk comments : • double slash ( // ) untuk memberikan penjelasan satu baris • /* dan */ untuk memberikan penjelasan satu baris atau lebih. Contoh : public class tes { public static void main(Strings [] args) /* System.out.println akan mencetak ‘akan mencetak’ */ { //System.out.println(“tidak akan mencetak”); System.out.println(“akan mencetak”); } } Reserved words Reserved words atau keywords merupakan kata-kata spesifik digunakan oleh compiler untuk keperluan pemrograman. Contoh reserved words class digunakan untuk membuat class pada java. Modifiers Modifiers digunakan untuk menentukan penggunaan dari suatu data,methods dan class. Contoh modifiers adalah public, static, private, final, abstract dan protected. Statements Statements merupakan baris perintah atau kumpulan perintah. Setiap statements pada java selalu diakhiri dengan titik koma ( ; ). Blocks Blocks digunakan untuk membentuk suatu grup statements. Blocks diawali dengan kurung kurawal buka ( { } dan kurung kurawal tutup ( } ). Blocks dapat digunakan secara nested (blocks didalam blocks). Classes Classes merupakan inti dari program Java. Suatu class merupakan “blueprint” untuk menciptakan suatu object. Bahasa Pemrograman I Struktur Dasar Pemrograman Java Pertemuan 2 Halaman 2/2 Methods Methods merupakan kumpulan dari statements yang melakukan suatu fungsi atau operasi secara sekuens. Setiap java aplikasi harus mempunyai method main() (kecuali applet). Method main() pada java selalu berbentuk : public static void main(String [] args) { //statements } Elemen Pembentuk Pada Java Identifiers Identifiers merupakan penamaan dalam pemrograman untuk variabel, konstanta, method, class, dan package. Java merupakan bahasa pemrograman yang case-sensitive (membedakan antara huruf besar dan kecil). Aturan penamaan identifiers pada java adalah : 1. Dapat dimulai dengan huruf, underscore ( _ ) atau tanda $ 2. Tidak dapat menggunakan simbol operator seperti : +, - , * , / dan lain-lain 3. Tidak dapat menggunakan reserved word 4. Dapat mempunyai panjang berapa saja. Variables Variables digunakan untuk input,output atau menyimpan hasil suatu proses pada program. Untuk melakukan deklarasi suatu variables digunakan : Datatype variableName; Contoh : int angka; double radius; untuk mendeklarasi sekaligus melakukan inisialisasi digunakan : Datatype variableName = value; Constants Constants merupakan data yang tidak berubah selama program berjalan. Pendeklarasian konstanta menggunakan : static final Datatype CONSTANTNAME = Value; Contoh : static final double PI = 3.14159; : area = radius*radius*PI; Ada tiga tipe variable yaitu : • Tipe data primitif • Tipe data class • Array Bahasa Pemrograman I Struktur Dasar Pemrograman Java Pertemuan 2 Halaman 3/3 Tipe data primitif pada java yaitu : 1. Numerik (bulat dan pecahan) Untuk numerik bulat ada 4 macam yaitu : tipe Besar (bits) jangkauan byte 8 -128 ke 127 short 16 -32,768 ke 32,767 int 32 2,147,483,648 ke 2,147,483,647 long 64 -9,223,372,036,854,775,808 ke -9,223,372,036,854,775,807 untuk numerik pecahan ada 2 macam yaitu : tipe Besar (bits) jangkauan float 32 -3.4E38 ke 3.4E38 double 64 -1.7E308 ke 1.7E308 numerik literal : bulat Pecahan heksadesimal ( 0x ) ex. 0xCAFE octal ( 0 ) ex. 0704 long (l atau L) ex. 100L atau 100l float (f atau F) ex. 10.4F atau 10.0f double (d atau D) ex. 10.4D atau 10.2d Eksponen (e atau E) ex. 10e45 atau 0.3E2 2. Character merupakan tipe data yang meyimpan satu buah karakter. tipe Besar (bits) jangkauan char 16 Unicode Character untuk membuat character literal digunakan tanda kutip satu ( ‘ ) contoh : ‘a’ , ‘&’ Character escape codes pada java : Escape Arti \n newline \t tab \b backspace \r Carriage return \f formfeed \\ backslash \’ tanda kutip satu \” tanda kutip ganda \ddd octal \xdd Heksadesimal \udddd Unicode character Bahasa Pemrograman I Struktur Dasar Pemrograman Java Pertemuan 2 Halaman 4/4 3. Boolean merupakan tipe data yang hanya berisi true atau false Tipe data class pada java merupakan tipe data yang dideklarasikan untuk menampung instance (atau object yang dibuat dari class). contoh : String lastName; Circle myCircle; Tipe data array digunakan untuk menampung beberapa tipe data yang sama dalam sebuah nama variable yang mempunyai indeks. Array pada java merupakan object yang dapat berisi tipe data primitif maupun class. Pendeklarasian suatu array adalah : Datatype [] arrayVariable = new DataType[length]; atau DataType [][] arrayVariable = new DataType[length1][length2]; Contoh : int [] temp = new int[50]; int [][] temp = new int[2][3]; untuk inisialisasi : Datatype [] arrayVariable = {value1, value2, …..}; Contoh : int [] temp = {1,4,2,3}; untuk mengakses elemen pada Array digunakan indeks (indeks array pada java merupakan base 0) Contoh : public class TestArray { public static void main(Strings [] int [] result = {3,2,6}; System.out.println(“result[0] = System.out.println(“result[1] = System.out.println(“result[2] = args) { “+result[0]); “+result[1]); “+result[2]); } } Untuk melakukan konversi tipe data numerik dapat dilakukan secara implisit maupun eksplisit. Java melakukan konversi data secara implisit untuk tipe data yang lebih kecil ke tipe data yang lebih besar ketelitiannya. Untuk melakukan konversi dari tipe data yang lebih besar tingkat ketelitiannya ke tingkat yang lebih kecil dilakukan type casting yaitu (typename) value. contoh : float x = 1.0; float y = 2; float z = x / y -> implisit hasil akan menjadi float 0.5 float x = (float) 10.1; int y = (int) x; ->eksplisit akan menjadi int 10 Bahasa Pemrograman I Struktur Dasar Pemrograman Java Pertemuan 2 Halaman 5/5 Ekspresi dan Operator Ekspresi merupakan suatu statement yang mengembalikan suatu nilai Operator merupakan Simbol yang digunakan dalam ekspresi Operator Aritmatika pada Java : Operator + * / % Arti Penambahan Pengurangan Perkalian Pembagian Modulus (Sisa bagi) Contoh 3 + 4 5 – 7 5 * 5 14 / 7 20 % 7 Operator Penugasan (Asisgnment) Operator x x x x += y -= y *=y /=y x x x x = = = = x x x x + – * / Arti y y y y Operator Increament dan Decreament Operator --x atau x-++x atau x++ Arti increament (x = x – 1) decreament (x = x + 1) Operator kondisi (Conditional) Operator == != < > <= >= Arti sama dengan tidak sama dengan lebih kecil lebih besar lebih kecil sama dengan lebih besar sama dengan Contoh x x x x x x == 3 != 3 < 3 > 3 <= 3 >= 3 Operator logika (Logical) Operator && || ! ^ Arti and or not xor Contoh x !=2 && x !=4 x > 2 || x < 5 !x x == 2 ^ x==3 Operator bitwise Operator & | ^ << >> >>> ~ <<= >>= >>>= &= != ^= Bahasa Pemrograman I Arti bitwise and bitwise or bitwise xor left shift right shift zero fill right shift bitwise complement left shift assignment right shift assignment zero fill right shift assignment and assignment or assignment xor assignment Struktur Dasar Pemrograman Java Pertemuan 2 Halaman 6/6 Operator Precedence Operator precedence merupakan urutan pengerjaan suatu operator dalam suatu ekspresi. Operator . [] () ++ -- ! ~ instanceof new (type) ekspression * / % + << >> >>> < > <= >= == != & ^ | && || ? : Keterangan () Parentheses digunakan untuk grup dari ekspresi [] brackets digunakan untuk mengakses array . dot digunakan untuk mengakses method dan variabel dalam object instanceof digunakan untuk mendeteksi apakah suatu object merupakan “instant” dari suatu class / subclass new digunakan untuk menciptakan suatu “instant” dari class ternary operator (bentuk shorthand dari if . . . then . . . else = += -= *= /= %= ^= &= |= <<= >>= >>>= Flow Control flow control digunakan untuk mengontrol aliran program. if Conditional digunakan untuk menguji suatu kondisi if (Conditional) { //true statements; } else { //false statements; } Contoh : if (x ==3) System.out.println(“3”); else System.out.println(“not 3”); if..then..else shorthand : Conditional statement ? true_result : false_result; Contoh : Bahasa Pemrograman I Struktur Dasar Pemrograman Java Pertemuan 2 Halaman 7/7 int smaller = x < y ? x : y; switch Conditional digunakan untuk menguji suatu kondisi dengan beberapa nilai switch (variable) { case test_value1 : statements for value1; break; case test_value2 : statements for value2; break; case test_valueN : statements for valueN; break; default : statement for case else; } for Loops for(initialization; test; increament) { //statements; } do..while Loops do { //statements; } while(Conditional) while Loops while (Conditional) { //statements; } break and continue Statement break digunakan untuk keluar dari suatu loop sedangkan continue digunakan untuk meneruskan suatu loop ke iterasi berikutnya. Contoh : break statements : for(int i = 1; i<=10; i++) { if(i==3) break; else System.out.println(i); } continue statement : for(int i = 1;i<=10;i++) { if(i==3) continue; else System.out.println(i); } Bahasa Pemrograman I Struktur Dasar Pemrograman Java Pertemuan 2 Halaman 8/8 Object Oriented Programming (OOP) Object Oriented Programming merupakan paradigma pemrograman yang menggunakan object-object yang saling berinteraksi untuk membentuk suatu aplikasi. dengan teknik OOP kita mewujudkan dengan cara berpikir dari problem yang akan diselesaikan ke dalam level aplikasi. Hal ini akan mempermudah pemodelan suatu sistem sebenarnya ke dalam suatu sistem komputer. Contoh : Jika suatu aplikasi berbentuk sistem window maka object-object yang relevan adalah scroll bars, button, dialog boxes, window dan lain-lain. OOP mempunyai kelebihan pada : 1. Mengurangi kesalahan dalam pembuatan suatu sistem. 2. Mempercepat dan mempermudah pembuatan atau revisi suatu sistem. Pengertian dari Class dan Object • Class merupakan suatu “blueprint” atau “cetakan” untuk menciptakan suatu instant dari object. class juga merupakan grup suatu object dengan kemiripan attributes/properties, behaviour dan relasi ke object lain. Contoh : Class Person, Vehicle, Tree, Fruit dan lain-lain. • Object merupakan instant dari class yang unik dengan attibutes, behaviour, identitas. Contoh : Dari class Fruit kita dapat membuat object Mangga, Pisang, Apel dan lain-lain. • Attributes merupakan nilai data yang terdapat pada suatu object yang berasal dari class. Attributes merepresentasikan karakteristik dari suatu object. Contoh : pada Class Fruit terdapat attribute : warna, berat pada object mangga : warna berisi kuning dan berat misalkan 0.25 kg pada object apel : warna berisi merah dan berat misalkan 0.30 kg • Method merupakan suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh suatu object. Method didefinisikan pada class akan tetapi dipanggil melalui object. Contoh : pada object mangga : terdapat method ambilRasa , kupasKulit dan lainlain. Bahasa Pemrograman I Struktur Dasar Pemrograman Java Pertemuan 2 Halaman 9/9 Dalam OOP kita mengenal 4 konsep dasar dari OOP yaitu : 1. Abstraksi (abstraction) Untuk memproses sesuatu dari dunia nyata dengan menggunakan komputer kita harus menentukan ciri-ciri / sifat-sifat yang penting yang perlu direpresentasikan ke dalam sistem komputer. Ciri-ciri yang dipilih bergantung dari apa yang akan kita lakukan di dalam sistem tersebut dan tergantung dari sudut pandang yang melihatnya. Contoh : untuk menentukan attribute suatu class mobil pada : Kantor Polisi Bengkel Mobil No mesin No registrasi pemilik Pemilik Waktu ganti oli Besar pajak Deskripsi servis 2. Enkapsulasi (encapsulation) Merupakan pengabungan tipe data dan operasi yang bersangkutan menjadi satu kesatuan. keutuhan tipe data dijaga dengan adanya pengendalian akses pada attribute, method pada suatu object. (information hiding) 3. Pewarisan (inheritance) Merupakan penurunan suatu class yang lebih general menjadi suatu class yang lebih spesifik atau perluasan dari suatu class. Gambar 2.1. Contoh Pewarisan dikenal dua macam istilah yaitu Superclass (parent class) dan subclass. Superclass merupakan class awal yang lebih general sedangkan suatu subclass merupakan class turunan dari class superclass yang lebih spesifik. class yang meng-inherited parent classnya akan mendapat suatu warisan yang sama berupa methods atau attributes dari parent class-nya. Bahasa Pemrograman I Struktur Dasar Pemrograman Java Pertemuan 2 Halaman 10/10 Contoh : pada gambar 2.1. Vehicle merupakan Superclass dari Space Vehicle, Air Vehicle. Human Powered dan SelfPowered merupakan subclass dari landVehicle. 4. polymorphism Merupakan operasi yang sama dapat diterapkan pada class yang berbeda dapat menghasilkan hasil yang berbeda. Untuk melakukan operasi yang sama diperlukan jumlah parameter yang sama. Contoh : ‘+’ operator untuk penghitungan • integer+integer • integer+float • integer+double akan menhasilkan behaviour yang berbeda maka operator ‘+’ dapat dikatakan polymorphic. Aturan praktis untuk mengidentifikasi class adalah dengan cara mencari kata benda dalam analisis masalah sedangkan untuk mencari methodnya dapat dihubungkan melalui kata kerja. Contoh : dalam suatu sistem pemrosesan pesanan kata bendanya adalah : • item • pesanan • alamat pengiriman • pembayaran • nomor rekening sedangkan kata kerja : menambah item pada pemesanan (AddItem dengan parameter Item) Pemesanan dikirim atau pemesanan dibatalkan (CancelOrder) Hubungan antar class Hubungan yang paling umum diantara class-class adalah : • use suatu class (class A) dikatakan menggunakan class lain (Class B) jika : method A mengirim pesan untuk suatu object dari class B atau method A menciptakan, menerima, atau mengembalikan object dari Class B • containtment (memiliki sesuatu- / “has a- “) suatu class dikatakan mempunyai hubungan containtment jika Object A berisi Object B atau sedikitnya ada sebuah method dari class A yang akan memanfaatkan object dari class B. Bahasa Pemrograman I Struktur Dasar Pemrograman Java Pertemuan 2 • Halaman 11/11 inheritance (adalah sesuatu- “is a-”) menunjukan spesialisasi dari suatu class / penurunan dari class lain. Bahasa Pemrograman I Struktur Dasar Pemrograman Java