Anda di halaman 1dari 26

PROJECT PROPOSAL

FavMovie

DISUSUN OLEH :

Faradhila Aulia Utami Tanjung (201401005)


Puan Abidah Nitisara (201401009)

PROGRAM STUDI S-1 ILMU KOMPUTER


FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
2023
KATA PENGANTAR
Puji syukur ke hadirat Allah SWT, Tuhan Yang Maha Esa. Atas rahmat dan hidayah-
Nya, penulis dapat menyelesaikan tugas laporan yang berjudul "FavMovie" dengan tepat
waktu.

Laporan disusun untuk memenuhi tugas mata kuliah Proyek Perangkat Lunak. Selain
itu, laporan ini bertujuan menambah wawasan tentang pembahasan Perangkat Lunak yang
lebih mendalam bagi para pembaca dan juga bagi penulis.

Penulis mengucapkan terima kasih kepada T. Henny Febriana Harumy S.Kom.,


M.Kom selaku Dosen Pengampu mata kuliah terkait. Ucapan terima kasih juga disampaikan
kepada semua pihak yang telah membantu dan memberikan dukungan hingga laporan ini
selesai.

Dengan segala keterbatasan yang dimiliki, saran dan kritik dari semua pihak sangat di
harapkan demi kesempurnaan makalah ini kedepannya. Atas saran dan kritik pembaca,
penulis mengucapkan terima kasih. Akhir kata, semoga laporan ini dapat memberikan
manfaat bagi kita semua.

Medan, 27 November 2023

Penulis
BAB I

PENDAHULUAN

1.1. Latar Belakang

Dalam era digital, website movie telah menjadi sumber utama bagi pengguna
untuk menemukan dan menonton film favorit mereka. Website seperti JustWatch,
IMDb, Plex, Tubi, Letterboxd dan lainnya menawarkan layanan streaming film
secara online, memungkinkan pengguna untuk menemukan film yang mereka sukai
dan menontonnya kapan saja dan di mana saja. Fitur pencarian yang disediakan
oleh website movie memungkinkan pengguna untuk dengan mudah menemukan
film yang mereka inginkan, sementara fitur daftar favorit memungkinkan pengguna
untuk menyimpan film yang mereka sukai agar dapat diakses dengan mudah di
kemudian hari. Dengan demikian, website movie memberikan pengalaman yang
lebih terorganisir dan menyenangkan bagi para pecinta film.

Dengan bertumbuhnya industri film dan peningkatan aksesibilitas konten


digital, website seperti Letterboxd menjadi semakin penting. Para pembuat website
ini dapat memanfaatkan teknologi dan desain yang inovatif untuk menciptakan
pengalaman yang memikat dan mudah diakses bagi para pengguna. Fitur-fitur
seperti penilaian, ulasan, dan daftar pantauan memberikan dimensi ekstra pada
pengalaman pengguna, memungkinkan mereka tidak hanya menonton film, tetapi
juga terlibat dalam diskusi yang berarti dan berkontribusi pada komunitas film
yang dinamis.

Melihat popularitas website seperti Letterboxd dan keinginan untuk


menghadirkan layanan serupa, penulis berencana untuk membuat sebuah website
film yang menawarkan lebih dari sekadar katalog film. Dengan memperkenalkan
fitur-fitur seperti login pengguna, pencarian film yang efisien, dan kemampuan
menyimpan film ke dalam daftar favorit, tujuan penulis adalah menciptakan
lingkungan interaktif di mana pengguna dapat mengelola dan merayakan kecintaan
mereka terhadap dunia perfilman secara lebih pribadi. Fitur login di website ini
tidak hanya memberikan pengguna akses eksklusif ke kontennya, tetapi juga
membuka pintu untuk pembentukan komunitas yang lebih terhubung. Melalui
login pengguna, penulis berharap pengguna dapat mempersonalisasi pengalaman
mereka, menyimpan preferensi, dan berpartisipasi dalam interaksi yang lebih
mendalam dengan website. Fitur pencarian film yang efisien akan memungkinkan
pengguna dengan cepat menemukan judul-judul yang mereka cari, memberikan
kemudahan navigasi dalam katalog film yang berkembang.

Penambahan fitur menyimpan film ke dalam daftar favorit bertujuan untuk


memberikan dimensi emosional pada pengalaman pengguna. Dengan menyediakan
kemampuan untuk menyimpan dan mengelola daftar film favorit, pengguna dapat
dengan mudah mengakses dan berbagi preferensi mereka dengan komunitas.
Tujuan penulis adalah memberikan para pecinta film platform yang lebih terlibat
dan terpersonal, di mana setiap pengguna dapat merasakan bahwa website ini
adalah ruang eksklusif untuk mengekspresikan identitas film mereka dan menjalin
konektivitas dengan sesama penggemar. Dengan fitur-fitur ini, penulis bermaksud
membentuk sebuah komunitas film yang dinamis dan berfokus pada pengalaman
personal pengguna.

