Rabu, 06 November 2013



Modul II
Dasar Pemrograman


SHOLIKHUDDIN ROSYIDI
135623070

JURUSAN D3 MANAJEMEN INFORMATIKA
UNIVERSITAS NEGERI SURABAYA
Tahun Pelajaran 2013-2014

1.  Dasar Teori

-         Netbeans dan Eclipse

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.
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 Windows, Linux, Solaris, AIX, HP-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++, Cobol, Python, Perl, PHP, 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.
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++ terdapat plug-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 Program di Java, Input, Output

Stream merupakan dasar operasi input-output ( I/O ) dalam Java yang menggunakan package java.io sebagai package utama. Stream adalah representasi abstrak dari input dan output device, dimana aliran bytes akan ditransfer seperti file dalam harddisk, file pada sistem remote atau printer. Kita dapat membaca data dari input stream, yang dapat berupa file, keyboard atau komputer remote. Sedangkan untuk operasi penulisan berarti menulis data pada output stream. Package java.io mendukung dua tipe stream, yaitu binari dan karakter stream. Binari merupakan
data berupa bit atau data binari, sedangkan karakter adalah tipe khusus untuk
pembacaan dan penulisan teks/karakter.


Input Stream
Subclass-subclass dari inputStream adalah :
AudioInputStream,
ByteArrayInputStream,
FileInputStream,
FilterInputStream,
PipedInputStream,
SequenceInputStream, dan
StringBufferInputStream.
Dua method utama dari InputStream adalah :
Read
Method ini digunakan untuk membaca stream.
Close
Method ini digunakan untuk menutup koneksi input stream.

ex. InputStream.java
import java.io.*;
class InputStream {
public static void main(String[] args) throws IOException {
byte[] data = new byte[10];
System.out.print("Ketik 10 buah karakter :");
System.in.read(data);
System.out.print("Karakter yang Anda ketik yaitu : ");
for(int i=0;i<data.length;i++) {
System.out.print((char)data[i]); }
}
}

Output Stream
Subclass-subclass dari outputStream adalah :
ByteArrayOutputStream : digunakan untuk menuliskan stream menjadi byte array.
FileOutputStream : digunakan untuk menulis pada file
FilterOutputStream : merupakan superclass dari subclass-subclass seperti
DataOutputStream, BufferOutputStream, PrintStream, CheckedOutputStream
ObjectOutputStream : digunakan untuk menuliskan objek pada OutputStream.
PipedOutputStream : digunakan untuk menjadi output dari PipedInputStream.
Sebagian method-method OutputStream adalah :
Voidclose()
Menutup output stream yang aktif dan melepaskan sumber daya terkait dengan
stream tersebut
Void flush()
Melakukan flush output stream dan memaksa semua byte buffer untuk dituliskan
keluar
Void write(byte[] b)
Menulis sebanyak b.length dari byte array ke output stream
Void write(byte[] b, int off, int len)
Menuliskan sebanyak len byte dari byte array b dimulai dari index off


ex.Output Stream

import java.io.*;
class OutputStream {
public static void main(String[] args) throws IOException {
byte[] data = {'a','b','c','d','e','f','g'};
System.out.write(data,3,4);
System.out.write('\n'); //pindah baris
System.out.write(data); //tulis semua isi array data }
}

-         Operator: Assigment, Matematika, Perbandingan, Logika

Dalam Java, ada beberapa tipe operator. Ada operator aritmatika, operator relasi, operator logika, dan operator kondisi. Operator ini mengikuti bermacam-macam prioritas yang pasti sehingga compilernya akan tahu yang mana operator untuk dijalankan lebih dulu dalam kasus beberapa operator yang dipakai bersama-sama dalam satu pernyataan.

Operator
Operator adalah sebuah simbol yang memerintahkan komputer untuk melakukan suatu operasi / aksi terhadap satu atau lebih operand. Operand adalah sesuatu yang dioperasikan atau operator. Untu mudahnya, mari kita lihat contoh 2 + 3. Simbol / tanda + adalah operator, sedangkan 2 dan 3 adalah operand. Operator + akan memerintahkan komputer untuk melakukan operasi penambahan pada 2 dan 3. Di dalam bahasa pemrograman terdapat beberapa macam operator yang akan sering kalian gunakan, yaitu:

 Assignment Operator
 Mathematical Operator ( Unary & Binary )
 Relational Operator
 Logical Operator
 Assignment Operator ( = )

Bahasa Indonesia dari assignment adalah “ penugasan “. Tapi, saya rasa arti kata ini akan membingungkan kalian. Oleh karena itu, saya akan memberikan arti yang lainnya yang lebih cocok dengan apa yang di lakukan oleh operato ini. Assignment operator (=) dapat di artikan dengan kata “diisi”. Mari kita lihat contoh di bawah ini. A=7; = Variable A diisi dengan 7 B=1+1; = Variable B diisi dengan hasil dari 1 + 1 yaitu 2 C = A + 1; = Variable C akan diisi dengan hasil dari isi variable A ditambah I. jadi, jika variable variable C akan diisi dengan hasil dari isi variable A ditambah I. jadi, jika variable A adalah 7, maka C akan diisi dengan B.
 

Operator Assignment
Operator Assignation digunakan untuk memberikan nilai ke suatu variabel. contohnya : a=5 Pernyataan di atas berarti kita memberikan nilai integer 5 ke variabel a. Sisi kiri operator disebut lvalue (left value) dan sisi kanan disebut rvalue (right value). lvalue harus selalu berupa variabel dan rvalue atau sisi kanan dapat berupa konstanta, variabel, hasil dari suatu operasi atau kombinasi dari semuanya. Aturan yang paling penting pada assigning (operasi sama dengan) adalah aturan kanan-ke-kiri: Operasi assignment selalu terjadi dari kanan ke kiri, dan tidak pernah sebaliknya. a = b Pernyataan ini memberikan arti variabel a (lvalue) di beri harga b (rvalue). Contoh penerapannya adalah: a = 10; //berarti a bernilai 10 b = 4; //berarti a bernilai 10 dan b bernilai 4 a = b; //berarti a bernilai 4 dan b bernilai 4. Ingat aturannya, Kanan ke Kiri.
b = 7; //berarti a bernilai 4 dan b bernilai 7.

Operator Perbandingan
Operator ini membuat anda bisa melakukan pembandingan apakah beberapa elemen sama, identik, kurang dari atau lebih besar dari yang lain.

Contoh
Name
Result
$a == $b
Sama dengan
BENAR jika $ a sama dengan $b.
$a === $b
Identik
BENAR jika $a sama dengan $b, dan keduanya memiliki tipe yang sama.
$a != $b
Tidak sama dengan
BENAR jika $a tidak sama dengan $b.
$a <> $b
Tidak sama dengan
BENAR jika $a tidak sama dengan $b.
$a !== $b
Tidak identik
BENAR jika $a tidak sama dengan $b, atau tidak memiliki tipe yang sama.
$a < $b
Kurang dari
BENAR jika $a kurang dari $b.
$a > $b
Lebih besar dari
BENAR jika $a lebih besar dari $b.
$a <= $b
Kurang dari atau sama dengan
BENAR jika $a kurang dari atau sama dengan $b.
$a >= $b
Lebih besar dari atau sama dengan
BENAR jika $a lebih besar dari atau sama dengan $b.
Kesalahan yang cukup sering saya lakukan adalah menggunakan operator assignment (“=”) untuk membandingkan, sehingga untuk mambandingkan apakah 2 variabel sama atau tidak dalam sebuah percabangan saya tuliskan: If ($a = $b) Yang seharusnya If ($a == $b)



Operator Logika
 Di sini anda dapat membandingkan elemen-elemen menggunakan pembandingan logika and dan or.

Contoh
Nama
Hasil
$a and $b
And
BENAR jika baik $a dan $b keduanya BENAR.
$a or $b
Or

BENAR jika salah satu dari $a atau $b BENAR.
$a xor $b
Xor
BENAR jika salah satu dari $a atau $b BENAR, tetapi tidak keduanya.


Operator Aritmatika
Persis seperti namanya, operator ini melakukan matematika dasar (artinya, kalau anda menginginkan operasi matematika lainnya misalnya integral atau differensial ya harus bikin sendiri, lagian siapa yang mau pake ya?)

Contoh
Nama
Hasil
$a + $b
Penjumlahan
Jumlah $a dan $b.
$a – $b
Pengurangan
Selisih $a dan $b.
$a * $b
Perkalian
Perkalian $a dan $b.
$a / $b
Pembagian
Pembagian $a dan $b.
$a % $b
Modulus
Sisa $a dibagi $b.


-         Tingkatan Operator
3.1. Operator Aritmatik
1. Operator Binary, terdiri dari :
a. * : perkalian
b. / : pembagian
c. % : sisa pembagian ( mod )
d. + : penjumlahan
e. - : pengurangan
2. Operator Unary, terdiri dari :
a. + : penjumlahan
b. - : pengurangan

3.1.1. Ekspresi Aritmatik
3.1.1 Ekspresi Aritmatik
Bentuk penulisan ekspresi aritmatik dikaitkan dengan pernyataan pemberi nilai. Bentuk umum :
Variabel = Ekspresi Aritmatika
  • Variabel, dikenal dengan sebutan LValue ( Left Value )
  • Ekspresi Aritmatika dikenal dengan sebutan Rvalue ( Right Value )
3.1.2. Hierarki Operator Aritmatika ( Jenjang operator aritmatika )
Tabel hierarki operator aritmatika
Operator
Keterangan
  • atau /
Tingkatan operator sama, penggunaan nya tergantung terletak yang didepan didahulukan
%
Sisa pembagian
+ atau -
Tingkatan operator sama , penggunaannya tergantung letak yang didepan didahulukan

3.2. Operator Pemberi Nilai Aritmatika
Operator pemberi nilai ( assignment operator ) yaitu tanda “=”.
Contoh operator pemberi nilai A = A+1
Dari contoh diatas, Borland C++ dapat menyederhanakan menjadi A +=1
Notasi “+=” ini dikenal dengan operator pemberi nilai aritmatika.
Operator
Keterangan
*=
Perkalian
/=
Pembagian
%=
Sisa pembagian
+=
Penjumlahan
-=
Pengurangan

3.3 Operator penambah dan pengurang
Operator
Keterangan
++
Penambahan
--
Pengurangan

A = A + 1 atau A = A-1; disederhanakan menjadi A ++ atau A--
Operator “ ++ “ atau “ –“ dapat diletakkan didepan atau di belakang variabel.

Keterangan : 1. Penambahan : menambahkan 1 ke nilai variabel, prefix ( ++A )
Atau positifix ( A++)
2. Pengurangan : mengurangkan 1 ke nilai variabel, prefix ( --A )
Atau positifix ( A--)





Kedua bentuk penulisan operator ini mempunyai arti yang berbeda
  • Jika di letakkan di depan variabel maka proses penambahan atau pengurangan akan dilakukan sesaat sebelum atau langsung pada saat menjumpai ekspresi ini, sehingga nilai variabel tadi akan langsung berubah begitu ekspresi ini ditemukan sedangkan,
  • Jika di letakkan di belakang variabel maka proses penambahan atau pengurangan akan dilakukan setelah ekspresi ini dijumpai atau nilai variabel akan tetap pada saat ekspresi ini ditemukan.

3.4. Operator Relasi
Operator relasi digunakan untuk membandingkan dua buah nilai. Hasil perbandingan operator ini menghasilkan nilai numerik 1 ( True ) atau 0 ( False )

Tabel Operator Relasi
Operator
Keterangan
==
Sama dengan ( bukan pemberi nilai )
!=
Tidak sama dengan
> 
Lebih dari
< 
Kurang dari
>=
Lebih dari sama dengan
<=
Kurang dari sama dengan

3.5. Operator Logika
Operator relasi digunakan untuk menghubungkan dua buah operasi relasi menjadi sebuah ungkapan kondisi. Hasil dari operator logika ini menghasilkan nilai numerik 1 ( True ) atau 0 ( False ).



3.5.1. Operator Logika AND
Operator logika AND digunakan untuk menghubungkan dua atau lebih ekspresi relasi akan dianggap BENAR, bila semua ekspresi relasi yang dihubungkan bernilai BENAR.

3.5.2 Operator Logika OR
Hasil dari relasi operator ini akan dianggap BENAR bila salah satu ekspresi yang dihubungkan bernilai BENAR dan bila semua ekspresi yang dihubungkan bernilai SALAH maka akan bernilai SALAH.

3.5.3. Operator Logika NOT
Operator logika not akan memberikan nilai kebalikan dari ekspresi yang disebutkan.

3.6. Operator Bitwise
Operator Bitwise digunakan untuk memanipulasi data dalam bentuk bit. Borland C++ menyadiakan 6 buah operator bitwise :
Operator
Keterangan
~
Bitwise NOT
<< 
Bitwise Shift left
>> 
Bitwise Shift Right
&
Bitwise AND
^
Bitwise XOR
|
Bitwise OR


3.6.1. Operator Bitwise << ( Shift Left )
Operator bitwise shift left digunakan untuk menggeser sejumlah bit ke kiri.

3.6.2. Operator Bitwise << ( Shift Right )
Operator bitwise shift left digunakan untuk menggeser sejumlah bit ke kiri.

3.6.3. Operator Bitwise & AND
Operator bitwise & AND digunakan untuk membandingkan bit dari dua operand. Akan bernilai benar (1) jika semua operand yang digabungkan bernilai benar (1 ).

3.6.4. Operator Bitwise | ( OR )
Operator bitwise | ( or ) digunakan untuk membandingkan bit dari dua operand. Akan bernilai benar (1) jika salah satu operand yang digabungkan bernilai benar (1 ).

3.6.5. Operator Bitwise ^ (Exclusive OR )
Operator bitwise ^( Xor ) digunakan untuk membandingkan bit dari dua operand. Akan bernilai benar (1) jika sebuah operand yang digabungkan bernilai benar (1 ).

3.6.6. Operator Bitwise ~ (Not )
Operator bitwise ~ ( not ) digunakan untuk membalik nilai bit dari suatu operand.

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





-         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.
Sekian tutorial hari ini, semoga bermanfaat, jangan lupa untuk berbagi, berbagi itu menyenangkan.




2. 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 rumus pythagoras, 

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:



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.



Jawaban

1.      Algoritma untuk mencari sisi miring dari suatu segitiga siku-siku
Algoritma        :
a)      Input a, dimisalkan 2
b)      Input b, dimisalkan 3
c)      Proses
d)     Tampilkan hasil (c)
e)      Print
f)       Selesai

