.:: cukup satu kata

tersenyumlah kawan

SPREAD SPECTRUM

I. PENDAHULUAN

Spread spectrum adalah sebuah metode komunikasi dimana semua sinyal komunikasi disebar di seluruh spektrum frekuensi yang tersedia. Pada awalnya dikembangkan untuk kepentingan militer dan intelejen. Ide dasarnya adalah untuk menyebarkan sinyal informasi melalui bandwidth yang lebih luas untuk mencegah dilakukannya pencegatan informasi dan gangguan-gangguan lainnya. Istilah spread spectrum digunakan karena pada sistem ini sinyal yang ditransmisikan memiliki bandwidth yang jauh lebih lebar dari bandwidth sinyal informasi (mencapai ribuan kali). Proses penebaran bandwidth sinyal informasi ini disebut spreading. Spread spectrum jenis pertama yang dikembangkan dikenal dengan nama frequency hopping atau lompatan frekuensi. Versi yang terbaru adalah direct squence spread spectrum. Kedua teknik ini dipergunakan dalam berbagai produk jaringan nirkabel. Selain itu juga untuk berbagai aplikasi lainnya, seperti telepon nirkabelt (cordless telephone). Sebuah sistem spread-spectrum harus memenuhi kriteria sebagai berikut :

  1. Sinyal yang dikirimkan menduduki bandwidth yang jauh lebih lebar daripada bandwidth minimum yang diperlukan untuk mengirimkan sinyal informasi
  2. Pada pengirim terjadi proses spreading yang menebarkan sinyal informasi dengan bantuan sinyal kode yang bersifat independen terhadap informasi
  3. Pada penerima terjadi proses despreading yang melibatkan korelasi antara sinyal yang diterima dan replika sinyal kode yang dibangkitkan sendiri oleh suatu generator lokal.

Dalam komunikasi spread spectrum semakin lebar bandwidth akan semakin tahan terhadap jamming dan akan semakin terjamin tingkat kerahasiaannya. Disamping itu akan semakin banyak kanal yang bisa dipakai. Seperti yang di terangkan oleh Shanon , salah seorang ahli statistik telekomunikasi, dalam ilmu komunikasi dinyatakan bahwa kapasitas kanal akan sebanding dengan bandwidth transmisi dan logaritmik dari S/N-nya. Jadi agar sistem komunikasi dapat bekerja dengan kapasitas kanal yang tetap pada level daya noise yang tinggi (S/N yang rendah), dapat dilakukan dengan jalan memperbesar bandwidth transmisi W. Disamping itu Shannon juga mengemukakan bahwa sebuah kanal dapat mentransmisikan informasi dengan probabilitas salah yang kecil apabila terhadap infromasi tersebut dilakukan pengkodean yang tepat dan rate infromasi yang tidak melebihi kapasitas kanal meskipun kanal tersebut memuat interferensi acak.

II. Konsep dari Sistem Spread Spectrum

diagram

Gambar 1, Diagram Sistem Spread Spectrum

Gambar diatas menyajikan gambaran tentang karakteristik kunci beberapa sistem spektum penyebaran. Input dimasukkan ke dalam suatau channel enkoder yang menghasilkan sebuah sinyal analog dengan bandwidth sempit relatif di seputar beberapa frekuensi pusat. Sinyal ini kemudian dimodulasikan menggunakan deretan digit-digit tidak beraturan yang disebut pseudorandom sequence. Efek dari modulasi ini adalah untuk meningkatkan secara signifikan bandwith (yang menyebarkan spektrum) sinyal yang ditransmisikan. Pada ujung penerima, deretan digit yang sama di gunakan untuk mendemodulasikan sinyal spektrum penyebaran. Terakhir sinyal dimasukkan ke dalam sebuah channel dekoder untuk melindungi data.

III Keuntungan

  • Imunitas dari berbagai noise dan multipath distortion
    • Termasuk gangguan (Jamming)
  • Dapat mengacak sinyal
    • Hanya receiver yang mengetahui pengacakan kode dapat mendapat kembali sinyal
  • Beberapa user dapat mengunakan bandwidth yang lebih besar dengan sedikit interferency
    • Telepon seluler
    • Code division multiplexing (CDM)
    • Code division multiple access (CDMA)

IV. Jumlah Pseudorandom

