Mariesa Rahmawati’s Weblog

Menuju hari esok yang lebih baik

Source code java untuk Login

/*
* login.java
*
* Created on December 12, 2005, 8:15 PM
*/

package onlinepayment;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import javax.sql.*;
import oracle.sql.*;

public class login extends JFrame{
private JButton BtnLogin;
private JLabel LblUser,LblPassword;
private JPasswordField FieldPassword;
private JTextField FieldUser;
private Container c;
// public tab_panel tp;
private String strUserName = “”;
private String strPwd = “”;
private String strService = “”;

/** Creates new form login */
public login() {
init();
}

private void init() {
c=getContentPane();
setTitle(“LOGIN DATABASE”);

c.setLayout(null);
LblUser = new JLabel(“UserName”);
LblUser.setBounds(100, 50, 60, 20);
c.add(LblUser);
LblPassword = new JLabel(“Password”);
LblPassword.setBounds(100, 80, 60, 20);
c.add(LblPassword);
FieldUser = new JTextField();
FieldUser.setBounds(180, 50, 110, 21);
c.add(FieldUser);
FieldPassword = new JPasswordField();
FieldPassword.setBounds(180, 80, 110, 23);
c.add(FieldPassword);
BtnLogin = new JButton(“LOGIN”);
BtnLogin.setBounds(200, 110, 80, 25);
c.add(BtnLogin);
BtnLogin.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnLoginConect(evt);
}
});

java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-410)/2, (screenSize.height-209)/2, 410, 209);

addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
});
FieldPassword.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
}
});

}

/** Exit the Application */
private void exitForm(java.awt.event.WindowEvent evt) {
setDefaultCloseOperation(DISPOSE_ON_CLOSE);

}

public static void main(String args[]) {
new login().show();
}
public void BtnLoginConect(java.awt.event.ActionEvent evt) {
try {
strUserName = FieldUser.getText();
strPwd = String.valueOf(FieldPassword.getPassword());

DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

Connection con = DriverManager.getConnection(“jdbc:oracle:thin:@informatika:1521:orcl9i”,strUserName, strPwd);
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(“Select ‘Connected’ from dual”);
rs.next();
String s = rs.getString(1);
st.close();
con.close();
// tp=new tab_panel(strUserName,strPwd);
this.dispose();
}
catch(SQLException e) {
String pesanError = “”;

if(e.getErrorCode() == 17433) {
pesanError = “Field Harus Diisi / null.”;
}
else if(e.getErrorCode() == 1017) {
pesanError = “Cek kembali username Atau Password Anda.”;
}
else if(e.getErrorCode() == 17002) {
pesanError = “Service tidak bisa diakses.”;
}
JOptionPane.showMessageDialog(null, pesanError, “Login Error”, JOptionPane.ERROR_MESSAGE);
}

}
}

June 25, 2008 Posted by Mariesa Rahmawati | Pemrograman | | No Comments Yet

Client-Server

Client

package Chat;
import java.net.*;
import java.io.*;
public class ClientKu1 {
public static void main(String[] args) {
try {
Socket s = new Socket(“127.0.0.1″,2002);
System.out.println(“Komunikasi terhubung”);
System.out.println(“Client pada port = “+
s.getLocalAddress().getHostAddress() + ” : “+ s.getLocalPort());
System.out.println(“Server pada port = “+
s.getInetAddress().getHostAddress() + ” : “+ s.getPort());
BufferedReader br = new BufferedReader( new InputStreamReader(s.getInputStream()));
System.out.println(“Menunggu pesan…”);
String greeting = “”;
while ((greeting=br.readLine())!=null) { System.out.println(greeting); }
System.out.println(“Selesai”);
br.close();
s.close();
}
catch (Exception e) { e.printStackTrace(); }
}
}

Server

package Chat;
import java.net.*;
import java.io.*;
public class ServerKu1 {
public static void main(String[] args) {
try {
ServerSocket ss = new ServerSocket(2002);
System.out.println(“Menunggu Klien…”);
Socket s = ss.accept();
System.out.println(“Klien telah masuk”);
System.out.println(“Server pada port = “+
s.getLocalAddress().getHostAddress() + ” : ” + s.getLocalPort());
System.out.println(“Client pada port = “+
s.getInetAddress().getHostAddress() + ” : ” + s.getPort());
PrintWriter pw = new PrintWriter(s.getOutputStream(), true);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String greeting = “”;
while(!(greeting=br.readLine()).equals(“”)) { pw.println(greeting); }
pw.close(); s.close(); ss.close();
} catch (Exception e) { e.printStackTrace(); }

June 25, 2008 Posted by Mariesa Rahmawati | Pemrograman | | No Comments Yet

Connecting to databases like Mysql, SQL Server or Oracle on J2ME devices

CLDC framework, do not support JDBC APIS. To connect to databases from devices that have CLDC configuration, you can call a Servlet from MIDLets. Connection to database, running the queries and other functionalities need to be implemented in the Servlet. Passing the parameters to servlet like username, password can be done from MIDLets.

The example below takes database name, username and password from MIDlet running on the J2ME device and passes it to the Servlet. The status of connection is passed to MIDlet:

import java.io.*;
import java.util.*;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;

public class testMySQL extends MIDlet implements CommandListener {
private String username;
private String url =
“http://localhost:8080/servlets-examples/servlet/getConnection”;

private Display display;
private Command exit = new Command(“EXIT”, Command.EXIT, 1);;
private Command connect = new Command(“Connect”, Command.SCREEN, 1);
private TextField tb;
private Form menu;
private TextField tb1;
private TextField tb2;
DB db;

public testMySQL() throws Exception {
display = Display.getDisplay(this);

}

public void startApp() {
displayMenu();
}

public void displayMenu() {
menu = new Form(“Connect”);

tb = new TextField(“Please input database: “,“”,30,
TextField.ANY );

tb1 = new TextField(“Please input username: “,“”,30,
TextField.ANY);

tb2 = new TextField(“Please input password: “,“”,30,
TextField.PASSWORD);

menu.append(tb);
menu.append(tb1);
menu.append(tb2);
menu.addCommand(exit);
menu.addCommand(connect);
menu.setCommandListener(this);
display.setCurrent(menu);
}

public void pauseApp() {}

public void destroyApp(boolean unconditional) {}

public void commandAction(Command command, Displayable screen) {
if (command == exit) {
destroyApp(false);
notifyDestroyed();
} else if (command == connect) {
db = new DB(this);
db.start();
db.connectDb(tb.getString(),tb1.getString(),tb2.getString());
}
}

public class DB implements Runnable {
testMySQL midlet;
private Display display;
String db;
String user;
String pwd;
public DB(testMySQL midlet) {
this.midlet = midlet;
display = Display.getDisplay(midlet);
}

public void start() {
Thread t = new Thread(this);
t.start();
}

public void run() {
StringBuffer sb = new StringBuffer();
try {
HttpConnection c = (HttpConnection) Connector.open(url);
c.setRequestProperty(
“User-Agent”,“Profile/MIDP-1.0, Configuration/CLDC-1.0″);
c.setRequestProperty(“Content-Language”,“en-US”);
c.setRequestMethod(HttpConnection.POST);

DataOutputStream os =
(DataOutputStream)c.openDataOutputStream();

os.writeUTF(db.trim());
os.writeUTF(user.trim());
os.writeUTF(pwd.trim());
os.flush();
os.close();

// Get the response from the servlet page.
DataInputStream is =(DataInputStream)c.openDataInputStream();
//is = c.openInputStream();
int ch;
sb = new StringBuffer();
while ((ch = is.read()) != -1) {
sb.append((char)ch);
}
showAlert(sb.toString());
is.close();
c.close();
} catch (Exception e) {
showAlert(e.getMessage());
}
}
/* This method takes input from user like db,user and pwd and pass
to servlet */
public void connectDb(String db,String user,String pwd) {
this.db = db;
this.user = user;
this.pwd = pwd;
}

/* Display Error On screen*/
private void showAlert(String err) {
Alert a = new Alert(“”);
a.setString(err);
a.setTimeout(Alert.FOREVER);
display.setCurrent(a);
}

};
}

import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;

public class getConnection extends HttpServlet {

public void init() {
}

public void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {

DataInputStream in = new DataInputStream(
(InputStream)request.getInputStream());

String db = in.readUTF();
String user = in.readUTF();
String pwd = in.readUTF();

String message =“jdbc:mysql://localhost:3306/”+db+“,”+user+“,”+pwd;
try {

connect(db.toLowerCase().trim(),user.toLowerCase().trim(),
pwd.toLowerCase().trim());

message += “100 ok”;

} catch (Throwable t) {
message += “200 ” + t.toString();
}
response.setContentType(“text/plain”);
response.setContentLength(message.length());
PrintWriter out = response.getWriter();
out.println(message);
in.close();
out.close();
out.flush();
}

public void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {

doPost(request,response);
}

/* This method connects to MYSQL database*/
private void connect(String db, String user,String pwd)
throws Exception {

// Establish a JDBC connection to the MYSQL database server.
//Class.forName(“org.gjt.mm.mysql.Driver”);
Class.forName(“com.mysql.jdbc.Driver”).newInstance();
Connection conn = DriverManager.getConnection(
“jdbc:mysql://localhost:3306/”+db,user,pwd);

// Establish a JDBC connection to the Oracle database server.
//DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
//Connection conn = DriverManager.getConnection(
// “jdbc:oracle:thin:@localhost:1521:”+db,user,pwd);

// Establish a JDBC connection to the SQL database server.
//Class.forName(“net.sourceforge.jtds.jdbc.Driver”);
//Connection conn = DriverManager.getConnection(
// “jdbc:jtds:sqlserver://localhost:1433/”+db,user,pwd);
}
}

June 6, 2008 Posted by Mariesa Rahmawati | Pemrograman | | No Comments Yet

MIDLet

Merupakan aplikasi yang dibuat dengan menggunakan J2ME dengan profile MIDP. Sebuah aplikasi MIDLet akan mengalami beberapa proses sebelum dapat digunakan dalam sebuah perangkat telepon seluler. adapun proses-proses yang alami antara lain:

  1. Editing

Proses menulis dan memperbaiki program.

  1. Compiling

Ekstensi .java diubah dalam bentuk byte code menjadi file berekstensi .class

  1. Preverity

Penyusunan kembali byte code .class untuk verifikasi akhir pada CLDC virtual machine. Pada proses ini diperiksa juga apa ada fitur di virtual machine)

  1. Packaging

Pengemasan semua file yang diperlukan termasuk didalamnya file tambahan seperti gambar atau teks ke dalam file yang berekstensi .jar)

