Definisi Java Netbeans 

Pengertian Java dan JDK 

Java yaitu   sebuah teknologi yang diperkenalkan oleh Sun Microsysytems pada pertengahan tahun 

1990. Menurut definisi Sun, Java yaitu   nama untuk sekumpulan teknologi untuk membuat dan 

menjalankan perangkat lunak pada computer standalone ataupun pada lingkungan jaringan. Kita lebih 

menyukai Java sebagai sebuah teknologi disbanding hanya sebuah bahasa pemrograman, karena Java 

lebih lengkap karena Java lebih lengkap dibanding sebuah bahasa pemrograman konvensional. 

Teknologi Java memiliki tiga komponen penting, yaitu: · Programming-language specification · 

Application-programming interface · Virtual-machine specification JDK (Java Development Kit) Java 

Development Kit (JDK) yaitu   Sun Microsystems produk ditujukan untuk pengembang Java. Sejak 

diperkenalkannya Java, telah jauh SDK Java yang paling banyak digunakan. Pada tanggal 17 November 

2006, Sun mengumumkan bahwa akan dirilis di bawah GNU General Public License (GPL), sehingga 

membuat perangkat lunak bebas. Hal ini terjadi sebagian besar pada tanggal 8 Mei 2007 [3]; Sun 

kontribusi kode sumber untuk JDKOpen. JRL (Java Research License) JRL (JAVA RESEARCH LICENSE) ini 

dibuat khusus untuk universitas dan peneliti yang ingin menggunakan teknologi Java [tm] sebagai 

subyek pembelajaran dan penelitian. Ia ditulis untuk menyederhanakan dan bersantai persyaratan 

bagian yang ada “penelitian” dari SCSL saat ini. JRL yaitu   lisensi yang diciptakan khusus untuk 

universitas dan peneliti yang ingin menggunakan teknologi Java sebagai subyek pembelajaran dan 

penelitian. itu ditulis untuk menyederhanakan dan bersantai persyaratan bagian yang ada “penelitian” 

dari SCSL saat ini. NetBeans NetBeans mengacu pada kedua kerangka platform untuk aplikasi desktop 

Java, dan sebuah lingkungan pengembangan terpadu (IDE) untuk pengembangan dengan Java, 

JavaScript, PHP, Python, Ruby, Groovy, C, C + +, Scala, Clojure, dan lain-lain. NetBeans IDE ditulis dalam 

Java dan berjalan di mana-mana di mana JVM yang diinstal, termasuk Windows, Mac OS, Linux, dan 

Solaris. Sebuah JDK diperlukan untuk pengembangan fungsionalitas Java, tetapi tidak diperlukan untuk 

pembangunan di bahasa pemrograman lain. Platform NetBeans memungkinkan aplikasi untuk 

dikembangkan dari satu set komponen perangkat lunak moduler yang disebut modul. Aplikasi berbasis 

platform NetBeans (termasuk IDE NetBeans) dapat diperpanjang oleh pengembang pihak ketiga. 

 

Karakteristik Java 

Kelebihan dan Karakteristik Java Sintaks bahasa pemograman java yaitu   pengembangan dari bahasa 

pemograman C/C++, sehingga dengan mereka yang sudah terbiasa dengan C/C++ tidak akan mengalami 

kesulitan mempelajari bahasa pemograman Java. Java yaitu   bahasa pemograman yang sederhana dan 

tangguh. Berikut ini yaitu   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 yaitu   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 

yaitu   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 yaitu   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 yaitu   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 

 

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 

yaitu   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 yaitu   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. 

Struktur Dasar Program Java 

Struktur program Java secara umum dibagi menjadi 4 bagian: 

1. Deklarasi Package 

2. Impor Library 

3. Bagian Class 

4. Method Main 

 

Mari kita lihat contohnya: 

package com.petanikode.program; //<- 1. deklarasi package 

import java.io.File; //<- 2. Impor library 

class Program { //<- 3. Bagian class 

    public static void main(String args[]){ //<- 4. Method main 

        System.out.println("Hello World"); 

    } 

Mari kita bahas, satu-per-satu… 

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: 

 

package com.petanikode.program; 

Biasanya nama package mengikuti nama domain dari sebauh vendor yang mengeluarkan program 

tersebut. 

Pada contoh di atas, com.petanikode yaitu   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"); 

    } 

Ini yaitu   blok class. 

Blok class dibuka dengan tanda kurung kurawal { kemudian ditutup atau diakhiri dengan }. 

Di dalam blok class, kita dapat mengisinya dengan method atau fungsi-fungsi dan juga variabel. 

Pada contoh di atas, terdapat method main(). 

4. Method Main 

Method main() atau fungsi main() merupakan blok program yang akan dieksekusi pertama kali. 

Ini yaitu   entri point dari program. 

Method main() wajib kita buat. Kalau tidak, maka programnya tidak akan bisa dieksekusi. 

Contoh method main(). 

public static void main(String args[]){ 

    System.out.println("Hello World"); 

Penulisannya harus seperti ini… 

Method main() memiliki parameter args[]. Parameter ini nanti akan menyimpan sebuah nilai dari 

argumen di command line. 

Silahkan baca: Apa Fungsi String[] args pada Pemrograman Java? 

Lalu di dalam method main(), terdapat statement atau fungsi: 

System.out.println("Hello World"); 

Ini yaitu   fungsi untuk menampilkan teks ke layar monitor. 

 

Statement dan Ekspresi pada Java 

Statement dan eksrepsi yaitu   bagian terkecil dalam program. Setiap statement dan ekspresi di Java, 

harus diakhiri dengan titik koma (;). 

Contoh statemen dan ekspresi: 

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. 

Blok Program Java 

Blok program merupakan kumpulan dari statement dan ekspresi yang dibungkus menjadi satu. 

Blok program selalu dibuka dengan kurung kurawal { dan ditutup dengan }. 

Contoh blok program: 

// blok program main 

public static void main(String args[]){ 

    System.out.println("Hello World"); 

    System.out.println("Hello Kode"); 

    // blok program if 

    if( true ){ 

        System.out.println('True'); 

    } 

    // blok program for 

    for ( int i = 0; i<10; i++){ 

        System.out.println("Perulangan ke"+i); 

    } 

Intinya: jika kamu menemukan kurung { dan }, maka itu yaitu   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. 

 

Penulisan Komentar pada Java 

Komentar merupakan bagian program yang tidak akan dieksekusi oleh komputer. 

Komentar biasanya digunakan untuk: 

 Mmemberi keterangan pada kode program; 

 Menonaktifkan fungsi tertentu; 

 Membuat dokumentasi; 

 dll. 

Penulisan komentar pada java, sama seperti pada bahasa C. Yaitu menggunakan: 

1. Garis miring ganda (//) untuk komentar satu baris; 

2. Garis miring bintang (/*...*/) untuk komentar yang lebih dari satu baris. 

Contoh: 

public static void main(String args[]){ 

    // ini yaitu   komentar satu baris 

 

    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 yaitu   penulisan komentar 

    yang lebih dari 

    satu baris 

    */ 

Penulisan String dan Karakter 

String merupakan kumpulan dari karakter. Kita sering mengenalnya dengan teks. 

Contoh string: "Hello world" 

Aturan penulisan string pada Java, harus diapit dengan tanda petik ganda seperti pada contoh di atas. 

Apabila diapit dengan tanda petik tunggal, maka akan menjadi sebuah karakter. 

Contoh: 'Hello world'. 

Jadi harap dibedakan: 

 Tanda petik ganda ("...") untuk membuat string; 

 Sedangkan tanda petik tunggal ('...') untuk membuat karakter. 

Case Sensitive 

Java bersifat Case Sensitive, artinya huruf besar atau kapital dan huruf kecil dibedakan. 

Contoh: 

String nama = "Petani Kode"; 

String Nama = "petanikode"; 

String NAMA = "Petanikode.com"; 

 

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: 

String jenisKelamin = "Laki-laki"; 

Maka kita harus memanggilnya seperti ini: 

System.out.println(jenisKelamin); 

Bukan seperti ini: 

System.out.println(jeniskelamin); 

Perhatikan, huruf K yaitu   huruf kapital. 

Gaya Penulisan Case 

Gaya penulisan case (case style) yang digunakan oleh Java yaitu  : camelCase, PascalCase, dan ALL 

UPPER. 

Gaya penulisan camelCase digunakan pada nama variabel, nama objek, dan nama method. 

Contoh: 

 

String namaSaya = "Dian"; 

Lalu untuk PascalCase digunakan pada penulisan nama class. 

Contoh: 

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: 

public final String DB_NAME = "petanikode"; 

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. 

 

 

Belajar Pemrograman Java: Variabel dan Tipe Data 

 

Variabel yaitu   tempat menyimpan nilai sementara. 

Itu saja. 

Serius? 

Iya serius, kalau mau yang lebih panjang… 

…coba kita lihat pengertiannya dari Wikipedia: 

Variabel: (Lat) 1. berubah-ubah, tidak tetap; 2. deklarasi sesuatu yang memiliki variasi nilai 3. berbeda-

beda dalam bahasa pemrograman disebut juga simbol yang mewakili nilai tertentu, variabel yang 

dikenal di sub program disebut variabel lokal. sedang yang di kenal secara umum/utuh dalam satu 

program disebut variabel global. 

Nah, ngerti gak? 

Kalau tidak, cukuplah pahami: Variabel sebagai tempat menyimpan nilai sementara. 

Lalu, apa itu tipe data? 

Tipe data yaitu   jenis data yang tersimpan dalam variabel. 

Macam-macam Tipe Data 

Berikut ini macam-macam tipe data pada Java: 

 char: Tipe data karakter, contoh Z 

 int: angka atau bilangan bulat, contoh 29 

 float: bilangan desimal, contoh 2.1 

 double: bilangan desimal juga, tapi lebih besar kapasistanya, contoh 2.1 

 String: kumpulan dari karakter yang membentuk teks, contoh Hello World! 

 boolean: tipe data yang hanya bernilai true dan false 

 

Membuat Variabel 

Hal yang perlu diketahui dalam pembuatan variabel di java yaitu   cara penulisannya. 

Formatnya seperti ini: 

<tipe data> namaVariabel; 

Contoh: 

Membuat variabel kosong bertipe integer: 

int namaVariabel; 

Membuat variabel bertipe integer dan langsung diisi nilai: 

int namaVariabel = 19; 

Membuat sekumpulan variabel yang tipe datanya sama: 

int a, b, c; 

Lalu, dimana itu ditulis? 

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…? 

Mari Kita Coba Latihan dengan Membuat Program DataDiri 

Buatlah program baru bernama DataDiri. Silahkan tambahkan kelas (java class) baru di 

paket (package) pertemuan1. 

 

 

Pada jendela yang muncul, isi nama kelasnya dengan DataDiri. Setelah itu, silahkan ikuti kode berikut. 

 

 

 

Setelah itu, coba jalankan dengan menekan tombol [Shift]+[F6]. Analisa dan pahami maksud kode-kode 

di atas. 

 

Hasil outputnya sepertinya salah. 

Usia kok nilianya alamat, mengapa demikian? 

Itu disebabkan karena kita memanggil variabel alamat pada baris usia. 

Jadi yang akan tampil yaitu   isi dari variable alamat, bukan isi dari variabel usia. 

Perbaikilah kodenya menjadi seperti ini: 

 

 

10 

 

 

Dan, … silahkan coba jalankan kembali programnya. 

 

Yap! hasilnya sudah benar. 

Aturan Penulisan Variabel 

Ternyata tidak boleh sembarangan dalam membuat variabel. 

Ada aturan yang harus diikuit, diantaranya: 

 Nama variabel tidak boleh menggunakan kata kunci dari Java (reserved word) seperti if, for, switch, dll. 

 Nama variabel boleh menggunakan huruf, angka (0-9), garis bawah (underscore), dan symbol dollar ($), 

namun penggunaan garis bawah dan symbol lebih baik dihindari. 

 Nama variabel harus diawali dengan huruf kecil, karena Java menggunakan gaya CamelCase. 

 Apabila nama variabel lebih dari 1 suku kata, maka kata ke-2 dituliskan dengan diawali dengan 

huruf besar dan seterusnya, contoh namaVariabel. 

Latihan Ke-2: Program LuasLingkaran 

Mari kita mantapkan pemahaman dengan membuat program LuasLingkaran. 

Program ini fungsinya untuk menghitung luas lingkaran. 

Luas lingkaran dapat kita hitung dengan rumus PI x r2. 

Sebelum memulai memrogram, sebaiknya kita pahami dulu algoritma dan flowchart-nya: 

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 

 

Nah, sudah jelas kan? 

Sekarang kita tinggal coding saja. 

 

Silahkan dieksekusi dan pertahikan hasilnya. 

Konversi Tipe Data 

Konversi artinya merubah ke jenis yang lain. 

Kenapa kita perlu konversi tipe data? 

Untuk menjawabnya, saya ingin tunjukan ilustrasi berikut ini: 

 

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. 

Cara Konversi Tipe Data 

Contoh: Konversi ke tipe integer 

Cara 1: 

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; 

Ternyata, ada banyak sekali cara. 

Mari Kita Coba dalam Program… 

Buatlah kelas (java class) baru di paket pertemuan2. 

Berikan nama: LuasSegitiga. 

Kemudian ikuti kode program berikut: 

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 yaitu   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 

 

  

Membuat Client dan Server aplikasi chat: 

aplikasi chat ini akan berguna untuk berkomunikasi antara server dengan client secara langsung, aplikasi 

chat ini bisa ditrapkan di kantor seandainya internet down atau mati bisa langsung komunikasi secara 

langsung ke server disebabkan chat ini jaringannya local. 

Perangkat yang dibutuhkan: 

1. aplikasi netbeans versi 1.8 

2. aplikasi java se jdk versi 1.7(sesuaikan dengan netbeansnya) 

 

Cara Buatnya 

 

 

 

1.  Buka netbeans lalu klik file->New Project atau klik logo yang sudah dilingkarin -> klik Java -> klik Java 

Aplikasi -> Next. 

 

 

14 

 

 

 

2. Tulis nama project yang diinginkan lalu klik finish. 

 

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... 

 

 

 

4. Tulis nama project yang diinginkan lalu klik finish 

 

5. Hasilnya jadi seperti ini.

15 

 

Sourch code untuk ChatMe.java : 

/* 

 * To change this license header, choose License Headers in Project Properties. 

 * To change this template file, choose Tools | Templates 

 * and open the template in the editor. 

 */ 

package chatme; 

 

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 { 

     

    Socket client; // class socket untuk client 

    ServerSocket server; // class socket untuk server 

    BufferedReader server_reader, client_reader; // buffered messege 

    BufferedWriter server_writer, client_writer; // buffered typing 

 

    /** 

     * 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() { 

 

        jPanel1 = new javax.swing.JPanel(); 

        cboConnection = new javax.swing.JComboBox<String>(); 

        btnConnect = new javax.swing.JButton(); 

        txtUsername = new javax.swing.JTextField(); 

        txtMessege = new javax.swing.JTextField(); 

        btnSend = new javax.swing.JButton(); 

        listMessege = new java.awt.List(); 

 

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 

 

        cboConnection.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Server", "Client" 

})); 

        cboConnection.addItemListener(new java.awt.event.ItemListener() { 

            public void itemStateChanged(java.awt.event.ItemEvent evt) { 

                cboConnectionItemStateChanged(evt); 

            } 

16 

 

        }); 

 

        btnConnect.setText("On"); 

        btnConnect.addActionListener(new java.awt.event.ActionListener() { 

            public void actionPerformed(java.awt.event.ActionEvent evt) { 

                btnConnectActionPerformed(evt); 

            } 

        }); 

 

        txtUsername.setText("Username"); 

 

        txtMessege.setText("Your messege here..."); 

 

        btnSend.setText("Send"); 

        btnSend.addActionListener(new java.awt.event.ActionListener() { 

            public void actionPerformed(java.awt.event.ActionEvent evt) { 

                btnSendActionPerformed(evt); 

            } 

        }); 

 

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); 

        jPanel1.setLayout(jPanel1Layout); 

        jPanel1Layout.setHorizontalGroup( 

            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 

            .addGroup(jPanel1Layout.createSequentialGroup() 

                .addContainerGap() 

                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 

                    .addGroup(jPanel1Layout.createSequentialGroup() 

                        .addComponent(cboConnection, javax.swing.GroupLayout.PREFERRED_SIZE, 82, 

javax.swing.GroupLayout.PREFERRED_SIZE) 

                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 

                        .addComponent(btnConnect, javax.swing.GroupLayout.PREFERRED_SIZE, 79, 

javax.swing.GroupLayout.PREFERRED_SIZE) 

                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 

                        .addComponent(txtUsername)) 

                    .addGroup(jPanel1Layout.createSequentialGroup() 

                        .addComponent(txtMessege, javax.swing.GroupLayout.PREFERRED_SIZE, 285, 

javax.swing.GroupLayout.PREFERRED_SIZE) 

                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 

                        .addComponent(btnSend, javax.swing.GroupLayout.PREFERRED_SIZE, 79, 

javax.swing.GroupLayout.PREFERRED_SIZE) 

                        .addGap(0, 0, Short.MAX_VALUE)) 

                    .addComponent(listMessege, javax.swing.GroupLayout.DEFAULT_SIZE, 

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 

                .addContainerGap()) 

        ); 

        jPanel1Layout.setVerticalGroup( 

            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 

            .addGroup(jPanel1Layout.createSequentialGroup() 

                .addContainerGap() 

                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 

                    .addComponent(btnConnect, javax.swing.GroupLayout.PREFERRED_SIZE, 32, 

javax.swing.GroupLayout.PREFERRED_SIZE) 

                    

.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)) 

        ); 

 

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 

        getContentPane().setLayout(layout); 

        layout.setHorizontalGroup( 

            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 

            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 

        ); 

        layout.setVerticalGroup( 

            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 

            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 

        ); 

 

        pack(); 

    }// </editor-fold>                         

 

    private void btnConnectActionPerformed(java.awt.event.ActionEvent evt) {                                            

        if(btnConnect.getText().equals("Hubungkan")){ 

            btnConnect.setText("Putuskan"); 

            client_connection(); 

            Thread thread = new Thread(this); 

            thread.start(); 

        } else if (cboConnection.getSelectedItem().equals("Server")){ 

            btnConnect.setText("OFF"); 

            read_connection(); 

            Thread thread = new Thread(this); 

            thread.start(); 

        } 

    }                                           

 

    private void btnSendActionPerformed(java.awt.event.ActionEvent evt) {                                         

        try { 

            server_writer.write(txtUsername.getText() + ": " + txtMessege.getText()); 

            server_writer.newLine(); 

            server_writer.flush(); 

        } 

        catch (IOException e){ 

            Logger.getLogger(ChatMe.class.getName()).log(Level.SEVERE, null, e); 

        } 

        listMessege.add("Me: "+txtMessege.getText()); 

        txtMessege.setText(""); 

    }                                        

 

    private void cboConnectionItemStateChanged(java.awt.event.ItemEvent evt) {                                                

        if(cboConnection.getSelectedItem().equals("Server")){ 

            btnConnect.setText("ON"); 

            txtUsername.setText("Server"); 

        } else { 

            btnConnect.setText("Hubungkan"); 

            txtUsername.setText("Client"); 

        } 

    }                                               

     

    private void client_connection(){ 

        try { 

            String ip   = JOptionPane.showInputDialog("Masukkan Alamat IP Server!"); 

            client      = new Socket(ip, 2000); 

18 

 

            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); 

        } 

    } 

     

    private void read_connection(){ 

        try { 

            try { 

                try { 

                    server  = new ServerSocket(2000); 

                    this.setTitle("Mohon Tunggu Sebentar ..."); 

                } 

                catch(IOException e){ 

                    System.err.println("Gagal membuat server"); 

                    System.exit(-1); 

                } 

                client = server.accept(); 

                this.setTitle("Terhubung ke "+client.getInetAddress()); 

            } 

            catch(IOException e){ 

                System.err.println("Akses ditolak"); 

                System.exit(-1); 

            } 

            server_reader = new BufferedReader(new InputStreamReader(client.getInputStream())); 

            server_writer = new BufferedWriter(new OutputStreamWriter(client.getOutputStream())); 

        }  

        catch(IOException e){ 

            System.err.println("Tidak dapat membaca pesan"); 

            System.exit(-1); 

        } 

    } 

     

    private void disconnected_by_client(){ 

        try { 

            client.close(); 

            server_reader.close(); 

            server_writer.close(); 

            cboConnection.setEnabled(true); 

            btnConnect.setText("Hubungkan"); 

        } catch(IOException e){ 

            Logger.getLogger(ChatMe.class.getName()).log(Level.SEVERE, null, e); 

        } 

    } 

     

    private void stopped_by_server(){ 

        try { 

            server_reader.close(); 

            server_writer.close(); 

            btnConnect.setText("ON"); 

            this.setTitle("Terputus"); 

        } 

        catch (IOException e){ 

            Logger.getLogger(ChatMe.class.getName()).log(Level.SEVERE, null, e); 

        } 

    } 

     

    /** 

19 

 

     * @param args the command line arguments 

     */ 

    public static void main(String args[]) { 

        /* Set the Nimbus look and feel */ 

        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> 

        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. 

         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html  

         */ 

        try { 

            for (javax.swing.UIManager.LookAndFeelInfo info : 

javax.swing.UIManager.getInstalledLookAndFeels()) { 

                if ("Nimbus".equals(info.getName())) { 

                    javax.swing.UIManager.setLookAndFeel(info.getClassName()); 

                    break; 

                } 

            } 

        } catch (ClassNotFoundException ex) { 

            java.util.logging.Logger.getLogger(ChatMe.class.getName()).log(java.util.logging.Level.SEVERE, 

null, ex); 

        } catch (InstantiationException ex) { 

            java.util.logging.Logger.getLogger(ChatMe.class.getName()).log(java.util.logging.Level.SEVERE, 

null, ex); 

        } catch (IllegalAccessException ex) { 

            java.util.logging.Logger.getLogger(ChatMe.class.getName()).log(java.util.logging.Level.SEVERE, 

null, ex); 

        } catch (javax.swing.UnsupportedLookAndFeelException ex) { 

            java.util.logging.Logger.getLogger(ChatMe.class.getName()).log(java.util.logging.Level.SEVERE, 

null, ex); 

        } 

        //</editor-fold> 

 

        /* Create and display the form */ 

        java.awt.EventQueue.invokeLater(new Runnable() { 

            public void run() { 

                new ChatMe().setVisible(true); 

            } 

        }); 

    } 

 

    // Variables declaration - do not modify                      

    private javax.swing.JButton btnConnect; 

    private javax.swing.JButton btnSend; 

    private javax.swing.JComboBox<String> cboConnection; 

    private javax.swing.JPanel jPanel1; 

    private java.awt.List listMessege; 

    private javax.swing.JTextField txtMessege; 

    private javax.swing.JTextField txtUsername; 

    // End of variables declaration                    

 

    @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.