2013/10/28


  Netbeans
Netbeans merupakan sebuah aplikasi Integrated Development Environment (IDE) yang berbasiskan Java dari Sun Microsystems yang berjalan di atas swing. Swing merupakan sebuah teknologi Java untuk pengembangan aplikasi desktop yang dapat berjalan pada berbagai macam platform seperti windows, linux, Mac OS X dan Solaris. Sebuah IDE merupakan lingkup pemrograman yang di integrasikan ke dalam suatu aplikasi perangkat lunak yang menyediakan Graphic User Interface (GUI), suatu kode editor atau text, suatu compiler dan suatu debugger.
Netbeans juga digunakan oleh sang programmer untuk menulis, meng-compile, mencari kesalahan dan menyebarkan program netbeans yang ditulis dalam bahasa pemrograman java namun selain itu dapat juga mendukung bahasa pemrograman lainnya dan program ini pun bebas untuk digunakan dan untuk membuat professional desktop, enterprise, web, and mobile applications dengan Java language, C/C++, dan bahkan dynamic languages seperti PHP, JavaScript, Groovy, dan Ruby.
NetBeans merupakan sebuah proyek kode terbuka yang sukses dengan pengguna yang sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100 mitra (dan terus bertambah!). Sun Microsystems mendirikan proyek kode terbuka NetBeans pada bulan Juni 2000 dan terus menjadi sponsor utama. Dan saat ini pun netbeans memiliki 2 produk yaitu Platform Netbeans dan Netbeans IDE. Platform Netbeans merupakan framework yang dapat digunakan kembali (reusable) untuk menyederhanakan pengembangan aplikasi deskto dan Platform NetBeans juga menawarkan layanan-layanan yang umum bagi aplikasi desktop, mengijinkan pengembang untuk fokus ke logika yang spesifik terhadap aplikasi.
Fitur-fitur dari Platform Netbeans antara lain:
  • Manajemen antarmuka (misal: menu & toolbar)
  • Manajemen pengaturan pengguna
  • Manajemen penyimpanan (menyimpan dan membuka berbagai macam data)
  • Manajemen jendela
  • Wizard framework (mendukung dialog langkah demi langkah)
Netbeans IDE merupakan sebuah IDE open source yang ditulis sepenuhnya dengan bahasa pemrograman java menggunakan platform netbeans. NetBeans IDE mendukung pengembangan semua tipe aplikasi Java (J2SE, web, EJB, dan aplikasi mobile). Fitur lainnya adalah sistem proyek berbasis Ant, kontrol versi, dan refactoring.
Versi terbaru saat ini adalah NetBeans IDE 5.5.1 yang dirilis Mei 2007 mengembangkan fitur-fitur Java EE yang sudah ada (termasuk Java Persistence support, EJB-3 dan JAX-WS). Sementara paket tambahannya, NetBeans Enterprise Pack mendukung pengembangan aplikasi perusahaan Java EE 5, meliputi alat desain visual SOA, skema XML, web service dan pemodelan UML. NetBeans C/C++ Pack mendukung proyek C/C++.
Modularitas: Semua fungsi IDE disediakan oleh modul-modul. Tiap modul menyediakan fungsi yang didefinisikan dengan baik, seperti dukungan untuk bahasa pemrograman Java, editing, atau dukungan bagi CVS. NetBeans memuat semua modul yang diperlukan dalam pengembangan Java dalam sekali download, memungkinkan pengguna untuk mulai bekerja sesegera mungkin. Modul-modul juga mengijinkan NetBeans untuk bisa dikembangkan. Fitur-fitur baru, seperti dukungan untuk bahasa pemrograman lain, dapat ditambahkan dengan menginstal modul tambahan. Sebagai contoh, Sun Studio, Sun Java Studio Enterprise, dan Sun Java Studio Creator dari Sun Microsystem semuanya berbasis NetBeans IDE.
Fitur fitur yang terdapat dalam netbeans antara lain:
  1. Smart Code Completion: untuk mengusulkan nama variabel dari suatu tipe, melengkapi keyword dan mengusulkan tipe parameter dari sebuah method.
  2. Bookmarking: fitur yang digunakan untuk menandai baris yang suatu saat hendak kita modifikasi.
  3. Go to commands: fitur yang digunakan untuk jump ke deklarasi variabel, source code atau file yang ada pada project yang sama.
  4. Code generator: jika kita menggunakan fitur ini kita dapat meng-generate constructor, setter and getter method dan yang lainnya.
  5. Error stripe: fitur yang akan menandai baris yang eror dengan memberi highlight merah.
