Senin, 28 Oktober 2013

praktikum dasar pemrograman 2


TUGAS PRAKTIKUM MODUL 2
DASAR PEMROGRAMAN KOMPUTER




Oleh :
Yoga Widya Pradipta
NIM: 135623006



D3 MANAJEMEN INFORMATIKA
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS NEGERI SURABAYA
2013
BAB I
DASAR TEORI

I.    Dasar Teori Pengertian Netbeans dan Eclipse
a.         NetBeans.
NetBeans adalah suatu tool untuk membuat program dengan menggunakan bahasa pemrograman Java berbasis  grafis. Cara membuat program dengan merancang tampilan menggunakan komponent visual dan proses diletakan pada event driven. NetBeans juga merupakan sebuah aplikasi Integrated Development Environment (IDE) yang berbasiskan Java dari Sun Microsystems yang berjalan di atas swing. 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.
Fitur fitur yang terdapat dalam NetBeans antara lain:
ü  Smart Code Completion: untuk mengusulkan nama variabel dari suatu tipe, melengkapi keyword dan mengusulkan tipe parameter dari sebuah method.
ü  Bookmarking: fitur yang digunakan untuk menandai baris yang suatu saat hendak kita modifikasi.
ü  Go to commands: fitur yang digunakan untuk jump ke deklarasi variabel, source code atau file yang ada pada project yang sama.
ü  Code generator: jika kita menggunakan fitur ini kita dapat meng-generate constructor, setter and getter method dan yang lainnya.
ü  Error stripe: fitur yang akan menandai baris yang eror dengan memberi highlight merah.




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

II.     Penulisan Program di Java, Input, Output
Aturan penulisan program di Java :
- Java adalah turunan dari C, sehingga Java memiliki sifat C yaitu Case sensitive, yaitu membedakan antara huruf besar dan kecil
- Dalam sebuah file program di Java, hanya diijinkan memiliki 1 buah class yang bersifat public.
- Dalam sebuah file program Java, hanya ada satu method main(method yang pertama kali dibaca oleh interpreter Java)
- Nama sebuah file program Java harus sama dengan nama class yang memiliki method main () di dalam tubuhnya.  Perhatikan bahwa tulisan nama file dengan nama class (huruf besar maupun kecilnya) haruslah persis sama.




a.       Cara penulisan program di Java :
ü  Langkah pertama dalam pembuatan sebuah program berbasis Java adalah menuliskan kode program pada text editor. Contoh text editor yang dapat digunakan antara lain : notepad, vi, emacs dan lain sebagainya. Kode program yang dibuat kemudian tersimpan dalam sebuah berkas berekstensi .java.
ü  Setelah membuat dan menyimpan kode program, kompilasi file yang berisi kode program tersebut dengan menggunakan Java Compiler. Hasil dari kompilasi berupa berkas bytecode dengan ekstensi .class.
ü  Berkas yang mengandung bytecode tersebut kemudian akan dikonversikan oleh Java Interpreter menjadi bahasa mesin sesuai dengan jenis dan platform yang digunakan.

Langkah selanjutnya :
1. Simpan dengan nama: Hello.java
2. Compile Hello.java : javac Hello.java
3. Hasilnya akan menghasilkan : Hello.class
4. Jalankan Hello.class: java Hello.class atau java Hello
5. Akan keluar hasil : Hello world!
 
//Nama File Hello.java
class Hello
{
public static void main(String args[])
  {
System.out.println(“Hello World !”);
   }
}
 
Berikut adalah contoh membuat program dengan menggunakan Java.  Pada program akan ditampilkan tulisan “Hello World !“








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

b.      Input-Output :
     Input pada java yang akan kita bahas pada kesempatan kali ini adalah dengan menggunakan kelas Scanner. Setiap kelas Scanner dipanggil, kita harus menuliskan import java.util.Scanner. Lalu kita deklrasikan variabel sc yang akan dipakai jika kita ingin menginput data.  
