Senin, 03 November 2008

Sistem Basis Data





SISTEM BASIS DATA
Sistem Basis Data terbagi dalam empat komponen penting yakni :
1. Data
Merupakan informasi yang di simpan dalam suatu struktur tertentu yang terintegrasi
2. Hardware
Merupakan perangkat keras computer dengan media penyimpanan sekunder yang digunakan untuk menyimpan data karena pada umumnya database memiliki ukuran yang sangat besar
3. Software
Merupakan perangkat lunak yang sering digunakan untuk mengelola database. Software ini sering disebut database management sistem
4. User
Merupakan pengguna yang menggunakan data yang tersimpan dan terkelola. User terdiri dari database administrator yang merupakan user yang mengelola database tersebut dan end user yang hanya mengambil hasil dari pengelolaan database melalui bahasa query. User juga dapat berupa seorang programmer yang membangun sebuah aplikasi yang terhubung ke database dengan menggunakan bahasa pemograman seperti Visual Basic, C dan lain-lain


SQL (Structured Query Languague) merupakan bahasa komputer standar yang ditetapkan oleh ANSI (American National Standart Institute) untuk mengakses dan memanipulasi sistem database. SQL dapat bekerja dengan baik pada program-program database seperti MS. Access, DB2, MS SQL Server, Oracle dan lain sebagainya.

Ada 2 jenis query dalam SQL yaitu :
1. Data Definition Languague (DDL)
Query ini digunakan untuk mendefinisikan dan mengatur semua objek dalam server database. Yang termasuk DDL adalah :
• CREATE, di gunakan untuk membuat objek database
• ALTER, di gunakan untuk mengubah objek database
• DROP, di gunakan untuk menghapus objek database
2. Data Manipulation Languague (DML)
Query ini digunakan untuk memanipulasi data dalam objek database seperti memilih, memasukkan, menghapus dan mengubah data. Yang termasuk dalam DML antara lain :
• SELECT, digunakan untuk memilih / menampilkan data
• INSERT, digunakan untuk memasukkan data
• UPDATE, digunakan untuk mengubah data
• DELETE, digunakan untuk menghapus data

DLL Toko Bangunan

DATABASE TOKO KAYU
Data Definition Languague (DDL)
CREATE DATABASE TOKOKAYU
ON
(NAME = 'TOKOKAYU_MDF',
FILENAME = 'E:\ Tokokayu\ TOKOKAYU.MDF',
SIZE = 25,
MAXSIZE = 30,
FILEGROWTH = 5)
LOG ON
(NAME = 'TOKOKAYU_LDF',
FILENAME = 'E:\ Tokokayu\ TOKOKAYU.LDF',
SIZE = 10 MB,
MAXSIZE = 15 MB,
FILEGROWTH = 5 MB)

USE TOKOKAYU // berpindah ke database tokokayu

CREATE TABEL BARANG
(KODE_BARANG CHAR(5) CONSTRAINT PK_BARANG PRIMARY KEY,
NAMA_BARANG VARCHAR(20) NOT NULL,
UKURAN VARCHAR(15) NOT NULL,
HARGA_BELI MONEY DEFAULT 0,
HARGA_JUAL MONEY DEFAULT 0)

CREATE TABEL PELANGGAN
(ID_PELANGGAN CHAR(5) CONSTRAINT PK_PELANGGAN PRIMARY KEY,
NAMA_PELANGGAN VARCHAR(25) NOT NULL,
ALAMAT VARCHAR(50) NOT NULL,
TELEPON VARCHAR(15) NULL)

CREATE TABEL KARYAWAN
(ID_KARYAWAN CHAR(5) CONSTRAINT PK_KARYAWAN PRIMARY KEY,
NAMA_KARYAWAN VARCHAR(20) NOT NULL,
GENDER CHAR NOT NULL,
ALAMAT VARCHAR(50) NULL,
TELEPON VARCHAR(15) NULL,
JABATAN VARCHAR(15),
TGL_MASUK DATETIME)

CREATE TABEL INVENTORY
(KODE_BARANG CHAR(5) CONSTRAINT FK_INVENTORY FOREIGN KEY REFERENCES BARANG(KODE_BARANG),
JUMLAH INT NOT NULL)

CREATE TABEL PENJUALAN
(NO_NOTA INT CONSTRAINT PK_PENJUALAN PRIMARY KEY IDENTITY(1,1),
ID_PELANGGAN CHAR(5) CONSTRAINT FK_PENJUALAN FOREIGN KEY REFERENCES PELANGGAN(ID_PELANGGAN),
ID_KARYAWAN CHAR(5) CONSTRAINT FK_PENJUALANIDKARYAWAN FOREIGN KEY REFERENCES KARYAWAN(ID_KARYAWAN),
TGL_JUAL DATETIME NOT NULL,
TOTAL MONEY)

CREATE TABEL DETAIL_NOTA
(NO_NOTA INT CONSTRAINT FK_DETAIL_NOTA FOREIGN KEY REFERENCES PENJUALAN(NO_NOTA),
KODE_BARANG CHAR(5) CONSTRAINT FK_DETAIL_NOTA2 FOREIGN KEY REFERENCES BARANG(KODE_BARANG),
JLH_BELI INT NOT NULL,
DISKON MONEY DEFAULT 0)

CREATE TABEL RETUR
(NO_RETUR INT CONSTRAINT PK_RETUR PRIMARY KEY,
ID_PELANGGAN CHAR(5) CONSTRAINT FK_RETUR FOREIGN KEY REFERENCES PELANGGAN(ID_PELANGGAN),
TGL_RETUR DATETIME)

CREATE TABEL DETAIL_RETUR
(NO_RETUR INT CONSTRAINT FK_RETUR2 FOREIGN KEY REFERENCES RETUR(NO_RETUR),
KODE_BARANG CHAR(5) CONSTRAINT FK_RETUR3 FOREIGN KEY REFERENCES BARANG(KODE_BARANG),
JLH_RETUR INT NOT NULL,
TOTAL_REKTUR MONEY)

CREATE TABEL ADMIN
(ID_KARYAWAN CHAR(5) CONSTRAINT FK_ADMIN FOREIGN KEY REFERENCES KARYAWAN(ID_KARYAWAN),
PWD VARCHAR(15) NOT NULL )

DML SQL Database Toko Bangunan

Data Manipulation Languague (DML)
INSERT digunakan untuk memasukkan data ke dalam tabel, sintak yang di pakai adalah :
INSERT INTO Nama_Tabel (Daftar_Kolom) VALUES (Daftar Nilai)

// Memasukkan data ke tabel barang
INSERT INTO BARANG VALUES ('B-001','BENGKIRAI','6 x 12 x 400' , 220000 ,230000)
INSERT INTO BARANG VALUES ('K-001','KERUING','4 x 6 x 400',60000,65000)
INSERT INTO BARANG VALUES ('M-001','MERANTI','6 x 12 x 400' ,180000,190000)

//Memasukkan data ke tabel inventory
INSERT INTO INVENTORY VALUES (‘B-001’,500)
INSERT INTO INVENVORY VALUES (‘K-001’,250)
INSERT INTO INVENTORY VALUES (‘M-001’,100)

//Memasukkan data ke tabel karyawan
INSERT INTO KARYAWAN VALUES ('K0001','ARI','L','JL. WONOSARI' ,'215478','SOPIR','5/13/2007')
INSERT INTO KARYAWAN VALUES ('K0002','JOHANNES','L','JL. WATES' ,'373283','SALES','11/5/2006')

//Memasukkan data ke tabel pelanggan
INSERT INTO PELANGGAN VALUES ('00001','JOHANNES','JL. WATES' ,'373283')
INSERT INTO PELANGGAN VALUES ('00002','WILLIS','JL. SIDOARUM' ,'333333')
INSERT INTO PELANGGAN VALUES ('00003','JAY,JL. GODEAN','222222')

SELECT merupakan query yang digunakan untuk mengambil data atau menampilkan
data. Data yang telah diambil atau dipilih boleh saja ditampilkan dalam aplikasi yang kita buat atau digunakan untuk control program. Sintak umum adalah sebagai berikut
SELECT Daftar_Kolom FROM Nama_Table WHERE Kondisi

