Program komputer terdiri dari kode dan data yang diatur untuk menghasilkan keluaran. Model pemrograman prosedural berorientasi pada proses namun memiliki kelemahan dalam menangani kasus kompleks. Pemrograman berorientasi objek menjadikan sistem sebagai objek-objek untuk mengatasi kelemahan tersebut.
Materi yang ada pada slide ini berisi :
Implementasi Polimorphism
Overloading method VS Overriding Method
Ad Hoc & Subtyping Polimorphism
Latihan 5 & Upload ke github
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Inheritance (Pewarisan)
Hak akses protected
Override Method
Override Constructor
Kata kunci super
Kata kunci final
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Tugas Enterprise Resource Planning, semester 7 (2017/2018), STMIK Nusa Mandiri Jakarta. Rancangan UML Aplikasi Rental Mobil: Use Case Diagram, Activity Diagram, Sequence Diagram, dan Class Diagram. Silahkan download untuk melihat lebih jelas. Aplikasi pembuatan UML menggunakan Enterprise Architect.
Materi yang ada pada slide ini berisi :
Implementasi Polimorphism
Overloading method VS Overriding Method
Ad Hoc & Subtyping Polimorphism
Latihan 5 & Upload ke github
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Inheritance (Pewarisan)
Hak akses protected
Override Method
Override Constructor
Kata kunci super
Kata kunci final
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Tugas Enterprise Resource Planning, semester 7 (2017/2018), STMIK Nusa Mandiri Jakarta. Rancangan UML Aplikasi Rental Mobil: Use Case Diagram, Activity Diagram, Sequence Diagram, dan Class Diagram. Silahkan download untuk melihat lebih jelas. Aplikasi pembuatan UML menggunakan Enterprise Architect.
Materi untuk mata kuliah Pengujian Perangkat Lunak perihal Pengujian Perangkat Luak yang berfokus kepada Unit VS. Integration Testing dan White Box serta Black Box Testing
Materi yang ada pada slide ini berisi :
Definisi Interface
Perbedaan interface dengan class
Format interface
Perancangan
Studi Kasus
Multiple interface
Latihan 6 & Upload ke github
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
kamus data, data dictionary,analisa perancangan sistem informasi,bambang sugianto,data flow diagram,dfd,perancangan sistem informasi,politeknik sawunggalih aji kutoarjo,sistem informasi
Modul ini membahas tentang konsep pemrograman berorientasi objek dilengkapi dengan contoh source code untuk praktik. Membahas Class, Object, Pewarisan, Polimorfisme, Konstruktor
Materi untuk mata kuliah Pengujian Perangkat Lunak perihal Pengujian Perangkat Luak yang berfokus kepada Unit VS. Integration Testing dan White Box serta Black Box Testing
Materi yang ada pada slide ini berisi :
Definisi Interface
Perbedaan interface dengan class
Format interface
Perancangan
Studi Kasus
Multiple interface
Latihan 6 & Upload ke github
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
kamus data, data dictionary,analisa perancangan sistem informasi,bambang sugianto,data flow diagram,dfd,perancangan sistem informasi,politeknik sawunggalih aji kutoarjo,sistem informasi
Modul ini membahas tentang konsep pemrograman berorientasi objek dilengkapi dengan contoh source code untuk praktik. Membahas Class, Object, Pewarisan, Polimorfisme, Konstruktor
UNTUK DOSEN Materi Sosialisasi Pengelolaan Kinerja Akademik DosenAdrianAgoes9
sosialisasi untuk dosen dalam mengisi dan memadankan sister akunnya, sehingga bisa memutakhirkan data di dalam sister tersebut. ini adalah untuk kepentingan jabatan akademik dan jabatan fungsional dosen. penting untuk karir dan jabatan dosen juga untuk kepentingan akademik perguruan tinggi terkait.
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondelferrydmn1999
Indonesia, negara kepulauan yang kaya akan keragaman budaya, suku, dan tradisi, memiliki Jakarta sebagai pusat kebudayaan yang dinamis dan unik. Salah satu kesenian tradisional yang ikonik dan identik dengan Jakarta adalah ondel-ondel, boneka raksasa yang biasanya tampil berpasangan, terdiri dari laki-laki dan perempuan. Ondel-ondel awalnya dianggap sebagai simbol budaya sakral dan memainkan peran penting dalam ritual budaya masyarakat Betawi untuk menolak bala atau nasib buruk. Namun, seiring dengan bergulirnya waktu dan perubahan zaman, makna sakral ondel-ondel perlahan memudar dan berubah menjadi sesuatu yang kurang bernilai. Kini, ondel-ondel lebih sering digunakan sebagai hiasan atau sebagai sarana untuk mencari penghasilan. Buku foto Lensa Kampung Ondel-Ondel berfokus pada Keluarga Mulyadi, yang menghadapi tantangan untuk menjaga tradisi pembuatan ondel-ondel warisan leluhur di tengah keterbatasan ekonomi yang ada. Melalui foto cerita, foto feature dan foto jurnalistik buku ini menggambarkan usaha Keluarga Mulyadi untuk menjaga tradisi pembuatan ondel-ondel sambil menghadapi dilema dalam mempertahankan makna budaya di tengah perubahan makna dan keterbatasan ekonomi keluarganya. Buku foto ini dapat menggambarkan tentang bagaimana keluarga tersebut berjuang untuk menjaga warisan budaya mereka di tengah arus modernisasi.
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
Pert 4. class dan objek
1.
2. Page 2
o Secara umum program komputer terdiri dari kode (proses logis
program) dan data (variabel atau konstanta).
o Kode dan data tersebut kemudian diatur, sehingga dapat
bekerja sama untuk menghasilkan program keluaran
o Pada model pemrograman prosedural, alur kerja program
berorientasi pada proses (process-oriented).
o Pendekatan ini memiliki kelemahan, yaitu akan menemui
banyak kesulitan ketika menangani kasus-kasus yang
kompleks, membutuhkan ribuan baris kode.
o Kondisi seperti itu akan menyulitkan programmer dalam
debugging, menyisipkan modul baru dalam program dsb.
Konsep PBOKonsep PBO
3. Page 3
o PBO menjadi solusi kelemahan yang terdapat pada pendekatan
prosedural biasa.
o Dalam PBO, pendekatan yang dilakukan adalah dengan
memodelkan sistem menjadi objek-objek.
Gambar 1. Perbedaan Secara Umum Class dengan Objek
Konsep PBOKonsep PBO
4. Page 4
o Kelas merupakan inti dari pemrograman Java
o Java merupakan bahasa pemrograman yang mendukung dan
mengimplementasikan konsep pemrograman berorientasi
objek sepenuhnya.
o Setiap program Java merupakan kelas, sehingga setiap konsep
atau kasus pemrograman yang akan diimplementasikan dengan
Java harus dibungkus ke dalam sebuah kelas.
o Kelas dapat didefinisikan sebagai prototype/kerangka yang
mendefinisikan variabel-variabel (data) dan method-method
(perilaku) umum dari sebuah objek tertentu.
KelasKelas
5. Page 5
o Contoh: Objek Mahasiswa.
- Mahasiswa memiliki data seperti: NIM, nama, alamat, IPK,
jenis kelamin, jurusan dll.
- Mahasiswa memiliki perilaku-perilaku spesifik yang dapat
membedakan antara mahasiswa yang satu dengan yang
lainnya, seperti: cara belajar, cara mengerjakan tugas, cara
presentasi dll.
KelasKelas
6. Page 6
o Dalam Java, kelas didefinisikan dengan menggunakan kata
kunci classclass.
o Berikut bentuk umum untuk mendefinisikan sebuah kelas:
Mendefinisikan KelasMendefinisikan Kelas
class NamaKelas {class NamaKelas {
tipe data1;tipe data1;
tipe data2;tipe data2;
. . . . . . . .. . . . . . . .
tipe dataN;tipe dataN;
tipe method1(daftar-parameter) {tipe method1(daftar-parameter) {
//kode untuk method1//kode untuk method1
}}
tipe method2(daftar-parameter) {tipe method2(daftar-parameter) {
//kode untuk method2//kode untuk method2
}}
. . . . . . . .. . . . . . . .
tipe methodN(daftar-parameter) {tipe methodN(daftar-parameter) {
//kode untuk methodN//kode untuk methodN
}}
}}
7. Page 7
o Data atau variabel yang didefinisikan di dalam sebuah kelas
disebut instance variable
o Selanjutnya akan diakses melalui method-method yang ada.
o Data dan method yang tergabung dalam suatu kelas
dinamakan sebagai class members.
Mendefinisikan KelasMendefinisikan Kelas
8. Page 8
o Membuat kelas Karyawan, yang memiliki data-data: ID, nama,
divisi, dan gaji.
- Contoh Pembuatan Kelas
o Untuk saat ini, belum ditambahkan method ke dalam kelas
tersebut.
o Melalui kode di atas, berarti kita telah mendefinisikan sebuah
tipe data baru dengan nama Karyawan.
o Pendefinisian kelas hanya akan membuat sebuah pola atau
template, bukan membuat objek.
Contoh Kelas SederhanaContoh Kelas Sederhana
class Karyawanclass Karyawan
{{
String ID,nama,divisi;String ID,nama,divisi;
Double gaji;Double gaji;
}}
9. Page 9
o Buatlah contoh pemisalan objek orang nyata menjadi kode
program dalam class Orang?
Contoh SoalContoh Soal
10. Page 10
Contoh SoalContoh Soal
class Orangclass Orang
{{
String nama; //nama orangString nama; //nama orang
int tinggiBadan; //dalam cmint tinggiBadan; //dalam cm
int beratBadan; //dalam kgint beratBadan; //dalam kg
String bentukbadan; //kurus, gemuk, normalString bentukbadan; //kurus, gemuk, normal
String warnarambut; //hitam, coklat, pirangString warnarambut; //hitam, coklat, pirang
String warnakulit; //kuning, hitam, putihString warnakulit; //kuning, hitam, putih
String kelamin; //pria atau wanitaString kelamin; //pria atau wanita
Boolean berkacamata; //bila berkacamata berarti TrueBoolean berkacamata; //bila berkacamata berarti True
}}
11. Page 11
o Objek aktual dari kelas tersebut harus dibuat sendiri melalui
kode berikut:
o Di sini, Karyawan adalah kelas sedangkan kry adalah objek
atau instance dari kelas Karyawan.
o Melalui objek kry, kita dapat mengakses dan memanipulasi
data-data yang terdapat pada kelas Karyawan, dengan cara
menggunakan operator titik (.), seperti dibawah ini:
Contoh Kelas SederhanaContoh Kelas Sederhana
//membuat objek karyawan dengan nama kry//membuat objek karyawan dengan nama kry
Karyawan kry = new Karyawan();Karyawan kry = new Karyawan();
kry.ID = "K001";kry.ID = "K001";
kry.nama = " Dian ";kry.nama = " Dian ";
kry.divisi = " Marketing";kry.divisi = " Marketing";
kry.gaji= "2500000";kry.gaji= "2500000";
12. Page 12
o Instansiasi objek dan pengaksesan data pada objek
Contoh Kelas SederhanaContoh Kelas Sederhana
//membuat objek karyawan dengan nama kry
Karyawan kry = new Karyawan();
//mengisi nilai kedalam data-data Objek Karyawan
kry.ID = "K001";
kry.nama = “Andi Susanto";
kry.divisi = "Marketing";
kry.gaji = "2500000“;
13. Page 13
o Untuk membuat objek baru dari tipe kelas yang telah
didefinisikan, secara eksplisit dengan melakukan dua tahap.
1. Mendeklarasikan variabel yang digunakan sebagai referensi ke
objek dari kelas bersangkutan.
2. Menginstansiasi kelas dengan menggunakan operator new dan
memasukkan instance-nya ke dalam variabel referensi yang
baru saja dideklarasikan.
Operator new secara dinamis akan mengalokasikan ruang
memori untuk menyimpan suatu objek tertentu dan
mengembalikan nilai berupa referensi ke objek bersangkutan.
Instansiasi ObjekInstansiasi Objek
14. Page 14
o Contoh berikut menggunakan kelas Karyawan yang telah
dibuat sebelumnya.
o Pada praktiknya, dua tahap di atas biasanya ditulis dalam satu
baris, seperti berikut:
Instansiasi ObjekInstansiasi Objek
//mendeklarasikan variabel kry bertipe Karyawan//mendeklarasikan variabel kry bertipe Karyawan
Karyawan kry;Karyawan kry;
//instansiasi & memasukkan referensi ke variabel kry//instansiasi & memasukkan referensi ke variabel kry
kry = new Karyawan();kry = new Karyawan();
Karyawan kry = new Karyawan();Karyawan kry = new Karyawan();
atauatau
Karyawan kry = new Karyawan(“Andi
Susanto”);
ini juga sama artinya dengan:
Karyawan kry = “Andi Susanto”;
15. Page 15
o Kita akan membuat kelas Tabungan
o Di dalam kelas tsb terdapat variabel instan bernamaDi dalam kelas tsb terdapat variabel instan bernama saldosaldo dandan
rekeningrekening
o Serta tiga buah metode bernamaSerta tiga buah metode bernama setor(), ambil(),setor(), ambil(), dandan info()info()
o Secara berturut-turut ketiga metode tsb, menyatakan metodeSecara berturut-turut ketiga metode tsb, menyatakan metode
untuk:untuk:
- memasukkan setoran- memasukkan setoran
- mengambil uang- mengambil uang
- menampilkan informasi uang- menampilkan informasi uang
Implementasinya sbb:Implementasinya sbb:
Contoh Membuat KelasContoh Membuat Kelas
16. Page 16
class Tabungan{class Tabungan{
public static void main(String[] args){public static void main(String[] args){
long saldo = 0;long saldo = 0;
String rekening = "";String rekening = "";
//untuk memperoleh saldo//untuk memperoleh saldo
long infoSaldo(){long infoSaldo(){
return saldo;return saldo;
}}
//untuk menambahkan setoran//untuk menambahkan setoran
void setor (long nilai){void setor (long nilai){
saldo = saldo + nilai;saldo = saldo + nilai;
}}
//untuk mengambil uang//untuk mengambil uang
void ambil (long nilai){void ambil (long nilai){
saldo = saldo - nilai;saldo = saldo - nilai;
}}
}}
17. Page 17
class Tabungan{class Tabungan{
public static void main(String[] args){public static void main(String[] args){
long saldo = 0;long saldo = 0;
String rekening = "";String rekening = "";
//untuk memperoleh saldo//untuk memperoleh saldo
long infoSaldo(){long infoSaldo(){
return saldo;return saldo;
}}
//untuk menambahkan setoran//untuk menambahkan setoran
void setor (long nilai){void setor (long nilai){
saldo = saldo + nilai;saldo = saldo + nilai;
}}
//untuk mengambil uang//untuk mengambil uang
void ambil (long nilai){void ambil (long nilai){
saldo = saldo + nilai;saldo = saldo + nilai;
}}
}}
Variabel Instan
Definisi metode
infoSaldo()
Definisi metode
setor()
Definisi metode ambil()
18. Page 18
o Secara umum terlihat bahwa sebuah metode didefinisikan sbb:
tipe nilai balik_namaMetode{tipe nilai balik_namaMetode{
//tubuh metode//tubuh metode
}}
o Pada metode infoSaldo(),
long infoSaldo() {long infoSaldo() {
return saldo;return saldo;
}}
- nilai balik bertipe long.
- nilai ditentukan oleh pernyataan return
- dengan demikian menjadi : return saldo;
PenjelasanPenjelasan
19. Page 19
o Membuat infoSaldo(), memberikan nilai balik berupa isi
variabel instan saldo apabila infoSaldo() dipanggil.
o Tipe nilai balik berupa void bila tidak ada nilai balik.
o Contoh terdapat pada metode setor() dan ambil()
PenjelasanPenjelasan
20. Page 20
Contoh penggunaaan kelas TabunganContoh penggunaaan kelas Tabungan
class SampelTabungan{class SampelTabungan{
public static void main(String[] args){public static void main(String[] args){
Tabungan tabA = new Tabungan ();Tabungan tabA = new Tabungan ();
Tabungan tabB = new Tabungan ();Tabungan tabB = new Tabungan ();
tabA.setor(600000);tabA.setor(600000);
tabA.ambil(100000);tabA.ambil(100000);
tabB.setor(165000);tabB.setor(165000);
tabB.setor(300000);tabB.setor(300000);
long saldoA= tabA.infoSaldo();long saldoA= tabA.infoSaldo();
System.out.println("Saldo A:" + saldoA);System.out.println("Saldo A:" + saldoA);
long saldoB= tabB.infoSaldo();long saldoB= tabB.infoSaldo();
System.out.println("Saldo B:" + saldoB);System.out.println("Saldo B:" + saldoB);
}}
}}
21. Page 21
o Pada contoh tsb, tabA dan tabB merupakan variabel yang
berkelas Tabungan.
o Kedua varibel tsb merujuk ke objek berkelas Tabungan
o Pernyataan : tabA.setor (600000);
digunakan untuk menjalankan metode setor() yang dirujuk
oleh tabA dengan argumen berupa 600000.
o Dengan cara seperti ini maka variabel instan bernama saldo
dinaikkan sebesar 600000.
o Selanjutnya tabA.ambil(100000);
membuat variabel instan bernama saldo milik objek yang
dirujuk oleh tabA diturunkan sebesar 100000
PenjelasanPenjelasan