Komentar mengenai jumlah pseudorandom adalah ordenya. Jumlah ini didapat melalui suatu algoritma menggunakan beberapa nilai awal yang disebut seed. Algoritma tersebut dapat ditentukan dan karenanya menghasilkan deretan bilangan yang tidak acak secara statistik. Bagaimanapun juga, bila algoritmanya baik, deretan yang dihasilkan akan melalui beberapa ujian yang memeriksa kecakapannya. Jumlah – jumlah semacam itu ditunjukkan sebagai pseudorandom number. Poin terpenting dari hal ini adalah walaupun mengetahui tentang algoritma dan seed, sangatlah sulit untuk memprediksikan deretan tersebut. Oleh sebab itu, hanya receiver, yang membagi informasi ini dengan sebuah transmitterlah yang mampu mengkodekan sinyal dengan sukses.

V. Sifat – Sifat Random

Apakah sifat sinyal pseudo random akan mampu mewakili suatu sinyal yang benar – benar random? Ada 3 sifat dasar untuk mengetahui apakah sekuen biner dapat memenuhi kriteria random.

  • Balanced property
    • Kondisi balance (seimbang) untuk sekuen biner yang bagus mensyaratkan jumlah bit 1 dan jumlah bit 0 yang muncul sama. Beda yang diijinkan maksimum adalah 1 digit.
  • Run Property
    • Suatu run didefinasikan sebagai suatu sekuen tipe single pada bit – bit (binary digit). Kemunculan digit yang berlawanan dalam suatu sekuen akan memenuhi run yang baru. Panjang run adalah jumlah digit – digit didalam run. Pada suatu periode yang tersusun dari 1 dan 0, diketahui bahwa 0.5 run masing – masing tipe 1, sepanjang sekitar 1/4 panjang 2, dan 1/8 pada panjang 3,dst.
  • Correlation Property
    • Jika suatu periode pada sekuen dibandingkan secara term by term dengan suatu siklus yang digeser terhadap dirinya sendiri, akan didapat periode dimana sinyal itu akan memiliki perulangan. Pada dua sinyal dengan periode yang sama, to s/d tn, maka keduanya benar-benar mirip. Kondisi ini dalam bentuk ternormalisasi memiliki nilai korelasi 1. Untuk suatu kondisi dimana bentuk sinyal pertama bertolak belakang dengan sinyal kedua, maka dinyatakan memiliki korelasi –1. Gambaran korelasi dua sinyal secara sederhana seperti Gambar berikut ini. Gambar a dan b memiliki korelasi 1, sedangkan gambar a dengan c memiliki korelasi –1.

Sifat sinyal random

Gambar 2, Sifat-sifat sinyal random

VI. Jenis Spread Spectrum

A. Frequency Hopping Spread Spectrum (FHSS)

Penggunaan channel

Gambar 3, Penggunaan channel pada FHSS

Dalam skema Frequency Hopping Spread Spectrum, sinyal disiarkan sepanjang rangkaian frekuensi radio yang kelihatannya acak, melompat dari frekuensi ke frekuensi pada titik pisah (split-socond intervals). Sebuah receiver, melompat di antara frekuensi secara sinkron dengan transmitter, lalu menangkap pesan. Sehingga orang-orang yang berusaha mendengarkan secara diam diam hanya akana mendengar bunyi titik titik yang tidak jelas. Upaya untuk mengganggu sinyal hanya akan berhasil dengan cara menghantam sedikit bit-nya.

Sistem FHSS

Gambar 4, Sistem Frequency Hopping Spread Spectrum pada Transmitter

Untuk transmisi data biner dimasukkan ke dalam sebuah modulator dengan menggunakan beberapa skema pengkodean digital-ke-analog, semacam Frequency-shift keying(FSK) atau Binary Phase-Shift Keying(BPSK). Sinyal yang dihasilkan dipusatkan disekitar beberapa frekuensi dasar. Sumber jumlah pseudorandom menyajikan apa yang dilampirkan dalam indeks didalam tabel frekuensi. Pada masing masing interval yang berurutan, dipilih sebuah frekuensi baru dari tabel. Frekuensi ini kemudian dimodulasikan melalui sinyal yang dihasilkan dari modulator awal agar menghasilkan sinyal yang baru dengan bentuk yang sama namun sekarang dipusatkan di tengah tengah frekuensi yang dipilih dari tabel.

System FHSSGambar 5, Sistem Frequency Hopping Spread Spectrum pada Receiver

Sedangkan pada penerima, sinyal spektrum penyebaran didemodulasikan menggunakan sejumlah frekuensi yang sama yang didapatkan dari tabel kemudian didemoduasikan agar menghasilkan data output. Sebagai contoh, bila FSK digunakan, modulator memilih salah satu dari dua frekuensi, katakanlah f0 atau f1, berkaitan dengan transmisi biner 1 atau biner 0.Sinyal FSK biner yang dihasilkan diartikan ke dalam frekuensi melalui suatu jumlah yang ditentukan melalui urutan output dari generator sumber pseudorandom. Sehingga, bila frekuensi yang dipilih pada waktu I adalah f1 maka sinyal pada waktu I adalah baik fi + fo maupun fi + f1.

