PERANCANGAN APLIKASI REKOMENDASI TEMAN B

Printed Journal of xxxxxx
Vol. x, No. x, (20xx), pp. xx-xx

PERANCANGAN APLIKASI REKOMENDASI TEMAN
BERBASIS WEB MENGGUNAKAN METODE DEPTH FIRST
SEARCH
Yoko Dayamond
Fakultas Sains dan Teknologi
Universitas Buddhi Dharma, Tangerang, Indonesia
yokodiamondz@gmail.com

Abstrak

Manusia pada dasarnya merupakan makhluk sosial yang tidak dapat hidup sendiri dan
saling menggantungkan hidupnya satu sama lain. Kebutuhan untuk bersahabat,
keinginan memiliki pasangan hingga keturunan, kebutuhan untuk dekat pada keluarga,
dan kebutuhan antarpribadi seperti kebutuhan untuk memberi dan menerima cinta. Tentu
dengan pesatnya perkembangan teknologi, mencari dan menemukan teman baru dapat
dilakukan dengan lebih mudah. Namun layanan media sosial yang ada sekarang ini
umumnya merekomendasikan teman-teman yang dirasa kurang tepat dan pertemanan
yang baik pada dasarnya memiliki beberapa kemiripan antara masing-masing individu.

Sehubungan dengan masalah tersebut dibuatlah sebuah aplikasi rekomendasi teman
berbasis web dengan menggunakan menggunakan metode depth first search. Proses
pembuatan aplikasi dilakukan dengan mengumpulkan analisa kebutuhan pemakai, hingga
dilanjutkan dengan perancangan program, dan kemudian dilakukan pengujian untuk
memastikan bahwa aplikasi dapat berjalan dengan semestinya. Selain mengumpulkan
analisa data terhadap proses pembuatan aplikasi, pengumpulan data dengan menggunakan
kuesioner juga dilakukan untuk mengetahui respon dari orang-orang terhadap aplikasi
yang dibuat. Penggunaan aplikasi rekomendasi teman berbasis web merupakan cara yang
baik untuk menemukan teman-teman baru. Hal itu terlihat dari respon positif dari user
mengenai tingkat kepuasan dari orang-orang yang direkomendasikan.

Kata kunci : Aplikasi Web, Depth First Search, PHP, Rekomendasi Teman

1.

Pendahuluan

Manusia pada dasarnya merupakan mahkluk sosial yang tidak dapat hidup
sendiri dan saling menggantungkan hidupnya satu sama lain. Hal itu tidak lepas
dari salah satu kebutuhan manusia mengenai kebutuhan akan rasa sayang yang

dijelaskan pada Teori Hierarki Kebutuhan (Boone & Kurtz, 2007). Kebutuhan ini
meliputi dorongan untuk bersahabat, keinginan memiliki pasangan dan keturunan,
kebutuhan untuk dekat pada keluarga dan kebutuhan antarpribadi seperti

Printed Journal of xxxxxx
Vol. x, No. x, (20xx), pp. xx-xx

kebutuhan untuk memberi dan menerima cinta.Setiap orang ingin setia kawan dan
butuh kesetiakawanan.Setiap orang pun ingin mempunyai kelompoknya sendiri,
ingin punya "akar" dalam masyarakat.Setiap orang butuh menjadi bagian dalam
sebuah keluarga, sebuah kampung, suatu marga, dan lain-lain.
Layanan sosial media yang ada sekarang ini umumnya mencari rekomendasi
teman berdasarkan grafik sosial yang saling menghubungkan antara satu orang
dengan orang lainnya, dengan beranggapan bahwa teman orang tersebut adalah
temannya juga (Gaikwad, et al., 2016). Dalam artian ketika orang pertama
memiliki seorang teman yaitu orang kedua, dan orang kedua memiliki seorang
teman yaitu orang ketiga, maka secara tidak langsung orang ketiga memiliki
hubungan secara grafik sosial dengan orang pertama. Hal itu dapat dikatakan
kurang tepat bila orang pertama tidak memiliki kemiripan dengan orang ketiga.
Algoritma DFS mampu bekerja dengan baik dalam menyelesaikan masalah

