PENYELESAIAN
TUGAS
DASPRO
MODUL 2
Disusun
oleh :
Yoko Afuqu
Suradinata
135623032
D3
manajemen informatika 2013
Universitas
Negeri Surabaya
1. DASAR TEORI
a.
Netbeans
Net Beans adalah
suatu tool untuk membuat program dengan menggunakanbahasa pemrograman Java
berbasis grafis. Cara membuat program dengan merancangtampilan menggunakan
komponent visual dan proses diletakan pada event driven. Netbeans menyediakan
sekumpulan perangkat lunak modular yang disebut modul yangdipakai untuk
membangun suatu aplikasi. Sebuah modul adalah merupakan arsip Java(Java
Archive) yang memuat kelas-kelas Java yang berinteraksi dengan NetBeansOpenAPI
. Kemudian rancangan tampilan yang dibuat menggunakan NetBens programnyasecara
otomatis akan digenerate menjadi kode.
b. Eclipse
Eclipse adalah
sebuah IDE untuk mengembangkan perangkat lunak dandapat dijalankan di semua
platform (platform-independent). Berikut ini adalah sifat dari
Eclipse:
1) Multi-platform: Target sistem operasi Eclipse
adalah MicrosoftWindows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
2) Multi-language: Eclipse dikembangkan dengan
bahasa pemrogramanJava, akan tetapi Eclipse mendukung pengembangan aplikasi
berbasisbahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP,dan
lain sebagainya.
3) Multi-role: Selain sebagai IDE untuk
pengembangan aplikasi, Eclipsepun bisa digunakan untuk aktivitas dalam siklus
pengembanganperangkat lunak, seperti dokumentasi, test perangkat
lunak,pengembangan web, dan lain sebagainya.Eclipse pada saat ini merupakan salah
satu IDE favorit dikarenakangratis dan open source, yang berarti setiap orang
boleh melihat kodepemrograman perangkat lunak ini. Selain itu, kelebihan dari
Eclipse yangmembuatnya populer adalah kemampuannya untuk dapat dikembangkanoleh
pengguna dengan komponen yang dinamakan plug-in.
c. Penulisan Program di Java, Input,
Output
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.
d.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
xo : 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
e. Tingkatan Operator
Java memiliki 44
operator, yang terbagi dalam 4 jenis dasar, yaitu operator aritmatik,
bitwise, relasi, dan logika.
f. 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 mengeksekusi Pernyataan3.
II.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.
- 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)
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)
33.000,-
- Jumlah baris yang dipakai
- 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
Pemakaian I
( < 50 m3
Pemakaian II
( 51 – 150 ) Rp. 500,-
Pemakaian
III ( 151 – 300 ) Rp. 1.000,-
Pemakaian I
V( > 300 m3
Input :
Jumlah Pemakaian
Output:
Besar biaya yang harus dibayar
Jumlah
Pemakaian = 500 m3
Pemakaian I
( s/d 50 m3
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
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 :
) Harga/m3
) Rp. 200,-
) Rp.1.500,-
) Rp. 200,-
* 50 = Rp. 10.000,-
) Rp.1.500,- * 200 = Rp. 300.000,-
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
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
Memberikan
nilai pada variabel pemakaian1 dengan,pemakaian1= e.
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
Memberikan
nilai pada variabel cash_back_total m.
dengan,cash_back_total=(pemakaian1*5/100)+(pemakaian2*6/100)+(pemakaian3*7/
100)+(pemakaian4*8/10)
Cetak output
dengan format, "Seorang nasabah yang total n.
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
III.
FLOWCHART
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
IV. SOURCE
CODE & OUTPUT PROGRAM
1. Source
Code dari soal nomor 1
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)));
}
}
Output :
2. Source
Code Soal Nomor 2
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);
}
}
Output
Program :
package
tgas2;
3. Source
Code Soal Nomor 3
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');
}
}
Output
Program :
4. Source
Code soal nomor 4
package
tgas2;
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");
}
}
}
Output
Program :
5. Source
Code soal nomor 5
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
");
}
}
}
Output Program
:
6. Source
Code soal nomor 6
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);
}
}
}
Output
Program
7. Sorce
Code soal nomor 7
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.1;
bayar=total-diskon;
System.out.print("DisC
= "+diskon);
System.out.print("\nYang
harus dibayar = "+bayar);
}
else if(total<300000){
diskon=
total * 0.15;
bayar=total-diskon;
System.out.print("DisC
= "+diskon);
System.out.print("\nYang
harus dibayar = "+bayar);
}
else
if(total<400000){
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);
}
}
}
Output
Program
8. Source
Code soal nomor 8
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");
}
}
}
Output
Program
9. Source
Code soal nomor 9
package
tgas2;
import
java.util.*;
/**
*
* @author jauhar
*/
public class
NUM9 {
public static void main(String[] args) {
Scanner pemakaian = new Scanner(System.in);
double air;
System.out.print("Jumlah Pemakaian :
");
air = pemakaian.nextInt();
if (air < 0){
System.out.print("Biaya total :
"+air*0);
}
else if (air <= 50){
System.out.print("Biaya
total : "+air*200);
}
else if (air
<= 150){
System.out.print("Biaya
total : "+((50*200)+((air-50)*500)));
}
else if (air <= 300){
System.out.print("Biaya
total : "+((50*200)+(100*500)+((air-150)*1000)));
}
else {
System.out.print("Biaya
total : "+((50*200)+(100*500)+(150 * 1000)+((air-300)
*1500)));
}
}
}
Output
Program
10. Source
Code soal nomor 10
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;
}
}
}
Output
Program
DAFTAR
PUSTAKA
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