PMO2 PERTEMUAN 3 – XML Parsing

XML Parsing

Pemrograman Mobile 2

Kelompok 3


 

1. Pemahaman XML Data Parsing
Parsing adalah suatu cara memecah-mecah suatu rangkaian masukan (misalnya dari berkas) yang akan menghasilkan suatu pohon uraian (parse tree) yang akan digunakan pada tahap kompilasi berikutnya yaitu analisis semantik.

Extensible Markup Language (XML) adalah seperangkat aturan untuk menyandikan dokumen dalam bentuk yang dapat dibaca mesin. Fleksibilitas XML telah berkembang dan dapat digunakan untuk bertukar data dalam berbagai bentuk.

XML didesain untuk mampu menyimpan data secara ringkas dan mudah diatur. Kata kunci utama XML adalah data yang jika diolah bisa memberikan informasi. XML menyediakan suatu cara terstandarisasi namun bisa dimodifikasi untuk menggambarkan isi dari dokumen. Dengan sendirinya, XML dapat digunakan untuk menggambarkan sembarang view database, tetapi dengan suatu cara yang standar.
Tipe XML :

– XML, merupakan standar format dari struktur berkas (file).
– XSL, merupakan standar untuk memodifikasi data yang diimpor atau diekspor.
– XSD, merupakan standar yang mendefinisikan struktur database dalam XML.

2. XML – Elemen
Elemen adalah sebuah komponen dokumen logikal yang diawali oleh sebuah start-tag dan diakhiri oleh end-tag yang sepadan dengan start-tag nya atau berisi hanya sebuah empty-element tag. Karakter-karakter diantara start-tag dan end-tag jika ada, adalah konten dari elemen yang dapat mempunyai markup elemen-elemen lain yang disebut child elements.

Sebuah elemen dapat berisi:
– Teks
– Atribut
– Unsur-unsur lain
– Atau campuran di atas

Aturan Penamaaan Elemen XML
Elemen XML harus memenuhi aturan dalam penamaan, seperti :
– Nama elemen adalah case-sensitive
– Nama elemen harus dimulai dengan huruf atau garis bawah
– Nama elemen tidak dapat memulai dengan huruf xml (or XML, or Xml, dll)
– Nama elemen dapat berisi huruf, angka, tanda hubung, garis bawah, dan periode
– Nama elemen tidak dapat berisi spasi

3. XML – Parsing
Parsing adalah bagian dari program yang mengambil representasi fisik dari beberapa data dan mengubahnya menjadi bentuk dalam memori untuk program secara keseluruhan untuk digunakan. Parser digunakan di mana-mana dalam perangkat lunak.

Parsing XML adalah parser yang dirancang untuk membaca XML dan menciptakan cara bagi program untuk menggunakan XML. Ada berbagai jenis parsing xml, dan masing-masing memiliki kelebihannya. Kecuali sebuah program secara sederhana dan melakukan penyalinana seluruh file XML sebagai sebuah unit, setiap program harus mengimplementasikan atau memanggil parser XML.

Jenis utama parser dikenal dengan beberapa nama : SAX, DOM dan Pull. Untuk setiap jenis ada beberapa implementasi yang sangat baik yang tersedia secara bebas untuk berbagai bahasa, termasuk Java, C ++, C #, VB # (sebenarnya, bahasa .Net), PHP, Perl, Python, Ruby dan sebagainya.

4. Jenisjenis XML Parsing Data
a) DOM Parse
Document Object Model (DOM) adalah platform dan antarmuka netral bahasa yang memungkinkan program dan skrip untuk mengakses dan memperbarui konten, struktur, dan gaya dokumen secara dinamis. DOM parser menggunakan pendekatan berbasis objek di mana seluruh xml dimuat ke dalam memori dan divalidasi.

DOM adalah antarmuka yang mengekspos dokumen XML sebagai struktur pohon yang terdiri dari node. DOM memungkinkan kita untuk menavigasi pohon dan menambah, mengubah dan menghapus setiap elemen. Standar pemograman antarmuka DOM didefinisikan oleh World Wide Web Consortium(W3C).

b) SAX Parse
Simple API for XML (SAX) atau SAX merupakan parser yang paling ringan dibandingkan dengan DOM, SAX menggunakan urutan event untuk melakukan parsing. Tidak seperti DOM yang akan otomatis melakukan parsing pada XML document, SAX memberikan kebebasan kepada programmer untuk menentukan setiap element atau attribute yang diperlukan untuk di proses dan dimasukkan kedalam model object custom sesuai dengan isi dari XML tersebut.

SAX Parse menggunakan pendekatan berbasis objek yang serupa dalam hal memori dan kinerja. Dalam konteksnya SAX mirip dengan DOM dimana parsing dimulai dari atas ke bawah tetapi SAX tidak dapat mem-parsing node tertentu.

c) XMLPULL Parse
XMLPULL Parse juga menggunakan pendekatan berbasis objek yang serupa dalam hal memori dan kinerja. XMLPULL parse merupakan kebalikan dari SAX Parse. Dimana SAX adalah parser push karena SAX mendorong event ke aplikasi yang di panggil, disisi lain Pull Parse menunggu aplikasi datang memanggil. Pull Parse meminta event berikutnya yang tersedia, dan aplikasi akan melakukan perulangan hingga XML habis. Dalam konteksnya parsing dimulai dari atas ke bawah, PULL Parse juga dapat memparsing node tertentu.

5. Contoh Projek
Sebenarnya aplikasi dari ketiga jenis parsing di atas hampir sama, perbedaannya hanya terletak pada MainActivity.java-nya saja. Dari ketiga parsing di atas, kami akan membuat salah satu programnya saja. Untuk penjelasan lebih lengkapnya dapat dilihat pada ppt di bawah.

Aplikasi DOM Parser
1. Buat aplikasi android baru menggunakan studio android dan berikan nama sebagai DOMParsing.
2. Buat folder assets pada /src/main folder dan tambahkan resource file baru lalu beri nama userdetails.xml, caranya klik kanan pada folder assets > tambahkan android resource file baru > beri nama userdetails.xml seperti di bawah ini.

3. Sekarang buka file userdetails.xml dan tulis kode seperti di bawah ini.

4. Buka file activity_main.xml di folder \res\layout dan tulis kode seperti di bawah ini.

5. Setelah itu buat file layout baru dengan nama list_row.xml di folder /res/layout untuk menampilkan data dalam listview, caranya klik kanan pada folder layout > tambahkan layout resource file baru > beri nama list_row.xml dan tulis kode seperti di bawah ini.

6. Terakhir buka file MainActivity.java pada \java\com.example.domparsing dan tulis kode seperti di bawah ini.

7. Hasil runnung program.

Disusun Oleh :
DIMAS FUAD ALWIAN 16.11.0075
HAFID IMAN SENTOSA 16.11.0114
SITI ROFIAH 16.11.0120
INDRA KUSUMA W 16.11.0124
LABIBUL UMAM 16.11.0145
FAJAR DWI SETIAWAN 16.11.0151
IDHA APRIAN F 16.11.0158
LUTFI ABDURROHMAN 16.11.0159
HEGA FAISAL A 16.11.0161
ARIF BAGUS SETIAJI 16.11.0163
AMIN RIFA’I 16.11.0167
FIKRI LABIB 16.11.0176

Link Download :
Presentation
Projek
Referensi 1
Referensi 2
Referensi 3
Referensi 4
Referensi 5
Referensi 6
Referensi 7
Referensi 8