php 5 , OOP man….
Pada tutorial kali ini, kita akan membahas tentang PHP5 menggunakan teknik Object Oriented Programming.
Misalkan, kita punya database di mysql dengan nama “mading”,kita buat tabel “stokbarang” yang field-fieldnya antara lain tgl(date), masuk(int), dan keluar(int). Langkah selanjutnya kita siapkan satu file buat koneksi, berikut syntaxnya :
<?
// config.php
$host=”localhost”;
$user=”root”;
$passwd=””;
?>
<?
//db.php
$dbase=”mading”;
?>
<?php
/**
*dimodifikasi dari bengkelprogram.com
*bimbingan dari Pak Puji
*rebuilt by Abdul Malik Ikhsan
**/
?>
<?
class koneksi{
var $host;
var $user;
var $passwd;
var $dbase;
var $query;
var $hasilnya;
function buatkoneksi(){
include “config.php”;
$this->host=$host;
$this->user=$user;
$this->passwd=$passwd;
return mysql_connect($this->host,$this->user,$this->passwd
}
function seleksidb(){
include “db.php”;
$this->dbase=$dbase;
return mysql_select_db($this->dbase);
}
function seleksiquery($query){
return mysql_query($query);
}
function get_array($hasilnya){
return mysql_fetch_array($hasilnya);
}
?>
**************************
selanjutnya kita panggil kelas di atas pada file stok.php
**************************
berikut syntaxnya :
<? include “koneksi.php” ?>
<?
//instansiasi
$o=new koneksi();
$o->buatkoneksi();
$o->seleksidb();
$hasil=$o->seleksiquery(“select * from stokbarang”);
?>
<table border=1>
<tr>
<td>Tanggal</td>
<td>Masuk</td>
<td>Keluar</td>
<td>Saldo</td>
</td>
<?
$stokkumulatif=0;
if ($hasil!=null){
while ($row=$o->get_array($hasil)){
$stokpertanggal=$row[1]-$row[2];
$stokkumulatif=$stokkumulatif+$stokpertanggal;
?>
<tr>
<td><?=$row[0]?></td>
<td><?=$row[1]?></td>
<td><?=$row[2]?></td>
<td><?=$stokkumulatif?></td>
</tr>
<? } ?>
<tr>
<td colspan=3>Saldo Kumulatif</td>
<td><?=$stokkumulatif?></td>
</tr>
<? } ?>
</table>
jsp dengan useBean …
pada tutorial kali ini, kita akan membahas tentang jsp dengan menggunakan useBean, yaitu kita memanggil kelas dari file *.java yang telah kita buat, sama seperti program2 sebelumya, kita akan coba tampilkan table jurnal yang field-fieldnya tgl,masuk, dan keluar, pada database jurnal, pertama, kita buat file *.java pada folder web-inf/classes/berhasil, (folder “berhasil” hanya contoh, silakan dimodifikasi), seperti berikut :
/**
*simpan pada cihuy.java
*/
package berhasil;
import java.sql.*;
public class cihuy
{
String driver=”com.mysql.jdbc.Driver”;
String koneksi=”jdbc:mysql://localhost/jurnal”;
String user=”root”;
String pass=””;
public Connection con;
public Statement st;
public ResultSet rs;
public void buatkoneksi()throws Exception{
Class.forName(driver);
con=DriverManager.getConnection(koneksi,user,pass);
}
public boolean getjurnal()throws Exception{
st=con.createStatement();
rs=st.executeQuery(“select * from jurnal”);
return (rs!=null);
}
public boolean getnext()throws Exception{
return rs.next();
}
public String getfield(String f)throws Exception{
return rs.getString(f);
}
}
**********
compile file di atas
**********
sekarang kita panggil di jsp,
/**
*simpan file di bawah dengan nama cihuy.jsp
*/
<jsp:useBean id=”jj” class=”berhasil.cihuy”/>
<table border=1>
<tr>
<td>Tanggal</td>
<td>Masuk</td>
<td>Keluar</td>
<td>Saldo</td>
</td>
<%
jj.buatkoneksi();
if (jj.getjurnal()){
int saldosatubaris=0;
int saldokumulatif=0;
while(jj.getnext()){
String tgl=jj.getfield(“tgl”);
int masuk=Integer.parseInt(jj.getfield(“masuk”));
int keluar=Integer.parseInt(jj.getfield(“keluar”));
saldosatubaris=masuk-keluar;
saldokumulatif=saldokumulatif+saldosatubaris;
%>
<tr>
<td><%=tgl%></td>
<td><%=masuk%></td>
<td><%=keluar%></td>
<td><%=saldokumulatif%></td>
<tr>
<% } %>
<tr>
<td colspan=3>Saldo akhir</td>
<td><%=saldokumulatif%></td>
</tr>
<% } %>
penggunaan package, koneksi ke mysql
Pertama, kita buat database bernama jurnal,dengan tabel bernama jurnal, yang field-fieldnya tgl, masuk dan keluar, isi tabel tersebut.
selanjutnya, kita buat file untuk memanggil koneksi,
/**
*simpan file ini pada folder open
*simpan dengan nama connect.java
*/
package open;
import java.sql.*;
public class connect
{
private String driver=”com.mysql.jdbc.Driver”;
private String koneksi=”jdbc:mysql://localhost/jurnal”;
private String user=”root”;
private String pass=””;
protected Connection con;
protected Statement st;
protected ResultSet rs;
public connect(){}
public void buatkoneksi()throws Exception{
try{
Class.forName(driver);
con=DriverManager.getConnection(koneksi,user,pass);
}catch(Exception e){
System.out.println(“driver tidak ketemu\nada kesalahan koneksi”);
}
}
public boolean gettampiljurnal() throws Exception{
st=con.createStatement();
rs=st.executeQuery(“select * from jurnal”);
return (rs!=null);
}
public boolean getnext()throws Exception{
return rs.next();
}
public String getfield(String f)throws Exception{
return rs.getString(f);
}
}
*******************
compile file di atas
*******************
di luar folder, kita buat file untuk memanggil file koneksi di atas
/**
*simpan dengan nama jurnalmysql.java
*/
import java.sql.*;
import open.connect;
class jurnalmysql extends connect
{
public static void main(String args[])throws Exception{
connect c=new connect();
c.buatkoneksi();
if (c.gettampiljurnal())
{
System.out.println(“tgl masuk keluar saldo”);
int saldo=0;
int saldoakhir=0;
while (c.getnext())
{
String tgl=c.getfield(“tgl”);
int masuk=Integer.parseInt(c.getfield(“masuk”));
int keluar=Integer.parseInt(c.getfield(“keluar”));
saldo=(masuk-keluar);
saldoakhir=saldoakhir+saldo;
System.out.println(“”+tgl+” “+masuk+” “+keluar+” “+saldoakhir);
}
System.out.println(“==============================”);
System.out.println(“saldo “+saldoakhir);
}
}
}
***************
compile dan run file di atas
***************
Berikut hasil running-nya
package
/*
**simpan file ini pada folder manusia
*/
package manusia;
public class orang{
String nama;
public void isinama(String n){this.nama=n;}
public String tampilnama(){return nama;}
}
/*
**simpan file ini pada folder animal
*/
package animal;
public class hewan{
String panggilan,minum,terbang;
public void memanggil(String me){this.panggilan=me;}
public void menerbang(String mn){this.terbang=mn;}
public void editminum(String m){this.minum=m;}
public String implementasiminum(){return minum;}
public String implementasipanggil(){return panggilan;}
public String implementasiterbang(){return terbang;}
}
/*
**sekarang kita buat file untuk memanggil sifat dari dua kelas di atas
*/
import manusia.orang;
import animal.hewan;
class panggilduakelas{
public static void main(String args[]){
orang o=new orang();
hewan h=new hewan();
o.isinama(“samsonasik”);
h.memanggil(“meong…”);
h.editminum(“sruput”);
h.menerbang(“wusss…wuss…”);
System.out.println(“”+o.tampilnama()+” sedang minum,…”+h.implementasiminum() );
System.out.println(“”+h.implementasipanggil()+” sedang terbang,…”+h.implementasiterbang());
}
}
Udah bayar kuliah
pyuh..akhirnya aku bisa bayar kuliah, besok bisa ujian, tapi masalahnya sekarang, aku belum belajar, lagi pusinggg…ngoprek java, nggak bisa-bisa, pengennya sih multiple inheritance, tapi ga berhasil-berhasil, e..malah jadi class baru, lieurrr…
*******
lanjutin lagi ah…
belum bayar kuliah
pernah ga ngalamin, mau uts, tapi uang kuliah belum lunas? Hal inilah yang sekarang terjadi pada saya, wah, pusing…
<ini cerita pendek yang pendek banget>
login session pada jsp ==>>Connect Oracle 10G
ebelumnya saya mohon maaf, mungkin untuk masalah login session udah banyak yang tahu, saya hanya berbagi pengalaman, kali aja nanti malah ada yang menyumbang ide yang lebih baik untuk security pada jsp,hidup ilmu pengetahuan !!!
==========================
yang akan saya tampilkan di bawah belum menggunakan metode MVC, karena agak ribet, dan berbelit2, (ngomong aja ga bisa ), …
Pertama, kita buat file koneksi dulu, misalnya connect.jsp
———————————
Code: |
<%@ page import=”java.sql.*” %> <% try{ Class.forName(“oracle.jdbc.driver.OracleDriver”); }catch(ClassNotFoundException e){ out.print(e.getMessage()); } String koneksi=”jdbc:oracle:thin:@localhost:1521:Orcl”; Connection con=DriverManager.getConnection(koneksi,user,pass); |
———————————————
Sekarang, kita bisa membuat file untuk halaman loginnya misalnya login.jsp
———————————————
Code: |
<META HTTP-EQUIV=”Refresh” content=””> <title>…:::Halaman Login:::…</title> <form method=”post” action=””> <table border=0> <tr> <td>Username</td> <td><input type=”text” name=”username”></td> </tr> <tr> <td>Password</td> <td><input type=”password” name=”password”></td> </tr> <tr> <td></td> <td><input type=”submit” value=”Login”></td> </tr> </table> </form> <%@ include file=”connect.jsp” %> <% String username=request.getParameter(“username”); String password=request.getParameter(“password”); if (username==null){ rs=st.executeQuery(“select * from login where username='”+username+”‘ and password='”+password+”‘”); session.setAttribute(“sessionusername”,rs.getString(“username”)); |
———————————————–
Sekarang, kita buat halaman utamanya, misal utama.jsp
———————————————–
Code: |
<META HTTP-EQUIV=”Refresh” Content=””> <% if ((String)session.getAttribute(“sessionusername”)==null && (String)session.getAttribute(“sessionpassword”)==null){ response.sendRedirect(“login.jsp”); } else if ((String)session.getAttribute(“sessionusername”)!=null){ out.print(“Selamat Datang …”); out.print(“<a href=logout.jsp>logout</a>”); } %> |
————————————————–
Simulasi terakhir, kita buat halaman logout(hapus sesi), misalnya logout.jsp
Code: |
<META HTTP-EQUIV=”Refresh”> <% session.removeAttribute(“sessionusername”); session.removeAttribute(“sessionpassword”); session.invalidate(); response.sendRedirect(“login.jsp”); %> |
—————————————————
7 comments