Pemrograman berorientasi objek

PEMROGRAMAN BERORIENTASI
OBJEK
 




A. Pengertian 

Pemrograman berorientasi objek (OOP) adalah model pemrograman komputer yang mengatur desain perangkat lunak seputar data, atau objek, bukan fungsi dan logika. 
OOP berfokus pada objek yang ingin dimanipulasi oleh pengembang daripada logika yang diperlukan untuk,  Hal ini mencakup program untuk manufaktur dan desain, serta aplikasi seluler; misalnya OOP dapat digunakan untuk pembuatan perangkat lunak simulasi sistem.

B. Struktur pemrograman berorientasi objek

stuktur OOP mencangkup beberapa hal diantaranya adalah:

  • Class adalah tipe data yang ditentukan pengguna yang bertindak sebagai cetak biru untuk objek, atribut, dan metode individual.
  • Objek adalah turunan dari kelas yang dibuat dengan data yang ditentukan secara spesifik. Objek dapat berhubungan dengan objek dunia nyata atau entitas abstrak. Ketika class didefinisikan pada awalnya, deskripsi adalah satu-satunya objek yang didefinisikan.
  • Metode adalah fungsi yang didefinisikan di dalam kelas yang menggambarkan perilaku suatu objek. Setiap metode yang terdapat dalam definisi class dimulai dengan referensi ke objek instance. Pemrogram menggunakan metode untuk dapat digunakan kembali atau menjaga fungsionalitas terenkapsulasi di dalam satu objek pada satu waktu.
  • Atribut didefinisikan dalam templat kelas dan mewakili keadaan suatu objek. Objek akan memiliki data yang disimpan di bidang atribut. Atribut kelas milik kelas itu sendiri.

C. Penggunaan

bahasa pemrograman Simula merupakan bahasa pemrograman pertama yang menerapkan berorientasi objek,namun sekarang banyak bahasa pemrograman lain yang mengikuti jejak simula dengan menerapkan prinsip OOP.
Dan berikut ini beberapa bahasa pemrograman OOP:

 bahasa OOP murni yang populer meliputi:
  • Rubi
  • Skala
  • GIOK
  • Zamrud

Bahasa pemrograman yang dirancang terutama untuk OOP meliputi:

  • Jawa
  • ular piton
  • C++

Bahasa pemrograman lain yang berpasangan dengan OOP meliputi:

  • Visual Dasar .NET
  • PHP
  • JavaScript

 bahasa OOP murni yang populer meliputi:

  • Rubi
  • Skala
  • GIOK
  • Zamrud

Bahasa pemrograman yang dirancang terutama untuk OOP meliputi:

  • Java
  • ular piton
  • C++

Bahasa pemrograman lain yang berpasangan dengan OOP meliputi:

  • Visual Dasar .NET
  • PHP
  • JavaScript


D. Manfaat OOP

Manfaat OOP antara lain:

  • Modularitas. Enkapsulasi memungkinkan objek menjadi mandiri, membuat pemecahan masalah dan pengembangan kolaboratif menjadi lebih mudah.
  • Dapat digunakan kembali. Kode dapat digunakan kembali melalui pewarisan, artinya tim tidak perlu menulis kode yang sama berkali-kali.
  • Produktifitas. Pemrogram dapat membuat program baru lebih cepat melalui penggunaan banyak perpustakaan dan kode yang dapat digunakan kembali.
  • Mudah ditingkatkan dan ditingkatkan skalanya. Pemrogram dapat mengimplementasikan fungsionalitas sistem secara mandiri.
  • Deskripsi antarmuka . Deskripsi sistem eksternal sederhana, karena teknik penyampaian pesan yang digunakan untuk komunikasi objek.
  • Keamanan. Dengan menggunakan enkapsulasi dan abstraksi, kode kompleks disembunyikan, pemeliharaan perangkat lunak menjadi lebih mudah, dan protokol internet terlindungi.
  • Fleksibilitas. Polimorfisme memungkinkan satu fungsi untuk beradaptasi dengan kelas tempatnya ditempatkan. Objek yang berbeda juga dapat melewati antarmuka yang sama


E. Keunggulan OOP

Salah satu keunggulan utama dari pendekatan OOP adalah kemampuannya untuk meningkatkan modularitas dan reusabilitas kode. Dengan menggunakan konsep pewarisan (inheritance), kita dapat membuat hierarki class yang memungkinkan untuk membagi atribut dan metode bersama antara class-class yang terkait. Ini berarti jika kita memiliki beberapa objek yang memiliki sifat atau perilaku yang serupa, kita tidak perlu menulis ulang kode yang sama berulang kali. Sebagai contoh, dalam sebuah aplikasi yang memiliki berbagai jenis kendaraan, kita dapat membuat class "Kendaraan" sebagai superclass dan kemudian subclass seperti "Mobil", "Motor", dan "Pesawat Terbang". Ini mengurangi duplikasi kode dan memungkinkan untuk perubahan yang lebih mudah dan terorganisir di masa mendatang.

