Anda di halaman 1dari 12

MATA KULIAH BASIS DATA

LAPORAN PRAKTIKUM 10
RELASI DATA NOSQL MONGODB

DISUSUN OLEH KELOMPOK 11:

NAMA: NURUL ILMI


NIM: 42520042
KELAS: 2B D4 TKJ

PRODI D-IV TEKNIK KOMPUTER DAN JARINGAN


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI UJUNG PANDANG
2021
TUGAS :
1. Buat konsep relasi pada database mongodb sesuai topik masing-masing.
2. Jelaskan tipe relasi yang dibuat dan alasannya memilih tipe relasi tersebut.
3. Lakukann aggregate / menggabunngkan collection berelasi.
DESAIN ERD :

LANGKAH KERJA :
1. Sebelum melakukan praktikum ini terlebih dahulu siapkan aplikasi yang diperlukan
seperti mongodb dan juga robo 3T
2. Jika telah terinstal jalankan aplikasi mongodb dengan masuk ke cmd lalu ketikan
perintah mongod
3. Setelah menjalankan mongod di cmd, selanjutnya masuk ke apk Robot 3T untuk
melakukan praktikum ini.

 Konsep Relasi Database OVO


Database ovo yang dibuat memiliki 4 tabel yang saling berelasi satu sama lain,
dimana tabel user berelasi dengan tabel transfer dan tabel pembelian, lalu tabel
pembelian berelasi dengan tabel Voucher_Game. Masing-masing tabel memiliki
primary key yang dapat menghubungkan tabel satu sam lain, pada praktikum ini saya
menggunakan one to many relation dan many to many relation berdasarkan diagram
ER. Dimana pada collection user dengan transfer menggunakan konsep relasi one to
many dan juga pembelian berelasi dengan user dan voucher game menggunakan
konsep many to many.
 Relasi database OVO
Relasi pertama yaitu many to many dimana collection pembelian berelasi dengan
collection user dan voucher_game.
1) Collection User
2) Collection Voucher_game

3) Collection Pembelian

Selanjutnya kita menyalin _id pada collection user dan collection voucher_game,
setelah itu memasukkan _id yang disalin tadi ke collection pembelian dengan cara klik
kanan dan edit document untuk melakukan relasi antara 3 tabel ini.

 Menyalin _id User dan Voucher_game ke collection Pembelian


Data 1
Data 2

Data 3

Setelah semua data diubah maka relasi antar 3 tabel tersebut sudah selesai.
Selanjutnya kita merelasikan collectin user ke collection transfer dengan
menggunakan konsep one to many, dimana _id pada collection transfer kita salin
kemudian memasukkannya ke bagian collection user.

 Menyalin _id Transfer ke collection User


Data 1
Syntax :
db.user.insert(
{
"_id" : ObjectId("61e501f2b6697f8f10cd9930"),
"id_user" : 1215.0,
"nama_user" : "alif solihin",
"nomor_hp" : "081456781567",
"email" : "alifsolihin24@gmail.com",
"jenis_kelamin" : "pria",
"Transfer" : [
{id_Transfer:ObjectId("61e5029db6697f8f10cd9933")
}
]
})

Output :

Data 2
Syntax :
db.user.insert(
{
"_id" : ObjectId("61e50249b6697f8f10cd9931"),
"id_user" : 1214.0,
"nama_user" : "widya khartika",
"nomor_hp" : "082456780987",
"email" : "widyakhartika@gmail.com",
"jenis_kelamin" : "wanita",
"Transfer" : [
{id_Transfer: ObjectId("61e502b5b6697f8f10cd9934")
}
]
})

Output :

Data 3
Syntax :
db.user.insert(
{
"_id" : ObjectId("61e50267b6697f8f10cd9932"),
"id_user" : 1213.0,
"nama_user" : "dika amelia",
"nomor_hp" : "081534567802",
"email" : "dikaamelia@gmail.com",
"jenis_kelamin" : "wanita",
"Transfer" : [
{id_Transfer: ObjectId("61e5029db6697f8f10cd9933")
}
]
})

Output :

 Aggregate Menggabungkan Collectionn yang berelasi


1) Aggregate many to many
Syntax :
db.Pembelian.aggregate([
{
$lookup:
{
from: "user",
localField: "Id_user",
foreignField : "_id",
as: "User_agg"
}},
{
$lookup:
{
from: "Voucher_Game",
localField: "Id_voucher",
foreignField : "_id",
as: "Voucher_agg"
}
}
])

Output :
Data 1
Data 2

Data 3

2) Aggregate one to many


Syntax :
db.user.aggregate([
{
$lookup:
{
from: "Transfer",
localField: "Transfer.id_Transfer",
foreignField : "_id",
as: "detail_paket"
}
}
])

Output :
Data 1

Data 2
Data 3

Anda mungkin juga menyukai