Tampilkan postingan dengan label Tutorial. Tampilkan semua postingan
Tampilkan postingan dengan label Tutorial. Tampilkan semua postingan

Minggu, 13 Desember 2009

SMS Gateway lengkap dengan GUI

Seperti janji pada postingan sebelumnya, sekarang saya Postingkan SMS Gateway Tutorial Lengkap Dngan GUI sebagai Control Panelnya.

ScreenShoot





Daftar Isi Tutorial
Sepintas tentang SMS Gateway
Persiapan
• Yang dibutuhkan
• Persiapan Hadware
• Persiapan Library
• Instalasi Library
• Persiapan Project

Pengembangan
1. Database
2. Project Utama


Error dan Penanganannya

Tanya Jawab

Breaktime


Download
Tutorial

SourceCode
read more...

Selasa, 18 Agustus 2009

Membuat Aplikasi SMS Gateway Sederhana

Dua bulan kemaren sibuk bikin project SMS Gateway, sebelumnya nyari2 Tutorial SMS gateway yang dilengkapi Kode nya susah banget. tak coba cari cari di Google ketemu beberapa Library, tapi cuma ada satu nih yang menurut saya asik, SMS Lib.

ya saya fikir mending di share aja pengalaman yang sedikit ini, siapa tau berguna buat temen2.

tapi Artikel + Library Lengkapnya Download aja ya, habis kepanjangan kalo di tulis di sini.

Artikel

Library
read more...

Rabu, 12 Agustus 2009

Nice Java Ebook

Woi java Lover's, kemarin saya buka buka file lama, eeh ternyata ada beberapa tutorial java yang menarik. Ebook ini saya dapatkan dari JENI. Sangat bagus untuk yang pengen belajar java. Download aja ebooknya.
Ebook Part 1
Ebook Part 2
Ebook Part 3
Ebook Part 4

Pokoknya Lengkap Brow. Sok lah Download Aja
read more...

Senin, 15 Juni 2009

Swing MakeOver Part 4, Cool TextField

Akhirnya, bisa posting juga, lama banget gak posting. Pada Postingan kemaren, saya membahas tentang Buffered image, yang menjadi salah satu dasar dalam Swing Makeover. Nah sekarang saya akan memberikan salah satu contoh penggunaan Buffered image.

Ok, sebelumnya coba perhatikan textBox pencarian pada beberapa IE, or Firefox:

IE

Kalo kita perhatikan, ada sesuatu yang menarik pada textbox pencarian diatas, yup benar tektboxnya punya Background, dan Backroundnya akan ilang kalo fokuskan cursot ato kita ketikan sesuatu.

Wah keren juga ya, :).

Ya udah kita buat aja, gampang koq

Siapkan sebuah gambar (buat kita jadiin background). Klo saya pake gambar ini:

Sesuaikan ukurannya. (biasanya ukuran standard TextField memunyai tinggi kira-kira 20px) jadi gambarnya kita berikn tinggi kurang lebih 16 px. (Atau sesuaikan saja sesuai keinginan)

Trus, Buat sebuah project baru (Saya pake netbeans). Trus buat class baru. (Saya kasih nama QCoolTextField aja ya).

Kemudian ketikan kode berikut:

/**

* DILARANG MENGGUNAKAN FILE INI TANPA SEIZIN PENGEMBANG
* Lisensi ada pada : Fiqri Tech.
* Copyright : 2009 Fiqri Tech.
*
* Kerusakan, atau hal-hal yang merugikan akibat penggunaan file ini
* tanpa seizin pihak kami, maka kami tidak bertanggung jawab
*
*
* QCoolTextField.java
*
* Created on 16 Jun 09, 7:56:54
*/



package ovq.cooltextfield;


import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.awt.image.BufferedImage;
import javax.swing.ImageIcon;
import javax.swing.JTextField;

/**
*
* @author Fiqri Tech.
*/

