BAB II - Perpustakaan Universitas Mercu Buana

advertisement
BAB II
DASAR TEORI
2.1 Pendahuluan
Pada dasarnya, tujuan dari pembuatan layanan katalog perpustakaan
bergerak adalah memberikan layanan informasi secara detil dari suatu buku yang
ada di perpustakaan yang ditampilkan dalam emulator ponsel. Untuk membuat
tampilan itu, maka diperlukan software untuk membuatnya. Dalam buku ini,
penulis menggunakan software J2METM (Java 2 Platform, Micro Edition), selain
itu juga digunakan J2ME Wireless Toolkit sebagai emulator dan JCreator sebagai
editor.
2.2 Protokol TCP/IP
Dalam dunia komunikasi data komputer, protokol mengatur bagaimana
sebuah komputer berkomunikasi dengan komputer lain. Dalam jaringan komputer
dapat digunakan berbagai macam protokol, tetapi agar dua buah komputer dapat
berkomuniksi harus menggunakan protokol yang sama. TCP/IP (Transport
Control Protocol / Internet Protocol) merupakan sekelompok protokol yang
mengatur komunikasi data komputer[1]. Karena menggunakan bahasa yang sama,
dalam hal ini protokol TCP/IP, perbedaan jenis komputer dan sistem operasi tidak
menjadi suatu masalah, dan komputer yang menggunakan protokol itu dapat
berhubungan dengan komputer lain.
2.3 URL (Uniform Resource Locator)
URL dapat didefinisikan sebagai sarana untuk menentukan alamat yang
akan digunakan untuk mengakses data dari server. URL akan mengantarkan
browser ke alamat yang dituju. Secara garis besar URL terdiri dari : jenis protokol
yang akan digunakan, nama webserver, dan directori. Keseluruhan URL yang
lengkap dapat ditulis sebagai berikut :
Protokol://nama-host.namadomain/path/namafile?query#fragment
Tabel 2.1 Bagian-bagian URL
Bagian
Penjelasan
Protokol
Jenis protokol yang akan digunakan (http, ftp, dll)
Nama-host
Nama host yang dipanggil atau IP (internet protocol)
address
Path
Lokasi path/directori tempat file diletakan pada webserver.
Nama file
Nama file yang dipanggil
Query
Jenis query string yang akan digunakan untuk keperluan
CGI
Fragment
1
Menunjukan letak lokasi tertentu pada sebuah dokumen.
Onno W. Purbo, Adnan Basamalah, dan Ismail Fahmi, TCP/IP Standar, Desain dan Implementasi
(Jakarta 2001), hal 11
6
2.4 Java
2.4.1 Pengenalan Bahasa Java
Java mengklasifikasikan teknologinya kedalam tiga platform yang berbeda,
yaitu JavaTM 2 Platform Standart Edition (J2SETM), JavaTM 2 Platform Enterprise
Edition (J2EETM), JavaTM 2 Platform Micro Edition (J2METM). Java merupakan
bahasa pemrograman yang 100 % berorientasi object (OOP). Dengan selogannya
write once run everywhere java dirancang untuk dapat dijalankan di semua
platform atau operating system, tanpa peduli apakah arsitektur perangkat berupa
Intel, AMD, Sun Sparc, Power PC.[2]
Aplikasi java mampu berjalan di semuanya tanpa perlu dikompilasi ulang.
Semua itu bisa dilakukan karena java bersifat neutral architecture, compiler java
mengkompilasi kode program java untuk menghasilkan kode yang netral terhadap
semua arsitektur perangkat keras yang disebut sebagai java bytecode, semuanya
berjalan diatas JVM (Java Virtual Machine).[3] JVM adalah jembatan antara
program kita dengan kompleksitas dan keunikan platform di mana program kita
berjalan.
Seperti halnya bahasa pemrograman lain kode java diketik dengan
menggunakan teks editor, kemudian menyimpannya sebagai file dengan ekstensi
java. Lalu java compiler akan mengkompilasi kode tersebut menjadi java
bytecode, yang tersimpan sebagai sebuah file berekstensi class. Java bytecode itu
kemudian akan ditangani untuk dieksekusi oleh JVM.
2
3
Ady Wicaksono, Dasar-Dasar Pemrograman Java (Jakarta, 2002), hal 14
Onno W. Purbo, Trik Pemrograman Java untuk Jaringan dan Internet (Jakarta, 2000), hal 7
7
myProgram.java
Intepreter
001
010
110
100
...
myProgram.class
My
Program
Compiler
Gambar 2.1 Proses kompilasi dan dijalankannya aplikasi Java
Berikut ini merupakan contoh program Java sederhana untuk menampilkan
string ”Say Hello to Java”.
// Nama file : helloWorld.java
/* Deskripsi : Program yang menampilkan
Hello to Java" */
string
"Say
class helloWorld
{
public static void main(String args[])
{
System.out.println("Say Hello to Java");
}
}
Dalam bahasa Java, nama filenya harus sama dengan nama class-nya.[4]
Pada contoh diatas nama filenya adalah “helloWorld.java” dan nama class-nya
adalah class helloWorld. Pada baris pertama dan kedua terdapat tanda “//” dan
“/*...*/”. Tanda ini merupakan komentar program dari aplikasi Java diatas. Semua
teks yang berada sebaris atau diantara tanda ini dianggap sebagai komentar dan
diabaikan oleh Java Compiler. Pada baris selanjutnya terdapat perintah :
class helloWorld
{
4
Ady Wicaksono, Op.cit. hal. 21
8
}
………………………..
Perintah ini merupakan definisi nama class Java. Sebuah class merupakan
blueprint atau template yang menggambarkan data (berupa variable) dan method
(berupa fungsi-fungsi dan prosedur).
Pada baris selanjutnya terdapat perintah :
public static void main(String args[])
{
……………………...
}
Perintah tersebut merupakan method utama dalam class helloWorld yang
kita definisikan. Setiap alikasi Java harus mengandung definisi main method
diatas. Jika aplikasi Java tidak mengandung main method, maka akan terjadi
kesalahan saat program dijalankan dengan pesan kesalahnnya sebagai berikut.
Exception in thread “main” java.lang.NoSuchMethodError: main
Pada baris selanjutnya terdapat perintah :
System.out.println(“Say Hello to Java”);
Perintah ini digunakan untuk mencetak string “Say Hello to Java” ke standar
output (dalam hal ini adalah monitor).
2.4.2 Konsep Orientasi Object dalam Java
Java adalah bahasa pemrograman yang 100 % berorientasi object. Object
mempresentasikan entitas pada dunia nyata (real world entity). Sebagai analogi,
kita tidak melihat mobil sebagai susunan puluhan ribu komponen, kita melihatnya
sebagai object-object tertentu dengan sifat uniknya. Dalam membuat mobil kita
memulai
dari
memecah-mecah
kompleksitas
sistem
mobil
ke
dalam
9
bagian-bagian kecil (seperti roda, kemudi, dan sebagainya). Pada masing-masing
bagian kecil itu kita definisikan field-field, seperti warna atau daya cakram. Selain
itu kita definisikan apa saja yang bisa dilakukan terhadap bagian-bagian itu,
perintah-perintah yang bisa diterima itu disebut method. Kemudian, kita
definisikan relasi antar object dan bagaimana interaksinya. Antarmuka dalam
interaksi antar object
tersebut adalah method-method yang dimiliki object.
Object-object itu berinteraksi dengan saling memanggil method dari suatu object.
2.4.3 Klasifikasi Java
2.4.3.1 Java 2 Platform Standard Edition (J2SE)
Platform ini berisi class-class inti pada java dan GraphicalUser
Interface (GUI). Class-class inti ini diimplementasikan untuk manipulasi string,
multijalinan, dan penanganan eksepsi atau kesalahan. Dukungan untuk
memanipulasi teks terdapat pada class String. Semua interaksi dengan string
karakter
dilakukan
dengan
class
string
tersebut.
Multi-jalinan
atau
multithreading ditangani dengan class Thread . Dengan Thread kita dapat
memanipulasi langsung keadaan-keadaan pada proses yang sederhana, seperti
prioritas, dan apakah jalinannya berjalan, diam, atau ditunda. Penanganan
eksepsi berhubungan dengan class Exception dan Error.[5] Banyak fungsi dasar
akan mengeluarkan eksepsi yang harus ditangani secara khusus oleh program
yang dibuat agar dapat di-compile. Semua proses I/O yang dilakukan oleh
5
Patrick Naughton, Konsep Pemrograman Java (Yogyakarta, 2000), hal 41
10
program Java terdapat pada class I/O, serta class utilitas yang merupakan
gambaran serbaguna dalam struktur data.
2.4.3.2 Java 2 Platform Enterprise Edition (J2EE)
Platform ini berupa paket yang berisi class-class dan interface-interface
untuk mengembangkan aplikasi berbasis web, seperti class-class Servlet, Java
Server Pages (JSP) dan Enterprise Java Beans. Aplikasi yang dibangun
menggunakan platform J2EE akan terdiri atas komponen-komponen yang
sering disebut dengan istilah J2EE Component yang merupakan unit-unit
program, di mana
masing-masing memiliki fungsionalitas dan dapat
berkomunikasi dengan komponen lainnya sehingga dapat digabungkan untuk
membangun aplikasi J2EE yang lebih besar.[6] Konsep teknologi komponen
dalam industri software meniru teknologi serupa yang sudah diterapkan di dunia
elektronik/hardware. Melalui konsep ini, sebuah peralatan elektronik seperti
komputer dapat dibangun dari berbagai komponen yang masing-masing
memiliki fungsi yang berbeda, seperti harddisk, disk drive, motherboard,
memori, dan sebagainya. Spesifikasi J2EE mendefinisikan komponenkomponen sebagai berikut :
• Aplikasi client yang merupakan komponen yang berjalan pada komputer
client.
• Teknologi komponen Java Servlet dan Java Server Pages (JSP)
merupakan Web component yang berjalan pada server.
6
Albert Samuel, Aplikasi E-Commerce dengan Java Servlet (Jakarta, 2002), hal 56
11
• Komponen Database Server Machine merupakan komponen database
yang berjalan pada server.
2.4.3.2.1 Java Servlet
Servlet adalah teknologi server-side yang dikembangkan oleh Sun
Microsystem. Servlet merupakan class yang didefinisikan dalam bahasa
pemrograman Java dan digunakan untuk meningkatkan kemampuan Web Server
dalam model pemrograman request-respons.[7] Servlet dapat menerima request
dan menghasilkan respons melalui protokol komunikasi HTTP Servlet, yang
diimplementasikan dengan class Java javax.servlet.http.HttpServlet.
HTTP Servlet menerima HTTP request dan men-generate HTTP respons.
Karena Servlet merupakan resourse yang terdapat di server, servlet dapat
mengakses berbagai resourse server lainnya, seperti JSP dan database. Java
memiliki dua buah paket, yang menyediakan interface dan class untuk menulis
servlet,
kedua
paket
tersebut
adalah
javax.servlet
dan
javax.servlet.http.
2.4.3.3 Java 2 Platform Micro Edition (J2ME)
Platform ini menyediakan lingkungan aplikasi yang optimal untuk
embedded system yang digunakan untuk consumer product seperti pager,
handphone, PDA, 3G handset, Webphone, dan system navigasi mobil. Salah satu
cirri khas dari perangkat-perangkat ini adalah ukurannya kecil baik yang secara
fisik maupun ukuran memorinya. Oleh karena itu J2ME hanya menyediakan
7
Ibid. hal. 33
12
subset dari implementasi J2SE yang benar-benar dibutuhkan dalam lingkungan
mobile device. Hampir semua vendor-vendor mobile device seperi Nokia,
Siemens menggunakan Java untuk aplikasi yang mereka buat.
2.4.3.4 J2ME Wireless Toolkit
Toolkit ini digunakan untuk membangun aplikasi Java padaponsel, pada
toolkit ini terdapat emulator dimana seolah-olah sebagai ponsel dengan fungsi
yang sama sesuai dengan aslinya.
Gambar 2.2 Tampilan J2ME Wireless Toolkit dan Emulator Java
13
2.4.4 Tipe Variabel Dalam Java
Variabel merupakan container yang digunakan untuk menyimpan suatu
nilai pada sebuah program dengan tipe tertentu. Tipe variablenya meliputi :
2.4.4.1 Tipe Boolean
Dalam java, setiap variable yang bertipe Boolean hanya akan memiliki
nilai true atau false
2.4.4.2 Tipe Numerik
Adapun tipe numeruk dalam java adalah sebagai berikut :
Tabel 2.2 Tipe variable numerik
Nama Tipe
Ukuran
Range Nilai
Byte
8 bit
-128………127
Short
16 bit
-32768……32767
Int
32 bit
-2147483648….2147483647
Long
64 bit
Char
16 bit
-9223372036854775808 …
9223372036854775808
0…..65535
2.4.5 Operator Dalam Java
Operator digunakan untuk memanipulasi variable data dalam program.
Adapun operator dalam java dibedakan menjadi beberapa jenis :
2.4.5.1 Operator Shift
Operator shift dalam Java digunakan untuk manipulasi bit. Operator shift
digunakan untuk menggeser bit-bit sesuai yang diinginkan.
14
Adapun operator shift dalam Java, yakni :
Tabel 2.3 Operator Shift dalam Java
Operator
Penggunaan
Deskripsi
>>
Op1 >> Op2
Menggeser bit Op1 ke kanan sejauh Op2
>>
Op1 << Op2
Menggeser bit Op1 ke kiri sejauh Op2
2.4.5.2 Operator Aritmatika
Sama halnya dengan semua bahasa pemrograman, java menyediakan
operator-oparator aritmatika untuk manipulasi variable data numeric.
Tabel penggunaan dan jenis operator aritmatika dalam java bisa dilihat di
bawah ini :
Tabel 2.4 Operator Aritmatika dalam Java
Operator
Penggunaan
Deskripsi
+
Op1 + Op2
Menambahkan Op1 dengan Op2
-
Op1 - Op2
Mengurangkan Op1 dengan Op2
*
Op1 * Op2
Mengalikan Op1 dengan Op2
/
Op1 / Op2
Membagi Op1 dengan Op2
%
Op1 % Op2
Menghasilkan sisa hasil bagi antara Op1
dengan Op2
2.4.5.3 Operator Bitwise
Operator bitwise dalam Java juga digunakan untuk manipulasi bit, lebih
lengkapnya dapat dilihat dalam tabel berikut ini :
15
Tabel 2.5 Operator Bitwise dalam Java
Operator
Penggunaan
Deskripsi
&
Op1 & Op2
|
Op1 | Op2
Bitwise OR
^
Op1 ^ Op2
Bitwise XOR
~
Op1 ~ Op2
Bitwise Complement
Bitwise AND
2.4.5.4 Operator Relasioanal
Operator relasional dalam java digunakan untuk membandingkan antara
dua variable data, lebih lengkapnya dapat dilihat dalam table berikut ini :
Tabel 2.6 Operator Relasianal dalam Java
Operator
Penggunaan
Deskripsi
>
Op1 > Op2
Menghasilkan true jika Op1 lebih besar
dari Op2
<
Op1 < Op2
Menghasilkan true jika Op1 lebih kecil
dari OP2
>=
Op1 >= Op2
Menghasilkan true jika Op1 lebih besar
atau sama dengan Op2
<=
Op1 <= Op2
Menghasilkan true jika Op1 lebih kecil
atau sama dengan Op2
==
Op1 == Op2
Menghasilkan true jika Op1 sama dengan
Op2
!=
Op1 != Op2
Menghasilkan true jika Op1 tidak sama
dengan Op2
16
2.4.5.5 Operator Kondisional
Operator kondisional dalam java ada enam macam sebagaimana
digambarkan dalam tabel berikut ini :
Tabel 2.7 Operator Kondisional dalam Java
Operator
Penggunaan
&&
Op1 && Op2
||
Op1 || Op2
!
!Op1
&
Op1 & Op2
|
Op1 | Op2
Deskripsi
Menghasilkan
true
jika
Op1
dan
Op2
keduanya bernilai boolean true
Menghasilkan true jika Op1 atau Op2, salah
satunya bernilai boolean true
Menghasilkan true jika Op1 bernilai boolean
false
Bitwise AND, menghasilkan true jika Op1 dan
Op2 bernilai true
Bitwise OR, menghasilkan true jika Op1 atau
Op2 salah satuya bernilai true
Menghasilkan true jika salah satu diantara
^
Op1 ^ Op2
Op1 atau Op2 bernilai true, namun tidak
keduanya
2.4.6 Struktur Kontrol dalam Java
Dalam pembuatan aplikasi, sering ditemui beberapa kondisi yang
mengharuskan alur program bercabang atau dengan kata lain memilih satu dari
beberapa kondisi yang tersedia sebelum berlanjut ke alur program berikutnya,
untuk itu dibutuhkan struktur kontrol.
17
2.4.6.1 While
Statement while digunakan untuk mendeteksi sebuah blok secara berulang
selama memenuhi kondisi tertentu. Sintaks penggunaannya adalah sebagai
berikut.
Whlile (ekspresi)
{
………statement………
}
Jadi, selama ekspresi bernilai true, statement yang ada akan dieksekusi terus
menerus.
2.4.6.2 Do-While
Sama halnya dengan while, statement do-while digunakan untuk
mengeksekusi sebuah blok secara berulang sampai tidak memenuhi kondisi
tertentu. Pada penggunaan while, ekspresi diperiksa pada saat awal, jadi ada
kemungkinan blok statement dalam while tidak pernah dieksekusi. Pada
penggunaan do-while, ekspresi tidak diperiksa pada saat awal eksekusi, jadi
minimal blok statement do-while akan dieksekusi sekali. Sintaks penggunaannya
adalah sebagai berikut :
do
{
……….statement……….
}
while (ekspresi)
2.4.6.3 For
Statement for digunakan untuk mengeksekusi sebuah blok secara berulang
dalam sebuah range tertentu. Sintaks penggunaannya adalah sebagai berikut :
18
for (inisialisasi; terminasi; increment)
{
...............statement...............
}
Inisilisasi dalam for merupakan ekspresi yang dieksekusi pada awal
eksekusi for. Terminasi digunakan untuk menentukan kapan pengulangan akan
dihentikan. Increment merupakan ekspresi yang akan dieksekusi setiap selesai
melakukan satu looping (pengulangan). Perlu diperhatikan bahwa ketiga bagian
didalam for( ) bersifat opsional, jadi boleh tidak ada. Namun, jika ketiga bagian
diatas kosong, akan menyebabkan terjadinya pengulangan tanpa henti (loop
forever).
2.4.6.4 if-Else
Statement if-else digunakan untuk mengeksekusi sebuah blok jika
memenuhi sebuah kondisi tertentu. Ada kalanya kita menginginkan dua
percabangan, yakni jika suatu kondisi terpenuhi, lakukan aksi A, jika tidak,
lakukan aksi B. Dua percabangan ini dimungkinkan pula dengan menggunakan
if-else. Sintaks penggunaannya, sebagai berikut :
If (kondisi)
{
................statement1................
}
else
{
................statement2.................
}
Jika kondisi bernilai true, statement 1 akan dijalankan. Sebaliknya, jika
kondisi bernilai false, statement 2 yang akan dijalankan.
19
2.4.7 Koneksi Java dengan Database MySQL
Untuk melakukan koneksi dengan database MySQL, dapat digunakan
perintah Java sebagai berikut :
Pada baris pertama terdapat perintah :
public void connect ( )
{
………………….
}
Perintah diatas merupakan method yang digunakan untuk membuka koneksi
dengan database MySQL. Pada baris selanjutnya terdapat perintah :
try
{
}
catch
{
}
............................
...........................
Try dan catch digunakan untuk melakukan error handling apabila koneksi
tidak dapat dilakukan yang dikarenakan, misal, tidak ditemukannya database yang
dimaksud atau tidak adanya driver yang dipakai.
Dan didalam baris try dan catch, terdapat perintah sebagai berikut :

Class.forName(“com.mysql.jdbc.Driver”)
20
Digunakan untuk melakukan pemanggilan driver yang akan digunakan
untuk aplikasi yang berhubungan dengan database MySql.

DriverManager.getConnection("jdbc:mysql://localhost:3306/library"); ,
Digunakan untuk melakukan koneksi kedalam database library yang
berada pada localhost dengan port : 3306.

con.createStatement( );
Digunakan untuk membuat statement-statement berfungsi untuk
melakukan query yang berhubungan dengan database.
2.5 Tomcat Servlet Engine
Tomcat merupakan servlet engine open source yang termasuk dalam proyek
Jakarta yang dikerjakan oleh Apache Software Foundation. Tomcat sendiri ditulis
sepenuhnya dengan bahasa Java sehingga secara otomatis aplikasi web yang
dijalankan dengan Tomcat bisa berjalan di Windows, Linux, atau Unix.
2.6 JCreator
JCREATOR adalah salah satu editor yang digunakan untuk teknologi
Java™. JCreator menyediakan kemampuan seperti :
• Indentasi otomatis untuk penulisan bahasa pemrograman
• Mampu membedakan warna tulisan untuk fungsi, variable, komentar,
sehingga source code lebih mudah dibaca.
21
Download