Anda di halaman 1dari 12

11 Maret 2016

[MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBYEK]

MODUL II
DATA NUMERIK

1.
a.
b.
c.

Tujuan
Mahasiswa mengetahui konsep tentang data numerik
Mahasiswa mengetahui implementasi data numerik
Mahasiswa mampu membedakan implementasi data numerik pada variabel dan obyek

2.
a.

Teori
Ekspresi aritmatika
Eskpresi aritmatika dapat diistilahkan sebagai operasi matematika, dalam kasus ini sebagai
implementasi operasi matematika pada pemrograman. Ekspresi aritmatika terdiri dari dua bagian
yaitu operator dan operan. Secara umum operator aritmatika ditunjukkan pada tabel 1.

Operasi
Penjumlahan
Pengurangan
Perkalian
Pembagian
Pembagian modulo
(remainder)

Tabel 1. Operator Aritmatika


Operator di
Contoh
Java
+
x+y
x-y
*
x*y
/
x/y
x/z
%
x%y

Nilai
(x=10,y=7,z=2.5)
17
3
70
1
4
3

Dari operator-operator tersebut, terbentuk aturan operasi yang perlu dilakukan terlebih
dahulu (presedence rules). Tabel 2 menunjukkan aturan prioritas dalam suatu operasi eskpresi
aritmatika.

Order
Tinggi

Rendah

Tabel 2. Presedence Rule untuk Operator Aritmatika


Kelompok
Operator
Subexpression
()
Unary operator
-, +
Multiplicative
*, /, %
operator
Additive operator
+, -

Permasalahan muncul ketika terjadi perbedaan tipe data dalam pengoperasian yang sama,
hal yang dapat dilakukan untuk mengatasi hal tersebut adalah konversi tipe data. Tabel 3

11 Maret 2016

[MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBYEK]

menunjukkan aturan-aturan jenis operator dalam suatu operasi aritmatika yang melibatkan tipe
data tertentu.

Jenis operator
Unary
Binary

1.
2.
1.
2.
3.
4.

Tabel 3. Aturan Promosi Aritmatika


Aturan
Jika operan bertipe byte atau short, maka konversi ke int.
Selain itu, tetap pada jenis yang sama
Jika operand bertipe double, maka operan lain dikonversi ke double.
Selain itu, jika operand bertipe float, maka operan lain dikonversi ke float.
Selain itu, jika operan bertipe long, maka operator lain dikonversi ke long.
Selain itu, lakukan konversi ke int.

Selain jenis-jenis operator dan aturan di atas, terdapat aturan alin yang disebut dengan
shorthand assignment operator. Contoh dari operator ini adalah:

Selaras dengan

Tabel 4 menunjukkan jenis-jenis operator yang dikenali sebagai shorthand assignment operator.
Tabel 4. Shorthand Assignment Operator
Operator
Penggunaan
Makna
+=
a += b;
a = a + b;
-=
a -= b;
a = a b;
*=
a *= b;
a = a * b;
/=
a /= b;
a = a / b;
%=
a %= b;
a = a % b;
b.

Math Class

Penggunaan operator aritmatika untuk melakukan komputasi numerik dinilai sangat


terbatas, oleh karena itu pada banyak kegiatan komputasi diperlukan penggunaan fungsi
matematika. Sebagai contoh, apabila diberikan rumus matematika sebagai berikut

Dari rumus tersebut, diperlukan fungsi sin dan akar pangkat. Oleh karena itu, Math Class yang
terdapat di dalam java.lang.package mengandung class yang pada umumnya digunakan untuk
fungsi matematika. Tabel 5 menunjukkan beberapa daftar fungsi yang umumnya digunakan

11 Maret 2016

[MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBYEK]

dalam operasi aritmatika. Adapun berdasarkan rumus matematika yang telah dicontohkan, maka
implementasinya adalah

Tabel 5. Fungsi matematika yang sering dipakai dalam Math Class


Class Method
Jenis argumen
Jenis hasil
Deskripsi
Contoh
abs(a)
int
int
Mengembalikan abs(10) -> 10
nilai mutlak
abs(-5) -> 5
suatu nilai a int.
long
long
Mengembalikan
nilai mutlak
suatu nilai a
long.
float
float
Mengembalikan
nilai mutlak
suatu nilai a
float.
double
double
Mengembalikan
nilai mutlak
suatu nilai a
double.
acos(a)
double
double
Mengembalikan acos(-1) ->
nilai arccosine
3.14159
suatu nilai a.
asin(a)
double
double
Mengembalikan asine(-1) ->
nilai arcsine
1.57079
suatu nilai a.
atan(a)
double
double
Mengembalikan atan(1) ->
nilai arctangen
0.785398
suatu nilai a.
cell(a)
double
double
Mengembalikan cell(-5.6) -> -5.0
nilai tekecil yang
lebih dari atau
sama dengan
nilai a.
cos(a)
double
double
Mengembalikan

nilai trigonometri
cos terhadap nilai
a.
exp(a)
double
double
Mengembalikan exp(2) ->
bilangan asli e ke 7.389056099
dalam pangkat a
floor(a)
double
double
Mengembalikan floor(-5.6) -> nilai terbesar
6.0
yang kurang dari

11 Maret 2016

[MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBYEK]

