Makalah Pemrograman Java Jam Analog Digital
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
( 11520241010 ) ( 11520241013 )
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
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
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.
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);
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
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);
} }
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(); }
Tampilan :
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