Tampilkan postingan dengan label Pemrograman Web. Tampilkan semua postingan
Tampilkan postingan dengan label Pemrograman Web. Tampilkan semua postingan

Kamis, 09 Januari 2020

Sudah lebih dari 2 tahun tidak mengisi blog ini. Kali ini saya akan membagikan cara web scraping kualitas udara dari website Kementerian Lingkungan Hidup dan Kehutanan (http://iku.menlhk.go.id/aqms/) menggunakan PHP dengan langsung menunjuk div/class yang akan diambil datanya. Berikut kodenya.

<?php
    //url target yang akan diambil datanya
    $html = file_get_contents('http://iku.menlhk.go.id/aqms/');
    /*
data yang akan diproses pada $html kurang lebih seperti ini:
<div class='col-md-6'>
<div class='data-tabular'>
<div class='prop'>BALIKPAPAN_BB</div>
<div class='kabkota'>Kota Balikpapan</div>
<div class='prop'>propinsi Kalimantan Timur</div>
<div class='emot'>
<img src='img/icon/1.png'>
</div>
<div class='desc'>
<div class='ispu'>ISPU</div>
<div class='nilai' style='background: #00cc00'>1</div>
<div class='param'>Parameter</div>
<div class='namaparam' style='background: #00cc00'>SO2</div>
<div class='tanggal'>Tanggal</div>
<div class='isitanggal' style='background: #00cc00'>2020-01-02 15:00:00</div>
<div class='stasiun'>Kriteria</div>
<div class='namastasiun' style='background: #00cc00'>BAIK</div>
</div>
</div>

</div>
    */

    $dom = new DOMDocument;
    @$dom->loadHTML( $html );
    $xp = new DOMXPath( $dom );

//div atau class parentNode yang akan diambil datanya
$query = '//div[@class="desc"]';
    $col=$xp->query( $query );

    if( $col && $col->length > 0 ){

        $arr=array();

        foreach( $col as $node ){

//div atau class childNode yang akan diambil datanya  $query=sprintf('div[@class="%s"]|div[@class="%s"]|div[@class="%s"]|div[@class="%s"]','nilai','namaparam','isitanggal','namastasiun');
            $nodes=$xp->query( $query, $node );
            if( $nodes->length > 0 ){
                foreach( $nodes as $item )$arr[]=$item->nodeValue;
            }
        }

        if( !empty( $arr ) ){
            $chunks=array_chunk( $arr, 4 );
        } 
    }

 echo '
        <table>
            <tr>
            <th>Kab/Kota</th>
                <th>ISPU</th>
                <th>Parameter</th>
                <th>Tanggal</th>
                <th>Kriteria</th>
            </tr>';  

        foreach( $chunks as $chunk ){
            echo "
            <tr>
            <td></td>
                <td>{$chunk[0]}</td>
                <td>{$chunk[1]}</td>
                <td>{$chunk[2]}</td>
                <td>{$chunk[3]}</td>
            </tr>";
        }
        echo '
        </table>';
?>

hasilnya sebagai berikut:


Selamat mencoba dan selamat berkarya.

Selasa, 19 Januari 2016

Array
Array adalah variable yang kompleks yang menyimpan beberapa atau sekelompok nilai dengan nama variabel tunggal. 

Jenis Array di PHP
Ada 3 jenis array yang dapat dibuat di PHP
Indexed array — Array dengan index angka.
Associative array — Array dengan nama dan nilai yang spesifik.
Multidimensional array — Array yang berisi satu atau lebih array didalamnya.


1. Contoh Indexed Array
Menyimpan warna merah, kuning, hijau dalam 1 variabel array.

<?php
$warna = array("merah", "kuning", "hijau");
?>
atau bisa ditulis seperti berikut:
<?php
$warna[0]="merah";
$warna[1]="kuning";
$warna[2]="hijau";
?>
Catatan: dalam indexed array, indeks secara otomatis dimulai dengan 0 dan nilai-nilainya dapat berupa tipe data apapun.

2. Contoh Associative array
Menyimpan nama dan usia seseorang dalam 1 variable usia.
<?php
$usia = array("hendi"=>24,"yanuar"=>25,"setia"=>26);
?>
atau dapat juga ditulis:
<?php
$usia["hendi"] = 24;
$usia["yanuar"] = 25;
$usia["setia"] = 26;
?>

3. Multidimensional array 
Array multidimensi adalah array dimana setiap elemen juga bisa menjadi array dan setiap elemen dalam sub-array dapat berupa array atau lebih berisi berbagai dalam dirinya sendiri dan sebagainya. Contoh dari array multidimensi seperti berikut:

<?php
$kontak = array(
array(
"nama" => "hendi",
"email" => "hendi@hendi.com",
),
array(
"nama" =>"yanuar",
"email" =>"yanuar@hendi.com",
),
);
echo json_encode($kontak);
?>
maka hasilnya seperti berikut:
[{"nama":"hendi","email":"hendi@hendi.com"},{"nama":"yanuar","email":"yanuar@hendi.com"}]

jika ingin mengambil email hendi:

<?php
echo $kontak[0]["email"];
?> 

Sekian dulu pembahasan tentang array pada php ada kurang lebihnya mohon maaf.
Terima kasih atas kunjungannya.

Kamis, 26 Juni 2014

Object Oriented Programming adalah sebuah coding style yang memungkinkan developer untuk menggabungkan fungsi / proses yang sama kedalam sebuah class sehingga dapat memudahkan dalam proses perbaikan / maintain. (sumber)

Struktur Class
Dideklarasikan dengan class diikuti dengan nama dan diakhiri dengan kurva ({}):
<?php
class MyClass
{
    // Class properties and methods go here
}
?> 
Setelah membuat class, class tersebut dapat digunakan dengan menyebutkan new class:

$obj = new MyClass;
untuk melihat isi dari class, gunakan  var_dump():

var_dump($obj);

Definisi Properti Class
Properti digunakan untuk menambahkan data didalam sebuah kelas yang hanya dapat diakses dengan objek misalnya:
<?php
class MyClass
{
    public $prop1 = "I'm a class property!";
}
$obj = new MyClass;
var_dump($obj);
?> 
Untuk membaca isi dari properti dan menampilkanya di browser, maka kodenya sebagai berikut
echo $obj->prop1;
Setelah dijalankan hasilnya "I'm a class property! ".

Definisi Methods Class
Metode adalah fungsi-kelas khusus. Tindakan individu dari obyek yang didefinisikan dalam kelas sebagai metode.
Sebagai contoh, untuk menciptakan metode yang akan mengatur dan mendapatkan nilai properti kelas $ prop1, tambahkan baris berikut berani ke kode Anda:
<?php
class MyClass
{
    public $prop1 = "I'm a class property!";
    public function setProperty($newval)
    {
        $this->prop1 = $newval; 
    }
    public function getProperty()
    {
        return $this->prop1 . "<br />";
    }
}

$obj = new MyClass;
echo $obj->prop1;
?> 
untuk mencobanya tambahkan kode berikut
echo $obj->getProperty(); // Get the property value
$obj->setProperty("I'm a new property value!"); // Set a new one
echo $obj->getProperty(); // Read it out again to show the change
sehingga menjadi
<?php 
 class MyClass
{
    public $prop1 = "I'm a class property!";

    public function setProperty($newval)
    {
        $this->prop1 = $newval;
    }

    public function getProperty()
    {
        return $this->prop1 . "<br />";
    }
}

$obj = new MyClass;
echo $obj->getProperty(); // Get the property value
$obj->setProperty("I'm a new property value!"); // Set a new one
echo $obj->getProperty(); // Read it out again to show the change
?> 
maka hasilnya
I'm a class property! 
I'm a new property value! 
Catatan : OOP memungkinkan objek untuk referensi sendiri menggunakan $this. Ketika bekerja dalam metode yang sama.

Rabu, 14 Mei 2014

Pemrograman berorientasi obyek adalah gaya coding yang memungkinkan pengembang untuk mengelompok beberapa tugas serupa ke dalam class. Dimana prinsipnya adalah “don’t repeat yourself”(DRY) yang memungkinkan pengembang membuat sebuah class untuk beberapa tugas sehingga mempermudah dalam memperbaikinya.

Untuk menggunakan variabel dan fungsi yang didefinisikan oleh class, kita dapat membuat sebuah instance dari class , yang disebut sebagai objek. Variabel yang terkait dengan objek disebut properties, dan fungsi-fungsi yang disebut sebagai metode. Perbedaan utama dari pemrograman prosedural adalah adanya properti dan metode dari sebuah objek dapat dideklarasikan sebagai protected atau private. Karakteristik yang paling penting dari pemrograman berbasis obyek , yaitu :
a.       Enkapsulasi(Encapsulation): Menyembunyikan detail dari pengguna dan mencegah akses langsung ke nilainya.
b.       Polimorfisme(Polymorphism) : Dapat memberi nama sama dengan method dan property yang memiliki fungsi sama dalam kelas yang berbeda. Polimorfisme memperluas enkapsulasi dengan menyembunyikan rincian tentang bagaimana setiap metode bekerja menggunakan nama umum .
c.        Pewarisan(Inheritance): Pembuatan class baru dapat diturunkan dari class yang sudah ada , secara otomatis mewarisisemua metode dan properti dari superclass. Class baru tidak hanya dapat menambah properti baru dan metode sendiri, tapi bisa juga menimpa properti dari superclass.

Sebuah class biasanya mengandung properti dan metode.Tidak ada aturan tentang urutan dimana mereka harus ditempatkan dalam class, tetapi yang normal adalah menyatakan semua properti diawal dan diikuti oleh metode. Contoh pembuatan class seperti berikut:
<?php
//class.myclass.php
class MyClass
{
    //properti      
public $prop1 = "I'm a class property!";
    //metode
public function setProperty($newval)
    {
        $this->prop1 = $newval;
    }
    //metode
public function getProperty()
    {
return $this->prop1 . "<br />";
    }
}
//memanggil class yang akan digunakan
$obj = new MyClass;
//mencetak properti
echo $obj->prop1;
?>

Manfaat dari pemrograman berbasis obyek sebagai berikut:
Reusability : sebuah obyek dapat digunakan untuk mengatasi masalah yang lain dengan menggabungkan kelas yang ada tanpa mempengaruhi alur kerja yang ada.
Efisiensi :konsep pemrograman berorientasi obyek sebenarnya dikembangkan untuk membuat kode yang lebih baik dan efisien, sehingga membagi setiap permasalahan menjadi bagian-bagian kecil dan kemudian mencari solusinya.
Pemeliharaan :pada pemrograman berorientsi obyek yang setiap bagian dipisahkan menjadi kecil dapat mempermudah pengembang dalam melakukan debug program.


Rabu, 18 Januari 2012

Kali ini saya akan sharing tentang copy, rename dan delete file dengan  PHP
COPY()  => Function ini digunakan untuk mengkopi file.

contoh:

<?php
$pathAwal = "d:/data/file.txt";
$pathTujuan = "d:/dataku/file.txt";
copy($pathAwal, $pathTujuan);  // mengcopy file dari path
awal ke path tujuan
?>

RENAME => Function ini digunakan untuk rename file atau direktori.

contoh:

<?php
$fileAwal = "d:/dataku/file.txt";
$fileBaru = "d:/dataku/file2.txt";
rename($fileAwal, $fileBaru); // mengubah nama file
file.txt menjadi file2.txt yang berada di d:/dataku/
?>

UNLINK() => Function ini digunakan untuk menghapus file.

contoh:

<?php
$pathFile = "d:/dataku/file.txt";
unlink($pathFile);   // menghapus file sesuai yang ada di
path file
?>



Subscribe to RSS Feed Follow me on Twitter!