//Menampilkan semua data dari tabel karyawan
SELECT * FROM KARYAWAN

//Menampilkan karyawan laki-laki dari tabel karyawan
SELECT * FROM KARYAWAN WHERE GENDER = ‘L’

//Menampilkan Kode Pelanggan dan Nama Pelanggan dari tabel Pelanggan
SELECT ID_PELANGGAN, NAMA_PELANGGAN FROM PELANGGAN

//Menampilkan Kode Barang, Nama Barang, Harga Jual di antara 80000 – //100000 dan di urutkan dari kecil ke besar berdasarkan Harga Jual
SELECT KODE_BARANG, NAMA_BARANG, HARGA_JUAL WHERE HARGA_JUAL BETWEEN 80000 AND 100000 ORDER BY HARGA_JUAL ASC

//Menampilkan data pelanggan yang huruf depan namanya adalah A dari //tabel Pelanggan
SELECT * FROM PELANGGAN WHERE NAMA_PELANGGAN LIKE ‘A%’

UPDATE di gunakan untuk melakukan perubahan pada data. Sintaks yang biasa digunakan :
UPDATE Nama_Tabel SET Kolom … = Nilai … WHERE Kondisi

//Mengubah Harga Jual dari 70000 pada barang B-001 menjadi 75000 //pada barang B-001 di tabel barang
UPDATE BARANG SET HARGA_JUAL = 75000 WHERE KODE_BARANG = B-001

//Mengubah semua harga jual barang sebanyak 20% di tabel barang
UPDATE BARANG SET HARGA_JUAL = HARGA_JUAL + (HARGA_JUAL * 0.2)

DELETE digunakan untuk melakukan penghapusan pada data. Sintaks umum yang biasa digunakan :
DELETE FROM Nama_Tabel WHERE Kondisi

//Menghapus Karyawan dengan ID K0001 dari tabel Karyawan karena //sudah tidak bekerja lagi
DELETE FROM KARYAWAN WHERE ID_KARYAWAN = ‘K0001’

Fungsi Agregate
Di samping fungsi-fungsi atas kita juga dapat juga mengenal adanya fungsi agregate. Fungsi agregate yang sering digunakan untuk operasi perhitungan adalah :
• AVG
Digunakan untuk mencari nilai rata-rata dari suatu field dalam sebuah tabel
• MAX
Digunakan untuk mencari nilai terbesar (maksimun) dari suatu field dalam sebuah tabel
• MIN
Digunakan untuk mencari nilai terkecil (minimum) dari suatu field dalam sebuah tabel
• SUM
Digunakan untuk hasil jumlah dari suatu field dalam sebuah tabel
• COUNT
Digunakan untuk menghitung jumlah record dari suatu field dalam sebuah tabel

Sintaks yang biasa di pakai :
SELECT AVG ( Nama_Kolom ) From Nama_Tabel
SELECT MAX ( Nama_Kolom ) From Nama_Tabel
SELECT MIN ( Nama_Kolom ) From Nama_Tabel
SELECT SUM ( Nama_Kolom ) From Nama_Tabel
SELECT COUNT ( Nama_Kolom ) From Nama_Tabel

//Menampilkan harga_beli termurah dari tabel barang
SELECT MIN(HARGA_BELI) AS [HARGA TERMURAH] FROM BARANG

//Menampilkan barang yang harga_jualnya paling mahal dari Tabel //Barang
SELECT * FROM BARANG WHERE HARGA_JUAL = (SELECT MAX(HARGA_JUAL) FROM BARANG)

Pemrograman Berorientasi Objek

PEMROGRAMAN BERORIENTASI OBJEK

OBJEK adalah benda, baik yang berwujud nyata seperti yang dijumpai dalam kehidupan kita sehari-hari, maupun yang tidak nyata seperti sistem atau konsep. Dalam Pemograman Berorientasi Objek, objek adalah unit terkecil yang masih memiliki data (sifat karakteristik dan fungsi).

