Ridwan Montezari montezari@gmail.com
Dasar Pemrograman Java
Sejarah Java Proyek penelitian Sun Microsystem bernama Green pada tahun 1991. Oleh James Gosling diberi nama Oak. Nama Oak diganti menjadi Java dan diperkenalkan oleh Sun Microsystem pada tahun 1995 1995.
Karakteristik Java Simple Merupakan pemodelan dari bahasa C++ dengan memperbaiki beberapa karakteristik dari C++ seperti penambahan fungsionalitas dan pengurangan kompleksitas (menghilangkan multiple inheritance). Multiplatform f Bahasa Java dapat diterjemahkan oleh java interpreter pada berbagai macam sistem operasi (linux, windows, dll) . Object Oriented Bahasa Java membagi program menjadi objek‐objek yang kemudian memodelkan sifat dan tingkah laku masing‐masing objek dan selanjutnya mengatur interaksi antar objek. Multithreaded Thread adalah proses yang dapat dikerjakan oleh suatu program dalam suatu waktu sehingga dapat mengerjakan beberapa proses dengan waktu yang hampir bersamaan. Distributed Java dib t untuk membuat aplikasi t di t ib i l bih mudah d J dibuat t k b t lik i terdistribusi lebih d h dengan t tersedianya di Networking Library yang terintegrasi pada Java.
Perkembangan Java Saat ini Sun Microsystem membagi menjadi 4 jenis edisi : Java Card Digunakan pada peralatan elektronik yang memiliki memori sangat terbatas. Exp : Smart Card. J2ME ( (Java 2 Micro Edition) d ) 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 di aplikasi‐aplikasi browser 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 : 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 JRE berjalan. adalah Java Virtual Machine (JVM).
Fase Kompilasi dan Eksekusi
Java Virtual Machine (JVM) JVM menyediakan spesifikasi hardware dan platform dimana kompilasi kode Java terjadi. Spesifikasi inilah yang membuat aplikasi berbasis Java menjadi bebas dari platform manapun karena proses kompilasi diselesaikan oleh JVM. Aplikasi program Java diciptakan dengan file teks berekstensi .java. Program ini dikompilasi menghasilkan satu berkas bytecode berekstensi l b k t i .class atau l bih t lebih. Bytecode adalah serangkaian instruksi serupa instruksi kode mesin. Perbedaannya adalah kode mesin harus dijalankan pada sistem komputer dimana kompilasi ditujukan, sementara bytecode berjalan pada java interpreter yang tersedia di semua platform sistem komputer dan sistem operasi.
Garbage Collection Pengelolaan alokasi memory untuk pencegahan Memory leaks. Tidak Tid k perlu menghapus sendiri objek – objek yang l h di i bj k bj k tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori oleh pemrogram dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat pada bahasa y g p p yang memungkinkan alokasi dinamis.
Code Security Terimplementasi pada Java melalui penggunaan Java Runtime Environment (JRE). J Java menggunakan model pengamanan 3 lapis untuk gg p g p melindungi sistem dari untrusted Java Code : class‐loader : menangani pemuatan kelas Java ke runtime interpreter. Proses ini menyediakan pengamanan dengan memisahkan k l –kelas yang b i hk kelas k l berasal d i l l disk d l dari local di k dengan k l kelas – kelas yang diambil dari jaringan. bytecode verifier : membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan – aturan dasar bahasa Java Java. manajemen keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem y p ,p j g ,p windowing.
Java Development Kit (JDK) Merupakan seperangkat aplikasi dan library yang digunakan untuk mengembangkan program dengan bahasa java. Komponen utama dalam pemrograman java yang didalamnya terdapat : java => interpreter javac =>compiler javadoc => documentation generator jdb => debugger appletviewer => run and debug Java applets without a web browser. dll Instalasi pada Windows Set PATH dan JAVA_HOME pada Environment Variable set PATH=%PATH%;<your JavaBin directory> set JAVA_HOME=<your Java directory>
Contoh Program Java Sederhana class 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 mencari method ini sebagai titik awal eksekusi program. public => access specifier yang menentukan visibility level. static => method main() yang dipanggil tanpa harus terlebih dahulu membuat instance dari class Message Message. void => method main() tidak mengembalikan nilai apapun setelah dieksekusi. Main => nama method. String[] args =>method main menerima variabel dengan nama args dengan tipe String b i St i sebagai parameter. T d [] b t Tanda berarti args merupakan variabel array. ti k i b l
Identifier Nama yang digunakan untuk mengedintifikasikan elemen program, misalnya variabel, konstanta, nama kelas dll dll. Aturan : Tidak boleh diambil dari keyword atau true false null true, false, null. Boleh menggunakan huruf, angka, garis bawah, atau tanda dolar ($).
Keyword Kata yang mempunyai arti khusus sehingga tidak dapat digunakan sebagai identifier. Contoh : C h class extends public dll
Komentar Baris tunggal : // Baris banyak : /* …… */ Baris terdokumentasi : /** ….. */
Tipe Data Terdapat beberapa tipe data dasar atau primitif : Numerik bulat (byte,short,long,int) Numerik pecahan (float, double) Logika (boolean) Karakter (char) Contoh: int idx = 2; int hasil = idx*10;
Operator Dilakukan untuk melakukan pengolahan data increment/decrement : ++,‐‐ penambahan : + pengurangan : ‐ perkalian : * pembagian : / perbandingan : < <=,>,> ,==,! <,< > >= != kondisi : &&, || Assignment : = g
Operator Shorthand Bertujuan 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% i%5; Contoh
Variable dan Konstanta Variabel adalah suatu nama yang digunakan untuk menyimpan suatu nilai dari tipe data tertentu. Nilainya bersifat dinamis dinamis. int bilangan; Konstanta : variable yang nilainya tidak dapat berubah (nilainya statis). final double PI = 3.14; 3 4
Increment dan Decrement Modus operasi penambahan / pengurangan 1 nilai. Operator Nama ++var Preincrement var++ Postincrement ‐‐var Predecrement var‐‐ Postdecrement Contoh
Enumerasi Tipe data yang didefinisikan oleh programmer. Membuat daftar nilai‐nilai dalam jumlah terbatas. Contoh : enum hari {senin, selasa, rabu, kamis, jumat,sabtu, minggu}
Control Flow Statement if statement (if‐then atau if‐then‐else) switch statement
If Statement
Switch Statement
Looping Statement for statement while dan do‐while statement
for statement
while dan do‐while statement
Casting Casting diperlukan jika akan memaksakan/penyesuaian dari satu tipe data ke tipe data lainnya atau dari suatu tipe objek (class) atau ke tipe objek (class) lainnya
Array Variabel yang menyimpan sejumlah data Data yang tersimpan pada array mempunyai index. Fungsi “length” untuk mengetahui jumlah elemen pada array. length

