Pemrograman I By : Sri Rezeki Candra Nursari
3 + 1 SKS
Literatur
H.M Deitel, P.J Deitel, Small Java How to Program-sixth Edition, Pearson Prentice Hall, 2005 Elliot B. Koffman, Paul A.T. Wolfgang, Objects, Abstraction, Data Structures and Design Using Java, John Wiley & Sons.Inc, 2005 Ian F. Darwin, Java Cookbook, O’Reilly, 2001 Mark Allen Weiss, Data Structures & Algorithm Analysis in Java, Addison-Wesley, 1999 Moh.Sjukani, Algoritma & Struktur Data dengan C, C++ dan Java, Mitra Wacana Media, Agustus 2005 Rangsang Purnama, Tuntunan Pemrograman Java jilid- 1, Prestasi Pustaka Publisher, Januari 2003 Rangsang Purnama, Tuntunan Pemrograman Java jilid- 2, Prestasi Pustaka Publisher, Juli 2003 Rangsang Purnama, Tuntunan Pemrograman Java jilid 3, Prestasi Pustaka Publisher, Maret 2003 Ariesto Hadi Sutopo, Fajar Masya, Pemrograman Berorientasi Objek dengan Java, Graha Ilmu, 2005 Indrajani, Martin, Pemrograman Berorientasi Objek dengan Java, Elex Media Komputindo, 2004 Melvin Antonius, Damian Bayu Imam Santoso, Carneles, Membuat Animasi dengan Java, Elex Media Komputindo, 2004
Materi 1. 2. 3. 4. 5. 6. 7. 8.
Pengertian Java Setup /Instalasi Java Version Control (Git) Anatomi aplikasi Java Classpath Variabel dan Tipe Data Operator Control Flow (If.... Else, For/While) 9. Class & Object
10. 11. 12. 13. 14. 15. 16. 17.
18.
Method Exception Konsep OOP Inheritance Encapsulation Polymorphism Abstract Class & Interface Composition & Aggregation Studi Kasus & Presentasi
ANATOMI DAN APLIKASI JAVA, CLASSPATH Pertemuan 03
3+1 SKS
Anatomi Dan Aplikasi JAVA • Hal yang harus diperhatikan pada saat koding JAVA: 1. Case sensitif : huruf besar dan huruf kecil 2. Nama public class harus sama dengan nama file 3. Method main bisa dijalankan (run) – public static void main(String[] xx)
» Modifer public static void » Nama method : main » Argumen : String[]
Anatomi Dan Aplikasi JAVA
Anatomi Dan Aplikasi JAVA • Satu aplikasi banyak package, dalam package ada package juga ada beberapa class • Class boleh tidak didalam package • Contoh : – buat program sederhana untuk menampilkan HaloIT yang menampilkan (“Halo Jurusan Teknik Informatika”)
Anatomi Dan Aplikasi JAVA •
Langkah membuat programnya 1. Dalam folder root, biasakan untuk membuat folder src (untuk koding source nya .java) dan folder bin (untuk hasil compile .class) 2. Tulis koding 3. Lalu klik javac –d bin scr/HaloIT.java //compile nama class 4. Apabila tidak berpindah direktory , maka memanggil hasil dari compile adalah java –cp bin C17C20 5. Aktif kan ke folder \bin
6. Lalu klik java HaloIT //memanggil class
Classpath •
Konsep Class., merupakan enviroment variabel – Cara setting – Cara lihat • •
Cmd Echo %namavar%
•
Echo %path% (untuk WIN) -------- echo $path (untuk linux)
Classpath • Path adalah daftar lokasi folder
Classpath Aturan-aturan yang harus dipatuhi pada waktu pendeklarasian class di Java, yaitu :
• 1. 2. 3. 4. 5. 6.
Hanya boleh ada satu class public dalam satu file .java, non public class boleh satu didalam satu file .java Nama class public harus sama dengan nama file .java Komentar dapat diletakkan dimana saja Jika class verada dalam sebuah package, maka harus ada deklarasi package di bagian paling atas dari file .java Import berada antara deklarasi package dan deklarasi class Deklarasi import dan package berlaku untuk semua class dalam file .java tidak dimungkinkan untuk mendefinisikan dua buah class yang mempunyai package berbeda di dalam satu file .java
Class vs Object • Object adalah instansiasi dari sebuah class • Class itu sebagai sebuah vetakan sedangkan object itu adalah barang dari hasil cetakan • Class juga dapat dikatakan sebagai kategori, sedangkan object adalah sesuatu yang memuhi syarat-syarat yang harus dipenuhi agar masuk dalam kategori tersebut
Class vs Object • Jadi satu class dapat mempunyai banyak object • Setiap object mempunyai sifat yang sama persis seperti yang didefinisikan dalam class tersebut • Contoh : class Data, kemudian kita buat sebuah instance dari class data yaitu x •
Data x = new Data()
Package • Adalah sebuah folder yang memisahmisahkan class. • Class dengan fungsi yang mirip akan dikelompokkan dalam satu package yang sama, hal ini untuk memudahkan pengelolaan class • Import digunakan untuk mengimport class yang berada dalam package yang berbeda
Package • Class-class dalam modul yang sama biasanya diletakkan dalamsatu jar agar mudah didistribusikan, clas-clas dalam jar ini biasanya juga disebut sebagai library • Apabila aplikasi memerlukan class dari jar lain, kita harus meletakan jar tersebut di dalam classpath agar dapat ditemukan oleh JVM (Java Virtual Mechine)
Package • Konsep package, import, jar dan classpath sangat penting untuk mengatur struktur aplikasi Java • Package digunakan untuk menghindari penamaan class yang dapat bertubrukan dalam aplikasi Java • Pada saat pendeklarasian class, kita dapat menggunakan beberapa keyword
Package • Jenis-Jenis Keyword 1. Keyword yang digunakan untuk access modifier, terdiri dari 4 level a. b. c. d.
Public Default Protect Private
2. Keyword final 3. Keyword abstract
Package • Efek dari penggunaan access modifier a. Public • •
Maka semua class yang lain dapat melihat class tersebut Dapat melakukan import, instansiasi, extends, dan memanggil method yang ada dalam class
b. Default / tidak ada access modifier •
Maka hanya class dari package yang sama atau class turunannya yang dapat melihat class tersebut
Package • Efek dari penggunaan access modifier c. Protected •
Class tidak dapat dideklarasikan sebagai protected
d. Private •
Hanya dapat digunakan oleh inner class saja, sedangkan class lain tidak dapat ditandai sebagai private
Package • Efek dari penggunaan Keyword Final –
– –
Apabila class dideklarasikan dengan keyword final,maka class ini tidak dapat di extends oleh class lain Class ditandai final agar tidak ada implementasi lain selain class ini Semua class wrapper seperti String ditandai sebagai final agar tidak ada yang mengextends class string ini
Package • Efek dari penggunaan Keyword Abstract –
Dapat digunakan untuk mendeklarasikan class, hal iniakan menyebabkan abstract class tidak dapat di instansiasi atau dibuat objectnya
Package • Apabila kita membuat class yang umum, misalnya class user, kemungkinan besar developer lain membuat class yang sama. • Bagaimana kalau kita menggunakan library yang didalamnya terdapat nama class sama. • Mana yang dipilih oleh Java?? • Oleh karena itu maka digunakanlah package
Package • Contoh : – Ada 2 buah ClassA • •
Satu berada dalam package a.b.c, sehingga nama lengkapnya menjadi a.b.c.ClassA Satu lagi berada dalam package d.e.f, sehingga nama lengkapnya menjadi d.e.f.ClassA
Package • Contoh : – Ada 2 buah ClassA • •
Satu berada dalam package a.b.c, sehingga nama lengkapnya menjadi a.b.c.ClassA Satu lagi berada dalam package d.e.f, sehingga nama lengkapnya menjadi d.e.f.ClassA
Package • Untuk mengelompokkan class • Menghindari konflik penamaan class yang sama • Nama package harus dideklarasikan di baris atas dari source • Untuk memanggil class dalam package dengan menggunakan import
Package • Diusahakan untuk membuat nama package yang unique. • Biasanya gunakan nama domain website institusi, maka akan mendapatkan nama package yang unique • Untuk membuat package kita akan menggunakan contoh class BiodataKu, tetapi akan diletakkan didalam package Latihan01\sesi1\bin
Langkah Pembuatan Package •
Buat class Biodataku, dengan package Latihan01.sesi1.bin
•
Compile
•
Hasil dari pembuatan folder :
Langkah Pembuatan Package •
Memanggilnya java –cp bin Latihan01.sesi1.bin.BiodataKu
Menambah File Baru Ke Dalam Repository a. Pastikan git Anda aktif (git –v) b. Mencek status pada git (git status) c. Meyimpan file kedlm repository (git add “src/BiodataKu.java”) d. Mencek status pada git (git status) e. Melakukan commit,langsung mengisi keterangan (git commit –m “commit03”) f. Mendaftarkan github sebagai remote repository (git remote add [nama remote--- origin2] https://github.com/CandraNursari/Pemrograman-I.git) g. Mengirim perubahan di lokal ke remote (git push [nama remote--- origin2] master)
Tugas 1 : 1. Buat informasi KTP (Christian, Mughni, Mirza) 2. Buat informasi SIM (Syahroni, Satryo) 3. Buat Informasi ATM (Amanda, Yoannes) 4. Buat informasi NPWP(Syahid, Dede) – –
Nama class adalah [nama]KTP/SIM/ATM/NPWP Buat dengan menggunakan package lalu di push ke github.com