Kamis, 05 Januari 2012

Listing Relasi

import java.io.*;
import java.util.Scanner;
public class relasi
{
public static void main ( String [] args ) throws Exception
    {
    Scanner input = new Scanner(System.in);
    int anggotaA;
    int anggotaB;
           
   
    //masukkan banyaknya Anggota dan Elemennya
    System.out.print("\nmasukan Banyaknya AnggotaA : ");
    anggotaA = input.nextInt();
    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();
        }
   

    //masukkan elemen AnggotaB
    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 anggotaA
    System.out.print("Anggota Himpunan A = { ");
    for(int i=0;i<=anggotaA - 1;i++){
    System.out.print(a[i]+"   ");
    }
    System.out.println("}");

   
    //tampil anggotaB
    System.out.print("Anggota Himpunan B = { ");
    for(int i=0;i<=anggotaB - 1 ;i++){
    System.out.print(b[i]+ "  ");
    }
    System.out.println("}");
   
       
    //jumlah kedua anggota
    int jumlahAB = anggotaA + anggotaB;

   
    //inputkan relasi Antara Anggota A dan B
    /*String[] c = new String[jumlahAB];
    String[] d = new String[jumlahAB];*/
    String[] e = new String[jumlahAB];
    System.out.print("masukkan banyaknya relasi" );
    int banyak = input.nextInt();
    char[] f = new char[banyak];
    char[] g = new char[banyak];
    System.out.println("inputkan dengan cara  A,B ");
    DataInputStream bl = new DataInputStream(System.in);
    for(int i=0;i<=banyak-1;i++)
    {
    e[i] = bl.readLine();
    }
   
    //mengambil karakter   
    try{
    for(int i=0;i<=banyak-1;i++)
        {
        e[i].getChars(0,1,f,i);
        e[i].getChars(2,3,g,i);
        }
   
    boolean cek = true;
    for(int i=0;i<=banyak-1;i++)
        {
        for(int x=0;x<=i;x++)
            {
            if(f[i]!=a[x])
                {
                cek = false;
                }
                else
                    if(g[i]!=b[x])
                {
                cek= false;   
                }
            }
        }
   
    if(cek==false)
        {System.out.println("Out Of Range");}
    else
        {System.out.println("\n");}
        }
        catch(Exception ex){ System.out.println("\n");}
   
       //Range
    System.out.print("\nRange = { ");
    for(int i=0;i<=banyak-1;i++)
        {
        System.out.print("{"+g[i] +","+ f[i]+"}");
        }
        System.out.println("}");

    //domain
    System.out.print("Domain = { ");
    for(int i=0;i<=anggotaA-1;i++)
    {
    System.out.print("{"+g[i] +","+ f[i]+"}");
    }
    System.out.println("}");

    //invers
    System.out.print("Invers = { ");
    for(int n=0;n<=banyak-1;n++)
        {
        System.out.print("{"+g[n] +","+ f[n]+"}");
        }
        System.out.print(" }\n\n");
                       
   
    }
   
}

Listing Invers

import java.io.*;
import java.util.Scanner;

public class invers
{
public static void main ( String [] args ) throws Exception
    {
    Scanner input = new Scanner(System.in);
    int anggotaA;
    int anggotaB;
           
   
    //masukkan banyaknya Anggota dan Elemennya
    System.out.print("\nmasukan Banyaknya AnggotaA : ");
    anggotaA = input.nextInt();
    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();
        }
   

    //masukkan elemen AnggotaB
    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 anggotaA
    System.out.print("Anggota Himpunan A = { ");
    for(int i=0;i<=anggotaA - 1;i++){
    System.out.print(a[i]+"   ");
    }
    System.out.println("}");

   
    //tampil anggotaB
    System.out.print("Anggota Himpunan B = { ");
    for(int i=0;i<=anggotaB - 1 ;i++){
    System.out.print(b[i]+ "  ");
    }
    System.out.println("}");
   
       
    //jumlah kedua anggota
    int jumlahAB = anggotaA + anggotaB;

   
    //inputkan relasi Antara Anggota A dan B
    /*String[] c = new String[jumlahAB];
    String[] d = new String[jumlahAB];*/
    String[] e = new String[jumlahAB];
    System.out.print("masukkan banyaknya relasi [ <= "+jumlahAB+" ] : " );
    int banyak = input.nextInt();
    char[] f = new char[banyak];
    char[] g = new char[banyak];
    System.out.println("inputkan dengan cara  A,B ");
    DataInputStream bl = new DataInputStream(System.in);
    for(int i=0;i<=banyak-1;i++)
    {
    e[i] = bl.readLine();
    }
   
    //mengambil karakter   
    try{
    for(int i=0;i<=banyak-1;i++)
        {
        e[i].getChars(0,1,f,i);
        e[i].getChars(2,3,g,i);
        }
   
    boolean cek = true;
    for(int i=0;i<=banyak-1;i++)
        {
        for(int x=0;x<=i;x++)
            {
            if(f[i]!=a[x])
                {
                cek = false;
                }
                else
                    if(g[i]!=b[x])
                {
                cek= false;
                }
            }
        }
   
    if(cek==false)
        {System.out.println("Out Of Range");}
    else
        {System.out.println("\n");}
        }
        catch(Exception ex){ System.out.println("\n");}
   
    //invers
    System.out.print("Invers = { ");
    for(int n=0;n<=banyak-1;n++)
        {
        System.out.print("{"+g[n] +","+ f[n]+"}");
        }
        System.out.print(" }\n\n");
                       
    }
    }

Listing Fungsi

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

        }
       
    }
}