Daftar Query SQL dan Fungsinya

April 25, 2016 in Basis Data

1. Data Definition Language (DDL)

DDL merupakan sub bahasa SQL  yang digunakan untuk membangun kerangka database. Terdapat tiga perintah yang termasuk ke dalam DDL, yaitu :

CREATE: Perintah yang digunakan untuk membuat, termasuk diantaranya membuat database, tabel, view, index, serta kolom yang baru. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk membuat database baru

  1. Create database nilai;

Sintaks diatas berfungsi untuk membuat sebuah database baru pada server yang bernama nilai.

Sintak untuk membuat tabel baru beserta kolomnya

  1. Create table mahasiswa (
  2. kd_mahasiswa char(3),
  3. nama_mahasiswa char(20)
  4. );

Sintaks diatas berfungsi untuk membuat sebuah tabel baru yang bernama mahasiswa serta dua buah kolom yang masing-masing bernama kd_mahasiswa dan nama_mahasiswa yang bertipe data char.

Sintak untuk membuat view

  1. Create view [Daftar Email Anggota] as
  2. select nama_anggota,email
  3. from anggota;

Sintaks diatas berfungsi untuk membuat sebuah view atau tampilan dari dua buah kolom pada tabel anggota.

Sintak untuk membuat index

  1. Create index addrsin
  2. on anggota (alamat);

Sintaks diatas berfungsi untuk membuat sebuah index baru pada database sehingga pembacaan data dapat cepat dilakukan tanpa melihat seluruh isi tabel yang ada pada database pada contoh diatas saya membuat index dengan nama addrsin pada tabel anggota untuk mengindex alamat.

ALTER: Perintah yang digunakan untuk merubah struktur tabel yang telah dibuat. Pekerjaannya mencangkup mengganti nama tabel, menambah kolom, mengubah kolom, menghapus kolom, maupun memberikan atribut pada kolom. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menambah kolom baru

Alter table jenis_barang add deskripsi text after nm_jenis;

Sintaks diatas berfungsi untuk membuat sebuah kolom baru yang bernama deskripsi pada tabel jenis_barang setelah kolom nm_jenis.

Sintak untuk mengubah nama kolom

  1. Alter table jenis_barang change nm_jenis nama_jenis char(50);

Sintaks diatas berfungsi untuk mengubah nama kolom nm_jenis menjadi kolom nama_jenis dengan tipe data char.

Sintak untuk mengubah nama tabel

  1. Alter table jenis_barang rename to data_jenis;

Sintaks diatas berfungsi untuk mengubah nama tabel jenis_barang menjadi tabel data_jenis.

DROP: Perintah yang digunakan untuk menghapus atau menghilangkan komponen index, database, tabel yang ada. Anda dapat menghapus kunci, kolom, maupun tabel itu sendiri. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menghapus index

  1. Drop index barang.stok;

Sintaks diatas berfungsi untuk menghapus index stok dari table barang.

Sintak untuk menghapus database

  1. Drop database barang;

Sintaks diatas berfungsi untuk menghapus database barang.

Sintak untuk menghapus tabel

  1. Drop table penjualan;

Sintaks diatas berfungsi untuk menghapus tabel penjualan.

RENAME: Perintah yang digunakan untuk mengubah nama, baik database maupun tabel. Dengan menggunakan perintah ini, nama database dan tabel yang salah dapat diganti dengan mudah dan cepat. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk mengubah nama database

  1. Rename database db_lama to db_baru;

Sintaks diatas berfungsi untuk merubah nama database db_lama menjadi db_baru.

Sintak untuk mengubah nama tabel

  1. Rename table data_jenis to jenis_barang;

Sintaks diatas berfungsi untuk merubah nama tabel data_jenis menjadi jenis_barang.

 

2. Data Manipulation Language (DML)

DML adalah sub bahasa SQL yang berfungsi memanipulasi data yang ada di dalam basisdata atau database. Perintah yang termasuk di dalam DML adalah INSERT, SELECT, UPDATE, dan DELETE.

INSERT: Perintah yang digunakan untuk menyimpan data ke dalam database. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan insert

  1. INSERT INTO Customers (CustomerName, City, Country)
  2. VALUES (‘Cardinal’, ’Stavanger’, ’Norway’);

Sintaks diatas berfungsi untuk memasukan data ke dalam database.

SELECT: Perintah yang digunakan untuk menyeleksi atau memilih data pada tabel. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk memilih seluruh data

  1. SELECT * FROM Customers;

Sintaks diatas berfungsi untuk menyeleksi semua data pada database.

Sintak untuk memilih data yang diseleksi

  1. SELECT CustomerName,City FROM Customers;

Sintaks diatas berfungsi untuk menyeleksi data tertentu pada database.

DELETE: Perintah yang digunakan untuk menghapus atau menghilangkan baris data (record) dari tabel. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan delete all

  1. DELETE * FROM barang;

Sintaks diatas berfungsi untuk menghapus semua data yang ada pada tabel barang.

Sintak untuk menggunakan delete dengan kondisi

  1. DELETE FROM Customers
  2. WHERE CustomerName=’Alfreds Futterkiste’ AND ContactName=’Maria Anders’;

Sintaks diatas berfungsi untuk menghapus beberapa data yang ada pada database dengan beberapa kondisi.

UPDATE: Perintah yang digunakan untuk memperbarui data yang lama menjadi data yang baru. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan update

  1. UPDATE Customers
  2. SET ContactName=’Alfred Schmidt’, City=’Hamburg’
  3. WHERE CustomerName=’Alfreds Futterkiste’;

Sintaks diatas berfungsi untuk memperbarui data customer yang sudah dibuat.

3. Data Control Language (DCL)

DML adalah bagian inti dari SQL (Structured Query Language) yang mempunyai kemampuan untuk mengatur hak akses terhadap sebuah basis data (database). Perintah yang termasuk di dalam DCL hanya terdapat dua buah yaitu GRANT dan REVOKE.

GRANT: Perintah yang digunakan untuk memberikan hak akses pada user. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan grant

  1. GRANT select, insert, update, delete ON dept TO barang;

Sintaks diatas berfungsi untuk memberikan izin atau akses pada dept untuk mengelola table barang.

REVOKE: Perintah yang digunakan untuk mencabut hak akses pada user. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan revoke

  1. REVOKE insert, update, delete ON dept FROM barang;

Sintaks diatas berfungsi untuk memncabut hak izin dept pada tabel barang.

4. Query Lainnya

Berikut merupakan beberapa sintaks query lainnya yang melengkapi query diatas.

Distinct: Sintak distinct digunakan untuk menampilkan hasil query sql jika ada row yang isinya sama, maka hanya akan diambil salah satu nya saja. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan distinct

  1. SELECT DISTINCT City FROM Customers;

Where:Sintak where digunakan untuk memilih record dengan kriteria tertentu saja pada sebuah tabel. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan where

  1. SELECT * FROM Customers
  2. WHERE Country=’Mexico’;

AND:Sintak and digunakan untuk menampilkan record dengan kondisi pertama dan kedua bernilai benar. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan and

  1. SELECT * FROM Customers
  2. WHERE Country=’Germany’
  3. AND City=’Berlin’;

OR:Sintak or digunakan untuk menampilkan record dengan kondisi pertama atau kondisi kedua bernilai benar atau salah satu benar. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan or

  1. SELECT * FROM Customers
  2. WHERE City=’Berlin’
  3. OR City=’München’;

ORDER BY:Digunakan sebagai referensi pengambilan data serta mengurutkan data berdasarkan kolom (field) tertentu. Secara default, urutan tersusun secara ascending (urut kecil ke besar). Anda dapat mengubahnya menjadi descending (urut besar ke kecil) dengan menambahkan perintah DESC. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan order by

  1. SELECT * FROM registrasi
  2. ORDER BY email;

ASCENDING:Digunakan untuk mengurutkan data dengan urutan kecil ke besar. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan ascending

  1. SELECT * FROM registrasi
  2. ORDER BY id ASC;

DESCENDING:Digunakan untuk mengurutkan data dengan urutan data dari besar ke kecil. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan descending

  1. SELECT * FROM registrasi
  2. ORDER BY id DESC;

