Anda di halaman 1dari 19

LAPORAN II

PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK


Disusun untuk Memenuhi Matakuliah Praktikum Pemrograman Berbasis Objek Yang
Dibimbing oleh Heru Wahyu Herwanto, S.T., M.OM
!sisten Praktikum"
#uth $ma %ebrita
Muhamma& !ri'in
Oleh"
Septa Dwi Maulidina
1105!0"5#
S1 PTI $011 %&&e'in( E
UNI)ERSITAS NEGERI MALANG
*AKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
S1 PENDIDIKAN TEKNIK IN*ORMATIKA
O+t%,e'- $01$
(!PO#!) $ *
+P$),$)!(!) D!S!# P$M#O,#!M!) -!.! //+
!.T0-0!)
1. Mahasiswa mam2u membuat 3lass sen&iri
*. Mahasiswa mam2u men&eklarasikan atribut metho& 2a&a 3lass
4. Mahasiswa mam2u menera2kan o5erloa&e& metho&
B. D!S!# T$O#/
a. /la00
6lass a&alah suatu 'rame yang meru2akan &e'inisi yang memuat &ata &an meto&
2engolah &ata. Di&alam -a5a kita ti&ak bisa sembarangan membuat, men3i2takan
atau mewuju&kan suatu obje3t tan2a &i&asarkan 2a&a konse273etakan73lass. Oleh
karena itu -a5a a&alah bahasa 2emrograman yang murni berorientasi obje3t atau
&engan kata lain semua 2ekerjaan yang &ikerjakan menggunakan bahasa -a5a
harus &ilakukan &i&alam 3lass.
,. O,1e2t
Meru2akan sekum2ulan so'tware yang ter&iri &ari 5ariable &an metho&8metho&
yang saling terkait. Dimana obje3t saling berinteraksi &engan saling memanggil
meto&e &ari satu obje3t ke obje3t lainnya.
2. Att'i,ute
d. S2%%pe )a'ia,le
Menentukan sebera2a luas 5ariable &a2at &iakses . #uang lingku2 atau s3oo2e
suatu 5ariable meru2akan 2enem2atan lokasi &imana 5ariable tersebut
&i&eklarasikan &an &a2at berlaku.
e. O3e'l%adin( Met4%d0
Memebuat metho& yang sama namun &a2at memiliki 'ungsi yang berbe&a .
&. Input5Output
/n2ut &an out2ut &alam ja5a meru2akan system &iaman kita bisa memasukkan
in2utan nama &engan menggunakan tambahan im2ort.ja5a.io9:.
6. (!T/H!)
1. (atihan 1
a. Tulis 3lass berikut &an sim2an &engan nama Mahasiswa.ja5a
b. om2ilasi &an jalankan 2rogram tersebut
public class Mahasiswa{ // mendefinisikan class mahasiswa
public String nama;
public int angkatan;
public String asal;
public Mahasiswa(){
nama = "Ani";
angkatan = 2!;
asal = "Magelang";
"
public #$id ubah(String nm% int ak% String as){
nama = nm;
angkatan = ak;
asal = as;
"
public #$id cetak(){
S&stem'$ut'println("nama ( ")nama);
S&stem'$ut'println("angkatan ( ")angkatan);
S&stem'$ut'println("asal ( ")asal);
"
"
3. Print S3reen
&. Tulis 2rogram berikut , sim2an &engan nama TestMahasiswa.ja5a 2a&a 'ol&er
yang sama &engan 3lass Mahasiswa &iatas.
e. 6om2ilasi &an jalankan
'. Ou2ut 2rogram &iatas a&alah
g. Buat &ua obje3t lagi &engan nama MahasiswaPT/ &an MahasiswaPT$
h. 0bah &ata ke&ua obje3t tersebut
i. Panggil 'ungsi 3etak untuk ke&ua objek tersebut
j. Program test yang telah &ire5isi
k. eluaran 2rogram tersebut
public class *estMahasiswa{
public static #$id main(String+,sand&){
Mahasiswa M-S = new Mahasiswa();
Mahasiswa .*/ = new Mahasiswa();
Mahasiswa .*0 = new Mahasiswa();
S&stem'$ut'println("1n/203*/*AS A4A5 ( ");
M-S'cetak();
M-S'ubah("2ani"%2!%"Madiun");
.*/'ubah("2hiena"%2!!%"Malang");
.*0'ubah("2imas"%2!2%"Malang");
S&stem'$ut'println("1n/203*/*AS A6-/7 ( ");
M-S'cetak();
.*/'cetak();
.*0'cetak();
"
"
*. (atihan
a. Tulis &an sim2an 2rogram berikut
/8Septa 2wi Maulidina
!!9::;:<9=
S! .*/0 2!!
8/
class 5ingkup{
//#ariabel instan
String sifat = "Marah";
//met$de
#$id inf$5ingkup(){
String sifat = "Malu";
S&stem'$ut'println("sifat pada meth$d ( ")sifat);
S&stem'$ut'println("Sifat Milik 6elas ( ")this'sifat);
"
"
b. Tulis &an sim2an 2rogram berikut
public class *est5ingkup{
public static #$id main(String+,sand&){
5ingkup #ar> = new 5ingkup();
#ar>'inf$5ingkup();
"
"
3. 6om2ilasi Test(ingku2.ja5a
&. !mati 'ol&er 2enyim2anan &ata, 3lass yang terbentuk a&alah
Ter&a2at 'ile baru ber8ektensi ;.3lass+ &ari ke&ua 'ile ;.ja5a+ yang ta&inya kita buat yaitu
Test(ingku2.3lass &an (ingku2.3lass
e. -alankan 2rogram tersebut, maka out2ut 2rogram a&alah
'. %ungsi &ari kata kun3i t4i0 a&alah &igunakan 2a&a 2embuatan 3lass &an
menyatakan objek sekarang. !gar ti&ak a&a 5ariabel yang sama
4. (atihan
a. Tulis &an sim2an 2rogram berikut
/8Septa 2wi Maulidina
!!9::;:<9=
S! .*/0 2!!
8/
class Sc$$pe{
//#ariabel instan
int angka = 2;
//Met$de
#$id inf$Sc$$pe(){
int angka! = !2;
S&stem'$ut'println("angka di meth$d ( ")angka!);
S&stem'$ut'println("angka di kelas ( ")this'angka);
int m$dulus = angka ? angka!;
S&stem'$ut'println("sisa hasil ( ")m$dulus);
fl$at bagi = angka / angka!;
S&stem'$ut'println("hasil bagi ( ")bagi);
"
"
,. Tulis &an sim2an 2rogram berikut
public class *estSc$$pe{
public static #$id main(String+,sand&){
Sc$$pe #ar>=new Sc$$pe();
#ar>'inf$Sc$$pe();
"
"
2. 6om2ilasi S2%%pe.1a3a
d. !mati 'ol&er 2enyim2anan &ata, 3lass yang terbentuk
Ter&a2at 'ile baru ber8ektensi ;.3lass+ &ari ke&ua 'ile ;.ja5a+ yang ta&inya kita buat yaitu
TestS3oo2e.3lass &an S3oo2e.3lass
e. -alankan 2rogram tersebut, maka out2ut 2rogram a&alah
&. Menga2a angka yang ter&a2at 2a&a metho& &an 3lass &a2at &ibagi <
arena 5ariable angka bersi'at global , sehingga 2a&a metho& &i2roses &engan
angka1 sebagai 5ariable lokal
(. Bagaimana 3ara menam2ilkan hasil bagi = 1.> < ?isi 5ariable teta2@
Dalam 2rogram ter&a2at 3o&e new- new ber'ungsi untuk menam2ilkan &ata yang
ter&a2at 2a&a S3oo2e.ja5a, saat 3lass TestS3oo2e.ja5a &i2anggil. Se&angkan untuk
menam2ilkan hasil bagi = 1.A ?&imana isi 5ariabel teta2 a&alah menambahkan
ty2e &ata float sebelum 'ormula bagi@, !gar hasil &a2at menja&i nilai yang su&ah
&ibulatkan maka kita harus menyisi2kan ;im2ort ja5a.util.9: ; &an ganti 2a&a S.o.2 hasil
bagi menja&i ; System.out.2rint'?Bhasil bagi "C.1' CnB,bagi@: +
!ngka yang ter&a2at 2a&a 3lass su&ah &i akses oleh metho& &engan menggunakan
kata kun3i this &an atau nama 5ariable yang a&a &i &alam 3lass ti&ak sama &engan
yang a&a &i metho&. -ika ingin agar hasil bagi = 1.> atau 5ariabel teta2 maka
ubahlah nama 5ariable &i metho& menja&i ;angka+ &an hilangkan kata kun3i this.
D. (atihan
a. Tulis &an sim2an 2rogram berikut
/8Septa 2wi Maulidina
!!9::;:<9=
S! .*/0 2!!
8/
imp$rt @a#a'i$'8;
public class 7ep$rt{
public static String baca/nputan(){
String baca="";
/nputStream7eader input = new /nputStream7eader (S&stem'in);
Auffered7eader buf = new Auffered7eader (input);
tr&{
baca = buf'read5ine();
"catch( /B0>cepti$n e ){
S&stem'$ut'println("0rr$rC");
"
return baca;
"
public static #$id main(String+,sand&){
//digunakan untuk menangkap e>cepti$n'
String name="";
int nilaiMatematika;
int nilaiDisika;
int nilai6imia;
S&stem'$ut'print("Masukkan nama ( ");
name=baca/nputan();
S&stem'$ut'print("masukkan 3ilai Matematika ( ");
nilaiMatematika=/nteger'parse/nt(baca/nputan());
S&stem'$ut'print("Masukkan nilai Disika ( ");
nilaiDisika=/nteger'parse/nt(baca/nputan());
S&stem'$ut'print("masukkan 3ilai 6imia ( ");
nilai6imia=/nteger'parse/nt(baca/nputan());
S&stem'$ut'print("1nEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
E1n");
S&stem'$ut'println("")name);
S&stem'$ut'println("3ilai 6amu adalah");
S&stem'$ut'println("Matematika")nilaiMatematika);
S&stem'$ut'println("Disika")nilaiDisika);
S&stem'$ut'println("kimia")nilai6imia);
"
"
b. Out2ut 2rogram &iatas a&alah "
E. (atihan
a. Tulis &an sim2an 2rogram berikut
imp$rt @a#a'i$'8;
public class .ersegi{
public static #$id main(String+,sand&){
Auffered7eader data = new Auffered7eader(new
/nputStream7eader(S&stem'in));
String > ="";
int hitung5uas=;
S&stem'$ut'println("EE 5uas .ersegi EE");
S&stem'$ut'println("Masukkan 3ilai Sisi ( ");
tr&{
> = data'read5ine();
int angka = /nteger'parse/nt(>);
hitung5uas = angka 8 angka;
" catch (0>cepti$n e){
S&stem'$ut'println("0rr$r");
"
S&stem'$ut'println("5uas .ersegi dengan
sisi")>)"adalah")hitung5uas);
"
"
b. Out2ut 2rogram &iatas a&alah
D.T0,!S P#!T/0M ? S6#/PT D!) H!S/(@
1. Buatlah 2rogram o5erloa&ing &engan 2otongan 2rogram 2a&a mo&ul
a. S3ri2t
//3ama ( Septa 2wi Maulidina
//3/M ( !!9::;:<9=
public class B#erl$ading{ //nama class
static int tambah(int a% int b){
return a)b;
"
static d$uble tambah (d$uble a% d$uble b){
return a)b;
"
static int tambah( int a% int b% int c){
return a)b)c;
"
public static #$id main(String+,args){
//deklarasi #ariabel
int a=:;
int b=;;
int c ==;
d$uble d ='9;
S&stem'$ut'println("!' ")tambah(a%b)); //menampilkan
hasil pen@umlahan
S&stem'$ut'println("2' a(:))b(;) =
")tambah(a%b));//menampilkan nilai #ariabel a dan nilai
#ariabel b dengan hasil pen@umlahan dari nilai a dan b
S&stem'$ut'println(":' " )tambah
(a%b%c));//menampilkan hasil pen@umlahan semua
S&stem'$ut'println(";' ")(tambah(a%b%c)Ed));//menampilkan
hasil pen@umlahan dan pengurangan
"
"
b. Print S3reen
3. Penjelasan
Publi3 3lass O5erloa&ing meru2akan nama 3lass
Baris berikutnya meru2akan baris &imana menjumlahkan a &an b &engan
ti2e integer , integer meru2akan ti2e &ata bilangan bulat
Baris berikutnya meru2akan baris &imana menjumlahkan a &an b &engan
ti2e &ata &ouble , &ouble meru2akan ti2e &ata bilangan riil. ?biasanya
&engan &e'ault koma atau 2e3ahan atau &e3imal &iangga2 &ouble@
Baris berikutnya meru2akan baris &engan ti2e integer , yang &igunakan
untuk menjumlahkan a , b &an 3.
Se&angkan 3o&e &alam 2ubli3 stati3 5oi& main , ter&a2at a, b, &an 3 yang
berti2e &ata integer &engan nilai 4, D, &an > . Se&angkan 5ariable &engan
ti2e &ouble bernilai A,E.
Baris yang ter&iri &ari system.out.2rintln 1 &igunakan untuk
menjumlahkan nilai a &an b , se&angkan untuk baris selanjutnya juga
untuk menjumlahkan nilai a &an b. Baris ke 4 menjumlahkan nilai a, b ,
&an 3 . Se&angkan baris terakhir &igunakan untuk menjumlahkan a , b ,
&an 3 kemu&ian &ikurangi &engan nilai &.
*. Program konse2 in2ut7out2ut
a. S3ri2t
public class A$$lean {
public static #$id main(String+, args) {
b$$lean b = true;
S&stem'$ut'println("3ilai b = ")b);
S&stem'$ut'println("Statement Awal dieksekusi");
if (b = false) b = true;
S&stem'$ut'println("3ilai b = ")b);
S&stem'$ut'println("Statement Akhir dieksekusi");
if (b=(2 F= G)) b = true;
S&stem'$ut'println("2 F= G mengembalikan nilai ")b);
if (b=(: H I)) b = true;
S&stem'$ut'println(": H I mengembalikan nilai ")b);
if (b=(I F= I)) b = true;
S&stem'$ut'println("I F= I mengembalikan nilai ")b);
"
"
3. Print S3reen
4. Program konse2 in2ut7out2ut
a. S3ri2t
imp$rt @a#a'i$'8;
public class *ugas*iga{
public static String baca/nputan(){
String baca="";
/nputStream7eader input = new /nputStream7eader
(S&stem'in);
Auffered7eader buf = new Auffered7eader (input);
tr&{
baca = buf'read5ine();
"catch( /B0>cepti$n e ){
S&stem'$ut'println("0rr$rC");
"
return baca;
"
public static #$id main(String+,args){
//digunakan untuk menangkap e>cepti$n
String name=""%karakter="";
S&stem'$ut'print(".lease /nput J$ur 3ame ( ");
name=baca/nputan();
S&stem'$ut'print(".lease /nput J$ur Kharacter ( ");
karakter=baca/nputan();
S&stem'$ut'println("-ell$'''M& 3ame is ")name);
S&stem'$ut'println("/Lm a #er& ")karakter)"
pers$n'");
"
"
b. Print S3reen
3. Penjelasan
Baris im2ort ja5a.io.9: &igunakan untuk men&a2atkan in2utan
Publi3 3lass TugasTiga meru2akan nama 3lass
Baris selanjutnya &igunakan untuk memba3a in2utan &ari user.
$. T0,!S #0M!H ? S6#/PT D!) H!S/(@
1. Out2ut Segitiga
a. S3ri2t
public class *7!{
public static #$id main(String+, args){
int i ;
int @ ;
int k ;
S&stem'$ut'println("Segitiga *erbalik");
f$r (i=;iF=<;i)))
{
S&stem'$ut'printf(" ");
f$r (@=;@Fi;@))){
S&stem'$ut'printf(" ");
"
f$r (k=<;kHi;kEE){
S&stem'$ut'printf("8 ");
"
S&stem'$ut'println("");
"
S&stem'$ut'println("Segitiga Sisi");
//pr$ses pembentukan segitiga bintang
f$r (i=;iF=<;i)))
{
S&stem'$ut'printf(" ");
f$r (@=;@Fi;@))){
S&stem'$ut'printf("8");
"
S&stem'$ut'println(" ");
"
S&stem'$ut'println("1n");
"
"
b. Print S3reen
3. Penjelasan
Baris 2ertama 3o&e 2ubli3 3lass #a2or meru2akan nama 3lass . 6lass
menggunakan a33ess mo&i'ier 2ubli3 , yang berarti 3lass mem2unyai
akses bebas ke 3lass lain &ari 2a3kage yang lain 2ula.
Baris berikutnya F meru2akan awal blok .
Baris selanjutnya 3o&e stati3 5oi& main?String GHargs@ , meru2akan nama
suatu metho& &alam 3lass #a2or sebagai metho& utama .
.ariabel mat , bi , bingg mem2unyai ti2e &ata integer.
Pa&a baris selanjutnya menjumlahkan nilai mat , bi , &an bingg &engan
o2erasi 2enjumlahan &an kemu&ian membaginya &engan 4 , &imana
&i&a2at hasil I4 sebagai nilai rata8rata.
Baris yang ter&iri &ari J meru2akan akhir &ari blok metho& main sebuah
3lass.
*. /n2utan angka &an huru'
a. S3ri2t
/8
3ama ( Septa 2wi Maulidina
!!9::;:<9=
8/
imp$rt @a#a'i$'8;//digunakan untuk pengiputan data dengan
menggunakan fungsi /nputStream7eader dan Auffered 7eader
public class *72{
public static String inputan(){
String baca=" ";
/nputStream7eader input = new
/nputStream7eader(S&stem'in);
Auffered7eader buf = new Auffered7eader (input);
tr&{
baca=buf'read5ine();
"catch (/B0>cepti$n e) {
S&stem'$ut'println("0rr$r");
"
return baca;
"
public static #$id main(String+, args){
String kalimat=" ";
int b; //deklarasi #ariabel b
S&stem'$ut'print("/nput string( "); //input string
kalimat=inputan(); //data inputan dari user
S&stem'$ut'print("/nput angka( "); //input @umlah angka
b=/nteger'parse/nt(inputan()); //nilai b dari inputan %
integer
f$r(int a=!;aF=b;a))) //perulangan untuk a dari ! sampai
b'
S&stem'$ut'println(" " ) b ) kalimat); //$utput hasil
"
"
b. Print S3reen
3. Penjelasan
imp$rt @a#a'i$'8; % Digunakan untuk 2engi2utan &ata &engan
menggunakan 'ungsi /n2utStream#ea&er &an Bu''ere& #ea&er
Baris 2ertama 3o&e 2ubli3 3lass T#* meru2akan nama 3lass . 6lass
menggunakan a33ess mo&i'ier 2ubli3 , yang berarti 3lass mem2unyai
akses bebas ke 3lass lain &ari 2a3kage yang lain 2ula.
Baris berikutnya F meru2akan awal blok .
Baris selanjutnya 3o&e 2ubli3 stati3 String in2utan?@F , &igunakan untuk
memanggil 'ungsi string &alam in2utan &ari user
Pa&a baris /n2utStream#ea&er?System.in@ , system.in ber'ungsi untuk
memba3a in2utan &ari keyboar&.
ba3a=bu'.rea&(ine?@ , rea&(ine &igunakan untuk mengambil in2ut &ari
user.
emu&ian ter&a2at 2erulangan 'or untuk menam2ilkan sebanyak in2utan
angka yang kita masukkan.
4. !bsensi siswa
a. S3ri2t
//3ama ( Septa 2wi M
//!!9::;:<9=
//S! .*/0 2!!
imp$rt @a#a'util'8;
imp$rt @a#a'i$'8;
class *7:
{
public static #$id main(String+, args)
{
int i % @umlah= % @mlhsiswa=; // deklarasi untuk
@umlah semua siswa dan @umlah siswa &ang tidak masuk
int nt=;
nt = @mlhsiswaE@umlah;
String+, data; data=new String+:,; //nama siswa
String+, data!; data!=new String+:,; //keteranga siswa
&ang tidak masuk
int+, data2; data2=new int+:,;
int pilihan=;
Auffered7eader reader = null;
/nputStream7eader stream7eader = null;
Scanner input=new Scanner(S&stem'in);
Auffered7eader data/n = new Auffered7eader(new
/nputStream7eader(S&stem'in));
stream7eader = new /nputStream7eader(S&stem'in);
reader = new Auffered7eader(stream7eader);
tr&
{
d$
{
S&stem'$ut'println("!' Menambah siswa");
S&stem'$ut'println("2' Absensi siswa");
S&stem'$ut'println(":' 0>it");
S&stem'$ut'println("/nputkan Menu ( ");
pilihan = /nteger'parse/nt(reader'read5ine());
switch(pilihan){
case !(
S&stem'$ut'print(" /nput @umlah siswa ( "); //@umlah
semua siswa
@mlhsiswa=input'ne>t/nt();
S&stem'$ut'print(" /nput siswa &ang tidak masuk ( "); //
input siswa &ang tidak masuk
@umlah=input'ne>t/nt();
S&stem'$ut'println(" ");
S&stem'$ut'println("*idak -adir dalam kelas");
f$r (i=!;iF=@umlah;i))) //perulangan u/ siswa &ang tidak
masuk
{
S&stem'$ut'print(" ");
S&stem'$ut'print(" /nput ntma Siswa = "); ///nput nama
siswa &ang tidak masuk
data+i,=data/n'read5ine();
S&stem'$ut'print(" 6eterangan = "); ///nput keterangan
siswa &ang tidak masuk
data!+i,=data/n'read5ine();
S&stem'$ut'print(" 5ama tidak masuk = "); ///nput @umlah
hari siswa &ang tidak masuk
data2+i,=input'ne>t/nt();
S&stem'$ut'println("");
"
break;
case 2(
S&stem'$ut'println(" ");
S&stem'$ut'println(" 2ata Siswa ");
nt = @mlhsiswaE@umlah;//@umlah siswa E tidak hadir
S&stem'$ut'println("Mumlah siswa tidak hadir = ")nt);
S&stem'$ut'println(" ");
S&stem'$ut'println("2ata Siswa *idak -adir");
S&stem'$ut'print(" ");
f$r (i=!;iF=@umlah;i)))
{
S&stem'$ut'println("2ata 6e E ")i)"");
S&stem'$ut'print("");
S&stem'$ut'println(" 3ama Siswa ( ")data+i,);
S&stem'$ut'println(" 6eterangan siswa ( ")data!+i,);
S&stem'$ut'println(" 5ama siswa tidak masuk ( ")data2+i,
)" hari");
"
S&stem'$ut'print("1n");
break;
case :(
S&stem'$ut'println("Anda akan keluar dari menu");
S&stem'e>it(!);
break;
default( S&stem'$ut'println("Menu /nputan salah");
break;
"
"while(true);
"catch(/B0>cepti$n e) {e'printStack*race(); "
"
"
b. Print S3reen
%. $S/MP0(!)
/la00- meru2akan suatu blue2rint atau 3etakan untuk men3i2takan suatu
instant &ari obje3t. 3lass juga meru2akan gru2 suatu obje3t &engan
kemiri2an attributes72ro2erties, beha5iour &an relasi ke obje3t lain.
O,1e2t , instan3e &ari 3lass. -ika 3lass se3ara umum
mere2resentasikan ?tem2late@ sebuah obje3t, sebuah instan3e a&alah
re2resentasi nyata &ari 3lass itu sen&iri.
Met4%d, meru2akan suatu o2erasi beru2a 'ungsi8'ungsi yang &a2at
&ikerjakan oleh suatu obje3t. Metho& &i&e'inisikan 2a&a 3lass akan teta2i
&i2anggil melalui obje3t.
Se&angkan o5erloa& meru2akan kemam2uan &imana kita bisa memiliki lebih
&ari 1 metho& &engan nama yang &alam suatu 3lass.
,.#$%$#$)S/ 7 D!%T!# P0ST!!
http://fanjavaakhmad.wordpress.com/2010/09/06/tipe-data-
java/
http://xahlee.info/java-a-day/instance_vs_class_memers.html
http://cecendet.wordpress.com/2011/0!/12/metode-parameter-
dan-kata-k"nci-this-pada-java
#od"l %% &ava

Anda mungkin juga menyukai