Anda di halaman 1dari 13

LAPORAN RESMI ALGORITMA

DAN STRUKTUR DATA


(CLASS)
2.TUJUAN
1. Mengetahui mengenai konsep Classdan objek.
2. Mampu mengubah konsep Objek di dunia nyata menjadi objek dalam pemrograman.
3. Memahami cara membuat class.
4. Memahami cara mengakses data member dan method dari class.
3. PERCOBAAN
1. Listing Program :

public class Siswa {


int nrp;
public void setNrp(int i){
nrp=i;
}
}
public class Test {
public static void main(String args[]){
Siswa anak=new Siswa();
anak.nrp = 5;
System.out.println(anak.nrp);
}
}
Outputnya :

Analisa :
Hasil 5 didapatkan dari hasil pembuatan dan penginisialisasian obyek anak dari class Siswa sehingga dapat
mengisi nilai 5 kedalam variabel nrp di class Siswa dan mencetaknya ke dalam screen.

2. Listing Program :

public class Siswa {


int nrp;
public void setNrp(int i) {
nrp=i;
}
}
public class Test {
public static void main(String args[]) {
Siswa anak=new Siswa();
anak.setNrp(5);
System.out.println(anak.nrp);
}
}
Outputnya :

Analisa :
Hasil 5 didapatkan dari hasil pembuatan dan penginisialisasian obyek anak dari class Siswa sehingga dapat
mengisi nilai 5 kedalam variabel nrp di class Siswa dan mencetaknya ke dalam screen.
3. Listing Program :

public class Siswa {


int nrp;
String nama;
public void setNrp(int i) {
nrp=i;
}
public void setNama(String i) {
nama=i;
}
}
public class Test {
public static void main(String args[]) {
Siswa anak=new Siswa();
anak.setNrp(5);
anak.setNama("Budi");
System.out.println(anak.nrp);
System.out.println(anak.nama);
}
}
Outputnya :

Analisa :
Method setNrp dan setNama digunakan untuk mengisikan nilai ke dalam variabel nrp dan nama di class
Siswa.Inputan dari class Test diproses ke argumen int i dan String i. Untuk mencetak nrp dan nama tinggal
panggil variabelnya melalui objek.namavariabel.

4. Listing Program :

class Puppy{
int puppyAge;
public Puppy(String name){
// This constructor has one parameter, name.
System.out.println("Passed Name is :" + name );
}
public void setAge( int age ){
puppyAge = age;
}
public int getAge( ){
System.out.println("Puppy's age is :" + puppyAge );
return puppyAge;
}
public static void main(String []args){
Puppy myPuppy = new Puppy( "tommy" );
myPuppy.setAge( 2 );
myPuppy.getAge( );
System.out.println("Variable Value :" + myPuppy.puppyAge );
}
}
Outputnya :

Analisa :
Nama tommy diambil dari pembuatan dan inisialisasi melalui konstruktor kemudian umur dari puppy
diambil dari pemanggilan method myPuppy.getAge().

5. Listing Program :

class Point {
public double x, y;
Point(double x_value, double y_value) {
x = x_value;
y = y_value;
}
public void clear() {
this.x = 0;
this.y = 0;
}
public double distance(Point that) {
double xDiff = x - that.x;
double yDiff = y - that.y;
return Math.sqrt(xDiff * xDiff + yDiff * yDiff);
}
}
import java.util.*;

public class Main {


public static void main(String[] args) {
double hitung;
Scanner input = new Scanner(System.in);
System.out.println("Masukkan Point X ke-1 : ");
double inputX1 = input.nextDouble();
System.out.println("Masukkan Point Y ke-1 : ");
double inputY1 = input.nextDouble();
Point point = new Point(inputX1, inputY1);
System.out.println("Masukkan Point X ke-2 : ");
double inputX2 = input.nextDouble();
System.out.println("Masukkan Point Y ke-2 : ");
double inputY2 = input.nextDouble();

hitung = point.distance(new Point(inputX2, inputY2));


System.out.println("Hasil Perhitungan : " + hitung);
}
}
Outputnya :
Analisa :
Pertama-tama sebelum menghitung jarak antar dua titik koordinat , harus menginputkan point x dan y
dan nilainya akan masuk ke class Point di objek titik x dan y, kemudian Argumen point that diisi oleh
inisialisasi titik ke 2 dan dapat diakses melalui that.x atau that.y.

6. Listing Program :

class Account{
int a;
int b;
public void setData(int c,int d){
a=c;
b=d;
}
public void showData(){
System.out.println("Value of a ="+a);
System.out.println("Value of b ="+b);
}
}
class ObjectArray{
public static void main(String args[]){
Account obj[] = new Account[2];
obj[0] = new Account();
obj[1] = new Account();
obj[0].setData(1,2);
obj[1].setData(3,4);
System.out.println("For Array Element 0");
obj[0].showData();
System.out.println("For Array Element 1");
obj[1].showData();
}
}
Outputnya :

Analisa :
Method showData() berguna untuk menampilkan value dari array yang berindeks hingga jumlah maksimal
indeksnya.
4.LATIHAN
7. Listing Program :

public class Tabungan {


private int saldo;
public Tabungan(int saldo) {
this.saldo = saldo;
}

public int getSaldo() {


return saldo;
}

public void simpanUang(int jumlah) {


saldo+=jumlah;
}

public boolean ambilUang(int jumlah) {


if(saldo>=jumlah) {
saldo-=jumlah;
return true;
}
else {
return false;
}
}
}
import java.util.*;

public class TesTugas1 {


public static void main(String[] args) {
int tmp;
boolean status;
Tabungan tabungan = new Tabungan(5000);
tmp = tabungan.getSaldo();
System.out.println("Saldo awal : " + tmp);
tabungan.simpanUang(3000);
System.out.println("Jumlah uang yang disimpan : 3000");
status = tabungan.ambilUang(6000);
System.out.print("Jumlah uang yang diambil : 6000 ");
if(status)
System.out.println("ok");
else
System.out.println("gagal");
tabungan.simpanUang(3500);
System.out.println("Jumlah uang yang disimpan : 3500");
status = tabungan.ambilUang(4000);
System.out.print("Jumlah uang yang diambil : 4000 ");
if(status)
System.out.println("ok");
else
System.out.println("gagal");
status = tabungan.ambilUang(1600);
System.out.print("Jumlah uang yang diambil : 1600 ");
if(status)
System.out.println("ok");
else
System.out.println("gagal");
tabungan.simpanUang(2000);
System.out.println("Jumlah uang yang disimpan : 2000");
System.out.println("Saldo sekarang = " + tabungan.getSaldo());
}
}
Outputnya :

Analisa :
Untuk mengisi saldo awal dapat menggunakan konstruktor dan memberikan nilainya yang akan masuk ke
class Tabungan. Setelah itu untuk pengambilan uang digunakan method ambil uang yang bertipe boolean
dan menampung nilai return true atau false

8. Listing Program :

public class Tabungan {


private int saldo;
public Tabungan(int saldo) {
this.saldo = saldo;
}

public int getSaldo() {


return saldo;
}

public void simpanUang(int jumlah) {


saldo+=jumlah;
}

public boolean ambilUang(int jumlah) {


if(saldo>=jumlah) {
saldo-=jumlah;
return true;
}
else {
return false;
}
}

public boolean transfer(Tabungan tab, int jumlah) {


Tabungan tabungan = (Tabungan) tab;
return tabungan.ambilUang(jumlah);
}
}
import java.util.*;
public class TesTugas2 {
public static void main(String[] args) {
int tmp;
boolean status;
Tabungan tab = new Tabungan(5000);
tmp = tab.getSaldo();
System.out.println("Saldo awal : " + tmp);
tab.simpanUang(3000);
System.out.println("Jumlah uang yang disimpan : 3000");
status = tab.ambilUang(6000);
System.out.print("Jumlah uang yang diambil : 6000 ");
if(status)
System.out.println("ok");
else
System.out.println("gagal");
tab.simpanUang(3500);
System.out.println("Jumlah uang yang disimpan : 3500");
status = tab.ambilUang(4000);
System.out.print("Jumlah uang yang diambil : 4000 ");
if(status)
System.out.println("ok");
else
System.out.println("gagal");
status = tab.ambilUang(1600);
System.out.print("Jumlah uang yang diambil : 1600 ");
if(status)
System.out.println("ok");
else
System.out.println("gagal");
tab.simpanUang(2000);
System.out.println("Jumlah uang yang disimpan : 2000");
System.out.println("Saldo sekarang = " + tab.getSaldo());
System.out.println("Jumlah uang yang ditransfer : 2500");
status = tab.transfer(tab, 2500);
if(status) {
System.out.println("Transfer Sukses ! 2000 telah ditransfer ke
rekening yang anda tuju");
System.out.println("Jumlah Uang Anda sekarang = " + tab.getSaldo());
}
else
System.out.println("Saldo Tidak Cukup");
}
}
Outputnya :
Analisa :
Penggunaan metode Transfer dengan metode ambilUang perbedaannya adalah metode transfer
mengakses class tabungan melalui argumen Tabungan tab sedangkan ambil

9. Listing Program :

public class Lingkaran {


double jari;
double phi = 3.14;
public Lingkaran(double r) {
this.jari=r;
}

public void setjari(double r) {


this.jari=r;
}

public double getjari() {


return this.jari;
}

public double getdiameter() {


return this.jari*2;
}

public double getluas() {


return phi*this.jari*this.jari;
}

public double getkeliling() {


return 2*phi*this.jari;
}
}
import java.util.*;

public class Latihan3 {


public static void main(String[] args) {
double objek3;
Scanner inputangka = new Scanner(System.in);
Lingkaran lkr = new Lingkaran(5);
System.out.println("Obyek lingkaran 1 dengan jari-jari " + lkr.getjari()
+ " | Luas & Keliling : " + lkr.getluas() + " & " + lkr.getkeliling());
lkr.setjari(7.5);
System.out.println("Obyek lingkaran 2 dengan jari-jari " + lkr.getjari()
+ " | Luas & Keliling : " + lkr.getluas() + " & " + lkr.getkeliling());
System.out.print("Masukkan Jari-jari : ");
objek3 = inputangka.nextDouble();
lkr.setjari(objek3);
System.out.println("Obyek lingkaran 3 dengan jari-jari " + lkr.getjari()
+ " | Luas & Keliling : " + lkr.getluas() + " & " + lkr.getkeliling());
}
}
Outputnya :

Analisa :
Untuk menghitung luas dan keliling lingkaran yang berjumlah 3 , digunakan hanya satu objek saja yaitu lkr
atau singkatan dari lingkaran Tahap pertama adalah memberikan nilai jari-jari melalui pemanggilan
method setjari. Kemudian mencetak jari-jari dan luas beserta keliling. Luas dan keliling didapatkan dari
nilai return method getluas dan getkeliling class Lingkaran dan dalam method tersebut terdapat rumus
mencari luas dan keliling.

10. Listing Program :

public class Lingkaran {


double x,y,result,jari;
public Lingkaran(double r,double x, double y) {
this.jari=r;
this.x=x;
this.y=y;
}

public void setnilai(double r,double x, double y) {


this.jari=r;
this.x=x;
this.y=y;
}

public double getjari() {


return this.jari;
}

public double getx() {


return this.x;
}

public double gety() {


return this.y;
}

public boolean bersinggungan(Lingkaran lingkaran) {


double selisihx = x - lingkaran.x;
double selisihy = y - lingkaran.y;
result = Math.sqrt(selisihx * selisihx + selisihy * selisihy);
if(result==(x+lingkaran.x))
return true;
else
return false;
}
}
import java.util.*;

public class Latihan4 {


public static void main(String[] args) {
double lingkaran1,lingkaran2;
boolean jarak=true;
Scanner inputangka = new Scanner(System.in);
Lingkaran lkr = new Lingkaran(0,0,0);
System.out.println("Obyek lingkaran 1 dengan jari-jari 2 dan titik pusat
(2,2)");
System.out.println("Obyek lingkaran 2 dengan jari-jari 1 dan titik pusat
(7,1)");
System.out.println("Obyek lingkaran 3 dengan jari-jari 1.5 dan titik
pusat (4.1,5)");
System.out.print("Pilih 2 lingkaran yang ingin dicek
kesinggungannya\nPilih lingkaran pertama : ");
lingkaran1 = inputangka.nextDouble();
if(lingkaran1==1) {
lkr.setnilai(2,2,2);
}
else if(lingkaran1==2) {
lkr.setnilai(1,7,1);
}
else if(lingkaran1==3) {
lkr.setnilai(1.5,4.1,5);
}
else {
System.out.println("Salah Input!");
}
System.out.print("Pilih lingkaran kedua : ");
lingkaran2 = inputangka.nextDouble();
if(lingkaran2==1) {
jarak = lkr.bersinggungan(new Lingkaran(2,2,2));
}
else if(lingkaran2==2) {
jarak = lkr.bersinggungan(new Lingkaran(1,7,1));
}
else if(lingkaran2==3) {
jarak = lkr.bersinggungan(new Lingkaran(1.5,4.1,5));
}
else {
System.out.println("Salah Input!");
}

if(jarak)
System.out.println("Obyek lingkaran " + lingkaran1 + " dengan obyek
lingkaran " + lingkaran2 + " bersinggungan");
else
System.out.println("Obyek lingkaran " + lingkaran1 + " dengan obyek
lingkaran " + lingkaran2 + " tidak bersinggungan");
}
}
Outputnya :

Analisa :
Untuk mengetahui dua lingkaran saling bersinggungan atau tidak. Pertama-tama harus men-set jari-jari
dan titik x dan y lingkaran keduanya. Kemudian membuat inisialisasi terhadap lingkaran kedua seperti
lingkaran pertama dan memanggil method lkr.bersinggungan yang bertipe boolean untuk mendapatkan
nilai return atau falsenya. Jika yang didapatkan adalah true maka kedua lingkaran tersebut bersinggungan.
Jika tidak, maka tidak bersinggungan.

5.KESIMPULAN
Class dan obyek sangat berkaitan erat dengan kehidupan sehari-hari manusia. Class sebagai tempat untuk
menampung objek sedangkan objek sendiri hasil instansiasi dari sebuah kelas. Dalam satu aplikasi , bisa terdiri
dari hanya satu kelas ataupun beberapa kelas yang memiliki karakter atau kegunaan sendiri-sendiri.

Anda mungkin juga menyukai