Top/Limit:Digunakan untuk mengambil data record yang paling atas pada tabel sesuai dengan ketentuan. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan top/limit

  1. SELECT TOP 2 * FROM Customers;

Query diatas mengambil 2 buah tabel teratas pada database.

LIKE:Digunakan untuk mengambil record dengan kriteria tertentu pada sebuah tabel. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan like

  1. SELECT * FROM registrasi
  2. WHERE nama LIKE ‘a%’;

Query diatas mengambil data dengan nama yang berhuruf depan ‘a’.

IN:Digunakan untuk pencarian data menggunakan lebih dari satu filter pada perintah Where. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan in

  1. SELECT * FROM registrasi
  2. WHERE kota IN (‘Medan’,’Siantar’);

BETWEEN:Digunakan untuk menentukan luas jangkauan pencarian. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan between

  1. SELECT * FROM registrasi
  2. WHERE id
  3. BETWEEN 5 and 15;

Query diatas untuk menjangkau jangakauan pencarian antara 5 dan 15.

ALIASES (AS):Digunakan untuk membuat tabel temporary atau sementara pada database. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan aliases

  1. SELECT CustomerName AS Customer
  2. FROM Customers;

INNER JOIN:Inner join digunakan untuk menghasilkan baris data dengan cara menggabungkan 2 buah tabel atau lebih menggunakan pasangan data yang match pada masing-masing tabel. Perintah ini sama dengan perintah join yang sering digunakan. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan inner join

  1. SELECT Customers.CustomerName, Orders.OrderID
  2. FROM Customers
  3. INNER JOIN Orders
  4. ON Customers.CustomerID=Orders.CustomerID
  5. ORDER BY Customers.CustomerName;

LEFT JOIN:Left join biasanya digunakan untuk menghasilkan baris data dari tabel kiri (nama tabel pertama) yang tidak ada pasangan datanya pada tabel kanan (nama tabel kedua). Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan left join

  1. SELECT Customers.CustomerName, Orders.OrderID
  2. FROM Customers
  3. LEFT JOIN Orders
  4. ON Customers.CustomerID=Orders.CustomerID
  5. ORDER BY Customers.CustomerName;

RIGHT JOIN:Digunakan untuk menghasilkan baris data dari tabel kanan (nama tabel kedua) yang tidak ada pasangan datanya pada tabel kiri (nama tabel pertama). Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan right join

  1. SELECT Orders.OrderID, Employees.FirstName
  2. FROM Orders
  3. RIGHT JOIN Employees
  4. ON Orders.EmployeeID=Employees.EmployeeID
  5. ORDER BY Orders.OrderID;

FULL JOIN:Digunakan untuk menghasilkan baris data jika ada data yang sama pada salah satu table. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan full join

  1. SELECT Customers.CustomerName, Orders.OrderID
  2. FROM Customers
  3. FULL OUTER JOIN Orders
  4. ON Customers.CustomerID=Orders.CustomerID
  5. ORDER BY Customers.CustomerName;

UNION:Digunakan untuk mengkombinasikan record dari dua buah tabel dengan select statement. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan union

  1. SELECT City FROM Customers
  2. UNION
  3. SELECT City FROM Suppliers
  4. ORDER BY City;

NOT NULL:Digunakan untuk memberikan statement kepada record bahwa record itu tidak boleh bernilai kosong. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan not null

  1. CREATE TABLE Persons
  2. ( P_Id int NOT NULL,
  3. LastName varchar(255) NOT NULL);

 

5. Query Fungsi

Berikut merupakan beberapa sintaks query fungsi yang melengkapi query diatas.

AVG(): Digunakan untuk menghitung nilai rata-rata pada suatu tabel. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan avg

  1. SELECT AVG(Price) AS PriceAverage FROM Products;

COUNT(): Digunakan untuk menghitung data dengan kriteria yang spesifik. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan count

  1. SELECT COUNT(*) AS NumberOfOrders FROM Orders;

FIRST(): Digunakan untuk memilih nilai pertama pada kolom yang dipilih. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan first

  1. SELECT FIRST(CustomerName) AS FirstCustomer FROM Customers;

LAST(): Digunakan untuk memilih nilai terakhir pada kolom yang dipilih Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan last

  1. SELECT LAST(CustomerName) AS LastCustomer FROM Customers;

MAX():Digunakan untuk mendapatkan nilai paling besar dari semua nilai yang ada pada tabel yang diseleksi. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan max

  1. SELECT MAX(Price) AS HighestPrice FROM Products;

MIN(): Digunakan untuk mendapatkan nilai paling kecil dari semua nilai yang ada pada tabel yang diseleksi. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan min

  1. SELECT MIN(Price) AS SmallestOrderPrice FROM Products;

SUM(): Digunakan untuk menjumlahkan nilai yang ada pada tabel. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan sum

  1. SELECT SUM(Quantity) AS TotalItemsOrdered FROM OrderDetails;

HAVING(): Digunakan sebagai operator kondisi pada database. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan having

  1. SELECT Employees.LastName, COUNT(Orders.OrderID) AS NumberOfOrders FROM (Orders
  2. INNER JOIN Employees
  3. ON Orders.EmployeeID=Employees.EmployeeID)
  4. GROUP BY LastName
  5. HAVING COUNT(Orders.OrderID) > 10;

UCASE(): Digunakan untuk mengkonversi data menjadi uppercase/huruf besar. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan ucase

  1. SELECT UCASE(CustomerName) AS Customer, City
  2. FROM Customers;

LCASE(): Digunakan untuk mengkonversi data menjadi lowercase / huruf kecil. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan lcase

  1. SELECT LCASE(CustomerName) AS Customer, City
  2. FROM Customers;

MID(): Digunakan untuk mengcasting beberapa karakter menjadi lebih simple. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan mid

  1. SELECT MID(City,1,4) AS ShortCity
  2. FROM Customers;

LEN(): Digunakan untuk menghitung jumlah karakter pada tabel tertentu. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan len

  1. SELECT CustomerName,LEN(Address) as LengthOfAddress
  2. FROM Customers;

NOW():Digunakan untuk mengambil data tanggal, jam, dan detik hari ini. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan now

  1. SELECT ProductName, Price, Now() AS PerDate
  2. FROM Products;

FORMAT(): Digunakan untuk memformat data pada tabel menjadi format tertentu. Berikut ini adalah contoh penggunaan sintak tersebut.
Sintak untuk menggunakan format

  1. SELECT ProductName, Price, FORMAT(Now(),’YYYY-MM-DD’) AS PerDate
  2. FROM Products;

sumber: http://ifasimam.blogspot.co.id/2015/03/kamus-query-sql.html

Normalisasi Sistem Rawat Inap

April 18, 2016 in Basis Data

Berikut ini adalah contoh tabel Sistem Database Rawat inap pada sebuah Rumah Sakit

dalam bentuk CDM (Conceptual Data Mo0del)

CDM RI

kemudian dalam bentuk PDM (Physical Data Model):

PDM RI

Tentang Basis Data (Resume Buku Basis Data Universitas Widyatama)

March 28, 2016 in Basis Data

BAB 1 PENGANTAR BASIS DATA

    Database atau basis data merupakan salah satu kelebihan dan kemudahan pengelolaan yang tersedia akibat adanya perkembangan teknologi computer saat ini. Database uga merupakan elemen penting dari berbagai aplikasi/program yang popular kita gunakan sehari-hari , baik yang berbasis web seperti fb,twitter, kaskus, dll, atau yang berbasis esktop seperti jaringan mesisn ATM.

Sebelum dikenal luas, banyak pembuat aplikasi yang menggunakan pendekatan file dalam penyimpanan dan pengelolaan data. File didefinisikan sebagai kumpulan record atau dokumen yang digunakan di suatu organisasi, orang dan subjek tertentu. Pengolahan data menggunakan file biasanya menggunakan pendekatan batch processing atau perubahan data tidak langsung diterapkan di berbagai file, jika salah satu berubah isi datanya. Perubahan akan dilakukan secara kolektif dan periodic.

