Minggu, 20 Desember 2015

Insertion Sorting dan cara men-tracingnya

Insertion sort adalah sebuah metode pengurutan data dengan menempatkan setiap elemen data pada pisisinya dengan cara melakukan perbandingan dengan data – data yang ada. Inde algoritma dari metode insertion sort ini dapat dianalogikan sama seperti mengurutkan kartu, dimana jika suatu kartu dipindah tempatkan menurut posisinya, maka kartu yang lain akan bergeser mundur atau maju sesuai kondisi pemindahanan kartu tersebut. Dalam pengurutan data, metode ini dipakai bertujuan untuk menjadikan bagian sisi kiri array terurutkan sampai dengan seluruh array diurutkan.


ini adalah source codenya:

void insertion (int x[], int n)
      int i , j ,y ;
      for(j=1 ; j<n ; j++)
             y=x[j];
             for(i=j-1;i>=0 && y<x[i] ; i--);{
                      x[i+1]=x[i];
             }
             x[i+1]=y
       }
}

kali ini saya akan mencoba melakukan sorting menggunakan metode ini ;
saya akan mensorting 6 angka secara rondom , jadi nilai n adalah sebesar 6.

angka randomnya adalah seperti berikut ;
  8 2 5 1 7 0 

ini adalah tracingnya : 
x
j
i
y
i>=0 && y<x[i]
8 2 5 1 2 0




2 8 5 1 2 0
1
0
2
t        t
  

-1

f
2 5 8 1 2 0
2
1
5
t        t


0

t        f
2 5 1 8 2 0
3
2
1
t        t
2 1 5 8 2 0

1

t        t
1 2 5 8 2 0

0

t        t


-1

f
1 2 5 2 8 0
4
3
2
t        t
1 2 2 5 8 0

2

t        t


1

t        f
1 2 2 5 0 8
5
4
0
t        t
1 2 2 0 5 8

3

t        t
1 2 0 2 5 8

2

t        t
1 0 2 2 5 8

1

t        t
0 1 2 2 5 8

0

t        t


-1

f

6




angka sudah berurutan menjadi 0 1 2 2 5 8. semoga bermanfaat.







Senin, 14 Desember 2015

Java OOP (jam)

package javaapplication4;
import java.util.Scanner;
class jam{
    int s,m,h;
    String merk;
   
    public jam(){
     s=0;
     m=0;
     h=12;
    }
    public jam(String DD){
        merk=DD;
    }
    void MulaiDetik(int s){
        System.out.println("Detik Bergerak");
        for(s=0;s<=60;s++){
            System.out.print(s+" ");
        }
        System.out.println("");
 }
    void MulaiMenit(int m){
        System.out.println("Menit Berjalan");
        for(m=0;m<=60;m++){
            System.out.print(m+" ");
        }
        System.out.println("");
}
    void MulaiJam(int h){
        System.out.println("Jam berjalan");
        for(h=0;h<=24;h++){
            System.out.print(h+" ");
        }
        System.out.println("");
}
    void Alarm(int h){
        if(h==3){
            System.out.println("Alarm berbunyi");
        }
    }
   
   
}
public class JavaApplication4 {
    public static void main(String[] args) {
    jam jamku = new jam();
    jamku.MulaiDetik(20);
    jamku.MulaiMenit(11);
    jamku.MulaiJam(0);
    jamku.Alarm(3);
           
    }
}

Senin, 09 November 2015

Belajar Java VI (Array = membuat struk belanja)

Kali ini saya akan membahas penggunakan arrray , apa itu array pada java? Array adalah sekelompok data sejenis yang disimpan ke dalam variabel dengan nama yang sama, dengan memberi indeks pada variabel untuk membedakan antara yang satu dengan yang lain.

langsung saja source codenya :
package latihan_dirumah;
import java.util.Scanner;
public class Array2 {

