Senin, 28 Oktober 2013

Praktikum Dasar Pemrograman Modul 2



MODUL 2
PRAKTIKUM DASAR PEMROGRAMAN





Nama: Efy Widyawati
NIM  : 135623052
Prodi : D3 Manajemen Informatika (B)


FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
UNIVERSITAS NEGERI SURABAYA
TAHUN 2013
1.        Dasar Teori
A.     Netbeans dan Eclipse
Netbeans dan Eclipse adalah dua IDE (Integrated Development Environment) yang fungsi utamanya sebagai tools untuk pengembangan software dengan java, selain juga bisa digunakan sebagai IDE untuk bahasa pemrograman lainnya seperti C, C++, Perl, PHP, Groovy, dll. Keduanya merupakan software gratis (freeware) yang dikembangkan secara open source. Keduanya juga merupakan IDE java yang paling populer saat ini.
Perbedaan mendasar yang membedakan Eclipse dan Netbeans ada pada bagaimana cara keduanya menyediakan fitur/ layanan untuk para developer. Netbeans mengintegrasikan hampir semua fitur-fiturnya dalam sekali instalasi, komplet. Penggunanya tinggal menggunakan saja fitur-fitur yang telah disediakan tersebut, semakin mudah lagi dengan beberapa wizard yang disediakan untuk menyederhanakan beberapa proses konfigurasi. Selain itu, karena Netbeans sudah menjadi IDE ofisial dari Sun Microsystem/ Oracle, fitur-fitur tersebut menjadi standar bagi sebuah IDE java.
Netbeans menawarkan kemudahan dan kelengkapan fitur, cocok untuk yang tidak ingin pusing dengan kerumitan konfigurasi atau detail lainnya, sehingga menurut saya IDE ini ideal untuk yang baru mulai belajar java. Namun, perlu diingat bahwa tidak semua fitur yang ada diperlukan dan tentunya banyaknya fitur berdampak pada memori yang diperlukan untuk menjalankan Netbeans
Sedangkan Eclipse cocok untuk developer yang suka ngoprek dan ingin tahu detail terhadap segala sesuatu yang terjadi pada proyek yang sedang dikerjakan. Eclipse menawarkan kostumisasi melalui jutaan plugin-nya, karena pada dasarnya Eclipse hanya menyediakan fitur-fitur standar yang minimalis sesuai dengan spesifikasi yang dipilih pengguna saat men-download-nya. Tinggal pilih, mau Eclipse untuk java, C/C++, mobile atau yang lainnya. Fitur-fitur standar tersebut bisa ditingkatkan melalui plugin-plugin yang banyak sekali tersedia di Eclipse Marketplace. Dengan demikian, Eclipse bisa dikustomisasi benar-benar sesuai dengan kebutuhan.

B.      Penulisan Program di Java, Input, Output
Adapun cara penulisan program dalam java diantaranya adalah :
1)      Harus disimpan berekstensi *.java
2)      Nama file harus sama dengan nama class public, misalnya nama filenya myHello.java, maka nama class public juga harus myHello
Contoh :
public class myHello     {
 //harus sama dengan nama file (myHello.java)
     }
3)      Comment sebaiknya sebaiknya ditulis untuk menjelaskan sebuah class atau method. Comment ditulis  untuk tujuan dokumentasi.
Contoh:
public static void main(String[]args){
//untuk menampilkan kata myfirs java
System.out.println(“Hello this is my first java”);
}
4)      Java statement adalah suatu baris yang diakhiri dengan titik koma.
Contoh:
System.out.println(“Hello this is my first java”);      
5)      Block adalah satu atau beberapa statement yang berada diantara tanda kurung kurawal { dan diakhiri dengan kurung kurawal }.
Contoh:
public static void main(String[]args){
System.out.println(“Hello this is my first java”);
System.out.println(“Java is very good”);
}

Dalam penulisan bahasa program, disarankan :
1)      Huruf depan dari sebuah class atau method menggunakan huruf besar.
2)      Menulis Komentar pada sebuah class atau method untuk memudahkan debug(pencarian kesalahan).  Serta mempermudah orang lain membaca program kita.  Ingat !!! Dalam dunia nyata, programmer bekerja secara team, jadi usahakan partner team mengerti apa yang kita buat dengan memberikan komentar(tentang pembuatan komentar akan dibahas dibawah).
3)      Membuat indentasi(jarak antara induk perintah dan anak perintah).  Identasi sebisa mungkin dibuat standard, semisal pada contoh diatas, jarak antara tulisan “class Hello” sebagai induk perintah dengan tulisan “public…..” sebagai anak perintah adalah 5 spasi.  Sekali lagi, ini untuk mempermudah dalam pengertian program.

Pernyataan input dan output yang dimaksudkan disini merupakan pernyataan atau statement untuk mendapatkan input dari keyboard sedangkan untuk pernyataan atau statement output merupakan pernyataan untuk menampilkan sesuatu ke layar.
·         Statement Keluaran (Output)
Statement keluaran pada JAVA menggunakan :
” System.out.print”
catatan : untuk menampilkan kelayar setelah selesai tidak akan berpindah baris, akibatnya perintah keluaran akan ditampilkan pada baris yang sama.
“System.out.println”
catatan : untuk menampilkan kelayar juga fungsinya hanya perintah keluarannya saja saat ditampilkan , akan ditampilakn pada baris berikutnya.
·         Statement Masukan (Input)
Untuk meng-input sebuah nilai ke variabel di java menggunakan kelas Scanner. kelas ini sudah disediakan mulai dari JAVA versi 1.5
contoh cari menggunakan kelas Scanner :
import java.util.Scanner;
public class Masukan
{
public static void main (String args[])
{
Scanner input = new Scanner(System.in);
int a;
System.out.print(“Masukkan Angka : “);
a=input.nextInt();
System.out.println(“Hasil :”+a);
}
}

C.      Operator: Assigment, Matematika, Perbandingan, Logika
1)      Operator Assignment
Operator Assignment ( Penugasan ) Operator assignment dalam Java digunakan untuk memberikan sebuah nilai ke sebuah variabel. Operator assignment hanya berupa ‘=’, namun selain itu dalam Java dikenal beberapa shortcut assignment operator yang penting, yang digambarkan dalam tabel berikut :
Operator
Penggunaan
Ekuivalen Dengan
+=
Op1 += Op2
Op1 = Op1 + Op2
-=
Op1  -= Op2
Op1 = Op1 - Op2
*=
Op1 *= Op2
Op1 = Op1 * Op2
/=
Op1 /= Op2
Op1 = Op1 / Op2
%=
Op1 %= Op2
Op1 = Op1 % Op2
&=
Op1 & = Op2
Op1 = Op1 & Op2
¦=
Op1 ¦= Op2
Op1 = Op1 ¦ Op2
^=
Op1 ^= Op2
Op1 = Op1 ^ Op2
<<=
Op1 <<= Op2
Op1 = Op1 << Op2
>>=
Op1 >>= Op2
Op1 = Op1 >> Op2
>>>=
Op1 >>>= Op2
Op1 = Op1 >>> Op2

