CRUD Cimande 2 Dao Service Part III (Update)

06:28PM Feb 10, 2011 in category Java by Feby Fadiiellla

Hy ..

Ketemu lagi di postingan selanjut tentang CRUD Cimande 2 Dao Service. Ok , kali ini saya akan membahas tentang Update pada CRUD...

Update bisa di katakan juga sebagai Edit ..

Pada dasarnya class untuk Update sama dengan class pada Save ..

hanya beda sebagian kecil saja ..

 

Baik, langsung saja ini adalah class EditIdentitasSekolah.java

class EditIdentitasSekolah.java akan menuju ke SuccessUpdateIdentitasSekolah.vm untuk menunjukkan bahwa proses pengeditan telah berhasil..

class FormIdentitasSekolah.java akan menuju ke EditIdentitas.vm untuk melakukan proses pengeditan data.

berikut adalah file EditIdentitas.vm


<link rel="stylesheet" type="text/css" href="file:///C|/Documents and Settings/style.css">

<link rel="stylesheet" type="text/css" href="file:///C|/Documents and Settings/jscript/src/css/jscal2.css" />
<link rel="stylesheet" type="text/css" href="file:///C|/Documents and Settings/jscript/src/css/border-radius.css" />
<link rel="stylesheet" type="text/css" href="file:///C|/Documents and Settings/jscript/src/css/gold/gold.css" />
<script type="text/javascript" src="file:///C|/Documents and Settings/jscript/src/js/jscal2.js"></script>
<script type="text/javascript" src="file:///C|/Documents and Settings/jscript/src/js/lang/en.js"></script>
<script type="text/javascript" src="#surl("value=/jscript/ext/adapter/jquery/jquery.js")"></script>

