tugas pendahuluan fajar wicaksono prak pbo

11
TUGAS PENDAHULUAN Nama : FAJAR WICAKSONO NPM : 06.2009.1.04996 Jurusan Teknik Informatika INSTITUT TEKNOLOGI ADHI TAMA SURABAYA 2012

Upload: fajar-wicaksono

Post on 22-Jul-2015

36 views

Category:

Documents


0 download

TRANSCRIPT

TUGAS PENDAHULUAN

Nama : FAJAR WICAKSONO NPM : 06.2009.1.04996

Jurusan Teknik Informatika INSTITUT TEKNOLOGI ADHI TAMA SURABAYA 2012

TUGAS PENDAHULUAN

A. Object Objek adalah benda, baik yang berwujud nyata seperti yang dijumpai dalam kehidupan maupun yang tidak nyata seperti halnya yang berupa sistem atau konsep. Pada dasarnya semua benda yang ada di dunia nyata dapat dianggap sebagai sebuah objek. Jika perhatikan lebih lanjut, pada dasarnya ada dua karakteristik yang utama pada sebuah objek, yaitu: Setiap objek memiliki atribut sebagai status yang kemudian akan disebut sebagai state. Setiap objek memiliki tingkah laku yang kemudian akan disebut sebagai behavior. Contoh sederhananya adalah: objek sepeda Sepeda memiliki atribut (state) : pedal, roda, jeruji, warna. Sepeda memiliki tingkah laku (behavior) : kecepatannya menaik, kecepatannya menurun, dan perpindahan gigi sepeda.

Dalam pengembangan perangkat lunak berorientasi objek, objek dalam perangkat lunak akan menyimpan state-nya dalam variable dan menyimpan informasi tingkah laku (behavior) dalam method-method atau fungsifungsi/prosedur.

B. Kelas Kelas berbeda dengan objek. Kelas merupakan prototype yang mendefinisikan variable-variabel dan method-method secara umum.

Sedangkan objek pada sisi yang lain merupakan instansiasi dari suatu kelas. Kelas adalah wadah yang berisi abstraksi (pemodelan) dari suatu objek (benda) yang berisi informasi tentang sifat karakteristik dan tingkah laku yang dimiliki oleh objek tersebut.

Hubungan antara kelas dan objek dapat diilustrasikan sebagai resep kue dengan kuenya, dimana resep kue adalah kelas dan kue adalah objeknya. Sebelum membuat kue, harus mempelajari resep kue terlebih dahulu. Dalam resep disebutkan data mengenai kue, yaitu bahan-bahan yang diperlukan serta fungsi-fungsi yaitu bagaimana cara mengolah bahan tersebut hingga menjadi kue yang siap disajikan. Pada OOP tidak hanya menggunakan resep kue yang sudah ada untuk membuat kue, namun juga menciptakan resep-resep kue yang baru sesuai selera. Oleh sebab itu, yang menjadi focus dalam OOP adalah bagaimana mencipatakan dan mendefinisikan kelas yang kelak menjadi wadah untuk membuat objek-objek. Dalam istilah pemrograman, objek merupakan instans (perwujudan) dari suatu kelas. Instansiasi adalah proses perwujudan kelas menjadi objek.

1. Deklarasi Kelas Bentuk deklarasi kelas yang paling sederhana adalah: Class NamaKelas { Class body } Bentuk deklarasi tersebut akan membentuk kelas dengan sifat default. Namun ada kalanya Anda ingin mempunyai kelas dengan sifatsifat tertentu, seperti private (tidak dapat diakses oleh kelas lain) atau memperoleh warisan data dan method dari kelas lain (extends). Secara umum, kelas memiliki struktur anatomi sebagai berikut: (Modifier 1) class NamaKelas (Modifier 2) { Class body }

Modifier tersebut adalah abstract, final, multiple, static, public, private, dan protected. Ketiga modifier (public, private, protected) digunakan untuk menentukan tingkat aksesibilitas dari suatu kelas terhadap kelas lainnya.

Contoh bentuk UML dari kelas : Sepeda .Gambar UML class Sepeda

2. Aturan Penamaan Kelas Dimulai dengan abjad (a, b, c, de, e,..) atau karrakter underscore ( _ ) atau tanda dollar ($). Nama kelas tidak dapat dimulai dengan bilangan (0, 1, 2, ..). setelah karakter pertama, dapat diikuti kobinasi abjad, underscore, dollar, atau bilangan. Tidak boleh menggunakan keyword dalam Java (public, class, Boolean, dsb). Tidak boleh menggunakan operator (+, -, *, /). Java bersifat case sensitive (membedakan huruf kecil dan kapital), sehingga abjad a dan A diperlakukan sebagai dua variable yang berbeda.

3. Hierarki Kelas Suatu kelas dapat dibuat sabagai kelas yang benar-benar baru atau dapat dibentuk dari kelas yang sudah ada. Baru di sini dalam pengertian samua data dan method yang dimiliki oleh kelas tersebut Anda deskripsikan dan buat sendiri, sedangkan bila membentuk dari kelas yang sudah ada bermakna Anda menggunakan data dan method yang telah dideskripsikan dalam suatu kelas acuan. Proses pembentukan kelas baru dari kelas yang sudah ada disebut sebagai pewarisan (inheritance). Kelas yang menjadi basis bagi pembentukan kelas lainnya disebut sebagai kelas super, sedangkan kelas yang terbentuk dinamakan kelas sub. Proses pewarisan ini akan menghasilkan suatu hierarki kelas. Kelas yang terletak pada puncak hierarki disebut kelas abstrak. Sifat dari kelas abstrak adalah hanya berisi deskripsi data dan method yang sangat umum, sehingga tidak mungkin diimplementasikan secara terperinci. Oleh sebab itu, kelas abstrak ini tidak dapat langsung diinstansiasi menjadi objek.

