Dasar-Dasar Pemrograman
1. Menganalisa program Java pertama saya
Sekarang, kita akan berusaha untuk menganalisa program java pertama anda :
public class Hello
{
/**
* My first java program
*/
public static void
main(String[] args) {
//menampilkan string”Hello world” pada screen
System.out.println("Hello
world!");
}
}
Baris pertama kode :
public class Hello
mengindikasikan nama class yaitu Hello. Pada java
semua kode seharusnya ditempatkan didalam deklarasi class. Kita
melakukannya dengan menggunakan kata kunci
class. Sebagai tambahan, class menggunakan akses khusus public, yang mengindikasikan bahwa class kita mempunyai akses bebas ke class yang lain dari package yang lain
pula (package merupakan kumpulan class-class).
Kita akan membahas lebih dalam mengenai
package dan akses khusus
pada pembahasan selanjutnya.
Baris berikutnya
yaitu yang terdiri atas kurung kurawal { mengindikasikan awal
blok. Pada kode ini, kita
menempatkan kurung kurawal
pada baris selanjutnya setelah deklarasi
class,
bagaimanapun, kita dapat juga meletakkan kurung kurawal ini setelah baris pertama dari
kode yang kita tulis. Jadi, kita dapat menulis
kode kita sebagai berikut :
public class Hello
{
atau
public class Hello {
Tiga baris selanjutnya
mengindikasikan adanya
komentar dalam bahasa java. Komentar adalah sesuatu yang digunakan untuk mendokumentasikan setiap bagian
dari kode yang ditulis. Komentar bukan merupakan bagian dari
program itu sendiri, tetapi digunakan untuk tujuan dokumentasi.
Komentar itu sendiri dapat
ditambahkan pada kode yang anda
tulis sebagai petunjuk yang dapat
membantu proses pembelajaran
pemrograman yang baik.
/**
* My first java program
*/
Komentar diindikasikan oleh tanda “/*”
dan “*/”. Segala sesuatu yang ada diantara tanda tersebut diabaikan oleh compiler java, dan
mereka
hanya dianggap sebagai komentar.
Baris selanjutnya,
public static void
main(String[] args) {
atau dapat
juga ditulis sebagai berikut,
public static void
main(String[] args)
{
mengindikasikan nama suatu method dalam class
Hello yang bertindak
sebagai method utama. Method utama adalah titik awal dari suatu program
java. Semua proram kecuali applet yang ditulis dalam bahasa java dimulai dengan method utama. Yakinkan untuk
mengikuti
kaidah penulisan tanda yang
benar. Baris selanjutnya juga
merupakan komentar,
//prints the string
"Hello world" on screen
Sekarang kita mempelajari 2 cara untuk membuat komentar. Cara pertama adalah dengan
menempatkan komentar dalam /* dan */, dan cara yang lain adalah dengan menuliskan tanda // pada awal komentar
Baris selanjutnya,
System.out.println("Hello
world!");
menampilkan teks “Hello World!”
pada layar. Perintah System.out.println(), menampilkan teks
yang diapit oleh tanda
double pute (“ ”) pada
layar.
Dua baris terakhir yang terdiri atas dua kurung kurawal digunakan untuk menutup method utama dan masing-masing class
secara berurutan.
Pedoman Penulisan Program:
1. Program Java yang
anda buat harus selalu diakhiri
dengan ekstensi file .java.
2. Nama File seharusnya sesuai/sama dengan nama class public nya. Sebagai contoh, jika nama
class public anda adalah Hello, anda harus menyimpan file tersebut dengan nama
Hello.java.
3. Anda harus menulis komentar sebagai penjelasan pada kode yang anda tulis, yaitu
komentar yang berisi keterangan mengenai
baris perintah pada class atau apa yang
dijalankan oleh method
yang anda tulis tersebut.
2. Komentar pada Java
Komentar adalah catatan yang ditulis pada kode dengan tujuan sebagai bahan
dokumentasi. teks ini bukan bagian dari program dan tidak mempengaruhi jalannya program.
Java mendukung tiga jenis komentar : C++ style komentar satu baris, C style beberapa
baris, dan komentar javadoc khusus
2.1. Penulisan Komentar pada C++
komentar C++Style diawali
dengan //. Semua teks setelah // dianggap sebagai
komentar. Sebagi contoh,
// This is a C++ style or
single line comments
2.2. Penulisan Komentar pada C
Komentar C-style atau juga disebut
komentar beberapa baris diawali dengan /*
dan diakhiri dengan */. Semua
teks yang ada
diantara dua tanda tersebut dianggap sebagai
komentar. Tidak seperti
komentar C++ style, itu dapat menjangkau beberapa baris. Sebagai contoh,
/* this is an exmaple of a
C style or multiline comments */
2.3. Komentar
Khusus javadoc
Komentar javadoc khusus digunakan untuk generatisasi dokumentasi HTML untuk program java anda. Anda dapat menciptakan komentar
javadoc dengan memulai baris dengan /** dan mengakhirinya dengan */. Seperti Komentar
C_style, ini dapat juga
menjangkau beberapa baris.
Ini juga dapat terdiri
atas tag-tag untuk menambahkan
lebih banyak informasi
pada komentar anda. Sebagai contoh,
/**
This is an example of special java doc comments
used
for \n
generating an html
documentation. It uses tags like:
@author Florence Balagtas
@version
1.2
*/
3. Pernyataan dalam Java dan Block
pernyataan adalah satu atau lebih baris kode yang diakhiri
dengan semicolon. sebagai contoh untuk pernyataan
tunggal adalah
System.out.println(“Hello
world”);
Block adalah satu atau lebih pernyataan
yang terbentang antara
kurung kurawal buka dan
kurung kurawal tutup yaitu sekumpulan pernyataan sebagai
satu unit kesatuan. Block pernyataan
dapat
dikumpulkan akan tetapi tidak secara pasti mempunyai
keterkaitan fungsi. beberapa jumlah spasi kosong diijinkan terdapat
didalamnya, sebagai contoh
dari suatu block adalah :
public static
void main( String[] args ){ System.out.println("Hello");
System.out.println("world");
}
4. Java Identifier
Java Identifier adalah suatu tanda yang
mewakili nama-nama vaiabel, method, class dsb. Contoh dari
pengidentifikasi adalah : Hello, main, System, out.
Pendeklarasian Java adalah case-sensitive. Hal ini berarti bahwa pengidentifikasi : Hello tidak sama dengan hello.
Pengidentifikasi harus
dimulai dengan salah
satu huruf, underscore “_”, atau tanda dollar
“$”.
Hurufnya dapat berupa huruf
besar maupun huruf kecil. Karakter selanjutnya dapat menggunakan
nomor 0 smpai 9.
Pengidentifikasi tidak dapat menggunakan kata
kunci dalam java seperti class, public, void, dsb. Selanjutnya
kita akan berdiskusi lebih
banyak tentang kata kunci dalam java.
5. Keyword dalam Java
Keyword adalah pengidentifikasi yang telah dipesan untuk didefinisikan sebelumnya oleh java untuk tujuan tertentu.
Anda tidak dapat menggunakan keyword sebagai nama variabel
anda, class, method dsb. Berikut ini adalah daftar dai kata kunci dalam java
(Java Keywords).
Gambar1: Java Key Word
Kita akan berdiskusi tentang semua arti dari masing-masing kata kunci dan bagaimana mereka digunakan dalam proses penulisan program java.
Catatan: true, false, dan null bukan termasuk
kata kunci akan tetapi mereka termasuk
kata-kata khusus, jadi anda tidak dapat menggunakan mereka
sebagai nama variabel pada
program anda.
6. Java Literals
Literals adalah tanda bahwa tidak terjadi perubahan atau konstan. Macam-macam literals dalam java adalah : Integer
Literals, Floating-Point Literals, Boolean
Literals, Character Literals
dan String Literals.
1. Literals
Integer
literals Integer dibedakan
dalam beberapa format yang berbeda:
desimal (berbasis 10), heksadesimal (berbasis 16), and oktal (berbasis 8). Dalam penggunaan tipe data integer pada program, kita harus mengikuti aturan penggunaan beberapa notasi khusus.
Untuk angka desimal, kita tidak memerlukan notasi khusus. Kita hanya menulis angka
desimal seperti apa adanya.
untuk angka heksadesimal, hal itu harus ditandai oleh “0x” atau
“0X”. untuk oktal, ditandai oleh“0”.
Sebagai contoh, mewakili
angka 12. penulisan
dalam bentuk desimalnya adalah
12, Sementara dalam heksadesimal, menjdi 0xC, dan dalam oktal, nilai tersebut ekivalen dengan
014.
Default tipe data untuk integer literals
adalah int. Int ditandai
dengan ditampilkannya
dalam 32-bit. Pada kasus-kasus tertentu anda dapat berharap untuk memaksa integer literal untuk menjadi
tipe data long dengan menambahkan karakter “l” or “L”. tipe data long
ditandai oleh ditampilkannya data dalam
64-bit. Kita akan membahas
mengenai tipe data pada kesempatan selanjutnya.
2. Floating-Point Literals
Floating point
literals
mewakili
bentuk desimal dengan bagian yang
terpisah.
Sebagai
contoh adalah 3.1415. Floating point literals dapat dinyatakan dalam notasi standard
atau scientific. Sebagai contoh,
583.45 dinyatakan dalam notasi standard, Sementara 5.8345e2 dinyatakan dalam notasi
scientific.
Default Floating point literals mempunyai tipe data double yang
dinyatakan dalam 64-bit
.Untuk menggunakan ketelitian yang lebih kecil (32-bit) float, hanya dengan menambahkan karakter “f” atau “F”.
3. Boolean Literals
Boolean literals hanya memiliki dua nilai, true atau false.
4. Character Literals
Character Literals diwakili oleh karakter
single Unicode. Karakter Unicode adalah 16-bit
character set yang menggantikan 8-bit ASCII character set. Unicode memungkinkan pengunaan symbol dan karakter khusus dari
bahasa lain.
Untuk menggunakan character
literal, karakter
tersebut di dalam tanda single
pute (' ') (single quote
delimiters). Sebagai contoh huruf a, diwakili sebagai
‘a’.
Untuk menggunakan karakter khusus seperti karakter
baris baru, backslash digunakan
diikuti dengan karakter
kode. Sebagai contoh, ‘\n’ untuk karakter
baris baru atau ganti baris, ‘\r’
untuk menyatakan nilai balik (carriage return),
‘\b’
untuk backspace.
5. String
Literals
String literals mewakili beberapa karakter
dan dinyatakan dalam tanda double pute(“
”)(
double quotes). Sebagai contoh string literal adalah, “Hello World”.
7. Tipe data primitif
Bahasa pemrograman java mendefinisikan delapan tipe data
primitif. Mereka diantaranya
adalah, boolean (untuk bentuk logika), char (untuk bentuk tekstual), byte, short, int, long
(integral), double
and float (floating point).
1. logika - boolean
tipe data boolean diwakili
oleh dua pernyataan : true dan false. Sebagai contoh adalah,
boolean result = true;
Contoh yang ditunjukkan diatas, mendeklarasikan variabel yang dinamai
result sebagai tipe
data boolean dan memberinya
nilai true.
2. teksual
– char
Tipe data character (char), diwakili
oleh karakter single Unicode.
Tipe data ini harus memiliki
ciri berada dalam tanda single quotes(’
’). Sebagai contoh,
‘a’ //Huruf a
‘\t’ //A tab
Untuk menampilkan karakter khusus seperti
' (single quotes) atau "
(double quotes),
menggunakan karakter escape \. Sebagai
contoh,
'\'' //untuk single quotes
'\"' //untuk double quotes
Meskipun, String bukan merupakan tipe data
primitif (namun merupakan suatu Class),kita
akan memperkenalkan mengenai pada bagian ini.String mewakili tipe data yang terdiri atas
beberapa karakter. mereka tidak
termasuk tipe data primitif, melainkan suatu class.
Mereka memiliki literal
yang terdapat diantara tanda double
quotes(“”).
Sebagai contoh,
String message=“Hello
world!”
3. Integral
– byte, short, int & long
tipe data yang terintegrasi
dalam java menggunakan tiga bentuk- yaitu desimal, oktal atau heksadesimal.
Sebagai contoh,
2 //nilai desimal 2
077 //angka 0 pada awal pernyataan mengindikasikan
nilai oktal
0xBACC //karakter 0x mengindikasikan nilai
heksadesimal
tipe-tipe terintegrasi memiliki default tipe data yaitu
int. Anda dapat merubahnya ke bentuk long
dengan menambahkan huruf l atau L. tipe data
terintegrasi memiliki range sebagai berikut :
Integer Length
|
Name or Type
|
Range
|
8 bits
|
byte
|
-27 to 27-1
|
16 bits
|
short
|
-215 to 215-1
|
32 bits
|
int
|
-231 to 231-1
|
64 bits
|
long
|
-263 to 263-1
|
4. Floating Point – float dan double
tipe Floating point memiliki
double sebagai default tipe datanya.
Floating-point literal terdiri atas salah satunya desimal
point atau salah satu dari pilihan berikut ini,
E or e //(add
exponential value) F or f //(float)
D or d //(double)
Contohnya adalah,
3.14 //nilai floating-point sederhana (a double)
6.02E23 //A nilai floating-point yang besar
2.718F //A nilai float size sederhana
123.4E+306D //A nilai double yang besar dengan nilai redundant D
Pada contoh yang ditunjukkan diatas, 23 setelah E pada contoh kedua bernilai positif.
Contoh tersebut ekuivalen dengan 6.02E+23.tipe data
Floating-point memiliki range sebagai berikut:
Float Length
|
Name or Type
|
Range
|
32 bits
|
float
|
-231 to 231-1
|
64 bits
|
double
|
-263 to 263-1
|
Table 2: Tipe Floating point
dan range nya
8. Variabel
Variabel
adalah item yang digunakan
data untuk menyimpan pernyataan
object.
variabel memiliki tipe data dan
nama. tipe data mengindikasikan tipe dari nilai yang dapat dibentuk oleh variabel itu sendiri. nama variabel harus mengikuti aturan untuk pengidentifikasian.
1. Deklarasi
dan Inisialisasi Variabel
Untuk deklarasi variabel adalah sebagai berikut,,
<data tipe>
<name> [=initial value];
Catatan: Nilainya berada diantara <> adalah
nilai yang disyaratkan, sementara nilai dalam tanda
[] bersifat optional.
Berikut ini adalah contoh program
yang mendeklarasikan
dan menginisialisasi beberapa variabel,
public class VariableSamples
{
public static void main(
String[] args ){
//deklarasi a tipe data dengan nama variable
// result dan tipe data boolean
boolean result;
//deklarasi tipe data dengan
nama variabel
// option dan tipe data char
char option;
option = 'C'; //menandai 'C' sebagai option
//deklarasi tipe data dengan
nama variabel
//grade, double tipe data dan telah di
inisialisasi
//to 0.0
double grade
= 0.0;
}
}
2. Menampilkan Data Variabel
Untuk mengeluarkan
nilai dari variabel yang diinginkan, kita dapat menggunakan perintah sebagai berikut,
System.out.println()
System.out.print()
Berikut ini
adalah contoh program,
public class OutputVariable
{
public static void main(
String[] args ){
int value = 10;
char x;
x = ‘A’;
System.out.println(
value ); System.out.println( “The value of x=“ + x );
}
}
Program tersebut akan mengeluarkan teks berikut pada layar,
10
The value of x=A
3. System.out.println()
vs. System.out.print()
Apa yang
membedakan diantara perintah
System.out.println()
and System.out.print()? Yang
pertama menambahkan baris baru pada akhir data untuk dikeluarkan,
sementara selanjutnya tidak.
Perhatikan pernyataan tersebut,
System.out.print("Hello
"); System.out.print("world!");
Pernyataan tersebut akan menghasilkan output berikut
ini pada layar,
Hello world!
Sekarang perthatikan pernyataan berikut,
System.out.println("Hello
"); System.out.println("world!");
Pernyataan ini
akan menghasilkan
output sebagai berikut pada layar,
Hello world!
Operators
Dalam Java, ada beberapa tipe operator. Ada operator arithmatika, operator relasi,
operator logika, dan operator kondisi. Operator ini
mengikuti macam-macam prioritas
yang pasti jadi compilernya akan tahu
yang mana operator untuk dijalankan lebih dulu dalam kasus
beberapa operator yang dipakai bersama-sama
dalam satu pernyataan.
1 Operator Aritmatika
Berikut ini adalah dasar operator arithmatika yang dapat digunakan untuk membuat suatu
program java,
Operator
|
Use
|
Description
|
+
|
op1 + op2
|
Adds op1 and op2
|
*
|
op1 * op2
|
Multiplies op1 by op2
|
/
|
op1 / op2
|
Divides op1 by op2
|
%
|
op1 % op2
|
Computes the remainder of dividing op1 by op2
|
-
|
op1 - op2
|
Subtracts op2 from op1
|
Table 3: Operator Arithmatika dan fungsi-fungsinya
2. Operator Increment dan Decrement
Dari sisi operator
dasar aritmatika, java juga terdiri atas operator unary increment
(++) dan operator unary decrement
(--). operator increment dan
decrement menambah dah mengurangi nilai
yang tersimpan dalm bentuk variabel
angka terhadap nilai 1.
Sebagai contoh, pernyataan,
count = count + 1; //increment nilai count dengan
nilai 1
pernyataan tersebut ekivalen dengan,
count++;
Operator
|
Use
|
Description
|
++
|
op++
|
Increments op by 1; evaluates to the value
of op before it was incremented
|
++
|
++op
|
Increments op by 1; evaluates to the value
of op after it was incremented
|
--
|
op--
|
Decrements op by 1; evaluates
to the value of op before it was
decremented
|
--
|
--op
|
Decrements op by 1; evaluates
to the value of op after
it was decremented
|
Table 4: operator Increment dan Decrement
Operator increment dan decrement dapat ditempatkan sebelum atau sesudah operand. Ketika digunakan sebelum operand, akan menyebabkan variabel diincrement atau
didecrement oleh nilai 1, dan kemudian nilai baru digunakan dalam pernyataan dimana dia
ditambahkan. Sebagai contoh,
int i = 10, int j = 3; int k
= 0;
k = ++j + i; //akan
menghasilkan k = 4+10 = 14
Ketika operator increment dan decrement
ditempatkan setelah operand, nilai variabel yang
lama akan digunakan lebih dulu dioperasikan lebih dulu terhadap pernyataan dimana dia
ditambahkan. Sebagai contoh,
int i = 10, int j = 3; int k
= 0;
k = j++ + i; //akan
menghasilkan k = 3+10 = 13
3 Operator Relasi
Operator Relasi membandingkan
dua nilai dan menentukan
keterhubungan diantara nilai- nilai tersebut.
Hasil keluarannya berupa nilai boolean
yaitu true atau false.
Operator
|
Use
|
Description
|
>
|
op1 > op2
|
op1 is greater than op2
|
>=
|
op1 >= op2
|
op1 is greater than or equal
to op2
|
<
|
op1 < op2
|
op1 is less than op2
|
<=
|
op1 <= op2
|
op1 is less than or equal to op2
|
==
|
op1 == op2
|
op1 and op2 are equal
|
!=
|
op1 != op2
|
op1 and op2 are not equal
|
Table 5: Operator Relasi
4 Operator logika
Operator logika memiliki satu atau lebih operand
boolean yang menghasilkan nilai
boolean.Ada enam operator logika yaitu:
&& (logika AND), &
(boolean logika AND), || (logika OR), | (boolean logika inclusive OR), ^ (boolean logika exclusive OR), dan ! (logika NOT).
Pernyataan
dasar untuk operasi logika adalah,
x1 op x2
Dimana x1, x2 dapat menjadi pernyataan boolean.Variabel atau konstanta, dan op adalah
salah satu dari operator &&, &, ||, | atau
^. Tabel kebenaran yang akan ditunjukkan selanjutnya, merupakan kesimpulan dari hasil dari setiap operasi untuk semua kombinasi
yang mungkin dari x1 dan x2.
1 && (logika AND) dan & (boolean logika AND)
Berikut ini
adalah tabel kebenaran untuk && dan &,
x1
|
x2
|
Result
|
TRUE
|
TRUE
|
TRUE
|
TRUE
|
FALSE
|
FALSE
|
FALSE
|
TRUE
|
FALSE
|
FALSE
|
FALSE
|
FALSE
|
Table 6: Truth table for
& and &&
Perbedaan dasar
antara operator && dan &
adalah bahwa && mensupports short-circuit
evaluations (atau evaluasi perbagian), sementara operator & tidak. Apa
arti dari pernyataan tersebut?
Diberikan suatu pernyataan,
exp1 && exp2
&& akan mengevaluasi pernyataan exp1, dan segera mengembalikan
nilai
false dan menyatakan bahwa
exp1
bernilai false. Jika exp1 bernilai
false, operator tidak akan
pernah mengevaluasi exp2 karena hasil operasi operator akan menjadi false tanpa memperhatikan nilai
dari exp2. Sebaliknya,
operator & selalu mengevaluasi kedua
nilai dari exp1 dan exp2 sebelum mengembalikan suatu nilai
jawaban.
2 || (logika OR) dan | (boolean
logika inclusive OR)
Berikut ini
adalah tabel kebenaran untuk || dan
|,
x1
|
x2
|
Result
|
TRUE
|
TRUE
|
TRUE
|
TRUE
|
FALSE
|
TRUE
|
FALSE
|
TRUE
|
TRUE
|
FALSE
|
FALSE
|
FALSE
|
Table 7: Table Kebenaran untuk |
dan
||
Perbedaan dasar antara operator || dan | adalah bahwa || mendukung
short-circuit
evaluations (atau proses evaluasi
sebagian),sementara | tidak. Apa
maksud dari pernyataan
tersebut?
diberikan suatu pernyataan,
exp1 || exp2
3 ^ (boolean logika ExclusiveOR )
Berikut ini
adalah tabel kebenaran untuk ^,
x1
|
x2
|
Result
|
TRUE
|
TRUE
|
FALSE
|
TRUE
|
FALSE
|
TRUE
|
FALSE
|
TRUE
|
TRUE
|
FALSE
|
FALSE
|
FALSE
|
Table 8: Tabel kebenaran
untuk ^
Hasil operasi operator
exclusive OR adalah TRUE, jika dan
hanya jika satu operand bernilai TRUE dan
yang lain bernilai False. Catatan jika
kedua operand harus
selalu dievaluasi untuk menjumlahkan hasil
dari suatu exclusive
OR.
4 ! (logika NOT)
logika NOT digunakan dalam satu argumen, dimana
argumen tersebut dapat menjadi suatu pernyataan, variabel atau konstanta. Berikut ini adalah tabel
kebenaran untukoperator not!,
x1
|
Result
|
TRUE
|
FALSE
|
FALSE
|
TRUE
|
5 Operator Kondisi(?:)
operator kondisi ?:
adalah operator ternary.
Hal ini berarti bahwa operator ini digunakan dalam tiga bentuk
pernyataan condisional argumen yang digunakan bersama-sama. Struktur pernyataan yang menggunakan operator
kondisi adalah,
exp1?exp2:exp3
Dimana nilai exp1 adalah
suatu pernyataan boolean
yang memiliki hasil yang salah satunya harus berupa
nilai true atau false.
Jika exp1
bernilai true, exp2
merupakan hasil operasi . Jika
bernilai false, kemudian exp3 merupakan
hasil operasinya.
6 Operator Precedence
Operator precedence didefinisikan
sebagai perintah yang dilakukan compiler ketika melakukan evaluasi terhadap operator,
untuk mengajukan perintah dengan
hasil yang tidak ambigu/ hasil yag
jelas.
Diberikan pernyataan yang membingungkan,
6%2*5+4/2+88-10
Kita dapat menuliskan kembali
pernyataan diatas dan menambahkan beberapa tanda kurung terhadap operator
precedence,
((6%2)*5)+(4/2)+88-10;
0 komentar:
Posting Komentar