2. Aplication programming interface
API dalam OOP merupakan definisi class dengan
sekumpulan method dan variabel untuk
melakukan tugas tertentu
API merupakan koleksi objek yang dihasilkan
dari definisi class dan objek dan mempunyai
sekumpulan perilaku yang didefinisikan dalam
definisi classnya
Contoh: Class Scanner mempunyai method
nextInt, nextByte, NextDouble dll
3. Java API
Terdapat 3 kelompok dari Java API
- Official core Java API, merupakan kumpulan
class yang terdapat pada JDK / JRE contoh JCF,
JDBC swing dll
- Optional official API sebagai extension yang di
download terpisah, spesifikasi dari API ini
didefinisikan menurut Java Specification Request
(JSR) contoh J3D, JOGL dll
- Unofficial API, dikembangkan oleh 3rd
party
4. Java API
Dalam Java API, class – class dikelompokkan kedalam
package package. untuk menggunakan class kita
harus mengetahui dipaket mana class tersebut berada
Misalnya: Class Scanner pada Package Java.Util
Class JOptionPane pada packet Javax.Swing
Untuk menggunakan class dalam package
- Import
import java.util.*
- Mengetik lengkap
Java.util.Scanner input = new Java.util.Scanner (System.in)
5. String class
Java.lang.String membentuk deretan karakter sebagai string
class String mempunyai 11 konstruktor dan lebih dari 40 method (JDK 1.5) yang
mempunyai beragam fungsi utk memanipulasi string, misalnya membandingkan string,
mencari substring ,copy string, cancatenate string,dsb
6. Constructing String
untuk membuat string objek:
syntax: String newString = new String (string literal) ;
contoh: String message = new String(“welcome to Java”);
Bentuk sederhana :
String pesan = “welcome to Java” ;
string dapat juga dibentuk dari array character , contoh :
char[] pesan = {'G', 'o', 'o', 'd', ' ', 'D', 'a', 'y'};
String message = new String(pesan)
7. String Comparison
String s1 = new String("Welcome to Java");
String s2 = "Welcome to Java";
System.out.println("s1 == s2 is " + (s1 == s2)); //false
System.out.println("s1.equals(s2) is " + (s1.equals(s2))); //true
operator “==“ menguji apakah objek string mengacu pada
referensi memori yang sama
method equals() menguji content dari objek, tanpa
meghiraukan apakah objek tersebut mengacu pada lokasi
memori yg sama
method compareTo() menguji content dari objek huruf
perhuruf, mengembalikan nilai 0 apabila kedua string yg
dibandingkan sama
contoh : s1.compareTo(s2)
hasil = 0
8. String length dan retrieve karakter
Untuk mendapatkan panjang string gunakan method length()
length() merupakan method dari string tapi juga merupakan properti
dari objek array, ]
contoh : untuk mengetahui panjang string s :
s.length();
untuk mengetahui jumlah elemen dari array a :
a.length;
s.chartAt(index) method yg digunakan untuk mengambil (retrieve)
suatu karakter spesifik dalam string s , antara index o –sampai
s.length()-1
9. string concat dan substring
Ada beberapa metode untuk menggabungkan string (concatenate string) :
- menggunakan method concat()
cth: s3=s1.concat(s2) //menggabungkan 2 string s1 dan s2
- menggunakan operator +
s3= s1 + s2;
untuk mengambil substring dari sebuah string dapat digunakan
method substring, method substring mempunyai 2 versi:
public String substring(int beginIndex, int endIndex)
public String substring(int beginIndex)
String message = "Welcome to Java".substring(0, 11) + "HTML";
message = “welcome to HTML”;
11. File Class
Java mempunyai class File yang berfungsi untuk meretrieve informasi
attribut file
class File terdapat pada paket java.Io
absolute path & filename alamat lengkap lokasi file
cth: c:my documenttes.txt
relative path & filename struktur path relatif terhadap current
directory
cth: c:usertes.txt // absolute filename utk os. windows
/user/tes.txt // absolute filename utk unix
gunakan relatif path utk mengakses file dari program
cth : image/gambar.gif //relatif path (windows & unix)
13. Contoh Program
public class TestFileClass {
public static void main(String[] args) {
java.io.File file = new java.io.File("fold/contoh.txt");
System.out.println("Does it exist? " + file.exists());
System.out.println("Can it be read? " + file.canRead());
System.out.println("Can it be written? " + file.canWrite());
System.out.println("Is it a directory? " + file.isDirectory());
System.out.println("Is it a file? " + file.isFile());
System.out.println("Is it absolute? " + file.isAbsolute());
System.out.println("Is it hidden? " + file.isHidden());
System.out.println("Absolute path is " +
file.getAbsolutePath());
System.out.println("Last modified on " +
new java.util.Date(file.lastModified()));
}
}
14. Class PrintWriter
class PrintWriter digunakan untuk membuat file dan menulis
data ke dalamnya :
PrintWriter output = new PrintWriter(filename);
untuk menulis ke file, panggil method print,printl atau printf
16. Class ArrayList
Class ArrayList merupakan class yang
digunakan untuk bekerja dengan data
array
Class ArrayList terdapat pada package
Java.Util
17. Class ArrayList
Beberapa Method dalam class ArrayList :
add (object element)
menambah objek ke dalam list
remove (int index)
remove objek pada index yang ditunjuk
contains (object element)
return ‘true’ apabila parameter yang dimaksud terdapat dalam list
isEmpty()
return ‘true’ apabila list kosong
size()
return jumlah elemen yang terdapat dalam list
get(int index)
return objek yang ditunjuk oleh parameter index
18. Class ArrayList
Membuat list
ArrayList<Kendaraan> myList = new ArrayList<Kendaraan>() ;
Menambahkan objek kedalam list
Kendaraan mobil = new Kendaraan();
myList.add (mobil);
Menambahkan objek berikutnya
Kendaraan truk = new Kendaraan();
myList.add (truk);
Memeriksa apakah suatu objek ada dalam list
boolean status = myList.contains(mobil) // true
Mengetahui jumlah objek dalam list
int size= myList.size(); // 2
Menghapus objek dalam list
myList.remove (mobil);
Memeriksa apakah list ada isinya
boolean kosongkah = myList.isEmpty(); //false
Temukan nomor index suatu objek dalam list
int idx = myList.indexOf(truk) // 1 (list mulai dari 0)
19. ArrayList vs Array
Array membutuhkan ukuran dalam
deklarasinya, ArrayList sifatnya fleksibel dapat
membesar dan mengecil sesuai jumlah objek
yang ada didalamnya
Untuk mengisi objek ke array kita harus
mengisinya ke lokasi yang spesifik, pada
ArrayList tidak perlu lokasi spesifik
myList[1] = mobil //array
myList.add (mobil) //ArrayList
20. Confirmation Dialog
nilai akan dikembalikan oleh method showConfirmDialog berdasarkan
tombol yang ditekan
JOptionPane.YES_OPTION(0) // yes button
JOptionPane.NO_OPTION(1) // No button
JoptionPane.CANCEL_OPTION(2) //cancel button
21. Confirmation Dialog
contoh : statement dalam perulangan berikut akan terus dikerjakan
sampai user mengklik tombol No atau Cancel
int option = 0;
while (option == JOptionPane.YES_OPTION) {
System.out.println("continue loop");
option = JOptionPane.showConfirmDialog(null, "Continue?");
}
22. Formatting console output
untuk menformat output dapat digunakan method printf:
syntax: system.out.printf (format,item1,item2, ….,itemN);
24. Project 2 (Ticket Box)
Buat program simulasi pembeliaan tiket di
bioskop
gunakan file untuk melakukan proses baca tulis
Menu terdiri dari
1. Add studio
2. Edit studio
3. View studio
4. Buy ticket
5. Exit
25. Syarat dan ketentuan
- File yang dibuat program terdiri dari studio.txt
yang menyimpan nomor studio dan judul film
yang diputar serta file dari masing-masing studio
yang berisi data konfigurasi kursi bioskop
- Kursi yang sudah diisi tidak dapat dipilih lagi
- Terdapat 20 kolom kursi ( 1-20) dan 10 baris (A-J)
dan calon penonton dapat membeli lebih dari
satu tiket
27. Project 2 (Scramble)
Buat sebuah game tebak kata yang memiliki 2
file database, yaitu soal.txt yang berisi kategori
soal dan jawabannya, dan juga highscore.txt
untuk menyimpan 10 pemain yang memili skor
tertinggi di game ini.
Menu terdiri dari
1. Play
2. Add question
3. View highscore
4. exit
28. Ketentuan
Menu Play Game :
- Contoh dibawah merupakan menu play game dimana user sudah mencoba 3x untuk menjawab pertanyaan
- Pada kesempatan pertama (Chance : 3), tampilkan kategori soal dan clue jawaban yang masih berupa **** semua, jika
user berhasil menjawab pada kesempatan pertama, maka mereka akan mendapat 10 point
- Jika user gagal menjawab, di kesempatan kedua, tampilkan clue jawaban yang masih berupa **** dan telah terbuka
semua huruf vocal yang ada pada jawaban. Jika user berhasil menjawab pada kesempatan kedua, maka mereka akan
mendapat 8 point
- Di kesempatan ketiga, tampilkan clue jawaban yang berupa ****, dan telah terbuka semua huruf vocal yang ada, beserta
setengah dari total konsonan yang ada pada jawaban tersebut. Jika user berhasil menjawab, maka mereka akan mendapat
6 point
- Jika user gagal menjawab pada kesempatan ketiga, maka life mereka akan bekurang 1. Setiap user mempunyai 5 life,
apabila life habis maka permainan game over
------------------------------------------------------------------
Welcome, erick Life : 5 Points : 0
Categories : Group Band Chance : 3
================================
Clue : ****** ****
Answer : z
Categories : Group Band Chance : 2
================================
Clue : *i**i* *a**
Answer : c
Categories : Group Band Chance : 1
================================
Clue : Li**i* Par*
Answer : z
You're Wrong!, the answer is Linkin Park
30. Ketentuan
Project aplikasi dibuat dengan konsep
pemograman OOP
Fungsi / fitur program dalam contoh adalah yang
minimal, setiap kelompok bisa menambahkan /
meningkatkan kompleksitasnya
Penilaian:
1 . Derajat aplikasi (fungsionalitas program +
Desain coding)
2. presentasi + tanya jawab ( nilai individu)