Mengambil Data Pengikut Skripsi menggunakan PHP dan XML

Contoh Kasus:

Saya mempunyai file SKRIPSI.xml yang berisi seperti kode XML berikut ini:

<DATABASE_SKRIP> 

<RECORD>

<No__Registrasi>SG19970010</No__Registrasi>

<Badan_Pemilik _a=”P. ” _b=””></Badan_Pemilik>

<No__Kendali_Setempat _a=”JBUNIPB. “></No__Kendali_Setempat>

<Penulis _a=”Rosmaladewi. ” _b=”G290190. “></Penulis>

<J_u_d_u_l _a=”Deskripsi angkutan kota 05 di simpang jalan Gunung Batu (A Description of public transportation 05 at Gunung Batu junction). ” _b=””></J_u_d_u_l>

<Deskripsi_Fisik _a=”20 lembar. “></Deskripsi_Fisik>

<No__Panggil _l=”G. ” _a=”STK. ” _b=”1996. ” _c=”0010. “></No__Panggil>

<Dosen_Pembibing  _a=”Nasoetion, Andi Hakim”></Dosen_Pembibing>

<Dosen_Pembibing  _a=”Buono, Agus”></Dosen_Pembibing>

<Kode_Operator>SA</Kode_Operator>

<catatan>Ada di Fakultas</catatan>

<Teks_Lengkap>\\Skripsi\\1996\\G\\G96ros.pdf</Teks_Lengkap>

</RECORD>

</DATABASE_SKRIP>

Pertanyaan:

Bagaimana caranya saya mengambil No. Registrasi dan tahun dari file XML diatas … ?

Analisa:

  • Untuk No. Registrasi maka saya akan mengambil dari elemen XML <No__Registrasi>SG19970010</No__Registrasi>
  • Untuk tahun maka saya akan mengambil dari attribut ‘_b’ dari elemen XML <No__Panggil>

Jawaban:

Buatlah satu file baca_xml.php dengan isi seperti kode dibawah ini:

<?php 

$data = simplexml_load_file(“SKRIPSI.xml”);

foreach($data as $nim=>$nilai){

echo “No. Registrasi=” . $nilai->No__Registrasi . “<br/>”;

$tahun=str_replace(“.”,””,$nilai->No__Panggil[‘_b’]);

echo  “Tahun=” . $tahun;

}

?>

Keterangan:

  • simplexml_load_file(“SKRIPSI.xml”); Kode ini digunakan untuk meload ifle “SKRIPSI.xml” menjadi objek SimpleXMLElement sehingga menjadi seperti kode dibawah ini:
SimpleXMLElement Object
(
    [RECORD] => Array
        (
            [0] => SimpleXMLElement Object
                (
                    [No__Registrasi] => SG19970010
                    [Badan_Pemilik] => SimpleXMLElement Object
                        (
                            [@attributes] => Array
                                (
                                    [_a] => P.
                                    [_b] =>
                                )

                        )

                    [No__Kendali_Setempat] => SimpleXMLElement Object
                        (
                            [@attributes] => Array
                                (
                                    [_a] => JBUNIPB.
                                )

                        )

                    [Penulis] => SimpleXMLElement Object
                        (
                            [@attributes] => Array
                                (
                                    [_a] => Rosmaladewi.
                                    [_b] => G290190.
                                )

                        )

                    [J_u_d_u_l] => SimpleXMLElement Object
                        (
                            [@attributes] => Array
                                (
                                    [_a] => Deskripsi angkutan kota 05 di simpang jalan Gunung Batu (A Description of public transportation 05 at Gunung Batu junction).
                                    [_b] =>
                                )

                        )

                    [Deskripsi_Fisik] => SimpleXMLElement Object
                        (
                            [@attributes] => Array
                                (
                                    [_a] => 20 lembar.
                                )

                        )

                    [No__Panggil] => SimpleXMLElement Object
                        (
                            [@attributes] => Array
                                (
                                    [_l] => G.
                                    [_a] => STK.
                                    [_b] => 1996.
                                    [_c] => 0010.
                                )

                        )

                    [Dosen_Pembibing] => Array
                        (
                            [0] => SimpleXMLElement Object
                                (
                                    [@attributes] => Array
                                        (
                                            [_a] => Nasoetion, Andi Hakim
                                        )

                                )

                            [1] => SimpleXMLElement Object
                                (
                                    [@attributes] => Array
                                        (
                                            [_a] => Buono, Agus
                                        )

                                )

                        )

                    [Kode_Operator] => SA
                    [catatan] => Ada di Fakultas
                    [Teks_Lengkap] => \\Skripsi\\1996\\G\\G96ros.pdf
                )
)
)

Kode foreach($data as $nim=>$nilai) berarti $nim itu menuju ke [RECORD] => Array, $nilai itu menuju ke
[0] => SimpleXMLElement Object.

Muncul Pertanyaan:

$nim itu menuju ke [RECORD] => Array, maksudnya gimana ya … ?

Jawaban:

$nim itu menuju ke index [RECORD], jadi jika kita mendapatkan indexnya berarti kita mendapatkan nilainya, nah nilai dari index [RECORD] ini adalah array, jadi $nim saya katakan menuju ke [RECORD]=>array.

Kode $nilai->No__Registrasi, digunakan untuk mengambil No__Registrasi dari Objek $nilai.

Kode $nilai->No__Panggil[‘_b’] digunakan untuk mengambil nilai dari attribut ‘_b’ dari elemen No__Panggil dari objek $nilai.

Hasil:

No. Registrasi=SG19970010
Tahun=1996

 

Jika tutorial ini bermanfaat silahkan katakan ‘Terima Kasih Fahmi Basya Kartapura‘.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *