0% menganggap dokumen ini bermanfaat (0 suara)
89 tayangan12 halaman

Nosql Scrum

noSQL

Diunggah oleh

Irma Kurnia Juliany
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
89 tayangan12 halaman

Nosql Scrum

noSQL

Diunggah oleh

Irma Kurnia Juliany
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 12

Rekayasa Peranti Lunak (MJ 183 D)

NoSQL dan SCRUM

Oleh :
Deby Yudasmara (1514489992)
Irma Kurnia Juliany (1514490205)
Miatri Oktaviani (1514489991)
M. Yanto Saputra (1511483474)
Yuni Kristina Dewi (1514490202)

STMIK & AMIK RAHARJA


Jl. Jenderal Sudirman No. 40 Modern Cikokol – Tangerang 15117
Telp. 0215529692, 5529586 Fax. 0215529742 web. www.raharja.ac.id
NoSQL
Definisi
NoSQL (Not only SQL database) atau disebut juga basis data non-relasional, adalah sebuah
alternatif yang muncul disaat kebanyakan menggunakan basis data relasional. Seperti
namanya, NoSQL tidak sepenuhnya menggantikan SQL tetapi melengkapinya.
Carlo Strozzi pertama kali menggunakan istilah ini pada tahun 1998 sebagai nama untuk open
source-basis data relasionalnya nya. Istilah ini kemudian diperkenalkan kembali pada tahun
2009 oleh Eric Evans pada rangkaian acara diskusi basis data terdistribusi yang open source.
NoSQL sangat berguna pada data-data yang terus menerus berkembang, dimana data
tersebut sangat besar dan kompleks sehingga sebuah basis data relasional tidak lagi bisa
membantu. Jika anda dihadapkan pada banyaknya data-data yang tidak terstruktur (seperti
teks, foto, file, video, pesan suara, memo), gunakanlah basis data non relasional yang dapat
memberikan fleksibilas yang lebih baik dibandingkan pendahulunya.

Jenis-jenis basis data NoSQL


Terdapat 5 jenis pada NoSQL, yaitu:

1. Key-Value model, model ini cukup sederhana namun powerful dan efisien. Memiliki
API (Application Programming Interface) yang sederhana. Data yang disimpan
biasanya adalah tipe data dari bahasa pemrograman atau objek. Data terdiri dari dua
bagian; data string yang merepresentasikan ‘key’ dan, data aktual yang disebut
sebagai value sehingga tercipta pasangan dari ‘key-value’. Model ini tidak
menggunakan bahasa query dan fitur sepeti join dan juga operasi agregat seperti basis
data relasional. Key value model digunakan pada situasi di mana anda ingin
menyimpan session atau daftar belanjaan atau mendapatkan detail produk favorit
user. Dapat digunakan pada forum, website untuk online shopping, dll.
Contoh aplikasi database yang menggunakan key-value model, diantaranya:

 Amazon DynamoDB, dibuat oleh Amazon. Menyediakan database


server yang cepat, dapat diandalkan dan didesain untuk aplikasi berskala
internet.
 RIAK, adalah databse server yang terdistribusi, open source, fault
tolerance (sistem dapat tetap berjalan walau ada kesalahan pada
komponennya). Dikembangkan oleh Basho Technologies menggunakan
bahasa C, Erlang dan Javascript.
Logo RIAK

2. Column-Oriented Databases, kolom pada NoSQL tidak benar-benar seperti kolom


pada basis data relasional (tidak berbentuk tabel). Data tidak disimpan pada tabel
tetapi disimpan di dalam sebuah arsitektur terdistribusi yang sangat besar. Caranya,
setiap key diasosiasikan dengan satu atau lebih kolom. Model ini memberikan
skalabilitas yang tinggi dalam hal penyimpanan data.
Column-Oriented Database sangat cocok untuk data mining dan penganalisaan
aplikasi, dimana metode penyimpanan datanya ideal untuk hal tersebut.
Contoh aplikasi database yang menggunakan Column-Oriented :
 Big Table, dirilis tahun 2005 dan dibangun pada Google File System (GFS)
