Wednesday 5 January 2011

Menentukan Fungsi Himpunan dengan BufferedReader Pada Java


LISTING PROGRAM

import java.io.*;
class  fungsi_himpunan_menu
{
private static BufferedReader input = new BufferedReader (new InputStreamReader(System.in));
public static void main(String[] args) throws Exception 
{
System.out.print("Masukkan Banyaknya Himpunan A: ");
int x=Integer.parseInt(input.readLine());
int himpA [] = new int[x];
for(int i=0; i<x ; 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<x;i++)
{
System.out.print(himpA[i]);
if(i!=x-1)
System.out.print(",");
}
System.out.println("}");
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<y; 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<y;j++)
{
System.out.print(himpB[j]);
if(j!=y-1)
System.out.print(",");
}
System.out.println("}");
System.out.println();

System.out.println ("Jenis Fungsi");
System.out.println ("=======================");
System.out.println ("1. Satu-satu");
System.out.println ("2. Pada");
System.out.println ("=======================");
System.out.print ("Masukan Jenis Fungsi yang diinginkan : ");
String b=input.readLine();
int pil=Integer.parseInt(b);
System.out.println();
switch (pil)
{
case 1:
//Fungsi One-One
System.out.print ("Contoh Fungsi One-One HimpA ke HimpB adalah, f(A->B)={");
if (x<=y)
for (int i=0; i<x; i++)
{
for (int j=i; j<=i; j++)
System.out.print("("+himpA[i]+","+himpB[j]+")");
if (i!=x-1)
System.out.print (",");
}
else
{
for (int i=0; i<y; i++)
{
for (int j=i; j<=i; j++)
System.out.print("("+himpA[i]+","+himpB[j]+")");
System.out.print (",");
}
for (int i=y; i<x; i++)
{
for (int j=(i-y); j<=(i-y); j++)
System.out.print("("+himpA[i]+","+himpB[j]+")");
if (i!=x-1)
System.out.print (",");
}
}
System.out.println ("}");
break;

case 2:
System.out.print ("Contoh Fungsi Onto HimpA ke HimpB adalah, f(A->B)={");
if (x<=y)
{
for (int i=0; i<x; i++)
{
for (int j=i; j<=i; j++)
System.out.print("("+himpA[j]+","+himpB[i]+")");
System.out.print (",");
}
for (int i=x; i<y; i++)
{
for (int j=(i-x); j<=(i-x); j++)
System.out.print("("+himpA[j]+","+himpB[i]+")");
if (i!=y-1)
System.out.print (",");
}
}
else
{
for (int i=0; i<y; i++)
{
for (int j=i; j<=i; j++)
System.out.print("("+himpA[i]+","+himpB[j]+")");
if (i!=x-1)
System.out.print (",");
}
for (int i=y; i<x; i++)
{
for (int j=(i-y); j<=(i-y); j++)
System.out.print("("+himpA[i]+","+himpB[j]+")");
if (i!=x-1)
System.out.print (",");
}
}
System.out.println ("}");
break;

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


LOGIKA PROGRAM


1.  Karena kita 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, Karena itu kita menggunakan perintah “import java.io.*;”untuk mengimport BufferedReader tersebut. Karena Java Application Programming Interface (API) memiliki ratusan class yang sudah dibuat pada program maka class-class tersebut dikumpulkan ke dalam packages dengan menggunakan simbol *. Packages sendiri memiliki beberapa class-class yang memiliki fungsi-fungsi tertentu. 

2.  Mendeklarasikan nama class, pada program ini diberi nama “fungsi_himpunan_menu”.

3.  Mendeklarasikan suatu variable (dalam lisiting di atas dengan nama input) yang akan kita gunakan sebagai tempat penyimpanan data nantinya, dengan perintah “private static BufferedReader input = new BufferedReader (new InputStreamReader (System.in))”

4.  Menuliskan method yang akan kita gunakan yaitu “public static void main(String[] args) throws IOException”. Karena kita tidak menyertakan blok try-catch di dalam method yang mengandung kode-kode yang yang mungkin menimbulkan eksepsi , maka kita harus menyertakan klausa throws (diikuti huruf ‘s’, bukan throw) pada saat pendeklarasian method bersangkutan. Jika tidak, maka program tidak dapat di kompilasi.

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 array, 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<x; i++)”.

9.  Nilai i pertama adalah nol, syarat pengulangan adalah i<x dimana x ini adalah jumlah dari elemen A yang telah kita masukan tadi. i++ adalah kondisi penambahan data. 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 array 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. Mencetak tulisan “A = {“ dengan perintah System.out.print("A = {");

11. Nilai i pertama adalah nol, syarat pengulangan adalah i<x dimana x ini adalah jumlah dari elemen A yang telah kita masukan tadi. i++ adalah kondisi penambahan data. Karena i masih bernilai 0 maka akan berlanjut ke proses selanjutnya yaitu mencetak elemen himpunan A yaitu i dengan perintah System.out.print(himpA[i]); proses tersebut akan menghasilkan pencetakan tanda ‘,’ dengan perintah “System.out.print(",");”. Proses tersebut berlangsung tergantung kita menginput nilai x nya berapa dan berhenti apabila tidak memenuhi persyaratan ditandai dengan dicetak tanda ‘}’ dengan perintah “System.out.println("}");

12.  Mencetak baris baru dengan perintah System.out.println();

13. Mencetak tulisan Masukan Banyaknya Himpunan B dengan perintah  “System.out.print("Masukkan Banyaknya Himpunan B: ");”.

14. Mendeklarasikan variabel y sebagai tempat penyimpanan data untuk nilai “banyak himpunan B” yang sebelumnya disimpan dalam varibel input. Dengan perintah ”int y = Integer.parseInt (input.readLine());”

15. Mendelarasikan himpB dengan menggunakan array, yang nilai nya berasal dari nilai yang telah disimpan dalam variabel y. Dengan perintah ”int himpB[] = new int [y];”

16. Nilai j pertama adalah nol, syarat pengulangan adalah j<y dimana y ini adalah jumlah dari elemen B yang telah kita masukan tadi. j++ adalah kondisi penambahan data. Karena j masih bernilai 0 maka akan berlanjut ke proses selanjutnya.

17. Mencetak tulisan Masukan Elemen B ke- dengan perintah “System.out.print ("Masukkan Elemen B ke-"+(j+1)+" :");, maksud dari j+1 adalah sebagai pemicu agar user memasukan nilai sesuai dengan variabel. Lalu, agar inputan menjadi bertipe data integer maka kita menggunakan perintah “himpB[j]=Integer.parseInt(b);” Selanjutnya, akan melakukan proses berikutnya yaitu artinya banyak nya array dalam variabel himpB adalah sebanyak j, dengan nilai masing – masing berasal dari varibel B tadi,yang tadinya tempat penyimpanan nilai ”masukan element B ke“ dan nilai tersebut akan disimpan dan nantinya akan diprint sehingga menjadi anggota variabel B.

18. Mencetak B={ dengan perintah “System.out.print("B={");

19. Nilai j pertama adalah nol, syarat pengulangan adalah j<y dimana y ini adalah jumlah dari elemen B yang telah kita masukan tadi. j++ adalah kondisi penambahan data. Karena j masih bernilai 0 maka akan berlanjut ke proses selanjutnya yaitu mencetak elemen himpunan B yaitu j dengan perintah System.out.print(himpB[j]); proses tersebut akan menghasilkan pencetakan tanda ‘,’ dengan perintah “System.out.print(",");”. Proses tersebut berlangsung tergantung kita menginput nilai x nya berapa dan berhenti apabila tidak memenuhi persyaratan ditandai dengan dicetak tanda ‘}’ dengan perintah “System.out.println("}");

20. Mencetak baris baru dengan perintah System.out.println();

21. Mencetak menu dengan perintah :
System.out.println ("Jenis Fungsi");
System.out.println ("=======================");
System.out.println ("1. Satu-satu");
System.out.println ("2. Pada");
System.out.println ("=======================");

22. Mencetak Masukan Jenis Fungsi yang diinginkan : dengan perintah “System.out.print ("Masukan Jenis Fungsi yang diinginkan : ");”, maksudnya adalah untuk memberitahukan kepada user jenis fungsi yang diinginkan dan akan disimpan dengan perintah “String b=input.readLine(); dan nantinya tipe data tersebut akan diubah menajdi tipe data integer dengan nama variabel pil dengan perintah “int pil=Integer.parseInt(b);”

23. Mencetak baris baru dengan perintah “System.out.println();”.

24. Setelah itu saya akan membuat perintah switch (pil) adapun maksud dari perintah tersebut adalah perintah switch untuk memilih salah satu dari beberapa pernyataan berdasarkan nilai ekspresi dan nilai ekspresi yang saya buat adalah pil. Jadi, maksud dari ekspresi pil di sini adalah untuk menentukan pernyataan dari beberapa pernyataan yang telah kita buat. Di sini saya akan membuat beberapa jenis pernyataan (case).        

25. Mendeklarasikan case 1 yaitu proses dari fungsi satu-satu, dimana apabila user memilih pilihan pertama maka akan dilakukan proses case ini.

26. Mencetak tulisan Contoh Fungsi One-One HimpA ke HimpB adalah, f(A->B)={ dengan perintah “Contoh System.out.print ("Contoh Fungsi One-One HimpA ke HimpB adalah, f(A->B)={");“.

27. Mendeklarasikan proses pengandaian jika x<=y  maka akan dilanjutkan ke proses selanjutnya yaitu proses pengulangan untuk menampilkan anggota dari elemen array yang akan menampilkan anggota dari himpA dan himpB yang telah kita buat sebelumnya. Lalu, dengan perintah “System.out.print("("+himpA[i]+","+himpB[j]+")");” akan menampilkan jenis fungsi satu-satu, apabila syarat pengulangan terpenuhi maka akan mencetak tanda  “,” dengan perintah “System.out.print (","); tanda “, “ tersebut nantinya akan memisahkan anggota fungsi satu-satu himpA ke himpB.

28. Jika syarat tidak terpenuhi maka akan mencetak tanda “}’ dengan perintah “System.out.println ("}");”. Statement tersebut akan diakhiri dengan perintah break;

29. Mendeklarasikan case 2 yaitu proses dari fungsi pada, dimana apabila user memilih pilihan kedua maka akan dilakukan proses case ini.

30. Mencetak tulisan Contoh Fungsi Onto HimpA ke HimpB adalah, f(A->B)={ dengan perintah “Contoh System.out.print ("Contoh Fungsi One-One HimpA ke HimpB adalah, f(A->B)={");“.

31. Mendeklarasikan proses pengandaian jika x<=y  maka akan dilanjutkan ke proses selanjutnya yaitu proses pengulangan untuk menampilkan anggota dari elemen array yang akan menampilkan anggota dari himpA dan himpB yang telah kita buat sebelumnya. Lalu, dengan perintah “System.out.print("("+himpA[i]+","+himpB[j]+")");” akan menampilkan jenis fungsi satu-satu, apabila syarat pengulangan terpenuhi maka akan mencetak tanda  “,” dengan perintah “System.out.print (","); tanda “, “ tersebut nantinya akan memisahkan anggota fungsi satu-satu himpA ke himpB.

32. Jika syarat tidak terpenuhi maka akan mencetak tanda “}’ dengan perintah “System.out.println ("}");”. Statement tersebut akan diakhiri dengan perintah break;

33. Apabila saat menginput kita tidak memasukan pilihan antara 1 dan 2 maka akan terjadi kesalahan yang akhirnya program akan mencetak Pilihan tak ada dalam daftar!! Dengan perintah “System.out.println ("Pilihan tak ada dalam daftar!!");

34. Statement tersebut akan diakhiri dengan perintah break;

0 comments:

Post a Comment