Latihan 6. Assignment.java class Assignment {
 public static void main(String[] args) {
 int var = 10;
 int a,b,c;
 a = b = c = 100;
 int d,e,f;
 f = 200;
 e = f;
 d = e;
System.out.println("Nilai var : " + var);
 System.out.println("Nilai a : " + a);
 System.out.println("Nilai b : " + b);
 System.out.println("Nilai c : " + c);
 System.out.println("Nilai f : " + f);
 System.out.println("Nilai e : " + e);
 System.out.println("Nilai d : " + d);

 int z;
 char Teks1 = 'a'; // dalam Unicode karakter 'a' direpresentasikan dengan angka 97
 z = Teks1 * 100; // z = 97 * 10;
 System.out.println("Nilai Teks1 : " + Teks1);
 System.out.println("Nilai z : " + z);
}
}

2)      Operator Aritmatika (Matematika)
Operator aritmatika pada umumnya terdiri dari penjumlahan (+), pengurangan (-), perkalian (*), pembagian (/), dan modulus (%). Termasuk dalam pemrograman yang "easy" alias mudah. biasanya diajarkan pada saat pengenalan Pemrograman berorientasi objek.



3)      Operator Perbandingan (Relasional)
Operator perbandingan yang digunakan dalam pemrograman java dapat kalian lihat pada gambar disamping. Ekspresi yang menggunakan operator relasional akan menghasilkan nilai benar (true) atau salah (false). Dan operator perbandingan ini hanya dapat digunakan atau hanya berlaku khusus untuk tipe data primitif saja, seperti integer, double, dan lainnya (String tidak termasuk). Sebagai contoh untuk lebih mudah memahami operator perbandingan ini, lihatlah contoh program dibawah.

public class Perbandingan
{  
public static void main(String[] args)  
{  
int a=2;  
int b=4;  

System.out.println(a+" == "+b+ ": "+(a==b));  
System.out.println(a+" != "+b+ ": "+(a!=b));  
System.out.println(a+" > "+b+ ": "+(a>b));  
System.out.println(a+" >= "+b+ ": "+(a>=b));  
System.out.println(a+" < "+b+ ": "+(a  
System.out.println(a+" <= "+b+ ": "+(a<=b));  
}
} 

4)      Operator Logika
Operator logika adalah operator boolean pada JAVA digunakan untuk melakukan operasi terhadap dua operand yang bertipe boolean. Hasil yang diberikan oleh operasi ini juga akan bertipe boolean. bebrapa operator pada boolean.

&& = Operasi ANS
|| = Operasi OR
^ = Operasi XOR (Exclusive OR)
! = Operasi NOT (Negasi)

Keterangan : T = True dan F = False

Apabila 2 operand bernilai boolean (Contoh A dan B) dan keduanya digunakan dalam operasi AND, OR, XOR, dan NOT maka nilai yang dihasilkan antara lain, operasi AND hanya akan menghasilkan nilai true apabila kedua operand (A dan B) bernilai true; operasi OR hanya akan menghasilkan nilai false apabila kedua nilai operand false; operasi XOR hanya akan menghasilkan nilai true apabila salah satu operand-nya (bukan kedua-duanya) bernilai true; sedangkan operasi NOT akan menghasilkan negasi atau kebalikan dari nilai sebelumnya.

Contoh kode Program yang akan dihasilkan dari tabel diatas,

====================Mulai=============================
//PROGRAM Operator Logika dalam JAVA
class DemoOperatorLogika {
public static void main(String[] args) {

System.out.println("Operasi AND");
System.out.println("true && true = " + (true && true));
System.out.println("true && false = " + (true && false));
System.out.println("false && true = " + (false && true));
System.out.println("false && false = " + (false && false));

System.out.println("\nOperasi OR");
System.out.println("true || true = " + (true || true));
System.out.println("true || false = " + (true || false));
System.out.println("false || true = " + (false || true));
System.out.println("false || false = " + (false || false));

System.out.println("\nOperasi XOR");
System.out.println("true ^ true = " + (true ^ true));
System.out.println("true ^ false = " + (true ^ false));
System.out.println("false ^ true = " + (false ^ true));
System.out.println("false ^ false = " + (false ^ false));

System.out.println("\nOperasi NOT");
System.out.println("!true = " + (!true));
System.out.println("!false = " + (!false));
}
}
===================Selesai===========================

Hasil yang akan di berikan oleh program tersebut sebagi berikut:

Operasi AND
true $ true = true
true $ false = false
false $ true = false
false $ false = false

Operasi OR
true || true = true
true || false = true
false || true = true
false || false = false

Operasi XOR
true ^ true = false
true ^ false = true
false ^ true = true
false ^ false = false

Operasi NOT
!true = false
!false = true

D.     Tingkatan Operator
Java mempunyai aturan untuk menentukan urutan dimana operator di dalam ekspresi dievaluasi ketika suatu ekspresi mempunyai beberapa operator (disebut dengan operator precedence). Operator precedence adalah urutan evaluasi dimana operator yang ada di suatu ekspresi akan dievaluasi berdasarkan aturan prioritas yang ditentukan. Operator dengan prioritas lebih tinggi akan dievaluasi terlebih dahulu dibandingkan dengan operator yang mempunyai prioritas lebih rendah. Apabila beberapa operator di dalam ekspresi mempunyai prioritas yang sama, maka operator akan dievaluasi berdasarkan asosiasi dari operator tersebut (operator association).
Berikut ini adalah tabel operator di Java dengan tingkatan prioritas:
 
Perhatikan contoh ekspresi numerik Java di bawah ini.
5 + 20 * 2 – 20 / 2 + (10 - 2);
Java akan mengevaluasi ekspresi numerik tersebut dengan urutan sebagai berikut:
1.      Ekspresi numerik yang terdapat di dalam kurung buka tutup akan dievaluasi pertama kali karena mempunyai prioritas paling tinggi dibandingkan dengan operator perkalian (*), pembagian (/), penjumlahan (+) dan pengurangan (-) sehingga ekspresi numerik akan menjadi 5 + 20 * 2 – 20 / 2 + 8.
2.      Operator perkalian (*) dan pembagian (/) akan dievaluasi berikutnya mulai dari kiri ke kanan karena memiliki prioritas yang sama dan lebih tinggi dari operator penjumlahan (+) dan pengurangan (-) sehingga ekspresi numerik menjadi 5 + 40 – 10 + 8.
3.      Operator penambahan dan pengurangan mempunyai prioritas yang sama dan akan dievaluasi terakhir mulai dari kiri ke nanan sehingga menghasilkan nila 43.

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

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

3)      if...elseif....: 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.

