÷ƒ’À;è TeX output 1999.12.26:1714‹ÿÿÿÿ ©K… ý>‘ì £n ýŒF¬óþÖëI½q½qecss2074»Java–fÑCGI“HO‘ÿwmWTOŽ¤ ®„ØcÕÁGŽŽ¡ó 1ê± ecrm1000¹Daš¸èvid–U H.“SilbGer“óqLË ectt1000¼dhs@orbits.com“¹diterjemahk‘ÿqÐan“oleh“T‘ÿ*¸edi“Heriy˜an˜to“¼tedi.h@a-vip.com¹t‘)M×v.0.4,“18Ž¡No•¸èv“em“bGer–U 1996,“terj.‘q€28“P¸èeb“1999Ž¡Ÿ&°óŒ6 ecss1000½Dokumen–áHOš¸èWTO‘àãini“menjelask˜an“bagaimana“memasang“server“Anda“aga˜r“dapat“menjalank˜an“p˜rogram-p˜rogramŽ¡CGI–W{yš¸èang“ditulis“dalam“Java“dan“bagaimana“menggunak˜an“Java“untuk“menulis“p˜rogram-p˜rogram“CGI.“MeskipunŽ¡dokumen-dokumen›·}HO•¸èWTO‘·dditujuk“an˜untuk˜sistem˜opGerasi˜Linux,‘Ðnamun˜y“ang˜satu˜ini˜tidak˜tergantung˜padaŽ¡versi–U Unix“yš¸èang“digunak˜an.ŽŸ(Àœó&Lt$ffffecbx1440¿1Ž‘ÁP•cendah“uluanŽŸ¿:¹Oleh–Ôÿk›ÿqÐarena“cara“Ja¸èv˜a“dirancang,‘îŸpGemrogram“tidak“memiliki“akses“yš¸èang“m˜udah“k˜e“v–ÿqÐariabšGel-v“ariab˜el‘Ôÿlingkun-Ž¡gan–õ8sistem.‘QˆKarena“cara“Jaš¸èv‘ÿqÐa“Dev˜elopmen˜t“Kit“(JDK)‘õ dipasang,‘gdipGerluk‘ÿqÐan“ban˜y˜ak“tok˜en“un˜tuk“memanggilŽ¡suatu–ÆGprogram,‘âÙyš¸èang“tidak“terk‘ÿqÐait“sangat“baik“dengan“format“standar“HTML/opGerasi“CGI.“T‘ÿ*¸erdapat“ban˜y˜akŽ¡cara–6Öunš¸ètuk“mengatasin˜y˜a,‘<ådan“sa˜y˜a“telah“mengimplemen˜tasik‘ÿqÐan“salah“satun˜y˜a.‘ghBaca“lebih“lanjut“un˜tuk“rin-Ž¡ciann•¸èy“a.Ž©#Ãó¥!¢N ecbx1200Á1.1Ž‘¾P• engetah“uan‘¸DasarŽŸMª¹Sa•¸èy“a–² mengasumsik‘ÿqÐan“bah•¸èw“a–² anda“memiliki“pGengetahš¸èuan“um˜um“ten˜tang“k˜onsep-k˜onsep“HTML‘±°dan“CGIŽ¡dan–"‚paling“tidak“memiliki“sedikit“pGengetahš¸èuan“ten˜tang“serv˜er“HTTP‘"Manda.‘Ù§Anda“pGerlu“juga“mengetah˜uiŽ¡bagaimana–U memš¸èbuat“program“dalam“Ja˜v›ÿqÐa,“atau“ak˜an“ada“ban•¸èy“ak–U hal“bGerikut“y¸èang“tidak“dimengerti.Ž¦Á1.2Ž‘¾Mengenai–¸Dokumen“IniŽŸMª¹V‘ÿ*¸ersi–¼Žterakhir“dokumen“ini“(bahasa“Inggris)“dapat“dibaca“di“ó½HЃ ecti1000ÂJava-CGI‘/HO¾˜WTO‘¼h¼Ž¦Á1.3Ž‘¾P• ak“etŽŸMª¹V‘ÿ*¸ersi–Ï›terakhir“pakš¸èet“y˜ang“dijelask‘ÿqÐan“di“sini“dapat“diakses“melalui“FTP›Ï|anonim“di“ÂJava‘_CGI˜¼Ž¤ؼ¹P•¸èak“et–U distribusi“mencakup“kš¸èoGde“sum˜bGer“SGML“un˜tuk“dokumen“ini.Ž¡P•¸èak“et–ëedidistribusik›ÿqÐan“bGerdasark˜an“GNU‘ëJLibrary“General“Public“License.‘NBDokumen“ini“dapat“didistribusik˜anŽ© ®bGerdasark‘ÿqÐan›U sy•¸èarat-sy“arat˜y“ang˜ada˜di˜informasi˜hak˜cipta˜Lin“ux˜HO“WTO.Ž¡Jik›ÿqÐa–˜Ôanda“menggunak˜an“soft•¸èw“are–˜Ôini,‘éÀbuatlah“acuan“k¸èe“ÂJava‘½}CGI‘˜€¼¹,–U sehingga“yš¸èang“lain“ak‘ÿqÐan“dapat“menem˜uk‘ÿqÐan“class-class“Ja˜v‘ÿqÐa“CGI.ŽŽŽŒ‹* ©K… ý>‘쟄€ÕÁGŽó]fŒ ecbx1000Å2.‘ñ8Mensetup–ÕServš®>er“Anda“agar“Menjalank‘ÿ\|an“Program-Program“Ja˜v‘ÿ\|a“CGI‘YŽ¹2ŽŽ £n ýˆ.\Á1.4Ž‘¾Ucapan–¸T‘þàerima“KasihŽ©Mª¹Dokumen–£ini“hadir“bGerk›ÿqÐat“k¸èebaik˜an“Stellar“Orbits“T‘ÿ*¸ec¸èhnology“Services.‘¶ (Kunjungi“k˜ami“di“ÂStel‘‚Ðlar‘E¸OrbitsŽ¤ ®T‘ÿ;Èe–ÿ}/chnolo“gy–U ¼“¹unš¸ètuk“melihat“apa“y˜ang“k›ÿqÐami“lakuk˜an).ŽŸ(Àœ¿2Ž‘ÁMensetup– :Servcer“Anda“agar“Menjalank‘ÿÆan“Program-ProgramŽŸ…‘ÁJacv‘ÿÆa‘G\CGIŽŸ¿:¹Bagian–ú1ini“ak›ÿqÐan“mem•¸èbim“bing–ú1anda“melakuk˜an“instalasi“pakš¸èet“Ja˜v‘ÿqÐa“CGI‘údengan“pšGenjelasan“sep˜erlun•¸èy“a‘ú1se-Ž¡hingga–M anda“tah¸èu“apa“dampak“tindak›ÿqÐan“anda.‘[Jik˜a“Anda“han•¸èy“a–M ingin“menginstal“program-program“danŽ¡acuh–B9terhadap“mengapa“dan“di“mana,‘Flanjutk‘ÿqÐan“kš¸èe“3“(Mensetup“Serv˜er“Anda“un˜tuk“menjalank‘ÿqÐan“Program-Ž¡program–U Jaš¸èv‘ÿqÐa“CGI“(Ben˜tuk“Ringk‘ÿqÐas)).ŽŸ#ÃÁ2.1Ž‘¾Kebutuhan‘¸SistemŽ¦¹Soft•¸èw“are–ini“dapat“bGekš¸èerja“di“sem˜ua“w˜eb“serv˜er“y˜ang“mirip“Unix“y˜ang“telah“memiliki“Ja˜v‘ÿqÐa“Dev˜elopmen˜t“Kit.Ž¡Sa•¸èy“a›W+menggunak‘ÿqÐann“y“a˜di˜sistem˜Lin“ux˜Debian˜y“ang˜menggunak‘ÿqÐan˜Apac“he˜sebagai˜h“ttp˜daemon.‘w¡Jik‘ÿqÐa˜andaŽ¡menem•¸èuk‘ÿqÐan›U bah“w“a˜ia˜tidak˜bGerjalan˜di˜serv“er˜anda,˜silak‘ÿqÐan˜h“ubungi˜sa“y“a˜di˜dhs@orbits.com.ŽŸؼSa•¸èy“angn“y“a,‘ê›in“terpreter–™‚run-time“Jaš¸èv‘ÿqÐa“ban˜y˜ak“memerluk‘ÿqÐan“memori““anda“m˜ungkin“pGerlu“menam˜bahk‘ÿqÐanŽ¡b•Geb“erapa–U megabš¸èyte“RAM“k˜e“serv˜er“anda“jik›ÿqÐa“ak˜an“menggunak˜an“ban•¸èy“ak–U program“Ja¸èv˜a“CGI.ŽŸ#ÃÁ2.2Ž‘¾Soft• w“are›¸tam“bahan˜Ja“v‘ÿ@ a˜CGIŽ¦¹Soft•¸èw“are›õÅy“ang˜sa“y“a˜tulis˜un“tuk˜mem“ban“tu˜dalam˜hal˜ini˜disebut˜Ja“v‘ÿqÐa˜CGI.˜Anda˜dapat˜mempGerolehn“y“a˜dariŽ¡ÂJava‘“°CGI–U ¼¹.‘q€(Angk‘ÿqÐa“vš¸èersi“m˜ungkin“bGerubah).ŽŸ#ÃÁ2.3Ž‘¾Mem• buk‘ÿ@ a›¸K“o_úde˜sum“b_úerŽ¦¹Carilah–©direktori“yš¸èang“tepat“un˜tuk“mem˜buk‘ÿqÐa“pak˜et“ini.‘§(Jik‘ÿqÐa“anda“tidak“memiliki“tempat“standar“un˜tukŽ¡menaruh›³kpak•¸èet-pak“et,‘ þsa“y“a˜sarank–ÿqÐan˜anda˜menggunak“an˜¼/usr/local/src/¹).‘ŒaBuk“alah˜distribusi˜denganŽ¡menggunak‘ÿqÐan–U pšGerin¸ètah“b˜erikut“:ŽŸ ‚¶‰ffÕÁGŸ ?œ‘"ržóqLË ectt0900Ägzip–¹N-dc“java_cgi-0.4.tgz“|“tar“-xvf“-ŽŸfF‰ffÕÁGŸ ȹP•¸èerin“tah–7èini“ak›ÿqÐan“mem¸èbuat“suatu“direktori“bGernama“¼java_cgi-0.4¹.‘gÃDi“sana“anda“ak˜an“menem¸èuk˜an“le-leŽ¡yš¸èang–=Hdiacu“oleh“dokumen“ini.‘iŽ(Jik‘ÿqÐa“nomor“v˜ersi“bGerubah,‘B un˜tuk“seterusn˜y˜a“gunak‘ÿqÐan“instruksi-instruksi“dariŽ¡distribusi).ŽŸ#ÃÁ2.4Ž‘¾T‘þàen tuk–ÿ@ an›¸Kebijak“an˜Lo_úcal˜P ath˜AndaŽ¦¹Anda–%–pGerlu“mem¸èutusk›ÿqÐan“lok˜asi“unš¸ètuk“menaruh“program-program“Ja˜v‘ÿqÐa“CGI‘%`anda.‘ââUm˜umn˜y˜a,‘Y´anda“ak‘ÿqÐanŽ¡menaruhn•¸èy“a–S“di“suatu“direktori“yš¸èang“sesuai“dengan“direktori“cgi-bin“anda.‘püServ˜er“Apac˜he“sa˜y˜a“dik˜ongurasiŽ¡unš¸ètuk–‘@memak‘ÿqÐai“¼/var/web/cgi-bin“¹sebagai“direktori“cgi-bin,‘àHjadi“sa˜y˜a“menggunak‘ÿqÐan“¼/var/web/javacgiŽ¡¹sebagai–/direktori“unš¸ètuk“menaruh“program-program“Ja˜v‘ÿqÐa“CGI.“Anda“m˜ungkin“tidak“ingin“menaruh“programŽŽŽŒ‹ î ©K… ý>‘쟄€ÕÁGŽÅ3.‘ñ8Mensetup–ÕServš®>er“Anda“un˜tuk“Menjalank‘ÿ\|an“Program“Ja˜v‘ÿ\|a“CGI“(Ben˜tuk“Ringk‘ÿ\|as)‘%¹3ŽŽ £n ýˆ.\Jaš¸èv‘ÿqÐa–ÈGCGI‘È$anda“k˜e“dalam“salah“satu“direktori“CLASSP–ÿ*¸A“TH‘È$y˜ang–ÈGada.‘BEditlah“Mak˜ele“un˜tuk“mencermink‘ÿqÐanŽ¤ ®kš¸èongurasi–5sistem“anda.‘fÌP˜astik‘ÿqÐan“bah˜w˜a“anda“login“sebagai“user“roGot“dan“menjalank‘ÿqÐan“¼make‘?¬install¹.‘fÌHalŽ¡ini– ak‘ÿqÐan“mengkš¸èompilasi“program-program“Ja˜v–ÿqÐa,‘ AmemoGdik“asi– script“ja˜v‘ÿqÐa.cgi“agar“sesuai“dengan“sistem“andaŽ¡dan–¿rmenginstal“program-program“kš¸èe“dalam“tempat“y˜ang“tepat.‘°vJik‘ÿqÐa“anda“ingin“v˜ersi“HTML‘¿Wdokumen˜tasiŽ¡ini–U dan“sebuah“dokumen“pGercobaan,“jalank‘ÿqÐan“¼make‘?¬all¹.ŽŸ#ÃÁ2.5Ž‘¾Menguji–¸instalasi“anda.ŽŸMª¹Dokumen-dokumen–oûy¸èang“terinstal“dari“distribusi“adalah“¼javacgitest.html¹,‘ö²¼javaemailtest.html“¹danŽ¡¼javahtmltest.html¹.‘,ýJik›ÿqÐa–‡—anda“menginstal“seluruh“pak¸èet,‘°²ia“ak˜an“ada“di“dalam“direktori“yš¸èang“anda“ten˜tuk‘ÿqÐanŽ¡di–ýìWEBDIR‘ýÀdalam“Mak¸èele.‘kãJik›ÿqÐa“tidak,‘(anda“dapat“menjalank˜an“¼make‘?¬test“¹unš¸ètuk“mem˜bangunn˜y˜a“dariŽ¡¼javacgitest.html¹,–U ¼javaemailtest.html-dist“¹dan“¼javahtmltest.html-dist¹.ŽŸؼBila–žÍanda“yš¸èakin“bah˜w˜a“instalasi“anda“telah“bGek˜erja“dengan“baik,‘±8anda“bGoleh“menghapus“¼CGI_Test.class¹,Ž¡¼Email_Test.class–‹é¹dan“¼HTML_Test.class“¹dari“direktori“JA–þã V“A¸èCGI‘Šanda–‹édan“¼javacgitest.html¹,Ž¡¼javaemailtest.html–Ѽ¹dan“¼javahtmltest.html“¹dari“direktori“WEBDIR‘ÑZanda“oleh“k›ÿqÐarena“merek˜a“han•¸èy“aŽ¡menampilk‘ÿqÐan–U informasi“yš¸èang“normaln˜y˜a“han˜y˜a“tersedia“un˜tuk“serv˜er“k˜epada“user.ŽŸ(Àœ¿3Ž‘ÁMensetup–|@Servšcer“Anda“un˜tuk“Menjalank‘ÿÆan“Program“Ja˜v‘ÿÆa“CGIŽŸ…‘Á(Benctuk‘G\Ringk‘ÿÆas)ŽŸ”’‘ó !",š cmsy10¸ŽŽŽ‘¹Am•¸èbillah›Ûîpak“et˜Ja“v‘ÿqÐa˜CGI–ÛŠdari˜ÂJava‘û:CGI“¼¹.‘q€(Nomor–U vš¸èersi“m˜ungkin“bGerubah).Ž¤®‘¸ŽŽŽ‘¹Buk‘ÿqÐalah–U distribusi“dengan“pGerin¸ètah“:ŽŸX‰ffÕÁGŸ?œ‘FžˆÄgzip–¹N-dc“java_cgi-0.4.tgz“|“tar“-xvf“-ŽŸfF‰ffÕÁGŸˆ‘¹(Jik‘ÿqÐa–U nomor“vš¸èersi“bGerubah,“selanjutn˜y˜a“gunak‘ÿqÐan“instruksi-instruksi“dari“distribusi).Ž¡‘¸ŽŽŽ‘¹Editlah–§ÀMakš¸èele“y˜ang“anda“tem˜uk‘ÿqÐan“di“direktori“ja˜v‘ÿqÐa_cgi-0.4“y˜ang“baru“tercipta“agar“sesuai“denganŽ© ®‘sistem‘U anda.Ž¡‘¸ŽŽŽ‘¹Sebagai–REroGot,‘‘Žjalank›ÿqÐan“¼make‘?¬install¹.‘hïHal“ini“ak˜an“mengkš¸èompilasi“program“Ja˜v–ÿqÐa,‘‘Žmengaplik“asik“anŽ¦‘informasi–$ÂspšGesik“sistem“anda“dan“menginstal“b˜erbagai“le.‘aaJik‘ÿqÐa“anda“ingin“vš¸èersi“HTML‘$¶dokumen˜tasiŽ¦‘ini–U dan“sebuah“dokumen“pGercobaan,“jalank‘ÿqÐan“mak¸èe“all.Ž¡‘¸ŽŽŽ‘¹Anda–U siap“un¸ètuk“lanjut.ŽŸ(Àœ¿4Ž‘ÁMengeksekusi–G\program“Jacv‘ÿÆa“CGIŽŸèÁ4.1Ž‘¾Ham• batan›¸un“tuk˜menjalank‘ÿ@ an˜program˜Ja“v‘ÿ@ a˜dalam˜Mo_údel˜CGIŽŸMª¹T‘ÿ*¸erdapat–U dua“masalah“utama“dalam“menjalank›ÿqÐan“program“Ja¸èv˜a“dari“sebuah“wš¸èeb“serv˜er“:ŽŽŽŒ‹Æ ©K… ý>‘쟄€ÕÁGŽÅ5.‘ñ8Menggunak›ÿ\|an–Õclass“Ja®>v˜a“CGI’*¤'¹4ŽŽ £n ýˆ.\Å4.1.1Ž‘#!\Anda–Õtidak“dapat“menjalank›ÿ\|an“program“Ja®>v˜a“sepQÂerti“haln•®>y“a–Õle“eksekusi“biasa.Ž©Mª¹Anda–kÒpGerlu“menjalank‘ÿqÐan“inš¸èterpreter“run-time“Ja˜v‘ÿqÐa“dan“mem˜bGerik‘ÿqÐan“class“a˜w˜al“(program“un˜tuk“dijalank‘ÿqÐan)Ž¤ ®pada–v‘ÿ\|a–Õtidak“memiliki“akses“um˜um“k˜e“lingkungan.Ž¦¹Setiap–Fäv›ÿqÐariabGel“lingkungan“y¸èang“ak˜an“dipGerluk˜an“oleh“program“Ja¸èv˜a“harus“secara“eksplisit“dibGerik˜an.‘lÂTidakŽ¡ada–U metoGde“yš¸èang“men˜y˜erupai“fungsi“¼getenv()“¹pada“C.ŽŸ#ÃÁ4.2Ž‘¾Mengatasi–¸masalah-masalah“dalam“menjalank›ÿ@ an“program“Ja v˜a“CGIŽ¦¹Unš¸ètuk–ubGerurusan“dengan“ham˜batan-ham˜batan“ini,‘¢;sa˜y˜a“men˜ulis“sebuah“program“CGI‘uIshell“y˜ang“men˜y˜ediak‘ÿqÐanŽ¡informasi–U yš¸èang“dipGerluk‘ÿqÐan“oleh“in˜terpreter“Ja˜v‘ÿqÐa.ŽŸ ÖÅ4.2.1Ž‘#!\Script‘Õja®>v‘ÿ\|a.cgi.Ž¦¹Script–\shell“ini“mengelola“inš¸èteraksi“an˜tara“daemon“HTTP‘\Ndan“program“Ja˜v‘ÿqÐa“CGI‘\Ny˜ang“anda“ingin“gunak‘ÿqÐan.‘¥IaŽ¡mengekstraksi–r¨nama“program“yš¸èang“ingin“anda“jalank‘ÿqÐan“dari“data“y˜ang“dibGerik‘ÿqÐan“serv˜er.‘ÊIa“mengumpulk‘ÿqÐanŽ¡seluruh–J|data“lingkungan“kš¸èe“dalam“le“tempGorer.‘Q”Lalu,‘‡Óia“menjalank‘ÿqÐan“in˜terpreter“run-time“Ja˜v‘ÿqÐa“denganŽ¡menam¸èbahk‘ÿqÐan–U nama“le“informasi“lingkungan“dan“nama“program.ŽŸؼScript–U jaš¸èv‘ÿqÐa.cgi“dik˜ongurasi“dan“diinstal“dalam“2.4“(T‘ÿ*¸en˜tuk›ÿqÐan“Kebijak˜an“LoGcal“P¸èath“Anda).ŽŸ ÖÅ4.2.2Ž‘#!\Memanggil–Õja®>v‘ÿ\|a.cgi“dari“sebuah“form“HTML.Ž¦¹F‘ÿ*¸orm-form›U sa•¸èy“a˜y“ang˜memak‘ÿqÐai˜program˜Ja“v–ÿqÐa˜CGI˜menspGesik“asik“an˜aksi˜sebuah˜form˜sebagai˜bGerikut˜:ŽŸ ‚¶‰ffÕÁGŸŸ Š=‘"ržÄŽŸfF‰ffÕÁGŸª0¹Dengan–y/cgi-bin/“adalah“direktori“lok‘ÿqÐal“unš¸ètuk“biner“CGI‘xßanda,‘¥ja˜v‘ÿqÐa.cgi“adalah“fron˜t-end“y˜ang“mem˜ungkink‘ÿqÐanŽ¡kita–µunš¸ètuk“menjalank‘ÿqÐan“program“Ja˜v‘ÿqÐa“melalui“w˜eb“dan“CGI_T‘ÿ*¸est“adalah“sebuah“con˜toh“nama“program“Ja˜v‘ÿqÐaŽ¡un¸ètuk‘U dijalank‘ÿqÐan.ŽŸ(Àœ¿5Ž‘ÁMenggunak›ÿÆan–G\class“Jacv˜a“CGIŽŸ¿:¹Saat–¬ini“terdapat“tiga“kš¸èelas“utama“y˜ang“didukung““5.1“(CGI),“5.3“(Email)“dan“5.5“(HTML).“Sa˜y˜a“sedangŽ¡mempGertim•¸èbangk‘ÿqÐan›ý un“tuk˜menam“bah˜class˜y“ang˜bGerk‘ÿqÐaitan˜dengan˜input˜dan˜output˜y“ang˜bGerformat˜MIMEŽ¡–U MIMEin“&“MIMEout.ŽŸؼT‘ÿ*¸erdapat–zpula“sedikit“class“pšGendukung“dan“p˜ercobaan.‘ ¸5.2“(CGI_T›ÿ*¸est),‘È5.4“(Email_T˜est)“dan“5.6Ž¡(HTML_T‘ÿ*¸est)–Þditujuk›ÿqÐan“agar“digunak˜an“un¸ètuk“menguji“instalasi“program.‘ *Merek˜a“dapat“juga“digunak˜anŽ¡sebagai–#titik“a•¸èw“al–#bagi“program“Jaš¸èv‘ÿqÐa“anda“y˜ang“menggunak›ÿqÐan“pustak˜a“class“ini.‘ºˆClass“5.7“(T‘ÿ*¸ext)“adalahŽ¡supGerclass–U bagi“class-class“Email“dan“HTML.ŽŽŽŒ‹$  ©K… ý>‘쟄€ÕÁGŽÅ5.‘ñ8Menggunak›ÿ\|an–Õclass“Ja®>v˜a“CGI’*¤'¹5ŽŽ £n ýˆ.\Á5.1Ž‘¾CGIŽ¤MªÅ5.1.1Ž‘#!\Sin®>taks‘ÕClassŽŸÛT‰ffÕÁGŸ ¨‘"ržÄpublic–¹Nclass“CGIŽ©fF‰ffÕÁGŸ¯Å5.1.2Ž‘#!\Deskripsi‘ÕClassŽ¡¹Class–SCGI›HbGerisi“¼Informasi‘?¬CGI˜¹“v–ÿqÐariabšGel-v“ariab˜el–Slingkungan“yš¸èang“diset“oleh“w˜eb“serv˜er“dan“nama/nilaiŽ¤ ®yš¸èang– dikirim“dari“sebuah“form“k˜etik›ÿqÐa“tindak˜an“submit“dipilih.‘Y(Seluruh“informasi“disimpan“dalam“PropGertiesŽ¡ob•¸èy“ek‘U class.ŽŸؼClass–U ini“terdapat“dalam“pak¸èet“¼Orbits.net¹.ŽŸ ÖÅ5.1.3Ž‘#!\Ringk‘ÿ\|asan‘ÕAnggotaŽŸÌü‰ffÕÁGŸ ?œ‘H=ÄCGI()‘*ƒ¾//‘ rœKonstruktor.Ž¤ Š=‘H=getNames()‘å8//‘ rœAmbil–¹Ndaftar“nama-nama.Ž¡‘H=getValue()‘å8//‘ rœAmbil–¹Nnilai“form“dg“menspesifikasikan“nama.Ž¦‰ffÕÁGŸ¯Å5.1.4Ž‘#!\Lihat‘ÕJugaŽŸMª¹5.2‘U (CGI_T‘ÿ*¸est).ŽŸ ÖÅ5.1.5Ž‘#!\CGI()ŽŸ#KegunaanŽŽŽ¤®‘¹Memš¸èbangun–U sebuah“ob˜y˜ek“y˜ang“mengandung“data“CGI“y˜ang“tersedia.ŽŸ®ÅSin®>taksŽŽŽŸff‰ffÕÁGŸ?œ‘/Äpublic‘¹NCGI()Ž¦‰ffÕÁGŸæ®ÅDeskripsiŽŽŽ¡‘¹Ketik‘ÿqÐa–Ï+sebuah“ob•¸èy“ek›Ï+CGI‘Ï dik“onstruksi,‘í®seluruh˜informasi˜CGI‘Ï y“angtersedia˜ditaruh˜di˜pGen“yimpananŽŸ ®‘lok‘ÿqÐal–U terhadap“ob•¸èy“ek‘U baru.ŽŸ ÖÅ5.1.6Ž‘#!\getNames()ŽŸ#KegunaanŽŽŽ¡‘¹T‘ÿ*¸ampilk›ÿqÐan–U nama-nama“y¸èang“didenisik˜an“memiliki“nilai“terk˜ait.ŽŸ®ÅSin®>taksŽŽŽŸff‰ffÕÁGŸ?œ‘/Äpublic–¹NEnumeration“getKeys“()Ž¦‰ffÕÁGŸæ®ÅDeskripsiŽŽŽ¡‘¹Mem¸èbGerik›ÿqÐan–U daftar“lengk˜ap“nama“yš¸èang“nilai“k˜orespGondenn˜y˜a“terdenisi.ŽŸ®ÅHasilŽŽŽ¡‘¹Sebuah–U Enš¸èumerasi“seluruh“nama“y˜ang“terdenisik‘ÿqÐan.ŽŽŽŒ‹0 ©K… ý>‘쟄€ÕÁGŽÅ5.‘ñ8Menggunak›ÿ\|an–Õclass“Ja®>v˜a“CGI’*¤'¹6ŽŽ £n ýˆ.\Å5.1.7Ž‘#!\getV‘ÿ ºalue()ŽŸ#KegunaanŽŽŽ¤®‘¹Mengamš¸èbil–U nilai“y˜ang“sesuai“dengan“nama“y˜ang“dispGesik–ÿqÐasik“an.Ž©®ÅSin®>taksŽŽŽŸff‰ffÕÁGŸ?œ‘/Äpublic–¹NString“getValue“(“String“name“)ŽŸfF‰ffÕÁGŸæ®ÅDeskripsiŽŽŽ¡‘¹MetošGde–U ini“men•¸èy“ediak‘ÿqÐan‘U k“oresp˜ondensi›U an“tara˜nama˜dan˜nilai˜y“ang˜dikirim˜dari˜sebuah˜form˜HTML.Ž¦ÅP®>arameterŽŽŽ¤®‘nameŽŽŽŸ®‘/¹Kunci–U un¸ètuk“memilih“nilai.Ž¡ÅHasilŽŽŽŸ®‘¹Sebuah–U string“bGerisi“nilai.ŽŸ#ÃÁ5.2Ž‘¾CGI_T‘þàestŽ¤Mª¹Class–íàini“men•¸èy“ediak›ÿqÐan–íàsebuah“con¸ètoh“bagaimana“menggunak˜an“class“CGI‘í¹dan“sebuah“program“pGercobaanŽŸ ®yš¸èang–U dapat“digunak‘ÿqÐan“un˜tuk“mengk˜onrmasi“bah˜w˜a“pak˜et“Ja˜v‘ÿqÐa“CGI“bšGerfungsi“dengan“b˜enar.Ž© ÖÅ5.2.1Ž‘#!\Ringk‘ÿ\|asan‘ÕAnggotaŽŸÌü‰ffÕÁGŸ ?œ‘H=Ämain()‘WÔ//‘ rœProgram‘¹Nmain().ŽŸfF‰ffÕÁGŸ¯Å5.2.2Ž‘#!\Lihat‘ÕJugaŽ¡¹5.1‘U (CGI)Ž¦Å5.2.3Ž‘#!\main()ŽŸ#KegunaanŽŽŽ¤®‘¹Men•¸èy“ediak‘ÿqÐan–U metoGde“main().Ž©®ÅSin®>taksŽŽŽŸff‰ffÕÁGŸ?œ‘/Äpublic–¹Nstatic“void“main(“String“argv[]“)ŽŸfF‰ffÕÁGŸæ®ÅDeskripsiŽŽŽ¡‘¹Ini–Úadalah“titik“masuk“unš¸ètuk“program“CGI‘¨y˜ang“tidak“mengerjak‘ÿqÐan“sesuatu“nam˜un“mengem˜balik‘ÿqÐanŽŸ ®‘sebuah–U daftar“pasangan“nama/nilai“y¸èang“ada“dan“nilai“merek‘ÿqÐa“saat“ini.Ž¦ÅP®>arameterŽŽŽŸ®‘argv[ŽŽ‘7U‰¹]ŽŸ®‘/Argumen-argumen–U yš¸èang“dibGerik‘ÿqÐan“k˜e“program“oleh“ja˜v›ÿqÐa.cgi“script.‘q€Saat“ini“tidak“digunak˜an.ŽŽŽŒ‹6ç ©K… ý>‘쟄€ÕÁGŽÅ5.‘ñ8Menggunak›ÿ\|an–Õclass“Ja®>v˜a“CGI’*¤'¹7ŽŽ £n ýˆ.\Á5.3Ž‘¾EmailŽ¤MªÅ5.3.1Ž‘#!\Sin®>taks‘ÕClassŽŸÛT‰ffÕÁGŸ ¨‘"ržÄpublic–¹Nclass“Email“extends“TextŽ©fF‰ffÕÁGŸ¯Å5.3.2Ž‘#!\Deskripsi‘ÕClassŽ¡¹P¸èesan-pšGesan–´sdibangun“dengan“meto˜de“add*()“class“T‘ÿ*¸ext“dan“meto˜de“khš¸èusus“email“ditam˜bahk‘ÿqÐan“oleh“classŽŸ ®ini.‘q€Setelah–U selesai,“pGesan“dikirimk‘ÿqÐan“kš¸èe“tujuann˜y˜a.ŽŸؼClass–U ini“terdapat“dalam“pak¸èet“¼Orbits.netŽŸ ÖÅ5.3.3Ž‘#!\Ringk‘ÿ\|asan‘ÕAnggotaŽŸÌü‰ffÕÁGŸ ?œ‘H=ÄEmail()‘WÔ//‘ rœKonstruktor.Ž¤ Š=‘H=send()‘!"//‘ rœMengirim–¹Npesan“email.Ž¡‘H=sendTo()‘ž†//‘ rœMenambahkan–¹Ntujuan“ke“pesan.Ž¡‘H=subject()‘å8//‘ rœMenset–¹NSubject:“untuk“pesan.Ž¦‰ffÕÁGŸ¯Å5.3.4Ž‘#!\Lihat‘ÕJugaŽŸMª¹5.4–U (Email_T›ÿ*¸est),“5.7“(T˜ext).ŽŸ ÖÅ5.3.5Ž‘#!\Email()ŽŸ#KegunaanŽŽŽ¤®‘¹Memš¸èbangun–U sebuah“ob˜y˜ek“y˜ang“mengandung“pGesan“email.ŽŸ®ÅSin®>taksŽŽŽŸff‰ffÕÁGŸ?œ‘/Äpublic‘¹NEmail()Ž¦‰ffÕÁGŸæ®ÅDeskripsiŽŽŽ¡‘¹Menset–U pGesan“kš¸èosong“un˜tuk“diselesaik‘ÿqÐan“oleh“meto•Gde-meto“de‘U Email.Ž©®ÅLihat‘ÕJugaŽŽŽ¡‘¹5.7‘U (T‘ÿ*¸ext).ŽŸ ÖÅ5.3.6Ž‘#!\send()ŽŸ#KegunaanŽŽŽ¡‘¹Mengirim–U pGesan“email.Ž¦ÅSin®>taksŽŽŽŸff‰ffÕÁGŸ?œ‘/Äpublic–¹Nvoid“send“()ŽŸfF‰ffÕÁGŸæ®ÅDeskripsiŽŽŽ¡‘¹Memformat–Xëdan“mengirim“pšGesan.‘oJik‘ÿqÐa“b˜elum“ada“alamat“tujuan“yš¸èang“diset,‘‹\tidak“ada“tindak‘ÿqÐan“diam˜bil.ŽŽŽŒ‹=p ©K… ý>‘쟄€ÕÁGŽÅ5.‘ñ8Menggunak›ÿ\|an–Õclass“Ja®>v˜a“CGI’*¤'¹8ŽŽ £n ýˆ.\Å5.3.7Ž‘#!\sendT‘ÿ ºo()ŽŸ#KegunaanŽŽŽ¤®‘¹Menam¸èbahk‘ÿqÐan–U tujuan“pGesan.Ž©®ÅSin®>taksŽŽŽŸff‰ffÕÁGŸ?œ‘/Äpublic–¹NString“sendTo“(“String“address“)ŽŸfF‰ffÕÁGŸæ®ÅDeskripsiŽŽŽ¡‘¹Menamš¸èbah––alamat“k˜e“daftar“tujuan“metoGde“ini.‘^RTidak“ada“batasan“jumlah“tujuan“y˜ang“bGoleh“dimilikiŽ¤ ®‘pGesan›‘úemail.‘(Sa•¸èy“a˜y“akin˜bah“w“a˜jik‘ÿqÐa˜anda˜mem“buat˜daftar˜y“ang˜cukup˜bGesar,‘¡0anda˜dapat˜melampauiŽ¡‘ukuran–{„parameter“daftar“yš¸èang“dapat“diterima“Mail“T‘ÿ*¸ransfer“Agen˜t“atau“memak‘ÿqÐai“seluruh“memori“anda.Ž¦ÅP®>arameterŽŽŽŸ®‘addressŽŽŽŸ®‘/¹Sebuah–U tujuan“un¸ètuk“mengirimk‘ÿqÐan“pGesan.ŽŸ ÖÅ5.3.8Ž‘#!\sub‘£„ject()ŽŸ#KegunaanŽŽŽ¤®‘¹Menset›U sub•¸èy“ek˜un“tuk˜pGesan.Ž¦ÅSin®>taksŽŽŽŸff‰ffÕÁGŸ?œ‘/Äpublic–¹Nvoid“subject“(“String“subject“)ŽŸfF‰ffÕÁGŸæ®ÅDeskripsiŽŽŽ¡‘¹MetoGde–*ini“menset“teks“un¸ètuk“baris“Sub‘Ž0ject“email.‘ÀJik›ÿqÐa“dipanggil“lebih“dari“satu“k˜ali,‘Klsub•¸èy“ek‘*y“angŽ¤ ®‘paling–U akhir“disetlah“y¸èang“digunak‘ÿqÐan.Ž¦ÅP®>arameterŽŽŽŸ®‘sub‘£„jectŽŽŽŸ®‘/¹T‘ÿ*¸eks–U un¸ètuk“baris“Sub‘Ž0ject“pGesan.ŽŸ#ÃÁ5.4Ž‘¾Email_T‘þàestŽ©Mª¹Class–ª«ini“men•¸èy“ediak›ÿqÐan–ª«sebuah“con¸ètoh“bagaimana“menggunak˜an“class“Email“dan“menguji“program“y¸èang“dapatŽ¡digunak›ÿqÐan–U un¸ètuk“memastik˜an“bah•¸èw“a›U pak“et˜Ja“v‘ÿqÐa˜CGI˜b•Gerfungsi˜dengan˜b“enar.ŽŸ ÖÅ5.4.1Ž‘#!\Ringk‘ÿ\|asan‘ÕAnggotaŽŸÌü‰ffÕÁGŸ ?œ‘H=Ämain()‘WÔ//‘ rœProgram‘¹Nmain().ŽŸfF‰ffÕÁGŸ¯Å5.4.2Ž‘#!\Lihat‘ÕJugaŽ¦¹5.3‘U (Email).ŽŽŽŒ‹ C… ©K… ý>‘쟄€ÕÁGŽÅ5.‘ñ8Menggunak›ÿ\|an–Õclass“Ja®>v˜a“CGI’*¤'¹9ŽŽ £n ýˆ.\Å5.4.3Ž‘#!\main()ŽŸ#KegunaanŽŽŽ¤®‘¹Men•¸èy“ediak‘ÿqÐan–U metoGde“main()Ž©®ÅSin®>taksŽŽŽŸff‰ffÕÁGŸ?œ‘/Äpublic–¹Nstatic“void“main(“String“argv[]“)ŽŸfF‰ffÕÁGŸæ®ÅDeskripsiŽŽŽ¡‘¹Ini–øadalah“titik“a•¸èw“al›øun“tuk˜program˜CGI‘èy“ang˜mengem“balik‘ÿqÐan˜daftar˜pasangan˜nama/nilai˜y“ang˜adaŽ¤ ®‘dan››Ànilain•¸èy“a˜saat˜ini.‘EaIa˜juga˜ak–ÿqÐan˜mengirimk“an˜daftar˜ini˜k•¸èe˜alamat˜y“ang˜dispGesik–ÿqÐasik“an˜dalamŽ¡‘v‘ÿqÐariabGel‘U Email.Ž¦ÅP®>arameterŽŽŽŸ®‘argv[ŽŽ‘7U‰¹]ŽŸ®‘/Argumen-argumen– Ðyš¸èang“dibGerik‘ÿqÐan“k˜epada“program“oleh“script“ja˜v›ÿqÐa.cgi.‘YeSaat“ini“tidak“digunak˜an.ŽŸ#ÃÁ5.5Ž‘¾HTMLŽ¤MªÅ5.5.1Ž‘#!\Sin®>taks‘ÕClassŽŸÛT‰ffÕÁGŸ ¨‘"ržÄpublic–¹Nclass“HTML“extends“TextŽŸfF‰ffÕÁGŸ¯Å5.5.2Ž‘#!\Deskripsi‘ÕClassŽ¡¹P¸èesan-pšGesan–PÍdibangun“dengan“meto˜de-meto˜de“add*()“class“T‘ÿ*¸ext“dan“meto˜de-meto˜de“kh¸èusus“HTML‘PÌditam-Ž¤ ®bahk›ÿqÐan–U oleh“class“ini.‘q€Setelah“selesai,“pGesan“dikirimk˜an“kš¸èe“tujuann˜y˜a.Ž©ؼSaat–Rìini,‘’_tidak“ada“pGemeriksaan“kš¸èesalahan“un˜tuk“memastik‘ÿqÐan“bah˜w˜a“metošGde-“meto˜de“p˜em¸èbangun“daftarŽ¡digunak‘ÿqÐan–Qdalam“urutan“y¸èang“bšGenar,‘Gsehingga“p˜emrogram“harus“b˜ekš¸èerja“k˜eras“agar“tidak“melanggar“sin˜taksŽ¡HTML.Ž¦Class–U ini“ada“dalam“pak¸èet“¼Orbits.netŽŸ ÖÅ5.5.3Ž‘#!\Ringk‘ÿ\|asan‘ÕAnggotaŽŸÌü‰ffÕÁGŸ ?œ‘H=ÄHTML()‘U|//‘ rœKonstruktor.Ž¤ Š=‘H=author()‘K”à//‘ rœMenset–¹Nnama“penulis“dokumen.Ž¡‘H=definitionList()‘%Êp//‘ rœMemulai–¹Ndaftar“definisi.Ž¡‘H=definitionListTerm()‘å8//‘ rœMenambah–¹Nsuatu“hal“ke“daftar“definisi.Ž¡‘H=endList()‘FÛ’//‘ rœMengakhiri–¹Nsebuah“daftar.Ž¡‘H=listItem()‘B"D//‘ rœMenambah–¹Nsuatu“item“ke“daftar.Ž¡‘H=send()‘U|//‘ rœMengirim–¹Npesan“HTML.Ž¡‘H=title()‘PN.//‘ rœMenset–¹Nteks“untuk“judul“dokumen.ŽŸfF‰ffÕÁGŸ¯Å5.5.4Ž‘#!\Lihat‘ÕJugaŽŸMª¹5.6–U (HTML_T›ÿ*¸est),“5.7“(T˜ext).ŽŽŽŒ‹ Jg ©K… ý>‘쟄€ÕÁGŽÅ5.‘ñ8Menggunak›ÿ\|an–Õclass“Ja®>v˜a“CGI’%¤w¹10ŽŽ £n ýˆ.\Å5.5.5Ž‘#!\HTML()ŽŸñKegunaanŽŽŽ¤|)‘¹Memš¸èbangun–U sebuah“ob˜y˜ek“y˜ang“ak‘ÿqÐan“mengandung“pGesan“HTML.Ž©J>ÅSin®>taksŽŽŽŸ‰ffÕÁGŸ ±‘/Äpublic‘¹NHTML()ŽŸfF‰ffÕÁGŸPíÅDeskripsiŽŽŽ¡‘¹Menset–U pGesan“kš¸èosong“un˜tuk“diselesaik‘ÿqÐan“oleh“meto•Gde-meto“de‘U HTML.Ž¦ÅLihat‘ÕJugaŽŽŽ¡‘¹5.7‘U (T‘ÿ*¸ext).ŽŸ «Å5.5.6Ž‘#!\author()ŽŸñKegunaanŽŽŽ¡‘¹Menset–U nama“pGen¸èulis“dokumen.Ž¦ÅSin®>taksŽŽŽŸ‰ffÕÁGŸ ±‘/Äpublic–¹Nvoid“author“(“String“author“)ŽŸfF‰ffÕÁGŸPíÅDeskripsiŽŽŽ¡‘¹Menset–U nama“pGenš¸èulis“dokumen“k˜e“pGen˜ulis.Ž¦ÅP®>arameterŽŽŽ¤S‘authorŽŽŽŸ|)‘/¹T‘ÿ*¸eks–U unš¸ètuk“digunak‘ÿqÐan“sebagai“pGen˜ulis“pGesan“ini.Ž¡ÅLihat‘ÕJugaŽŽŽ¤|)‘¹title().ŽŸ «Å5.5.7Ž‘#!\denitionList()ŽŸñKegunaanŽŽŽ¡‘¹Mem¸èulai–U daftar“denisi.Ž¦ÅSin®>taksŽŽŽŸ‰ffÕÁGŸ ±‘/Äpublic–¹Nvoid“definitionList“()ŽŸfF‰ffÕÁGŸPíÅDeskripsiŽŽŽ¡‘¹Memš¸èulai–¯daftar“denisi.‘€ÏSebuah“daftar“denisi“adalah“daftar“kh˜usus“sehingga“setiap“masuk‘ÿqÐan“dalamŽ¤ ®‘daftar–&adalah“sebuah“term“yš¸èang“diikuti“oleh“denisi“teks“un˜tuk“term“tersebut.‘ä"A‘ÿ*¸w˜al“daftar“denisiŽ¡‘diikuti–eoleh“pšGenciptaan“(paling“sedikit)“satu“pasangan“term/teks“dan“sebuah“panggilan“k¸èe“meto˜deŽ¡‘endList().‘q€Sebagai–U catatan,“un¸ètuk“saat“ini,“daftar“tidak“dapat“dibuat“bGersarang.Ž¦ÅLihat‘ÕJugaŽŽŽŸ|)‘¹denitionListT‘ÿ*¸erm(),–U endList(),“listItem().ŽŽŽŒ‹ R— ©K… ý>‘쟄€ÕÁGŽÅ5.‘ñ8Menggunak›ÿ\|an–Õclass“Ja®>v˜a“CGI’%¤w¹11ŽŽ £n ýˆ.\Å5.5.8Ž‘#!\denitionListT‘ÿ ºerm()ŽŸø±KegunaanŽŽŽ¤ƒÃ‘¹Menamš¸èbah–U sebuah“term“k˜e“daftar“denisi.Ž©YrÅSin®>taksŽŽŽŸĉffÕÁGŸK‘/Äpublic–¹Nvoid“definitionListTerm“()ŽŸfF‰ffÕÁGŸg»ÅDeskripsiŽŽŽ¡‘¹Menamš¸èbah– Ésebuah“term“k˜e“daftar“denisi.‘•|T‘ÿ*¸eks“un˜tuk“bagian“term“masuk‘ÿqÐan“daftar“saat“ini“ditam-ŽŸ ®‘bahk‘ÿqÐan–U k¸èe“pšGesan“setelah“meto˜de“ini“dipanggil“dan“seb˜elum“meto˜de“listItem“y¸èang“terk‘ÿqÐait“dipanggil.Ž¦ÅLihat‘ÕJugaŽŽŽ¡‘¹denitionList(),‘U listItem().ŽŸ ±§Å5.5.9Ž‘#!\endList()ŽŸø±KegunaanŽŽŽ¡‘¹Mengakhiri‘U daftar.Ž¦ÅSin®>taksŽŽŽŸĉffÕÁGŸK‘/Äpublic–¹Nvoid“endList“()ŽŸfF‰ffÕÁGŸg»ÅDeskripsiŽŽŽ¡‘¹Mengakhiri–ÖÁdaftar.›ödMetoGde“ini“men¸èutup“daftar.˜Sebagai“catatan,›÷*un¸ètuk“saat“ini,˜daftar“tidak“dapatŽŸ ®‘dibuat‘U bGersarang.Ž¦ÅLihat‘ÕJugaŽŽŽ¡‘¹denitionList().ŽŸ ±§Å5.5.10Ž‘(álistItem()ŽŸø±KegunaanŽŽŽ¡‘¹Menamš¸èbah–U sebuah“masuk‘ÿqÐan“k˜e“daftar.Ž¦ÅSin®>taksŽŽŽŸĉffÕÁGŸK‘TÊrÄpublic–¹Nvoid“listItem“()Ž¤ Š=¡‘TÊrpublic–¹Nvoid“listItem“(“String“item“)Ž¡¡‘TÊrpublic–¹Nboolean“listItem“(“String“term,“String“item“)Ž¡žff‰ffÕÁGŸg»ÅDeskripsiŽŽŽŸƒÃ‘¹Menamš¸èbah––æsebuah“masuk‘ÿqÐan“k˜e“daftar.‘6ÒJik‘ÿqÐa“bGen˜tuk“pGertama“y˜ang“digunak‘ÿqÐan,‘§Xteks“un˜tuk“item“daftarŽ¤ ®‘saat–¥ini“ditamš¸èbahk‘ÿqÐan“k˜e“pšGesan“setelah“meto˜de“ini“dipanggil“dan“seb˜elum“meto˜de-meto˜de“daftar“lain-Ž¡‘n•¸èy“a–£ÿdipanggil.‘^Dalam“bGenš¸ètuk“k˜edua“dan“k˜etiga,‘··teks“item“dispšGesik–ÿqÐasik“an–£ÿsebagai“parameter“meto˜deŽ¡‘daripada–i|ditamš¸èbahk‘ÿqÐan“(atau“sebagai“tam˜bahan)“k˜e“pGesan.‘®“Ben˜tuk“k˜etiga“adalah“kh˜usus“un˜tuk“daftarŽ¡‘denisi–U dan“men•¸èy“ediak›ÿqÐan–U term“dan“denisi“masuk˜an“daftar.ŽŽŽŒ‹ Y ©K… ý>‘쟄€ÕÁGŽÅ5.‘ñ8Menggunak›ÿ\|an–Õclass“Ja®>v˜a“CGI’%¤w¹12ŽŽ £n ýˆ.\ÅP®>arameter-parameterŽŽŽ©Ü!‘itemŽŽŽ¤h‘/¹T‘ÿ*¸eks–U un¸ètuk“masuk‘ÿqÐan“daftar.ŽŸ"‘ÅtermŽŽŽ¡‘/¹T‘ÿ*¸eks–U un¸ètuk“bagian“denisi“masuk‘ÿqÐan“daftar“term.Ž¦ÅLihat‘ÕJugaŽŽŽ¤h‘¹denitionList(),–U denitionListT‘ÿ*¸erm(),“endList().Ž© ™ÖÅ5.5.11Ž‘(ásend()ŽŸÝKegunaanŽŽŽ¡‘¹Mengirim–U pGesan“HTML.ŽŸ"ÅSin®>taksŽŽŽŸÚo‰ffÕÁGŸù ‘/Äpublic–¹Nvoid“send“()ŽŸfF‰ffÕÁGŸ»ÅDeskripsiŽŽŽ¡‘¹Mengirim–U pGesan“HTML.Ž¦Å5.5.12Ž‘(átitle()ŽŸÝKegunaanŽŽŽ¡‘¹Menset–U teks“un¸ètuk“judul“dokumen.Ž©"ÅSin®>taksŽŽŽŸÚo‰ffÕÁGŸù ‘/Äpublic–¹Nvoid“title“(“String“title“)ŽŸfF‰ffÕÁGŸ»ÅDeskripsiŽŽŽ¡‘¹Menset–U teks“un¸ètuk“judul“dokumen.Ž¦ÅP®>arameterŽŽŽ¤Ü!‘titleŽŽŽŸh‘/¹T‘ÿ*¸eks–U un¸ètuk“judul“pGesan.Ž¡ÅLihat‘ÕJugaŽŽŽŸh‘¹author().ŽŸ"á„Á5.6Ž‘¾HTML_T‘þàestŽŸMª¹Class–ù}ini“men•¸èy“ediak›ÿqÐan–ù}sebuah“con¸ètoh“bagaimana“menggunak˜an“class“HTML‘ùedan“sebuah“program“pGercobaanŽŸ ®yš¸èang–U dapat“digunak‘ÿqÐan“un˜tuk“memastik‘ÿqÐan“bah˜w˜a“pak˜et“Ja˜v‘ÿqÐa“CGI“telah“bšGerfungsi“dengan“b˜enar.ŽŸ ™ÖÅ5.6.1Ž‘#!\Ringk‘ÿ\|asan‘ÕAnggotaŽŸÌü‰ffÕÁGŸ ù ‘H=Ämain()‘WÔ//‘ rœProgram‘¹Nmain().ŽŸfF‰ffÕÁGŽŽŒ‹ `² ©K… ý>‘쟄€ÕÁGŽÅ5.‘ñ8Menggunak›ÿ\|an–Õclass“Ja®>v˜a“CGI’%¤w¹13ŽŽ £n ýˆ.\Å5.6.2Ž‘#!\Lihat‘ÕJugaŽŸMª¹5.5‘U (HTML).ŽŸ ÖÅ5.6.3Ž‘#!\main()ŽŸ#KegunaanŽŽŽ¤®‘¹Men•¸èy“ediak‘ÿqÐan–U metoGde“main().Ž©®ÅSin®>taksŽŽŽŸff‰ffÕÁGŸ?œ‘/Äpublic–¹Nstatic“void“main(“String“argv[]“)ŽŸfF‰ffÕÁGŸæ®ÅDeskripsiŽŽŽ¡‘¹Ini–vadalah“titik“a•¸èw“al–vbagi“program“CGI‘u»yš¸èang“mengem˜balik‘ÿqÐan“daftarpasangan“nama/nilai“y˜ang“adaŽŸ ®‘dalam–é@dokumen“HTML,“dengan“setiap“pasangan“nama/nilai“ditampilk‘ÿqÐan“dalam“elemen“daftar“denisi.Ž¦ÅP®>arameterŽŽŽŸ®‘argv[ŽŽ‘7U‰¹]ŽŸ®‘/Argumen-argumen–U yš¸èang“dibGerik‘ÿqÐan“k˜e“program“oleh“script“ja˜v›ÿqÐa.cgi.‘q€Saat“ini“tidak“digunak˜an.ŽŸ#ÃÁ5.7Ž‘¾T‘þàextŽ¤MªÅ5.7.1Ž‘#!\Sin®>taks‘ÕClassŽŸÛT‰ffÕÁGŸ ¨‘"ržÄpublic–¹Nabstract“class“TextŽ©fF‰ffÕÁGŸ¯Å5.7.2Ž‘#!\Deskripsi‘ÕClassŽ¡¹Class–HÞini“merupak‘ÿqÐan“supšGerclass“dari“class“Email“dan“HTML.“P¸èesan-p˜esan“dibangun“dengan“meto˜de-meto˜deŽŸ ®dalam–U class“ini“dan“diselesaik‘ÿqÐan“serta“diformat“dengan“meto•Gde-meto“de–U dalam“sub•Gclass-sub“class.ŽŸؼClass–U ini“ada“dalam“pak¸èet“¼Orbits.text¹.ŽŸ ÖÅ5.7.3Ž‘#!\Ringk‘ÿ\|asan‘ÕAnggotaŽŸÌü‰ffÕÁGŸ ?œ‘H=ÄText()‘8¯¨//‘ rœKonstruktor.Ž¤ Š=‘H=add()‘=hö//‘ rœMenambah–¹Nteks“ke“obyek.Ž¡‘H=addLineBreak()‘å8//‘ rœMenambah–¹Nganti“baris.Ž¡‘H=addParagraph()‘å8//‘ rœMenambah–¹Nganti“paragraf.Ž¦‰ffÕÁGŸ¯Å5.7.4Ž‘#!\Lihat‘ÕJugaŽŸMª¹5.3–U (Email),“5.5“(HTML).ŽŽŽŒ‹f  ©K… ý>‘쟄€ÕÁGŽÅ5.‘ñ8Menggunak›ÿ\|an–Õclass“Ja®>v˜a“CGI’%¤w¹14ŽŽ £n ýˆ.\Å5.7.5Ž‘#!\add()ŽŸÜKegunaanŽŽŽ©î‘¹Menamš¸èbahk‘ÿqÐan–U teks“k˜e“item.ŽŸƒÈÅSin®>taksŽŽŽŸ<‰ffÕÁGŸªv‘TÊrÄpublic–¹Nvoid“add“(“char“addition“)Ž¤ Š=¡‘TÊrpublic–¹Nvoid“add“(“String“addition“)Ž¡¡‘TÊrpublic–¹Nvoid“add“(“StringBuffer“addition“)Ž¡žff‰ffÕÁGŸ'=ÅDeskripsiŽŽŽ¦‘¹Menamš¸èbahk‘ÿqÐan–U addition“k˜e“isi“item“teks.ŽŸƒÈÅP®>arameterŽŽŽ¤additionŽŽŽŸî‘/¹T‘ÿ*¸eks–U yš¸èang“ak‘ÿqÐan“ditam˜bahk‘ÿqÐan“k˜e“item“teks.Ž¡ÅLihat‘ÕJugaŽŽŽ¦‘¹addLineBreak(),‘U addP¸èaragraph().ŽŸ U¯Å5.7.6Ž‘#!\addLineBreak()ŽŸÜKegunaanŽŽŽ¦‘¹Memaksa–U pGenggan¸ètian“baris“pada“titik“ini“dalam“teks.Ž¤ƒÈÅSin®>taksŽŽŽŸ<‰ffÕÁGŸªv‘/Äpublic–¹Nvoid“addLineBreak“()ŽŸfF‰ffÕÁGŸ'=ÅDeskripsiŽŽŽ¦‘¹Menam•¸èbahk‘ÿqÐan›U pGenggan“tian˜baris˜k“e˜teks˜di˜lok‘ÿqÐasi˜saat˜ini.Ž¡ÅLihat‘ÕJugaŽŽŽ¦‘¹add(),‘U addP¸èaragraph().ŽŸ U¯Å5.7.7Ž‘#!\addP®>aragraph()ŽŸÜKegunaanŽŽŽ¦‘¹Mem¸èulai–U paragraf“baru.Ž¡ÅSin®>taksŽŽŽŸ<‰ffÕÁGŸªv‘/Äpublic–¹Nvoid“add“()ŽŸfF‰ffÕÁGŸ'=ÅDeskripsiŽŽŽ¦‘¹Mem¸èulai–U paragraf“baru“pada“titik“ini“dalam“aliran“teks.Ž¡ÅLihat‘ÕJugaŽŽŽ¦‘¹add(),‘U addLineBreak().ŽŽŽŒ‹lS ©K… ý>‘쟄€ÕÁGŽÅ6.‘ñ8Rencana-rencana‘ÕMendatang’'q‚¹15ŽŽ £n ýˆ.\¿6Ž‘ÁRencana-rencana‘G\MendatangŽŸtᑸŽŽŽ‘¹Menam•¸èbah›U k“e˜class˜Email˜:ŽŸn²‘ÅEmail(–Õinš®>t“capacit˜y“)ŽŽŽ¤Žc‘/¹Digunak–ÿqÐan›U k¸èetik“a˜kita˜tah¸èu˜b•Gerapa˜b“esar˜ruangan˜y¸èang˜p“erlu˜dialok–ÿqÐasik“an˜un¸ètuk˜pGesan.Ž©n²‘ÅsendT‘ÿ ºo(–ÕString“address“)ŽŽŽ¡‘/¹Menamš¸èbah–U sebuah“daftar“tujuan“utama“k˜e“pGesan“e-mail.Ž¦‘ÅsendCc(–ÕString“address“)ŽŽŽ¡‘/¹Menamš¸èbah–U sebuah“tujuan“CarbGon-Cop˜y“k˜e“pGesan“e-mail.Ž¦‘ÅsendCc(–ÕString“address“)ŽŽŽ¡‘/¹Menamš¸èbah–U sebuah“daftar“tujuan“CarbGon-Cop˜y“k˜e“pGesan“e-mail.Ž¦‘ÅsendBcc(–ÕString“address“)ŽŽŽ¡‘/¹Menamš¸èbah–U sebuah“tujuan“Blind“CarbGon-Cop˜y“k˜e“pGesan“e-mail.Ž¦‘ÅsendBcc(–ÕString“address“)ŽŽŽ¡‘/¹Menamš¸èbah–U sebuah“daftar“tujuan“Blind“CarbGon-Cop˜y“k˜e“pGesan“e-mail.Ž¤n²‘¸ŽŽŽ‘¹Menam•¸èbah›U k“e˜class˜HTML˜:Ž¡‘ÅHTML(–Õinš®>t“capacit˜y“)ŽŽŽ¤Žc‘/¹Digunak–ÿqÐan›U k¸èetik“a˜kita˜tah¸èu˜b•Gerapa˜b“esar˜ruang˜y¸èang˜p“erlu˜dialok–ÿqÐasik“an˜un¸ètuk˜pGesan.Ž¦‘Åpublic–Õv®>oid“unorderedList()ŽŽŽ¡‘/¹Memš¸èulai–U daftar“y˜ang“tidak“terorder.Ž¦‘Åpublic–Õv®>oid“orderedList()ŽŽŽ¡‘/¹Memš¸èulai–U daftar“y˜ang“terorder.Ž¦‘Åpublic–Õv®>oid“directoryList()ŽŽŽ¡‘/¹Mem¸èulai–U daftar“direktori.Ž¦‘Åpublic–Õvš®>oid“men˜uList()ŽŽŽ¡‘/¹Memš¸èulai–U daftar“men˜u.Ž¦‘Åv•®>oid›Õanc“hor(˜String˜anc“horName˜)ŽŽŽ¡‘/¹MenspGesik–ÿqÐasik“an‘U anc¸èhor.Ž¦‘Åv®>oid–Õlink(“String“url,“String“text“)ŽŽŽ¡‘/¹MenspGesik–ÿqÐasik“an‘U link.Ž¦‘Åv®>oid–Õapplet(“String“url,“String“altT‘ÿ ºext“)ŽŽŽ¡‘/¹MenspGesik–ÿqÐasik“an–U link“applet.Ž¤n²‘¸ŽŽŽ‘¹Memš¸èungkink‘ÿqÐan–U daftar“HTML“un˜tuk“dibuat“bGersarang.Ž¡‘¸ŽŽŽ‘¹Menam•¸èbah›Ðhk“oGde˜un“tuk˜pGengecek‘ÿqÐan˜k“esalahan˜un“tuk˜memaksa˜urutan˜y“ang˜bGenar˜bagi˜k“o•Gde˜p“emfor-Ž© ®‘matan–U daftar“HTML.Ž¡‘¸ŽŽŽ‘¹Lok‘ÿqÐasi–U le“data“lingkungan“dapat“dikš¸èongurasi“dari“Mak˜ele.Ž¡‘¸ŽŽŽ‘¹Memš¸èbuang– pasangan“nama/nilai“k˜osong“y˜ang“m˜uncul“dalam“daftar“k˜etik‘ÿqÐa“kita“bGerurusan“denganŽ¦‘metoGde–U GET“un¸ètuk“transfer“data.ŽŽŽŒ‹qž ©K… ý>‘쟄€ÕÁGŽÅ7.‘ñ8P®>erubahan-pQÂerubahan’JT©¹16ŽŽ £n ýˆ.\‘¸ŽŽŽ‘¹MempGertimš¸èbangk‘ÿqÐan–rbila“memiliki“CGI‘ry˜ang“mengimplemen˜tasik‘ÿqÐan“an˜tar“m˜uk‘ÿqÐa“ja˜v‘ÿqÐa.util.En˜umerationŽ© ®‘unš¸ètuk–U secara“suksesif“men˜y˜ediak›ÿqÐan“nama“v˜ariabGel.Ž¤`‘¸ŽŽŽ‘¹Menamš¸èbah–U class“T‘ÿ*¸est,“y˜ang“ak›ÿqÐan“menggunak˜an“setiap“metoGde“dalam“pak¸èet.Ž¡‘¸ŽŽŽ‘¹Mendokumenš¸ètasik‘ÿqÐan–ÔWbagaimana“CGI_T–ÿ*¸est,‘îEmail_T“est–ÔWdan“HTML_T‘ÿ*¸est“mem˜bangun“satu“sama“lainŽ¦‘un•¸ètuk›U mem“bGerik‘ÿqÐan˜uji˜y“ang˜bGerk“elanjutan˜bagi˜proses˜debugging.Ž¡‘¸ŽŽŽ‘¹Mendokumen¸ètasik›ÿqÐan–U bagaimana“T‘ÿ*¸est“menggunak˜an“setiap“k˜arateristik“yš¸èang“tersedia“dalam“pak˜et“ini.ŽŸ(DW¿7Ž‘ÁPcerubahan-ppœerubahanŽŸèÁ7.1Ž‘¾Pš erubahan–¸dari“0.3“k˜e“0.4Ž©’¨‘¸ŽŽŽ‘¹P•¸èenam“bahan–U lebih“detil“class“HTML“unš¸ètuk“mem˜bGerik‘ÿqÐan“k˜egunaan“minimal.Ž¡‘¸ŽŽŽ‘¹Menš¸èulis–U class“HTML_T‘ÿ*¸est“dan“ja˜v‘ÿqÐah˜tmltest.h˜tml-dist.Ž¡‘¸ŽŽŽ‘¹P•¸èenam“bahan›U meto•Gde-meto“de˜HTML˜un¸ètuk˜menangani˜daftar˜denisi.ŽŸ"¡~Á7.2Ž‘¾Pš erubahan-p_úerubahan–¸dari“0.2“k˜e“0.3Ž¦‘¸ŽŽŽ‘¹P•¸èenam“bahan–U class“T‘ÿ*¸ext“dan“Email.‘q€HTML“juga“ditamš¸èbahk‘ÿqÐan,“tetapi“han˜y˜a“sedikit“sa‘Ž0ja.Ž¡‘¸ŽŽŽ‘¹Menaruh–¹QbGerbagai“class“kš¸èe“dalam“pak˜et.‘=‘Class-class“utama“ada“di“dalam“Orbits.net.*,‘Ø{class“pGendukungŽŸ ®‘T›ÿ*¸ext–U ada“di“dalam“Orbits.text.T˜ext.Ž¡‘¸ŽŽŽ‘¹Pš¸èerubahan–U CGItest“k˜e“CGI_T‘ÿ*¸est.Ž¡‘¸ŽŽŽ‘¹P•¸èenam“bahan–U class“Email_T‘ÿ*¸estŽŸ"¡~Á7.3Ž‘¾Pš erubahan–¸dari“0.1“k˜e“0.2Ž¦‘¸ŽŽŽ‘¹V‘ÿ*¸ariab•Gel-v‘ÿqÐariab“el–AËlingkungan“ditaruh“kš¸èe“le“semen˜tara“tidak“dimasukk‘ÿqÐan“k˜e“pGerin˜tah“baris“in˜terpreterŽ© ®‘Jaš¸èv‘ÿqÐa.‘q€Class–U CGI“dan“ja˜v‘ÿqÐa.cgi“pšGerlu“dimo˜dik‘ÿqÐasi.Ž¡‘¸ŽŽŽ‘¹Dokumen›U ja•¸èv‘ÿqÐacgitest.h“tml˜dijadik‘ÿqÐan˜bagian˜distribusi.Ž¡‘¸ŽŽŽ‘¹File-le– æteks“yš¸èang“dimoGdik‘ÿqÐasi“oleh“mak˜e“selama“instalasi“dibGerik‘ÿqÐan“dengan“nama-nama“y˜ang“bGerakhi-Ž¦‘ran–U dengan“-dist.ŽŸ(DW¿8Ž‘ÁP•cen“terjemah‘G\:ŽŸ¿:¹T‘ÿ*¸edi›U Heriy•¸èan“to˜Âte–ÿ}/di.h@a-vip.c“omŽ¤ؼ¹Selesai–U diterjemahk‘ÿqÐan“28“F‘ÿ*¸ebruari“1999.Ž¡Dokumen–U ini“diformat“menggunak‘ÿqÐan“SGML-T‘ÿ*¸oGols“v¸èersion“1.0.7‘ª@¼Ž¡¹V‘ÿ*¸ersi–U terbaru“HOš¸èWTO“ini“(v˜ersi“bahasa“Indonesia)“dapat“Anda“tem˜uk‘ÿqÐan“diŽ¡ÂT‘ÿ;Èe›ÿ}/di–“°Heriyanto's“Homep˜age‘U ¼ŽŽŽŒøzგÀ;è©K…ÕÁGó]fŒ ecbx1000óqLË ectt0900ó½HЃ ecti1000ó¥!¢N ecbx1200ó&Lt$ffffecbx1440óŒ6 ecss1000óqLË ectt1000óþÖëI½q½qecss2074ó 1ê± ecrm1000ó !",š cmsy10ù…Lßßßßßßß