Masalah yang sering terjadi pada proses pengolahan data berbasis file adalah:

  • Data Redunancy: file dan aplikasi diuat oleh programmer yang berbeda yang berada pada bagian atau unit yang berbeda beda sehingga seringkali data yang sama dituliskan berulang ulang pada file yng berbeda beda juga.
  • Inconsistency format data: karena informasi diisikan dalam file yang berbeda dan pengisian pada file belum tentu mengacu pada format yang sama.
  • Inconsistency data: data yang dituliskan pada file yang berbeda-beda dan menimbulkan konflik untuk menentukan mana data yang benar.
  • Isolasi data: sulit bagi aplikasi baru untuk membaca atau mengambil data yang disimpan file yang berbeda beda.
  • Masalah intergritas: nilai data harus memenuhi kendala / constraint tertentu dan harus konsisten tersebut.
  • Security: sulit menjaga hak akse data yang disimpan pada file. Ketika sudah dapat dibuka maka seringkali semua isi data juga dapat dilihat.
  • Anomaly akses konkuren: data mungkin saja diakses oleh banyak aplikasi yang mungkin saja saling tidak saling terkordinasi satu sama lain sehingga sulit membuat strategi perubahan data secra smilutan.

Kesulitan pengelolaan data pada file diatas dapat diatasi dengan menggunakan pendekatan baru pada pengelolaan data yaitu database. Database didefinisikan sebagai kumpula data yang saling berelasi yang digunakan untuk mendukung aktivitas suatu organisasi. Karakteristik databse adalah representasi dunia nyata, koheren, dirancang, diabngun dan diisi dengan data.

DBMS (database management system) merupakan kumpulan program yang memungkinkan penguna DBMS untuk membuat, mengelola dan mengendalikan akses terhadap database. Tujuannya untuk menyediakan lingkungan yang mudan dan efisien bagi pengguna untuk menyimpan dan mengambil informasi yang dibutuhkan..

Ada beberapa karakteristik dasar yang membedakan antara pendekatan berbasis file dengan pendekatan berbais database. Yaitu:

  • Self- describing nature: sistem database tidak hanya memuat database itu sendiri tetapi juga deskripsi struktur data dan kendala pada data yang disebut sebagai meta data.
  • Insulation program data: pada pengolahan data menggunakan file, struktur data didefinisikan pada program aplikasi sehingga jika pengguna ingin mengganti struktur file.
  • Multiple views: view adalah potongan atau bagian tertentu data dari database yang didefinisikan atau dikhususkan untuk aplikasi atau program tertentu.
  • Sharing data dan Mutliuser: sistem database multiuser memungkinkan banyak pengguna mengakses database pada waktu yang sama.

Berdasarkan prinsip atau karakteristik database diatas, maka pengelolaan data menggunakan database memiliki beberapa manfaat sebagai berikut:

  • Mengendalikan redundansi data
  • Sharing data
  • Mendukung Integrity constraints
  • Membatasi akses
  • Data Independence
  • Pengolahan transaksi
  • Multiple view data
  • Fasilitas backup dan recovery

Selain beberapa kelebihan di atas, penggunaan Database juga memiliki beberapa kekurangan yaitu:

  • Biaya untuk membeli dan mengembangkan software dan hardware
  • Pada teknologi database tersentralisasi, duplikasi data dapat dikurangi, tetapi dampaknya jika database tersebut tidak memiliki mekanisme backup yang memadai maka dapat menimbulkan potensi kegagalan recovery data.
  • Pada teknologi database terpusat, terdapat beberapa masalah penting seperti keamanan akses data dan kecepatan.

Model data merupakan sekumpulan konsep yang digunakan untuk menggambarkan struktur penyimpanan data pada database. Struktur data pada database berarti tipe data, relasi data, dan constraint. Terdapat 3 tingkatan abstraksi database yang memudahkan pengguna umum, yaitu:

  • View Level: merupakan tingkatan abstraksi tertinggi yang hanya menggambarkan bagian kecil dari database.
  • Logical Level: level ini menggambarkan data apa saja yang disimpan pada satu database.
  • Physical Level: merupakan level terendah yang menggambarkan bagaimana data disimpan dalam bentuk fisik pada computer.

Berdasarkan tingkat deskripsi rinciannya, model data dapat dibedakan menjadi:

  • Model data High-level Conceptual: menyediakan konsep yang sangat mirip dengan cara orang memandang data.
  • Model data Logical Record-based: menyediakan konsep yang dapat dipahami oleh pengguna tapi sangat erat kaitannya dengan cara bagaimana data tersebut disimpan pada computer.

Model data lain didasari atas struktur penyimpanan data pada software DBMS yang terbagi atas:

  • Model data relasional
  • Model data hirarkikal
  • Model data network.

Arsitektur database dapat dijelaskan dengan arsitektur konseptual untuk database dan arsitektur sistem untuk DBMS. Arsitektuk sistem 3 lapis digunakan untuk menjelaskan pendekatan database secara konseptual. Pada konsep arsitektur tiga level dilakukan beberapa pemetaan dari konsep pada satu level ke level berikutnya. TIga level itu adalah:

  • External Level: merupakan level paling tinggi yang memuat beberapa view.
  • Conceptual Level: merupakan level yang menggambarkan struktur logical database secara keseluruhan.
  • Internal Level: merupakan level yang menggambarkan bagaimana data disimpan sebenarnya dan bagaimana mengakses data.

DBMS merupakan software yang digunakan untuk mengelola database dan merupakan representasi dari arsitektur 3 lapis. Komponen-komponen utama DBMS antara lain:

  • DML Precompiler: merupakan elemen pada DBMS yang mampu mengeksekusi perintah DML yang biasanya dituliskan pada program aplikasi yang dibuat pengguna.
  • DDL Compiler: merupakan elemen yang bertugas menerjemahkan statemen DDL menjadi instruksi untuk mengubah struktur data pada satu table.
  • File Manager: merupakan elemen yang bertugas mengatur alokasi space data pada harddisk dan menentukan struktur data yang digunakan untuk menyimpan pada harddisk.
  • Database Manager: merupakan komponen yang menyediakan antarmuka antara program aplikasi dan query yang dikirimkan dari sistem dengan struktur data yang tersimpan pada harddsik. Terdapat tugas penting dari database manager, yaitu:
  • Interaksi dengan file manager
  • Menerapkan integritas data
  • Menjaga keamanan data
  • Backup dan recovery
  • Kendali konkurensi
  • Query Processor: digunakan untuk menginterpretasikan query secara online dan menerjemahkan query yang dituliskan menjadi sekumpulan operasi yang dapat dieksekusi oleh database manager.
  • Data Dictionary: merupakan tempat penyimpanan definisi tentang data. Data dictionary berupa semacam direktori yang menyediakan infomrasi tentang data, mislanya nama table, nama field, ukuran, tipe data, hubungan antar data dan sebagainya

Adanya pemisahan tingkatan pada tiga lapis arsitektur diatas bertujuan untuk mencptakan data inpedendence, artinya perubahan skema pada satu level tidak mempengaruhi skema pada level yang lebih tinggi. Data independence ada dua level yaitu:

  • Logical data independence yaitu kemampuan untuk membuat perubahan pada conceptual skema tanpa mengakibatkan perubahan pada view atau program yang diakses oleh pengguna.
  • Physical data independence yaitu kemmapuan untu melakukan perubahan pada internal schema tanpa mengakibatkan perubahan pada conceptual schema atau program aplikasi.

Pengguna database dapat terdiri dari berbagai jenis dan tingkatan. Berikut jenis pengguna database:

  • End users: orang yang mengakases data untuk mencari, memilih data, memodifikasi data atau membuat laporan yang berasal dari data tertentu. End user ada 2 yaitu:
  • o Naïve users, yaitu orang yang menggunakan aplikasi yang sudah berjalan untuk melakukan tugasnya sehari hari.
  • o Sphisticated users, yaitu orang yang menggunakan cara mereka sendiri untuk mengakses database.
  • o Specialized users yaitu orang yang mengelola databasepersonal dengan menggunakan paket program yang siap pakai dengan kemudahan fasilitas dan menu menu yang praktis.
  • o Application Programmer yaitu orang yang membuat program tertentu untuk mengakses data.
  • Database Administrator yaitu orang yang bertanggung jawab untuk membuat otorisasi akses database, memonitor penggunaan data dan semua sumber daya untuk penggunaan sistem database secara keseluruhan. Fungsi DBA antara lain: mendefiniskan schema, struktur penyimapan dan metoda akses, memberikan izin dan otoritas akses data, melakukan pemeliharaan rutin.

