LABORATORIUM PEMBELAJARAN ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
BAB
: METHOD
NAMA
: INSAN NURZAMAN BANGGA ADI PRATAMA
NIM
: 165150200111033
TANGGAL
: 02/12/2016
ASISTEN
: - AHMAD WICAKSANA
-ARDA SATATA F
-DAVID BERNHARD
A. DEFINISI MASALAH
2. Program untuk menentukan apakah bilangan tersebut bilangan prima atau bukan dengan menginputkan sebuah bilangan yang di inginkan. Setelah itu program akan mengoutputkan bilangan prima 1-100
B. SOURCE CODE
public class Soal1 {public static void main(String[] args) { Scanner scan = new Scanner(System.in);
public static void Permutasi(){
Scanner scan = new Scanner(System.in); int bilangan = n;
int bilangan2 = n-r;
hasil = faktorial(bilangan); hasil2= faktorial(bilangan2); hasil3 = hasil / hasil2;
System.out.println(" n! ");
System.out.println("nPr = --- = " + hasil3 ); System.out.println(" (n-r)! ");
System.out.println("Maka Hasil Permutasinya adalah " + hasil3);
System.out.println(""); }
42
return (bil * faktorial(bil-1)); }
int hasil6 = faktorial(n)/ (faktorial(a) * faktorial(r)); System.out.println(" n! ");
System.out.println("nPr = --- = " + hasil6 ); System.out.println(" (n-r)!r! ");
System.out.println("Maka Hasil Kombinasinya adalah "+ hasil6 ); public class Soal2 {
public static void main(String[] args) { Scanner scan = new Scanner(System.in);
}System.out.println("Bilangan " +a+ " " + c + " bilangan prima");
35
Class bearada dalam package Method
Memasukan nilai variabel dari keybord menggunakan kelas Scanner Deklarasi class dengan nama Soal1
Metode main() untuk menjalankan program dengan args sebagai argument dengan elemen bertipe String.
Pembuatan instan kelas dengan nama ‘scan’
Deklarasi variabel i yang benilai 0 dengan tipe data integer Proses looping do
Proses mencetak ‘Program Penghitung Kombinasi dan Permutasi’
Proses mencetak ‘1.Menghitung Permutasi 2.Menghitung Kombinasi 3.KeluarMasukan Pilihan Anda :’
Proses menginputkan nilai kedalam variabel x dengan tipe data integer Proses switch untuk memilih case berdasarkan inputan user
Proses mencocokan nilai switch dengan case 1 yang berisi method permutasi dilanjutkan dengan break
Proses mencocokan nilai switch dengan case 2 yang berisi method kombinasi dilanjutkan dengan break
Proses mencocokan nilai switch dengan case 3 yang berisi increment variabel I untuk menghentikan looping do-while
Proses looping while untuk cek kondisi dengan nilai apabila i = 0 maka program terus berulang
Method void dengan nama Permutasi
Memasukan nilai variabel dari keybord menggunakan kelas Scanner Proses mencetak ‘masuka nilai n : ‘
Proses menginputkan nilai kedalam variabel n dengan tipe data integer Proses mencetak ‘masukan nilai r : ‘
Proses menginputkan nilai kedalam variabel r dengan tipe data integer Proses deklarasi variabel hasil,hasil2,hasil3 dengan tipe data integer Deklarasi variabel bilangan dengan nilai n dan tipe data integer
Deklarasi variabel bilangan2 dengan nilai n – r yang bertpe data integer Memasukan hasil dari method faktorial kedalam variabel hasil
Memasukan hasil dari method faktorial2 kedalam variabel hasil2
Proses menghitung nilai dari variabel hasil dibagi nilai dari variabel hasil2 dan disimpan kedalam variabel hasil3
Proses mencetak ‘n!’
Proses mencetak ‘nPr = --- = ‘ dan memanggil nilai dari variabel hasil3 Proses mencetak ‘n-r!’
Proses mencetak ‘Maka Hasil Permutasinya adalah’ dan memanggil nilai dari variabel hasil3
Proses mencetak garis baru
Proses membuat method public static int dengan nama faktorial dan berparameter bil dengan tipe data integer
Proses seleksi kondisi if (bil == 1) Proses membalikkan nilai return 1
47
Pembuatan method void dengan nama Kombinasi
Pembuatan instan kelas dengan nama ‘scan’ untuk menginput data Proses mencetak ‘masuka nilai n : ‘
Proses menginputkan nilai kedalam variabel n dengan tipe data integer Proses mencetak ‘masukan nilai r : ‘
Proses menginputkan nilai kedalam variabel r dengan tipe data integer
Proses menghitung nilai n – r dan hasilnya disimpan kedalam variable a dengan tipe data integer
Proses menhtitung factorial(n) dibagi dengan dalam kurung faktorial(a) dikali faktorial (r)
Proses mencetak ‘n!’
Proses mencetak ‘nPr = --- = ‘ dan memanggil nilai dari variabel hasil3 Proses mencetak ‘n-r!’
Proses mencetak ‘Maka Hasil Permutasinya adalah’ dan memanggil nilai dari variabel hasil3
Proses mencetak garis baru
2.
Class berada dalam package Method
Memasukan nilai variabel dari keybord menggunakan kelas Scanner Deklarasi class dengan nama Soal1
Metode main() untuk menjalankan program dengan args sebagai argument dengan elemen bertipe String.
Pembuatan instan kelas dengan nama ‘scan’ Proses mencetak ‘Masukan angka : ‘
Proses memasukkan nilai kedalam variabel a dengan tipe data integer Proses memanggil method prima
Proses membuat method static void prima dengan paramater a beritpe integer Deklarasi variabel c dengan tipe data String dan bernilai null
Proses pengulangan for dengan x yang bertipe data integer sebagai variabel peentu yang memiliki nilai awal 2 dan memiliki batasan x <= 100 serta nilai bertambah terus sejumlah 1
Proses seleksi jika x = 2 atau x = 3 atau x = 5 atau x = 7
Jika kondisi if bernilai benar maka program akan menuju statement variabel c Proses seleksi jika x % 2 = 0 atau x % 3 = 0 atau x % 5 = 0 atau x % 7 = 0 Jika kondisi if bernilai benar maka program akan menuju statement variabel c Proses seleksi kondisi jika x % 2 = 1
Jika kondisi if bernilai benar maka program akan menuju statement variabel c Jika kondisi tidak terpenuhi maka akan statement else akan bekerja
Jika kondisi if bernilai benar maka program akan menuju statement variabelc Proses mencetak ‘Bilangan dan ‘bilangan prima’ serta akan memanggil nilai dari variabel a dan c untuk dicetak
Proses mencetak ‘Program menentukan bilanga prima 1 – 100
Proses pengulangan for dengan x yang bertipe data integer sebagai variabel peentu yang memiliki nilai awal 2 dan memiliki batasan x <= 100 serta nilai bertambah terus sejumlah 1
Proses seleksi jika x = 2 atau x = 3 atau x = 5 atau x = 7
32 33 34 35
Proses seleksi kondisi jika x % 2 = 1
Jika kondisi if bernilai benar maka program akan mencetak x dan spasi Jika kondisi tidak terpenuhi maka akan statement else akan bekerja Jika kondisi if bernilai benar maka program akan mencetak spasi
D. SCREENSHOT PROGRAM
Soal No 1
E. PRAKTIKUM
A. Method Void1. Jalankan program method void dan benahi jika menemukan kesalahan!
Pada program tersebut terdapat kesalahan pada baris ke 22 yang menyatakan bahwa method volbalok tidak dapat di akses dikarenakan pada method volbalok tidak terdapat method static.
Setelah program diperbaiki dengan cara menambahkan method static pada method volbalok maka program dapat berjalan.
2. Apa perbedaan dari kedua method void pada program diatas? Jelaskan!
Perbedaannya yaitu pada methode volprismasegitiga method bersifat private yang artinya tidak dapat diakses oleh kelas lain. Sedangkan pada method volbalok methode bersifat public yang artinya dapat diakses oleh kelas lain.
3. Jelaskan alur kerja program method void tersebut!
Alur kerja program method void tersebut sebagai berikut:
1) User menginputkan angka sesuai dengan anga pilihannya 2) Program akan mencocokan angka pilihan user pada switch case 3) Program akan memanggil methode sesuai angka inputan user
4) Program akan menjalankan proses – proses yanga terdapat pada methode yang dipilih
5) Program akan kembali kepada program utama
6) Program akan berhenti apabila user menginput angka 3
B. Method Return Value
Pada program tersebut terdapat kesalahan di baris 22, 23, 25, 27 sehingga membuat error ketika program dijalankan. Kesalahan teresebut dapat diperbaiki dengan cara
memperbaiki tulisan Public menjadi public dan menambahkan kata method static.
Program setelah diperbaiki
2. Jelaskan alur kerja program method return value tersebut! Alur kerja program method return value tersebut sebagai berikut :
1) Program akan meminta user untuk menginputkan nim , nama, dan jurusan. 2) Hasil inputan akan di simpan di dalam method showData
4. Jelaskan perbedaan penggunaan method void dengan return value!
C. Method Return Value Berparameter Array
1. Jalankan program method return value berparameter array dan benahi jika menemukan kesalahan!
Program setelah diperbaiki
Program tersebut terdapat kesalahan pada import dan Java yang seharusnya java.
2. Jelaskan alur kerja program method return value berparameter array tersebut!
Alur kerja dari program method return value berparameter array tersebut sebagai berikut: 1) Pada main method telah tersedia array dengan nama variabel arr dan telah berisi
sejumlah angka acak (tidak berurut berdasarkan besar kecilnya)
2) Membuat metode yang bernama sort dengan nilai arr berada di dalamnya 3) Program menuju methode sort dengan parameter berupa array dengan nama
variabel acak dan bertipe data integer 4) Nilai awal bil1 dan bil2 = 0
5) Selama bil1 < banyaknya variabel acak maka bil2 = bil1
6) Selama bil2< banyaknya variabel acak maka jika nilai atau isi array dari dari variabel acak kurang dari bil2 variabel acak maka acak [bil1] yang nilainya disimpan dalam variabel bertipe data integer nilainya akan sama dengan acak[bil2]
7) Bil2 terus bertamabah1
3. Tambahkan method untuk mengurutkan angka dari yang terbesar ke terkecil!
4. Jelaskan perbedaan penggunaan method return value dengan method return value yang berparameter array!
Pada method return value, parameter adalah inputan atau nilai yang sudah ditentukan sebelumnya oleh user sedangkan method return value berparameter array parameter berupa array.
D. Method Rekursif
1. Jalankan kelas Input dan benahi jika menemukan kesalahan!
2. Jelaskan alur kerja program method rekursif tersebut! Alur kerja dari program method rekursif yatu sebagai berikut:
1) Deklarasi variabel hasil dengan tipe data integer
2) Inisialisasi dan deklarasi variabel bilangan dengan tipe data integer dan nilai 5 3) Memangil method faktorial dengan cara membungkus dalam variabel hasil 4) Proses yang dilakukan di dalam method fakorial yang berparameter bil dengan
3. Ubahlah program tersebut menja di program interaktif menggunakan inputan user!
4. Buatlah program yang mencetak deret Fibonacci yang di dalamnya terdapat method rekursif. Deret Fibonacci merupakan suatu deret dimana bilangan berikutnya adalah hasil dari penjumlahan 2 bilangan sebelumnya!
5. Jelaskan perbedaan penggunaan method return value dengan method rekursif! Method return value merupakan yang mengembalikkan suatu nilai ketika kembali ke program utamanya disertai dengan mengembalikka suatu nilai. Sedangkan Method rekursif merupakan suatu method / statement yang berfungsi untuk memanggil dirinya sendiri.
F. KESIMPULAN
Tipe – tipe method dalam java ada empat yaitu:
1. Method void
Method void merupakan sebuah method yang tidak mengembalikan nilai yang ada pada method tersebut.
Cara menuliskan method void yaitu
public / private static void nama_metode(parameter / tipe argumen){ pernyataan_1
…..
Pernyataan_n; }
Method return value merupakan method yang mengembalikan suatu nilai ketika kembali ke program utamanya disertai dengan membawa suatu nilai.
Cara menuliskan method return value yaitu
public/private static tipe_nama nama_method(parameter/tipe argumen) { pernyataan_1;
…..
pernyataan_n; return; }
3. Method Return Menggunakan Parameter Array
Method return value dengan menggunakan parameter array pada dasarnya sama seperti method return value berparameter variable hanya saja tipe data nilai yang kembali berupa array atau integer.
Cara menuliskan method return menggunakan parameter array yaitu public/private static tipe_nama nama_method(parameter array) { pernyataan_1;
Method rekursif merupakan suatu method/statement yang berfungsi untuk memanggil dirinya sendiri.
public/private static tipe_nama nama_method(parameter/tipe argumen) { if(argumen == 1)
return 1; else
return (argumen * nama_method(argumen-1));
}Pada method void tidak memiliki nilai bali sedangkan pada method return value memiliki nilai balik