Membuat menu Console in JAVA

Membuat menu console di java

Java adalah bahasa pemrograman yang benar-benar berbeda dengan bahasa pemrograman lainnya. Java dapat dijalankan di berbagai operating system (lunux dan windows), bahkan di handphone juga bisa.

Selain itu java mempunyai bermacam varisai, program yang dibuatpun bisa bermacam-macam. Salah satunya adalah console.

Console bisa berjalan di komputer jadul [zaman dulu] sekalipun yang mana tidak memerlukan memory yang besar seperti komputer-komputer zaman sekarang.

Memang sih ketinggalan zaman, atau bahkan mungkin kadaluarsa. Akan tetapi untuk tahap belajar, itu adalah pilihan tepat, kernah pernah pada suatu mata kuliah, dosen saya memberi tugas kepada mahasiswanya untuk membuat sebuah aplikasi menggunakan java. Beliau menyuruhnya dibuat sederhana saja yang penting konsep OOP nya dapet, tetapi anak-anak malah berlomba-lomba menggunakan GUI.

Toh kalo pake GUI emang susah, dan gak bakalan cukup sehari dua hari, sementara waktu pengerjaan tugas sangat singkat.

Akhirnya si Bapak lebih menghargau pekerjaan yang menggunakan console karena lebih sesuai dengan yang diharapkan si Bapak. Yang terpenting itu semua anggota kelompok mengerti, sebagus apapun program yang dibuat, kalo hanya menonjolkan individu tidak adaharganya sama sekali.

Sebelum kita membuat sebuah aplikasi/ program tentunya kita harus membuat storyboardnya/skenarionya terlebih dahulu supaya program yang kita buat tidak ngawur, tidak loncat kemanamana.

Mungkin skenario pembuatan menu console ini misalnya seperti berkut:

  1. Menu ini akan dijalankan di layar console, kita membutuhkan parameter pada method utama dari pembuatan menu ini. Karena menu yang ingin ditampilkan bisa lebih dari satu, maka kita harus buat parameternya ini berupa Array, boleh Array of String, boleh juga Array of Object. Kita tentukan saja sekarang bahwa parameter pertama untuk Menu Console ini adalah Array of String saja. Tapi jika ingin membuat Array of Object pun silahkan, semua terserah anda.
  2. Saat menu console tampil maka user akan memilih salah satu menu tersebut dengan mengetikkan kode menu, dari sini kita bisa ambil kesimpulan, method utama Menu Console ini harus mengembalikan suatu nilai (return) yang berupa String, untuk kemudian nilai kembaliannya itu bisa diproses pada aplikasi selanjutnya. Kita menjadikan String sebagai nilai kembalian dari method ini karena menu console kan bisa saja tidak berupa angka, tapi bisa juga berupa karakter huruf dan lain-lain.
  3. Ketika user mengetikkan kode menu, Menu Console kita ini akan membacanya sebagai sebuah InputStream dan memasukkannya ke dalam sebuah variabel dan kemudian variabelnya itu yang akan menjadi nilai kembalian

OK, sekarang skenarionya sudah dibuat, nah kalo gitu kita mulai membuat pengcodingan. Untuk membuat program java ini anda bisa menggunakan netBeans, JCreator, NotePad++, bahkan notepad biasapun juga.

Misalnya kita akan membuatnya di JCreator, maka pertama kita buka file baru dan beri nama file tersebut MenuConsole, kemudian masukkan code berikut ini :


import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class MenuConsole {
  public static String menuConsole(String[] menuTemp){
    String sMenu ="";
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    System.out.println("Menu ");
    for (int i = 0; i < menuTemp.length; i++) {
      String s = menuTemp[i];
      System.out.println(s);
    }

    System.out.print("Type Code Of Menu : ");
    try {
      sMenu = in.readLine();
    } catch (IOException e) {
      System.out.println("Error : " + e);
    }
    return sMenu;
  }
}

Kita akan bahas satu demi satu Code diatas.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