Paket-Paket Tambahan NetBeans IDE
NetBeans Mobility Pack
NetBeans Mobility Pack adalah alat untuk mengembangkan aplikasi yang berjalan pada perangkat bergerak (mobile), umumnya telepon seluler, tetapi juga mencakup PDA, dan lain-lain.
NetBeans Mobility Pack dapat digunakan untuk menulis, menguji, dan debugging aplikasi untuk perangkat bergerak yang menggunakan teknologi berplatform Java Micro Edition (platform Java ME). Paket ini mengintegrasikan dukungan terhadap Mobile Information Device Profile (MIDP) 2.0, Connected Limited Device Configuration (CLDC) 1.1, dan Connected Device Configuration (CDC). Emulator dari pihak ketiga dapat diintegrasikan dengan mudah untuk lingkungan pengujian yang lebih kokoh. NetBeans Mobility Pack saat ini tersedia dalam dua klaster yang berbeda, yang satu memuat CDC dan yang lainnya CLDC.
NetBeans Profiler
NetBeans Profiler adalah alat untuk mengoptimalkan aplikasi Java, membantu menemukan kebocoran memori dan mengoptimalkan kecepatan.
Profiler ini berdasarkan sebuah proyek riset Sun Laboratories yang dahulu bernama Jfluid. Riset tersebut mengungkap teknik tertentu yang dapat digunakan untuk menurunkan overhead proses profiling aplikasi Java. Salah satu dari teknik tersebut adalah instrumentas i kode byte dinamis, yang berguna untuk profiling aplikasi Java yang besar. Dengan menggunakan instrumentasi kode byte dinamis dan algoritma-algoritma tambahan, Netbeans Profiler mampu mendapatkan informasi runtime aplikasi yang terlalu besar atau kompleks bagi profiler lain. NetBeans IDE 6.0 akan mendukung Profiling Point yang memungkinkan kita memprofilkan titik yang tepat dari eksekusi dan mengukur waktu eksekusi.
NetBeans C/C++ Pack
NetBeans C/C++ Pack menambahkan dukungan terhadap pengembang C/C++ ke NetBeans IDE 5.5. Paket ini memperbolehkan pengembang menggunakan sekumpulan kompiler dan alat sendiri bersama dengan NetBeans IDE untuk membangun aplikasi native untuk MS Windows, Linux, dan Solaris. Paket ini membuat editor mengenali bahasa C/C++ dan menyediakan project template, browser kelas yang dinamis, dukungan pembuatan file dan fungsionalitas debugger. Para pengembang juga dapat mengembangkan paket tersebut dengan fungsionalitas tambahan mereka sendiri.
NetBeans Enterprise Pack
NetBeans Enterprise Pack memperluas dukungan terhadap pengembangan aplikasi perusahaan dan web service di NetBeans IDE 5.5.
Enterprise Pack ini mengembangkan kemampuan untuk menulis, menguji, dan debug aplikasi dengan arsitektur berorientasi layanan (Service-Oriented Architecture) menggunakan XML, BPEL, dan Java web service. Paket ini menambahkan alat desain visual untuk pemodelan UML, skema XML, dan web service orchestration, juga dukungan untuk web service dengan menggunakan identitas yang aman. Paket ini juga menginstal dan mengkonfigurasi runtime yang diperlukan, termasuk mesin BPEL dan server manajemen identitas yang terintegrasi dengan Sun Java System Application Server.
NetBeans Ruby Pack
Versi NetBeans 6.0 mendatang akan mengijinkan pengembangan IDE menggunakan Ruby dan Jruby, sebagaimana Rails untuk dua implementasi Ruby yang lain. Preview NetBeans Ruby Pack tersedia sejak rilis Milestone 7 NetBeans 6.
Ruby Pack memasukkan fungsionalitas editor seperti:
  • pengeditan dasar
  • pewarnaan sintaks untuk Ruby
  • pelengkapan kode
  • occurence highlighting
  • pop-up dokumentasi yang terintegrasi untuk pemanggilan Ruby API
  • analisis semantik dengan highlighting parameter dan variabel lokal yang tidak terpakai
NetBeans JavaScript Editor
NetBeans JavaScript Editor menyediakan perluasan dukungan terhadap JavaScript dan CSS. Fitur-fiturnya antara lain:
1. Editor JavaScript
  • syntax highlighting
  • pelengkapan kode untuk objek dan fungsi native
  • semua fitur dalam editor NetBeans
  • pembuatan kerangka kelas JavaScript secara otomatis
  • pembuatan pemanggilan AJAX dari template
2. Ekstensi editor CSS
  • pelengkapan kode untuk nama-nama style
  • navigasi cepat melalui panel navigator
  • penampilan deklarasi aturan CSS di List View
  • penampilan struktur file di Tree View
  • mengurutkan outline view berdasarkan nama, tipe, atau urutan deklarasi (List & Tree)
  • pembuatan deklarasi aturan (hanya Tree)
  • pemfaktoran kembali sebagian nama rule (hanya Tree)
Database yang didukung oleh Netbeans antara lain:
  1. JDBC merupakan spesifikasi standar dari JavaSoft API (Aplication Programming Interface) yang memungkinkan program Java untuk mengakses sistem database manajemen. JDBC API terdiri dari satu set interface dan kelas yang ditulis dalam bahasa pemrograman Java. JDBC API Menggunakan interface standar dan kelas, programmer dapat menulis aplikasi yang terhubung ke database, mengirimkan pertanyaan ditulis SQL (Structured Query Language), dan memproses hasilnya.
  2.  ORACLE merupakan sebuah aplikasi basisdata yang didukung oleh NetBeans, Oracle secara umum hampir sama dengan MySQL namun yang membedakan adalah oracle dapat digunakan dan dihubungkan dengan netbeans dan harus menggunakan drivers untuk menyimpan data-data yang telah dibuat. Oracle merupakan salah satu dari beberapa aplikasi basisdata yang sering digunakan untuk koneksi ke basisdata pada NetBeans karena relatif mudah dan cepat.
  3. MySQL merupakan sebuah aplikasi basisdata yang didukung oleh NetBeans, MySQL memilki Fitur Yang ada sudah lumayan lengkap, dari input, update, delete serta Search. Sebuah antarmuka ODBC memanggil MyODBC yang memungkinkan setiap bahasa pemrograman yang mendukung ODBC untuk berkomunikasi dengan basis data MySQL. Kebanyakan kode sumber MySQL dalam ANSI C.
Berikut sekilas mengenai beberapa syntaks SQL yang digunakan pada NetBeans:
1. Interface :
  • java.sql.Statement Interface yang digunakan untuk mengirim laporan statis SQL ke server database dan memperoleh hasilnya.
  • javax.sql.ConnectionEventListener Menerima event atau kejadian bahwa obyek PooledConnection digeneralisasi.
2. Classes :
  • java.sql.Date Subclass dari java.util.Date digunakan untuk tipe data SQL DATE.
  • java.lang.DriverManager Class yang digunakan untuk mengelola satu set JDBC drivers.
3. Exception Classes:
  •   java.sql.SQLException Eksepsi yang menyediakan informasi tentang Database error
  •  java.sql.SQLWarning Eksepsi yang menyediakan informasi tentang peringatan Database.
4. DataBase Access (Microsoft Access) merupakan sebuah aplikasi basis data yang didukung oleh NetBeans, data dapat disimpan di dalam format Microsoft Access, Microsoft Jet Database Engine, Microsoft SQL Server, Oracle Database, atau semua kontainer basis data yang mendukung standar ODBC. Access juga mendukung teknik-teknik pemrograman berorientasi objek.
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.

Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse:
·         Multi-platform: Target sistem operasi Eclipse adalah Microsoft WindowsLinuxSolarisAIXHP-UX dan Mac OS X.
·         Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, CobolPythonPerlPHP, dan lain sebagainya.
·         Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.
Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in.

