Seharian ini saya mencari cara supaya SQL Developer di Macbook saya (10.5.8) bisa dikoneksikan dengan database Oracle XE yang saya instal di dalam Windows XP yang saya instal melalui Parallel Desktop. Dalam benak saya, saya harus bisa pakai SQL Developer karena mengadministrasi Oracle XE lewat Database Home Page yang sudah disediakan itu malah membuat saya bingung. Eh dan juga saya agak malas kalo harus menggunakan apa-apa di dalam Windows Parallel saya.. Hohoho.. (Lah cuman saya kasih memory 256MB je..)

Jadi lah saya install SQL Developer di Macbook saya. Lalu saya bikin New Connection, memasukkan setting yang diperlukan, lalu menekan tombol Test. Waktu yang diperlukan cukup lama untuk akhirnya keluar hasil yang menyatakan bahwa koneksi saya gagal. Hampir tepatnya kata2 yang keluar seperti ini:

IO Exception. The Network Adapter could not establish connection.

Sumpah saya bingung seratus keliling, salahnya ini ada dimana. Saya muter2 di google, kebanyakan pada bilang yang salah ada di settingan Firewall. Port 1521 milik Oracle harus saya buka, supaya komputer lain bisa nembus Windows Parallel saya untuk menggunakan Oracle. Oke lah, Firewall saya bahkan kemudian saya Off-kan sekalian. Saya coba Test lagi koneksi saya. Masih gagal. :-(

Jalan-jalan ke google lagi, saya nemu cara untuk mengetahui apakah ada masalah koneksi jaringan dari Mac saya ke Windows Parallel-nya. Oke lah. Saya coba lakukan ping ke IP Address Windows Parallel saya. Sukses. Saya coba lakukan telnet untuk mengecek apakah port 1521 milik oracle bisa saya pakai dengan menuliskan perintah: $ telnet [IP address Windows saya] 1521. Sukses. Lah berarti salahnya bukan di jaringan dong, lah di ping bisa, di telnet bisa.

Muter-muter keliling garis khatulistiwa lalu bolak balik kutub utara kutub selatan, akhirnya sama nemu forum diskusi disini. Ternyata temen-temenkuh tercintah, masalahnya memang bukan terletak pada koneksi jaringan, tapi pada SQL Developernya. Terutama kaitannya dengan settingan proxy yang diberlakukan di kantor saya. Entah bagaimana, SQL Developer tetap me-load settingan proxy kantor, walaupun di preference-nya sudah di-off-kan.

Nah untuk mengakali-nya, setiap saya mau menggunakan SQL Developer, saya harus membuka aplikasinya di saat Macbook saya tidak terkoneksi dengan jaringan. Caranya? Ya cabut aja kabel LAN-nya, atau kalo pakai Airport, matiin aja dulu wireless-nya. Setelah SQL Developer-nya ter-load puooll, baru deh saya koneksikan lagi Macbook saya ke jaringan.

Sekarang saya coba untuk buat koneksi baru di SQL Developer ke Oracle XE saya tadi. Gak dalam waktu lama, keluar hasilnya yang menyatakan listener Oracle-nya yang gak jalan. Huhuuhuuu.. Well, bagemanapun ini menyatakan SQL Developer-nya sudah bisa nyambung ke database server saya. Listener Oracle ga jalan? Well, saya buka Services di Windows Parallel saya. Mungkin memang kelihatan kalau servis untuk Oracle TNS Listener-nya jalan. Tapi tetep saya restart (ato di Stop trus di Start lagi). Terus saya coba Test lagi koneksi SQL Developer di Mac dan Tadaaaaa.. Suksess..sesss..sesss!!!

Oiyah, perlu juga diperhatikan saat mengkoneksikan SQL Developer dengan Oracle XE, bahwa yang dimasukkan itu nama servis-nya (Service Name) bukan nama SID-nya. Yah semoga postingan ini bisa mbantu temen-temen yang dapet masalah dengan ini dan belum tau solusinya. Hohoho.. Cheeers ;-)

Wiw, udah sekian lama ga apdet blog. Bahan sih banyak, tapi ga sempet saking sibuknya koding.. *sok sibuk* Well, berawal dari chatting tadi sama temen yang pengen bikin recursive mode buat struktur menu yang hirarki, jadilah hari ini saya akan posting tentang bagemana caranya Menampilkan Struktur Menu yang Hirarki menggunakan Code Igniter. Cukup yang simpel-simpel aja yah.

Untuk tutorial ini, Saya anggap kita sudah punya database MySQL, dengan dua tabel yaitu Tabel ms_moduls dan Tabel ms_menus. Dan anggap saja Anda sudah tau caranya untuk mengatur setting database di CI. Kalau digambarkan, struktur dan relasi kedua tabel tadi itu bisa dilihat di gambar di bawah ini.