4)      switch : 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.


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

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.


3.        Flowchart atau psoudocode dari masing-masing soal
1.       Sisi miring segitiga siku-siku
Algoritma :                                                                                                               




       a                      c


                       b
1)      Tentukan panjang a dan b.
2)      Hitung sisi miringnya

3)      Tampilkan hasilnya.
Flowchart :
Start
Input panjang a=3, b=5
Print c 
Finish

Psoudocode
Input (a,b)
C ß
Output (c)

2.       Banyaknya pecahan uang
Algoritma :
1)      Tentukan input (jumlah uang).
2)      Tentukan output (banyaknya pecahan uang)
Pecahan 100.000 = uang/100.000 ?
Pecahan 50.000 = uang-(pecahan 100.000 * 100.000)/50.000?
Pecahan 20.000 = uang-(pecahan 100.000 * 100.000)-(pecahan 50.000 * 50.000)/20.000?
Pecahan 10.000 = uang-(pecahan 100.000 * 100.000)-(pecahan 50.000 * 50.000)-(pecahan 20.000 * 20.000)/10.000?
Pecahan 5.000 = uang-(pecahan 100.000 * 100.000)-(pecahan 50.000 * 50.000)-(pecahan 20.000 * 20.000)-(pecahan 10.000 * 10.000)/5.000?
Pecahan 2.000 = uang-(pecahan 100.000 * 100.000)-(pecahan 50.000 * 50.000)-(pecahan 20.000 * 20.000)-(pecahan 10.000 * 10.000)-(pecahan 5.000 * 5.000)/2.000?
Pecahan 1.000 = uang-(pecahan 100.000 * 100.000)-(pecahan 50.000 * 50.000)-(pecahan 20.000 * 20.000)-(pecahan 10.000 * 10.000)-(pecahan 5.000 * 5.000)-(pecahan 2.000 * 2.000)/1.000?
Pecahan 500 = uang-(pecahan 100.000 * 100.000)-(pecahan 50.000 * 50.000)-(pecahan 20.000 * 20.000)-(pecahan 10.000 * 10.000)-(pecahan 5.000 * 5.000)-(pecahan 2.000 * 2.000)-(pecahan 1.000 * 1.000)/500?
Pecahan 200 = uang-(pecahan 100.000 * 100.000)-(pecahan 50.000 * 50.000)-(pecahan 20.000 * 20.000)-(pecahan 10.000 * 10.000)-(pecahan 5.000 * 5.000)-(pecahan 2.000 * 2.000)-(pecahan 1.000 * 1.000)-(pecahan 500 * 500)/200?
Pecahan 100 = uang-(pecahan 100.000 * 100.000)-(pecahan 50.000 * 50.000)-(pecahan 20.000 * 20.000)-(pecahan 10.000 * 10.000)-(pecahan 5.000 * 5.000)-(pecahan 2.000 * 2.000)-(pecahan 1.000 * 1.000)-(pecahan 500 * 500)-(pecahan 200 * 200)/100?
3)      Tampilkan banyak pecahan uang 100.000, 50.000, 20.000, 10.000, 5.000, 2.000, 1.000, 500, 200, 100.

Flowchart :


Start
Input jumlah uang: 12.500
Pecahan 100.000 = uang/100.000 ?
Pecahan 50.000 = uang-(pecahan 100.000 * 100.000)/50.000?
Pecahan 20.000 = uang-(pecahan 100.000 * 100.000)-(pecahan 50.000 * 50.000)/20.000?
Pecahan 10.000 = uang-(pecahan 100.000 * 100.000)-(pecahan 50.000 * 50.000)-(pecahan 20.000 * 20.000)/10.000?
Pecahan 5.000 = uang-(pecahan 100.000 * 100.000)-(pecahan 50.000 * 50.000)-(pecahan 20.000 * 20.000)-(pecahan 10.000 * 10.000)/5.000?
Pecahan 2.000 = uang-(pecahan 100.000 * 100.000)-(pecahan 50.000 * 50.000)-(pecahan 20.000 * 20.000)-(pecahan 10.000 * 10.000)-(pecahan 5.000 * 5.000)/2.000?
Pecahan 1.000 = uang-(pecahan 100.000 * 100.000)-(pecahan 50.000 * 50.000)-(pecahan 20.000 * 20.000)-(pecahan 10.000 * 10.000)-(pecahan 5.000 * 5.000)-(pecahan 2.000 * 2.000)/1.000?
Pecahan 500 = uang-(pecahan 100.000 * 100.000)-(pecahan 50.000 * 50.000)-(pecahan 20.000 * 20.000)-(pecahan 10.000 * 10.000)-(pecahan 5.000 * 5.000)-(pecahan 2.000 * 2.000)-(pecahan 1.000 * 1.000)/500?
Pecahan 200 = uang-(pecahan 100.000 * 100.000)-(pecahan 50.000 * 50.000)-(pecahan 20.000 * 20.000)-(pecahan 10.000 * 10.000)-(pecahan 5.000 * 5.000)-(pecahan 2.000 * 2.000)-(pecahan 1.000 * 1.000)-(pecahan 500 * 500)/200?
Pecahan 100 = uang-(pecahan 100.000 * 100.000)-(pecahan 50.000 * 50.000)-(pecahan 20.000 * 20.000)-(pecahan 10.000 * 10.000)-(pecahan 5.000 * 5.000)-(pecahan 2.000 * 2.000)-(pecahan 1.000 * 1.000)-(pecahan 500 * 500)-(pecahan 200 * 200)/100?
Print jumlah uang
Finish

Pseudocode
Input (uang)
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
output (p100r, p50r, p20r, p10r, p5r, p1r, p0,5r, p0,1r)


3.       Mengkonversi bilangan dalam format desimal menjadi biner
Algoritma :
1)      Tentukan input.
2)      Hitung bilangan binernya.
156/ 2 = 78 sisa 0
78/ 2 = 39 sisa 0
39 / 2 = 19 sisa 1
19 /2 = 9 sisa 1
9/ 2 = 4 sisa 1
4/ 2 = 2 sisa 0
2 / 2 = 1 sisa 0
3)      Tampilkan output.

Flowchart :
Start
Input bilangan desimal
156/ 2 = 78 sisa 0
78/ 2 = 39 sisa 0
39 / 2 = 19 sisa 1
19 /2 = 9 sisa 1
9/ 2 = 4 sisa 1
4/ 2 = 2 sisa 0
2 / 2 = 1 sisa 0

Print bilangan biner
Finish


Pseudocode
input (des)
Desimal ß des/2
Sisa ß desimal%2
D= d*2
Biner ß biner+sisa*d
If desimal == 0 output (desimal)
Else kembali ke b

4.       Menentukan bonus pegawai
Algoritma :
1)      Tentukan bonus yang di dapat dari masing-masing staf atau non staf, yang bekerja kurang dari 5 tahun atau lebih dari 5 tahun, yang berumur 50 tahun atau lebih dari 50 tahun.
2)      Hitung bonus pegawai staf yang telah bekerja paling tidak 5 tahun dan umurnya sudah mencapai 50 tahun.
Hitung bonus pegawai staf yang bekerja kurang dari 5 tahun dan berapapun umurnya.
Hitung bonus pegawai non staf yang telah bekerja lebih dari 5 tahun dan berumur lebih dari 50 tahun.
Hitung bonus pegawai non staf yang berumur kurang dari 50 tahun.
Hitung bonus pegawai staf yang umurnya kurang dari 50 tahun.
3)      Tampilkan hasilnya (bonus staf dan non staf).

Flowchart :
Start
Input bonus yang di dapat dari masing-masing staf atau non staf, yang bekerja kurang dari 5 tahun atau lebih dari 5 tahun, yang berumur 50 tahun atau lebih dari 50 tahun.

Hitung bonus pegawai staf yang telah bekerja paling tidak 5 tahun dan umurnya sudah mencapai 50 tahun.
Hitung bonus pegawai staf yang bekerja kurang dari 5 tahun dan berapapun umurnya.
Hitung bonus pegawai non staf yang telah bekerja lebih dari 5 tahun dan berumur lebih dari 50 tahun.
Hitung bonus pegawai non staf yang berumur kurang dari 50 tahun.
Hitung bonus pegawai staf yang umurnya kurang dari 50 tahun.

Print bonus staf dan non staf

Finish






pseudocode
Input (l,u,s,ns)
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
Output (bonus)

 



5.       Menghitung total biaya iklan baris yang harus dibayar
Algoritma :
1)      Tentukan input.
Hari (Minggu, Senin, Selasa, Rabu, Kamis, Jumat atau Sabtu).
Jumlah baris yang dipakai.
2)      Hitung tarif pemasangan iklan baris pada hari Minggu = banyak baris * 33.000.
Hitung tarif pemasangan iklan baris pada hari Senin = banyak baris * 33.000.
Hitung tarif pemasangan iklan baris pada hari Selasa = banyak baris * 33.000.
Hitung tarif pemasangan iklan baris pada hari Rabu = banyak baris * 33.000.
Hitung tarif pemasangan iklan baris pada hari Kamis = banyak baris * 33.000.
Hitung tarif pemasangan iklan baris pada hari Jumat = banyak baris * 33.000.
Hitung tarif pemasangan iklan baris pada hari Sabtu = banyak baris * 40.000.
3)      Tampilkan output (total biaya iklan yang harus dibayar pengiklan).

Flowchart :
Start
Input Hari (Minggu, Senin, Selasa, Rabu, Kamis, Jumat atau Sabtu) dan Jumlah baris yang dipakai.

Minggu = banyak baris * 33.000.
Senin = banyak baris * 33.000.
Selasa = banyak baris * 33.000.
Rabu = banyak baris * 33.000.
Kamis = banyak baris * 33.000.
Jumat = banyak baris * 33.000.
Sabtu = banyak baris * 40.000.

Print total biaya iklan yang harus dibayar pengiklan

Finish

Pseudocode
Input (hari,jml)
Jika hari = minggu, senin, selasa, rabu, kamis, jum’at
Hrghari = 33000
Jika tidak
Hrghari = 40000
Total ßjml*hrghari
Output (total)

6.       Total biaya tiket
Algoritma :
1)      Tentukan hari dan jumlah tiket.
2)      Jika hari = Senin, Selasa, Rabu, Kamis.
Maka Total Biaya Tiket = jumlah tiket * 15000
Jika hari = Jumat, Sabtu, Minggu dan Libur.
Maka Total Biaya Tiket = jumlah tiket * 35000
3)      Tampilkan Output (total biaya tiket)

Flowchart :
Start

Input hari dan jumlah tiket
Jika hari = Senin, Selasa, Rabu, Kamis.
Maka Total Biaya Tiket = jumlah tiket * 15000
Jika hari = Jumat, Sabtu, Minggu dan Libur.
Maka Total Biaya Tiket = jumlah tiket * 35000

Print total biaya tiket

Finish

Pseudocode
Input (hari,jml,libur, tidak libur)
Jika hari = senin, selasa, rabu,kamis, jum’at
Jika libur harga = 35.000
Jika tidak harga = 15.000
Jika hari = sabtu& minggu
Harga = 35.000
Total ß jml*harga
Output(total)


7.       Menghitung berapa nilai yang harus dibayar oleh pelanggan dengan total nilai belanja tertentu bila disertakan pula perhitungan diskonnya
Algoritma :
1)      Tentukan input (total nilai belanja).
2)      Jika subtotal :
Rp. 150.000,-                                                diskonnya : 10%
Rp. 275.000,-                                                diskonnya : 15%
Rp. 300.000,-                                                diskonnya : 20%
Rp. 400.000,-  ke atas                                diskonnya : 25%
3)      Hitung nilai diskon :
- Jika Rp. 150.000,-
diskonnya : 10% * Rp. 150.000 ?
- Jika Rp. 275.000,-
diskonnya : 15% * Rp. 275.000 ?
- Jika Rp. 300.000,-
diskonnya : 20% * Rp. 300.000 ?
- Jika Rp. 400.000,-  ke atas
diskonnya : 25% * Rp. 400.000 (atau lebih) ?
4)      Hitung nilai yang harus dibayar = subtotal – nilai diskon ?
5)      Tampilkan output atau nilai diskon (dalam rupiah/bukan persen), nilai yang harus dibayar.

Flowchart :
Start
Input total biaya
- Jika Rp. 150.000,-
diskonnya : 10% * Rp. 150.000 ?
- Jika Rp. 275.000,-
diskonnya : 15% * Rp. 275.000 ?
- Jika Rp. 300.000,-
diskonnya : 20% * Rp. 300.000 ?
- Jika Rp. 400.000,-  ke atas
diskonnya : 25% * Rp. 400.000 (atau lebih) ?
Hitung nilai yang harus dibayar = subtotal – nilai diskon ?

