download

UTILITAS JAVA
Matakuliah
Tahun
Versi
: T0974 / Algoritma dan Metode Object Oriented Programming I
: 2008
: 1/0
Learning Outcomes
•
•
•
•
•
Pada akhir pertemuan ini, diharapkan
mahasiswa akan mampu:
Menggunakan pembangkit bilangan
Menggunakan currency dan percent
format
Menggunakan penundaan eksekusi
Mendapatkan informasi kalendar
Mengenal dasar Object Oriented
Programming
Bina Nusantara
Outline Materi
•
•
•
•
•
•
Pembangkit Bilangan Acak
Currency Format (Locale)
Percent Format (Locale)
Penundaan Eksekusi
Informasi Kalendar
Pengenalan dasar Object Oriented
Programming (OOP)
Bina Nusantara
Bilangan Acak
• Menghasilkan bilangan acak (random)
• Cara:
– Math.random();
Hasil  0.0 s/d 0.99… (tidak mencapai 1.0)
Return value  double
Perkalian untuk memperluas bilangan
Penambahan untuk menggeser bilangan
Type casting untuk konversi ke integer
– Random class
Hasil sesuai keinginan
Return value sesuai keinginan
Memerlukan deklarasi penciptaan object
Bina Nusantara
Bilangan Acak
• Deklarasi import
import java.util.Random;
• Inisialisasi Random
Random r = new Random();
• Penggunaan
int i = r.nextInt(int n)  int >= 0 and < n.
int i = r.nextInt()  int (full range).
long l = r.nextLong()  long (full range).
float f = r.nextFloat()  float >=0.0 dan < 1.0.
double d = r.nextDouble()  double >=0.0 dan < 1.0.
boolean b = r.nextBoolean()  boolean (true atau false).
double d = r.nextGaussian()  double mean 0.0 dan standar
deviasi 1.0.
Bina Nusantara
Bilangan Acak
Bina Nusantara
Currency Format
• Format bilangan sebagai nilai mata uang
• Berdasarkan tempat (locale)
• Deklarasi
NumberFormat currencyFormat =
NumberFormat.getCurrencyInstance(Locale.US);
• Parameter (locale)
–
–
–
–
–
–
–
–
–
–
Bina Nusantara
CANADA
CHINA
FRANCE
GERMAN
ITALY
JAPAN
KOREA
TAIWAN
UK
US
Currency Format
Bina Nusantara
Percent Format
• Format bilangan sebagai persentase
• Berdasarkan tempat (locale)
• Deklarasi
NumberFormat percentFormat =
NumberFormat.getPercentInstance(Locale.US);
• Parameter (locale)
–
–
–
–
–
–
–
–
–
–
Bina Nusantara
CANADA
CHINA
FRANCE
GERMAN
ITALY
JAPAN
KOREA
TAIWAN
UK
US
Percent Format
Bina Nusantara
Penundaan Eksekusi
• Eksekusi dapat ditunda (pausing
execution) untuk waktu tertentu
• Berguna untuk animasi sederhana
• Sintaks:
try
{
Thread.sleep(milliseconds);
}
catch(Exception e)
{
}
• 1 detik = 1000 milidetik
Bina Nusantara
Penundaan Eksekusi
• Thread.sleep(…) menyebabkan exception
sehingga perlu di-try-and-catch
• Tidak perlu import karena dari java.lang
Bina Nusantara
Penundaan Eksekusi
Bina Nusantara
Calendar
• Mendapatkan informasi penanggalan dan waktu
• Deklarasi import
import java.util.Calendar;
• Penggunaan
Calendar.getInstance().get(…);
• Parameter (tipikal)
– HOUR, MINUTE, SECOND, MILLISECOND, AM_PM, HOUR_OF_DAY
– DATE
– DAY_OF_WEEK, DAY_OF_MONTH, DAY_OF_WEEK_IN_MONTH,,
DAY_OF_YEAR
– WEEK_OF_MONTH, WEEK_OF_YEAR
– MONTH
– YEAR
Bina Nusantara
Calendar
Bina Nusantara
Calendar
• Tanggal
1  SUNDAY
2  MONDAY
3  TUESDAY
4  WEDNESDAY
5  THURSDAY
6  FRIDAY
7  SATURDAY
Bina Nusantara
• Bulan
0  JANUARY
1  FEBRUARY
2  MARCH
3  APRIL
4  MAY
5  JUNE
6  JULY
7  AUGUST
8  SEPTEMBER
9  OCTOBER
10  NOVEMBER
11  DECEMBER
Calendar
Bina Nusantara
Did You Know?
• Selain class Calendar, penanggalan terdapat
pada class Date dan GregorianCalendar
• Kompilasi class Date akan menyebabkan
deprecated
• Perlu ditambahkan parameter –Xlint saat
kompilasi untuk menampilkan rincian
deprecated
javac TodayDate.java –Xlint
• Deprecated  method/class tersebut sebaiknya
tidak digunakan karena akan dihilangkan dari
Java, sudah ada class pengganti
Bina Nusantara
Did You Know?
Bina Nusantara
Did You Know?
• getYear() dimulai dengan 0 untuk 1900
• Solusi  ditambahkan 1900
Bina Nusantara
Advanced Learning
• Object Oriented Programming (OOP) 
pemrograman yang menggunakan obyek
• Obyek  entitas dunia nyata yang dapat
diidentifikasi secara berbeda
• Contoh obyek:
– Siswa, meja, roda, tombol, pinjaman
• Obyek memiliki:
– Identitas : nama
– State/data field/properti : variabel
– Behavior : methods
Bina Nusantara
Advanced Learning
• Obyek diciptakan melalui class
• Class  template/blueprint yang mendefinisikan data
dan method pada obyek
• Contoh class:
class Circle
Identitas
{
static double radius = 1.0;
Data field
public static void setRadius(double newRadius)
{
radius = newRadius;
}
public static double getArea()
{
return radius*radius*Math.PI;
}
}
Bina Nusantara
Methods
Advanced Learning
• Penggunaan class
Circle.setRadius(10);
Circle.getArea();
Bina Nusantara
Advanced Learning
Bina Nusantara
Advanced Learning
• Nama class utama harus sama dengan
nama file  TestCircle
• Class utama harus public
• Class selain utama tidak boleh public
• 1 file dapat terdiri lebih dari 1 class
• Konsep OOP akan dibahas lebih lanjut di
Algoritma dan MOOP 2
Bina Nusantara
Referensi
• Introduction to Java Programming. 7ed. 2009. p258-259,
p1061
• Java Software Solutions. 7ed. 2009. p158-160
• The Complete Reference. 5ed. Herbert Schildt. p509533
• Bilangan acak
– http://www.leepoint.net/notes-java/summaries/summary-random.html
• Calendar
– http://my.hsonline.net/~rrosetta/Java/javatutorial.htm
– http://home.cogeco.ca/~ve3ll/jatutor6.htm
• Deprecated
– http://mindprod.com/jgloss/deprecated.html
– http://java.sun.com/j2se/1.4.2/docs/api/deprecated-list.html
• Sleep
– http://java.sun.com/docs/books/tutorial/essential/concurrency/sleep.html
– http://www.roseindia.net/java/beginners/DelayExample.shtml
Bina Nusantara