Saturday, September 17, 2016

JAVA PEMOGRAMAN SYSTEM | STT IBNU SINA BATAM | TIWI SILVIA SUKMAWATI


                                    JAVA PEMOGRAMAN


    1.   Sekilas  Bahasa Pemograman
Bahasa pemrograman adalah teknik komunikasi standar untuk mengekspresikan intruksi kepada komputer. Seperti bahasa manusia, setiap bahasa memiliki tata tulis dan aturan tertentu. Bahasa pemrograman merupakan fasilitas bagi seorang programmer untuk secara spesifik apa yang akan dilakukan oleh komputer selanjutnya, bagaimana data tersebut disimpan dan dikirim dan apa yang akan dilakukan apabila terjadi kondisi yang variatif.
Bahasa pemrograman dapat diklasifikasikan menjadi tingkat rendah, menengah dan tinggi. Pergeseran tingkat dari rendah menuju tinggi menunjukkan kedekatan bahasa pemrograman tersebut terhadap bahasa manusia.
Kategori Bahasa Pemrograman
     1.      Bahasa Pemograman Tingkat Rendah
Bahasa pemrograman generasi pertama. Bahasa jenis ini sangat sulit dimengerti oleh manusia dikarenakan instruksinya menggunakan bahasa mesin. Disebut juga dengan bahasa assembly merupakan bahasa dengan pemetaan satu-persatu terhadap instruksi komputer. Setiap instruksi assembly diterjemahkan dengan menggunakan Assembler.

     2.      Bahasa Pemrograman Tingkat Menengah
Dimana penggunaan instruksi telah mendekati bahasa sehari-hari, walaupun masih cukup sulit untuk dimengerti karena menggunkan singkatan-singkatan seperti STO yang berarti simpan (STORE) dan MOV yang artinya pindah (MOVE). Yang tergolong bahasa ini adalah Fortran

     3.      Bahasa Pemrograman Tingkat Tinggi
Merupakan bahasa tingkat tertinggi dari bahasa pemrograman yang mempunyai ciri-ciri mudah dimengerti karena kedekatannya terhadap bahasa sehari-hari. Sebuah pernyataan program diterjemahkan kepada sebuah atau beberapa mesin dengan menggunakan compiler. Sebagai contoh adalah: JAVA, C++, .NET.




    2.    Pengenalan Java
Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Dikembangkan oleh Sun Microsysten dan diterbitkan tahun 1995. Java tidak sama dengan Javascript, Javascript adalah bahasa scripting yang digunakan oleh web browser. Java merupakan satu dari beberapa kemajuan terpenting di bidang software komputer dalam 20 tahun terakhir. Sama pentingnya dengan HyperText Markup Language (HTML) yang sangat sukses dalam penerbitan homepage static di World wide Web (WWW). Java meledakkan internet dengan isi yang lebih menarik dan interaktif.
1.1           Pengenalan user interface aplikasi yang digunakan
Pengertian Interface

Interface adalah kumpulan method yang hanya memuat deklarasi dan struktur method,tanpa detail implementasinya.Sedangkan detail dari method berada pada class yang mengimplementasikan interface tersebut.Interface digunakan jika ingin mengaplikasikan suatu method yang spesifik, yang tidak diperoleh dari proses inheritance. Tipe data yang boleh pada interface hanya tipe data konstan.





User Interface Aplikasi Yang Digunakan:
1. GUI (Graphical User Interface)
2. CLI (Command Line Interface)
  Beberapa  perbedaan Interface dan Kelas Abstrak yaitu :
Abstract class dapat memiliki tipe data dengan semua tipe data, sedangkan interface tipe datanya hanya berupa konstanta Method pada abstract class dapat berupa method kongkrit dan method abstract. Sedangkan pada interface semua method harus berupa method abstract
.
Source code
GraphicObject.java
abstract class GraphicObject {
int x,y;
void moveTo(int newValueX, int newValueY)
{
x = newValueX;
y = newValueY;
}
abstract void drawShape();
abstract void resize();

}

