Bab 1 - 2AlgoritmaProgrammingJava
Bab 1 - 2AlgoritmaProgrammingJava
dengan JAVA
1
Bab 1
Jawa untuk Pengembangan
Aplikasi Bisnis
2
penggabungan fitur memori manajemen dan garbage collection dari Smalltalk dan sintak
dari C/C++ menjadi suatu bahasa java yang mudah untuk dipelajari. Jika anda ingin
menjadi developer handal dan profesional, maka penguasaan pemrograman Java terutama
J2EE merupakan pilihan yang tepat.
Java FX
3
kecepatan eksekusi. Untuk menulis sebuah program Java, dibutuhkan editor, compiler Java dan
Java Runtime Environment.
Pertimbangan mengapa Java banyak digunakan yaitu tidak hanya sekedar bahasa
pemrograman, tetapi juga merupakan platform. Banyak bahasa program yang tidak memiliki fitur
seperti multi-threading, GUI-building, dan kemampuan dalam networking. Dimana anda harus
menggunakan perangkat keras atau operating-system dependent API (Application Program
Interface) yang akan mengikat (binding) program. Sedangkan Java platform merupakan
tekhnologi pertama yang berintegrasi penuh untuk dapat menggunakan thread, socket, GUI
component dan banyak lagi.
Sewaktu Anda menginstall java, secara otomatis java akan meload java platform ke
dalam sistem Anda. Java platform tersebut termasuk Java Virtual Machine (JVM) dan termasuk
juga package yang akan mendukung compiler, interpreter dan run-time environment pada saat
Java program di kompile maupun pada saat running. Package bisa dianalogikan sebagai standard
library dari function atau class dalam bahasa program lain.
Pada 1998, Sun mengupdate spesifikasi Java dan memperkenalkan Java 1.2 beserta
library terbaru yang membuat java bukan hanya sebuah bahasa tetapi juga menjadikan ia sebuah
platform bernama Java 2 Standard Edition (J2SE). Dengan J2SE, Sun berusaha memperbaiki
kekurangannya dengan membundle berbagai macam library menjadi 1 unit. J2SE menyediakan
library untuk dukungan GUI, jaringan, akses database dan lainnya. J2SE hanya mampu
membangun aplikasi stand alone, namun tidak dapat membangun dan mendistribusikan aplikasi
berskala enterprise /perusahaan. Gambar di bawah menampilkan platform Java SE (JDK) 9 dan
J2EE terbaru yang dapat diunduh secara gratis pada situs
http://www.oracle.com/technetwork/java/javase/downloads/index.html
4
Gambar 1.2 Tampilan Web pengunduhan Jawa J2EE 1.4 SDK
J2EE diperkenalkan pada tahun 1998, yang mendefinisikan sebuah arsitektur multi tier
untuk Enterprise Informasion System (EIS). Platform J2EE menentukan komponen aplikasi logis
di dalam sebuah system dan mendefinisikan aturan pada proses pengembangan. Gambar di bawah
ini menampilkan arsitektur dari J2EE dimana Business logic dalam model reusable component
sehingga lebih mudah di dalam membuat aplikasi. Secara umum web server menyimpan
dokumen web yang dapat kita akses melalui browser di komputer kita, database server dan server
aplikasi (application server) seperti gambar 1.3 di bawah:
5
Program Java dapat dijalankan pada berbagai tipe komputer dan Sistem Operasi dari
program kecil sampai program berskala besar yang berjalan di superkomputer. Program di
download lewat jaringan dengan HTML dan dijalankan oleh Web Browser IE, Modzilla dan lain-
lain. Lingkungan yang berbeda juga membutuhkan program yang berbeda pula. Ada 4 macam
program Java yang bisa dibuat:
Applet, servlet dan JSP berjalan lewat jaringan dan Web Browser
Aplikasi yang berjalan di standalone PC
d. Keunggulan Java
Dengan menggunakan Java programming language, Sun Microsystem membangun
sebuah bahasa program yang bisa dibilang powerfull untuk kita gunakan, karena mempunyai
keunggulan-keunggulan sebagai berikut:
Simple. Dengan tersedia banyak kelas, maka membuat aplikasi berbasis Java
menjadi lebih simple/mudah.
Secure. Menggunakan Browser yang kompatibel dengan java, seseorang dapat dengan
mudah mendownload applet java tanpa harus takut virus atau malicious intent. Java
menggunakan proteksi ini dengan model java execution environment.
Object Oriented. Pemrograman java mendukung pemrograman berorientasi object OOP
(mendukung inheritance, polymorphism dan encapsulation).
6
Interpreted. Java platform compiler menterjemahkan Java source code menjadi
bytecode. Java interpreter akan memproses bytecode, bukan source code sewaktu program sedang
running.
Distributed. Java sangat powerfull untuk membangun aplikasi terdistribusi seperti
cluster dan Grid Computing.
Platform Independent, Program java yang Anda jalankan di Windows dapat anda
jalankan /kompile di sistem operasi linux atau hardware yang berbeda.
Java sangat Powerful. Para designer Java program membuat bahasa program Java dan
API-nya untuk bisa dengan mudah dipelajari dan digunakan. Dibandingkan dengan bahasa yang
lain seperti C dan C++. Sintax dari bahasa Java berdasarkan pada sintaks dari bahasa C.
Network-savvy. Yang merupakan keunggulan lain dari java yaitu fitur penyedia layanan
untuk networking dan mendistribusikan objek dalam suatu environment. Package yang disebut
java.net yang membantu dalam pemrograman jaringan. Dengan demikian jika kita ingin membuat
program yang menggunakan network akan lebih mudah.
J2EE menggunakan model aplikasi multi tier terdistribusi untuk aplikasi Perusahaan.
Application logic dibagi menjadi komponen-komponen sesuai dengan fungsinya, dan komponen-
komponen aplikasi lainnya yang membuat J2EE terinstall di komputer yang berbeda bergantung
pada tier di lingkungan J2EE . Gambar 1.4menampilkan two multitiered J2EE applications yang
terbagi menjadi
Meskipun aplikasi J2EE dapat terdiri dari 3 atau 4 tier, aplikasi multitier J2EE secara umum
dianggap sebagai 3 tier karena mereka terdistribusi melalui 3 lokasi yang berbeda yaitu komputer
klien, computer J2EE Server dan komputer database atau legacy di backend.
Komponen Web J2EE dapat berupa servlet atau JSP. Servlet ialah kelas–kelas bahasa
pemrograman java yang secara dinamis memproses permintaan (request) dan membangkitkan
respon. JSP ialah dokumen berbasis teks yang dieksekusi sebagai servlet tetapi mengizinkan
pendekatan lebih alami untuk membuat isi statis.
a. Komponen Bisnis
Kode bisnis, dimana logic yang mengatasi atau menangani kebutuhan domain bisnis
teretentu seperti perbankan, retail atau keuangan, ditangai oleh Enterprise Beans yang berjalan di
tier bisnis. Gambar di bawah menampilkan bagaimana enterprise bean menerima data dari klien,
memproses nya dan mengirim ke sistem informasi enterprise untuk media penyimpan.Enterprise
bean juga mengambil dari dari media penyimpan, memprosesnya dan mengirim ke program
klien.
8
Gambar 1.7 Web Tier dan aplikasi J2EE
Sedangkan gambar di bawah ini menampilkan tier business dan EIS pada platform J2EE
Ada 3 jenis Enterprise Java Bean yaitu session bean, entity bean dan message
driven bean yang dapat Anda pelajari pada materi EJB.
9
b. Kontainer J2EE
Umumnya, aplikasi multitier thin client cukup sulit karena melibatkan banyak
intrik kode untuk menangani manajemen transaksi dan state (state management), pooling
sumber daya dan lainnya. Arsitektur J2EE yang platform independent berbasiskan
komponen membuat aplikasi J2EE mudah untuk dibuat karena logic bisnis diorganisasikan
ke dalam komponen yang dapat digunakan ulang (reusable) . J2EE server juga
menyediakan layanan dalam bentuk sebuah kontainer untuksetiap tipe. Karena Anda tidak
harus membangun service ini sendiri, sehingga Anda hanya perlu berkonsentrasi mengatasi
masalah bisnis/pemrograman Anda saja.
Layanan Kontainer
Container ialah antarmuka diantara sebuah komponen dan platform low level
spesifik yang mendukung komponen. Sebelum sebuah web, enterpise bean atau komponen
klien dapat dieksekusi, ia harus dirakit ke aplikasi J2EE dan disebarkan ke kontainernya.
Proses perakitan melibatkan seting kontainer untuk tiap komponen di aplikasi J2EE itu
sendiri. Seting kontainer akan menghasilkan J2EE security model yang memungkinkan
adan mengkonfigurasi sebuah komponen web atau enterprise bean sehingga sumber daya
sistem diakses hanya oleh user yang punya authorisasi. Kontainer juga mengatur layanan
yang tidak dapat dikonfigurasi seperti enterprise bean dan daur hidup servlet, koneksi
database, data persistence dan akses ke platform J2EE API(Application Programming
Interface). Proses penyebaran (deployment) menginstall komponen-komponen aplikasi
J2EE ke container J2EE seperti gambar berikut.
a. Server J2EE
10
Bagian runtime dari sebuah produk J2EE. J2EE server menyediakan kontainer Web dan
EJB(Enterpise JavaBeans)
Web container
Mengatur eksekusi dari komponen JSP dan servlet untuk aplikasi j2ee.
Applet container
Mengatur eksekusi dari applet. Terdiri dari sebuah web broser dan plug in java yang
berjalan di klien secara bersama.
Pemaketan Aplikasi
Aplikasi J2EE dalam bentuk file Enterprise Archive (EAR) . File EAR ialah file Java
Archive (JAR) standar dengan ekstensi.ear . File EAR berisi module J2EE. Menggunakan file
EAR dan modul memungkinkan untuk mreakit berbagai aplikasi j2ee yang berbeda menggunakan
komponen yang sama.
ModulJ2EE terdiri dari 1 atau lebih komponen J2EE untuk kontainer yang sama dan 1
komponen deployment descriptor .Sebuah descriptor penyebaran ialah berupa dokumen XML
dengan ekstensi.xml yang menjelaskan sebuah seting penyebaran.
4 tipe dari modul ialah :
Modul Enterprise Javabeans berisi file-file clas untuk enterprise beans dan EJC
Deployment descriptor, yang dipaket dalam file JAR dengan ekstention .jar.
Modul web berisi file JSP, file-file class untuk servlet, file GIF dan html dan sebuah
web deployment descriptor yang dipaket sebagai file JAR dengan ekstention
.war(web archive).
Modul adapter resource berisi seluruh interface java, kelas, native libraries, resource
descriptor dan dokumen lainnya dengan ekstetion .rar(Resource adapter archive)
Modul klien aplikasi berisi file kelas dan client deployment descriptor yang dipaket
sebagai file .jar.
11
Remote Method Invocation to Internet Inter-ORB Protocol (RMI-IIOP), komponen EJB
menggunakan layanan ini untuk komunikasi.
Java Database Connectivity (JDBC), JDBC menyediakan antarmuka untuk
mengeksekusi pernyataan SQL .
Java Message Service (JMS) sebuah layanan pesan asinkron yang memungkinkan user
mengirim atau menerima pesan
JavaMail, memungkinkan pengiriman dan penerimaan email melalui transportasi pesan
dan penyimpan pesan.
Java Naming and Directory Interface (JNDI), digunakanuntuk mengakses direktori
seperti LightWeight Direcotry Access Protocol (LDAP).
JavaBeans Activation Framework (JAF), Javamail menggunakan JAF untuk
menangani berbagai macamMultipurpose Internet Mail Extentions (MIME) yang
mungkin beradea di dalam pesan email.
Web Services, mendukung web services yang disediakan mealui Simple Object Access
Protocol (SOAP) for attachment, API for Java (SAAJ) 1.1 untuk pesan SOAP, Java API
for XML registries (JAXR) 1.0 untuk akses ke Universal Description, Discovery and
Integration (UDDI) dan Java API untuk XML based RPC (JAX-RPC) 1.0 untuk
menentukan bagaimana klien dapat menggunakan Web Services.
Managed Beans
Contexts and Dependency Injection for the Java EE Platform (JSR 299),
informally known as CDI
12
Berikut langkah menginstaslasi Program Java dan NetBeans sebagai editor java dan
membuat program java sederhana dan cara menjalankannya di windows, untuk di linux Anda
ikuti petunjuk konfigurasi program yang tidak jauh beda.
1. Unduhlah NetBeans IDE 8.2 di https://netbeans.org/downloads/index.html yang
mendukung J2SE dan J2EE sebesar 197M
2. Unduh dan install J2SE version 9 di C:\J2SE. Lalu jalankan program instalasi NetBeans,
buat folder instalasi misal C:\NetBeans lalu klik next hingga finish
13
Gambar 1.11 Instalasi Program NetBeans
1. Buka NetBeans, lalu pilih menu File | NewProject serta pilih Projects Java Application,
lalu klik next
14
2. Beri nama program SelamatDatang (SelamatDatang.java) dengan Project Name J2SE,
sehingga hasilnya berada di D:\selamatdatang\SelamatDatang.java. Oleh karena itu pada
program SelamatDatang.java, tercipta package selamatdatang. Modifikasi kode yang
tercipta sebagai berikut dengan menambahkan kode yang dicetak lebih tebal, kode
tesebut akan menampilkan pesan “Selamat Belajar Panduan Lengkap Pengembangan
Aplikasi Bisnis dari Prof. Widodo”.
/*
* SelamatDatang.java
*
* Created on 1 January, 2019
*/
package selamatdatang; //karena berada di dalam folder selamatdatang
public class SelamatDatang {
public static void main(String[] args)
{
System.out.println ("Selamat Belajar Aplikasi Bisnis dari Prof. Widodo ");
}
}
Program diatas mempunyai sebuah kelas bernama SelamatDatang, dimana pada method
utama main() akan menampilkan pesan “Selamat Belajar Aplikasi Bisnis dari Prof. Widodo”.
Method main() ialah fungsi yang pertama kali dipanggil setiap proram dijalankan. Karena fungsi
main dinginkan tidak mengembalikan harga, maka digunakan tipe void, static agar dapat
dipanggil langsung tanpa perlu membuat objek serta bersifat public agar dapat diakses/digunakan
oleh semua kelas yang membutuhkan.Fungsi main juga membutuhkan 1 buah array bernama args
bertipe data String.Perlu diketahui, di java String adalah suatu kelas, yang mempunyai kelebihan
dibandingkan pointer atau tipe data karakter di C/C++. Simbol kurung [] yang menandakan args
adalah suatu array boleh diletakkan di depan atau dibelakang args.
Perlu diketahui juga, bahwa untuk kelas, setiap awal karakter dari setiap kata harus huruf
besar. Program di atas membutuhkan kelas System dengan method println() untuk menampilkan
pesan ke monitor dan pastikan setiap akhir baris kode diberikan titik koma (;). Setiap Anda
membuat kurung buka ( { ) pastikan ada segera tutup dengan kurung tutup ( } ) untuk
menghindari kesalahan penulisan kurung jika program cukup kompleks.
15
Gambar 1.18 Program yang sukses dijalankan
4. Anda sebenarnya juga dapat menulis program Java di editor standar seperti
Notepad dan melakukan kompilasi program .java melalui DOS prompt
dengan cara memberikan perintah javac SelamatDatang.java pada console untuk
mengkompilasi menjadi SelamatDatang.class. Jalankan dengan memberikan
perintah java SelamatDatang (tidak boleh ditulis nama kelasnya), tampilan
berikut jika program tersimpan di folder c:\j2se9\bin. Perlu diperhatikan baris
program package selamatdatang dari contoh kode di atas harus dihapus dalam hal
ini.
Algoritma
Algoritma adalah urutan langkah-langkah logis penyeselaian masalah yang disusun secara sistematis dan
logis yang dapat digambarkan menggunakan flowchart atau pseudocode. Pseudocode adalah cara
penulisan algoritma yang hampir menyerupai Bahasa Pemrograman, namun Pseudocode ditulis lebih
sederhana dengan menggunakan bahasa baku (natural English) dan mudah dipahami. Contoh
menggunakan flowchart jika kita ingin mencari jumlah dari 2 buah bilangan:
16
Gambar 1.20 Contoh flowchart untuk penjumlahan bilangan
Contoh pseudocode:
begin
input a, b,c
set a to 2
set b to 3
c = a+b
print c
end
LATIHAN :
1. Sebutkan kelebihan Java dibanding bahasa pemrograman lainnya
2. Jelaskan fitur-fitur yang dimiliki oleh J2EE 1.4
3. Jelaskan definisi dari algoritma
4. Jelaskan perbedaan antara versi J2SE, J2EE dan J2ME
5. Jelaskan istilah berikut ini :
-Domain -Web server
-Application Server -IP statis
-Interopability -IP dinamis
-EJB -Internet
-RMI -Intranet
-Upload -Ekstranet
17
Gambar 1.21 Demo aplikasi bisnis J2EE
18
Gamabr 1.22 contoh soal pemilihan kondisi
ContohIfElse.java
public class ContohIfElse {
if (nilai>2) {
jumlah = "Lebih besar dari 2";
if(nilai%2 == 0){
pesan = "Bilangan Genap";
}else{
pesan = "Bilangan Ganjil";
}
System.out.println(jumlah+" dan "+pesan);
}else{
jumlah = "Lebih kecil dari 2";
System.out.println(jumlah);
}
}
19
Bab 2
Pemrograman OOP
Pemrograman OOP memungkinkan kita membangun peranti lunak skala besar dan
GUI secara efektif. Inti dari pemrograman OOP di java ialah adanya kelas(class) pada
program. Kelas merupakan template, blueprint yang mendefinisikan kolom variabel dan
method yang tersedia. Class merupakan sebuah tipe data yang mengenkapsulasi data.
Implementasi dari variabel dan method dari tipe data ini disebut sebagai obyek.
OOP It is a technique to analyze given problems and convert it through objects to depict
our solutions. An object represents an entity in the real world that obviously can be
identified.
Variabel di dalam kelas disebut variabel instance dan fungsi pada kelas disebut
method kelas. Variabel dan method di dalam kelas disebut sebagai anggota kelas. Rumus
standar pemrograman OOP adalah:
20
2. Set properti
Obj.nama_properti/variabel=value
Contoh: p.color=”Yellow”;p.tinggi=5;
3. Panggil method
Obj.nama_method();
Contoh: p.cetakData();
Untuk mengatur akses terhadap variabel dan method, terdapat istilah acess modifier di
Java. Atribut dan method dapat memiliki salah satu sifat access modifier berikut:
• Private, hanya dapat digunakan di kelasnya, tidak dapat dipanggil dari luar kelas.
• Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang
mewarisinya
• Public, dapat dipanggil oleh kelas manapun.
Berikut contoh penulisan kelas yang umum bernama Lingkaran, yang memiliki variabel
dan method dengan access modifier tertentu:
Lingkaran.java:
package selamatdatang;
class Lingkaran{ // Simpan sebagai Lingkaran.java
// variabel instance Private
private double radius;
private String color;
// Construktor overloaded
public Lingkaran() { // Konstruktor ke 1
radius = 1.0;
color = "red";
}
public Lingkaran(double r, String inputcolor) { // Konstruktor ke 2
radius = r;
color = "Blue";
}
public Lingkaran(double r) { // Konstruktor ke 3
radius = r;
21
color = "Green";
}
// method public
public double getRadius() {
return radius;
}
public String getColor() {
return color;
}
public double getArea() {
return radius * radius * Math.PI;
}
}
Untuk mencoba menggunakan kelas di atas, gunakan kelas utama sebagai berikut:
TesLingkaran.java:
package selamatdatang;
import selamatdatang.Lingkaran;
Hasilnya:
Radius adalah: 2.0
Warna: Blue
Area: 12.57
Radius: 3.0
Warna: Green
Area: 28.27
22
Terlihat pada program di atas, pemrograman untuk kasus komplek menjadi lebih
singkat jika menggunakan OOP. Contoh penerapan lain penggunaan OOP dalam aplikasi
bisnis sebagai berikut:
Supermarket.java:
package selamatdatang;
import java.util.Scanner;
public class Supermarket{
private double harga, jumlah, total;
Scanner user_input = new Scanner( System.in );
void inputHarga(){
System.out.println ("Masukkan harga");
harga=Double.parseDouble(user_input.next());
}
void inputJumlah(){
System.out.println ("Masukkan jumlah");
jumlah=Double.parseDouble(user_input.next());
}
void displayTotal() {
//Hitung total
total=harga*jumlah;
System.out.println ("Total adalah: " + total);
}
public static void main(String []args){
System.out.println ("SUPERMARKET SEJAHTERA");
Supermarket p=new Supermarket();//buat obyek
p.inputHarga();
p.inputJumlah();
p.displayTotal();
}
}
Hasilnya:
SUPERMARKET SEJAHTERA
Masukkan harga
5000
Masukkan jumlah
4
Total adalah: 20000.0
Inheritance
Inheritance atau turunan di Java inheritance merupakan mekanisme dimana sebuah
obyek mewarisi dan memiliki properti dan method dari parent atau kelas atasnya. Kelas
atas disebut superclass, sedangkan kelas turunan disebut subclass. Inheritance
merepresentasikan IS-A relationship, juga dikenal sebagai parent-child relationship.
Untuk menandakan turunan, digunakan keword extends sebagai berikut:
23
public class Animal{}
public class Mammal extends Animal{}
public class Reptile extends Animal{}
public class Dog extends Animal{}
Programmer.java:
package selamatdatang;
class Employee{
float salary=9000000;
}
class Programmer extends Employee{
int bonus=10000;
public static void main(String args[]){
Programmer p=new Programmer();
System.out.println("Gaji Programmer Rp.:"+p.salary);
System.out.println("Bonus Programmer:"+p.bonus);
}
}
Hasilnya:
Gaji Programmer Rp.:9000000.0
Bonus Programmer:10000
Enkapsulasi
Enkapsulasi merupakan mekanisme membungkus(wrapping) data dan method dalam
sebuah unit yang dikenal juga dengan data hiding. Keuntungan dari enkapsulasi ialah
kolom atau field dari kelas dapat dibuat read-only atau write-only serta kelas memilik
kontrol total dari apa yang disimpan. Berikut contoh enkapsulasi dengan menggunakan
private dan public pada variabel dan method.
EncapTest.java:
public class EncapTest {
private String name;
private String idNum;
private int age;
24
return name;
}
Polimorphism
Polymorphism merupakan kemampuan obyek untuk dapat berwujud berbagai bentuk, berikut
contohnya:
Animal.java:
package selamatdatang;
public class Animal{
public void sound(){
System.out.println("Animal is making a sound");
}
}
25
Cat.java:
package selamatdatang;
public class Cat extends Animal{
@Override
public void sound(){
System.out.println("Meow meowww");
}
public static void main(String args[]){
Animal obj = new Cat();
obj.sound();
}
}
Horse.java:
class Horse extends Animal{
@Override
public void sound(){
System.out.println("Neigh");
}
public static void main(String args[]){
Animal obj = new Horse();
obj.sound();
}
}
Abstraction
Sebuah kelas berisi kata kunci abstract pada deklarasinya dikenal sebagai kelas abstract.
Kelas abstract mirip dengan interfaces dimana kita tidak bisa membuat instance. Jika sebuah
kelas menyertakan method abstract, maka kelas tefsebut harus dideklarasikan abstract juga
sebagai berikut:
Employee.java:
public abstract class Employee {
private String name;
private String address;
private int number;
26
public Employee(String name, String address, int number) {
System.out.println("Constructing an Employee");
this.name = name;
this.address = address;
this.number = number;
}
AbstractDemo.java:
public class AbstractDemo {
27
Penerapan OOP pada Pemrograman Windows
Pada Java, pemrograman Windows dapat menggunakan paket AWT(Abstract
Windowing Toolkit) dan Swing. Namun, untuk grafik terkini dan hasil yang bagus, saat
ini umumnya menggunakan paket Swing. Untuk membuat aplikasi windows, dibutuhkan
Frame dan Panel yang dapat dibuat menggunakan kelas JFrame dan JPanel. Sedangkan
untuk mengatur komponen seperti button, combobox, textbox dan lainnya di posisi yang
diinginkan, dikenal dengan layout manager. Layout manager di Java antara lain
flowlayout, grid layout, gridbag layout dan border layout. Berikut contoh membuat 1
form windows sederhana:
Form.java:
package selamatdatang;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JFrame;
import java.awt.FlowLayout;
public class Form extends JFrame{
public Form(){
//To set FlowLayout with left alignment
//By specifying the horizontal gap 1
//and vertical gap 2
setLayout(new FlowLayout(FlowLayout.LEFT, 10, 20));
//To add label and text field into the frame
add(new JLabel("First Name : "));
add(new JTextField(8));
add(new JLabel("Middle Name : "));
add(new JTextField(5));
add(new JLabel("Last Name : "));
add(new JTextField(8));
}
public static void main(String[] args) {
Form frame = new Form();
frame.setTitle("Show Flow Layout");
frame.setSize(200, 200);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
28
Gambar 2.1 Hasil Program aplikasi Windows dengan Swing.
Berikut contohnya:
EntriData.java:
package selamatdatang;
//Demo Program Swing
//Kuliah Business Application Development 2018
import java.awt.GridLayout;
import javax.swing.*;
class EntriData {
public static void main(String[] args) {
JTextField NAMA = new JTextField("");
String[] JURUSAN = {"Sistem informasi", "Computer Science", "DKV"};
JComboBox combo = new JComboBox(JURUSAN);
JRadioButton s1 = new JRadioButton("S1");
JRadioButton s2 = new JRadioButton("S2");
JPanel panel = new JPanel(new GridLayout(0, 1));
panel.add(new JLabel("NAMA:"));
panel.add(NAMA);
panel.add(new JLabel("JURUSAN"));
panel.add(combo);
panel.add(new JLabel("JENJANG:"));
panel.add(s1);
panel.add(s2);
29
if (result == JOptionPane.OK_OPTION) {
JOptionPane.showMessageDialog(null, "Hasil: " + NAMA.getText()+"
Jurusan:"+combo.getSelectedItem() ,"DATA",
JOptionPane.INFORMATION_MESSAGE);
System.out.println(combo.getSelectedItem()+ " " + NAMA.getText()
+ " " + s1.getText()+ s2.getText());
} else {
}
}
}
Latihan:
PenerapanDiskon.java:
package selamatdatang;
class Diskon{
protected double harga, qty, disc,total;
void setDiskon(){
30
if (qty>3) { disc=0.1;
total=(qty*harga)-((qty*harga)*disc); //disc 10%)
System.out.println ("Anda dapat disc 10%. Total yang harus dibayar= " + total);
}
else {
total=(qty*harga);
System.out.println ("Total yang harus dibayar= " + total);
}
}
}
public class PenerapanDiskon extends Diskon {
public static void main(String [] args) {
Diskon r=new Diskon();
r.harga=1000;
r.qty=5; System.out.println ("SUPERMARKET MAPAN");
r.setDiskon();
}
}
Contoh:
create database Kampus;
use Kampus;
create table emp(id int(10),name varchar(40),age int(3));
Koneksi.java:
import java.sql.*;
class Koneksi{
public static void main(String args[]){
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection(
"jdbc:mysql://localhost:3306/Kampus","root","root");
//Nama database Kampus, root merupakan username dan password
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from emp");
while(rs.next())
System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getString(3));
31
con.close();
}catch(Exception e){ System.out.println(e);}
}
}
32