Kamis, 21 Maret 2013

Program JAVA menggunakan lebih dari satu class / dua class


Program Mesin Kasir

Sourcecode pada file Kasir.java
import java.util.Scanner;   // Import java untuk fungsi meminta inputan user
public class Kasir {    // baris class dan nama class di sini harus sama dengan nama file .java
    public static void main(String[] args){ //baris awal program utama
    Hitung htg=new Hitung(); // mendeklarasikan class Hitung yang akan kita panggil dengan variabel htg
    System.out.println("\n ============================\n     Program Mesin Kasir\n ============================");   //*perintah mencetak string
    htg.inputBrg(); //memanggil prosedur inputBrg dari class variabel htg
    htg.tampil(); //memanggil prosedur tampil dari class variabel htg
    System.out.println("\n\n=============================================");     //*perintah mencetak string
    System.out.println(" Terima Kasih Telah Menggunakan Program Kami");     //*perintah mencetak string
    System.out.println("=============================================");     //*perintah mencetak string
    System.exit(0); //keluar dari program dengan interasi 0 artinya program tidak ada error
    }
}

Soucecode pada file Hitung.java
import java.util.Scanner;    // Import java untuk fungsi meminta inputan user
class Hitung{ //mendeklarasikan class
    public String nama[]=new String[20];   //mendeklarasikan nama beripe string array memiliki maksimal 20
    public int hargaBrg[]=new int[15]; //mendeklarasikan hargaBrg beripe data integer array memiliki maksimal 15 data
    public int jumlahBrg[]=new int[15];    //mendeklarasikan jumlahBrg beripe data integer array memiliki maksimal 15 data
    public int i,jumlahBeli; //mendeklarasikan i dan jumlahBeli beripe data integer
    public double hargaTtl[]=new double[15];    //mendeklarasikan hargaTtl beripe data double array memiliki maksimal 15 data
    public double totalHarga=0,diskon=0,totalBayar=0;     //mendeklarasikan totalHarga, diskon dan totalBayar beripe data double
    
    Scanner masukkan=new Scanner(System.in);    // kita masukan fungsi abstract Scanner kedalam sebuah object  yang bernama input
    
    public void inputBrg(){  //mendeklarasikan prosedure dengan nama inputBrg
        System.out.print("\n Jumlah Pembelian: "); jumlahBeli=masukkan.nextInt();    //* bila tanpa ln maka kursor berada di sebelahnya
        System.out.println("\n ===================================");     //*perintah mencetak string
        for(i=1;i<=jumlahBeli;i++){   //perintah perulangan dari i=1 sampai jumlahMk dengan step i=1
            System.out.print("\n Nama Barang ke-"+i+" : "); nama[i]=masukkan.next();     //* dan bila tanpa ln maka kursor berada di sebelahnya
            System.out.print(" Jumlah Barang   : "); jumlahBrg[i]=masukkan.nextInt();  //* dan bila tanpa ln maka kursor berada di sebelahnya
            System.out.print(" Harga Barang    :Rp "); hargaBrg[i]=masukkan.nextInt();   //* dan bila tanpa ln maka kursor berada di sebelahnya
            hargaTtl[i]=jumlahBrg[i]*hargaBrg[i]; //menginput nilai hargaTtl dengan perkalian jumlahBrg dan hargaBrg
            totalHarga=hargaTtl[i]+totalHarga;  //menginput nilai totalHarga dengan penjumlahan hargaTtl dan totalHarga sebelumnya
            }
        System.out.println("\n =================================");     //*perintah mencetak string
        if (totalHarga>=1000000) diskon=0.2*totalHarga; //menyeleksi kondisi jika totalHarga>=1000000 dengan diskon 20%
        else if ((totalHarga>=500000) && (totalHarga<1000000)) diskon = 0.1*totalHarga;    //menyeleksi kondisi jika 500000<=totalHarga<1000000
        else diskon = 0;// nyeleksi jika <500000
        totalBayar=totalHarga-diskon; //menjumlahkan totalBayar hasil dari totalHarga dikurang diskon
        }
       
