Anda di halaman 1dari 16

MAKALAH PEMROGRAMAN JAVA JAM ANALOG DIGITAL

Makalah ini dibuat guna memenuhi salah satu tugas mata kuliah Teori Pemrograman 2 di UNIVERSITAS NEGERI YOGYAKARTA

Oleh : KELOMPOK 6

1. Zein Syahida Kusuma Putra ( 11520241002 ) 2. Hanum Rosyidah F. 3. Siti Mahmudah

( 11520241010 ) ( 11520241013 )

PENDIDIKAN TEKNIK IFORMATIKA UNIVERSITAS NEGERI YOGYAKARTA 2012

KATA PENGANTAR Assalammualaikum wr.wb Segala puji syukur kehadiran Allah SWT yang telah memberikan rahmat dan hidayah- Nya kepada kita semua sebagai hamban-Nya sehingga penulis dapat menyelesaikan makalah yang berjudul Jam Analog Digital Penulis mengucapakan terimakasih kepada : 1. Orang tua yang mendukung kami. 2. Dosen pemrograman java 2 Bapak Totok Sukardiyono. MT
3. Keluarga besar Teknik elektronika Universitas Negeri Yogyakarta. 4. Semua pihak yang telah membantu dan mendukung dalam penulisan

makalah ini. Penulis menyadari bahwa penulisan makalah ini banyak terdapat kekurangan . Oleh karena itu, kami berharap saran dan kritik dari berbagai pihak guna menyempurnakan makalah ini di masa masa mendatang. Semoga dengan terselesainya malakah ini dapat memeberikan manfaat kepada pembaca dan kepada masyarakat. Wassalamualaikum wr.wb

Yogyakarta, 11 April 2012 Penulis .

Pemrograman Java 2

BAB I PENDAHULUAN
A. Latar Belakang Pesatnya pekembangan teknologi, terutama teknologi komputer saat ini sudah tidak dapat dipungkiri lagi.Ibarat wabah, teknologi komputer sudah menyusup hampir semua bidang kehidupan manusia. Dari tingkat pemerintah pusat sampai tingkat pemerintah desa, perusahaan, supermarket, perguruan tinggi, SLTA, SLTP, bahkan SD hampir semuanya mengenal dan menggunakan komputer dalam aktivitasnya. Saat ini, yang mempunyai lingkungan yang semakin luas dan banyak diminati, dan juga dapat digunakan untuk menghasilkan uang adalah dunia pemrograman komputer. Dalam dunia pemrograman komputer, dikenal banyak bahasa pemrograman, seperti C, C++, Pascal, Basic, Java, dan masih banyak lagi bahasa pemrograman yang lain . Pengertian Bahasa pemrograman sendiri adalah teknik komunikasi standar untuk mengekspresikan instruksi kepada komputer. Layaknya bahasa manusia, setiap bahasa memiliki tata tulis dan aturan tertentu. Bahasa pemrograman memfasilitasi seorang programmer untuk secara spesifik apa yang akan dilakukan oleh komputer selanjutnya, bagaimana data tersebut disimpan dan dikirim, dan apa yang akan dilakukan apabila terjadi kondisi yang variatif. Bahasa pemrograman dapat diklasifikasikan menjadi tingkat rendah, menengah, dan tingkat tinggi. Pergeseran tingkat dari rendah menuju tinggi menunjukkan kedekatan terhadap bahasa manusia 1. Bahasa Pemrograman Tingkat Tinggi Merupakan bahasa tingkat tinggi yang mempunyai ciri-ciri mudah dimengerti karena kedekatannya terhadap bahasa sehari hari. Sebuah pernyataan program diterjemahkan kepada sebuah atau beberapa mesin dengan menggunakan compiler.Sebagai contoh adalah : java, c++, .net 2. Bahasa Pemrograman Tingkat Rendah Bahasa pemrograman generasi pertama. Bahasa jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin. Disebut juga dengan bahasa assembly merupakan bahasa dengan pemetaan satu persatu terhadap instruksi komputer. Setiap intruksi assembly diterjemahkan dengan menggunakan assembler.

Pemrograman Java 2

