PROGRAM HIMPUNAN, RELASI DAN FUNGSI MENGGUNAKAN JAVA

09.52 , 0 Comments


SCRIPT PROGRAM :
import java.util.Scanner;

public class fungsi{
int[] himpunanA;
int[] himpunanB;
int[] himpunanRelasi;
int[] himpunanAsal;
int jmlHimpunanA, jmlHimpunanB, jmlRelasi, i;

Scanner input = new Scanner(System.in);
public void inputAnggota()
{
System.out.print("Masukkan Jumlah Himpunan A = ");
jmlHimpunanA =input.nextInt();

himpunanA = new int [jmlHimpunanA];
for(int i=0;i<=(jmlHimpunanA-1);i++)
{
System.out.print("Himpunan A yang ke "+ (i+1)+" : ");
himpunanA[i]=input.nextInt();
}

System.out.print("Masukkan Jumlah Himpunan B = ");
jmlHimpunanB = input.nextInt();
himpunanB = new int[jmlHimpunanB];

for(int i=0;i<=(jmlHimpunanB-1);i++)
{
System.out.print("Himpunan B yang ke "+ (i+1)+" : ");
himpunanB[i]=input.nextInt();
}
}

public void cetakHimpunan()
{
System.out.print("Anggota Himpunan A = { ");
for(int i=0;i<=(jmlHimpunanA-1);i++)
{
System.out.print(himpunanA[i]+" ");
}
System.out.println("}");

System.out.print("Anggota Himpunan B = { ");
for(int i=0;i<=(jmlHimpunanB-1);i++)
{
System.out.print(himpunanB[i]+" ");
}
System.out.println("}");
}

public void inputRelasi()
{
int jmlRelasiMax = jmlHimpunanA * jmlHimpunanB;
System.out.println("Relasi Maksimal Adalah "+jmlRelasiMax);
System.out.print(" ");

do
{
System.out.print("Masukkan Jumlah Relasi Yang Terjadi : ");
jmlRelasi = input.nextInt();
}while(jmlRelasi>jmlRelasiMax);

himpunanRelasi = new int[jmlRelasi];
himpunanAsal = new int [jmlRelasi];
System.out.println("Masukkan Relasi Yang Terjadi : ");

for(int i=0; i<=(jmlRelasi-1);i++)
{
int[] temp = new int [jmlRelasi];
int[] temp2 = new int [jmlRelasi];
boolean samaA = false ;
boolean samaB = false ;

System.out.println("Relasi Ke "+(i+1)+" : ");
do
{
System.out.print("Masukkan Asal A : ");
temp[i]=input.nextInt();
System.out.print("Masukkan Tujuan B : ");
temp2[i] = input.nextInt();

for (int j=0;j<=(jmlHimpunanA-1);j++)
{
if(temp[i]==himpunanA[j])
{
samaA=true;
}
}

for(int k=0;k<=(jmlHimpunanB-1);k++)
{
if(temp2[i]==himpunanB[k])
{
samaB=true;
}
}
if(samaA==false || samaB==false)
{
System.out.println("Anggota Himpunan Tidak Terdapat dihimpunan A atau B");
}

if(samaA==true && samaB==true)
{
himpunanRelasi[i]=temp2[i];
himpunanAsal[i]=temp[i];
}
}while(samaA==false || samaB==false);
}
}

public void cekFungsi()
{
int jmlAnggota = 0;
boolean adaSama = false;

for(int i=0;i<=(jmlHimpunanA-1);i++)
{
for(int j=0;j<=(jmlRelasi-1);j++)
{
if(himpunanA[i]==himpunanAsal[j])
{
jmlAnggota++;
}
}
}

for(int i=0;i<=(jmlRelasi-1);i++)
{
for(int j=i+1;j<=(jmlRelasi-1);j++)
{
if(himpunanAsal[i]==himpunanAsal[j])
{
adaSama=true;
}
}
}

if(jmlAnggota==jmlHimpunanA && adaSama == false)
{
System.out.println("Relasi yang diinput adalah Fungsi");
jmlAnggota = 0;
for(int i=0;i<=(jmlHimpunanB-1);i++)
{
for(int j=0;j<=(jmlRelasi-1);j++)
{
if(himpunanB[i]==himpunanRelasi[j])
{
jmlAnggota++;
}
}
}
for(int i=0;i<=(jmlRelasi-1);i++)
{
for(int j=i+1;j<=(jmlRelasi-1);j++)
{
if(himpunanRelasi[i]==himpunanRelasi[j])
{
adaSama=true;
}
}
}
if(jmlAnggota==jmlHimpunanB && adaSama==false)
{
System.out.println("Fungsi yang diinput adalah Fungsi satu-satu");
}
}
else
{
System.out.println("Relasi yang diinput Bukan Fungsi, Hanya Relasi Biasa"+jmlAnggota);
}
}

public void cetakRelasi()
{
System.out.print("Daerah Domain = { ");
for(int i=0;i<=jmlHimpunanA-1;i++)
{
System.out.print(himpunanA[i]+" ");
}
System.out.println("}");

System.out.print("Daerah Kodomain = { ");
for(int i=0;i<=jmlHimpunanB-1;i++)
{
System.out.print(himpunanB[i]+" ");
}
System.out.println("}");

System.out.print("Daerah Range Adalah : { ");
for(int i=0;i<=jmlRelasi-1;i++)
{
boolean adaSama=false;
for (int j=i+1;j<=jmlRelasi-1;j++)
{
if(himpunanRelasi[i]==himpunanRelasi[j])
adaSama=true;
}
if(adaSama==false)
{
System.out.print(himpunanRelasi[i]+" ");
}
}
System.out.println("}");
}

public static void main (String[] args)
{
fungsi fun = new fungsi();
fun.inputAnggota();
fun.cetakHimpunan();
fun.inputRelasi();
fun.cekFungsi();
fun.cetakRelasi();
}
}


OUTPUT PORGRAM :

0 komentar: