Senin, 28 Oktober 2013

modul2



PRAKTIKUM DASAR PEMROGRAMAN
TUGAS 1
                                       

Oleh  :
Intan Fitria P.
NIM : 135623021

D3 MANAJEMEN INFORMATIKA
JURUSAN TEKNIK ELEKTRO – FAKULTAS TEKNIK
UNIVERSITAS NEGERI SURABAYA
2013





Dasar Teori
Eclipse
 sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse:
  • Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
  • Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.
  • Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.
Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in.
NetBeans
mengacu pada dua hal, yakni platform untuk pengembangan aplikasi desktop java, dan sebuah Integrated Development Environment (IDE) yang dibangun menggunakan platform NetBeans. Platform NetBeans memungkinkan aplikasi dibangun dari sekumpulan komponen perangkat lunak moduler yang disebut ‘modul’. Sebuah modul adalah suatu arsip Java (Java archive) yang memuat kelas-kelas Java untuk berinetraksi dengan NetBeans Open API dan file manifestasi yang mengidentifikasinya sebagai modul. Aplikasi yang dibangun dengan modul-modul dapat dikembangkan dengan menambahkan modulmodul baru. Karena modul dapat dikembangkan secara independen, aplikasi berbasis platform NetBeans dapat dengan mudah dikembangkan oleh pihak ketiga secara mudah dan powerful.
Pengembangan NetBeans diawali dari Xelfi, sebuah proyek mahasiswa tahun 1997 di bawah bimbingan Fakultas Matematika dan Fisika Universitas Charles, Praha. Sebuah perusahaan kemudian dibentuk untuk proyek tersebut dan menghasilkan versi komersial NetBeans IDE hingga kemudian dibeli oleh Sun Microsystem pada tahun 1999. Sun kemudian menjadikan NetBeans open source pada bulan Juni tahun 2000. Sejak itu komunitas NetBeans terus berkembang.

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

Output dan Input
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);
}
}
hasil dari program saat di RUN :
run:
Masukkan Angka : 10
Hasil :10
BUILD SUCCESSFUL (total time: 5 seconds)
Dalam input data sebenarnya ada beberapa jenis tipe data, dan dalam contoh program diatas penulis menggunakan input data bertipe integer(nextInt). Dibawah ini ada bebrapa jenis input data, yaitu sebagai berikut:
  1. nextString      :  untuk input tipe data string
  2. nextBoolean  :  untuk tipe boolean (benar atau salah)
  3. nextShort       :  input tipe data short integer
  4. nextLong        :  input tipe data long integer
  5. nextFloat        :  input tipe data float
  6. nextdouble    : input tipe data double
Operator
Assignment
Assignment Operator
Assignment operator digunakan untuk memberi/mengisi nilai ke dalam variabel tertentu. Contoh sederhana : $nama = "indarzah";
Pada contoh di atas, operator "=" digunakan untuk mengisi nilai "indarzah" ke dalam variabel nama.
Selain operator "=", ada beberapa assignment operator yang lainnya, seperti dapat dilihat pada penjelasan berikut :
Operator +=
Penjelasan :Menambahkan nilai pada variabel
Contoh : $a += 3;
sama dengan $a = $a + 3;
Operator -=
Perbandingan
Operator perbandingan berguna untuk membandingkan dua nilai atau lebih, atau bisa juga digunakan untuk membandingkan nilai antar variabel, dimana hasil perbandingan tersebut akan menghasilkan nilai true atau false. Nilai variabel atau nilai yang dibandingkan pada kondisi if atau statement condition ini disebut dengan operand. Operator perbandingan yang digunakan dalam pernyataan-pernyataan logis untuk menentukan kesetaraan atau perbedaan antara variabel atau nilai.
.== : memeriksa apakah operand kanan bernilai sama dengan operand kiri
.> : memeriksa apakah operand kiri bernilai lebih besar daripada operand kanan
< : memeriksa apakah operand kiri bernilai lebih kecil dengan operand kanan
>= : memeriksa apakah operand kiri bernilai lebih besar atau sama dengan operand kanan 
<= : memeriksa apakah operand kiri bernilai lebih kecil atau sama dengan operand kanan 
!= : memeriksa apakah operand kanan tidak bernilai sama dengan operand kiri
Matematika
Arithmetic Operator
digunakan untuk melakukan perhitungan matematika. Misalnya $a = 5 + 3;
Operator "+" berfungsi untuk menambahkan kedua operand (5 dan 3).
Ada beberapa arithmetic operator, yaitu : + : penjumlahan , -: pengurangan , * : perkalian, / : pembagian dan % : nilai sisa pembagian
Logika
Logical operation
berasal dari kata Yunani kuno λόγος (logos) yang berarti hasil pertimbangan akal pikiran yang diutarakan lewat kata dan dinyatakan dalam bahasa. Logika adalah salah satu cabang filsafat.
Sebagai ilmu, logika disebut dengan logike episteme (Latin: logica scientia) atau ilmu logika (ilmu pengetahuan) yang mempelajari kecakapan untuk berpikir secara lurus, tepat, dan teratur[1].
Adalah Operator yang digunakan untuk menggabungkan dua kalimat sehingga terbentuk kalimat gabungan. Nilai kebenaran kalimat gabungan ini ditentukan oleh nilai kebenaran dari kalimat-kalimat pembentuknya. Operator logika di sini bertindak sebagai fungsi.
Dan dalam kehidupan sehari hari dapat diambil contoh konjungsi magnetik misalnya:
A: Hari ini cuaca mendung
B: Hari ini akan hujan
C: Hari ini cuaca mendung dan hari ini akan hujan
D: Hari ini cuaca mendung karena itu hari ini akan hujan

