Senin, 07 Januari 2019

ARTIKEL IPTEK



Ilmu pengetahuan dan teknologi berkembang terus, bahkan dewasa ini berlangsung dengan pesat. Perkembangan itu bukan hanya dalam hitungan tahun, bulan, atau hari, melainkan jam, bahkan menit atau detik, terutama berkaitan dengan teknologi informasi dan komunikasi yang ditunjang dengan teknologi elektronika. 
Pengaruhnya meluas ke berbagai bidang  kehidupan, termasuk bidang pendidikan. Pengaruh perkembangan ilmu pengetahuan dan teknologi yang sangat cepat ini memberikan dampak positif dan dampak negatif. Perkembangan ilmu pengetahuan dan teknologi berdampak positif dengan semakin terbuka dan tersebarnya informasi dan pengetahuan dari dan ke seluruh dunia menembus batas ruang dan waktu. Dampak negatifnya yaitu terjadinya perubahan nilai, norma, aturan, atau moral kehidupan yang bertentangan dengan nilai, norma, aturan, dan moral kehidupan yang dianut masyarakat. Menyikapi keadaan ini, maka peran pendidikan sangat penting untuk mengembangkan dampak positif dan memperbaiki dampak negatifnya. Pendidikan tidak antipati atau alergi dengan perkembangan ilmu pengetahuan dan teknologi, namun sebaliknya menjadi subyek atau pelopor dalam pengembangannya.

Kamis, 03 Januari 2019

Artikel Pendidikan



Pendidikan Karakter Anak - Karakter merupakan etika yang berkaitan dengan tingkah laku dan sikap seseorang. Artikel pendidikan karakter menjadi sangat penting dalam upaya untuk memberikan pengertian pada anak maupun orang tua

Artikel Informasi Kesehatan


Penyakit Vagina
 Jangan remehkan penyakit vagina. Jika anda diduga memiliki masalah yang berhubungan dengan penyakit kewanitaan apakah itu periode mentruasi yang tidak teratur, masalah hormonal atau penyakit yang disebabkan hubungan seksual (STD), sebaiknya selalu periksakan ke dokter, Ini penting untuk mengetahui gejala yang ditimbulkan dan juga untuk mendapatkan informasi mengenai masalah kesehatan seksual yang banyak wanita hadapi, bagaimana mencegahnya dan bagaimana melindungi diri. Karena masih ada stigma mengenai kesehatan seksual, banyak wanita menghindari pergi ke dokter padahal penghindaran ini dapat mempengaruhi kesehatan serius termasuk kesuburan.

Kamis, 04 Mei 2017

TUGAS OPEN SOURCE 1
Hasil gambar untuk logo man 1 boyolali 
 DISUSUN OLEH :
MELINDA NUR CAHYANINGRUM ( XI IPA 2)

MADRASAH ALIYAH NEGERI 1 BOYOLALI
TAHUN PELAJARAN 2017
1. PENGERTIAN OPEN SOURCE
Open source adalah suatu istilah yang digunakan untuk software (perangkat lunak) yang membuka atau membebaskan source codenya dapat dilihat oleh pengunanya, dan membiarkan penggunanya dapat melihat bagaimana cara kerja dari software tersebut serta penggunanya juga dapat memperbaiki atau mengembangkan software tersebut menjadi lebih baik lagi.

2. KELEBIHAN DAN KEKURANGAN SOFTWARE OPEN SOURCE
KELEBIHAN
  • reativitas : Dengan Open Source kita bisa mempelajari cara kerja suatu perangkat lunak, memodifikasinya, bahkan membuat produk baru dari sumber yang ada.
  • Kemandirian : Kita tidak perlu lagi tergantung pada suatu produk tertentu, bahkan dengan Open Source kita bisa membuat produk yang sekelas dengan perusahaan berskala raksasa seperti Microsoft.
  • Penghematan :
  • Legalitas
  1. Hemat Waktu : Berapa banyak waktu yang kita sia-siakan untuk berurusan dengan virus komputer di sistem closed source (baca : Windows) ? Dengan menggunakan sistem operasi Open Source seperti 3D OS kita tidak perlu membuang waktu lagi berurusan dengan virus komputer.
  2. Hemat Biaya : Berapa banyak biaya yang perlu kita keluarkan untuk pembelian suatu produk proprietary seperti Windows, Photoshop, MS Office dan lain-lainnya ?
  3. Hemat Devisa : Berapa banyak devisa negara yang harus lari keluar negeri jika kita terus menggunakan produk proprietary ?
  1. Mengurangi Tingkat Pembajakan : Open Source memungkinkan kita untuk tidak lagi menggunakan milik orang lain secara tidak sah atau dengan kata lain kita tidak perlu lagi menjadi pencuri. Selain mengurangi tingkat pembajakan, secara otomatis dosa-dosa kita juga ikut berkurang.
  2. Meningkatkan Citra Negara : Tahukah Anda bahwa pembajakan menjadikan citra negara menurun ? Dan ini secara tidak langsung membawa akibat buruk pada hubungan dagang dengan luar negeri. Dan repotnya, di tahun 2009 ini Indonesia kembali masuk dalam daftar Priority Watch List.
