1. INTERAKSI ANTAR OBJEK
Objek tidak berdiri sendiri
Objek berinteraksi dengan objek-objek lainnya
Bagaimana objek-objek itu berinteraksi?
Objek berinteraksi tergantung dari informasi yang dibutuhkannya
ANALOGI INTERAKSI ANTAR OBJEK
DIAGRAM INTERAKSI OBJEK
Objek berinteraksi menggunakan metode
Diketahui objek A berkomunikasi dengan objek B.
Objek A dan B akan saling berkomunikasi tergantung informasi yang dibutuhkan.
2. INTERAKSI ANTAR OBJEK
Komunikasi A dan B :
Objek A akan mencari method Objek B yang sesuai perintah yang akan dikerjakan.
Berdasarkan service request, Objek A memberikan informasi tambahan ke Objek B yang
akan diproses.
Objek B harus mengetahui apakah objek A mengharapkan objek B untuk memberikan
report balik setelah perintah dikerjakan.
METODE / METHOD
DEKLARASI METHOD
HEADER METHOD
Header method yaitu spesifikasi formal bagaimana method dipanggil.
Spesifikasi minimum terdiri dari :
3. Tipe Return
Nama method
Parameter
Contoh :
NAMING CONVENTION ( Konvensi Penamaan)
The first letter of the method name is in lowercase.
(Huruf pertama nama metode ditulis dalam huruf kecil)
The first letter of each subsequent concatenated word in the method name is in uppercase,
and the remaining characters are in lowercase.
(Huruf pertama dari setiap kata gabungan berikutnya dalam nama metode adalah huruf
besar, dan karakter yang tersisa dalam huruf kecil)
We don’t use any “punctuation” characters— dashes, underscores, etc.—to separate these
words.
(Kami tidak menggunakan karakter "tanda baca" apa pun — tanda hubung, garis bawah,
dll. — Untuk memisahkan kata-kata ini)
As an example, chooseAdvisor is an appropriate method name, whereas none of the
following would be appropriate: ChooseAdvisor (uppercase “C”), chooseadvisor
(lowercase “a”), choose_advisor (separating underscore).
(Sebagai contoh, selectAdvisor adalah nama metode yang tepat, sedangkan tak satu pun
dari yang berikut ini akan sesuai: ChooseAdvisor (huruf besar "C"), selectadvisor (huruf
kecil "a"), select_advisor (memisahkan garis bawah))
PASSING ARGUMENT
Pengertian Pass by Value
Pass by value (memberikan nilai) adalah salah satu metode untuk memberikan argumen kepada
function parameter di saat pemanggilan function. Pada dasarnya C/C++ memberikan argument
kepada funtion parameter dalam bentuk nilai (value). Ketika kita memberikan argument pada
function, maka nilai dari argument akan di salin ke dalam function parameter.
Dalam menentukan argument kita dapat membuatnya dalam bentuk nilai, ekspresi, variabel,
literal, object, enum dan lain-lain yang mengandung nilai di dalamnya.
4. Contoh Program :
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
int tambah (int a, int b){
return a+b;
}
int main () {
cout<<tambah(5,6)<<endl; //pass by value
return 0;
}
Function parameter sebenarnya hanyalah variabel lokal. Setiap ketentuan yang ada pada variabel
lokal berlaku pada function parameter. Perbedaanya adalah hanya pada segi peletakanya.
Contoh Program :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
int tambah (int a, int b){
return a+b;
}
int main () {
cout<<tambah(5,6)<<endl; //pass by value
cout<<tambah(19,24)<<endl; //pass by value
cout<<tambah(79,64)<<endl; //pass by value
return 0;
}
Dari program di atas, terlihat bahwa function kustom tambah() dipanggil berulang kali. Dengan
argument yang berbeda-beda. Itu bukan berarti bahwa nilai function parameter selalu
diperbaharui setiap function itu di panggil dan diberi argument baru, melainkan function
parameternya lah yang selalu baru.
Sama seperti variabel lokal, bahwa function parameter termasuk dalam Automatic duration
dengan arti bahwa variabel tersebut hanya akan ada pada saat function tersebut sedang berjalan.
sebelum itu dan sesudah itu, semua local variabel di dalamnya akan hilang atau tidak ada.
5. Contoh Program :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
int ubah(int x){
x = 99;
cout<<"x = "<<x<<endl;
}
int main () {
int a = 1;
cout<<"a = "<<a<<endl;
ubah(a); //pass by value
cout<<"a = "<<a<<endl;
return 0;
}
Perubahan pada function parameter tidak akan berpengaruh pada argument, karena apa yang
terjadi adalah function parameter hanya menyalin nilai dari argument dengan arti lain bahwa
argument dan function parameter adalah variabel yang berbeda dan berdiri sendiri.
Satu hal terakhir yang perlu anda tahu sebelum melakukan metode pass by value adalah, bahwa
metode ini tidak cocok digunakan untuk memberikan argument berupa array, object dan segala
sesuatu yang cukup memakan memori besar. karena apa yang terjadi adalah nilai dari argument
di salin ke function parameter, hal itu dapat menurunkan performa program anda.
Contoh Program :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
void myFunction(int a,double b,char c);//function prototype
int main(){
int var=29029;
myFunction(var-29000,2,'A'); //pass by value
return 0;
}
void myFunction(int a,double b,char c){
cout<<"a"<<" = "<<a<<endl;
cout<<"b"<<" = "<<b<<endl;
6. 16
17
cout<<"c"<<" = "<<c<<endl<<endl;
}
TUJUAN PASSING ARGUMENT
Tujuan melewatkan argumen ke dalam metode adalah menjadi dua kali lipat. [Barker05]:
Untuk menyediakan "bahan bakar" (opsional) yang diperlukan untuk melakukan
tugasnya
Untuk memandu perilakunya dengan cara tertentu
Contoh :
boolean registerForCourse(String courseID, int secNo)
boolean registerForCourse()
CONTOH PASSING ARGUMENT
public void test() { int x = 5; proses(x);
System.out.println(“x1:”+ x);
}
public void proses(int x) { x = x + 10;
System.out.println(“x2:”+ x);
}
CONTOH PASSING ARGUMENT
public void test() { int x = 5; proses(x);
System.out.println(“x1:”+ x);
}
public int proses(int x) { x = x + 10;
System.out.println(“x2:”+ x); return x;
}
TIPE RETURN METHOD
Tipe return method yaitu :
void
tipe data primitif
tipe data user-defined (class)
array
collection
Contoh :
void setName(String newName)
void switchMajor(String newDepartment, Professor newAdvisor)
7. Professor getAdvisor()
ANALOGI
Aktivitas “household chores” :
Taking out the trash
Mowing the lawn
Washing the car
Berarti dengan aktivitas seperti di atas akan memiliki class Person dengan tiga method di
dalamnya. Methodnya yaitu :
void takeOutTheTrash()
boolean mowTheLawn()
void washTheCar(Car c)
BADAN METHOD
Badan method sebagai tempat implementasi program.
Dibatasi dengan tanda kurawal (buka dan tutup) seperti { .... }
Contoh :
STATEMENT RETURN
Statement return yaitu statement jump yang digunakan untuk keluar dari method.
Statement yang dikembalikan harus sama dengan tipe return.
Contoh untuk integer :