pengguna, analisis perilaku, pengembangan dan perbaikan algoritma ataupun teknik rekomendasi itu sendiri. Teknologi rekomendasi ini didasarkan pada asumsi implisit
bahwa kebutuhan pengguna dan preferensi mereka dapat dimodelkan dalam pemilihan produk tertentu dengan menerapkan algoritma atau teknik perekomendasian yang tepat
dan pengetahuan knowledge yang diberikan ke sistem Ricci, et al. 2011. Menurut Burke, 2000, mengelompokkan tiga tipe pendekatan dalam sistem
rekomendasi: a collaborative filtering atau social-filtering, b content-based, c knowledge-based.
2.5. Personalized Recommendation Engine
Personalized recommendation engine merupakan teknik merekomendasikan sesuatu, bisa produk, artikel, atau apa saja kepada pengguna dengan memperhatikan perilaku
atau aktivitas pengguna terhadap satu sistem yang mereka gunakan. Sistem mencatat interaction history setiap pengguna di sistem dan mempelajari preferensi tersebut
terhadap produk, artikel, atau apa saja yang ingin dicari. Dalam hal minimnya preferensi pengguna terhadap sistem yang digunakan, sistem dapat langsung memberikan
rekomendasi dengan mencari kesamaan dari preferensi pengguna lain yang mirip dengan satu pengguna tersebut.
2.6. Unified Modelling Language UML
Unified Modelling Language UML merupakan notasi atau diagram yang digunakan untuk menjelaskan, memvisualisasikan, dan memodelkan dokumentasi sistem
perangkat lunak. UML bukan metode pengembangan Nugroho, 2010. Yang berarti UML tidak akan menjelaskan apa yang harus dilakukan pertama kali atau apa yang akan
dilakukan selanjutnya atau bagaimana mendesain satu sistem, tetapi UML berguna untuk membantu memvisualisasikan desain dan komunikasi yang ada di perangkat
lunak. UML lebih cocok untuk desain perangkat lunak berorientasi objek Fowler, 2003. UML terdiri dari banyak elemen model yang merepresentasikan bagian yang
berbeda dari satu sistem perangkat lunak. Elemen-elemen UML ini berguna untuk
Universitas Sumatera Utara
menciptakan diagram yang merepresentasikan bagian tertentu, atau gambaran umum sistem yang akan dikembangkan.
Secara garis besar UML terbagi dalam dua tipe diagram, yaitu:
i Diagram Struktur
Diagram struktur ini menangani visualisasi, spesifikasi, dan dokumentasi aspek statik dari satu sistem. Diagram struktur terdiri dari:
a. Diagram kelas class diagram
b. Diagram objek object diagram
c. Diagram pengembangan deployment diagram
d. Diagram komponen component diagram
ii Diagram Perilaku
Diagram perilaku ini menangani visualisasi, spesifikasi, dan dokumentasi aspek dinamis dari satu sistem. Diagram perilaku ini terdiri dari:
a. Diagram use case use case diagram
b. Diagram sekuens sequence diagram
c. Diagram kolaborasi collaboration diagram
d. Diagram state state diagram
e. Diagram aktifitas activity diagram
f. Diagram relasi entitas entity relationship diagram
2.6.1. Diagram use case
Diagram use case mendeskripsikan relasi dan kebutuhan antara kumpulan use case dan actor yang berkaitan di dalam proses. Elemen-elemen yang ada pada use case diagram:
1 Use Case
Use case juga merupakan deskripsi dari interaksi antara pengguna sistem dan sistem itu sendiri. Use case merepresentasikan antarmuka eksternal sistem dan menentukan
bentuk kebutuhan apa yang sistem harus lakukan. Ada beberapa poin yang harus diperhatikan ketika membuat use case:
2 Setiap use case berhubungan dengan paling tidak satu aktor
Universitas Sumatera Utara
3 Setiap use case memiliki inisiator contohnya, satu aktor
4 Setiap use case mengarah pada hasil yang relevan business value
Gambar 2.8 Use Case
2. Aktor
Aktor merupakan entitas eksternal di luar sistem yang berinteraksi dengan, yaitu siapa atau apa yang menggunakan sistem dengan melibatkan use case. Aktor bisa manusia
ataupun sistem terotomatisasi. Aktor disini merepresentasikan peran roles dan bukan pemakai individu dari sistem. Aktor harus memiliki nama yang menyatakan peran. Misal
pada gambar 2.x berikut.
Gambar 2.9 Contoh Aktor Pada Use Case Diagram
3. Keterhubungan Relationship
Relasi antar use case yang satu dengan yang lain berupa generalisasi use case yaitu: a.
Include, perilaku use case merupakan bagian dari use case lain b.
Extend, perilaku use case memperluas use case yang lain
Gambar 2.10 Keterhubungan
Universitas Sumatera Utara
2.6.2. Spesifikasi use case
Spesifikasi use case merepresentasikan gambaran lengkap mengenai use case itu sendiri. Spesifikasi perekomendasian soal-soal di platform UVa online judge dilakukan
berdasarkan caseyang ada pada use case diagram. Spesifikas use case terdiri dari: a.
Tujuan use case, memaparkan tujuan case yang terjadi b.
Deskripsi, memaparkan apa yang terjadi pada case c.
Skenario, memaparkan cara kerja case mulai dari awal hingga akhir pada proses d.
Kondisi awal, keadaan yang terjadi sebelum case berlangsung e.
Kondisi akhir, keadaan atau hasil akhir setelah case berlangsung
2.6.3. Sequence diagram
Diagram Sekuens menggambarkan pertukaran pesan atau interaksi yang terjadi antar objek di dalam dan di sekitar sistem pengguna, tampilan, dan lainnya. Contohnya,
pemanggilan fungsi antar objek pada situasi rentang waktu tententu secara spesifik. Berikut elemen-elemen yang terdapat dalam diagram sekuens.
Tabel 2.3 Elemen-elemen diagram sekuens
No Gambar
Nama Penjelasan
1 Aktivasi
Menggambarkan aktivitas
objek
2 Aktor
Menggambarkan aktor suatu objek
3 Boundary
Berhubungan dengan proses input
output ataupun
interface
Universitas Sumatera Utara
4 Controller
Berhubungan dengan proses
5 Entity
Berhubungan dengan input output data
6 Message Arrow Menggambarkan
alur proses,
perintah atau
pengiriman data
7 Object Lifeline
Membuat batasan objek
2.6.4. Activity diagram
Diagram aktivitas menggambarkan alur aktivitas dalam satu sistem. Diagram aktivitas merupakan bentuk khusus dari state diagram. Berikut elemen-elemen diagram
aktivitas.
Tabel 2.4 Elemen-elemen Pada Diagram Aktivitas
Simbol Keterangan
Starting point Ending point
Joining Forking
Universitas Sumatera Utara
Grouping
2.7. Penelitian Terdahulu