Bahasa Pemrograman 2 - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/anton/download/bp22.pdf · •...

Post on 06-Mar-2018

240 views 4 download

Transcript of Bahasa Pemrograman 2 - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/anton/download/bp22.pdf · •...

Bahasa Pemrograman 2

Pengenalan JAVA 1Pengenalan JAVA 1anton@ukdw.ac.id

Instalasi JDKInstalasi JDK

• Download JDK for free• Instalasi biasaInstalasi biasa• Set PATH  dan JAVA_HOME

– set PATH=%PATH%;<your Java\Bin directory>– set JAVA_HOME=<your Java directory>_ y y

• Bisa juga dilakukan lewat Windows GUIC t l P l S t P ti E i t– Control Panel > System Properties > Environment Variable

Set PATHSet PATH

EditorEditor

• Notepad• Notepad++ atau EditplusNotepad++ atau Editplus• Editplus• Jcreator Lite / Pro• Netbeans 6 xNetbeans 6.x

Compile & RunCompile & Run

• Compile: javac <namafile.java>– Case sensitive– Menghasilkan .class

R j < fil >• Run: java <namafile>– Case sensitive– Menghasilkan output

• JAR: java –jar <namafile jar>• JAR: java –jar <namafile.jar>– Menjalankan JAR file

ProsesProsesK il i j fil j di l fil• Kompilasi java file menjadi class file– Menggunakan compiler– Perubahan source code menjadi intermediate languagePerubahan source code menjadi intermediate language (bytecode)

• Running java class (bytecode) diatas Virtual Machine ( )(JVM)– Menggunakan interpreterAgar lebih cepat– Agar lebih cepat

– Agar bisa multiplatform• JVM berdiri berada diatas sistem operasiJVM berdiri berada diatas sistem operasi

– Bertugas menerjemahkan kode‐kode bytecode kedalam perintah‐perintah yang dimengerti platform tertentu

Struktur ProgramStruktur Program

My First Java ProgramMy First Java Program

// menampilkan sebaris text dengan multiple statementpublic class salam2 {

public static void main(String[] args) {System.out.print(“Selamat datang”);System.out.println(“ di JAVA”);y p

}}// menampilkan beberapa baris dengan sebaris statement// menampilkan beberapa baris dengan sebaris statementpublic class salam3 {

public static void main(String[] args) {System.out.println(“Selamat datang\n di JAVA”);

}}}

Tipe data Primitif di JAVATipe data Primitif di JAVA

• Numerik:– byte, short, int, long, float, double, y , , , g, , ,

• Non numerik:h b l– char, boolean

• Tipe data tersebut diperlakukan sebagai nilai p p gbiner di dalam memory komputer

Identifier pada JavaIdentifier pada Java

• Variabel: identifier yang bisa diubah pada saat program berjalan (runtime)p g j ( )– int a;

• Konstanta identifier yang tidak bisa diubah• Konstanta: identifier yang tidak bisa diubah saat program berjalan (runtime)– final int a;

Variabel konstantaVariabel ‐ konstantaclass Cobaclass Coba{public static void main(String[] args) {{

final int CONS = 12;System.out.println(CONS + "Hello World!");

}

• Konstanta variabel yang nilainya tidak bisa

}}

Konstanta variabel yang nilainya tidak bisa diubah.P b i bi k h f• Pemberian namanya biasanya menggunakan huruf besar semua.

• Kata kuncinya menggunakan final.

Penamaan identifierPenamaan identifier

• Diawali dengan huruf, $ atau _• Tidak boleh mengandung karakter khusus atauTidak boleh mengandung karakter khusus atau spasi kecuali $ dan _Tid k b l h d k d• Tidak boleh sama dengan keyword

• Bersifat case sensitive

Penamaan VariabelPenamaan Variabel

KeywordsKeywords

OperatorOperator

Operator Kondisionalp

Oprtr Contoh Keteranganp g&& op1 && op2 Menghasilkan true jika op1 dan op2 true|| op1 || op2 Menghasilkan true jika op1 atau op2 true

! !op1 Menghasilkan true jika op1 bernilai false

& op1 & op2 Bitwise AND

| op1 | op2 Bitwise OR

^ op1 != op2 Menghasilkan true jika salah satu true, tetapi tidak keduanyatidak keduanya

ContohContoh

• Misalnya, A bernilai 5, B bernilai 7, dan C bernilai ‘a’, maka ungkapan di bawah ini g pmempunyai hasil akhir benar atau salah?

A < B || B == 7 && C > ‘z’A < B || B == 7 && C > z’

Contoh: HasilContoh: Hasil

• Hasil akhir: benar• Langkah‐langkah:Langkah langkah:

1. Jenjang operator relasional lebih tinggi dibandingkan dengan operator logika, jadi operator relasional dikerjakan lebih dahulu

2. Operator logika ‘&&’ mempunyai jenjang lebih tinggi dari operator ‘||’, sehingga operator ‘&&’ dikerjakan lebih dahulu

3 Bagian yang paling akhir dikerjakan adalah operator ‘||’3. Bagian yang paling akhir dikerjakan adalah operator  ||

Beberapa Ungkapanp g p

Ungkapan ArtiX / Y X dibagi Y

X = 10 X diisi nilainya dengan 10

Y = Y + 1 Y diisi dengan nilai Y sebelumnya ditambah 1

Y X Y dii i d il i XY = X Y diisi dengan nilai X

X += Y Sama dengan X = X + Y

X /= Y Sama dengan X = X / YX /= Y Sama dengan X = X / Y

X = X - M X lama dikurangi M, hasilnya dimasukkan lagi ke X

OperatorOperator

