Alhamdulillah akhirnya buka juga warnet saya hari ini, ya.. walaupun sangat sepi dihari pertama ini (dari buka sktar jam 10an sampai sekarang belum ada yang datang satupun :P), tapi saya sangat optimis bahwa kedepannya warnet ini akan dikenal banyak orang.
Dengan modal sekitar 9 juta, warnet saya pun hanya berisi 4 komputer, 1 server dan 3 client. jadi ya balik modalnya bakal agak lama kali ya, malah cendrungan nombok banyak di bulan pertama. Itu pun servernya pake komputer dirumah yang udah ada, hanya 3 unit PC baru untuk client.
Bisa saya rincikan anggaran pembuatan warnet saya dibawah ini :
1 unit PC dengan spek dibawah ini harganya sekitar 2.300.000:
AMD Athlon X2 5000
RAM DDR2 1 GB
Harddisk Seagate 250 Gb
Casing Powerlogic Azzura
Keyboard + Mouse Logitech
Monitor CRT 15"
Headset Std
Stabilizer
Dikali 3 : 6.900.000
Senin, 05 Juli 2010
Selasa, 22 Juni 2010
Recycle Bin di Oracle
Apa itu Recycle Bin?
Oracle memperkenalkan fitur "Recycle Bin" pada Oracle 10g yang digunakan untuk menyimpan semua objek database yang sudah di-drop. Jika suatu tabel di-drop maka semua objek yang berasosiasi dengan tabel tersebut seperti constraint, index, dll akan juga tersimpan di recycle bin.
Mengapa Recycle Bin?
Ketika user menghapus tabel yang cukup penting --secara tidak sengaja tentunya-- dan itu masih dibutuhkan secepatnya.
Oracle 9i memperkenalkan konsep flashback query untuk menerima data dari suatu titik di masa lalu, namun tidak bisa menerima query dari operasi DDL seperti drop table. Cara satu-satunya adalah membuat kembali tabel tersebut dari awal. Namun dengan fitur Recycle Bin pada Oracle 10g, user dapat dengan mudah mengembalikan objek database yang sudah terhapus.
Mengaktifkan/Menonaktifkan Recycle Bin
Untuk melihat aktif tidaknya Recycle Bin dapat dilakukan perintah berikut :
SQL > SELECT Value FROM V$parameter WHERE Name = 'recyclebin';
Value
-----
On
Jika value bernilai "On" maka Recycle Bin aktif, sebaliknya jika value bernilai "Off" maka Recycle Bin Belum Aktif.
Berikut adalah perintah untuk mengaktifkan / menonaktifkan Recycle Bin
SQL > ALTER SYSTEM SET recyclebin = ON;
atau
SQL > ALTER SESSION SET recyclebin = ON;
SQL > ALTER SYSTEM SET recyclebin = OFF;
atau
SQL > ALTER SESSION SET recyclebin = OFF;
Contoh Kasus 1 :
Senin, 07 Juni 2010
Antara CHAR, VARCHAR dan VARCHAR2 di Oracle
Dalam Oracle terdapat 3 tipe data yang menampung data-data alfanumerik atau string, yaitu CHAR, VARCHAR, VARCHAR2. Apa perbedaan diantara ketiga tipe data tersebut dan saat kapan kita menggunakannya? Mari kita bahas satu persatu.
CHAR
CHAR digunakan untuk menyimpan data dengan panjang karakter tetap. Jika tipe data ini dugunakan untuk menyimpan data yang bermacam-macam panjangnya seperti nama ataupun alamat, maka akan banyak memory yang terbuang dalam disk. CHAR cocok digunakan untuk penyimpanan data dengan nilai tetap seperti Jenis Kelamin.
Contoh :
Dapat dilihat dari hasil query diatas, bahwa col1 menyimpan karakter qwerty sepanjang 10 karakter, yang seharusnya hanya berisi 6 karakter.
CHAR
CHAR digunakan untuk menyimpan data dengan panjang karakter tetap. Jika tipe data ini dugunakan untuk menyimpan data yang bermacam-macam panjangnya seperti nama ataupun alamat, maka akan banyak memory yang terbuang dalam disk. CHAR cocok digunakan untuk penyimpanan data dengan nilai tetap seperti Jenis Kelamin.
Contoh :
SQL> CREATE TABLE char_test (col1 CHAR(10));
Table created.
SQL> INSERT INTO char_test VALUES ('qwerty');
1 row created.
Table created.
SQL> INSERT INTO char_test VALUES ('qwerty');
1 row created.
SQL> SELECT col1, length(col1), dump(col1) "ASCII Dump" FROM char_test;
COL1 LENGTH(COL1) ASCII Dump
---------- ------------ ------------------------------------------------------------
qwerty 10 Typ=96 Len=10: 113,119,101,114,116,121,32,32,32,32
COL1 LENGTH(COL1) ASCII Dump
---------- ------------ ------------------------------------------------------------
qwerty 10 Typ=96 Len=10: 113,119,101,114,116,121,32,32,32,32
Dapat dilihat dari hasil query diatas, bahwa col1 menyimpan karakter qwerty sepanjang 10 karakter, yang seharusnya hanya berisi 6 karakter.
Jumat, 28 Mei 2010
Apa itu Transaksi Basis Data
Kebanyakan dari kita mungkin mendefinisikan transaksi dengan bermacam pengertian. Pengalaman saya saat teman-teman kampus ditanyakan apakah itu transaksi, kebanyakan dai mereka menjawab transaksi merupakan sebuah pertukaran atau pemindahan uang atau barang terhadap 2 pihak. Itu tidak salah sepenuhnya juga, tapi menurut saya itu definisi yang terlalu sempit dan mengacu pada 1 kondisi dimana dalam hal ini merupakan transaksi perdagangan. Secara luas transaksi digunakan dimana-mana, seperti yang saya sedang dalami saat ini, yaitu pemrograman database. Ternyata konsep transaksi itu sangat penting dalam dunia ke-database-an khususnya.
Bila didefinisikan dalam cakupan database, transaksi merupakan satu atau lebih perintah SQL yang harus diselesaikan yang didalam pelaksanaannya akan merubah Database. Dengan kata lain sebuah transaksi dapat disebut dengan LUW (Logical Unit of Work) Transaksi merubah keadaan konsisten Database yang satu menjadi keadaan konsisten yang lain.
Sebuah transaksi memiliki 4 karakteristik yang dikenal sebagai property ACID :
- Atomicity : Transaksi dilakukan sekali dan bersifat Atomic, artinya merupakan satu kesatuan tunggal yang tidak dapat dipisah-baik itu pekerjaan dilaksanakan semua atau tidak satupun.
- Consistency : Jika basis data pada awalnya dalam keadaan konsisten, maka pelaksanaan transaksi dengan sendirinya juga harus meninggalkan basis data tetap dalam status konsiste.
- Isolation : Isolasi memastikan bahwa secara bersamaan (konkuren) eksekusi transaksi terisolasi dari yang lain.
- Durability ; Begitu transaksi telah dilaksanakan (di-commit) maka perubahan yang diakibatkan tidak akan hilang atau tahan lama (durable), sekalipun ada kegagalan system.
Properti ACID memastikan perilaku yang dapat diprediksi dan menguatkan peran transaksi sebagai konsep all or nothing yang didesain untuk mengurangi manajemen load ketika ada banyak variabel.
Kamis, 27 Mei 2010
Arsitektur Database Oracle
Oracle terdiri dari 2 komponen utama, yaitu Instance dan Database. Kedua komponen ini sangat berbeda namun saling berhubungan dan tidak dapat dipisahkan.
Database merupakan kumpulan data yang disimpan ke dalam sebuah physical storage, sedangkan instance merupakan kumpulan dari proses oracle dan alokasi memory yang ada di Oracle.
Konfigurasi instance dan database ini dibedakan menjadi 2 cara. Yang pertama, satu instance mengakses satu database, dan yang kedua, beberapa instance yang berjalan pada server / komputer yang berbeda mengakses satu database yang sama. Pada konfigurasi yang kedua, oracle menyebutnya sebagai Oracle Real Aplication Cluster (RAC).
Komponen Database Secara Fisik
Komponen database terdiri atas beberapa file fisik, antara lain :
· Datafile
· Redo Log File
· Control File
Datafile digunakan sebagai tempat menyimpan semua data yang ada di Oracle seperti user data (table,index) dan data dictionary. Tiap database paling sedikit memiliki satu datafile, tetapi biasanya database memiliki lebih dari 1 datafile. Sebuah konfigurasi database paling sederhana hanya memiliki 2 datafile, System dan Users. Dalam arsitektur logis, datafile disebut sebagai tablespace.
Redo log file
Redo log file digunakan sebagai tempat catatan setiap transaksi yang terjadi di Oracle. Fungsi utama redo log file adalah untuk kebutuhan proses recovery.
Jika pada saat oracle mengalami kegagalan dan data yang diperbaharui belum tersimpan di datafile, oracle akan menggunakan redo log file untuk melakukan recover data yang telah diperbaharui. Oracle akan mengembalikan posisi transaksi terakhir saat sebelum oracle mengalami kegagalan.
Control File
Control file berisi semua informasi file-file yang menjadi bagian dari database, seperti datafile dan redo log file. Control file menyimpan informasi posisi keadaan database saat ini :
· Nama dari database.
· Kapan database dibuat.
· Posisi keadaan datafile sekarang, seperti dalam kondisi recovery atau kondisi read only.
· Informasi terakhir kali database di shutdown, abort, immediate atau normal.
· History dari Archive Log
· Back Up yang dilakukan database
· Checkpoint
Komponen Database Secara Logis.
Oracle menyimpan data secara logis di dalam tablespace dan secara fisik di dalam datafile. Satu tablespace dapat memiliki lebih dari 1 datafile, dan setiap datafile tersebut akan tersimpan dalam harddisk.
Hirarki dari struktur logis database Oracle adalah sebagai berikut :
· Sebuah database Oracle memiliki paling tidak 1 Tablespace.
· Sebuah tablespace memiliki 1 atau lebih Segment.
· Sebuah segment merupakan kumpulan dari Extent.
· Dan extents adalah kumpulan dari Block.
Block merupakan komponen terkecil yang berisi operasi read dan write terhadap database.
Konsep Dasar Replikasi
Replikasi adalah suatu teknik untuk penyalinan dan pendistribusian data dan objek-objek database dari satu database ke database lain dan melaksanakan sinkronisasi antara database sehingga konsistensi data dapat terjamin.
Dengan menggunakan teknik replikasi ini, data dapat didistribusikan ke lokasi yang berbeda melalui koneksi jaringan lokal maupun internet. Replikasi juga memungkinkan untuk mendukung kinerja aplikasi, penyebaran data fisik sesuai dengan penggunaannya, seperti pemrosesan transaksi online dan DSS (Decision Support System) atau pemrosessan database terdistribusi melalui beberapa server.
Keuntungan replikasi tergantung dari jenis replikasi tetapi pada umumnya replikasi mendukung ketersediaan data setiap waktu dan dimanapun diperlukan.
Adapun keuntungan lainnya adalah :
- Memungkinkan beberapa lokasi menyimpan data yang sama. Hal ini sangat berguna pada saat lokasi-lokasi tersebut membutuhkan data yang sama atau memerlukan server yang terpisah dalam pembuatan aplikasi laporan.
- Aplikasi transaksi online terpisah dari aplikasi pembacaan seperti proses analisis database secara online, data smarts atau data warehouse.
- Memungkinkan otonomi yang besar. Pengguna dapat bekerja dengan menyalin data pada saat tidak terkoneksi kemudian melakukan perubahan untuk dibuat database baru pada saat terkoneksi
- Data dapat ditampilkan seperti layaknya melihat data tersebut dengan menggunakan aplikasi berbasis Web
- Meningkatkan kinerja pembacaan
- Membawa data mendekati lokasi individu atau kelompok pengguna. Hal ini akan membantu mengurangi masalah karena modifikasi data dan pemrosesan query yang dilakukan oleh banyak pengguna karena data dapat didistribusikan melalui jaringan dan data dapat dibagi berdasarkan kebutuhan masing-masing unit atau pengguna.
- Penggunaan replikasi sebagai bagian dari strategi standby server.
Rabu, 19 Mei 2010
Mengaktifkan Mode Archivelog pada Oracle
Tujuan utama dari mode archivelog adalah untuk melindung database dari kegagalan instance dan kerusakan media disk melalui pengarsipan secara online dengan mengaktifkan proses pengarsipan ke dalam file redo log. Secara default, database oracle masih dalam mode Noarchivelog.
Berikut adalah langkah-langkah pengaktifan mode archivelog pada database oracle:
Login sebagai SYSDBA.
SQL> conn / as sysdba
Connected.
Periksa status archive, kemudian shutdown instance.
SQL> select log_mode from v$database;
LOG_MODE
------------
NOARCHIVELOG
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
Mount database untuk mengubah mode operasi menjadi archivelog dengan perintah alter database archivelog.
SQL> startup mount
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 62915940 bytes
Database Buffers 100663296 bytes
Redo Buffers 2945024 bytes
Database mounted.
SQL> alter database archivelog;
Database altered.
SQL> alter database open;
Database altered.
Lalu periksa lagi status archive.
SQL> select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG
Rabu, 03 Maret 2010
Form Sederhana Menggunakan ExtJS
Melanjutkan tentang tutorial mengenai ExtJS saya yang pertama mengenai Progress Bar, sekarang saya akan memberikan tutorial sederhana bagaimana membuat Form di ExtJS.
Saya mendapatkan tutorial ini di http://www.extjs.com/learn/Tutorials, disana saya mengambil sub-bab mengenai cara pembuatan form dengan ExtJS.
Untuk penginstalan / konfigurasi ExtJS awal bisa lihat di postingan saya mengenai Progress Bar.
Langsung saja pada pembuatan form yang pertama, kita membuat form sederhana dengan Submit.
Seperti biasa, buat link-link ke library extjs seperti berikut di tag <head> dari file html kita, buat saja dengan nama form.html :
Kemudian di tag <body> buatlah tempat untuk me-render form dengan tag <div>,
<div id="mytraditionalform"></div>
mytraditionalform merupakan id dari tag <div> yang akan dipanggil dari file Javascript.
Berikutnya buatlah file Javascript dengan nama form.js, lalu ketikkan perintah berikut,
Ext.onReady(function(){
var simple = new Ext.form.FormPanel({
standardSubmit: true,
frame:true,
title: 'Register',
width: 350,
defaults: {width: 230},
defaultType: 'textfield',
items: [{
fieldLabel: 'NPM',
name: 'npm',
allowBlank:false
},
{
fieldLabel: 'Nama',
name: 'nama',
allowBlank:false
},
{
fieldLabel: 'Kelas',
name: 'kelas',
allowBlank:false
},
{
fieldLabel: 'Alamat',
name: 'alamat',
allowBlank:false
},
{
inputType: 'hidden',
id: 'submitbutton',
name: 'myhiddenbutton',
value: 'hiddenvalue'
}
],
buttons: [{
text: 'Submit',
handler: function() {
simple.getForm().getEl().dom.action = 'hasil.php';
simple.getForm().getEl().dom.method = 'POST';
simple.getForm().submit();
}
}]
});
simple.render('mytraditionalform');
});
Yang terakhir, kita buat file hasil.php untuk mendapatkan hasilnya.
Dan lihat outputnya.. Selamat Mencoba :) !!
Saya mendapatkan tutorial ini di http://www.extjs.com/learn/Tutorials, disana saya mengambil sub-bab mengenai cara pembuatan form dengan ExtJS.
Untuk penginstalan / konfigurasi ExtJS awal bisa lihat di postingan saya mengenai Progress Bar.
Langsung saja pada pembuatan form yang pertama, kita membuat form sederhana dengan Submit.
Seperti biasa, buat link-link ke library extjs seperti berikut di tag <head> dari file html kita, buat saja dengan nama form.html :
<script type="text/javascript" src="../extjs/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="../extjs/ext-all.js"></script>
<!—Memasukkan lokasi Javascript kita yang kita buat, sesuaikan dengan nama file kita :-->
<script type="text/javascript" src="form.js"></script>
<!—Memasukkan lokasi Ext StyleSheets : -->
<link rel="stylesheet" type="text/css" href="../extjs/resources/css/ext-all.css">
<script type="text/javascript" src="../extjs/ext-all.js"></script>
<!—Memasukkan lokasi Javascript kita yang kita buat, sesuaikan dengan nama file kita :-->
<script type="text/javascript" src="form.js"></script>
<!—Memasukkan lokasi Ext StyleSheets : -->
<link rel="stylesheet" type="text/css" href="../extjs/resources/css/ext-all.css">
Kemudian di tag <body> buatlah tempat untuk me-render form dengan tag <div>,
<div id="mytraditionalform"></div>
mytraditionalform merupakan id dari tag <div> yang akan dipanggil dari file Javascript.
Berikutnya buatlah file Javascript dengan nama form.js, lalu ketikkan perintah berikut,
Ext.onReady(function(){
var simple = new Ext.form.FormPanel({
standardSubmit: true,
frame:true,
title: 'Register',
width: 350,
defaults: {width: 230},
defaultType: 'textfield',
items: [{
fieldLabel: 'NPM',
name: 'npm',
allowBlank:false
},
{
fieldLabel: 'Nama',
name: 'nama',
allowBlank:false
},
{
fieldLabel: 'Kelas',
name: 'kelas',
allowBlank:false
},
{
fieldLabel: 'Alamat',
name: 'alamat',
allowBlank:false
},
{
inputType: 'hidden',
id: 'submitbutton',
name: 'myhiddenbutton',
value: 'hiddenvalue'
}
],
buttons: [{
text: 'Submit',
handler: function() {
simple.getForm().getEl().dom.action = 'hasil.php';
simple.getForm().getEl().dom.method = 'POST';
simple.getForm().submit();
}
}]
});
simple.render('mytraditionalform');
});
Yang terakhir, kita buat file hasil.php untuk mendapatkan hasilnya.
<?php
$npm = $_POST["npm"];
$nama = $_POST["nama"];
$kelas = $_POST["kelas"];
$alamat = $_POST["alamat"];
echo "NPM kamu ".$npm."<br/>";
echo "Nama kamu ".$nama."<br/>";
echo "Kamu kelas ".$kelas."<br/>";
echo "Alamat kamu di ".$alamat."<br/>";
?>
Dan lihat outputnya.. Selamat Mencoba :) !!
Label:
ExtJS,
Javascript,
PHP,
Web
Langganan:
Postingan (Atom)
