Senin, 06 Mei 2013

PEER TO PEER

PEER TO PEER

Pengertian Peer To Peer dan Pengertian istilah client-server
Peer to Peer adalah adalah suatu teknologi sharing (pemakaian bersama) resource dan service antara satu komputer dan komputer yang lain. pengertian yang lebih tepat mengenai peer to peer (p2p) adalah sistem terkomputerisasi Client-Server dimana suatu komputer berfungsi sebagai client sekaligus sebagai server, sehingga memungkinkan komunikasi dan pertukaran resource antara dua komputer secara langsung (real time).
Client-server adalah suatu bentuk arsitektur, dimana client adalah perangkat yang menerima yang akan menampilkan dan menjalankan aplikasi (software komputer) dan server adalah perangkat yang menyediakan dan bertindak sebagai pengelola aplikasi, data, dan keamanannya. Server biasanya terhubung dengan client melalui kabel UTP dan sebuah kartu jaringan (network card). Kartu jaringan ini biasanya berupa kartu PCI atau ISA.
Dalam teknologi informasi, client-server merujuk kepada cara mendistribusikan aplikasi ke pihak client dan pihak server. Dalam model client-server, sebuah aplikasi dibagi menjadi dua bagian yang terpisah (tetapi masih dalam sebuah kesatuan) yakni komponen client dan komponen server.
Komponen client dijalankan pada sebuah workstation. Pemakai workstation memasukkan data dengan menggunakan teknologi pemrosesan tertentu, kemudian mengirimkannya ke komponen server, umumnya berupa permintaan layanan tertentu yang dimiliki oleh server. Komponen server akan menerima permintaan layanan tersebut dan langsung memprosesnya serta mengembalikan hasil pemrosesan kepada client. Client pun menerima informasi hasil pemrosesan data tadi dan menampilkannya kepada pemakai dengan menggunakan aplikasi yang digunakan oleh pemakai.
Sebuah contoh dari aplikasi client-server sederhana adalah aplikasi web yang didesain dengan menggunakan Active Server Pages (ASP). Skrip ASP akan dijalankan di dalam web server (Apache atau Internet Information Services), sementara skrip yang berjalan di pihak client akan dijalankan oleh web browser pada komputer client (workstation). Client-server merupakan penyelesaian masalah pada software yang menggunakan database sehingga setiap komputer tidak perlu diinstall database. Dengan metode client-server database dapat diinstal pada komputer server dan aplikasinya diinstal pada client.
Komponen client juga sering disebut sebagai front-end, sementara komponen server disebut sebagai back-end.

CLEINT SERVER

CLEINT SERVER
Client-Server adalah arsitektur jaringan yang memisahkan client(biasanya aplikasi yang menggunakan GUI ) dengan server. Masing-masing client dapat meminta data atau informasi dari server.
Sistem client server didefinisikan sebagai sistem terdistribusi, tetapi ada beberapa perbedaan karakteristik yaitu :
                        1.Servis (layanan)
    Hubungan antara proses yang berjalan pada mesin yang berbeda
    Pemisahan fungsi berdasarkan ide layanannya.
     Server sebagai provider, client sebagai konsumen
          2.Sharing resources (sumber daya)
    Server bisa melayani beberapa client pada waktu yang sama, dan  meregulasi akses bersama untuk share sumber daya dalam menjamin konsistensinya.
                        3.Asymmetrical protocol (protokol yang tidak simetris )
    Many-to-one relationship antara client dan server.Client selalu menginisiasikan dialog melalui layanan permintaan, dan server menunggu secara pasif request dari client.
                        
                        4.Transparansi lokasi
    Proses yang dilakukan server boleh terletak pada mesin yang sama atau pada mesin yang berbeda melalui jaringan.Lokasi server harus mudah diakses dari client.
5.Mix-and-Match
    Perbedaan server client platforms
                        
                        6.Pesan berbasiskan komunikasi
     Interaksi server dan client melalui pengiriman pesan yang menyertakan permintaan dan jawaban.
                        
                        7.Pemisahan interface dan implementasi
     Server bisa diupgrade tanpa mempengaruhi client selama interface pesan yang diterbitkan tidak berubah.

SISTEM TERDISTRIBUSI

SISTEM TERDISTRIBUSI