Sinyal ditransfer secara bergantian dengan menggunakan 1MHz atau lebih dalam rentang sebuah pita frekuensi tertentu yang tetap. Prinsip dari metoda frequency hopping adalah menggunakan pita yang sempit yang bergantian dalam memancarkan sinyal radio. Secara periodik antara 20 sampai dengan 400ms (milidetik) sinyal berpindah dari channel frekuensi satu ke channel frekuensi lainnya. Pita 2.4GHz dibagi-bagi ke dalam beberapa sub bagian yang disebut channel/kanal. Salah satu standar pembagian channel ini adalah sistem ETSI (European Telecommunication Standard Institute) dengan membagi channel, dimulai dengan channel 1 pada frekuensi 2.412MHz, channel 2 pada frekuensi 2.417MHz, channel 3 pada frekuensi 2.422MHz dan seterusnya setiap 5MHz bertambah sampai channel 13.

Dengan teknologi DSSS maka untuk satu perangkat akan bekerja menggunakan 4 channel (menghabiskan 20MHz, tepatnya 17MHz). Dalam implementasinya secara normal pada lokasi dan arah yang sama hanya 3 dari 13 kanal DSSS yang bisa dipakai. Parameter lain yang memungkinkan penggunaan lebih dari 3 channel ini adalah penggunaan antena (directional antenna) dan polarisasi antena itu sendiri (horisontal/vertikal).

Slow and Fast FHSS

  • Frekwensi bergeser tiap-tiap Tc Detik
  • Durasi dari signal element adalah Ts detik
  • Ts³Slow FHSS memiliki Tc
  • Fast FHSS memiliki Tc < Ts
  • Biasanya fast FHSS memberikan improved performance dalam noise (or jamming)

Slow Frequency Hop Spread Spectrum menggunakan MFSK (M=4, k=2)

Slow FHSS

Fast Frequency Hop Spread Spectrum menggunakan MFSK (M=4, k=2)

Fast FHSS

B. Direct Sequence Spread Spectrum (DSSS)

Direct Sequence Spread Spectrum dipilih karena adanya kemudahan dalam mengacak data yang akan dispreading. Dalam DSSS spreading hanya menggunakan sebuah generator noise yang periodik yang di sebut Pseudo Noise Generator. Kode yang digunakan pada sistem spread spectrum memiliki sifat acak tetapi periodik sehingga disebut sinyal acak semu (pseudo random). Kode tersebut bersifat sebagai noise tapi deterministik sehingga disebut juga noise semu (pseudo noise). Pembangkit sinyal kode ini disebut Pseudo Random Generator (PRG) atau pseudo noise generator (PNG). PRG inilah yang akan melebarkan dan sekaligus mengacak sinyal data yang akan dikirimkan. Dalam skema ini, masing masing bit pada sinyal yang asli ditampilkan oleh bit- bit multipel pada sinyal yang ditransmisikan, yang disebut kode tipis(chipping). Kode tipis yang menyebarkan secara langsung sepanjang band frekuensi yang lebih luas sebanding dengan jumlah bit yang dipergunakan. Oleh karena itu, kode tipis 10-bit menyebarkan sinyal sepanjang band frekuensi yang 10 kali lebih besar dibandingkan kode tipis 1-bit.

Satu teknik dengan spektrum penyebaran deretan langsung adalah dengan mengkombinasikan stream informasi digital dengan bit stream pseudorandom menggunakan OR-eksklusif contoh pada gambar 6.

DSSS

Gambar 6.Contoh Direct Sequence Spread Spectrum

Patut dicatat bahwa bit informasi dari satu membalikan bit-bit pseudorandom dalam kombinasi tersebut, sementara bit informasi 0 menyebabkan bit-bit pseudorandom ditransmisikan tanpa mengalami inversi. Kombinasi bit stream memiliki data rate yang sama dengan deretan pseudorandom yang asli, sehingga memiliki bandwidth yang lebih lebar dibandingkan dengan stream informasi. Pada contoh ini, bit stream lebih besar 4 kali lipat rate informasi.

DSSS tx

Gambar 7a.Direct Sequence Spread Spectrum pada Transmitter

DSSS Rx

Gambar 7b.Direct Sequence Spread Spectrum pada Receiver

