Postingan

Menampilkan postingan dari September, 2025

Penerapan Algoritma DFS dalam Kasus Knapsack (Pemilihan Barang ke Tas)

Gambar
Kasus:  Suatu hari kamu ingin bepergian dengan tas berkapasitas 10 kg . Di rumah ada 5 barang dengan berat dan nilai berbeda: Barang 1: Berat 6 kg , Nilai 30 Barang 2: Berat 3 kg , Nilai 14 Barang 3: Berat 4 kg , Nilai 16 Barang 4: Berat 2 kg , Nilai 9 Barang 5: Berat 5 kg , Nilai 20 Karena kapasitas tas hanya 10 kg , kamu harus pintar memilih kombinasi barang agar total nilai maksimal tetapi tidak melebihi 10 kg . Untuk mencari solusinya, kita gunakan DFS (Depth-First Search) . DFS akan menelusuri semua kemungkinan kombinasi barang (ambil / tidak ambil), lalu memilih yang terbaik. Kode Program :  import java.util.HashMap; public class KnapsackDFSHashMap {     static int maxValue = 0;     static int bestWeight = 0;     static String bestChoice = "";     public static void main(String[] args) {         HashMap<Integer, int[]> items = new HashMap<>();         items.p...

Tugas 3 Algoritma – Kasus Knapsack dengan Algoritma Greedy

Gambar
  Cerita Kasus Bayangkan saya memiliki sebuah tas dengan kapasitas 10 kg . Ada 5 barang di depan saya, masing-masing dengan berat dan nilai yang berbeda. Saya ingin membawa barang dengan total nilai terbesar , tetapi beratnya tidak boleh lebih dari kapasitas tas . Data barang yang tersedia adalah: Barang 1: (6 kg, 30) Barang 2: (3 kg, 14) Barang 3: (4 kg, 16) Barang 4: (2 kg, 9) Barang 5: (5 kg, 20) Kode Program  import java.util.*; class Item {     int weight;     int value;     double ratio;     Item(int w, int v) {         weight = w;         value = v;         ratio = (double) v / w;     } } public class KnapsackGreedy {     public static void main(String[] args) {         int capacity = 10;         Item[] items = {             new Item(6, 30),      ...

TUGAS 2 INTERAKSI MANUSIA KOMPUTER

Gambar
  Tugas 1 – Analisis Usability Awalnya saya mencoba kalkulator yang sudah saya buat dengan desain standar. Dari situ saya mencoba menilai aspek usability (mudah dipahami, konsistensi, feedback, error handling, dll). ✅ Hal yang menurut saya sudah baik: Konsistensi tombol angka (0–9): Tata letak tombol angka mengikuti pola kalkulator fisik, sehingga pengguna langsung familiar. Feedback cepat: Hasil perhitungan muncul langsung di layar ketika tombol = ditekan. Layout familiar: Posisi tombol operator (+, −, ×, ÷) sesuai standar, sehingga mudah dipahami. Clear & Delete: Pengguna bisa menghapus angka satu per satu atau sekaligus, membuat pengalaman lebih fleksibel. ❌ Kekurangan yang saya temukan: Tidak ada tombol “±” untuk mengubah angka positif ↔ negatif. Semua tombol warnanya hampir sama, sehingga angka dan operator sulit dibedakan. Tidak ada pesan error untuk input yang salah (contoh: 10/0 , 5++2 ). Ukuran tombol relatif kecil jika dibuka di HP, membua...

Algoritma Brute Force Untuk Menemukan Kombinasi Barang Yang Tidak Lebih Dari 10kg dan Memiliki Nilai Tertinggi

Gambar
Kasus Cerita : Kamu memiliki tas dengan kapasitas 10 kg . Tersedia 5 barang dengan berat dan nilai berbeda: Barang 1 (6 kg, 30), Barang 2 (3 kg, 14), Barang 3 (4 kg, 16), Barang 4 (2 kg, 9), dan Barang 5 (5 kg, 20). Karena kapasitas terbatas, kamu harus memilih kombinasi barang yang memberikan nilai tertinggi tanpa melebihi 10 kg. Untuk menemukan pilihan terbaik, digunakan algoritma brute force , yaitu dengan mencoba semua kemungkinan kombinasi barang, menghitung total berat dan nilainya, lalu memilih kombinasi dengan nilai tertinggi yang masih sesuai kapasitas. Ringkasan Poin : Kapasitas tas: 10 kg. Barang tersedia: Barang 1 (6 kg, 30),  Barang 2 (3 kg, 14),  Barang 3 (4 kg, 16), Barang 4 (2 kg, 9),  Barang 5 (5 kg, 20). Brute force: cek semua kombinasi, hitung berat & nilai, singkirkan yang lebih besar dari 10 kg. Kode Program : public class KnapsackBruteForce{     public static void main(String[] args) {         int[] weight ...

TUGAS 1 INTERAKSI MANUSIA KOMPUTER

Gambar
Nama : Sitti Patima Kelas : Informatika B NIM : D0224013 Bagaimana lampu merah dapat ramah bagi penyandang buta warna? Solusi: Pada lampu merah diberi simbol tambahan: tangan merah dilampu merah (berhenti), tanda seru dipapan segitiga dilampu kuning(hati-hati), dan orang berjalan dilampu hijau (jalan). Simbol ini membantu penyandang buta warna agar tetap bisa memahami instruksi tanpa hanya bergantung pada warna. Bagaimana lampu merah dapat ramah bagi pejalan kaki? Solusi: Terdapat ikon orang berjalan pada lampu lalu lintas dan papan penunjuk pejalan kaki di samping jalan. Pejalan kaki memiliki jalur zebra cross yang jelas. Timer digital juga membantu pejalan kaki tahu berapa lama waktu yang tersedia untuk menyeberang. Bagaimana cara menempatkan lampu merah agar lebih strategis? Solusi: Lampu merah didesain tinggi dan dipasang di kedua sisi jalan, sehingga terlihat jela...