1.2. Rumusan Masalah

Website movie merupakan suatu hal yang dibutuhkan oleh para penikmat film,
hal ini membantu para penikmat film untuk dapat melihat film apa saja yang
sedang berlangsung dan film yang dapat ditonton. Penikmat film mengharapkan
website movie ini dapat membantu untuk menyimpan film mereka untuk dapat
dilihat kembali apa yang akan ditonton dan disukainya.

1.3. Manfaat Penelitian


Aplikasi layanan website movie Course diharapkan dapat membantu para
penikmat film untuk dapat mencari film sesuai dengan rating dan dapat menyimpan
film ke penyimpanan favorite masinh-masing user.

1.4. Data Project Perangkat Lunak USU Course


Judul : FavMovie
Kategori PL : Web Applications
Jenis PL : Entertainment Systems
Model Proses : Waterfall Method

1.5. Model Proses Menggunakan Waterfall Method

1. Analisis kebutuhan system


Untuk menganalisis kebutuhan sistem, tim kami akan mengumpulkan semua
kemungkinan kebutuhan sistem yang akan dikembangkan dan didokumentasikan
dalam dokumen spesifikasi kebutuhan. Kami akan membuat kuesioner berupa
google form yang akan kami sebarkan kepada 10-15 orang dalam rentang usia
17-30 tahun. Hal itu dikarenakan target pasar kami adalah kawula muda. Hasil
jawaban dari para responden akan kami jadikan acuan untuk kebutuhan sistem.
Berikut merupakan link survei yang kami gunakan:
https://forms.gle/3ySdrD9M66ynympe9
2. Desain system dan software
Untuk desain system dan software, kami akan membangun aplikasi dengan
beberapa desai, yaitu untuk desain database kami membuat ERD (Entity
Relationship Diagram). Lalu untuk desain system menggunakan UML (Unified
Modelling Language) yaitu dengan Use Case Diagram. Untuk desain
tampilan/mockup (UI/UX) kami menggunakan aplikasi Figma.

3. Implementasi dan unit testing


Untuk implementasi program, kami menggunakan IDE Visual Studio Code untuk
pengembangan kode program, pengelolaan database menggunakan MySql,
bahasa pemrograman menggunakan JavaScript dan PHP, framework React JS
dan Bootstrap, serta penggunaan API untuk menampilkan rekomendasi film.
Lalu dengan masukan dari desain sistem, sistem pertama kali dikembangkan
dalam program kecil yang disebut unit, yang kemudian diintegrasikan pada tahap
berikutnya. Setiap unit dikembangkan dan diuji fungsinya, yang disebut sebagai
Pengujian Unit.

4. Integrasi dan system testing


Semua unit yang dikembangkan pada tahap implementasi diintegrasikan ke
dalam sistem setelah dilakukan pengujian terhadap setiap unit. Sesudah integrasi,
seluruh sistem diuji untuk setiap kesalahan dan kegagalan.
5. Deploy system
Setelah dilakukan pengujian, aplikasi diterapkan di lingkungan user atau
dilepaskan ke pasar. Untuk mendeploy aplikasi, kami menggunakan layanan web
hosting.
6. Maintenance
Pada tahap ini akan terus dilakukan pemeliharaan terhadap aplikasi dengan
mengawasi dan memperbaiki jika terdapat eror saat aplikasi telah diluncurkan.

1.6. Timeline Kegiatan


Berikut adalah tabel rencana kegiatan pembangunan aplikasi Website Movie:

Time schedule :
Kegiatan 1 2 3 4 5 6 7 8 9 10 11 1 13 14
2
Membahas ide projek
Menentukan manfaat PL
Analisis penggunaan model PL
Analisis kebutuhan system
Desain system dan software
Implementasi dan unit testing
Integrasi dan system testing
Deploy system
Maintenance
Dokumentasi makalah
Presentasi

BAB II

LANDASAN TEORI
2.1. Firebase
Firebase adalah platform pengembangan mobile dan web yang dikelola oleh
Google. Ini menyediakan berbagai layanan dan alat yang dapat membantu
pengembang membuat dan memelihara aplikasi secara efisien. Berikut adalah
beberapa fitur utama dari Firebase:
- Authentication
- Realtime Database
- Cloud Firestore
- Cloud Functions
- Cloud Storage
- Hosting
- Cloud Messaging
- Machine Learning
- Test Lab

