phone: +62852 5254 2414
e-mail: simonmurdani@gmail.com
Showing posts with label DDK RPL. Show all posts

DDK RPL - BAB 7 Pemrograman Berorientasi Objek (OOP)

BAB 7

Pemrograman Berorientasi Objek (OOP)

Kompetensi Dasar

Pada akhir Fase E, peserta didik mampu:

  • Melakukan pemrograman berorientasi objek dengan menerapkan class, object, method, dan package.

  • Membedakan berbagai macam access modifier.

  • Menunjukkan enkapsulasi, interface, pewarisan (inheritance), dan polimorfisme (polymorphism) pada proyek pengembangan perangkat lunak sederhana.

Pendahuluan

Setelah Anda menguasai pemrograman terstruktur, saatnya Anda melangkah ke paradigma pemrograman yang lebih kuat dan fleksibel: Pemrograman Berorientasi Objek (OOP). OOP adalah cara berpikir dalam membuat program dengan memodelkan dunia nyata menjadi objek-objek yang saling berinteraksi. Dengan OOP, Anda akan mampu membuat kode yang lebih terorganisir, dapat digunakan kembali (reusable), dan mudah dikelola. Bab ini akan memandu Anda memahami konsep-konsep kunci OOP dan cara menerapkannya dalam proyek nyata.

A. Konsep Dasar OOP: Class, Object, Method, dan Package

1. Class

Class adalah cetak biru (blueprint) atau template untuk membuat objek. Class mendefinisikan sifat (properti atau atribut) dan perilaku (method atau fungsi) yang dimiliki oleh objek. Misalnya, Class Mobil bisa memiliki atribut warna, merek, kecepatan dan method nyalakanMesin(), maju(), rem().

2. Object

Object adalah hasil instansiasi (pembentukan) dari sebuah class. Setiap objek memiliki atribut dan method yang didefinisikan oleh class-nya. Contohnya, dari Class Mobil, Anda dapat membuat dua objek: mobilA dengan warna = "merah" dan mobilB dengan warna = "biru".

3. Method

Method adalah blok kode di dalam sebuah class yang mendefinisikan perilaku dari objek. Method dapat menerima parameter dan mengembalikan nilai. Dalam Class Mobil, method nyalakanMesin() akan melakukan serangkaian instruksi untuk mengubah status mesin mobil menjadi hidup.

4. Package

Package adalah cara untuk mengorganisasi class dan interface yang terkait menjadi satu grup. Package berfungsi untuk menghindari konflik penamaan dan mempermudah pengelolaan kode. Anda dapat membayangkan package sebagai folder yang berisi file-file (class) yang saling berhubungan.

B. Empat Pilar OOP

Empat pilar ini adalah fondasi utama yang membedakan OOP dengan paradigma pemrograman lainnya.

1. Enkapsulasi (Encapsulation)

Enkapsulasi adalah prinsip menyatukan data (atribut) dan method yang mengelola data tersebut dalam satu unit, yaitu class. Enkapsulasi juga berkaitan dengan penyembunyian data (data hiding), di mana atribut sebuah objek hanya bisa diakses atau diubah melalui method yang disediakan di dalam class itu sendiri. Tujuannya adalah untuk melindungi data dari akses yang tidak sah.

2. Pewarisan (Inheritance)

Pewarisan memungkinkan sebuah class baru (subclass atau child class) untuk mewarisi sifat dan perilaku dari class yang sudah ada (superclass atau parent class). Ini memungkinkan Anda menggunakan kembali kode yang sudah ada, menghindari duplikasi, dan membangun hierarki class. Misalnya, Class MobilListrik dapat mewarisi atribut dan method dari Class Mobil dan menambahkan atributnya sendiri, seperti kapasitasBaterai.

3. Polimorfisme (Polymorphism)

Polimorfisme berarti "banyak bentuk". Ini adalah kemampuan objek untuk merespons method yang sama dengan cara yang berbeda-beda, tergantung pada class objek tersebut. Misalnya, method bunyikanSuara() bisa memiliki perilaku yang berbeda untuk Class Kucing, Class Anjing, atau Class Ayam.