    public void tampil(){ //mendeklarasikan prosedur dengan nama tampil
        System.out.println("\n\n                Daftar Barang Pembelian");     //*perintah mencetak string
        System.out.println(" ==========================================================="); //*perintah mencetak string
        System.out.println(" ||   Nama Barang    || Jumlah ||   Harga   ||   Total    ||"); //*perintah mencetak string
        System.out.println(" ==========================================================="); //*perintah mencetak string
        for(i=1;i<=jumlahBeli;i++){ //perulangan untuk mencetak isi array pada nama,jumlahBrg,hargaBrg,dan hargaTtl
            /*perintah mencetak string dan tertata rapih itu berkat bantuan perintah String.format
            penjelasan sama seperti pada pemrograman bahasa C yaitu
            %s untuk mencetak tipe data string, %d untuk mencetak tipe data desimal, dan %f untuk mencetak tipe data float
            %-16s artinya mencetak nama[i] memiliki 16 karakter dan min artinya rata kiri
            %3d artinya mencetak jumlahBrg[i] memiliki 3 karakter
            %6d artinya mencetak hargaBrg[i] memiliki 6 karakter
            %7.0f artinya mencetak hargaTtl[i] memiliki 7 karakter didepan koma dan 0 karakter di belakan koma
            */
            System.out.println(String.format(" || %-16s ||  %3d   || Rp %6d || Rp %7.0f ||",nama[i],jumlahBrg[i],hargaBrg[i],hargaTtl[i]));
            }
        System.out.println(" ==========================================================="); //*perintah mencetak string
        System.out.println(String.format("\n Total                                      =Rp %10.0f",totalHarga));    //*perintah mencetak string
        System.out.println(String.format(" Diskon                                     =Rp %10.0f",diskon));   //*perintah mencetak string
        System.out.println(String.format(" Total Pembayaran                           =Rp %10.0f",totalBayar));    //*perintah mencetak string
        }
}


Logika Program
File yang di compile cukup file Kasir.java saja dan file Hitung.java tidak perlu di compile karena pada saat kita mengcompile Kasir.java itu sudah sekalian kita mengcompile Hitung.java karena ada perintah Hitung htg=new Hitung();.
Alir program adalah pada saat program di jalan kan makan prosesn yang di jalankan adalah memanggil prosedure inputBrg() dengan perintah htg.inputBrg();, kenapa htg? Karena di awal program kita mendeklarasikan htg sebagai nama variabel class Hitung.java untuk di panggil. Di dalam procedure inputBrg() perintah yang pertama kali dilakukan adalah meminta jumlah inputan untuk jumlah pembelian dengan variabel jumlahBeli. Setelah jumlah pembelian sudah di input makan program akan melakukan perintah penginputan data-data barang dari nama barang, jumlah barang, dan harga barang dengan variabel nama[i], jumlahBrg[i], dan hargaBrg[i] bertipe array dan perintah penginputan ini di sisipkan pada suatu perintah perulangan dengan perintah dimulai dari 1 sampai jumlahBeli dengan bertambah 1 dengan perintah for(i=1;i<=jumlaBeli;i++) dan didalam perulangan juga ada proses penjumlahan dan pengalian untuk mencari nilai hargaTtl untuk total harga masing-masing barang dan totalHarga untuk menjumlahkan total harga seluruh barang. Setelah penginputan selesai maka akan dilakukan seleksi untuk melihat apakan mendapatkan diskon atau tidak dengan kondisi jika totalHarga>1000000 makan diskon 20% dan jika 500000<=totalHarga<1000000 dan tidak mendapatkan diskon jika totalHarga<500000, sehingga totalBayar=totalHarga-diskon. Selesai itu program akan kembali ke file Kasir.java dan program melanjutkan akan memangil procedure tampil() dengan perintah htg.tampil();, proses yang ada pada procedure tampil adalah hanya menampilkan data-data saja karena sehubungan data-data sebelumnya adalah array makan perintah untuk mencetak semuanya adalah dengan bantuan peruangan. Jika proses menampilkan data sudah selesai maka alur program kembali ke file Kasir.java dan program selesai dan keluar dengan tidak ada error dengan perintah System.exit(0);.