    public static void main(String[] args) {
 Scanner input = new Scanner(System.in);
 int x;
 String barang[];
 int harga[],jumlah[],biaya[],total=0;
 barang = new String[5];
 harga = new int[5];
 jumlah = new int[5];
 biaya = new int[5];
   

    System.out.print("Masukkan jumlah pesanan ingin di beli : ");
    x=input.nextInt();
 for(int a=0;a<x;a++){
     System.out.print("Masukkan nama barang :");
     barang[a] = input.next();
     System.out.print("Masukkan harga barang :");
     harga[a] = input.nextInt();
     System.out.print("Masukkan jumlah barang :");
     jumlah[a] = input.nextInt();
     biaya[a] = harga[a]*jumlah[a];
     System.out.print("Biaya yang dibayar : Rp."+biaya[a]);
     total =total+biaya[a];
 }
     System.out.println("\nBarang yang dibeli");
     System.out.println("Barang \t Harga \t Jumlah");
 for(int b=0;b<x;b++){
     System.out.println(barang[b]+"\t "+jumlah[b]+"\t "+harga[b]);
 }
     System.out.println("Total biaya seluruhnya :Rp. "+total);      
    }
}



Ini adalah contoh hasil output dari program diatas , yaitu saya menginginkan jumlah barang yang dibeli 1 , maka hasilnya adalah sebagai berikut.



Minggu, 18 Oktober 2015

Belajar Java V part 2 (membuat segitiga sama kaki menggunakan "*")

kali ini saya akan mencoba menggunakan * untuk membuat suatu segitiga , langsung saja..

ini dia Source codenya

public class Segitiga_bintang {
    public static void main(String[] args) {
     int a=0;
        int x,y,z;
        for (x=6;x>a;x--){
            for(y=0;y<x;y++){
                System.out.print(" ");
            }for (z=7;z>x;z--){
                System.out.print(" *");
            }System.out.println("");
        }
    }
}

ini adalah hasil dari outpunya :

Belajar Java V (Membuat segitiga siku siku "*" rata kanan)

kali ini saya akan mencoba membuat segitiga rata kanan umtuk lebih jelasnya lihat source codenya yaa...

Source Code:
public class Bintang {
    public static void main(String[] args) {
    
      int baris=4, x, y;
      x=baris+1;
      for(int i=1; i<=baris; i++)
      {
         for(int j=1; j<=baris; j++)
         {
           y=i+j;
           if(x<=y)
               System.out.print("*");
           else
               System.out.print(" ");
         }
         System.out.println();
      }
   }
}

Berikut adalah contoh gambarnya




kalau masih bingung saya membuatkan table tracing semoga membantu




Demikian contoh yang dapat saya berikan  mohon maaf jika ada kekurangan.

Senin, 12 Oktober 2015

Belajar Java IV(Belajar menggunakan Looping )

Disini saya akan mencoba menggunakan fungsi looping langsung saja ini dia scriptnya

