Tumgik
bayu-ti-poltektegal · 4 years
Text
Belajar Java OOP: Memahami Inheritance dan Method Overriding
Tumblr media
Seperti yang sudah kita pelajari pada tulisan sebelumnya: sebuah class atau objek bisa saling berhubungan dengan class yang lain.
Salah satu bentuk hubungannya adalah inheritance (pewarisan). Hubungan ini seperti hubungan keluarga antara orang tua dan anak.
Sebuah class di Java, bisa memiliki satu atau lebih keturunan atau class anak. Class anak akan memiliki warisan properti dan method dari class ibu.
Pada tutorial ini kita akan belajar:
Kenapa kita harus menggunakan inheritance?
Contoh Program inheritance
Method Overriding
Mari kita mulai…
Kenapa Kita Harus Menggunakan Inheritance?
Misalkan dalam Game, kita akan membuat class-class musuh dengan perilaku yang berbeda.
Tumblr media
Lalu kita membuat kode untuk masing-masing kelas seperti ini:
File: Zombie.java
class Zombie {    String name;    int hp;    int attackPoin;    void attack(){        // ...    }    void walk(){        //...    } }
File: Pocong.java
class Pocong {    String name;    int hp;    int attackPoin;    void attack(){        // ...    }    void jump(){        //...    } }
File: Burung.java
class Burung {    String name;    int hp;    int attackPoin;    void attack(){        // ...    }    void walk(){        //...    }    void jump(){        //...    }    void fly(){        //...    } }
Apakah boleh seperti ini?
Ya, boleh-boleh saja. Akan Tapi tidak efektif, karena kita menulis berulang-ulang properti dan method yang sama.
Bagaimana solusinya?
Kita harus menggunakan inheritance.
Mari kita lihat member class yang sama:
Tumblr media
Setelah menggunakan inheritance, maka akan menjadi seperti ini:
Tumblr media
Oya, inheritance di StarUML digambarkan dengan garis hubung Generalization.
Class Enemy adalah class induk yang memiliki anak Zombie, Pocong, dan Burung. Apapun properti yang ada di class induk, akan dimiliki juga oleh class anak.
Lalu bagaimana bentuk kodenya dalam Java?
Bentuk kodenya akan seperti ini:
File: Enemy.java
class Enemy {    String name;    int hp;    int attackPoin;    void attack(){        System.out.println("Serang!");    } }
Pada class anak, kita menggunakan kata kunci extends untuk menyatakan kalau dia adalah class turunan dari Enemy.
File: Zombie.java
class Zombie extends Enemy {    void walk(){        System.out.println("Zombie jalan-jalan");    } }
File: Pocong.java
class Pocong extends Enemy {    void jump(){        System.out.println("loncat-loncat!");    } }
File: Burung.java
class Burung extends Enemy {    void walk(){        System.out.println("Burung berjalan");    }    void jump(){        System.out.println("Burung loncat-loncat");    }    void fly(){        System.out.println("Burung Terbang...");    } }
Lalu, bila kita ingin membuat objek dari class-class tersebut, Kita bisa membuatnya seperti ini:
Enemy monster = new Enemy(); Zombie zumbi = new Zombie(); Pocong hantuPocong = new Pocong(); Burung garuda = new Burung();
Contoh Program Inheritance
Setelah memahami konsep inheritance, sekarang mari kita buat contoh program sederhana.
Program yang akan kita buat untuk berfungsi untuk menghitung luas dan keliling bangun datar.
Bentuk class diagramnya seperti ini:
Tumblr media
Baik, mari kita buat semua class-class-nya.
Buka Netbeans, pada Porject yang kemarin, buatlah package baru bernama inheritance di dalam Source Packages.
Tumblr media
Isi nama package dengan inheritance.
Tumblr media
Berikutnya buatlah class-class baru berdasarkan diagram di atas.
File: inheritance/BangunDatar.java
package inheritance; public class BangunDatar {        float luas(){        System.out.println("Menghitung laus bangun datar");        return 0;    }        float keliling(){        System.out.println("Menghitung keliling bangun datar");        return 0;    }     }
File: inheritance/Persegi.java
package inheritance; public class Persegi extends BangunDatar {    float sisi;   }
File: inheritance/Lingkaran.java
package inheritance; public class Lingkaran extends BangunDatar{        // jari-jari lingkaran    float r;     }
File: inheritance/PersegiPanjang.java
package inheritance; public class PersegiPanjang extends BangunDatar {    float panjang;    float lebar; }
File: inheritance/Segitiga.java
package inheritance; public class Segitiga extends BangunDatar {        float alas;    float tinggi;     }
File: inheritance/Main.java
package inheritance; public class Main {    public static void main(String[] args) {                // membuat objek bangun datar        BangunDatar mBangunDatar = new BangunDatar();                // membuat objek persegi dan mengisi nilai properti        Persegi mPersegi = new Persegi();        mPersegi.sisi = 2;                // membuat objek Lingkaran dan mengisi nilai properti        Lingkaran mLingkaran = new Lingkaran();        mLingkaran.r = 22;                // membuat objek Persegi Panjang dan mengisi nilai properti        PersegiPanjang mPersegiPanjang = new PersegiPanjang();        mPersegiPanjang.panjang = 8;        mPersegiPanjang.lebar = 4;                // membuat objek Segitiga dan mengisi nilai properti        Segitiga mSegitiga = new Segitiga();        mSegitiga.alas = 12;        mSegitiga.tinggi = 8;                        // memanggil method luas dan keliling        mBangunDatar.luas();        mBangunDatar.keliling();                mPersegi.luas();        mPersegi.keliling();                mLingkaran.luas();        mLingkaran.keliling();                mPersegiPanjang.luas();        mPersegiPanjang.keliling();                mSegitiga.luas();        mSegitiga.keliling();    } }
Setelah itu, coba jalankan class Main, maka hasilnya:
Tumblr media
Kenapa hasilnya bisa begitu?
Karena yang kita panggil sebenarnya adalah method luas() dan keliling() milik si induk (BangunDatar).
Objek anak dari BangunDatar belum memiliki method luas() dan keliling(), akhirnya mengambil milik induknya.
Lalu bagaimana kalau kita ingin membuat agar semua class anak memiliki method luas() dan keliling() yang berbeda dari induk?
Jawabanya: menggunakan method overriding.
Method Overriding
Method Overriding dilakukan saat kita ingin membuat ulang sebuah method pada sub-class atau class anak.
Method Overriding dapat dibuat dengan menambahkan anotasi @Override di atas nama method atau sebelum pembuatan method.
Contoh: Persegi.java
class Persegi extends BangunDatar {    float sisi;    @Override    float luas(){        float luas = sisi * sisi;        System.out.println("Luas Persegi: " + luas);        return luas;    }    @Override    float keliling(){        float keliling = 4 * sisi;        System.out.println("Keliling Persegi: " + keliling);        return keliling;    } }
Artinya kita menulis ulang method luas() dan keliling() di class anak.
Sekarang mari kita buat method overriding untuk semua class anak.
File: Lingkaran.java
package inheritance; public class Lingkaran extends BangunDatar{        // jari-jari lingkaran    float r;        @Override    float luas(){        float luas = (float) (Math.PI * r * r);        System.out.println("Luas lingkaran: " + luas);        return luas;    }        @Override    float keliling(){        float keliling = (float) (2 * Math.PI * r);        System.out.println("Keliling Lingkaran: " + keliling);        return keliling;    }     }
Dalam rumus luas dan keliling lingkaran, kita bisa memanfaatkan konstanta Math.PI sebagai nilai PI. Konstanta ini sudah ada di Java.
File: PersegiPanjang.Java
package inheritance; public class PersegiPanjang extends BangunDatar {    float panjang;    float lebar;        @Override    float luas(){        float luas = panjang * lebar;        System.out.println("Luas Persegi Panjang:" + luas);        return luas;    }        @Override    float keliling(){        float kll = 2*panjang + 2*lebar;        System.out.println("Keliling Persegi Panjang: " + kll);        return kll;    } }
File: Segitiga.java
package inheritance; public class Segitiga extends BangunDatar {        float alas;    float tinggi;    @Override    float luas() {        float luas = alas * tinggi;        System.out.println("Luas Segitiga: " + luas);        return luas;    }       }
Untuk class Segitiga, kita hanya melakukan override terhadap method luas() saja. Karena untuk method keliling(), segitiga memiliki rumus yang berbeda-beda.
…atau mungkin bisa diturunkan lagi class segitiga ini menjadi: SegitigaSiku, SegitigaSamaKaki, SegitigaSamaSisi, dsb.
Sekarang mari kita coba eksekusi class Main lagi:
Tumblr media
Tunggu dulu!
Tadi di awal katanya tidak efisien menulis berulang-ulang, lah ini?
Iya di awal kita menulis atribut dari Enemy yang sama berulang-ulang. Berbeda dengan yang ini, kita memang menulis method yang sama. Tapi isi atau rumus di dalam method-nya berbeda-beda.
Ini nanti akan kita bahas dalam Polymorfisme (banyak bentuk).
0 notes
bayu-ti-poltektegal · 4 years
Text
Belajar Java OOP: Memahami Konsep Dasar OOP (untuk Pemula)
Tumblr media
OOP merupakan hal yang harus dipelajari untuk memahami Java lebih dalam. Karena Java sendiri merupakan bahasa yang didesain untuk OOP.
Buktinya:
Saat kita membuat program pertama, kita diwajibkan menggunakan class.
class Hello {    public static void main(String[] args){        System.out.println("Hello World!");    } }
OOP dikenal sebagai teknik pemrograman modern yang lebih efisien dan banyak digunakan pada Framework.
Jika kamu ingin memahami Framework, pelajari dulu konsep OOP
Jadi tidak ada alasan untuk tidak belajar OOP.
Apa saja yang akan kita pelajari pada artikel ini?
Apa itu OOP?
Objek dan Class
Class Diagram
Mari kita mulai…
Apa itu OOP?
OOP (Object Oriented Programming) atau dalam bahasa indonesia dikenal dengan pemrograman berorientasikan objek (PBO) merupakan sebuah paradigma atau teknik pemrograman yang berorientesikan Objek.
Pada OOP, Fungsi dan variabel dibungkus dalam sebuah objek atau class yang dapat saling brinteraksi, sehingga membentuk sebuah program.
Tumblr media
Variabel dalam objek akan menyimpan data dari objek. Sedangkan fungsi akan menentukan operasinya.
Contoh objek dalam dunia nyata: Mobil, Burung, Drone, Meja, Pohon, dll.
------------------OBJEK Drone ------------------Variabel/Atribut energi = 100; ketinggian = 200; kecepatan = 29; ------------------Fungsi terbang(); matikanMesin(); turun(); maju(); mundur(); belok(); ------------------
Semua objek di dunia nyata yang memiliki sifat dan tingkah laku, bisa kita representasikan dalam kode.
Kata kunci yang perlu diingat:
“Objek isinya data dan fungsi”
Class dan Object
Class adalah rancangan atau blue print dari sebuah objek.
Sedangkan objek dalam pemrograman adalah sebuah variabel yang merupakan instance dari Class.
Instance bisa diartikan sebagai wujud dari class.
Class berisi definisi variabel dan fungsi yang menggambarkan sebuah objek.
Dalam OOP:
Variabel disebut atribut atau properti;
Fungsi disebut method.
Contoh Class:
class NamaClass {    String atribut1;    String atribut2;    void namaMethod(){ ... }    void namaMethodLain(){ ... } }
Lalu, Kita biasanya membuat objek (instance) seperti ini:
NamaClass namaObj = new NamaClass();
Kata kunci new berfungsi untuk membuat objek baru dari class tertentu.
Setelah membuat objek, kita bisa mengakses atribut dan method dari objek tersebut.
Contoh:
namaObj.namaMethod(); namaObj.atribut1;
Tanda titik (.) berfungsi untuk mengakses atribut dan method.
Contoh Program OOP
Kita akan menggunakan Netbeans, silahkan buat project baru.
Tumblr media
Isi nama project-nya dengan “BelajarOOP” dan jangan centang “Create Main Class”.
Tumblr media
Setelah itu, silahkan buat package baru. Klik kanan pada <default package>, lalu pilih New->Java Package.
Tumblr media
Isi nama package dengan “dasar”:
Tumblr media
Setelah itu, di dalam package dasar, silahkan buat class baru bernama Player.java.
Klik kanan pada package dasar lalu pilih New->Java Class. Setelah itu, isi namanya dengan Player.java.
Silahkan tulis kode pada Player.java seperti ini:
package dasar; public class Player {        // definisi atribut    String name;    int speed;    int healthPoin;    // definisi method run    void run(){        System.out.println(name +" is running...");        System.out.println("Speed: "+ speed);    }    // definisi method isDead untuk mengecek nilai kesehatan (healthPoin)    boolean isDead(){        if(healthPoin <= 0) return true;        return false;    }     }
Berikutnya, buat class baru lagi bernama Game.java dan isi kodenya seperti ini:
package dasar; public class Game {    public static void main(String[] args){        // membuat objek player        Player petani = new Player();        // mengisi atribut player        petani.name = "Petani Kode";        petani.speed = 78;        petani.healthPoin = 100;        // menjalankan method        petani.run();        if(petani.isDead()){            System.out.println("Game Over!");        }    } }
Coba eksekusi Game.java dengan klik kanan pada Game.java lalu pilih Run File. Maka hasilnya:
Tumblr media
Coba ganti nilai healthPoin menjadi 0.
petani.healthPoin = 0;
Setelah itu, coba eksekusi lagi:
Tumblr media
Player petani sudah mati, Game selsai!
Kok Bisa Begitu? Jelaskan Donk!
Baik, kita mulai dari pembuatan class.
Pertama-tama, kita membuat sebuah class dengan nama Player. Class ini mendefinisikan objek Player dalam Game dengan atribut sebagai berikut:
name adalah nama objek;
speed adalah kecepatan;
healthPoin adalah nilai kesehatan dari player, biasanya disingkat hp.
Lalu class Player memiliki method:
run() untuk menggerakkan player;
isDead() untuk mengecek kondisi kesehatan player. Method ini akan mengembalikan nilai true apabila nilai hp lebih kecil atau sama dengan nol (0), sebaliknya akan mengembalikan nilai false.
Berikutnya kita membuat objek baru dari class Player pada class Game bernama petani.
// membuat objek player Player petani = new Player();
Setelah itu mengisi atribut-atributny. Karena kalau tidak diisi akan bernilai Null dan bisa menyebabkan NullPointerException.
Tumblr media
Berikutnya kita coba modifikasi nilai hp menjadi nol.
Hasilnya, pesan Game Over! akan ditampilkan. Karena method isDead() akan mengembalikan nilai true jika nilai hp kurang atau sama dengan nol.
Tumblr media
Contoh Program OOP 2: Program Drone
Untuk praktek berikutnya, coba buat class Drone.
class Drone {    // atribut    int energi;    int ketinggian;    int kecepatan;    String merek;    // method    void terbang(){        energi--;        if(energi > 10){            // terbang berarti nilai ketinggian bertambah            ketinggian++;            System.out.println("Dorne terbang...");        } else {            System.out.println("Energi lemah: Drone nggak bisa terbang");        }    }    void matikanMesin(){        if(ketinggian > 0){            System.out.println("Mesin tidak bisa dimatikan karena sedang terbang");        } else {            System.out.println("Mesin dimatikan...");        }    }    void turun(){        // ketinggian berkurang, karena turun        ketinggian--;        energi--;        System.out.println("Drone turun");    }    void belok(){        energi--;        System.out.println("Drone belok");        // belok ke mana? perlu dicek :)    }    void maju(){        energi--;        System.out.println("Drone maju ke depan");        kecepatan++;    }    void mundur(){        energi--;        System.out.println("Drone mundur");        kecepatan++;    } }
Bagaimana Menentukan Atribut dan Method dari Objek?
Seperti yang sudah dijelaskan di awal. Objek memiliki data (atribut) dan operasi (fungsi).
Kuncinya:
Atribut itu seperti ciri-ciri dari objek.
Method itu seperti tingkah laku atau operasi.
Contoh:
Misalkan kita ingin membuat class dari Senjata.
Apa ciri-ciri dari senjata atau data yang bisa dijadikan atribut?
jumlah peluru
jenis
nama senjata
berat
warna
dll
Lalu apa tingkah laku atau operasi (fungsi) yang bisa dilakukan?
tembak()
lempar()
kurangiPeluru()
reload()
dll.
Tumblr media
Maka class-nya bisa dibuat seperti ini:
class Senjata {    // atribut    String nama;    int jumlahPeluru;        // method    void tembak(){        //..        // setelah nembak, kurangi peluru        jumlahPeluru--;    }    void reload(){        //..        // kalau di-reload maka jumlah peluru diisi ulang        jumlahPeluru = 300;    } }
Mudah bukan…
Mengenal Class Diagram
Class Diagram adalah sebuah diagram yang menggambarkan hubungan antar class. Class Diagram dapat kita buat dengan aplikasi perancangan (CASE), seperti StarUML.
Tumblr media
Sebauh class digambarkan dengan sebuah tabel 1 kolom dan 3 baris.
Baris pertama berisi nama class; Baris kedua berisi atribut; dan Baris ketiga berisi method.
Tumblr media
Selain itu, terdapat garis yang menggambarkan hubungan antar class.
Tumblr media
Class Diagram biasanya digunakan oleh software engineer untuk merancang software dengan paradigma OOP.
Sebagai programmer, kita hanya perlu tahu cara membaca dan menuliskannya ke dalam kode.
1 note · View note
bayu-ti-poltektegal · 4 years
Text
Belajar Java: Menggunakan Prosedur dan Fungsi untuk Membuat Sub-program
Tumblr media
Pada contoh program di pembahasan sebelumnya, kita hanya menulis kode intruksi pada fungsi main() saja.
Fungsi main() adalah fungsi utama dalam program Java. Semua kode yang kita tulis di dalamnya, akan langsung dieksekusi.
Tapi masalahnya sekarang:
“Bagaimana kalau kita membuat program yang cukup besar, apakah kita masih bisa menulis semua kodenya di dalam fungsi main()?”
Bisa-bisa saja, tapi kurang efektif dan akan menghabiskan banyak tenaga untuk mengetik kodenya.
Belum lagi kalau ada error…
“Lalu solusinya bagaimana?”
Solusinya menggunakan prosedur/fungsi.
Prosedur/fungsi dapat memecah program menjadi sub-sub program, sehingga kita bisa membuat program lebih efisien.
Penggunaan prosedur/fungsi dapat mengurangi pengetikan kode yang berulang-ulang.
Pada kesempatan ini, kita akan belajar menggunakan prosedur/fungsi pada Java untuk membuat program.
Pertama, kita kenalan dulu dengan prosedur dan fungsi. Setelah itu, dilanjutkan dengan contoh program.
Pengertian Prosedur, Fungsi, dan Method
Jangan bingung…karena ketiga-tiganya sama.
Prosedur, Fungsi, dan Method itu sama.
Prosedur adalah sebutan untuk fungsi yang tidak mengembalikan nilai. Fungsi ini biasanya ditandai dengan kata kunci void.
Fungsi adalah sebutan untuk fungsi yang mengembalikan nilai.
Method adalah fungsi yang berada di dalam Class. Sebutan ini, biasanya digunakan pada OOP.
Untuk memudahkan, mari kita sebut semuanya fungsi.
Cara Membuat Fungsi di Java
Fungsi harus dibuat atau ditulis di dalam class.
Struktur dasarnya seperti ini:
static TypeDataKembalian namaFungsi(){    // statemen atau kode fungsi }
Penjelasan:
Kata kunci static, artinya kita membuat fungsi yang dapat dipanggil tanpa harus membuat instansiasi objek.
Bingung? Nanti saya jelaskan.
TypeDataKembalian adalah tipe data dari nilai yang dikembalikan setelah fungsi dieksekusi.
namaFungsi() adalah nama fungsinya. Biasanya ditulis dengan huruf kecil di awalnya. Lalu, kalau terdapat lebih dari satu suku kata, huruf awal di kata kedua ditulis kapital.
Contoh:
static void ucapSalam(){    System.out.println("Selamat Pagi"); }
Tipe data void artinya kosong, fungsi tersebut tidak mengebalikan nilai apa-apa.
Cara Memanggil/Eksekusi Fungsi
Setelah kita membuat fungsi, selanjutnya kita akan mengeksekusi fungsinya.
Fungsi dapat dipanggil dari fungsi main atau dari fungsi yang lainnya.
Contoh pemanggilan fungsi dalam dalam funsgi main:
public static void main(String[] args){    ucapSalam(); }
Maka akan menghasilkan output:
Selamat Pagi
Kode lengkapnya, silahkan dicoba sendiri:
class BelajarFungsi {        // membuat fungsi ucapSalam()    static void ucapSalam(){        System.out.println("Selamat Pagi");    }    // membuat fungsi main()    public static void main(String[] args){        // memanggil/eksekusi fungsi ucapSalam()        ucapSalam();    } }
Fungsi dengan Parameter
Parameter adalah variabel yang menampung nilai untuk diproses di dalam fungsi. Parameter berperan sebagai input untuk fungsi.
Struktur dasarnya seperti ini:
static TipeData namaFungsi(TipeData namaParameter, TipeData namaParameterLain){    // kode fungsi }
Penjelasan:
Parameter ditulis di antara tanda kurung (...);
Parameter harus diberikan tipe data;
Bila terdapat lebih dari satu parameter, maka dipisah dengan tanda koma.
Contoh fungsi yang memiliki parameter:
static void ucapin(String ucapan){    System.out.println(ucapan); }
Pada contoh tersebut, kita membuat parameter bernama ucapan dengan tipe String. Sehingga kita bisa menggunakan variabel ucapan di dalam fungsi.
Cara pemanggilan fungsi yang memiliki parameter:
ucapin("Hallo!"); ucapin("Selamat datang di pemrograman Java"); ucapin("Saya kira ini bagian terakhir"); ucapin("Sampai jumpa lagi, ya!");
Hasil outputnya:
Hallo! Selamat datang di pemrograman Java Saya kira ini bagian terakhir Sampai jumpa lagi, ya!
Fungsi yang Mengembalikan Nilai
Setelah fungsi memproses data yang diinputkan melalui parameter, selanjutnya fungsi harus mengembalikan nilai agar dapat diolah pada proses berikutnya.
Pengembalian nilai pada fungsi menggunakan kata kunci return.
Contoh:
static int luasPersegi(int sisi){    int luas = sisi * sisi;    return luas; }
Pada contoh tersebut, kita membuat sebuah parameter bernama sisi. Kemudian fungsi akan mengembalikan nilai dengan tipe int (integer) dari variabel luas.
Contoh pemanggilanya:
System.out.println("Luas Persegi dengan panjang sisi 5 adalah " + luasPersegi(5));
Hasil Output:
Luas Persegi dengan panjang sisi 5 adalah 25
Pemanggilan Fungsi di Fungsi Lain
Fungsi-fungsi dapat saling memanggil untuk memproses data.
Contoh, sebuah program Kalkulator Bangun Ruang memiliki fungsi-fungsi: luasPersegi(), luasPersegiPanjang(), luasSegitiga(), luasBalok(), luasKubus() dsb.
Fungsi-fungsi tersebut dapat saling membantu, contoh fungsi luasKubus() membutuhkan fungsi luasPersegi().
Rumus:
Luas Kubus = 6 *  luasPersegi; Luas Persegi = sisi * sisi;
Maka programnya bisa dibuat seperti ini:
public class BangunRuang {    public static void main(String[] args) {        int s = 12;        int luas = luasKubus(s);        System.out.println(luas);    }    // membuat fungsi luasPersegi()    static int luasPersegi(int sisi){        return sisi * sisi;    }    // membuat fungsi luasKubus()    static int luasKubus(int sisi){                // memanggil fungsi luasPersegi        return 6 * luasPersegi(sisi);    } }
Hasil output
864
Fungsi Static dan Non-Static
Pada contoh-contoh diatas, kita menggunakan kata kunci static sebelum membuat fungsi.
Kata kunci static akan membuat fungsi dapat dieksekusi langsung, tanpa harus membuat instansiasi objek dari class.
Contoh:
public class FungsiStatic {        // Fungsi non-static    void makan(String makanan){        System.out.println("Hi!");        System.out.println("Saya sedang makan " + makanan);    }        // fungsi static    static void minum(String minuman){        System.out.println("Saya sedang minum " + minuman);    }        // fungsi main    public static void main(String[] args) {                // pemanggilan fungsi static        minum("Kopi");                        // mambuat instansiasi objek saya dari class FungsiStatic        FungsiStatic saya = new FungsiStatic();        // pemanggilan fungsi non-static        saya.makan("Nasi Goreng");            }     }
Pada contoh tersebut, fungsi makan() adalah fungsi non-static. Sedangkan fungsi minum() adalah fungsi static.
Hasil output dari program di atas:
Saya sedang minum Kopi Hi! Saya sedang makan Nasi Goreng
Apabila kita tidak membuat objek untuk memanggil fungsi non-static, maka akan terjadi error.
Variabel Global dan Variabel Lokal pada Java
Variabel global adalah variabel yang bisa diakses dari semua fungsi. Sedangkan variabel lokal adalah variabel yang hanya bisa diakses dari dalam fungsi tempat variabel itu berada.
Bingung?
Mari kita lihat contohnya:
class ProgramKu{    // ini variabel global    static String nama = "Programku";    static String version = "1.0.0";    static void help(){        // ini variabel lokal        String nama = "Petani Kode";        // mengakses variabel global di dalam fungso help()        System.out.println("Nama: " + nama);        System.out.println("Versi: " + version);    }    public static void main(String args[]){                // panggil fungsi help()        help();                System.out.println("Nama: " + nama);        System.out.println("Versi: " + version);    } }
Hasil outputnya:
Nama: Petani Kode Versi: 1.0.0 Nama: Programku Versi: 1.0.0
Saat pemanggilan fungsi help() kita membuat ulang variabel nama. Sehingga variabel nama menjadi variabel lokal pada fungsi help() dan nilainya berubah menjadi "Petani Kode".
Sedangkan, saat kita akases lagi variabel nama melalui fungsi main() nilainya tetap sama seperti yang didefinisikan.
Contoh Program dengan Fungsi dan Prosedur
Program ini adalah program sederhana dengan fitur sebagai berikut:
Baca data dari ArrayList
Simpan data ke ArrayList
Ubah data
Hapus Data
Keluar
Belum tahu tentang ArrayList?
Silahkan baca meteri: Mengenal Array di Java
Baiklah, 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.
1 note · View note
bayu-ti-poltektegal · 4 years
Text
Belajar Java: Menggunakan Array untuk Menyimpan Banyak Hal
Tumblr media
Apa yang akan kita lakukan bila memiliki banyak data yang akan disimpan dalam variabel?
Misalkan kita ingin menyimpan nama-nama teman dalam variabel.
Maka mungkin kita akan melakukannya seperti ini:
String namaTeman1 = "Linda"; String namaTeman2 = "Santi"; String namaTeman3 = "Susan"; String namaTeman4 = "Mila"; String namaTeman5 = "Ayu";
Hal ini sah-sah saja.
Akan tetapi…
Masalahnya bagaimana kala datanya banyak, misalkan ada 100 data, pastinya capek donk membuat variabel sebanyak itu.
Karena itu, kita bisa menyimpan itu semua dalam Array.
Apa itu Array?
Array adalah sebuah variabel yang bisa menyimpan banyak data dalam satu variabel.
Array menggunakan indeks untuk memudahkan akses terhadap data yang disimpannya.
Tumblr media
Indeks array selalu dimulai dari 0…
…dan perlu diketahui juga, indeks tidak selalu dalam bentuk angka. Bisa juga karakter atau teks.
Cara Membuat Array di Java
Cara membuat array kosong:
// cara pertama String[] nama; // cara kedua String nama[]; // cara ketiga dengan kata kunci new String[] nama = new String[5];
Parhatikan:
Kita menggunakan kurung siku [] untuk membuat array;
Kurung siku bisa diletakkan setelah tipe data atau nama array;
Angka 5 dalam kurung artinya batas atau ukuran array-nya.
Array yang kosong siap diisi dengan data. Pastikan mengisinya dengan data yang sesuai dengan tipe datanya.
Kita bisa mengisinya seperti ini:
nama[0] = "Linda"; nama[1] = "Santi"; nama[2] = "Susan"; nama[3] = "Mila"; nama[4] = "Ayu";
Atau kalau tidak mau repot, kita bisa membuat array dan langsung mengisinya.
String[] nama = {"Linda", "Santi", "Susan", "Mila", "Ayu"};
Mengambil Data dari Array
Seperti yang sudah kita ketahui, array memiliki indeks untuk memudahkan kita mengakses datanya.
Karena itu, kita bisa mengambil datanya dengan cara seperti ini:
// membuat array String[] nama = {"Linda", "Santi", "Susan", "Mila", "Ayu"}; // mengambil data array System.out.println(teman[2]);
Kira-kira apa hasil outputnya?
Yep! benar sekali, hasil outputnya adalah:
Susan
Karena Susan terletak di indeks ke-2.
Menggunakan Perulangan
Mengambil data satu per satu dari array mungkin cukup melelahkan, karena kita harus mengtik ulang nama array-nya dengan indeks yang berbeda.
Contoh:
System.out.println(teman[0]); System.out.println(teman[1]); System.out.println(teman[2]); System.out.println(teman[3]);
Bagaimana kalau data array-nya sampai 1000, maka kita harus mengetik kode sebanyak seribu kali.
Karena itu, disinilah peran perulangan.
Tumblr media
Perhatikan:
Di sana kita menggunakan atribut length untuk mengambil panjang array-nya.
Jadi, perulangan akan dilakukan sebanyak isi array-nya.
Sekarang Mari Kita Latihan
Silahkan buat class bernama Buah, kemudian ikuti kode berikut:
import java.util.Scanner; public class Buah {    public static void main(String[] args) {        // membuat array buah-buahan        String[] buah = new String[5];        // membuat scanner        Scanner scan = new Scanner(System.in);        // mengisi data ke array        for( int i = 0; i < buah.length; i++ ){            System.out.print("Buah ke-" + i + ": ");            buah[i] = scan.nextLine();        }        System.out.println("---------------------------");        // menampilkan semua isi array        for( String b : buah ){            System.out.println(b);        }    } }
Hasil outputnya:
Tumblr media
Perhatikan:
Di sana kita menggunakan perulangan foreach untuk menampilkan isi array.
Seperti yang sudah kita pelajari pada materi Perulangan di Java, perulangan ini dapat kita gunakan untuk menampilkan isi array.
Array Multi Dimensi
Array multi dimensi artinya array yang memiliki lebih dari satu dimensi.
Atau kita bisa sebut, array di dalam array.
Jumlah dimensinya tidak terbatas, tergantung kita mampunya sampai berapa .
Contoh berikut ini adalah array dua dimensi:
String[][] kontak = {    {"Lili","08111"},    {"Lala","08122"},    {"Maya","08133"} };
Indek ke-0 pada array kontak berisi array {"lili","08111"}.
Tumblr media
Contoh cara mengakses data dari array dua dimensi:
Tumblr media
Contoh Program Array Multi Dimensi
Biar makin mantap pemahaman kita tentang array multi dimensi, mari kita coba membuat sebuah program.
Silahkan buat class baru bernama RuangKelas kemudian ikuti kode berikut:
import java.util.Scanner; public class RuangKelas {    public static void main(String[] args) {        // Membuat Array dan Scanner        String[][] meja = new String[2][3];        Scanner scan = new Scanner(System.in);        // mengisi setiap meja        for(int bar = 0; bar < meja.length; bar++){            for(int kol = 0; kol < meja[bar].length; kol++){                System.out.format("Siapa yang akan duduk di meja (%d,%d): ", bar, kol);                meja[bar][kol] = scan.nextLine();            }        }        // menampilkan isi Array        System.out.println("-------------------------");        for(int bar = 0; bar < meja.length; bar++){            for(int kol = 0; kol < meja[bar].length; kol++){                System.out.format("| %s | \t", meja[bar][kol]);            }            System.out.println("");        }        System.out.println("-------------------------");    } }
Hasil outputnya:
Tumblr media
Pada program tersebut, kita menggunakan perulangan bersarang untuk mengambil input dan menampilkan outputnya.
Karena array dua dimensi mirip seperti tabel, maka kita harus melakukan perulangan terhadap baris dan kolomnya.
Lalu bagaimana dengan array 3D, 4D, 5D, dan seterusnya?
Tentu saja kita harus membuat perulangan bersarang sebanyak dimensinya.
Kalau tiga, ya buat tiga perulangan.
Array List
Array yang kita bahas di atas sebenarnya memiliki beberapa kekurangan, seperti:
Tidak mampu menyimpan data dengan tipe yang berbeda.
Ukurannya tidak dinamis.
Maka dari itu, ada Array List yang menutupi kekurangan tersebut.
Array list merupakan sebuah class yang memungkinkan kita membuat sebuah objek untuk menampung apapun.
Untuk menggunakan Array List, kita harus mengimpornya terlebih dahulu.
import java.util.ArrayList;
Setelah itu, baru kita bisa membuat sebuah objek Array List seperti ini:
ArrayList al = new ArrayList();
Mari kita coba….
Contoh Program dengan Array List
Silahkan membuat class dengan nama Doraemon, kemudian ikuti kode berikut:
import java.util.ArrayList; public class Doraemon {    public static void main(String[] args) {        // membuat objek array list        ArrayList kantongAjaib = new ArrayList();        // Mengisi kantong ajaib dengan 5 benda        kantongAjaib.add("Senter Pembesar");        kantongAjaib.add(532);        kantongAjaib.add("tikus");        kantongAjaib.add(1231234.132);        kantongAjaib.add(true);        // menghapus tikus dari kantong ajaib        kantongAjaib.remove("tikus");        // Menampilkan isi kantong ajaib        System.out.println(kantongAjaib);        // menampilkan banyak isi kantong ajaib        System.out.println("Kantong ajaib berisi "+ kantongAjaib.size() +" item");    } }
Hasil outputnya:
Tumblr media
Karena array list (kantongAjaib) merupakan sebuah objek yang terbuat dari class Array List, maka dia punya method (fungsi) untuk melakukan sesuatu.
Fungsi add() untuk menambahkan sesuatu ke dalam Array List;
Fungsi remove() untuk menghapus sesuatu ke dalam Array List;
Fungsi size() untuk mengambil ukuran Array List;
Fungsi get(id) untuk mengambil item dalam Array List berdasarkan id atau indeks tertentu.
dan masih banyak fungsi yang lainnya.
Apa Selanjutnya?
Kita telah memahami cara penggunaan Array dalam program Java.
Berikut ini ringkasannya:
Array adalah variabel yang bisa menyimpan banyak data;
Array bisa multi dimensi;
Array memiliki beberapa kekurangan, akan tetapi sudah ditutupi oleh array list.
0 notes
bayu-ti-poltektegal · 4 years
Text
Belajar Java: Memahami 2 Jenis Perulangan dalam Java
Tumblr media
Apa yang akan kita lakukan bila ingin menyuruh komputer mengerjakan perintah yang berulang-ulang?
Misalkan kita ingin menyuruh komputer menampilkan teks Petani Kode sebanyak 5x.
Maka kita bisa menyuruhnya seperti ini:
System.out.println("Petani Kode"); System.out.println("Petani Kode"); System.out.println("Petani Kode"); System.out.println("Petani Kode"); System.out.println("Petani Kode");
Tapi… bagaimana kalau sebanyak 1000x, apa kita akan mampu mengetik kode sebanyak itu?
Tentunya tidak.
Karena itu, kita harus pakai perulangan.
Contoh perulangan:
for (int hitungan = 0; hitungan <= 1000; hitungan++) {    System.out.println("Petani Kode"); }
Sebelum masuk ke pembahasan lebih dalam, ada hal yang harus kalian ketahui terlebih dahulu.
Perulangan dalam pemrograman dibagi manjadi dua jenis:
Counted loop: Perulangan yang jumlah pengulangannya terhitung atau tentu.
Uncounted loop: Perulangan yang jumlah pengulangannya tidak terhitung atau tidak tentu.
Tumblr media
Counted loop terdiri dari perulangan For dan For each. Sedangkan Uncounted loop terdiri dari perulangan While dan Do/While
1. Counted Loop
Seperti yang sudah dijelaskan, perulangan ini memiliki jumlah pengulangan yang tentu dan terhitung.
Perulangan ini terdiri dari perulangan For dan For each.
Mari kita bahas satu per satu…
Perulangan For
Format penulisan perulangan For di java adalah sebagai berikut:
for( int hitungan = 0; hitungan <= 10; hitungan++ ){    // blok kode yang akan diulang }
Penjelasan:
variabel hitungan tugasnya untuk menyimpan hitungan pengulangan.
hitungan <= 10 artinya selama nilai hitungannya lebih kecil atau sama dengan 10, maka pengulangan akan terus dilakukan. Dengan kata lain, perualangan ini akan mengulang sebanyak 10 kali.
hitungan++ fungsinya untuk menambah satu (+1) nilai hitungan peda setiap pengulangan.
Blok kode For dimulai dengan tanda ‘{’ dan diakhiri dengan ‘}’.
Mari kkita coba dalam contoh program…
Contoh Program Perulangan For
Silahkan buat class baru bernama Bintang, kemudian ikuti kode berikut:
class Bintang{    public static void main(String[] args){        for(int i=0; i <= 5; i++){            System.out.println("*****");        }    } }
Hasil output:
***** ***** ***** ***** ***** *****
Mau lagi?
Sekarang cobalah buat program untuk menampilkan nilai dari 1 sampai 10 dengan menggunakan perulangan.
class CetakAngka{    public static void main(String[] argumen){        for(int i=0; i <= 10; i++){            System.out.print( i + " " );        }    } }
Hasil output:
0 1 2 3 4 5 6 7 8 9 10
Coba kita lakukan sedikit eksperimen.
Buat sebuah program yang menampilkan bilangan ganjil saja.
class CetakBilanganGanjil{    public static void main(String[] argumen){        for(int i = 1; i <= 20; i += 2){            System.out.print( i + " ");        }    } }
Hasil output:
1 3 5 7 9 11 13 15 17 19
Perhatikan: di sana kita menggunakan i += 2, bukan i++.
Apa maksudnya?
Maksudnya, nilai i akan ditambah dua (+2) di setiap pengulangan.
Perulangan For Each
Perulangan ini sebenarnya digunakan untuk menampilkan isi dari array.
Apa itu array?
Singkatnya, array itu variabel yang menyimpan lebih dari satu nilai dan memiliki indeks.
Selengkapnya, nanti bisa di pelajari pada materi: Mengenal Array di Java.
Lanjut…
Perulangan For Each pada Java, dilakukan juga dengan kata kunci For.
Contohnya seperti ini:
for ( int item : dataArray ) {    // blok kode yang diulang }
Penjelasan:
variabel item akan menyimpan nilai dari array
Kita bisa baca seperti ini: “Untuk setiap item dalam dataArray, maka lakukan perulangan”
Contoh Program For Each
Buat sebuah class baru bernama PerulanganForeach, kemudian ikuti kode berikut.
public class PerulanganForeach {    public static void main(String[] args) {        // membuat array        int angka[] = {3,1,42,24,12};        // menggunakan perulangan For each untuk menampilkan angka        for( int x : angka ){            System.out.print(x + " ");        }    } }
Hasil outputnya:
3 1 42 24 12
Uncounted Loop
Seperti yang sudah dijelaskan di awal tadi, perulangan ini tidak jelas jumlah pengulangannya.
Tapi, tidak menutup kemungkinan juga, jumlah pengulangannya dapat ditentukan.
Perulangan uncounted loop terdirid dari perulangan While dan Do/While.
Tumblr media
Mari kita bahas satu per satu…
Perulangan While
While bisa kita artikan selama.
Cara kerja perulangan ini seperti percabangan, ia akan melakukan perulangan selama kondisinya bernilai true.
Struktur penulisan perulangan while:
while ( kondisi ) {    // blok kode yang akan diulang }
Penjelasan:
kondisi bisa kita isi dengan perbandingan maupun variabel boolean. Kondisi ini hanya memiliki nilai true dan flase.
Perulangan while akan berhenti sampai kondisi bernilai false.
Untuk lebih jelasnya, mari kita coba membuat program…
Contoh Program dengan Perulangan While
Program ini akan melakukan perulangan selama jawabannya tidak.
import java.util.Scanner; public class PerulanganWhile {    public static void main(String[] args) {        // membuat variabel dan scanner        boolean running = true;        int counter = 0;        String jawab;        Scanner scan = new Scanner(System.in);        while( running ) {            System.out.println("Apakah anda ingin keluar?");            System.out.print("Jawab [ya/tidak]> ");            jawab = scan.nextLine();            // cek jawabnnya, kalau ya maka berhenti mengulang            if( jawab.equalsIgnoreCase("ya") ){                running = false;            }            counter++;        }        System.out.println("Anda sudah melakukan perulangan sebanyak " + counter + " kali");    } }
Hasil outputnya:
Tumblr media
Di sana telah dilakukan perulangan sebanyak 4 kali. Bisa saja terjadi 10 kali.
Itu targantung dari kondisinya.
Kalau nilai variabel running bernilai false, maka perulangan berhenti.
Contoh kode while di atas dapat kita baca seperti ini: “Lakukan perulangan selama nilai running bernilai true.”
Tidak menutup kemungkinan juga, perulangan ini dapat melakukan counted loop.
Contohnya seperti ini:
int i = 0; while ( i <= 10 ){    // blok kode yang akan diulang    System.out.println('Perulangan ke-' + i);    // increment nilai i    i++; }
Hasil outputnya:
Perulangan ke-0 Perulangan ke-1 Perulangan ke-2 Perulangan ke-3 Perulangan ke-4 Perulangan ke-5 Perulangan ke-6 Perulangan ke-7 Perulangan ke-8 Perulangan ke-9 Perulangan ke-10
Penting: pastikan melakukan increment (i++) terhadap variabel counter. Karena kalau tidak, perulangannya akan terus-menerus dilakukan sampai komputernya hang.
Perulangan Do/While
Cara kerja perulangan Do/While sebenarnya sama seperti perulangan While.
Bedanya, Do/While melakukan satu kali perulangan dulu. Kemudian mengecek kondisinya.
Tumblr media
Struktur penulisannya seperti ini:
do {    // blok kode yang akan diulang } while (kondisi);
Jadi kerjakan dulu (Do), baru di cek kondisinya while( kondisi ). Kalau kondisi bernilai ture, maka lanjutkan perulangan.
Contoh Program dengan Perulangan Do/While
public class PerulanganDoWhile {    public static void main(String[] args) {        // membuat variabel        int i = 0;        do {            System.out.println("perulangan ke-" + i);            i++;        } while ( i <= 10);    } }
Hasil outputnya:
perulangan ke-0 perulangan ke-1 perulangan ke-2 perulangan ke-3 perulangan ke-4 perulangan ke-5 perulangan ke-6 perulangan ke-7 perulangan ke-8 perulangan ke-9 perulangan ke-10
Perulangan Bersarang (Nested Loop)
Perulangan juga dapat bersarang. Perulangan bersarang maksudnya, perulangan dalam perulangan atau disebut juga nested loop.
Contoh bentuk flow chart-nya seperti ini:
Tumblr media
Contoh Program Perulangan Bersarang
public class PerulanganBersarang {    public static void main(String[] args) {        // membuat variabel        int x, y;        // melakukan parulang sebnayan x dan y kali        for (x = 0; x <= 5; x++){            for( y = 0; y <= 3; y++){                System.out.format("Perulangan [x=%d, y=%d] %n", x, y);            }        }    } }
Hasil outputnya:
Perulangan [x=0, y=0] Perulangan [x=0, y=1] Perulangan [x=0, y=2] Perulangan [x=0, y=3] Perulangan [x=1, y=0] Perulangan [x=1, y=1] Perulangan [x=1, y=2] Perulangan [x=1, y=3] Perulangan [x=2, y=0] Perulangan [x=2, y=1] Perulangan [x=2, y=2] Perulangan [x=2, y=3] Perulangan [x=3, y=0] Perulangan [x=3, y=1] Perulangan [x=3, y=2] Perulangan [x=3, y=3] Perulangan [x=4, y=0] Perulangan [x=4, y=1] Perulangan [x=4, y=2] Perulangan [x=4, y=3] Perulangan [x=5, y=0] Perulangan [x=5, y=1] Perulangan [x=5, y=2] Perulangan [x=5, y=3]
P.S:
Perulangan bersarang sering digunakan pada array multi dimensi.
Jenis perulangan di dalam perulangn bisa berbeda, misalnya di dalam perulangan while ada perulangan for.
0 notes
bayu-ti-poltektegal · 4 years
Text
Belajar Java: Memahami 3 Bentuk Percabangan dalam Java
Tumblr media
Kalau kita perhatikan, alur pengeksekusian sebuah kode program dikerjakan satu per satu dari atas sampai ke bawah.
Baris demi baris dibaca, kemudian komputer mengerjakan apa yang diperintahkan.
Misalnya seperti ini:
Tumblr media
Alur programnya satu, tidak ada belokan atau percabangan.
Ngomong-ngomong apa itu percabangan?
Percabangan hanyalah sebuah istilah yang digunakan untuk menyebut alur program yang bercabang.
Percabangan juga dikenal dengan “Control Flow”, “Struktur Kondisi”, “Struktur IF”, “Decision”, dsb. Semuanya itu sama.
Pada diagram alur (Flow Chart) seperti di atas, alurnya memang satu.
Tapi setelah kita menggunakan percabangan, alurnya akan bertambah menjadi seperti ini.
Tumblr media
Lalu bagaimana cara menulis kode percabangan dalam Java?
Caranya: menggunakan kata kunci if, else, switch, dan case, dan operator ternary.
Contoh format stuktur IF seperti ini:
if( suatu_kondisi ) {    // lakukan sesuatu kalau kondisi benar    // Lakukan ini juga }
suatu_kondisi hanya bernilai true/false saja. Kita bisa gunakan operator relasi dan logika di sini.
Untuk lebih jelasnya, nanti akan kita bahas.
Sebelumnya, kamu perlu tahu dulu tiga bentuk percabangan pada Java:
Percabangan IF
Percabangan IF/ELSE
Percabangan IF/ELSE/IF atau SWITCH/CASE
Mari kita bahas satu per satu…
1. Percabangan IF
Percabangan ini hanya memiliki satu pilihan. Artinya, pilihan di dalam IF hanya akan dikerjakan kalau kondisinya benar.
Tumblr media
Tapi kalau salah… tidak akan melakukan apa-apa. Alias lanjut eksekusi ke perintah berikutnya.
Contoh:
Pernahkah kalian belanja di toko, kemudian kalau belanja di atas sekian ribu dapat hadiah atau diskon.
Nah! Contoh kasus seperti itu, dapat kita selesaikan dengan menggunakan percabangan ini.
untuk lebih jelasnya…
Mari Kita Membuat Program Hadiah
Misalkan ada sebuah toko buku. Mereka memberikan hadiah berupa perlengkapan sekolah kepada pembeli yang belanja di atas Rp 100.000.
Maka programnya bisa kita buat seperti ini:
import java.util.Scanner; public class Hadiah {    public static void main(String[] args) {        // membuat variabel belanja dan scanner        int belanja = 0;        Scanner scan = new Scanner(System.in);        // mengambil input        System.out.print("Total Belanjaan: Rp ");        belanja = scan.nextInt();        // cek apakah dia belanja di atas 100000        if ( belanja > 100000 ) {            System.out.println("Selamat, anda mendapatkan hadiah!");        }        System.out.println("Terima kasih...");    } }
Jalankan programnya dan perhatikanlah hasilnya.
Tumblr media
Cobalah untuk memberikan nilai di bawah 100000 dan perhatikan apa akan yang terjadi.
2. Percabangan IF/ELSE
Sedangkan percabangan IF/ELSE memiliki pilihan alternatif kalau kondisinya salah.
IF: “Jika kondisi benar maka kerjakan ini, kalau tidak silahkan lanjut”
IF/ESLE: “Jika kondisi benar maka kerjakan ini, kalau salah maka kerjakan yang itu, setelah itu lanjut”
Tumblr media
Begitulah perbedaan IF dengan IF/ELSE.
Sekarang mari kita coba dalam kode program…
Program Cek Kelulusan
Misalkan, kalau nilai siswa lebih besar dari 70, maka ia dinyatakan lulus. Kalau tidak, maka dia gagal.
Programnya bisa kita buat seperti ini:
import java.util.Scanner; public class CekKelulusan {    public static void main(String[] args) {        // membuat variabel dan Scanner        int nilai;        String nama;        Scanner scan = new Scanner(System.in);        // mengambil input        System.out.print("Nama: ");        nama = scan.nextLine();        System.out.print("Nilai: ");        nilai = scan.nextInt();        // cek apakah dia lulus atau tidak        if( nilai >= 70 ) {            System.out.println("Selemat " + nama + ", anda lulus!");        } else {            System.out.println("Maaf " + nama + ", anda gagal");        }    } }
Hasil outputnya:
Tumblr media
Cobalah untuk merubah nilai yang dimasukkan dan perhatikan apa yang akan terjadi.
Percabangan IF/ELSE dengan Operator Ternary
Selain menggunakan struktur seperti di atas, percahangan ini juga dapat menggunakan operator ternary.
Seperti yang sudah kita pelajari pada pembahasan tentang operator. Operator ternary memiliki konsep yang sama seperti percabganan IF/ELSE.
Tumblr media
Contoh programnya:
public class OperatorTernary {    public static void main(String[] args) {        boolean suka = true;        String jawaban;        // menggunakan operator ternary        jawaban = suka ? "iya" : "tidak";        // menampilkan jawaban        System.out.println(jawaban);    } }
3. Percabangan IF/ELSE/IF dan SWITCH/CASE
Jika percabangan IF/ESLE hanya memiliki dua pilihan saja. Maka percahangan IF/ELSE/IF memiliki lebih dari dua pilihan.
Formatnya seperti ini:
if (suatu kondisi) {    // maka kerjakan ini    // kerjakan perintah ini juga    // … } else if (kondisi lain) {    // kerjakan ini    // kerjakan ini juga    // … } else if (kondisi yang lain lagi) {    // kerjakan perintah ini    // kerjakan ini juga    // … } esle {    // kerjakan ini kalau    // semua kondisi di atas    // tidak ada yang benar    // … }
Coba perhatikan contohnya:
Tumblr media
Jika nilainya lebih besar dari 90, maka grade-nya “A”. Sedangkan kalau lebih besar dari 80, maka “B+”. Lebih besar dari 70, maka “B”, dan seterusnya.
Lebih jelasnya, mari kita buat program.
Program HitungGrade
Silahkan buat sebuah class baru bernama HitungGrade, kemudian ikuti kode program berikut.
import java.util.Scanner; public class HitungGrade {    public static void main(String[] args) {        // membuat variabel dan scanner        int nilai;        String grade;        Scanner scan = new Scanner(System.in);        // mengambil input        System.out.print("Inputkan nilai: ");        nilai = scan.nextInt();        // higung gradenya        if ( nilai >= 90 ) {            grade = "A";        } else if ( nilai >= 80 ){            grade = "B+";        } else if ( nilai >= 70 ){            grade = "B";        } else if ( nilai >= 60 ){            grade = "C+";        } else if ( nilai >= 50 ){            grade = "C";        } else if ( nilai >= 40 ){            grade = "D";        } else {            grade = "E";        }        // cetak hasilnya        System.out.println("Grade: " + grade);    } }
Hasil outputnya:
Tumblr media
Percabangan SWITCH/CASE
Percabangan SWITCH/CASE sebenarnya adalah bentuk lain dari IF/ELSE/IF.
Bedanya, percabangan ini menggunakan kata kunci switch dan case.
Formatnya juga berbeda, tapi cara kerjanya sama.
switch(variabel){    case 1:        // kerjakan kode ini        // kode ini juga        break;    case 2:        // kerjakan kode ini        // kode ini juga        break;    case 3:        // kerjakan kode ini        // kode ini juga        break;    default:        // kerjakan kode ini        // kode ini juga        break; }
Perhatikan: case 1 artinya nilai variabel yang akan dibandingkan, apakah nilainya sama dengan 1 atau tidak.
Kalau iya, maka kerjakan kode yang ada di dalam case 1.
Bisa juga betuknya berbeda, misalnya seperti ini:
switch (variabel) {    case 'A':        // lakukan sesuatu        break;    case 'B':        // lakukan ini        break;    default:        // lakukan ini }
Perlu diperhatikan juga: di sana ada kata kunci break dan default.
break artinya berhenti. Ini untuk memerintahkan komputer untuk berhenti mengecek case yang lainnya.
default artinya jika nilai variabel tidak ada yang sama dengan pilihan case di atas, maka kerjakan kode yang ada di dalam default.
Pilihan default bisa juga tidak memiliki break, karena dia adalah pilihan terakhir. Artinya pengecekan akan berakhir di situ.
Contoh program dengan percabangan SWITCH/CASE
import java.util.Scanner; public class LampuLalulintas {    public static void main(String[] args) {        // membuat variabel dan Scanner        String lampu;        Scanner scan = new Scanner(System.in);        // mengambil input        System.out.print("Inputkan nama warna: ");        lampu = scan.nextLine();        switch(lampu){            case "merah":                System.out.println("Lampu merah, berhenti!");                break;            case "kuning":                System.out.println("Lampu kuning, harap hati-hati!");                break;            case "hijau":                System.out.println("Lampu hijau, silahkan jalan!");                break;            default:                System.out.println("Warna lampu salah!");        }    } }
Hasil outputnya:
Tumblr media
Eksperimen: Cobalah untuk menghilangkan break di salah satu case dan perhatikanlah hasilnya.
Percabangan dalam Percabangan (Nested)
Kita sudah tahu tiga bentuk dasar percabganan di Java. Selanjutnya, kita coba bahas percabangan yang ada di dalam perbangan (perabangan bersarang).
Sebenarnya pembahasan ini saya ingin pisahkan. Namun, baiknya digabungkan di sini aja.
Anggap saja pembahasan bonus .
Baiklah…
Jadi, percabangan itu bisa dibuat di dalam percabangan. Kadang teknik ini disebut juga nested if.
Contoh kasus:
Misalnya ada model bisinis seperti ini di sebuah toko. Ketika orang membayar di kasir, biasanya ditanya ada kartu member untuk mendapatkan diskon dan sebagainya.
Apakah anda punya kartu member?   - ya       * Apakah belanjaan anda lebih dari 500rb?           # ya : mendapatkan diskon 50rb           # tidak : tidak mendapatkan diskon       * Apakah belanjaan anda lebih dari 100rb?           # ya : mendapatkan diskon 15rb           # tidak: tidak mendapatkan diskon   - tidak       * Apakah belanjaan anda lebih dari 100rb?           # ya : mendapatkan diskon 10rb           # tidak: tidak mendapatkan diskon
Paham?
Kalau tidak, coba perhatikan flow chart-nya:
Tumblr media
Masih belum paham?
Kalau begitu mari kita coba dalam program.
Silahkan buat class baru bernama Kasir dan ikuti kode program berikut ini.
import java.util.Scanner; public class Kasir {    public static void main(String[] args) {        // deklarasi variabel dan Scanner        int belanjaan, diskon, bayar;        String kartu;        Scanner scan = new Scanner(System.in);        // mengambil input        System.out.print("Apakah ada kartu member: ");        kartu = scan.nextLine();        System.out.print("Total belanjaan: ");        belanjaan = scan.nextInt();        // proses        if (kartu.equalsIgnoreCase("ya")) {            if (belanjaan > 500000) {                diskon = 50000;            } else if (belanjaan > 100000) {                diskon = 15000;            } else {                diskon = 0;            }        } else {            if (belanjaan > 100000) {                diskon = 5000;            } else {                diskon = 0;            }        }        // total yang harus dibayar        bayar = belanjaan - diskon;        // output        System.out.println("Total Bayar: Rp " + bayar);    }   }
Hasil outputnya:
Tumblr media
Cobalah untuk mengubah nilai yang dimasukkan dan perhatikan hasilnya.
Mungkin di sana ada yang perlu diperhatikan:
Fungsi equalsIgnoreCase("ya") digunakan untuk membandingkan String dengan tidak memperdulikan huruf besar dan kecilnya.
Ada juga Fungsi equals(), fungsinya sama. Tapi equals() akan memperhatikan case hurufnya.
Kenapa tidak menggunakan operator == atau !=?
Di Java memang seperti itu.
Kalau kita ingin membandingkan nilai String, ya… menggunakan fungsi yang dua tadi.
Tapi, kalau membandingkan selain String, maka bisa pakai operator == atau !=.
Menggunakan Operator Logika dalam Percabangan
Operator logika dalam percabangan sebenarnya bisa membuat percabangan menjadi lebih singkat.
Misal ada program Tilang dengan logika seperti ini:
public class Tilang {    public static void main(String[] args) {        boolean SIM = false;        boolean STNK = true;        // cek apakah dia akan ditilang atau tidak        if(SIM == true){            if( STNK == true ) {                System.out.println("Tidak ditilang!");            }        } else {            System.out.println("Anda ditilang!");        }    } }
Perhatikan: di sana kita menggunakan percabangan bersarang untuk mengecek, apakah dia ditilang atau tidak.
Hal ini sebenarnya bisa disingkat dengan operator logika, sehingga menjadi seperti ini:
public class Tilang {    public static void main(String[] args) {        boolean SIM = false;        boolean STNK = true;        // cek apakah dia akan ditilang atau tidak        if(SIM == true && STNK == true){            System.out.println("Tidak ditilang!");        } else {            System.out.println("Anda ditilang!");        }    } }
Pada kode di atas, kita menggunakan operator AND (&&).
Karena logikanya: Si pengendara tidak akan ditilang kalau punya SIM dan STNK.
Apa Selanjutnya?
Kita sudah peljari beberapa macam bentuk percabagan dan pernak-perniknya, ringkasananya seperti ini:
Percabangan IF, hanya memiliki satu pilihan;
Percabangan IF/ELSE memiliki dua pilihan;
Percabangan dengan operator ternary adalah bentuk lain dari IF/ELSE;
Percabangan IF/ELSE/IF memiliki lebih dari dua pilihan;
Percabangan SWITCH/CASE adalah bentuk lain dari IF/ELSE/IF;
Percabangan bersarang adalah percabangan dalam Percabangan;
Penggunaan operator logika dalam percabangan bisa membuat percabangan menjadi lebih singkat.
0 notes
bayu-ti-poltektegal · 4 years
Text
Belajar java: Cara Menghitung Operasi Pangkat
Tumblr media
Java sudah menyediakan fungsi pangkat yang dapat digunakan kapan saja. Fungsi ini memiliki dua parameter, yaitu bilangan yang akan dipangkatkan dan pangkatnya.
Math.pow(bilangan, pangkat);
Contoh program, silahkan buat kelas baru bernama
Pangkat
di paket
pertemuan3
. Kemudian ikuti kode berikut:
Tumblr media
Kode program di atas, akan menghasilkan output: 32, karena 25 akan menghasilkan 32.
Tumblr media
0 notes
bayu-ti-poltektegal · 4 years
Text
Belajar Java: 6 Jenis Operator yang Harus Dipahami
Tumblr media
Operator dalam pemrograman digunakan untuk melakukan operasi tertentu.
Misalkan kita ingin menjumlahkan nilai dari variabel x dan y, maka kita bisa menggunakan operator penjumlahan (+).
x + y
Ada enam jenis kelompok operator dalam pemrograman Java:
Operator Artimatika;
Operator Penugasan;
Operator Pembanding;
Operator Logika;
Operator Bitwise;
dan Operator Ternary.
Bila digambarkan dalam mind map, akan terlihat seperti ini:
Tumblr media
1. Operator Aritmatika
Operator aritmatika digunakan untuk melakukan operasi aritmatika.
Operator ini terdiri dari:
NamaSimbol
Penjumlahan
+
Pengurangan
-
Perkalian
*
Pembagian
/
Sisa Bagi
%
Bagaimana cara pakainya?
Mari kita coba praktik…
Buatlah kelas baru bernama OperatorAritmatika, kemudian ikuti kode berikut:
import java.util.Scanner; public class OperatorAritmatika {    public static void main(String[] args) {        int angka1;        int angka2;        int hasil;        Scanner keyboard = new Scanner(System.in);        System.out.print("Input angka-1: ");        angka1 = keyboard.nextInt();        System.out.print("Input angka-2: ");        angka2 = keyboard.nextInt();        // penjumlahan        hasil = angka1 + angka2;        System.out.println("Hasil = " + hasil);        System.out.print("Input angka-1: ");        angka1 = keyboard.nextInt();        System.out.print("Input angka-2: ");        angka2 = keyboard.nextInt();        // pengurangan        hasil = angka1 - angka2;        System.out.println("Hasil = " + hasil);         System.out.print("Input angka-1: ");        angka1 = keyboard.nextInt();        System.out.print("Input angka-2: ");        angka2 = keyboard.nextInt();        // perkalian        hasil = angka1 * angka2;        System.out.println("Hasil = " + hasil);        System.out.print("Input angka-1: ");        angka1 = keyboard.nextInt();        System.out.print("Input angka-2: ");        angka2 = keyboard.nextInt();        // Pembagian        hasil = angka1 / angka2;        System.out.println("Hasil = " + hasil);        System.out.print("Input angka-1: ");        angka1 = keyboard.nextInt();        System.out.print("Input angka-2: ");        angka2 = keyboard.nextInt();        // Sisa Bagi        hasil = angka1 % angka2;        System.out.println("Hasil = " + hasil);    } }
Silahkan jalankan programnya
2. Operator Penugasan
Operator penugasan (Assignment Operator) fungsinya untuk meberikan tugas pada variabel tertentu. Biasanya untuk mengisi nilai.
Contoh:
int a = 10;
Variabel a ditugaskan untuk menyimpan nilai 10.
Operator Penugasan terdiri dari:
Nama OperatorSombol
Pengisian Nilai
=
Pengisian dan Penambahan
+=
Pengisian dan Pengurangan
-=
Pengisian dan Perkalian
*=
Pengisian dan Pembagian
/=
Pengisian dan Sisa bagi
%=
Mari Kita Coba…
Sekarang, buatlah sebuah kelas baru beranama OperatorPenugasan.
Kemudian ikuti kode berikut:
public class OperatorPenugasan {    public static void main(String[] args) {        int a;        int b;        // Pengisian nilai        a = 5;        b = 10;        // penambahan        b += a;        // sekarang b = 15        System.out.println("Penambahan : " + b);        // pengurangan        b -= a;        // sekarang b = 10 (karena 15-5)        System.out.println("Pengurangan : " + b);        // perkalian        b *= a;        // sekarang b = 50 (karena 10*5)        System.out.println("Perkalian : " + b);        // Pembagian        b /= a;        // sekarang b=10        System.out.println("Pembagian : " + b);        // Sisa bagi        b %= a;        // sekarang b=0        System.out.println("Sisa Bagi: " + b);    } }
Silahkan jalankan programnya
3. Operator Pambanding
Sepeti namanya, tugas oprator ini untuk membandingkan.
Operator ini juga dikenal dengan opeartor relasi.
Nilai yang dihasilkan dari operator ini berupa boolean, yaitu: true dan false.
Operator ini terdiri dari:
NamaSimbol
Lebih Besar
>
Lebih Kecil
<
Sama Dengan
==
Tidak Sama dengan
!=
Lebih Besar Sama dengan
>=
Lebih Kecil Sama dengan
<=
contoh:
boolean x = 10 < 12
Maka x akan bernilai true, karena 10 lebih kecil dari 12.
Untuk lebih jelasnya…
Mari kita coba dalam kode
Buatlah sebuah kelas baru bernama OperatorPembanding. Kemudian ikuti kode berikut:
public class OperatorPembanding {    public static void main(String[] args) {        int nilaiA = 12;        int nilaiB = 4;        boolean hasil;        // apakah A lebih besar dari B?        hasil = nilaiA > nilaiB;        System.out.println(hasil);        // apakah A lebih kecil dari B?        hasil = nilaiA < nilaiB;        System.out.println(hasil);        // apakah A lebih besar samadengan B?        hasil = nilaiA >= nilaiB;        System.out.println(hasil);        // apakah A lebih kecil samadengan B?        hasil = nilaiA <= nilaiB;        System.out.println(hasil);        // apakah nilai A sama dengan B?        hasil = nilaiA == nilaiB;        System.out.println(hasil);        // apakah nilai A tidak samadengan B?        hasil = nilaiA != nilaiB;        System.out.println(hasil);    } }
Kode program di atas, akan menghasilkan output seperti ini:
4. Operator Logika
Kalau kamu pernah belajar logika matematika, pasti tidak akan asing dengan operator ini.
NamaSimbol di Java
Logika AND
&&
Logika OR
||
Negasi/kebalikan
!
Operator Logika digunakan untuk membuat operasi logika.
Misalnya seperti ini:
Pernyataan 1: Petani Kode seorang programmer
Pernyattan 2: Petanikode menggunakan Linux
Jika ditanya, apakah Petani Kode programmer yang menggunakan Linux?
Tentu kita akan cek dulu kebenarannya
Pernyataan 1: Petani Kode seorang programmer = true.
Pernyattan 2: Petanikode menggunakan Linux = true.
Apa petanikode programmer dan menggunakan Linux?
Pertnyataan 1 && Pernyataan 2 = true
Bingung?
Coba cek lagi tabel kebenaran untuk logika AND.
Pernyataan 1Pernyataan 2Logika AND
true
true
true
true
false
false
false
true
false
false
false
false
Silahkan jalankan dan perhatikan hasilnya
5. Operator Bitwise
Operator bitwise merupkan operator yang digunakan untuk operasi bit (biner). Operator bitwise terdiri dari:
NamaSimbol di Java
AND
&
OR
|
XOR
^
Negasi/kebalikan
~
Left Shift
<<
Right Shift
>>
Left Shift (unsigned)
<<<
Right Shift (unsigned)
>>>
Operator ini berlaku untuk tipe data int, long, short, char, dan byte.
Operator ini akan menghitung dari bit-ke-bit.
Misalnya, kita punya variabel a = 60 dan b = 13.
Bila dibuat dalam bentuk biner, akan menjadi seperti ini:
a = 00111100 b = 00001101
Kemudian, dilakukan operasi bitwise
Operasi AND
a = 00111100 b = 00001101 a & b = 00001100
Operasi OR
a = 00111100 b = 00001101 a | b = 00111101
Operasi XOR
a = 00111100 b = 00001101 a ^ b = 00110001
Opearsi NOT (Negasi/kebalikan)
a = 00111100 ~a  = 11000011
Konsepnya memang hampir sama dengan opeartor Logika. Bedanya, Bitwise digunakan untuk biner.
Untuk lebih jelasnya…
Mari kita coba dalam program
Buat kelas baru dengan nama OperatorBitwise, kemudian ikuti isinya sebagai berikut.
public class OperatorBitwise {    public static void main(String[] args) {        int a = 60;    /* 60 = 0011 1100 */        int b = 13;    /* 13 = 0000 1101 */        int c = 0;        c = a & b;       /* 12 = 0000 1100 */        System.out.println("a & b = " + c);        c = a | b;       /* 61 = 0011 1101 */        System.out.println("a | b = " + c);        c = a ^ b;       /* 49 = 0011 0001 */        System.out.println("a ^ b = " + c);        c = ~a;          /*-61 = 1100 0011 */        System.out.println("~a = " + c);        c = a << 2;     /* 240 = 1111 0000 */        System.out.println("a << 2 = " + c);        c = a >> 2;     /* 215 = 1111 */        System.out.println("a >> 2  = " + c);        c = a >>> 2;     /* 215 = 0000 1111 */        System.out.println("a >>> 2 = " + c);    } }
Perhatikanlah hasil outputnya:
Tumblr media
6. Operator Ternary
Opertor ini unik, seperti membuat pertanyaan.
Simbolnya menggunakan tanda tanya (?) dan titik-dua (:) untuk memisah jawabannya.
Tumblr media
Pada contoh di atas, “Kamu suka aku” adalah pertanyaan atau kondisi yang akan diperiksa.
Kalau jawabannya benar, maka iya. Sebaliknya akan tidak.
Lebih jelasnya, mari kita coba…
Program dengan Operator Ternary
Buatlah sebuah kelas baru dengan nama OperatorTernary, kemudian ikuti kode berikut.
public class OperatorTernary {    public static void main(String[] args) {        boolean suka = true;        String jawaban;        // menggunakan operator ternary        jawaban = suka ? "iya" : "tidak";        // menampilkan jawaban        System.out.println(jawaban);    } }
Hasil outputnya:
iya
Sekarang coba ganti nilai variabel suka menjadi false, lalu dijalankan lagi.
Pasti akan menghasilkan tidak.
Cara lain, dapat juga membuat kondisi seperti ini:
int suka = 8; String jawaban = (suka > 5) ? "iya" : "tidak";
0 notes
bayu-ti-poltektegal · 4 years
Text
Belajar Java: Cara Mengambil Input dan Menampilkan Output
Tumblr media
Seperti yang kita ketahui, program komputer terdiri dari tiga komponen utama, yaitu: input, proses, dan output.
Input: nilai yang kita masukan ke program
Proses: langkah demi langkah yang dilakukan untuk mengelola input menjadi sesuatu yang berguna
Output: hasil pengolahan
Semua bahasa pemrograman telah menyediakan fungs-fungsi untuk melakukan input dan output.
Java sendiri sudah menyediakan tiga class untuk mengambil input:
Class Scanner;
Class BufferReader;
dan Class Console.
Tiga class tersebut untuk mengambil input pada program berbasis teks (console). Sedangkan untuk GUI menggunakan class yang lain seperti JOptionPane dan inputbox pada form.
Sementara untuk outputnya, Java menyediakan fungsi print(), println(), dan format().
Mengambil Input dengan Class Scanner
Scanner merupakan class yang menyediakan fungsi-fungsi untuk mengambil input dari keyboard.
Agar kita bisa menggunakan Scanner, kita perlu mengimpornya ke dalam kode:
import java.util.Scanner;
Lebih jelasnya…
Mari Kita Praktik
Sekarang adalah pertemuan ke-2, jadi buatlah paket baru bernama pertemuan2 pada source packages.
Klik kanan pada souce packages, kemudian pilih new package:
Tumblr media
Kemudian isi nama paket dengan pertemuan2, lalu klik Finish:
Tumblr media
Setelah itu, lanjutkan dengan membuat kelas (java class) baru di paket pertemuan2:
Tumblr media
Berikan nama: DataKaryawan. Kemudian klik Finish:
Tumblr media
Setelah itu, silahkan ikuti kode berikut ini:
package pertemuan2; // mengimpor Scanner ke program import java.util.Scanner; public class DataKaryawan {    public static void main(String[] args) {        // deklarasi variabel        String nama, alamat;        int usia, gaji;        // membuat scanner baru        Scanner keyboard = new Scanner(System.in);        // Tampilkan output ke user        System.out.println("### Pendataan Karyawan PT. Petani Kode ###");        System.out.print("Nama karyawan: ");        // menggunakan scanner dan menyimpan apa yang diketik di variabel nama        nama = keyboard.nextLine();        // Tampilkan outpu lagi        System.out.print("Alamat: ");        // menggunakan scanner lagi        alamat = keyboard.nextLine();        System.out.print("Usia: ");        usia = keyboard.nextInt();        System.out.print("Gaji: ");        gaji = keyboard.nextInt();        // Menampilkan apa yang sudah simpan di variabel        System.out.println("--------------------");        System.out.println("Nama Karyawan: " + nama);        System.out.println("Alamat: " + alamat);        System.out.println("Usia: " + usia + " tahun");        System.out.println("Gaji: Rp " + gaji);    } }
Perlu diperhatikan, penggunakan fungsi untuk mengambil data bergantung dari tipe data yang digunakan.
Misal, tipe datanya adalah String, maka fungsi atau method yang dipakai adalah nextLine().
Begitu juga dengan tipe data lain, Integer menggunakan nextInt(), Double menggunakan nextDouble(), dsb.
Setelah selesai membuat program, silahkan dijalankan. Klik kanan kemudian pilih Run File atau tekan tombol [Shift]+[F6].
Tumblr media
Mengambil Input dengan Class BufferReader
Class BufferReader sebenarnya tidak hanya untuk mengambil input dari keyboard saja.
Class ini juga dapat digunakan untuk membaca input dari file dan jaringan.
Class ini terletak di dalam paket java.io.
Silahkan diimpor untuk dapat menggunakan class BufferReader.
import java.io.BufferedReader;
Mari kita coba…
Silahkan buat class baru bernama ContohBufferReader, kemudian isi dengan kode berikut ini.
package pertemuan2; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class ContohBufferReader {    public static void main(String[] args) throws IOException {        String nama;        // Membuat objek inputstream        InputStreamReader isr = new InputStreamReader(System.in);        // membuat objek bufferreader        BufferedReader br = new BufferedReader(isr);        // Mengisi varibel nama dengan Bufferreader        System.out.print("Inputkan nama: ");        nama = br.readLine();        // tampilkan output isi variabel nama        System.out.println("Nama kamu adalah " + nama);    } }
Ternyata class BufferReader tidak bisa bekerja sendirian. Dia juga butuh teman yaitu: class InputStreamReader dan class IOException.
Sekarang mari kita coba jalankan programnya:
Tumblr media
Perbedaan BufferReader dengan Scanner terlihat dari fungsi atau method yang dipakai.
Scanner menggunakan next(), sedangkan BufferReader menggunakan readLine().
Lalu untuk tipe data integer, BufferReader menggunakan fungsi read() saja. Hal ini dapat kita lihat dalam hint autocomplete .
Tumblr media
Tips: Tekan Ctrl+Spasi saat menulis kode untuk menampilkan hint autocomplete .
Mengambil Input dengan Class Console
Class Console hampir sama dengan BufferReader. Dia juga menggunakan fungsi readLine() untuk mengambil input.
Akan tetapi…
Class ini hanya bisa digunakan di lingkungan console saja, seperti Terminal dan CMD.
Class Console tidak bisa digunakan langsung di Netbeans.
Maka dari itu, kita harus kompilasi secara manual.
Untuk menggunakan class ini, kita perlu mengimpornya terlebih dahulu.
import java.io.Console;
Mari kita coba…
Buatlah file baru bernama InputConsole.java dengan isi sebagai berikut:
import java.io.Console; public class InputConsole {    public static void main(String[] args) {        String nama;        int usia;        // membuat objek console        Console con = System.console();        // mengisi variabel nama dan usia dengan console        System.out.print("Inputkan nama: ");        nama = con.readLine();        System.out.print("Inputkan usia: ");        usia = Integer.parseInt(con.readLine());        // mengampilkan isi variabel nama dan usia        System.out.println("Nama kamu adalah: " + nama);        System.out.println("Saat ini berusia " + usia + " tahun");    } }
Perhatikan: dalam kode di atas, kita menggunakan fungsi Integer.parseInt(con.readLine()) untuk tipe data integer. Artinya, kita merubah tipe data String ke Integer.
Karena Console tidak memiliki nilai kembalian berupa integer untuk fungsi read().
Lanjut…
Setelah itu, lakukan kompilasi melalui Terminal atau CMD. Buka terminal, kemudian masuk ke direktori tempat menyimpan kodenya.
Ketik perintah: javac InputConsole.java untuk melakukan kompilasi.
Setelah itu, ketik perintah java InputConsole untuk menjalankannya:
Tumblr media
Menampilkan Output
Kita sudah mengenal beberapa cara mengambil input dari keyboard untuk program berbasis teks.
Sekarang bagaimana dengan outputnya?
Ada beberapa fungsi yang sudah disediakan oleh Java:
Fungsi System.out.print()
Fungsi System.out.println()
Fungsi System.out.format()
Apa saja perbedaan dari fungsi-fungsi tersebut?
Mari kita bahas…
Fungsi
print()
vs
println()
Fungsi print() dan println() sama-sama digunakan untuk menampilkan teks.
Lalu apa bedanya?
Fungsi print() akan menampilkan teks apa adanya. Sedangkan println() akan menampilkan teks dengan ditambah baris baru.
Mari kita coba dalam kode:
package eksperimen; public class PrintVsPrinln {    public static void main(String[] args) {        System.out.print("ini teks yang dicetak dengan print()");        System.out.println("sedangkan ini teks yang dicetak dengan println()");        System.out.print("pake print() lagi");    } }
Sekarang lihat hasil outputnya:
Tumblr media
Menggabungkan String
Ketika menggunakan fungsi print() maupun println(), kadang kita perlu mengambil teks dari variabel dan menggabungkannya dengan teks yang lain.
Misalnya seperti ini:
Kita punya variabel namaDepan dan namaBelakang:
String namaDepan = "Petani"; String namaBelakang = "Kode";
Kemudian kita ingin menampilkannya dengan fungsi print(), maka kita hanya perlu memasukkannya ke sana.
System.out.print(namaDepan); System.out.print(namaBelakang);
Kode tersebut akan menghasilkan: PetaniKode
Sebenarnya kita tidak perlu menggunakan dua fungsi print(), karena kita bisa menggabungkannya dengan operator +.
Contoh:
System.out.print(namaDepan + namaBelakang);
Agar ada spasi, tinggal ditambahkan saja spasi:
System.out.print(namaDepan + " " + namaBelakang);
Format String
Sedangkan untuk menggabungkan String yang lebih kompleks, kita bisa menggunakan fungsi format().
Contoh:
package eksperimen; public class FormatString {    public static void main(String[] args) {        String namaDepan = "Petani";        String namaBelakang = "Kode";        System.out.format("Nama saya %s %s %n", namaDepan, namaBelakang);    } }
Perhatikan: di sana kita menggunakan simbol %s untuk mengambil nilai dari variabel di sampingnya. %s artinya string.
Selain %s, ada juga simbol lain:
%d untuk desimal atau angka;
%f untuk bilangan pecahan;
%n untuk baris baru, bisa juga pakai \n;
dan masih banyak lagi, cek di dokumentasi java.
Tumblr media
Kode di atas akan menghasilkan: Nama saya Petani Kode
0 notes
bayu-ti-poltektegal · 4 years
Text
Belajar Pemrograman Java: Variabel dan Tipe Data
Tumblr media
Variabel adalah tempat menyimpan nilai sementara.
Itu saja.
Serius?
Iya serius, kalau mau yang lebih panjang…
…coba kita lihat pengertiannya dari Wikipedia:
Variabel: (Lat) 1. berubah-ubah, tidak tetap; 2. deklarasi sesuatu yang memiliki variasi nilai 3. berbeda-beda dalam bahasa pemrograman disebut juga simbol yang mewakili nilai tertentu, variabel yang dikenal di sub program disebut variabel lokal. sedang yang di kenal secara umum/utuh dalam satu program disebut variabel global.
Nah, ngerti gak?
Kalau tidak, cukuplah pahami: Variabel sebagai tempat menyimpan nilai sementara.
Lalu, apa itu tipe data?
Tipe data adalah jenis data yang tersimpan dalam variabel.
Macam-macam Tipe Data
Berikut ini macam-macam tipe data pada Java:
char: Tipe data karakter, contoh Z
int: angka atau bilangan bulat, contoh 29
float: bilangan desimal, contoh 2.1
double: bilangan desimal juga, tapi lebih besar kapasistanya, contoh 2.1
String: kumpulan dari karakter yang membentuk teks, contoh Hello World!
boolean: tipe data yang hanya bernilai true dan false
Membuat Variabel
Hal yang perlu diketahui dalam pembuatan variabel di java adalah cara penulisannya.
Formatnya seperti ini:
<tipe data> namaVariabel;
Contoh:
Membuat variabel kosong bertipe integer:
int namaVariabel;
Membuat variabel bertipe integer dan langsung diisi nilai:
int namaVariabel = 19;
Membuat sekumpulan variabel yang tipe datanya sama:
int a, b, c;
Lalu, dimana itu ditulis?
Di dalam fungsi main(): variabel yang ditulis di dalam fungsi main() dan fungsi yang lainnya disebut variabel lokal.
Di dalam class: Variabel ini disebut variabel class atau global.
Bingung…?
Mari Kita Coba Latihan dengan Membuat Program DataDiri
Buatlah program baru bernama DataDiri. Silahkan tambahkan kelas (java class) baru di paket (package) pertemuan1.
Tumblr media
Pada jendela yang muncul, isi nama kelasnya dengan DataDiri. Setelah itu, silahkan ikuti kode berikut.
Tumblr media
Setelah itu, coba jalankan dengan menekan tombol [Shift]+[F6]. Analisa dan pahami maksud kode-kode di atas.
Tumblr media
Hasil outputnya sepertinya salah.
Usia kok nilianya alamat, mengapa demikian?
Itu disebabkan karena kita memanggil variabel alamat pada baris usia.
Jadi yang akan tampil adalah isi dari variable alamat, bukan isi dari variabel usia.
Perbaikilah kodenya menjadi seperti ini:
Tumblr media
Dan, … silahkan coba jalankan kembali programnya.
Tumblr media
Yap! hasilnya sudah benar.
Aturan Penulisan Variabel
Ternyata tidak boleh sembarangan dalam membuat variabel.
Ada aturan yang harus diikuit, diantaranya:
Nama variabel tidak boleh menggunakan kata kunci dari Java (reserved word) seperti if, for, switch, dll.
Nama variabel boleh menggunakan huruf, angka (0-9), garis bawah (underscore), dan symbol dollar ($), namun penggunaan garis bawah dan symbol lebih baik dihindari.
Nama variabel harus diawali dengan huruf kecil, karena Java menggunakan gaya CamelCase.
Apabila nama variabel lebih dari 1 suku kata, maka kata ke-2 dituliskan dengan diawali dengan huruf besar dan seterusnya, contoh namaVariabel.
Latihan Ke-2: Program LuasLingkaran
Mari kita mantapkan pemahaman dengan membuat program LuasLingkaran.
Program ini fungsinya untuk menghitung luas lingkaran.
Luas lingkaran dapat kita hitung dengan rumus PI x r2.
Sebelum memulai memrogram, sebaiknya kita pahami dulu algoritma dan flowchart-nya:
Algoritma
Deklarasi:    Double luas, PI    int r Deskripsi:    - Input        PI = 3.14        r = 18    - Proses        luas = PI * r * r    - Output        cetak luas
Flow Chart:
Tumblr media
Nah, sudah jelas kan?
Sekarang kita tinggal coding saja.
Tumblr media
Silahkan dieksekusi dan perhatikan hasilnya.
Konversi Tipe Data
Konversi artinya merubah ke jenis yang lain.
Kenapa kita perlu konversi tipe data?
Untuk menjawabnya, saya ingin tunjukan ilustrasi berikut ini:
Tumblr media
Air yang bentuknya cair tidak bisa disimpan dalam kardus. Karena itu, air harus konversi dulu menjadi bentuk padat (es) agar bisa disimpan dalam kardus.
Begitu juga dengan variabel.
Tipe data string tidak akan bisa disimpan dalam variabel dengan tipe integer.
Cara Konversi Tipe Data
Contoh: Konversi ke tipe integer
Cara 1:
Integer.perseInt(variabel); Integer.perseInt(1.2);
Cara 2:
Integer.valueOf(2.1);
Cara 3:
objek.toInt();
Cara 4:
(int) variabel; (int) 2.1;
Ternyata, ada banyak sekali cara.
Mari Kita Coba dalam Program…
Buatlah kelas (java class) baru di paket pertemuan2.
Berikan nama: LuasSegitiga.
Kemudian ikuti kode program berikut:
package pertemuan2; import java.util.Scanner; public class LuasSegitia {    public static void main(String[] args) {        // deklarasi        Double luas;        int alas, tinggi;        // mebuat scanner baru        Scanner baca = new Scanner(System.in);        // Input        System.out.println("== Program hitung luas Segitiga ==");        System.out.print("Input alas: ");        alas = baca.nextInt();        System.out.print("Input tinggi: ");        tinggi = baca.nextInt();        // proses        luas = Double.valueOf((alas * tinggi) / 2);        // output        System.out.println("Luas = " + luas);    } }
Variabel luas bertipe data Double, berarti nilai yang bisa disimpan adalah Double.
Sedangkan variabel alas dan tinggi bertipe Integer.
Agar hasil operasi data integer dapat disimpan dalam variabel bertipe double, maka perlu dikonversi.
Kalau dijalankan, akan menghasilkan:
Tumblr media
0 notes
bayu-ti-poltektegal · 4 years
Text
Belajar Java: Memahami Struktur dan Aturan Penulisan Sintaks Java
Tumblr media
Coba perhatikan program berikut:
package com.petanikode.program; class Program {    public static void main(String args[]){        System.out.println("Hello World");    } }
Banyak hal yang kita belum ketahui.
Apa itu package?
Apa itu class?
…dan mengapa ditulis seperti itu?
Oleh sebab itu, kita perlu belajar sintaks dasar dan struktur program Java.
Mari kita mulai…
Struktur Dasar Program Java
Struktur program Java secara umum dibagi menjadi 4 bagian:
Deklarasi Package
Impor Library
Bagian Class
Method Main
Mari kita lihat contohnya:
package com.petanikode.program; //<- 1. deklarasi package import java.io.File; //<- 2. Impor library class Program { //<- 3. Bagian class    public static void main(String args[]){ //<- 4. Method main        System.out.println("Hello World");    } }
Mari kita bahas, satu-per-satu…
1. Deklarasi Package
Package merupakan sebuah folder yang berisi sekumpulan program Java.
Deklarasi package biasanya dilakukan saat membuat program atau aplikasi besar.
Contoh deklarasi package:
package com.petanikode.program;
Biasanya nama package mengikuti nama domain dari sebauh vendor yang mengeluarkan program tersebut.
Pada contoh di atas, com.petanikode adalah nama domain dari petani kode.
Aturannya: nama domain dibalik, lalu diikuti nama programnya.
Bagaimana kalau kita tidak mendeklarasikan package?
Boleh-boleh saja dan programnya akan tetap bisa jalan.
Tapi nanti saat produksi, misalnya saat membuat aplikasi Android.
Kita wajib mendeklarasikan package.
2. Bagian Impor
Pada bagian ini, kita melakukan impor library yang dibutuhkan pada program.
Library merupakan sekumpulan class dan fungsi yang bisa kita gunakan dalam membuat program.
Contoh impor library:
import java.util.Scanner;
Pada contoh tersebut, kita mengimpor class Scanner dari package java.util.
3. Bagian Class
Java merupakan bahasa pemrograman yang menggunakan paradigma OOP (Object Oriented Programming).
Setiap program harus dibungkus di dalam class agar nanti bisa dibuat menjadi objek.
Kalau kamu belum paham apa itu OOP?
Cukup pahami class sebagai deklarasi nama program.
class NamaProgram {    public static void main(String args[]){        System.out.println("Hello World");    } }
Ini adalah blok class.
Blok class dibuka dengan tanda kurung kurawal { kemudian ditutup atau diakhiri dengan }.
Di dalam blok class, kita dapat mengisinya dengan method atau fungsi-fungsi dan juga variabel.
Pada contoh di atas, terdapat method main().
4. Method Main
Method main() atau fungsi main() merupakan blok program yang akan dieksekusi pertama kali.
Ini adalah entri point dari program.
Method main() wajib kita buat. Kalau tidak, maka programnya tidak akan bisa dieksekusi.
Contoh method main().
public static void main(String args[]){    System.out.println("Hello World"); }
Penulisannya harus seperti ini…
Method main() memiliki parameter args[]. Parameter ini nanti akan menyimpan sebuah nilai dari argumen di command line.
Silahkan baca: Apa Fungsi String[] args pada Pemrograman Java?
Lalu di dalam method main(), terdapat statement atau fungsi:
System.out.println("Hello World");
Ini adalah fungsi untuk menampilkan teks ke layar monitor.
Statement dan Ekspresi pada Java
Statement dan eksrepsi adalah bagian terkecil dalam program. Setiap statement dan ekspresi di Java, harus diakhiri dengan titik koma (;).
Contoh statemen dan ekspresi:
System.out.println("Hello World"); System.out.println("Apa kabar?"); var x = 3; var y = 8; var z = x + y;
Statemen dan ekspresi akan menjadi instruksi yang akan dikerjakan oleh komputer.
Pada contoh di atas, kita menyuruh komputer untuk menampilkan teks "Hello World", dan "Apa kabar?".
Lalu kita menyuruhnya untuk menghitung nilai x + y.
Blok Program Java
Blok program merupakan kumpulan dari statement dan ekspresi yang dibungkus menjadi satu.
Blok program selalu dibuka dengan kurung kurawal { dan ditutup dengan }.
Contoh blok program:
// blok program main public static void main(String args[]){    System.out.println("Hello World");    System.out.println("Hello Kode");    // blok program if    if( true ){        System.out.println('True');    }    // blok program for    for ( int i = 0; i<10; i++){        System.out.println("Perulangan ke"+i);    } }
Intinya: jika kamu menemukan kurung { dan }, maka itu adalah sebauh blok program.
Blok program dapat juga berisi blok program yang lain (nested).
Pada contoh di atas, blok program main() berisi blok if dan for.
Kita akan pelajari blok ini di:
Percabangan pada Java;
Perulangan pada Java.
Penulisan Komentar pada Java
Komentar merupakan bagian program yang tidak akan dieksekusi oleh komputer.
Komentar biasanya digunakan untuk:
Mmemberi keterangan pada kode program;
Menonaktifkan fungsi tertentu;
Membuat dokumentasi;
dll.
Penulisan komentar pada java, sama seperti pada bahasa C. Yaitu menggunakan:
Garis miring ganda (//) untuk komentar satu baris;
Garis miring bintang (/*...*/) untuk komentar yang lebih dari satu baris.
Contoh:
public static void main(String args[]){    // ini adalah komentar satu baris    System.out.println("Hello World");        // komentar akan diabaikan oleh komputer    // berikut ini fungsi yang di-non-aktifkan dengan komentar    // System.out.println("Hello World");    /*    Ini adalah penulisan komentar    yang lebih dari    satu baris    */ }
Penulisan String dan Karakter
String merupakan kumpulan dari karakter. Kita sering mengenalnya dengan teks.
Contoh string: "Hello world"
Aturan penulisan string pada Java, harus diapit dengan tanda petik ganda seperti pada contoh di atas.
Apabila diapit dengan tanda petik tunggal, maka akan menjadi sebuah karakter.
Contoh: 'Hello world'.
Jadi harap dibedakan:
Tanda petik ganda ("...") untuk membuat string;
Sedangkan tanda petik tunggal ('...') untuk membuat karakter.
Case Sensitive
Java bersifat Case Sensitive, artinya huruf besar atau kapital dan huruf kecil dibedakan.
Contoh:
String nama = "Petani Kode"; String Nama = "petanikode"; String NAMA = "Petanikode.com"; System.out.println(nama); System.out.println(Nama); System.out.println(NAMA);
Tiga variabel tersebut merupakan tiga variabel yang bebeda, mesikipun sama-sama bernam nama.
Banyak pemula yang sering salah pada hal ini. Karena tidak bisa membedakan mana variabel yang menggunakan huruf besar dan mana yang menggunakan huruf kecil.
Apabila kita membuat variabel seperti ini:
String jenisKelamin = "Laki-laki";
Maka kita harus memanggilnya seperti ini:
System.out.println(jenisKelamin);
Bukan seperti ini:
System.out.println(jeniskelamin);
Perhatikan, huruf K adalah huruf kapital.
Gaya Penulisan Case
Gaya penulisan case (case style) yang digunakan oleh Java adalah: camelCase, PascalCase, dan ALL UPPER.
Gaya penulisan camelCase digunakan pada nama variabel, nama objek, dan nama method.
Contoh:
String namaSaya = "Dian";
Lalu untuk PascalCase digunakan pada penulisan nama class.
Contoh:
class HelloWOrld {    //... }
Perhatikan nama class-nya, kita menggunakan huruf kapital di awal, dan huruf kapital pada huruf W untuk memisahkan dua suku kata.
Sedangkan camelCase huruf depannya menggunakan huruf kecil, dan awalan suku kata berikutnya menggunakan huruf besar.
// ini camelCase belajarJava // ini PascalCase BelajarJava
Lalu, penulisan ALL UPPER atau semaunya kapital digunakan pada pembuatan nama konstanta.
Contoh:
public final String DB_NAME = "petanikode";
Untuk penulisan dua suku kata atau lebih, ALL UPPER dipisah dengan garus bawah atau underscore (_).
Apakah boleh saya menulis sembarangan?
Misal untuk nama class menggunakan ALL UPPER?
Boleh-boleh saja, programnya tidak akan error. Tetapi kode program yang kamu tulis akan terlihat kotor dan keluar dari garis pandu yang sudah ditetapkan.
0 notes
bayu-ti-poltektegal · 4 years
Text
Belajar Java: Program Java Pertama yang Harus Anda Buat
Tumblr media
Pertama kita harus membuat proyek dulu di Netbeans.
Silahkan ikuti langkah-langkah berikut ini:
1. Arahkan ke menu File kemudian pilih New Project. Pada jendela yang muncul, pilih Java Application kemudian klik next.
Tumblr media
2. Isi data proyek, cukup mengganti project name saja (Lab-Java) dan ‘Create Main Class’ tidak perlu dicentang. Setelah itu klik finish.
Tumblr media
Membuat Paket Biar Rapi
Kita akan menyimpan tiap kode java dalam paket agar tertata rapi dan mudah ditemukan.
Nama paket akan selalu berubah-ubah setiap kali pertemuan. Pada pertemuan pertama ini nama paketnya adalah pertemuan1.
Pembuatan paket dapat dilakukan dengan mengklik kanan pada Source Package. Kemudian pilih new > Java Package.
Tumblr media
Pada jendela yang muncul, isilah nama paketnya dengan pertemuan1. Setelah itu, klik Finish.
Tumblr media
Membuat Kode Program
Program java dibuat dalam sebuah kelas (class).
Buatlah sebuah kelas baru (Java Class) pada paket pertemuan1.
Tumblr media
Pada jendela yang muncul, isilah nama kelasnya dengan Perkenalan. Setelah itu klik Finish.
Pastikan: Menggunakan huruf besar/kapital pada awal nama kelas.
Tumblr media
Maka akan tercipta sebuah kelas baru bernama Perkenalan.
Tumblr media
Teks yang berwarna abu-abu adalah sebuah komentar.
Abaikan saja, karena tidak berpengaruh kepada program yang kita buat.
Biasanya digunakan sebagai keterangan tambahan untuk programmer.
Sementara, package pertemuan1 menandakan kalau kode java ini berada di dalam paket pertemuan1.
Kelas perkenalan dimulai dari tanda kurung “{” kemudian ditutup dengan tanda kurung “}”.
Di dalam sanalah kita akan menulis kode programnya.
Sebagai contoh, silahkan buat fungsi main() dalam kelas Perkenalan, isinya berupa teks perkenalan.
Fungsi main() adalah fungsi utama dalam sebuah program. Fungsi yang wajib ada di setiap program Java.
Tumblr media
Fungsi System.out.println("..."); untuk menampilkan teks ke layar.
Kita akan banyak menggunakan fungsi ini untuk menampilkan output.
Sekarang… mari kita coba eksekusi.
Tekan Shift+F6 untuk mengeksekusi.
Tumblr media
0 notes