Bab 6 Class & Constructor
May 7, 2019 | Author: Afrizal Bagas | Category: N/A
Short Description
laporean...
Description
BAB VI
CONSTRUCTOR DAN CLASS
6.1.
Tujuan
1.
Praktikan dapat mengetahui mana yang disebut class dan mana yang disebut constructor .
2.
Praktikan dapat memahami fungsi dari class dan constructor di masing – masing – masing bahasa pemrograman Java, C#, Python, dan PHP.
3.
Praktikan dapat membuat class dan constructor di di masing – masing – masing masing bahasa pemrograman Java, C#, Python, dan PHP.
4.
Praktikan mampu menghafal source code class dan constructor di di masing – masing masing bahasa pemrograman Java, C#, Python, dan PHP.
5.
Praktikan
dapat
memahami
apa
yang
disebut
Object-Oriented
atau OOP setelah setelah memahami tujuan – tujuan – tujuan tujuan sebelumnya. Programming atau
6.2. Dasar Teori 6.2.1. Konsep Pemogramman Berbasis Objek
Pemrograman berorientasi objek (object-oriented programming disingkat disingkat OOP) merupakan pemograman yang berorientasikan berorientasi kan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan di kembangkan dan dirawat. (Sumber: http://technopark.surakarta.go.id/id/media-publik/komputer-teknologiinformasi/189-konsep-dasar-pemrograman-berorientasi-objek )
6.2.2. Class
Class dapat dibayangkan sebagai blueprint dari suatu object yang akan di
buat, class merupakan kumpulan definisi state atau attribute (kondisi) dari suatu object yang akan dibuat, dan method dari object tersebut. Sebagai contoh class dapat di gambarkan dalam diagram seperti dibawah:
Gambar 6.1 contoh class
Dalam diagram class yang harus di perhatikan adalah 1.Simbol dari setiap attribute untuk simbol minus (-) maka berarti suatu attribute memiliki encapsulasi private, simbol plus (+) untuk encapsulasi public, pagar (#) untuk encapsulasi protected, simbol garis miring (/) dimaksukan bahwa fungsi telah kedaluarsa. 2.Kemudian dalam class diagram terdapat 3 bagian yaitu nama class, attribute class, dan method class.
Dalam diagram kelas diatas dapat dilihat kalau suatu class akun bank memiliki attribute atau ciri berupa idAkun, saldo, tanggalDiBuka, dan tipeAkun. Dan akun tersebut dapat melakukan operasi buka, tutup, menabung sejumlah uang, menarik sejumlah uang. (Sumber: https://pccontrol.wordpress.com/2013/01/21/pengetahuan-dasar-dan-contoh-diagramkelas-class-diagram/ dan Modul 5 Praktikum DKP)
6.2.3. Constructor
Constructor adalah method khusus yang akan dijalankan secara otomatis pada saat sebuah objek dibuat (instansiasi), yakni ketika perintah “new” dijalankan. Constructor digunakan untuk membuat suatu obejct dari class yang bersangkutan,
seperti memberi nilai awal kepada attribute, memanggil method internal dan beberapa proses lain yang digunakan untuk ‘mempersiapkan’ objek. Ide
dasar
constructor
adalah
membangun
object
dengan
menginstansiasikannya dengan cara mengisi attribute object tersebut dengan nilai tertentu dan melakukan operasi yang diperlukan agar object itu siap digunakan. Analogi hubungan constructor dan class adalah class merupakan blueprint dari suatu bangunan, berisi berbagai rancangan kamar, ukuran rumah dan sebagainya, tetapi karena hanya blueprint maka class bukanlah object nyata, untuk membangun rumah dari blueprint tersebut maka di gunakan peralatan dan tukang agar rumah dapat dibuat, peralatan dan tukang yang membangun rumah inilah yang dimaksud contructor. Dan seperti membuat rumah pada umumnya satu blueprint atau class dapat digunakan berkali-kali untuk membuat rumah yang banyak.
Gambar 6.2 diagram constructor Sumber:modul bab VI class dan constructor (Sumber:http://www.duniailkom.com)
6.3.
Hasil Percobaan dan Analisa
6.3.1. Class Pada Java package modul5; class student { public String name; public String id; private String address; private float gpa; public student() //Constructor yang akan langsung dijalankan saat kelas pertama kali diinisialisasi { System.out.println("Mahasiswa telah dibuat"); } public student(String parameter { this.name= name; this.id = id; }
name,
String
public student(String name, //Overloading Constructor { this.name = name; this.id = id; this.address = address;
id)
String
//Constructor
id,
String
dengan
address)
System.out.println("Mahasiswa telah dibuat"); } public String intro() //Method non parameter { return "Nama saya: "+name+ "\nNIM saya:" + id; } public String { if (gpa >= return } else { return } }
tellGPA(float gpa) //Method berparameter 3) { "IPK saya "+ gpa;
"IPK saya tidak boleh di beritahu ke orang lain";
public String tellAddress(){ //Method non parameter return "Alamat saya di " + address; } }
Pada source code ini dapat kita lihat pada kelas ini bahwa nama dari kelas ini adalah kelas student,kemuadian di deklarasikan public string name,yang berarti bahwa method ini memiliki parameter dengan nama name memiliki tipe data string dengan akses modifier public yang berarti data ini nantinya dapat diakses secara bebas pada kelas lain.kemudian ada public string id yang mana method ini juga memiliki fungsi yang sama dengan yang sebelumnya yaitu tipe data string dan akses modifier nya secara publik yang dapat diakses oleh kelas lain,selanjutnya private string address yang mana akses modifier private yang berarti seluruh
atribut atau method tersebut tidak adapat diakses oleh kelas lainhanya dapat diakses oleh kelas tersebut begitu juga dengan private float gpa yang berarti tipe data ini adalah tipe data berkoma atau bukan bilangan bulat dengan acces modifierprivate sama seperti sebelumnya yang mana method ini tidak dapat diakses secara bebas oleh kelas lain,selanjutnya public student yang mana method ini dapat diakse oleh kelas lain dan merupakan konstructor yang akan dijalankan. Selanjutnya System.out.println(Mahasiswa telah dibuat); yang mana ini nantiya akan mencetak “Mahasiswa telah dibuat”lalu public string intro
ini merupakan method dengan non parameter,lalu
saya(“+name+”/nNim saya:”+ id; yang
return:”nama
mana ini nantinya akan mengembalikan
Nilai nama dan nim. Kemudian public
string
telGPA(floatGPA) ini
merupakan method dengan tipe data float yang berparameter selanjutnya if(gpa>=3)ini nantinya jika ipk kita lebih besar dari 3 dan else jika lebih kecil
dari tiga maka nilai tidak boleh diberitahukan pada orang lain.Kemudian public string tellAddress()}ini merupak method yang non parameter terakhir return “alamat saya +address”
maka hasilnya akan mencetak alamat.
6.3.2. Constructor Pada Java package modul5 * @author ASUS A442U public class Modul5 { public static void main(String[] args) { //mengeluarkan nilai dari method tellAddress // TODO code application logic here student one = new student(); System.out.println(one.intro()); System.out.println(one.tellGPA(4)); System.out.println(one.tellAddress()); student two = new student("Afrizal "21120117130075"); System.out.println(two.intro()); System.out.println(two.tellGPA(4)); System.out.println(two.tellAddress());
Bagas
student three = new student("Lita "21120117120025", "GKB"); System.out.println(three.intro()); System.out.println(three.tellGPA(4)); System.out.println(three.tellAddress());
S",
Muflikha",
} }
pada kode ini dapat kita lihat public class Modul5 yang mana kode ini bernama modul5 selanjutnya student one = new studet ini men set student ,kemudian
System.out.println(one.intro() ;ini
merupakan
pernyataan
pertama yang nanti akan berniali null atau akan dicetak null karena tidak ada nila akan
diinputkan
kemudian
akan
dicetak
System.out.println(one.tellGPA(4)) yang
lagi
nim
dengan
kode
mana ini nantinya juga kan
mencetak nilai 4 karena tadi diawal nilainya telah diinputkan begitu juga dengan System.out.println(one.tellAddress(); yang mana nilainya juga akan dicetak null karena nialinya tidak di inputkan diawal. Selanjutnya Student two =new student yang mana ini dibuat untuk siswa ke dua dengan nama objek Afrizal Bagas S dengan nim 2120117130075 ,selanjutnya System.out.println(two.intro();yang mana ini nantinya akan menjadikan
ini
menjadi
objek
kedua,selanjutnya
System.out.println.(tellGPA); yang mana ini nanti akan mencetak nilai dari
nim yaitu 21120117130075 begitu juga dengan address yang mana nanti alamatnya
akan dicetak di GKB sesuai dengan yang telah didekalrasikan pada class sebelumnya Sama halnya dengan student three=new yang mana ini dibuat untuk siswa ke tiga dengan nama objek Lita
Muflikha
dengan nim 21120117120025
selanjutnya System.out.println(two.intro();yang mana ini nantinya akan menjadikan
ini
menjadi
objek
kedua,selanjutnya
System.out.println.(tellGPA);
yang mana ini nanti akan mencetak nilai dari nim yaitu 21120117120025 begitu juga dengan address yang mana nanti alamatnya akan dicetak di GKB sesuai dengan yang telah didekalrasikan pada class sebelumnya.maka outputnya kan jadi sebagai berikut:
Gambar 6.3 output program pada java
6.3.3. Class pada C# using System.Text; using System.Threading.Tasks; namespace Modul_5 { class Student { public String name; public String id; private String address; private float gpa; public Student() //Constructor default// { Console.WriteLine("Mahasiswa telah dibuat"); } public String intro() //Method non parameter// { return "Nama saya: " + name + "/NIM saya:" + id; } public String tellGPA(float gpa) //Method berparameter { if (gpa >= 3) { return "IPK saya " + gpa; } else { return "IPK saya tidak boleh di beritahu ke orang lain"; } } public String tellAddress() { //Method non parameter return "Alamat saya di " + address; } } }
Class ini bernama modul5kelompok8 berada pada class student,pertama kita deklarasikan dengan public string name yang mana ini bertipe data string dengan acces modifier public yang berarti method itu bisa diakses secara bebas oleh kelas lain selanjutnya public string id yang nantinya akan mencetak nilai id lalu private string ini merupakan acces modifier dengan type private yang mana ini tidak dapat diakses pada kelas lain dengan parameter addres dengan type data string begitu juga dengan private
float
gpa yang
nanti akan
mendeklarasikan nilai dari nim yang akan di inputkan,selanjutnya public student()
ini merupakan constructor default yang akan mencetak mahasiswa telah dibuat kemudian public student(string name,string id)ini merupakan constructor dengan parameter dan setelah itu kita panggil this name=name yang artinya nilai yang akan dipanggil adalah nilai name dan juga id selanjutnya adalah kita memasukkan nilai public student(string name,string id,string addres) ini merupakan overload constructor karna pada satu method terdapat lebih dari dua parameter sehingga disebut sebagai overload parameter kemudian kita panggil nama,id dan alamat yang telah di deklarasikan sebelumnya pada class yang telah dibuat,lalu kita buat public
string
intro()yang mana ini merupakan
constructor tanpa parameter lalu kita mengembalikan nilai nama yaitu “nama saya:” dan juga nim,selanjutnya kita mencetak niali dari ip yang ingin dikeluar kan dengan mengembalikan nilai pada class sebelumnyadan jika ipk yang di masukkan lebih kecil daripada 3 maka yang akan dikeluarkan nanti adalah “ipk saya tidak boleh diberitahukan pada orang lain”da yang terakhir adalah menampilkan alamat yang telah kita input maka nilainya nanti akan di kembalikan untuk mengambil alamat yang telah di input.
6.3.4. Constructor pada C# Student dkp = new Student(); //Inisialisasi objek dari class student Console.WriteLine(dkp.intro()); //Mengeluarkan nilai dari method intro Console.WriteLine(dkp.tellGPA((float)3.5)); //Menginputkan argument sekaligus mengeluarkan nilai dari method tellGPA Console.WriteLine(dkp.tellAddress()); //mengeluarkan nilai dari method tellAddress Console.ReadKey();
Pada source code constructor ini kita dapat melihat bahwa nama dari program ini adalah modul5_kelompok16 pada kelas ini kita hanya ingin untuk menampilkan semua niali yang telah kita deklarasikan pada kelas sebelumnya yaitu kita menginisialisasi objek dari class student yang telah kita buat sebelumnya dengan
student
dkp
=
new
student()selanjutnya
kita
tulis
console.writeline(dkp.intro) yang akan mengeluarkan nilai dari method
intro,selanjutnya
console.writeline(dkp.
tellGPA((float)3.5));ini
merupakan penginputan argumen sekaligus mengeluarkan niali dari ipk yaitu 3.5,selanjutnya console.writeline(dkp.tellAdress()) ;yang mana ini adalah untuk mengeluarkan nilai dari method tellAddress yang telah di deklarasikan pada class sebelumnya dan yang terakhir adalah console.Readkey();yang nantinya akan mengakhiri program dan akan mencetak nilai.maka yang akan menjadi outputan dari program ini adalah:
Gambar 6.4.output pada c#
6.3.5. Class pada Python class Student(object): """description of class""" name = "Afrizal Bagas Santoso" id = "21120117130075" address = "GKB" gpa = 0.0 def __init__(self): #default constructor print("Mahasiswa telah dibuat") def intro(self): #method print("Nama saya: " + self.name + " / NIM saya: " + self.id) def tellGPA(self, gpa): #method if gpa >= 3.0: print("IPK saya: " + str(gpa)) else: print("IPK saya tidak boleh diberitahu orang lain") def tellAddress(self): #method print("Alamat saya di" + self.address)
pada class student(object); ini berarti kelas ini berada pada kelas student
dengan
parameter
name=”Afrizal Bagas S”
input,kemudian
pertama
kita
deklarasikan
berarti nama dari objek ini adalah Afrizal Bagas S lalu
kita inputkan nim mahasiswa dengan nim 21120117130075 lalu kita deklarasikan alamat dengan
address=”gkb”
lalu yang kita deklarasikan terakhir adalah
gpa=0.0 selanjutnya kita def_init_(self):ini adalah constructor default maka
nanti yang akan sicetak adalah “mahasiswa telah dibuat” apabila yang diminta adalah constrctor default dan begitu juga dengan yang selanjutnya yaitu def_init_(self,name,id,address): ini merupakan constructor berparameter
namun konstruktor ini merupakan overload konstructor karena terdiri dari 3 parameter yaitu nama ,id dan juga address,lalu setelah itu kita print (“Mahasiswa Telah dibuat”) lalu kita buat self.name=name yang menginputkan nilai nama lalu self.id yang akan menginputkan nilai nim dan address untuk address Setelah itu kita panggil method def intro(self) untuk memprint nama saya:+self.name+(/”Nim
saya:”+
self.id)
yang mana ini nantinya
mengeluarkan nama dan nim yang telah di deklarasikan sebelumnya.Lalu kita memanggil method def tellGPA(self,GPA)yang akn mencetak nilai dari nim dengan if gpa>=3 maka akan di print
“ipk saya”
jika ip yang dimasukkan
lebih besar atau sama dengan 3 keculai jika nilainya kurang dari 3 maka yang akan dikeluarkan adalah “ipk
saya tidak boleh diberitahukan orang lain”. Lalu
akan dilanjutkan dengan nilai dari gpa yang telah diinput sebelumnya,begitu juga dengan method def tellAdress(self) yang nantinya akan mencetak nama alamat sesuai yang kita masukkan yaitu”alamat saya di”lalu akan dilanjutkan dengan inputan self address yang akan menunjukkan nama alamatnya.
6.3.6. Constructor pada Python from Student import Student Student_Three = Student(" Afrizal Bagas Santoso"," 21120117130075"," GKB") Student_Three.intro() Student_Three.tellGPA(3.5) Student_Three.tellAddress() Student_Four = Student(" Lita Muflikha "," 21120117120025"," GKB") Student_Four.intro() Student_Four.tellGPA(2.5) Student_Four.tellAddress()
Pada source code python kali ini dapat kita lihat bahwa student three=new
student kita menginisialisasi objek dari kelas yang telah dibuat
sebelumnya yaitu objek ketiga dengan nama Afrizal Bags S dengan Nim 21120117130075
dan
student_three.intro
dengan
alamat
di
“GKB”,lalu
kita
buat
()yang nanti akan mengambil nilai intro pada class
sebelumnya selanjutnya Student_Three.tellGPA(3.5) yang mana ini nantinya akan mencetak nilai dari ipk yaitu
“ipk
saya
3.5” dan
yang terakhir adalah
Student_Three.tellAddress() yang nanti akan mengeluarkan alamat yang telah
di masukkan pada kelas sebelumnya,begitu juga dengan objek yang kedua yaitu student Four=new student kita menginisialisasi objek dari kelas yang telah
dibuat sebelumnya yaitu objek keempat dengan nama Lita Muflikha dengan Nim 21120117120025 dan dengan alamat di GKB,lalu kita buat Student_Four.intro ()yang nanti akan mengambil nilai intro pada class sebelumnya selanjutnya Student_Four.tellGPA(2.5) yang mana ini nantinya akan mencetak “ipk saya tidak
boleh
diberitahu
orang
lain”
dan
yang
terakhir
adalah
Student_Four.tellAddress() yang nanti akan mengeluarkan alamat yang telah
di masukkan pada kelas sebelumnya yaitu gkb maka akan keluar outputan sebagai berikut:
Gambar 6.5 output program pada python
6.3.7. Class pada PHP
Pada source code ini kita dapat meihat bahwa nama dari kelas ini adalah class student lalu selanjutnya kita deklarasikan variabel yang ingin dinputkan yaitu public$name=”praktikan
DKP” ini
berarti namanya nanti akan diinputkan pada
main programnya selanjutnya kita dekalrasikan id untuk menginput Nim dengan dan yang kita deklarasikan selanjutnya adalah
public$id=21120117130075”
public$address=”GKB” yang akan mengeluarkan nama alamatnya yaitu GKB,lalu
kita buat function__construct(){} yang mana ini merupakan constructor,garis bawah dibuat dua lalu diberi construct untuk menyatakan bahwa ini adalah construct dan selanjutnya kita buat public function intro(){ yang ini akan menginisialisasi objek lalu kita buat >id ” yang
echo”nama saya $this ->nameNJM-
nanatinya akan mencetak “Nama
saya” lalu
akan dimasukkan
nilai dari this yang telah dideklarasikan sebelumnya lalu dilanjutkan dengan nilai this id yaitu nim yang kita input di awal,selanjutnya public
function
tellAddress(){ yang nantinya akan mengeluarkan nilai alamat lalu akan di print
dengan menuliskan echo”alamat di keluarkan adalah
“alamat
saya di $this -> address”; maka
saya” lalu
telah di deklarasikan sebelumnya.
yang akan
akn dilanjutkan dengan nilai this yang
6.3.8. Constructor pada PHP
Pada source code ini dapat kita lihat bahwa kita pertama harus mengisialisasikan constructnya lalu selanjutnya kita deklarasikan objek a dengan $a = func_get_args(); dan juga dengan pendeklarasian objek i dengan $I=func_num_args();
dan
selanjutnya
kita
buat
pengandaian
if(method_exists($this,$f=’.$I)){dan juga kita memanggil niali dari variabel “a” dan variabel “I” dan selanjutnya fuction__construct1($a1){yang mana ini untuk menginisiasi objek a1 lalu nantinya akan dicetak dengan echo”nama saya$1”; yaitu akan memanggil nama yang nanti akan di buat di kode
selanjutnya
begitu
juga
dengan
objek
2
kita
juga
membuat
function__construct2(a1,a2){ yang mana ini merupakan constructor dengan dua parameter yaitu objek a1 dan objek a2 maka akan dikeluarkan dengan echo”nama saya lalu diikuti dengan nama dari objek 1 yang telah dibuat disertai dengan nim dan juga objek 2,lalu kita buat tampilan outputnya dengan membuat
echo”
Data
Mahasiswa/”
dan
kita
inisialisasikan kedua objek agar dapat ditampilkan pada outputnya yaitu “Afrizal Bagas Santoso” dengan
Nim
nim “21120117130075” dan “Lita
“21120117120025”
berikut:
Muflikha” dengan
maka outputannya nanti akan ditampilkan sebagai
6.4.
Tugas
package bakmandi; public class rumus { public public public public
float float float float
panjang; lebar; tinggi; hasil;
public float rumusvol(){ float volume; volume = panjang*lebar*tinggi; hasil = volume; return volume; } public float rumusluas(){ float luas; luas = panjang*lebar 2*(lebar*tinggi); hasil = luas; return luas; } }
+
2*(panjang*tinggi)
+
package bakmandi; import java.util.Scanner; public class volume { float float float rumus
volbakmandi; luasperbakmandi; panjang, lebar, tinggi; ope;
public volume(){ ope = new rumus(); inputData(); } public void inputData(){ Scanner scan = new Scanner (System.in); System.out.println ("Masukan Nilai Panjang : "); panjang = scan.nextInt(); ope.panjang = this.panjang; System.out.println("Masukan Nilai Lebar : "); lebar = scan.nextInt(); ope.lebar = this.lebar; System.out.println("Masukan Nilai Tinggi : "); tinggi = scan.nextInt(); ope.tinggi = this.tinggi; } public void volumebakmandi(){ volbakmandi = (float) 1 *ope.rumusvol (); luasperbakmandi =(float)1 *ope.rumusluas(); } public void hasilvolume(){ System.out.println("Volume Bak Mandi "+volbakmandi); } public void hasilluaspermukaan(){ System.out.println("Luas "+luasperbakmandi); } }
Permukaan
Bak
Mandi
adalah:
adalah:
package bakmandi; public class Bakmandi { public static void main(String[] args) { volume ls = new volume (); ls.volumebakmandi(); ls.hasilvolume(); ls.hasilluaspermukaan(); }
}
Pertama kita membuat class membuat data yang ada pada program ini yaitu Panjang, lebar, tinggi, dan hasil. volumebakmandi digunakan untuk
menampilkan hasil program perhitungan volume bak mandi, kemudian hasilvolume digunakan untuk memanggil fuction rumus volume selanjutnya yang
terakhir hasilluaspermukaan volume.
digunakan untuk memanggil fuction rumus
Gambar 6.6 output tugas pada java
Gambar 6.7 upload tugas pada GitHub
Gambar 6.8 upload tugas pada GitHub
6.5. 1.
Kesimpulan
Memanggil
variable
class
dalam
bahasa
pemrograman
phyton
menggunakan keyword self. 2.
Pada python mengatur encapsulasi digunakan underscore(_) pada awal variable
untuk
menunjukan
bahwa
variable
tersebut
adalah
private,selainnya maka akan dianggap sebagai public. 3.
Di dalam bahasa pemrograman PHP, penulisan class diawali dengan keyword class lalu akan diikuti dengan nama dari kelas.
4.
Penulisan method construct pada PHP di awali dengan syntax function, lalu di ikuti dengan __construct. (double underscore dan construct)Fungsi construct tidak perlu dipanggil lagi pada saat instansiasi karena construct akan di jalankan otomatis jika classnya yang di instansiasi.
5.
Constructor adalah method khusus yang akan dijalankan secara otomatis pada saat sebuah objek dibuat (instansiasi), yakni ketika perintah “new” dijalankan.
6.
Dalam project java terdapat tipe class yaitu driver class, class driver adalah class yang memiliki method main didalamnya,
7.
Object class adalah sebuah class yang menyediakan definisi untuk object yang akan di buat di driver class, class ini dapat di buat sendiri atau menggunakan class yang ada pada Library Java.
8.
Keyword this pada constructor adalah keyword yang menunjukan bahwa variable tersebut mereferensikan dengan variable level class.
9.
Plain Old Java Object, merupakan class yang berdiri sendiri dan tidak memiliki ketergantungan dengan class lain baik itu extends maupun implements.
10.
Default Constructor akan melakukan 3 hal kepada variable class yaitu: -Mengisi semua variable bertipe numeric(float, int, double dsb) menjadi 0. -Mengisi semua variable bertipe boolean menjadi false.
-Mengisi semua varible bertipestring menjadi null.
View more...
Comments