Tampilkan postingan dengan label Java. Tampilkan semua postingan
Tampilkan postingan dengan label Java. Tampilkan semua postingan

Senin, 29 Juli 2019

Program Sederhana Membuat Circular Doubly Linked List menggunakan Bahasa Java



Source Code :

package tugasstrukturdata;

public class CircularDoublyLinkedList {
    static class Node {

        int data;

        Node next;

        Node prev;

    };



    static Node insert(Node start, int value)

    {


        if (start == null) {

            Node new_node = new Node();

            new_node.data = value;

            new_node.next = new_node.prev = new_node;

            start = new_node;

            return start;

        }



        Node last = (start).prev;



        Node new_node = new Node();

        new_node.data = value;




        new_node.next = start;




        (start).prev = new_node;



        new_node.prev = last;




        last.next = new_node;

        return start;

    }

    static Node deleteNode(Node start, int key)

    {

        if (start == null)

            return null;




        Node curr = start, prev_1 = null;

        while (curr.data != key) {


            if (curr.next == start) {

                System.out.printf("\nList doesn't have node with value = %d", key);

                return start;

            }



            prev_1 = curr;

            curr = curr.next;

        }



        if (curr.next == start && prev_1 == null) {

            (start) = null;

            return start;

        }



        if (curr == start) {


            prev_1 = (start).prev;




            start = (start).next;



            prev_1.next = start;

            (start).prev = prev_1;

        }



        else if (curr.next == start) {


            prev_1.next = start;

            (start).prev = prev_1;

        }

        else {


            Node temp = curr.next;




            prev_1.next = temp;

            temp.prev = prev_1;

        }

        return start;

    }




    static void display(Node start)

    {

        Node temp = start;



        while (temp.next != start) {

            System.out.printf("%d ", temp.data);

            temp = temp.next;

        }

        System.out.printf("%d ", temp.data);

    }




    public static void main(String args[])

    {


        Node start = null;



        start = insert(start, 4);

        start = insert(start, 5);

        start = insert(start, 6);

        start = insert(start, 7);

        start = insert(start, 8);



        System.out.printf("List Before Deletion: ");

        display(start);



        start = deleteNode(start, 9);

        System.out.printf("\nList After Deletion: ");

        display(start);



        start = deleteNode(start, 4);

        System.out.printf("\nList After Deleting %d: ", 4);

        display(start);



        start = deleteNode(start, 8);

        System.out.printf("\nList After Deleting %d: ", 8);

        display(start);



        start = deleteNode(start, 6);

        System.out.printf("\nList After Deleting %d: ", 6);

        display(start);

    }
}

>>> Link Github <<<
Read more ...

Program Sederhana Membuat Aplikasi Perkalian Bilangan Array menggunakan Bahasa Java



Source Code :

package tugasstrukturdata;

public class PerkalianArray {
    static class node

{

    int data;

    node next;

};



static node newNode(int data)

{

    node new_node = new node();

    new_node.data = data;

    new_node.next = null;

    return new_node;

}



static node push( node head_ref, int new_data)

{

    node new_node = newNode(new_data);



    new_node.next = (head_ref);



    (head_ref) = new_node;

    return head_ref;

}



static long multiplyTwoLists ( node first, node second)

{

    int num1 = 0, num2 = 0;

 

    while (first != null || second != null)

    {

        if (first != null)

        {

            num1 = num1*10 + first.data;

            first = first.next;

        }

        if (second != null)

        {

            num2 = num2*10 + second.data;

            second = second.next;

        }

    }



    return num1*num2;

}



static void printList( node node)

{

    while(node != null)

    {

        System.out.printf("%d", node.data);

        if(node.next != null)

            System.out.printf("->");

        node = node.next;

    }

    System.out.printf("\n");

}



public static void main(String args[])

{

    node first = null;

    node second = null;



    first = push(first, 6);

    first = push(first, 4);

    first = push(first, 9);

    System.out.printf("First List is: ");

    printList(first);



    second = push(second, 4);

    second = push(second, 8);

    System.out.printf("Second List is: ");

    printList(second);



    System.out.printf("Result is: ");

    System.out.println(multiplyTwoLists(first, second));

}
}
Read more ...

