Selasa, 14 Juni 2011

PEMROGRAMAN BERORIENTASI OBJEK (PBO)

Pertemuan 1
Konsep Dasar Pemrograman berorientasi Objek

Kompetensi :
• Memberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi obyek dan perbandingannya dengan pemrograman prosedural.
• Memahami class dan objek
• Menjelaskan karakteristik dari OOP
Struktur program dari OOP

Install, Compile, Running with JAVA
Sumber : Romi Satrio Wahono
Sumber : Romi Satrio Wahono


Sumber : Romi Satrio Wahono

Sumber : Romi Satrio Wahono

Apakah Obyek?    
• Semua benda yang ada di dunia nyata dapat dianggap sebagai obyek.
• Contoh : rumah, mobil, sepeda motor, gelas, komputer, meja dll.

Karakteristik Obyek
• Setiap obyek memiliki atribut sebagai status (state).
• Setiap obyek memiliki tingkah laku (behavior)
• Contoh: obyek sepeda
  – Memiliki atribut (state) à: pedal, roda, jeruji, warna, jumlah roda.
– Memiliki tingkah laku (behavior) à: kecepatanya menaik, kecepatannya menurun, perpindahan gigi sepeda.
• Penggambaran pemrograman berorientasi obyek = penggambaran pada dunia nyata.
• Pada pemrograman berorientasi obyek:
-     State disimpan pada → variabel
-     Tingkah laku disimpan pada → method
Apakah Class?

Definisi class: merupakan template untuk membuat obyek.
Definisi class: merupakan prototipe / blue prints yang mendefinisikan variabel – variabel dan method – method secara umum.
Obyek merupakan hasil instansiasi dari suatu kelas.
Proses pembentukan obyek dari suatu class disebut dengan instantiation.
Obyek disebut juga instances.

Attributes
Definisi atribut : adalah datayang membedakan antara obyek satu dengan yang lain.
Contoh: VolcanoRobot àA volcanic exploration vehicle, mempunyai atribut sebagai berikut:
                        – Status àexploring, moving, returning home
                        – Speed àin miles per hour
     – Temperature, in Fahrenheit degrees
Dalam class atribut disebut sebagai variabel
•  Instance variable: adalah atribut untuk tiap obyekdari class yang sama.
•  Tiap obyek mempunyai dan menyimpan nilai atributnya sendiri.
•  Jadi tiap obyek dari class yang sama bolehmempunyai nilai yang sama atau beda.
•  Class variable: adalah atribut untuk semua obyekyang dibuat dari class yang sama.
•  Semua obyek mempunyai nilai atribut yang sama.
•  Jadi semua obyek dari class yang sama mempunyai hanya satu nilai yang value nya sama.

Behavior

•  Behavior / tingkah laku adalah hal – hal yangbisa dilakukan oleh obyek dari suatu class.
•  Behavior dapat digunakan untuk mengubah nilai atribut suatu obyek, menerima informasidari obyek lain, dan mengirim informasi ke obyek lain untuk melakukan suatu task.
•  Contoh: VolcanoRobot
– Check current temperature
– Begin a survey
– Report its current location
ž Dalam class, behavior disebut juga sebagaimethods.

Methods: adalah serangkaian statements dalam suatu class yang menghandle suatu task tertentu.
Cara obyek berkomunikasi dengan obyek lain adalah dengan menggunakan method.
Contoh: class, object, attributtes, dan behavior

Konsep Dasar OOP
• Enkapsulasi (Encapsulation)
• Abstraksi Data (Data Abstraction)
• Penurunan (Inheritance)
• Polimorfisme (Polymorphism)

Enkapsulasi (Pembungkusan)
• Variabel dan method yang dipunyai suatu obyek, bisa ditentukan hak aksesnya.
• Definisi enkapsulasi: Pembungkusan variabel dan method dalam sebuah obyek yang terlindungi.
• Definisi enkapsulasi: menyembunyikan cara kerja dan sistem.
• Contoh: jam tangan
– Penting sekali untuk mengetahui waktu.
– Cara jam mencatat waktu dengan baik antara jam bertenaga baterai atau bertenaga gerak tidaklah penting kita ketahui.
•Dalam OOP, konsep enkapsulasi sebenarnya merupakan perluasan dari struktur dalam bahasa C.

