import java.io.*;
import java.util.Scanner; //kode ini digunakan untuk meload library scanner.
//Library ini memiliki fungsi salah satunya untuk fungsi menerima inout dari user (input keyboard)
public class fungsi
{
public static void main (String args[]) throws Exception{
Scanner input = new Scanner(System.in); //Untuk menjalankan objek scanner (input) dengan nama alias input)
int anggotaA;
int anggotaB;
//masukkan anggota a
System.out.print("\nmasukan Banyaknya AnggotaA : ");
anggotaA = input.nextInt();
//perintah ini akan meminta input dari user ketika program dijalankan. input tersebut
//nantinya akan dimasukkan ke dalam variabel anggotaA. Tapi ingat, tipe
data anggotaA adalah integer, sehingga bilangan yang bisa diinputkan
//adalah bilangan integer.
int [] a = new int [anggotaA];
System.out.println("Masukkan AnggotaA : ");
for(int i=0 ; i <= anggotaA - 1 ; i++)
{
int L = i + 1;
System.out.print("Elemen ke-["+L+"] :");
a[i] = input.nextInt();
}
//variabel i diberi nilai 0, kemudian, nilai i lebih besar dari anggotaA - 1 dan nilai i akan bertambah
//misalnya jumlah anggota A adalah 2, maka nilai dari i adalah 1 karena anggotaA-1 yaitu 2-1,
//tapi jumlahnya tetap sama yaitu 2, karena variabel 1 dimulai dengan 0, dan nilai
//i akan bertambah 1 yaitu i++
//masukkan anggota b
System.out.print("\nmasukkan banyaknya AnggotaB : ");
anggotaB = input.nextInt();
int [] b = new int [anggotaB];
System.out.println("Masukkan AnggotaB : ");
for(int i=0 ; i <= anggotaB - 1 ; i++)
{
int L = i + 1;
System.out.print("Elemen ke-["+L+"] :");
b[i] = input.nextInt();
}
System.out.println("\n");
//tampil anggota a
System.out.print("Anggota Himpunan A = { ");
for(int i=0;i<=anggotaA - 1;i++){
System.out.print(a[i]+" ");
}
System.out.println("}");
//tampil anggota b
System.out.print("Anggota Himpunan B = { ");
for(int i=0;i<=anggotaB - 1 ;i++)
{
System.out.print(b[i]+ " ");
}
System.out.println("}");
//relasi
int jumlahAB = anggotaA + anggotaB;
String[] e = new String[jumlahAB];
System.out.print("masukkan banyaknya relasi : " );
int banyak = input.nextInt();
char[] f = new char[banyak]; //array domain
char[] g = new char[banyak]; //array kodomain
char[] d = new char[banyak]; //array range
System.out.println("inputkan dengan cara A,B ");
DataInputStream bl = new DataInputStream(System.in);
//int nb=0;
try{
for(int i=0;i<=banyak-1;i++)
{
e[i] = bl.readLine();
}
//mengambil karakter
for(int i=0;i<=banyak-1;i++)
{
e[i].getChars(0,1,f,i); // posisi awal, posisi akhir, tempat
menyimpan, Posisi indeks pertama untuk menyimpan karakter pertama dalam
integer
e[i].getChars(2,3,g,i);
}
}catch (Exception ex) { System.out.println("ada kesalahan " );}
//cek fungsi
boolean cek1=false;
boolean cek2=false;
boolean cek3=false;
for(int i=0;i<=banyak-1;i++) /*dikatakan fungsi apabila
anggota domain hanya mempunyai tepat 1 pasangan pada kodomain,
maka dapat disimpulkan apabila
domain memiliki pasangan lebih dari satu maka dia bukan fungsi,
logikanya jika ditemukan nilai yg
sama pada domain, maka bukan fungsi dan kemudian akan memberikan
value untuk varibel cek1 adalah true*/
{
for(int j=i+1;j<=banyak-1;j++)
{
if(f[i]==f[j])
cek1=true;
break;
}
}
for(int i=0;i<=banyak-1;i++) /* meindikasikan fungsi pada,
logikanya , jika ditemukan nilai yang sama pada kodomain maka dia fungsi
pada*/
{
for(int j=i+1;j<=banyak-1;j++)
{
if(g[i]==g[j])
cek2=true;
break;
}
}
if((cek1==true)||(banyak!=anggotaA))
{
System.out.println("\nnilai yang diinputkan adalah bukan fungsi");
cek3=true; /* variabel ini digunakan untuk mengindikasikan
pencetakan range dan domain, jika nilai bernilai "TRUE" maka
tidak akan dilakukan pencetakan nilai range dan domain*/
}
else
{
System.out.println("nilai yang diinputkan adalah fungsi");
if (cek2==true)
{System.out.println("merupakan fungsi pada");}
else
System.out.println("merupakan fungsi satu-satu");
}
if(cek3!=true) // kondisi untuk dilakukan pencetakan range dan domain iya atau tidak
{
//Range
int x=0;
System.out.print("\nRange = { ");
for(int i=0;i<=banyak-1;i++)
{
for( int j=i+1;j<=banyak-1;j++)
{
if(g[i]==g[j])
++i;
}
d[x]=g[i];
x++;
}
for (int i=0;i<x;i++ )
{
System.out.print(d[i]+" ");
}
System.out.println("}");
//domain
System.out.print("Domain = { ");
for(int i=0;i<=anggotaA-1;i++){
System.out.print(a[i]+" ");
}
System.out.println("}");
}
}
}
Tidak ada komentar:
Posting Komentar