4. Interface

Interface adalah sebuah kerangka atau kontrak yang mendefinisikan sekumpulan method yang harus diimplementasikan oleh sebuah class. Interface tidak memiliki implementasi (isi) dari method-method tersebut, hanya deklarasinya. Interface memastikan bahwa setiap class yang mengimplementasikannya akan memiliki method-method yang sama, sehingga mereka dapat diproses dengan cara yang sama.

C. Access Modifier

Access modifier adalah kata kunci yang digunakan untuk mengatur tingkat akses terhadap class, method, atau atribut. Tujuannya adalah untuk mengimplementasikan enkapsulasi.

  • public: Anggota dapat diakses dari mana saja.

  • private: Anggota hanya dapat diakses di dalam class itu sendiri.

  • protected: Anggota dapat diakses di dalam class itu sendiri dan oleh class turunannya (subclass).

  • default (tanpa modifier): Anggota dapat diakses di dalam package yang sama.

D. Implementasi dalam Proyek Sederhana

Anda dapat menerapkan konsep-konsep di atas untuk membangun sebuah aplikasi manajemen sederhana.

  • Class & Objek: Anda bisa membuat Class Pegawai dengan atribut nama, posisi, gaji, dan method tambahGaji(). Dari class ini, Anda membuat objek-objek pegawai1, pegawai2, dan seterusnya.

  • Pewarisan: Buat Class Manajer yang mewarisi Class Pegawai. Class Manajer akan memiliki atribut tambahan seperti departemen dan method baru seperti promosiPegawai().

  • Enkapsulasi: Pastikan atribut gaji pada Class Pegawai bersifat private, sehingga hanya bisa diubah melalui method tambahGaji() untuk menghindari perubahan data yang tidak sah.

  • Polimorfisme: Jika ada Class PegawaiKontrak yang juga mewarisi Class Pegawai, method tambahGaji() dapat diimplementasikan secara berbeda (misalnya, gajinya tetap) dari Class Pegawai biasa.

Zona Aktivitas

A. Uji Pengetahuan (Nilai Pengetahuan I)

Jawablah pertanyaan-pertanyaan berikut dengan benar.

  1. Jelaskan perbedaan mendasar antara class dan objek.

  2. Mengapa enkapsulasi dianggap penting dalam pemrograman berorientasi objek?

  3. Berikan contoh sederhana penerapan pewarisan dalam kehidupan nyata.

  4. Jelaskan apa yang dimaksud dengan polimorfisme dan bagaimana konsep ini bisa membuat kode lebih fleksibel.

  5. Apa perbedaan antara access modifier public dan private?

B. Praktikum (Nilai Praktik 1)

Rancang sebuah Class Hewan menggunakan bahasa pemrograman pilihan Anda. Class ini harus memiliki:

  1. Atribut: nama, jenis, dan suara (semua dengan private access modifier).

  2. Method: bunyikanSuara() yang mencetak suara hewan.

  3. Method setter dan getter untuk mengakses dan mengubah atribut tersebut.

C. Eksperimen (Nilai Proyek 1)

Buatlah kelompok dengan maksimal tiga siswa. Rancanglah sebuah proyek aplikasi Manajemen Perpustakaan Sederhana yang menerapkan:

  1. Class Buku dengan atribut judul, pengarang, dan statusKetersediaan.

  2. Class Anggota dengan atribut nama dan idAnggota.

  3. Class Pustakawan yang mewarisi Class Anggota dan memiliki method tambahan untuk mengelola buku.

  4. Terapkan konsep enkapsulasi pada atribut-atribut penting.

Rangkuman

  1. OOP adalah paradigma pemrograman yang berpusat pada objek, yang dibuat dari class.

  2. Class adalah blueprint, sedangkan objek adalah instansinya yang memiliki atribut dan method.

  3. Package digunakan untuk mengorganisasi class-class terkait.

  4. Empat pilar OOP adalah Enkapsulasi, Pewarisan, Polimorfisme, dan Interface.

  5. Access modifier (public, private, protected) mengatur tingkat akses data untuk mengimplementasikan enkapsulasi.

