Anda di halaman 1dari 6

LAPORANTUGAS1

OOP:
1.KonverterSuhu
2.DeretFibonacci

Dosen:SirojulMunir
Nama
NIK

:WatikAdidaya
:0110212042

A. Deskripsi Tugas Konversi Suhu


Tujuan dari tugas ini adalah :
1. Mengetahui hasil konversi suhu dari Celcius maupun Fahrenheit, serta mengetahui bagaimana
cara membuat kode program untuk melakukan konversi sederhana.
2. Mengetahui hasil cetak pertama barisan pertama Fibonacci dan hasil jumlah bilangan tersebut,
serta mengetahui bagaimana cara membuat kode programnya.
Analisa Masalah :
Buatlah program untuk konversi suhu antar Celcius dan Fahrenheit. Program hanya menerima
inputan pada baris pertama 2 karakter yang diberikan : C spasi F atau F spasi C dan baris kedua
berupa nilai yang akan dikonversi ( C F : Celcius ke Fahrenheit, F C : Fahrenheit. Ke Celcius )
Keluaran :
Hasil keluarannya harus berupa hasil konversi dari celcius ke fahrenheit, begitu juga sebaliknya misal
ketika user memasukkan inputan konversi dari Celcius ke Fahrenheit sebesar 100 maka hasil
keluaranya harus 212, begitu juga ketika user memasukkan inputan konversi dari Fahrenheit ke Celcius
sebesar 84 maka hasil keluaranya berupa 28.888888888
Rumus terkait :
Celcius = 32+(9/5)*celcius
Celcius = (5/9)*(Fahrenheit-32)
Ide pemecahan masalah beserta Algoritma :

Pertama buatlah file bernama KonverterSuhu.Java


Mulailah import java.util.Scanner yang berfungsi untuk memasukkan inputan data, kode
program nya : import java.util.Scanner;
Lalu import variable BigDecimal, kode programnya : import java.math.BigDecimal;
Beri nama class nya KonverterSuhu, kode programnya : public class KonverterSuhu
Tentukan main nya berupa Public static void, kode programnya : public static void
main(String[] arg)
Tentukanlah nilai perbandingan serta jenis variable nya untuk Celcius,Reamur, dan Fahrenheit,
yaitu gunakan BigDecimal sebagai variable dan dan nilai perbandingnya a = 5, b = 9, c = 32.
kode programnya :
BigDecimal a = new BigDecimal(String.valueOf(5));
BigDecimal b = new BigDecimal(9);
BigDecimal c = new BigDecimal(32);
Masukan fungsi untuk memasukan inputan berupa Scanner, kode programnya : Scanner sc =
new Scanner(System.in);
Buat variable String untuk method Konversi C ke F maupun F ke C, Output yang diharapkan
keluar adalah Konversi : lalu user diminta untuk memasukan inputan konversi C (spasi) F

atau F (spasi) C, kode programnya :