DEFINISI :
Sebelum menjelaskan tentang definisi dari sistem terdistribusi, saya akan menjelaskan lagi tentang apa itu sistem. Sistem adalah suatu kesatuan yang terdiri komponen atau elemen yang dihubungkan bersama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu tujuan tertentu.
Sedangkan definisi dari sistem terdistribusi adalah sebuah sistem dimana komponen software atau hardware-nya terletak di dalam jaringan komputer dan saling berkomunikasi menggunakan message passing (Message passing adalah sebuah teknik untuk melakukan sinkronisasi dan komunikasi antara proses-proses yang saling berinteraksi). Ada juga yang mengatakan Sistem Terdistribusi adalah sebuah sistem yang terdiri dari beberapa komponen yang terdapat di dalam sebuah jaringan komputer. Komponen-komponen tersebut saling berinteraksi dan berkomunikasi hanya dengan melalui pengiriman pesan.
Contoh Sistem Terdistribusi :
  • Internet.
  • Mobile Computing.
  • Sistem Otomasi Bank.
  • Deteksi Roaming Pada Telepon Seluler.
  • GPS (Global Positioning System).
  • Retail Point-of-Sale Terminals.

PENJELASAN :
Internet
  • Jaringan komputer dan aplikasi yang heterogen.
  • Mengimplementasikan protokol Internet.

Intranet
  • Jaringan yang teradministrasi secara local.
  • Terhubung ke internet melalui firewall.
  • Menyediakan layanan internal dan eksternal.

Mobile Computing (Sistem Komunikasi Telepon Seluler)
  • Menggunakan frekuensi radio sebagai media transmisi.
  • Perangkat dapat bergerak kemanapun asal masih terjangkau dengan frekuensinya.
  • Dapat menghandle/dihubungan dengan perangkat lain.

Contoh lain Sistem Terdistribusi
  • Sistem Telepon : ISDN, PSTN.
  • Network File System (NFS). (Arsitektur untuk mengakses sistem file melalui jaringan).
  • www. (Arsitektur client server yang diterapkan dalam infrastruktur internet).


source code membuat server dan client pada program java

source code membuat server dan client pada program java


source code client :


package client;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
 *
 * @author UNLA
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[]args)throws IOException{
        Socket s = new Socket("localhost",5111);

        ObjectInputStream in = null;
        ObjectOutputStream out = null;

        Scanner scanf = new Scanner(System.in);

        String input="";
        String balasan;
        String balasan2;

        out=new ObjectOutputStream(s.getOutputStream());
        out.flush();
        in=new ObjectInputStream(s.getInputStream());
        balasan="";
        balasan2="";

        while(true)
        {
            balasan="";
            balasan2="";
            input = scanf.nextLine();
            SendMessage(input,out);
            if(input.equals("exit"))break;
            else
            {
                balasan=ReadMessage(in);
                if(balasan.equals("ini server, masukkan username"))
                {
                    input=scanf.nextLine();
                    SendMessage(input,out);
                    balasan2=ReadMessage(in);
                }
            }
        }
        in.close();
        out.close();
        s.close();
    }

    public static void SendMessage(String word, ObjectOutputStream out)
    {
        try{
            out.writeObject(word);
            out.flush();
        }catch(IOException ex){
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE,null,ex);
        }
    }
    public static String ReadMessage(ObjectInputStream in)

    {
        String reader="";
        try{
            reader=(String)in.readObject();
        }catch(IOException ex){
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null,ex);
        }catch(ClassNotFoundException ex){
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null,ex);
        }
        System.out.println(reader);
        return reader;
    }
}




source code server :


