Home about IT Motivation Course Sales Project About Me

Thursday, August 04, 2011

java: object oriented programming

di sarikan dari berbagai sumber:

Pemrograman Berorientasi Objek


Pemrograman yang menjadikan objek sebagai komponen utama dalam sistem. Objek adalah gabungan data dan fungsi, dimana sebuah objek dibuat dari sebuah kelas

Konsep OOP (Object Oriented Programming)

Kelas : mendefinisikan kerangka dari objek, yang mana objek itu diinstansiasi dari kelas
Objek : dibuat dari kelas yang mana objek memiliki data dan method
Method : Perilaku dari objek atau sebuah fungsi untuk mengerjakan tugas-tugas tertentu

Objek
Objek merupakan hasil dari sebuah kelas, diibaratkan kelas merupakan resep kue dan objek merupakan kue, Maka suatu resep kue dapat membuat beberapa kue.
Pembuatan objek dalam java adalah dengan menggunakan new ,pembuatannya sama dengan pembuatan variable.

Kelas objek = new Kelas();

Jika dalam kelas yang dibuat objek terdapat atribut/variable maka dapat dipanggil dengan cara berikut :
objek.atribut = value;

Kelas
Dalam java, kelas didefinisikan dengan kata kunci class. Contoh kelas sederhana sebagai berikut :

Code:

class Manusia{
String nama,umur;
}

Pada kode diatas kita telah membuat kelas manusia dengan atibut/variable nama dan umur.
Kita akan mencoba membuat objek dari kelas tersebut

Manusia MNS = new Manusa(); //MNS merupakan nama objek pada kelas Manusia

//mengubah nama dan umur pada kelas Manusia yang defaultnya adalah kosong menjadi ada isi nya
Code:

MNS.nama = "Kiki Oktarizky";
MNS.umur = "21 tahun";

Metode (Method)

Dalam java terdapat 2 method :
1. Fungsi : metode yang memiliki nilai kembalian jika metode tersebut dipanggil. Cara pembuatan fungsi adalah dengan menentukan nilai kembaliannya dulu lalu membuat nama method nya.
2. Prosedur : metode yang tidak memiliki nilai kembalian. Cara pembuatan nya sama dengan fungsi, namun nilai kembaliannya menggunakan kata kunci void.

Contoh :
Code:

class Dosen{
String nama;
String ambilNama(){
return nama;
}
void hapusNama(){
nama = " ";
}
}


Pada kode diatas terdapat satu buah fungsi bernama ambilNama() dan prosedur bernama hapusNama(). Untuk mengembalikan suatu fungsi harus menggunakan kata kunci return diikuti nilai yang akan dikembalikannya. Untuk mengambil nilai kembaliannya terdapat seperti kode dibawah :

Code:

Dosen DSN = new Dosen();
DSN.nama = "Bambang Siswoyo";
String nama = DSN.ambilNama();


Contoh Prosedur :
Code:

public class Rumah{
public static void meja(){
System.out.println("Ada Meja");
}
void jamDinding(){
System.out.println("Ada jam dinding");
}
}
class IsiRumah{
public static void main(String[] args){
Rumah.meja();
Rumah panggil = new Rumah();
panggil.jamDinding();
}
}


pada program diatas terdapat 2 buah prosedur bernama meja() dan jamDinding(). method meja bisa dipanggil secara langsung tanpa menggunakan objek pada class isiRumah karena ada keyword static, sedangkan method jamDinding harus dipanggil melalui objek.
Output dari program di atas adalah :

Code:

Ada Meja
Ada jam dinding

Inheritance
Inheritance merupakan kemampuan suatu kelas untuk mewariskan data dan method yang dimilikinya ke kelas lain
analogi nya bisa kita lihat dalam kehidupan sehari-hari seperti seorang anak yang mempunyai sifat yang diwarisi oleh ayah nya, dalam java kelas ayah tersebut (kelas parent) biasa disebut super class dan kelas dari yang mewarisinya disebut sub class.


Code:

//file Pegawai.java
public class Pegawai {
public long hitungGajiTotal(){
return 0;
}
}


Code:

//file Dosen.java
class Dosen extends Pegawai {
private String nip,nidn,gol,j_Struktural,j_Fungsional;
private long t_Struktural,gajiPokok,t_Fungsional,honorMengajar;
int jamMengajar;
Dosen(String nip,String nidn,String gol,String j_Struktural,String j_Fungsional,int jamMengajar
,long honorMengajar){
this.nip = nip;
this.nidn = nidn;
this.gol = gol;
this.j_Struktural = j_Struktural;
this.j_Fungsional = j_Fungsional;
this.jamMengajar = jamMengajar;
this.honorMengajar = honorMengajar;
}
public String getNip(){
return nip;
}
public String getNidn(){
return nidn;
}
public String getGol(){
return gol;
}
public long getGajiPokok(){
if(gol=="IIIA")
gajiPokok = 2000000;
else if(gol=="IIIB")
gajiPokok = 2500000;
else if(gol=="IIIC")
gajiPokok = 3000000;
else
gajiPokok = 0;
return gajiPokok;
}
public String getJ_Struktural(){
return j_Struktural;
}
public long getT_Struktural(){
if(j_Struktural=="Rektor")
t_Struktural = 10000000;
else if(j_Struktural=="Dekan")
t_Struktural = 5000000;
else if(j_Struktural=="Kaprodi")
t_Struktural = 2000000;
else
t_Struktural = 0;
return t_Struktural;
}
public String getJ_Fungsional(){
return j_Fungsional;
}
public long getT_Fungsional(){
if(j_Fungsional=="Lektor")
t_Fungsional = 1000000;
else if(j_Fungsional=="Asisten Ahli")
t_Fungsional = 700000;
else
t_Fungsional = 0;
return t_Fungsional;
}
public int getJamMengajar(){
return jamMengajar;
}
public long getHonorMengajar(){
return honorMengajar;
}
public long hitungGajiTotal(){
long gajiTotal = gajiPokok+t_Struktural+t_Fungsional+honorMengajar;
return gajiTotal;
}
}



Code:

//file PegawaiInheritance.java
public class PegawaiInheritance {
public static void main(String[] args){
Dosen dsn = new Dosen("001","NIDN001","IIIA","Rektor","Lektor",1,50000);
System.out.println("PROGRAM HITUNG GAJI\n");
System.out.println("-----------------------------------");
System.out.println("DOSEN\n");
System.out.println("Nip = "+dsn.getNip());
System.out.println("Nidn = "+dsn.getNidn());
System.out.println("Golongan = "+dsn.getGol());
System.out.println("Gaji Pokok = "+dsn.getGajiPokok());
System.out.println("Jabatan Struktural = "+dsn.getJ_Struktural());
System.out.println("Tunjangan Struktural = "+dsn.getT_Struktural());
System.out.println("Jabatan Fungsional = "+dsn.getJ_Fungsional());
System.out.println("Tunjangan Fungsional = "+dsn.getT_Fungsional());
System.out.println("Jam Mengajar = "+dsn.getJamMengajar());
System.out.println("Honor Mengajar = "+dsn.getHonorMengajar());
System.out.println("Gaji Total = "+dsn.hitungGajiTotal());
System.out.println("-----------------------------------");
}
}


