import java.util.*;
public class FungsiInvers {
int[] HimpunanA;
int[] HimpunanB;
int[] HimpunanRelasi;
int[] HimpunanAsal;
int jmlHimpunanA, jmlHimpunanB, jmlRelasi;
boolean satu2 ;
Scanner input = new Scanner(System.in);
public static void main(String args[]){
FungsiInvers aaa = new FungsiInvers();
aaa.inputAnggota();
aaa.cetakHimpunan();
aaa.inputRelasi();
aaa.cekFungsi();
aaa.cetakRelasi();
}
public void inputAnggota(){
System.out.print("Masukkan Jumlah Himpunan A = ");
jmlHimpunanA =Integer.parseInt(input.next());
HimpunanA=new int[jmlHimpunanA];
for(int i = 0;i<= (jmlHimpunanA-1);i++){
System.out.print("Himpunan A yang ke "+ (i+1)+" : ");
HimpunanA[i]=Integer.parseInt(input.next());
}
System.out.print("Masukkan Jumlah Himpunan B = ");
jmlHimpunanB = Integer.parseInt(input.next());
HimpunanB = new int[jmlHimpunanB];
for(int i = 0;i<= (jmlHimpunanB-1);i++){
System.out.print("Himpunan B yang ke "+ (i+1) +" : ");
HimpunanB[i]=Integer.parseInt(input.next());
}
}
public void cetakHimpunan(){
System.out.print("Anggota Himpunan A = { ");
for (int i = 0;i<=(jmlHimpunanA-1);i++){
System.out.print(HimpunanA[i]+ " ");
}
System.out.println("} ");
System.out.print("Anggota Himpunan B = { ");
for (int i = 0;i<=(jmlHimpunanB-1);i++){
System.out.print(HimpunanB[i]+ " ");
}
System.out.println("} ");
}
public void inputRelasi(){
int jmlRelasiMaks = jmlHimpunanA * jmlHimpunanB;
System.out.println("Relasi Maksimal Adalah "+jmlRelasiMaks);
System.out.print(" ");
do{
System.out.print("Masukan Jumlah Relasi yang Terjadi : ");
jmlRelasi = Integer.parseInt(input.next());
}while(jmlRelasi>jmlRelasiMaks);
HimpunanRelasi = new int[jmlRelasi];
HimpunanAsal = new int[jmlRelasi];
System.out.println("Masukkan Relasi yang Terjadi :");
for(int i=0; i<=(jmlRelasi-1);i++){
int[] temp=new int[jmlRelasi];
int[] temp2 = new int[jmlRelasi];
boolean SamaA = false;
boolean SamaB = false;
System.out.println("Relasi ke "+(i+1)+" : ");
do{
System.out.print("Masukkan Asal A : ");
temp[i]=Integer.parseInt(input.next());
System.out.print("Masukkan Tujuan B: ");
temp2[i]=Integer.parseInt(input.next());
for (int j= 0; j<=(jmlHimpunanA-1);j++){
if(temp[i]==HimpunanA[j]){
SamaA=true;
}
}
for (int k= 0; k<=jmlHimpunanB-1;k++){
if(temp2[i]==HimpunanB[k]){
SamaB=true;
}
}
if(SamaA==false || SamaB==false){
System.out.println("Anggota Himpunan Tidak terdapat dihimpunan A atau B");
}
if(SamaA==true && SamaB==true){
HimpunanRelasi[i]=temp2[i];
HimpunanAsal[i]=temp[i];
}
}while(SamaA==false || SamaB==false);
}
}
public void cekFungsi(){
satu2 = false;
int jumlahAnggota = 0;
boolean adaSama = false;
for(int i =0;i<=(jmlHimpunanA-1);i++){
for(int j=0;j<=(jmlRelasi-1);j++){
if(HimpunanA[i]==HimpunanAsal[j]){
jumlahAnggota++;
}
}
}
for(int i = 0;i<=(jmlRelasi-1);i++){
for(int j=i+1;j<=(jmlRelasi-1);j++){
if(HimpunanAsal[i]==HimpunanAsal[j]){
adaSama=true;
}
}
}
if(jumlahAnggota==jmlHimpunanA && adaSama == false){
System.out.println("Relasi yang diInput adalah Fungsi");
jumlahAnggota = 0;
for(int i =0;i<=(jmlHimpunanB-1);i++){
for(int j=0;j<=(jmlRelasi-1);j++){
if(HimpunanB[i]==HimpunanRelasi[j]){
jumlahAnggota++;
}
}
}
for(int i = 0;i<=(jmlRelasi-1);i++){
for(int j=i+1;j<=(jmlRelasi-1);j++){
if(HimpunanRelasi[i]==HimpunanRelasi[j]){
adaSama=true;
}
}
}
if(jumlahAnggota==jmlHimpunanB && adaSama == false){
System.out.println("Fungsi Yang Diinput Adalah Fungsi satu-satu");
satu2= true;
}
}else {
System.out.println("Relasi yang di input Bukan Fungsi hanya relasi biasa"+ jumlahAnggota);
}
}
public void cetakRelasi(){
System.out.print("Daerah Domain = { ");
for(int i=0;i<=jmlHimpunanA-1;i++){
System.out.print(HimpunanA[i]+" ");
}
System.out.println("}");
System.out.print("Daerah Kodomain { ");
for(int i=0;i<=jmlHimpunanB-1;i++){
System.out.print(HimpunanB[i]+ " ");
}
System.out.println("}");
System.out.print("Daerah range adalah : { ");
for(int i= 0;i<= jmlRelasi-1;i++){
boolean adaSama=false;
for (int j = i+1;j<=jmlRelasi-1;j++){
if(HimpunanRelasi[i]==HimpunanRelasi[j])
adaSama=true;
}
if(adaSama==false)System.out.print(HimpunanRelasi[i]+" ");
}
System.out.println("}");
if(satu2){
System.out.println("Fungsi Inversnya Adalah : ");
System.out.print("Daerah Domain = { ");
for(int i=0;i<=jmlHimpunanA-1;i++){
System.out.print(HimpunanB[i]+" ");
}
System.out.println("}");
System.out.print("Daerah Kodomain { ");
for(int i=0;i<=jmlHimpunanB-1;i++){
System.out.print(HimpunanA[i]+ " ");
}
System.out.println("}");
System.out.print("Daerah range adalah : { ");
for(int i= 0;i<= jmlRelasi-1;i++){
boolean adaSama=false;
for (int j = i+1;j<=jmlRelasi-1;j++){
if(HimpunanAsal[i]==HimpunanAsal[j])
adaSama=true;
}
if(adaSama==false)System.out.print(HimpunanAsal[i]+" ");
}
System.out.println("}");
}
}
}
Fajarini Nurul
Sabtu, 18 Januari 2014
LA MATIF PERT 3 (FUNGSI)
import java.util.Scanner;
public class Fungsii {
int[] HimpunanA;
int[] HimpunanB;
int[] HimpunanRelasi;
int[] HimpunanAsal;
int jmlHimpunanA, jmlHimpunanB, jmlRelasi;
Scanner input=new Scanner(System.in);
public static void main(String args[]){
Fungsi madhun = new Fungsi();
madhun.inputAnggota();
madhun.cetakHimpunan();
madhun.inputRelasi();
madhun.cekFungsi();
madhun.cetakRelasi();
}
public void inputAnggota(){
System.out.print("Masukkan Jumlah Himpunan A = ");
jmlHimpunanA =input.nextInt();
HimpunanA=new int[jmlHimpunanA];
for(int i = 0;i<= (jmlHimpunanA-1);i++){
System.out.print("Himpunan A yang ke "+ (i+1)+" : ");
HimpunanA[i]=input.nextInt();
}
System.out.print("Masukkan Jumlah Himpunan B = ");
jmlHimpunanB = input.nextInt();
HimpunanB = new int[jmlHimpunanB];
for(int i = 0;i<= (jmlHimpunanB-1);i++){
System.out.print("Himpunan B yang ke "+ (i+1) +" : ");
HimpunanB[i]=input.nextInt();
}
}
public void cetakHimpunan(){
System.out.print("Anggota Himpunan A = { ");
for (int i = 0;i<=(jmlHimpunanA-1);i++){
System.out.print(HimpunanA[i]+ " ");
}
System.out.println("} ");
System.out.print("Anggota Himpunan B = { ");
for (int i = 0;i<=(jmlHimpunanB-1);i++){
System.out.print(HimpunanB[i]+ " ");
}
System.out.println("} ");
}
public void inputRelasi(){
int jmlRelasiMaks = jmlHimpunanA * jmlHimpunanB;
System.out.println("Relasi Maksimal Adalah "+jmlRelasiMaks);
System.out.print(" ");
do{
System.out.print("Masukan Jumlah Relasi yang Terjadi : ");
jmlRelasi = input.nextInt();
}while(jmlRelasi>jmlRelasiMaks);
HimpunanRelasi = new int[jmlRelasi];
HimpunanAsal = new int[jmlRelasi];
System.out.println("Masukkan Relasi yang Terjadi :");
for(int i=0; i<=(jmlRelasi-1);i++){
int[] temp=new int[jmlRelasi];
int[] temp2 = new int[jmlRelasi];
boolean SamaA = false;
boolean SamaB = false;
System.out.println("Relasi ke "+(i+1)+" : ");
do{
System.out.print("Masukkan Asal A : ");
temp[i]=input.nextInt();
System.out.print("Masukkan Tujuan B: ");
temp2[i]=input.nextInt();
for (int j= 0; j<=(jmlHimpunanA-1);j++){
if(temp[i]==HimpunanA[j]){
SamaA=true;
}
}
for (int k= 0; k<=jmlHimpunanB-1;k++){
if(temp2[i]==HimpunanB[k]){
SamaB=true;
}
}
if(SamaA==false || SamaB==false){
System.out.println("Anggota Himpunan Tidak terdapat dihimpunan A atau B");
}
if(SamaA==true && SamaB==true){
HimpunanRelasi[i]=temp2[i];
HimpunanAsal[i]=temp[i];
}
}while(SamaA==false || SamaB==false);
}
}
public void cekFungsi(){
int jumlahAnggota = 0;
boolean adaSama = false;
for(int i =0;i<=(jmlHimpunanA-1);i++){
for(int j=0;j<=(jmlRelasi-1);j++){
if(HimpunanA[i]==HimpunanAsal[j]){
jumlahAnggota++;
}
}
}
for(int i = 0;i<=(jmlRelasi-1);i++){
for(int j=i+1;j<=(jmlRelasi-1);j++){
if(HimpunanAsal[i]==HimpunanAsal[j]){
adaSama=true;
}
}
}
if(jumlahAnggota==jmlHimpunanA && adaSama == false){
System.out.println("Relasi yang diInput adalah Fungsi");
}else {
System.out.println("Relasi yang di input Bukan Fungsi hanya relasi biasa");
}
}
public void cetakRelasi(){
System.out.print("Daerah Domain = { ");
for(int i=0;i<=jmlHimpunanA-1;i++){
System.out.print(HimpunanA[i]+" ");
}
System.out.println("}");
System.out.print("Daerah Kodomain { ");
for(int i=0;i<=jmlHimpunanB-1;i++){
System.out.print(HimpunanB[i]+ " ");
}
System.out.println("}");
System.out.print("Daerah range adalah : { ");
for(int i= 0;i<= jmlRelasi-1;i++){
boolean adaSama=false;
for (int j = i+1;j<=jmlRelasi-1;j++){
if(HimpunanRelasi[i]==HimpunanRelasi[j])
adaSama=true;
}
if(adaSama==false)System.out.print(HimpunanRelasi[i]+" ");
}
System.out.println("}");
}
}
public class Fungsii {
int[] HimpunanA;
int[] HimpunanB;
int[] HimpunanRelasi;
int[] HimpunanAsal;
int jmlHimpunanA, jmlHimpunanB, jmlRelasi;
Scanner input=new Scanner(System.in);
public static void main(String args[]){
Fungsi madhun = new Fungsi();
madhun.inputAnggota();
madhun.cetakHimpunan();
madhun.inputRelasi();
madhun.cekFungsi();
madhun.cetakRelasi();
}
public void inputAnggota(){
System.out.print("Masukkan Jumlah Himpunan A = ");
jmlHimpunanA =input.nextInt();
HimpunanA=new int[jmlHimpunanA];
for(int i = 0;i<= (jmlHimpunanA-1);i++){
System.out.print("Himpunan A yang ke "+ (i+1)+" : ");
HimpunanA[i]=input.nextInt();
}
System.out.print("Masukkan Jumlah Himpunan B = ");
jmlHimpunanB = input.nextInt();
HimpunanB = new int[jmlHimpunanB];
for(int i = 0;i<= (jmlHimpunanB-1);i++){
System.out.print("Himpunan B yang ke "+ (i+1) +" : ");
HimpunanB[i]=input.nextInt();
}
}
public void cetakHimpunan(){
System.out.print("Anggota Himpunan A = { ");
for (int i = 0;i<=(jmlHimpunanA-1);i++){
System.out.print(HimpunanA[i]+ " ");
}
System.out.println("} ");
System.out.print("Anggota Himpunan B = { ");
for (int i = 0;i<=(jmlHimpunanB-1);i++){
System.out.print(HimpunanB[i]+ " ");
}
System.out.println("} ");
}
public void inputRelasi(){
int jmlRelasiMaks = jmlHimpunanA * jmlHimpunanB;
System.out.println("Relasi Maksimal Adalah "+jmlRelasiMaks);
System.out.print(" ");
do{
System.out.print("Masukan Jumlah Relasi yang Terjadi : ");
jmlRelasi = input.nextInt();
}while(jmlRelasi>jmlRelasiMaks);
HimpunanRelasi = new int[jmlRelasi];
HimpunanAsal = new int[jmlRelasi];
System.out.println("Masukkan Relasi yang Terjadi :");
for(int i=0; i<=(jmlRelasi-1);i++){
int[] temp=new int[jmlRelasi];
int[] temp2 = new int[jmlRelasi];
boolean SamaA = false;
boolean SamaB = false;
System.out.println("Relasi ke "+(i+1)+" : ");
do{
System.out.print("Masukkan Asal A : ");
temp[i]=input.nextInt();
System.out.print("Masukkan Tujuan B: ");
temp2[i]=input.nextInt();
for (int j= 0; j<=(jmlHimpunanA-1);j++){
if(temp[i]==HimpunanA[j]){
SamaA=true;
}
}
for (int k= 0; k<=jmlHimpunanB-1;k++){
if(temp2[i]==HimpunanB[k]){
SamaB=true;
}
}
if(SamaA==false || SamaB==false){
System.out.println("Anggota Himpunan Tidak terdapat dihimpunan A atau B");
}
if(SamaA==true && SamaB==true){
HimpunanRelasi[i]=temp2[i];
HimpunanAsal[i]=temp[i];
}
}while(SamaA==false || SamaB==false);
}
}
public void cekFungsi(){
int jumlahAnggota = 0;
boolean adaSama = false;
for(int i =0;i<=(jmlHimpunanA-1);i++){
for(int j=0;j<=(jmlRelasi-1);j++){
if(HimpunanA[i]==HimpunanAsal[j]){
jumlahAnggota++;
}
}
}
for(int i = 0;i<=(jmlRelasi-1);i++){
for(int j=i+1;j<=(jmlRelasi-1);j++){
if(HimpunanAsal[i]==HimpunanAsal[j]){
adaSama=true;
}
}
}
if(jumlahAnggota==jmlHimpunanA && adaSama == false){
System.out.println("Relasi yang diInput adalah Fungsi");
}else {
System.out.println("Relasi yang di input Bukan Fungsi hanya relasi biasa");
}
}
public void cetakRelasi(){
System.out.print("Daerah Domain = { ");
for(int i=0;i<=jmlHimpunanA-1;i++){
System.out.print(HimpunanA[i]+" ");
}
System.out.println("}");
System.out.print("Daerah Kodomain { ");
for(int i=0;i<=jmlHimpunanB-1;i++){
System.out.print(HimpunanB[i]+ " ");
}
System.out.println("}");
System.out.print("Daerah range adalah : { ");
for(int i= 0;i<= jmlRelasi-1;i++){
boolean adaSama=false;
for (int j = i+1;j<=jmlRelasi-1;j++){
if(HimpunanRelasi[i]==HimpunanRelasi[j])
adaSama=true;
}
if(adaSama==false)System.out.print(HimpunanRelasi[i]+" ");
}
System.out.println("}");
}
}
LA MATIF PERT 2 (Relasi)
import java.util.*;
public class Relasi{
int[] himpunanA= new int[100];
int[] himpunanB= new int[100];
int[] himpunanHasil = new int[100];
int jumlahAnggotaA;
int jumlahAnggotaB;
int jumlahRelasi;
Scanner input = new Scanner(System.in);
public static void main(String args[]){
Relasi A = new Relasi();
A.inputAnggota();
A.inputRelasi();
A.cetakRelasi();
}
public void inputAnggota(){
System.out.print("Masukkan Jumlah Anggota Himpunan A : ");
jumlahAnggotaA = Integer.parseInt(input.next());
System.out.println("Anggota Himpunan A");
for(int i=1;i<=jumlahAnggotaA;i++){
System.out.print("Anggota "+i+" : ");
himpunanA[i]=Integer.parseInt(input.next());
}
System.out.print("Masukkan Jumlah Anggota Himpunan B : ");
jumlahAnggotaB = Integer.parseInt(input.next());
System.out.println("Anggota Himpunan B");
for(int i=1;i<=jumlahAnggotaB;i++){
System.out.print("Anggota "+i+" : ");
himpunanB[i]=Integer.parseInt(input.next());
}
}
public void inputRelasi(){
int jmlRelasiMaks = jumlahAnggotaA*jumlahAnggotaB;
System.out.println("Banyak Relasi maksimal yang terjadi Adalah : "+ jmlRelasiMaks);
do{
System.out.print("Masukkan Jumlah Relasi terjadi : ");
jumlahRelasi = Integer.parseInt(input.next());
}while(jumlahRelasi>jmlRelasiMaks);
System.out.println("Masukkan Relasi yang Terjadi :");
for(int i=1; i<=jumlahRelasi;i++){
int temp[]=new int[100];
int temp2[] = new int[100];
boolean SamaA = false;
boolean SamaB = false;
System.out.println("Relasi ke "+i+" : ");
do{
System.out.print("Masukkan Asal A : ");
temp[i]=Integer.parseInt(input.next());
System.out.print("Masukkan Tujuan B: ");
temp2[i]=Integer.parseInt(input.next());
for (int j= 1; j<=jumlahAnggotaA;j++){
if(temp[i]==himpunanA[j]){
SamaA=true;
}
}
for (int k= 1; k<=jumlahAnggotaB;k++){
if(temp2[i]==himpunanB[k]){
SamaB=true;
}
}
if(SamaA==false || SamaB==false){
System.out.println("Anggota Himpunan Tidak terdapat dihimpunan A atau B");
}
if(SamaA==true && SamaB==true){
himpunanHasil[i]=temp2[i];
}
}while(SamaA==false || SamaB==false);
}
}
public void cetakRelasi(){
System.out.print("Daerah Domain = { ");
for(int i=1;i<=jumlahAnggotaA;i++){
System.out.print(himpunanA[i]+" ");
}
System.out.println("}");
System.out.print("Daerah Kodomain { ");
for(int i=1;i<=jumlahAnggotaB;i++){
System.out.print(himpunanB[i]+ " ");
}
System.out.println("}");
System.out.print("Daerah range adalah : { ");
for(int i= 1;i<= jumlahRelasi;i++){
System.out.print(himpunanHasil[i]+ " ");
}
System.out.println("}");
}
}
public class Relasi{
int[] himpunanA= new int[100];
int[] himpunanB= new int[100];
int[] himpunanHasil = new int[100];
int jumlahAnggotaA;
int jumlahAnggotaB;
int jumlahRelasi;
Scanner input = new Scanner(System.in);
public static void main(String args[]){
Relasi A = new Relasi();
A.inputAnggota();
A.inputRelasi();
A.cetakRelasi();
}
public void inputAnggota(){
System.out.print("Masukkan Jumlah Anggota Himpunan A : ");
jumlahAnggotaA = Integer.parseInt(input.next());
System.out.println("Anggota Himpunan A");
for(int i=1;i<=jumlahAnggotaA;i++){
System.out.print("Anggota "+i+" : ");
himpunanA[i]=Integer.parseInt(input.next());
}
System.out.print("Masukkan Jumlah Anggota Himpunan B : ");
jumlahAnggotaB = Integer.parseInt(input.next());
System.out.println("Anggota Himpunan B");
for(int i=1;i<=jumlahAnggotaB;i++){
System.out.print("Anggota "+i+" : ");
himpunanB[i]=Integer.parseInt(input.next());
}
}
public void inputRelasi(){
int jmlRelasiMaks = jumlahAnggotaA*jumlahAnggotaB;
System.out.println("Banyak Relasi maksimal yang terjadi Adalah : "+ jmlRelasiMaks);
do{
System.out.print("Masukkan Jumlah Relasi terjadi : ");
jumlahRelasi = Integer.parseInt(input.next());
}while(jumlahRelasi>jmlRelasiMaks);
System.out.println("Masukkan Relasi yang Terjadi :");
for(int i=1; i<=jumlahRelasi;i++){
int temp[]=new int[100];
int temp2[] = new int[100];
boolean SamaA = false;
boolean SamaB = false;
System.out.println("Relasi ke "+i+" : ");
do{
System.out.print("Masukkan Asal A : ");
temp[i]=Integer.parseInt(input.next());
System.out.print("Masukkan Tujuan B: ");
temp2[i]=Integer.parseInt(input.next());
for (int j= 1; j<=jumlahAnggotaA;j++){
if(temp[i]==himpunanA[j]){
SamaA=true;
}
}
for (int k= 1; k<=jumlahAnggotaB;k++){
if(temp2[i]==himpunanB[k]){
SamaB=true;
}
}
if(SamaA==false || SamaB==false){
System.out.println("Anggota Himpunan Tidak terdapat dihimpunan A atau B");
}
if(SamaA==true && SamaB==true){
himpunanHasil[i]=temp2[i];
}
}while(SamaA==false || SamaB==false);
}
}
public void cetakRelasi(){
System.out.print("Daerah Domain = { ");
for(int i=1;i<=jumlahAnggotaA;i++){
System.out.print(himpunanA[i]+" ");
}
System.out.println("}");
System.out.print("Daerah Kodomain { ");
for(int i=1;i<=jumlahAnggotaB;i++){
System.out.print(himpunanB[i]+ " ");
}
System.out.println("}");
System.out.print("Daerah range adalah : { ");
for(int i= 1;i<= jumlahRelasi;i++){
System.out.print(himpunanHasil[i]+ " ");
}
System.out.println("}");
}
}
LA MATIF PERT 1 (Himpunan)
import java.util.*;
import java.io.*;
public class himpunanLA{
Scanner input = new Scanner(System.in);
int[] himpunanA= new int[100];
int[] himpunanB= new int[100];
int jumlahAnggotaA;
int jumlahAnggotaB;
public void dataAnggota() {
System.out.print("Masukkan Jumlah Anggota Himpunan A : ");
jumlahAnggotaA = input.nextInt();
System.out.println("Anggota Himpunan A");
for(int i=1;i<=jumlahAnggotaA;i++){
System.out.print("Anggota "+i+" : ");
himpunanA[i]=input.nextInt();
}
System.out.print("Masukkan Jumlah Anggota Himpunan B : ");
jumlahAnggotaB = input.nextInt();
System.out.println("Anggota Himpunan B");
for(int i=1;i<=jumlahAnggotaB;i++){
System.out.print("Anggota "+i+" : ");
himpunanB[i]=input.nextInt();
}
}
public void tampilAnggota(){
System.out.print("Anggota Himpunan A = { ");
for(int i=1;i<=jumlahAnggotaA;i++){
System.out.print(himpunanA[i]+" ");
}
System.out.println("}");
System.out.print("Anggota Himpunan B = { ");
for(int i=1;i<=jumlahAnggotaB;i++){
System.out.print(himpunanB[i]+ " ");
}
System.out.println("}");
}
public void himpunanGabungan(){
System.out.print("Himpunan Gabungan A U B : { ");
for(int i=1;i<=jumlahAnggotaA;i++){
System.out.print(himpunanA[i]+" ");
}
for( int i=1;i<=jumlahAnggotaB;i++){
boolean adaSama = false;
for(int j=1;j<=jumlahAnggotaA;j++){
if(himpunanB[i]==himpunanA[j])
adaSama=true;
}
if(adaSama==false){
System.out.print(himpunanB[i]+" ");
}
}
System.out.println("}");
}
public void himpunanIrisan(){
System.out.print("Himpunan Irisan A n B : { ");
for( int i=1;i<=jumlahAnggotaB;i++){
boolean adaSama = false;
for(int j=1;j<=jumlahAnggotaA;j++){
if(himpunanB[i]==himpunanA[j])
adaSama=true;
}
if(adaSama==true){
System.out.print(himpunanB[i]+" ");
}
}
System.out.println(" }");
}
public void himpunanSelisih(){
System.out.print("Himpunan Selisih A - B : { ");
for( int i=1;i<=jumlahAnggotaA;i++){
boolean adaSama = false;
for(int j=1;j<=jumlahAnggotaB;j++){
if(himpunanA[i]==himpunanB[j])
adaSama=true;
}
if(adaSama==false){
System.out.print(himpunanA[i]+" ");
}
}
System.out.println("}");
System.out.print("Himpunan Selisih B - A : { ");
for( int i=1;i<=jumlahAnggotaB;i++){
boolean adaSama = false;
for(int j=1;j<=jumlahAnggotaA;j++){
if(himpunanB[i]==himpunanA[j])
adaSama=true;
}
if(adaSama==false){
System.out.print(himpunanB[i]+" ");
}
}
System.out.println("}");
}
public static void main(String args[]){
himpunanLA bilangan = new himpunanLA();
bilangan.dataAnggota();
bilangan.tampilAnggota();
bilangan.himpunanGabungan();
bilangan.himpunanIrisan();
bilangan.himpunanSelisih();
}
}
Minggu, 30 Juni 2013
Bioinformatika
Nurul Fajarini
54409402
4IA23
Bioinformatika??
Sistem biologi adalah sekelompok organ yang bekerja sama untuk melakukan tugas tertentu.Sistem komputer adalah elemen-elemen yang
terkait untuk menjalankan suatu aktivitas dengan menggunakan komputer. jadi Bioinformatika merupakan
ilmu terapan yang lahir dari perkembangan teknologi informasi dibidang
molekular. Pembahasan dibidang bioinformatik ini tidak terlepas dari
perkembangan biologi molekular modern, salah satunya peningkatan pemahaman
manusia dalam bidang genomic yang terdapat dalam molekul DNA .
Sejarah
Kemajuan teknik biologi molekular dalam mengungkap sekuens biologis dari
protein (sejak awal 1950-an) dan asam nukleat (sejak 1960-an) mengawali perkembangan basis
data dan teknik analisis sekuens biologis. Basis data sekuens protein mulai
dikembangkan pada tahun 1960-an di Amerika Serikat, sementara basis data sekuens DNA dikembangkan
pada akhir 1970-an di Amerika Serikat danJerman (pada European
Molecular Biology Laboratory, Laboratorium Biologi Molekular Eropa).
Penemuan teknik sekuensing DNA yang lebih cepat pada
pertengahan 1970-an menjadi landasan terjadinya ledakan jumlah sekuens DNA yang
berhasil diungkapkan pada 1980-an dan 1990-an, menjadi salah satu pembuka jalan bagi proyek-proyek
pengungkapan genom, meningkatkan kebutuhan akan pengelolaan dan analisis
sekuens, dan pada akhirnya menyebabkan lahirnya bioinformatika.
Perkembangan Internet juga mendukung berkembangnya bioinformatika.
Basis data bioinformatika yang terhubung melalui Internet memudahkan ilmuwan
mengumpulkan hasil sekuensing ke dalam basis data tersebut maupun memperoleh
sekuens biologis sebagai bahan analisis. Selain itu, penyebaran program-program aplikasi bioinformatika melalui Internet
memudahkan ilmuwan mengakses program-program tersebut dan kemudian memudahkan
pengembangannya.
Contoh Bidang
Pada Bidang Bioinformatika mencakup penerapan
metode-metode matematika, statistika, dan informatika untuk
memecahkan masalah-masalah biologis, terutama dengan menggunakan sekuens DNA dan asam aminoserta informasi
yang berkaitan dengannya. Kemampuan untuk memahami
dan memanipulasi kode genetik DNA ini sangat didukung oleh teknologi
informasi melalui perkembangan hardware dan soffware. Baik pihak pabrikan
sofware dan harware maupun pihak ketiga dalam produksi perangkat lunak.
Salah satu contohnya dapat
dilihat pada upaya Celera Genomics, perusahaan bioteknologi Amerika Serikat
yang melakukan pembacaan sekuen genom manusia yang secara maksimal memanfaatkan
teknologi informasi sehingga bisa melakukan pekerjaannya dalam waktu yang
singkat. Contoh
bioinformatika dalam bidang meliputi basis data untuk
mengelola informasi biologis, penyejajaran sekuens (sequence alignment),
prediksi struktur untuk meramalkan bentuk struktur protein maupun
struktur sekunder RNA, analisisfilogenetik, dan
analisis ekspresi gen.
Penerapan utama pada bioinformatika
BLAST (Basic Local Alignment Search Tool)
merupakan perkakas bioinformatika yang berkaitan erat dengan penggunaan basis
data sekuens biologis. Penelusuran BLAST (BLAST search) pada basis data
sekuens memungkinkan ilmuwan untuk mencari sekuens asam nukleat maupun protein
yang mirip dengan sekuens tertentu yang dimilikinya. Hal ini berguna misalnya
untuk menemukan gensejenis pada beberapa organisme atau untuk memeriksa keabsahan hasil sekuensing maupun untuk memeriksa fungsi gen
hasil sekuensing. Algoritma yang mendasari kerja BLAST adalah
penyejajaran sekuens.
PDB (Protein Data Bank, Bank Data
Protein) adalah basis data tunggal yang menyimpan model struktural tiga dimensi protein danasam nukleat hasil penentuan eksperimental (dengan kristalografi sinar-X, spektroskopi NMR dan mikroskopi elektron). PDB menyimpan data
struktur sebagai koordinat tiga dimensi yang menggambarkan posisi atom-atom dalam
referensi :
Minggu, 02 Juni 2013
Parallel Processing
Nurul Fajarini
54409402
4IA23
Komputasi modern
Komputasi modern adalah perhitungan yang menggunakan
komputer canggih dimana pada computer tersebut tersimpan sejumlah algoritma
untuk menyelesaikan masalah perhitungan secara efektif dan efisien.
paralel processing
paralel processing adalah suatu program yang dijalankan secara simultan dengan
menggunakan lebih dari satu CPU untuk menjalankannya, sehingga program dapat
berjalan lebih cepat karena menggunakan lebih dari satu CPU.
Tujuanya adalah untuk mempercepat penyelesaian dalam suatu pekerjaan,
karena dapat bisa dilakukan secara bersamaan dalam waktu yang sama.
Komputasi parallel
Komputasi
parallel adalah teknik yang dilakukan untuk melakukan komputasi menggunakan
beberapa computer secara bersamaan. Computer-komputer tersebut dihubungkan
dengan jaringan sehingga dapat dihubungkan secara parallel dan dapat
menyelesaikan suatu masalah.
Komputasi paralel membutuhkan:
- · Algoritma
- · bahasa pemrograman
- · compiler
Paralel prosessing komputasi
adalah proses komputasi di komputer dengan memakai suatu bahasa
pemrograman yang dijalankan secara paralel pada saat bersamaan.
Perbedaan antara komputasi tunggal dengan parallel
Pada komputasi
tunggal terdapat satu CPU, dan jika tugas atau instruksi terlalu banyak maka
CPU akan mengerjakan atau memprosesnya secara satu persatu, sehingga membutuhkan
waktu yang lama dan akan menimbulkan antrian.
Pada
komputasi parallel terdapat lebih dari satu CPU, dan jika tugas atau instruksi
terlalu banyak maka CPU akan mengerjakan atau memprosesnya dengan membagi tugas,
sehinggadapat dikerjakan dengan cepat dan mempercepat waktu penyelesaian.
Hubungan
komputasi modern dengan parallel processing
Sangat
berkaitan hubungannya antara komputasi modern dengan parallel processing,
karena dengan menggunakan system komputasi modern sangat cepat dan efisien
dibandingkan secara manual, terutama dengan menggunakan teknik parallel processing
akan semakin cepat dalam menyelesaikan suatu pekerjaan. Suatu komputasi modern
disertai dengan parallel processing semakin diterapkan sehari-harinya, cara
meningkatkan system ini adalah dengan mengupgrade prosessor dan meningkatkan
perangkat keras agar kinerja computer semakin efisien dan cepat meyelesaikan
tugas.
referensi:
http://www.scribd.com/doc/32982265/Parallel-Processing
http://qodel.blogspot.com/2011/04/parallel-processing.html
http://bagusonthespot.blogspot.com/2012/04/parallel-processing.html
Jumat, 19 April 2013
Komputasi Modern
Nurul Fajarini
54409402
4IA23
Definisi komputasi modern
Terdapat dua kata dalam Komputasi
modern yaitu komputasi dan modern.Komputasi
adalah cara untuk menemukan pemecahan
permasalahan dari data input dengan suatu algoritma. Komputasi merupakan subbagian
dari matematika. Disebut modern karena menggunakan alat canggih saat
menyelesaian masalah. Jadi Komputasi modern adalah perhitungan yang menggunakan
komputer canggih dimana pada computer tersebut tersimpan sejumlah algoritma untuk
menyelesaikan masalah perhitungan secara efektif dan efisien. Selain itu
Komputasi modern digunakan untuk memecahkan masalah antara lain untuk
menghitung akurasi (bit, floating point), kecepatan (dalam satuanHz), problem
volume besar (paralel), modeling (NN dan GA) dan kompleksitas (menggunakan
Teori Big O).
Sejarah Komputasi Modern
George stibitz secara internasional diakui sebagai ayah dari
komputer digital modern.
sementara bekerja di laboratorium bel di November 1937, stibitz
menciptakan dan membangun sebuah relay berbasis kalkulator ia dijuluki sebagai
"model k" (untuk "meja dapur", di mana dia telah berkumpul
itu), yang adalah orang pertama yang menggunakan sirkuit biner untuk melakukan
operasi aritmatika. Kemudian model menambahkan kecanggihan yang lebih besar
termasuk aritmatika
dan kemampuan pemrograman kompleks.
Salah satu tokoh yang sangat mempengaruhi perkembangan komputasi
modern adalah John von Neumann (1903-1957), Beliau adalah ilmuan yang
meletakkan dasar-dasar komputer modern. Von Neumann telah menjadi ilmuwan besar
abad 21. Von Neumann memberikan berbagai sumbangsih dalam bidang matematika,
teori kuantum, game theory, fisika nuklir, dan ilmu komputer yang di salurkan
melalui karya-karyanya . Beliau juga merupakan salah satu ilmuwan yang terkait
dalam pembuatan bom atom di Los Alamos pada Perang Dunia II lalu. Kegeniusannya
dalam matematika telah terlihat semenjak kecil dengan mampu melakukan pembagian
bilangan delapan digit (angka) di dalam kepalanya.
Von Neumann dilahirkan di Budapest, ibu kota Hungaria, pada 28
Desember 1903 dengan nama Neumann Janos. Dia adalah anak pertama dari pasangan
Neumann Miksa dan Kann Margit. Di sana, nama keluarga diletakkan di depan nama
asli. Sehingga dalam bahasa Inggris, nama orang tuanya menjadi Max Neumann dan
Margaret Kann. Max Neumann memperoleh gelar dan namanya berubah menjadi Von
Neumann. Max Neumann adalah seorang Yahudi Hungaria yang bergelar doktor dalam
ilmu hukum. Dia juga seorang pengacara untuk sebuah bank. Pada tahun 1903,
Budapest terkenal sebagai tempat lahirnya para manusia genius dari bidang
sains, penulis, seniman dan musisi.
Pada tahun 1921, Von Neumann disekolahkan ayahnya ke Universitas
Berlin untuk menjadi insinyur teknik kimia. Berselang dua tahun kemudian ia
melanjutkan pendidikan ke Zurich. Sebenarnya Von Neumann kurang tertarik dengan
bidang kimia atau bidang engineering, namun ayahnya mendorong dia untuk
mempelajari kimia. Pada waktu itu teknik kimia sedang populer dan menjanjikan
karier yang cerah bagi para insinyurnya. Oleh karena itu, ayahnya mengharuskan
Von Neumann mengikuti pendidikan kimia tanpa gelar selama dua tahun di Berlin,
lalu melanjutkan di Eidgennossische Technische Hochschule (ETH) Zurich pada
bidang yang sama. Ujian masuk ETH terkenal sulit, bahkan Albert Einstein pernah
gagal dalam ujian masuk di tahun 1895 dan berhasil lulus pada ujian tahun
berikutnya.
Keinginan Von Neumann untuk mempelajari matematika dilakukannya
pada musim panas setelah studinya di Berlin dan sebelum masuk ETH Zurich. Dia
menjadi mahasiswa program doktor pada Universitas Budapest. Tesis doktornya
bertemakan aksiomasisai teori himpunan (set theory) yang dikembangkan George
Cantor. Pada masa itu, set theory merupakan salah satu topik 'menantang' di
dunia matematika.
Di tahun 1926 pada umur 22 tahun, Von Neuman lulus dengan dua
gelar yaitu gelar S1 pada bidang teknik kimia dari ETH dan gelar doktor (Ph.D)
pada bidang matematika dari Universitas Budapest.
Von Neumann sangat tertarik pada hidrodinamika dan kesulitan
penyelesaian persamaan diferensial parsial nonlinier yang digunakan, Von
Neumann kemudian beralih dalam bidang komputasi. Von Neumann menjadi seorang
konsultan pada pengembangan komputer ENIAC, dia merancang konsep arsitektur
komputer yang masih dipakai sampai sekarang. Arsitektur Von Nuemann adalah
seperangkat komputer dengan program yang tersimpan (program dan data disimpan
pada memori) dengan pengendali pusat, I/O, dan memori.
Manfaat
Komputasi Modern
Dengan adanya komputasi
modern, terdapat banyak manfaatnya, yaitu
- Perhitungan-perhitungan
kompleks yang bisa mencapai ribuan data dapat dengan mudah dikerjakan manuisa
dengan bantuan komputer. Hal ini tentunya dapat mengurangi waktu, biaya dan
lain sebagainya.
- Lahirnya
komputer dapat membantu pekerjaan manusia, dalam berbagai bidang. Misalnya pada
bidang kedokteran, pertanian, astronomi, teknologi, ekonomi dan lainnya. Bahkan
komputer sekarang telah ada dalam hampir semua bidang di dunia ini.
Macam-macam Komputasi Modern
1. Mobile computing
Mobile computing atau komputasi bergerak memiliki beberapa
penjelasan, salah satunya komputasi bergerak merupakan kemajuan teknologi
komputer sehingga dapat berkomunikasi menggunakan jaringan tanpa menggunakan
kabel dan mudah dibawa atau berpindah tempat, tetapi berbeda dengan komputasi
nirkabel.
Dan berdasarkan penjelasan tersebut, untuk kemajuan teknologi ke
arah yang lebih dinamis membutuhkan perubahan dari sisi manusia maupun alat.
Dan dapat dilihat contoh dari perangkat komputasi bergerak seperti GPS, juga
tipe dari komputasi bergerak seperti smart phone, dan lain sebagainya.
2. Grid computing
Komputasi grid menggunakan komputer yang terpisah oleh
geografis, didistibusikan dan terhubung oleh jaringan untuk menyelasaikan
masalah komputasi skala besar.
Ada beberapa daftar yang dapat dugunakan untuk mengenali sistem
komputasi grid, adalah :
- Sistem untuk koordinat
sumber daya komputasi tidak dibawah kendali pusat.
- Sistem menggunakan
standard dan protocol yang terbuka.
- Sistem mencoba mencapai
kualitas pelayanan yang canggih, yang lebih baik diatas kualitas komponen
individu pelayanan komputasi grid.
3. Cloud computing
Komputasi cloud merupakan gaya komputasi yang terukur dinamis
dan sumber daya virtual yang sering menyediakan layanan melalui internet.
Komputasi cloud menggambarkan pelengkap baru, konsumsi dan
layanan IT berbasis model dalam internet, dan biasanya melibatkan ketentuan
dari keterukuran dinamis dan sumber daya virtual yang sering menyediakan
layanan melalui internet.
Referensi :
Langganan:
Postingan (Atom)