Baris ini adalah code dimana kita meng-import package standar java.io.* yang nantinya akan kita butuhkan, yaitu BufferedReader, InputStreamReader dan IOException.

public class MenuConsole {
   ......
}

Ini adalah kelas utama dari Menu Console yang akan kita buat. Ingat : jika kita membuat kelas seperi diatas, maka nama file java-nya harus sama dengan nama kelas yang kita buat yaitu MenuConsole.java. Dan nantinya didalamnya akan diisi oleh syntax-syntax selanjutnya.

Selanjutnya kita akan membuat satu method statis yang menjadi inti dari kelas ini. Yaitu:

public static String menuConsole(String[] menuTemp){
  ......
}

Di sini kita dapat melihat bahwa method statis ini mengembalikan nilai String : public static String sebagai return value-nya dan membutuhkan String Array sebagai parameternya : (String[] menuTemp).

String sMenu ="";
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println(" Menu ");

Pada baris ini kita menginisialisasi sebuah variabel bernama sMenu dan mengisinya dengan string empty (“”) untuk menghindari Exception JavaNullPointer variabel sMenu ini. Kemudian kita menginisialisasi object BufferedReader menjadi sebuah variabel bernama in. Lalu variabel in ini harus kita jadikan sebuah objeck baru dengan cara memanggil konstruktornya dengan perintah new, dan konstruktor BufferedReader ini juga mempunyai parameter yang berupa object Reader, langsung saja parameter ini kita isi dengan object baru berupa InputStreamReader yang juga punya parameter berupa InputStream. Dimana InputStream kita langsung masukkan saja dengan Input-an dari system dengan
memasukan System.in sebagai isian parameternya. Kemudian baris
selanjutnya kita mencetak ke layar console string “Menu” dengan menuliskan syntax System.out.println(“menu”);

Selanjutnya kita akan mencetak ke layar console menu-menu yang berasal dari parameter String Array dengan cara me-looping satu demi satu array tsb untuk kemudian menggunakan System.out.println, sebagai methode pencetakannya ke layar console. Berikut syntax-nya:

for (int i = 0; i < menuTemp.length; i++) {
  String s = menuTemp[i];
  System.out.println(s);
}

Setelah itu kita meminta user untuk mengetikan kode menu dengan menuliskan di layar konsole System.out.println(“Type Code Of Menu”); kemudian kita akan menangkap inputan dari user, dan memasukkannya kedalam variable String sMenu yang sebelumnya sudah kita inisialisai dengan tidak lupa
menempatkannnya ke dalam blok try-catch yang memungkinkan program untuk
mencegah user tidak salah mengetikkan kode, seperti syntax berikut:

try {
  sMenu = in.readLine();
}catch (IOException e) {
  System.out.println("Error : " + e);
}

Kemudian yang terakhir adalah kita membuat statement kembalian dari fungsi menuConsole yang baru saja kita buat dengan syntax:

return sMenu;

Sampai disini kita telah selesai membuat method statis dalam kelas MenuConsole yang bernama menuConsole.

Nah sekarang kita tinggal mencoba kelas ini. Terserah bagaimana cara anda
mencoba kelas ini. Tapi disini kita akan mencobanya dengan cara membuat
aplikasi sederhana yang method utamanya memanggil kelas ini untuk
kemudian memakai method menuConsole sebagai
percobaan dalam mengetes Menu Console yang baru saja kita
buat. Dibawah ini source code lengkap contoh aplikasi yang memanggil
kelas MenuConsole dan menggunakan method statis menuConsole yang kita buat tadi.


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

//package kuisconsole;

import java.io.*;
import java.util.*;
/**
 *
 * @author guitarist
 */
