Close Menu
  • Home
  • Programming
    • JavaScript
    • TypeScript
    • Node.js
    • Python
    • PHP
    • CSS
    • HTML
  • Framework
    • Express.js
    • Laravel
    • Nest.js
    • React.js
    • Expo
    • React Native
    • Next.js
    • Strapi (Headless CMS)
    • WordPress (CMS)
  • Hot Topics
    • Software Architect
    • Artificial Intelligence
    • Data Science
    • Chat Bot
    • Machine Learning
      • Library JS
        • Danfo.js
    • Natural Language Processing
    • Proof of Concept
    • Kampus
  • Roles
    • Data Engineer
    • Software Engineer
    • DevOps
      • Docker
      • Jenkins
      • VPS (Virtual Private Server)
      • Ubuntu Server
  • Databases
    • Postgre SQL
    • SQL
    • SQL Server
    • Redis

Subscribe to Updates

Get the latest creative news from FooBar about art, design and business.

What's Hot

Cara Install Docker di VPS Ubuntu 20.04

October 13, 2024

Cara Install WordPress Menggunakan Docker di VPS

October 13, 2024

Membuat Program Deteksi Data KTP dari Kode Digit dengan JavaScript

October 6, 2024
Facebook X (Twitter) Instagram
Lampung DevLampung Dev
  • Home
  • Programming
    • JavaScript
    • TypeScript
    • Node.js
    • Python
    • PHP
    • CSS
    • HTML
  • Framework
    • Express.js
    • Laravel
    • Nest.js
    • React.js
    • Expo
    • React Native
    • Next.js
    • Strapi (Headless CMS)
    • WordPress (CMS)
  • Hot Topics
    • Software Architect
    • Artificial Intelligence
    • Data Science
    • Chat Bot
    • Machine Learning
      • Library JS
        • Danfo.js
    • Natural Language Processing
    • Proof of Concept
    • Kampus
  • Roles
    • Data Engineer
    • Software Engineer
    • DevOps
      • Docker
      • Jenkins
      • VPS (Virtual Private Server)
      • Ubuntu Server
  • Databases
    • Postgre SQL
    • SQL
    • SQL Server
    • Redis
Facebook X (Twitter) Instagram
Lampung DevLampung Dev
Home ยป Pemrograman Berbasis Objek, Konsep Dasar dan Implementasinya
OOP

Pemrograman Berbasis Objek, Konsep Dasar dan Implementasinya

Abdan Zam Zam RamadhanBy Abdan Zam Zam RamadhanMay 16, 2024Updated:May 25, 2024No Comments5 Mins Read
Share Facebook Twitter Pinterest LinkedIn Tumblr Reddit Telegram Email
Pemrograman Berbasis Objek, Konsep Dasar dan Implementasinya
Pemrograman Berbasis Objek, Konsep Dasar dan Implementasinya
Share
Facebook Twitter LinkedIn Pinterest Email

Lampung Dev – Pemrograman Berbasis Objek (Object-Oriented Programming, OOP) adalah paradigma pemrograman yang menggunakan “objek” untuk merepresentasikan data dan metode. OOP membantu dalam membuat kode yang lebih modular, terorganisir, dan mudah dipelihara. Dalam artikel ini, kita akan membahas konsep dasar OOP dan bagaimana mengimplementasikannya menggunakan JavaScript.

Baca juga: Cara Menggunakan Foreach di Node.js?

Daftar Isi

Toggle
  • Konsep Dasar Pemrograman Berbasis Objek
  • Implementasi OOP dengan JavaScript
    • 1. Membuat Kelas dan Objek
    • 2. Enkapsulasi dengan Getter dan Setter
    • 3. Pewarisan
    • 4. Polimorfisme
  • Kesimpulan