package tokopakjono2015;
import java.util.Scanner;
public class Barang {
public static void main(String Jono[]) {
      int pilihan,total=0;
      String pesan = null;
      int jumlah1=0 , harga1=0 , biaya1=0 ,diskon1=0;
      int jumlah2=0 , harga2=0 , biaya2=0 ,diskon2=0;
      int jumlah3=0 , harga3=0 , biaya3=0 ,diskon3=0;
      int jumlah4=0 , harga4=0 , biaya4=0 ,diskon4=0;
      int jumlah5=0 , harga5=0 , biaya5=0 ,diskon5=0;
     
      Scanner input=new Scanner(System.in);
        do{
        System.out.println("daftar barang toko dimas");
        System.out.println(" 1.beras \n 2.gula \n 3.telur \n 4.nutrisari \n 5.sabun ");
        System.out.print("masukan pilihan= ");
        pilihan = input.nextInt();
        switch(pilihan){
            case 1 : System.out.println("anda akan membeli beras");
                     System.out.print("jumlah=");
                     biaya1 = harga1*jumlah1;
                     jumlah1 = input.nextInt();
                     biaya1=jumlah1*harga1;
                     if (jumlah1>=5 && jumlah1<10){
                         jumlah1++;
                     }else if (jumlah1 >=10)
                         jumlah1 = jumlah1 +2;
                               
                     System.out.print("harga =");
                     harga1 = input.nextInt();
                     System.out.println("Harga total =" +biaya1);
                     System.out.println("Apakah anda ingin memesan lagi? (y/n)");
                     pesan=input.next ();
                     break;
            case 2 : System.out.println("anda akan membeli gula");
                     System.out.print("jumlah=");
                     jumlah2 = input.nextInt();
                     System.out.print("harga =");
                     harga2 = input.nextInt();
                     biaya2=jumlah2*harga2;
                     System.out.println("Harga total ="+biaya2);
                     System.out.println("Apakah anda ingin memesan lagi? (y/n)");
                     pesan=input.next ();
                     break;
            case 3 : System.out.println("anda akan membeli telur");
                     System.out.print("jumlah=");
                     jumlah3 = input.nextInt();
                     System.out.print("harga =");
                     harga3 = input.nextInt();
                     biaya3=jumlah3*harga3;
                     System.out.println("Harga total =" +biaya3);
                     System.out.println("Apakah anda ingin memesan lagi? (y/n)");
                     pesan=input.next ();
                     break;
            case 4 : System.out.println("anda akan membeli nutrisari");
                     System.out.print("jumlah=");
                     jumlah4 = input.nextInt();
                     System.out.print("harga =");
                     harga4 = input.nextInt();
                     biaya4=harga4*jumlah4;
                     System.out.println("Harga total =" +biaya4);          
                     System.out.println("Apakah anda ingin memesan lagi? (y/n)");
                     pesan=input.next ();
                     break;
            case 5 : System.out.println("anda akan membeli sabun");
                     System.out.print("jumlah=");
                     jumlah5 = input.nextInt();
                     System.out.print("harga =");
                     harga5 = input.nextInt();
                     biaya5=jumlah5*harga5;
                     System.out.println("Harga total =" +biaya5);
                     System.out.println("Apakah anda ingin memesan lagi? (y/n)");
                     pesan=input.next ();
                     break;
            default : System.out.println("maaf menu yang anda pilih tidak ada dalam daftar");
    }
    }while(pesan.equals("Y")||pesan.equals ("y"));
     total=biaya1+biaya2+biaya3+biaya4+biaya5;
     System.out.println("Total biaya pembelian anda adalah sebesar Rp."+total);

Senin, 05 Oktober 2015

Belajar Java III (menggunakan fungsi switch and case)

Disini saya akan mencoba menggukan fungsi switch and case langsung saja ini source codenya :

package latihan.scanner;

import javax.swing.JOptionPane;

public class LatihanSwitchCase {
    public static void main(String[] args) {
    String input0 , input1 , input2 , input3 , input4 , input5 ,input6 ;
    String input7 , input8 , input9 ,input10 ;
         
    int totalhargadiskon , totalbelanja ,barang , pilihan=0 , jumlahbeli=0;
    int kopi, hasilkopi,hargakopi,diskonkopi=0,totalkopi=0;
    int telur, hasiltelur,hargatelur,diskontelur=0,totaltelur=0;
    int beras , hasilberas,hargaberas,diskonberas=0,totalberas=0;
    int gula ,hasilgula ,hargagula,diskongula=0,totalgula=0;
    int sabun ,hasilsabun,hargasabun, diskonsabun=0 ,totalsabun=0;
 
    JOptionPane.showMessageDialog(null, "Daftar Barang: \n 1.Kopi\n 2.Telur\n 3.Beras\n 4.Gula\n 5.Sabun");
    input0 = JOptionPane.showInputDialog("masukan Kode Barang yang akan anda pilih :");
    pilihan = Integer.parseInt (input0);
    switch(pilihan){
                    case 1: JOptionPane.showMessageDialog(null, "Anda memilih Kopi");
                    input1 = JOptionPane.showInputDialog("Jumlah Kopi yang dibeli (Sachet)");
                    input2 = JOptionPane.showInputDialog("Harga Kopi per Sachet");
                    kopi = Integer.parseInt (input1);
                    hargakopi = Integer.parseInt(input2);
                    hasilkopi = kopi*hargakopi;
                    if (kopi >= 5){
                        JOptionPane.showMessageDialog(null, "Anda mendapat diskon 5%");
                        diskonkopi = hasilkopi*2/100;
                    }
                    else {
                        JOptionPane.showMessageDialog(null, "Anda tidak mendapat diskon 5%");
                         }
                    totalkopi = hasilkopi-diskonkopi;
                    break;
                    case 2: JOptionPane.showMessageDialog(null, "Anda memilih Telur");
                    input3 = JOptionPane.showInputDialog("Jumlah telur yang dibeli (kg)");
                    input4 = JOptionPane.showInputDialog("Harga telur per kg");
                    telur = Integer.parseInt (input3);
                    hargatelur = Integer.parseInt(input4);
                    hasiltelur = telur*hargatelur;
                    if (telur >= 5){
                        JOptionPane.showMessageDialog(null, "Anda mendapat diskon 4%");
                        diskontelur = hasiltelur*4/100;
                    }
                    else {
                        JOptionPane.showMessageDialog(null, "Anda tidak mendapat diskon 4%");
                         }
                    totaltelur = hasiltelur-diskontelur;
                    break;
                    case 3: JOptionPane.showMessageDialog(null, "Anda memilih Beras");
                    input5 = JOptionPane.showInputDialog("Jumlah Beras yang dibeli (per kg)");
                    input6 = JOptionPane.showInputDialog("Harga Beras per kg");
                    beras = Integer.parseInt (input5);
                    hargaberas = Integer.parseInt(input6);
                    hasilberas = beras*hargaberas;
                    if (beras >= 5){
                        JOptionPane.showMessageDialog(null, "Anda mendapat diskon 8%");
                        diskonberas = hasilberas*8/100;
                    }
                    else {
                        JOptionPane.showMessageDialog(null, "Anda tidak mendapat diskon 8%");
                         }
                    totalberas = hasilberas-diskonberas;
                    break;
                    case 4: JOptionPane.showMessageDialog(null, "Anda memilih Gula");
                    input7 = JOptionPane.showInputDialog("Jumlah Gula yang dibeli (kg)");
                    input8 = JOptionPane.showInputDialog("Harga Gula per kg");
                    gula = Integer.parseInt (input7);
                    hargagula = Integer.parseInt(input8);
                    hasilgula = gula*hargagula;
                    if (gula >= 5){
                        JOptionPane.showMessageDialog(null, "Anda mendapat diskon 10%");
                        diskongula = hasilgula*10/100;
                    }
                    else {
                        JOptionPane.showMessageDialog(null, "Anda tidak mendapat diskon 10%");
                         }
                    totalgula = hasilgula-diskongula;
                    break;
                    case 5: JOptionPane.showMessageDialog(null, "Anda memilih Sabun");
                    input9 = JOptionPane.showInputDialog("Jumlah Sabun yang dibeli (batang)");
                    input10 = JOptionPane.showInputDialog("Harga Sabun per batang");
                    sabun = Integer.parseInt (input9);
                    hargasabun = Integer.parseInt(input10);
                    hasilsabun = sabun*hargasabun;
                    if (sabun >= 5){
                        JOptionPane.showMessageDialog(null, "Anda mendapat diskon 15%");
                        diskonsabun = hasilsabun*15/100;
                    }
                    else {
                        JOptionPane.showMessageDialog(null, "Anda tidak mendapat diskon 15%");
                         }
                    totalsabun = hasilsabun-diskonsabun;
                    break;}
    totalbelanja = totalkopi+totaltelur+totalberas+totalgula+totalsabun;
    JOptionPane.showMessageDialog(null,"Total Belanja Anda Rp "+totalbelanja, "Total Belanja", JOptionPane.PLAIN_MESSAGE);
 }
}