Pemrograman
Berorientasi
Objek
JAVA API
API (Application Programming Interface) adalah sekumpulan perintah, fungsi,
komponen, dan protokol yang disediakan oleh sistem operasi ataupun bahasa
pemrograman tertentu yang dapat digunakan oleh programmer saat membangun
perangkat lunak. Dalam API terdapat fungsi-fungsi atau perintah-perintah untuk
menggantikan bahasa yang digunakan dalam system calls dengan bahasa yang
lebih terstruktur dan mudah dimengerti oleh programmer.
Keuntungan menggunakan API:
Probabilitas
API dapat digunakan untuk bahasa pemrograman ataupun untuk sistem
operasi mana saja asalkan paket-paket API sudah terpasang.
Lebih Mudah Dimengerti
API menggunakan bahasa yang lebih terstruktur dan mudah dimengerti
daripada bahasa system call. Hal ini sangat penting dalam hal editing dan
pengembangan.
Mudah Dikembangkan
Dengan adanya API, memudahkan programmer untuk mengembangkan
suatu system.
Beberapa API yang tersedia di Java
• java.lang = Basic language classes
• java.util = Utilities and collections classes
• java.applet = The applet API
• javax.swing, java.awt = Swing and 2D graphics
• java.io = Input and output
Java I/O
Semua input dan output (I / O) di Jawa dicapai melalui penggunaan input
stream dan output stream. Pada modul sebelumnya input dan output stream telah
sering digunakan untuk menginputkan data dengan System.in dan kemudian
menampilkannya dengan System.out. Pada gambar dibawah terlihat bahwa
System.out menghubungakan program ( sumber ) ke layar dan input stream
System.in menghubungkan keyboard (sumber) ke program berjalan (destination).
Aliran data ini akan menjadi kunci untuk menghubungkan file ke program.
Java memiliki berbagai stream untuk melakukan I / O. Mereka didefinisikan dalam
paket java.io, yang harus diimpor oleh setiap program. I/O stream umumnya diatur
dalam hirarki.
Secara umum, file biner yang diproses oleh subclass dari InputStream dan
OutputStream. File teks yang diproses oleh subclass dari Reader dan Writer,
keduanya merupakan aliran meskipun nama-nama mereka.
1. File
Java memandang setiap file sebagai aliran byte berurutan.Setiap sistem operasi
menyediakan mekanisme untuk menentukan akhir dari sebuah file, seperti penanda
akhir-of-file atau hitungan byte total file yang tercatat dalam struktur data.
Sebuah program Java memproses aliran byte dan selanjutnya menerima indikasi
dari sistem operasi saat rangkaian byte mencapai akhir dari stream. Indikasi ahir
dari stream dapat berupa end-of-file atau nilai kembalian dari sebuah metode
dipanggil.
Java melakukan proses pengolahan file dengan menggunakan kelas dari paket
java.io. Pada paket ini terdapat pendefinisian untuk kelas seperti FileInputStream
(untuk byte berbasis input dari file), FileOutputStream (untuk byte berbasis output
ke file), FileReader (untuk karakter berbasis input dari file) dan FileWriter (untuk
karakter berbasis output ke file). File dibuka dengan cara menciptakan objek dari
kelas-kelas tersebut. Selain itu java juga memiliki kelas yang memungkinkan
programmer untuk melakukan input dan output dari objek atau variabel dari tipe
data primitif. Data akan tetap disimpan sebagai byte atau karakter.Untuk melakukan
input dan output tersebut, objek kelas ObjectInputStream dan ObjectOutputStream
dapat digunakan bersama-sama dengan aliran byte-file berbasis kelas
FileInputStream dan FileOutputStream. Objek file dapat dibuat dengan cara berikut
public File( String name )
atau
public File( File directory, String name )
Pada penulisan ke dua berisi path absolut berisi semua direktori, dimulai dengan
direktori rootkemuidan mengarah ke file yang dituju.
Contoh :
// FileDemonstration.java
// Demonstrating the File class.
import java.io.File;
public class FileDemonstration
// display information about file user specifies
public void analyzePath( String path )
// create File object based on user input
File name = new File( path );
if ( name.exists() )
System.out.printf(%s%s\n%s\n%s\n%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s",
name.getName() " exists",
( name.isFile() ? "is a file" : "is not a file" ),
( name.isDirectory() ? "is a directory" :
"is not a directory" ),
( name.isAbsolute() ? "is absolute path" :
"is not absolute path" ), "Last modified: ",
name.lastModified(), "Length: ", name.length(),
"Path: ", name.getPath(), "Absolute path: ",
name.getAbsolutePath(), "Parent: ", name.getParent() );
if ( name.isDirectory() ) // output directory listing
{
String directory[] = name.list();
System.out.println( "\n\nDirectory contents:\n" );
for ( String directoryName : directory )
System.out.printf( "%s\n", directoryName );
else
System.out.printf( "%s %s", path, "does not exist." );
// FileDemonstrationTest.java
// Testing the FileDemonstration class.
import java.util.Scanner;
public class FileDemonstrationTest
public static void main( String args[] )
Scanner input = new Scanner( System.in );
FileDemonstration application = new FileDemonstration();
System.out.print( "Enter file or directory name here: " );
application.analyzePath( input.nextLine() );
}
Soal Latihan
1. Praktek 1
Buat file biner dengan isian berikut ( buat dengan notepad )
Widget 14 3.35
Spoke 132 0.32
Wrap 58 1.92
Thing 28 4.17
Brace 25 1.75
Clip 409 0.12
Cog 142 2.08
dan beri nama inventory.dat
2. Praktek 2 input file
Ketik program berikut
// InventoryItem.java
// Represents an item in the inventory.
import java.text.DecimalFormat;
public class InventoryItem
private String name;
private int units;
private float price;
private DecimalFormat fmt;
public InventoryItem (String itemName, int numUnits, float cost)
name = itemName;
units = numUnits;
price = cost;
fmt = new DecimalFormat ("0.##");
public String toString()
return name + ":\t" + units + " at " + price + " = " + fmt.format ((units * price));
Ketik program berikut
// Inventory.java
// Demonstrates the use of a character file input stream.
import InventoryItem;
import java.util.StringTokenizer;
import java.io.*;
public class Inventory
public static void main (String[] args)
final int MAX = 100;
InventoryItem[] items = new InventoryItem[MAX];
StringTokenizer tokenizer;
String line, name, file="inventory.dat";
int units, count = 0;
float price;
try
FileReader fr = new FileReader (file);
BufferedReader inFile = new BufferedReader (fr);
line = inFile.readLine();
while (line != null)
tokenizer = new StringTokenizer (line);
name = tokenizer.nextToken();
try
units = Integer.parseInt (tokenizer.nextToken());
price = Float.parseFloat (tokenizer.nextToken());
items[count++] = new InventoryItem (name, units, price);
catch (NumberFormatException exception)
System.out.println ("Error in input. Line ignored:");
System.out.println (line);
}
line = inFile.readLine();
inFile.close();
for (int scan = 0; scan < count; scan++)
System.out.println (items[scan]);
catch (FileNotFoundException exception)
System.out.println ("The file " + file + " was not found.");
catch (IOException exception)
System.out.println (exception);
3. Praktek 3 output file
Ketik program berikut
// TestData.java
// Demonstrates the use of a character file output stream.
import java.io.*;
public class TestData
public static void main (String[] args) throws IOException
final int MAX = 10;
int value;
String file = "test.dat";
FileWriter fw = new FileWriter (file);
BufferedWriter bw = new BufferedWriter (fw);
PrintWriter outFile = new PrintWriter (bw);
for (int line=1; line <= MAX; line++)
for (int num=1; num <= MAX; num++)
value = (int) (Math.random() * 100);
outFile.print (value + " ");
outFile.println ();
outFile.close();
System.out.println ("Output file has been created: " + file);
}
Daftar Pustaka
1. Dasar Pemrograman Java 2, Abdul Kadir,Penerbit Andi,2005
2. Esensi-esensi Bahasa Pemograman Java oleh Bambang Hariyanto, Ir., MT
3. Java™ How to Program, Deitel H.M , Prentice Hall,2004
4. http:/www.sun.com
5. http://www.java.com