Print nilai diskon (dalam rupiah/bukan persen), nilai yang harus dibayar.

Finish


Pseudocode
Input (harga)
Jika harga<=400000
disc ß harga*25/100
Jika harga <=300000
disc ß harga*20/100
Jika harga <= 275000
disc ß harga*15/100
disc ß harga<= 150000*10/100
output (disc)




8.       Menghitung nilai, dan konversi menjadi nilai huruf
Algoritma :
1)      Input 5 nilai (nilai tugas1,tugas2,tugas3,UTC,UAC)
2)      Hitung nilai rata - rata tugas = nilai tugas1+tugas2+tugas3 / 3.
Hitung semua nilai :
Nilai=((rata-rata tugas*30%)+(UTC*30%)+(UAC*40%))
3)      Seleksi nilai akhir :
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
4)      Tampilkan output (Nilai Akhir dan Nilai Huruf)

Flowchart :
Start
Input 5 nilai (nilai tugas1,tugas2,tugas3,UTC,UAC)
Hitung nilai rata - rata tugas = nilai tugas1+tugas2+tugas3 / 3.
Hitung semua nilai :
Nilai=((rata-rata tugas*30%)+(UTC*30%)+(UAC*40%))
Seleksi nilai akhir :
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

Print Nilai Akhir dan Nilai Huruf
Finish


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

Flowchart :
Start
Input Jumlah Pemakaian Air
Hitung jumlah nilai/pemakaian yang dimasukkan :
Seleksi jika pemakaian <0, maka Biaya total = Jumlah * 0.
Seleksi jika pemakaian <= 50, maka Biaya total = Jumlah * 200
Seleksi jika pemakaian <= 150, maka Biaya total = ((50 * 200) + ((jumlah - 50) * 500))
Seleksi jika pemakaian <= 300, maka Biaya Total = ((50 * 200) + (100 * 500) + ((jumlah - 150) * 1000)).
Seleksi jika pemakaian > 300, maka Biaya Total = ((50 * 200) + (100 * 500) + (150 * 1000) + ((jumlah - 300) * 1500))

Print biaya total
Finish


10.  Menghitung cash back yang diterima nasabah berdasarkan nilai pemakaian kartu kredit
Algoritma :
1)      Ambil input user untuk memasukkan jumlah pemakaian Kartu Kredit
2)      Masukkan ke variabel string pemakaian
Jika panjang inputan string pemakaian lebih dari 0, atau dengan kata lain
3)      user telah menginputkan value,ubah input string pemakaian menjadi bilangan dengan nama variable
4)      int jumlah_pemakaian,memberikan nilai default pada variabel pemakaian1 dengan pemakaian1= 1000.000. Jika nilai pada variabel jumlah _pemakaian <= 1.000.000
5)      Memberikan nilai pada variabel pemakaian1 dengan,pemakaian1 = jumlah_pemakaian.Atau jika nilai pada variabel jumlah_pemakaian > 1.000.000, dan nilai pada variabel jumlah_pemakaian <= 10.000.000
6)      Memberikan nilai pada variabel pemakaian1 dengan,pemakaian1= 1.000.000
7)      Memberikan nilai pada variabel pemakaian2 dengan,pemakaian2= jumlah_pemakaian – 1.000.000 atau jika nilai pada variabel jumlah_pemakaian > 10.000.000, dan nilai pada variabel jumlah_pemakaian <= 25.000.000
8)      Memberikan nilai pada variabel pemakaian2 dengan,pemakaian2= 10.000.000
9)      Memberikan nilai pada variabel pemakaian3 dengan,pemakaian3= jumlah_pemakaian – 25.000.000.Atau jika nilai pada variabel jml_pemakaian > 25.000.000
10)   Memberikan nilai pada variabel pemakaian2 dengan,pemakaian2= 10.000.000
11)   Memberikan nilai pada variabel pemakaian3 dengan,pemakaian3= 25.000.000
12)   Memberikan nilai pada variabel pemakaian4 dengan,pemakaian4= jml_pemakaian – 25.000.000
13)   Memberikan nilai pada variabel cash_back_total dengan,cash_back_total=(pemakaian1*5/100)+(pemakaian2*6/100)+(pemakaian3*7/100)+(pemakaian4*8/10)
14)   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 userbelum menginputkan value
15)   Cetak output “Ada salah satu masukan yang kosong”
16)   Tampilkan hasilnya.

Flowchart :
Start
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%

1)      Masukkan ke variabel string pemakaian
Jika panjang inputan string pemakaian lebih dari 0, atau dengan kata lain
2)      user telah menginputkan value,ubah input string pemakaian menjadi bilangan dengan nama variable
3)      int jumlah_pemakaian,memberikan nilai default pada variabel pemakaian1 dengan pemakaian1= 1000.000. Jika nilai pada variabel jumlah _pemakaian <= 1.000.000
4)      Memberikan nilai pada variabel pemakaian1 dengan,pemakaian1 = jumlah_pemakaian.Atau jika nilai pada variabel jumlah_pemakaian > 1.000.000, dan nilai pada variabel jumlah_pemakaian <= 10.000.000
5)      Memberikan nilai pada variabel pemakaian1 dengan,pemakaian1= 1.000.000
6)      Memberikan nilai pada variabel pemakaian2 dengan,pemakaian2= jumlah_pemakaian – 1.000.000 atau jika nilai pada variabel jumlah_pemakaian > 10.000.000, dan nilai pada variabel jumlah_pemakaian <= 25.000.000
7)      Memberikan nilai pada variabel pemakaian2 dengan,pemakaian2= 10.000.000
8)      Memberikan nilai pada variabel pemakaian3 dengan,pemakaian3= jumlah_pemakaian – 25.000.000.Atau jika nilai pada variabel jml_pemakaian > 25.000.000
9)      Memberikan nilai pada variabel pemakaian2 dengan,pemakaian2= 10.000.000
10)   Memberikan nilai pada variabel pemakaian3 dengan,pemakaian3= 25.000.000
11)   Memberikan nilai pada variabel pemakaian4 dengan,pemakaian4= jml_pemakaian – 25.000.000
12)   Memberikan nilai pada variabel cash_back_total dengan,cash_back_total=(pemakaian1*5/100)+(pemakaian2*6/100)+(pemakaian3*7/100)+(pemakaian4*8/10)
13)   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 userbelum menginputkan value

