Learning Java by Building an ATM Program

 Welcome to my coding notes! ๐Ÿ‘‹๐Ÿ’ป

    Pada postingan kali ini, aku akan membahas program ATM sederhana menggunakan Java. Program ini aku buat sebagai latihan untuk memahami logika dasar pemrograman, mulai dari input/output, percabangan, hingga penggunaan switch case.

    Melalui program ini, pengguna dapat melakukan simulasi beberapa fitur dasar mesin ATM, seperti mengecek saldo ๐Ÿ’ฐ, menyetor uang ➕, dan menarik tunai ➖.
Meski sederhana, program ini sangat membantu dalam melatih pola pikir logis dan alur program berbasis menu ๐Ÿง ✨

๐ŸŽฏ Tujuan Program

  • melatih logika dasar pemrograman Java ๐Ÿง 
  • memahami alur program berbasis men๐Ÿ“‹
  • mempraktikkan penggunaan Scanner ⌨️
  • memahami penerapan switch case + if-else dalam Java๐Ÿ”€ 

⚙️ Fitur Program

  • ๐Ÿ’ฐ Cek saldo
  • ➕ Setor tunai
  • ➖ Tarik tunai
  • ๐Ÿšช Keluar

๐Ÿ› ️ Tools yang Digunakan

  • ๐Ÿ’ปApache NetBeans
  • ☕ Bahasa Pemrograman Java

๐Ÿ’ป Implementasi Program

    Berikut ini adalah kode program ATM sederhana yang saya buat:

 public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        double saldo = 500000;
        int pilihan;
        
        do {
            System.out.println("======================================");
            System.out.println("         SELAMAT DATANG DI ATM        ");
            System.out.println("======================================");
            System.out.println("1. Cek Saldo");
            System.out.println("2. Setor Tunai");
            System.out.println("3. Tarik Tunai");
            System.out.println("4. Keluar");
            System.out.println("======================================");
            System.out.println("Pilih Menu: ");
            pilihan = scanner.nextInt();
            
            switch (pilihan) {
                case 1:
                    System.out.println("======================================");
                    System.out.println("Saldo Anda Saat Ini: Rp " + saldo);
                    System.out.println("======================================");
                case 2:
                    System.out.println("Masukkan Jumlah Yang Ingin Disetor: Rp");
                    double setor = scanner.nextDouble();
                    if(setor > 0) {
                        saldo += setor;
                        System.out.println("Setor Tunai Berhasil. Saldo Anda Sekarang: Rp." + saldo);
                    }else {
                        System.out.println("Jumlah Setor Tidak Valid");
                    }
                    break;
                case 3:
                    System.out.println("Masukkan Jumlah Yang Ingin Ditarik: Rp");
                    double tarik = scanner.nextDouble();
                    if(tarik > 0 && tarik <= saldo) {
                        saldo -= tarik;
                        System.out.println("Tarik Tunai Berhasil. Saldo Anda Sekarang: Rp" + saldo);
                    }else if (tarik > saldo) {
                        System.out.println("Saldo Tidak Mencukupi");
                    }else {
                        System.out.println("Jumlah Setor Tidak Valid");
                    }
                    break;
                    
                case 4:
                    System.out.println("======================================");
                    System.out.println("TERIMAKASIH TELAH MENGGUNAKKAN ATM KAMI");
                    System.out.println("======================================");
                
            }
        }while (pilihan != 4);
        
        scanner.close();
    }
    
}

Tampilan program ATM di Apache NetBeans



๐Ÿ’ก Penjelasan Setelah Kode

    Setelah kode dijalankan, program akan menampilkan menu ATM seperti ini:

========================
SELAMAT DATANG DI ATM
========================
    1. Cek saldo
    2. Setor tunai
    3. Tarik tunai
    4. Keluar
Pengguna tinggal memasukkan pilihan menu yang diinginkan:
    • Jika memilih 1 (Cek saldo) ๐Ÿ’ฐ, program menampilkan jumlah saldo saat ini.
    • Jika memilih 2 (Setor tunai) ➕, pengguna memasukkan jumlah uang yang ingin disetor, lalu saldo bertambah sesuai input.
    • Jika memilih 3 (Tarik tunai) ➖, pengguna memasukkan jumlah uang yang ingin ditarik, saldo berkurang sesuai input, lalu menampilkan pesan  jika saldo tidak cukup.
    • Jika memilih 4 (Keluar) ๐Ÿšช, program berhenti dan keluar dari menu.
Program ini bisa diulang beberapa kali hingga pengguna memilih keluar, sehingga pengguna dapat melakukan beberapa transaksi dalam satu sesi. Dengan begitu, alur program menjadi logis, mudah dipahami, dan interaktif ๐Ÿง ✨

 ๐Ÿ”„ Penjelasan Switch Case + If-Else

Program menggunakan switch case untuk menentukan aksi berdasarkan menu yang dipilih pengguna.
  • Input dari pengguna masuk ke switch → menjalankan case sesuai pilihan
  • Kalau input tidak sesuai menu → tidak ada case lain, bisa ditambahkan default untuk pesan error
Dalam beberapa aksi seperti setor dan tarik tunai, digunakan if-else untuk memeriksa kondisi:
  • Setor tunai: if(setor > 0) → saldo bertambah ➕, else → “Jumlah Setor Tidak Valid”
  • Tarik tunai:
  • if(tarik > 0 && tarik ≤ saldo) → saldo berkurang ➖
  • else if(tarik > saldo) → “Saldo Tidak Mencukupi” ⚠️
  • else → “Jumlah Setor Tidak Valid” ❌
Dengan kombinasi switch case + if-else + else if, program jadi lebih aman, fleksibel, dan mudah dipahami ๐Ÿ˜Ž✨

    Program ATM ini bantu aku paham input/output, percabangan, dan alur menu. 
Dengan nyoba bikin program ini, aku bisa latihan logika berpikir secara nyata. 
Semoga bisa jadi referensi kecil buat belajar Java ๐Ÿ’ป✨ 

 ~ Selesai ~

Komentar

Posting Komentar