SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
Modul Pelatihan Pemrograman Berorientasi Objek
2022
Pemrograman Berorientasi Objek
Rangkuman Makalah
Pertemuan 9 Sampai dengan 11
Java
Mata Kuliah : Pemrograman Berorientasi Objek
Kelas : IT-501
Program Studi : PJJ Informatika
Nama : Hendro Gunawan
NIM : 200401072103
Dosen : Catur Nugroho, S.Kom., M.Kom
UNIVERSITAS SIBER ASIA
(021) 278-061-89
[Telpone]
admission@unsia.ac.id
[Email]
Modul Pelatihan Pemrograman Berorientasi Objek
i
Kata Pengantar
Alhamdulillah...,puji syukur penulis panjatkan kepada Allah SWT. Rangkuman makalah pada
topik ke-9 hingga ke-11 dengan implementasi program ini telah berhasil diselesaikan. Makalah
ini merupakan tugas 2 untuk mata kuliah Pemrograman Berorientasi Objek (PBO) khususnya
yang menggunakan bahasa pemrograman berbasis Java. Konsep dari makalah ini berisi tentang
pemahaman OOP (Objek Oriented Programing) seperti Polimorpfisme yang merupakan fitur
dalam pemrograman berorientasi objek yang mengijinkan programer untuk mengirimkan
pesan yang sama terhadap objek-objek dari class yang berbeda-beda. Kemudian di dalam
polimorfisme terdapat Overriding dan Overloading, Overriding merupakan jenis polimorfisme
yang bisa diterapkan pada class turunan, overriding method terkait pada konsep inheritance
dalam pemrograman berorientasi objek, dimana method di class induk dapat diperluas di class
turunannya, dan class turunan dapat mengubah isi method pada super class. Sedangkan
Overloading mengacu pada method yang sama pada class yang berbeda. Sedangkan Package
merupakan sekumpulan class dan interfaces yang saling berelasi. Simpelnya, kita bisa
membayangkan package seperti sebuah folder di komputer kita. Di dalam package terdapat
bagaimana cara kita membuat package, cara mengakses package java menggunakan perintah
import dan cara mengakses kelas pada package yang sama.
Pada Class Relationship terdapat beberapa hubungan relasi yang terbentuk dari kelas-kelas hal
ini menekankan pada ilustrasi hubungan yang mengarah pada kata “Has A” atau memiliki.
Untuk bisa menggambarkan bentuk relasi kelas selain generalization dan implementation, ada
empat buah konsep relasi kelas lainnya yang bisa digunakan. Empat buah relasi kelas tersebut
adalah: 1. Multiplicity 2. Association, 3. Composition, 4. Agregation dan 5. Dependency.
Diantara jenis-jenis relasi kelas tersebut salah satu contohnya yaitu Multiplicity, layaknya
sebuah relasi antar kelas, relasi tersebut wajib memiliki derajat relasi yang mana derajat relasi
tersebut dapat menyatakan seberapa banyak objek dari suatu kelas akan berelasi dengan kelas
lain. Relasi Association menyatakan relasi antar dua kelas terpisah yang relasinya terjadi
melalui pertemuan objek dari masing-masing kelas di bagian atributnya. Array merupakan tipe
data yang dapat menampung lebih dari satu nilai yang bertipe sama, di sini dijelaskan mengenai
ilustrasi array beserta gambarnya, kemudian pendeklarasian array, erray tipe data primitif, cara
pengaksesan array, array objek, ukuran array, kelas array dan yang terakhir adalah kelebihan
dan kekurangan array. Demikian beberapa penjelasan mengenai isi dari rangkuman tugas2
yang telah saya buat semoga rangkuman ini dapat membantu para mahasiswa dalam belajar
matkul Pemrograman Berorientasi Objek (PBO).
Saya menyadari jika rangkuman ini masih jauh dari kata sempurna dan terdapat banyak
kekurangan. Namun, saya tetap berharap buku ini dapat bermanfaat dan dapat dijadikan
panduan bagi mereka yang ingin mempelajari pemrograman berorientasi objek menggunakan
Java. Saya berharap rangkuman ini dapat memberikan manfaat bagi para pembacanya.
Terima kasih.
Gresik, 29 Januari 2023
Penulis,
Hendro Gunawan
Modul Pelatihan Pemrograman Berorientasi Objek
ii
Daftar Isi
Kata Pengantar............................................................................................................................i
Daftar Isi....................................................................................................................................ii
1. Polimorfisme..........................................................................................................................1
1.1 Review Overriding...........................................................................................................2
1.2 Penerapan.........................................................................................................................2
1.3 Animal Menjadi Dog.......................................................................................................3
1.4 Review Overloading........................................................................................................3
1.5 Overloading Method........................................................................................................3
1.6 Class Bentuk....................................................................................................................3
1.7 Class Segitiga...................................................................................................................4
1.8 Class Persegi....................................................................................................................4
1.9 Class Pemakai..................................................................................................................4
1.10 Class Bangun Datar........................................................................................................5
2. Package..................................................................................................................................8
2.1 Package Bawaan Java......................................................................................................8
2.2 Hirarki Package................................................................................................................9
2.3 Static Import...................................................................................................................10
2.4 Cara Membuat Package.................................................................................................11
2.5 Cara Mengakses Package Java (Import)........................................................................12
2.6 Cara Mengakses Kelas pada Package yang Sama ........................................................12
2.7 Kegunaan Package.........................................................................................................14
3. Class Relationship & Array.................................................................................................14
3.1 Multiplicity....................................................................................................................14
3.2 Asosiasi..........................................................................................................................15
3.3 Komposisi......................................................................................................................19
3.4 Agregasi.........................................................................................................................20
3.4.1 Pemain Bola dengan Klub Bola.............................................................................21
3.5 Agregasi Vs Komposisi.................................................................................................21
3.6 Asosiasi, Agregasi dan Komposisi................................................................................20
3.7 Dependency....................................................................................................................23
4. Array.....................................................................................................................................24
4.1 Ilustrasi Array.................................................................................................................24
4.2 Deklarasi Array..............................................................................................................24
4.3 Array Tipe Data Primitif................................................................................................25
4.4 Pengaksesan...................................................................................................................25
4.5 Array Object...................................................................................................................25
4.6 Ukuran Array..................................................................................................................26
4.7 Class Array.....................................................................................................................26
4.8 Kelebihan dan Kekurangan Array..................................................................................26
Daftar Pustaka..........................................................................................................................27
Tentang Penulis........................................................................................................................28
Modul Pelatihan Pemrograman Berorientasi Objek
1
Pertemuan 9: Polimorfisme
1. Polymorphism
• Polimorphism = Poly + Morphos
• Poly = banyak, Morphos = bentuk
• Agar komunikasi antar objek satu dengan lainnya dapat terjadi secara dinamis, dimana
“message”/permintaan yang disampaikan dari satu objek ke objek lain bisa berbeda-beda
tanggapannya dengan objek lainnya.
• Diimplementasikan dalam respon yang berbeda-beda, melalui pewarisan dan implementasi
interface.
• Digunakan juga untuk standardisasi.
• Kemampuan objek-objek yang berbeda untuk memberi respon terhadap permintaan yang sama,
sesuai dengan cara masing-masing objek.
• Polymorfisme melalui inheritance (extends)
• Polymorfisme melalui interface (implements)
• Jadi, Polymorfisme dapat diterapkan secara:
➢ Overriding Method
➢ Overloading Method
• Objek dinamis suatu class induk dapat berperilaku seperti class turunan.
• Ketika objek menunjuk class induk, objek berperilaku seperti class induk.
• Ketika objek menunjuk class turunan, objek tersebut berperilaku seperti class turunan.
A contoh = new A( );
B contoh = new B( );
B contoh = new B( );
Penjelasan:
• A contoh = new B( )
• Maka objek contoh sebenarnya bertipe class A namun berperilaku secara class B.
• Atribut dan method pada objek contoh akan mengikuti class A, bukan class B.
A
B
Modul Pelatihan Pemrograman Berorientasi Objek
2
1.1 Revew Overriding
• Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass.
• Tujuan: subclass memiliki tingkah laku yang lebih spesifik.
• Dilakukan dengan cara mendeklarasikan kembali method milik parent class di subclass.
Contoh:
1 class Animal{
2 public String bersuara() {
3 return "Suara binatang";
4 }
5 }
6
7 class Dog extends Animal{
8 public String bersuara() {
9 return "Gukguk";
10 }
11 }
1.2 Penerapan
Animal contoh = new Animal ( );
Contoh.bersuara ( );
Animal
Dog
+bersuara( )
+bersuara( )
public void bersuara ( ) {
System.out.println(“.....”);
}
public void bersuara ( ) {
System.out.println(“Guk !”);
}
Modul Pelatihan Pemrograman Berorientasi Objek
3
Animal contoh = new Dog( );
contoh.bersuara( );
Dog contoh = new Dog( );
Contoh.bersuara( );
1.3 Animal Menjadi Dog
Field dari class Animal
Animal contoh = new Dog( );
contoh.bersuara( );
Method dari class Dog
1.4 Review Overloading
Aturan overloading:
❖ Nama method harus sama
❖ Daftar parameter harus berbeda
❖ Return type boleh sama, juga boleh beda
1.5 Overloading Method
Contoh:
public void println (char c);
public void println (String s);
public void println (int i);
public void println (String s, double d);
• Berhubungan dengan standarisasi
• Pada hubungan pewarisan, class anak dan induk adalah sejenis.
• Sifat “sejenis” dengan induknya itulah yang dapat digunakan untuk membuat kelas “umum” yang
dapat menggunakan kelas yang bertipe induk namun bertingkah laku sesuai dengan kelas
anaknya.
1.6 Class Bentuk
1 public abstract class Bentuk {
2 private String jenis;
Animal
+bersuara( )
+bersuara( )
Dog
-nama
-nama
Modul Pelatihan Pemrograman Berorientasi Objek
4
3 public abstract void hitungLuas();
4 public void setJenis(String j) {
5 this.jenis = j;
6 }
7 public String getJenis() {
8 return this.jenis;
9 }
10 }
1.7 Class Segitiga
1 class Segitiga extends Bentuk{
2 private int alas;
3 private int tinggi;
4
5 public void hitungLuas(){
6 System.out.println ("Luas : "+(0.5*alas*tinggi));
7 }
8 public Segitiga(String j,int a,int t){
9 super.setJenis(j);
10 this.alas = a;
11 this.tinggi = t;
12 }
13 }
1.8 Class Persegi
1 class Persegi extends Bentuk{
2 private int sisi;
3 public void hitungLuas(){
4 System.out.println ("Luas : "+(sisi*sisi));
5 }
6 public Persegi(String j,int s){
7 super.setJenis(j);
8 this.sisi = s;
9 }
10 }
1.9 Class Pemakai
1 class Pemakai{
2 public void Laporkan(Bentuk b){
3 System.out.println ("Jenis : "+b.getJenis());
4 b.hitungLuas();
5 }
6
7 public static void main(String args[]) {
8 Pemakai p = new Pemakai();
9 Segitiga s = new Segitiga("segitiga",5,4);
10 Persegi pp = new Persegi("bujur sangkar",9);
11 p.Laporkan(s);
12 p.Laporkan(pp);
Modul Pelatihan Pemrograman Berorientasi Objek
5
13 }
14 }
1.10 Class Bangun Datar
1 package bangundatar_oop;
2 import java.io. *;
3 import java.util.Scanner;
4 public class Bangundatar_Oop {
5 /**
6 * @param args the cmmand line arguments
7 */
8 public static void main(String[]args)
9 {
10
11 // TODO code application logic here
12 Scanner scn = new Scanner(System.in);
13 int s, p, l, a, t, sm;
14 System.out.print ("Inputkan sisi bujur sangkar : ");
15 s= scn.nextInt();
16 System.out.print ("Inputkan panjang persegi panjang: ");
17 p = scn.nextInt();
18 System.out.print ("Masukkan lebar persegi panjang : ");
19 l = scn.nextInt();
20 System.out.print ("Masukkan alas segi tiga : ");
21 a = scn.nextInt();
22 System.out.print ("Masukkan tinggi segi tiga : ");
23 t = scn.nextInt();
24 System.out.print ("Masukkan sisi miring segitiga : ");
25 sm = scn.nextInt();
26 System.out.println();
27
28 BujurSangkar bs = new BujurSangkar(s);
29 System.out.println ("Luas Bujur Sangkar dengan s = "+s+" adalah
30 " + bs.CariLuas());
31 PersegiPanjang pp = new PersegiPanjang(p,l);
32 System.out.println ("Luas Persegi Panjang dengan p = "+p+" dan l =
33 "+l+" adalah "+pp.CariLuas());
34 SegiTiga st = new SegiTiga(a, t, sm);
35 System.out.println ("Luas Segitiga sama kaki dengan a = "+a+", t =
36 "+t+", dan sm = "+sm+" adalah "+st.CariLuas());
37 System.out.println ();
38
39 BujurSangkar b = new BujurSangkar(s);
40 System.out.println ("Keliling Bujur Sangkar dengan s = "+s+"
41 adalah "+b.CariKeliling());
42 PersegiPanjang pj = new PersegiPanjang(p,l);
43 System.out.println ("Keliling Persegi Panjang dengan p = "+p+"
44 dan l = "+l+" adalah "+pj.CariKeliling());
45 SegiTiga sg = new SegiTiga(a,t,sm);
46 System.out.println ("Keliling Segitiga sama kaki dengan a = "+a+", t
Modul Pelatihan Pemrograman Berorientasi Objek
6
47 = "+t+", dan sm = "+sm+" adalah "+sg.CariKeliling());
48 System.out.println ();
49 }
50 }
51 abstract class BangunDatar
52 {
53
54 abstract double CariLuas();
55 abstract double CariKeliling();
56 }
57 class PersegiPanjang extends BangunDatar
58 {
59
60 private int lebar = 1;
61 private int panjang = 1;
62
63 PersegiPanjang(int p, int l)
64 {
65
66 panjang = p;
67 lebar = l;
68 }
69 double CariLuas()
70 {
71
72 return panjang*lebar;
73 }
74 double CariKeliling()
75 {
76
77 return (2*panjang)+(2*lebar);
78 }
79 }
80 class BujurSangkar extends BangunDatar
81 {
82
83 private int sisi = 1;
84 BujurSangkar (int s)
85 {
86 sisi = s;
87 }
88 double CariLuas()
89 {
90 return sisi*sisi;
91 }
92 double CariKeliling()
93 {
94 return 4*sisi;
95 }
96
Modul Pelatihan Pemrograman Berorientasi Objek
7
97 }
98 class SegiTiga extends BangunDatar
99 {
100 private int alas = 1;
101 private int tinggi = 1;
102 private int sisi = 1;
103 SegiTiga (int a, int t, int s)
104 {
105 alas = a;
106 tinggi = t;
107 sisi = s;
108 }
109 double CariLuas()
110 {
111 return 0.5*alas*tinggi;
112 }
113 double CariKeliling()
114 {
115 return alas+(2*sisi);
116 }
117 }
Hasil dari implementasi program menggunakan aplikasi Visual Studio Code tersebut adalah sebagai
berikut:
Penjelasan program
Pada program bangun datar ini terdiri dari tiga class yaitu class bujur sangkar, persegi panjang dan
lingkaran.
Modul Pelatihan Pemrograman Berorientasi Objek
8
Pertemuan 10: Package
2. Package
• Package dalam bahasa java berarti melakukan pengelompokan terhadap class-class yang berelasi
ke dalam satu unit kerja.
• Kita bisa memakai package-package default java ataupun yang kita buat sendiri, dengan cara
import.
• Jika kita melakukan import terhadap suatu package, maka kita bisa memakai semua class dalam
package tersebut.
➢ Semua class yang terletak pada satu direktori tertentu dengan sendirinya membuat satu package
yang tidak bernama.
➢ Nama paket biasanya ditulis dengan huruf kecil.
➢ Package java diawali dengan java.* dan javax.*
➢ Nama paket biasanya diberi nama sesuai dengan pembuatnya
❖ Bersifat terbalik (reverse)
❖ Id.ac.ukdw.www
▪ Setiap package bersifat unik
▪ Setiap class dalam 1 package dapat saling akses (ingat sifat class modifier!)
▪ Package dapat terdiri dari: class, abstract class dan interface.
▪ Bisa digabungkan dalam 1 file JAR (Java Archive)
▪ Secara default, Java mengimport package java.lang sehingga kita bisa memakai class-class seperti
System, Integer, String walaupun kita belum mengimport package apapun.
▪ Syntax untuk import adalah:
import <nama package>;
Contoh jika kita ingin memakai class Date dalam package util, maka kita harus menulis:
1 import java.util.Date;
2 import java.util.*;
Statement pertama mengimport satu class Date secara spesifik sedangkan statement kedua
mengimport semua class di package util.
Cara lain untuk menggunakan class dari package lain adalah menggunakan explicit package
referencing.
Dilakukan dengan cara memakai nama package secara lengkap untuk mendeklarasikan sebuah
objek dari class tersebut.
Contoh:
java.util.Datetgl;
2.1 Package Bawaan Java
Modul Pelatihan Pemrograman Berorientasi Objek
9
 Jika mengunakan statement import, maka harus diletakkan di luar class dan berada di baris-baris
awal program java kita.
 Untuk membuat package kita dapat menuliskan:
- import <nama package>;
- di awal file java kita (paling atas/baris pertama)
 Misalkan kita akan membuat suatu package di mana kita akan meletakkan class mahasiswa
denganclass-class lain yang berelasi.
 Yang perlu kita lakukan pertama adalah membuat class-class tersebut.
 Kemudian membuat folder bagi class tersebut (misalakna package tersebut bernama universitas).
❖ Semua class yang akan kita kelompokkan harus diletakkan dalam satu folder dengan nama sama
dengan nama package-nya.
❖ Maka dari itu, kita masukkan semua class yang akan kita jadikan package universitas ke dalam
folder universitas.
❖ Kita juga perlu menambahkan kode berikut ke bagian atas tiap file java (tiap class0 yang akan
dibuat dalam 1 package.
- package universitas;
• Untuk mengkompile class-class dalam package, cukup dikompile dari luar folder package
tersebut.
- C:javac universitas/*.java
• Package juga dapat disebut nested (bertumpuk/bersarang) yang berarti satu package di dalam
package lain.
• Hal ini menunjukkan bahwa package bersifat hirarkis. Penulisannya dipisahkan dengan tanda titik
(.)
• Contoh: package id.ac.ukdw.www;
• Id
- Ac
• Ukdw
- www
2.2 Hirarki Package
• Java sepertinya menganggap Package seperti hirarki folder, tapi kenyataannya tidak!
import java.awt.*;
- kita import semua class dalam java.awt.*
Modul Pelatihan Pemrograman Berorientasi Objek
10
• Tapi kita tidak otomatis mengimpor class pada java.awt.color.*
• Harus dilakukan manual:
import java.awt.color.*;
2.3 Static Import
• Jika kita memiliki variabel dan method static
• public static final double PI 3.141592653589793
• public static double cos(double a)
• Dapat diakses sebagai berikut:
• double r = Math.cos(Math.PI * theta);
• Atau diimport:
• import static java.lang.Math.PI; atau
• import static java.lang.Math.*;
Contoh:
♥ Misalkan folder awal kita adalah di D:Program
♥ Kita buat class Dosen dan Mahasiswa
♥ Class Dosen:
1 public class Dosen {
2 private String nik; private String nama;
3
4 public Dosen(String nik, String nama) {
5 this.nik = nik;
6 this.nama = nama;
7 }
8 public void cetakDosen() {
9 System.out.println(this.nik+" ("+this.nama+")");
10 }
11 }
♥ Class Mahasiswa:
1 public class Mahasiswa {
2 private String nim; private String nama;
3 public Mahasiswa(String nim, String nama) {
4 this.nim = nim;
5 this.nama = nama;
6 }
7 public void cetakMhs() {
8 System.out.println(this.nim+" ("+this.nama+")");
9 }
10 }
♥ Kemudian kita buat class CobaMhs sebagai class launcer yang isinya demikian:
1 class CobaMhs {
Modul Pelatihan Pemrograman Berorientasi Objek
11
2 public static void main(String[] args){
3 Mahasiswa baru;
4 baru = new Mahasiswa("22002529","Antonius");
5 }
6 }
♥ Kemudian kalau sudah berhasil, kita buat folder CivitasAkademikka dan masukkan Class
Mahasiswa dan Dosen ke dalamnya.
♥ Lalu kita tambahakan sintax: package CivitasAkademika; ke-class Dosen & Mahasiswa.
♥ Dengan begitu class Dosen dan Mahasiswa menjadi satu package, yaitu package
CivitasAkademika.
♥ Untuk menggunakannya di class CobaMhs lagi, kita harus mengimpor package
CivitasAkademika terlebih dahulu.
Penggunaan: import
1 import CivitasAkademika.*;
2 class CobaMhs{
3 public static void main(String[] args){
4 Mahasiswa baru;
5 baru = new Mahasiswa("12345678","Anton");
6 }
7 }
Lalu compile ulang dan jalankan.
2.4 Cara Membuat Package
Contoh:
Dalam kode program berikut saya membuat class Komputer yang disimpan ke dalam package
duniailkom:
1 package duniailkom;
2
3 public class Komputer {
4 public String cekInfo() {
5 return "Ini berasal dari class Komputer Duniailkom";
6 }
7 }
Perintah package duniailkom di baris 1 berarti semua kode yang ada di file ini berada di dalam
package duniailkom. Class Komputer sendiri berisi satu method cekInfo( ) yang mengembalikan
serbuah string.
Simpan file dengan nama Komputer.java di dalam folder duniailkom, yakni sesuai dengan nama
package.Compile file tersebut dengan cara biasa (menggunakan perintah javac Komputer.java), dan
pastikan sudah ada file Komputer.class di dalam folder duniailkom.
Modul Pelatihan Pemrograman Berorientasi Objek
12
Dalam gambar di atas, terdapat file Komputer.java dan Komputer.class ada di dalam folder
D:belajar_javaduniailkom.
2.5 Cara Mengakses Package Java (Import)
Masuk ke contoh praktek implementasi program, silahkan buat file BelajarJava.java di dalam folder
D:belajar_java, dan isi dengan kode berikut:
1 import duniailkom.Komputer;
2
3 class BelajarJava {
4 public static void main(String args[]){
5
6 Komputer KomputerAndi = new Komputer();
7 System.out.println(KomputerAndi.cekInfo());
8
9 }
10 }
Di baris 1, itu adalah perintah proses import class Komputer yang ada di dalam package duniailkom.
Clas ini sudah kita buat sebelumnya.
Dengan perintah ini, sepanjang class BelajarJava kita bisa mengakses class Komputer. Di baris 6,
class Komputer di instansiasi ke dalam object KomputerAndi, untuk selanjutnya mengakses
method cekInfo( ).
Jika tidak ada kesalahan penulisan kode dan syntaks error, maka output program akan menampilkan
tampilan sebagai berikut:
2.6 Cara Mengakses Kelas pada Package yang Sama
Jika kita ingin mengakses class pada package yang sama, itu tidak perlu perintah import, tetapi cukup
tambahkan perintah package di baris paling atas sebagai tanda class tersebut ada di package yang
Modul Pelatihan Pemrograman Berorientasi Objek
13
sama. Pertama, silahkan buat file Komputer.java di dalam folder duniailkom dan ketik kode
berikut:
1 package duniailkom;
2
3 public class Komputer {
4 public String cekInfo() {
5 return "Ini berasal dari class Komputer Duniailkom";
6 }
7 }
Ini kode yang sama seperti tutorial kita sebelumnya. Class Komputer berada di dalam package
duniailkom dan memiliki 1 method cekInfo( ) yang mengembalikan sebuah string. Kemudian kita
compile dengan perintah javac Komputer.java hasilnya, file Komputer.class akan dibuat di dalam
folder duniailkom.
Selanjutnya buat file kedua dengan nama BelajarJava.java di folder duniailkom juga, dan isi
dengan kode program berikut:
1 package duniailkom;
2
3 class BelajarJava {
4 public static void main(String args[]){
5
6 Komputer KomputerAndi = new Komputer();
7 System.out.println(KomputerAndi.cekInfo());
8
9 }
10 }
Akan tetapi ketika di compile , akan muncul error berikut:
Salah satu solusi dari masalah ini adalah, mundurkan satu direktory di cmd dari
D:belajar_javaduniailkom> ke D:belajar_java>, lalu baru jalankan perintah compile sebagai
berikut (1):
Modul Pelatihan Pemrograman Berorientasi Objek
14
javac duniailkomBelajarJava.java
Java duniailkom.BelajarJava
Untuk menjalankan (run), ketik perintah berikut (2):
Kedua perintah ini dijalankan dari folder D:belajar_java>
Hasil program setelah dicompile yaitu sebagai berikut:
2.7 Kegunaan Package
1. Pengelompokan class sejenis dan berelasi
2. Standarisasi penamaan vendor pembuat package tersebut
3. Mempermudah dalam penggunaan kelas-kelas karena package-nya sudah
Terorganisir
4. Menghindari name confict:
Rectangle r1 dan graphics.Rectangle r2
5. Membantu pengembangan JAR file
- Executablenya Java
Pertemuan 11: Class Relationship & Array
3. Class Relationship
▪ OOP mengambil realita dari kehidupan sehari-hari.
▪ Objek-objek di sekitar kita memiliki hubungan relasi tertentu.
▪ Relationship: koneksi logis, hubungan antar objek atau kelas.
3.1 Multiplicity
➢ Mutiplicity: karakteristik dari relasi yang terjadi .
➢ Level class relationship
− Instance Level:
• Relasi terjadi pada objek-objek yang terbentuk.
− Class Level:
Modul Pelatihan Pemrograman Berorientasi Objek
15
• Relasi yang terjadi pada class-class yang dibuat.
− General Level:
• Relasi yang terjadi pada level class maupun objek.
➢ Menunjukkan jumlah / kardinalitas hubungan antar kelas.
➢ Menunjukkan apakah relasi tersebut bersifat opsional atau mandatory
− Mandatory = wajib
Relasi Keterangan
0..1 0 atau 1
1 Tepat 1
0..* 0 atau lebih
1..* 1 atau lebih
* Tidak tentu jumlahnya
Contoh:
• Antar kelas Buku dan kelas Halaman (Page)
- Multiplicitynya: Buku 1 - Halaman 1..*
- Artinya Buku berjumlah min 1
- Halaman berjumlah minimal 1-tak terhingga
• Berarti sifatnya Mandatory
3.2 Asosiasi
❖ Relasi yang terjadi pada class-class dimana salah satu instance dari class tersebut memanggil /
mengaktifkan instance dari class lainnya.
❖ Relasi struktural, menunjukkan penggunaan suatu class di class lainnya.
❖ Asosiasi bisa uni-directional (satu arah) atau bi-directional (dua arah).
❖ Contoh:
public class Mahasiswa {
private KHS[] khs;
void printKHS() {
…
}
Class1
Class2
Class2
Class1
Bidirectional
Un-directional
Modul Pelatihan Pemrograman Berorientasi Objek
16
…
}
❖ Satu mahasiswa memiliki 1 atau lebih KHS.
Contoh implementasi program dari relasi class dosen dan mahasiswa
Buat sebuah folder bernama PRelasiDM dan prelasidm di folder E:PRelasiDMprelasidm.
Kemudian buat file baru dengan nama Dosen, ketikkan source code berikut pada class Dosen.
Simpan file tersebut ke dalam folder prelasidm dengan nama Dosen.
1 package prelasidm;
2 public class Dosen {
3 private String Nidn;
4 private String[] nimMhs = new String[11];
5 private int jmlMhs;
6 public void setNidn(String Nidn){
7 this.Nidn = Nidn;
8 }
9 public String getNidn(){
10 return this.Nidn;
11 }
12 public void setNimMhs(String nimMhs){
Mahasiswa KHS
1 1..*
Mahasiswa
Dosen
* *
Modul Pelatihan Pemrograman Berorientasi Objek
17
13 if (jmlMhs<this.nimMhs.length){
14 this.nimMhs[jmlMhs] = nimMhs;
15 jmlMhs++;
16 }
17 }
18 public int getJumlahMhs(){
19 return this.jmlMhs;
20 }
21 public String getNimMhs(int indeks){
22 return (nimMhs[indeks]);
23 }
24 }
Tuliskan source code berikut pada class Mahasiswa kemudian simpan di folder prelasidm dengan
nama Mahasiswa.
1 package prelasidm;
2 public class Mahasiswa {
3 private String nim;
4 private String nama;
5 private String prodi;
6 public void setNama(String nama){
7 this.nama = nama;
8 }
9 public String getNama(){
10 return this.nama;
11 }
12 public void setNim(String nim){
13 this.nim = nim;
14 }
15 public String getNim(){
16 return this.nim;
17 }
18 public void setProdi(String prd){
19 this.prodi = prd;
20 }
21 public String getProdi(){
22 return this.prodi;
23 }
24 }
Selanjutnya, tuliskan source code berikut pada folder yang sama yaitu folder prelasidm. Simpan
dengan nama file PRelasiDM.
Modul Pelatihan Pemrograman Berorientasi Objek
18
Catatan:
Pada package, jika file diletakkan pada folder yang berbeda maka kita harus menggunakan perintah
import namun jika terletak pada folder yang sama maka kita cukup menggunakan perintah package
disertai nama foldernya.
1 package prelasidm;
2 public class PRelasiDM {
3 public static void main(String[] args) {
4 Mahasiswa m1 = new Mahasiswa(); //Bentuk objek mhs 1
5 m1.setNim("200401072103");
6 m1.setNama("Hendro Gunawan");
7 Mahasiswa m2 = new Mahasiswa(); //Bentuk objek mhs 2
8 m2.setNim("200401072104");
9 m2.setNama("Irsyad Sajali");
10 Dosen d = new Dosen(); //Bentuk objek Dosen
11 d.setNidn("PBO");
12 //Buat link Dosen dengan Mahasiswa
13 d.setNimMhs(m1.getNim());
14 d.setNimMhs(m2.getNim());
15 //Tampilkan data Dosen dan Mahasiswa
16 System.out.println("Kode Dosen : "+d.getNidn());
17 System.out.println("Mengajar mahasiswa : ");
18 //Ambil jumlah mahasiswa yang diajar
19 int jum = d.getJumlahMhs();
20 //Ambil data NIM mahasiswa yang diajar
21 for(int i=0; i<jum; i++){
22 System.out.println(" -"+d.getNimMhs(i));
23 }
24 }
25 }
Selanjutnya jalankan program dengan mengetikkan perintah javac prealasidmPRelasiDM.java dan
untuk menjalankan (run) ketikkan perintah java prelasidm.PRelasiDM. Jika tidak ada error
syntaks, maka output dari program tersebut akan tampil seperti ilustrasi berikut:
Modul Pelatihan Pemrograman Berorientasi Objek
19
3.3 Komposisi
Menyusun objek-objek sederhana menjadi suatu objek yang lebih kompleks “Has-a” relationship.
Contoh: roda, gearbox, mesin, jok, kemudi, bagasi, membentuk sebuah mobil.
“A car has a gearbox”
Relasi komposisi ditunjukkan dengan garis penghubung dengan bentuk diamond berwarna hitam
di ujungnya.
Contoh:
1 class Roda {
2 String merk; int ring;
3
4 Roda(String m, int r) {
5 this.merk = m;
6 this.ring = r;
7 }
8}
Contoh:
1 class Mobil {
2 Roda rodaMbl;
3 //Mobil berisi class Roda String warna;
4 public void setWarna(String warnanya) {
5 this.warna = warnanya;
6 }
7 public void setRoda(String m, int r) {
8 rodaMbl = new Roda(m, r);
9 }
10 }
Contoh implementasi program menggunakan apliksi Visual Studio Code:
1 package Simplilearn;
2 class Mobil {
3 public String warna;
4 public String roda;
5 public String ring;
6
7 public String getWarna() {
8 return warna;
Mobil Roda
1 *
Modul Pelatihan Pemrograman Berorientasi Objek
20
9 }
10 public void setWarna(String warna) {
11 this.warna = warna;
12 }
13 public String getRoda() {
14 return roda;
15 }
16 public void setRoda(String roda) {
17 this.roda = roda;
18 }
19 public String getRing() {
20 return ring;
21 }
22 public void setRing(String ring) {
23 this.ring = ring;
24 }
25
26 public static void main(String[]args) {
27 Mobil m = new Mobil();
28 m.setWarna("Merah");
29 m.setRoda("Bridgestone");
30 m.setRing("15");
31
32 System.out.println("Warna: "+ m.getWarna());
33 System.out.println("Roda: "+ m.getRoda());
34 System.out.println("Ukuran: "+ m.getRing());
35 }
36 }
Hasil program setelah dicompile:
3.4 Agregasi
 Agregasi mirip dengan komposisi.
 Perbedaan pada kekuatan keterkaitan antara objek yang terbentuk dengan objek-objek yang
menyusunnya.
- Agregasi memiliki relasi yang kurang kuat dibandingkan dengan komposisi.
Modul Pelatihan Pemrograman Berorientasi Objek
21
 Relasi agregasi ditandai dengan garis penghubung dengan bentuk diamond berwarna putih di
ujungnya.
Contoh:
✓ Dosen-dosen berkumpul membentuk suatu program studi.
✓ Program studi-program studi dikumpulkan menjadi fakultas.
✓ Fakultas-fakultas dikumpulkan menjadi universitas.
3.4.1 Pemain Bola Dengan Klub Bola
o Jika klub bola tidak ada, maka pemain bola tetap ada
1 class PemainBola{
2 private String nama;
3 private String alamat;
4 public PemainBola(String nama, String alamat){
5 this.nama = nama;
6 this.alamat = alamat;
7 }
8 }
1 public class KlubBola{
2 private String nama;
3 private PemainBola pemainno1;
4 public KlubBola(String nama){
5 this.nama = nama;
6 }
7 public void SetPemainSatu(PemainBola pemain){
8 this.pemainno1 = pemain;
9 }
10 public static void main(String arg[]){
11 KlubBola juventus = new KlubBola("Juventus");
12 PemainBola orang1 = new PemainBola("Del Piero", "Sukabirus");
13 juventus.setPemainSatu(orang1);
14 }
15 }
3.5 Agregasi Vs Komposisi
ProgramStudi Dosen
1 1..*
Modul Pelatihan Pemrograman Berorientasi Objek
22
♥ Agragasi tidak ada kepemilikan.
− Bila Objek yang dibentuk hilang maka objek-objek penyusun akan tetap ada.
♥ Komposisi ada kepemilikan.
− Bila objek yang dibentuk hilang maka objek-objek penyusun juga akan hilang.
♥ Universitas terdiri dari 1 atau lebih fakultas.
♥ Fakultas terdiri dari 1 atau lebih Program Studi
♥ Program Studi memiliki 1 atau lebih Dosen.
Bila universitas ditutup maka Fakultas dan Program Studi akan hilang, tetapi Dosen tidak.
Bila Fakultas ditutup maka program studi-program studi di bawahnya juga akan hilang.
Contoh:
❖ Suatu lingkaran memiliki 1 titik pusat?
❖ Merupakan agresi atau komposisi?
1 public class Titik{
2 ink x;
3 prvate int y;
4 public void setKoordinat(int a, int b) {
5 x =a;
6 y = b;
7 }
8 //...(bagian selanjutnya dihilangkan)
9 }
1 public class Lingkaran {
2 private int radius;
3 private Titik titikPusat;
4 //...(bagian selanjutnya dihilangkan)
ProgramStudi Dosen
Fakultas Universitas
1
1
1..*
1..*
1..*
1
Modul Pelatihan Pemrograman Berorientasi Objek
23
5 }
3.6 Asosiasi, Agregasi dan Komposisi
3.7 Dependency
Relasi yang menggambarkan ketergantungan suatu class pada class lainnya.
Contoh: class A memiliki dependency pada class B. Bila class B berubah maka class A juga
harus diubah.
Relasi dependency digambarkan dengan garis putus-putus
Ada 3 bentuk dependency
Penggunaan class B sebagai parameter pada fungsi di class A.
Penggunaan class B sebagai nilai kembalian (return value) pada fungsi di class A.
Penggunaan class B sebagai variabel lokal pada fungsi di class A.
▪ Penggunaan class B sebagai parameter pada fungsi di class A
class KHS { … } class mahasiswa {
float hitungIPKSemester(KHS khs, int sem) {
…
}
Lingkaran Titik
1 1
Association
Aggregation
Composition
A B
Modul Pelatihan Pemrograman Berorientasi Objek
24
▪ Penggunaan class B sebagai nilai kembalian pada fungsi di class A
class KHS { … } class mahasiswa
{
KHS getKHS(int sem) { … }
}
▪ Penggunaan class B sebagai variabel lokal pada fungsi di class A
class KRS { … }
class mahasiswa {
void susunKRS {
KRS krs = new KRS(5);
…
}
Array
4. Array
♥ Tipe data yang dapat menampung lebih dari satu nilai yang bertipe sama.
♥ Menggunakan indeks untuk pengaksesannya.
♥ Dapat diakses secara random, tidak harus sekuensial.
♥ Array pada java => bertipe Object / Reference.
♥ Array bisa berisi:
Object atau tipe data primitif biasa.
4.1 Ilustrasi Array
4.2 Deklarasi Array
o Static Memory Allocation = Fixed size
o Mendeklarasikan array
int [ ] data;
char [ ] alfabet;
0 5
3 9
6
4 7 8
2
1
Array length is 10
First index
Element
(at index 8)
Indices
Modul Pelatihan Pemrograman Berorientasi Objek
25
int data [ ]; → bentuk ini tidak dianjrkan !
String [ ] data;
Mobil [ ] mobilArray;
o Inisialisasi Array = menentukan ukuran (jumlah elemen).
o Inisialisasi Array
Int [ ] data = new int [10];
String [ ] nama = new String [50];
Char [ ] alfabet = new char [26];
o Ketiga hal di atas secara otomatis array akan berisi NULL.
4.3 Array Tipe Data Primitif
• int [ ] data = new int[5];
Pengisian
nilai [0] = 70;
nilai [1] = 80;
nilai [2] = 85;
nilai [3] = 75;
nilai [4] = 77;
4.4 Pengaksesan
• Mengakses elemen
1 for (int i = 0; i < 5; i ++) {
2 System.out.println("Elemen " + i + ":" + nilai[i]);
3 }
4.5 Array Object
❖ Inisialisasi
- Dog[] dogArray = new Dog[];
❖ Pengisian
- dogArray[0] = new Dog(“waldo”);
- dogArray[1] = new Dog(“froddo”);
- dogArray[2] = new Dog(“rotty”);
- dogArray[3] = new Dog(“percy”);
- dogArray[4] = new Dog(“potty”);
❖ Mengakses Elemen
System.out.println(dogArray[3].getName());
for(int i=0; i<5; i++) {
System.out.println(dogArray[i].getName());
}
70 80 85 75 77
70 80 85 75 77
0 3 4
2
1
3 4
2
1
0
Modul Pelatihan Pemrograman Berorientasi Objek
26
4.6 Ukuran Array
Ukuran array dapat diambil dengan mengakses property length
int[] data = new int[100];
System.out.println(data.length);100
4.7 Class Array
✓ Java.util.Arrays (Helper)
✓ Terdapat static method:
• Search & Sorting : binarySearach( ), sort( );
• Comparison : equals( );
• Instalation : fill( );
• Conversion : asList( );
4.8 Kelebihan & Kekurangan
Kelebihan
♥ Type data array sudah didefinisikan sejak awal (compile type cheking).
♥ Array mengetahui jumlah elemennya (length).
♥ Array dapat menyimpan tipe data primitif secara langsung.
Kekurangan
− Ukuran array tetap (fixed size).
− Hanya dapat berisi satu type saja.
Contoh implementasi program menggunakan aplikasi NetBeans:
Modul Pelatihan Pemrograman Berorientasi Objek
27
Berikut adalah hasil compile dari program di atas:
Pembahasan Program
Program p_arrayterbesar tersebut mengilustrasikan contoh array satu dimensi yang didinisialisasi
dalam kode program, perhatikan statement berikut int[ ] data = {22, 76, -53, 34, 31, 61, 21}. Kita
mendeklarasikan array dengan nama data yang memiliki elemen sebanyak 7 nilai yang memiliki tipe
data nilai integer. Pada program ini tidak terdapat kata cadangan New( ), karena kita langsung
mendefinisikan nilai-nilai array tersebut ke dalam kode program. Penyelesaian dilakukan dengan cara
membandingkan data yang ke [i] dengan nilai max, nilai max sebelumnya diinisialisasi dengan
data[0] (supaya dibaca dari indeks pertama dalam array tersebut), jika data[i] lebih besar dari max,
maka, nilai max diisi dengan data yang ke-[i].
Kesimpulan
Dari rangkuman di atas dapat disimpulkan bahwa Pemrograman Berorientasi Objek sangat berperan
penting dalam kehidupan sehari-hari terutama mengenai implementasi program yang telah dibuat
selalu berhubungan dengan mata pelajaran yang lainnya seperti matematika, sehingga para programer
tidak bosan dengan tampilan contoh programnya. Selain itu programer juga dapat mengembangkan
sendiri aplikasi-aplikasi Java sesuai apa yang diinginkannya. Contohnya ketika kita memiliki masalah
dalam menghitung luas segi tiga maka aplikasi Java dapat dijadikan solusi dalam memecahkan
masalah tersebut.
Ucapan Terimakasih
Terimakasih saya ucapkan khususnya kepada dosen pengajar mata kuliah Pemrograman Berorientasi
Objek (PBO) bapak Catur Nugroho S.Kom., M.Kom yang telah memberikan penjelasan materi dari
pertemuan 1 sampai dengan pertemuan 16 semoga beliau diberikan kesehatan dan keselamatan serta
rizki yang melimpah.Terimaksih juga saya ucapkan kepada teman-teman yang telah mendukung
terbentuknya buku rangkuman pertemuan ke-9 sampai dengan ke-11 ini.
Daftar Pustaka
Adam Mukharil Bactiar, F. N. (2018). Pemrograman Berorientasi Objek. Bandung:
INFORMATIKA.
Catur Nugroho, S. (2023). Pemrograman Berbasis Objek. Pertemuan: 9 Polimorfisme, 1-14.
Catur Nugroho, S. M. (2023). Pemrograman Berbasis Objek. Pertemuan 11: Package, 1-20.
Catur Nugroho, S. M. (2023). Pemrograman Berbasis Objek. Pertemuan 11: Class Relationship &
Array, 1-31.
Modul Pelatihan Pemrograman Berorientasi Objek
28
Iskandar, A. R. (2020). Menguasai Pemrograman Berorientasi Objek. Bandung: INFORMATIKA.
Tentang Penulis
Penulis bernama Hendro Gunawan, Lahir di kota Jakarta pada tanggal 1 Januari 1981. Penulis
adalah Lulusan SMA Negeri 1 Muara Enim tamat tahun 1998, dan saat ini sedang menempuh
kuliah di Universitas Siber Asia Jakarta jurusan Teknik Informatika angkatan tahun 2020.
Penulis sangat menyukai bahasa pemrograman terutama yang berbasis objek yaitu diantaranya
bahasa pemrograman Java, Bahasa C, C++ dan Pemrograman WEB.
Selain sebagai mahasiswa penulis juga aktif sebagai karyawan di PT Indospring Tbk, yaitu
perusahaan yang bergerak dibidang Otomotif spring yang operasinya di daerah Gresik Jawa
Timur. Dengan membaca buku ini penulis berharap dapat memberikan kontribusi dalam hal
memperluas pengetahuan dibidang Pemrograman Berorientasi Objek (PBO) menggunakan
Java. Semoga buku ini bermanfaat untuk kita semua. Terima kasih.
Penulis dapat dihubungi di:
Telp:
• 081259640815
Email:
• hendro.gnwn@gmail.com
• hendro.gnwn@ymail.com
• hendro.gnwn@outlook.com
😊
Modul Pelatihan Pemrograman Berorientasi Objek
29
Modul Pelatihan Pemrograman Berorientasi Objek
30
Nilai
Tanda Tangan Dosen Pengampu /
Tutor
Tanda Tangan
Mahasiswa
(Catur Nugroho S.Kom., M.Kom) (Hendro Gunawan)
Diserahkan pada Tanggal: Tanggal Mengumpulkan:
29/01/2023

Contenu connexe

Similaire à TUGAS2_PBO_200401072103_HENDRO GUNAWAN.pdf

Bahasa Indonesia - Buku Modul Bahasa Indonesia Ditjen Dikti
Bahasa Indonesia - Buku Modul Bahasa Indonesia Ditjen DiktiBahasa Indonesia - Buku Modul Bahasa Indonesia Ditjen Dikti
Bahasa Indonesia - Buku Modul Bahasa Indonesia Ditjen DiktiHaristian Sahroni Putra
 
Modul kuliah-bahasa-indonesia-mku
Modul kuliah-bahasa-indonesia-mkuModul kuliah-bahasa-indonesia-mku
Modul kuliah-bahasa-indonesia-mkuRusmianty
 
Modul kuliah-bahasa-indonesia-mku
Modul kuliah-bahasa-indonesia-mkuModul kuliah-bahasa-indonesia-mku
Modul kuliah-bahasa-indonesia-mkumitaqurrataaini1
 
10. pemrog dasarsmk x-smt1 (buku siswa-guru)
10. pemrog dasarsmk x-smt1 (buku siswa-guru)10. pemrog dasarsmk x-smt1 (buku siswa-guru)
10. pemrog dasarsmk x-smt1 (buku siswa-guru)Jajang Subarna
 
Pemrog dasarsmk x-smt1
Pemrog dasarsmk x-smt1Pemrog dasarsmk x-smt1
Pemrog dasarsmk x-smt1Fadhly Perform
 
Pemrog dasarsmk x-smt1
Pemrog dasarsmk x-smt1Pemrog dasarsmk x-smt1
Pemrog dasarsmk x-smt1Nur Cahyanto
 
Metode Pengembangan PJJ
Metode Pengembangan PJJMetode Pengembangan PJJ
Metode Pengembangan PJJYana R. Sopian
 
Media pembelajaran
Media pembelajaranMedia pembelajaran
Media pembelajaranhardanu
 
Makalah kelompok 2 pgsd 5 a
Makalah kelompok 2 pgsd 5 aMakalah kelompok 2 pgsd 5 a
Makalah kelompok 2 pgsd 5 arisda11
 
Model pencapaian konsep
Model pencapaian konsepModel pencapaian konsep
Model pencapaian konsepsintaroyani
 
Langkah-Langkah menyusun Karya Tulis Ilmiah
Langkah-Langkah menyusun Karya Tulis IlmiahLangkah-Langkah menyusun Karya Tulis Ilmiah
Langkah-Langkah menyusun Karya Tulis Ilmiahwidiaaputrii
 
Model pembelajaran tutoria1
Model pembelajaran tutoria1Model pembelajaran tutoria1
Model pembelajaran tutoria1Ilhamhasan
 
Makalah dppm
Makalah dppmMakalah dppm
Makalah dppmaditin
 
10 model pembelajaran sains terpadu
10 model pembelajaran sains terpadu10 model pembelajaran sains terpadu
10 model pembelajaran sains terpaduWarman Tateuteu
 
Laporan final tugas akhir smt
Laporan final tugas akhir smtLaporan final tugas akhir smt
Laporan final tugas akhir smtanihdx
 
Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6ゴースト アノン
 
Landasan Teori Pembelajaran Berbasis Web
Landasan Teori Pembelajaran Berbasis WebLandasan Teori Pembelajaran Berbasis Web
Landasan Teori Pembelajaran Berbasis Webanihdx
 
Administrasi Kepegawaian untuk SMK
Administrasi Kepegawaian untuk SMKAdministrasi Kepegawaian untuk SMK
Administrasi Kepegawaian untuk SMKabigail josephine
 

Similaire à TUGAS2_PBO_200401072103_HENDRO GUNAWAN.pdf (20)

Bahasa Indonesia - Buku Modul Bahasa Indonesia Ditjen Dikti
Bahasa Indonesia - Buku Modul Bahasa Indonesia Ditjen DiktiBahasa Indonesia - Buku Modul Bahasa Indonesia Ditjen Dikti
Bahasa Indonesia - Buku Modul Bahasa Indonesia Ditjen Dikti
 
Modul kuliah-bahasa-indonesia-mku
Modul kuliah-bahasa-indonesia-mkuModul kuliah-bahasa-indonesia-mku
Modul kuliah-bahasa-indonesia-mku
 
Modul kuliah-bahasa-indonesia-mku
Modul kuliah-bahasa-indonesia-mkuModul kuliah-bahasa-indonesia-mku
Modul kuliah-bahasa-indonesia-mku
 
10. pemrog dasarsmk x-smt1 (buku siswa-guru)
10. pemrog dasarsmk x-smt1 (buku siswa-guru)10. pemrog dasarsmk x-smt1 (buku siswa-guru)
10. pemrog dasarsmk x-smt1 (buku siswa-guru)
 
Pemrog dasarsmk x-smt1
Pemrog dasarsmk x-smt1Pemrog dasarsmk x-smt1
Pemrog dasarsmk x-smt1
 
Pemrog dasarsmk x-smt1
Pemrog dasarsmk x-smt1Pemrog dasarsmk x-smt1
Pemrog dasarsmk x-smt1
 
Metode Pengembangan PJJ
Metode Pengembangan PJJMetode Pengembangan PJJ
Metode Pengembangan PJJ
 
Media pembelajaran
Media pembelajaranMedia pembelajaran
Media pembelajaran
 
Makalah kelompok 2 pgsd 5 a
Makalah kelompok 2 pgsd 5 aMakalah kelompok 2 pgsd 5 a
Makalah kelompok 2 pgsd 5 a
 
Model pencapaian konsep
Model pencapaian konsepModel pencapaian konsep
Model pencapaian konsep
 
Langkah-Langkah menyusun Karya Tulis Ilmiah
Langkah-Langkah menyusun Karya Tulis IlmiahLangkah-Langkah menyusun Karya Tulis Ilmiah
Langkah-Langkah menyusun Karya Tulis Ilmiah
 
Model pembelajaran tutoria1
Model pembelajaran tutoria1Model pembelajaran tutoria1
Model pembelajaran tutoria1
 
Makalah dppm
Makalah dppmMakalah dppm
Makalah dppm
 
Rps mug2 e3 statistika
Rps mug2 e3 statistikaRps mug2 e3 statistika
Rps mug2 e3 statistika
 
10 model pembelajaran sains terpadu
10 model pembelajaran sains terpadu10 model pembelajaran sains terpadu
10 model pembelajaran sains terpadu
 
Laporan final tugas akhir smt
Laporan final tugas akhir smtLaporan final tugas akhir smt
Laporan final tugas akhir smt
 
Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6
 
Landasan Teori Pembelajaran Berbasis Web
Landasan Teori Pembelajaran Berbasis WebLandasan Teori Pembelajaran Berbasis Web
Landasan Teori Pembelajaran Berbasis Web
 
Administrasi Kepegawaian untuk SMK
Administrasi Kepegawaian untuk SMKAdministrasi Kepegawaian untuk SMK
Administrasi Kepegawaian untuk SMK
 
C b id-7
C b id-7C b id-7
C b id-7
 

Plus de HendroGunawan8

Diskusi Modul Sistem Pakar Sesi Ke-4.pdf
Diskusi Modul Sistem Pakar Sesi Ke-4.pdfDiskusi Modul Sistem Pakar Sesi Ke-4.pdf
Diskusi Modul Sistem Pakar Sesi Ke-4.pdfHendroGunawan8
 
Diskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdf
Diskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdfDiskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdf
Diskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdfHendroGunawan8
 
Estetika Humanisme Diskusi Modul Part Ke-3.pdf
Estetika Humanisme Diskusi Modul Part Ke-3.pdfEstetika Humanisme Diskusi Modul Part Ke-3.pdf
Estetika Humanisme Diskusi Modul Part Ke-3.pdfHendroGunawan8
 
Diskusi Modul Sistem Pakar Sesi Ke-3.pdf
Diskusi Modul Sistem Pakar Sesi Ke-3.pdfDiskusi Modul Sistem Pakar Sesi Ke-3.pdf
Diskusi Modul Sistem Pakar Sesi Ke-3.pdfHendroGunawan8
 
Diskusi Modul Sistem Pakar Sesi Ke-3.pdf
Diskusi Modul Sistem Pakar Sesi Ke-3.pdfDiskusi Modul Sistem Pakar Sesi Ke-3.pdf
Diskusi Modul Sistem Pakar Sesi Ke-3.pdfHendroGunawan8
 
Estetika Humanisme Diskusi Video Sesi Ke-3 (DipulihkanOtomatis).pdf
Estetika Humanisme Diskusi Video Sesi Ke-3 (DipulihkanOtomatis).pdfEstetika Humanisme Diskusi Video Sesi Ke-3 (DipulihkanOtomatis).pdf
Estetika Humanisme Diskusi Video Sesi Ke-3 (DipulihkanOtomatis).pdfHendroGunawan8
 
Pengolahan Citra Diskusi Pertemuan Ke-2.pdf
Pengolahan Citra Diskusi Pertemuan Ke-2.pdfPengolahan Citra Diskusi Pertemuan Ke-2.pdf
Pengolahan Citra Diskusi Pertemuan Ke-2.pdfHendroGunawan8
 
Protokol dan prosedur yang menyediakan layanan komunikasi multimedia audio, v...
Protokol dan prosedur yang menyediakan layanan komunikasi multimedia audio, v...Protokol dan prosedur yang menyediakan layanan komunikasi multimedia audio, v...
Protokol dan prosedur yang menyediakan layanan komunikasi multimedia audio, v...HendroGunawan8
 
Estetika Humanisme Diskusi Modul Ke-2 Sesi Ke-2.pdf
Estetika Humanisme Diskusi Modul Ke-2 Sesi Ke-2.pdfEstetika Humanisme Diskusi Modul Ke-2 Sesi Ke-2.pdf
Estetika Humanisme Diskusi Modul Ke-2 Sesi Ke-2.pdfHendroGunawan8
 
Estetika Humanisme Diskusi Modul Ke-1 Pertemuan Ke-2.pdf
Estetika Humanisme Diskusi Modul Ke-1 Pertemuan Ke-2.pdfEstetika Humanisme Diskusi Modul Ke-1 Pertemuan Ke-2.pdf
Estetika Humanisme Diskusi Modul Ke-1 Pertemuan Ke-2.pdfHendroGunawan8
 
Estetika Humanisme Diskusi Video Sesi Ke-1.pdf
Estetika Humanisme Diskusi Video Sesi Ke-1.pdfEstetika Humanisme Diskusi Video Sesi Ke-1.pdf
Estetika Humanisme Diskusi Video Sesi Ke-1.pdfHendroGunawan8
 
Jaringan VOIP Ringkasan PTT Pertemuan Ke-1.pdf
Jaringan VOIP Ringkasan PTT Pertemuan Ke-1.pdfJaringan VOIP Ringkasan PTT Pertemuan Ke-1.pdf
Jaringan VOIP Ringkasan PTT Pertemuan Ke-1.pdfHendroGunawan8
 
PSTN adalah kumpulan jaringan telepon umum yang saling terhubung di seluruh d...
PSTN adalah kumpulan jaringan telepon umum yang saling terhubung di seluruh d...PSTN adalah kumpulan jaringan telepon umum yang saling terhubung di seluruh d...
PSTN adalah kumpulan jaringan telepon umum yang saling terhubung di seluruh d...HendroGunawan8
 
Pengolahan citra digital adalah teknologi visual yang digunakan untuk mengama...
Pengolahan citra digital adalah teknologi visual yang digunakan untuk mengama...Pengolahan citra digital adalah teknologi visual yang digunakan untuk mengama...
Pengolahan citra digital adalah teknologi visual yang digunakan untuk mengama...HendroGunawan8
 
Sistem pakar (expert system) adalah sistem yang berusaha mengadopsi pengetahu...
Sistem pakar (expert system) adalah sistem yang berusaha mengadopsi pengetahu...Sistem pakar (expert system) adalah sistem yang berusaha mengadopsi pengetahu...
Sistem pakar (expert system) adalah sistem yang berusaha mengadopsi pengetahu...HendroGunawan8
 
Estetika Humanisme Ringkasan Pertemuan 1.pdf
Estetika Humanisme Ringkasan Pertemuan 1.pdfEstetika Humanisme Ringkasan Pertemuan 1.pdf
Estetika Humanisme Ringkasan Pertemuan 1.pdfHendroGunawan8
 
Modul 15 MPTI - Presentasi Hasil Penelitian.docx
Modul 15 MPTI - Presentasi Hasil Penelitian.docxModul 15 MPTI - Presentasi Hasil Penelitian.docx
Modul 15 MPTI - Presentasi Hasil Penelitian.docxHendroGunawan8
 
Pertemuan 14 - Storing Data with Room - SQLite Primer - Word.docx
Pertemuan 14 - Storing Data with Room - SQLite Primer - Word.docxPertemuan 14 - Storing Data with Room - SQLite Primer - Word.docx
Pertemuan 14 - Storing Data with Room - SQLite Primer - Word.docxHendroGunawan8
 
Unsia_Kecerdasan Komputasional Pertemuan 13.pptx
Unsia_Kecerdasan Komputasional Pertemuan 13.pptxUnsia_Kecerdasan Komputasional Pertemuan 13.pptx
Unsia_Kecerdasan Komputasional Pertemuan 13.pptxHendroGunawan8
 
Pertemuan 13 - Shared Preferences and Settings - Word - Salin.pdf
Pertemuan 13 - Shared Preferences and Settings - Word - Salin.pdfPertemuan 13 - Shared Preferences and Settings - Word - Salin.pdf
Pertemuan 13 - Shared Preferences and Settings - Word - Salin.pdfHendroGunawan8
 

Plus de HendroGunawan8 (20)

Diskusi Modul Sistem Pakar Sesi Ke-4.pdf
Diskusi Modul Sistem Pakar Sesi Ke-4.pdfDiskusi Modul Sistem Pakar Sesi Ke-4.pdf
Diskusi Modul Sistem Pakar Sesi Ke-4.pdf
 
Diskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdf
Diskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdfDiskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdf
Diskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdf
 
Estetika Humanisme Diskusi Modul Part Ke-3.pdf
Estetika Humanisme Diskusi Modul Part Ke-3.pdfEstetika Humanisme Diskusi Modul Part Ke-3.pdf
Estetika Humanisme Diskusi Modul Part Ke-3.pdf
 
Diskusi Modul Sistem Pakar Sesi Ke-3.pdf
Diskusi Modul Sistem Pakar Sesi Ke-3.pdfDiskusi Modul Sistem Pakar Sesi Ke-3.pdf
Diskusi Modul Sistem Pakar Sesi Ke-3.pdf
 
Diskusi Modul Sistem Pakar Sesi Ke-3.pdf
Diskusi Modul Sistem Pakar Sesi Ke-3.pdfDiskusi Modul Sistem Pakar Sesi Ke-3.pdf
Diskusi Modul Sistem Pakar Sesi Ke-3.pdf
 
Estetika Humanisme Diskusi Video Sesi Ke-3 (DipulihkanOtomatis).pdf
Estetika Humanisme Diskusi Video Sesi Ke-3 (DipulihkanOtomatis).pdfEstetika Humanisme Diskusi Video Sesi Ke-3 (DipulihkanOtomatis).pdf
Estetika Humanisme Diskusi Video Sesi Ke-3 (DipulihkanOtomatis).pdf
 
Pengolahan Citra Diskusi Pertemuan Ke-2.pdf
Pengolahan Citra Diskusi Pertemuan Ke-2.pdfPengolahan Citra Diskusi Pertemuan Ke-2.pdf
Pengolahan Citra Diskusi Pertemuan Ke-2.pdf
 
Protokol dan prosedur yang menyediakan layanan komunikasi multimedia audio, v...
Protokol dan prosedur yang menyediakan layanan komunikasi multimedia audio, v...Protokol dan prosedur yang menyediakan layanan komunikasi multimedia audio, v...
Protokol dan prosedur yang menyediakan layanan komunikasi multimedia audio, v...
 
Estetika Humanisme Diskusi Modul Ke-2 Sesi Ke-2.pdf
Estetika Humanisme Diskusi Modul Ke-2 Sesi Ke-2.pdfEstetika Humanisme Diskusi Modul Ke-2 Sesi Ke-2.pdf
Estetika Humanisme Diskusi Modul Ke-2 Sesi Ke-2.pdf
 
Estetika Humanisme Diskusi Modul Ke-1 Pertemuan Ke-2.pdf
Estetika Humanisme Diskusi Modul Ke-1 Pertemuan Ke-2.pdfEstetika Humanisme Diskusi Modul Ke-1 Pertemuan Ke-2.pdf
Estetika Humanisme Diskusi Modul Ke-1 Pertemuan Ke-2.pdf
 
Estetika Humanisme Diskusi Video Sesi Ke-1.pdf
Estetika Humanisme Diskusi Video Sesi Ke-1.pdfEstetika Humanisme Diskusi Video Sesi Ke-1.pdf
Estetika Humanisme Diskusi Video Sesi Ke-1.pdf
 
Jaringan VOIP Ringkasan PTT Pertemuan Ke-1.pdf
Jaringan VOIP Ringkasan PTT Pertemuan Ke-1.pdfJaringan VOIP Ringkasan PTT Pertemuan Ke-1.pdf
Jaringan VOIP Ringkasan PTT Pertemuan Ke-1.pdf
 
PSTN adalah kumpulan jaringan telepon umum yang saling terhubung di seluruh d...
PSTN adalah kumpulan jaringan telepon umum yang saling terhubung di seluruh d...PSTN adalah kumpulan jaringan telepon umum yang saling terhubung di seluruh d...
PSTN adalah kumpulan jaringan telepon umum yang saling terhubung di seluruh d...
 
Pengolahan citra digital adalah teknologi visual yang digunakan untuk mengama...
Pengolahan citra digital adalah teknologi visual yang digunakan untuk mengama...Pengolahan citra digital adalah teknologi visual yang digunakan untuk mengama...
Pengolahan citra digital adalah teknologi visual yang digunakan untuk mengama...
 
Sistem pakar (expert system) adalah sistem yang berusaha mengadopsi pengetahu...
Sistem pakar (expert system) adalah sistem yang berusaha mengadopsi pengetahu...Sistem pakar (expert system) adalah sistem yang berusaha mengadopsi pengetahu...
Sistem pakar (expert system) adalah sistem yang berusaha mengadopsi pengetahu...
 
Estetika Humanisme Ringkasan Pertemuan 1.pdf
Estetika Humanisme Ringkasan Pertemuan 1.pdfEstetika Humanisme Ringkasan Pertemuan 1.pdf
Estetika Humanisme Ringkasan Pertemuan 1.pdf
 
Modul 15 MPTI - Presentasi Hasil Penelitian.docx
Modul 15 MPTI - Presentasi Hasil Penelitian.docxModul 15 MPTI - Presentasi Hasil Penelitian.docx
Modul 15 MPTI - Presentasi Hasil Penelitian.docx
 
Pertemuan 14 - Storing Data with Room - SQLite Primer - Word.docx
Pertemuan 14 - Storing Data with Room - SQLite Primer - Word.docxPertemuan 14 - Storing Data with Room - SQLite Primer - Word.docx
Pertemuan 14 - Storing Data with Room - SQLite Primer - Word.docx
 
Unsia_Kecerdasan Komputasional Pertemuan 13.pptx
Unsia_Kecerdasan Komputasional Pertemuan 13.pptxUnsia_Kecerdasan Komputasional Pertemuan 13.pptx
Unsia_Kecerdasan Komputasional Pertemuan 13.pptx
 
Pertemuan 13 - Shared Preferences and Settings - Word - Salin.pdf
Pertemuan 13 - Shared Preferences and Settings - Word - Salin.pdfPertemuan 13 - Shared Preferences and Settings - Word - Salin.pdf
Pertemuan 13 - Shared Preferences and Settings - Word - Salin.pdf
 

Dernier

PRESENTASI EEC social mobile, and local marketing.pptx
PRESENTASI EEC social mobile, and local marketing.pptxPRESENTASI EEC social mobile, and local marketing.pptx
PRESENTASI EEC social mobile, and local marketing.pptxPCMBANDUNGANKabSemar
 
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdfKelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdfmaulanayazid
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxherisriwahyuni
 
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxDESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxFuzaAnggriana
 
PRESENTASI PEMBELAJARAN IPA PGSD UT MODUL 2
PRESENTASI PEMBELAJARAN IPA PGSD UT MODUL 2PRESENTASI PEMBELAJARAN IPA PGSD UT MODUL 2
PRESENTASI PEMBELAJARAN IPA PGSD UT MODUL 2noviamaiyanti
 
Pertemuan 3-bioavailabilitas-dan-bioekivalensi.ppt
Pertemuan 3-bioavailabilitas-dan-bioekivalensi.pptPertemuan 3-bioavailabilitas-dan-bioekivalensi.ppt
Pertemuan 3-bioavailabilitas-dan-bioekivalensi.pptNabilahKhairunnisa6
 
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...Kanaidi ken
 
PPT TEKS TANGGAPAN KELAS 7 KURIKUKULM MERDEKA
PPT TEKS TANGGAPAN KELAS 7 KURIKUKULM MERDEKAPPT TEKS TANGGAPAN KELAS 7 KURIKUKULM MERDEKA
PPT TEKS TANGGAPAN KELAS 7 KURIKUKULM MERDEKARenoMardhatillahS
 
SILABUS MATEMATIKA SMP kurikulum K13.docx
SILABUS MATEMATIKA SMP kurikulum K13.docxSILABUS MATEMATIKA SMP kurikulum K13.docx
SILABUS MATEMATIKA SMP kurikulum K13.docxrahmaamaw03
 
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques  Rousseau.pdfPEMIKIRAN POLITIK Jean Jacques  Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdfMMeizaFachri
 
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxKesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxDwiYuniarti14
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfTaqdirAlfiandi1
 
alat-alat liturgi dalam Gereja Katolik.pptx
alat-alat liturgi dalam Gereja Katolik.pptxalat-alat liturgi dalam Gereja Katolik.pptx
alat-alat liturgi dalam Gereja Katolik.pptxRioNahak1
 
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptxIPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptxErikaPuspita10
 
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxPanduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxsudianaade137
 
Kelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisKelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisNazla aulia
 
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxJurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxBambang440423
 
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxMODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxarnisariningsih98
 
Karakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaKarakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaNadia Putri Ayu
 
Teknik Menjawab Kertas P.Moral SPM 2024.pptx
Teknik Menjawab Kertas P.Moral SPM  2024.pptxTeknik Menjawab Kertas P.Moral SPM  2024.pptx
Teknik Menjawab Kertas P.Moral SPM 2024.pptxwongcp2
 

Dernier (20)

PRESENTASI EEC social mobile, and local marketing.pptx
PRESENTASI EEC social mobile, and local marketing.pptxPRESENTASI EEC social mobile, and local marketing.pptx
PRESENTASI EEC social mobile, and local marketing.pptx
 
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdfKelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
 
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxDESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
 
PRESENTASI PEMBELAJARAN IPA PGSD UT MODUL 2
PRESENTASI PEMBELAJARAN IPA PGSD UT MODUL 2PRESENTASI PEMBELAJARAN IPA PGSD UT MODUL 2
PRESENTASI PEMBELAJARAN IPA PGSD UT MODUL 2
 
Pertemuan 3-bioavailabilitas-dan-bioekivalensi.ppt
Pertemuan 3-bioavailabilitas-dan-bioekivalensi.pptPertemuan 3-bioavailabilitas-dan-bioekivalensi.ppt
Pertemuan 3-bioavailabilitas-dan-bioekivalensi.ppt
 
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
 
PPT TEKS TANGGAPAN KELAS 7 KURIKUKULM MERDEKA
PPT TEKS TANGGAPAN KELAS 7 KURIKUKULM MERDEKAPPT TEKS TANGGAPAN KELAS 7 KURIKUKULM MERDEKA
PPT TEKS TANGGAPAN KELAS 7 KURIKUKULM MERDEKA
 
SILABUS MATEMATIKA SMP kurikulum K13.docx
SILABUS MATEMATIKA SMP kurikulum K13.docxSILABUS MATEMATIKA SMP kurikulum K13.docx
SILABUS MATEMATIKA SMP kurikulum K13.docx
 
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques  Rousseau.pdfPEMIKIRAN POLITIK Jean Jacques  Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
 
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxKesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
 
alat-alat liturgi dalam Gereja Katolik.pptx
alat-alat liturgi dalam Gereja Katolik.pptxalat-alat liturgi dalam Gereja Katolik.pptx
alat-alat liturgi dalam Gereja Katolik.pptx
 
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptxIPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
 
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxPanduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
 
Kelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisKelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara Inggris
 
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxJurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
 
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxMODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
 
Karakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaKarakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional Dunia
 
Teknik Menjawab Kertas P.Moral SPM 2024.pptx
Teknik Menjawab Kertas P.Moral SPM  2024.pptxTeknik Menjawab Kertas P.Moral SPM  2024.pptx
Teknik Menjawab Kertas P.Moral SPM 2024.pptx
 

TUGAS2_PBO_200401072103_HENDRO GUNAWAN.pdf

  • 1. Modul Pelatihan Pemrograman Berorientasi Objek 2022 Pemrograman Berorientasi Objek Rangkuman Makalah Pertemuan 9 Sampai dengan 11 Java Mata Kuliah : Pemrograman Berorientasi Objek Kelas : IT-501 Program Studi : PJJ Informatika Nama : Hendro Gunawan NIM : 200401072103 Dosen : Catur Nugroho, S.Kom., M.Kom UNIVERSITAS SIBER ASIA (021) 278-061-89 [Telpone] admission@unsia.ac.id [Email]
  • 2. Modul Pelatihan Pemrograman Berorientasi Objek i Kata Pengantar Alhamdulillah...,puji syukur penulis panjatkan kepada Allah SWT. Rangkuman makalah pada topik ke-9 hingga ke-11 dengan implementasi program ini telah berhasil diselesaikan. Makalah ini merupakan tugas 2 untuk mata kuliah Pemrograman Berorientasi Objek (PBO) khususnya yang menggunakan bahasa pemrograman berbasis Java. Konsep dari makalah ini berisi tentang pemahaman OOP (Objek Oriented Programing) seperti Polimorpfisme yang merupakan fitur dalam pemrograman berorientasi objek yang mengijinkan programer untuk mengirimkan pesan yang sama terhadap objek-objek dari class yang berbeda-beda. Kemudian di dalam polimorfisme terdapat Overriding dan Overloading, Overriding merupakan jenis polimorfisme yang bisa diterapkan pada class turunan, overriding method terkait pada konsep inheritance dalam pemrograman berorientasi objek, dimana method di class induk dapat diperluas di class turunannya, dan class turunan dapat mengubah isi method pada super class. Sedangkan Overloading mengacu pada method yang sama pada class yang berbeda. Sedangkan Package merupakan sekumpulan class dan interfaces yang saling berelasi. Simpelnya, kita bisa membayangkan package seperti sebuah folder di komputer kita. Di dalam package terdapat bagaimana cara kita membuat package, cara mengakses package java menggunakan perintah import dan cara mengakses kelas pada package yang sama. Pada Class Relationship terdapat beberapa hubungan relasi yang terbentuk dari kelas-kelas hal ini menekankan pada ilustrasi hubungan yang mengarah pada kata “Has A” atau memiliki. Untuk bisa menggambarkan bentuk relasi kelas selain generalization dan implementation, ada empat buah konsep relasi kelas lainnya yang bisa digunakan. Empat buah relasi kelas tersebut adalah: 1. Multiplicity 2. Association, 3. Composition, 4. Agregation dan 5. Dependency. Diantara jenis-jenis relasi kelas tersebut salah satu contohnya yaitu Multiplicity, layaknya sebuah relasi antar kelas, relasi tersebut wajib memiliki derajat relasi yang mana derajat relasi tersebut dapat menyatakan seberapa banyak objek dari suatu kelas akan berelasi dengan kelas lain. Relasi Association menyatakan relasi antar dua kelas terpisah yang relasinya terjadi melalui pertemuan objek dari masing-masing kelas di bagian atributnya. Array merupakan tipe data yang dapat menampung lebih dari satu nilai yang bertipe sama, di sini dijelaskan mengenai ilustrasi array beserta gambarnya, kemudian pendeklarasian array, erray tipe data primitif, cara pengaksesan array, array objek, ukuran array, kelas array dan yang terakhir adalah kelebihan dan kekurangan array. Demikian beberapa penjelasan mengenai isi dari rangkuman tugas2 yang telah saya buat semoga rangkuman ini dapat membantu para mahasiswa dalam belajar matkul Pemrograman Berorientasi Objek (PBO). Saya menyadari jika rangkuman ini masih jauh dari kata sempurna dan terdapat banyak kekurangan. Namun, saya tetap berharap buku ini dapat bermanfaat dan dapat dijadikan panduan bagi mereka yang ingin mempelajari pemrograman berorientasi objek menggunakan Java. Saya berharap rangkuman ini dapat memberikan manfaat bagi para pembacanya. Terima kasih. Gresik, 29 Januari 2023 Penulis, Hendro Gunawan
  • 3. Modul Pelatihan Pemrograman Berorientasi Objek ii Daftar Isi Kata Pengantar............................................................................................................................i Daftar Isi....................................................................................................................................ii 1. Polimorfisme..........................................................................................................................1 1.1 Review Overriding...........................................................................................................2 1.2 Penerapan.........................................................................................................................2 1.3 Animal Menjadi Dog.......................................................................................................3 1.4 Review Overloading........................................................................................................3 1.5 Overloading Method........................................................................................................3 1.6 Class Bentuk....................................................................................................................3 1.7 Class Segitiga...................................................................................................................4 1.8 Class Persegi....................................................................................................................4 1.9 Class Pemakai..................................................................................................................4 1.10 Class Bangun Datar........................................................................................................5 2. Package..................................................................................................................................8 2.1 Package Bawaan Java......................................................................................................8 2.2 Hirarki Package................................................................................................................9 2.3 Static Import...................................................................................................................10 2.4 Cara Membuat Package.................................................................................................11 2.5 Cara Mengakses Package Java (Import)........................................................................12 2.6 Cara Mengakses Kelas pada Package yang Sama ........................................................12 2.7 Kegunaan Package.........................................................................................................14 3. Class Relationship & Array.................................................................................................14 3.1 Multiplicity....................................................................................................................14 3.2 Asosiasi..........................................................................................................................15 3.3 Komposisi......................................................................................................................19 3.4 Agregasi.........................................................................................................................20 3.4.1 Pemain Bola dengan Klub Bola.............................................................................21 3.5 Agregasi Vs Komposisi.................................................................................................21 3.6 Asosiasi, Agregasi dan Komposisi................................................................................20 3.7 Dependency....................................................................................................................23 4. Array.....................................................................................................................................24 4.1 Ilustrasi Array.................................................................................................................24 4.2 Deklarasi Array..............................................................................................................24 4.3 Array Tipe Data Primitif................................................................................................25 4.4 Pengaksesan...................................................................................................................25 4.5 Array Object...................................................................................................................25 4.6 Ukuran Array..................................................................................................................26 4.7 Class Array.....................................................................................................................26 4.8 Kelebihan dan Kekurangan Array..................................................................................26 Daftar Pustaka..........................................................................................................................27 Tentang Penulis........................................................................................................................28
  • 4. Modul Pelatihan Pemrograman Berorientasi Objek 1 Pertemuan 9: Polimorfisme 1. Polymorphism • Polimorphism = Poly + Morphos • Poly = banyak, Morphos = bentuk • Agar komunikasi antar objek satu dengan lainnya dapat terjadi secara dinamis, dimana “message”/permintaan yang disampaikan dari satu objek ke objek lain bisa berbeda-beda tanggapannya dengan objek lainnya. • Diimplementasikan dalam respon yang berbeda-beda, melalui pewarisan dan implementasi interface. • Digunakan juga untuk standardisasi. • Kemampuan objek-objek yang berbeda untuk memberi respon terhadap permintaan yang sama, sesuai dengan cara masing-masing objek. • Polymorfisme melalui inheritance (extends) • Polymorfisme melalui interface (implements) • Jadi, Polymorfisme dapat diterapkan secara: ➢ Overriding Method ➢ Overloading Method • Objek dinamis suatu class induk dapat berperilaku seperti class turunan. • Ketika objek menunjuk class induk, objek berperilaku seperti class induk. • Ketika objek menunjuk class turunan, objek tersebut berperilaku seperti class turunan. A contoh = new A( ); B contoh = new B( ); B contoh = new B( ); Penjelasan: • A contoh = new B( ) • Maka objek contoh sebenarnya bertipe class A namun berperilaku secara class B. • Atribut dan method pada objek contoh akan mengikuti class A, bukan class B. A B
  • 5. Modul Pelatihan Pemrograman Berorientasi Objek 2 1.1 Revew Overriding • Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. • Tujuan: subclass memiliki tingkah laku yang lebih spesifik. • Dilakukan dengan cara mendeklarasikan kembali method milik parent class di subclass. Contoh: 1 class Animal{ 2 public String bersuara() { 3 return "Suara binatang"; 4 } 5 } 6 7 class Dog extends Animal{ 8 public String bersuara() { 9 return "Gukguk"; 10 } 11 } 1.2 Penerapan Animal contoh = new Animal ( ); Contoh.bersuara ( ); Animal Dog +bersuara( ) +bersuara( ) public void bersuara ( ) { System.out.println(“.....”); } public void bersuara ( ) { System.out.println(“Guk !”); }
  • 6. Modul Pelatihan Pemrograman Berorientasi Objek 3 Animal contoh = new Dog( ); contoh.bersuara( ); Dog contoh = new Dog( ); Contoh.bersuara( ); 1.3 Animal Menjadi Dog Field dari class Animal Animal contoh = new Dog( ); contoh.bersuara( ); Method dari class Dog 1.4 Review Overloading Aturan overloading: ❖ Nama method harus sama ❖ Daftar parameter harus berbeda ❖ Return type boleh sama, juga boleh beda 1.5 Overloading Method Contoh: public void println (char c); public void println (String s); public void println (int i); public void println (String s, double d); • Berhubungan dengan standarisasi • Pada hubungan pewarisan, class anak dan induk adalah sejenis. • Sifat “sejenis” dengan induknya itulah yang dapat digunakan untuk membuat kelas “umum” yang dapat menggunakan kelas yang bertipe induk namun bertingkah laku sesuai dengan kelas anaknya. 1.6 Class Bentuk 1 public abstract class Bentuk { 2 private String jenis; Animal +bersuara( ) +bersuara( ) Dog -nama -nama
  • 7. Modul Pelatihan Pemrograman Berorientasi Objek 4 3 public abstract void hitungLuas(); 4 public void setJenis(String j) { 5 this.jenis = j; 6 } 7 public String getJenis() { 8 return this.jenis; 9 } 10 } 1.7 Class Segitiga 1 class Segitiga extends Bentuk{ 2 private int alas; 3 private int tinggi; 4 5 public void hitungLuas(){ 6 System.out.println ("Luas : "+(0.5*alas*tinggi)); 7 } 8 public Segitiga(String j,int a,int t){ 9 super.setJenis(j); 10 this.alas = a; 11 this.tinggi = t; 12 } 13 } 1.8 Class Persegi 1 class Persegi extends Bentuk{ 2 private int sisi; 3 public void hitungLuas(){ 4 System.out.println ("Luas : "+(sisi*sisi)); 5 } 6 public Persegi(String j,int s){ 7 super.setJenis(j); 8 this.sisi = s; 9 } 10 } 1.9 Class Pemakai 1 class Pemakai{ 2 public void Laporkan(Bentuk b){ 3 System.out.println ("Jenis : "+b.getJenis()); 4 b.hitungLuas(); 5 } 6 7 public static void main(String args[]) { 8 Pemakai p = new Pemakai(); 9 Segitiga s = new Segitiga("segitiga",5,4); 10 Persegi pp = new Persegi("bujur sangkar",9); 11 p.Laporkan(s); 12 p.Laporkan(pp);
  • 8. Modul Pelatihan Pemrograman Berorientasi Objek 5 13 } 14 } 1.10 Class Bangun Datar 1 package bangundatar_oop; 2 import java.io. *; 3 import java.util.Scanner; 4 public class Bangundatar_Oop { 5 /** 6 * @param args the cmmand line arguments 7 */ 8 public static void main(String[]args) 9 { 10 11 // TODO code application logic here 12 Scanner scn = new Scanner(System.in); 13 int s, p, l, a, t, sm; 14 System.out.print ("Inputkan sisi bujur sangkar : "); 15 s= scn.nextInt(); 16 System.out.print ("Inputkan panjang persegi panjang: "); 17 p = scn.nextInt(); 18 System.out.print ("Masukkan lebar persegi panjang : "); 19 l = scn.nextInt(); 20 System.out.print ("Masukkan alas segi tiga : "); 21 a = scn.nextInt(); 22 System.out.print ("Masukkan tinggi segi tiga : "); 23 t = scn.nextInt(); 24 System.out.print ("Masukkan sisi miring segitiga : "); 25 sm = scn.nextInt(); 26 System.out.println(); 27 28 BujurSangkar bs = new BujurSangkar(s); 29 System.out.println ("Luas Bujur Sangkar dengan s = "+s+" adalah 30 " + bs.CariLuas()); 31 PersegiPanjang pp = new PersegiPanjang(p,l); 32 System.out.println ("Luas Persegi Panjang dengan p = "+p+" dan l = 33 "+l+" adalah "+pp.CariLuas()); 34 SegiTiga st = new SegiTiga(a, t, sm); 35 System.out.println ("Luas Segitiga sama kaki dengan a = "+a+", t = 36 "+t+", dan sm = "+sm+" adalah "+st.CariLuas()); 37 System.out.println (); 38 39 BujurSangkar b = new BujurSangkar(s); 40 System.out.println ("Keliling Bujur Sangkar dengan s = "+s+" 41 adalah "+b.CariKeliling()); 42 PersegiPanjang pj = new PersegiPanjang(p,l); 43 System.out.println ("Keliling Persegi Panjang dengan p = "+p+" 44 dan l = "+l+" adalah "+pj.CariKeliling()); 45 SegiTiga sg = new SegiTiga(a,t,sm); 46 System.out.println ("Keliling Segitiga sama kaki dengan a = "+a+", t
  • 9. Modul Pelatihan Pemrograman Berorientasi Objek 6 47 = "+t+", dan sm = "+sm+" adalah "+sg.CariKeliling()); 48 System.out.println (); 49 } 50 } 51 abstract class BangunDatar 52 { 53 54 abstract double CariLuas(); 55 abstract double CariKeliling(); 56 } 57 class PersegiPanjang extends BangunDatar 58 { 59 60 private int lebar = 1; 61 private int panjang = 1; 62 63 PersegiPanjang(int p, int l) 64 { 65 66 panjang = p; 67 lebar = l; 68 } 69 double CariLuas() 70 { 71 72 return panjang*lebar; 73 } 74 double CariKeliling() 75 { 76 77 return (2*panjang)+(2*lebar); 78 } 79 } 80 class BujurSangkar extends BangunDatar 81 { 82 83 private int sisi = 1; 84 BujurSangkar (int s) 85 { 86 sisi = s; 87 } 88 double CariLuas() 89 { 90 return sisi*sisi; 91 } 92 double CariKeliling() 93 { 94 return 4*sisi; 95 } 96
  • 10. Modul Pelatihan Pemrograman Berorientasi Objek 7 97 } 98 class SegiTiga extends BangunDatar 99 { 100 private int alas = 1; 101 private int tinggi = 1; 102 private int sisi = 1; 103 SegiTiga (int a, int t, int s) 104 { 105 alas = a; 106 tinggi = t; 107 sisi = s; 108 } 109 double CariLuas() 110 { 111 return 0.5*alas*tinggi; 112 } 113 double CariKeliling() 114 { 115 return alas+(2*sisi); 116 } 117 } Hasil dari implementasi program menggunakan aplikasi Visual Studio Code tersebut adalah sebagai berikut: Penjelasan program Pada program bangun datar ini terdiri dari tiga class yaitu class bujur sangkar, persegi panjang dan lingkaran.
  • 11. Modul Pelatihan Pemrograman Berorientasi Objek 8 Pertemuan 10: Package 2. Package • Package dalam bahasa java berarti melakukan pengelompokan terhadap class-class yang berelasi ke dalam satu unit kerja. • Kita bisa memakai package-package default java ataupun yang kita buat sendiri, dengan cara import. • Jika kita melakukan import terhadap suatu package, maka kita bisa memakai semua class dalam package tersebut. ➢ Semua class yang terletak pada satu direktori tertentu dengan sendirinya membuat satu package yang tidak bernama. ➢ Nama paket biasanya ditulis dengan huruf kecil. ➢ Package java diawali dengan java.* dan javax.* ➢ Nama paket biasanya diberi nama sesuai dengan pembuatnya ❖ Bersifat terbalik (reverse) ❖ Id.ac.ukdw.www ▪ Setiap package bersifat unik ▪ Setiap class dalam 1 package dapat saling akses (ingat sifat class modifier!) ▪ Package dapat terdiri dari: class, abstract class dan interface. ▪ Bisa digabungkan dalam 1 file JAR (Java Archive) ▪ Secara default, Java mengimport package java.lang sehingga kita bisa memakai class-class seperti System, Integer, String walaupun kita belum mengimport package apapun. ▪ Syntax untuk import adalah: import <nama package>; Contoh jika kita ingin memakai class Date dalam package util, maka kita harus menulis: 1 import java.util.Date; 2 import java.util.*; Statement pertama mengimport satu class Date secara spesifik sedangkan statement kedua mengimport semua class di package util. Cara lain untuk menggunakan class dari package lain adalah menggunakan explicit package referencing. Dilakukan dengan cara memakai nama package secara lengkap untuk mendeklarasikan sebuah objek dari class tersebut. Contoh: java.util.Datetgl; 2.1 Package Bawaan Java
  • 12. Modul Pelatihan Pemrograman Berorientasi Objek 9  Jika mengunakan statement import, maka harus diletakkan di luar class dan berada di baris-baris awal program java kita.  Untuk membuat package kita dapat menuliskan: - import <nama package>; - di awal file java kita (paling atas/baris pertama)  Misalkan kita akan membuat suatu package di mana kita akan meletakkan class mahasiswa denganclass-class lain yang berelasi.  Yang perlu kita lakukan pertama adalah membuat class-class tersebut.  Kemudian membuat folder bagi class tersebut (misalakna package tersebut bernama universitas). ❖ Semua class yang akan kita kelompokkan harus diletakkan dalam satu folder dengan nama sama dengan nama package-nya. ❖ Maka dari itu, kita masukkan semua class yang akan kita jadikan package universitas ke dalam folder universitas. ❖ Kita juga perlu menambahkan kode berikut ke bagian atas tiap file java (tiap class0 yang akan dibuat dalam 1 package. - package universitas; • Untuk mengkompile class-class dalam package, cukup dikompile dari luar folder package tersebut. - C:javac universitas/*.java • Package juga dapat disebut nested (bertumpuk/bersarang) yang berarti satu package di dalam package lain. • Hal ini menunjukkan bahwa package bersifat hirarkis. Penulisannya dipisahkan dengan tanda titik (.) • Contoh: package id.ac.ukdw.www; • Id - Ac • Ukdw - www 2.2 Hirarki Package • Java sepertinya menganggap Package seperti hirarki folder, tapi kenyataannya tidak! import java.awt.*; - kita import semua class dalam java.awt.*
  • 13. Modul Pelatihan Pemrograman Berorientasi Objek 10 • Tapi kita tidak otomatis mengimpor class pada java.awt.color.* • Harus dilakukan manual: import java.awt.color.*; 2.3 Static Import • Jika kita memiliki variabel dan method static • public static final double PI 3.141592653589793 • public static double cos(double a) • Dapat diakses sebagai berikut: • double r = Math.cos(Math.PI * theta); • Atau diimport: • import static java.lang.Math.PI; atau • import static java.lang.Math.*; Contoh: ♥ Misalkan folder awal kita adalah di D:Program ♥ Kita buat class Dosen dan Mahasiswa ♥ Class Dosen: 1 public class Dosen { 2 private String nik; private String nama; 3 4 public Dosen(String nik, String nama) { 5 this.nik = nik; 6 this.nama = nama; 7 } 8 public void cetakDosen() { 9 System.out.println(this.nik+" ("+this.nama+")"); 10 } 11 } ♥ Class Mahasiswa: 1 public class Mahasiswa { 2 private String nim; private String nama; 3 public Mahasiswa(String nim, String nama) { 4 this.nim = nim; 5 this.nama = nama; 6 } 7 public void cetakMhs() { 8 System.out.println(this.nim+" ("+this.nama+")"); 9 } 10 } ♥ Kemudian kita buat class CobaMhs sebagai class launcer yang isinya demikian: 1 class CobaMhs {
  • 14. Modul Pelatihan Pemrograman Berorientasi Objek 11 2 public static void main(String[] args){ 3 Mahasiswa baru; 4 baru = new Mahasiswa("22002529","Antonius"); 5 } 6 } ♥ Kemudian kalau sudah berhasil, kita buat folder CivitasAkademikka dan masukkan Class Mahasiswa dan Dosen ke dalamnya. ♥ Lalu kita tambahakan sintax: package CivitasAkademika; ke-class Dosen & Mahasiswa. ♥ Dengan begitu class Dosen dan Mahasiswa menjadi satu package, yaitu package CivitasAkademika. ♥ Untuk menggunakannya di class CobaMhs lagi, kita harus mengimpor package CivitasAkademika terlebih dahulu. Penggunaan: import 1 import CivitasAkademika.*; 2 class CobaMhs{ 3 public static void main(String[] args){ 4 Mahasiswa baru; 5 baru = new Mahasiswa("12345678","Anton"); 6 } 7 } Lalu compile ulang dan jalankan. 2.4 Cara Membuat Package Contoh: Dalam kode program berikut saya membuat class Komputer yang disimpan ke dalam package duniailkom: 1 package duniailkom; 2 3 public class Komputer { 4 public String cekInfo() { 5 return "Ini berasal dari class Komputer Duniailkom"; 6 } 7 } Perintah package duniailkom di baris 1 berarti semua kode yang ada di file ini berada di dalam package duniailkom. Class Komputer sendiri berisi satu method cekInfo( ) yang mengembalikan serbuah string. Simpan file dengan nama Komputer.java di dalam folder duniailkom, yakni sesuai dengan nama package.Compile file tersebut dengan cara biasa (menggunakan perintah javac Komputer.java), dan pastikan sudah ada file Komputer.class di dalam folder duniailkom.
  • 15. Modul Pelatihan Pemrograman Berorientasi Objek 12 Dalam gambar di atas, terdapat file Komputer.java dan Komputer.class ada di dalam folder D:belajar_javaduniailkom. 2.5 Cara Mengakses Package Java (Import) Masuk ke contoh praktek implementasi program, silahkan buat file BelajarJava.java di dalam folder D:belajar_java, dan isi dengan kode berikut: 1 import duniailkom.Komputer; 2 3 class BelajarJava { 4 public static void main(String args[]){ 5 6 Komputer KomputerAndi = new Komputer(); 7 System.out.println(KomputerAndi.cekInfo()); 8 9 } 10 } Di baris 1, itu adalah perintah proses import class Komputer yang ada di dalam package duniailkom. Clas ini sudah kita buat sebelumnya. Dengan perintah ini, sepanjang class BelajarJava kita bisa mengakses class Komputer. Di baris 6, class Komputer di instansiasi ke dalam object KomputerAndi, untuk selanjutnya mengakses method cekInfo( ). Jika tidak ada kesalahan penulisan kode dan syntaks error, maka output program akan menampilkan tampilan sebagai berikut: 2.6 Cara Mengakses Kelas pada Package yang Sama Jika kita ingin mengakses class pada package yang sama, itu tidak perlu perintah import, tetapi cukup tambahkan perintah package di baris paling atas sebagai tanda class tersebut ada di package yang
  • 16. Modul Pelatihan Pemrograman Berorientasi Objek 13 sama. Pertama, silahkan buat file Komputer.java di dalam folder duniailkom dan ketik kode berikut: 1 package duniailkom; 2 3 public class Komputer { 4 public String cekInfo() { 5 return "Ini berasal dari class Komputer Duniailkom"; 6 } 7 } Ini kode yang sama seperti tutorial kita sebelumnya. Class Komputer berada di dalam package duniailkom dan memiliki 1 method cekInfo( ) yang mengembalikan sebuah string. Kemudian kita compile dengan perintah javac Komputer.java hasilnya, file Komputer.class akan dibuat di dalam folder duniailkom. Selanjutnya buat file kedua dengan nama BelajarJava.java di folder duniailkom juga, dan isi dengan kode program berikut: 1 package duniailkom; 2 3 class BelajarJava { 4 public static void main(String args[]){ 5 6 Komputer KomputerAndi = new Komputer(); 7 System.out.println(KomputerAndi.cekInfo()); 8 9 } 10 } Akan tetapi ketika di compile , akan muncul error berikut: Salah satu solusi dari masalah ini adalah, mundurkan satu direktory di cmd dari D:belajar_javaduniailkom> ke D:belajar_java>, lalu baru jalankan perintah compile sebagai berikut (1):
  • 17. Modul Pelatihan Pemrograman Berorientasi Objek 14 javac duniailkomBelajarJava.java Java duniailkom.BelajarJava Untuk menjalankan (run), ketik perintah berikut (2): Kedua perintah ini dijalankan dari folder D:belajar_java> Hasil program setelah dicompile yaitu sebagai berikut: 2.7 Kegunaan Package 1. Pengelompokan class sejenis dan berelasi 2. Standarisasi penamaan vendor pembuat package tersebut 3. Mempermudah dalam penggunaan kelas-kelas karena package-nya sudah Terorganisir 4. Menghindari name confict: Rectangle r1 dan graphics.Rectangle r2 5. Membantu pengembangan JAR file - Executablenya Java Pertemuan 11: Class Relationship & Array 3. Class Relationship ▪ OOP mengambil realita dari kehidupan sehari-hari. ▪ Objek-objek di sekitar kita memiliki hubungan relasi tertentu. ▪ Relationship: koneksi logis, hubungan antar objek atau kelas. 3.1 Multiplicity ➢ Mutiplicity: karakteristik dari relasi yang terjadi . ➢ Level class relationship − Instance Level: • Relasi terjadi pada objek-objek yang terbentuk. − Class Level:
  • 18. Modul Pelatihan Pemrograman Berorientasi Objek 15 • Relasi yang terjadi pada class-class yang dibuat. − General Level: • Relasi yang terjadi pada level class maupun objek. ➢ Menunjukkan jumlah / kardinalitas hubungan antar kelas. ➢ Menunjukkan apakah relasi tersebut bersifat opsional atau mandatory − Mandatory = wajib Relasi Keterangan 0..1 0 atau 1 1 Tepat 1 0..* 0 atau lebih 1..* 1 atau lebih * Tidak tentu jumlahnya Contoh: • Antar kelas Buku dan kelas Halaman (Page) - Multiplicitynya: Buku 1 - Halaman 1..* - Artinya Buku berjumlah min 1 - Halaman berjumlah minimal 1-tak terhingga • Berarti sifatnya Mandatory 3.2 Asosiasi ❖ Relasi yang terjadi pada class-class dimana salah satu instance dari class tersebut memanggil / mengaktifkan instance dari class lainnya. ❖ Relasi struktural, menunjukkan penggunaan suatu class di class lainnya. ❖ Asosiasi bisa uni-directional (satu arah) atau bi-directional (dua arah). ❖ Contoh: public class Mahasiswa { private KHS[] khs; void printKHS() { … } Class1 Class2 Class2 Class1 Bidirectional Un-directional
  • 19. Modul Pelatihan Pemrograman Berorientasi Objek 16 … } ❖ Satu mahasiswa memiliki 1 atau lebih KHS. Contoh implementasi program dari relasi class dosen dan mahasiswa Buat sebuah folder bernama PRelasiDM dan prelasidm di folder E:PRelasiDMprelasidm. Kemudian buat file baru dengan nama Dosen, ketikkan source code berikut pada class Dosen. Simpan file tersebut ke dalam folder prelasidm dengan nama Dosen. 1 package prelasidm; 2 public class Dosen { 3 private String Nidn; 4 private String[] nimMhs = new String[11]; 5 private int jmlMhs; 6 public void setNidn(String Nidn){ 7 this.Nidn = Nidn; 8 } 9 public String getNidn(){ 10 return this.Nidn; 11 } 12 public void setNimMhs(String nimMhs){ Mahasiswa KHS 1 1..* Mahasiswa Dosen * *
  • 20. Modul Pelatihan Pemrograman Berorientasi Objek 17 13 if (jmlMhs<this.nimMhs.length){ 14 this.nimMhs[jmlMhs] = nimMhs; 15 jmlMhs++; 16 } 17 } 18 public int getJumlahMhs(){ 19 return this.jmlMhs; 20 } 21 public String getNimMhs(int indeks){ 22 return (nimMhs[indeks]); 23 } 24 } Tuliskan source code berikut pada class Mahasiswa kemudian simpan di folder prelasidm dengan nama Mahasiswa. 1 package prelasidm; 2 public class Mahasiswa { 3 private String nim; 4 private String nama; 5 private String prodi; 6 public void setNama(String nama){ 7 this.nama = nama; 8 } 9 public String getNama(){ 10 return this.nama; 11 } 12 public void setNim(String nim){ 13 this.nim = nim; 14 } 15 public String getNim(){ 16 return this.nim; 17 } 18 public void setProdi(String prd){ 19 this.prodi = prd; 20 } 21 public String getProdi(){ 22 return this.prodi; 23 } 24 } Selanjutnya, tuliskan source code berikut pada folder yang sama yaitu folder prelasidm. Simpan dengan nama file PRelasiDM.
  • 21. Modul Pelatihan Pemrograman Berorientasi Objek 18 Catatan: Pada package, jika file diletakkan pada folder yang berbeda maka kita harus menggunakan perintah import namun jika terletak pada folder yang sama maka kita cukup menggunakan perintah package disertai nama foldernya. 1 package prelasidm; 2 public class PRelasiDM { 3 public static void main(String[] args) { 4 Mahasiswa m1 = new Mahasiswa(); //Bentuk objek mhs 1 5 m1.setNim("200401072103"); 6 m1.setNama("Hendro Gunawan"); 7 Mahasiswa m2 = new Mahasiswa(); //Bentuk objek mhs 2 8 m2.setNim("200401072104"); 9 m2.setNama("Irsyad Sajali"); 10 Dosen d = new Dosen(); //Bentuk objek Dosen 11 d.setNidn("PBO"); 12 //Buat link Dosen dengan Mahasiswa 13 d.setNimMhs(m1.getNim()); 14 d.setNimMhs(m2.getNim()); 15 //Tampilkan data Dosen dan Mahasiswa 16 System.out.println("Kode Dosen : "+d.getNidn()); 17 System.out.println("Mengajar mahasiswa : "); 18 //Ambil jumlah mahasiswa yang diajar 19 int jum = d.getJumlahMhs(); 20 //Ambil data NIM mahasiswa yang diajar 21 for(int i=0; i<jum; i++){ 22 System.out.println(" -"+d.getNimMhs(i)); 23 } 24 } 25 } Selanjutnya jalankan program dengan mengetikkan perintah javac prealasidmPRelasiDM.java dan untuk menjalankan (run) ketikkan perintah java prelasidm.PRelasiDM. Jika tidak ada error syntaks, maka output dari program tersebut akan tampil seperti ilustrasi berikut:
  • 22. Modul Pelatihan Pemrograman Berorientasi Objek 19 3.3 Komposisi Menyusun objek-objek sederhana menjadi suatu objek yang lebih kompleks “Has-a” relationship. Contoh: roda, gearbox, mesin, jok, kemudi, bagasi, membentuk sebuah mobil. “A car has a gearbox” Relasi komposisi ditunjukkan dengan garis penghubung dengan bentuk diamond berwarna hitam di ujungnya. Contoh: 1 class Roda { 2 String merk; int ring; 3 4 Roda(String m, int r) { 5 this.merk = m; 6 this.ring = r; 7 } 8} Contoh: 1 class Mobil { 2 Roda rodaMbl; 3 //Mobil berisi class Roda String warna; 4 public void setWarna(String warnanya) { 5 this.warna = warnanya; 6 } 7 public void setRoda(String m, int r) { 8 rodaMbl = new Roda(m, r); 9 } 10 } Contoh implementasi program menggunakan apliksi Visual Studio Code: 1 package Simplilearn; 2 class Mobil { 3 public String warna; 4 public String roda; 5 public String ring; 6 7 public String getWarna() { 8 return warna; Mobil Roda 1 *
  • 23. Modul Pelatihan Pemrograman Berorientasi Objek 20 9 } 10 public void setWarna(String warna) { 11 this.warna = warna; 12 } 13 public String getRoda() { 14 return roda; 15 } 16 public void setRoda(String roda) { 17 this.roda = roda; 18 } 19 public String getRing() { 20 return ring; 21 } 22 public void setRing(String ring) { 23 this.ring = ring; 24 } 25 26 public static void main(String[]args) { 27 Mobil m = new Mobil(); 28 m.setWarna("Merah"); 29 m.setRoda("Bridgestone"); 30 m.setRing("15"); 31 32 System.out.println("Warna: "+ m.getWarna()); 33 System.out.println("Roda: "+ m.getRoda()); 34 System.out.println("Ukuran: "+ m.getRing()); 35 } 36 } Hasil program setelah dicompile: 3.4 Agregasi  Agregasi mirip dengan komposisi.  Perbedaan pada kekuatan keterkaitan antara objek yang terbentuk dengan objek-objek yang menyusunnya. - Agregasi memiliki relasi yang kurang kuat dibandingkan dengan komposisi.
  • 24. Modul Pelatihan Pemrograman Berorientasi Objek 21  Relasi agregasi ditandai dengan garis penghubung dengan bentuk diamond berwarna putih di ujungnya. Contoh: ✓ Dosen-dosen berkumpul membentuk suatu program studi. ✓ Program studi-program studi dikumpulkan menjadi fakultas. ✓ Fakultas-fakultas dikumpulkan menjadi universitas. 3.4.1 Pemain Bola Dengan Klub Bola o Jika klub bola tidak ada, maka pemain bola tetap ada 1 class PemainBola{ 2 private String nama; 3 private String alamat; 4 public PemainBola(String nama, String alamat){ 5 this.nama = nama; 6 this.alamat = alamat; 7 } 8 } 1 public class KlubBola{ 2 private String nama; 3 private PemainBola pemainno1; 4 public KlubBola(String nama){ 5 this.nama = nama; 6 } 7 public void SetPemainSatu(PemainBola pemain){ 8 this.pemainno1 = pemain; 9 } 10 public static void main(String arg[]){ 11 KlubBola juventus = new KlubBola("Juventus"); 12 PemainBola orang1 = new PemainBola("Del Piero", "Sukabirus"); 13 juventus.setPemainSatu(orang1); 14 } 15 } 3.5 Agregasi Vs Komposisi ProgramStudi Dosen 1 1..*
  • 25. Modul Pelatihan Pemrograman Berorientasi Objek 22 ♥ Agragasi tidak ada kepemilikan. − Bila Objek yang dibentuk hilang maka objek-objek penyusun akan tetap ada. ♥ Komposisi ada kepemilikan. − Bila objek yang dibentuk hilang maka objek-objek penyusun juga akan hilang. ♥ Universitas terdiri dari 1 atau lebih fakultas. ♥ Fakultas terdiri dari 1 atau lebih Program Studi ♥ Program Studi memiliki 1 atau lebih Dosen. Bila universitas ditutup maka Fakultas dan Program Studi akan hilang, tetapi Dosen tidak. Bila Fakultas ditutup maka program studi-program studi di bawahnya juga akan hilang. Contoh: ❖ Suatu lingkaran memiliki 1 titik pusat? ❖ Merupakan agresi atau komposisi? 1 public class Titik{ 2 ink x; 3 prvate int y; 4 public void setKoordinat(int a, int b) { 5 x =a; 6 y = b; 7 } 8 //...(bagian selanjutnya dihilangkan) 9 } 1 public class Lingkaran { 2 private int radius; 3 private Titik titikPusat; 4 //...(bagian selanjutnya dihilangkan) ProgramStudi Dosen Fakultas Universitas 1 1 1..* 1..* 1..* 1
  • 26. Modul Pelatihan Pemrograman Berorientasi Objek 23 5 } 3.6 Asosiasi, Agregasi dan Komposisi 3.7 Dependency Relasi yang menggambarkan ketergantungan suatu class pada class lainnya. Contoh: class A memiliki dependency pada class B. Bila class B berubah maka class A juga harus diubah. Relasi dependency digambarkan dengan garis putus-putus Ada 3 bentuk dependency Penggunaan class B sebagai parameter pada fungsi di class A. Penggunaan class B sebagai nilai kembalian (return value) pada fungsi di class A. Penggunaan class B sebagai variabel lokal pada fungsi di class A. ▪ Penggunaan class B sebagai parameter pada fungsi di class A class KHS { … } class mahasiswa { float hitungIPKSemester(KHS khs, int sem) { … } Lingkaran Titik 1 1 Association Aggregation Composition A B
  • 27. Modul Pelatihan Pemrograman Berorientasi Objek 24 ▪ Penggunaan class B sebagai nilai kembalian pada fungsi di class A class KHS { … } class mahasiswa { KHS getKHS(int sem) { … } } ▪ Penggunaan class B sebagai variabel lokal pada fungsi di class A class KRS { … } class mahasiswa { void susunKRS { KRS krs = new KRS(5); … } Array 4. Array ♥ Tipe data yang dapat menampung lebih dari satu nilai yang bertipe sama. ♥ Menggunakan indeks untuk pengaksesannya. ♥ Dapat diakses secara random, tidak harus sekuensial. ♥ Array pada java => bertipe Object / Reference. ♥ Array bisa berisi: Object atau tipe data primitif biasa. 4.1 Ilustrasi Array 4.2 Deklarasi Array o Static Memory Allocation = Fixed size o Mendeklarasikan array int [ ] data; char [ ] alfabet; 0 5 3 9 6 4 7 8 2 1 Array length is 10 First index Element (at index 8) Indices
  • 28. Modul Pelatihan Pemrograman Berorientasi Objek 25 int data [ ]; → bentuk ini tidak dianjrkan ! String [ ] data; Mobil [ ] mobilArray; o Inisialisasi Array = menentukan ukuran (jumlah elemen). o Inisialisasi Array Int [ ] data = new int [10]; String [ ] nama = new String [50]; Char [ ] alfabet = new char [26]; o Ketiga hal di atas secara otomatis array akan berisi NULL. 4.3 Array Tipe Data Primitif • int [ ] data = new int[5]; Pengisian nilai [0] = 70; nilai [1] = 80; nilai [2] = 85; nilai [3] = 75; nilai [4] = 77; 4.4 Pengaksesan • Mengakses elemen 1 for (int i = 0; i < 5; i ++) { 2 System.out.println("Elemen " + i + ":" + nilai[i]); 3 } 4.5 Array Object ❖ Inisialisasi - Dog[] dogArray = new Dog[]; ❖ Pengisian - dogArray[0] = new Dog(“waldo”); - dogArray[1] = new Dog(“froddo”); - dogArray[2] = new Dog(“rotty”); - dogArray[3] = new Dog(“percy”); - dogArray[4] = new Dog(“potty”); ❖ Mengakses Elemen System.out.println(dogArray[3].getName()); for(int i=0; i<5; i++) { System.out.println(dogArray[i].getName()); } 70 80 85 75 77 70 80 85 75 77 0 3 4 2 1 3 4 2 1 0
  • 29. Modul Pelatihan Pemrograman Berorientasi Objek 26 4.6 Ukuran Array Ukuran array dapat diambil dengan mengakses property length int[] data = new int[100]; System.out.println(data.length);100 4.7 Class Array ✓ Java.util.Arrays (Helper) ✓ Terdapat static method: • Search & Sorting : binarySearach( ), sort( ); • Comparison : equals( ); • Instalation : fill( ); • Conversion : asList( ); 4.8 Kelebihan & Kekurangan Kelebihan ♥ Type data array sudah didefinisikan sejak awal (compile type cheking). ♥ Array mengetahui jumlah elemennya (length). ♥ Array dapat menyimpan tipe data primitif secara langsung. Kekurangan − Ukuran array tetap (fixed size). − Hanya dapat berisi satu type saja. Contoh implementasi program menggunakan aplikasi NetBeans:
  • 30. Modul Pelatihan Pemrograman Berorientasi Objek 27 Berikut adalah hasil compile dari program di atas: Pembahasan Program Program p_arrayterbesar tersebut mengilustrasikan contoh array satu dimensi yang didinisialisasi dalam kode program, perhatikan statement berikut int[ ] data = {22, 76, -53, 34, 31, 61, 21}. Kita mendeklarasikan array dengan nama data yang memiliki elemen sebanyak 7 nilai yang memiliki tipe data nilai integer. Pada program ini tidak terdapat kata cadangan New( ), karena kita langsung mendefinisikan nilai-nilai array tersebut ke dalam kode program. Penyelesaian dilakukan dengan cara membandingkan data yang ke [i] dengan nilai max, nilai max sebelumnya diinisialisasi dengan data[0] (supaya dibaca dari indeks pertama dalam array tersebut), jika data[i] lebih besar dari max, maka, nilai max diisi dengan data yang ke-[i]. Kesimpulan Dari rangkuman di atas dapat disimpulkan bahwa Pemrograman Berorientasi Objek sangat berperan penting dalam kehidupan sehari-hari terutama mengenai implementasi program yang telah dibuat selalu berhubungan dengan mata pelajaran yang lainnya seperti matematika, sehingga para programer tidak bosan dengan tampilan contoh programnya. Selain itu programer juga dapat mengembangkan sendiri aplikasi-aplikasi Java sesuai apa yang diinginkannya. Contohnya ketika kita memiliki masalah dalam menghitung luas segi tiga maka aplikasi Java dapat dijadikan solusi dalam memecahkan masalah tersebut. Ucapan Terimakasih Terimakasih saya ucapkan khususnya kepada dosen pengajar mata kuliah Pemrograman Berorientasi Objek (PBO) bapak Catur Nugroho S.Kom., M.Kom yang telah memberikan penjelasan materi dari pertemuan 1 sampai dengan pertemuan 16 semoga beliau diberikan kesehatan dan keselamatan serta rizki yang melimpah.Terimaksih juga saya ucapkan kepada teman-teman yang telah mendukung terbentuknya buku rangkuman pertemuan ke-9 sampai dengan ke-11 ini. Daftar Pustaka Adam Mukharil Bactiar, F. N. (2018). Pemrograman Berorientasi Objek. Bandung: INFORMATIKA. Catur Nugroho, S. (2023). Pemrograman Berbasis Objek. Pertemuan: 9 Polimorfisme, 1-14. Catur Nugroho, S. M. (2023). Pemrograman Berbasis Objek. Pertemuan 11: Package, 1-20. Catur Nugroho, S. M. (2023). Pemrograman Berbasis Objek. Pertemuan 11: Class Relationship & Array, 1-31.
  • 31. Modul Pelatihan Pemrograman Berorientasi Objek 28 Iskandar, A. R. (2020). Menguasai Pemrograman Berorientasi Objek. Bandung: INFORMATIKA. Tentang Penulis Penulis bernama Hendro Gunawan, Lahir di kota Jakarta pada tanggal 1 Januari 1981. Penulis adalah Lulusan SMA Negeri 1 Muara Enim tamat tahun 1998, dan saat ini sedang menempuh kuliah di Universitas Siber Asia Jakarta jurusan Teknik Informatika angkatan tahun 2020. Penulis sangat menyukai bahasa pemrograman terutama yang berbasis objek yaitu diantaranya bahasa pemrograman Java, Bahasa C, C++ dan Pemrograman WEB. Selain sebagai mahasiswa penulis juga aktif sebagai karyawan di PT Indospring Tbk, yaitu perusahaan yang bergerak dibidang Otomotif spring yang operasinya di daerah Gresik Jawa Timur. Dengan membaca buku ini penulis berharap dapat memberikan kontribusi dalam hal memperluas pengetahuan dibidang Pemrograman Berorientasi Objek (PBO) menggunakan Java. Semoga buku ini bermanfaat untuk kita semua. Terima kasih. Penulis dapat dihubungi di: Telp: • 081259640815 Email: • hendro.gnwn@gmail.com • hendro.gnwn@ymail.com • hendro.gnwn@outlook.com 😊
  • 32. Modul Pelatihan Pemrograman Berorientasi Objek 29
  • 33. Modul Pelatihan Pemrograman Berorientasi Objek 30 Nilai Tanda Tangan Dosen Pengampu / Tutor Tanda Tangan Mahasiswa (Catur Nugroho S.Kom., M.Kom) (Hendro Gunawan) Diserahkan pada Tanggal: Tanggal Mengumpulkan: 29/01/2023