Program Sederhana Membuat Aplikasi Pengurangan Bilangan Array menggunakan Bahasa Java



Source Code :

package tugasstrukturdata;

public class PenguranganArray {
     static class Node{

              int data;

              Node next = null;

  

              public Node(int data){

                    this.data = data;

              }

  

              public void insert(int data){

                     Node n = this;

                     Node newNode = new Node(data);

   

                     while(n.next != null){

                           n = n.next;

                     }

                     n.next = newNode;

               }

  

               public static void print(Node n){

                      while(n != null){

                            if(n.next == null)

                                 System.out.println(n.data);

                            else

                                 System.out.print(n.data + "->");

                            n = n.next;

                      }

               }

         }


          static Node subtract(Node n1, Node n2, int borrow){


                  if(n1 == null && n2 == null && borrow == 0)

                          return null;

   

                  Node result = new Node(borrow);

                  int value = borrow;

  

                  if(n1.data >= n2.data){

                         value += n1.data - n2.data;

                         borrow = 0;

                  }else{

                         if(n1.next != null){

                               value += (n1.data)+10 - n2.data;

                               borrow = -1;

                         }else{

                               value += (n1.data)+10 - n2.data;

                               value = value*(-1);

                               borrow = 0;

                         }

                   }

                   result.data = value;

                 

                   if(n1.next!=null || n2.next!=null || borrow<0){

                           Node more = subtract(n1.next != null ? n1.next : null,

                                                              n2.next != null ? n2.next : null,

                                                              borrow < 0 ? -1 : 0);

        

                   result.next = more;

            }

            return result;

       }

       public static void main(String... args){

              Node n1 = new Node(7);

              n1.insert(1);

              n1.insert(6);

  

              Node n2 = new Node(5);

              n2.insert(9);

              n2.insert(2);

   

              Node result = subtract(n1, n2, 0);

              Node.print(result); 

       }
}

>>> Link Github <<<
Read more ...

Program Sederhana Membuat Aplikasi Menghitung Pecahan menggunakan Bahasa Java


Assalamualaikum wr.wb Berikut adalah salah satu contoh program sederhana membuat Aplikasi Menghitung Pecahan pada bahasa Java

Dibawah ini adalah Source Code Program

package tugasstrukturdata;

public class Pecahan {
    int bulat,pembilang,penyebut;

  Pecahan(){
      bulat=0;pembilang=0;penyebut=1;
  }
  Pecahan(int x){
      bulat=x;pembilang=0;penyebut=1;
  }
   Pecahan(int x,int y){
      bulat=0;pembilang=x;penyebut=y;
  }
   Pecahan(int x,int y,int z){
      bulat=x;pembilang=y;penyebut=z;
  }
  int gcd (int x, int y){
    if(y==0) return(x);
    else return (gcd(y,x%y));
  }

  void reduksi(){
  int temp=gcd(pembilang,penyebut);
  pembilang=pembilang/temp; penyebut=penyebut/temp;
  if(pembilang>=penyebut){
      bulat=pembilang/penyebut;
      pembilang=pembilang %penyebut;
  }
  else bulat=0;
    }

  Pecahan tambah(Pecahan X) {
    Pecahan T = new Pecahan()  ;
    T.bulat=0;
    T.pembilang=(bulat*penyebut+pembilang)*X.penyebut + penyebut*(X.bulat*X.penyebut+X.pembilang);
    T.penyebut=penyebut*X.penyebut;
    T.reduksi();
    return T;
  }
  Pecahan kurang(Pecahan X) {
    Pecahan T = new Pecahan()  ;
    T.bulat=0;
    T.pembilang=(bulat*penyebut+pembilang)*X.penyebut - penyebut*(X.bulat*X.penyebut+X.pembilang);
    T.penyebut=penyebut*X.penyebut;
    T.reduksi();
    return T;
  }
  Pecahan kali(Pecahan X) {
    Pecahan T = new Pecahan()  ;
    T.bulat=0;
    T.pembilang=(bulat*penyebut+pembilang)*(X.bulat*X.penyebut+X.pembilang);
    T.penyebut=penyebut*X.penyebut;
    T.reduksi();
    return T;
  }