  1. Run

Proses untuk memeriksa hasil kode program dalam emulator)

June 6, 2008 Posted by Mariesa Rahmawati | Pemrograman | | No Comments Yet

Algoritma

Algoritma pertama kali ditemukan oleh seorang ahli matematika dari Uzbekistan yang bernama Abu Abdullah Muhammad Ibn Musa al-Khwarizmi (770-840). Dalam literatur barat al-Khwarizmi lebih terkenal dengan sebutan algorizm. Panggilan inilah yang kemudian dipakai untuk menyebut konsep algorithm yang ditemukannya. Algoritma adalah kunci dari bidang ilmu komputer, karena banyak bidang di bawah ilmu komputer yang lahir berdasarkan konsep algoritma. Pada hakekatnya algoritma juga digunakan manusia dalam melakukan suatu kegiatan. Sebagai contoh nyata dari algoritma yaitu apabila seorang muslim akan melakukan ibadah sholat. Pertama yang dilakukan adalah berwudlu, kemudian pergi ke masjid, setelah itu melakukan sholat. Apabila langkah-langkah yang dilakukan tidak berurutan maka muslim tersebut tidak sah melakukan ibadah sholat.

Definisi Algoritma :

Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan.

Kamus besar bahasa Indonesia (Balai Pustaka 1988) secara formal mendefinisikan algoritma sebagai:

Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.

Perbedaan Algoritma dan Program

Program adalah kompulan instruksi komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Dapat diambil kesimpulan bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi perumusan bahwa:

program = struktur data + algoritma

Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya.

Pemilihan algoritma yang baik

Ketika manusia berusaha memecahkan masalah, metode atau teknik yang digunakan untuk memecahkan masalah itu ada kemungkinan bisa banyak (tidak hanya satu). Hal ini sama juga dengan algoritma, yang memungkinkan suatu permasalahan dipecahkan dengan metode dan logika yang berlainan.

Beberapa persyaratan untuk menjadi algoritma yang baik adalah:

a. Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus memiliki akurasi yang tinggi dan benar.

b. Pemrosesan yang efisien (cost rendah). Proses harus diselesaikan secepat mungkin dan frekuensi kalkulasi yang sependek mungkin.

c. Sifatnya general. Algoritma tidak hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain yang lebih umum.

d. Dapat dikembangkan (expandable). Algoritma yang dibuat harus dapat dikembangkan sesuai kebutuhan.

e. Mudah dimengerti. Algoritma yang baik adalah algoritma yang mudah dipahami, sehingga akan memudahkan dalam pengimplementasiannya.

June 6, 2008 Posted by Mariesa Rahmawati | Pemrograman | | No Comments Yet