1.
Pengertian data adalah
things known or assumed,
yang berarti bahwa data itu sesuatu yang diketahui atau dianggap.
Diketahui artinya yang sudah terjadi merupakan fakta (bukti). Data dapat
memberikan gambaran tentang suatu keadaan atau persoalan. Data bisa
juga didefinisikan sebagai sekumpulan informasi atau nilai yang
diperoleh dari pengamatan (obsevasi) suatu objek. Data yang baik adalah
data yang bisa dipercaya kebenarannya
(reliable), tepat waktu dan
mencakup ruang lingkup yang luas atau bisa memberikan gambaran tentang
suatu masalah secara menyeluruh merupakan data relevan
CONTOH:
Jenis-jenis data dapat dibagi berdasarkan sifatnya, sumbernya, cara memperolehnya, dan waktu pengumpulannya. Menurut sifatnya, jenis-jenis data yaitu:
- Data Kualitatif: data kualitatif adalah data yang tidak
berbentuk angka, misalnya: Kuesioner Pertanyaan tentang suasana kerja,
kualitas pelayanan sebuah rumah sakit atau gaya kepemimpinan, dll.
- Data Kuantitatif: data kuantitatif adalah data yang berbentuk angka, misalnya: harga saham, besarnya pendapatan, dll.
Jenis-jenis data menurut sumbernya, antara lain:
- Data Internal: data intenal adalah data dari dalam suatu
organisasi yang menggambarkan keadaan organisasi tersebut. Contohnya:
suatu perusahaan, jumlah karyawannya, jumlah modalnya, atau jumlah
produksinya, dll.
- Data Eksternal: data eksternal adalah data dari luar suatu
organisasi yang dapat menggambarkan faktor-faktor yang mungkin
mempengaruhi hasil kerja suatu organisasi. Misalnya: daya beli
masyarakat mempengaruhi hasil penjualan suatu perusahaan.
Jenis-jenis data menurut cara memperolehnya, antara lain:
- Data Primer (primary data): data primer adalah data yang
dikumpulkan sendiri oleh perorangan/suatu organisasi secara langsung
dari objek yang diteliti dan untuk kepentingan studi yang bersangkutan
yang dapat berupa interview, observasi.
- Data Sekunder (secondary data): data sekunder adalah data
yang diperoleh/ dikumpulkan dan disatukan oleh studi-studi sebelumnya
atau yang diterbitkan oleh berbagai instansi lain. Biasanya sumber tidak
langsung berupa data dokumentasi dan arsip-arsip resmi.
Jenis-jenis data menurut waktu pengumpulannya, antara lain:
- Data cross section, yaitu data yang dikumpulkan pada suatu
waktu tertentu (at a point of time) untuk menggambarkan keadaan dan
kegiatan pada waktu tersebut. Misalnya; data penelitian yang menggunakan
kuesioner.
- Data berkala (time series data), yaitu data yang dikumpulkan
dari waktu ke waktu untuk melihat perkembangan suatu kejadian/kegiatan
selama periode tersebut. Misalnya, perkembangan uang beredar, harga 9
macam bahan pokok penduduk.
.2. Pengertian Informasi
Informasi adalah
sebuah pesan ucapan kata dari orang lain melalui komunikasi langsung maupun
tidak langsung yang memiliki makna dan
manfaat ,yang di kumpulkan melalui beberapa serangkaian proses yang tidak
terlalu panjang sehingga cepat di sebarkan dari orang yang satu ke orang yang
lain atau informasi tidak semua yang diberikan fakta.
Beberapa contoh informasi :
1. Seorang ibu sedang membeli sayuran di pasar
yang ternyata harganya naik,kemudian ibu pulang kerumahnya dan memberitahukan
ke ibu-ibu yang lain.
2.
Seorang pelajar yang membawa motor ke sekolah
ketika iya sedang di jalan iya terkena razia polisi kemudian ia melanjutkan
sekolah dan iya memberitahukan kepada teman-temannya bahwa dijalan yang iya
lewati ada razia polisi
3. Pengertian Database
Database adalah kumpulan dari data-data yang
membentuk suatu berkas (file) yang saling berhubungan (relation)
dengan tatcara yang tertentu untuk membentuk data baru atau informasi. Atau
basis data (database) merupakan kumpulan dari data yang saling berhubungan
(relasi) antara satu dengan yang lainnya yang diorganisasikan berdasarkan skema
atau struktur tertentu. Pada komputer, basis data disimpan dalam perangkat hardware
penyimpan, dan dengan software tertentu dimanipulasiunruk kepentingan atau
keguanaan tertentu. Hubungan atau relasi data biasanya ditunjukkan dengan kunci
(key) dari tiap file yang ada. Data merupakan fakta atau nilai (value)
yang tercatat atau merepresentasikan deskripsi dari suatu objek.
4.Fungsi basis data
PERAN BASIS DATA Basis data penting
dalam pengolaan data dalam menggunakan komputer, karena bebrapa alasan yaitu:
- Sebagai komponen utama atau penting dalam sistem
informasi, karena merupakan dasar dalam menyediakan informasi.
- Menentukan kualitas informasi yang cepat, akurat,
relevan, sehingga informasi yang disajikan tidak basi. Informasi dapat
dikatakan bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya
mendapatkannya.
5. Contoh penggunaan Aplikasi
basis data dalam dunia bisnis
§
Bank : Pengelolaan data nasabah, akunting, semua transaksi
perbankan
§
Bandara : Pengelolaan data reservasi, penjadualan
§
Universitas : Pengelolaan pendaftaran, alumni
§
Penjualan : Pengelolaan data customer, produk, penjualan
§
Pabrik : Pengelolaan data produksi, persediaan barang, pemesanan,
agen
§
Kepegawaian: Pengelolaan data karyawan, gaji, pajak
§
Telekomunikasi : Pengelolaan data tagihan, jumlah pulsa
Contoh basis data
contoh basis data
dapat dinyatakan dalam
bentuk skema
PENGERTIAN
A.
Apa itu field, record, table, file, data & basis data?
Field
adalah kumpulan dari karakter yang
membentuk satu arti, maka jika terdapat field misalnya seperti NomerBarang atau
NamaBarang, maka yang dipaparkan dalam field tersebut harus yang berkaitan
dengan nomer barang dan nama barang. Atau definisi field yang lainnya yaitu
tempat atau kolom yang terdapat dalam suatu tabel untuk mengisikan nama-nama (data)
field yang akan di isikan.
Record
adalah kumpulan field yang sangat lengkap,
dan biasanya dihitung dalam satuan baris. Tabel adalah merupakan
kumpulan dari beberapa record dan juga field. File adalah terdiri dari
record-record yang menggambarkan dari satu kesatuan data yang sejenis. Misalnya
seperti file nama barang berisikan data tentang semua nama barang yang ada. Data
adalah kumpulan fakta atau kejadian yang digunakan sebagai penyelesaian
masalah dalam bentuk informasi. Pengertian basis data (database) adalah
basis data yang terdiri dari dua kata, yaitu kata basis dan data. Basis dapat
di artikan markas ataupun gudang, maupun tempat berkumpul.
B.Basis Data dalam Aplikasi Web
Database Management System (DBMS)
Pada definisi yang paling murni, sebuah basis data adalah kumpulan data yang
terorganisir dengan baik. Koleksi data ini kemudian dimodelkan berdasarkan
berbagai aspek dalam dunia nyata, yang pada akhirnya akan mempermudah kita
dalam mengambil informasi itu kembali. Misalnya, sebuah basis data perguruan
tinggi dapat saja menyimpan data mahasiswa sedemikian rupa sehingga kita dapat
dengan mudah mengambil informasi mata kuliah yang dipelajari mahasiswa pada
setiap semesternya.
Database Management System (DBMS) merupakan sebuah perangkat lunak yang
berhubungan dengan pengguna, aplikasi lainnya, dan basis data secara langsung
untuk mengambil, menyimpan, dan menganalisa data yang ada. Sebuah DBMS umumnya
memiliki fungsi-fungsi seperti:
- Definisi
Data, yaitu fungsi yang memungkinkan kita untuk mendefinisikan model data
dan kamus data.
- Manipulasi
Data, yaitu fungsi yang memungkinkan kita untuk menambahkan,
memperbaharui, maupun menghapus data yang telah kita simpan. Data selalu
dimanipulasi berdasarkan model data yang telah ditentukan.
- Pengambilan
Data, yaitu fungsi yang memungkinkan kita untuk mengambil data yang telah
tersimpan dalam basis data.
- Administrasi
Data, yaitu fungsi-fungsi administrasi data seperti penambahan indeks, hak
akses data, back
up, dan lain-lain.
Beberapa contoh DBMS populer misalnya MySQL, PostgreSQL, Microsoft SQL
Server, Oracle, dan IBM DB2. DBMS berinteraksi dengan pengguna menggunakan
aplikasi khusus yang biasanya dipaketkan dengan DBMS. Untuk berinteraksi dengan
aplikasi, DBMS menggunakan sistem koneksi standar seperti ODBC atau JDBC. Baik
aplikasi maupun pengguna biasanya berinteraksi dengan DMBS melalui sebuah
bahasa khusus, misalnya SQL (Standard Query Language) atau Javascript.
DMBS dibagi berdasarkan model basis data yang didukungnya. Sampai dengan
saat penulisan, model basis data yang paling populer masih model relasional
(yang digunakan oleh MySQL, PostgreSQL, dll) [1].
Model Basis Data
Model Basis Data merupakan salah satu sistem pemodelan data yang menentukan
struktur logis dari sebuah basis data, dan pada dasarnya mendefinisikan
bagaimana sebuah data pada basis data disimpan, disusun, dan dimanipulasi.
Terdapat sangat banyak sekali model basis data yang ada, tetapi kita hanya
akan membahas dua model yang paling populer pada masa penulisan, yaitu model
relasional dan NoSQL (key-value dan document-oriented).
Basis Data Relasional
Model relasional pada basis data dibangun berdasarkan first order logic.
Pada model relasional, berbagai data yang ada direpresentasikan oleh tuple,
dan dikelompokkan ke dalam relasi antar data. Dalam implemenatsi tipikal dari
model relasional, seluruh data tuple disimpan di dalam tabel-tabel
yang merepresentasikan model data. Tabel-tabel ini kemudian dihubungkan sebagai
penanda relasi antar tabel.
Setiap tabel yang ada di dalam implementasi model relasional biasanya
memiliki kunci penanda yang bersifat unik untuk setiap tuple yang ada.
Kunci ini dikenal dengan istilah primary key, yang memiliki kegunaan
utama sebagai penanda identitas data. Identitas data dapat sangat berguna
ketika kita ingin mengambil data spesifik (misal: nama dari karyawan dengan
nomor karyawan X).
Tujuan utama dari model relasional adalah untuk memberikan cara deklaratif
dalam menspesifikasikan dan mengambil data. Pengguna cukup memberitahukan
informasi apa yang ingin diambil dari basis data, dan DBMS akan bekerja secara
otomatis untuk mengambil data tersebut sesuai dengan prosedur dan model data
yang ada. Pada model relasional, pemanggilan data secara deklaratif umumnya
dilakukan dengan menggunakan bahasa SQL.
NoSQL (Not Only SQL)
NoSQL merupakan sebuah model basis data yang relatif modern, pertama kali
dicetuskan pada tahun 1998. Sebuah basis data NoSQL menyediakan mekanisme
penyimpanan ataupun pengambilan data yang dimodelkan berbeda dengan model
relasi antar tabel yang ada pada model relasional.
Terdapat banyak jenis dari model yang diadopsi oleh NoSQL, misalnya:
- Column-based,
- Document-based,
- Key-value,
- Graph, dan
- Multi-model.
Motivasi utama dari pendekatan model data yang berbeda pada NoSQL yaitu
kesederhanaan perancangan, kemudahan pengembangan, dan kemudahan kontrol
ketersediaan basis data. Pada kebanyakan kasus, model basis data yang diadopsi
oleh NoSQL memberikan performa yang lebih baik dengan mengorbankan konsistensi data
yang disimpan.
Transaksi Basis Data
Dalam konteks basis data, sebuah transaksi adalah sekumpulan perintah yang
dieksekusi terhadap basis data. Sebuah transaksi biasanya dijalankan di dalam
DBMS, dan dianggap sebagai bagian terpisah dari transaksi lainnya. Hal ini
berarti setiap transaksi dapat berjalan dan dibatalkan tanpa mempengaruhi
transaksi lainnya. Sebuah transasksi juga harus bersifat logis, konsisten, dan
dapat diandalkan karena transaksi merepresentasikan perubahan dalam basis data.
Sebuah transaksi merupakan unit eksekusi yang harus dijalankan secara penuh
atau tidk sama sekali. Hal ini dilakukan untuk menjaga integritas dan
kompleksitas data. Contoh dari sebuah transaksi adalah pengiriman dana dari
satu rekening bank ke rekening lainnya. Operasi ini harus berjalan secara
penuh, dan jika terdapat masalah operasi harus dibatalkan sepenuhnya juga
karena:
- Jika operasi
pengiriman berjalan sampai setengah dan dibatalkan, kita tidak dapat
memastikan apakah dana sudah terkirim atau tidak, identitas pengirim dan
penerima benar, serta berapa jumlah dana yang bergerak. Semua detil data
yang disebutkan sebelumnya dapat saja hilang atau bahkan berubah karena
transaksi yang belum diselesaikan.
- Jika
sebagian operasi pengiriman selesai, tetapi operasi yang lain gagal
(misal: dana masuk, tetapi data pengirim tidak masuk) maka proses
verifikasi dan otorisasi transfer akan menjadi lebih kompleks dari yang
seharusnya.
Pada basis data modern, DMBS akan memastikan sebuah transaksi berjalan
dengan benar, dan jika tidak transaksi dibatalkan. Misalnya, pengguna lain
tidak akan dapat mengakses data yang sedang diproses oleh sebuah transaksi.
Berbagai hal lain juga dilakukan, dengan satu tujuan utama: apapun yang
terjadi, data pengguna selalu konsisten dan benar. Pada contoh transaksi
pengiriman dana perbankan, DBMS akan memastikan tidak ada kejadian di mana dana
terpotong dari satu rekening tetapi tidak masuk ke rekening lainnya.
Transaksi dalam basis data umumnya memiliki empat sifat utama, yang dikenal
dengan istilah ACID:
- Atomic, yaitu sebuah transaksi
dijalankan dalam satu unit. Jika sebuah perubahan dieksekusi, perubahan
tersebut akan dijalankan dengan hanya satu kali proses. Tidak ada
“setengah perubahan”. Jika transaksi gagal atau dibatalkan, data akan
dikembalikan ke status valid terakhir.
- Consistent, perubahan dan
transaksi hanya dapat berjalan jika hasil dari perubahan tersebut merupakan
data yang valid. Seluruh data yang masuk ke dalam basis data harus telah
valid sesuai dengan seluruh aturan (CONSTRAINT, CASCADE, TRIGGER, dst)
yang ada. Jika perubahan yang akan dilakukan tidak dapat menghasilkan data
valid, transaksi akan dibatalkan, dan data dikembalikan ke status valid
terakhir.
- Isolated, yaitu sifat di mana
sebuah transaksi terpisah dengan transaksi lainnya dan tidak ada orang
atau sistem yang dapat melihat apa yang dilakukan oleh transaksi sampai
proses transaksi selesai dijalankan.
- Durable, begitu sebuah
transaksi selesai dieksekusi, data hasil transaksi akan dijamin telah
tersimpan dengan benar, apapun yang terjadi setelah transaksi tersebut
dieksekusi. Hal ini berarti terdapat jaminan ketahanan terhadap hal-hal
seperti mati listrik, error,
dan crash.
Satu hal yang perlu diingat dari transaksi dan ACID adalah bahwa pada
perangkat lunak yang mewajibkan adanya integritas data, dukungan sebuah DBMS
terhadap ACID merupakan hal yang sangat penting dan tidak dapat dikompromikan.
Tidak peduli apakah sebuah basis data tersebut adalah basis data relasional
atau NoSQL, selama data dapat dipastikan aman dan mendukung ACID maka kita
dapat menggunakan basis data tersebut.
Dukungan ACID pada sebuah basis data juga memastikan bahwa basis data
tersebut dapat mendukung paralelisme dan konkurensi dengan baik, karena sifat
isolasi dan atomik dari transaksi. Sifat atomik dan isolasi sangat penting
untuk paralelisme, yang pada akhirnya akan memudahkan kita mengembangkan sebuah
aplikasi web yang dapat menangani banyak proses dan pengguna sekaligus.
CouchDB
CouchDB merupakan salah satu basis data NoSQL yang dirancang untuk bekerja
sangat baik dengan dunia web. CouchDB:
- merupakan
basis data document-oriented,
- menggunakan
format JSON untuk menyimpan data,
- menggunakan
JavaScript sebagai bahasa untuk mengakses data, dan
- menggunakan
HTTP sebagai API penghubung.
Keempat hal di atas menyebabkan CouchDB sangat cocok dan mudah diadopsi
untuk pengembangan web. HTTP merupakan bahasa universal dalam web, dan JSON
merupakan format pertukaran data yang dapat dimengerti oleh mayoritas bahasa
dan sistem yang digunakan untuk mengembangkan web.
Pada bahasan kali ini, kita akan mempelajari CouchDB sebagai sistem basis
data untuk sebuah web. Jika anda belum pernah menggunakan CouchDB, silahkan
unduh dan pasang CouchDB melalui website
resminya.
Dasar CouchDB
Selesai diinstalasi, CouchDB dapat diakses dengan dua cara:
- Melalui
HTTP pada alamat http://localhost:5985, dan
- melalui
aplikasi Futon yang dapat diakses melalui http://127.0.0.1:5984/_utils/
pada browser.
Mengakses dengan browser merupakan cara yang paling mudah untuk
dilakukan oleh pengguna. Akses melalui HTTP biasanya digunakan untuk aplikasi,
tetapi pengguna juga dapat menakses dengan menggunakan perangkat lunak seperti curl
atau Postman.
Akses dengan perintah curl dapat dijalankan dengan perintah curl
http://localhost:5984, seperti
berikut:
Mengakses CouchDB Melalui curl
Sementara akses Futon melalui browser akan langsung membawa anda
pada halaman utama Futon:
Futon pada CouchDB
Sebagai langkah awal setelah instalasi, sangat disarankan untuk menjalankan
verifikasi instalasi melalui link “Verify Installation” yang ada di menu
sebelah kanan Futon. Klik pada link tersebut akan membawa anda ke halaman
khusus dengan 1 link untuk proses verifikasi. Klik link proses verifikasi untuk
menjalankan proses verifikasi instalasi CouchDB dan memberitahukan kepada anda
jika terjadi kesalahan. Verifikasi ini akan membuat dua basis data baru pada
CocuhDB, yaitu test_suite_db
dan test_suite_db2.
Kedua basis data ini dapat dihapus dengan aman.
Setelah memastikan CouchDB dapat berjalan dengan benar pada sistem anda,
mari kita coba untuk membuat sebuah basis data baru pada CouchDB.
Membuat Basis Data pada CouchDB
Membuat sebuah basis data pada CouchDB sangat mudah, apalagi jika anda
menggunakan Futon. Klik tombol “Create Database...” pada laman “Overview” (utama)
Futon, dan isikan nama basis data yang diinginkan pada form yang muncul.
Pembuatan Basis Data pada Futon
(CouchDB)
Setelah membuat basis data baru, kita akan dibawa pada laman yang menampilkan
daftar dari semua dokumen yang ada pada basis data tersebut. Daftar ini
sekarang masih kosong, karena memang belum diisi.
Basis Data Kosong pada Futon
(CouchDB)
Sebuah basis data di dalam CouchDB terdiri dari banyak dokumen. Seluruh
dokumen yang ada pada CouchDB direpresentasikan dalam format JSON, misalnya:
1
2
3
4
5
|
{
"judul": "Filosofi Kopi",
"pengarang": "Dee",
"tag": ["koleksi", "cerpen", "ringan"]
}
|
pada dokumen di atas, kita dapat melihat bagaimana “judul” merupakan sebuah field
data berisi string “Filosofi Kopi”. Field “tag” berisi sekumpulan
data, yaitu “koleksi”, “cerpen”, dan “ringan”.
Sebuah basis data pada CouchDB merupakan kumpulan dari dokumen-dokumen
seperti yang terlihat di atas. Setiap dokumen dalam CouchDB diidentifikasi
dengan sebuah nilai ID yang unik, sama seperti primary key pada basis
data relasional umumnya.
Pembuatan Dokumen Baru pada CouchDB
Pembuatan dokumen baru pada Futon cukup gamblang: klik tombol “New
Document”, dan anda akan dibawa ke laman pembuatan dokumen baru. Pada laman ini
awalnya anda akan diberi sebuah field standar, ID yang isinya telah
dibuat oleh CouchDB secara otomatis.
Untuk percobaan, nilai ID standar dapat digunakan. Untuk pengembangan
aplikasi penggunaan ID seperti ini sangat tidak disarankan, karena CouchDB tidak
dapat benar-benar mengetahui apa maksud dari setiap request dan
perintah yang dikirimkan oleh aplikasi. Misalkan, jika aplikasi mengirimkan
permintaan pembuatan dokumen sebanyak dua kali, pertama kali untuk pembuatan
dan kedua kali karena dokumen pertama gagal, CouchDB tidak akan mengetahui
bahwa sebenarnya hanya 1 dokumen yang diminta dan menghasilkan dua dokumen
dengan dua ID berbeda. Pembuatan ID oleh klien akan menanggulangi hal ini
karena perintah kedua akan mengirimkan dokumen dengan ID yang sama, sehingga
isi dokumen pertama tertimpa.
Setelah dokumen dibuat, Futon akan menapilkan dokumen baru dalam daftar
dokumen pada laman basis data.
Basis Data dengan Dokumen pada Futon
(CouchDB)
Perhatikan juga bagaimana dokumen baru yang dibuat oleh Futon memiliki
properti _rev
yang tidak tampak ketika kita membuat dokumen. _rev merupakan
properti yang menyimpan nomor revisi dari sebuah dokumen, dan secara otomatis
akan selalu diperbaharui ketika kita mengubah atau membuat sebuah dokumen.