   Pecahan bagi(Pecahan X) {
    Pecahan T = new Pecahan()  ;
    T.bulat=0;
    T.pembilang=(bulat*penyebut+pembilang)*X.penyebut;
    T.penyebut=penyebut*(X.bulat*X.penyebut+X.pembilang);
    T.reduksi();
    return T;
  }

  String toStr(){
      String T="";
      if(penyebut ==1)
          if(pembilang==0)
              T=T+bulat;
          else {
              T=T+(bulat+pembilang);
              pembilang=0;
          }
      else if(bulat==0)
          T=T+pembilang+"/"+penyebut;
          else
      T=T+bulat+" "+pembilang+"/"+penyebut;
      return (T);
  }

    public static void main(String[] args) {
       Pecahan x=new Pecahan();
       Pecahan A=new Pecahan(5,7,6);
       Pecahan B=new Pecahan(3,4);
   
       System.out.println("Diketahui :\nA = "+A.toStr()+"\nB = "+B.toStr()+"\n");
       x=A.tambah(B);
       System.out.println("A + B = "+x.toStr());
       x=A.kurang(B);
       System.out.println("A - B = "+x.toStr());
       x=A.kali(B);
       System.out.println("A * B = "+x.toStr());
       x=A.bagi(B);
       System.out.println("A / B = "+x.toStr());
    } 
}


Untuk mengcopy Script silahkan klik link dibawah ini
>>> Link Github <<<

Berikut ini adalah video proses pembuatan Aplikasi Menghitung Pecahan dengan Java



Read more ...

Minggu, 28 Juli 2019

Program Sederhana Membuat Aplikasi Penambahan Bilangan Array menggunakan Bahasa Java


Assalamualaikum wr.wb Berikut adalah salah satu contoh program sederhana membuat Aplikasi Pembuatan Bilangan Array pada bahasa Java

Dibawah ini adalah Source Code Program

package tugasstrukturdata;

import java.util.Arrays;

public class Array {
    public static void main(String[] args) {
        int[] x = {2, 4, 6};
        int[] z = {8, 10, 16};
        int sumX = 0;
        int sumZ = 0;
        int jumlah;
     
        for(int num : x){
            sumX = sumX+num;
        }
        for(int num : z){
            sumZ = sumZ+num;
        }
        jumlah = sumX + sumZ;
     
        System.out.println("Jumlah Nilai Kedua Array : "+jumlah);
     
        int[] xz = new int[x.length+z.length];
        System.arraycopy(x, 0, xz, 0, z.length);
        System.arraycopy(z, 0, xz, x.length, z.length);
     
        System.out.println("Menggabungkan Kedua Array");
        System.out.println(Arrays.toString(xz));
    }
}

Untuk mengcopy Script silahkan klik link dibawah ini
>>> Link Github <<<

Berikut ini adalah video proses pembuatan Aplikasi Penambahan Bilangan Array dengan Java



Read more ...

Program Sederhana Membuat Aplikasi Reverse Sum menggunakan Bahasa Java


Assalamualaikum wr.wb Berikut adalah salah satu contoh program sederhana membuat Aplikasi Reverse Sum pada bahasa Java

Dibawah ini adalah Source Code Program

package tugasstrukturdata;

import java.util.Scanner;

public class ReverseSum {
    public static void main(String[] args) {
        int x, z, a, b, m = 0, n = 0, all;
     
        Scanner s = new Scanner(System.in);
        System.out.print("Masukkan Bilangan Pertama : ");
        x = s.nextInt();
        System.out.print("Masukkan Bilangan Kedua : ");
        z = s.nextInt();
     
        do{
            a = x % 10;
            m = m * 10+a;
            x = x / 10;
        }
        while(x>0);
        do{
            b = z % 10;
            n = n * 10 + b;
            z = z / 10;
        }
        while(z>0);
     
        System.out.println("Hasil reverse bilangan pertama : "+m);
        System.out.println("Hasil reverse bilangan kedua : "+n);
     
        System.out.println("Penjumlahan Kedua Bilangan Reverse");
        all = m + n;
        System.out.println(all);
    }
}

