Anda di halaman 1dari 18

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

Fakultas Ilmu Teknik Informatika 87006 Kelompok 1


Komputer Sistem informasi
00
TUGAS PERKULIAHAN

Algoritma dan
Struktur Data
Judul Tugas
Pendeteksian Plagiarisme Pada Judul
Jurnal Menggunakan Algoritma
Levensthein
Deskripsi Ketentuan
Latihan penelitian dengan metode Tugas bersifat openbook
statistik Diperbolehkan bertanya tetapi tidak
diperbolehkan minta dibuatkan :D

Luaran/Output Jadwal
Mahasiswa dapat melatih kemampuan Tugas dikumpulkan paling lambat satu
dalam meneliti dan melakukan minggu setelah tugas diberikan
perhitungan Algoritma

Penilaian
Bobot Kriteria
Bobot nilai yang digunakan adalah A Kesesuaian dan ketepatan format
– F dengan nilai tertinggi adalah A Kecepatan Penyerahan Tugas
dan terendah adalah F

Daftar Pustaka
1. Daftar Pustaka Minimal 5 Jurnal Lokal (Tahun 2014 – 2017)
2. Daftar Pustaka Minimal 5 Jurnal Internasional (Tahun 2014 – 2017)
DAFTAR ISI

ABSTRAKSI 3
ABSTRAK 3
RINGKASAN 4
BAGIAN I PENDAHULUAN 5
1.1 LATAR BELAKANG 5
1.2 PERUMUSAN MASALAH 5
1.3 PERUMUSAN TUJUAN 5
BAGIAN II LANDASAN TEORI 6
1.1 Teori Teknik Deteksi Plagiarisme 6
1.2 Algoritma Levenshtein Distance 8
BAGIAN III METODE ANALISIS 10
3.1 Jenis Penelitian 10
3.2 Langkah-Langkah Penelitian 11
3.4 Teknik atau Metode Analisis 11
3.4.1 Metode Pencocokan String Dinamis 11
3.4.2 Metode Pemograman Dinamis 11
BAGIAN IV ANALISIS DAN PEMBAHASAN 12
4.1 Pencarian dan penemuan kemiripan String dengan Metode Pencocokan Dinamis 12
4.1.1 Algoritma Deskriptif 12
4.1.2 Flowchart 13
4.1.3 Pseudocode 13
4.1.4 Hasil Testing Menggunakan Java 14
4.1.5 Perhitungan Algoritma Levensthein 15
BAB IV PENUTUP 17
4.1 Kesimpulan 17
4.2 Saran 17
DAFTAR PUSTAKA 18
ABSTRAKSI
Sekarang plagiarism menjadi salah satu masalah khususnya di bidang akademik.
Plagiarisme adalah tindakan penyalahguanaan, pencurian/perampasan, penerbitan,
pernyataan, atau menyatakan sebagai milik sendiri sebuah pikiran, ide, tulisan atau ciptaan
yang sebenarnya milik orang lain
Sebagian besar kasus plagiarisme ditemukan dibidang akademisi, berupa essai, jurnal,
laporan penelitian, dan sebagainya. Deteksi plagiarisme dilakukan dengan membandingkan
sebuah dokumen dengan dokumen lainnya. Tingkat kesamaan dokumen tersebut akan
menjadi dasar pendeteksian plagiarisme.
Maka dari itu penulis akan meniliti Algoritma Levensthein dengan Teknik atau
metode pencocokan string dan pemrogramman dinamis untuk memandingkan dua Judul
Jurnal. Dan hasil analisis menunjukkan bahwa metode pencocokan string dan pemrogramman
dinamis memang cocok untuk mencari perbedaan antara dua string.
Kata Kunci : program dinamis, levenshtein distance, edit distance.

ABSTRAK

Sekarang plagiarisme menjadi salah satu masalah khususnya di bidang akademik.


