• Tidak ada hasil yang ditemukan

Staffsite STMIK PPKIA Pradnya Paramita d0e16 pertemuan 002

N/A
N/A
Protected

Academic year: 2017

Membagikan "Staffsite STMIK PPKIA Pradnya Paramita d0e16 pertemuan 002"

Copied!
37
0
0

Teks penuh

(1)

PENGANTAR BAHASA JAVA

(2)

LEARNING OUTCOMES

Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu:

 Menjelaskan elemen pemrograman Java

(3)

OUTLINE MATERI

 Sejarah Java

 Karakteristik Java

 API, JDK, JRE

 Java Platform

 Program Sederhana Java

 Anatomi Program Java

 Escape Sequence

(4)

SEJARAH JAVA

 Dikembangkan oleh tim

 Pemimpin: James Gosling

 Company: Sun Microsystem

 Agustus 1991, bernama Oak

 Januari 1995, berganti nama Java

 Menjanjikan aplikasi berbasis “Write Once,

Run Anywhere (WORA)”

 Dapat dijalankan di web browser dengan

(5)

KARAKTERISTIK JAVA (BUZZWORDS)

 Simple

 Object-oriented  Distributed

 Interpreted  Robust

 Secure

 Architecture-neutral  Portable

 High-performance  Multi-threaded

(6)

APPLICATION PROGRAM INTERFACE

(API)

 Kumpulan predefined classes dan

interfaces untuk mengembangkan program Java

 3 edisi Java API:

 Java 2 Standard Edition (J2SE)

 Aplikasi client-side, applet

 Java 2 Enterprise Edition (J2EE)

 Servlet, JSP

 Java 2 Micro Edition (J2ME)

(7)

JAVA DEVELOPMENT TOOLKIT (JDK)

 Sekumpulan program terpisah untuk mengembangkan dan menguji

program Java

 Java Development Tools, aplikasi berbasiskan IDE (integrated

development environment) untuk membuat program Java dengan cepat

 JBuilder by Borland (www.borland.com)

 NetBeans Open Source by Sun (www.netbeans.org)  Eclipse Open Source by IBM (www.eclipse.org)

 Code Warrior by Metrowerks (www.metrowerks.com)  TextPad Editor (www.textpad.com)

 JCreator LE (www.jcreator.com)  JEdit (www.jedit.org)

 JGrasp (www.jgrasp.org)  BlueJ (www.bluej.org)

(8)

JAVA DEVELOPMENT TOOLKIT (JDK)

 Program pada JDK yang sering digunakan

 Kompiler: javac

 Mengkompilasi souce code (.java) menjadi bytecode (.class)

 Interpreter: java

 Mengeksekusi bytecode (.class) menjadi aplikasi

 Debugger: jdb

 Seperti interpreter, tetapi mampu men-debug aplikasi

 Penampil applet: appletviewer

 Menampilkan applet

 Dokumentasi: javadoc

 Mengkonversi source code (.java) menjadi dokumentasi (.html)

 Kompresi: jar

 Menghasilkan kompresi (.jar) dari bytecode (.class) dan file pendukung

(9)

JAVA RUNTIME ENVIRONMENT (JRE)

 Software yang diperlukan untuk

menjalankan aplikasi berplatform Java

 Java Virtual Machine (JVM): sekumpulan

program untuk mengeksekusi java

bytecode agar jalan pada platformnya

 Java Bytecode: Sekumpulan instruksi

(10)
(11)

PROGRAM JAVA SEDERHANA: HELLO WORLD

// This application program prints Welcome to Java!

public class Welcome {

public static void main(String [] args) { System.out.println(“Welcome to Java!”); }

(12)

PROGRAM JAVA SEDERHANA: HELLO WORLD

// This application program prints Welcome to Java!

public class Welcome {

public static void main(String [] args) {

System.out.println(“Welcome to Java!”);

} }

Comment s

Class name Filename: Welcome.java

Class heading, Main method signature

(13)

PROGRAM JAVA SEDERHANA: HELLO WORLD

 Setiap program Java memiliki minimal 1

kelas. Cth: Welcome

 Untuk menjalankan kelas, maka

diperlukan method main

