Kamis, 24 November 2016

Source Code LA MATIF 2

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