menggunakan bahasa C dan C++. Sebuah aplikasi database yang memiliki
performa tinggi, konsistensi, persisten dan, fault tolerance. Implementasi Big
Table ini memiliki tiga komponen utama : library yang bertaut pada tiap klien,
satu master server, dan tablets server. Gmail, Youtube, dan Google Earth
menggunakan Big Table.

Arsitektur dari BigTable

 Cassandra, dikembangkan oleh Apache Software Foundation dan dirilis pada


tahun 2008, menggunakan bahasa Java. Cassandra adalah pilihan yang tepat
ketika membutuhkan skalabilitas dan ketersediaan tinggi tanpa
mengorbankan kinerja sistem. Facebook, Twitter, eBay menggunakan
Cassandra sebagai database nya.

Logo Cassandra

3. Document Store Database, menyimpan data-data pada form dalam bentuk dokumen.
Database ini memberikan performa yang bagus dan pilihan skalabilitas horizontal.
Dokumen yang ada di dalam database ini sedikit familiar dengan record/tuple pada
database relasional, tetapi lebih fleksibel. Format standar untuk dokumennya seperti;
XML, PDF, JSON, etc. dokumen-dokumen tersebut dialamatkan menggunakan key
yang unik yang merepresentasikan dokumen tersebut.
Contoh aplikasi database yang menggunakan Document store database ini yaitu:

 MongoDB, dikembangkan oleh 10gen dan dirilis pada tahun 2009


menggunakan bahasa C++. MongoDB memiliki performa tinggi dan sangat
efisien dan juga konsistensi, persisten, fault tolerance. Database ini
menyimpan dokumen-dokumen dalam format BSOON (Binary JSON).
MongoDB cocok unutk data list produk karena proses pencarian lebih cepat
dibandingkan database relasional.

 CouchDB, dikembangkan oleh Apache Software Foundation dan dirilis pada


tahun 2005 menggunakan bahasa C++. Dokumen disimpan menggunakan
JSON, dapat diakses dengan HTTP untuk create dan update dokumen. Untuk
querynya dapat
mengunakan JavaScript.
CouchDB bekerja dengan
baik pada web modern
dan aplikasi mobile.
Anda bahkan dapat
langsung melayanni
aplikasi web melalui
CouchDB. Database ini
memberikan fitur seperti
on-the-fly transformasi
dokumen dan real-time
Interface CouchDB
pemberitahuan.
4. Graph Database, menyimpan data dalam bentuk grafik. Pada grafik terdapat node dan
edge, dimana node sebagai objeknya dan edge sebagai hubungan antar objek-objek.
Pada model ini, penekanan utamanya adalah pada koneksi antar data.
Graph Database dapat digunakan pada berbagai macam aplikasi seperti social
networking, bioinformatika, secutiry and acces control, cloud management, dll.
Contoh aplikasi database yang menggunakan Graph model ini yaitu:
 Neo4j, dikembangkan oleh Neo Technology dan dirilis pada tahun 2007
menggunakan bahasa Java. Ini merupakan database berbasis grafik yang
memliki performa tinggi. Menggunakan CYPHER sebagai query-nya. Neo4j
digunakan pada aplikasi seperti social networking. Neo4J harus dihindarai
apabila tidak ada hubungan diantara data data. Adobe, Cisco, Telenor dan
Mozilla menggunakan Neo4j sebagai database nya.

Graph database dengan Neo4j

5. Object Oriented Databases, data data atau informasi yang disimpan


direpresentasikan sebagai objek(memiliki konsep yang sama seperti OOP). Bahkan
object oriented database dapat disebut juga sebagai kombinasi dari konsep OOP dan
database. Terdapat fitur seperti OOP; enkapsulasi, polimorfisme, dan inheritance.
Kelas, objek, dan atribut-atribut memiliki fungsi yang sama seperti tabel, tuple, dan
kolom pada databse relasional. Object oriented database biasa digunakan pada
penelitian ilmiah, telekomunikasi, draftimg, dll. Tetapi database ini harus dihindari
saat data dan hubungan antar data masih terhitung sederhana.
Contoh aplikasi database:
 db4o, dimulai oleh Carl Rosenberger pada tahun 2000 dan produksi pertama