package server;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Tugas_Server {

    public static void main(String[] args) {
        try {
            ServerSocket ss = new ServerSocket(5111);
            Socket s;
            String balasan;
            String balasan2;
            ObjectInputStream in = null;
            ObjectOutputStream out = null;
            s = ss.accept();
            out = new ObjectOutputStream(s.getOutputStream());
            out.flush();
            in = new ObjectInputStream(s.getInputStream());
            balasan = "";
            balasan2 = "";
            while (true) {
                balasan = "";
                balasan2 = "";
                balasan = ReadMessage(in);
                if (balasan.equals("exit")) break;
                else {
                    if(balasan.equals("ini client"))
                    {
                    SendMessage("ini server, masukan username", out);
                    balasan2 = ReadMessage(in);
                    if (balasan2.equals("admin")){ SendMessage("Selamat Datang Admin", out);}
                    else {
                        if (balasan2.equals("user")){SendMessage("Selamat Datang User", out);}
                        else SendMessage("username tidak diketahui", out);
                        }
                    }
                    else
                    {
                        SendMessage("perintah tidak diketahui", out);
                }
            }
            }
    in.close();
    out.close();
    s.close();
    ss.close();
}catch (IOException ex){
    Logger.getLogger(Tugas_Server.class.getName()).log(Level.SEVERE,null,ex);
    }
    }
 public static String ReadMessage(ObjectInputStream in)
 {
 String Reader="";
 try {
     Reader=(String)in.readObject();
 }catch (IOException ex){
     Logger.getLogger(Tugas_Server.class.getName()).log(Level.SEVERE,null,ex);
 }catch (ClassNotFoundException ex){
     Logger.getLogger(Tugas_Server.class.getName()).log(Level.SEVERE,null,ex);
 }
 System.out.println(Reader);
 return Reader;
 }
 public static void SendMessage(String word, ObjectOutputStream out)
 {
     try{
         out.writeObject(word);
         out.flush();
     }catch (IOException ex){
         Logger.getLogger(Tugas_Server.class.getName()).log(Level.SEVERE,null,ex);
     }
    }

}

Socket pada sistem client server

Socket pada sistem client server


Mengenal Socket

Bayangkan sebuah server game online yang berkomunikasi tanpa henti, dimainkan oleh entah berapa banyak client yang tersebar. Ini merupakan salah satu contoh aplikasi dari sekian banyak aplikasi yang menggunakan socket jaringan untuk saling berkomunikasi dan bertukar data.

Komunikasi socket jaringan memang tidak mengenal lelah, pertukaran data terjadi terus-menerus dan memegang peranan vital. Jika oleh karena suatu hal komunikasi berhenti karena maintenance, kerusakan, ataupun sebab lainnya, maka dapat dipastikan para penggunanya akan kecewa.

Maka dari itu, komunikasi jaringan selalu diusahakan tidak terhenti. Demikianlah tugas berat yang harus dilakukan socket jaringan. Sebelum membahas lebih jauh, apakah sebenarnya pengertian socket itu?

Pengertian socket adalah interface pada jaringan yang menjadi titik komunikasi antarmesin pada Internet Protocol, dan tentunya tanpa komunikasi ini, tidak akan ada pertukaran data dan informasi jaringan.

Socket terdiri dari elemen-elemen utama sebagai berikut:

1. Protokol.

2. Local IP.

3. Local Port.

4. Remote IP.

5. Remote Port.

Dalam komunikasi antara dua pihak, tentunya harus digunakan kesepakatan aturan dan format yang sama agar komunikasi dapat dimengerti. Seperti halnya dua orang yang menggunakan bahasa yang sama, maka bahasa di sini berfungsi sebagai protokol. Protokol yang digunakan dalam socket dapat menggunakan TCP ataupun UDP.

Contoh komunikasi sederhana adalah komunikasi antara komputer A dan komputer B. Baik komputer A maupun komputer B harus memiliki identitas unik, yang direpresentasikan oleh IP masing-masing.

Komunikasi yang terjadi melalui port, sehingga baik komputer A maupun komputer B harus memiliki port yang dapat diakses satu sama lain.

TCP dan UDP

Pemrograman socket adalah cara untuk menggunakan komponen/API (Application Programming Interface) socket untuk membuat sebuah aplikasi.

Aplikasi socket umumnya terdiri dari dua kategori berdasarkan pengiriman datanya, yaitu:

1. Datagram socket (menggunakan UDP).

2. Stream socket (menggunakan TCP).

Terdapat perlakuan yang berbeda antara UDP dan TCP, walaupun sama-sama berfungsi sebagai protokol pertukaran data.

UDP tidak memerlukan proses koneksi terlebih dahulu untuk dapat mengirimkan data, paket-paket data yang dikirimkan UDP bisa jadi melalui rute yang berbeda-beda, sehingga hasil yang diterima bisa jadi tidak berurutan.

Contohnya jika aplikasi socket pengirim mengirimkan berturut-turut pesan 1, pesan 2, dan pesan 3, maka aplikasi socket penerima belum tentu mendapatkan pesan yang berurutan dimulai dari pesan 1, pesan 2, dan terakhir pesan 3. Bisa saja pesan 2 terlebih dulu diterima, menyusul pesan-pesan yang lain, atau berbagai kemungkinan lainnya. Bahkan, dapat terjadi pesan yang dikirimkan tidak sampai ke penerima karena kegagalan pengiriman paket data.