tabel ms_moduls dan ms_menus

Untuk menampilkan Modul dan Menu dalam bentuk seperti gambar berikut, yang pasti kita harus buat 3 macam File. Satu untuk Model, satu untuk View dan satu lagi untuk Controller.

Tampilan Menu Hirarki

Langkah-langkah yang harus dilakukan adalah:

  • Buat file controller dengan nama menu_hirarki.php. Isi dengan kode berikut:

<?php
class Menu_hirarki extends Controller {
function Menu_hirarki()
{
parent::Controller();
$this->load->database();
$this->load->model('model_menu');
}
function index()
{
$data['moduls'] = $this->model_menu->get_moduls();
$data['menus']  = $this->model_menu->get_menus();
$this->load->view('view_menu',$data);
}
}
?>

  • Buat file Model dengan nama model_menu.php. Isi dengan kode berikut:

<?php
class Model_menu extends Model {
function Model_menu()
{
parent::Model();
}
function get_moduls()
{
$this->db->order_by('stack');
$query = $this->db->get('ms_moduls');
return $query->result();
}
function get_menus()
{
$this->db->order_by('stack');
$query = $this->db->get('ms_menus');
return $query->result();
}
}
?>

  • Buat file View dengan nama view_menu.php. Isi dengan kode berikut:

<html>
<head>
<title>Tampilan Menu Hirarki</title>
</head>
<body>
<h1>Tampilan Menu Hirarki</h1>
<table width='100%' cellpadding='5' cellspacing='5'>
<tr>
<td valign='top'>
<?php
foreach($moduls as $modul):
?>
<h2><? echo $modul->name; ?></h2>
<div class="sidemenu">
<?php
foreach($menus as $menu):
if($menu->modul_id == $modul->id)
{
?>
<p><a href="yourLink"><?echo $menu->name;?></a></p>
<?
}
endforeach;
?>
</div>
<?
endforeach;
?>
</td>
</tr>
</table>
</body>
</html>

  • Untuk css dapat diletakkan di dalam file view_menu.php di dalam Head.

<style>
body {
background-color: #fff;
margin:auto;
font-family: Lucida Grande, Trebuchet, Verdana, Sans-serif;
font-size:11px;
color: #4F5155;
width:300px;
}
a {
color: #003399;
background-color: transparent;
font-weight: normal;
}
a:hover {color:#CF682F}
h1 {
color: #444;
background-color: transparent;
border-bottom: 1px solid #ACBEDD;
font-size: 22px;
font-weight: bold;
margin: 24px 0 2px 0;
padding: 5px 0 6px 0;
}
h2 {
color: #fff;
background-color: #ACBEDD;
background-repeat: repeat;
font-size: 12px;
font-weight: bold;
margin: 0;
padding: 5px 5px 5px 5px;
}
.sidemenu {
margin: 0 0 15px 0;
padding: 5px 5px 5px 5px;
border: 1px solid #ACBEDD;
border-top: none;
font-size:11px;
}
</style>

  • Panggil controller menu_hirarki.php untuk melihat hasilnya. Misalnya, jika webroot di localhost Anda bernama “MyWebRoot”, maka panggil controller dengan alamat: http://localhost/MyWebRoot/index.php/menu_hirarki/

Tadaaa…

Selamat mencoba ya, semoga sukses ;-)

Booook!!

Seharian ini saya habiskan untuk gimana caranya bisa nampilin dependant dropdown list. Apa itu? Itu adalah disaat kamu mengubah value pada salah satu dropdown list, yang memberikan value baru ke dropdown list yang lain. Misalnya dropdown pertama berisi daftar Merk Mobil, jika dipilih salah satu Merk, maka dropdown kedua akan terisi dengan Seri apa saja milik Merk Mobil yang tadi dipilih.. Ngerti kan? Ngerti dooooong..

Nah, jadi begini, saya udah jungkir balik muter2 lapangan sepak bola seratus kali (eh, nggak deng), akhirnya saya menemukan referensi untuk ini dengan menggunakan XAJAX. Oyah, perlu diketahui juga, saya membangun website saya menggunakan CodeIgniter. Untuk webserver dan database-nya saya menggunakan Apache dan MySql yang diinstal dengan baik oleh MAMP ;)

