Kamis, 02 Agustus 2012
Susunan Kode Sumber .java
Susunan Kode Sumber .java
Dalam mengembangkan program Java, Anda menulis class dan class. Class ini ditulis
dalam kode sumber yang disimpan sebagai file teks biasa berekstension .java.
Dalam file .java, dapat dideklarasikan :
1. package
2. import
3. satu atau lebih class
Deklarasi Package
Deklarasi package digunakan untuk mengelompokkan class-class. Sebuah package dapat
mempunyai satu atau lebih sub-package ini sehingga dapat menyusun sebuah hirarki.
Tata cara penulisan :
package <namapackage>.<namasubpackage>.<namasubsubpackage>;
Contoh deklarasi package adalah :
package java.awt;
atau
package org.apache.tomcat.core;
atau
package net.developerforce.relieve.dataaccess;
Deklarasi package bersifat opsional, tidak harus ada. Tanpa deklarasi package maka sebuah class
dikelompokkan ke dalam default package.
Deklarasi Import
Deklarasi import, bersifat opsional, digunakan untuk menunjukkan package atau class
yang digunakan dalam sebuah program Java.
Contohnya adalah :
import java.io.RandomAccessFile;
import java.net.*;
Deklarasi import tidak akan menjadikan class atau package yang Anda cantumkan digabungkan
dengan program Anda saat kompilasi atau saat diluncurkan. Deklarasi import digunakan untuk
menunjukkan java atau javac dalam menemukan class yang Anda gunakan.
Deklarasi Class
Deklarasi class merupakan kandungan utama sebuah file berekstension .java. Deklarasi
class terutama memuat :
1. nama class, bisa dilengkapi dengan kendali akses, deklarasi extends maupun deklarasi
implements. Pola yang lumrah adalah :
2. public class ClassName
3. extends SuperClassName
4. implements Interface1Name, Interface2Name, Interface3Name
5. constructor, yang dipanggil pada saat dibuat instans dari class.
6. deklarasi variabel-variabel
7. deklarasi prosedur-prosedur, yang di dalam Java disebut method.
Contoh
Berikut adalah sebuah contoh sebuah kode sumber untuk class DataAccessPatient. Class
ini bertanggung jawab untuk menyimpan obyek Patient ke sistem basis data.
package net.developerforce.relieve.dataaccess;
import java.sql.*;
import net.developerforce.relieve.value.Patient;
public class DataAccessPatient
{
private Connection conn;
public DataAccessPatient(Connection conn)
{
this.conn = conn;
}
public void insertPatient(Patient patient)
throws SQLException
{
String insertStr =
"INSERT INTO PATIENTTBL "
+ " VALUES("
+ "'" + patient.getId() + "'"
+ ","
+ "'" + patient.getName() + "'"
+ ","
+ "'" + patient.getIc() + "'"
+ ","
+ "'" + patient.getAddress() + "'"
+ ","
+ "'" + patient.getTelephone() + "'"
+ ","
+ "'" + patient.getEmail() + "'"
+ ")";
Statement stmt = conn.createStatement();
stmt.executeUpdate(insertStr);
}
public void updatePatient(Patient patient)
throws SQLException
{
String updateStr =
"UPDATE PATIENTTBL "
+ "SET "
+ "NAME = '" + patient.getName() + "',"
+ "IC = '" + patient.getIc() + "',"
+ "ADDRESS = '" + patient.getAddress() + "',"
+ "TELEPHONE = '" + patient.getTelephone() + "',"
+ "EMAIL = '" + patient.getEmail() + "' "
+ "WHERE "
+ "ID = '" + patient.getId() + "'";
Statement stmt = conn.createStatement();
stmt.executeUpdate(updateStr);
}
public Patient selectPatientWhereIdEquals(String id)
throws SQLException
{
String selectStr =
"SELECT ID, NAME, IC, ADDRESS, TELEPHONE, EMAIL "
+ "FROM PATIENTTBL "
+ "WHERE ID = '" + id + "'";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(selectStr);
if(rs.next())
{
return new Patient (
rs.getString("ID"),
rs.getString("NAME"),
rs.getString("IC"),
rs.getString("ADDRESS"),
rs.getString("TELEPHONE"),
rs.getString("EMAIL")
);
}
else
{
return null;
}
}
}
Dengan mengamati kode sumber DataAccessPatient, Anda dapat menemukan bahwa
1. Package dari class ini adalah net.developerforce.relieve.dataaccess, sesuai dengan
deklarasi package yang ada yaitu :
2. package net.developerforce.relieve.dataaccess;
3. Import yang dilakukan class ini adalah mencakup package java.sql dan sebuah class
net.developerforce.relieve.value.Patient, sestai dengan deklarasi import yang bisa
ditemukan :
4. import java.sql.*;
5. import net.developerforce.relieve.value.Patient;
Anda bisa saja membuang deklarasi import, dan sebagai penggantinya Anda menuliskan
deklarasi class-class yang digunakan secara lengkap. Bandingkan perubahan yang terjadi
dalam potongan berikut :
package net.developerforce.relieve.dataaccess;
public class DataAccessPatient
{
private java.sql.Connection conn;
public DataAccessPatient(java.sql.Connection conn)
{
...
}
public void
insertPatient(net.developerforce.relieve.value.Patient patient)
throws java.sql.SQLException
{
...
java.sql.Statement stmt = conn.createStatement();
...
}
public void
updatePatient(net.developerforce.relieve.value.Patient patient)
throws java.sql.SQLException
{
...
java.sql.Statement stmt = conn.createStatement();
...
}
public Patient selectPatientWhereIdEquals(String id)
throws java.sql.SQLException
{
...
java.sql.Statement stmt = conn.createStatement();
java.sql.ResultSet rs = stmt.executeQuery(selectStr);
if(rs.next())
{
return new net.developerforce.relieve.value.Patient (
...
);
}
...
}
}
Anda boleh membuang deklarasi import tetapi sebagai penggantinya Anda harus
mendeklarasikan class-class yang digunakan secara lengkap : Connection sebagai
java.sql.Connection, Statement sebagai java.sql.Statement, ResultSet sebagai
java.sql.ResultSet dan Patient sebagai net.developerforce.relieve.value.Patient.
6. Deklarasi class yang ada dalam kode sumber ini adalah :
7. public class DataAccessPatient
Menunjukkan bahwa class DataAccessPatient diturunkan dari java.lang.Object dan
bukan dari class lain.
8. Untuk meng-instatiate class DataAccessPatient dibutuhkan parameter bertipe
java.sql.Connection, sebagaimana deklarasi constructor :
9. public DataAccessPatient(Connection conn)
10. {
11. ...
12. }
13. Class ini mempunyai satu variable yang dideklarasikan sebagai :
14. private Connection conn;
15. Class DataAccessPatient mendeklarasikan tiga method :
16. public void insertPatient(Patient patient)
17. throws SQLException
18. {
19. ...
20. }
21.
22. public void updatePatient(Patient patient)
23. throws SQLException
24. {
25. ...
26. }
27.
28. public Patient selectPatientWhereIdEquals(String id)
29. throws SQLException
30. {
31. ...
32. }
Langganan:
Posting Komentar (Atom)
0 komentar:
Posting Komentar