RSS
Tidak ada Yang Tidak Mungkin Untuk Orang Yang Mau Berusaha
Text Select Onion Kun

Rabu, 29 Desember 2010

LISTING MATEMATIKA INFORMATIKA III [FUNGSI]

import java.io.*;
class fungsi
{
public static void main(String[] args)throws IOException
{
BufferedReader a=new BufferedReader(new InputStreamReader(System.in));
int n=0;
int k=0;
int i;
System.out.print("Banyak Domain : ");
int x=Integer.parseInt(a.readLine());
System.out.print("Banyak Range : ");
int y=Integer.parseInt(a.readLine());
int []dm=new int[x];
int []Rn=new int[y];
for (i=0;i<x;i++)
{
System.out.print("Domain ke "+(i+1)+" : "); dm[i]=Integer.parseInt(a.readLine());
}
for (i=0;i<y;i++)
{
System.out.print("Range ke "+(i+1)+" : "); Rn[i]=Integer.parseInt(a.readLine());
}
System.out.print("Banyak Relasi ");
int z=Integer.parseInt(a.readLine());
int []fn=new int[z];
int []dmn=new int[z];
int []Rng=new int[z];
for (i=0;i<z;i++)
{
System.out.print("Domain ");
dmn[i]=Integer.parseInt(a.readLine());
System.out.print("Range ");
Rng[i]=Integer.parseInt(a.readLine());
}
System.out.print("Domain={");
for (i=0;i<x;i++)
{
System.out.print(dm[i]);
if (i<(x-1))
{
System.out.print(",");
}
}
System.out.println("}");
System.out.print("Range={");
for (i=0;i<y;i++)
{
System.out.print(Rn[i]);
if (i<(y-1))
{
System.out.print(",");
}
}
System.out.print("}");
}
}

Senin, 20 Desember 2010

LISTING LA AP "METHOD"

Method adalah suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh suatu object. Method di definisikan pada class akan tetapi di panggil melalui object.

Listing program
class ContohMethod{
            public static void main(String[] args){
                        ContohMethod k=new ContohMethod ();
                        System.out.println(k.kali (60,2));
                        System.out.println(k.kali (36,4));
                        k.bagi(30,3);
                        k.bagi(28,7);
                        k.bagi(72,8);
                        System.out.println(k.kali (35,6));
            }
            public int kali(int a,int b){
                        int c=a*b;
                        return c;
            }
            public void bagi(int a,int b){
                        int c=a/b;
                        System.out.println(c);
            }
}


Penjelasan :
ContohMethod k=new ContohMethod ();

System.out.println(k.kali (60,2)); akan mencetak hasil kali antara angka (a,b) yaitu 60*2

k.bagi(30,3); akan mencetak hasil bagi antara angka (a,b) yaitu 30/3