Cara mendeklrasikan sebagai berikut . 
Scanner namavariabel = new Scanner(System.in)
contoh : Scanner sc = new Scanner(System.in)
kemudian setiap kita akan menggunakan scanner, maka format penulisannya sebagai berikut 
variabel = namavariabel.next-tipedata-();
contoh :
a = sc.nextInt() //untuk tipe data integer atau bisa juga ketika variabel a baru dideklrasikan
contoh :   
int a = sc.nextInt()
String s = sc.next()//untuk tipe data String
desimal = sc.nexDouble()//untuk tipe data double

Format Pendeklarasian Variabel : [tipe_data (SPASI) nama_variabel]
ü  int = mendeklarasikan tipe data Integer
ü  char = mendeklarasikan tipe data Char / Character
ü  boolean = mendeklarasikan tipe data Boolean
ü  String = mendeklarasikan tipe data String
ü  float = mendeklarasikan tipe data Float

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1d0ghujDXXtJ4XQ3tcFcyNo4oqM7myMncC_2fGDklKbGUDc-tTd_Jqs_NRJWWpyG39ltMMsJzO5t0vlDJmXg7ZDFYsdizW-dGkARC7vTZD-7COUg0wSL3Dyn065KOnY45BgfF4SzlPUlF/s640/prgVarTipeData.pngstudi kasus : program peminta nilai integer
Alur program ini sebagai berikut : 
1.  Program akan menampilkan tulisan “masukkan nilai a :”
- dalam baris System.out.print(“masukkan nilai a : “) –
2.  Program akan meminta inputan yang akan disimpan divariabel int a
- dalam baris int a = sc.nextInt() –
3.  Program akan menampilkan tulisan “nilai a  adalah : ” sesuai dengan nilai a yang dimasukkan user
- dalam baris System.out.print(“nilai a  adalah : “+a) .

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

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









III.  Operator: Assigment, Matematika, Perbandingan, Logika

1.) Assignment
     Adalah operator yang menggunakan tanda sama dengan (=) untuk mengisi sebuah nilai dalam suatu variabel.
2.) Matematika
     Adalah operator yang digunakan untuk melaksanakan operasi aritmatika. Beberapa operator aritmatika antara lain:
*   : untuk perkalian
+ : untuk penjumlahan
-   : untuk pengurangan
/   : untuk pembagian

% : untuk sisa pembagian (modulus)

   


3.) Perbandingan
        Adalah operator yang digunakan untuk membandingkan dua buah nilai atau operand. Operator perbandingan ini antara lain:
< : untuk kurang dari > : untuk lebih dari
<= : untuk kurang dari atau sama dengan
>= : untuk lebiih dari atau sama dengan
== : untuk sama dengan
!= : untuk tidak sama dengan

<> : untuk tidak sama dengan

4) Logika
                 Adalah operator yang digunakan untuk melakukan operasi logika yaituoperator yang menghasilkan nilai TRUE (benar) atau FALSE (salah). Bebarapa macam operator logika antara lain:
and : menghasilkan nilai TRUE jika kedua operand bernilai TRUE
or : menghasilkan nilai TRUE jika salah satu operand bernilai TRUE
xor : menghasilkan nilai TRUE jika salah satu operand bernilai TRUE tetapi bukan kedua duanya bernilai TRUE
! :  menghasilkan nilai tidak TRUE

&& : menghasilkan nilai TRUE jika kedua operand bernilai TRUE
|| : menghasilkan nilai TRUE jika salah satu operand bernilai TRUE
IV. Tingkatan Operator
            Tabel pada halaman berikut akan memperlihatkan kedudukan dari setiap operator terhadap operator lainnya, dan bagaimana arah pengeksekusian dari suatu pernyataan yang mengandung operator tersebut