Firebase menyederhanakan banyak aspek pengembangan aplikasi dengan


menyediakan solusi yang terkelola dan terintegrasi. Platform ini sering digunakan
untuk mengakselerasi pengembangan, memudahkan manajemen infrastruktur, dan
meningkatkan kualitas aplikasi secara keseluruhan.

2.2. React.js
React.js adalah pustaka JavaScript yang sangat populer yang dikembangkan
oleh Facebook. Didesain untuk membangun antarmuka pengguna (UI) dalam aplikasi
web yang bersifat satu halaman (single-page), React memberikan pendekatan yang
efisien dan terstruktur dalam mengelola tampilan. Salah satu fitur kunci React adalah
penggunaan komponen, di mana antarmuka dibagi menjadi potongan-potongan kecil
yang dapat diatur dan dikelola secara independen. Setiap komponen dapat memiliki
state dan properti sendiri, memungkinkan pembangunan antarmuka yang dinamis dan
responsif. Penggunaan JSX, ekstensi sintaksis yang memungkinkan penulisan kode
antarmuka lebih dekat dengan HTML, juga memberikan kejelasan dalam pembacaan
dan pemeliharaan kode. React menggunakan konsep Virtual DOM untuk
meningkatkan efisiensi pembaharuan tampilan. Dengan membandingkan Virtual
DOM dengan DOM aktual, React dapat mengidentifikasi perubahan dan melakukan
pembaruan hanya pada elemen yang memerlukan, mengurangi beban pada browser
dan meningkatkan kinerja aplikasi secara keseluruhan.
Unidirectional data flow adalah prinsip utama dalam React, di mana data
mengalir dari komponen induk ke komponen anak. Ini mempermudah pemahaman
alur data dalam aplikasi dan menghindari perubahan tak terduga. React juga memiliki
ekosistem yang kuat dengan banyak perpustakaan dan alat pendukung, termasuk
Redux untuk manajemen state yang lebih kompleks, React Router untuk penanganan
rute, dan banyak lagi. Perkenalan React Hooks membawa fleksibilitas baru dalam
pengembangan komponen fungsional dengan memungkinkan penggunaan state dan
fitur React lainnya tanpa harus menggunakan komponen berbasis kelas.
Kesederhanaan, performa tinggi, dan kemampuan untuk diintegrasikan dengan
teknologi lain menjadikan React sebagai pilihan utama untuk pengembangan aplikasi
web modern. React terus berkembang dan menjadi salah satu alat utama dalam
komunitas pengembang web, memperkuat posisinya sebagai pustaka yang
memudahkan pengembangan UI yang dinamis dan responsif.

2.3. Firebase Google Authentications


Firebase Authentication adalah layanan autentikasi yang disediakan oleh
Firebase, platform pengembangan mobile dan web yang dikelola oleh Google.
Layanan ini memudahkan pengembang untuk menambahkan sistem autentikasi ke
aplikasi mereka tanpa perlu membangun infrastruktur autentikasi dari awal. Firebase
Authentication mendukung berbagai metode autentikasi, termasuk Google
Authentication, yang memungkinkan pengguna masuk atau mendaftar menggunakan
akun Google mereka.

2.4. TMDB API


The Movie Database (TMDb) API menyediakan akses yang sangat berharga
bagi pengembang yang ingin mengintegrasikan informasi film dan televisi ke dalam
aplikasi atau situs web mereka. Dengan menggunakan berbagai endpoint yang
disediakan oleh TMDb API, pengembang dapat dengan mudah mengambil detail
tentang film dan acara televisi, termasuk informasi seperti judul, genre, sinopsis,
pemain, dan ulasan. Endpoint seperti /movie/popular dan /tv/popular memungkinkan
pengembang untuk mendapatkan daftar film atau acara televisi yang sedang populer,
memberikan pengguna akses ke konten yang sedang tren dan diminati oleh audiens
luas. Dengan keberagaman data yang tersedia, TMDb API membantu meningkatkan
pengalaman pengguna dan memberikan fleksibilitas dalam membangun aplikasi yang
berkaitan dengan dunia hiburan.
Selain itu, TMDb API juga menyediakan fitur pencarian yang memungkinkan
pengembang untuk mencari film atau acara televisi berdasarkan kata kunci tertentu.
Ini membuka peluang untuk membangun fungsi pencarian yang kuat dan akurat
dalam aplikasi, meningkatkan kemampuan pengguna untuk menemukan konten sesuai
dengan preferensi mereka. Dengan dukungan kontinyu dan pembaruan data, TMDb
API menjadi sumber daya yang andal dan relevan bagi pengembang yang ingin
menyajikan informasi film dan televisi terkini kepada pengguna mereka. Integrasinya
yang mudah dan dokumentasi yang baik membuat TMDb API menjadi pilihan yang
populer di kalangan pengembang yang bekerja di bidang hiburan dan media.

2.5. Framer Motion


Framer Motion adalah sebuah pustaka animasi dan gerakan yang kuat untuk
pengembangan antarmuka pengguna (UI) di lingkungan React. Dirancang untuk
menyederhanakan pembuatan animasi kompleks dan interaksi pengguna yang
dinamis, Framer Motion memungkinkan pengembang untuk mengintegrasikan
elemen-elemen animasi dengan mudah ke dalam aplikasi mereka. Satu aspek kunci
dari Framer Motion adalah sintaksisnya yang bersih dan deklaratif, yang
memungkinkan pengembang menyusun animasi dengan penulisan kode yang intuitif
dan mudah dimengerti. Dengan menggunakan konsep seperti motion.div atau
motion.button, pengembang dapat dengan cepat menambahkan efek animasi, tranisi,
atau responsivitas ke elemen-elemen UI mereka tanpa kompleksitas yang berlebihan.
Framer Motion juga mendukung berbagai jenis animasi, termasuk animasi berbasis
properti, animasi lintasan (path-based), dan animasi keluar-masuk (enter-exit
animation), memberikan fleksibilitas yang besar dalam merancang pengalaman
pengguna yang interaktif dan menarik.
Selain itu, Framer Motion memiliki dukungan penuh untuk animasi responsif
yang dapat menyesuaikan diri dengan perubahan ukuran layar atau perubahan dalam
data yang dikendalikan oleh komponen React. Ini membuatnya ideal untuk
pengembangan aplikasi web yang responsif dan mobile-friendly. Pustaka ini juga
menyediakan kontrol yang canggih terhadap proses animasi, termasuk kemampuan
untuk mengatur durasi, delay, dan jenis animasi dengan sangat rinci. Dengan Framer
Motion, pengembang dapat mencapai tingkat kontrol yang tinggi terhadap setiap
aspek animasi, sambil tetap mempertahankan kesederhanaan penggunaan. Kesesuaian
Framer Motion dengan ekosistem React dan pengelolaan state yang baik membuatnya
menjadi alat yang kuat untuk meningkatkan aspek visual dan interaktif dari aplikasi
React, membantu pengembang menciptakan antarmuka yang responsif, dinamis, dan
menarik secara efisien.

2.6. Penelitian / Project Relevan


Selanjutnya adalah penelitian yang telah dilakukan sebelumnya yang berkaitan, yakni:
1. Pada penelitian berjudul Improving Web Movie Recommender System Based
on Emotion (Wakil et al., 2015) Sistem tersebut menggunakan metode
content-based filtering, collaborative filtering, dan algoritma deteksi emosi
untuk memberikan rekomendasi film yang lebih baik kepada pengguna.
Sistem tersebut terdiri dari lima tahap: registrasi, penilaian film, perhitungan
kesamaan, prediksi, dan rekomendasi. Desain sistem ini menggabungkan
content-based filtering, collaborative filtering, dan algoritma perhitungan
penilaian pengguna untuk memahami hubungan antara keadaan emosional
pengguna dan film yang direkomendasikan.Jurnal juga menyarankan area
untuk perbaikan di masa depan, seperti mengekstrak warna yang paling sering
digunakan dalam film dan menggunakan lebih banyak teknik
rekomendasi.Referensi jurnal ini mencakup buku, laporan teknis, makalah
konferensi, dan artikel jurnal terkait dengan sistem rekomendasi film, sistem
rekomendasi berbasis emosi, dan topik terkait lainnya.
2. Pada penelitian berjudul FilmTrust: Movie recommendations using trust in
Web-based social networks (Golbeck, J., & Hendler, J.A., 2006) Jurnal ini
membahas FilmTrust, sebuah situs web yang mengintegrasikan jaringan sosial
berbasis Semantic Web ke dalam sistem rekomendasi film. Sistem ini
menggunakan nilai kepercayaan dalam jaringan sosial untuk menghasilkan
rekomendasi film yang dipersonalisasi, yang terbukti lebih akurat daripada
teknik lain dalam beberapa kasus. Artikel ini juga membahas latar belakang
dan karya terkait dalam jaringan sosial, kepercayaan, dan sistem rekomendasi,
serta fitur-fitur situs dan personalisasi situs. Akurasi peringkat yang
direkomendasikan dievaluasi dan dibandingkan dengan peringkat rata-rata dan
algoritma penyaringan kolaboratif otomatis. Penelitian ini menunjukkan
bahwa peringkat yang diprediksi berdasarkan kepercayaan lebih unggul
daripada rata-rata sederhana dan sistem rekomendasi berbasis korelasi. Artikel
ini juga membahas penyusunan ulasan berdasarkan nilai kepercayaan penulis
dan manfaat potensial penggunaan kepercayaan dalam sistem rekomendasi.
Penelitian ini didanai oleh berbagai organisasi dan merujuk penelitian terkait
tentang kepercayaan dalam komunitas online dan sistem rekomendasi.
3. Pada penelitian berjudul INTIMATE: A Web-Based Movie Recommender
Using Text Categorization (Mak, Koprinska et Poon, 2003) Jurnal ini
membahas sistem rekomendasi film berbasis teks yang disebut INTIMATE.
Sistem ini menggunakan kategorisasi teks untuk mempelajari ringkasan film
dan membandingkan kinerja berbagai representasi fitur, pemilih fitur,
mekanisme pembobotan fitur, dan klasifier. INTIMATE terbukti lebih unggul
daripada sistem rekomendasi berbasis fitur ketika rasio peringkat pengguna
terhadap ukuran kosakata tinggi. Sistem ini menggunakan pendekatan yang
berbeda untuk representasi fitur, pemilihan fitur, dan pembobotan fitur, serta
mengevaluasi kinerja menggunakan algoritma pembelajaran yang berbeda.
Hasilnya menunjukkan bahwa representasi hanya kata benda memberikan
kinerja terbaik, dan kinerja menggunakan pemilih fitur yang berbeda sangat
mirip. Jurnal ini juga membahas potensi untuk penelitian masa depan,
termasuk perbandingan dengan filtrasi kolaboratif dan pengembangan
pendekatan hibrida.

BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem
Analisis sistem merupakan bagian dalam penelitian yang bertujuan untuk
menguraikan hal-hal yang diperlukan dalam sebuah penelitian untuk dapat berjalan di
dalam sistem. Analisis sistem dibagi menjadi dua yakni analisis masalah dan analisis
kebutuhan. Analisis masalah dilakukan untuk mengidentifikasi penyebab serta
dampak dari masalah, sedangkan analisis kebutuhan dibutuhkan untuk menguraikan
data dan tahap yang diperlukan dalam menciptakan suatu sistem.

3.1.1 Analisis Masalah

Dalam penelitian, analisis masalah mempunyai manfaat demi


menelusuri penyebab atas masalah kemudian dilakukan pengkajian lebih
dalam pada konflik yang akan ditangani untuk menghasilkan sistem yang
efektif. Membangun sebuah website film dengan fitur pencarian, penonton
trailer, dan penyimpanan film ke favorit melibatkan sejumlah analisis masalah
yang perlu diperhatikan secara cermat.
Pertama-tama, masalah utama terletak pada akses dan pemeliharaan
data film. Sumber data yang dapat diandalkan dan terkini sangat diperlukan,
dan integrasi dengan API seperti The Movie Database (TMDb) dapat menjadi
solusi. Meskipun, perlu dipertimbangkan bagaimana mengatasi perubahan
data dan memastikan ketersediaan informasi yang akurat.
Kedua, tantangan muncul dalam implementasi fitur pencarian yang
efektif. Desain sistem pencarian yang cepat, akurat, dan efisien memerlukan
pemahaman mendalam tentang algoritma pencarian. Pengoptimalan kueri dan
pengindeksan data adalah langkah-langkah penting untuk memastikan hasil
pencarian yang memuaskan pengguna. Selain itu, pilihan antarmuka pengguna
yang intuitif dan saran pencarian otomatis dapat meningkatkan pengalaman
pengguna.
Tiga, fitur penonton trailer memerlukan pemutaran video yang lancar
dan tanpa hambatan. Integrasi dengan layanan penyimpanan video eksternal
seperti YouTube atau Vimeo dan pemilihan metode penyisipan video yang
efisien dapat memastikan kualitas tontonan yang baik. Perlu juga
mempertimbangkan opsi pembaruan otomatis trailer untuk menjaga
kelengkapan dan kebaruan konten.
Keempat, manajemen pengguna menjadi krusial, termasuk pendaftaran
pengguna, penyimpanan preferensi, dan fitur simpan ke favorit. Penggunaan
sistem otentikasi yang aman, bersama dengan manajemen database yang baik,
diperlukan untuk menjaga keamanan informasi pengguna. Desain antarmuka
yang ramah pengguna dan mudah dinavigasi juga memainkan peran penting
dalam memastikan penggunaan fitur-fitur ini secara efisien.
Terakhir, aspek keamanan website harus diberi perhatian khusus.
Perlindungan terhadap serangan keamanan seperti injeksi SQL dan
manajemen akses pengguna yang ketat harus diimplementasikan. Keamanan
data, terutama informasi pribadi pengguna, menjadi prioritas untuk mencegah
risiko kerugian data atau serangan yang dapat merugikan reputasi website.
Dengan memahami dan mengatasi masalah-masalah ini, pengembang dapat
menciptakan sebuah website film yang tidak hanya menarik secara visual,
tetapi juga aman dan responsif bagi pengguna.

3.1.2 Analisis Kebutuhan


Analisis kebutuhan merupakan langkah penting untuk mengenali data
hingga prosedur yang diperlukan untuk merancang sistem. Dalam melakukan
perancangan, analisis kebutuhan mencakup persyaratan fungsional dan non-
fungsional yang perlu dipenuhi agar sistem bisa dikembangan lebih baik dan
dapat mencapai tujuannya.

3.1.2.1 Kebutuhan Fungsional


Kebutuhan Fungsional termasuk dari tahapan yang akan
dikerjakan sisi sistem demi memenuhi tujuannya. Berikut merupakan
Kebutuhan Fungsional yang digunakan untuk penelitian dan sistem:
1. Sistem Memberikan kemampuan pencarian film
berdasarkan judul, genre, sutradara, atau pemeran.
2. Sistem Memungkinkan pengguna menyimpan film
favorit mereka untuk dapat diakses kembali di
kemudian hari.
3. Sistem Meningkatkan pengalaman pengguna dengan
menyediakan saran pencarian atau pencarian otomatis
yang cerdas.
4. Sistem Menyajikan informasi lengkap tentang setiap
film, termasuk sinopsis, pemeran, sutradara, dan ulasan.
5. Sistem Memberikan keamanan dan privasi dengan
mewajibkan pengguna untuk login sebelum
menggunakan fitur-fitur seperti menyimpan film ke
favorit.
3.1.2.2 Kebutuhan Non-Fungsional

Kebutuhan non-fungsional sistem merujuk pada aspek-aspek


yang tidak terkait langsung dengan fungsionalitas utama sistem, tetapi
mempengaruhi performa, keamanan, ketersediaan, dan aspek-aspek
lainnya yang membentuk pengalaman pengguna dan efektivitas sistem
secara keseluruhan.. Di bawah ini terdapat daftar kebutuhan fungsional
yang diperlukan dalam sistem ini:
1. Website harus memberikan respon yang cepat terhadap
permintaan pengguna, termasuk hasil pencarian dan tontonan
trailer.
2. website menggunakan layanan pihak ketiga untuk mendapatkan
data film atau trailer, pastikan integrasi dengan API tersebut
berjalan dengan lancar dan konsisten.
3. Desain antarmuka yang intuitif, menarik, dan mudah dinavigasi
untuk meningkatkan pengalaman pengguna.
4. Tidak membutuhkan biaya dan perangkat yang besar.
5. Internet diperlukan untuk terhubung dengan sistem.

3.2. Pemodelan Sistem


Mengubah sistem menjadi model melibatkan proses pembongkaran langkah-
langkah interaksi antara pengguna dan aplikasi yang sedang dikembangkan, sehingga
memungkinkan sistem berjalan dengan efisiensi optimal. Secara umum, pemodelan
sistem diwakili dalam bentuk Unified Modelling Language (UML), yang dikenal
sebagai bahasa standar untuk merinci hubungan antar komponen dalam suatu sistem.
UML memainkan peran kunci dalam menggambarkan interaksi yang terjadi melalui
pengguna. Dalam konteks penelitian ini, diagram yang menjadi landasan untuk
membentuk model adalah Activity Diagram, Sequence Diagram, dan Use Case
Diagram.
3.2.1 Use Case Diagram

Diagram Use Case salah satu jenis diagram dalam Unified Modeling
Language (UML) yang digunakan untuk menggambarkan interaksi antara
aktor (pengguna atau sistem eksternal) dengan sistem atau aplikasi yang
sedang dibangun. Diagram ini membantu dalam mendefinisikan, memahami,
dan merancang fungsionalitas sistem dari sudut pandang pengguna.

Gambar 3.2.1 Use Case Diagram


Gambar 3.2.1.1 menunjukkan hubungan aktor (pengguna/user) dengan
sistem. User akan melakukan interaksi dengan bisa melakukan
login/registrasi terlebih dahulu untuk bisa menyimpan film ke dalam halaman
favorite. Namun, User juga bisa hanya berinteraksi dengan halaman-halaman
trending, upcoming dan juga menggunakan fitur search untuk mencari film
yang diinginkan.
3.2.2 Activity Diagram

Diagram Aktivitas (Activity Diagram) adalah salah satu jenis diagram


dalam Unified Modeling Language (UML) yang digunakan untuk
memodelkan aktivitas atau alur kerja dalam suatu sistem. Diagram ini
membantu dalam mendeskripsikan proses atau aktivitas yang terjadi di dalam
suatu sistem atau antara sistem dan entitas eksternal. Activity Diagram
menggambarkan langkah-langkah atau aktivitas dalam suatu proses secara
visual, menunjukkan alur kerja atau urutan tindakan.

Gambar 3.2.2 Activity Diagram

Gambar 3.2.2 menunjukkan diagram aktivitas dari sistem. Dimulai


dengan user yang melakukan aktivitas login/signup dengan akun google pada
halaman login lalu apabila telah login maka akan divalidasi dan selanjutnya
bisa mengakses seluruh halaman dan bisa menyimpan film kedalam halaman
favorite. Pada saat membuka website, user juga bisa melihat halaman
trending, upcoming dan juga melakukan fitur search film yang diinginkan dan
apabila ingin menyimpan film tersebut maka dia akan dialihkan ke dalam fitur
login dan bisa menyimpan film tersebut.
3.2.3 Sequence Diagram

Diagram Sequence (Sequence Diagram) merupakan salah satu jenis


diagram dalam Unified Modeling Language (UML) yang digunakan untuk
memodelkan interaksi antara objek atau entitas dalam suatu sistem. Diagram
ini memberikan representasi grafis tentang bagaimana objek berinteraksi satu
sama lain dan menggambarkan urutan pesan atau panggilan metode yang
dikirim di antara mereka. Sequence Diagram sangat berguna untuk memahami
bagaimana komponen sistem berinteraksi satu sama lain dalam suatu skenario
tertentu.

Gambar 3.2.3 Activity Diagram

Gambar 3.2.3 merupakan aktivitas dari website yang akan dibuat.

BAB IV
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Implementasi
Dalam penelitian ini, sistem dibangun dengan menggunakan beberapa
komponen seperti Firebase, React.js, Firebase Google Authentications, TMDB API
dan Framer Motion yang digunakan sebagai komponen untuk pengembangan aplikasi
hingga terbentuknya aplikasi dan di hosting di internet dan dapat diakses oleh para
pengguna.

4.1.1 Halaman Genre dan Search

Gambar 4.1.1 Halaman Genre dan Search

Pada gambar 4.1.1.1 Dapat dilihat bahwa pada halaman tersebut terdapat pilihan
genre film yang disajikan dan juga fitur search untuk mencari film yang kita inginkan.

4.1.2 Halaman Trending Movies


Gambar 4.1.2 Halaman Trending Movie
Gambar 4.1.2 merupakan halaman yang menyajikan film-film yang sedang
trending pada saat membuka website tersebut. Pada halam ini kita bisa melihat film apa
yang sedang trending dan kita juga bisa menyimpan film tersebut ke dalam favorite
untuk bisa kita tonton selanjutnya.

4.1.3 Halaman Upcoming Movies

Gambar 4.1.3 Halaman Upcoming Movie


Gambar 4.1.3 merupakan halaman upcoming movie yang menampilkan film-
film yang akan segera tayang. Fitur ini berguna untuk user dapat mengetahui film apa
yang akan bisa ditontonnya.

4.1.4 Halaman Deskripsi Movies

Gambar 4.1.4 Halaman Deskripsi Movie


Gambar 4.1.4 merupakan halaman deskripsi film. Pada halaman ini user bisa
melihat deskripsi dari film seperti tentang apa film tersebut, kapan film ditayangkan,
genre film, pemain dan juga bisa menonton trailer film tersebut.
4.1.5 Halaman Login Google

Gambar 4.1.5 Halaman Login Google


Gambar 4.1.5 merupakan halaman Login menggunakan akun google.

4.1.6 Halaman Favorite

Gambar 4.1.6 Halaman Favorite


Gambar 4.1.6 merupakan halaman Favorite yang dimana pada halaman ini
dapat menampilkan film yang telah kita favorite kan untuk dapat kita lihat kembali
pada saat kita melaukan login.
4.1.7 Halaman Search Film

Gambar 4.2 Halaman Search Film


Gambar 4.1.7 merupakan halaman Search Film yang berguna untuk melakukan
pencarian terhadap film yang user ingin temukan, fitur ini bisa mendeteksi dari berapa
huruf yang diberikan dan selalu menampilkan hasil terhadap huruf yang diketik.

4.2 Pengujian Sistem


Black box testing, atau pengujian kotak hitam, adalah suatu metode pengujian
perangkat lunak yang fokus pada fungsionalitas sistem tanpa memperhatikan rincian
internal dari kode sumber atau struktur internal aplikasi. Dalam pengujian ini, penguji
hanya memiliki pengetahuan tentang spesifikasi eksternal atau input-output dari
sistem yang diuji, sementara detail internal seperti logika atau implementasi tidak
diungkapkan.

Beberapa karakteristik utama dari black box testing melibatkan pengujian


berdasarkan spesifikasi fungsional dan non-fungsional, termasuk pengujian kebutuhan
fungsional, pengujian integrasi, pengujian sistem, dan pengujian penerimaan
pengguna. Penguji akan merancang skenario pengujian dan menyusun input ke dalam
sistem untuk mengamati respons atau output yang dihasilkan. Tujuan utama dari black
box testing adalah untuk memastikan bahwa sistem berfungsi sesuai dengan
persyaratan yang ditetapkan, dan tidak memberikan informasi tentang struktur atau
logika internal aplikasi.
Black box testing sangat efektif dalam menilai fungsionalitas secara
keseluruhan, mencari bug atau kelemahan, serta memastikan bahwa sistem dapat
memenuhi kebutuhan pengguna dengan benar. Keuntungan lainnya adalah bahwa
pengujian ini dapat dilakukan tanpa pengetahuan detail tentang bagaimana sistem
diimplementasikan, sehingga memungkinkan tim pengujian untuk fokus pada perilaku
fungsional dan penggunaan sistem.

Dengan adanya pengujian black box testing ini diharapkan bisa membantu
peneliti untuk mengetahui website ini berjalan dengan lancar dan apabila ada
kesalahan maka bisa segera diperbaiki. Untuk hasil black box testing yang telah kami
uji terhadap 10 user hasilnya seperti ini :

Untuk link codingan akan dicantumkan di bawah ini :


https://github.com/puanabidah/movie-fav-app
BAB V
PENUTUP

5.1. Kesimpulan
Berikut merupakan kesimpulan terhadap project MovieFav.
1. Dengan adanya aplikasi website rekomendasi film, dapat membantu para
penggemar film agar lebih mudah dalam mencari referensi film serta dapat
memfavoritkan film-film yang ingin ditonton.
2. React.js dapat digunakan dalam bagian pengembangan untuk bagian front-end
dari halaman website.
3. TMDB API memungkinkan integrasi mudah untuk memasukkan informasi
film-film ke dalam situs web atau aplikasi, termasuk detail film, pencarian
film, gambar poster, filterisasi data, dan lain-lain. Ini dapat meningkatkan
kualitas konten dan menyediakan pengguna dengan sumber daya yang lebih
lengkap.
4. Framer Motion memberikan pengalaman pengguna yang lebih dinamis dan
menarik dengan menyediakan animasi halus saat berpindah antar halaman,
menampilkan daftar film, atau merespons interaksi pengguna.
5. Firebase Hosting memungkinkan pengembang dengan mudah mendeploy dan
mengelola situs web. Proses ini cepat dan terintegrasi dengan fitur lain dari
Firebase.
6. Firebase Google Authentication adalah bagian dari layanan otentikasi Firebase
yang memungkinkan pengguna untuk login ke situs web menggunakan akun
Google, sehingga dapat menyediakan pengalaman login yang ramah
pengguna, meningkatkan keamanan, dan mengurangi kompleksitas
pengelolaan otentikasi di situs web.
5.2. Saran
Berikut merupakan rekomendasi untuk dipertimbangkan demi penelitian
lanjutan:

1. Membuat sistem database yang dapat digunakan sebagai penyimpanan film


favorit untuk setiap user yang login.
2. Menambahkan platform third party lain untuk login dan registrasi, sehingga
tidak hanya bisa login dari Google authentication saja.
3. Menambahkan fitur untuk menyimpan daftar film yang ingin ditonton di
kemudian hari.
DAFTAR PUSTAKA

Golbeck, J. & Hendler, James. (2006). FilmTrust: Movie recommendations using trust
in Web-based social networks. 2006 3rd IEEE Consumer Communications
and Networking Conference, CCNC 2006. 1. 282- 286.
10.1109/CCNC.2006.1593032.
Mak, H. & Koprinska, Irena & Poon, Josiah. (2003). INTIMATE: a Web-based movie
recommender using text categorization. 602- 605. 10.1109/WI.2003.1241277.
Wakil, Karzan & Bakhtyar, Rebwar & Alaadin, Kozhin. (2015). Improving Web
Movie Recommender System Based on Emotions. International Journal of
Advanced Computer Science and Applications. 6.
10.14569/IJACSA.2015.060232.

Anda mungkin juga menyukai