Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
SKRIPSI
PENERAPAN BASIS DATA GRAF UNTUK ANALISIS DATA PADA
MEDIA SOSIAL MENGGUNAKAN NEO4J
APPLICATION OF GRAPH DATABASE FOR DATA ANALYSIS ON
SOCIAL MEDIA USING NEO4J
CHESSA PANDU ADITIRTA
155610037
PROGRAM STUDI SISTEM INFORMASI
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AKAKOM
YOGYAKARTA
2019
i
SKRIPSI
PENERAPAN BASIS DATA GRAF UNTUK ANALISIS DATA PADA
MEDIA SOSIAL MENGGUNAKAN NEO4J
APPLICATION OF GRAPH DATABASE FOR DATA ANALYSIS ON
SOCIAL MEDIA USING NEO4J
HALAMAN JUDUL
Diajukan sebagai salah satu syarat untuk menyelesaikan studi jenjang strata satu (S1)
Program Studi Sistem Informasi
Sekolah Tinggi Manajemen Informatika dan Komputer
AKAKOM
Yogyakarta
Disusun Oleh
CHESSA PANDU ADITIRTA
155610037
PROGRAM STUDI SISTEM INFORMASI
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AKAKOM
YOGYAKARTA
2019
ii
iii
iv
HALAMAN MOTTO
“Lakukan sesuatu selagi sempat. Sebelum Anda benar-benar tak punya
kesempatan untuk menyempatkan sesuatu itu.”
v
HALAMAN PERSEMBAHAN
Allhamdulillahirobbil’alamin,
Puji syukur saya panjatkan kepada Allah SWT, karena telah memberikan
nikmat dan kemudahan dalam menyelesaikan Skripsi di STMIK AKAKOM
Yogyakarta.
Skripsi ini saya persembahkan untuk :
1. Bapak Slamet dan Ibu Trias Rijanarti
Sebagai Orang Tua dari saya yang telah mendukung dan mensupport
baik dari segi materi, motivasi maupun do’a agar terselesaikannya Skripsi
ini dan saya persembahkan Skripsi ini kepada Bapak dan Ibu, sebagai
penyelesaian Hak orang tua saya terhadap semua biaya pendidikan saya.
2. Bagas Adisurya
Sebagai adik yang telah menyemangati dan mendukung saya agar
menyelesaikan pembuatan Skripsi ini.
3. Teman – teman Angkatan 2015
Untuk seluruh teman - teman angkatan 2015 seperjuangan yang tidak
bisa saya sebutkan namanya satu persatu. Terima kasih sudah sering
mengingatkan dan memberi solusi ketika menemui masalah, sudah
memberikan semangat dan energi positif untuk segera menyelesaikan
Skripsi dan untuk wisuda bareng. Semangat juga bagi yang belum wisuda.
Tidak lupa saya ucapkan terima kasih banyak kepada Ibu Deborah
Kurniawati, S.Kom, M.Cs. sebagai dosen wali sekaligus dosen pembimbing
skripsi saya yang senantiasa mengingatkan serta mendorong dengan
motivasi-motivasi, Ibu Pulut Suryati, S.Kom, M.Cs. sebagai dosen penguji
yang telah melulusan skripsi saya ini. Kepada Ibu Deborah Kurniawati,
S.Kom., M.Cs. dan Bapak Edy Prayitno, S.Kom., M.Eng sebagai dosen
yang memberikan pengalaman dan ilmu di luar perkuliahan yang berupa
pengabdian masyarakat, serta Ibu Pulut Suryati, S.Si., M.Cs. sebagai dosen
yang selalu mendampingi saya saat mengikuti lomba dan Program
vi
Kreatifitas Mahasiswa. Kepada Bapak Dr. Bambang Purnomosidi Dwi
Putranto, S.Kom., S.E., MMSI. selaku dosen yang mengampu mata kuliah
big data sehingga menjadi inspirasi penulis dalam mengambil topik graph
database. Kepada Bapak M. Agung Nugroho, S.Kom., M.Kom. sebagai
dosen yang memberikan bahan referensi berupa tutorial mengenai
penggunaan graph database neo4j sehingga memudahkan penulis untuk
dapat memahami penggunaan neo4j tersebut. Kepada Ibu Dini Fakta Sari,
S.T., M.T. dan Ibu Sri Redjeki, S. Si, M.Kom. sebagai dosen yang
memberikan kesempatan untuk mengikuti pelatihan mengenai big data
sehingga memperluas pengetahuan penulis mengenai penggunaan graph
database pada big data dalam lapangan. Dan untuk semua dosen STMIK
AKAKOM telah membagikan ilmu yang kalian miliki. Semoga ilmu yang
kalian berikan dapat bermanfaat.
vii
DAFTAR ISI
HALAMAN JUDUL .............................................................................................. i
HALAMAN PENGESAHAN ............................................................................... ii
HALAMAN PERNYATAAN .............................................................................. iii
HALAMAN MOTTO .......................................................................................... iv
HALAMAN PERSEMBAHAN ........................................................................... v
DAFTAR ISI ........................................................................................................ vii
DAFTAR GAMBAR ............................................................................................ x
DAFTAR TABEL ............................................................................................... xii
KATA PENGANTAR ........................................................................................ xiii
ABSTRAK ........................................................................................................... xv
ABSTRACT ......................................................................................................... xvi
BAB I PENDAHULUAN ...................................................................................... 1
1.1. Latar Belakang Masalah .............................................................................. 1
1.2. Rumusan Masalah ........................................................................................ 4
1.3. Ruang Lingkup ............................................................................................ 4
1.4. Tujuan Penelitian ......................................................................................... 5
1.5. Manfaat Penelitian ....................................................................................... 5
1.6. Sistematika Penulisan .................................................................................. 6
BAB II TINJAUAN PUSTAKA DAN DASAR TEORI .................................... 8
2.1. Tinjauan Pustaka .......................................................................................... 8
2.2. Dasar Teori ................................................................................................ 11
2.2.1. Teori Graf ...................................................................................... 11
2.2.2. Elemen-elemen dari Graf .............................................................. 11
2.2.3. Basis Data dan NoSQL .................................................................. 14
2.2.4. Graph Database ............................................................................ 15
2.2.5. Neo4j ............................................................................................. 16
viii
2.2.6. CQL............................................................................................... 16
2.2.7. Pemodelan Data pada Neo4j ......................................................... 17
2.2.8. Bahasa Pemrograman Python ....................................................... 18
2.2.9. Neo4j Bolt Driver ......................................................................... 18
2.2.10. Tweepy .......................................................................................... 19
2.2.11. Graph Algorithm Degree Centrality ............................................. 20
2.2.12. Graph Algorithm Page Rank ......................................................... 21
BAB III METODE PENELITIAN .................................................................... 23
3.1. Cara dan Metode Penelitian ...................................................................... 23
3.1.1. Bahan dan Data ............................................................................. 23
3.1.2. Peralatan ........................................................................................ 24
3.1.3. Prosedur Kerja .............................................................................. 25
3.2. Analisis dan Rancangan Sistem ................................................................. 26
3.2.1. Analisis Kebutuhan Sistem .............................................................. 26
3.2.2. Rancangan Sistem ............................................................................ 26
BAB IV IMPLEMENTASI DAN PEMBAHASAN ........................................ 31
4.1. Implementasi dan Uji Coba Program ......................................................... 31
4.1.1. Implementasi Basis Data Graf pada Neo4j ............................... 31
4.1.2. Define Graph DataBase Neo4j .................................................... 33
4.1.3. Fetch Twitter ............................................................................... 34
4.1.4. Import to Neo4j ........................................................................... 35
4.2. Pembahasan Analisis ............................................................................... 38
4.2.1. Analisis algoritma Degree Centrality dengan kata kunci ‘kinal’
dengan Relationship type Mentions. ...................................................... 38
4.2.2. Analisis Algoritma Degree Centrality pada kata kunci
‘kinalkinal’ dengan Relatioship type Mentions .................................... 38
ix
4.2.3. Analisis algoritma Page Rank dengan kata kunci ‘kinal’
dengan Relationship type Mentions ....................................................... 40
4.2.4. Analisis Algoritma Page Rank pada kata kunci ‘kinalkinal’
dengan Relationship type Mentions ....................................................... 41
BAB V KESIMPULAN DAN SARAN .............................................................. 42
5.1. Kesimpulan ............................................................................................... 42
5.2. Saran ......................................................................................................... 42
DAFTAR PUSTAKA .......................................................................................... 44
x
DAFTAR GAMBAR
Gambar 1.1 Presentase media sosial yang paling aktif diakses pengguna
media sosial Indonesia Januari 2018. ............................................................... 2
Gambar 2.1 The Eulerian Paths. ................................................................... 11
Gambar 2.2 Contoh penggambaran vertices dan edges pada graph ............. 12
Gambar 2.3 Graf memiliki jalur-jalur yang melintasi vertices dan edges .... 13
Gambar 2.4 Salah satu circuit yang terbentuk pada path di gambar 2.4 ...... 14
Gambar 2.5 Properti dalam graph database. ................................................ 16
Gambar 2.6 Pemodelan data pada graph database neo4j. ............................. 17
Gambar 2.7 CQL pada neo4j pada contoh kasus gambar 2.6 ....................... 18
Gambar 2.8 Autentifikasi pada twitter applications ...................................... 19
Gambar 2.9 Baris perintah menggunakan library tweepy ............................. 20
Gambar 2.10 Baris perintah untuk mendapatkan twitter bearer ................... 20
Gambar 3.1 Package Diagram......................................................................... 27
Gambar 3.2 Twitter-Import Package Diagram................................................ 28
Gambar 3.3 Graph-Algorithm-Playground Package Diagram ........................ 29
Gambar 3.4 Diagram Basis Data Graf ............................................................ 30
Gambar 4.1 Implementasi basis data graf pada Neo4j .................................... 31
Gambar 4.2 Kode import_graph.py ................................................................ 33
Gambar 4.3 Potongan Kode Import_graph.py ................................................ 33
Gambar 4.4 Kode import_graph.py ................................................................ 34
Gambar 4.5 Potongan Kode import_graph.py ................................................ 35
Gambar 4.6 Kode import_graph.py ................................................................ 36
xi
Gambar 4.7 Potongan Program import_graph.py ........................................... 37
Gambar 4.8 Tampilan Analisis algoritma degree pada kata kunci ‘kinal’ ...... 38
Gambar 4.9 Potongan Program import_graph.py yang diubah ....................... 39
Gambar 4.10 Tampilan analisis algoritma degree pada kata kunci ‘kinalkinal’
.......................................................................................................................... 39
Gambar 4.11 Tampilan Analisis Algoritma Page Rank pada kata kunci ‘kinal’
.......................................................................................................................... 40
Gambar 4.12 Tampilan Analisis Algoritma Page Rank pada kata kunci
‘kinalkinal’ ....................................................................................................... 41
xii
DAFTAR TABEL
Tabel 2.1 Perbandingan Penelitian ................................................................ 10
xiii
KATA PENGANTAR
Bismillahirrohmanirrohim
Assalamu‘alaikum Wr. Wb.
Alhamdulillah segala puji syukur kami panjatkan kehadirat Allah SWT karena
atas limpahan rahmat dan hidayah-Nya, sehingga penulis dapat menyelesaikan
Skripsi ini yang berjudul “Penerapan Basis Data Graf untuk Analisis Data pada
Media Sosial Menggunakan Neo4j”. Skripsi ini disusun sebagai persyaratan
kelulusan pada Program Studi Sistem Informasi Strata 1 STMIK AKAKOM
Yogyakarta.
Dalam penyusunan Skripsi ini penulis banyak mendapat saran, dorongan,
bimbingan serta keterangan-keterangan dari berbagai pihak yang merupakan
pengalaman yang tidak dapat diukur secara materi. Oleh karena itu dengan segala
hormat dan kerendahan hati perkenankanlah penulis mengucapkan terima kasih
kepada :
1. Bapak Ir. Totok Suprawoto, M.M., M.T. selaku Ketua Sekolah Tinggi
Manajemen Informatika dan Komputer Akakom Yogyakarta.
2. Ibu Pulut Suryati, S.Kom., M.Cs. selaku Ketua Jurusan Sistem Informasi.
3. Ibu Deborah Kurniawati, S. Kom., M.Cs. selaku dosen wali sekaligus dosen
pembimbing skripsi saya yang telah banyak memberikan pengarahan, saran,
dan motivasi.
4. Ibu Pulut Suryati, S.Kom., M.Cs. dan Bapak Bambang Purnomosidi Dwi,
S.E., Akt., S.Kom., M.Msi. selaku Dosen Penguji yang telah berkenan
memberikan masukan dan saran.
xiv
5. Bapak Slamet dan Ibu Trias Rijanarti, kedua orang tua penulis yang selalu
memberikan kasih sayang, doa, dukungan, teladan, dan motivasi sehingga
penulis dapat terus berkembang sampai saat ini.
6. Adik penulis Bagas Adisurya yang selalu memberikan kasih sayang, doa
dan dukungan.
7. Seluruh teman – teman jurusan Sistem Informasi, khususnya angkatan 2015
yang telah memberikan motivasi.
8. Semua pihak yang tidak mungkin penulis sebutkan satu persatu yang telah
terlibat banyak dalam membantu sehingga Skripsi ini dapat diselesaikan.
Dalam penyusunan Skripsi ini, penulis menyadari masih terdapat banyak
kekurangan baik sengaja maupun tidak sengaja, dikarenakan keterbatasan ilmu
pengetahuan dan wawasan serta pengalaman yang penulis miliki. Untuk itu
penulis mohon maaf atas segala kekurangan tersebut tidak menutup diri terhadap
segala saran dan kritik serta masukan yang bersifat konstruktif bagi diri penulis.
Akhir kata semoga Skripsi yang penulis buat dapat bermanfaat bagi penulis
sendiri, institusi pendidikan, dan masyarakat luas. Amin.
Wassalamu‘alaikum Wr. Wb.
Yogyakarta, Juli 2019
Penulis
xv
ABSTAK
Perkembangan basis data sebagai teknologi untuk pengorganisasian data
semakin dibutuhkan. Hal tersebut dapat dibuktikan dengan berkembangnya data
dalam suatu organisasi atau perusahaan maupun data yang beredar secara global.
Data yang beredar secara global yang dikonsumsi menjadi informasi secara luas
sosial media contohnya. Twitter yang menjadi salah satu media sosial yang paling
sering digunakan di Indonesia. Data twitter dengan jumlah besar tidak menutup
kemungkinan data tersebut dapat disimpan dan dianalisis menggunakan basis data
graf.
Basis data graf yang digunakan menyimpan data twitter adalah Neo4j
dimana data tersebut akan diambil menggunakan twitter API yang ditulis dengan
Bahasa pemrograman python 3. Selain itu, neo4j-bolt driver dibutuhkanuntuk
dapat mengakses basis data graf neo4j. Selanjutnya, neo4j-desktop digunakan
sebagai tools untuk melakukan analisis menggunakan graph algorithm degree
centrality dan graph algorithm page rank.
Hasil analisis dari tools analisis dengan dua kata kunci yang berbeda dapat
diketahui bahwa kata kunci tertentu dapat berpengaruh terhadap banyaknya
hubungan tweet dengan user akun tertentu. Maka, eksistensi akun pada suatu
public figure dalam dunia entertaiment dapat diukur melalui seberapa terkait akun
official miliknya dengan kata kunci yang ada di media sosial khususnya twitter.
Kata kunci : degree centrality, graph algorithm, graph database, neo4j, page rank.
xvi
ABSTRACT
Development of databases as a technology for organizing data is
increasingly needed. This can be proven by the development of data in an
organization or company or the data circulating globally. Data circulating globally
that is consumed is widely information on social media for example. Twitter is
one of the most used social media in Indonesia. Twitter data with large numbers
does not rule out the possibility that data can be stored and analyzed using a graph
database.
Graph database used to store twitter data is Neo4j where the data will be
retrieved using the Twitter API written in the Python 3 programming language. In
addition, the neo4j-bolt driver is needed to be able to access the neo4j graph
database. Furthermore, neo4j-desktop is used as a tool to do analysis using graph
algorithm degree centrality and graph algorithm page rank.
The results of the analysis used analysis tools with two different keywords
can be seen that certain keywords can affect the number of tweet relationships
with certain user accounts. So, the popularity of an account in a public figure in
the world of entertainment can be measured by how related to his official account
with keywords in social media, especially twitter.
Keywords: degree centrality, graph algorithm, graph database, neo4j, page rank.