silahkan buat class baru bernama
FungsiProsedur. Lalu impor class-class yang dibutuhkan.import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
Setelah itu buat variabel global di dalam class
FungsiProsedur:static ArrayList listBuah = new ArrayList();
static boolean isRunning = true;
static InputStreamReader inputStreamReader = new InputStreamReader(System.in);
static BufferedReader input = new BufferedReader(inputStreamReader);
Penjelasan:
- Variabel
listBuahadalah variabel global untuk menyimpan nama-nama buah. - Variabel
isRunningadalah variabel global untuk membuat loop. - Kemudian
inputStreamReaderdaninputadalah objek yang kita butuhkan untuk mengambil input dari keyboard.
Setelah itu, buat masing-masing fungsi.
Fungsi untuk menampilkan menu:
static void showMenu() throws IOException {
System.out.println("========= MENU ========");
System.out.println("[1] Show All Buah");
System.out.println("[2] Insert Buah");
System.out.println("[3] Edit Buah");
System.out.println("[4] Delete Buah");
System.out.println("[5] Exit");
System.out.print("PILIH MENU> ");
int selectedMenu = Integer.valueOf(input.readLine());
switch(selectedMenu){
case 1:
showAllBuah();
break;
case 2:
insertBuah();
break;
case 3:
editBuah();
break;
case 4:
deleteBuah();
break;
case 5:
System.exit(0);
break;
default:
System.out.println("Pilihan salah!");
}
}
Fungsi tersebut bertugas untuk menampilkan menu dan menentukan fungsi mana yang akan dipanggil berdasarkan nomer menu yang diinputkan.
Apa itu
throws IOException?
Nanti saya akan bahas di kesempatan berikutnya. Untuk saat ini diabaikan saja dulu. Ini karena kita menggunakan Buffereader, jadi
throws IOException wajib ditulis.
Fungsi untuk menampilkan data:
static void showAllBuah(){
if(listBuah.isEmpty()){
System.out.println("Belum ada data");
} else {
// tampilkan semua buah
for(int i = 0; i < listBuah.size(); i++){
System.out.println(String.format("[%d] %s",i, listBuah.get(i)));
}
}
}
Fungsi tersebut bertugas menampilkan isi dari
listBuah. Kalau listBuah kosong, maka akan ditampilkan pesan "Belum ada data".
Fungsi untuk menambah data buah:
static void insertBuah() throws IOException{
System.out.print("Nama buah: ");
String namaBuah = input.readLine();
listBuah.add(namaBuah);
}
Pada fungsi tersebut, kita menggunakan method
listBuah.add(namaBuah); untuk menambah data ke dalam listBuah berdasarkan namaBuah yang diberikan.
Fungsi untuk mengubah data buah:
static void editBuah() throws IOException{
showAllBuah();
System.out.print("Pilih nomer buah: ");
int indexBuah = Integer.valueOf(input.readLine());
System.out.print("Nama Baru: ");
String namaBaru = input.readLine();
// ubah nama buah
listBuah.set(indexBuah, namaBaru);
}
Pertama kita perlu tampilkan dulu daftar buahnya, lalu kita minta user untuk memilih buah mana yang akan diedit.
Setelah itu, kita update buahnya dengan method
listBuah.set(indexBuah, namaBaru);.
Fungsi untuk menghapus buah:
static void deleteBuah() throws IOException{
showAllBuah();
System.out.print("Pilih nomer buah: ");
int indexBuah = Integer.valueOf(input.readLine());
// hapus buah
listBuah.remove(indexBuah);
}
Hampir sama seperti edit buah, untuk menghapus buah kita juga butuh nomer indeks buah yang akan dihapus.
Lalu mengapusnya dengan method
listBuah.remove(indexBuah);.
Fungsi main:
public static void main(String[] args) throws IOException {
do {
showMenu();
} while (isRunning);
}
Lengkap sudah, berikut ini bentuk kode lengkapnya.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class FungsiProsedur {
static ArrayList listBuah = new ArrayList();
static boolean isRunning = true;
static InputStreamReader inputStreamReader = new InputStreamReader(System.in);
static BufferedReader input = new BufferedReader(inputStreamReader);
static void showMenu() throws IOException{
System.out.println("========= MENU ========");
System.out.println("[1] Show All Buah");
System.out.println("[2] Insert Buah");
System.out.println("[3] Edit Buah");
System.out.println("[4] Delete Buah");
System.out.println("[5] Exit");
System.out.print("PILIH MENU> ");
int selectedMenu = Integer.valueOf(input.readLine());
switch(selectedMenu){
case 1:
showAllBuah();
break;
case 2:
insertBuah();
break;
case 3:
editBuah();
break;
case 4:
deleteBuah();
break;
case 5:
System.exit(0);
break;
default:
System.out.println("Pilihan salah!");
}
}
static void showAllBuah(){
if(listBuah.isEmpty()){
System.out.println("Belum ada data");
} else {
// tampilkan semua buah
for(int i = 0; i < listBuah.size(); i++){
System.out.println(String.format("[%d] %s",i, listBuah.get(i)));
}
}
}
static void insertBuah() throws IOException{
System.out.print("Nama buah: ");
String namaBuah = input.readLine();
listBuah.add(namaBuah);
}
static void editBuah() throws IOException{
showAllBuah();
System.out.print("Pilih nomer buah: ");
int indexBuah = Integer.valueOf(input.readLine());
System.out.print("Nama Baru: ");
String namaBaru = input.readLine();
// ubah nama buah
listBuah.set(indexBuah, namaBaru);
}
static void deleteBuah() throws IOException{
showAllBuah();
System.out.print("Pilih nomer buah: ");
int indexBuah = Integer.valueOf(input.readLine());
// hapus buah
listBuah.remove(indexBuah);
}
public static void main(String[] args) throws IOException {
do {
showMenu();
} while (isRunning);
}
}
Setelah itu, silahkan dijalankan dan perhatikanlah hasilnya.
========= MENU ========
[1] Show All Buah
[2] Insert Buah
[3] Edit Buah
[4] Delete Buah
[5] Exit
PILIH MENU> 1
Belum ada data
========= MENU ========
[1] Show All Buah
[2] Insert Buah
[3] Edit Buah
[4] Delete Buah
[5] Exit
PILIH MENU> 2
Nama buah: Apel
========= MENU ========
[1] Show All Buah
[2] Insert Buah
[3] Edit Buah
[4] Delete Buah
[5] Exit
PILIH MENU> 1
[0] Apel
========= MENU ========
[1] Show All Buah
[2] Insert Buah
[3] Edit Buah
[4] Delete Buah
[5] Exit
PILIH MENU>
Silahkan coba untuk melakukan insert, edit, dan delete.
CREDIT : petanikode.com
Ridlo Adhi_XSija3_Sudah Dipelajari dan di coba
BalasHapusWibi agus_Xsija3_sudah dipelajari dan di coba
BalasHapusZidni muchlishotul choiriyah_XSija3_sudah dipelajari dan dicoba
BalasHapusNilam latifatun N_Xsija1_sudah dipelajari dan dicoba
BalasHapusKomentar ini telah dihapus oleh pengarang.
BalasHapusSiti nur Faizah_Xsija1_sudah dipelajari dan dicoba
BalasHapusAlindaNs_XSija1_Sudah dipelajari dan dicoba.
BalasHapusHeniFebriyanti_XSija1_Sudah dipelajari dan dicoba
BalasHapusLailatusisti_XSija1_Sudah dipelajari dan di coba
BalasHapusMila Susanti_X SIJA 2_ Sudah dipelajari dan di coba
BalasHapusMenilestari_XSija1_Sudah di pelajari dan di coba
BalasHapusTaszya amaliyah_Xsija1_sudah dipelajari dan dicoba
BalasHapusWiliyanti_X SIJA 1_Sudah dipelajari dan dicoba
BalasHapusVera Puspita_X sija 1_sudah di pelajari dan di coba
BalasHapusVera Puspita _X sija 1_ sudah di pelajari dan di coba
BalasHapusMelisa Amanda_X Sija 2_sudah dipelajari dan dicoba
BalasHapusNony Desvika Shara_X SIJA 1_sudah dipelajari dan di coba
BalasHapusTopan_x sija 3_ sudah di pelajari dan di coba
BalasHapusRetno sumilir_X SIJA 2_sudah dipelajari dan dicoba
BalasHapusINTAN DWI INDRIYANA_X SIJA 2_SUDAH DIPELAJARI DAN DICOBA
BalasHapusDevi Nur Rahmawati_X SIJA 2_SUDAH DIPELAJARI DAN DICOBA
BalasHapusDevi Nur Rahmawati_X SIJA 2_SUDAH DIPELAJARI DAN DICOBA
BalasHapusDevi Nur Rahmawati_X SIJA 2_SUDAH DIPELAJARI DAN DICOBA
BalasHapusNatasya Amanda Valensia_X SIJA 3_SUDAH DIPELAJARI DAN DICOBA
BalasHapusANGGIH TITIS B_X SIJA 3_SUDAH DIPELAJARI DAN DICOBA
BalasHapusSahlan_X SIJA 2_SUDAH DIPELAJARI DAN DICOBA
BalasHapusWandes Setio Aji_X SIJA 3_Sudah Dipelajari Dan Dicoba
BalasHapusSuleman_X SIJA 3_sudah di pelajari dan di coba
BalasHapusInsan Nurrobi_Xsija1_sudah di pelajari dan di coba
BalasHapusNeri Monika sari_XSija2-sudah dipelajari dan dicoba
BalasHapusMa'ruf syarifudin_XSija3_sudah di pelajari dan di coba
BalasHapusErna Febriani_XSIJA1_Sudah Dipelajari dan Dicoba
BalasHapusMeli Suciani_XSIJA2_SUDAH DIPELAJARI DAN DICOBA
BalasHapusRatna Puspita_XSIJA3_sudah dipelajari dan dicoba
BalasHapusGyvariNurputra_Xsija2_Sudahdipelajari dan dicoba
BalasHapusAlvin Iskandardinata_Xsija3_Sudah dipelajari dan di coba.
BalasHapusFrendi akhirin_xsija3 sudah di pelajari dan dicoba
BalasHapusSiti pauziyah_Xsija2_sudah dipelajari dan dicoba
BalasHapusAisyah Nasrillah_xSIJA1_sudah di pelahari dan di coba
BalasHapusMUTAIMATUL MILAH_XSIJA1_SUDAH DIPELAJARI DAN DICOBA
BalasHapusANGELINA AZZAHRA NURLENI_X SIJA 3_SUDAH DIPELAJARI DAN DICOBA
BalasHapusRieza Astrianita_X SIJA 1_Sudah mempelajari dan dicoba
BalasHapusDimas Saputra_x sija 1_sudah mencoba
BalasHapusSalsabilah putri rahayu_X Sija 2_ sudah mempelajari dan mencoba.
BalasHapusSepti Tri Jaenah_X Sija 2_Sudah Mempepajari Dan Mencoba
BalasHapusDilaSofiana_XSIJA2_SudahDipelajariDanDibaca
BalasHapusSelvianingsih_X Sija 1_Sudah mempelajari dan mencoba.
BalasHapusErna Astuti X SIJA 3
BalasHapusSudah dipelajari dan dicoba
Ainunisa Husni Dewi_X SIJA 2_Sudah dipelajari dan dicoba
BalasHapusSawa Hajita Nailah_X SIJA 3_ SUDAH DIPELAJARI DAN DICOBA
BalasHapusAndris sahbowo_X sija 3_ sudah dipelajari dan di coba.. Walaupun bingung wkwkw
BalasHapusUmi Fadilah_X SIJA 3_sudah dipahami dan dicoba
BalasHapusKomentar ini telah dihapus oleh pengarang.
BalasHapusEnjelina Safitri_x sija 1_sudah dipelajari dan dicoba
BalasHapusTri Wahyu Yuhani_X SIJA 3_SUDAH DI PELAJARI DAN DI COBA.
BalasHapusLuthfi Alhakim_X SIJA 3_SUDAH DI PELAJARI DAN DI COBA
BalasHapusTony setiawan_X SIJA 3_SUDAH DI PELAJARI DAN DI COBA
BalasHapusHari Sembodo_X Sija 2_SUDAH DI PELAJARI DAN DI COBA
BalasHapusAdit stiawan_X Sija 2_SUDAH DI PELAJARI DAN DI COBA
BalasHapusRiska Fitriyani Wulandari_X SIJA 2_SUDAH DI PELAJARI DAN DI COBA
BalasHapusAldin Rivaldi_X Sija 2_SUDAH DI PELAJARI DAN DI COBA
BalasHapusSyafanida khakiki_X SIJA 1_ SUDAH DIPELAJARI DAN DICOBA
BalasHapusDilaSofiana_X SIJA 2_SudahDipelajariDanDicoba
BalasHapusZahwa Zirly Aulia-X SIJA 2
BalasHapusSudah dipelajari dan dicoba
Mohamad Abdul Aziz Yusuf_X SIJA 1_Sudah dipelajari dan dicoba
BalasHapusSelvianingsih_X sija 1_Sudah dipelajari dan dicoba.
BalasHapus