Plagiarisme adalah tindakan penyalahguanaan, pencurian / perampasan, isi, pernyataan,
atau pernyataan sebagai miliknya sebuah pikiran, ide, tulisan atau ciptaan yang sebenarnya
milik orang lain
Sebagian besar kasus plagiarisme ditemukan dibidang akademisi, esai, jurnal, laporan
penelitian, dan sebagainya. Deteksi plagiarisme dilakukan dengan membandingkan sebuah
dokumen dengan dokumen lainnya. Tingkat kesamaan dokumen tersebut akan menjadi dasar
pendeteksian plagiarisme.
Maka dari itu penulis akan meniliti Algoritma Levensthein dengan Teknik atau metode
pencocokan string dan pemrogramman dinamis untuk memandingkan dua Judul Jurnal. Dan
hasil analisis menunjukkan cara pencocokan string dan pemrogramman dinamis memang
cocok untuk mencari perbedaan antara dua string.

Keywords : dynamic program, levenshtein distance, edit distance.


RINGKASAN
Tujuan penelitian ini adalah menerapkan Algoritma Levensthein untuk mendeteksi
kemiripan judul jurnal, dimana penulis akan memandingkan satu judul jurnal dengan judul
yang lain. Sehingga penulis membuat judul Pendeteksian Plagiarisme Pada Judul Jurnal
Metode Levensthein. Dimana penulis akan menggunakan Teknik pencocokan string dan
program dinamis untuk analis nya. Di harapkan dengan adanya penelitian ini akan segera di
kembangkan aplikasi nya untuk mendeteksi apakah judul jurnal yang akan di buat sudah
pernah ada sebelumnya atau tidak. Dan juga diharapkan dengan adanya aplikasi untuk
mendeteksi kemiripan ini akan mengurangi banyaknya orang yang copy paste tanpa
mencantumkan sumber nya.
BAGIAN I PENDAHULUAN
1.1 LATAR BELAKANG
Seiring dengan berkembang nya teknologi, saat ini memang sangat membantu
pekerjaan menjadi lebih efektif dan efisien, khususnya di bidang akademik. Namun
bukan hanya memberi dampak positif, salah satu dampak negatif nya adalah tindakan
mengambil atau menjiplak hasil karya atau hasil ide orang lain tanpa mencantumkan
sumber asalnya.
Plagiarisme adalah tindakan penyalahguanaan, pencurian/perampasan,
penerbitan, pernyataan, atau menyatakan sebagai milik sendiri sebuah pikiran, ide,
tulisan atau ciptaan yang sebenarnya milik orang lain
Sebagian besar kasus plagiarisme ditemukan dibidang akademisi, berupa essai, jurnal,
laporan penelitian, dan sebagainya. Deteksi plagiarisme dilakukan dengan
membandingkan sebuah dokumen dengan dokumen lainnya. Tingkat kesamaan
dokumen tersebut akan menjadi dasar pendeteksian plagiarisme.
Untuk mengurangi tindak plagiarisme di butuhkan adanya Sistem Informasi
yang bisa komparasi teks untuk mendekteksi kemipiran dalam kedua teks tersebut.
Terdapat tiga metode dalam pendeteksian plagiarisme, yaitu metode pencarian kata
kunci, perbandingan teks lengkap dan dokumen fingerprinting. Pada metode
pencarian kata kunci, metode ini mencari kesamaan kata-kata yang sering muncul
dalam suatu dokumen dan kemudian akan dibandingkan dengan kata-kata yang sering
muncul pada dokumen lain. Sedangkan pada metode perbandingan teks lengkap
adalah dengan membandingkan seluruh isi teks. Pada metode dokumen fingerprinting
yaitu dengan mengubah struktur kalimat menjadi sebuah angka-angka yang kemudian
dibandingkan nilainya dengan dokumen lain yang sudah diubah juga ke dalam bentuk
angka-angka.[1]
Tujuan penelitian ini adalah menerapkan Algoritma Levensthein untuk
mendeteksi kemiripan judul jurnal, dimana penulis akan memandingkan satu judul
jurnal dengan judul yang lain. Sehingga penulis membuat judul Pendeteksian
Plagiarisme Pada Judul Jurnal Metode Levensthein.

1.2 PERUMUSAN MASALAH


1. Bagaimana mempelajari metode pencocokan string dengan menggunakan
pemrograman dinamis?

1.3 PERUMUSAN TUJUAN


1. Mempelajari metode pencocokan string dengan menggunakan pemrograman
dinamis.
BAGIAN II LANDASAN TEORI

1.1 Teori Teknik Deteksi Plagiarisme