Circle.java
public class Circle extends GraphicObject {

void resize()
{
   System.out.println(“Circle Resize”);
}
void drawShape()
{
  System.out.println(“Circle Shape”);
}

void posisition()
{
    System.out.println(this.x+this.y);
}
}

Main.java
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Circle Lingkaran = new Circle();
Lingkaran.moveTo(5,5);
Lingkaran.drawShape();
Lingkaran.resize();
Lingkaran.posisition();
}

}
  



    3.    Dasar – dasar Pemograman Java
               
               Untuk membuat program Java, seperti telah disebutkan sebelumnya, Anda membutuhkan JDK. Proses instalasi JDK tersebut sangat mudah dan tidak membutuhkan pengetahuan tertentu. Namun untuk menggunakannya Anda perlu melakukan beberapa penyesuaian dengan sistem operasi Anda. Umumnya yang perlu Anda lakukan adalah memasukkan path ke direktori JDK Anda ke setting path pada sistem operasi Anda. Misalkan direktori JDK Anda adalah C:\jdk1.4 maka pada Windows 98 Anda cukup menambahkan baris perintah SET PATH=C:\jdk1.4\bin pada file autoexec.bat Anda. Untuk Windows NT/2000/XP Anda cukup menambahkan direktori C:\jdk1.4\bin pada variabel path di System Environment. Caranya: klik kanan ikon My Computer, pilih Properties. Kemudian pilih tab Advanced. Lalu klik tombol Environment Variables, cari variabel path, kemudian tambahkan path direktori JDK Anda ke dalam variabel tersebut. Untuk Linux, tambahkan baris perintah SET CLASSPATH=(direktori jdk Anda) ke file profile Anda. Untuk mencoba JDK, ketikkan perintah java dan javac pada shell prompt (atau DOS Command Prompt). Jika perintah tersebut sudah dikenali maka program java atau javac akan menampilkan sintaks penggunaan. Untuk kemudahan dan berbagai fasilitas tambahan Anda dapat menggunakan Integrated Development Environment (IDE) untuk bahasa Java seperti Visual CafĂ© dari Symantec atau JBuilder dari Borland.
Urutan langkah-langkah yang harus Anda lakukan untuk membuat sebuah program Java sederhana adalah:
  1. Membuat source code program dengan editor teks apapun. Ingat, file tersebut harus berekstensi .java dan case sensitive.
  2. Mengkompile source code dengan perintah javac. Misalnya: javac HelloWorld.java. Jika berhasil, hasilnya adalah file bytecode berakhiran .class.
  3. Mengeksekusi bytecode dengan perintah java. Parameter dari perintah ini adalah nama file hasil kompilasi tanpa ekstensi .class. Contoh: java HelloWorld.
Berikut kode untuk HelloWorld.java:
public class HelloWorld
{
    public static void main(String[] args)
    {
        System.out.println("Apa Kabar Dunia?");
    }
}


1.1           Tipe Data Dan Variabel
          Variabel adalah tempat atau wadah untuk menyimpan sebuah data atau nilai/value pada memori atau merupakan container yang digunakan untuk menyimpan suatu nilai pada sebuah program dengan tipe tertentu. Sedangkan Java sendiri dikenal sebagai bahasa pemrograman dengan sifat strongly typed yang artinya diharuskan mendeklarasikan tipe data dari semua variabel, dan apabila lupa atau salah mengikuti aturan pendeklarasian variabel, maka akan mendapatkan error pada saat proses kompilasi.