Sejarah
Eclipse awalnya dikembangkan oleh IBM untuk menggantikan perangkat lunak IBM Visual Age for Java 4.0. Produk ini diluncurkan oleh IBM pada tanggal 5 November 2001, yang menginvestasikan sebanyak US$ 40 juta[1] untuk pengembangannya. Semenjak itu konsursiumEclipse Foundation mengambil alih untuk pengembangan Eclipse lebih lanjut dan pengaturan organisasinya.

Arsitektur
Sejak versi 3.0, Eclipse pada dasarnya merupakan sebuah kernel, yang mengangkat plug-in. Apa yang dapat digunakan di dalam Eclipse sebenarnya adalah fungsi dari plug-in yang sudah diinstal. Ini merupakan basis dari Eclipse yang dinamakan Rich Client Platform (RCP). Berikut ini adalah komponen yang membentuk RCP:
·         Core platform
·         OSGi
·         SWT (Standard Widget Toolkit)
·         JFace
·         Eclipse Workbench
Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development Tools), plug-in yang membuat Eclipse kompatibel untuk mengembangkan program Java, dan PDE (Plug-in Development Environment) untuk mengembangkan plug-in baru. Eclipse beserta plug-in-nya diimplementasikan dalam bahasa pemrograman Java.
Konsep Eclipse adalah IDE yang terbuka (open), mudah diperluas (extensible) untuk apa saja, dan tidak untuk sesuatu yang spesifik[2]. Jadi, Eclipse tidak saja untuk mengembangkan program Java, akan tetapi dapat digunakan untuk berbagai macam keperluan, cukup dengan menginstal plug-in yang dibutuhkan. Apabila ingin mengembangkan program C/C++ terdapatplug-in CDT (C/C++ Development Tools). Selain itu, pengembangan secara visual bukan hal yang tidak mungkin oleh Eclipse, plug-in UML2 tersedia untuk membuat diagram UML. Dengan menggunakan PDE setiap orang bisa membuat plug-in sesuai dengan keinginannya. Salah satu situs yang menawarkan plug-in secara gratis seperti Eclipse downloads by project.

Penulisan di Programa Java, Input, dan Output
Ini adalah code dari Input-Output menggunakan Java :
import java.util.Scanner;
public class InputOut {
public static void main(String args[]) {
             Scanner masukan = new Scanner (System.in);
                String x;
System.out.print("Masukan Sebuah Kata : ");
                    x = masukan.next();
System.out.println("Kata Yang Anda Masukan Adalah : "+x);
         }      
    }

 Penjelasan nya ada di bawah ini :