 System.out.println merupakan

(14)

CREATING, COMPILING, EXECUTING

Source Code

Create/Modify Source Code

Compile Source Code e.g., javac Welcome.java

Bytecode

Run Bytecode e.g., java Welcome

Result

If compilation errors

If runtime errors or Incorrect result public class Welcome {

Public static void main(String [] args) {

System.out.println(“Welcome to Java!”); }

}

Save on the disk

Source code (developed by the programmer)

Method Welcome() 0 aload_0

Method void main(java.lang.String[]) 0 getstatic #2 …

3 ldc #3 <String “Welcome to Java!”> 5 invokevirtual #4

8 return

Bytecode (generated by the compiler for JVM to read and interpret, not for you to

(15)

ANATOMI PROGRAM JAVA

 Program/aplikasi terdiri dari:

 Whitespace  Identifiers  Literal

 Comments  Separators

 Reserved words (keyword)  Modifiers

 Statements  Blocks

 Classes  Methods

(16)

ANATOMI: WHITESPACE

 Java adalah free-form language

 Tidak perlu aturan indentation

 Program dapat dibuat 1 baris saja

 Terdapat minimal 1 whitespace di

antara token yang tak beroperator

(17)

ANATOMI: IDENTIFIERS

 Digunakan untuk menamakan class,

method, dan variable

 Terdiri dari huruf uppercase/lowercase,

angka, underscore, atau tanda dollar ($)

 Tidak boleh diawali dengan angka

 Bersifat case-sensitive

 Contoh identifier:

(18)

ANATOMI: LITERALS

 Nilai tetap

 Dapat berupa bilangan bulat, bulang desimal, karakter, kata, boolean,

tergantung tipe yang digunakan  Contoh:

 100

 98.6

 ‘X’

(19)

ANATOMI: COMMENTS

 Menggunakan notasi:

 // untuk satu baris (line comment)

 /* … */ untuk beberapa baris (paragraph comment)

 Membantu programmer saling berkomunikasi dan

mengerti program

 Umumnya untuk mendokumentasikan internal program

 Contoh comments:

 // This application program prints Welcome to Java!

 /* This application program prints Welcome to Java! */

 /* This application program

(20)

ANATOMI:

SEPARATORS/PUNCTUATION

Symbol Nama Kegunaan

( ) Parentheses Berisi daftar parameter pada method

{ } Braces Sebagai block atau nilai inisialisasi pada array

[ ] Brackets Deklarasi array

; Semicolon Pengakhir statement

, Comma Pemisah deklarasi variabel dan statement for

. Period Pemisah nama package dan

subpackage, dan variable atau method dengan object/class

(21)

ANATOMI: RESERVED WORDS

 Sering disebut keywords

 Memiliki arti tersendiri bagi compiler

 Tidak dapat digunakan untuk tujuan lain dalam

program

 Contoh keywords:

 class

 Ketika compiler menemukan kata class, maka kata

setelah class dianggap sebagai nama class

 public, static, void

 Java bersifat case-sensitive, public dianggap

(22)

ANATOMI: RESERVED WORDS

abstract default goto * package this

assert do if private throw

boolean double implements protected throws break else import public transient byte enum instanceof return true

case extends int short try

catch false interface static void char final long strictfp volatile class finally native super while const * float new switch

continue for null synchronized

Contoh-contoh keyword lainnya:

(23)

ANATOMI: MODIFIERS

 Merupakan reserved words tertentu

 Menunjukkan properti data, method, dan

class

 Contoh modifier:

 public

 static

 private

 final

 abstract

(24)

ANATOMI: STATEMENTS

 Merepresentasikan (rangkaian) aksi

 Contoh:

 System.out.println(“Welcome to Java!”);

 menyatakan statement untuk

menampilkan tulisan “Welcome to Java!”

 Setiap statements diakhiri dengan

(25)

ANATOMI: BLOCKS

 Ditandai dengan tanda kurung kurawal buka ({) dan tutup (})  Setiap class memiliki class block yang terdiri dari data dan

method

 Setiap method memiliki method block yang terdiri dari

statement

 Block dapat bersifat nested (block in block)  Contoh:

public class Test {

(26)

ANATOMI: CLASSES

 Inti dari konstruksi Java

 Sebuah program terdiri dari minimal 1

class

 Di dalam class terdiri dari data dan

(27)

ANATOMI: METHODS

 Kumpulan statement yang

di-encapsulated yang menunjukkan urutan operasi

 Contoh:

System.out.println

 System.out  standard output object

 println  method dalam object

 hasil eksekusi akan ditampilkan di layar

(28)

ANATOMI: MAIN METHOD

 Setiap aplikasi Java harus memiliki main

method

 Merupakan tempat mulainya eksekusi

program

 JVM mengeksekusi aplikasi Java melalui main

method

 Contoh main method:

public static void main(String[] args) { // statements

(29)

ESCAPE SEQUENCE

Character Escape Sequence

Name

\b Backspace

\t Tab

\n Linefeed

\f Formfeed

\r Carriage Return

\\ Backslash

\’ Single Quote

\” Double Quote

\ddd Octal (0 s/d 377)

\udddd Heksadesimal

(dd= 0 s/d FF atau ff)

 Merepresentasikan

karakter khusus

 Dimulai dengan

karakter backslash ( \ ) dilanjutkan

(30)

ESCAPE SEQUENCE

(31)

DID YOU KNOW?

 Versi Java

 19 Februari 1997, Java 1.1

 hanya AWT

 08 Desember 1998, Java 1.2

 Codename: Playground, dikenal dengan Java 2, muncul platform J2SE, J2EE, J2ME

 08 Mei 2000, Java 1.3

 Codename: Kestrel, mengintegrasikan sound

 06 Februari 2002, Java 1.4

 Codename: Merlin, mengintegrasikan XML

 30 September 2004, Java 5.0

 Codename: Tiger, awalnya berversi 1.5 (tetapi sudah menghilangkan metode versi 1.x)

 11 Desember 2006, Java 6

 Codename: Mustang, menghilangkan metode versi x.0, mendukung Visual Basic, GUI Vista

 (belum rilis) 2008, Java 7

(32)

DID YOU KNOW?

 Logo Java:

(33)

ADVANCED LEARNING

 Java mendukung Unicode

 Unicode: skema encoding yang

dikembangkan oleh Unicode Consortium

 Mendukung pertukaran, pemrosesan,

dan penampilan bahasa-bahasa di dunia

 Contoh:

 Welcome dalam mandarin 

(34)

ADVANCED LEARNING

(35)

ADVANCED LEARNING

 import java.swing.JOptionPane;  akan

diterangkan pada session berikutnya

 Untuk menampilkan kotak pesan grafik:

JOptionPane.showMessageDialog (null,”…”,”…”,JOptionPane…);

(36)

ADVANCED LEARNING

(37)

REFERENSI

 Introduction to Java Programming. 7ed. Liang. 2009. p40-48

 Java Programming Language.

http://en.wikipedia.org/wiki/Java_(programming_language)

 Java Software Platform.

http://en.wikipedia.org/wiki/Java_(software_platform)

 Java Bytecode. http://en.wikipedia.org/wiki/Java_bytecode

 JDK. http://en.wikipedia.org/wiki/Java_Development_Kit

 JVM. http://en.wikipedia.org/wiki/Java_Virtual_Machine

 Logo Java. http://en.wikipedia.org/wiki/Image:Java_Logo.svg

 Java Platform. http://en.wikipedia.org/wiki/Image:JavaPlatform.jpg

 http://en.wikipedia.org/wiki/Image:Wave.svg

 Java Characteristics.

http://www.cs.armstrong.edu/liang/intro6e/JavaCharacteristics.pdf

 History of Java. http://java.sun.com/features/1998/birthday.html

 Lexical Structure.

Referensi

Dokumen terkait

mengalami kerusakan atau mempunyai perubahan-peruabahan kimiawi sehingga tidak dapat dipergunakan, maka kerugian perusahaan akan menjadi semakin besar dengan semakin besarnya

Berdasarkan hasil penelitian diketahui bahwa kendala utama dalam penerapan manajemen material di Kabupaten Sumba Tengah adalah letak geografis yang mengharuskan

Melalui kegiatan diskusi kelompok, siswa dapat menyebutkan dampak yang ditimbulkan akibat perubahan kenampakan bumi..  Karakter siswa yang diharapkan : Percaya diri ,

Keuntungannya apabila zakat dipungut oleh negara adalah para wajib zakat lebih disiplin dalam menunaikan kewajib- annya dan fakir miskin lebih ter- jamin haknya,

Diajukan untuk memenuhi sebagian dari syarat untuk memperoleh gelar Sarjana Teknik.. Program Studi Teknik

MJPS 1 Tasikmalaya belum sesuai Standar Nasional Pendidikan. Kelengkapan sarana dan prasarana yang terdapat di Teknik Mekanik. Otomotif SMK MJPS 1 Tasikmalaya belum

Bahan organik yang mengandung selulosa merupakan substrat bagi pertumbuhan bakteri selulolitik (Simanungkalit et al ., 2010), sehingga diduga bakteri selulolitik juga terdapat

(4) pengurasan bangunan bawah sesuai dengan perencanaan 2) peralatan dan perlengkapan yang digunakan dalam pemeliharaan sarana MCK adalah sebagai berikut :. (1) ember