Pages

Tuesday, July 31, 2012

Contoh Penulisan Object di dalam bahasa pemrograman php


contoh penulisan object di php

class orang{

var $nama="";
var $jk="";
var $tgllahir="";
var $tptlahir="";


    tampilkan(){
    echo "<br>    nama".this ->nama;
    echo "<br>    nama".this ->jk;
    echo "<br>    nama".this ->tgllahir;
    echo "<br>    nama".this ->tptlahir;
   
    }


}

$orang1 = new orang();

$orang1 -> nama="toro";
$orang1 -> jk="pria";
$orang1 -> tgllahir="1998-12-24";
$orang1 -> tptlahir="jogjakarta";
$orang1 -> tampilkan();


$orang2 = new orang();

$orang2 -> nama="doni";
$orang2 -> jk="wanita";
$orang2 -> tgllahir="1998-11-12";
$orang2 -> tptlahir="makasar";
$orang2 -> tampilkan();

//tinggal tambahin sebanyak apapun**
// function bisa pake kembalian / return





Friday, July 27, 2012

starting building remote desktop application with java

java merupakan bahasa pemrograman yang cukup sering digunakan pada saat ini. Java dikenal dengan pemrogramannya yang cukup handal dalam menangani garbage collector yaitu selalu memproteksi kode2 pemrograman yang sekiranya setelah selesai digunakan lgsung di tangani/ditutup secara khusus sehingga tidak menciptakan memory leak / digunakan oleh orang2 yang tidak berwenang untuk digunakan dalam berbagai hal seperti exploitasi program, mencari data2 berharga yang dapat digunakan untuk menjebol sebuah server, mengirimkan ddos hingga pengambilan alih pc.

java juga dikenal dengan write once run everywhere. jadi kita tidak perlu takut program yang kita jalankan hanya bisa dijalankan di windows saja. compiler java akan mengubah program kita (class) menjadi byte2 yang akan ditranslasikan di masing2 os seperti linux, mac, windows,dll. Sehingga program kita dapat berjalan di mana saja. jadi pengguna dari program kita tidak hanya terbatas 1 vendor saja. that's why nowdays java very popular.  <3


dibawah ini merupakan program yang sedang saya kembangkan untuk membuat remote desktop berbasis java. Untuk langkah awal server hanya bisa menangkap layar desktopnya lalu mengirimnya ke client sehingga dapat dilihat langsung tampilan dekstopnya oleh client.





/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ServerClient;

import java.awt.AWTException;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;

/**
 *
 * @author admin
 */
public class Server {
    private ServerSocket Server;
    private Socket socket ;
   
    private Rectangle UkuranKotak;
    private BufferedImage image;
    private Robot robot;
   
    private OutputStream out;
   
    //constructor
   
    Server () {
        bikin_server(777);
       Cek_Ukuran_Desktop();
       Capture_Gambar();
       Kirim_Gambar();
       TutupServer();
               
            }
   
   
   
   
    //end of constructor
    public Rectangle Cek_Ukuran_Desktop(){
       
    UkuranKotak = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());   
    
    return UkuranKotak;
       
    }
   
    public void Capture_Gambar(){
        try {
            robot= new Robot();
            image =  robot.createScreenCapture(Cek_Ukuran_Desktop());
        } catch (AWTException ex) {
            Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
        }
       
         }
   
    public void Kirim_Gambar(){
        try {
            out = socket.getOutputStream();      
           
            ImageIO.write(image, "png", out);  //kirim bufferedimage ke client
           
            System.out.println("Sent image!");
           
           
        } catch (IOException ex) {
            System.out.println("eror pada saat mengirim gambar" + ex);
        }
       
       
       
    }
   
   
   
   

   
   
   
   
   
   
   
   
    public void bikin_server(int port){
        try {
            Server = new ServerSocket(port);
            socket = Server.accept();
            System.out.println("server telah dibangun di port :" +port);
            
        } catch (IOException ex) {
            System.out.println("terdapat kesalahan di bagian bikin server ,"+ex);
        }

       
    }
   
    void TutupServer(){
        try {
               
            if(out!=null) out.close();
            if (socket != null)    socket.close();
            System.out.println("selesai mengirim gambar, tutup koneksi");


        } catch (IOException ex) {
            System.out.println("tidak bisa menutup socket" + ex);
                    }
   
   }
   
   
   
   
   
    public static void main(String[]args){
       
        Server jalankan = new Server();
       
       
    }
   
   
   
   
   
   
   
   
}


















/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package image;

import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.*;

/**
 *
 * @author admin
 */