class waktu {
    String wkt,tgl;
    public waktu(){
        Calendar cal = Calendar.getInstance();
        int h = cal.get(Calendar.HOUR_OF_DAY);
        int m = cal.get(Calendar.MINUTE);
        int s = cal.get(Calendar.SECOND);
        int D = cal.get(Calendar.DATE);
        int M = cal.get(Calendar.MONTH);
        int Y = cal.get(Calendar.YEAR);
        
        wkt = (h+":"+m+":"+s);
        tgl = (D+"-"+M+"-"+Y);
        System.out.println("Tanggal sekarang : "+tgl);
    }
}

class Main {
    String tanggal;
    //method show menu
    public static String showMenu() {        
	String[] tempMenu ={
            "\n",
			"+----------------------------------------------------+",
			"|                   SELAMAT DATANG                   |",
			"|      DI KUESIONER KEPUASAN MAHASISWA UPI DALAM     |",
			"|  PROSES BELAJAR MENGAJAR DAN KENYAMANAN FASILITAS  |",
			"|====================================================|",
			"|                                                    |",
			"|             MENU UTAMA KUESIONER                   |",
			"|----------------------------------------------------|",
			"|                                                    |",
			"|   1. ISI KUESIONER                                 |",
			"|   2. LIHAT SEMUA PERTANYAAN                        |",
			"|   3. LIHAT DATA JAWABAN                            |",
			"|                                                    |",
			"|----------------------------------------------------|",
			"|   0. EXIT                                          |",
			"+----------------------------------------------------+",
			"\n"
		};
		
		String sResult = "";
		sResult = MenuConsoleGenerator.menuConsoleGenerator(tempMenu);
		return sResult;
    }     
    
    //program main    
    public static void main(String[] args) {
        try {
            String cmd = "";
            do{
            	cmd=showMenu();
            	if (cmd.equals("1")) {
                        System.out.println("\n");
                        //panggil kelas waktu dan kuis
                        new waktu();
                        new kuis();
                        //new lihatsoal();
            		System.out.println("\n\nTekan ENTER untuk kembali ke MENU UTAMA ! ");
                        System.in.read();
            	} else if (cmd.equals("2")) {
            		System.out.println("\n");
                        new waktu();
            		//panggil class lihatsol
                        new lihatsoal();
                        System.out.println("\n\nTekan ENTER untuk kembali ke MENU UTAMA ! ");
                        System.in.read();
            	} else if (cmd.equals("3")) {
            		System.out.println("\n");
                        new waktu();
                        new dataJawaban();
                        System.out.println("\n\nTekan ENTER untuk kembali ke MENU UTAMA ! ");
                        System.in.read();
            	}
            } while(!cmd.equals("0"));
            {
            	System.out.println("\n+----------------------------------------------------+");
                System.out.println("|              --- E X I T ---                       |");
                System.out.println("|----------------------------------------------------|");
                System.out.println("| TERIMA KASIH SUDAH MENGGUNAKAN PRODUK KAMI         |");
                System.out.println("| UNIVERSITAS PENDIDIKAN INDONESIA                   |");
                System.out.println("| PROGRAM STUDI PENDIDIKAN ILMU KOMPUTER             |");
                System.out.println("|----------------------------------------------------|");
                System.out.println("| KELOMPOK : 1. AJENG                                |");
                System.out.println("|            2. GEMA MAHESA                          |");
                System.out.println("|            3. ICEP MULYANA                         |");
                System.out.println("|            4. NOVI                                 |");
                System.out.println("+----------------------------------------------------+");
            }
            
        } catch (Exception ex) {
           System.err.println("ERROR BOOOO (nain) !!" + ex);
        }
    }

}


Nah selamt mencoba yah…

Hatur nuhun…

dikutip dan dimodifikasi lagi dari Josescalia [http://josescalia.blogspot.com]

One thought on “Membuat menu Console in JAVA

  1. kang tolong minta contoh program java yang menampilkan menu sederhana donk?

    contoh nya :

    menu program :
    1.mobil
    2.motor

    kl masuk ke 1:
    *motor*
    1. tarik gas
    2.injak rem
    3.kembali ke menu program.

    buatin contoh diatas donk kang
    nuhun ya..

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s