Tidak demikian halnya dengan stream socket yang menggunakan TCP. Jenis ini mengharuskan terjadinya koneksi terlebih dahulu, kemudian mengirimkan paket-paket data secara berurutan, penerima juga dijamin akan menerima data dengan urutan yang benar, dimulai dari data pertama yang dikirimkan hingga data terakhir. TCP dapat menangani data yang hilang, rusak, terpecah, ataupun terduplikasi.

Dari sekilas perbedaan ini, kita dapat menarik kesimpulan bahwa aplikasi socket yang menggunakan TCP memerlukan pertukaran data dua arah yang valid. Sedangkan, aplikasi socket yang menggunakan UDP lebih memprioritaskan pada pengumpulan data.

Karena itu aplikasi socket dengan TCP sering diterapkan untuk aplikasi chat, transfer file, ataupun transaksi-transaksi penting. Sedangkan aplikasi socket dengan UDP cocok diterapkan untuk aplikasi monitoring jaringan, game online, dan aplikasi-aplikasi broadcast.

Port

Salah satu elemen penting yang digunakan dalam aplikasi socket adalah port. Port merupakan sebuah koneksi data virtual yang digunakan aplikasi untuk bertukar data secara langsung.

Terdapat banyak port di dalam sebuah sistem komputer dengan fungsinya masing-masing. Sebagai contoh, dalam mengirim e-mail digunakan service SMTP yang umumnya menggunakan port 25. Sementara service POP3 untuk menerima e-mail menggunakan port 110, port 80 digunakan untuk HTTP, port 443 digunakan untuk HTTPS, dan seterusnya.

Nomor-nomor port dikategorikan dalam tiga jenis sebagai berikut:

1. Well-known ports.

Merupakan port yang telah digunakan secara internal oleh sistem Windows, misalnya port untuk koneksi Internet, service FTP, dan seterusnya. Port yang telah digunakan ini adalah port 0 sampai dengan port 1023.

2. Registered ports.

Port ini dapat digunakan dalam aplikasi Anda, range-nya adalah port 1024 hingga port 49151, cukup banyak port yang tersedia yang bebas Anda pilih sehingga Anda tidak perlu kuatir kekurangan port untuk aplikasi Anda.

3. Dynamic/Private ports.

Dari port 49152 sampai dengan port 65535.

Winsock

Untuk pemrograman aplikasi socket berbasis Windows, maka komponen API yang sering digunakan adalah Winsock (Win-dows Socket API) yang mendukung interface standar TCP/IP, yang merupakan protokol jaringan paling popular saat ini (contoh protokol jaringan yang lain adalah NetBIOS, IPX dari Novell, AppleTalk dari Apple, dan seterusnya).

Pengertian TCP/IP (TCP over IP) mungkin dapat menjadi sedikit rancu jika diartikan TCP/IP hanya mengizinkan pengiriman TCP (dan tidak UDP), padahal seperti yang telah kita bahas, pengiriman socket dapat melalui TCP maupun UDP.

Pengertian TCP/IP di sini sebenarnya digunakan untuk menunjukkan teknologi jaringan/Internet, termasuk di dalamnya adalah UDP. Jika Anda menggunakan UDP, dapat juga disebut sebagai UDP/IP (UDP over IP), tetapi umumnya istilah ini jarang digunakan dan istilah TCP/IP telah mencakup, baik TCP maupun UDP.

Pada bahasa pemrograman visual seperti Visual Basic/Delphi, Anda dapat menggunakan control Winsock yang telah disediakan untuk mengembangkan aplikasi socket.

Walaupun kita akan mencontohkan aplikasi socket dalam environment Windows, Anda tidak perlu khawatir jika aplikasi socket yang menggunakan Winsock tidak dapat berkomunikasi dengan aplikasi socket berbasis Unix/Linux, karena komunikasi tetap dapat terjadi selama aplikasi tersebut menggunakan protokol jaringan yang sama.

Kalau demikian, untuk mencoba aplikasi socket, apakah mutlak diperlukan setidaknya jaringan dengan minimal dua komputer yang saling terkoneksi? Bagi Anda yang terpaksa hanya menggunakan satu komputer, dapat memanfaatkan alamat localhost atau 127.0.0.1 yang mengizinkan dua aplikasi berjalan pada satu mesin komputer dan berkomunikasi satu sama lain.

