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
Materi1. Pengertian Java2. Setup /Instalasi Java3. Version Control (Git)4. Anatomi aplikasi Java5. Classpath6. Variabel dan Tipe Data7. Operator8. Control Flow (If.... Else,
For/While)9. Class & Object
10. Method11. Exception12. Konsep OOP13. Inheritance14. Encapsulation15. Polymorphism16. Abstract Class & Interface17. Composition &
Aggregation18. 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 kecil2. Nama public class harus sama dengan nama file3. 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 koding3. 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 \bin6. 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. Hanya boleh ada satu class public dalam satu file .java,
non public class boleh satu didalam satu file .java2. Nama class public harus sama dengan nama file .java3. Komentar dapat diletakkan dimana saja4. Jika class verada dalam sebuah package, maka harus ada
deklarasi package di bagian paling atas dari file .java5. Import berada antara deklarasi package dan deklarasi
class6. 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 memisah-misahkan 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 Keyword1. Keyword yang digunakan untuk access
modifier, terdiri dari 4 levela. Publicb. Defaultc. Protectd. Private
2. Keyword final3. Keyword abstract
Package
• Efek dari penggunaan access modifiera. 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 modifierc. 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