Abstraksi Data

• Abstraksi data adalah mengabstrakkan atau menyamarkan data-data yang ada.
•  Contoh : jam tangan
– Orang tidak perlu tahu bagaimana cara jam mengatur dan merubah detik kemenit, atau menit ke jam.
– Orang tidak perlu tahu siapa yang bertanggung jawab menggerakkan jarum jam.

Pewarisan (Inheritance)

• Definisi (class): merupakan pewarisan atribut dan method pada sebuah class.
• Definisi (obyek): kemampuan obyek untuk mewarisi ciri-ciri obyek lainnya.
• Class yang mewarisi àsuperclass
• Class yang diwarisi àsubclass
• Subclass bisa berlaku sebagai superclass bagi class lainya.

Contoh : terdapat class sepeda dan sepeda gunung.
– Sepeda àsuperclass
– Sepeda gunung àsubclass
– Sepeda gunung memiliki variabel dan method yang dimiliki oleh sepeda.
Prinsip : Persamaan-persamaan yang dimilikioleh beberapa kelas dapat digabungkan dalamsebuah class induk sehingga setiap kelas yang diturunkannya memuat hal-hal yang spesifikuntuk kelas yang bersangkutan.

Pewarisan (Inheritance) -Keuntungan

Subclass menyediakan state/behaviour yang spesifik yang membedakan dengan superclass àmemungkinkan programmer untuk menggunakan ulang source code dari superclass yang telah ada.
Programmer dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class dengan tingkah laku dan state secara umum.

Single dan multiple inheritance
àmultiple inheritance
Suatu class diperbolehkan untuk mempunyai lebih dari satu superclass.
Variabel dan method yang diwariskan merupakan kombinasi dari superclass-nya.
Java àsingle inheritance
Suatu class hanya boleh mempunyai satu superclass.


Multilevel inheritance
• Suatu subclass bisa menjadi superclass bagi class yang lain.

Polimorfisme

• Definisi: satu nama dapat digunakan untuk banyak tujuan yang berbeda namun berhubungan satu sama lain.
• Tujuan: memungkinkan kita memberikan nama yang sama bagi segolongan aksi atau tugas yang mirip.
• Contoh: luas bidang
• Polimorfisme àmethod overloading

oo00oo 
 
Pertemuan 2
Class, Objek, data, variable dan operator

Kompetensi 

Setelah mengikuti mata kuliah ini mahasiswa dapatmendefinisikan class java, menggunakan modifier,dan membuat program yang menggunakan data dan variable.

Pengantar :
Dalam modul ini akan diuraikan beberapa topikbahasan yaitu :
1. Pengertian class dan objek :
2. Modifier : public, static
3. Data primitiveJAVA, operator dan Konsep encaptulation
4. String sebagai sebuah class
Contoh definisi class dan objekkasus : class Cat
Class dan Objek merupakan paradigma dasar dari OOP (Object Oriented Programming)
Class : suatu frame yang merupakan definisi yang memuat data dan metod pengolah data
Objek : Bentuk konkrit dari class yang dengannya data dan metod dapat direalisasikan
• Contoh class : Cat
• Contoh data : warna, umur , harga
definisi data : menggunakan sintak : tipe_data nama_var;atau : tipe_data nama_var=nilai_data;
• Contoh metod : bark(), sleep() definisi metod : [public/static] return_value nama_metod(parameter){ … } { isi metod}


Definisi class Cat
class Cat

