OOP Pada dart - Class @ Cong Fandi | 2022-10-19T09:00:00+07:00 | 3 minutes read | Update at 2022-10-19T09:00:00+07:00

Oke kita akan melanjutkan pembahasan tentang kelas ya teman teman berdasarkan contoh kasus yang ada dimateri sebelumnya yaitu

OOP - Pengenalan.

Pada materi sebelumnya kita tahu bahwa kita membutuhkan 2 buah objek yaitu objek user dan objek properti.

Properti yang akan dijual dan juga user usernya tidak hanya ada satu.

Sebagai contoh, properti yang dijual bisanya rumah, apartmen dan Ruko dan masing masing memiliki luas bangunan dan lebar bangunan, tentu saja luasnya pun juga berbeda.

User juga demikian, yang beli pasti banyak orang tentunya kita tidak mungkin menulis nama, alamat serta status pembeliannya dengan list, maupun map kan teman teman?.

Sampek sini sudah kebayang belum kebutuhan terhadap properti dan user ? Kalau belum coba kita simulasikan sebuah contoh ya.

Contoh 1

    void main(){
        //nama properti
        String namaProperti1 = "Villa";
        String namaProperti2 = "rumah";
        String namaProperti3 = "kos";
        String namaProperti4 = "apartmen";
        String namaProperti5 = "gudang";

        //alamat properti
        String alamatPoperti1 = "jakarta";
        String alamatPoperti2 = "surabaya";
        String alamatPoperti3 = "makassar";
        String alamatPoperti4 = "palembang";
        String alamatPoperti5 = "bandung";

        //luas bagunan
        //lebar bangunan
        //panjang bangunan
        //luas tanah
        //lebar tanah
        //panjang tanah
    }

coba perhatikan contoh 1, kalau kita mau ambil luas bangunan properti1, sulit kan ya ? harus kita hafalin bahwa ada nama luas properti 1,2,3,4 dan seterusnya.

Maka dengan konsep OOP pertama yaitu kelas, kita akan menyelesaikan permasalahan pertama nih, yaitu kita butuh yang namanya kelas, utnuk mengelompokan kebutuhan terhadap objek yang sudah kita planning diawal, yaitu properti dan user. Pada intinya inilah alasan kenapa class sering disebut sebagai sebuah blueprint atau cetak biru.

Penulisan

    class Properti{

    }
    class User{

    }

Menambahkan Attribut

class pada bahasa manapun akan memiliki attribut dan memiliki behavior/cara kerja/bagaiman dibentuk.

    class Properti{

        Properti({
            this.nama,
            this.alamat, 
            this.panjangBangunan, 
            this.lebarBangunan, 
            this.panjangtanah, 
            this.lebartanah
            });

        String? nama;
        String? alamat;
        double? panjangBangunan;
        double? lebarBangunan;
        double? panjangTanah;
        double? lebarTanah;

        double? get luasBangunan => panjangBangunan * lebarBangunan;
        double? get luasTanah => panjangTanah * lebarTanah;

    }

dan sekarang kita sudah memiliki cetakan properti, dimana saat kita menggunakannay nanti Cukup kita panggil class tanah dan membuat objek dari class yang sudah kita buat.

Contoh penggunaan

    void main(){
        Properti properti1 = Properti(
            nama:"Villa",
            alamat:"Jakarta",
            panjangBangunan:12.5,
            lebarBanguan:10.5,
            panjangTanah:12.5,
            lebarTanah:16.5
        );

        Properti properti2 = Properti(
            nama:"Rumah",
            alamat:"Surabaya",
            panjangBangunan:12.5,
            lebarBanguan:10.5,
            panjangTanah:12.5,
            lebarTanah:16.5
        );

        Properti properti3 = Properti(
            nama:"Makassar",
            alamat:"Jakarta",
            panjangBangunan:12.5,
            lebarBanguan:10.5,
            panjangTanah:12.5,
            lebarTanah:16.5
        );

        Properti properti4 = Properti(
            nama:"Kos",
            alamat:"Palembang",
            panjangBangunan:12.5,
            lebarBanguan:10.5,
            panjangTanah:12.5,
            lebarTanah:16.5
        );

        Properti properti5 = Properti(
            nama:"Gudang",
            alamat:"Bandung",
            panjangBangunan:12.5,
            lebarBanguan:10.5,
            panjangTanah:12.5,
            lebarTanah:16.5
        );
    }

nah sekarang kita sudah memiliki 5 properti dengan nama dan luas serta lokasi yang berbeda beda, misal kita kepngen tahu nama properti ke-3 saya apa ya ? maka kita cukup panggil

    properti3.nama;

dan yang pasti ini namanya sudah benar ya, coba bayangkan dengan konsep yang pertama yang tanpa kelas, kita harus manggila seperti ini

    namaProperti3;

Lebih simple ? iya. namun kalian akan kesulitan membuktikan bahwa namaProperti3 itu benar adanya dan untuk menggabungkan dengan attribut2 yang lain akan sangat kesulitan.

Oke sekian dulu ya teman2 pembahasan tentang class ini dan ini baru permulaan ya teman teman, kita akan mebahasnya lagi nanti. dan berikut kelas dan atribut serta method2 yang dibutuhkan oleh class user dan properti, di note ya, ini kana kita bawa hingga tutorial PBO ini selsai.

    class Properti{
            Properti({
                this.nama,
                this.alamat, 
                this.panjangBangunan, 
                this.lebarBangunan, 
                this.panjangTanah, 
                this.lebarTanah
                });

            String? nama;
            String? alamat;
            double? panjangBangunan;
            double? lebarBangunan;
            double? panjangTanah;
            double? lebarTanah;

            double? get luasBangunan => (panjangBangunan ?? 0.0) * (lebarBangunan ?? 0.0);
            double? get luasTanah => (panjangTanah ?? 0.0) * (lebarTanah ?? 0.0);
    }
    class User {
        String? nama;
        String? alamat;
        String? status;
        int? jumlahUang;
        User({this.nama, this.alamat, this.status, this.jumlahUang});
    }

Ilmu adalah dongkrak terbaik untuk merubah nasib hidup manusia. dan ilmu tidak hanya ada dibangku sekolah saja. Belajarlah selagi mampu! Penulis

© 2018 - 2022 The Ngoding

Powered by Hugo with theme Dream.

avatar

The NgodingSebuah cita-cita hanyalah mimpi jika tidak tahu cara mewujudkannya