Pada program diatas terdapat satu super class bernama Pegawai dan satu sub class atau kelas turunannya bernama Dosen. Disini kelas Dosen memiliki method-method beserta variable nya tersendiri beserta access modifier masing-masing dan kelas Pegawai hanya mewariskan method yang dimiliki nya yaitu hitungGajiTotal().


Information Hiding dan Encapsulation

• Information Hiding adalah
menyembunyikan attribute dan method
suatu objek dari objek lain.
• Encapsulation adalah menyembunyikan
attribute suatu objek dari objek lain.
• Attribute maupun method disembunyikan
dengan cara memberikan modifier private.

Overrriding Attribute dan Method
• Overriding adalah kemampuan suatu
subkelas untuk memodifikasi attribute dan
method milik kelas supernya (bukan private
atau final).
• Modifikasi : jumlah parameter, tipe
parameter, tipe return value, ataupun
lingkungan pemrosesan datanya

Polymorphism
• artinya bersifat poly morphy (memiliki
banyak bentuk)
• Method‐method overloading dalam kelas
yang sama
• Method‐method overloading dalam kelas
yang berbeda (kelas turunannya)

Monday, July 25, 2011

beda MyISAM dan INNODB di MySQL

MyISAM:
Format tabel MyISAM merupakan pengembangan dan penyempurnaan dari format tabel ISAM, dan merupakan format tabel default pada MySQL. Pada MyISAM file indeks disimpan dengan nama akhiran .MYI dan file data disimpan dengan nama akhiran .MYD


InnoDB:
Tipe tabel InnoDB merupakan tipe tabel MySQL yang mendukung proses transaksi. Tipe ini memiliki beberapa keunggulan, antara lain:
Format Tabel InnoDB mendukung proses transaksi dengan adanya fasilitas rollback dan commit, dan juga kemampuan untuk memulihkan tabel bila terjadi kerusakan pada tabel tersebut. Mampu melakukan penguncian (locking) pada tingkatan record dan juga mampu membaca pada perintah SELECT yang tidak dikunci (mirip dengan kemampuan Oracle).


Sunday, July 17, 2011

How to turn off error reporting in php

If you want to turn off any errors and warning from displaying in the web page, The easiest way is to modify the php.ini file. But what if you want to turn off error reporting in php using your php code? you can accomplish this easily using php built in function error_reporting()

<?php
error_reporting(0); // Turn off all error reporting
?>
or

ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL);


or

error_reporting (E_ALL ^ E_NOTICE);


or at php ini, un remark below script
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

Friday, July 01, 2011

JAVA: Connection to MySQL

have 2 files:
- KoneksiMysql.java
- and menu.java

database: akademik
tabel : mahasiswa (field: nim,nama )

====================================
name: KoneksiMysql.java

//package koneksi.mysql;
import java.sql.*;

public class KoneksiMysql {
String url, usr, pwd, dbn;
public KoneksiMysql (String dbn) {
this.url = "jdbc:mysql://localhost/" + dbn;
this.usr = "root";
this.pwd = "";
}

public KoneksiMysql (String host, String user, String pass, String dbn) {
this.url = "jdbc:mysql://" + host + "/" + dbn;
this.usr = user;
this.pwd = pass;
}

public Connection getConnection() {
Connection con = null;
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(this.url, this.usr, this.pwd);
} catch (ClassNotFoundException e) {
System.out.println ("Error #1 : " + e.getMessage());
System.exit(0);
} catch (SQLException e) {
System.out.println ("Error #2 : " + e.getMessage());
System.exit(0);
}
return con;
}
/*
public static void main (String args[]) {
KoneksiMysql kon = new KoneksiMysql ("akademik");
Connection c = kon.getConnection();
}
*/
}


=================================

name: menu.java



import java.sql.*;
import java.io.*;

class menu {
public static void main(String args[]) throws IOException{
BufferedReader stdin=new
BufferedReader(new InputStreamReader(System.in));

String buff;
int pilih;

try {
KoneksiMysql kon = new KoneksiMysql ("akademik");
Connection c = kon.getConnection();
pilih=0;
while(pilih<5) {
System.out.println(" Menu : ");
System.out.println(" 1. Lihat Data ");
System.out.println(" 2. Tambah Data ");
System.out.println(" 3. Hapus Data ");
System.out.println(" 4. Update Data ");
System.out.println(" 5. Exit ");
System.out.print(" Pilih nomor : ");
buff = stdin.readLine();
pilih=Integer.parseInt(buff);
ResultSet hasilQuery = null;
Statement stm = c.createStatement();

switch(pilih){
case 1:
{
hasilQuery = stm.executeQuery("SELECT * FROM mahasiswa");

while (hasilQuery.next()) {
String nim_mahasiswa = hasilQuery.getString("nim");
String nama_mahasiswa = hasilQuery.getString("nama");
System.out.println(nim_mahasiswa+" -> " + nama_mahasiswa); }

break;
}
case 2:
{
String nim_t, nama_t;
System.out.print("nim : ");
nim_t = stdin.readLine();
System.out.print("nama : ");
nama_t = stdin.readLine();
String sql="INSERT into mahasiswa values('"+nim_t+"','"+nama_t+"')";
stm.executeUpdate(sql);
break;
}
case 3:
{
String nim_h;
System.out.print("nim : ");
nim_h = stdin.readLine();
String sqlh="DELETE from mahasiswa where nim = '"+nim_h+"'";
stm.executeUpdate(sqlh);
break;
}
case 4:
{
String nim_u,nama_u;
System.out.print("nim : ");
nim_u = stdin.readLine();
hasilQuery = stm.executeQuery("SELECT * FROM mahasiswa where nim = '" + nim_u + "'");
while (hasilQuery.next()) {
String nm_mahasiswa = hasilQuery.getString("nama");
System.out.println("Nama : " + nm_mahasiswa);
}

System.out.print("Nama Baru : ");
nama_u = stdin.readLine();

String sqlu="UPDATE mahasiswa set nama='" + nama_u + "' where nim = '" + nim_u + "'";
stm.executeUpdate(sqlu);
break;
}
default:
{
System.out.println("Bye");
break; }

}
}
c.close();

}
catch (Exception e) {
System.out.println("Error : "+e);
}
}
}

Thursday, June 30, 2011

JAVA: capture camera using JMF