Gambar 7 menunjukkan implementasi deretan langsung yang khusus. Dalam hal ini, stream informasi dan stream pseudorandom bahkan dikonversi ke sinyal-sinyal analog lalu dikombinasikan, bukannya menunjukkan OR-eksklusif dari dua stream dan kemudian memodulasikannya. Penyebaran spektrum dapat dicapai melalui teknik deretan langsung yang ditentukan dengan mudah. Sebagai contoh, anggap saja sinyal informasi memiliki lebar bit sebesar tb yang ekuivalen terhadap rate data = 1/tb. Dalam hal ini, bandwidth sinyal tergantung pada teknik pengkodean, kira-kira 2/tb. Hampir sama dengan itu, bandwidth sinyal pseudorandom asalah 2/Tc dimana Tc adalah lebar bit pseudorandom input. Bandwidth sinyal yang dikombinasikan kira-kira sebesar jumlah dari 2 bandwidth tersebut. Jumlah penyebaran yang dicapai adalah hasil langsung dari rate data pseudorandom. Semakin besar data rate pseudorandom input, semakin besar jumlah penyebarannya.

Contoh Direct Sequence Spread Spectrum Menggunakan BPSK

BPSKGambar 8, Contoh DSSS menggunakan BPSK

Approximate spectrum sinyal DSSS

DSSSGambar 9, Approximate spectrum sinyal DSSS

May 29, 2008 Posted by tewe | kuliah | | 7 Comments

eXtensible Markup Language (XML)

Pada awal kemunculannya di penghujung 1990-an, XML (Extensible Markup Language) kerap dianggap sebagai bahasa markup, pengganti HTML (Hypertext Markup Languange) karena sama-sama turunan dari SGML (Standard Generalized Markup Language). Padahal, XML dibuat untuk menjembatani inter operabilitas antar software dari platform yang berbeda.

Sebelum membahas lebih jauh apa itu XML dan bagaimana fungsinya, ada baiknya kita memahami betul istilah markup language. Awalnya markup language digunakan oleh para penulis, editor, dan awak percetakan dalam dunia penerbitan, untuk menandai bagaimana sebuah naskah dipresentasikan. Editor menandai bagian-bagian naskah yang perlu diperbaiki oleh penulis dengan tanda-tanda khusus. Editor juga melakukan hal yang sama pada naskah yang akan di-layout oleh desainer (dahulunya merupakan bagian dari awak percetakan), bagian mana yang dicetak miring, tebal, dan lain-lain. Dengan kata lain, markup languange adalah gabungan antara naskah dengan informasi tambahan tentang naskah itu sendiri. Contoh markup language yang paling lazim kita temukan saat ini di internet adalah HTML.

  1. Sejarah XML

XML didesain oleh sebuah kelompok kerja yang terdiri dari sebelas orang. Mereka mendapat dukungan dari 150 orang di luar kelompok tersebut. Pemimpin bidang teknis tim sebelas, James Clark, menyumbangkan elemen empty “<empty/>”, dan nama XML itu sendiri. Nama-nama lain yang sempat diusulkan antara lain: MAGMA (Minimal Architecture for Generalized Markup Applications), SLIM (Structured Language for Internet Markup), danMGML (Minimal Generalized Markup Language). Pada 10 Februari 1998, XML 1.0 direkomendasikan secara resmi oleh W3C. XML 1.0 merupakan pencapaian tim sebelas dalam mendesain markup language untuk tujuan penggunaan di internet, yang serba guna, dan kompatibel dengan SGML. Selain itu, XML 1.0 juga men dukung pengembangan software yang memprosesnya, meminimalisasi fitur-fitur opsional, terbaca oleh manusia, singkat, padat, dan mudah untuk ditulis.

  1. Kegunaan XML

XML didesain sebagai solusi interoperabilitas antar software dari platform yang berbeda. Misalnya software A berjalan di atas platform Java, ingin berbagi informasi dengan software yang berjalan di atas platform .NET. Software A akan membaca request dari software B, kemudian menyediakan informasi yang dibutuhkan oleh software B dalam format XML. Atau bisa jadi software A menyediakan informasi yang sudah dikemas dalam format XML, yang dapat dimanfaatkan oleh software B, C, D, dan seterusnya. Untuk mengakses informasi dalam format XML ini, digunakan tool yang bernama web service. Contoh yang paling sederhana dari interoperablitas menggunakan XML ini adalah RSS feed dan aggregator. Saat ini banyak website berita dan blog yang menyediakan informasi yang dikemas dalam format XML, atau dikenal dengan nama RSS feed. Website lain atau aplikasi desktop yang disebut dengan aggregator dapat memanfaatkan informasi ini melalui web service, yakni HTTP, untuk membaca file XML, dan menampilkannya.