Object Oriented Programming atau Pemrograman Berorientasi Objek adalah konsep pemrograman yang difokuskan pada penciptaan kelas (class) yang merupakan abstraksi dari suatu objek. Kelas ini harus mengandung sifat (data) dan tingkah laku (fungsi / method), sehingga bisa dikatakan bahwa data dan fungsi merupakan anggota (member) dari suatu kelas. Atau bisa juga di katakana bahwa Pemrograman Berorientasi Objek adalah konsep pemrograman yang membagi program menjadi objek-objek yang saling berinteraksi satu sama lain.

Berikut ini ada beberapa bahasa pemrograman yang menggunakan konsep Pemrograman Berorientasi Objek :

  1. C++
  2. Visual C++
  3. Delphi
  4. Visual Basic
  5. Java

STRUKTUR

Struktur (structure) digunakan untuk mengelompokkan sejumlah data yang mempunyai tipe dan ukuran yang berbeda. Variabel-variabel yang membentuk sebuah struktur dinamakan elemen struktur. Struktur yang ada di bahasa pemrograman c++ ini sama seperti dengan record di dalam bahasa pemrograman pascal.

Struktur di C++ dapat dideklarasikan seperti berikut :

struct nama_tipe_struktur

{ elemen_struktur 1;

elemen_struktur 2;

………….

};

struct

{ elemen_struktur 1;

elemen_struktur 2;

………….

} nama_tipe_struktur;

KELAS

Kelas merupakan suatu metode logis untuk mengorganisasi data dan fungsi di dalam struktur yang sama. Suatu class tidak terlepas dari pada suatu objek. Pendeklarasian suatu kelas menggunakan kata kunci class. Pendeklarasian suatu kelas hamper sama dengan pendeklarasian suatu structure, yaitu seperti berikut :

class nama_class

{ Data elemen_class_private;

Data elemen_class_private;

…………..

Public :

Data elemen_class_public;

Data elemen_class_public;

………….

}nama_object;

Contoh soal :

Seorang dosen ingin data-data nilai mahasiswanya dihitung dan dibuatkan programnya. Di mana program tersebut memiliki ketentuan sebagai berikut :

  • Nama Mahasiswa, Nilai Tugas, Nilai UTS, Nilai UAS di input
  • Proses yang di lakukan untuk mendapatkan nilai murni dari masing-masing nilai, adalah:
  • Nilai Murni Tugas = Nilai Tugas di kalikan 30 %
  • Nilai Murni UTS = Nilai UTS dikalikan 30 %
  • Nilai Murni UAS = Nilai UAS dikalikan 40 %
  • Nilai Akhir adalah Nilai Murni Tugas + Nilai Murni UTS + Nilai Murni UAS

Ketentuan untuk mendapatkan grade nilai :

  • Nilai akhir > 80 mendapat grade A
  • Nilai akhir > 70 mendapat grade B
  • Nilai akhir > 60 mendapat grade C
  • Nilai akhir > 50 mendapat grade D
  • Nilai akhir <= 50 mendapat grade E

Jawaban contoh soal :

//pemecahan pertama

// Program untuk menghitung nilai grade mahasiswa menggunakan structure

#include

#include

#include

struct

{ char nim[12],nama[8];

float tugas,uts,uas;

float ntugas, nuts,nuas,nakhir;

}mahasiswa [100];

void baris( )

