Kamis, 03 Juli 2014

Arashi Games

Oleh    :
-          Esti Wulandari
-          Ratih Nurdiyani Sari
-          Riri Riandita
-          Rofatul Widad

Arashi Game adalah sebuah permainan Othello yang berfungsi untuk melatih otak untuk berpikir bagaimana menguasai seluruh jalannya permainan, selain itu permainan ini bisa juga digunakan untuk pemahaman edukasi anak maupun orang dewasa karena fungsinya tersebut. Dimana pengertian Othello sendiri adalah  suatu permainan yang menggunakan konsep Artificial Intelligence atau kecerdasan buatan. Kecerdasan buatan atau yang sering disebut dengan AI pada game itu terletak pada komputer yang akan bertindak sebagai lawan. Komputer akan selalu berusaha mengalahkan user dengan cara menutup langkah pemain untuk membentuk sebuah garis, komputer dapat menyusung strateginya sendiri agar menjadi pemenang. Arashi Othello merupakan salah satu contoh permainan Othello yang di dalam permainan nya menggunakan kecerdasan buatan(AI). Othello atau disebut juga reversi adalah permainan yang menggunakan papan berisi kotak sebanyak 8x8 antara dua orang pemain.

Pada awal permainan, game ini terdiri dari 64 petak kosong yang tersusun oleh 8 baris dan 8 kolom yang nantinya akan dipakai untuk area permainan. Di dalam permainan ini terdapat  2 karakter yaitu karakter AKB48 yang digunakan untuk user dan karakter ARASHI digunakan oleh komputer. Pada permainan ini hanya dimainkan oleh 1 user sedangkan  komputer bertindak sebagai lawan. Pada tampilan awal permainan ini, userbisa langsungkan memainkan game ini kemudian user dapat menaruh karakter pada area permainan yang telah disediakan. Pada permainan tampilan awal permainan ini, terdapat tampilan menu yang bertujuan untuk membantu user. Tampilan menu tersebut berisi New Game, info, dan help. New game berfungsi untuk melakukan kembali permainan ke awal permainan jika user  telah selesai melakukan permainan atau ditengah-tengah jalan user sudah menyerah, info digunakan apabila user ingin melihat keterangan tentang cara bermain, dan button tambahan yang berada disamping button menu yaitu exit digunakan untuk keluar dari permainan dan help digunakan untuk petunjuk permainan. Untuk membuat pemain nyaman, pada game ini diberi sebuah latar belakang(background).
Berikut ini merupakan tampilan awal pada permainan Arashi Othello :

                       
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKENunfibJi-OYxpkhUJs2Mk365diGiCDLFSQbvvuXYTnYOjZQxprBkImSSUy3BVjI51KAtdjUl8arz7N61XnV4qFD_aUu0CVsPZObtH7Jk4QWWyZDmiyMWn73Ybb0WVNa3-EHgiERZkQ/s1600/Capture6.PNG


Menu yang terdapat pada Arashi Game:
1.      Ukuran Layar Kedua 640 x 480.
2.   • Gambar : 1, merupakan bidak milik CPU.
• Gambar : 2, merupakan bidak milik Player.
3.   • Menubar New Game untuk memulai permainan baru.
• Menubar Exit untuk keluar dari permainan.
Berikut ini adalah cara bermain yang dipakai dalam permainan ini :
Terdapat 64 kotak yang telah tersedia diisi secara bergantian antara player dan computer.
 Dengan cara mengklik kiri pada mouse dan arahkan kursor kearah kotak jika salah satu pemain ingin berjalan.
Jika anda (player) main sebagai giliran pertama, maka pemain tersebut memilih kotak yang ingin diisi, kemudian giliran lawan (computer) yang memilih kotak yang diinginkan diisi.
Jika kotak yang telah disediakan telah habis atau penuh dan berhasil membuat tanda berurut baik secara horizontal, vertikal dan diagonal dengan jumlah terbanyak diantara salaah satu pemain maka permainan berhenti dan berakhir.


Senin, 16 Juni 2014

Selasa, 10 Juni 2014 Resume Seminar Open Lecture "Game Industry, Global, and Indonesia Opportunity and Challenges"

Tim UG IBC
·         Perbedaan game dulu dan sekarang (2D ke 3D).

