pelatihan java fundamental
DESCRIPTION
ebook ini menjelaskan tentang pemrograman dasar. program yang dibahas disini adalah tentang pemrograman java. ebook ini sangat cocok buat yang masih awam dengan pemrograman javaTRANSCRIPT
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Java Fundamental
Fanani M. IhsanBlog : http://fanani.netEmail : [email protected]
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Overview
• Mengenal java• Installasi Java• Pemrogaman java• OOP With java
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Mengenal Java
Layou
t by o
rngjc
e2
23
, C
C-B
Y
What java ?
• Bahasa pemrogaman• Platform
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Why use java ?• Simple• OOP• Secure• Multi platform• Architecture Neutral• Interpreter• Portable• Lebih dari 10 tahun• Ngetrend :)
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Beberapa Teknologi Java
• Java Standart Edition (Java SE)• Java Mobile Edition (Java ME)• Java Enterprise Edition (java EE)
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Installasi
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Installasi
• Download Sun Java 6 JDK Update 25• Setting path• Seting classpath
Step by step :
Disini >>
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Pemrogaman Java
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Standar Penulisan Code
• Souce code java harus berekstensi *.java• Nama class Di awali huruf capital• Nama class harus sama dengan nama File
contoh : Membuat class Hello , maka nama file harus Hello.java
• Nama class tidak boleh menggunakan keyword yang ada di java
• Nama package diawali huruf kecil• Nama method diawali huruf kecil
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Building Fase
Java : tool untuk menjalankan program javaJavac : tool untuk mengompile source code java
Layou
t by o
rngjc
e2
23
, C
C-B
Y
fanani@fananilaptop code $ touch HelloWorld.java fanani@fananilaptop code $ nano HelloWorld.java public class HelloWorld{ public static void main(String[]args){ System.out.println("Selamat Belajar Java"); }}
fanani@fananilaptop code $ javac HelloWorld.javafanani@fananilaptop code $ java HelloWorldSelamat Belajar Javafanani@fananilaptop code $
Hello world
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Class And Object
• Class : design yang menggambarkan sebuah object
• Object : implementasi dari sebuah class public class Mahasiswa{
String nim ;
String nama ;
// code here
}
Public static void main (String[]args){
// inisialisasi object
Mahasiswa rudi = new Mahasiswa();
}
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Package
• Digunakan untuk mengelompokkan class• Merupakan direktori
- com.belajar.karyawan• Login
- com.belajar.mahasiswa• Login
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Comment
• Tidak di execute oleh program• Sebagai dokumentasi
macam – macamnya• // c++ style
• /* c style */
• /** special javadoc comment */
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Statement
• Statement atau pernyataan di java selalu di ahiri tanda semicolon (;)
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Macam – Macam Keyword java
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Data Type
• Integer
• Byte (8 bit)
• Short (16 bit)
• Int (32 bit)
• Long (64 bit)
• Floating Point
• Float (32 bit)
• Double (64 bit)
• Character
• char
• Logical
• boolean
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Variable
• Format penulisan
<data type> nama_var = <value>
contoh :int age = 10 ;
char option = 'B' ;
boolean x = false ;
double grade = 9.9 ;
// tampilkan ke layar
System.out.println(“your age : ” + age) ;
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Getting User Input
package com.belajar.input;
import java.util.Scanner;
public class UserInputHello {public static void main(String[] args) {
System.out.print("Pleas input here : " );Scanner input = new Scanner(System.in) ;System.out.println("Yout input is " +
input.nextLine());}
}
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Operator
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Operator aritmatika
Operator ini diguankan untuk melakukan operasi matematika
• + (penjumlahan)• - (pengurangan)• * (perkalian)• / (pembagian)• % (modulus / sisa bagi)
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Logical Operator
Operator ini digunakan untuk melakukan operasi yang hanya akan menghasilkan nilai true / false .
• &&• ||
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Conditional Operator
• Format( conditioan ) ? true : false ;
eg : public class ConditionalOperator {
public static void main(String[] args) {
int age = 50 ;
System.out.println(age >= 50 ? "Golongan lansia" : "Bukan gologan lansia");
}
}
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Operator Increment / Decrement
• ++var• var++• --var• var--
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Flow Control
Layou
t by o
rngjc
e2
23
, C
C-B
Y
// contoh bentuk pertamaif (condition){
// do something}
// contoh bentuk keduaif (condition){
// do something} if(condition){
// do something}else {
// do something}
IF Statement
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Switch Statement
switch(var){case value1 :
// do somethingbreak ;
case value2 :// do somethingbreak ;
case valuen :// do somethingbreak ;
default :// do somethingbreak ;
}
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Break
• Untuk memaksa keluar dari looping
void displayNumber(){
for (int a=1 ; a<10 ; a++){
if (a==5) break;
System.out.print(a+",");
}
}
hasil : 1,2,3,4,Looping selesai
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Continue
• Untuk men-skip sebuah iterasi
void displayNumber(){
for (int a=1 ; a<10 ; a++){
if(a==5) continue ;
System.out.print(a+",");
}
System.out.println("Looping selesai");
}
hasil : 1,2,3,4,6,7,8,9,Looping selesai
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Return
• Untuk keluar dari method yang mengelilingi sebuah loopingvoid displayNumber(){
for (int a=1 ; a<10 ; a++){
if(a==5) return ;
System.out.print(a+",");
}
System.out.println("Looping selesai");
}
hasil : 1,2,3,4,
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Looping
Layou
t by o
rngjc
e2
23
, C
C-B
Y
public class ForLooping {public static void main(String[] args) {
int a ;for (a=0 ; a<10 ; a++){
System.out.println("Nilai ke" + a);}
}
}
For Looping
Layou
t by o
rngjc
e2
23
, C
C-B
Y
While Looping
public class WhileLooping {public static void main(String[] args) {
int startIndex = 0 ;
while (startIndex<10){System.out.println("angka ke" + +
+startIndex);}
}}
Layou
t by o
rngjc
e2
23
, C
C-B
Y
do … while .. loop
public class DoWhileLoop {public static void main(String[] args) {
int startIndex = 1 ;do {
System.out.println(startIndex);startIndex++ ;
}while(startIndex <= 10 );
}}
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Array
• Array biasanya digunakan untuk mengelompokan element dengan tipe data sama
• Contoh penulisan di java seperti beriktu :int [] number = new int[3] ;
String []name = new String[3] ;
// atau
int [] number = {1,2,3,4,5} ;
String name = {“Rudi”,”Dina”,”Siska”} ;
Layou
t by o
rngjc
e2
23
, C
C-B
Y
enum Class
• Digunakan untuk membuat object yang sifatnya static
Layou
t by o
rngjc
e2
23
, C
C-B
Y
OOP(Object Oriented Programming)
Layou
t by o
rngjc
e2
23
, C
C-B
Y
OOP
• Konsep pengembangan aplikasi dengan mendefinisikan setiap masalah menjadi sebuah object
• Salah satu teknik pemrogaman terpopuler saat ini
• Simple dan Flexible
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Konsep Object Dan Class
• Sebagai contoh Class Manusia• Manusia punya properti
• nama• tgl_lahir • Tinggi• berat
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Konsep Object Dan Class
// penulisan class
public class Manusia{
private String nama ;
private date tgl_lahir ;
Private int tinggi ;
Private int berat ;
}
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Konsep Object Dan Class
// pembuatan object
public static void main(String[]args){
Manusia rudi = new Manusia();
Manusia dika = new Manusia();
}
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Method
• Tingkah laku sebuah object• Sebuah function• Return value• Void (not return)
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Method
// contoh penulisan method yang tidak return value
public void sayHello(){
System.out.println(“Have a nice drema”);
}
// contoh method yang return value
public int jumlah(int a,int b){
return a+b;
}
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Overloading Method
• Didalam class kita bisa membuat method degan nama yang sama . Syaratnya argument nya harus berbeda .public void sayHello(String name){
System.out.println("Hello " + name);
}
public void sayHello(String name , String message ){
System.out.println("Hello : " + name);
System.out.println("Message : " + message);
}
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Getter And Setterpackage com.belajar.geetersetter;
public class Mahasiswa {private String name ;
public void setName(String tmp){name = tmp ;
}
public String getName(){return name ;
}
public void sayHello(){System.out.println("Hello " + getName());
}}
package com.belajar.geetersetter;
public class Main {public static void main(String[] args) {
Mahasiswa fanani = new Mahasiswa();fanani.setName("Fanani M. Ihsan") ;System.out.println(fanani.getName());fanani.sayHello();
}}
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Cosntructor
• Constructor bisa disebut juga sebagai special method.
• Nama constructor harus sama dengan nama class
• Constructor bisa lebih dari satu asal parameternya bebeda
• Constructor tidak return valuepublic class Mahasiswa {
String nim ;
String nama ;
public Mahasiswa(String tmpNim , String tmpName){
nim = tmpNim ;
nama = tmpName ;
}
}
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Access Modifier
• Public : memberikan akses kepda class manapun
• private : memberikan akses hanya kepda class itu sendiri
• protected : memberikan akses kepada class itu sendiri dan turunannya
• default : memberikan akses kepada class lain dalam satu package
Layou
t by o
rngjc
e2
23
, C
C-B
Y
To String Method
• Digunakan untuk konversi dari object ke string
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Inheritance
• Inheritace (Pewarinsa)• Fitur yang dimiliki oleh semua bahasa
pemrogaman OOP• Digunakan untuk mewariskan sifat , properti ,
method yang kepada turunan• Nenek moyang (pewaris) disebut superclass• Indu (penerima waris) disebut dengan sub
class• Menggunakan keword extend
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Inheritance
public class Manusia {
private String name ;
private String address ;
private int height ;
private int weight ;
// getter and setter
}
public class Mahsiswa extends Manusia{
private String nim ;
}
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Overiding Method
• Mengganti method yang dimiliki super class didalam sub class
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Polimorfisme
• Terdapat banyak bentuk subclass namun memiliki ciri yang hampir sama
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Interface
• Bisa disebut class tanpa tubuh• Isinya hanya method• Class yang mengimplement dari interface
harus menggunakan method secara mutlak dan tidak boleh tidak
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Inner class
• Konsep inner class adalah membuat class didalam class .
Layou
t by o
rngjc
e2
23
, C
C-B
Y
Finish
Fanani M. IhsanBlog : http://fanani.netEmail : [email protected]