Kelompok:
56411569 SAMPE TUA OMPUNG SUNGGU
55411155 NIA RYANTHY SUGIANA
58411242 ROFATUL WIDAD
51411210 ARVI AZMI MAULANA
 

Sabtu, 09 Maret 2013

Program Sederhana dari Java ( array , perulangan , percabangang )


Program Sederhana Melihat Nilai Mata Kuliah dari JAVA

Source code:

import java.util.Scanner;  // Import java untuk fungsi meminta inputan user
public class Prog4 {  // baris class dan nama class di sini harus sama dengan nama file .java
    public static void main(String[] args){  //baris awal program utama
    Scanner input=new Scanner(System.in); // kita masukan fungsi abstract Scanner kedalam sebuah object  yang bernama input
        int i,jumlahMk;                     //mendeklarasikan i dan jumlahmk bertipe data integer
        String nama,npm,jurusan;            //mendeklarasikan nama,npm,jurusan bertipe data string
        String mataKuliah[]=new String[15]; //mendeklarasikan mataKuliah bertipe data string arrray memiliki maksimal 15 data
        String grade[]=new String[15];      //mendeklarasikan grade bertipe data string arrray memiliki maksimal 15 data
        int uts[]=new int[15];              //mendeklarasikan uts beripe data integer array memiliki maksimal 15 data
        int uas[]=new int[15];              //mendeklarasikan uas beripe data integer array memiliki maksimal 15 data
        double nilai[]=new double[15];      //mendeklarasikan nilai beripe data double array memiliki maksimal 15 data
        System.out.println("=================================="); //*perintah mencetak string
        System.out.println("   Menghitung Nilai Mahasiswa");      //*
        System.out.println("=================================="); //*
        System.out.print("   Masukan Jumlah Mata Kuliah: ");      //* dan bila tanpa ln maka kursor berada di sebelahnya
        jumlahMk=input.nextInt(); // untuk meminta inputan berupa integer ke variabel jumlahMk
        System.out.println("==================================");  //*
        System.out.print("  Nama     : "); //*
        nama=input.next(); //untuk meminta inputan berupa string ke variabel nama
        System.out.print("  NPM      : "); //*
        npm=input.next(); //untuk meminta inputan berupa string ke variabel npm
        System.out.print("  Jurusan  : "); //*
        jurusan=input.next(); //untuk meminta inputan berupa string ke variabel jurusan
        System.out.println("=================================="); //*
        for(i=1; i<=jumlahMk; i++){ //perintah perulangan dari i=1 sampai jumlahMk dengan step i=1
            System.out.print("\n Mata kuliah ke-"+i+" : "); //* dengan tambahan manipulasi string
            mataKuliah[i]=input.next(); //untuk meminta inputan berupa string ke variabel mataKuliah arrray pada saat i
            System.out.print(" Nilai UTS  : "); //*
            uts[i]=input.nextInt(); //untuk meminta inputan berupa integer ke variabel uts array pada saat i
            System.out.print(" Nilai UAS  : "); //*
            uas[i]=input.nextInt(); //untuk meminta inputan berupa integer ke variabel uas array pada saat i
            nilai[i]=((uts[i]*0.7)+(uas[i]*0.3)); //perhitungan di input ke nilai pada saat i
            if (nilai[i]>=85) grade[i]="A";                  //jika nilai ke-i 85 keatas maka grade ke-i isinya A
                else if (nilai[i]>=75) grade[i]="B";         //jika nilai ke-i 75 keatas maka grade ke-i isinya B
                    else if (nilai[i]>=65) grade[i]="C";     //jika nilai ke-i 65 keatas maka grade ke-i isinya C
                        else if (nilai[i]>=50) grade[i]="D"; //jika nilai ke-i 50 keatas maka grade ke-i isinya D
                            else grade[i]="E";               //jika nilai ke-i dibawah 50 maka grade ke-i isinya E
            }
        System.out.println("\n=================================="); //*
        System.out.println("\n\n Nama: "+nama+"            NPM: "+npm); //* dengan tambahan manipulasi string
        System.out.println("========================================="); //*
        System.out.println(" Mata Kuliah             Nilai      Grade"); //*
        System.out.println("========================================="); //*
        for(i=1;i<=jumlahMk;i++){ //perintah perulangan dari i=1 sampai jumlahMk dengan step i=1
        System.out.println(" "+mataKuliah[i]+"      "+nilai[i]+"       "+grade[i]); //* dengan tambahan manipulasi string
            }
        System.out.println("\n\n============================================="); //*
        System.out.println(" Terima Kasih Telah Menggunakan Program Kami"); //*
        System.out.println("============================================="); //*
        System.exit(0); //keluar dari program dengan interasi 0 artinya program tidak ada eror
        }
   }


