Jumat, 26 November 2010
Packages kali ini terdiri atas 2 folder(2 packages), yakni folder 'karyawan' dan folder 'jabatan'. Di dalam folder karyawan terdapat file karyawan, gol1, gol2, dan gol3. Sedangkan untuk folder jabatan terdiri atas 4 file yakni file jabatan, file direktur, manajer, dan komisaris. Adapun file-file tersebut bertindak sebagai class pada java.dari class/file tersebut, program akan menampilkan gaji berdasarkan golongan, jabatan, dan kurs gaji dalam dolar.
Gambaran secara umum dari packages yang akan dibuat adalah sebagai berikut :
- Buat Packages untuk 2 class :
1. Karyawan dengan sub-class:
- gol1 → gaji = Rp 20.000.000,-
- gol2 → gaji = Rp 15.000.000,-
- gol3 → gaji = Rp 10.000.000,-
2. Jabatan dengan sub-class :
- Direktur
- Manajer
- Komisaris
-
- Tampilkan kenaikan gaji jika
- masa kerja 20 tahun (naik 20%)
- masa kerja 15 tahun (naik 15%)
- masa kerja 10 tahun (naik 10%)
- Tampilkan kurs gaji dalam dolar untuk masing-masing golongan
- Buat 8 class !
Langkah pertama untuk membuat ketentuan seperti yang tercantum dalam kriteria di atas adalah membuat folder terlebih dahulu. Untuk kali ini saya manggunakan JCreator untuk mengcompile program packages di atas. Buatlah folder karyawan dan jabatan pada direktori yang Anda inginkan. Kali ini saya meletakkannya pada direktori E:\. Setelah membuat 2 folder yang akan dijadikan package pada direktori yang diinginkan.
Setelah membuat folder, langkah selanjutnya adalah membuat ’file.java’. Buatlah file ’karyawan.java’, file ’gol1.java’ , file ’gol2.java’, dan ’gol3.java’. kemudian masukkan file tersebut ke dalam folder karyawan.java. Kemudian buat pula file ’jabatan.java’, file ’direktur.java’ , file ’manajer.java’, dan ’komisaris.java’ dan masukkan ke dalam folder jabatan.
Script programnya adalah sebagai berikut :
1. karyawan.java
import karyawan.gol1;
import karyawan.gol2;
import karyawan.gol3;
import javax.swing.*;
public class karyawan
{
public static void main(String[]args)
{
do
{
int pil = Integer.parseInt(JOptionPane.showInputDialog("(((((KARYAWAN)))))
switch(pil)
{
case 1:
gol1 golongan = new gol1();
golongan.gaji();
break;
case 2:
gol2 golongan2 = new gol2();
golongan2.gaji();
break;
case 3:
gol3 golongan3 = new gol3();
golongan3.gaji();
break;
case 4:
System.exit(0);
}
}
while(true);
}
}
2. gol1.java
package karyawan;
import javax.swing.*;
public class gol1
{
public static void gaji()
{
float gaji = 20000000;
float kurs = gaji/9000;
JOptionPane.showMessageDialog(null,"(((((GOL1)))))\nGaji = Rp 20.000.000,-\nKurs dalam dolar = $"+kurs);
}
}
- gol2.java
package karyawan;
import javax.swing.*;
public class gol2
{
public static void gaji()
{
float gaji = 15000000;
float kurs = gaji/9000;
JOptionPane.showMessageDialog(null,"(((((GOL2)))))\nGaji = Rp 15.000.000,-\nKurs dalam dolar = $"+kurs);
}
}
- gol3.java
package karyawan;
import javax.swing.*;
public class gol3
{
public static void gaji()
{
float gaji = 10000000;
float kurs = gaji/9000;
JOptionPane.showMessageDialog(null,"(((((GOL3)))))\nGaji = Rp 10.000.000,-\nKurs dalam dolar = $"+kurs);
}
}
- jabatan.java
import jabatan.direktur;
import jabatan.manajer;
import jabatan.komisaris;
import javax.swing.*;
public class jabatan
{
public static void main(String[]args)
{
int pil = Integer.parseInt(JOptionPane.showInputDialog("(((((JABATAN)))))
switch(pil)
{
case 1:
direktur jabatan = new direktur();
jabatan.masakerja();
break;
case 2:
manajer jabatan2 = new manajer();
jabatan2.masakerja();
break;
case 3:
komisaris jabatan3 = new komisaris();
jabatan3.masakerja();
break;
}
}
}
- direktur.java
package jabatan;
import javax.swing.*;
public class direktur
{
public static void masakerja()
{
do
{
int gaji = 20000000;
int masa_kerja = Integer.parseInt(JOptionPane.showInputDialog("(((((DIREKTUR)))))
switch(masa_kerja)
{
case 1 :
double naik = 0.2*gaji;
double naik_gaji = (naik + gaji);
double kurs = naik_gaji/9000;
JOptionPane.showMessageDialog(null,"Jabatan : Direktur\nGolongan : 1\nGaji : Rp 20.000.000,-\nMasa Kerja : 20 Tahun\nKenaikan Gaji(20%) : Rp "+naik+",-\nTotal Gaji : Rp "+naik_gaji+",-\nKurs dalam dolar = $"+kurs);
break;
case 2 :
double n = 0.15*gaji;
double n_g = (n + gaji);
double krs = n_g/9000;
JOptionPane.showMessageDialog(null,"Jabatan : Direktur\nGolongan : 1\nGaji : Rp 20.000.000,-\nMasa Kerja : 15 Tahun\nKenaikan Gaji(15%) : Rp "+n+",-\nTotal Gaji : Rp "+n_g+",-\nKurs dalam dolar = $"+krs);
break;
case 3 :
double nk = 0.1*gaji;
double ng = (nk + gaji);
double k = ng/9000;
JOptionPane.showMessageDialog(null,"Jabatan : Direktur\nGolongan : 1\nGaji : Rp 20.000.000,-\nMasa Kerja : 10 Tahun\nKenaikan Gaji(10%) : Rp "+nk+",-\nTotal Gaji : Rp "+ng+",-\nKurs dalam dolar = $"+k);
break;
case 4 :
System.exit(0);
}
}
while(true);
}
}
- manajer.java
package jabatan;
import javax.swing.*;
public class manajer
{
public static void masakerja()
{
do
{
int gaji = 15000000;
int masa_kerja = Integer.parseInt(JOptionPane.showInputDialog("(((((MANAJER)))))
switch(masa_kerja)
{
case 1 :
double naik = 0.2*gaji;
double naik_gaji = (naik + gaji);
double kurs = naik_gaji/9000;
JOptionPane.showMessageDialog(null,"Jabatan : Manajer\nGolongan : 2\nGaji : Rp 15.000.000,-\nMasa Kerja : 20 Tahun\nKenaikan Gaji(20%) : Rp "+naik+",-\nTotal Gaji : Rp "+naik_gaji+",-\nKurs dalam dolar = $"+kurs);
break;
case 2 :
double n = 0.15*gaji;
double n_g = (n + gaji);
double krs = n_g/9000;
JOptionPane.showMessageDialog(null,"Jabatan : Manajer\nGolongan : 2\nGaji : Rp 15.000.000,-\nMasa Kerja : 15 Tahun\nKenaikan Gaji(15%) : Rp "+n+",-\nTotal Gaji : Rp "+n_g+",-\nKurs dalam dolar = $"+krs);
break;
case 3 :
double nk = 0.1*gaji;
double ng = (nk + gaji);
double k = ng/9000;
JOptionPane.showMessageDialog(null,"Jabatan : Manajer\nGolongan : 2\nGaji : Rp 15.000.000,-\nMasa Kerja : 10 Tahun\nKenaikan Gaji(10%) : Rp "+nk+",-\nTotal Gaji : Rp "+ng+",-\nKurs dalam dolar = $"+k);
break;
case 4 :
System.exit(0);
}
}
while(true);
}
}
- komisaris.java
package jabatan;
import javax.swing.*;
public class komisaris
{
public static void masakerja()
{
do
{
int gaji = 10000000;
int masa_kerja = Integer.parseInt(JOptionPane.showInputDialog("(((((KOMISARIS)))))
switch(masa_kerja)
{
case 1 :
double naik = 0.2*gaji;
double naik_gaji = (naik + gaji);
double kurs = naik_gaji/9000;
JOptionPane.showMessageDialog(null,"Jabatan : Komisaris\nGolongan : 2\nGaji : Rp 10.000.000,-\nMasa Kerja : 20 Tahun\nKenaikan Gaji(20%) : Rp "+naik+",-\nTotal Gaji : Rp "+naik_gaji+",-\nKurs dalam dolar = $"+kurs);
break;
case 2 :
double n = 0.15*gaji;
double n_g = (n + gaji);
double krs = n_g/9000;
JOptionPane.showMessageDialog(null,"Jabatan : Komisaris\nGolongan : 2\nGaji : Rp 10.000.000,-\nMasa Kerja : 15 Tahun\nKenaikan Gaji(15%) : Rp "+n+",-\nTotal Gaji : Rp "+n_g+",-\nKurs dalam dolar = $"+krs);
break;
case 3 :
double nk = 0.1*gaji;
double ng = (nk + gaji);
double k = ng/9000;
JOptionPane.showMessageDialog(null,"Jabatan : Komisaris\nGolongan : 2\nGaji : Rp 10.000.000,-\nMasa Kerja : 10 Tahun\nKenaikan Gaji(10%) : Rp "+nk+",-\nTotal Gaji : Rp "+ng+",-\nKurs dalam dolar = $"+k);
break;
case 4 :
System.exit(0);
}
}
while(true);
}
}
Untuk program packages tersebut yang menjadi main programnya itu sendiri adalah pada class karyawan.java dan class jabatan.java. oleh karena itu untuk mengcompile packages tersebut adalah dengan menjalankan main program dari packages tersebut yakni dari file karyawan.java dan jabatan.java. Jika menggunakan JCreator, setelah menuliskan program di atas, untuk mengcompilenya dengan membuka file karyawan.java kemudian pilih Build, Compile File. Kemudian jika tidak terdapat kesalahan, pilih execute (F5). Adapun tampilan yang diberikan dalam program packages ini adalah berupa menu. Begitu pula halnya jika kita ingin menjalankan program yang terdapat dalam packages jabatan. Buka file jabatan.java kemudian Build, Compile File. Lalu execute (F5).
Label: Java
1. Packages
Packages dalam JAVA berarti pengelompokan beberapa class dan interface dalam satu unit. Fitur ini menyediakan mekanisme untuk mengatur class dan interface dalam jumlah banyak dan menghindari konflik pada penamaan.
2. Mengimport Packages
Agar dapat meggunakan class yang berada diluar package yang sedang dikerjakan, Anda harus mengimport package dimana class tersebut berada. Pada dasarnya, seluruh program JAVA mengimport package java.lang.*, sehingga Anda dapat menggunakan class seperti String dan Integer dalam program meskipun belum mengimport package sama sekali. Penulisan import package dapat dilakukan seperti dibawah ini :
import ;
3. Pengaturan CLASSPATH
Diasumsikan package schoolClasses terdapat pada direktori C:\. Langkah
selanjutnya adalah mengatur classpath untuk menunjuk direktori tersebut sehingga pada saat akan dijalankan, JVM dapat mengetahui dimana class tersebut tersimpan. Sebelum membahas cara mengatur classpath, perhatikan contoh dibawah yang menandakan kejadian bila kita tidak mengatur classpath. Asumsikan kita mengkompilasi dan menjalankan class StudentRecord :
C:\schoolClasses>javac StudentRecord.java
C:\schoolClasses>java StudentRecord
Exception in thread "main" java.lang.NoClassDefFoundError:
StudentRecord
(wrong name: schoolClasses/StudentRecord)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Kita akan mendapatkan pesan kesalahan berupa NoClassDefFoundError yang berarti JAVA tidak mengetahui dimana posisi class. Hal tersebut disebabkan oleh karena classStudentRecord berada pada package dengan nama studentClasses. Jika kita ingin menjalankan class tersebut, kita harus memberi informasi pada JAVA bahwa nama lengkap dari class tersebut adalah schoolClasses.StudentRecord. Kita juga harusmenginformasikan kepada JVM dimana posisi pencarian package, yang dalam hal ini berada pada direktori C:\. Untuk melakukan langkah – langkah tersebut, kita harus mengatur classpath. Pengaturan classpath pada Windows dilakukan pada command prompt : C:\schoolClasses> set classpath=C:\ dimana C:\ adalah direktori dimana kita menempatkan package. Setelah mengatur classpath, kita dapat menjalankan program di mana saja dengan mengetikkan : C:\schoolClasses> java schoolClasses.StudentRecord
Pada UNIX, asumsikan bahwa kita memiliki class - class yang terdapat dalam direktori /usr/local/myClasses, ketikkan : export classpath=/usr/local/myClasses Perhatikan bahwa Anda dapat mengatur classpath dimana saja. Anda juga dapat mengatur lebih dari satu classpath, kita hanya perlu memisahkannya dengan menggunakan ; (Windows), dan : (UNIX).
Sebagai contoh :
set classpath=C:\myClasses;D:\;E:\MyPrograms\Java
dan untuk sistem UNIX :
export classpath=/usr/local/java:/usr/myClasses
Label: Java
Minggu, 21 November 2010
import java.io.*;
import javax.swing.*;
class menuLA
{
public static void main(String[]args)
{
do
{
String temp = JOptionPane.showInputDialog("Menu\n1. Biodata\n2. Grade Nilai\n3. Deret\n4. KELUAR");
int pil = Integer.parseInt(temp);
switch(pil)
{
case 1:
String nama = JOptionPane.showInputDialog("Masukkan nama : ");
String npm = JOptionPane.showInputDialog("Masukkan npm : ");
String kls = JOptionPane.showInputDialog("Masukkan kelas : ");
JOptionPane.showMessageDialog(null,"nama : "+nama+"\nNPM : "+npm+"\nKelas : "+kls);
break;
case 2:
String temp1 = JOptionPane.showInputDialog("Masukkan Nilai UTS : ");
int uts = Integer.parseInt(temp1);
String temp2 = JOptionPane.showInputDialog("Masukkan Nilai UAS : ");
int uas = Integer.parseInt(temp2);
double total = (uts*0.7)+(uas*0.3);
if ((total>=80)&&(total<=90))
{
JOptionPane.showMessageDialog(null,"Nilai Akhir Anda :"+total+"\nAnda Lulus dengan nilai A");
}
else if ((total>=70)&&(total<=79))
{
JOptionPane.showMessageDialog(null,"Nilai Akhir Anda :"+total+"\nAnda Lulus dengan nilai B");
}
else if ((total>=60)&&(total<=69))
{
JOptionPane.showMessageDialog(null,"Nilai Akhir Anda :"+total+"\nAnda Lulus dengan nilai C");
}
else if ((total>=50)&&(total<=59))
{
JOptionPane.showMessageDialog(null,"Nilai Akhir Anda :"+total+"\nAnda Lulus dengan nilai D");
}
else
{
JOptionPane.showMessageDialog(null,"Nilai Akhir Anda :"+total+"\nAnda Lulus dengan nilai E");
}
break;
case 3:
String temp3 = JOptionPane.showInputDialog (" Masukkan Jumlah Deret:");
int deret =Integer.parseInt(temp3);
String hasil = " ";
for (int i=1;i<= deret;i++)
{
for (int j=1;j<= i;j++)
{
hasil = hasil+j;
}
hasil = hasil+"\n";
}
JOptionPane.showMessageDialog(null,hasil);
break;
case 4:
JOptionPane.showMessageDialog(null,"Terima Kasih Telah Memakai Program Ini");
System.exit(0);
break;
default:
JOptionPane.showMessageDialog(null,"Maaf Pilihan Anda Salah");
}
}
while(true);
}
}
menuLA.java
Program tersebut akan menampilkan menu yang terdiri atas beberapa program. Adapun program yang terdapat script program di atas adalah program input output (Biodata), program kondisi (Grade), dan program perulangan (Deret).
Program pertama merupakan program input output java. Program input output ini akan menampilkan tampilan berupa inputan yang diberikan oleh user, hasil inputan tersebut ditampilkan melalui message dialog berbasis GUI. Agar tampilan berbasis GUI pada bagian program di atas menggunakan class JOptionPane yang terdapat pada package javax.swing. JOptionPane dapat membuat dialog box standard yang menginformasikan kepada user untuk memasukkan sebuah nilai.
’Class ID {...}’ pada bagian program di atas merupakan pendefinisian class dengan modifier public, agar dapat dikompilasi dan dijalankan oleh Java VM. Jadi sintaks dasar yang utama untuk sebuah file program Java adalah sintaks definisi class seperti berikut : [modifier] [class] namaclass . Kemudian untuk public static void main (String[] args){ ....} kode program ini merupakan bagian utama, karena bagian ini adalah bagian yang pertama kali dijalankan. ’public’ merupakan salah satu macam modifier. ’static’ menunjukkan tipe method. ’void’ menunjukkan bahwa method tidak mengembalikan nilai atau objek. ’main’ merupakan nama method utama dari program java. ’string’ sebagai tipe argumen yang diterima untuk parameter dari command java. Dan ’args’ merupakan array argumen yang bisa ditambahkan pada saat menggunakan command java untuk menjalankan program java.
Switch digunakan untuk memilih berdasar banyak pilihan, dimana dari masing-masing pilihan akan menghasilkan pernyataan atau aksi yang berlainan sesuai pilihan yang dilakukan. Biasanya penggunaan switch berkaitan dengan menu, dimana apabila menu pertama dipilih, maka switch akan menjalankan blok dari case 1, lalu apabila menu kedua dipilih, maka switch akan menjalankan blok dari case 2, demikian seterusnya. Bila tidak memenuhi kriteria menu case manapun, switch akan menjalankan blok default.
Sintaks penggunaan switch adalah :
Switch (ekspresiinteger
{
Case (nilaivariabel)
Break;
Case (nilaivariabel)
Break;
Case (nilaivariabel)
Break;
default:(blok pernyataan)
break;
}
Statemen import javax.swing.* digunakan untuk menginformasikan bahwa kita akan meng-import class JOptionPane dari package javax.swing. Sedangkan untuk String nama=JOptionPane.showInputDialog(“Masukkan Nama: "); Digunakan untuk membuat input dialog JOptionPane, yang akan menampilkan dialog, yang terdiri atas sebuah message, sebuah textfield dan sebuah button OK. Dialog tersebut akan memberikan return value String yang akan disimpan di variabel name.
1. Program Biodata
case 1:
String nama = JOptionPane.showInputDialog("Masukkan nama : ");
String npm = JOptionPane.showInputDialog("Masukkan npm : ");
String kls = JOptionPane.showInputDialog("Masukkan kelas : ");
JOptionPane.showMessageDialog(null,"nama : "+nama+"\nNPM : "+npm+"\nKelas : "+kls);
break;
JOptionPane.showMessageDialog(null,"Nama Anda "+nama+"\nNPM Anda : "+npm+"\nKelas Anda "+kls);
Digunakan untuk menampilkan sebuah dialog yang berisi output dari inputan yang telah kita berikan dan sebuah OK button.
2. Program Grade
case 2:
String temp1 = JOptionPane.showInputDialog("Masukkan Nilai UTS : ");
int uts = Integer.parseInt(temp1);
String temp2 = JOptionPane.showInputDialog("Masukkan Nilai UAS : ");
int uas = Integer.parseInt(temp2);
double total = (uts*0.7)+(uas*0.3);
if ((total>=80)&&(total<=90))
{
JOptionPane.showMessageDialog(null,"Nilai Akhir Anda :"+total+"\nAnda Lulus dengan nilai A");
}
else if ((total>=70)&&(total<=79))
{
JOptionPane.showMessageDialog(null,"Nilai Akhir Anda :"+total+"\nAnda Lulus dengan nilai B");
}
else if ((total>=60)&&(total<=69))
{
JOptionPane.showMessageDialog(null,"Nilai Akhir Anda :"+total+"\nAnda Lulus dengan nilai C");
}
else if ((total>=50)&&(total<=59))
{
JOptionPane.showMessageDialog(null,"Nilai Akhir Anda :"+total+"\nAnda Lulus dengan nilai D");
}
else
{
JOptionPane.showMessageDialog(null,"Nilai Akhir Anda :"+total+"\nAnda Lulus dengan nilai E");
}
break;
Program di atas ini akan menampilkan pilihan menu kedua yakni program penilaian atau grade. Program ini didasarkan atas perhitungan antara UTS dan UAS. Program grade ini didapat dari akumulasi nilai 70% nilai UTS dan 30% nilai UAS. Pada awalnya program tersebut memberikan inputan berupa tipe data string pada variabel temp1. Kemudian tipe data string yang dimasukkan berupa angka tersebut dirubah menjadi integer melalui sintax ”Integer.parseInt(temp1)” adapun untuk memasukkan nilai uts tersebut akan ditampilkan melalui tampilan kotak input dialog berbasis GUI melalui JoptionPane. Begitupula dengan instruksi masukkan nilai uas, awalnya program memberikan tipe data string, kemudian untuk selanjutnya dirubah menjadi integer. Kemudian untuk nilai total dihitung melalui 70%nilai UTS dan 30% nilai UAS dengan memberikan tipe data double. Jika nilai total >=80 dan total <=90 maka program akan menampilkan total nilai yang diperoleh dan Anda lulus dengan nilai A. Jika total >=70 dan total<=79 maka program akan menampilkan nilai akhir dan Anda lulus dengan nilai B. Begitu seterusnya sampai pada akhirnya jika tidak terdapat kondisi lagi, program akan menampilkan else.
Conditional merupakan suatu pengaturan alur program berdasar kondisi boolean yang dijadikan patokan. Pada program di bawah ini terdapat seleksi kondisi dengan menggunakan if..else if. if dan else, dapat juga menggunakan kombinasi if else secara berkelanjutan. Hal ini dilakukan ketika kita ingin melakukan peongkondisian dan pengecekan nilai boolean sebanyak n kali. Dimana nilai n lebih besar dari 3.
Program Deret
String temp3 = JOptionPane.showInputDialog (" Masukkan Jumlah Deret:");
int deret =Integer.parseInt(temp3);
String hasil = " ";
for (int i=1;i<= deret;i++)
{
for (int j=1;j<= i;j++)
{
hasil = hasil+j;
}
hasil = hasil+"\n";
}
JOptionPane.showMessageDialog(null,hasil);
break;
Deret tersebut akan menghasilkan angka berupa masukkan dari user, jika user memberikan deret sebanyak 4, maka program akan menampilkan deret 1-4 dalam bentuk segitiga seperti di bawah ini:
Pada program di atas terdapat coding
String hasil = " ";
for (int i=1;i<= deret;i++)
{ for (int j=1;j<= i;j++)
{
hasil = hasil+j;
}
hasil = hasil+"\n";
}
For di atas menyatakan perulangan, dimana kondisi awal variabel i bernilai 1,i akan terus bertambah sampai jumlah deret yang diinput oleh user. Nilai i berhingga sampai dengan variabel ‘deret’. Jika kita masukkan deret=4, maka i akan bernilai 1 sampai dengan 4. kemudian untuk variabel j dimulai dengan variabel awal 1, hal ini dikondisikan dengan mengecek variabel apakah nilai j tersebut lebih kecil sama dengan nilai i? Jika ya, kemudian variabel hasil akan mengakumulasikan dirinya sendiri dengan variabel j.
Adapun urutan langkah (algoritma) dari program tersebut adalah sebagai berikut :
- i=1 deret=4 j=1 hasil=””
i=1, i<=deret? → 1<=4? Ya
j=1, j<=i? → 1<=1? Ya
karena telah memenuhi nilai j<=i (1<=1) , maka nilai j tidak bertambah
hasil = hasil+j → hasil = ””+1 = 1, maka hasil = hasil+”\n”
→ hasil = ””+1 →hasil = ”1”
PRINT ”1” \n
pada tahap ini program akan menampilkan deret berupa :
1
- i=2 deret=4 j=1 hasil=””
i=2, i<=deret? → 2<=4? Ya
j=1, j<=i? → 1<=2? Ya
hasil = hasil+j → hasil = ””+1 = 1,
nilai j bertambah sampai memenuhi syarat ”j=i”,
j=2, j<=i? → 2<=2? Ya
(karena telah memenuhi nilai j<=i (2<=2) maka nilai j tidak bertambah)
hasil = hasil+j → hasil = ”1”+2 = 12
hasil = hasil+”\n”
→ hasil = ”1 2”+\n →hasil = ”12”
PRINT ”12”
maka sampai tahap ini, program akan menampilkan deret sebagai berikut:
1
12
- i=3 deret=4 j=1 hasil=””
i=3, i<=deret? → 3<=4? Ya
j=1, j<=i? → 1<=3? Ya
hasil = hasil+j → hasil = ””+1 = 1,
nilai j bertambah sampai memenuhi syarat ”j=i”,
j=2, j<=i? → 2<=3? Ya
hasil = hasil+j → hasil = ”1”+2 = 12,
nilai j bertambah sampai memenuhi syarat ”j=i”,
j=3, j<=i? → 3<=3? Ya
(karena telah memenuhi nilai j<=i (3<=3) maka nilai j tidak bertambah)
hasil = hasil+j → hasil = ”12”+3 = 123
hasil = hasil+”\n”
→ hasil = ”123”+\n →hasil = ”123”
PRINT ”123”
maka sampai tahap ini, program akan menampilkan deret sebagai berikut:
1
12
123
- i=4 deret=4 j=1 hasil=””
i=4, i<=deret? → 4<=4? Ya
(karena telah memenuhi kondisi i=deret maka i tidak bertambah)
j=1, j<=i? → 1<=4? Ya
hasil = hasil+j → hasil = ””+1 = 1,
nilai j bertambah sampai memenuhi syarat ”j=i”,
j=2, j<=i? → 2<=4? Ya
hasil = hasil+j → hasil = ”1”+2 = 12,
nilai j bertambah sampai memenuhi syarat ”j=i”,
j=3, j<=i? → 3<=4? Ya
hasil = hasil+j → hasil = ”12”+3 = 123,
nilai j bertambah sampai memenuhi syarat ”j=i”,
j=4, j<=i? → 4<=4? Ya
(karena telah memenuhi nilai j<=i (3<=3) maka nilai j tidak bertambah)
hasil = hasil+j → hasil = ”123”+4 = 1234
hasil = hasil+”\n”
→ hasil = ”1234”+\n →hasil = ”1234”
PRINT ”1234”
Sehingga programderet ini akan menghasilkan hasil akhir sebagai berikut :
1
12
123
1234
Program menu di atas dijalankan dengan menggunakan statemen switch..case. Dimana dalam pemilihan menu tersebut didasarkan pada bagian switch(pil) switch(pil). Pada awalnya variabel pil diberikan tipe data integer kemudian dari integer tersebut lakukan parseInt(temp). Jika user memilih 1, maka case 1 akan dijalankan (program biodata), jika user memilih 2, maka case 2 (program grade) akan dijalankan, jika memilih 3, maka case 3 (deret) akan dijalankan), jika memilih 4 (keluar) maka program akan menjalankan case 4, namun jika user menginputkan nomor selain 1-4, maka program akan menjalankan default.
Pada case 4, ketika program akan keluar,terlebih dahulu program aakn menampilkan kata “Terima Kasih Telah Memakai Program Ini” yang terdapat pada message dialog JoptionPane. Kemudian program langsung tertutup dan keluar dari sistem menu dengan sendirinya. Adapun hal yang menyebabkan program dapaat keluar dan tidak kembali lagi ke menu awal adalah dengan memberikan sintax ‘System.exit(0);’.
Label: Java
Sabtu, 20 November 2010
import java.io.*; import javax.swing.*; class menuLA { public static void main(String[]args) { do { String temp = JOptionPane.showInputDialog("Menu\n1. Biodata\n2. Grade Nilai\n3. Deret\n4. Matriks\n5.KELUAR"); int pil = Integer.parseInt(temp); switch(pil) { case 1: String nama = JOptionPane.showInputDialog("Masukkan nama : "); String npm = JOptionPane.showInputDialog("Masukkan npm : "); String kls = JOptionPane.showInputDialog("Masukkan kelas : "); JOptionPane.showMessageDialog(null,"nama : "+nama+"\nNPM : "+npm+"\nKelas : "+kls); break; case 2: String temp1 = JOptionPane.showInputDialog("Masukkan Nilai UTS : "); int uts = Integer.parseInt(temp1); String temp2 = JOptionPane.showInputDialog("Masukkan Nilai UAS : "); int uas = Integer.parseInt(temp2); double total = (uts*0.7)+(uas*0.3); if ((total>=80)&&(total<=90)) { JOptionPane.showMessageDialog(null,"Nilai Akhir Anda :"+total+"\nAnda Lulus dengan nilai A"); } else if ((total>=70)&&(total<=79)) { JOptionPane.showMessageDialog(null,"Nilai Akhir Anda :"+total+"\nAnda Lulus dengan nilai B"); } else if ((total>=60)&&(total<=69)) { JOptionPane.showMessageDialog(null,"Nilai Akhir Anda :"+total+"\nAnda Lulus dengan nilai C"); } else if ((total>=50)&&(total<=59)) { JOptionPane.showMessageDialog(null,"Nilai Akhir Anda :"+total+"\nAnda Lulus dengan nilai D"); } else { JOptionPane.showMessageDialog(null,"Nilai Akhir Anda :"+total+"\nAnda Lulus dengan nilai E"); } break; case 3: String temp3 = JOptionPane.showInputDialog (" Masukkan Jumlah Deret:"); int deret =Integer.parseInt(temp3); String hasil = " "; for (int i=1;i<= deret;i++) { for (int j=1;j<= i;j++) { hasil = hasil+j; } hasil = hasil+"\n"; } JOptionPane.showMessageDialog(null,hasil); break; case 4: String[][]bil = new String[3][3]; int[][] a = new int[2][2]; int[][] b = new int[2][2]; for(int i=0;i<2;i++) { for(int j=0;j<2;j++) { bil[i][j] = JOptionPane.showInputDialog("Matriks A = "+i+" "+j); a[i][j] = Integer.parseInt(bil[i][j]); } } JOptionPane.showMessageDialog(null,"Matriks A\n"+a[0][0]+" "+a[0][1]+"\n"+a[1][0]+" "+a[1][1]); case 5: JOptionPane.showMessageDialog(null,"Terima Kasih Telah Memakai Program Ini"); System.exit(0); break; default: JOptionPane.showMessageDialog(null,"Maaf Pilihan Anda Salah"); } } while(true); } }
Label: Java




