Selasa, 19 April 2011

Penggunaan Thread koneksi Url yang berulang-ulang


Benere juga ga tau judul yang paling tepatnya gimana..:D
skedar share aje..
kadang untuk membangun sebuah program(tentu aja java me) yang terintegrasi dengan database pastinya,kita perlu banyak menggunakan koneksi pemanggilan ke server. untuk efisiensi penggunaan thread nya maka perlu membuat class agar bisa dipanggil tanpa mengulang-ulang script yang sama..
dari kasus pribadi yang saya alami, karena stress gara2 program eror mulu tiap kali pemanggilan thread dengan data yang salah(penggulangan eror) pada skripsi saya yang mo ujian tanggal 23..makanya saya mencoba dengan cara bar-bar..klik sana,klik sini,copy,paste,liat web2 referensi akhirnya ketemu juga...

disini ada banyak thread ex 2 aja:

class bayar extends Thread
{
int h=cgBank.getSelectedIndex();

public void run()
{
try
{
data = "";
String url = "http://localhost/admin/client/bayar.php";

data = "nama="+tfNamaBayar.getString()+"&kd_booking="+tfKdBooking.getString()+"&email_byr="+tfEmailBayar.getString()
+"&hp_byr="+tfHpBayar.getString()+"&jml_byr="+tfJmlBayar.getString()+"&rek="+tfRek.getString()
+"&bank="+cgBank.getString(h)+"&id_u="+siUser.getText();

String data = KoneksiURL(url);
siBayar.setText("" + data);
}
catch(Exception e)
{
}
}

}
class booking extends Thread
{
int it = cgBook.getSelectedIndex();
int id=cgCaptca.getSelectedIndex();
public void run()
{
try
{
data ="";
String url = "http://localhost/admin/client/booking.php";

data = "b_no_penerbangan="+cgBook.getString(it)+"&jml_booking="+tfJmlBooking.getString()+
"&kd_booking="+cgCaptca.getString(id)+"&id_u="+siUser.getText();

String data = KoneksiURL(url);
siHasil2.setText("" + data);
}
catch(Exception e)
{
}
}

}

Dan masi banyak lagi...
dimana sebelumnya pemanggilan KoneksiUrl nya (yang eror):

public String KoneksiURL(String url) throws IOException
{
HttpConnection http = null;
InputStream is = null;
StringBuffer sb = new StringBuffer();
OutputStream os = null;
try
{
http = (HttpConnection) Connector.open(url);
http.setRequestMethod(HttpConnection.POST);
http.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
http.setRequestProperty("Accept_Language","en-US");
http.setRequestProperty("User-Agent", "Profile/MIDP-2.0 Configuration/CLDC-1.0");
os = http.openDataOutputStream();
os.write(data.getBytes());


if (http.getResponseCode() == 200)
{
int karakter;
is = (http.openInputStream());
while ((karakter = is.read()) != -1){
sb.append((char)karakter);
}
}

String result = sb.toString();
return result;

} catch (Exception x) {
x.printStackTrace();
if (http != null)
http.close();

}return null;

}

dan terjadi hasilnya kaga mau nyimpen server dengan siHasil dan siBayar muncul null;
maka saya menganalisa, mungkin ini koneksi kebuka ga mo nutup setiap beralih ke thread berikutnya dan juga openDataOutputStream();
kagak mau ganti ke tiap thread..

dengan rahmat Allah Yang Maha Penyayang maka terbitlah ide untuk kembali mengotak-atik KoneksiUrl nya,dan akhirnya...excellent..:D subhanallah..

public String KoneksiURL(String url) throws IOException
{
HttpConnection http = null;
InputStream is = null;
StringBuffer sb = new StringBuffer();
OutputStream os = null;
try
{
http = (HttpConnection) Connector.open(url);
http.setRequestMethod(HttpConnection.POST);
http.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
http.setRequestProperty("Accept_Language","en-US");
http.setRequestProperty("User-Agent", "Profile/MIDP-2.0 Configuration/CLDC-1.0");
os = http.openDataOutputStream();
os.write(data.getBytes());


if (http.getResponseCode() == 200)
{
int karakter;
is = (http.openInputStream());
while ((karakter = is.read()) != -1){
sb.append((char)karakter);
}

is.close();
http.close();
os.flush();
os.close();
}

String result = sb.toString();
return result;



} catch (Exception x) {
x.printStackTrace();
if (http != null)
http.close();

}return null;

}

cuman tambahin
is.close();
http.close();
os.flush();
os.close();

mengapa begitu??
sebab setiap hasil dari koneksi url jika sudah sukses menerima respon harus di clear (flush).dan pula harus ditutup agar di thread berikutnya bisa tereksekusi sempurna.begitu juga dengan inputstream nya serta http conneksinya..