Sebelum masuk ke cara-cara supaya bisa menampilkan dropdown list seperti yang saya jabarkan di atas ituh, yang kita perlukan adalah menginstal XAJAX ke dalam CodeIgniter. Cara ini udah ada disini, tapi gak papalah saya translate disini buat kamu yang males banget buka kamus yah.. Hihihi..

  1. Download versi terakhir XAJAX dari sini.
  2. Zip file yang telah di-download tadi. Kemudian pindahkan semua file dan subfolder yang terdapat di dalam folder xajax_core ke folder /application/libraries. Contohnya, saya pakai nama auction untuk root folder aplikasi web saya. Maka susunan folder setelah isi folder xajax_core saya pindahkan, bakal keliatan seperti ini:
  3. Ganti nama file xajax.inc.php menjadi xajax.php.
  4. Buat folder init, letakkan dalam folder application (/application/init). Buat file dalam folder init, beri nama init_ajax.php. Isi file dengan code berikut:
    //example of init_ajax file
    <?php if (!defined('BASEPATH')) exit('No direct script access allowed');
    if ( ! class_exists('xajax'))
    {
    require_once(APPPATH.'libraries/xajax'.EXT);
    }
    $obj =& get_instance();
    $obj->xajax = new xajax();
    $obj->ci_is_loaded[] = 'xajax';
    ?>
  5. Copy folder xajax_js dan semua isinya ke root folder aplikasi kamu. Nah, kalo di tempat saya, jadinya bentuk susunan folder saya akan seperti ini:
  6. Pilihan ini OPTIONAL, seandainya kamu menggunakan mod_rewrite (terutama untuk menghilangkan “index.php” yang biasanya muncul di url CI). Kamu harus tambahkan, xajax_js di dalam file .htaccess, seperti yang terlihat pada code di bawah.
    RewriteEngine on
    RewriteBase /
    RewriteCond $1 !^(index\.php|img|css|xajax_js|robots\.txt)
    RewriteRule ^(.*)$ /index.php/$1 [L]
  7. Sip.. udah selesai, instalasinya. Kalau mau nge-tes, XAJAX-nya udah jalan atau belum, bikin Controller file, namain aja dengan testxajax.php. Kemudian tuliskan code berikut ini di dalam file itu.
    <?php
    class Testxajax extends Controller
    {
    function Testxajax()
    {
    parent::controller();
    $this->load->library('xajax');
    $this->xajax->registerFunction(array('test_function',&$this,'test_function'));
    $this->xajax->processRequest();
    }
    function test_function($number)
    {
    $objResponse = new xajaxResponse();
    $objResponse->Assign("SomeElementId","innerHTML", "Xajax is working. Lets add: ".($number+3));
    return $objResponse;
    }
    function index()
    {
    $template['xajax_js'] = $this->xajax->getJavascript(base_url());
    $template['content'] = '<div id="SomeElementId"></div><input type="button" value="test" onclick="xajax_test_function(2);">';
    $this->load->view('test', $template);
    }
    }
    ?>
  8. Lalu buat view file dengan nama test.php, dan tuliskan code berikut.
    <html>
    <head>
    <title>Xajax 0.5 test</title>
    <?=$xajax_js?>
    </head>
    <body>
    <h1><?=$content?></h1>
    </body>
    </html>

Cara ngetesnya, (kalau dalam kasus saya), tinggal tuliskan http://localhost/auction/tetsxajax. Fff..saya ndak tau nih caranya gimana biar itu kode-kode bisa nampak bagus.. hiks.. Yang penting bisa dimengerti yah.. Next Post: Cara menggunakan XAJAX di CI untuk menampilkan dependent dropdown list ;)

Blog baru gue terbengkalai gini… Fufufufu..
Perkenalkeun dulu deh.. Gue pecinta mac yang harus memodip mac gue supaya bisa dipakek kerja di kantor gue.. Hehehe.. Secara, kalo pakek windows gue udah males.. **halah**
Tapi tetep ada beberapa aplikasi yang tetep harus dijalankan dengan windows.. T_T

Nah rencananya di blog ini, mau gue isi tentang Parallel, Oracle for Mac, CodeIgniter, MyEclipse, pokoknya apa-apa yang pernah gue lakukan ke mac gue, yang sebaiknya gue dokumentasikan lah.. Hehehehe.. (keknya ini dah gue bilang juga di halaman About.. hihi..)
Tapi lu jangan ngarep yang expert2 loh yaa.. :-p

Untuk awal-awal mungkin malah gue masukin kek tata cara instal-instal doang.. Hohoho.. Abis banyaknya yang gue dapet di inet pada pakek bahasa inggris sih ya.. Iya kalo kitanya alhamdulillah bisa ngerti, tapi kalo yang bahasa indonesia aja dapet 5 di rapot, kan kesian ndak ngerti gitu.. **pletak**

Tapi karena ini belum pernah diisiin sama sekali, ddak papa lah gue curhat dulu dikit deh.. Hahahaha.. Okeh gitu aja dulu.. Tunggu aja deh yah.. :)

Follow

Get every new post delivered to your Inbox.