Penjelasan singkat program:
Program ini bertujuan untuk melihat hasil grade dari suatu mata kuliah. Jumlah mata kuliah akan di input pada awalnya. Setelah itu akan melakukan penginputan nama matkul, nilai UTS, dan nilai UAS sejumlah berapa inputan yang kita input sebelumnya pada jumlah mata kuliah. Program ini mengunakan bantuan array agar data dapat di simpan di buffer dan bisa di panggil untuk outputnya.

Penjelasan beberapa sintak:

- Menginput data
Menginput pada program ini mengunakan bantuan dari
import java.util.Scanner;
Scanner input=new Scanner(System.in);
Baru bisa menginput data contoh:
nama=input.next(); atau nama=input.nextLine();
menggunakan ini juga sangan efesian pada saat menginput integer contoh:
jumlahMk=input.nextInt();
sebenarnya ada dia cara menginput di java dan car lain adalah menggunakan bantuan dari
import java.io.*;
public static void main(String[] args)throws IOException {
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
Contoh:
nama=input.readLine();
tapi tidak dapat menginput integer secara langsung tapi dari inputan kita harus mengkonfersi inputan ke dakam bentuk integer dengan cara:
jumlahMkStr=input.readLine();
jumlahMk=Integer.parseInt(jumlahMkStr);
atau
jumlahMk=Integer.parseInt(input.readLine());
jadi cara ini cukup rumit dan memakan size kalau hanya 2 sampai 3 masih tidak masalah bagai mana jika ada puluhan atau ratusan inputan bertipe integer makan akan cukup boros.

- Array
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. Cara mendeklarasikan array dan membuat array adalah:
TipeArray namaArray [];
namaArray = new TipeArray [jumlah];
Atau
TipeArray namaArray[]= new TipeArray[jumlah];
Jadinya begini:
String mataKuliah[]=new String[15];

- Manipulasi String
Manipilasi string pada java seperti contoh di bawah
System.out.println(" "+mataKuliah[i]+"      "+nilai[i]+"       "+grade[i]);
Artinya adalah akan menampilan satu space di depan di ikuti isi nataKuliah pada array tertentu dan di ikuti beberapa space di ikuti isi nilai pada array tertentu dan si ikuti beberapa space dan terakhir di ikuti dengan isi grade pada array tertentu, maka hasilnya akan seperti ini:
 Pemrograman Berbasis Objek      99       A
Dan pada sintak mencetak ada perbedaan juga, antara
System.out.println("   Menghitung Nilai Mahasiswa");
dengan
System.out.print("   Masukan Jumlah Mata Kuliah: ");
Bedanya berada pada, yang satu mengunakan ln dan yang satu tidak. Ln artinya kursor berpindah satu baris dari output tersebut dan yang tidak maka kursornya akan berada pada ujung dari outputnya karena sintak kedua kita gunakan untuk menginput suatu nilai maka kita tidak usah mengguakan ln agar kita menginput data di ujung kalimat output.


Output:
 



Link Kelompok:

56411569 SAMPE TUA OMPUNG SUNGGU

55411155 NIA RYANTHY SUGIANA

http://widadrofatul.blogspot.com/2013/03/program-sederhana-melihat-nilai-mata.html

58411242 ROFATUL WIDAD 
http://niaryanthy93.blogspot.com/2013/03/program-sederhana-dari-java.html


Sponsor