Tag Archive | diskrit

Program Fungsi Invers dengan Java

Kali ini saya akan membagikan program menggunakan bahasa pemrograman Java dengan Netbeans. Diambil dari salah satu materi Matematika Informatika 1, yaitu Fungsi Invers. Berikut ini adalah listing kode programnya.

in1

 

in2

 

in3

 

in4

 

Pada logika program kali ini, saya akan mencoba menjelaskan listing program tentang fungsi invers. Berikut adalah logika programnya.

import java.io.*;

public class FungsiInvers

Pada awal penulisan kode, di sini kita mengimport paket java.io yang berfungsi meginput class- class yang berguna dalam proses input output program. Tanda “;” berfugsi untuk memberi batas antar statement.

{

public static void main(String[] args) throws Exception

            Kemudian dibuka blok program ditandai dengan tanda kurawal buka “{“. Selanjutnya dideklarasikan method main() sebagai pembuka program yang bersifat statis, public atau dapat diakses pada semua class dalam program, dan void yang tidak mengembalikan nilai. Kemudian dilemparkan sebuah pengecualian untuk method ini.

{

DataInputStream input=new DataInputStream(System.in);

System.out.print(“masukan banyak koordinat= “);

int jum= Integer.parseInt(input.readLine());

int x[]=new int[jum];

for (int i=0;i<jum;i++)

{

System.out.print(“masukan elemen x ke-“+(i+1)+”; “);

x[i]=Integer.parseInt(input.readLine());

}

 

      Lalu dibuka kembali blok program selanjutnya ditandai dengan adanya kurawal buka “{“. Kemudian dibuatnya objek baru bernama “input” untuk meminta input dari user. Kemudian terdapat perintah mencetak “masukan banyak koordinat= “. Selanjutnya dibuat variabel baru yang bernama “jum” yang memiliki tipe data integer yang berguna untuk membaca input dari user. Lalu dibuat variabel array yang bertipe data integer bernama “x” yang banyak elemennya sama dengan variabel “jum”

      Kemudian digunakan perulangan for untuk variable “i” yang bertipe data integer dengan nilai awal 0 (nol) dan akan terus berulang dan bertambah nilainya selama kondisi terpenuhi atau nilai “i” kurang dari nilai variabel “jum”. Dengan kondisinya adalah mencetak apa saja yang ada dalam tanda kutip “ ”. Lalu dipanggil variabel array “x” dengan tempat penyimpanan sebanyak variabel “i” untuk kemudian membaca input dari user yang datanya bertipe data integer. Kemudian blok program ini berakhir dengan adanya tanda kurawal tutup “}”.

            int yf[]= new int[jum];

for (int i=0;i<jum;i++)

{

yf[i]=x[i]*x[i]+x[i]+1;;

}

int yg[]= new int[jum];

for (int i=0;i<jum;i++)

{

yg[i]=x[i]*x[i]+x[i];

}

int yfg[]= new int[jum];

for (int i=0;i<jum;i++)

{

yfg[i]=yg[i]*yg[i]+yg[i]+1;

}

int ygf[]= new int[jum];

for (int i=0;i<jum;i++)

{

ygf[i]=yf[i]*yf[i]+yf[i];

}

System.out.println(“fungsi f(x)=x^2+x+1”);

System.out.println(“fungsi g(x)=x^2+x”);

System.out.print(“maka f(x)= (“);

 

      Pada blok program selanjutnya terdapat beberapa kali perulangan for yang fungsinya sama yaitu mengulang dan bertamah nialinya selama kondisi terpenuhi, yaitu nilai awal variabel ii adalah 0 (nol) dan kondisi nilai variabel i kurang dari nilai variabel “jum”. Untuk variabel array “yf” dan “yfg” sedangkan “yg” dan ygf”, dan semuanya memiliki banyak array sesuai dengan input dari user. Dengan rumus masing-masing, untuk “yf” yaitu nilai variabel x sebanyak i dikali dengan blangan itu (pangkat 2) sendiri ditambah dengan nilai dari variabel x sebanyak ii ditambah dengan 1. Dan yfg memiliki rumus yang sama dengan “yf” hanya tinggal mengganti variabel x menjadi “yf”.

            Sedangkan untuk “yg” memiliki rumus variabel x sebanyak i dikali dengan bilangan itu sendiri (pangkat 2) ditambah dengan variabel x sebanyak i. Dan untuk “ygf” memiliki rumus yang sama, hanya tinggal mengganti variabel “yg” dengan variabel “ygf”.

            Kemudian akan mencetak pada baris selanjutnya secara berurutan “fungsi f(x)=x^2+x+1”, fungsi g(x)=x^2+x,dan (“maka f(x)= (“. Tanda titik koma “;” berfungsi untuk membatasi antar statement.

            for(int i=0;i<jum;i++)

{

System.out.print(yf[i]);

if(i!=jum-1)

{

System.out.print(“,”);

}

}

      Blok selanjutnya merupakan perulangan for dengan batas- batas yaitu nilai awal variabel “i” adalah nol ( 0 ), dan akan terus bertambah nilainya selama nilai “i” kurang dari nilai variabel “jum”. Akan mencetak nilai-nilai dari variabel array “yf” secara berulang-ulang. Dengan kondisi menggunakan system percabangan if, yaitu jika nilai dari i! (i factorial) adalah nilai dari variabel “jum” dikurangi 1. Kemudian akan mencetak “, ” pada setiap elemen yang dicetak. Tanda kurawal buka “{“ dan tutup “}” menandakan program dimulai dan diakhiri dan tanda titil koma “;” untuk memberi batas antar statement.

            System.out.print(“)\n”);

System.out.print(“maka g(x)=(“);

for(int i=0;i<jum;i++)

{

System.out.print(yg[i]);

if(i!=jum-1)

{

System.out.print(“,”);

}

}

Kemudian akan mencetak kembali pada baris baris selanjutnya “maka g(x)=(” . Kemudian dilakukan perulangan for dengan batas- batas yaitu nilai awal variabel “i” adalah nol ( 0 ), dan akan terus bertambah nilainya selama nilai “i” kurang dari nilai variabel “jum”. Akan mencetak nilai-nilai dari variabel array “yg” secara berulang-ulang. Dengan kondisi menggunakan system percabangan if, yaitu jika nilai dari i! (i factorial) adalah nilai dari variabel “jum” dikurangi 1. Kemudian akan mencetak “, ” pada setiap elemen yang dicetak. Tanda kurawal buka “{“ dan tutup “}” menandakan program dimulai dan diakhiri dan tanda titil koma “;” untuk memberi batas antar statement.

 

System.out.print(“)\n”);

System.out.print(“maka fog(x)=(“);

for(int i=0;i<jum;i++)

{

System.out.print(yfg[i]);

if(i!=jum-1)

{

System.out.print(“,”);

}

}

Kemudian akan mencetak kembali pada baris baris selanjutnya “maka fog(x)=(” . Kemudian dilakukan perulangan for dengan batas- batas yaitu nilai awal variabel “i” adalah nol ( 0 ), dan akan terus bertambah nilainya selama nilai “i” kurang dari nilai variabel “jum”. Akan mencetak nilai-nilai dari variabel array “yfg” secara berulang-ulang. Dengan kondisi menggunakan system percabangan if, yaitu jika nilai dari i! (i factorial) adalah nilai dari variabel “jum” dikurangi 1. Kemudian akan mencetak “, ” pada setiap elemen yang dicetak. Tanda kurawal buka “{“ dan tutup “}” menandakan program dimulai dan diakhiri dan tanda titil koma “;” untuk memberi batas antar statement.

 

System.out.print(“)\n”);

System.out.print(“maka gof(x)=(“);

for(int i=0;i<jum;i++)

{

System.out.print(ygf[i]);

if(i!=jum-1)

{

System.out.print(“,”);

}

}

Kemudian akan mencetak kembali pada baris baris selanjutnya “maka ygf(x)=(” . Kemudian dilakukan perulangan for dengan batas- batas yaitu nilai awal variabel “i” adalah nol ( 0 ), dan akan terus bertambah nilainya selama nilai “i” kurang dari nilai variabel “jum”. Akan mencetak nilai-nilai dari variabel array “ygf” secara berulang-ulang. Dengan kondisi menggunakan system percabangan if, yaitu jika nilai dari i! (i factorial) adalah nilai dari variabel “jum” dikurangi 1. Kemudian akan mencetak “, ” pada setiap elemen yang dicetak. Tanda kurawal buka “{“ dan tutup “}” menandakan program dimulai dan diakhiri dan tanda titil koma “;” untuk memberi batas antar statement.

 

System.out.print(“)\n”);

System.out.print(“maka relasinya terhadap fungsi f(x);\n”);

for(int i=0;i<jum;i++)

{

System.out.println(“(“+x[i]+”,”+yf[i]+”)”);

}

Kemudian akan mencetak kembali pada baris baris selanjutnya “maka relasinya terhadap funsi f(x);”, lalu diberi jarak pada baris selanjutnya. Kemudian dilakukan perulangan for dengan batas- batas yaitu nilai awal variabel “i” adalah nol ( 0 ), dan akan terus bertambah nilainya selama nilai “i” kurang dari nilai variabel “jum”. Kemudian blok program baru dibuka dengan kondisi akan mencetak “(“+x[i]+”,”+yf[i]+”)” kemudian blok program ditutup.

System.out.print(“maka invers terhadap fungsi f(x):\n”);

for(int i=0;i<jum;i++)

{

System.out.println(“(“+yf[i]+”,”+x[i]+”)”);

}

      Kemudian akan mencetak kembali pada baris baris selanjutnya “maka inversnya terhadap funsi f(x):”, lalu diberi jarak pada baris selanjutnya. Kemudian dilakukan perulangan for dengan batas- batas yaitu nilai awal variabel “i” adalah nol ( 0 ), dan akan terus bertambah nilainya selama nilai “i” kurang dari nilai variabel “jum”. Kemudian blok program baru dibuka dengan kondisi akan mencetak “(“+yf[i]+”,”+x[i]+”)” kemudian blok program ditutup.

 

System.out.print(“maka relasinya terhadap fungsi g(x);\n”);

for(int i=0;i<jum;i++)

{

System.out.println(“(“+x[i]+”,”+yg[i]+”)”);

}

      Kemudian akan mencetak kembali pada baris baris selanjutnya “maka relasinya terhadap funsi g(x);”, lalu diberi jarak pada baris selanjutnya. Kemudian dilakukan perulangan for dengan batas- batas yaitu nilai awal variabel “i” adalah nol ( 0 ), dan akan terus bertambah nilainya selama nilai “i” kurang dari nilai variabel “jum”. Kemudian blok program baru dibuka dengan kondisi akan mencetak “(“+x[i]+”,”+yg[i]+”)” kemudian blok program ditutup.

 

System.out.print(“maka invers terhadap fungsi g(x):\n”);

for(int i=0;i<jum;i++)

{

System.out.println(“(“+yg[i]+”,”+x[i]+”)”);

}

}

}

Kemudian akan mencetak kembali pada baris baris selanjutnya “maka inversnya terhadap funsi g(x):”, lalu diberi jarak pada baris selanjutnya. Kemudian dilakukan perulangan for dengan batas- batas yaitu nilai awal variabel “i” adalah nol ( 0 ), dan akan terus bertambah nilainya selama nilai “i” kurang dari nilai variabel “jum”. Kemudian blok program baru dibuka dengan kondisi akan mencetak “(“+yg[i]+”,”+x[i]+”)” kemudian blok program ditutup. Inilah akhir dari program.

Berikut ini adalah output programnya :

in5