Sebuah Catatan Kehidupan
Struktur project akan terdiri dari beberapa class agar lebih OOP:
Clock → mengatur waktu (jam, menit, detik).
CalendarDisplay → menampilkan hari, tanggal, bulan, tahun.
TemperatureSensor → menampilkan suhu ruang (simulasi random).
ClockDisplayApp → main class untuk menjalankan aplikasi.
Menggunakan GUI (Swing) dari Clock Display App. Aplikasinya akan menampilkan:
Jam digital (update real-time).
Tanggal + hari kalender.
Suhu ruang (simulasi random).
Dark mode background dengan gradasi biru tua.
Emoji icon cuaca:
❄ → suhu dingin (<23°C)
☀ → suhu normal (23–27°C)
🔥 → suhu panas (>27°C)
Jam digital besar berwarna cyan.
Tanggal putih dan suhu oranye agar kontras.
Bagian atas → Jam digital, tanggal, suhu, dan ikon cuaca.
Kiri → Kalender mini bulan berjalan.
Kanan → Grafik suhu (line chart real-time).
Menyediakan platform pembelajaran online interaktif untuk siswa/mahasiswa/pemula yang ingin mempelajari dasar-dasar Web Programming dengan materi terstruktur: HTML, CSS, PHP, dan JavaScript.
Siswa/mahasiswa jurusan IT atau non-IT yang ingin belajar membuat website.
Pemula yang ingin belajar dasar web programming dari nol.
Profesional yang ingin memperdalam keterampilan front-end & back-end.
Banner kursus (hero section) dengan tagline motivatif.
Informasi singkat tentang course (durasi, level, sertifikat).
Daftar topik utama (HTML, CSS, PHP, JavaScript).
Tombol Call-to-Action: "Daftar Sekarang" / "Mulai Belajar".
Daftar materi per bab:
HTML Dasar → struktur dokumen, heading, paragraf, link, image, tabel, form.
CSS → selector, box model, layout, positioning, flexbox, grid.
JavaScript → variabel, function, DOM, event, interaksi web.
PHP → syntax dasar, form handling, koneksi database MySQL, CRUD sederhana.
Konten pembelajaran berupa:
Video tutorial
Teks & catatan
Kode contoh (code snippet)
Latihan interaktif
Progress bar belajar per modul.
Riwayat materi yang sudah dipelajari.
Sertifikat setelah menyelesaikan semua course.
Tanya jawab antar siswa & instruktur.
Dukungan komentar dengan notifikasi.
Soal pilihan ganda & coding exercise per bab.
Ujian akhir berbasis proyek (misalnya membuat website sederhana).
Manajemen pengguna (siswa/instruktur).
Upload materi course (video, teks, file).
Melihat progress & statistik pengguna.
Front-End:
HTML5, CSS3, JavaScript (ES6), Bootstrap/Tailwind CSS.
Responsif untuk mobile & desktop.
Back-End:
PHP 8.x
Framework opsional: Laravel/CodeIgniter.
REST API untuk integrasi data.
Database:
MySQL/MariaDB (untuk data user, progress, materi, quiz).
Hosting & Deployment:
Shared hosting / VPS.
Domain khusus e-learning.
Keamanan:
Autentikasi login (JWT/session).
Enkripsi password (bcrypt).
Warna utama: biru & putih (profesional, bersih).
Layout: minimalis, fokus pada konten belajar.
Navigasi: menu atas → Home, Course, Dashboard, Forum, Login/Register.
Versi 1.0: Materi HTML & CSS + latihan dasar.
Versi 2.0: Tambah JavaScript interaktif.
Versi 3.0: Tambah PHP & database.
Versi 4.0: Quiz online & sertifikat otomatis.
Versi 5.0: Fitur forum diskusi & marketplace mini project siswa.
Website merupakan media digital yang memiliki peran penting dalam menyampaikan informasi, memperluas jangkauan bisnis, serta membangun citra sebuah entitas. Berdasarkan tujuan dan fungsinya, website dapat dibagi menjadi beberapa kategori utama, yaitu: Website Perusahaan (Company Profile), E-Commerce / Online Store, Portal Berita, Blog / Personal Website, Forum / Komunitas Online, dan Landing Page.
Dokumen ini menjelaskan spesifikasi detail masing-masing kategori website sebagai acuan dalam perencanaan dan pengembangan proyek.
Tujuan:
Menyediakan informasi resmi tentang perusahaan/instansi untuk meningkatkan kredibilitas dan kepercayaan publik.
Fitur Utama:
Halaman profil perusahaan
Visi & misi
Portofolio & klien
Produk/jasa yang ditawarkan
Kontak & lokasi perusahaan
Contoh Implementasi:
Website resmi sekolah, instansi pemerintah, atau perusahaan swasta.
Tujuan:
Menjadi platform digital untuk transaksi jual beli produk/jasa.
Fitur Utama:
Katalog produk lengkap dengan deskripsi & foto
Keranjang belanja
Sistem pembayaran online (payment gateway)
Status & pelacakan pesanan
Integrasi ekspedisi/logistik
Contoh Implementasi:
Tokopedia, Shopee, atau toko online brand tertentu.
Tujuan:
Menyajikan informasi aktual, terpercaya, dan cepat dalam berbagai kategori.
Fitur Utama:
Artikel berita terbaru
Kategori berita (politik, ekonomi, teknologi, hiburan, dll.)
Sistem manajemen konten (CMS)
Komentar pembaca
Integrasi media sosial untuk berbagi berita
Contoh Implementasi:
Detik, Kompas, Tempo.
Tujuan:
Menjadi media personal untuk berbagi opini, pengalaman, atau pengetahuan tematik.
Fitur Utama:
Artikel/blog post dengan kategori
Komentar pembaca (opsional)
Arsip tulisan
Integrasi sosial media
Contoh Implementasi:
Blog traveling, blog teknologi, blog pendidikan.
Tujuan:
Menjadi ruang interaksi digital bagi komunitas dengan minat atau kebutuhan yang sama.
Fitur Utama:
Registrasi & login anggota
Kategori forum dan thread diskusi
Sistem komentar & voting
Moderasi dan aturan komunitas
Profil pengguna & sistem reputasi
Contoh Implementasi:
Kaskus, Reddit, forum otomotif, forum teknologi.
Tujuan:
Mengarahkan pengunjung agar melakukan tindakan spesifik (konversi), seperti mendaftar, membeli, atau mengikuti event.
Fitur Utama:
Headline & subheadline persuasif
Hero image/video sebagai daya tarik
Call to Action (CTA) jelas
Formulir singkat (misalnya pendaftaran)
Testimoni atau social proof
Informasi singkat tentang produk/event
Contoh Implementasi:
Landing page pendaftaran webinar, promosi event wisata, promo aplikasi digital.
Desain: Responsif (mobile-friendly), user-friendly, dan konsisten.
Teknologi: HTML5, CSS3, JavaScript, serta framework (Bootstrap/Tailwind, React, atau CMS sesuai kebutuhan).
Keamanan: SSL (HTTPS), proteksi data pengguna.
Integrasi: Media sosial, payment gateway, API eksternal sesuai kategori.
Optimasi: SEO-friendly, kecepatan loading optimal.
Dokumen ini merangkum spesifikasi proyek website sesuai dengan kategori utamanya. Setiap kategori memiliki tujuan, fitur, dan implementasi yang berbeda. Dengan acuan ini, proses perancangan, pengembangan, dan implementasi website dapat lebih terarah sesuai kebutuhan pengguna atau organisasi.
https://codestudio80.blogspot.com/2025/09/web-design-mastery-booking-hotel.html
https://www.geeksforgeeks.org/css/top-10-projects-for-beginners-to-practice-html-and-css-skills/
Landing page adalah halaman web tunggal yang dirancang khusus untuk tujuan tertentu, seperti mengumpulkan informasi kontak, mendorong penjualan, atau mengarahkan pengunjung ke tindakan spesifik.
Landing page biasanya muncul setelah seseorang mengklik sebuah link dari sosial media, google ads, dan link link eksternal lain nya.
Tujuan nya adalah seputar marketing atau pemasaran, beberapa penerapan landing page yang sering ditemui diantaranya:
Agar tidak terjebak dalam kesalahan tersebut, ada 8 elemen penting yang harus ada di landing page Anda. Dengan memahami elemen-elemen ini, Anda akan lebih mudah menarik perhatian pengunjung dan meyakinkan mereka bahwa produk atau jasa Anda adalah solusi terbaik yang mereka butuhkan.
Logo kecil (opsional)
Judul utama (headline) yang menarik perhatian
Subjudul yang menjelaskan manfaat/penawaran
Tombol Call to Action (CTA) → “Daftar Sekarang”, “Beli Sekarang”, “Mulai Gratis”
Gambar/ilustrasi/hero image
Judul singkat: “Mengapa Memilih Kami?”
3–4 poin keunggulan/fitur utama
Bisa menggunakan ikon untuk memperjelas
Testimoni pengguna
Logo perusahaan klien / partner
Rating / review
Deskripsi singkat tentang produk/jasa
Gambar atau ilustrasi produk
Bisa ditambahkan video demo
Penawaran khusus (diskon, bonus, limited time offer)
CTA kedua: “Ambil Penawaran Ini”
Form singkat (nama, email, nomor HP)
Tombol submit (misalnya: “Dapatkan Akses”)
3–5 pertanyaan yang sering ditanyakan calon pengguna
Jawaban singkat yang meyakinkan
Kontak singkat (email, telepon)
Link media sosial
Hak cipta ©
Website Perusahaan (Company Profile)
Menampilkan informasi tentang profil perusahaan, visi misi, produk/jasa, portofolio, hingga kontak.
→ Contoh: Website resmi perusahaan atau instansi.
E-Commerce / Online Store
Website untuk menjual produk/jasa secara online lengkap dengan katalog, keranjang belanja, dan pembayaran.
→ Contoh: Tokopedia, Shopee.
Portal Berita / Media Online
Berisi artikel berita, opini, atau informasi terkini.
→ Contoh: Detik, Kompas.
Blog / Personal Website
Website berisi tulisan pribadi, opini, atau artikel tematik.
→ Contoh: Blog teknologi, blog traveling.
Forum / Komunitas Online
Tempat diskusi dan interaksi antar pengguna.
→ Contoh: Kaskus, Reddit.
Landing Page
Website yang sering dipakai untuk keperluan pemasaran.
Apa Itu OOP? Dalam bahasa Indonesia, OOP bisa disebut sebagai pemrograman berorientasi objek. OOP adalah metode pemrograman komputer yang menyusun desain perangkat lunak berdasarkan data atau objek, bukan sekadar urutan perintah. Tujuan utama OOP adalah mempermudah proses pengembangan program agar lebih terstruktur dan efisien.
Di dalam OOP, terdapat variabel (atribut) dan fungsi (metode) yang dibungkus dalam sebuah kelas. Dari kelas tersebut, programmer bisa membuat objek yang saling berhubungan dan dapat berinteraksi untuk menyelesaikan permasalahan dalam program. Dengan cara ini, program yang rumit bisa dipecah menjadi potongan kode yang lebih kecil, sederhana, dan bisa dipakai kembali.
Jika pada pemrograman konvensional (prosedural) seorang programmer lebih fokus pada logika langkah demi langkah, maka dalam OOP fokusnya ada pada objek yang memiliki atribut dan perilaku tertentu. Pendekatan ini membuat program lebih mudah diatur, diperbarui, dan dipelihara, terutama pada proyek yang besar dan kompleks.
OOP juga bersifat fleksibel karena dapat digunakan di berbagai bahasa pemrograman modern, seperti C++, Java, Python, hingga JavaScript. Melalui konsep kelas, programmer bisa menentukan atribut yang dimiliki oleh sebuah objek (misalnya warna, ukuran, atau karakteristik lain), sehingga proses pengembangan aplikasi menjadi lebih jelas dan terarah.
Konsep OOP pertama kali diperkenalkan pada tahun 1960-an melalui bahasa pemrograman Simula, yang dikembangkan di Norwegia. Simula memaparkan ide class dan object yang menjadi dasar OOP hingga kini.
Selanjutnya, pada 1970-an, tim di MIT mengembangkan bahasa Smalltalk, yang semakin mempopulerkan paradigma berbasis objek. Dari sana, lahirlah bahasa-bahasa modern seperti C++, Java, Python, dan C#, yang mengadopsi prinsip OOP dan menjadi standar utama dalam pengembangan software hingga saat ini.
OOP adalah paradigma pemrograman yang fokus pada objek. Agar lebih mudah dipahami, mari kita lihat komponen utama dalam penggunaan OOP:
Class
Class adalah bisa dibilang sebagai sebuah template dari objek. Misalnya, kalau kita membuat class Mobil, maka di dalamnya kita bisa mendefinisikan atribut (warna, merk, tahun) dan metode (fungsi jalan, fungsi berhenti).
Object
Object adalah hasil nyata dari class. Jika mobil adalah class, maka mobil Toyota Avanza warna merah tahun 2020 adalah objek. Object ini dibuat dari class dan memiliki data spesifik.
Atribut
Atribut adalah data atau variabel yang dimiliki oleh sebuah objek. Contoh pada objek mobil, atributnya bisa berupa warna = merah, merk = Toyota, tahun = 2020.
Metode (Method)
Metode adalah fungsi atau perilaku yang bisa dilakukan oleh objek. Contoh, objek mobil memiliki metode jalan() atau berhenti(). Dengan metode, objek bisa melakukan aksi sesuai kebutuhan.
Secara proses teknis, OOP memiliki kaidah khusus berupa empat prinsip dasar seperti enkapsulasi, abstraksi, pewarisan, dan polimorfisme. Berikut kami uraikan empat prinsip dasar untuk membantu Anda memahami dasar-dasar program komputer OOP dan memahami kerangka kerja umum tentang cara kerjanya!
1. Encapsulation Encapsulation atau pengkapsulan adalah konsep tentang pengikatan data atau metode berbeda yang kemudian disatukan, atau istilah gampangnya “dikapsulkan”, hingga menjadi satu unit data. Ringkasnya, berbagai macam objek yang ada dalam kelas tersebut bisa berdiri sendiri tanpa terpengaruh oleh yang lain. Programmer tidak harus mengetahui informasi yang disajikan secara rinci karena semua sudah menjadi satu kesatuan. Itulah mengapa proses enkapsulasi justru mempermudah dalam penggunaan sebuah objek dari suatu kelas, atau singkatnya, encapsulation mempermudah pembacaan kode.
2. Abstraction Abstraction dalam konsep OOP adalah menyembunyikan detail latar belakang dan hanya mewakili informasi yang diperlukan untuk dunia luar saja. Jadi, programmer cukup memerintahkan suatu fungsi, tanpa perlu memiliki pengetahuan soal bagaimana fungsi itu bekerja. Sama seperti ketika memakai gadget, Anda cukup memberi suatu perintah, tanpa harus tahu bagaimana proses terlaksananya perintah itu. Konsep ini merupakan proses penyederhanaan konsep dunia nyata menjadi komponen yang sangat diperlukan.
3. Inheritance Inheritance merupakan kemampuan membentuk kelas baru yang mempunyai fungsi turunan atau serupa dengan fungsi yang sebelumnya sudah ada. Sistem dalam konsep ini berjenjang, sehingga semakin jauh subclass atau turunannya, semakin sedikit pula kesamaan fungsinya.
4. Polymorphism Pertanyaan “Apa itu OOP?” sebenarnya dapat dijawab dengan satu kata, yakni polymorphism, karena salah satu ciri utama OOP adalah adanya polymorphism. Suatu pemrograman tidak dapat dikatakan sebagai OOP tanpa adanya polymorphism. Sederhananya, polymorphism dalam OOP adalah konsep di mana suatu objek yang berbeda dapat diakses melalui interface yang sama. Contoh penggunaan polymorphism dalam kehidupan sehari-hari bisa dilihat ketika Anda mempunyai fungsi untuk menghitung luas suatu benda, padahal benda itu berbentuk segitiga, lingkaran, serta persegi. Fungsi dari polymorphism adalah ketika Anda memasukkan fungsi perhitungan luas ketiga benda tersebut, dimana setiap benda memiliki metode perhitungannya sendiri. Hal ini akan mempermudah perintah yang sama untuk beberapa class dan subclass tertentu, bukan?
https://blog.rumahweb.com/oop-adalah/
A. Capaian Pembelajaran Lulusan (CPL) Program Studi
CPL Pengetahuan: Menguasai konsep dasar ilmu komputer, algoritma, dan pemrograman.
CPL Keterampilan Umum: Mampu berpikir kritis, memecahkan masalah, dan bekerja dalam tim.
CPL Keterampilan Khusus: Mampu merancang, mengimplementasikan, dan menguji program berbasis objek.
Setelah mengikuti mata kuliah ini, mahasiswa mampu:
Menjelaskan prinsip dasar Pemrograman Berbasis Objek.
Mengimplementasikan konsep class, object, enkapsulasi, inheritance, polymorphism, dan abstraction.
Menggunakan OOP untuk membangun aplikasi sederhana dengan modularisasi, exception handling, collection, dan file I/O.
Mendesain dan mengembangkan mini project aplikasi berbasis OOP.
Mata kuliah ini membahas prinsip dan penerapan Pemrograman Berbasis Objek (PBO) dengan menggunakan bahasa pemrograman berorientasi objek (Java/Python/C#). Materi meliputi konsep dasar class dan object, enkapsulasi, inheritance, polymorphism, abstraction, modularisasi program, collection, exception handling, file I/O, hingga implementasi dalam bentuk mini project.
Konsep dasar OOP: class, object, atribut, method.
Enkapsulasi, constructor, overloading.
Inheritance & hierarki class.
Polymorphism & overriding.
Abstraction: abstract class, interface.
Modularisasi dengan package.
Exception handling.
Collection & Generic.
File I/O & serialisasi objek.
GUI sederhana.
Mini project berbasis OOP.
Metode: Ceramah interaktif, diskusi, demonstrasi coding, praktikum, project-based learning, presentasi.
Media: Laptop, IDE (NetBeans/Eclipse/IntelliJ atau VS Code), projector, LMS.
Evaluasi: Quiz, tugas individu, project kelompok, UTS, UAS.
Minggu | CPMK/Sub-CPMK | Materi/Pokok Bahasan | Bentuk & Metode Pembelajaran | Penilaian & Bobot |
---|---|---|---|---|
1 | Memahami perbedaan prosedural & OOP | Pengantar PBO, class & object | Ceramah, diskusi, studi kasus | Tugas individu (2%) |
2 | Membuat class & object | Struktur class, constructor | Demo coding, praktikum | Quiz (2%) |
3 | Menerapkan enkapsulasi | Modifier, getter & setter | Praktikum | Tugas coding (3%) |
4 | Menggunakan overloading | Method & constructor overloading | Praktikum | Quiz (2%) |
5 | Membuat hierarki class | Inheritance | Diskusi, praktikum | Tugas coding (3%) |
6 | Menggunakan polymorphism | Overriding, up/downcasting | Praktikum | Quiz (2%) |
7 | Menggunakan abstraction | Abstract class & interface | Praktikum | Tugas coding (3%) |
8 | Integrasi konsep dasar OOP | UTS (teori & praktik) | Ujian | UTS (20%) |
9 | Modularisasi program | Package & import | Praktikum | Tugas coding (3%) |
10 | Menangani error | Exception handling | Demo, praktikum | Quiz (2%) |
11 | Menggunakan collection | List, Map, Set, Generic | Praktikum | Tugas coding (3%) |
12 | Membaca/menyimpan data | File I/O, serialisasi objek | Demo, praktikum | Tugas coding (3%) |
13 | Membuat GUI sederhana | GUI, event handling | Praktikum | Tugas coding (3%) |
14 | Mendesain aplikasi OOP | Mini project design, UML | Diskusi, bimbingan | Draft project (5%) |
15 | Mempresentasikan project | Presentasi mini project | Presentasi kelompok | Presentasi (10%) |
16 | Membangun aplikasi OOP mini | UAS (teori & praktik) | Ujian | UAS (30%) |
Tugas & Quiz: 25%
UTS: 25%
Mini Project : 25%
UAS: 35%
Barnes, D. J., & Kölling, M. (2017). Objects First with Java. Pearson.
Horstmann, C. (2018). Object-Oriented Design & Patterns. Wiley.
Schildt, H. (2021). Java: The Complete Reference. McGraw Hill.
Freeman, E., & Robson, E. (2004). Head First Design Patterns. O’Reilly.
Oracle Java Documentation (https://docs.oracle.com/javase/tutorial/java/concepts/).
https://agussuratna.net/2023/01/tutorial-java-pengenalan-bahasa-pemrograman-java/