Modul II - Data Numerik
Modul II - Data Numerik
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)
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
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
menunjukkan aturan-aturan jenis operator dalam suatu operasi aritmatika yang melibatkan tipe
data tertentu.
Jenis operator
Unary
Binary
1.
2.
1.
2.
3.
4.
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
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
dalam operasi aritmatika. Adapun berdasarkan rumus matematika yang telah dicontohkan, maka
implementasinya adalah
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
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
11 Maret 2016
c.
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
Source code 2:
b.
11 Maret 2016
c.
Pilih Juara
Latihan berikut merupakan implementasi dari pembangkitan bilangan acak.
11 Maret 2016
d.
e.
Informasi kalender
Latihan berikut merupakan implementasi dari GregorianCalendar Class.
11 Maret 2016
f.
11 Maret 2016
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
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:
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:
11 Maret 2016
3.
Bulatkan format angka pada monthly payments dan TOTAL payments menjadi dua angka
di belakang koma!