Operator
Evaluasi
( ) [ ]   .
kiri ke kanan
!  ~  ++  --  +  -  *  &  (type)  sizeof
kanan ke kiri
*  /  %
kiri ke kanan
+  -
kiri ke kanan
<<  >>
kiri ke kanan
<  <=  >  >=
kiri ke kanan
==  !=
kiri ke kanan
&
kiri ke kanan
^
kiri ke kanan
|
kiri ke kanan
&&
kiri ke kanan
||
kiri ke kanan
? :
kanan ke kiri
=  +=  -=  *=  /=  %=  &=  ^=  |=  <<=  >>=
kanan ke kiri
,
kiri ke kanan
            Sebagai contoh, operator binary + dan - mempunyai kedudukan yang lebih tinggi dibandingkan dengan operator !=, dan operator & mempunyai kedudukan yang lebih tinggi dibandingkan dengan operator &&. Java memiliki 44 operator, yang terbagi dalam 4 jenis dasar, yaitu operator aritmatik, bitwise, relasi, dan logika. Percabangan (if, if....else, if...elseif...., switch)
1.) IF
       IF sederhana merupakan kombinasi  antara IF – THEN, hanya mengakomodasi alternative kondisi bernilai TRUE saja.
Syntax dari  IF sederhana:
            IF kondisi THEN statement_true;
            IF kondisi THEN
            BEGIN
            Statement1_true;
            Statement2_true;
            END;
2.)   IF Else
       Jika pada IF sederhana,  kondisi  salah tidak akan melaksanakan  apapun maka  pada IF dengan alternatif – yang merupakan kombinasi IF – THEN – ELSE – kondisi salah akan mempunyai  statement  yang dilaksanakan.  Sebagai  ilustrasi,  perhatikan  kembali  Listing Program 3 – 1, ada kondisi yang merupakan kebalikan yaitu: 
            a bernilai TRUE dan not a bernilai FALSE
       Pada  saat  dilaksanakan  sebenarnya  statement  setelah  IF  not  a  THEN ...,  tidak  akan dilaksanakan,  karena  nilai  a:=TRUE.  Cobalah  untuk  mengganti  a:=FALSE,  maka statement setelah IF a THEN … -lah yang tidak akan dilaksanakan. Sebenarnya kedua IF sederhana tersebut dapat diringkas dengan IF – THEN – ELSE yang syntaxnya:
       IF kondisi THEN statement_true
       ELSE statement_false;
       IF kondisi THEN
       BEGIN
       END

       ELSE
       statement1_true;
       Statement2_true;
       BEGIN
       Statement1_false;
       Statement2_false;
       END;
3.) IF Else if
       IF kompleks  disebabkan  adanya  kondisi  yang  mempunyai  lebih  dari  dua  alternativejawaban. Syntaxnya adalah
       IF kondisi1 THEN statement_kondisi1_true
       ELSE IF kondisi2
       THEN statement_kondisi1_false_kondisi2_true;
       ELSE statement_ kondisi1_false_kondisi2_false;
       IF kondisi1 THEN
       BEGIN
       statement1_kondisi1_true;
       Statement2_kondisi1_true;
       END
      
       ELSE IF kondisi2 THEN
       BEGIN
       Statement1_kondisi1_false_kondisi2_true;
       Statement2_kondisi1_false_kondisi2_true;
       END        
       ELSE statement_kondisi1_false_kondisi2_false;
4.) Switch
       Dipakai pada saat kita ingin memberikan kondisi dengan beberapa syarat yang identik yang masing-masing mempunyai pernyataan yang berbeda-beda. Pada Java, nilai yang dilewatkan pada switch harus bertipe int, short, byte atau char. Sintaks dari switch adalah sebagai berikut:
switch (ekspresi) {
       case nilai1: Pernyataan1; 
       break;
       case nilai2: Pernyataan2;
       break;
       default: Pernyataan3;
       }  