Aplikasi Server

Untuk membuat aplikasi socket yang sederhana, tidak diperlukan langkah-langkah yang rumit. Kita akan mencoba membuat dua buah aplikasi, yang pertama adalah aplikasi server yang akan menerima data, sedangkan aplikasi kedua adalah aplikasi client yang mengirimkan data pada server. Baik aplikasi server dan aplikasi client mendefi nisikan port yang sama sebagai jalur komunikasi.

Contoh program dibuat dengan menggunakan Visual Basic 6. Konsep pemrograman yang serupa juga dapat Anda implementasikan pada bahasa pemrograman lain seperti Visual Basic.NET, Delphi, dan lain sebagainya.

Kita akan memulainya dengan aplikasi server, tugas aplikasi server cukup sederhana, yaitu hanya siap sedia menerima data yang masuk pada sebuah port. Control yang Anda perlukan adalah control winsock bernama Winsock1 dan sebuah textbox bernama Text1. Pada event Form_Load, tuliskan kode program di bawah

ini:

Private Sub Form_Load()

With Winsock1

.LocalPort = 1025

.Listen

End With

End Sub

Kode program tersebut melakukan inisialisasi socket, socket memilih port 1025 pada komputer server dan menunggu data yang masuk melalui port tersebut dengan perintah Listen.

Selanjutnya pada event Winsock1_ConnectionRequest, ketikkan kode program berikut:

Private Sub Winsock1_ConnectionRequest(ByVal requestID As

Long)

If Winsock1.State <> sckClosed Then Winsock1.Close

Winsock1.Accept requestID

End Sub

Kode program di atas berfungsi untuk menerima request koneksi. Selanjutnya pada event Winsock1_DataArrival, ketikkan kode program berikut:

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

Dim strData As String

Winsock1.GetData strData

Text1.Text = Text1.Text & strData

End Sub

Kode program di atas berfungsi untuk mengambil data yang diterima oleh socket dan menampilkannya pada Text1. Aplikasi server telah selesai!

Aplikasi Client

Seperti aplikasi server, Anda perlu menyiapkan control Winsock dan Text, ditambah sebuah control Command Button yang dapat Anda namakan cmdKirim yang berfungsi untuk mengirimkan data yang diketik pada Text1 ke aplikasi server.

Pada event Form_Load, ketikkan kode program di bawah:

Private Sub Form_Load()

With Winsock1

.RemoteHost = “127.0.0.1”

.RemotePort = 1025

.Connect

End With

End Sub

Kode program di atas berfungsi untuk melakukan inisialisasi, tentukan IP tujuan/server/remote dengan 127.0.0.1 seperti pada contoh jika Anda mencoba aplikasi ini dengan menggunakan satu mesin komputer.

Jika Anda mencobanya dengan menggunakan dua komputer dalam sebuah jaringan, isikan dengan IP komputer yang berfungsi sebagai server.

Selanjutnya pada cmdKirim, ketikkan kode program sebagai berikut:

Private Sub cmdKirim_Click()

If Winsock1.State = sckConnected Then

Winsock1.SendData Text1.Text

End If

End Sub

Kode program di atas akan mengirimkan pesan yang Anda ketik pada textbox Text1 pada aplikasi server.

Selesailah sudah aplikasi server dan client. Cukup mudah, bukan? Anda dapat melakukan uji coba dengan menjalankan aplikasi server pada komputer yang berfungsi sebagai server (ataupun komputer yang sama dengan aplikasi client jika Anda menggunakan 127.0.0.1 sebagai remote IP).

Jalankan aplikasi client, dan ketik kata-kata yang Anda inginkan, lalu tekan Command Button cmdKirim, maka aplikasi server akan menampilkan pesan yang Anda ketikkan

tersebut.

Dari program sederhana ini, Anda dapat mengembangkannya menjadi aplikasi socket yang sesuai dengan keperluan Anda, penggunaannya sangat luas dan bisa jadi sangat bermanfaat, misalnya aplikasi instant messenger seperti Yahoo! Messenger ataupun MSN Messenger yang merupakan aplikasi socket yang banyak digunakan.

Pengolahan Data