use below script to capture camera on notebook or
Logitech USB Video Camera use JMF

name: SwingCapture.java

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferedImage;
import java.io.FileOutputStream;
import javax.media.Buffer;
import javax.media.CaptureDeviceInfo;
import javax.media.CaptureDeviceManager;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.Player;
import javax.media.control.FrameGrabbingControl;
import javax.media.format.VideoFormat;
import javax.media.util.BufferToImage;
import javax.swing.JButton;
import javax.swing.JComponent;
//import com.sun.image.codec.jpeg.JPEGCodec;
//import com.sun.image.codec.jpeg.JPEGEncodeParam;
//import com.sun.image.codec.jpeg.JPEGImageEncoder;
public class SwingCapture extends Panel implements ActionListener
{public static Player player = null;

public CaptureDeviceInfo di = null;
public MediaLocator ml = null;
public JButton capture = null;
public Buffer buf = null;
public Image img = null;
public VideoFormat vf = null;
public BufferToImage btoi = null;
public ImagePanel imgpanel = null;
public SwingCapture()
{setLayout(new BorderLayout());

setSize(320,550);
imgpanel = new ImagePanel();
capture = new JButton("Capture");
capture.addActionListener(this);
String str1 = "vfw:Logitech USB Video Camera:0";
String str2 = "vfw:Microsoft WDM Image Capture (Win32):0";
di = CaptureDeviceManager.getDevice(str2);
//Getting Camera Device Information
ml = di.getLocator();
//MediaLocator for Camera
try
{player = Manager.createRealizedPlayer(ml);//Creating Player
player.start();
//Start Camera Player
Component comp;
//for Getting Visual Player Component of Camera
if ((comp = player.getVisualComponent()) != null)
{
add(comp,BorderLayout.NORTH); //Add Camera to North

}
add(capture,BorderLayout.CENTER); //Add Capture Button in Between
add(imgpanel,BorderLayout.SOUTH); //Add Captured image
}
catch (Exception e)
{e.printStackTrace();
}
}
public static void main(String[] args)
{Frame f = new Frame("SwingCapture");
//Creating New Frame
SwingCapture cf = new SwingCapture();
//Main Object Create
f.addWindowListener(new WindowAdapter() //Window Closing
{public void windowClosing(WindowEvent e)
{playerclose();

//Closing Player
System.exit(0);
}
});
f.add("Center",cf);
//Adding Main Object to Frame
f.pack();

//Packing Frame
f.setSize(new Dimension(320,550));
f.setVisible(true);
}
public static void playerclose()//Function While Closing Player
{player.close();
player.deallocate();
}
public void actionPerformed(ActionEvent e)
{JComponent c = (JComponent) e.getSource();//Getting Source of Event
if (c == capture)//Capture Button Event
{FrameGrabbingControl fgc = (FrameGrabbingControl)
player.getControl("javax.media.control.FrameGrabbingControl");
buf = fgc.grabFrame();
// Grabbing a frame
btoi = new BufferToImage((VideoFormat)buf.getFormat());// Convert it to an image Buffer
img = btoi.createImage(buf); //Creating Image from Buffer
imgpanel.setImage(img);

// show the image
saveJPG(img,"c:\\test.jpg"); // save image Function
}
}
class ImagePanel extends Panel
//Panel for Displaying Cptured Image
{public Image myimg = null;
public ImagePanel()
{setLayout(null);
setSize(320,240);
}
public void setImage(Image img)
{this.myimg = img;
repaint();
}
public void paint(Graphics g)

{if (myimg != null)
{g.drawImage(myimg, 0, 0, this);
}
}
}
public static void saveJPG(Image img, String s)
{BufferedImage bi = new BufferedImage(img.getWidth(null),

img.getHeight(null), BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = bi.createGraphics();
g2.drawImage(img, null, null);
FileOutputStream out = null;
try
{out = new FileOutputStream(s);
}
catch (java.io.FileNotFoundException io)
{System.out.println("File Not Found");

}
//JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
//JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bi);
//param.setQuality(0.5f,false);
//encoder.setJPEGEncodeParam(param);
try
{//encoder.encode(bi);
out.close();
}
catch (java.io.IOException io)
{System.out.println("IOException");
}
}
}

Wednesday, June 29, 2011

The Basic Steps to Connect Oracle and Java Program

http://www.dbapool.com/articles/011706.html

The Basic Steps to Connect Oracle and Java Program

Here, I will show you what the steps to make a connection between Oracle database and your Java program. To do this work, you need the JDBC (Java DataBase Connectivity) driver. The file name of Oracle's JDBC driver is classes12.zip or classes12.jar. By default, Oracle have included this driver at the software installation process. Its location is in the ORACLE_HOME\jdbc\lib directory. For example, if our ORACLE_HOME is C:\Oracle\Ora90 then the JDBC driver will be placed in C:\Oracle\Ora90\jdbc\lib directory.

Make sure to set the Java CLASSPATH correctly. Here is the command line to do it.
(Note: Assume the ORACLE_HOME is C:\Oracle\Ora90)

set CLASSPATH=.;C:\Oracle\Ora90\jdbc\lib\classes12.jar

or

set CLASSPATH=.;C:\Oracle\Ora90\jdbc\lib\classes12.zip

In addition, you can also set the CLASSPATH in your autoexec.bat file on your Windows operating system.

Now, just follow these steps:

STEP 1. Import the java.sql package into your program.
------------------------------------------------------

import java.sql.*;

The syntax above will import all classes in the java.sql package. If you want to import a few of them, you can write the syntax like this

import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.Connection;

It only imports the Driver, DriverManager, and Connection class into your Java program.

STEP 2. Load the Oracle's JDBC driver.
--------------------------------------

There are two ways to load your JDBC driver. The first, use the forName() method of java.lang.Class class.

Class.forName("oracle.jdbc.driver.OracleDriver");

And the second way is use the registerDriver() method of DriverManager class.

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

STEP 3. Create a Connection object.
-----------------------------------

To create a Connection object, use the getConnection() method of DriverManager class. This method takes three parameters: URL, username, and password.

Connection conn =
DriverManager.getConnection(
"jdbc:oracle:thin:@mylaptop:1521:ORADB", // URL
"budi", // username
"Bandung" // password
);

STEP 4. Create a Statement object.
----------------------------------

The Statement object can be created by call the createStatement() method of Connection object that you made before. So, you can write the following code

Statement mystat = conn.createStatement();

STEP 5. Execute your SQL statement.
-----------------------------------

After you create a Statement object successfully, you can execute a query (SELECT statement) from your Java program using the executeQuery() method of Statement class. The result of execution process will be stored in ResultSet object, so you need to declare an object of ResultSet first. Here is the code.

ResultSet rs = mystat.executeQuery("select custno, custname from customer");

STEP 6. Display your data.
--------------------------

The next step is display your data using the looping control.

while (rs.next()) {
System.out.println(
rs.getInt(1) + // first column
"\t" + // the horizontal tab
rs.getString(2) // second column
);
}

STEP 7. Close your statement and connection.
--------------------------------------------

mystat.close();
conn.close();


Here is the complete code.

/*********************************************************************
* File name : SimpleOraJava.java

*********************************************************************/

import java.sql.*;

class SimpleOraJava {
public static void main(String args[]) throws SQLException {
DriverManager.registerDriver(
new oracle.jdbc.driver.OracleDriver()
);
String serverName = "mylaptop";
int port = 1521;
String user = "budi";
String password = "password";
String SID = "ORADB";
String URL = "jdbc:oracle:thin:@" + serverName + ":" + port + ":" + SID;
Connection conn = DriverManager.getConnection(URL, user, password);
String SQL = "SELECT CUSTNO, CUSTNAME FROM CUSTOMER";
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery(SQL);
while (rs.next()) {
System.out.println(
rs.getInt(1) +
"\t" +
rs.getString(2)
);
}
stat.close();
conn.close();
}
}

Friday, May 20, 2011

beberapa sql script di oracle

login di sql plus: system@hris

menampilkan struktur tabel
desc namatabel

buat user:
create user coba identified by passworduser;

ganti password user:
alter user coba identified by passwordbaru;

beri rule dba ke user
grant dba to user2;

Monday, March 21, 2011

error message "Use of undefined constant" and " Function session_is_registered() is deprecated "



if you got error message when run PHP applications below
"Use of undefined constant " .....

please set as below at php.ini


error_reporting = E_ALL & ~E_NOTICE

then if you got error as below
"Deprecated: Function session_is_registered() is deprecated "

the issue due to you use different version of PHP
please set as below at php.ini

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

don't forget to restart Apache after changes php.ini !

Saturday, March 19, 2011

Avast Antivirus Gratis License Key Sampai 2038

cari cari antivirus untuk Windows 7, ketemu ini:

http://www.netmild.com/avast-antivirus-gratis-license-key-sampai-2038.html

Jika anda menginginkan antivirus gratis terbaik anda bisa gunakan salah satu antivirus berikut dimana dalam versi terbarunya Avast menambahkan fitur terbaru yang telah saya posting sedikit referensinya pada artikel komputer tips disini : Download Avast Antivirus 6.0 Free Terbaru.

Untuk mengaktifkan license and bisa gunakan license berikut yang valid hingga 2038 waw.

CatatanLicense hanya dapat digunakan pada Avast AV free dan gunakan Avast free untuk keperluan non komersial. Dan tidak ada jaminan license key berikut sampai 2038

Avast License Key: W6754380R9978A0910-4TZ59467

Sumber :
http://tricks-collections.com/avast-license-key-activate-avast-free-antivirus-until-2038/

Saturday, March 12, 2011

Create Calendar use SQL Script

kadang kita pingin bikin periode kalender dari tanggal berapa s/d berapa.
berikut scriptnya. Tapi hanya berlaku mulai SQL 2005 Server.
di sql server 2000 tidak bisa (harus dengan cara lain).

1.) bikin tabel kalender dulu,
berikut scriptnya