public class QCoolTextField extends JTextField{
private BufferedImage bg;
private boolean fokus = false;

public QCoolTextField() {
bg = QBufferedImage.loadCompatibleImage(new ImageIcon(getClass().getResource("/ovq/cooltextfield/resource/BlackOnta.png")).getImage());

addFocusListener(new FocusAdapter() {

@Override
public void focusGained(FocusEvent e) {
fokus = true;
repaint();
}

@Override
public void focusLost(FocusEvent e) {
fokus = false;
repaint();
}
});
}

@Override
protected void paintComponent(Graphics g) {
Graphics2D g2=(Graphics2D)g.create();
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
super.paintComponent(g);
if ( !fokus && getText().trim().equals("")){
g2.drawImage(bg, 3, 3, null);
}

g2.dispose();
}

}

Perhatikan kode yang di garis bawahi, sesuaikan dengan classpath project dimana gambar disimpan.

Trus compile, klo gak ada error berarti suksess.

Dah gitu buat sebuah JFrame. Drag class QCoolTextField yang baru kita compile. Atur atur posisi sesuai dengan keinginan.

Kurang lebih kayak ginilah:

Trus Compaild n cobain deh.

Hasilnya kira kira kayak gini:

Gampang kan,

Ok deh cobain, dan ingat ini Cuma contoh, temen temen bisa menggunakannya untuk keperluan yang lain, misalnya indicator pada Form Isian:

Ya udah klo belom jelas, Download aja SourceCodenya, trus bongkar n acak-acak deh sampe ngerti hehe pisss ah .

read more...

Senin, 18 Mei 2009

Menampilkan Data di JTable adalah Mimpi Buruk, Benarkah???

Salah satu komponen Swing yang paling sering kita gunakan dalm membuat sebuah aplikasi (terutama aplikasi database), adalah JTable milik Swing.
Komponen yang sangat penting ini, memiliki kemampuan yang luas. baik dari segi tampilan/interface ataupun dari segi data yang ada didalammnya.

Bagi sebagian orang, menggunakan JTable merupakan mimpi buruk. kesan pertama yang di berikan saat menggunakan mengggunakan Jtable itu Rumit, tidak semudah menggunakan table milik delhpi atau VB.

Mitos diatas tidak sepenuhnya benar, menurut saya, Penggunaannya cukup simple koq, gak percaya ???? Ok klo begitu baca terus supaya percaya.

Sedikit pemberitahuan :):
Jtable hanya berfungsi sebagai Viewer data. artinya data yang sebenarnya tidak disimpan didalam JTable melainkan dalam TableModel. jadi salah klo mengira data yang kita inputkan kedalam JTable disimpan di Jtable.

dengan begitu untuk merubah, menambah, mengambil nilai yang ada di dalam JTable yang diperlukan adalah mengubah TableModel nya saja.

Ilustrasi:


Saran:
Sekedar saran (tanpa bermaksud menggurui), kalo kita akan menggunakan JTable, terutama jika data yang akan kita masukan bersifat dinamis,:
1. Buat Class tersendiri sebagai TableModel. caranya: buat class baru kemudian extendskan AbstractTableModel lalu implementskan semua Abstract Methodnya.
2. buat method untuk menambahkan data pada Table Model. misal addDataPegawai(List peg){}, dll.
3. Supaya temen-temen lebih memahami konsep ini, kayaknya bagus deh kalo temen-temen mempelajari lebih lanjut tentang konsep MVC (model, View, Controller). cari aja deh di mang Google .

Aduh bingung ya? sorry masih belajar nulis.

Inetnya ga asik jadi Download aja deh Sourcenya trus Acak-acak deh.



Kodenya berisi tentang Memisahkan TableModel dengan Tablenya, Menginputkan macam2 data kedalam Tabel, Mengambil macam2 data dari JTable, menginputkan data dari tabel ke berbagai komponen swing lainnya. dan yang lainnya
read more...

Minggu, 19 April 2009

Komunikasi data Antar Class di java

Komunikasi data merupakan hal yang sangat penting dalam dunia programing. dengan ini memungkinkan kita untuk bisa mengambil dan mengeset data pada sebuah class dari class yang lainnya. hehehe jadi kaya dosenku aja . udah lah yang jelas biasanya komunikasi data ini ditandai dengan adanya methos setter dan getter.

Ah cukup deh basa basinya. nanti malah pada bingung lagi. udah tak kasih conto aja yah.
Berawal dari pertanyaan seorang temen, (Weleh weleh koq malah kayak bacain dongeng hehe) saya mencoba membuat sebuah aplikasi sederhana yang menunjukan komunikasi antar class.