{ private String nama="Noname";
private int umur = 0;
public Cat(String nnm, int um){nama=nnm;
umur=um;}

public void bark()
{System.out.println("meong...meong...!");}
public void sayHello()
{System.out.println("Hello my name "+nama+ " I am
a "+umur+"years old");
}
}


Membuat instant (objek)
Membuat objek pada dasarnya sama dengan mendefinisikan data dan mengisi nilai datanya.
Contoh :
Mendifinisikan data :
String nama;

Mendefinisikan data sekaligus mengisi data :
String nama=“manis”;

Mendefinisikan objek : (nama objek adalah MyCat, merupakan objek dari class Cat)
Cat MyCat;

Mendefinisikan objek sekalligus menginisialisasi nilai objek.



Memanggil method dari objek
•Berikut ini class yang memuat program utama dan memanggil method bark() danseyHello().
•Rumus memanggil metod adalah :

      nama_class.nama_metod()
public class CatRun
  { public static void main (String[] arg)
{ Cat myCat = new Cat ("Meong",3);
  myCat.bark();
  myCat.sayHello();
  System.out.println("Kenalkan kucingku :");
myCat.sayHello();
}
}

Edit program dengan NotePad dan kompilasi dengan javac.exe, eksekusi dengan java.exe


Selanjutnya
Setelah selesai edit disimpan dalam file :DogRUn.java
Saat dikompilasi dengan :
>javac CatRun.java
Akan terbentuk dua file class, yiatu :DogRun.class dan Dog.class
Saat dieksekusi dengan :
>java CatRun, hasilnya sbb:


2. Modifier public , void, static, private
Modifier public :
Pada definisi class, merupakan class yang memuat metod main(), dan nama file disimpan dengan nama class public
Pada definisi metod, bermakna bahwa metod tersebut dapat diases dari luar class yang bersangkutan
Pada daefinisi data, bermakna data tersebut dapat diases dari luar class
Modifier void pada metod: berarti Metod tersebut tidak ada return valuenya
Modifier static pada metod : berarti metod tersebut dapat dipanggil hanya dari dalam class yang sama
Modifier private pada data : berarti data hanya dapat diases dari class yang sama
• Modifier protected paad metod : dapat diases dari class turunannya

Construktur
Construktor adalah jenis metod yang akan otomatis dipanggil jika suatu objekdibuat
Construktor didefinisikan secara public dan namanya sama dengan nama classnya

Construktor dapat didefinisikan lebih dari satu definisi

Contoh : untuk Dog ditambah definisi construktor tanpa parameter, menjadi :public Cat( ) { }public Cat(String
Misalkan dalam class CatRun didefinisikan objek yourDog
Cat yourCat=new Cat();

Maka jika dalam class DogRun dipanggil :
yourCat.sayHello();

Outputnya : (nilai nama dan umur digunakan nilai default)
   Hello my name is Noname I’am a 0 years old

               3. Data primitive dan operator
Data primitive : Data-data dasar java, yang hampir sama dengan C++ Data Integer :
int                     4 byte kisaran nilai :-2.147.486.648 s/d                        2.147.486.647
short 2             byte kisaran nilai :-32.768 s/d 32.767
long                  8 byte kisaran nilai :-9.223.372.036.854.775.808L s/d 9.223.372.036.854.775.807L
byte                 1 bytekisaran nilai :-128 s/d 127

Data floating point :
float        4 byte kisaran nilai :+3.40282347E+38F (7 digit ignifikan)
double    8 byte kisaran nilai :+1.79769313486231570E+308 (15 digit signifikan)

karakter dan boolean
char         1 byte1 karakter
boolean    bernilai true, false

Operator
Operator aritmatik :
+, -, * dan / untuk : penambahan, pengurangan, perkalian dan pembagian
+= , yakni : x+=4 ekivalen dengan operasi : x=x+4-= ; *= dan /= memiliki ekivalensi yang sama dengan -=
++ yaitu : n++ ekivalen dengan n=n+1 (increment by one)--yaitu : n-- ekivalen dengan n=n-1 (decrement by one)
•       % untuk MODULO, yaitu : 5 % 3 sama dengan 2

Operator relational dan logika
• < , > , <= dan >= adalah : lebih kecil, lebih besar, lebih kecil atau sama dan lebih besa atau sama
• == untuk SAMA DENGAN
• != untuk TIDAK SAMA DENGAN
• && untuk operator AND
• || untuk operator OR

Contoh program dengan data dan operator :
class OperasiDATA
{ public static void main (String args[])
  {int a; float b; double c; String d;
  a=(int)1/3;b=(float)1/3 ; c=(double)1/3 ;
  d="JON SHOLEH";System.out.println("a = "
    +a);
  System.out.println("b = " +b);
  System.out.println("c = "+c);
  System.out.println("d = " +d);
  System.out.println(“jumlah data d = "
        +d.length());
  System.out.println("d.substring(0,3) = "
       +d.substring(0,3));
}
}
Output program :
a =0
b = 0.333333
c = 0.333333
d = JON SHOLEH
d.length() = 10
 d.substring(0,3) =JON

Encaptulation
Encaptulation: konsep dalam OOP yang bertujuan membungkus (mang-kapsul) data dan metode dalam suatu class sehingga data dan metode yang tersembunyi dalam class tidak dapat diases dari luar class.
• Encaptulation direalisir dengan modifier : private
• Data yang dapat diases dari luar diberi modifier dengan public


Contoh :
class Dataku
{ public int N_umum=0;
private int N_khusus=0;
public void Cetak1(){System.out.println("N_umum="+N_umum);}
public void setN_Khusus(int n){N_khusus=n;}
public void Cetak2()
{System.out.println("N_khusus="+N_khusus);}
}


Ases data public
              Jika dimiliki program utama :                                                     maka hasilnya :

Jika di program utama : dituliskan Dt.N_khusus = 78; maka hasilnya :

Mengases data private
• Jika suatu data dideklarasikan secara private biasanya disediakan mekanisme metode public untuk mengasesnya
• Metode ases public itu umumnya didefinisikan dengan set().Dalam contoh diatas jika nilai N_khusus akan diubah digunakan
setN_khusus(n)
• Contoh :
Program diubah menjadi :                                                                       hasil program :



4. String sebagai class
• String merupakan nama khusus class java yang masih mempertahankan kompatibilitas dengan tipe data primitif yang lama sebagaimana int, long, float dan lain-lain
• Definisi string dapat digunakan cara luwes, seperti deklarasi data primitif atau seperti deklarasi poembuatan objekl string.
Contoh :Deklarasi seperti data primitive
Contructor dan Beberapa fungsi String

String memiliki beberapa konstruktor :
String(String s ) : argumen string s
String(byte [ ] b ) : argumen berupa array of byte b
String(char [ ] c ) : argumen berupa array of char
length() : mengetahui panjang string
substring(n,m) : mengambil substring dari string sebanyak m mulai dari posisi n
equals(s) : untuk mengetahui apakah suatu string s nilainya sama denganstring tersebut
charAt(n) : mengambil satu data char dari string pada posisi n

Contah contractor dan pemanggilan metod String


Rangkuman

1.   Class adalah frame dari suatu data yang berisi definisi data,  dan metod pengolah data .
2.   Objek adalah bentuk konkrit dari data dimana ia didefinisikan untuk mengisi data, mengaktifkan metod dan operasi data sebanarnya
3.   Operasi data java hampir semua sama dengan operasi data dalam C++

4.   Dalam definisi metod ada metod khusus yang otomatis dipanggil yaitu construktor
5.   Konsep OOP yang disebut encaptulation memungkinkan programmer menyembunyikan data yang tidak diperlukan dengan mendefinisikan secara private
6.   Data dan metod yang berkomunikasi keluar didefinisikan secara publik

Latihan
1.   Buatlah definisi class TesMotor , untuk membuat objek motor : motorku , nama motor HONDA kondisi mati, panggil metod tampilkan() motormu, nama motor YAMAHA , panggil metod nyalakan() dan
tampilkan()

oo00oo


Pertemuan 3
Tipe Data, Operator, Input, dan Output

Kompetensi
Mengerti konsep Tipe Data, Operator, input, serta mampu mengimplementasikanya.
Tipe data mendefinisikan medode 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.

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;

Short
short adalah tipe 16-bit bertanda. Tipe ini mungkin merupakan tipe yang paling jarang digunakan karena bersifat big-endian (pengurutan byte), format data bit atas 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 variabel short. Berikut beberapa contoh deklarasi variabel short: short s; short t = 0x55aa;

Integer
Integer adalah tipe yang paling banyak digunakan pada program. Program Java terdapat 5 integer, yaitu:

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;

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 yangdiperlukan selama tipe bersifat seperti yang didefinisikan.
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.

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 yangkita 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 dalamfour.

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

Dispesifikasikan dengan kata kunci float, menggunakan 32-bit untuk menyimpan nilai.Ketelitian tunggal diolah lebih cepat pada sejumlah prosesor dan hanya mengambil ruangsetengahnya, tetapi akan mulai tidak teliti jika nilai yang diolah terlalu besar atau terlalu kecil.Perhitungan sederhana yang membutuhkan hanya sedikit ketelitian pecahan, misalkanperhitungan total suatu besaran, dimana kita hanya membutuhkan ketelitian sepersepuluh,dapat direperesentasikan dengan tepat, yaitu dengan float. Berikut contoh deklarasi variabelfloat: 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;

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 inilahyang dikeluarkan oleh semua operator perbandingan, seperti (a < b). Boolean jugamerupakan tipe yang dibutuhkan oleh semua operator pengatur alur bersyarat,seperti :if, while, dan do. Berikut deklarasi variabel boolean: boolean done = false;

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 [];

Operator
Operator dapat diartikan juga simbol yang biasa digunakan dalam menulis suatupernyataan 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

Operator Penugasan
Operator ini yang paling sederhana dan hanya dilambangkan dengan karakter ‘ = ’. Operator ini digunakan untuk menugaskan suatu nilai ke suatu variabel.
Contoh:

Operator Matematika
Operator ini digunakan dalam ekspresi matematika. Operator matematka yang dikenal dalam Java adalah sebagai berikut:

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:

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 :

Operator ini dapat ditempatkan sebelum atau sesudah variabel. Jika ditempatkan sebelum variabel, maka variabel tersebut akan dikurangi/ ditambah dengan 1 sebelum 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 :


Operator Relasional
Variabel y mendapatkan nilai 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. Operator ini digunakan untuk membandingkan dua buah nilai operand dan menghasilkan nilai Boolean, yaitu true atau false. Berikut ini operator relasional dalam Java:

 Operator ini banyak digunakan sebagai kontrol alur eksekusi program seperti dalam pernyataan if, while, do, for, dan lain-lain.
Contoh penggunaan :




Operator Logika Boolean
Operator ini hanya digunakan untuk melakukan operasi pada operand yang bertipe boolean. Berikut daftar operator logika boolean :

Operator Majemuk
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. 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. Operator ini merupakan gabungan dari operator yang telah dibahas sebelumnya dengan operator penugasan. Berikut operator majemuk pada Java yang dipelajari:


+  = Penambahan diikuti dengan penugasan
 -  = Pengurangan diikuti dengan penugasan
*  = Perkalian diikuti dengan penugasan
/   = Pembagian diikuti dengan penugasan
%  = Operasi modulus diikuti dengan penugasan

Berikut contoh penggunaanya :
Hasil + = 10, memiliki yang sama dengan hasil = + 10;
Hasil -  = 20, memiliki yang sama dengan hasil = - 20;
dst’

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
import java.io.*;
 class mhs{
mhs(String nama,int nim){
System.out.println("Nama : "+nama);
System.out.println("NIM : "+nim); }
}
public class UtamaMhs{
public static void main(String args[])throws IOException{
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));

System.out.print("Nama anda :        ");
String nama=input.readLine();
System.out.print("NIM anda                :");
String no_pokok=input.readLine();
Int nim=Integer.parseInt(no_pokok);
mhs mhs1=new mhs(nama,nim);
}
}

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.


