Mengenal Bahasa Pemrograman Java
Sejarah Java
Java
dipelopori oleh James Gosling, Patrick Naughton, Chris Warth, Ed Frank,
dan Mike Sheridan dari Sun Microsystems, Inc pada tahun 1991. Mereka
membutuhkan kurang lebih 18 bulan untuk membuat versi pertamanya. Bahasa
ini pada awalnya disebut “Oak” tapi kemudian diubah menjadi “Java” pada
tahun 1995 karena nama Oak telah dijadikan hak cipta dan digunakan
sebagai bahasa pemrograman lainnya. Antara pembuatan Oak pada musim
gugur 1992 hingga diumumkan ke publik pada musim semi 1995, banyak orang
yang terlibat dalam desain dan evolusi bahasa ini. Bill Joy, Arthur van
Hoff, Jonathan Payne, Frank Yellin, dan Tim Lindholm merupakan
kontributor kunci yang mematangkan prototipe aslinya.
Java Modern
Java
telah digunakan dalam banyak hal dan telah membuktikan keberadaannya
pada abad ke 21. Saat ini, Java digunakan bermacam jenis aplikasi
seperti aplikasi embedded, aplikasi keuangan, desktop, simulasi pesawat,
pemrosesan citra, game, aplikasi perusahaan terdistribusi yang disebut
J2EE dan masih banyak lagi.
Java Virtual Machine (JVM)
Java
Virtual Machine merupakan aplikasi sederhana yang ditulis dalam bahasa C
untuk mengeksi program yang ditulis dalam bahasa Java. Pada saat
kompilasi (perubahan dari bahasa tingkat tinggi ke bahasa lebih rendah),
program tersebut diubah menjadi KODE BYTE. Kemudian pada saat eksekusi,
JVM membaca kode byte tersebu dan mengubahnya menjadi bahasa mesin yang
dimengerti oleh sistem operasi tempat program tersebut dijalankan.
Karena
JVM sangat bergantung pada platformnya (bahasa mesin merupakan bahasa
level rendah yang hanya dimengerti oleh suatu mesin tertentu, misalnya
Intel, tapi tidak dapat dimengerti oleh mesin lain, seperti Macintosh),
byte code ini dapat dibuat untuk terbebas dari kungkungan platform
tertentu. Code byte yang dihasilkan dalam proses kompilasi bahasa Java
akan selalu sama untuk setiap sistem operasi atau jenis mesinnya, tetapi
JVM akan mengubah kode byte tersebut menjadi bahasa mesin tujuannya.
Just In Time Compiler (JIT)
Meskipun
Java didesain untuk diinterpretasi, secara teknis tidak ada yang
menghalangi Java untuk dikompilasi menjadi bahasa mesin seperti
bahasa-bahasa pemrograman lainnya. Sun menyediakan kompiler Just In Time
Compiler (JIT) untuk mengkompilasi kode byte itu menjadi bahasa
mesinnya pada saat yang bersamaan dengan eksekusinya. Walaupun demikian,
pendekatan JIT ini menghasilkan kemampuan yang lebih dibandingkan
dengan interpretasi biasa.
Kelebihan Java
Bahasa
pemrograman lain yang telah ada sebelum Java lahir sudah merupakan
bahasa yang baik dan mudah dipelajasi oleh programmer profesional. Akan
tetapi para programmer ini menginginkan sesuatu yang baru yang memiliki
banyak hal yang menyelesaikan masalah mereka. Utamanya adalah keamanan
kode mereka. Hal ini melahirkan pikiran yang revolusioner untuk
menemukan bahasa pemrograman lain yang disebut Java. Tidak hanya
keamanan tapi juga beberapa hal yang sering disebut sebagai
Java-Buzzwords. Kata-kata ini menjelaskan berbagai fitur tambahan dan
beberapa hal yang membuat Java demikian sukses dan diterima oleh dunia
perangkat lunak. Berikut ini adalah penjelasan serta keuntungan dari
kata-kata tersebut.
Sederhana dan Berorientasi Objek
Seperti
diuraikan sebelumnya, Java lahir dari suatu pemikiran mendalam akan
bahasa pemrograman yang ada pada saat itu, seperti C dan C++. Hal ini
akan memudahkan programmer profesional untuk dapat mengerti lebih jelas
tentang Java, fungsionalitas, dan lain sebagainya apabila ia memiliki
pengetahuan dasar tentang C++ dan konsep pemrograman berorientasi objek.
Tujuannya agar konsep dasar dari teknologi Java dapat dimengerti dengan
mudah, dan programmer dapat segera menghasilkan sesuatu sedini mungkin.
Tidak hanya ini, penemu Java memastikan bahwa Java juga bermula dari
bahasa pemrograman dasar yang sudah ada pada saat itu. Kemudian mereka
membuang berbagai fitur yang rumit dan membingungkan.
Bahasa
pemrograman Java didesain sejak awal untuk menjadi bahasa yang
berorientasi objek. Setelah kira-kira 30 tahun, akhirnya teknologi objek
menjadi kenyataan dan diterima oleh sebagian besar komunitas
pemrograman. Konsep berorientasi objek memungkinkan pembuatan software
yang kompleks, berbasis network, sehingga dapat disimpulkan bahwa
teknologi Java menghasilkan platform pembuatan perangkat lunak yang baik
dan efisien serta berorientasi objek.
Keuntungan yang Anda dapat dari Java
- Mulai dengan cepat:
Java merupakan bahasa pemrograman berorientasi objek, mudah dipelajari,
terutama untuk programmer yang sudah menguasai C atau C++
- Tulis lebih sedikit program:
Jumlah kelas, jumlah metode, dll, menunjukkan bahwa program yang
ditulis dalam bahasa pemrograman Java memiliki jumlah 4 kali lipat lebih
kecil dari program sama yang ditulis dalam bahasa C++
- Tulis program lebih baik:
Bahasa pemrograman Java menganjurkan praktek membuat program yang baik,
dan automatic garbage collection membantu Anda untuk menghindari
kebocoran memori. Orientasi objeknya, arsitektur komponen JavaBeans, dan
jangkauannya yanga luas, API yang mudah diperluas, memungkinkan Anda
menggunakan kode yang ada.
- Membuat program dengan lebih cepat:
Bahasa pemrograman Java lebih mudah dari C++, pemrograman akan menjadi 2
kali lipat lebih cepat, dengan jumlah baris yang jauh lebih sedikit.
- Menghindari kebergantungan pada platform tertentu:
Anda dapat menjalankan program Anda pada banyak platform dengan TIDAK
menggunakan library yang ditulis spesifik untuk platform tertentu.
- Tulis sekali, jalankan di mana saja:
Karena aplikasi yang ditulis dalam bahasa Java dikompilasi ke dalam
kode byte yang bebas platform, aplikasi yang ditulis dapat jalan secara
konsisten pada platform apa saja.
Distribusikan software Anda dengan mudah:
Dengan Java Web Start, pengguna program Anda akan dapat menggunakan
aplikasi Anda dengan mudah. Sistem pengecekan versi otomatis pada saat
program dimulai menjamin pengguna Anda selalu menjalankan versi terkini.
Apabila versi baru tersedia, Java Web Start akan melakukan instalasi
secara otomatis.
Variabel dan Tipe Data
Nama
merupakan hal penting dalam teknik pemrograman. Dalam suatu program,
nama digunakan untuk menyebut sesuatu. Untuk menggunakan "sesuatu"
tersebut, programmer harus mengerti bagaimana aturan pemberian nama dan
aturan untuk menggunakan nama tersebut dalam programnya. Atau dengan
kata lain, programmer harus mengerti sintaks dan semantik dari nama.
Menurut
aturan sintaks Java, nama merupakan rangkaian dari 1 atau lebih
karakter. Harus dimulai dengan huruf dan harus terdiri dari huruf, angka
atau karakter garis bawah '_'. Berikut ini adalah contoh nama yang
diperbolehkan:
N n rate x15 quite_a_long_name HelloWorld
Hurus kecil dan huruf besar dianggap berbeda, sehingga
HelloWorld,
helloworld,
HELLOWORLD, dan
heLLOwoRLD
adalah nama yang berbeda-beda. Beberapa kata tertentu merupakan nama
yang memiliki kegunaan tertentu oleh Java, dan tidak dapat dipergunakan
oleh programmer. Kata-kata ini disebut
reserved words (kata-kata cadangan) misalnya:
class,
public,
static,
if,
else,
while, dan lain-lain.
Hal lain yang penting adalah
compound names atau nama campuran, yaitu yang merupakan nama biasa yang dihubungkan dengan titik, misalnya
System.out.println. Idenya adalah "sesuatu" pada Java dapat terdiri dari "sesuatu" yang lain. Nama
System.out.println artinya System menampung out dan out menampung println. Kita sebut "sesuatu" sebagai
identifier (pengenal) tidak peduli apakah ia berupa nama tunggal atau campuran.
Program
melakukan manipulasi data yang disimpan dalam memori. Dalam bahasa
mesin, data hanya bisa diambil dengan menyebut alamatnya di memori.
Dalam bahasa pemrograman tingkat tinggi seperti Java, nama bisa
digunakan untk mengganti alamat data tersebut di memori. Tugas komputer
adalah untuk melacak di mana data tersebut di simpan, sedangkan
programmer menggunakan nama untuk memerintahkan komputer mengambil data
tersebut dari memori. Nama yang digunakan seperti ini disebut
variable.
Variabel
sebenarnya berarti lebih kompleks. Variabel bukan isi dari data, tapi
lokasi di memori yang menyimpan data tersebut. Variabel bisa diibaratkan
sebagai kotak penyimpanan data, bukan isi kotaknya. Karena data di
dalam kotak bisa berubah, variabel hanya dapat dipercaya pada satu saat
saja, walaupun tempatnya selalu sama.
Dalam bahasa Java,
satu-satunya cara untuk memasukkan data ke dalam variabel adalah dengan
menggunakan assignment statement, atau pernyataan pemberian nilai.
Pernyataan ini berbentuk:
di mana
ekspresi
menyatakan apapun yang berhubungan dengan nilai suatu data. Ketika
komputer menjalankan instruksi ini, komputer akan menghitung dan
menyimpan hasilnya ke dalam variabel. Contoh:
Variable dalam pernyataan di atas adalah
kecepatan dan ekspresinya adalah angka 40. Komputer menghitung pernyataan ini dan menyimpan 40 ke dalam variabel
kecepatan, dan mengganti apapun yang telah disimpan sebelumnya.
Sekarang misalnya kita ingin melakukan perhitungan yang lebih kompleks:
jarak = kecepatan * waktu
Di sini, * merupakan operasi perkalian. Komputer mengambil data yang disimpan dalam variabel
kecepatan dan
waktu, melakukan perkalian, dan menyimpan hasilnya dalam
jarak.
Variabel
dalam bahasa Java didesign untuk menyimpan hanya 1 jenis tipe data.
Kompiler akan menampilkan kesalahan sintax apabila variabel ini dicoba
untuk diberi tipe data jenis lain. Oleh karena itu Java disebut bahasa
pemrograman bertipe kuat atau
strongly typed language.
Ada 8 tipe data primitif dalam bahasa Java.
| Jenis Data | Deskripsi | Ukuran | Minimum | Maksimum |
| boolean | Hanya bisa berisi benar atau salah | 1-bit |
|
|
| char | Karakter Unicode | 16-bit |
|
|
| byte | Bilangan bulat | 8-bit | -127 | 128 |
| short | Bilangan bulat | 16-bit | -32768 | 32767 |
| int | Bilangan bulat | 32-bit | -2147483648 | 2147483647 |
| long | Bilangan bulat | 64-bit | -9223372036854775808 | 9223372036854775807 |
| float | Bilangan riil | 32-bit | 1.40129846432481707e-45 | 3.40282346638528860e+38 |
| double | Bilangan riil | 64-bit | 4.94065645841246544e-324 | 1.79769313486231570e+308 |
Suatu
variabel baru dapat digunakan apabila telah dideklarasikan. Pernyataan
deklarasi variabel digunakan untuk mendeklarasikan satu atau lebih
variabel dan memberinya nama. Ketika komputer mengeksekusi deklarasi
variabel, komputer akan menyediakan ruangan di memori kemudian menyimpan
alamat ini sesuai dengan nama variabel yang diberikan. Deklarasi
variable berbentuk seperti :
nama_variabel
dapat berupa sebuah nama variabel atau beberapa nama sekaligus yang
dipisah dengan koma. Gaya pemrograman yang baik yaitu dengan
mendeklarasikan satu variabel dalam satu pernyataan, kecuali variabel
tersebut berhubungan erat satu sama lain. Misalnya:
float num;
String nama;
String nama;
boolean bol;
int x,y;
Atau pendeklarasian variabel bisa juga dilakukan sekaligus dengan pemberian nilainya, seperti pada contoh berikut:
int num = 1000;
char ch = 'e';
float angka = -1.504;
boolean bol = true;
Jenis-jenis Variabel
Java memiliki beberapa jenis variabel yang dapat dikelompokkan sebagai berikut :
- Instance Variables
(tidak statis). Dalam bahasa pemrograman berorientasi objek, objek
menyimpan variabel yang tidak dideklarasikan dengan kata kunci static
dalam kategori non-statis, atau dapat berubah-ubah. Suatu kelas dapat
dijelmakan ke dalam beberapa objek. Nilai yang terkandung dalam variabel
tak-statis ini berbeda untuk setiap objeknya.
- Class Variables
(statis). Variabel ini merupakan bagian integral dari suatu kelas, dan
tidak ada satu objek pun yang dapat menyatakan kepemilikan atas variabel
ini. Variabel yang dideklarasikan sebagai statis digunakan bersama oleh
semua objek. Variabel ini lebih bersifat global yang nilainya sama
untuk setiap objek pada kelas yang bersangkutan.
- Local Variables. Variabel ini didefinisikan di dalam suatu metoda (method) atau dalam suatu prosedur. Variabel ini bersifat lokal karena hanya dapat diakses oleh metoda atau prosedur tersebut.
- Parameter.
Paramater atau argumen adalah variabel yang digunakan pada saat suatu
metoda atau prosedur dipanggil. Parameter berguna untuk memberikan nilai
awal untuk diteruskan (pass) ke dalam suatu prosedur atau metoda.
Literal
Pada bagian ini akan dijelaskan tentang literal, yaitu rangkaian kata atau huruf yang menyatakan suatu nilai. Misalnya
Pada
pernyataan di atas, yang dinamakan literal adalah 10, karena 10 berarti
bilangan bulat atau integer. Pada bahasa pemrograman java, terdapat
beberapa jenis literal yang melambangkan bilangan bulat, riil, kalimat,
atau boolean.
Literal Bilangan Bulat
Bilangan
bulat dapat dilambangkan dalam beberapa bentuk. Bilangan bulat biasa
dilambangkan dengan deretan angka yang dimulai dengan angka yang bukan
nol.
Bilangan oktal
adalah bilangan bulat berbasis 8, yang berarti hanya dapat terdiri dari
angka-angka 0 hingga 7. Bilangan oktal ditulis seperti bilangan bulat
biasa dimulai dengan 0.
// 22 basis delapan atau 18 dalam desimal
int angka = 022;
Bilangan heksadesimal adalah bilangan berbasis 16. Bilangan heksadesimal dilambangkan dengan 0 hingga 9 dan a hingga f dan dimulai dengan 0x.
// 2a heksadesimal atau 42 dalam desimal
int angka = 0x2a;
Long integer.
Seperti dijelaskan pada bab terdahulu long integer membutuhkan memori
sebesar 64bit, yang artinya kita dapat menyimpan bilangan bulat hingga 2
^ 64. Untuk merepresentasikan long integer, tambahkan huruf L pada
akhir bilangan.
Literal Karakter
Kita
dapat melambangkan suatu karakter dengan tanda petik tunggal misalnya
‘a’ atau ‘3′ atau ‘=’. Suatu karakter dapat juga dilambangkan dengan
kode ASCII nya. Caranya dengan memulainya dengan \u00 (garis miring
terbalik) kemudian diikuti dengan kode ASCII nya dalam bentuk
heksadesimal.
// huruf 'A' dalam ASCII
char huruf = '\u0041';
Selain
itu ada beberapa karakter lain selain alfabet yang dapat dilambangkan
dengan escape sequence. Berikut ini beberapa contohnya.
\n = tombol enter atau baris baru.
\r = carriage return.
\t = tombol tab.
\b = tombol backspace.
\\ = karakter \
\’ = karakter ‘
\” = karakter ”
Literal Boolean
Nilai true dan false pada java merupakan literal
boolean. Suatu variabel bertipe boolean hanya dapat memiliki nilai true atau false.
Ingat bahwa boolean true atau false TIDAK menggunakan tanda petik tunggal seperti ekspresi pada karakter.
Literal Bilangan Riil
Bilangan
riil, misalnya -0.00127 atau 415.842, pada java dapat disimpan baik
sebagai float atau double. Bilangan real dapat direpresentasikan dalam
bentuk desimal biasa, pecahan, atau eksponen (dilambangkan dengan e atau
E).
| Tipe | Ukuran | Rentang | Presisi (jumlah digit) |
| bytes | bit |
| float | 4 | 32 | +/- 3.4 x 1038 | 6-7 |
| double | 8 | 64 | +/- 1.8 x 10308 | 15 |
Imbuhan
akhir d atau D dan f atau F dapat pula ditambahkan untuk menentukan
tipenya secara eksplisit. Berikut beberapa contohnya.
double d = 3.27E+32;
float f = 4f;
float pi = 3.14159;
Literal String
String merupakan
untaian huruf dan angka yang tersusun menjadi satu kalimat. Dalam
bahasa java, string bukan merupakan tipe primitif, tetapi merupakan
kelas. String pada java tidak disimpan dalam bentuk array seperti pada
C. Java menyediakan beberapa metoda untuk melakukan penggabungan,
modifikasi, atau perbandingan. String ditulis di antara dua tanda petik
ganda seperti contoh berikut.
String salam = "Selamat Datang";
String juga dapat mengandung karakter spesial seperti dibahas pada literal karakter. Misalnya
String hallo = "Selamat Datang \"Bapak Presiden\"";
System.out.println("Hallo Bambang\nSelamat pagi,\nSemoga hari anda cerah\n";
Berikut ini adalah beberapa contoh lainnya.
// Contoh string kosong
String teks = "";
// Contoh string berisi "
teks = "\"";
// String dapat juga dipisah menjadi beberapa baris
teks = "ini baris pertama " +
"dan ini lanjutannya."
Literal Null
Literal terakhir pada bahasa java adalah literal
null.
Null merupakan kondisi di mana suatu objek tidak diberi alokasi memori.
Pada saat suatu objek dideklarasikan, komputer akan mengalokasikan
memori untuk objek tersebut. Apabila objek tersebut telah selesai
dipergunakan, kita dapat melepas lokasi memori yang digunakan oleh objek
tersebut sehingga memori itu dapat digunakan oleh objek lain. Berikut
ini adalah contohnya
Literal null berfungsi memberi tahu
garbage collector
(pemulung memori) bahwa objek tersebut tidak lagi terpakai. Kemudian
memori akan dilepaskan agar dapat digunakan oleh objek lain.
Contoh Program Variabel dan Tipe Data
Posted Rab, 02/11/2009 - 01:58 by belajarprogram
Versi ramah cetakBerikut ini adalah listing program penghitungan bunga bank. Kode program dapat anda unduh dalam bentuk
zip file atau melalui SVN di alamat berikut :
http://belajarjava.googlecode.com/svn/trunk/BungaBank
Lihat cara mengimpor contoh-contoh program ke dalam Eclipse di
Bab II - Instalasi.
package bungabank;
public class BungaBank {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
/* Deklarasi variable */
double pokok; // nilai investasi
double sukubunga; // suku bunga bank
double bunga; // nilai bunga
/* Perhitungan */
pokok = 20000;
sukubunga = 0.10; // sama dengan 10%
bunga = pokok * sukubunga;
pokok = pokok + bunga;
/* Cetak hasil keluaran */
System.out.print("Bunga yang dihasilkan adalah Rp. ");
System.out.println(bunga);
System.out.print("Nilai investasi setelah 1 tahun adalah Rp. ");
System.out.println(pokok);
}
}
Berikut adalah hasil keluarannya :
|
Kelas sebagai tipe data
Kelas sebagai tipe data
Mari mulai dengan melihat kembali subrutin System.out.print. Subrutin ini digunakan untuk menampilkan pesan kepada user. Misalnya System.out.print("Selamat datang!") menampilkan pesan Selamat datang!
System merupakan salah satu kelas standar Java. Salah satu anggotanya bernama out. Karena variable ini berada di dalam kelas System, kita harus memanggilnya dengan nama lengkapnya yaitu System.out. Variabel System.out merupakan suatu objek, dan objek itu memiliki subrutin yang bernama print. Pengenal campuran System.out.print mengacu pada subrutin print di dalam objek out dalam kelas System.
(Untuk melihat dari sisi lain, sebetulnya System.out merupakan objek dari kelas PrintStream. PrintStream adalah salah satu kelas standar Java. Objek dengan tipe PrintStream adalah objek tempat informasi bisa dicetak. Setiap objek yang bertipe PrintStream memiliki subrutin bernama print yang bertugas untuk mencetak sesuatu ke medium tersebut. Dalam hal ini System.out adalah tujuan tempat print dilakukan. Objek lain yang bertipe PrintStream bisa mengirim informasi ke tujuan lain, misalnya file atau network atau ke komputer lain.
Ini adalah esensi dari pemrograman berorientasi objek, di mana beberapa hal yang memiliki kesamaan - dalam hal PrintStream sama-sama sebagai tempat tujuan print - dapat digunakan dengan cara yang sama, yaitu memanggil subrutin print.)
Karena nama variabel, nama kelas, dan nama subrutin berbentuk hampir
sama, ada baiknya untuk membedakannya sehingga di kemudian hari program
dapat dibaca dengan jelas. Kelas standar Java menggunakan nama yang
selalu dimulai dengan huruf besar, sedangkan nama variabel dimulai
dengan huruf kecil. Ini bukan sintaks Java, tetapi lebih seperti
konvensi. Setiap orang bebas menggunakan konvensinya masing-masing,
tetapi apabila pemrograman dilakukan secara bersama-sama, seperti pada
open source programming, konvensi yang sama akan sangat memudahkan orang
lain membaca dan menguji program yang kita buat. Nama subrutin juga
dimulai dengan huruf kecil, sama dengan nama variabel. Tetapi subrutin
harus diikuti dengan tanda buka kurung sehingga masih mudah dibedakan
dengan nama variabel.
Kelas sebagai kumpulan subrutin dan variabel statik
Kelas sebagai kumpulan subrutin dan variabel statik
Selain sebagai tipe data, kelas System juga memiliki subrutin statik yang bernama exit. Memanggil System.exit
akan menghentikan jalannya program, dan digunakan apabila karena suatu
hal (misalnya program telah selesai atau adanya error) program harus
dihentikan. Subrutin exit menerima parameter bilangan bulat, misalnya System.exit(0) atau System.exit(1),
untuk memberitahu kepada sistem operasi alasan kenapa program
dihentikan. Status 0 berarti program berhenti normal tanpa adanya error,
sedangkan status lain berarti ada sesuatu yang salah yang terjadi di
tengah eksekusi program tersebut.
Setiap subrutin melakukan fungsi tertentu. Beberapa di antaranya
melakukan perhitungan lalu melaporkan hasil perhitungannya. Ada juga
yang berfungsi untuk mengambil data dari tempat tertentu dan melaporkan
data yang didapat. Subrutin jenis ini disebut function (fungsi). Fungsi adalah subrutin yang mengembalikan ( return) suatu nilai. Nilai yang dikembalikan akan digunakan lebih lanjut dalam program.
Sebagai contoh adalah fungsi untuk menghitung akar kuadrat dari suatu bilangan. Java memiliki fungsi seperti itu yang disebut Math.sqrt. Fungsi ini merupakan anggota statik dari kelas yang bernama Math. Jika x adalah suatu bilangan, makan Math.sqrt(x) menghitung akar kuadrat dari x dan mengembalikan hasil perhitungannya. Karena Math.sqrt(x) mengembalikan suatu bilangan, kita tidak bisa memanggil fungsi ini seperti
Math.sqrt(x); // Tidak masuk akal!
Kita tentunya ingin menggunakan hasilnya untuk instruksi selanjutnya, misalnya menuliskan hasilnya di layar seperti
System.out.print( Math.sqrt(x) ); // Menampilkan akar kuadrat x di layar.
atau menyimpan hasilnya pada variabel lain, seperti
panjangDiagonal = Math.sqrt
Kelas Math
Posted Rab, 02/11/2009 - 02:18 by belajarprogram
Versi ramah cetakKelas Math memiliki banyak fungsi statik. Beberapa yang penting di antaranya:
Math.abs(x),
menghitung nilai mutlak (absolut) dari x. Nilai mutlak bilangan negatif
adalah bilangan positif, dan bilangan positif tetap bilangan positif.
- Fungsi trigonometri
Math.sin(x), Math.cos(x), and Math.tan(x). (Untuk semua fungsi trigonometri, sudut memiliki satuan radian, bukan derajat)
- Fungsi trigonometri inverse, yang mencari sudut dari suatu nilai
trigonometric, kebalikan dari fungsi trigonometri, seperti arcus sin,
arcus cos, dan arcus tangen.
Math.asin(x), Math.acos(x), and Math.atan(x).
Math.exp(x), menghitung pangkat dari bilangan natural e, atau ex. Dan logaritma natural loge x atau ln x bisa dihitung dengan menggunakan fungsi Math.log(x).
Math.pow(x,y) menghitung xy atau x pangkat y
Math.floor(x) menghitung pembulatan ke bawah dari suatu bilangan riil, misalnya 3.84 akan dibulatkan ke bawah menjadi 3.0
Math.random()
memilih bilangan acak di antara 0.0 dan 1.0. Komputer memiliki
algoritma perhitungan tertentu yang hasilnya bilangan acak (meskipun
bulan bilangan yang betul-betul acak, tetapi cukup untuk kebanyakan
fungsi)
Paremeter (nilai di dalam kurung) fungsi-fungsi di atas bisa bertipe
numerik apa saja (misalnya double, int, dll), tetapi keluarannya bertipe
double, kecuali abs(x) yang tipe keluarannya sama dengan tipe
parameternya.
Math.random() tidak memiliki parameter, tetapi tanda kurungnya harus
tetap ditulis untuk membedakan fungsi dan variabel. Contoh fungsi lain
yang tidak memiliki parameter adalah System.currentTimeMillis()
yang berguna untuk mengambil waktu saat ini dalam satuan milidetik,
dihitung sejak 1 Januri 1970 waktu GMT. Satu milidetik sama dengan 1 per
1000 detik. Keluarannya bertipe long.
Untuk menghitung waktu yang diperlukan untuk menjalankan suatu perintah, jalankan fungsi System.currentTimeMillis() sebelum dan sesudah suatu instruksi dijalankan. Perbedaannya adalah waktu yang diperlukan untuk menjalankan suatu instruksi.
Contoh Kelas MACHT
Berikut
ini adalah listing program untuk melakukan beberapa perhitungan
matematika, menampilkan hasilnya di layar, dan melaporkan waktu yang
diperlukan untuk melakukan perhitungan tersebut.
Kode program dapat anda unduh dalam bentuk zip file atau melalui SVN di alamat berikut : http://belajarjava.googlecode.com/svn/trunk/WaktuKomputasi
Lihat cara mengimpor contoh-contoh program ke dalam Eclipse di Bab II - Instalasi.
package waktukomputasi;
public class WaktuKomputasi {
/**
* Program ini akan melakukan beberapa perhitungan matematika,
* menampilkan hasilnya di layar, dan melaporkan waktu yang diperlukan
* untuk melakukan perhitungan tersebut
*
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
long waktuMulai;
long waktuSelesai;
waktuMulai = System.currentTimeMillis();
double panjang, lebar, sisiMiring; // sisi segitiga siku-siku
panjang = 18.0;
lebar = 27;
sisiMiring = Math.sqrt(panjang*panjang + lebar*lebar);
System.out.print("Segitiga siku-siku dengan panjang 18 dan lebar 27 memiliki sisi miring ");
System.out.println(sisiMiring);
System.out.println("\nSecara matematis, sin(x)*sin(x) + "
+ "cos(x)*cos(x) - 1 = 0");
System.out.println("Mari kita cek untuk x = 1 :");
System.out.print("sin(1)*sin(1) + cos(1)*cos(1) - 1 = ");
System.out.println( Math.sin(1)*Math.sin(1)
+ Math.cos(1)*Math.cos(1) - 1 );
System.out.println("(Mungkin akan ada kesalahan desimal dalam "
+ "perhitungan bilangan real!)");
System.out.print("\nIni adalah bilangan acak : ");
System.out.println(Math.random());
waktuSelesai = System.currentTimeMillis();
System.out.print("\nTotal waktu perhitungan : ");
System.out.print((waktuSelesai - waktuMulai)/1000.0);
System.out.println(" detik");
}
}
Berikut adalah hasil keluarannya :
| KELAS STERINGNilai suatu String adalah objek. Objek ini berisi rangkaian huruf yang membentuk string. Objek tersebut juga berisi subrutin. Misalnya length adalah fungsi yang menghitung panjang suatu string, atau jumlah karakter dalam suatu string. Misalnya string str yang dideklarasikan sebagai berikut :
String str;
str = "Hari ini cerah sekali!"
Untuk menghitung jumlah karakter dalam string str, panggil fungsi str.length() yang keluarannya bertipe int. Fungsi ini tidak membutuhkan parameter. Fungsi length merupakan anggota kelas String dan dapat digunakan oleh semua data yang bertipe String.
Dan juga bisa digunakan oleh literal string, misalnya program berikut
menghitung jumlah karakter dalam string "Indonesia Raya" :
System.out.print("Jumlah karakter dalam \"Indonesia Raya\" adalah ");
System.out.print("Indonesia Raya".length());
System.out.println(" karakter");
Kelas String memiliki beberapa fungsi di antaranya :
s1.equals(s2) adalah fungsi yang mengembalikan nilai boolean (true atau false). Fungsi ini akan menghasilkan true
jika s2 sama dengan s1, dan salah jika tidak. Kesamaan yang diuji
adalah kesamaan persis baik kapitalnya maupun urutan huruf-hurufnya.
s1.equalsIgnoreCase(s2) juga menghasilkan nilai boolean yang menguji apakah string s2 sama dengan s1 dengan tidak membandingkan kapitalnya. "Kucing".equalsIgnoreCase("kucing") menghasilkan true.
s1.length(). Seperti diulas sebelumnya, fungsi ini menghitung jumlah karakter dalam string s1.
s1.charAt(N).
N adalah integer (bilangan bulat). Fungsi ini mengembalikan karakter
ke-N dari string s1. Karakter pertama dihitung sebagai posisi ke-0. s1.charAt(0) berarti mengambil karakter pertama, sedangkan s1.charAt(1) berarti mengambil karakter ke-2, dan seterusnya. Karakter terakhir memiliki indeks s1.length() - 1. Fungsi ini akan mengeluarkan pesan kesalahan apabila N bernilai negatif atau lebih besar dari s1.length() - 1.
s1.substring(N,M),
di mana N dan M bilangan bulat. Fungsi ini mengambil potongan string
antara karakter ke-N hingga karakter M-1. Catatan bahwa karakter ke-M
tidak ikut diambil. Misalnya, "jalan layang".substring(1,4) menghasilkan "ala".
s1.indexOf(s2)
mengembalikan nilai integer. Fungsi ini mencari string s2 di dalam
string s1, dan apabila ditemukan mengembalikan posisi awal s2 di dalam
s1. Jika tidak ditemukan, fungsi ini akan mengembalikan -1. Fungsi ini
bisa juga digunakan untuk mencari string s2 dalam s1 setelah posisi ke-N
dalam string s1. Misalnya, "kelapa muda".indexOf("a") menghasilkan 3, sedangkan "kelapa muda".indexOf("a",6) menghasilkan 10.
s1.compareTo(s2)
membandingkan s2 dan s1. Jika s1 dan s2 sama, hasilnya 0. Jika s1
kurang dari s2, hasilnya bilangan negatif , dan jika s1 lebih besar dari
s2, hasilnya bilangan positif. "Kurang dari" atau "lebih dari" mengacu
pada urutannya dalam abjad jika keduanya huruf kecil atau keduanya huruf
besar. Jika kapitalnya berbeda, perbandingannya bergantung pada nilai
ASCII-nya.
s1.toUpperCase() adalah fungsi untuk mengubah seluruh huruf dalam s1 menjadi huruf besar.
s1.toLowerCase() berfungsi untuk mengubah huruf dalam s1 menjadi hurug kecil.
s1.trim()
adalah berfungsi menghapus karakter yang tak bisa dicetak, misalnya
spasi, baris baru, enter, yang ada sebelum atau sesudah suatu kalimat.
Misalnya " selamat pagi bu ".trim() menghasilkan "selamat pagi bu".
Untuk s1.toUpperCase(), s1.toLowerCase(), s1.trim() nilai s1 tidak berubah. Fungsi ini melakukan perhitungan kemudian mengembalikan string baru hasil perhitungan tersebut.
Kita bisa juga menggunakan tanda + menyambung 2 string. Misalnya
"mata" + "hari" menjadi "matahari". Nilai yang dapat disambungkan bukan
hanya string dan string, tetapi juga string dan angka, misalnya "jalan" +
2 menjadi "jalan2".
Contoh Kelas String
Posted Jum, 02/13/2009 - 01:06 by belajarprogram
Versi ramah cetakBerikut ini adalah listing program untuk melakukan beberapa contoh menggunakan kelas String, menampilkan hasilnya di layar, dan melaporkan waktu yang diperlukan untuk melakukan perhitungan tersebut.
Kode program dapat anda unduh dalam bentuk zip file atau melalui SVN di alamat berikut : http://belajarjava.googlecode.com/svn/trunk/ContohString
Lihat cara mengimpor contoh-contoh program ke dalam Eclipse di Bab II - Instalasi.
package contohstring;
public class ContohString {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// demo String.length() dan operator + untuk menghubungkan karakter
String str;
str = "Hari ini cerah sekali!";
System.out.println("Panjang string \"" + str + "\" adalah " + str.length());
System.out.print("Jumlah karakter dalam \"Indonesia Raya\" adalah ");
System.out.print("Indonesia Raya".length());
System.out.println(" karakter");
// demo equals dan compareTo
System.out.println("\"jambu\" = \"Jambu\"? " + "jambu".equals("Jambu"));
System.out.println("ignore case \"jambu\" = \"Jambu\"? " + "jambu".equalsIgnoreCase("Jambu"));
}
}
Berikut adalah hasil keluarannya :

|
|