1. Sejarah Singkat Java Java adalah bahasa pemograman tingkat tinggi yang berorientasi objek, diedarkan oleh Sun Microsystem1 pada awal tahun 1996. Sejarah awal Java berawal di tahun 1991 ketika satu group insinyur-insinyur Sun, yang dipimpin oleh Ptrick Naughton dan James Gosling, ingin mendesain sebuah bahasa pemograman komputer yang berukuran kecil yang dapat digunakan untuk peralatan elektronika konsumen sepertu switchboxes TV kabel. Dikarenakan peralatan-peralatan ini menggunakan konsumsi daya dan memory yang rendah, maka bahasa pemograman tersebut harus berukuran sangat kecil. Juga karena setiap vendor menggunakan CPUs (Central Processing Unit) yang berbeda, maka bahasa tersebut harus bersifat multiplatfrom, tidak terikat hanya pada satu arsitektur (Architecture Neutral). Proyek ini diberi nama Green Project. Karena harus bersifat Architecture Neutral, maka Green Project menggunakan Virtual Machine (atau dikenal dengan Java Virtual Machine) yang berasal dari model implementasi bahasa Pascal di awal-awal perkembangan PC. Dikarenakan insinyurinsinyur Sun berlatar belakang Unix2, jadi mereka mendasari bahasa pemograman mereka dengan C++ dari pada Pascal. Secara khusus mereka membuat bahasa mereka berorientasi obyek (object oriented), bukan berorientasi prosedur (procedural oriented) seperti model bahasa Pascal. Bahasa pemograman tersebut dinamakan Oak, kemudian diubah menjadi Java. Karena pada awalnya ditujuan untuk pemograman device kecil, Java memiliki karakteristik berukuran kecil, efisien, dan portable untuk berbagai hardware. Perkembangannya sempat terhenti karena tidak ada yang tertarik dan tidak memiliki pasar seperti yang diramalkan. Ketika teknologi internet berkembang, Java diarahkan untuk menjadi bahasa pemograman internet karena fitur-fitur Java seperti Architecture Neutral, real time, reliable dan secure sangat sesuai untuk pengembangan internet.
____________ 1.
2.
Sebuah perusahaan berasal dari California yang membuat software dan hardware computer Didirikan tahun 1982 oleh Andeas Bechtolsheim, Vinod Khosla dan Scott Mc Neally. Perusahaan ini lebih terkenal karena pengembangan computer untuk system operasi UNIX. Sistim operasi yang dikembangkan oleh Bell Labs pada awal tahun 1970.
Materi Dasar Komputer & Pemrograman
2. Perkenalan dengan Java Berbeda dengan bahasa pemograman yang lain yang hanya perlu di-compile atau hanya di-interpret sudah dapat menjalankan program di komputer, Java membutuhkan kedua hal tersebut (compile dan interpret) baru dapat menjalankan program yang telah dibuat.
Java Virtual Machine (JVM) Kumpulan kode-kode program yang dibuat terlebih dahulu di-compile dan akan menghasilkan Java Bytecode (file .class yang akan memuat Java Bytecode yang dihasilkan tersebut) JVM merupakan mesin virtual yang berfungsi menerjemahkan Java Bytecode tadi ke bahasa yang dimengerti oleh sistem operasi yang bersangkutan. Dengan adanya Java Bytecode, para programer merasa sangat tertolong karena hanya perlu menulis programnya satu kali saja tapi dapat digunakan di berbagai mesin yang berbeda sepanjang mesin tersebut memiliki sebuah JVM ("write once, run anywhere"). Dengan hal ini lah Java dikatakan bahasa pemograman yang multiplatform.
Beberapa aturan dasar yang perlu diperhatikan sebelum mulai menulis program Java: -
Setiap memulai untuk menulis program Java harus menggunakan keyword class.
Materi Dasar Komputer & Pemrograman
-
Penggunaan tanda kurung (seperti { }, ( ), [ ]) harus selalu berpasangan. Penggunaan tanda – tanda kurung tersebut memiliki peran masing – masing yang akan saudara pelajari nantinya.
-
Java bersifat case sensitif, artinya setiap huruf besar dan huruf kecil akan dibedakan oleh Java.
-
Penggunaan tanda ; (titik koma) untuk mengakhiri setiap perintah, pendeklarasian serta hal – hal lain.
-
Setiap program yang ditulis harus disimpan dengan nama ......java ( ..... diisi sesuai dengan nama class). Dan setelah di-compile akan menghasilkan .....class. Contoh: file dkp.java setelah di-compile akan menghasilkan dkp.class. Setiap program .java minimal menghasilkan saru file .class.
Secara ringkas, demikian proses untuk menghasilkan suatu program Java :
Ketik program simpan (....java) compile (javac .....java) execute (java .....class) hasil output Java Development Kit tidak menyertakan sebuah tool untuk menuliskan program Java kita. Oleh karena itu, untuk menuliskan program Kita harus menggunakan editing tool yang ada seperti Notepad, Textpad, JCreator dsb. Atau kita dapat menggunakan IDE yang lebih canggih seperti JBuilder, Eclipse, BlueJ, dsb tergantung pada kebutuhan kita. Untuk yang menggunakan Notepad terlebih dahulu melakukan setting path pada komputer saudara karena akan melakukan proses compile dan execute melalui command promt. Untuk hal ini tanyakan kepada asisten yang bersangkutan . Sedangkan untuk yang lain hanya perlu melakukan setting pada program editing-nya dan langsung dapat melakukan compile dan execute hanya dengan icon – icon atau shortcut key pada program tersebut. Menulis program pertama: Menampilkan tulisan di console Program : class HelloWorld { public static void main(String [] args) { System.out.println(“Hello World!!!”); } }
Materi Dasar Komputer & Pemrograman
Simpan file dengan nama HelloWorld.java. Output berupa tulisan yang ditampilkan pada console / command promt. Memberi input ke dalam program Pemberian input yang paling sederhana dan gampang di lingkungan Java dengan menggunakan swing GUI Java, JOptionPane. Program: import javax.swing.JOptionPane; class Input { public static void main (String args[]) { String s = JOptionPane.showInputDialog ("Nama : "); System.out.println ("Selamat belajar Java saudara " + s); } } Simpan file dengan nama Input.java. Hasil eksekusinya akan meminta masukan dengan menggunakan kotak dialog, dan kemudian menampilkan tulisan di konsole. Kedua contoh program diatas akan sangat penting untuk kelanjutan praktikum ini ke depannya, silahkan berlatih lebih sering . Pembahasan Program class HelloWorld { class Input { Dengan ini dideklarasikan kelas baru dengan nama HelloWorld dan Input. Dan tanda { untuk memulai pengetikan kode program. Method main Setiap program Java harus mengandung method main dengan format sebagai berikut: public static void main (String args[]) public menunjukkan ketentuan akses, bahwa semua kelas dapat mengakses data yang ada dalam ketentuan akses public. static membuat method dapat dipanggil tanpa menjadi instans dari suatu class. Pada main butuh karena main bukan instans dari suatu class tapi merupakan yang dipanggil oleh interpreter.
Materi Dasar Komputer & Pemrograman
void mengindikasikan bahwa method main tidak mengembalikan nilai apa pun. String args mendeklarasikan parameter yang diberi nama args, yang merupakan instans class String. Tanda [] menunjukan tipe array System.out.println(“Hello World!!!”); System.out.println berfungsi untuk membuat output ke layar. (“Hello World!!!”) menunjukkan bahwa output yang akan ditampilkan adalah kata Hello World!!! Tanda ; untuk mengakhiri sebuah perintah. import javax.swing.JOptionPane; import keyword untuk memanggil packet atau Java Library javax.swing.JOptionPane merupakan Java library yang mengandung method yang ada di kelas JOptionPane yang akan digunakan nantinya. Tanda ; untuk mengakhiri sebuah perintah. String s = JOptionPane.showInputDialog ("Nama : "); String s mendeklarasikan variabel s yang bertipe String. Tanda = berarti memberikan nilai variabel s sesuai dengan sisi sebelah kanan JOptionPane.showInputDialog ("Nama : ") merupakan method yang ada di library JOptionPane yang berunguna untuk memasukkan input dan akan mengembalikan nilai bertipe String yang akan disimpan pada variabel s. Tanda ; untuk mengakhiri sebuah perintah. System.out.println ("Selamat belajar Java saudara " + s); System.out.println berfungsi untuk membuat output ke layar. (“Selamat belajar Java saudara " + s ) menunjukkan bahwa output yang akan ditampilkan. Berbeda dengan yang tadi, selain kalimat Selamat belajar Java saudara akan ditambah lagi dengan nilai yang telah disimpan pada variabel s dengan menggunakan operator String + (operator penggabungan String). Tanda ; untuk mengakhiri sebuah perintah. Tanda } untuk menutup pendeklarasian dari method dan class.
Materi Dasar Komputer & Pemrograman
Menggunakan Java Library (Java API): Java mempunyai library yang merupakan kumpulan dari class yang dapat langdsung digunakan, tanpa harus dideklarasi secara eksplisit terlebih dahulu. Sebelum menggunakannya, terlebih dahulu harus di-import ke kode program kita dengan menggunakan keyword import. Contoh: import java.util.*; import javax.swing.JOptionPane; Tanda * menunjukkan seluruh class yang terkandung di dalamnya. Ada ratusan class di Java API, untuk lebih detailnya dapat dilihat pada dokumentasi yang disediakan di situs Java. Atau dapat melihat pada file src.zip yang ada di folder instalasi Java. Secara default (tanpa meng-import apa – apa) di kode program yang kita tulis terlah terintergrasi library java.lang.*. Penggunaan “static” : static memunyau arti bahwa suatu method tidak mempunyai hubungan dengan objek tertentu yang merupakan instance dari suatu class. Jadi suatu method dapat dipanggil atau suatu data static dapat diakses tanpa menghubungkannya dengan suatu objek (tanpa membuat objek) static juga mempunyai arti bahwa hal yand dirujuknya (method, objek dan reference) adalah statis, tetap, dan hanya satu itu saja. Hal–hal yang static hanya dapat mengakses hal-hal yang static juga. Jadi kita tidak dapat memanggil non-static member dari dalam static member (dalam arti memanggil secara langsung). Tapi untuk hal kebalikannya dapat dilakukan. Komentar Komentar merupakan bagian program yang tidak tereksekusi. Karena itu berapa banyak pun kita membuat komentar pada program kita tidak akan memperbesar ukuran kode program tersebut. Komentar berguna untuk menjelaskan program kita agar lebih mudah dimengerti oleh orang yang akan membaca source code program kita. Cara penulisan komentar di Java ada 3 cara :
Materi Dasar Komputer & Pemrograman
Jenis Komentar //komentar /* komentar
Keterangan Komentar sebanyak 1 baris Komentar lebih dari 1 baris
komentar */ /** komentar
Serupa dengan /* */, tapi komentar nya akan digunakan tool
komentar */
javadoc untuk menciptakan dokumentasi otomatis
Keyword dalam Java abstract
double
int
super
boolean
else
interface
switch
break
extends
long
synchronized
byte
final
native
this
case
finally
new
throw
catch
float
package
throws
char
for
private
transient
class
goto
protected
try
const
if
public
void
continue
implements
return
volatile
default
import
short
while
do
intanceof
static
Materi Dasar Komputer & Pemrograman
3. Flowchart Flowchart adalah gambar yg merepresentasikan deskripsi proses yang terjadi mulai dari awal proses sampai dengan goal (hasil) yg dicapai. Macam-macam bentuk dan kegunaan simbol-simbol flowchart sederhana, yaitu: Digunakan untuk menunjukkan awal (START) atau akhir (END) dari suatu program. Digunakan untuk melakukan proses pemasukan (Input) dan pengeluaran(Output) data. Digunakan untuk mengolah suatu proses, seperti proses aritmatika, dsb. Digunakan untuk proses pengambilan keputusan. Digunakan untuk proses yang detailnya dijelaskan dalam bentuk sub runtin atau fungsi-fungsi. Proses inisialisasi. Kenektor yang digunakan untuk menunjukkan hubungan proses yang terputus, tetapi masih dalam halaman yang sama. Konektor yang digunakan untuk menunjukkan hubungan arus proses yang terputus dengan sambungannya ada di halaman lain. Digunakan untuk menunjukkan arah proses. Ketentuannya, untuk arah proses ke bawah dan ke samping kanan tidak diberikan arah panah. Tetapi untuk arah proses ke atas dan ke samping kiri harus diberikan arah panah.
Materi Dasar Komputer & Pemrograman
Flowchart dibuat saat pertama kali kita akan menuliskan program. Algoritma yang dipakai untuk membuat program diterjemahin ke dalam flowchart sehingga memudahkan kita dalam menuliskan program. Contoh penggunaan flowchart :
START
INPUT alas, INPUT tinggi
luas = alas * tinggi / 2
OUTPUT “Luas =”, luas
END
Materi Dasar Komputer & Pemrograman
4. Perkenalan Dasar – dasar Pemograman Dalam setiap pemograman dengan menggunakan bahasa pemograman apa saja, kita harus
memiliki
dasar-dasar
dalam
melakukan
pemograman
seperti,
cara
mendeklarasikan variabel, konversi tipe data, operasi-operasi yang menggunakan operator, percabangan, perulangan, dan penggunaan array. 4.1, Variabel Variabel adalah lokasi pada memory dimana suatu nilai dapat disimpan. Variabel memiliki nama, tipe dan nilai. Sebelum menggunakannya, harus dideklarasikan terlebih dahulu. Ada 7 macam variabel, yaitu: 1. Variabel Kelas Variabel yang dideklarasikan di dalam kelas dan diberi modifier static. 2. Variabel Instans (Instance) Variabel yang dideklarasikan di dalam kelas, tapi tidak memiliki modifier static. 3. Komponen Array Array adalah deretan variabel yang bertipe sama dan dianggap sebagai suatu kelompok. Meskipun merupakan satu kelompok, masing-masing anggotanya memiliki indeks, sehingga dapat diakses secara individu. 4. Parameter Method Variabel ini berfungsi sebagai argumen input. Variabel ini memiliki life time hany selama interpreter memanggil dan mengeksekusi method tersebut. Setelah proses eksekusi selesai, variabel ini akn dihapuskan. 5. Parameter Kontruktor Adalah nilai argumen yang dilewatkan pada konstruktor 6. Parameter Exception Handler Adalah variabel yang tercipta setiap kali Exception terjadi dan ditangkap oleh catch dan try-catch. 7. Variabel Lokal dalam Blok Adalah variabel yang dideklarasikan secara lokal untuk suatu blok (antara {...})
Materi Dasar Komputer & Pemrograman
Deklarasi Variabel Setiap variabel harus memiliki tipe data (akan dijelaskan di bawah) dan diberi nama yang unik sehingga berbeda satu dengan lainnya. Contoh: int jlhSks; String nimMhs; double ipsMhs; Kita juga dapat mengelompokkan variabel-variabel yang bertipe sama, seperti: Data budi, amin, tuti; char pertama, kedua, ketiga; int a, b, c; Kita juga dapat memberi nilai awal ketika mendeklarasikannya dengan memberikan tanda = setelah variabel yang akan diberikan nilai. Nilai ini selanjutnya dapat berubah sesuai dengan proses yang dilakukan padanya. Contoh: int a, b, c=10; // hanya c yg diberi nilai awal, bukan semuanya. String nama=”Susan”; char a=’a’, b=’b’, c=’c’; Catatan untuk Nama Variabel Sebuah program bisa memanggil/memakai nilai variabel dengan nama variabel tersebut. Pada Java ada beberapa aturan dalam menggunakan nama variabel, yakni: 1. Diawali dengan abjad (a,b,c,d,...), underscore ( _ ), atau simbol dollar ( $ ). Variabel tidak bolaeh dimulai dengan bilangan. Setelah itu dapat diikuti oleh kombinasi huruf, bilangan, underscore atau dollar. Simbol lain seperti %, *, @ dan lain beberapa lainnya biasanya digunakan sebagai operator pada Java. Jadi hati-hati dalam menggunakan simbol untuk nama variabel. 2. Bukan merupakan keyword pada Java, literal boolean (true atau false) atau kata null. 3. Tidak boleh ada spasi. Jika menggunakan 2 buah kata, hendaknya digabung menjadi satu kata saja. 4. Harap diingat bahwa Java memiliki sifat case sensitif, jadi variabel X berbeda dengan x.
Materi Dasar Komputer & Pemrograman
Ada beberapa aturan konvensi tambahan yang dianjurkan dalam penamaan variabel (sifatnya tidak wajib): 1. Bila nama variable hanya terdiri dari satu abjad atau satu kata, maka semua abjad dituliskan sebagai huruf kecil. Contoh: x, nama, mhs. 2. Bila nama variabel terdiri dari dua kata atau lebih, kedua kata ini digabungkan. Huruf pertama dari kata pertama sebaiknya huruf kecil, sedangkan huruf pertama kata kedua dan kata berikutnya sebaiknya huruf kapital. Contoh: nimMhs, jlhMataKuliah. Konstanta Konstanta adalah variabel yang diberi suatu nilai awal (inisialisasi), dan nilai ini selanjutnya bersifat tetap, tidak dapat diubah oleh kelas maupun method manapun. Untuk mendeklarasikannya digunakan modifier final di depan deklarasi variabel. Contoh: Aturan dasar penamaan konstanta sama seperti penamaan kelas atau variabel, namun untuk anjuran konvensinya terdapat perbedaan sebagai berikut: 1. Semua abjad dari nama konstanta dituliskan dalam huruf kapital. 2. Bila nama konstanta lebih dari satu kata, maka semuanya disambung menjadi satu dan semua abjadnya juga ditulis dalam bentuk kapital. Contoh konstanta: final double PHI = 3.14;
Perhatikan contoh berikut: public class Variabel { Variabel(String s) {
//s merupakan variabel konstruktor
System.out.println(s); } final String MANTAP = "Selamat Belajar"; //MANTAP adalah konstanta int a,b;
//a dan b adalah variabel instans
static double angkaDobel, bil;//angkaDobel dan bil adalah variabel kelas public static void main (String []args) { double pembilang = 7;
Materi Dasar Komputer & Pemrograman
//pembilang dan penyebut adalah
double penyebut = 0;
//variabel lokal yang hanya berlaku di //scope method main saja.
char c[] = new char [5];
//c[] adalah variabel array
try { System.out.println(pembilang/penyebut); } catch(Exception e) {
//e adalah Parameter Exception Handler
System.out.println(e); } } int penjualan (int y, int z) {
//y dan z adalah parameter method
return y+z; } } 4.2. Tipe Data Setiap variabel pasti memiliki tipe data. Di Java, tipe data dapat dibagi menjadi 2 kategori: 1. Tipe data sederhana (primitif) Merupakan tipe data dasar, yang tidak diturunkan dari tipe lain. Tipe ini merupakan tipe primitif. Ada 8 tipe primitif di Java: Keyword
Deskripsi
Size/Format
Integers / bilangan bulat byte
Byte-length integer
8-bit two's complement
short
Short integer
16-bit two's complement
int
Integer
32-bit two's complement
long
Long integer
64-bit two's complement real numbers
float
Single-precision floating point
32-bit IEEE 754
double
Double-precision floating point 64-bit IEEE 754 Non numerik
char
Karakter Tunggal
Materi Dasar Komputer & Pemrograman
16-bit Unicode character
boolean
Nilai boolean
true atau false
2. Tipe data komposit Disusun dari tipe sederhana atau tipe komposit lain yang telah ada. Tipe ini antara lain String, array, class, dan
interface. Berbeda dengan bahasa
pemograman lain, dimana String merupakan tipe data primitif nya, akan tetapi di Java String dibedakan menjadi satu kelas tersendiri yang mengatur semua fungsi-fungsi yang dapat beroperasi dengan String. Literal Literal adalah istilah dalam bahasa pemograman yang dasarnya berarti apa yang diketik itu yang dihasilkan (what u type is what you get). Contoh, jika kita mengetik 4 maka secara otomatis kita mendapat sebuah bilangan yang nilainya 4. Jika kita mengetik a, maka kita akan mendapatkan karakter ‘a’. Di Java, literal dibagi menjadi: 1. Literal Numerik Adalah literal yang berupa bilangan. Ada 2, yaitu yang bertipe integer (bilangan bulat) dan betipe floating-point (bilangan real). Selain dari tipe data di atas, integer juga dapat diekspresikan sebagai bilangan oktal dan heksadesimal. Untuk bilangan oktal diawali dengan 0, contoh 0777 atau 0004. untuk heksadesimal diawali dengan 0x (atau 0X), contoh 0x123 atau 0xAF24C. 2. Literal Karakter Adalah literal yang berupa satu karakter. Karakter di sini adalah karakter 16-bit Unicode. Literal Karakter direpresentasikan di antara tanda petik tunggal (conth: ‘a’, ‘x’, ‘*’, dsb). Berikut adalah tabel untuk karakter spesial (karakter yang tidak dapat direpresentasikan secara langsung: Escape \n \t \b \r \f \\ \’ \” \ddd \xdd
Materi Dasar Komputer & Pemrograman
Meaning Baris baru Tabulasi Backspace Carriage return Formfeed Backslash Petik tunggal Petik ganda Octal Kexadecimal
\udddd
Unicode Character
3. Literal String Adalah literal yang berupa gabungan karakter. Literal String direpresentasikan di antara tanda petik ganda (contoh: “Saya sedang belajar Java.”) 4. Literal Boolean Adalah literal untuk ungkapan logika. Terdiri dari dua nilai, true dan false. Konversi dan Casting Tipe Data Konversi maksudnya adalah mengubah tipe data dari suatu ekspresi menjadi tipe data yang lain. Hal ini penting untuk diketahui agar nantinya kita dapat dengan mudah memanipulasi program kita agar didapatkan hasil yang lebih baik. Ada 2 macam cara konversi tipe data di Java, yaitu: 1. Konversi tipe otomatis Ini terjadi jika memenuhi syarat sebagai berikut: -
Dua tipe tersebut kompatibel
-
Tipe tujuan berukuran lebih besar dibanding tipe sumber
Contoh: (konversi dari tipe byte ke tipe int) semua nilai yang tertampung pada tipe byte akan selalu kompatibel dengan tipe int danjuga tipe int selalu mempunyai ukuran yang lebih besar dari pada tipe byte. (int dan byte merupakan tipe bilangan bulat dan int memiliki size yang lebih gede dari pada byte). Akan tetapi jika terjadi sebaliknya (konversi dari bke byte), maka konversi tidak akan selalu berhasil. 2. Casting Cara ini dinamakan cara konversi data secara paksa. Meski demikian casting sering diperlukan ketika suatu fungsi mengirimkan tipe data yang berbeda dengan yang dibutuhkan dalam operasi. Sintaksnya adalah sebagai berikut: (target-tipe-data) value value dapat berupa nilai langsung ataupun variabel.
Materi Dasar Komputer & Pemrograman
Perhatikan contoh berikut: public class Casting { public static void main (String []args) { byte a = 3; int b = 15; int c = a + b; //a akan dikonversi secara otomatis menjadi tipe int System.out.println(c); double d = 10.9; long e = 100; long f = e - (long)d; //d dicast nilainya dan dipaksa menjadi tipe long System.out.println(f); double x = (double)60;//60 dicast menjadi bilangan floating point System.out.println(x); } } Perlu diperhatikan, jika kita meng-cast tipe bilangan floating point menjadi tipe bilangan bulat maka terjadi kehilangan informasi pecahannya dan hanya akan memperoleh bilangan bulatnya saja. Casting yang hasilnya tidak akan hilang (informasinya) Tipe asal Tipe Tujuan byte short, char, int, long, float, double short int, long, float, double char int, long, float, double int long, float, double long float, double float double Pembacaan Input Di awal telah dijelasin cara memberikan input yang sederhana dengan menggunakan fasilitas Swing nya Java, yaitu method JOptionPane.ShowInputDialog(). Method ini sering kita gunakan untuk memasukkan nilai untuk perhitungan-perhitungan aritmatika. Masalahnya method ini mengirimkan nilai String bukan angka. Untuk konversinya kita menggunakan method sebagai berikut: -
Integer.parseInt() untuk mengkonversi menjadi nilai int.
-
Double.parseDouble() untuk mengkonversi menjadi nilai double.
Materi Dasar Komputer & Pemrograman
Contoh: import javax.swing.JOptionPane; public class KonversiMethodJOption { public static void main (String []args) { String satu = JOptionPane.showInputDialog ("Angka Pertama:"); String dua = JOptionPane.showInputDialog ("Angka Kedua:"); double x = Double.parseDouble(satu); double y = Double.parseDouble(dua); System.out.println(satu + dua); System.out.println(x + y); } } Perbandingkan hasil outputnya!!!! 4.3. Operator Operator + += -= * *= / /= % %= ++ --
Keterangan Penjumlahan Persamaan penjumlahan Pengurangan, juga untuk unary minus Persamaan pengurangan Perkalian Persamaan perkalian Pembagian Persamaan pembagian Modulus (sisa pembagian) Persamaan modulus Penambahan 1 (increment 1 ) Pengurangan 1 (decrement 1)
Operator Relasi Operator == != > < >= <=
Keterangan Sama dengan Tidak sama dengan Lebih besar dari Lebih kecil dari Lebih besar dari atau sama dengan Lebih kecil dari atau sama dengan
Materi Dasar Komputer & Pemrograman
Operator adalah karakter khusus yang memerintahkan compiler untuk melakukan operasi terhadap sejumlah operand. Operand berupa variable, pernyataan atau besaran literal. Berdasarkan jumlah operand yang dipasangkan terhadapnya, operator terbagi menjadi beberapa jenis, yakni : 1. Operator unary
hanya membutuhkan 1 operand saja.
Operand ini sendiri terbagi atas : a. Operator prefiks
operator yang ditempatkan sebelum operand.
Bentuknya : Op operator b. Operator postfiks
operator yang ditempatkan sesudah operand.
Bentuknya : Op operator 2. Operator binary infiks
membutuhkan 2 operand, operator berada diantara 2
operand. Bentuknya : Op1 operator op2 3. Operator ternary
membutuhkan 3 operand.
Hanya ada 1 operator yaitu : Op1 ? op2 : op3 4. macam operator dasar : 1* Operator aritmatika (matematika) 2* Operator relas 3* Operator Logika Boolean 4* Operator bitwise
Materi Dasar Komputer & Pemrograman
4.3.1. Operator aritmatika Operator + * / %
Pemakaian Op1 + op2 Op1 – op2 Op1 * op2 Op1 / op2 Op1 % op2
Deskripsi Penjumlahan op1 dengan op2 Pengurangan op2 dengan op1 Perkalian op1 dengan op2 Pembagian op1 dengan op2 Menghitung sisa bagi dari hasil pembagian op1 dengan op2
Terdapat beberapa bentuk unik dari penggunaan operator ini : a=a+4 dapat ditulis a + = 4 a=a*4a*=4 a=a%4a%=4 a = a + 1 a + = 1 ++a a = a – 1 a - = 1 -- a Operand yang digunakan dengan operator ini adalah operand yang bertipe data bilangan (byte, short, int, long, float dan double). Selain itu dapat juga digunakan untuk tipe char (hanya terbatas pada operator + dan - ) Akan tetapi sering juga kita menjumpai penggunaan operator + pada tipe data String. Contoh : “aku” + “sedang” + “belajar”. Akan tetapi operator + disini fungsinya bukan sebagai operator “penambahan” aritmatika, akan tetapi berfungsi sebagai “penambahan” String dalam arti penggabungan String. Jadi hasil yang didapat pada contoh tersebut adalah “aku sedang belajar”. Operator aritmatika + dan – memiliki fungsi lain, yaitu : Operato r +
Pemakaian
Deskripsi
+op
Mempromasikan op menjadi tipe int jika dia bertipe byte, short , atau
-
-op
char
Menegatifkan op
Materi Dasar Komputer & Pemrograman
Opertaor ++ dan – memeliki beberapa cara pemakaian : Operato r ++
Pemakaian
++
++op
--
Op--
--
--op
Op
++
Deskripsi Menambah op dengan 1 ; memasukkan nilai ke op sebelum ditambahkan Menambah op dengan 1; memasukkan nilai ke op sesudah ditambahkan Mengurangi op dengan 1; memasukkan nilai ke op sebelum dikurangi Mengurangi op dengan 1; memasukkan nilai ke op sesudah dikurangi.
4.3.2. Operator Relasi. Operator ini membandingkan dua nilai operand yang dipasangkan kepadanya. Nilai yang dihasilkan oleh operator ini bertipe data Boolean (true atau false) Operator Pemakaian > op1 > op2 >= op1 >= op2 < op1 < op2 <= op1<=op2 == op1= = op2 != op1 !=op2
Mnghasilakn true jika Op1 lebih besar dari op2 Op1 lebih besar dari atau sama dengan op2 Op1 lebih kecil dari op2 Op1 lebih kecil dari atau sama dengan op2 Op1 dan op2 bernilai sama Op1 sama op2 bernilai tidak sama
4.3.3. Operator Logika Boolean. Merupakan operator untuk operand yang bertipe Boolean. Dan hasilnya juga bertipe Boolean ( true atau false) Operator & | ^ && || ! == !=
Deskripsi Evaluation AND Evaluation OR Evaluation XOR Logical AND Logical OR Negation Sama dengan Tidak sama dengan
Perbedaan antara operator Evaluation dengan Logical adalah, operator Evaluation melakukan evaluasi kedua sisi untuk menentukan hasil sedangkan, operator Logical mengabaikan evaluasi sisi sebelah kanan jika hasil telah dapat ditentukan dari hasil di sisi kiri.
Materi Dasar Komputer & Pemrograman
Penggunaan. Operator && || ! & | ^ == !=
Pemakaian Op1&&op2 Op1 || op2 !op Op1&op2 Op1|op2 Op1 ^op2 Op1 = = op2 Op1!=op2
4.3.4. Operator Bitwise 1. NOT
~
2. AND
&
3. OR
|
4. XOR
^
5. Shift kiri
<<
6. Shift kanan >> 7. Shift kanan tidak bertanda (Unsigned). Operator Ternary Operator Conditional Boolean (?:) disebut juga operator ternary karena memerlukan 3 operand : 1. kondisi dan 2 ekspresi. Sintaknya : Kondisi ? Ekspresi1 : Ekspresi2 Jika Kondisi bernilai true maka Ekspresi1 dievaluasi, jika false maka Ekspresi2 dievaluasi. Akan tetapi yang akan dibahas disini adalah operator yang sering dipakai, seperti operator aritmatika, relasi dan logika Boolean. Contoh 1 : public class MatOp1 { public static void main (String [] args) { int a = 10, b=20; prt(“a+b = “+(a+b));
Materi Dasar Komputer & Pemrograman
prt(“a-b = “+(a-b)); prt(“a*B = “+(a*b)); prt(“a/b =”+(b/a)); } static void prt (String s) { System.out.println(s); } } Contoh 2: Public class MatOp2 { public static void main {String []args) { int i = 1; prt(“i=”+i); prt(“++i=+++i); prt(“i++ =”+i++); prt(“—i = “+--i); prt(“i-- = “+i--); prt(“i = “+i); } } Contoh 3 : public class MatOp3 { public static void main {String []args) { int a = 10; prt(“a=a-5=”+(a-5)); prt(“a=a-1=”+(a=1)); //sama dengan ++a prt(“b=b+5=”+(b+5)); prt(“b=b+1=”(b+=1)); //sama dengan ++b } }
Materi Dasar Komputer & Pemrograman
Contoh 4 : public class BooleanOp { public static void main {String []args) { int a = 10; b = 20; boolean c +a>b; Boolean d = a>b; prt(“a=”+a); prt(“b=”+b); prt(“c=”+c); prt(“d=”+d); prt(“!c=”+!c); prt{“c&&d =”+{c&&d)); prt{“c|| d = “+9c||d)); prt(“c&d = “+(c&d)); prt(“c| d = “+(c|d)); prt(“c^d = “+(c^d)); prt(‘c^d =”+(c^d)); prt(“c! = d = “+(c!=d)); } Static void prt(String S) { System.out.println(s); } }
Materi Dasar Komputer & Pemrograman
Contoh 5 : Public class Ternary { Public statis void main (String {}args) { Int a = 42; Int b = 2; Int c = 99; Int d = 0; Int e = (b==0) ? 0 : (a/b)’ Int f = (d==0) ? 0 : (c/d); System.out.println(“a = “+a); System.out.println(“b=”+b); System.out.println(“c=”+c); System.out.println(“d=”+d); System.out.println(“a/b =”+e); System.out.println(“d/e =”+f); } } 4.4. Percabangan (Branching) Percabangan/Branching/Seleksi sering kali dipakai dalam membuat suatu program yang menghadapkan kita pada penentuan pilihan yang sesuai dengan kondisi yang sesuai. Beberapa macam Branching: 1. if 2. if – else 3. switch 4. jump 4.4.1. if Bentuk umum: if (kondisi boolean) { Statement-statement } Statement-statement yang ada akan dieksekusi jika kondisi boolean yang diuji bernilai true.
Materi Dasar Komputer & Pemrograman
Contoh: public class If { public static void main (String []args) { int cek = 3; String angka = ""; if(cek == 1) { angka = "satu"; } if(cek == 2) { angka = "dua"; } if(cek == 3) { angka = "tiga"; } System.out.println(cek + " adalah angka " + angka); } } 4.4.2. if-else Berbeda dengan bentuk if, bentuk ini ditambah dengan kondisi else untuk menjelankan statement yang tidak tidak sesuai dengan kondisi-kondisi boolean yang ada. Bentuk umum: if (kondisi boolean) { Statement 1 } else { Statement 2 }
Materi Dasar Komputer & Pemrograman
Contoh 1: public class IfElse { public static void main (String []args) { double n = 75.5; String nilai = ""; if (n>50) { nilai = "bagus"; } else { nilai = "jelek"; } System.out.println("Anda mendapat nilai "+ nilai); } } 4.4.3. switch Bentuk Umum: switch(kondisi syarat) { case 0: .....; break; case 1: .....; break; case 2: .....; break; default: ....; } Contoh: Public class Switch { Public static void main (String {}args) { Int list = 3; String rumah ; Switch(list) { Case 1::rumah =”sederhana sekali”; Break; Materi Dasar Komputer & Pemrograman
Case 2 :rumah=”sederhana”; Break; Case 3 :rmah =”biasa”; Break; Case 4:rumah =”mewah”; Break; Default:rumah =”tidak ada”; } Sysrem.uot.println(“Tipe rumah yang anda pilih”+rumah); } }
4.4.4. jump Ada 2 macam jump statement : 1. break 2. continue Contoh : class Break { public static void main(String args[]) { boolean t = true; ada1: { ada2: { ada3: { System.out.println("Awal"); if (t) break ada2; System.out.println("Tengah"); } System.out.println("Akhir"); }
Materi Dasar Komputer & Pemrograman
System.out.println("Selesai"); } } } Contoh : class Continue { public static void main(String args[]) { for (int i=0;i<10;i++) { System.out.print(i+ ""); if(i % 2 ==0) continue; System.out.println(""); } } } Contoh : public class BreakAndContinue { public static void main(String args[]) { for(int i=0;i<100;i++) { if (i==74) break; if (i%9!=0) continue; System.out.println(i); } int i = 1; while (true) { i++; int j = i*27; if(j==1269) break; if(i%10!=0) continue; System.out.println(i); } } }
Materi Dasar Komputer & Pemrograman
Contoh : public class LabeledFor { public static void main (String args[]) { int i = 0; outer: for(;true;){ inner: for(;i<10;i++) { prt("i="+i); if(i==2) { prt("continue"); continue; } if(i==3) { prt("break"); i++; break; } if(i==7) { prt("continue outer"); i++; continue outer; } if(i==8) { prt("break outer"); break outer; } for(int k=0;k<5;k++) { if(k==3) { prt("continue inner"); continue inner; } } } } }
Materi Dasar Komputer & Pemrograman
static void prt(String s) { System.out.println(s); } } outer dan inner disini disebut label. Label seperti ini boleh digunakan untuk merujuk pada suatu bagian tertentu dari class. 4.5. Pengulangan (Looping) Dengan perulangan, program akan mengulang bagian tertentu selama syarat atau kondisi tertentu terpenuhi. Ada 3 macam looping: 1. for 2. while 3. do-while 4.5.1. for Bentuk umum: for(....;....;....) {......;} Contoh: class Ulang { public static void main(String args[]) { for(int n=10;n>0;n--) { System.out.println("Ulang "+n); } } }
Materi Dasar Komputer & Pemrograman
Contoh: public class ListCharacter { public static void main(String args[]) { for(char c=0;c<128;c++) { if(c!=26) System.out.println("Value: "+(int)c + "character: "+c); } } }
4.5.2. while Bentuk umum: while (... ... ...) {...........;} Contoh: class While { public static void main(String args[]) { int n = 10; while(--n >=0) { System.out.println("Boing"+(n+1)); } } } Contoh: class WhileTest { public static void main(String arg[]){ double r = 0; while (r<0.99d) { r=Math.random(); System.out.println(r); } } } Materi Dasar Komputer & Pemrograman
4.5.3. do-while Bentuk umum do{........ ........;} while{.......}; Contoh: class Dor { public static void main(String args[]) { int i = 0; do { System.out.println("Dor "+i+" kali!"); i++; } while(i<=5); } } Bedanya do-while dengan while adalah: Pada do-while, yang ada di dalam do akan dijalankan terlebih dahulu sebelum mengecek syarat di while. Jadi sebelum syarat while dicocokkan, do sudah dijalankan terlebih dahulu. Sesudah selesai baru syarat while diperiksa. Pada while, diperiksa dulu apakah syarat di while itu terpenuhi baru dijalankan. 4.6. Array Array adalah kelompok variable dengan tipe sejenis dan dinyatakan dengan nama yang sama. Yang dimaksud dengan tipe yang sejenis adalah kita dapat membuat suatu array dengan tipe data tertentu, misalnya array dengan tipe integer atau bertipe double. Bentuk umum: ArrayType VariableName []; VariableName = new ArrayType [banyak data];
Materi Dasar Komputer & Pemrograman
Contoh: class array { public static void main(String args[]) { int arr[]; arr = new int[4]; arr[0] = 10; arr[1] = 20; arr[2] = 30; arr[3] = 40; System.out.println(arr[2]); } } Array Multidimensi Yang dimaksud dengan Array Multidimensi adalah array yang dapat dibuat dalam susunan [] (1 Dimensi), [] [] (2 Dimensi), [] [] [] (3 Dimensi), dsb. Contoh nya seperti matriks. Bentuk umum: ArrayType VariableName [] [] ....; VariableName = new ArrayType [banyak data] [banyak data] [banyak data] ...; Contoh: class matrix { public static void main(String args[]) { double m[][]; m = new double [3][3]; m[0][0]=1; m[1][1]=1; m[2][2]=1; System.out.println(m[0][0]+" "+m[0][1]+" "+m[0][2]); System.out.println(m[1][0]+" "+m[1][1]+" "+m[1][2]); System.out.println(m[2][0]+" "+m[2][1]+" "+m[2][2]); } }
Materi Dasar Komputer & Pemrograman
Pembahasan: Untuk array ada besaran khusus yang disebut “null” yang merepresentasikan array tanpa isi. Jadi untuk mengisi digunakan operator new. Operator new berfungsi untuk mengalokasikan ruang untuk array 5. Pengenalan Tentang Konsep OO ( Obyect Oriented ) 5.1. Obyek Object Oriented Programming ( OOP ) merupakan konsep pemrograman objek yang memiliki atribut dan fungsi yang digunakan untuk melakukan manipulasi terhadap atribut tersebut. Dalam OOP, obyek dibagi-bagi menjadi obyek-obyek yang lebih kecil lagi. Kemampuan untuk mengkombinasikan obyek-obyek ini merupakan aspek terumum dalam OOP. OOP menyediakan beberapa konsep dan fitur untuk membuat dan menggunakan obyek lebih mudah dan lebih fleksibel. Dalam pengertiannya, obyek merupakan sesuatu benda, baik yang nyata maupun yang tidak (sesuatu yang kita bayangkan). Sebuah obyek memiliki atribut dan perilaku. Atribut menyatakan kondisi yang ada/melekat pada obyek, sedangkan perilaku menyatakan sekumpulan aksi yang dapat dilakukan oleh obyek. Sebagai contaoh, sebuah mobil memiliki atribut berupa : roda, kecepatan, klakson dsb. Sedangkan perilakunya meliputi berbelok, mengerem, mundur dll. Sama seperti dalam kehidupan nyata, dalam OOP setiap obyek dimodelkan ke dalam sebuah program. Dalam OOP, atribut derelasikan sebagai variable serta perilaku sebagai fungsi (method). 5.2. Kelas. Kelas merupakan fitur terpenting dalam OOP. Obyek didefinisikan dengan sebuah kelas. Kelas merupakan model (blue print) yang digunakan untuk menciptakan sebuah obyek. Analoginya seperti blue print pada pembuatan mobil yang dibuat oleh desainer (perancang mobil). Setiap mobil memiliki karakteristik yang sama. Blue print ini menggambarkan semua karakteristik yang dimiliki oleh mobil, seperti : pintu, setir, knalpot, klakson, saluran transmisi, dan sebagainya. Dengan blue print ini maka banyak mobil yang dapat dibuat. Dari blue print yang ada dapat dibuat mobil-mobil yang berbeda, misalnya dalam hal bahan yang digunakan, Materi Dasar Komputer & Pemrograman
jumlah roda, posisi setir, dan sebagainya. Tetapi mereka tetap dikatakan memiliki karakteristik yang sama. Sama dengan kenyataan sehari-hari, dalam OOP, ini merupakan hal yang biasa bahwa obyek dengan jenis sama memiliki karakteristik yang sama. Sebagai contoh tadi, obyek mobil memiliki beberapa variable yang menyatakan atribut dari mobil dan implementasinya dari fungsi (method) menyatakan perilaku dari mobil tersebut. Pada saat instance dari kelas dibuat, maka variable yang dideklarasikan akan disimpan di memori. Variabel tersebut kemudian akan dimodifikasi dengan menggunakan method yang disediakan. 5.3. Enkapsulasi (Encapsulation) Enkapsulasi merupakan proses pembungkusan data dan method yang menyusun suatu kelas dan menyembunyikan dari luar sehingga kelas dapat dipandang sebagi suatu modul. Dalam pemrograman hal ini dikenal dengan Information Hiding. Layaknya seperti kapsul obat yang berfungsi untuk “membungkus” serbuk obat menjadi suatu modulo bat kapsul. 5.4. Pewarisan (inheritance) Inheritance adalah proses pewarisan data dan method dari suatu kelas kepada kelas lain. Kelas yang mewariskan disebut Kelas Super dan kelas yang diwariskan disebut Subkelas.
Materi Dasar Komputer & Pemrograman
Kendaraan
Kendaraan bermotor
Mobil
Sepeda Motor
Kendaraan tak bermootor
Sepeda
Becak
5.5. Polimorfisme Polimorfisme dalam kamus bermakna banyak bentuk. Misalnya penggunaan kata “sayap” pada kalimat “Sayap burung itu terluka”, “Perusahaannya mulai melebarkan sayapnya sampai ke pelosok Sumatera”, “Kaum polirik sayap kiri mulai memulai aksi demonstrasinya”. Penggunaan kata “sayap” dapat diimplementasikan pada beberapa objek dan diinterpretasikan ke dalam beberapa makna. Dalam OOP, polimorfisme memiliki makna, fungsi yang sama memiliki perilaku yang berbeda pada kelas-kelas yang berbeda. Polimorfisme memiliki kaitan erat. Dengan inheritance (pewarisan). 5.6. Pesan (Message). Objek tunggal secara umum yang berguna, kebanyakan objek memerlukan objek-objek lain membentuk suatu program atau aplikasi yang kompleks. Obyek-obyek itu akan saling berinteraksi dan berkomunikasi lewat pesaan (message). Ketika berkomunikasi, obyek mengirim peran ke obyek lain untuk melakukan sesuatu yang diharapkan. Ada 3 hal yang perlu diperhatikan yaitu : a). Obyek yang akan menerima pesan b) Nama aksi yang diharapkan, dan c) Parameter yang diperlukan.
Materi Dasar Komputer & Pemrograman
Pengertian “pengiriman pesan” di sini merupakan cara lain mengatakan “pemanggilan method”. Contoh : Sebuah obyek segitiga, dikirim pesan hiting luas, dengan parameter alas dan tinggi. Kelas dan Method I. Kelas Pada pemograman terstruktur seperti Pascal dan C, programmer akan membagi program menjadi beberapa modul sesusai dengan tugasnya masing-masing untuk mengurangi komplesitas aplikasi. Modul tersebut dikenal dengan istilah prosedur dan fungsi. Dalam konsep OOP. Seperti Java dan C++, modul berupa kelas dan method. Kelas dan method ini kemudian dapat dibagi lagi menjadi dua, yaitu: 1. Kelas dan method standard/fundamen. Merupakan kelas yang telah disediakan oleh Java. Java telah menyediakan begitu banyak kelas standard maupun method yang dapat digunakan untuk aplikasi yang spesifik. Kumpulan dari method ini dikenal juga sebagai Java API (Aplication Programming Interface). 2. Kelas dan method yang didefinisikan sendiri. Selain menggunakan kelas dan method standar, kita juga dapat membuat kelas dan method sesuai dengan keinginan kita. Sebuah program yang kompleks dapat dibagi dalam beberapa kelas. Deklarasi Kelas Deklarasi kelas yang paling sederhana adalah: class NamaKelas { Class body } Tapi secara umum, kelas memiliki struktur anatomi sebagai berikut (Modifier 1) class NamaKelas (Modifier 2) { Class body }
Materi Dasar Komputer & Pemrograman
Modifier disini bersifat optional (boleh dipakai boleh tidak), tergantung pada perancangan program dan bagaimana sifat kelas tersebut terhadap kelas lainnya. Beberapa modifier yang sering digunakan untuk mendeklarasikan kelas antara lain: Modifier 1 public
private
protected
abstract
final
Modifier 2 extends SuperClass
implement Interfaces
Aturan Penamaan Kelas Aturan Dasar
Materi Dasar Komputer & Pemrograman
Keterangan Menyatakan bahwa kelas tersebut dapat juga diakses oleh kelas lain, baik yang masih berada dalam package yang sama maupun berbeda. Menyatakan bahwa kelas tersebut tidak dapat diakses oleh kelas lain tanpa memandang apakah dia berada dari paket yang sama atau bukan. Membatasi akses yang dilakukan oleh subkelas turunannya (dari proses pewarisan/inharitance) dan kelas lain yang terletak dalam paket yang sama. Menyatakan bahwa kelas tersebut tidak dapat diinisialisasi langsung menjadi objek. Modifier ini hanya dipakai dipakai bila kelas tersebut terletak pada hirarki tertinggi, sehingga hanya mungkin diturunkan sebagai subkelas, buka diintansiasi menjadi objek Menyatakan bahwa kelas tersebut tidak dapat diturunkan menjadi subkelas (pewarisan/inheritance) Keterangan Digunakan dalam prinsip inheritance, yaitu bila kelas merupakan subkelas dari suatu kelas super (SuperClass). Inheritance adalah salah satu pilar penting dalam OOP, dimana suatu kelas dapat mewariskan seluruh data dan method yang dimilikinya kepada kelas lainnya. Kelas yang mewariskan disebut kelas super (SuperClass), sedangkan yang kelas yang menjadi ahli waris dinamakan subkelas (SubClass). Digunakan bila kelas tersebut mengimplementasikan satu atau lebih interface. Bila terdapat lebih dari satu interface, digunakan koma diantara interface-interface tersebut.
1. Diawali dengan abjad (a,b,c,d,...), underscore ( _ ), atau simbol dollar ( $ ). Variabel tidak bolaeh dimulai dengan bilangan. Setelah itu dapat diikuti oleh kombinasi huruf, bilangan, underscore atau dollar. 2. Tidak boleh menggunakan keyword dalam Java 3. Tidak boleh menggunakan operator 4. Java bersifat case sensitive (huruf kecil dan huruf besar berbeda) 5. Tidak boleh menggunakan spasi. Bila ada 2 suku kata hendaknya digabung menjadi 1 suku kata. Aturan Konvensi (boleh diikuti, boleh tidak) 1. Huruf pertama kelas adalah huruf kapital 2. Nama kelas hendaknya mempresentasikan apa yang dideklarasi di dalam kelas tersebut. 3. Bila nama kelas tersebut terdiri dari 2 suku kata atau lebih, semua kata tersebut digabungkn. Huruf pertama setiap suku kata sebaiknya huruf kapital. 4. Nama file *.java disesuaikan dengan nama kelas yang ada. Harus diingat juga beberapa aturan berikut: 1. Dalam satu file *.java diperbolehkan memiliki lebih dari 1 kelas. 2. Dalam satu file *.java hanya diperbolehkan satu kelas yang dideklarasikan sebagai public dan nama file dari *.java ini harus sama dengan nama kelas yang dideklarasikan sebagai public. 3. Bila dalam satu file *.java terdapat sejumlah n kelas, maka pada ssaat kompilasi akan dihasilkan sebanyak n file *.class. Proses ini sama seperti bila kelas-kelas tersebut dituliskan dalam file *.java yang berbeda. Scope/Blok Scope ditandai dengan oleh tanda kurawal buka dan tutup { }. Ada 3 macam Scope, yaitu: 1. Scope berupa Kelas 2. Scope berupa Blok 3. Scope berupa Method Operator new Operator ini digunakan untuk membentuk (menginstansiasi) objek dari suatu kelas dimana akan mereferensi ke objek tersebut. Bentuk umumnya adalah:
Materi Dasar Komputer & Pemrograman
NamaKelas ObjekReference = new NamaKelas( ); Contoh: Mahasiswa andi = new Mahasiswa( ); Instans baru dari kelas Mahasiswa dibuat dan disimpan dalam variabel andi. Operator Dot ( . ) Setelah menginstans suatu objek, kita mesti menggunakan operator dot untuk mengakses variabel instans dan method melalui objek yang telah dibuat. Bentuk umum:
ObjekReference.InstanceVariable ObjekReference.MethodName
atau
Contoh: class Mahasiswa{ double nilai, sks; public static void main (String args[]){ Mahasiswa andi = new Mahasiswa( ); andi.nilai = 4; andi.sks = 2; Mahasiswa budi = new Mahasiswa( ); budi.nilai = 3.5; budi.sks = 3; System.out.println(andi.nilai*andi.sks +” “+budi.nilai*budi.sks); } } II. Method Method adalah antarmuka fungsional suatu class atau sub-rutin yang dikaitkan pada definisi suatu class tertentu. Method dideklarasikan di dalam sefinisi class yang di tingkat yang sama dengan variabel instans. Method juga harus dipanggil dalam konteks instans tertentu dari suatu class, disebut juga “Pemanggilan Method tertentu pada suatu Objek”.
Materi Dasar Komputer & Pemrograman
Bentuk umum: ReturnType MethodName (parameter-list) { method body; } ReturnType = tipe besaran yang akan dikeluarkan oleh method. Dapat berupa tipe data dan void jika tidak ada nilai yang akan dikeluarkan. MethodName = merupakan nama method yang dideklarasikan. Aturan penamaannya sama dengan aturan penamaan kelas, tetapi tidak boleh sama dengan nama kelas yang menlingkupinya. Parameter-list = parameter yang akan diperlukan oleh method untuk diproses menghasilkan sebuah nilai. Jika terdapat lebih dari satu parameter, maka penulisannya dipisahkan dengan koma. Bisa juga tidak berisi apa-apa (kosong). Selain itu didepan deklarasi method dapat ditambahkan access modifier Java. Pemanggilan Method Menggunakan operator . (dot) dan objek reference yang telah dibuat dengan operator new. Bentuk umum:
ObjekReference.MethodName(Parameter-list) Parameter-list yang diisi saat memanggil method harus memiliki tipe data yang sama dengan deklarasi method, dan jika parameter lebih dari satu maka dipisahkan dengan koma dan harap diperhatikan urutannya. Contoh 1: public class Method1 { public static void main (String args[]) { int x = 10; double y = 30.0; Method1 z = new Method1( );
Materi Dasar Komputer & Pemrograman
double hasilJumlah = z.penjumlahan(x,y) System.out.println (hasilJumlah); System.out.println (z.penjumlahan(x,60); //auto casting } public double penjumlahan(int a, double b) { return a + b; } } Contoh 2: public class Method2 { void cetak (String s) { System.out.println (s); //No keyword return } public static void main(String args[]) { Method2 obj = new Method2( ); obj.cetak("Selamat Datang"); } } Contoh 3: public class Method3 { int a = 10; int b = 20; void cetak (String s) { System.out.println (s); } public static void main(String args[]) { Method3 obj = new Method3( ); obj.cetak("Selamat Datang"); obj.cetak("10 x 20 = " + obj.perkalian( )); } int perkalian( ) { int c = a * b; return c; }
Materi Dasar Komputer & Pemrograman
//No Parameter
} Ada kalanya kita juga menambahkan keyword static didepan deklarasi method kita. Contoh: public class Method4 { public static void main(String args[]) { double luasSegitiga = luassegitiga(12,15); prt(luasSegitiga); Method4 obj = new Method4( ); obj.prt(23.6); } static void prt (double s) { System.out.println(s); } static double luassegitiga(double alas, double tinggi) { double luas = alas * tinggi /2; return luas; } } Method Overloading Method Overloading berarti membuat method yang memiliki nama yang sama menjadi bisa digunakan untuk banyak tipe argument yang berbeda. Overloading ini biasa digunakan untuk method dan konstruktor.
Materi Dasar Komputer & Pemrograman
Contoh : public class OverloadMethod { void print {String s, int I ){ System.out.println(String:”+s+”int:”+i); } void print (int i, String s) { system.out.println (“int : “i+”string:”+s); } public static void main(String {}args) { overloadMethod a = new OverloadMethod(); a.rint(“String first”,10); a.print(100,”int first”); } { Catatan : Hati-hati melakukan Overloading terhadap objek yang memiliki return type. Contoh : public class OverloadMethod2 { int tambah (int i) { return i+10; } Int tambah (double i ) { Return i+100; } public static void main (string {}args) { overloadMethod2 a = new OverloadMethod2 (); system.out.println (a.tambah(10)}; system.out.println(a.tambah(20.0)); { }
Materi Dasar Komputer & Pemrograman
Apa yang membuat program error ? Kontruktor Kontruktor adalah method yang dipanggil pada saat pembentukan (instanisasi) objek dan berfungsi memberi nilai inisial pada variable objek. Ciri khas dari konstraktor adalah : 1. Konstruktor harus memiliki nilai yang sama dengan nama kelas. 2. Tidak mengembalikan suatu nilai (tidak ada return type) 3. Satu kelas dapat memiliki lebih dari satu konstruktor. 4. Konstruktor dapat memiliki accces modifer seperti public, private dan protected. 5. Satu konstruktor dapat dipanggil oleh kontrukstor lain dalam satu kelas. Ada 2 macam konstruktor : 1). Default constructor (constructor yang tidak memiliki argument) 2). Cunstructor yang memiliki argument. Contoh 1 : Class Segitiga { Double alas, tinggi; //Konstruktor default Segitiga {} { Alas = 10; Tinggi = 5; } Double hitungLuas() { Return ala*tinggi/2; } } Public class TestKonstruktor { Public statis void main(String {}args) { Segiriga a = new Segitiga(); System.out.println(a.hitungLuas()}; a.alas = 20;
Materi Dasar Komputer & Pemrograman
a.tiggi = 30; system.out.println(a.hitungLuas(); } } Contoh 2: class Segitiga2 { double alas,tinggi; //Konstruktor yang memiliki argument Segitiga2(double a,double t) { alas=a; tinggi=t; } double hitung Luas() { Return alas*tinggi/2; } } public class TestKonstruktor2 { public static void main (String {}args) { Segitiga2b = new Segitigta2 (15,20); System.out.println(b.hitungLuas()); } } Overloading Konstruktor Method Overloading berarti membuat method yang memiliki nama yang sama menjadi bisa digunakan untuk banyak tipe argument yang berbeda. Overloading ini biasa digunakan untuk method dan konstruktor. Contoh : Public class OverloadKonstruktor { OverloadKonstruktor () { prt(“konstruktor default.”); } OverloadKonstruktor(int i) { prt(“Konstruktor(int i =”+i); } overloadKonstruktor(String s) { Materi Dasar Komputer & Pemrograman
prt(“Konstruktor(double d) { prt(“Konstruktor dengan args double d = “+d); } Void prt(String ss) { System.out.println(ss); } Public static void main (String {}args) { New OverloadKonstruktor(); OverloadKonstruktor I = new OverloadKonstruktor(10); OverloadKonstruktor s = new OverloadKonstruktor (“Test”); New OverloadKonstruktor(5,0); } } Keyword this This hanya bisa dipakai di dalam method, dan menghasilkan reference terhadap ubjek dimana method telah dipanggil untuk objek itu. Contoh : public class Leaf { int I = 0; float x = 0; char a = ‘a’; Leaf increment() { i++; x++; a++; return this; } void print () { System.out.printl(“i=”+i); System.out.printl(“=”+x); System.out.println(“a=”+a); } Materi Dasar Komputer & Pemrograman
Public static void main (String {}args) { Leaf x = new Leaf (); x.increment().increment().print(); } } Memanggil Konstruktor dari dalam Konstruktor Bila pada waktu kita coding, kita membuat beberapa konstruktor biasanya ada waktu dimana kita ingin memanggil konstruktor yang satu dari dalam konstruktor yang lain untuk mencegah terjadinya duplikasi kode. Kita melakukan pemanggilankonstruktor dari dalam konstruktor yang lain dengan menggunakan this. Pada konstruktor, this mempunyai arti yang berbeda pada this pada method. Bentuk umumnya adalah : This(args1, args2, args3,….. Args1, args2, args3,….adalah argument yang dipakai untuk memanggil konstruktor yang memiliki argument yang sesuai (setipe). Contoh : Public class Flower { Int petalCount = 0; String s = new String(“null”); Flower(int petals) { petalCount = petals; system.out.println(“Constructor w/int arg only,petalCount =”+petalCount); } Flower(String ss) { System.out.println(“Construktor w/String arg only,s=”+ss); S=ss; } Flower(String s, int petals) { This s=s; petalCount=petals; system.out.println(“Strng&in args”); }
Materi Dasar Komputer & Pemrograman
Flower () { This(“hi”4,7); //Memanggil Flower(String s,int petals) System.out.println(“default contractor (No args)”); } Void print() { System.out.println(“petalCount=”+petalCount+”s=”+s); } Public static void main (String {}args) { Flower x = new Flower (); x.print (); } } Coba ganti Flower(String s, int petals) { this(petals); this.s=s; petalCount = petals; system.out.println(String & int args”); } Menjadi : Flower(String s, int petals) { this.petalsCount=petals; this(s); petalCount = petals; system.out.println(“String & int args”); } Apa yang terjadi ??
Ketk kode ini terlebih dahulu dan compile, pastikan file ini berada di dalam folder Paket.(bila tidak, anda harus memindahkannya ke dalam folder Paket). Package Paket; Import java.util.*; Public class sss { Public static void prt(String s ){ System.out.println(s); } Public static void pint1(String s, int i) { Prt(s+”=”+i);
Materi Dasar Komputer & Pemrograman
} Public static void pint2(String s,int i) { Prt(s+”=”+j); } Public static int I,j,k; } } Setelah anda selesai pada code di atas, buat code dibawah ini ( pastikan tidak disimpan di dalam folder Paket, tapi 1 tingkat folder diatasnya.Contoh : folder Paket berada di C:\FileJava\Paket\maka simpan code ini di C:\File Java) Compile dan excecute !! Perhatikan outputnya !! importPaket.sss; class csss { public static void main (Sring {}args) { sss.i =5; sss.j =6; sss.pint1(“I”,sss.i); sss.pint2(“j”,sss.j); } } Inilah salah satu contoh bahwa anda dapat membuat Package anda sendiri. Silahkan berlatih lebih banyak.
Materi Dasar Komputer & Pemrograman