MEMBUAT JAM ANALOG Wiranti Sri Utami
[email protected]
Abstrak Jam analog adalah jam yang menunjukkan waktu dengan menggunakan jarum. Penulis akan membantu membuat jam analog menggunakan applet yang dapat disatukan kedalam suatu file.html. Jam analog juga dibuat dengan menggunakan metode graphics yang terletak pada package java.awt.graphics. Dengan metode graphics, kita dapat menggambar lingkaran bingkai jam, titik pusat jam, jarum detik, jarum menit, jarum jam, dan angka.
Kata Kunci: jam analog, metode graphics
Pendahuluan Tujuan penulis membuat artikel ini untuk membantu para pembaca membuat sebuah jam analog yang berfungsi sebagai penunjuk waktu. Untuk membuat jam analog ini penulis menggunakan applet sebagai panelnya, dan dengan applet kita dapat membuat jam analog yang dapat diakses pada browser atau halaman website. Semoga dengan pembuatan jam analog ini menjadi langkah awal dalam membuat sebuah aplikasi yang dapat bermanfaat bagi semua kalangan, demi terwujudnya generasi yang memiliki daya kreatifitas tinggi dalam bidang teknologi komputer. Pada bab pembahasan akan dibahas mengenai langkah-langkah membuat jam analog, penjelasan mengenai list program untuk membuat kelas jam analog, penjelasan list program file html yang diberi nama jamanalog.html, serta dijelaskan langkah-langkah mengeksekusi dan menjalankan program jam analog.
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Pembahasan Dalam pembuatan aplikasi jam analog ini, kita membutuhkan applet sebagai panelnya. Kelas applet terletak pada package java.applet.Applet, untuk penanganan perubahan nilai waktu, kita menggunakan interface runnable yang berfungsi sebagai proses thread. Berikut ini terdapat langkah-langkah membuat jam analog, yaitu sebagai berikut: Membuat Kelas Langkah pertama yang harus kita lakukan untuk membuat jam analog adalah membuat kelas, kemudian kitapun harus menyimpan nama file sesuai dengan nama kelas dan nama file yang disimpan diberinama jamAnalog.java. Aplikasi ini dirancang dengan menggunakan applet, sehingga pada pembuatan kelas harus dilakukan perluasan kedalam applet dengan penulisan “extends Applet”. Setelah itu kita harus melakukan implements runnable dikarenakan pada aplikasi ini kita bekerja dengan menggunakan runnable untuk melakukan proses thread. Seperti list program berikut ini : Public class jamAnalog extends Applet implements Runnable { ................ }
Menggambar Jam Analog Untuk melakukan penggambaran berupa obyek grafik, Java telah menyediakan sebuah methode yang dapat melakukan hal tersebut yaitu dengan methode paint(Graphics g). Methode ini akan secara langsung dipanggil pada saat aplikasi dijalankan. Seperti list program berikut ini : Public void paint(Graphics g) { ................ }
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Dalam pembuatan jam analog ini kita akan melakukan penggambaran beberapa obyek untuk membentuk sebuah jam analog yaitu 3 buah garis lurus, 2 buah lingkaran dan 4 buah string. Untuk membuat latar belakang berwarna putih dengan cara menggambar obyek persegi panjang dengan ukuran sebesar ukuran applet. Methode yang digunakan untuk menggambar objek persegi panjang yang berisikan warna yaitu menggunakan methode fillRect(int x, int y, int width, int heigth). Seperti list program berikut ini : g.setColor(Color.white); g.fillRect(0, 0, size().width, size().height);
Untuk menentukan titik tengah dari applet, method yang digunakan adalah point(int x, int y) yang terdapat pada java.awt.Point. Dengan methode tersebut kita juga dapat menentukan panjang dari setiap jarum yang terdiri dari jarum detik, menit, dan jam. Seperti list program berikut ini : Point p = new Point(size().width / 2, size().height / 2); int jarum_detik = 85, jarum_menit = 69, jarum_jam = 50;
Untuk mengambil nilai waktu sekarang, yang digunakan untuk menentukan posisi jarum dari jam analog, harus menggunakan methode-methode berikut ini : Date dt = new Date(); int detik = dt.getSeconds(); int menit = dt.getMinutes(); int jam = dt.getHours();
Untuk menghitung besarnya sudut setiap jarum dari posisi 00 dengan mengalikan nilai waktu sekarang dengan PI (3,14) yang berbanding dengan nilai maksimal dari setiap nilai waktu. Seperti list program berikut ini : double sudut_det = detik * Math.PI * 2 / 60.0; double sudut_men = menit * Math.PI * 2 / 60.0; double sudut_jam = jam * Math.PI * 2 / 12.0 + sudut_men / 12.0;
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Untuk menentukan posisi jarum jam analog yang didasarkan atas nilai sudut dari setiap jarum jam analog. Menggunakan methode-methode berikut ini : int det_x = (int) (p.x + jarum_detik * Math.sin(sudut_det)); int det_y = (int) (p.y - jarum_detik * Math.cos(sudut_det)); int men_x = (int) (p.x + jarum_menit * Math.sin(sudut_men)); int men_y = (int) (p.y - jarum_menit * Math.cos(sudut_men)); int jam_x = (int) (p.x + jarum_jam * Math.sin(sudut_jam)); int jam_y = (int) (p.y - jarum_jam * Math.cos(sudut_jam));
Untuk menggambar bingkai jam analog berupa obyek lingkaran tanpa berisikan warna. Menggunakan methode drawOval(int x, int y, int width, int height). g.setColor(Color.black); g.drawOval(p.x - 90, p.y - 90, 180, 180);
Untuk menggambar jarum detik, menit, dan jam dengan warna garis yang berbeda-beda. Menggunakan methode drawLine(int x1, int y1, int x2, int y2). // Membuat Jarum detik berwarna merah g.setColor(Color.red); g.drawLine(p.x, p.y, det_x, det_y); // Membuat Jarum menit berwarna hitam g.setColor(Color.black); g.drawLine(p.x, p.y, men_x, men_y); // Membuat Jaum jam berwarna biru g.setColor(Color.BLUE); g.drawLine(p.x, p.y, jam_x, jam_y);
Untuk membuat titik lingkaran pusat berwarna hitam, methode yang digunakan untuk menggambar lingkaran yang berisikan warna adalah fillOval(int x, int y, int width, int height).
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
g.setColor(Color.DARK_GRAY); g.fillOval(p.x - 6, p.y - 6, 12, 12);
Kemudian langkah terakhir adalah menggambar angka 3, 6, 9, dan 12, methode yang digunakan untuk menggambar angka adalah drawString(String str, int x, int y). g.setFont(new Font("Dialog", Font.BOLD, 16)); g.drawString("12", p.x - 4, p.y - 75); g.drawString("3", p.x + 75, p.y + 2); g.drawString("6", p.x - 2, p.y + 85); g.drawString("9", p.x - 85, p.y + 2);
Membuat Update Gambar Untuk membuat update gambar, proses yang dilakukan adalah melakukan update atau menggambar ulang obyek-obyek. Kemudian methode yang akan digunakan adalah update(Graphics g), methode ini akan selalu dipanggil setelah methode repaint(). public void update(Graphics g) { paint(g); }
Membuat Start Untuk membuat Start dibutuhkan sebuah methode start yang dapat dipanggil setiap kali dokumen html ditampilkan ke layar. Dengan demikian methode start() akan dipanggil pada saat applet pertama kali dijalankan. Di dalam methode ini, proses yang dilakukan adalah menjalankan proses Thread yaitu dengan menggunakan methode start(). Seperti list program berikut ini : public void start() { runner = new Thread(this);
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
runner.start(); }
Membuat Run Methode run dijalankan sesaat setelah proses thread dijalankan. Pada methode ini, proses yang dilakukan adalah melakukan pengaturan delay dengan menggunakan methode sleep(long time) dan proses penggambaran ulang dengan memanggil methode repaint(). Seperti list program berikut ini : public void run() { while (true) { try { // Waktu delay runner.sleep(1000); } catch (Exception e) {} repaint(); }}
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Berikut ini list program untuk membuat aplikasi jam analog dan diberi nama file yang disimpan diberinama jamAnalog.java import java.awt.*; import java.applet.*; import java.util.Date; public class jamAnalog extends Applet implements Runnable { // Membuat Deklarasi Thread runner; public void paint(Graphics g) { // Membuat latar belakang berwarna putih g.setColor(Color.white); g.fillRect(0, 0, size().width, size().height); // membuat nilai titik tengah dari jendela Point p = new Point(size().width / 2, size().height / 2); // Menentukan Panjang Jarum int jarum_detik = 85, jarum_menit = 69, jarum_jam = 50; // Mengambil Waktu Sekarang Date dt = new Date(); int detik = dt.getSeconds(); int menit = dt.getMinutes(); int jam = dt.getHours(); // Menghitung besarnya sudut double sudut_det = detik * Math.PI * 2 / 60.0; double sudut_men = menit * Math.PI * 2 / 60.0; double sudut_jam = jam * Math.PI * 2 / 12.0 + sudut_men / 12.0; // Menentukan nilai posisi Jarum pada sudut tertentu int det_x = (int) (p.x + jarum_detik * Math.sin(sudut_det)); int det_y = (int) (p.y - jarum_detik * Math.cos(sudut_det)); int men_x = (int) (p.x + jarum_menit * Math.sin(sudut_men)); int men_y = (int) (p.y - jarum_menit * Math.cos(sudut_men)); int jam_x = (int) (p.x + jarum_jam * Math.sin(sudut_jam)); int jam_y = (int) (p.y - jarum_jam * Math.cos(sudut_jam));
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
// Membuat lingkaran berwarna hitam (bingkai Jam) g.setColor(Color.black); g.drawOval(p.x - 90, p.y - 90, 180, 180); // Membuat Jarum detik berwarna merah g.setColor(Color.red); g.drawLine(p.x, p.y, det_x, det_y); // Membuat Jarum menit berwarna hitam g.setColor(Color.black); g.drawLine(p.x, p.y, men_x, men_y); // Membuat Jaum jam berwarna biru g.setColor(Color.BLUE); g.drawLine(p.x, p.y, jam_x, jam_y); // Membuat lingkaran pusat g.setColor(Color.DARK_GRAY); g.fillOval(p.x - 6, p.y - 6, 12, 12); // Membuat Tulisan Angka g.setFont(new Font("Dialog", Font.BOLD, 16)); g.drawString("12", p.x - 4, p.y - 75); g.drawString("3", p.x + 75, p.y + 2); g.drawString("6", p.x - 2, p.y + 85); g.drawString("9", p.x - 85, p.y + 2); } public void update(Graphics g) { paint(g); } public void start() { runner = new Thread(this); runner.start(); } public void run() { while (true) { try { // Waktu delay runner.sleep(1000); } catch (Exception e) {} repaint(); } } } // Akhir list program membuat kelas jamAnalog
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Berikut ini list program file html yang diberi nama jamAnalog.html yang dapat dijalankan pada browser atau halaman web
Jam Analog
Pada list program diatas terdapat “jamAnalog.class” yang berfungsi untuk memanggil kelas jamanalog yang telah dibuat sebelumnya. Sehingga kita dapat menjalankan file jamAnalog.html pada browser atau halaman web untuk dapat melihat tampilan aplikasi jam analog yang telah kita buat. Langkah-langkah mengeksekusi dan menjalankan aplikasi jam analog Untuk mengeksekusi dan menjalankan aplikasi jam analog, kita harus memastikan sudah menginstal j2sdk. Setelah itu langkah pertama yang dilakukan adalah membuka program command prompt, selanjutnya eksekusi dan jalankan aplikasi jam analog dengan list program berikut ini : Javac jamAnalog.java Appletviewer jamAnalog.html
Berikut ini adalah gambar tampilan aplikasi jam analog yang berhasil dijalankan :
gambar : tampilan aplikasi jam analog
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Untuk mejalankan aplikasi jam analog pada browser atau halaman website yang perlu kita lakukan adalah dengan memasukkan url jamanalog.html sesuai dengan lokasi file jamanalog.html yang telah dibuat. Berikut ini penulis menyimpan file jamAnalog.html pada lokasi ”C:\Documents and Settings\RATIH SD\Java\jdk1.6.0_07\bin\jamAnalog.html”, kemudian url tersebut dimasukkan kedalam alamat browser. Sehingga aplikasi jam analog dapat dijalankan pada browser atau halaman website. Seperti gambar dibawah ini :
gambar : tampilan aplikasi jam analog pada browser atau halaman webstie
Penutup Dalam pembuatan jam analog menggunakan applet kita tidak hanya dapat menjalankan aplikasi jam analog pada program command prompt dengan list program appletviewer, akan tetapi dengan applet kita dapat menjalankan aplikasi jam analog pada browser atau halaman webstie. Demikianlah artikel ini dibuat, semoga artikel ini dapat bermanfaat bagi para pembaca dan semoga pembaca dapat mencoba membuat jam analog menggunakan applet.
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Referensi Javaku.wordpress.com,AdiPurnomo(2007).http://javaku.wordpress.com/2007/12/07/ja m-analog/ http://rahmat-jas.blogspot.com/2011/07/membuat-jam-analog-menggunakan-java.html http://ibnu-science.blogspot.com/p/blog-page_3692.html http://meldhycom.blogspot.com/2013/04/applet-dan-contoh-programnya.html http://www.termasmedia.com/2012-05-29-02-56-17/java/220-cara-mengkompilasi-danmenjalankan-program-applet-java.html
Biografi Wiranti Sri Utami. Lahir di Tangerang, pada bulan November. Telah menyelesaikan pendidikan dasar dan menengah di SD Negeri 2 Teluknaga dan SMP Negeri 1 Teluknaga. Menamatkan SMA di SMA Negeri 6 Tangerang pada tahun 2008. Menempuh pendidikan Profesional IT selama 2 tahun di CEP-CCIT FTUI (Continuing Education Program - Center for Computing Information Technology Faculty of Engineering - University of Indonesia), jurusan Software Engineering – Java Programming pada tahun 2008-2010. Saat ini wiranti bekerja di Lion Air Bandara Soekarno-Hatta sebagai Administrator dan melanjutkan kuliah S1 di STMIK Raharja mengambil jurusan Teknik Informatika, konsentrasi Software Engeenering. Informasi lebih lanjut dapat melalui email penulis :
[email protected]
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org