Dewasa ini siapa yang tidak suka bermain game? Tidak hanya anak-anak tetapi bahkan orang dewasa terkadang juga bermain game. Well termasuk saya juga suka, untuk bermain game mulai dari PS, X-Box sampai PC. Dan alasannya biasanya untukrefreshing atau penasaran akan game itu sendiri. Tapi apapun itu alasannya, kita tahu bahwa setiap orang senang untuk bermain game.
Tapi kali ini saya tidak akan membahas kenapa setiap orang senang bermain game tetapi saya akan sedikit bercerita mengenai perkembangan game dan juga perbedaannya. Pertama perkembangan game tidak terlepas dari kemajuan teknologi dan ilmu pengetahuan yang mana terciptanya game sendiri juga dimulai dengan adanya teknologi komputer. Dan kita tahu sekarang teknologi visualisasi gambar memungkinkan untuk suatu objek terlihat lebih hidup. Maka dari itu disini saya akan membahas perkembangan dan perbedaannya dalam beberapa poin.
1. Pencitraan
Pencitraan sangat berkembang sejak dari tahun 1990 dan seiring berjalannya waktu mulai dikembangkannyalah OpenGL sebagai API untuk objek dan visualisasi 3D. Walaupun game telah dikenal sejak dibuatnya komputer destop, tetapi teknologi pada saat itu masih belum mendukung untuk menjadi game yang banyak kita lihat sekarang ini. Dengan teknologi yang masih terbatas pada saat itu game baru bisa dibuat dengan tampilan yang secara geometri adalah 2D yaitu panjang x lebar . Contoh game yang pada saat itu menggunakan konsep 2D adalah seperti game, “Mario Bross”,”Zelda”, “Rockmen” dan beberapa game yang dulu dimainkan di Sega, nintendo, Game Boy dan alat permainan 2D lainnya.
Game 3D berkembang sejak tahun 1990-an sampai berkembang menjadi sekarang ini dengan detail yang baik dan desain yang sangat halus pada saat di render. Dengan berkembangnya OpenGL sebagai API Open Source untuk pengembang game dan animasi. Juga terdapat software dan hardware yang mendukung untuk menampilkan game 3D. Secara geometri 3D merupakan suatu objek yang memiliki dimensi panjang x lebar x tinggi.
Sebagai tambahan untuk perkembangan grafis, seperti animasi dan game pada saat sekarang ini telah berkembang menjadi AR(Augmented Reality) dan VR(Virtual Reality) . Sehingga membuat tampilan menjadi semakin hidup dan membuat eksperien yang lebih baik kepada user dan lebih menyenangkan.
2. Software
Perkembangan teknik algoritma telah memungkinkan pembuat aplikasi untuk mengembangkan game menjadi semakin baik. Mulai dari  API untuk melakukan rendering algoritma tersebut telah dikembangkan menjadi semakin baik dan menghemat resourcekomputer atau mesin dan menjadi lebih efisien seperti yang kita rasakan sekarang ini. Pada periode tahun 1980 sejak komputer desktop pertama dikembangkan game masih dibuat dengan sangat sederhana. Dilakukan dengan bahasa pemrograman seperti C , prolog dan lainnya. Sekarang dengan perkembangan teknologi pembuatan game bisa dilakukan hanya dengan enggine game tertentu, yaitu hanya dengan menginstall suatu software yang meng-generate suatu objek dan game secara user friendly.
3. Hardware
Teknologi yang maju telah membuat hardware menjadi semakin powerfull, murah dan kecil, hal ini dimanfaatkan oleh para pengembang citra dan game. Yang menjadi masalah saat membuat objek dan animasi 3D untuk game sekarang ini adalah sumber daya mesin yang tidak mencukupi. Proses rendering akan sangat lama dengan menggunakan hardware yang mempunyai spesifikasi lama. Maka teknologi hardware sekarang mengatasi masalah tersebut. Rendering bukan lagi menjadi masalah, pembuatan objek apapun bisa di realisasikan.
4. Gameplay
Jika anda pernah bermain game pada tahun 1989-an sampai sekarang ini maka bagi anda akan sangat jelas perbedaan yang terlihat pada gameplaynya. Pada game berjenis 2D maka gameplaynya terasa sangat membosankan apa lagi ketika anda sudah merasakangameplay dari game berjensi 3D. Game berjenis 3D membuat tampilan yang menarik dan permainan yang lebih nyata dan seru bagi penikmat game. Jika anda pernah bermain game seperti “Fable” maka anda akan sangat tertarik(Promosi).
·         Content components (bagaimana mengambil ide yang ada untuk membuat sebuah game yang menarik).
·         Motion capture (mengambil gerakan secara lansung).
·         Membuat game yang baik harus memiliki ini:
Ø  Game yang menarik (contoh : angry bird dan point blank)
Ø  Playability and game play
Ø  Inovation controller game
·         BCI (Brain Computer Interface)
Ø  Medis, psikologi, stimulus
Ø  Electro encephalography
Ø  Neural impulse actuator
Ø  Bermain game dengan menggunakan otak
Ø  Game for create money