pada 2001, tahun 2004 telah diluncurkan dengan nama Db4object Inc dan
diambil alih oleh Versant Corporation pada tahun 2008. Dikembangkan dengan
bahasa Java dan C#.
db4o menggunakan Native Queries (NQ) yang berarti membolehkan user
untuk menggunakan berbagai macam bahasa pemrograman berbasis objek
seperti Java, C#, atau VB.Net. Ini menyediakan sebuah fungsi yang
memungkinkan menyimpan objek-objek menggunakan perintah tunggal. db4o
juga terdapat sistem replikasi. BMW, Bosch, Intel, IBM, Seagate menggunakan
db4o sebagai databasenya.

Implementasi Object-oriented database dengan db4o

NoSQL Database vs. SQL Database


NoSQL dan SQL masing masing memiliki kelebihan dan kekurangannya masing-masing.

Perbedaan SQL NoSQL


Type Relasional Non-Relasional
Data Disimpan di dalam tabel- Disimpan di dalam
tabel JSON file, dokumen
Skema Statis Dinamis
Skalabilitas Vertikal Horizontal
Bahasa Bahasa Query yang Tidak ada bahasa
terstruktur Query yang standar
Teorema Menggunakan ACID Menggunakan CAP
(Atomicity, Consistency, (Consistency,
Isolation and Durability) Availability and
Partition)
Penggunaan Lebih cocok untuk lebih cocok untuk
lingkungan permintaan- penyimpanan data
intensif kompleks hirarkis
SCRUM
Definisi Scrum

SCRUM adalah salah satu metode rekayasa perangkat lunak dengan menggunakan prinsip-
prinsip pendekatan AGILE, yang bertumpu pada kekuatan kolaborasi tim, incremental product
dan proses iterasi untuk mewujudkan hasil akhir.

Scrum sendiri bukan satu-satunya metode yang menggunakan pendekatan AGILE. Mungkin
kita juga pernah mendengar metode Extreme Programming (XP) yang juga menggunakan
pendekatan AGILE dalam rekayasa perangkat lunak. Masing-masing metode memiliki fokus
atau penekanan yang berbeda yang tentu saja dapat dikombinasika untuk menghasilkan
proses yang optimal.

Teknik SCRUM dapat dilakukan di sebuah kepanitiaan ataupun project lain diluar bisnis
teknologi informasi. Dalam teknik SCRUM terbagi dalam tiga roles, yang pertama adalah
Product Owner, Scrum Master dan Develophment/Scurm Team. Product owner bertugas
mengatur urusan dengan Stakeholder sedangkan Scrum Master mengurusi bagian internal, di
bagian Development Team mengatur urusan teknik pengerjaan project dan pembahasan yag
lebih rinci.

Banyak perusahaan multinasional menginternalisasi atau mengadopsi teknik ini sebagai


standar bekerja mereka, karena secara umum teknik crum berhasil membuat beberapa
perusahaan menaikan omset karena system yang telah teruji ini. Teknik scrum membuat
pekerjaan anda menjadi lebih tertata dan lebih detail.

Namun segala sesuatu memiliki nilai plun dan minus, begitu juga dengan teknik scrum ini,
scrum menjadikan pekerjaan lebih rapi namun teknik ini tidak cocok diterapkan pada
perusahaan jasa yang butuh deadline cepat. Scrum membuat pekerjaan menjadi lebih lama
dalam estimasi waktu. Namun segala sesuatunya pasti dapat di selesaikan apabila sudah
memiliki persiapan yang matang dari awalnya.

Step by step scrum

Dalam sebuah proses pengembangan perangkat lunak, dibutuhkan proses-proses