2.      Algoritma untuk menampilkan banyaknya pecahan uang paling efisien
Algoritma        :
a)      menentukan input (uang), dimisalkan uang berjumlah Rp 125.500
b)      hitung pecahan 100.000    :              =1
c)      hitung pecahan 50.000      : =0
d)     hitung pecahan 20.000      :               =1
e)      hitung pecahan 10.000      :                 =0
f)       hitung pecahan 5.000        :                   =1
g)      hitung pecahan 2.000        :           =0
h)      hitung pecahan 1.000        :=0
i)        hitung pecahan 500           :=1
j)        hitung pecahan 200           :=0
k)      hitung pecahan 100           :=0
l)        Tampilkan hasil (1010100100)
m)    Print
n)      Selesai

3.      Algoritma untuk mengkonversi bilangan dalam format desimal menjadi biner
Algoritma        :
a)      input desimal, dimisalkan desimal 4510
b)      Proses bagi dua ambil sisa pembagian
45 10    =
45 : 2  = 22 + sisa    1
22 : 2  = 11 + sisa    0
11 : 2 = 5    + sisa    1
5 : 2     = 2  + sisa    1
2 : 2     = 1  + sisa    0
c)      Tampilkan hasil  011012 (ditulis dr bawah ke atas)
d)     Print
e)      Selesai