Ulangan Akhir Bab 11

A. Pilihlah salah satu jawaban yang tepat.

  1. Cetakan biru (blueprint) untuk membuat objek dalam OOP disebut...
    a. Objek
    b. Method
    c. Class
    d. Package
    e. Inheritance

  2. Manakah dari berikut ini yang merupakan contoh dari objek?
    a. Class Mobil
    b. Method maju()
    c. Sebuah mobil berwarna merah
    d. Atribut warna
    e. Package kendaraan

  3. Prinsip menyatukan data dan method dalam satu kesatuan serta menyembunyikan data dari akses luar disebut...
    a. Polimorfisme
    b. Pewarisan
    c. Enkapsulasi
    d. Interface
    e. Instansiasi

  4. Kemampuan sebuah class baru untuk mewarisi sifat dan perilaku dari class yang sudah ada disebut...
    a. Pewarisan
    b. Polimorfisme
    c. Enkapsulasi
    d. Method
    e. Class

  5. Access modifier yang hanya mengizinkan akses dari dalam class itu sendiri adalah...
    a. public
    b. protected
    c. private
    d. default
    e. static

  6. Jika sebuah Class Kucing dan Class Anjing memiliki method bunyikanSuara() dengan implementasi yang berbeda, ini adalah contoh dari...
    a. Pewarisan
    b. Enkapsulasi
    c. Polimorfisme
    d. Class
    e. Interface

  7. Tujuan utama dari penggunaan package adalah...
    a. Mengurangi jumlah kode yang ditulis.
    b. Mengorganisasi class-class yang terkait.
    c. Menyembunyikan atribut dari akses luar.
    d. Mewarisi method dari class lain.
    e. Membuat objek lebih cepat.

  8. Sebuah kontrak yang mendefinisikan method-method tanpa implementasinya disebut...
    a. Class
    b. Interface
    c. Object
    d. Package
    e. Method

  9. Manakah dari berikut ini yang merupakan contoh penerapan method?
    a. nama_pegawai = "Budi"
    b. Class Karyawan
    c. pegawai1 = new Karyawan()
    d. public void hitungGaji()
    e. package perusahaan

  10. Jika Class MobilListrik mewarisi Class Mobil, maka Class MobilListrik disebut...
    a. Superclass
    b. Parent class
    c. Subclass
    d. Package
    e. Atribut

B. Jawablah pertanyaan-pertanyaan berikut dengan benar.

  1. Jelaskan mengapa enkapsulasi dan access modifier sangat berkaitan dalam OOP.

  2. Berikan contoh penerapan polimorfisme pada gim sederhana (misalnya, Class KarakterPemain dan Class Musuh memiliki method serang() yang berbeda).

  3. Jelaskan manfaat utama dari menggunakan pewarisan dalam pengembangan perangkat lunak.

  4. Apa yang dimaksud dengan interface dan mengapa hal itu penting dalam membuat program yang terstruktur?

  5. Dalam pengembangan sebuah aplikasi kasir, berikan contoh penerapan class, object, method, dan package yang relevan.

DDK RPL - BAB 6 Pemrograman Terstruktur

BAB 6

Pemrograman Terstruktur

Kompetensi Dasar

Pada akhir Fase E, peserta didik mampu:

  • Melakukan pemrograman terstruktur, antara lain penerapan struktur data yang terdiri dari data statis (array baik dimensi, panjang, tipe data, pengurutan) dan data dinamis (list, stack).

  • Menggunakan tipe data, struktur kontrol perulangan dan percabangan pada proyek pengembangan perangkat lunak sederhana dan gim.

Pendahuluan

Setelah Anda memahami dasar-dasar algoritma, kini saatnya Anda mempelajari cara menyusun kode program dengan rapi dan logis menggunakan pemrograman terstruktur. Bab ini akan mengajarkan Anda untuk mengelola data dan mengendalikan alur program secara efisien. Dengan menguasai konsep ini, Anda akan mampu membangun program yang mudah dibaca, dipelihara, dan dikembangkan. Pemrograman terstruktur adalah fondasi yang kokoh untuk menciptakan perangkat lunak dan gim yang kompleks namun tetap stabil.

