Minggu, 11 Desember 2011

Stopwatch (Java)



Assalamualaikum..

Wasap semua?? Mudah-mudahan dalam keadaan sehat. Ok, karena sedang Ujian Akhir Semester, postingan saya kali ini berhubungan dengan perkuliahan. Khususnya perkuliahan di bidang komputer. Saya mau membagi program java yang saya buat sendiri. Program ini adalah Tugas Akhir saya untuk semester ini di Mata Kuliah Pemrograman Berorientasi Objek 1. Yaitu program Stopwatch yang dibuat dengan Java..

Langsung saja, ini dia script programnya..

Ini untuk class stopwatch.class

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class stopwatch
    extends JFrame implements ActionListener {
  Timer time;
  int milidetik, detik, menit, jam;
  String nol_jam = "";
  String nol_men = "";
  String nol_det = "";
  String nol_mili = "";
  int no = 0;
  JTextField tampilan = new JTextField("Tekan Mulai");
  JTextField tampilan2 = new JTextField("");
  JTextField tampilan3 = new JTextField("");
  JTextField tampilan4 = new JTextField("");
  JTextField tampilan5 = new JTextField("");
  List Split = new List();
  Button mulai = new Button("Start");
  Button reset = new Button("Reset");
  Button stop = new Button("Stop");
  Button split = new Button("Split");

  public stopwatch() {

    setResizable(false);
    getContentPane().setLayout(null);
   
    tampilan.setFont(new java.awt.Font("Times New Roman", Font.BOLD, 20));
    tampilan.setEditable(false);
    tampilan.setForeground(Color.black);
    tampilan.setBackground(Color.white);
    tampilan.setHorizontalAlignment(JTextField.CENTER);
    tampilan.setBounds(new Rectangle(75, 16, 146, 35));
    
    Split.setBounds(new Rectangle(11, 110, 271, 148));
    Split.setForeground(Color.black);

    mulai.setBounds(new Rectangle(12, 68, 40, 30));
    mulai.setSize(60, 30);
    mulai.setForeground(Color.black);
    mulai.setBackground(Color.green);

    split.setBounds(new Rectangle(82, 68, 40, 30));
    split.setSize(60, 30);
    split.setForeground(Color.black);
    split.setBackground(Color.green);
    split.setEnabled(false);

    reset.setEnabled(false);
    reset.setBounds(new Rectangle(152, 68, 40, 30));
    reset.setSize(60, 30);
    reset.setForeground(Color.black);
    reset.setBackground(Color.green);

    stop.setEnabled(false);
    stop.setBounds(new Rectangle(222, 68, 40, 30));
    stop.setSize(60, 30);
    stop.setForeground(Color.black);
    stop.setBackground(Color.green);

    tampilan2.setFont(new java.awt.Font("Times New Roman", Font.PLAIN, 12));
    tampilan2.setEditable(false);
    tampilan2.setForeground(Color.white);
    tampilan2.setBackground(Color.black);
    tampilan2.setHorizontalAlignment(JTextField.CENTER);
    tampilan2.setBounds(new Rectangle(21, 280, 146, 35));
    tampilan2.setSize(250, 20);
    tampilan2.setText("RRN Stopwatch. Created By Afrinaldi / 17700");

    tampilan3.setEditable(false);
    tampilan3.setBackground(Color.green);
    tampilan3.setHorizontalAlignment(JTextField.CENTER);
    tampilan3.setBounds(new Rectangle(16, 275, 146, 35));
    tampilan3.setSize(260, 30);

    tampilan4.setEditable(false);
    tampilan4.setBackground(Color.green);
    tampilan4.setHorizontalAlignment(JTextField.CENTER);
    tampilan4.setBounds(new Rectangle(70, 11, 146, 35));
    tampilan4.setSize(156, 45);

    tampilan5.setEditable(false);
    tampilan5.setBackground(new java.awt.Color(150,102,110));
    tampilan5.setHorizontalAlignment(JTextField.CENTER);
    tampilan5.setBounds(new Rectangle(1, 1));
    tampilan5.setSize(300, 340);
  
    mulai.addActionListener(this);
    stop.addActionListener(this);
    reset.addActionListener(this);
    split.addActionListener(this);

    this.getContentPane().add(tampilan);
    this.getContentPane().add(mulai);
    this.getContentPane().add(reset);
    this.getContentPane().add(stop);
    this.getContentPane().add(split);
    this.getContentPane().add(tampilan2);
    this.getContentPane().add(Split);
    this.getContentPane().add(tampilan3);
    this.getContentPane().add(tampilan4);
    this.getContentPane().add(tampilan5);
  }
  public void aktifkan() {
    ActionListener tr = new ActionListener() {
      public void actionPerformed(ActionEvent evt) {

milidetik++;
if(milidetik==100)
{
milidetik = 0;

detik++;
if(detik==60)
{
detik = 0;

menit++;
if(menit==60)
{
menit=0;

jam++;
if (jam==24);
{
jam=0;
}}}}

if (jam <= 9) {
nol_jam = "0";
}else nol_jam="";
if (menit <= 9) {
nol_men = "0";
}else nol_men="";
if (detik <= 9) {
nol_det = "0";
}else nol_det="";
if (milidetik <= 9) {
nol_mili = "0";
}else nol_mili="";

tampilan.setText(nol_jam + Integer.toString(jam)+ " : " + nol_men + Integer.toString(menit)+ " : " +
nol_det +Integer.toString(detik)+ " : " + nol_mili + Integer.toString(milidetik));
      }
    };
    time=new Timer(10,tr);
    time.start();
  }

  public void actionPerformed(ActionEvent e) {
   
    Object tombol = e.getSource();
    if (tombol== mulai) {
      mulai.setEnabled(false);
      reset.setEnabled(false);
      stop.setEnabled(true);
      split.setEnabled(true);
      aktifkan();
    }

if (tombol == split) {
      no += 1;
      Split.add(no + ".  " + tampilan.getText());
    }

    if (tombol == stop) {
      mulai.setEnabled(true);
      reset.setEnabled(true);
      stop.setEnabled(false);
      split.setEnabled(false);
      time.stop();
    }

    if (tombol == reset) {
     no=0;menit=0;detik=0;milidetik=0;jam=0;nol_mili="0";nol_men="0";nol_det="0";nol_jam="0";
      tampilan.setText(nol_jam + Integer.toString(jam)+ " : " + nol_men + Integer.toString(menit)+ " : " +
     nol_det +Integer.toString(detik)+ " : " + nol_mili + Integer.toString(milidetik));
      Split.clear();
    }
  }


Ini untuk class Main.class

import javax.swing.JFrame;

    public static void main(String[] args) {
        // TODO code application logic
           stopwatch sw = new stopwatch();
    sw.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    sw.setTitle("RRN Stopwatch");
    sw.setSize(300, 340);
    sw.show();
    }
}