Sebagai ilustrasi, tinjaulah hierarki kelas dari Kelas Hewan Darat Berkaki Empat yang memilki objek (instan) berupa sapi, anjing, harimau, kuda, dan kucing. Kelas tersebut dihasilkan dari pewarisan kelas Hewan Darat, yang merupakan kelas sub dari Kelas Hewan, dan seterusnya sampai ke puncak kelas, yaitu kelas Makhluk Hidup. Dalam ilustrasi ini, Kelas Makhluk Hidup adalah kelas abstrak. Anda tidak mungkin menginstans objek-objek tersebut langsung dari Kelas Makhluk Hidup karena hanya mengandung deskripsi data dan method yang sangat umum.

Kelas Makhluk Hidup

Kelas Hewan

Kelas Tumbuhan

Kelas Manusia

Kelas Hewan Hidup di Darat

Kelas Hewan Hidup di Air

Kelas Hewan Bisa Terbang

Kelas Hewan Darat Berkaki Empat

Sapi

Anjing

Harimau

Kuda

Kucing

Gambar Hierarki Kelas

Contoh gambar UML untuk program kelasMamalia Darat + main ()

Anjing + menggonggong

Harimau + mengaum

Kucing + Mengeong

Contoh program kelas : public class MamaliaDarat{ public static void main (String[]args){ String suaraHewan = ""; System.out.println("------------------------------------"); Kucing pussy = new Kucing (); suaraHewan = pussy.mengeong(); System.out.println("Pussy: "+suaraHewan);

Anjing doggy = new Anjing (); suaraHewan = doggy.menggonggong(); System.out.println("Doggy: "+suaraHewan);

Harimau macan = new Harimau(); suaraHewan = macan.mengaum(); System.out.println("Macan: "+suaraHewan); } } class Kucing{ public String mengeong(){ String suara = new String ("meoong.."); return suara; } } class Anjing{ public String menggonggong(){ String suara = new String ("guk guukk...."); return suara; } }

class Harimau{ public String mengaum(){ String suara = new String ("auumm.."); return suara; } }

C. Konstruktor Konstruktor adalah method yang dipanggil pada saat pembentukan (instansiasi) objek dan berfungsi untuk memberi nilai inisial pada variable objek. Biasanya tidak semua variable objek yang akan diinisialisasi, namun dipilih satu atau beberapa yang representative, seperti diameter pada kelas Lingkaran atau nilai minimum saldo pada kelas Tabungan. Jika kelas tidak memiliki method konstruktor, maka seluruh variable objek akan diinisialisasi kepada nilai default, sesuai dengan tipe datanya masing-masing. Berikut ini beberapa karakteristik yang dimiliki oleh konstruktor: 1. Method konstuktor harus memiliki nama yang sama dengan nama kelas. Pada tahap instanisiasi objek, pertama-tama operator new akan membentuk objek, kemudian memberitahu compiler untuk

mengalokasikan memori untuk objek tersebut. Terakhir, operator new akan mencari method konsturktor untuk menginisialisasi beberapa variable. Pencarian ini dilakukan dengan memeriksa method yang memiliki nama sama dengan nama kelas. 2. Tidak mengembalikan suatu nilai. Dalam struktur penulisannya, method konstruktor tidak memiliki tipe nilai kembalian. Selain itu, konstruktor tidak dapat dipaksa untuk

mengembalikan suatu nilai dengan keyword return. 3. Satu kelas bisa memiliki lebih dari satu konstruktor. Meskipun nama konstruktornya sama, namun jumlah dan tipe datanya berbeda. 4. Dapat dibubuhi modifier public, private, protected. 5. Suatu konstruktor bisa dipanggil oleh konstruktor lain dalam satu kelas.

1. Overloading Method Konstruktor Sama seperti method biasa, Anda juga dapat membuat lebih dari satu konstruktor dalam satu kelas. Meskipun konstruktor-konstruktor tersebut memilki nama sama, namun jumlah dan variable yang dijadikan argumen berbeda.

2. Memanggil Method Konstruktor Lain Bila konstruktor B ingin menduplikasi bevior yang dimiliki oleh konstruktor A pada kelas yang sama, maka B harus memanggil A. Gunakan keyword this untuk memanggil konstruktor.

Contoh UML untuk pembuatan program konstruktor : Mahasiswa- nama_mhs : String - npm_mhs : String + mahasiswa(nama : String, npm : String) + mahasiswa() + SetNama(nama : String) + getNama() + SetNpm(npm : String) + getNpm() + print() + main()

Contoh program konstruktor:

public class mahasiswa { private String nama_mhs; private String npm_mhs;

public mahasiswa(String nama, String npm) { this.nama_mhs = nama; this.npm_mhs = npm; }//constructor mahasiswa

public mahasiswa() { }

public void setNama (String nama)

{ this.nama_mhs = nama; } public String getNama() { return this.nama_mhs; } public void setNpm (String npm) { this.npm_mhs = npm; } public String getNpm() { return this.npm_mhs; } /*method untuk mencetak atribut class Mahasiswa*/ public void print() { System.out.println("Nama System.out.println("Npm : "+this.nama_mhs); : "+this.npm_mhs);

System.out.println("Mahasiswa ITATS Semester 6"); } public static void main(String[] args) { // TODO code application logic here mahasiswa mhs = new mahasiswa("Fajar","06.2009.1.004996"); mhs.print(); System.out.println("-------------------------------------"); } }