DDK RPL - BAB 5 Orientasi Dasar Pengembangan Perangkat Lunak dan Gim

BAB 5

Orientasi Dasar Pengembangan Perangkat Lunak dan Gim

Kompetensi Dasar

Pada akhir Fase E, peserta didik mampu:

  • Menggunakan perangkat dan aplikasi di bidang Perangkat Lunak dan Gim, seperti basis data, tools pengembangan perangkat lunak, ragam sistem operasi, penerapan pengelolaan aset dan user interface (grafis, typography, warna, audio, video, interaksi pengguna).

  • Menerapkan prinsip dasar algoritma pemrograman (varian dan invarian, alur logika pemrograman, alur flowchart, dan teknik dasar algoritma umum).

Pendahuluan

Pengembangan perangkat lunak dan gim adalah perpaduan antara kreativitas dan logika. Bab ini dirancang sebagai panduan fundamental bagi Anda untuk memahami alat dan konsep yang esensial di industri ini. Anda akan mempelajari berbagai perangkat dan aplikasi yang digunakan oleh para pengembang, mulai dari alat untuk menulis kode hingga tools untuk merancang antarmuka pengguna.

Selain itu, Anda akan mendalami algoritma, yang merupakan fondasi logis dari setiap program. Memahami bagaimana cara kerja logika program adalah kunci untuk menciptakan solusi yang efisien dan andal. Dengan menguasai materi ini, Anda akan memiliki bekal yang kuat untuk memulai perjalanan Anda di dunia pengembangan perangkat lunak dan gim.

DDK RPL - BAB 4 Keselamatan dan Kesehatan Kerja Lingkungan Hidup (K3LH) dan Budaya Kerja Industri

BAB 4

Keselamatan dan Kesehatan Kerja Lingkungan Hidup (K3LH) dan Budaya Kerja Industri

Kompetensi Dasar

Pada akhir Fase E, peserta didik mampu:

  • Menerapkan K3LH dan budaya kerja industri.

  • Mengidentifikasi praktik-praktik kerja yang aman.

  • Mendeskripsikan bahaya-bahaya di tempat kerja.

  • Menjelaskan prosedur-prosedur dalam keadaan darurat.

  • Menerapkan budaya kerja industri (Ringkas, Rapi, Resik, Rawat, Rajin), termasuk pencegahan kecelakaan kerja dan prosedur kerja.

Pendahuluan

Setiap pekerjaan, di bidang apa pun, memiliki risiko. Oleh karena itu, penting bagi setiap pekerja, termasuk di industri pengembangan perangkat lunak dan gim, untuk memahami dan menerapkan Keselamatan dan Kesehatan Kerja Lingkungan Hidup (K3LH). Hal ini bukan hanya untuk melindungi diri sendiri, tetapi juga untuk menciptakan lingkungan kerja yang produktif, aman, dan nyaman.

Selain itu, industri modern menuntut adanya budaya kerja yang efektif dan efisien. Budaya kerja industri, yang sering kali diringkas dalam prinsip 5R (Ringkas, Rapi, Resik, Rawat, Rajin), adalah fondasi untuk mencapai kualitas kerja yang tinggi dan mencegah kecelakaan. Bab ini akan membahas secara mendalam praktik-praktik aman, cara mengenali bahaya, prosedur darurat, serta pentingnya budaya 5R.

DDK RPL - BAB 3 Profesi dan Kewirausahaan

BAB 3

Profesi dan Kewirausahaan 

Kompetensi Dasar

Pada akhir Fase E, peserta didik mampu:

  • Menjelaskan jenis-jenis profesi dan kewirausahaan (job profile dan technopreneurship).

  • Membangun personal branding dan mengidentifikasi peluang usaha di bidang industri Perangkat Lunak dan Gim.

  • Mengembangkan vision dan passion.

  • Melaksanakan pembelajaran berbasis proyek nyata sebagai simulasi proyek kewirausahaan.

