New Post :
Home » » Contoh Program dengan Fungsi dan Prosedur (COVID-19 MINGGU KE-2)

Contoh Program dengan Fungsi dan Prosedur (COVID-19 MINGGU KE-2)

Selasa, 17 Maret 2020 | 66komentar

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 listBuah adalah variabel global untuk menyimpan nama-nama buah.
  • Variabel isRunning adalah variabel global untuk membuat loop.
  • Kemudian inputStreamReader dan input adalah 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
Share this article :

66 komentar:

  1. Ridlo Adhi_XSija3_Sudah Dipelajari dan di coba

    BalasHapus
  2. Wibi agus_Xsija3_sudah dipelajari dan di coba

    BalasHapus
  3. Zidni muchlishotul choiriyah_XSija3_sudah dipelajari dan dicoba

    BalasHapus
  4. Nilam latifatun N_Xsija1_sudah dipelajari dan dicoba

    BalasHapus
  5. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  6. Siti nur Faizah_Xsija1_sudah dipelajari dan dicoba

    BalasHapus
  7. AlindaNs_XSija1_Sudah dipelajari dan dicoba.

    BalasHapus
  8. HeniFebriyanti_XSija1_Sudah dipelajari dan dicoba

    BalasHapus
  9. Lailatusisti_XSija1_Sudah dipelajari dan di coba

    BalasHapus
  10. Mila Susanti_X SIJA 2_ Sudah dipelajari dan di coba

    BalasHapus
  11. Menilestari_XSija1_Sudah di pelajari dan di coba

    BalasHapus
  12. Taszya amaliyah_Xsija1_sudah dipelajari dan dicoba

    BalasHapus
  13. Wiliyanti_X SIJA 1_Sudah dipelajari dan dicoba

    BalasHapus
  14. Vera Puspita_X sija 1_sudah di pelajari dan di coba

    BalasHapus
  15. Vera Puspita _X sija 1_ sudah di pelajari dan di coba

    BalasHapus
  16. Melisa Amanda_X Sija 2_sudah dipelajari dan dicoba

    BalasHapus
  17. Nony Desvika Shara_X SIJA 1_sudah dipelajari dan di coba

    BalasHapus
  18. Topan_x sija 3_ sudah di pelajari dan di coba

    BalasHapus
  19. Retno sumilir_X SIJA 2_sudah dipelajari dan dicoba

    BalasHapus
  20. INTAN DWI INDRIYANA_X SIJA 2_SUDAH DIPELAJARI DAN DICOBA

    BalasHapus
  21. Devi Nur Rahmawati_X SIJA 2_SUDAH DIPELAJARI DAN DICOBA

    BalasHapus
  22. Devi Nur Rahmawati_X SIJA 2_SUDAH DIPELAJARI DAN DICOBA

    BalasHapus
  23. Devi Nur Rahmawati_X SIJA 2_SUDAH DIPELAJARI DAN DICOBA

    BalasHapus
  24. Natasya Amanda Valensia_X SIJA 3_SUDAH DIPELAJARI DAN DICOBA

    BalasHapus
  25. ANGGIH TITIS B_X SIJA 3_SUDAH DIPELAJARI DAN DICOBA

    BalasHapus
  26. Sahlan_X SIJA 2_SUDAH DIPELAJARI DAN DICOBA

    BalasHapus
  27. Wandes Setio Aji_X SIJA 3_Sudah Dipelajari Dan Dicoba

    BalasHapus
  28. Suleman_X SIJA 3_sudah di pelajari dan di coba

    BalasHapus
  29. Insan Nurrobi_Xsija1_sudah di pelajari dan di coba

    BalasHapus
  30. Neri Monika sari_XSija2-sudah dipelajari dan dicoba

    BalasHapus
  31. Ma'ruf syarifudin_XSija3_sudah di pelajari dan di coba

    BalasHapus
  32. Erna Febriani_XSIJA1_Sudah Dipelajari dan Dicoba

    BalasHapus
  33. Meli Suciani_XSIJA2_SUDAH DIPELAJARI DAN DICOBA

    BalasHapus
  34. Ratna Puspita_XSIJA3_sudah dipelajari dan dicoba

    BalasHapus
  35. GyvariNurputra_Xsija2_Sudahdipelajari dan dicoba

    BalasHapus
  36. Alvin Iskandardinata_Xsija3_Sudah dipelajari dan di coba.

    BalasHapus
  37. Frendi akhirin_xsija3 sudah di pelajari dan dicoba

    BalasHapus
  38. Siti pauziyah_Xsija2_sudah dipelajari dan dicoba

    BalasHapus
  39. Aisyah Nasrillah_xSIJA1_sudah di pelahari dan di coba

    BalasHapus
  40. MUTAIMATUL MILAH_XSIJA1_SUDAH DIPELAJARI DAN DICOBA

    BalasHapus
  41. ANGELINA AZZAHRA NURLENI_X SIJA 3_SUDAH DIPELAJARI DAN DICOBA

    BalasHapus
  42. Rieza Astrianita_X SIJA 1_Sudah mempelajari dan dicoba

    BalasHapus
  43. Dimas Saputra_x sija 1_sudah mencoba

    BalasHapus
  44. Salsabilah putri rahayu_X Sija 2_ sudah mempelajari dan mencoba.

    BalasHapus
  45. Septi Tri Jaenah_X Sija 2_Sudah Mempepajari Dan Mencoba

    BalasHapus
  46. DilaSofiana_XSIJA2_SudahDipelajariDanDibaca

    BalasHapus
  47. Selvianingsih_X Sija 1_Sudah mempelajari dan mencoba.

    BalasHapus
  48. Erna Astuti X SIJA 3
    Sudah dipelajari dan dicoba

    BalasHapus
  49. Ainunisa Husni Dewi_X SIJA 2_Sudah dipelajari dan dicoba

    BalasHapus
  50. Sawa Hajita Nailah_X SIJA 3_ SUDAH DIPELAJARI DAN DICOBA

    BalasHapus
  51. Andris sahbowo_X sija 3_ sudah dipelajari dan di coba.. Walaupun bingung wkwkw

    BalasHapus
  52. Umi Fadilah_X SIJA 3_sudah dipahami dan dicoba

    BalasHapus
  53. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  54. Enjelina Safitri_x sija 1_sudah dipelajari dan dicoba

    BalasHapus
  55. Tri Wahyu Yuhani_X SIJA 3_SUDAH DI PELAJARI DAN DI COBA.

    BalasHapus
  56. Luthfi Alhakim_X SIJA 3_SUDAH DI PELAJARI DAN DI COBA

    BalasHapus
  57. Tony setiawan_X SIJA 3_SUDAH DI PELAJARI DAN DI COBA

    BalasHapus
  58. Hari Sembodo_X Sija 2_SUDAH DI PELAJARI DAN DI COBA

    BalasHapus
  59. Adit stiawan_X Sija 2_SUDAH DI PELAJARI DAN DI COBA

    BalasHapus
  60. Riska Fitriyani Wulandari_X SIJA 2_SUDAH DI PELAJARI DAN DI COBA

    BalasHapus
  61. Aldin Rivaldi_X Sija 2_SUDAH DI PELAJARI DAN DI COBA

    BalasHapus
  62. Syafanida khakiki_X SIJA 1_ SUDAH DIPELAJARI DAN DICOBA

    BalasHapus
  63. DilaSofiana_X SIJA 2_SudahDipelajariDanDicoba

    BalasHapus
  64. Zahwa Zirly Aulia-X SIJA 2
    Sudah dipelajari dan dicoba

    BalasHapus
  65. Mohamad Abdul Aziz Yusuf_X SIJA 1_Sudah dipelajari dan dicoba

    BalasHapus
  66. Selvianingsih_X sija 1_Sudah dipelajari dan dicoba.

    BalasHapus

 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. Eko Dos Santos - All Rights Reserved
Template Modify by Creating Website
Proudly powered by Blogger