HIMPUNAN
LISTING:
import java.util.Scanner;
public class himp{
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[]){
himp bilangan = new himp();
bilangan.dataAnggota();
bilangan.tampilAnggota();
bilangan.himpunanGabungan();
bilangan.himpunanIrisan();
bilangan.himpunanSelisih();
}
}
LOGIKA
:
Pada percobaan ini kita menggunakan program
java untuk membuat program listing di atas. Program diatas merupakan sebuah
program himpunan tentang gabungan, irisan dan selisih yang di kemas dalam satu
program.
Pada percobaan kali ini method yang di gunakan
adalah import java.Scanner. fungsi dari
method tersebut untuk mengambil input dari console . Fungsi dari new sendiri untuk membuat objek
baru. Lau pada di bawahnya terdapat int[] himpunanA= new int[100]; int[]
himpunanB= new int[100]; maksud dari [100] pada himpunan A dan B adalah total
maksimal angka yang ingin di masukan ke dalam anggota himpunan A maupun B. Di bawah listing System.out.print terdapat
perintah jumlah AnggotaA=input.nextInt, perintah ini merupakan salah satu
fungsi dalam GUI Scanner yang berguna untuk membaca data yang berupa file. Lalu
pada perintah for(int i=1;i<=jumlahAnggotaA;i++), untuk int=1 funngsinya
agar pada saat output nanti pada bagian anggota himpunan akan di mulai dari
anggota 1, apa bila kita mengunakan int=3 maka pada saat output maka akan di
mulai dari anggota 3,karena pada perintah himpunanA[i]=input.nextInt() yang
berfungsi untuk meneruskan perintah i yang bernilai yang telah kita masukan
(pada contoh di atas 1 dan 3). Selanjutnya pada perintah public void
tampilAnggota, terdapat perintah for(int i=1;i<=jumlahAnggotaA;i++){ yang
berguna untuk menampilkan anggota himpunan yang telah kita masukan, dalam
listing di masukan angka 1 maka yang akan di baca mulai dari anggota 1, bila
kita memasukan i=3, maka data yang akan dibaca mulai dari anggota 3, anggota 1
dan 2 tidak terbaca. Selanjutnya terdapat perintah for,if,boolean. Boolean
merupakan salah satu dari keyword dalam java yang terdiri dari 2 nilai yaitu true dan false.
Boolean sangat penting dalam mengevaluasi suatu kondisi, dan sering digunakan
untuk menentukan alur program. Di dalam
listing terdapat boolean adaSama=false,adaSama=true,adaSama=false pada bagian himpunanGabungan, ini di gunakan
apabila ada angka yang sama dalam himpunan A dan B maka angka yang akan dicetak
tidak di ulang apabila ada yang sama,sedangkan angka yang tidak terdapat pada
salah satu himpunan maka angka itu akan langsung tercetak tanpa di seleksi
terlebih dahulu, misalnya pada himpunan A:1,2,3 himpunan B:1,2,3,4 maka hasil
yang akan tercetak @:1,2,3,4. Lalu pada bagian irisan terdapat boolean
adaSama=false, adaSama=true,adaSama=true, maka angka yang akan di cetak hanya
angka yang sama yang terdapat pada himpunan A dan himpunan B ,misalnya A:1 B:
1,2 maka yang akan di cetak hanya S:1. Lalu pada bagian selisih A-B dan selisih
B-A memiliki perintah yang hampir sama, seperti
boolean adaSama=false, adaSama=true, adaSama=false dan yang berbeda
terdapat pada perintah for(int j=1;j<=jumlahAnggotaB;j++){ if(himpunanA[i]==himpunanB[j]) untuk selisih
A-B, sedangkan untuk selisih B-A adalah for(int j=1;j<=jumlahAnggotaA;j++){ if(himpunanB[i]==himpunanA[j]). Untuk logika yang selisih A-B yaitu bila pada
himpunan A dan himpunan B terdapat angka yang sama maka angka tersebut tidak
akan di cetak, misalnya A: 1, 2 dan B:1,
maka hasil yang akan dicetak yaitu S: 2. Untuk yang Selisih B-A merupakan
kebalikan dari Selisih A-B,misalnya A:1,2 B:1 maka hasil yang akan di cetah
adalah tidak ada angka,karena himpunan B hanya memiliki angka 1.
Keren bang sangat membantu
BalasHapus