4.      Algoritma untuk bonus pegawai
Algoritma  :
a)      Input Select Case StatusPegawai
b)      Input Case StatusStaff
c)      If MasaKerja >= 5 Then
d)     If Umur >= 50 Then
e)      Bonus = 1000000
f)       Else
g)      Bonus = 300000
h)      End If
i)        Else
j)        Bonus = 500000
k)      End IF
l)        Case Else
m)    If MasaKerja >= 5 Then
n)      If Umur >= 50 Then
o)      Bonus = 400000
p)      Else
q)      Bonus = 250000
r)       End If
s)       Else
t)       Bonus = 250000
u)      End IF
v)      End Select

5.      Algoritma untuk menghitung total biaya iklan baris yang harus dibayar oleh pengiklan
Algoritma  :
a)      Input Hari Minggu, Senin, Selasa, Rabu, Kamis, Jumat Rp 33.000/ baris
b)      Input Hari Sabtu Rp 40.000/ baris
c)      Input jml baris minggu s/d jum’at = 50
Input jml baris, Hari Sabtu =12
d)     Proses, Jika Hari Minggu, Senin, Selasa, Rabu, Kamis, Jumat Rp 33.000/ baris
 Jika Hari Sabtu Rp 40.000/ baris
e)      Harga*jml baris
f)       Tampilkan hasil
g)      Print
h)      Selesai

