LISTING PROGRAM

Tugas I

import java.io.*;
public class Fibonaci{
public static void main(String[] args) throws IOException{
BufferedReader masuk= new BufferedReader(new
InputStreamReader(System.in));
          
String jumlahfibo = null;
int a=0, b=1, c=0, i=1;
          
System.out.print("Masukkan jumlah deret fibonaci: ");
jumlahfibo = masuk.readLine();
          
int jumlah;
jumlah = Integer.parseInt(jumlahfibo);
          
          
System.out.println(b);
do{
c = a + b;
System.out.println(c);
a = b;
b = c;
          
i++;
}while (i < jumlah);
}
}

Tugas II

import java.io.*;
public class SegitigaSiku{
public static void main(String args[]) throws IOException{
BufferedReader masukan = new BufferedReader(new InputStreamReader(System.in));
String strtinggi = null;
System.out.println("Segitiga Siku-Siku");
System.out.print("Masukkan Tinggi : ");
strtinggi = masukan.readLine();
int tinggi;
tinggi = Integer.parseInt(strtinggi);
for(int i=tinggi;i>=1;i--){
for(int j=i;j>=1;j--){
System.out.print(" ");
}
for(int k=i;k<=tinggi;k++){
System.out.print("*");
}
System.out.print("\n");
}}}
Tugas III

Public class Multidimensi{
public static void main(String args[]){
int int2Darr[][] = new int[4][5];
int k = 0;
for(int i =0;i<4;i++){
for(int j =0;j<5;j++){
int2Darr[i][j] = k++;}}
for(int i =0;i<4;i++){
for(int j =0;j<5;j++){
System.out.print(int2Darr[i][j]+" ");}
System.out.println();}}}




LOGIKA PROGRAM
Tugas I

Pada pemrograman ini akan membahas tentang bagaimana mendapatkan deret Fibonaci, fibonaci adalah angka berikutnya didapat dengan cara menambahkan kedua bilangan yang berurutan sebelumnya. Dengan aturan ini, maka barisan fibonaci yang pertama adalah 1,1,2,3,5,8,13,21,34,55,89 dst. Saya akan membahasa bagian per bagian .

import java.io.*;

Penjelasan Listing ini adalah untuk menggunakan paket IO atau mengimport semua class dalam paket java.IO*.

public class Fibonaci{

Kelas / class merupakan bagian dari bahasa java. Setiap aplikasi atau program harus terdiri satu kelas/class. Pada listing diatas saya memberikan nama Fibonaci yang harus sama pada saat kita menyimpannya.

public static void main(String[]args){

Dalam bahasa java, setiap aplikasi atau program harus memiliki metode main seperti pada listing diatas, fungsi dari metode main ini adalah sebagai pintu gerbang atau awal suatu program.

throws IOException{
BufferedReader masuk= new BufferedReader(new
InputStreamReader(System.in));


Pada listing diatas maksudnya adalah throws IOException berfungsi untuk meminimalisasi kesalahan, sedangkan BufferedReader masuk = new BufferedReader(new InputStreamReader(System.in)) , mendeklarasikan BufferedReader dengan variable masuk, yang berfungsi untuk mendapatkan Input kebalikan dari System.out.

String jumlahfibo = null;

     Maksud listing diatas adalah mendeklarasikan variable jumlahfibo dengan tipe data String, yang bernilai kosong , belum terisi.


int a=0, b=1, c=0, i=1;

Memberikan variable a,b,c, dan I dengan nilai yang bertipe data integer yaitu 0,1,0, dan 1


System.out.print("Masukkan jumlah deret fibonaci: ");
jumlahfibo = masuk.readLine();

Maksudnya adalah menampilkan “Masukkan jumlah deret fibonaci: " , nilai yang didapat dari input keyboard kemudian akan memberikan nilai terhadap variable masuk pada listing sebelumnya.

int jumlah;
jumlah = Integer.parseInt(jumlahfibo);

Maksud pada listing diatas adalah mendeklarasikan bahwa variable jumlah bertipe data integer, jumlah = Integer.parseInt(jumlahfibo) maksudnya adalah merubah tipe data string yang didapat oleh input keyboard oleh user menjadi tipe data integer.

System.out.println(b);
do{
c = a + b;
System.out.println(c);
a = b;
b = c;
          
i++;
}while (i < jumlah);
}
}

  Maksud listing diatas adalah akan menampilkan b dan c, tetapi dengan menggunakan perulangan do-while. C didapat dari a+b . yang nantinya akan di tampilkan setelah itu a menjadi b dan b menjadi c , I akan terus bertambah sampai dengan I kurang dari variable jumlah yang didapat dari input user . contohnya inputnya adalah 3. Menampilkan 1 dari variable b  sementara C =0+1 menampilkan 1 yang didapat dari variable c karena I masih bernilai 1 dan kurang dari input user yaitu 3 maka system akan terus berjalan yaitu c = 1+1 menampilkan 2, karena I bernilai 2 dan itu kurang dari input user program terus berjalan yaitu C=1+2 menampilkan 3 dst


Tugas II


Pada pemrograman kali ini saya akan membahas tentang bagaimana membuat segitiga siku siku dari * yang mempunyai tinggi ditentukan oleh user . Saya akan membahasa bagian per bagian.

import java.io.*;

Penjelasan Listing diatas sama dengan penjelasan pada tugas sebelumnya yaitu untuk menggunakan paket IO atau mengimport semua class dalam paket java.IO*.

public class SegitigaSiku{

Kelas / class merupakan bagian dari bahasa java. Setiap aplikasi atau program harus terdiri satu kelas/class. Pada listing diatas saya memberikan nama SegitigaSiku yang harus sama pada saat kita menyimpannya.

public static void main(String[] args)

  Maksudnya dalam bahasa java, setiap aplikasi atau program harus memiliki metode main seperti pada listing diatas, fungsi dari metode main ini adalah sebagai pintu gerbang atau awal suatu program.

throws IOException{
BufferedReader masukan = new BufferedReader(new InputStreamReader(System.in));

Pada listing diatas maksudnya adalah throws IOException berfungsi untuk meminimalisir kesalahan, sedangkan BufferedReader masukan = new BufferedReader(new InputStreamReader(System.in)) , mendeklarasikan BufferedReader dengan variable masukan, yang berfungsi untuk mendapatkan Input kebalikan dari System.out.

String strtinggi = null;

Maksud listing diatas adalah mendeklarasikan variable strtinggi dengan tipe data String, yang bernilai kosong , belum terisi.

System.out.println("Segitiga Siku-Siku");
System.out.print("Masukkan Tinggi : ");
strtinggi = masukan.readLine();
int tinggi;
tinggi = Integer.parseInt(strtinggi);

Maksudnya adalah untuk menampilkan "Segitiga Siku-Siku" dan "Masukkan Tinggi : " . input yang didapat akan di deklarasikan menjadi variable strtinggi namun masih bertipe String maka akan diubah kedalam integer oleh listing “tinggi = Integer.parseInt(strtinggi)”


for(int i=tinggi;i>=1;i--){
for(int j=i;j>=1;j--){
System.out.print(" ");


Maksud dari listing di atas adalah dengan menggunakan perulangan for untuk membuat segitiga siku siku. Dengan menggunakan spasi sebagai jarak . variable I sama dengan berapa input yang diberikan . misalnya input yang diberikan 2 maka system akan menampilkan spasi sebanyak 2 kali, apabila I lebih besar atau sama dengan 1 maka I akan dikurangi sebanyak 1 yang akan tetap looping atau berlanjut sampai dengan I sama dengan atau kurang dari 1 .


}
for(int k=i;k<=tinggi;k++){
System.out.print("*");
}


Maksudnya adalah untuk menampilkan * sebagai segitiga nya . integer k diberi nilai sama dengan I , apabila k kurang dari atau sama dengan tinggi yang diberikan maka system akan menampilkan *, proses looping atau perulangan akan tetap berlanjut sampai variable k lebih atau sama dengan tinggi yang diberikan . misalnya nilai yang diberikan user adalah 3 , maka proses pertama nilai variable k/I adalah 1 dan 1 kurang dari atau sama dengan 3 maka system akan menampilkan * lalu nilai variable k ditambah 1 menjadi 2 dan 2 kurang dari 3 maka system akan menampilkan * lagi lalu nilai variable k/I ditambah 1 lagi menjadi 3 dan 3 adalah sama dengan 3 maka system akan menampilkan * dan proses perulangan akan berhenti.



}
System.out.print("\n");
}}}

Maksud dari listing diatas adalah untuk memberikan enter terhadap system atau program yang  akan ditampilkan sebagai output.


Tugas III

Public class Multidimensi{

Kelas / class merupakan bagian dari bahasa java. Setiap aplikasi atau program harus terdiri satu kelas/class. Pada listing diatas saya memberikan nama Multidimensi yang harus sama pada saat kita menyimpannya.

public static void main(String args[]){

Maksudnya dalam bahasa java, setiap aplikasi atau program harus memiliki metode main seperti pada listing diatas, fungsi dari metode main ini adalah sebagai pintu gerbang atau awal suatu program.

int int2Darr[][] = new int[4][5];

Maksudnya adalah memberikan variable int2Darr array dalam array atau yang disebut dengan multidimensi yang bernilai integer yaitu 4 dan 5.

int k = 0;

  Maksudnya adalah memberikan variable k dengan nilai 0 yang bertipe integer.

for(int i =0;i<4;i++){
for(int j =0;j<5;j++){
int2Darr[i][j] = k++;}}

  Maksudnya adalah menampilkan deret bilangan, dengan nilai i=0 apabila I masih kurang dari 4 maka I akan terus ditambah 1 sampai dengan bilangan lebih dari atau sama dengan 4 fungsinya adalah sebagai perulangan baris, nilai j=0 apabila j masih kurang dari 5 maka j akan terus ditambah 1 sampai dengan hasilnya lebih dari atau sama dengan 5 fungsinya adalah sebagai perulangan kolom.  int2Darr[i][j] = k++;}} fungsinya adalah untuk mengisi variable array 2Darr= increment variable k, k= k+1. Jadi inti dari listing diatas adalah untuk menginput data Array.


for(int i =0;i<4;i++){
for(int j =0;j<5;j++){
System.out.print(int2Darr[i][j]+" ");}
System.out.println();}}}


Sama seperti penjelasan listing diatas for(int i =0;i<4;i++){ mempunyai maksud atau fungsi sebagai perulangan baris yaitu 4, apabila I masih kurang dari 4 maka akan tetap berjalan /looping program tersebut sampai memenuhi syarat. Sedangkan for(int j =0;j<5;j++){ mempunyai maksud atau fungsi sebagai perulangan kolom, apabila j masih kurang dari 5 maka akan tetap berjalan atau looping program tersebut sampai memenuhi syarat. Untuk listing System.out.print(int2Darr[i][j]+" ");} adalah untuk mencetak isi variable array sesuai input yang telah ada yaitu [baris][kolom] dan 1 spasi kosong. Jadi inti dari bagian listing diatas adalah untuk menampilkan data array.

Output Program




LISTING PROGRAM

Tugas I

public class modulus{
public static void main(String[]args){
int a = 10;
int b = 2;
int c;

c = a%b;
System.out.println("c = "+c);
if(c==0)
System.out.println("a adalah bilangan genap");
else
System.out.println("a adalah bilangan ganjil");
}}
Tugas II

import javax.swing.*;

public class Cabang{
public static void main(String[]args){

int hari=Integer.parseInt(JOptionPane.showInputDialog("Masukan nomor hari"));          
switch(hari){
case 1:
System.out.print("hari ke "+hari+" adalah hari Senin" );
break;
case 2:
System.out.println("hari ke "+hari+" adalah hari Selasa" );
break;
case 3:
System.out.println("hari ke "+hari+" adalah hari Rabu" );
break;
case 4:
System.out.println("hari ke "+hari+" adalah hari Kamis" );
break;
case 5:
System.out.println("hari ke "+hari+" adalah hari Jum'at" );
break;
case 6:
System.out.println("hari ke "+hari+" adalah hari Sabtu" );
break;
case 7:
System.out.println("hari ke "+hari+" adalah hari Minggu" );
break;
default:
System.out.println("Jumlah hari hanya ada 7 dalam seminggu, input salah");
}
}
}


LOGIKA PROGRAM
Tugas I

Pada pemrograman ini akan membahas tentang bagaimana mendapatkan suatu nilai tertentu itu bernilai genap atau ganjil. Saya akan membahasa bagian per bagian .

public class modulus{

Kelas / class merupakan bagian dari bahasa java. Setiap aplikasi atau program harus terdiri satu kelas/class. Pada listing diatas saya memberikan nama modulus yang harus sama pada saat kita menyimpannya.

public static void main(String[]args){

Dalam bahasa java, setiap aplikasi atau program harus memiliki metode main seperti pada listing diatas, fungsi dari metode main ini adalah sebagai pintu gerbang atau awal suatu program.

int a = 10;
int b = 2;
int c;

Pada listing diatas tipe data yg digunakan adalah integer yaitu merupakan angka. Saya membuat 3 Variabel yaitu a, b, dan c. integer a saya berikan nilai 10 , integer b saya beri 2 . dan integer c sebagai variable penyimpan hasil dari a modulus b .

c = a%b;
System.out.println("c = "+c);
if(c==0)
System.out.println("a adalah bilangan genap");
else
System.out.println("a adalah bilangan ganjil");
}}

Maksud dari listing di atas adalah untuk mencari hasil sisa bagi / modulus dari suatu nilai. Variable c = a modulus b, yaitu adalah hasil bagi dari 10 dan 2 menghasilkan nilai 0. System.out.println("c = "+c) maksudnya nanti akan menampilkan "c = 0” , untuk mengetahui Nilai a genap atau ganjil saya menggunakan perintah if-else sebagai percabangan . if(c==0) System.out.println("a adalah bilangan genap");else  System.out.println("a adalah bilangan ganjil"); maksudnya apabila variable c yang didapat bernilai sama dengan 0 maka program akan menampilkan "a adalah bilangan genap” sedangkan apabila variable c yang didapat bukan 0 maka program akan menampilkan “a adalah bilangan ganjil”. Karena disini variable c yang didapat adalah 0 maka program akan menampilkan “a adalah bilangan genap”
Pada pemrograman kali ini saya akan membahas tentang bagaimana mendapatkan masukkan / input dari keyboard yang berupa integer/angka kemudian dari angka tersebut kemudian diproses untuk mendapatkan hasil nama hari , misalnya input 1 mendapatkan output hari senin, input 2 mendapatkan output selasa dan seterusnya . Saya akan membahasa bagian per bagian.

import javax.swing.*;

javax.swing package digunakan untuk menghasilkan JoptionPane yang akan memunculkan dialog box standart yang diberikan untuk user.

public class Cabang{

Seperti pada tugas I fungsi Kelas / class merupakan bagian dari bahasa java. Setiap aplikasi atau program harus terdiri satu kelas/class. Pada listing diatas saya memberikan nama cabang yang harus sama pada saat kita menyimpannya.

public static void main(String[]args){

Dalam bahasa java, setiap aplikasi atau program harus memiliki metode main seperti pada listing diatas, fungsi dari metode main ini adalah sebagai pintu gerbang atau awal suatu program.

int hari=Integer.parseInt(JOptionPane.showInputDialog("Masukan nomor hari"));

Maksudnya menghasilkan dialog box “Masukkan nomor hari” yang meminta user untuk menginput data yang berupa angka, karena tipe data yang dibutuhkan adalah integer. Apabila data yang diberika bukan integer maka output yang dihasilkan adalah error .

switch(hari){
case 1:
System.out.print("hari ke "+hari+" adalah hari Senin" );
break;
case 2:
System.out.println("hari ke "+hari+" adalah hari Selasa" );
break;
case 3:
System.out.println("hari ke "+hari+" adalah hari Rabu" );
break;
case 4:
System.out.println("hari ke "+hari+" adalah hari Kamis" );
break;
case 5:
System.out.println("hari ke "+hari+" adalah hari Jum'at" );
break;
case 6:
System.out.println("hari ke "+hari+" adalah hari Sabtu" );
break;
case 7:
System.out.println("hari ke "+hari+" adalah hari Minggu" );
break;
default:
System.out.println("Jumlah hari hanya ada 7 dalam seminggu, input salah");
}
}
}

Bentuk dari switch case merupakan pernyataan yang dirancang khusus untuk menangani pengambilan keputusan yang melibatkan banyak alternative penyelesaian. Pernyataan switch case ini memiliki kegunaan sama seperti if-else bertingkat.
Dari listing diatas maksudnya adalah apabila angka yang didapat oleh user misalnya 1 maka program akan menghasilkan output “hari ke 1 adalah hari Senin” apabila angka yang diberikan lain maka akan mencocokkannya dengan case yang lain. Apabila angka 2 akan menghasilkan “hari ke 2 adalah hari Selasa”. Apabila angka 3 akan menghasilkan “hari ke 3 adalah hari Rabu”. Apabila angka 4 akan menghasilkan “hari ke 4 adalah hari kamis”. Apabila angka 5 akan menghasilkan “hari ke 5 adalah hari Jum’at”. Apabila angka 6 akan menghasilkan “hari ke 6 adalah hari Sabtu”. Apabila angka 7 akan menghasilkan “hari ke 7 adalah hari Minggu”. Kemudian apabila input yang dimasukkan lebih dari 7 maka akan Default yang menghasilkan  "Jumlah hari hanya ada 7 dalam seminggu, input salah"

Output Program