PROGRAM DENGAN MENGGUNAKAN MODUL (FUNGSI)

 1. Buat program yang memiliki suatu fungsi untuk menentukan apakah suatu bilangan itu termasuk bilangan prima atau bukan. Kemudian tampilkan bilangan prima dari 1 sampai 100, hitung jumlahnya dan cari rata-ratanya.

2. Buat program yang memiliki suatu fungsi rekursif untuk mencetak suatu deret fibbonacci. Deret fibbonacci adalah suatu deret dimana bilangan berikutnya merupakan penjumlahan 2 bilangan sebelumnya. (mis : 1, 1, 2, 3, 5, 8, 13, 21, 33,...)

3. Buat program untuk mencetak bilangan amisabel dari 1 sampai 1000. Bilangan amisabel adalah bilangan yang jumlah faktor-faktornya sama dengan bilangan itu sendiri.

Contoh: 1 = 1 6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14


source code :

import java.util.Scanner;

public class bab_4 {

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

 int pilihan;

//membuat menu bab IV

do{

System.out.println("*** MENU BAB IV ***\n");

System.out.println("----------------------");

System.out.println("1. soal 001 (bilangan prima)");

System.out.println("2. soal 002 (bilangan fibonacci)");

System.out.println("3. soal 003 (bilangan amisabel)");

System.out.println("4. keluar dari program");

System.out.println("    ");

System.out.print("masukan pilihan anda : ");

pilihan = in.nextInt();

switch(pilihan){

case 1 :BilPrim001();

break;

case 2 :BilFibonacci002();

break;

case 3 :Amisabel003();

break;

case 4 :   

System.out.println

(" ...:::terima kasih:::... ") ;

break;

default : System.out.println("maaf input yang anda masukkan tidak ada di MENU\n");

}

}while(pilihan!=4);

}

//method bilangan prima

private static void BilPrim001(){

Scanner in = new Scanner(System.in);

System.out.println("_.: Program Menentukan Bilangan Prima :._");

System.out.print("masukan angka : ");

int angka = in.nextInt();

 //menentukan bilangan prima

boolean prima= true;

for(int i=2; i<angka ;i++){

if (angka%i==0){

prima = false;

break;}}

if (prima)

System.out.println(angka +" adalah bilangan prima");

else

System.out.println(angka +" bukan bilangan prima\n");

//menampilkan bilangan prima 1-100

System.out.println("bilangan prima 1-100");

int jumlah=0,n=0;

for (int i=1; i<=100; i++){ int a=0;

for(int j=1; j<=i; j++){ if ((i%j)==0){ a++;}}

if ((a==2)&&(i!=1)){

System.out.print(i+" ");

//menentukan jumlah bilangan prima 1-100

jumlah += i;

//menentukan banyak bilangan prima 1-100

n ++;}}

//menghitung rata-rata bilangan prima

int rarata = jumlah/n;

System.out.println();

//menampilkan hasil

System.out.println("maka rata-rata = jumlah / n");

System.out.println("    = "+jumlah+"/"+n);

System.out.println("    = "+rarata);

System.out.println();}

//method bilangan fibonacci

private static void BilFibonacci002(){

Scanner in = new Scanner(System.in);

System.out.println("_.:Program Penentu Deret Fibonacci:._");

System.out.print("Masukkan batas : ");

int k = in.nextInt();

//menentukan deret fibonacci

System.out.print("Deret Fibonacci : ");

for(int i=1; i<=k; i++)

System.out.print(fibonacci(i) + " ");

System.out.println("\n");}

//method Fibonacci yang akan digunakan untuk mencetak deret fibonacci

private static int fibonacci(int n){ int j;

if(n==1 || n==2) j=1;

else

j = fibonacci(n-1) + fibonacci(n-2);

return j;}

//method bilangan amisabel

private static void Amisabel003(){

System.out.println("_.:Program Penentu bilangan amisabel 1-1000:._");

for (int a=1;a<=1000;a++){

if (amisabel(a)){

System.out.print(a+" = ");

//for untuk memfaktorkan bilangan amisabel

for(int b=1;b<=a;b++){

if(a%b==0){

System.out.print(b);

if (a==1||a/b==2)

break;

System.out.print(" + ");}}

System.out.println();}}

System.out.println();}

//method amisabel yang akan dipanggil untuk mencetak bilangan amisabel

private static boolean amisabel(int a){

int sum=0;

if (a==1)

return true;

else{

for(int b=1;b<a;b++)

if (a%b==0)

sum +=b;

if (sum==a)

return true;

else

return false;

}}}




surveyeah icon JOIN SURVEYEAH!

Komentar