Pendahuluan

Industri perangkat lunak dan gim tidak hanya menawarkan pekerjaan, tetapi juga membuka peluang besar untuk menciptakan bisnis sendiri. Bab ini akan memandu Anda mengenal berbagai jalur karir yang bisa Anda pilih, baik sebagai profesional di sebuah perusahaan maupun sebagai wirausahawan digital.

Anda akan belajar bagaimana membangun citra diri (personal branding), menemukan peluang usaha yang menjanjikan, dan yang terpenting, bagaimana mengubah ide menjadi produk nyata melalui technopreneurship. Memahami vision dan passion Anda adalah langkah pertama untuk membangun karir yang sukses dan bermakna di industri yang dinamis ini.

DDK RPL - BAB 2 Perkembangan Dunia Kerja Bidang

BAB 2

Perkembangan Dunia Kerja Bidang 

Kompetensi Dasar

Pada akhir Fase E, peserta didik mampu:

  • Menjelaskan perkembangan teknologi pada pengembangan perangkat lunak dan gim.

  • Menerapkan Industri 4.0 pada manajemen pengembangan perangkat lunak dan gim.

  • Menganalisis isu-isu penting bidang pengembangan perangkat lunak dan gim, antara lain: dampak positif dan negatif gim, IoT, Cloud Computing, Information Security, Big Data, dan permasalahan terkait HAKI (Hak Atas Kekayaan Intelektual).

Pendahuluan

Dunia teknologi, khususnya di bidang pengembangan perangkat lunak dan gim, terus berkembang pesat. Apa yang menjadi tren hari ini, bisa jadi sudah usang esok hari. Sebagai calon profesional di bidang ini, penting untuk tidak hanya memahami dasar-dasar pengembangan, tetapi juga mengikuti perkembangan teknologi terkini dan isu-isu yang menyertainya.

Bagaimana Industri 4.0 mengubah cara kita mengelola proyek? Apa saja tantangan dan peluang dari teknologi seperti Internet of Things (IoT) dan Cloud Computing? Bagaimana kita bisa memanfaatkan Big Data dan menjaga keamanan informasi? Dan mengapa HAKI (Hak Atas Kekayaan Intelektual) sangat penting bagi setiap kreator? Bab ini akan membawa Anda memahami dinamika dan tren yang membentuk masa depan industri kreatif digital ini.

DDK RPL - BAB 1 Pengembangan perangkat lunak dan gim

BAB 1

Pengembangan perangkat lunak dan gim 

Kompetensi Dasar

Pada akhir Fase E, peserta didik mampu:

  • Mendeskripsikan proses perencanaan, analisis, desain, implementasi, integrasi, pemeliharaan, pemasaran, dan distribusi perangkat lunak dan gim.

  • Menerapkan budaya mutu, Keselamatan dan Kesehatan Kerja serta Lingkungan Hidup (K3LH) dalam pengembangan perangkat lunak dan gim.

  • Menerapkan manajemen proyek.

  • Memahami kebutuhan, keinginan pelanggan, dan validasi sesuai dengan User Experience (UX).

Pendahuluan

Pengembangan perangkat lunak dan gim tidak sekadar membuat sebuah program yang bisa berjalan. Ada serangkaian proses yang sistematis dan terstruktur yang perlu diikuti agar produk yang dihasilkan berkualitas, sesuai dengan kebutuhan pengguna, dan dapat bersaing di pasaran. Proses ini melibatkan banyak tahapan, mulai dari gagasan awal hingga produk sampai di tangan pengguna dan terus dikelola setelahnya.

Sebagai calon pengembang, memahami alur kerja ini sangat krusial. Selain itu, Anda juga perlu memahami pentingnya kerja tim yang solid, penerapan standar mutu, serta menjaga keamanan dan kesehatan saat bekerja. Lantas, apa saja tahapan dalam proses pengembangan perangkat lunak dan gim? Bagaimana cara mengelola proyeknya, dan mengapa pemahaman terhadap pengguna sangat penting? Mari kita pelajari lebih dalam di bab ini.