public class Client extends JFrame {
   
   
   private Socket socket    =null          ;
   private BufferedImage gambar =null;
   private File out= null;
   private JLabel label1;
  
  
   //constructor
  
  
   public Client(){
   BikinSocketClient("localhost",777);
   DapatkanGambarDariSocket();
   CetakGambarKeFolder();
   // ConvertGambarKeByte();
  
  
   TutupClient();
  
  
  Bikin_Interface();
  
  
  
  
  
   }
  
  
  
  
  
   //end of constructor
  
  
  
  
  public void Bikin_Interface(){
     
       label1 = new JLabel();
   add(label1);
   label1.setIcon(new ImageIcon("c:/berhasilyaaa.png"));
  
  
  
  
  
  
        JScrollPane p = new JScrollPane( label1 );
        getContentPane().add( p );
        setDefaultCloseOperation( EXIT_ON_CLOSE );
        setSize( 300, 300 );

        setVisible( true );
  
     
  }
  
  
  
  public void DapatkanGambarDariSocket(){
        try {
            gambar =ImageIO.read(socket.getInputStream());
           
        } catch (IOException ex) {
            System.out.println("gambar tidak diterima / socket eror"+ex);
        }
       
       
      
  }
  
  
  /* public void ConvertGambarKeByte(){
        try {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            ImageIO.write(gambar,"png" , baos);
            baos.flush();
            byte[] UkuranImage = baos.toByteArray();
            baos.close();
           
           
        } catch (IOException ex) {
            Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
        }
   }
  
   */
  
  
  
  
  
  
   void CetakGambarKeFolder(){

    
        try {
           
            out = new File("c:/berhasilyaaa.png");
           
            ImageIO.write(gambar,"png",out);
        } catch (IOException ex) {
           System.out.println("gambar tidak ditemukan" + ex);
        }

   }

  
  
  
    void BikinSocketClient(String serverName, int ServerPort){
        try {
            socket = new Socket(serverName,ServerPort);
        } catch (UnknownHostException ex) {
            System.out.println("host tidak ditemukan" + ex);
        } catch (IOException ex) {
            System.out.println ("port eror" + ex);
        }
    }
  
  
    void TutupClient(){

        try {
 
            if (socket != null)    socket.close();
            System.out.println("selesai menerima gambar, tutup koneksi");


        } catch (IOException ex) {
            System.out.println("tidak bisa menutup socket" + ex);
                    }
    }
  
  
   public static void main(String[]args){
      
      Client jalankan = new Client();   
      
   }
  

   
   }













klo mau dijalankan di komputer yang berbeda tinggal edit

BikinSocketClient("localhost",777);    -> arahin ke ip server.






Wednesday, July 18, 2012

java serialization

mungkin kita sering mendengar tentang java serialization.

apakah yang dimaksud dengan java serialization itu?


java serialization adalah mekanisme dimana sebuah objek/file dapat direpresentasikan sebagai sebuah aliran bytes yang didalamnya terdapat informasi tentang  sebuah objek dan tipe data yang ada didalamnya.


secara gamblang,  fungsi serialisasi  disini agar file dapat dibaca oleh stream sehingga kita dapat membuat duplikat objek tersebut dalam sebuah files yang nantinya dapat di restore / dilakukan komputasi lebih lanjut oleh program lanjutan yang ada di pc local maupun network lain (misal : remote desktop)

 atau dimodifikasi untuk dimasukkan kedalam database.





ObjectInputStream dan ObjectOutputStream merupakan stream yang digunakan untuk serialisasi dan de-serialisasi.







public class pelajar implements Serializable
{

//kita buat tipe datanya
private String nama;
private String alamat;
private int nim;

public void cetak()
   {
      System.out.println("saya adalah seorang pelajar dengan " + nama
                           + "alamat " + alamat + "nim" + nim);
   }

}   //end of class pelajar





public class DemoSerialisasi{





                  public static void main(String [] args)
                 {





      pelajar a = new pelajar(); 
 
      a.nama = "toro tero";
      a.alamat = "jogja city";
      a.nim = 07030024;
     


  FileOutputStream fileOut =  new FileOutputStream("pelajar.ser");
         ObjectOutputStream out = new ObjectOutputStream(fileOut); 
 

out.writeObject(e);         //method utama yang dijalankan untuk serialisasi objek
 
                            
 
 
 
 
out.close(); 
fileOut.close();


                 }//end of main

 }  //end of class demoserialisasi





 public class demo de-serialisasi
{

      public static void main(String [] args) {


 pelajar a = null;
 
 
 
FileInputStream fileIn =   new FileInputStream("pelajar.ser");
ObjectInputStream in = new ObjectInputStream(fileIn); 
 
 a = (Employee) in.readObject();     //method utama yang dijalankan untuk de-serialisasi objek
 
 
in.close();
fileIn.close(); 





System.out.println("Deserialized Employee...");
System.out.println("Name: " + a.nama);
System.out.println("Address: " + a.alamat);
System.out.println("SSN: " + a.nim);


                      }  //end of main
 }//end of de-serialization





