You are on page 1of 20

JAWABAN LATIHAN SOAL

PEMROGRAMAN 5 (JAVA)

Oleh:
BANI ADAM SETIADI
101101006
TEKNIK INFORMATIKA

STMIK WIT CIREBON


2013/2014

Bani Adam Setiadi | 101101006 | baniadamsetiadi@yahoo.com

Latihan 1.1
Kode Program
/*
* Hitung Luas Lingkaran
* Bani Adam Setiadi
*/
package latihan_soal;
import java.util.Scanner;
import java.text.DecimalFormat;
import java.util.InputMismatchException;
/**
*
* @author BaniAdams
*/
public class Soal_101 {
private static boolean awal = true;
public static void main(String[]args){
Scanner input = new Scanner(System.in);
double phi = 3.14;
double r = 0,l,k;
if(awal){
System.out.println("++++++++++++++++++++++++++++++++++++
+");
System.out.println("++
Menghitung Luas Lingaran
+
+");
System.out.println("++++++++++++++++++++++++++++++++++++
+");
}
try{
do{
System.out.print("\nMasukkan jari-jari lingkaran
(cm): ");
r = input.nextDouble();
}while(r<1);
if (r%7==0){
l = 22 * r * r / 7;
k = 22 * r * 2 / 7;
} else {
l = (phi * r * r);
k = phi * r * 2;
}
DecimalFormat df = new DecimalFormat("#.##");
System.out.println("\n------------------------------------------\n
");
System.out.println("Luas Lingkaran\t\t: " +
df.format(l) + " cm^2");
System.out.println("Keliling Lingkaran\t: " +
df.format(k) + " cm^2");
System.out.println("\n==========================================")

Bani Adam Setiadi | 101101006 | baniadamsetiadi@yahoo.com

;
System.out.println("\tBani Adam Setiadi | 101101006");
} catch(InputMismatchException e){
System.out.println("\nINPUT SALAH!!!");
System.out.println("\nPastikan penggunaan tanda koma
sesuai dengan pengaturan\nregional setting komputer Anda.");
awal=false;
main(null);
}
}
}

Keluaran Program
+++++++++++++++++++++++++++++++++++++
++
Menghitung Luas Lingaran
++
+++++++++++++++++++++++++++++++++++++
Masukkan jari-jari lingkaran (cm): 5.5
INPUT SALAH!!!
Pastikan penggunaan tanda koma sesuai dengan pengaturan
regional setting komputer Anda.
Masukkan jari-jari lingkaran (cm): 5,5
-----------------------------------------Luas Lingkaran
Keliling Lingkaran

:
:

94,98 cm^2
34,54 cm^2

==========================================
Bani Adam Setiadi | 101101006
BUILD SUCCESSFUL (total time: 14 seconds)

Bani Adam Setiadi | 101101006 | baniadamsetiadi@yahoo.com

Latihan 1.2
Kode Program
/*
* Konversi nilai rupiah terhadap dolar amerika dan eropa
* Bani Adam Setiadi | 101101006
*/
package latihan_soal;
import java.util.Scanner;
/**
*
* @author BaniAdams
*/
public class Soal_102 {
public static void main(String[]args){
System.out.println("++++++++++++++++++++++++++++++++++++
+");
System.out.println("++
Konversi IDR ke USD dan EUR
+
+");
System.out.println("++++++++++++++++++++++++++++++++++++
+\n");
Scanner masukan = new Scanner(System.in);
System.out.print("Masukkan Nilai Rupiah (IDR):\t");
int idr = masukan.nextInt();
int usd = idr / 11906;
int eur = idr / 16260;
System.out.println("\nNilai " + idr + " rupiah memiliki
nilai tukar:\n(Pembulatan kebawah)\n");
System.out.println("US DOLLAR (USD) = " + usd);
System.out.println("EUROPE (EUR) = " + eur);
}
}

Keluaran Program
+++++++++++++++++++++++++++++++++++++
++
Konversi IDR ke USD dan EUR
++
+++++++++++++++++++++++++++++++++++++
Masukkan Nilai Rupiah (IDR):

1000000

Nilai 1000000 rupiah memiliki nilai tukar:


(Pembulatan kebawah)
US DOLLAR (USD) = 83
EUROPE (EUR) = 61

Bani Adam Setiadi | 101101006 | baniadamsetiadi@yahoo.com

Latihan 2.1
Kode Program
/*
* Program untuk menentukan kriteria kegemukan dengan menggunakan
Iindeks Massa Tubuh (IMT)
* Bani Adam Setiadi | 101101006
*/
package latihan_soal;
import java.util.Scanner;
import java.text.DecimalFormat;
/**
*
* @author BaniAdams
*/
public class Soal_201 {
public static void main(String[]args){
System.out.println("++++++++++++++++++++++++++++++++++++
+");
System.out.println("++
INDEKS MASSA TUBUH (IMT)
+
+");
System.out.println("++++++++++++++++++++++++++++++++++++
+\n");
Scanner masukan = new Scanner(System.in);
System.out.print("Tinggi Badan: ");
float tb = masukan.nextInt();
System.out.print("Berat Badan: ");
float bb = masukan.nextInt();
float imt = bb / ((tb/100) * (tb/100));
String str;
DecimalFormat df = new DecimalFormat("#.##");
if (imt <= 18.5){
str = "Kurus";
} else if (imt <= 25){
str = "Normal";
} else if (imt <= 30){
str = "Gemuk";
} else {
str = "Kegemukan (Obesitas)";
}
System.out.println("\nIMT = " + df.format(imt));
System.out.println("Kriteria: " + str);
System.out.println("\n==========================================")
;
System.out.println("
Bani Adam Setiadi | 101101006");
}
}

Keluaran Program
+++++++++++++++++++++++++++++++++++++

Bani Adam Setiadi | 101101006 | baniadamsetiadi@yahoo.com

++
INDEKS MASSA TUBUH (IMT)
++
+++++++++++++++++++++++++++++++++++++
Tinggi Badan: 165
Berat Badan: 55
IMT = 20,2
Kriteria: Normal
==========================================
Bani Adam Setiadi | 101101006

Bani Adam Setiadi | 101101006 | baniadamsetiadi@yahoo.com

Latihan 2.2
Kode Program
/*
* Program untuk menentukan kriteria kegemukan dengan menggunakan
Iindeks Massa Tubuh (IMT)
* Bani Adam Setiadi | 101101006
*/
package latihan_soal;
import java.util.Scanner;
import java.text.DecimalFormat;
/**
*
* @author BaniAdams
*/
public class Soal_201 {
public static void main(String[]args){
System.out.println("++++++++++++++++++++++++++++++++++++
+");
System.out.println("++
INDEKS MASSA TUBUH (IMT)
+
+");
System.out.println("++++++++++++++++++++++++++++++++++++
+\n");
Scanner masukan = new Scanner(System.in);
System.out.print("Tinggi Badan: ");
float tb = masukan.nextInt();
System.out.print("Berat Badan: ");
float bb = masukan.nextInt();
float imt = bb / ((tb/100) * (tb/100));
String str;
DecimalFormat df = new DecimalFormat("#.##");
if (imt <= 18.5){
str = "Kurus";
} else if (imt <= 25){
str = "Normal";
} else if (imt <= 30){
str = "Gemuk";
} else {
str = "Kegemukan (Obesitas)";
}
System.out.println("\nIMT = " + df.format(imt));
System.out.println("Kriteria: " + str);
System.out.println("\n==========================================")
;
System.out.println("
Bani Adam Setiadi | 101101006");
}
}

Keluaran Program

Kurang Dari 50 Jam:


7

Bani Adam Setiadi | 101101006 | baniadamsetiadi@yahoo.com

+++++++++++++++++++++++++++++++++++++
++
HITUNG GAJI KARYAWAN
++
+++++++++++++++++++++++++++++++++++++
Jumlah jam kerja dalam seminggu: 45
Total Gaji:

Rp212.500,00

50 s/d 60 Jam:
+++++++++++++++++++++++++++++++++++++
++
HITUNG GAJI KARYAWAN
++
+++++++++++++++++++++++++++++++++++++
Jumlah jam kerja dalam seminggu: 55
Total Gaji:

Rp275.000,00

Lebih Dari 60 Jam:


+++++++++++++++++++++++++++++++++++++
++
HITUNG GAJI KARYAWAN
++
+++++++++++++++++++++++++++++++++++++
Jumlah jam kerja dalam seminggu: 70
Total Gaji:

Rp375.000,00

Bani Adam Setiadi | 101101006 | baniadamsetiadi@yahoo.com

Latihan 2.2
Kode Program
/*
* Program menentuan kuadran dari suatu titik koordinat
* Bani Adam Setiadi | 10110106
*/
package latihan_soal;
import java.util.Scanner;
/**
*
* @author user-pc
*/
public class Soal_203 {
public static void main(String[]args){
Scanner masukan = new Scanner(System.in);
System.out.println("++++++++++++++++++++++++++++++++++++
+");
System.out.println("++
CARI KUADRAN
+
+");
System.out.println("++++++++++++++++++++++++++++++++++++
+\n");
System.out.print("x = ");
int x = masukan.nextInt();
System.out.print("y = ");
int y = masukan.nextInt();
byte kuadran;
if (x>0 && y>0) {
kuadran = 1;
} else if (x>0 && y<0){
kuadran = 2;
} else if (x<0 && y<0){
kuadran = 3;
} else if (x<0 && y>0) {
kuadran = 4;
} else {
kuadran = 0;
}
System.out.println("\nHasil >>>\n");
switch(kuadran){
case 0:
String bas;
if (x==0 && y>0)
bas = "Berada di antara Kuadran 1 dan 4.";
else if (x==0 && y<0)
bas = "Berada di antara Kuadran 2 dan 3.";
else if (x>0 && y==0)
bas = "Berada di antara Kuadran 1 dan 2.";
else if (x<0 && y==0)
bas = "Berada d antara Kuadran 2 dan 4.";
else

Bani Adam Setiadi | 101101006 | baniadamsetiadi@yahoo.com

bas = "Titik Tengah";


System.out.println(bas);
break;
case 1:
System.out.println("
|");
System.out.println("
| I");
System.out.println("
|");
System.out.println("------|-------");
System.out.println("
|");
System.out.println("
|");
System.out.println("
|");
System.out.println("\nKoordinat(" + x + "," + y + ")
berada di kuadran " + kuadran);
break;
case 2:
System.out.println("
|");
System.out.println("
|");
System.out.println("
|");
System.out.println("------|-------");
System.out.println("
|");
System.out.println("
| II");
System.out.println("
|");
System.out.println("\nKoordinat(" + x + "," + y + ")
berada di kuadran " + kuadran);
break;
case 3:
System.out.println("
|");
System.out.println("
|");
System.out.println("
|");
System.out.println("------|-------");
System.out.println("
|");
System.out.println(" III |");
System.out.println("
|");
System.out.println("\nKoordinat(" + x + "," + y + ")
berada di kuadran " + kuadran);
break;
case 4:
System.out.println("
|");
System.out.println(" IV |");
System.out.println("
|");
System.out.println("------|-------");
System.out.println("
|");
System.out.println("
|");
System.out.println("
|");
System.out.println("\nKoordinat(" + x + "," + y + ")
berada di kuadran " + kuadran);
break;
}
}
}

10

Bani Adam Setiadi | 101101006 | baniadamsetiadi@yahoo.com

Keluaran Program
+++++++++++++++++++++++++++++++++++++
++
CARI KUADRAN
++
+++++++++++++++++++++++++++++++++++++
x = 1
y = -1
Hasil >>>
|
|
|
------|------|
| II
|
Koordinat(1,-1) berada di kuadran 2

Latihan 3.1
Kode Program
/*
* Program untuk menghitung besar angsuran hutang.
* Bani Adam Setiadi | 101101006.
*/
package latihan_soal;
import java.util.Scanner;
import java.text.NumberFormat;
import java.util.Locale;
/**
*
* @author BaniAdams
*/
public class Soal_301 {
public static void main(String[]args){
Scanner masukan = new Scanner(System.in);
System.out.println("++++++++++++++++++++++++++++++++++++
+");
System.out.println("++
HITUNG ANGSURAN
+
+");
System.out.println("++++++++++++++++++++++++++++++++++++
+\n");
System.out.print("Jumlah Hutang : ");
float hutang = masukan.nextInt();
System.out.print("Lama angsuran (bulan): ");
int lama = masukan.nextInt();
System.out.print("Bunga (1-10)% : ");

11

Bani Adam Setiadi | 101101006 | baniadamsetiadi@yahoo.com

byte sukuBunga = masukan.nextByte();


//NumberFormat ff = new NumberFormat("#.##");
float bunga,bayar,totalBayar=0;
int angsuran;
angsuran = (int) hutang / lama;
NumberFormat formatUang =
NumberFormat.getCurrencyInstance(new Locale("in","ID"));
String rpBayar;
for (int i=1;i<=lama;i++){
if (hutang > 0){
bunga = (float) (0.01 * sukuBunga * hutang);
bayar = angsuran + bunga;
totalBayar += bayar;
rpBayar = formatUang.format(bayar);
hutang -= bayar;
System.out.println("\nPembayaran Bulan ke-" + i);
System.out.println("Jumlah Bayar: " + rpBayar);
} else {
break;
}
}
System.out.println("\nTotal bayar: "+
formatUang.format(totalBayar));

}
}

Keluaran Program
+++++++++++++++++++++++++++++++++++++
++
HITUNG ANGSURAN
++
+++++++++++++++++++++++++++++++++++++
Jumlah Hutang : 5000000
Lama angsuran (bulan): 12
Bunga (1-10)% : 2
Pembayaran Bulan ke-1
Jumlah Bayar: Rp516.666,00
Pembayaran Bulan ke-2
Jumlah Bayar: Rp506.332,69
Pembayaran Bulan ke-3
Jumlah Bayar: Rp496.206,03
Pembayaran Bulan ke-4
Jumlah Bayar: Rp486.281,91
Pembayaran Bulan ke-5
Jumlah Bayar: Rp476.556,25
Pembayaran Bulan ke-6

12

Bani Adam Setiadi | 101101006 | baniadamsetiadi@yahoo.com

Jumlah Bayar: Rp467.025,12


Pembayaran Bulan ke-7
Jumlah Bayar: Rp457.684,62
Pembayaran Bulan ke-8
Jumlah Bayar: Rp448.530,94
Pembayaran Bulan ke-9
Jumlah Bayar: Rp439.560,31
Pembayaran Bulan ke-10
Jumlah Bayar: Rp430.769,12
Pembayaran Bulan ke-11
Jumlah Bayar: Rp422.153,75
Total bayar: Rp5.147.767,00

13

Bani Adam Setiadi | 101101006 | baniadamsetiadi@yahoo.com

Latihan 3.2
Kode Program
/*
* Konversi bilangan desimal ke bilangan romawi
* Bani Adam Setiadi | 101101006.
*/
package latihan_soal;
import java.util.Scanner;
/**
* @author BaniAdams
*/
public class Soal_302 {
public static void main(String[]args){
Scanner masukan = new Scanner(System.in);
System.out.println("++++++++++++++++++++++++++++++++++++
+");
System.out.println("++
Bilangan Bulat > Romawi
+
+");
System.out.println("++++++++++++++++++++++++++++++++++++
+\n");
int bil = 0;
do {
System.out.append("Masukkan Bilangan (1 - 3000): ");
try{
bil = masukan.nextInt();
} catch(Exception e) {
masukan.nextLine();
}
} while(bil > 3000 || bil<=0);
String rom = "";
do {
if (bil>=1000){
rom+="M";
bil=bil-1000;
}
else if (bil>=900){
rom+="CM";
bil=bil-900;
}
else if (bil>=500)
{
rom+="D";
bil=bil-500;}
else if (bil>=400)
{
rom+="CD";
bil=bil-400;}
else if (bil>=100)
{

14

Bani Adam Setiadi | 101101006 | baniadamsetiadi@yahoo.com

rom+="C";
bil=bil-100;}
else if (bil>=90)
{
rom+="XC";
bil=bil-90;}
else if (bil>=50)
{
rom+="L";
bil=bil-50;}
else if (bil>=40)
{
rom+="XL";
bil=bil-40;}
else if (bil>=10)
{
rom+="X";
bil=bil-10;}
else if (bil>=9)
{
rom+="IX";
bil=bil-9;}
else if (bil>=5)
{
rom+="V";
bil=bil-5;}
else if (bil>=4)
{
rom+="IV";
bil=bil-4;}
else if (bil>=1)
{
rom+="I";
bil=bil-1;
}
}while(bil>0);
//rom+="";
System.out.println("Bilangan romawinya : "+rom);
}
}

Keluaran Program
+++++++++++++++++++++++++++++++++++++
++
Bilangan Bulat > Romawi
++
+++++++++++++++++++++++++++++++++++++
Masukkan Bilangan (1 - 3000): 2013
Bilangan romawinya : MMXIII

15

Bani Adam Setiadi | 101101006 | baniadamsetiadi@yahoo.com

Latihan 3.3
Kode Program
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package latihan_soal;
import java.util.Scanner;
/**
*
* @author BaniAdams
*/
public class Soal_303 {
public static void main(String[]args){
Scanner masukan = new Scanner(System.in);
System.out.println("CETAK BILANGAN PRIMA");
System.out.println("==============================");
System.out.print("Masukkan batas bilangan: ");
int bil = masukan.nextInt();
System.out.println("\nBilangan prima dari 1-"+bil+": ");
boolean prima = true;
for (int a=2;a<=bil;a++){
for(int i=2;i<a;i++){
if((a%i)==0){
prima = false;
break;
} else prima = true;
}
if(prima) System.out.print(a + " ");
}
}
}

Keluaran Program
CETAK BILANGAN PRIMA
==============================
Masukkan batas bilangan: 20
Bilangan prima dari 1-20:
2 3 5 7 11 13 17 19

16

Bani Adam Setiadi | 101101006 | baniadamsetiadi@yahoo.com

Latihan 4.1
Kode Program
package latihan_soal;
import java.util.Scanner;
/**
*
* @author BaniAdams
*/
public class Soal_401 {
static String isPrima(int bil){
boolean prima = true;
String hasil;
for(int i=2;i<bil;i++){
if((bil%i)==0){
prima = false;
break;
}
}
if (prima){
hasil = "Bilangan Prima";
}
else {
hasil = "Bukan Bilangan Prima";
}
return hasil;
}
static void cetakPrima(){
boolean prima = true;
for (int a=2;a<=100;a++){
for(int i=2;i<a;i++){
if((a%i)==0){
prima = false;
break;
} else prima = true;
}
if(prima) System.out.print(a + " ");
}
}
public static void main(String[]args){
Scanner masukan = new Scanner(System.in);
System.out.println("UJI BILANGAN PRIMA");
System.out.println("==============================");
System.out.print("Masukkan bilangan: ");
int bil = masukan.nextInt();
System.out.print("\nKeterangan: ");
System.out.println(isPrima(bil));
System.out.println("\nBilangan prima dari 1 .. 100");
cetakPrima();
}
}

17

Bani Adam Setiadi | 101101006 | baniadamsetiadi@yahoo.com

Keluaran Program
UJI BILANGAN PRIMA
==============================
Masukkan bilangan: 89
Keterangan: Bilangan Prima
Bilangan prima dari 1 .. 100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83
89 97

18

Bani Adam Setiadi | 101101006 | baniadamsetiadi@yahoo.com

Latihan 4.1
Kode Program
/*
* Mencetak bilangan Fibonacci dengan metode rekursif
* baniadamsetiadi@yahoo.com
*/
package latihan_soal;
import java.util.Scanner;
/**
*
* @author BaniAdams
*/
public class Soal_402 {
static int Fibonaci(int bil){
if(bil==0 || bil==1 ){
return bil;
} else {
return Fibonaci(bil-2) + Fibonaci(bil-1);
}
}
public static void main(String[]args){
Scanner masukan = new Scanner(System.in);
System.out.println("BILANGAN FIBONACI");
System.out.println("==============================");
System.out.print("Masukkan jumlah bilangan: ");
int bil = masukan.nextInt();
System.out.println("\nHasil: >>>\n");
for(int i=0;i<=bil;i++){
System.out.print(Fibonaci(i) + " ");
}
}
}

Keluaran Program
BILANGAN FIBONACI
==============================
Masukkan jumlah bilangan: 10
Hasil: >>>
0 1 1 2 3 5 8 13 21 34 55

19

Bani Adam Setiadi | 101101006 | baniadamsetiadi@yahoo.com

Latihan 4.3
Kode Program
/*
* Bilangan Amisabel adalah bilangan yang jumlah faktor-faktornya
sama dengan bilangan itu sendiri.
*/
package latihan_soal;
import java.util.Scanner;
/**
*
* @author BaniAdams
*/
public class Soal_403 {
public static void main(String[]args){
Scanner in = new Scanner(System.in);
System.out.println("BILANGAN AMISABEL");
System.out.println("==============================");
System.out.print("Batas bilangan: ");int bil=in.nextInt();
System.out.println("\nBilangan Amisabel dari 1 sampai
"+bil+" adalah: ");
int jml;
int jmlFaktor = 0;
for(int nr=1; nr<=bil; nr++){
jml = 0;
for(int bas=1; bas<=nr; bas++){
if ((nr%bas)==0){
jml += bas;
jmlFaktor++;
//System.out.println(jml);
}
}
if (nr>1) {jml -= nr;}
if ((jmlFaktor != 2) && (jml==nr)){
System.out.println(nr);
jml = 0;
}
}
}
}

Keluaran Program
BILANGAN AMISABEL
==============================
Batas bilangan: 5000
Bilangan Amisabel dari 1 sampai 5000 adalah:
1
6
28
496

20

You might also like