hehe...:D
thanks GOD..
moga bermanfaat buat temen2 semua..
doain saya buat lulus pendadaran dengan nilai memuaskan...amiiin.

Senin, 11 April 2011

Trigger Pada SQL Server 2000



hiiii....aneh,,..Out Of Topic Bangggettttt,..gambarnya kaga nyambung ma materi..
tapi ga papa lah..yang penting ada tulisan trigger..emang tau artinya trigger itu apaan? katanya google translate sih triiger=pelatuk..jadi klo burung pelatuk bahasa inggris nya trigger bird..wkkwkkwkw...garing..T_T
ok lanjut dah...
apa sih sebenernya trigger itu?
trigger adalah sebuah stored procedure yang dieksekusi pada saat terjadi modifikasi data pada tabel-tabel dalam database.
maksutnya di modifikasi tuh apa ya??
tabel dikatakan termodifikasi jika pada tabel tersebut dilakukan proses pemasukan data(insert), edit data (update), atau penghapusan data (delete).
trus kegunaan trigger itu buat apa?
gunanya untuk menjaga validasi data yang akan dimasukkan ke tabel, membuat tabel histori, juga bisa buat mengupdate data pada tabel lain.

praktekin deeehhhh:
pakenya disini SQL server 2000
benere jadul juga si..masa dah taun 2011 masi pake product taon 2000. dah sebelas taon jg..hehe..tapi ga papa..suka-suka gw lah...:D

skenarionya kayak gini:
mengupdate stok barang jika terjadi transaksi penyimpanan tabel transaksi. jumlah stok nya tuh, stok awal-jml buku yg dipinjem.
bisa gak ya???
try aja de...



masuk ke Query Analyser pada sql server 2000
pilih databasenya:nama database

langsung ketikan Query nya tulis disitu:
CREATE TRIGGER nama triger
ON tabel yang terjadi transaksi FOR INSERT
AS
DECLARE @id_buku CHAR(14),@Stok INT,@jml INT ------(adalah pendeclarasian variabel2 yang bakalan digunakan)
SELECT @id_buku=id_buku,@jml=jml FROM inserted where status=0
SELECT @Stok=Stok FROM b02_buku WHERE id_buku=@id_buku
SELECT id_buku FROM b02_buku WHERE id_buku=@id_buku
IF @@ROWCOUNT = 0
ROLLBACK TRANSACTION
ELSE
UPDATE b02_buku SET Stok=@Stok - @jml
WHERE id_buku=@id_buku

(meng-update tabel buku pada field stok dengan perhitungan stok dikurangi jml, jumlah ini didapat pada tabel transaksi detil, dimana idi buku pada master buku sama dengan id buku pada transaksi detil,..)

setelah query dibikin tu..langsung aja klik centang pada toolbar(parse query) untuk memudahkan pengecekan query tersebut salah atau benar.
setelah yakin klo query yang di bikin itu bener2 ok klik execute query. maka Triger akan terbentuk..

gud jooobbb...prennn...hehehe..:D

stelah itu tu , coba aja de insertkan data pada tabel transaksi dimana id buku pada transaksi ada pada id buku pada master buku.

Clllllllliiiiinnngggg....liat hasilnya...

pada tabell master buku, stok otomatis berkurang berdasarkan id bukunya..dengan jumlah yang telah agan2 inputkan...

Hehehehehe.....
mudah bukannn???

LanjutGan de..modifikasinya
silahkan komen....

Kamis, 07 April 2011

koneksi database sql server dan vibi-part 2



perlu pembaharuan sedikit pada part pertama...hehehe..
soalnya gini ni, klo program dah di compile dan udah jadi exe sedangkan proses pembacaan databasenya langsung include di listing, ntar to klo ada rename database nya susah juga benerinnya. masa mo bongkar project lagi..ga profesional banget...

gini ni langakhnya..
step1. membuat file config.ini
-buka notepad
ada gak notepad?klo kagak ada berarti instal ulang deh tu windows..hihihihi..:D
-tuliskan seperti ini pada note:
Driver={SQL Server}; Server=(local); Database=perpus; uid=sa; pwd=;
- save file..
kasih nama tu file nya: config.ini
trus untuk pilihannya pilih all file.
-klik save...

step2. membuat module fungsi pembacan file pada vibi:
-bikin modul nya
-ketikan fungsi nya disini
Public dbCon As New Connection
Public strCon As String
Public Function ReadTextFileContents(fileName As String) As String

Dim fNum As Integer, isOpen As Boolean

On Error GoTo error_handler
fNum = FreeFile()
Open fileName For Input As #fNum
isOpen = True

ReadTextFileContents = Input(LOF(fNum), fNum)

