Kamis, 07 Desember 2017

Program Pertambahan dan Transpose Matriks dengan Java

Listing

 Logika

Program ini menggunakan {import java.util.Scanner;} untuk membuat program ini dapat meminta inputan kepada user. Program ini memiliki nama Class menumatriks. Scannernya ini memiliki nama input.



Pada void main program ini terdapat pembuatan objek yang memiliki nama objeknya r. Lalu objek r ini melakukan penghubungan terhadapa void menu1().




Pada awalan void menu1() ini berisikan pencetakan pilihan menu yang akan dipilih oleh user. Untuk pemilihan digunakan variabel e yang bertipe data integer sebagai variabel pilihnya. Lalu untuk masuk kepilihan menunya, program ini menggunakan percabangan swicth-case. Percabangan switch-casenya ini pemilihan case-nya berpatokan pada nilai variabel e yang diinput oleh user.




Pada case 1 ini terdapat operasi pertambahan matriks. Awalnya program akan meminta user menginput berapa jumlah dari baris dan kolom melalui variabel baris (integer) dan variabel kolom (integer). { int A[][]=new int[baris][kolom]; } ini merupakan deklarasi sebuah array 2 dimensi yang miliki nama variabelnya A, banyaknya angota dari array A ini bergantung pada nilai yang diinput dari variabel baris dan juga kolom. Di bawahnya terdapat dua perulangan for yang berguna sebagai tempat penginputan nilai dari elemen-elemen matriks A. Di sini perulangan for yang akan menjalnkan perulangannya terlebih dahulu sampai habis adalah [ for(int j=0;j<kolom;j++){ ] ini. [ for(int j=0;j<kolom;j++){ ] ini memiliki kondisi dimana variabel j dimulai dari 0 memiliki batas perulangan kurang dari nilai variabel kolom lalu nilai variabel j akan ditambah 1 poin disetiap perulangannya. Lalu setelah [ for(int j=0;j<kolom;j++){ ] ini selesai melakukan perulangan maka [ for(int i=0;i<baris;i++){ ] ini melanjutkan perulangannya sampai habis, kondisi yang dimiliki [ for(int i=0;i<baris;i++){ ] ini hampir sama dengan for j tapi cuma bedanya hanya di batas perulangannya saja yang dibatasi oleh variabel baris, contoh perulangannya : (i=0,j=0), (i=0,j=1), (i=1,j=0), (i=1,j=1). [ A[i][j]=input.nextInt(); ] ini tempat input nilai dari array 2 dimensi A.




Pada perulangan for yang di atas ini berguna sebagai pencetak matriks A-nya. Jadi jika i bernilai 0 dan j bernilai 0 maka array 2 dimensi ini yang dicetak pertama kali selanjutnya i bernilai 0 dan j bernilai 1 yang akan dicetak dan seterusnya sampai batas peulangan dari variabel baris dan variabel kolom. Untuk Matriks yang B logikanya sama dengan logika matriks A hanya variabelnya saja yang berbeda, array A diganti dengan array B.




Pencetakan hasil penjumlahan matriks ini mengunakan perulangan for juga. Jika array A berelemen [0][0] maka array A tersebut akan ditambahkan dengan array B yang berelemen [0][0] juga, jika array A berelemen [0][1] maka array A tersebut akan ditambahkan dengan array B yang berelemen [0][1] juga, sampai seterusnya sesuai dengan batasan perulangan pada variabel baris dan juga variabel kolom. Lalu diakhir case 1 ini, program akan kembali ke awal void menu1 untuk memilih menu kembali.




Pada case 2 ini terdapat perintah melakukan transpose terhadap matriks. Awalnya program akan meminta user menginput berapa ordo matriks yang akan ditranspose. Nilai yang diinput akan tersimpan di dalam variabel n. [int [][] matrika = new int [n][n]; ] ini pendeklarasian array 2 dimensi yang memiliki variabel array bernama matrika. Banyaknya elemen-elemen array ini bergantung pada nilai dari variabel n yang diinput, misal: n=2 maka arraynya (0,0);(0,1);(1,0);(1,1). Selanjutnya terdapat dua perulangan for yang berguna sebagai tempat penginputan nilai dari elemen-elemen matriks A. Di sini perulangan for yang akan menjalnkan perulangannya terlebih dahulu sampai habis adalah [ for(int j=0;j<n;j++){ ] ini. [ for(int j=0;j<n;j++){ ] ini memiliki kondisi dimana variabel j dimulai dari 0 memiliki batas perulangan kurang dari nilai variabel n lalu nilai variabel j akan ditambah 1 poin disetiap perulangannya. Lalu setelah [ for(int j=0;j<n;j++){ ] ini selesai melakukan perulangan maka [ for(int i=0;i<n;i++){ ] ini melanjutkan perulangannya sampai habis, kondisi yang dimiliki [ for(int i=0;i<n;i++){ ] ini sama dengan for j, contoh perulangannya : (i=0,j=0), (i=0,j=1), (i=1,j=0), (i=1,j=1). [ matrika[i][j]=input.nextInt(); ] ini tempat input nilai dari array 2 dimensi matrika.




Untuk tampilan Matriks A-nya digunakan perulangan for, logikanya jika i bernilai 0 dan j bernilai 0 maka array 2 dimensi ini yang dicetak pertama kali, selanjutnya i bernilai 0 dan j bernilai 1 yang akan dicetak dan seterusnya sampai batas peulangan dari variabel n. Untuk yang tampilan transpose dari matriks A-nya juga pake perulangan for yang sama, hanya bedanya pada saat pencetakannya, jika j bernilai 0 dan i bernilai 0 maka itu yang pertama kali di cetak, selanjutnya j bernilai 1 dan i bernilai 0 yang akan dicetak, dan seterusnya sampai batas peulangan dari variabel n. Intinya transposenya itu kebalikan dari tampilan matriksnya. Lalu diakhir case2 ini, program akan kembali ke awal void menu1 untuk memilih menu kembali.





Pada case 3 ini hanya berisikan pencetakan kalimat perpisahan, lalu program akan berhenti/keluar. Untuk defaultnya ini akan terpanggil jika inputan pilihan menu tidak sesuai dengan case-nya, program akan memperingati dan akan kembali ke menu utama lagi.

Output



Tidak ada komentar:

Posting Komentar

Program SORTING DAN SEARCHING DATA Bahasa C

LISTING PROGRAM LOGIKA PROGRAM    #include <stdio.h> adalah penyisipan file standard input output header untuk ...