log(a)

double

double

max(a)

pow(a,b)

int
long
float
int
long
float
double

int
long
float
int
long
float
double

random( )

<tidak ada>

double

round(a)

float

int

double

long

sin(a)

double

double

sqrt(a)

double

double

tan(a)

double

double

toDegrees

double

double

toRadians

double

double

min(a)

atau sama
dengan nilai a.
Mengembalikan
nilai logaritma
suatu nilai a
Menetukan nilai
terebsar antara a
dan b
Menetukan nilai
terkecil antara a
dan b
Membentuk hasil
nilai a pangkat b
Membentuk
bilangan acak
yang lebih dari
sama dengan 0.0
dan kurang dari
1.0
Membentuk nilai
int dari suatu a
ke bilangan
terdekat
Membentuk nilai
float dari suatu a
ke bilangan
terdekat
Membentuk nilai
trgonometri sin
dari a
Menghasilkan
nilai akar
pangkat dari a
Membentuk nilai
trgonometri
tangen dari a
Mengkonversi
sudut dalam
radian ke derajat
Kebalikan dari
toDegrees

log(2.7183) ->
1.0
max(10,20) -> 20

min(10,20) -> 10

pow(2.0,3.0) ->
8.0
<dibahas dalam
pembahasan dan
pertemuan lebih
lanjut>

round(5.4) -> 5

sqrt(9.0) -> 3.0

11 Maret 2016

c.

[MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBYEK]

Bilangan Acak

Pembangkitan bilangan acak sering digunakan dalam komputasi, seperti contoh simulasi
pelemparan dadu. Angka yang dibangkitkan secara acak sejatinya tidak sepenuhnya acak
dikarenakan angka yang muncul merupakan hasil perulangan dari angka itu sendiri, dan hasil
acak terjadi karena tujuan dari praktik pengacakan itu sendiri.
d.

GregorianCalendar Class

Class lain yang diperkenallkan pada praktikum kali ini adalah class yang terdapat pada
package java.util.Date yang mendeskripsikan tentang suatu representasi waktu.

3.

Latihan praktikum
Buat file .java di editor masing-masing, dan lakukan latihan pemrograman yang
ditunjukkan setiap nomor.
a.
Menghitung keliling dan luas lingkarang
Latihan berikut merupakan implementasi dari operator aritmatika, variabel, dan konstanta.
Source code 1:

11 Maret 2016

[MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBYEK]

Source code 2:

b.

Menghitung ketinggian suatu tiang


Latihan berikut merupakan implementasi dari Math Class.

11 Maret 2016

c.

[MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBYEK]

Pilih Juara
Latihan berikut merupakan implementasi dari pembangkitan bilangan acak.

11 Maret 2016

d.

e.

[MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBYEK]

Informasi kalender
Latihan berikut merupakan implementasi dari GregorianCalendar Class.

Kalender dengan informasi sederhana


Latihan berikut merupakan implementasi dari GregorianCalendar Class dengan hanya
menerima object Date.

11 Maret 2016

f.

[MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBYEK]

Mencari hari dari suatu tanggal

11 Maret 2016

[MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBYEK]

4.

Tugas
Sebuah kalkulator hutang dikembangkan oleh suatu toko elektronik menggunakan suatu
teknik pengembangan incremental. Suatu hari toko tersebut memngumukan bahwa diadakan 0%
bunga untuk pembelian TV hingga bulan Juli kedepan, artinya jika seorang pembeli dengan
system kredit tidak melunasi hingga tanggal yang ditentukan maka pembeli tersebut harus
membayar cicilan plus bunga cicilan. Dalam kasus ini, rule yang dikembangkan untuk kalkulator
tersebut adalah:
Tulis sebuah program kalkulator yang menghitung jumlah pembayaran dan hitungan bulan yang
dilalui melalui jumlah hutang tertentu, tingkat bunga, dan periode hutang.
Seorang programmer telah ditunjuk untuk mengembangkan program tersebut, namun
ketika program tersebut masih pada tahap pengembangan input nilai, programmer tersebut jatuh
sakit dan harus istirahat total. Adapun code yang telah dikerjakan oleh programmer tersebut
adalah:

11 Maret 2016

[MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBYEK]

Mahasiswa semester 4 TI-S1 Udinus yang sedang mengambil mata kuliah Pemrograman
berorientasi obyek ditugaskan untuk melanjutkan pekerjaan sang programmer dengan detil
pekerjaan sebagai berikut:
1.

Tambahkan code untuk menampilkan nilai keluaran dengan format sebagai berikut:

Adapun contoh tampilannya sebagai berikut:

Sebagai informasi, pembayaran bulanan (monthly payment) dihitung dengan rumus:

Untuk L adalah loan amount, R adalah monthly (annual) interest rate, dan N adalah loan period.
2.

Konversikan annual interest dan loan period yang semula dalam tahun (years) menjadi
bulanan (monthly). Adapun syntax konversinya adalah sebagai berikut:

KOnversi tersebut mengakibatkan penghitungan monthly payment dan TOTAL payment


menjadi sebagai berikut:

11 Maret 2016

3.

[MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBYEK]

Bulatkan format angka pada monthly payments dan TOTAL payments menjadi dua angka
di belakang koma!

Anda mungkin juga menyukai