error_handler:
If isOpen Then Close #fNum
If Err Then Err.Raise Err.Number, , Err.Description

End Function

Sub ActCon()
On Error GoTo elol
Dim sFile As String, sPath As String
sFile = App.Path & "\config.INI"

strCon = ReadTextFileContents(sFile)
dbCon.CursorLocation = adUseClient
If dbCon.state = adStateClosed Then
dbCon.Open strCon
If dbCon.state = adStateClosed Then
MsgBox "gagal konek"
End If
End If

elol:
sFile = App.Path & "\config2.INI"

strCon = ReadTextFileContents(sFile)
dbCon.CursorLocation = adUseClienthttp://www.blogger.com/img/blank.gif
If dbCon.state = adStateClosed Then
dbCon.Open strCon
If dbCon.state = adStateClosed Then
MsgBox "gagal konek"
End If
End If

End Sub



step3. Bikin formnya

-pilih formnya kaya koneksi database sql sebelumnya.
-masukkan perintah query nya
Dim rs As New ADODB.Recordset

Private Sub Command1_Click()

sql = "insert into a02_kelas(kelas,id_user,xtgl)values('" & Text1.Text & "','" & Text2.Text & "','" & Text3.Text & "')"

Set rs = dbCon.Execute(sql)
MsgBox "sukses"
' rs.Open "insert into a02_kelas(kelas,id_user,xtgl)values('" & Text1.Text & "','" & Text2.Text & "',now)", dbCon, adOpenDynamic, adLockOptimistic
End Sub

Private Sub Form_Load()
ActCon
Text3.Text = Date
End Sub

step3.jangan lupa koment nya..heheheh
:P
slamat mencoba...

pujian dalam hujatan


Ketika aku putuskan untuk beramal sesuai AlQuran & Sunnah dengan faham As Salafush Shaleh, Aku pun dipanggil Wahabi
Ketika aku minta segala hajatku hanya kepada Allah subhaanahu wa ta’ala tidak kepada Nabi & Wali .… Aku pun dituduh Wahabi

Ketika aku meyakini Alquran itu kalam Ilahi, bukan makhluq …. Aku pun diklaim sebagai Wahabi
Ketika aku takut mengkafirkan dan memberontak penguasa yang dzalim, Aku pun dipasangi platform Wahabi

Ketika aku tidak lagi shalat, ngaji serta ngais berkah di makam-makam keramat… Aku pun dijuluki Wahabi
Ketika aku putuskan keluar dari tarekat sekte sufi yang berani menjaminku masuk surga… Aku pun diembel-embeli Wahabi

Ketika aku katakan tahlilan dilarang oleh Imam Syafi’i
Akupun dihujat sebagai Wahabi
Ketika aku tinggalkan maulidan karena Nabi shallallahu ‘alaihi wa sallam tidak pernah ajarkan … Aku pun dikirimi “berkat” Wahabi

Ketika aku takut mengatakan bahwa Allah subhaanahu wa ta’ala itu dimana-mana sampai ditubuh babipun ada… Aku pun dibubuhi stempel Wahabi
Ketika aku mengikuti Nabi shallallahu ‘alaihi wa sallam memanjangkan jenggot, memotong celana diatas dua mata kaki, …,…., Aku pun dilontari kecaman Wahabi

Ketika aku tanya apa itu Wahabi…?
Merekapun gelengkan kepala tanda tak ngerti
Ketika ku tanya siapa itu wahabi…?
merekapun tidak tahu dengan apa harus menimpali

Tapi…!
Apabila Wahabi mengajakku beribadah sesuai dengan AlQuran dan Sunnah… Maka aku rela mendapat gelar Wahabi !
Apabila Wahabi mengajakku hanya menyembah dan memohon kepada Allah subhaanahu wa ta’ala … Maka aku Pe–De memakai mahkota Wahabi !

Apabila Wahabi menuntunku menjauhi syirik, khurafat dan bid’ah… Maka aku bangga menyandang baju kebesaran Wahabi !
Apabila Wahabi mengajakku taat kepada Allah subhaanahu wa ta’ala dan RasulNya shallallahu ‘alaihi wa sallam … Maka akulah pahlawan Wahabi !

Ada yang bilang.…. Kalau pengikut setia Ahmad shallallahu ‘alaihi wa sallam digelari Wahabi, maka aku mengaku sebagai Wahabi.
Ada yang bilang….. Jangan sedih wahai “Pejuang Tauhid”, sebenarnya musuhmu sedang memujimu, Pujian dalam hujatan….!

Oleh: Ahmad Zainuddin

koneksi database sql server dan vibi



