LAPORAN AKHIR PRAKTIKUM Mata Praktikum : Matematika Informatika Kelas : 1IA23 Praktikum ke :4 Tanggal : 14 Januari 2019 Materi : Fungsi Invers NPM : 51418626 Nama : Damara Syaidil Fitrayatulloh Ketua Asisten : Gina Kharisma Nama Asisten : Paraf Asisten : Jumlah Lembar : 12 Lembar LABORATORIUM TEKNIK INFORMATIKA UNIVERSITAS GUNADARMA 2018/2019 Listing Program Logika Program Kali ini saya akan membuat program Fungsi Invers pada himpunan dengan menggunakan Java. Fungsi Invers adalah Fungsi yang merupakan kebalikan dari aksi fungsi awalnya. Setiap fungsi mempunyai invers, tetapi setiap invers belum tentu sebuah fungsi Ini berarti invers dari suatu fungsi dapat berupa relasi atau fungsi. Maka akan saya buktikan pada program ini menggunakan java Langsung saja ke codingan import java.util.Scanner; berguna untuk memasukan opsi scanner. Karena disini kita nanti memasukan data (Input) jika memakai input berarti kita membutuhkan Scanner untuk membaca Input. Lalu public class Finvers{ menunjukan bahwa pada nama class yang digunakan dengan nama “Finvers”. Selanjutnya pada kodingan line 4 sampai line 9 itu gunanya untuk mendeklarasikan variable yang akan digunakan dalam pemrograman dengan tipe data integer dan Boolean. Kodingan diatas merupakan method utama dari class ini yang akan pertama kali dijalankan saat akan menjalankan program, dan method utama ini kita bisa memanggil method method yang lain. Kodingan diatas digunakan untuk menginput anggota himpunan A dan Himpunan B. Anggota himpunan tersebut harus dirubah terlebih dahulu ke integer karena disini saya menggunakan tipe data integer. Nilai dari anggota himpunan tersebut disimpan pada variable HimpunanA dan HimpunanB secara array. Disana saya menggunakan perulangan for agar kita bisa melakukan input sesuai dengan jumlah anggota yang kita input. Kodingan diatas gunanya untuk mencetak dari anggota himpunan yang sudah kita input tadi, disana saya menggunakan perulangan for agar bisa mencetak setiap anggota himpunan satu persatu dan sesuai dengan apa yang diinput. Kodingan diatas gunanya untuk melakukan input relasi dari anggota himpunan yang sudah ada demgan mengkalikan jmlHimpunanA dengan jmlHimpunanB. Sintaks do dibuat untuk mengecek bahwa jumlah relasi harus lebih kecil atau sama dengan jumlah relasi maksimalnya. Jika lebih besar maka akan terus melakukan looping. Di atas adalah coding perulangan dari inputnya , dimana yang kita input nanti akan masuk kedalam array “temp” dan “temp2” sebagai array sementara agar tidak tercampur dengan array “HimpunanA” dan “HimpunanB” yang menjadi array himpunan utama yang menampung data dari anggota himpunan yang kita input diawal. Selanjutnya adalah pengecekan apakah relasi yang kita input sesuai dengan perintah. **biar lebih jelas saya akan jelaskan per statement** int[] temp=new int[jmlRelasi]; gunanya untuk menampung sementara inputan dari daerah Asal. int[] temp2 = new int[jmlRelasi]; gunanya untuk menampung sementara inputan dari daerah Tujuan. boolean SamaA = false; gunanya untuk mengecek apakah inputan untuk nilai Asal ada di himpunan A atau tidak. boolean SamaB = false; gunanya untuk mengecek apakah inputan untuk Tujuan ada di himpunan B atau tidak. Perintah diatas itu digunakan untuk mengubah variable SamaA dan SamaB yang kita tetapkan sebagai false dalam Boolean, dan disini kita ubah menjadi true agar bisa digunakan untuk penanda bahwa anggota himpunan tersebut adalah yang ditunjuk sebagai relasi. Kodingan diatas untuk melakukan pengecekan apakah relasi yang kita input sebelumnya adalah fungsi atau Cuma relasi biasa, kondisinya adalah jika array pada HimpunanA semua anggotanya sama dengan HimpunanAsal yang sesuai dengan syarat dari fungsi bila semua anggota domain memiliki hubungan dengan anggota himpunan kodomain secara satu-satu. Selanjutnya kodingan diatas itu menunjukan jika fungsi tersebut merupakan fungsi satu – satu maka akan membuat variable satu2 yang bertipe data Boolean menjadi true. Tetapi jika ada satu yang tidak terhubung atau terhubung dengan 2 atau lebih anggota kodomain maka relasi tersebut hanya relasi biasa. **Agar lebih jelas saya akan bahas satu persatu kodingannya: Kodingan diatas digunakan untuk mengecek apakah Semua anggota Himpunan A ada di temp. (begitu juga sama dengan kodingan anggota Himpunan B). Kodingan diatas Untuk mengecek apakah anggota himpunan asal atau temp ada yang sama atau tidak jika ada yang sama maka variabel adaSama bernilai True. Selanjutnya kita lanjut ke method berikutnya Kodingan diatas gunanya untuk melakukan cetak pada relasi yang sudah kita input tadi, dan disana akan dimunculkan Domain (Daerah asal), Kodomain (Daerah Tujuan), dan Range (Hasil) dari relasi yang sudah kita input tadi. Sedangkan maksud dari kodingan diatas adalah apabila variable satu2 menjadi bernilai true maka akan mencetak fungsi inversnya dimana fungsi domainnya menjadi kodomain dan kodomainnya menjadi fungsi domainnya , dan rangenya adalah range dari fungsi invers. Output Program