Sep 172009
 

PopUp Menu

PopUp Menu

Pada tutorial kali ini saya akan menunjukkan bagaimana membuat popup menu pada halaman html yang kita buat, dengan adanya popup menu ini kita akan dapat membuat menu klik kana sesuai dengan keinginan kita, ada beberapa hal yang kita butuhkan dalam pembuatan popup menu ini.

  1. Library ExtJs.
  2. yang jelas ya sebuah halaman html

Untuk mematikan event clik kanan pada halaman html anda dapat menambahkan scrip pada body html kamu

<body oncontextmenu="return false;">

ok diatas telah kita buat sebuah source untuk mematikan event klik kana pada halaman html kita. selanjutnya kita akan membuat popup menunya dengan memanfaatkan library dari ExtJs. ok silakan tulis coding di bawah ini

Ext.onReady(function(){
  Ext.QuickTips.init();
  Ext.getBody().on('contextmenu', function(e){
    taskContextMenu.showAt(e.getXY());
  });
  var taskContextMenu = new Ext.menu.Menu();
  taskContextMenu.add(
    new Ext.menu.Item({text: 'HOME', id:'1',handler:  loadNewPages}),
    new Ext.menu.Separator(),
    new Ext.menu.Item({text: 'ABOUT', id:'2',handler:  loadNewPages})
  );

  function loadNewPages(node){
    if(node.id=='1'){
      window.location="#";
    }else if(node.id=='2'){
      Ext.Msg.alert('ABOUT', '<b>WELCOME<b><br>ANDA BERADA PADA EVENT ABOUT');
    }
  }

});

ok mudah kan sekarang coba klik kanan pada halaman html kamu pasti bisa deh 😀

Sep 042009
 

Setelah kemaren kita belajar membuat trigger dan function di MySQL sekarang kita akan kembali pada Microsoft alias SQL Server, pada kali ini saya akan memberi contoh bagaimana membuat Trigger di SQL Server dan memanfaat trigger tersebut untuk membuat log pada table tersebut, ok mari kita mulai saja.

Pertama buat 4 Buat table pada SQL Server seperti pada source di bawah ini :

CREATE TABLE [Barang] (
 [kd_barang] [char] (5) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[nm_barang] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
 [stok] [int] NULL ,
 CONSTRAINT [PK_Barang] PRIMARY KEY  CLUSTERED
 (
 [kd_barang]
 )  ON [PRIMARY]
) ON [PRIMARY];

CREATE TABLE [pembelian] (
 [no_nota] [char] (5) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
 [tgl_beli] [smalldatetime] NULL ,
 [pembeli] [varchar] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
 CONSTRAINT [PK_pembelian] PRIMARY KEY  CLUSTERED
 (
 [no_nota]
 )  ON [PRIMARY]
) ON [PRIMARY];

CREATE TABLE [pembelian_detail] (
 [no_nota] [char] (5) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
 [kd_barang] [char] (5) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
 [jumlah] [int] NULL ,
 CONSTRAINT [PK_pembelian_detail] PRIMARY KEY  CLUSTERED
 (
 [no_nota],
 [kd_barang]
 )  ON [PRIMARY] ,
 CONSTRAINT [FK_pembelian_detail_Barang] FOREIGN KEY
 (
 [kd_barang]
 ) REFERENCES [Barang] (
 [kd_barang]
 ) ON UPDATE CASCADE ,
 CONSTRAINT [FK_pembelian_detail_pembelian] FOREIGN KEY
 (
 [no_nota]
 ) REFERENCES [pembelian] (
 [no_nota]
 ) ON DELETE CASCADE  ON UPDATE CASCADE
) ON [PRIMARY];