Ingatlah!!!
Sebelum melakukan pembuatan bahasa Pemograman Java ingat hal-hal b
1.   Memulai pemograman pada bagian class utama.
2.   Bahasa pemograman Java adalah bahasa pemograman yang case 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 berad
5.   Nama file harus diberi extension “.java” diakhir nama file.
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.
Tugas :
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

Operasi I/O Stream Sederhana

Stream Standard
1.      System.in: menanggapi pembacaan dari keyboard (standard input)
2.      System.out: mengirimkan keluaran ke layar (standard output)
3.      System.err: mengirimkan kesalahan (standard error)

Membaca input dari keyboard
• Perintah sederhana untuk memasukan data dari keyboard adalah membaca sebagai karakter
Contoh:
Char karakter;
Karakter= System.in.read();
Untuk mudahnya, gunakan class
Inputkeyboard.java untuk menerima masukan data dari keyboard
oo00oo
 
Pertemuan 4 & 5
Array, Percabangan dan pengulangan
Kompetensi
Praktikan dapat membuat program sederhana dengan menggunakan bahasa pemrograman Java, untuk array, percabangan,

Array
Deklarasi Dan Penciptaan Array
Seperti yang telah dijelaskan secara singkat mengenai array pada pertemuan sebelumnya 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. Array di Java dideklarasikan dengan kurung siku: […].
Sintaks umum deklarasi array:
type var-name[];
Atau type[] var-name;

