Cute Red Pencil Ristanto Dwi Prasetyo: Mei 2013

Minggu, 19 Mei 2013

ARTIKEL TENTANG J2ME DAN PROGRAM APLIKASI CHAT JAVA MENGGUNAKAN COMMAND PROMPT


Nama : Ristanto Dwi Prasetyo
NIM / Kelas : 1100631048 / MI - B


ARTIKEL TENTANG J2ME

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
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
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
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]&gt; SHAPE \* MERGEFORMAT
&lt;![endif]–><!–[if mso & !supportInlineShapes & supportFields]&gt; SHAPE \*
MERGEFORMAT &lt;![endif]–><!–[if mso & !supportInlineShapes & supportFields]&gt;
&lt;![endif]–>
<!–[if mso & !supportInlineShapes & supportFields]&gt; &lt;![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




Sumber :
http://wartawarga.gunadarma.ac.id/2010/01/tentang-j2me/
http://www.politeknik-lp3ibandung.
ac.id/index.php?option=com_content&view=article&id=226:tentangj2me&
catid=62:java&Itemid=148







APLIKASI CHAT JAVA SEDERHANA MENGGUNAKAN COMMAND PROMPT
(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.
ð  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".


-          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)

Jalankan Klien yang dari komputer yang sudah terhubung dengan komputer yang menjalankan
kelas server atau jalankan Klien dari komputer yang menjalankan Server (localhost).









(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".
























(Lokasi file "pesan.txt")








(isi file "pesan.txt" yang berisi record percakapan Klien)


sumber : http://www.dreamincode.net/forums/topic/259777-a-simple-chat-program-with-clientserver-gui-optional/
source code: http://www.mediafire.com/?ah7q5sgrbtnzc66

dibuat oleh:
Widiharto Kurniawan - 121052095 (http://belajar2ista.blogspot.com/)
Permadi Yulianto - 112053006  (http://belajar4ista.blogspot.com/)