BAB I PENDAHULUAN
1.1.Latar Belakang.
Pada Pada Era Era globa globali lisa sasi si ini, ini,se sebua buah h peru perusa sahaa haan n atau atau organ organis isas asii ditu ditunt ntut ut untuk untuk memili memiliki ki kreati kreativit vitas as yang yang tinggi tinggi untuk untuk dapat dapat terus terus bertah bertahan an ditenga ditengah h ketatn ketatnya ya persa persaing ingan.U an.Untu ntuk k mangata mangatasi si hal terseb tersebut, ut, banyak banyak organis organisasi asi atau atau perusa perusahaan haan melakukan ekspansi secara basar-besaran. Dengan Dengan berkem berkembang bangnya nya ruang ruang lingku lingkup p usaha usaha dan ekspans ekspansii yang yang dilakuk dilakukany anya, a, banyak perusahaan atau organisasi contohnya sebuah apotik ini,menerapakan sistem Databa Database se untuk untuk mengat mengatur ur atau atau menjaga menjaga kemanan kemanan datany datanyaa dan mengatu mengaturr sumber sumber dayanya.Denga dayanya.Dengan n sistem sistem database database maka akan mempermudah mempermudah sebuah perusahaan perusahaan atau organisasi untuk mengolah datanya. Contohnya apotik swasta ini yaitu apotik bersama adalah adalah salah salah satu satu contoh contoh apotik apotik yang merupakan pedagang pedagang disektor disektor farmasi farmasi yang ada di kota paalangkaraya paalangkaraya yang menggunakan sistem database database dalam system pengolah datanya.Apot datanya.Apotik ik brsama brsama ini ini terbukti terbukti mampu terus bertahan bertahan ditengah maraknya maraknya persaingan 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 memrlukan sebuah system yang mampu meng meng
inte integr gras asik ikan an
pem pembe beli lian an,d ,dat ataa
semu semuaa
data data,y ,yai aitu tu
penj penjua uala lan, n,da dan n
lapo lapora ran n
data data akan akan
kons konsum umen en,d ,dat ataa kegi kegiat atan an
sale salesm sman an,d ,dat ataa
tran transa saks ksii
yang yang
akan 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.
Baga agaimana
melaku akukan kan
perencan canaan
sumberdaya aya
pad pada
sebua buah
apot potik
tersebut,yaitu apotik bersama,yang berskala menengah ini.
Page 1
2.
Rancanga Rancangan n kebutuhan kebutuhan bisnis bisnis yang yang bagaima bagaimanaka nakah h yang diperlu diperlukan kan oleh oleh apotik apotik bersama.
1.3.Tujuan
1.
Melakuk Melakukan an perbaik perbaikan an proses proses bisnis bisnis yang yang ada pada pada Apotik Apotik bersam bersamaa tersebut tersebut dengan konsep Database.
2.
Pengemb Pengembanga angan n aplikasi aplikasi apotik apotik bersam bersamaa dengan menggu menggunaka nakan n konsep konsep Database Database yang yang bert bertuj ujua uan n untu untuk k meni mening ngka katk tkan an kine kinerj rjaa semu semuaa sumb sumber er daya daya untu untuk k 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 perancangan arsit arsitektur ektur sistem,dil sistem,dilakukan akukan dengan metode system system database database..
2.
Peranca Perancangan ngan syste system m dilakuka dilakukan n dengan dengan menerap menerapkan kan konsep konsep databas database. e.
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.
Pembu Pembuata atan n
siste sistem m
yang yang
nant nantin inya ya
dapa dapatt
berf berfun ungs gsii
seba sebaga gaii
tran transa saks ksii
penyimapanan data baik penjualan maupun pembelian obat pada apotik bersama, yaitu berupa berupa perhitungan perhitungan biaya penjualan penjualan dan pembalian 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
2.
Rancanga Rancangan n kebutuhan kebutuhan bisnis bisnis yang yang bagaima bagaimanaka nakah h yang diperlu diperlukan kan oleh oleh apotik apotik bersama.
1.3.Tujuan
1.
Melakuk Melakukan an perbaik perbaikan an proses proses bisnis bisnis yang yang ada pada pada Apotik Apotik bersam bersamaa tersebut tersebut dengan konsep Database.
2.
Pengemb Pengembanga angan n aplikasi aplikasi apotik apotik bersam bersamaa dengan menggu menggunaka nakan n konsep konsep Database Database yang yang bert bertuj ujua uan n untu untuk k meni mening ngka katk tkan an kine kinerj rjaa semu semuaa sumb sumber er daya daya untu untuk k 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 perancangan arsit arsitektur ektur sistem,dil sistem,dilakukan akukan dengan metode system system database database..
2.
Peranca Perancangan ngan syste system m dilakuka dilakukan n dengan dengan menerap menerapkan kan konsep konsep databas database. e.
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.
Pembu Pembuata atan n
siste sistem m
yang yang
nant nantin inya ya
dapa dapatt
berf berfun ungs gsii
seba sebaga gaii
tran transa saks ksii
penyimapanan data baik penjualan maupun pembelian obat pada apotik bersama, yaitu berupa berupa perhitungan perhitungan biaya penjualan penjualan dan pembalian 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 Data dipe diperl rluk ukan an dala dalam m sega segala la hal, hal, baik baik beru berupa pa peng penguk ukur uran an,, penc pencat atat atan an,, pengumpulan pengumpulan informasi, informasi, maupun pengambilan pengambilan keputusan keputusan semuanya semuanya memerlukan memerlukan data. data. Dengan Dengan kata kata lain lain data data sangat sangat dibutuh dibutuhkan kan karena karena inform informasi asi 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 denga dengan n yang yang lain lainny nya, a, ters tersim impan pan di pera perangk ngkat at kera kerass komput komputer er dan digun digunaka akan n perangkat lunak untuk memanipulasinya. Dari definisi ini, terdapat tiga hal yang berhubungan dengan basis data, yaitu : Data Data itu sendiri sendiri yang yang diorgani diorganisas sasika ikan n dalam dalam bentuk bentuk basis basis data data (data base)..
storage) untuk menyimpan basis data tersebut. Simpanan ini Simpanan permanen ( storage meru merupa pakan kan bagi bagian an dari dari tekn teknol ologi ogi perang perangkat kat kera kerass yang yang digun digunaka akan n di sist sistem em informasi. Simpanan permanen yang umumnya digunakan berupa hard disk . Perangkat lunak untuk memanipulasi basis datanya. Perangkat lunak ini dapat dibuat dibuat sendir sendirii dengan dengan menggun menggunakan akan bahasa bahasa pemrogr pemrograman aman kompute komputerr atau atau dibeli 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 Sistem databas databasee pada dasarn dasarnya ya adalah adalah sistem sistem terkomp terkompute uteris risasi asi yang yang tujuan 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.
Page 4
Contohnya : 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
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 : CREATE PROC [ EDURE ] Procedure_Name (@ Parameter1 Tipedataparameter(Panjangparameter ), @Parameter n Tipedata n (Panjangparameter n) AS Begin
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: ALTER PROC [ EDURE ] Procedure_Name (@ Parameter1 Tipedataparameter(Panjangparameter ), @Parameter n Tipedata n (Panjangparameter n) AS Begin
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 : CREATE DATABASE database_name [ ON [ [,…n] ] [, [,…n] ] [ LOG ON { [,…n]} ] [ COLLATE collation_name ] [ FOR LOAD | FOR ATTACH ] ::= [ PRIMARY ] ( [ NAME = logical_file_name, ] FILENAME = ‘os_file_name’ [, SIZE = size ] [, MAXSIZE = { max_size | UNLIMITED } ] [, FILEGROWTH = growth_increment ] ) [,…n] ::= FILEGROUP filegroup_name [,…n]
Page 8
Untuk membuat database apotik yang sintax yang digunakan yaitu :
CREATE DATABASE ApotikBersama ON PRIMARY ( NAME = Apotik_data, FILENAME = 'C:\Program Files\Microsoft Server\MSSQL\Data\APOTIK.mdf', SIZE = 10MB, MAXSIZE = 100MB, FILEGROWTH =5MB ) LOG ON ( NAME = 'Apotik_Log', FILENAME = 'C:\Program Files\Microsoft Server\MSSQL\Data\Apotik_Log' , SIZE = 5MB, MAXSIZE = 50MB, FILEGROWTH = 5MB )
SQL
SQL
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
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. : Menspesifikasikan bahwa file-file disk yang digunakan untuk
ON
menyimpan porsi data dari database yang didefinisikan secara eksplisit. PRIMARY
: Menspesifikasikan
hubungan
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 KodeJenis JenisObat
TipeData Char Char
Panjang
4 10
Allownull No No
Status Primary Key -
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 KodeObat KodeJenis NamaObat JumlahStock HargaSatuan TglKadaluarsa
TipeData Char Char Varchar Int Money Datetime
Panjang 4 4 25 4 8 8
Allownull No No No No No No
Status Primary Key Foreign Key -
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 KodePegawai NamaPegawai Jenis_kelamin Alamat NoTelpon
TipeData Char Varchar Char Varchar Varchar
Panjang 4 25 1 25 20
Allownull No No No No No
Status Primary Key -
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
Page 11
KodePemasok NamaPemasok Alamat Notelpon
Char Varchar Varchar Varchar
4 25 25 20
No No No No
Primary Key -
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 KodePembelian KodePemasok KodePegawai TotalHarga TanggalPembelian
TipeData Char Char Char Money Datetime
Panjang 4 4 4 8 8
Allownull No No No No No
Status Primary Key Foreign key Foreign Key -
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 KodeDetailPembelian Char KodePembelian Char KodeObat Char HargaSatuan Money JumlahPembelian int g) Struktur Tabel Penjualan
Panjang 4 4 4 8 4
Allownull No No No No No
Status Primary Key Foreign key Foreign key -
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 KodePenjualan NamaPelanggan KodePegawai TotalPembayaran TanggalPenjualan
TipeData Char Char Char money Datetime
Panjang 4 4 4 8 8
Allownull Status No Primary Key No Foreign key No Foreign key No No -
h) Struktur Tabel Detail_PenjualanObat
Page 12
Tabel detail_penjualanobat digunakan untuk menyimpan data yang lebih spesifik/detail dari obat yang dijual. Kolom KodeDetailPenjualan KodePenjualan KodeObat HargaJual Jumlahpenjualan
Berpatokan
pada
TipeData Char Char Char Money int
stuktur
desin
Panjang 4 4 4 8 4
tabel
yang
Allownull No No No No No
telah
dibuat
Status Primary Key Foreign key Foreign key
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
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)
Page 13
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
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
Page 14
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
key
references
Pegawai(KodePegawai)on delete no action, TotalPembelian money not null, TanggalPembelian datetime not null)
f) Tabel Penjualan
Create Table Penjualan( KodePenjualan char(4) not null primary key, NamaPelanggan varchar(25) not null, KodePegawai
char(4)not
null
foreign
Pegawai(KodePegawai)on delete no action, TotalPembayaran money not null, TanggalPenjualan datetime not null)
Page 15
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 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)
Page 16
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 digunak digunakan an untuk untuk menyata menyatakan kan suatu suatu kolom kolom merupak merupakan an kunci kunci utama utama
(primary key) dari table. Check digunak digunakan an untuk untuk membata membatasi si nilai nilai yang yang bisa bisa dileta diletakkan kkan ke dalam dalam kolom kolom
dengan menguji suatu kondisi Foreign Key Reference digunakan digunakan untuk menyatakan terdapat suatu relasi relasi (tabel) (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
Berdasarkan desain dan struktur tabel yang telah dibuat, maka dapat digambarkan hubungan atau relasi dari tabel-tabel ialah sebagai berikut : Pembelian Pemasok KodePemasok * NamaPemasok NoTelpon Alamat
KodePembelian *
RELATIONAL KodePemasok TABEL ** KodePegawai ** TotalPembelian TanggalPembelian
Detail_PembelianO KodeDetailPembelia KodePembelian ** KodeObat ** HargaSatuan JumlahPembelian
Jenis
DaftarObat
Detail_PenjualanOb
KodeJenis * JenisObat
KodeObat * KodeJenis ** NamaObat JumlahStokObat TglKadaluarsa Hargasatuan
KodeDetailPenjuala KodePenjualan ** KodeObat ** HargaJual JumlahPembelian
Pegawai
Penjualan
KodePegawai * NamaPegawai Jenis_kelamin
KodePenjualan * NamaPelanggan KodePegawai ** JumlahPenjualan
Page 17
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
Pros Prosed edur ur pada pada dasa dasarn rnya ya adal adalah ah sebu sebuah ah progr program am yang yang ditu dituli liss dala dalam m bahas bahasaa Transact-SQL yang disimpan dalam database SQL Server. Server. Stored Stored Procedure 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 Prosedur tersimpan tersimpan sangat bermanfaat pada lingkungan lingkungan client-server client-server,, baik untuk
mening meningkat katkan kan kinerj kinerjaa maupun maupun untuk untuk pemeli pemelihara haraan. an. Karena Karena satu satu prosed prosedur ur bisa bisa digunakan oleh beberapa program, pengelolaan sistem bisa menjadi lebih mudah
Page 18
karena satu perubahan akan segera direfleksikan kepada semua user.Untuk membuat sebuah stored procedure dipergunakan sintax sebagai berikut : CREATE PROC [ EDURE ] Procedure_Name (@ Parameter1 Tipedataparameter(Panjangparameter ), Tipedataparameter(Panjangparameter ), @Parameter @Parameter n Tipedata n (Panjangparameter n) AS Begin
Untuk menjalankan menjalankan prosedur, buka query analyzer dan ketikkan exec Apabila prosedur prosedur yang ingin dijalankan dijalankan memiliki parameter, parameter, maka nama_prosedur . Apabila tuliskan parameter tersebut setelah nama prosedur. Contoh: exec nama_procedure parameter1 Untuk Untuk mengubah mengubah prosed prosedur ur dapat dapat mengguna menggunakan kan perint perintah ah alter alter procedu procedure re yang yang diikuti dengan nama prosedur tersebut dan perubahan yang dibutuhkan. Contoh: ALTER PROC [ EDURE ] Procedure_Name (@ Parameter1 Tipedataparameter(Panjangparameter ), Tipedataparameter(Panjangparameter ), @Paramete @Parameterr n Tipedata n (Panjangparameter n) AS Begin
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 Contoh pengimp pengimplik likasi asiann annya ya terhada terhadap p tabeltabel-tab tabel el dalam dalam databa database se apotik apotik ialah ialah sebagai berikut :
Page 19
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 sintak end digunakan untuk menghentikan semua eksekusi. Sedangkan untuk menjalankan prosedur ini gunakan perintah berikut:
b) Membuat Prosedur Insert Daftar Obat
Page 20
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 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:
Page 21
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 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:
Page 22
d) Membuat prosedur InsertPegawai
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
Page 23
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:
e) Membuat prosedur InsertPenjualan
Page 24
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:
e) Membuat prosedur InsertPembelian
Page 25
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
@KodePegawai,
values
@TotalPembelian,
(@KodePembelian, @TanggalPembelian).
@KodePemasok,
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:
Page 26
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 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 @KodeDetailPenjualan,
dengan nilai-nilai @KodePenjualan,
yang terdapat pada variabel @KodeObat,
@Hargajual,
@JumlahPembelian. Kemudian sintak end digunakan untuk menghentikan semua eksekusi. Sedangkan untuk menjalankan prosedur ini gunakan perintah berikut:
Page 27
e) Membuat prosedur InsertDetail_PembelianObat
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
Page 28
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:
Hasil dari penginputan tesebut ialah sebagai berikut :
Page 29
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
Page 30
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 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 :
Page 31
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 end
Contoh pengimplikasiannya terhadap tabel-tabel dalam database apotik ialah sebagai berikut : a) Membuat prosedur delete DetailPenjualanObat
Page 32
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 variabel
sama dengan nilai variabel yang diinputkan pada
@Kodedetailpenjualan.
Kemudian
sintak end
digunakan
untuk
menghentikan semua eksekusi. Sedangkan untuk menjalankan prosedur ini gunakan perintah berikut:
Tabel awal :
Tabelhasil :
4) Membuat Prosedur Laporan Pembelian obat pada Apotik selama 1 bulan
Page 33
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. 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
a.Kodejenis=b.Kodejenis
and
and
d.kodeobat=a.kodeobat
c.kodepemasok=f.kodepemasok
and 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
Page 34
[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
a.Kodejenis=b.Kodejenis
and
and
d.kodeobat=a.kodeobat
c.kodepemasok=f.kodepemasok
and 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:
5) Membuat Prosedur Menghitung Jumlah Pembelian Obat pada Apotik Selama 1 bulan
Page 35
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 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:
Page 36
6) Membuat prosedur untuk laporan penjualan obat yang dilakukan selama 1 Bulan
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
tanggalpembelian
dan
nantinya
ditampilkan
totalpembayaran
yang
sebagai
[totalpembelian],
nantinya
ditampilkan
dan
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]
Page 37
From DaftarObat a,Jenis b,Penjualan c,Detail_PenjualanObat d,pegawai e Where
d.KodePenjualan=c.kodepenjualan
a.Kodejenis=b.Kodejenis
and
d.kodeobat=a.kodeobat
c.kodepegawai=e.kodepegawai
and
and 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
a.Kodejenis=b.Kodejenis
and
and
d.kodeobat=a.kodeobat
c.kodepegawai=e.kodepegawai
and and
month(c.tanggalPenjualan)=@bulan 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:
Page 38
7. Membuat Prosedur Menghitung Jumlah Penjualan Obat pada Apotik Selama 1 bulan
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.
Page 39
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:
8) Membuat prosedur untuk menghitung keuntungan bersih penjualan yang sudah dilakukan pada bulan tertentu.
Penjelasan :
Page 40
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 : sum((b.Hargajual-a.Hargasatuan)*b.jumlahpembelian)
Select
as
[Keuntungan
perbulan] From daftarobat a, penjualan c, detail_penjualanobat b
c.kodepenjualan=b.kodepenjualan
Where
and
a.kodeobat=b.kodeobat
and
Month(c.tanggalpenjualan)=@bulan
Perintah select digunakan untuk memilih dan menampilkan sum((b.Hargajuala.Hargasatuan)*b.jumlahpembelian) as [Keuntungan perbulan]. Perintah sum 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
Page 41
keuntungan akan dihitung sesuai transaksi pada bulan tersebut. Kemudian sintak end digunakan untuk menghentikan semua eksekusi. Sedangkan untuk menjalankan prosedur ini gunakan perintah berikut:
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.
Page 42
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.
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 43
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 44
BAB VI LAMPIRAN
1. Membuat database ApotikBersama
Page 45
2. Membuat Tabel Jenis
3. Membuat Tabel DaftarObat
4. Membuat Tabel Pegawai
Page 46
5. Membuat Tabel Pemasok
6. Membuat Tabel Pembelian
7. Membuat Tabel Penjualan
Page 47
8. Membuat Tabel Detail_PembelianObat
9. Membuat Tabel Detail_PenjualanObat
10. Membuat Prosedur Insert Jenis
Page 48
Pengexecutannya :
11. Membuat Prosedur Insert Daftar Obat
Pengexecutannya :
Page 49
12. Membuat Prosedur Insertpemasok
Pengexecutannya :
13. Membuat prosedur InsertPegawai
Page 50
Pengexecutannya :
14. Membuat prosedur InsertPenjualan
Pengeksekusiannya :
Page 51
15. Membuat prosedur InsertPembelian
Pengeksekusiannya :
16. Membuat prosedur InsertDetail_PenjualanObat
Page 52
Pengeksekusiannya :
17. Membuat prosedur InsertDetail_PembelianObat
Pengekesekusiannya :
Page 53
Hasil dari penginputan tesebut ialah sebagai berikut :
Page 54
17. Membuat prosedur update obat
Pengeksekusian :
Page 55
Tabel awal :
Tabel setelah diupdate :
18. Membuat prosedur delete DetailPenjualanObat
Pengeksekusian :
Page 56
Tabel awal :
Tabelhasil :
19. Membuat Prosedur Laporan Pembelian obat pada Apotik selama 1 bulan
Pengeksekusian :
Page 57
20. Membuat Prosedur Menghitung Jumlah Pembelian Obat pada Apotik Selama 1 bulan
Pengeksekusian :
Page 58
21. Membuat prosedur untuk laporan penjualan obat yang dilakukan selama 1 Bulan
Pengeksekusian :
Page 59