Seperti yang dijelaskan di atas, XML merupakan markup language. Namun, berbeda dengan HTML yang memerintahkan web browser bagaimana menampilkan informasi, XML menandai informasi secara terstruktur sehingga memudahkan aplikasi lain mengekstrak, dan menggunakannya. Seperti halnya HTML, XML juga menggunakan tag-tag. Jika tag-tag pada HTML bersifat baku, tag-tag XML dapat dibuat sendiri, sesuai dengan kebutuhan. Untuk memudahkan aplikasi membaca tag-tag apa saja yang memuat informasi serta struktur hirarkinya, XML 1.0 dilengkapi dengan DTD (Document Type Definition) yang terletak pada bagian header file. Untuk menutup kekurangan pada DTD, XML 1.1 mengganti DTD dengan XSD (XML Schema Definition) yang lebih powerful dalam menggambarkan struktur file XML.

Untuk mengenal tentang bagaimana XML mampu menangani data-data kita, sebaiknya perhatikan keterangan berikut :

  • XML memungkinkan kita untuk mengumpulkan informasi dan menggunakannya kembali dengan berbagai cara.
  • Data XML tidak dibatasi pada satu format aplikasi. Kita dapat mendisain suatu dokumen XML yang memungkinkan kita untuk mengumpulkan data secara online dan menggunakannya dalam dokumen yang berbeda, database, dan spreadsheet. Sebagai contoh, seandainya perusahaan kita mengumpulkan informasi-informasi penjualan terhadap suatu produk menggunakan dokumen XML yang terisi data. Data XML yang sama bisa digunakan untk membuat arsip pembelian, laporan pengawasan, dan grafik penjualan.
  • Pembuatan informasi yang portabel memerlukan perencanaan dan disain sebelum informasi dikumpulkan.

  1. Bagian-Bagian dari Dokumen XML

Sebuah dokumen XML terdiri dari bagian bagian yang disebut dengan node. Node-node itu adalah:

  1. Root node yaitu node yang melingkupi keseluruhan dokumen. Dalam satu dokumen XML hanya ada satu root node. Node-node yang lainnya berada di dalam root node.
  2. Element node yaitu bagian dari dokumen XML yang ditandai dengan tag pembuka dan tag penutup, atau bisa juga sebuah tag tunggal elemen kosong seperti <anggota nama=”budi”/>.Root node biasa juga disebut root element.
  3. Attribute note termasuk nama dan nilai atribut ditulis pada tag awal sebuah elemen atau pada tag tunggal.
  4. Text node, adalah text yang merupakan isi dari sebuah elemen, ditulis diantara tag pembuka dan tag penutup
  5. Comment node, adalah baris yang tidak dieksekusi oleh parser
  6. Processing Instruction node adalah perintah pengolahan dalam dokumen XML. Node ini ditandai awali dengan karakter <? Dan diakhiri dengan ?>. Tapi perlu diingat bahwa header standard XML <?xml version=”1.0” encoding=”iso-8859-1”?> bukanlah processing instruction node. Header standard bukanlah bagian dari hirarki pohon dokumen XML.
  7. NameSpace Node, node ini mewakili deklarasi namespace

Berikut gambar detilnya,

Gambar 1, Bagian Dokumen XML

  1. Sintaks XML

Dibandingkan dengan HTML, XML lebih cerewet. Kalau kita menulis sebuah dokumen HTML, beberapa kesalahan penulisan masih ditolerir. Misalnya kita menempatkan tag bersilangan seperti <p><b>Huruf Tebal</p></b> meskipun tidak dianjurkan, HTML masih bisa bekerja dan menampilkan hasil seperti yang kita inginkan. Tidak demikian dengan XML. Lebih jelasnya kita akan bahas di bawah bagaimana membuat dokumen XML yang baik.

  • Heading standard untuk dokumen XML

Setiap dokumen XML diawali dengan heading standard XML. Formatnya adalah sebagai berikut:

<?xml version=”1.0” encoding=”iso-8859-1”?>

  • Dokumen XML harus memiliki root tag

Sebuah dokumen XML yang baik harus memiliki root tag. Yaitu tag yang melingkupi keseluruhan dari dokumen. Tag-tag yang lain, disebut child tag, berada didalam root membentuk hirarki seperti gambar 2.

Gambar 2, Diagram Hierarkhi XML

  • Tag pada XML harus lengkap berpasangan

Kita harus menulis tag penutup untuk setiap tag yang kita buat. Penulisannya harus seperti ini

