network programming 2 - dasar pemrograman java

28
Ridwan Montezari Ridwan Montezari [email protected]

Upload: lia-rusdyana-dewi

Post on 30-Jun-2015

3.198 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Network Programming 2 - Dasar Pemrograman Java

Ridwan MontezariRidwan [email protected]

Page 2: Network Programming 2 - Dasar Pemrograman Java

DasarDasarPemrograman Java

Page 3: Network Programming 2 - Dasar Pemrograman Java

Sejarah JavaProyek penelitian Sun Microsystem bernama Green padatahun 1991.

Oleh James Gosling diberi nama Oak.

Nama Oak diganti menjadi Java dan diperkenalkan olehSun Microsystem pada tahun 1995Sun Microsystem pada tahun 1995.

Page 4: Network Programming 2 - Dasar Pemrograman Java

Karakteristik JavaSimple

Merupakan pemodelan dari bahasa C++ dengan memperbaiki beberapa karakteristikdari C++ seperti penambahan fungsionalitas dan pengurangan kompleksitas(menghilangkan multiple inheritance).

fMultiplatformBahasa Java dapat diterjemahkan oleh java interpreter pada berbagai macam sistemoperasi (linux, windows, dll) .

Object OrientedBahasa Java membagi program menjadi objek‐objek yang kemudian memodelkan sifat dan tingkah laku masing‐masing objek dan selanjutnya mengatur interaksi antar objek.

MultithreadedThread adalah proses yang dapat dikerjakan oleh suatu program dalam suatu waktu sehingga dapat mengerjakan beberapa proses dengan waktu yang hampir bersamaan.

DistributedJ dib t t k b t lik i t di t ib i l bih d h d t diJava dibuat untuk membuat aplikasi terdistribusi lebih mudah dengan tersedianyaNetworking Library yang terintegrasi pada Java.

Page 5: Network Programming 2 - Dasar Pemrograman Java

Perkembangan JavaSaat ini Sun Microsystem membagi menjadi 4 jenis edisi :

Java Card Digunakan pada peralatan elektronik yang memiliki memori sangat terbatas. Exp : Smart Card.

( d )J2ME (Java 2 Micro Edition)Digunakan untuk penerapan pada peralatan mobile device. Exp : Handphone, Pocket PC, PDA.