Pengelompokan sistem database dapat dilakukan dengan berbagai kriteria, misalnya:

  • Berdasarkan Model data, yang paling popular dan paling banyak digunakan pada DBMS yaitu model data relasional.
  • Berdasarkan banyaknya pengguna yang mengakses database, maka database dapat dibedakan menjadi single user dan multiuser.
  • Berdasarkan cara database didistribusikan maka kita mengenal sistem database tersentralisasi dan tersebar.

GIS atau Geographic Information System, yang dapat menyimpan informasi secara spatial sehingga dapat menyajikan informasi dalam skala ruang dan memberikan kemudahan visualisasi pada pengguna.

Warehouse merupakan kumpulan arsip data dari berbagai aplikasi, yang sudah ditata dengan aturan tertentu, dan berperan sebagai “ tempat penampungan” semua data di suatu organisasi.

Data Maining adalah data-data yang terkumpul pada gudang data dapat dimanfaatkan lebih lanjut dengancara melakukan analisis data untuk menggali informasi yang kemungkinan besar selama ini hidden pada pola pola data tersebut.

 

BAB 2 SIKLUS HIDUP DATABASE

    Fase analisis kebutuhan merupakan fase pertama dan sangat penting pada DBLC. Sasaran utama fase ini yaitu mengidentifikasi kebutuhan informasi pada suatu organisasi sehingga database yang dibuat dapat mendukung kebutuhan tersebut. Tahapan ini meliputi beberapa aktivitas seperti:

1. Mempelajari database yang sudah ada

2. Melakukan wawancara dengan pengguna

3. Membuat DFD jika diperlukan

4. Mendokumentasikan semua temuan

Tahapan awal pada fase requirement analysis adalah menganalisis database yang sudah ada. Pada fase ini dilakukan identifikasi objek bisnis dan business rule. Sumber identifikasi obyek bisnis adalah:

  • Legacy Database: yaitu database yang sudah digunakan di organisasi tersebut sebelumnya
  • Paper base database: sistem file yang biasanya menyimpan data dalam bentuk berkas.

Business rule atau aturan bisnis menggambarkan kebijakan yang diterapkan pada data-data yang disimpan pada database organisasi. Aturan bisnis ini dapat diterapkan dalam bentuk constraint untuk menjamin bahwa database yang dibuat sesuai dengan aturan bisnis yang berlaku. Constraint membantu terbentuknya data integrity. Data integrity mengacu pada istilah yang menggambarkan kualitas data.

Tahapan berikutnya adalah wawancara dengan organisasi yang menggunakan data yang disimpan pada database. Lalu membuat data flow diagram. DFD tersebut merupakan semacam alat bantu untuk menyiapkan “user view” yaitu semacam “view” yang dibuat dengan SQL. Penggunaan View bermanfaat untuk:

  • Keamanan Data
  • Kebutuhan Informasi Pengguna
  • Menampilkan field hasil perhitungan

Pada tahap Logical Design, akan dibuat sebuah model konseptual yang diidentifikasi berdasarkan fase sebelumnya. Pada physical design adalah merancang database sedemikian rupa sehingga dapat mempercepat akses data, khususnya pada dua jenis operasi yang sering memakan waktu, pada RDMS, yaitu mengambil data dan menyimpan data ke database. Pada fase impelemntasi dibuatlah SQL untuk membuat table-tabel pada database. Hasil impelemntasi database harus di monitor dengan seksama untuk menjamin bahwa fungsionalitas database tersebut berjalan dengan benar dan aspek kemanan datanya terjamin.

 

 

 

BAB 3 DATABASE RELATIONAL

    Model database relasional merupakan salah satu model yang paling popular digunakan pada database komersial dewasa ini. Popularitasnya disebabkan oleh kesederhanaan model, kemudahan dipahami dan fleksibilitas pengembangannya. Database relasional terdiri atas sekumpulan table, yang masing masing diberi nama unik.adabeberapa konsel dan pengertian yang dapat digambarkan sebagai karakterisktik database relational adalah:

1. Database relational menyimpan data dalam bentuk table 2 dimensi.

2. Setiap baris data bersifat unik dan menyimpan data satu entitas.

3. Setiap kolom memiliki nama atribut yang unik.

4. Semua isi sel pada kolom yang sama memiliki tipe data yang sama.

Untuk menjaga keunikan record, maka harus ditentukan satu attribute sebagai key, yaitu attribute yang dapat mengidentifikasi secara unik setiap record. Supekey adalah kumpulan satu atau beberapa atribut yang digunakan untuk mengidentifikasi tuple secara unik pada satu relasi.

Contoh:

Pegawai(NIP,nama,dept_id, job_desc)

Contoh superkey diatas adalah:

  • NIP, nama
  • NIP, nama, job_desc
  • NIP, nama, dept_id, job_desc

Pada database untuk mengidentifikasi sebuah baris tidak diperlukan nilai dari semua kolom, teteapi hanya diperlukan nilai dari satu kolom saja yaitu NIP, maka NIP menjadi superkey minimal, yaitu himpunan minimum kolom yang dapat digunakan untuk identifikasi satu baris. Oleh karena itu NIP merupakan candidate key. Candidate key ini kemudian dintentukan sebagai primary key.

Primary Key dapat teridri atas lebih dari satu attribut jika penggunaan satu attribut dianggap kurang memadai.pada relasi primary key ditandai dengan attribute yang diberi garis bawah seperti contoh berikut:

Pegawai(NIP, nama, dept_id, job_desc)

Atribut yang tidak menjadi primrary key disebut foreign key, yaitu atribut yang tidak menjadi primry key dis atu relasi tetapi menjadi primry key di relasi yang lain. Foreign key menjadi penghubung satu relasi dengan relasi yang lainnya.

 

Pada database, dikenal istilah skema database dan instant database. Schema memuat semua daftar relasi, atribut dan hubungan antar relasi. Sedangkan database instance adalah tata pada satu saat tertentu. Skema databse teridir atas skema semua relasi beserta primary key dan foreign key, serta hubungan antar relasi, dapat digambarkan dalam sebuah diagram yang disebut diagram schema.

 

BAB 4 PERANCANGAN DATABASE

    Database yang baik yang harus dipersiapkan dan dirancang dengan. Manfaat perancangan database yang baik antara lain:

  • Struktur database mudah dimodifikasi dan pelihara.
  • Kemudahan modifikasi data.
  • Kemudahan dalam mengambil informasi.
  • Kemudahan dalam pembangunan dan pengembangan program aplikasi.

Terdapat dua pendekatan dalam perancangan database yaitu:

  • Berfokus pada konteks data yang akan disimpan pada database.
  • Berfokus pada data yang akan diakses dan ditampilkan oleh program aplikasi.

Pendekatan subject approach ini disebut sebagai prancangan top-down karena mengikuti empat fase seperti berkut:

1. Identifikasi dan deskripsi obyek bisnis.

2. Obyek bisnis dikelompokan sesuai dengan subyek masing-masing.

3. Pembuatan database untuk setiap area subyek.

4. Pembuatan program aplikasi untuk interaksi dan akses database.

Program aplikasi yaitu program yang dirancang untuk melakukan serangkaian aktivitas pada database, yang meliputi Create, Read, Update, Delete sesuai dengan kebutuhan pengguna.

Pemodelan ER merupakan salah satu cara umum untuk menyatakan hasil analisis kebutuhan data pada fase awal perancangan database. Tujuan utama fase analisis adalah:

  • Mengidentifikasi informasi yang dibutuhkan organisasi untuk melaksanakan tugas tertntu.
  • Identifikasi bagaimana informasi tersebut harus diorganisasi dan bagaimana kaitan antar kelompok informasi.

Entity adalah obyek tertentu pada lingkungan bisnis ang sedag kita amati.