Untuk mengcopy Script silahkan klik link dibawah ini
>>> Link Github <<<

Berikut ini adalah video proses pembuatan Aplikasi Reverse Sum dengan Java



Read more ...

Program Sederhana Membuat ADT Tanggal menggunakan Bahasa Java



Assalamualaikum wr.wb Berikut adalah salah satu contoh program sederhana membuat ADT Tanggal pada bahasa Java

Dibawah ini adalah Source Code Program


package tugasstrukturdata;

import java.util.Scanner;

public class Kalender {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in );
        int hari = 0, tanggal, bulan, tahun;
        boolean Tanggal, Bulan, Valid;
        String hasil, namaBulan = null;

        System.out.print("Masukkan Tanggal : ");
        tanggal = input.nextInt();
        System.out.print("Masukkan Bulan : ");
        bulan = input.nextInt();
        System.out.print("Masukkan Tahun : ");
        tahun = input.nextInt();

        if (bulan == 1){
            hari = 31;
            namaBulan = "Januari";
        }
        else if (bulan == 2){
        if ((tahun % 4 == 0 & & tahun % 100 != 0) | | tahun % 400 == 0){
            hari = 29;
            namaBulan = "Februari";
        }
            else {
            hari = 28;
            namaBulan = "Februari";
            }
        }
        else if (bulan == 3){
            hari = 31;
            namaBulan = "Maret";
        }
        else if (bulan == 4){
            hari = 30;
            namaBulan = "April";
        }
        else if (bulan == 5){
             hari = 31;
             namaBulan = "Mei";
        }
        else if (bulan == 6){
            hari = 30;
            namaBulan = "Juni";
        }
        else if (bulan == 7){
            hari = 31;
            namaBulan = "Juli";
        }
        else if (bulan == 8){
            hari = 30;
            namaBulan = "Agustus";
        }
        else if (bulan == 9){
            hari = 31;
            namaBulan = "September";
        }
        else if (bulan == 10){
            hari = 30;
            namaBulan = "Oktober";
        }
        else if (bulan == 11){
            hari = 31;
            namaBulan = "November";
        }
        else if (bulan == 12){
            hari = 30;
            namaBulan = "Desember";
        }
        else {
            hari = -1;
            namaBulan = Integer.toString(bulan);
        }

        Tanggal = tanggal >= 1 & & tanggal <= hari;
        Bulan = bulan >= 1 & & bulan <= 12;
        Valid = Tanggal & & Bulan;

        if (Valid){
            hasil = " Merupakan tanggal yang valid.";
        }
        else {
            hasil = " Merupakan tanggal yang tidak valid.";
        }

        System.out.println("\n"+tanggal+" "+namaBulan+" "+tahun+hasil);
    }
}

Untuk mengcopy Script silahkan klik link dibawah ini
>>> Link Github <<<

Berikut ini adalah video proses pembuatan ADT Tanggal dengan Java




Read more ...

Program Sederhana Membuat Aplikasi Circular Linked List menggunakan Bahasa Java


Assalamualaikum wr.wb Berikut adalah salah satu contoh program sederhana membuat Aplikasi Circural Linked List pada bahasa Java

Dibawah ini adalah Source Code Program

package tugasstrukturdata;

public class CircularLinkedList {
    static class Node{
        int data;
        Node next;
    }
 
    static Node addToEmpty(Node last, int data){
        if (last != null)
            return last;
     
        Node temp = new Node();
        temp.data = data;
        last = temp;
        last.next = last;
     
        return last;
    }
 
    static Node addBegin(Node last, int data){
        if(last == null)
            return addToEmpty(last, data);
     
        Node temp = new Node();
     
        temp.data = data;
        temp.next = last.next;
        last.next = temp;
     
        return last;
    }
 
    static Node addEnd(Node last, int data){
        if (last == null)
            return addToEmpty(last, data);
     
        Node temp = new Node();
     
        temp.data = data;
        temp.next = last.next;
        last.next = temp;
        last = temp;
     
        return last;
    }
 
    static Node addAfter(Node last, int data, int item){
        if (last == null)
            return null;
     
        Node temp, p;
        p = last.next;
     
        do{
            if(p.data == item){
                temp = new Node();
                temp.data = data;
                temp.next = p.next;
                p.next = temp;
             
                if(p == last)
                    last = temp;
                return last;
            }
            p = p.next;
        }
        while(p != last.next);
     
        System.out.println(item + " not present in the list");
        return last;
    }
 
    static void traverse(Node last){
        Node p;
     
        if (last == null){
            System.out.println("List is Empty");
            return;
        }
     
        p = last.next;
     
        do{
            System.out.print(p.data + " ");
            p = p.next;
        }
     
        while (p != last.next);
    }
 
    public static void main(String[] args){
        Node last = null;
     
        last = addToEmpty(last, 8);
        last = addBegin(last, 6);
        last = addBegin(last, 4);
        last = addEnd(last, 12);
        last = addEnd(last, 7);
        last = addEnd(last, 40);
        last = addAfter(last, 80, 7);
     
        traverse(last);
    }
}

Untuk mengcopy Script silahkan klik link dibawah ini
>>> Link Github <<<

Berikut ini adalah video proses pembuatan Aplikasi Circural Linked List dengan Java




Read more ...

Program Sederhana Membuat Aplikasi Double Linked List menggunakan Bahasa Java



Class Node 



public class Node{
    int data;
    Node next;
    Node prev;
    
    public Node(int data){
        this.data = data;
    }
    
    public void tampil(){
        System.out.print("("+data+")");
    }
}

Class DoublyLinkedList


public class DoubleLinkedList{
    Node first;
    Node last;
    
    public DoubleLinkedList(){
        first = null;
        last = null;
    }
    
    public boolean isEmpty(){
        return (first == null);
    }
    
    public void insertFirst(int data){
        Node node = new Node(data);
        if(isEmpty()){
            last = node;
        }
        else{
            first.prev = node;
        }
        node.next = first;
        first = node;
    }
    
    public void insertLast(int data){
        Node node = new Node(data);
        if(isEmpty())
            first = node;
        else{
            last.next = node;
            node.prev = last;
        }
        last = node;
    }
    
    public Node deleteFirst(){
        Node temp = first;
        if(first.next == null)
            last = null;
        else
            first.next.prev = null;
        first = first.next;
        return temp;
    }
    
    public Node deleteLast(){
        Node temp = last;
        if (first.next == null)
            first = null;
        else
            last.prev.next = null;
        last = last.prev;
        return temp;
    }
    
    public boolean insertAfter(int key, int data){
        Node current = first;
        while(current.data != key){
            current = current.next;
            if(current == null)
            return false;
        }
        Node node = new Node(data);
        
        if (current==last){
            node.next = null;
            last = node;
        }
        else{
            node.next = current.next;
            
            current.next.prev = node;
        }
        node.prev = current;
        current.next = node;
        return true;
    }
    
    public Node deleteKey(int key){
        Node current = first;
        while(current.data != key){
            current = current.next;
        if(current == null)
            return null;
        }
        if(current == first)
            first = current.next;
        else
            current.prev.next = current.prev;
            return current;
    }
    
    public void displayForward(){
        System.out.print("List | First -> Last : ");
        Node current = first;
        
        while(current != null){
            current.tampil();
            current = current.next;
        }
        System.out.println("");
    }
    
    public void displayBackward(){
        System.out.print("List | Last -> First : ");
        Node current = last;
        while(current != null){
            current.tampil();
            current = current.prev;
        }
        System.out.println("");
    }
}

Class APP


public class APP{
    public static void main(String[] args){
        DoubleLinkedList list = new DoubleLinkedList();
        list.insertFirst(10);
        list.insertFirst(15);
        list.insertFirst(20);
        list.insertLast(30);
        list.insertLast(35);
        list.insertLast(40);
        list.displayForward();
        list.displayBackward();
        list.deleteFirst();
        list.deleteLast();
        list.deleteKey(15);
        list.displayForward();
        list.insertAfter(10, 90);
        list.insertAfter(30, 95);
        list.displayForward();
    }
}


>>> Link Github <<<



Read more ...