Java memiliki tipe data yang dapat dikategorikan menjadi dua kelompok, yaitu tipe data primitif dan tipe data referensi.
A. Tipe Data Primitif
Tipe data primitif adalah tipe data standar yang tidak diturunkan dari objek manapun. Tipe data ini memiliki 8 tipe data primitif, diantaranya :
1. Integer (Bilangan Bulat)
int angka = 1000000;
Integer merupakan tipe data numerik yang digunakan apabila tidak berurusan dengan pecahan atau bilangan desimal. Bilangan integer biasanya menggunakan int. Bilangan integer juga mengenal nilai positif dan negatif ( signed number ).
2. Float (Floating Point 32-bit)
float pi = 3.14F;
Tipe Data float adalah tipe data Floating Point 32-bit. Nilai literalnya mengandung pecahan (dipisahkan dengan tanda titik ‘.’). Bilangan yang ingin dikategorikan sebagai float harus diakhiri dengan huruf F.
Misalnya : 4.22 F atau 2.314f
3. Double (Floating Point 64-bit)
double pecahanDouble = 1.2345;
 Tipe data double adalah tipe data Floating Point 64-bit. Nilai literal default untuk float dan double adalah double.
4. Char (Textual)
char huruf = ‘a’;
Tipe data char adalah tipe data Textual, yang merepresentasikan karakter unicode 16-bit. Nilai literalnya harus diapit dengan tanda petik tunggal (‘).
5. Boolean (Logical)
boolean nilai = true;
Dalam Java dikenal tipe data boolean yang terdiri dari dua nilai saja, yaitu true dan false. Boolean sangat penting dalam mengevaluasi suatu kondisi, dan sering digunakan untuk menentukan alur program.
6. Byte (Integral 8-bit)
byte angka = 100;
Tipe data byte adalah tipe data Integral 8-bit. Memiliki rentang nilai dari -128 sampai 127.
7. Short (Integral 16 bit)
short angka = 1000;
Tipe data short adalah tipe data Integral 16-bit. Memiliki rentang nilai dari -32768 sampai 32768.
8. Long (Integral 64 bit)
int desimal = 26; // angka 26 dalam desimal
int oktal = 032; // angka 26 dalam oktal (diberi awalan 0)
int heksa = 0x1a; // angka 26 dalam heksadesimal (diberi awalan 0x)
long angkaBesar = 1000000000000L; // angka desimal bertipe long

Tipe data long adalah tipe data Integral 64-bit. Memiliki rentang nilai antara -263 sampai 263 – 1 atau dari -9,223,372,036,854,775,808 sampai 9,223,372,036,854,775,807.
Tipe data Integral (byte,short, int, long) memiliki default nilai literal int, kecuali diberi akhiran
L yang berarti bertipe long. Tipe data Integral dapat menggunakan sistem bilangan desimal, oktal, atau heksadesimal.
Sebenarnya tipe data primitif sudah memiliki nilai default pada saat dideklarasikan (meskipun tanpa inisialisasi), kecuali untuk variabel lokal. Nilai default untuk masing-masing tipe data adalah sebagai berikut:
Tipe Data     Nilai Default
Int               0
Float           0.0F
Double        0.0
Char           ‘\U0000′
Boolean      false
Byte           0
Short          0
Long          0L
Pada variabel local, deklarasi tipe data harus disertai dengan inisialisasi. Jika tidak, pastikan untuk memberikan nilai kepada variabel tersebut sebelum digunakan. Mengakses lokal variabel tanpa inisialisasi akan menghasilkan pesan kesalahan pada saat meng-compile (compile-time-error). 
B. Tipe Data Referensi
Tipe data referensi digunakan untuk memegang referensi dari suatu object (instance dari class). Pendeklarasian tipe data ini sama dengan tipe data primitif. Kelebihan pemrograman berorientasi objek adalah dapat mendefinisikan tipe data baru yang merupakan objek dari class tertentu. Tipe data ini digunakan untuk mereferensikan object atau class tertentu, seperti String, class, interface, dan array. Di Java 5.0, ditambahkan dua tipe referensi baru, yaitu enumerasi dan anotasi.
Tidak seperti tipe primitif yang nilai default-nya variatif, semua tipe referensi nilai default-nya adalah null. Khusus untuk variable lokal, tidak ada nilai default yang diberikan, sehingga harus di inisialisasi.
Perbedaan mendasar antara tipe primitif dan referensi :
  • Tipe-tipe primitif didefinisikan oleh bahasa Java, sedangkan tipe referensi pada dasarnya adalah tipe user-defined.
  • Tipe primitif merepresentasikan nilai tunggal, sedangkan tipe referensi dapat menampung nol atau lebih nilai primitif atau object.
  1. Deklarasi Variable
