pengenalan java.pdf

Upload: amirkhan

Post on 01-Jun-2018

247 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/9/2019 Pengenalan JAVA.pdf

    1/24

     A RM I N L A W I

    P R O G R A M P A S C A S A R A J A N U N H A S

    Pemrograman Jaringan:

    Pengenalan Java

  • 8/9/2019 Pengenalan JAVA.pdf

    2/24

    Pengenalan java

    Menerapkan compiler dan interpreter

    public class myCetak {public static void main(String args[])

    {System.out.println(“Hello World!”);

    }

    }

    compiler

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

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

    interpreter

    program.java program.class javac program.java

     java program11010101

    2

     bytecode

  • 8/9/2019 Pengenalan JAVA.pdf

    3/24

    Karakteristik Multi-platform

    public class myCetak {public static void main(String args[])

    {System.out.println(“Hello World!”);

    }}

    compiler

    program.java program.class

     Windows Linux Solaris MacOS

    JVM

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

    interpreterinterpreterinterpreter

    3

    interpreter

  • 8/9/2019 Pengenalan JAVA.pdf

    4/24

    Software yang dibutuhkan

    Java Standrd Edition (SE) Development Kit (JDK)

    Dapat didownload gratis dihttp://developers.sun.com/downloads/

    JDK yang digunakan pada MK ini adalah versi terbarusaat ini: JDK1.6.0 update 10

    Text Editor: Notepad, Edit, dll

    4

    Java IDE:Jcreator, Eclipse, NetBeans, dll

  • 8/9/2019 Pengenalan JAVA.pdf

    5/24

    OOP dan Java

    Java adalah bahasa pemrograman murni berbasisobject-oriented (OO)

    OOP: Program bekerja atas interaksi ataukomunikasi antar obyek (object interprocess)

    OO-program dapat dipandang sebagai sistemtersebar (distributed system)

    5

  • 8/9/2019 Pengenalan JAVA.pdf

    6/24

     Apa itu obyek?

    Segala sesuatu dapat dipandang sbg obyek 

    Karateristik obyek  Memiliki atribut sebagai status (state/variable)

    Memiliki tingkah laku (behavior) atau method 

    variabel/

    statemethod/

    behavior 

    Object model

    6

  • 8/9/2019 Pengenalan JAVA.pdf

    7/24

    Bagaimana membuat obyek 

    Obyek dikonstruksi/dirancang dari prototipe ataublueprint  yang telah ditetapkan (class)

    Contoh:

    resep classkue   obyek 

    Bahan:

    1 kg gula2 sdk mentegadan sterusnya.

    Cara Membuat:Campursemua lalupanaskan dan seterusnya

    Resep Kue 1

    Kue 2

    7

  • 8/9/2019 Pengenalan JAVA.pdf

    8/24

    Contoh oop dalam java

    class mhs {private String nama;private String nim;private String ttl;private String agama;

    public mhs(String nama, String nim, String m, String agama) {this.nama = nama;

    this.nim = nim;this.ttl = ttl;this.agama = agama;

    }

    public String getNama() {return this.nama;

    }

    public String getNim() {return nim;

    }

    public static void main(String args[]) {mhs m = new mhs(“Armin”, “132133693”, “19”, “Islam”);System.out.println(“Nama =“ + m.getNama());

    }

    }

     variabel/state

    konstruktor

    method/

     behavior

    obyek  m

    8

  • 8/9/2019 Pengenalan JAVA.pdf

    9/24

    Ciri-ciri oop

     Abstraksi (abstraction)

    Pengabstrakan atau penyembunyian kerumitan dari suatu proses

    Pembungkusan (encapsulation)

     Abstraksi dilakukan dengan cara pembungkusan (kapsulasi) semua

    kode dan data kedalam satu entitas tunggal (obyek)

    Pewarisan (inheritance)

    Implementasi khusus dalam OOP yang dapat menurunkan prilaku kesub-class atau menerima prilaku dari super-class

    Kebanyak-rupaan ( polymorphism)Kemampuan obyek mengungkap banyak hal melalui suatu cara yangsama. Obyek dapat menjalankan prilaku-prilaku atau metode-metode yang diturunkan dari beberapa superclassnya

    9

  • 8/9/2019 Pengenalan JAVA.pdf

    10/24

    Netprog 2000 - Java NetworkPro rammin

    10

    Important Java Packages

    java.net TCP/IP networking

    java.io I/O streams & utilities

    java.rmi Remote Method Invocation

    java.securitySecurity policies

    java.lang Threading classes

  • 8/9/2019 Pengenalan JAVA.pdf

    11/24

  • 8/9/2019 Pengenalan JAVA.pdf

    12/24

    Netprog 2000 - Java NetworkPro rammin

    12

    IP Addresses & Hostnames

     java.net.InetAddress class

    Represents a single IP address

    Factory class – no public constructor

    Performs transparent DNS lookups or reverselookups

     java.net.UnkownHostException thrown if

    DNS system can’t find IP address for specific host

    http://java.sun.com/products/jdk/1.3/docs/api/java/net/InetAddress.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/net/UnknownHostException.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/net/UnknownHostException.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/net/InetAddress.html

  • 8/9/2019 Pengenalan JAVA.pdf

    13/24

    Netprog 2000 - Java NetworkPro rammin

    13

    TCP Server Sockets

     java.net.ServerSocket class

    Binds to a local port to listen for initial connections

    Can be bound to a local IP for multi-homed

    machines  accept() method returns a java.net.Socket,

    not an integer descriptor

    http://java.sun.com/products/jdk/1.3/docs/api/java/net/ServerSocket.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/net/Socket.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/net/Socket.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/net/ServerSocket.html

  • 8/9/2019 Pengenalan JAVA.pdf

    14/24

    Netprog 2000 - Java NetworkPro rammin

    14

    TCP Client Sockets

     java.net.Socket class

    Combines socket with socket options (timeout,linger, keep alive, no delay, etc)

    Encapsulates a java.io.InputStream and ajava.io.OutputStream – can be retrieved for

    use in a layered I/O system

    http://java.sun.com/products/jdk/1.3/docs/api/java/net/Socket.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/io/InputStream.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/io/OutputStream.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/io/OutputStream.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/io/InputStream.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/net/Socket.html

  • 8/9/2019 Pengenalan JAVA.pdf

    15/24

    Netprog 2000 - Java NetworkPro rammin

    15

    UDP Sockets

     java.net.DatagramSocket class

    Java makes no distinction between client/server forUDP sockets

    Connected mode UDP supported in Java 2

    Can be bound to both a local port & a local IPaddress – multi-homed support

    Supports some socket options (timeout, buffer size)

    http://java.sun.com/products/jdk/1.3/docs/api/java/net/DatagramSocket.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/net/DatagramSocket.html

  • 8/9/2019 Pengenalan JAVA.pdf

    16/24

    Netprog 2000 - Java NetworkPro rammin

    16

    UDP Datagrams

     java.net.DatagramPacket class

    Expects a byte array of data

     Address optional for connected-mode UDP

    This class is final – can’t be extended!  java.net.DatagramSocket instances can only

    send instances of java.net.DatagramPacket

    http://java.sun.com/products/jdk/1.3/docs/api/java/net/DatagramPacket.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/net/DatagramSocket.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/net/DatagramPacket.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/net/DatagramPacket.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/net/DatagramSocket.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/net/DatagramPacket.html

  • 8/9/2019 Pengenalan JAVA.pdf

    17/24

    Netprog 2000 - Java NetworkPro rammin

    17

    Threading

    Java doesn’t support the notion of forkingprocesses; how do we support concurrency?

     –Java was designed to support multi-threading!

     – In server environments we can spawn new

    threads to handle each client

     – Thread groups allow for collective control

    of many threads

    http://java.sun.com/products/jdk/1.3/docs/api/java/lang/Thread.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/lang/ThreadGroup.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/lang/ThreadGroup.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/lang/Thread.html

  • 8/9/2019 Pengenalan JAVA.pdf

    18/24

    Netprog 2000 - Java NetworkPro rammin

    18

    Java Servlets

    Servlets are the Java analog to CGI

     Advantages of servlets: full access to other Java APIs,persistence between invocations, guaranteed

    portability  Servlets can be generic services or specific to HTTP

  • 8/9/2019 Pengenalan JAVA.pdf

    19/24

    Netprog 2000 - Java NetworkPro rammin

    19

    HTTP Servlets

     javax.servlet.http.HttpServlet class

    Uses HTTP to receive requests and generateresponses

    Full support for all HTTP methods, cookies, sessions,persistent connections

    Servlets can be chained – example: de-blink servlet

    http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/http/HttpServlet.htmlhttp://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/http/HttpServletRequest.htmlhttp://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/http/HttpServletResponse.htmlhttp://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/http/Cookie.htmlhttp://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/http/Cookie.htmlhttp://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/http/HttpServletResponse.htmlhttp://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/http/HttpServletRequest.htmlhttp://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/http/HttpServlet.html

  • 8/9/2019 Pengenalan JAVA.pdf

    20/24

    Netprog 2000 - Java NetworkPro rammin

    20

    Java Applets

    Client-side Java programs that run in a browser

     Applets have special security restrictions called theapplet sandbox

    Only applets loaded over the network are subject tothe applet sandbox

    The applet sandbox is controlled by ajava.lang.SecurityManager

    http://java.sun.com/products/jdk/1.3/docs/api/java/lang/SecurityManager.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/lang/SecurityManager.html

  • 8/9/2019 Pengenalan JAVA.pdf

    21/24

    Netprog 2000 - Java NetworkPro rammin

    21

     Applet Sandbox

    Can’t load libraries or define native methods

    Can’t access local host filesystem

    Can’t open sockets to hosts other than

    originating host

    Can’t use Runtime.exec()

     Applet windows have a unique appearance

    Restricted access to certain system properties

    http://java.sun.com/products/jdk/1.3/docs/api/java/lang/Runtime.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/lang/Runtime.html

  • 8/9/2019 Pengenalan JAVA.pdf

    22/24

    Netprog 2000 - Java NetworkPro rammin

    22

    Escaping the Applet Sandbox

    Browsers can define their own security policy via anew security manager

     Applets can be signed and executed as trusted

    content Security policies may vary from browser to browser,

    even for signed applets

    http://java.sun.com/products/jdk/1.3/docs/api/java/lang/SecurityManager.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/lang/SecurityManager.html

  • 8/9/2019 Pengenalan JAVA.pdf

    23/24

    Netprog 2000 - Java NetworkPro rammin

    23

    Remote Method Invocation (RMI)

    RMI is the Java analog to RPC RMI servers use a naming service (rmiregistry) to

    register remote objects

    RMI servers use a special security policyimplemented by RMISecurityManager

    The default RMI transport mechanism is via TCPsockets – this is transparent to RMI code!

     Any object transferred in an RMI call mustimplement the Serializable interface

    http://java.sun.com/products/jdk/1.3/docs/api/java/rmi/server/UnicastRemoteObject.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/rmi/RMISecurityManager.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/io/Serializable.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/io/Serializable.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/rmi/RMISecurityManager.htmlhttp://java.sun.com/products/jdk/1.3/docs/api/java/rmi/server/UnicastRemoteObject.html

  • 8/9/2019 Pengenalan JAVA.pdf

    24/24

    Netprog 2000 - Java Network24

    Java Naming & Directory Interface (JNDI)

    JNDI provides a generic API that can be used tointerface with any naming system

    JNDI uses SPIs (service provider interfaces) to

    access many different types of naming & directoryservices from the JNDI API

    Sun supplies JNDI SPIs for LDAP, NIS, COS(CORBA naming), RMI registry & local filesystem

    http://java.sun.com/products/jndi/index.htmlhttp://java.sun.com/products/jndi/index.html