Thursday, December 21, 2017

√ Tabel Xml Pada Grafika Komputer

tabel

Selain menangani file teks, Processing juga mempunyai fungsi khusus untuk menangani file dalam bentuk tabel sederhana, yang ditulis dalam bentuk plain text dengan ekstensi CSV (Comma Separated V), dan TSV (Table Separated V). Hal ini akan sangat memudahkan apabila kita ingin mengambil data tabel, dibandingkan bila harus mengaturnya secara manusal ke dalam baris dan kolom dengan memakai fungsi split().  Misalkan kita mempunyai sebuah file CSV berjulukan data.csv dengan isi sebagai berikut:
ID,NomorInduk,UkuranSepatu,Nama,Alamat
1000,1001,39.0021,Jono,Yogya
1001,1034,33.4561,Joni,Sleman
1002,1012,40.1234,Jiko,Magelang
1003,1101,35.2131,Jiki,Papua

Table table = loadTable("data.csv");
Untuk tabel menyerupai di atas, di mana menyerupai yang sanggup kita lihat, baris pertama bukanlah merupakan data, namun lebih merupakan “header”, Processing secara otomatis akan menyimpan warta tersebut, bila kita memasukkan opsi “header” ketika melaksanakan loading tabel. 
Table table = loadTable("data.csv","header");


membaca tabel

Satu cara dalam mengakses data dalam tabel ialah dengan merequest nilai sesuai dengan posisi baris dan kolom yang diinginkan. Dan menyerupai halnya array, nilai 0 berarti baris atau kolom pertama. Proses ini juga menyerupai proses mengakses warna dari sebuah pixel (x, y), namun demikian, pembacaan untuk tabel dilakukan terbalik, untuk nilai pertama ialah kolom, dan kedua ialah baris.
int n1 = table.getInt(2, 1);      // n1 = 1012
float n2 = table.getFloat(3, 2);  // n2 = 35.2131
String s = table.getString(0, 3); // s = Jono

Cara lain dalam membaca tabel dalam Processing ialah dengan mengakses nama kolom dengan memakai objek TableRow.

TableRow row = table.getRow(2);  

Perhatikan bahwa objek Table mengacu pada tabel secara keseluruhan, sedangkan objek TableRow mengacu pada baris tertentu dalam Tabel tersebut.  Setelah kita memilih objek dari TableRow, langkah berikutnya ialah mencari data yang diinginkan (bisa memakai nama kolom header).

int x = row.getInt("ID");              //1002
int y = row.getInt("NomorInduk");              //1012
float d = row.getFloat("UkuranSepatu");  //40.123
String s = row.getString("Nama");   


Jika kita ingin membaca semua baris, kita sanggup memakai method rows(). Untuk tabel di atas, sanggup dipergunakan aba-aba berikut:

  for (TableRow rowa : table.rows ()) {
    float xa = rowa.getFloat("ID");
    float ya = rowa.getFloat("NomorInduk");
    float da = rowa.getFloat("UkuranSepatu");
    String na = rowa.getString("Nama");
    String ma = rowa.getString("Alamat");
    println (xa, ya, da, na, ma);
  }

Untuk mengubah isi tabel, gunakan setString(), setInt(), setFloat(), bergantung pada jenis data yang dipergunakan. Sementara untuk menambahkan kolom dan baris, gunakan addColumn() dan addRow(). Sebagai catatan, addColumn() dan addRow() umumnya dipergunakan secara bersama-sama, untuk menambahkan data. Terakhir, untuk menyimpan tabel (misalnya yang sudah diedit, gunakan saveTable().

  table.addColumn("Tambahan", Table.STRING);
  TableRow newRow = table.addRow();
  newRow.setInt("ID", 1566);  
  newRow.setInt("NomorInduk", 2324);  
  newRow.setFloat("UkuranSepatu", 13.1234);  
  newRow.setString("Nama", "Joki");  
  newRow.setString("Alamat", "Langit");  
  newRow.setString("Tambahan", "Satu");  
saveTable(table, "new.csv");

XML

XML menyimpan warta dalam bentuk struktur pohon. Sebagai contoh, data XML yang berisi data-data mahasiswa meliputi warta ihwal nomor mahasiswa, nama, alamat, email, dan nomor telepon. Dalam warta alamat terdapat bagian-bagian contohnya nama kota, propinsi, dan aba-aba pos. 

<?xml version="1.0" encoding="UTF-8"?>
<bubbles>
  <bubble>
    <position x="160" y="103"/>
    <diameter>43.19838</diameter>
    <label>Happy</label>
  </bubble>
  <bubble>
    <position x="372" y="137"/>
    <diameter>52.42526</diameter>
    <label>Sad</label>
  </bubble>
  <bubble>
    <position x="273" y="235"/>
    <diameter>61.14072</diameter>
    <label>Joyous</label>
  </bubble>
  <bubble>
    <position x="121" y="179"/>
    <diameter>44.758068</diameter>
    <label>Melancholy</label>
  </bubble>
</bubbles>


XML xml = loadXML("bubbles.xml");
XML[] children = xml.getChildren("bubble");

for (int i = 0; i < children.length; i++) {
  XML positionElement = children[i].getChild("position");
  float x = positionElement.getInt("x");
  float y = positionElement.getInt("y");
  XML diameterElement = children[i].getChild("diameter");
  float diameter = diameterElement.getFloatContent();
  XML labelElement = children[i].getChild("label");
  String label = labelElement.getContent();
  println(x, y);
  println(diameter);
  println(label);
}


TUGAS

<?xml version="1.0" encoding="UTF-8"?>
<DataMahasiswa>
  <mahasiswa>
    <id>001</id>
    <nama>Bejo Kurniawan</nama>
    <telepon>555-555-5555</telepon>
    <email>kurniawan@bejo.net</email>
    <alamat>
      <jalan>123 Processing</jalan>
      <kota>Sleman</kota>
      <propinsi>DIY</propinsi>
      <kodepos>55280</kodepos>
    </alamat>
  </mahasiswa>
  <mahasiswa>
    <id>002</id>
    <nama>Nurhadi </nama>
    <telepon>555-111-5555</telepon>
    <email>nurhadi@nurhadi.net</email>
    <alamat>
      <jalan>223 Processing </jalan>
      <kota>Bantul</kota>
      <propinsi>DIY</propinsi>
      <kodepos>01234</kodepos>
    </alamat>
  </mahasiswa>
   <mahasiswa>
    <id>003</id>
    <nama>Marjukik </nama>
    <telepon>555-222-5555</telepon>
    <email>marjukik@nurhadi.net</email>
    <alamat>
      <jalan>334 Processing </jalan>
      <kota>Jepara</kota>
      <propinsi>Jateng</propinsi>
      <kodepos>433210</kodepos>
    </alamat>
</mahasiswa>
</DataMahasiswa>


// Load XML 
XML datanya = loadXML("DataMahasiswa.xml");

// semua child element
XML[] datamhs = datanya.getChildren("mahasiswa");

for (int i = 0; i < datamhs.length; i++) {
  XML idElement = datamhs[i].getChild("id");
  String nomornya = idElement.getContent();
  XML namaElement = datamhs[i].getChild("nama");
  String namanya = namaElement.getContent();
  XML tlpElement = datamhs[i].getChild("telepon");
  String telepon = tlpElement.getContent();

  println(nomornya);  
  println(namanya);  
  println(telepon);
}



Sumber http://www.sharingse.net/