Tugas untuk Kelompok 1: Analisis Playlist Musik

Studi Kasus: Anda sedang membuat fitur untuk aplikasi musik. Fitur ini harus bisa menghitung total durasi lagu dari seorang artis tertentu di dalam sebuah playlist.

Aturan/Ketentuan:

  1. Program harus bisa membedakan lagu berdasarkan nama artisnya.
  2. Program harus menjumlahkan durasi (dalam detik) dari semua lagu yang dinyanyikan oleh artis yang dicari.
  3. Artis yang ingin dicari adalah “Grup Melodi Senja”.

Data Playlist:

  • Nama Playlist: “Lagu Santai”
  • Daftar Lagu:
    • Lagu 1: Judul “Kenangan Hujan”, Artis “Solo Vokal Pagi”, Durasi: 180 detik
    • Lagu 2: Judul “Jalan Pulang”, Artis “Grup Melodi Senja”, Durasi: 210 detik
    • Lagu 3: Judul “Biru Langit”, Artis “Solo Vokal Pagi”, Durasi: 195 detik
    • Lagu 4: Judul “Mimpi di Awan”, Artis “Grup Melodi Senja”, Durasi: 240 detik

Yang Harus Ditulis: Tuliskan jawaban Anda dalam format esai yang mencakup:

  1. Representasi Data: Jelaskan bagaimana Anda akan menyusun data playlist di atas menggunakan variabel, array, dan objek.
  2. Langkah-Langkah Logika: Uraikan alur logika Anda untuk memfilter lagu berdasarkan artis dan menjumlahkan durasinya.
  3. Hasil Akhir: Berapa total durasi lagu dari “Grup Melodi Senja” berdasarkan logika Anda?

 

Tugas untuk Kelompok 2: Analisis Inventaris Gudang

 

Studi Kasus: Anda adalah seorang manajer gudang untuk sebuah toko ritel. Anda perlu mengembangkan sebuah sistem sederhana untuk melacak jumlah total barang dalam kategori tertentu untuk memastikan stok selalu tersedia.

Aturan/Ketentuan:

  1. Program harus bisa membedakan produk berdasarkan kategorinya.

  2. Program harus menjumlahkan jumlah stok dari semua produk yang termasuk dalam kategori yang dicari.

  3. Kategori yang ingin dicari adalah “Elektronik”.

Data Inventaris:

  • Nama Gudang: “Pusat Distribusi Utama”

  • Daftar Produk:

    • Produk 1: Nama “Buku Tulis”, Kategori “Alat Tulis”, Jumlah Stok: 150 unit

    • Produk 2: Nama “Mouse Wireless”, Kategori “Elektronik”, Jumlah Stok: 85 unit

    • Produk 3: Nama “Kaos Polos”, Kategori “Pakaian”, Jumlah Stok: 200 unit

    • Produk 4: Nama “Headphone Bluetooth”, Kategori “Elektronik”, Jumlah Stok: 60 unit

Yang Harus Ditulis: Tuliskan jawaban Anda dalam format esai yang mencakup:

  1. Representasi Data: Jelaskan bagaimana Anda akan menyusun data inventaris di atas menggunakan variabel, array, dan objek untuk diproses oleh program.

  2. Langkah-Langkah Logika: Uraikan alur logika program Anda untuk memfilter produk berdasarkan kategori dan menjumlahkan total stoknya.

  3. Hasil Akhir: Berapa total jumlah stok untuk produk dalam kategori “Elektronik” berdasarkan logika Anda?

Tentu, ini adalah versi lain dari soal tersebut dengan studi kasus yang berbeda.


 

Tugas untuk Kelompok 3: Analisis Data Perpustakaan

 

Studi Kasus: Anda adalah seorang pustakawan yang ditugaskan untuk membuat laporan bulanan. Salah satu tugas Anda adalah menghitung total jumlah halaman dari buku-buku yang ditulis oleh seorang pengarang tertentu untuk menganalisis produktivitas pengarang tersebut.

Aturan/Ketentuan:

  1. Program harus bisa mengidentifikasi buku berdasarkan nama pengarangnya.

  2. Program harus menjumlahkan jumlah halaman dari semua buku yang ditulis oleh pengarang yang dicari.

  3. Pengarang yang ingin dicari adalah “Andrea Hirata”.

Data Buku di Rak “Fiksi Populer”:

  • Buku 1: Judul “Laskar Pelangi”, Pengarang “Andrea Hirata”, Jumlah Halaman: 529 halaman

  • Buku 2: Judul “Bumi Manusia”, Pengarang “Pramoedya Ananta Toer”, Jumlah Halaman: 535 halaman

  • Buku 3: Judul “Sang Pemimpi”, Pengarang “Andrea Hirata”, Jumlah Halaman: 292 halaman

  • Buku 4: Judul “Cantik Itu Luka”, Pengarang “Eka Kurniawan”, Jumlah Halaman: 537 halaman

Yang Harus Ditulis: Tuliskan jawaban Anda dalam format esai yang mencakup:

  1. Representasi Data: Jelaskan bagaimana Anda akan menyusun data koleksi buku di atas menggunakan variabel, array, dan objek agar mudah diolah.

  2. Langkah-Langkah Logika: Uraikan alur logika yang akan Anda gunakan untuk memfilter data buku berdasarkan nama pengarang dan kemudian menjumlahkan total halamannya.

  3. Hasil Akhir: Berapa total jumlah halaman dari buku-buku karya “Andrea Hirata” berdasarkan logika Anda?

18 september

## Studi Kasus 1: Penugasan Proyek Tim 🧑‍💻

Studi Kasus: Anda adalah seorang manajer proyek yang perlu menugaskan serangkaian tugas kepada tim Anda. Setiap karyawan memiliki keahlian (skill) dan kapasitas kerja mingguan yang berbeda. Tugas Anda adalah menentukan secara logis, karyawan mana saja yang bisa mengerjakan setiap tugas yang ada.

Aturan/Ketentuan:

  1. Seorang karyawan bisa mengerjakan sebuah tugas jika memenuhi kedua syarat berikut:
    • Karyawan tersebut memiliki keahlian yang dibutuhkan oleh tugas itu.
    • Kapasitas kerja mingguan karyawan tersebut masih mencukupi (kapasitas tidak akan terlampaui jika tugas ini ditambahkan).
  2. Hasil akhirnya adalah daftar setiap tugas dan siapa saja karyawan yang berpotensi untuk mengerjakannya.

Data:

  • Daftar Karyawan:
    • Karyawan 1: Nama “Budi”, Keahlian [“JavaScript”, “HTML”], Kapasitas 40 jam/minggu.
    • Karyawan 2: Nama “Citra”, Keahlian [“CSS”, “JavaScript”], Kapasitas 35 jam/minggu.
    • Karyawan 3: Nama “Dewi”, Keahlian [“HTML”, “CSS”], Kapasitas 40 jam/minggu.
  • Daftar Tugas:
    • Tugas A: Nama “Membuat Halaman Login”, Keahlian Dibutuhkan “HTML”, Estimasi Waktu 8 jam.
    • Tugas B: Nama “Styling Tombol”, Keahlian Dibutuhkan “CSS”, Estimasi Waktu 6 jam.
    • Tugas C: Nama “Validasi Form”, Keahlian Dibutuhkan “JavaScript”, Estimasi Waktu 12 jam.

Yang Harus Ditulis:

  1. Representasi Data: Jelaskan bagaimana Anda akan menyusun data karyawan (termasuk array keahlian) dan data tugas.
  2. Langkah-Langkah Logika: Uraikan alur logika Anda untuk setiap tugas. Anda perlu melakukan iterasi pada daftar karyawan untuk memeriksa kedua syarat (keahlian dan kapasitas) yang telah ditentukan.
  3. Hasil Akhir: Buat daftar penugasan yang mungkin. Contoh:
    • Tugas A bisa dikerjakan oleh: [Nama Karyawan]
    • Tugas B bisa dikerjakan oleh: [Nama Karyawan]
    • Tugas C bisa dikerjakan oleh: [Nama Karyawan]

 

 

## Studi Kasus 2: Pelacak Target Kebugaran Mingguan 🏋️‍♀️