Generalisasi adalah proses mendefinsikan entity type yang lebih umum berdasarkan bebrapa entity type khusus. Specialisasi adalah proses mendefiniskan satu atau beberapa subtype dari satu supertype dan membentuk relasi supertype-subtype.

Entity ada 2 yaitu :

  • Strong Entity : entitas yang harus ada di satu sistem dan kehadiran di sistem tersebut tidak bergantung pada entitas lain.
  • Weak entity: entitas yang kehadirannya pada sistem bergantung pada entitas lain.

 

Setiap entitas dapat dinyatakan karakteristiknya dengan satu atau beberapa atribut. Banyakanya atribut yang diperlukan untuk menggambarkan entitas tergantung tingkatkedetilan deksripsi entitas tersebut.

 

Pada database relasinal, setiap entitas terkait dengan entitas ainnya dan kaitan ini disebut dengan relationship. Relatonship adalah hubungan antar entitas. Ada 3 relationship:

  • Unary Relationship: relationship yang hanya menghubungkan 1 entitas saja.
  • Binary relationship: relationship yang menghubungkan 2 entitas.
  • Ternary Relationship: relationship yang menghubungkan 3 entitas.

 

Kardinalitas adalah atribut relasi yang menyatakan banyaknya anggota satu entitas berhubungan dengan anggota entitas lainnya. Pada ER dikenal 3 macam kardinalitas:

  • One-to-One : satu anggota entitas berhubungan hanya dengan satu anggota entitas lain.
  • One-to-Many : satu anggota entitas berhubungan dengan satu atau beberapa anggota entitas lainnya.
  • Many-to-Many : entitas dari kedua belah pihak dapat berhubungan dengan banyak entitas dari pihak lainnya.

 

Partisipasi merupakan constraint kardinalitas,yang menyatakan banyaknya instance satu entitas harus berhubungan dengan instance entitas lainnya. Dikenal 2 macam partisipasi yaitu:

  • Optional : jika satu atau semua instance pada satu entitas boleh tidak berhubungan dengan instance entitas lainnya, disebut juga sebagai partial participation.
  • Mandatory: jika satu atau semua instance pada satu entitas harus berhubungan dengan satu atau beberapa instance entitas lainnya, disebut juga sebagai total participation.

 

Associative entity adalah pendekatan lain untuk realisasi model ER pada database relasional. Munculnya associative entity dikarenakan pada database relational sebetulnya tidak mendukung rlesi many-to-many.

Model ER dapat dibangun dengan langkah-langkah sebagai berikut:

1. Identifikasi semua entitas yang terlibat, termasuk jenis entitas apakah entitas kuat/lemah, dan kemungkinan adanya subtype-supertype.

2. Identifikasi attribute semua entitas, terutama atribut penting yang akan dijadikan candidate key dan foreign key.

3. Identifikasi relasi anat entitas.

4. Tentukan kardinalitas pada relasi.

5. Tentukan partisipasi pada masing-masing relasi.

6. Gambarkan ER seusai dengan hasil identifikasi pada langkah-langkah sebelumnya.

BAB 5 TRANSFORMASI DIAGRAM ER

    Transformasi diagram ER merupakan aktivitas mengubah diagram ER menjadi perancangan database relasional dalam bentuk table-tabel. Bebrapa langkah yang dilakukan meliputi:

1. Pemetaan entitas regular.

2. Pemetaan atribut composite dan atribut multivalie.

3. Pemetaan entitas lemah.

4. Pemetaan relasi binary.

5. Pemetaan associative entity.

6. Pemetaan relasi unary.

7. Pemetaan relasi ternary.

8. Pemetaan relasi supertype-subtype.

9. Evaluasi secara keseluruhan.

1. Pemetaan entitas regular

Entitas regular adalah entitas yang tidak memiliki karakteristik khusus seperti dapat menjadi weak entity, atau menjadi associative entity, atau supertype dan sejenisnya. Entitas regulerdapat dianggap sebagai entitas kuat. Untuk setiap entitas regular pada ER dapat dilakukan hal-hal berikut:

  • Setiap entitas regular pada diagram ER ditransformasi menjadi satu relasi.
  • Nama pada relasi sama dengan nama entitas tersebut.
  • Semua atribut simple pada entitas regular berubah menjadi atribut relasi.
  • Identifier atau primary key pada entitas menjadi primary key pada relasi.

2. Pemetaan Atribut Composite dan Multivalue

Jika pada entitas regular ditemui beberapa attribute yang bukan simple atribut, maka perlu dilakukan beberpaa penyesuaian utnuk attribute-attribut tersebut sebagai berikut:

  • Atribut Composite diubah menjadi masing-masing attribute simple, dengan menghilangkan atribut utamanya.
  • Atribut Multivalue adalah atribut yang dapat memuat lebih dari satu nilai.

3. Pemetaan entitas lemah

Entitas lemah adalah entitas yang keberadaannya tergantung pada entitas kuat. Untuk setiap entitas lemah, dibuat relasi baru yang memuat semua atribut entitas lemah tersebut dan atribut dari entitas kuat sebagai penghubung dengan entitas kuat.

4. Pemetaan Relasi Biner

  • Kardinalitas One-to-One
  • o Transformasikan semua entitas menjadi relasi.
  • o Untuk salah satu entitas, ssipkan primary key dari entitas lainnya sebagai foreign key.
  • o Asosiasi pada satu arah dapat bersifat optional, sehingga asosiasi pada arah kebalikannya bersifat mandatory.
  • Kardinalitas One-to-Many
  • o Buatlah relasi untuk setiap entitas yang terlibat pada relationship.
  • o Gunakan atribut primary key pada entitas disisi one sebagai foreign key pada entitas disisi many.
  • Kardinalitas Many-to-Many

Jika ada dua relasi A dan B bersifat many-to-mny, maka relationship ditransformasikan menjadi relasi baru C, yang memiliki atribut primary key dari A dan dari B sebagai foreign key pada C. kedua atribut foreign key ini bersama-sama membentuk atribut composite key pada C.

5. Pemetaan Entitas Asosiatif

Adalah relasi many to many yang ditransformasi menjadi entitas sehingga dapat diperoleh relasi one to many pada kedua sisi. Transformasi ERD yang memiliki entitas assosiatif sebagai berikut:

  • Transformasikan setiap entitas menjadi masing-masing satu relasi
  • Primary key untuk entitas assosiatif terdiri atas primary key dua entitas lain yang terkait, sehingga membentuk composte key, masing-masing atribut berperan sebagai foreign key.

6. Pemetaan Unary Relationship

Adalah relasi satu entitas ke dirinya sendiri.

  • One-to-Many

Tambahkan foreign key pada relasi yang sama yang mengacu pada nilai primary key relasi tersebut.

  • Many-to-Many

Dilakukan dengan cara membuat dua relasi. Digunakan untuk menyatakan entitas dan satu relasi lagi digunakan untuk mewakili relationship.

 

7. Pemetaan Relasi Ternary

Biasanya ditransformasikan menjadi entitas assosiatif untuk menyatakan constraint partisipasi antar entitas dengan lebih akurat. Langkah-langkahnya adalah:

1. Ubahlah relationship menjadi entitas associative, dengan primary key merupakan gabungan dari primry key 3 entitas lain yang terlibat.

2. Atribut pada associative entity ini berperan sebagai foreign key yang mengacu pada entitas masing-masing yang direlasikan.

8. Pemetaan Supertype-Subtype

Strategi yang digunakan:

1. Buatlah setiap entitas menjadi satu relasi

2. Untuk relasi yang dihasilkan dari supertype, tetapkan atribut yang berasal dari semua atribut yang juga digunakan pada subtype, termasuk primry key.

3. Untuk relasi yang dihasilkan dari subtype, terapkan primary key dari supertype dan attribute yang hanya digunakan untuk subtype tersebut saja.

4. Terapkan satu attribute pada supertype sebagai pembeda untuk subtype.

 

Membuat Design Database Foodcourt dengan Power Designer 16.5

March 1, 2016 in Basis Data

Kali ini saya akan sedikit mengajarkan cara membuat Concepttual Data Model(CDM) Foodcourt hingga menggeneratenya kedalam database