1)      Masukkan ke variabel string pemakaian
2)      Jika panjang inputan string pemakaian lebih dari 0, atau dengan kata lain
3)      user telah menginputkan value,ubah input string pemakaian menjadi bilangan dengan nama variable
4)      int jumlah_pemakaian,memberikan nilai default pada variabel pemakaian1 dengan pemakaian1= 1000.000. Jika nilai pada variabel jumlah _pemakaian <= 1.000.000
5)      Memberikan nilai pada variabel pemakaian1 dengan,pemakaian1 = jumlah_pemakaian.Atau jika nilai pada variabel jumlah_pemakaian > 1.000.000, dan nilai pada variabel jumlah_pemakaian <= 10.000.000
6)      Memberikan nilai pada variabel pemakaian1 dengan,pemakaian1= 1.000.000
7)      Memberikan nilai pada variabel pemakaian2 dengan,pemakaian2= jumlah_pemakaian – 1.000.000 atau jika nilai pada variabel jumlah_pemakaian > 10.000.000, dan nilai pada variabel jumlah_pemakaian <= 25.000.000
8)      Memberikan nilai pada variabel pemakaian2 dengan,pemakaian2= 10.000.000
9)      Memberikan nilai pada variabel pemakaian3 dengan,pemakaian3= jumlah_pemakaian – 25.000.000.Atau jika nilai pada variabel jml_pemakaian > 25.000.000
10)   Memberikan nilai pada variabel pemakaian2 dengan,pemakaian2= 10.000.000
11)   Memberikan nilai pada variabel pemakaian3 dengan,pemakaian3= 25.000.000
12)   Memberikan nilai pada variabel pemakaian4 dengan,pemakaian4= jml_pemakaian – 25.000.000
13)   Memberikan nilai pada variabel cash_back_total dengan,cash_back_total=(pemakaian1*5/100)+(pemakaian2*6/100)+(pemakaian3*7/100)+(pemakaian4*8/10)

Print cash back yang diterima nasabah berdasarkan nilai pemakaian kartu kredi
Finish


