Listing Program Relasi
import
static java.lang.System.out;
import
static java.lang.System.err;
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 : ");
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("Angota
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();
}
}
Logika
Program
import
static java.lang.System.out;
import
static java.lang.System.err;
import
java.io.*;
·
Listing
ini digunakan untuk memasukkan nilai 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;
·
Listing
ini digunakan untuk memberikan nama kelas java, serta memberikan penjumlahan
terhadap Anggota A, B dan juga Relasi yang bervariabel integer.
private
String bacaKey(){
Console
konsol = System.console();
return
konsol.readLine();
}
·
Listing
ini digunakan untuk memberikan pengendalian terhadap suatu system Java dengan
cara membacanya dan kemudian kembali lagi ke system java.
public void
inputAnggota(){
out.print("Masukkan
JUmlah Anggota Himpunan : ");
jumlahAnggotaA
= Integer.parseInt(bacaKey());
·
Listing
ini digunakan untuk memberikan perintah masukkan Jumlah Anggota A, serta
digunakan untuk mencari nilai integer(nilai asli)
out.println("Anggota
Himpunan A");
for(int
i=1;i<=jumlahAnggotaA;i++){
out.print("Anggota
"+i+" : ");
himpunanA[i]=bacaKey();
}
·
Listing
ini digunakan untuk memberikan perintah tentang masukan Anggota Himpunan A
kemudian digunakan untuk melakukan perhitungan terhadap Jumlah Anggota A.
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();
}
}
·
Listing
ini digunakan untuk memberikan nilai Anggota B yang bervariabel, Integer
kemudian melakukan perhitungan Jumlah Anggota B secara berulang-ulang.
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);
·
Listing
ini digunakan untuk memasukkan Relasi maksimal dengan cara perhitungannya
adalah Jumlah Anggota A dikali dengan Jumlah Anggota B. Nilai tersebut
bervariabel Integer artinya hasil nilainya adalah asli.
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+" : ");
·
Listing
ini digunakan untuk melakukan perhitungan tentang Relasi dengan memberikan
nilai awal terlebih dahulu.
do{
out.print("Masukkan
Asal A : ");
temp[i]=bacaKey();
out.print("Masukkan
Tujuan B : ");
temp2[i]=bacaKey();
·
Listing
ini digunakan untuk membuat Hasil tanpa masuk ke system dengan cara membaca key
yang sudah dibuat sebelumnya.
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;
}
}
·
Listing
ini digunakan untuk melakukan perulangan perhitungan terhadap Jumlah Anggota A
dan Jumlah Anggota B serta digunakan untuk menghitung Himpunan A dan Himpunan
B.
if(SamaA==false
|| SamaB==false){
out.println("Angota
Himpunan Tidak terdapat di himpunan A atau B");
}
if(SamaA==true
&& SamaB==true){
himpunanHasil[i]=temp2[i];
}
}while(SamaA==false
|| SamaB==false);
}
}
·
Listing
ini digunakan untuk menyatakan jika kalau jumlah Anggota Himpunan tidak
terdapat pada Himpunan A maupun Himpunan B.
public void
cetakRelasi(){
out.print("Daerah
Domain = { ");
for(int
i=1;i<=jumlahAnggotaA;i++){
out.print(himpunanA[i]+" ");
}
out.println("}");
·
Listing
ini digunakan untuk membuat sebuah komponen cetak Relasi, kemudian digunakan
untuk menampilkan Daerah Domain, selanjutnya listing ini digunakan untuk
melakukan perhitungan pada Jumlah Anggota A dan Himpunan A.
out.print("Daerah
Kodomain { ");
for(int
i=1;i<=jumlahAnggotaB;i++){
out.print(himpunanB[i]+" ");
}
·
Listing
ini digunakan untuk menampilkan hasil berupa Daerah kodomain serta digunakan
juga untuk melakukan perhitungan dengan menggunakan Jumlah Anggota B dan
Himpunan B.
out.println("}");
out.print("Daerah
range adalah : { ");
for(int i=
1; i<= jumlahRelasi;i++){
out.print(himpunanHasil[i]+" ");
}
out.println("}");
}
·
Listing
ini digunakan untuk melihat hasil Daerah Range dengan perhitungannya adalah
Menggunakan Jumlah Relasi dan Himpunan Hasil yang sudah dibuat sebelumnya.
public
static void main(String args[]){
Relation A =
new Relation();
A.inputAnggota();
A.inputRelasi();
A.cetakRelasi();
}
}
·
Listing
ini digunakan untuk melakukan proses pemunculan hasil pada listing yang sudah
dibuat. Proses ini juga digunakan untuk memasukkan jumlah inputAnggota,
inputRelasi, serta cetakRelasi.
1 komentar:
wah gg bang logika ku cepet selesai bang
Posting Komentar