KEKURANGAN
  • Kurangnya dukungan vendor : Harus diakui, masih cukup banyak vendor – baik Hardware, Software, ataupun Game – yang belum memberikan dukungan penuh pada Open Source. Dan hal ini tentu saja cukup menghambat perkembangan Open Source.
  • Kurangnya dukungan support : Karena belum cukup memasyarakat, maka dukungan support juga masih cukup sulit untuk ditemukan. Support untuk Open Source selama ini masih banyak bergantung pada Internet (baca : Google). Sehingga cukup menyulitkan mereka yang tidak mempunyai akses penuh pada Internet.
  • Kurangnya dukungan bisnis : Pandangan bahwa Open Source adalah gratis dan tidak bisa membaa manfaat bisnis sangat menghambat para pebisnis yang akan terjun di Open Source. Kurangnya dukungan dari pebisnis ini membuat Open Source tidak bisa mempromosikan dirinya secara baik dan ini secara tidak langsung membuat pengenalan Open Source menjadi lebih lambat.
  • Kurangnya promosi : Masih banyak orang yang beranggapan Open Source susah untuk dipergunakan, padahal perkembangan Open Source belakangan ini sudah cukup pesat dan bahkan dalam beberapa hal terkadang mampu menggungguli produk closed source. Kesalahpahaman ini bisa terjadi karena kurangnya promosi akan Open Source
 3. MACAM - MACAM LISENSI SOFTWARE BESERTA KETERANGAN DAN CONTOHNYA 


macam-macam aplikasi open source | sumber gambar: bedahinformatika.blogspot.com

Macam-macam aplikasi open source 
Berikut ini merupakan beberapa contoh open source software yang populer, diantaranya seperti di bawah:
  • Linux, merupakan software sistem operasi yang gratis dan sangat populer.
  • XAMPP, merupakan paket software yang berguna untuk simulasi dan pengembangan web, termasuk juga di dalamnya Apache dan MySQL (database).
  • Mozilla Firefox, merupakan software yang berguna untuk menjelajahi halaman web di internet.
  • OpenOffice, merupakan paket software perkantoran yang berguna untuk mengolah kata, tabel dan database.
  • osCommerce, merupakan software aplikasi web yang digunakan untuk toko online.
  • ClamAV & ClamWin, merupakan software antivirus.
  • Audacity, merupakan software perekam sekaligus pengolah audio.
  • GIMP, merupakan software pengolah foto dan juga gambar digital.
  • VideoLAN, merupakan software pemutar file multimedia.
  • Blender, merupakan program untuk pembuatan model 3 (tiga) dimensi, misalnya seperti animasi dan game.
  • Filezilla, merupakan softwere jaringan yang berfungsi untuk transfer file via protokol FTP pada jaringan komputer atau jaringan internet.
  • Mplayer, merupakan ssoftware pemutar musik yang berbasis open sourcE
  • 4. 10 aplikasi Open Source :
    1.      GIMP                       : Perangkat lunak untuk manipulasi grafik berbasis raster.
    2.      Mplayer                    : Sebuah pemutar musik yang tergolong sumberterbuka dan bebas.
    3.   OpenOffice.org       : Sebuah paket aplikasi perkantoran berkode sumber terbuka (open source) yang dapat diperoleh secara gratis.
    4.   Thunderbird         : Aplikasi mail client (MUA – Mail User Agent) yang fungsinya sama dengan Outlook Express, Eudora Mail, Evolution, Sylpheed, dan sejenisnya.
    5.     Filezilla                : program aplikasi jaringan yang berguna untuk transfer file via protokol FTP di jaringan komputer atau internet. Versi terbaru program ini adalah FileZilla 3.5.3, yang dirilis pada tanggal 08 Januari 2012. Software FileZilla dibuat dan dikembangkan oleh Tim Kosse.
    6.  Wine               : aplikasi perangkat lunak bebas dan sumber terbuka yang bertujuan untuk memungkinkan aplikasi yang dirancang untuk Microsoft Windows untuk berjalan di Unix-seperti sistem operasi. Wine juga menyediakan perpustakaan perangkat lunak, yang dikenal sebagai winelib, terhadap yang pengembang dapat mengkompilasi aplikasi Windows untuk membantu pelabuhan mereka untuk sistem Unix-like.
    7.   Firefox                 : sebuah aplikasi untuk browsing yang sangatpopuler, dibuat oleh mozilla corporation, firefox adalah salah satu web browser open
    source yang dibangun dengan Gecko layout engine.
    8.       Amarok                                : Amarok adalah cross-platform pemutar musik gratis dan open source

Kamis, 24 November 2016

PENGERTIAN BASESDATA

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
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:

  1. Definisi Data, yaitu fungsi yang memungkinkan kita untuk mendefinisikan model data dan kamus data.
  2. 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.
  3. Pengambilan Data, yaitu fungsi yang memungkinkan kita untuk mengambil data yang telah tersimpan dalam basis data.
  4. 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:

  1. Column-based,
  2. Document-based,
  3. Key-value,
  4. Graph, dan
  5. 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:

  1. 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.
  2. 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:

  1. Melalui HTTP pada alamat http://localhost:5985, dan
  2. 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

Mengakses CouchDB Melalui curl
Sementara akses Futon melalui browser akan langsung membawa anda pada halaman utama Futon:

Futon pada CouchDB

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)

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)

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)

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.