3. Bahasa Pemrograman Tingkat Menengah Dimana penggunaan instruksi telah mendekati bahasa sehari hari, walaupun masih cukup sulit untuk dimengerti karena menggunakan singkatan singkatan seperti STO yang berarti simpan ( STORE ) dan MOV yang artinya pindah ( MOVE ). Yang tergolong dalam bahasa ini adalah Fortran Di antara banyaknya bahasa pemrograman, Java adalah salah satu yang paling dinikmati. Oleh karena itulah, yang akan dibahas dalam makalah ini adalah bahasa pemrograman Java. B. Tujuan Makalah ini disusun dengan tujuan sebagai sarana untuk mengikuti pesatnya perkembangan teknologi komputer di masa sekarang ini, salah satunya di dunia bahasa pemrograman yang sekarang semakin banyak diminati. Selain itu, makalah ini di buat mengetahui cara membuat jam analog digital dengan menggunakan pemrograman bahasa java.

BAB I
Pemrograman Java 2 4

PEMBAHASAN DAN ANALISA PROGRAM


A. Java AWT Paket AWT sebuah paket yang telah ada dalam Java yang dapat digunakan untuk merancang GUI (Graphical User Interface). Programprogram modern sekarang ini biasanya dibuat dalam bentuk form, dialog box, dan menu. Dengan GUI, user dapat melakukan pilihan secara cepat dan mudah dengan menggunakan mouse. Abstract Window Toolkit disebut toolkit karena didalamnya tersedia class-class yang telah dirancang untuk membuat GUI. Paket AWT termasuk paket jadi untuk setiap versi Java. Berbeda dengan AWT, JSwing juga merupakan paket dari Java untuk merancang GUI tetapi paket JSwing ini merupakan paket tambahan yang harus di download secara terpisah. GUI (Graphical User Interface) Sistem yang dirancang secara grafik untuk mempermudah interaksi dengan user dikenal dengan istilah GUI. Program AWT dirancang menggunakan event dan event-handlers. Sebuah event merupakan aksi dari suatu komponen GUI seperti penekanan mouse (mouse clicked) , penggeseran mouse (mouse dragged), penekanan tomboh (key pressed), pemilihan komponen menu dan lain-lain. Sebuah objek seperti button akan membangkitkan event. Bila sebuah button ditekan maka button tersebut akan melakukan aksinya (firing the event). Aksi yang akan dilakukan oleh button itu akan dikerjakan oleh sebuah objek yang dikenal dengan sebutan listener object. Anda sebagai programmerlah yang harus menentukan objek apa yang akan menjadi listener object untuk sebuah objek yang membangkitkan event. Sebagai contoh, bila anda klik mouse pada sebuah objek button (tombol), dan button tersebut memiliki listener object maka aksi dari penekanan tombol itu akan langsung dikirim ke listener object tersebut. Sebuah listerner object memiliki metode-metode yang menentukan apa yang akan terjadi pada saat button tersebut ditekan. Metode-metode ini dikenal dengan istilah event-handlers.

B. JFrame

Pemrograman Java 2

Kelas JFrame merupakan kelas yang paling sering digunakan untuk membuat program Java jenis aplikasi. Nama lengkapnya adalah javax.swing.JFrame. Ada beberapa konstruktor yang dapat digunakan, yaitu: 1. JFrame() Membuat frame baru dengan inisialisasi kosong. Semua properti akan diatur kemudian. 2. JFrame(GraphicsConfiguration gc) Membuat frame baru dengan memberikan nilai awal untuk GraphicsConfiguration. 3. JFrame(String title) Membuat frame baru dengan memberikan nilai awal untuk title bar. 4. JFrame(String title, GraphicsConfiguration gc) Membuat frame baru dengan memberikan nilai awal untuk title dan Graphics Configuration. C. Analisa Pemrograman Code : import javax.swing.JFrame; import javax.swing.JPanel; import java.awt.Polygon; import java.awt.Color; import java.awt.Graphics;// paket grafik

import java.awt.Font; // fungsi sebagai syarat penggunaan komponen yang ada dalam system java. import javax.swing.*; import java.awt.event.*; import java.awt.*; import java.util.Date;

// nama kelas

: Jam analog
6

Pemrograman Java 2

// kontrol akses : public // Extends kelas : Jpanel public class Jamanalog2 extends JPanel { int centerPointX; int centerPointY; int xs; int ys; Font waktuFont; Date currentDate;