Ilmu di sini mengacu pada kemampuan rasional untuk mengetahui dan kecakapan mengacu pada kesanggupan akal budi untuk mewujudkan pengetahuan ke dalam tindakan. Kata logis yang dipergunakan tersebut bisa juga diartikan dengan masuk akal.

Operator Aritmatika


Digunakan untuk mengoperasikan data-data numerik, seperti penjumlahan, pengurangan, perkalian, pembagian, dll. Dalam proses aritmatika tersebut, pengerjaan operasi tergantung dari tingkat valensi operator-operator yang terlibat. Perpangkatan memiliki valensi tertinggi, kemudian dilanjutkan dengan perkalian, pembagian, pembagian bulat dan sisa pembagian, sedangkan penjumlahan dan pengurangan mempunyai valensi yang terendah.


^ : Pangkat

* : Perkalian

/ : Pembagian real

\ : Pembagian integer

+ : Penjumlahan

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

PRAKTIKUM DASAR PEMROGRAMAN


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

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

3.       Buat algoritma untuk mengkonversi bilangan dalam format desimal menjadi biner.
Input             : bilangan desimal
Output         : bilangan biner
Ilustrasi:


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

Buat algoritmanya?

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

Tuliskan algoritma untuk kasus diatas dalam bentuk flowchart.

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

Pertanyaan: Buat algoritma untuk menghitung total biaya tiket .

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

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

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

Input     : Jumlah Pemakaian
Output : Besar biaya yang harus dibayar

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

Pertanyaan: Buat algoritma untuk kasus diatas.

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

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

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

Flowchart dan Pseodocode
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)

8.      flowchart
9.      flowchart
10.  flowchart



















Kode Sumber (Source Code) beserta Outputnya

1.
package tgas2;
import java.util.*;
/**
 *
 * @author pc
 */
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)));
    }
}
 




































2.       
package tgas2;
import java.util.*;
/**
 *
 * @author pc
 */
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 
       uang = uang % 50000; 
       if ((uang >= 20000) && (uang <50000)) 
       { 
           bil1 = uang / 20000; 
           System.out.println("Diperlukan "  + bil1 +" lembar 20000"); 
       } 
 
       // antara 10000-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"); 
       } 
 
       // antara 1000-2000 
       uang = uang % 2000; 
       if ((uang >= 1000) && (uang <2000)) 
       { 
           bil1 = uang / 1000; 
           System.out.println("Diperlukan "  + bil1 +" lembar 1000"); 
       } 
 
       // antara 500-1000 
       uang = uang % 1000; 
       if ((uang >= 500) && (uang <1000)) 
       { 
           bil1 = uang / 500; 
           System.out.println("Diperlukan "  + bil1 +" koin 500"); 
       } 
 
       // antara 200-500 
       uang = uang % 500; 
       if ((uang >= 200) && (uang <500)) 
       { 
          bil1 = uang / 200; 
          System.out.println ("Diperlukan "  + bil1 +" koin 200"); 
       } 
 
       // antara 100-200 
       uang = uang % 200; 
       if ((uang >= 100) && (uang <200)) 
       { 
          bil1 = uang / 100; 
          System.out.println ("Diperlukan "  + bil1 +" koin 200"); 
       } 
            
     } 
   }while(uang!=0); 
  }

}
 
















































           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"); 
       } 
 
       // antara 500-1000 
       uang = uang % 1000; 
       if ((uang >= 500) && (uang <1000)) 
       { 
           bil1 = uang / 500; 
           System.out.println("Diperlukan "  + bil1 +" koin 500"); 
       } 
 
       // antara 200-500 
       uang = uang % 500; 
       if ((uang >= 200) && (uang <500)) 
       { 
          bil1 = uang / 200; 
          System.out.println ("Diperlukan "  + bil1 +" koin 200"); 
       } 
 
       // antara 100-200 
       uang = uang % 200; 
       if ((uang >= 100) && (uang <200)) 
       { 
          bil1 = uang / 100; 
          System.out.println ("Diperlukan "  + bil1 +" koin 200"); 
       } 
            
     } 
   }while(uang!=0); 
  }

}
       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);
}
}
 



































3.        
package tgas2;
import java.util.*;
import java.io.*;
 /**
 *
 * @author pc
 */
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');
}
}

 






















                                                           

4.        
                                  
output
5.           
6.
                             

7.











8.
package tgas2;
import java.util.*;
/**
 *
 * @author pc
 */
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 > 40 && nilai <=50){
            System.out.println("Nilai anda adalah D");
        }
        else if (nilai > 0 && nilai <=40){
            System.out.println("Nilai anda adalah E");
        }
    }
}
 




























        }
        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");
        }
    }
}

 
                                                                                                                                                 














                                 









9.
                           




10.
Referensi

http://agungbudisantoso24.wordpress.com/2012/02/06/statementi-input-dan-output-pada-java/
http://id.wikipedia.org/wiki/Logika
http://algoritmamayang.blogspot.com/2011/01/operator.html