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("Masukkan Jumlah Anggota Himpunan A : ");
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("Masukkan 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("Masukkan Jumlah Relasi terjadi : ");
jumlahRelasi = Integer.parseInt(bacaKey());
}while(jumlahRelasi>jmlRelasiMaks);
out.println("Masukkan 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("Masukkan Asal A : ");
temp[i] = bacaKey();
out.print("Masukkan 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();
}
}
Like this:
Like Loading...
Related