LAPORAN SQA 10

advertisement
LAPORAN PRAKTIKUM
SOFTWARE QUALITY ASSURANCE
12
PERTEMUAN KE – 10
“ REFACTORING “
Disusun oleh :
BUJANG PUTRO WICAKSONO
135610046
JURUSAN SISTEM INFORMASI
SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER
AKAKOM YOGYAKARTA
2015
SOFTWARE QUALITY ASSURANCE
PERTEMUAN KE – 10
“ REFACTORING “
A. MANFAAT DAN TUJUAN
Dari pelaksanaan praktikum SQA Pertemuan 10 yang membahas tentang
Refactoring memiliki manfaat dan tujuan agar mahasiswa memahami pengertian
refactoring serta peran dari refactoring dalam peningkatan kualitas software,
memahami jenis-jenis refactoring pada IDE NetBeans, mahasiswa juga mampu
melakukan proses refactoring.
B. PEMBAHASAN
 Pembahasan Gambar Pertama  Buat project baru di Netbeans
Gambar diatas merupakan proses setelah membuka Netbeans, lalu melakukan
pembuatan project baru dengan nama  Mod_10
 Pembahasan
Gambar Kedua  membuat class hello.java di package
Mod_10
Gambar diatas merupakan proses membuka jendela  New Java Class,
dalam jendela diatas digunakan untuk membuat kelas java baru bernama 
hello.java yang akan diletakkan didalam package Mod_10.
 Pembahasan Gambar Ketiga  Mengetikkan script pada hello.java
Gambar diatas merupakan proses pembuatan script yang ada didalam file
hello.java yang memuat script sebagai berikut :
package mod_10;
public class Hello {
public static void main(String args[]){
System.out.println("Hello this is my first java program");
} }
 Pembahasan Gambar Keempat  melakukan Running pada hello.java
Gambar diatas merupakan proses Running pada file hello.java, dan hasilnya
tidak ditemukan error. Maka pada proses running tersebut menampilkan kalimat yang
berada pada sintak System.out.println yaitu  Hello this is my first java
program
 Pembahasan Gambar Kelima  Refactor dari Mod_10 menjadi vehicles
Gambar diatas merupakan proses melakukan Refactoring pada package yang
memiliki nama awal yaitu Mod_10 diubah agar berganti nama menjadi  vehicles.
Gambar sebelah kanan menunjukkan bahwa package dengan nama Mod_10 sudah
tidak terlihat, namun yang ada yaitu package vehicles dengan isi didalamnya yaitu
hello.java
 Pembahasan Gambar Keenam  menambahkan java class Bicycle.java
Gambar diatas merupakan proses membuka jendela  New Java Class,
dalam jendela diatas digunakan untuk membuat kelas java baru bernama 
Bicycle.java yang akan diletakkan didalam package vehicles.
 Pembahasan Gambar Ketujuh  Mengetikkan script pada Bicycle.java
<< … Script Lanjutan... >>
Gambar diatas merupakan proses pembuatan script yang ada didalam file
Bicycle.java yang memuat script sebagai berikut :
package vehicles;
public class Bicycle {
// the Bicycle class has three fields
public int cadence;
public int gear;
public int speed;
// the Bicycle class has one constructor
public Bicycle(int startCadence, int startSpeed, int startGear) {
gear = startGear;
cadence
= startCadence;
.
speed = startSpeed;
}
// the Bicycle class has four methods
public void setCadence(int newValue) {
cadence = newValue;
}
public void setGear(int newValue) {
gear = newValue;
}
public void setSpeed(int newValue) {
speed = newValue;
}
public int getGear() {
return gear;
}
public int getCadence() {
return cadence;
}
public int getSpeed() {
return speed;
}
public void applyBrake(int decrement) {
speed -= decrement;
}
public void speedUp(int increment) {
speed += increment;
}
}
 Pembahasan Gambar Kedelapan  melakukan Running pada Bicycle.java
Gambar diatas merupakan proses Running pada file Bicycle.java, dan
hasilnya tidak ditemukan error. Maka pada proses running tersebut menampilkan
kalimat  We have a new bicycle wth speed = 20, cadence = 10, gear = 1
 Pembahasan Gambar Kesembilan  Mengetikkan script pada bicyclemain.java