pada beberapa kasus, mulai dari sistem pakar, search engine, hingga permainan
(game). DFS itu sendiri merupakan salah satu algoritma pencarian solusi yang
digunakan di dalam kecerdasan buatan dimana pencarian dilakukan pada suatu
struktur pohon yaitu dimulai pada satu node dalam setiap level dari yang paling
kiri. Jika pada level yang paling dalam pada bagian kiri, solusi belum ditemukan,
maka pencarian dilanjutkan pada node sebelah kanan dan seterusnya hingga yang
paling kanan (Yuwono, et al., 2016).
2.

Tinjauan Pustaka
Depth-first search diterapkan dalam bentuk grafik yang umumnya berbentuk
pohon, di mulai pada sebuah titik awal. Panyelesaian dalam Depth-first search
melintasi setiap simpul (node) pada grafik pohon, mulai dari akar simpul atau
simpul awal, proses pertama, memeriksa, atau menginspeksi akar/simpul awal.
Selanjutnya mempertimbangkan simpul tetangga dari akar/simpul awal. Depthfirst search akan terus mencari pada setiap sub pohon tetangga hingga mencapai
simpul paling bawah (Deshpande, 2008).

Gambar 2.1 Grafik pohon DFS
Sumber : (Deshpande, 2008)


Printed Journal of xxxxxx
Vol. x, No. x, (20xx), pp. xx-xx

Urutan simpul yang terbentuk pada grafik pohon depth first search di atas
adalah A B D H C E F I G J. Adapun kode programnya dapat dituliskan sebagai
berikut:
depth(vertex v)
{
visit_vertex(v);
for each neighbor w of v
if w is unvisited
{
/* call depth first recursively*/
Depthfs(w);
Add edge vw to tree T
}
}

Secara keseluruhan DFS menginisialisasi beberapa tanda, dimana membantu
dalam menentukan titik yang sudah dikunjungi. Dalam kasus ini tidak ada titik

yang dikunjungi dua kali, karena DFS menandai setiap titik yang dikunjunginya
pertama kali.
Aturan untuk DFS adalah sebagai berikut (Nugroho, 2009):
a.

Jika mungkin, lakukan kunjungan pada simpul-simpul pendamping (adjacent
vertex ) yang belum pernah dikunjungi, tandai dan masukkan ke antrian.

b.

Jika mengeluarkan suatu simpul dari suatu antrian, akan sampai pada simpul
di bawahnya. Jika di bawahnya bukan simpul pendamping yang belum
dikunjungi, maka dikeluarkan lagi. Demikian selanjutnya hingga tidak bisa
dilakukan lagi.

c.

Jika sudah tidak bisa dilakukan lagi, berarti algoritma DFS telah selesai.

Faktor kunci untuk algoritma DFS adalah kemampuannya untuk menemukan

simpul-simpul yang belum dikunjungi. Adapun kelebihan dan kekurangan dari
penerapan algoritma DFS antara lain (Sutojo, et al., 2011):
a.

Kelebihan:
1) Membutuhkan memori yang relatif kecil karena hanya simpul-simpul
pada lintasan yang aktif saja yang disimpan.
2) Secara kebetulan, metode DFS akan menemukan solusi tanpa harus
menguji lebih banyak lagi dalam ruang keadaan.

b.

Kekurangan:

Printed Journal of xxxxxx
Vol. x, No. x, (20xx), pp. xx-xx

1) Memungkinkan tidak ditemukannya tujuan yang diharapkan.
2) Hanya akan mendapatkan 1 solusi pada setiap pencarian.
3. Metodologi

3.1 Deskripsi Analisis
Penelitian dilakukan untuk mengetahui cara kerja algoritma depth first seacrh
(DFS) pada kasus rekomendasi teman. Karena diketahu DFS mampu bekerja
dengan baik dalam menyelesaikan masalah pada beberapa kasus dan jarang
ditemukan sebuah penelitian mengenai penggunaan DFS pada kasus rekomendasi
teman. Selain itu kebutuhan manusia akan teman tidak dapat dihindari. Sehingga
penelitian juga dilakukan untuk membantu mempermudah orang-orang untuk
menemukan teman baru sesuai dengan kesamaan dan kesukaan pada diri mereka
masing-masing.
3.2 Partisipan
Ada sebanyak 28 partisipan secara acak dari berbagai profesi dan usia yang
terdiri dari 14 partisipan laki-laki dan 14 partisipan perempuan. Kegiatan
pengumpulan data menggunakan kuesioner untuk pengujian penelitian dilakukan
pada bulan Juli 2017. Pembagian usia partisipan diantaranya 14 - 45 tahun.
3.3 Prosedur
Dalam penelitian ini digunakan skala Lickert, dimana pertanyaan terdiri dari 5
pertanyaan fungsional aplikasi dan 3 pertanyaan non-fungsional aplikasi. Skala
Lickert yang digunakan pada pertanyaan fungsional aplikasi terdiri dari [A] respon
positif dan [B] respon negatif. Sedangkan skala Lickert pada pertanyaan nonfungsional aplikasi terdiri dari [A] respon positif, [B] respon negatif, dan [C]
respon netral. Dalam pengumpulan data ini melibatkan 28 orang yang sekiranya

membutuhkan lebih banyak teman baru dari yang mereka miliki sekarang ini.
3.4 Perancangan Algoritma
Algoritma utama yang digunakan pada perancangan aplikasi ini adalah untuk
menentukan tingkat prioritas (urutan) kemiripan antara satu user dengan user
lainnya. Adapun perancangan algoritma utama yang akan digunakan dalam
pembuatan aplikasi ini adalah sebagai berikut:
1.

Memuat data user dari database.

2.

Melakukan proses rekomendasi:
a) Melakukan pengecekan data userA dengan user B.
b) Cek hobi.
c) Hasil dari cek hobi didapat, kemudian cek lokasi.

Printed Journal of xxxxxx
Vol. x, No. x, (20xx), pp. xx-xx


d) Hasil dari cek lokasi didapat, kemudian cek usia
e) Hasil dari cek usia didapat
f) Mencari hasil yang sesuai berdasarkan hasil-hasil yang diperoleh; urutan
dimulai dari 1.
g) Jika userA dengan user B memiliki memiliki hasil yang sesuai maka
lanjutkan ke langkah h, jika tidak kembali ke langkah f dimana nilai urutan
ditambah dengan 1.
h) Menentukan urutan user B, dimana urutan sudah dikalkulasi berdasarkan
langkah f dan langkah g.
3.

Mencari user lain dalam database.

4.

Jika menemukan user lain dalam database maka kembali ke langkah 2, jika
tidak maka melanjutkan ke langkah 5.

5.


Mengurutkan user-user yang sudah diselesksi dan diurutkan berdasarkan
jumlah urutan mulai dari urutan terkecil hingga urutan terbesar, dimana urutan
terbesar adalah urutan ke 8.

6.

Hasil dari urutan ditampilkan.

Gambar 3.1 Pohon biner DFS dalam perancangan aplikasi

Misalnya jika user A dengan user B memiliki hasil seleksi berturut-turut (s),
(b), dan (s), dimana (s) adalah sama dan (b) adalah beda. DFS akan mulai mencari
hasil urutan mulai dari A – B – D – 1, yaitu (s), (s), dan (s). Namun (s), (s), dan (s)
tidak sama dengan (s), (b), dan (s) sehingga proses dilanjutkan menuju A – B – D
– 2, yaitu (s), (s), dan (b). Namun (s), (s), dan (b) tidak sama dengan (s), (b), dan
(s) sehingga proses dilanjutkan menuju A – B – E – 3, yaitu (s), (b), dan (s) .
Hasil ini sesuai dimana (s), (b), dan (s) sama dengan (s), (b), dan (s), sehingga
user B memiliki urutan 3 yang berarti tingkat prioritas user B adalah yang ketiga.

Printed Journal of xxxxxx

Vol. x, No. x, (20xx), pp. xx-xx

4. Hasil Penelitian
4.1 Pengumpulan Data
Tabel 4.1 Demografi profil (N=28)

Kategori Pengukuran
Jenis Kelamin
Laki-laki
Perempuan
Total
Usia (tahun)
11-15
16-20
21-25
26-30
31-35
36-40
41-45
Total

Jumlah

Persentase (%)

14
14
28

50.0%
50.0%
100%

1
2
14
4
4
1
2
28

3.57%
7.14%
50.0%
14.28%
14.28%
3.57%
7.14%
99.98%

Terdapat 28 responden dalam penelitian ini yang terdiri dari usia 11-15 tahun
sebanyak 3.57%, usia 16-20 tahun sebanyak 7.14%, usia 21-25 tahun sebanyak
50.0%, usia 26-30 tahun sebanyak 14.28%, usia 31-35 tahun sebanyak 14.28%,
usia 36-40 tahun sebanyak 3.57%, dan usia 41-45 tahun sebanyak 7.14%. Namun
dalam penelitian ini tidak ditemukan responden dengan usia lebih rendah dari 11
tahun dan lebih tua dari 45 tahun.
4.2 Uji Korelasi dan Uji Validitas
Selanjutnya adalah melakukan pengujian validitas dengan maksud bahwa
pertanyaan yang diajukan bersifat valid atau tidak. Pada uji baik masing validitas
dan reliabilitas akan terbagi menjadi 2 sesi yaitu pertanyaan fungsional dan nonfungsional. Dimana pertanyaan fungsional mewakili nomor 3, 4, 5, 6, dan 8.Serta
pertanyaan non-fungsional mewakili nomor 1, 2, dan 7. Setelah melakukan proses
perhitungan diperoleh hasil perbandingan korelasi sebagai berikut:
Tabel 4.2 Uji validitas pertanyaan fungsional

No. pertanyaan
Pertanyaan 3
Pertanyaan 4
Pertanyaan 5
Pertanyaan 6
Pertanyaan 8

rxy

rtabel
.435
.435
.467
.469
.807

.374
.374
.374
.374
.374

Keterangan
Valid
Valid
Valid
Valid
Valid

Printed Journal of xxxxxx
Vol. x, No. x, (20xx), pp. xx-xx

Tabel 4.3 Uji validitas pertanyaan non-fungsional

No. pertanyaan
Pertanyaan 1
Pertanyaan 2
Pertanyaan 7

rxy

rtabel
.627
.431
.544

.374
.374
.374

Keterangan
Valid
Valid
Valid

Dengan mencari nilai rtabel dengan N = 28 pada sigifikansi 5%. Kemudian
nilai korelasi (rhitung) yang diperoleh diatas dibandingkan dengan r tabel. Dengan
demikian, diketahui bahwa semua nilai rhitung lebih besar dari nilai r tabel, yang
artinya semua pertanyaan mengenai fungsional aplikasi dan non-fungsional
aplikasi dari kuesioner tersebut dinyatakan valid.
4.3 Uji Reliabilitas
Setelah melakukan uji validitas, langkah selanjutnya adalah melakukan uji
reliabilitas dengan tujuan mengetahui apakah hasil pengolahan kuesioner dapat
dipercaya atau tidak. Uji reliabilitas dilakukan dengan menggunakan reliabilitas
Alpha Cronbach’s.
Tabel 4.4 Uji reliabilitas pertanyaan fungsional

Reliability Statistics
Cronbach's
N of Items
Alpha
.682
5
Tabel 4.5 Uji reliabilitas pertanyaan non-fungsional

Reliability Statistics
Cronbach's
N of Items
Alpha
.603
3
Dari tabel di atas diketahui bahwa nilai Alpha dari pertanyaan fungsional
sebesar 0.682 dan nilai Alpha dari pertanyaan non-fungsional sebesar 0.603,
kemudian nilai ini dibandingkan dengan nilai N = 28 yang dicari pada distribusi
nilai rtabel signifikansi 5% dan diperoleh nilai r tabel sebesar 0.374. disimpulkan
Alpha = 0.682 > rtabel = 0.374 dan Alpha = 0.603 > rtabel = 0.374 yang artinya
bahwa hasil dari kuesioner pertanyaan fungsional aplikasi dan non-fungsional
aplikasi dikatakan terpercaya.
4.4 Uji Analisis Regresi Linier
Uji analisis regresi linier dimaksudkan untuk mengukur besarnya perngaruh
suatu variabel bebas terhadap variabel terikat, yang dalam artian dalam penelitian
ini melihat pengaruh hasil kuesioner terhadap hasil penelitian. Adapun setelah

Printed Journal of xxxxxx
Vol. x, No. x, (20xx), pp. xx-xx

dilakukan uji linearitas sebelumnya sehingga memperoleh hasil pengujian
terhadap kuesioner pertanyaan fungsional antara lain sebagai berikut:
Tabel 4.6 Uji regresi linier fungsional

ANOVAb
Sum of
Model
Squares
1
Regression 22.801
Residual
Total

3.628
26.429

df
4
23
27

Mean
Square
5.700

F
36.141

Sig.
.000

.158

Berdasarkan data di atas, didapatkan nilai Sig. sebesar 0.000 < 0.05 maka
dapat disimpulkan bahwa hipotesis diterima, artinya variabel pertanyaan 3, 4, 5,
dan 6 berpengaruh terhadap hasil penelitian, adapun pertanyaan 8 tidak
berpengaruh terhadap penelitian karena pertanyaan 8 tidak lulus uji linearitas.
4.5 Pembahasan
Setelah melakukan pengujian pada hasil kuesioner sebelumnya dapat
disimpulkan bahwa pertanyaan-pertanyaan yang diajukan dalam kuesioner valid,
dapat dipercaya, dan berhubungan dengan penelitian dilakukan. Nilai akurasi yang
diperoleh antara lain 78.57% user merasa puas dengan orang-orang yang
direkomendasikan, 89.29% user berminat untuk “menjadikan teman” berdasarkan
orang-orang yang direkomendasikan, dan 92.86% user mengatakan bahwa
aplikasi yang dirancang membantu user dalam mencari menemukan teman baru.
Penggunaan metode DFS pada kasus rekomendasi teman dikatakan cukup
berjalan dengan baik hal ini ditandai dari respon positif para responden yang puas
terhadap orang-orang yang direkomendasikan. Selain itu aplikasi yang dirangcang
dikatakan membantu dalam menemukan teman baru dan hal ini juga
mempengaruhi tingkat keberhasilan DFS dalam mencari dan menemukan teman
baru. Namun cukup banyak dari responden yang tidak puas dengan fitur-fitur dari
aplikasi yang dirancang, akan tetapi hal itu tidak terlalu berpengaruh terhadap
penelitian karena dengan atau tanpa fitur-fitur tambahan tersebut tidak
mempengaruhi algoritma DFS dalam mencari dan menemukan teman baru, karena
fokus dalam penelitian ini hanyalah sebatas rekomendasi teman menggunakan
metode DFS.
5.

Kesimpulan
Kesimpulan yang diperoleh dalam penelitian ini antara lain sebagai berikut:
aplikasi yang dirancang dapat membantu orang-orang untuk mencari dan
menemukan teman baru. Mencari dan merekomendasikan teman berdasarkan
hobi, lokasi, dan usia menggunakan metode depth first search dapat dikatakan
baik, hal ini terlihat dari tingkat kepuasan dan minat dari user terhadap orang-

Printed Journal of xxxxxx
Vol. x, No. x, (20xx), pp. xx-xx

orang yang direkomendasikan. Aplikasi ini memberikan informasi yang cukup
lengkap mengenai data diri orang lain dimana hal ini dapat menjadi pertimbangan
pribadi kepada user.
Referensi
Boone, L. E., & Kurtz, D. L. (2007). Pengantar Bisnis Kontemporer. Jakarta: Salemba
Empat.
Deshpande, N. (2008). Artificial Inteligence. Nashik: Technical Publication Pune.
Gaikwad, N., Bhanushali, A., Mishra, D., & Nirgude, R. (2016). Friend Book: - A Friend
Recommending System Through Life-Style. International Research Journal of
Engineering and Technology , 220-224.
Nugroho, A. (2009). Algoritma dan Strutur Data dengan C#. Yogyakarta: Andi.
Sutojo, T., Mulyanto, E., & Suhartono. (2011). Kecerdasan Buatan. Yogyakarta: Andi.
Yuwono, D. T., Fadlil, A., & Sunardi. (2016). Perbandingan Algoritma Breadth First
Search dan Depth First Search Sebagai Focused Crawler. Annual Research
Seminar 2016 , 105-110.