suhadakakbar_145150207111086_tugas2

22
LAPORAN PRAKTIKUM PEMROGRAMAN LANJUT PROGRAM TEKNOLOGI INFORMASI DAN ILMU KOMPUTER UNIVERSITAS BRAWIJAYA BAB : STATIC METHOD DAN OVERLOADING NAMA : SUHADAK AKBAR NIM : 145150207111086 TANGGAL : 18 MARET 2015 ASISTEN : - RIZKA HUSNUN ZAKIYYAH - LILIS DAMAYANTI A. DEFINISI MASALAH 1. Susun program dengan menggunakan overloading function dengan ketentuan : Terdapat method bernama overloadingMeth berparameter String dan integer, dimana method tersebut mempunyai fungsi untuk merubah input teks menjadi bilangan dan input bilangan menjadi teks Misal : Input : overloadingMeth(71) Output : tujuh puluh satu Input : overloadingMeth(tiga puluh lima) Output : 35 Range untuk input parameter adalah 0-100 2. Buatlah program dengan menggunakan class untuk menghitung penjumalahan, pengurangan, perkalian dan pembagian. Method penjumlahan dan pengurangan menggunakan static method sedangkan sisanya menggunakan method non static. Tambahkan method bertipe non static bernama Sederhana untuk menyederhanakan sebuah pecahan. B. SOURCE CODE No. 1 >> overloadingMethod 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 import javax.swing.*; public class OverloadingMeth { private String hasil=""; public void overloadingMeth(int satuan){ String[] huruf ={"","satu","dua","tiga","empat","lima","enam", "tujuh","delapan","sembilan","sepuluh","s ebelas"}; if(satuan<12){ hasil += huruf[satuan]; } else if(satuan<20){ hasil += huruf[satuan-10]+" belas"; } else if(satuan<100){ hasil += huruf[satuan/10]+" puluh "+huruf[satuan%10]; } else if(satuan==100){ hasil += "seratus"; } else{

Upload: suhadakakbar

Post on 21-Dec-2015

262 views

Category:

Documents


41 download

DESCRIPTION

no

TRANSCRIPT

LAPORAN PRAKTIKUM PEMROGRAMAN LANJUTPROGRAM TEKNOLOGI INFORMASI DAN ILMUKOMPUTERUNIVERSITAS BRAWIJAYA

BAB : STATIC METHOD DAN OVERLOADINGNAMA : SUHADAK AKBARNIM : 145150207111086TANGGAL : 18 MARET 2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH

- LILIS DAMAYANTI

A. DEFINISI MASALAH1. Susun program dengan menggunakan overloading function dengan

ketentuan :Terdapat method bernama overloadingMeth berparameter String dan integer,dimana method tersebut mempunyai fungsi untuk merubah input teks menjadibilangan dan input bilangan menjadi teksMisal :Input : overloadingMeth(71)Output : tujuh puluh satuInput : overloadingMeth(tiga puluh lima)Output : 35Range untuk input parameter adalah 0-100

2. Buatlah program dengan menggunakan class untuk menghitungpenjumalahan, pengurangan, perkalian dan pembagian. Method penjumlahan danpengurangan menggunakan static method sedangkan sisanya menggunakanmethod non static. Tambahkan method bertipe non static bernama Sederhanauntuk menyederhanakan sebuah pecahan.

B. SOURCE CODENo. 1 >> overloadingMethod

12345678910111213141516171819202122

import javax.swing.*;public class OverloadingMeth {

private String hasil=""; public void overloadingMeth(int satuan){

String[] huruf ={"","satu","dua","tiga","empat","lima","enam",

"tujuh","delapan","sembilan","sepuluh","sebelas"};

if(satuan<12){ hasil += huruf[satuan];}else if(satuan<20){ hasil += huruf[satuan-10]+" belas"; }else if(satuan<100){ hasil += huruf[satuan/10]+" puluh

"+huruf[satuan%10]; }else if(satuan==100){ hasil += "seratus";}else{

LAPORAN PRAKTIKUM PEMROGRAMAN LANJUTPROGRAM TEKNOLOGI INFORMASI DAN ILMUKOMPUTERUNIVERSITAS BRAWIJAYA

BAB : STATIC METHOD DAN OVERLOADINGNAMA : SUHADAK AKBARNIM : 145150207111086TANGGAL : 18 MARET 2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH

- LILIS DAMAYANTI

23242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

hasil += "\nMaaf, input angka mulai 0-100\n";hasil += "Jadi, input yang anda masukkan tidak

valid.";}JOptionPane.showMessageDialog(null, "Angka

"+satuan+"" +" terbilang "+hasil, "Angka Terbilang",

JOptionPane.INFORMATION_MESSAGE);}public void overloadingMeth(String kalimat){

String[] huruf ={"","Satu","Dua","Tiga","Empat","Lima","Enam",

"Tujuh","Delapan","Sembilan","Sepuluh","Sebelas"};

String[] angka ={"0", "1", "2", "3", "4", "5", "6", "7", "8" , "9", "10", "11"};

String[] kata = kalimat.split(" ");String hasil="";for(int i=0; i<kata.length; i++){

for(int j=0; j<12; j++){if(huruf[j].equalsIgnoreCase(kata[i])){

hasil += angka[j];}else

if("belas".equalsIgnoreCase(kata[i])){hasil = "1"+hasil;break;

}else if("puluh".equalsIgnoreCase(kata[i])

&& kata.length==(kata.length-1)){hasil += "0";break;

}else

if("puluh".equalsIgnoreCase(kata[i])){break;

}else

if(huruf[j].equalsIgnoreCase(kata[i])){hasil += angka[j];break;

}else

if("seratus".equalsIgnoreCase(kata[i])){hasil = "100";

}

LAPORAN PRAKTIKUM PEMROGRAMAN LANJUTPROGRAM TEKNOLOGI INFORMASI DAN ILMUKOMPUTERUNIVERSITAS BRAWIJAYA

BAB : STATIC METHOD DAN OVERLOADINGNAMA : SUHADAK AKBARNIM : 145150207111086TANGGAL : 18 MARET 2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH

- LILIS DAMAYANTI

6970717273747576777879808182838485868788899091

else if("nol".equalsIgnoreCase(kata[i])){hasil = "0";

}}

}JOptionPane.showMessageDialog(null,"Angka terbilang

"+kalimat+" =" +" "+hasil, "Angka Bilangan",

JOptionPane.INFORMATION_MESSAGE);}public static void main(String[] args){

OverloadingMeth convert = new OverloadingMeth(); int satuan = 0;String huruf = "", satuan2;satuan2 = JOptionPane.showInputDialog("Masukkan angka

bilangan (0 sampai 100)");satuan = Integer.parseInt(satuan2);convert.overloadingMeth(satuan);huruf = JOptionPane.showInputDialog("Masukkan angka

terbilang (nol sampai seratus)");convert.overloadingMeth(huruf);}

}

No. 2

1234567891011121314151617181920

import javax.swing.*;public class OperasiHitung {

public static void hitungPenjumlahan(int a, int b){int nilai = a+b;JOptionPane.showMessageDialog(null, "Hasil

penjumlahan" +" dari "+a+"+"+b+" adalah "+nilai,

"Penjumlahan",JOptionPane.INFORMATION_MESSAGE);

}public static void hitungPengurangan(int a, int b){

int nilai = a-b;JOptionPane.showMessageDialog(null, "Hasil

pengurangan" +" dari "+a+"-"+b+" adalah "+nilai,

"Pengurangan",JOptionPane.INFORMATION_MESSAGE);

}public void hitungPerkalian(int a, int b){

int nilai = a*b;

LAPORAN PRAKTIKUM PEMROGRAMAN LANJUTPROGRAM TEKNOLOGI INFORMASI DAN ILMUKOMPUTERUNIVERSITAS BRAWIJAYA

BAB : STATIC METHOD DAN OVERLOADINGNAMA : SUHADAK AKBARNIM : 145150207111086TANGGAL : 18 MARET 2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH

- LILIS DAMAYANTI

21222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

JOptionPane.showMessageDialog(null, "Hasil perkalian" +

" dari "+a+"*"+b+" adalah "+nilai, "Perkalian",

JOptionPane.INFORMATION_MESSAGE);}public void hitungPembagian(double a, double b){

double nilai = a/b;JOptionPane.showMessageDialog(null, "Hasil

pembagian" +" dari "+a+"/"+b+" adalah "+nilai,

"Pembagian",JOptionPane.INFORMATION_MESSAGE);

}public void Sederhana(int a, int b){

int pembilang = a, penyebut = b;for(int i=0; i<10; i++){

if(penyebut%2==0 && pembilang%2==0){pembilang = pembilang/2;penyebut = penyebut/2;

}else if(penyebut%3==0 && pembilang%3==0){

pembilang /= 3;penyebut /= 3;

}else if(penyebut%5==0 && pembilang%5==0){

pembilang /= 5;penyebut /= 5;

}else if(penyebut%pembilang==0){

penyebut /= pembilang;pembilang /= pembilang;

}else if(pembilang%penyebut==0){

pembilang /= penyebut;penyebut /= penyebut;

}}JOptionPane.showMessageDialog(null, "Hasil

penyederhanaan" +" dari "+a+"/"+b+" adalah

"+pembilang+"/"+penyebut, "Penyederhanaan",JOptionPane.INFORMATION_MESSAGE);

}public static void main(String[] args){

OperasiHitung a = new OperasiHitung();

LAPORAN PRAKTIKUM PEMROGRAMAN LANJUTPROGRAM TEKNOLOGI INFORMASI DAN ILMUKOMPUTERUNIVERSITAS BRAWIJAYA

BAB : STATIC METHOD DAN OVERLOADINGNAMA : SUHADAK AKBARNIM : 145150207111086TANGGAL : 18 MARET 2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH

- LILIS DAMAYANTI

676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112

int jum1, jum2, min1, min2, star1, star2, simp1, simp2;

double per1, per2;String str1, str2, str3, str4, str5, str6, str7,

str8,str9, str10;

str1 = JOptionPane.showInputDialog(null, "Masukkan nilai 1", "Penjumlahan", JOptionPane.QUESTION_MESSAGE);

jum1 = Integer.parseInt(str1);str2 = JOptionPane.showInputDialog(null, "Masukkan

nilai 2", "Penjumlahan", JOptionPane.QUESTION_MESSAGE);jum2 = Integer.parseInt(str2);hitungPenjumlahan(jum1, jum2);str3 = JOptionPane.showInputDialog(null, "Masukkan

nilai 1", "Pengurangan", JOptionPane.QUESTION_MESSAGE);min1 = Integer.parseInt(str3);str4 = JOptionPane.showInputDialog(null, "Masukkan

nilai 2", "Pengurangan", JOptionPane.QUESTION_MESSAGE);min2 = Integer.parseInt(str4);hitungPengurangan(min1, min2);str5 = JOptionPane.showInputDialog(null, "Masukkan

nilai 1", "Perkalian", JOptionPane.QUESTION_MESSAGE);star1 = Integer.parseInt(str5);str6 = JOptionPane.showInputDialog(null, "Masukkan

nilai 2", "Perkalian", JOptionPane.QUESTION_MESSAGE);star2 = Integer.parseInt(str6);a.hitungPerkalian(star1, star2);str7 = JOptionPane.showInputDialog(null, "Masukkan

nilai 1", "Pembagian", JOptionPane.QUESTION_MESSAGE);per1 = Double.parseDouble(str7);str8 = JOptionPane.showInputDialog(null, "Masukkan

nilai 2", "Pembagian", JOptionPane.QUESTION_MESSAGE);per2 = Double.parseDouble(str8);a.hitungPembagian(per1, per2);str9 = JOptionPane.showInputDialog(null, "Masukkan

nilai pembilang", "Penyederhanaan", JOptionPane.QUESTION_MESSAGE);

simp1 = Integer.parseInt(str9);str10 = JOptionPane.showInputDialog(null, "Masukkan

nilai penyebut", "Penyederhanaan", JOptionPane.QUESTION_MESSAGE);

simp2 = Integer.parseInt(str10);a.Sederhana(simp1, simp2);

}}

LAPORAN PRAKTIKUM PEMROGRAMAN LANJUTPROGRAM TEKNOLOGI INFORMASI DAN ILMUKOMPUTERUNIVERSITAS BRAWIJAYA

BAB : STATIC METHOD DAN OVERLOADINGNAMA : SUHADAK AKBARNIM : 145150207111086TANGGAL : 18 MARET 2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH

- LILIS DAMAYANTI

C. PEMBAHASANPembahasan Program 1

1

23

4

5

9

10

12

13

15

16,1719

2022

23,2427,28,2932

Pemanggilan komponen yang dibutuhkan untuk menbuat program, dengan memanggil komponen ini, kita dapat menggunakan JoptionPane serta komponen lainyang ada pada javax.swing.Deklarasi kelas utama, berisi method-method yang akan dijalankan.Deklarasi variable String dengan nilai kosong, variable private ini hanya dapat diakses pada kelas Overloading dan berfungsi sebagai tempat menyimpan nilai.Deklarasi method bertipe void dengan parameter integer. Method ini berisi proses mengubah angka numerik menjadi angka terbilang.Deklarasi array bertipe string dengan dua belas elemen, dengan inisialisasi mulai elemen nol adalah “ ” hingga elemen ke-dua belas adalah sebelas.Baris 9 sampai 26 akan membahas pemilihan kondisi dalam menentukan konversi dari angka numerik menjadi angka terbilang. Baris 9 merupakan suatu syarat jika nilai variabel satuan (input angka numerik) kurang dari 12, maka selanjutnya akan diproses pada baris 10.Variable hasil yang berada diluar method akan digunakan sebagai penyimpan nilai dengan menambahkan nilai dari nilai array sesuai input angka numerik.Apabila syarat pertama tidak terpenuhi (input lebih dari atau sama dengan 12), akan dilakukan pengecekan. Jika input angka yang diberikan kurang dari 20, maka...Variable hasil akan ditambahkan nilai array yang sesuai (nilai array ditemukan dari input angka dikurangi 10, misal 19-10 = 9. Jadi array 9 lah yang terpilih). Yang kemudian diimbuhkan string “belas” di belakang.Apabila masih belum ditemukan syarat yang memenuhi, akan dilanjutkan pengecekan pada syarat dimana input angka kurang dari 100, apabila memenuhi syarat, akan langsung dilanjutkan proses baris 16.Hasil akan menyimpan array huruf[input/10] diikuti “puluh”, kemudian ditambahkanarray huruf[input%10].Apabila masih belum terpenuhi, ini merupakan syarat valid terakhir karena input yang dapat dimasukkan adalah 0 sampai 100, jadi, apabila input angka samadengan 100, maka...Variable hasil akan menyimpan nilai string “seratus”.Apabila syarat-syarat sebelumnya tidak terpenuhi, maka input angka dinyatakan salah atau tidak valid, Apabila input angka tidak valid, maka hasil akan menyimpan sebuah pesan error yang menyatakan angka input tidak benar.Menampilkan dialog pesan dengan ururtan parameter null (karena dianggap tidak mempunyai parentComponen) , pesan yang ingin disampaikan (disini, pesan menampilkan nilai satuan serta hasil), title “Angka Terbilang”, dan tipe informasi. Deklarasi method void overloading berparameter string. Method ini berisi proses

LAPORAN PRAKTIKUM PEMROGRAMAN LANJUTPROGRAM TEKNOLOGI INFORMASI DAN ILMUKOMPUTERUNIVERSITAS BRAWIJAYA

BAB : STATIC METHOD DAN OVERLOADINGNAMA : SUHADAK AKBARNIM : 145150207111086TANGGAL : 18 MARET 2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH

- LILIS DAMAYANTI

33

3739

40

41

42

43

4446,4748

49515253

5456,5758

61636567

697074

79

mengubah angka terbilang menjadi angka numerik. Deklarasi array bertipe string dengan dua belas elemen, dengan inisialisasi mulai elemen nol adalah “ ” hingga elemen ke-dua belas adalah sebelas.Deklarasi array bertipe string dengan dua belas elemen, mulai dari “0” sampai “11”.Deklarasi array bertipe string dengan inisialisasi berupa split (memecah kata pada string) dengan syarat <”spasi”>.Deklarasi variable bertipe string dengan nilai kosong, variable hasil ini akan digunakan untuk menyimpan nilai yang akan didapat nanti.Perulangan dengan kondisi dimana perulangan akan dilakukan sebanyak jumlah kata (berasal dari string yang sudah dipecah sebelumnya).Perulangan ini berada di dalam perulangan, jadi perulangan ini akan berlangsung kelipatan dari perulangan pertama (jadi perulangan ini digambarkan seperti akar). Sementara itu, perulangan ini sendiri melakukan perulangan sebanyak 12 kali, yakni jumlah elemen array huruf.Syarat apabila huruf[j] (j diubah perulangan dari 0 sampai 11) samadengan kata[i] (I hanya berjumlah sesuai dengan panjang kata yang dipecah), maka...Angka[j] (perulangan sesuai kondisi j) akan disisipkan dalam variable hasil.Apabila syarat belum terpenuhi, akan dilakukan pengecekan pada syarat kedua. Yakni apakah pada kata[i] samadengan “belas”.Apabila kata[i] samadengan “belas”, maka hasil akan ditambahkan string “1” di depan hasil.Kode break digunakan agar penambahan “1” pada hasil tidak ikut looping.Apabila syarat sebelumnya belum terpenuhi, maka akan dilakukan pengecekan apakah kata[i] samadengan puluh dan berapa jumlah kata yang dipecah.Apabila kata[i] samadengan puluh dan jumlah kata yang dipecah samadengan (jumlah kata – 1), maka hasil akan disisipi “0”. Kondisi ini terjadi apabila kita memberi input puluhan saja.Kode break digunakan agar penambahan “0” pada hasil tidak ikut looping.Apabila syarat masih belum terpenuhi, akan dilakukan pengecekan terhadap nilai kata[i].Jika nilai kata[i] samadengan puluh, maka hanya akan dilewati tanpa memberi perubahan pada data.Syarat ini sama dengan syarat baris 43, karena yang dicari di sini adalah nilai satuan.Kode break digunakan agar penambahan “angka[j]” pada hasil tidak ikut looping.Jika syarat masih belum terpenuhi, akan dilanjutkan tahap selanjutnya.Apabila nilai kata[i] samadengan seratus, maka hasil akan langsung owerwrite menjadi “100”.Apabila syarat masih belum terpenuhi, syarat ini akan dicek.Apabila nilai kata[i] samadengan nol, maka hasil akan owerwrite menjadi “0”.Menmpilkan pesan dialog dengan title “Angka terbilang” diikuti kalimat (input kalimat) “=” ditambah nilai hasil. Tipe pesan adalah pesan informasi.Deklarasi method utama, kelas ini yang akan secara otomatis dijalankan oleh

LAPORAN PRAKTIKUM PEMROGRAMAN LANJUTPROGRAM TEKNOLOGI INFORMASI DAN ILMUKOMPUTERUNIVERSITAS BRAWIJAYA

BAB : STATIC METHOD DAN OVERLOADINGNAMA : SUHADAK AKBARNIM : 145150207111086TANGGAL : 18 MARET 2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH

- LILIS DAMAYANTI

80

81

82

83

85

86

87

89

program.Instansiasi(membuat objek baru) dari kelas OverloadingMeth, ini digunakan agar method main dapat mengakses method non-static.Deklarasi variable bertipe integer dengan nilai 0, variable ini akan digunakan untuk menyimpan nilai.Deklarasi variable bertipe string dengan nilai kosong. Variable ini juga akan digunakan untuk menyimpan nilai.Menampilkan input dialog dengan pesan “Masukkan angka” dan memasukkan input bertipe string.Variable satuan2 akan dikonversi menjadi tipe int dan dimasukkan dalam variable satuan.Method main memanggil method overloadingMeth yang bukan non-static dengan parameter adalah nilai satuan.Menampilkan input dialog dengan pesan “Masukkan angka terbilang” dan memasukkan input bertipe string.Method main memanggil method overloadingMeth dengan parameter string.

Pembahasan Program 21

23

45

11

1213

19

2021

27

Pemanggilan komponen yang dibutuhkan untuk menbuat program, dengan memanggil komponen ini, kita dapat menggunakan JoptionPane serta komponen lainyang ada pada javax.swing.Deklarasi kelas utama, berisi method-method yang akan dijalankan.Deklarasi method static void hitungPenjumlahan dengan parameter int a dan int b. Berisi proses penjumlahan int a dan b.Deklarasi sekaligus inisialisasi variable int nilai = a+b;Menampilkan pesan dialog dimana parameter null adalah parrentComponent (dianggap tidak ada), kemudian pesan berupa hasil penjumlahan, title “Penjumlahan”, dan tipe pesan (informasi).Deklarasi method static void hitungPengurangan dengan parameter int a dan b. Berisiproses pengurangan antara int a dan int b.Deklarasi sekaligus inisialisasi/pemberian nilai int nilai = a-b.Menampilkan pesan dialog dimana parameter null adalah parrentComponent (dianggap tidak ada), kemudian pesan berupa hasil pengurangan, title “Pengurangan”, dan tipe pesan (informasi).Deklarasi method void hitungPerkalian dengan parameter int a dan int b. Method ini berisi proses perkalian antara a dan b untuk mendapatkan nilai.Deklarasi sekaligus inisialisasi/pemberian nilai int nilai = a*b.Menampilkan pesan dialog dimana parameter null adalah parrentComponent (dianggap tidak ada), kemudian pesan berupa hasil perkalian, title “Perkalian”, dan tipe pesan (informasi).Deklarasi method void hitungPembagian dengan parameter double a dan double b.

LAPORAN PRAKTIKUM PEMROGRAMAN LANJUTPROGRAM TEKNOLOGI INFORMASI DAN ILMUKOMPUTERUNIVERSITAS BRAWIJAYA

BAB : STATIC METHOD DAN OVERLOADINGNAMA : SUHADAK AKBARNIM : 145150207111086TANGGAL : 18 MARET 2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH

- LILIS DAMAYANTI

2829

35

3637

3839,40

42

4344

46

47,48

5051,525455,5659

65

66

67

69

70

Method ini berisi proses mencari nilai dari pembagian a dan b.Deklarasi sekaligus inisialisasi/pemberian nilai double nilai = a/b.Menampilkan pesan dialog dimana parameter null adalah parrentComponent (dianggap tidak ada), kemudian pesan berupa hasil pembagian, title “Pembagian”, dan tipe pesan (informasi).Deklarasi method void Sederhana dengan parameter int a dan int b. Method ini berisiproses penyederhanaan suatu pecahan.Deklarasi int pembilang dengan memberi nilai pembilang = a, serta int penyebut = b.Kondisi perulangan sebanyak 10 putaran yang berisi prosen menentukan nilai pembilang dan penyebut.Pengecekan terhadap nilai penyebut dan pembilang apabila modulo 2.Apabila pembilang dan penyebut modulo 2 menghasilkan 0, maka pembilang dan penyebut masing2 akan dibagi 2. Apabila salah satu variable tidak memenuhi syarat, maka proses akan menuju syarat selanjutnya.Apabila pada syarat seblumnya tidak terpenuhi, akan dilakukan pengecekan apabila penyebut dan pembilang modulo 3.Jika pembilang dan penyebut menghasilkan 0 saat dimodulo 3, maka pembilang dan penyebut akan dibagi 3. Jika tidak memenuhi syarat, akan langsung dialihkan ke syarat selanjutnya.Apabila pada syarat sebelumnya tidak memenuhi syarat, akan dilakukan pengecekanpada pembilang dan penyebut apabila modulo 5.Jika pembilang dan penyebut modulo 5 adalah 0, maka pembilang dan penyebut masing-masing akan dibagi 5. Apabila masih belum terpenuhi, akan menuju proses selanjutnya.Akan dilakukan pengecekan terhadap nilai pembilang dan penyebut.Jika penyebut modulo pembilang samadengan 0, maka penyebut akan dibagi pembilang, kemudian pembilang akan membagi dirinya sendiri (menjadi 1).Akan dilakukan pengecekan terhadap nilai pembilang dan penyebut.Jika pembilang modulo penyebut samadengan 0, maka pembilang akan dibagi penyebut, kemudian penyebut akan membagi dirinya sendiri (menjadi 1).Menampilkan pesan dialog dengan parameter null (parrentComponent), isi pesan berupa hasil penyederhanaan, title dialog, dan tipe pesan berupa informasi. Pesan dialog ini berada di luar perulangan, jadi hanya akan muncul satu kali. Deklarasi method static main, merupakan method yang akan dipanggil otomatis saat program dijalankan.Instansiasi/membuat objek baru dari kelas OperasiHitung. Instansi digunakan agar main method dapat mengakses method non-static yang ada di kelas OperasiHitung.Deklarasi variable int sebanyak delapan variable, digunakan untuk input nilai menggunakan JoptionPane.Deklarasi variable double sebanyak dua variable, digunakan untuk input nilai menggunakan JoptionPane.Deklarasi variable string sebanyak sepuluh variable, digunakan untuk input nilai

LAPORAN PRAKTIKUM PEMROGRAMAN LANJUTPROGRAM TEKNOLOGI INFORMASI DAN ILMUKOMPUTERUNIVERSITAS BRAWIJAYA

BAB : STATIC METHOD DAN OVERLOADINGNAMA : SUHADAK AKBARNIM : 145150207111086TANGGAL : 18 MARET 2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH

- LILIS DAMAYANTI

74

76

77

79

80

81

83

84

86

87

88

90

91

93

94

95

97

menggunakan JoptionPane.Menampilkan input dialog dengan pesan “Masukkan nilai 1”, dengan judul “Penjumlahan” dan pesan bertipe pertanyaan. Secara langsung, nilai input yang dimasukkan akan tersimpan ke string str1.Agar dapat diproses, nilai str1 dikonversi menjadi integer dan disimpan pada int jum1.Menampilkan input dialog dengan pesan “Masukkan nilai 2”, dengan judul “Penjumlahan” dan pesan bertipe pertanyaan. Secara langsung, nilai input yang dimasukkan akan tersimpan ke string str2.Agar dapat diproses, nilai str2 dikonversi menjadi integer dan disimpan pada int jum2.Method main memanggil method hitungPenjumlahan dengan parameter jum1 dan jum2, kemudian nilai a dan b samadengan nilai jum1 dan jum2.Menampilkan input dialog dengan pesan “Masukkan nilai 1”, dengan judul “Pengurangan” dan pesan bertipe pertanyaan. Secara langsung, nilai input yang dimasukkan akan tersimpan ke string str3.Agar dapat diproses, nilai str2 dikonversi menjadi integer dan disimpan pada int min1.Menampilkan input dialog dengan pesan “Masukkan nilai 2”, dengan judul “Pengurangan” dan pesan bertipe pertanyaan. Secara langsung, nilai input yang dimasukkan akan tersimpan ke string str4.Agar dapat diproses, nilai str4 dikonversi menjadi integer dan disimpan pada int min2.Method main memanggil method hitungPengurangan dengan parameter min1 dan min2, kemudian nilai a dan b samadengan nilai min1 dan min2.Menampilkan input dialog dengan pesan “Masukkan nilai 1”, dengan judul “Perkalian” dan pesan bertipe pertanyaan. Secara langsung, nilai input yang dimasukkan akan tersimpan ke string str5.Agar dapat diproses, nilai str5 dikonversi menjadi integer dan disimpan pada int star1.Menampilkan input dialog dengan pesan “Masukkan nilai 2”, dengan judul “Perkalian” dan pesan bertipe pertanyaan. Secara langsung, nilai input yang dimasukkan akan tersimpan ke string str6.Agar dapat diproses, nilai str6 dikonversi menjadi integer dan disimpan pada int star2.Method main memanggil method hitungPerkalian dengan parameter star1 dan star2, kemudian nilai a dan b samadengan nilai star1 dan star2. Untuk memanggil method ini diperlukan objek, karena method non-static tidak dapat dipanggil tanpa bantuan objek/instansi.Menampilkan input dialog dengan pesan “Masukkan nilai 1”, dengan judul “Pembagian” dan pesan bertipe pertanyaan. Secara langsung, nilai input yang dimasukkan akan tersimpan ke string str7.

LAPORAN PRAKTIKUM PEMROGRAMAN LANJUTPROGRAM TEKNOLOGI INFORMASI DAN ILMUKOMPUTERUNIVERSITAS BRAWIJAYA

BAB : STATIC METHOD DAN OVERLOADINGNAMA : SUHADAK AKBARNIM : 145150207111086TANGGAL : 18 MARET 2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH

- LILIS DAMAYANTI

98

100

101

102

105106

109110

Agar dapat diproses, nilai str7 dikonversi menjadi double dan disimpan pada double per1.Menampilkan input dialog dengan pesan “Masukkan nilai 2”, dengan judul “Pembagian” dan pesan bertipe pertanyaan. Secara langsung, nilai input yang dimasukkan akan tersimpan ke string str8.Agar dapat diproses, nilai str8 dikonversi menjadi double dan disimpan pada double per2.Method main memanggil method hitungPembagian dengan parameter per1 dan per2, kemudian nilai a dan b samadengan nilai per1 dan per2. Untuk memanggil method ini diperlukan objek, karena method non-static tidak dapat dipanggil tanpa bantuan objek/instansi.Menampilkan input dialog dengan pesan “Masukkan nilai pembilang”, dengan judul “Penyerhanaan” dan pesan bertipe pertanyaan. Secara langsung, nilai input yang dimasukkan akan tersimpan ke string str9.Agar dapat diproses, nilai str9 dikonversi menjadi int dan disimpan pada int simp1.Menampilkan input dialog dengan pesan “Masukkan nilai penyebut”, dengan judul “Penyederhanaan” dan pesan bertipe pertanyaan. Secara langsung, nilai input yang dimasukkan akan tersimpan ke string str10.Agar dapat diproses, nilai str10 dikonversi menjadi int dan disimpan pada int simp2.Method main memanggil method Sederhana dengan parameter simp1 dan simp2, kemudian nilai a dan b samadengan nilai simp1 dan simp2. Untuk memanggil method ini diperlukan objek, karena method non-static tidak dapat dipanggil tanpa bantuan objek/instansi.

D. SCREENSHOT PROGRAM1) ScreenShot Program 1

LAPORAN PRAKTIKUM PEMROGRAMAN LANJUTPROGRAM TEKNOLOGI INFORMASI DAN ILMUKOMPUTERUNIVERSITAS BRAWIJAYA

BAB : STATIC METHOD DAN OVERLOADINGNAMA : SUHADAK AKBARNIM : 145150207111086TANGGAL : 18 MARET 2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH

- LILIS DAMAYANTI

Gambar 1. Input dengan anga dan menghasilkan angka terbilang

Gambar 2. Input angka terbilang dan menghasilkan angka numerik.

2) ScreenShot Program 2

LAPORAN PRAKTIKUM PEMROGRAMAN LANJUTPROGRAM TEKNOLOGI INFORMASI DAN ILMUKOMPUTERUNIVERSITAS BRAWIJAYA

BAB : STATIC METHOD DAN OVERLOADINGNAMA : SUHADAK AKBARNIM : 145150207111086TANGGAL : 18 MARET 2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH

- LILIS DAMAYANTI

Gambar 3. Proses penjumlahan dengan 2 input dan 1 output.

LAPORAN PRAKTIKUM PEMROGRAMAN LANJUTPROGRAM TEKNOLOGI INFORMASI DAN ILMUKOMPUTERUNIVERSITAS BRAWIJAYA

BAB : STATIC METHOD DAN OVERLOADINGNAMA : SUHADAK AKBARNIM : 145150207111086TANGGAL : 18 MARET 2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH

- LILIS DAMAYANTI

Gambar 4. Proses pengurangan dengan 2 input dan 1 output.

LAPORAN PRAKTIKUM PEMROGRAMAN LANJUTPROGRAM TEKNOLOGI INFORMASI DAN ILMUKOMPUTERUNIVERSITAS BRAWIJAYA

BAB : STATIC METHOD DAN OVERLOADINGNAMA : SUHADAK AKBARNIM : 145150207111086TANGGAL : 18 MARET 2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH

- LILIS DAMAYANTI

Gambar 5. Proses perkalian dengan 2 input dan 1 output.

LAPORAN PRAKTIKUM PEMROGRAMAN LANJUTPROGRAM TEKNOLOGI INFORMASI DAN ILMUKOMPUTERUNIVERSITAS BRAWIJAYA

BAB : STATIC METHOD DAN OVERLOADINGNAMA : SUHADAK AKBARNIM : 145150207111086TANGGAL : 18 MARET 2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH

- LILIS DAMAYANTI

Gambar 6. Proses pembagian dengan 2 input dan 1 output.

LAPORAN PRAKTIKUM PEMROGRAMAN LANJUTPROGRAM TEKNOLOGI INFORMASI DAN ILMUKOMPUTERUNIVERSITAS BRAWIJAYA

BAB : STATIC METHOD DAN OVERLOADINGNAMA : SUHADAK AKBARNIM : 145150207111086TANGGAL : 18 MARET 2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH

- LILIS DAMAYANTI

Gambar 7. Proses penyederhanaan dengan 1 input pembilang, 1 inpu penyebut,dan 1 output.

E. PRAKTIKUMA) Static Method

Pertanyaan1. Apakah yang disebut dengan static variabel? Dan apa fungsi dari static

variabel serta kapan kita dapat menggunakan static variabel?Jawab : Variable static adalah variable yang dapat diakses pada kelastertentu tanpa harus membuat suatu objek dari kelas itu. Umumnya untukmengakses member dari kelas lain kita harus membuat objek kelas itu, tetapidengan menggunakan keyword static kita dapat langsung menggunakanmember kelas lain. Variable static dapat digunakan ketika pada sebuah ataubeberapa method tanpa harus membuat sebuah instansi.

2. Mengapa pada main method harus dituliskan static? Jelaskan jawaban anda beserta dengan alasan!

LAPORAN PRAKTIKUM PEMROGRAMAN LANJUTPROGRAM TEKNOLOGI INFORMASI DAN ILMUKOMPUTERUNIVERSITAS BRAWIJAYA

BAB : STATIC METHOD DAN OVERLOADINGNAMA : SUHADAK AKBARNIM : 145150207111086TANGGAL : 18 MARET 2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH

- LILIS DAMAYANTI

Jawab : Dengan menggunakan static pada method main, maka method maintidak dapat dipanggil oleh method lain. Sementara itu, untuk memanggilsuatu method static, tidak diperlukan sebuah instansi/objek baru jika inginmengakses sebuah variable atau method tsb.

3. Lakukan percobaan diatas dan benahi jika menemukan kesalahan!Jawab : Tidak ada kesalahan yang terjadi dalam program tersebut.

4. Jika pada tubuh method hitungPenjumlahan ditambahkan syntax hitungPerkalian(a,b) apa yang terjadi? Jelaskan?Jawab : Yang dipanggil pada method main sebenarnya adalah methodhitungPenjumlahan, dengan penamabahan syntax hitungPerkalian(a, b), makamethod hitungPenjumlahan yang sedang dipanggil oleh method main akanmemanggil method hitungPerkalian, sehingga pada output akan terjadiperubahan, dimana akan terdapat output hasil perkalian a*b setelah hasilpenjumlahan.

5. Jika pada tubuh method hitungPerkalian ditambahkan syntax hitungPenjumlahan(a,b) apa yang terjadi? Jelaskan?Jawab : Pada saat method hitungPerkalian yang merupakan method staticmemanggil method hitungPenjumlahan yang merupakan method non-static,akan didapati error pada syntax. Hal ini terjadi karena method static tidakdapat memanggil method non-static.

6. Tambahkan method non static dengan nilai balikan double untuk menghitung pembagian dengan parameter String nil dan String nil2, dan panggil method tersebut pada method main!Jawab : Menambah method balikan double

public double hitungBagi(String nil1, String nil2){//convert string to doublea = Double.valueOf(nil1);b = Double.valueOf(nil2);return this.hasilBagi = a/b;

}

Memanggil method pada main method

import java.util.Scanner;public class MainAritmatika {

public static void main(String[] args) {Scanner in = new Scanner(System.in);System.out.print("masukkan nilai 1 : ");int nil1 = in.nextInt();System.out.print("masukkan nilai 2 : ");int nil2 = in.nextInt();

LAPORAN PRAKTIKUM PEMROGRAMAN LANJUTPROGRAM TEKNOLOGI INFORMASI DAN ILMUKOMPUTERUNIVERSITAS BRAWIJAYA

BAB : STATIC METHOD DAN OVERLOADINGNAMA : SUHADAK AKBARNIM : 145150207111086TANGGAL : 18 MARET 2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH

- LILIS DAMAYANTI

//memanggil metho hitungPengurangan//agar input pertama tak mubazirAritmatika.hitungPengurangan(nil1, nil2);//memanggil method staticSystem.out.print("masukkan nilai 1 : ");nil1 = in.nextInt();System.out.print("masukkan nilai 2 : ");nil2 = in.nextInt();//memanggil method staticAritmatika.hitungPerkalian(nil1, nil2);System.out.print("masukkan nilai 1 : ");int value1 = in.nextInt();System.out.print("masukkan nilai 2 : ");int value2 = in.nextInt();//memanggil method NONstatic harus melalui

objekAritmatika a = new Aritmatika();a.hitungPenjumlahan(value1, value2);//input untuk method hitungBagiSystem.out.print("masukkan nilai 1 : ");String nilai1 = in.next();System.out.print("masukkan nilai 2 : ");String nilai2 = in.next();//memanggil method hitungBagia.hitungBagi(nilai1, nilai2);//menampilkan hasil dari hitungBagiSystem.out.println("maka hasil bagi :

"+a.hasilBagi);}

}

B) Overloading MethodPertanyaan1. Lakukan percobaan diatas dan benahi jika menemukan kesalahan!

Jawab : Tidak ada kesalahan yang terjadi2. Jika pada baris 7, pada parameter double value dan double value2 di hapus

dan di ganti menjadi int a dan int b apa yang terjadi? Jelaskan!Jawab : Akan terjadi error, karena pada overloading, sebuah method hanyamempunyai nama yang sama, sementara nama parameter tidak boleh samadengan nama parameter milik method lainnya.

3. Rubah method pada baris ketujuh menjadi method bertipe void, dan lakukanjuga perubahan main method.

LAPORAN PRAKTIKUM PEMROGRAMAN LANJUTPROGRAM TEKNOLOGI INFORMASI DAN ILMUKOMPUTERUNIVERSITAS BRAWIJAYA

BAB : STATIC METHOD DAN OVERLOADINGNAMA : SUHADAK AKBARNIM : 145150207111086TANGGAL : 18 MARET 2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH

- LILIS DAMAYANTI

Jawab : public void HitungLuas(double value, double value2){

double nilai1 = value;double nilai2 = value2;double hasil = nilai1*nilai2;System.out.println("maka hasil luas :

"+hasil);}public static void main(String[] args) {

Scanner in = new Scanner(System.in);Overloading aaa=new Overloading();System.out.print("masukkan nilai integer 1 :

");int integer1 = in.nextInt();System.out.print("masukkan nilai integer 2 :

");int integer2 = in.nextInt();HitungLuas(integer1, integer2);System.out.print("masukkan nilai double 1 :

");double double1 = in.nextDouble();System.out.print("masukkan nilai double 2 :

");double double2 = in.nextDouble();HitungLuas(integer1, integer2);aaa.HitungLuas(double1, double2);

}

4. Tambahkan method non static bertipe void bernama HitungLuas yang mempunyai parameter String bernama value1 dan String bernama value2. Kemudian panggil method tersebut pada main method!Jawab :

Menambah method

public void HitungLuas(String value1, String value2){//konversi data tipe string//menjadi data tipe intint nilai1 = Integer.valueOf(value1);int nilai2 = Integer.valueOf(value2);int nilai = nilai1*nilai2;System.out.println("maka hasil luas :

"+nilai);

}

LAPORAN PRAKTIKUM PEMROGRAMAN LANJUTPROGRAM TEKNOLOGI INFORMASI DAN ILMUKOMPUTERUNIVERSITAS BRAWIJAYA

BAB : STATIC METHOD DAN OVERLOADINGNAMA : SUHADAK AKBARNIM : 145150207111086TANGGAL : 18 MARET 2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH

- LILIS DAMAYANTI

Memanggil method pada method main

public static void main(String[] args) {Scanner in = new Scanner(System.in);Overloading aaa=new Overloading();System.out.print("masukkan nilai integer 1 :

");int integer1 = in.nextInt();System.out.print("masukkan nilai integer 2 :

");int integer2 = in.nextInt();HitungLuas(integer1, integer2);System.out.print("masukkan nilai double 1 :

");double double1 = in.nextDouble();System.out.print("masukkan nilai double 2 :

");double double2 = in.nextDouble();HitungLuas(integer1, integer2);aaa.HitungLuas(double1, double2);//input userSystem.out.print("masukkan nilai String 1 :

");String string1 = in.next();System.out.print("masukkan nilai String 2 :

");String string2 = in.next();//memanggil method HitungLuasaaa.HitungLuas(string1, string2);

}

5. Tambahkan method non static bernama cekKondisi yang mempunyai parameter bertipe double bernama value. Method ini di gunakan untuk mengecek nilai value yang merupakan nilai dari luas sebuah bidang. Jika nilai value bernilai lebih dari sama dengan 60 dan kurang dari sama dengan 100 maka akan mencetak “Nilai luas bidang termasuk kategori Besar”, jika nilai value bernilai lebih dari sama dengan 101 maka akan mencatak “Nilai luas bidang termasuk kategori sangat besar”, dan jika selain kondisi di atas akan mencetak “Nilai luas bidang termasuk kategori kecil”. Kemudian panggil method ini di dalam method main!Jawab :

LAPORAN PRAKTIKUM PEMROGRAMAN LANJUTPROGRAM TEKNOLOGI INFORMASI DAN ILMUKOMPUTERUNIVERSITAS BRAWIJAYA

BAB : STATIC METHOD DAN OVERLOADINGNAMA : SUHADAK AKBARNIM : 145150207111086TANGGAL : 18 MARET 2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH

- LILIS DAMAYANTI

Menambah method cekKondisi

public void cekKondisi(double value){if(value>=60 && value<=100){

System.out.println("Nilai luas bidang termasuk kategori Besar.");

}else if(value>100){

System.out.println("Nilai luas bidang termasuk kategori sangat besar.");

}else{

System.out.println("Nilai luas bidang termasuk kategori kecil.");

}}

Memanggil method cekKondisi

//tambahkan syntax berikut pada akhir//method main sebelum kurung kurawalSystem.out.print("masukkan luas bidang : ");double doub = in.nextDouble();a.cekKondisi(doub);

F. KESIMPULANMethod Static adalah method yang dapat dipakai tanpa harus menginisialisasi

suatu class (maksudnya tanpa menggunakan variabel terlebih dahulu). Method statichanya dimiliki oleh class dan tidak dapat digunakan oleh instance (atau objek) darisuatu class. Untuk memanggil sebuah method static, dapat mengetikkan<nama.kelas>.<nama.method>(parameter). Parameter sendiri adalah suatu bagiandari method yang mana harus diberi type data dan di sini kita anggap suatu parametermirip dengan variable (merupakan bagian dari method ) yang bisa menentukan suatunilai atau merubah suatu nilai nantinya ditampilkan dengan method yang sudah ada dijava. Method non-static dapat memanggil method static seperti memanggil methodpada umumnya. Sementara bagi method static, untuk memanggil method non-staticdibutuhkan sebuah objek agar method tersebut dapat dipanggil.

Sementara itu, overloading adalah membuat dua atau lebih method dengan namayang sama dalam satu class, tetapi method – method tersebut harus dapat dibedakanantara satu dengan yang lainnya, baik dalam jumlah parameter maupun tipe parameter.Apabila terdapat sebuah method yang memiliki nama, nama parameter, dan tipeparameter yang sama, akan terjadi error.