Studi Kasus: Anda sedang merancang logika untuk aplikasi kebugaran. Sistem perlu menganalisis catatan aktivitas mingguan pengguna untuk menentukan apakah mereka mencapai target dan lencana (badge) apa yang mereka peroleh.

Aturan/Ketentuan:

  1. Target Mingguan:
    • Total durasi Kardio minimal 120 menit.
    • Minimal melakukan 2 sesi Latihan Beban.
  2. Perolehan Lencana (Badge):
    • Lencana “Marathon Runner”: Jika total durasi Kardio melebihi 200 menit.
    • Lencana “Sangat Konsisten”: Jika pengguna berolahraga setidaknya pada 4 hari yang berbeda dalam seminggu.

Data Catatan Aktivitas Mingguan:

  • Aktivitas 1: Hari “Senin”, Tipe “Kardio”, Durasi 45 menit.
  • Aktivitas 2: Hari “Selasa”, Tipe “Latihan Beban”, Durasi 60 menit.
  • Aktivitas 3: Hari “Rabu”, Tipe “Kardio”, Durasi 40 menit.
  • Aktivitas 4: Hari “Jumat”, Tipe “Kardio”, Durasi 90 menit.
  • Aktivitas 5: Hari “Jumat”, Tipe “Latihan Beban”, Durasi 50 menit.
  • Aktivitas 6: Hari “Minggu”, Tipe “Kardio”, Durasi 30 menit.

Yang Harus Ditulis:

  1. Representasi Data: Jelaskan bagaimana Anda akan menstrukturkan data catatan aktivitas mingguan.
  2. Langkah-Langkah Logika: Uraikan alur Anda untuk:
    • Melakukan iterasi pada catatan dan mengakumulasi data (total menit kardio, jumlah sesi latihan beban, dan jumlah hari unik berolahraga).
    • Setelah iterasi selesai, bandingkan data yang terkumpul dengan target dan aturan lencana.
  3. Hasil Akhir: Tuliskan laporan ringkas untuk pengguna yang berisi:
    • Apakah target Kardio tercapai?
    • Apakah target Latihan Beban tercapai?
    • Daftar lencana yang diperoleh.

 

 

 

## Studi Kasus 3: Perhitungan Tagihan Restoran (Split Bill) 🧾

Studi Kasus: Anda dan teman-teman makan bersama. Pesanan dicatat dalam satu tagihan. Beberapa makanan dipesan dan dimakan bersama. Tugas Anda adalah membuat logika untuk menghitung berapa total yang harus dibayar oleh setiap orang secara adil, sudah termasuk biaya layanan dan pajak.

Aturan/Ketentuan:

  1. Untuk makanan yang dipesan bersama, biayanya dibagi rata sejumlah orang yang memesannya.
  2. Biaya Layanan (10%) dan Pajak (5%) dihitung dari Subtotal (total harga semua makanan).
  3. Total biaya layanan dan pajak tersebut kemudian dibagi secara proporsional berdasarkan kontribusi subtotal masing-masing orang.

Data Pesanan:

  • Pesanan 1: Nama “Nasi Goreng Spesial”, Harga 30000, Dipesan oleh [“Ali”].
  • Pesanan 2: Nama “Sate Ayam (1 Porsi)”, Harga 40000, Dipesan oleh [“Budi”, “Citra”].
  • Pesanan 3: Nama “Cah Kangkung”, Harga 15000, Dipesan oleh [“Ali”, “Budi”, “Citra”].
  • Pesanan 4: Nama “Es Teh Manis”, Harga 5000, Dipesan oleh [“Ali”].
  • Pesanan 5: Nama “Jus Jeruk”, Harga 10000, Dipesan oleh [“Citra”].

Yang Harus Ditulis:

  1. Representasi Data: Jelaskan struktur data pesanan yang Anda gunakan.
  2. Langkah-Langkah Logika: Uraikan proses perhitungan bertahap Anda:
    • Menghitung subtotal untuk setiap orang (misalnya, membuat objek {Ali: 0, Budi: 0, Citra: 0} lalu diisi).
    • Menghitung Subtotal keseluruhan, Biaya Layanan, dan Pajak.
    • Menghitung total tagihan untuk setiap orang.
  3. Hasil Akhir: Tampilkan rincian tagihan akhir untuk Ali, Budi, dan Citra.

 

 

 

 

 

 

 

 

 