Suatu variable baru dapat digunakan apabila telah dideklarasikan. Pernyataan deklarasi variable digunakan untuk mendeklarasikan satu atau lebih variable dan memberinya nama. Ketika komputer mengeksekusi deklarasi variable, komputer akan menyediakan ruangan di memori kemudian menyimpan alamat ini sesuai dengan nama variable yang diberikan. Definisi variable berbentuk seperti :
modifiers namatipe namavariable;
Dalam pendeklarasian variable, kita dapat medeklarasikan beberapa nama sekaligus, yang dipisah dengan koma.
private float num;
private String nama;
private boolean bol;
private int cadence,gear; //mendeklarasikan nama variable dalam satu pernyataan
Atau pendeklarasian variable bisa juga dilakukan sekaligus dengan pemberian nilainya, seperti pada contoh berikut :
private int num = 1000;
private char ch = ‘e’;
private float angka = -1.504;
private boolean bol = true;
  1. Jenis – jenis Variable pada Java.
Java memiliki beberapa jenis variable yang dapat dikelompokkan sebagai berikut :
  • Instance Variable (tidak statis).
Dalam bahasa pemrograman berorientasi object, object menyimpan variable yang tidak dideklarasikan dengan kata kunci static dalam kategori non-statis, atau dapat berubah-ubah. Suatu class dapat dijelmakan ke dalam beberapa object. Nilai yang terkandung dalam variable tak-statis ini berbeda untuk setiap objectnya.
Instance variable merupakan variabel yang terletak di dalam pendefinisian suatu class. Instance variable baru terbentuk apabila suatu class dibuat instance-nya.
Contoh dari Instance Variable :
public class Bicycle {
int cadence;
int speed;
int gear;

}


1.2            Operator Aritmatika, logika dan relasional
Operator adalah symbol dan karakter khusus yang kita gunakan dalam bahasa pemrograman untuk mengubah nilai suatu operand. Sebagai contoh, symbol + adalah operator penambahan dalam Java. Kita menggunakan operator ini untuk melakukan penjumlahan dari dua operand. Di bawah ini beberapa contoh tpe operator dalam JAVA.

Operator Aritmatika
Operator aritmatika digunakan untuk melakukan operasi matematika, seperti penambahan, pengurangan, pembagian, dan modulo (atau sisa pembagian).


Operator Relasi
Dari kata relasi kita bisa menyimpulkan sebuah arti “hubungan”, sehingga operator relasi dalam pemrograman java adalah sebuah fungsi yang membandingkan dua nilai variabel/operand untuk menentukan keterkaitan hubungan keduanya. Hasil kedua nilai variabel adalah true atau false ( boolean ). Simbol dari relasi diantaranya: ( >, <, >=, <=, ==, != )


Operator Logika
Operator ini berfungsi untuk menentukan nilai kebenaran dari masing-masing nilai variabel/operand pembentuknya.Sifat dari nilai adalah true dan false ( boolean ). Simbol dari operator logika diantaranya:
( &&. &, ||, |, ^, ! )
     •       &&(logical) dan&(boolean logical) AND
     •       || (logical) dan  | (boolean logical) inclusive OR
     •       ^ (boolean logical exclusive OR)
     •       ! ( logical  NOT)