CREATE TABLE [pembelian_detail_log] (
 [nomor] [int] IDENTITY (1, 1) NOT NULL ,
 [no_nota] [char] (5) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
 [kd_barang] [char] (5) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
 [jumlah] [int] NULL ,
 [keterangan] [varchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
 [tgl] [datetime] NULL ,
 CONSTRAINT [PK_pembelian_detail_log] PRIMARY KEY  CLUSTERED
 (
 [nomor]
 )  ON [PRIMARY]
) ON [PRIMARY]

Setelah kita menyiapkan tiga buat table langsung saja kita buat triggernya, maaf penjelasan tetentang trigger mungkin akan saya jelaskan lain waktu saja, atau anda silakan buat pertanyaan di sini. Continue reading »

Sep 032009
 
Kelanjutan dari tutorial sebelumnya selain Trigger di MySQL yang baru juga terdapat procedure. Pertama buat sebuah tabel di MySQL kamu.
Code :
CREATE
TABLE tbl_stock (
kode char(2) NOT NULL,
nama varchar(20) default NULL,
jumlah int(11) NOT NULL default ‘0’,
harga double(15,3) NOT NULL default ‘0.000’,
total double(15,3) default NULL,
PRIMARY KEY
(kode)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8;
Pada kasus kali ini kita akan melakukan perhitungan di tbl_stock yaitu pada field total yang akan otomatis melakukan perkalian pada saat kita melakukan isi dan edit data. Pada procedure yang kita buat akan otomatis melakukan perhitungan dan mengetahui apakah data tersebut akan di Edit ada tambah data.
Code :
CREATE
PROCEDURE pr_isi_stock(IN kode_in char(2), IN nama_in VARCHAR(20), IN jumlah_in
INT, IN harga_in DOUBLE)
BEGIN
DECLARE ada INT;
SELECT COUNT(*) INTO ada from tbl_stock where kode=kode_in;
IF ada=0 then BEGIN
–Tambah baru
insert into tbl_stock values(kode_in,nama_in,jumlah_in,harga_in,(jumlah_in*harga_in));
END;
ELSE
–Edit data yang sudah ada
update tbl_stock set nama=nama_in, jumlah=jumlah_in,
harga=harga_in, total=jumlah_in*harga_in where kode=kode_in;
END IF;
END;
Untuk memanggil Procedure di atas dapat menggunakan perintah call nm_procedure

Kelanjutan dari tutorial sebelumnya selain Trigger di MySQL yang baru juga terdapat procedure. Pertama buat sebuah tabel di MySQL kamu.

Code :

CREATE
TABLE <code>tbl_stock</code> (
<code>kode</code> char(2) NOT NULL,
<code>nama</code> varchar(20) default NULL,
<code>jumlah</code> int(11) NOT NULL default '0',
<code>harga</code> double(15,3) NOT NULL default '0.000',
<code>total</code> double(15,3) default NULL,
PRIMARY KEY
(<code>kode</code>)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8;

Pada kasus kali ini kita akan melakukan perhitungan di tbl_stock yaitu pada field total yang akan otomatis melakukan perkalian pada saat kita melakukan isi dan edit data. Pada procedure yang kita buat akan otomatis melakukan perhitungan dan mengetahui apakah data tersebut akan di Edit ada tambah data.

Code :

CREATE
PROCEDURE pr_isi_stock(IN kode_in char(2), IN nama_in VARCHAR(20), IN jumlah_in
INT, IN harga_in DOUBLE)
BEGIN
DECLARE ada INT;
SELECT COUNT(*) INTO ada from tbl_stock where kode=kode_in;
IF ada=0 then BEGIN
--Tambah baru
insert into tbl_stock values(kode_in,nama_in,jumlah_in,harga_in,(jumlah_in*harga_in));
END;
ELSE
--Edit data yang sudah ada
update tbl_stock set nama=nama_in, jumlah=jumlah_in,
harga=harga_in, total=jumlah_in*harga_in where kode=kode_in;
END IF;
END;

Untuk memanggil Procedure di atas dapat menggunakan perintah call nm_procedure

Hasil

Hasil

Aug 282009
 

Buat kamu – kamu yang sedang explorasi OpenSwing dan ingin membuat Auto Create kode atau mungkin membuat auto create No Nota, mungkin tutorial ini akan membantu anda dan sedikit meberi pencerahan kepada anda.

Setelah anda membuat sebuah form add untuk transaksi anda, kasus ini biasa terjadi pada saat kita mebuat inputan transaksi penjualan yang membutuhkan ayto create no nota, ada beberapa langkah yang harus anda lakukan yang pertama adalah dengan menambahkan event geter pada form add anda, lihat gambar

Add Form

Add Form

Setelah membuat desain form di atas tulis coding di bawah ini : Continue reading »

Aug 242009
 

Setelah beberapa saat yang lalu download OpenSwing, dan setelah melihat tutorialnya yang berada di http://oswing.sourceforge.net/ segera saya coba – coba bagaimana pemakaian FrameWork ini, yang katanya kemudahannya akan menyamai pemrograman visual yang lain seperti VB dan Delphi. Dengan adanya framework ini saya juga berharap program java yang menurut orang – orang sulit akan menjadi mudah semudah pemrograman yang lain.
Langkah dalam percobaan kita kali ini adalah

  1. Download dulu OpenSwing di http://oswing.sourceforge.net/.
  2. Install netbeans, karena saya pake netbeans waktu developenya.
  3. Install Plugin hibernate di netbenas.

Setelah semua siap dan tersedia. dan anda telah download OpenSwing jangan lupa untuk memasukkan library openswing ke dalam netbeans agar kita dapat mudah memakainya. caranya
Masuk ke palette manager dan buat kategori baru, setelah itu Add From jar dan pilih clientos.jar dari folder yang udah di extrack tadi. setelah itu akan muncul semua komponen yang ada, saya anggap semua sampai disini sudah bisa.
Lanjut seperti biasa masukkan dulu library hibernate dan openswing  ke project kita, caranya klik kanan di project -> properties project -> pilih libraries, untuk memasukkan libbrary hibernate pada netbeans 6.5 sudah ada jadi tinggal klik tombol add library sedangkan untuk openswing klik di add jar/folder. cari lokasi clientos.jar nya. Continue reading »

Aug 232009
 
Images

Images

Untuk membahas pertanyaan dari seorang teman. mungkin akhir – akhir ini saya akan memulai posting – posting tentang tutorial pemrograman java mulai dari dasar, karena banyak teman – teman yang ternyata sedang belajar pemrograman java dari dasar, jadi saya harap bagi teman – teman yang sudah edvance dapat juga membantu dengan memberi coment – coment yang membangun dan semoga dapat saya buat pelajaran untuk dapat terus menulis pada blog ini.

Ok segera pada tutorial ke sekian kalinya saya akan membahas bagaimana cara mengirimkan atau mengisi object yang berada dalam sebuah class dari class lain.

Pertama buat project baru di Netbeans kamu, lalu buat sebuah JJrame dengan JButton dan JTextField lihat gambar : Continue reading »

Aug 192009
 

Selanjutnya adalah vidio tutorial untuk para pengguna delphi, yang masih pemula.

Delphi

Delphi

Untuk download vidio silakan klik disini
pass = http://sugik.do-event.com

Aug 192009
 

Mungkin tutorial ini sangat sederhana, terutama bagi para pengguna java yang udah lama bercokol di dunia maya ini, ok tidak ada salahnya kita awali tutorial ini dengan sedikit vidio bagaimana cara menggunakan netbeans.

Netbeans

Netbeans

Untuk dapat mendownload silakan klik disini

Untuk download source code disini

pass = http://sugik.do-event.com

Aug 092009
 

Assalamu’alaikum wr wb

Minggu lalu saya sedang ada pekerjaan untuk membuat report dengan banyak sekali model grafik – grafik. Yang membuat agak sedikit kerepotan adalah report ini jalan di browser bukan pada program desktop, juga masalahnya bukan juga dengan java, kenapa kalo di java kan ada Ireport, nah di php kira – kira apa yang di pakai ya. Saya teringat beberapa tahun yang lalu saya pernah iseng buat report di php dengan grafik dengan memanfaatkan Flass, alias parsing ke flas dengan data xml. Tapi saya saya lupa nama programnya apa. Karena lupa ya jalan terakhir tanya sama mbah google. dengan jawabannya adalah XML/SWF Charts yang beralamatkan di http://www.maani.us ok segera explorasi dua hari saya berexplorasi dengan nih chart. dengan keputusan ya mungkin ini kurang cocok atau saya yang kurang merasa puas karena harus create xml baru bisa di baca oleh char. Lama merenung akhirnya teringat dengan ExtJs kalo ngak salah ada chart di ExtJs, ok langsung buka ExtJs dan hasilnya betul ada. ok cerita selesai sampai disini ya mulai explorasinya.

Pertama yang dibutuhkan adalah Library ExtJS yang bisa di Download di http://www.extjs.com, dan juga

CodeIgniter.
Copykan Library ExtJS ke folder di CodeIgniter misal kita buat folder sendiri

1.Langkah pertama konfigurasi database pada CodeIgniter anda.
2.Buat table pada database anda
misal :

CREATE TABLE <code>tbl_grafik</code> (
    <code>keterangan</code> varchar(50) NOT NULL,
    <code>tahun</code> int(11) NOT NULL,
    <code>bulan</code> int(11) NOT NULL,
    <code>nilai</code> float(9,3) DEFAULT '0.000',
    PRIMARY KEY (<code>keterangan</code>)
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  Insert into tbl_grafik values('Pembelian',2009,1,200);
  Insert into tbl_grafik values('Pembelian',2009,2,245);
  Insert into tbl_grafik values('Penjualan',2009,1,150);
  Insert into tbl_grafik values('Penjualan',2009,2,300);

3.Buat Controller dengan nama printController.php

Continue reading »

Aug 062009
 

Tadi ada seorang teman berntanya dan mengirimkan sourcenya untuk minta bantuan bagaimana program ini kok gak bisa jalan. Sebelumnya saya mitna maaf kalo saya upload ke sini, saya pikir biar bisa di simpan ,bisa di lihat dan dipelajari yang lain saya ber inisiatif untuk menulisnya di blog ini.

Kasusnya adalah sebuah program yang akan menampilkan dan mengambil data dari keyboard. ok langsung saja berikut adalah source nya.

/*
 * Desain by mbahsomo
 * email   : mbahsomo@do-event.com
 * website : http://www.do-event.com
 * ===============================================================
 *     Semua sorce dalam program ini dibawah license [GPL]
 *     Anda mengembangkan dan memperbanyak source ini
 *     Dengan tidak menghilangkan nama pembuat
 * ===============================================================
 */

package latihan;

import java.util.Scanner;

/**
 *
 * @author Sugik
 */

public class AmbilInputKeyboard {
 public static void main(String[] args){
 String dftr_nm[][] = new String[100][100];
 char ulang='y';
 int pilih;
 int jml_dt=0;
 do{
 System.out.println("=============================");
 System.out.println("  1. Daftar member");
 System.out.println("  2. Lihat member");
 System.out.println("=============================");
 System.out.print("Pilihan:");
 Scanner pl = new Scanner(System.in);
 pilih = pl.nextInt();
 switch(pilih){
 case 1:
 System.out.print("Jumlah anggota yang akan dimasukkan:");
 Scanner j = new Scanner(System.in);
 jml_dt = j.nextInt();
 for(int i=0; i<jml_dt; i++){
 System.out.print("Nama anda:");
 Scanner dft = new Scanner(System.in);
 dftr_nm[i][0] = dft.next();
 System.out.print("Alamat :");
 dftr_nm[i][1] = dft.next();
 System.out.print("Umur :");
 dftr_nm[i][2] = dft.next();
 }
 break;
 case 2:
 for(int i=0; i<jml_dt; i++){
 System.out.println("Nama anda:"+dftr_nm[i][0]);
 System.out.println("Alamat :"+dftr_nm[i][1]);
 System.out.println("Umur :"+dftr_nm[i][2]);
 }
 break;
 }
 System.out.print("Kembali lagi [y/t]:");
 Scanner ul = new Scanner(System.in);
 String cb = ul.next();
 ulang=cb.charAt(0);
 }while(ulang=='y');
 }
}

Hasilnya adalah sebagai berikut :

hasil

hasil

Ok silakan mencoba dan di kembangkan