Konsep Dasar Pemrograman Berbasis Objek

  1. Objek Objek adalah entitas yang memiliki atribut (properti) dan perilaku (metode). Objek adalah instansiasi dari sebuah kelas.
    • Contoh: Mobil memiliki atribut seperti warna dan model, serta metode seperti bergerak dan berhenti.
  2. Kelas (Class) Kelas adalah cetak biru atau template untuk membuat objek. Kelas mendefinisikan atribut dan metode yang akan dimiliki oleh objek.
    • Contoh: Kelas Mobil mendefinisikan atribut seperti warna dan model, serta metode seperti bergerak() dan berhenti().
  3. Enkapsulasi (Encapsulation) Enkapsulasi adalah konsep menyembunyikan detail implementasi dari pengguna dan hanya mengekspos metode dan properti yang diperlukan. Ini membantu dalam melindungi data dan memastikan integritas objek.
    • Contoh: Menggunakan metode getter dan setter untuk mengakses dan mengubah nilai properti secara aman.
  4. Pewarisan (Inheritance) Pewarisan adalah mekanisme dimana sebuah kelas dapat mewarisi properti dan metode dari kelas lain. Ini memungkinkan penggunaan kembali kode dan memperluas fungsionalitas kelas yang ada.
    • Contoh: Kelas MobilBalap mewarisi dari kelas Mobil dan menambahkan properti atau metode tambahan.
  5. Polimorfisme (Polymorphism) Polimorfisme memungkinkan objek untuk menggunakan metode yang sama dengan cara yang berbeda. Ini bisa dicapai melalui overloading (menimpa) metode di kelas anak.
    • Contoh: Metode bergerak() bisa diimplementasikan berbeda di kelas Mobil dan MobilBalap.

Implementasi OOP dengan JavaScript

Mari kita lihat bagaimana konsep-konsep ini dapat diimplementasikan dalam JavaScript.

1. Membuat Kelas dan Objek

class Mobil {
    constructor(merk, model, tahun) {
        this.merk = merk;
        this.model = model;
        this.tahun = tahun;
    }

    bergerak() {
        console.log(`${this.merk} ${this.model} bergerak.`);
    }

    berhenti() {
        console.log(`${this.merk} ${this.model} berhenti.`);
    }
}

// Membuat objek dari kelas Mobil
const mobilSaya = new Mobil('Toyota', 'Corolla', 2020);
mobilSaya.bergerak(); // Output: Toyota Corolla bergerak.
mobilSaya.berhenti(); // Output: Toyota Corolla berhenti.

Penjelasan:

  • Di sini, class Mobil mendefinisikan sebuah kelas dengan konstruktor yang menerima merk, model, dan tahun sebagai parameter.
  • Mobil memiliki dua metode: bergerak dan berhenti, yang mencetak pesan ke konsol.
  • const mobilSaya membuat instance baru dari kelas Mobil dengan nilai atribut yang diberikan dan kemudian memanggil metode bergerak dan berhenti.

Baca juga: Cara Install XAMPP (Apache, MariaDB, PHP dan Perl) pada Windows

2. Enkapsulasi dengan Getter dan Setter

class Mobil {
    constructor(merk, model, tahun) {
        this._merk = merk;
        this._model = model;
        this._tahun = tahun;
    }

    get merk() {
        return this._merk;
    }

    set merk(merkBaru) {
        this._merk = merkBaru;
    }

    bergerak() {
        console.log(`${this._merk} ${this._model} bergerak.`);
    }

    berhenti() {
        console.log(`${this._merk} ${this._model} berhenti.`);
    }
}

const mobilSaya = new Mobil('Honda', 'Civic', 2019);
mobilSaya.bergerak(); // Output: Honda Civic bergerak.
mobilSaya.merk = 'Nissan';
console.log(mobilSaya.merk); // Output: Nissan