<p>paragraph pertama</p>

<p>paragarap kedua</p>

  • Tag tunggal hanya diperbolehkan untuk elemen kosong.

Contoh penulisannya sebagai berikut:

<anggota nama=”budi”/>

  • XML membedakan huruf besar dengan huruf kecil

Pada XML, <tanggal> berbeda dengan <Tanggal>. Tag pembuka dan tag penutup harus sama susunan huruf besar dan kecilnya.

<contoh>ini penulisan yang salah</Contoh>

<contoh>ini baru betul</contoh>

  • Penyarangan tag harus benar.

Penulisan tag pada XML harus mengikuti aturan Last In First Out (LIFO). seperti yang kita bahas terdahulu, pada XML kita tidak bisa membuat tag yang saling bersilang seperti dibawahini

<p><b>Huruf Tebal</p></b>

tapi harus disusun seperti ini

<p><b>Huruf tebal</b></p>

bila dipaksakan juga, browser akan menampilkan pesan error.

  • XML mempertahankan spasi seperti apa adanya

Berbeda dengan HTML, XML menampilkan spasi persis bagaimana data ditulis. Lebih jelasnya perhatikan contoh berikut ini:

Pada HTML kalimat “Kami pergi bersama” akan ditampilkan sebagai “Kami pergi bersama”, sedangkan pada XML akan ditampilkan sama persis dengan kalimat asalnya.

  • Nilai atribut harus diletakkan diantara tanda petik

Nilai atribut harus diletakkan diantara dua tanda petik. Tidak masalah apakah tanda petik tunggal atau tanda petik ganda. Contoh dibawah ini dua-duanya benar

<pesan dari=”lusy”> atau <pesan dari=’lusy’>

Penamaan tag dan atribut nama tag bisa terdiri dari huruf, angka dan underscore (“_”). Karakter awal nama tag harus berupa huruf atau underscore (“_”), tidak diawali dengan kata xml atau XML, (misal:<xmlstring>), dan tidak mengandung spasi. Aturan penamaan atribut sama dengan aturan penamaan tag.

  • Menyisipkan komentar

Pada bahasa pemrograman atau scripting kita mengenal adanya komentar (comment). Komentar adalah kalimat/baris yang tidak dieksekusi oleh compiler, browser atau parser. Untuk menyisipkan komentar pada dokumen XML caranya adalah sebagai berikut:

<!—Baris ini tidak di eksekusi oleh parser –>

  • Menggunakan karakter ilegal pada XML

Kita tidak bisa menggunakan karakter seperti kurung siku (< atau >), petik tunggal (‘), dan petik ganda (“) secara langsung. Contoh dibawah ini akan menghasilkan error kalau di eksekusi oleh browser.

<syarat>jika jumlah < 1000 maka</syarat>

Untuk menghindarinya, kita harus menggantikannya dengan entity reference seperti di bawah ini:

<syarat>jika jumlah < 1000 maka</syarat>

Perhatikan bahwa entity refence selalu diawali oleh & dan diakhiri ;. Karakter yang benar-benar illegal pada XML sebenarnya hanyalah < dan &. Yang lain bisa digunakan, akan tetapi lebih bijak kalo kita menghindarinya untuk menghindari kebingungan pada saat kita mendebugnya. Kita bisa membuat sendiri entity reference untuk hal-hal lainnya. Pembahasan selengkapnya bisa anda baca pada bagian lain bab ini yang membahas Document Type Definition (DTD).

  • Namespace XML

Dari pembahasan terdahulu kita mengetahui bahwa tag-tag pada XML tidak didefinisikan secara baku tetapi kita buat sendiri sesuai keinginan kita. Karena itu akan sering terjadi konflik pada dua dokumen yang menggunakan nama tag yang sama tetapi mewakili dua hal yang berbeda. Contoh: bila ada dokumen yang mendiskripsikan tentang kebutuhan material pembuatan gardu jaga dari bambu

<bambu>

<jenis>Jawa</jenis>

<panjang>2</panjang>

</bambu>

dengan dokumen yang mendiskripsikan “bambu” sebagai merek produk.

<bambu>

<jumlah>246</jumlah>

<hargasatuan>200</hargasatuan>

</bambu>

untuk mengatasi hal ini, namespace menyediakan metode dengan menggunakan awalan yang berbeda

<a:bambu>

<a:jenis>Jawa</a:jenis>

<a:panjang>2</a:panjang>

</a:bambu>

dokumen kedua menjadi seperti berikut

<b:bambu>

<b:jumlah>246</b:jumlah>