yang saling terintegrasi yang dimulai dari tahap requirement, design, implementasi,
testing sampai dengan deployment. Metodologi yang umum digunakan di Indonesia
saat ini yakni menggunakan RUP (Rational Unified Process), di mana tahap-tahap di
atas dilakukan secara urut dan terstruktur. Tetapi, seringkali pada proses
pengembangan perangkat lunak, ada banyak perubahan yang terjadi karena
dinamika perusahaan yang memungkinkan adanya penambahan requirement
(permintaan).
1. Backlog Grooming
Backlog Grooming merupakan tahap pertama yang harus dilakukan sebelum melakukan
tahap-tahap sprint pada Scrum. Meeting ini dilakukan dengan tujuan memilih tahapan
prioritas mana saja yang harus dilakukan selama pengerjaan sprint. Backlog Grooming wajib
dihadiri oleh seluruh Scrum Team, yang meliputi Product Owner, Scrum Master dan
Development Team. Keputusan tertinggi terletak pada Product Owner. Untuk itu
Development Team harus mengetahui apa yang sebenarnya diinginkan oleh Product Owner.

2. Sprint Planning

Sprint Planning merupakan meeting yang harus dilakukan setiap kali akan memulai sprint
baru. Pada meeting ini Scrum Team merumuskan task-task apa saja yang akan dikerjakan
pada 1 sprint. Perlu diperhatikan bahwa dalam 1 kali sprint yang penting bukan banyaknya
task yang bisa dikerjakan, tetapi kemampuan task yang dapat dikerjakan dari requirement
sampai dengan testing dalam 1 kali waktu sprint berjalan. Waktu sprint ideal berkisar 1-2
minggu, tetapi masih memungkinkan apabila sprint berjalan dalam waktu 1 bulan apabila
scope tasknya cukup besar dan tidak dapat dipisah
3. Daily Scrum
Daily Scrum merupakan meeting yang dilakukan setiap hari pada pengerjaan sprint. Pada
meeting ini anggota tim saling berbagai apa yang telah dikerjakan kemarin, apa yang akan
dikerjakan hari ini, dan apa saja hambatan yang ditemui selama pengerjaan. Scrum Master
harus memastikan seluruh anggota Development Team mengutarakan pendapatnya masing-
masing.
4. Sprint Review
Sprint Review merupakan meeting yang dilakukan setelah 1 kali pengerjaan sprint selesai.
Meeting ini dilakukan dengan cara mendemonstrasikan apa yang telah dicapai 1 sprint. Dalam
hal ini Scrum Team mendemonstrasikan hasil pekerjaannya kepada stakeholder terkait.
Apabila stakeholder memiliki masukan terkait hasil produk pada sprint terakhir, stakeholder
dapat meminta meeting dengan Scrum Team.
5. Sprint Retrospective
Sprint Retrospective merupakan meeting yang dilakukan pada terakhir 1 masa sprint. Pada
meeting ini masing-masing anggota Development Team mengutarakan pendapat mereka
terkait kinerja tim pada 1 sprint terakhir. Pendapat yang diutarakan lebih mengarah ke
kemampuan komunikasi, pembagian tugas, tanpa membahas sisi teknis project

Contoh project yang menggunakan metode SCRUM


Sistem smart parkir
Secara umum scenario sistem yang dibutuhkan untuk merancang Smart Parking
System adalah sebagai berikut:
Berdasarkan informasi yang diperoleh diatas maka berikut ini adalah rancangan
sistem Smart Parking dengan menggunakan metode Scrum:

1. Product Backlog
Berdasarkan informasi yang diperoleh maka sistem Smart Parking yang akan
dikembangkan dapat dibagi menjadi 3 (tiga) kategori besar.

Pendefinisian Proses

