Pada postingan kali ini saya akan membagiakan sebuah source code untuk menghitung umur dengan menggunakan Java Netbeans. Dimana untuk source codenya saya menyediakan 2 metode inputan yang digunakan yaitu metode Scanner dan JOptionPane, jadi kalian bisa pilih metode mana yang akan digunakan entah itu Scanner ataupun JOptionPane.
Berikut source codenya:
Metode Input Scanner
packagemenghitung_umur; //sesuaikan dengan nama package yg anda buatimportjava.text.DateFormat;
importjava.text.SimpleDateFormat;
importjava.util.Date;
importjava.util.Scanner;
/**
*
* @author Padma Ekayasa
*/publicclassMenghitung_Umur_Scanner { //sesuaikan dengan nama class yg anda buatprivatestaticDateFormat tanggal, bulan, tahun;
privatestaticDate date;
privatestaticScanner scanner;
privatestaticString inputan;
publicstaticvoidmain(String[] args) {
tanggal =newSimpleDateFormat("dd");
bulan =newSimpleDateFormat("MM");
tahun =newSimpleDateFormat("yyyy");
date =newDate();
scanner =newScanner(System.in);
System.out.print("Masukkan Tanggal Lahir (tgl-bulan-tahun) : ");
inputan = scanner.nextLine();
int tanggalLahir =Integer.parseInt(inputan.substring(0, 2));
int bulanLahir =Integer.parseInt(inputan.substring(3, 5));
int tahunLahir =Integer.parseInt(inputan.substring(6, 10));
int tanggalHari =Integer.parseInt(tanggal.format(date));
int bulanHari =Integer.parseInt(bulan.format(date));
int tahunHari =Integer.parseInt(tahun.format(date));
int totalTahun = tahunHari - tahunLahir;
System.out.println("Umur Anda adalah : "+totalTahun);
}
}
Metode Input JOptionPane
packagemenghitung_umur; //sesuaikan dengan nama package yg anda buatimportjava.text.DateFormat;
importjava.text.SimpleDateFormat;
importjava.util.Date;
importjavax.swing.JOptionPane;
/**
*
* @author Padma Ekayasa
*/publicclassMenghitung_Umur_JOptionPane { //sesuaikan dengan nama class yg anda buatprivatestaticDateFormat tanggal, bulan, tahun;
privatestaticDate date;
privatestaticString inputan;
publicstaticvoidmain(String[] args) {
tanggal =newSimpleDateFormat("dd");
bulan =newSimpleDateFormat("MM");
tahun =newSimpleDateFormat("yyyy");
date =newDate();
inputan =JOptionPane.showInputDialog("Masukkan Tanggal Lahir (tgl-bulan-tahun): ");
int tanggalLahir =Integer.parseInt(inputan.substring(0, 2));
int bulanLahir =Integer.parseInt(inputan.substring(3, 5));
int tahunLahir =Integer.parseInt(inputan.substring(6, 10));
int tanggalHari =Integer.parseInt(tanggal.format(date));
int bulanHari =Integer.parseInt(bulan.format(date));
int tahunHari =Integer.parseInt(tahun.format(date));
int totalTahun = tahunHari - tahunLahir;
JOptionPane.showMessageDialog(null,"Umur Anda Adalah: "+totalTahun);
}
}
Sekian untuk postingan kali ini, semoga bermanfaat..
Pada postingan kali ini saya akan memberikan source code cara untuk menentukan tahun kabisat. Tahun kabisat adalah tahun yang mengalami penambahan satu hari dengan tujuan untuk menyesuaikan penanggalan dengan tahun astronomi. Dalam satu tahun tidak secara persis terdiri dari 365 hari, tetapi 365 hari 5 jam 48 menit 45,1814 detik. Jika hal ini tidak dihiraukan, maka setiap 4 tahun akan kekurangan hampir 1 hari (tepatnya 23 jam 15 menit 0,7256 detik). Maka untuk mengkompensasi hal ini, setiap 4 tahun sekali (tahun yang bisa dibagi 4) diberi 1 hari ekstra: 29 Februari. Tetapi karena 5 jam 48 mentit 45,1814 detik kurang dari 6 jam, maka tahun-tahun yang bisa dibagi 100 (seperti tahun 1900) bukan tahun kabisat, kecuali bisa dibagi dengan 400 (seperti tahun 2000).
Terdapat algoritma untuk menentukan suatu tahun termasuk tahun kabisat atau bukan, yaitu sebagai berikut:
Jika angka tahun itu habis dibagi 400, maka tahun itu sudah pasti tahun kabisat.
Jika angaka tahun itu tidak habis dibagi 400 tetapi habis dibagi 100, maka tahun itu sudah pasti bukan merupakan tahun kabisat.
Jika angka tahun itu tidak habis dibagi 400, tidak habis dibagi 100, akan tetapi habis dibagi 4, maka tahun itu merupakan tahun kabisat.
Jika angka tahun tidak habis dibagi 400, tidak habis dibagi 100 dan tidak habis dibagi 4, maka tahun tersebut bukan merupakan tahun kabisat.
Berikut source codenya:
package tugas.oop_190417; //sesuaikan dengan nama package yg anda buatimport java.util.Scanner;
/**
*
* @author Padma Ekayasa
*/publicclassTahun_Kabisat { //sesuaikan dengan nama class yg anda buatpublicstaticvoid main(String[] args) {
String a ="Tahun Kabisat";
String b ="Bukan Tahun Kabisat";
int tahun;
Scanner input=new Scanner(System.in);
//penginputan tahun dibatasi dari 1900 sampai 2020System.out.print("Masukan Tahun (1900-2020): ");
tahun=input.nextInt();
if (tahun<1900){
System.out.println("Maaf, Tahun Input Dibawah 1900");
}
elseif (tahun>2020){
System.out.println("Maaf, Tahun Input Diatas 2020");
}
elseif (tahun%400==0){
System.out.println("Tahun "+ tahun +" Adalah "+ a);
}
elseif (tahun%400!=0 || tahun%100==00){
System.out.println("Tahun "+ tahun +" "+ b);
}
elseif(tahun%400!=0 || tahun%100!=00 || tahun%4==0){
System.out.println("Tahun "+ tahun +" Adalah "+ a);
}else{
System.out.println("Tahun "+ tahun +" "+ b);
}
}
}
Pada postingan sebelumnya saya telah membahas mengenai cara untuk menentukan bilangan ganjil/genap dimana user hanya menginputkan satu buah bilangan, nah untuk postingan kali ini masih berkaitan dengan postingan sebelumnya dimana disini kita akan kembali menentukan bilangan ganjil/genap namun disini user akan menginputkan 2 buah bilangan.
Keywords:
- Array
- Perulangan For - Percabangan If-Else - Operator Modulus (%)
Berikut Source Codenya:
packagetugas.oop_190417; //sesuaikan dengan nama package yg anda buatimportjavax.swing.JOptionPane;
/**
*
* @author Padma Ekayasa
*/publicclassBilangan_GanjilGenap { //sesuaikan dengan nama class yg anda buatpublicstaticvoidmain(String[] args) {
int[] bilangan =newint[2];
int bil1,bil2;
int i;
//membuat perulangan dari inputan user, dimana perulangan //akan menampilkan output untuk menginputkan angka sebanyak 2 kalifor (i =0; i<2; i++){
String nilai =JOptionPane.showInputDialog("Masukkan Bilangan: ");
bilangan[i] =Integer.parseInt(nilai);
System.out.println("Input Bilangan: "+nilai);
}
//menentukan bilangan ganjil genapfor (i=0; i<2; i++){
if (bilangan[i] %2==1){
System.out.println("Bilangan "+bilangan[i]+" GANJIL");
}
elseSystem.out.println("Bilangan "+bilangan[i]+" GENAP");
}
}
}
Dimana kali ini saya akan memberikan source code untuk membuat sebuah program mencari nilai terbesar (max) dan nilai terkecil (min), dimana nilai yang diinputkan oleh user minimal inputan 10 kali.
Keywords:
- Array
- Perulangan For - Percabangan If-Else
Berikut source codenya:
packagemodul3;
importjavax.swing.JOptionPane;
/**
*
* @author Padma Ekayasa
*/publicclassNilai_MaxMin {
publicstaticvoidmain(String[] args) {
int[] nilai =newint[10];
int max,min;
int i;
//membuat perulangan dari inputan user, dimana perulangan//akan menampilkan output untuk menginputkan angka sebanyak 10 kalifor (i =0; i<10; i++)
{
String bilangan =JOptionPane.showInputDialog("Masukkan Nilai: ");
nilai[i] =Integer.parseInt(bilangan);
System.out.println("Input Angka: "+bilangan);
}
//inisialisasi variabel min dan max dengan membuat kedua variable tersebut memiliki nilai array dari angka
min=nilai[0];
max=nilai[0];
//menghitung nilai max dan nilai minfor (i=0; i<10; i++){
if(nilai[i] > max){
max = nilai[i];
}
elseif(nilai[i] < min){
min = nilai[i];
}
}
System.out.println("--------------------------------");
System.out.println("Nilai Max = "+max);
System.out.println("Nilai Min = "+min);
}
}
Pada postingan kali ini, saya akan memberikan source code untuk membuat sebuah program mencari nilai rata-rata, dimana nilai yang diinputkan oleh user minimal inputan 10 kali.
Dalam coding kali ini saya menggunakan konsep Array. Dimana Array merupakan sebuah struktur data yang terdiri atas banyak variabel dengan tipe data yang sama, dimana masing-masing elemen variabel mempunyai nilai indeks.
Keywords:
- Array
- Perulangan For
Berikut source codenya:
packagemodul3;
importjavax.swing.JOptionPane;
/**
*
* @author Padma Ekayasa
*/publicclassNilai_RataRata {
publicstaticvoidmain(String[] args) {
int[] nilai =newint[10];
double nilairata =0;
int i;
//membuat perulangan dari inputan user, dimana perulangan //akan menampilkan output untuk menginputkan angka sebanyak 10 kalifor (i =0; i<10; i++)
{
String bilangan =JOptionPane.showInputDialog("Masukkan Nilai: ");
nilai[i] =Integer.parseInt(bilangan);
System.out.println("Input Angka: "+bilangan);
}
//menghitung rata-ratafor (i=0; i<10; i++)
nilairata += nilai[i];
nilairata = nilairata/i;
System.out.println("---------------------------------");
System.out.println("Nilai Rata-Rata = "+" "+nilairata);
System.exit(0);
}
}
Pada postingan kali ini, saya akan memberikan source code untuk menentukan sebuah bilangan apakah bilangan tersebut bernilai ganjil atau bernilai genap.
Bilangan Ganjil: Bilangan yang jika dibagi dua memiliki sisa pembagian (1)
Bilangan Genap: Bilangan yang jika dibagi dua tidak memiliki sisa pembagian (0)
Pada coding ini, kita akan menggunakan sebuah Operator Aritmatika yang disebut Operator Modulus (%). Operator modulus merupakan sebuah operator yang digunakan untuk sebuah operasi yang menghasilkan sisa pembagian dari suatu bilangan terhadap bilangan lainnya.
Pada postingan kali ini saya akan memberikan sebuah cara atau lebih tepatnya source code untuk menghitung Luas dan Keliling Segitiga, dengan metode input BufferedReader, Scanner dan JOptionPane pada Java Netbeans
Metode Input BufferedReader
package segitiga; // sesuaikan dengan nama package yang kalian buatimportjava.io.BufferedReader;
importjava.io.InputStreamReader;
importjava.io.IOException;
importstaticjava.lang.Math.sqrt;
/**
*
* @author Padma Ekayasa
*/publicclass Segitiga_BufferedReader {
publicstaticvoid main(String[] args) {
int a,t;
double m, kll,luas;
BufferedReader segitiga =new BufferedReader(new InputStreamReader(System.in));
System.out.print("Masukkan Alas: ");
try{
String nilaiA = segitiga.readLine();
a = Integer.parseInt(nilaiA);
System.out.print("Masukkan Tinggi: ");
String nilaiT = segitiga.readLine();
t = Integer.parseInt(nilaiT);
System.out.println("");
//menghitung luas
luas =0.5*a*t;
System.out.println("Luasnya Adalah: "+luas);
//menghitung sisi miring
m =sqrt((a*a)+(t*t));
//menghitung keliling
kll = a+t+m;
System.out.println("Kelilingnya adalah: "+kll);
}catch (IOException e){
System.out.println("Error!!");
}
}
}
Metode Input Scanner
package segitiga; // sesuaikan dengan nama package yang kalian buatimportstaticjava.lang.Math.sqrt;
importjava.util.Scanner;
/**
*
* @author Padma Ekayasa
*/publicclass Segitiga_Scanner {
publicstaticvoid main(String[] args) {
int a,t;
double m, kll,luas;
Scanner segitiga =new Scanner(System.in);
System.out.print("Masukkan Alas: ");
a = segitiga.nextInt();
System.out.print("Masukkan Tinggi: ");
t = segitiga.nextInt();
System.out.println("");
//menghitung luas
luas =0.5*a*t;
System.out.println("Luasnya adalah: "+luas);
//menghitung sisi miring
m =sqrt((a*a)+(t*t));
//menghitung keliling
kll = a+t+m;
System.out.println("Kelilingnya adalah: "+kll);
}
}
Metode Input JOptionPane
package segitiga; // sesuaikan dengan nama package yang kalian buatimportstaticjava.lang.Math.sqrt;
import javax.swing.JOptionPane;
/**
*
* @author Padma Ekayasa
*/publicclass Segitiga_JOptionPane {
publicstaticvoid main(String[] args) {
int a,t;
double m, luas,kll;
String nilaia = JOptionPane.showInputDialog("Masukkan Alas: ");
a = Integer.parseInt(nilaia);
String nilait = JOptionPane.showInputDialog("Masukkan Tinggi: ");
t = Integer.parseInt(nilait);
//menghitung luas
luas =0.5*a*t;
JOptionPane.showMessageDialog(null,"Luasnya adalah: "+luas);
//menghitung nilai sisi miring
m =sqrt((a*a)+(t*t));
//menghitung keliling
kll = a+t+m;
JOptionPane.showMessageDialog(null,"Kelilingnya adalah: "+kll);
}
}
Sekian untuk postingan kali ini,
Semoga Bermanfaat...
Setelah selesai menginstal MySQL Connector, Aktifkan/Start MySQL pada XAMPP
Buka SQLyog, dan buat database "latihan" serta buat tabel "tblkaryawan"
database "latihan"
tabel "tblkaryawan"
Setelah selesai membuat database, buka Visual Studio 2010 dan buat New Project
Buat New Project dengan nama "Latihan"
Pada Solution Explorer, klik kanan pada Form1.vb pilih Rename dan ubah menjadi "karyawan.vb"
before
after
Selanjutnya buat tampilan aplikasi untuk memasukkan data karyawan, seperti dibawah ini.
Atur properties komponen tersebut seperti tabel dibawah
Pada Solution Explorer, klik kanan pada Latihan pilih Add kemudian pilih Class, beri nama Class dengan nama "koneksi.vb"
Jika sudah membuat Class koneksi, sebelum masuk ke coding kita harus menambahkan komponen Reference untuk MySQL Data. Cari menu Project lalu pilih Add Reference
Pada kotak dialog Add Reference pada tab .NET pilih Mysql.Data lalu Ok.
Setelah selesai menambahkan komponen Mysql Data, saatnya menambahkan coding. Masukkan coding dibawah pada Class koneksi, fungsinya adalah untuk mengkoneksikan database dengan visual basic.
Imports System.Data
Imports System.Data.OleDb
Imports MySql.Data.MySqlClient
Public Class koneksi
Protected SQL As String
Protected Cn As New MySqlConnection
Protected Cmd As New MySql.Data.MySqlClient.MySqlCommand
Protected Da As New MySql.Data.MySqlClient.MySqlDataAdapter
Protected Ds As New DataSet
Protected Dt As DataTable
Public Function OpenConn() AsBoolean
Cn = New MySqlConnection("server=localhost;" _
& "user id=root;" _
& "password=;" _
& "database=latihan")
Cn.Open()
If Cn.State<>ConnectionState.Open Then
Return False
Else
Return True
End If
End Function
Public Sub CloseConn()
If Not IsNothing(Cn) Then
Cn.Close()
Cn = Nothing
End If
End Sub
Public Function ExecuteQuery(ByVal Query As String) As DataTable
If Not OpenConn() Then
MsgBox("Koneksi Gagal..!!", MsgBoxStyle.Critical, "Access Failed")
Return Nothing
Exit Function
End If
Cmd = New MySql.Data.MySqlClient.MySqlCommand(Query, Cn)
Da = New MySql.Data.MySqlClient.MySqlDataAdapterDa.SelectCommand= Cmd
Ds = New Data.DataSetDa.Fill(Ds)
Dt =Ds.Tables(0)
Return Dt
Dt = Nothing
Ds = Nothing
Da = Nothing
Cmd = Nothing
CloseConn()
End Function
Public Sub ExecuteNonQuery(ByVal Query As String)
If Not OpenConn() Then
MsgBox("Koneksi Gagal..!!", MsgBoxStyle.Critical, "Access Failed..!!")
Exit Sub
End If
Cmd = New MySql.Data.MySqlClient.MySqlCommandCmd.Connection= Cn
Cmd.CommandType=CommandType.TextCmd.CommandText= Query
Cmd.ExecuteNonQuery()
Cmd = Nothing
CloseConn()
End Sub
End Class
Setelah itu, masuk ke Form "karyawan.vb" masukkan coding berikut
Public Class karyawan
Dim SQL As String
Dim Proses As New koneksi
Dim tblKaryawan As DataTable
Dim jk As String
Sub Data_Record()
tblKaryawan = Proses.ExecuteQuery("Select * From tblkaryawan")
dgkaryawan.DataSource = tblKaryawan
dgkaryawan.Columns(0).Width = 75
dgkaryawan.Columns(1).Width = 100
dgkaryawan.Columns(2).Width = 100
dgkaryawan.Columns(3).Width = 100
dgkaryawan.Columns(4).Width = 100
End Sub
Sub Kode_Otomatis()
tblKaryawan = Proses.ExecuteQuery("Select * From tblkaryawan order by Id_Karyawan desc")
If tblKaryawan.Rows.Count = 0 Then
txtidk.Text = "KRY-001"
Else
With tblKaryawan.Rows(0)
txtidk.Text = .Item("Id_Karyawan")
End With
txtidk.Text = Val(Microsoft.VisualBasic.Mid(txtidk.Text, 5, 3)) + 1
If Len(txtidk.Text) = 1 Then
txtidk.Text = "KRY-00" & txtidk.Text & ""
ElseIf Len(txtidk.Text) = 2 Then
txtidk.Text = "KRY-0" & txtidk.Text & ""
ElseIf Len(txtidk.Text) = 3 Then
txtidk.Text = "KRY-" & txtidk.Text & ""
End If
End If
End Sub
Sub Atur()
Call Data_Record()
Call Kode_Otomatis()
btnsave.Enabled = True
btnedit.Enabled = False
btndelete.Enabled = False
txtidk.Enabled = False
txtnama.Text = ""
txtalamat.Text = ""
txttelp.Text = ""
rbL.Checked = False
rbP.Checked = False
txtnama.Focus()
End Sub
Private Sub Karyawan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call Atur()
End Sub
End Class
Simpan Data, double klik pada button Save, dan masukkan coding berikut
Private Sub btnsave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsave.Click
If rbL.Checked = True Then
jk ="L"
Else
jk ="P"
End If
If txtnama.Text ="" Then txtnama.Focus() : Exit Sub
SQL ="Insert Into tblkaryawan Values ('"& txtidk.Text &"','"& txtnama.Text &"','"& jk &"','"& txttelp.Text &"', '"& txtalamat.Text &"')"
Proses.ExecuteNonQuery(SQL)
MessageBox.Show("Data Baru telah disimpan..!!", "Penyimpanan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
Call Atur()
End Sub
Ubah Data, double klik pada button Edit, dan masukkan coding berikut
Private Sub btnedit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnedit.Click
If rbL.Checked = True Then
jk ="L"
Else
jk ="P"
End If
If txtnama.Text ="" Then txtnama.Focus() : Exit Sub
SQL ="update tblkaryawan set Nama_Karyawan = '"& txtnama.Text &"', Jenis_Kelamin = '"& jk &"', Telp = '"& txttelp.Text &"', Alamat = '"& txtalamat.Text &"' where Id_Karyawan = '"& txtidk.Text &"'"
Proses.ExecuteNonQuery(SQL)
MessageBox.Show("Data sudah diperbaiki...!!", "Perubahan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
Call Atur()
End Sub
Hapus Data, double klik pada button Delete, dan masukkan coding berikut
Private Sub btndelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btndelete.Click
SQL ="delete from tblkaryawan where Id_Karyawan = '"& txtidk.Text &"'"
Proses.ExecuteNonQuery(SQL)
MessageBox.Show("Data sudah dihapus...!!", "Penghapusan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
Call Atur()
End Sub
Perintah Batal, double klik pada button Cencel, dan masukkan coding berikut
Private Sub btncencel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btncencel.Click
Call Atur()
End Sub
Untuk pengaturan DataGrid masukkan coding berikut
Private Sub dgkaryawan_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgkaryawan.DoubleClick
txtidk.Text = dgkaryawan.SelectedCells(0).Value
txtnama.Text = dgkaryawan.SelectedCells(1).Value
If dgkaryawan.SelectedCells(2).Value ="L" Then
rbL.Checked = True
Else
rbP.Checked = True
End If
txttelp.Text = dgkaryawan.SelectedCells(3).Value
txtalamat.Text = dgkaryawan.SelectedCells(4).Value
btnedit.Enabled = True
btndelete.Enabled = True
btnsave.Enabled = False
End Sub
Untuk pencarian data, double klik pada TextBox Cari Data (txtcari) dan masukkan coding berikut
Private Sub txtcari_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtcari.TextChanged
tblKaryawan = Proses.ExecuteQuery("select * from tblkaryawan where Id_Karyawan like '%"& txtcari.Text &"%' Or Nama_Karyawan like'%"& txtcari.Text &"%' or Alamat like'%"& txtcari.Text &"%'")
dgkaryawan.DataSource = tblKaryawan
dgkaryawan.Columns(0).Width =75
dgkaryawan.Columns(1).Width =100
dgkaryawan.Columns(2).Width =100
dgkaryawan.Columns(3).Width =100
End Sub
Langkah terakhir yaitu Jalankan Program
Jika masih kurang jelas, bisa tonton video dibawah ini
Sekian untuk postingan kali ini, semoga dapat bermanfaat..
Reference: Modul Pemrograman II STMIK STIKOM Indonesia
Gambar ini dibuat menggunakan aplikasi Adobe Photoshop, dimana gambar ini merupakan gabungan dari 2 buah gambar yang diedit sedemikian rupa sehingga menjadi sebuah manipulasi gambar karikatur.