Perbedaan dari operator && (logika AND) dan & (boolean AND) ?
  • Operator && (logika AND) : singkatnya && akan mengeksekusi variabel hanya sebagian dan nilai yang dicari adlah true. Jika nilai awal adalah false maka hasil akan false dan akan mengabaikan variabel berikutnya.
  • Operator & (boolean AND) : kebalikan dari && yaitu akan mengeksekusi semua variabel hingga mendapatkan nilai kembalianya. Nilai yang diminta adalah true, walaupun nilai awal false/true operator akan tetap mengeksekusi variabel berikutnya.
Kesimpulannya nilai pada kedua operator adalah nilai yang mengandung true pada tiap-tiap variabelnya.


&& (Logika AND) dan && (Boolean Logika AND)
Tabel Kebenaran :

Operator kondisi AND menghasilkan "true" apabila kedua operandnya bernilai "true". Jika salah satunya atau keduanya "false", operator ini menghasilkan "false". Perbedaan dasar antara operator && dan & adalah bahwa && mensupport short-circuit evaluations (atau evaluasi perbagian) ,sementara operator & tidak.


| |  (Logika OR) dan | (Boolean Logika Inclusive OR)
Tabel Kebenaran :

Perbedaan dasar antara operator | | dan | adalah bahwa | | mensupport short-circuit evaluations (atau evaluasi perbagian) ,sementara operator | tidak.






^ (boolean exclusive OR)
Tabel Kebenaran :
Hasil operasi operator exclusive OR adalah True, jika dan hanya jika satu operand bernilai True dan yang lain bernilai False. Catatan jika kedua operand harus selalu dievakuasi untuk menjumlahkan hasil dari suatu exclusive OR.


! (logika NOT)
Tabel Kebenaran :


1.3           statik dan dinamik

Statis dan dinamis Binding di Jawa

Asosiasi metode definisi dengan metode panggilan dikenal sebagai mengikat. Ada dua jenis mengikat: statis mengikat dan dinamis mengikat. Mari kita membahas satu per satu.

Statis Binding atau awal Binding

Mengikat yang dapat diselesaikan pada waktu kompilasi oleh kompilator dikenal sebagai statis atau awal mengikat. Semua metode statis, swasta dan akhir selalu terikat pada waktu kompilasi . Mengapa mengikat statis, final dan swasta metode selalu mengikat statis? Anda akan memahami lebih baik setelah membaca dinamis mengikat. Masih biarkan saya menjelaskan ini - Compiler tahu bahwa semua metode tersebut tidak dapat diganti dan akan selalu diakses oleh objek kelas lokal. Oleh karena compiler tidak memiliki kesulitan untuk menentukan objek dari kelas (kelas lokal pasti). Itulah alasan yang mengikat untuk metode tersebut adalah statis.
Misalnya mengikat statis
  class Manusia {
 ....
 }
 kelas Boy meluas Manusia {
    public void berjalan () {
       System.out.println ( "Boy berjalan");
    }
    public static void main (String args []) {
       Boy obj1 = new Boy ();
       obj1.walk ();
    }
 }
Di sini kita telah menciptakan sebuah objek dari kelas Boy dan memanggil metode walk() dari kelas yang sama. Karena tidak ada yang ambigu sini, compiler akan mampu mengatasi ini mengikat selama waktu kompilasi, seperti jenis mengikat dikenal sebagai mengikat statis.