Proses Authentikasi:
1. Petugas memasukkan Kode Petugas beserta PIN (PIN akan diperoleh petugas pada
saat petugas tersebut menjadi petugas parker untuk pertama kalinya)
2. Sistem akan mencocokkan Kode Petugas dengan PIN yang dimasukkan apakah
sesuai dengan yang ada di database atau tidak
3. Apabila Kode Petugas dan PIN tidak sesuai maka proses authentikasi akan ditolak
dan apabila petugas sampai tiga kali salah memasukkan Kode Pegawai dan PIN, sistem
akan mengunci proses authentikasi
4. Apabila Kode Petugas dan PIN sesuai maka sistem akan mencatat tanggal masuk
serta jam masuk petugas dan petugas dapat melakukan akses ke sistem Smart Parking,
yang diawali dengan pop up “Authentikasi Berhasil Selamat Datang <Nama Petugas>”
5. Dan apabila petugas akan keluar dari sistem maka petugas dapat menekan tombol
Log Out dan sistem akan mencatat jam keluar dari petugas dan akan muncul pop up
“<Nama Petugas> Anda Yakin Untuk Keluar” apabila petugas menekan Ya maka akan
muncul pop up “Log Out Berhasil” dan apabila petugas menekan Tidak maka sistem
akan kembali seperti pada saat Log In
Proses Masuknya Kendaraan:
1. Setiap kendaraan yang masuk akan dicatat No Plat Kendaraan dan sistem akan
melakukan pengisian tanggal jam masuk kendaraan sesuai dengan informasi tanggl
dan jam di komputer, dengan cara petugas menekan tombol Kendaraan Masuk dan
menulis No Plat
2. Sistem akan mencatata No Plat Kendaraan, Jam Masuk, serta No Petugas yang
sedang Log In
3. Setelah sistem melakukan pencatatan maka melalui sistem akan dicetak karcis
parkir pada saat petugas menekan tombol Cetak
4. Karcis parker yang telah dicatak akan diserahkan kepada pengemudi

Proses Keluarnya Kendaraan:


1. Pengemudi akan menyerahkan karcis parkir sebagai bukti proses validitas antara
karcis dan plat nomor kendaraan yang keluar
2. Apabila ada ketidaksesuaian antara plat nomor kendaraan yang keluar dengan yang
tertera di karcis maka proses ini akan berhenti
3. Apabila sesuai antara plat
nomor kendaraan yang keluar
dengan yang tertera di karcis
maka petugas akan
memasukkan no plat dengan
menekan tombol Kendaraan
Keluar serta menekan tombol
OK apabila petugas sudah
mengisi No Plat
4. Sistem akan melakukan
perhitungan biaya parkir
kendaraan dengan
menampilkan pop up yang berisi
informasi jam masuk dan jam
keluar serta total bayar di
komputer dan menampilkan
total bayar di display sebagai
informasi untuk pengemudi
5. Pengemudi akan melakukan
pembayaran sesuai dengan
jumlah yang tertera

Perancangan Konseptual Sistem


DAFTAR PUSTAKA
1) Lith Adam, Jakob Mattson. "Investigating storage solution for large data", Chalmers
University of Technology, Göteborg, Sweden, 2010
2) Nayak Ameya, Poriya Anil, Poojary Dikshay. "Type of NOSQL Databases and its
Comparison with Relational Databases", International Journal of Applied Information
Systems (IJAIS), Volume 5– No.4, March 2013 – www.ijais.org
3) NoSQL; Ketika Database tidak lagi membutuhkan Relasi,
http://blog.randisunarsa.web.id/?p=383
4) SQL vs. NoSQL Databases: What’s the Difference?,
www.upwork.com/hiring/data/sql-vs-nosql-databases-whats-the-difference/
5) Memahami Perbedaan antara NoSQL dan SQL,
heri.staff.unisbank.ac.id/2015/07/11/memahami-perbedaan-antara-nosql-dan-sql/
6) CouchDB, couchdb.apache.org
7) Neo4j Blog; Webinar Follow-Up: RDBMS To Graph, neo4j.com/blog/webinar-follow-
relational-graph/
8) Smart Parking With SCRUM, reginakoilam.wordpress.com/2009/06/02/smart-
parking-with-scrum/
9) Apa itu Scrum? Apa Saja Manfaatnya?,
https://www.kompasiana.com/advessbusiness/apa-itu-scrum-apa-saja-
manfaatnya_5807261545afbd38183aab3a
10) Scrum Methodology, fadlikadn.wordpress.com/2014/09/26/scrum-
methodology/amp/

Anda mungkin juga menyukai