Sebenere banyak cara buat koneksiin database sql server dengan visual basic. dari pake data environment sampe komponen adodc. klo gw sih lebih milih nulis di script aja. biar klo program di pindah kompi, kaga nyeting2 lagi..
langkah pertama:
-bikin dulu module di projectnya
ketikan di situ:

Public dbCon As New Connection
Public strCon As String

Sub ActCon()
On Error GoTo elol
strCon = "Driver={SQL Server}; Server=(local); Database=namadatabase; uid=sa; pwd=;"
Initial Catalog=perpus;Data Source=(local)"
dbCon.CursorLocation = adUseClient
If dbCon.state = adStateClosed Then
dbCon.Open strCon
If dbCon.state = adStateClosed Then
MsgBox "gagal konek"
End If
End If

elol:
strCon = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=namadatabase;Data Source=(local)"
dbCon.CursorLocation = adUseClient
If dbCon.state = adStateClosed Then
dbCon.Open strCon
If dbCon.state = adStateClosed Then
MsgBox "gagal konek"
End If
End If
End Sub

udah belom??klo belom mending copas aja..gw kaga pelit ilmu koq..hehhe..

langkah kedua:
bikin form deh..teserah mo form apa aja boleh..yang penting paling atas form di isi deklarasi dari recordsetnya

Dim rs As New ADODB.Recordset

trus umpamanya mo bikin input data barang.di dalam tombol simpan.
tulisannya begini:

Set rs = New ADODB.Recordset
rs.Open "insert into barang(KodeBuku,NamaBuku,Kelas,Jumlah,HargaBeli,HargaJual,Stok) values ('" & txtkodebuku & "','" & txtnamabuku & "','" & txtkelas & "','" & txtjumlah & "','" & txtbeli & "','" & txtjual & "','" & txtstok & "')",dbcon,adOpenDynamic,adLockOptimistic

trus kasih tu massege box klo data berhasil disimpan.

msgbox "sukses deh input data"

habis itu...jangan lupa pas form loadnya dipanggil tuh sub yang ada dimodule..ActCon

selanjutnya tergantung pengembangan panjenengan-panjenengan semua..hehe..

Rabu, 06 April 2011

jadwal ujiankuuuuuuuuu...


gw pengen teriaaak...waaaaaaaaaaaaaaaaaaaaaaa............sebel..sebel..sebel...kapan ne ujian skripsiku keluar?udah nunggu ber hari-hari berminggu-minggu. padahal aku dah slese skripsinya. dah bayar uang ujiannya juga..huuu...
trus gimana ne??apalagi klo ortu nyanya, kapan ujian?kapan lulus?kapan punya ijazah?kapan daftar kerja lagi? mestinya gw jawab mey..meybe yes, meybe no..wkkwkkw..:P
nasip ku terkatung-katung ne. mahasiswa, ga penah ke kampus. pengangguran, koq nunggu ujian. trus apa nie?
sebenere si yang paling gw takutin tu pas seminar pake rok..hihihih..ribet amit. mo pake celana jins boleh kaga ya. trus yang kedua, gw takut klo penguji gw pak t****..bisa mati kutu aku dilibas abis dengan bahasa nya dia yang udah senior nanganin java me.
bingung juga ne , koq skripsi gw makan waktu hampir 3 smester..gila abis...gara-gara tak tinggal kerja, tak tinggal dolan2, tak tinggal haha hihi..
terima nasib, siapin besok-bsok klo dihajar dosen pas pendadaran.

Event Scheduler di MySQL


munkin uda pada tau apa itu event scheduler.event scheduler tu merupakan sekumpulan query-query atau syntak-syntak yang dijalankan secara periodik atau terjadwal..umpamanya untuk mendelete record pada suatu tabel yang dilakukan secara terjadwal.
tapi kayaknya mysql yang support dengan event sceduler ini adalah mysql versi5.1
langsung aja praktekin di sini. bisa pake EMS ato klo gak pake navicat biar lebih gampang managemen mysql nya.
langsung praktekin di run SQL nya ketikan disitu :
SET GLOBAL event_scheduler = 1;
artinya dari syntak tersebut untuk menghidupkan event scheduler pada mySql.

sehabis itu ketikan di run SQl:

CREATE EVENT `event_del`
ON SCHEDULE EVERY 3 HOUR STARTS '2011-03-31 00:08:45'
ON COMPLETION NOT PRESERVE
ENABLE
COMMENT '' DO
delete from `booking` where booking.`stat_booking`='1' and booking.`tgl_booking` < curdate();


penjelasan:
schedulr berjalan tiap 3 jam
tiap 3 jam akan menghapus record di tabel booking jika status booking nya 1 dan tanggal booking nya kurang dari tanggal sekarang.

silahkan coba implementasikan di database anda..:D

Selasa, 05 April 2011

Logo ku