Package dan package standard java Setelah mengikuti mata kuliah ini mahasiswa dapat mengelola class-class dalam package dan menjelaskan structur package standard java
Pengantar : Dalam modul ini akan diuraikan beberapa topik bahasan yaitu : Pengertian package sebagai koleksi class-class sejenis Mendefinisikan dan mempergunakan package Menelaah package standard java: java.lang, java.awt, java.applet, java.io, java.util
1. Pengertian package Suatu package adalah “bendel” atau pengelompokkan kelas-kelas berdasarkan kesamaan atau kemiripan fungsi Dalam java versi awal ada 6 package besar , yaitu : java.io java.lang java.applet java.awt java.net java.util
Statemen import Pada beberapa program terdahulu telah dijumpai beberapa definisi class yang diawali dengan kata kunci: import. Kata kunci ini memberitahukan bahwa definisi class yang dibuat akan melibatkan kelas-kelas lain yang terhimpun di dalam package yang diimport. Pelibatan kelas dari package dapat hanya sebagian kelas (atau sub klas) atau semuanya, seperti contohnya : import java.io.*;(semua kelas dari package java.io dapat digunakan) import java.util.Properties; (hanya class Properties dari package java.util) import java.awt.image.ColorModel; (sub klas ColorModel dari class image dari package awt).
Membuat package Pembuatan suatu package dianjurkan untuk pemrograman skala besar, yang mendefinisikan banyak kelas dengan pengelompokkan sesuai tujuan. Pada saat pembuatan suatu package maka kata package harus menjadi statemen pertama, misalnya : package MyFirstpackage public class MyFirstClass { ....}
Membuat package… setiap class yang menjadi anggota paket didefinisikan dengan diawali dengan kata package dilanjutkan dengan definisi kelas seperti biasa. Kelas-kelas yang menjadi anggota paket dapat disimpan dalam file-file yang terpisah. File-file java yang merupakan definisi class dari anggota package disimpan dalam satu directori yang sama dengan nama directori adalah nama package tersebut. Contoh: Akan didefinisikan suatu package bernama : geometri Berisi dua kelas : lingkaran dan kelas :epp (empat persegi panjang)
Kode programnya class Lingkaran package geometri
class Epp package geometri
Program utama dan hasilnya (mengimpor package geometri) Hasil program Terlihat dengan mendefinisikan class dalam package dapat disembunyikan sebagian besar kode program. Sehingga dapat lebih konsentrasi kepada problem yang dihadapi dari pada kode program
Package standard :java.lang Pada program java terdapat package yang otomatis akan dapat digunakan meskipun tidak menggunakan statemen import. Package yang otomatis tanpa import tersebut adalah java.lang Apakah isi package java.lang yang penting?? Isinya adalah antara lain class-class: class Object (induk dari semua class java) class String (operasi dan manipulasi data string) class Number, Integer, Long, Float, Double class Math (fungsi-fungsi matematik) class Character class Boolean Exception (induk dari semua class Exception)
Package standard :java.io Package io berisi class-class yang berhubungan dengan baca tulis data atau aliran data Isinya adalah antara lain class-class: class Stream class InputStream dan OutputStream class BufferInputStream dan BufferOutputStream class ByteArrayInputStream class FileInputStream dan FileOutput Stream class Reader class FileReader class FileWriter
Package java.applet dan java.awt java.applet yang penting berisi class java.Applet class java.AudioClip java.awt berisi class-class: class Font class Frame class Window class Button class Label class TextField class TextArea
Package java.util Package java.util adalah package yang cukup penting, karena menyediakan berbagai macam class yang menyediakan berbagai fungsi yang membantu dan diperlukan dalam pemrograman. Enumeration Enumeration merupakan interface dari package java.util yang menyediakan dua method untuk memudahkan kita dalam menangani elemen Collection (List dan Set merupakan subclass Collection) seperti vector dan hashtable maupun hashmap. Dua method dari Enumeration adalah: 1. hasMoreElements(): method ini mengembalikan nilai true apabila dalam objek Enumaration masih terdapat elemen. 2. nextElement(): method ini mengembalikan objek berikutnya yang ada pada Enumeration. kage
Package java.util Iterator Iterator merupakan interface untuk memproses elemen koleksi, tepatnya class yang mengimplementasikan interface Collection seperti vector, dan memiliki kemampuan lebih baik dari enumeration, karena adanya tambahan method remove() untuk menghapus objek pada koleksi. Method yang dimiliki iterator ada tiga, yaitu: 1. next(): method ini mengembalikan objek dari pertama, dan mengembalikan yang berikutnya pada yang berikutnya. 2. hasNext(): method ini akan mengembalikan nilai true apabila masih ada objek pada Iterator. 3. remove(): method ini menghapus objek terakhir yang dikembalikan oleh next(). kage
Package java.util Vector Vector merupakan elemen koleksi dari tipe object yang bekerja semacam array dengan interface List. Perbedaan utama dengan array adalah bahwa vector dapat menambah kapasitasnya secara otomatis. Selain vector, class utama yang mengimplementasikan interface List adalah ArrayList dan LinkedList. Interface List mendefinisikan konsep data secara berurutan, sehingga didapat data awal, akhir, berikutnya dan sebelumnya. Vector menyimpan referensi ke objek dan bukan objek itu sendiri serta dapat menyimpan berbagai macam tipe objek. Vector memiliki kemiripan dengan ArrayList yang juga terdapat pada java.util. Perbedaan utama dari keduanya adalah vector tidak melakukan sinkronisasi sedangkan ArrayList melakukan sinkronisasi otomatis. Konsep sinkronisasi berkaitan dengan thread. kage
Package java.util d. HashMap Konsep map digunakan untuk menyimpan data yang terdiri dari key dan objek. Setiap objek yang disimpan dikenali melalui key yang unik. Konsep map dalam java diwakili oleh interface java.util.Map yang diimplementasikan oleh Hashtable, HashMap, WeakHashMap dan TreeMap. Sebenarnya HashMap memiliki kemiripan dengan Hashtable dan perbedaan utama dari keduanya adalah bahwa HashMap tidak melakukan sinkronisasi otomatis. kage
Rangkuman Semua package buatan sendiri atau java memiliki berbagai tugas/metod yang berbeda tetapi satu ide Dalam menyimpan class nama package sama dengan nama folder Dalam mendefinisikan package setiap class anggota package diberi pengenal nama package Selanjutnya class-class dengan pengenal nama package tersebut disimpan dalam directory yang namanya sama dengan nama package
Latihan Lengkapilah package geometri di dalam contoh dengan class-class : class Bujursangkar(int sisi) class Segitiga(int alas, int tinggi) class Jajarangenjang(int garissjj, int tinggi) Semua class memiliki constructor dengan susunan seperti di atas Ujilah package tersebut untuk menghitung luas dan keliling