2018/2019
2
Karakteristik Java
Kelebihan dan Karakteristik Java Sintaks bahasa pemograman java adalah pengembangan dari bahasa
pemograman C/C++, sehingga dengan mereka yang sudah terbiasa dengan C/C++ tidak akan mengalami
kesulitan mempelajari bahasa pemograman Java. Java adalah bahasa pemograman yang sederhana dan
tangguh. Berikut ini adalah beberapa karakteristik dari Java sesuai dengan white paper dari SUN.
Berorientasi Object, Java telah menerapkan konsep pemograman berorientasi object yang modern
dalam implementasinya Robust, Java mendorong pemograman yang bebas dengan kesalahan yang
bersipat strongly typed dan memiliki run time checking. Protable, pemograman Java berjalan pada
system operasi apapun yang memiliki Java Virtual Machine. Multithreding, Java mendukung
pemograman multitreding dan terintegrasi secara langsung dalam bahasa Java. Dinamis, program Java
dapat melakukan sesuatu tindakan yang ditentukan pada saat eksekusi program dan pada saat
kompilasi. Sederhana, Java menggunakan bahasa yang sederhana dan mudah dipelajari. Terdistribusi,
Java didesain untuk berjalan pada lingkungan yang terdistribusi seperti halnya internet. Aman, aplikasi
yang dibuat dengan bahasa Java lebih dapat dijamin keamanannya terutama untul aplikasi internet.
Netral secara arsitektur, Java tidak terkait pada suatu mesin atau mesin operasi tertentu. 10.
Interpreted, aplikasi java bisa dieksekusi pada platform yang berbeda-beda karena melakukan
interpretasi pada bytecode. 11. Berkinerja tinggi, byte kode Java telah teroptimasi dengan baik sehingga
eksekusi program dapat dilakukan dengan cepat.
Pengertian NetBeans
NetBeans adalah Integrated Development Environment (IDE) berbasiskan Java dari Sun Microsystems
yang berjalan di atas Swing. Swing sebuah teknologi Java untuk pengembangan aplikasi Desktop yang
dapat bejalan di berbagai macam platforms seperti Windows, Linux, Mac OS X and Solaris. Suatu IDE
adalah lingkup pemrograman yang diintegrasikan kedalam suatu aplikasi perangkat lunak yang
menyediakan pembangun Graphic User Interface (GUI), suatu text atau kode editor, suatu compiler atau
interpreter dan suatu debugger. Netbeans merupakan software development yang Open Source,
dengan kata lain software ini di bawah pengembangan bersama, bebas biaya NetBeans merupakan
sebuah proyek kode terbuka yang sukses dengan pengguna yang sangat luas, komunitas yang terus
tumbuh, dan memiliki hampir 100 mitra. Sun Microsystems mendirikan proyek kode terbuka NetBeans
pada bulan Juni 2000 dan terus menjadi sponsor utama. Saat ini terdapat dua produk : NetBeans IDE
dan NetBeans Platform. The NetBeans IDE adalah sebuah lingkungan pengembangan – sebuah kakas
untuk pemrogram menulis, mengompilasi, mencari kesalahan dan menyebarkan program. Netbeans IDE
ditulis dalam Java – namun dapat mendukung bahasa pemrograman lain. Terdapat banyak modul untuk
memperluas Netbeans IDE. Netbeans IDE adalah sebuah produk bebas dengan tanpa batasan
bagaimana digunakan. Tersedia juga NetBeans Platform sebuah fondasi yang modular dan dapat
diperluas yang dapat digunakan sebagai perangkat lunak dasar untuk membuat aplikasi desktop yang
3
besar. Mitra ISV menyediakan plug-in bernilai tambah yang dapat dengan mudah diintegrasikan ke
dalam Platform dan dapat juga digunakan untuk membuat kakas dan solusi sendiri. Kedua produk
adalah kode terbuka (open source) dan bebas (free) untuk penggunaan komersial dan non komersial.
Kode sumber tersedia untuk guna ulang dengan lisensi Common Development and Distribution License
(CDDL). 2. Kelebihan dan Kekurangan Netbeans Kelebihan NetBeans GUI Builder : Salah satu yang
menjadi kelebihan NetBeans GUI Builder adalah yang telah disebutkan diatas, yaitu GRATIS. Selain itu
NetBeans GUI Builder sangat kompetebel dengan Swing karena memang langsung dikembangkan oleh
Sun yang notabenenya sebagai pengembang Swing. Kekurangan NetBeans GUI Builder : NetBeans hanya
mensupport 1 pengembangan Java GUI, yaitu Swing, yang padahal ada Java GUI yang dikembangkan
oleh eclipse yang bernama SWT dan JFace yang sudah cukup populer. NetBeans mempatenkan source
untuk Java GUI yang sedang dikerjakan dalam sebuah Generated Code, sehingga programmer tak dapat
mengeditnya secara manual.
Awal Sejarah Netbeans
NetBeans dimulai pada tahun 1996 sebagai Xelfi (kata bermain pada Delphi ), Java IDE proyek
mahasiswa di bawah bimbingan Fakultas Matematika dan Fisika di Charles University di Praha . Pada
tahun 1997 Staněk Romawi membentuk perusahaan sekitar proyek tersebut dan menghasilkan versi
komersial NetBeans IDE hingga kemudian dibeli oleh Sun Microsystems pada tahun 1999. Komunitas
NetBeans sejak terus tumbuh, berkat individu dan perusahaan yang menggunakan dan berkontribusi
dalam proyek ini.
versi Lancar
NetBeans IDE 6.0 memperkenalkan dukungan untuk mengembangkan modul IDE dan aplikasi klien kaya
berdasarkan platform NetBeans, Java Swing GUI builder (sebelumnya dikenal sebagai “Proyek Matisse”),
meningkatkan CVS dukungan, WebLogic 9 dan JBoss 4 dukungan, dan perangkat tambahan banyak
editor. NetBeans 6 is available in official repositories of major Linux distributions. NetBeans 6 tersedia
dalam repositori resmi dari distribusi Linux utama.
Selain itu, NetBeans Enterprise Pack mendukung pengembangan aplikasi Java EE 5 perusahaan,
termasuk SOA alat desain visual, skema XML tools, web orkestrasi layanan (untuk BPEL), dan UML
modeling. The NetBeans IDE Bundle for C/C++ supports C/C++ development. The NetBeans IDE Bundle
untuk C / C + + mendukung C / C + + pembangunan.
Hosting pengembang sumber terbuka proyek di kenai.com tambahan manfaat dari instant messaging
dan pelacakan masalah integrasi dan navigasi kanan dalam IDE, dukungan untuk pengembangan aplikasi
web dengan PHP 5.3 dan kerangka Symfony, dan kode selesai diperbaiki, layout, petunjuk dan navigasi
dalam proyek JavaFX.
dirilis pada bulan Juni 2010, menambahkan dukungan untuk OSGi , Spring Framework 3.0, Java EE injeksi
ketergantungan (JSR-299), Zend Framework untuk PHP , dan navigasi kode lebih mudah (seperti
“Apakah / ditimpa Penerapan” penjelasan), format , petunjuk, dan refactoring di beberapa bahasa.
1. Deklarasi Package
2. Impor Library
3. Bagian Class
4. Method Main
1. Deklarasi Package
Package merupakan sebuah folder yang berisi sekumpulan program Java.
Deklarasi package biasanya dilakukan saat membuat program atau aplikasi besar.
Contoh deklarasi package:
4
package com.petanikode.program;
Biasanya nama package mengikuti nama domain dari sebauh vendor yang mengeluarkan program
tersebut.
Pada contoh di atas, com.petanikode adalah nama domain dari petani kode.
Aturannya: nama domain dibalik, lalu diikuti nama programnya.
Bagaimana kalau kita tidak mendeklarasikan package?
Boleh-boleh saja dan programnya akan tetap bisa jalan.
Tapi nanti saat produksi, misalnya saat membuat aplikasi Android.
Kita wajib mendeklarasikan package.
2. Bagian Impor
Pada bagian ini, kita melakukan impor library yang dibutuhkan pada program.
Library merupakan sekumpulan class dan fungsi yang bisa kita gunakan dalam membuat program.
Contoh impor library:
import java.util.Scanner;
Pada contoh tersebut, kita mengimpor class Scanner dari package java.util.
3. Bagian Class
Java merupakan bahasa pemrograman yang menggunakan paradigma OOP (Object Oriented
Programming).
Setiap program harus dibungkus di dalam class agar nanti bisa dibuat menjadi objek.
Kalau kamu belum paham apa itu OOP?
Cukup pahami class sebagai deklarasi nama program.
class NamaProgram {
public static void main(String args[]){
System.out.println("Hello World");
}
}
4. Method Main
Method main() atau fungsi main() merupakan blok program yang akan dieksekusi pertama kali.
Ini adalah entri point dari program.
Method main() wajib kita buat. Kalau tidak, maka programnya tidak akan bisa dieksekusi.
Contoh method main().
System.out.println("Hello World");
System.out.println("Hello World");
System.out.println("Apa kabar?");
var x = 3;
var y = 8;
var z = x + y;
Statemen dan ekspresi akan menjadi instruksi yang akan dikerjakan oleh komputer.
Pada contoh di atas, kita menyuruh komputer untuk menampilkan teks "Hello World", dan "Apa
kabar?".
Lalu kita menyuruhnya untuk menghitung nilai x + y.
Intinya: jika kamu menemukan kurung { dan }, maka itu adalah sebauh blok program.
Blok program dapat juga berisi blok program yang lain (nested).
Pada contoh di atas, blok program main() berisi blok if dan for.
Mmemberi keterangan pada kode program;
Menonaktifkan fungsi tertentu;
Membuat dokumentasi;
dll.
Penulisan komentar pada java, sama seperti pada bahasa C. Yaitu menggunakan:
System.out.println("Hello World");
// komentar akan diabaikan oleh komputer
// berikut ini fungsi yang di-non-aktifkan dengan komentar
// System.out.println("Hello World");
/*
Ini adalah penulisan komentar
yang lebih dari
satu baris
*/
}
System.out.println(nama);
System.out.println(Nama);
System.out.println(NAMA);
Tiga variabel tersebut merupakan tiga variabel yang bebeda, mesikipun sama-sama bernam nama.
Banyak pemula yang sering salah pada hal ini. Karena tidak bisa membedakan mana variabel yang
menggunakan huruf besar dan mana yang menggunakan huruf kecil.
Apabila kita membuat variabel seperti ini:
System.out.println(jenisKelamin);
System.out.println(jeniskelamin);
class HelloWOrld {
//...
}
Perhatikan nama class-nya, kita menggunakan huruf kapital di awal, dan huruf kapital pada
huruf W untuk memisahkan dua suku kata.
Sedangkan camelCase huruf depannya menggunakan huruf kecil, dan awalan suku kata berikutnya
menggunakan huruf besar.
// ini camelCase
belajarJava
// ini PascalCase
BelajarJava
Lalu, penulisan ALL UPPER atau semaunya kapital digunakan pada pembuatan nama konstanta.
Contoh:
Untuk penulisan dua suku kata atau lebih, ALL UPPER dipisah dengan garus bawah atau underscore (_).
Apakah boleh saya menulis sembarangan?
Misal untuk nama class menggunakan ALL UPPER?
Boleh-boleh saja, programnya tidak akan error. Tetapi kode program yang kamu tulis akan terlihat kotor
dan keluar dari garis pandu yang sudah ditetapkan.
Membuat Variabel
Hal yang perlu diketahui dalam pembuatan variabel di java adalah cara penulisannya.
Formatnya seperti ini:
Contoh:
Membuat variabel kosong bertipe integer:
int namaVariabel;
int a, b, c;
1. Di dalam fungsi main(): variabel yang ditulis di dalam fungsi main() dan fungsi yang lainnya
disebut variabel lokal.
2. Di dalam class: Variabel ini disebut variabel class atau global.
Bingung…?
Pada jendela yang muncul, isi nama kelasnya dengan DataDiri. Setelah itu, silahkan ikuti kode berikut.
9
Setelah itu, coba jalankan dengan menekan tombol [Shift]+[F6]. Analisa dan pahami maksud kode-kode
di atas.
Algoritma
Deklarasi:
Double luas, PI
int r
Deskripsi:
- Input
PI = 3.14
r = 18
- Proses
luas = PI * r * r
- Output
cetak luas
Flow Chart:
11
Air yang bentuknya cair tidak bisa disimpan dalam kardus. Karena itu, air harus konversi dulu menjadi
bentuk padat (es) agar bisa disimpan dalam kardus.
Begitu juga dengan variabel.
Tipe data string tidak akan bisa disimpan dalam variabel dengan tipe integer.
Integer.perseInt(variabel);
Integer.perseInt(1.2);
Cara 2:
12
Integer.valueOf(2.1);
Cara 3:
objek.toInt();
Cara 4:
(int) variabel;
(int) 2.1;
package pertemuan2;
import java.util.Scanner;
public class LuasSegitia {
public static void main(String[] args) {
// deklarasi
Double luas;
int alas, tinggi;
// mebuat scanner baru
Scanner baca = new Scanner(System.in);
// Input
System.out.println("== Program hitung luas Segitiga ==");
System.out.print("Input alas: ");
alas = baca.nextInt();
System.out.print("Input tinggi: ");
tinggi = baca.nextInt();
// proses
luas = Double.valueOf((alas * tinggi) / 2);
// output
System.out.println("Luas = " + luas);
}
}
Variabel luas bertipe data Double, berarti nilai yang bisa disimpan adalah Double.
Sedangkan variabel alas dan tinggi bertipe Integer.
Agar hasil operasi data integer dapat disimpan dalam variabel bertipe double, maka perlu dikonversi.
Kalau dijalankan, akan menghasilkan:
13
Cara Buatnya
1. Buka netbeans lalu klik file->New Project atau klik logo yang sudah dilingkarin -> klik Java -> klik Java
Aplikasi -> Next.
14
3. klik kanan di project atau ChatMe.java lalu delet(karena filenya tidak ada bentuk form nya) -> klik
kanan pada file project -> klik new -> JFrame Form...
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
/**
*
* @author Habibi Mustafa
* NIM: 13651074
*/
public class ChatMe extends javax.swing.JFrame implements Runnable {
/**
* Creates new form ChatMe
*/
public ChatMe() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
});
btnConnect.setText("On");
btnConnect.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnConnectActionPerformed(evt);
}
});
txtUsername.setText("Username");
btnSend.setText("Send");
btnSend.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnSendActionPerformed(evt);
}
});
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(cboConnection, javax.swing.GroupLayout.PREFERRED_SIZE, 32,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(txtUsername, javax.swing.GroupLayout.PREFERRED_SIZE, 32,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(listMessege, javax.swing.GroupLayout.PREFERRED_SIZE, 454,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
17
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
.addComponent(txtMessege)
.addComponent(btnSend, javax.swing.GroupLayout.DEFAULT_SIZE, 32, Short.MAX_VALUE))
.addContainerGap(29, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
cboConnection.setEnabled(false);
server_reader = new BufferedReader(new InputStreamReader(client.getInputStream()));
server_writer = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
btnConnect.setText("Putuskan");
} catch (UnknownHostException e){
System.err.println("Akses ke server gagal!");
System.exit(-1);
} catch (IOException e){
Logger.getLogger(ChatMe.class.getName()).log(Level.SEVERE, null, e);
}
}
/**
19
@Override
public void run() {
while (true) {
try {
listMessege.add(server_reader.readLine());
} catch (IOException e) {
Logger.getLogger(ChatMe.class.getName()).log(Level.SEVERE, null, e);
}
}
}
}
20
Design
1. Buat lah platform sesuai yang anda ingin kan atau ikutin yg ada di atas ini
2. klik kanan pada ChatMe.java atau platform yang baru saja dibuat atau bisa shift+F6, buka dua aplikasi
yang sudah dibuat.
21
3. kalau sudah tulis nickname server dan client -> klik on terlebih dahulu di server lalu klik publish di
client -> tulis "localhist" di input lalu ok, dengan begitu server dan client saling terhubung.
Referensi:
Google.com