String konv;
java.util.Scanner scan = new java.util.Scanner(System.in);
System.out.print(" Konversi : ");
konv = scan.nextLine();
Gunakan logika IF untuk melakukan konversi dari Celcius ke Fahrenheit. Mintalah user untuk
memasukan angka berapa yang akan dikonversi, lalu tentukan rumusnya untuk memulai
melakukan perhitungan konversi, jika sudah dihitung berapa hasil konversiya maka tampilkan
hasil konversinya, kode programnya :
if (konv.equals("C F")) {
System.out.print("Nilai Konversi: ");
BigDecimal s1 = new BigDecimal(String.valueOf(sc.next()));
BigDecimal h1 = b.multiply(s1).divide(a).add(c);
System.out.println("Konversi " + konv);
System.out.println("Hasil Konversi " + h1);
Lalu gunakan logika ELSE IF untuk melakukan konversi dari Fahrenheit ke Celcius. Mintalah
user untuk memasukan angka berapa yang akan dkonversi, lalu tentukan rumusnya untuk
memulai melakukan perhitungan konversi, jika sudah dihitung berapa hasil konversinya maka
tampilkan hasil konversinya, kode programnya :
else if (konv.equals("F C")) {
System.out.print("Nilai Konversi: ");
BigDecimal s2 = new BigDecimal(String.valueOf(sc.next()));
BigDecimal h2 = s2.subtract(c).multiply(a).divide(b);
System.out.println("Konversi " + konv);
System.out.println("Hasil Konversi " + h2);
Lalu gunakan logika ELSE jika user memasukan konversi diluar C (spasi) F maupun F (spasi)
C maka output yang keluar berupa kode yang anda masukan salah, dengan kode programnya :
else {
System.out.println("kode yang anda masukkan salah");
}

Komentar :
Pada konversi suhu ini terdapat kesulitan pada saat melakukan konversi dari F ke C, rumus yang
dimasukkan tidak bisa menghasilkan hasil yang diharapkan berupa bilangan desimal yang dimaksud,
misal ketika kita memasukan angka 84 hasil yang diharapkan adalaha 28.88888 tapi output yang keluar
berupa pesan erorr exception :
Exception in thread "main" java.lang.ArithmeticException: Non-terminating decimal expansion; no
exact representable decimal result.
at java.math.BigDecimal.divide(BigDecimal.java:1603)
at KonverterSuhu.main(KonverterSuhu.java:29)

Kode program :
import java.util.Scanner;
import java.math.BigDecimal;
public class KonverterSuhu
{
public static void main(String[] arg)
{
BigDecimal a = new BigDecimal(String.valueOf(5));
BigDecimal b = new BigDecimal(9);
BigDecimal c = new BigDecimal(32);
Scanner sc = new Scanner(System.in);
String konv;
java.util.Scanner scan = new java.util.Scanner(System.in);
System.out.print(" Konversi : ");
konv = scan.nextLine();
if (konv.equals("C F")) {
System.out.print("Nilai Konversi: ");
BigDecimal s1 = new BigDecimal(String.valueOf(sc.next()));
BigDecimal h1 = b.multiply(s1).divide(a).add(c);
System.out.println("Konversi " + konv);
System.out.println("Hasil Konversi " + h1);
}
else if (konv.equals("F C")) {
System.out.print("Nilai Konversi: ");
BigDecimal s2 = new BigDecimal(String.valueOf(sc.next()));
BigDecimal h2 = s2.subtract(c).multiply(a).divide(b);
System.out.println("Konversi " + konv);
System.out.println("Hasil Konversi " + h2);
}
else {
System.out.println("kode yang anda masukkan salah");
}
}
}

B. Deskripsi Tugas Bilangan Fibonacci


Tujuan dari tugas ini adalah :
1. Mengetahui bagaimana deret fibonacci dan hasil jumlah dari deret tersebut.
2. Mampu membuat kode program yang menampilkan deret Fobonacci dan hasil jumlahnya.
Analisa Masalah :
Buatlah program yang mencetak barisan pertama fibonacci yang diberikan serta total jumlahnya
bilangan pada barisan Fibonacci
Keluaran :
Ketika user diminta untuk memasukkan banyaknya deret Fibonacci yang diinginkan maka output yang
dikeluarkan pertama kali adalah deret Fibonacci nya dulu, lalu jumlah dari deret Fibonacci tersebut.
Misal ketika user memasukkan 3 deret Fibonacci pertama maka output yang keluar 1 2 3 dan
jumlahnya adalah 6.
Ide Pemecahan Masalah dan Algoritma :

Buat File bernama Fibonacci.java


Import java.util.Scanner ang berfungsi untuk memasukkan inputan, kode program :
import java.util.Scanner;
Buat class bernama Fibonacci, kode program :
public class Fibonacci
Buat main berupa public static void main (String [] args)
buat variable dan tipe data untuk membuat deret Fibonacci, antara lain int t,p,hasil, dan jumlah.
Kode programnya :
int t=0, p=1, hasil=1, jml=0;
Masukkan fungsi untuk memaskkan inputan yaitu Scanner, dengan kode programnya :
Scanner sc = new Scanner(System.in);
Buatlah output yang menampilkan Masukkan banyaknya deret Fibonacci, kode program :
System.out.print("Masukkan banyaknya deret Fibonacci: ");
Tentukan variable dan tipe data untuk data yang akan dimasukkan user serta buat inputannya,
kode program : int x = sc.nextInt();
Lalu buat output dengan tampilan Barisan : yang dimaksudkan untuk menampilkan
banyaknya barisan Fibonacci yang tadi dimasukkan user dengan proses looping FOR. Kode
program :
System.out.print("Barisan: ");
for(int i=1; i<=x; i++){
t=p;
p=hasil;
System.out.print(hasil+" ");
hasil=t+p;
jml += p;
Lalu buat output cetak hasil jumlah dari jumlah deret Fibonacci yang ditampilkan tadi, kode
program :

System.out.println("\n" + "Total: " + jml);


Komentar :
Terdapat kesulitan pada saat membuat kode program untuk looping deret Fibonacci, menentukan
kenapa t=p, p=hasil, hasil=t+p dan jml +=p.
Kode Program :
import java.util.Scanner;
public class Fibonacci
{
public static void main (String [] args) {
int t=0, p=1, hasil=1, jml=0;
Scanner sc = new Scanner(System.in);
System.out.print("Masukkan banyaknya deret Fibonacci: ");
int x = sc.nextInt();
System.out.print("Barisan: ");
for(int i=1; i<=x; i++){
t=p;
p=hasil;
System.out.print(hasil+" ");
hasil=t+p;
jml += p;
}
System.out.println("\n" + "Total: " + jml);
}
}