133
JAVA Training Module October 2010 For the latest information, please see bluejack.binus.ac.id

Java Programming - Module

Embed Size (px)

DESCRIPTION

java

Citation preview

  • JAVA Training Module

    October 2010 For the latest information, please see bluejack.binus.ac.id

  • Information in this document, including URL and other Internet Web site references, is

    subject to change without notice. This document supports a preliminary release of software

    that may be changed substantially prior to final commercial release, and is the proprietary

    information of Binus University.

    This document is for informational purposes only. BINUS UNIVERSITY MAKES NO

    WARRANTIES, EITHER EXPRESS OR IMPLIED, AS TO THE INFORMATION IN THIS

    DOCUMENT.

    The entire risk of the use or the results from the use of this document remains with the

    user. Complying with all applicable copyright laws is the responsibility of the user. Without

    limiting the rights under copyright, no part of this document may be reproduced, stored in

    or introduced into a retrieval system, or transmitted in any form or by any means

    (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without

    the express written permission of Binus University.

    Binus University may have patents, patent applications, trademarks, copyrights, or other

    intellectual property rights covering subject matter in this document. Except as expressly

    provided in any written license agreement from Binus University, the furnishing of this

    document does not give you any license to these patents, trademarks, copyrights, or other

    intellectual property.

    Unless otherwise noted, the example companies, organizations, products, domain names, e-

    mail addresses, logos, people, places and events depicted herein are fictitious, and no

    association with any real company, organization, product, domain name, email address,

    logo, person, place or event is intended or should be inferred.

    2010 Binus University. All rights reserved.

    The names of actual companies and products mentioned herein may be the trademarks of

    their respective owners.

  • TABLE OF CONTENT

    Contents TABLE OF CONTENT ................................................................................................... 3

    OVERVIEW ................................................................................................................ 5

    OBJECTIVE ................................................................................................................ 8

    SYSTEM REQUIREMENT ............................................................................................... 9

    Java Console ........................................................................................................... 14

    Module 01 - Java Introduction ................................................................................. 14

    Java Console ........................................................................................................... 34

    Module 02 - Tipe Data & Input Output Operation ....................................................... 34

    Java Console ........................................................................................................... 42

    Module 03 Arithmetic Operation............................................................................ 42

    Java Console ........................................................................................................... 45

    Module 04 - Selection Controlling Structure .............................................................. 45

    Java Console ........................................................................................................... 50

    Module 05 - Loop Controlling Structure and Jump Operation ....................................... 50

    Java Console ........................................................................................................... 59

    Module 06 - Array.................................................................................................. 59

    Java Console ........................................................................................................... 65

    Module 07 - Method ............................................................................................... 65

    Java Console ........................................................................................................... 68

    Module 08 - Sorting ............................................................................................... 68

    Java Console ........................................................................................................... 71

    Module 09 Java Utilization.................................................................................... 71

    Java Console ........................................................................................................... 76

    Module 10 Class and Object ................................................................................. 76

    Java Console ........................................................................................................... 84

    Module 11 - String ................................................................................................. 84

    Java Console ........................................................................................................... 89

    Module 12 - Wrapper & Math Class .......................................................................... 89

    Java Console ........................................................................................................... 93

    Module 13 Inheritance ......................................................................................... 93

    Java Console ........................................................................................................... 97

    Module 14 - Polymorphism ..................................................................................... 97

    Java Console ........................................................................................................... 99

    Module 15 Abstract and Interface ......................................................................... 99

  • Java Console ......................................................................................................... 107

    Module 16 ArrayList dan Vector .......................................................................... 107

    Java Console ......................................................................................................... 112

    Module 17 File Access ....................................................................................... 112

    Java Console ......................................................................................................... 114

    Module 18 Operating File ................................................................................... 114

    Java Console ......................................................................................................... 117

    Module 19 - Package ............................................................................................ 117

    Java Console ......................................................................................................... 121

    Module 20 - Thread ............................................................................................. 121

  • OVERVIEW Modul ini membahas tentang bahasa Java, dimulai dari dasar sampai dengan materi

    Threading. Materi yang diajarkan meliputi :

    1. Java Introduction

    Mengenal IDE Eclipse

    Mengenal IDE NetBeans

    Mengenal Java

    Memperbaiki kesalahan sintaks dasar pada source code

    Meng-compile, run, dan debug program

    2. Tipe Data & Input Output Operation

    Mengenal tipe data primitf: boolean, byte, char, int, long, float, dan double

    Mengenal tipe data abstract: String

    Penyimpanan data ke dalam variabel

    Type casting

    Membuat program dengan sintaks dasar I/O

    Format output

    3. Aritmethic Operation

    Operator penambahan

    Operator pengurangan

    Operator perkalian

    Operator pembagian

    Operator sisa hasil bagi

    Shorthand operator

    4. Selection Controlling Structure

    Konstruksi if dan if-else

    Konstruksi nested if-else dan switch-case

    Perbandingan String

    5. Loop Controlling Structure and Jump Operation

    Konstruksi while

    Konstruksi do-while

    Try and catch

    For

    Break, label dan continue

    6. Array

    Definisi dan karakteristik array

    Inisialisasi array

    Array dua dimensi

    7. Method

    Definisi fungsi

    Prototipe fungsi

    Jangkauan identifier

    Pengiriman parameter berupa tipe data primitif dan abstract (Array dan String)

    Return value tipe data primitif dan abstract (Array dan String)

    Overloading terhadap Fungsi

  • 8. Sorting

    Bubble sort

    Selection sort

    Insertion sort

    9. Java Utilization

    Pembangkit Bilangan Acak

    Menunda dan menghentikan program

    Calendar

    Input/Output Dialog

    Locale dan Formatter

    Exception Handling

    10. Class and Object

    Kelas untuk sebuah Objek

    Constructor

    Access Modifier

    Method

    Static Variables

    Constants

    11. String

    String Class - Constructor

    Method (length, charAt, concat, substring, toLowerCase, toUpperCase, trim, split)

    12. Wrapper & Math Class

    Wrapper Class (Integer, Long, Boolean, Character, Byte, Float, Double, Short)

    Wrapper Method

    Konversi dengan Wrapper Class

    Math Class

    Math Method (round, random, ceil, floor, min, max, abs, exp, pow, sqrt)

    13. Inheritance

    Superclass

    Subclass

    Keyword super

    Final Class

    14. Polymorphism

    Polymorphism

    Overloading

    Overriding

    15. Abstract and Interface

    Abstract Class and Method

    Interface

    16. Array List and Vector

    ArrayList Class and Method

    Vector Class and Method

    17. File Access

    Declaration and Constructor File Class

  • File Separator

    File Method ( exist, getName, getPath, getParent, isFile, lastModified, length,

    renameTo )

    18. Operating File

    Tulis file ( PrintWriter )

    Baca file ( Scanner )

    FileWriter

    BufferedWriter

    19. Package

    Creating and Naming Package

    Using Package

    20. Thread

    Thread

    Why Multithreading?

    Create and Start a Thread

    Sleeping Thread

    Runnable vs. Thread Class

    Pada modul ini semua bahan diambil dari bahan materi yang akan diajarkan dalam Training

    tahap I, disertai dengan teori dan contoh program agar pembaca dapat mencoba sendiri

    code yang ada. Pada Modul ini pembahasan sudah diurutkan dari materi yang paling dasar

    sehingga pembaca akan semakin mudah mempelajari materi-materi yang ada.

  • OBJECTIVE

    Diharapkan trainee dapat mengerti tentang dasar-dasar dalam java dan dapat

    mengimplementasikannya dalam suatu program sederhana.

    Diharapkan trainee dapat mengerti tentang penggunaan tipe data & input output pada

    Java.

    Diharapkan trainee dapat mengerti tentang penggunaan operasi matematika pada

    Java.

    Trainee dapat menerapkan penggunaan seleksi dalam bahasa pemrograman Java

    Trainee dapat menggunakan perulangan dalam bahasa pemrograman java.

    Diharapkan trainee dapat mengerti tentang penggunaan dan cara pemakaian array dan

    dapat mengimplementasikannya dalam suatu program sederhana.

    Diharapkan trainee dapat mengimplementasikan cara penggunaan method di bahasa

    pemrograman java.

    Diharapkan trainee dapat mengerti tentang sorting dalam Java.

    Diharapkan trainee dapat mengerti dan dapat menggunakan class class Utilisasi dalam package java.util.

    Diharapkan trainee dapat mengimplementasikan cara penggunaan class dan object di

    bahasa pemrograman java.

    Trainee dapat membuktikan kegunaan kelas String di Java

    Diharapkan trainee dapat mengerti dan dapat menggunakan Wrapper dan Math Class

    dalam Java.

    Diharapkan trainee dapat mengerti dan dapat menggunakan konsep Inheritance pada

    Java.

    Diharapkan trainee dapat mengerti dan dapat menggunakan konsep Polymorphism

    pada Java.

    Trainee dapat menemukan kegunaan dari kelas abstrak dan interface dalam bahasa

    pemograman Trainee dapat menerapkan konsep penggunaan ArrayList dan Vector dalam bahasa

    pemograman

    Diharapkan trainee dapat mengerti tentang cara akses ke file melalui Java.

    Diharapkan trainee dapat mengerti dan memanipulasi data dalam file menggunakan

    Java.

    Diharapkan trainee dapat mengimplementasikan cara penggunaan package di bahasa

    pemrograman java.

    Diharapkan trainee dapat mengerti dan menggunakan Threading dalam Java.

  • SYSTEM REQUIREMENT

    Software yang digunakan untuk editor, compiler, run, debug :

    jdk-6u20-windows-i586.exe / jre-6u20-windows-i586-s.exe

    Textpad

    Notepad++

    Eclipse

    Netbeans

    Sistem Operasi dan spec-nya :

    Platform Version Memory Browsers Diskspace

    Solaris SPARC 32-bit and 64-bit

    SPARC 32-

    bit

    Solaris

    10 64mb

    Mozilla

    1.4+, 1.7+

    32-bit Install

    65 MB

    64-bit Install

    29 MB

    Solaris

    9 64mb

    Solaris

    8 64mb

    SPARC 64-

    bit

    Solaris

    10 64mb

    Mozilla

    1.4+, 1.7+

    64-bit Install (no Java Plug-in, Java WebStart

    support) 53 MB

    Solaris

    9 64mb

    Solaris

    8 64mb

    Solaris x86 32 bit and 64 bit

    Solaris x86

    32-bit

    Solaris

    10 64mb

    Mozilla

    1.4+, 1.7+

    32-bit Install

    53 MB

    Solaris

    9 64mb

    Solaris

    8 64mb

    Solaris x86

    64-bit Solaris

    10 64mb Mozilla

    1.4+, 1.7+

    64-bit Install (no Java Plug-in, Java WebStart

    support)

    53 MB

  • Windows system requirements

    Platform Version Memory Browsers Diskspace

    Windows (32-bit)

    Windows

    x86 Windows 7 128mb

    IE 8

    Firefox 2, Firefox 3.0.x, Firefox

    3.5.x,

    or Firefox 3.6

    98 MB

    Windows Vista 128mb

    IE 7 or IE 8

    Firefox 2, Firefox 3.0.x, Firefox

    3.5.x,

    or Firefox 3.6

    Windows Server

    2008 128mb

    IE 7 or IE 8

    Firefox 2, Firefox 3.0.x, Firefox

    3.5.x,

    or Firefox 3.6

    Windows XP 64mb

    IE 6 SP1, IE 7 or IE 8

    Firefox 2, Firefox 3.0.x, Firefox

    3.5.x,

    or Firefox 3.6

    Windows 2000 64mb IE 5.5 or IE 6

    Mozilla 1.4, Mozilla 1.7, Firefox 2

    Windows Server

    2003 128mb

    IE 7 or IE 8

    Firefox 2, Firefox 3.0.x, Firefox

    3.5.x,

    or Firefox 3.6

    Windows

    x64

    32-bit

    mode

    Windows 7 128mb

    IE 8

    Firefox 2, Firefox 3.0.x, Firefox

    3.5.x,

    or Firefox 3.6

    98 MB

    Windows Server

    2008 128mb

    IE 8

    Firefox 2, Firefox 3.0.x, Firefox

    3.5.x,

    or Firefox 3.6

    Windows Vista 128mb

    IE 7 or IE 8

    Firefox 2, Firefox 3.0.x, Firefox

    3.5.x,

    or Firefox 3.6

    Windows XP 128mb IE 6 SP1, IE 7 or IE 8

  • Firefox 2, Firefox 3.0.x, Firefox

    3.5.x,

    or Firefox 3.6

    Windows Server

    2003 128mb

    IE 7 or IE 8

    Firefox 2, Firefox 3.0.x, Firefox

    3.5.x,

    or Firefox 3.6

    Windows 64-bit

    Windows

    x64

    64-bit

    mode

    Windows 7 128mb

    64-bit OS, 32-bit

    Browsers: Firefox 2, Firefox 3.0.x,

    Firefox 3.5.x,

    or Firefox 3.6

    64-bit OS, 64-bit

    Browsers: IE 8

    98 MB

    Windows Server

    2008 128mb

    64-bit OS, 32-bit

    Browsers: Firefox 2, Firefox 3.0.x,

    Firefox 3.5.x,

    or Firefox 3.6

    64-bit OS, 64-bit

    Browsers: IE 8

    Windows Vista 128mb

    64-bit OS, 32-bit

    Browsers: IE 6 SP1, IE 7, or IE 8,

    Mozilla 1.4.X or 1.7,

    Netscape 7.x,

    Firefox 1.06 - 3.0.x,

    Firefox 3.5.x,

    or Firefox 3.6

    64-bit OS, 64-bit

    Browsers: IE 7 or IE 8

    Windows XP 128mb

    64-bit OS, 32-bit

    Browsers: IE 6 SP1, IE 7, or IE 8,

    Mozilla 1.4.X or 1.7,

    Netscape 7.x,

  • Firefox 1.06 - 3.0.x,

    Firefox 3.5.x,

    or Firefox 3.6

    64-bit OS, 64-bit

    Browsers: IE 7 or IE 8

    Windows 2003 128mb

    64-bit OS, 32-bit

    Browsers: IE 6 SP1, IE 7, or IE 8,

    Mozilla 1.4.X or 1.7,

    Netscape 7.x,

    Firefox 1.06 - 3.0.x,

    Firefox 3.5.x,

    or Firefox 3.6

    64-bit OS, 64-bit

    Browsers: IE 7 or IE 8

    Linux system requirements

    Platform Version Memory Browsers Diskspace

    LINUX 32-bit

    Intel IA32 Red Hat 9.0 64mb

    Mozilla 1.4+ 58 MB

    Red Hat 2.1, Red

    Hat Enterprise

    Linux 3.0, 4.0

    64mb

    Suse Enterprise

    Linux Server 8,

    Suse Enterprise

    Linux Server 9,

    Suse Enterprise

    Linux Server 10,

    Suse Enterprise

    Linux Desktop

    64mb

    Turbo Linux 10

    (ONLY Chinese 64mb

  • and Japanese

    Locale. No

    english.)

    LINUX 64-bit

    Linux 64-

    bit

    Suse Enterprise

    Linux Server 8,

    Suse Enterprise

    Linux Server 9,

    Suse Enterprise

    Linux Server 10,

    Suse Enterprise

    Linux Desktop

    64mb

    64bit OS,

    32bit JRE:

    Mozilla 1.4.x

    or 1.7+,

    Firefox 1.06+

    64bit OS,

    64bit JRE:

    N/A

    56 MB

    Red Hat

    Enterprise Linux

    3.0, 4.0

  • Java Console

    Module 01 - Java Introduction

    Last Update 09/10/2010 Revision 0

    1. Module Description

    Pada pembahasan ini, akan dibahas tentang pengenalan IDE Eclipse dan Netbeans,

    pengenalan java, sintaks dasar pada source code, dan meng-compile, run, serta debug

    program.

    2. Learning Outcomes

    Diharapkan trainee dapat mengerti tentang dasar-dasar dalam java dan dapat

    mengimplementasikannya dalam suatu program sederhana.

    3. Material

    a. IDE Eclipse

    Eclipse dibuat oleh sebuah komunitas open source dan digunakan sebagai IDE untuk

    java atau android sebagai sebuah platform untuk mengembangkan aplikasi Eclipse

    RCP, dll.

    Installation and start Eclipse Untuk memulai Eclipse, double click pada file eclipse.exe. Sistem akan

    mengingatkan untuk tempat workspace. Workspace adalah tempat penyimpanan

    project Java yang dibuat.

  • Eclipse akan berjalan dan menunjukkan halaman welcome. Tutup halaman

    welcome dengan menekan tanda X di sebelah welcome.

  • Create Project File New JPA Project. Masukkan nama untuk project yang ingin dibuat.

    Tekan finish untuk membuat project.

  • Create Package Dari folder src, klik kanan lalu pilih New Package.

    Create Java Class Klik kanan pada package yang dibuat dan pilih New Class. Masukkan nama Class yang ingin dibuat lalu di-Finish.

  • Run Project in Eclipse Klik kanan pada Java Class yang ingin dijalankan. Pilih Run As Java Application

    (Alt + Shift + X, J).

    Create Jar File Pilih Project yang ada, klik kanan dan pilih Export.

  • Beri nama pada JAR file, kemudian klik Finish.

    b. IDE Netbeans

    Netbeans IDE adalah sebuah open source yang terintegrasi dengan pengembangan

    environment. Netbeans IDE mendukung pengembangan semua tipe aplikasi Java

    (Java SE, JavaFX, Java ME, web, EJB, dan aplikasi mobile). Semua fungsi IDE

    disediakan oleh modul.

    Sebuah modul adalah suatu arsip Java (Java archive) yang memuat kelas-kelas Java

    untuk berinteraksi dengan NetBeans Open API dan file manifestasi yang

    mengidentifikasinya sebagai modul.

    Pengembangan NetBeans diawali dari Xelfi, sebuah proyek trainee tahun 1997 di

    bawah bimbingan Fakultas Matematika dan Fisika Universitas Charles, Praha. Sebuah

    perusahaan kemudian dibentuk untuk proyek tersebut dan menghasilkan versi

    komersial NetBeans IDE hingga kemudian dibeli oleh Sun Microsystem pada tahun

    1999. Sun kemudian menjadikan NetBeans open source pada bulan Juni tahun 2000.

    Sejak itu komunitas NetBeans terus berkembang.

  • Create New Project File New Project.

    Beri nama untuk project. Klik Finish.

  • Contoh penggalan kodingan :

    Klik F6 untuk menjalankan project

    c. Pengenalan Java

    Sejarah singkat java

    Java mulanya diciptakan sebagai programming tool untuk GreenProject oleh Patrick

    Naughton, Mike Sheridan, dan James Gosling dari Sun pada tahun 1991. Green

    Project terdiri dari 13 orang yang merupakan tim dari sun untuk mengantisipasi dan

    merencanakan next wave dalam dunia komputer. Fokusnya adalah pada digitally

    controlled consumer devices dan komputer.

    Setelah 18 bulan bekerja, pada tahun 1992, mereka mengeluarkan suatu Set-Top TV

    interaktif dengan touchscreen yang disebut *7 (star seven). Pada *7 ini juga

    pertama kali dikenalan duke (maskot java).

    *7 memiliki cangkupan platform dan device lebih luas dibandingkan product serupa

    dikarenakan *7 dikerjakan menggunakan suatu processor-independent language

    yang diciptakan oleh James Gosling. Gosling menamakan bahasa ini dengan Oak,

    yang berasal dari pohon Oak yang berada di luar jendela kantornya. Karena nama

    Oak telah digunakan sebagai nama product lain, maka Oak pun berganti nama

    menjadi Java.

    Nama java sendiri tidak terlalu jelas berasal darimana. Beberapa

    sumber mengatakan Java berasal dari kopi jawa tetapi versi cerita

  • Physical Machine

    Java Virtual

    Machine

    yang berkaitan juga beragam. Ada yang mengatakan kopi tumbuk jawa adalah kopi

    kesukaan James Gosling. Ada jg mengatakan nama Java didapat pada saat mereka

    sedang ngopi di suatu cafe. Versi hancurnya, diceritakan para pengembangan Java

    bertualang di pulau Jawa dan di akhir petualangannya mereka minum kopi (beneran

    nih??).

    Sumber lain mengatakan nama Java didapat dari daftar nama-nama random, dan

    nama Java dipilih karena kedengaran keren.

    Spekulasi lain mengatakan bahwa nama java didapat dari inisial beberapa individu

    yang berperan dalam project yaitu James gosling, Arthur Van hoff, Andy

    bechtolsheim.

    Pada perkembangan selanjutnya GreenProject berubah menjadi FirstPerson dan

    personilnya pun bertambah menjadi 70 orang. FirstPerson mulai memasarkan

    produk sejenis dengan *7 tetapi mereka mengalami kegagalan.

    Pada saat itu internet mulai berkembang, melihat adanya kecocokan dengan visi

    java, kemudian mereka melanjutkan project dengan membuat browser berdasarkan

    browser mosaic (web browser pertama) yang mereka namakan WebRunner.

    WebRunner sendiri merupakan web browser pertama yang dapat menampilkan

    animasi (applet). Kemudian WebRunner berubah nama menjadi HotJava TM.

    Setelah kesuksesan HotJava TM, pada pertengahan tahun 1995, Netscape

    mengumumkan akan menggunakan Java di dalam browser mereka.

    Java menjadi semacam standar di internet dan terus berkembangan sampai

    sekarang.

    Java Virtual Machine (JVM) dan ByteCode

    Kebanyakan programming language meng-compile source code menjadi bahasa

    mesin yang dieksekusi diatas arsitektur microprosesor atau sistem operasi tertentu.

    Java mengubah source code menjadi bytecode dan

    bytecode dieksekusi diatas suatu arsitektur

    microprocessor khusus. Dan Java Virtual Machine

    (JVM) berguna untuk menyediakan arsitektur ini

    dalam processor di CPU kita (a machine within a

    machine). Bytecode yang tercipta ini nantinya akan

  • berbentuk sebuah file yang berekstensi .class.

    Ini sebabnya java dapat dijalankan di berbagai platform tanpa harus memperhatikan

    spesifikasi hardware tertentu. Jika ada JVM maka bytecode dapat dijalankan dan

    dieksekusi layaknya program biasa.

    Jadi Java Virtual Machine bertanggung jawab untuk menginterpretasikan bytecode,

    dan menerjemahkannya menjadi action atau system call.

    Java Runtime Environment

    (JRE)

    JAVA API CLASESS

    JAVA VIRTUAL MACHINE

    OPERATING SYSTEM

    HARDWARE

  • Simple Program

    Beberapa hal yang perlu diperhatikan adalah:

    1. Nama file source code yang dibuat harus memiliki nama yang smaa dengan

    nama kelas di source code it. Bila dalam satu source code terdapat banyak

    class maka, yang diutamakan adalah class yang memiliki access public, dan

    di tiap source code hanya bisa terdapat satu buah public class. Jadi dalam

    kasus ini, simpan file dengan nama Simple.java sesuai dengan nama public

    class-nya. (Karena java case-sensitive jadi kita harus memperhatikan huruf

    kapital pada penamaan file).

    2. Sama seperti pada C/C++, eksekusi program pertama kali dimulai di fungsi

    main(), tetapi fungsi main() di java harus ditambah modifier public, modifier

    static dan mempunyai passing parameter berupa array of String. Akan

    dijelaskan lebih lanjut.

    3. System.out.println() adalah standar output di java. Akan dijelaskan lebih

    lanjut.

    Compile dan Running Java

    Untuk dapat membuat program berbasis java, kita harus sudah menginstall Java

    Development Kit (JDK) di komputer kita. Di dalam JDK inilah terdapat berbagai tools

    yang berhubungan dengan pembuatan program berbasis java. Selain itu bila kita

    menginstall JDK ini, maka secara otomatis Java Runtime Environment juga akan

    terinstall, sehingga kita bisa menjalankan berbagai program berbasis java.

    Untuk mengcompile source code yang telah kita buat, kita dapat menggunakan tool

    yang telah disediakan oleh JDK yaitu javac.

    Perintahnya untuk menjalankannya adalah javac [namaFile]

    Contoh : javac Simple.java

  • Setelah dicompile akan tercipta file baru berekstensi .class (bytecode).

    Sedang untuk menjalankannya kita menggunakan java [namaFile].

    Contoh : java Simple

    Bila kita menggunakan textpad sebagai editor, kita dapat mengatur konfigurasi

    textpad sehingga kita dapat mengompile dan running java melalui textpad.

  • Caranya, dari menu Configure, pilih Preferences. Lalu di kolom sebelah kiri, pilih

    menu Tools. Setelah itu, bila JDK telah terinstall dengan baik di komputer anda

    maka anda dapat menambahkan menu Java SDK Commands di komputer anda.

  • Selanjutnya kita cukup menggunakan Ctrl + 1 untuk compile dan Ctrl + 2 untuk

    running.

    CLASSPATH

    Classpath adalah path dimana JRE (Java runtime environment) akan mencari class

    dan file lainnya.

    Berikut adalah beberapa cara untuk menambahkan classpath:

    1. Dengan menggunakan option classpath atau cp

    C:> sdkTool -classpath classpath1;classpath2...

    2. Dengan mengupdate variable CLASSPATH

    C:> set CLASSPATH=classpath1;classpath2..

  • JDK Tool

    Berikut ini adalah daftar beberapa daftar JDK tool yang sering dipakai:

    Tool Deskripsi

    javac Java Compiler

    Java Java Launcher

    javadoc API documentation generator.

    appletviewer Run and debug applets without a web

    browser.

    javap Class file disassembler

    Jar Create and manage Java Archive (JAR)

    files.

    Comment di java

    Yang dimasksud dengan comment di sini adalah codingan atau tulisan dalam file

    source code yang nantinya akan diabaikan dan tidak dijalankan.

    Java mengenali 3 jenis comment:

    1. Single Line comment

    Diawali dengan //

    2. Multi Line comment

    Diawali dengan /* dan diakhir oleh */

    3. Documentation comment

    Diawali dengan /** dan diakhir oleh */

    Comment ini digunakan untuk membuat API dengan menggunakan

    javadoc.

  • Variable

    Sama seperti C/C++, java adalah strongly typed language, jadi semua variable

    harus dideklarasi terlebih dahulu sebelum digunakan.

    int n = 1;

    Tipe data di Java dikategorikan menjadi 2 kategori yaitu:

    1. Primitive Types.

    boolean, byte, char, short, int, long, float, double

    2. References Types

    Objek atau instance dari suatu kelas.

  • Berikut adalah tipe data primitif yang bisa kita digunakan di Java:

    Data

    type

    bi

    t Value by default keterangan

    boolean true / false false

    byte 8 -128 to +127 0

    short 16 -32,769 to 32,767 0

    int 32 -2,147,483,648 to +2,147,483,647 0

    long 64 -9,223,372,036,854,775,808 to

    +9,223,372,036,854,770,000 0L

    char 16 '\u0000' to '\uFFFF' '\u0000' ISO Unicode

    Character Set

    float 32 0.0f

    double 64 0.0d

    Aturan Penamaan Variable:

    1. Case sensitive

    2. Diawali oleh huruf, $ (dollar sign), atau _ (underscore), tapi variable yang diawali

    dengan $ dan _ jarang digunakan.

    3. Berikutnya dapat menggunakan huruf, angka, $, atau _ (underscore).

    4. Tidak boleh ada white space (spasi, tab, dll).

    5. Tidak boleh menggunakan keyword sebagai nama variable.

    Berikut adalah daftar keyword di java:

    abstract continue for New Switch

    assert default goto Package Synchronized

    boolean do if private This

    break double implements protected Throw

    byte else import public Throws

    case enum instanceof return Transient

    catch extends int short Try

    char final interface static Void

    class finally long strictfp Volatile

    const float native super While

    6. Aturan di bawah ini tidak akan menyebabkan error atau warning, tetapi lebih

    merupakan kebiasaan yang banyak dipakai:

  • - Jika nama variable mengandung 1 kata, gunakan huruf kecil.

    Cth: jumlah, dll.

    - Jika mengandung 2 kata, maka huruf pertama dari kata kedua dan berikutnya

    huruf kapital.

    Cth: jumlahDicut, jumlahAsistenDiterima, dll.

    - Jika variable tersebut konstanta, gunakan huruf kapital.

    Cth: THRESHOLD, SPEED, dll.

    Literal

    Literal adalah bagian dari code yang merepresentasikan suatu nilai (fixed

    value).

    Literal yang digunakan pada Java kurang lebih hampir sama pada C++.

    Cth:

    boolean result = true;

    char capitalC = 'C';

    byte b = 100;

    short s = 10000;

    int i = 100000;

    Untuk tipe data byte, short, int, dan long dapat berupa decimal, octal dan

    hexadecimal:

    Prefix 0 menandakan octal.

    Prifix 0x menandakan hexadecimal.

    Contoh:

    int decVal = 26; // The number 26, in decimal

    int octVal = 032; // The number 26, in octal

    int hexVal = 0x1a; // The number 26, in hexadecimal

    Untuk tipe data float dan double dapat menggunakan E atau e (untuk

    scientific notation), F atau f (untuk float) dan D atau d (untuk double).

    Contoh:

    double d1 = 123.4;

    double d2 = 1.234e2; /* same value as d1, but in

    scientific notation */

    float f1 = 123.4f;

  • Gunakan 'single quotes' untuk char dan "double quotes" untuk String.

    Berikutnya, ada beberapa karakter di java yang dalam penggunaannya di

    dalam String harus menggunakan tambahan karakter escape sequence

    (\)

    Escape sequence di java:

    \b backspace

    \t tab

    \n line feed

    \f form feed

    \r carriage return

    \" double quote

    \' single quote

    \\ backslash

    Untuk references data type, dapat menggunakan null biasanya untuk

    menandakan bahwa object belum digunakan.

  • Java Console

    Module 02 - Tipe Data & Input Output Operation

    Last Update 09/10/2010 Revision 0

    1. Module Description

    Pada pembahasan ini, akan dibahas tentang Tipe data & input output operation pada

    Java.

    2. Learning Outcomes

    Diharapkan trainee dapat mengerti tentang penggunaan tipe data & input output pada

    Java.

    3. Material

    a. Tipe data primitif: boolean, byte, char, int, long, float, dan double

    Variabel adalah suatu nama yang digunakan untuk menyimpan suatu nilai dari tipe

    data tertentu. Nilai dari suatu variabel disebut literal. Sebelum digunakan variabel

    harus dideklarasikan. Deklarasi disesuaikan dengan tipe data yang ingin

    direpresentasikan.

    Deklarasi variabel dan konstanta membutuhkan tipe data tertentu. Java memiliki

    delapan tipe data primitif, sedangkan untuk tipe data kelas jumlahnya tak terhingga

    (karena bisa kita definisikan sendiri). Delapan tipe data primitif ini sangat fundamental karena ia sebagai dasar untuk membangun tipe data kelas.

    Kedelapan tipe data primitif tersebut bisa digolongkan kedalam tipe data numerik

    (untuk mengolah nilai-nilai yang berupa angka), tipe data boolean (berisi nilai benar dan salah 0 dan 1), dan tipe data karakter huruf.

    Tipe data numerik dibagi menjadi dua, yakni tipe data untuk menyimpan bilangan

    bulat dan tipe data untuk menyimpan bilangan pecahan.

    Berikut tipe data primitif (dasar) dalam java :

    Numerik Bilangan Bulat :

    byte (panjangnya 1 byte = 8 bit), menampung nilai dari -128 sd 127. Memiliki

    nilai default 0 > artinya jika tidak diinisialisasi (diberi nilai awal) variabel yang menggunakan tipe data ini bernilai 0.

    short (panjangnya 2 byte = 16 bit), menampung nilai dari -32,768 sd 32,767. Nilai default juga 0.

  • int (panjangnya 4 byte = 32 bit), menampung nilai dari -2,147,483,648 sd 2,147,483,647. Nilai default 0.

    long (panjangnya 8 byte = 64 bit), menampung nilai dari -9,223,372,036,854,775,808 sd 9,223,372,036,854,775,807. Nilai default 0.

    Numerik Bilangan pecahan :

    float (panjangnya 4 byte), menampung nilai dari -3.4E38 (-3.4 * 10 pangkat 38)

    sd +3.4E38. Memiliki presisi angka sampai 7 digit (0.xxxxxxx)

    double (panjangnya 8 byte), menampung nilai dari -1.7E308 (-1.7 * 10 pangkat

    308) sd +1.7E308. Memiliki presisi angka sampai 17 digit (0.xxxxxxxxxxxxxxxxx)

    char : tipe data untuk menampung nilai dari satu karakter (bisa berupa huruf atau angka).

    boolean : tipe data untuk menampung nilai benar (true) atau salah (false).

    Data

    type bit Value by default keterangan

    boolean true / false false

    byte 8 -128 to +127 0

    short 16 -32,769 to 32,767 0

    int 32 -2,147,483,648 to

    +2,147,483,647 0

    long 64 -9,223,372,036,854,775,808 to

    +9,223,372,036,854,770,000 0L

    char 16 '\u0000' to '\uFFFF' '\u0000' ISO Unicode

    Character Set

    float 32 0.0f

    double 64 0.0d

    b. Tipe data abstract : String

    String merupakan untaian huruf dan angka yang tersusun menjadi satu kalimat.

    Dalam bahasa java, string bukan merupakan tipe primitif, tetapi merupakan kelas.

    String pada java tidak disimpan dalam bentuk array seperti pada C. Java

    menyediakan beberapa metoda untuk melakukan penggabungan, modifikasi, atau

    perbandingan. String ditulis di antara dua tanda petik ganda seperti contoh berikut.

    String text = Adidas x Nike ;

    Untuk mengkonversi string menjadi angka dapat menggunakan

    Integer.parseInt(s) untuk int dan Double.parseDouble(s) untuk double.

  • String a = "13";

    int angka = Integer.parseInt(a);

    c. Aturan Penamaan Variabel

    7. Case sensitive

    8. Diawali oleh huruf, $ (dollar sign), atau _ (underscore), tapi variable yang diawali

    dengan $ dan _ jarang digunakan.

    9. Berikutnya dapat menggunakan huruf, angka, $, atau _ (underscore).

    10. Tidak boleh ada white space (spasi, tab, dll).

    11. Tidak boleh menggunakan keyword sebagai nama variable.

    Berikut adalah daftar keyword di java:

    abstract continue for New Switch

    assert default goto Package Synchronized

    boolean do if private This

    break double implements protected Throw

    byte else import public Throws

    case enum instanceof return Transient

    catch extends int short Try

    char final interface static Void

    class finally long strictfp Volatile

    const float native super While

    12. Aturan di bawah ini tidak akan menyebabkan error atau warning, tetapi lebih

    merupakan kebiasaan yang banyak dipakai:

    - Jika nama variable mengandung 1 kata, gunakan huruf kecil.

    Cth: jumlah, dll.

    - Jika mengandung 2 kata, maka huruf pertama dari kata kedua dan berikutnya

    huruf kapital.

    Cth: jumlahDicut, jumlahAsistenDiterima, dll.

    - Jika variable tersebut konstanta, gunakan huruf kapital.

    Cth: THRESHOLD, SPEED, dll.

    d. Literal

    Literal adalah bagian dari code yang merepresentasikan suatu nilai (fixed value).

    Literal yang digunakan pada Java kurang lebih hampir sama pada C++.

  • Cth:

    boolean result = true;

    char capitalC = 'C';

    byte b = 100;

    short s = 10000;

    int i = 100000;

    Untuk tipe data byte, short, int, dan long dapat berupa decimal, octal dan

    hexadecimal:

    Prefix 0 menandakan octal.

    Prifix 0x menandakan hexadecimal.

    Contoh:

    int decVal = 26; // The number 26, in decimal

    int octVal = 032; // The number 26, in octal

    int hexVal = 0x1a; // The number 26, in hexadecimal

    Untuk tipe data float dan double dapat menggunakan E atau e (untuk scientific

    notation), F atau f (untuk float) dan D atau d (untuk double).

    Contoh:

    double d1 = 123.4;

    double d2 = 1.234e2; /* same value as d1, but in

    scientific notation */

    float f1 = 123.4f;

    Gunakan 'single quotes' untuk char dan "double quotes" untuk String.

    Escape sequence di java:

    \b backspace

    \t tab

    \n line feed

    \f form feed

    \r carriage return

    \" double quote

  • \' single quote

    \\ backslash

    Untuk references data type, dapat menggunakan null biasanya untuk menandakan bahwa

    object belum digunakan.

    e. Standart I/O Java

    Untuk program yang berjalan di command line, input output dapat dilakukan dengan

    2 cara yaitu dengan menggunakan Standard Stream yang sudah ada atau dengan

    menggunakan Console.

    Standart Stream

    Standard stream sudah didefinisi secara otomatis dan tidak perlu dibuka.

    Ada 3 standard I/O di java:

    1. System.out (standard output stream)

    Berkorespodensi dengan display atau output device lainnya yang telah

    ditentukan oleh host environment.

    2. System.in (standard input stream)

    Berkorespodensi dengan keyboard atau input device lainnya yang telah

    ditentukan oleh host environment.

    3. System.err (standard error stream)

    Secara umum ini adalah output stream untuk menampilkan error atau

    informasi lain.

    System.out dan System.err merupakan objek dari PrintStream.

    System.out.print("text");

    System.out.println("text");

    Untuk hasil output yang lebih komplek, kita bisa menggunakan printf atau

    format.

    System.out.format("integer %d float %f string %s",

    varInt,varFloat,varString);

    Karakter khusus seperti %d yang digunakan untuk format variable, kita

    menyebutnya sebagai format specifier.

    Format specifier dimulai dengan persen (%) dan diakhir oleh converter.

  • Berikut adalah daftar converter yang sering digunakan.

    'b',

    'B'

    boolean

    's',

    'S'

    string

    'c',

    'C'

    unicode character

    'd' decimal

    'o' octal

    'x',

    'X'

    hexadecimal

    'e',

    'E'

    scientific notation

    'f' floating-point

    '%' %

    'n' new line

    Converter juga dapat ditambah flag atau specifier tambahan.

    08 panjang 8 karakter, dan sisanya

    diisi dengan 0

    + menampilkan

    - rata kiri

    .3 3 angka dibelakang koma

    10.3 10 karakter, rata kanan, dan 3

    angka dibelakang koma

    Contoh:

    long n = 461012;

  • System.out.format("%d%n", n); // --> "461012"

    System.out.format("%08d%n", n); // --> "00461012"

    System.out.format("%+8d%n", n); // --> " +461012"

    System.out.format("%,8d%n", n); // --> " 461,012"

    System.out.format("%+,8d%n%n", n); // --> "+461,012"

    double pi = Math.PI;

    System.out.format("%f%n", pi); // --> "3.141593"

    System.out.format("%.3f%n", pi); // --> "3.142"

    System.out.format("%10.3f%n", pi); // --> " 3.142"

    System.out.format("%-10.3f%n", pi); // --> "3.142"

    Untuk help bisa dilihat java API doc di java.util.Formatter.

    System.in merupakan objek dari InputStream. InputStream tidak menyediakan

    fitur untuk mengelola karakter sehingga kita harus menggunakan kelas lain

    seperti Scanner atau InputStreamReader untuk dapat menggunakan System.in.

    Scanner scan = new Scanner(System.in);

    int input = scan.nextInt();

    Karena keterbatasan method dari InputStreamReader, kita menggunakan

    BufferedReader untuk memudahkan kita dalam coding.

    InputStreamReader reader =

    new InputStreamReader(System.in);

    BufferedReader br = new BufferedReader(reader);

    String input = br.readLine();

    Jangan lupa untuk mengimport java.io.InputStreamReader,

    java.io.BufferedReader, atau java.util.Scanner. (package akan dijelaskan

    dilanjut).

    Console

    Selain menggunakan standard stream, kita dapat menggunakan console untuk

    output input.

    Console console = System.console();

    Kelas console berada di package java.io.

    console menyediakan fungsi format dan printf untuk output sama seperti pada

    System.out.

    Console console = System.console();

  • console.format("kucing punya %d nyawa",9);

    Untuk input dapat menggunakan readline().

    Console console = System.console();

    String input = console.readLine();

    Pada console terdapat fungsi readPassword untuk menerima inputan seperti

    password. readPassword sama seperti println pada System.out tetapi tidak

    menampilkan apa yang kita ketik di layar dan mengembalikan array karakter

    sehingga tidak dapat di overwrite.

    Console console = System.console();

    String password = console.readPassword();

    f. Type Casting

    Guna dari type casting adalah dimana kita ingin mengubah suatu tipe data menjadi

    tipe data lainnya.

    public class Test{

    public static void main(String args[])

    {

    float number1 = 3.33f;

    int number2 = (int)number1;

    System.out.println(number1);

    System.out.println(number2);

    }

    }

    Dari code diatas disimpulkan tipe data float number1 ditype cast menjadi tipe data

    primitif int.

    Type cast tidak hanya berlaku untuk tipe data primitif. Kita juga bisa melakukan type

    cast pada object.

  • Java Console

    Module 03 Arithmetic Operation

    Last Update 09/10/2010 Revision 0

    1. Module Description

    Pada pembahasan ini, akan dibahas tentang Operasi matematika dalam Java.

    2. Learning Outcomes

    Diharapkan trainee dapat mengerti tentang penggunaan operasi matematika pada Java.

    3. Material

    a. Arithmetic Operation

    Arithmetic Operation digunakan untuk melakukan operasi matematika, seperti

    penambahan, pengurangan, pembagian, dan modulus (atau sisa pembagian),

    namun bisa juga digunakan untuk menggabungkan string . Contoh penggunaan:

    Simbol Nama Operator Contoh

    + Penjumlahan a = b + c

    - Pengurangan a = b - c

    * Perkalian a = b * c

    / Pembagian a = b / c

    % Modulus a = b % c

    + Penggabungan String a = Hello + World

    Contoh program :

    import java.util.*;

    public class Test{

    public static void main(String args[])

    {

    int a,b;

    Scanner scan = new Scanner(System.in);

    System.out.print("Input Nilai a ");

    a = scan.nextInt();

  • System.out.print("Input Nilai b ");

    b = scan.nextInt();

    System.out.println("a + b = "+(a+b));

    System.out.println("a - b = "+(a-b));

    System.out.println("a * b = "+(a*b));

    System.out.println("a / b = "+(a/b));

    System.out.println("a & b = "+(a%b));

    System.out.println("Penggabungan String a & b = "+a+b);

    }

    }

    b. Shorthand operator

    Shorthand operator penulisan operator matematika yang disingkat. Digunakan untuk

    melakukan increment atau decrement.

    Simbol Fungsi Contoh

    -- Mengurangi Nilai

    operator yang tersimpan

    pada memori yang akan

    berubah pada eksekusi

    berikutnya

    i--

    Mengurangi nilai

    operator secara langsung

    tanpa harus menunggu

    eksekusi berikutnya

    --i

    ++ Menambah Nilai operator

    yang tersimpan pada

    memori yang akan berubah

    pada eksekusi berikutnya

    i++

    Menambah nilai operator

    secara langsung tanpa

    harus menunggu eksekusi

    ++i

  • berikutnya

  • Java Console

    Module 04 - Selection Controlling Structure

    Last Update Revision

    1. Module Description

    Pada pembahasan topik ini, akan dibahas tentang definisi dari seleksi dan cara

    penggunaan seleksi untuk bahasa pemrograman java.

    2. Learning Outcomes

    Trainee dapat menerapkan penggunaan seleksi dalam bahasa pemrograman Java

    3. Material a. Definisi

    Seleksi digunakan dalam suatu bahasa pemrograman untuk mengecek suatu kondisi

    logika yang diinginkan. Di dalam bahasa java terdapat 3 jenis seleksi yaitu

    menggunakan if-else, switch-case, dan menggunakan ternary.

    b. if-else statement:

    class IfElseDemo{

    public static void main(String[] args){

    //memberikan nilai awal untuk variable testscore

    int testscore = 76;

    char grade;

    //jika testscore lebih besar atau sama dengan 75

    //maka grade menjadi A

    if (testscore >=85){

    grade = 'A';

    }

    //jika kondisi diatas tidak benar, akan dijalankan

    //seleksi berikutnya, dengan prinsip yang sama

    else if (testscore >=75){

    grade = 'B';

    }

    //begitu pula dengan yang lainnya

    else if (testscore >=65){

    grade = 'C';

    }

    else if (testscore >=55){

    grade = 'D';

    }

    else {

    grade = 'E';

  • }

    //print hasil sesuai dengan grade yang diperoleh

    System.out.println("Grade = " + grade);

    }

    }

    Baris coding di atas ingin mengecek apakah grade yang didapatkan jika score yang

    dimasukkan adalah 76, dengan melakukan pengecekan logika di setiap barisnya.

    Outputnya adalah sebagai berikut.

    c. switch statement:

    Hanya bisa digunakan untuk byte, short, char, dan int dan enum (enum akan

    dijelaskan lebih lanjut).

    class SwitchDemo{

    public static void main(String[] args){

    int angka = 1;

    //memasukkan variable ke dalam switch, nantinya

    variable

    //ini yang akan dicek di baris berikutnya

    switch(angka){

    //mengecek variable yang sudah dimasukkan

    //jika variable tadi (angka) = 0, maka

    dijalankan

    //seleksi ini

    case 0: System.out.println ("nol"); break;

    //jika 1

    case 1: System.out.println ("satu"); break;

    //begitu juga seterusnya

  • case 2: System.out.println ("dua"); break;

    case 3: System.out.println ("tiga"); break;

    //akan masuk ke default: jika tidak ada yang

    memenuhi

    //kondisi-kondisi dari case yang diberikan

    sebelumnya

    default: System.out.println("bukan 0123");

    }

    }

    }

    Outputnya adalah sebagai berikut.

    d. Ternary statement:

    Walaupun terlihat membingungkan saat pertama kali melihatnya, operator ternary

    memberikan kita keuntungan dalam membuat suatu perintah seleksi dengan lebih

    sedikit baris coding.

    Contoh seleksi if else sebelumnya yang dirubah menjadi ternary.

    class TernaryDemo{

    public static void main(String[] args){

    int score = 76;

    char grade;

    //cara penulisannya

    //(logika) ? (kondisi jika true) : (kondisi jika

    false)

    grade = score >= 85 ? 'A' :

    (score >=75 ? 'B' :

    (score >=65 ? 'C' :

    (score >=55 ? 'D' : 'E')));

  • System.out.println("Grade = " + grade);

    }

    }

    Outputnya adalah sebagai berikut.

    e. String comparison

    Tipe data String dapat dibandingkan dengan berbagai cara contohnya dengan

    menggunakan if-else statement di antara lain adalah sebagai berikut.

    String kata = "Hello";

    //untuk membandingkan isi text huruf besar dan

    //kecil diperhatikan (case sensitive)

    //mengembalikan true/false

    if (kata.equals("hello")){

    System.out.println("Kata adalah hello");

    }

    else{

    System.out.println("Kata bukan hello");

    }

    //untuk membandingkan isi text huruf besar dan

    //kecil tidak diperhatikan (incase sensitive)

    if (kata.equalsIgnoreCase("hello")){

    System.out.println("Kata adalah hello");

    }

    else{

    System.out.println("Kata bukan hello");

    }

    //bisa juga dengan menggunakan compareTo

    //tetapi yang dikembalikan nilainya adalah berupa

  • //selisih dari kata yang ada

    if(kata.compareTo("Hello")==0){

    System.out.println("Kata adalah hello");

    }

    else{

    System.out.println("Kata bukan hello");

    }

    //untuk membandingkan panjang dari string

    if (kata.length()

  • Java Console

    Module 05 - Loop Controlling Structure and Jump Operation

    Last Update 09/10/2010 Revision 0

    1. Module Description

    Pada pembahasan topik ini, akan dibahas tentang definisi dari perulangan, cara

    penggunaan, dan fungsi dari perulangan di bahasa pemrograman java.

    2. Learning Outcomes

    Trainee dapat menggunakan perulangan dalam bahasa pemrograman java.

    3. Material

    a. Maksud dan tujuan

    Loop atau perulangan adalah suatu bentuk kegiatan mengulang suatu statement

    sampai batas yang diinginkan. Dalam pemograman Loop atau perulangan sangat

    berguna sekali. Kegunaan sederhana dalam perulangan terlukis seperti ini: Jika kita

    ingin menuliskan kata saya ganteng sebanyak seribu kali maka kita harus membuat seribu baris kata saya ganteng dalam kode pemrogaman kita. Tapi dengan adanya perulangan maka kita hanya cukup menuliskan 5 sampai 7 baris

    kode saja. Dalam dunia nyata perulangan sangat sering dipakai dan membantu

    sekali.

    Ada beberapa hal yang bisa kita simpulkan dan kita catat tentang looping.

    1. Dalam perulangan harus ada variable kontrol, dimana variable tersebut yang

    bertugas mengontrol perulangan hingga batas apa atau berapa perulangan bisa

    dilakukan.

    2. Variable kontrol harus bersifat incremental atau juga bersifat dapat

    dimodifikasi sehingga perulangan dapat berjalan dengan semestinya.

    3. Incremental atau modifikasi variabel kontrol berada dalam lingkup

    perulangan.

    b. Loop Controlling Structure

    Dalam perulangan terdapat tiga tipe umum, yaitu sebagai berikut.

    1. while statement:

    class WhileDemo{

    public static void main(String[] args){

    int count = 1;

    //kondisi jika benar, akan dijalankan looping

    ini

    while (count

  • //agar tidak terjadi looping forever

    count++;

    }

    }

    }

    Secara umum jalannya program dengan while adalah sebagai berikut

    --NB: T=Tidak/False, Y=Ya/True--

    Outputnya dari baris code di atas adalah sebagai berikut.

  • Untuk infinite loop kita dapat menggunakan while seperti di bawah ini:

    while (true){

    //your code goes here

    }

    2. do-while statement:

    class DoWhileDemo{

    public static void main(String[] args){

    int count = 1;

    //menjalankan dulu suatu perintah

    do

    {

    //statement di dalam perulangan ini

    System.out.println("Count is "+count);

    //menambahkan nilai count, di akhir

    statement

    //agar tidak terjadi looping forever

    count++;

    }while (count

  • --NB: T=Tidak/False, Y=Ya/True

    Outputnya dari baris code di atas adalah sebagai berikut

    3. for statement:

    mempunyai bentuk umum:

  • for (initialization; termination; increment){

    statement(s)

    }

    o initialization : inisialisasi saat loop dimulai pertama kali dan hanya dilakukan

    sekali.

    o termination : jika bernilai false, loop akan berhenti.

    o increment : dijalankan setiap kali perulangan/iterasi. Contoh:

    class ForDemo{

    public static void main(String[] args){

    for(int i=0;i

  • c. Branching Statement

    1. break statement digunakan untuk keluar dari looping.

    for(int i = 0; i < 13; i ++){

    //jika i sudah mencapai 7, maka perulangan akan

    berhenti

    //hasil yang tercetak nantinya adalah 0, 1, 2, 3,

    4, 5, 6

    if(i == 7) break;

    System.out.println(i);

    }

    Outputnya adalah sebagai berikut.

    2. continue statement digunakan untuk melanjutkan ke iterasi berikutnya.

    for(int i = 0; i < 13; i ++){

  • //jika i sudah mencapai 7, maka perulangan akan

    dilanjutkan

    //tanpa mencetak angka 7

    //hasil yang tercetak nantinya adalah

    //0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12

    if(i == 7) continue;

    System.out.println(i);

    }

    System.out.println("finish");

    Outputnya adalah sebagai berikut.

    Kita juga dapat menambahkan label sebelum while, do-while atau for statement

    block dan menambahkan label tersebut di belakang break atau continue, kita

    menyebutnya break dengan label. Biasanya digunakan untuk keluar dari

    nested loop.

    loop1: //label

    for(int i = 0; i < 10; i++){

    for(int j = 0; j < 10; j++){

    // keluar dari looping yang ber-label loop1:

    if(i == 5 && j==4) break loop1;

    System.out.println(i+" "+j);

    }

    }

    System.out.println("finish");

    Outputnya adalah sebagai berikut.

  • 3. return statement

    Digunakan untuk keluar dari suatu method. Kita dapat menambahkan nilai di

    belakang return jika kita ingin mengembalikan suatu nilai sesuai dengan return

    type dari method tersebut.

    void method(){

    return;

    }

    int method2(){

    return 1;

    }

    d. Jump Operation

    1. try-catch statement digunakan untuk melakukan exception handling.

    Misalnya kita ingin membuat suatu perintah sederhana untuk melakukan inputan,

    maka perintahnya adalah sebagai berikut

    import java.util.Scanner;

    public class TryCatchDemo {

    public static void main(String[] args) {

    int angka;

    Scanner in = new Scanner(System.in);

    System.out.println("Masukkan inputan : ");

    angka = in.nextInt();

    in.nextLine();

    }

    }

  • Namun masih terdapat masalah dari baris code di atas, dimana jika user

    memasukkan inputan bukan berupa angka, akan terjadi error (exception), oleh

    karena itu maka dibutuhkan suatu exception handling.

    Code sebelumnya direvisi menjadi seperti ini

    public class TryCatchDemo {

    public static void main(String[] args) {

    int angka;

    try{

    Scanner in = new Scanner(System.in);

    System.out.println("Masukkan inputan : ");

    angka = in.nextInt();

    in.nextLine();

    }

    catch (Exception e){

    //saat error maka akan masuk ke sini, kita

    tangani

    //misalnya kita beri pesan peringatan bahwa

    inputan

    //error

    System.out.println("Inputan Salah");

    }

    }

    }

  • Java Console

    Module 06 - Array

    Last Update 09/10/2010 Revision 0

    1. Module Description

    Pada pembahasan ini, akan dibahas tentang definisi, penggunaan dan cara pemakaian

    dari array dalam bahasa pemrograman java.

    2. Learning Outcomes

    Diharapkan trainee dapat mengerti tentang penggunaan dan cara pemakaian array dan

    dapat mengimplementasikannya dalam suatu program sederhana.

    3. Material

    a. Definisi Array

    Array adalah struktur data yang terdiri dari item berurutan, dimana semua item-nya

    bertipe datanya sama. Dalam java, item dalam array selalu dinomori dari nol hingga

    nilai maksimum tertentu, yang nilainya ditentukan pada saat array tersebut dibuat.

    Misalnya, suatu array berisi 100 bilangan bulat, yang dinomori dari nol(0) hingga 99.

    b. Deklarasi Array

    Deklarasi array dengan menambahkan [] setelah nama variable atau setelah tipe data.

    String members[], otherMembers;

    String []persons, otherPersons;

    byte map[][];

    Dari contoh diatas otherPersons adalah array, sedangkan otherMembers bukan

    array.

    Supaya array dapat digunakan, kita harus mengalokasi berapa jumlah elemen dari

    array dengan menggunakan new.

    String members[] = new String[29];

    // members dapat menampung 29 elemen

    byte map[][] = new map[800][600];

    // map mampu menampung 800 x 600 element

    Atau kita dapat langsung dapat langsung menginisialisasi elemen dari array.

    String color[] = {"blue", "red", "white", "black"};

    int sekedarContoh[][] = {

    {1,2,3,4,5,6,7,8,9,10,11,12,13},

    {14,15,16,17,18,19,20,21,22,23,24,25,26}

  • };

    Untuk mendapatkan panjang dari suatu array kita dapat menggunakan length.

    int array[] = new array[666];

    int size = array.length;

    for(int i=0; i

  • Dalam pendeklarasian variabel, kita sering menggunakan sebuah tipe data beserta

    nama variabel atau identifier yang unik. Apabila kita ingin menggunakan variabel

    tersebut, kita akan

    memanggil dengan nama identifier-nya.

    Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki

    identifier

    berbeda untuk tiap variabel.

    int number1;

    int number2;

    int number3;

    number1 = 1;

    number2 = 2;

    number3 = 3;

    Seperti yang dapat Anda perhatikan pada contoh diatas, kode tersebut akan sia-sia

    karena harus menginisialisasi dan menggunakan setiap variabel padahal sebenarnya

    variabel-variabel tersebut digunakan untuk tujuan yang sama. Pada bahasa

    pemrograman Java maupun di bahasa pemrograman yang lain, terdapat sebuah

    kemampuan untuk menggunakan satu variabel yang dapat menyimpan beberapa

    data

    dan memanipulasinya dengan lebih efektif. Tipe variabel inilah yang disebut sebagai

    array.

    Contoh Integer dari array :

    Setelah pendeklarasian array , kita harus membuat array dan menentukan berapa

    panjangnya dengan sebuah konstruktor. Proses ini di Java disebut sebagai

  • instantiation (istilah dalam Java yang berarti membuat). Untuk meng-instantiate

    sebuah obyek, kita membutuhkan sebuah konstruktor. Kita akan membicarakan lagi

    mengenai instantiate obyek dan pembuatan konstruktor pada bagian selanjutnya.

    Sebagai catatan bahwa ukuran dari array tidak dapat diubah setelah anda

    menginisialisasinya. Sebagai contoh,

    //deklarasi

    int ages[];

    //instantiate obyek

    ages = new int[100];

    atau bisa juga ditulis dengan,

    //deklarasi dan instantiate obyek

    int ages[] = new int[100];

    Pada contoh diatas, pendeklarasian tersebut akan memberitahukan kepada compiler

    Java, bahwa identifier ages akan digunakan sebagai nama array yang berisi data

    bertipe integer, dan dilanjutkan dengan membuat atau meng-instantiate sebuah

    array baru yang terdiri dari 100 elemen. Selain menggunakan sebuah pernyataan

    new untuk meng-instantiate array, Anda juga dapat mendeklarasikan, membangun,

    kemudian memberikan sebuah nilai pada array sekaligus dalam sebuah pernyataan.

    Gambar inisialisasi array :

    c. Penggunaan dan Pengaksesan Array

    Untuk mengakses sebuah elemen dalam array, atau mengakses sebagian dari array,

    Anda harus menggunakan sebuah angka atau yang disebut sebagai indeks atau

    subscript.

    Pada saat memasukkan nilai ke dalam array, sebuah nomor indeks atau subscript

    telah diberikan kepada tiap anggota array, sehingga program dan programmer

    dapat mengakses setiap nilai pada array apabila dibutuhkan. Nilai indeks selalu

    dalam tipe integer, dimulai dari angka nol dan dilanjutkan ke angka

    berikutnya

    sampai akhir array. Sebagai catatan bahwa indeks didalam array dimulai dari 0

  • sampai dengan (ukuranArray-1).

    Sebagai contoh, pada array yang kita deklarasikan tadi, kita mempunyai,

    //memberikan nilai 10 kepada elemen pertama array

    ages[0] = 10;

    //mencetak elemen array yang terakhir

    System.out.print(ages[99]);

    Perlu diperhatikan bahwa sekali array dideklarasikan dan dikonstruksi, nilai yang

    disimpan dalam setiap anggota array akan diinisialisasi sebagai nol. Oleh karena itu,

    apabila Anda menggunakan tipe data seperti String, array tidak akan diinisalisasi

    menjadi string kosong . Untuk itu Anda tetap harus membuat String array secara eksplisit.

    Berikut ini adalah contoh kode untuk mencetak seluruh elemen didalam array. Dalam

    contoh ini digunakanlah pernyataan for loop, sehingga kode kita menjadi lebih

    pendek.

    public class ArraySample{

    public static void main( String[] args ){

    int[] ages = new int[100];

    for( int i=0; i

  • System.out.print( dogs[0][0] );

    Kode diatas akan mencetak String terry di layar.

  • Java Console

    Module 07 - Method

    Last Update 09/10/2010 Revision 0

    1. Module Description

    Pada pembahasan topik ini, akan dibahas tentang defenisi dari method dan cara

    penggunaan dari method di bahasa pemrograman java.

    2. Learning Outcomes

    Diharapkan trainee dapat mengimplementasikan cara penggunaan method di bahasa

    pemrograman java.

    3. Material

    a. Definisi Method

    Tujuan dari method atau fungsi adalah untuk mengelompokkan perintah-perintah

    yang ditujukan untuk melakukan sebuah perintah yang lebih besar.

    Hal utama yang dibutuhkan dalam pembuatan dan pendeklarasian suatu method

    adalah :

    1. Modifiersyaitu hak akses yang nantinya akan mengatur pengaksesan method ini, akan di bahas di bawah.

    2. Return valuetipe data yang akan dikembalikan oleh method ini, void bila tidak ada nilai yang akan dikembalikan.

    3. Nama methodnama method atau fungsi itu. Untuk aturan penamaannya sama dengan aturan penamaan variable.

    4. Parameteryaitu nilai dengan tipe data yang akan dikirimkan sebagai input untuk method yang bersangkutan. Dikelilingin oleh tanda kurung (). Jika tidak ada parameter maka akan digunakan kurung kosong ().

    5. Isi dari methodyaitu perintah-perintah lain yang akan dijalankan dalam method ini, dikelilingi oleh {}.

    Salah satu contoh method yang akan sering digunakan adalah method main, yaitu

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

    Penjelasan singkat :

    1. public static adalah modifiers

    2. void adalah return value, dalam kasus ini tidak mengembalikan nilai

    3. main adalah nama method utama

    4. String [] args adalah parameter yang dikirim, dalam kasus ini adalah array of

    String

    5. {//isi} adalah tempat meletakkan perintah-perintah yang akan dijalankan.

    b. Penggunaan Method

  • Ketika kita sudah men-develop program dalam skala besar maka kita perlu

    menggunakan yang namanya method. Untuk lebih jelasnya perhatikan program

    dibawah ini :

    public class Main {

    public static void main(String[] args) {

    Print();

    }

    static void Print() {

    System.out.println("Method Print Sukses Dipanggil!!!");

    }

    }

    Bagian yang diblok warna abu abu tersebut merupakan method berguna untuk

    mencetak string "Method Print Sukses Dipanggil!!!" tersebut. Dimana method

    tersebut dipanggil pada bagian yang diblok warna kuning diatas. Keyword static

    disini diperlukan karena method tersebut berada di main class yang juga bersifat

    static sehingga method menyertainya juga harus bersifat static. Keyword void

    merupakan salah satu indikasi bahwa method ini tidak me-return/mengembalikan

    nilai apapun, untuk method yang me-return/mengembalikan suatu nilai tertentu

    akan kita bahas nanti.

    Method diatas adalah salah satu method yang tidak menerima passing variable

    apapun dan juga tidak me-return variable apapun, untuk contoh method yang

    menerima passing variable tertentu perhatikan contoh dibawah ini :

    public class Main {

    public static void main(String[] args) {

    Maksimum(5, 7);

    }

    static void Maksimum(int a, int c) {

    if(a>c) {

    System.out.println("Nilai Maksimumnya Adalah :

    "+a);

    } else if( a < c)

    {

    System.out.println("Nilai Maksimumnya Adalah : "+c); }

    else { System.out.println("Dua Bilangan Tersebut Sama

    Besar");

    }

    }

    }

    Dari contoh diatas dapat kita ketahui bahwa method Maksimum membutuhkan dua

    variable integer untuk dipassingkan, dan dari dua variable integer yang dipassingkan

    tersebut akan dicetak variable mana yang lebih besar. Selain itu ada juga method

    yang memiliki nilai kembalian, atau return value, sebagai contoh perhatikan program

    untuk mencari nilai kuadrat bilangan integer dibawah ini dibawah ini :

    public class Main {

    public static void main(String[] args) { System.out.println(

    Kuadrat(5) );

    }

  • static int Kuadrat(int a) { return a * a; }

    }

    Untuk membuat method yang memiliki nilai kembalian/return value, maka kita harus

    menghilangkan keyword void pada method yang kita buat dan menggantikannya

    dengan jenis variable kembalian kita, dimana dalam contoh tersebut nilai kembalian

    / return value berupa integer. Pengenalan Teknik Rekursif Dalam suatu method kita

    dapat memanggil method yang lainnya, atau bahkan memanggil method itu sendiri,

    peristiwa pemanggilan method oleh dirinya sendiri inilah yang disebut rekursif.

    Contoh sederhana dari rekursif adalah faktorial (!). Untuk lebih jelasnya perhatikan

    contoh dibawah ini :

    5! = 4! * 5 4! = 3! * 4 3! = 2! * 3 2! = 1! * 2 1! = 1

    Dari contoh diatas dapat kita lihat bahwa sebenarnya faktorial dari bilangan n,

    merupakan faktorial bilangan n-1 dikali dengan n, dan begitu seterusnya hingga

    n=1. Ketika n=1 maka ada kasus spesial yaitu 1!=1. Untuk implementasinya pada

    java, perhatikan program dibawah ini :

    public class Main {

    public static void main(String[] args) {

    System.out.println(Faktorial(5));

    }

    static int Faktorial(int n) {

    if (n == 1) { return 1; }

    else { return n * Faktorial(n - 1); }

    }

    }

    Seperti halnya perulangan biasa, jika tidak ada base case maka method rekursif ini

    akan mengalami infinite loop yang akan menghabiskan memori.

  • Java Console

    Module 08 - Sorting

    Last Update 09/10/2010 Revision 0

    1. Module Description

    Pada pembahasan ini, akan dibahas tentang sorting dalam Java.

    2. Learning Outcomes

    Diharapkan trainee dapat mengerti tentang sorting dalam Java.

    3. Material

    a. Sorting

    Sorting adalah proses menyusun elemen elemen dengan tata urut tertentu dan proses tersebut terimplementasi dalam bermacam aplikasi. Kita ambil contoh pada aplikasi perbankan. Aplikasi tersebut mampu menampilkan daftar account yang aktif.

    Hampir seluruh pengguna pada sistem akan memilih tampilan daftar berurutan secara ascending demi kenyamanan dalam penelusuran data.

    b. Bubble Sort

    Algoritma penyortiran yang dimulai dan berakhir pada sebuah daftar dengan n

    elemen dan memindahkan seluruhnya, menguji nilai setiap pasangan item yang

    berdekatan dan menukarkannya jika mereka tidak berada dalam urutan yang tepat.

    Contoh kode :

    public static void bubbleSort1(int[] x) {

    int n = x.length;

    for (int pass=1; pass < n; pass++) { // count how many times

    // This next loop becomes shorter and shorter

    for (int i=0; i < n-pass; i++) {

    if (x[i] > x[i+1]) {

    // exchange elements

    int temp = x[i]; x[i] = x[i+1]; x[i+1] = temp;

    }

    }

    }

    }

    c. Selection Sort

  • Ide utama dari algoritma selection sort adalah memilih elemen dengan nilai paling

    rendah dan menukar elemen yang terpilih dengan elemen ke-i. Nilai dari i dimulai

    dari 1 ke n, dimana n adalah jumlah total elemen dikurangi 1.

    Contoh kode :

    public void selectionSort(Object array[], int startIdx, int

    endIdx) {

    int min;

    for (int i = startIdx; i < endIdx; i++) {

    min = i;

    for (int j = i + 1; j < endIdx; j++) {

    if (((Comparable)array[min]).compareTo(array[j])>0) {

    min = j;

    }

    }

    swap(array[min], array[i]);

    }

    }

    d. Insertion Sort

    Algoritma insertion sort pada dasarnya memilah data yang akan diurutkan menjadi

    dua bagian, yang belum diurutkan (meja pertama) dan yang sudah diurutkan (meja

    kedua). Elemen pertama diambil dari bagian array yang belum diurutkan dan

    kemudian diletakkan sesuai posisinya pada bagian lain dari array yang telah

    diurutkan. Langkah ini dilakukan secara berulang hingga tidak ada lagi elemen yang

    tersisa pada bagian array yang belum diurutkan.

    Contoh Kode : public void insertionSort(Object array[], int startIdx, int endIdx)

    {

    for (int i = startIdx; i < endIdx; i++) {

    int k = i;

    for (int j = i + 1; j < endIdx; j++) {

    if (((Comparable) array[k]).compareTo(array[j])>0) {

    k = j;

    }

    }

    swap(array[i],array[k]);

    }

    }

  • Java Console

    Module 09 Java Utilization

    Last Update 09/10/2010 Revision 0

    1. Module Description

    Pada pembahasan ini, akan dibahas tentang class class Java didalam package java.util.

    2. Learning Outcomes

    Diharapkan trainee dapat mengerti dan dapat menggunakan class class Utilisasi dalam package java.util.

    3. Material

    a. Java Utilization

    Java memiliki class yang sudah dibuat dan tinggal dipakai. Beberapa class tersebut

    dipakai sebagai utilisasi, seperti Random, Calendar, dsb.

    b. Pembangkit Bilangan Acak

    Pada beberapa kasus dibutuhkan sebuah proses atau lebih yang menghasilkan

    bilangan secara random. Java memiliki 2 metode yang memungkinkan seorang

    programmer untuk melakukan random. Metode tersebut adalah :

    Menggunakan class java.util.Random

    Class Random dapat di-import dari package java.util. Yang perlu dilakukan pertama kali adalah dengan meng-instantiate object dari class Random.

    Kemudian baru dapat kita panggil fungsi .nextInt(int batas). Fungsi tersebut

    akan me-return nilai random dari 0 nilai int batas. Contoh:

    import java.util.Random; //import class Random

    public class BljrRandom {

    private Random rnd; //deklarasi obj Random

    public BljrRandom () {

    rnd = new Random(); //instantiate obj rnd

    for(int i=0;i

  • //Random dari 1 - 5

    System.out.println("Random dari 1-5 : " +

    (rnd.nextInt(5)+1));

    }

    }

    public static void main(String []args) {

    new BljrRandom();

    }

    }

    Menggunakan method static dari Math.random()

    Java juga menyediakan class Math yang didalamnya terdapat fungsi static

    random() yang fungsinya sama dengan fungsi .nextInt(int batas) pada class

    Random. Perbedaannya fungsi dari Math.random() me-return nilai dari 0.0 0.99, sehingga membutuhkan logika yang berbeda dengan class Random.

    public class BljrRandom {

    public BljrRandom () {

    for(int i=0;i

  • c. Menunda dan menghentikan program

    Java juga menyediakan method static untuk menunda dan menghentikan program.

    Thread.sleep(int millisecond)

    Kegunaan utama dari method ini adalah untuk menunda Thread yang sedang

    berjalan. Tetapi dapat juga digunakan untuk menunda proses yang sedang

    berjalan. Penggunaannya harus menggunakkan try catch karena diperkirakan akan melempar InterruptedException.

    public class SleepProgram {

    public SleepProgram() {

    try {

    Thread.sleep(100);

    } catch(InterruptedException ex) {

    System.out.println(ex.getMessage());

    }

    }

    public static void main(String []args) {

    new SleepProgram();

    }

    }

    System.exit(int status)

    Method static dari kelas System yang berfungsi untuk menghentikan program.

    Parameter pertama merupakan kode status dari hasil terminate pada JVM. Kode

    0 berarti normal exit selainnya adalah abnormal exit. Kode yang ditulis tidak

    berpengaruh dengan jalannya program.

    System.exit(0)

    d. Calendar

    Untuk menampilkan tanggal yang sesuai dengan kalendar pada sistem komputer

    dapat dengan menggunakkan class java.util.Calendar dan method yang ada

    didalamnya. Yang perlu diperhatikan adalah agar dapat menggunakan beberapa

    method pada Calendar butuh untuk menampung objeknya terlebih dahulu. Karena

    Calendar merupakan Singleton Class maka kita perlu memanggil method

    getInstance() dimana method ini me-return objek Calendar.

  • Contoh :

    Calendar obj = Calendar.getInstance();

    obj.add(Calendar.MONTH, 1);

    Berikut adalah method dan constanta yang sering digunakan :

    Constanta

    Nama Field Fungsi

    Calendar.DATE Berisi nilai int hari dari bulan.

    Calendar.MONTH Berisi nilai int bulan pada sistem komputer.

    Calendar.YEAR Berisi nilai int tahun pada sistem komputer.

    Calendar.HOUR Berisi nilai int jam pada sistem komputer.

    Calendar.MINUTE Berisi nilai int menit pada sistem komputer.

    Calendar.SECOND Berisi nilai int detik pada sistem komputer.

    Method

    Nama Method Fungsi

    getInstance() Me-return objek Calendar.

    add(int field, int count) Menambah atau mengurangi objek Calendar

    berdasarkan nilai dari int field.

    after(Object val) Me-return nilai boolean apakah objek Calendar

    telah melewati waktu yang telah ditentukan.

    before(Object val) Me-return nilai boolean apakah objek Calendar

    belum melewati waktu yang telah ditentukan.

    getTime() Me-return objek dari Date dengan nilai tanggal

    sesuai dengan sistem komputer.

    set(int field, int val) Merubah satuan tanggal menjadi nilai int val

    sesuai dengan nilai dari int field.

    get(int field) Me-return nilai int yang dari tanggal objek

    Calendar berdasarkan nilai int field

    Contoh :

    import java.util.Calendar; //import terlebih dahulu

    public class CobaCalendar {

    private Calendar cal; //deklarasi obj Calendar

    public CobaCalendar() {

    //cal = new Calendar(); --> SALAH !!

    cal = Calendar.getInstance(); //Calendar hanya memiliki 1 objek saja

    //Cetak tanggal sekarang

    System.out.println(cal.getTime());

    //Tambah tanggalnya sebanyak 1

    cal.add(Calendar.DATE, 1);

    System.out.println(cal.getTime());

    //Kurang bulannya sebanyak 2

  • cal.add(Calendar.MONTH, -2);

    System.out.println(cal.getTime());

    }

    public static void main(String args[]) {

    new CobaCalendar();

    }

    }

    e. Input/Output Dialog

    Java juga menyediakan class yang berfungsi untuk menampilkan input / output

    dialog. Class tersebut adalah JOptionPane dengan menggunakkan method static

    show() yang memiliki lebih dari 1 overloading. Class ini akan dipelajari pada Java

    GUI.

  • Java Console

    Module 10 Class and Object

    Last Update 09/10/2010 Revision 0

    1. Module Description

    Pada pembahasan topik ini, akan dibahas tentang defenisi dari method dan cara

    penggunaan dari class dan object di bahasa pemrograman java.

    2. Learning Outcomes

    Diharapkan trainee dapat mengimplementasikan cara penggunaan class dan object di

    bahasa pemrograman java.

    3. Material

    a. Pengenalan Class dan Object

    (http://java.sun.com/docs/books/tutorial/java/javaOO/index.html)

    Sama pada C++, suatu class di java mempunyai state/attribute dan behavior,

    hanya saja istilah yang sering digunakan adalah field untuk state dan method untuk

    behavior. Saat suatu objek dibuat maka constructor dari suatu kelas dijalankan.

    Berikut ini ilustrasi mengenai suatu objek:

    Dan ini adalah contoh pendeklarasian class di java.

  • Gunakan huruf kapital pada awal nama Class.

    b. Access Modifier

    Pemberian modifier dilakukan saat pendeklarasian dari member class.

    public int a;

    private int b;

    protected int c;

    public void method1()

    {

    }

    Berikut adalah access modifier di java:

  • no modifier maksudnya adalah access modifier default jika kita tidak menambah

    access modifier.

    Dapat dilihat di table bahwa protected di java berbeda dengan C++.

    c. Field

    Berbeda dengan C++, kita dapat langsung menginisialasi nilai dari field.

    d. Object.

    Seperti yang kita tahu, class adalah blueprint dari objek, jadi kita membuat objek

    berdasarkan class.

  • Kita menggunakan keyword new untuk membuat objek diikuti dengan constructor

    dari kelas tersebut.

    Untuk menampung suatu object kita menggunakan reference type variable.

    Sesuai dengan namanya, variable berguna menampung alamat (references) dari

    suatu object bukan menampungnya secara langsung.

    e. keyword this

    Sama seperti C++, keyword this digunakan untuk menunjukan kelas itu sendiri.

    Biasanya digunakan untuk membedakan antara variable local dengan field.

    f. keyword static

    Field dengan static modifier disebut dengan static field atau class variable. Setiap

    instance dari class tersebut berbagi class variable yang sama sehingga jika salah

    satu instance merubah nilai dari class variable maka akan berdampak pada instance

    lain.

  • Class variable juga dapat dimanipulasi tanpa menciptakan instance dari kelas.

    Static modifier juga dapat digunakan pada saat pendeklarasian method dari suatu

    kelas. Static method dapat dipanggil dengan nama kelas, tanpa membuat instance

    dari kelas yang bersangkutan.

    g. Constant

    Untuk membuat konstanta, kita menggunakan static modifier dan final modifier.

    final modifier mengindikasikan nilai dari field tidak dapat diubah.

    h. Nested Class

  • Di java, kita dapat mendefinikan kelas di dalam kelas. Kita menyebutnya nested

    class.

    Nested class tanpa static modifier disebut Inner Class. Inner class dapat mengakses

    anggota dari outer class.

    Instance dari inner class hanya dapat berada di dalam outer class.

    Untuk membuat instance dari inner class kita dapat menggunakan sintaks sbb:

    i. Enum

    Enum adalah suatu set konstanta.

    Berikut adalah contoh penggunaan enum :

  • Karena enum di java merupakan suatu kelas (dikenal juga sebagai enum type) maka

    enum dapat mempunyai field dan method.

  • j. Garbage Collector

    Setiap object yang tidak dibutuhkan lagi harus dibebaskan untuk mengembalikan

    system resource untuk mencegah terjadinya memory leaks. Di java, ketika suatu

    object tidak me-reference kemana pun maka JVM akan menandai object tersebut

    sebagai garbage colletion. Garbage collector bertanggung jawab untuk me-

    retrieve memory dari object yang tidak dibutuhkan sehingga memory dapat

    digunakan oleh object lainnya.

    Ini berbeda dengan C++ yang mana kita harus secara eksplisit harus membebaskan

    object dengan keyword delete. Destructor juga tidak diperlukan lagi di java.

  • Java Console

    Module 11 - String

    Last Update 09/10/2010 Revision 0

    1. Module Description

    String Class - Constructor Method (length, charAt, concat, substring, toLowerCase, toUpperCase, trim, split)

    2. Learning Outcomes

    Trainee dapat membuktikan kegunaan kelas String di Java

    3. Material

    a. Definisi String

    Dalam pemrograman Java string merupakan aspek penting, karena dapat

    mempelajar mengenai class dan objek melalui penggunaan string. String

    sebenarnya merupakan class yang terdapat dalam library Java. Class String

    merupakan salah satu kelas dasar yang disediakan oleh Java untuk memanipulasi

    karakter.

    b. Membuat Objek String

    Java mendefinisikan class String dalam package java.lang.String, sehingga tidak

    perlu melakukan import secara eksplisit. Class String digunakan untuk

    mendefinisikan string yang konstant. Untuk membuat string, dapat melakukannya

    dengan beberapa cara, dan yang sering digunakan adalah contoh sebagai berikut.

    private String varString = "kata";

    Kode diatas adalah bentuk singkat dari :

    char[] varString = {'k', 'a', 't', 'a'};

    String varString = new String("kata");

    Jadi dapat disimpulkan bahwa String terdiri dari data array yang bertipe char, dan

    kita juga dapat membuat objek String dengan menggunakan keyword new yang

    biasa digunakan untuk membuat objek dari class.

    Contoh :

  • public class LatString {

    private String varString = "kata";

    public LatString() {

    System.out.println(varString + " baru");

    }

    public static void main(String args[]) {

    new LatString();

    }

    }

    c. Method pada String

    String juga memiliki method method yang akan sering digunakan untuk memanipulasi string / kata kata. Sudah dijelaskan sebelumnya tentang perbandingan String menggunakkan method .equals(Object obj) dan

    .compare(String str).

    Berikut ini adalah penjelasan method dari class String lainnya yang sering

    digunakan :

    Menentukan awal dan akhir String

    Untuk menentukan awal dan akhir sebuah String, kita dapat menggunakkan dua

    fungsi utama, yaitu :

    startsWith(String str) Fungsi yang me-return nilai boolean dimana dilakukan pengecekkan apakah

    string yang bersangkutan diawali dengan nilai dari String str.

    endsWith(String str) Fungsi yang me-return nilai boolean dimana dilakukan pengecekkan apakah

    string yang bersangkutan diakhiri dengan nilai dari String str.

    System.out.println("Apakah diawali dengan a ? => "+varString.startsWith("a"));

    System.out.println("Apakah diakhiri dengan a ? => "+varString.endsWith("a"));

    Mendapatkan panjang String

  • Untuk memperoleh panjang sebuah string dapat dilakukan dengan

    menggunakkan method length(). Dimana fungsi tersebut akan me-return tipe

    data int yang nilainya adalah panjang dari string tersebut.

    System.out.println("Panjang varString = " + varString.length());

    Mencari posisi karakter dalam suatu String

    Method yang digunakan untuk mencari posisi / index karakter dalam suatu string

    adalah indexOf() dimana fungsi tersebut me-

    return tipe data int yang nilainya adalah posisi index karakter / kata yang dicari.

    indexOf(char chr) / indexOf(String str) Pencarian nilai chr / str dimulai dari index ke-0.

    indexOf(char chr, int start) / indexOf(String str, int start) Pencarian nilai chr / str dimulai dari index sesuai dengan nilai start.

    lastIndexOf(char chr) / lastIndexOf(String str) Pencarian nilai chr / str dimulai dari index paling belakang.

    System.out.println("Index \"a\" dimulai dari 0 =>" + varString.indexOf("a"));

    System.out.println("Index \"a\" berikutnya =>" + varString.indexOf("a",

    varString.indexOf("a")+1));

    Mendapatkan beberapa kata atau huruf dalam suatu String

    Method yang digunakan untuk mendapatkan beberapa kata atau huruf dalam

    suatu string yaitu subString(int indexMulai) / subString(int indexAwal, int

    indexAkhir) dan charAt(int index) dimana fungsi tersebut me-return tipe data

    String.

    System.out.println("2 karakter pertama => " + varString.substring(0, 2));

    System.out.println("2 karakter terakhir => " +

    varString.substring(varString.length()-2, varString.length()));

  • Manipulasi String

    Berikut adalah beberapa method yang dapat digunakan untuk memanipulasi

    string yang telah dibuat :

    toLowerCase() Merubah string yang bersangkutan menjadi huruf kecil.

    toUpperCase() Merubah string yang bersangkutan menjadi huruf kapital.

    trim() Menghapus spasi yang tidak perlu di depan dan di belakang string yang

    bersangkutan.

    concat(String append) Selain menggunakkan '+' terdapat juga method concat() yang berfungsi

    sebagai penggabungan 2 string.

    replace(String old, String new) Menggantikan karakter / string yang ditentukan menjadi nilai dari String

    new.

    System.out.println("KaTa".toLowerCase());

    System.out.println("kata".toUpperCase());

    System.out.println(" kata ".trim());

    System.out.println("kcta".replace("ct","at"));

    System.out.println("kata".concat(" siapa ?"));

    Memotong String

    Untuk memotong string dapat dilakukan dengan fungsi split(String delimeter)

    dengan menentukan karakter sebagai delimeter-nya.

    Fungsi ini akan me-return String[] dimana berisi nilai nilai hasil pemotongan berdasarkan delimeter-nya.

  • String data = "001#Abigail#AstDev#$50.000.000";

    String dataArr[] = data.split("#");

    String label[] = {"###KODE", "###NAMA", "JABATAN", "###GAJI"};

    for(int i=0; i

  • Java Console

    Module 12 - Wrapper & Math Class

    Last Update