import java.util.scanner = guna nya adalah untuk mengambil fungsi scanner pada java
public class InputOut { = mendeklarasikan class "InputOut" (harus ada dengan nama berbeda juga tidak apa - apa)
public static void main(String args[]) { = saya sendiri kurang tahu ini untuk apa mungkin untuk pendeklarasian dimulai code java
Scanner masukan = new Scanner (System.in);  = fungsi dari code ini adalah untuk pendeklarasian variable Scanner (variabel nya adalah "masukan" terserah anda bila ingin diganti tidak apa - apa)
String x; = pendeklarasian variable "x" yang dinilai (value) nya bergantung pada scanner
System.out.print("Masukan Sebuah Kata : ");  = code untuk membuat output pada java (seperti echo pada PHP)
x = masukan.next(); = memasukan nilai variabel "x" dari scanner
System.out.println("Kata Yang Anda Masukan Adalah : "+x); = code untuk membuat output pada java (seperti echo pada PHP)

Jika sudah selesai lihatlah, apa yang anda masukan akan di repeat oleh program keren kan? tunggu tutorial dari saya selanjutnya ya
FORMAT PENDEKLARASIAN VARIABEL : [tipe_data (SPASI) nama_variabel]
int = mendeklarasikan tipe data Integer
char = mendeklarasikan tipe data Char / Character
boolean = mendeklarasikan tipe data Boolean
String = mendeklarasikan tipe data String
float = mendeklarasikan tipe data Float
dan lain - lain
Operator : Assigment, Matematika, Perbandingan, Logika
Ø  Operator Matematika
Bahasa Pascal menyediakan beberapa operator yang dapat digunakan dalam operasi aritmatika, seperti penjumlahan, pengurangan, perkalian, pembagian dan penentuan sisa bagi.
Operator
Jenis Operasi
Tipe Operand
Tipe Hasil
Contoh
+
Penjumlahan
Integer, real
Integer, real
a + b
-
Pengurangan
Integer, real
Integer, real
x – 1
*
Perkalian
Integer, real
Integer, real
a * b
/
Pembagian untuk bilangan riil
Integer, real
real
5 / 3
div
Pembagian untuk bilangan bulat
Integer
Integer
10 div 4
mod
Sisa bagi
integer
integer
10     od 3

Ø  Operator Perbandingan
Operator perbandingan berguna untuk membandingkan dua nilai atau lebih, atau bisa juga digunakan untuk membandingkan nilai antar variabel, dimana hasil perbandingan tersebut akan menghasilkan nilai true atau false. Nilai variabel atau nilai yang dibandingkan pada kondisi if atau statement condition ini disebut dengan operand. Supaya lebih jelas saya akan memberikan contoh.
<?php
$a = 10;
$b = 5;
if ($a > $b)
{
……
}
?>
coba kamu perhatikan script php diatas pada bagian (if $a > $b). Yang dimaksud dengan operand adalah $a dan $b. Kedua variabel tersebut disebut operand karena kedua variabel tersebut digunakan untuk melakukan perbandingan. Perintah if tersebut dapat dibaca apakah variabel $a lebih besar dari variabel $b ?. Jika iya maka jalankan perintah dibawah perintah if. Nach gimana udah jelas kan mengenai apa yang dimaksud dengan operand.
Berikutnya saya akan menjelaskan operator apa saja yang dapat digunakan untuk melakukan perbandingan pada perintah if di php. Sebenarnya operator perbandingan ini tidak saja dapat digunakan untuk melakukan perbandingan pada perintah if di php. Operator perbandingan ini juga dapat digunakan pada perintah perulangan pada php. Namun untuk lebih mudahnya kita pelajari dulu penerapan operator ini pada perintah if di php.
Berikut ini merupakan operator perbandingan yang dapat digunakan di php
               
Simbol

Keterangan
==
:
disebut juga sebagai operator Equality. Perbandingan menggunakan operator ini akan mengembalikan nilai true jika kedua operand memiliki nilai sama, apabila tidak maka akan mengembalikan nilai false.



!=
:
disebut juga sebagai operator Inequality. Perbandingan menggunakan operator ini akan mengembalikan nilai true jika kedua operand memiliki nilai berbeda, apabila tidak maka akan mengembalikan nilai false.



===
:
disebut juga sebagai operator Identical. Operator ini digunakan untuk membandingkan apakah kedua operand identik. Yang dimaksud dengan identik disini adalah kedua operand memiliki nilai dan tipe data yang sama.



!==
:
disebut juga sebagai operator Not Identical. Operator ini digunakan untuk membandingkan apakah kedua operand tersebut tidak identik. Yang dimaksud dengan tidak identik adalah kedua operand memiliki nilai dan tipe data yang berbeda.



:
Operator ini digunakan untuk membandingkan apakah operand yang berada disebelah kiri memiliki nilai lebih besar daripada operand yang disebelah kanan.



>=
:
Operator ini digunakan untuk membandingkan apakah operand yang berada disebelah kiri memiliki nilai lebih besar sama atau sama dengan operand yang disebelah kanan.



:
Operator ini digunakan untuk membandingkan apakah operand yang berada disebelah kiri memiliki nilai lebih kecil daripada operand yang disebelah kanan.



<=
:
Operator ini digunakan untuk membandingkan apakah operand yang berada disebelah kiri memiliki nilai lebih besar atau sama dengan operand yang disebelah kanan.

Ø  Operator Logika
Operator logika itu adalah operator yang digunakan untuk membandingkan dua nilai boolean. Biasanya digunakan untuk menggabungkan hasil dari operator pembanding.
Ada dua operator di operator logika :
  • and (&&) dan
  • or (||)
Berikut adalah hasil dari operasi logika && :
  • true && true = true
  • true && false = false
  • false && true = false
  • false && false = false
dan ini adalah hasil dari operator logika || :
  • true || true = true
  • true || false = true
  • false || true = true
  • false || false = false
Jadi dalam operator logika && hanya akan menghasilkan true jika kedua nilai true dan operator logika || akan menghasilkan false jika kedua nilai false (kebalikannya).
/**
 * Copyright (c) 2012 @khannedy and/or its affiliates. All rights reserved.
 * @khannedy PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */
package khannedy.pakarjava.javadasar;
 
/**
 *
 * @author Eko Kurniawan Khannedy
 */
public class OperatorLogika {
 
    /**
     * @param args the command line arguments
     */
public static void main(String[] args) {
 
boolean hasil;
 
hasil = true && true;
System.out.println(hasil);
 
hasil = true && false;
System.out.println(hasil);
 
hasil = false && true;
System.out.println(hasil);
 
hasil = false && false;
System.out.println(hasil);
 
hasil = true || true;
System.out.println(hasil);
 
hasil = true || false;
System.out.println(hasil);
 
hasil = false || true;
System.out.println(hasil);
 
hasil = false || false;
System.out.println(hasil);
    }
}

Tingkatan Operator
            Tabel pada halaman berikut akan memperlihatkan kedudukan dari setiap operator terhadap operator lainnya, dan bagaimana arah pengeksekusian dari suatu pernyataan yang mengandung operator tersebut
                               
Operator
Evaluasi
( ) [ ]   .
kiri ke kanan
!  ~  ++  --  +  -  *  &  (type)  sizeof
kanan ke kiri
*  /  %
kiri ke kanan
+  -
kiri ke kanan
<<  >>
kiri ke kanan
<  <=  >  >=
kiri ke kanan
==  !=
kiri ke kanan
&
kiri ke kanan
^
kiri ke kanan
|
kiri ke kanan
&&
kiri ke kanan
||
kiri ke kanan
? :
kanan ke kiri
=  +=  -=  *=  /=  %=  &=  ^=  |=  <<=  >>=
kanan ke kiri
,
kiri ke kanan

Sebagai contoh, operator binary + dan - mempunyai kedudukan yang lebih tinggi dibandingkan dengan operator !=, dan operator & mempunyai kedudukan yang lebih tinggi dibandingkan dengan operator &&.
Catatan :
        Operator unary +, -, dan * mempunyai kedudukan yang lebih tinggi dibandingkan dengan bentuk binary-nya.
        Kedudukan operator bitwise &, ^, dan | lebih rendah dibandingkan dengan operator == dan !=.  Dengan demikian, pernyataan seperti :
                        if ( (x & MASK) == 0 )  ......
            harus menggunakan tanda kurung seperti pada bentuk di atas agar memperoleh hasil yang diinginkan.

E. Percabangan (if, if....else, if...elseif...., switch)
Percabangan adalah suatu pilihan atau opsi dengan kondisi tertentu. Jika kondisi yang menjadi syarat terpenuhi, maka opsi atau pilihan dijalankan, jika tidak maka sebaliknya. Dalam java terdapat 4 macam jenis percabangan, if, if-else, else-if, dan juga switch. Keempat jenis ini memiliki penggunaan masing-masing. Berikut penjelasan mengenai penggunaan tiap-tiap percabangan :

  • if : Percabangan if ini digunakan jika kita hanya memiliki satu pernyaatan yang akan dijalankan dengan syarat tertentu. Sintaks if seperti berikut :
if(kondisi){
pernyataan
Jika kondisi benar, maka pernyataan akan dijalankan.
Contoh : 
public class coba{
public static void main (String [] args){
int a=0;        
if (a==0)
   System.out.println("Nilai a = 0");
if (a==1)
   System.out.println("Nilai a = 1");
    }
}
Output : Program akan menampilkan  nilai a = 0 saja, karena pada if yang kedua, kondisi tidak memenuhi atau salah. 
  • if else : Percabangan if else digunakan saat kita memiliki dua pernyataan dengan syarat tertentu. Sintaks if-else seperti berikut :
if(kondisi){
pernyataan1
}else{
pernyataan2
}
Jika hasil dari if benar, maka pernyataan1 yang dijalankan, sedangkan jika salah, pernyataan dua yang akan dijalankan.
Contoh : 
public class coba{
public static void main (String [] args){
int a=0;        
if (a==0)
   System.out.println("Nilai a = 0");
else
   System.out.println("Nilai a = 1");
    }
}
Output : program akan menampilkan nilai a = 0, karena kondisi if bernilai benar, jika pada inisialisasi nilai a tidak bernilai 0, maka program akan menampilkan nilai a = 1.

  •  else -if : percabangan yang digunakan saat kita memiliki banyak kondisi (lebih dari 2) dan banyak pernyataan (lebih dari 2). Sintaks dari else-if seperti berikut :
if(kondisi){
pernyataan1
}elseif(kondisi2){
pernyataan2
}else(kondisi3){
pernyataan3
else {
penyataan4
jika kondisi1 benar, maka pernyataan1 akan dijalankan, jika kondisi2 benar, maka penyataan2 akan dijalankan, jika semua kondisi salah, maka penyataan4 yang akan dijalankan saja.
Contoh :

 public class coba{
public static void main (String [] args){
int a=2;        
if (a==0)
   System.out.println("Nilai a = 0");
else if(a==1)
   System.out.println("Nilai a = 1");
else if(a==2)
   System.out.println("Nilai a = 2"); 
    }
}
Output : Program akan menampilkan  nilai a = 2 saja, karena pada  else-if yang ketiga atau dengan pernyataan a==2 bernilai benar, sedangkan pernyataan yang lain tidak dijalankan karena kondisi tidak memenuhi.
  •  switch-case : percabangan yang digunakan saat kita memiliki banyak kondisi (lebih dari 2) dan banyak pernyataan (ledbih dari 2). Sebenarnya switch-case ini hampir sama dengan else if, hanya saja sintaksnya yang berbeda. Sintaks dari switch-case seperti berikut :
switch (variabel) { 
case nilai1: pernyataan1; 
break; 
case nilai2: pernyataan2; 
break; 
default: pernyataan3; 
 }
Jika nilai variabel yang ditunjuk bernilai sesuai nilai1, maka pernyataan1 akan dijalankan, jika nilai variabel yang ditunjuk bernilai sesuai nilai2, pernyataan2 dijalankan, jika tidak ,maka pernyataan3 yang akan dijalankan.

 public class coba{
public static void main (String [] args){
int a=3;        
switch (a) { 
     case 1: 
        System.out.println("Nilai a=1");break;
     case 2: 
        System.out.println("Nilai a=2"); break;
     case 3: 
        System.out.println("Nilai a=3");break;
     default: 
        System.out.println("Nilai a=4"); break
          }
    }
}
Output : Program akan menampilkan  nilai a = 2 saja, karena kondisi bernilai benar, perhatika break dibelakang pernyataan, jika break ini dihapus, maka semua pernyataan akan dijalankan. Break digunakan untuk keluar dari switch-case saat 1 pernyataan sudah dijalankan.

Percabangan (if, if....else, if...elseif...., switch)
Percabangan adalah suatu pilihan atau opsi dengan kondisi tertentu. Jika kondisi yang menjadi syarat terpenuhi, maka opsi atau pilihan dijalankan, jika tidak maka sebaliknya. Dalam java terdapat 4 macam jenis percabangan, if, if-else, else-if, dan juga switch. Keempat jenis ini memiliki penggunaan masing-masing. Berikut penjelasan mengenai penggunaan tiap-tiap percabangan :
IF
Percabangan if ini digunakan jika kita hanya memiliki satu pernyaatan yang akan dijalankan dengan syarat tertentu. Sintaks if seperti berikut :

if(kondisi){
pernyataan
Jika kondisi benar, maka pernyataan akan dijalankan.
Contoh : 
public class coba{
public static void main (String [] args){
int a=0;        
if (a==0)
   System.out.println("Nilai a = 0");
if (a==1)
   System.out.println("Nilai a = 1");
    }
}
Output : Program akan menampilkan  nilai a = 0 saja, karena pada if yang kedua, kondisi tidak memenuhi atau salah. 
IF-ELSE
Percabangan if else digunakan saat kita memiliki dua pernyataan dengan syarat tertentu. Sintaks if-else seperti berikut :
if(kondisi){
pernyataan1
}else{
pernyataan2
}
Jika hasil dari if benar, maka pernyataan1 yang dijalankan, sedangkan jika salah, pernyataan dua yang akan dijalankan.
Contoh : 
public class coba{
public static void main (String [] args){
int a=0;        
if (a==0)
   System.out.println("Nilai a = 0");
else
   System.out.println("Nilai a = 1");
    }
}
Output : program akan menampilkan nilai a = 0, karena kondisi if bernilai benar, jika pada inisialisasi nilai a tidak bernilai 0, maka program akan menampilkan nilai a = 1.

ELSE-IF
percabangan yang digunakan saat kita memiliki banyak kondisi (lebih dari 2) dan banyak pernyataan (lebih dari 2). Sintaks dari else-if seperti berikut :
if(kondisi){
pernyataan1
}elseif(kondisi2){
pernyataan2
}else(kondisi3){
pernyataan3
else {
penyataan4
jika kondisi1 benar, maka pernyataan1 akan dijalankan, jika kondisi2 benar, maka penyataan2 akan dijalankan, jika semua kondisi salah, maka penyataan4 yang akan dijalankan saja.
Contoh :

 public class coba{
public static void main (String [] args){
int a=2;        
if (a==0)
   System.out.println("Nilai a = 0");
else if(a==1)
   System.out.println("Nilai a = 1");
else if(a==2)
   System.out.println("Nilai a = 2"); 
    }
}
Output : Program akan menampilkan  nilai a = 2 saja, karena pada  else-if yang ketiga atau dengan pernyataan a==2 bernilai benar, sedangkan pernyataan yang lain tidak dijalankan karena kondisi tidak memenuhi.

SWITCH
switch-case : percabangan yang digunakan saat kita memiliki banyak kondisi (lebih dari 2) dan banyak pernyataan (ledbih dari 2). Sebenarnya switch-case ini hampir sama dengan else if, hanya saja sintaksnya yang berbeda. Sintaks dari switch-case seperti berikut :
switch (variabel) { 
case nilai1: pernyataan1; 
break; 
case nilai2: pernyataan2; 
break; 
default: pernyataan3; 
 }
Jika nilai variabel yang ditunjuk bernilai sesuai nilai1, maka pernyataan1 akan dijalankan, jika nilai variabel yang ditunjuk bernilai sesuai nilai2, pernyataan2 dijalankan, jika tidak ,maka pernyataan3 yang akan dijalankan.

 public class coba{
public static void main (String [] args){
int a=3;        
switch (a) { 
     case 1: 
        System.out.println("Nilai a=1");break;
     case 2: 
        System.out.println("Nilai a=2"); break;
     case 3: 
        System.out.println("Nilai a=3");break;
     default: 
        System.out.println("Nilai a=4"); break
          }
    }
}
Output : Program akan menampilkan  nilai a = 2 saja, karena kondisi bernilai benar, perhatika break dibelakang pernyataan, jika break ini dihapus, maka semua pernyataan akan dijalankan. Break digunakan untuk keluar dari switch-case saat 1 pernyataan sudah dijalankan






Soal Praktikum
MODUL 2
PRAKTIKUM DASAR PEMROGRAMAN

1.       Tuliskan algoritma untuk mencari sisi miring dari suatu segitiga siku-siku jika diketahui diketahui panjang dua sisi yang membentuk sudut siku-siku.
Petunjuk:sisi miring segitiga siku-siku dapat dihitung dengan rumuspythagoras, 

2.       Tuliskan algoritma untuk menampilkan banyaknya pecahan uang paling efisien dari sejumlah uang yang di inputkan oleh pengguna.
Pecahan uang yang digunakan: 100.000, 50.000, 20.000, 10.000, 5.000, 2.000, 1.000, 500, 200, dan 100.
Contoh, untuk uang Rp 12.500, diperlukan 1 lembar 10.000, 1 lembar 2.000, dan 1 koin 500.
Input             : jumlah uang
Output         : banyaknya pecahan uang

3.       Buat algoritma untuk mengkonversi bilangan dalam format desimal menjadi biner.
Input             : bilangan desimal
Output         : bilangan biner
Ilustrasi:
http://pad3.whstatic.com/images/thumb/d/d1/Convert-from-Decimal-to-Binary-Step-14.jpg/550px-Convert-from-Decimal-to-Binary-Step-14.jpg


4.       Untuk menentukan bonus pegawai, berdasarkan ketentuan yang diberikan oleh bagian personalia dan keuangan sebagai berikut : Pegawai perusahaan digolongkan menjadi dua golongan, yaitu staf dan non staf. Staf akan mendapatkan bonus sebesar 1 juta rupiah dengan syarat bahwa ia telah bekerja paling tidak 5 tahun dan umurnya sudah mencapai 50 tahun; staf yang bekerja kurang dari 5 tahun dan berapapun umurnya, hanya mendapat bonus sebesar Rp. 500.000. Pegawai non staf yang telah bekerja lebih dari 5 tahun akan mendapat bonus sebesar Rp. 400.000 jika berumur lebih dari 50 tahun sedangkan pegawai non staf yang berumur kurang dari 50 tahun hanya mendapat bonus Rp. 250.000. Pegawai staf yang umurnya kurang dari 50 tahun akan mendapat bonus Rp. 300.000.

Buat algoritmanya?

5.       Tarif pemasangan iklan baris di sebuah Surat Kabar ditentukan sebagai berikut :
-       Hari        : Minggu, Senin, Selasa, Rabu, Kamis dan Jumat, per baris Rp. 33.000,-
-       Hari        : Sabtu, per baris Rp. 40.000,-
Buatlah algoritma untuk menghitung total biaya iklan baris yang harus dibayar oleh pengiklan.
Input     :               -  Hari (Minggu, Senin, Selasa, Rabu, Kamis, Jumat atau Sabtu)
                                -  Jumlah baris yang dipakai
Output :               Total biaya iklan yang harus dibayar pengiklan

Tuliskan algoritma untuk kasus diatas dalam bentuk flowchart.

6.       Info Harga Tiket Masuk bioskop Surabaya City adalah sebagai berikut :
-       Senin – Kamis                    : Rp 15.000,-
-       Jumat s/d Minggu            : Rp 35.000,-
-       Hari Libur                             : Rp 35.000,-
Input     :               -  Hari (Minggu, Senin, Selasa, Rabu, Kamis, Jumat atau Sabtu)
-  Libur atau Tidak Libur
-  Jumlah tiket yang dibeli
                Output : Total biaya tiket

Pertanyaan: Buat algoritma untuk menghitung total biaya tiket .

7.       Di sebuah perbelanjaan di Surabaya diadakan Pekan Diskon, dimana perhitungan bonus dihitung bertingkat untuk total belanja senilai :
-          Rp. 150.000,-                                      diskonnya : 10%
-          Rp. 275.000,-                                      diskonnya : 15%
-          Rp. 300.000,-                                      diskonnya : 20%
-          Rp. 400.000,-  ke atas                      diskonnya : 25%
Diskon tidak dihitung sebagai akumulasi dari diskon nilai belanja dibawahnya.
Buatlah algoritma untuk menghitung berapa nilai yang harus dibayar oleh pelanggan dengan total nilai belanja tertentu bila disertakan pula perhitungan diskonnya.
Input            : Total nilai belanja.
Output        : Nilai Diskon (dalam rupiah/bukan persen), Nilai yang harus dibayar

8.       Berikut ini adalah ketentuan untuk menghitung nilai, dan konversi menjadi nilai huruf.
Ketentuannya:
Nilai=((rata-rata tugas*30%)+(UTC*30%)+(UAC*40%))
Input             = tugas1,tugas2,tugas3,UTC,UAC
Output         = Nilai Akhir dan Nilai Huruf.
‘A’          jika nilai > 80 dan nilai <= 100
‘AB’    
   jika nilai > 70 dan nilai <= 80
‘B’           jika nilai > 65 dan nilai <= 70
‘BC’        jika nilai > 60 dan nilai <= 65
‘C’           jika nilai > 55 dan nilai <= 60
’D’          jika nilai > 40 dan nilai <= 55
’E’           jika nilai > 0 dan nilai <= 40

9.       Berikut ini adalah tarif pemakaian Air PDAM Kota Surabaya
Jumlah Pemakaian (m3)                Harga/m3
Pemakaian I       (     <  50 m3)        Rp.         200,-
Pemakaian II      (    51 – 150 )                         Rp.     500,-
Pemakaian III     ( 151 – 300 )                         Rp. 1.000,-
Pemakaian I V    ( >  300 m3 )                         Rp.  1.500,-

Input     : Jumlah Pemakaian
Output : Besar biaya yang harus dibayar

Jumlah Pemakaian  = 500 m3
Pemakaian I       (  s/d  50 m3)                   Rp.    200,-    *        50    =                 Rp. 10.000,-
Pemakaian II      (    51 – 150 )                   Rp.     500,-    *      100    =                 Rp. 50.000,-
Pemakaian III     ( 151 – 300 )                   Rp. 1.000,-    *      150    =               Rp. 150.000,-
Pemakaian IV    (  >  300 m3 )                   Rp.  1.500,-    *      200    =               Rp. 300.000,-
Biaya Total                                                                                                                          Rp. 510.000,-

Pertanyaan: Buat algoritma untuk kasus diatas.

10.   Sebuah perusahaan kartu kredit memberikan cash back kepada nasabahnya berdasarkan jumlah nilai pemakaian kartu kredit selama sebulan.
Nilai pemakaian         cash back
---------------------  ----------
s.d 1.000.000                  5%
1.000.000 – 10.000.000         6%
10.000.000 – 25.000.000 7%
Diatas 25.000.000              8%

Ilustrasi: seorang nasabah yang total pemakaian selama sebulan 18.000.000, maka cash backnya= 5%x1.000.000+6%x9.000.000+7%x8.000.000 = 160.000

Buat algoritma untuk menghitung cash back yang diterima nasabah berdasarkan nilai pemakaian kartu kredit.



Format Laporan:
1.       Cover
2.       Dasar Teori terkait dengan:
-          Netbeans dan Eclipse
-          Penulisan Program di Java, Input, Output
-          Operator: Assigment, Matematika, Perbandingan, Logika
-          Tingkatan Operator
-          Percabangan (if, if....else, if...elseif...., switch)
3.       Soal Praktikum
4.       Flowchart atau psoudocode dari masing-masing soal
5.       Kode Sumber (Source Code) beserta Outputnya
6.       Referensi


Flowchart atau Psoudocode dari Masing-Masing Soal
1.    Algoritma:
a.       Tentukan nilai a, b
b.      Hitung C = 
c.       Tampilkan C
       Psuodocode
a.       Input (a,b)
b.      C ß
c.       Output (c)
       Flowchart
2.    Algoritma
a.       Tentukan uang
b.      Hitung p100r = uang/100000
Hitung sp100r = uang – p100r*100000
Hitung p50r = sp100r/50000
Hitung sp50r = sp100r – p50r*50000
Hitung p20r = sp50r/20000
Hitung sp20r = sp50r – p20r*20000
Hitung p10r = sp20r/10000
Hitung sp10r = sp20r – p10r*10000
Hitung p5r = sp10r/5000
Hitung sp5r = sp10r – p5r*5000
Hitung p1r = sp5r/1000
Hitung sp1r = sp5r – p1r*1000
Hitung p0,5r = sp1r/500
Hitung sp0,5r = sp1r – p0,5r*500
Hitung p0,1r = sp0,5r/100
Hitung sp0,1r = sp0,5r – p0,1r*100
c.       Tampilkan p100r, p50r, p20r, p10r, p5r, p1r, p0,5r, p0,1r

      Pseudocode
a.       Input (uang)
b.      p100r ß uang/100000
sp100rß uang – p100r*100000
p50rß sp100r/50000
sp50r ß sp100r – p50r*50000
p20rß sp50r/20000
sp20r ß sp50r – p20r*20000
p10rß sp20r/10000
sp10r ß sp20r – p10r*10000
p5rß sp10r/5000
sp5r ß sp10r – p5r*5000
p1rß sp5r/1000
sp1r ß sp5r – p1r*1000
p0,5rß sp1r/500
sp0,5rß sp1r – p0,5r*500
p0,1rß sp0,5r/100
sp0,1ß sp0,5r – p0,1r*100
c.       output (p100r, p50r, p20r, p10r, p5r, p1r, p0,5r, p0,1r)
flowchart
3.    Algoritma
a.       Baca des
b.      1. Desimal=des/2
2. Sisa= desimal%2
3. d= d*2
4. biner= biner + sisa * d
5. jika desimal 0 pergi ke c
6. pergi ke 1
c.       cetak desimal
Pseudocode
a.       input (des)
b.      Desimal ß des/2
c.       Sisa ß desimal%2
d.      D= d*2
e.      Biner ß biner+sisa*d
f.        If desimal == 0 output (desimal)
g.       Else kembali ke b
Flowchart
4.    Algoritma
a.       Tentukan l,u,s,ns
b.      Bonus =
1. Jika  ns
2. Jika l <= 5 & u <=50
3. cetak bonus 400
4. jika l>= 5
5. cetak bonus 250
6. jika s
7. Jika l <= 5 & u <=50
8. Cetak bonus 1jt
9. jika l<= 5 & u >= 50
10. cetak bonus 500
11. else s u>=50
12. cetak bonus 300
c.   tampilkan bonus

pseudocode
a.       Input (l,u,s,ns)
b.      Bonus =
1. Jika  ns
2. Jika l <= 5 & u <=50
3. cetak bonus 400
4. jika l>= 5
5. cetak bonus 250
6. jika s
7. Jika l <= 5 & u <=50
8. Cetak bonus 1jt
9. jika l<= 5 & u >= 50
10. cetak bonus 500
11. else s u>=50
12. cetak bonus 300
c.       Output (bonus)
Flowchart




5.       Algoritma
a.       Tentukan hari, jml
b.      Jika hari minggu- jum’at
c.       Cetak hrg hari = 33000
d.      Total = jml*hrghari
e.      Jika tidak
f.        Cetak hrghari 40000
g.       Total = jml*hrghar


Pseudocode
a.       Input (hari,jml)
b.      Jika  hari = minggu, senin, selasa, rabu, kamis, jum’at
c.       Hrghari = 33000
d.      Jika tidak
e.      Hrghari = 40000
f.        Total ßjml*hrghari
g.       Output (total)

Flowchart
6.       Algoritma
a.       Tentukan hari,jml,libur, tidak libur
b.      Jika hari = senin, selasa, rabu,kamis, jum’at
c.       Jika libur harga = 35.000
d.      Jika tidak harga = 15.000
e.      Jika hari = sabtu& minggu
f.        Harga = 35.000
g.       Total = jml*harga
h.      Tampilkan total
Pseudocode
a.       Input (hari,jml,libur, tidak libur)
b.      Jika hari = senin, selasa, rabu,kamis, jum’at
c.       Jika libur harga = 35.000
d.      Jika tidak harga = 15.000
e.      Jika hari = sabtu& minggu
f.        Harga = 35.000
g.       Total ß jml*harga
h.      Output(total)
Flowchart








                                           
7.       Algoritma
a.       Tentukan harga
b.      Jika harga<=400000
c.       Hitung disc = harga*25/100
d.      Jika harga <=300000
e.      Hitung disc = harga*20/100
f.        Jika harga <= 275000
g.       Hitung disc = harga*15/100
h.      Hitung disc harga<= 150000*10/100
i.         Tampilkan disc

                Pseudocode
a.       Input (harga)
b.      Jika harga<=400000
c.       disc ß harga*25/100
d.      Jika harga <=300000
e.      disc ß harga*20/100
f.        Jika harga <= 275000
g.       disc ß harga*15/100
h.      disc ß harga<= 150000*10/100
i.         output (disc)

                flowchart



8.       algoritma
a.       tentukan tugas1,tugas2,tugas3,UTC,UAC
b.      hitung nilai = ((tugas1+tugas2+tugas3)/3*30/100) +(UTC*30/100)+(UAC*40/100)
c.       jika nilai > 80 dan nilai <= 100
d.      cetak A
e.      jika nilai > 70 dan nilai <= 80
f.        cetak AB
g.       jika nilai > 65 dan nilai <= 70
h.      cetak B
i.         jika nilai > 60 dan nilai <= 65
j.        cetak BC
k.       jika nilai > 55 dan nilai <= 60
l.         cetak C
m.    jika nilai > 40 dan nilai <= 55
n.      cetak D
o.      Cetak E
Pseudocode
a.       Input (tugas1,tugas2,tugas3,UTC,UAC)
b.      nilai ß (((tugas1+tugas2+tugas3)/3*30/100) +(UTC*30/100)+(UAC*40/100)
c.       jika nilai > 80 dan nilai <= 100
d.      output (A)
e.      jika nilai > 70 dan nilai <= 80
f.        output (AB)
g.       jika nilai > 65 dan nilai <= 70
h.      output (B)
i.         jika nilai > 60 dan nilai <= 65
j.        output (BC)
k.       jika nilai > 55 dan nilai <= 60
l.         output  (C)
m.    jika nilai > 40 dan nilai <= 55
n.      output (D)
o.      output (E)
flowchart

9.       algoritma
a.       tentukan pemakaian air
b.      jika pemakaian air <=50
c.       hitung biaya = 200* pemakaian air
d.      jika pemakaian air <50 dan pemakaian air >=150
e.      hitung biaya = 50*200 + (pemakaian air-50)*500
f.        jika pemakaian air <150 dan pemakaian air >= 300
g.       hitung biaya = 50*200 + 100*500+(pemakaian air-150)*1000
h.      hitung biaya = 50*200+100*500+150*100(pemakaian air-300)*1500
i.         tampilkan biaya
pseudocode
a.       input (pa)
b.      jika pa<= 50
c.       biaya ß 200* pa
d.      jika pa <50 dan pa >=150
e.      biayaß 50*200 + (pa-50)*500
f.        jika pa <150 dan pa >= 300
g.       biaya ß 50*200 + 100*500+(pa-150)*1000
h.      biayaß 50*200+100*500+150*100(pa-300)*1500
i.         output(biaya)
flowchart
10.   algoritma
a.       tentukan total
b.      jika total >= 1000000
c.       hitung cb = 5/100*total
d.      jika total <1000000 dan total >= 10000000
e.      hitung cb = 5/100*1000000 + 6/100* (total-1000000)
f.        jika total < 10000000 dan total >= 25000000
g.       hitung cb = 5/100*1000000 + 6/100*9.000.000+7/100*(total-10000000)
h.      hitung cb =5/100*1000000 + 6/100*9.000.000+7/100*10000000+8/100*(total-20000000)
i.         tampilkan cb
pseudocode
a.       input (total)
b.      jika total >= 1000000
c.       cb ß 5/100*total
d.      jika total <1000000 dan total >= 10000000
e.      cbß 5/100*1000000 + 6/100* (total-1000000)
f.        jika total < 10000000 dan total >= 25000000
g.       cb ß 5/100*1000000 + 6/100*9.000.000+7/100*(total-10000000)
h.      cb ß5/100*1000000 + 6/100*9.000.000+7/100*10000000+8/100*(total-20000000)
i.         output(cb)
flowchart




Kode Sumber (Source Code) beserta Outputnya






















Refrensi
ü  http://id.wikipedia.org/wiki/Eclipse_%28perangkat_lunak%29