<b:hargasatuan>200</b:hargasatuan>

<b:/bambu>

Dengan cara demikian konflik penamaan tag tidak terjadi lagi. Aturan penggunaan namespace adalah sebagai berikut:

<a:bambu xmlns:a=”http:/www.somewhere.com/gardu”>

a adalah prefix yang dipakai, sedangkan atribut namespace di tambahkan pada tag. Syntax untuk atribut namespace adalah sebagai berikut:

xmlns:a=”namespace”

pada contoh diatas namespace-nya menggunakan alamat internet.W3C namespace spesification menyatakan bahwa namespace haruslah merupakan Uniform Resource Identifier (URI). Perlu di perhatikan bahwa alamat internet tersebut tidak digunakan untuk mendapatkan informasi, tapi hanya untuk memberikan nama yang unik bagi namespace. Tetapi seringkali perusahaan menggunakan namespace yang menunjuk pada webpage yang berisi informasi tentang namespace yang digunakan.

  1. Text Encoding pada XML

Pada bagian atas kita telah menyinggung sepintas tentang atribut encoding pada deklarasi XML. Contoh yang diberikan menggunakan encoding iso-8859-1 yaitu nama resmi dari text encoding yang oleh Microsoft disebut sebagai ANSI. Atribut encoding ini digunakan untuk memberitahukan pada XML parser, text encoding apa yang digunakan.

Misalnya kita ingin menggunakan karakter asing seperti æøå êèé. Untuk menampilkannya dengan benar pada browser, kita harus menyimpan file XML kita dengan format unicode. Sayangnya notepad pada windows 95/98 tidak mendukung format unicode. Untuk itu kita harus menambahkan atribut encoding pada deklarasi XML kita. Kita bisa menggunakan encoding windows-1252 atau iso-8859-1. Kita tidak bisa menggunakan UTF-8 dan UTF-16 bila kita simpan file kita dengan notepad pada Windows 95/98. Notepad pada Windows 2000 bisa menyimpan dokumen dengan format unicode. Semua jenis encoding yang saya sebutkan diatas bisa digunakan. Tanpa menyertakan atribut encoding secara eksplisit pun dokumen yang disimpan dengan format unicode bisa menampilkan karakter asing dengan benar bila di buka dengan Internet Explorer 5.0 tapi bila dibuka dengan Netscape atribut encoding mutlak harus disertakan.

Sampai disini pengetahuan anda tentang XML sudah cukup untuk membuat sebuah dokumen xml yang baik (Well-formed Document) tetapi belum cukup untuk membuat dokumen XML yang valid (Valid Document). Karena untuk membuat document XML yang valid anda juga harus mengenal apa yang disebut Document Type Definition (DTD).

  1. Document Type Definition (DTD)

Sesuai namanya DTD berfungsi untuk mendefinisikan tipe dokumen XML. Pada saat mempelajari salah satu bahasa pemrograman atau scripting anda diperkenalkan dengan deklarasi variable, deklarasi fungsi dan deklarasi tipe data. Serupa dengan itu, DTD mendefinisikan struktur dokumen XML dengan daftar element yang digunakan. Contoh dibawah ini akan memperjelas pengertian DTD,

<?xml version =’1.0′ encoding=’utf-8′?>