Tindakan menjiplak adalah saat Anda menggunakan orang lain sebagai
penulis dan menganggap pekerjaan itu sebagai milik Anda sendiri. Plagiarisme
didefinisikan oleh S. Hannabuss sebagai "adalah tindakan meniru atau menyalin
atau menggunakan ciptaan orang lain atau gagasan tanpa izin dan
mempresentasikannya sebagai miliknya sendiri. "Plagiarisme mirip dengan
tindakan mencuri. Jika tindakan mencuri mobil, jam tangan, telepon seluler dan
lain-lain orang dapat dihukum oleh undang-undang, pastilah tindakan mencuri ide,
pemikiran, tulisan atau kata-kata juga dianggap salah. tidak berarti bahwa siswa
tidak boleh melihat karya atau sumber referensi lainnya. Mengambil pendapat dan
pendapat dari para ahli untuk meningkatkan pengetahuan adalah hal yang baik,
namun yang terpenting adalah memastikan bahwa asal sumber dan referensi yang
dikutip yang relevan adalah Dikreditkan Gagal untuk kredit penulis asli dianggap
sebagai plagiarisme Jika seseorang tertangkap karena melakukan plagiarisme di
sebuah perguruan tinggi atau universitas, konsekuensinya bisa sangat parah,
karena gagal dalam kursus untuk dikeluarkan dari institusi tersebut. Baru-baru ini
Pertahanan Jerman min Karl -Theodor zu mengundurkan diri setelah mencetak gol
di University of Bayreut di PhD.[6]
Jenis plagiarisme berdasarkan klasifikasinya diantaranya:Jenis plagiarisme
berdasarkan aspek yang dicuriyaitu kategori plagiarisme ide, plagiarisme isi,
plagiarisme kata, kalimat, paragraf, dan plagiarisme total. Klasifikasi berdasarkan
sengaja atau tidaknya plagiarism yaitu plagiarism engaja dan plagiarisme tidak
sengaja.Berdasarkan pada pola plagiarismeyaitu plagiarisme kata demi kata (word
for word plagiarizing) dan plagiarisme mosaik.Klasifikasi berdasarkan proporsi
atau persentase kata, kalimat, paragraf yang dibajak yaitu:
• Plagiarisme ringan, plagiarisme yang jumlah proporsi atau persentase kata,
kalimat, paragraf yang dibajak tidak melebihi 30 persen (< 30%).
• Plagiarisme sedang, plagiarisme yang jumlah proporsi atau persentase
kata, kalimat, paragraf yang dibajak antara 30- 70 persen.
• Plagiarisme berat, plagiarisme yang jumlah proporsi atau persentase kata,
kalimat, paragraf yang dibajak lebih dari 70 persen (>70%).
Kementerian Pendidikan Nasional (2010) memberikan definisi plagiat sebagai
perbuatan secara sengaja atau tidak sengaja dalam memperoleh atau mencoba
memperoleh kredit atau nilai untuk suatu karya ilmiah, dengan mengutip sebagian
atau seluruh karya dan/atau karya ilmiah pihak lain yang diakui sebagai karya
ilmiahnya, tanpa menyatakan sumber secara tepat dan memadai. Sedangkan
Moeliono (ed) dalam KBBI (1988:60) menyatakan: “Plagiarisme adalah
pengambilan karya orang lain, dan dipublikasikan sebagai karya miliknya.”
Rendahnya integritas akademik menyebabkan seseorang meninggalkan nilai-nilai
kejujuran, mengabaikan kehormatan dan cenderung untuk bertindak curang serta
memandang rendah pada kecerdasan orang lain (Yahya, 2011). Berdasarkan
pengertian tentang plagiarism, maka perlu dibuat sistem pendeteksi plagiarisme
untuk mengenali jenis plagiarisme yang telah dilakukan. Salah satu sistem deteksi
plagiarisme dihasilkan oleh Meyer zu Eissen, Stein, & Kulig (2007) yang bisa
dilihat pada Gambar 1 berikut.

Sistem deteksi plagiarisme menurut Meyer zu Eissen, Stein, & Kulig (2007)
terdiri dari accurate copy dan modified copy. Accurate copy dimaksudkan
sebagai perbandingan persis dengan dokumen model komparasi, misalnya basis
data skripsi, tesis, dan artikel yang disimpan di Perpustakaan (LKC). Selanjutnya,
modified copy terdiri dari language translation sebagai struktur analisis dan
transformation sebagai analisis kesamaan. Dalam penelitian ini uji kesamaan
(accurate copy) dilakukan dari dokumen yang kecil (small part of document) dan
dokumen yang besar (large part of document), terhadap basis data tugas akhir dan
karya ilmiah yang ada di Universitas Bina Nusantara sebagai reference corpus.
Banyak penelitian yang telah dilakukan untuk mengembangkan sistem deteksi
plagiarisme di Indonesia (Salmuasih, 2013; Nugroho, 2011; Kurniawati,
Puspitodjati, & Rahman, 2010; Purwitasari, Kusmawan, & Yuhana, 2011).
Penelitian ada yang ditujukan untuk kepentingan khusus, misalnya pengecekan
source code (Liliana, Budhi, Wibisono, & Tanojo, 2012). Selain itu, ada juga
yang meneliti tentang pengecekan plagiarisme cross language (Alfikri &
Purwarianti, 2012). Akan tetapi, belum ada penelitian terhadap pengembangan
sistem deteksi plagiarisme terhadap dokumen yang sudah ada. Selain itu juga,
penelitian yang ada sebelumnya bersifat teoretis sehingga tidak mudah diterapkan
atau digunakan di institusi lain.[2]

1.2 Algoritma Levenshtein Distance


Levenshtein distance adalah sebuah matriks string yang digunakan untuk
mengukur perbedaan atau jarak (distance) antara dua string. Nilai distance antara
dua string ini ditentukan oleh jumlah minimum dari operasi-operasi perubahan
yang diperlukan untuk melakukan transformasi dari suatu string menjadi string
lainnya. Operasi-operasi tersebut adalah penyisipan (insertion), penghapusan
(deletion), atau penukaran (subtitution). Levenshtein distance merupakan salah
satu algoritma yang dapat digunakan dalam mendeteksi kemiripan antara dua
string yang berpotensi melakukan tindak plagiarisme.[1]
Operasi-Operasi pada Levenshtein Distance
Operasi yang dilakukan dan diperbolehkan digunakan dalam menentukan
Levenshtein distance ini ada 3 macam operasi, yaitu:
a. Insertion (penyisipan) Operasi penyisipan sebuah karakter kedalam sebuah
string.
b. Deletion (penghapusan) Operasi penghapusan sebuah karakter dari sebuah
string.
c. Substitution (penukaran) Operasi penukaran sebuah karakter pada sebuah string
dengan karakter lain.
Misalnya terdapat dua string, yaitu CS = “ayu” dan ST = “adu”. Proses
perhitungan algoritma Levenshtein distance adalah sebagai berikut:
a. Membuat matriks berukuran (CS+1) kali (ST+1).
A D U
0 1 2 3
A 1
Y 2
U 3

b. Membuat matriks berukuran (CS+1) kali (ST+1).


Jika karakter ke-x CS berbeda dengan karakter ke-y ST, maka nilai cell
diperoleh dari nilai terkecil diantara:
a. Nilai cell(x, y-1) + 1.
b. Nilai cell(x, y) + 1.
c. Nilai cell (x-1, y) + 1.
Setelah setiap karakter selesai dibandingkan, nilai terakhir yang
didapatkan adalah 1. Hal ini berarti, jarak/distance dari string CS dan
ST adalah 1.[3]

A D U
0 1 2 3
A 1 0 1 2
Y 2 1 1 2
U 3 2 2 1

Langkah-Langkah Algoritma Levenshtein Distance


Algoritma Levenshtein distance berjalan mulai dari pojok kiri atas
sebuah array dua dimensi (matriks) yang telah diisi sejumlah karakter string
awal dan string target. Entri-entri pada matriks tersebut merepresentasikan
nilai terkecil dari transformasi string awal menjadi string target. Entri yang
terdapat pada ujung kanan bawah matriks adalah nilai distance yang
menggambarkan jumlah perbedaan dua string . Berikut ini adalah langkah-
langkah algoritma Levenshtein distance dalam mendapatkan nilai distance :
Misalkan S = String Awal, dan T = String Target

Langkah 1: Inisialisasi
a) Hitung panjang S dan T, misalkan m dan n
b) Buat matriks berukuran 0...m baris dan 0...n kolom
c) Inisialisasi baris pertama dengan 0...n
d) Inisialisasi kolom pertama dengan 0...m
Langkah 2: Proses

➢ Periksa S[i] untuk 1 < i < n


➢ Periksa T[j] untuk 1 < j < m
➢ Jika S[i] = T[j], maka entrinya adalah nilai yang terletak pada tepat
didiagonal atas sebelah kiri, yaitu d[i,j] = d[i-1,j-1]
➢ Jika S[i] ≠ T[j], maka entrinya adalah d[i,j] minimum dari:
• Nilai yang terletak tepat diatasnya, ditambah satu, yaitu d[i,j-1]+1
• Nilai yang terletak tepat dikirinya, ditambah satu, yaitu d[i-1,j]+1
• terletak pada tepat didiagonal atas sebelah kirinya, ditambah satu,
yaitu d[i-1,j-1]+1

Langkah 3: Hasil entri matriks pada baris ke-i dan kolom ke j, yaitu d[i,j]
Langkah 2 diulang hingga entri d[m,n] ditemukan.[1]

BAGIAN III METODE ANALISIS


3.1 Jenis Penelitian
Penelitian ini adalah penelitian eksperimental. Penelitian eksperimen adalah
penelitian di mana peneliti dengan sengaja membangkitkan timbulnya suatu kejadian
atau keadaan, dengan kata lain penelitian eksperimen adalah suatu cara untuk
mencari hubungan sebab akibat (causal effect) antara dua faktor yang sengaja
ditimbulkan oleh peneliti dengan mengeliminasi atau mengurangi atau menyisihkan
faktor-faktor lain yang bisa mengganggu. Eksperimen selalu dilakukan dengan
maksud untuk melihat akibat dari suatu perlakuan yang dilakukan oleh peneliti.
3.2 Langkah-Langkah Penelitian

3.4 Teknik atau Metode Analisis


3.4.1 Metode Pencocokan String Dinamis
Melakukan pencocokkan dengan melakukan pembandingan dari setiap
karakter CS dengan karakter ST satu per satu secara iteratif. Jika karakter ke-x
CS berbeda dengan karakter ke-y ST, maka nilai cell diperoleh dari nilai
terkecil diantara: a. Nilai cell(x, y-1) + 1. b. Nilai cell(x, y) + 1. c. Nilai cell
(x-1, y) + 1. Setelah setiap karakter selesai dibandingkan, nilai terakhir yang
didapatkan adalah 1. Hal ini berarti, jarak/distance dari string CS dan ST
adalah 1.[4]

3.4.2 Metode Pemograman Dinamis


Algoritma ini digunakan untuk mencari kecocokan antara dua string.
Dalam proses perbandingannya , string kedua dimanipulasi sehingga pada
akhirnya serupa dengan string pertama. Dalam proses perubahan string
tersebut dibuat sebuah tabel dua dimensi dengan baris sesuai dengan panjang
string terpanjang dan jumlah kolom sebanyak panjang string terpendek.

BAGIAN IV ANALISIS DAN PEMBAHASAN


4.1 Pencarian dan penemuan kemiripan String dengan Metode Pencocokan Dinamis

4.1.1 Algoritma Deskriptif


Langkah Penyelesaian :

1. Mulai
2. Masukan / Input Dokumen
3. Preprocessing
4. Baca Data Hasil Processing
5. Hitung Panjang String Awal (S) dan String Target (T)
6. Membuat Matriks String
7. Inisialisasi Matriks
d[0,0] = 0

d[i,0] = d[i-1,0]+1

d[0,j] = d[0,j-1]+1

8. Apakah Kata ke-i Pada String Awal Sama Dengan Kata ke-j Pada
String Target
9. Jika Ya
d=[i,j] = d[i-1,j-1]

10. Jika Tidak


d[i,j] Minimum Dari

d[i,j-1]+ 1

d[i-1,j]+ 1

d[i-1,j-1] +1

11. Cetak Nilai d[i,j]


12. Nilai d[i,j] Pada Pojok Kanan Bawah d[m,n] Adalah Nilai Distance
13. Selesai
4.1.2 Flowchart

4.1.3 Pseudocode
int LevenstheinDistance (char s[1…m], char t[1…n])

declare int d[0…m,0…n]

for i from 0 to m

d[i,0] := i

for j from 0 to n

d[0,j] := j

for i from 1 to m

for j from 1 to n

if s[i] = t[j] then d[I,j] := d[i-1.j-1]


else

d[i,j] := minimum

d[i-1, j] + 1,

d[i,j-1]+1,

d[i-1,j-1]+1

return d[m,n]

4.1.4 Hasil Testing Menggunakan Java


Syntax Program
Jika antara dua string atau dua judul tersebut sama sekali tidak ada perbedaan
maka hasil dari program menunjukkan bahwa levenshtein distance : 0

Jika antara dua string atau dua judul tersebut sama sekali tidak ada perbedaan
maka hasil dari program menunjukkan bahwa levenshtein distance>0

4.1.5 Perhitungan Algoritma Levensthein


Rumus Similarity

Sim = Similarity/ nilai kemiripan


Dis = jarak Levenshtein
MaxLength = nilai string terpanjang
Jika nilai similarity adalah 1, maka kedua string yang dibandingkan sama. Di
lain hal, jika similarity 0, maka kedua string yang dibandingkan tidak sama.
Contoh Kasus :
Ada dua string yaitu “KAU” dan “KUA”
Berapakah nilai kemiripannya?

Jawab :
a. Pertama hitung terlebih dahulu lavensthein distance nya
K A U
0 1 2 3
K 1 0 1 2
U 2 1 1 1
A 3 2 1 2

Angka dua yang di kotak merah merupakan nilai dari levensthein distance
nya
b. Setelah itu baru cari nilai kemiripan nya dengan rumus

2
𝑆𝑖𝑚 = 1 − (3)
𝑆𝑖𝑚 = 1 − 0,67
𝑆𝑖𝑚 = 0,33
Karena hasil nya kurang dari satu maka kedua string tersebut bisa
dinyatakan tidak sama
BAB IV PENUTUP

4.1 Kesimpulan
Metode pencocokan string dan metode pemrograman dinamis merupakan salah satu
Teknik yang bisa digunakan untuk mencari kecocokan antara dua string. Dalam proses
perbandingannya , string kedua dimanipulasi sehingga pada akhirnya serupa dengan string
pertama. Dalam proses perubahan string tersebut dibuat sebuah tabel dua dimensi dengan
baris sesuai dengan panjang string terpanjang dan jumlah kolom sebanyak panjang string
terpendek.

4.2 Saran
Menurut penulis masih banyak yang bisa dikembangkan dari Algoritma Levensthein
bukan hanya untuk membuat aplikasi pendeteksi kemiripan judul jurnal saja. Sehingga
penulis mengharapkan kedepannya banyak teknologi yang di kembangkan menggunakan
algoritma levensthein.
DAFTAR PUSTAKA

[1] B. P. Pratama1, S. A. Pamungkas.2016. ANALISIS KINERJA ALGORITMA


LEVENSHTEIN DISTANCE DALAM MENDETEKSI KEMIRIPAN DOKUMEN
TEKS.Jurnal.Jilid 6, No. 2, Hal. 131 - 143

[2] E. Ernawati, Anindito dan N.P.A Robertus 2014. SISTEM PENDETEKSI


PLAGIARISME UNTUK TUGAS AKHIR MAHASISWA DI UNIVERSITAS
BINA NUSANTARA , Hal. 542 - 543

[3] A. Hamidillah, B. S. Agung 2017. Aplikasi Pendeteksi Dugaan Awal Plagiarisme


Pada Tugas Siswa Dan Mahasiswa Berdasarkan Kemiripan Isi Teks Menggunakan
Algoritma Levenshtein Distance.Jurnal Pinter VOL 1.Hal 26-27

[4] A. Hamidillah, B. S. Agung 2017. Aplikasi Pendeteksi Dugaan Awal Plagiarisme


Pada Tugas Siswa Dan Mahasiswa Berdasarkan Kemiripan Isi Teks Menggunakan
Algoritma Levenshtein Distance.Jurnal Pinter VOL 1.Hal 27

[5] Goenawan W, Augustinus R, Sembiring K. PENERAPAN ALGORITMA EDIT


DISTANCE PADA PENDETEKSIAN PRAKTIK PLAGIAT. Hal 2

[5] G. L Ahmad & A AijazK.2016.Plagiarism Detection in Java Code. Hal 9

Anda mungkin juga menyukai