Penjelasan:

  • Enkapsulasi diterapkan dengan menggunakan underscore (_) di depan nama properti (_merk, _model, _tahun) untuk menandai bahwa properti tersebut bersifat privat.
  • get merk dan set merk adalah metode akses (getter dan setter) yang memungkinkan kita mengakses dan mengubah nilai properti merk dengan cara yang aman.
  • Objek mobilSaya dibuat dengan merk awal ‘Honda’, yang kemudian diubah menjadi ‘Nissan’ menggunakan setter merk.

3. Pewarisan

class Mobil {
    constructor(merk, model, tahun) {
        this.merk = merk;
        this.model = model;
        this.tahun = tahun;
    }

    bergerak() {
        console.log(`${this.merk} ${this.model} bergerak.`);
    }

    berhenti() {
        console.log(`${this.merk} ${this.model} berhenti.`);
    }
}

class MobilBalap extends Mobil {
    constructor(merk, model, tahun, kecepatanMaksimum) {
        super(merk, model, tahun);
        this.kecepatanMaksimum = kecepatanMaksimum;
    }

    bergerak() {
        console.log(`${this.merk} ${this.model} bergerak dengan kecepatan tinggi!`);
    }

    tampilkanKecepatanMaksimum() {
        console.log(`Kecepatan maksimum ${this.merk} ${this.model} adalah ${this.kecepatanMaksimum} km/jam.`);
    }
}

const mobilBalapSaya = new MobilBalap('Ferrari', 'F8', 2022, 340);
mobilBalapSaya.bergerak(); // Output: Ferrari F8 bergerak dengan kecepatan tinggi!
mobilBalapSaya.tampilkanKecepatanMaksimum(); // Output: Kecepatan maksimum Ferrari F8 adalah 340 km/jam.

Penjelasan:

  • class MobilBalap mewarisi dari class Mobil menggunakan kata kunci extends.
  • Konstruktor MobilBalap memanggil konstruktor Mobil menggunakan super untuk menginisialisasi properti yang diwarisi.
  • MobilBalap menambahkan properti baru kecepatanMaksimum dan metode tampilkanKecepatanMaksimum.
  • bergerak di MobilBalap menimpa (override) metode bergerak di Mobil untuk mencetak pesan yang berbeda.

Baca juga: Bagaimana Prospek Karir Jurusan Teknik Informatika?

4. Polimorfisme

class Mobil {
    constructor(merk, model, tahun) {
        this.merk = merk;
        this.model = model;
        this.tahun = tahun;
    }

    bergerak() {
        console.log(`${this.merk} ${this.model} bergerak.`);
    }

    berhenti() {
        console.log(`${this.merk} ${this.model} berhenti.`);
    }
}

class MobilBalap extends Mobil {
    constructor(merk, model, tahun, kecepatanMaksimum) {
        super(merk, model, tahun);
        this.kecepatanMaksimum = kecepatanMaksimum;
    }

    bergerak() {
        console.log(`${this.merk} ${this.model} bergerak dengan kecepatan tinggi!`);
    }
}

const mobilBiasa = new Mobil('Toyota', 'Corolla', 2020);
const mobilBalapSaya = new MobilBalap('Ferrari', 'F8', 2022, 340);

mobilBiasa.bergerak(); // Output: Toyota Corolla bergerak.
mobilBalapSaya.bergerak(); // Output: Ferrari F8 bergerak dengan kecepatan tinggi!

Penjelasan:

  • class Mobil dan class MobilBalap mendefinisikan metode bergerak masing-masing dengan implementasi berbeda.
  • mobilBiasa adalah instance dari Mobil, sedangkan mobilBalapSaya adalah instance dari MobilBalap.
  • Ketika bergerak dipanggil pada mobilBiasa, ia menggunakan implementasi dari Mobil. Sebaliknya, ketika bergerak dipanggil pada mobilBalapSaya, ia menggunakan implementasi dari MobilBalap, menunjukkan konsep polimorfisme.

Kesimpulan