<script src="file:///C|/Documents and Settings/jscript/js/jquery-latest.js"></script>
<script type="text/javascript" src="file:///C|/Documents and Settings/jscript/js/jquery.validate.js"></script>
<style type="text/css">
* { font-family: Verdana; font-size: 96%; }
label { width: 10em; float: left; }
label.error { float: none; color: red; padding-left: .5em; vertical-align: top; }
p { clear: both; }
.submit { margin-left: 12em; }
em { font-weight: bold; padding-right: 1em; vertical-align: top; }
.style1 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold;
}
.style6 {color: #006B9F}
.style22 { font-weight: bold;
color: #006B9F;
font-size: 18px;
font-family: Verdana;
}
.style23 { font-family: Arial;
font-weight: bold;
font-size: 12px;
}
.style24 {font-family: Arial}
.style25 {color: #006B9F; font-family: Arial; }
</style>
<script>
$(document).ready(function(){
$("#commentForm").validate();
});
</script>
<script></script>
<form class="commentForm" id="commentForm" method="get" action="update.action">

<form method="post" action="update.action">

<table bgcolor="#d0dcff" border="0" cellpadding="3" cellspacing="1" width="62%" align="center">
<tr bgcolor="#d0dcff">
<td height="3"></td>
</tr>

<tr bgcolor="#d0dcff">
<td bgcolor="#d0dcff"><table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0" bordercolor="#0000FF" bgcolor="#d0dcff">
<tr>
<td width="114" rowspan="2" class="style1"><div align="center"><img src="../../images/psbOnlineImages/identitas.png" width="95" height="51" /></div></td>
<td width="629" height="28" class="style22 style24">Identitas Sekolah </td>
</tr>
<tr>
<td><span class="style23">Menu ini di gunakan untuk memasukkan data identitas sekolah </span></td>
</tr>
</table>
<div align="center" class="style1"></div></td>
</tr>
<tr bgcolor="#ffffff">
<td height="3"></td>
</tr>
<tr bgcolor="#FFFFFF">
<td><table bgcolor="#d0dcff" height="100%" width="100%">
<tr>
<td width="328" bordercolor="#999999" bgcolor="#FFFFFF"><span class="style2 style6 style24">Nama Sekolah *</span></td>
<td width="27" bgcolor="#FFFFFF"><div align="center" class="style24">:</div></td>
<td width="402" bordercolor="#999999" bgcolor="#FFFFFF"><span class="style25">
<label>
<input type="text" name="nama_sekolah" class="required number" value="$!nama_sekolah">
</label>
</span></td>
</tr>
<tr>
<td bordercolor="#999999" bgcolor="#FFFFFF"><span class="style2 style6 style24">Alamat*</span></td>
<td bgcolor="#FFFFFF"><div align="center" class="style24">:</div></td>
<td bordercolor="#999999" bgcolor="#FFFFFF"><span class="style25">
<label>
<textarea name="alamat"></textarea>
</label>
</span></td>
</tr>
<tr>
<td bordercolor="#999999" bgcolor="#FFFFFF"><span class="style2 style6 style24">Nama Kepala Sekolah*</span></td>
<td bgcolor="#FFFFFF"><div align="center" class="style24">:</div></td>
<td bordercolor="#999999" bgcolor="#FFFFFF"><input name="nama_kepala_sekolah" type="text" class="required number " value="$!nama_kepala_sekolah"></td>
</tr>
<tr>
<td bordercolor="#999999" bgcolor="#FFFFFF"><span class="style2 style6 style24">Ketua Panitia PSB*</span></td>
<td bgcolor="#FFFFFF"><div align="center" class="style24">:</div></td>
<td bordercolor="#999999" bgcolor="#FFFFFF"><input name="ketua_panitia_psb" type="text" class="required number " value="$!ketua_panitia_psb"></td>
</tr>
<tr>
<td bordercolor="#999999" bgcolor="#FFFFFF"><span class="style2 style6 style24">Telepon*</span></td>
<td bgcolor="#FFFFFF"><div align="center" class="style24">:</div></td>
<td bordercolor="#999999" bgcolor="#FFFFFF"><input name="telepon" type="text" class="requierd number " value="$!telepon"></td>
</tr>
<tr>
<td bordercolor="#999999" bgcolor="#FFFFFF" class="style2 style6 style24">Fax*</td>
<td bgcolor="#FFFFFF"><div align="center" class="style24">:</div></td>
<td bordercolor="#999999" bgcolor="#FFFFFF"><input name="fax" type="text" class="required number " value="$!fax"></td>
</tr>
</table></td>
<tr bgcolor="#ffffff">
<td height="3"></td>
</tr>

<tr bgcolor="#d0dcff">
<td bgcolor="#d0dcff" align="center"> <span class="style24">
<input type="submit" name="Submit" value="Save" />
<input type="hidden" name="id" value="$!id"/>
<input type="hidden" name="nama_sekolah" value="$!nama_sekolah"/>
<input type="hidden" name="alamat" value="$!alamat"/>
<input type="hidden" name="nama_kepala_sekolah" value="$!nama_kepala_sekolah"/>
<input type="hidden" name="ketua_panitia_psb" value="$!ketua_panitia_psb"/>
<input type="hidden" name="telepon" value="$!telepon"/>
<input type="hidden" name="fax" value="$!fax"/>
</span></td>
</tr>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
</form>
</form>


 

SuccessUpdate.vm

berikut ini adalah file Struts-IdentitasSekolah.xml-nya

dan hasilnya seperti ini :

Baik ,, sepertinya cukup dulu untuk Update,,

dan untuk Delete akan di bahas minggu depan ,,

sampai jumpa postingan selanjutnya ,,

Comments[0]

CRUD Cimande 2 Dao Service Part II (Read)

04:16PM Feb 04, 2011 in category Java by Feby Fadiiellla

Untitled Document

Hii hii semuanya ...

Minggu lalu saya sudah membahas tentang CRUD Cimande 2 Create..

dan minggu ini, saya ingin mengulas tentang huruf R pada CRUD yaitu Read..

Read pada crud yaitu bagian Search ..

Yapz , langsung aja kita mulai dah ..

karena class Service dan implement sudah di bahas di blog minggu kemarin ,,

jadi ya langsung aja ke class action ya ..

class action untuk read adalah SearchIdentitasSekolah.java ..

berikut syntax SearchIdentitasSekolah.java

dan untuk viewernya .. ada file SearchIdentitasSekolah.vm dan ResultIdentitsSekolah.vm..

Search.vm berisi nama-nama field yang akan digunakan untuk mencari data yang dibutuhkan..

berikut syntax SearchIdentitasSekolah.vm

Sedangkan ResultIdentitasSekolah.vm berisi tabel hasil pencarian..

berikut syntax ResultIdentitasSekolah.vm

Untuk menampilkan SearchIdentitsaSekolah.vm digunakan class action FormIdentitasSekolah.java yang telah saya tuliskan di blog minggu kemarin..sedangkan untuk menampilkan Result.vm digunakan class action SearchIdentitasSekolah.

dan berikut adalah struts-IdentitasSekolah.xml untuk read ..

dan hasilnya adalah sebagai berikut ..

ketika di klik Search, keluarlah result-nya

yaps , sepertinya sekian dulu untuk Read ,,

selanjutnya kita akan bahas Update ..

di tunggu ya .. :)

 

Comments[0]

CRUD Cimande 2 Dao Service Part I (Create)

06:33PM Jan 26, 2011 in category Java by Feby Fadiiellla

Untitled Document

Haii haii ..

Seminggu rasanya cepet banget berlalu ya ..

kayak baru kemarin nge-blog ,, sekarang udah mulai ngeblog lagi ..

Ok , untuk minggu ini saya akan membahas tentang CRUD pada 'CIMANDE 2 DAO SERVICE'..

Cimande 2 ??? Apa bedanya dengan cimande 1 ???

Baik ,, kita akan bahas disini ..

Perbedaan mereka adalah :

  • Dari segi konfigurasi database,, pada cimande 1 dilakukan pada 3 file yaitu : cimande.properties , hibernate.cfg.xml ,dan db.properties... sedangkan pada cimande 2 hanya dilakukan pada 2 file saja , yaitu : cimande.properties dan db.properties.
  • Dari segi mapping class,, cimande 1 melakukan mapping pada 2 class yaitu : hibernate.cfg.xml dan applicationContext-hibernate.xml..... sedangkan pada cimande 2 hanya di lakukan pada file hibernate.cfg.xml saja.
  • Kalau di cimande 2, memakai file ClassService dan ClassServiceImplement

Ok, sekarang ayo kita mulai buat CRUD-nya ..

Tapi, CRUD itu singkatan dari Create, Read, Update and Delete.. dimana ,,

  Naming Action
C New create.action
R Search filter.action
U Edit edit.action
D Delete delete.action

Tapi , saat ini saya mau bahas yang create dulu yah ...

OK , pertama-tama buat entity dulu. Untuk entity, syntax tidak berbeda dengan cimande 1 ..

Identitas Sekolah.java

Kemudian buat class Service dan ServiceImplement..

IdentitasSekolahService.java

IdentitasSekolahServiceImpl.java

pada saat create,, akan menjalankan method save() pada class IdentitasSekolahService.java

Kemudian buat class action. Untuk Create , class action-nya adalah Form.java dan Save.java

FormIdentitasSekolah.java

SaveIdentitasSekolah.java

Kemudian, buat viewernya..

FormIdentitasSekolah.vm


<link rel="stylesheet" type="text/css" href="file:///C|/Documents and Settings/style.css">

<link rel="stylesheet" type="text/css" href="file:///C|/Documents and Settings/jscript/src/css/jscal2.css" />
<link rel="stylesheet" type="text/css" href="file:///C|/Documents and Settings/jscript/src/css/border-radius.css" />
<link rel="stylesheet" type="text/css" href="file:///C|/Documents and Settings/jscript/src/css/gold/gold.css" />
<script type="text/javascript" src="file:///C|/Documents and Settings/jscript/src/js/jscal2.js"></script>
<script type="text/javascript" src="file:///C|/Documents and Settings/jscript/src/js/lang/en.js"></script>
<script type="text/javascript" src="#surl("value=/jscript/ext/adapter/jquery/jquery.js")"></script>

<script src="file:///C|/Documents and Settings/jscript/js/jquery-latest.js"></script>
<script type="text/javascript" src="file:///C|/Documents and Settings/jscript/js/jquery.validate.js"></script>
<style type="text/css">
* { font-family: Verdana; font-size: 96%; }
label { width: 10em; float: left; }
label.error { float: none; color: red; padding-left: .5em; vertical-align: top; }
p { clear: both; }
.submit { margin-left: 12em; }
em { font-weight: bold; padding-right: 1em; vertical-align: top; }
.style1 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold;
}
.style6 {color: #006B9F}
.style22 { font-weight: bold;
color: #006B9F;
font-size: 18px;
font-family: Verdana;
}
.style23 { font-family: Arial;
font-weight: bold;
font-size: 12px;
}
.style24 {font-family: Arial}
.style25 {color: #006B9F; font-family: Arial; }
</style>
<script>
$(document).ready(function(){
$("#commentForm").validate();
});
</script>
<script></script>
<form id="commentForm" name="form1" method="post" action="save.action">

<table bgcolor="#d0dcff" border="0" cellpadding="3" cellspacing="1" width="62%" align="center">
<tr bgcolor="#d0dcff">
<td height="3"></td>
</tr>

<tr bgcolor="#d0dcff">
<td bgcolor="#d0dcff"><table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0" bordercolor="#0000FF" bgcolor="#d0dcff">
<tr>
<td width="114" rowspan="2" class="style1"><div align="center"><img src="../../images/psbOnlineImages/identitas.png" width="95" height="51" /></div></td>
<td width="629" height="28" class="style22 style24">Identitas Sekolah </td>
</tr>
<tr>
<td><span class="style23">Menu ini di gunakan untuk memasukkan data identitas sekolah </span></td>
</tr>
</table>
<div align="center" class="style1"></div></td>
</tr>
<tr bgcolor="#ffffff">
<td height="3"></td>
</tr>
<tr bgcolor="#FFFFFF">
<td><table bgcolor="#d0dcff" height="100%" width="100%">

<tr>
<td width="328" bordercolor="#999999" bgcolor="#FFFFFF"><span class="style2 style6 style24">Nama Sekolah *</span></td>
<td width="27" bgcolor="#FFFFFF"><div align="center" class="style24">:</div></td>
<td width="402" bordercolor="#999999" bgcolor="#FFFFFF"><span class="style25">
<label>
<input type="text" name="nama_sekolah" class="required number" value="$!nama_sekolah">
</label>
</span></td>
</tr>
<tr>
<td bordercolor="#999999" bgcolor="#FFFFFF"><span class="style2 style6 style24">Alamat*</span></td>
<td bgcolor="#FFFFFF"><div align="center" class="style24">:</div></td>
<td bordercolor="#999999" bgcolor="#FFFFFF"><span class="style25">
<label>
<textarea name="alamat"></textarea>
</label>
</span></td>
</tr>
<tr>
<td bordercolor="#999999" bgcolor="#FFFFFF"><span class="style2 style6 style24">Nama Kepala Sekolah*</span></td>
<td bgcolor="#FFFFFF"><div align="center" class="style24">:</div></td>
<td bordercolor="#999999" bgcolor="#FFFFFF"><input name="nama_kepala_sekolah" type="text" class="required number " value="$!nama_kepala_sekolah"></td>
</tr>
<tr>
<td bordercolor="#999999" bgcolor="#FFFFFF"><span class="style2 style6 style24">Ketua Panitia PSB*</span></td>
<td bgcolor="#FFFFFF"><div align="center" class="style24">:</div></td>
<td bordercolor="#999999" bgcolor="#FFFFFF"><input name="ketua_panitia_psb" type="text" class="required number " value="$!ketua_panitia_psb"></td>
</tr>
<tr>
<td bordercolor="#999999" bgcolor="#FFFFFF"><span class="style2 style6 style24">Telepon*</span></td>
<td bgcolor="#FFFFFF"><div align="center" class="style24">:</div></td>
<td bordercolor="#999999" bgcolor="#FFFFFF"><input name="telepon" type="text" class="requierd number " value="$!telepon"></td>
</tr>
<tr>
<td bordercolor="#999999" bgcolor="#FFFFFF" class="style2 style6 style24">Fax*</td>
<td bgcolor="#FFFFFF"><div align="center" class="style24">:</div></td>
<td bordercolor="#999999" bgcolor="#FFFFFF"><input name="fax" type="text" class="required number " value="$!fax"></td>
</tr>

</table></td>
<tr bgcolor="#ffffff">
<td height="3"></td>
</tr>

<tr bgcolor="#d0dcff">
<td bgcolor="#d0dcff" align="center"> <input type="submit" name="Submit" value="Save" />
<input type="hidden" name="id" value="$!id"/>
</td>
</tr>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
</form>

 

 

SaveIdentitasSekolah.vm

 

Kemudian buat file struts-nya

Struts-IdentitasSekolah.xml

dan hasilnya

dan setelah di klik Save akan keluar detailnya

Yapzz ,, begitulah create ..

Untuk Read, Update dan Delete akan di bahas di part selanjutnya ..

Wait yah ..

Bye bye ..

Comments[0]

Jasper Report Part II

12:54PM Jan 20, 2011 in category Java by Feby Fadiiellla

Untitled Document

Hi hi ...

Gak terasa waktunya nge-blog lagi..

Yapzz ,, minggu ini saya mau lanjutin topik blog saya yang kemarin..

Kalau kemarin saya bahas tentang gimana cara design report di iReport..

nah, sekarang sayamau bahas tentang gimana sebuah report di panggil dalam

aplikasi cimande kita. Dengan menggunakan kode java kita dapat

meng-export report menjadi bentuk PDF, RTF, ODT dll. Akan tetapi dalam paket

JasperReport telah disediakan JasperReportViewer, sebuah aplikasi

untuk melakukan preview terhadap output dari report yang telah kita buat..

Ok , ga' perlu banyak basa-basi ..

Pertama-tama ,, Anda haruslah punya library yang dibutuhkan untuk dapat

memanggil report dalam aplikasi cimande kita.

Berikut nama-nama library-nya :

  • commons-collections-3.2.1
  • commons-io-1.3.2
  • commons-logging-1.1
  • groovy-all-1.5.5
  • iText-2.1.7
  • jasperreports-3.7.5
  • jasperreports-extensions-3.5.3
  • jasperreports-fonts-3.7.5
  • poi-3.6-20091214
  • rhino-1.7R1
  • struts2-jasperreports-plugin-2.1.8.1

Setelah Anda punya library yang di butuhkan, mulailah dengan membuat

class MyIO.java.. class ini berisi source code berikut. Dalam pembuatannya

tinggal 'copas' alias copy paste aja .. gak ada yang perlu di rubah..

MyIO.java

kemudian buat class Cetak.java.. class inilah yang berfungsi meng-eksport report menjadi bentuk-bentuk lain seperti PDF, ODT, RTF dll. Dibawah ini merupakan class yang dapat meng-eksport report menjadi bentuk PDF, RTF, dan ODT.

Cetak.java

kemudian, edit viewer-nya .. tambahkan source code di bawah ini untuk

memanggil report kita.

ttPengambilanUangJaminanPenawaranLelang dalam source code di atas merupakan nama file report yang akan kita panggil.

Sedangkan pada struts-nya tinggal kita tambahkan action seperti biasanya

 

Yapzz ,, seperti itulah memanggil report dalam aplikasi cimande kita..

Samapi jumpa di postingan selanjutnya ...

Byee ,...

 

 

 

Comments[0]

Jasper Report Part I

02:52AM Jan 15, 2011 in category Java by Feby Fadiiellla

Untitled Document

Hy .. ga' terasa waktu demi waktu berjalan ...

Dan sekarang tibalah waktu'nya buat posting ...

Pikiran tentang mau posting tentang apaan yah , udah melintas di benak sejak berhari-hari yang lalu ...

Dengan sedikit pertimbangan (hhehehe) ,, akhirnya saya putuskan untuk posting tentang ilmu baru saya waktu saya ngerjain project depkeu ...

Dalam pengerjaan project depkeu, di wajibkan di setiap modul ada proses mencetak report ...

Bagaimana proses mencetak report ????

Nah ,, ayo kita belajar ...

Pertama :: Desain-lah report pada sebuah software yang bernama "iReport" ... iReport bisa di download di http://jasperforge.org/

i-Report yang saya pake adalah iReport-3.7.5..

Cara install-nya gampang kok, gak ribet ,,, hhe

Cara pembuatannya ikuti langkah di bawah ini :

- Buat koneksi database. Klik menu Report Datasources

-Buat Connections/Datasources baru. Klik new

- Pilih Database JDBC Connection, kemudian pilih next

- Kemudian , beri masukkan identitas database..Standarisasi yang ada garis merah adalah nama database yang saya gunakan.. Kemudian klik test untuk melakukan testing apakah sudah terkoneksi apa belum.

-Jika muncul seperti gambar di bawah ini , berarti koneksi anda berhasil. Kemudian klik save

- dan Datasources akan otomatis tertambahkan pada list Datasources

-Setelah bikin koneksi database, mulailah men-design.. Pilih File >> New

-Pilih kertas yang akan di pakai. Pilihlah sesuai kebutuhan(hehhe)

-Tentukan nama dan lokasi penyimpanan file iReport, kemudian klik next.

-Setelah itu , Finish

- Yapzz ,, muncullah halaman dimana kita dapat mendesign bentuk dari report kita... Sebelum mendesign,, masukklah ke Report Query untuk menentukan dan memilih field-field mana yang di butuhkan dalam pembuatan report Anda.. caranya klik icon yang di lingkar merah..

- Beginilah tampilan Report Query. Klik query designer untuk memilih field apa saja yang akan di pakai ..

- Untuk memilih field , tentukan dulu tabel yang akan di pakai , baru kemudian memilih field. Contoh : pilih tabel 'app_pengembaliancekgiro' dan memilih field jenis_penerimaan, nama_kuasa,nama_ penyetor, dan nama_peserta. Setelah selesai memilih, klik OK.

-Setelah di klik OK, akan muncul seperti ini..kemudian klik OK lagi

- Selesai sudah prosesi memilih field-field yang di butuhkan.. yappz ,, sekarang mulailah mendesign. Untuk men-design suatu report, gunakan fasilitas yang telah di berikan dalam "pallete" (hhehe). Beginilah bentuk pallete..

Untuk memberi tulisan biasa, gunakan static text..

-Misalnya saja design report seperti ini..Jika Anda ingin melihat hasilnya, tinggal klik preview seperti pada gambar di bawah ini..

-dan hasilnya akan seperti ini.. jika field di letakkan pada bagian Detail Band, maka hasilnya nanti akan menampilkan semua field yang ada di database..

yapzz ,, begitulah cara pembuatan design dalam iReport..

dan untuk bagaimana cara menampilkan report pada aplikasi ,,

tunggu dan baca "Jasper Report Part II."

(xixixixixixixii) .....

Untuk para reader,, dimohon untuk bersabar...

OKee??? n_n

Comments[0]

Open Window ?????

09:27PM Des 21, 2010 in category Java by Feby Fadiiellla

Untitled Document

Hai Hai !!!

Setelah sekian lama vacum ,, hhehe

Akhirnya tibalah saatya untuk posting ..

Akhir-akhir ini saya mengerjakan project baru .. yaitu project milik Departemen Keuangan..

Setelah di bagi tugas saya mengerjakan bagian Angsuran Transfer ..

Di sela-sela proses pengerjaan saya ,, saya mendapatkan ilmu baru ,,

"Gimana cara-nya open window???? "

okeh ,, ga' perlu banyak basa-basi ya ??...

'chekk it dott'

nih caranya :

tambahkan source code di bawah ini ...

Note :

- notapembayarantransfer2 itu nama descriptor-nya.

- carideb.action itu action yang merujuk ke form yag berada di window baru.

Okeh ,, kayaknya cukup sekian posting kali ini ..

Semoga bermanfaat ...

Sampai jumpa di postingan selanjutnya yahh ????

 

 

Comments[0]

Quartz 2 Job

07:44AM Okt 18, 2010 in category Java by Feby Fadiiellla

Hay hay !! ketemu lagi di postingan selanjutnya ,, dan masih berkecimpung di dunia QUARTZ(hHehhe) ..

Kali ini aku mau bahas tentang Quartz 2 Job ..

Quartz 2 job berarti , dalam sebuah aplikasi ada 2 job yang akan di jalankan dalam trigger yang berbeda ..

Cara pembuatan-nya hampir sama dengan quartz 1 job ,, bedanya ada di file Spring-Quartz.xml -nya ..

Di file Spring-Quartz.xml ditambahkan bean baru untuk mendefnisikan job kedua..

Berikut cara menambah-kan job pada quartz :

- As usual ,, buat class yang biasa-nya ku sebut RunMeJob yang kedua

Class RunMeJob udah aku jelasin isinya di posting pertama-ku ,, untuk syntax-nya tidak ada perubahan .. hanya tinggal ganti variabel aja..

- Kemudian buat class RunMeTask yang kedua

Class RunMeTask yang kedua inilah yang berisi tentang apa aja yang akan dilakukan , jika trigger kedua berjalan..

- And ,, the last one ,, edit source code di file Spring-Quartz.xml

Ini source code awal (quartz 1 job)..

<beans xmlns="http://www.springframework.

org/schema/beans"
xmlns:xsi="http://www.w3.org/2001

/XMLSchema-instance"
xsi:schemaLocation=

"http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/

spring-beans-2.5.xsd">

<bean id="runMeTask"

class="org.tehtarik.belajar.quartz.RunMeTask" />

<bean name="runMeJob" class="org.springframework.

scheduling.quartz.JobDetailBean">

<property name="jobClass" value="org.tehtarik.belajar.quartz.RunMeJob" />

<property name="jobDataAsMap">
<map>
<entry key="runMeTask" value-ref="runMeTask" />
</map>
</property>

</bean>

<!-- Cron Trigger -->
<bean id="cronTrigger" class="org.springframework.

scheduling.

quartz.CronTriggerBean">

<property name="jobDetail" ref="runMeJob" />
<property name="cronExpression" value="0/4 * * * * ?" />

</bean>

<bean class="org.springframework.scheduling.quartz.

SchedulerFactoryBean">
<property name="jobDetails">
<list>
<ref bean="runMeJob" />
</list>
</property>

<property name="triggers">
<list>
<ref bean="cronTrigger" />
</list>
</property>
</bean>

</beans>

 

kemudian tambahkan source code yang berwarna merah seperti di bawah ini...

<beans xmlns="http://www.springframework.

org/schema/beans"
xmlns:xsi="http://www.w3.org/2001

/XMLSchema-instance"
xsi:schemaLocation="http://www.

springframework.org/schema/beans
http://www.springframework.

org/schema/beans/

spring-beans-2.5.xsd">

<bean id="runMeTask"

class="org.tehtarik.belajar.

quartz.RunMeTask" />

<bean id="runMeTask2" class="org.tehtarik.belajar.quartz.

RunMeTask2" />

<bean name="runMeJob"

class="org.springframework

.scheduling.quartz.JobDetailBean">

<property name="jobClass"

value="org.tehtarik.belajar.quartz.RunMeJob" />

<property name="jobDataAsMap">
<map>
<entry key="runMeTask"

value-ref="runMeTask" />
</map>
</property>

</bean>

<bean name="runMeJob2" class="org.springframework.scheduling.

quartz.JobDetailBean">

<property name="jobClass"

value="org.tehtarik.

belajar.quartz.RunMeJob2"/>

<property name="jobDataAsMap">
<map>
<entry key="runMeTask2"

value-ref="runMeTask2" />
</map>
</property>

</bean>

<!-- Cron Trigger -->
<bean id="cronTrigger"

class="org.springframework.

scheduling.quartz.CronTriggerBean">

<property name="jobDetail"

ref="runMeJob" />
<property name="cronExpression"

value="0/10 * * * * ?" />

</bean>
<bean id="cronTrigger2" class="org.springframework.scheduling.

quartz.CronTriggerBean">

<property name="jobDetail"

ref="runMeJob2" />
<property name="cronExpression"

value="0/3 * * * * ?" />

</bean>

<bean class="org.springframework.scheduling.

quartz.SchedulerFactoryBean">
<property name="jobDetails">
<list>
<ref bean="runMeJob" />
<ref bean="runMeJob2" />
</list>
</property>

<property name="triggers">
<list>
<ref bean="cronTrigger" />
<ref bean="cronTrigger2" />
</list>
</property>
</bean>

</beans>

 

Begitu pula dengan quartz 3 job dst .. caranya sama ,, tinggal tambah source code yang berwarna merah seperti di atas ..

 

 

Comments[0]

Apa'an ntuh Trigger ????

09:46AM Okt 13, 2010 in category Java by Feby Fadiiellla

Untitled Document

Hai Haii !!! Jumpa lagi di postingan selanjutnya tentang QUARTZ ,,

Yo come on belajar tentang Appa-an Sich Trigger itu ????

OK ,, Check this out ...

 

PENGERTIAN DARI TRIGGER

 

Trigger itu ada 2 macam , a.l :

- Application trigger : Terjadi pada saat sebuah kejadian terjadi dengan aplikasi tertentu.

- Database trigger : Terjadi pada saat terjadi sebuah perubahan data seperti DML pada table (INSERT, UPDATE atau DELETE).

Saat ini yang aku pelajari itu Application Trigger ,, trigger yang aku gunakan itu trigger yang ada di quartz ,,

PENULISAN TRIGGER

 

- Trigger yang akan aktif setiap 10 detik.

<!-- Cron Trigger -->
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.

CronTriggerBean">

<property name="jobDetail" ref="runMeJob" />

<!-- runMeJob = nama bean dalam file

Spring-Quartz.xml yang value-nya menuju

kepada class yang berisi job-job yang akan

di jalankan -->


<property name="cronExpression"

value="0/10 * * * * ?" />

</bean>

- Tapi ,, bagaimana kalau job yang akan di jalankan setiap hari Senin - Sabtu pukul 24.00 ?????? Maka kita akan memakai ekspresi CRON. Cron adalah ekspresi yang dipakai oleh scheduler UNIX. Ekspresi cron di Quartz lebih lengkap dibandingkan dengan cron di UNIX. Ekspresi cron di quartz ada 7 bagian sedangkan ekspresi cron di UNIX cuma ada 5 bagian. Ekspresi cron di Quartz terdiri atas nilai field yang dipisahkan oleh spasi, yaitu: detik, menit, jam, tanggal, bulan, hari, dan tahun. Berikut adalah penulisan trigger-nya :

<!-- Cron Trigger -->
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.

CronTriggerBean">

<property name="jobDetail" ref="runMeJob" />

<property name="cronExpression"

value=" 0 0 24 ? * MON-SAT* "/>

</bean>

Note :

- Karakter “*” menunjukkan kalau nilai di field yang dituju boleh bebas.

- Karakter “?” hanya bisa digunakan di tanggal dan hari dan menunjukkan bahwa kita tidak peduli pada nilai tersebut.

- Karakter “,” bisa digunakan untuk memisahkan sejumlah nilai untuk sebuah field. Misalnya: 0 0 0 1,2,3 * * * . Berarti trigger ini akan aktif setiap setiap tanggal 1,2 dan 3 .

- Karakter “-” dipakai untuk menunjukkan range , misalnya “0-3″ berarti berlaku untuk nilai 0, 1, 2dan 3.

- Karakter “?” menunjukkan nilai terakhir yang berlaku untuk field tersebut. Karakter ini hanya bisa di gunakan pada field tanggal dan hari. Misalnya: 0 0 24 L * ? * . Berarti trigger ini menunjukkan kalau si trigger akan aktif pada tanggal terakhir di setiap bulan. Bisa tanggal 28, 29, 30, atau 31, tergantung bulannya, di jam 24.00.

 

Yapz ,, begitulah trigger ,,

Mungkin cukup dulu postingan tentang trigger ,,,

Sampaii jumpa di postingan selanjutnya !!!!

Tha.. Tha..

 

 

 

Comments[0]

Mendapatkan Jumlah Baris Dalam Suatu Tabel

01:45PM Sep 22, 2010 in category Java by Feby Fadiiellla

Untitled Document

Kadang kala ,, dalam pembuatan suatu program ,, kita membutuhkan jumlah baris dalam sebuah tabel . Atau bisa di bilang cara mengetahui ada berapa data dalam tabel tersebut ,,

Misal-nya , , ada sebuah tabel nama-nya "TABEL TABUNGAN"

dan untuk mengetahui ada berapa data dalam tabel tabungan menggunakan JDBC, berikut adalah source code-nya ,,

int count = 0;
try {
Statement st = connection.createStatement();
ResultSet res =st.executeQuery("SELECT

COUNT(*) FROM tabungan");
while (res.next()) {
count = res.getInt(1);

System.out.println("Jumlah data = "+count);

}


} catch (SQLException e) {
System.out.println(e);
}

-- Selesaii --

Mudah bukan ???

 

 

Comments[0]

Mengkoneksikan Quartz dengan Database MySql menggunakan JDBC

04:05PM Sep 01, 2010 in category Java by Feby Fadiiellla

Untitled Document

Hii !!

Kali ini saya ingin melanjutkan blog saya yang kemarin ,, saya akan tulis bagaimana quartz di sambungkan ke database ,, Database yang di gunakan adalah MySql mengguakan JDBC. JDBC merupakan singkatan dari Java Database Connectivity. tapi sempat saya baca di sebuah artikel bahwa JDBC merupakan sebuah trade mark bukan sebuah singkatan. Entahlah yang bener yang mana ???

Ok ,, tak perlu banyak basa-basi ,, Come on ,, Lets Codding !!! (hHeeww)

Langkah pertama --> buat database

- Database saya , saya beri nama "tehtarik"

- Di database "tehtarik" ada table "deposito", berikut fieldnya :

b

- Isi tabel deposito dengan beberapa data.

s

 

Langkah kedua --> membuat koneksi

- Pada umumnya ,, mengkoneksikan quartz dengan mySql ,, sama dengan mengkoneksikan java dengan mySql. Berikut adalah syntax koneksi-nya.. :

public void koneksi() {
// untuk koneksi driver
try {
Class.forName("com.mysql.jdbc.Driver");

} catch (ClassNotFoundException cnfe) {
System.err.println("Error loading driver: " + cnfe);
}
// koneksi ke database
try {
String url = "jdbc:mysql://localhost:3306/tehtarik";
connection = DriverManager.getConnection(url, "root", "");
} catch (SQLException sqle) {
System.out.println("Proses Koneksi Gagal" + sqle);
}
}

 

- Membuat Objek Statement

Obyek Statement digunakan untuk mengirim query dan perintah ke
database. Sebelumya buat dulu variabel koneksi ..Cara penulisannya :

Connection connection;
Statement st = connection.createStatement();

 

Langkah ketiga --> Menampilkan data dari database

- Untuk mengambil data ,, gunakan perintah <statement>.executeQuery(String query) dan mengembalikannya dalam bentuk ResultSet, kemudian sesuaikan dengan tipe data dari field database... Contohnya :

-- getInt untuk mengembalikan nilai yang bertipe Integer

-- getDouble untuk mengembalikan nilai yang bertipe Double

-- getString untuk mengembalikan nilai yang bertipe String

-- getBoolean untuk mengembalikan nilai yang bertipe Boolean

-- getDate untuk mengambil nilai yang data dalam tipe java.sql.Date

-- dst ......

berikut syntax pengambilan data dari database ...

try {

Statement statement =

connection.createStatement();
String q = "Select * from deposito ";
ResultSet r_deposito =

statement.executeQuery(q);
while (r_deposito.next()) {

int no = r_deposito.getInt("no_rekening");
double saldo_deposito =

r_deposito.getDouble("saldo_deposito");
double nisbah_deposito =

r_deposito.getDouble("nisbah");

System.out.println

("No Rekening : "+no+ " Saldo deposito :

" + saldo_deposito+ " Nisbah deposito : "

+nisbah_deposito);

}
} catch (SQLException e) {
System.out.println("Gagal mendapatkan record");
e.printStackTrace();
}
}

 

Langkah keempat --> Insert data ke database

- Diatas adalah pemanggilan data dengan menggunakan "SELECT".. lalu bagaimana jika ingin menggunakan "INSERT, UPDATE,DELETE " yang tidak mengembalikan record,, ?????? Jika dalam perintah "SELECT" menggunakan method "executeQuery" ,, maka untuk perintah "INSERT , UPDATE , DELETE" gunakanlah method "executeUpdate" untuk mengembalikan jumlah record yang terpengaruh akibat perintah query ,,,, berikut adalah syntax insert data :

try{

String no=JOptionPane.showInputDialog

("Inputkan no. rekening Anda : ");
String saldo =JOptionPane.showInputDialog

("Inputkan saldo Anda : ");
String nisbah =JOptionPane.showInputDialog

("Inputkan nisbah : ");
int n=Integer.parseInt(no);
int s= Integer.parseInt(saldo);
int nis=Integer.parseInt(nisbah);
System.out.println(n+" "+s+" "+nis);

String query = "INSERT INTO deposito

(no_rekening,saldo_deposito,nisbah_deposito) VALUES ('" +
n+ "', '" +s+ "', '" + nis+ "')";
System.out.println(query);
int data = con.createStatement().executeUpdate(query);
System.out.println("Data yang terpengaruh : " + data);


} catch (SQLException e) {
System.out.println("Gagal menambah data");
e.printStackTrace();
}

 

Langkah kelima --> Update data ke database

Seandainya saya ingin meng-update nilai saldo deposito ,, karena nilai bagi hasil nasabah deposito telah di dapatkan ,, seharusnya nilai deposito nasabah bertambah karena mendapat keuntungan dari bagi hasil nasabah deposito .. dan syntax update-nya adalah sebagai berikut :

// saldo baru deposito

double bg_nasabah_deposito =20,0987; // misal
double saldo_baru_deposito = saldo_deposito
+ bg_nasabah_deposito;

// update saldo deposito

String update_deposito = "UPDATE deposito SET no_rekening=?, saldo_deposito=?, nisbah=? WHERE no_rekening='"+ no + "'";
PreparedStatement p = connection.prepareStatement(update_deposito);

p.setInt(1, no);

p.setDouble(2, saldo_baru_deposito);

p.setDouble(3, nisbah_deposito);
// Commit
p.execute();
// System.out.println(update_deposito);

.

.

Sytax diatas di letakkan di dalan class RunMeTask.java ,,

dan saat program di jalankan dengan trigger misalnya 3 detik ,,

maka setiap 3 detik akan menampilkan data , insert data , dan update data ,,

gimana??????

cukup mudah bukan ????

Selamat Mencoba .....

.:n_n:.

 

Comments[0]

Bagi Hasil memakai Quartz Scheduler

05:10PM Agu 23, 2010 in category Java by Feby Fadiiellla

Untitled Document

Saya Feby Fadillah , murid SMK PGRI 3 Malang , yang saat ini saya sedang magang di Meruvian,,

Bersyukurlah saya karena saya berkesempatan bergabung dalam pembuatan Produk Mini Banking Syariah.

Mini Banking Syariah sendiri di bagi menjadi 4 bagian dan pengerjaannya juga di bagi menjadi 4 tim , a.l :

- CIF

- Funding

- Financing

- Bagi Hasil

 

Sekarang saya kebagian di bagi hasil-nya ,, Beda bank syariah dan bank konvesional adalah pada bagi hasil-nya ,,

Pada bank konvensional tidak di kenal prinsip bagi hasil ,, bank konvensional hanya mengenal sistem bunga ,,

Mengapa bank syariah menggunakan prinsip bagi hasil ?????? karena bank syariah mengutamakan keadilan ,,

keadilan di antara Pemegang Saham , Pengelola Bank , dan Nasabah ,,

Dalam pembuatan-nya,, bagi hasil membutuhkan scheduler . Scheduler yang kita gunakan merupakan Quartz Scheduler.

 

Untuk menggunakan Quartz Scheduler Anda perlu men-download library berikut :

1. commons-collections-3.2.1.jar

2. commons-logging-1.1.1.jar

3. junit-3.8.1.jar

4. quartz-1.6.3.jar

5. spring-2.5.6.jar

 

Setelah Anda punya library-nya ,, ayo kita mulai coba buat contoh Quartz Scheduler sederhana,

1. Buat workspace baru di eclipse
2. Buat project baru
3. Tambahka library yang telah di download
4. Buat package



5. Buat class RunMeTask.java

package com.mkyong.common;

public class RunMeTask {

public void printMe() {
// TODO Auto-generated method stub
System.out.println("Run Me-");
}


}


6. Buat class RunMeJob.java

package com.mkyong.common;

import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

import org.springframework.scheduling.quartz.

QuartzJobBean;

public class RunMeJob extends QuartzJobBean {

private RunMeTask runMeTask;

public void setRunMeTask

(RunMeTask runMeTask) {
this.runMeTask = runMeTask;
}

protected void executeInternal

(JobExecutionContext context)
throws JobExecutionException {

runMeTask.printMe();


}

}



7. Buat file xml Spring-Quartz.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.

org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/

XMLSchema-instance"
xsi:schemaLocation="http://

www.springframework.org/schema/beans
http://www.springframework.org/schema/

beans/spring-beans-2.5.xsd">

<bean id="runMeTask"

class="com.mkyong.common.RunMeTask" />

<bean name="runMeJob"

class="org.springframework.

scheduling.quartz.JobDetailBean">

<property name="jobClass"

value="com.mkyong.common.RunMeJob" />

<property name="jobDataAsMap">
<map>
<entry key="runMeTask"

value-ref="runMeTask" />
</map>
</property>

</bean>

<!--
<bean id="runMeJob"
class="org.springframewor.

scheduling.quartz.

MethodInvokingJobDetailFactoryBean">

<property name="targetObject"

ref="runMeTask" /> <property
name="targetMethod"

value="printMe" /> </bean>
-->

<!-- Cron Trigger -->

<bean id="cronTrigger"

class="org.springframework.scheduling.

quartz.CronTriggerBean">

<property name="jobDetail"

ref="runMeJob" />
<property name="cronExpression"

value="0/5 * * * * ?" />

</bean>

<bean class="org.springframework.

scheduling.quartz.SchedulerFactoryBean">
<property name="jobDetails">
<list>
<ref bean="runMeJob" />
</list>
</property>

<property name="triggers">
<list>
<ref bean="cronTrigger" />
</list>
</property>
</bean>

</beans>


8. Buat class App.java

package com.mkyong.common;

import org.springframework.context.support.

ClassPathXmlApplicationContext;

public class App {

public static void main( String[] args )

throws Exception
{
new ClassPathXmlApplicationContext

("Spring-Quartz.xml");
}

}

 

9. Run file App.java

 

10. Dan hasilnya ,, setelah 5 detik akan muncul tulisan Run Me-

11. Dan setelah 5 detik berikutnya "Run Me-" akan terus menambah ,,

 


 

Selesai deee ,,

Mudah kan ???

Selamat Mencoba ,,,,

 

Comments[0]