type berperan dalam mendeklarasikan tipe basis dari array. Tipe basis menentukan tipe data bagi masing-masing elemen yang membentuk array. Dengan demikian, tipe basis untuk array menentukan tipe data yang dimuat oleh array. Berikut contoh-contoh deklarasi array di Java:

int numbers[];
char[] letters;
 long grid[][];

dan Java tidak perlu menspesifikasikan ukuran array kosong saat mendeklarasikan array. Kita harus selalu menyatakan ukuran array secara eksplisit saat melakukan operasi penciptaan menggunakan operator new() atau dengan mendaftarkan item item untuk array pada saat penciptaan.
Berikut contoh pendeklarasian array dengan menspesifikasikan ukuran spesifiknya menggunakan operator new() dan dengan memberikan daftar item yang termasuk di dalam array:

char alphabet[] = new() char [26];
 int primes = {7, 11, 13};



ARRAY DIMENSI 1
Array 1 dimensi pada dasarnya senarai (deretan) variabel bertipe serupa. Kita lebih dahulu menciptakan variabel array dari tipe yang dikehendaki.

int monthDays[];

Meskipun deklarasi telah menetapkan bahwa monthDays adalah variabel array, namun sesungguhnya tidak ada array yang diciptakan pada saat itu. Nilai dari monthDays adalah nilai null yang merepresentasikan array tanpa nilai dan bukan bernilai nol. Bentuk umum new() untuk array 1 dimensi adalah sebagai berikut:

