pertemuan i - LAB TI Dasar

advertisement
PERTEMUAN I
PENGENALAN JAVA
TUJUAN PRAKTIKUM
1. Praktikan mengetahui sejarah perkembangan bahasa pemrograman Java.
2. Praktikan mengetahui fitur-fitur penting yang terdapat pada Java.
3. Praktikan mengerti konsep dan struktur bahasa pemrograman Java.
4. Praktikan mengerti konsep variabel, tipe data, dan operator pada Java.
5. Praktikan dapat membuat program sederhana dengan menggunakan bahasa
pemrograman Java.
1.1 Sejarah Singkat Java
Pada tahun 1991, sekelompok insinyur SUN yang dipimpin Patrick Naughton
dan James Gosling ingin merancang bahasa komputer untuk perangkat consumer
seperti cable Tv box. Karena perangkat itu tidak mempunyai banyak memori, bahasa
harus berukuran kecil dan menghasilkan kode yang liat, maka bahasa harus bebas dari
arsitektur manapun. Proyek ini diberi nama kode Green.
Kebutuhan kecil, liat dan kode netral terhadap platform mengantar tim
mempelajari implementasi Pascal yang pernah dicoba. Niklaus Wirth, pencipta bahasa
Pascal telah merancang bahasa portable yang menghasilkan kode antara untuk mesin
hipotesis.
Karena orang-orang di proyek Green berbasis C++ bukan pascal maka
kebanyakan sintaks di ambil dari C++, serta mengadopsi orientasi objek bukan
procedural. Produk pertama proyek Green adalah “*7”, sebuah kendali jauh yang
sangat cerdas.
Pada tahun 1995, Netscape memutuskan membuat browser yang dilengkapi
dengan Java. Setelah itu diikuti IBM, Symantec, Inspire, bahkan Microsoft. Bahasa
Java merupakan karya Sun Microsystem Inc. Rilis resmi dilakukan pada Nopember
1995. Maskot Java adalah Duke. Dua bulan berikutnya Netscape menjadi perusahaan
pertama yang memperoleh lisensi bahasa Java dari Sun.
Pada tahun 1996, Sun mengeluarkan JSDK (Java Software Development Kit),
kemudian secara berturut-turut:
Lab. Teknik Informatika - FTI Universitas Gunadarma
1
Versi 1.02
Versi 1.1
Versi 1.2
Versi 1.3
Versi 1.4
Java telah berkembang dari semula ditujukan untuk pemrograman applet yang
berjalan di web browser menjadi bahasa pemrograman kelas duni a untuk
pengembangan aneka ragam aplikasi komputer yang berjalan di bermacam-macam
perangkat mulai dari handheld devices seperti, handphone, PDA (Personal Digital
Assistant) sampai aplikasi tersebar skala enterprise di beragam komputer server. Java
adalah bahasa berorientasi objek yang dapat digunakan untuk pengembangan aplikasi
mandiri, aplikasi berbasis internet maupun intranet, serta aplikasi untuk perangkatperangkat cerdas yang dapat berkomunikasi lewat internet atau jaringan komunikasi.
1.2 Pengenalan Java
Dalam Java ada 2 jenis program berbeda, yaitu aplikasi dan applet. Keduanya
merupakan bagian dari execute, dimana execute merupakan salah satu fase kelima
dalam siklus program Java. Aplikasi adalah program yang biasanya disimpan dan di
eksekusi dari komputer lokal. Applet adalah program yang biasanya disimpan pada
komputer yang jauh,yang dikoneksikan pemakai lewat web browser. Komputer jauh
menjalankan web server yang memberi layanan terhadap permintaan web browser.
Kebanyakan bahasa pemrograman modern berdiri di atas pustaka-pustaka
kelas yang telah ada untuk mendukung fungsionalitas bahasanya. Pada bahasa Java,
kelompok-kelompok kelas yang berkaitan erat dimasukkan dalam satu paket,
bervariasi sesuai edisi Java.
Java adalah bahasa yang dapat dijalankan dimanapun dan di sembarang
platform apapun, di beragam lingkungan: Internet, intranets, consumer electronic
products, dan computer applications. Untuk beragam aplikasi yang dibuat dengan
bahasa Java, Java dipaketkan dalam edisi-edisi berikut:
1. Java 2 Standar Edition (J2SE), J2SE menyediakan lingkungan pengembangan
yang kaya fitur, stabil, aman, dan cross-platform. Edisi ini mendukung
konektivitas basis data, rancangan user interface, masukkan/ keluaran (input/
output), dan pemrograman jaringan (network programming), dan termasuk
sebagai paket-paket dasar bahasa Java.
Lab. Teknik Informatika - FTI Universitas Gunadarma
2
2. Java 2 Enterpise Edition (J2EE), J2EE menyediakan tempat untuk
membangun dan menjalankan multitier enterprise editions. J2EE berisi
paketpaket
di
J2SE
ditambah
paket-paket
untuk
mendukung
pengembangan Enterprise JavaBeans, Java Servlets, JavaServer Pages,
XML, dan kendali transaksi yang fleksibel.
3. Java 2 Micro Edition (J2ME), J2ME selain menyedikan bahasa Java yang
sama, unggul dalam portabilitas (kemampuan dapat dijalankan dimanapun),
safe network delivery, seperti J2SE dan J2EE. Aplikasi-aplikasi dapat diskalakan (dimampukan) agar dapat bekerja dengan J2SE dan J2EE. J2ME adalah
untuk beragam consumer electronic product, seperti pager, smart card, cell
phone, handheld PDA, dan set-top box.
Ada 3 kombinasi kunci yang membuat Java menjadi teknologi yang secara
fundamental berbeda dari yang lain, yang ada saat ini. Pertama, semua orang dapat
menggunakan applet yang kecil, aman, dinamik, lintas-platform, aktif, dan siap
dijalankan di jaringan sejak awal. Kedua, Java adalah bahasa pemrograman yang
ampuh, memiliki kekuatan desain berorientasi objek dengan sintaks yang sederhana
dan mudah dikenal. Ketiga, Java adalah kumpulan class object yang ampuh, yang
melayani programmer dengan uraian yang jelas untuk banyak fungsi sistem umum,
seperti pembuatan window, penggunaan jaringan, dan input/ output.
Beberapa Fitur-fitur Penting Dalam Bahasa Java
Bahasa sederhana
Java dirancang untuk mudah dipelajari dan digunakan dengan secara
efektif. Java tidak mendukung fitur-fitur rumit seperti:
1. Explicit pointer manipulation
2. Implicit type casting
3. Structures atau union
4. Operator overloading
5. Templates
6. Header files
7. Multiple inheritance
Rancangan bahasa Java telah berdasar teknologi yang telah terbukti dan
dikembangkan di bahasa-bahasa pemrograman lainnya.
Lab. Teknik Informatika - FTI Universitas Gunadarma
3
Bahasa berororientasi objek
Java bukan turunan langsung dari bahasa pemrograman manapun, juga
sama sekali tidak kompatibel dengan semuanya.
Model objek Java adalah
sederhana dan mudah dikembangkan, namun sejalan dengan itu, nilangan dan
tipe data sederhana lain dianggap sebagai non-objek berkinerja tinggi.
OOP (object oriented programming) adalah cara ampuh dalam
pengorganisasian dan pengembangan perangkat lunak. Pada OOP, program
komputer sebagai sekelompok objek yang saling berinteraksi. Objek-objek ini
ada secara secara independent yang mempunyai aturan-aturan berkomunikasi
dengan objek lain dan untuk memerinthakan objek lain guna meminta
informasi tertentu atau meminta objek lain mengerjakan sesuatu.
Bahasa statically typed
Semua objek dideklarasikan terlebih dahulu sebelum digunakan.
Melalui fitur ini kode program lebih dapat dioptmasi untuk menghasilkan
program berkinerja tinggi.
Bahasa dikompilasi
Sebelum menjalankan program di bahasa Java, program dikompilasi
menggunakan Java Compiler. Kompilais akan menghasilkan file “bytecode”
yang serupa fungsinya dengan file kode mesin. Program “bytecode” yang
dihasilkan dapat di eksekusi di sembarang Java Interpreter. Java Interpreter
membaca file “bytecode” dan menterjemahkan perintah “bytecode” menjadi
perintah-perintah bahasa mesin yang dapat di eksekusi mesin.
Bahasa yang aman
Java menggunakan model pengamanan 3 lapis untuk melindungi
sistem dari Untrusted Java Code.
1. Bytecode verifier membaca bytecode sebelum dijalankan dan
menjamin bytecode memenuhi aturan-aturan dasar bahasa Java
2. Class loader menangani pemuatan kelas Java ke runtime interpreter.
3. Manajer keamanan menangani keamanan tingkat aplikasi dengan
mengendalikan apakah program berhak mengakses sumber daya
seperti sistem file, port jaringan, proses eksternal dan sistem
windowing.
Selain itu Java menyediakan beragam teknik pengaman, yaitu:
Lab. Teknik Informatika - FTI Universitas Gunadarma
4
1. Bahasa dirancang untuk mempersulit eksekusi kode perusak
2. Program Java dikompilasi menajdi serangkaian bytecode.
3. Java mempunyai pengamanan terhadap applet.
Bahasa indpenden terhadap platform
Platform independence merupakan kemampuan program bekerja di
sistem operasi atau sistem komputer berbeda. Bahasa Java adalah bahasa
yang secara sempurna tidak bergantung platform.
Bahasa multithreading
Thread adalah menyatakan program komputer melakukan lebih dari
satu tugas di satu waktu yang sama. Java menyediakan kakas untuk menulis
program multithread, program mempunyai lebih dari 1 thread eksekusi pada
saat yang sama sehingga memungkinkan program menagani beberapa tugas
secara konkuren.
Bahasa yang didukung garbage collector
Artinya, program tidak perlu menghapus sendiri objek-objek yang
tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori
oleh pemrogram dan mengurangi atau mengeliminasi sumber kesalahan
terbesar yang terdapat di bahasa yang memungkinkanalokasi dinamis.
Bahasa yang tegar
Java interpreter memeriksa semua akses sistem yang dilakukan.
Program java tidak dapat menyebabkan crash terhadap sistem. Java
mempunyai mekanisme exception handling yang ampuh. Exception-handling
menyediakan cara untuk memisahkan antara bagian penanganan kesalahan
dengan bagian kode normal sehingga menuntun ke struktur kode program
yang lebih bersih dan menjadikan aplikasi lebih tegar.
1.2.1 Token
Dalam Java ada yang dikenal dengan istilah token. Token merupakan elemen
terkecil di program yang mempunyai arti bagi kompilator. Kompilator bertugas
membaca karakter-karakter di kode sumber dan menerapkan aturan-aturan secara
progresif menjadi potongan lebih besar seperti identifier, ekspresi, kalimat, dan kelas.
Token Java dibagi 5, yaitu:
a. Identifier
Lab. Teknik Informatika - FTI Universitas Gunadarma
5
b. Keyword
c. Literal
d. Operator
e. Separator
a. Identifier
Identifier adalah token yang merepresentasikan nama. Dalam Java, identifier
adalah nama yang diberikan untuk variable, konstanta, class, atau method.
Identifier boleh dimulai dengan huruf, underscore (_) atau tanda dollar ($).
Identifier adalah case sensitive (membedakan huruf besar/ kecil) dan tidak ada batas
maksimum.
Contoh :
username
user_name
sys_var1
$change
b. Keyword
Keyword (kata kunci) adalah identifier yang digunakan dalam Java untk suatu
tujuan khusus. Daftar keyword Java sebagai berikut:
abstract, Boolean, Break, Byte, byvalue, Case, Catch, Char, Class, Const, continue,
default, Do, double, else, extends, false, final, finally, float, for, goto, if, implements,
import, instanceof, In, Interface, Long, Native, New, Null, Package, private,
protected, public, return, short, static, Super, Switch, synchronized, This, threadsafe,
throwm Transient, True, Try, Void, while.
c. Literal
Penulisan besaran untuk variabel adalah penting, literal Java terdiri dari angka,
karakter, dan string. Angka terdiri dari bilangan bulat (integer),
bilangan
mengambang (floating point), dan boolean. Nilai boolean untuk true dan false
direpresentasikan sebagai 1 dan 0. Karakter selalu mengacu ke karakter Unicode. String
berisi rangkaian karakter. String literal merepresentasikan banyak karakter dan muncul di
dalam pasangan tanda petik ganda (”...”).
Literal karakter direpresentasikan satu karakter Unicode tunggal dan muncul
di pasangan tanda petik tunggal (’...’). Serupa C/C++, karakter khusus (seperti karakter
kendali dan karakter yang tidak dapat dicetak) direpresentasikan dengan backslash (\)
diikuti kode karakter.
Lab. Teknik Informatika - FTI Universitas Gunadarma
6
Literal
\b
\t
\n
\f
\r
\”
\’
\\
Keterangan
backspace
tab horizontal
ganti baris
formfeed
carriage return
tanda-petik ganda
tanda-petik tunggal
backslash
d. Operator
Operator menspesifikasikan evaluasi atau komputasi terhadap objek. Operan
yang dioperasikan dapat berupa literal, variabel, atau nilai yang dikirim oleh metode
atau fungsi.
e. Separator (Pemisah)
Separator digunakan untuk menginformasikan ke komplator Java mengenai
adanya pengelompokkan di kode program. Berikut daftar separator yang digunakan
dalam Java:
Tabel 1.1 Separator
Simbol
Nama
Penggunaan
()
Kurung
Untuk menghimpun parameter dalam definisi
dan pemanggilan method, juga digunakan
untuk
menyatakan
tingkat
pernyataan,
menghimpun pernyataan, untuk pengaturan
alur program, dan untuk menyatakan tipe cast
(cast types)
{}
Kurung kurawal Untuk menghimpun nilai yang otomatis
dimasukkan ke dalam array, digunakan juga
untuk mendefinisikan blok program, untuk
cakupan class, method, dan lokal.
[]
Kurung siku
Untuk menyatakan tipe array dan untuk
membedakan nilai array.
;
Titik koma
,
Koma
Pemisah pernyataan.
Pemisah urutan identifier dalam deklarasi
variabel dan untuk
.
Titik
Untuk memisahkan nama paket dari sub-paket
dan class dan untuk memisahkan variabel atau
method dari variabel referensi.
Lab. Teknik Informatika - FTI Universitas Gunadarma
7
1.2.2 Struktur Program Java
Penulisan program Java dapat dilakukan pada semua teks editor yang paling
disukai baik itu editor handal semacam eclipse dan netbeans ataupun editor simpel
seperti editplus, dan crimson. Dalam pembuatan program java yang harus
diperhatikan dalam pembuatan program java adalah penulisan huruf besar dan kecil
karena java memiliki sifat Case Sensitive. Berikut adalah bentuk umum dari penulisan
program Java:
Pertama dalam program Java minimal terdapat sebuah class, dimana nama dari
class tersebut diusahakan sama dengan nama file Java (arti dari class akan dijelaskan
pada pertemuan selanjutnya), dan setiap class harus dibuka dengan tanda ‘{‘ dan
ditutup dengan tanda ‘}’.
Contoh:
class bow{
(isi dari class)
}
Selanjutnya faktor utama lainnya yang wajib dimiliki dari sebuah program
Java adalah harus memilik sebuah fungsi utama main(). Fungsi dari main() adalah
dijadikan sebagai awal pengeksekusian aplikasi Java, kode (code) yang terdapat pada
metode inilah yang akan dieksekusi pertama kali.
Contoh: class bow{
public static void main(String[] args)
{
(tulis code/ program disini)
}
}
Metode main () didefinisikan sebagai public static void, berikut penjelasannya
public, berarti metode ini dapat dipanggil dari luar class
static, menunjukkan metode ini bersifat sama untuk semua class
void, berarti metode ini tidak mengembalikan nilai.
Argument args [] adalah array objek string argument baris-baris perintah
yang dilewatkan ke kelas yang di eksekusi.
Didalam penulisan program Java kita dapat membuat sebuah komentar, ada
dua jenis tipe komentar pada Java, yang pertama menggunakan pasangan simbol /*
dan */. Semua tulisan yang berada dalam tanda tersebut akan diperlakukan sebagai
komentar. Yang kedua menggunakan awalan simbol ‘//’, jadi semua tulisan sesudah
tanda ini dan berada pada baris yang sama dianggap komentar.
Lab. Teknik Informatika - FTI Universitas Gunadarma
8
1.2.3 Program Java Sederhana
Contoh:
// nama file : Hello.java
class Hello {
public static void main(String[] args)
{
System.out.println("Hello, World!");
}
}
Pembahasan ringkas:
Kata kunci public disebut access modifier yang mengendalikan ketampakkan
terhadap bagian-bagian program yang lain dalam menggunakan kode ini.
Kata kunci class, segala sesuatu di program Java adalah berada di dalam suatu
kelas. Berkenaan dengan contoh program sederhana diatas, nama class-nya
adalah Hello.
Setelah kata kunci class adalah nama kelasnya. Nama kelas harus dimulai
dengan huruf, setelah itu boleh kombinasi huruf dan angka. Dalam penamaan
kelas tidak boleh menggunakan kata yang dicadangkan (reserved word yang
kebanyakan merupakan kata kunci). Konvensi untuk penamaan kelas adalah
kata benda dimulai dengan huruf capital (besar) di awal kata yang berarti.
Class tersebut memiliki fungsi main() dengan parameter variabel args
dengan tipe array dari String. Fungsi main ini yang akan mengeksekusi
statement System.out.println (“Hello World!”); untuk menampilkan kata
Hello World! ke console.
Pasangan kurung kurawal merupakan awal dan akhir badan dari metode. Di
Java tiap kalimat harus diakhiri dengan titik koma (; semicolon ). Ekspresi
diatas memanggil fungsi atau metode println() di objek out yang berada di
objek System. Objek out merupakan standar output. Sementara kelas System
adalah kelas yang melindungi atau mengkapsulkan seluruh fungsionalitas
sistem.
1.3 Variabel, Tipe Data, Dan Operator
1.3.1 Variabel
Variabel digunakan dalam program untuk menyimpan suatu nilai, dan nilai
tersebut dapat diubah selama eksekusi program. Sedangkan konstanta menyatakan
nilai yang tidak berubah pada saat eksekusi, misalnya konstanta pi dalam program
Lab. Teknik Informatika - FTI Universitas Gunadarma
9
matematika. Di Java setiap variabel memiliki sebuah tipe data, Untuk membuat
sebuah variabel, pertama kita tempatkan tipe dari variabel itu dan diikuti oleh
nama dari variabel yang akan dibuat.
contohnya:
double gaji;
int hariKerja;
long jumlahPenduduk;
char c;
boolean udah;
Setiap pendeklarasian sebuah variabel harus diakhiri dengan sebuah semicolon ‘;’.
Semicolon dibutuhkan karena pendeklarasian sebuah variabel adalah sebuah
statement di Java.
Berikut ini aturan-aturan dalam membuat variabel pada Java :
•
Case sensitive, huruf kecil dan kapital berbeda. Contoh: alamat, Alamat, dan
ALAMAT menyatakan tiga variabel yang berbeda.
•
Nama dari sebuah variabel harus dimulai dengan sebuah huruf dan selanjutnya
dapat diikuti dengan huruf atau angka.
•
Huruf yang bisa digunakan adalah dari 'A'-'Z', 'a'-'z', angka dari 0-9 dan juga
simbol '_' dan ‘$’ , Untuk simbol lain dan spasi tidak dapat digunakan.
•
Dalam penamaan variabel juga tidak diperkenankan menggunakan reserved
word atau keyword dari Java.
•
Panjang variabel tidak dibatasi.
Dalam pendeklarasian variabel kita juga bisa menyatukan dua variabel dalam
pendeklarasiannya
Contoh :
int i, j;
long y,x;
char a,b;
Sebuah variabel dapat diberikan nilai awal setelah atau pada saat dideklarasikan
contoh :
int nilai;
nilai=10;
atau
int nilai=10;
Sebuah variabel dapat juga bertukar nilai atau saling memberi dengan variabel lainnya
contoh :
int nilai1=10;
int nilai2;
nilai2=nilai1;
Lab. Teknik Informatika - FTI Universitas Gunadarma
10
1.3.2 Tipe Data
Tipe data mendefinisikan metode penyimpanan untuk mereperesentasikan
informasi dan cara informasi diinterprentasikan. Tipe data berkaitan erat dengan
penyimpanan variabel di memori karena tipe data variabel menentukan cara
kompilator menginterpretasikan isi memori. Tipe data dalam Java dibagi 2 kategori:
1. Sederhana, Tipe data sederhana merupakan tipe inti. Tipe sederhana ini
tidak diturunkan dari tipe lain. Tipe ini sering disebut juga dengan tipe
primitive. Terdapat 8 tipe-tipe sederhana dan dipisahkan dalam 4
kelompok:
α. Empat tipe adalah untuk bilangan bulat (integer) bertanda: byte,
short, int, dan long.
β. Dua untuk tipe angka titik mengambang (floating point) atau bilangan
pecahan: float dan double.
χ. Satu untuk tipe karakter yaitu char, mewakili simbol pada himpunan
karakter seperti tulisan dan angka.
δ. Satu untuk tipe Boolean, merupakan tipe khusus untuk menunjukkan
besaran logika (nilai-nilai logika).
2. Komposit, Tipe data komposit disusun dari tipe data sederhana atau tipe
komposit lain yang telah ada. Tipe ini antara lain: string, array, class,
dan interface.
1.3.2.1 Byte
byte adalah tipe 8-bit bertanda. Sebaiknya digunakan jika kita menangani
aliran-aliran byte asing dari network atau file. Variabel byte dideklarasikan dengan
kata kunci byte. Contohnya, dibawah ini adalah deklarasi 2 variabel byte yang diberi
nama b dan c. Variabel c dinisialisasi dengan nilai 0x55.
byte b;
byte c = 0x55;
1.3.2.2 Short
short adalah tipe 16-bit bertanda. Tipe ini mungkin merupakan tipe yang
paling jarang digunakan karena bersifat big-endian (pengurutan byte), format data
bitatas di depan, sehingga tidak mungkin diolah pada mesin-mesin little-endian seperti
PC (Personal Computer). Saat ini, komputer 16-bit umum digunakan dalam industri
video-game, dalam hal ini kita tidak banyak berurusan dengan besaran-besaran
Lab. Teknik Informatika - FTI Universitas Gunadarma
11
variabel short. Berikut beberapa contoh deklarasi variabel short:
short s;
short t = 0x55aa;
1.3.2.3 Integer
Integer adalah tipe yang paling banyak digunakan pada program. Program
Java terdapat 5 integer, yaitu:
Tabel 1.2 Tipe Integer
Tipe
Ukuran
Range
byte
8 bit
-128 s/d 127
short
16 bit
-32768 s/d 32767
int
32 bit
-2147483648 s/d 2147483647
long
64 bit
-9223372036854775808 s/d 9223372036854775807
char
16 bit
0 s/d 65535
Tipe Char dapat dipandang sebagai bilangan bulat yang mengkodekan karakter
Unicode. Pada kebanyakan situasi tipe int paling banyak digunakan. Untuk bilangan
besar, maka digunakan tipe long. Tipe byte dan short terutama digunakan untuk
aplikasi khusus seperti penanganan file level rendah atau array besar yang disimpan
tempat kecil.
int adalah tipe 32-bit bertanda. Tipe ini paling banyak digunakan untuk
menyimpan besaran integer sederhana, karena nilainya dapat mencapai triliyunan. int
sangat baik digunakan untuk pertambahan array dan pencacahan. Contoh deklarasi
variabel int:
int i;
int j = 0x55aa0000;
1.3.2.4 Long
long adalah tipe 64-bit bertanda. Ada beberapa kasus dimana int tidak cukup
besar untuk menampung nilai yang diinginkan. Ketika menghitung pernyataan integer
dengan bilangan yang cukup besar, operasi perkalian dapat menghasilkan bilangan
ribuan triliyun. Dalam kasus seperti ini, kita membutuhkan tipe long. Berikut contoh
deklarasi variabel long:
long m;
long n = 0x55aa000055aa0000;
Jalannya program Java bebas menggunakan ukuran berapapun untuk variabel yang
diperlukan selama tipe bersifat seperti yang didefinisikan.
Lab. Teknik Informatika - FTI Universitas Gunadarma
12
1.3.2.5 Karakter (Char)
Pada Java, tipe integer terkecil adalah byte yang menyimpan besaran 8-bit
yang biasa ditemukan pada variabel char di pemrograman C dan C++. Karena Java
menggunakan Unicode untuk merepesentasikan karakter pada string, maka tipe char
menjadi 16-bit tidak bertanda dan digunakan untuk menyimpan puluhan ribu karakter
dari kumpulan karakter Unicode international. Tidak ada char negatif. Kumpulan
karakter standar yang dikenal sebagai ASCII hanya meliputi rentang nilai dari 0
sampai 127 dan memiliki pengembangan kumpulan karakter 8-bit, ISO-Latin-1 dari 0
sampai 255.
Pertama kali memang terlihat sebagai pemborosan menggunakan sampai 16bit untuk tiap karakter, karena kita telah terbiasa menggunakan huruf A sampai Z dan
beberapa karakter ASCII lainnya. Tetapi untuk jangka panjang, program-program
aplikasi akan lebih dihargai diluar negara berbahasa Inggris karena kemampuan ini.
Unicode merupakan penyatuan lusinan kumpulan karakter termasuk Latin, Yunani,
Arab, Cyrillic (Rusia), Hebrew (Israel), Katakana (Jepang), Hangul (Korea), dan lainlain. Informasi lebih lengkap tentang Unicode daapt dilihat di http://www.unicode.org
dan http://www.stonehead.com/unicode.html. Berikut beberapa contoh deklarasi
variabel char:
char c;
char c2 = 0xf132;
char c3 = ‘a’;
char c4 = ‘\n’;
Meskipun char tidak digunakan sebagai integer, kita dapat mengoperasikannya
sebagai integer. Berikut contoh yang kita mulai dari karakter awal dan menambahkan
integer yang merepresentasikan digit yang kita inginkan:
int three = 3;
char one = ‘1’;
char four = (char) (three + one);
Variabel four akhirnya berisi karakter ‘4’. Perhatikan bahwa one pada
pernyataan tersebut dinaikkan menjadi int, sehingga dibutuhkan cast untuk
mengembalikan besaran menjadi char sebelum dimasukkan ke dalam four.
1.3.2.6 Floating-Point
Bilangan pecahan (floating-point) atau lebih dikenal sebagai bilangan riil pada
bahasa pemrograman lain, digunakan pada fungsi perhitungan yang membutuhkan
ketelitian pecahan. Contoh penggunaaanya seperti perhitungan yang rumit, yaitu akar
Lab. Teknik Informatika - FTI Universitas Gunadarma
13
kuadrat atau fungsi transendental seperti
mengimplementasikan standar himpunan
sinus
dan
cosinus.
Java
tipe (IEEE-754) dan operator bilangan
pecahan. Terdapat 2 tipe floating point, yaitu:
Tabel 1.3 Tipe Floating Point
Tipe
Ukuran
Range
float
32 bit
3.4E-038 s/d 3.4E+038
double
64 bit
1.7E-308 s/d 1.7E+308
Float
Dispesifikasikan dengan kata kunci float, menggunakan
32-bit
untuk
menyimpan nilai. Ketelitian tunggal diolah lebih cepat pada sejumlah prosesor dan
hanya mengambil ruang setengahnya, tetapi akan mulai tidak teliti jika nilai yang
diolah terlalu besar atau terlalu kecil. Perhitungan sederhana yang membutuhkan
hanya sedikit ketelitian pecahan, misalkan perhitungan total suatu besaran, dimana
kita hanya membutuhkan ketelitian sepersepuluh, dapat direperesentasikan dengan
tepat, yaitu dengan float. Berikut contoh deklarasi variabel float:
float f;
float f2 = 3.14f;
Double
Dinyatakan dengan kata kunci double, menggunakan 64-bit untuk menyimpan
nilai. Semua fungsi matematis transcendental, seperti sin, cos, dan sqrt, menghasilkan
besaran double. Jika kita ingin menjaga ketelitian sampai banyak perulangan
perhitungan atau mengolah bilangan besar, double adalah pilihan terbaik. Berikut
contoh deklarasi variabel double:
double d;
double pi = 3.14159365358979323846;
1.3.2.7 Boolean
Java memiliki tipe data sederhana untuk besaran logika yang disebut boolean.
Tipe ini hanya dapat memiliki 2 kemungkinan nilai, yaitu true atau false. Tipe inilah
yang dikeluarkan oleh semua operator perbandingan, seperti (a < b). Boolean juga
merupakan tipe yang dibutuhkan oleh semua operator pengatur alur bersyarat, seperti
if, while, dan do. Berikut deklarasi variabel boolean:
boolean done = false;
Lab. Teknik Informatika - FTI Universitas Gunadarma
14
1.3.2.8 Array
Array adalah kelompok variabel dengan tipe sejenis dan dinyatakan dengan
nama yang sama. Dengan kata lain, array merupakan tipe khusus yang menyatukan
sekelompok variabel dengan tipe yang sama.
Jika kita ingin mendeklarasikan array 12 buah integer, kita menciptakan tipe
baru, yaitu “array of int”. Contoh berikut ini menunjukkan deklarasi variabel
month_days dengan tipe “array of int”:
int month_days [];
1.3.3 Operator
Pada sub bab sebelumnya telah dijelaskan secara singkat mengenai operator.
Operator dapat diartikan juga simbol yang biasa digunakan dalam menulis suatu
pernyataan dalam bahasa pemrograman. Operator akan melakukan suatu operasi
terhadap operand sesuai dengan fungsinya, seperti penjumlahan, pengurangan,
perkalian, dan sebagainya.
Operator di Java ada 7 macam, yaitu :
1. Operator penugasan
2. Operator matematika
3. Operator penaikan dan penurunan
4. Operator bitwise ( manipulasi bit ) tidak dibahas
5. Operator relasional
6. Operator logika Boolean
7. Operator majemuk
1.3.3.1 Operator Penugasan
Operator ini yang paling sederhana dan hanya dilambangkan dengan karakter ‘ =
’. Operator ini digunakan untuk menugaskan suatu nilai ke suatu variabel. Contoh:
int var = 1;
Uniknya, operator ini dapat digunakan secara berantai. Contoh:
int a,b,c;
a = b = c = 99;
Lab. Teknik Informatika - FTI Universitas Gunadarma
15
1.3.3.2 Operator Matematika
Operator ini digunakan dalam ekspresi matematika. Operator matematka yang
dikenal dalam Java adalah sebagai berikut:
Operator
+
*
/
%
Tabel 1.4 Operator Matematika
Keterangan
Contoh
Penjumlahan
4+5
Pengurangan
9-2
Perkalian
3*4
Pembagian
9/3
Modulus ( sisa bagi )
7%2
Hasil
9
7
12
3
1
Operator matematika hanya dapat digunakan dengan operan bertipe bilangan, baik
bilangan bulat maupun pecahan, serta tipe data char yang merupakan pengecualian.
Tipe data char menyimpan informasi karakter dengan menggunakan bilangan yang
merepresentasikan karakter tersebut. Contoh:
int x = 10;
int y = 2;
int z = x * y;
Dalam Unicode, karakter ‘a’
direpresentasikan dengan angka
desimal 97. Sehingga :
z = x * 10;
pada kondisi ini adalah sama dengan
:
z = 97 * 10;
char x = ‘a’;
z = x * 10;
1.3.3.3 Operator Penaikan dan Penurunan
Operator ini digunakan untuk menaikkan atau menurunkan suatu nilai integer
(bilangan bulat) sebanyak satu satuan dan hanya dapat digunakan pada variabel.
Operator-operator tersebut adalah
Tabel 1.5 Operator Penaikkan Dan Penurunan
Operator
++
--
Keterangan
Penambahan dengan nilai satu
Pengurangan dengan nilai satu
Operator ini dapat ditempatkan sebelum atau sesudah variabel. Jika ditempatkan
sebelum variabel, maka variabel tersebut akan dikurangi/ ditambah dengan 1 sebelum
Lab. Teknik Informatika - FTI Universitas Gunadarma
16
di operasikan. Sebaliknya, jika operator ini diletakkan sesudah variabel, maka variabel
tersebut akan di operasikan terlebih dahulu dan kemudian di tambahkan/ dikurangi
dengan 1. Contoh penggunaannya :
x = x + 1; dapat ditulis menjadi
y = y - 1; dapat ditulis menjadi
int
int
y =
z =
x++; atau
y--; atau
++x;
--y;
Variabel y mendapatkan nilai
x = 10;
y , z;
++x;
x++;
dari nilai x yang ditambahkan
dengan
1 terlebih dahulu,
sehingga nilai y adalah 11.
Variabel z mendapatkan nilai
dari nilai x yang belum
ditambahkan dengan 1terlebih
dahulu, sehingga nilai z adalah
10.
1.3.3.4 Operator Relasional
Operator ini digunakan untuk membandingkan dua buah nilai operand dan
menghasilkan nilai Boolean, yaitu true atau false. Berikut ini operator relasional
dalam Java:
Tabel 1.6 Opeartor Relasional
Operator
==
!=
>
<
>=
<=
Keterangan
Sama dengan ( membandingkan, bukan penugasan )
Tidak sama dengan
Lebih besar dari
Lebih kecil dari
Lebih besar dari atau sama dengan
Lebih kecil dari atau sama dengan
Operator ini banyak digunakan sebagai kontrol alur eksekusi program seperti dalam
pernyataan if, while, do, for, dan lain-lain. Contoh penggunaan :
If(x>10)
{
x = 0;
}
Lab. Teknik Informatika - FTI Universitas Gunadarma
Jika nilai x lebih dari 10 maka
akan mengeksekusi operasi
dibawahnya, yaitu nilai x
menjadi 0.
17
1.3.3.5 Operator Logika Boolean
Operator ini hanya digunakan untuk melakukan operasi pada operand yang
bertipe boolean. Berikut daftar operator logika boolean :
Operator
&
|
^
!
&&
||
==
!=
Tabel 1.7 Operator Logika Boolean
Keterangan
Logika AND
Logika OR
Logika XOR
Logika NOT
Short circuit Logika AND
Short circuit Logika OR
Logika sama dengan ( membandingkan, bukan
penugasan )
Logika tidak sama dengan
Berikut contoh penggunaan operator logika boolean :
Menggunakan short circuit AND (&&).
Jika Boolean x!=0 bernilai false, maka
Boolean y>=10 tidak akan dieksekusi.
Jika Boolean x!=0 bernilai true, maka
Boolean y>=10 dieksekusi. Jika keduanya
bernilai true, maka akan mengeksekusi
statement dibawahnya, yaitu memasukkan
nilai 15 ke variabel z.
If(x!=0 && y>=10)
{
z = 15;
}
Menggunakan
logika
AND
(&).
Mengeksekusi semua ekspresi yang terlibat.
Boolean x!=0 dan y>=10 pasti dieksekusi.
Jika keduanya bernilai true, maka akan
mengeksekusi statement dibawahnya, yaitu
memasukkan nilai 15 ke variabel z.
If(x!=0 & y>=10)
{
z = 15;
}
1.3.3.6 Operator Majemuk
Operator ini merupakan gabungan dari operator yang telah dibahas
sebelumnya dengan operator penugasan. Berikut operator majemuk pada Java yang
dipelajari:
Tabel 1.8 Operator Majemuk
Operator
Lab. Teknik Informatika - FTI Universitas Gunadarma
Keterangan
18
+=
-=
*=
/=
%=
Penambahan diikuti dengan penugasan
Pengurangan diikuti dengan penugasan
Perkalian diikuti dengan penugasan
Pembagian diikuti dengan penugasan
Operasi modulus diikuti dengan penugasan
Berikut contoh penggunaannya:
hasil += 10; memiliki arti yang sama dengan hasil = hasil + 10;
hasil -= 20; memiliki arti yang sama dengan hasil = hasil - 20;
dan seterusnya.
1.4 Output dan Input
Input data yang digunakan pada pemrosesan merupakan hal yang umum
dilakukan dalam setiap bahasa pemrograman. Data yang dimasukkan melalui
keyboard atau peralatan lain dapat digunakan untuk menghasilkan output. Output
hasil pemrosesan data dapat ditampilkan pada screen.
Output data
Output data dalam Java dapat menggunakan objek out untuk menampilkan data
program langsung. Objek ini merupakan bagian dari kelas System yang ada dalam
library java.lang. Dengan objek tersebut dapat menggunakan metode print() dan
println() dari kelas PrintStream yang terdapat dalam library java.io.
Metode println() secara otomatis menampilkan teks pada baris berikutnya.
Sedangkan metode print() menampilkan data ke screen pada posisi berikutnya dalam
baris yang sama.
Contoh:
System.out.print(“Nama:”);
System.out.println(“Dini”);
System.out.print(“Alamat:”);
System.out.print(“Bekasi”);
Output yang dihasilkan:
Nama:Dini
Alamat:Bekasi
Lab. Teknik Informatika - FTI Universitas Gunadarma
19
Input Data
Java tidak mempunyai instruksi untuk input keyboard. Fungsi input Java
terjadi pada tingkat aliran data. Untuk memasukkan sebuah data integer, string, atau
float dengan keyboard harus dibuat rutin berdasarkan metode atau subkelas
InputStream Java, yang merupakan bagian pustaka java.io. Sebuah rutin input juga
dapat dibuat menggunakan metode dari System class, yang merupakan bagian dari
pustaka java.lang.
Mekanisme khusus untuk menangani pengecualian, menggunakan throw
IOException untuk mendeklarasikan metode main(). Dalam program menggunakan
kelas dalam pustaka java.io, yaitu IOException, InputStreamReader, dan
BufferedReader. Contoh program berikut menggunakan input dengan keyboard.
(Ingat! Seluruh input di Java dianggap sebagai string).
Contoh program input dengan Application :
//nama file: EntryData1.java
import java.io.*;
class EntryData1
{
public static void main(String[] args) throws Exception
{
DataInputStream dis = new DataInputStream (System.in);
System.out.print("Ketik nama anda : ");
String nama = dis.readLine();
System.out.println("Hallo " + nama);
}
}
Atau
//nama file: EntryData2.java
import java.io.*;
class EntryData2
{
public static void main(String[] args) throws IOException
{
InputStreamReader input= new InputStreamReader(System.in);
BufferedReader dis= new BufferedReader(input);
System.out.print("Ketik nama anda : ");
String nama = dis.readLine();
System.out.println("Hallo " + nama);
}
}
Catatan : Java tidak mempunyai variabel untuk inputan, sehingga kita harus
Lab. Teknik Informatika - FTI Universitas Gunadarma
20
mendeklarasikan terlebih dahulu sebuah variabel untuk melakukan inputan, pada
program diatas adalah variabel “dis”. Berbeda dengan C++ yang menggunakan
keyword “include” maka pada Java keyword-nya adalah “import”. Pada
program diatas digunakan class io untuk dapat melakukan input dan
menghasilkan output.
Input yang diterima melalui keyboard baik input application atau applet adalah string. Untuk
mengubah string menjadi tipe data lain digunakan metode:
•
Integer.parseInt(), untuk mengkonversi string menjadi integer.
•
Float.parseFloat(),untuk mengkonversi string menjadi float.
•
Double.parseDouble(),untuk mengkonversi string menjadi double
Output data dalam Java dapat menggunakan objek out untuk menampilkan data program
langsung. Objek ini merupakan bagian dari kelas System yang ada dalam pustaka java.lang.
Dengan objek tersebut dapat menggunakan metode print() dan println() dari kelas PrintStream
dalam pustaka java.io.
Contoh program mengubah bentuk variabel dari String ke Integer :
//nama file: inputNilai.java
import java.io.*;
class inputNilai
{
public static void main(String[] args) throws Exception
{
System.out.print("Nilai 1:");
DataInputStream a=new DataInputStream(System.in);
BufferedReader b=new BufferedReader(new
InputStreamReader(System.in));
String k=a.readLine();
int nilai=Integer.parseInt(k);
System.out.print("Nilai 2:");
int nilai2=Integer.parseInt(b.readLine());
System.out.println("nilai sisa="+(nilai%nilai2));
}
}
1.5 Program
Sebelum melakukan pembuatan bahasa Pemograman Java ingat hal-hal berikut ini:
1. Memulai pemograman pada bagian class utama.
2. Bahasa pemograman Java adalah bahasa pemograman yang case sensitive,
sehingga harus diperhatikan huruf besar dan kecilnya.
3. Setiap kata pada nama class diawali dengan huruf kapital.
4. Nama file harus sama dengan nama class utama dimana program berada.
5. Nama file harus diberi extension “.java” diakhir nama file.
Lab. Teknik Informatika - FTI Universitas Gunadarma
21
6. Compile program dengan cara “ javac <nama file> .java” yang nantinya program
java akan diubah menjadi extensi .class, dan untuk mengeksekusi gunakan
perintah “java <nama file>” ingat pada saat compile extensi .java harus ikut
sedangkan untuk eksekusi extensi .class tidak perlu diikut sertakan.
1.5.1 Listing Program 1
// nama file : test2.java
class test2 {
public static void main (String args []) {
int a = 2;
int b = 1;
int c = 3;
a += 5;
b *= 4;
c +=
a * b;
c %= 6*a;
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
}
}
1.5.2 Output Program 1
a = 7
b = 4
c = 31
1.5.3 Listing Program 2
// nama file : test3.java
class test3 {
public static void main (String args [])
{
System.out.println(7);
//a
System.out.println( 5+7 ); //b
System.out.println( 5+"+" + 7 + " = " + 5 + 7 ); //c
System.out.println( 5 + " + " + 7 + " = " + (5+7)); //d
}
}
1.5.4 Output Program 2
7
12
5+7 = 57
5 + 7 = 12
Sekarang kita akan mulai membuat bahasa pemograman. Dalam tahap awal kita akan
membahas tentang contoh program no.2. Pada bagian “a” & “b” mungkin tidak terlalu sulit
dimengerti, tetapi untuk bagian “c” outputnya adalah “ 5 + 7 = 57 “ dan yang “d” adalah “5 +
7 = 12”, ini dikarenakan pada Java setiap informasi yang akan ditampilkan dipisahkan dengan
Lab. Teknik Informatika - FTI Universitas Gunadarma
22
tanda “+” sehingga pada bagian “c” tertulis “5+7” itu dianggap sebagai string sehingga tidak
dijumlahkan.
Untuk melakukan perhitungan matematis kita harus menggunakan separator buka “(“ dan
tutup kurung “)”. Kemudian yang menjadi pertanyaan kenapa pada bagian “b” bisa? Itu
dikarenakan langsung melakukan perhitungan tanpa ada informasi string didepannya ini
sangat berbeda dengan yang ada pada bagian “c”.
STEP BY STEP
1) Jelaskan tentang sejarah perkembangan bahasa pemrograman Java secara singkat!
2) Sebutkan fitur-fitur penting yang terdapat pada Java!
3) Tuliskan konsep dan struktur bahasa pemrograman Java!
4) Sebutkan variabel, tipe data, dan operator pada Java!
MATERI PRAKTIKUM
Buat sebuah program dengan aturan sebagai berikut:
1. Menampilkan kata “Konversi Temperatur” di layar.
2. Deklarasikan 3 variabel yang akan digunakan untuk menampung nilai temperatur celcius,
reamur dan fahrenheit.
3. Menampilkan kata “Input Celcius:” kemudian user diminta untuk meng-input nilai berupa
angka.
4. Rumus dari konversi temperatur celcius yang diinput ke temperatur reamur = temperatur
celcius*4/5
5. Rumus dari konversi temperatur celcius yang diinput ke temperatur fahrenheit = temperatur
celcius*9/5 +32.0
6. Menampilkan “temperatur Celcius=”lalu tampilkan pula nilai celcius yang diinput
sebelumnya.
7. Menampilkan “temperatur Reamur=”lalu tampilkan pula nilai hasil perhitungan aturan no.4.
8. Menampilkan “temperatur Fahrenheit=”lalu tampilkan pula nilai hasil perhitungan aturan
no.5.
LAPORAN AKHIR
Buatlah kesimpulan mengenai unsur-unsur bahasa pemrograman JAVA yang telah
dipraktekkan beserta dengan program-program yang telah dibuat berikut tampilan hasilnya.
Lab. Teknik Informatika - FTI Universitas Gunadarma
23
Download