Pertama buka Power Designer 16.5, kemudian pilih Concepttual Data Model(CDM)

1

Buat Entity dengan menggunakan entity tools dan hubungkan tiap entity dengan tools relationship, mudahnya anda dapat melihat seperti yang saya contohkan dibawah ini

2

Kemudian setelah membuat CDM nya, saatnya kita mengenerate nya ke bentuk Physical Data Model (PDM) dahulu dengan cara klik menu tools > Generate Physical Data Model

3

Kemudian pada PDM Generation Option, ganti DBMS sesuai dengan database yang anda gunakan, contoh saya menggunakan Microsoft SQL Server 2012

4

Maka hasilnya adalah seperti dibawah ini

5

Selanjutnya kita akan langsung mengeneratenya menjadi database dengan cara pilih menu Database > Generate Database (Ctrl + G)

6

Kemudian pada Database Generation pilih lokasi dimana anda akan menyimpan file database anda lalu ganti nama file sesuai dengan keinginan, kemudian pada bagian paling bawah ganti menjadi all object, lalu tekan Ok

7

Setelah itu buka SQL Server anda buat database baru dengan nama FC

8

Lalu pilih file > open atau Ctrl+O kemudian pilih file sql yang tadi sudah anda buat

9

Kemudian ganti posisi database anda menjadi FC lalu klik Execute!

10

Sekarang dapat anda cek, database sudah berhasil dibuat :)

11

 

Tutorial Merancang Databse dengan Power Designer dan Database SQL Server

February 23, 2016 in Basis Data

Saya akan menunjukkan bagaimana cara mendesign suatu database dengan menggunakan power designer dan menggeneratenya kedalam SQL Server, disini saya menggunakan Power Designer 16.5 dan SQL Server 2014.
Contoh 1 : Rancangan Database Rental CD
1. Buat Model baru di power Designer dan pilih Conceptual Data Model
1
2. Buat 3 Entity baru dengan tool yang ada di toolbox, kemudian double klik entity dengan pointer
2

3.Buat pada Entity 1 seperti dibawah ini dengan kode_cd sebagai Primary Key (cklis kotak P)

3

4. Lakukan juga pada Entity yang lain sehingga jadi seperti dibawah ini

4

5. Hubungkan entity data_cd dan anggota ke entity peminjaman dengan menggunakan tool Relationship

5

6. Kemudian dari Conceptual Data Model (CDM), kita juga dapat mengeneratenya ke Physical Data Model (PDM) dengan mengklik menu Tool>Generate Physical Data Model, pada DBMS pilih jenis Databse yang akan kita gunakan untuk mengenerate ke databse, contoh saya memilih Database SQL Server 2012

6

7. Sehingga akan jadi seperti ini,

7

8. kemudian kita akan mengeneratenya menjadi Database, klik menu Database>Generate Database(Ctrl+G), ubah letak penyimpanan file dan  file name sesuai keinginan anda dan ubah Setting Set menjadi All object

8

9. Setelah selesai, sekarang buka SQL Server dan buat database baru, disini saya membuat database dengan nama db_rental

9

10. Kemudian tekan klik file>open atau dengan Ctrl+O, lalu pilih file database yang udah anda design tadi dan klik open

10

11. Kemudian ganti Priority Database nya menjadi databse yang telah anda buat, contoh database saya db_rental kemudial klik Execute

11

12. Dan Selesai

12

Contoh 2: Rancangan Database Perpustakaan

1. Selanjutnya sama seperti sebelumnya, kita akan membuat CDM terlebih dahulu kemudian degenerate ke PDM, Contoh CDM yang sudah saya uat seperti ini

13

2. Dan setelah di generate ke PDM jadi seperti ini

14

3. Kemudian Generete menjadi Database, sekarang kita buat Database nya di SQL server seperti tadi

15

4. Dan selesai, databse telah dibuat

16

Sekian Tutorial dari saya, semoga dapat membantu :)

Macam – Macam Software Basis Data

February 2, 2016 in Basis Data

Berdasarkan Wikipedia, Pangkalan data[1] atau basis data (bahasa Inggris: database), atau sering pula dieja basisdata, adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi.

Istilah “basis data” berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini mengenai basis data komputer. Catatan yang mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis.

Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai model basis data atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan di mana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili denga menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel.

Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem manajemen basis data (database management system/DBMS). Jika konteksnya sudah jelas, banyak administrator dan programer menggunakan istilah basis data untuk kedua arti tersebut.

MYSQL
Kelebihan
–       Database Storage Engine ini banyak digunakan oleh programmer apalagi oleh web developer karena sifatnya yang free
–       Kemampuannya sudah bisa diandalkan, mempunyai kapasitas yang cukup mumpuni sekitar 60.000 tabel dengan jumlah record mencapai 5.000.000.000 bahkan untuk yang terbaru sudah lebih
–       Keamanan datanya cukup aman walaupun tidak sehebat Postgre apalagi Oracle.
–       Engine ini multiplatform sehingga mampu diaplikasikan di berbagai sistem operasi
–       Kelebihan paling utama engine ini adalah kecepatannya
–       Dapat bekerja di beberapa platform yang berbeda, seperti LINUX, Windows, MacOS dll.
–       Dapat dikoneksikan pada bahasa C, C++, Java, Perl, PHP dan Python.
–       Memiliki lebih banyak type data seperti : signed/unsigned integer yang memiliki panjang data sebesar 1,2,3,4 dan 8 byte, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET dan tipe ENUM.
–       Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY. Mendukung terhadap fungsi penuh ( COUNT ( ),COUNT (DISTINCT), AVG ( ), STD ( ), SUM ( ), MAX ( ) AND MIN ( ) ).
–       Mendukung terhadap LEFT OUTHER JOIN dengan ANSI SQL dan sintak ODBC.
–       Mendukung ODBC for Windows 95 (dengan source program). Semua fungsi ODBC 2.5 dan sebagainya. Sebagai contoh kita dapat menggunakan Access untuk connect ke MySQL server.
–       Menggunakn GNU automake, autoconf, dan LIBTOOL untuk portabilitas.
–       Kita dapat menggabungkan beberapa table dari database yang berbeda dalam query yang sama.
–       Ditulis dengan menggunakan bahasa C dan C++. Diuji oleh compiler yang sangat jauh berbeda.
–       Privilege (hak) dan password sangat fleksibel dan aman serta mengujinkan ‘Host-Based’ Verifikasi
Kelemahan
–       Untuk koneksi ke bahasa pemrograman visual seperti vb, delphi, dan foxpro, mysql kurang support, karena koneksi ini menyebabkan field yang dibaca harus sesuai dengan koneksi dari program visual tersebut, dan ini yang menyebabkan mysql jarang dipakai dalam program visual.
–       Data yang ditangani belum begitu besar
–       Hanya sering diaplikasikan diaplikasi kelas kecil dan menengah
–       Keamanan datanya masih dibawah Postgre dan Oracle
DB2
Keunggulan
–       Dapat dijalankan pada bermacam-macam platform
–       Menunjang client/server platform, aplikasimultimedia, object oriented
–       Dirancang untuk memperoleh informasi dalam bisnis berskala kecil maupun besar
–       Memiliki alat yang mengizinkan user membuat macam-macam aplikasi untuk mengakses dan bekerja dengan data
–       Mendukung abstraksi penyimpanan logical database table dalam multi node dan multi disk environtment.
–       DB2 mendukung strip(pencacahan /penyebaran) antar kontainer.
–       DB2 juga mendukung prefecthing dan asynchronous writes menggunakan thread yang terpisah.

 