Itu script 2 buah class yang dibutuhkan untuk membuat program stopwatch yang saya bikin..

Kira-kira skrinsyut dari program adalah seperti ini:






Untuk project lengkap dari program yang saya bikin, bisa di-download di sini..

Sekian. Assalamualaikum

35 komentar:

  1. KEREEEEEENNN. :O
    Pengen bisa programming (karna tuntutan kuliah), tapi gabisa. :(
    Cuma bisa database aja.

    BalasHapus
  2. @Alvi: thanks Alvi: :).. Diperdalam salah satunya bro.. Database kan juga sangat dibutuhkan

    eh, di program itu ternyata ada kerancuan. Untuk memulai, disuruh tekan tombol mulai. eh,, yang ada tombol start.. Cacat produksi.. :D

    BalasHapus
  3. *mata jereng liat script*
    *ngacungin dua kempol*

    BalasHapus
  4. (jempol maksudnya) duh, kena virus typo kan --"

    BalasHapus
  5. @Ririz: Wuaaa. Makasih Riz.. Kayaknya virus typo udah mulai menyerang ke anak-anak KK nih. :O

    BalasHapus
  6. Cuma bisa buka mata lebar2... tapi tetap gak ngerti...
    Good job bro...
    Huahhahahaha...
    disuruh tekan "mulai" tapi yang ada "start"...
    -_____-"

    BalasHapus
  7. wihh rinal udh jago, ayokk lanjutkan lagiii
    good job..

    ayo tekan MULAI wkwkwkwkk :p

    BalasHapus
  8. @Nanda: Yuk, belajar bareng bro..

    bg @cacing: Makasih bg.. :3

    @Nanda dan bang @cacing: mana tombol mulainya? :O

    BalasHapus
  9. ini program sekalian menguji daya nalar keliatannya,, haha.. mulai ---> start.... :P

    BalasHapus
  10. @Jefri: Hhahah. hebat kan programnya?? wkwk

    BalasHapus
  11. wow, aku baru bisa pemrograman kalkulator pake php kak. masih dasar, soalnya aku masih SMK :D

    BalasHapus
  12. @Zihny: Hhehe.. Kita sama-sama belajar ya.. Masih SMK udah hebat PHP.. Saya baru kenal PHP 6 bulan yang lalu.. :).. Saling berbagi ilmu ya.. btw, thanks udah mengunjungi

    BalasHapus
  13. astaga oh gilaaa hahhahha....ak jg baru bgt bljr java...blm knal library java yg aneh2 :))))

    gud job :D

    BalasHapus
  14. bingung liat deretan javaS . ajarin programming baaaaangg !! :(

    BalasHapus
  15. woah, keren
    tahun depan gw mau ambil jurusan informatika, moga-moga enggak salah pilih :)
    Fridi Graphic

    BalasHapus
  16. buat2 program2 ginian susahnya minta ampun
    << pernah nyobain dan nyerah ditengah jalan -___-

    BalasHapus
  17. @Ca Ya: Mari kita sama-sama belajar. :)

    @Dika: Kuliah ya? Jurusan Apa?

    @Fridi: Kalau memang tertarik dengan yang beginian,, ayo ambil jurusan informatika. :)

    @Yusi: Ah, masa brhnti di tengah jalan sih?? semangat dong.. :3

    BalasHapus
  18. Iya bang.. Tugas Akhir.. Disuruh bikin program.. Ya, Inal bikin ini.. :D

    BalasHapus
  19. susah kali bang -_-
    makanya nyeraah :3

    BalasHapus
  20. Darimana tau pemrograman? di Sipil ada pemrograman juga ya?

    BalasHapus
  21. pas SMA kan diajarin bang, dikit2 yang aplikasi apaan itu deh -_- lupaa, aplikasinya :3

    BalasHapus
  22. Asyik ya,, waktu SMA udah belajar pemrograman.. Saya baru kenal pemrograman pas kuliah.

    BalasHapus
  23. itu elo yang bikin sendiri? hebat banget!!!! kalah deh tuh pak tarno #eh #apasih muehehehehehehehe

    BalasHapus
  24. @Inggit: Hhehe. Iya mbak.. Pak Tarno?? haha, beda spesialisasi

    BalasHapus
  25. Semangat bikin project-project yang lainnya bang :D

    BalasHapus
  26. @To-tallyshit:.. Hehe.. Ok makasih.. Doakan aja saya bisa mahir di pemrograman.. :).. btw, thanks udah mengunjungi...

    BalasHapus
  27. Edan, mantap pisan lah, pake java aja bisa buat stop watch.. Happy Blogging ya.
    Salam kenal

    BalasHapus
  28. *cuman bisa nyimak*
    masih belum cukup akrab sama JAVA :((

    BalasHapus
  29. @Agung: Ehehe. Makasih bang.
    @Cucu: Ehehe. Makasih. Salam kenal ya..
    @Ilyas: Semangat bro.. Kita sama-sama belajar. :)

    BalasHapus
  30. Cuma bisa liat deretan tulisan aneh tak bernyawa... Wkwkwk

    BalasHapus
  31. @Muhammad Fajar: ehehehe. Eh, ini fajar yang di Bogor itu ya? Soalnya namanya sama. Maaf kalau salah..

    BalasHapus
  32. sexy banget coding-nya O_O
    keren banget, gue gak bisa bahasa JAVA dan bahasa Jawa u,u

    BalasHapus
  33. @Ramy: Ahahaha. Thanks.. Belajar kedua2nya dong. :D

    BalasHapus