BAB 2 LANDASAN TEORI
2.1 Sistem Informasi Menurut Pressman (2001, p276), Sistem adalah serangkaian elemenelemen yang diatur untuk mencapai tujuan yang telah ditentukan sebelum melalui pemrosesan informasi. Sedangkan menurut McLeod (2004, p11), Sistem adalah sekelompok elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. Berdasarkan pada penjelasan di atas, maka dapat disimpulkan bahwa Sistem adalah kumpulan dari elemen-elemen yang saling terintegrasi untuk mencapai suatu tujuan tertentu. Menurut O’Brien (2003, p13), Informasi adalah data yang sudah dikonversi menjadi konteks yang lebih berarti dan berguna untuk pengguna akhir tertentu. Sedangkan menurut Whitten et. al. (2004, p23), Informasi adalah data yang diproses atau diorganisasi ulang menjadi bentuk yang berarti. Informasi dibentuk dari kombinasi data yang diharapkan memiliki arti bagi penerima. Berdasarkan pada penjelasan diatas, maka dapat disimpulkan bahwa Informasi adalah data yang diproses menjadi suatu konteks yang berarti dan berguna bagi pemakainya.
7
8 2.1.1 Komponen Sistem Menurut O’Brien (2003, p11), sebuah sistem memiliki tiga komponen ataupun fungsi dasar, yaitu : •
Masukan (input) Masukan meliputi elemen-elemen yang ditangkap dan dirangkai untuk dimasukkan ke dalam sistem komputer untuk diproses lebih lanjut. Biasanya dapat berupa perintah dari keyboard ataupun data.
•
Processing Processing meliputi proses perubahan yang mengubah dari sebuah masukan menjadi sebuah output.
•
Output Output meliputi pemindahan elemen-elemen yang telah dihasilkan dari sebuah proses perubahan untuk tujuan akhir yang diinginkan. Biasanya dapat berupa informasi dalam bentuk yang beragam, seperti angka biner, karakter, dan gambar.
2.2 Database Menurut Hoffer et. al. (2005, p27), Database adalah sebuah kumpulan terorganisasi dari data yang berhubungan secara logikal, biasanya dirancang untuk menemukan informasi yang dibutuhkan oleh user dalam sebuah organisasi. Menurut Connolly et. al. (2001, p14), Database adalah koleksi dari datadata yang terkait secara logis dan deskripsi dari data-data tersebut yang dirancang untuk memenuhi kebutuhan informasi dari organisasi.
9 Berdasarkan pada penjelasan di atas, maka dapat disimpulkan bahwa Database adalah kumpulan dari data-data yang yang terorganisasi yang berhubungan secara logikal yang didesain untuk memenuhi kebutuhan informasi user dalam sebuah organisasi. Ada 3 level tingkat dalam arsitektur basis data, yaitu : •
External level External level merupakan view database yang ada pada user. Setiap kumpulan user mempunyai view masing-masing tergantung kebutuhan informasi dari kumpulan user tersebut.
•
Conseptual level Level ini menggambarkan data apa saja yang disimpan dalam database dan hubungan antara data-data tersebut. Hal-hal yang digambarkan dalam tingkat konseptual adalah:
•
-
Semua entitas beserta atribut dan hubungannya,
-
Batasan data,
-
Informasi semantik tentang data,
-
Keamanan dan integritas informasi.
Internal level Level ini merupakan representasi fisik dari database yang ada dikomputer. Level ini menggambarkan bagaimana data disimpan dalam suatu database.
10 Tingkat internal memperhatikan hal-hal berikut ini : -
Alokasi ruang penyimpanan data dan indeks,
-
Penempatan record,
-
Deskripsi record untuk penyimpanan (dengan ukuran penyimpanan untuk data elemen). View 1
View 2
View n
External
Conceptual Conceptual Schema
Internal Schema
Internal
DATABASE
Gambar 2.1 Tingkatan arsitektur basis data Sumber : Connoly et. al. (2002, p35)
11 2.3 Database Management System (DBMS) Connoly et. al. (2002, p16) menerangkan bahwa Database Management System (DBMS) adalah suatu sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke basis data.
2.3.1 Komponen-komponen dalam DBMS DBMS merupakan software yang berinteraksi dengan program aplikasi dan database. Komponen-komponen DBMS adalah sebagai berikut : •
Hardware Dibutuhkan untuk menjalankan DBMS dan aplikasi, berupa PC, mainframe, dan jaringan komputer.
•
Software Meliputi software DBMS, Software aplikasi, sistem operasi dan juga software network jika dalam penggunaannya menggunakan network.
•
Data Komponen yang terpenting dan juga merupakan komponen penghubung antara komponen hardware dan software dengan komponen prosedur dan orang.
•
Prosedur Instruksi dan aturan yang mengatur perancangan dan penggunaan database.
12 •
Orang Semua orang yang terlibat dalam sistem seperti DBA, programmer, aplikasi, penggunaan akhir, dan lain-lain.
2.3.2 Fasilitas dalam DBMS Sebuah DBMS (Database Management System) umumnya memiliki sejumlah komponen fungsional (modul) seperti :
Gambar 2.2 Fasilitas dalam DBMS Sumber: Connoly et. al. (2002, p53)
13 Keterangan : 1.
Query Processsor Komponen yang merubah bentuk query ke dalam instruksi tingkat rendah ke database manager.
2. Database Manager Database manager menerima query dan menguji skema eksternal dan konseptual untuk menentukan apakah record-record dibutuhkan untuk memenuhi permintaan. Kemudian Database Manager memanggil file Manager untuk menyelesaikan permintaan. 3. File Manager Memanipulasi penyimpanan file dan mengatur alokasi ruang penyimpanan pada disk. 4. DML Preprocessor Modul yang merubah perintah DML embedded ke dalam program aplikasi dalam bentuk fungsi-fungsi yang memanggil dalam host language. 5. DDL Compiler Merubah perintah DDL menjadi kumpulan tabel yang berisi metadata. 6. Dictionary Manager Mengatur akses dan memelihara data dictionary. Data dictionary diakses oleh komponen DBMS yang lain.
2.3.3 Keuntungan dan kerugian DBMS Keuntungan DBMS : •
Penggunaan data bersama (the data can be shared)
14 •
Mengurangi kerangkapan data (redundancy can be reduced)
•
Menghindari ketidakkonsistensian data (inconsistency can be avoided)
•
Pemeliharaan integrasi data (Integrity can be maintained)
•
Keamanannya terjamin (security can be enforced)
•
Kebutuhan user yang kompleks dapat teratasi (balance conflicting requirements)
•
Pelaksanaan standarisasi (standars can be enforced)
•
Meningkatkan produktivitas (increased productivity)
•
Peningkatan layanan backup dan recovery semakin baik (Improve backup and recovery services).
Kerugian DBMS : •
Rumit (complexity) Karena penetapan fungsi dari DBMS yang baik, menyebabkan DBMS menjadi software yang cukup rumit. Seluruh user harus mengetahui fungsifungsi yang ada sehingga dapat memperoleh manfaatnya.
•
Ukuran (size) Kerumitan dan banyaknya fungsi yang ada menyebabkan DBMS memerlukan banyak software pendukung yang mengakibatkan penambahan tempat penyimpanan dan memori.
•
Biaya DBMS (Cost of DBMS)
•
Biaya tambahan hardware (additional hardware costs)
•
Biaya konversi (cost of conversion)
15 •
Performa (performance) Pada dasarnya DBMS dibuat untuk menyediakan banyak aplikasi, akibatnya mungkin beberapa aplikasi tidak berjalan seperti biasanya.
•
Dampak kegagalan lebih besar (higher impact of failure) Karena sistem yang terpusat, jika seluruh user dan aplikasi terakses dari DBMS maka kerusakan pada bagian manapun dari sistem, akan menyebabkan tidak bekerjanya proses operasi tersebut.
Berikut adalah gambar pemrosesan database menggunakan DBMS :
DBMS
Gambar 2.3 Proses database menggunakan DBMS Sumber : Connoly et. al. (2002, p17) Fungsi DBMS : •
Penyimpanan, pengambilan dan perubahan data Sebuah DBMS harus menyediakan kemampuan menyimpan, mengambil dan merubah data dalam basis data
•
Mendukung transaksi Menyediakan mekanisme yang akan menjamin semua perubahan yang berhubungan dengan transaksi yang sudah ada atau yang akan dibuat.
16 •
Mendukung komunikasi data Sebuah DBMS harus mampu terintegrasi dengan software komunikasi
•
Melayani recovery Menyediakan mekanisme untuk mengembalikan database ke keadaan sebelum terjadinya kerusakan pada basis data tersebut.
•
Melayani autorisasi Sebuah DBMS harus menyediakan mekanisme untuk menjamin bahwa hanya pemakai yang berwenang saja yang dapat mengakses database.
2.4 Data flow diagram (DFD) Menurut Whitten et. al. (2002, p326), Data Flow Diagram adalah model proses yang digunakan untuk menggambarkan aliran data melalui sebuah sistem dan tugas-tugas yang dilakukan oleh sistem. Data Flow Diagram mempunyai 3 tingkatan antara lain : 1.
Diagram konteks Merupakan tingkatan pertama ruang lingkup dari sistem yang akan dijalan. Diagram ini menggambarkan sistem secara keseluruhan dan hubungan antar unit.
2.
Diagram nol Diagram yang menggambarkan proses-proses dari suatu sistem secara terperinci dari penjelasan diagram konteks.
17 3.
Diagram rinci Diagram yang menggambarkan proses yang dapat dipecah menjadi lebih terperinci dari diagram nol. Diagram ini juga disebut diagram detail.
Data flow diagram menggunakan simbol-simbol sebagai berikut : Simbol
Keterangan Terminator/external entity
Proses
Alur data
Penyimpanan
data
(Data Store)
Gambar 2.4 Komponen-komponen DFD
2.5 Semantic object Menurut Kroenke (2006, p609), Semantic Object Model digunakan untuk menciptakan model data seperti E-R model yang nantinya ditransformasikan ke dalam perancangan database. Jika sebuah E-R model digunakan, model itu akan memiliki entity dan relationships. Sedangkan jika semantic object model yang
18 digunakan, model itu akan akan memiliki semantic object dan konstruksi yang berhubungan. Perbedaan yang ada di antara E-R model dan semantic object model terletak pada perancangan databasenya. Menurut Kroenke (2006, p610), Semantic object adalah sekumpulan dari atribut-atribut yang cukup untuk menjelaskan perbedaan identitas dari satu objek dengan objek yang lain. Semantic object bisa juga disebut objek. Semantic Object Model lebih mudah dimengerti oleh pemakai daripada E-R model karena dalam pembuatannya, atribut-atribut yang ada dalam semantic object dibuat mengikuti user interface di mana atribut-atribut yang ada dalam suatu user interface dapat secara langsung dibuatkan objeknya sehingga tidak ada atribut yang tidak terpakai dalam perancangan database-nya.
2.5.1 Atribut Semantic object mempunyai atribut yang mendefinisikan karakteristik dari semantic object itu sendiri. Ada 3 tipe dari atribut, yaitu : •
Simple atribut : atribut sederhana yang mempunyai 1 elemen contoh : Nim pada objek mahasiswa
•
Group atribut : gabungan dari beberapa atribut Contoh : Alamat pada objek mahasiswa (gabungan dari jalan, kota dan kodepos)
•
Semantic object atribut : Atribut yang menentukan hubungan antara 1 semantic object dengan semantic object lainnya.
19 Contoh :
Semantic objek atribut
Atribut Cardinality
Gambar 2.5 Diagram objek department dan diagram objek department dengan cardinality •
Atribut cardinality Masing-masing atribut dalam semantic object mempunyai minimum cardinality dan maximum cardinality. Minimum cardinality menunjukkan jumlah dari instances atribut pada sebuah objek harus ada, biasanya 0 atau 1. Jika minimum cardinality-nya 0, maka atribut tersebut tidak dibutuhkan untuk mempunyai sebuah nilai. Sedangkan jika minimum cardinality-nya 1, maka harus mempunyai nilai. Sedangkan maximum cardinality menunjukkan jumlah maksimum dari instances atribut pada sebuah objek, biasanya antara 1 dan N. Jika maximum cardinality-nya 1, maka atribut hanya dapat mempunyai tidak lebih dari 1, sedangkan jika maximum cardinality-nya N, maka atribut dapat mempunyai banyak nilai.
20 Contohnya: atribut faxphonenumber pada objek department mempunyai minimum cardinality dan maksimum cardinality 0.1 yang menunjukan bahwa 1 department bisa mempunyai 1 faxnumber ataupun boleh tidak mempunyai faxnumber.
•
Object instances Object instances adalah nilai dari masing-masing atribut pada tiap-tiap objek. Contoh : Information systems Social science 213
DepartmentName CampusAddress
491-0098 491-1155 491-0099
PhoneNumber
College of business
College
Parks.M
Franklin,J Jones,P
Professor
Jackson Kelvin
Student Jane
Gambar 2.6 Object instances
•
Paired atribut Dalam semantic object model tidak hanya mempunyai satu relationship tetapi bisa timbal balik.
21 Contoh :
Gambar 2.7 Paired atribut Jika college mengandung atribut objek department, maka department juga akan mengandung atribut objek college.
2.5.2 Object Identifier Object identifier adalah satu atau lebih dari atribut objek yang digunakan untuk mengidentifikasikan object instances. Dalam diagram semantic object, object identifier ditunjukkan dengan huruf ID di depan atribut. Jika identifiernya unik, maka huruf ID digarisbawahi. Jika sebuah atribut digunakan sebagai identifier, maka atribut tersebut harus mempunyai sebuah nilai. Contohnya : dalam objek department, identifier yang mungkin adalah deptName (sebagai identifier yang unik) Object identifier dapat dikatakan primary key yang biasa digunakan dalam
22 E-R model. Sedangkan group identifier adalah sebuah identifier yang mempunyai lebih dari 1 atribut. Contohnya : nama mahasiswa (nama awal, nama akhir).
2.5.3 Perbandingan antara Semantic Object model dengan E-R model Berikut adalah perbedaan yang ada pada semantic object model dengan E-R model, yaitu: 1. Perbedaan yang utama adalah orientasinya. Model Semantic object menggunakan konsep semantic object sebagai dasarnya sedangkan E-R model menggunakan konsep entiti dasar. 2. Di semantic object tidak mempunyai relasi sedangkan di E-R model ada. 3. Di semantic object yang menjadi primary key disebut dengan object identifier sedangkan di E-R model disebut primary key. 4. Semantic object model adalah suatu model yang mempunyai semantic object dalam membangun suatu hubungan sedangkan E-R model adalah suatu model yang mempunyai entitas, relasi dan lain-lain
23 Entity-Relationship Model Entities And Relationship
Semantic Object Model
Database Design
Representation of Users’ Data Semantic object
Database design
Users’ reports, Form,queries
Gambar 2.8 Perbedaan Data Model untuk perancangan database Sumber : Kroenke (2006, p80)
2.6 Perancangan Database menggunakan Semantic Object Menurut Kroenke (2006, p615), ada beberapa tipe dari objek yang dapat digunakan untuk merancang sebuah database. Untuk masing-masing tipe, dapat diuji dengan menggunakan sebuah report atau form untuk menunjukkan bagaimana memodelkan report atau form tersebut dengan sebuah objek. Kemudian, masing-masing tipe objek ini ditransformasikan ke dalam perancangan database. Berikut adalah penjelasan mengenai tipe-tipe dari objek tersebut : 2.6.1 Object Simple Object Simple adalah sebuah objek semantik yang hanya mengandung single value, simple atau group atribut.
24 Contoh : PERLENGKAPAN
MsPerlengkapan
NoPerlengkapan : 200 Tanggal : 2/27/2008
ID NoPerlengkapan
Deskripsi : Lampu Harga Pembelian : Rp. 2000
Tanggal
Deskripsi
HargaPembelian (a)
(b)
MsPerlengkapan ( NoPerlengkapan, Tanggal, Deskripsi, HargaPembelian ) Gambar 2.9 Simple object PERLENGKAPAN
Gambar 2.9(a) menunjukkan sebuah instances dari report yang dinamakan PERLENGKAPAN. Sedangkan Gambar 2.9(b) menunjukkan sebuah simple object MsPerlengkapan yang memodelkan PERLENGKAPAN. Atributatribut dari objek mengandung item-item yang ditunjukkan pada Gambar di atas : NoPerlengkapan, Tanggal, Deskripsi, HargaPembelian. Atribut-atribut tersebut tidak memiliki multivalue (yang artinya maximum cardinality-nya lebih dari satu). Oleh karena itu, MsPerlengkapan adalah sebuah simple object. Gambar 2.9(b) adalah sebuah contoh dari simple object, MsPerlengkapan, yang direpresentasikan oleh single relasi, yang ditunjukkan dalam gambar
25 2.9. Masing-masing atribut dari objek didefinisikan sebagai sebuah atribut dari relasi, yang ditunjukkan dengan menggarisbawahi NoPerlengkapan di gambar 2.9. Karena key adalah sebuah atribut unik yang mengidentifikasi baris dari tabel, hanya identifier unik yang ditunjukkan dengan ID yang digarisbawahi, yang dapat ditransformasikan ke dalam key. Jika tidak ada identifier yang unik
dalam
objek,
maka
harus
mengcreate
salah
satu
dengan
mengkombinasikan atribut-atribut yang sudah ada untuk membentuk identifier unik atau dengan mendefinisikan sebuah surrogate key.
2.6.2 Composite Object Composite object adalah sebuah semantic object yang mengandung satu atau lebih multivalue simple atau group atribut. Berikut adalah contoh dari composite object :
Gambar 2.10 Composite Object HOTEL_BILL
Gambar 2.10 menggambarkan semantic Object HOTEL_BILL yang menunjukkan kebutuhan untuk composite object, di mana atribut lineItem
26 adalah sebuah grup atribut yang mempunyai maximum cardinality N, yang berarti bahwa grup dari ServiceDate, ServiceDescription, Price dapat terjadi berkali-kali dalam sebuah instances dari Semantic Object HOTEL_BILL.
2.6.3 Compound Object Sebuah Compound object mengandung sedikitnya satu atribut objek. Berikut adalah contoh dari compound object :
Gambar 2.11 Compound Object COLLEGE dan DEPARTMENT Gambar 2.11 menunjukkan diagram objek untuk department dan college. Objek college mengandung objek department sebagai salah satu atributnya, dan objek Department juga mengandung objek college sebagai atributnya. Satu college
dimiliki oleh 1 sampai banyak department, sedangkan
department memiliki hanya 1 college Karena antara objek department dan objek college mengandung objek atribut, maka kedua objek tersebut dinamakan compound object.
27 2.6.3.1 Merepresentasikan 1-1 Compound object Berikut
ini
adalah
contoh
dari
compound
object
yang
direpresentasikan 1-1 :
Gambar 2.12 Compound Objects dengan 1-1 Pada Gambar 2.12 menunjukkan bahwa satu transaksi cuti resmi yang dilakukan oleh mahasiswa memiliki 1 jenis_cuti. Sedangkan jenis cuti boleh tidak membutuhkan transaksi cuti resmi.
28 2.6.3.2 Merepresentasikan N:M relationship Berikut ini adalah contoh dari objek yang menunjukkan relationship N:M antara objek institusi toefl dengan jnsinstitusi. institusi_toefl
jnsInstitusi ID jenisInstitusi
ID kdinstitusi
nmjenisinstitusi
nminstitusi jnsInstitusi
stsrc 1.N
stsrc tglins tglup usrid
tglins tglup ursid usrup Institusi_toefl
0.N
usrup
Institusi_toefl (kdinstitusi, nminstitusi, stsrc, tglins, tglup, usrid, usrup) jnsInstitusi (jenisInstitusi, nmjenisinstitusi, stsrc, tglins, tglup, usrid, usrup) Toefl_jnsInstitusi (kdinstitusi, jenisInstitusi)
Gambar 2.13 Compound Objects dengan N:M Gambar 2.13 menunjukkan bahwa 1 institusi_toefl memiliki lebih dari 1 jnsinstitusi. Sedangkan jenis institusi dimiliki oleh banyak institusi.
2.6.4 Hybrid Object Hybrid Object adalah kombinasi dari composite dan compound object. Secara khusus, Hybrid Object adalah sebuah semantic object dengan sedikitnya satu multivalue group atribut yang mengandung atribut semantic object.
29
Gambar 2.14 Hybrid Objects Gambar 2.14 menunjukkan bahwa Dormitory mengandung multi-value group seperti objek atribut Student dan nonobjek atribut Rent. Ini berarti bahwa Rent berpasangan dengan Student didalam konteks dari Dormitory.
2.6.5 Parent / Subtype Object Parent / subtype objek memiliki sebuah karakteristik penting yang dinamakan inheritance.
Employee Manager
Gambar 2.15 Parent/ Subtype object Gambar 2.15(b) menunjukkan bahwa objek Employee mengandung subtype object, Manager. Semua manager-oriented atribut telah dipindahkan ke dalam objek manager. Employees yang bukan Manager mempunyai satu
30 Employee objek instance dan tidak mempunyai Manager objek instances. Employees yang merupakan manager mempunyai Employee instance dan Manager instance. Pada gambar 2.15(b) objek Employee disebut parent object atau supertype object, dan objek Manager disebut sebagai subtype object.
2.6.6 Association Object Sebuah
association
object
adalah
menghubungkan dua atau lebih object.
Gambar 2.16 Association Object
sebuah
object
yang
31 2.6.7 Archetype / Version Object Tipe akhir dari objek adalah archetype / version object. Sebuah archetype objek adalah semantic object yang menghasilkan semantic object lain yang merepresentasikan versi, atau edisi dari archetype. Berikut adalah contoh dari archetype objek : TEXTBOOK
EDITION
ID ISBN
ID EditionID
Title
TEXTBOOK
Author Publisher EDITION
1.1
EditionNumber 1.1 PublicationDate
1.1
NumberOfPages
1.N
Gambar 2.17 Archetype/Version Object 2.7 Tahapan Perancangan dalam Semantic Object Model Berikut ini adalah tahapan-tahapan perancangan semantic object Model menurut Kroenke (2002, p183): 1. Identifikasi kebutuhan sistem adalah
tahapan
awal
dalam
melakukan
perancangan
database
menggunakan semantic object, di mana dalam tahap ini dilakukan identifikasi terhadap kebutuhan sistem untuk mengetahui proses-proses apa saja yang terjadi. Dalam tahap ini dibagi menjadi 2, yaitu : -
Daftar proses : menggambarkan proses-proses dari sistem yang telah diidentifikasi sesuai kebutuhan.
-
Struktur menu : menggambarkan struktur dari menu yang ada diaplikasi yang mendukung perancangan database.
32 2. Perancangan database dengan semantic object model adalah tahap kedua dari tahapan perancangan database menggunakan semantic object. Tahap ini dibagi menjadi 3, yaitu semantic object, spesifikasi semantic object dan spesifikasi domain. Pada bagian semantic object, akan dijelaskan bagaimana memodelkan form dengan sebuah object yang nantinya objek tersebut akan ditransformasikan ke dalam perancangan database. Spesifikasi semantic object digunakan untuk mengidentifikasi atribut/ menjelaskan informasi dari object diagram. Terdiri dari object name, property name, mincard (minimum cardinality), maxcard (maximum cardinality), idstatus dan domain name. Object name berisi nama-nama dari semantic object diagram, property name berisi atribut object dan atribut non-object, mincard adalah jumlah minimum dari nilai atribut yang harus dimiliki oleh object, maxcard adalah jumlah maksimum dari nilai atribut yang harus dimiliki oleh object. Idstatus berisi ID yang digarisbawahi yang dipakai untuk menandakan property name yang bersifat unik, dan domain name merupakan aliases dari property name. Spesifikasi domain untuk menjelaskan tipe-tipe dari masing-masing object. Terdiri dari domain name, type, semantic description dan physical description. Domain name merupakan aliases dari property name. type berisi jenis dari atribut, terdiri dari 4 tipe, yaitu F, S, G, SO. F (Formula) untuk merepresentasikan atribut-atribut yang dihitung dari nilai yang lain. S (Simple) menunjukkan simple atribut, G (Group) menunjukkan group atribut, dan SO (Semantic Object) menunjukkan Semantic Object. Semantic description
33 merupakan deskripsi dari semantic object, sedangkan physical description menjelaskan format tipe dari semantic object. 3. Mentransformasikan semantic object ke dalam relational database design Tahap ini menjelaskan bagaimana mentransformasikan semantic object ke dalam relational database design untuk menunjukkan relasi yang merepresentasikan diagram object yang satu dengan diagram object yang lain. 4. Implementasi struktur tabel dari semantic object Menjelaskan bagaimana mengimplementasikan struktur tabel dari semantic object yang telah ditransformasikan ke dalam relational database design. Implementasi struktur tabel menjelaskan kebutuhan dari object-object yang digunakan.
2.8 Entity Relationship Diagram (ERD) Menurut Anonymous (2001), Entity Relationship Diagram adalah sebuah teknik data modeling yang membuat gambaran secara grafik dari entity dan membuat relasi antar entity dalam sebuah sistem infomasi. Tiga komponen utama dalam sebuah Entity Relationship Diagram (ERD) adalah : •
Entity Merupakan sebuah objek, orang atau kejadian yang merupakan tempat data dikumpulkan. Contohnya, dalam sebuah sistem informasi untuk bisnis, entitasnya tidak hanya mahasiswa, melainkan nim, nama, alamat, no telepon mahasiswa dan sebagainya. Entity biasanya digambarkan dalam bentuk bujur sangkar dan diberi nama.
34 •
Relationship Merupakan interaksi atau hubungan antar entitas. Dalam contoh di atas, misalnya mahasiswa mempunyai nilai (transaksi_nilai_mahasiswa), maka kata “mempunyai” ini dapat diartikan sebagai hubungan atau interaksi antara mahasiswa dan nilai (transaksi_nilai_mahasiswa). Sebuah relasi dapat digambarkan dengan garis penghubung antar entity dan boleh diberi label.
•
Cardinality Merupakan relasi antar entitas dalam suatu jumlah yang terbatas. Contohnya : 1 mahasiswa bisa mempunyai 1 sampai banyak nilai.
2.9 Proses Bisnis Menurut Brady et. al. (2001, p3), proses bisnis merupakan kumpulan aktivitas yang menggunakan satu atau lebih jenis masukan dan menciptakan keluaran yang bernilai bagi langganan. Proses bisnis melibatkan beberapa area fungsional dan fungsi bisnis dalam area tersebut.
2.10 Enterprise Resource Planning (ERP) Menurut Sitompul, Sistem ERP adalah aplikasi yang dapat mendukung transaksi atau operasi sehari-hari yang berhubungan dengan pengelolaan sumber daya sebuah perusahaan, seperti dana, manusia, mesin, suku cadang, waktu, material, dan kapasitas. Sistem ERP dibagi atas beberapa sub-sistem yaitu sistem Finansial, sistem Distribusi, sistem Manufaktur, sistem Maintenance, dan sistem Human Resource.
35 Berdasarkan pendapat Leon (2006, p4-5), sisi negatif dari sistem ERP adalah pemaksaan satu prosedur untuk keseluruhan organisasi yang menghasilkan semua orang untuk menyesuaikan diri dengan sistem yang baru. Sistem ERP biasanya diadopsi dengan harapan bahwa biaya komputasi akan lebih rendah dalam jangka waktu panjang. Dalam kenyataannya, penghematan kadang tidak terealisasi dikarenakan kegagalan mengantisipasi semua rincian kebutuhan pengguna serta perubahan dalam lingkungan bisnis yang tidak terhindarkan. Selain itu, dibutuhkan pula biaya pelatihan dan terjadi hilangnya produktivitas saat pengguna belajar menguasai sistem baru yang kompleks. Menurut Dhewanto et. al. (2007, p3), ERP adalah sekumpulan paket sistem informasi yang dibangun dan diimplementasikan sebagai fasilitator terwujudnya konsep ERP di suatu organisasi. ERP adalah proses mengintegrasikan semua fungsi dan proses bisnis sebuah organisasi. ERP memberikan keunggulan kompetitif pada perusahaan (Lau, 2005). Menurut Lau (2005), ERP memberikan beberapa keuntungan : • Pertama, satu titik pemasukan dan membantu mengurangi redudansi data dan membantu pegawai menghemat waktu dalam memasukkan data, sehingga dapat mengurangi tenaga kerja dan biaya tambahan. • Kedua, pemusatan informasi, pengambilan keputusan, dan kontrol berakibat pada peningkatan efisisensi operasi dan produktivitas serta koordinasi antara departemen, divisi dan daerah. • Ketiga, pembagian basis data yang terpusat memberikan informasi yang akurat dan terbaru pada manajer bisnis untuk membuat keputusan bisnis yang berdasar.
36 • Keempat, integrasi fungsional menggabungkan semua data, seperti data keuangan, manufaktur dan penjualan.
2.10.1 Manfaat Enterprise Resource Planning (ERP) Menurut Dhewanto et. al. (2007, p12), Manfaat yang dapat diperoleh secara spesifik melalui cara-cara atau fasilitas tertentu yang ada pada ERP adalah sebagai berikut : 1. Akses Informasi yang andal. 2. Menghindari duplikasi data dan operasi. 3. Mempercepat waktu pemrosesan data. 4. Mengurangi biaya. 5. Kemudahan adaptasi. 6. Meningkatkan skalabilitas. 7. Kemudahan pemeliharan. 8. Pengembangan global.
2.10.2 Kendala Implementasi Enterprise Resource Planning (ERP) Menurut Dhewanto et. al. (2007, p12), Kendala implementasi dalam pembuatan ERP adalah sebagai berikut : 1. Memakan waktu. 2. Mahal. 3. Kesesuain Modul. 4. Kebergantungan pada vendor. 5. Fitur dan kompleksitas.
37 6. Skalabilitas dan kompabilitas global.
2.11 C Sharp (C#) C# (biasanya disebut juga sebagai “C sharp”) adalah sebuah bahasa pemrograman komputer yang baru. C# merupakan bahasa object-oriented seperti java dan merupakan bahasa component-oriented yang pertama. Bahasa pemrograman ini dibuat berbasiskan bahasa C++ yang telah dipengaruhi oleh aspek-aspek ataupun fitur bahasa yang terdapat pada bahasabahasa pemrograman lainnya seperti java, visual basic, dan lain-lain dengan beberapa penyederhanaan. C# dititikberatkan pada : •
C# adalah sebuah bahasa baru yang diturunkan dari keluarga C/C++
•
Kode pada C# lebih sederhana dan lebih modern dari C++
•
merupakan bahasa componen-oriented yang pertama
•
merupakan bahasa yang didesain dari .Net Framework
•
merupakan bahasa yang singkat, dan modern
•
mengkombinasikan fitur-fitur terbaik dari banyak bahasa yang umum digunakan : produktivitas dari visual basic, kekuatan dari C++ dan java
•
mempunyai sintaks yang konsisten
•
C# akan menjadi pilihan bahasa bagi pemrograman .Net
•
Bagian terbesar dari .Net Framework yang benar-benar dikodekan dalam bahasa C#
38 2.11.1 Tujuan Desain Standar European Computer Manufacturer Association (ECMA) mendaftarkan beberapa tujuan desain dari bahasa pemrograman C#, sebagai berikut ; •
Bahasa pemrograman C# dibuat sebagai bahasa pemrograman yang bersifat general-purpose (untuk tujuan jamak), berorientasi objek, modern dan sederhana.
•
Bahasa pemrograman C# ditujukan untuk digunakan dalam mengembangkan
komponen
perangkat
lunak
yang
mampu
mengambil keuntungan dari lingkungan yang terdistribusi. •
Portabilitas
programmer
sangatlah
penting,
khususnya
bagi
programmer yang telah lama menggunakan bahasa pemrograman C dan C++. •
Dukungan
untuk
internasionalisasi
(multi-language)
sangatlah
penting. •
C# ditujukan agar cocok digunakan untuk menulis program aplikasi baik dari segi client-server (hosted system) maupun sistem embedded (embedded system), mulai dari program aplikasi yang sangat besar yang menggunakan sistem operasi yang canggih hingga kepada program aplikasi yang sangat kecil yang memiliki fungsi-fungsi terdedikasi.
•
Meskipun aplikasi C# ditujukan agar bersifat ‘ekonomis’ dalam hal kebutuhan pemrosesan dan memori komputer, bahasa C# tidak
39 ditujukan untuk bersaing secara langsung dengan kinerja dan ukuran program aplikasi yang dibuat dengan menggunakan bahasa pemrograman C dan bahasa rakitan. •
Bahasa C# harus mencakup pengecekan jenis (type checking) yang kuat, pengecekan array, pendeteksian terhadap percobaan terhadap penggunaan variabel-variabel yang belum diinisialisasikan.
2.12 SQL (Standard Query Language) Menurut Anonymous (http1), SQL merupakan sub bahasa pemograman yang khusus dipergunakan untuk memanipulasi data. SQL adalah salah satu DBMS (Database Management System) yang saat ini banyak digunakan untuk operasi basis data dan embedded (ditempelkan) di hampir semua bahasa pemrograman yang mendukung basis data relasional. Perbedaan penggunaan SQL pada masing-masing bahasa biasanya pada sintaks2 khusus. Misalnya : INSERT INTO … VALUE. Pada bahasa yang lain INSERT INTO …VALUES…, dll. Bahasa yang mendukung SQL antara lain : Visual Basic, ORACLE, MYSQL, JAVA, dll.
SQL memiliki 2 kategori perintah : 1. Data Definition Language (DDL), yakni perintah2 yang digunakan untuk mendefinisikan (menciptakan, tambah/mengubah/hapus) struktur data/tabel 2. Data Manipulation Language (DML), yakni perintah yang digunakan untuk memanipulasi perhitungan, dll)
database
(melihat,
menelusuri,
filtering,
summarize,
40 2.12.1 DDL Menurut
Connoly et. al (2002, p40),
Data
Definition Language
(DDL) adalah bahasa dalam database yang memungkinkan manusia untuk mendefinisikan dan memberi nama suatu entity, atribut, dan relasi yang dibutuhkan
dengan
kesatuan
integras
dan
batasan
security.
DDL
memungkinkan pembuatan dan penghancuran objek-objek yang ada dalam database seperti skema, domain, table, view, dan indeks. DDL yang utama dalam SQL yaitu : •
CREATE : digunakan untuk membuat objek dalam database.
•
ALTER : digunakan untuk mengubah objek dalam database. ALTER hanya dapat digunakan pada domain dan tabel saja.
•
DROP : digunakan untuk menghancurkan objek yang ada dalam database.
Perintah-perintah yang digunakan : •
Membuat database CREATE DATABASE nama _database
•
Membuat tabel CREATE TABLE nama_table ( Nama_Field1 type_data(length), Nama_Field2 type_data(length) )
41 •
Mengubah field ALTER TABLE nama_table CHANGE field1 field2 tipe_data (length) Nb : field1 = field lama, field2 = field baru
•
Menambah field ALTER TABLE nama_tabel ADD nama_field tipe_data (length)
•
Menghapus field ALTER TABLE nama_tabel DROP field Nb : field = nama field yang dihapus
2.12.2 DML Data Manipulation language (DML) digunakan untuk query, memasukkan data, mengubah data, dan menghapus data yang ada dalam database. Perintah-perintah DML dalam SQL yaitu : • SELECT : digunakan untuk melakukan query data dalam database. • INSERT : digunakan untuk memasukkan data dalam database. • UPDATE : digunakan untuk mengubah data yang ada dalam database. • DELETE : digunakan untuk menghapus data yang ada dalam database.