Kelemahan
–       Bukan merupakan Open-Source, jadi kita harus membayar untuk dapat menggunakan DB2 yang resmi
–       Memerlukan spesifikasi OS tertentu untuk dapat menjalankan DB2
–       Platform specified
–       Tidak bisa download langsung dari IBM
–       Speednya masih kalah dengan MySql dan Oracle
POSTGRE
Kelebihan
–       Database Storage Engine ini bersifat open source ato gratisan yg dikembangkan oleh berbagai developer didunia.
–       Untuk sintax query postgre sql menggunakan ANSI SQL 89, 92 dan 99.
–       Untuk postgre sql sudah support joins, views, aggregasi.
–       Kemampuannya menampung data spasial, sehingga ia bisa digunakan dalam pembuatan situs yang berbasis Web GIS untuk pemetaan dan sebagainya
Kelemahan
–       Kurang begitu populer dan cocok bekerja di lingkungan web jika   dibandingkan dengan mysql.
–       Kurang fokus dalam hal kelangsingan dan kecepatan.
–       Arsitektur dengan multiproses ini sulit diterapkan ke Windows, sebab Windows amat thread-oriented.
–       PostgreSQL sendiri saat ini bisa dijalankan di Windows, tapi melalui lapisan emulasi Cygwin.
–       Kurang unggul dalam hal ketersediaan fungsi built-in.
–       Replikasi di PostgreSQL sendiri belum disertakan dalam distribusi standarnya.
–       PostgreSQL sendiri terbatas hanya bisa melakukan penambahan kolom, penggantian nama kolom, dan penggantian nama tabel.
ORACLE
Oracle adalah salah satu software sistem manajemen basis data relasional yang cukup diminati, dikenal, dan dipakai saat ini. Versi terbaru dari Oracle adalah Oracle 11g.Software ini biasa digunakan untuk pengaksesan data yang dilakukan secara online.
Database merupakan salah satu komponen dalam teknologi informasi yang mutlak diperlukan oleh semua organisasi yang ingin mempunyai suatu sistem informasi yang terpadu untuk menunjang kegiatan organisasi demi mencapai tujuannya. Karena pentingnya peran database dalam sistem informasi, tidaklah mengherankan bahwa terdapat banyak pilihan software Database Management System (DBMS) dari berbagai vendor baik yang gratis maupun yang komersial. Beberapa contoh DBMS yang populer adalah MySQL, MS SQL Server, Oracle, IBM DB/2, dan PostgreSQL.
Oracle merupakan DBMS yang paling rumit dan paling mahal di dunia, namun banyak orang memiliki kesan yang negatif terhadap Oracle. Keluhan-keluhan yang mereka lontarkan mengenai Oracle antara lain adalah terlalu sulit untuk digunakan, terlalu lambat, terlalu mahal, dan bahkan Oracle dijuluki dengan istilah “ora kelar-kelar” yang berarti “tidak selesai-selesai” dalam bahasa Jawa. Jika dibandingkan dengan MySQL yang bersifat gratis, maka Oracle lebih terlihat tidak kompetitif karena berjalan lebih lambat daripada MySQL meskipun harganya sangat mahal.
Namun yang mereka tidak perhitungkan adalah bahwa Oracle merupakan DBMS yang dirancang khusus untuk organisasi berukuran besar, bukan untuk ukuran kecil dan menengah. Kebutuhan organisasi berukuran besar tidaklah sama dengan organisasi yang kecil atau menengah yang tidak akan berkembang menjadi besar. Organisasi yang berukuran besar membutuhkan fleksibilitas dan skalabilitas agar dapat memenuhi tuntutan akan data dan informasi yang bervolume besar dan terus menerus bertambah besar.
Fleksibilitas adalah kemampuan untuk menyesuaikan diri dengan berbagai kebutuhan dan kondisi khusus yang dapat berubah-ubah. Sebagai contoh, organisasi yang besar membutuhkan server yang terdistribusi dan memiliki redundancy sehingga pelayanan bisa diberikan secara cepat dan tidak terganggu jika ada server yang mati. Organisasi tersebut juga mempunyai berbagai macam aplikasi yang dibuat dengan beragam bahasa pemrograman dan berjalan di berbagai platform yang berbeda. Oracle memiliki banyak sekali fitur yang dapat memenuhi tuntutan fleksibilitas dari organisasi besar tersebut. Berbagai fitur tersebut membuat Oracle menjadi DBMS yang rumit dan sulit untuk dipelajari, namun itu adalah harga yang harus dibayar untuk mendapatkan fleksibilitas yang dibutuhkan dalam sistem informasi di organisasi yang berukuran besar.
Skalabilitas mengacu pada kemampuan untuk terus berkembang dengan penambahan sumber daya. Organisasi yang besar harus mampu melakukan transaksi data dalam volume yang besar dan akan terus bertambah besar. Jika dijalankan hanya pada satu server saja, MySQL memang bisa berjalan lebih cepat daripada Oracle. Namun jika satu server sudah tidak bisa lagi menangani beban yang terus bertambah besar, kinerja MySQL mengalami stagnasi karena keterbatasan server tersebut. Namun Oracle mendukung fitur Grid yang dapat mendayagunakan lebih dari satu server serta data storage dengan mudah dan transparan. Hanya dengan menambahkan server atau data storage ke dalam Oracle Grid, maka kinerja dan kapasitas Oracle dapat terus berkembang untuk mengikuti beban kerja yang terus meningkat.
Demikianlah salah satu (atau dua) keunggulan dari Oracle. Tidaklah mengherankan bahwa meskipun Oracle merupakan DBMS yang paling rumit dan paling mahal di dunia, perusahaan-perusahaan besar memilih Oracle dan tidak menggunakan DBMS seperti MySQL yang gratis karena mereka membutuhkan fleksibilitas dan skalabilitas dalam sistem informasi yang mereka gunakan.
MICROSOFT SQL SERVER
Kelebihan
–       Keamanan datanya sudah lumayan
–       Tersedia versi gratisnya
–       Untuk bacup data Ms SQL banyak extensinya ada extensi .MDB, .BAK, .file
Kelemahan
–       Hanya berjalan di Windows
–       Kapasitas penyimpanan datanya tidak mencapai Tera Byte, sehingga sudah mampu untuk diterapkan di aplikasi besar
–       SQL Server banyak bermain di Memori untuk processing
–       Kapasitas rollback dan recoverinya tidak secanggih di Oracle.
–       Kalau pengaturan dari awal sudah salah, maka efeknya dikemudian hari bisa fatal
MICROSOFT ACCESS
Kelebihan
–       Beberapa pengembang aplikasi professional menggunakan Microsoft Access untuk mengembangkan aplikasi secara cepat atau yang sering disebut dengan Rapid Application Development / RAD Tool khususnya untuk pembuatan program yang lebih besar dan aplikasi yang berdiri sendiri untuk para salesman.
–       Dilihat dari segi perspektif programmer keunggulan Microsoft Acces adalah kompatibilitasnya dengan bahasa pemrograman Structured Query Language ( SQL ).
–       Microsoft Access mengizinkan pengembangan yang relatif cepat karena semua table basis data, kueri, form, dan report disimpan di dalam berkas basis data miliknya. Misalnya untuk membuat query, Microsoft menggunakan Query Design Grid, sebuah program berbasis grafis yang mengizinkan para penggunanya untuk membuat query tanpa harus mengetahui bahasa SQL nya.
–       Bahasa Pemrograman yang digunakan di dalam Microsoft Access adalah Microsoft Visual Basic for Applications ( VBA ) seperti halnya dalam beberapa aplikasi Microsoft Office lainnya.
Kelemahan
–       Karena kurang begitu bagus jika diakses melalui jaringan maka bayak pengguna Microsoft Access menggunakan solusi system manajemen basis data yang bersifat klien / server.
–       Perlu Membayar untuk memakai software resminya
INTERBASE
Kelebihan
–       Kinerja dan kontrol yang baik
–       Bersifat fleksibel dan portabel
–       Gratis dan Opensource
Kekurangan
–       Butuh kinerja extra dan kontrolnya terbatas.
–       Komponen-komponen kurang umum.
FIREBIRD (FirebirdSQL)
Kelebihan
–       Firebird memiliki user base kecil namun aktif,
–       Firebird selalu lebih banyak memiliki fitur,
–       Firebird merupakan DBMS yang relatif matang untuk digunakan, dan tujuannya menetapkan peletakan kembali Oracle dan SQL server dalam aplikasi komersil,
–       Open Source product
–       Firebird dapat melakukan replikasi.
–       Firebird menggunakan sintaks standard untuk menciptakan suatu foreign key.
–        Firebird support stored procedure dan triggers dengan bahasa yang standard sehingga tidak akan membingungkan bagi Anda yang ingin belajar.
Kelemahan
–       Kekurangan yang paling nyata waktu itu adalah replication engine (walaupun Firebird memiliki fitur lanjutan, yang menjaga identical copy dari live database)
–       Firebird development relatif lambat,
–       Belum mendukung derived table (FB 2.0 sudah mendukung).
–       Query Plan yang kurang optimize (FB 2.0 sudah diperbaiki).
–       Tidak dapat mempergunakan alias kolom dalam where clause sehingga cukup menyulitkan jika kita pergunakan corelated query. (FB 2.0 sudah diperbaiki).
Source:
https://id.wikipedia.org/wiki/Basis_data
https://eriklubay1.wordpress.com/2013/04/05/kelebihan-dan-kekurangan-software-dbms/

