sugik

Oct 202009
 

Combo Grid

Combo Grid

Ini adalah pengembangan dari source yang kemaren saya post. yaitu ComboBox TwinTrigger dengan combo kita akan membuat saat tombol combo di clik akan memunculkan grid di bawah combo tersebut.

Ide ini terpikirkan oleh saya setelah saya beberapa saat lalu pernah membuat combo multi colom dengan java swing, nah ternyata teorinya sama juga di sini, yaitu menggunakan PopUpMenu.

Ok langsung saja langkah – langkahnya seperti berikut :

  1. Buat grid dari ExtJs
  2. Buat menu juga
  3. isi menu dengan panel yang di dalam panel kita addkan komponen grid yang telah kita buat.

ok mudahkan lihat source di bawah ini :

var helpGrid = new Ext.menu.Menu();
helpGrid.add(
  new Ext.Panel({
    title:'CARI DATA',
    layout:'fit',
    buttonAlign:'left',
    modal:true,
    width:600,
    height:400,
    closeAction:'hide',
    plain: true,
    //items: [gridNPWPD1],
    buttons: [{
      text: 'BATAL',
      handler: function(){
        helpGrid.hide();
      }
    }]
  })
);

kita tinggal membuat combo yang akan memanggil popup menu tersebut berikut source code nya :

Ext.ux.TwinCombo = Ext.extend(Ext.form.ComboBox,{
  initComponent: Ext.form.TwinTriggerField.prototype.initComponent,
  getTrigger: Ext.form.TwinTriggerField.prototype.getTrigger,
  initTrigger: Ext.form.TwinTriggerField.prototype.initTrigger,
  onTrigger1Click: Ext.form.ComboBox.prototype.onTriggerClick,
  trigger1Class: Ext.form.ComboBox.prototype.triggerClass,
  onTrigger2Click : function(){
      helpGrid.showAt([this.getPosition()[0],this.getPosition()[1]+this.getHeight()]);
  },
  validationEvent:false,
  validateOnBlur:false,
  trigger1Class:'x-form-clear-trigger',
  trigger2Class:'x-form-search-trigger',
  hideTrigger1:true
});

Ok jadi deh combo kita silakan kembangkan , semoga membantu ….

Oct 182009
 
Combo Modif

Combo Modif

Bagaimana tertarik dengan tampilan combo di atas anda bisa menggunakan source di bawah ini

 Ext.ux.TwinCombo = Ext.extend(Ext.form.ComboBox,{
	initComponent: Ext.form.TwinTriggerField.prototype.initComponent,
	getTrigger: Ext.form.TwinTriggerField.prototype.getTrigger,
	initTrigger: Ext.form.TwinTriggerField.prototype.initTrigger,
	onTrigger1Click: Ext.form.ComboBox.prototype.onTriggerClick,
	trigger1Class: Ext.form.ComboBox.prototype.triggerClass,
	onTrigger2Click : function(){
		var v = this.getRawValue();
		alert (v);
	},
	validationEvent:false,
	validateOnBlur:false,
	trigger1Class:'x-form-clear-trigger',
	trigger2Class:'x-form-search-trigger'
	//hideTrigger1:true
});

Cara penggunaan :

new Ext.ux.TwinCombo({
	width: 130,
	fieldLabel:"NPWPD",
	tooltip: 'Advanced Search',
	emptyText:'NPWPD...',
	allowBlank:false,
	name:'NPWPD',
	id:'NPWPD'
})

Silakan di kembangkan

Sumber http://extjs.com/forum

Oct 142009
 

Assalamu’ alaikum wr wb

Lama saya ingin menulis tentang ini, tulisan ini saya persembahkan pada tiga orang yang awalnya tidak kenal dan akhirnya saya anggap sebagai saudara mungkin lebih. beliau adalah

  1. P-Ijo [Mas Dianang P].
  2. Ustad Smile [Mas Wahyudi Sugiantara].
  3. Kyai Jarkoni [Mas Didik Pratama].

Tulisan ini saya tujukan kepada ke tiga saudara ku semoga kalian singgah dan membaca tulisanku ini.

[Mas Dianang]