## Studi Kasus 4: Logika Otomatisasi Rumah Pintar 🏡

Studi Kasus: Sebuah sistem rumah pintar (smart home) perlu mengambil tindakan berdasarkan kombinasi data dari beberapa sensor pada waktu tertentu. Anda perlu merancang logikanya.

Aturan/Ketentuan: Program harus memeriksa semua aturan secara independen dan menghasilkan daftar tindakan yang harus dilakukan.

  1. Jika suhu di luar ruangan di atas 30°C DAN ramalan cuaca adalah “Cerah”, maka tutup semua tirai jendela.
  2. Jika seseorang ada di rumah (adaOrangDiRumah adalah true) DAN waktu menunjukkan setelah pukul 18:00, maka nyalakan lampu teras.
  3. Jika tidak ada orang di rumah ATAU waktu menunjukkan antara pukul 23:00 hingga 05:00, maka aktifkan mode keamanan.
  4. Jika tingkat kelembaban di atas 80% DAN seseorang ada di rumah, maka nyalakan dehumidifier.

Data Sensor Saat Ini:

  • suhuLuar: 32°C
  • ramalanCuaca: “Cerah”
  • adaOrangDiRumah: true
  • waktu: “19:30”
  • kelembaban: 75%

Yang Harus Ditulis:

  1. Representasi Data: Jelaskan bagaimana Anda akan menyimpan data sensor dalam satu objek.
  2. Langkah-Langkah Logika: Uraikan bagaimana Anda akan mengevaluasi setiap aturan satu per satu menggunakan data sensor yang ada. Gunakan operator logika && (DAN) dan || (ATAU).
  3. Hasil Akhir: Berdasarkan data sensor saat ini, tuliskan daftar tindakan apa saja yang akan dijalankan oleh sistem rumah pintar.

 

 

 

 

 

 

 

 

 

## Studi Kasus 5: Validasi Formulir Pendaftaran Event 🎟️

Studi Kasus: Anda sedang membuat logika validasi untuk formulir pendaftaran sebuah workshop. Pendaftaran hanya dianggap “Berhasil” jika semua data yang diisi oleh pengguna memenuhi syarat yang ditentukan.

Aturan/Ketentuan: Pendaftaran “Berhasil” jika semua kondisi berikut terpenuhi:

  1. Usia pendaftar harus antara 18 hingga 35 tahun (inklusif).
  2. Pendaftar harus memilih minimal satu dari daftar minatWorkshop.
  3. Jika pendaftar memilih paket “VIP”, maka metode pembayaran tidak boleh “COD”.
  4. Nomor telepon harus diawali dengan “08” dan panjangnya antara 10 hingga 13 digit.

Data Formulir yang Diisi Pengguna:

  • nama: “Sari”
  • usia: 25
  • pilihanPaket: “VIP”
  • minatWorkshop: [] (Array kosong)
  • metodePembayaran: “Transfer Bank”
  • nomorTelepon: “08123456789”

(Untuk kasus ini, setelah memberikan jawaban untuk data di atas, jelaskan secara singkat mengapa pendaftaran akan “Gagal” jika minatWorkshop diubah menjadi [“Desain”] tetapi metodePembayaran diubah menjadi “COD”)

Yang Harus Ditulis:

  1. Representasi Data: Jelaskan bagaimana Anda akan menstrukturkan data formulir dalam sebuah objek.
  2. Langkah-Langkah Logika: Uraikan alur logika validasi Anda. Anda perlu membuat serangkaian pengecekan if untuk setiap aturan. Buat sebuah variabel penanda (misal isValid = true) yang akan diubah menjadi false jika salah satu aturan tidak terpenuhi.
  3. Hasil Akhir:
    • Berdasarkan data awal, apakah status pendaftaran “Berhasil” atau “Gagal”? Sebutkan aturan mana yang tidak terpenuhi.
    • Jawab pertanyaan tambahan yang ada di deskripsi kasus.