array-var = new() type[size]

Dalam hal ini, type menspesifikasikan tipe data yang dialokasikan, size menspesifikasikan jumlah dari elemen array, dan array-var adalah variabel array yang dirangkai ke array. Dengan demikian, untuk menggunakan new(), kita harus menspesifikasikan tipe dan jumlah elemen untuk dialokasikan. Elemen-elemen di array yang dialokasikan oleh new() akan secara otomatis dinisialisasi ke nol.
Perhatikan contoh berikut:

monthDays = new() int[12];

Setelah pernyataan diatas dieksekusi, monthDays akan mengacu ke array berisi 12 bilangan int, kedua belas angka tersebut dinisialisasi dengan nol.

Ingat:
Proses untuk dapat memperoleh array ialah 2 langkah, yaitu: 1.Deklarasi variabel dari tipe array yang dikehendaki. 2.Alokasi memori yang akan menyimpan array menggunakan operator new() dan memberikannya ke variable array.


Array 2 dimensi
Array 2 dimensi bertipe int bernama intArr dideklarasikan dan diciptakan dengan perintah sebagai berikut:

int int2DArr[][] = new() int [4][5];

Perintah ini mendeklarasikan dan mengalokasikan array 4 kali 5 dan memberikan ke variabel int2DArr. Secara internal matriks ini diimplementasikan sebagai array dari array bertipe int. Secara konseptual array ini digambarkan sebagai berikut:

 Tugas:Buat array multidimensi