create table kalender
(
no int identity(1,1) not null,
[date] datetime not null,

)

2.) bikin funcion yang namanya 'tabeltanggal' yang akan generate periode kalendernya
berikut scriptnya


CREATE FUNCTION [dbo].[tabeltanggal]
(
@FirstDate datetime,
@LastDate datetime
)
RETURNS @datetable TABLE (
[date] datetime
)
AS
BEGIN

SELECT @FirstDate = DATEADD(dd, 0, DATEDIFF(dd, 0, @FirstDate)); SELECT @LastDate = DATEADD(dd, 0, DATEDIFF(dd, 0, @LastDate));
WITH CTE_DatesTable
AS
(
SELECT @FirstDate AS [date]
UNION ALL
SELECT DATEADD(dd, 1, [date])
FROM CTE_DatesTable
WHERE DATEADD(dd, 1, [date]) <= @LastDate
)
INSERT INTO @datetable ([date])
SELECT [date] FROM CTE_DatesTable
OPTION (MAXRECURSION 0)

RETURN
END

3.) bikin script untuk generate periode kalender yang diinginkan
misal akan bikin kalender periode 01 desember 2010 s/d 10 desember 2010
yaitu sbb:

insert into kalender ([date])
select [date] from tabeltanggal('20101201', '20101210')

4.) silakan liat hasilnya di tabel kalender;

select * from kalender

VB6: exception dari database

contoh. biar tidak lupa terus:
di gunakan misal bila hasil count > 0 akan ada message box dan
bila count <= 0 akan ada message box

---------------------------------------------------
Private Sub Command11_Click()
Dim sql As String
Dim yyn As String


sql = "select count(id)y from tabel where kolom > '2011-01-12' "
Set rs = db.Execute(sql)
yy = rs!y
If ap > "0" Then
MsgBox "lebih dari nol!"

Else
MsgBox "nol ATAU kurang !"
End If

End Sub

---------------------------------

untuk koneksi, buat di form modul:


Option Explicit
Public db As New Connection
Public rs As New Recordset
Public sql As String


Public Function Koneksi_Database() As Boolean
'On Error GoTo pesan
If db.State = adStateOpen Then
db.Close
End If

db.Open "Provider=SQLOLEDB.1;" & _
"Persist Security Info=False;" & _
"User ID=sa;" & _
"Password=passku;" & _
"Initial Catalog=databaseku;" & _
"Data Source=serverku"
db.CursorLocation = adUseClient
Koneksi_Database = True

Exit Function
'pesan:
' Koneksi_Database = False
' MsgBox "Koneksi ke server tidak berhasil !!!", 16, "ERROR"
End
End Function

@Restoran Japan

liat sunami di TV yang melanda Japan sore tadi, jadi ingat humor berikut. Tapi sebelumnya: turut berduka cita untuk tsunami di Japan, moga cepat pulih dan di beri kesabaran dan ketabahan.

negara yang high technology dan tertib. mengalami bencanapun, penduduknya tertib untuk di evakuasi.

dari milis ITS

-----------------------------------
*sifat humor : umum ..

**Pak de mlaku mlaku karo bekas pacare neng Ginza Jepang. Wis jam 2 awan durung mangan, mesti ngelih tenan.

“Buk ngelih rak ?”, jare pak de

“I yo to yo, wetengku wis keroncongan”

“Wah nak ono restoran padang mesti uenak iki”

“Iyo mesti cepet, rak perlu kudu pesen barang”

“Wah, kae ono restoran sing nyugohke robot”

“Ho o yo, nak robot mesti nyugohkene cepet”