Ø  Other factors for succesful game (timing adalah hal yang terpenting)

The rise of gaming (wong lok bien)
Indonesia memiliki potensi yang besar dalam dunia game
·         Global reach
·         Bagaimana game yang dibuat bisa menanjak
·         Service and operation
·         Kolaborasi antara semua pihak dalam pembuatan game
·         Dengan adanya internet, orang dapat menjual gamenya sampai ke dunia
·         Penjualan game online yang selalu menanjak
·         Saat ini, buat game tidak sulit seperti dulu
·         Seberapa kreativitasnya kalian dalam membuat game
·         Marketing and promotion
·         Prestasi orang indonesia dimata dunia

Game engine unity 3D and student chance in game industry (kim kyoung hwan)
·         Game engine
·         Price of game engine
·         Unity 3D platform
Ø  Ios
Ø  Android
Ø  Flash
Ø  Pc
Ø  Mac
Ø  Ps3
Ø  Xbox 360
Ø  Wii
Ø  Web player
Ø  Blackberry
·         User growth rate of unity 3D
·         Works created by non-programmers
·         Korea game education conditions
·         Unity showcase 2014 (unity3d.com)

Mobile games market trends and succes startes (stephen cho)
·         Status of the global mobile gaming market
·         Major trends in the mobile games market major
·         Emerging trends in the mobile games market
·         Korea mobile game succes story
·         Indonesian mobile game growth
Ø  Mobile game yang paling terkenal dari aplikasi
Ø  Perkembangan mobile game yang semakin meningkat dalam global marketing
Ø  30% mobile game meningkat di tiap negara
Ø  Kalau ada platform baru muncul, maka company yang baru juga akan muncul. Dari pc berubah ke mobile platform
1.       Status of korea mobile game succesful companies
ü  Partnership
ü  Momen yang tepat untuk launching
ü  Mencari tau trend mobile gaming, baru launching
ü  Untuk pemula peluangnya tidak terlalu besar, maka stephen cho ingin membantu sekalian berbisnis
ü  Jangan ragu-ragu untuk membuat mobile gaming, pintar mencari teman untuk sharing dalam menemukan content
2.       growth direction of the mobile game companies in indonesia
ü  dimulai dari niat untuk menjalankan semua
ü  mental
ü  tujuan kearah global
ü  perencanaan content
ü  pintar graphics
ü  peka untuk memenuhi kekurangan yang ada.

Jumat, 04 April 2014

PENGANTAR TEKNOLOGI GAMES

Nama: Rofatul Widad
NPM : 58411242
Kelas : 3IA12
Tugas Softskill Pengantar Teknologi Games

Sejarah Game

