Menu
CoddyTech

Gambaran Umum Proyek

Termasuk bagian Logika dan Alur dalam perjalanan JavaScript di Coddy. Pelajaran 60 dari 65.

challenge icon

Tantangan

Mudah

Kamu akan membuat Sistem Manajemen Festival Film. Mulailah dengan menginisialisasi sistem menggunakan data yang disediakan dan membuat struktur fungsi utama.

Buat variabel bernama festivalData dengan data awal yang persis seperti ini:

{
	movies: [{
		id: 1,
		title: "Inception",
		director: "Christopher Nolan",
		year: 2010,
		mainGenre: "Sci-Fi",
		secondGenre: undefined,
		avgRating: 0,
		available: true
	}],
	venues: [{
		id: 1,
		name: "Main Theater",
		capacity: 200,
	}],
	screenings: [{
		id: 1,
		movieId: 1,
		venueId: 1,
		date: '2023-10-29',
		time: '13:35:00',
		availableSeats: 200
	}],
	tickets: new Set()
}

Buat fungsi bernama manageFestival yang menerima dua parameter:

  • actions (array berisi string)
  • data (array berisi object)

Fungsi tersebut harus:

  1. Memproses setiap tindakan dalam array actions secara berurutan
  2. Membuat array results kosong
  3. Membuat pernyataan switch dengan kasus awal berikut:
    • listMovies: menambahkan festivalData.movies ke array results
    • listVenues: menambahkan festivalData.venues ke array results
    • listTickets: menambahkan festivalData.tickets ke array results
    • listScreenings: menambahkan festivalData.screenings ke array results
    • default: menambahkan "Invalid action!" ke array results
  4. Mengembalikan array results

Coba sendiri


const festivalData = {}; // Isi data awal

function manageFestival(actions, data) {
    let results = [];
    
    actions.forEach((action, index) => {
        const currentData = data[index];
        
        switch(action) {
            case "listMovies":
               // Tulis kodemu di sini

            case "listVenues":
               // Tulis kodemu di sini

            case "listTickets":
                // Tulis kodemu di sini

            case "listScreenings":
                // Tulis kodemu di sini
                
            default:
                results.push("Invalid action!");
        }
    });
    
    return results;
}

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler JavaScript online