Anda di halaman 1dari 7

KISI-KISI UAS PEMROGRAMAN WEB TEORI

1. OOP adalah singkatan dari Object Oriented Programming, yaitu suatu metode pemrograman
yang fokus atau berorientasi pada objek. Tujuan dari dirancangnya OOP adalah membantu para
developer dalam mengembangkan model yang sudah ada di kehidupan sehari-hari. Sehingga,
satu bagian dari suatu permasalah dalam program tersebut adalah objek. Nah, objek itu juga
merupakan komposisi dari komponen-komponen objek yang lebih kecil lagi.
Prinsip-Prinsip OOP
- Encapsulation
PengertianEncapsulation pada OOP adalah konsep tentang pengikatan data atau metode berbeda
yang di satukan atau “dikapsulkan” menjadi satu unit data. Encapsulation dapat memudahkan
dalam pembacaan kode karena informasi yang di sajikan tidak perlu di baca secara rinci dan
sudah merupakan satu kesatuan.
Encapsulation juga sering di gunakan karena terdapat fitur information-hiding mechanism.
Mekanisme ini menghilangkan akses publik ke atribut-atribut yang terdapat di dalam “kapsul”
tersebut. Metode ini dapat memudahkan kamu dalam mendefinisikan atribut apa saja yang dapat
di baca dan di perbarui.
- Inheritance
Prinsip inheritance pada OOP adalah di mana kita dapat membentuk class baru yang “mewarisi”
atau memiliki bagian-bagian dari class yang sudah ada sebelumnya. Konsep ini menggunakan
sistem hirarki atau bertingkat.
Seperti sebuah Drop-Down Menu yang ada di kebanyakan website, di mana semakin spesifik
submenunya, semakin spesifik pula kontennya. Demikian juga dengan Inheritance OOP di mana
semakin spesifik subclassnya, semakin sedikit pula komponen yang dapat di warisi class
tersebut.
- Abstract Class
Seperti namanya, prinsip abstract class OOP adalah class-class yang memiliki informasi abstrak
dan metode-metode dari sekumpulan data. Abstract Class tidak bisa di ubah dan berlaku juga
sebagai kerangka dalam penciptaan berbagai subclass (berperan seperti Superclass yang di bahas
di konsep Inheritance).
Suatu abstract class memiliki informasi dan metode yang dapat di turunkan ke subclass-nya.
Kemudian, seluruh subclass tersebut akan mengikuti apa saja metode turunan dari abstract class
tersebut.
- Polymorphism
Prinsip polymorphism pada OOP adalah konsep di mana suatu objek berbeda-beda dapat di
akses melalui satu interface. Sebuah objek polymorphic dapat beradaptasi dengan metode apapun
yang di implementasikan pada objek tersebut, dan setiap class memiliki interpretasinya tersendiri
terhadap interfacenya.
Dalam Java, terdapat 2 jenis polymorphism yaitu Static Polymorphism dan Dynamic
Polymorphism.
A. Static Polymorphism yang umum di gunakan adalah Method Overloading. Method
Overloading mengizinkan kalian untuk menerapkan beberapa implementasi metode berbeda
dalam kelas yang sama namun dengan parameter berbeda-beda.
B. Dalam Dynamic Polymorphism sebuah subclass dapat menimpa metode dari superclassnya.
Jika kalian menerapkan subclass tersebut, Java Virtual Machine akan selalu menggunakan
metode yang sudah di timpa.
2. Pengertian MVC
Model View Controller atau yang dapat disingkat MVC adalah sebuah pola arsitektur dalam
membuat sebuah aplikasi dengan cara memisahkan kode menjadi tiga bagian yang terdiri dari:
- Model Bagian yang bertugas untuk menyiapkan, mengatur, memanipulasi, dan
mengorganisasikan data yang ada di database.
- View Bagian yang bertugas untuk menampilkan informasi dalam bentuk Graphical User
Interface (GUI).
- Controller Bagian yang bertugas untuk menghubungkan serta mengatur model dan view agar
dapat saling terhubung.
Alur Model View Controller
Berikut ini adalah alur prosesnya.
- Proses pertama adalah view akan meminta data untuk ditampilkan dalam bentuk grafis kepada
pengguna.
- Permintaan tersebut diterima oleh controller dan diteruskan ke model untuk diproses.
- Model akan mencari dan mengolah data yang diminta di dalam database
- Setelah data ditemukan dan diolah, model akan mengirimkan data tersebut kepada controller
untuk ditampilkan di view.
- Controller akan mengambil data hasil pengolahan model dan mengaturnya di bagian view
untuk ditampilkan kepada pengguna.
Gambar penggambaran alurnya
3. Manfaat MVC
Berikut ini beberapa manfaat MVC:
- Pemeliharaan kode aplikasi jauh lebih mudah karena MVC terbagi menjadi tiga unit terpisah.
- Aplikasi mampu melakukan tugas kompleks karena memiliki fondasi yang kuat, dibandingkan
jika ketika kode digabungkan menjadi satu unit.
- User interface (UI) bisa dimodifikasi lebih mudah hanya dengan mengubah komponen view,
controlling, atau keduanya.
- Komponen MVC bisa diuji secara terpisah, namun bisa dikembangkan secara bersamaan.
- Terintegrasi dengan framework, seperti framework JavaScript.
- Mampu menampilkan berbagai format data, seperti file audio, dokumen, gambar, dan video.
- MVC mendukung pengembangan website yang ramah SEO, sehingga dapat meningkatkan
pengunjung situs.
Kekurangan MVC
Namun ada juga kekurangan dari MVC, yaitu:
- Untuk mengimplementasikan MVC, developer perlu memiliki pengetahuan yang luas tentang
bahasa pemrograman dan teknologi.
- Karena tersusun atas tiga komponen, kode navigasi jadi lebih sulit dibaca sehingga butuh waktu
lama untuk melakukan update sistem.
- MVC hanya cocok digunakan untuk situs atau aplikasi dengan tugas yang kompleks.
- Meskipun pengujian komponen bisa dilakukan terpisah, seluruh komponen harus terintegrasi
terlebih dahulu.
- Pengujian kinerja aplikasi (skalabilitas) harus dilakukan sebagai satu unit MVC, bukan sebagai
tiga unit terpisah.
- Biaya pemeliharaan MVC lebih mahal dan kompleks dibandingkan framework lain.
4. Untuk membuat API server data siswa dalam format JSON, kita akan menggunakan Node.js
dan Express.js. Berikut adalah langkah-langkah untuk membuat API server data siswa JSON:
Install Node.js : Jika Anda belum memiliki Node.js, silakan install dari situs resmi Node.js.
Buat proyek baru : Buat folder baru untuk proyek Anda dan kemudian buat file dengan
perintah .package.jsonnpm init
Instal Express.js : Instal Express.js dengan perintah .npm install express
Buat file server.js : Buat file dalam folder proyek Anda dan masukkan kode berikut:server.js
const express = require('express');
const app = express();
const port = 3000;

