Listing
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