WINDU GATA, SKOM PENDAHULUAN Buku bahasa pemrograman java komunikasi data dan J2ME, penulis akan membahas komunikasi data lebih dari satu komputer menggunakan sarana jaringan, kabel serial (rs232) dan sedikit membahas penggunaan Java Mobile (J2ME). Banyak peralatan yang menyediakan sarana komunikasi data seperti modem, mesin absen, mesin timbangan dan lainlain yang dapat dihubungkan dengan komputer melalui kabel serial rs232 (!om" atau !om2) dan jaringan komputer (#omputer $et%ork). &an banyak dari programmer tidak mengetahui bagaimana !aranya berinteraksi dengan peralatan tersebut, dengan ditulis buku ini setidaknya penulis memberikan !ara menggunakannya dengan tujuan apabila programmer java berhadapan dengan alat tersebut tidak lagi merasa !anggung karena ketidaktahuan dan dapat menggunakannya se!ara optimal B'B ( )EM*+,*'M'$ -+M.$(-'/( )'&' -'BE0 /E*('0 (*/232) */232 M+&EM B'B (( )EM*+,*'M'$ -+M.$(-'/( )'&' J'*($,'$ -+M).1E* B'B ((( J'2' 2 M(#*+ E&(1(+$ B'B (2 J'2' 2 E$1E*)*(/E E&(1(+$ (J2EE) BAB I )EM*+,*'M'$ -+M.$(-'/( )'&' -'BE0 /E*('0 (*/232) )ada a%al tahun "345, sebuah lembaga yang dikenal dengan Ele!troni! (ndustries 'sso!iation, mengembangkan peralatan standard untuk komunikasi data. /aat ini peralatan sering kita kenal dengan nama #om port atau */232, yang pada tahun "335 dikenal dengan E('232. Banyak peralatan yang kita lihat pada kehidupan seharihari, salah satunya adalah modem dialup jika kita ingin menggunakan internet pada komputer. 1erdapat inter6a!e yang menghubungkan modem dengan */232 atau !omm port yang berada pada belakang komputer. /e!ara elektornika berkomunikasi se!ara dua arah dan berjalan se!ara logika voltase seperti gambar ". ,ambar ". 2oltase )ada */232 Jika kita ingin mengirimkan huru6 ' dengan tujuh paritas bit data. 7uru6 ' jika dikonversikan ke binary yaitu "5555", ditambah dengan start bit 5, parity bit 5 dan 2 stop bit "". jika digabungkan maka jika mengirimkan huru6 ' pada tujuh paritas bit data akan berupa 5"55555"5"". .ntuk mengirimkan angka binari 5 kurang lebih voltase yang dibutuhkan adalah 83 sampai dengan 8"9 2. /edangkan angka binari " kurang lebih voltase yang dibutuhkan adalah 3 2 sampai dengan "9 2. MACAM-MACAM MODEL RS232 )ada a%alnya */232 dibuat dalam bentuk 29 pin, sejak (BM'1 ()#) terdapat model */232 dengan bentuk )in 3 (&B3). 7ingga saat ini )in 3 lebih banyak digunakan. ,ambar 2. */232 : )in 3 (kiri) dan )in 29 (kanan) /etiap pin pada */232 pin 3 dan pin 29 ada keterangan penggunaannya ; ,ambar 3. )enggunaan )in pada */232 )in 3 .ntuk melakukan konversi dari pin 3 ke pin 29 dapat dilakukan seperti pada gambar diba%ah ; ,ambar <. -onversi dari )in 3 ke pin 29 )enggunaan */232 dapat juga digunakan untuk pengetesan pada satu komputer, dimana data akan terkirim ke diri sendiri (loop back). ,ambar 9. 0oop Ba!k #ara termudah untuk melakukan komunikasi data dengan 2 (dua) komputer yaitu */232 null modem. /ebagai !ontoh, terdapat 3 (kabel) yang akan digunakan. -abel pertama adalah /ignal ,round, kabel kedua menghubungkan pin transive=pengirim ke pin recieve=penerima, dan kabel ketiga terhubung pada pin recieve=penerima ke pin transive=pengirim. ,ambar 4. */232 $ull Modem )in3 MENGGUNAKAN RS232 DENGAN BAHASA PROGRAM 1AVA Bahasa pemrograman java mendukung komponen */232 tersebut. >ang disebut dengan java!ommapi yang terdiri dari !omm.jar, java?.!omm.properties, dan %in32!om.dll yang dapat diunduh=do%nload pada %eb site http;==java.sun.!om=produ!ts=java!omm=inde?.jsp. .ntuk system operasi Ms. @indo%s 2555 dan A), hasil installan sering kali bermasalah. #ara penanganannya adalah sebagai berikut ; ". #opy !omm.jar pada direktori BinstallanCDjreDlibDe?t 2. #opy %in32!om.dll pada direktori BinstallanCDjreDbin 3. #opy java?.!omm.properties pada direktori BinstallanCDjreDlib 7alhal yang perlu diketahui pada komunikasi yaitu ke!epatan pengiriman, data bits, parity, stop bits, dan 6lo% !ontrol. ". -e!epatan pengiriman, 355 bps sampai dengan 32"455 2. &ata bits, 9 sampai dengan E bits 3. )arity terdiri dari even, odd dan none <. /top bits, ", ".9 dan 2 9. Flo% #ontrol $one ,ambar G. )roperties */232 )ada salah satu !ontoh program pada %eb site %%%.sun.!om untuk menggunakan alat */232 adalah /imple*ead.java dan /imple@rite.java. /imple*ead.java adalah program untuk memba!a data yang didapatkan dari */232 dan /imple@rite.java adalah program untuk mengirimkan data melalui */232. &engan !atatan ke!epatan, data bit, stop bit, dan pariti harus sama antara satu dengan lainnya. /ebagai !ontoh jalankan program program penerima di komputer penerima dan program pengirim dikomputer pengirim. Program Penerima /* * @(#)SimpleRead.java 1.12 98/06/25 SMI * Copyi!"# ($) 1998 S%& Mi$o'y'#em'( I&$. )ll Ri!"#' Re'eved. * *o!am %&#%+ Me&eima da#a */ impo# java.io.*, impo# java.%#il.*, impo# java-.$omm.*, p%.li$ $la'' SimpleRead impleme&#' R%&&a.le( Seial*o#/ve�i'#e&e 1 '#a#i$ Comm*o#Ide&#i2ie po#Id, '#a#i$ /&%mea#io& po#0i'#, I&p%#S#eam i&p%#S#eam, Seial*o# 'eial*o#, 3"ead ead3"ead, p%.li$ '#a#i$ void mai&(S#i&!45 a!') 1 //Me&!ide&#i2i+a'i+a& j%mla" po# pada +omp%#e po#0i'# 6 Comm*o#Ide&#i2ie.!e#*o#Ide&#i2ie'(), 7"ile (po#0i'#."a'Moe/leme&#'()) 1 po#Id 6 (Comm*o#Ide&#i2ie) po#0i'#.&e-#/leme&#(), i2 (po#Id.!e#*o#3ype() 66 Comm*o#Ide&#i2ie.*8R39S/RI)0) 1 //ya&! di.%+a "a&ya po# pe#ama a#a% C8M1 i2 (po#Id.!e#:ame().e;%al'(<C8M1<)) 1 //ji+a me&!!%&a+a& =&i- //i2 (po#Id.!e#:ame().e;%al'(</dev/#em/a<)) 1 SimpleRead eade 6 &e7 SimpleRead(), > > > > p%.li$ SimpleRead() 1 #y 1 'eial*o# 6 (Seial*o#) po#Id.ope&(<SimpleRead)pp<( 2000), > $a#$" (*o#I&='e/-$ep#io& e) 1> #y 1 i&p%#S#eam 6 'eial*o#.!e#I&p%#S#eam(), > $a#$" (I8/-$ep#io& e) 1> #y 1 'eial*o#.add/ve�i'#e&e(#"i'), > $a#$" (3ooMa&y0i'#e&e'/-$ep#io& e) 1> 'eial*o#.&o#i2y8&?a#a)vaila.le(#%e), #y 1 //'peed 9600( da#a.i# 8( '#op.i# 1( pai#y &o&e 'eial*o#.'e#Seial*o#*aam'(9600( Seial*o#.?)3)@I3S98( Seial*o#.S38*@I3S91( Seial*o#.*)RI3A9:8:/), > $a#$" (=&'%ppo#edComm8pea#io&/-$ep#io& e) 1> ead3"ead 6 &e7 3"ead(#"i'), ead3"ead.'#a#(), > p%.li$ void %&() 1 #y 1 3"ead.'leep(20000), > $a#$" (I&#e%p#ed/-$ep#io& e) 1> > p%.li$ void 'eial/ve&#(Seial*o#/ve&# eve&#) 1 '7i#$"(eve&#.!e#/veype()) 1 $a'e Seial*o#/ve&#.@IB $a'e Seial*o#/ve&#.8/B $a'e Seial*o#/ve&#.C/B $a'e Seial*o#/ve&#.*/B $a'e Seial*o#/ve&#.C?B $a'e Seial*o#/ve&#.C3SB $a'e Seial*o#/ve&#.?SRB $a'e Seial*o#/ve&#.RIB $a'e Seial*o#/ve&#.8=3*=39@=CC/R9/M*3AB .ea+, $a'e Seial*o#/ve&#.?)3)9)D)I0)@0/B //Me&a&!+ap da#a ya&! ma'%+ +e +omp%#e .y#e45 ead@%22e 6 &e7 .y#e4205, #y 1 7"ile (i&p%#S#eam.availa.le() E 0) 1 i&# &%m@y#e' 6 i&p%#S#eam.ead(ead@%22e), > //#ampil+a& +e laya Sy'#em.o%#.pi&#(&e7 S#i&!(ead@%22e)), > $a#$" (I8/-$ep#io& e) 1> .ea+, > > > Program Pengirim /* * @(#)SimpleFi#e.java 1.12 98/06/25 SMI * Copyi!"# ($) 1998 S%& Mi$o'y'#em'( I&$. )ll Ri!"#' Re'eved. * *o!am =&#%+ Me&!iim ?a#a */ impo# java.io.*, impo# java.%#il.*, impo# java-.$omm.*, p%.li$ $la'' SimpleFi#e 1 '#a#i$ /&%mea#io& po#0i'#, '#a#i$ Comm*o#Ide&#i2ie po#Id, '#a#i$ S#i&! me''a!eS#i&! 6 <Gello( 7oldHI&<, '#a#i$ Seial*o# 'eial*o#, '#a#i$ 8%#p%#S#eam o%#p%#S#eam, p%.li$ '#a#i$ void mai&(S#i&!45 a!') 1 po#0i'# 6 Comm*o#Ide&#i2ie.!e#*o#Ide&#i2ie'(), 7"ile (po#0i'#."a'Moe/leme&#'()) 1 po#Id 6 (Comm*o#Ide&#i2ie) po#0i'#.&e-#/leme&#(), i2 (po#Id.!e#*o#3ype() 66 Comm*o#Ide&#i2ie.*8R39S/RI)0) 1 // i2 (po#Id.!e#:ame().e;%al'(<C8M1<)) 1 i2 (po#Id.!e#:ame().e;%al'(</dev/#em/a<)) 1 #y 1 'eial*o# 6 (Seial*o#) po#Id.ope&(<SimpleFi#e)pp<( 2000), > $a#$" (*o#I&='e/-$ep#io& e) 1> #y 1 o%#p%#S#eam 6 'eial*o#.!e#8%#p%#S#eam(), > $a#$" (I8/-$ep#io& e) 1> #y 1 //'peed 9600( da#a.i# 8( //'#op.i# 1( pai#y &o&e 'eial*o#.'e#Seial*o#*aam'(9600( Seial*o#.?)3)@I3S98( Seial*o#.S38*@I3S91( Seial*o#.*)RI3A9:8:/), > $a#$" (=&'%ppo#edComm8pea#io&/-$ep#io& e) 1> #y 1 //+iim Gello( FoldH o%#p%#S#eam.7i#e(me''a!eS#i&!.!e#@y#e'()), > $a#$" (I8/-$ep#io& e) 1> > > > > > RS232 DAN MODEM 'pabila inter6a!e */232 di gunakan se!ara lengkap, maka penggunaannya lebih !enderung pada penggunaan modem. &an pada modem, umumnya, telah disediakan perintahperintah yang dapat digunakan oleh pengembang program. )erintah:perintah tersebut disebut dengan sebutan '1 #ommand. 'dapun perintah '1, bukan 't atau at, adalah sebagai berikut ; +++ Mode data dirubah menjadi mode perintah tanpa harus melakukan pemutusan hubungan. )erintah ini harus disertai dengan Enter A/ Mengulangi perintah terakhir ATA Menja%ab panggilan se!ara manual ATBn Memilih proto!ol Bell or ##(11 ((1.1), model ini hanya berpengaruh pada modem dengan model 2.22 atau 2.2" nH5, ##(11 2.22 atau 2.2" nH", Bell2"2 atau "53 ATDTn Melakukan kontak ke nomor telpon #ontoh ; '1&152"GGGGGG ATEn )erintah E!ho. /emua perintah yang dilakukan akan tampil kembali pada layar nH5, menonakti6kan e!ho nH", mengakti6kan e!ho ATHn 7angup nH5, 7ang .p nH", o66 ATIn )endeteksi identitas pabrikan dan setting nH5, produ!t !ode nH", pengkalkulasian pertama nH2..3, prakiraan nH<, +EM /tring nH9.."", nilai ok nH"2, )engkakulasian *+M nH"3, 2ersi *# nH"<, $ama )abrik )embuat nH"9, )ilihan $egara nH"G, ,/M +ption nH"E, #ek ,/M /upport ATLn /peaker 2olume nH5, /uara 1erke!il nH", /uara -e!il nH2, /uara /edang nH3, /uara -eras ATMn )engontrolan /peaker nH5, speaker tidak bersuara nH", speaker akti6 jika terdapat penerimaan=pengiriman nH2, speaker selalu akti6 nH3 speaker hanya akti6 jika modem menja%ab ATQn *espon balik modem ke !omputer nH5, modem melakukan respon pada !omputer nH", modem tidak melakukan respon ATSn Melakukan pengesetan dan memba!a register atau melakukan autoans%er '1/nH?, Melakukan pengesetan variable n dengan nilai " '1/nI, memba!a register n ATZn *eset modem nH5, restore ke pro6il 5 nH", restore ke pro6il " )erintahperintah modem yang terdapat pada tabel merupakan sebagian dari perintah modem. Bab II\ PEMROGRAMAN KOMUNIKASI PADA 1ARINGAN KOMPUTER Jaringan komputer atau (net%ork) adalah kumpulan komputer atau peralatan lainya yang dimungkin untuk mengirimkan atau menerima data satu dengan lainnya. /aat ini proto!ol jaringan yang paling dikenal adalah proto!ol () ((nternet )rotokol). () ini dikembangkan pertama kali untuk kepentingan militer 'merika yang menginginkan komputerkomputer mereka, yang berbedabeda system operasi, dapat berkomunikasi satu dengan yang lainnya. )ada perkembangannya proto!ol ini digunakan diseluruh system operasi seperti .ni?, @indo%s, Ma! dan lain lain dengan jumlah port 49, 939. Bahkan peralatanperalatan yang menggunakan komunikasi serial (*/232) telah diterapkan proto!ol (). )enggunaan proto!ol () se!ara global disebut (nternet sedangkan untuk pemakaian pada internal sebuah organisasi disebut intranet. /ebagai ilustrasi dapat dilihat pada gambar diba%ah ini ; ,ambar E. Jaringan -omputer )ada buku ini, pengenalan jaringan komputer tidak mendalam. )embahasan lebih !enderung pada pemrograman java pada jaringan komputer. )rogram, yang menggunakan 6alitas jaringan komputer, dapat dilihat pada komputer seharihari yaitu game online, %eb bro%ser (Ms. (nternet E?plorer, $ets!ape, FireFo?) dan lainlain. /aat pengguna komputer membuka salah satu situs %eb, !ontoh ; %%%.yahoo.!om, komputer pengguna melalui web browser nya melakukan permintaan koneksi pada komputer server dengan menggunakan proto!ol 1#)=() melalui port E5. -emudian komputer server melakukan transaksi dan hasil transaksi tersebut dikirim kembali pada komputer pengguna. ,ambar 3. )engiriman data melalui 1#)=() pada @eb Bro%ser 'dapun halhal yang perlu diketahui mengenai singkatan pada penggunaan proto!ol () 1#), 1rans6er #ode )roto!ol, ber6ungsi sebagai Layer mengidentitaskan pengiriman dan penerimaan paket data .&), .ser &atagram )roto!ol, ber6ungsi sebagai layer seperti 1#) tetapi tidak memberikan tanda mengenai sampai atau tidaknya data. Multi!ast, ber6ungsi sebagai layer pengirim berita ke seluruh komputer se!ara point to point (Broadcast). )ort, ber6ungsi sebagai jalur data se!ara logi! pada () . .*0, be6ungsi sebagai pemberi identitas dari alamat %eb 711), 7yperte?t 1rans6er )rotokol, adalah standarisasi proto!ol komunikasi antara web browser dan %eb server. 71M0, 7yperte?t Markup 0anguage, adalah 6ormat utama dalam penggunaan %eb AM0, adalah pengembangan lanjutan dari 71M0 dimana penggunaannya lebih baku dibandingkan dengan 71M0 F1), File 1rans6er )roto!ol, ber6ungsi sebagai pengirim atau penerima 6ile data Email, Ele!troni! Mail, ber6ungsi sebagai pengirim atau penerima surat elektronik. /M1), /imple Mail 1rans6er )rotokol, adalah standar proto!ol untuk pengiriman surat elektronik )+)3, )ost +66i!e )roto!ol 2ersi 3, adalah standar penerimaan surat elektronik. 1elnet, adalah proto!ol yang digunakan untuk perintah interakti6 )ro?y, ber6ungsi sebagai sharing internet. MENDETEKSI PORT YANG DIGUNAKAN Fasilitas atau protokol yang terdapat pada server dapat dideteksi oleh program java. Begitu pula dengan penggunaan port 1#)=() pada komputer. )rogram test proto!ol ; //po!am diam.il da& dimodi2i+a'i dai //.%+% Java :e#7o+ *o!ammi&! "al B195 //Simpa& Cile B *o#o$ol3e'#e.java //Compile B java$ *o#o$ol3e'#e.java //Caa Me&jala&+a& B java *o#o$ol3e'#e impo# java.&e#.*, p%.li$ $la'' *o#o$ol3e'#e 1 p%.li$ '#a#i$ void mai&(S#i&!45 a!') 1 S#i&! %l 6 <777..l.a$.id<, #e'#*o#o$ol (<"##pB//< K %l), #e'#*o#o$ol (<"##p'B//< K %l), #e'#*o#o$ol (<2#pB//< K %l), #e'#*o#o$ol (<!op"eB//< K %l), #e'#*o#o$ol (<&2'B//< K %l), #e'#*o#o$ol (<#el&e#B//< K %l), #e'#*o#o$ol (<mail#oB7i&d%@a&#aa.$o.id<), > piva#e '#a#i$ void #e'#*o#o$ol (S#i&! %l) 1 #y 1 =R0 % 6 &e7 =R0(%l), Sy'#em.o%#.pi&#l&(%.!e#*o#o$ol() K < i' '%ppo#ed<), > $a#$" (Mal2omed=R0/-$ep#io& e) 1 S#i&! po#o$ol 6 %l.'%.'#i&!(0( %l.i&de-82(LBL)), Sy'#em.o%#.pi&#l&(po#o$ol K < i' &o# S%ppo#<), > > > ,ambar "5. )roto!ol1ester )rogram untuk men!ari port yang digunakan oleh server ; //po!am diam.il da& dimodi2i+a'i dai .%+% //Java :e#7o+ *o!ammi&! //"al BM05 //Simpa& Cile B 0o7*o#S$a&&e.java //Compile B java$ 0o7*o#S$a&&e.java //Caa Me&jala&+a& B java 0o7*o#S$a&&e impo# java.&e#.*, impo# java.io.*, p%.li$ $la'' 0o7*o#S$a&&e 1 p%.li$ '#a#i$ void mai& (S#i&!45 a!') 1 S#i&! "o'# 6 <777..l.a$.id<, Sy'#em.o%#.pi&#l&(<3%&!!% 0a!i Me&de#e+'i<), 2o (i&# i 6 1, i N6 102O, iKK) 1 #y 1 So$+e# ' 6 &e7 So$+e#("o'#(i), Sy'#em.o%#.pi&#l&(<*o# < K i K < ?i!%&a+a& < K "o'#), >$a#$" (=&+&o7&Go'#/-$ep#io& e)1 Sy'#em.e.pi&#l&(e), .ea+, >$a#$" (I8/-$ep#io& e) 1 Sy'#em.o%#.pi&#l&(<*o# < K i K < 3ida+ ?i!%&a+a& < K "o'#), > > > > ,ambar "". 0o%)ort/!anner MENDOWLOAD HALAMAN WEB Bahasa pemrograman java dapat dengan mudah mendeteksi 6asilitas yang digunakan sebuah server seperti 711), F1), dll. Begitu juga dengan penggunaan port () pada server. /alah !ontoh program ke!il untuk mendo%load sebuah halaman %eb //*o!am diam.il dai .%+% Java :e#7o+i&! *o!ammi&!P8Qeilly //Gal B 210 //Simpa& Cile B So%$eDie7e.java //Compile B java$ So%$eDie7e.java //Caa Me&jala&+a& B java So%$eDie7e "##pB//777..l.a$.id impo# java.&e#.*, impo# java.io.*, p%.li$ $la'' So%$eDie7e 1 p%.li$ '#a#i$ void mai& (S#i&!45 a!') #"o7' 3"o7a.le 1 i2 (a!'.le&!#" E 0) 1 #y 1 =R0 % 6 &e7 =R0(a!'405), //@%+a +o&e+'i =R0 I&p%#S#eam i& 6 %.ope&S#eam(),
//ji+a =R0 di#em%+a& //po!am mem.a$a "alama& 7e. i& 6 &e7 @%22eedI&p%#S#eam(i&), Reade 6 &e7 I&p%#S#eamReade(i&), i&# $, 7"ile (($ 6 .ead()) H6 P1) 1 Sy'#em.o%#.pi&#(($"a) $), > > $a#$" (Mal2omed=R0/-$ep#io& e) 1 //Ji+a =R0 #ida+ di#em%+a& Sy'#em.o%#.pi&#(a!'405 K < i' &o# pa'ea.le =R0<), > > > > )ada program /our!e2ie%er.java apabila dijalankan, program tersebut men!oba melakukan koneksi kepada komputer server. -emudian apabila .*0 telah berhasil terkoneksi maka program akan memba!a 6ormat 71M0. ,ambar "2. /our!e2ie%er MENGIRIMKAN DAN MENERIMA EMAIL Email atau elektronic mail merupakan aplikasi yang paling banyak digunakan pada internet hingga sekarang. )roto!ol yang digunakan pada email adalah /M1) untuk pengiriman dan )+)3 untuk penerimaan. Email dalam pengiriman maupun penerimaan menggunakan proto!ol 1#)=(). /edangkan port yang digunakan adalah port 29 untuk pengiriman dan port ""5 untuk penerimaan. JavaMail ')( adalah standar komponen sejak java "." tetapi membutuhkan komponen dari java, yaitu mail.jar, imap.jar, mailapi.jar, pop3.jar, dan smtp.jar yang dapat dido%nload pada http;==java.sun.!om=produ!ts=javamail= . JavaMail ini dapat diimplementasikan se!ara pemrograman murni java menggunakan so!ket dan stream. Program Kirim Email //*o!am diam.il da& dimodi2i+a'i dai 0R@: ):3)R) //Simpa& Cile B Se&d/mail.java //Compile B java$ Se&d/mail.java //Caa Me&jala&+a& B java Se&d/mail impo# java-.mail.*, impo# java-.mail.i&#e&e#.*, impo# java.%#il.*, p%.li$ $la'' Se&d/mail 1 p%.li$ '#a#i$ void mai&(S#i&!45 a!') 1 #y 1 S#i&! :amaGo'# 6 <202.155.SM.26<, S#i&! Repada 6 <7i&d%@a&#aa.$o.id<, S#i&! ?ai 6 <e#7i&S6S8@ya"oo.$om<, *ope#ie' pop' 6 Sy'#em.!e#*ope#ie'(), pop'.p%#(<mail.'m#p."o'#<( :amaGo'#), Se''io& 'e''io& 6 Se''io&.!e#I&'#a&$e(pop'( &%ll), Me''a!e m'! 6 &e7 MimeMe''a!e('e''io&), m'!.'e#Com(&e7 I&#e&e#)dde''(?ai)), I&#e&e#)dde''45 adde'' 6 1&e7 I&#e&e#)dde''(Repada)>, m'!.'e#Re$ipie&#'(Me''a!e.Re$ipieype.38( adde''), m'!.'e#S%.je$#(<3e'#i&!<), m'!.'e#Co&#e&#(<I& po!am &!e#e'#<( <#e-#/plai&<), 3a&'po#.'e&d(m'!), > $a#$" (/-$ep#io& e) 1 e.pi&#S#a$+3a$e(), > > > Program Baca Email //po!am diam.il da& dimodi2i+a'i dai @%+% //Java :e#7o+i&! //Simpa& Cile B *8*MClie&#.java //Compile B java$ *8*MClie&#.java //Caa Me&jala&+a& B java *8*MClie&# impo# java-.mail.*, impo# java-.mail.i&#e&e#.*, impo# java.%#il.*, p%.li$ $la'' *8*MClie&# 1 p%.li$ '#a#i$ void mai&(S#i&!45 a!') 1 *ope#ie' pop' 6 Sy'#em.!e#*ope#ie'(), S#i&! "o'# 6 <202.155.SM.26<, S#i&! %'e&ame 6 <7i&d%<, S#i&! pa''7od 6 <------<, //ma% #a% aja pa''&ya S#i&! povide 6 <popM<, #y 1 //Ro&e+'i *8*M mail 'eve Se''io& 'e''io& 6 Se''io&.!e#?e2a%l#I&'#a&$e(pop'( &%ll), S#oe '#oe 6 'e''io&.!e#S#oe(povide), '#oe.$o&&e$#("o'#(%'e&ame(pa''7od), //.%+a 2olde Colde i&.o- 6 '#oe.!e#Colde(<I:@8T<), i2 (i&.o- 66 &%ll) 1 Sy'#em.o%#.pi&#l&(<:o I&.o-<), Sy'#em.e-i#(1), > i&.o-.ope&(Colde.R/)?98:0A), //3ampil+a& *e'a& S%a# Me''a!e45 me''a!e' 6 i&.o-.!e#Me''a!e'(), 2o (i&# i 6 0, i N me''a!e'.le&!#", iKK) 1 Sy'#em.o%#.pi&#l&(<PPPP Me''a!e < K (i K 1) K < PPPP<), me''a!e'4i5.7i#e3o(Sy'#em.o%#), > //ja&!a& l%pa #%#%p +o&e+'i i&.o-.$lo'e(2al'e), '#oe.$lo'e(), > $a#$" (/-$ep#io& e) 1 e.pi&#S#a$+3a$e(), > > > 'pabila program )+)3#lient dijalankan maka akan tampil CBIj2'd+1.O.2905I.i&Ijava.e-e P$la''pa#" <CBIj2'd+1.O.2905IjeIli.I#.ja,CBIj2'd+1.O.2905Ili.I#ool'.ja,CBIj2'd+1.O.2905 IjavamailP1.M.2Imail.ja,CBIj2'd+1.O.2905IjavamailP 1.M.2Ili.Iimap.ja,CBIj2'd+1.O.2905IjavamailP 1.M.2Ili.Imailapi.ja,CBIj2'd+1.O.2905IjavamailP 1.M.2Ili.IpopM.ja,CBIj2'd+1.O.2905IjavamailP 1.M.2Ili.I'm#p.ja,CBIJ@%ildeTIli.Ia$#iva#io&.ja,CBIda#aI.elajaI.pOI#e'#< *8*MClie&# PPPP Me''a!e 1 PPPP Re#%&P*a#"B Ne#7i&S6S8@ya"oo.$omE ?eliveedP3oB 7i&d%@a&#aa.$o.id Re$eivedB (;mail 1185S i&vo+ed .y %id 505), 21 Ce. 2005 02BM9B0M P0000 Re$eivedB 2om e#7i&S6S8@ya"oo.$om .y mail.a&#aa.$o.id .y %id 502 7i#" ;mailP '$a&&eP1.16 ($lam'$a&B 0.5O. CleaB. *o$e''ed i& 0.O581S6 'e$'), 21 Ce. 2005 02BM9B0M P0000 Re$eivedB 2om %&+&o7& (G/08 &o#e.oo+7d!) (192.168.12.5S) .y mail.a&#aa.$o.id 7i#" SM3*, 21 Ce. 2005 02BM9B02 P0000 Me''a!ePI?B N2S99OM66.1108961OO8S18.JavaMail.)dmi&i'#a#o@&o#e.oo+7d!E ComB e#7i&S6S8@ya"oo.$om 3oB 7i&d%@a&#aa.$o.id S%.je$#B 3/'#i&! MIM/PDe'io&B 1.0 Co&#e&#P3ypeB #e-#/plai&, $"a'e#6%'Pa'$ii Co&#e&#P3a&'2eP/&$odi&!B S.i# I& po!am &!e#e'# FTP CLIENT )ada Bahasa )rogram Java telah menyediakan -omponen untuk membuat File 1rans6er )roto!ol #lient. -omponen tersebut adalah impo# '%&.&e#.2#p.C#pClie&#. )ada !ontoh program diba%ah sebutkanlah nama atau ip dari server, nama user, password, direktori client, nama 6ile penyimpanan pada client, dan nama 6ile pada komputer server. //C#pClie&#?emo.java //?iam.il dai 777.java2'.$om impo# java.io.Cile, impo# java.io.CileI&p%#S#eam, impo# java.io.Cile8%#p%#S#eam, impo# java.io.I8/-$ep#io&, impo# java.io.I&p%#S#eam, impo# java.io.8%#p%#S#eam, impo# java.%#il.S#i&!3o+e&iUe, impo# '%&.&e#.3el&e#I&p%#S#eam, impo# '%&.&e#.2#p.C#pClie&#, p%.li$ $la'' C#pClie&#?emo 1 p%.li$ '#a#i$ i&# @=CC/R9SIV/ 6 102O0, piva#e C#pClie&# m9$lie&#, // 'e# #"e val%e' 2o yo% 'eve piva#e S#i&! "o'# 6 <<, piva#e S#i&! %'e 6 <<, piva#e S#i&! pa''7od 6 <<, piva#e S#i&! '?i 6 <<, piva#e S#i&! m9'0o$alCile 6 <<, piva#e S#i&! m9'Go'#Cile 6 <<, p%.li$ C#pClie&#?emo() 1 #y 1 Sy'#em.o%#.pi&#l&(<Co&&e$#i&! #o "o'# < K "o'#), m9$lie&# 6 &e7 C#pClie&#("o'#), m9$lie&#.lo!i&(%'e( pa''7od), Sy'#em.o%#.pi&#l&(<='e < K %'e K < lo!i& 8R<), Sy'#em.o%#.pi&#l&(m9$lie&#.7el$omeM'!), m9$lie&#.$d('?i), Sy'#em.o%#.pi&#l&(<?ie$#oyB < K '?i), m9$lie&#..i&ay(), Sy'#em.o%#.pi&#l&(<S%$$e''.<),
//mem.%a# #ampila& p%.li$ void pai&#(Xap"i$' !)1 Sy'#em.o%#.pi&#l&(<*ai&#<), !.'e#Colo(Colo..l%e), !.da7Re$#(0( 0( !e#SiUe().7id#" P1( !e#SiUe()."ei!"# P1), !.'e#Colo(Colo.ed), !.da7S#i&!(#e-#( 15( 25), > > /impan dengan nama Simple)pple#.java Compile program java tersebut java$ Simple)pple#.java Buka notepad lainnya dengan isi NG3M0E N@8?AE N)**0/3 C8?/6Simple)pple#.$la'' FI?3G6200 G/IXG36100E N/)**0/3E N/@8?AE N/G3M0E /impan dengan nama simple.html Jalankan dengan menggunakan perintah apple#vie7e 'imple."#ml 'tau dengan dengan membuka web browser seperti Ms. (nternet E?plorer ,ambar 25. Ms. (nternet E?plorer : 'pplet simple.html )rogram applet juga dapat menampilkan model gra6ik seperti pada !ontoh kedua yang diambil dari !ontoh j2sdk".<.5". //Copyi!"# ($) 200M S%& Mi$o'y'#em'( I&$. )ll Ri!"#' Re'eved. //Xap")pple#.java 1.S 0M/01/2M //Compile B java$ Xap")pple# //Caa Me&jala&+a& B pada !ap"."#ml impo# java.a7#.Xap"i$', p%.li$ $la'' Xap")pple# e-#e&d' java.apple#.)pple# 1 do%.le 2(do%.le -) 1 e#%& (Ma#".$o'(-/5) K Ma#".'i&(-/S) K 2) * !e#SiUe()."ei!"# / O, > p%.li$ void pai&#(Xap"i$' !) 1 2o (i&# - 6 0 , - N !e#SiUe().7id#" , -KK) 1 !.da70i&e(-( (i&#)2(-)( - K 1( (i&#)2(- K 1)), > > p%.li$ S#i&! !e#)pple#I&2o() 1 e#%& <?a7' a 'i& !ap".<, > > NHPP:ama Cile B Xap"1."#ml NHPPCopyi!"# ($) 200M S%& Mi$o'y'#em'( I&$. )ll Ri!"#' Re'eved. N"#mlE N"eadE N#i#leESimple Xap" (1.1)N/#i#leE N/"eadE N.odyE N"1ESimple Xap"(1.1)N/"1E N"E Napple# $ode6Xap")pple#.$la'' 7id#"6M00 "ei!"#6120E al#6<Ao% .o7'e %&de'#a&d' #"e Zl#,)**0/3Z!#, #a! .%# i'&L# %&&i&! #"e apple#( 2o 'ome ea'o&.< Ao% .o7'e i' $omple#ely i!&oi&! #"e Zl#,)**0/3Z!#, #a!H N/apple#E N"E N/.odyE N/"#mlE .ntuk mendapatkan !ontoh lainnya dapat dilihat pada BjavaJinstallationCDdemoDapplets B'B ((( 1AVA 2 MICRO EDITION Java 2 Mi!ro Edition (J2ME) adalah program yang disediakan oleh /.$ Mi!rosystem untuk menja%ab kebutuhan oleh pengembang program, khususnya pengembang program untuk alatalat terbatas seperti 7andphone, )&' dan lain lain. 'da 2 (dua) ma!am alat terbatas tersebut yaitu #&# (Connected Device #onne!tivity) dan #0&# (Connected Limited Device Connectivity). )erbandingan antara #&# dan #0& adalah sebagai berikut ; CLDC CDC Mengimplitasikan subset dari J2/E Mengimplementasikan seluruh 6itur pada J2/E J2M yang digunakan dikenal dengan nama -2M J2M yang dikenal dengan nama #2M &igunakan pada perangkat handheld dengan ukuran memori terbatas ("45 9"2 -bytes) &igunakan pada perangkat handheld dengan ukuran memori minimal 2 Mbytes )rosesor ; "4 Bit atau 32 Bit )rosesor ; 32 Bit #ontoh ; 7andphone ($okia, /amsung, )alm, dan lainlain), )&', )o!ket )# dan two way pager. #ontoh ; (nternet 12, $okia #ommuni!ator dan #ar 1elevision J2ME merupakan subset program Java 2 /tandard Edition (J2/E), karena itulah pada saat penginstallan J2ME @ireless 1oolkit harus terlebih dahulu melakukan instalasi J2/E. 'dapun !ara mengembangkan program J2ME adalah sebagai berikut ; ,ambar 2". )emrograman J2ME )aused '!tive ne%() &estroyed ne%() start'pp() pause'pp() destroy'pp() destroy'pp() )ada saat instalasi, akan membentuk de6ault direktori yaitu !;D@1-"5<. Masukkan 6ile #;D@1-"5<DlibDmidpapi.Kip sebagai !lasspath. /ehingga pada editor yang digunakan !lass mi!roedition akti6 dengan menuliskan pada editor adalah sebagai berikut ; import javax.microedition.lcdui.`; import javax.microedition.midlet.`; )ada pembuatan aplikasi J2ME minimal terdapat 2 (dua) !lass yang digunakan untuk membuat aplikasi, yaitu l!dui dan midlet. #lass l!dui digunakan untuk membuat inter6a!e, sedangkan midlet digunakan untuk terdiri dari !lass yang digunakan sebagai li6e!y!le dari program. #lass pada midlet ini mempunyai si6at abstra!t seperti ; prote!ted abstra!t void start'pp() thro%s M(&let/tate#hangeE?!eptionL prote!ted abstra!t void pause'pp()L prote!ted abstra!t void destroy'pp(boolean 6lag) thro%s M(&let/tate#hangeE?!eptionL ,ambar 22. )rogram 'bstrak J2ME /etelah program telah dibuat, dikompilasi dan diverivikasi kemudian program tersebut dapat dilihat pada emulator handphone yang tersedia pada program J2ME %ireless 1oolkit. #ontoh pembuatan program sederhana, ". Bukalah program -1++0B'* pada menu /1'*1 )*+,*'M J2ME @ireless 1ollkit -1++0B'* ,ambar 23. -1++0B'* 2. Buatlah projek baru (ne% proje!t), dengan nama projek 7ello@orld dan Midlet #lass $ame dengan nama 7elloM(&let ,ambar 2<. Membuat )rojek Baru J2ME 'pabila dilakukan pembuatan projek (create project), maka J2ME @ireless 1oolkit program akan membentuk direktori 7ello@orld pada direktori #;D@-1"5<Dapps 3. -emudian buatlah program dengan nama 7elloM(&let.java pada direktori #;D@-1"5<DappsD7ello@orldDsr! ,ambar 29. &irektori J2ME impo# java-.mi$oedi#io&.l$d%i.*, impo# java-.mi$oedi#io&.midle#.*, p%.li$ $la'' GelloMI?le# e-#e&d' MI?le# impleme&#' Comma&d0i'#e&e 1 piva#e Com mMai&Com, p%.li$ GelloMI?le#()1 mMai&Com 6 &e7 Com(<Gello Fold<), mMai&Com.appe&d(&e7 S#i&!I#em(&%ll( <Gello 3ema& 3ema& @%dil%"%<)), mMai&Com.addComma&d(&e7 Comma&d(</-i#<( Comma&d./TI3(0)), mMai&Com.'e#Comma&d0i'#e&e(#"i'), > p%.li$ void '#a#)pp() 1 ?i'play.!e#?i'play(#"i').'e#C%e&#(mMai&Com), > p%.li$ void pa%'e)pp() 1> p%.li$ void de'#oy)pp(.oolea& %&$o&di#io&al)1> p%.li$ void $omma&d)$#io&(Comma&d $( ?i'playa.le ') 1 &o#i2y?e'#oyed(), > > <. 1ekan tombol *.$, jika tidak terdapat masalah dengan program maka akan tampil emulator handphone ,ambar 24. Emulator J2ME Form $ama )roje!t ; mahasis%a $ama Midlet ; mahasis%a $ama )rogram ; mahasis%a.java /impan File ; !;D%tk"5<DappsDmahasis%aDsr!Dmahasis%a.java 'plikasi ; mahasis%a.jad, mahasis%a.jar ,ambar 2G. Membuat Form )ada J2ME Impo# java-.mi$oedi#io&.l$d%i.*, impo# java-.mi$oedi#io&.midle#.*, p%.li$ $la'' ma"a'i'7a e-#e&d' MI?le# impleme&#' Comma&d0i'#e&e 1 piva#e ?i'play di'play, piva#e )le# ale#, piva#e 3i$+e #i$+e, piva#e Com 2, piva#e 3e-#Cield #-#:im, piva#e 3e-#Cield #-#:ama, piva#e C"oi$eXo%p $!Se#i2i+a#, piva#e C"oi$eXo%p $!J%%'a&, piva#e C"oi$eXo%p $!Ramp%', piva#e Comma&d e-i#Cmd, piva#e Comma&d '%.Cmd, p%.li$ ma"a'i'7a() 1> p%.li$ void '#a#)pp() 1
BAB IV 1AVA 2 ENTERPRISE EDITION (12EE) /un My!rosystem mengenalkan banyak sekali versi pemrograman java. /alah satunya adalah Java 2ersi 2 Enterprise Editon atau J2EE. Banyak sekali 6asilitas yang terdapat pada J2EE ini. 1etapi tidak dibahas semua dibuku ini. /ebagian besar adalah konsep pemrograman dan beberapa !ontoh penggunaan J2EE yang diambil dari dokumentasi %%%.sun.!om. -elebihan J2EE selain bebas dalam penggunaannya, paket J2EE ini telah dilengkapi semua kebutuhan pengembang pada sisi pengguna maupun sisi server. -ompnenenkomponen pada J2EE adalah EJB (Enterprise Java Bean), @eb #ontainer, 'plikasi )engguna (Aplication Client) dan 'pplet. )erbedaan terpenting antara J2EE dengan J/&- adalah J2EE merupakan versi enterprise yang memiliki komponen J/&- serta mendukung komponen %eb dan Java Bean. /edangkan aplikasi standar aplikasi !lient dan applet sudah dapat digunakan pada J/&-. ,ambar 32. J2EE : Java 2 Enterprise Edition. 1ools yang digunakan untuk membuat system pada J2EE J2EE adalah model %eb !onsole atau yang disebut dengan 'pli!ation /erver 'dmin #onsole pada port <E<E, &eploy 1ools dan terminal. APLIKASI SERVER #ara mengkati6kan server J2EE, bukalah terminal %indo% atau !ommand dos kemudian ketiklah ; a'admi& '#a#Pdomai& PPve.o'e domai&1 atau jika menggunakan system operasi %indo%s yaitu )rograms /un Mi!rosystem J2EE /&- /tart &e6ault /erver. -emudian bukalah salah satu %eb bro%ser, !ontoh ; Ms. (nternet E?plorer, kemudian isilah address dengan alamat ; http;==lo!alhost;<E<E. Masukkan user admin dan kata kun!innya (pass%ord). ,ambar 33. 'ppli!ation /erver 'dmin #onsole. .ntuk perintah untuk menon akti6kan server a'admi& '#opPdomai& domai&1 atau jika menggunakan system operasi %indo%s )rograms /un Mi!ro/ystem /top &e6ault /erver DEPLOYMENT TOOL .ntuk membuat paket aplikasi J2EE , /un Mi!rosystem menyedikan 6asilitas &eployment 1ool. .ntuk menjalankan aplikasi &eployment 1ool dengan menggunakan terminal atau !ommand dos ; deploytool atau dengan menggunakan menu )rograms /un Mi!rosystem &eploy 1ool ,ambar 3<. &eployment 1ool 1AVA API J'2' ')( adalah 6asilitas untuk developer java dalam membuat aplikasi. .ntuk lebih jelasnya adalah sebagai berikut ; EJB (Enterprise Java Bean) Enter Java Bean EJB atau sering dikenal dengan Enterperise bean adalah komponen kodekode dari bisnis logic. )enggunaan EJB dapat digabungkan dengan komponenkomponen lainnya yang ada pada J2EE. 'da beberapa model dari EJB yaitu session beans, entity beans dan message driven beans. -euntungan dari entitybeans adalah penggunaan /Q0 yang digunakan pada J&B# ')(. JAVA SERVLE EC!"#L#$% Java /ervlet teknologi adalah !lass yang dapat digunakan untuk melakukan transaksi pada 711). /ervlet ini merupakan model pemrograman %eb dan juga dapat menggunakan 6asilitas yang ada pada Java /erver )age. JAVA SERVER PA$ES Java /erver )ages merupakan pemrograman %eb dengan model basis teks dokumen yang dapat diekspresikan dengan beberapa tipe teks. (71M0, @M0 dan AM0). JAVA &ESSA$E SERV'CE JM/ ')( adalah standar pesan yang ada pada aplikasi J2EE untuk membuat, mengirimkan, menerima dan pemba!a pesan. JAVA RA"SAC'#" AP' J1' merupakan standar interface J2EE yang menangani transaksi commit dan rollback. JAVA&A'L AP' J2EE menyediakan 6asilitas untuk mengirimkan email yaitu J'2'M'(0. J'2' M'(0 ini telah kita bahas sebelumnya. JAVABEA"S AC'VA'#" (RA&E)#RK. J'F digunakan oleh J'2'M'(0 kare J'F merupakan standar komunikasi untuk mende6inisikan tipe dari data dan system encapsulate. JAVA AP' (#R *&L PR#CESS'"$ J'A) dapat memproses dokumen AM0 dengan tipe Document bject !odel (&+M), "imple A#$ for %!L (/'A), dan &'tensible "tylesheet Language (ransformation (A0/1). 'plikasi J'A) dapat melakukan penelusuran dan merubah dokumen AM0 menjadi dokumen yang sesuai dengan tipe dokumen @3#. )enggunaan J'A) pada proto!ol 711) dikenal dengan Java ')( 6or AM0Based *)# (J'A*)#). J+BC AP' J&B# ')( digunakan untuk mengakses perintah /Q0 pada method pemrograman J'2'. )ada versi J2EE, Enterpri!e Bean ')( menggunakan J&B# ')( ini untuk mengkases database. J&B# ')( juga dapat digunakan se!ara langsung tanpa harus mengakti6kan Enterprise Bean. /un Mi!rosystem juga menyediakan aplikasi untuk mengembangkan program pada J2EE, yaitu /un Java /tudio #reator. 1etapi sayangnya untuk aplikasi ini perusahaan /un Mi!ro/ystem tidak mendistribusikan se!ara gratis tetapi harus membayar. .ntuk Mengembangkan program dengan menggunakan Java /tudio #reator membutuhkan memori yang tidak sedikit yaitu minimal 9"2 dengan minimal prosesor adalah )entium <. ,ambar 39. /un Java /tudio #reator TENTANG PENULIS )enulis bernama @indu ,ata, /-om terlahir di Jakarta pada tanggal 53 Juli "3G4. sejak tahun "333 penulis bekerja pada instansi pemerintah, yaitu 0-B$ '$1'*' sebagai sta6 analisa dan programmer bagian pengembangan dan penelitian. /elain itu penulis merupakan salah satu dosen di universitas Budi 0uhur dengan mata kuliah .ni?, Bahasa )emrograman 3 : java lanjutan. Bahasa )emrograman < : java komunikasi dan mobile, )engelolalan /istem (n6ormasi, dan /istem &atabase 2 : &atabase 0anjutan. )enulis Juga sebagai pengajar di 0embaga )endidikan Jurnalistik 'ntara (0)J') : 0-B$ 'ntara, khusus dibidang in6ormatika, dan pengajar lepas. 7obi di bidang teknik in6ormatika (1(), khususnya dibidang pemrograman, telah digeluti sejak memasuki bangku kuliah /trata /atu (/") dengan jurusan 1eknik (n6ormatika di .niversitas Budi 0uhur tahun "339, dan menyelesaikan studinya tahun "333. /eiring %aktu berjalan dan perkembangan (1 yang semakin pesat, penulis mengasah kemampuan dan memliki ketrampilan di bidang sistem operasi seperti /olaris /un Mi!rosystem, '(A : (BM */4555, linu?, dan Mi!roso6t @indo%s. Begitupula dibidang pemrograman, bahasa pemrograman yang telah kuasai seperti Ms. 2isual Basi!, 2B' M/. '!!ess, )7), '/), +ra!le ('/, @eb programming dan java, dengan database Ms.'!!ess, My/Rl, Ms. '!!ess, Ms. /Rl/erver, dan +ra!le. Juga tools yang digunakan seperti /eagate #rystal *eport dan net%orking (1#)=(), .&), Multi!asting dan &2B=()). )engalaman membuat program di 0-B$ 'ntara ataupun sebagai programmer lepas telah dijalani. #ontoh program di tempat penulis bekerja, penulis telah membuat seperti program komunikasi */232, 1#) dan &2B=() dengan sarana modem sampai satelit. &an sebagai pemrogramer lepas, penulis telah membuat diberbagai instasi pemerintah dan s%asta. #ita!ita untuk turut memajukan bangsa dan negara melalui kemampuan penulis, salah satunya dengan menulis buku ini. &an berharap, dengan adanya buku ini, jika seseorang yang tidak bisa menjadi bisa dan yang sudah bisa menjadi lebih bisa. -ritik dan saran sangat dinanti dengan mengirimkannya ke email penulis, yaitu %induSantara.!o.id atau ret%inG4GESyahoo.!om. -arena penulis bukanlah orang yang sempurna, masih banyak yang harus dipelajari dan rasa ingin memperbaiki sehingga dapat menulis bukubuku lainnya. .!apan 1erima kasih, penulis u!apkan atas perhatiannya. &an terima kasih terdalam teruntuk istri dan anakanakku, keluarga, guruguru, keluarga besar 0-B$ 'ntara, -eluarga Besar .niversitas Budi 0uhur dan $egeri ku (ndonesia. -- Hiduplah Bangsa dan Negara, saya mencintaimu INDONESIA ---