Generasi game pertama muncul dari ATARI 2600 merupakan konsole game pertama yhang sukses di mansanya atari 2600 ini dirilis pada oktober 1977, waduh kalian sudah lahir blom ya :p nah setelah itu dikenal dengan nama VCS (Video Computer System).
Setelah sukses pada generasi pertama atari tidak menyerah sampai disitu saja untuk memajukan dunia game elektronik pada generasi kedua muncullah atari 7800 konsol ini dirilis pada juni 1986 pada atari 7800 ini ada sedikit kemajuan dengan menambahkan joystik sehingga user dapat lebih mudah untuk memainkan konsole game ini namun pada masanya harga dari konsole game ini selangit yaitu $140 wuiih pada jamannya mungkin ini menjadi salah satu permainan termahal.
Lalu setelah Atari 7800 ada NES Nintendo entertaintment System nah inilah konsole permainan pertama kali yang menggunakan 8 bit nah nintendo ini menghasilkan produk produk game yang lain daripada yang lain salah satu game yang compatible dengan NES ini adalah super mario bros.. (nah akhirnya kalian tau juga kan knapa saya pasang gambar mario bross di depan karena itu menurut saya sebuah logo untuk perkembangan game dari zaman ke zaman

Jumat, 07 Juni 2013

Membuat Web dengan Domain Gratis

Cara Mendaftar Domain Gratis
  1. Silakan buka http://www.co.cc di browser anda.
  2. Ketiklan nama domain yang anda inginkan, lalu klik “Check availability
  3. Jika nama domain sudah dipake orang lain, ulangi lanka 1 dan 2. Namun jika nama domain yang anda tuliskan masih tersedia, lanjutkan dengan klik “Continue to registration

Senin, 08 April 2013

PROGRAM VALIDASI TANGGAL PADA JAVA



PROGRAM VALIDASI TANGGAL

Source Code pada Tanggal.java
import java.util.*; //memangil package java.util.* untuk Date
import java.text.*; //memangil package java.text.* untuk SimpleDateFormat
import java.util.Scanner; //memangil package java.util.Scanner untuk menginput
public class Tanggal {
    public static void main(String[] agrs){
        String inputTanggal,stringTgl,stringBln,stringThn,ulang;
        int intThn,intBln;
        String[] blnNama={"Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"};
        Cek ck=new Cek(); //mendeklarasikan cara pemanggilan class Cek dengan keyword ck
          Scanner input=new Scanner(System.in);
          do{
        System.out.print("\n Masukkan tanggal (dd-mm-yyyy) "); inputTanggal=input.next(); //menginput variabel inputTanggal
          if (ck.TglValid(inputTanggal)==true) { //jika tanggal yang di input benar dan valid
            //memecah inputan menjadi 3 bagian yaitu tanggal(tgl), bulan(bln), dan tahun(thn)
            stringTgl=inputTanggal.substring(0,2); //mengambil digit ke 1-2 dari inputTanggal dan dimasukan ke stringTgl
            stringBln=inputTanggal.substring(3,5); //mengambil digit ke 4-5 dari inputTanggal dan dimasukan ke stringBln
            stringThn=inputTanggal.substring(6); //mengambil digit ke 6-terakhir dari inputTanggal dan dimasukan ke stringThn
            intBln = (Integer.parseInt(stringBln))-1; //mengubah string menjadi integer dan menentukan index array untuk bulan
            System.out.println(String.format("\n\n Tanggal yang anda input adalah = %s %s %s ",stringTgl,blnNama[intBln],stringThn));
            ck.kabisat(stringThn); //memangil method kabisat yang berda di class Cek untuk mengecek apakat tahur yang di input adalah tahun kabisat
            }
        else { //jika tanggal yang di input salah
             System.out.println("\n\n WARNING!  Tanggal yang anda input salah");
             }
          System.out.print("\n\n Apakah mau mengulang lagi y/t?  "); ulang=input.next();
            } while ( ulang.equals("y") ); //perintah mengecek perulangan dan akan di ulang jika inputan ulang adalah y
        System.out.println("\n\n =============================================");
        System.out.println("  Terima Kasih Telah Menggunakan Program Kami");
        System.out.println(" =============================================");
        System.exit(0);
        }
    }

class Cek{
    //mengecek validasi tanggal yang di input
    public static boolean TglValid(String tgl){
        String pola="dd-MM-yyyy";
        try {
            SimpleDateFormat format=new SimpleDateFormat(pola); //deklarasi format
            format.setLenient(false); //jika tanggal yang di input salah akan mertipe boolean false
            Date date=format.parse(tgl);
            return true;
            }
        catch (ParseException ex){
            System.err.println(" Error: "+ex.getMessage()); //memberitahuan pesan error
              return false;
              }
        }
    //mengecek tahun kabisat
    public void kabisat(String stringThn) {
        int intThn;
        intThn = Integer.parseInt(stringThn); //mengubah string menjadi integer
        String thnKabisat=" Tahun yang anda input adalah Tahun Kabisat";
        String bknThnKabisat=" Tahun yang anda input bukan Tahun Kabisat";
        //mengecek apakah tahun yang di input merupakan tahun kabisat
        if (intThn%4==0) {
            if (intThn%100==0) {
                if (intThn%400==0) { System.out.println(thnKabisat); } //Jika tahun itu habis dibagi 400, maka tahun kabisat.
                else { System.out.println(bknThnKabisat); } //Jika tahun itu tidak habis dibagi 400 tetapi habis dibagi 100, maka bukan tahun kabisat.
                }
            else { System.out.println(thnKabisat); } //Jika tahun itu tidak habis dibagi 400 dan 100 tetapi habis dibagi 4, maka tahun kabisat.
            }
        else { System.out.println(bknThnKabisat); } //Jika tahun tidak habis dibagi 400, 100, dan 4, maka bukan tahun kabisat.
        }
    }

LOGIKA PROGRAM
Pertama kita akan di minta memasukkan tanggal dengan ketetapan tanggal-bulan-tahun (dd-MM-yyyy). Setelah menginput lalu akan di periksa apakah tanggal yang di input benar atau valid, dengan perintah SimpleDateFormatdan Date. Jika pengecekan pola penginputan dan ternyata tanggal yang di input benar atau valid maka akan di lakukan pemecahan atau membagi inputan tanggal sengan perintah substring. Pembagian atas dua 1-2 adalah tanggal, digit 4-5 adalah bulan, dan digit 7-10 adalah tahun. Setelah itu bulan yang sebelumnya adalah string di ubah menjadi integer dengan perintah Integer.parseInt fungsinya adalah agar diolah menjadi array blnNama yang sebelumnya array blnNama sudah dideklarasikan dan berisi nama-nama bulan dan akan memerintahkan untuk menampilkan tanggal, string dalam array blnNama, dan tahun. Setelah menampilkan hasil baru akan di periksa apakah tahun yang di input adalah tahun kabisat, jika sudah di cek apakah itu merupakan tahun kabisat dengan ketetapan yang ada makan akan memberitahunan bahwa itu merupakan tahun kabisat atau tidak, dan akan muncul pertanyaan apakah ingin mengulangin memeriksa jika mau akan mengulang meminta inputna tanggal jika tidak akan keluar dari program. Dan jika pada saat pemeriksaaan dan ternyata tanggal yang di input tidak valid maka akan ada pesan error dan peringatan dan akan di minta akan mau mengulang memeriksa atau tidak.

Pada program saya kali ini saya menggunakan perintah penanganan eksepsi try dan catch.
Penjelasan:
Fungsi try ini adalah mengecek apakan ada kesalahan dan bila ada maka akan di lempar pada catch.
try = coba dan catch = tangkap
Seolah-oleh pengertian sehari-hari tentang coba-coba (trial & error), jika terjadi error maka tangkap kesalahannya.
try { // Blok yang diperkirakan terdapat kesalahan
}
catch { //blok yang akan dijalankan bila terjadi error
}

OUTPUT

kelompok 6 - 2IA12

58411242 - ROFATUL WIDAD
55411155 - NIA RYANTHY SUGIANA
51411210 - ARVI AZMI MAULANA
54411543 - M. LUTFI R.A.


Senin, 25 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 prosedureinputBrg() 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 sampaijumlahBeli dengan bertambah 1 dengan perintahfor(i=1;i<=jumlaBeli;i++) dan didalam perulangan juga ada proses penjumlahan dan pengalian untuk mencari nilaihargaTtl untuk total harga masing-masing barang dantotalHarga 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, sehinggatotalBayar=totalHarga-diskon. Selesai itu program akan kembali ke file Kasir.java dan program melanjutkan akan memangil procedure tampil() dengan perintahhtg.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);.

output:

kelompok:
2IA12
58411242 - ROFATUL WIDAD
    55411155 - NIA RYANTHY SUGIANA
    51411210 - ARVI AZMI MAULANA
    54411543 - MOCHAMMAD LUTFI R A 


 

(c)2009 Rofatul Widad. Based in Wordpress by wpthemesfree Created by Templates for Blogger