Lembar Kerja Mahasiswa Graph Database. berisi tutorial dan instruksi pelengkap buku referensi utama.
Size: 312.39 KB
Language: none
Added: Feb 13, 2025
Slides: 24 pages
Slide Content
Lembar Kerja Mahasiswa
Mata Kuliah: Basis Data
Tujuan Pembelajaran:
Memahami konsep dasar database graf dan keunggulannya.
Menganalisis dan membandingkan model database graf dengan model database lain.
Menerapkan teknik pemodelan dan kueri dalam database graf.
Mengembangkan aplikasi sederhana berbasis database graf.
Menggunakan algoritma graf untuk analisis data.
Referensi:
Robinson, I., Webber, J., & Eifrem, E. (2015). Graph databases: new opportunities for connected data. "
O'Reilly Media, Inc.".
1
Daftar Isi
Daftar Isi..........................................................................................................................................................................................2
Pendahuluan..................................................................................................................................................................................4
A. Pemahaman Konsep..........................................................................................................................................................4
1. Apa Itu Graf?.....................................................................................................................................................................4
2. Database Graf vs. Database Lain................................................................................................................................4
3. Keunggulan Database Graf..........................................................................................................................................4
B. Diskusi Kelompok...............................................................................................................................................................5
C. Praktikum (Opsional)........................................................................................................................................................5
D. Refleksi dan Kesimpulan.................................................................................................................................................5
Opsi untuk Menyimpan Data yang Terhubung.................................................................................................................7
A. Pemahaman Konsep..........................................................................................................................................................7
1. Keterbatasan Database Relasional............................................................................................................................7
2. Keterbatasan NoSQL dalam Menyimpan Data yang Terhubung..................................................................7
3. Database Graf sebagai Solusi......................................................................................................................................7
B. Diskusi Kelompok...............................................................................................................................................................8
C. Praktikum (Opsional)........................................................................................................................................................8
D. Refleksi dan Kesimpulan.................................................................................................................................................9
Pemodelan Data dengan Graph..............................................................................................................................................10
A. Pemahaman Konsep........................................................................................................................................................10
1. Dasar-Dasar Pemodelan Data dalam Database Graf.........................................................................................10
2. Perbandingan Pemodelan Relasional dan Graf..................................................................................................10
3. Pengenalan Bahasa Kueri Cypher...........................................................................................................................10
B. Diskusi Kelompok..............................................................................................................................................................11
C. Praktikum (Opsional)......................................................................................................................................................11
D. Refleksi dan Kesimpulan...............................................................................................................................................12
Membangun Aplikasi Graph Database................................................................................................................................13
A. Pemahaman Konsep........................................................................................................................................................13
1. Prinsip Dasar Pengembangan Aplikasi dengan Database Graf.....................................................................13
2. Arsitektur Aplikasi Berbasis Database Graf........................................................................................................13
3. Pengujian dan Optimasi Performa Database Graf.............................................................................................13
B. Diskusi Kelompok.............................................................................................................................................................14
C. Praktikum (Opsional)......................................................................................................................................................14
D. Refleksi dan Kesimpulan...............................................................................................................................................15
Graph di Dunia Nyata................................................................................................................................................................16
A. Pemahaman Konsep........................................................................................................................................................16
1. Mengapa Organisasi Memilih Database Graf?....................................................................................................16
2. Kasus Penggunaan Umum Database Graf............................................................................................................16
3. Studi Kasus Dunia Nyata............................................................................................................................................17
B. Diskusi Kelompok.............................................................................................................................................................17
C. Praktikum (Opsional)......................................................................................................................................................17
D. Refleksi dan Kesimpulan...............................................................................................................................................18
Internal Graph Database..........................................................................................................................................................19
A. Pemahaman Konsep........................................................................................................................................................19
1. Native vs. Non-Native Graph Storage.....................................................................................................................19
2. Programmatic APIs dalam Database Graf............................................................................................................19
3. Karakteristik Non-Fungsional dalam Database Graf.......................................................................................19
B. Diskusi Kelompok............................................................................................................................................................20
C. Praktikum (Opsional).....................................................................................................................................................20
2
D. Refleksi dan Kesimpulan...............................................................................................................................................21
Analisis Prediktif dengan Teori Graf...................................................................................................................................22
A. Pemahaman Konsep........................................................................................................................................................22
1. Algoritma Pencarian dalam Database Graf..........................................................................................................22
2. Algoritma Pencarian Jalur Terpendek..................................................................................................................22
3. Teori Graf dalam Analisis Prediktif.......................................................................................................................22
B. Diskusi Kelompok.............................................................................................................................................................23
C. Praktikum (Opsional).....................................................................................................................................................23
D. Refleksi dan Kesimpulan...............................................................................................................................................23
3
Pendahuluan
Tujuan Pembelajaran:
1.Memahami konsep dasar graf dalam konteks database.
2.Menjelaskan perbedaan utama antara database graf, database relasional, dan NoSQL lainnya.
3.Mengidentifikasi keunggulan database graf dalam menangani data yang saling terhubung.
A. Pemahaman Konsep
1. Apa Itu Graf?
Baca bagian What Is a Graph? dalam buku dan jawab pertanyaan berikut:
1.Apa yang dimaksud dengan graf dalam database graf?
2.Sebutkan dua komponen utama dalam model graf dan jelaskan fungsinya.
3.Berikan tiga contoh nyata yang dapat direpresentasikan dalam bentuk graf.
Tugas:
Buat diagram graf sederhana yang merepresentasikan hubungan antara mahasiswa, dosen, dan
mata kuliah di kampus Anda.
2. Database Graf vs. Database Lain
Baca bagian A High-Level View of the Graph Space dan jawab pertanyaan berikut:
1.Apa perbedaan utama antara database graf dan database relasional?
2.Mengapa NoSQL seperti MongoDB dan Cassandra tidak optimal untuk menyimpan data yang
saling berhubungan?
3.Apa yang dimaksud dengan index-free adjacency, dan bagaimana ini mempengaruhi
performa database graf?
Tugas:
Buat tabel perbandingan antara database graf, database relasional, dan NoSQL, dengan
aspek berikut:
oCara menyimpan data
oEfisiensi dalam menangani hubungan antar data
oContoh kasus penggunaan
3. Keunggulan Database Graf
Baca bagian The Power of Graph Databases dan jawab pertanyaan berikut:
1.Sebutkan dan jelaskan tiga keunggulan utama database graf dibandingkan model lain.
4
2.Bagaimana database graf menangani pertumbuhan data yang besar tanpa menurunkan
performa?
3.Dalam kasus media sosial, bagaimana database graf dapat digunakan untuk mencari
rekomendasi teman?
Tugas:
Tuliskan skenario bagaimana database graf dapat membantu dalam sistem rekomendasi film
atau produk e-commerce.
B. Diskusi Kelompok
1.Studi Kasus: Data Jejaring Sosial
oDiskusikan bagaimana data pengguna dan hubungan pertemanan disimpan dalam
database graf.
oApa keunggulan menggunakan database graf untuk analisis hubungan sosial
dibandingkan dengan SQL biasa?
2.Tantangan dalam Database Relasional
oMengapa kueri yang melibatkan banyak join dalam SQL bisa menjadi masalah untuk
data yang terhubung?
oBagaimana database graf mengatasi keterbatasan ini?
C. Praktikum (Opsional)
1.Eksperimen dengan Neo4j
oInstal Neo4j (jika belum terinstal).
oBuat nodes dan relationships yang merepresentasikan data mahasiswa dan dosen.
oGunakan Cypher untuk mencari hubungan antara mahasiswa dan dosen berdasarkan
mata kuliah.
Contoh Kueri Cypher:
CREATE (m1:Mahasiswa {nama: "Ali"})
CREATE (m2:Mahasiswa {nama: "Budi"})
CREATE (d1:Dosen {nama: "Dr. Siti"})
CREATE (m1)-[:MENGIKUTI]->(d1)
CREATE (m2)-[:MENGIKUTI]->(d1);
Jalankan kueri untuk mencari mahasiswa yang mengikuti mata kuliah yang diajarkan oleh "Dr.
Siti".
D. Refleksi dan Kesimpulan
Pertanyaan Refleksi:
1.Apa manfaat utama yang Anda pelajari dari bab ini?
5
2.Apakah Anda melihat potensi penerapan database graf di bidang lain selain media sosial?
Berikan contoh.
3.Bagaimana database graf dapat mengubah cara perusahaan mengelola data besar?
Tugas Akhir:
Buat esai singkat (300-500 kata) tentang bagaimana database graf dapat digunakan untuk
menganalisis tren dalam data pelanggan di industri e-commerce.
Penutup:
Lembar kerja ini membantu mahasiswa memahami dasar-dasar database graf serta
keunggulannya dalam menangani data yang saling berhubungan. Dengan latihan ini,
mahasiswa diharapkan dapat menerapkan konsep graf dalam berbagai skenario dunia nyata.
Evaluasi Akhir:
Quiz singkat tentang konsep database graf.
Presentasi hasil diskusi kelompok.
6
Opsi untuk Menyimpan Data yang Terhubung
Tujuan Pembelajaran:
1.Memahami keterbatasan database relasional dan NoSQL dalam menangani data yang
terhubung.
2.Menjelaskan bagaimana database graf mengelola hubungan antar data dengan lebih efisien.
3.Membandingkan performa database relasional, NoSQL, dan database graf dalam menangani
kueri hubungan data.
A. Pemahaman Konsep
1. Keterbatasan Database Relasional
Baca bagian Relational Databases Lack Relationships dalam buku dan jawab pertanyaan
berikut:
1.Bagaimana cara database relasional menyimpan hubungan antar data?
2.Apa masalah utama yang muncul ketika data yang terhubung semakin kompleks dalam
database relasional?
3.Bagaimana efek penggunaan join yang berlebihan terhadap performa database relasional?
Tugas:
Buat diagram sederhana bagaimana data relasional menyimpan informasi tentang hubungan
pertemanan dalam sebuah jejaring sosial menggunakan tabel SQL.
2. Keterbatasan NoSQL dalam Menyimpan Data yang Terhubung
Baca bagian NoSQL Databases Also Lack Relationships dan jawab pertanyaan berikut:
1.Apa pendekatan umum NoSQL dalam menyimpan data yang terhubung?
2.Mengapa NoSQL seperti MongoDB dan Cassandra tidak ideal untuk data yang memiliki banyak
hubungan?
3.Apa itu denormalisasi, dan bagaimana dampaknya dalam database NoSQL?
Tugas:
Bandingkan bagaimana database relasional dan NoSQL menyimpan hubungan data dalam tabel
atau dokumen, dengan contoh skenario e-commerce.
3. Database Graf sebagai Solusi
Baca bagian Graph Databases Embrace Relationships dan jawab pertanyaan berikut:
1.Mengapa database graf lebih efisien dalam menangani data yang saling berhubungan?
7
2.Apa itu index-free adjacency, dan bagaimana ini meningkatkan kecepatan pencarian
hubungan dalam database graf?
3.Bagaimana database graf menangani query traversals dibandingkan dengan database
relasional dan NoSQL?
Tugas:
Buat diagram yang menunjukkan bagaimana database graf menyimpan dan menavigasi
hubungan pertemanan dalam jejaring sosial.
B. Diskusi Kelompok
1.Perbandingan Model Penyimpanan Data
oBuat tabel perbandingan antara database relasional, NoSQL, dan database graf dengan
kriteria berikut:
Cara menyimpan data dan hubungan
Efisiensi kueri hubungan
Kemudahan skalabilitas
Contoh penerapan dunia nyata
2.Kasus Nyata: Rekomendasi Produk
oBagaimana cara database graf menangani rekomendasi produk dengan melihat pola
pembelian pengguna lain?
oMengapa model ini lebih efisien dibandingkan dengan menggunakan database
relasional?
C. Praktikum (Opsional)
1.Eksperimen dengan Neo4j
oInstal Neo4j (jika belum terinstal).
oBuat nodes dan relationships untuk menyimpan data pelanggan dan produk yang
mereka beli.
oJalankan kueri Cypher untuk menemukan produk yang sering dibeli bersama oleh
pelanggan.
Contoh Kueri Cypher:
CREATE (u1:User {nama: "Andi"})
CREATE (u2:User {nama: "Budi"})
CREATE (p1:Product {nama: "Laptop"})
CREATE (p2:Product {nama: "Mouse"})
CREATE (u1)-[:MEMBELI]->(p1)
CREATE (u1)-[:MEMBELI]->(p2)
CREATE (u2)-[:MEMBELI]->(p1);
Jalankan kueri untuk menemukan pola pembelian pelanggan dengan menggunakan Cypher.
8
D. Refleksi dan Kesimpulan
Pertanyaan Refleksi:
1.Apa tantangan utama dalam menyimpan data yang terhubung di database relasional dan
NoSQL?
2.Bagaimana database graf dapat meningkatkan performa aplikasi yang membutuhkan
pencarian hubungan data yang kompleks?
3.Apa manfaat utama yang Anda pelajari dari bab ini?
Tugas Akhir:
Buat esai singkat (300-500 kata) tentang bagaimana database graf dapat digunakan untuk
menganalisis perilaku pelanggan dalam e-commerce.
Penutup:
Lembar kerja ini membantu mahasiswa memahami kelebihan dan kekurangan berbagai model
database dalam menangani data yang terhubung. Dengan latihan ini, mahasiswa dapat
memahami kapan sebaiknya menggunakan database graf dalam suatu proyek teknologi.
Evaluasi Akhir:
Quiz singkat tentang perbedaan database relasional, NoSQL, dan database graf.
Presentasi hasil diskusi kelompok.
9
Pemodelan Data dengan Graph
Tujuan Pembelajaran:
1.Memahami konsep pemodelan data menggunakan graf berlabel properti.
2.Menganalisis perbedaan antara model data relasional dan model data graf.
3.Mempelajari dasar-dasar bahasa kueri Cypher untuk membuat dan mengambil data dalam
database graf.
4.Menerapkan pemodelan graf pada berbagai skenario dunia nyata.
A. Pemahaman Konsep
1. Dasar-Dasar Pemodelan Data dalam Database Graf
Baca bagian The Labeled Property Graph Model dalam buku dan jawab pertanyaan berikut:
1.Apa saja komponen utama dalam model graf berlabel properti?
2.Bagaimana perbedaan antara node, relationship, dan property dalam database graf?
3.Mengapa label dalam database graf sangat penting?
Tugas:
Buat diagram sederhana yang merepresentasikan hubungan antara mahasiswa, mata kuliah,
dan dosen dalam model database graf.
2. Perbandingan Pemodelan Relasional dan Graf
Baca bagian A Comparison of Relational and Graph Modeling dan jawab pertanyaan berikut:
1.Bagaimana cara memodelkan hubungan banyak ke banyak (many-to-many) dalam database
relasional dibandingkan dengan database graf?
2.Mengapa model relasional sering mengalami kompleksitas kueri yang lebih tinggi
dibandingkan model graf?
3.Jelaskan contoh kasus di mana database graf lebih unggul dibandingkan database relasional
dalam hal pemodelan data.
Tugas:
Berikan contoh bagaimana data transaksi e-commerce (pelanggan, produk, pesanan)
dimodelkan dalam database relasional dan database graf.
3. Pengenalan Bahasa Kueri Cypher
Baca bagian Querying Graphs: An Introduction to Cypher dan jawab pertanyaan berikut:
1.Apa itu Cypher dan bagaimana fungsinya dalam database graf?
2.Bagaimana cara mendeklarasikan node dan relationship menggunakan Cypher?
10
3.Apa keunggulan Cypher dibandingkan dengan SQL dalam mengeksekusi kueri hubungan data?
Tugas:
Tuliskan contoh kueri Cypher untuk membuat hubungan antara mahasiswa dan mata
kuliah.
Jalankan kueri di Neo4j dan analisis hasilnya.
B. Diskusi Kelompok
1.Studi Kasus: Jejaring Sosial
oBagaimana pemodelan hubungan pertemanan dalam database graf?
oBandingkan pendekatan ini dengan model dalam database relasional.
oBuat diagram pemodelan graf untuk hubungan antar pengguna di jejaring sosial.
2.Tantangan dalam Pemodelan Data
oApa kesalahan umum dalam pemodelan data menggunakan database graf?
oBagaimana cara menghindari anti-patterns dalam database graf?
C. Praktikum (Opsional)
1.Eksperimen dengan Neo4j
oInstal Neo4j Desktop atau gunakan Neo4j Sandbox.
oBuat dataset sederhana untuk hubungan antara mahasiswa, dosen, dan mata kuliah
menggunakan Cypher.
Contoh Kueri Cypher:
CREATE (m1:Mahasiswa {nama: "Ali"})
CREATE (m2:Mahasiswa {nama: "Budi"})
CREATE (d1:Dosen {nama: "Dr. Siti"})
CREATE (c1:MataKuliah {nama: "Basis Data"})
CREATE (m1)-[:MENGIKUTI]->(c1)
CREATE (m2)-[:MENGIKUTI]->(c1)
CREATE (d1)-[:MENGAJAR]->(c1);
Jalankan kueri untuk mencari mahasiswa yang mengikuti mata kuliah Basis Data.
Contoh Query untuk Pencarian:
MATCH (m:Mahasiswa)-[:MENGIKUTI]->(c:MataKuliah {nama: "Basis Data"})
RETURN m.nama;
11
D. Refleksi dan Kesimpulan
Pertanyaan Refleksi:
1.Apa manfaat utama menggunakan database graf dibandingkan dengan model lain dalam hal
pemodelan data?
2.Bagaimana pemodelan graf dapat digunakan untuk meningkatkan efisiensi pencarian data?
3.Bagaimana pengalaman Anda dalam menggunakan Cypher dibandingkan dengan SQL?
Tugas Akhir:
Buat model graf untuk skenario dunia nyata seperti:
oSistem rekomendasi film berdasarkan riwayat tontonan pengguna.
oModel manajemen jaringan komputer untuk memantau konektivitas antar server.
oStruktur organisasi perusahaan yang mencakup relasi antara karyawan, manajer,
dan departemen.
Tulis laporan singkat (500 kata) tentang keunggulan model graf dalam skenario yang Anda
pilih.
Penutup:
Lembar kerja ini membantu mahasiswa memahami dasar-dasar pemodelan data dalam
database graf serta mengaplikasikan Cypher untuk berbagai skenario. Dengan latihan ini,
mahasiswa diharapkan dapat memahami bagaimana menyusun dan mengelola data yang
terhubung secara efektif.
Evaluasi Akhir:
Quiz singkat tentang konsep dasar graf berlabel properti.
Presentasi hasil pemodelan data menggunakan database graf.
12
Membangun Aplikasi Graph Database
Tujuan Pembelajaran:
1.Memahami prinsip dasar dalam membangun aplikasi berbasis database graf.
2.Mempelajari strategi pemodelan data yang sesuai dengan kebutuhan aplikasi.
3.Mengidentifikasi komponen utama dalam arsitektur aplikasi database graf.
4.Mengimplementasikan teknik pengujian dan optimasi untuk meningkatkan performa database
graf.
A. Pemahaman Konsep
1. Prinsip Dasar Pengembangan Aplikasi dengan Database Graf
Baca bagian Data Modeling dalam buku dan jawab pertanyaan berikut:
1.Apa yang dimaksud dengan iterative and incremental development dalam konteks database
graf?
2.Mengapa pemodelan data dalam aplikasi berbasis graf harus disesuaikan dengan kebutuhan
bisnis?
3.Bagaimana perbedaan mendasar antara pemodelan database graf dengan database relasional
dalam pengembangan aplikasi?
Tugas:
Buat diagram yang menunjukkan bagaimana data pelanggan, produk, dan transaksi dapat
dimodelkan dalam database graf untuk aplikasi e-commerce.
2. Arsitektur Aplikasi Berbasis Database Graf
Baca bagian Application Architecture dan jawab pertanyaan berikut:
1.Apa perbedaan utama antara embedded database dan server-based database dalam
konteks database graf?
2.Bagaimana cara kerja clustering dalam database graf untuk meningkatkan skalabilitas?
3.Mengapa load balancing penting dalam aplikasi berbasis database graf?
Tugas:
Rancang arsitektur aplikasi berbasis database graf untuk sistem manajemen jejaring sosial.
Berikan contoh bagaimana clustering dapat membantu meningkatkan kecepatan pencarian
data dalam database graf.
3. Pengujian dan Optimasi Performa Database Graf
Baca bagian Testing dan Capacity Planning dan jawab pertanyaan berikut:
13
1.Apa tujuan utama dari test-driven data model development dalam database graf?
2.Bagaimana cara melakukan performance testing dalam database graf?
3.Sebutkan dan jelaskan tiga teknik utama untuk mengoptimalkan kapasitas dalam database
graf.
Tugas:
Lakukan analisis terhadap metode pengujian database graf dan bandingkan dengan metode
pengujian dalam database relasional.
Buat daftar kriteria performa yang harus diperhatikan dalam pengujian database graf.
B. Diskusi Kelompok
1.Perbandingan Model Arsitektur
oDiskusikan perbedaan antara database embedded dan server-based.
oKapan sebaiknya memilih model embedded daripada server-based?
2.Studi Kasus: Manajemen Data dalam Aplikasi Ride-Sharing
oBagaimana database graf dapat digunakan untuk mengelola lokasi pengguna, rute
perjalanan, dan hubungan antara pengemudi dan penumpang?
oRancang model data graf untuk sistem ride-sharing dan buat sketsa diagramnya.
C. Praktikum (Opsional)
1.Membangun Aplikasi Sederhana dengan Neo4j
oInstal Neo4j dan buat dataset sederhana untuk sistem rekomendasi produk berbasis
hubungan antar pelanggan.
oImplementasikan hubungan antara pengguna dan produk yang mereka beli
menggunakan Cypher.
Contoh Kueri Cypher:
CREATE (u1:User {nama: "Andi"})
CREATE (u2:User {nama: "Budi"})
CREATE (p1:Product {nama: "Laptop"})
CREATE (p2:Product {nama: "Mouse"})
CREATE (u1)-[:MEMBELI]->(p1)
CREATE (u1)-[:MEMBELI]->(p2)
CREATE (u2)-[:MEMBELI]->(p1);
Jalankan kueri untuk menemukan pola pembelian pelanggan dengan menggunakan Cypher.
Contoh Query untuk Rekomendasi Produk:
MATCH (u:User)-[:MEMBELI]->(p:Product)
RETURN u.nama, COLLECT(p.nama) AS ProdukYangDibeli;
14
D. Refleksi dan Kesimpulan
Pertanyaan Refleksi:
1.Apa manfaat utama menggunakan database graf dalam pengembangan aplikasi modern?
2.Bagaimana pengalaman Anda dalam mengembangkan model data untuk database graf
dibandingkan dengan model relasional?
3.Bagaimana cara mengatasi tantangan yang muncul dalam pengelolaan dan optimasi database
graf?
Tugas Akhir:
Buat esai singkat (300-500 kata) tentang bagaimana database graf dapat digunakan dalam
sistem manajemen rekomendasi personalisasi di platform e-commerce atau streaming.
Rancang model data graf yang dapat digunakan dalam industri yang Anda minati (misalnya
kesehatan, perbankan, atau transportasi).
Penutup:
Lembar kerja ini membantu mahasiswa memahami cara membangun dan mengoptimalkan
aplikasi berbasis database graf. Dengan latihan ini, mahasiswa dapat menerapkan konsep
pemodelan graf dalam berbagai skenario dunia nyata.
Evaluasi Akhir:
Quiz singkat tentang konsep arsitektur aplikasi berbasis database graf.
Presentasi hasil pemodelan dan optimasi aplikasi menggunakan database graf.
15
Graph di Dunia Nyata
Tujuan Pembelajaran:
1.Memahami alasan organisasi menggunakan database graf.
2.Menganalisis berbagai kasus penggunaan database graf dalam dunia nyata.
3.Mempelajari bagaimana database graf diterapkan dalam industri seperti media sosial,
rekomendasi produk, dan keamanan.
4.Mendesain model data graf berdasarkan kasus nyata.
A. Pemahaman Konsep
1. Mengapa Organisasi Memilih Database Graf?
Baca bagian Why Organizations Choose Graph Databases dan jawab pertanyaan berikut:
1.Apa alasan utama organisasi beralih ke database graf?
2.Bagaimana database graf dapat meningkatkan performa analisis data yang kompleks?
3.Sebutkan beberapa industri yang telah mengadopsi database graf dan manfaat yang mereka
dapatkan.
Tugas:
Identifikasi sebuah perusahaan yang menggunakan database graf dan buat laporan singkat
mengenai alasan mereka memilih teknologi ini.
2. Kasus Penggunaan Umum Database Graf
Baca bagian Common Use Cases dan jawab pertanyaan berikut:
1.Bagaimana database graf digunakan dalam media sosial untuk menghubungkan pengguna?
2.Bagaimana database graf meningkatkan sistem rekomendasi produk?
3.Apa manfaat database graf dalam manajemen data utama (MDM) dan manajemen pusat
data?
4.Bagaimana database graf membantu dalam otorisasi dan pengendalian akses di sistem
keamanan?
Tugas:
Buat tabel perbandingan yang menjelaskan penggunaan database graf dalam berbagai industri.
Industri Contoh Penggunaan Manfaat
Media Sosial ... ...
Rekomendasi Produk ... ...
Keamanan dan Akses ... ...
16
3. Studi Kasus Dunia Nyata
Baca bagian Real-World Examples dan jawab pertanyaan berikut:
1.Bagaimana Facebook dan LinkedIn menggunakan database graf untuk membangun
hubungan antar pengguna?
2.Bagaimana Netflix dan Amazon menggunakan database graf untuk sistem rekomendasi
konten dan produk?
3.Jelaskan bagaimana database graf dapat digunakan dalam analisis penipuan perbankan.
Tugas:
Pilih salah satu industri yang menggunakan database graf dan buat diagram model data graf
yang sesuai dengan kasus tersebut.
B. Diskusi Kelompok
1.Perbandingan Database Graf dengan Model Lain dalam Dunia Nyata
oDiskusikan bagaimana database graf dibandingkan dengan model relasional dan NoSQL
dalam menangani data pengguna media sosial.
oBuat sketsa pemodelan data graf yang dapat digunakan untuk membangun sistem
rekomendasi musik atau film.
2.Studi Kasus: Analisis Jaringan Kejahatan
oBagaimana database graf dapat digunakan oleh lembaga penegak hukum untuk
mendeteksi jaringan kriminal?
oRancang model data untuk sistem yang dapat menemukan hubungan tersembunyi
antara individu dalam investigasi kejahatan.
C. Praktikum (Opsional)
1.Eksperimen dengan Neo4j
oInstal Neo4j dan buat model data graf untuk sistem rekomendasi film atau produk e-
commerce.
oImplementasikan hubungan antara pengguna dan produk yang mereka beli
menggunakan Cypher.
Contoh Kueri Cypher untuk Sistem Rekomendasi:
CREATE (u1:User {nama: "Dina"})
CREATE (u2:User {nama: "Rudi"})
CREATE (p1:Product {nama: "Smartphone"})
CREATE (p2:Product {nama: "Headphone"})
CREATE (u1)-[:MEMBELI]->(p1)
CREATE (u1)-[:MEMBELI]->(p2)
CREATE (u2)-[:MEMBELI]->(p1);
17
Jalankan kueri untuk menemukan pola pembelian pelanggan dengan menggunakan
Cypher.
Contoh Query untuk Rekomendasi Produk:
MATCH (u:User)-[:MEMBELI]->(p:Product)
RETURN u.nama, COLLECT(p.nama) AS ProdukYangDibeli;
D. Refleksi dan Kesimpulan
Pertanyaan Refleksi:
1.Apa manfaat utama database graf dalam dunia nyata dibandingkan model database lainnya?
2.Bagaimana pengalaman Anda dalam menganalisis berbagai studi kasus penggunaan database
graf?
3.Bagaimana database graf dapat membantu dalam mengatasi permasalahan kompleks dalam
data yang saling berhubungan?
Tugas Akhir:
Buat esai singkat (300-500 kata) tentang bagaimana database graf dapat digunakan dalam
analisis jaringan kejahatan atau rekomendasi personalisasi di industri hiburan.
Rancang model data graf yang dapat digunakan dalam industri yang Anda minati (misalnya
kesehatan, keuangan, atau logistik).
Penutup:
Lembar kerja ini membantu mahasiswa memahami penerapan database graf dalam dunia
nyata, dari media sosial hingga analisis keamanan. Dengan latihan ini, mahasiswa dapat
menerapkan konsep graf dalam berbagai skenario bisnis dan teknologi.
Evaluasi Akhir:
Quiz singkat tentang kasus penggunaan database graf dalam industri nyata.
Presentasi hasil analisis kasus dan pemodelan data graf.
18
Internal Graph Database
Tujuan Pembelajaran:
1.Memahami cara kerja internal database graf, termasuk penyimpanan dan pemrosesan data.
2.Menjelaskan perbedaan antara native graph storage dan non-native graph storage.
3.Mempelajari APIs programatik yang digunakan dalam database graf.
4.Menganalisis karakteristik non-fungsional seperti transaksi, ketersediaan, dan skalabilitas
dalam database graf.
A. Pemahaman Konsep
1. Native vs. Non-Native Graph Storage
Baca bagian Native Graph Processing dan Native Graph Storage dalam buku dan jawab
pertanyaan berikut:
1.Apa perbedaan utama antara native graph storage dan non-native graph storage?
2.Mengapa database dengan native graph storage lebih unggul dalam hal performa?
3.Bagaimana cara kerja index-free adjacency, dan mengapa ini meningkatkan kecepatan
pencarian hubungan dalam database graf?
Tugas:
Buat tabel perbandingan antara native graph storage dan non-native graph storage
berdasarkan aspek berikut:
oCara penyimpanan hubungan antar node
oEfisiensi traversal data
oContoh database yang menggunakan masing-masing metode
2. Programmatic APIs dalam Database Graf
Baca bagian Programmatic APIs dan jawab pertanyaan berikut:
1.Apa itu Kernel API dan bagaimana perannya dalam database graf?
2.Apa perbedaan antara Core API dan Traversal Framework dalam Neo4j?
3.Bagaimana penggunaan API ini dapat mempermudah pengembangan aplikasi berbasis
database graf?
Tugas:
Buat contoh skenario penggunaan API dalam pengembangan aplikasi berbasis database graf,
misalnya dalam sistem rekomendasi atau manajemen jaringan sosial.
3. Karakteristik Non-Fungsional dalam Database Graf
Baca bagian Nonfunctional Characteristics dan jawab pertanyaan berikut:
19
1.Bagaimana transaksi dikelola dalam database graf untuk memastikan konsistensi data?
2.Apa yang dimaksud dengan recoverability, dan bagaimana peranannya dalam database graf?
3.Bagaimana cara kerja clustering dalam database graf untuk meningkatkan ketersediaan dan
skalabilitas?
Tugas:
Jelaskan bagaimana replication dan partitioning bekerja dalam database graf untuk
memastikan kinerja tetap optimal saat menangani data dalam skala besar.
B. Diskusi Kelompok
1.Studi Kasus: Manajemen Data dalam Aplikasi E-Commerce
oBagaimana database graf dapat digunakan untuk mengelola hubungan antara
pengguna, produk, dan transaksi?
oRancang model data yang dapat menangani analisis pola pembelian pelanggan.
2.Perbandingan Arsitektur Database Graf dengan Database Relasional
oDiskusikan bagaimana cara kerja internal database graf berbeda dari database
relasional dalam menangani transaksi dan skalabilitas.
oApakah database graf lebih cocok untuk aplikasi real-time dibandingkan database
relasional? Jelaskan dengan contoh kasus.
C. Praktikum (Opsional)
1.Eksperimen dengan Neo4j
oInstal Neo4j dan buat dataset sederhana yang merepresentasikan hubungan antar
pengguna dalam sistem media sosial.
oJalankan beberapa query traversal menggunakan Cypher untuk menganalisis
hubungan antar pengguna.
Contoh Kueri Cypher untuk Melihat Hubungan dalam Media Sosial:
CREATE (u1:User {nama: "Ali"})
CREATE (u2:User {nama: "Budi"})
CREATE (u3:User {nama: "Citra"})
CREATE (u1)-[:TEMAN]->(u2)
CREATE (u2)-[:TEMAN]->(u3)
CREATE (u1)-[:TEMAN]->(u3);
Jalankan kueri untuk menemukan hubungan tidak langsung antara pengguna dalam
jaringan sosial.
Contoh Query untuk Mencari Teman dari Teman:
MATCH (u:User)-[:TEMAN]->(teman)-[:TEMAN]->(temanDariTeman)
WHERE u.nama = "Ali"
RETURN temanDariTeman.nama;
20
D. Refleksi dan Kesimpulan
Pertanyaan Refleksi:
1.Apa keuntungan menggunakan native graph storage dibandingkan non-native graph
storage?
2.Bagaimana cara kerja transactions dan recoverability dalam database graf untuk
memastikan integritas data?
3.Apakah database graf merupakan solusi yang tepat untuk semua jenis data? Mengapa?
Tugas Akhir:
Buat esai singkat (300-500 kata) tentang bagaimana database graf dapat digunakan dalam
pengelolaan data kompleks, misalnya dalam bidang keamanan siber, logistik, atau
analisis keuangan.
Rancang model data graf untuk sebuah aplikasi real-time yang membutuhkan analisis
hubungan secara cepat dan akurat.
Penutup:
Lembar kerja ini membantu mahasiswa memahami cara kerja internal database graf serta
bagaimana teknologi ini digunakan dalam skenario dunia nyata. Dengan latihan ini,
mahasiswa dapat mengoptimalkan database graf untuk mendukung aplikasi yang
membutuhkan analisis hubungan yang kompleks.
Evaluasi Akhir:
Quiz singkat tentang konsep penyimpanan, API, dan karakteristik non-fungsional dalam
database graf.
Presentasi hasil studi kasus dan pemodelan data graf.
21
Analisis Prediktif dengan Teori Graf
Tujuan Pembelajaran:
1.Memahami bagaimana teori graf digunakan dalam analisis prediktif.
2.Mempelajari algoritma pencarian jalur seperti Depth-First Search (DFS), Breadth-First
Search (BFS), Dijkstra’s Algorithm, dan A*.
3.Menganalisis bagaimana konsep triadic closure, structural balance, dan local bridges dapat
digunakan dalam analisis data.
4.Menerapkan algoritma graf dalam database graf untuk skenario dunia nyata.
A. Pemahaman Konsep
1. Algoritma Pencarian dalam Database Graf
Baca bagian Depth- and Breadth-First Search dan jawab pertanyaan berikut:
1.Apa perbedaan utama antara Depth-First Search (DFS) dan Breadth-First Search (BFS)?
2.Dalam situasi apa DFS lebih efektif dibandingkan BFS, dan sebaliknya?
3.Bagaimana kedua algoritma ini digunakan dalam pencarian hubungan antar entitas dalam
database graf?
Tugas:
Buat sketsa pohon pencarian untuk DFS dan BFS pada jaringan sosial yang terdiri dari 5
pengguna yang saling terhubung.
2. Algoritma Pencarian Jalur Terpendek
Baca bagian Path-Finding with Dijkstra’s Algorithm dan The A Algorithm*, lalu jawab
pertanyaan berikut:
1.Bagaimana cara kerja Dijkstra’s Algorithm dalam menemukan jalur terpendek?
2.Dalam kondisi apa A* lebih optimal dibandingkan Dijkstra?
3.Bagaimana algoritma ini dapat digunakan dalam sistem navigasi seperti Google Maps atau
aplikasi ride-sharing?
Tugas:
Buat contoh model data graf yang merepresentasikan jaringan jalan dalam suatu kota dan
gunakan algoritma jalur terpendek untuk menemukan rute terbaik antara dua titik.
3. Teori Graf dalam Analisis Prediktif
Baca bagian Graph Theory and Predictive Modeling dan jawab pertanyaan berikut:
1.Apa itu triadic closure, dan bagaimana ini dapat digunakan dalam prediksi hubungan sosial?
22
2.Bagaimana konsep structural balance dapat membantu dalam analisis kelompok sosial?
3.Apa itu local bridges, dan bagaimana perannya dalam memahami hubungan dalam jaringan?
Tugas:
Gunakan konsep triadic closure untuk memprediksi hubungan baru dalam sebuah jaringan
sosial.
Rancang model data untuk sistem rekomendasi teman berdasarkan teori graf.
B. Diskusi Kelompok
1.Studi Kasus: Analisis Jaringan Sosial
oBagaimana teori graf dapat membantu dalam menemukan pengguna yang berpotensi
menjadi teman dalam aplikasi media sosial?
oBuat diagram model jaringan sosial dan tentukan bagaimana triadic closure dapat
digunakan untuk memprediksi hubungan baru.
2.Penerapan Algoritma Jalur Terpendek dalam Dunia Nyata
oDiskusikan bagaimana algoritma Dijkstra atau A* digunakan dalam aplikasi seperti
Google Maps, transportasi logistik, atau perencanaan rute drone.
oBuat sketsa model data graf yang merepresentasikan jaringan jalan dalam kota.
C. Praktikum (Opsional)
1.Eksperimen dengan Neo4j
oInstal Neo4j dan buat dataset sederhana yang merepresentasikan hubungan antar
pengguna dalam jejaring sosial.
oJalankan algoritma pencarian jalur menggunakan Cypher untuk menemukan koneksi
tidak langsung antara pengguna.
Contoh Kueri Cypher untuk Pencarian Jalur Terpendek:
MATCH (start:User {nama: "Ali"}), (end:User {nama: "Budi"}),
path = shortestPath((start)-[*]-(end))
RETURN path;
Jalankan kueri dan analisis hasilnya.
Contoh Query untuk Memprediksi Hubungan Baru dengan Triadic Closure:
MATCH (a:User)-[:TEMAN]->(b:User),
(b)-[:TEMAN]->(c:User)
WHERE NOT (a)-[:TEMAN]->(c)
RETURN a.nama, c.nama AS Potensial_Teman;
23
D. Refleksi dan Kesimpulan
Pertanyaan Refleksi:
1.Bagaimana algoritma pencarian graf membantu dalam menemukan pola tersembunyi dalam
data?
2.Apa manfaat utama teori graf dalam analisis prediktif dan pengambilan keputusan?
3.Bagaimana pengalaman Anda dalam menggunakan Neo4j untuk menerapkan teori graf?
Tugas Akhir:
Buat esai singkat (300-500 kata) tentang bagaimana database graf dapat digunakan dalam
deteksi penipuan, analisis jaringan kriminal, atau sistem rekomendasi cerdas.
Rancang model data graf yang dapat digunakan dalam industri yang Anda minati (misalnya
keamanan, kesehatan, atau perdagangan elektronik).
Penutup:
Lembar kerja ini membantu mahasiswa memahami bagaimana teori graf dan algoritma
pencarian digunakan dalam analisis prediktif. Dengan latihan ini, mahasiswa dapat
menerapkan algoritma graf dalam berbagai skenario dunia nyata, seperti sistem
rekomendasi, navigasi, dan analisis sosial.
Evaluasi Akhir:
Quiz singkat tentang algoritma pencarian dan teori graf dalam analisis prediktif.
Presentasi hasil studi kasus dan pemodelan data graf.
24