public Jamanalog2() { setBackground(new Color(0, 0, 0)); JFrame frame = new JFrame("JAM"); frame.add(this); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // digunakan untuk memberikan buffer program/ menutuo aplikasi frame.setSize(500, 500);// menentukan besar frame dimana dalam program ini ukuran yang digunakan 500 x 500 pixel frame.setLocationRelativeTo(null);// digunakan untuk menetukan frame dalam satuan pixel( pada aplikasi ini frame akan berposisi di tengah frame.setVisible(true);// akan menampilkan frame dilayar.Jika method ini tidak digunakan maka aplikasi tidak akan tampil selain menggunakan method tersebut juga menggunakam method show Tugas digi = new Tugas();// memanggil sebuah bjek dari kelas tugas.

// loop update jam while (true) {//melakukan perulangan hingga benar


Pemrograman Java 2 7

repaint(); try { Thread.sleep(100);// menunggu 100 untuk mengeset detik } catch (Exception exception) { exception.printStackTrace(); } } } public void paint(Graphics g) { centerPointX = getSize().width / 2; centerPointY = getSize().height / 2; currentDate = new Date(); int s = currentDate.getSeconds(); int s_minus_five = s - 5; int s_add_five = s + 5; // mengammbar second xs = (int) (Math.cos(s * Math.PI/ 30 - Math.PI / 2) * 170 + centerPointX);//top x ys = (int) (Math.sin(s * Math.PI / 30 - Math.PI / 2) * 170 + centerPointY);//top y int xsm = (int) (Math.cos(s_minus_five * Math.PI / 30 - Math.PI / 2) * 5 + centerPointX); int ysm = (int) (Math.sin(s_minus_five * Math.PI / 30 - Math.PI / 2) * 5 + centerPointY); int xsa = (int) (Math.cos(s_add_five * Math.PI / 30 - Math.PI / 2) * 5 + centerPointX); int ysa = (int) (Math.sin(s_add_five * Math.PI / 30 - Math.PI / 2) * 5 + centerPointY);

// menggambar menit int m = currentDate.getMinutes();


Pemrograman Java 2 8

int m_minus_ten = m - 10; int add_ten = m + 10; int xm = (int) (Math.cos(m * Math.PI / 20 - Math.PI / 2) * 170 + centerPointX);//top x int ym = (int) (Math.sin(m * Math.PI / 20 - Math.PI / 2) * 170 + centerPointY);//top y int xmm = (int) (Math.cos(m_minus_ten * Math.PI / 20 - Math.PI / 2) * 10 + centerPointX);//Left width (X) int ymm = (int) (Math.sin(m_minus_ten * Math.PI / 20 - Math.PI / 2) * 10 + centerPointY);//Left Kanan (Y) int xma = (int) (Math.cos(add_ten * Math.PI / 20 - Math.PI / 2) * 10 + centerPointX);//right x int yma = (int) (Math.sin(add_ten * Math.PI / 20 - Math.PI / 2) * 10 + centerPointY);// right y

// menggambar penujuk jam int h = currentDate.getHours(); int h_minus_ten = h - 10; int h_add_ten = h + 10; int xh = (int) (Math.cos(h * Math.PI / 6 - Math.PI / 2 ) * 100 + centerPointX);//top x int yh = (int) (Math.sin(h * Math.PI / 6 - Math.PI / 2) * 100 + centerPointY);//top y int xhm = (int) (Math.cos(h_minus_ten * Math.PI / 6 - Math.PI / 2) * 10 + centerPointX);// left width x int yhm = (int) (Math.sin(h_minus_ten * Math.PI / 6 - Math.PI / 2) * 10 + centerPointY);//left widthy int xha = (int) (Math.cos(h_add_ten * Math.PI / 6 - Math.PI / 2) * 10 + centerPointX);// right x int yha = (int) (Math.sin(h_add_ten * Math.PI / 6 - Math.PI / 2) * 10 + centerPointY);// right y

// Oval membuat lingkaran jam


Pemrograman Java 2 9

int ovalWidth = 400; int ovalHeight = 400; Graphics2D g2d = (Graphics2D) g; super.paint(g2d); // memberi warna background jam Color penColor = new Color(120, 120, 120); //memberi warna background bagian samping: warna hitam Color penColor2 = new Color(0, 0, 0);

//backround color g2d.setColor(penColor); g2d.fillOval(((getSize().width) /2) - (ovalWidth /2), ((getSize().height) / 2) - (ovalHeight / 2), ovalWidth, ovalHeight);// menentukan posisi pada lingkaran jam //Tulisan"tampilan digital" g2d.setColor(penColor2); waktuFont = new Font("Matura MT Script Capitals", Font.BOLD, 20); g2d.setFont(waktuFont);// mengeset font g2d.drawString(Tugas.getoutput(), centerPointX - 60, centerPointY - 100);// menentukan letak cordinat dari jam //membuat angka ajam waktuFont = new Font("Bradley Hand ITC", Font.BOLD, 50); g2d.setFont(waktuFont); g2d.drawString("10", centerPointX -160, centerPointY - 60); g2d.drawString("4", centerPointX +120, centerPointY + 100); g2d.drawString("5", centerPointX +50, centerPointY + 160); g2d.drawString("1", centerPointX +60, centerPointY - 120); g2d.drawString("2", centerPointX +110, centerPointY - 60);
Pemrograman Java 2 10

g2d.drawString("11", centerPointX -110, centerPointY - 120); g2d.drawString("12", centerPointX -30, centerPointY - 150); g2d.drawString("8", centerPointX -150, centerPointY +100); g2d.drawString("7", centerPointX -90, centerPointY +140); g2d.drawString("6", centerPointX -20, centerPointY + 170); g2d.drawString("3", centerPointX + 140, centerPointY + 13); g2d.drawString("9", centerPointX - 170, centerPointY + 13); //menggambara second pointer int[] coordinateXs = {centerPointX, xsm, xs, xsa}; int[] coordinateYs = {centerPointY, ysm, ys, ysa}; g2d.fillPolygon(coordinateXs, coordinateYs, 4);

//menggambarkan menit pointer int[] coordinateXm = {centerPointX, xmm, xm, xma}; int[] coordinateYm = {centerPointY, ymm, ym, yma}; g2d.fillPolygon(coordinateXm, coordinateYm, 4); int[] coordinateXh = {centerPointX, xhm, xh, xha}; int[] coordinateYh = {centerPointY, yhm, yh, yha}; g2d.fillPolygon(coordinateXh, coordinateYh, 4);

// Menggambar garis detik for (int i = 1; i <=360; i++) {

} }

