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 (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.
- Elemen: berisi tag-tag yang mendefinisikan sebuah data objek.
- Atribut: berisi keterangan tambahan dari objek.
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.
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)
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
Tidak ada komentar:
Posting Komentar