6.      Algoritma untuk menghitung total biaya tiket .
a)      Input Hari Senin, Selasa, Rabu, Kamis Rp 15.000
b)      Input Hari Jum’at, sabtu, mingggu, Libur Rp 35.000
c)      Input Jumlah tiket yang dibeli,
Dimisalkan juml.tiket Hari Senin, Selasa, Rabu, Kamis = 20
Dimisalkan juml.tiket Hari Jum’at, sabtu, mingggu, Libur = 15
d)     Proses, jika Hari Senin, Selasa, Rabu, Kamis Rp 15.000* juml.tiket Hari Senin, Selasa, Rabu, Kamis (20)
Jika Hari Jum’at, sabtu, mingggu, Libur Rp 35.000* juml.tiket Hari Jum’at, sabtu, mingggu, Libur = 15
e)      Tampilkan hasil (1125000)
f)       Print
g)      Selesai

7.      Algoritma untuk menghitung berapa nilai yang harus dibayar oleh pelanggan dengan total nilai belanja tertentu bila disertakan pula perhitungan diskonnya. Ketentuan : Diskon tidak dihitung sebagai akumulasi dari diskon nilai belanja dibawahnya.
Algoritma        :
a)      Input Total nilai belanja
b)      Subtotal, jml* harga barang
c)      Proses, Jika Rp. 150.000,- ke atas diskonnya : 10%,
Jika Rp. 275.000,- ke atas diskonnya : 15%,
Jika Rp. 300.000,- ke atas diskonnya : 20%,
Jika Rp. 400.000,-  ke atas diskonnya : 25%
d)     Hitung total bayar subtotal- potongan
e)      Tampilkan total bayar
f)       Print
g)      Selesai

8.      Algoritma nilai
Algoritma        :
a)      Masukkan 5 nilai (nilai tugas1,tugas2,tugas3,UTC,UAC)
b)      Hitung nilai rata - rata tugas =  nilai tugas1+tugas2+tugas3 / 3.
c)      Lalu hitung semua nilai : Nilai=((rata-rata tugas*30%)+(UTC*30%)+(UAC*40%))
d)     Seleksi nilai akhir.
e)      Jika nilai akhir :
> 80 dan <=100 maka nilai huruf = A
> 70 dan <=80 maka nilai huruf = AB
> 65 dan <=70 maka nilai huruf = B
> 60 dan <=65 maka nilai huruf = BC
> 55 dan <=60 maka nilai huruf = C
> 40 dan <=55 maka nilai huruf = D
> 0 dan <=40 maka nilai huruf = E
f)       Output : hasil nilai akhir dan hasil seleksi nilai huruf


9.      Algoritma tarif pemakaian Air PDAM Kota Surabaya
a)      Masukkan Jumlah Pemakaian Air.
b)      Hitung jumlah nilai/pemakaian yang dimasukkan :
 1) Seleksi jika pemakaian < 0, maka Biaya total = Jumlah * 0.
 2) Seleksi jika pemakaian <= 50, maka Biaya total = Jumlah * 200
 3) Seleksi jika pemakaian <= 150, maka Biaya total = ((50 * 200) + ((jumlah - 50) * 500))
 4) Seleksi jika pemakaian <= 300, maka Biaya Total = ((50 * 200) + (100 * 500) + ((jumlah - 150) * 1000)).
 5) Seleksi jika pemakaian > 300, maka Biaya Total = ((50 * 200) + (100 * 500) + (150 * 1000) + ((jumlah - 300) * 1500))
c. Output : Biaya Total

10.  Algoritma untuk menghitung cash back yang diterima nasabah berdasarkan nilai pemakaian kartu kredit.
Algoritma        :
a)      Ambil input user untuk memasukkan jumlah pemakaian Kartu Kredit
1) Masukkan ke variabel string pemakaian
2) Jika panjang inputan string pemakaian lebih dari 0, atau dengan kata lain
b)      user telah menginputkan value,ubah input string pemakaian menjadi bilangan dengan nama variabel
c)      int jml_pemakaian,memberikan nilai default pada variabel pemakaian1 dengan, pemakaian1= 1000.000.Jika nilai pada variabel jml_pemakaian <= 1.000.000.
d)     Memberikan nilai pada variabel pemakaian1 dengan,pemakaian1= e. jml_pemakaian.
e)      Atau jika nilai pada variabel jml_pemakaian > 1.000.000, dan nilaipada variabel jml_pemakaian <= 10.000.000
f)       Memberikan nilai pada variabel pemakaian1 dengan,pemakaian1= 1.000.000
g)      Memberikan nilai pada variabel pemakaian2 dengan,pemakaian2= jml_pemakaian – 1.000.000 atau jika nilai pada variabel jml_pemakaian > 10.000.000, dan nilai pada variabel jml_pemakaian <= 25.000.000
h)      Memberikan nilai pada variabel pemakaian2 dengan,pemakaian2= 10.000.000
i)        Memberikan nilai pada variabel pemakaian3 dengan,pemakaian3= jml_pemakaian – 25.000.000.Atau jika nilai pada variabel jml_pemakaian > 25.000.000
j)        Memberikan nilai pada variabel pemakaian2 dengan,pemakaian2= 10.000.000
k)      Memberikan nilai pada variabel pemakaian3 dengan,pemakaian3= 25.000.000
l)        Memberikan nilai pada variabel pemakaian4 dengan,pemakaian4= jml_pemakaian – 25.000.000
m)    Memberikan nilai pada variabel cash_back_total dengan,cash_back_total=  (pemakaian1*5/100)+(pemakaian2*6/100)+(pemakaian3*7/100)+(pemakaian4*8/10)
n)      Cetak output dengan format, "Seorang nasabah yang total selama sebulan "+jml_pemakaian+", maka total cash backnya="+cash_back_total.Atau Jika panjang inputan tidak lebih dari 0, atau dengan kata lain user belum menginputkan value
o)      Cetak output “Ada salah satu masukan yang kosong”
p)      Stop proses





