240 likes | 412 Views
Pemrograman Aplikasi Bergerak. With Fandi Susanto S.Si. Object Oriented Programming. Abstraction 1 Classes and Objects Properties and Methods Encapsulation Access modifier this dan super. Abstraction 1.
E N D
Pemrograman Aplikasi Bergerak With Fandi SusantoS.Si. By Fandi Susanto S.Si
Object Oriented Programming Abstraction 1 Classes and Objects Properties and Methods Encapsulation Access modifier this dan super By Fandi Susanto S.Si
Abstraction 1 Abstraction atau dalam bahasa indonesia abstraksi, dalam Object Oriented Programming (OOP) / Pemrograman Berorientasi Objek (PBO) memiliki dua makna. Yang pertama adalah: "proses pembentukan konsep dalam mengenali ciri-ciri tertentu suatu individu, dan menciptakan suatu konsep berdasarkan ciri tersebut.“ http://en.wikipedia.org/wiki/Abstraction 01-09-10 (Abstraction used in philosophy) Makna yang kedua to be continued. By Fandi Susanto S.Si
Abstraction 1 By Fandi Susanto S.Si
Abstraction 1 By Fandi Susanto S.Si
Class dan Object Dalam OOP, dikenal istilah Class dan Object. Dalam bahasa Indonesia: kelas dan objek. Dalam OOP, program dibuat sedekat-dekatnya dengan dunia nyata. Misalkan program mengenai mobil, maka akan dibuat objek mobil. Atau misalkan dalam pembuatan game, bisa dibuat objek pemain, karakter, peta, musik, NPC. Objek bisa juga berupa objek pendukung seperti kotak dialog, cursor, control panel, keyboard control. By Fandi Susanto S.Si
Class dan Object Kelas sering disebut sebagai blueprint dari objek. Jika dibandingkan dengan variabel, maka kelas merupakan tipe data, dan objek merupakan variabel. Dari satu kelas dapat dibuat banyak objek. Misalkan dari kelas mobil, dapat dibuat mobilAndri, mobilBudi, mobilSanti, mobilSinta. Atau dari kelas pemain, dapat dibuat pemain1, pemain2, pemain3. Jadi, dalam OOP, programmer melakukan abstraction menghasilkan class dan objek dalam program. By Fandi Susanto S.Si
Class dan Object By Fandi Susanto S.Si
Properties dan Method Setiap objek dapat memiliki property dan method. Atau state dan behavior. Property atau state adalah sifat atau kondisi suatu objek, misalnya mobilA.warna, mobilA.kecepatanMax, mobilA.bensin. Method atau behavior adalah perilaku suatu objek. Biasanya berupa suatu fungsi. Misalkan mobilA.maju(3) atau mobilB.isiBensin(10); By Fandi Susanto S.Si
Encapsulation Encapsulation adalah suatu konsep mengenai penggabungan property atau method ke dalam suatu objek. Suatu objek adalah seperti sebuah kapsul yang berisi berbagai macam obat-obatan di dalamnya. Ketika kita mendeklarasikan suatu objek, misalnya objek mobil, maka objek itu otomatis memiliki (misalkan) warna, kecepatanMax, kapasitas bensin, merk dan sebagainya. Dan mobil itu juga dapat mengisibensin, maju, mundur, dihidupkan atau dimatikan. By Fandi Susanto S.Si
Encapsulation • Tujuan dari enkapsulasi adalah: • Mengelompokkan sejumlah data (property) ke dalam objek • Melindungi property dan metode di dalam kelas agar tidak sembarangan diakses oleh kelas lain. (Misalkan: objTextbox.length = -2) • Enkapsulasi juga berfungsi sebagai penyederhanaan. Misalkan, untuk maju, sebuah mobil harus menjalani proses mesin 4 tak (injeksi, kompresi, bakar, buang), tetapi pengendara hanya tinggal menginjak pedal gas saja. By Fandi Susanto S.Si
Access modifier • Access modifier mengatur pengaksesan suatu variabel. • Ada tiga jenis access modifier: • private (hanya bisa diakses oleh fungsi yang ada di dalam class itu sendiri). • public (bisa diakses dari manapun). • protected (hanya bisa diakses dari fungsi di dalam kelas itu sendiri, atau fungsi di dalam kelas lain yang mewarisi kelas tersebut) By Fandi Susanto S.Si
Getter dan setter Property private tidak dapat diakses secara langsung dari luar class. Untuk mengakses property ini, biasa digunakan getter method dan setter method. Setter method berguna untuk mengeset nilai ke suatu property/member private. Biasanya ditambahkan pengaturan khusus pada method ini. Misalkan jumlah tidak bisa lebih kecil dari nol. Karena member private tidak bisa diakses dari luar kelas, maka disediakan method getter untuk mengakses member tersebut. By Fandi Susanto S.Si
This dan super Suatu objek merujuk pada diri sendiri dengan identifier "this". Misalkan di dalam suatu class kita menyebutkan this.addCommand(cmdExit), maka this di situ akan merujuk pada kelas dimana kode itu ditulis. Sedangkan keyword super digunakan untuk merujuk pada class orangtua. Misalkan suatu class MidNotepad merupakan turunan dari kelas MIDlet, maka keyword super di dalam class MidNotepad akan merujuk pada class MIDlet. By Fandi Susanto S.Si
Object Oriented Programming Static member and Function Constructor and Destructor Inheritance Polymorphism Abstraction 2 (a.k.a. Abstract Class) Composition and Aggregation By Fandi Susanto S.Si
Static member and function Jika suatu field di dalam suatu kelas didefinisikan dengan keyword static di depannya, maka field tersebut akan digunakan bersama-sama oleh semua objek kelas tersebut. Member static sering dipakai untuk mendeklarasikan konstanta pada suatu kelas. Field static bisa diakses tanpa membuat suatu objek (diakses langsung dari kelas). By Fandi Susanto S.Si
Constructor Constructor adalah suatu fungsi yang dipanggil setiap kali suatu objek diwujudkan (instantiated) / dibuat. Untuk membuat constructor suatu class, kita mendefinisikan fungsi dengan nama yang sama dengan nama kelasnya. Constructor dapat berjumlah lebih dari satu dengan argumen/parameter yang berbeda (polymorpism). By Fandi Susanto S.Si
Destructor Destructor adalah suatu fungsi yang dipanggil ketika suatu objek kelas tersebut dihancurkan/dibuang By Fandi Susanto S.Si
Inheritance Inheritance atau pewarisan adalah suatu konsep dimana suatu kelas anak mewarisi sifat-sifat dari suatu kelas lain (kelas induk). BINATANG Base Class REPTIL MAMALIA Class Turunan Class Turunan By Fandi Susanto S.Si
Class MANUSIA (STATE) berat tinggi usia (BEHAVIOUR) Makan() Minum() Menua() Bekerja() pewarisan Class PRIA (STATE) memiliki_organ_ kelamin_pria (BEHAVIOUR) Class WANITA (STATE) memiliki_organ_ kelamin_wanita (BEHAVIOUR) melahirkan() menyusui() Contoh instance/objek maria debra ruth david rudi robert Gambar : Class & Objek Inheritance By Fandi Susanto S.Si
Polymorphism Polymorphism (poly = banyak, morph = berubah bentuk) Dalam OOP, konsep ini memungkinkan digunakannya suatu interface yang sama untuk memerintah suatu objek melakukan suatu aksi/tindakan yang mungkin secara prinsip sama tetapi secara proses berbeda. Dalam konsep yang lebih umum, Polymorphism disebut dalam istilah : satu interface, banyak aksi. contoh : Mobil, terdiri dari berbagai merk, namun semuanya memiliki interface kemudi yang sama (stir kemudi, tongkat transmisi, pedal gas dan rem). Jika anda dapat mengemudikan satu mobil saja, dapat dipastikan juga dapat mengemudi berbagai mobil. By Fandi Susanto S.Si
Polymorphism By Fandi Susanto S.Si
Abstraction 2 Di dalam OOP, dikenal juga istilah abstract class. Makna kedua dari abstraction adalah penggunaan abstract class. Abstract class tidak dapat di-instantiate. By Fandi Susanto S.Si
Thank You For Your Attention • Special Thanks: • Yoannita S.Kom (dan para pendahulunya) atas ilmu dan materinya. • Reminders: • Dokumentasi class-class (properties, method dan contoh program) yang dipakai di Java ME dapat diakses lewat menu documentation pada start menu di folder WTK atau Java ME SDK. (StartJava(TM) ME Platform SDK 3.0Documentation) (StartSun Java (TM) Wireless Toolkit 2.5.2 for CLDC Documentation) By Fandi Susanto S.Si