{for (int i=0;i<80;i++)

{cout<<"-"; };

cout<

char grade(float nilai)

{ if(nilai>80 && nilai<=100)

return 'A';

else if(nilai>70 && nilai<=80)

return 'B';

else if(nilai>60 && nilai<=70)

return 'C';

else if(nilai>50 && nilai<=60)

return 'D';

else return 'E';}

main( )

{ int jumlahmhs;

int i;

cout<<"\t\tPROGRAM MENGHITUNG NILAI AKHIR MAHASISWA"<

baris( );

cout<<"INPUT DATA MAHASISWA"<

cout<<"BERAPA JUMLAH MAHASISWA YANG MAU DIINPUTKAN ? ";

cin>>jumlahmhs;

cout<

for (i=0;i

{ cout<<"Mahasiswa Ke - "<<(1+i)<<" : "<

cout<<"N I M = ";gets(mahasiswa[i].nim);

cout<<"Nama = ";gets(mahasiswa[i].nama);

cout<<"Nilai Tugas = ";cin>>mahasiswa[i].tugas;

cout<<"Nilai UTS = ";cin>>mahasiswa[i].uts;

cout<<"Nilai UAS = ";cin>>mahasiswa[i].uas;

cout<

mahasiswa[i].ntugas = mahasiswa[i].tugas * 0.3;

mahasiswa[i].nuts = mahasiswa[i].uts * 0.3;

mahasiswa[i].nuas = mahasiswa[i].uas * 0.3;

mahasiswa[i].nakhir = mahasiswa[i].ntugas + mahasiswa[i].nuts;

mahasiswa[i].nakhir = mahasiswa[i].nakhir +mahasiswa[i].nuas;};

clrscr( );

cout<<"\t\t\tDAFTAR NILAI MAHASISWA"<

baris( );

cout<<"NIM Nama Mahasiswa Nilai Grade"<

cout<<"\t\t\t\t --------------------------------------"<

cout<<" Tugas UTS UAS ";

cout<<"Akhir"<

baris( );

for (i=0;i

{ cout<<<"\t"<

cout<<"\t\t"<<<"\t";

cout<<<"\t"<

cout<<"\t"<<<"\t ";

cout<<

getch( );}

//pemecahan kedua

// Program untuk menghitung nilai grade mahasiswa menggunakan class

#include

#include

#include

class mhs

{public:

char nim[12],nama[8];

float tugas,uts,uas ,ntugas, nuts,nuas,nakhir;

void baris( );

char grade(float nilai);};

main( )

{ mhs mahasiswa[100];

int jumlahmhs;

int i;

cout<<"\t\tPROGRAM MENGHITUNG NILAI AKHIR MAHASISWA"<

mahasiswa[0].baris( );

cout<<"INPUT DATA MAHASISWA"<

cout<<"BERAPA JUMLAH MAHASISWA YANG MAU DIINPUTKAN ? ";

cin>>jumlahmhs;

cout<

for (i=0;i

{

cout<<"Mahasiswa Ke - "<<(1+i)<<" : "<

cout<<"N I M = ";gets(mahasiswa[i].nim);

cout<<"Nama = ";gets(mahasiswa[i].nama);

cout<<"Nilai Tugas = ";cin>>mahasiswa[i].tugas;

cout<<"Nilai UTS = ";cin>>mahasiswa[i].uts;

cout<<"Nilai UAS = ";cin>>mahasiswa[i].uas;

cout<

mahasiswa[i].ntugas = mahasiswa[i].tugas * 0.3;

mahasiswa[i].nuts = mahasiswa[i].uts * 0.3;

mahasiswa[i].nuas = mahasiswa[i].uas * 0.3;

mahasiswa[i].nakhir = mahasiswa[i].ntugas + mahasiswa[i].nuts;

mahasiswa[i].nakhir = mahasiswa[i].nakhir + mahasiswa[i].nuas; };

clrscr( );

cout<<"\t\t\tDAFTAR NILAI MAHASISWA"<

mahasiswa[0].baris( );

cout<<"NIM Nama Mahasiswa Nilai Grade"<

cout<<"\t\t\t\t --------------------------------------"<

cout<<" Tugas UTS UAS ";

cout<<"Akhir"<

mahasiswa[0].baris( );

for (i=0;i

{ cout<<<"\t"<

cout<<"\t\t"<<<"\t";

cout<<<"\t"<

cout<<"\t"<<<"\t ";

cout<<

getch( ); }

void mhs::baris( )

{for (int i=0;i<80;i++)

{cout<<"-";};

cout<

char mhs::grade(float nilai)

{if(nilai>80 && nilai<=100)

return 'A';

else if(nilai>70 && nilai<=80)

return 'B';

else if(nilai>60 && nilai<=70)

return 'C';

else if(nilai>50 && nilai<=60)

return 'D';

else return 'E';}