Welcome to Abdul Malik Ikhsan's Blog

ORM dengan IgnitedRecord Library ( CodeIgniter)

Posted in Tutorial PHP by samsonasik on December 30, 2008

ORM bisa dikatakan teknik mapping table-table menjadi object yang nantinya dpt direlasikan dengan manfaat mengubah pola pikir query yang rumit menjadi lebih sederhana. Di sini saya coba contohkan dengan salah satu library orm untuk CodeIgniter.
Hal pertama yang harus dilakukan adalah mendownload ignitedrecord library ( http://www.assembla.com/wiki/show/IgnitedRecord ).
Kedua, (kalau menggunakan mysql), hapus semua tanda kutip miring( `  ) yang ada dalam file system/database/drivers/mysql/mysql_utility.php karena berpengaruh pada query `namatable`.`*`
Ketiga, install : Untuk instalasi, bisa dilihat di manualnya 🙂 (RTFM)
Keempat, mulai praktek deh :d
ceritanya, di ignitedRecord menjabarkan relasi table itu dalam 4 tipe, yaitu belongs_to, has_many, has_one, dan has_and_belongs_to_many

belongs_to digunakan untuk penerima relasi baik itu banyak ke satu atau satu ke satu
has_many digunakan untuk mendeskripsikan relasi satu ke banyak
has_one digunakan untuk mendeskripsikan relasi satu ke satu
has_and_belongs_to_many digunakan untuk mendeskripsikan relasi banyak ke banyak

Sekarang, saya akan mencoba mendemokan relasi satu ke banyak, yaitu table users & table posts (nama table harus plural)
field2 table users : id, username, password
field2 table posts : id, teks, user_id
field user_id foreign_key terhadap table users
Nah, kita bisa bikin model2nya seperti berikut :
1. //model/user.php

<?
 class user extends IgnitedRecord{
    var $has_many = 'posts';
}
&#91;/sourcecode&#93;

2. //model/post.php

&#91;sourcecode language='php'&#93;
<?php
class post extends IgnitedRecord{
    var $belongs_to = 'user';
}
&#91;/sourcecode&#93;

Now, at controller :

&#91;sourcecode language='php'&#93;
 ............................
       $this->load->Model('User','user');
        $rec = & $this->user->find_all();
        $data['rec'] = $rec;
        $this->load->view('view_ignited',$data);
.............................

Terakhir, menampilkannya di view :

<?php
foreach($rec as $u)
{
    echo $u->username;
    $post = & $this->user->find($u->id);
    $postrecord = & $post->related('posts');
    $i = 0;
    foreach($postrecord->get() as $key => $posting){ $i +=1;
        echo "
<blockquote>posting ke : ".$i." ".$posting->teks."</blockquote>
";
    }
}
Advertisements

Penggunaan ArrayList<Object> dalam Java

Posted in Tutorial Java by samsonasik on December 22, 2008

Kali ini, saya akan membahas tentang bagaimana menyimpan object ke dalam sebuah array dan bagaimana implementasi untuk menampilkannya.
ok, saya buat contoh kelas yg akan dibuat ArrayList:

class Barang{
    int id;
    String kd,nm;

    public Barang(int id, String kd, String nm)
    {
        this.id = id;
        this.kd = kd;
        this.nm = nm;
    }
    
    public int getId()
    {
       return id;
    }
    
    public String getKd()
    {
       return kd;
    }
    
    public String getNm()
    {
       return nm;
    }
}

——-
Nah, sekarang, kita buat kelas untuk menampilkannya :

import java.util.ArrayList;

public class TampilData{

    ArrayList<Barang> tampung;
    
    public TampilData()
    {
        //instansiasi
        tampung = new ArrayList<Barang>();
    }
    
    public void isiData(int id,String kd,String nm)
    {
        tampung.add(new Barang(id,kd,nm));
    }
    
    public void showData()
    {
        for(Barang barang:tampung)
        {
            System.out.println("id brg : "+barang.getId()+""+", kd brg : "+barang.getKd()+""+", nm brg : "+barang.getNm());
        }
    }

    public static void main(String args[])
    {
        TampilData td = new TampilData();

        td.isiData(1,"01","topi");
        td.isiData(2,"02","kemeja");
        td.isiData(3,"03","sepatu");
        td.isiData(4,"04","sandal");

        td.showData();
    }
}

———————————
**kelas Barang
Kita mempunyai kelas Barang yang terdiri dari 3 member variable yg diisi pada waktu object nantinya diinstansiasi(diisi pada konstruktor).

**kelas TampilData
–> Dengan memanggil paket class ArrayList, kita bisa menggunakan method2 seperti get(), add(), size() , dan lain sebagainya.
–> Di dalam kelas TampilData, kita buat sebuah member variable bernama tampung yg digunakan untuk menampung object yg dibentuk dari kelas Barang, dengan format
ArrayList<Barang> tampung;
–> method add digunakan untuk mengisi data ke dalam object ArrayList, sedangkan get digunakan untuk menampilkan data.
————

semoga bermanfaat 🙂

Tentang Kesombongan

Posted in Uncategorized by samsonasik on December 14, 2008

Abul Laits Assamarqandi meriwayatkan dengan sanadnya dari Ka’bul Ahbar berkata: “Orang yang sombong itu akan datang pada hari kiamat berupa orang sekecil semut diliputi oleh kehinaan dari segala tempat, mereka masuk neraka dan diberi minum dari thinatul khabaal, yakni darah bercampur nanah dari ahli neraka.”
(more…)