Anda di halaman 1dari 10

Nama : Ghefira Dhania Sarasvitha Azzahra

NRP : 5002211124

TTD:

TUGAS PEMROGRAMAN

1. Buatlah sebuah program untuk mendemokan (menunjukkan) perbedaan antara


(pemanggilan method) Passing by Value dan Passing by Reference.

Petunjuk: Buat method swap1(int a, int b) dan swap2(int[] A) dalam sebuah class.
Lihat Chapter 6 halaman 213 dan Chapter 7 halaman 259 (Y.Daniel Liang).
Modifikasi Listing 7.3.

JAWAB

a. PassingByValue
public class PassByValue {
public static void main(String[] args) {
// TODO code application logic here
int angka1 = 8;
int angka2 = 9;

System.out.println("Sebelum penukaran di main method, angka1 = " + angka1 +


" dan angka2 = " + angka2);
System.out.println();

//Memanggil swap method untuk menukar dua variabel


swap(angka1, angka2);

System.out.println();
System.out.println("Setelah penukaran di main method, angka1 = " + angka1 + "
dan angka2 = " + angka2);
}

public static void swap(int angka1, int angka2){


System.out.println("Di dalam swap method");
System.out.println("Sebelum penukaran, angka1 = " + angka1 + " dan angka2 =
" + angka2);
//Menukar angka1 dengan angka2
int temp = angka1;
angka1 = angka2;
angka2 = temp;

System.out.println("Setelah penukaran, angka1 = " + angka1 + " dan angka2 = "


+ angka2);
}
}

b. PassingByReference
public class TestPassArray {
public static void main(String[] args) {
// TODO code application logic here
int[] a = {8, 9};

//Menukar elemen dengan swap1 method


System.out.println("Sebelum memanggil method swap1");
System.out.println("Array adalah {" + a[0] + ", " + a[1] + "}");
swap1(a[0], a[1]);
System.out.println("Setelah memanggil method swap1");
System.out.println("Array adalah {" + a[0] + ", " + a[1] + "}");

System.out.println();

//Menukar elemen dengan swap2 method


System.out.println("Sebelum memanggil method swap2");
System.out.println("Array adalah {" + a[0] + ", " + a[1] + "}");
swap2(a);
System.out.println("Setelah memanggil method swap2");
System.out.println("Array adalah {" + a[0] + ", " + a[1] + "}");
}
public static void swap1(int angka1, int angka2){
int temp = angka1;
angka1 = angka2;
angka2 = temp;
}
public static void swap2(int[] array){
int temp = array[0];
array[0] = array[1];
array[1] = temp;
}
}

2. Buatlah sebuah program dengan method IsPrime untuk menunjukkan/ mengetahui


sebuah bilangan integer positip >= 2 itu bilangan Prima atau bukan.

INPUT: integer positip >= 2, misal N. Jika input tidak mmemenuhi, maka harus ada
peringatan, dan kemudian mengulang entry INPUTnya.

OUTPUT: Informasi tentang N itu bilangan “Prima” atau “bukan Prima”.

Petunjuk: Modifikasi Listing 6.7 buku acuan (Y.Daniel Liang) halaman 216-217.
JAWAB:

import java.util.Scanner;
public class BilanganPrima {
public static void main(String[] args) {
// TODO code application logic here
Scanner angka = new Scanner(System.in);
System.out.println("Masukkan angka:");
int a = angka.nextInt();

while (a<=1){
if (a<=1){
System.out.println("angka " + a + " kurang dari 2. Masukkan angka yang lebih
dari 2");
}
System.out.println();
System.out.println("Masukkan angka:");
a = angka.nextInt();
}
if(isPrime(a)){
System.out.println(a + " adalah bilangan prima");
}
else{
System.out.println(a + " bukan bilangan prima");
}
}
public static boolean isPrime(int a) {
for (int i = 2; i<=a; i++){
if (a % 2 == 0){
return false;
}
}
return true;
}
}
3. Buat program untuk Soal 8.2 buku acuan (Y.Daniel Liang) halaman 306. Ambil
matriks berukuran 3x3 dan 4x4 sebagai ujicoba program.

JAWAB:

import java.util.Scanner;
public class MatrixNo3 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
double[][] m = new double[4][4];
System.out.println("Masukkan matriks 4x4 beris per baris: ");

for(int i = 0; i < m.length; i++) {


for (int j = 0; j < m[0].length; j++) {
m[i][j] = in.nextDouble();
}
}

System.out.printf("Sum of the slements in the major diagonal is %.1f",


sumMajorDiagonal(m));

public static double sumMajorDiagonal(double[][] m) {


double sum = 0.0;
for (int i = 0; i < m.length; i++) {
sum += m[i][i];
}
return sum;
}
}

4. Buat program untuk Soal 8.6 buku acuan (Y.Daniel Liang) halaman 307. Ambil
contoh matriks A3x4 dan B4x2 dengan elemen-elemen bertipe integer untuk ujicoba
program.

JAWAB:

import java.util.Scanner;
public class Perkalian2Matriks {
public static void main(String[] args) {
// TODO code application logic here
Scanner input = new Scanner(System.in);

int matriks1[][] = new int[10][10];


int matriks2[][] = new int[10][10];
int hasil[][] = new int[10][10];

int a, b;
System.out.println("Masukan banyak baris dan kolom pada matiks pertama: ");
a = input.nextInt();
b = input.nextInt();

int m, n;
System.out.println("Masukan banyak baris dan kolom pada matiks kedua: ");
m = input.nextInt();
n = input.nextInt();

while(b!=m){
if(b!=m){
System.out.println("Matriks tidak dapat dikalikan");
}
System.out.println();

System.out.println("Masukan banyak baris dan kolom pada matiks pertama: ");


a = input.nextInt();
b = input.nextInt();

System.out.println("Masukan banyak baris dan kolom pada matiks kedua: ");


m = input.nextInt();
n = input.nextInt();
}

if(b==m){
System.out.println("Matriks dapat dikalikan");
}

System.out.println("Masukkan elemen matriks pertama:");

for (int i = 0; i < a; i++) {


for (int j = 0; j < b; j++) {
matriks1[i][j] = input.nextInt();
}
}

System.out.println("Masukkan elemen matriks kedua:");

for (int i = 0; i < m; i++) {


for (int j = 0; j < n; j++) {
matriks2[i][j] = input.nextInt();
}
}

System.out.println("Hasil perkalian matriks: ");


int res = 0;
for (int i = 0; i < a; i++) {
for (int j = 0; j < n; j++) {
for (int k = 0; k < m; k++) {
res = res + matriks1[i][k] * matriks2[k][j];
}
hasil[i][j] = res;
res = 0;
}
}

for (int i = 0; i < a; i++) {


for (int j = 0; j < n; j++) {
System.out.printf("%d\t",hasil[i][j]);
}
System.out.println();
}

}
}

5. Buat 2 buah method: konversi DECkeBIN dan BINkeDEC. Kemudian


implementasikan dalam sebuah program JAVA.

Keterangan:
DECkeBIN: mengkonversi bilangan desimal ke bilangan biner.
BINkeDEC: mengkonversi bilangan biner ke bilangan desimal.

JAWAB:
a. DEC ke BIN

import java.util.Scanner;
public class DecimalBiner {
public static void main(String[] args) {
//mendeklarasikan scanner
Scanner masukan = new Scanner(System.in);
System.out.print("Masukan bilangan: ");
int desimal = masukan.nextInt();

//variabel menampung hasil bagi:


int sisaBagi[] = new int[8];

//looping u mencari sisaBagi dan membagi desimal dgn 2


for(int i = 0; i < 8; i++){
sisaBagi[i] = desimal % 2;
desimal = desimal / 2;
}

//looping u mencetak hasil


for(int j = 7; j >= 0; j--){
System.out.print(sisaBagi[j]);
}

}
}
b. BIN ke DEC

import java.util.Scanner;

public class BinerDecimal {

public static void main(String[] args) {

// TODO code application logic here

//Convert ke Decimal

Scanner sc = new Scanner(System.in);

System.out.println("Masukkan bilangan biner:");

String binary = sc.next();

int decimal = Integer.parseInt(binary,2);

System.out.println("Bilangan desimal yang dihasilkan:" +decimal);

Anda mungkin juga menyukai