1. Buat array multidimensi untuk nama negara dan ibu kotanya
2. Akses array dan tampilkan di layar sebagai berikut:
       Ibu kota Indonesia adalah Jakarta
       Ibu kota Jepang adalah Tokyo
       Ibu kota Iran adalah Teheran


Tugas Array
Buat Program Array yang menghasilkan OUTPUT seperti dibawah ini:
1.       0
1               2
3    4    5
6    7    8    9

2.       0 . 0 0 . 0 0. 0 0 . 0
0 . 0 1 . 0 2. 0 3 . 0
0 . 0 2 . 0 4. 0 6 . 0
0 . 0 3 . 0 6. 0 9 . 0

PERCABANGAN
Program yang lebih menarik akan membutuhkan persyaratan tertentu untuk menjalankan suatu pernyataan, dan melewati pernyataan lainnya. Java menyediakan sejumlah mekanisme untuk menghasilkan pengaturan bagian program mana yang dijalankan, berupa pernyataan-pernyataan percabangan. Terdapat beberapa jenis percabangan di java, yaitu: if, if-else, dan switch.
Percabangan if
Percabangan if di Java menyatakan pernyataan akan dieksekusi jikamemenuhi syarat atau kondisi tertentu. Sintaks percabangan ini adalah sebagaiberikut:

If
if adlah kondisi yang digunakan untuk pengambilan keputusan terhadap dua buah kemungkinan
if bias terdiri dari atau dengan menggunakan else
• Bentuk :

If(kodisi){
// blok pernyataan yang dijalankan, bila kondisi benar
}



Tugas
• Kembangkan class
 Pernyataan bersarang supaya bias menerima (input) data langsung dari user


PERNYATAAN PENGULANGAN PROSES
Pernyataan Pengulangan Proses
•  Pernyataan pengulangan proses (Loop)
-  for
-  while
-  do-while
•  Pernyataan Pemindah Proses (Jump)
-   break
-   continue
-   return
for
• for sering disebut for loop, karena digunakan untuk proses looping atau pengulangan
• Bentuk :
For (inisialisasi; kondisi; penaikan_penurunan) {
       pernyataan
}


While
• while digunakan untuk melakukan proses pengulangan suatu blok pernyataan selama kondisinya bernilai true
• Ketika kondisi salah, pernyataan dalam blok bias saja tidak dijalankan sama sekali
• Bentuk :

While (kondisi) {
Pernyataan
}

do…while
• do…while digunakan untuk melakukan proses pengulangan suatu blok pernyataan selama kondisinya bernilai tru
• Pernyataan dalam blok paling tidak dieksekusi satu kali
• Bentuk :
do {
             Pernyataan
} while (kondisi);


Break
• Pernyataan break digunakan untuk keluar dari suatu pengulangan (loop)
• Penggunaan break bias berbentuk tanpa label atau berlabel

Continue
• Pernyataan continue digunakan untuk melanjutkan eksekusi kesuatu pengulangan (loop)
• Penggunaan pengulangan bias berbentuk tanpa label atau berlabel


Return
• Pernyataan return digunanakan untuk keluar dari method, serta memiliki dua bentuk :
1.      mengembalikan nilai (sesuai dengan tipe data)
2.      tidak mengembalikan nilai (untuk void)
• Contoh :

Int perkalian(int x,int y){
     Return x*y;
}
Void perkalian(int x, inty){
     Hasil kali = x*y;
     Return;
}

Tugas : Modifikasi Matematika.java
1.      Modifikasi program Matematika.java yang sebelumnya sudah kita buat dengan menggunakan tipe data int atau float untuk method (bukan void)
2.      Gunakan return untuk setiap fungsi (pertambahan, pengurangan, pembagian dan perkalian)

oo00oo

3 komentar: