Safelink Generator

Cara membuat website TV Series dan Movie di blogspot menggunakan TMDB API bagian 4

Membuat Halaman Season Tv Series (TMDB Academy step 4)

Pada Tutorial lengkap membuat website TV Series dan Movie di blogspot menggunakan TMDB API sebelumnya, kita sudah selesai menghasilkan beberapa halaman penting di dalam struktur membangunwebsite movie & Tv Series ini, halaman yang telah di buat diantaranya:

  • 1. Halaman Utama/ Homepage/ Landing Page, Lengkap dengan pendaftaran akun TMDB serta mendapatkan API KEY TMDB pada halaman Tutorial pertama
  • 2. Halaman Trending TV Shows & Movies pada halaman Tutorial Lengkap Membuat Website TV Series dan Movie di Blogspot Menggunakan TMDB API (Step 2)
  • 3. Halaman Detail Movie & detail halaman Tv Series di halaman tutorial bagian ketiga
  • Pada artikel ini kita akan melanjutkan pembuatan Halaman Season khusus untuk kategori TV Series. Halaman ini merupakan bagian penting karena berfungsi menampilkan seluruh informasi season yang dimiliki oleh sebuah serial TV.

    Apa Itu Halaman Season?

    Halaman Season adalah halaman yang menampilkan detail dari satu season tertentu pada sebuah TV Series. Setiap serial biasanya memiliki satu atau lebih season, dan masing-masing season berisi beberapa episode.

    Ketika pengunjung menekan salah satu season pada halaman detail TV Series, maka sistem akan membuka halaman Season untuk menampilkan informasi lengkap mengenai season yang dipilih.

    Informasi yang kan ditampilkan pada halaman Season antara lain:

    • Nama Season.
    • Poster Season.
    • Nomor Season.
    • Tanggal rilis.
    • Jumlah Episode.
    • Rating.
    • Sinopsis Season.
    • Daftar seluruh episode dalam season tersebut.

    Mengapa Halaman Season Dibutuhkan?

    TMDB memisahkan data TV Series ke dalam beberapa level, yaitu TV Series → Season → Episode. Oleh karena itu kita tidak dapat langsung mengambil daftar episode dari halaman Detail TV Series saja.

    Setiap season memiliki endpoint API tersendiri sehingga halaman ini berfungsi sebagai penghubung sebelum pengguna membuka halaman Episode.

    Alur navigasinya menjadi seperti berikut:

    Homepage
         ↓
    Trending TV Series
         ↓
    Detail TV Series
         ↓
    Season
         ↓
    Episode
    

    Parameter URL Halaman Season

    Di bahasan sebelumnya saya sudah pernah jelaskan, agar halaman Season dapat menampilkan season yang benar, kita memerlukan dua parameter pada URL, yaitu:

    • id = ID TV Series.
    • season = Nomor season yang dipilih.

    Contohnya seperti berikut:

    /p/season.html?id=1399&season=1

    Pada contoh di atas:

    • 1399 adalah ID TV Series.
    • 1 adalah Season pertama.

    Script nantinya akan membaca kedua parameter tersebut menggunakan URLSearchParams(), kemudian mengirim permintaan ke TMDB API untuk mengambil seluruh data season beserta daftar episodenya.

    Hasil Akhir

    Setelah tutorial ini selesai, Anda akan memiliki halaman Season yang dapat menampilkan seluruh informasi season beserta daftar episode secara otomatis berdasarkan parameter URL. Pada tutorial berikutnya kita akan melanjutkan pembuatan Halaman Episode untuk menampilkan detail setiap episode secara lengkap.

    Demo Halaman Season TV Series

    Sebelum mulai memasang script, Anda dapat melihat contoh hasil akhirnya melalui halaman demo berikut.

    Live Demo Season Serial Tv

    Cara Membuat Halaman Season TV

    Masuk ke Dashboard Blogger, kemudian pilih menu Halaman (Pages) dan klik Halaman Baru atau tekan tanda plus (+). Pastikan editor yang digunakan adalah Mode HTML bukan compose, bukan mode Compose, agar seluruh kode dapat dibaca dengan benar oleh Blogger.

    beri judul halaman baru, yaitu: Season agar mudah di integrasikan.Selanjutnya salin & tempel kode berikut pada kotak editor bloggwr halaman tadi:

    .

    ๐Ÿ“Œ Script Halaman Season

    </>
    <style> *{ margin:0; padding:0; box-sizing:border-box; font-family:Arial,sans-serif; } body{ background:#111; color:#fff; } a{ color:inherit; text-decoration:none; } .hero{ height:40vh; background-size:cover; background-position:center; display:flex; align-items:flex-end; position:relative; } .hero::before{ content:''; position:absolute; inset:0; background:linear-gradient(to top,#111,transparent); } .hero-content{ position:relative; padding:20px; } .container{ padding:20px; max-width:1000px; margin:auto; } .badges{ display:flex; flex-wrap:wrap; gap:10px; margin:10px 0; } .badge{ background:#222; padding:6px 10px; border-radius:20px; font-size:13px; } .episodes{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:15px; margin-top:20px; } .ep{ background:#1b1b1b; border-radius:12px; overflow:hidden; transition:.3s; } .ep:hover{ transform:translateY(-4px); } .ep img{ width:100%; height:140px; object-fit:cover; } .ep .p{ padding:10px; } .nav{ display:flex; justify-content:space-between; margin-top:20px; } button{ background:#e50914; border:none; padding:10px 15px; color:#fff; border-radius:8px; cursor:pointer; } button:disabled{ opacity:.4; cursor:not-allowed; } </style> <div id="app">Loading...</div> <script> const API_KEY="YOUR_TMDB_API_KEY"; const tvId=new URLSearchParams(location.search).get("id"); let seasonNumber=parseInt(new URLSearchParams(location.search).get("season")||1); const IMG="https://image.tmdb.org/t/p/w500"; const BACK="https://image.tmdb.org/t/p/original"; async function loadSeason(){ const season=await fetch( `https://api.themoviedb.org/3/tv/${tvId}/season/${seasonNumber}?api_key=${API_KEY}` ).then(r=>r.json()); const tv=await fetch( `https://api.themoviedb.org/3/tv/${tvId}?api_key=${API_KEY}` ).then(r=>r.json()); document.getElementById("app").innerHTML=` <div class="hero" style="background-image:url('${BACK}${season.poster_path||tv.backdrop_path}')"> <div class="hero-content"> <h1>${season.name}</h1> <div class="badges"> <span class="badge">๐Ÿ“… ${season.air_date||'-'}</span> <span class="badge">๐ŸŽฌ Episodes ${season.episodes.length}</span> </div> </div> </div> <div class="container"> <h2>Overview</h2> <p>${season.overview||'No overview'}</p> <div class="episodes"> ${season.episodes.map(ep=>` <div class="ep"> <img src="${ ep.still_path ?IMG+ep.still_path :'https://via.placeholder.com/500x300' }"> <div class="p"> <h3> Ep ${ep.episode_number} - ${ep.name} </h3> <div class="badges"> <span class="badge">⭐ ${ep.vote_average||0}</span> <span class="badge">๐Ÿ“… ${ep.air_date||'-'}</span> <span class="badge">⏱ ${ep.runtime||'-'} min</span> </div> <p>${ep.overview||'No overview'}</p> </div> </div> `).join('')} </div> <div class="nav"> <button onclick="changeSeason(-1)">Prev</button> <button onclick="changeSeason(1)">Next</button> </div> <br> <a href="tv.html?id=${tvId}"> <button>Back to Series</button> </a> </div> `; } function changeSeason(step){ seasonNumber+=step; if(seasonNumber<1) seasonNumber=1; history.replaceState(null,"",`?id=${tvId}&season=${seasonNumber}`); loadSeason(); } loadSeason(); </script>
    Safelink-aza

    Mengganti API Key

    Sebelum mempublikasikan halaman, cari tulisan berikut pada script: YOUR_TMDB_API_KEY Kemudian ganti dengan API Key TMDB milik Anda yang telah dibuat sebelumnya di Tutorial Step 1.Pastikan API Key ditulis dengan benar tanpa menghapus tanda kutip didalam script,maupun karakter lainnya. Kesalahan penulisan API Key dapat menyebabkan data dari TMDB tidak dapat ditampilkan.

    Mempublikasikan Halaman

    Apabila API Key sudah diganti, lalu klik tombol Publikasikan. Sekarang coba buka halaman Season TV yang telah dibuat dengan parameter ID dan Season Number (Contoh: /p/season.html?id=1399&season=1). Jika seluruh langkah dilakukan dengan benar, maka halaman season serial TV akan muncul secara otomatis lengkap dengan poster, judul season, rating, serta informasi lainnya sesuai data yang tersedia di TMDB.

    Jika Data Tidak Muncul

    Apabila halaman masih kosong atau muncul pesan error, periksa beberapa hal berikut:

    • Pastikan API Key benar & masih aktif.
    • Pastikan tulisan YOUR_TMDB_API_KEY sudah diganti dengan API anda dari TMDB
    • Pastikan script ditempel/Di edit pada Mode HTML di kotak editor posting halaman blogger.
    • Pastikan tidak ada karakter atau tag HTML yang terhapus saat menyalin & menempel kode.
    • Coba Refresh halaman menggunakan browser setelah dipublikasikan.
    • Sebagian besar masalah biasanya terjadi karena API Key belum diganti atau terdapat kesalahan saat menyalin script.

      Tutorial Selanjutnya

      Selamat! Sampai tahap ini Anda telah berhasil membuat halaman Season untuk kategori TV Shows menggunakan TMDB API. Pada Tutorial selanjutnya , kita akan lanjut membuat halaman Episode Tv Show. Halaman ini akan menampilkan informasi Episode yang lebih lengkap,

      Sampai jumpa pada Tutorial Lengkap Membuat Website TV Series dan Movie di Blogspot Menggunakan TMDB API Bagian 5.

      Tutorial Step 5 ini akan saya posting pada artikel selanjutnya di halaman Cara membuat halaman episode TV Series di blogspot menggunakan TMDB API (TMDB Academy bagian 5), Pantau Update post di blog saya ini untuk tutorial selanjutnya.

      Pertanyaan yang sering diajukan (FAQ)

      Apa fungsi parameter id dan season pada URL halaman Season?

      Parameter id digunakan untuk menentukan TV Series yang akan ditampilkan, sedangkan parameter season digunakan untuk menentukan season yang dipilih. Contohnya season.html?id=1399&season=1, artinya halaman akan menampilkan data Season 1 dari TV Series dengan ID 1399..

      Mengapa halaman Season dibuat terpisah dari halaman Detail TV Series?

      Karena TMDB memisahkan data TV Series berdasarkan Season. Halaman Detail TV Series hanya menampilkan informasi umum dan daftar season, sedangkan informasi lengkap seperti poster season, sinopsis, jumlah episode, tanggal rilis, serta daftar episode harus diambil melalui endpoint Season menggunakan ID TV Series dan nomor season..

      Tulis lanjut di kolom komentar untuk tutorial berikutnya

      ๐Ÿ›  BERKAH JAYA ABADI TEKNIK

      Layanan Jasa Service elektronik panggilan

      Pesan Jasa Sekarang

    ๐Ÿ“š Artikel Terbaru