Minggu, 21 November 2010

Penjelasan Program Menu JAVA

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):(blok pernyataan)

Break;

Case (nilaivariabel):(blok pernyataan)

Break;

Case (nilaivariabel):(blok pernyataan)

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);’.

2 komentar:

thoyib mengatakan...

bagus2....
:-D

Triono mengatakan...

thaknyou atas bntuannya ^_^

Posting Komentar

Template by:
Free Blog Templates