Ketika ekspresi bernilai nilai1, maka alur program akan mengeksekusi pernyataan1. Selanjutnya break menyebabkan alur program keluar dari daerah switch. Kalau ekspresi bernilai nilai2, maka alur program akan mengeksekusi Pernyataan2. Apabila ekspresi mempunya nilai yang tidak sama dengan nilai1 dan nilai2, maka alur program akan menuju ke bagian default dan kemudian mengeksekusiPernyataan3.
BAB II
SOAL PRAKTIKUM
SOAL :
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.
Jawab :
1.  Algoritmanya :
a. Baca nilai sisi A
b. Baca nilai sisi B
c. Sisi C = Sqrt(A^2+B^2)
d. Tampilkan nilai sisi A, Sisi B, Sisi C.
Misalkan akan dilakukan pertukaran isi nilai  A dan nilai  B.  Jika sebelum pertukaran nilai A = 8 dan nilai B = 10, maka setelah pertukaran, nilai A = 10 dan nilai B = 8. Penyelesaian permasalahan diatas adalah melakukan langkah sebagai berikut :
a.    Isikan nilai A ke B  (B←A)
b.      Isikan nilai B ke A  (A←B)
Langkah-langkah diatas tidak akan menghasilkan pertukaran yang benar, karena akan dihasilkan nilai B = 8 dan nilai A = 8. Sehingga langkah-langkah diatas adalah salah, dalam hal ini tidak menyelesaikan permasalahan.
Untuk mempertukarkan kedua nilai, diperlukan sebuah peubah pembantu   sebagai tempat penampungan sementara.  Sehingga langkah-langkah pertukaran adalah sebagai berikut :
a. Simpan nilai A di tempat penampungan C (C←A)
b. Isikan nilai B ke nilai A (A←B)
c.    Isikan nilai C ke nilai B (B←C)

2. Algoritmasoal nomor 2 :
a. Masukkan jumlah uang yang mau dihitung
b. Periksa jumlah uang yang dimasukkan.
c. Inisialisasi jumlah uang.
d. Lakukan perulangan dan pengkondisian sesuai dengan banyak pecahan yang ingin di keluarkan.
e. Lalu output dapat dikeluarkan sesuai kebutuhan.



3. Algoritma soal nomor 3 :
a.    Mulai
b.    Baca desimal
c.    Desimal=desimal div 2
d.    Sisa= desimal mod 2
e.    d= d*2
f.    biner= biner + sisa * d sebelumnya
g.    jika desimal 0 pergi ke 9
h.    pergi ke 3
i.    cetak biner 1056233
j.selesai
4. Algoritmasoal nomor 4 :
     a. Input 4 data : nama, status kerja, masa kerja, usia.
b. Jika pilhan Status kerjanya Staff, masa kerja lebih dari 5 tahun dan umur diatas 50 tahun maka mendapatkan bonus sebesar 1.000.000.
c. Selain umur kurang dari 50 tahun dan statusnya Staff maka mendapatkan bonus 300.000
d. Dan jika staf bekerja kurang dari 5 tahun dan berapapun umurnya mendapatkan bonus 500.000
e. Cek status non staff
f. Jika masa kerja lebih dari 5 tahun dan umur lebih dari 50 tahun maka mendapatkan bonus sebesar 400.000
g. Selain non staf berumur kurang dari 50 tahun mendapatkan bonus 250.000
5. Algoritmansoal nomor 5 :
a. Masukkan Hari dan jumlah baris
b. Jika Hari minggu, senin, selasa,rabu,kamis, jumat
c. Maka total biayanya, jumlah baris dikalikan 33.000
d. Dan jika hari sabtu
e. Maka total biayanya, jumlah baris dikalikan 40.000
f. Output : Total biaya iklan



