Upload
steven-rorre
View
27
Download
0
Embed Size (px)
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 java
Citation preview
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]