jika menggunakan FileOutputStream, maka data nantinya akan kita tulis ke sebuah file



          jika menggunakan ByteArrayOutputStream (serialization )maka data ditulis kedalam array (type data byte) didalam memori. nantinya aliran data tersebut dapat digunakan untuk diduplikasi.  misal kita mengirim gambar, lalu kita tampilkan langsung di frame.  (klo yang fileoutputstream kita harus menulis ke sebuah file dulu, baru file tersebut dibaca. klo ini ga perlu. kita menyimpan state dalam bentuk byte jadi bisa dipake untuk input program/class  lain)
 
 
 
 
 
"memahami konsep serialisasi dan deserialisasi object cukup penting apabila kita ingin membuat sebuah aplikasi client server dengan menggunakan socket. "


 

Tuesday, July 10, 2012

sekilas tentang cloud computing

sebelum beranjak lebih lanjud terlebih dahulu kita harus tau makna dari cloud komputing. cloud komputing dapat diartikan menjadi komputasi awan. komputasi dapat diibaratkan sebagai pekerjaan dan awan disini dimaksudkan sebagai jaringan komputer internet public yg terhubung diseluruh dunia ini.

yah kurang lebih klo digabung pekerjaan yg dapat berjalan diatas jaringan komputer yang terhubung melalui internet.

jadi intinya cloud computing merupakan inovasi dari perusahaan buat para pengembang / software developer / perorangan yang pengen membangun sebuah aplikasi / server tanpa perlu membangun infrastruktur / memiliki hardware sendiri di rumahnya. pelanggan cukup memiliki sebuah browser / aplikasi untuk terhubung ke cloud system trs mereka bisa make fasilitas layaknya punya server sendiri. sebenernya kita udah sering menjumpai banyak fasilitas2 ini seperti google docs, google calender, media penyimpanan seperti mediafire, 4*shared bs dimasukkan sebagai kategori cloud computing jg.


kelebihan pake cloud computing:

1.kita ga perlu beli hardware sendiri, ga perlu ngrawat hardware, ga perlu biaya perawatan, ga perlu bayar listrik dll, yg kita butuhkan cuma bayar biaya sewa cloud computing sesuai dengan space yg kita butuhkan. untuk upgrade besar ruang penyimpanan jg cukup mudah ga perlu gonta ganti hardisk. kita tinggal bayar biayanya, mereka yg nyiapin.


2.kita ga perlu bayar biaya lisensi software yg akan kita gunakan. of course u know program seperti microsoft word sblm kita install biasanya minta lisensi. nah dengan cloud computing ini kita ga perlu bayar lisensinya. biasanya dari pihak perusahaan yg bli softwarenya untuk dipasang di server mereka.

3. bisa terhubung dimana saja asal terhubung dengan internet. misal agan pergi kesuatu tempat yg jauh dan lupa membawa laptop + modem. tenang, agan tgl cari warnet terdekat atau pinjem punya temen agan , open browser then voila.. agan bs lgsung ngerjain proyek agan. easy fast and reliable isnt it?

4. program pasti up to date. ga usah takut softwarenya ketinggalan jaman gan... dari pihak server pasti nyediain software yg up to date. lagian klo agan butuh upgrade ini itu, kan udah terhubung ke internet tuh.... tgl set set set set....


Kekurangannya:

1. karena terhubung ke internet jadi koneksi internet ini sendiri yang butuh diperhatikan. cloud computing tidak disarankan apabila agan mempunyai koneksi internet yang lemot kyk sea foot.

2. data agan akan disimpen di server mereka. jadi klo agan pake yg gratisan, sewaktu-waktu data ilang agan ga bs nuntut... ya iyalah kan gratisan getoo... beda sama yg bayar y gan... terjamin.

3. mungkin yg dibawah ane bs bantu nambahin....




nb: nanti cloud computing dibagi lg jadi 2 yaitu kita dapat nyewa infrastructur (nyewa sebuah virtual private server) atau nyewa aplikasi per satuan (kyk aplikasi e-mail , e- scheduler, e- note , e-bookmark , dll).
untuk xcloud sama telkomcloud itu dari perusahaannya aj gan yg nyediain layanannya.

xcloud dari xl klo telkom cloud dari telkom. buat layanannya bisa diliat di web masing2....




sekian dari ane... ada kurang dan lebihnya ane mohon maaf.... terimakasih. semoga bermanfaat,,,


untuk info lebih detailnya anda bisa melihat kemari :  www.cloudsystemcomputing.com. tp bahasa inggris hehe...