Sabtu, 02 November 2013

Senin, 28 Oktober 2013

MODUL 2

TUGAS MODUL 2
Praktek Dasar Pemrograman
 






Oleh :
Isnan Nofarianto Kurniawan
Nim : 135623030



PROGRAM STUDI D3 MANAJEMEN INFORMATIKA
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS NEGERI SURABAYA
2013

Netbeans dan Eclipse
1.      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.
Pengertian Netbeans

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

http://2.bp.blogspot.com/-LDzR0t9n_xs/UEorPPJd6_I/AAAAAAAAABI/KLZnveCsltY/s1600/esclipse.jpg
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.












Penulisan Program di Java, Input, Output

File kode sumber program Java, merupakan tempat di mana kode-kode yang membangun program ditulis. Terdapat pernyataan(statement), blok (block) dan komentar (comment) di dalamnya. Aturan untuk menulis kode program Java yaitu.
§  Nama file dapat dibuat apa sajakecuali jika terdapat public class dalam kode program, maka nama file harus sama dengan nama public class tersebut, kemudian harus berakhiran atau memiliki ekstensi .java, contoh.
1
2
3
ProgamKu.java
Kalkulator.java
Hello.java
§  File kode sumber yang kosong dapat di-compile tanpa pesan error.
§  Bentuk atau struktur penulisan kode sumber program Java ditulis secara berurutan yaitu.
1.       Diawali dengan penulisan package, setidaknya ada 0 atau 1 package, harus ditulis sebagai pernyataan pertama. Packagemerupakan pemaketan atau pengorganisasian kode program beserta sumber daya (resource) program lainnya, sehingga membuat program lebih ter-organisir dan ter-proteksi.
2.       Selanjutnya, import, setidaknya ada 0 atau lebih pernyataan import, harus ditulis sebelum mendeklarasikan class. Importmenyatakan library atau class apa saja yang dibutuhkan dan digunakan dalam program.
3.       Kemudian, class, setidaknya ada 0 atau lebih deklarasi class, sedangkan public class hanya diperbolehkan 1 dalam satu file.Berikut strukturnya.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package nama.paket;

import kelas.kelas.yang.digunakan.dalam.Program;
import kelas.kelas.lain.yang.Digunakan;
import kelas.kelas.Lainnya;
// Statement import lainya.

public class NamaClassPublic {
    // Deklarasi isi class, dapat berisi class, variabel, method dan blok lain.
}

class NamaClass {
        // Deklarasi isi class.
}

class NamaClassLainnya {
    // Deklarasi isi class.
}

// Deklarasi class lainnya

Jadi, dalam sebuah kode program Javamemiliki bagian utama berupa class, import merupakan bagian deklarasi libraryyang digunakan sedangkan bagian package untuk pemaketan program.

Pernyataan
Sebuah pernyataan diakhiri dengan tanda semicolon atau titik koma ( ; ), contoh.
1
2
3
import java.util.Date;
System.out.println(“Sebuah pernyataan”);
int x;