Dinamis Binding atau Late Binding
Ketika compiler tidak mampu menyelesaikan panggilan / mengikat pada waktu kompilasi, seperti mengikat dikenal sebagai dinamis atau terlambat Binding. Melebihi adalah contoh sempurna dari mengikat dinamis seperti di override kedua kelas orang tua dan anak telah metode yang sama. Jadi sementara memanggil metode ditimpa, compiler jadi bingung antara orangtua dan metode kelas anak (karena kedua metode memiliki nama yang sama).
Misalnya mengikat dinamis
Berikut Manusia adalah kelas super dan Boy adalah kelas anak sejak Boy meluas Manusia. Kedua kelas ini memiliki metode yang sama void walk() . Karena kita telah ditugaskan referensi kelas induk ke objek kelas anak, selama panggilan dari walk() metode compiler tidak akan mampu memutuskan mana walk() metode untuk memanggil. Ini akan bingung antara walk() metode kelas Manusia dan walk() metode kelas Boy. Seperti jenis binding dikenal sebagai mengikat dinamis sebagai tokoh compiler keluar jenis objek di runtime.
  paket beginnersbook.com;
 class Manusia {
    public void berjalan ()
    {
        System.out.println ( "Manusia berjalan");
    }
 }
 kelas Boy meluas Manusia {
    public void berjalan () {
        System.out.println ( "Boy berjalan");
    }
    public static void main (String args []) {
        // Referensi adalah kelas induk
        myObj manusia = Boy baru ();
        myobj.walk ();
    }
 }
Keluaran:
  Boy berjalan

Statis Binding vs Dinamis Binding

Mari kita membahas perbedaan antara statis dan dinamis mengikat di Jawa.
  1. Mengikat statis terjadi pada saat kompilasi sementara dinamis mengikat terjadi pada saat runtime.
  2. Pengikatan metode swasta, statis dan akhir selalu terjadi pada waktu kompilasi karena metode ini tidak dapat diganti. Pengikatan metode ditimpa terjadi pada saat runtime.
  3. Java menggunakan statis mengikat untuk metode kelebihan beban dan dinamis mengikat untuk metode ditimpa.






    4.    Struktur Kontrol
    4.1  if tunggal
if adalah bagian terpenting dalam dunia pemrograman java ,dikarenakan peranannya dalam memproses statement atau oprator rasional dan kondisional.
berikut adalah panduan dalam penulisannya di dalam pemrograman bahasa java

if(expresi_boolean){
       statement_1
}

contoh :


public class Coba_Pakai_IF{
    public static void main (String[] args){
         int a = 3;
         int b = 7;

      if(a > b){
             System.out.println("a lebih kecil dari b");
      }

     }
}


penjelasan :

public class Coba_Pakai_IF{    dan   public static void main (String[] args){  merupakan komponen wajib yang harus ada ketika kita mulai membuat sebuah program ,jika tidak ada atau hanya salah satunya saja maka program yang kita buat akan terjadi error terus menerus.

int a = 3;    dan     int b = 7;  merupakan pendeklarasian/pengistilahan /penginisialisasian variabel yaitu variabel a dan  variabel  b ,sedangkan int adalah tipe data primitiv yang harus ada ketika kita ingin mendeklarasikan sebuah variabel.

if
(a < b){
             System.out.println("a lebih kecil dari b");
}
if tunggal pada program di atas digunakn untuk mencari apakah (a < b) ( apakah a lebih besar dari pada b ?) maka jika a > b program akan menjalankan perintah selanjutnya yaitu  : System.out.println("a lebih kecil dari b"); maka akan tercetak pada layar tulisan a lebih kecil dari b . Nah dalam penulisan setiap if  jangan lupa y... untuk memeriksa tanda kurung kurawal karena setiap kurung kurawal harus memiliki pasangan nya masing-masing, karena jika tidak akan berakibat error pada program.

}    dan   }  dua kurung kurawal tersebut yang terdapat pada akhir program merupakan pasangan dari kurung kurawal yang ada di public class dan public static void main .

     4.2 if majemuk
Program Percabangan if majemuk adalah program yang dilajalankan akan berhenti ketika proses telah menemukan kondisi true, hal ini akan meningkatkan performance dari program yang kita buat dibandingkan dengan program yang dibuat dengan if tunggal. Berikut adalah flowchart yang menggambarkan jalan program zodiak dan penggunaan if majemuk.
     1. Buat Class sesuai dengan data yang di simpan pada (.java) buat saja zodiak.java.
     2. Buat Programnya
