Program Himpunan Relasi di Java

import static java.lang.System.out;
import static java.lang.System.out; yaitu dimana kita tidak perlu menggunakan System.out jika ingin menampilkan suatu tulisan, yang biasanya menggunakan System.out.print.

import static java.lang.System.err;
import java.io.*;

Import java.io.*; merupakan singkatan dari Input Output. Input melibatkan masukan data dari peralatan input, sedangkan output akan menampilkan data kepada pengguna. Java mendukung mekanisme input output di dalam package java.io dan java.nio. Kelas-kelas Java IO berdasarkan suatu hirarki kelas. Kelas dasar memiliki fungsi umum. Sedangkan kelas-kelas di bawahnya atau subkelas menambahkan fungsi yang lebih khusus. Java.io mempunyai 2 kategori utama yaitu kelas untuk menangani sistem file dan kelas untuk membaca dan menulis stream data. Kategori yang kedua terbagi lagi menjadi kelas untuk menangani byte stream dan kelas untuk menangani character stream.

public class Relation{
Relation adalah yang nama dibuat pada program java, pada saat kita ingin menyimpan program java harus disimpan dengan nama classnya, yang nantinya saat ekesekusi/pemanggilan program yang dipanggil adalah Relation

String[] himpunanA= new String[100];
String[] himpunanB= new String[100];
String[] himpunanHasil = new String[100];
int jumlahAnggotaA;
int jumlahAnggotaB;
int jumlahRelasi;

String adalah variable untuk teks yang merupakan gabungan huruf, angka, whitespace (spasi), dan berbagai karakter. Fungsi ini digunakan untuk membuat identifier String/teks. String yang dibuat pada syntax ini adalah String himpunanA, String himpunanB dan String himpunanHasil, Hasil ketiga tersebut akan bervariabel integer dari masing-masing anggota yang diinput.

private String bacaKey(){
Console konsol = System.console();
return konsol.readLine();
}

bacaKey biasa digunakan untuk membaca suatu tulisan yang tertera di program, biasanya sering digunakan pada password diman 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());

Method inputAnggota ini akan melakukan penginputan terhadap Jumlah Angga Kota himpunan yang diinputkan dimana nilainya akan bersifat Interger.

out.println(“Anggota Himpunan A”);
for(int i=1;i<=jumlahAnggotaA;i++){ out.print(“Anggota “+i+” : “); himpunanA[i]=bacaKey(); }

Pada bagian ini akan melakukan perhitungan terhadap anggota himpunan A tergantung dari berapa banyak anggota himpunan A yang diinginkan.

out.print(“Masukkan Jumlah Anggota B : “);
jumlahAnggotaB = Integer.parseInt(bacaKey());

Tahap ini dimana dilakukan penginputan berapa banyak jumlah himpunan anggota B yang diinginkan.

out.println(“Anggota HImpunan B:”);
for(int i=1;i<=jumlahAnggotaB;i++){ out.print(“Anggota “+i+” : “); himpunanB[i]=bacaKey(); } }

Listing ini dimana dilakukan penginputan himpunan Anggota B yang telah diinput sebelumnya dan dilakukan perhitungan terhadap anggota tersebut dengan nilai interger.

public void inputRelasi(){
int jmlRelasiMaks = jumlahAnggotaA*jumlahAnggotaB;
out.println(“Banyak Relasi maksimal yang terjadi Adalah : “+ jmlRelasiMaks);

Dalam method ini dimana jumlah Anggota Hinpunan A dan B dikali sehingga akan menghasilkan banyaknya relasi yang terjadi antar kedua himpunan tersebut.

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;

Dengan memasukan jumlah relasi yang terjadi akan menghasilkan hubungan antar relasi himpunan A dengan himpunan B.

out.println(“Relasi ke “+i+” : “);
do{
out.print(“Masukkan Asal A : “);
temp[i]=bacaKey();
out.print(“Masukkan Tujuan B : “);
temp2[i]=bacaKey();

Setelah memasukan berapa banyak relasi yang terjadi pada tahap ini akan memasukan Asal A dan Tujuan B dari relasi yang terjadi.

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; } }
Pada listing ini dimana dilakukan perhitungan terhadap jumlah anggota serta himpunan dari ketudda jumlah anggota A dan B tersebut

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);
}
}

Karna menggunakan if maka jika himpunan A dan B memiliki nilai yang sama yaitu false dari data yang diinputkan akan dinyatakan Jumlah anggota himpunan tidak terdapat dihimpunan A maupun himpunan B.

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(“}”);

Method pada cetakRelasi dengan menggunakan daerah domain dimana pada tahap selanjutnya digunakan perhitungan pada jumlah anggota A dan himpunan A. dan inputan daerah kodomain akan menampilkan hasil perhitungan dengan menggunakan Jumlah Anggota B dan Himpunan B

out.print(“Daerah range adalah : { “);
for(int i= 1; i<= jumlahRelasi;i++){ out.print(himpunanHasil[i]+” “); } out.println(“}”); }

Dengan 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();
}
}

Pada tahap akhir ini adalah dilakukan penampilan terhadap seluruh inputan yang telah dibuat dimana akan ditampilkan seluruh input anggota himpunan. Proses ini juga memasukan jumlah inputAnggota, inputRelasi, serta cetakRelasi.

Hasil dari Program berikut adalah

Relasi

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.