4. Flowchart atau psoudocode masing-masing soal

1.      Flowchart untuk mencari sisi miring dari suatu segitiga siku-siku
                                                               
















2.      Flowchart untuk menampilkan banyaknya pecahan uang paling efisien



 












3.      Flowchart untuk mengkonversi bilangan dalam format desimal menjadi biner


 









4.      Flowchart untuk bonus pegawai



 

5.      Flowchart untuk menghitung total biaya iklan baris yang harus dibayar oleh pengiklan

 



 

6.      Flowchart Algoritma untuk menghitung total biaya tiket .


 

 

7.       Flowchart untuk menghitung berapa nilai yang harus dibayar oleh pelanggan dengan total nilai belanja tertentu bila disertakan pula perhitungan diskonnya.























 


 

8.      Flowchart nilai
















Parallelogram: Jml. nilai Nilai=((rata-rata tugas*30%)+(UTC*30%)+(UAC*40%))



 


































 



















Diamond: If  nilai > 40 dan <=55 
> 0 dan <=40 

                                                                                              C



 


                                                                                             D









PRINT, END
 
 







9.      Flowchart tarif pemakaian Air PDAM Kota Surabaya


 



10.  Flowchart untuk menghitung cash back yang diterima nasabah berdasarkan nilai pemakaian kartu kredit.



5.    SOURCE KODE BESERTA OUTPUT
Pada kode ini, saya mengasumsikan bahwa Anda telah punya source Java sendiri yang kira-kira struktur umumnya adalah sebagai berikut:
package PackageName;

// import statement here

public class MainClassName {
    public static void main(String[] args) {
        // Your code here
    }
}
Kode-kode yang ada di artikel ini bisa langsung digunakan di dalam method main.

Mencetak Keluaran dari Standard Output
Untuk mencetak keluaran, bisa menggunakan:
System.out.println("Hai!");

Untuk menggabungkan keluaran biasa dengan suatu variabel, Anda dapat menggunakan operator ‘+’
int i = 0;
System.out.println("Isi variabel i adalah " + i + ".");

Untuk yang membutuhkan keluaran dengan format, Java juga memilikinya:
int i = 0;
System.out.printf("Isi variabel i adalah %i.\n", i);

Membaca Masukan dari Standard Input
Ini adalah cara yang cukup mudah untuk digunakan. Pada bagian import, jangan lupa definisikan:
import java.util.Scanner;
Penggunaan Scanner adalah sebagai berikut:
Scanner inputScanner = new Scanner(System.in);
String masukan = inputScanner.next();
System.out.println(masukan);
Untuk tipe data lain, ada juga caranya. Misal untuk membaca sebuah bilangan bulat:
Scanner inputScanner = new Scanner(System.in);
int angka = inputScanner.nextInt();
System.out.println(angka);
Jika Anda menggunakan Integrated Development Environment (IDE) seperti NetBeans, maka Anda bisa mengeksplorasi sendiri methods yang ada dengan mengetik “inputScanner” dan diakhiri dengan tanda titik. Anda akan dibantu dengan fitur Code Completion dari IDE ini. Coba saja, ada banyak method yang dapat Anda gunakan. Hal yang sama juga bisa Anda lakukan, misalnya dengan mengetik “System.out” diakhiri dengan tanda titik. Anda akan melihat method yang begitu banyak.
Ini adalah cara yang mudah untuk mencoba belajar sendiri, tanpa harus capek-capek browsing.
http://imamhidayatsite.files.wordpress.com/2011/03/netbeans-code-completion.jpg?w=300&h=296
Fitur Code Completion pada NetBeans ketika Anda mengetik "inputScanner" diakhiri dengan tanda titik.



6.    Resensi