@restoran...Pak de lungguh adep adepan karo bekas pacarre..


Robot teko nyedakki pak de, trus ngomong :

“What is your nationality?”, robot takon.

“Indonesia” jare pak de.

“Selamat datang”, jare robot nganggo bahasa Indonesia.


“Apa bahasa suku Anda?”, robot takon meneh.


“Jawa”, jare pak de

“Sugeng siang. Badé pesen nopo?” Jare robot nganggo boso jowo.

"Canggih ya buk", pak de ngomong karo bekas pacare.


“Ono lotek?”, ibune takon karo robot.

“Ono”

“Pesen rong porsi”


“Porsi gede opo cilik?

“Porsi gede”


“Lombok e piro ?”

“Sing siji loro, sing siji sepuluh”


“Nganggo kangkung?”

“Yo”


“Nganggo timun?”

“Yo”


“Nganggo kol?”

“Yo”


“Nganggo kol cino opo kol asli jepang ?”

“Sing endi wae lah manut ”, pak de wis rodo nesu.


“Kacange meh di uleg opo di blender ?”

“Kuarepmu !”



“Kacange setengah mateng opo mateng?”

“Goréng sing gareeeeng..!!”


“Nganggo bawang goreng rak ?”

“Nganggo.. asu !” Pak de misuh banter banget.


“Meh dipiring opo dipincuk ?”

“Dipiring !”



“Lengone nganggo margarin opo minyak kelapa ?”

“Jelantah..wedus!! !”

Nesu banget soale wis sepuluh menit dewe..



Robot meneng, lampune byar pet ketap ketip koyone baru di proses.

Kiro-kiro telung menitan robot té ngomong meneh :

“Maturnuwun. Pesenan tak tompo. Mung rak iso di sugohke”


“Nopo ? Aku wis ngenteni suwe banget, tanya-jawab karo koe , kok rak iso nopo to ndes?”


“Soale durung ono asu ne ..karo jelantah weduse……….. ”

:) “Iso edian aku ! Yo Mah lungo, rak usah nguntal nang kene !!!”

:)
:)
:)


Saturday, February 12, 2011

select certain datetime use convert varchar at SQL Server

bila suatu tabel di SQL server terdapat field dengan type datetime, dengan kondisi time nya ikut diperhitungkan (bukan 00:00:00.000) . Berikut cara select date saja dan timenya diabaikan:

misal cari data antara tanggal '2011-03-08' s/d '2011-03-10'



select * from tabel where CONVERT( varchar(10),namakolom,121) between '2011-03-08' and '2011-03-10'

Saturday, November 13, 2010

row set and top at SQL Server

if your SQL server cannot run Select TOP 10 from table_name

please use :
SET ROWCOUNT 10 will limit the number of rows SQL Server returns to 10.
To turn it off, SET ROWCOUNT 0.

e.g

SET ROWCOUNT 10
select * from lusr_tbl
SET ROWCOUNT 0

script update data in to same table

below script to update top 5 row a column, into same table:


update tbl_user set user_gift= '99' from (select top 5 user_id from tbl_user ) a where tbl_user.user_id =a.user_id


and below for table:

user_id user_name user_gift
-------- ------------ -------------
1 user01 99
2 user02 99
3 user03 99
4 user04 99
5 user05 99
6 user06 00
7 user07 00

Thursday, October 21, 2010

MS SQL Server: how backup database to mapping drive

Below steps to set backup database to mapping drive;

(1). please make sure the service of MSSQL Server instant not logon as Local Account:
- go to control panel - services
- select MSSQL Server service then right click
- changes logon from local to administrator or same domain as login to mapping drive
- restart the services to make effect
(2) . from query analizer of Ms. SQL Server: use below script;
BACKUP DATABASE yourDBname TO DISK ='\\192.168.100.15\yourDBname.bak'

to best performance: please use LAN Card and SWITCH 1GB for server and client

Saturday, October 09, 2010

Materi Kuliah Pemrograman Web Lanjut 2010

Berikut materi pemrograman web lanjutan 2010
- pertemuan 01 disini

Materi Kuliah Pemrograman Web 2010

Berikut Materi Pemrograman web:
- pertemuan 01 disini
- pertemuan 02 disini

Monday, September 27, 2010

Materi kuliah Pemrograman Terstruktur 2010

Berikut materi materi kuliah Pemrograman Tersruktur untuk periode 2010
- materi pertemuan ke 1 download disini
software compiler download disini
- materi pertemuan ke 2 download disini

Saturday, September 18, 2010

MENGAPA WEB ?

Salah satu istilah internet yang cukup populer setelah tahun 2004 adalah apa yang disebut dengan Web 2.0. Dunia blog dengan perkembangannya, termasuk aplikasi-aplikasi CMS adalah salah satu buah yang dihasilkan dari konsep Web 2.0. Walaupun istilah ini sudah cukup lama dikenal di dunia internet, tapi saya yakin belum semua pengguna internet atau bahkan blogger dan pengembang aplikasi sekalipun yang mengetahui betul apa yang dimaksud dengan Web 2.0 ini.

Menurut O’Reilly, terdapat sejumlah perbedaan mendasar antara Web 1.0 dan Web 2.0. Sebagai ilustrasi awal untuk melihat perbedaan tersebut, maka berikut ini adalah perbedaan aplikasi yang umumnya dijalankan pada konsep Web 1.0 dan Web 2.0

Web 1.0 Web 2.0

DoubleClick –> Google AdSense
Ofoto –> Flickr
Akamai –> BitTorrent
mp3.com –> Napster
Britannica Online –> Wikipedia
personal websites –> blogging
evite –> upcoming.org and EVDB
domain name speculation –> search engine optimization
page views –> cost per click
screen scraping –> web services
publishing –> participation
content management systems –> wikis
directories (taxonomy) –> tagging (“folksonomy”)
stickiness –> syndication

Karakteristik utama dari Web 2.0 menurut O’Reilly, adalah sebagai berikut :

· The Web as Platform. Aplikasi Web 2.0 menggunakan Web (atau Internet) sebagai platformnya. Dengan karakteristik ini maka apapun pekerjaan dapat dijalankan dengan cukup membuka web browser. Web adalah sebagai tempat utama bekerja di manapun kita berada. Berbagai pekerjaan yang sebelumnya berbasis pada dekstop seperti mengetik dokumen, melakukan perhitungan keuangan, atau merancang presentasi kini semuanya dapat dilakukan melalui aplikasi-aplikasi yang telah disediakan dan dapat dijalankan secara langsung melalui internet. Dengan karakteristik ini maka aplikasi-aplikasi Web 2.0 ini tidak lagi dibatasi oleh sistem operasi seperti pada Windows. Atau bahkan tidak diperlukan lagi proses install aplikasi.

