XML singkatan dari eXtended Markup Language adalah bahasa markup yang
digunakan untuk menyimpan data (tidak ada program) dan tidak tergantung
dengan tools tertentu (seperti editor, dbms, compiler, dsb).XML
merupakan suatu bahasa Markup. Markup yaitu bahasa yang berisikan
kode-kode berupa tanda-tanda tertentu dengan aturan tertentu untuk
memformat dokumen teks dengan tag sendiri agar dapat dimengerti.Pada
android XML digunakan untuk merancang interface pada sebuah program yang
akan dibuat.
Sejarah XML
XML didesain oleh sebuah kelompok kerja yang terdiri dari 11 orang.
Kelompok tersebut mendapat dukungan dari 150 orang di luar kelompok
tersebut. Pemimpin bidang teknis tim sebelas, James Clark, menyumbangkan
elemen 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),
dan MGML ( 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 kompetibel dengan SGML.
Selain itu, XML 1.0 juga mendukung pengembangan software yang
memprosesnya, meminimalisasi fitur-fitur opsional, terbaca oleh manusia,
singkat, padat, dan mudah untuk ditulis.Sampai artikel ini ditulis,
telah dilakukan kali ketiga perbaikan minor pada XML 1.0 perbaikan kedua
menghasilkan XML 1.1, yang kini telah menjalani satu kali perbaikan.
Pada 16 Agustus 2006 yang lalu, XML 1.0 Fourth Edition, dan XML 1.1
Second Edition dipublikasikan. Keduanya dianggap sebagai versi terakhir
XML yang ada sekarang.
Kegunaan XML
XML didesain sebagai solusi interoperabilitas antar software dari platform yang berbeda. Misalnya software A berjalan diatas platform Java, ingin berbagi informasi dengan software yang berjalan di atas platform .NET. software A akan membaca request dari software B dalam format XML.Atau bisa jadi software A menyediakan informasi yang sudah dikemas dalam fomat XML, yang dapat dimanfaatkan oleh software B, C, D, dan seterusnya. Untuk mengakses informasi dalam format XML ini, digunakan tool yang bersifat web service. Contoh yang paling sederhana dari interoprabilitas 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. 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 hirarkinnya, 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.
XML didesain sebagai solusi interoperabilitas antar software dari platform yang berbeda. Misalnya software A berjalan diatas platform Java, ingin berbagi informasi dengan software yang berjalan di atas platform .NET. software A akan membaca request dari software B dalam format XML.Atau bisa jadi software A menyediakan informasi yang sudah dikemas dalam fomat XML, yang dapat dimanfaatkan oleh software B, C, D, dan seterusnya. Untuk mengakses informasi dalam format XML ini, digunakan tool yang bersifat web service. Contoh yang paling sederhana dari interoprabilitas 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. 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 hirarkinnya, 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.
XML (eXtensible Markup Language) adalah sebuah bahasa markup seperti HTML yang didesain untuk menyimpan dan mengantarkan data.
Perbedaanya dengan HTML
XML didesain untuk menyimpan dan membawa data
Sedangkan HTML didesain untuk menampilkan data
Nama tag pada XML bisa diciptakan sendiri, sedangkan HTML sudah baku
Contoh Penerapan XML
Ada beberapa contoh penerapan XML dalam pemrograman yang pernah saya temukan:
XML digunakan untuk membawa data pada API serpti SOAP;
XML digunakan untuk membentuk struktur form pada pemrograman desktop seperti delphi, lazarus, vb, gtk, dll;
XML digunakan untuk membuat layout aplikasi android;
XML bertugas untuk membentuk struktur proyek pada java yang menggunakan Maven;
XML digunakan sebagai format file SVG, DOCX, dsb.
dan masih banyak lagi contoh penerapan XML.
Contoh Dokumen XML
Berikut ini contoh dokumen XML sederhana kartu_nama.xml:
<?xml version="1.0"?>
<kartuNama>
<nama>
<awal>Petani</awal>
<akhir>Kode</akhir>
</nama>
<jenisKelamin>Laki-laki</jenisKelamin>
<alamat>
<dusun>Melati</dusun>
<desa>Konoha</desa>
<kecamatan>Cakra</kecamatan>
<kabupaten>Mataram</kabupaten>
</alamat>
<ponsel>081234567890</ponsel>
<surel>info@petanikode.com</surel>
<sosialMedia>
<facebook>petanikode</facebook>
<twitter>@petanikode</twitter>
</sosialMedia>
<situsWeb>https://www.petanikode.com</situsWeb>
</kartuNama>
Struktur Dokumen XML
Struktur penulisan kode XML, terdiri dari beberapa bagian:
- Deklarasi: Adalah bagian penting dalam XML, biasanya digunakan untuk menentukan versi XML yang akan digunakan.
<?xml version="1.0"?>
- Elemen: berisi tag-tag yang mendefinisikan sebuah data objek.
- Atribut: berisi keterangan tambahan dari objek.
Pada XML, kita bebas membuat nama tag dan setiap tag harus ditutup meskipun tidak memiliki isi.
Contoh:
<?xml version="1.0"?>
<belajar materi="Pengenalan XML untuk Pemula" pengajar="Petani Kode"></belajar>
<aku nama="petani kode" pekerjaan="petani" hobi="coding" />
Data Elemen Objek dan Array di XML
- Objek adalah jenis data yang menyimpan properti dan method. Pada XML, kita tidak bisa menyimpan method.Karena itu, objek dalam XML adalah elemen yang hanya menyimpan properti saja.
Contoh Objek:
<mahasiswa nama="Dian" nim="12345678" semester="IV" />
- Array adalah jenis data yang berisi kumpulan dari beberapa data. Array biasanya memiliki indeks untuk mengakses data di dalamnya.
Array pada XML dapat kita buat dengan cara membuat elemn dengan nama yang sama.
Contoh:
<members>
<user>Dian</user>
<user>Doni</user>
<user>Desi</user>
<user>Dani</user>
</members>
atau bisa juga seperti ini:
<members>
<user id="1" name="Dian" />
<user id="2" name="Doni" />
<user id="3" name="Desi" />
<user id="4" name="Dani" />
</members>
Jadi Kenapa Masih Belajar XML?
Karena XML masih digunakan hingga saat ini.
Agar lebih paham dan tidak bingung ketika melihat kode XML.
Menambah wawasan dan pengetahuan.
Pemanfaatan XML Didalam Android Programing
Satu fitur yang paling bermanfaat di Android sebagai lingkungan
pengembangan adalah penggunaan XML untuk mendefinisikan banyak atribut
di dalam infrastruktur aplikasi. Ini menyebabkan tidak diperlukannya
bekerja di dalam bahasa programming Java untuk menangani atribut-atribut
ini. Sekian ratus kode Java bisa menjadi hemat. Segala yang ada di
dalam aplikasi – mulai dari layout User Interface, string teks, animasi,
hingga komunikasi antar proses dengan layanan sistem operasi Android
(seperti menggetarkan gadget atau memutar ringtone) – dapat dilakukan
via XML.
Apa yang membuat XML ideal untuk pengembangan Android, terutama untuk
pemula, adalah kemudahan penggunaannya. Penggunaannya tidak lebih sulit
dari HTML. Jadi jika sudah mengetahui bagaimana menggunakan tag untuk
menebalkan teks atau menyisipkan gambar di website, berarti dapat
menggunakan XML.
XML memberikan fleksibilitas yang luar biasa untuk mengakomodasi beragam
hal di dalam aplikasi, seperti ukuran layar yang berbeda, bahasa, dan
rancangan UI.
1. Ukuran Layar
Dikarenakan rancangan User Interface dapat ditentukan secara tepat
oleh suatu file XML, menjadi mudah untuk bekerja dengan beragam ukuran
layar yang ada pada perangkat android saat ini. Katakanlah jika ingin
membuat suatu layout tertentu untuk tiga ukuran layar yang digunakan di
telepon Android :
Quarter VGA (QVGA), 240 x 320 pixel
Half VGA (HVGA), 320 x 480 pixel (“sweet spot” untuk kebanyakan telepon Android)
Wide VGA (WVGA), 800 x 480 pixel (yang ada pada telepon-telepon terbaru)
Bagaimana XML memberikan solusi untuk itu ? Secara sederhana kita dapat
merancang UI di XML untuk masing-masing ukuran dan menggunakan Java
untuk menentukan resolusi layar telepon.
2. Jam Desktop
Contoh lain penggunaan XML yang bisa dimanfaatkan adalah jam desktop Android.
Tag XML untuk suatu fungsi program Android biasanya memiliki nama yang
sama dengan pasangannya di Java, sehingga dapat mengakses kekuatan
bahasa pemrogramman dari XML yang sederhana. Contohnya, XML tag yang
berhubungan dengan AnalogClock di Java :
<AnalogClock />
XML tag di Android dimulai dengan tanda kurung sudut, diikuti (tanpa
spasi) oleh nama class, lalu spasi, tanda garis miring dan tanda kurung
sudut penutup seperti contoh diatas.
Untuk mengkustomisasi suatu AnalogClock, kita dapat menambahkan
attribut-attribut ke tag AnalogClock, menyisipkannya sebelum bagian
penutup tag. Misalnya, kita ingin menambahkan suatu ID untuk
mereferensikannya ke utilitas lain di aplikasi, maka kita akan
menuliskannya seperti berikut
<AnalogClock android:id=”@+id/AnalogClock />
Tanda diatas menambahkan ID ke AnalogClock dengan nama AnalogClock, yang
dapat digunakan sebagai referensi dimana saja pada aplikasi anda.
Untuk setiap tag XML di Android, ada banyak parameter yang membuat kita
dapat mengendalikan tampilan dan implementasi tag, termasuk
penempatannya, penamaannya (digunakan di kode Java) dan opsi-opsi lain.
Pada kondisi sesungguhnya, untuk kemudahan pembacaan, programmer
biasanya menulis kode ini dengan beberapa parameter konfigurasi yang
dipisahkan dalam baris-baris yang berbeda seperti :
<AnalogClock
android:id=”@+id/AnalogClock
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
/>
Kompiler Android akan menganggap seluruh hal di dalam tag AnalogClock
sebagai parameter, atau opsi kustomisasi, hingga ditutup dengan tag
penutup.fill_parent pada contoh diatas berfungsi menarik/strech konten
untuk memenuhi suatu container.wrap_content pada contoh diatas berfungsi
membuat konten dalam format “tile”
3. Menggunakan Resources Aplikasi Android
Sebagai tambahan bagi kode Java dan XML, resource aplikasi adalah
elemen-elemen media dan beragam tipe file yang memberikan kontribusi
pada satu atau lebih fungsionalitas. Dapat berupa file-file XML yang
berisi parameter-parameter animasi atau string teks, file image bitmap
atau stream audio dan video.
Satu dari alasan utama meng-eksternalisasi sumber daya ini adalah dapat
memiliki satu set sumber daya untuk beragam hal, seperti untuk ukuran
layar yang berbeda atau versi bahasa yang berbeda. Lokalisasi bahasa
dapat melokalisasi aplikasi ke berbagai bahasa negara. Lokalisasi bahasa
ini dapat secara mudah direferensikan dalam kode Java dan dirubah jika
perlu dengan mem-pointing-nya ke file name atau folder eksternal yang
berbeda.
4. Image Bitmap
Resource aplikasi yang umum yakni image bitmap. Image bitmap PNG
atau JPEG ditempatkan di folder /res/drawable. Image tersebut kemudian
dapat direferensikan berdasarkan nama file saja (tanpa ekstension) di
kode Java maupun di XML. Karenanya pastikan file PNG dan JPG tidak
memiliki nama yang sama
Selain itu, berlawanan dengan konvensi penamaan file normal, nama file
image dapat hanya berisi hanya angka dan huruf kecil, jadi pastikan anda
ingat selalu aturan ini (satu diantara sekian banyak anomali dalam
programming Android).
Kesimpulannya, untuk menset-up image bitmap untuk digunakan dalam aplikasi yaitu dengan melakukan hal-hal berikut :
Berikan nama file dengan benar
Gunakan format PNG atau JPG
Pastikan file-file tersebut berada di folder /res/drawable sehingga android dapat menemukannya
Sumber :
Sumber :
Tidak ada komentar:
Posting Komentar