Blok
Blok merupakan bagian yang terdiri dari kumpulan statement atau blok lainnya, yang diapit oleh tanda kurung kurawal ( { //isi blok } ), dan tidak diakhiri dengan semicolon.

Contoh 1.
1
2
3
4
5
public static void main(String[] agrs) {
    // Contoh komentar satu baris.
    int x = 100; // Variabel x.
    System.out.println(“Nilai x adalah”+x);
}
Contoh 2.
1
2
3
4
5
6
7
8
/* Contoh komentar yang lebih dari satu baris.
   Jika nilai lebih dari 80,
   nilai diberi A dan dinyatakan Lulus
*/
if (x>80) {
    nilai = 'A';
    keterangan = “LULUS”;
}
Contoh 3.
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Halo {
    boolean tampil;

    public static void main(String[] args) {
        Halo h = new Halo();
        h.tampil = true;

        // h.tampil bernilai benar tampilkan tulisan Halo.
        if (h.tampil) {
            System.out.println(“Halo”);
        }
    }
}

Komentar
Komentar dapat ditulis di bagian mana saja pada kode program. Komentar berguna untuk memberi keterangan dan sebagai dokumentasi untuk kode programsehingga kode mudah untuk dibaca (readable) baik untuk programer itu sendiri, juga untuk orang lain, komentar tidak akan dibaca sebagai pernyataan. Ada tiga bentuk komentar yaitu.
1.       Komentar satu baris, komentar dapat ditulis dengan memberi tanda dua kali garis miring ( // ) sebelum komentar. (Bisa dilihat pada contoh sebelumnya).
2.       Komentar lebih dari satu barisdiawali tanda garis miring dan bintang ( /* ) dan ditutup dengan tanda bintang dan garis miring ( */ ), (Bisa dilihat pada contoh sebelumnya).
3.       Terdapat komentar khusus yang disebut javadoc, dengan penulisan diawali tanda garis miring dan dua tanda bintang (/** ), dan diakhiri dengan tanda bintang dan garis miring ( */ ). Dalam komentar ini dapat digunakan tag yang menjelaskan author, version, return, throws dan beberapa tag lain, juga dapat ditambahkan tag HTML untukmenformat teks. Komentar ini dapat di generate ke bentuk halaman HTML sebagai dokumentasi program, menggunakan tool atau perintah javadoc, 
contoh.
1
2
3
4
5
6
7
8
9
/**
 * Mencari kata berdasarkan kecocokan kandungan kata.
 * @param kandunganKata kandungan dalam kata.
 * @return ArrayList Mengembalikan kata yang ditemukan dalam bentuk list array.
 */
public ArrayList cariMengandung(String kandunganKata)
{
 // Isi program.
}

Gaya penulisan
Gaya penulisan kode ini menentukan seberapa baik kode program dapat dibaca (readable) oleh programer nya atau orang lain. Kode program bisa saja ditulis seperti kode dibawah.
1
public class Halo { public static void main(String[] args) { System.out.println(“Halo, selamat datang di Java.”); } }
Kode di atas dapat di compile dan dijalankan tanpa error, namun sangat sulit membaca dan memahami kode dengan bentuk tersebut, kita bisa menulis masing-masing pernyataan dalam satu baris, menambahkan penjorokan (indent) menggunakan tombol tab,jika bagian tersebut merupakan isi dari blok di atasnya dan menambahkan komentar pada beberapa bagian kode program, contoh.
1
2
3
4
5
6
public class Halo {
    public static void main(String[] args) {
        // Menampilkan tulisan ke layar.
        System.out.println(“Halo, selamat datang di Java”);
    }
}

Operator: Assigment, Matematika, Perbandingan, Logika

Assignment Operators
Operator dasar dari assignment operators adalah (=). Nilai dari sebuah ekspresi assignment adalah nilai yang diberikan. Artinya, nilai “$ a = 3” menandakan bahwa nilai $a adalah 3. Hal ini memungkinkan Anda untuk melakukan beberapa hal yang rumit.
Assignment operators dapat digabungkan dengan operator aritmatika dan operator string. Sebagai contoh adalah sebagai berikut.
1
2
3
4
5
6
7
8
9
10
<?php
$a = 3;
$a = $a + 1;
//akan mengahasilkan nilai 4.
echo $a;
//kode diatas sama dengan
$a = 3; $a += 1;
//akan menghasilkan nilai 4 juga.
echo $a;
?>
Contoh penggunaan assignment dan aritmatik

1
2
3
4
5
6
7
8
9
10
11
<?php
$a = "Makan ";
$a = $a . "Malam";
//akan mengahasilkan nilai Makan Malam.
echo $a;
//kode diatas sama dengan
$a = "Makan ";
$a .= "Malam";
//akan menghasilkan nilai Makan Malam juga.
echo $a;
?>
Contoh penggunaan assignment dan string
Dari kedua contoh diatas dapat kita simpulkan bahwa $a = $a + 1 hasilnya akan sama dengan $a += 1. Dibawah ini daftar penggabungan operator assignment dengan operator artitmatik atau operator string.
Operator
Contoh
Sama Dengan
+=
$a += 1
$a = $a +1
-=
$a -= 1
$a = $a -1
*=
$a *= 1
$a = $a * 1
/=
$a /= $a
$a = $a / 1
%=
$a %= 1
$a = $a % 1
.=
$a .= “welcome”
$a = $a . “welcome”
Incrementing/Decrementing Operators
Pengertian Incrementing/Decrementing Operators adalah merupakan operator penambah dan pengurangan nilai dengan nilai selisih 1 (satu). Operator jenis ini merupakan operator pengembangan dari jenis sebelumnya yaitu operator gabungan antara operator assignment dan operator aritmatika.
$a++; sama dengan $a += 1; atau sama dengan $a = $a + 1;
$a–; sama dengan $a -= 1; atau sama dengan $a = $a – 1;
Yang membedakan adalah penggunaannya, operator increment atau decrement hanya digunakan untuk penambahan satu nilai dan biasa di gunakan dalam perulangan. Sehingga mempercepat penulisan script.

Operasi
Operator
Contoh
Penambahan Satu Nilai
++
$a++
Pengurangan Satu Nilai
$a–

Operator Perbandingan
Operator ini digunakan untuk melakukan pembandingan apakah beberapa elemen sama, identik, kurang dari atau lebih besar dari yang lain.
Contoh
Nama
Hasil
$x == $y
Sama dengan
BENAR jika $x sama dengan $y.
$x === $y
Identik
BENAR jika $x sama dengan $y, dan keduanya memiliki tipe yang sama.
$x != $y
Tidak sama dengan
BENAR jika $x tidak sama dengan $y.
$x <> $y
Tidak sama dengan
BENAR jika $x tidak sama dengan $y.
$x !== $y
Tidak identik
BENAR jika $x tidak sama dengan $y, 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 orang lakukan adalah menggunakan operator assignment (“=”) untuk membandingkan, sehingga untuk mambandingkan apakah 2 variabel sama atau tidak dalam sebuah percabangan menuliskan:
If ($x = $y)
seharusnya
If ($x == $y)

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.
! $a
Not
BENAR jika $a tidak BENAR.
$a && $b
And
BENAR jika baik $a dan $b keduanya BENAR.
$a || $b
Or
BENAR jika salah satu dari $a atau $b BENAR.

Operator Aritmatika
Operator ini digunakan untuk melakukan matematika dasar.
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
Operator merupakan simbol atau karakter yang biasa dilibatkan dalam program untuk melakukan sesuatu operasi atau manipulasi

Contoh :
Penjumlahan, pengurangan, pembagian dan lain-lain.
Operator mempunyai sifat:
Unary
Sifat unary pada operator hanya melibatkan sebuah operand pada suatu operasi aritmatik. Contoh : -5
Binary
Sifat binary pada operator melibatkan dua buah operand pada suatu operasi aritmatik. Contoh : 4 + 8
Ternary
Sifat tenary pada operator melibatkan tiga buah operand pada suatu operasi aritmatik. Contoh : (10 % 3) + 4 + 2
Operator untuk operasi aritmatika yang tergolong sebagai binary adalah:
OPERATOR KETERANGAN CONTOH
* Perkalian (Multiply)           4 * 5
/ Pembagian (Divide)            8 / 2
% Sisa Bagi (Modulus)          5 % 2
+ Penjumlahan (Add)           7 + 2
- Pengurangan (Substract)  6 – 2
OPERATOR KETERANGAN CONTOH
+ Tanda Plus          +4
- Tanda Minus        -6
Operator penugasan (Assignment operator) dalam bahasa C++ berupa tanda sama dengan (“=”).
Contoh :
nilai = 80; A = x * y;
Penjelasan :
variable “nilai” diisi dengan 80 dan
variable “A” diisi dengan hasil perkalian antara x dan y.
Hierarki Operator Aritmatika
Di dalam suatu akspresi arotmatika dapat kita jumpai beberapa operator aritmatika yang berbeda secara bersamaan. Urutan operator aritmatika adalah sebagai berikut:
* atau / Tingkatkan operator sama, penggunaannya tergantung letak,
yang di depan didahulukan
% Sisa Pembagian
+ atau – Tingkatkan operator sama, penggunaannya tergantung letak,
yang di depan didahulukan
Contoh:
A = 8 + 2 * 3 / 6
Langkah perhitungannya :
A = 8 + 6/6 dimana 6/6 = 1 A = 8 + 1
A = 9
Tingkatan operator ini dapat diabaikan dengan penggunaan tanda kurung ( dan )
Contoh:
A = (8 + 2) * 3 / 6
Langkah perhitungannya :
A = 10 * 3/6 dimana 8 + 2 = 10
A = 30 / 6 A = 5
Operator Increment & Decrement
Pada pemrograman C++, menyediakan operator penambah dan pengurang (Increment & Decrement).
++ Penambahan (Increment)
– Pengurangan (Decrement)
A = A + 1 atau A = A – 1; dapat disederhanakan menjadi A + = 1 atau A – = 1 Dan dapat disederhanakan menjadi A++ atau A–
Notasi ++ atau — dapat diletakkan di depan atau di belakang variabel. Contoh: A– atau –A atau ++ A atau A++
Kedua bentuk penulisan di atas mempunyai arti yang berbeda:
Jika diletakkan 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 di temukan.
Jika diletakkan di belakang variabel. Maka proses penambahan atau pengurangan akan dilakukan setelah ekspresi ini di jumpai atau nilai variabel akan tetap pada saat ekspresi ini ditemukan.
Operasi Relasi (Perbandingan)
Operator relasi ini digunakan untuk membandingkan dua buah nilai. Hasil dari perbandingan operator ini menghasilkan nilai numeric 1 (True) atau 0 (False).
== Sama dengan (bukan pemberi nilai)
!= Tidak sama dengan
> Lebih dari
= Lebih dari sama dengan
<= Kurang dari sama dengan
Operator Logika
Operator logika digunakan untuk menghubungkan dua atau lebih ungkapan
menjadi sebuah ungkapan berkondisi.
&& Operator Logika AND m && n
|| Operator Logika OR m || n
! Operator Logika NOT !m
Operator Bitwise
Operator Bitwise digunakan untuk memanipulasi data dalam bentuk bit
<> Bitwise Shift Right
& Bitwise AND
^ Bitwise XOR
| Bitwise OR
~ Bitwise NOT










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.








Soal Praktikum


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








Jawaban
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






Source code

Soal No 1

Soal no 2







Referensi

http://blog.akakom.ac.id/faridayonarisa/2012/09/07/pengertian-eclipse/                            

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Walgreens Printable Coupons