J2SE (Java 2 Standard Edition)Digunakan untuk aplikasi aplikasi dekstop dan applet (aplikasi java yang dapat dijalankan diDigunakan untuk aplikasi‐aplikasi dekstop dan applet (aplikasi java yang dapat dijalankan dibrowser web).

J2EE (Java 2 Enterprise Edition)Digunakan untuk aplikasi skala besar (Enterprise) , aplikasi server dan aplikasi terdistribusi.

Setiap edisi java terdiri dari 2 komponen utama :Setiap edisi java terdiri dari 2 komponen utama :Java Application Programming Interface (Java API).

Terdiri dari kumpulan library yang digunakan untuk keperluan pemrograman.Java Run Time Environment (JRE).

Linkungan yang membuat aplikasi java dapat berjalan Salah satu komponen terpenting JRELinkungan yang membuat aplikasi java dapat berjalan. Salah satu komponen terpenting JRE adalah Java Virtual Machine (JVM).

Page 6: Network Programming 2 - Dasar Pemrograman Java

Fase Kompilasi dan Eksekusi

Page 7: Network Programming 2 - Dasar Pemrograman Java

Java Virtual Machine (JVM)JVM menyediakan spesifikasi hardware dan platform dimanakompilasi kode Java terjadi. Spesifikasi inilah yang membuat aplikasi berbasis Java menjadi bebasdari platform manapun karena proses kompilasi diselesaikan olehdari platform manapun karena proses kompilasi diselesaikan olehJVM.Aplikasi program Java diciptakan dengan file teks berekstensi .java. Program ini dikompilasi menghasilkan satu berkas bytecodeb k t i l t l bih berekstensi .class atau lebih. Bytecode adalah serangkaian instruksi serupa instruksi kode mesin. Perbedaannya adalah kode mesin harus dijalankan pada sistemkomputer dimana kompilasi ditujukan, sementara bytecode berjalankomputer dimana kompilasi ditujukan, sementara bytecode berjalanpada java interpreter yang tersedia di semua platform sistem komputerdan sistem operasi.

Page 8: Network Programming 2 - Dasar Pemrograman Java

Garbage CollectionPengelolaan alokasi memory untuk pencegahanMemory leaks.Tid k l h di i bj k bj k Tidak perlu menghapus sendiri objek – objek yang tidak digunakan lagi.Fasilitas ini mengurangi beban pengelolaan memoriFasilitas ini mengurangi beban pengelolaan memorioleh pemrogram dan mengurangi atau mengeliminasisumber kesalahan terbesar yang terdapat pada bahasay g p pyang memungkinkan alokasi dinamis.

Page 9: Network Programming 2 - Dasar Pemrograman Java

Code SecurityTerimplementasi pada Java melalui penggunaan Java Runtime Environment (JRE). Java menggunakan model pengamanan 3 lapis untukJ gg p g 3 pmelindungi sistem dari untrusted Java Code :

class‐loader : menangani pemuatan kelas Java ke runtime interpreter. Proses ini menyediakan pengamanan dengan

i hk k l k l b l d i l l di k d k lmemisahkan kelas –kelas yang berasal dari local disk dengan kelas– kelas yang diambil dari jaringan. bytecode verifier : membaca bytecode sebelum dijalankan danmenjamin bytecode memenuhi aturan – aturan dasar bahasa Javamenjamin bytecode memenuhi aturan – aturan dasar bahasa Java.manajemen keamanan menangani keamanan tingkat aplikasidengan mengendalikan apakah program berhak mengakses sumberdaya seperti sistem file, port jaringan, proses eksternal dan sistemy p , p j g , pwindowing.

Page 10: Network Programming 2 - Dasar Pemrograman Java

Java Development Kit (JDK)Merupakan seperangkat aplikasi dan library yang digunakanuntuk mengembangkan program dengan bahasa java.Komponen utama dalam pemrograman java yang didalamnyaterdapat :terdapat :

java => interpreterjavac =>compilerjavadoc => documentation generatorjavadoc => documentation generatorjdb => debuggerappletviewer => run and debug Java applets without a web browser.dll

Instalasi pada WindowsSet PATH dan JAVA_HOME pada Environment Variable

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

Page 11: Network Programming 2 - Dasar Pemrograman Java

Contoh Program Java Sederhanaclass Message{

public static void main(String[] args){System.out.println("Hello World!");

}}

public static void main(String[] args)Baris kode diatas mendeklarasikan method dengan nama main. Java akan mencarimethod ini sebagai titik awal eksekusi program.public => access specifier yang menentukan visibility level.static => method main() yang dipanggil tanpa harus terlebih dahulu membuatinstance dari class Messageinstance dari class Message.void => method main() tidak mengembalikan nilai apapun setelah dieksekusi.Main => nama method.String[] args =>method main menerima variabel dengan nama args dengan tipeSt i b i t T d [] b ti k i b lString sebagai parameter. Tanda [] berarti args merupakan variabel array.

Page 12: Network Programming 2 - Dasar Pemrograman Java

Identifier Nama yang digunakan untuk mengedintifikasikanelemen program, misalnya variabel, konstanta, namakelas dllkelas dll.Aturan :

Tidak boleh diambil dari keyword atau true false nullTidak boleh diambil dari keyword atau true, false, null.Boleh menggunakan huruf, angka, garis bawah, atautanda dolar ($).

Page 13: Network Programming 2 - Dasar Pemrograman Java

KeywordKata yang mempunyai arti khusus sehingga tidakdapat digunakan sebagai identifier.C hContoh :

classextendsextendspublicdlldll

Page 14: Network Programming 2 - Dasar Pemrograman Java

KomentarBaris tunggal : //Baris banyak : /* …… */Baris terdokumentasi : /** ….. */

Page 15: Network Programming 2 - Dasar Pemrograman Java

Tipe DataTerdapat beberapa tipe data dasar atau primitif :

Numerik bulat (byte,short,long,int)Numerik pecahan (float, double)Logika (boolean)Karakter (char)Karakter (char)

Contoh:int idx = 2;int idx = 2;int hasil = idx*10;

Page 16: Network Programming 2 - Dasar Pemrograman Java

OperatorDilakukan untuk melakukan pengolahan data

increment/decrement : ++,‐‐penambahan : +pengurangan : ‐perkalian : *perkalian : *pembagian : /perbandingan : < <= > >= == !=perbandingan : <,< ,>,> , ,!kondisi : &&, ||Assignment : = g

Page 17: Network Programming 2 - Dasar Pemrograman Java

Operator ShorthandBertujuan untuk menyingkatkan penulisan

Operator Contoh Ekuivalen

+= i += 5 i = i+5;+ i + 5 i i+5;

‐= i ‐= 5 i = i‐5;

*= i *= 5 i = i*5;

/= i /= 5 i = i/5;

% i % i i%

Contoh

%= i %= 5 i = i%5;

Page 18: Network Programming 2 - Dasar Pemrograman Java

Variable dan KonstantaVariabel adalah suatu nama yang digunakan untukmenyimpan suatu nilai dari tipe data tertentu. Nilainya bersifat dinamisNilainya bersifat dinamis.

int bilangan; Konstanta : variable yang nilainya tidak dapat berubahKonstanta : variable yang nilainya tidak dapat berubah(nilainya statis).

final double PI = 3.14; 3 4

Page 19: Network Programming 2 - Dasar Pemrograman Java

Increment dan DecrementModus operasi penambahan / pengurangan 1 nilai.

Operator Nama

++var Preincrement

var++ Postincrement

‐‐var Predecrement

Contoh

var‐‐ Postdecrement

Page 20: Network Programming 2 - Dasar Pemrograman Java

EnumerasiTipe data yang didefinisikan oleh programmer.Membuat daftar nilai‐nilai dalam jumlah terbatas.Contoh :

enum hari {senin, selasa, rabu, kamis, jumat,sabtu, minggu}minggu}

Page 21: Network Programming 2 - Dasar Pemrograman Java

Control Flow Statementif statement (if‐then atau if‐then‐else)switch statement

Page 22: Network Programming 2 - Dasar Pemrograman Java

If Statement

Page 23: Network Programming 2 - Dasar Pemrograman Java

Switch Statement

Page 24: Network Programming 2 - Dasar Pemrograman Java

Looping Statementfor statementwhile dan do‐while statement

Page 25: Network Programming 2 - Dasar Pemrograman Java

for statement

Page 26: Network Programming 2 - Dasar Pemrograman Java

while dan do‐while statement

Page 27: Network Programming 2 - Dasar Pemrograman Java

CastingCasting diperlukan jika akanmemaksakan/penyesuaian dari satu tipe data ke tipedata lainnya atau dari suatu tipe objek (class) atau kedata lainnya atau dari suatu tipe objek (class) atau ketipe objek (class) lainnya

Page 28: Network Programming 2 - Dasar Pemrograman Java

ArrayVariabel yang menyimpan sejumlah dataData yang tersimpan pada array mempunyai index.Fungsi “length” untuk mengetahui jumlah elemen pada array.Fungsi length untuk mengetahui jumlah elemen pada array.