Yup pertama kita buat aja sebuah project sederhana dengan Netbeans (pake IDE lain juga boleh namanya juga contoh). saya membuat sebuah program sederhana untuk mengambil data dari tabel yang berada JDialog kemudian hasilnya ditampilkan di textfield di JFrame.

Buat 1 JFrame dan 1 JDialog sebagai interface
Buat tampilan JFrame Kayak Gini:


Dan buat tampilan JDialog Kyak gini:


Kemudian buat sebuah Class Mahasiswa kemudian ketikan kode berikut:

package net.fiqri.datademo;

public class MahasiswaOBJ {
private String nama;
private String nmp;
private String alamat;
private String jurusan;

public MahasiswaOBJ() {
}


public MahasiswaOBJ(String nama, String nmp, String alamat, String jurusan) {
this.nama = nama;
this.nmp = nmp;
this.alamat = alamat;
this.jurusan = jurusan;
}

public String getAlamat() {
return alamat;
}

public void setAlamat(String alamat) {
this.alamat = alamat;
}

public String getJurusan() {
return jurusan;
}

public void setJurusan(String jurusan) {
this.jurusan = jurusan;
}

public String getNama() {
return nama;
}

public void setNama(String nama) {
this.nama = nama;
}

Setelah itu Tambahkan event pada tombol yang berfungsi untuk memunculkan JDialog:


Kode:
DetailView dt=new DetailView(this, true);
dt.setVisible(true);
MahasiswaOBJ mho=dt.getTableData();
if(mho!=null){
jTextField1.setText(mho.getNama());
jTextField2.setText(mho.getNmp());
jTextField3.setText(mho.getAlamat());
jTextField4.setText(mho.getJurusan());
}else{
JOptionPane.showMessageDialog(null, "Data Mahasiswa Kosong/Tidak ada");
}

Kemudian Beralih ke JDialog, kemudian Tambahkan event mouseClicked pada tabel:
if(evt.getClickCount()==2){
dataTable=new MahasiswaOBJ();
TableModel data=jTable1.getModel();
dataTable.setNama(data.getValueAt(jTable1.getSelectedRow(), 0).toString());
dataTable.setNmp(data.getValueAt(jTable1.getSelectedRow(), 1).toString());
dataTable.setAlamat(data.getValueAt(jTable1.getSelectedRow(), 2).toString());
dataTable.setJurusan(data.getValueAt(jTable1.getSelectedRow(), 3).toString());
this.setVisible(false);
}

Beres deh, sekarang Coba Run



Sorry kalo tulisannya agak membingungkan, maklum masih belajar jadi jurnalis .
Mudah mudahan membantu dan bermanfaat.
kalau mo yang dah jadi, Neeeeeh Source Codenya


read more...

Selasa, 14 April 2009

Let's Start to Rock Your Swing


yup seperti janji kemaren, postingan ini bercerita tentang extreem swing make over. inti dari swing make over ini adalah perubahan tampilan se extreem mungkin. yang memang jika seelumnya ada temen temen yang menggunakan bahasa pemograman lain spt delphi atau VB, sulit untuk mengobrak abrik tampilan, karena memang tidak sefleksible swing.
konsep ini sudah lama adanya, tp saya baru berani posting sekarang, soalnya baru ketemu rahasianya akhir akhir ini. jadi yang setelah sedikit tau, gak ada salahnya di share. (hehe kayak yang jago aja)
Yang harus di perhatikan dalam merubah tampilan dari Swing kita akan meng-override method paint(), atau painComponent(). karena kedua method inilah yang digunakan swing untuk membentuk tampilan.

Ok kita mulai.

pada postingan ini saya akan membuat gradienPanel, itu lho panel yang warna warni (he kayak pelangi aja).
pertama siapkan editor temen-temen. (kalau saya pake netbeans biar lebih asik soalnya lebih mudah digunakan nantinya).
Ok Copy pastekan aja Code ini:
__________________________________________________________________________
/*
* DILARANG MENGHAPUS ATAU MENGEDIT COPYRIGHT INI.
*
* Copyright 2009 Fiqri Tech
* All rights reserved.
*
* Semua isi dalam file ini adalah hak milik dari blackonta@gmail.com
* Anda tak diperkenankan untuk menggunakan file atau mengubah file ini
*
*/

package ovq.fiqri.lib.swing.plaf;

import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.LayoutManager;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import javax.swing.JPanel;

/**
*
* @author Opik
*/
public class QGradienPanel extends JPanel{
private static final long serialVersionUID = -1;
private BufferedImage gradientImage;
private Color warnaAtas = new Color(204, 249, 124);
private Color warnaBawah = new Color(174, 222, 94);

public QGradienPanel(){
super();
this.setBorder(javax.swing.BorderFactory.createEmptyBorder(3,3,3,3));
}

public QGradienPanel(LayoutManager layout) {
super(layout);
addComponentListener(new GradientCacheManager());
}

public Color getWarnaAtas() {
return warnaAtas;
}

public void setWarnaAtas(Color warnaAtas) {
this.warnaAtas = warnaAtas;
}

public Color getWarnaBawah() {
return warnaBawah;
}

public void setWarnaBawah(Color warnaBawah) {
this.warnaBawah = warnaBawah;
}

@Override
protected void paintComponent(Graphics g) {
createImageCache();
if (gradientImage != null) {
g.drawImage(gradientImage, 0, 0, getWidth(), getHeight(), null);
}
}

protected void createImageCache() {
int width = 2;
int height = getHeight();

if (width == 0 || height == 0) {
return;
}

if (gradientImage == null ||
width != gradientImage.getWidth() ||
height != gradientImage.getHeight()) {

gradientImage = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);

Graphics2D g2 = gradientImage.createGraphics();
GradientPaint painter = new GradientPaint(0, 0, warnaBawah,
0, height / 2, warnaAtas);
g2.setPaint(painter);

Rectangle2D rect = new Rectangle2D.Double(0, 0, width, height / 2.0);
g2.fill(rect);

painter = new GradientPaint(0, height / 2, warnaAtas,
0, height, warnaBawah);
g2.setPaint(painter);

rect = new Rectangle2D.Double(0, (height / 2.0) - 1.0, width, height);
g2.fill(rect);

g2.dispose();
}
}

private void disposeImageCache() {
synchronized (gradientImage) {
gradientImage.flush();
gradientImage = null;
}
}

private class GradientCacheManager implements ComponentListener {
public void componentResized(ComponentEvent e) {
}

public void componentMoved(ComponentEvent e) {
}

public void componentShown(ComponentEvent e) {
}

public void componentHidden(ComponentEvent e) {
disposeImageCache();
}
}
}
__________________________________________________________________________