Komunikasi data antara server dan client di atas merupakan bentuk komunikasi satu arah sederhana. Data yang dikirimkan dari client pun merupakan data mentah yang tidak memerlukan pengolahan data lebih lanjut.

Anda dapat membuat sendiri function dan rutin untuk mengolah data yang dikirim dan diterima sesuai dengan kebutuhan aplikasi, karena data yang dikirimkan antarmesin bisa jadi sangat bervariasi.

Misalnya saja aplikasi server/client Anda memerlukan pertukaran data identitas mesin, tanggal, jam, header pesan, isi pesan, dan lain sebagainya. Anda dapat mengirimkannya dalam format tertentu, misalnya bentuk string dengan karakter pemisah untuk membedakan masing-masing field.

Dalam komunikasi data di dalam jaringan, Anda perlu mempertimbangkan besarnya data yang lalu-lalang pada jaringan, baik dengan menggunakan TCP maupun UDP. Keduanya harusdipersiapkan untuk mampu menangani data yang besar jika memang pengguna aplikasi socket Anda sangat luas.

Pastinya tidak terdapat masalah yang berarti jika Anda mencobanya dengan dua atau beberapa komputer dalam sebuah jaringan lokal, tetapi coba bayangkan seberapa besar total data yang harus dikirim dan diterima pada sebuah aplikasi game online, misalnya.

Pada contoh game online, sebuah server harus dipersiapkan untuk mampu melayani sedemikian banyak client, dan jaringan yang digunakan bukan lagi jaringan lokal, tetapi sudah merupakan jaringan Internet, di mana siapapun dapat menggunakan aplikasi Anda selama ia memiliki koneksi Internet.

Mungkin Anda bertanya, jika data yang keluar-masuk memerlukan pengolahan lebih lanjut, mengapa tidak digunakan database, sehingga Anda tidak perlu pusing membuat rutin atau modul untuk mengolah data yang dikirim/diterima melalui komunikasi socket?

Pada umumnya, aplikasi socket client/server memang menggunakan database pada sisi server, tetapi jika aplikasi socket mengharuskan sisi client menggunakan database tertentu, maka akan membatasi penggunaan aplikasi itu sendiri.

Selain itu, kegunaan komunikasi socket adalah agar dapat berjalan lintas platform. Tidak peduli operating system apa yang digunakan pengguna aplikasi, komunikasi socket tetap berjalan selama digunakan protokol yang sama.

Metode Berorientasi Objek ( Objek Dan Class)

Metode Berorientasi Objek ( Objek Dan Class)