Pemrograman Berbasis Objek (OOP) menawarkan banyak manfaat seperti modularitas, kemudahan dalam pemeliharaan kode, dan fleksibilitas dalam pengembangan perangkat lunak. Dengan memahami konsep dasar seperti objek, kelas, enkapsulasi, pewarisan, dan polimorfisme, pengembang dapat menulis kode yang lebih efisien dan dapat diandalkan. JavaScript, sebagai bahasa pemrograman yang fleksibel, mendukung paradigma OOP dan memungkinkan pengembang untuk menerapkan prinsip-prinsip ini dalam pengembangan aplikasi mereka.

Belajar OOP Contoh Kode OOP Enkapsulasi Getter dan Setter Implementasi Kode JavaScript Implementasi OOP JavaScript Kelas dalam JavaScript Kelas dan Objek Konsep Dasar OOP Konsep OOP Metode dalam JavaScript Modularitas Kode Objek dalam JavaScript OOP OOP dengan JavaScript Paradigma Pemrograman Pemeliharaan Kode Pemrograman Berbasis Objek Pemrograman Modern Pengembangan Perangkat Lunak Pewarisan Pewarisan dalam JavaScript Polimorfisme Polimorfisme dalam JavaScript Programming struktur kode Typing Statis
Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
Previous ArticleKelebihan dan Tantangan dalam Penggunaan TypeScript di Proyek Besar
Next Article Ringkasan Perjalanan HTML, Dari Awal Hingga Era Modern
Abdan Zam Zam Ramadhan
  • Website
  • LinkedIn

Seorang profesional teknologi yang berfokus pada pengembangan aplikasi (web & Android), DevOps, teknologi data, serta spesialisasi dalam Natural Language Processing (NLP) dan pengembangan ChatBot berbasis NLP. Memiliki keahlian mendalam di ekosistem Node.js dan aktif berkontribusi pada berbagai proyek open-source melalui library JavaScript di NPM. Rutin menulis artikel dan panduan teknis seputar pemrograman di LampungDev.com, berbagi wawasan seputar tren teknologi terbaru dan solusi pemrograman inovatif.

Related Posts

Tips & Trik

10 Plugin VS Code yang Wajib Developer Install

June 15, 2024
Git & Github

Panduan Dasar untuk Memulai dengan Git dan GitHub

June 9, 2024
CSS

Framework CSS Lagi Populer Tahun 2024

June 8, 2024
Demo
Top Posts

Cara Menggunakan Foreach di Node.js?

February 13, 202468 Views

Cara Install XAMPP (Apache, MariaDB, PHP dan Perl) pada Windows

November 26, 202350 Views

Bagaimana Prospek Karir Jurusan Teknik Informatika?

February 14, 202447 Views

Lagi Viral! S3 Computer Science: Perlukah Bisa Ngoding?

May 24, 202438 Views

10 Plugin VS Code yang Wajib Developer Install

June 15, 202435 Views
Stay In Touch
  • Facebook
  • YouTube
  • WhatsApp
  • Instagram
  • LinkedIn
Latest Reviews

Subscribe to Updates

Get the latest tech news from FooBar about tech, design and biz.

Demo
Most Popular

Cara Menggunakan Foreach di Node.js?

February 13, 202468 Views

Cara Install XAMPP (Apache, MariaDB, PHP dan Perl) pada Windows

November 26, 202350 Views

Bagaimana Prospek Karir Jurusan Teknik Informatika?

February 14, 202447 Views
Our Picks

Cara Install Docker di VPS Ubuntu 20.04

October 13, 2024

Cara Install WordPress Menggunakan Docker di VPS

October 13, 2024

Membuat Program Deteksi Data KTP dari Kode Digit dengan JavaScript

October 6, 2024

Subscribe to Updates

Get the latest creative news from FooBar about art, design and business.

Facebook X (Twitter) Instagram Pinterest
  • Jobs
  • Project Freelance
  • About Me
  • Contact
Copyright © 2025 Lampung Dev. Developed by Abdan Zam Zam Ramadhan.

Type above and press Enter to search. Press Esc to cancel.