<!DOCTYPE organisasi [

<!ELEMENT organisasi (anggota)>

<!ELEMENT anggota (nama,alamat,kelamin,jabatan)>

<!ELEMENT nama (#PCDATA)>

<!ELEMENT alamat (#PCDATA)>

<!ELEMENT kelamin (#PCDATA)>

<!ELEMENT jabatan (#PCDATA)>

<!ENTITY org "Forum Komunikasi Remaja Masjid se-Jabotabek">

]>

<organisasi nama = “&org;”>

<anggota>

<nama>Budi Hermanto</nama>

<alamat>Kebayoran</alamat>

<kelamin>laki-laki</kelamin>

<jabatan>ketua</jabatan>

</anggota>

</organisasi>

DTD memungkinkan format yang unik untuk setiap file xml. DTD akan sangat berguna bila kita membuat aplikasi dalam Visual Basic, ASP atau bahasa pemrograman lain yang mendukung xml, yaitu untuk memastikan bahwa data yang diterima aplikasi itu adalah data yang valid. Atau bermanfaat juga digunakan bila satu organisasi menyepakati penggunaan satu DTD untuk tukar menukar data dan informasi.

Unsur-unsur yang dideklarasikan dalam DTD adalah semua unsur yang membentuk suatu dokumen XML yaitu :

  • Element, satu blok data yang diawali tag pembuka dan tag penutup.
  • Attribute, informasi pendukung element yang disertakan pada tag pembuka
  • Entity, karakter pengganti untuk sekumpulan informasi yang didefinisikan

Bagaimana mendeklarasikan masing-masing unsur diatas, kita akan bahas satu persatu:

· Element

Bila sebuah element mengandung beberapa child element, maka kita perlu mendeklarasikan child element apa saja yang dipunyai element tersebut. Pada contoh diatas kita melihat deklarasi element

<!ELEMENT organisasi (anggota)>

<!ELEMENT anggota (nama,alamat,kelamin,jabatan)>

Maksudnya adalah element bernama organisasi memiliki satu child element bernama anggota. Lalu element bernama anggota itu sendiri mempunyai empat child element yang bernama nama, alamat, kelamin dan jabatan. Setelah itu kita perlu medeklarasikan juga type dari element-element diatas.

<!ELEMENT nama (#PCDATA)>

<!ELEMENT alamat (#PCDATA)>

<!ELEMENT kelamin (#PCDATA)>

<!ELEMENT jabatan (#PCDATA)>

contoh diatas adalah cara untuk mendeklarasikan type elemen, dimana element nama, alamat, kelamin dan jabatan semuanya bertipe (#PCDATA)

· Attribute

Agar dokumen XML kita valid, kita juga perlu mendefinisikan semua attribut yang akan kita gunakan dalam dokumen kita. Untuk mendefinisikannya kita akan menggunakan Attribute list declaration. Caranya seperti berikut:

<!ATTLIST namaelemen spesifikasiattribut>

namaelemen adalah nama elemen dimana attribute itu digunakan. Sedangkan spesifikasiattribute adalah serangkaian informasi tentang attribute itu. Unsur yang membentuknya antara lain nama attribut, type attribute, nilai awal (default value), dan sifat attribute” perhatikan contoh dibawah:

<!ATTLIST ORGANISASI Nama CDATA #FIXED “HMTE”>

maksud dari contoh diatas adalah elemen ORGANISASI memiliki Attribute Nama yang bertype CDATA. Sifat attribute dalam hal ini adalah #FIXED, yaitu nilai dari attribute nama harus seperti yang dideklarasikan (“HMTE” adalah nilai default yang diberikan bila kita tidak menyebutkannya). Sifat-sifat attribute selengkapnya adalah:

1. #FIXED, bila attribute kita deklarasikan dengan ini, kita bisa mencantumkan atau menghilangkan attribute pada element bersangkutan. Bila kita menghilangkannya, secara otomatis parser akan mencantumkan attribute dengan nilai sesuai dengan nilai awal yang diberikan.

2. #REQUIRED, ini menandakan bahwa attribut yang bersangkutan tidak bisa dihilangkan. Pendeklarasiannya tidak membutuhkan nilai awal. Bila anda paksakan, browser akan menampilkan pesan error.

3. #IMPLIED, bila kita menggunakannya berarti kita bisa membuang atau mencantumkan attribute. Bila kita tidak mencantumkannya, prosesor tidak akan memberikan nilai default.

  • Entity

Dengan menggunakan entity XML kita bisa menggantikan kalimat yang panjang atau satu blok elemen yang sering kita gunakan dengan sebuah pengenal singkat. Misalnya kita ingin menggantikan kalimat “Manajemen Data dan Informasi dengan XML/XSL” dengan entity &judul;.(kita telah menyinggung pada pembahasan terdahulu bahwa entity diawali dengan & dan diakhiri dengan ;) . Sekali entity didefinisikan di dalam DTD, kita bisa menggunakannya dimana saja pada seluruh dokumen XML.

<?xml version=”1.0” encoding=”iso-8859-1”>

<!DOCTYPE organisasi [

<!ENTITY judul "Manajemen data dan informasi dengan XML/XSLT">

]>

<resensi>

<buku judul=”&judul;”>

<ulasan>Buku yang berjudul &judul; ini ditulis oleh Moh

Junaedi..</ulasan>

</buku>

</resensi>

*) diolah dari berbagai sumber

May 29, 2008 Posted by tewe | kuliah | | 2 Comments

sebuah inspirasi dari teman lama

makasih teman yaaaa…
=================
blog ini terwujud terinspirasi oleh blog teman lama aku yang lama tak jumpa. Makasih buat martina.
meskipun ini bukan blog pertama aku, cuman melihat fitur-fitur yang ada di blog ini kok aku jadi tertarik, hehehe
bagus juga nih, ya itung-itung buat nampang

May 18, 2006 Posted by tewe | hidup ini | | No Comments Yet