Selain itu, polimorfisme adalah konsep penting dalam OOP yang memungkinkan objek untuk memiliki perilaku yang berbeda tergantung pada tipe data yang digunakan atau konteks di mana mereka dipanggil. Ini memungkinkan untuk fleksibilitas yang luar biasa dalam desain program. Sebagai contoh, kita dapat memiliki sebuah method "bergerak()" yang diimplementasikan secara berbeda di kelas-kelas yang berbeda seperti "Mobil" dan "Pesawat Terbang", tetapi masih bisa dipanggil menggunakan cara yang sama. Ini memfasilitasi pengembangan aplikasi yang mudah diubah dan disesuaikan dengan kebutuhan yang berubah dari waktu ke waktu.

Terakhir, abstraksi adalah konsep lain yang penting dalam OOP yang memungkinkan kita untuk menyembunyikan detail implementasi internal dari pengguna objek. Dengan menggunakan abstraksi, kita dapat memusatkan perhatian pada apa yang objek lakukan, daripada bagaimana mereka melakukannya. Hal ini memungkinkan untuk pengembangan dan pemeliharaan kode yang lebih mudah, serta mempermudah kolaborasi antara pengembang yang berbeda. Dengan demikian, OOP tidak hanya tentang membuat kode menjadi lebih terstruktur dan mudah dikelola, tetapi juga tentang memfasilitasi kolaborasi dan pengembangan yang lebih cepat dan efisien dalam tim pengembangan perangkat lunak.


F. Projek

projek yang saya buat kali ini adalah alat pembagian atau alat perhitugan gaji karyawan. yang berfungsi membagi gaji atau pendapatan karyawan secara merata berdasarkan jumlah pendapatan total perusahaan dan jumlah karyawan yang ada

berikut ini adalah kode html dan javascriptnya:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Salary Division Program</title>
<style>
    body {
        font-family:sans-serif;
        background: linear-gradient(to bottom right,lightblue, lightpink);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        height: 79vh;
    }
    .container {
        max-width: 400px;
        margin-top: 20vh;
        padding: 20px;
        margin-left: 35%;
        border: 3px solid rgb(24, 3, 3);
        border-radius: 10px;
        background-color: transparent;
        backdrop-filter: blur(100%);
    }

    label{
        font-weight: bold;
        font-family: times new roman;
    }

    input{
        background-color: transparent;
        backdrop-filter: blur(18px);
        border-radius: 5px;
    }

    .tombol{
        display: flex;
        gap: 1vh;
    }

    .tombol button{
        width: 100px;
        border: 2px solid black;
        background-color: transparent;
        border-radius: 20px;
        font-weight: bold;
    }

   #nilai{
    margin-top: 20px;
    margin-left: 10px;
   }

   @media screen and (max-width:900px) {
   
   
    .container{
        width: 70%;
        margin-left: 25px;

    }

    #nilai{
        font-size: 13px;
    }
   }

</style>
</head>
<body>
<div class="container">
    <h2>Program membagian gaji karyawn</h2>
    <label for="GAJI">Total pendapatan sebulan:</label>
    <input type="number" id="GAJI" placeholder="Masukan total pendapatan"><br><br>
    <label for="jumlahKaryawan">jumlah Karyawan:</label>
    <input type="number" id="jumlahKaryawan" placeholder="masukan total karyawan"><br><br>
    <div class="tombol">
    <button onclick="perhitunganGaji()">Calculate</button><br><br>
    <button onclick="deletebuton()">delete</button>
</div>
    <div id="nilai"></div>

</div>

<script>
function perhitunganGaji() {
    const jumlahGaji = document.getElementById('GAJI').value;
    const totalKaryawan = parseInt(document.getElementById('jumlahKaryawan').value);

    if (isNaN(jumlahGaji) || isNaN(totalKaryawan) || jumlahGaji <= 0 || totalKaryawan <= 0) {
        document.getElementById('nilai').innerHTML = 'nilai tidak valid';
    } else {
        const perGaji = jumlahGaji / totalKaryawan;
        document.getElementById('nilai').innerHTML = `setiap karyawan akan mendapatkan Rp.${perGaji.toFixed(3)} setiap bulan.`;
    }
}

 function deletebuton()  {
    location.reload()
 }


</script>
</body>
</html>



dan berikut ini adalah tampilan hasilnya:




disclaimer: projek ini sudah mendukung untung tampilan di mobile

untuk lebih lengkap dapat dilihat di link berikut: https://zeroplan123.github.io/calculateSalary.github.io/

dan jika ingin melihat channel github saya dapat melalui: https://github.com/Zeroplan123


Komentar

Postingan populer dari blog ini

Data Analytic

module 7