· Harnessing Collective Intelligence. Kunci utamanya adalah adanya partisipasi dari pengguna dalam berkolaborasi pengetahuan. Dalam hal ini aplikasi Web 2.0 memiliki sifat yang unik, yaitu memanfaatkan kepandaian dari banyak orang secara kolektif. Maka muncullah basis pengetahuan yang sangat besar hasil gabungan dari pengetahuan banyak orang. Contoh yang jelas adalah Wikipedia. Wikipedia adalah ensiklopedi online yang memperbolehkan semua orang untuk membuat dan mengedit artikel. Hasilnya adalah ensiklopedi online besar yang sangat lengkap artikelnya, bahkan lebih lengkap daripada ensiklopedi komersial seperti Encarta ! Contoh lainnya lagi adalah del.icio.us di mana semua orang saling berbagi link-link menarik yang mereka temukan. Akibatnya kita bisa menemukan “permata-permata” di Web gabungan hasil browsing dari ribuan orang. Blogosphere juga merupakan contoh kepandaian kolektif karena setiap orang bisa menulis blog-nya sendiri-sendiri lalu saling link satu sama lain untuk membentuk jaringan pengetahuan, mirip seperti sel-sel otak yang saling terkait satu sama lain di dalam otak kita.

· Data is the Next Intel Inside. Slogan “Intel Inside” telah melambungkan nama prosesor Intel di kalangan pengguna komputer. Trademark tersebut telah menjadi suatu garansi kepercayaan dari pengguna akan kemampuan komputer yang akan ataupun sudah dibelinya. Maksud yang sama juga diusung oleh karakteristik ketiga ini, dimana penyuplai data akan memberikan trademark yang akan digunakan oleh pemilik website untuk memberikan garansi kepercayaan kepada pengunjungnya. Sebagai contoh adalah “Nevteq Onboard” untuk data peta pada sistem navigasi GPS dan “Powered by Google” untuk dukungan Google Maps pada peta dunia berbasis web. Dengan demikian maka kekuatan aplikasi Web 2.0 terletak pada data. Aplikasi-aplikasi Internet yang berhasil selalu didukung oleh basis data yang kuat dan unik. Contohnya adalah Google, yang kekuatannya terletak pada pengumpulan dan manajemen data halaman-halaman Web di Internet. Contoh lainnya lagi adalah Amazon yang memiliki data buku yang bukan hanya lengkap, tapi juga sangat kaya dengan hal-hal seperti review, rating pengguna, link ke buku-buku lain, dan sebagainya. Ini berarti perusahaan yang unggul adalah perusahaan yang menguasai data.

· End of the Software Release Cycle. Web 2.0 diyakini sebagai akhir dari siklus peluncuran produk software, mengilustrasikan setiap produsen software tidak lagi meluncurkan produknya dalam bentuk fisik. Karena web menjadi platform, pengguna cukup datang ke website untuk menjalankan aplikasi yang ingin mereka gunakan. Hasil dari pengembangan fitur di dalam software dapat langsung dirasakan oleh pengguna. Software tidak lagi dijual sebagai produk namun berupa layanan (service). Produsen yang memberikan pelayanan yang cepat dan bagus, akan menjadi pilihan pengguna. Dengan demikian aplikasi Web 2.0 memiliki sifat yang berbeda dengan aplikasi pada platform “lama” seperti Windows. Suatu aplikasi Windows biasanya dirilis setiap dua atau tiga tahun sekali, misalnya saja Microsoft Office yang memiliki versi 97, 2000, XP, dan 2003. Di lain pihak, aplikasi Web 2.0 selalu di-update terus-menerus karena sifatnya yang bukan lagi produk melainkan layanan.

· Lightweight Programming Models. Aplikasi Web 2.0 menggunakan teknik-teknik pemrograman yang “ringan” seperti AJAX dan RSS. Ini memudahkan orang lain untuk memakai ulang layanan suatu aplikasi Web 2.0 guna membentuk layanan baru. Ketersediaan RSS akan menciptakan kemudahan untuk di-remix oleh website lain dengan menggunakan tampilannya masing- masing dan dukungan pemrograman yang sederhana. Contohnya adalah Google Maps yang dengan mudah dapat digunakan orang lain untuk membentuk layanan baru. Sebagai hasilnya muncul layanan-layanan seperti HousingMaps yang menggabungkan layanan Google Maps dengan Craigslist. Layanan seperti ini, yang menggabungkan layanan dari aplikasi-aplikasi lainnya, dikenal dengan istilah mashup.

· Software Above the Level of a Single Device. Aplikasi Web 2.0 bisa berjalan secara terintegrasi melalui berbagai device. Software tidak lagi terbatas pada perangkat tertentu. Hal ini mempertegas posisi web sebagai platform dimana setiap perangkat dapat mengaksesnya. Komputer tidak lagi menjadi satu-satunya perangkat yang dapat menjalankan berbagai aplikasi di internet. Setiap aplikasi harus didesain untuk dapat digunakan pada komputer pribadi, perangkat genggam seperti ponsel dan PDA, ataupun server internet. Contohnya adalah iTunes dari Apple yang berjalan secara terintegrasi mulai dari server Internet (dalam bentuk toko musik online), ke komputer pengguna (dalam bentuk program iTunes), sampai ke mobile device (dalam bentuk iPod).

· Rich User Experiences. Adanya kemajuan inovasi pada antar-muka (interface) di sisi pengguna. Dukungan AJAX yang menggabungkan HTML, CSS, Javascript, dan XML pada Yahoo!Mail Beta dan Gmail membuat pengguna merasakan nilai lebih dari sekedar situs penyedia e-mail. Dengan demikian aplikasi Web 2.0 memiliki user interface yang kaya meskipun berjalan di dalam browser. Teknologi seperti AJAX memungkinkan aplikasi Internet memiliki waktu respons yang cepat dan user interface yang intuitif mirip seperti aplikasi Windows yang di-install di komputer kita. Contohnya adalah Gmail, aplikasi email dari Google yang memiliki user interface revolusioner. Contoh lainnya lagi adalah Google Maps yang meskipun berjalan dalam browser namun bisa memberikan respons yang cepat saat pengguna menjelajahi peta. Sementara itu kombinasi media komunikasi seperti Instant Messenger (IM) dan Voice over IP (VoIP) akan semakin memperkuat karakter Web 2.0 di dalam situs tersebut.

PENDAHULUAN

Sekarang, aplikasi web-based sedang mengalami perkembangan yang sangat pesat, menggantikan aplikasi desktop-based. Ini dikarenakan kepraktisannya dimana pengguna tidak perlu melakukan instalasi aplikasi di desktop masing-masing – cukup buka browser dan menuju server tempat aplikasi tersebut dipasang.

