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);
 }
}









Senin, 28 September 2015

Belajar Java II (menggukan fungs Scanner , If and else)

Disini saya akan menjelaskan bagaimana scanner dan fungsi if/else .

berikut adalah Sciptnya :

package latihan.scanner;
import java.util.Scanner;
public class LatihanScanner {
    @SuppressWarnings("empty-statement")
    public static void main(String[] args) {
       Scanner sc=new Scanner(System.in);
     
       int harga,total,diskon,jumlah;
       System.out.println("Masukkan nama item");
       String item=sc.next ();
       System.out.println("Masukkan harga");
       harga=sc.nextInt();
       System.out.println("Masukkan jumlah");
       jumlah=sc.nextInt();
       total=harga*jumlah;
       System.out.println("Total biaya adalah "+total);  
       
       if (jumlah<3)
       {
          total = total -((total*10)/100);
          System.out.println("Diskon 10%");
      }
      if (jumlah >= 3){
          total = total - ((total*15)/100);
          System.out.println("Karena anda telah membeli jumlah barang lebih dari 2 makan diskon anda berubah menjadi 15%\nTotal Bayar = Rp."+total);
      }
      else{
          System.out.println("Total Bayar = Rp."+total);
     }
    }
}

##NP: jangan lupa untuk mengisi package latihan.scanner;
import java.util.Scanner;

Seperti ini tampilannya,
(saya memasukan sabun) tekan enter , lalu akan ,muncul tampilan seperti dibawah ini :


(saya memasukan 12000) tekan enter lalu muncul tampilan seperti dibawah ini :


(saya memasukan jumlah barang sebesar 4 buah) tekan enter :


Selesai , semoga ini dapat membantu

Senin, 21 September 2015

Belajar Java I (Cara Menggunakan Message Dialog dan Input Dialog Menggunakan JOptionPane)






Disini saya akan menjelaskan cara cara menggunakan JOptionPane pada NetBeans.

Bagi anda yang belum memiliki NetBeans 7.2 anda dapat mendownloadnya di NetBeans

Kita akan menggunakan Input Dialog menggunakan JOptionPane.showInputDialog

berikut adalah Scriptnnya :


import javax.swing.JOptionPane;

public class LatihanJavaSist {

    public static void main(String[] args) {
String Input1;
String Input2;

int nilai1;
int nilai2;
int kali;

Input1=JOptionPane.showInputDialog("Masukan Harga Barang");
Input2=JOptionPane.showInputDialog("Masukan Jumlah Barang");

nilai1 = Integer.parseInt(Input1);
nilai2 = Integer.parseInt(Input2);

kali = nilai1 * nilai2;

JOptionPane.showMessageDialog(null,"Total Harga = " +kali ,"Jumlah Pembayaran", JOptionPane.PLAIN_MESSAGE);
    }
}

Setelah anda menjalankan program akan keluar  tampilan seperti ini , masukkan harga barang sesuai keinginan anda : (co : 12000)



Setelah anda selesai memasukan angka sesuai yang anda inginkan , akan keluar tampilan seperti dibawah ini (Co : 2)


Setelah anda memasukan angka tersebut maka yang terakhir akan muncul tampilan seperti ini


Bagaimana ? mudah bukan? Semoga anda dapat mengikuti langkah2 sesuai yang saya jelaskan , jika masih bingung silakan meng email saya . mohon maaf jika masih membingungkan , ini adalah blog pertama saya , mohon maaf jika masih banyak kekurangan.


Saya menulis blog ini untuk memenuhi tugas yang telah diberikan oleh bapak Nur Cahyo Wibowo S.Kom , M.Kom