import java.io.*;
import javax.swing.JOptionPane;
public class Zodiak {
public static void main (String[] args) {
String tanggal1;
String Bulan1;
int tanggal;
int Bulan;
tanggal1 = JOptionPane.showInputDialog("inputkan Tanggal Lahir Anda : ");
tanggal = Integer.parseInt(tanggal1);
Bulan1 = JOptionPane.showInputDialog("Inputkan Bulan Lahir Anda :");
Bulan = Integer.parseInt(Bulan1);
if (tanggal >=21 && tanggal <=31 && Bulan ==1) {
JOptionPane.showMessageDialog(null,"Bintang Anda Aquarius"); }
else if (tanggal >=1 && tanggal <=19 && Bulan == 2) {
JOptionPane.showMessageDialog(null, "Bintang Anda adalah Aquarius"); }
else if (tanggal <=20 && tanggal <=29 && Bulan == 2) {
JOptionPane.showMessageDialog(null,"Bintang anda Adalah Pisces"); }
else if (tanggal >=1 && tanggal <=20 && Bulan == 3) {
JOptionPane.showMessageDialog(null, "Bintang Anda Adalah Pisces"); }
else if (tanggal >=21 && tanggal <=31 && Bulan == 3) {
JOptionPane.showMessageDialog(null, "Bintang Anda Adalah Aries"); }
else if (tanggal >=1 && tanggal <=20 && Bulan == 4) {
JOptionPane.showMessageDialog(null,"Bintang Anda Adalah Aries"); }
else if (tanggal >=21 && tanggal <=30 && Bulan == 4) {
JOptionPane.showMessageDialog(null, "Bintang Anda Adalah Taurus"); }
else if (tanggal >=1 && tanggal <=20 && Bulan == 5) {
JOptionPane.showMessageDialog(null, "Bintang Anda Adalah Taurus"); }
else if (tanggal >=21 && tanggal <=31 && Bulan == 5) {
JOptionPane.showMessageDialog(null, "Gemini"); }
else if (tanggal >=1 && tanggal <=20 && Bulan == 6) {
JOptionPane.showMessageDialog(null, "Bintang Anda Adalah Gemini"); }
else if (tanggal >=21 && tanggal <=30 && Bulan == 6) {
JOptionPane.showMessageDialog(null, "Bintang Anda Adalah Cancer"); }
else if (tanggal >=1 && tanggal <=22 && Bulan == 7) {
JOptionPane.showMessageDialog(null, "Bintang Anda Adalah Cancer"); }
else if (tanggal >=23 && tanggal <=31 && Bulan == 7) {
JOptionPane.showMessageDialog(null, "Bintang Anda adalah Leo"); }
else if (tanggal >=1 && tanggal <=22 && Bulan == 8) {
JOptionPane.showMessageDialog(null, "Bintang Anda Adalah Leo"); }
else if (tanggal >=23 && tanggal <=31 && Bulan == 8) {
JOptionPane.showMessageDialog(null, "Bintang Anda Adalah Virgo"); }
else if (tanggal >=1 && tanggal <=22 && Bulan == 9) {
JOptionPane.showMessageDialog(null, "Bintang Anda Adalah Virgo"); }
else if (tanggal >=23 && tanggal <=30 && Bulan == 9) {
JOptionPane.showMessageDialog(null, "Bintang Anda Adalah Libra"); }
else if (tanggal >=1 && tanggal <=22 && Bulan == 10) {
JOptionPane.showMessageDialog(null, "Bintang anda Adalah Libra"); }
else if (tanggal >=23 && tanggal <=31 && Bulan == 10) {
JOptionPane.showInternalMessageDialog(null, "Bintang Anda Adalah Scorpio"); }
else if (tanggal >=1 && tanggal <=22 && Bulan == 11) {
JOptionPane.showMessageDialog(null, "Bintang Anda Scorpio"); }
else if (tanggal >=23 && tanggal <=30 && Bulan == 11) {
JOptionPane.showInternalMessageDialog(null, "Bintang Anda Adalah Sagitarius"); }
else if (tanggal >=1 && tanggal <=22 && Bulan == 12) {
JOptionPane.showMessageDialog(null, "Bintang Anda Adalah Sagitarius"); }
else if (tanggal >=23 && tanggal <=31 && Bulan == 12) {
JOptionPane.showMessageDialog(null, "Bintang Anda Adalah Capicorn"); }
else if (tanggal >=1 && tanggal <=20 && Bulan == 1) {
JOptionPane.showMessageDialog(null, "Bintang Anda Adalah Capicorn"); }
else {
JOptionPane.showMessageDialog(null, "Data Yang Anda Masukkan Salah"); }
}
}


