makalah basis data ii
TRANSCRIPT
BAB I
PENDAHULUAN
1.1.Latar Belakang.
Pada Era globalisasi ini,sebuah perusahaan atau organisasi dituntut untuk
memiliki kreativitas yang tinggi untuk dapat terus bertahan ditengah ketatnya
persaingan.Untuk mangatasi hal tersebut, banyak organisasi atau perusahaan
melakukan ekspansi secara basar-besaran.
Dengan berkembangnya ruang lingkup usaha dan ekspansi yang dilakukanya,
banyak perusahaan atau organisasi contohnya sebuah apotik ini,menerapakan sistem
Database untuk mengatur atau menjaga kemanan datanya dan mengatur sumber
dayanya.Dengan sistem database maka akan mempermudah sebuah perusahaan atau
organisasi untuk mengolah datanya.
Contohnya apotik swasta ini yaitu apotik bersama adalah salah satu contoh
apotik yang merupakan pedagang disektor farmasi yang ada di kota paalangkaraya
yang menggunakan sistem database dalam system pengolah datanya.Apotik brsama
ini ini terbukti mampu terus bertahan ditengah maraknya persaingan dalam bidang
farmasi yang ada di kota palangkaraya.
Penjualan sub distributor yang dilakukan oleh apotik bersama adalah dengan
menjual barang kepada konsumen atau masyarakat secara menyeluruh dan menjual
kepada apotik atau klinik-klinik lain yang ada di kota palangkaraya. Dengan ekspansi
yang dilakukanya apotik bersama tentu saja memrlukan sebuah system yang mampu
meng integrasikan semua data,yaitu data konsumen,data salesman,data
pembelian,data penjualan,dan laporan akan kegiatan transaksi yang akan
menggambarkan hasil dari aktivitas yang dilakukan untuk menghitung keuntungan
dan kerugian yang didapat.
Sistem yang saat ini digunakan sangatlah belum memenuhi semua kebutuhan
tersebut,sehingga perlu dilakukan penilitian untuk mendapatkan solusi terbaiknya.
1.2.Rumusan Masalah
Masalah – masalah yang ada bias dirumuskan adalah sebagai berikut :
1. Bagaimana melakukan perencanaan sumberdaya pada sebuah apotik
tersebut,yaitu apotik bersama,yang berskala menengah ini.
Page 1
2. Rancangan kebutuhan bisnis yang bagaimanakah yang diperlukan oleh apotik
bersama.
1.3.Tujuan
1. Melakukan perbaikan proses bisnis yang ada pada Apotik bersama tersebut
dengan konsep Database.
2. Pengembangan aplikasi apotik bersama dengan menggunakan konsep Database
yang bertujuan untuk meningkatkan kinerja semua sumber daya untuk
mendapatkan efisiensi dan efektivitas yang maksimum.
1.4.Metode Penelitian
Pada pembuatan makalah ini metode penulisan yang digunakan penulis adalah
sebagai berikut :
1. Untuk perancangan arsitektur sistem,dilakukan dengan metode system database.
2. Perancangan system dilakukan dengan menerapkan konsep database.
1.5.Ruang lingkup system.
Sistem informasi data apotik ini melingkupi:
1. Pembuatan database yang nantinya dapat mempermudah dalam pencarian data
apotik lama, ataupun data apotik baru yang akan ditambahkan.
2. Pembuatan sistem yang nantinya dapat berfungsi sebagai transaksi
penyimapanan data baik penjualan maupun pembelian obat pada apotik bersama,
yaitu berupa perhitungan biaya penjualan dan pembalian yang akan di bayar
oleh konsumen/pembeli berdasarkkan tindakan berdasarkan jumlah pembelian
dan penjualan yang dilakukan oleh konsumen terhadap apotik bersama tersebut.
Sistem ini mampu menambah data apotik, update data apotik, serta menghapus
data apotik.
Page 2
BAB II
LANDASAN TEORI DAN TINJAUAN PUSTAKA
2.1.Basis Data
Data diperlukan dalam segala hal, baik berupa pengukuran, pencatatan,
pengumpulan informasi, maupun pengambilan keputusan semuanya memerlukan
data. Dengan kata lain data sangat dibutuhkan karena informasi yang ada akan
memberikan arti yang sangat penting baik untuk saat ini maupun untuk akan datang.
Data dan Informasi telah menjadi bagian vital dalam pertumbuhan bisnis. Saat ini
data dan informasi pada umumnya disimpan dalam satu atau lebih database. Pada
skala yang luas dan historis penyimpanan data disimpan dalam sebuah gudang data
atau yang lebih dikenal dengan Datawarehouse. Data dan informasi tersebut dikelola
oleh sistem khusus yang dikenal dengan Database Management System (DBMS).
Basis data (data base) adalah kumpulan dari data yang saling berhubungan satu
dengan yang lainnya, tersimpan di perangkat keras komputer dan digunakan
perangkat lunak untuk memanipulasinya. Dari definisi ini, terdapat tiga hal yang
berhubungan dengan basis data, yaitu :
Data itu sendiri yang diorganisasikan dalam bentuk basis data (data base)..
Simpanan permanen (storage) untuk menyimpan basis data tersebut. Simpanan ini
merupakan bagian dari teknologi perangkat keras yang digunakan di sistem
informasi. Simpanan permanen yang umumnya digunakan berupa hard disk.
Perangkat lunak untuk memanipulasi basis datanya. Perangkat lunak ini dapat
dibuat sendiri dengan menggunakan bahasa pemrograman komputer atau dibeli
dalam bentuk suatu paket. Banyak paket perangkat lunak yang disediakan untuk
memanipulasi basis data. Paket perangkat lunak ini disebut dengan DBMS (Data
Base Management Systems). Contoh DBMS yang terkenal misalnya adalah dBASE,
Fox Base, Microsoft Access, Oracle dan lain-lain.
Sistem database pada dasarnya adalah sistem terkomputerisasi yang tujuan
utamanya untuk memelihara informasi dan membuat informasi tersebut tersedia pada
saat diperlukan.
Operasi-Operasi Yang Dapat Dilakukan Pada Database :
menambahkan file ke sistem database,
Page 3
menyisipkan data ke dalam suatu file,
mengambil data dari suatu file,
mengubah data pada suatu file,
menghapus data dari suatu file,
menyajikan informasi dari suatu atau sejumlah file,
mengosongkan file.
Manfaat Sistem Database
mengurangi duplikasi data (kemubaziran),
menghindari inkonsistenan data,
meningkatkan integritas data, dimana data selalu dalam keadaan valid; hal ini
hanya dapat terjadi bila data hanya berada dalam satu tempat,
adanya independensi data, sifat yang memungkinkan perubahan struktur file
tidak mempengaruhi program dan sebaliknya; juga dapat berarti bahwa data
bersifat tidak bergantung pada data lain,
adanya sekuritas data, yang bermanfaat untuk menghindari pengaksesan data
oleh yang tidak berhak,
penggunaan data menjadi lebih mudah, dimana pada umumnya sistem
manajemen database (DataBase Management System = DBMS) menyediakan
fasilitas query yang memudahkan user untuk memperoleh informasi.
Salah satu komponen penting dalam sistem informasi, karena merupakan dasar
dalam menyediakan informasi.
Menentukan kualitas informasi : akurat, tepat pada waktunya dan relevan.
Informasi dapat dikatakan bernilai bila manfaatnya lebih efektif dibandingkan
dengan biaya mendapatkannya.
Sistem manajemen database dapat diartikan sebagai suatu program komputer
yang digunakan untuk memasukkan, mengubah, menghapus, memanipulasi dan
memperoleh data dengan praktis dan efisien.
2.2.Integritas Data
Terminologi integritas data terkait dengan keakuratan dan kelengkapan data.
Ketika isi suatu database dimodifikasi dengan pernyataan insert, update atau delete,
integritas data yang tersimpan bisa saja hilang dikarenakan banyak hal.
Contohnya :
Page 4
1. Data tidak valid yang ditambahkan ke basis data.
2. Edit data yang tepat.
3. Hasil modifikasi terhadap database yang mungkin hilang karena system error
or power failure.
4. Modifikasi terhadap basis data yang sifatnya parsial, sehingga data-data antar
tabel yang berelasi tidak sinkron.
Salah satu peran DBMS yang penting adalah memelihara integritas database.
Beberapa jenis data integrity constraint didalam basis data relasional, adalah :
1. Required data.
2. Validity checking.
3. Entity integrity.
4. Referential integrity.
5. Other data relationship.
6. Business rules.
7. Consistency.
Database dapat dibuat dengan cara manual yaitu dengan Enterprise Manager
atau menggunakan Create Database Wizard. Terdapat beberapa batasan untuk
memastikan integritas dari suatu field. Ada diantaranya, yaitu:
NOT NULL menentukan bahwa kolom tidak bisa menerima nilai null.
CHECK membatasi nilai yang bisa diletakkan ke dalam kolom dengan
menguji suatu kondisi.
UNIQUE memaksa kolom-kolom memiliki nilai yang eksklusif sehingga
tidak boleh ada dua record dengan isi yang sama.
PRIMARY KEY membuat kunci utama dari tabel, kolom, atau kombinasi
dari kolom dengan nilai yang harus eksklusif di dalam tabel untuk mengenali
baris. Kolom dengan batasan ini tidak boleh bernilai null.
2.3.Stored Procedure
Prosedur pada dasarnya adalah sebuah program yang ditulis dalam bahasa
Transact-SQL yang disimpan dalam database SQL Server. Stored Procedure dapat
digunakan untuk menyimpan beberapa perintah yang berkaitan dengan pengolahan
data dan dengan menggunakan store procedure dapat dilakukan penginputan yang
Page 5
CREATE PROC [ EDURE ] Procedure_Name (@Parameter1
Tipedataparameter(Panjangparameter), @Parameter n Tipedata n
(Panjangparameter n)
AS
Begin
ALTER PROC [ EDURE ] Procedure_Name (@Parameter1
Tipedataparameter(Panjangparameter), @Parameter n Tipedata n
(Panjangparameter n)
AS
Begin
dinamis dalam pengelolaan data dalam database. Berikut ini beberapa karakteristik
Stored Procedure, yaitu :
Dapat merupakan Script atau bahkan batch file
Disimpan pada database, bukan file terpisah
Tidak seperti script, dapat memiliki parameter input, output dan return values
Prosedur tersimpan sangat bermanfaat pada lingkungan client-server, baik untuk
meningkatkan kinerja maupun untuk pemeliharaan. Karena satu prosedur bisa
digunakan oleh beberapa program, pengelolaan sistem bisa menjadi lebih mudah
karena satu perubahan akan segera direfleksikan kepada semua user.Untuk membuat
sebuah stored procedure dipergunakan sintax sebagai berikut :
Untuk menjalankan menjalankan prosedur, buka query analyzer dan ketikkan exec
nama_prosedur. Apabila prosedur yang ingin dijalankan memiliki parameter, maka
tuliskan parameter tersebut setelah nama prosedur.
Contoh: exec nama_procedure parameter1
Untuk mengubah prosedur dapat menggunakan perintah alter procedure yang
diikuti dengan nama prosedur tersebut dan perubahan yang dibutuhkan. Contoh:
Prosedur bisa dihapus dengan perintah drop procedure atau bisa juga dengan
melalui enterprise manager.
Page 6
BAB III
PEMBAHASAN
3.1. Desain database
Data Microsoft SQL Server disimpan dalam beberapa database. Data dalam suatu
database terorganisasi ke dalam komponen logis bagi user. Suatu database juga
secara fisik teridiri dua atau lebih file pada disk. Bila menggunakan suatu database,
pekerjaan terutama berlangsung pada komponen logis seperti table, view, file
procedure, dan user. Sedangkan secara fisik, file database dapat terlihat pada disk,
dan umumnya hanya database administrator yang perlu bekerja dengan komponen
fisik tersebut.
Mendesain logika database mencakup beberapa hal yaitu :
Table dan table name - disebut juga sebagai entity
Column name dalam setiap tabel - disebut sebagai attribute.
Column characteristic - seperti nilai unik dan penyertaan nilai null.
Primary key untuk setiap tabel — merupakan column yang menyimpan nilai unik
untuk bisa mengidentifikasi setiap baris pada tabel. Walaupun terdapat column
lain dengan nilai unik, hanya satu yang teridentifikasi sebagai kunci akses dalam
melakukan akses data. Setiap tabel hanya dapat memiliki satu primary key.
Relationship between table - baris di dalam beberapa tabel dapat tergantung pada
satu atau lebih baris pada tabel lain. Ketergantungan antar tabel ini disebut sebagal
relasi (relationship). Untuk mendefinisikan relasi, suatu column atau beberapa
column dalam suatu tabel harus diberikan key, disebut sebagai foreign key dan
menjadi referensi bagi primary key dan tabel yang lain.
a) SQL-Server Database File dan Transaction Log
File Database dan SQL-Server dapat dikategorikan menjadi 3 jenis :
1. PRIMARY DATA FILE. Data disimpan dalam file dengan ekstensi “.mdf”. File
ini merupakan database yang sesungguhnya, berisi tabel dan objek lain dan
database. File ini disebut juga sebagal Primary Data File.
2. SECONDARY DATA FILE. File secondary memiliki ekstensi “.ndf”. File ini
merupakan tempat penyimpanan data dan object yang tidak disimpan pada pada
Page 7
file primary. Database tidak harus memiliki file sekunder, tetapi dapat memiliki
beberapa file sekunder.
3. LOG. File ini berisi catatan antara lain mengenai modifikasi tabel (UPDATE),
input data baru (INSERT), dan penghapusan data (DELETE). Catatan tersebut
akan dimanfaatkan oteh SQL-Server jika terjadi kegagalan sistem yang
mengakibatkan crash. Dengan catatan yang ada pada file log, SQLServer
melakukan proses recovery, dan melakukan proses “rollback” untuk transaksi
yang belum selesai. File LOG memiliki ekstensi “.ldf”. Secara default besar file
log adalah 25% dari file data.
Saat kita menciptakan database dengan statement CREATE DATABASE,
SQLServer langsung membuat 2 file, yaitu PRIMARY DATAFILE dan LOG. Setiap
data disimpan dalam 8 Kb block yang berdamping pada disk (SQL-Server
menempatkan 2Kb untuk setiap pages). Kumpulan block ini disebut sebagai pages.
Ini berarti database dapat menyimpan 128 pages pada setiap megabyte hard disk.
Sebuah baris (row) data tidak dapat melebihi besar pages. Maximum data pada satu
baris adalah 8068 bytes. Selisih dari 8192 digunakan untuk header file. Sedangkan
maximum space yang dapat digunakan dalam satu baris adalah 8094. Tabel, object
database lain, dan index disimpan pada Extent. Suatu extent adalah 8 pages yang
berkesinambungan atau 64 Kb. Karena itu suatu database memiliki 16 extent pada
setiap megabytes hard disk. Bila tabel berkembang sampai dengan 8 pages, maka
tebel akan menggunakan extent sendiri (Unifor Extent).
b) Pembuatan Database Apotik
Untuk membuat sebuah database pada query analyzer, sintax yang umum
digunakan yaitu :
Page 8
CREATE DATABASE database_name[ ON[ <filespec> [,…n] ][,<filegroup> [,…n] ]
[ LOG ON {<filespec> [,…n]} ][ COLLATE collation_name ][ FOR LOAD | FOR ATTACH ]<filespec>::=[ PRIMARY ]( [ NAME = logical_file_name, ]FILENAME = ‘os_file_name’[, SIZE = size ][, MAXSIZE = { max_size | UNLIMITED } ][, FILEGROWTH = growth_increment ] ) [,…n]<filegroup>::=FILEGROUP filegroup_name <filespec> [,…n]
Untuk membuat database apotik yang sintax yang digunakan yaitu :
Hasil Eksekusi Pada Query Analyzer :
Penjelasan :
Database diatas diberi nama ApotikBersama. Data_filesnya diberinama Apotik_data
dimana data_files ini akan disimpan pada FileName yaitu C:\Program Files\
Microsoft SQL Server\MSSQL\Data\APOTIKBersama.mdf yang berarti database
ini nantinya akan ditempatkan pada C:\Program Files\Microsoft SQL Server\
MSSQL\Data\ , dengan nama APOTIKBersama dan eksetensi mdf. Size atau
besarnya data file pada saat database dibuat ialah 10 MB. Sedangkan untuk
Page 9
CREATE DATABASE ApotikBersamaON PRIMARY( NAME = Apotik_data, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\APOTIK.mdf', SIZE = 10MB, MAXSIZE = 100MB, FILEGROWTH =5MB )LOG ON(NAME = 'Apotik_Log',FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\Apotik_Log' ,SIZE = 5MB,MAXSIZE = 50MB,FILEGROWTH = 5MB)
maksimum sizenya ditetapkan 100 MB. Untuk nilai restric/filegrowth ditetapkan
besarnya ialah 5 MB.
Untuk transaction log Data_filesnya diberinama Apotik_log dimana data_files ini
akan disimpan pada FileName yaitu C:\Program Files\Microsoft SQL Server\
MSSQL\Data\APOTIKBersama_log.ldf yang berarti database ini nantinya akan
ditempatkan pada C:\Program Files\Microsoft SQL Server\MSSQL\Data\ , dengan
nama APOTIKBersama_log dan eksetensi ldf. Size atau besarnya data file pada
saat database dibuat ialah 5 MB. Sedangkan untuk maksimum sizenya ditetapkan 50
MB. Untuk nilai restric/filegrowth ditetapkan besarnya ialah 5 MB.
Keterangan :
Name : Nama logikal dari data file tersebut.
Filename : Nama fisik yang tersimpan di dalam disk pada server.
Size : Nilai besarnya data file pada saat database dibuat.
Maxsize : Nilai maximum dari data file yang didefinisikantersebut.
Filegrowth : Nilai dari data file tersebut yang akan ditambahkan saat data file
yang didefinisikan tersebut telah terisi penuh.
Database_name : Merupakan nama database baru. Nama database harus unik pada
sebuah server.
ON : Menspesifikasikan bahwa file-file disk yang digunakan untuk
menyimpan porsi data dari database yang didefinisikan secara
eksplisit.
PRIMARY : Menspesifikasikan hubungan <filespec> list yang
mendefinisikan primary file. Sebuah database hanya dapat
mempunyai satu primary file.
3.2. Struktur Tabel
Setelah database ApotikBersama telah selesai dibuat maka dilanjutkan dengan
pembuatan tabel-tabel. Dalam database apotik ini akan dimasukan delapan buah tabel
yaitu Tabel Jenis, Tabel DaftarObat, Tabel Pegawai, Tabel Pemasok, Tabel
Pembelian, Tabel Detail_PembelianObat, Tabel Penjualan, Tabel
Detail_PenjualanObat.
a) Struktur Tabel Jenis
Page 10
Tabel jenis digunakan untuk merekam data jenis-jenis obat yang tersedia di
apotik. Tabel ini menjelaskan kategori obat yang ada. Misalnya tablet, injeksi, kaplet,
kapsul dan lain sebagainya.
Kolom TipeData Panjang Allownull Status
KodeJenis Char 4 No Primary Key
JenisObat Char 10 No -
b) Struktur Tabel DaftarObat
Tabel daftar obat digunakan untuk menyimpan data obat yang tersedia di apotik.
Data tersebut berupa kodejenis, namaobat, jumlahstock, hargasatuan, tglkadaluarsa
dari obat. Tabel ini akan berelasi dengan tabel jenis guna mengetahui jenis dari obat.
Kolom TipeData Panjang Allownull Status
KodeObat Char 4 No Primary Key
KodeJenis Char 4 No Foreign Key
NamaObat Varchar 25 No -
JumlahStock Int 4 No -
HargaSatuan Money 8 No -
TglKadaluarsa Datetime 8 No -
c) Struktur Tabel Pegawai
Tabel pegawai digunakan untuk menyimpan data pegawai atau karyawan yang
bekerja di apotik. Tabel pegawai nantinya akan berelasi dengan tabel penjualan, hal
ini dimaksudkan agar diketahui siapa pegawai yang menjual obat.
Kolom TipeData Panjang Allownull Status
KodePegawai Char 4 No Primary Key
NamaPegawai Varchar 25 No -
Jenis_kelamin Char 1 No -
Alamat Varchar 25 No -
NoTelpon Varchar 20 No -
Page 11
d) Struktur Tabel Pemasok
Tabel Pemasok digunakan untuk menyimpan data Pemasok atau pemasok yang
menyediakan semua barang yang dijual di apotik. Dengan adanya tabel ini pihak
apotik dapat mengetahui daftar nam pemasok obat pada apotiknya.
Kolom TipeData Panjang Allownull Status
KodePemasok Char 4 No Primary Key
NamaPemasok Varchar 25 No -
Alamat Varchar 25 No -
Notelpon Varchar 20 No -
e) Struktur Tabel Pembelian
Tabel Pembelian digunakan untuk menyimpan data transaksi pembelian obat dari
Pemasok atau pemasok. Dan data lengkap mengenai pembelian dapat diakses pada
database detail_pembelianobat. Dengan adanya tabel ini pihak apotik dapat
mengetahui data mengenai transaksi pembelian.
Kolom TipeData Panjang Allownull Status
KodePembelian Char 4 No Primary Key
KodePemasok Char 4 No Foreign key
KodePegawai Char 4 No Foreign Key
TotalHarga Money 8 No -
TanggalPembelian Datetime 8 No -
f) Struktur Tabel Detail_PembelianObat
Tabel Detail Pembelian digunakan untuk menyimpan data berupa detail dari
barang yang dibeli dari Pemasok. Sehingga tabel detail_pembelian ini nanti dapat
diakses oleh tabel pembelian.
Kolom TipeData Panjang Allownull Status
KodeDetailPembelian Char 4 No Primary Key
KodePembelian Char 4 No Foreign key
KodeObat Char 4 No Foreign key
HargaSatuan Money 8 No -
JumlahPembelian int 4 No -
g) Struktur Tabel Penjualan
Page 12
Tabel penjualan digunakan untuk menyimpan data proses transaksi penjualan
secara langsung. Dan data lengkap mengenai nama pegawai atau pun atribut lainnya
dapat diakses pada tabel detail_penjualanobat.
Kolom TipeData Panjang Allownull Status
KodePenjualan Char 4 No Primary Key
NamaPelanggan Char 4 No Foreign key
KodePegawai Char 4 No Foreign key
TotalPembayaran money 8 No -
TanggalPenjualan Datetime 8 No -
h) Struktur Tabel Detail_PenjualanObat
Tabel detail_penjualanobat digunakan untuk menyimpan data yang lebih
spesifik/detail dari obat yang dijual.
Kolom TipeData Panjang Allownull Status
KodeDetailPenjualan Char 4 No Primary Key
KodePenjualan Char 4 No Foreign key
KodeObat Char 4 No Foreign key
HargaJual Money 8 No
Jumlahpenjualan int 4 No -
Berpatokan pada stuktur desin tabel yang telah dibuat maka untuk
mengaplikasikannya dapat digunakan perintah sql sebagai berikut :
a) Tabel Jenis
Create Table Jenis(
KodeJenis char(4) not null primary key,
JenisObat varchar(10)not null)
b) Tabel DaftarObat
Page 13
Create Table Daftarobat(
KodeObat char(4) not null primary key,
KodeJenis char(4) not null foreign key references
jenis(kodejenis)on delete no action,
NamaObat varchar(25) not null,
JumlahStock int not null,
HargaSatuan money not null,
TglKadaluarsa datetime not null)
c) Tabel Pegawai
Create Table Pegawai(
KodePegawai char(4) not null primary key,
NamaPegawai varchar(25) not null,
Jenis_kelamin char(1) check (Jenis_kelamin ='L'or
Jenis_kelamin ='P'),
Alamat varchar(25)not null,
NoTelpon varchar(20)not null)
d) Tabel Pemasok
Page 14
Create Table Pemasok(
KodePemasok char(4) not null primary key,
NamaPemasok varchar(20)not null,
Alamat varchar(25)not null,
NoTelpon varchar(20)not null)
e) Tabel Pembelian
Create Table Pembelian(
KodePembelian char(4) not null primary key,
KodePemasok char(4) not null foreign key references
Pemasok(KodePemasok)on delete no action ,
KodePegawai char(4)not null foreign key references
Pegawai(KodePegawai)on delete no action,
TotalPembelian money not null,
TanggalPembelian datetime not null)
f) Tabel Penjualan
Page 15
Create Table Penjualan(
KodePenjualan char(4) not null primary key,
NamaPelanggan varchar(25) not null,
KodePegawai char(4)not null foreign key references
Pegawai(KodePegawai)on delete no action,
TotalPembayaran money not null,
TanggalPenjualan datetime not null)
g) Tabel Detail_PembelianObat
Create Table Detail_Pembelianobat(
KodeDetailPembelian char(4)not null primary key,
KodePembelian char(4) not null foreign key references
Pembelian(KodePembelian)on delete no action,
KodeObat char(4)not null foreign key references
DaftarObat(KodeObat)on delete no action ,
HargaSatuan money not null,
JumlahPembelian int not null)
h) Tabel Detail_PenjualanObat
Page 16
Create Table Detail_Penjualanobat(
KodeDetailPenjualan char(4)not null primary key,
KodePenjualan char(4)not null foreign key references
Penjualan(KodePenjualan)on delete no action,
KodeObat char(4)not null foreign key references
DaftarObat(KodeObat) on delete no action,
KodePegawai char(4)not null foreign key references
Pegawai(KodePegawai)on delete no action)
Penjelasan :
Create table nama_tabel merupakan query yang digunakan untuk membuat sebuah
tabel.
Not null digunakan untuk menyatakan bahwa kolom tidak bisa menerima nilai null.
Primary Key digunakan untuk menyatakan suatu kolom merupakan kunci utama
(primary key) dari table.
Check digunakan untuk membatasi nilai yang bisa diletakkan ke dalam kolom
dengan menguji suatu kondisi
Foreign Key Reference digunakan untuk menyatakan terdapat suatu relasi (tabel)
lain yang mempunyai Primary Key yang memiliki nilai yang sama dengan atribut
foreign key.
On delete no action digunakan untuk menyatakan apabila data field didelete maka
data lain yang berelasi dengan tabel tersebut tidak akan terhapus.
3.3.Relationship
Page 17
Berdasarkan desain dan struktur tabel yang telah dibuat, maka dapat digambarkan
hubungan atau relasi dari tabel-tabel ialah sebagai berikut :
RELATIONAL TABEL
Ket :
Tanda (*s) menunjukan primary key atau kunci utama
Tanda (**) menunjukan foreignkey atau atribut yang melengkapi satu relasi yang
menunjukan ke atribut induknya.
3.4.Stored Procedure
Page 18
CREATE PROC [ EDURE ] Procedure_Name (@Parameter1
Tipedataparameter(Panjangparameter), @Parameter n Tipedata n
(Panjangparameter n)
AS
Begin
ALTER PROC [ EDURE ] Procedure_Name (@Parameter1
Tipedataparameter(Panjangparameter), @Parameter n Tipedata n
(Panjangparameter n)
AS
Begin
Prosedur pada dasarnya adalah sebuah program yang ditulis dalam bahasa
Transact-SQL yang disimpan dalam database SQL Server. Stored Procedure dapat
digunakan untuk menyimpan beberapa perintah yang berkaitan dengan pengolahan
data dan dengan menggunakan store procedure dapat dilakukan penginputan yang
dinamis dalam pengelolaan data dalam database. Berikut ini beberapa karakteristik
Stored Procedure, yaitu :
Dapat merupakan Script atau bahkan batch file
Disimpan pada database, bukan file terpisah
Tidak seperti script, dapat memiliki parameter input, output dan return values
Prosedur tersimpan sangat bermanfaat pada lingkungan client-server, baik untuk
meningkatkan kinerja maupun untuk pemeliharaan. Karena satu prosedur bisa
digunakan oleh beberapa program, pengelolaan sistem bisa menjadi lebih mudah
karena satu perubahan akan segera direfleksikan kepada semua user.Untuk membuat
sebuah stored procedure dipergunakan sintax sebagai berikut :
Untuk menjalankan menjalankan prosedur, buka query analyzer dan ketikkan exec
nama_prosedur. Apabila prosedur yang ingin dijalankan memiliki parameter, maka
tuliskan parameter tersebut setelah nama prosedur.
Contoh: exec nama_procedure parameter1
Untuk mengubah prosedur dapat menggunakan perintah alter procedure yang
diikuti dengan nama prosedur tersebut dan perubahan yang dibutuhkan. Contoh:
Page 19
Prosedur bisa dihapus dengan perintah drop procedure atau bisa juga dengan
melalui enterprise manager.
1) Membuat Prosedur Insert tabel
Prosedur insert digunakan untuk menginputkan data-data pada tabel. Sintax yang
digunakan ialah :
CREATE PROC [ EDURE ] Procedure_Name (@Parameter1
Tipedataparameter(Panjangparameter), @Parameter n Tipedata n
(Panjangparameter n)
AS
Begin
Insert into table_name values(@parameter 1,……………,@parameter n)
end
Contoh pengimplikasiannya terhadap tabel-tabel dalam database apotik ialah
sebagai berikut :
a) Membuat Prosedur Insert Jenis
Penjelasan :
InsertJenis merupakan procedure untuk menginputkan data tabel Jenis. Variabel
parameternya adalah (@KodeJenis char(4) maksudnya variabel ini memiliki tipe data
char dengan panjang data 4 karakter ,@JenisObat varchar (10) maksudnya variabel
ini memiliki tipe data varchar dengan panjang data 10. Kemudian di dalam prosedur
ini terdapat sintak as begin yang digunakan untuk mengawali eksekusi di dalam
prosedur yaitu eksekusi perintah insert into Jenis values (@KodeJenis,
@JenisObat). Perintah insert digunakan untuk memasukkan data-data ke tabel Jenis
dengan nilai-nilai yang terdapat pada variabel @KodeJenis, @JenisObat. Kemudian
Page 20
sintak end digunakan untuk menghentikan semua eksekusi. Sedangkan untuk
menjalankan prosedur ini gunakan perintah berikut:
b) Membuat Prosedur Insert Daftar Obat
Penjelasan :
InsertObat merupakan procedure untuk menginputkan data tabel DaftarObat.
Variabel parameternya adalah (@KodeObat char(4) maksudnya variabel ini memiliki
tipe data char dengan panjang data 4 karakter ,@KodeJenis char(4) maksudnya
variabel ini memiliki tipe data char dengan panjang data 4 karakter, @NamaObat
varchar(25) maksudnya variabel ini memiliki tipe data varchar dengan panjang data
25 karakter, @JumlahStock int maksudnya variabel ini memiliki tipe data integer,
@HargaSatuan money, @Tglkadaluarsa datetime maksudnya variabel ini memiliki
tipe data datetime. Kemudian di dalam prosedur ini terdapat sintak as begin yang
digunakan untuk mengawali eksekusi di dalam prosedur yaitu eksekusi perintah
Page 21
insert into DaftarObat values (@KodeObat, @KodeJenis, @NamaObat,
@JumlahStock, @TglKadaluarsa). Perintah insert digunakan untuk memasukkan
data-data ke tabel DaftarObat dengan nilai-nilai yang terdapat pada variabel
@KodeObat, @KodeJenis, @NamaObat, @JumlahStock, @TglKadaluarsa.
Kemudian sintak end digunakan untuk menghentikan semua eksekusi. Sedangkan
untuk menjalankan prosedur ini gunakan perintah berikut:
c) Membuat Prosedur Insertpemasok
Penjelasan :
InsertPemasok merupakan procedure untuk menginputkan data tabel Pemasok.
Variabel parameternya adalah @KodePemasok char(4) maksudnya variabel ini
memiliki tipe data char dengan panjang data 4 karakter ,@NamaPemasok
varchar(20) maksudnya variabel ini memiliki tipe data varchar dengan panjang data
20 karakter, @Alamat varchar(25) maksudnya variabel ini memiliki tipe data varchar
Page 22
dengan panjang data 25 karakter, @NoTelpon varchar(20) maksudnya variabel ini
memiliki tipe data varchar dengan panjang data 20 karakter. Kemudian di dalam
prosedur ini terdapat sintak as begin yang digunakan untuk mengawali eksekusi di
dalam prosedur yaitu eksekusi perintah insert into InsertPemasok values
(@KodePemasok, @NamaPemasok, @Alamat, @Notelpon). Perintah insert
digunakan untuk memasukkan data-data ke tabel Pemasok dengan nilai-nilai yang
terdapat pada variabel @KodePemasok, @NamaPemasok, @Alamat, @Notelpon.
Kemudian sintak end digunakan untuk menghentikan semua eksekusi. Sedangkan
untuk menjalankan prosedur ini gunakan perintah berikut:
d) Membuat prosedur InsertPegawai
Page 23
Penjelasan :
Insertpegawai merupakan procedure untuk menginputkan data tabel pegawai.
Variabel parameternya adalah @KodePegawai char(4) maksudnya variabel ini
memiliki tipe data char dengan panjang data 4 karakter ,@NamaPegawai varchar(25)
maksudnya variabel ini memiliki tipe data varchar dengan panjang data 25 karakter,
@Jenis_Kelamin char(1) maksudnya variabel ini memiliki tipe data char dengan
panjang data 1 karakter,@Alamat varchar(25) maksudnya variabel ini memiliki tipe
data varchar dengan panjang data 25 karakter, @NoTelpon varchar(20) maksudnya
variabel ini memiliki tipe data varchar dengan panjang data 20 karakter. Kemudian di
dalam prosedur ini terdapat sintak as begin yang digunakan untuk mengawali
eksekusi di dalam prosedur yaitu eksekusi perintah insert into InsertPegawai values
(@KodePegawai, @NamaPegawai, @Jenis_Kelamin, @Alamat, @Notelpon).
Perintah insert digunakan untuk memasukkan data-data ke tabel Pegawai dengan
nilai-nilai yang terdapat pada variabel @KodePegawai, @NamaPegawai,
@Jenis_Kelamin, @Alamat, @Notelpon. Kemudian sintak end digunakan untuk
menghentikan semua eksekusi. Sedangkan untuk menjalankan prosedur ini gunakan
perintah berikut:
Page 24
e) Membuat prosedur InsertPenjualan
Penjelasan :
InsertPenjualan merupakan procedure untuk menginputkan data tabel Penjualan.
Variabel parameternya adalah @KodePenjualan char(4) maksudnya variabel ini
memiliki tipe data char dengan panjang data 4 karakter ,@NamaPelanggan
varchar(25) maksudnya variabel ini memiliki tipe data varchar dengan panjang data
25 karakter, @KodePegawai char(4) maksudnya variabel ini memiliki tipe data char
dengan panjang data 4 karakter,@TotalPembayaran money maksudnya variabel ini
memiliki tipe data money, @TanggalPenjualan datetime maksudnya variabel ini
memiliki tipe data datetime. Kemudian di dalam prosedur ini terdapat sintak as begin
yang digunakan untuk mengawali eksekusi di dalam prosedur yaitu eksekusi perintah
insert into InsertPenjualan values (@KodePenjualan, @NamaPelanggan,
@KodePegawai, @TotalPembayaran, @TanggalPenjualan). Perintah insert
digunakan untuk memasukkan data-data ke tabel Penjualan dengan nilai-nilai yang
terdapat pada variabel @KodePenjualan, @NamaPelanggan, @KodePegawai,
@TotalPembayaran, @TanggalPenjualan. Kemudian sintak end digunakan untuk
menghentikan semua eksekusi. Sedangkan untuk menjalankan prosedur ini gunakan
perintah berikut:
Page 25
e) Membuat prosedur InsertPembelian
Penjelasan :
Prosedur InsertPembelian merupakan procedure untuk menginputkan data tabel
pembelian. Variabel parameternya adalah @KodePembelian char(4) maksudnya
variabel ini memiliki tipe data char dengan panjang data 4 karakter ,@KodePemasok
char(4) maksudnya variabel ini memiliki tipe data varchar dengan panjang data 4
karakter, @KodePegawai char(4) maksudnya variabel ini memiliki tipe data char
dengan panjang data 4 karakter, @TotalPembelian money maksudnya variabel ini
memiliki tipe data money, @TanggalPembelian datetime maksudnya variabel ini
memiliki tipe data datetime. Kemudian di dalam prosedur ini terdapat sintak as begin
yang digunakan untuk mengawali eksekusi di dalam prosedur yaitu eksekusi perintah
insert into InsertPembelian values (@KodePembelian, @KodePemasok,
Page 26
@KodePegawai, @TotalPembelian, @TanggalPembelian). Perintah insert
digunakan untuk memasukkan data-data ke tabel Pembelian dengan nilai-nilai yang
terdapat pada variabel @KodePembelian, @KodePemasok, @KodePegawai,
@TotalPembelian, @TanggalPembelian. Kemudian sintak end digunakan untuk
menghentikan semua eksekusi. Sedangkan untuk menjalankan prosedur ini gunakan
perintah berikut:
e) Membuat prosedur InsertDetail_PenjualanObat
Penjelasan :
Prosedur InsertDetail_PenjualanObat merupakan procedure untuk menginputkan
data tabel Detail_PenjualanObat. Variabel parameternya adalah
@KodeDetailPenjualan char(4) maksudnya variabel ini memiliki tipe data char
Page 27
dengan panjang data 4 karakter ,@KodePenjualan char(4) maksudnya variabel ini
memiliki tipe data varchar dengan panjang data 4 karakter, @KodeObat char(4)
maksudnya variabel ini memiliki tipe data char dengan panjang data 4 karakter,
@Hargajual money maksudnya variabel ini memiliki tipe data money,
@JumlahPembelian int maksudnya variabel ini memiliki tipe data integer. Kemudian
di dalam prosedur ini terdapat sintak as begin yang digunakan untuk mengawali
eksekusi di dalam prosedur yaitu eksekusi perintah insert into InsertPembelian
values (@KodeDetailPenjualan, @KodePenjualan, @KodeObat, @Hargajual,
@JumlahPembelian). Perintah insert digunakan untuk memasukkan data-data ke
tabel Detail_PenjualanObat dengan nilai-nilai yang terdapat pada variabel
@KodeDetailPenjualan, @KodePenjualan, @KodeObat, @Hargajual,
@JumlahPembelian. Kemudian sintak end digunakan untuk menghentikan semua
eksekusi. Sedangkan untuk menjalankan prosedur ini gunakan perintah berikut:
e) Membuat prosedur InsertDetail_PembelianObat
Page 28
Penjelasan :
Prosedur InsertDetail_PembelianObat merupakan procedure untuk menginputkan
data tabel Detail_PembelianObat. Variabel parameternya adalah
@KodeDetailPembelian char(4) maksudnya variabel ini memiliki tipe data char
dengan panjang data 4 karakter ,@KodePembelian char(4) maksudnya variabel ini
memiliki tipe data varchar dengan panjang data 4 karakter, @KodeObat char(4)
maksudnya variabel ini memiliki tipe data char dengan panjang data 4 karakter,
@Hargabeli money maksudnya variabel ini memiliki tipe data money,
@JumlahPembelian int maksudnya variabel ini memiliki tipe data integer. Kemudian
di dalam prosedur ini terdapat sintak as begin yang digunakan untuk mengawali
eksekusi di dalam prosedur yaitu eksekusi perintah insert into InsertPembelian
values (@KodeDetailPembelian, @KodePembelian, @KodeObat, @Hargabeli,
@JumlahPembelian). Perintah insert digunakan untuk memasukkan data-data ke
tabel Detail_PembelianObat dengan nilai-nilai yang terdapat pada variabel
@KodeDetailPembelian, @KodePembelian, @KodeObat, @Hargabeli,
@JumlahPembelian. Kemudian sintak end digunakan untuk menghentikan semua
eksekusi. Sedangkan untuk menjalankan prosedur ini gunakan perintah berikut:
Page 29
Hasil dari penginputan tesebut ialah sebagai berikut :
Page 30
2) Membuat Prosedur Update tabel
Prosedur update digunakan untuk memperbaharui data-data pada tabel. Sintax
yang digunakan ialah :
CREATE PROC [ EDURE ] Procedure_Name (@Parameter
Tipedataparameter(Panjangparameter),@Parameter n
Tipedataparameter(Panjangparameter))
Begin
UPDATE table_name set Fieldyangdiubahdatanya=@parameter where
fieldyangmemilikinilaiuniq=@parameter
end
Contoh pengimplikasiannya terhadap tabel-tabel dalam database apotik ialah
sebagai berikut :
a) Membuat prosedur update obat
Penjelasan :
UpdateObat merupakan nama procedure yang dibuat dengan variabel parameternya
adalah @KodeObat char(4) maksudnya variabel ini memiliki tipe data char dengan
panjang data 4 karakter, @HargaSatuan money maksudnya variabel ini memiliki tipe
data money. Kemudian di dalam prosedur ini terdapat sintak as begin yang
digunakan untuk mengawali eksekusi di dalam prosedur yaitu eksekusi perintah
update DaftarObat set HargaSatuan=@HargaSatuan where
KodeObat=@KodeObat. Perintah update digunakan untuk mengubah isi dari
kolom (field) dalam tabel DaftarObat. Pada bagian ini yang diubah adalah data pada
Page 31
field HargaSatuan, nantinya data pada field ini diganti sesuai dengan nilai yang
diinputkan pada variabel @HargaSatuan. Untuk menentukan obat mana yang akan
diganti harga satuannya digunakan syarat yaitu dimana kodeobat dari field kodeobat
sama dengan nilai variabel yang diinputkan pada variabel @KodeObat. Kemudian
sintak end digunakan untuk menghentikan semua eksekusi. Sedangkan untuk
menjalankan prosedur ini gunakan perintah berikut:
Pengeksekusian :
Tabel awal :
Tabel setelah diupdate :
3) Membuat prosedur Delete table
Prosedur delete digunakan untuk menghapus data pada tabel. Sintax yang
digunakan ialah :
CREATE PROC [ EDURE ] Procedure_Name (@Parameter
Tipedataparameter(Panjangparameter),@Parameter n
Tipedataparameter(Panjangparameter))
Begin
Delete from table_name where
fieldyangmemilikinilaiuniq(primary key)= @parameter
Page 32
end
Contoh pengimplikasiannya terhadap tabel-tabel dalam database apotik ialah
sebagai berikut :
a) Membuat prosedur delete DetailPenjualanObat
Penjelasan :
DeleteDetailPenjualan procedure untuk mendelete data detailpenjualan yang dibuat
dengan variabel parameternya adalah @Kodedetailpenjualan char(4) maksudnya
variabel ini memiliki tipe data char dengan panjang data 4 karakter. Kemudian di
dalam prosedur ini terdapat sintak as begin yang digunakan untuk mengawali
eksekusi di dalam prosedur yaitu eksekusi perintah delete from
Detail_PenjualanObat where kodepenjualan=@kodepenjualan. Perintah delete
digunakan menghapus baris dari tabel Detail_PenjualanObat, untuk menentukan
baris mana yang akan dihapus digunakan syarat yaitu dimana kodedetailpenjualan
dari field kodedetailpenjualan sama dengan nilai variabel yang diinputkan pada
variabel @Kodedetailpenjualan. Kemudian sintak end digunakan untuk
menghentikan semua eksekusi. Sedangkan untuk menjalankan prosedur ini gunakan
perintah berikut:
Page 33
Tabel awal :
Tabelhasil :
4) Membuat Prosedur Laporan Pembelian obat pada Apotik selama 1 bulan
Penjelasan :
Prosedur Lappembelianobatperbulan digunakan untuk melihat laporan pembelian
obat pada apotik yang dilakukan pada bulan-bulan tertentu. Apabila dieksekusi
hasilnya nanti akan menampilkan namaobat, jenisobat, namapegawai yang nantinya
ditampilkan sebagai penanggungjawabpembelian, namapemasok, hargasatuan,
jumlahpembelian, tanggalpembelian, totalpembelian yang nantinya ditampilkan
sebagai TotalHargaPembelian.
Lappembelianobatperbulan memiliki variabel parameter yaitu @bulan char(2)
maksudnya variabel ini memiliki tipe data char dengan panjang data 2 karakter.
Page 34
Kemudian di dalam prosedur ini terdapat sintak as begin yang digunakan untuk
mengawali eksekusi di dalam prosedur yaitu eksekusi perintah :
Select a.NamaObat, b.JenisObat, e.namapegawai as [PenanggungJawabPembelian],
f.namapemasok, d.HargaSatuan, d.JumlahPembelian, c.tanggalPembelian,
c.totalpembelian as [TotalPembelianPerbulan]
From DaftarObat a, Jenis b, Pembelian c, Detail_PembelianObat d, pegawai e,
pemasok f
Where d.KodePembelian=c.kodepembelian and d.kodeobat=a.kodeobat and
a.Kodejenis=b.Kodejenis and c.kodepemasok=f.kodepemasok and
c.kodepegawai=e.kodepegawai and month(c.tanggalPembelian)=@bulan
End
Perintah select digunakan untuk memilih dan menampilkan a.NamaObat,
b.JenisObat, e.namapegawai as [PenanggungJawabPembelian], f.namapemasok,
d.HargaSatuan, d.JumlahPembelian, c.tanggalPembelian, c.totalpembelian as
[TotalPembelianPerbulan] yang terdapat pada tabel DaftarObat a, Jenis b, Pembelian
c, Detail_PembelianObat d, Pegawai e, Pemasok f. Fungsi as digunakan untuk
mengganti tampilan nama atribut dari field.
Pada prosedur ini, digunakan enam buah tabel yaitu DaftarObat dengan aliansinya
yaitu a, Jenis dengan aliansinya yaitu b, Pembelian dengan aliansinya yaitu c,
Detail_PembelianObat dengan aliansinya yaitu d, Pegawai dengan aliansinya yaitu
e,dan Pemasok dengan aliansinya yaitu f. Dalam hal ini kondisi yang digunakan
untuk merelasikan tabel tersebut ialah :
Where d.KodePembelian=c.kodepembelian and d.kodeobat=a.kodeobat and
a.Kodejenis=b.Kodejenis and c.kodepemasok=f.kodepemasok and
c.kodepegawai=e.kodepegawai and month(c.tanggalPembelian)=@bulan. Sintak
and digunakan untuk menghubungkan dua syarat. month(s. tanggalPembelian)
=@Bulan digunakan untuk mendapatkan penghasilan dimana apabila nilai bulan
sama dengan yang diinputkan pada variabel @Bulan perhitungan jumlah
pendapatannya akan dihitung sesuai bulan tersebut. Kemudian sintak end digunakan
untuk menghentikan semua eksekusi. Sedangkan untuk menjalankan prosedur ini
gunakan perintah berikut:
Page 35
5) Membuat Prosedur Menghitung Jumlah Pembelian Obat pada Apotik
Selama 1 bulan
Penjelasan :
Prosedur pembelianperbulan digunakan untuk melihat total pembelian pada apotik
yang dilakukan pada bulan-bulan tertentu. Apabila dieksekusi hasilnya nanti akan
menampilkan atribut baru yang bernama TotalPembelianPerbulan.
Prosedur pembelianperbulan memiliki variabel parameter yaitu @bulan char(2)
maksudnya variabel ini memiliki tipe data char dengan panjang data 2 karakter.
Kemudian di dalam prosedur ini terdapat sintak as begin yang digunakan untuk
mengawali eksekusi di dalam prosedur yaitu eksekusi perintah :
Select sum(totalpembelian) as [TotalPembelianPerbulan]
From Pembelian
Where month(tanggalPembelian)=@bulan
Page 36
End
Perintah select digunakan untuk memilih dan menampilkan sum(totalpembelian) as
[TotalPembelianPerbulan]. Perintah sum digunakan digunakan untuk menjumlahkan
totalpembeliann yang terdapat pada tabel Pembelian.
Lalu hasil jumlah ini kemudian akan ditampilkan pada atribut baru yang bernama
TotalPembelianPerbulan hal ini bisa dilakukan dengan menggunakan perintah as
[TotalPembelianPerbulan]. Month(tanggalPembelian) =@Bulan digunakan untuk
mendapatkan penghasilan dimana apabila nilai bulan sama dengan yang diinputkan
pada variabel @Bulan perhitungan jumlah pendapatannya akan dihitung sesuai bulan
tersebut. Kemudian sintak end digunakan untuk menghentikan semua eksekusi.
Sedangkan untuk menjalankan prosedur ini gunakan perintah berikut:
6) Membuat prosedur untuk laporan penjualan obat yang dilakukan selama 1
Bulan
Page 37
Penjelasan :
Prosedur Lappenjualanobatperbulan digunakan untuk melihat laporan penjualan
obat pada apotik yang dilakukan pada bulan-bulan tertentu. Apabila dieksekusi
hasilnya nanti akan menampilkan namaobat, jenisobat, namapegawai, hargajual,
jumlahpembelian yang nantinya ditampilkan sebagai [totalpembelian], dan
tanggalpembelian dan totalpembayaran yang nantinya ditampilkan sebagai
[Totalhargapenjualan].
Lappenjualanobatperbulan memiliki variabel parameter yaitu @bulan char(2)
maksudnya variabel ini memiliki tipe data char dengan panjang data 2 karakter.
Kemudian di dalam prosedur ini terdapat sintak as begin yang digunakan untuk
mengawali eksekusi di dalam prosedur yaitu eksekusi perintah :
Select a.NamaObat, b.JenisObat, e.namapegawai, d.Hargajual, d.JumlahPembelian
as [TotalPembelian], c.tanggalPenjualan, c.totalpembayaran as
[TotalHargaPenjualan]
From DaftarObat a,Jenis b,Penjualan c,Detail_PenjualanObat d,pegawai e
Where d.KodePenjualan=c.kodepenjualan and d.kodeobat=a.kodeobat and
a.Kodejenis=b.Kodejenis and c.kodepegawai=e.kodepegawai and
month(c.tanggalPenjualan)=@bulan
Group By a.NamaObat, b.JenisObat, d.JumlahPembelian, d.Hargajual,
e.namapegawai, c.tanggalPenjualan,c.totalpembayaran
Perintah select digunakan untuk memilih dan menampilkan a.NamaObat,
b.JenisObat, e.namapegawai, d.Hargajual, d.JumlahPembelian as [TotalPembelian],
c.tanggalPenjualan, c.totalpembayaran as [TotalHargaPenjualan]. Fungsi as
digunakan untuk mengganti tampilan nama atribut dari field.
Pada prosedur ini, digunakan lima buah tabel yaitu DaftarObat dengan aliansinya
yaitu a, Jenis dengan aliansinya yaitu b, Penjualan dengan aliansinya yaitu c,
Detail_PenjualanObat dengan aliansinya yaitu d, dan Pegawai dengan aliansinya
yaitu e. Dalam hal ini kondisi yang digunakan untuk merelasikan tabel tersebut
ialah :
Where d.KodePenjualan=c.kodepenjualan and d.kodeobat=a.kodeobat and
a.Kodejenis=b.Kodejenis and c.kodepegawai=e.kodepegawai and
month(c.tanggalPenjualan)=@bulan
Page 38
Sintak and digunakan untuk menghubungkan dua syarat. month(s.
tanggalPenjualan) =@Bulan digunakan untuk mendapatkan penghasilan dimana
apabila nilai bulan sama dengan yang diinputkan pada variabel @Bulan maka
transaksi penjualan yang dilakukan pada bulan tersebut akan ditampilkan. Kemudian
sintak end digunakan untuk menghentikan semua eksekusi. Sedangkan untuk
menjalankan prosedur ini gunakan perintah berikut:
7. Membuat Prosedur Menghitung Jumlah Penjualan Obat pada Apotik
Selama 1 bulan
Page 39
Penjelasan :
Prosedur penjualanperbulan digunakan untuk melihat pendapatan/total penjualan
pada apotik yang dilakukan pada bulan-bulan tertentu. Apabila dieksekusi hasilnya
nanti akan menampilkan atribut baru yang bernama TotalPenjualanPerbulan.
Prosedur penjualanperbulan memiliki variabel parameter yaitu @bulan char(2)
maksudnya variabel ini memiliki tipe data char dengan panjang data 2 karakter.
Kemudian di dalam prosedur ini terdapat sintak as begin yang digunakan untuk
mengawali eksekusi di dalam prosedur yaitu eksekusi perintah :
Select sum(totalpembayaran) as [TotalPenjualanPerbulan]
From Penjualan
Where month(tanggalPenjualan)=@bulan
End
Perintah select digunakan untuk memilih dan menampilkan sum(totalpembayaran)
as [TotalPenjualanPerbulan]. Perintah sum digunakan digunakan untuk
menjumlahkan totalpembayaran yang terdapat pada tabel Penjualan.
Lalu hasil jumlah ini kemudian akan ditampilkan pada atribut baru yang bernama
TotalPenjualanPerbulan hal ini bisa dilakukan dengan menggunakan perintah as
[TotalPenjualanPerbulan]. Month(tanggalPenjualan) =@Bulan digunakan untuk
mendapatkan penghasilan dimana apabila nilai bulan sama dengan yang diinputkan
pada variabel @Bulan perhitungan jumlah pendapatannya akan dihitung sesuai bulan
tersebut. Kemudian sintak end digunakan untuk menghentikan semua eksekusi.
Sedangkan untuk menjalankan prosedur ini gunakan perintah berikut:
Page 40
8) Membuat prosedur untuk menghitung keuntungan bersih penjualan yang
sudah dilakukan pada bulan tertentu.
Penjelasan :
Prosedur Keuntunganbersih@bulan digunakan untuk melihat pendapatan bersih
atau laba pada apotik yang dididapatkan pada bulan-bulan tertentu. Besar pendapatan
bersih didapatkan dari rumus penjumlahan(sum) hargajual (yang merupakan
hargasatuan (hargapokokpembelian) dikali 10%) dikurang
hargasatuan(hargapokokpembelian) dikalikan jumlahpembelian pada saat transaksi
penjualan sesuai dengan inputan nilai @bulan. Apabila dieksekusi hasilnya nanti
akan menampilkan atribut baru yang bernama KeuntunganPerbulan.
Prosedur Keuntunganbersih@bulan memiliki variabel parameter yaitu @bulan
char(2) maksudnya variabel ini memiliki tipe data char dengan panjang data 2
karakter. Kemudian di dalam prosedur ini terdapat sintak as begin yang digunakan
untuk mengawali eksekusi di dalam prosedur yaitu eksekusi perintah :
Select sum((b.Hargajual-a.Hargasatuan)*b.jumlahpembelian) as [Keuntungan
perbulan]
From daftarobat a, penjualan c, detail_penjualanobat b
Where c.kodepenjualan=b.kodepenjualan and a.kodeobat=b.kodeobat and
Month(c.tanggalpenjualan)=@bulan
Perintah select digunakan untuk memilih dan menampilkan sum((b.Hargajual-
a.Hargasatuan)*b.jumlahpembelian) as [Keuntungan perbulan]. Perintah sum
Page 41
digunakan digunakan untuk menjumlahkan nilai ((b.Hargajual-
a.Hargasatuan)*b.jumlahpembelian) yang terdapat pada tabel Penjualan dan
daftarobat. Lalu hasil jumlah ini kemudian akan ditampilkan pada atribut baru yang
bernama Keuntungan Perbulan hal ini bisa dilakukan dengan menggunakan
perintah as [Keuntungan perbulan].
Pada prosedur ini, digunakan tiga buah tabel yaitu DaftarObat dengan aliansinya
yaitu a, Penjualan dengan aliansinya yaitu c, Detail_PenjualanObat dengan aliansinya
yaitu b. Dalam hal ini kondisi yang digunakan untuk merelasikan tabel tersebut
ialah :
Where c.kodepenjualan=b.kodepenjualan and a.kodeobat=b.kodeobat and
Month(c.tanggalpenjualan)=@bulan
Sintak and digunakan untuk menghubungkan dua syarat. Month(tanggalPenjualan)
=@Bulan digunakan untuk mendapatkan jumlahkeuntungan dimana apabila nilai
bulan sama dengan yang diinputkan pada variabel @Bulan perhitungan jumlah
keuntungan akan dihitung sesuai transaksi pada bulan tersebut. Kemudian sintak end
digunakan untuk menghentikan semua eksekusi. Sedangkan untuk menjalankan
prosedur ini gunakan perintah berikut:
Page 42
BAB IV
PENUTUP
4.1.Kesimpulan
Sistem adalah dua bagian atau lebih yang saling berinteraksi untuk mencapai
tujuan tertentu. Memandang secara sistem sangatlah penting karena akan mengubah
cara pemahaman kita menjadi lebih hilistik. Pandangan secara sistem akan mencegah
seseorang dalam sistem akan mencegah seseorang dalam kerumitan sistem
organisasi, menyadari akan tujuan-tujuannya, mengakui keterkaitan organisasi
dengan lingkungannya dan memberikan penilaian tinggi terhadap informasi umpan
balik.
Informasi adalah dua data yang telah diolah menjadi sebuah bentuk yang berarti
bagi penerimanya dan bermanfaat dalam mengambil keputusan saat ini. informasi
adalah data yang telah diproses atau data yang memiliki arti.
Sistem informasi manajemen dapat diartikan sebagai suatu alat untuk
menyajikan informasi dengan cara sedemikian rupa sehingga bermanfaat bagi
penggunanya. Tujuannya adalah untuk menyajikan informasi guna pengambilan
keputusan pada perencanaan, pemrakarsaan, pengorganisasian dan pengendalian
kegiatan operasi subsistem.
Dalam Tab Data Files, terdapat beberapa option yang perlu diperhatikan adalah
sebagai berikut:
File Name dan Location, untuk memberi nama file dan meletakkan file
database tersebut disuatu lokasi folder yang diinginkan.
File growth, mengatur penambahan ukuran file database. Dapat ditetapkan
dengan persentase tertentu atau berdasarkan jumlah megabytes tertentu.
Maximum file size, ukuran file dapat dibatasi pada tingkat tertentu atau
unlimited.
Pada tab Transaction Log terdapat option yang sama dengan tab Data Files.
Apabila membuat database di SQL Server maka akan terdiri dari minimum 2 file
yaitu:
Data File, adalah file untuk menyimpan data.
Page 43
Transaction Log, adalah file ynag menyimpan histori transaksi dan semua
kejadian di database tersebut. Pada tutorial ini semua option untuk 2 file tersebut
dibiarkan dalam kondisi default.Setelah proses pengisian option selesai, klik OK
dan database baru akan terlihat di EnterpriseManager.
Setiap tabel sebaiknya dilengkapi dengan primary key yang merupakan
identitas unik dari setiap baris data.
4.2.Saran - Saran
Untuk merancang suatu sistem atau untuk mempermudah kinerja suatu sistem
yang belum terkomputerisasi di perlukan perancangan yang matang dan baik
sehingga akan di hasilkan suatu sistem informasi yang dapat di gunakan dan lebih
baik dari sitem terdahulu. Oleh karena itu, untuk merancang suatu sistem informasi
sebaiknya di lakukan dengan perencanaan dan perancangan yang matang terlebih
dahulu.
Page 44
BAB V
DAFTAR PUSTAKA
Dwi Prasetyo, Didik. 2007. 101 TIP & TRIK Visual Basic 6.0,. Penerbit PT Elex
Media Komputindo, Kelompok Gramedia : Jakarta.
M. J. Alam, Agus. Pemrograman Database dengan Visual Basic. Penerbit PT Elex
Media Komputindo, Kelompok Gramedia : Jakarta.
Christina Sherly. 2009. Basis Data II. Palangka Raya.
Martin Irge, Ir. 2008. 36 Jam Microsoft SQL Server 2000. Jakarta.
Http://Www.Ilmukomputer.Org/Wp-Content/Uploads/2006/09/Krisna-Vb6-01.Zip
Http://Www.Google.Co.Id/Search?
Hl=Id&Q=Konsep+Dasar+Database&Btng=Telusuri+Dengan+Google&Meta=
Cr%3dcountryid
Rusmawan Uus. 2005. Merancang Koneksi Database dalam Visual Basic 6.0.
Jakarta: Penerbit Elex Media Komputindo.
Page 45
BAB VI
LAMPIRAN
1. Membuat database ApotikBersama
2. Membuat Tabel Jenis
Page 46
3. Membuat Tabel DaftarObat
4. Membuat Tabel Pegawai
5. Membuat Tabel Pemasok
Page 47
6. Membuat Tabel Pembelian
7. Membuat Tabel Penjualan
8. Membuat Tabel Detail_PembelianObat
Page 48
9. Membuat Tabel Detail_PenjualanObat
10. Membuat Prosedur Insert Jenis
Pengexecutannya :
Page 49
11. Membuat Prosedur Insert Daftar Obat
Pengexecutannya :
12. Membuat Prosedur Insertpemasok
Page 50
Pengexecutannya :
13. Membuat prosedur InsertPegawai
Pengexecutannya :
Page 51
14. Membuat prosedur InsertPenjualan
Pengeksekusiannya :
15. Membuat prosedur InsertPembelian
Page 52
Pengeksekusiannya :
16. Membuat prosedur InsertDetail_PenjualanObat
Pengeksekusiannya :
Page 53
17. Membuat prosedur InsertDetail_PembelianObat
Pengekesekusiannya :
Page 54
Hasil dari penginputan tesebut ialah sebagai berikut :
Page 55
17. Membuat prosedur update obat
Pengeksekusian :
Tabel awal :
Tabel setelah diupdate :
Page 56
18. Membuat prosedur delete DetailPenjualanObat
Pengeksekusian :
Tabel awal :
Tabelhasil :
Page 57
19. Membuat Prosedur Laporan Pembelian obat pada Apotik selama 1 bulan
Pengeksekusian :
Page 58
20. Membuat Prosedur Menghitung Jumlah Pembelian Obat pada Apotik
Selama 1 bulan
Pengeksekusian :
21. Membuat prosedur untuk laporan penjualan obat yang dilakukan selama 1
Bulan
Page 59
Pengeksekusian :
22. Membuat Prosedur Menghitung Jumlah Penjualan Obat pada Apotik
Selama 1 bulan
Pengeksekusian :
Page 60