Java sendiri memiliki cabang yang menangani masalah aplikasi web-based ini yang dinamakan Java Enterprise Edition. Cabang ini sebenarnya ruang lingkupnya sangat luas, yaitu ruang Enterprise yang khusus menangani aplikasi-aplikasi berskala besar dan membutuhkan reliabilitas yang tinggi. Web-based application, karena merupakan aplikasi yang multitier, tentu saja termasuk dalam cabang ini.

Apa saja kunci dari aplikasi enterprise? Paling tidak ada beberapa kunci, yaitu:

  • Reliabilitas. Ketahanan aplikasi untuk tetap tangguh melayani permintaan dalam waktu yang panjang.
  • Skalabilitas. Jumlah penggunaan aplikasi yang berkembang dengan cepat dan banyak. Skalabilitas juga bisa diartikan server-server penyusun aplikasi bisa berkembang dalam jumlah yang banyak.
  • Multitier. Satu aplikasi enterprise memerlukan lebih dari satu tier (bagian) yang menyusunnya. Misalnya, client, application server, database server, dan middle tier sebagai penghubung client dan application server.
  • Networked. Kata kunci ini muncul tidak terelakkan dengan adanya tiga kunci di atas.

Java telah memfasilitasi pembuatan aplikasi seperti ini dengan menyediakan sebuah sistem dan bingkai kerja (framework) yang khusus didesain untuk aplikasi enterprise sehingga memudahkan developer. Fitur-fitur apa saja yang disediakan oleh Java? Banyak sekali, di antaranya adalah yang saya sebutkan di bawah ini:


Mekanisme komunikasi antara client dan server.

Protokol komunikasi yang paling umum digunakan adalah HTTP. Java memiliki struktur mekanisme yang paling dasar untuk menangani protokol HTTP, yaitu Java Servlet.

  1. Kit dan berbagai komponen untuk penyajian antar muka pengguna, atau user interface.
    HTML hanya menyediakan komponen user interface yang sangat dasar. Berdasarkan komponen tersebut, Java Enterprise menyediakan komponen-komponen tambahan yang memudahkan penyajian isi, misalnya seperti validasi otomatis, komponen kalender, komponen auto-complete, dan sebagainya. Java Server Pages, adalah kunci dari nomor 2 ini.

  1. Persistent Connection dan Object Relational Mapping.

Aplikasi enterprise nyaris tidak bisa dipisahkan dari koneksi ke database. Karena Java adalah bahasa yang sangat berorientasi objek, maka Java menyediakan mekanisme khusus untuk menangani database relasional secara object-oriented. Data-data pada database disimpan dalam objek-objek yang telah didefinisikan, sehingga sangat memudahkan kita untuk melakukan operasi database (Create, Update, Delete, Select) dengan langsung mengakses objek tersebut. Standar Java Enterprise yang mengurusi masalah ini adalah EJB (Enterprise Java Bean).

Java Enterprise Edition sebenarnya hanyalah spesifikasi-spesifikasi yang ditulis dalam standar JSR. Oleh karena itu dalam implementasinya ada beberapa model bingkai kerja Java Enterprise yang didukung oleh vendor-vendor tertentu. Apa saja implementasi standar JSR yang didukung resmi oleh vendor-vendor besar seperti Sun dan Oracle? Ada Java Server Faces, Java Server Pages, dan Enterprise Java Bean (EJB).Selain vendor-vendor resmi, beberapa komunitas juga mengembangkan standar mereka sendiri untuk membangun aplikasi enterprise. Berbasis Java, ada bingkai kerja semacam Struts 2, Spring, dan semacamnya. Aplikasi-aplikasi ini meskipun tidak mengimplementasikan JSR, telah cukup untuk membuat aplikasi enterprise. Ini yang akan saya bahas nanti.

Aplikasi yang akan saya bangun nanti adalah sebuah aplikasi kosong yang memiliki fungsional enterprise. Framework yang saya gunakan adalah:

  1. Struts 2, framework yang mengatur hubungan antara client dan server. Struts 2 memiliki roh dari Webwork 2.
  2. Spring, framework untuk mengatur MVC (Model View Controller).
  3. Hibernate, framework untuk Object Relational Mapping. Semacam Entity EJB jika di standar Java Enterprise.

Revolusi Solusi Deployment untuk Aplikasi yang dibangun dengan PowerBuilder Kategori : Fokus

Menampilkan applikasi anda yang dibangun dengan PowerBuilder ke Web hanya dalam beberapa hari atau minggu tanpa menginvestasi sejumlah besar uang dan waktu karena perubahan arsitektur dan usaha pengembangannya. Solusi Appeon mentransformasikan aplikasi client server, yang dibangun dengan PowerBuilder dan sangat intensif terhadap penggunaan data, kepada apllikasi n-tier berbasis browser, applikasi production yang dideploy ke Web dan tetap mempertahankan functionality secara penuh dan user interface aslinya.

Kecepatan data entry pada alikasi yang didploy ke appeon, menyediakan kemampuan reporting dan pencetakan yang state-of-the-art langsung dari web, membentuk Adobe Acrobat PDF dan MS Excel File dari banyak DataWindow, dan secara otomatis membolehkan kemampuan revolusioner untuk membuka banyak window sheet dalam satu waktu tanpa mengharuskan browser untuk di refresh. Keunggulan dari IDE 4GL PowerBuilder mempaengaruhi pengalaman anda dalam mengembangkan kode dan dengan Appeon anda bisa mendapatkan pengalaman baru dalam pengembangan aplikasi web interaktif.

Dengan semua graphical user interface PowerBuilder dan Appeon yang revolusioner, banyak usaha pengembangan yang baru yang akan distandarkan dengan paradigma ini untuk pengembangan di masa depan, yang mana juga membolehkan satu source code dasar di deploy baik ke client/server maupun sebagai aplikasi web.

Pindah ke Web

Memperluas Pengguna

Penjelajah ada di mana-mana — technology dengan deployment nol dan pada akhirnya adalah perawatan yang rendah. Aplikasi powerbuilder menghadirkan investasi teknologi yang disempurnakan. Solusi baru untuk PowerBuilder ini menyatukan aplikasi-aplikasi yang ada, sarana deployment yang ringan untuk application server maupun browser, tanpa applet tanpa plug-in tanpa ActiveX, atau Java Virtual Machine sebab Appeon adalah solusi thin-client yang sebenarnya.

Konversi manual Aplikasi PowerBuilder ke Aplikasi Web adalah masa lalu.

Sebelum Appeon, usaha untuk memindahkan aplikasi PowerBuilder ke Web dilakukan secara manual. Developer/Pengembang perlu untuk menguasai teknologi untuk memulai project ini, dan end user seringkali tidak suka dengan user interface yang baru.

Merubah seluruh aplikasi PowerBuilder ke aplikasi web n-tier secara automatic.

