7 2.1 Sistem Basis Data
Sistem basis data adalah sistem terkomputerisasi yang tujuan utamanya adalah memelihara data yang sudah diolah atau informasi dan membuat informasi tersedia saat dibutuhkan (Rosa dan Shalahuddin, 2014 : 43).
2.2Database Management System (DBMS)
Database Management System (DBMS) adalah sebuah sistem perangkat lunak yang memperbolehkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke dalam basis data (Connoly and Begg, 2010 : 66).
Sebuah DBMS menyediakan beberapa fasilitas, seperti :
1. Data Definition Language (DDL) memungkinkan pengguna untuk menentukan tipe data, struktur data, dan batasan–batasan pada data yang tersimpan di dalam basis data.
2. Data Manipulation Language (DML) memungkinkan pengguna untuk memasukkan, mengubah, menghapus, dan mengambil data dari basis data. 3. Query Language adalah sebuah bahasa yang digunakan oleh pengguna untuk
mengakses data pada basis data.
2.2.1 Komponen DBMS
Gambar 2.1 Komponen–komponen DBMS Sumber : Connoly dan Begg hal 68
Menurut Thomas Connoly dan Carolyn Begg (2010, 68–71), lima komponen utama dalam lingkungan DBMS, yaitu :
Sebuah perangkat keras yang mencakup personal computer ke single mainframe atau network dari komputer.
2. Software
Sebuah perangkat lunak yang terdiri dari DBMS, program aplikasi, sistem operasi, dan juga perangkat lunak jaringan bila DBMS digunakan melalui jaringan.
3. Data
Data merupakan komponen terpenting dalam DBMS yang menghubungkan antara komponen mesin dan komponen manusia. Database meliputi data operasional dan metadata. 4. Prosedur
Prosedur mengacu pada instruksi dan peraturan pada desain dan penggunaan dari basis data.
5. Orang
Orang merupakan komponen terakhir yang terlibat dalam sistem. Terdapat empat tipe orang yang berperan dalam lingkungan DBMS, meliputi :
a. Data dan Database Administrator
Data Administrator bertanggung jawab mengatur sumber data, termasuk perancangan basis data. Sedangkan, Database Administrator bertanggung jawab dalam realisasi physical database design yang ditujukan kepada pengguna.
b. Database Designers
Database Designers bertanggung jawab atas logical dan physical database design.
c. Application Developers
Bertanggung jawab menyediakan fungsionalitas yang dibutuhkan oleh pengguna yang sudah diimplementasikan. d. End-users
End-users disebut juga sebagai clients. Terbagi menjadi 2 klasifikasi, yaitu :
1. Naive users adalah pengguna yang tidak mengetahui tentang DBMS dan hanya menggunakan program aplikasi.
2. Sophisticated users adalah pengguna yang sudah terbiasa dengan struktur basis data dan dengan beberapa fasilitas yang ditawarkan oleh DBMS.
2.2.2 Keuntungan dan Kerugian DBMS
Menurut Thomas Connoly and Carolyn Begg (2010, 77–81), DBMS memiliki beberapa keuntungan dan kerugian, yaitu :
Keuntungan dari DBMS, yaitu :
1. Pengontrolan terhadap pengulangan data 2. Konsistensi data
3. Lebih banyak informasi dari sumber data yang sama 4. Sharing of data
5. Meningkatnya integritas data 6. Meningkatnya keamanan 7. Pelaksanaan standar 8. Skala ekonomi
9. Keseimbangan persyaratan yang saling bertentangan 10. Meningkatnya akses dan respon data
11. Meningkatnya produktifitas
12. Meningkatnya pemeliharaan melalui data independen 13. Meningkatnya concurrency
14. Meningkatnya backup dan recovery services
Kerugian dari DBMS, yaitu : 1. Kompleksitas
2. Ukuran 3. Biaya DBMS
4. Biaya tambahan hardware 5. Biaya konversi 6. Performa
2.2.3 Fungsi DBMS
Menurut Thomas Connolly dan Carolyn Begg (2010, 99–104), DBMS mempunyai 10 fungsi, yaitu :
1. Data storage, retrival, dan update
Menyediakan pengguna dengan kemampuan menyimpan, mengambil, dan mengubah data di dalam basis data.
2. A user-accessible catalog
Menyediakan sebuah katalog yang mendeskripsikan data item yang tersimpan dan yang dapat diakses oleh pengguna. 3. Transaction support
Menyediakan sebuah mekanisme yang memastikan perubahan sesuai dengan transaksi yang diberikan akan dibuat atau tidak dibuat satupun.
4. Concurrency control services
Menyediakan mekanisme untuk memastikan bahwa basis data telah diubah secara benar ketika pengguna mengubah basis data secara bersamaan.
5. Recovery services
Menyediakan sebuah mekanisme untuk pemulihan basis data jika sewaktu–waktu rusak dengan berbagai cara.
6. Authorization services
Menyediakan mekanisme untuk memastikan bahwa hanya pengguna berwenang yang dapat mengakses basis data.
7. Support for data communication
Untuk berintegrasi dengan software komunikasi. 8. Integrity services
Menyediakan sebuah sarana untuk memastikan bahwa kedua data dalam basis data dan perubahan data mengikuti aturan tertentu.
9. Services to promote data independence
Meliputi fasilitas untuk mendukung independensi program dari struktur basis data sebenarnya.
Menyediakan seperangkat layanan utility, seperti import facilities, monitoring facilities, statistical analysis, index reorganization facilities, dan garbage collection and reallocation.
2.3 Siklus Basis Data
Menurut Thomas Connoly dan Carolyn Begg (2010, 313–336), basis data dianalisis dan dirancang berdasarkan siklus seperti gambar di bawah ini.
Gambar 2.2 Skema Pengembangan Siklus Database Sumber : Connolly dan Begg hal 314
1. Database planning
Database planning adalah aktivitas pengaturan yang mengizinkan tahapan pada siklus hidup pengembangan basis data untuk direalisasikan secara efektif dan efisien
2. System definition
System definition menggambarkan ruang lingkup dan batasan dari sistem basis data dan user view utama. User view mendefinisikan apa saja yang diperlukan sistem basis data melalui perspektif dari berbagai peranan pekerjaan (misalnya, manajer dan supervisior) atau lingkungan aplikasi perusahaan (misalnya, pemasaran, personil, dan kontrol stok).
3. Requirements collections and analysis
Requirements collection and analysis merupakan proses mengumpulkan dan menganalisis informasi tentang bagian dari organisasi yang didukung oleh database system, dan menggunakan informasi tersebut untuk mengidentifikasi kebutuhan sistem baru. Terdapat tiga pendekatan utama untuk melaksanakan pengumpulan sistem database dengan beberapa pengguna, yaitu :
a. Centralized approach b. View integration approach
c. A combinations of both approaches 4. Database design
Database design adalah proses membuat rancangan yang akan mendukung misi dan tujuan dari kebutuhan sistem basis data. Ada dua pendekatan yang digunakan dalam merancang database design, yaitu bottom up approach dan top down approach
Terdapat 3 fase dalam merancang sebuah database design, yaitu : a. Conceptual database design
b. Logical database design c. Physical database design 5. DBMS selection
DBMS selection merupakan pemilihan DBMS yang mendukung sistem basis data.
a. Mendefinisikan kerangka acuan studi.
b. Mencatat dua atau tiga produk yang akan digunakan. c. Mengevaluasi produk.
d. Merekomendasikan produk yang dipilih dan membuat laporan yang mendukungnya.
6. Application design
Application design merupakan perancangan user interface dan program aplikasi yang menggunakan dan memproses basis data.
Terdapat dua aspek dalam application design, yaitu : a. Transaction design
Merupakan suatu tindakan, atau beberapa tindakan, yang dijalankan oleh user tunggal atau program aplikasi yang mengakses atau mengubah konten dari basis data.
Tujuan dari transaction design adalah untuk mendefiniskan dan mendokumentasikan karakteristik tingkat tinggi dari transaksi yang diperlukan pada basis data, meliputi :
1. Data yang digunakan oleh transaksi 2. Karakteristik fungsional dari transaksi 3. Output transaksi
4. Keuntungan untuk user
5. Tingkat kegunaan yang diharapkan Terdapat tiga tipe transaksi, yaitu :
1. Retrival Transaction digunakan untuk mengambil data dari tampilan layar atau dilaporan produksi.
2. Update Transaction digunakan untuk memasukan data baru, menghapus data yang lama atau memodifikasi data–data yang telah ada di basis data.
3. Mixed Transaction merupakan kombinasi dari Retrival Transaction dan Update Transaction.
b. User interface design guidelines
Beberapa aturan–aturan pokok dalam perancangan user interface, antara lain :
1. Judul yang sesuai arti
3. Pengelompokan logis dan pengurutan field 4. Tampilan layout form atau report yang menarik 5. Label field yang mudah dikenal
6. Istilah dan singkatan yang konsisten 7. Penggunaan warna yang konsisten 8. Tempat dan batas untuk memasukan data 9. Pergerakan kursor yang baik
10. Perbaikan kesalahan untuk karakter individual dan keseluruhan field
11. Pesan kesalahan untuk nilai yang tidak diterima 12. Pilihan field bersifat jelas
13. Penjelasan pesan pada field 14. Tanda penyelesaian
7. Prototyping
Prototyping merupakan pembentukan sebuah model kerja dari sistem basis data. Terdapat dua strategi prototyping, yaitu requirement prototyping dan evolutionary prototyping.
8. Implementation
Implementation merupakan realisasi fisik dari database dan aplikasi design. Implementation dicapai dengan Data Definition Language (DDL) dari pemilihan DBMS atau Graphical User Interface (GUI) yang menyediakan fungsionalitas sama ketika menyembunyikan low level DDL. Program aplikasi diimplementasikan menggunakan 3GL atau 4GL (third or fourth generation language) serta menggunakan DML atau ditandakan sebuah bahasa pemrograman.
9. Data conversion loading
Data conversion loading merupakan proses memindahkan data yang sudah ada ke dalam basis data baru dan mengkonversi aplikasi yang ada untuk dijalankan pada basis data yang baru.
10. Testing
Testing merupakan proses menjalankan sistem basis data dengan tujuan untuk menemukan kesalahan–kesalahan.
Operational maintance merupakan proses pengawasan dan pemeliharaan sistem basis data yang diikuti dengan instalasi. Proses ini meliputi pengawasan kinerja sistem, pemeliharaan dan peningkatan sistem basis data.
2.4 Waterfall Model
Waterfall Model disebut juga classic life cycle menawarkan sebuah pendekatan dan sistematis, sekuensial dalam pengembangan software yang meliputi perencanaan, pemodelan, construction, deployment, dan dukungan berkelanjutan untuk software (Pressman, 2010 : 39).
Gambar 2.3 Model Proses Waterfall Sumber :
1. Communication
Komunikasi bertujuan untuk mengumpulkan informasi yang diperlukan untuk menentukan fitur dan fungsi dari software.
2. Planning
Menyediakan dasar untuk mendapatkan sumber daya yang dibutuhkan dalam memperoleh solusi.
3. Modelling
Mentransformasikan kebutuhan detail menjadi kebutuhan yang sudah lengkap yang dapat memenuhi fungsi–fungsi yang dibutuhkan. 4. Construction
Program komputer yang sesuai dengan design harus diuji untuk meminimalkan kesalahan dan memastikan output yang dihasilkan sesuai dengan keinginan.
Evaluasi dari pengguna untuk perubahan software yang sudah ada tetapi tidak untuk membuat software baru.
2.5 Metodologi Perancangan Database
Menurut Thomas Connolly dan Carolyn Begg (2010, 466), metodologi perancangan adalah pendekatan terstruktur yang menggunakan prosedur, teknik, alat dan bantuan dokumentasi untuk mendukung dan memfasilitasi proses desain. Ada tiga tahapan dalam metodologi perancangan basis data, yaitu :
2.5.1 Perancangan Conceptual Database
Perancangan Conseptual Database merupakan proses membangun sebuah model data yang digunakan di perusahaan yang independen dari semua pertimbangan fisik. (Connolly dan Begg, 2010 : 467).
1. Langkah pertama : Membangun conceptual data model
Langkah–langkah dalam membangun conceptual database design, antara lain :
a. Mengidentifikasi tipe entitas
Bertujuan untuk mengidentifikasikan tipe entitas yang diperlukan dengan menguji secara spesifik kebutuhan pengguna.
b. Mengidentifikasi tipe relasi
Bertujuan untuk mengidentifikasi relasi yang terdapat antara tipe entitas. Langkah yang dilakukan pada tahap ini yaitu membuat Entity Relationship Diagram (ERD). c. Mengidentifikasi dan menghubungkan atribut dengan
entitas dan relasi
Bertujuan untuk menghubungkan atribut dengan entitas atau tipe relasi yang tepat.
d. Menentukan domain atribut
Bertujuan untuk menentukan domain untuk artibut pada model data conceptual.
e. Menentukan atribut candidate, primary, dan alternate key Bertujuan untuk mengidentifikasi candidate key untuk setiap entitas, jika ada lebih dari satu candidate key, pilih satu sebagai primary key dan yang lain sebagai alternate key. Petunjuk untuk memilih primary key berdasarkan candidate key yang ada, yaitu :
1. Candidate key dengan minimal set atribut
2. Candidate key yang paling mungkin memiliki nilai yang berubah
3. Candidate key dengan karakter paling sedikit (untuk atribut teks)
4. Candidate key dengan nilai maksimal terkecil (untuk atribut numerik)
5. Candiate key yang paling mudah digunakan berdasarkan sudut pandang pengguna
f. Mempertimbangkan penggunaan enhanced modeling concept (optional step)
Bertujuan untuk mempertimbangkan penggunaan enhanced modeling concepts, seperti spesialisasi atau generalisasi, agregasi, dan komposisi.
g. Memeriksa redudansi model
Bertujuan memeriksa adanya redudansi di berbagai model. Tiga aktivitas dalam langkah ini, yaitu :
1. Memeriksa kembali one to one (1 : 1) relationship 2. Menghapus redundant relationship
3. Memperhatikan pengaruh akan waktu
h. Memvalidasi model data conceptual terhadap transaksi pengguna
Bertujuan untuk memastikan bahwa model data conceptual mendukung transaksi yang diperlukan. Terdapat dua pendekatan yang digunakan untuk mendukung transaksi, yaitu mendeskripsikan transaksi dan menggunakan jalur transaksi.
Bertujuan untuk meninjau conceptual model data dengan pengguna untuk mempertimbangkan model tersebut merupakan representasi dari persyaratan data perusahaan.
2.5.2 Perancangan Logical Database
Perancangan Logical Database merupakan proses membangun model data berdasarkan model data yang spesifik, tetapi independen terhadap DBMS dan pertimbangan fisikal lainnya (Connolly dan Begg, 2010 : 467).
2. Langkah kedua – Membangun logical data model
Langkah – langkah dalam membangun logical database design, antara lain :
a. Mendapatkan relasi untuk model data logical
Bertujuan untuk membuat relasi logical data model yang merepresentasikan entitas, relationships, dan atribut. b. Validasi relasi menggunakan normalisasi
Bertujuan untuk memvalidasi relasi pada logical data model menggunakan normalisasi.
c. Validasi relasi pada transaksi pengguna
Bertujuan untuk memastikan bahwa hubungan logical data model mendukung transaksi yang dibutuhkan.
d. Memeriksa integrity constraints
Bertujuan untuk memeriksa integrity constraints yang direpresentasikan di logical data model.
e. Meninjau kembali logical data model dengan pengguna Meninjau kembali logical data model dengan pengguna untuk memastikan bahwa pengguna mempertimbangkan model representasi dari persyaratan data perusahaan.
f. Menggabungkan logical data model menjadi global model (optional step)
Bertujuan untuk menggabungkan logical data model lokal ke dalam single global logical data model yang mewakili semua pandangan pengguna basis data.
g. Memeriksa pertumbuhan untuk masa yang akan datang Bertujuan untuk menentukan adanya perubahan yang signifikan kemungkinan di masa mendatang dan untuk menilai logical data model dapat mengakomodasi perubahan tersebut.
2.5.3 Perancangan Physical Database
Perancangan physical database merupakan proses menghasilkan deskripsi implementasi database pada penyimpanan sekunder, menggambarkan hubungan dasar, organisasi file dan indeks yang digunakan untuk mencapai akses yang efisien terhadap data, dan kendala integritas terkait dan tindakan pengamanan (Connoly and Begg, 2010 : 467).
3. Langkah ketiga – Menerjemahkan model logical data model untuk target DBMS
Langkah–langkah dalam membangun physical database design, yaitu :
a. Merancang relasi dasar
Bertujuan untuk mengidentifikasi relasi dasar pada logical data model dalam DBMS.
b. Merancang representasi derived data
Bertujuan untuk mengidentifikasi derived data pada logical data model dalam DBMS.
c. Merancang general constraints
Bertujuan untuk merancang general constraints untuk target DBMS.
4. Langkah keempat – Merancang organisasi file dan indeks Bertujuan menentukan optimal bagi organisasi untuk menyimpan relasi dasar dan indeks yang diperlukan sehingga
mencapai kinerja yang dapat diterima, yaitu cara di mana hubungan dan tuples akan disimpan pada penyimpanan sekunder (Connoly and Begg, 2010 : 528).
Berikut langkah keempat yang dilakukan pada physical database design, yaitu :
a. Menganalisis transaksi
Bertujuan untuk mengetahui fungsionalitas dari transaksi yang berjalan pada basis data dan menganalisis transaksi yang penting.
b. Memilih organisasi file
Bertujuan untuk menentukan organisasi file yang efisien untuk relasi dasar.
c. Memilih indeks
Bertujuan untuk menentukan indeks yang ditambahkan untuk memperbaiki kinerja sistem.
d. Memperkirakan kebutuhan disk space
Bertujuan untuk memperkirakan jumlah disk space yang dibutuhkan basis data.
5. Langkah kelima – Merancang user views
Bertujuan untuk merancang user views yang diidentifikasikan selama tahap pengumpulan persyaratan dan analisis dari siklus hidup pengembangan basis data.
6. Langkah keenam – Merancang mekanisme keamanan
Bertujuan untuk merancang mekanisme keamanan pada database yang dispesifikasikan oleh user selama persyaratan dan pengumpulan dari siklus hidup sistem basis data.
2.6 Entity Relationship Modeling (ER Modeling)
ER Modeling merupakan sebuah pendekatan top-down pada desain database yang dimulai dengan mengidentifikasi data penting seperti entitas dan relationship antara data yang harus direpresentasikan dalam model (Connolly dan Begg, 2010 : 371).
2.6.1 Entity Types
Entity Types merupakan sekelompok objek dengan properti yang sama yang diidentifikasikan oleh perusahaan independen (Connolly dan Begg, 2010 : 372).
2.6.2 Relationship Types
Relationship Types merupakan serangkaian hubungan antara satu atau lebih tipe entitas yang berpartisipasi (Connolly dan Begg, 2010 : 374).
2.6.3 Attributes
Menurut Thomas Connolly dan Carolyn Begg (2010 : 379), attributes adalah properti dari sebuah entitas atau dari sebuah tipe relationship. Setiap atribut yang terkait dengan seperangkat nilai disebut domain. Atribut dapat diklasifikasikan sebagai :
1. Simple and Composite attributes
Simple Attributes adalah sebuah atribut yang digabungkan dari satu komponen dengan keberadaan independen.
Composite Attributes adalah sebuah atribut yang digabungkan dari banyak komponen, setiap komponen memiliki keberadaan independen.
2. Single Value and Multi Value Attributes
Single Value Attributes adalah atribut yang menyimpan nilai tunggal dari tipe entitas.
Multi Value Attributes adalah atribut yang menyimpan banyak nilai dari setiap kejadian tipe entitas.
3. Derived Attributes
Derived Attributes adalah atribut yang mempresentasikan sebuah nilai yang merupakan turunan dari sebuah atau serangkaian atribut, tidak perlu di dalam entitas yang sama.
2.6.4 Keys
Key terdiri dari lima jenis yaitu : 1. Candidate key
Candidate key adalah serangkaian atribut–atribut minimal yang mengidentifikasi secara unik keberadaan setiap tipe entitas (Connolly dan Begg, 2010 : 381).
2. Primary key
Primary key adalah candidate key yang dipilih untuk mengidentifikasi secara unik keberadaan setiap tipe entitas (Connolly dan Begg, 2010 : 381).
3. Alternate key
Alternate key adalah candidate key yang tidak dipilih oleh primary key (Connolly dan Begg, 2010 : 151).
4. Composite key
Composite key adalah sebuah key yang terdiri lebih dari satu atribut (Connolly dan Begg, 2010 : 151).
5. Foreign key
Foreign key adalah sebuah atribut atau serangkaian atribut dengan satu relasi yang sama dengan candidate key lain (Connolly dan Begg, 2010 : 151).
2.6.5 Strong and Weak Entity Types
Strong Entity Types adalah sebuah tipe entitas yang kehadirannya tidak bergantung pada tipe entitas lainnya (Connolly dan Begg, 2010 : 383). Karakteristik dari strong entity types adalah setiap keberadaan entitas yang mengidentifikasikan secara unik menggunakan atribut primary key adalah bagian dari tipe entitas.
Weak Entity Types adalah sebuah tipe entitas yang kehadirannya bergantung pada tipe entitas lainnya (Connolly dan Begg, 2010 : 383). Karakteristik dari weak entity types adalah setiap keberadaan entitas yang mengidentifikasikan secara unik hanya menggunakan atribut yang berhubungan dengan tipe entitas.
2.6.6 Structural Constraints
Tipe utama sebuah constraint relationship disebut multiplicity. Multiplicity adalah jumlah atau rentang suatu kejadian sebuah tipe entitas yang berhubungan dengan kejadian tunggal dari tipe entitas melalui hubungan tertentu (Connolly dan Begg, 2010 : 385). Terdapat tiga tipe relationship yang menggunakan intergity constraints, yaitu :
1. One to one Relationships (1 : 1) 2. One to many Relationships (1 : *) 3. Many to many Relationships (* : *)
2.6.7 Enhanced Entity Relationship Modeling Specialization / Generalization
Specialization adalah proses memaksimalkan perbedaan antara anggota dari sebuah entitas dengan mengidentifikasikan karakteristik yang khusus (Connolly dan Begg, 2010 : 402).
Generalization adalah proses meminimalkan perbedaan atara entitas dengan mengidentifikasi karakteristik yang umum (Connolly dan Begg, 2010 : 403).
2.7 Normalisasi
Normalisasi adalah suatu teknik untuk menghasilkan serangkaian relasi dengan properti yang diinginkan, dengan pertimbangan kebutuhan data perusahaan. Tujuan normalisasi adalah untuk mengidentifikasi sekumpulan relasi yang mendukung kebutuhan data perusahaan (Connolly dan Begg, 2010 : 416).
Unnormalized Form (UNF) adalah tabel yang berisi satu atau lebih kelompok yang berulang.
Menurut Thomas Connolly dan Carolyn Begg (2010, 430–438), normalisasi terdiri dari tiga tahap, yaitu:
1. First Normal Form (1NF)
First Normal Form (1NF) adalah relasi yang berpotongan setiap baris dan kolomnya mengandung satu dan hanya satu. Tahapan
merubah UNF menjadi 1NF dengan mengidentifikasi dan menghapus kelompok berulang yang ada pada tabel.
2. Second Normal Form (2NF)
Second Normal Form (2NF) adalah sebuah relasi dalam 1NF dan setiap atribut non primary key adalah ketergantungan penuh pada primary key. Tahapan mengubah 1NF menjadi 2NF dengan menghilangkan ketergantungan parsial.
3. Third Normal Form (3NF)
Third Normal Form (3NF) adalah sebuah relasi dalam 1NF dan 2NF dan tidak ada atribut non candidate key bergantung secara transitif pada candidate key. Tahapan 2NF ke 3NF dengan menghilangkan ketergantungan parsial.
2.8 Diagram Tools
2.8.1 Data Flow Diagram (DFD)
Data Flow Diagram (DFD) menggambarkan aliran data secara grafis dalam perusahaan (Romney dan Steinbart, 2012 : 70). Beberapa simbol DFD, yaitu :
Tabel 2.1 Simbol DFD
Simbol Nama Penjelasan
Sumber dan tujuan data
Orang dan organisasi yang mengirim dan menerima data dari sistem.
Arus data Data yang masuk atau keluar suatu proses.
Proses transformasi Proses yang mentransformasi data dari input ke output. Penyimpanan data Untuk menyimpan data.
Menurut Roger S. Pressman, DFD level 0 disebut juga sebagai diagram konteks. Pada DFD level 0, entitas eksternal utama menghasilkan informasi yang digunakan oleh sistem (2010, 188). DFD level 0 harus diperluas menjadi DFD level 1. Pada level 1, data flow dilanjutkan dengan penambahan data store atau objek kontrol untuk menyimpan data. Eksternal entitas harus sesuai dengan eksternal entitas yang ada di DFD level 0.
2.8.2 Entity Relationship Diagram
Entity Relationship Diagram (ERD) adalah bentuk paling awal dalam melakukan perancangan database relational (Rosa dan Shalahuddin, 2013 : 50).
2.8.3 State Transition Diagram (STD)
State Transition Diagram (STD) adalah alat yang digunakan untuk menggambarkan urutan dan variasi layar yang dapat terjadi ketika user menggunakan sistem. STD bisa menjadi cukup besar ketika semua input, output, dan layar lain yang ditambahkan ke diagram (Whitten dan Bentley, 2007 : 635).
2.9 Software Tools
2.9.1 Hypertext Preprocessor (PHP)
PHP merupakan bahasa pemrograman yang digunakan bersama dengan HTML dalam membuat suatu web.
2.9.2 XAMPP
XAMPP adalah program yang berisi paket Apache, MySQL, dan phpMyAdmin (Sadeli, 2014 : 4). PhpMyAdmin adalah software yang berbentuk seperti halaman situs yang terdapat pada web server.
2.9.3 CSS
Cascading Style Sheet (CSS) adalah suatu bahasa stylesheet yang digunakan untuk mengatur tampilan suatu website, baik tata
letaknya, jenis huruf, warna, dan semua yang berhubungan dengan tampilan (Suryana dan Koesheryatin, 2014 : 101).
2.9.4 HTML
HyperText Markup Language (HTML) adalah bahasa yang digunakan untuk menulis halaman web, dokumen ASCII atau teks biasa yang dirancang untuk tidak tergantung pada suatu sistem operasi tertentu (Suryana dan Koesheryatin, 2014 : 29).
2.9.5 PHPMyAdmin
PHPMyAdmin adalah sebuah software yang berbentuk seperti halaman situs yang terdapat pada web server (Sadeli, 2014 : 10).
2.9.6 Unified Modeling Language (UML) 1. Use Case Diagram
Use Case Diagram adalah diagram yang menggambarkan secara grafis interaksi antara sistem eksternal dan pengguna (aktor), yang berarti menggambarkan aktor yang menggunakan sistem, relationships, dan sistem yang akan dijalankan. Aktor adalah orang yang dapat berinteraksi dengan sistem untuk mengubah informasi. Relationships digambarkan sebagai garis yang menghubungkan antara aktor dan sistem dalam use case diagram (Whitten dan Bentley, 2007 : 246).
Tabel 2.2 Simbol Usecase Diagram
Simbol Deskripsi
Use case Fungsionalitas yang disediakan sistem sebagai unit – unit yang saling bertukar pesan antar unit atau aktor, biasanya dinyatakan dengan menggunakan kata kerja di awal di awal frase nama use case
Simbol Deskripsi
Aktor / actor Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang, biasanya dinyatakan menggunakan kata benda di awal frase nama aktor
Asosiasi / association Komunikasi antara aktor dan use case yang berpartisipasi pada use case atau use case memiliki interaksi dengan aktor
Ekstensi / extend
<<extend>>
--->
Relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan dapat berdiri sendiri walau tanpa use case tambahan itu, mirip dengan prinsip inheritance pada pemrograman berorientasi objek, biasanya use case tambahan memiliki nama depan sama dengan use case yang ditambahkan, contohnya :
<<extend>>
<<extend>>
Validasi username
Validasi user
Simbol Deskripsi
Generalisasi / generalization Hubungan generalisasi dan spesialisasi (umum-khusus) anatara dua buah use case dimana fungsi yang satu adalah fungsi yang lebih umum dari yang lainnya, contohnya :
Arah panah mengarah pada use case yang menjadi generalisasinya (umum) Include
<<include>> --->
Relasi use case tambahan ke sebuah use case di mana use case yang ditambahkan memerlukan use case ini untuk menjalankan fungsinya atau sebagai syarat dijalankan use case ini. Ada dua sudut pandang yang cukup besar mengenai include di use case :
a. Include berarti use case yang ditambahkan akan selalu dipanggil saat use case tambahan dijalankan. Contoh :
Ubah data
Mengelola data
2. Activity Diagram
Activity diagram adalah diagram yang digunakan untuk menggambarkan aliran proses bisnis, langkah-langkah dari use case, atau metode secara grafis (Whitten dan Bentley, 2007 : 390).
Tabel 2.3 Simbol Activity Diagram
Simbol Deskripsi
Status awal Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal
<<include>>
b. Include berarti use case yang tambahan akan selalun melakukan pengecekan apakah use case yang ditambahkan telah dijalankan sebelum use case tambahan dijalankan, contoh :
<<include>>
Validasi username
Login
Ubah data Validasi user
Simbol Deskripsi
Aktivitas Aktivitas yang dilakukan sistem,
aktivitas biasanya diawali dengan kata kerja
Percabangan / decision Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu
Penggabungan / join Asosiasi penggabungan dimana lebih dari aktivitas digabungkan jadi satu
Status akhir Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir
Swimlane
Nama swimlane
Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktivitas yang terjadi
3. Class Diagram
Class diagram adalah penggambaran grafis dari struktur objek statis sistem yang menunjukkan kelas objek bahwa sistem terdiri dari hubungan antara kelas objek. Di dalam class diagram terdapat multiplicity, generalization / specialization relationships, dan aggregation relationships (Whitten dan Bentley, 2007 : 400).
4. Sequence Diagram
Sequence diagram adalah diagram UML yang menggambarkan interaksi pesan antara objek dalam urutan waktu (Whitten dan Bentley, 2007 : 659).
2.10 Web Database 2.10.1 Internet
Internet adalah jaringan komputer di seluruh dunia yang menghubungkan ratusan bahkan ribuan jaringan yang lebih kecil, misalnya jaringan pendidikan, komersial, nirlaba, militer dan jaringan individual (Williams dan Sawyer, 2007 : 17).
2.10.2 Web
Web adalah sistem interkoneksi komputer internet (disebut server) yang mendukung dokumen–dokumen berformat multimedia (Williams dan Sawyer, 2007 : 17).
.
2.10.3 Keuntungan dan Kerugian Web Database Keuntungan dari Web Database : 1. Biaya yang diperlukan sedikit 2. Bisa diakses dimana dan kapan saja 3. Menghemat waktu
4. Tampilan web yang user-friendly
Kerugian dari Web Database : 1. Informasi yang diperoleh sedikit
2. Terbatas dalam interaksi dengan pelanggan
2.11 Penerapan Delapan Aturan Emas
Menurut Benn Shneiderman dan Catherine Plaisant (2010 : 88), ada delapan aturan emas yang digunakan untuk merancang web, antara lain :
1. Berusaha untuk konsisten
2. Cater untuk kegunaan yang universal 3. Menawarkan umpan balik yang informatif
4. Dialog desain untuk menghasilkan penutupan 5. Mencegah kesalahan
6. Pembalikan aksi yang mudah 7. Mendukung pusat kendali internal
8. Mengurangi beban ingatan jangka pendek
2.12 Lima Faktor Manusia Terukur
Menurut Benn Shneiderman dan Catherine Plaisant (2010 : 32), terdapat lima faktor manusia terukur yang digunakan untuk merancang user interface yang user friendly :
1. Waktu pembelajaran
Seberapa lama waktu yang diperlukan untuk pengguna untuk mempelajari tindakan yang relevan dalam menyelesaikan tugas. 2. Kecepatan kinerja
Seberapa lama waktu yang diperlukan untuk menyelesaikan suatu tugas.
3. Tingkat kesalahan pengguna
Seberapa banyak kesalahan dan apa jenis kesalahan yang dilakukan pengguna dalam menyelesaikan tugas.
4. Daya ingatan jangka panjang
Seberapa baik pengguna mempertahankan pengetahuan mereka setelah dalam jangka waktu tertentu.
5. Kepuasan subjektif
Seberapa besar kepuasaan pengguna terhadap tampilan antarmuka yang dinilai dari beberapa aspek.
2.13 Pembelian
Menurut Lilis Puspitawati dan Sri Dewi Anggadini (2011 : 175), pembelian disebut dengan prokuremen. Prokuremen merupakan proses bisnis yang diawali dengan pemilihan sumber daya, aktivitas pembuatan order, dan perolehan barang dan jasa dari pemasok yang dilakukan oleh perusahaan.
2.14 Persediaan
Persediaan adalah sejumlah barang atau bahan yang dimiliki oleh perusahaan yang tujuannya untuk dijual dan atau diolah kembali (Sutrisno, 2013 : 89).
Menurut Weygandt, Kimmel dan Keiso (2011 : 250), klasifikasi persediaan terbagi atas tiga kategori yaitu :
1. Persediaan barang jadi yaitu barang pabrik yang telah selesai dan siap untuk dijual.
2. Persediaan bahan setengah jadi yaitu bagian dari persediaan pabrik yang ditempatkan ke dalam proses produksi tetapi belum selesai. 3. Persediaan bahan baku adalah barang-barang dasar yang akan
digunakan dalam produksi tetapi belum ditempatkan ke dalam produksi.
2.15 Penjualan
Menurut Lilis Puspitawati dan Sri Dewi Anggadini (2011 : 165), penjualan merupakan aktivitas memperjualbelikan barang dan jasa kepada konsumen. Penjualan dapat dilakukan secara tunai (menerima uang pada saat transaksi) dan kredit (tagihan pembeli).
2.16 Hasil Penelitian / Produk Sebelumnya
Artikel ilmiah yang mempunyai keterkaitan dengan topik database pada skripsi ini, yang pertama yaitu berjudul Sistem Informasi Perencanaan Persediaan Barang dan yang kedua berjudul Rancang Bangun Sistem Informasi Penjualan dan Pembelian Koperasi Mahasiswa.
SISTEM INFORMASI PERENCANAAN PERSEDIAAN BARANG PT. Panamas Dwitama Distrindo adalah perusahaan yang bergerak dalam bidang jasa yang berperan sebagai distributor barang dan berlokasi di Jl. Dr.Soetomo no. 109 Kalisat Jember. Barang yang didistribusikan adalah produk-produk dari PT. Unilever Indonesia yaitu parfum, sabun, dan makanan yang jumlahnya mencapai ribuan. Perusahaan melakukan distribusi barang melalui saluran distribusi yaitu sales center. Pada saat ini perusahaan melakukan perhitungan untuk pemenuhan persediaan dan melakukan pencatatan transaksi
menggunakan Microsoft Excel. Perusahaan melakukan pemesanan barang kepada supplier (PT. Unilever Indonesia) setiap bulan, jumlah pemesanan berdasarkan atas rata-rata penjualan per bulan.
Permasalah yang terjadi pada perusahaan disebabkan karena perusahaan mengalami kesulitan dalam menentukan stok minimum tiap barang yang harus dipenuhi, menentukan waktu pemesanan kembali, dan menentukan berapa jumlah pesanan barang yang sesuai. Untuk dapat mengatasi permasalahan yang terjadi, maka perusahaan membutuhkan suatu sistem perencanaan persediaan barang yang lebih baik agar perusahaan tidak lagi mengalami masalah kekurangan atau kelebihan dalam pemenuhan persediaan barang.
Salah satu metode manajemen persediaan adalah metode Economic Order Quantity (EOQ). Metode EOQ digunakan untuk menentukan kuantitas pesanan persediaan yang meminimumkan biaya penyimpanan dan pemesanan barang persediaan.
Berdasarkan hasil uji coba dan analisis yang telah dilakukan, aplikasi tersebut dapat memberikan solusi kepada perusahaan untuk menentukan jumlah pemesanan barang yang optimal dan ekonomis, aplikasi tersebut dapat memberikan solusi kepada perusahaan untuk menentukan kapan harus melakukan pemesanan barang, dan metode Economic Order Quantity dapat mengoptimalkan pengadaan barang persediaan dan dapat meminimalkan biaya persediaan. Reorder point dapat memonitor barang persediaan, sehingga pada saat melakukan pemesanan barang kembali barang yang dipesan akan tiba tepat waktu.
RANCANG BANGUN SISTEM INFORMASI PERMINTAAN PEMBELIAN BARANG BERBASIS WEB
DI STMIK STIKOM SURABAYA
STMIK STIKOM Surabaya merupakan sekolah tinggi yang bergerak di bidang pendidikan tinggi komputer. Struktur organisasi yang dimiliki STMIK STIKOM Surabaya dipimpin oleh ketua dan beberapa wakil ketua yang memimpin beberapa bagian yang mendukung proses operasional. Salah satu bagian yang mendukung proses operasional adalah bagian pengadaan barang dari bagian Administrasi Umum (AU). Pengadaan barang meliputi dua jenis barang yang dibedakan, yaitu barang investasi dan barang supplies.
Permasalahan yang selama ini terjadi adalah persetujuan permintaan yang dilakukan dengan cara menandatangani form permintaan. Untuk menandatangani form tersebut diperlukan keberadaan orang yang bersangkutan, sedangkan orang yang bersangkutan tidak selalu berada di tempat. Permasalahan berikutnya adalah tidak adanya data atau laporan tentang permintaan pembelian barang dan permintaan supplies tiap periode, stock supplies di gudang serta rekap data supplies berdasarkan data dari form yang telah diisi oleh setiap bagian sehingga kurang efisien dalam hal penghematan biaya, pengeluaran alat tulis kantor, dan penghematan waktu. Dengan adanya sistem yang terkomputerisasi, maka orang yang bersangkutan dapat memberikan persetujuan permintaan barang dari tempat manapun dengan akses internet dan diberi fasilitas tanda tangan digital sebagai tanda pengesahan bahwa orang tersebut setuju dan mengakui isi dari dokumen yang ditandatangani.
Metode yang digunakan yaitu Algoritma Rijndael dan System Development Life Cycle. Perancangan sistem dilakukan dengan membuat sistem flow permintaan pembelian barang, blok diagram, context diagram, conceptual data model, dan physical data model. Blok diagram terdiri dari input, proses, dan output. Conceptual Data Model (CDM) menggambarkan keseluruhan konsep struktur basis data. Phyical Data Model (PDM) mengambarkan secara detil konsep rancangan struktur basis data.
Berdasarkan hasil evaluasi uji coba sistem dan pengguna yang telah dilakukan, sistem tersebut telah mampu menghasilkan rancangan sistem informasi yang dapat mengelola permintaan pembelian barang dengan tanda tangan digital.