SIM. SHELLY MAULIDHA, Prof. Dr. Ir. Hapzi Ali, MM, CMA (Sumber Daya Komputasi...
Tugas aplinet 1100631048
1. TUGAS APLIKASI INTERNET
ARTIKEL TENTANG J2ME DAN PROGRAM
APLIKASI CHAT JAVA SEDERHANA
MENGGUNAKAN COMMAND PROMT
(GUI OPTIONAL)
DISUSUN OLEH :
RISTANTO DWI PRASETYO
1100631048 (MI-B)
FAKULTAS TEKNIK MANAJEMEN
INFORMATIKA
UNIVERSITAS MUHAMMADIYAH JEMBER
2013
2. PENGERTIAN JAVA
Java adalah sebuah teknologi yang diperkenalkan oleh Sun Microsystems pada
pertengahan tahun 1990. Menurut definisi dari Sun, Java adalah nama untuk sekumpulan
teknologi untuk membuat dan menjalankan perangkat lunak pada komputer standalone
ataupun pada lingkungan jaringan. Kita lebih menyukai menyebut Java sebagai sebuah
teknologi dibanding hanya sebuah bahasa pemrograman, karena Java lebih lengkap dibanding
sebuah bahasa pemrograman konvensional. Teknologi Java memiliki tiga komponen penting,
yaitu:
Programming-language specification
Application-programming interface
Virtual-machine specification
Pengertian J2ME
1.1 Pengertian J2ME
Java2 Micro Edition atau yang biasa disebut J2ME adalah lingkungan pengembangan
yang didesain untuk meletakkan perangkat lunak Java pada barang elektronik beserta
perangkat pendukungnya. Pada J2ME, jika perangkat lunak berfungsi baik pada sebuah
perangkat maka belum tentu juga berfungsi baik pada perangkat yang lainnya. J2ME
membawa Java ke dunia informasi, komunikasi, dan perangkat komputasi selain perangkat
komputer desktop yang biasanya lebih kecil dibandingkan perangkat komputer desktop.
J2ME biasa digunakan pada telepon selular, pager, personal digital assistants (PDA) dan
sejenisnya.
Penjelasan tentang mengenai 2 Java 2 Platform, Micro Edition (J2ME)
Java 2 Platform, Micro Edition (J2ME) adalah salah satu dari produk Sun Microsystems. Java
2 Platform, Micro Edition (J2ME) merupakan bagian dari platform Java 2. Platform Java 2
sendiri terdiri dari tiga elemen, yaitu:
Java programming language.
Bahasa pemrograman yang digunakan mirip dengan bahasa pemrograman C++ tetapi secara
fundamental berbeda. C++ menggunakan pointer-pointer yang kurang aman dan
mengharuskan programmer untuk mengalokasikan dan mengosongkan memori. Sedangkan
Java menggunakan typesafe object references dan setiap memori yang tidak digunakan akan
dikosongkan secara otomatis. Java juga mendukung multiple inheritance dengan konstruksi
yang lebih baik, yaitu Interface.
J2ME adalah teknologi Java yang diperuntukkan perngkat-perngakat kecil
consumer device , terutama wireless. Bebrapa perangkat wireless antara lain PC, PDA,
communicator, embedded device, smart card dan ponsel. Teknologi Java mungkin
merupakan satu-satunya cara memprogram beberapa perangkat, berbagi logic antara
perangkat dan server, pengantaran aplikasi secara dinamis, program yang kompak,
lingkungan pengembangan yang aman dan cepat. J2ME memungkinkan perangkat lunak
dapat di-download perangkat sekaligus memungkinkan layanan yang dapat disesuaikan di
beragam perangkat.
Karena J2ME mendukung banyak perangkat, tidak mungkin untuk membuat solusi
“satu ukuran untuk semua”. Oleh karena itu, J2ME dibagi-bagi menjadi Configuration,
Profiles, dan Package optional. Configurations adalah spesifikasi yang menjabarkan sebuah
3. virtual machine dan satu set API dasar yang dapat digunakan dengan beberapa perangkat
tertentu. Sebuah Configuration, sebagai contoh, mungkin ditujukan untuk perangkat yang
memiliki memori dibawah 512KB dan koneksi jaringan yang naik turun. Virtual machine
dapat berupa Java Virtual Machine lengkap atau berupa bagian dari Java Virtual Machine.
Sebuah profile dibangun berdasarkan Configuration, ditambah API yang lebih
spesifik untuk membuat sebuah environment lengkap untuk pembuatan aplikasi. Walaupun
sebuah Configuration mendeskripsikan sebuah JVM dan satu set API dasar, tetapi masih
kurang untuk menspesifikasikan cukup detail untuk pembuatan aplikasi. Profile biasanya
menyertakan API untuk siklus hidup, user interface dan persistent storage suatu aplikasi.
Sebuah optional Package menyediakan fungsionalitas yang mungkin tidak
berhubungan dengan Configuration atau Profile tertentu. Sebuah contoh untuk optional
Package adalah Bluetooth API(JSR 82), yang menyediakan API standar untuk mengakses
jaringan Bluetooth. Optional Package ini dapat diimplementasikan dengan kombinasi
Configuration dan Profile lainnya.
Lingkungan Java
J2ME menyediakan platform standar untuk pengembangan perangkat wireless. J2ME
terdiri atas perangkat-perangkat komponen sebagai berikut :
1. Java Virtual Machine (JVM), komponen untuk menjalankan program-program Java pada
emulator atau handheld device.
2. Java Application Programming Interface (API), merupakan kumpulan library untuk
menjalankan dan mengembangkan program Java pada Handheld Devices.
3. Tools lain untuk mengembangkan Java, semacam emulator Java Phone, Emulator Nokia,
Emulator Siemens dan Emulator Motorola.
J2ME Configuration
J2ME Configuration mendefinisikan lingkungan kerja J2ME runtime. Oleh karena
setiap handheld device memiliki fitur-fitur yang berbeda-beda, J2ME Configuration ini
dirancang yaitu menyediakan library standar yang mengimplementasikan fitur standar dari
sebuah Handled device.
Ada dua kategori J2ME Configuration yaitu :
a. CLDC ( Connected Limited Device Configuration )
Digunakan untuk aplikasi java pada perangkat-perangkat keras dengan ukuran memori yang
sangat terbatas, yaitu pada kisaran 160 samapi 512 KiloBytes, seperti handphone, organizer
atau PDA seperti PALM, Poket PC dan two way pagers.
b. CDC (Connected Device Configuration )
Digunakan untuk aplikasi Java pada Handheld devices dengan ukuran memori paling tidak 2
Megabytes, seperti : Internet TV, Nokia, Communicator dan car television.
J2ME Profile
J2ME Profile mengimplementasikan kemampuan / fitur lain yang sangat bergantung
pada jenis handheld yang digunakan.
Ada lima kategori J2ME Profile saat ini, yakni :
a. Mobile Information Devise Profile
MIDP menyediakan librari-librari java untuk implementasi dasar antarmuka (GUI),
implementasi
4. jaringan (networking), database dan timer. MIDP dirancang khususnya untuk
wireless phone dan pager.
b. Foundation Profile
Profile dasar untuk non-GUI network device pada CDC
c. Personal Profil, RMI Profile, Personal Digital Assistant Profile
Standar grafik, Generasi selanjutnya dari lingkungan personal java, dan RMI yang support
untuk CDC dan profile standart device.
Jenis-jenis aplikasi J2ME
Saat ini terdapat dua jenis aplikasi J2ME yaitu :
a. Walled garden application yaitu aplikasi yang berdiri sendiri atau standalone yang
berjalan pada handphone tanpa perlu mengakses sumber data eksternal melalui jaringan
pembawa atau carier network. Contoh dari aplikasi ini adalah kalkulator atau single player
games.
b. Network aware application yaitu aplikasi yang berinteraksi dengan jaringan. Tidak
seperti aplikasi pertama, aplikasi ini memiliki kemampuan untuk mengakses sumber daya
eksternal. Contoh dari aplikasi jenis ini adalah aplikasi email yang berada pada handphone,
aplikasi untuk mendapatkan kembali data alamat-alamat yang tersimpan melalui jaringan,
dan pengiriman email berbagai alamat melalui jaringan data.
MIDlet
MIDlet merupakan aplikasi yang dijalankan pada sebuah perangkat handheld. MIDlet
tidak berinteraksi langsung dengan hardware dari handheld devices, melainkan berinteraksi
melalui AMS (Application Management Software). AMS inilah yang akan menerima sinyal
dari MIDlet bahwa MIDlet akan dijalakan atau berhenti.
MIDP mendefinisikan kelas-kelas library berikut untuk membangun aplikasi :
a. Javax.microediton.midlet, merupkan package yang berisi kelas-kelas untuk mengatur
daur hidup midlet.
b. Javax.microedition.lcdui, merupakan package yang berisi kelas-kelas yang user interface
dan pemrograman GUI.
c. Javax.microedition.io, merupakan.package yang berisi kelas-kelas dan antarmuka untuk
midp pemrograman jaringan.
d. Javax.io, java.lang and java.util, merupakan package yang berisi I/O, language dan
kelas-kelas utility.
Daur Hidup MIDlet
Daur Hidup MIDlet terdiri dari :
a. Retrieval
AMS menerima MIDlet kemudian disimpan didalam memori. Media untuk mendowload
MIDlet dapat berupa : Kabel serial, port IRDA, atau jaringan wireless.
b. Instalation
Setelah MIDlet di-download, AMS akan menginstall MIdlet Pada Device. Selama proses
instalasi, MIDP akan menjamin MIDlet tidak melanggar akses security.
c. Version Management
AMS akan menyimpan semau informasi mengenai MIDlet yang telah diinstal termasuk
5. informasi versinya. Ini akan berguna untuk meng-upgrade MIDletke versi baru.
d. Removal
AMS akan menghapus MIDlet dan membersihkan alokasi memori yang digunakan.
Setelah di-Launch oleh AMS Midlet akan berada dalam tiga status berikut :
a. Paused
Status ini terjadi ketika MIDlet selesai disosialisasikan dan tidak melakukan aksi apapun.
b. Active
Status ini terjadi ketika MIDlet sedang berjalan dengan normal, yakni setelah memanggil
fungsi MIDlet.startApp()
c. Destroyed
Status ini terjadi ketika MIDlet berhenti berjalan (exit), sehingga seluruh sumber daya yang
digunakan akan dibebaskan. Status ini terjadi ketika berhasil dilakukan pemanggilan fungsi
MIDlet.destroyApp() atau MIDlet.notifyDestroyed().
<!–[if mso & !supportInlineShapes & supportFields]> SHAPE * MERGEFORMAT
<![endif]–><!–[if mso & !supportInlineShapes & supportFields]> SHAPE *
MERGEFORMAT <![endif]–><!–[if mso & !supportInlineShapes & supportFields]>
<![endif]–>
<!–[if mso & !supportInlineShapes & supportFields]> <![endif]–>
Daur hidup pembangunan MIDlet terdiri dari :
a. Kompilasi dan pre-verifying.
b. Testing.
c. Packaging
Merupakan operasi terakhir untuk membungkus aplikasi MIDlet menjadi file JAR dan file
JAD.
d. Running
7. APLIKASI CHAT JAVA SEDERHANA
MENGGUNAKAN COMMAND PROMT
(GUI OPTIONAL)
Aplikasi ini mempunyai 5 kelas yang harus ada untuk dapat berfungsi dengan benar.
The 6 kelas adalah :
- ChatMessage.java
- Server.java
- Client.java
- ServerGUI.java
- ClientGUI.java
- CreateTextFile.java
Karena kita akan menjalankan aplikasi ini di command prompt maka kita hanya
membutuh kan 4 kelas saja, yaitu ChatMessage.java, Server.java, Client.java, dan
CreateTextFile.java.
Kelas ChatMessage
Ketika Anda menjalankan koneksi melalui TCP, sebenarnya hanya seri dari byte yang
dikirim melalui kawat..
Ketika aplikasi ini dijalankan di dua komputer yang berbeda, aplikasi ini akan
mengirim Obyek Java antara dua aplikasi. Sebenarnya masih akan ada sebuah aliran byte
yang akan dikirim melalui internet tetapi Java akan melakukan serializing dan deserializing
objek Java tersebut.
Obyek yang dikirim dari soket harus mengimplementasikan Serializable.
Dalam aplikasi ini, semua pesan yang dikirim dari Server ke Client adalah obyek
String. Semua pesan yang dikirim dari klien ke Server adalah obyek ChatMessage.
ChatMessage memiliki tipe dan String yang berisi pesan yang sebenarnya.
Kelas ini mendefinisikan berbagai jenis pesan yang akan dipertukarkan antara Client
dan Server. Ketika berbicara dari Client Java ke Server Java jauh lebih mudah untuk
mengirimkan objek Java, tidak perlu untuk menghitung byte atau menunggu untuk pindah
baris pada akhir frame.
8. Kelas Server
Kita dapat memulai Server dengan mengetikkan “Java Server” pada command
prompt. Aplikasi akan mengeksekusi dalam mode konsol dan server akan menunggu koneksi
pada port 1500. Untuk menggunakan port lain masukkan nomor port yang akan digunakan
sebagai parameter pertama untuk perintah, contoh “Java Server 1200” Aplikasi akan meminta
Server untuk mendengarkan pada port 1200. Kita dapat menggunakan CTRL+C untuk
menghentikan server.
Kelas Client
Setelah Server dimulai Anda dapat memulai Klien dengan mengetikkan “Java
Client”pada konsol. Itu akan memulai Klien dengan username Anonymous pada localhost
menggunakan port 1500. Jadi perintah setara diatas dengan ”Java Client Anonymous 1500
localhost”
Kita dapat menentukan beberapa parameter saat menjalankan kelas Client, contoh :
- Java Client Me ==> java Client Me 1500 localhost
- Java Client Me 1200 ==> java Client Me 1200 localhost
- Java Client Me 1200 12.14.13.14 ==> java Client Me 1.200 12.14.13.14
Setelah Klien dimulai dalam mode konsol Kita juga dapat memasukkan :
- LOGOUT, untuk logout dan menutup koneksi
- WHOISIN, untuk menerima daftar dari pengguna yang sedang terhubung ke server
- Selain di atas adalah sebuah pesan yang akan disiarkan, dengan username Anda,
untuk semua Klien yang ada.
Kelas Create Text File
Kelas ini berguna untuk menyimpan data percakapan yang dikirimkan loeh klien ke
server. Datapercakapan tersebut disimpan ke dalam file berformat .txt. File tersebut disimpan
dilokasi atau di komputer mana server dijalankan, dengan nama "pesan.txt".
9. - Source code Create Text File.java
- Source code untuk untuk menyimpan data percakapan yang ada pada kelas
Server.java
-> Cara Penggunaan
Jalankan server pda konsol, dengan cara mengetik "Java Server"
(Server jalan menggunakan port 1500 dan menunggu klien konek ke Server)
10. Jalankan Klien yang dari komputer yang sudah terhubung dengan komputer yang
menjalankan
kelas server atau jalankan Klien dari komputer yang menjalankan Server (localhost).
(Klien "test1" berhasil tersambung ke Server dengan port 1500 dan server address 192.168.1.1)
(Klien "test2" berhasil tersambung ke Server dengan port 1500 dan server address 127.0.0.1 atau localhost)
(Pesan error ketika Klien salah memasukkan nomor port)
(Pesan error ketika Klien salah memasukkan alamat IP server)
(Pesan yang ada pada server ketika ada Klien yang berhasil tersambung ke Server)
11. (Tampilan pada Klien saat mengirim dan menerima pesan)
(Tampilan pada Klien saat menggunakandan perintah "WHOISIN", untuk mengetahui siapa saja yang
terhubung pada Server)
(Tampilan pada Klien saat menggunakandan perintah "LOGOUT", untuk memutus koneksi
(Tampilan pesan pada Server saat Klien mengirim pesan dan juga saat Klien melakukan "LOGOUT")
- Pesan yang dikirim Klien ke Server akan disimpan dlama bentuk file berformat ".txt"
dengan nama "pesan.txt" dengan lokasi default "C:pesan.txt".