1. Jelaskan apa perbedaan kelas dan objek dalam pemrograman berorientasi objek. Berikan contoh dengan kode sederhana yang menunjukkan hubungan antara kelas dan objek
-Class adalah suatu entitias atau cetakan (Blueprint) yang menggambarkan keadaan dan perilaku dari sesuatu yang logis. Class berisi cetakan fungsi, variabel, dan lain lainnya.
-Objek adalah sebuah instansiasi dari atau perwujudan dari suatu class pada suatu waktu/state yang disimpan pada memory.
-Hubungan class dan objek, bisa dilihat kita membuat sebuah class yang berisi blueprint dari objek yang nantinya akan dibuat. Dengan menginstansiasi objek kita gunakan dari blueprint ClassETS, ClassETS classETS = new ClassETS(10, "Test");.
2. Buatlah Aplikasi CofeeMachine yang menyediakan kopi dengan harga tertentu
publicclassCoffee{
privateString name;
privatefloat cost;
publicCoffee(Stringname, floatcost)
{
this.name= name;
this.cost= cost;
}
publicStringgetName()
{
return name;
}
publicfloatgetCost()
{
return cost;
}
}
publicclassCustomer{
publicStringname;
publicfloatbalance;
publicCustomer(Stringname, floatbalance)
{
this.name=name;
this.balance=balance;
}
publicStringgetName()
{
returnname;
}
publicfloatgetBalance()
{
returnbalance;
}
publicbooleanuseBalance(floatamount)
{
if(amount<0f)
{
System.out.println("Cannot use negative balance amount!");
3. Apa yang dimaksud dengan enkapsulasi dalam pemrograman berorientasi objek? Berikan contoh bagaimana enkapsulasi diterapkan dalam kelas menggunakan modifier private dan method akses (getter dan setter)
Enkapsulasi adalah sebuah konsep yang mengajarkan bagaimana menyembunyikan detail implementasi dari pengguna kelas dan hanya menyediakan antarmuka publik yang diperlukan.. Enkapsulasi dicapai dengan mendeklarasikan variabel suatu kelas menjadi private, yang berarti data tersebut hanya dapat terakses oleh class itu sendiri. Dan jika ingin diakses oleh luar, sebuah getter dan setter yang merupakan sebuah metode public.
Contoh:
publicclassUser{
privateStringname;
privateintage;
privatefloatbalance;
publicUser()
{
}
publicStringgetDisplay()
{
returnname+", age : "+age+" , balance : "+balance;
}
publicvoidsetName(Stringvalue)
{
if(value==null)
{
System.out.println("Cannot set with null name!");
return;
}
this.name=value;
}
publicvoidsetAge(intage)
{
if(age<0)
{
System.out.println("Cannot set a negative age!");
return;
}
this.age=age;
}
publicvoidsetBalance(floatbalance)
{
if(balance<0)
{
System.out.println("Cannot set a negative balance!");
return;
}
this.balance=balance;
}
publicStringgetName()
{
returnname;
}
publicintgetAge()
{
returnage;
}
publicfloatgetBalance()
{
returnbalance;
}
}
publicclassMain{
publicstaticvoidmain(String[] args){
Useruser=newUser();
user.setName("Fajar");
user.setAge(-1);
user.setBalance(-100f);
user.setAge(19);
user.setBalance(9999999f);
System.out.println(user.getDisplay());
}
}
Hasil :
Penjelasan : Bisa dilihat implementasi dari User tidak diperlihatkan. Dan yang hanya diperlihatkan sebuah antarmuka publik yang digunakan untuk memodifikasi dari object tersebut. Sehingga state dari object bisa dipastikan tidak menyimpang dari apa yang diinginkan oleh class tersebut.
4. Buatlah dua kelas BankAccount dan Customer. Setiap objek Customer memiliki akun bank (BankAccount). Buatlah metode dalam Customer yang memungkinkan nasabah untuk melakukan penyetoran (deposit) dan penarikan (withdraw) melalui akun bank mereka. Pastikan interaksi terjadi melalui metode dalam Customer.
publicclassBankAccount{
privateString bankType;
privatefloat balance;
publicBankAccount(StringbankType)
{
this.bankType= bankType;
}
publicbooleandeposit(floatbalance)
{
if(balance <0)
{
returnfalse;
}
this.balance+= balance;
returntrue;
}
publicbooleansetBalance(floatbalance)
{
if(balance <0)
{
returnfalse;
}
this.balance= balance;
returntrue;
}
publicfloatwithdraw(floatamount)
{
if(amount <0)
{
return0f;
}
if(amount > balance)
{
floattempBalance= balance;
setBalance(0);
return tempBalance;
}
setBalance(balance - amount);
return amount;
}
publicfloatgetBalance()
{
return balance;
}
publicStringgetBankType()
{
return bankType;
}
}
publicclassCustomer{
privateStringname;
privateBankAccountbankAccount;
publicCustomer(Stringname, StringbankType)
{
this.name=name;
this.bankAccount=newBankAccount(bankType);
}
publicbooleandeposit(floatamount)
{
if(bankAccount.deposit(amount))
{
System.out.println(name+" ,successfully deposited "+amount+" to bank account "+bankAccount.getBankType());
5. Buatlah Desain Class Diagram untuk Trip Application yang digunakan untuk mengelola perjalanan. Setiap perjalanan memiliki atribut destination, distance, dan costPerKM. Fitur aplikasi sebagai berikut:
Menghitung total biaya perjalanan berdasarkan jarak dan biaya per kilometer.
Menambah penumpang dan mencetak daftar penumpang
Membatalkan perjalanan jika penumpang kurang dari jumlah minimum
Nama : Kadek Fajar Pramartha Yasodana NRP : 5025231185 Email : fajaryasodana@gmail.com Foto Pribadi: CATATAN PERTEMUAN 1 Skill apa yang dibutuhkan untuk menjadi Software Engineer, Tentukan Career Path, Profesi yang bisa dimasuki oleh seorang Software Engineer -Software Engineer merupakan seorang insinyur yang bertugas merancang, mendesain, membuat, dan mengetest sebuah perangkat lunak. Maka dari itu terdapat beberapa skill yang harus dimiliki oleh seorang Software Engineer, antara lain: a. Menguasai bahasa pemrograman b. Menguasai alur perancangan pembuatan software yang baik c. Menguasai dan mengikuti perkembangan tools & framework d. Memiliki skill komunikasi yang baik e. Dapat bertanggung jawab atas software yang telah dibuat -Untuk career path dari seorang software engineer itu sendiri bisa menjadi berbagai macam karena Software Engineer tidak hanya terpacu pada pembuatan software saja, mereka bisa menjadi seo...
Nama : Kadek Fajar Pramartha Yasodana NRP : 5025231185 Kelas : PBO A Abstraksi & Simulasi Fox & Rabit 1. Tuliskan implementasi dari program kecil Abstract Class Makhluk hidup yang diwariskan kepada manusia, hewan, dan tumbuhan Source Code : GitHub Pada soal nomor ini, kita hanya perlu membuat sebuah abstract class makhluk hidup dengan beberapa metode abstrak juga. Setelah itu kita inherit classnya menjadi beberapa subclass Manusia, Hewan, dan Tumbuhan. Terdapat beberapa class seperti MakhlukHidup.java public abstract class MakhlukHidup { protected String name ; public MakhlukHidup (String name) { this . name = name ; } public abstract void doSomething () ; public abstract void grow () ; public abstract void breathe () ; } Class ini merupakan class yang sebagai template sebuah class makhluk hidup. dengan beberapa method yang harus di override oleh subclassnya yaitu doSomething, grow, dan breathe Manusia.java public class Manusia extends M...
Nama : Kadek Fajar Pramartha Yasodana NRP : 5025231185 Kelas : PWEB E Javascript Pada Form Source Code : GitHub Hosting : Vercel 1. Buatlah sebuah form registrasi yang terdiri dari nama mahasiswa, nim, mata kuliah, dan dosen. Form registrasi ini memiliki aturan sebagai berikut. Ketika pengguna sistem akan mengisikan data nama dengan memasukkan huruf tertentu maka akan muncul rekomendasi tertentu. Gunakan referensi di internet ataupun yang lainnya untuk memecahkan kasus tersebut. 2. Buatlah pencarian kode pos Indonesia dengan inputan Provinsi, Kabupaten/ Kota, Kecamatan, kemudian outputnya kode pos dan informasi daerah. 3. Membuat List Dropdown dinamis
Comments
Post a Comment