Untuk mengefektifkan code pwerbuilder menjadi aplikasi kelas dunia. Functionality dari aplikasi PowerBuilder anda diteruskan untuk memnuhi kebutuhan bisnis anda. Konektifitas back-end anda tetap stabil dan senantiasa tersambung.

Aplikasi client/server dirombak menjadi pemimpin, n-tier, aplikasi yang dideploy ke web secara mudah dan cepat! Aplikasi masih mempertahankan 100% functionality user interface.

Keuntungan

Memperluas pengembangan Aplikasi PowerBuilder

Memperlihatkan kepada internal user(intranet), partner (extranet), dan customer (internet) interface yang sama dan memuaskan. Meningkatkan fleksibilitas dan produktifitas dalam tim kerja anda; membberikan pekerja telecommuting (kelompok yang saling berjauhan) dan pekerja lapangan akses yang sama seperti pada internal user. Anda tidak lagi harus memaintain versi parallel client/server dan web, sekarang anda hanya butuh satu source library yang bisa di deploy ke kedua versi tersebut.

Permasalahan Deployment Menguap

Anda mendapatkan keuntungan dari perbaikan kesalahan dan pengembanga lanjutan dengan web deployment. Dalam perjalanannya, aplikasi client/server bisa menjadi korban dari keberhasilannya, kumpulan fitur untuk memuaskan user base yang berkembang. Perkembangan ini dapat mendorong umpan balik dimana perubahan fitur pada software client akan dilepas kepada user base. Sebagai user base yang berkembang, seringkali update client-site menjadi suatu problem tersendiri. Dengan Appeon, software client tidak pernah didownload; semua modifikasi dilakukan di sis server.

Menghemat Biaya

Mencapai Web deployment untuk applikasi anda dan melanjutkan penambahan functionality tanpa harus menginterupsi atau berganti tool programming staf anda. Programmer PowerBuilder musiman yang tahu bisnis rule anda masih bisa tetap pada pekerjaannya karena dia bagus dalam menuliskan kode PowerBuilder. Tanpa skill pemrograman HTML, JavaScript, Java, atau C# yang diperlukan. Tenaga ahli anda tetap produktif dalam rangka revitalisasi aplikasi. Soluni baru ini mampu membuang kebutuhan dedicated line atau frame relay yang mahal untuk menservice client. Anda dapat menghemat investasi teknologi anda untuk keperluan back-end server-side programming dan front-end interface client. Biaya perawatan dan kastemer service dapat diturunkan secara dramatis sebab tidak lagi diperlukan instalasi software di client, menghilangkan sesuatu yang secara histories merupakan masalah utama yang menyebabkan kegagalan di sisini user!

Pengembangan Web Yang Kaya

Dalam penyebaran (deploying) aplikasi yang telah ada ke Web, Anda sekarang mempunyai satu alat baru yang powerful untuk membuat aplikasi production yang pernah tercatat dalam sejarah. Kekayaan akan control, presentasi data, manipulasi data dan validasi melekat pada kode denganparadigma pengembangan web yang baru ini, yang mana lebih cepat dan tidak memusingkan sebagaimana pada ASP maupun JSP.

Automatisasi

Tentang APPEON

Appeon adalah ekstensi Web-Enabling (menjadikan web?) dari IDE (Integrated Development Environtment, Lingkungan Pengembangan yang Terintegrasi) Sybase PowerBuilder. Appeon mengatur koneksi database dan keamanan (security), menyediakan skalabilitas dan ketersediaan yang tinggi kepada aplikasi anda. Dengan Appeon programmer anda masih bisa menggunakan seluruh kemampuan PowerBuilder dan fitur-fiturnya. Prose konversi dilakukan secara otomatis dan dapat dikonfigurasi.

Appeon Developer

Appeon Developer mengembangkan IDE PowerBuilder, yang akan membaca dan menganalisa aplikasi powerbuilder, membentuk file-file web, menampilkan aplikasi web ke browser dan men-deploy aplikasi web ke Appeon Server.

Appeon Server

Appeon Server mengimplementasikan gaya tampilan graphical user interface PowerBuilder ke dalam Web Browser dan menyediakan dukungan Datawindow secara lengkap. Appeon Server menyediakan runtime service untuk aplikasi yang telah dideploy, sperti load balancing, konektifitas database, pengaturan transaksi, dukungan pencetakan, file-file Adobe Acrobat PDF dan MS Excel dari banyak datawindo. Appeon Server menyediakan sat set lengkap fungsi-fungsi javaScript yang sesuai dengan statement-statement PowerScript di sisi klien dan meminimalkan kebutuhan refresh halaman. Malalui pemetaan lanjut (Advanced mapping), Appeon mendukung konsep model pemrograman lanjut (Advanced programming model concept) semacam window inheritance pada powerbuilder, pengurutan struktur event dan embedded SQL.

Appeon Enterprise Manager

Appeon Enterprise Manager (AEM) adalah kelengkapan berbasis web untuk mengaatur aplikasi web yang telah di transform dan mengatur Appeon melalui internet. Appeon Enterprise Manager menyertakan peralatan untuk konfigurasi system, perawatan system, optimasi kinerja dan monitoring system.

Menyebar (Deploy) Aplikasi Klien-server ke Web dalam tiga tahap

1. Analisis

Appeon membaca seluruh aplikasi PowerBuilder, menandai hal-hal yang tidak

cocok dengan Web

2. Modifikasi

Jika diperlukan akan menulis ulang atau membuang fitur PB atau kode

menggunakan pemrograman PB standar

3. Deploy

Mengaktifkan Aplication Deployment Wizard untuk membentuk HTML,XML, dan

JavaScript Memilih profile deployment untuk pengembangan, Test/QA, atau

Production Server (juga cluster server dengan mudah didukung jika

diperlukan) Deploy Applikasi PowerBuilder Web hanya dengan menekan

tombol “push”

ROI

Appeon memberikan cara penyebaran (deployment) paling cepat tanpa harus menambah biaya atau membuat aplikasi baru. Dengan Appeon bisa menggunakan tool/alat yang sama (dengan Windows based) untuk membuat aplikasi web yang baru dengan cepat dan murah. Menambah dimensi baru untuk aplikasi yang sangat penting dan telah stabil di perusahaan/enterprise anda. Memindahkan aplikasi client/server yang kaya menjadi aplikasi web n-tier yang kuat, memperpanjang masa berlaku dan memperluas jangkauan.

Jika perusahaan anda di masa depan merencanakan membangung aplikasi web atau portal web, Sybase dan Appeon memberikan perlengkapan yang anda butuhkan untuk memperkuat asset dan penguasaan teknologi anda secepatnya tanpa adanya training tambahan. Appeon membawa kode anda kepada kelebihan masa


dikutip dari : http://jonni182.wordpress.com/2008/07/26/pengantar-web/