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;
}}}
JOIN SURVEYEAH!
Komentar
Posting Komentar