import static java.lang.System.out;
import java.io.*;
public class Relation{
String[] himpunanA= new String[100];
String[] himpunanB= new String[100];
String[] himpunanHasil = new String[100];
int jumlahAnggotaA;
int jumlahAnggotaB;
int jumlahRelasi;
private String bacaKey(){
Console konsol = System.console();
return konsol.readLine();
}
public void inputAnggota(){
out.print("Masukan Jumlah Anggota Himpunan : ");
jumlahAnggotaA = Integer.parseInt(bacaKey());
out.println("Anggota Himpunan A :");
for(int i=1;i<=jumlahAnggotaA;i++){
out.print("Anggota "+i+" : ");
himpunanA[i]=bacaKey();
}
out.print("Masukan Jumlah Anggota B : ");
jumlahAnggotaB = Integer.parseInt(bacaKey());
out.println("Anggota Himpunan B:");
for(int i=1;i<=jumlahAnggotaB;i++){
out.print("Anggota "+i+" : ");
himpunanB[i]=bacaKey();
}
}
public void inputRelasi(){
int jmlRelasiMaks = jumlahAnggotaA*jumlahAnggotaB;
out.println("Banyak Relasi maksimal yang terjadi adalah : "+ jmlRelasiMaks);
do{
out.print("Masukan Jumlah Relasi terjadi : ");
jumlahRelasi = Integer.parseInt(bacaKey());
}while(jumlahRelasi>jmlRelasiMaks);
out.println("masukan Relasi yang terjadi : ");
for(int i=1;i<=jumlahRelasi;i++){
String temp[]=new String[100];
String temp2[]=new String[100];
boolean SamaA = false;
boolean SamaB = false;
out.println("Relasi ke "+i+" : ");
do{
out.print("Masukan Asal A : ");
temp[i]=bacaKey();
out.print("Masukan Tujuan B : ");
temp2[i]=bacaKey();
for(int j=1;j<=jumlahAnggotaA;j++){
if(temp[i].equals(himpunanA[j])){
SamaA=true;
}
}
for(int k=1;k<=jumlahAnggotaB;k++){
if(temp2[i].equals(himpunanB[k])){
SamaB=true;
}
}
if(SamaA==false || SamaB==false){
out.println("Anggota Himpunan Tidak terdapat di Himpunan A atau B");
}
if(SamaA==true && SamaB==true){
himpunanHasil[i]=temp2[i];
}
}while(SamaA==false || SamaB==false);
}
}
public void cetakRelasi(){
out.print("Daerah Domain = { ");
for(int i=1;i<=jumlahAnggotaA;i++){
out.print(himpunanA[i]+" ");
}
out.println("}");
out.print("Daerah Kodomain { ");
for(int i=1;i<=jumlahAnggotaB;i++){
out.print(himpunanB[i]+" ");
}
out.println("}");
out.print("Daerah Range adalah : { ");
for(int i=1;i<=jumlahRelasi;i++){
out.print(himpunanHasil[i]+" ");
}
out.println("}");
}
public static void main(String args[]){
Relation A = new Relation();
A.inputAnggota();
A.inputRelasi();
A.cetakRelasi();
}
}
Tidak ada komentar:
Posting Komentar