nah perhatikan kode pada method paintComponent() diatas, Abaikan saja kode ini
if (gradientImage != null) {
g.drawImage(gradientImage, 0, 0, getWidth(), getHeight(), null);
}
}
soalnya itu dibuat kalau nantu temen temen ingin menggunakan gambar sebagai backgroundnya.
jadi backgroundnya akan dibuat menggunakan warna gradien antara warnaatas, dan warnaBawah.

Jadi ya hasilnya kurang lebih seperti ini:


nah kalau temen-temen pake netbeans, untuk penggunaannya tinggal drag class diaas ke JPanel, Jframe atau ke JDialog.


nah perhatikan pada propertiesnya maka akan ditambahkan dua properties sebagai berikut.



jadi kayak gini deh:

jadi tinggal dirubah saja warnanya sesuai dengan keinginan. ok moga bermanfaan n keep creative. Koment ya......
read more...

Rabu, 11 Februari 2009

Tutorial: Pembuatan Aplikasi MySQL Viewer dengan Netbeans

Halooo semuanaya...... ini Tutorialku yang pertama.

Idenya adalah mempbuat Aplikasi MysqlViewer (Kayak PHPMyqdmin, Ato MySQL Administrator). Ya lumayan lah buat latihan dan memperdalam Skil dibidang Java Programing.

Download Tutorial: MySQLViewer.pdf
Download SourceCode Penyerta+MySQL Conector: SourceCode

ScreenShoot:











Semoga Bermanfaat -------
read more...