Gambar diatas merupakan proses pembuatan script yang ada didalam file
bicyclemain.java yang memuat script sebagai berikut :
package vehicles;
import bujangpw.Bicycle;
public class bicyclemain {
public static void main (String args[]) {
Bicycle Bike = new Bicycle(10, 20, 1);
System.out.println("We have a new bicycle wth speed = " +
.
Bike.getSpeed()
+ ", cadence = " + Bike.getCadence() + ", gear
= " + Bike.getGear());
}
}
 Pembahasan Gambar Kesepuluh  melakukan Running pada file
bicyclemain.java
Gambar diatas merupakan proses Running pada file bicyclemain.java,
dan hasilnya tidak ditemukan error. Maka pada proses running tersebut
menampilkan kalimat  We have a new bicycle wth speed = 20, cadence = 10,
gear = 1
 Pembahasan Gambar Kesebelas  melakukan Refactoring gear menjadi
bicygear.
Gambar diatas merupakan proses melakukan Refactoring yang digunakan
untuk melakukan penggantian kalimat yang awalnya  gear menjadi bicygear
seperti melakuakn replace, sehingga dimanapun ada kata gear akan berganti
menjadi bicygear.
 Pembahasan Gambar Keduabelas  pemindahan file bicycle.java dari
package vehicles ke package bujangpw
Gambar diatas merupakan proses melakukan pemindahan file, yaitu file
Bicycle.java yang awalnya berada didalam package vehicles kemudian dilakukan
pemindahan (move to) package bujangpw.
Berikut ini adalah bukti bahwa file Bicycle.java yang awalnya terletak di
package vehicles sudah berpindah ke package bujangpw
 Pembahasan Gambar Ketigabelas  Kembali melakukan Running pada
bicyclemain.java
Gambar diatas merupakan proses Running pada file bicyclemain.java,
dan hasilnya tidak ditemukan error. Maka pada proses running tersebut
menampilkan kalimat  We have a new bicycle wth speed = 20, cadence = 10,
gear = 1
 Pembahasan Gambar Keempatbelas  Melakukan Refactor Copy file
hello.java yang akan dicopy dengan nama yang berbeda yaitu hello1.java
Gambar diatas merupakan proses melakukan Refactor Copy terhadap file
hello.java yang akan dicopy atau digandakan dengan nama yang berbeda yaitu
hello1.java yang masih terletak didalam package vehicles dan project Mod_10.
Berikut ini adalah bukti bahwa file hello.java sudah dicopy / digandakan
dengan nama lain yaitu hello1.java yang terletak persis dibawahnya dikarenakan
masih terletak didalam package vehicles dan project Mod_10.
 Pembahasan Gambar Kelimabelas  Refactor Safely Delete file hello1.java.
Gambar diatas merupakan proses melakukan Refactor Safely Delete
terhadap file hello1.java.
Kemudian gambar dibawah ini adalah bukti file hello1.java sudah Terhapus dan
tidak ada didalam package vehicles maupun didalam project Mod_10.
C. TUGAS
Soal  Carilah source code di Internet tentang inner class. Gunakan NetBeans untuk
mengeluarkan inner class tersebut keluar menjadi suatu kelas tersendiri.
 Pengertian Inner Class
Inner class adalah class yang didefinisikan di dalam suatu class (outer
class). Inner Class adalah kelas yang disisipkan di dalam kelas yang lain. Fungsi
kelas sisipan ini adalah mendukung suatu proses yang akan dijalankan oleh kelas
utamanya. Inner Class bersifat tersarang terhadap kelas - kelas utamanya, seperti
halnya blok penyeleksian (if, for) yang tersarang pada blok penyeleksian lainnya
atau method yang tersarang pada method lainnya.
Ada 2 keuntungan penggunaan inner class:

Membuat outer class menjadi lengkap dan independen tanpa bantuan class
lain dalam operasinya.

Methods milik outer class dan inner class memiliki akses terhadap private
methods dan private instance variables satu sama lain.
 Source Code Program yang memuat penerapan Inner Class
package Bujang_Pw_10046;
import java.util.Scanner;
public class inner {
private static Scanner baca = new Scanner(System.in);
public static void main(String[] args) {
Satu s = new Satu();
Satu.Dua sd = s.new Dua();
int a, b;
//persegi
System.out.println("=== Menghitung Luas Persegi ===");
System.out.println();
System.out.print("Masukkan sisi persegi = ");
a = baca.nextInt();
s.setA(a);
System.out.println("Luas PERSEGI = "+s.Persegi());
System.out.println("\n\n");
//persegi panjang
System.out.println("=== Menghitung Luas Persegi Panjang ===");
System.out.println();
System.out.print("Masukkan Panjang = ");
a = baca.nextInt();
System.out.print("Masukkan Lebar = ");
b = baca.nextInt();
sd.setA(a);
sd.setB(b);
System.out.println("Luas PERSEGI PANJANG =
"+sd.PersegiPanjang());
System.out.print("\n\nPress any key to continue . . . "); }
}
class Satu {
protected int a,b;
public void setA(int x) {
this.a = x;
}
public int GetA() {
return a; }
public void setB(int y) {
this.b = y;}
public int GetB() {
return b;}
public int Persegi() {
return GetA()*4; }
class Dua extends Satu {
public int PersegiPanjang() {
return GetA()*GetB();
} } }
 Hasil Tampilan
 Sumber Pengambilan Source Code Program
https://sangwidy.wordpress.com/web-design/oop-2/5-inner-class-abstrakclass/inner-class/
D. LISTING
Terlampir
E. KESIMPULAN
Dari pelaksanaan praktikum SQA Pertemuan 10 yang membahas tentang
Refactoring maka dapat diambil simpulan bahwa mahasiswa memahami pengertian
refactoring serta peran dari refactoring dalam peningkatan kualitas software,
memahami jenis-jenis refactoring pada IDE NetBeans, mampu melakukan proses
refactoring.
Download