Network Programming 2 - Dasar Pemrograman Java

  • 1.
    Ridwan Montezari montezari@gmail.com
  • 2.
  • 3.
    Sejarah Java Proyekpenelitian Sun Microsystem bernama Green pada tahun 1991. Oleh James Gosling diberi nama Oak. Nama Oak diganti menjadi Java dan diperkenalkan oleh Sun Microsystem pada tahun 1995 1995.
  • 4.
    Karakteristik Java Simple Merupakan pemodelan dari bahasa C++ dengan memperbaiki beberapa karakteristik dari C++ seperti penambahan fungsionalitas dan pengurangan kompleksitas (menghilangkan multiple inheritance). Multiplatform f Bahasa Java dapat diterjemahkan oleh java interpreter pada berbagai macam sistem operasi (linux, windows, dll) . Object Oriented Bahasa Java membagi program menjadi objek‐objek yang kemudian memodelkan sifat dan tingkah laku masing‐masing objek dan selanjutnya mengatur interaksi antar objek. Multithreaded Thread adalah proses yang dapat dikerjakan oleh suatu program dalam suatu waktu sehingga dapat mengerjakan beberapa proses dengan waktu yang hampir bersamaan. Distributed Java dib t untuk membuat aplikasi t di t ib i l bih mudah d J dibuat t k b t lik i terdistribusi lebih d h dengan t tersedianya di Networking Library yang terintegrasi pada Java.
  • 5.
    Perkembangan Java Saatini Sun Microsystem membagi menjadi 4 jenis edisi : Java Card Digunakan pada peralatan elektronik yang memiliki memori sangat terbatas. Exp : Smart Card. J2ME ( (Java 2 Micro Edition) d ) 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 di aplikasi‐aplikasi browser 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 : 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 JRE berjalan. adalah Java Virtual Machine (JVM).
  • 6.
  • 7.
    Java Virtual Machine(JVM) JVM menyediakan spesifikasi hardware dan platform dimana kompilasi kode Java terjadi. Spesifikasi inilah yang membuat aplikasi berbasis Java menjadi bebas dari platform manapun karena proses kompilasi diselesaikan oleh JVM. Aplikasi program Java diciptakan dengan file teks berekstensi .java. Program ini dikompilasi menghasilkan satu berkas bytecode berekstensi l b k t i .class atau l bih t lebih. Bytecode adalah serangkaian instruksi serupa instruksi kode mesin. Perbedaannya adalah kode mesin harus dijalankan pada sistem komputer dimana kompilasi ditujukan, sementara bytecode berjalan pada java interpreter yang tersedia di semua platform sistem komputer dan sistem operasi.
  • 8.
    Garbage Collection Pengelolaanalokasi memory untuk pencegahan Memory leaks. Tidak Tid k perlu menghapus sendiri objek – objek yang l h di i bj k bj k tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori oleh pemrogram dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat pada bahasa y g p p yang memungkinkan alokasi dinamis.
  • 9.
    Code Security Terimplementasipada Java melalui penggunaan Java Runtime Environment (JRE). J Java menggunakan model pengamanan 3 lapis untuk gg p g p melindungi sistem dari untrusted Java Code : class‐loader : menangani pemuatan kelas Java ke runtime interpreter. Proses ini menyediakan pengamanan dengan memisahkan k l –kelas yang b i hk kelas k l berasal d i l l disk d l dari local di k dengan k l kelas – kelas yang diambil dari jaringan. bytecode verifier : membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan – aturan dasar bahasa Java Java. manajemen keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem y p ,p j g ,p windowing.
  • 10.
    Java Development Kit(JDK) Merupakan seperangkat aplikasi dan library yang digunakan untuk mengembangkan program dengan bahasa java. Komponen utama dalam pemrograman java yang didalamnya terdapat : java => interpreter javac =>compiler javadoc => documentation generator jdb => debugger appletviewer => run and debug Java applets without a web browser. dll Instalasi pada Windows Set PATH dan JAVA_HOME pada Environment Variable set PATH=%PATH%;<your JavaBin directory> set JAVA_HOME=<your Java directory>
  • 11.
    Contoh Program JavaSederhana class 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 mencari method ini sebagai titik awal eksekusi program. public => access specifier yang menentukan visibility level. static => method main() yang dipanggil tanpa harus terlebih dahulu membuat instance dari class Message Message. void => method main() tidak mengembalikan nilai apapun setelah dieksekusi. Main => nama method. String[] args =>method main menerima variabel dengan nama args dengan tipe String b i St i sebagai parameter. T d [] b t Tanda berarti args merupakan variabel array. ti k i b l
  • 12.
    Identifier Nama yangdigunakan untuk mengedintifikasikan elemen program, misalnya variabel, konstanta, nama kelas dll dll. Aturan : Tidak boleh diambil dari keyword atau true false null true, false, null. Boleh menggunakan huruf, angka, garis bawah, atau tanda dolar ($).
  • 13.
    Keyword Kata yangmempunyai arti khusus sehingga tidak dapat digunakan sebagai identifier. Contoh : C h class extends public dll
  • 14.
    Komentar Baris tunggal: // Baris banyak : /* …… */ Baris terdokumentasi : /** ….. */
  • 15.
    Tipe Data Terdapatbeberapa tipe data dasar atau primitif : Numerik bulat (byte,short,long,int) Numerik pecahan (float, double) Logika (boolean) Karakter (char) Contoh: int idx = 2; int hasil = idx*10;
  • 16.
    Operator Dilakukan untukmelakukan pengolahan data increment/decrement : ++,‐‐ penambahan : + pengurangan : ‐ perkalian : * pembagian : / perbandingan : < <=,>,> ,==,! <,< > >= != kondisi : &&, || Assignment : = g
  • 17.
    Operator Shorthand Bertujuanuntuk 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% i%5; Contoh
  • 18.
    Variable dan Konstanta Variabel adalah suatu nama yang digunakan untuk menyimpan suatu nilai dari tipe data tertentu. Nilainya bersifat dinamis dinamis. int bilangan; Konstanta : variable yang nilainya tidak dapat berubah (nilainya statis). final double PI = 3.14; 3 4
  • 19.
    Increment dan Decrement Modus operasi penambahan / pengurangan 1 nilai. Operator Nama ++var Preincrement var++ Postincrement ‐‐var Predecrement var‐‐ Postdecrement Contoh
  • 20.
    Enumerasi Tipe datayang didefinisikan oleh programmer. Membuat daftar nilai‐nilai dalam jumlah terbatas. Contoh : enum hari {senin, selasa, rabu, kamis, jumat,sabtu, minggu}
  • 21.
    Control Flow Statement if statement (if‐then atau if‐then‐else) switch statement
  • 22.
  • 23.
  • 24.
    Looping Statement forstatement while dan do‐while statement
  • 25.
  • 26.
  • 27.
    Casting Casting diperlukanjika akan memaksakan/penyesuaian dari satu tipe data ke tipe data lainnya atau dari suatu tipe objek (class) atau ke tipe objek (class) lainnya
  • 28.
    Array Variabel yangmenyimpan sejumlah data Data yang tersimpan pada array mempunyai index. Fungsi “length” untuk mengetahui jumlah elemen pada array. length