Anda di halaman 1dari 63

Bahasa

Pemrograman
JAVA
jufriadif na`am
+628126624701
jufriadifnaam@yahoo.com
yptk@indosat.net.id

UNIVERSITAS PUTRA INDONESIA “YPTK”


BaHaSa PeMrOgRaMaN

bahasa yang digunakan pada


komputer untuk melakukan tugas
tertentu

Contoh :
JAVA, C, Visual Basic, Clipper, Assembler, Pascal, Delphi, SQL, Perl,
Phyton, PHP, Ruby, dll

UNIVERSITAS PUTRA INDONESIA “YPTK”


Fungsi Bahasa

Menterjemahkan perintah dari bahasa manusia ke


dalam bahasa mesin yang dimengerti oleh
komputer.

Cara kerja
Interpreter
Compiler

UNIVERSITAS PUTRA INDONESIA “YPTK”


Sejarah JAVA

Diciptakan th 1991 oleh satu tim dari perusahaan


Dengan tujuan dapat dijalankan pada berbagai jenis
hardware tanpa kompilasi ulang
Dikepalai oleh James Gosling
Nama awalnya adalah Oak (nama sebuah pohon)
Th 1994 diganti menjadi JAVA (nama dari kopi)

UNIVERSITAS PUTRA INDONESIA “YPTK”


•Th 1995 di umumkan di Internet, yang digunakan pd SPARC
Solaris, dan selanjutnya dikembangkan pada Windows NT,
Windows 95 dan Linux.
•Open Source
•Tgl 23 Januari 1996, JAVA 1.0 resmi diumumkan dan
disediakan di WEB.
•Selanjutnya berkembang versi :
- J2EE (Java 2 Enterprise)
- J2SE (Java 2 Standard Edition)
- JSP (Java Server Page)
- JME (Java Mobile Edition)
- JavaBean

UNIVERSITAS PUTRA INDONESIA “YPTK”


Interpr
eted
&
Multithreaded High
& Perfor
mance
Architecture
neutral

Distributed
Simple & JAVA
&
Object Oriented Characteristics Dynamics

Secu
re
Robust &
Porta
ble

UNIVERSITAS PUTRA INDONESIA “YPTK”


Different Versions of Java
• Standard Edition, J2SE
– Core of programming language
• Enterprise Edition, J2EE
– For enterprise applications
• Micro Edition, J2ME
– For small devices

UNIVERSITAS PUTRA INDONESIA “YPTK”


UNIVERSITAS PUTRA INDONESIA “YPTK”
UNIVERSITAS PUTRA INDONESIA “YPTK”
J2EE Architecture

UNIVERSITAS PUTRA INDONESIA “YPTK”


J2ME

UNIVERSITAS PUTRA INDONESIA “YPTK”


Compiler

Cetak_HelloApp.class

interpreter interpreter interpreter

Hello Hello
Hello Word!
Word! Word!

Windows Linux Solaris

Java Runtime
Java Compiler System

Bytecode Java Virtual Just-In-Time


executable Mechine Compiler
Source
Class
code
files

Native
Operating
System
Native Code
UNIVERSITAS PUTRA INDONESIA “YPTK”
Cetak_Hello.java Cetak_Hello.class
(source code) Java Compiler (bytecode)

Java Virtual Mechine


Cetak_Hello.class
(JVM)
(bytecode)

>javax Cetak_Hello.java (Kompilasi)

>java Cetak_Hello (Eksekusi)


meneksekusi Applet dengan menggunakan WebBrowser

UNIVERSITAS PUTRA INDONESIA “YPTK”


Processing a Java Program

UNIVERSITAS PUTRA INDONESIA “YPTK”


What does a Java program look like?
Let’s work it !

UNIVERSITAS PUTRA INDONESIA “YPTK”


Problem-Analysis-Coding-Execution Cycle

UNIVERSITAS PUTRA INDONESIA “YPTK”


UNIVERSITAS PUTRA INDONESIA “YPTK”
Software
- Java SDK (System Development Kit) => J2SE
-JVM (Java Virtual Machine), utk interprestasi thd file .class
-API (Application Program Interface), sbg pustaka fungsi

- Editor

UNIVERSITAS PUTRA INDONESIA “YPTK”


Struktur Program Aplikasi Java
import java.nama_class.nama_fungsi;

class nama_program
{
public static void main ( String[] args )
{
// definisi variabel
….
// instruksi – instruksi
}
}

UNIVERSITAS PUTRA INDONESIA “YPTK”


Langkah Pembuatan Aplikasi

- Buka editor teks


- Ketik program dari baris pertama hingga baris
terakhir
- Save As : nama_program.java
- Keluar dari Editor
- Kompilasi :
>javac nama_program.java
- Bila tidak ada error, jalankan program :
Sensitive
>java nama_program keys
UNIVERSITAS PUTRA INDONESIA “YPTK”
UNIVERSITAS PUTRA INDONESIA “YPTK”
Java Applet

Cetak_Hello.java

Cetak_Hello.class

Cetak_Hello.html

UNIVERSITAS PUTRA INDONESIA “YPTK”


Struktur Program Applet
import java.applet.*;
import java.nama_class.*;

{
public class nama_applet extend Applet
{
// definisi variabel
….
// instruksi – instruksi
public void paint (Graphics g)
{
….
}
}
}

UNIVERSITAS PUTRA INDONESIA “YPTK”


Langkah pembuatan Applet
- Buka editor teks
- Ketik program dari baris pertama hingga baris terakhir
- Save As : nama_applet.java
- Keluar dari Editor
- Kompilasi :
>javac nama_applet.java
- Buat file HTML
<html>
<head><title>………………..</title></head>
<body>
<P> ….. Komentar ……
<applet code = “nama_applet.class” width=… height =…>
</applet>
</body></html>
- Jalankan HTML di WebBrowser

UNIVERSITAS PUTRA INDONESIA “YPTK”


Perbedaan struktur pada Applet

1.Program applet tidak memiliki modul utama


main(), tetapi kelasnya harus
merupakan ekstensi dari modul applet
(extends java.applet.Applet).
2.File .class hasil kompilasi tidak dapat
dijalankan langsung oleh interpreter java,
tetapi harus dimasukan kedalam suatu
halaman Web lewat suatu file .HTML.
UNIVERSITAS PUTRA INDONESIA “YPTK”
Contoh program Applet

UNIVERSITAS PUTRA INDONESIA “YPTK”


Contoh program untuk
menjalankan Applet pada
WebBrowser dengan extensi
.html

UNIVERSITAS PUTRA INDONESIA “YPTK”


Hasil program pada WebBrowser
Internet Explorer

UNIVERSITAS PUTRA INDONESIA “YPTK”


Mobile Programming

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


Java Mobile

UNIVERSITAS PUTRA INDONESIA “YPTK”


Pilihan
•Java ME
•python
•SymbianC++
•Open C
•Qtopia
•MaemoLinux
•Windows Mobile, .NET Compact Framework
•Google Android
•Qualcomm BREW

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


Java ME overview

Java ME (Micro Edition) adalah java platform untuk


consumer devices seperti handphone, PDA, TV set-top
boxes serta perangkat embedded lainnya

Java ME berisi sekumpulan API yang didefinisikan melalui


JCP

Java ME mendefinisikan configurations, profiles dan optional


packages sebagai elemen untuk membangun lingkungan
runtime Java

setiap kombinasi mendefinisikan karakteristik (memori,


kemampuan pemrosesan dan I/O yang sesuai dengan kategori
perangkat tertentu

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


J2ME dalam Bahasa Pemrograman Java

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


J2ME terdiri dari beberapa komponen
yaitu:
• Java Virtual Machine
Komponen ini untuk menjalankan program-program
Java pada emulator atau handheld device.

• Java API (Application Programming Interface)


Komponen ini merupakan kumpulan library
untuk menjalankan dan mengembangkan java
pada handheld device.

• Tools lain untuk pengembangan Berupa emulator


handphone atau PDA yang digunakan untuk
simulasi program dikomputer.

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


J2ME dibagi menjadi dua bagian
yaitu :

• J2ME configuration

• J2ME Profiles.

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


Configuration

Configuration adalah spesifikasi minimal sebuah perangkat yang


menjadi target Java ME. Configuration terdiri dari sebuah virtual
machine, sekumpulan API/library minimal yang harus disediakan
perangkat tersebut

Saat ini Java ME mendefinisikan 2 jenis:


–CLDC (Connected, Limited Device Configuration):
–CDC (Connected Device Configuration)

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


Perbandingan
CLDC CDC
Implementasi J2SE Subset Seluruh feature
Java Virtual Machine KVM CVM
Memori 160 – 512 KB Minimal 2 MB
Prosesor 16 dan 32 bit 32 bit

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


CLDC
• CLDC digunakan untuk perangkat jenis mobile phone dan PDA
dengan koneksi jaringan yang intermiten, memori terbatas dan
prosesor yang lambat

• umumnya memiliki prosesor 16-bit atau 32 bit, dan memori minimal


sebesar 192 KB

• Implementasi Java untuk perangkat kelas ini umumnya berupa KVM,


yaitu virtual machine yang berukuran puluhan kilo bytes saja

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


CDC

CDC digunakan untuk perangkat yang memiliki prosesor dan memori


yang lebih besar dibandingkan CLDC, misalnya higher end PDA, TV set
top boxes

Implementasi CDC dapat menggunakan JVM standar (Java SE), dengan


perangkat yang memiliki memori sebesar 2MB atau lebih

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


Profile

Profile adalah extension dari Configuration, dengan menambahkan


sekumpulan API tambahan yang umum digunakan untuk jenis kebutuhan
tertentu.

Profile juga mendefinisikan life cycle aplikasi, antar muka pengguna dan
akses ke fitur lainnya dari sebuah device.

Profile yang umum digunakan: Mobile Information Device Profile (MIDP),


PDA Profile, Foundation Profile (FP), Personal Profile (PP), Remote Method
Invocation Profile (RMIP), dan Game Profile (GP)

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


MIDP (Mobile Information Device Profile)

MIDP adalah profile yang ditargetkan untuk perangkat handphone serta


low end PDA

MIDP mendefinisikan fungsionalitas aplikasi dasar, seperti tampilan antar


muka pengguna, konektivitas dasar, serta penyimpanan data lokal.

Aplikasi MIDP disebut sebagai MIDlet. MIDP menyediakan kelas dasar


(MIDlet) yang dapat digunakan sebagai superclass untuk aplikasi-aplikasi
MIDlet pada MIDP.

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


FP (Foundation Profile)

FP adalah layer yang paling dasar yang tersedia pada CDC. FP


menyediakan layanan konektivitas jaringan untuk aplikasi pada CDC
yang memerlukan konektivitas tanpa harus memiliki GUI

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


PP (Personal Basis and Personal Profiles)

PP adalah layer pada CDC yang menyediakan dukungan GUI

Disebut juga dengan Personal Basis and Personal Profiles yang


memberikan dukungan tambahan bagi user interface functionality
dasar pada Foundation Profile

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


PDAP (Personal Digital Assistance Profiles)

PDA Profile hampir sama dengan MIDP tetapi ditujukan untuk


PDA yang mempunyai screen yang lebih baik dan memory
yang lebih besar dari telepon selular.

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


RMIP (Remote Method Invocation Profiles)

RMI Profile memberikan dukungan terhadap library J2SE


Remote Method Invocation libraries pada Foundation Profile

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


GP (Game Profile)

Game Profile akan memberikan platform untuk


mengembangkan software game pada CDC

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


Optional packages

CLDC & CDC dapat dilengkapi dengan optional packages untuk


kebutuhan tertentu, seperti misalnya Bluetooth, wireless messaging,
web service dll

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


CLDC
KVM (Kilo Virtual Mechine)
nama yang digunakan oleh JVM pada CLDC memiliki
keterbatasan:
–tidak ada floating point
–tidak ada finalization
–error handling yang terbatas
–tidak ada object serialization
–tidak ada RMI

CLDC 1.1
–java.io
–java.lang
–java.lang.ref
–java.util
–java.microedition.io

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


MIDP
MIDP menyediakan:

•application life cycle management: package javax.microedition.midlet

•user interface: package javax.microedition.lcdui

•network connection: menyediakan interface HttpConnection

•penyimpanan data: javax.microedition.rms

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


MIDlet
• Aplikasi MIDP memiliki satu atau beberapa kelas yang
diturunkan dari kelas MIDlet

•MIDlet menyediakan 3 method dasar:


–startApp(): inisialisasi objek dan display
–pauseApp(): menghentikan aplikasi sementara
–destroyApp(): menghentikan aplikasi

•Aplikasi MIDP akan dieksekusi dan dikelola oleh sistem


yang spesifik untuk setiap device, disebut sebagai
Application Manager
•Aplication Manager bertugas untuk menginstall sebuah
MIDlet pada perangkat, melakukan manajemen versi,
menjalankan MIDlet dengan memanggil ketiga method di
atas

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


MIDlet

Langkah-langkah pemrograman pada MIDP:

– Menulis program/kelas MIDlet

– kompilasi

– verifikasi class file

– membuat Jar file

– membuat Jad file (file yang berisi deskripsi MIDlet dalam sebuah jar)

– instalasi MIDlet pada device

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


Tools
•Sun Java Wireless Toolkit
–menyediakan CLDC, MIDP dan optional package lainnya
–menyediakan software emulasi
–menyediakan lingkungan minimal untuk pengembangan aplikasi:
kompilasi, packaging, dan emulator untuk eksekusi program

•IDE: Netbeans & Eclipse: Sun JWT terintegrasi dengan editor

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


Mobile Media Application Programming Interface
(MMAPI)

Package yang menangani pemrosesan multimedia pada MIDP yang


digunakan dalam aplikasi Game Mobile

UNIVERSITAS PUTRA INDONESIA “YPTK” http://www.upi-yptk.ac.id


UNIVERSITAS PUTRA INDONESIA “YPTK”
UNIVERSITAS PUTRA INDONESIA “YPTK”
UNIVERSITAS PUTRA INDONESIA “YPTK”
UNIVERSITAS PUTRA INDONESIA “YPTK”
UNIVERSITAS PUTRA INDONESIA “YPTK”
UNIVERSITAS PUTRA INDONESIA “YPTK”
UNIVERSITAS PUTRA INDONESIA “YPTK”
UNIVERSITAS PUTRA INDONESIA “YPTK”
Hello, World!

UNIVERSITAS PUTRA INDONESIA “YPTK”


UNIVERSITAS PUTRA INDONESIA “YPTK”