Awal dari cerita ini adalah saat saya merantau untuk mencari ilmu di Sidoarjo sebuah kota yang jauh dari asal saya [Nganjuk]. di sanalah awal dari semua persahabatan ini. Saat saya masih duduk di bangku STM itulah awal perkenalan dengan Mas dianang yang jujur samapi sekarang walaupun dia jauh di sana saya masih menganggap sebagai kakku sendiri. dia adalah seorang yang pantang menyerah itulah yang menarik dari mas dianang. terutama masalah cinta, perjuangannya perlu di acungi 4 jempol. itulah yang membuat dia menjadi seorang yang menurut saya menarik. walaupun banyak onak dan duri semoga perjuangan cintamu menghasilkan sesuai dengan keinginanmu, Amin.

[Mas Yudi]

Seiring berjalannya waktu dalam pencarian guru mulai dari Gus Rukin guruku waktu STM dulu, hingga suatu saat saya bermimpi bertemu dengan salah seorang ulama besar dan berdasarkan mimpi itulah aku bertemu dengan Ustad Smile dan Kyai Rofi’i atau mbah Shirot. Mas Yudi juga seorang yang pantang menyerah tapi berbeda dengan Mas dianang yang berjuang demi cinta sedang Mas Yudi lebih semangan kalo lagi Ngaji, apalai kalo latihan di lapangan huhhhh hebat banget tuh tendangannya.. heeee awas wussssss.

[Kyai Jarkoni]

Berawal saat masuk kuliah inilah pertemuanku dengan si ahli sain, kalo ada masalah mata pelaharan beliau lah yang merupakan acuan dan tempat bertanya, dari situlah saya mulai dekat dengan Mas Didik. kalo dari ke dua saudara ku yang inilah yang mengajarkanku bagimana berhadapan dengan orang atau berbicara pada orang – orang saat kita menjadi pembicara atau yang lain, pokonya kalo masalah ceramah wah serahkan pada Mas Didik. pasti beres deh, Tapi beda dengan yang lain yang ini itu lemah dalam masalah cewek,,, hehe … Maaf mas ayo kapan undangannya ….

Sebenarnya banyak yang ingin saya sampaikan semoga tiga orang saudaraku tersebut dapat bahagia dan mencapai cita – citanya, amin.

NB: Maaf kalo ada yang keliru, kalian adalah inspirasiku, Selain Nabi Muhammad.

Wassalamu’ alaikum wr wb

Oct 012009
 

Mbahsomo Chat

Mbahsomo Chat

bersamaan dengan di akuinya batik oleh dunia, mbahsomo juga telah menyelesaikan bagian kecil dari Project M Forum yaotu chat online dengan browser.

Untuk dapat mengakses anda harus register dulu. untuk demo silakan masuk ke http://forum.do-event.com/?/chat/

Terimakasih kepada :

ExtJS, CodeIgniter, dan semua teman – teman yang telah membantu semoga ini dapat bermanfaat.

Sep 292009
 

Setelah beberapa hari saya bertapa dan bersemedi akhirnya bisa louncing versi beta untuk M Forum, dalam M Forum ini akan ada modul untuk chat yang akan bisa di load melalui 2 metode yaitu dengan melalui browser dan yang satu dengan mendownload program chat yang bisa di install ke kompi masing – masing tanpa perlu buka browser.

untuk sementara yang modul chat belum saya louncing karena masih dalam proses develop.

untuk demo forum anda bisa masuk ke sini : http://forum.do-event.com

M Forum

M Forum

Untuk dapat mendownload sourcenya anda bisa masuk kesini

Sep 262009
 

Assalamu’ alaikum wr wb

Pada akhir – akhir ini kita sering mendengar tentang kata – kata JSON atau JavaScript Object Notation biasanya sering digunakan pada pemrograman web, menurut kabarnya JSON inilah yang akan nantinya menggantikan format XML yang sering digunakan. kenapa harus menggunakan JSON, ada beberapa kemudahan pada JSON di banding dengan XML, kalau XML tagnya mirip dengan tag HTML sedangkan JSON dia lebih mengarah kepada Array yang ter setruktur.

contoh format XML :

<induk>
  <anak1>Satu</anak1>
  <anak2>Dua</anak2>
</induk>

Continue reading »

Sep 222009
 

Assalamu’ alaikum wr wb

Segenap sataf dan karyawan mbahsomo corp. mengucapkan :


System.out.println("Selamat Hari Raya Idulfitri Mohon Maaf Lahir dan Batin")

Wassalamu’alaikum wr wb

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