4.        Kode Sumber (Source Code) beserta Outputnya
1)      Sisi miring segitiga siku-siku
Kode sumber :
package tgas2;
import java.util.*;
/**
*
* @author Jauhar
*/
public class num1 {
public static void main(String[] args) {
// TODO code application logic here
Scanner masuk = new Scanner(System.in);
int sisi1,sisi2,c;
System.out.println("Mengitung Panjang sisi miring Segitiga siku-
siku");
System.out.print("Masukan Nilai Sisi 1 : ");
sisi1 = masuk.nextInt();
System.out.print("Masukan Nilai Sisi 2 : ");
sisi2 = masuk.nextInt();
c=((sisi1*sisi1)+(sisi2*sisi2));
System.out.println("Panjang sisi miring segitiga siku-siku adalah
= "+(Math.sqrt(c)));
}
}
Outputnya :
Menghitung panjang sisi miring segitiga siku-siku
Masukan nilai sisi 1 = 3
Masukan nilai sisi 2 = 4
Panjang sisi miring segitiga siku-siku adalah 5,0

2)      Banyaknya pecahan uang
Kode sumber :
package tgas2;

import java.util.*;
/**
*
* @author Jauhar
*/
public class num2 {
public static void main(String[] args) {
// TODO code application logic here
long bil1, uang;
do
{
//inputan dari keyboard
System.out.print("masukkan Jumlah uang = ");
Scanner obj = new Scanner(System.in);
uang = obj.nextLong();
if (uang<100)
{
System.out.println("Maaf, tidak ada nominal uang "+
"sebesar "+uang+" rupiah");
continue;
}
else {
if (uang >= 100000) {
bil1 = uang / 100000;
System.out.println("Diperlukan " + bil1 +" lembar 100000");
}
uang = uang % 100000;
if ((uang >= 50000) && (uang <100000))
{
bil1 = uang / 50000;
System.out.println("Diperlukan " + bil1 +" lembar 50000");
}
// antara 20000-50000
System.out.println("Diperlukan " + bil1 +" lembar 50000");
uang = uang % 50000;
if ((uang >= 20000) && (uang <50000))
{
bil1 = uang / 20000;
System.out.println("Diperlukan " + bil1 +" lembar 20000");
}
uang = uang % 20000;
if ((uang >= 10000) && (uang <20000))
{
bil1 = uang / 10000;
System.out.println("Diperlukan " + bil1 +" lembar 10000");
}
// antara 5000-10000
uang = uang % 10000;
if ((uang >= 5000) && (uang <10000))
{
bil1 = uang / 5000;
System.out.println("Diperlukan " + bil1 +" lembar 5000");
}
// antara 2000-5000
uang = uang % 5000;
if ((uang >= 2000) && (uang <5000))
{
bil1 = uang / 2000;
System.out.println("Diperlukan " + bil1 +" lembar 2000");
}
if ((uang >= 1000) && (uang <2000))
bil1 = uang / 1000;
System.out.println("Diperlukan " + bil1 +" lembar 1000");
uang = uang % 2000;
if ((uang >= 1000) && (uang <2000))
{
bil1 = uang / 1000;
System.out.println("Diperlukan " + bil1 +" lembar 1000");

uang = uang % 1000;
if ((uang >= 500) && (uang <1000))
bil1 = uang / 500;
System.out.println("Diperlukan " + bil1 +" koin 500");
uang = uang % 500;
if ((uang >= 200) && (uang <500))
bil1 = uang / 200;
System.out.println ("Diperlukan " + bil1 +" koin 200");
uang = uang % 200
if ((uang >= 100) && (uang <200))
{
bil1 = uang / 100;
System.out.println ("Diperlukan " + bil1 +" koin 200");
while(uang!=0)
Outputnya :
masukan jumlsh uang = 5000
diperlukan 1 lembar 5000

3)      Mengkonversi bilangan dalam format desimal menjadi biner
Kode sumber :
import java.util.*;

import java.io.*;

/**

*

* @author Jauhar

public class num3 {

*/

public class num3 {

public static void main(String[] args) {

int angka;

Scanner obj = new Scanner(System.in);

System.out.print('\n'+"Masukkan Bil Desimal: ");

angka = obj.nextInt();

DesToBin(angka);

}

static void DesToBin(int bil){

int mod=0,sisa=0, i=0; boolean loop=true; int[] zz = new int[1000];

sisa=bil;

while (loop==true){ sisa = bil%2; bil= bil/2;

zz[i]=sisa; i++;

if((bil==0)||(bil==1)){ loop=false; zz[i]=bil; }

} //Cetak Bilangan Biner

System.out.print("konversinya ke bil.Biner adalah "); for (int a=i; a>=0;a--){

System.out.print(zz[a]);

} System.out.print('\n');

}

}
Outputnya :
Masukan bilangan decimal 254
Konverensi bil. Biner adalah 11111110
 
4)      Menentukan bonus pegawai
Kode sumber :

import java.io.*;

/**

*

* @author jauhar

*/

public class num4 {

public static void main(String[] args) {

BufferedReader dataIn = new BufferedReader(new

InputStreamReader( System.in) );

String kerja= "";

String usia= "";

String pegawai= "";

try{

System.out.print("Masukkan Lama Kerja : ");

kerja = dataIn.readLine();

System.out.print("Masukkan Usia : ");

usia = dataIn.readLine();

System.out.print("staff atau non staff : ");

pegawai = dataIn.readLine();

}catch( IOException e ){

System.out.println("Error!");

}

int massa = Integer.parseInt(kerja);

int umur = Integer.parseInt(usia);

if ("staff".equals(pegawai) && (massa>=5) && (umur>=50)){

System.out.println("Bonus anda 1.000.000");

}

else if ("staff".equals(pegawai) && (massa<5)){

System.out.println("Bonus anda 500.000");

}

else if ("staff".equals(pegawai) && (umur < 50)){

System.out.println("Bonus anda 300.000");

}

else if ("non staff".equals(pegawai) && (massa>5) && (umur>50)){

System.out.println("Bonus anda 400.000");

}

else if ("non staff".equals(pegawai) && (massa<5)){

System.out.println("Bonus anda 250.000");

}

else if ("non staff".equals(pegawai) && (umur<50)){

System.out.println("Bonus anda 250.000");

}

else {

else if ("staff".equals(pegawai) && (massa<5)){

System.out.println("Bonus anda 500.000");

}

else if ("staff".equals(pegawai) && (umur < 50)){

System.out.println("Bonus anda 300.000");

}

else if ("non staff".equals(pegawai) && (massa>5) && (umur>50)){

System.out.println("Bonus anda 400.000");

}

else if ("non staff".equals(pegawai) && (massa<5)){

System.out.println("Bonus anda 250.000");

}

else if ("non staff".equals(pegawai) && (umur<50)){

System.out.println("Bonus anda 250.000");

}

else {

System.out.println("Maaf, format status pegawai anda salah. Contoh

= staff / non staff");

}

}

}

Outputnya :



5)      Menghitung total biaya iklan baris yang harus dibayar
Kode sumber :
package tgas2;

import java.io.*;

/**

*

* @author jauhar

*/

public class num5 {

public static void main(String[] args) {

BufferedReader dataIn = new BufferedReader(new

InputStreamReader( System.in) );

String hari= "";

String baris= "";

try{

System.out.print("Masukkan Hari : ");

hari = dataIn.readLine();

System.out.print("Masukkan jumlah baris : ");

baris = dataIn.readLine();

}catch( IOException e ){

System.out.println("Error!");

}

int total = Integer.parseInt(baris);

if("Minggu".equals(hari) || "Senin".equals(hari) || "Selasa".equals(hari)

|| "Rabu".equals(hari) || "Kamis".equals(hari) || "Jumat".equals(hari)){

System.out.println("Total Biaya = "+total * 33000);

}

else if("Sabtu".equals(hari)){

System.out.println("Total Biaya = "+total * 40000);

}

else {

System.out.println("Maaf, format hari anda salah. Awali huruf kapital. Contoh

= Senin ");

}

}

}

Outputnya :


6)      Total biaya tiket
Kode sumber :
package tgas2;

import java.util.*;

/**

*

* @author jauhar

*/

public class num6 {

public static void main(String[] args) {

Scanner dino = new Scanner(System.in);

Scanner jumlah = new Scanner(System.in);

Scanner libur = new Scanner(System.in);

int tiket,hari,lib,a,b,c;

System.out.println("Harga tiket bioskop di Surabaya City");

System.out.println("- Senin – Kamis : Rp 15.000,-");

System.out.println("- Jumat s/d Minggu : Rp 35.000,-");

System.out.println("- Hari Libur : Rp 35.000,-");

System.out.println("\nINPUT");

System.out.println("1 = Senin | 2 = Selasa | 3 = Rabu");

System.out.println("4 = Kamis | 5 = Jumat | 6 = Sabtu | 7 = Minggu ");

System.out.println("8 = Hari Libur | 9 = Bukan Hari Libur");

System.out.print("\nMasukan Hari = ");

hari = dino.nextInt();

System.out.print("Jumlah Tiket = ");

tiket = jumlah.nextInt();

System.out.print("Apakah hari libur = ");

lib = libur.nextInt();

a = tiket * 15000;

b = tiket * 35000;

if (hari == 1 && lib != 8 || hari == 2 && lib != 8 || hari == 3 &&

lib != 8 || hari == 4 && lib != 8 )

{

System.out.println("Total yang harus dibayar adalah = "+a);

}

else if (hari == 1 && lib == 8 || hari == 2 && lib == 8 || hari == 3 &&

lib == 8 || hari == 4 && lib == 8){

System.out.println("Total yang harus dibayar adalah = "+b);

}

else if (hari == 5 || hari == 6 || hari == 7)

{

System.out.println("Total yang harus dibayar adalah = "+b);

}

}

}
Outputnya :



7)      Menghitung berapa nilai yang harus dibayar oleh pelanggan dengan total nilai belanja tertentu bila disertakan pula perhitungan diskonnya
Kode sumber :
package tgas2;

import java.util.*;

/**

*

* @author jauhar

*/

public class NUM7 {

public static void main(String[] args) {

Scanner belanja = new Scanner(System.in);

double total,diskon,bayar;

System.out.print("Total Belanja : ");

total = belanja.nextInt();

if(total<150000){

diskon= total * 0;

bayar=total-diskon;

System.out.print("DisC = "+diskon);

System.out.print("\nYang harus dibayar = "+bayar);

}

else if(total<275000){

diskon= total * 0.20;

bayar=total-diskon;

System.out.print("DisC = "+diskon);

System.out.print("\nYang harus dibayar = "+bayar);

diskon= total * 0.20;

bayar=total-diskon;

System.out.print("DisC = "+diskon);

System.out.print("\nYang harus dibayar = "+bayar);

}

else {

diskon= total * 0.25;

bayar=total-diskon;

System.out.print("DisC = "+diskon);

System.out.print("\nYang harus dibayar = "+bayar);

}

}

}

Outputnya :

8)      Menghitung nilai, dan konversi menjadi nilai huruf
Kode sumber :
package tgas2;

import java.util.*;

* @author jauhar

public class NUM8 {

public static void main(String[] args) {

Scanner tugas1 = new Scanner(System.in);

Scanner tugas2 = new Scanner(System.in);

Scanner tugas3 = new Scanner(System.in);

Scanner yutc = new Scanner(System.in);

Scanner yuac = new Scanner(System.in);

int tgs1,tgs2,tgs3,utc,uac,rata;

double nilai;

System.out.print("\nMasukkan Nilai Tugas 1 = ");

tgs1 = tugas1.nextInt();

System.out.print("Masukkan Nilai Tugas 2 = ");

tgs2 = tugas2.nextInt();

System.out.print("Masukkan Nilai Tugas 3 = ");

tgs3 = tugas3.nextInt();

System.out.print("Masukkan Nilai UTC = ");

utc = yutc.nextInt();

System.out.print("Masukkan Nilai UAC = ");

uac = yuac.nextInt();

rata = (tgs1+tgs2+tgs3)/3;

nilai=((rata*0.3)+(utc*0.3)+(uac*0.4));

if (nilai > 80 && nilai <=100){

System.out.println("Nilai anda adalah A");

else if (nilai > 70 && nilai <=80){

System.out.println("Nilai anda adalah AB");

}

else if (nilai > 65 && nilai <=70){

System.out.println("Nilai anda adalah B");

}

else if (nilai > 60 && nilai <=65){

System.out.println("Nilai anda adalah BC");

}

else if (nilai > 55 && nilai <=60){

System.out.println("Nilai anda adalah C");

}

else if (nilai > 60 && nilai <=65){

System.out.println("Nilai anda adalah BC");

}

else if (nilai > 55 && nilai <=60){

System.out.println("Nilai anda adalah C");

}

else if (nilai > 40 && nilai <=50){

System.out.println("Nilai anda adalah D");

}

else if (nilai > 0 && nilai <=40){

System.out.println("Nilai anda adalah E");
}
Outputnya :
9)      Tarif pemakaian Air PDAM Kota Surabaya
Kode sumber :
package tgas2;

import java.util.*;

* @author jauhar

public class NUM8 {

public static void main(String[] args) {

Scanner tugas1 = new Scanner(System.in);

Scanner tugas2 = new Scanner(System.in);

Scanner tugas3 = new Scanner(System.in);

Scanner yutc = new Scanner(System.in);

Scanner yuac = new Scanner(System.in);

int tgs1,tgs2,tgs3,utc,uac,rata;

double nilai;

System.out.print("\nMasukkan Nilai Tugas 1 = ");

tgs1 = tugas1.nextInt();

System.out.print("Masukkan Nilai Tugas 2 = ");

tgs2 = tugas2.nextInt();

System.out.print("Masukkan Nilai Tugas 3 = ");

tgs3 = tugas3.nextInt();

System.out.print("Masukkan Nilai UTC = ");

utc = yutc.nextInt();

System.out.print("Masukkan Nilai UAC = ");

uac = yuac.nextInt();

rata = (tgs1+tgs2+tgs3)/3;

nilai=((rata*0.3)+(utc*0.3)+(uac*0.4));

if (nilai > 80 && nilai <=100){

System.out.println("Nilai anda adalah A");

else if (nilai > 70 && nilai <=80){

System.out.println("Nilai anda adalah AB");

}

else if (nilai > 65 && nilai <=70){

System.out.println("Nilai anda adalah B");

}

else if (nilai > 60 && nilai <=65){

System.out.println("Nilai anda adalah BC");

}

else if (nilai > 55 && nilai <=60){

System.out.println("Nilai anda adalah C");

}

else if (nilai > 60 && nilai <=65){

System.out.println("Nilai anda adalah BC");

}

else if (nilai > 55 && nilai <=60){

System.out.println("Nilai anda adalah C");

}

else if (nilai > 40 && nilai <=50){

System.out.println("Nilai anda adalah D");

}

else if (nilai > 0 && nilai <=40){

System.out.println("Nilai anda adalah E");

}
Outputnya :

10)  Menghitung cash back yang diterima nasabah berdasarkan nilai pemakaian kartu kredit
Kode sumber :
package tgas2;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.text.DecimalFormat;

import java.text.DecimalFormatSymbols;

/**

*

* @author jauhar

*/

public class NUM10 {

public static void main(String[] args) {

// TODO code application logic here

String str_pemakaian ="";

//int pemakaian = Integer.parseInt(str_pemakaian);

int pemakaian1=0;

int pemakaian2=0;

int pemakaian3=0;

int pemakaian4=0;

int cash_back_total=0;

BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in)

);

System.out.print("Masukkan jumlah pemakaian Kartu

Kredit : "+str_pemakaian+"");

try{

str_pemakaian = dataIn.readLine();

}catch( IOException e ){

System.out.println("Error!");

}

if(str_pemakaian.length()>0){

int jml_pemakaian = Integer.parseInt(str_pemakaian);

pemakaian1=1000000;

if(jml_pemakaian<=1000000){

pemakaian1=jml_pemakaian;

}

else if(jml_pemakaian>1000000 && jml_pemakaian<=10000000){

pemakaian1=1000000;

pemakaian2=jml_pemakaian-1000000;

}

else if(jml_pemakaian>10000000 && jml_pemakaian<=25000000){

pemakaian2=10000000;

}

else if(jml_pemakaian>1000000 && jml_pemakaian<=10000000){

pemakaian1=1000000;

pemakaian2=jml_pemakaian-1000000;

}

else if(jml_pemakaian>10000000 && jml_pemakaian<=25000000){

pemakaian2=10000000;

pemakaian3=jml_pemakaian-25000000;

}

else if(jml_pemakaian>25000000){

pemakaian2=10000000;

pemakaian3=25000000;

pemakaian4=jml_pemakaian-25000000;

}

cash_back_total = (pemakaian1*5/100)+(pemakaian2*6/100)+(pemakaian3*7/

100)+(pemakaian4*8/100);DecimalFormat df = (DecimalFormat)

DecimalFormat.getCurrencyInstance();

DecimalFormatSymbols dfs = new DecimalFormatSymbols();

dfs.setCurrencySymbol("");

dfs.setMonetaryDecimalSeparator(',');

dfs.setGroupingSeparator('.');

df.setDecimalFormatSymbols(dfs);

String jumlah_pemakaian = "Rp. " + df.format(jml_pemakaian);

String hsl_biaya_total = "Rp. " + df.format(cash_back_total);

System.out.println("Seorang nasabah yang total selama

sebulan "+jumlah_pemakaian+", maka total cash backnya= "+hsl_biaya_total);

}

else{

System.out.println("\nAda salah satu masukan yang kosong!");

return;

}

}

}
 Outputnya :


5.        Referensi