app.use(express.json());

let mahasiswa = [
{
id: 1,
nama: 'John Doe',
nim: '12345',
jurusan: 'Teknik Informatika',
},
{
id: 2,
nama: 'Jane Doe',
nim: '67890',
jurusan: 'Teknik Sipil',
},
];

app.get('/mahasiswa', (req, res) => {


res.json(mahasiswa);
});

app.post('/mahasiswa', (req, res) => {


const mhs = req.body;
mahasiswa.push(mhs);
res.json({ message: 'Mahasiswa berhasil ditambahkan' });
});

app.put('/mahasiswa/:id', (req, res) => {


const id = parseInt(req.params.id);
const mhs = req.body;

const index = mahasiswa.findIndex((m) => m.id === id);


if (index !== -1) {
mahasiswa[index] = mhs;
res.json({ message: 'Mahasiswa berhasil diubah' });
} else {
res.status(404).json({ message: 'Mahasiswa tidak ditemukan' });
}
});

app.delete('/mahasiswa/:id', (req, res) => {


const id = parseInt(req.params.id);
const index = mahasiswa.findIndex((m) => m.id === id);

if (index !== -1) {


mahasiswa.splice(index, 1);
res.json({ message: 'Mahasiswa berhasil dihapus' });
} else {
res.status(404).json({ message: 'Mahasiswa tidak ditemukan' });
}
});

app.listen(port, () => {
console.log(Server running at http://localhost:${port});
});
Jalankan server : Jalankan server dengan perintah .node server.js
Test API : Untuk melihat API yang telah dibuat, kirim permintaan HTTP ke server dengan
menggunakan browser atau tool seperti Postman.
GET /mahasiswa : Mengembalikan semua data siswa.
POST /mahasiswa : mengambil data siswa dari body permintaan dan menambahkan data tersebut
ke dalam array siswa.
PUT /mahasiswa/:id : mengambil data siswa dari body permintaan dan mengganti data siswa
dengan ID yang sesuai.
DELETE /mahasiswa/:id : menghapus data siswa dengan ID yang sesuai.
Ini adalah contoh sederhana dari data server API siswa JSON dengan menggunakan Node.js dan
Express.js. Anda dapat mengembangkannya lebih lanjut sesuai kebutuhan Anda, seperti
menambahkan validasi data, menambahkan fitur lainnya, atau menggunakan database untuk
menyimpan data siswa.
JSON (JavaScript Object Notation) adalah format ringan yang digunakan untuk pertukaran data
antara server dan klien. Berikut adalah contoh code server sederhana untuk menyediakan data
siswa dalam format JSON:
// Import library 'http' dan 'fs'
const http = require('http');
const fs = require('fs');

// Membaca file JSON yang berisi data mahasiswa


const dataMahasiswa = fs.readFileSync('data_mahasiswa.json', 'utf-8');

// Membuat server
http.createServer((req, res) => {
// Mengatur header response
res.writeHead(200, { 'Content-Type': 'application/json' });
// Mengirim data mahasiswa sebagai response
res.end(dataMahasiswa);
}).listen(3000, 'localhost');

console.log('Server berjalan di http://localhost:3000/');


{
"mahasiswa": [
{ "nama": "John Doe", "nim": "12345", "prodi": "Informatika" },
{ "nama": "Jane Smith", "nim": "67890", "prodi": "Sistem Informasi" }
]
}

Anda mungkin juga menyukai