Contoh Program Java1
Contoh Program Java1
dengan java. Pada artikel ini pula akan membahas hal tersebut kembali tetapi untuk perhitungan pada kubus. Kubus merupakan bangun ruang tiga dimensi yang dibatasi oleh enam bidang sisi yang berbentuk bujur sangkar. Kubus memiliki 6 sisi, 12 rusuk dan 8 titik sudut. Beberapa perhitungan yang akan diimplementasikan di sini adalah perhitungan luas permukaan, keliling, dan volume kubus. Sourcodenya dapat diimplementasikan sebagai berikut : import javax.swing.*; public class LuasKubus { public static void main(String[] args) { System.out.println("Program untuk perhitungan kubus :"); String sisi = ""; sisi = JOptionPane.showInputDialog("Masukkan panjang sisinya : "); int s=Integer.parseInt(sisi); System.out.println ("Panjang sisinya = "+(s)); System.out.println ("Kelilingnya = "+(12*s)); System.out.println ("Luas permukaannya = "+((s*s)*6)); System.out.println ("Volumenya = "+(s*s*s)); } }
import java.lang.Math; class kubus { private int sisi, volume, luasPermukaan; { public void setSisi(int s) sisi = s;
} public void setVolume(){ volume = (int) Math.pow(sisi, 3); } public void setLuasPermukaan() { luasPermukaan = (int) Math.pow(sisi,2) *6; } public int getSisi(){ return sisi; } public int getVolume(){ return volume; } public int getLuasPermukaan(){ return luasPermukaan; } } class kubusTestDrive { public static void main(String[] kubus) { kubus K = new kubus(); System.out.println("Bangun Kubus"); K.setSisi(5); K.setVolume(); K.setLuasPermukaan(); System.out.println("Panjang sisi kubus = "+ K.getSisi()); System.out.println("Volume kubus = "+K.getVolume()); System.out.println("Luas permukaan kubus = "+ K.getLuasPermukaan()); } }
Program Java Menghitung Bangun Ruang Kubus
import java.io.*; class Tugas2 { public static void main(String[] args) throws Exception
{ DataInputStream eva = new DataInputStream(System.in); String sisi; double s1,volum,luas,diagonal,d1; System.out.println(" PROGRAM MENGHITUNG KUBUS"); System.out.println("");
System.out.println("========================================");System.out.printl n(""); System.out.print("Masukkan Sisi Kubus = "); sisi=eva.readLine(); s1=Double.parseDouble(sisi); System.out.println(""); System.out.println("========================================"); //RUMUZZ volum=Math.pow(s1,3); luas=6*(s1*s1); //luas permukaan kubus d1=s1*Math.sqrt(2); // diagonal sisi diagonal=s1*Math.sqrt(3); // diagonal ruang System.out.println("Volume Kubus = "+volum); System.out.println(""); System.out.println("Luas Permukaan Kubus = "+luas); System.out.println(""); System.out.println("Diagonal Sisi Kubus = "+d1); System.out.println(""); System.out.println("Diagonal Ruang Kubus = "+diagonal); System.out.println(""); } }
ngitung a = new ngitung(); int p,l,t,s; System.out.print("Masukkan panjang : "); //r = SimulateCin.readToWhiteSpace(true); p=Input.readInt(); System.out.print("Masukkan lebar :"); l=Input.readInt(); System.out.print("Masukkan tinggi :"); t=Input.readInt(); System.out.print("Luas balok adalah : "); System.out.print(a.balok(p,l,t)); System.out.print("\n"); System.out.print("Masukkan sisi :"); s=Input.readInt(); System.out.print("Volume kubus adalah : "); System.out.print(a.kubus(s)); System.out.print("\n");
untuk penjelasannya: Program di atas menggunakan class yang bernama ngitung dan di dalamnya terdapat function Function balok yang memiliki elemen(anggota) p,l,t yang semuanya bertipe int dan kubus yang anggotanya s dan bertipe int,dan masing-masing memiliki nilai balik yang merupakan rumus untuk menghitung volume kubus dan luas balok. Class ngitung diatas disubtitusikan dengan a pada waktu pemanggilan functionnya Pada fungsi main dideklarasikan terlebih dahulu variabel yang akan digunakan beserta dengan tipe datanya pada class di atas diberikan operator untuk memasukkan datanya yaitu p,l,t,dan s
Dalam posting pertama blog ini saya akan memposting sebuah soal perhitungan sederhana dalam java menggunakan netbeans. Langsung saja kita ke soalnya sebagai berikut :
1. Buat class Prisma yang mempunyai method menghitung volume prisma void VolumePrisma(double alas){..} Rumus volume prisma segitiga = (luas alas * tinggi) atau ((alas*tinggi alas)/2*tinggi) 2. Buat class PrismaBeraksi, yang menampilkan hasil perhitungan volume prisma dalam dua bentuk : pecahan dan bulat (type-casting). Dari soal diatas dapat kita ketahui terdapat dua class java, class pertama bertindak sebagai penyedia rumus yang terdapat didalam method. Kemudian di class selanjutnya, yaitu class prisma beraksi bertindak sebagai pengeksekusi class prisma. Untuk lebih jelasnya kita langsung saja kerjakan scribnya : 1. Pertama kita ketikkan script berikut kedalam class Prisma :
public class Prisma { void volumeprisma(double alas,double tinggialas,double tinggi){ double volumpencacah = (double) ((alas*tinggialas)/2)*tinggi; int volumbulat = (int) (((alas*tinggialas)/2)*tinggi); System.out.println("Alas :"+alas); System.out.println("Tinggi alas :"+tinggialas); System.out.println("Tinggi :"+tinggi); System.out.println("Volume prisma:"+volumpencacah); System.out.println("Pembulatan volume prisma:"+volumbulat); } } 2. Kemudian kita buat class PrismaBeraksi yang didalamnya kita ketikkan script berikut : public class PrismaBeraksi { public static void main(String[]args){ prisma volume= new prisma(); volume.volumeprisma(3.2, 4.7, 10); } }
Dalam hal ini class yang bisa dijalankan hanya class PrismaBeraksi, ini dikarenakan hanya class PrismaBeraksi saja yang mempunyai script yang digunakan untuk menjalankan yaitu : public static void main(String[]args){
Apabila class PrismaBeraksi dijalankan / di run maka hasil yang akan ditampilkan adalah sebagai berikut :
LUAS
SEGITIGA
Bukalah Netbeans anda, Kemudian pilih File > new project > java application > beri nama pada project name, contohnya dengan nama Matematika.
Kemudian klik kanan pada nama project > new > Java Class, untuk membuat class baru dan beri nama class LuasSegitiga . Seperti ini
import java.util.Scanner; public class LuasSegitiga { public static void main(String[] args){ Scanner input = new Scanner(System.in); System.out.print("Masukkan nilai alasnya: "); int alas = input.nextInt(); System.out.print("Masukkan nilai tingginya: "); int tinggi = input.nextInt(); double luas = (double)(alas*tinggi)/2; System.out.print("Jadi Luas Segitiga adalah :" +luas);
} }
Kemudian tekan shift+f6 untuk mengeksekusinya. Keterangan code: pada import java.util.Scanner; Kita mengimport dari java untuk meminta angka atau kata yang bisa diinput oleh user. Pada System.out.print("Masukkan nilai alasnya: "); int alas = input.nextInt(); Console akan mencetak "Masukkan nilai alasnya:", kita disuruh untuk memasukkan nilai yang menjadi nilai alas dan harus berupa integer (bilangan bulat), bukan desimal. Pada System.out.print("Masukkan nilai tingginya: "); int tinggi = input.nextInt(); Console akan mencetak "Masukkan nilai tingginya:", kita disuruh untuk memasukkan nilai yang menjadi nilai tinggi dan harus berupa integer (bilangan bulat), bukan desimal. Pada double luas = (double)(alas*tinggi)/2; System.out.print("Jadi Luas Segitiga adalah :" +luas); Console akan memproses perhitungan luas segi tiga berdasarkan input dari user dan mencetak hasil dalam format desimal (double).
class volumelimas { public static void main(String[] args)throws Exception { JOptionPane.showMessageDialog(null,"Program ini untuk menghitung volume limas :"); String panjang = JOptionPane.showInputDialog("Masukkan panjang limas:"); String lebar = JOptionPane.showInputDialog("Masukkan lebar limas:"); String tinggi = JOptionPane.showInputDialog("Masukkan tinggi limas:" ); int pj = Integer.parseInt(panjang); int lb = Integer.parseInt(lebar); int tg = Integer.parseInt(tinggi); double vol = pj*lb*tg/3; JOptionPane.showMessageDialog(null,"Volume limas adalah :"+vol);
} }
} }
Sekarang mari kita buat projectnya 1. Buka senjata kita untuk develop android yaitu eclipse, kemudian buat new project dengan nama ListBertingkat
Pada saat project pertama kali dibuat ada 3 file penting yang langsung dibuat, yaitu main.xml string.xml ListBertingkat.java
2. Untuk List Menu ini kita tidak perlu melakukan perubahan pada file main.xml. 3. Sekarang mari kita buat otak dari aplikasi ini, buka ListBertingkat.java, lalu ketikkan seperti kode dibawah ini package com.agus.list.tingkat; /** * Class ListBertingkat
* @version 1.0 Apr 22, 2011 * @author Agus Haryanto ([email protected]) * @website http://agusharyanto.net */ import android.app.ListActivity; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; public class ListBertingkat extends ListActivity { // Create an array of Strings, that will be put to our ListActivity String[] menuutama = new String[] { "Perhitungan", "Bangun Datar", "Bangun Ruang", "Keluar Aplikasi" }; String[] bangundatar = new String[] { "Persegipanjang", "Bujursangkar", "Segitiga", "Lingkaran", "Menu Utama" }; String[] bangunruang = new String[] { "Kubus", "Balok", "Tabung", "Limas", "Menu Utama" }; String[] perhitungan = new String[] { "Penambahan", "Pengurangan", "Perkalian", "Pembagian", "Menu Utama" }; /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); // Create an ArrayAdapter, that will actually make the Strings above // appear in the ListView // Menset nilai array ke dalam list adapater sehingga data pada array // akan dimunculkan dalam list this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, menuutama)); } @Override /**method ini akan mengoveride method onListItemClick yang ada pada class List Activity * method ini akan dipanggil apabilai ada salah satu item dari list menu yang dipilih */ protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); // Get the item that was clicked // Menangkap nilai text yang dklik Object o = this.getListAdapter().getItem(position); String pilihan = o.toString(); // cek nilai pilihan, disini akan ditentukan akan masuk ke sub list atau // membuka form
// atau keluar aplikasi if (pilihan.equals("Perhitungan")) { this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, perhitungan)); } else if (pilihan.equals("Bangun Datar")) { this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, bangundatar)); } else if (pilihan.equals("Bangun Ruang")) { this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, bangunruang)); } else if (pilihan.equals("Menu Utama")) { this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, menuutama)); } else if (pilihan.equals("Keluar Aplikasi")) { this.finish(); } else { tampilkanPilihan(pilihan); } } private void tampilkanPilihan(String pilihan) { Toast.makeText(this, "Membuka Form " + pilihan, Toast.LENGTH_LONG) .show(); } } Dalam pembuatan menu tentunya kita harus menentukan daftar item dari suatu list menu. Nah dalam hal ini kita siapkan dalam bentuk arrary String[] menuutama = new String[] { "Perhitungan", "Bangun Datar", "Bangun Ruang", "Keluar Aplikasi" }; String[] bangundatar = new String[] { "Persegipanjang", "Bujursangkar", "Segitiga", "Lingkaran", "Menu Utama" }; String[] bangunruang = new String[] { "Kubus", "Balok", "Tabung", "Limas", "Menu Utama" }; String[] perhitungan = new String[] { "Penambahan", "Pengurangan", "Perkalian", "Pembagian", "Menu Utama" }; Nah array-array inilah yang akan kitas set kedalam suatu adapter list. 4. Edit file AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.agus.list.tingkat" android:versionCode="1" android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".ListBertingkat" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="7" /> </manifest> 5. Semua telah selesai dibuat sekarang saatnya untuk menjalankan programnya. Tampilan yang pertamakali muncul adalah menu yang terdapat pada array menuutama
Klik atau sentuh menu Perhitungan, akan tampil menu perhitungan (list menu berasal dari array perhitungan)
Pada menu ini ada pilihan Menu Utama yang fungsinya untuk kembali ke Menu Utama. Repot jugakan kalau sudah masuk ke Sub Menu tapi tidak bisa kembali ke Menu Utama. Silahkan Klik dan Sentuh Menu-menu lainnya rasakan dan pahami perbedannya. Gimana setelah membaca tutorial ini, mudahkan membuat Menu List Bertingkat.
aplikasi yang dibuat dengan mengunakan java dapat dijalankan di berbagai OS yang didalamnya sudah terdapat Java Virtual Machine (JVM). Bahasa kerennya Write Once Run Any WhereMendukung pemrograman berorientasi object (Fully support OOP) Banyak referensi-referensi untuk belajar java, termasuk juga komunitas developer java diinternet Banyak contoh program atau pun library yang siap pakai dan dapat digabungkan dengan program yang kita buat Gratis / Free
Nah sekarang sudah tertarik belum belajar java ? Pernah berfikir untuk bisa membuat aplikasi yang dapat berjalan di handphone / blackberry. Kalau mau yah harus belajar java. Oke, sekarang kita mulai membahas konsep object oriented menggunakan java. Dalam pemrograman berorientasi object, kita harus memandang segala sesuatu sebagai object. Berbagai benda disekitar kita adalah object seperti meja, kuri, rumah dan lainnya.
Sekarang mari kita perhatkan, burung itu punya nama, mata, kaki, sayap, warna, jenis. Burung juga dapat terbang, berkicau dan berjalan. Mata, kaki sayap dan warna dalam dunia pemrograman disebut juga atribut atau properties. Terbang, berkicau dan berjalan dalam dunia pemrograman disebut juga behaviour atau method. class adalah cetakan, template, prototype dari object, sedangkan object adalah instance dari kelas. Satu kelas dapat mempunyai object lebih dari satu atau banyak. Bingung yah, nggak usah bingung. Ibaratkan saja class itu adalah cetakan kue dan object itu adalah kue dari cetakan tersebut.
02
03
04
05
06
07
//method terbang
08
09
this.sayap = "mengepak";
10
11
12
//method tidur
13
14
this.sayap = "diam";
15
16
17 }
Attribute adalah Berbagai variable yang mengitari class, dengan nilai datanya bisa ditentukan di object. nama, warna, sayap, dan jenis adalah atribute dari class Burung Method ethod adalah implementasi dari bagaimana bekerjanya sebuah class. terbang dan tidur adalah method atau behaviour dari class Burung
Untuk membuat object baru dari class Burung tersebut kita harus menginstantiate class Burung. Untuk menginstantiate sebuah class gunakan keyword new Sekarang mari program untuk membuat object dari class Burung.
02
03
04
05
burungnuri.nama = "Nuri"; //memanggil attribut nama pada object burungnuri dan memberi nilai
06
burungnuri.warna = "Merah";
07
08
09
burungnuri.terbang();
10
System.out.println("Sayapnya "+burungnuri.sayap);
11
burungnuri.tidur();
12
System.out.println("Sayapnya "+burungnuri.sayap);
13
System.out.println("");
14
15
16
burungmerpati.nama = "Merpati";
17
burungmerpati.warna = "Putih";//memanggil attribut warna pada object burungmerpati dan memberi nilai
18
19
20
burungmerpati.terbang();
21
System.out.println("Sayapnya "+burungmerpati.sayap);
22
burungmerpati.tidur();
23
System.out.println("Sayapnya "+burungmerpati.sayap);
24
25
26 }
Burung Nuri Sedang Terbang Sayapnya mengepak Burung Nuri Sedang Tidur Sayapnya diam Burung Merpati warnanya Putih Burung Merpati Sedang Terbang Sayapnya mengepak Burung Merpati Sedang Tidur Sayapnya diam Inheritance
Object Oriented Program memiliki beberapa karakteristik, yang akan kita bahas disini adalah inheritance atau pewarisan. inheritance adalah pewarisan yang artinya sebuah class dapat mewarisi atribut dan metho dari class lain, sebagai contoh dalam dunia nyata adalah Class Burung menurunkan sifat dan kemampuannya kepada class Bebek. Class Burung sebagai superclass dan mewariskan atribut juga methodnya kepada class Bebek sebagai subclass. Berikut ini gambarannya.
Berikut contoh implementasinya dalam java Buat Class dengan nama Bebek yang mewarisi class Burung gunakan keyowd extends
String kaki;
9 }
Untuk membuktikannya mari bahwa class bebek mewarisi attribut dan method class burung kita buat class BebekBeraksi
02
03
04
Bebek bebekku = new Bebek(); //membuat object bebekku dari class bebek
05
bebekku.nama = "Donald Duck"; //terbukti object bebekku mewarisi attribut nama dari class Burung
06
bebekku.warna = "Coklat";
07
08
bebekku.tidur(); //terbukti object bebekku mewarisi method tidur nama dari class Burung
09
10
11
12
13 }
Burung Donald Duck Sedang Tidur Bebek berenang menggunakan kakinya yang berselaput
Terbuktikan class bebek mewarisi class Burung. Melihat hasil diatas ada kalimat yang aneh. Yaitu Burung Donald Duck Sedang Tidur classnya bebek kok hasilnya burung itu karena yang dipanggil adalah method tidur yang diwarisi dari class burung. Untuk memperbaikinya kita bisa mengoveride method tidur tersebut. Tambahkan method tidur pada class Bebek, sehingga bentuk programnya menjadi seperti ini.
02
03
String kaki;
04
05
06
07
08
09
10
11
12
13 }
Bebek Donald Duck Sedang Tidur Bebek berenang menggunakan kakinya yang berselaput
Sudah tidak ada kalimat yang janggal dan terbukti bahwa method di superclass dapat dioveride oleh subclassnya. Sekian dulu yah, Semoga makin tertarik dengan java Agus Haryanto
Belum ada validasi inputan, harusnya pada panjang dan lebar kita tidak boleh menginputkan selain angka Pada saat kita klik Tombol hitung luas harusnya ada warning apabila ada isian panjang atau lebar yang belum diisi. Kotak tempat menampilkan hasil perhitungan masih bisa diedit, harusnya tidak bisa diedit
Kita sudah mengetahui kekurangannya, sekarang mari kita mulai mensolusikannya. Untuk itu rubah buka kembali file persegipanjang.htmlkemudian isi dengan kode berikut 01 <html>
02
<head>
03
04
05
<style>
06
07
08
09
</style>
10
<script type="text/javascript">
11
function hitungLuas(){
12
panjang = document.getElementById("txtPanjang").value;
13
lebar = document.getElementById("txtLebar").value;
14
if (panjang == ""){
15
16
return;
17
18
19
return;
20
21
if (isNaN(panjang)){
22
23
return;
24
}if (isNaN(lebar)){
25
26
return;
27
28
29
document.getElementById("txtLuas").value =
Luas;
30
31
32
function resetForm(){
33
document.getElementById("txtPanjang").value="";
34
document.getElementById("txtLebar").value="";
35
document.getElementById("txtLuas").value="";
36
37
38
</script>
39
</head>
40
<body>
41
<div>
42
43
44
4 5
<input type="button" id="btnHitung" value="Hitung Luas" onclick="hitungLuas();"> <inputtype="button" id="btnReset" value=" Reset" onclick="resetForm();"><br/>
4 6
47
</div>
48
</body>
49 </html>
Perhatikan kode diatas untuk mempercantik tampilan pada bagian kode htmlnya kita menambahkan tag <div> dan <label>
Kita juga mulai bermain dengan css untuk mengatur dan memperindah tampilan 1 <style>
5 </style>
Pada bagian javascriptnya kita juga sudah menambahkan validasi inputan panjang dan lebar
01 if (panjang == ""){
02
03
return;
05
06
return;
07 }
08 if (isNaN(panjang)){
09
10
return;
11 }if (isNaN(lebar)){
12
13
return;
14 }
Nilai pada inputan panjang dan lebar akan dicek apakah sudah diisi atau belum jika belum diisi maka akan muncul pesan peringatan agar user mengisi nilainya. Selain itu untuk memastikan bahwa user menginputkan nilai yang benar, maka apabilea user menginputkan selain angka maka akan muncul juga pesan peringatan bahwa panjang atau lebar harus diisi dengan angka untuk pengecekannya kita manfaatkan fungsi isNaN Kita juga menambahakan tombol untuk mereset nilai panjang lebar dan luas. Gunanya jika kita ingin menghitung lagi kita tidak perlu mengosongkan secara manual. Sekarang mari kita coba jalankan dibrowser apakah kode yang baru ini telah menutupi kekurangankekurangan pada kode yang lama
Lihat tampilan sudah lebih enak dilihat. Klik tombol Hitung Luas, karena nilai panjang belum diisi maka akan muncul peringatan.
Isi nilai panjang atau lebar dengan nilai yang selain angka. Lalu klik tombol Hitung Luas, karena nilai lebar diisi dengan selain angka maka akan muncul peringatan Lebar Harus diisi dengan angka
Isi nilai panjang atau lebar dengan angka, Lalu klik tombol Hitung Luas, Tidak ada lagi peringatan dan Nilai Luas sudah terisi.
1. 2. 3.
import public {
Keliling
class
RumusBangunRuang
public
static
void dataIn =
main( new
String[]
args
throws
IOException System.in)
{ );
BufferedReader(new
InputStreamReader(
System.out.println("Menu
Pilihan
");
if(pil==1) { System.out.println(""); System.out.println System.out.print alas System.out.print tinggi Luas System.out.println("Alas System.out.println("Tinggi System.out.println("Luas } else { System.out.println(""); System.out.println System.out.print jari LuasLing System.out.println("jari System.out.println("Luas } else { if(pil==3) adalah adalah ("Masukan = = " "+ + ("LUAS jari-jari = LINGKARAN"); "); if(pil==2) ("Masukan = ("Masukan = = adalah adalah adalah " " "+ + + Tinggi ("LUAS Alas = SEGITIGA"); ");
Integer.parseInt(dataIn.readLine()); = ");
System.out.println(""); System.out.println System.out.print jari keliling System.out.println("jari System.out.println("Keliling } else { System.out.println("Maaf.....,Yang } anda masukan data salah!"); adalah adalah ("Masukan = = " "+ + ("KELILING jari-jari = LINGKARAN"); ");
NumberFormatException
){