public int kali(int a,int b){ kali bernilai int yaitu tipe data bilangan bulat (integer). Variabel bertipe int adalah angka – angka / bilangan bulat. Integer merupakan tipe data numerik yang digunakan apabila tidak berurusan dengan pecahan atau bilangan desimal. Jadi hasil kali nya nanti harus bernilai bilangan yang bulat (bukan pecahan).

int c=a*b; angka a dan angka b dikali, misal (60,2) 60*2 maka c=120 (integer).

return c; maka c akan di kembalikan ke dalam keadaan semula, yaitu c bernilai kosong atau nol agar dapat dipergunakan lagi dalam pengoperasian lainnya sehingga dalam operasi ini hanya menggunakan satu variabel saja, yaitu c.

public void bagi(int a,int b){ bagi bernilai void yaitu disebut juga prosedur. Tidak mengembalikan suatu nilai keluaran yang di dapat dari hasil proses fungsi tersebut dan tidak memiliki nilai. Hasilnya nanti akan dibulatkan.

int c=a/b; angka a dan angka b dibagi, misal (30,3) 30/3 maka c=10 (integer)

System.out.println(c); maka seluruh c yang telah dioperasikan akan dicetak agar keluar dalam output.

Tools, run, tools, compile

OUTPUT 

 
 Proses :

60*2 = 120
36*4 = 144
30/3 = 10
28/7 = 4
72/8 = 9
35*6 = 210








Sabtu, 18 Desember 2010

Tips Koneksi Internet Lebih Cepat di Win XP dan Vista


Apakah anda tahu kalau selama ini Windows memakai Bandwit kita 20%? Untuk mengambil bandwidth kita kembali dan koneksi lebih cepat lakukan langkah berikut ini :


  1. Klik start, run trus ketik “gpedit.msc” (Tidak pakai tanda petik).
  2. Pada computer configuration - administrative template - klik Network.
  3. Klik Qos packet scheduler - Double Klik pada Limit Reservable Bandwith.
  4. Klik ENABLED reservable bandwith dan ubah settingannya ke 0 (nol)% habis itu Klik Apply dan Klik OK. Restart Komputer anda.
Tapi semua itu juga tergantung dengan kecepatan koneksi anda sendiri. Tips ini bisa mempercepat koneksi anda jika memakai OS Windows XP dan Vista.


sumber telkomspeedy

Config untuk Mempercepat Firefox

1. Tuliskan 'about:config' pada kolom alamat atau address bar kemudian tekan Enter. Klo keluar Alert nya, tekan OK (I’ll be careful, I promise!).

2. Pada kolom Filter carilah ‘network.http.pipelining’. Pastikan value yang terdapat pada kolom tersebut adalah true. Jika tidak, double klik pada kolom tersebut dan ubahlah value tersebut menjadi true.

3. Kembali ke kolom Filter, carilah ‘network.http.pipelining.maxrequests’. Klik 2 kali pada opsi tersebut dan ubahlah nilai tersebut menjadi 8.

4. Kembali ke kolom Filter, carilah ‘network.http.proxy.pipelining’. Klik 2 kali pada opsi tersebut dan ubah valuenya menjadi true.

5. Kembali ke kolom Filter, carilah ‘network.dns.disableIPv6’ dan ubahlah value tersebut menjadi true.

6. CONTENT INTERRUPT PARSING
Preference ini mengatur apakah aplikasi akan menghentikan pasing sebuah page untuk respon ke UI.
- Klik kanan (CTRL-klik untuk pemakai apple) di jendela ‘about:config’. Pilih opsi New kemudian klik opsi Boolean.
- Tuliskan ‘content.interrupt.parsing’ pada kolom kemudian tekan OK.
- Pilih true pada langkah selanjutnya dan tekan OK.

7. Daripada menunggu sebuah browser menampilkan sebuah page setelah browser tersebut mendownload semua page tersebut, lebih baik browser tersebut langsung menampilkan page yang telah terdownload walaupun belum siap didownload secara menyeluruh. Untuk itu diperlukan Preference yang mengatur hal tersebut. Klik kanan pada jendela ‘about:config’ sekali lagi. Pilih opsi New kemudian pilih opsi Integer.
- Tuliskan ‘content.max.tokenizing.time’ pada kolom dan tekan OK.
- Anda akan diminta untuk memberikan sebuah nilai. Masukkan ‘2250000’ kemudian klik OK.

8. CONTENT NOTIFY INTERVAL
Opsi ini mengatur waktu yang dibutuhkan untuk melakukan proses antar web yang dilakukan secara terus-menerus seminimum mungkin. Klik kanan pada jendela ‘about:config’ sekali lagi. Pilih opsi New kemudian pilih opsi Integer.
- Tuliskan ‘content.notify.interval’ pada kolom dan tekan OK.
- Anda akan diminta untuk memasukkan suatu nilai. Masukkan ‘750000’ dan tekan OK.

9. CONTENT NOTIFY ONTIMER
Opsi ini mengatur waktu yang dibutuhkan antar webpages yang sedang dibuka jika waktu antar web yang ditentukan di CONTENT NOTIFY INTERVAL menjadi lebih tinggi dari yang ditentukan dengan menggunakan timer.
- Klik kanan pada jendela ‘about:config’ sekali lagi. Pilih opsi New kemudian pilih opsi Boolean.
- Tulis ‘content.notify.ontimer’ pada kolom dan tekan OK.
- Anda akan diminta untuk memasukkan sebuah nilai. Pilih true dan tekan OK.

10. NOTIFY BACKOFFCOUNT
Opsi ini berfungsi menentukan nilai maksimum dari jumlah timer yang akan dipakai.
- Klik kanan pada jendela ‘about:config’ sekali lagi. Pilih opsi New kemudian pilih opsi Integer.
- Tuliskan ‘content.notify.backoffcount’ pada kolom dan tekan OK.
- Anda akan diminta untuk memasukkan suatu nilai. Masukkan ‘5’ dan tekan OK.

11. CONTENT SWITCH THRESHOLD
Sekarang kamu sudah dapat berinteraksi bersamaan dengan ‘Page Loading’ (proses pembukaan webpage) ketika value content.interrupt.parsing telah menjadi true. Ketika suatu webpages sedang dibuka, akan terbagi menjadi mode : “high frequency interrupt mode” dan “low frequency interrupt mode”. Mode pertama berfungsi untuk melakukan interupsi ke parser lebih sering untuk memperlancar proses respon dari UI ketika webpage sedang dibuka. Sedangkan mode kedua berfungsi untuk melakukan interupsi ke parser lebih jarang yang dapat mempercepat pembukaan sebuah webpages.

Aplikasi akan memasuki mode 1 apabila anda menggoyangkan mouse anda atau mengetik sesuatu dengan keyboard anda pada saat pembukaan webpage dan kemudian berpindah ke mode ke-2 pada saat mouse atau keyboard tidak digunakan lagi (Tidak ada aktivitas yang dilakukan terhadap komputer).

Preferences ini harus disetup terlebih dahulu melalui : Klik kanan pada jendela ‘about:config
- Pilih opsi New kemudian pilih opsi Integer.
- Tuliskan ‘content.switch.threshold’ pada kolom dan tekan OK.
- Anda akan diminta untuk memasukkan suatu nilai. Masukkan ‘750000’ dan tekan OK.

12. LAYOUT INITIALPAINT DELAY
Sekarang aplikasi anda pasti akan menampilkan apa yang diterima langsung dari server webpage ke layar monitor anda tanpa harus menunggu untuk aplikasi untuk mendownload webpage secara keseluruhan, biasanya, permulaan suatu webpage tidak menampilkan informasi yang diinginkan (biasanya akan menampilkan tulisan-tulisan kecil disamping atau iklan, dsb). Untuk itu bagusnya kita tentukan sebuah jeda waktu yang singkat sebelum penampilan webpages pada layar monitor. Preferences ini dapat anda set melalui :
- Klik kanan pada jendela ‘about:config’ sekali lagi. Pilih opsi New kemudian pilih opsi Integer.
- Tuliskan ‘nglayout.initialpaint.delay’ pada kolom dan tekan OK.
- Anda akan diminta untuk memasukkan suatu nilai. Masukkan ‘0’ dan tekan OK.

7 Rahasia Meningkatkan Performa Komputer

Huh lagi lagi ga ada inspirasi buat posting-in hal hal menarik . ya sudah mending ane berikan saran untuk agan agan semua . Ingin meningkatkan perfoma komputer atau notebook agan lebih cepat dengan cara aman dan tidak perlu mengeluarkan biaya sepersen pun? Memang ada caranya? Ya, tanpa mengupgrade memori ataupun mengganti prosesor, sebenarnya kinerja komputer/notebook agan dapat ditingkatkan dengan beberapa cara. Khusus untuk Operating System (OS) Windows XP, ada 6 [+1] yaitu : Hmm,, tapi jalaninnya hati hati ya!! rusak ga nanggung looh... semua tipsnya udah ane coba dan lumayan lah .


1. Non-aktifkan Program Start-Up Extra

ada beberapa program aplikasi yang memiliki sifat carrier (bawaan) yang mengeksekusi program tersebut pada saat kita baru menghidupkan komputer (start-up). Contoh umum adalah program Updater Acrobat, Real Player, AOL, MS Groove, Winamp, Matlab, YM dan masih banyak lagi. Jika program ini aktif ketika start-up, maka antara start-up hingga dalam keadaan normal (ready) akan membutuhkan waktu yang lebih lama. Oleh karena itu, non-aktifkanlah program-program yang tidak diperlukan pada awal start-up. Sebaiknya semua program aplikasi non-Windows dan antivirus, maka non-aktifkanlah. Berikut langkah-langkahnya :

1. Klik Start, lalu klik Run..

2. Ketiklah msconfig , lalu tekan enter atau klik OK.

3. Akan tampil System Configuration Utility.

4. Pilih dan kliklah Startup.

5. Pada tab Startup, Anda akan melihat box-box akan ditandai check list hijau (v). Pelajarilah setiap item tersebut dengan melihat Command. Cobalah hilangkan checklist hijau (v) pada item-item program yang tidak diinginkan. Program-program dengan command C:Windows sebaiknya dibiarkan seperti kondisi semula.

6. Setelah beberapa item telah di unchekc (menghilangkan v pada box), maka kliklah Apply dan/atau OK. Akan ada konfirmasi apakah ingin restart ?

7. Setelah restart, pada layar akan muncul konfirmasi lagi, dan pilihlah “option for not showing this dialogue every
time your PC reboots“.


2 . Optimasi Aturan Tampilan (Display Setting)


Secara normal, Windows XP memberi tampilan yang “indah”, dan tentu saja ini membutuhkan resource (cadangan memori) yang berlebih. Oleh karena itu, ada baiknya jika Anda memilih tampilan yang biasa-biasa saja alias sederhana. Berikut caranya:

1. Klik start, lalu klik kanan My Computer

2. Pilih dan kliklah Properties

3. Akan muncul System Properties

4. Pilihlah Advanced

5. Pada Perfomance, kliklah Setting

6. Akan muncul Perfomance Option dan Visual Effect

7. Klik Custom dan silahkan hilangkan beberapa item check list pada box, dan biarkan item-item dibawah ini tetap check (v).

>. Use visual styles on windows and buttons

>. Show shadows under menus

>. Show shadows under mouse pointer

>. Show translucent selection rectangle

>. Show Window contents when dragging

>. Slide taskbar buttons

>. Use common tasks in folders

>. Use drop shadows for icons labels on the desktop

8. Silahkan klik Apply. Dan kemudian klik OK.


3. Mempercepat Browsing File


agan pasti mengalami ketika membuka “My Computer” untuk menelusuri folder-folder terjadi delay (butuh waktu beberapa saat). Hal ini disebabkan karena Windows XP secara otomatis sedang mencari file-file network dan printer setiap kali Anda membuka Windows Explorer. Untuk mempercepat kinerja ini, maka lakukanlah :

1. Klik start, dan double klik My Computer

2. Kliklah menu Tools (bagian atas)

3. Pilihlah Folder Options

4. Muncul box Folder Options, dan pilihlah View

5. Hilangkan check (v) pada Automatically search for network folders and
printers check box.

6. Klik Apply dan selanjutnya OK.

7. Perubahan hasil akan terlihat setelah restart.


4. Jalankan Disk CleanUp


OS Windows maupun progam aplikasi selalu “menitip” file sementara (temporary files) di “sekeliling” hard disk Anda, sehingga membutuhkan space. Hal ini akan membuat kondisi hard disk akan “full” sehingga akan mempengaruhi faktor kecepatan Windows serta mengurangi efisiensi akses hard disk dan operasi memori virtual. Fenonema ini umumnya menjadi masalah ketika komputer kita digunakan untuk browsing dan surfing internet dengan frekuensi tinggi. Cara “penyembuhan”-nya adalah :

1. Klik start, dan double klik My Computer

2. Klik kanan pada Drive C hard disk

3. Kliklah Disk Cleanup

4. Tunggulah beberapa saat dan akan muncul Disk Cleanup for (C

5. Pilihlah (berikan check list V) pada Temporary Internet Files and Recycle Bin

6. Klik OK dan selesai

7. Catatan : sebaiknya dilakukan 1 atau 2 minggu sekali


5. Disk Defragmenter

Sering mengcopy dan mendelete file-file dalam hard disk menyebabkan susunan file-file dalam hard disk berantarakan. Antara file folder A akan berserakan diantara folder B, C, atau D. Dan juga sebaliknya file folder B bisa berserakan diantara space folder A, C atau D dan seterusnya. Hal ini akan memperlambat kinerja Windows dalam mengakses data (pembaca hard disk akan mencari file-file cakram pada hard disk yang telah berserakan). Dan biasanya, setelah penggunaan dan peng-copy-an/ pen-delete-an terjadi selama 1, 2, 3 atau 4 bulan, maka struktur file akan berserakan. Untuk itu, kita perlu merapikan file tersebut. Caranya sebagai berikut :

1. Klik start dan pilih All Programs

2. Pilih Accessories

3. Pilih System Tools

4. Pilih Disk Defragmenter

5. Akan muncul “Disk Defragmenter” dengan tampilan volume hard disk kita

6. Kliklah Volume C, dan klik Analyze

7. Setelah beberapa saat, akan muncul hasil analisisnya. Akan muncul hasil yakni “You do not need to defragment this volume” atau “You need to defragment this volume“.

8. Jika yang muncul adalah “You need to defragment this volume“, maka kliklah Defragment. Jika sebaliknya, maka kliklah Close.

9. Setelah seleasai di C, Anda dapat mengecek untuk partisi hard disk di D, E dan seterusnya.

Catatan : lakukan pengecekan dan/atau defragment 2 atau 3 bulan sekali. Jangan sering-sering defragment karena akan berdampak buruk pada hard disk. Maksimum sekali dalam 2 bulan atau lebih.


6. Bersihkan Sistem Register yang Tidak digunakan


Cara 6 agak sulit karena membutuhkan program untuk membersihkan/mendelete sistem register program-program yang sudah tidak digunakan lagi (sisa-sisa uninstall program). Disamping itu, banyak juga file-file register yang error dalam OS Windows seiring berjalannya waktu. Hal ini akan memperlambat kinerja Windows. Oleh karena itu, secara periodik (mungkin 3 atau 6 bulan sekali) kita perlu me’maintenance” file-file register yang bermasalah. Beberapa program membersihkan sistem register seperti Ashampoo TuneUp Utilities, RegCure dan masih banyak lagi. Sebenarnya, jika Anda mengerti fungsi register pada Windows, Anda dapat melakukannya secara manual melalui command regedit. Namun, agak sulit untuk awam.


7. Rahasia Tambahan +3


Selain 6 langkah tersebut, sebenarnya ada beberapa cara lain seperti :

1. Pemilihan program antivirus yang efisien, efektif dan handal. Tidak bisa dipungkiri bahwa banyak antivirus yang handal justru memperlambat kinerja Windows. Penggunaan jenis antivirus sangat bergantung pada “perlakuan” yang diberikan pada komputer/laptop Anda. Jika komputer Anda sering dimasukin flash disk atau download “aneh-aneh”, maka sebaiknya menggunakan antivirus yang handal. Jika tidak, Anda bisa tanpa menggunakan antivirus, namun dengan proteksi manual. Baca : Melindungi Komputer Secara Manual dari Serangan Virus

2. Setting “Direct Memory Access” (DMA)

3. Menon-aktifkan index file di Windows Component

nah klo pengen tau cara setting Windows yang optimal  buat gaming silahkan download disini

Sekian Tips untuk mempercepat kinerja OS Windows . Terima Kasih

Rabu, 01 Desember 2010

Cara Jitu Mengakali Sinyal Rendah pada Modem

Buat Flashners yang punya modem, pasti pernah ngalamin:
-lola (loading lama)
-sering disconnect
emang ngeBTin banget tuh kalo udah kayak gt, terkadang kalo lagi ada urusan penting yg harus cepet-cepet diselesein.
Pada dasarnya ga bisa dipungkiri, kualitas modem dan kartu yang kita pakai sangat menentukan, karena disetiap kota dan daerah tempat kita tinggal berbeda-beda kualitas jaringannya. Tapi kita ga ngebahas itu, kita akan bahas gimana caranya modem dan kartu yang ada kita optimalkan kinerjanya.
 setelah anda sudah membentuk seperti ini maka tahap selanjutnya adalah

untuk memperkuat sinyal modem 3G kita dengan harga yang super murah, kenapa dibilang super murah karena penguat sinyal ini cuma butuh peralatan yang mudah kita dapat dengan harga murah. Salah satunya, sendok yang sering kita pake buat makan sehari-hari dan tutup kaleng krupuk, terlihat sepele tapi hasil yang kita dapetin cukup signifikan.
Kalo diliat sekilas ngambil teori dasar wajan bolic ya?

Note :
Gw mau ngasih tambahan sedikit saran, menurut gw flashners naro sendoknya lebih mantap di ujung modem deket lampu indikator, gatau kenapa gw ngerasa sinyalnya lebih kenceng daripada kalo Flashners naronya di tengah-tengah badan modem.
Mungkin ada ide lain yang lebih mantap?
ada juga yang bilang, semakin tinggi tu modem lo taro maka semakin banyak sinyal yang didapet, karena sinyalnya banyak. Maka internetanpun akan jadi lebih cepat, That's possible i think. Silahkan kalo mo Flashners combaine.

Abis dipraktekin gw minta KOMENTAR ya, apakah ada perbedaan yang Flashners rasain sebelum dan sesudahnya, berbagi pengalaman dengan Flashners yang lain. Semoga bermanfaat.

Senin, 29 November 2010

PROGRAM KALKULATOR PADA JAVA

import java.awt.*;
import java.awt.event.*;

public class Kalkulator extends Frame implements WindowListener, ActionListener {
TextField txtBil1, txtOpr, txtBil2, txtHasil;
Button btnHitung;

public Kalkulator(String judul) {
super(judul);
this.addWindowListener(this);
this.setLayout(new FlowLayout(FlowLayout.LEFT,10,10));
txtBil1 = new TextField();
txtBil1.setColumns(5);
txtOpr = new TextField();
txtOpr.setColumns(5);
txtBil2 = new TextField();
txtBil2.setColumns(5);
txtHasil = new TextField();
txtHasil.setColumns(5);
btnHitung = new Button(" = ");
btnHitung.addActionListener(this);
add(txtBil1);
add(txtOpr);
add(txtBil2);
add(btnHitung);
add(txtHasil);
}
public void windowActivated(WindowEvent e) {}
public void windowClosed(WindowEvent e) {}
public void windowClosing(WindowEvent e) {
setVisible(false);
System.exit(0);
}
public void windowDeactivated(WindowEvent e) {}
public void windowDeiconified(WindowEvent e) {}
public void windowIconified(WindowEvent e) {}
public void windowOpened(WindowEvent e) {}

public void actionPerformed(ActionEvent e) {
double a, b, hasil;
String c;
if (e.getSource() == btnHitung){
a = Double.parseDouble(txtBil1.getText());
b = Double.parseDouble(txtBil2.getText());
c = txtOpr.getText();
if (c.equals("*")) {
hasil = a * b;
} else if (c.equals("/")) {
hasil = a / b;
} else if (c.equals("+")) {
hasil = a + b;
} else if (c.equals("-")) {
hasil = a - b;
} else {
hasil = 0;
}

txtHasil.setText(""+hasil);
}
}

public static void main(String[] args) {
Kalkulator frm = new Kalkulator("Kalkulator Culun");
frm.setSize(500, 200);
frm.setVisible(true);
}
}

Menentukan IrisanHimpunan dengan BufferedReader pada Java

HIMPUNAN
Kita akan membuat program untuk membentuk suatu himpunan dengan menggunakan program java. Lalu kita akan menentukan irisan yang terjadi antara 2 himpunan yang kita input kan nilai masing – masing element nya.

LISTING :

import java.io.*;
class himpunan
{
public static void main(String[] args) throws Exception
{
BufferedReader input = new BufferedReader (new InputStreamReader (System.in));
System.out.print("Masukkan banyaknya himpunan A:");
int x = Integer.parseInt (input.readLine());
int himpA[] = new int [x];
for (int i=0; i
{
System.out.print("Masukkan elemen A ke-"+(i+1)+":");
String a = input.readLine();
himpA [i] = Integer.parseInt (a);
}
System.out.print ("A={");
for (int i=0; i
{
System.out.print (himpA [i]);
if (i != x-1)
System.out.print (",");
}
System.out.println ("}");
System.out.print("Masukkan banyaknya himpunan B:");
int y = Integer.parseInt (input.readLine());
int himpB[] = new int [y];
for (int j=0; j
{
System.out.print("Masukkan elemen B ke-"+(j+1)+":");
String B = input.readLine();
himpB [j] = Integer.parseInt (B);
}
System.out.print ("B={");
for (int j=0; j
{
System.out.print (himpB [j]);
if (j != y-1)
System.out.print (",");
}
System.out.println ("}");
int k=0;
int himpC [] = new int [100];
for (int i=0;i
{
for (int j=0;j
{
if (himpA [i]==himpB [j])
{
himpC [k]=himpA [i];
k=k+1;
}
}
}
System.out.print ("\n Irisannya = {");
for (int i=0;i
{
System.out.print (himpC [i]);
if (i!=k-1)
System.out.print (",");
}
System.out.println ("}");
}
}

LOGIKA PROGRAM :
1. Karena kita akan akan memanipulasi data dengan cara memasukan nilainya masing – masing maka kita menggunakan salah satu kelas input data, yaitu BufferedReader, dan BufferedReader berada dalam package java io, Karen itu kita menggunakan perintah “import java.io.*;”untuk mengimport BufferedReader tersebut
2. Menamakan nama kelas pada workbench java, pada listing diatas adalah “ himpunan”
3. Mmenuliskan method yang akan kita gunakan yaitu “public static void main(String[] args) throws Exception”
4. Mendeklarasikan suatu variable (dalam lsiting diatas dengan nama input)yang akan kita gunakan sebagai tempat penyimpanan data nantinya,dengan perintah “BufferedReader input = new BufferedReader (new InputStreamReader (System.in))”
5. Mencetak tulisan "Masukkan banyaknya himpunan A:", dengan perintah “System.out.print("Masukkan banyaknya himpunan A:");”
6. Mendeklarasikan variabel x sebagai tempat penyimpanan data untuk nilai “banyak himpunan A” yang sebelumnya disimpan dalam varibel input.Dengan perintah ”int x = Integer.parseInt (input.readLine());”
7. Mendelarasikan himpA dengan menggunakan aray, yang nilai nya berasal dari nilai yang telah disimpan dalam variabel x. Dengan perintah ”int himpA[] = new int [x];”
8. Mendeklarasikan variabel i sekaligus dengan beberapa ketentuan – ketentuan yang akan di eksekusi. Dengan perintah “for (int i=0; i
9. Statement yang akan dieksekusi jika statement for diatas masih terpenuhi adalah 1.”System.out.print("Masukkan elemen A ke-"+(i+1)+":");” karena nilai i awalnya 0 maka untuk nilai yang akan muncul harus ditambahkan 1 agar sesuai dengan nilai yang tadi kita masukan
2. String a = input.readLine();, mendeklrasikan variabel a dengan tipe data string yang akan menyimpan data yang telah kita masukan tadi.3. himpA [i] = Integer.parseInt (a);, artinya banyak nya aray dalam variabel himpA adalah sebanyak i, dengan nilai masing – masing berasal dari varibel a tadi,yang tadinya tempat penyimpanan nilai ”masukan element A ke“.
10. apabila nilai i yang kita masukan tidak lagi kurang dari nilai x yang kita masukan, maka statement for tidak akan lagi di eksekusi, statement yang akan di eksekusi adaalah 1. Menampilkan tulisan A={, dengan perintah ”System.out.print ("A={");”2. Membuat sebuah keadaan yang akan menampilkan element – element dari himpunan a dengan perintah “for (int i=0; i
11. jika statement for ini terpenuhi, maka statement yang akan dieksekusi adalah 1. Mecetak nilai dari himpunan A yang masing – masing tadi telah kita masukan dalam “ masukan element A ke –“ disini nilai tersebut akan dicetak, dengan perintah “System.out.print (himpA [i]);“ 2.jika nilai i tidak sama dengan nilai x yang tadi dikurangi satu, akan mencetak maka sebuah tanda koma (tanda koma digunakan untuk memisahkan nilai i yang satu dengan yang lain.
12. Setelah nilai i sudah tidak lagi kurang dari x, maka statement for tersebut tidak akan dieksekusi lagi, maka statement yang akan dieksekusi adalah statement pencetakan “}”.
13. Penjelasan untuk himpunan B adalah sama, hanya berbeda nama – nama variabel, karena jika nama variabel sama, tempat pnyimpan akan sama, dan data yang dieksekusi pun akan sama.
Untuk mempersingkat, kita langsung masuk kedalam logica dari listing irisan.
14. irisan adalah kumpulan dari element – element yang sama antara himpunan satu dengan himpunan yang lainnya. Berikut adalah logica nya:
15. mendeklarasikan nilai variabel k dengan nilai 0, “int k=0;”.
16. Mendeklarasikan variabel aray himpC dengan dengan memory sebnyak 100,” int himpC [] = new int [100];”.
17. Membuat suatu keadaan lagi, dengan perintah for, agar kedua variabel bisa kita bandingkan, ”for (int i=0;i18. jika statement tersebut sudah tidak terpenuhi, maka statement – statement berikutlah yang akan di eksekusi: 1.”System.out.print ("\n Irisannya = {");”, artinya akan mencetak tulisan “Irisannya = {“ 2.”Statement “for (int i=0;i
19. jika kondisi dari “for (int i=0;i
20. jika kondisi “for (int i=0;i

Sabtu, 27 November 2010

LA MATIV PERTEMUAN II RELASI

import java.io.*;
class relasi
{
private static BufferedReader input = new BufferedReader (new InputStreamReader(System.in));
public static void main(String[] args) throws Exception
{

System.out.print(" Aplikasi Relasi Matematika Infomatika – Muammar Qadafi ");
System.out.print("Masukkan Banyak Himpunan A : ");
int x=Integer.parseInt(input.readLine());
int himpA [] = new int[x];
for(int i=0; i
{
System.out.print("Masukkan Elemen A ke-"+(i+1)+" :");
String a=input.readLine();
himpA[i]=Integer.parseInt(a);
}
System.out.print("Anggota Himpunan A = {");
for(int i=0;i
{
System.out.print(himpA[i]);
if(i!=x-1)
System.out.print(",");
}
System.out.println("}");
System.out.println();

System.out.print("Masukkan Banyak Himpunan B : ");
int y=Integer.parseInt(input.readLine());
int himpB [] = new int[y];
for(int j=0; j
{
System.out.print("Masukkan Elemen B ke-"+(j+1)+" :");
String b=input.readLine();
himpB[j]=Integer.parseInt(b);
}
System.out.print("Anggota Himpunan B = {");
for(int j=0;j
{
System.out.print(himpB[j]);
if(j!=y-1)
System.out.print(",");
}
System.out.println("}");
System.out.println();


System.out.println ("=======================");
System.out.println (" Jenis Relasi " );
System.out.println ("=======================");
System.out.println ("1. reflektif sederhana");
System.out.println ("2. simestris sederhana");
System.out.println ("3. transitif sederhana");
System.out.println ("=======================");
System.out.print ("Masukan Jenis Relasi yang diinginkan : ");
String c=input.readLine();
int pil=Integer.parseInt(c);
System.out.println();
switch (pil)
{
case 1:
//membuat relasi reflektif himpunan A dan himpunan B
System.out.print ("Relasi R = {");
for (int i=0; i
{
for (int j=0; j
{
if (himpA[i]==himpB[j])
{
System.out.print ("("+himpA[i]+","+himpB[j]+")");
if(j!=y-1)
System.out.print (",");
}
}
}
System.out.println ("}");
System.out.println ();
break;

case 2:
//membuat relasi simetris himpunan A dan himpunan B
System.out.print ("Relasi R = {");
for (int i=0; i
{
for (int j=0; j
{
if (himpA[i]!=himpB[j])
{
System.out.print ("("+himpA[i]+","+himpB[j]+")");
if(j!=y-1)
System.out.print (",");
}

}
if(i!=x-1)
System.out.print (",");
}
System.out.println ("}");
System.out.println ();
break;

case 3:
//membuat relasi transitif
System.out.print ("Relasi R = {");
for (int i=0; y
{
for (int j=0; j
{
if (himpA[i]!= himpB[j])
{
if (i%2!=0)
{
if (j==0)
{
System.out.print ("("+himpA[i]+","+himpB[j]+")");
f(j!=y-1)
System.out.print (",");
}
}
else
{
if (j%2!=0)
{
System.out.print ("("+himpA[i]+","+himpB[j]+")");
if(j!=y-1)
System.out.print (",");
}
}

}

}
}
System.out.println ("}");
System.out.println ();
break;

default:
System.out.println ("Pilihan tak ada dalam daftar!!");
break;
}
}
}

teori pada relasi dapat di download disini

Sabtu, 20 November 2010

menentukan jenis relasi himpunan dengan java

nah mudah mudahan bermanfaat bwat smuanya ..

langsung aja ya ...
tolong perhatikan lebih detail dikarenakan pada Java sensitive terhadap sesuatu yang dia anggap berbeda dari sistem induknya 

Kita akan membuat program untuk menentukan relasi yang dibentuk oleh 2 buah himpunan, dengan menggunakan program java

import java.io.*;
class relasi
{private static BufferedReader radzi = new BufferedReader (new InputStreamReader (System.in));
public static void main(String[] args) throws Exception{
System.out.print("masukan banyaknya himpunan A :");
String s = radzi.readLine();
int x = Integer.parseInt(s);
int himpA [] = new int [x];
for(int i = 0;i
{System.out.print("masukan element himpunan A ke - " +(i+1)+" :");
String a = radzi.readLine();
himpA [i] = Integer.parseInt(a);
}
System.out.print("A = {");
for (int i=0;i
{
System.out.print(himpA[i]);
if(i != x-1)
System.out.print(",");
}
System.out.println("}");
System.out.println();
System.out.println(" jenis relasi");
System.out.println("=================");
System.out.println("1. Reflektif Sederhana");
System.out.println("2. Simetris Sederhana");
System.out.println("3. Transitif Sederhana");
System.out.println("======================");
System.out.print("Masukan pilihan anda : ");
String r = radzi.readLine();
int d = Integer.parseInt(r);
switch (d)
{
case 1:
System.out.print("relasi R = { ");
for (int i= 0;i
{
for (int j =0;j
{
if (himpA [i]== himpA[j])
{
System.out.print("(" +himpA [i]+ "," +himpA [j]+ ")");
if (j != x-1)
System.out.print(",");
}
}
}
System.out.println("}");
break;

case 2:
System.out.print("relasi R = { ");
for (int i= 0;i
{
for (int j =0;j
{
if (himpA [i]!= himpA[j])
{
System.out.print("(" +himpA [i]+ "," +himpA [j]+ ")");
if (j != x-1)
System.out.print(",");
}}}
System.out.println("}");
break;

case 3 :
System.out.print("relasi R = { ");
for (int i= 0;i
{
for (int j =0;j
{
if (himpA [i]!= himpA[j])
{
if(i%2!=0)
{
if(j%2==0)
{
System.out.print("(" +himpA [i]+ "," +himpA [j]+ ")");
if (j != x-1)
System.out.print(",");
}
else
{
if(j%2 != 0)
{
System.out.print("(" +himpA [i]+ "," +himpA [j]+ ")");
if (j != x-1)
System.out.print(",");
}
}
}
}
}
}
System.out.println("}");
break;
default :
System.out.print("pilihan tidak ada dalam aftar");
break;
}
}
}
Listing diatas adalah listing dari beberapa sifat – sifat relasi, diantaranya :
- Sifat reflektif yang artinya untuk setiap anggota haru merupakan gabungan 2 anggota himpunan yang sama.dengan kata lain anggota untuk sifat ini, harus beranggotakan (a,a)
- Sifat simetris yang artinya untuk stiap yang anggota himpunan,hasilnya tidak boleh ada anggota dati relasi yang memiliki nilai (a,a), dan juga nila(a,b) tidak sama dengan nilai dari (b,a)
- Sifat transitif yang artinya tiga dari kumpulan bilangan harus merupakan anggota dari relasi R

Contoh : R = “x habis membagi y” pada A = {1,2,3}
- Berlaku sifat treflektif karena setiap elemant dari A berlaku (a,a) anggota relasi R. yaitu (1,1),(2,2),(3,3).
- berlaku sifat simetris karena bias dibentuk anggota (1,2),(2,1),(1,3),(3,1)…
- Tidak transitif karena seharusnya (a,b) anggota R, (b,c)anggota R, dan (b,c) anggota R juga. Tetapi sini. Anggota dari relasi R adalah { (1,2),(2,4)}. (1,2) anggota R, (2,4) anggota R, tetapi (1,4) bukan anggota dari relasi R

Diatas adalah sifat – sifat dari relasi yang akan telah buat programnya, berikut adalah logika dari program yang kiata buat :

• import java.io.*;
Statement diatas menjelaskan bahwa kita akan menggunakan java.io package mengandung kelas-kelas yang memungkinkan program untuk melakukan input dan output data.
• class relasi
nama class nya adalah relasi
• BufferedReader radzi = new BufferedReader (new radziStreamReader(System.in));
maksud statement diatas adalah variable yang di gunakan adalah BufferedReader yang digunakan untuk menginput data string ke dalam program
• public static void input() throws Exception
maksud statement ini adalah untuk memnungkin kan terjadi kesalahan dalam menginput data.
• System.out.print("masukan banyaknya himpunan A :");
String s = radzi.readLine();
int x = Integer.parseInt(s);
int himpA [] = new int [x];

statement di atas maksud nya adalah perintah untuk memasukan inputan dengan perintah nya adalah “masukan banyaknya himpunan A:” yang inputan tersebut adalah bentuk integer yg di lambang kan dengan x. himpA adalah x.
• for(int i=0; i
{
System.out.print("masukkan elemn A ke-"+(i+1)+" :");
String a=input.readLine();
himpA[i]=Integer.parseInt(a);
}
Statement ini adalah perintah pengulangan dalam penginputan himpunan A dengan syarat apakah i-=0 dan i
• System.out.print("A={");
for(int i=0;i
{
System.out.print(himpA[i]);
if(i!=x-1)
System.out.print(",");
}
System.out.println("}");
ini adalah perintah untuk mencetak kata “A={“ kemudian perintah pengulangan dengan syarat apakah i=0 dan i
● Lalu kita akan menentukan pilihan , sifat maan yang akan kita gunakan untuk mengolah data – data yang telah kita masukan :
System.out.println("1. Reflektif Sederhana");
System.out.println("2. Simetris Sederhana");
System.out.println("3. Transitif Sederhana");
System.out.println("======================");
System.out.print("Masukan pilihan anda : ");
String r = radzi.readLine();
int d = Integer.parseInt(r);
switch (d)
lalu pilihan yang kita masukan akan dismpan dalam variabel d, dan akan dieksekusi sesuai dengan pilihan yang kita masukan dengan menggunakan printah switch (d)

Case 1:
System.out.print("relasi R = { ");
for (int i= 0;i
{
for (int j =0;j
{
if (himpA [i]== himpA[j])
{System.out.print("(" +himpA [i]+ "," +himpA [j]+ ")");
if (j != x-1)
System.out.print(",");
}
}
}
System.out.println("}");
}

Ini adalah perintah untuk mencari dan mencetak relasi nya. Di mulai dari mencentak kata “relasi R = {“ dan slanjutnya syarat relasi dengan pengulangan, apakah i=0?? Dan i

Sesuai dengan sifat relasi nomor 1, yaitu reflektif yang artinya anggota hanay bernilai (a,a), sehingga kita menggunakan perintah if (himpA [i]== himpA[j]) , jadi nilai – nilai yang akan tercetak hanyalah apabila nilai dari himpA yang ke i bernilai sama dengan himpa yang ke j.
case 2:
System.out.print("relasi R = { ");
for (int i= 0;i
{
for (int j =0;j
{
if (himpA [i]!= himpA[j])
{
System.out.print("(" +himpA [i]+ "," +himpA [j]+ ")");
if (j != x-1)
System.out.print(",");
}}}
System.out.println("}"); break;
Pilihan kedua dari menu diatas adalah sifat simtris jadi kita harus membuat listing dengan karakteristik dari sifat tersebut.
- Membuat perintah for agar anggota himpunan dapat ditentukan, dengan nama variabel i.variabel i bernialai awal = 0, jika nilai i masih kurang dari nilai x(nilai awalyang tadi kita telah masukan) maka akan memproses variabel j.
- Jika nilai dari varibel j, masih kurang juga dari nilai x, maka perintha if akan dijalankan,
- Jika nilai dari himpA yang ke – i tidak sama dengan nilai dari himpA yang ke j, maka akan mencetak nilai dari himpA yang ke -I , nilai dari himpA yang ke- j.
- Lalu jika nilai j tidak sama dengan nilai x-1 maka akan mencetak koma. Lalu akan kembali lagi keatas dengna nilai i bertambah 1, namun jika nilai j sudah = nilai x-1 maka akan mencetak }, dan dan program akan berhenti, dengan perintah bresk, yang artinya case 2 telah selsai
Sesuai dengan karakteristiknya kita membuat, apabila nilai dari himpA yang ke i tidak sama dengan himpA yang ke j(agar tidak diahailkan anggota relasi dengan elemant yang sama) maka nilai itulah yang menjadi hasil dari karakteeristik sifat ini, kita telah membuatnya dengan perintah :

if (himpA [i]!= himpA[j])
{
System.out.print("(" +himpA [i]+ "," +himpA [j]+ ")");

case 3 :
System.out.print("relasi R = { ");
for (int i= 0;i
{
for (int j =0;j
{
if (himpA [i]!= himpA[j])
{
if(i%2!=0)
{
if(j%2==0)
{
System.out.print("(" +himpA [i]+ "," +himpA [j]+ ")");
if (j != x-1)
System.out.print(",");
}
else
{
if(j%2 != 0)
{
System.out.print("(" +himpA [i]+ "," +himpA [j]+ ")");
if (j != x-1)
System.out.print(",");
}
}
}
}
}
}
System.out.println("}");
break;


Dalam case 3 ini, kita akan menjalan kan sifat transitif, hampir sama dengan sifat simetris, dalam listing ini kita menambahkan keyword if, agar hanya beberapa angka saja yang akan dicetak,

- Dalam if yang pertama, jika nilai dari i dibagi dengan 2 tidak bersisa 0( bilangan ganjil) maka baru akan masuk kedalam if yang ke 2
- Dalam if yang ke 2 ini kita akan menyeleksi nilai dari j, apabila nilai j dibagi dengan 2, menyisakan 0(bilangan genap), maka nilai dari himpA yang ke i dan nilai dari himpA yang ke j, baru akan di cetak.
- Namun karena karakteristik dari sifat ini mengharuskan element dari anggota yang pertama harus bisa membagi habis anggota kedua element pertama, dan anggota ke 2 pada element manapun boleh bernilai apa saja, jika harus menambahkan keyword else, untuk mensortir nialai dari variabel j, artinya nilai dari variabel j, baik itu bilangan genap, ataupun ganjil, nilainya akan tetap dicetak, tetapi dengan penempatan tempat anggota yang berbeda

Kita menambahkan keyword if dan else, agar nilai – nilai dari variabel i dan j yang tercetak bisa sesuai dengan karakteristik dari difat ini.


default :

artinya, pilihan awal yang kita masukan tidak ada didalam program yang kita buat, dalam listing ini jika kita memasukan pilihan yang tidak ada didalam program maka akan mngeluaerkan tukisan :“ tidak ada dalam daftar “


Saat menentukan sifat mana yang akan kita gunakan, kita memilih pilihan ke 4, yang tidak ada dalam daftar menu, maka default inilah yang akan dijalankan.

(set) Himpunan dalam Java

Himpunan (set) adalah kumpulan Object yang mana tidak boleh ada dua dari objek yang sama di dalam satu himpunan. Objek obj1 dan obj2 adalah objek yang sama jika obj1.equals(obj2) menghasilkan nilai true (lihat bagian sebelumnya untuk penjelasan tentang ini).
Set mengimplementasikan metode umum pada Collection dengan sedikit modifikasi sehingga tidak memiliki objek yang sama di dalamnya. Misalnya, jika set adalah objek bertipe Set maka set.add(obj) tidak melakukan apa-apa jika obj sudah ada di dalam set.
Java memiliki dua kelas yang mengimplementasikan interface Set, yaitu java.util.TreeSet dan java.util.HashSet.
Selain sebagai Set, objek bertipe TreeSet memiliki sifat di mana elemen-elemennya terurut dalam urutan menaik. Iterator dari suatu TreeSet akan mengunjungi elemen dalam set tersebut dalam urutan menaik.
TreeSet tidak bisa menyimpan semua objek, karena objek yang disimpan harus bisa diurutkan. Atau dengan kata iain, objek yang disimpan dalam TreeSet harus mengimplementasikan interface Comparable dan obj1.compareTo(obj2) harus bisa membandingkan 2 objek obj1 dan obj2 dengan baik. Atau cara lainnya adalah dengan menggunakan Comparator yang bisa dimasukkan sebagai parameter dalam konstruktor ketika TreeSet dibuat. Di sini Comparator digunakan untuk membandingkan objek yang akan dimasukkan di dalam set.
Pada implementasi TreeSet, elemen di dalamnya disimpan dalam bentuk yang mirip dengan pohon pengurutan biner . Pohon yang digunakan bersifat seimbang (balanced) yang artinya semua simpul daunnya berjarak sama dari akar pohonnya. Dengan menggunakan pohon seimbang, kita bisa memastikan bahwa kita bisa mencapai semua simpul daunnya dengan secepat mungkin. Menambah dan mengurangi simpulnya juga bisa dilakukan dengan cepat.
Karena TreeSet mengurutkan elemen-elemennya dan menjamin tidak ada duplikasi objek, TreeSet sangat berguna untuk beberapa aplikasi. Misalnya, kita akan membuat program untuk menghitung semua kata dalam suatu artikel dan menampilkan semua kata yang ditemukan. List kata-kata dalam artikel itu harus diurutkan, kemudian kata-kata yang sama dihapus. Dengan menggunakan TreeSet, program tersebut dapat dibuat dengan sangat mudah, menjadi :
TreeSet kata = new TreeSet();
 
while masih ada data dari input :
    kt = kata berikutnya dari input
    kata.add(kt);
 
Iterator iter = kata.iterator();
while (iter.hasNext()):
    Tampikan iter.next() ke layar.
Contoh lainnya, misalnya kol adalah koleksi String (atau tipe lain yang mengimplementasikan compareTo()). Kita bisa menggunakan TreeSet untuk mengurutkan item dari kol dan menghapus duplikasi dengan :
TreeSet set = new TreeSet();
set.addAll(kol);
Perintah baris kedua di atas menambah semua elemen dari kol ke dalam set. Karena berbentuk Set, maka duplikasi akan dihapus. Karena berbentuk TreeSet maka semua elemennya akan terurut. Jika kita ingin data tersebut disimpan dalam struktur data lain, kita bisa mengubahnya dengan mudah. Misalnya, untuk membuat ArrayList dari TreeSet, bisa kita tulis dengan :
TreeSet set = new TreeSet();
set.addAll(kol);
ArrayList list = new ArrayList();
list.addAll(set);
Sebetulnya, kelas koleksi Java memiliki konstruktor yang bisa mengambil parameter berbentuk Collection. Semua item dalam Collection ditambahkan ke dalam koleksi baru ketika dibuat. Jadi new TreeSet(kol) membuat TreeSet yang memiliki elemen yang sama seperti koleksi kol.
Atau kita bisa menyingkat keempat baris kode di atas dalam satu baris kode :
ArrayList list = new ArrayList( new TreeSet(kol) );
Hasilnya adalah list terurut dengan elemen dari kol tanpa duplikasi. Ini adalah contoh dari keampuhan pemrograman generik.
(Sepertinya tidak ada struktur data list dengan duplikasi pada Java, atau TreeSet yang membolehkan duplikasi. Pada bahasa pemrograman C++ struktur data ini disebut multiset. Pada bahasa Smalltalk, struktur data seperti ini disebut bag (kantong). Pada Java, untuk saat ini, tidak ada struktur data seperti ini.)

HashSet mengimplementasikan tabel hash yang akan kita bahas di bagian berikutnya. Operasi penambahan, pencarian, dan penghapusan dilakukan dengan sangat efisien pada tabel hash, bahkan lebih cepat lagi dari TreeSet. Elemen pada HashSet tidak disimpan dalam urutan tertentu.
Iterator dari HashSet akan mengunjungi elemen-elemen pada HashSet dalam urutan yang sepertinya acak dan mungkin berubah jika elemen baru ditambahkan.
Karena elemen pada HashSet tidak diurutkan, maka semua objek (termasuk yang tidak mengimplementasikan interface Comparable) bisa dimasukkan dalam HashSet. Kita bisa menggunakan HashSet jika elemen yang kita akan masukkan tidak bisa dibandingkan, atau urutannya tidak penting, atau jika kecepatan lebih dipentingkan.

LAPORAN AKHIR MATIV PERTEMUAN I

import java.util.Scanner;

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

}



Setelah masuk kedalam program Java masukkan dan ketikkan listing program ke dalam java
Himpunan adalah segala koleksi benda-benda tertentu yang dianggap sebagai satu kesatuan. Walaupun hal ini merupakan ide yang sederhana, tidak salah jika himpunan merupakan salah satu konsep penting dan mendasar dalam matematika modern, dan karenanya, studi mengenai struktur kemungkinan himpunan dan teori himpunan, sangatlah berguna. Himpunan juga dapat dikatakan kumpulan dari objek-objek tertentu yang tercakup dalam satu kesatuaan.

Lalu apa saja yang termasuk operasi-operasi pada himpunan??
berikut jawabannya,
1. Gabungan (Union)
    yaitu Gabungan dari himpunan A dan Himpunan B yang elemennya menjadi anggota dari A atau B.
    contoh: A = {1,7,9}
               B = {2,7,9}
          A È B = {1,2,7,9}

2. Irisan (Intersection)
    yaitu himpunan yang terdiri dari semua elemen A dan B
    contoh: A = {5,6,7,8}
                B = {7,8,9}
         A Ç B = {7,8}
3. Komplemen
    adalah himpunan yang terdiri dari himpunan S yang bukan anggota A.
    contoh: S = {1,2,3,4,5,6,7,8,9,10}
             A = {4,5}
            A' = {1,2,3,6,7,8,9,10}

  
4. Selisih
    ialah Himpunan yang anggota A bukan anggota dari B
.   contoh: A = {1,2,3,4,5}
                B = {2,4,6,7,10}
            A-B = {1,3,5}
import java.util.Scanner;
adalah untuk membaca inputan dari keyboard
Fungsi Scanner dalam bahasa java digunakan untuk meminta input oleh pengguna program tersebut. Berbeda dengan bahasa C, dalam membuat fungsi scanner perlu mengikuti prosedur seperti berikut :

1.Buat dahulu perintah awal scanner nya, syntax nya adalah sebagai berikut

Scanner namascanner = new Scanner(System.in);

namascanner yang dimaksud adalah sesuai
dengan keinginan kita (yang mudah2 aja lah...).
2.Selanjutnya kita akan membuat fungsi nextInt() untuk meminta input dari pengguna,
syntax nya adalah

variabel = namascanner.nextInt();

sekali lagi ingat, anda harus mencermati syntax nya dengan benar..
Setelah itu masukkan nilai variabel
       int[] himpunanA= new int[100];
       int[] himpunanB= new int[100];
 sama halnya seperti bentuk scanner pada inputan ini akan mengeksekusi nilai variabel himpunanA dan himpunanB
       int jumlahAnggotaA;
       int jumlahAnggotaB;
pada variabel ini akan mengeksekusi nilai integer dari jumlahAnggotaA dan nilai integer variabel jumlahAnggota B

public void dataAnggota() {

              System.out.print("\nMasukkan 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("\nMasukkan 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();
              }
       }

pada bagian sub ini
Perhatikan public void dataAnggota(), terdapat kata void yang berarti metode tidak untuk menghasilkan sebuah nilai tertentu, tetapi hanya untuk mengerjakan sesuatu. Klo dipaskal sama seperti procedure, ingat dalam JAVA tidak ada procedure tapi hanya ada fungsi. Metode ini mengerjakan/ menampilkan semua atribut class ini.
System.out.print("\nMasukkan Jumlah Anggota Himpunan A : "
Pada sub ini akan menampilkan sebuah menu yang bernama
Masukkan Jumlah Anggota Himpunan A :
Hanya sekedar penamaan saja
jumlahAnggotaA = input.nextInt();
sedangkan pada bagian ini jumlahAnggotA akan digantikan sebagai inputan dari integer yang akan diinput oleh pengguna.
             

for(int i=1;i<=jumlahAnggotaA;i++){
                      System.out.print("Anggota "+i+" : ");
                      himpunanA[i]=input.nextInt();
              }

pada segmen ini for berarti pengulangan jadi jika integer i =1 dan i kurang dari jumlahAnggotaA yang di input maka I akan emngeksekusi terus  secara bertahap yaitu penambahan 1 sampai nilai i = jumlahAnggotaA terpenuhi .
                      System.out.print("Anggota "+i+" : ");
akan menghasilkan output berupa “Anggota” + nilai I yang dimasukkan + “:”
himpunanA[i]=input.nextInt[];
jadi himpunanA yang berinteger I akan sama dengan inputan dari baris selanjutnya sesuai dengan ketentuan dari pengguna.
public void tampilAnggota(){
              System.out.print("\nAnggota 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("}");
       }

pada method ini akan mengeluarkan output dan menampilkan Anggota Himpunan A  dan Himpunan B sesuai dengan ketentuan idem dengan diatas
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("}");
       }

pada sub method ini akan menampilkan suatu output Himpunan Gabungan dari nilai A dan B kita ketahui bahwa lambing “U” adalah nilai gabungan
for(int i=1;i<=jumlahAnggotaA;i++){
bagian ini akan melakukan proses pengulangan jika nilai I =1 dan I kurang dari jumlahAnggota…. Maka I akan terus melakukan proses looping dan I ++ akan melakukan proses looping secara bertahap yakni pertambahan looping 1 .
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;
pada method ini akan menampilkan nilai integer dari (himpunanA[i])
Jika nilai integer jumlah anggota didalam himpunan B sama dengan A Sedangkan jika nilai integer jumlah anggota didalam himpunan A sama dengan jumlah anggota didalam himpunan B maka dalam proses Boolean akan bernilai true dan akan mengeksekusi pengabungan dari nilai A U B sedangkan dalam proses Boolean akan bernilai false dan tidak dieksekusi

Pada listing selanjutnya sama saja logikanya secara garis besar dapat diwakilkan dengan logika diatas
       public static void main(String args[]){
              himpunanLA bilangan = new himpunanLA();
              bilangan.dataAnggota();
              bilangan.tampilAnggota();
              bilangan.himpunanGabungan();
              bilangan.himpunanIrisan();
              bilangan.himpunanSelisih();
       }

}
nah pada bagian segmen ini jadi listing ini akan memanggil data dari sub method : himpunan yang telah diinput .