6.  Algoritmasoal nomor 6 :
a. Masukkan data hari dan jumlah tiket.
b. Jika hari = Senin, Selasa, Rabu, Kamis.
c. Maka Total Biaya Tiket =  jumlah tiket * 15000
d. Jika hari = Jumat, Sabtu, Minggu dan Libur.
e. Maka Total Biaya Tiket = jumlah tiket * 35000
f. Output Total biaya tiket.
7. Algoritmasoal nomor 7 :
a. Masukkan total belanja.
b. Periksa jumlah total belanja.
c. Jika total belanja :
1) Rp 150.000
      maka diskon 10%
2) Rp 275.000
      maka diskon 15%
3)Rp 300.000
      maka diskon 20%
4) Rp 400.000
      maka diskon 25%
d. Hitung nilai diskon = total belanja * diskon
e. Hitung nilai yang harus dibayar = nilai total belanja - nilai diskon.
f. Output: Nilai diskon dan nilai yg harus dibayar.
8. Algoritmasoal nomor 8 :
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 soal nomor 9 :
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. Algoritmasoal nomor 10 :
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,
d.      pemakaian1= 1000.000.Jika nilai pada variabel jml_pemakaian <= 1.000.000
e.       Memberikan nilai pada variabel pemakaian1 dengan,pemakaian1= jml_pemakaian.Atau jika nilai pada variabel jml_pemakaian > 1.000.000, dan nilai
pada 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 nilaipada 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 selamasebulan "+jml_pemakaian+", maka total cash backnya="+cash_back_total.Atau Jika panjang inputan tidak lebih dari 0, atau dengan kata lain userbelum menginputkan value
o.      Cetak output “Ada salah satu masukan yang kosong”
p.      Stop proses



BAB III
FLOWCHART dan PSOUDOCODE

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


2.      Flowchart untuk menampilkan banyaknya pecahan uang paling efisien dari sejumlah uang yang di inputkan oleh pengguna.


3.      Flowchart untuk mengkonversi bilangan dalam format desimal menjadi biner.



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.
Flowchartnya Adalah?


















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





















6.      Flowchart untuk menghitung total biaya tiket.











7.      Buatlah algoritma untuk menghitung berapa nilai yang harus dibayar oleh pelanggan dengan total nilai belanja tertentu bila disertakan pula perhitungan diskonnya.
8. Flowchart untuk menghitung nilai, dan konversi menjadi nilai huruf
 






















9. Flowchart untuk untuk soal nomor 9
10. Flowchart soal nomor 10











BAB IV
KODE SUMBER (SOURCE CODE)

1. Input :

Output :








2. Input :

Output :


3. Input :
Output :



4. Input :
Output :

5. Input :

Output :
6. Input :

Output :
7. Input :
Output :








8. Input :
Output :




9. Input :
Output :
10. Input :
Output :




BAB V
REFERENSI

http://rangerdhemoth.blogspot.com/2011/12/pengertian-netbeans.html
http://id.wikipedia.org/wiki/Eclipse_(perangkat_lunak)
http://oraore.blogspot.com/2012/12/menulis-program-java.html
http://p-dadakan.blogspot.com/2013/08/input-output.html
http://jagocoding.com/tutorial/142/Membuat_Input_Output_Dari_Java
http://content30.wuala.com/rawcontent/BAB%2520II.pdf
http://ns.akakom.ac.id/~badi/kuliah_pemrograman_desktop/BAB%20I%20Pengenalan%20Java%20NetBean.pdf
http://julio.staff.ipb.ac.id/files/2011/12/JENI-Intro1-Bab02-Pengenalan-Bahasa-JAVA.pdf
http://elearning.amikom.ac.id/index.php/download/materi/555146-ST084-8/2011/04/
http://elearning.unej.ac.id/courses/CSI1104/document/praktikum/Praktikum_struktur_kontrol.pdf?cidReq=CSI1104
http://pasca.uns.ac.id/~saptono/komprog/3%20Percabangan.pdf
http://blog.binadarma.ac.id/fatoni/wp-content/uploads/2011/10/bab1.doc