4.3 switch dan break

Apa itu switch?
Switch Case merupakan sebuah pernyataan atau statement yang dirancang khusus untuk menangan pengambilan keputusan yang melibatkan banyak alternatif pilihan. Pernyataan Switch lebih jarang digunakan dibandingkan dengan pernyataan IF pada java.Tetapi lebih sering digunakan ketika kita ingin menuliskan percabangan ataupun pengambilan keputusan dengan sangat banyak pilihan. Maka dari itu switch sangat baik untuk dipelajari.

Bentuk umum dari Switch Case
switch (ekspresi) {
    case konstanta1:
        statement1
        break;
    case konstanta2:
        statement2
        break;
    case konstanta3:
        statement3
        break;
    default:
        statement-n
}
Pernyataan switch akan menyeleksi atau mencari sebuah kondisi yang diberikan dan kemudian akan membandingan hasilnya dengan konstanta yang berada di dalam case. Pembandingan akan dimulai dari konstanta1 sampai konstanta akhir. Jika hasil yang didapatkan sama dengan konstanta3 maka statemen pada konstanta3 akan diproses. Jika hasil tidak ada yang memenuhi kriteria dari masing-masing konstanta maka statement yang berada pada default akan diproses. Lalu apa fungsi break? 
Break digunakan untuk menghentikan proses yang terjadi apabila perintah untuk eksekusi telah dilaksanakan. Contohnya, misalnya hasil yang kita dapatkan akan memproses konstanta1, apabila pada case konstanta1 tidak ada break, maka statement2 pada case konstanta2 sampai case konstanta3 akan ikut di proses. Maka dari itu apabila menggunakan Switch Case, jangan lupa untuk menulis break pada akhir statemen.

Break
BREAK
Break digunakan untuk mengakhiri sebuah eksekusi sebuah kontrol perulangan dan switch. Kali ini kita akan mencoba untuk mengakhiri sebuah perulangan while, jika sebuah perulangan while dalam kondisi atau sama dengan (==) “hari” maka perulangan akan dihentikan untuk lebih jelasnya silahkan lihat source code dibawah ini

<?php $i=0; while ($i < 100) { $i++; if ($i==13) { break; } echo $i; echo "<br />"; }
?>

Break juga dapat diikuti oleh sebuah bilangan, nantinya bilangan tersebut menjadi sebuah indikasi sebuah blok bersarang yang diakhiri, blok pertama yaitu while dan blok kedua adalah switch. Perhatikan sorce code berikut dimana sebuah perulangan akan dihentikan oleh perintah break yang diikuti oleh sebuah bilangan, misal “break 1;” menandakan bahwa perintah dihentikan dan keluar dari steatment bentuk dua
<?php
$i=0;
while(++$i){
switch($i){
case 2:
echo "Perulangan while ke dua, dan keluar dari switch<br/>\n";
break;
case 3:
echo "Perulangn while yang ke tiga selanjutnya keluar dari steatment switch<br/>\n";
break 1;
case 4:
echo "Perulangan ke empat, kemudian keluar dari while atau perulangan<br/>\n";
break 2;
default:
break;
}
}
?>