1.            1.      OBYEK (OBJECT)
-          Obyek dapat berarti orang, tempat, benda, kejadian, sesuatu, atau konsep-konsep yang ada di dunia nyata yang penting bagi suatu aplikasi (perangkat lunak atau sistem informasi).
-          Sebuah obyek memiliki keadaan sesaat (state) dan perilaku (behavior).
-          State sebuah obyek adalah kondisi obyek tersebut yang dinyatakan dalamatribut (attribute).
-          Perilaku sebuah obyek mendefinisikan bagaimana sebuah obyek bertindak/beraksi dan memberikan reaksi. Perilaku ini dinamakan operasi (operation).
-          Menurut Schumuller, jika atribut dan operasi disatukan, maka akan memberikan fitur (features).
-          Contoh obyek adalah :
a. Obyek orang                : anda, saya, seorang lelaki tampan
b. Obyek tempat              : kampus, negara, jalan, kota
c. Obyek benda                : mesin, komputer, gedung, printer, keyboard
d. Obyek kejadian                        : pembayaran, registrasi, kuliah, mengetik
e. Obyek konsep               : liberalisme, kapitalisme, marxisme
1.            2.      KELAS (CLASS)
-     Himpunan obyek-obyek yang sejenis disebut kelas (class).
-     Obyek adalah sebuah contoh dari kelas (class).
-     Kelas Desain menggambarkan sebuah abstraksi dari satu atau berbagai kelas dalam implementasi. Nama untuk tiap-tiap kelas desain bergantung pada bahasa pemrograman yang berpadanan dengan kelas tersebut dalam implementasi.
-     Contoh sebuah kelas adalah sebagai berikut :
mahasiswa=nama kelas .NIM,NAMA,dll=Atribut. ikut kuliah=operasi
Class merupakan cetak biru (blue print) dari objek atau dengan kata lain sebuah class menggambarkan ciri-ciri objek secara umum. Sebagai contoh Suzuki Semash,Yamaha,VegaR,Honda SupraFit,dan Kawasaki KazR merupakan objek dari klas sepedah motor. Sujuki smash dan objek lainnya juga memiliki kesamaan atribut (merk,tipe,berat,kapasitas bensin,tipe mesin,warna,harga) dan method untuk mengakses data pada atributnya (misal fungsi untuk menginfutkan data merk,tipe,berat dsb serta fungsi untuk mencetak data merk,tipe,berat,dsb).
Contoh:
PERBEDAAN OBJECT DAN CLASS
Object adalah sesuatu yang bisa dianalogikan dengan benda, orang, tempat, kejadian atau konsep-konsep yang ada di dunia nyata yang digunakan pada perangkat lunak atau sistem informasi. Contohnya kampus, gedung, mahasiswa, kuliah, registrasi, pembayaran dan yang lainnya.Disamping itu Object juga merupakan realisasi dari sebuah class. Ketika kita membuat sebuah class, tidak berarti kita membuat sebuah object. Bayangkan jika kita menjadi seorang dewa. Lalu kita menentukan bahwa ada jenis makhluk bernama Sapi di bumi. Hal ini dapat disamakan dengan kita membuat sebuah class bernama sapi. Ketika kita menciptakan seekor sapi, seekor sapi itulah yang disebut object.
Objek dalam konsep OOP masih memiliki keadaan dan sifat seperti halnya objek di dunia nyata, karena pada dasarnya objek dalam OOP merupakan representasi dari dunia nyata. Objek dalam OOP merepresentasikan keadaan melalui variabel, sedangkan sifatnya direpresentasikan menjadi method. Method merupakan suatu fungsi (sub-routine) yang berhubungan dengan objek.Definisi: “objek merupakan penggabungan variabel-variabel dan method-method yang berhubungan dengannya.”Setiap objek bisa dibedakan antara satu dengan yang lainnya. Misalnya, objek mobil bisa dibedakan berdasarkan merknya. Objek hewan bisa dibedakan berdasarkan jenis dan ciri fisiknya. Walaupun objek tersebut bernama sama, tetapi masih tetap bisa dibedakan. Misalnya, objek mobil Kijang bisa dibedakan berdasarkan nomor rangka, warna, tahun keluaran, tipe, nomor polisi, dan sebagainya. Objek kucing bisa dibedakan dari warna dan corak bulunya. Bahkan dua orang yang kembar pun masih bisa dibedakan satu sama lainnya, misalnya dengan nama atau ciri tertentu yang spesifik dan juga sifatnya. Konsep “pembedaan” ini disebut dengan konsep identitas.
Sedangkan class adalah kumpulan/himpunan objek dengan atribut/properti yang mirip, prilaku yang mirip, serta hubungan dengan object yang lain dengan cara yang mirip. Class hampir serupa dengan structure, namun bedanya adalah class dapat memiliki fungsi di dalamnya. Jadi, class adalah beberapa variabel dan fungsi/method yang dikelompokkan di dalam sebuah nama. Variabel-variabel tersebut biasa disebut field dan biasanya merupakan atribut dari class tersebut. Fungsi/method adalah aksi yang dapat dilakukan oleh class tersebut. Class juga merupakan suatu konsep yang lebih tinggi lagi hierarkinya dari objek yang dihasilkan dari proses generalisasi objek-objek yang memiliki beberapa ciri yang sama. Dalam OOP, kelas merupakan suatu hasil pemodelan fakta-fakta dari suatu objek yang berguna bagi suatu aplikasi yang diprogram. Proses pemodelan fakta-fakta tersebut disebut dengan abstraksi.
Jadi, dari penjelasan itu dapat disimpulkan perbedaan antara objek dengan class yaitu Kelas adalah sesuatu yang menjelaskan ciri-ciri secara umum dari suatu objek, termasuk apa-apa yang bisa dilakukan objek tersebut. Sedangkan objek adalah keadaan tertentu dari suatu kelas, atau sering juga disebut dengan instans dari kelas.
Untuk lebih jelasnya perbedaan antara objek dan class dapat dicontohkan sebagai berikut:
“Seekor kucing Persia memiliki empat ekor anak.”
Kalimat tersebut mengisyaratkan bahwa kucing Persia merupakan kelasnya, sedangkan anak-anaknya merupakan objek. Dengan kata lain, jika seekor kucing Persia tersebut memiliki empat anak, berarti dia telah membuat empat buah objek (instans) dari kelas kucing Persia. Setiap anak kucing memiliki cirinya tersendiri. Ada yang berbulu putih, kuning hitam, atau campuran hitam kuning. Selain itu ada yang memiliki ekor panjang sempurna, panjang bengkok, pendek, ekor “keriting”, dan sebagainya. Dan jenis kelaminnya juga ada beberapa yang jantan dan ada juga yang betina. Tetapi walaupun berbeda dalam hal ciri-ciri fisiknya, harus diingat bahwa semuanya tetaplah kucing Persia.

