BAB 2 LANDASAN TEORI 2.1 Kamus Secara etimologi, kata kamus

advertisement
BAB 2
LANDASAN TEORI
2.1
Kamus
Secara etimologi, kata kamus berasal dari kata dalam bahasa Arab, yaitu qamus
(bentuk jamaknya qawamus). Bahasa Arab menyerap kata kamus dari kata dalam
bahasa Yunani kuno, okeanos yang berarti lautan. Tentu menjadi pertanyaan,
bagaimana kata kamus yang berurusan dengan kosakata berasal dari bahasa Yunani
kuno okeanos yang berarti lautan? Kalau kita mencoba untuk memahami sejarah kata
itu, jelaslah bahwa kata kamus memiliki makna dasar wadah pengetahuan, khususnya
pengetahuan bahasa yang tidak terhingga dalam dan luasnya, seluas dan sedalam
lautan (Chaer, 2007:179) [2].
Selain pengertian kamus yang telah disebutkan di atas, Chaer (2007:179) juga
menyebutkan pengertian kamus yang dikemukakan oleh beberapa para ahli [2].
1. Kridalaksana menyebutkan bahwa kamus adalah buku referensi yang memuat
daftar kata atau gabungan kata dengan keterangan mengenai pelbagai segi
maknanya dan penggunaannya dalam bahasa, biasanya disusun menurut abjad.
2. Dalam American Every Dictionary disebutkan bahwa kamus adalah sebuah
buku berisi kata-kata dari sebuah bahasa, biasanya disusun secara alfabetis,
disertai keterangan akan artinya ucapannya, ejaannya, dsb.
3. Labrousse (1977) menyebutkan bahwa kamus adalah buku berisi kumpulan
kata-kata sebuah bahasa yang disususn secara alfabetis diikuti dengan definisi
atau terjemahannya dalam bahasa lain.
4. Keraf (1984) mendefinisikan kamus sebagai sebuah buku referensi, memuat
daftar kata-kata yang terdapat dalam sebuah bahasa, disusun secara alfabetis,
disertai keterangan cara menggunakan kata itu.
Universitas Sumatera Utara
2.2
Pengertian Java
Java adalah bahasa yang dapat dijalankan dimanapun dan di sembarang platform
apapun, di beragam lingkungan internet, intranets, consumer electronic products, dan
computer applications. Untuk beragam aplikasi yang dibuat dengan bahasa Java, Java
dipaketkan dalam edisi-edisi berikut [1]:
1. Java 2 Standar Edition (J2SE), yang digunakan untuk mengembangkan
aplikasi-aplikasi desktop dan applet (aplikasi Java yang dapat dijalankan di
dalam browser web).
2. Java 2 Enterpise Edition (J2EE), merupakan edisi perluasan dari J2SE (Superset
dari J2SE), aplikasi berskala besar (Enterprise), seperti pemrograman memakai
database dan diatur di server. Teknologi yang termasuk dalam edisi ini adalah
EJBs (Enterprise Java Bean), XML (Extensible Markup Language), Servlet,
JSP (Java Server Pages), CORBA (Common Object Request Broker
Arhitechture), dan lain-lain.
3. Java 2 Micro Edition (J2ME), merupakan edisi khusus dari Java dan subset dari
edisi J2SE. Edisi ini untuk pemrograman dengan peralatan-peralatan kecil atau
terbatas seperti PDA, mobile, pager, dan lain-lain.
2.3
Java 2 Micro Edition (J2ME)
J2ME adalah satu set spesifikasi dan teknologi yang fokus kepada perangkat mobile.
Perangkat ini memiliki banyak jenis dalam hal ukuran, desain dan layout. Tetapi
semuanya memiliki karakteristik yang sama, yaitu: jumlah memori yang terbatas,
mengkonsumsi daya yang rendah dari baterai, layar yang kecil dan konektivitas yang
terbatas, yakni bandwith jaringan yang rendah [11].
Sebuah aplikasi J2ME bisa dijalankan pada semua perangkat mobile yang
mendukung Java tanpa harus dilakukan kompilasi berulang kali akibat dari perangkat
yang berbeda-beda. Hal ini bisa dilakukan karena J2ME menyediakan suatu interface
Universitas Sumatera Utara
yang sesuai dengan perangkat tersebut. Dengan kata lain, aplikasi atau program tidak
lagi berinteraksi dengan perangkat, tetapi langsung berinteraksi dengan Java Virtual
Machine (JVM) melalui hasil kompilasi program berupa bytecode.
Interface yang dimaksud adalah Configuration dan Profile. Configuration
menyediakan lingkungan runtime dasar yang terdiri dari kumpulan pustaka (kelaskelas) inti didalam system J2ME. Sedangkan Profile menyediakan pustaka tambahan
untuk kelas tertentu dari Configuration dalam sebuah perangkat[9].
1. Configuration
Configuration didefinisikan menjadi dua buah, yaitu:
a. Connected Limited Device Configuration (CLDC) untuk perangkat kecil.
b. Connected Device Configuration (CDC) untuk perangkat yang lebih besar.
Hubungan antara library yang digunakan antara Java Standart Edition (J2SE), J2ME
(CLDC dan CDC) dapat digambarkan sebagai berikut:
Java SE
CD
CLD
C
Gambar 2.1 Hubungan J2SE dan J2ME [9]
2. Profile
Terdapat beberapa jenis Profile yang dapat dikombinasikan dengan Configuration
antara lain MIDP, Foundation Profile, Personal Basis Profile dan masih banyak
lagi[8].
Universitas Sumatera Utara
2.3.1 Connected Limited Device Configuration (CLDC)
CLDC menggunakan spesifikasi dasar berupa library dan API seperti yang digunakan
pada perangkat mobile. Spesifikasi tersebut antara lain: spesifikasi minimal dari
package, class, dan sebagian fungsi JVM yang dikurangi. Tujuannya adalah agar
spesifikasi tersebut dapat diimplementasikan pada perangkat mobile dengan adanya
pertimbangan pada keterbatasan sumber daya. JVM yang digunakan oleh CLDC
adalah Kilobyte Virtual Machine (KVM) [6].
Gambar 2.2 CLDC pada Arsitektur J2ME [9]
CLDC dirancang untuk perangkat mobile yang memiliki keterbatasan pada
kemampuan prosesor, memori, dan grafik. Spesifikasi CLDC yang dibutuhkan untuk
perangkat mobile dapat dilihat pada tabel di bawah ini.
Tabel 2.1 Spesifikasi CLDC yang Dibutuhkan untuk Perangkat Mobile [11]
CLDC
Digunakan pada perangkat mobile, yakni: handphone, PDA, two-way pager yang
memenuhi karakteristik di bawah ini, yaitu:
•
Prosesor: 16 / 32 bit dengan kecepatan clock: 16 MHz atau lebih tinggi.
•
Minimum memori ROM adalah sebesar 160 KB, dimana digunakan untuk
alokasi terhadap satu atau lebih library CLDC dan mesin virtual.
•
Minimum memori RAM adalah sebesar 192 KB yang disediakan untuk
platform Java.
Universitas Sumatera Utara
2.4
Mobile Information Device Profile (MIDP)
MIDP adalah salah satu profile yang didesain untuk handphone dan entry level PDA.
MIDP menangani fungsi inti aplikasi yang dibutuhkan aplikasi mobile, termasuk
tampilan pemakai (user interface), konektivitas jaringan (network), penyimpanan data
lokal dan pengaturan aplikasi. MIDP adalah jenis profile yang paling sering digunakan
bersamaan dengan CLDC untuk menyediakan Java runtime environment yang
mempengaruhi
kapabilitas
untuk
menangani
perangkat
dan
meminimalisir
penggunaan memori dan konsumsi power. MIDP yang digunakan oleh aplikasi
Kamus ini adalah MIDP 2.0. Ada pun karakteristik dari MIDP 2.0 tersebut dapat
dilihat pada tabel di bawah ini [11].
Tabel 2.2 Karakteristik dari MIDP 2.0 [11]
MIDP 2.0
Display :
96 x 54
Kedalaman Display :
1-bit
Bentuk piksel (rasio aspek) :
Mendekati 1 : 1
Input :
Keyboard dan touch-screen.
Memori :
256
KB
memori non-volitale
untuk
komponen MIDP.
8 KB memori non-volitale untuk data
persistence yang dibuat oleh aplikasi.
128 KB memori volitale untuk JRE.
Jaringan :
Dua arah, tanpa kabel (wireless).
Library J2ME :
-
javax.Micro Edition.lcdui
-
javax.Micro Edition.midlet
-
javax.Micro Edition.rms
-
javax.Micro Edition.lcdui.game
-
javax.Micro Edition.media
-
javax.Micro Edition.pki
Multimedia :
Memiliki kemampuan untuk memainkan
file multimedia (suara dan video).
Universitas Sumatera Utara
2.5
Mobile Information Device Applet (MIDlet)
MIDlet adalah
istilah untuk aplikasi J2ME yang dibangun menggunakan profile
MIDP. Sedangkan kumpulan MIDlet disebut MIDlet suite. MIDlet ini harus memiliki
sebuah
class
yang
diperluas
(extends)
dengan
class
javax.Micro
Edition.midlet.MIDlet. Sebuah aplikasi MIDlet mempunyai tiga kemungkinan
kondisi active, pause dan destroy [9].
Dalam sebuah MIDlet tidak dikenal method main yang dijalankan pertama kali
sebagaimana J2SE, namun MIDlet memiliki tiga buah method utama yang terdapat
pada masing-masing kondisi, yaitu method startApp(), pausedApp(), dan
destroyApp().
Berikut ini adalah contoh kode yang menerapkan beberapa method tersebut.
Gambar 2.3 Tiga Method yang Harus Diimplentasikan
Adapun gambar daur hidup dari sebuah MIDlet yang dapat menjelaskan kode
di atas, yaitu sebagai berikut ini.
destroyApp()
new
Active
startApp()
pausedApp()
Paused
destroyApp()
Destroyed
Gambar 2.4 Siklus Hidup Midlet [9]
Universitas Sumatera Utara
Pada saat aplikasi MIDlet diciptakan (new), maka akan diinisialisasi oleh dengan
kondisi Paused (masih dalam kondisi inactive). Apabila sebuah exception terjadi
dalam constructor, maka MIDlet akan memasuki kondisi Destroyed dan akan
membuangnya segera. Apabila tidak terjadi exception, maka akan masuk ke kondisi
berikutnya, yakni kondisi Active, melalui method startApp() oleh AMS. Pada saat
kondisi Active, ini berarti aplikasi sedang dijalankan atau sedang digunakan oleh user.
MIDlet akan masuk ke kondisi Destroyed, pada saat user keluar dari MIDlet, melalui
method
destroyApp().
Method
destroyApp()
akan
memanggil
method
notifyDestroyed() untuk menterminasi MIDlet dan membersihkan semua sumber daya
yang mengacu pada MIDlet [6].
2.5
Lightweight User Interface Toolkit (LWUIT)
LWUIT adalah sebuah teknologi terbaru dalam pembuatan aplikasi java mobile yang
dikembangkan oleh Sun Developer. Teknologi mendukung MIDP 2.0/CLDC 1.1 dan
dapat juga dihubungkan (ported) dengan platform CDC [10].
Beberapa keunggulan teknologi LWUIT yang diberikan adalah sebagai berikut ini.
1.
Layouts Manager
Sangat fleksibel dan merupakan fitur yang kokoh dan konsisten, khususnya
apabila aplikasi dijalankan pada ukuran layar yang berbeda-beda tanpa
merusak rancangan tampilan.
2.
Pluggable Look and Feel & Themes
Memampukan untuk menciptakan sebuah file CSS dimana dapat dipanggil
(loaded) atau pun diganti (changed) pada saat runtime, mengontrol look and
feel sebuah aplikasi.
3.
Fonts
Memiliki kebebasan dalam menciptakan dan menggunakan font di dalam
aplikasi.
4.
Touch Screen
Semua komponen LWUIT mendukung touch events tanpa memerlukan special
coding di dalam menjalankan perangkat mobile touch screen.
Universitas Sumatera Utara
5.
Animations & Transitions
Memiliki efek visual yang bermacam-macam yang tersedia di dalam library
LWUIT. Untuk menggunakannya dapat dipanggil (import) langsung dari
library.
6.
3D and SVG Graphics Integration
7.
Tools
Memiliki aplikasi stand-alone (Theme Creator) yang dapat membantu
programmer dalam merancang tampilan background, tampilan objek, dan
elemen-elemen theme lainnya pada sebuah aplikasi java mobile.
8.
Bi-directional text support
Mendukung penulisan text dari kanan ke kiri.
Berikut ini adalah contoh tampilan dapat dihasilkan melalui teknologi LWUIT, yaitu
sebagai berikut:
Gambar 2.5 Tampilan yang Dihasilkan dengan Teknologi LWUIT [13]
2.7
Widget
Dalam pembuatan aplikasi J2ME akan dijumpai beberapa widget untuk membentuk
sebuah User Interface (UI). Widget adalah sebuah jenis component khusus yang
memiliki keunikkan dari segi tampilan dan kegunaannya, misalnya Button, Label,
ComboBox, dan lain-lain. Di bawah ini adalah gambar dari keseluruhan widget dalam
bentuk family tree [7].
Universitas Sumatera Utara
Gambar 2.6 Widget dalam bentuk Family Tree [7]
2.7.1 Container
Container digunakan sebagai penampung, dimana dapat diisi dengan satu atau lebih
component, termasuk juga Container. Container memiliki turunan atau pembagian,
yaitu: Form, Dialog, TabbedPane, dan Calendar [10].
2.7.1.1
Form
Form adalah sebuah container dengan titlebar diatasnya untuk judul form dan
MenuBar dibawahnya untuk command dan menu. Ruang kosong (space) yang ada di
antara kedua bar tersebut adalah content pane, yang digunakan sebagai tempat untuk
menampung satu atau lebih component yang akan diisi ke dalam form.
Berikut ini adalah contoh tampilan dari sebuah form dengan command Exit pada
menubar.
Universitas Sumatera Utara
Gambar 2.7 Contoh Tampilan Form [10]
Implementasi dalam Program Java
Berikut ini adalah contructor dan method dari widget form yang digunakan penulis
dalam merancang dan membuat aplikasi MyDict, yaitu sebagai berikut ini.
1. form()
2. addCommand()
3. addComponent()
4. setCommandListener
5. setLayout()
6. setScrollable()
7. show()
Constructor/Method
Form(java.lang.String title)
Penjelasan
Memberikan judul setelah menciptakan
sebuah form.
void addCommand(Command cmd)
Menambah
MenuBar
sebuah
Softkey.
command
Jika
form
pada
hanya
memiliki satu buah Command saja, maka
command akan ditempatkan di sebelah
kanan. Jika memiliki dua buah, maka
Universitas Sumatera Utara
command pertama ditempatkan di sebelah
kanan, sedangkan command
kedua
ditempatkan di sebelah kiri. Jika
memiliki lebih dari dua buah, maka
command pertama ditempatkan di
sebelah kiri dan di sebelah kanan akan
ditempati oleh command menu yang
menampung sisa dari command yang
ada.
Parameters:
cmd – Command yang akan ditambahkan.
void addComponent(Component cmp)
Menambah sebuah Component pada
content pane form.
Parameters:
cmd – Component yang akan
ditambahkan.
void setCommandListener
Menanamkan listener pada command,
(ActionListener commandListener)
sehingga command akan bereaksi dan
melakukan aksi ketika diklik.
Parameters:
commandListener – menentukan interface
dalam mengimplementasikan
commandlistener.
void setLayout(Layout layout)
Mengijinkan layout manager untuk
menyusun tata letak component pada
container.
Parameters:
layout – jenis layout tertentu.
void setScrollable(boolean
Mengatur aktif tidaknya Scroll sumbu X
scrollable)
dan sumbu Y. Apabila suatu component
melebihi batas dari layar suatu perangkat
mobile, maka secara otomatis scroll akan
Universitas Sumatera Utara
diaktifkan, dengan syarat setScrollable
adalah true.
Parameters:
scrollable – mengaktifkan/mengnonaktifkan scroll sumbu X dan sumbu Y.
Bernilai:
true – mengaktifkan scrollable.
false – mengnon-aktifkan scrollable.
void show()
Menampilkan form pada layar perangkat
mobile.
2.7.1.1.a Dialog
Dialog adalah sebuah component yang digunakan untuk memberikan informasi
kepada user pada saat aplikasi sedang dijalankan. Component ini berada pada posisi di
tengah layar dengan sebuah bingkai (frame) baru, dengan rupa yang mencolok dan
membuat sekelilingnya menjadi tampak gelap.
Dialog dapat digunakan untuk beberapa hal, yaitu seperti:
•
Alarm
•
Confirmation
•
Error
•
Info
•
Warning
Berikut ini adalah contoh tampilan dari sebuah dialog dengan command Cancel dan
Ok pada menubar.
Universitas Sumatera Utara
Gambar 2.8 Contoh Tampilan Dialog [10]
Implementasi dalam Program Java
Berikut ini adalah contructor dan method dari widget Dialog yang digunakan penulis
dalam merancang dan membuat aplikasi MyDict, yaitu sebagai berikut ini.
1. Dialog()
2. setAutoDispose()
3. show ()
Constructor/Method
Penjelasan
Dialog()
Menciptakan sebuah Dialog.
void setAutoDispose
Mengatur
(boolean autoDispose)
dispose pada Dialog. Dialog pada saat
aktif
tidaknya
automatic-
sudah ditampilkan akan dapat menutup
dirinya sendiri. Hal ini dapat terjadi
apabila setAutoDispose adalah true.
Parameters:
autoDispose – mengaktifkan/mengnonaktifkan automatic-dispose.
Bernilai:
true – mengaktifkan automatic-dispose.
Universitas Sumatera Utara
false – mengnon-aktifkan automaticdispose.
static show
Menampilkan Dialog dengan mode yang
(String title, Component body,
sudah diset pada layar perangkat mobile.
Command[] cmds, int type, Image
icon, long timeout)
Parameters:
title – judul dari sebuah Dialog.
body
–
Component
yang
akan
dimasukkan dalam Dialog.
cmds – Command yang akan digunakan
oleh Dialog.
type – memilih tipe Dialog yang akan
digunakan, misalnya: TYPE_WARNING,
TYPE_INFO, TYPE_ERROR,
TYPE_CONFIRMATION atau
TYPE_ALARM.
icon – memasang sebuah ikon untuk
Dialog.
timeout – mengatur waktu dari automaticdispose apabila setAutoDispose adalah
true. Jika nilainya adalah false, maka
timeout dapat diisi dengan 0 saja. Dispose
dilakukan dari command.
2.7.1.1.b TabbedPane
TabbedPane menyediakan sejumlah component (tab) yang memiliki ukuran tempat
yang sama. Setiap tab pada tabbedpane masing-masing memiliki kemampuan untuk
menampung satu atau lebih component, termasuk juga container. Dan component
yang ditampung oleh tab yang satu dengan tab yang lainnya tidak harus sama. Tab
yang terseleksi akan langsung ditampilkan kepada user sesuai dengan component yang
ditampung.
Universitas Sumatera Utara
Berikut ini adalah contoh tampilan dari sebuah TabbedPane dengan command Help
dan Back pada menubar.
Gambar 2.9 Contoh Tampilan TabbedPane [10]
Implementasi dalam Program Java
Berikut ini adalah contructor dan method dari widget tabbedpane yang digunakan
penulis dalam merancang dan membuat aplikasi MyDict, yaitu sebagai berikut ini.
1. TabbedPane()
2. addFocusListener()
3. addTab()
4. addTabListener()
5. getTabCount()
6. setSelectedIndex()
Constructor/Method
TabbedPane()
Penjelasan
Menciptakan sebuah tabbedpane kosong,
yakni belum terdapat tab di dalamnya.
void addTab(java.lang.String
Menambah tab pada tabbedpane,berikut
title, Component component)
dengan judul tab dan component yang
akan diisi.
Parameters:
title – judul dari tab.
component – component yang akan diisi.
void addTabListener
Menanamkan listener pada tabbedpane,
Universitas Sumatera Utara
(SelectoinListener listener)
sehingga tabbedpane akan bereaksi dan
melakukan aksi ketika ada perpindahan
fokus dari satu tab ke tab lain.
Parameters:
l
–
menentukan
interface
dalam
mengimplementasikan tablistener.
int getTabCount()
Mengambil
nilai
(int)
dari
total
banyaknya tab yang ada pada tabbedpane.
void setSelectedIndex(int index)
Menentukan
fokus
tab
berdasarkan
indexnya. Parameters:
index – index dari tab.
void
Menanamkan listener pada tabbedpane,
addFocusListener(FocusListener l)
sehingga tabbedpane akan bereaksi dan
melakukan
aksi
apabila
tabbedpane
menerima fokus atau kehilangan fokus.
2.7.2 Label Family
Label Family memiliki empat buah anggota, yaitu sebagai berikut:
•
Label
•
Button
•
CheckBox
•
RadioButton
2.7.2.1 Label
Label digunakan sebagai tempat untuk menampilkan teks atau ikon atau keduaduanya. Label tidak digunakan untuk bereaksi terhadap input dari user, tetapi
digunakan untuk menampilkan informasi secara tekstual pada aplikasi.
Berikut ini adalah contoh tampilan dengan menggunakan Label dan dengan command
Exit pada MenuBar.
Universitas Sumatera Utara
Gambar 2.10 Contoh Tampilan dengan Menggunakan Label [10]
Implementasi dalam Program Java
Berikut ini adalah contructor dan method dari widget label yang digunakan penulis
dalam merancang dan membuat aplikasi MyDict, yaitu sebagai berikut ini.
1. Label()
2. getText()
3. setAlignment()
4. setStyle()
5. setText()
Constructor/Method
Label(java.lang.String text)
Penjelasan
Menciptakan
sebuah
Label
dan
memberikan teks atau judul padanya.
String getText()
Mengambil teks atau judul (String) dari
sebuah Label.
int setAlignment(int align)
Mengatur
alignment
sebuah
Label,
misalnya: CENTER, LEFT, dan RIGHT.
Parameters:
align – alignment yang akan digunakan.
Void
text)
setText(java.lang.String
Menuliskan teks atau judul sebuah Label.
Parameters:
text – teks yang akan ditampilkan pada
Universitas Sumatera Utara
Label.
void setStyle(Style style)
Mengubah
style
menggantikannya
dari
Label
dan
dengan
style
yang
dipilih.
Parameters:
style – style yang diberikan kepada Label.
2.7.2.2 Button
Button digunakan terutama untuk menangkap input dari user, misalnya klik. Selain
itu, Button mirip dengan Label dimana dapat menampilkan informasi secara tekstual
berupa teks atau gambar atau kedua-duanya.
Berikut ini adalah contoh tampilan dengan menggunakan Button.
Gambar 2.11 Contoh Tampilan dengan Menggunakan Button [10]
Implementasi dalam Program Java
Berikut ini adalah contructor dan method dari widget button yang digunakan penulis
dalam merancang dan membuat aplikasi MyDict, yaitu sebagai berikut ini.
1. Button()
2. addActionListener()
3. getState()
4. getText()
5. setAlignment()
6. setEnabled()
Universitas Sumatera Utara
7. setIcon()
8. setText()
9. setTextPosition
Constructor/Method
Button(java.lang.String text)
Penjelasan
Menciptakan
sebuah
button
dan
memberikan teks atau judul padanya.
Button(java.lang.String text,
Menciptakan
Image icon)
memberikan teks atau judul dan ikon
sebuah
button
dan
padanya.
void addActionListener
Menanamkan
(ActionListener l)
sehingga
listener
button
pada
akan
button,
bereaksi
dan
melakukan aksi ketika diklik.
Parameters:
l
–
menentukan
interface
dalam
mengimplementasikan actionlistener.
int getState()
Mengembalikan nilai keadaan (state) dari
suatu Button. Nilai tersebut [4] antara lain:
•
final int STATE_DEFAULT =
2
•
final int STATE_PRESSED =
1
•
final int STATE_ROLLOVER =
0
void setEnabled(boolean enabled)
Membuat button menjadi enable atau
disable.
Parameters:
enabled – mengatur enable/disable sebuah
button. Bernilai: true – berarti enable.
false – berarti disable.
String getText()
Mengambil teks atau judul (string) dari
sebuah button.
int setAlignment(int align)
Mengatur alignment sebuah button,
misalnya: CENTER, LEFT, dan RIGHT.
Universitas Sumatera Utara
Parameters:
align – alignment yang akan digunakan.
void setIcon(Image icon)
Memasang sebuah ikon pada button.
Parameters:
icon – icon yang akan digunakan.
void setText(java.lang.String
Menuliskan teks atau judul sebuah button.
text)
Parameters:
text – teks yang akan ditampilkan pada
Button
void setTextPosition(int
Mengatur posisi teks yang akan
textPosition)
ditampilkan pada Button, misalnya:
LEFT, RIGHT, BOTTOM, dan TOP.
Pengaturan juga akan berdampak pada
posisi ikon.
Parameters:
textPosition – posisi teks yang akan
digunakan.
2.7.3 TextArea
Penyuntingan pada TextArea dilakukan melalui sebuah screen yang berbeda. Ketika
user ingin menuliskan sebuah pesan, maka secara otomatis akan beralih ke screen text editor (gambar 2.12 a), kemudian user baru akan menuliskan pesannya. Pesan
akan ditampilkan ke dalam bingkai TextArea ketika penyuntingan berhasil dilakukan.
Pesan yang dituliskan apabila terlalu panjang, maka textarea secara otomatis akan
memperlebar ukuran bingkainya dan akan mengaktifkan vertical scroll-bar, sehingga
user dapat membaca keseluruhan teks. Untuk lebih jelasnya dapat dilihat pada gambar
2.12 b.
Secara default, TextArea menampung teks sebanyak 124 karakter. Apabila
dimasukkan lebih dari itu, maka teks yang berikutnya tidak akan diterima. Untuk
Universitas Sumatera Utara
memungkinkan menambah kapasitas karakter, maka dapat memanggil sebuah method
untuk mengatur besar maksimum kapasitas karakter pada TextArea tersebut. Selain
itu, TextArea juga dapat digunakan untuk hanya menampilkan pesan pada aplikasi,
misalnya menampilkan informasi help untuk penggunaan fitur sebuah aplikasi.
Biasanya pesan yang ditampilkan ini, tidak bisa diubah atau di-edit oleh user, kecuali
perubahan dilakukan dari program aplikasi.
Berikut ini adalah contoh tampilan dengan menggunakan TextArea
Gambar 2.12 Screen Text-Editor (a) dan Contoh Tampilan dengan Menggunakan
TextArea (b) [10].
Implementasi dalam Program Java
Berikut ini adalah contructor dan method dari widget TextArea yang digunakan
penulis dalam merancang dan membuat aplikasi MyDict, yaitu sebagai berikut ini
1. TextArea()
7. setConstraint()
2. addActionListener()
8. setEditable()
3. addFocusListener()
9. setEnabled()
4.
10. setMaxSize()
getText()
5. hasFocus()
11. setText()
6. setAlignment()
12. setVisible()
Universitas Sumatera Utara
30
Textarea(java.lang.String text,
Menciptakan sebuah TextArea dan
int rows, int colums)
mengisi pesan di dalamnya, serta
mengatur banyaknya baris dan kolom.
void addActionListener
Menanamkan listener pada TextArea,
(ActionListener a)
sehingga TextArea akan bereaksi dan
melakukan aksi ketika penyuntingan
dilakukan.
Parameters:
a – menentukan interface dalam
mengimplementasikan actionlistener.
String getText()
Mengambil teks atau pesan (String) dari
sebuah TextArea
void setAlignment(int align)
Mengatur alignment sebuah textarea,
misalnya: CENTER, LEFT, dan RIGHT.
Parameters:
align – alignment yang akan digunakan.
void setConstraint(int
Mengatur penyempitan (constraint)
constraint)
terhadap teks yang akan ditulis pada
TextArea misalnya: ANY,
EMAILADDR, NUMERIC,
PHONENUMBER, URL, DECIMAL,
PASSWORD, UNEDITABLE,
SENSITIVE, NON_PREDICTIVE,
INITIAL_CAPS_SENTENCE, dan
INITIAL_CAPS_WORD.
Constraint dapat digunakan lebih dari
satu.
Parameters:
constraint – constraint yang akan
digunakan.
void setEditable(boolean b)
Mengatur TextArea untuk bisa disunting
(edit) atau tidak, atau membuatnya
Universitas Sumatera Utara
30
menjadi read-only.
Parameters:
b – mengaktifkan/mengnon-aktifkan
editable.
void setMaxSize(int maxSize)
Mengatur besar maksimum kapasitas
karakter yang dapat dituliskan dalam
TextArea
Parameters:
maxSize – besar maksimum yg
ditentukan.
void setText(java.lang.String
t)
Menuliskan teks atau pesan ke dalam
TextArea.
Parameters:
t – teks yang akan diisikan.
void addFocusListener
Menanamkan listener pada TextArea,
(FocusListener l)
sehingga TextArea akan bereaksi dan
melakukan
aksi
apabila
TextArea
menerima fokus atau kehilangan fokus.
Parameters:
l
–
menentukan
interface
dalam
mengimplementasikan FocusListener.
boolean hasFocus()
Mengembalikan nilai true jika TextArea
terfokus dan false untuk sebaliknya.
void setEnabled(boolean enabled)
Membuat
TextArea
menjadi
tampak
kelihatan (visible) pada Container atau
tidak.
Parameters:
visible– mengatur visible/invisible sebuah
TextArea.
Bernilai:
true – berarti visible.
false – berarti invisible.
Universitas Sumatera Utara
30
void setVisible(boolean visible)
Membuat
TextArea
menjadi
tampak
kelihatan (visible) pada Container atau
tidak.
Parameters:
visible– mengatur visible/invisible sebuah
TextArea.
Bernilai:
true – berarti visible.
false – berarti invisible.
2.7.4 ComboBox
ComboBox merupakan gabungan dari component List dan Button. Dengan kata lain,
ComboBox dapat bereaksi terhadap input dari user. Ketika Button diklik, maka
ComboBox akan menampilkan satu atau lebih item secara drop-down. Item yang
terpilih yang akan digunakan dan ditampilkan pada Combo Box.
Berikut ini adalah contoh tampilan dengan menggunakan ComboBox.
Gambar 2.13 Contoh Tampilan dengan Menggunakan ComboBox [10]
Implementasi dalam Program Java
Berikut ini adalah contructor dan method dari widget ComboBox yang digunakan
penulis dalam merancang dan membuat aplikasi MyDict, yaitu sebagai berikut ini.
Universitas Sumatera Utara
1. ComboBox()
2. addActionListener()
3. addItem()
4. addFocusListener()
5. addSelectionListener()
6. getSelectedIndex()
7. getSelectedItem()
8. setSelectedIndex()
Constructor/method
Penjelasan
ComboBox()
Menciptakan sebuah ComboBox kosong.
void setSelectedIndex(int
Menentukan fokus item berdasarkan
selection)
indexnya.Parameters: selection – index
dari item.
void addFocusListener
Menanamkan listener pada ComboBox,
(FocusListener l)
sehingga ComboBox akan bereaksi dan
melakukan
aksi
apabila
ComboBox
menerima fokus atau kehilangan fokus.
Parameters:
l
–
menentukan
interface
dalam
mengimplementasikan FocusListener.
void addActionListener
Menanamkan listener pada ComboBox,
(ActionListener l)
sehingga ComboBox akan bereaksi dan
melakukan aksi ketika ada sebuah item
terseleksi.
Parameters:
l
–
menentukan
interface
dalam
mengimplementasikan ActionListener.
void addItem (java.lang.Object
Menambah item pada ComboBox.
item)
Parameters:
item – item yang akan ditambahkan.
void addSelectionListener
Menanamkan listener pada ComboBox,
Universitas Sumatera Utara
(SelectionListener l)
sehingga ComboBox akan bereaksi dan
melakukan aksi ketika ada perpindahan
fokus dari satu item ke item lain.
Parameters:
l
–
menentukan
interface
dalam
mengimplementasikan SelectionListener.
int getSelectedIndex()
Mengambil nilai index (int) dari item
yang terfokus.
Object getSelectedItem()
Mengambil nama objek dari item yang
terfokus.
2.8
Manipulasi String
String adalah suatu tipe data yang berbeda dengan tipe lainnya, karena String adalah
sebuah Class, bukan primitive data type. Namun sebagai sebuah class, instance dari
String masih bisa diperlakukan seperti tipe data biasa dimana seharusnya tidak bisa
dilakukan pada suatu objek. Dengan kata lain, objek tersebut harus diberi perintah
new. Contohnya:
String s = “Hello”;
s += “dear”;
// s berisi “Hello dear”
Selain itu, String juga bisa disambung dengan menggunakan tanda positif (‘+’).
Manipulasi String sangat penting digunakan dalam pemrograman sebuah
aplikasi J2ME, khususnya aplikasi MyDict. Hasil dari manipulasi ini akan digunakan
sebagai acuan dan alur logika pemrograman. Seperti contohnya pada aplikasi
MyDict, yaitu: pengaturan pada date (fitur Set-date-automatically), selected-index
(fokus index sebuah Component), manipulasi data (konversi dan kalkulasi), proses
sinkronisasi (Data dengan Record-RMS), hingga proses parsing (SemanticAnalyzer). Semuanya itu melibatkan proses manipulasi String.
Universitas Sumatera Utara
Implementasi dalam Program Java
Berikut ini adalah beberapa method yang digunakan penulis dalam melakukan
manipulasi terhadap data-data yang ada pada aplikasi MyDict.
1. concat()
2. equals()
3. indexOf()
4. length()
5. substring()
6. valueOf()
7. parseInt()
Method
String concat(String str)
Penjelasan
Menggabungkan String tambahan ke posisi
akhir String yang ada.
Parameters: str – String yang mau
ditambahkan.
boolean equals(Object anObject)
Membandingkan String dengan Object.
Parameters:
anObject
–
Object
yang
akan
dibandingkan. Selain itu, Object juga
dapat berupa String.
Bernilai:
true – berarti sebanding.
false – berarti tidak sebanding.
int indexOf(String str)
Mengambil nilai index (int) dengan
menjadikan
suatu
String
sebagai acuan, kemudian
(karakter)
melakukan
perbandingan dengan String yang dituju.
Nilai index pertama yang akan diambil
jika ditemukan karakter yang sama. Jika
tidak ditemukan, maka nilai index adalah
Universitas Sumatera Utara
-1.
Parameters:
str
–
String
(karakter)
yang akan
dijadikan sebagai acuan.
int length()
Menampilkan
total
karakter
yang
dimiliki oleh sebuah String.
String substring(int beginIndex)
Membuat sebuah String baru dengan cara
melakukan
(substring)
pemotongan
dari
Pemotongan
String
String
String
yang
ada.
dilakukan
berdasarkan index yang diberikan.
Contohnya:
"unhappy".substring(2) returns "happy"
"Harbison".substring(3) returns "bison"
Parameters:
beginIndex – index untuk memulai
pemotongan
String substring(int beginIndex,
Membuat sebuah String baru dengan cara
int endIndex)
melakukan
(substring)
pemotongan
dari
String
String
yang
ada.
Pemotongan String dimulai dan diakhiri
berdasarkan index yang diberikan.
Contohnya:
"jokolo".substring(0, 4) returns "joko"
"smiles".substring(1, 5) returns "mile"
Parameters:
beginIndex – index untuk memulai
pemotongan
endIndex – index untuk mengakhiri
pemotongan
String valueOf(Object obj)
Mendapatkan nilai String pada sebuah
Object.
Parameters:
Universitas Sumatera Utara
Obj
–
Object
yang
mau
diambil
Stringnya.
String trim()
String toLowerCase
Metode trim () menghilangkan
whitespace diawal dan diakhir objek
String toUpperCase
string.
Metode toLowerCase dan
toUpperCase untuk mengonversi
semua karakter di objek string ke
lowercase dan uppercase.
2.9
Generic Connection Framework (GFC)
GFC adalah sebuah Application Programming Interface(API) yang terdiri dari
kumpulan kelas dan antarmuka yang digunakan untuk membangun sebuah koneksi
client-server. GFC merupakan API yang disediakan oleh MIDP dari CLDC. Library
GFC merupakan perpaduan antara paket javax.microedition.io dari MIDP dann
java.io dari CLDC. Kelas utama yang digunakan untuk membangun koneksi adalah
kelas Connector pada kelas javax.microedition.io. Kelas ini mempunyai tugas utama
sebagai interpreter (penerjemah) URL, instantiator (membuat objek) kelas, dan
memilih antarmuka yang tepat [9].
2.9.1
Membangun Koneksi HTTP
Hypertext Transf5er Protocol (HTTP) yaitu sebuah aturan yang digunakan untuk
pertukaran data pada web. Inti dari koneksi HTTP ini adalah client mengirim
permintaan data ke server, kemudian server merespon dengan mengirimkan data
yang diminta.
Kelas Connector merupakan kelas yang disediakan GFC untuk membangun
koneksi. Kelas ini mempunyai method open yang dipanggil secara static untuk
mendapatkan objek Connection yang kemudian dapat di-casting kepada kelas
koneksi yang sesuai, misalnya HttpConnection
Universitas Sumatera Utara
Method
Penjelasan
Connection Connector.open
Method ini mengembalikan interface
(String name, int mode, boolean
Connection
yang
dapat
di-casting
timeouts)
(diubah) menjadi HttpConnection.
Parameter
:
String name : Request atau permintaan
yang akan dikirimkan ke server dalam
bentuk URL.
Int mode: Mode akses file yang dikirim
atau diterima.
Boolean
apakah
timeouts:
saat
mengindikasikan
membangun
koneksi
mempunyai batas waktu tertentu atau
tidak.
httpC.setRequestMethod
mengirimkan data melaui parameter url.
(HttpConnection.GET)
Saat
meode
diizinkan
ini
sebuah
digunakan,
data
tidak
dikirimkan
bersamaan dengan request, tetapi header
diizinkan.
httpC.setRequestProperty
Apabila nilai close diberikan, maka
(“Connection”, “close”);
koneksi akan ditutup setelah server
membalas permintaan client .
int getResponseCode()
Untuk membaca status response server.
Contoh: HTTP_OK
Menunjukka request berhasil
InputStream openInputStream
Membuat objek stream input untuk
melakukan pembacaan data.
Universitas Sumatera Utara
2.10
Bahasa Pemograman PHP (Hypertext Preprosessor)
PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP
banyak dipakai untuk pemrograman website, walaupun tidak tertutup kemungkinan
untuk digunakan untuk pemakaian lain. PHP merupakan salah satu bahasa server
side scripting yang disisipkan di antara bahasa HTML untuk membuat halaman web
yang dinamis. Dan karena bahasa berbasis server side, maka PHP akan dieksekusi di
server, sehingga yang akan dikirimkan ke web browser adalah hasil dalam bentuk
HTML dan kode PHP tidak akan terlihat[12].
Salah satu fungsi PHP adalah untuk menerima, mengolah, dan menampilkan
data dari dan ke sebuah website. Data yang diterima akan diolah di sebuah program
database server dan kemudian hasilnya ditampilkan kembali ke layar web browser
sebuah website. Seorang pengguna internet tidak dapat melihat kode program yang
ditulis dalam PHP sehingga keamanan dari halaman web menjadi lebih terjamin.
PHP merupakan singkatan dari Personal Home Page, sebelum akhirnya dipaksakan
menjadi singkatan rekursif dari PHP : Hypertext Preprocessor. Pertengahan tahun
1995 dirilis PHP/FI (FI adalah singkatan dari Form Interpreter) yang memiliki
kemampuan dasar membangun aplikasi web, memproses form dan mendukung
database MySQL. Untuk dapat bekerja dengan PHP, berikut ini adalah beberapa
aplikasi yang diperlukan:
1. Web server (Apache, IIS, Personal Web Server/PWS)
2. PHP server (dapat didownload di PHP.net)
3. Database server (MySQL, Interbase, MS SQL)
4. Web Editor (Dreamweaver, Frontpage).
2.10.1 Contoh Pemrograman dengan Menggunakan PHP
Untuk menjalankan program PHP ini, komputer harus telah memiliki sebuah sistem
yang telah terinstalasi dan terkonfigurasi dengan baik Apache Web Server, PHP, dan
database MySQL. Ketiganya adalah program open source yang tersedia secara gratis
di Internet dan dapat berjalan di berbagai platform (Windows maupun UNIX/Linux).
Universitas Sumatera Utara
Program untuk menampilkan tulisan selamat belajar php yang dibuat dengan
menggunakan PHP adalah sebagai berikut :
<?php
echo”Hello World”;
?>
Kode program tersebut dituliskan pada sebuah text editor serta disimpan dengan
ekstensi yang hasilnya dapat dilihat melalui web browser seperti Internet Explorer,
arahkan alamat pada file fibo.php yang telah kita buat, misalkan alamatnya adalah
http://localhost/test1.php
Contoh tampilannya:
Gambar 2.14 Hasil Program dengan Menggunakan PHP
2.11
MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa
Inggris: database management system) atau DBMS yang multithread, multi-user,
dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL
tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public
License (GPL), tetapi mereka juga menjual di bawah lisensi komersial untuk kasuskasus di mana penggunaannya tidak cocok dengan penggunaan GPL [4]
Universitas Sumatera Utara
MySQL merupakan hasil buah pikiran dari Michael “Monty” Widenius,
David Axmark dan Allan Larsson yang dimulai pada tahun 1995. Mereka kemudian
mendirikan perusahaan bernama MySQL AB di Swedia. Tujuan awal ditulisnya
program ini adalah untuk mengembangkan aplikasi web yang akan digunakan oleh
salah satu klien MySQL AB.
MySQL versi 1.0 dirilis pada Mei 1996 dan penggunaannya hanya terbatas di
kalangan intern saja. Pada bulan Oktober 1996, MySQL versi 3.11.0 dirilis ke
masyarakat luas di bawah lisensi “Terbuka Tapi Terbatas”.Barulah pada bulan Juni
2000, MySQL AB mengumumkan bahwa mulai MySQL versi 3.23.19 diterapkan
sebagai GPL (General Public License). Dengan lisensi ini, maka “Siapa pun boleh
melihat program aslinya dan menggunakan program eksekusinya dengan cumacuma. Dan bila ingin memodifikasi pada program aslinya, maka program modifikasi
tersebut harus dilepas di bawah lisensi GPL juga”.
Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat lunak
dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh
penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan
komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode
sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL
AB adalah: David Axmark, Allan Larsson, dan Michael “Monty”Widenius[4].
Universitas Sumatera Utara
Download