Tutorial de integração Flash com XMLFull description
xmlFull description
haha
haha
ttttFull description
bajaFull description
Full description
1
Descripción: jj
khong coFull description
Full description
Full description
nkkknnnDeskripsi lengkap
TUGAS PEMROGRAMAN WEB ARTIKEL TENTANG XML
Disusun Oleh Heni Desy Purnami
!"#"!!!###"
%$Pria rianu nuar arii A&an &ani'a i'a De( De(i
!"#"! "#"!! !!###"" ##""%%
R)sella
!"#"!!!###"*%
A+h Su Su,arman')
!"#"!!!###-.%
PRODI TEKNIK IN/ORMATIKA /AKULTAS TEKNIK UNI0ERSITAS TRUNO1O2O MADURA
PENGERTIAN XML
Sebelum mulai mempelajari mempelajari teknik membangun membangun web service, ada baiknya kita memahami konsep dasar XML. Pemahaman tentang XML akan membantu kita untuk lebih mudah memahami apa yang terjadi dibalik web service. Bagi pembaca yang telah memahami konsep dasar d asar XML, dapat d apat melewati bahasan pada bab ini. XML
terletak
pada
inti
web
service,
yang
digunakan
untuk
mendeskripsikan mendeskripsikan data. ungsi utama dari XML adalah komunikasi antar aplikasi, integrasi data, dan komunikasi aplikasi eksternal dengan partner luaran. !engan stan standa dari risa sasi si XML, XML, apli aplika kasi si"a "apl plik ikas asii
yang yang berb berbed edaa
dapa dapatt
deng dengan an muda mudah h
berkomunikasi antar satu s atu dengan yang lain. XML adalah adalah singkatan singkatan dari eXtensible Markup Language. Language . Bahasa markup adala adalah h sekum sekumpul pulan an atura aturan"a n"atur turan an yang yang mende mende#in #inis isika ikan n suatu suatu sinta sintaks ks yang yang digunakan untuk menjelaskan, dan mendeskripsikan teks atau data dalam sebuah dokumen dokumen melalui melalui pengguna penggunaan an tag. Bahasa markup lain lain yang populer populer seperti seperti $%ML, menggambarkan kepada browser web tentang bagaimana menampilkan #orma #ormatt teks, teks, data, data, dan gra#i gra#ik k ke layar layar komput komputer er ketik ketikaa sedang sedang mengu mengunju njungi ngi sebuah situs web. XML adalah sebuah bahasa markup yang digunakan untuk mengolah meta data &in#ormasi tentang data' yang menggambarkan struktur dan maks maksud ud(t (tuj ujua uan n data data yang ang terd terdap apat at dala dalam m doku dokume men n XML, XML, namu namun n buka bukan n menggam menggambark barkan an #ormat #ormat tampilan tampilan data
tersebut tersebut.. XML adalah adalah sebuah standar standar
sederhan sederhanaa yang yang digunaka digunakan n untuk untuk medeskr medeskripps ippsikan ikan data teks dengan dengan cara sel#" sel#" describi describing ng &deskrip &deskripsi si diri'. diri'. XML juga dapat dapat digunaka digunakan n untuk untuk mende#i mende#inisi nisikan kan domain tertentu lainnya, seperti musik, matematika, keuangan dan lain"lain yang menggunakan bahasa markup terstruktur. Berikut ini adalah contoh sebuah dokumen XML untuk in#ormasi contact person) *+ml version-/.0 encoding-1S2"3345"/+6*contact6 *contact6
PENGERTIAN XML
Sebelum mulai mempelajari mempelajari teknik membangun membangun web service, ada baiknya kita memahami konsep dasar XML. Pemahaman tentang XML akan membantu kita untuk lebih mudah memahami apa yang terjadi dibalik web service. Bagi pembaca yang telah memahami konsep dasar d asar XML, dapat d apat melewati bahasan pada bab ini. XML
terletak
pada
inti
web
service,
yang
digunakan
untuk
mendeskripsikan mendeskripsikan data. ungsi utama dari XML adalah komunikasi antar aplikasi, integrasi data, dan komunikasi aplikasi eksternal dengan partner luaran. !engan stan standa dari risa sasi si XML, XML, apli aplika kasi si"a "apl plik ikas asii
yang yang berb berbed edaa
dapa dapatt
deng dengan an muda mudah h
berkomunikasi antar satu s atu dengan yang lain. XML adalah adalah singkatan singkatan dari eXtensible Markup Language. Language . Bahasa markup adala adalah h sekum sekumpul pulan an atura aturan"a n"atur turan an yang yang mende mende#in #inis isika ikan n suatu suatu sinta sintaks ks yang yang digunakan untuk menjelaskan, dan mendeskripsikan teks atau data dalam sebuah dokumen dokumen melalui melalui pengguna penggunaan an tag. Bahasa markup lain lain yang populer populer seperti seperti $%ML, menggambarkan kepada browser web tentang bagaimana menampilkan #orma #ormatt teks, teks, data, data, dan gra#i gra#ik k ke layar layar komput komputer er ketik ketikaa sedang sedang mengu mengunju njungi ngi sebuah situs web. XML adalah sebuah bahasa markup yang digunakan untuk mengolah meta data &in#ormasi tentang data' yang menggambarkan struktur dan maks maksud ud(t (tuj ujua uan n data data yang ang terd terdap apat at dala dalam m doku dokume men n XML, XML, namu namun n buka bukan n menggam menggambark barkan an #ormat #ormat tampilan tampilan data
tersebut tersebut.. XML adalah adalah sebuah standar standar
sederhan sederhanaa yang yang digunaka digunakan n untuk untuk medeskr medeskripps ippsikan ikan data teks dengan dengan cara sel#" sel#" describi describing ng &deskrip &deskripsi si diri'. diri'. XML juga dapat dapat digunaka digunakan n untuk untuk mende#i mende#inisi nisikan kan domain tertentu lainnya, seperti musik, matematika, keuangan dan lain"lain yang menggunakan bahasa markup terstruktur. Berikut ini adalah contoh sebuah dokumen XML untuk in#ormasi contact person) *+ml version-/.0 encoding-1S2"3345"/+6*contact6 *contact6
*name67adi *name67adi 8tama*(name6 *company6P%. 9amatechno 1ndonesia*(company6 *address6:l. ;ik !i %iro *(address6 *city67ogyakarta*(city6 *state61ndonesia*(state6 *?ip644@3>*(?ip6 *phone603/=@3>A@>55*(phone6 *email6yadigamatechno.com*(email6 *(contact6 Perhatikan bagaimana mudahnya untuk mengerti tentang makna in#ormasi dan strukturnya pada dokumen XML di atas, sehingga juga akan mudah bagi komputer untuk mengerti dokumen XML ini. Seperti Seperti halnya halnya $%ML, $%ML, XML juga menggun menggunakan akan elem elemen en yang ditandai ditandai deng dengan an tag tag pemb pembuk ukaa &dia &diawa wali li deng dengan an C*D C*D dan dan diak diakhi hiri ri deng dengan an C6D' C6D',, tag tag penutup&diawali dengan C*( Cdiakhiri C6D' dan atribut elemen¶meter yang dinyatakan dalam tag pembuka misal *#orm name-EisidataE6'. $anya bedanya, $%ML $%ML mede# mede#ini inisi sikan kan dari dari aw awal al tag tag dan atri atribut but yang yang dipak dipakai ai didal didalam amny nya, a, sedangkan pada XML kita bisa menggunakan tag dan atribut sesuai kehendak kita. Berikut ini adalah tampilan dokumen XML di atas apabila dijalankan pada sebuah browser)
9ambar) %ampilan %ampilan dokumen do kumen XML pada browser
S'ru3'ur Penulisan D)3umen XML
Berikut ini adalah contoh sebuah struktur dokumen XML) Standard Header
*+ml version-/.0 encoding-1S2"3345"/+6
*email6
Elemen root
*to6Fndi *(to6 *#rom67adi *#rom67adi 8tama*(#rom6
Elemen child
*subject6$allo*(subject6 *message6Selamat PagiG*(message6 *(email6 Baris pertama pada dokumen XML di atas adalah deklarasi standar header yang mende#inisikan versi XML dan karakter encoding yang digunakan dalam doku dokum men XML. XML. !a !ala lam m doku dokume men n ini, ini, XML XML meng mengac acu u pada pada vers versii /.0 /.0 dan dan mengg mengguna unakan kan stand standar ar encodi encoding ng karak karakter ter set set 1S2" 1S2"334 3345" 5"/ / &Lati &Latin"/ n"/(H (Heest Iuropean'. Bari Bariss sela selanj njut utny nyaa mengg enggam amba bark rkan an elem elemen en indu induk k &roo &root' t' doku dokume men n J*email6..*(email6E, sebagaimana kita menyebut bahwa J!okumen ini adalah sebuah ImailE. Kemudian baris ke ="A menggambarkan elemen anak &child' dari elemen induk dokumen. %ag pada dokumen XML bersi#at case sensiti# di mana tag pembuka dan tag penutup harus ekivalen. ekivalen. Seperti contoh tag pembuka J*email6E harus ditutup dengan tag J*(email6E. Berikut ini adalah contoh penulisan dokumen XML yang tidak benar) J*email6G.*(Imail6E J*email6G.*(IMF1L6E J*Imail6G.*(email6E Berikut ini adalah contoh penulisan dokumen XML yang benar) J*email6G.*(email6E
J*IMF1L6G.*(IMF1L6E J*Imail6G.*(Imail6E
A4a yan5 Menari3 Pa,a XML6
Karena XML bersi#at mudah untuk dibaca dan ditulis baik oleh manusia maupun komputer, maka XML merupakan sebuah #ormat yang dapat digunakan untuk pertukaran data &interchange' antar aplikasi dan plat#orm yang berbeda &plat#orm independent'. Metode deskripsi data XML &sel#"describing' membuatnya menjadi pilihan e#ekti# untuk bisnis ke bisnis, solusi antar jaringan, e"business, dan aplikasi terdistribusi. XML juga bersi#at dapat diperluas &etensible', dapat digunakan pada semua bahasa pemrograman, dan datanya dapat ditrans#er dengan mudah melalui protokol standar internet seperti $%%P tanpa dibatasi oleh #irewall. Ba5aimana XML Da4a' Di5una3an6
Pada penjelasan sebelumnya, diberikan contoh sebuah dokumen XML yang berisi data contact person yang terdiri dari elemen JnameE, JcompanyE, JaddressE, JcityE, JstateE, J?ipE, JphoneE, dan JemailE. %idak seperti $%ML, data" data dalam dokumen XML tidak dapat ditampilkan dalam #ormat tampilan tertentu yang kita inginkan dalam browser web. *(address6 *city67ogyakarta*(city6 *state61ndonesia*(state6 *?ip644@3>*(?ip6 *phone603/=@3>A@>55*(phone6 *email6yadigamatechno.com*(email6 *(contact6
*(ml6 !okumen XML ini dapat digabungkan dengan $%ML untuk ditampilkan dalam sebuah browser web dengan membangun sebuah tabel dalam kode $%ML dan mengasosiasikan nilai pada kolom"kolomnyaa dengan data dari elemen" elemen XML tersebut) *html6 *body6
*(body6 *(html6 Ketika ditampilkan melalui browser web, Fnda akan melihat tampilannya sepeti ini)
9ambar !okumen XML yang digabung dalam $%ML %idak hanya itu, jika ada aplikasi 8NL dikembangkan mulai tahun /55A dan mendapatkan pengakuan dari H=; pada bulan ebruari /553. %eknologi yang digunakan pada XML sebenarnya bukan teknologi baru, tapi merupakan turunan dari S9ML yang telah dikembangkan pada awal 30"an dan telah banyak digunakan pada dokumentasi teknis proyek"proyek berskala besar. Ketika $%ML dikembangkan pada tahun /550, para penggagas XML mengadopsi bagian paling penting pada S9ML dan dengan berpedoman pada pengembangan $%ML menghasilkan markup language yang tidak kalah hebatnya dengan S9ML. Seperti halnya $%ML, XML juga menggunakan elemen yang ditandai dengan tag pembuka &diawali dengan C*D dan diakhiri dengan C6D', tag penutup&diawali dengan C*( Cdiakhiri C6D' dan atribut elemen¶meter yang dinyatakan dalam tag pembuka misal *#orm name-EisidataE6'. $anya bedanya, $%ML mede#inisikan dari awal tag dan atribut yang dipakai didalamnya, sedangkan pada XML kita bisa menggunakan tag dan atribut sesuai kehendak kita. 8ntuk lebih jelasnya lihat contah dibawah) *pesan6
*dari6M1S Manager*(dari6 *buat6$N! Manager*(buat6 *buat6Bagian rekrut*(buat6 *buat6;omputer Suport team*(buat6 *subyek6Permohonan %enaga kerja baru*(subyek6 *isi6Mohon diberikan tenaga kerja baru untuk mengisi lowongan di !epartemen M1S*(isi6 *(pesan6 Pada contoh diatas *pesan6, *dari6 *buat6,dan *isi6 bukanlah tag standard yang telah di tetapkan dalam XML. %ag"tag itu kita buat sendiri sesuai keinginan kita. Sampai di sini XML tidak melakukan apapun. 7ang ada hanyalah in#ormasi yang di kemas dengan tag"tag XML. Kita harus membuat so#tware lagi untuk mengirim, menerima atau menampilkan in#ormasi di dalamnya.
9ambar) %ampilan dokumen XML pada browser Kena4a Harus Men55una3an XML6
XML untuk saat ini bukan merupakan pengganti $%ML. Masing"masing dikembangkan untuk tujuan yang berbeda. Kalau $%ML digunakan untuk menampilkan in#ormasi dan ber#okus pada bagaimana in#ormasi terlihat, XML mendeskripsikan susunan in#ormasi dan ber#okus pada in#ormasi itu sendiri. XML terutama dibutuhkan untuk menyusun dan menyajikan in#ormasi dengan #ormat yang tidak mengandung #ormat standard layaknya heading, paragraph, table dan lain sebagainya.
Sama dengan $%ML, ile XML berbentuk teks sehingga bila diperlukan kita bisa membacanya tanpa memerlukan bantuan so#tware khusus. $al ini memudahkan pengembang aplikasi yang menggunakan XML untuk mendebug programnya. XML lebih #leksible dibanding $%ML dalam hal kemampuannya menyimpan in#ormasi dan data. Pada XML kita bisa menyimpan data baik dalam atribut maupun sebagai isi elemen yang diletakkan diantara tag pembuka dan tag penutup. Kelebihan lain yang dimiliki XML adalah bahwa in#ormasi bisa di pertukarkan dari satu system ke system lain yang berbeda plat#orm. Misalnya dari Hindows ke 8ni, atau dari P; ke Machintosh bahkan dari internet ke handphone dengan teknologi HFP. Ba5ian7Ba5ian ,ari D)3umen XML
Sebuah dokumen XML terdiri dari bagian bagian yang disebut dengan node.
R))' n),e yaitu node yang melingkupi keseluruhan dokumen. !alam satu
dokumen XML hanya ada satu root node.
Elemen' n),e yaitu bagian dari dokumen XML yang ditandai dengan tag
pembuka dan tag penutup, atau bisa juga sebuah tag tunggal elemen kosong seperti *anggota nama-EbudiE(6 . Noot node biasa juga disebut root element •
A''ri8u'e n)'e termasuk nama dan nilai atribut ditulis pada tag awal
sebuah elemen atau pada tag tunggal. •
Te9' n),e, adalah tet yang merupakan isi dari sebuah elemen, ditulis
diantara tag pembuka dan tag penutup •
:)mmen' n),e adalah baris yang tidak dieksekusi oleh parser
•
Pr)+essin5 Ins'ru+'i)n n),e , adalah perintah pengolahan dalam dokumen
XML.
NameS4a+e N),e, node ini mewakili deklarasi namespace
Ilemen root dalam contoh adalah *bookstrore6 . Semua elemen *book6 dalam dokumen yang terkandung dalam *bookstore6. Ilemen *book6 memiliki > anak ) *title6, *author6, *year6, *price6.
XML Menye,erhana3an Pen5an53u'an Da'a
Salah satu tantangan yang paling memakan waktu bagi pengembang adalah untuk pertukaran data antara sistem yang tidak kompatibel melalui 1nternet. Bertukar data XML sangat mengurangi kompleksitas, ini karena data dapat dibaca oleh aplikasi yang tidak kompatibel. XML Menye,erhana3an Pla'&)rm Peru8ahan
Meng"upgrade ke sistem baru & hardware atau so#tware ', selalu memakan waktu. Sejumlah besar data harus dikonversi dan data yang tidak cocok sering hilang. !ata XML disimpan dalam #ormat teks. $al ini membuat lebih mudah untuk memperluas atau meng"upgrade ke sistem operasi baru, aplikasi baru, atau browser baru, tanpa kehilangan data.
XML Mem8ua' Da'a An,a Le8ih Terse,ia
Fplikasi yang berbeda dapat mengakses data Fnda, tidak hanya di halaman $%ML, tetapi juga dari sumber data XML. !engan XML, data Fnda dapat tersedia untuk semua jenis reading machines & $andheld computers, voice machines, news #eeds, dll ', dan membuatnya lebih tersedia untuk orang" orang tuna netra, atau orang"orang berkenutuhan khusus lainnya.
In'erne' Lan5ua5e Di'ulis ,alam XML
Beberapa internet language yang ditulis dalam XML. Berikut adalah beberapa contohnya )
•
X$%ML XML Schema
•
S9
•
HS!L
•
NSS
•
Sin'a3 XML
Fturan sintak XML sangat sederhana dan logis. Fturan yang sangat mudah untuk dipelajari, dan mudah untuk digunakan.
Semua Elemen XML Harus Memili3i Ta5 Penu'u4
!alam $%ML, beberapa elemen tidak harus memiliki tag penutup *p6%his is a paragraph. *br6 !alam XML, tidak diperbolehkan menghilangkan tag penutup. Semua elemen harus memiliki tag penutup ) *p6%his is a paragraph.*(p6 *br (6 :a'a'an ) Fnda mungkin telah memperhatikan dari contoh sebelumnya bahwa deklarasi XML tidak memiliki tag penutup. 1ni bukan kesalahan. !eklarasi ini bukan bagian dari dokumen XML itu sendiri, dan tidak memiliki tag penutup.
XML Ta5 a,alah :ase Sensi'i(e
%ag XML bersi#at case sensitive. %ag * Letter 6 berbeda dengan tag * letter 6. Membuka dan menutup tag harus ditulis dengan kasus yang sama ) *Message61ni Salah*(message6 *message61ni Benar*(message6 :a'a'an ) %ag pembuka dan penutup yang sering disebut sebagai %ag awal dan tag akhir . 9unakan apa pun yang Fnda inginkan. Fntara tag awal dan akhir harus persis sama.
Elemen XML Harus Bersaran5 Den5an Benar
!alam $%ML, Fnda mungkin akan melihat elemen yang bersarang tidak benar ) *b6*i6%eks ini bold dan italic*(b6*(i6 !alam XML, semua elemen harus benar bersarang antara satu sama lain ) *b6*i6%eks ini bold dan italic*(i6*(b6
XML D)3umen Harus Memili3i R))' Elemen
!okumen XML harus mengandung salah satu elemen yang merupakan parent dari semua elemen lainnya. Ilemen ini disebut elemen root.
Ilemen XML dapat memiliki nama attribute dan nilai berpasangan seperti di $%ML !alam XML, nilai attribute harus selalu diberi tanda kutip. ;ontoh Salah ) *note date-/@(//(@00O6 *to6%ove*(to6 *#rom6:ani*(#rom6 *(note6 ;ontoh Benar ) *note date-/@(//(@00OU *to6%ove*(to6 *#rom6:ani*(#rom6 *(note6 Kesalahan dalam dokumen pertama adalah attribute date dalam elemen note tidak diberi tanda kutip.
Re&erensi en'i'as
Beberapa karakter memiliki arti khusus dalam XML. :ika Fnda menempatkan karakter seperti * di dalam sebuah elemen XML, maka akan menghasilkan kesalahan karena parser mena#sirkan sebagai awal dari sebuah elemen baru. 1ni akan menghasilkan kesalahan di XML ) *message6i# salary * /000 then*(message6 8ntuk menghindari kesalahan ini, ganti karakter* dengan re#erensi entitas ) *message6i# salary VltU /000 then*(message6 Fda 4 re#erensi entitas yang telah ditetapkan dalam XML ) VltU
*
kurang dari
VgtU
6
lebih besar dari
VampU
V
ampersand
VaposU
apostrophe
VQuotU
tanda kutip
K)men'ar ,alam XML
Sintak untuk menulis komentar di XML mirip dengan $%ML. *T"" 1ni Komentar ""6 Elemen XML
Sebuah dokumen XML mengandung Ilemen XML. A4a I'u Elemen XML 6
Sebuah elemen XML adalah dimulai dari tag awal dan di akhiri dengan tag akhir. Sebuah elemen dapat berisi )
•
Ilemen lain %eks
•
Fttribute
•
*bookstore6 *book category-;$1L!NI<6 *title6$arry Potter*(title6 *author6: K. Nowling*(author6 *year6@004*(year6 *[email protected]*(price6 *(book6 *book category-HIB6 *title6Learning XML*(title6 *author6Irik %. Nay*(author6 *year6@00=*(year6 *price6=5.54*(price6 *(book6 *(bookstore6 Pada contoh di atas, * bookstore 6 dan * book 6 memiliki isi elemen, karena mengandung elemen lain. * book 6 juga memiliki attribute & category -
;$1L!NI< '. * title 6, * author 6, * tahun 6, dan * harga 6 memiliki isi teks karena mengandung teks. Elemen XML 3)s)n5
Sebuah elemen tanpa isi disebut elemen kosong. !alam XML, Fnda dapat membuat elemen kosong seperti ini ) *element6*(element6 Ftau Fnda dapat membuat tag kosong, seperti ini & sintak elemen semacam ini disebut sel# " closing ' *element (6 !ua bentuk di atas menghasilkan hasil yang sama dalam parser XML. ;atatan ) elemen kosong tidak memiliki isi apapun, tetapi mereka dapat memiliki attribute A'uran Penamaan XML
Ilemen XML harus mengikuti aturan"aturan penamaan ) • •
•
•
•
Setiap nama dapat digunakan, & kecuali ml '. Pra3'e3 Penamaan Ter8ai3
Buat nama yang deskripti#, seperti ini ) * person6 , * #irstname 6 , * lastname 6. Buat nama yang singkat dan sederhana, seperti ini ) *bookWtitle6 tidak seperti ini ) *theWtitleWo#WtheWbook6. Menghindari tanda penghubung " . :ika Fnda menulis #irst"name, beberapa perangkat lunak mungkin akan menganggap sebagai pengurangan.
Menghindari tanda . . :ika Fnda menulis #irst.name, beberapa perangkat lunak mungkin akan menganggap bahwa name adalah properti dari objek #irst. Menghindari tanda ) %itik !ua. $uru#
%idak ada style penamaan yang ditetapkan untuk elemen XML. %api di sini ada beberapa yang umum digunakan ) S'yle
:)n')h
Lower case *#irstname6
Ke'eran5an
Semua $uru# Kecil
8pper case *1NS%
9aris Bawah Sebagai Pemisah Kata
Pascal case *irst
$uru# Kapital !isetiap Fwal Kata
;amel case *#irst
$uru# Kapital Setelah Kata Pertama
:ika Fnda memilih style penamaan, sebaiknya menggunakannya dengan konsisten T Elemen XML E9'ensi8le
Ilemen XML dapat diperluas untuk membawa in#ormasi lebih lanjut. Lihatlah contoh XML berikut ) *note6 *to6%ove*(to6 *#rom6:ani*(#rom6 *body6!ont #orget me this weekendT*(body6 *(note6 Mari kita bayangkan bahwa kita menciptakan sebuah aplikasi yang diekstrak * to 6 , * #rom 6 , dan * body 6 elemen dari dokumen XML untuk menghasilkan output ini ) MISSF9I %o) %ove rom) :ani
!ont #orget me this weekendT Bayangkan jika penulis dokumen XML menambahkan beberapa in#ormasi tambahan untuk itu ) *note6 *date6@003"0/"/0*(date6 *to6%ove*(to6 *#rom6:ani*(#rom6 *heading6Neminder*(heading6 *body6!ont #orget me this weekendT*(body6 *(note6 Fda 4 re#erensi entitas yang telah ditetapkan dalam XML ) A''ri8u'e XML
Ilemen XML dapat memiliki attribute, seperti $%ML. Fttribute memberikan in#ormasi tambahan tentang elemen. Nilai A''ri8u'e XML Harus Di8eri Tan,a Ku'i4
Lihat contoh"contoh ini ) *person gender-#emale6 *#irstname6Fnna*(#irstname6
*lastname6Smith*(lastname6 *(person6 *person6 *gender6#emale*(gender6 *#irstname6Fnna*(#irstname6 *lastname6Smith*(lastname6 *(person6 Pada contoh pertama gender adalah attribute dan pada contoh berikutnya, gender adalah elemen. Kedua contoh memberikan in#ormasi yang sama. %idak ada aturan tentang kapan harus menggunakan attribute atau kapan menggunakan elemen. Pilih Ti5a :ara Beri3u' Ini >
%iga dokumen XML berikut ini berisi in#ormasi yang sama persis ) Fttribute date digunakan pada contoh pertama ) *note date-@003"0/"/06 *to6%ove*(to6 *#rom6:ani*(#rom6 *heading6Neminder*(heading6 *body6!ont #orget me this weekendT*(body6 *(note6 Ilemen date digunakan pada contoh kedua ) *note6 *date6@003"0/"/0*(date6 *to6%ove*(to6 *#rom6:ani*(#rom6 *heading6Neminder*(heading6 *body6!ont #orget me this weekendT*(body6 *(note6 Sebuah elemen date diperluas pada contoh ketiga ) *note6 *date6 *year6@003*(year6 *month60/*(month6 *day6/0*(day6
*body6!ont #orget me this weekendT*(body6 *(note6 Hin,ari Men55una3an A''ri8u'e Di XML
Beberapa masalah dengan menggunakan attribute )
•
Fttribute tidak dapat berisi beberapa nilai &elemen bisa' Fttribute tidak dapat berisi struktur pohon &elemen bisa'
•
Fttribute tidak mudah diperluas &untuk perubahan di masa depan'
•
Fttribute sulit untuk dibaca dan dipelihara. 9unakan elemen untuk data. 9unakan attribute untuk in#ormasi yang tidak relevan dengan data. :angan buat seperti ini ) *note day-/0 month-0/ year-@003 to-%ove #rom-:ani heading-Neminder body-!ont #orget me this weekendT6 *(note6 A''ri8u'e XML un'u3 Me'a,a'a
Kadang"kadang re#erensi 1! bisa digunakan untuk elemen. 1! ini dapat digunakan untuk mengidenti#ikasi elemen XML, sama seperti attribute id di $%M. ;ontoh berikut ini menunjukkan hal ini ) *messages6 *note id-40/6 *to6%ove*(to6 *#rom6:ani*(#rom6 *heading6Neminder*(heading6 *body6!ont #orget me this weekendT*(body6 *(note6 *note id-40@6 *to6:ani*(to6 *#rom6%ove*(#rom6 *heading6Ne) Neminder*(heading6 *body61 will not*(body6 *(note6 *(messages6 attribute id di atas adalah untuk mengidenti#ikasi note yang berbeda. 1ni bukan bagian dari note itu sendiri.
Fpa yang Saya maksudkan di sini adalah bahwa metadata & data tentang data' harus disimpan sebagai attribute, dan data itu sendiri harus disimpan sebagai elemen. Names4a+e XML
!alam XML, nama elemen dide#inisikan oleh masing"masing pengembang. $al ini sering menyebabkan kon#lik ketika mencoba untuk mencampur dokumen XML dari aplikasi XML yang berbeda. XML ini membawa in#ormasi tabel $%ML ) *table6 *tr6 *td6Fpples*(td6 *td6Bananas*(td6 *(tr6 *(table6 XML ini membawa in#ormasi tentang tabel & perabot ' ) *table6 *name6F#rican ;o##ee %able*(name6 *width630*(width6 *length6/@0*(length6 *(table6 :ika XML ini ditambahkan bersama"sama, akan ada kon#lik nama. Keduanya mengandung elemen *table6, namun elemen memiliki makna dan konten yang berbeda. Seorang pengguna atau aplikasi XML tidak akan tahu bagaimana menangani perbedaan"perbedaan ini. Meme+ah3an K)n&li3 Nama Men55una3an A=alan
Kon#lik nama dalam XML dapat dengan mudah dihindari dengan menggunakan nama awalan. XML ini membawa in#ormasi tentang tabel $%ML, dan perabot ) *h)table6 *h)tr6 *h)td6Fpples*(h)td6
*h)td6Bananas*(h)td6 *(h)tr6 *(h)table6 *#)table6 *#)name6F#rican ;o##ee %able*(#)name6 *#)width630*(#)width6 *#)length6/@0*(#)length6 *(#)table6 Pada contoh di atas, tidak akan ada kon#lik karena kedua elemen *table6 memiliki nama yang berbeda. XML Names4a+e 7 A''ri8u'e 9mlns
Bila menggunakan awalan di XML, maka namespace untuk awalan harus dide#inisikan. (6 *h)tr6 *h)td6Fpples*(h)td6 *h)td6Bananas*(h)td6 *(h)tr6 *(h)table6 *#)table mlns)#-http)((www.kursus"membuat"web.com(#urniture6 *#)name6F#rican ;o##ee %able*(#)name6 *#)width630*(#)width6 *#)length6/@0*(#)length6 *(#)table6 *(root6 Pada contoh di atas, attribute mlns dalam tag *table6 memberikan awalan h ) dan # ) namespace yang berkualitas. Ketika namespace dide#inisikan untuk elemen , semua elemen anak dengan awalan yang sama terkait dengan namespace yang sama. ( mlns)#-http)((www.kursus"membuat"web.com(#urniture6
*h)table6 *h)tr6 *h)td6Fpples*(h)td6 *h)td6Bananas*(h)td6 *(h)tr6 *(h)table6 *#)table6 *#)name6F#rican ;o##ee %able*(#)name6 *#)width630*(#)width6 *#)length6/@0*(#)length6 *(#)table6 *(root6 :a'a'an ) namespace 8N1 tidak digunakan oleh parser untuk mencari in#ormasi.
%ujuannya adalah untuk memberikan namespace nama yang unik .
Sebuah 8ni#orm Nesource 1denti#ier & 8N1 ' adalah string karakter yang mengidenti#ikasi sebuah Sumber !aya 1nternet. 8N1 yang paling umum adalah 8ni#orm Nesource Locator & 8NL ' yang mengidenti#ikasi alamat domain 1nternet. yang lain tidak begitu umum dari 8N1 adalah
Mende#inisikan namespace de#ault untuk elemen memudahkan kita dari menggunakan awalan di semua elemen anak. ;ontoh sintaknya sebagai berikut ) mlns-namespace8N1 XML ini membawa in#ormasi tabel $%ML ) *table mlns-http)((www.w=.org(%N(html>(6 *tr6 *td6Fpples*(td6 *td6Bananas*(td6 *(tr6 *(table6 XML ini membawa in#ormasi tentang perabot ) *table mlns-http)((www.kursus"membuat"web.com(#urniture6 *name6F#rican ;o##ee %able*(name6
*width630*(width6 *length6/@0*(length6 *(table6 Names4a+es Dalam Pen55unaan Nya'a
XSL% adalah bahasa XML yang dapat digunakan untuk mengubah dokumen XML menjadi #ormat lain, seperti $%ML. !alam dokumen XSL% dibawah ini, Fnda dapat melihat bahwa sebagian besar tag adalah tag $%ML. %ag yang tidak tag $%ML memiliki awalan sl, yang diidenti#ikasi oleh mlns namespace ) sl - http)((www.w=.org(/555(XSL(%rans#orm ) *+ml version-/.0 encoding-8%"3+6 *sl)stylesheet version-/.0 mlns)sl-http)((www.w=.org(/555(XSL(%rans#orm6 *sl)template match-(6 *html6 *body6 *h@6My ;! ;ollection*(h@6 *table border-/6 *tr6 *th style-tet"align)le#t6%itle*(th6 *th style-tet"align)le#t6Frtist*(th6 *(tr6 *sl)#or"each select-catalog(cd6 *tr6 *td6*sl)value"o# select-title(6*(td6 *td6*sl)value"o# select-artist(6*(td6 *(tr6 *(sl)#or"each6 *(table6 *(body6 *(html6 *(sl)template6 *(sl)stylesheet6
En+),in5 XML
!okumen XML dapat berisi karakter internasional, seperti
Kara3'er En+),in5
Karakter Incoding mende#inisikan kode biner yang unik untuk setiap karakter yang berbeda yang digunakan dalam dokumen. !alam istilah komputer, karakter encoding juga sering disebut character set, character map, code set, dan code page.
Uni+),e K)ns)rsium
8nicode Konsorsium mengembangkan Standar 8nicode. %ujuannya untuk mengganti character sets yang ada dengan standar 8nicode %rans#ormation ormat &8%'. Standar 8nicode telah sukses dan diimplementasikan pada $%ML, XML, :ava, :avaScript, I "mail, FSP, P$P, dll standar 8nicode juga didukung oleh banyak sistem operasi dan semua browser modern. 8nicode Konsorsium bekerja sama dengan organisasi"organisasi pengembangan standar terkemuka, seperti 1S2, H=;, dan I;MF.
Pen5a'uran Kara3'er Uni+),e
Pengaturan Karakter 8nicode dapat diterapkan secara berbeda. Pengkodean yang paling umum digunakan adalah 8% " 3 dan 8% " /A. 8% " 3 menggunakan / byte & 3 " bit ' untuk mewakili karakter Latin dasar, dan dua, tiga, atau empat byte untuk sisanya. 8% " /A menggunakan @ byte & /A bit ' untuk sebagian besar karakter , dan empat byte untuk sisanya.
UT/7 a,alah S'an,ar Un'u3 We8
8% " 3 adalah pengkodean karakter standar di web. 8% " 3 adalah pengkodean karakter de#ault untuk $%ML4, ;SS, :avaScript, P$P, SRL, dan XML
XML En+),in5
Baris pertama di dokumen XML disebut prolog) *+ml version-/.0+6 Prolog adalah opsional. Biasanya mengandung versi XML.
$al ini juga dapat berisi in#ormasi tentang encoding yang digunakan dalam dokumen. Prolog ini menentukan 8% " 3 encoding ) *+ml version-/.0 encoding-8%"3+6 8% " 3 adalah de#ault untuk dokumen tanpa in#ormasi encoding. Selain itu, sebagian besar sistem memahami pengkodean seperti 1S2 " 3345"/, Hindows " /@4@, dan FS;11.
Kesalahan XML
Secara umum, dokumen XML yang dibuat pada satu komputer di upload ke server pada komputer kedua, dan ditampilkan oleh browser pada komputer ketiga. :ika encoding tidak benar dita#sirkan oleh ketiga komputer, maka browser akan menampilkan teks yang tidak jelas, atau Fnda mungkin mendapatkan pesan kesalahan. 8ntuk dokumen XML yang berkualitas tinggi, 8% " 3 encoding adalah yang terbaik untuk digunakan. 8% " 3 mencakup karakter internasional, dan juga de#ault, jika tidak ada encoding yang dideklarasikan. Kesim4ulan
Ketika Fnda menulis dokumen XML )
•
Menggunakan editor XML yang mendukung encoding Pastikan Fnda tahu encoding apa yang digunakan Iditor yang Fnda gunakan
•
:elaskan encoding dalam pada attribute encoding
•
8% " 3 adalah encoding yang paling aman untuk digunakan
•
8% " 3 adalah standar web.
•
IMPLEMENTASI XML IMPLEMENTASI EXTENSIBLE MARKUP LANGUAGE WEB SERVICE PADA SECURE REMOTE FORM FIELD FILLIN DALAM DOKUMEN MICROSOFT WORD Aplikasi yang akan dibuat menggunakan masukan tunggal yang berupa dokumen atau berkas ofce yang akan dimodikasi di dalamnya serta dilakukan in!eksi VBA dengan meman"aatkan XML Web Service di dalamnya# Di dalam penelitian situs yang sesunggu$nya dianggap sebagai sebua$ situs d!!" untuk u!i %oba $asil masukan dari dokumen Micro#o$% Word& Alur arsitektur sistem dia&ali dari pi$ak 'eb!(#%er atau (d!i)i#%r(%or yang menentukan beberapa *e+d apa sa!a yang akan dilibatkan di dalam pengisian "ormulir# Setela$ analisa tersebut selesai dilakukan' maka (d!i)i#%r(%or akan menerbitkan dokumen
Dokumen Micro#o$% Word tersebut' kemudian men!adi %e!,+(%e bagi pengguna untuk kemudian diisi dengan data yang dibutu$kan# Pengguna diasumsikan tela$ memiliki #er id dan ,(##'ord sebelumnya tanpa $arus melakukan registrasi terle(bi$ da$ulu di dalam situs registrasi# U#er id dan ,(##'ord tersebut' akan men!adi kun%i keamanan dalam dokumen Micro#o$% Word)yang tela$ terin!eksi ole$ VBA* saat akan melakukan proses #b!i% data ke basis data yang berada di dalam 'eb #erver #
XML Web Service yang dibuat' terdiri dari dua bagian utama yaitu bagian otorisasi dan bagian penyimpanan data ke dalam basis data# Kedua bagian tersebut' akan mengembalikan nilai yang berbeda' sebagai umpan balik ter$adap pengguna pada saat proses koneksi pertama kali dilakukan dan pada saat proses penyimpanan data ber$asil di!alankan# +agian yang pertama yaitu bagian otorisasi' akan menggunakan tabel yang berisi #er id dan ,(##'ord untuk otorisasi# Selan!utnya' dari "ungsi tersebut dilakukan -er" dengan menggunakan d(%( re(der untuk kemudian engembalikan nilai balik bertipe boo+e() yang menyatakan keber$asilan proses otorisasi dalam dokumen Micro#o$% Word& Dari $asil keber$asilan proses otorisasi tersebut' lalu disimpan ulang ke dalam tabel yang berisi #er id dan ,(##'ord mengenai keberadaan #er tersebut )sedang dalam status pengisian data*' se$ingga nantinya pada saat proses penyimpanan data tidak akan ter!adi kesala$an co)cre)c" data# Sedangkan' bagian yang kedua yaitu bagian penyimpanan data' pada saat a&al akan memba%a $asil dari bagian yang pertama# Apabila pada bagian pertama tela$ meng$asilkan nilai balik %re' maka proses akan dilan!utkan# Sedangkan !ika nilai balik yang di$asilkan adala$ $(+#e' maka proses akan di$entikan dan akan dilemparkan pesan kesala$an kepada pengguna# Pada saat proses di$entikan' maka alur program akan dikembalikan ke proses otorisasi# ,ika proses otorisasi ber$asil dilalui' maka langka$ berikutnya adala$ melakukan pengambilan parameter dari dokumen Micro#o$% Word yang dilakukan dengan menggunakan bantuan VBA# Dari $asil pengambilan parameter itu' maka "ungsi di bagian kedua XML Web Service akan mengambil ali$ tugas selan!utnya' yaitu menyimpan parameter yang ber$asil diambil ke dalam basis data yang berada di 'eb #erver # Pada saat proses penyimpanan data di 'eb #erver selesai dilakukan' maka pengguna akan diberikan nilai balik ulang dari 'eb #erver mengenai keber$asilan proses# Dan pada titik ini' proses yang ada dianggap selesai dilakukan# Untuk lebi$ !elasmema$ami mengenai proses yang ter!adi di dalam XML Web Service' dapat dili$at pada diagram alir -ambar .
In!eksi VBA ke dalam dokumen Micro#o$% Word pada penelitian ini' membutu$kan dua syarat penting yaitu #e%%i). sekuritas Micro#o$% Word yang diset men!adi e)(b+e agar "ungsi yang ada dalam VBA dapat dieksekusi' serta kapabilitas koneksi ter$adap XML Web Service yang berarti kemampuan untuk melakukan koneksi ke 'eb #erver yang di dalamnya tela$ terdapat "ungsi XML Web Service yang siap untuk digunakan# /itur utama dari XML Web Service yang dikembangkan ole$ Micro#o$% ' k$ususnya dalam lingkup #NET Fr(!e'or/ adala$ kemampuan untuk membuat ,ro0" c+(## atau "ungsi temporer yang mampu meng$asilkan implementasi konsep di#co))ec%ed di dalamnya# Pembuatan ,ro0" c+(## sendiri membutu$kan langka$ a&al yang dinamakan di#cover" yang berarti pen%arian alamat XML Web Service yang 0alid# ,ika proses pen%arian tela$ ber$asil dilakukan' "ungsi yang ada di dalam XML Web Service bisa dieksekusi melalui obyek baru yang dideklarasikan di dalam "ungsi VBA# Dalam penelitian ini' VBA dibagi men!adi dua bagian utama yang mirip dengan bagian yang terdapat dalam XML Web Service yaitu bagian otorisasi dan bagian penyimpanan data# Pada saat a&al bagian otorisasi' "ungsi dalam VBA mengeksekusi "ungsi XML Web Service melalui deklarasi obyek baru# Pendeklarasian tersebut' sekaligus melakukan dua $al penting yaitu proses di#cover" XML Web Service dan pembentukan ,ro0" c+(## untuk
pemanggilan "ungsi XML Web Service yang lain# Apabila ,ro0" c+(## ber$asil dibentuk' parameter otorisasi akan dilempar melalui "ungsi XML Web Service untuk dieksekusi di 'eb #erver # Lalu' "ungsi di VBA mengambil nilai balik dari "ungsi otorisasi yang berupa nilai balik bertipe boo+e()# Dari $asil ini akan men!adi dasar utama bagi pemanggilan "ungsi XML Web Service selan!utnya# Saat nilai balik bernilai %re' maka bagian kedua dari "ungsi VBA mulai di!alankan# +agian kedua yang ber"ungsi untuk melakukan proses #b!i% data ke 'eb #erver ' pada dasarnya merupakan "ungsi yang mengambil parameter berasal dari kumpulan *e+d yang sebelumnya tela$ terdenisi di dalam dokumen Micro#o$% Word& Kumpulan *e+d yang nilainya diambil men!adi kumpulan parameter akan dilempar ulang dari "ungsi VBA ke dalam XML Web Service' dan tugas penyimpanan selan!utnya ter!adi di dalam 'eb #erver # Pada saat proses penyimpanan sukses dilalui' maka XML Web Service akan berusa$a mengirimkan nilai balik berupa pesan sukses ke VBA# Pada titik ini' proses di VBA dianggap tela$ selesai dan se%ara keseluru$an proses #ecre re!o%e $or! *e+d *++i). diasumsikan tela$ sukses# Untuk lebi$ !elas mema$ami proses di dalam VBA' dapat dili$at pada diagram alir -ambar 1#
HASIL DAN PEMBAHASAN Dari peran%angan yang tela$ dilakukan' maka dilakukan implementasi' dengan menggunakan sebua$ situs d!!" sebagai tempat penampungan sementara sekaligus bertindak sebagai 'eb #erver # Selain sebagai 'eb #erver ' di dalamnya !uga diasumsikan terdapat #erver basis data yang nantinya sebagai penampung data $asil isian "ormulir# /ormulir yang asli di dalam situs' tidak ditampilkan' mengingat implementasi dapat dilakukan di dalam situs !enis apapun yang mengandung pengisian "ormulir# Di dalam 'eb #erver tersebut' terdapat XML Web Service yang bertindak sebagai !embatan peng$ubung dalam proses pengisian "ormulir# Di#cover" XML Web Service diasumsikan sama dengan alamat situs d!!" yang diimplementasikan# Sedangkan' sekuritas XML Web Service dalam kasus ini dianggap menggunakan #e%%i). de$(+% atau diabaikan# Sedangkan' dokumen Micro#o$% Word yang di!adikan sebagai ba$an u!i %oba $anya terdiri dari tiga *e+d untuk kepentingan ke%epatan proses pada saat e0aluasi dilakukan# Di dalam dokumen inila$ ter!adi !uga implementasi konsep di#co))ec%ed# Dokumen yang di dalamnya tela$ diin!eksi dengan XML Web Service di dalam VBA' $anya akan dieksekusi pada saat tombol Sb!i% D(%( dilakukan# Apabila dokumen tersebut disimpan dengan menggunakan "asilitas yang ada di dalam Micro#o$% Word )baik penggunaan tur S(ve ataupun S(ve A#*' tidak akan ter!adi koneksi apapun ke situs yang ditu!u# +entuk dokumen yang di dalamnya tela$ diin!eksi merupakan bentuk dokumen isian dengan menggunakan "asilitas *e+d yang terdapat dalam VBA' se$ingga pengguna tidak lagi bisa melakukan edi% ter$adap dokumen' selain isian yang ada dalam *e+d# Sedangkan' untuk pengisian #er id dan ,(##'ord yang tersedia )sebagai bentuk pengamanan dalam penelitian ini*' menggunakan "asilitas $or! co)%ro+ dalam VBA berupa %e0%bo0 ' dan !uga bantuan $or! co)%ro+ berupa b%%o) untuk tombol proses #b!i% data# Pada saat proses pengisian dilakukan )!ika memang bermaksud untuk melakukan #b!i% data' dan proses pengisian tela$ dianggap selesai*' tombol #b!i% data akan langsung melakukan eksekusi VBA dengan in!eksi XML Web Service untuk melakukan koneksi ke &eb #erver # ,ika asumsi #er id dan ,(##'ord tela$ benar dan sesuai dengan data di dalam &eb #erver ' seluru$ *e+d yang ada akan diek(sekusi untuk proses penyimpanan selan!utnya# Di dalam proses tersebut' pengguna tidak akan perna$ mengeta$ui proses yang ter!adi' berkat adanya si"at enkapsulasi di dalam VBA saat
melakukan eksekusi XML Web Service# Selain itu' pengguna $anya perlu melakukan koneksi ke &eb #erver $anya pada saat tombol submit dieksekusi# Se$ingga' proses yang dilakukan dapat meng$emat penggunaan b()d'id%1 dari pengguna# Scree)#1o% dokumen sebelum pengisian dapat dili$at pada -ambar 2'
sedangkan untuk #cree)#1o% dokumen setela$ pengisian ditampilkan pada -ambar 3#
KESIMPULAN
Dalam penelitian ini' implementasi #ecre re!o%e $or! *e+d *++i) di$arapkan dapat memberikan solusi bagi 'eb!(#%er yang memiliki "ormulir isian dengan !umla$ yang banyak atau "ormulir isian yang membutu$kan &aktu lama dalam proses pengisi(annya# Dari sisi keilmuan' dengan penerapan #ecre re!o%e $or! *e+d *++i) akan men!adi sebua$ solusi baru dalam mengintegrasikan aplikasi de#/%o, dan &eb melalui XML Web Service# ,ika pada umumnya solusi yang diterapkan menggunakan aplikasi
de#/%o, normal )dengan pembuatan e0ec%(b+e ,ro.r(!*' maka dalam penelitian diberikan solusi baru dengan menggunakan bantuan dokumen Micro#o$% Word yang diasumsikan tela$ !amak dimiliki ole$ para pengguna )k$ususnya di Indonesia ). Di sisi lain' $asil dari penelitian ini masi$ memiliki beberapa kelema$an yang $arus diperbaiki di penelitian lan!utan' yaitu sekuritas dari dokumen Micro#o$% Word yang memerlukan pengakti"an# "asilitas VBA pada saat #e%%i). a&al# Selain itu' sekuritas pengiriman data perlu diberikan metode enkripsi di dalamnya agar pada saat ter!adi proses submit' data tidak bisa di(#)if). ole$ pi$ak ketiga' mengingat si"at XML yang diumpanbalikkan merupakan ,+(i) %e0% # Dalam pengembangannya' penelitian ini di$arapkan bisa berlan!ut men!adi sebua$ dokumen #%()d(rd berbentuk %e!,+(%e yang dapat melakukan proses pembangkitan "ormulir isian dari sebua$ aplikasi &eb yang membutu$kan solusi #ecre re!o%e $or! *e+d