TUGAS PRAKTIKUM MODUL 2
DASAR PEMOGRAMAN
Oleh: Twinda
Asta Nurrohma
NIM:
135623034
PRODI D3
MANAJEMEN INFORMATIKA
JURUSAN
TEKNIK ELEKTRO
FAKULTAS
TEKNIK
UNIVERSITAS
NEGERI SURABAYA
2013
I.Dasar
Teori
1.1
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
menyediakan sekumpulan perangkat lunak modular yang disebut modul yang dipakai
untuk membangun suatu aplikasi. Sebuah modul adalah merupakan arsip Java(Java
Archive) yang memuat kelas-kelas Java yang berinteraksi dengan NetBeans OpenAPI
. Kemudian rancangan tampilan yang dibuat menggunakan NetBens programnyasecara
otomatis akan digenerate menjadi kode.
b.Eclipse
Eclipse
adalah sebuah IDE untuk mengembangkan perangkat lunak dan dapat 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 kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari
Eclipse yang membuatnya populer adalah kemampuannya untuk dapat
dikembangkanoleh pengguna dengan komponen yang dinamakan plug-in.
1.2 Penulisan Program di Java, Input, Output.
Gambar
dibawah ini menjelaskan aliran proses kompilasi dan eksekusi sebuah program 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.
1.3 Operator: Assigment, Matematika,
Perbandingan, Logika
1. Assignment
Adalah
operator yang menggunakan tanda sama dengan (=) untuk mengisi sebuah nilai
dalam suatu variable.
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
1.4 Tingkatan Operator
Java
memiliki 44 operator, yang terbagi dalam 4 jenis dasar, yaitu operator
aritmatik, bitwise, relasi, dan logika.
1.5 Percabangan (if, if....else, if...elseif....,
switch)
a. IF
IF
sederhana merupakan kombinasi antara IF – THEN, hanya mengakomodasialternative
kondisi bernilai TRUE saja.
Syntax
dari IF sederhana:
IF
kondisi THEN statement_true;
IF
kondisi THEN
BEGIN
Statement1_true;
Statement2_true;
END;
b. 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 menggantia:=FALSE, maka statement
setelah IF a THEN … -lah yang tidak akandilaksanakan. Sebenarnya kedua
IFsederhana 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
duaalternativejawaban. 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 rumuspythagoras,
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
‘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%
1
0.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.
III.
FLOWCHART ATAU PSOUDOCODE
SOAL NO.1
Algoritma:
a. Tentukan
nilai a, b
b. Hitung
C =
c. Tampilkan
C
Psoudocode
a. Input
(a,b)
b. C
ß
c. Output
(c)
Flowchart
SOAL
NO.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
SOAL NO.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
SOAL NO.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
SOAL NO.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
SOAL NO.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
SOAL NO.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)
SOAL NO.8
Algoritma
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
Psoudecode
SOAL NO.9
Algoritma
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
SOAL NO.10
Algoritma
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.000Memberikan
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
IV. SOURCE CODE &
OUTPUT PROGRAM
SOAL NO.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
Menghitung
panjang sisi miring segitiga siku-siku
Masukan
nilai sisi 1 = 3
Masukan
nilai sisi 2 = 4
Panjang
sisi miring segitiga siku-siku adalah 5,0
SOAL NO.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
masukan
jumlsh uang = 5000
diperlukan
1 lembar 5000
SOAL NO.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
Masukan
bilangan decimal 254
Konverensi
bil. Biner adalah 11111110
SOAL NO.4
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");
}
}
}
SOAL NO.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
");
}
}
}
SOAL NO.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);
}
}
}
SOAL NO.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.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);
}
}
}
SOAL NO.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");
}
SOAL NO.9
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");
}
SOAL NO.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;
}
}
}
V. Referensi