Pradigam Rekayasa Perangkat Lunak (Metode Waterfall)

September 13, 2015 in RPL

Waterfall sebagai model rekayasa perangkat lunak

Permodelan dalam suatu perangkat lunak merupakan suatu hal yang dilakukan di tahapan awal. Di dalam suatu rekayasa perangkat lunak, sebenarnya masih memungkinkan tanpa melakukan permodelan. Hal ini tidak dapat lagi dilakukan dalam suatu industri perangkat lunak.

Permodelan dalam perangkat lunak merupakan suatu yang harus dikerjakan di bagian awal rekayasa, dan permodelan ini akan mempengaruhi pekerjaan-pekerjaan dalam rekayasa perangkat lunak tersebut.

Model proses perangkat lunak masih menjadi obyek penelitian, tapi sekarang ada banyak model umum atau paradigma yang berbeda dari pengembangan perangkat lunak, antara lain :

 

  • Pengembangan waterfall
  • Pengembangan secara evolusioner
  • Transformasi formal
  • Penggabungan sistem dengan menggunakan komponen-komponen yang dapat digunakan kembali

Waterfall model pertama kali diperkenalkanoleh Winston Royce tahun 1970. Waterfall Model merupakan model klasik yang sederhana dengan aliran sistem yang linier.  Output dari setiap tahap merupakan input bagi tahap berikutnya.

Model ini telah diperoleh dari proses rekayasa lainnya dan menawarkan cara pembuatan rekayasa perangkat lunak secara lebih nyata.  Model ini melibatkan tim SQA (Software Quantity Assurance) dengan 5 tahapan, dimana setiap tahapan selalu dilakukan verifikasi atau testing.  Tahapan model waterfall meliputi :

  • Requirment

Dalam tahapan ini jasa, kendala dan  tujuandari konsultasi dengan pengguna sistem.  Kemudian semuanya dibuat dalam bentuk yang dapat dimengerti oleh user dan staf pengembang.  Dengan kata lain, dalam tahapn ini dilakukan analisa kebutuhan, kemdian diverifikasi klien dan tim SQA.

  • Specification

Dokumentasi spesifikasi, kemudian diperiksa oleh tim SQA.  Selanjutnya jika disetujui oleh klien, maka dokumen tersebutmerupakan kontrak kerjaantaraklien dan pengembang s0ftware.  Selanjutnya merencanakan jadwal pengembangan software. Jika disetujui oleh SQA, tahap desain baru dilakukan.

  • Design

Proses design sistem membagi kebutuhan-kebutuhan menjadi sistem perangkat lunak atau perangkat keras.  Proses tersebut menghasilkan sebuah arsitektur keseluruhan. Desain perangkat lunak termasuk menghasilkan fungsi sistem perangkatlunak dalam bentuk yang mungkin ditransformasi kedalam satu atau lebih program yang dapat dijalankan.  Tahapan ini telah menentukan alur software hingga pada tahap algoritma detail.  Di akhir tahap ini, kembali diperksa tim SQA.

  • Implementation

Selama tahap ini, desain perangkat lunak disadari sebagai sebuah program lengkap atau unit program.  Desain yang telah disetujui, diubah dalam bentuk kode-kode program.  Tahap ini, kode-kode program yang dihasilkan masih pada tahap modul-modul. Diakhir tahap ini, tiap modul di testing tanpa diintegrasikan.

  • Integration

Unit program diintegrasikan dandiuji menjadi sistem yang lengkap untuk meyakinkan bahwa persyaratan perangkat lunak telah dipenuhi.  Setelah uji coba, sistem disampaikan ke konsumen.

  • Operaton mode & retirement

Normalnya, ini adalah tahap yang terpanjang.  Sistem dipasang dan digunakan. Pemeliharaan termasuk pembetulan kesalahan yang tidak ditemukan pada langkah sebelumnya.  Perbaikan inmplementasi unit sistem dan peningkatan jasa sistem sebagai kebutuhan baru ditemukan.

 

Setiap tahap dari model ini menggunakan Document Drivent, yaitu tahap selanjutnya selalu bekerja berdasarkan dokumen yang telah diberikan sebelumnya.

Tahapan pada waterfall model tidak akan selesai jika tidak disetujui SQA.  Modifikasi pada tahap tertentu (tidak sesuai dengan dokumen sebelumnya), proses harus kembali pada tahap sebelumnya untuk penyesuaian dan peninjauan ulang.

Dalam prakteknya, setiap langkah sering tumpang tindih dan saling memberi informasi satu sama lain.  Proses perangkat lunak tidak linierdan sederhana,  tapi mengandung urutan iterasi dari aktifitas pengembangan.  Selama di langkah terakhir, perangkat lunak telah digunakan.  Kesalahan dan kelalaian dalam menentukan kebutuhan perangkat lunak original dapat diatasi.

Sayangnya model yang banyak mengandung iterasi, sehingga membuat sulit bagi pihak manajemen untuk memeriksa seluruh rencana dan laporan.  Maka dari itu, setelah sedikit iterasi, biasanya bagian yang telah dikembangkan akan dihentikan dan dilanjutkan dengan langkah pengembangan selanjutnya.

Masalah-masalah selama resolusi selanjutnya, dibiarkan atau diprogram.  Pemberhentian yang prematur dari persyaratan akan berarti bahwa sistem tidak akan sesuai dengan keinginan user.  Mungkin juga sistem terstruktur secarajelek yang sebenarnya merupakan masalah deain akan dibiarkan karenaterkalahkan olehtrik implementasi.

Masalah pendekatan waterfall adalah ketidakluwaesan pembagian proyek ke dalam langkah yang jelas/nyata.  Sistem yang disampaikan kadang-kadang tidak dapatdigunakan sesuai keinginan konsumen.  Namun demikian, model waterfall mencerminkan kepraktisan rekayasa.  Konsekuensinya, model proses perangkat lunak yang berdasarkan pada pendekatan ini, digunakan dalam pengembangan sistem perangkat lunak dan hardware yang luas.

qq

Pengertian Water fall model

Water fall model adalah salah satu model pengembangan software, dimana kemajuan suatu proses dipandang sebagai terus mengalir ke bawah seperti air terjun.
Tahap – tahap pengembangan waterfall model adalah :
1. Analisis dan definisi persyaratan
Pelayanan, batasan, dan tujuan sistem ditentukan melalui konsultasi dengan user.
2. Perancangan sistem dan perangkat lunak
Kegiatan ini menentukan arsitektur sistem secara keseluruhan
3. Implementasi dan pengujian unit
Perancangan perangkat lunak direalisasikan sebagai serangkaian program
4. Integrasi dan pengujian sistem
Unit program diintegrasikan atau diuji sebagai sistem yang lengkap untuk menjamin bahwa persyaratan sitem telah terpenuhi
5. Operasi dan pemeliharaan
Merupakan fase siklus yang paling lama. Sistem diinstall dan dipakai. Perbaikan mencakup koreksi dari berbagai error, perbaikan dan implementasi unit sistem dan pelayanan sistem.

Keuntungan:
Simple dan mudah diimplementasikan
mudah diatur
Cocok untuk proyek kecil

Kerugian:
Tidak mengakomodasi perubahan requirement
Resiko ketidakpastian tinggi
Model yang buruk untuk proyek yang berorientasi obyek
Model yang buruk untuk proyek lama

Source : https://raytenimanuel.wordpress.com/2013/01/23/pengertian-waterfall/