Pemrograman Java 2

11

public static void main(String[] args) { JPanel data = new JPanel(); Tugas coba = new Tugas(); JPanel digit = new JPanel(); coba.setSize(20, 90); coba.show(); Jamanalog2 sac = new Jamanalog2(); data.add("Digit", digit); } }

class Tugas extends JPanel { // Deklarasi komponen Label JPanel digit = new JPanel(); static JLabel tampil_jam = new JLabel(); // Konstruktor public Tugas() { tampil_jam.setFont(new Font("Dialog", 1, 30)); // ActionListener untuk Timer ActionListener taskPerformer = new ActionListener() { public void actionPerformed(ActionEvent evt) { String nol_jam = ""; String nol_menit = ""; String nol_detik = ""; // Date Date dt = new Date();
Pemrograman Java 2 12

// update JAM, MENIT, dan DETIK Sekarang int nilai_jam = dt.getHours(); int nilai_menit = dt.getMinutes(); int nilai_detik = dt.getSeconds(); if (nilai_jam <= 9) { nol_jam = "0"; } if (nilai_menit <= 9) { nol_menit = "0"; } if (nilai_detik <= 9) { nol_detik = "0"; } String jam = nol_jam + Integer.toString(nilai_jam); String menit = nol_menit + Integer.toString(nilai_menit); String detik = nol_detik + Integer.toString(nilai_detik);

// tampilan jam tampil_jam.setText(" " + jam + " : " + menit + " : " + detik + " "); } }; new Timer(1000, taskPerformer).start(); }

public static String getoutput(){ return tampil_jam.getText();


Pemrograman Java 2 13

Tampilan :

BAB III PENUTUP

Pemrograman Java 2

14

Kesimpulan Beberapa fasilitas yang di sediakan package java.awt adalah : 1. pengaturan tata letak (layout management) komponen dalam suatu container. 2. mendukung event handling, yaitu mekanisme pendeteksian event dan penentuan respona yang akan di berikan ketika pengguna (user) mengakses komponen tersebut. 3. manipulasi grafis dari komponen,seperti font, warna,icon, dsb. Selain package java.awt, java juga memiliki package javax.swing,untuk membuat komponen GUI.swing lebih portable daripada AWT kerena beberapa komponennya bersifat multi platform sehingga di sebut juga lightweight

DAFTAR PUSTAKA
http://www.informatika.unsyiah.ac.id/tfa/pbo/AWT.pdf

http://wijaya.net84.net/

Pemrograman Java 2

15

Pemrograman Java 2

16