L tih• Latihan:class Operator1{{public static void main(String[] args) {

int a = 4;int a = 4;int b = 3;

a = ++b;a ++b;int c = b++;b +=a;

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

}}

OperatorOperator

L tih• Latihan:class Operator2{{public static void main(String[] args) {

double i = 4;double i = 4;double d1 = 3;double d2 = 2.5;

i = d1/d2;System.out.println("Nilai i pertama = "+i);

}}

Pemberian KomentarPemberian KomentarP t d k t i d b ik b ti l d l ik• Program yang terdokumentasi dengan baik berarti alur dan logika program tersebut jelas, dapat dibaca dengan mudah pada lain waktu.  

• Komentar dalam banyak baris diawali dengan tanda /* , kemudian setelah k d l d kh d d */ bsemua komentar ditulis, diakhiri dengan tanda */ sebagai penutupnya.  

• Sedangkan untuk komentar dalam satu baris saja, ditulis dengan tanda // di awal kalimat komentar.

Membaca data dari KeyboardMembaca data dari Keyboard

• Sejak versi 1.6x keatas:Gunakan:System.console().readLine();F i di t i i t d i• Fungsi diatas menerima inputan dari pengguna bertipe data String sehingga harus ditampung terlebih dahulu ke variabel bertipe String

• Contoh: • String nama = System.console().readLine(“Masukkan nama:”);

ContohContoh

BooleanBoolean

• Tipe data: boolean• Bernilai true dan falseBernilai true dan false

CastingCasting

• “Pemaksaan” tipe data• Konversi tipe dataKonversi tipe data• Lebih bagus jika konversi dilakukan dari tipe d j k b k k ildata yang jangkauannya besar ke yang kecil– Tidak kehilangan data (data loss)

• Akan dibahas lebih jauh pada modul “Generics dan Collections”dan Collections

Operator CastingOperator ‐ Casting

L tih• Latihan:class Casting2{{public static void main(String[] args) {

int i;int i;

i = (int) (15.0/4.0);System.out.println("Nilai i pertama = "+i);System.out.println( Nilai i pertama +i);

i = (int)(8.5)/(int)(2.5);System.out.println("Nilai i kedua = "+i);y p ( );

}}

Alir kontrol Block ScopeAlir kontrol – Block Scope

• Apa output‐nya?public class Blok1 {p {public static void main (String[] args) {

int x = 10;{

int y =20;}}System.out.println(x);System.out.println(y);y p y

}}

Alir kontrol Block ScopeAlir kontrol – Block Scope

• Apa output‐nya?public class Blok2 {p {public static void main (String[] args) {

int x = 10;{

int y = 20;int x = 30;int x = 30;

}System.out.println(x);y p

}}

PercabanganPercabangan

Alir kontrol SeleksiAlir kontrol – Seleksi

class if1{public static void main(String[] args)public static void main(String[] args) {

int a = 12;if ( > 5)if (a > 5){

System.out.println("a lebih besar dari 5");}if (a>10){

System.out.println("a lebih besar dari 10");}

}}}

Alir kontrol SeleksiAlir kontrol – Seleksi

class if2{public static void main(String[] args)public static void main(String[] args) {

int a = -3;if ( > 5)if (a > 5)

System.out.println("a lebih besar dari 5 [1]");{

System.out.println("a lebih besar dari 5 [2]");}

}}

Alir kontrol SeleksiAlir kontrol – Seleksi

class if3{public static void main(String[] args)public static void main(String[] args) {

int a = 10;i t b 6int b = 6;if (a > 5 && b ==6) {

System.out.println("Ya");}else {

System.out.println("Tidak");}

}}}

ContohContoh

Switch CaseSwitch CaseH t k b t h t i t hHanya untuk byte, short, int, char

PerulanganPerulangan

Do whileDo while

Konversi Tipe DataKonversi Tipe DataS d f lt i t d i d l h• Secara default semua inputan dari pengguna adalah bertipe String

• Untuk perhitungan harus dilakukan konversi tipe dataUntuk perhitungan harus dilakukan konversi tipe data• X to String

– int to String:gint aInt = 1;String aString = Integer.toString(aInt);

St i t X• String to X– String to int:String aString = "78";String aString = 78 ;int aInt = Integer.parseInt(aString);

– Integer.valueOf(<nilaiString>).intValue();

KonversiKonversi

k l k k k i i d• Java akan melakukan konversi otomatis dengan ketentuan sbb.:– Apapun ditambahkan dengan tipe String menjadi StringTi b l t di ik d ti b l t– Tipe bulat dioperasikan dengan tipe bulat menghasilkan tipe bulat dengan membuang nilai desimalnyadesimalnya

– Jika dalam suatu ekspresi, terdapat tipe dengan kapasitas lebih tinggi, maka ekspresi akan p gg , pmenghasilkan nilai dengan tipe data dengan kapasitas tertinggi

Argumen ProgramArgumen Program

• Program yang dijalankan di console(command prompt) dapat menerima argumen ( p p ) p g/ parameter

• Semua argumen / parameter tersebut berupa• Semua argumen / parameter tersebut berupa Stringpublic static void main(String args[])

• args[] ‐> dapat berisi lebih dari satu data yang• args[] ‐> dapat berisi lebih dari satu data yang bertipe array of String

args[]args[]

• Berupa array 1 dimensi bertipe String• Cara pengaksesan:Cara pengaksesan:

– Looping:f (i i 0 i l h() i )for(int i=0;i<args.length();i++)

– Langsung akses ke indexnyaargs[1], dst...

Latihan & KumpulkanLatihan & Kumpulkan

LatihanLatihanFor statement

• Latihan– Bagaimana membuat tampilan seperti berikut?

– Bagaimana mambuat tampilan seperti berikut?

NEXTNEXT

• Pengenalan JAVA 2