use case diagram

Use Case Diagram
Pengertian :
● Use case class digunakan untuk memodelkan dan menyatakan unit fungsi/layanan yang disediakan oleh sistem (or bagian sistem: subsistem atau class) ke pemakai.
● Use case dapat dilingkupi dengan batasan sistem yang diberi label nama sistem.
● Use case adalah sesuatu yang menyediakan hasil yang dapat diukur ke pemakai atau sistem eksternal.
Karakteristik :
– Use cases adalah interaksi atau dialog antara sistem dan actor, termasuk pertukaran pesan dan tindakan yang dilakukan oleh sistem.
– Use cases diprakarsai oleh actor dan mungkin melibatkan peran actor lain. Use cases harus menyediakan nilai minimal kepada satu actor.
– Use cases bisa memiliki perluasan yang mendefinisikan tindakan khusus dalam interaksi atau use case lain mungkin disisipkan.
– Use case class memiliki objek use case yang disebut skenario. Skenario menyatakan urutan pesan dan tindakan tunggal.
Komponen Pembentuk Use Case Diagram :
1. Actor
Pada dasarnya actor bukanlah bagian dari use case diagram, namun untuk dapat terciptanya suatu use case diagram diperlukan beberapa actor. Actor tersebut mempresentasikan seseorang atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi dengan sistem. Sebuah actor mungkin hanya memberikan informasi inputan pada sistem, hanya menerima informasi dari sistem atau keduanya menerima, dan memberi informasi pada sistem. Actor hanya berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Actor digambarkan dengan stick man . Actor dapat digambarkan secara secara umum atau spesifik, dimana untuk membedakannya kita dapat menggunakan relationship
Actor
Gambar Actor
2. Use Case
Use case adalah gambaran fungsionalitas dari suatu sistem, sehingga customer atau pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan dibangun.
Catatan : Use case diagram adalah penggambaran sistem dari sudut pandang pengguna sistem tersebut (user), sehingga pembuatan use case lebih dititikberatkan pada fungsionalitas yang ada pada sistem, bukan berdasarkan alur atau urutan kejadian.
Cara menentukan Use Case dalam suatu sistem:
a. Pola perilaku perangkat lunak aplikasi.
b. Gambaran tugas dari sebuah actor.
c. Sistem atau “benda” yang memberikan sesuatu yang bernilai kepada actor.
d.   Apa yang dikerjakan oleh suatu perangkat lunak (*bukan bagaimana cara mengerjakannya).
Use Case
Gambar Use Case
Relasi dalam Use Case
Ada beberapa relasi yang terdapat pada use case diagram:
1. Association, menghubungkan link antar element.
2. Generalization, disebut juga inheritance (pewarisan), sebuah elemen dapat merupakan spesialisasi dari elemen lainnya.
3. Dependency, sebuah element bergantung dalam beberapa cara ke element lainnya.
4. Aggregation, bentuk assosiation dimana sebuah elemen berisi elemen lainnya.
Tipe relasi/ stereotype yang mungkin terjadi pada use case diagram:
1. <<include>> , yaitu kelakuan yang harus terpenuhi agar sebuah event dapat terjadi, dimana pada kondisi ini sebuah use case adalah bagian dari use case lainnya.
2. <<extends>>, kelakuan yang hanya berjalan di bawah kondisi tertentu seperti menggerakkan alarm.
3. <<communicates>>, mungkin ditambahkan untuk asosiasi yang menunjukkan asosiasinya adalah communicates association . Ini merupakan pilihan selama asosiasi hanya tipe relationship yang dibolehkan antara actor dan use case.
3. Contoh Use Case Diagram
Contoh Use Case
Contoh Use Case Diagram