BAB 2 LANDASAN TEORI
2.1.
Teori-teori Dasar/Umum Dalam teori dasar/umum penulis menyajikan teori-teori umum yang berkaitan dengan topik dalam penulisan Laporan Tugas Akhir ini, yang meliputi sistem, informasi, data, database, dan hal-hal lain yang berkaitan dengan database.
2.1.1. Sistem Sistem adalah suatu kesatuan yang terdiri komponen yang dihubungkan bersamaan untuk memudahkan aliran informasi, materi atau energi untuk mencapai suatu tujuan. Menurut Satzinger, et al (2005, p6) sistem merupakan kumpulan komponen sistem yang berhubungan dan berfungsi secara bersama untuk mencapai hasil akhir. Juga menurut O’Brien (2006, p29) sistem merupakan sekelompok komponen yang saling berhubungan untuk bekerja secara bersamaan demi mencapai tujuan bersama melalui suatu input serta menghasilkan output dalam suatu proses transformasi yang teratur. Komponen-komponen dasar di dalam suatu sistem adalah sebagai berikut: •
Input,
yakni
bagian
dari
sistem
yang
mencakup
keseluruhan elemen yang hendak dimasukkan kedalam sistem untuk diproses. •
Proses, merupakan bagian sistem yang melakukan transformasi untuk mengubah input menjadi output.
•
Output adalah bagian dari sistem yang merupakan hasil input yang telah diproses oleh sistem menjadi suatu tujuan akhir.
Menurut O’Brien (2006, p29), suatu sistem dilengkapi pula dengan dua komponen tambahan untuk menjadikan sistem tersebut lebih baik, yakni feedback dan control. Feedback adalah data 9
10
mengenai kinerja sistem selama suatu kurun waktu tertentu dimana sistem
berjalan.
Sedangkan control
adalah pengawasan dan
pengevaluasian dari feedback untuk mengarahkan sistem agar beroperasi sesuai dengan tujuannya.
2.1.2. Informasi Informasi adalah kumpulan data yang sudah melewati berbagai proses yang menghasilkan sesuatu yang berguna. Menurut Rainer, R.K. dan Cegielski, C.G. (2011, p10), informasi adalah kumpulan data yang telah diolah sehingga mampu memberikan pengertian terhadap suatu hal. Data merupakan deskripsi dasar atas suatu hal, kejadian, aktivitas atau transaksi yang direkam, diklasifikasikan, dan disimpan namun tidak diorganisasikan untuk menjelaskan suatu hal yang terperinci. Kumpulan data dan/atau informasi membentuk suatu pengetahuan yang mampu memberikan definisi terhadap suatu hal, namun lebih terperinci. Sedangkan menurut O’Brien (2006, p34), informasi adalah data yang telah dikonversi menjadi suatu konteks yang berarti dan berguna untuk pengguna akhir. Jadi dapat disimpulkan, bahwa informasi adalah bentuk keluaran dari hasil pengolahan data yang bernilai bagi setiap pihak yang menggunakannya. Suatu informasi harus memiliki berbagai kriteria sebagai berikut: •
Relevan, yakni informasi harus berasal dari fakta-fakta yang dapat dibuktikan kebenarannya, serta berhubungan dengan suatu keputusan yang akan diambil untuk mencapai tujuan yang telah ditetapkan.
•
Akurat, yakni informasi harus dapat diandalkan, dan disajikan secara tepat.
•
Jangkauan, yakni informasi harus meliputi semua fakta yang terjangkau atau dapat diliput dan terkait dengan apa yang ingin disampaikan.
•
Ringkas, yakni informasi memiliki dan dapat dibuat kesimpulannya.
11
•
Terukur, yakni informasi dapat menunjukkan nilai atau kadar kuantitatif yang dapat diukur.
•
Tepat Waktu, yakni informasi yang akan dibagikan tidak boleh terlambat, karena informasi yang terlambat memiliki nilai yang kurang.
2.1.3. Sistem Informasi Pengertian sistem informasi menurut Satzinger, et al (2005, p7)
adalah
sekumpulan
komponen
sistem
yang
berfungsi
mengumpulkan, mengolah, menyimpan dan menyediakan informasi yang dibutuhkan untuk menyelesaikan suatu proses bisnis. Juga menurut O’Brien (2006, p4), sistem informasi merupakan kombinasi dari manusia, hardware, software, jaringan komunikasi dan sumber data yang mengumpulkan, mengubah, dan berbagi informasi di dalam sebuah organisasi. Sedangkan Sistem informasi menurut Rainer, R.K. dan Cegielski, C.G. (2011, p7) adalah sistem yang terkait untuk perencanaan, pengembangan, pengaturan, dan penggunaan teknologi informasi untuk membantu organisasi dalam mengerjakan segala tugas terkait pengelolaan dan manajemen informasi dari organisasi tersebut. Dari pengertian-pengertian diatas, dapat disimpulkan bahwa sistem informasi adalah kumpulan dari komponen-komponen yang terintegrasi, yang mengolah data menjadi suatu informasi yang berguna bagi kepentingan organisasi. Tipe-tipe sistem informasi menurut Satzinger, et al (2005, p8-p10) dapat dibedakan menjadi sejumlah hal sebagai berikut: i. Transaction Processing System (TPS) TPS merupakan sistem informasi yang berfungsi menangkap dan menyimpan informasi-informasi mengenai transaksi yang berpengaruh bagi organisasi. ii. Management Information System (MIS) MIS adalah sistem informasi yang mengelola data dari TPS dan membuat laporan yang dibutuhkan pihak manajemen
12
untuk melakukan perencanaan dan pengaturan terhadap proses bisnis yang ada. iii. Executive Information System (EIS) EIS yakni sistem informasi yang digunakan oleh pihak eksekutif untuk pengawasan lingkungan yang kompetitif dan untuk perencanaan strategis. iv. Decision Support System (DSS) DSS adalah sistem pendukung yang memungkinkan pengguna untuk mengetahui dampak dari tiap pilihan/keputusan yang ada. v. Communication Support System Communication Support System adalah sistem pendukung yang memungkinkan para pekerja di dalam suatu organisasi untuk dapat berkomunikasi satu dengan yang lain, dan juga dengan para client dan para supplier. vi. Office Support System Office Support System adalah sistem pendukung yang membantu para pekerja dalam suatu organisasi untuk membuat dan berbagi dokumen, seperti laporan, proposal dan catatan.
2.1.4. Fact Finding Technique Menurut Connoly & Begg, (2010, p. 341) bahwa Fact Finding Technique adalah proses formal dalam penggunaan teknik seperti wawancara dan kuesioner untuk mengumpulkan fakta-fakta mengenai sistem, kebutuhan, dan pengaturan. Pengembangan database pada umumya menggunakan beberapa Fact Finding Technique dalam sebuah proyek database. Berikut lima teknik yang biasa digunakan : • Examining Documentation Examining Documentation dapat dilakukan dengan memeriksa dokumen,
formulir,
laporan,
dan
berkas-berkas
yang
berhubungan dengan sistem. Pengembang dapat dengan cepat memperoleh pengetahuan akan sistem.
13
• Interviewing Interviewing adalah metode yang paling sering digunakan dan umumnya merupakan teknik yang paling berguna. Ada dua tipe interview yang dapat dilakukan, yaitu Unstructured Interviews yang dilakukan hanya dengan berdasarkan oleh tujuan umum yang ingin dikemukakan. Yang kedua adalah Structured Interviews yaitu wawancara dengan sekumpulan pertanyaan yang spesifik untuk diajukan ke narasumber. • Observing the Enterprise in Operation Observing merupakan teknik yang paling efisien dalam memahami sebuah sistem. Dengan teknik ini, memungkinkan untuk
berpartisipasi
atau
memantau
seseorang
dalam
melakukan sebuah pekerjaan dalam tujuan memperlajari sistem. • Research Research dilakukan dengan melakukan penelitian terhadap aplikasi dan masalah yang muncul dengan cara mencari informasi dari buku-buku referensi, jurnal, maupun melalui internet. • Questionaires Kuesioner merupakan dokumen yang memiliki tujuan khusus yang memungkinkan fakta dikumpulkan dari responden dalam jumlah besar. Ada dua jenis pertanyaan yang dapat ditanyakan dalam kuesioner, yaitu free format questions dan fixed format questions. Free format questions mengedepankan kebebasan responden dalam menjawab pertanyaan.
Fixed format
questions menginginkan jawaban yang sudah diarahkan sebelumnya sehingga responden hanya menjawab dengan memilih jawaban yang paling sesuai dari beberapa jawaban yang telah disediakan.
14
2.1.5. Data Data adalah kumpulan dari fakta-fakta. Data bisa berwujud sebagai suatu keadaan, gambar, suara, huruf, angka, matematika, bahasa ataupun simbol-simbol lainnya yang bisa kita gunakan sebagai bahan untuk melihat lingkungan, objek, kejadian ataupun suatu konsep. Pengertian data juga di perkuat oleh Connolly & Begg (2010, p7) yang mengemukakan bahwa data merupakan bagian terpenting dari komponen suatu database. Data merepresentasikan objek dan kejadian serta nilai yang tersimpan sehingga memiliki arti dan kepentingan kepada penggunanya. Data terdiri dari fakta-fakta dan angka-angka yang secara relatif tidak memiliki arti bagi user atau fakta mentah yang belum diolah.
2.1.6. File Based System File Based System adalah himpunan dari sejumlah program aplikasi yang memberikan sejumlah layanan pada pengguna akhir dalam bentuk laporan-laporan. Hal ini juga disampaikan oleh Conolly (2010, p57) yang mengatakan definisi dari File Based System adalah kumpulan dari aplikasi program yang dapat membantu pengguna akhir, seperti pembuatan laporan. Setiap program menampilkan dan mengatur datanya sendiri.
2.1.7. Database Database adalah kumpulan data yang saling berhubungan yang disimpan secara bersamaan sedemikian rupa dan tanpa pengulangan yang tidak perlu, untuk memenuhi berbagai kebutuhan. Hal ini juga disampaikan oleh Connolly & Begg (2010, p65), yang mengatakan bahwa database adalah sekumpulan data yang berserta deskripsinya yang saling berhubungan secara logis, serta didesain untuk memenuhi kebutuhan informasi suatu perusahaan. Sedangkan database menurut Satzinger, et al (p398, 2005) adalah suatu kumpulan dari data-data yang disimpan, terintegrasi, dikelola dan dikontrol secara terpusat.
15
2.1.8. Database Management System (DBMS) Menurut Connolly & Begg (2010, p66), DBMS adalah suatu sistem software yang memberikan kebebasan pada user untuk mendefinisikan, membuat, memelihara dan mengontrol akses ke database. Sedangkan menurut Satzinger, et al (2005, p398) DBMS merupakan suatu sistem piranti lunak yang melakukan pengelolaan dan kontrol tiap-tiap akses yang dilakukan pada database. Menurut Connolly dan Begg, (Connoly & Begg, 2010, p. 127), komponen dari sebuah DBMS adalah sebagai berikut : •
Query Processor : Merupakan komponen DBMS yang utama yang mengubah query ke dalam seperangkat instruksi tingkat rendah langsung ke database manager.
•
Database Manager :Database Manager menghubungkan program
aplikasi
user-submitted dan
query. Database
Managermenerimaquery dan memeriksa skema eksternal dan konseptual untuk menentukan record konseptual apa yang diperlukan untuk memuaskan permintaan. •
File Manager :File Manager memanipulasi penyimpanan file dan mengatur penempatan ruang penyimpanan dalam disk. Komponen ini mendirikan dan memelihara daftar struktur dan indeks yang didefinisikan dalam skema internal.
•
DML Preprocessor : Modul ini mengubah pernyataan DML yang tertanam dalam program aplikasi ke dalam penggilan fungsi standard dalam host language. Komponen ini harus berinteraksi dengan query processor untuk membuat kode yang sesuai.
•
DDL Compiler : Modul ini mengubah pernyataan DDL ke dalam seperangkat tabel berisi metadata. Tabel ini kemudian disimpan dalam katalog sistem sementara itu informasi kendali disimpan dalam handler file data.
•
Catalog Manager : Mengatur akses dan memelihara katalog sistem. Katalog sistem diakses oleh sebagian besar komponen DBMS.
16
2.1.8.1. Fungsi Database Management System Menurut Connolly dan Begg, (2010, p.99) fungsi DBMS adalah sebagai berikut : • Penyimpanan, pengambilan, dan pembaharuan data Sebuah
DBMS
harus
menyediakan
sebuah
kemampuan untuk menyimpan, mengambil, dan membaharui data dalam DBMS. Ini merupakan fungsi yang mendasar dari DBMS. Dalam menyediakan fungsi ini DBMS harus menyembunyikan detil implementasi fisikal internal seperti organisasi file dan struktur penyimpanan dari pengguna. • Katalog User-Accesible Sebuah DBMS harus menyediakan sebuah katalog yang menyimpan gambaran tentang item data dan mudah diakses oleh pengguna. Menurut Connolly dan Begg (2010, p. 100) katalog sistem merupakan tempat penyimpanan informasi yang menjelaskan data dalam database, yaitu metadata atau data tentang data. Katalog sistem menyimpan informasi seperti berikut: o Nama, jenis, dan ukuran data o Nama relationship o Batasan integritas ada data o Nama
pengguna
yang
berotoritas
yang
mempunyai akses pada data o Skema eksternal, konseptual, dan internal dan pemetaan antara skema. o Pengguna
statistik,
seperti
frekuensi
dan
perhitungan sejumlah akses yang dibuat pada objek dalam database. • Mendukung Transaksi Sebuah DBMS harus menyediakan mekanisme yang akan memastikan bahwa semua kegiatan update yang
17
dilakukan sesuai dengan transaksi yang diberikan atau tidak ada kegiatan update yang dibuat bagi transaksi tersebut. Transaksi merupakan sederetan tindakan yang dilakukan oleh pengguna tunggal atau program aplikasi yang mengakses atau mengubah isi database. • Layanan
Kendali
Concurrency
Sebuah DBMS harus menyediakan sebuah mekanisme untuk memastikan bahwa database diperbaharui dengan benar ketika banyak pengguna memperbaharui database secara bersama-sama. Akses bersama relatif mudah jika semua pengguna hanya membaca data. Namun ketika dua atau lebih pengguna mengakses database secara serentak dan paling sedikit satu dari mereka memperbaharui data, disana dapat terjadi gangguan yang menghasilkan ketidakkonsistenan. • Layanan Perbaikan Sebuah DBMS harus menyediakan sebuah mekanisme untuk
memperbaiki
database
disaat
database
mengalami kerusakan dalam berbagai cara. Kerusakan database dapat diakibatkan karena kerusakan sistem, kesalahan media, dan kesalahan software atau hardware. Atau disebabkan karena adanya kesalahan selama proses transaksi dan penyelesaian transaksi yang tidak lengkap. • Layanan Authorisasi Sebuah DBMS harus meyediakan sebuah mekanisme untuk memastikan bahwa hanya pengguna yang berotoritas yang dapat mengakses database. Hal ini untuk mencegah data yang tersimpan tak terlihat oleh semua pengguna dan melindungi database dari akses yang tak berotoritas. • Mendukung Komunikasi Data Sebuah DBMS harus mampu diintegrasikan dengan
18
software
komunikasi.
mengakses
database
Kebanyakan dari
pengguna
workstation.
Kadang
workstation tersebut terhubung secara langsung ke komputer DBMS. Dalam kasus yang lain, workstation berada pada lokasi yang jauh dan berkomunikasi dengan komputer DBMS melalui jaringan. Dalam hal ini DBMS menerima permintaan sebagai pesan komunikasi dan menanggapi dengan cara yang sama. Semua
pengiriman
ini
ditangani
oleh
Data
Communication Manager. • Layanan Integritas Sebuah DBMS harus menyediakan sebuah arti untuk memastikan bahwa data di dalam database dan perubahan pada data mengikuti aturan tertentu. Integritas database dapat mengacu pada kebenaran dan konsistensi data yang disimpan. Integritas berhubungan dengan kualitas data yang disimpan. Integritas biasanya diekspresikan dengan istilah batasan, yaitu berupa aturan konsisten yang tidak boleh dilanggar oleh database. • Layanan Peningkatan Keterbebasan Data Sebuah DBMS harus memasukkan sebuah fasilitas untuk mendukung keterbebasan program dari struktur database
yang
sebenarnya.
Data
independence
biasanya dicapai melalui sebuah view atau mekanisme subskema. Physical atau independence lebih mudah untuk
dicapai
karena
terdapat
beberapa
jenis
perubahan yang dapat dibuat untuk karakteristik fisikal dari database tanpa mempengaruhi view. Bagaimanapun
data
independence
logikal yang
lengkap lebih susah untuk dicapai. • Layanan Utilitas Sebuah DBMS harus menyediakan seperangkat
19
layanan utilitas. Program utilitas membantu DBA mengelola database secara efektif. Beberapa utilitas bekerja pada tingkat eksternal, dan konsekuensinya dapat dibuat oleh DBA, yang lainnya bekerja pada tingkat internal dan dapat disediakan hanya dengan vendor DBMS. Contoh dari utilitas tersbut antara lain: o Fasilitas import, untuk memuat database dari flat
file,
dan
fasilitas
eksport
untuk
memuatdatabase pada flat file. o Fasilitas
pemantauan,
untuk
memantau
penggunaan dan operasi database. o Program analisa statistik, untuk memeriksa kinerja dan penggunaan statistik. o Fasilitas penyusunan indeks, untuk menyusun kembali indeks dan overflow mereka. Penempatan dan pengumpulan sampah, untuk menghilangkan record yang dihapus secara fisik dari alat penyimpanan, untuk menggabungkan ruang yang terlepas dan untuk menempatkan kembali record tersebut dimana ia dibutuhkan.
2.1.8.2. Keuntungan dan kerugian Database Management System Menurut Conolly (2010, p77) manajemen basis data memiliki banyak potensi yang menjanjikan, tetapi juga memiliki beberapa kelemahan. Berikut adalah beberapa kelemahan dan kelebihan dari manajamen basis data. Kelebihan yang dimiliki oleh Sistem Manajemen Basis Data: •
Control of Data Redudancy File-based system banyak memakan ruang dengan menyimpan informasi sama di dalam satu berkas atau lebih.
20
•
Data Consistency Dengan menghilangkan atau mengendalikan redudansi, akan mengurangi resiko adanya ketidakstablian data.
•
Banyak informasi dari jumlah data yang sama Dengan mengintegrasikan data operasional, maka memungkinkan organisasi untuk mendapat informasi dari data yang sama.
Kekurangan yang dimiliki oleh Sistem Manajemen Basis Data: •
Complexity Ketentuan dari fungsi yang diharapkan dari DBMS yang bagus membuatnya menjadi sistem yang rumit.
•
Size Kerumitan dan banyaknya hal yang bisa dikerjakan membuat DBMS menjadi software yang besar.
•
Cost of DBMS Harga untuk DBMS yang besar cukup mahal, berkisar antara $100,000 sampai dengan $1,000,000
•
Performance DBMS mencakup banyak aplikasi, sehingga beberapa aplikasi mungkin akan berjalan lebih lambat.
2.1.9. Database System Development Lifecycle Menurut Connoly dan Begg (2010, p313), sebuah sistem database merupakan komponen dasar sistem informasi organisasi yang lebih besar sehingga siklus hidup aplikasi database berhubungan dengan siklus hidup sistem informasi. Tahapan-tahapan siklus hidup aplikasi adalah sebagaimana terlihat pada gambar berikut :
21
Gambar 2.1 Database Lifecycle (Sumber : Connoly, 2010, p314) Dari Jurnal Irena Valova (2013), juga dikatakan proses desain basis data bisa diringkas menjadi 4 tahap yaitu analysis of the requirement, definition of the conceptual schema, definition of logical schema, dan definition of physical schema.
22
2.1.9.1. Database Planning Menurut Connoly & Begg, (2010, p. 313), Database Planning
merupakan
aktifitas-aktifitas
menejerial
yang
mengizinkan tahapan-tahapan dalam pembuatan database agar dapat terealisasi seefisien dan seefektif mungkin. Database Planning harus terintegrasi dengan seluruh IS Strategy pada perusahaan.
2.1.9.2. System Definition Menurut Connoly & Begg, (2010, p. 316), System Definition menjelaskan ruang lingkup serta batasan-batasan dari sistem database dan user views secara umum.
2.1.9.3. Requirement Collection and Analysis Menurut Requirement
Connoly
Collection
&
Begg,
and
(2010,
Analysis
p.
adalah
317), proses
pengumpulan dan penganalisaan informasi mengenai bagian dari
perusahaan
database,
yang
dan
menidentifikasi
menbutuhkan
mengunakan kebutuhan
dukungan
informasi
dari
sistem
sistem
ini
untuk
yang
baru.
Pengumpulan data ini dilakukan dengan menggunakan teknik fact finding.
2.1.9.4. Database Design Menurut Connoly & Begg, (2010, p. 320), Database Design adalah proses pembuatan sebuah rancangan yang akan mendukung misi dan tujuan perusahaan tentang kebutuhan akan sistem database. Ada beberapa fase dalam perancangan database, antara lain : •
Conceptual Database Design Conceptual
database
design
adalah
proses
pembangunan sebuah model data yang digunakan
23
dalam
perusahaaan,
tidak
termasuk
dalamnya
pertimbangan fisik. •
Logical Database Design Logical
database
design
adalah sebuah
proses
pembangunan model data untuk perusahaan dengan lebih spesifik mengenai data model. •
Physical Database Design Physical database design merupakan proses penciptaan penjabaran mengenai implementasi dari database.
2.1.9.5. DBMS Selection Menurut Connoly & Begg, (2010, p. 325), DBMS selection adalah tahapan dimana dilakukan pemilihan atas DBMS untuk mendukung sistem database.
2.1.9.6. Application Design Menurut Connoly & Begg, (2010, p. 329), Application Design adalah rancangan dari user interface dan program aplikasi yang menggunakan dan memproses database. Sebuah aplikasi program harus bias menangani kegiatan yang berhubungan dengan
transaksi
perusahaan. Transaction
merupakan sebuah kegiatan atau rangkaian kegiatan yang dihasilkan oleh pengguna tunggal maupun program aplikasi yang mengakses atau melakukan perubahan atas konten dari database.
2.1.9.7. Prototyping Menurut Connoly & Begg, (2010, p. 333), Prototyping adalah proses pembuatan model yang dapat digunakan dari sistem database yang direncanakan, proses prototyping dilakukan agar pengguna dapat mengidentifikasi kebutuhan akhir dari sistem database yang kurang.
24
2.1.9.8. Implementation Menurut
Connoly
&
Begg,
(2010,
p.
334),
Implementasi merupakan realisasi fisik dari perancangan database serta aplikasi pada perusahaan.
2.1.9.9. Data Conversion and Loading Menurut Connoly & Begg, (2010, p. 334), Data Conversion and Loading merupakan kegiatan pemindahan data yang sudah ada ke dalam database dan melakukan prubahan dari aplikasi yang sudah ada agar dapat berjalan pada database yang baru.
2.1.9.10. Testing Menurut Connoly & Begg, (2010, p. 335), Testing adalah proses untuk menjalankan sistem database dengan tujuan untuk mencari kesalahan yang mugkin ada dala aplikasi maupun sistem database yang baru agar dapat berjalan dengan baik.
2.1.9.11. Operational Maintenance Menurut Connoly & Begg, (2010, p. 336), Operational Maintenance
merupakan
proses
pengawasan
serta
pemeliharaan terhadap sistem database.
2.1.10. Pengertian Normalisasi Normalisasi merupakan sebuah teknik dalam perancangan logikal sebuah basis data, teknik pengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redundansi). Menurut Connolly dan Begg (2010, p416), pengertian normalisasi adalah teknik untuk menghasilkan sejumlah relasi table dengan properties yang diinginkan, sesuai dengan kebutuhan data dari perusahaan.
25
Dengan kata lain normalisasi merupakan proses mengubah suatu relasi yang memiliki masalah tertentu ke dalam dua relasi atau lebih yang tidak memiliki masalah tersebut. Masalah yang dimaksud itu sering disebut dengan istilah anomali.
2.1.10.1. Data Redundancy and Update Anomaly Anomali adalah efek samping yang tidak diharapkan (misalnya menyebabkan inconsistency (tidak konsisten) data atau membuat suatu data menjadi hilang saat data lain dihapus) yang muncul dalam suatu proses perancangan basis data. Suatu tujuan desain database relational yang utama adalah menggolongkan atribut ke dalam hubungan-hubungan untuk memperkecil data redundancy dan dengan demikian mengurangi tempat penyimpanan file yang diperlukan oleh hubungan-hubungan
dasar
yang
diimplementasikan.
Hubungan-hubungan yang memiliki data redundan mungkin memiliki masalah yang disebut update anomalies, yang diklasifikasikan sebagai insertion, deletion, atau modification anomalies
2.1.10.2. Functional Dependency Functional Dependency (ketergantungan fungsional) menguraikan hubungan antara atribut-atribut dalam sebuah relasi. Sebagai contoh, jika A dan B adalah relasi R, B adalah secara fungsional bergantung kepada A (A−>B), jika setiap nilai dari A diasosiasikan dengan tepat satu nilai dari B. (A dan B masing- masing boleh dari satu atau lebih atribut).
2.1.10.3. Bentuk Normal Normalisasi sering dieksekusi sebagai langkah-langkah yang berangkai/berseri. Bentuk normal adalah suatu aturan yang dikenakan pada relasi-relasi dalam basis data dan harus dipenuhi
oleh
relasi-relasi
tersebut
pada
tingkatan
26
normalisasi. Suatu relasi dikatakan berada dalam bentuk normal tertentu jika memenuhi kondisi-kondisi tertentu. Beberapa
tingkatan
yang
biasa
digunakan
pada
normalisasi adalah: 1. UNF Sebelum membahas bentuk normal yang pertama, kita
mendefinisikan
normal
form
awal
yaitu
Unnormalized Form (UNF). UNF adalah sebuah tabel yang berisi satu atau lebih kelompok data yang berulang. 2.
Bentuk normal pertama (1NF) Bentuk normal pertama adalah hubungan dimana persimpangan dari setiap baris dan kolom berisi satu dan hanya satu nilai. Atau dengan kata lain, pada 1NF kita menghilangkan repetisi dan data yang merupakan hasil kalkulasi.
3. Bentuk normal kedua (2NF) Bentuk normal kedua didefinisikan berdasarkan ketergantungan fungsional penuh (Full Functional Dependency). Full Functional Dependency menandai bahwa jika A dan B adalah atribut dari sebuah relasi, B adalah penuh secara fungsional tergantung pada A jika B adalah secara fungsional tergantung pada A, tetapitidak pada semua subset dari A. Sedangkan 2NF adalah sebuah relasi antara bentuk normal pertama, dan setiap atribut bukan primary
key
adalah
penuh
secara
fungsional
bergantung pada primary key. Atau dengan kata lain, pada 2NF kita menghilangkan ketergantungan partial. 4. Bentuk normal ketiga (3NF) Bentuk normal ketiga didefinisikan berdasarkan ketergantungan transitif (Transitive Dependency). Transitive Dependency adalah sebuah kondisi
27
dimana A, B, dan C adalah atribut-atribut dari relasi seperti jika A−>B dan B−>C, maka C secara transitif bergantung pada A melalui B. (Dengan ketentuan bahwa A tidak secara fungsional bergantung pada B atau C). Sedangkan 3NF adalah sebuah relasi antara bentuk dan bentuk kedua, dan dimana tidak ada atribut yang bukan primary key secara transitif bergantung pada primary key. 5. Bentuk normal Boyce-Codd (BCNF) Menurut Connoly dan Begg (2010, p398) suatu relasi disebut memenuhi bentuk normal Boyce-Codd jika dan hanya jika semua penentu (determinan) adalah candidate key. BCNF merupakan bentuk normal sebagai perbaikan terhadap 3NF karena bentuk normal ketiga berkemungkinan masih memiliki anomali sehingga perlu dinormalisasi lebih jauh. Suatu relasi yang memenuhi BCNF selalu memenuhi 3NF, tetapi tidak untuk sebaliknya. Bentuk normal pertama hingga ketiga merupakan bentuk normal yang umum dipakai. Artinya, bahwa pada kebanyakan relasi bila ketiga bentuk normal tersebut telah dipenuhi maka persoalan anomali tidak akan muncul lagi. Bentuk normal Boyce-Codd merupakan revisi terhadap bentuk normal ketiga. Bentuk normal keempat (4NF) dan kelima (5NF) hanya dipakai pada kasus-kasus khusus, yakni pada relasi yang mengandung banyak ketergantungan nilai.
2.1.11. Entity Relationship Modelling Menurut Connoly dan Begg (2010, p371), Salah satu aspek yang sulit dalam perancangan database adalah kenyataan bahwa perancang, programmer, dan pemakai akhir cenderung melihat data
28
dengan cara yang berbeda. Untuk memastikan pemahaman secara alamiah dari data dan bagaimana data digunakan oleh perusahaan dibutuhkan sebuah bentuk komunikasi yang non-teknis dan bebas dari kebingungan.
2.1.11.1. Entity Type Menurut Connoly dan Begg (2010, p372), Entity Type adalah kumpulan objek-objek yang berproperti sama, dimana properti tersebut diidentifikasikan memiliki keberadaan yang bebas.
Gambar 2.2 Representasi Diagram dari Tipe entity (Sumber : Connoly, 2010, p374)
2.1.11.2. Attribute Menurut Connoly dan Begg (2010, p379), atribut adalah sifat dari sebuah entity atau sebuah tipe relationship. Atribut menyimpan nilai dari setiap entity occurrence dan mewakili bagian utama dari data yang disimpan dalam basis data. Macam-macam atribut: 1. Simple Attribute atribut yang terdiri dari suatu komponen tunggal dengan keberadaan yang independent dan tidak dapat dibagi menjadi lebih kecil lagi. Dikenal juga dengan nama atomic attribute.
29
2. Composite attribute atribut yang terdiri dari beberapa komponen, dimana
masing-masing
komponen
memiliki
keberadaan yang independen. Misalkan atribut address dapat terdiri dari street, city, postcode. 3. Single-Valued Attribute atribut yang mempunyai nilai tunggal untuk setiap kejadian. Misalnya entitas Branch memiliki satu nilai untuk atribut BranchNo pada setia kejadian. 4. Multi-valued attribute atribut yang mempunyai beberapa nilai untuk setiap kejadian. Misal 1 karyawan memiliki lebih dari 1 no.telp. 5. Derived-attribute atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut2 lainnya, dan tidak harus berasal dari satu entitas.
2.1.11.3. Relationship Type Menurut Connoly dan Begg (2010, p376), Relationship Type adalah sekumpulan hubungan antara satu atau lebih tipetipe entity. Derajat dari relationship adalah jumlah dari partisipasi (participating) tipe entity dalam sebuah tipe relationship tertentu. Sebuah relationship berderajat dua disebut binary; relationship berderajat tiga disebut sebagai ternary; dan relationship berderajat empat disebut sebagai quarternar. Relationship digambarkan dengan sebuah garis yang menghubungkan entity yang saling berhubungan. Garis tersebut diberi nama sesuai dengan nama hubungannya dan diberi tanda panah satu arah disamping nama hubungannya.
30
Gambar 2.3 Representasi Diagram dari Relationship (Sumber : Connoly, 2010, p376)
2.1.11.4. Kunci (Key) Menurut Connoly dan Begg (2010, p150), kunci relasi sangat dibutuhkan untuk mengidentifikasi satu atau lebih atribut yang memiliki nilai unik setiap tuple dalam relasi. Macam-macam kunci relasi : 1. Kunci Sederhana (Simple Key) Kunci Sederhana adalah suatu kunci yang dibentuk oleh satu atribut. 2. Kunci Komposit (CompositeKey) Kunci Komposit adalah kunci yang disusun berdasarkan lebih dari satu atribut. 3. Kunci Kandidat (Candidate Key) Kunci Kandidat adalah suatu atribut atau satu set minimal atribut yang mengidentifikasikan secara unik suatu kejadian spesifik dari entity. 4. Kunci Primer (Primary Key) Kunci Primer adalah satu atribut atau satu set minimal atribut yang tidak hanya mengidentifikasikan secara unik suatu kejadian spesifik, tapi juga dapat mewakili setiap kejadian dari suatu entity.
31
5. Kunci Alternatif (Alternative Key) Kunci Alternatif adalah kunci kandidat yang tidak terpakai sebagai kunci primer. 6. Kunci Tamu (Foreign Key) Kunci Tamu adalah satu atribut yang melengkapi satu hubungan
(relationship)
yang
menunjukkan
ke
induknya.
Gambar 2.4 Representasi Diagram Entity Employee dan Cabang Beserta Atribut dan Primary Key (Sumber : Connoly, 2010, p382)
2.2. Teori Khusus Dalam teori khusus penulis menyajikan teori-teori khusus yang berkaitan dengan topik dalam penulisan Laporan Tugas Akhir ini, yang meliputi sistem basis data pendaftaran, sistem basis data pembayaran , sistem basis data penjadwalan, dan sistem basis data penggajian.
32
2.2.1. Pendidikan Menurut Sudarminta, (2007, p148), Pendidikan merupakan suatu perbuatan fundamental yang mengubah dan menentukan hidup manusia, yang didalamnya terkandung hubungan manusiawi yang bersifat dialogis dan dinamis antara pendidik sebagai pembimbing dan anak didik sebagai yang dibimbing. Menurut Kurnia & Suriani, (2009, p119), Pendidikan merupakan suatu interaksi antara pendidik dan peserta didik di dalam suatu masyarakat. Menurut Lembaga Bahasa Indonesia (2008), Pendidikan merupakan sebuah proses perubahan sikap atau tata laku seseorang atau kelompok orang dalam usaha mendewasakan manusia melalui upaya pengajaran dan pelatihan ; proses, cara, perbuatan mendidik. Jadi, berdasarkan beberapa pengertian diatas dapat disimpulkan bahwa pendidikan merupakan suatu interaksi antara pendidik dan peserta didik dimana pendidikan merupakan sebuah proses perubahan sikap seseorang atau sekelompok orang dalam usaha mendewasakan manusia.
2.2.2. Kurikulum Menurut Lembaga Bahasa Indonesia (2008), kurikulum merupakan perangkat mata pelajaran yang diajarkan pada lembaga pendidikan. Jadi, dapat disimpulkan bahwa kurikulum merupakan rancangan mata pelajaran yang diajarkan pada lembaga pendidikan tertentu untuk datpat dinyatakan lulus dan memperoleh ijasah.
2.2.3. Mata Pelajaran Menurut Lembaga Bahasa Indonesia (2008), mata pelajaran adalah pelajaran yang harus diajarkan (dipelajari) untuk sekolah dasar atau sekolah lanjutan
2.2.4. Pengertian Sekolah Menurut
Lembaga
Bahasa
Indonesia
(2008),
Sekolah
didefinisikan sebagai suatu bangunan atau lembaga untuk belajar dan mengajar serta tempat menerima dan memberi pelajaran. Jadi sekolah
33
adalah tempat dimana masyarakat pergi untuk belajar, atau mengajarkan berbagai macam ilmu.
2.2.5. Pengertian Administrasi Menurut Lembaga Bahasa Indonesia (2008), administrasi didefinisikan sebagai suatu usaha dan kegiatan yang meliputi penetapan tujuan serta penetapan cara-cara yang berkaitan dengan penyelengaraan pembinaan organisasi.
2.2.6. Pengertian Pendaftaran Menurut Lembaga Bahasa Indonesia (2008), kata pendaftaran di ambil dari kata dasar daftar, definisi daftar menurut Kamus Besar Bahasa Indonesia adalah catatan sejumlah nama atau hal yang disusun berderet dari atas ke bawah. Juga menurut Kamus Besar Bahasa Indonesia, pendaftaran didefinisikan sebagai suatu proses, cara, dan perbuatan mendaftar.
2.2.7. Pengertian Pembayaran Menurut Lembaga Bahasa Indonesia (2008), definisi bayar menurut Kamus Besar Bahasa Indonesia adalah suatu proses, cara, dan perbuatan membayar. Yang dimaksud dengan membayar adalah memberikan uang untuk pengganti harga barang yang diterima. Jadi Pembayaran adalah suatu kegiatan membayar, atau cara untuk membayar.
2.2.8. Pengertian Penjadwalan Menurut Lembaga Bahasa Indonesia (2008), kata penjadwalan di ambil dari kata dasar jadwal, definisi jadwal menurut Kamus Besar Bahasa Indonesia adalah pembagian waktu berdasarkan rencana pengaturan urutan kerja; daftar atau tabel kegiatan atau rencana kegiatan dengan pembagian waktu pelaksanaan yang terperinci. Dan menurut Kamus Besar Bahasa Indonesia, penjadwalan didefinisikan
34
sebagai suatu proses, cara, dan perbuatan menjadwalkan atau memasukkan dalam jadwal.
2.2.9. Pengertian Penggajian Menurut Lembaga Bahasa Indonesia (2008), kata penggajian di ambil dari kata dasar gaji, definisi gaji menurut Kamus Besar Bahasa Indonesia adalah upah kerja yang dibayar dalam waktu yang tetap; balas jasa yang diterima pekerja dalam uang berdasarkan waktu tertentu. Dan menurut Kamus Besar Bahasa Indonesia, penggajian didefinisikan sebagai suatu proses, cara, dan perbuatan membayar gaji. Menurut Warren (2005, p552), dalam akuntansi istilah gaji diartikan sebagai jumlah total yang dibayarkan pada karyawan atas jasa-jasa yang mereka berikan selama suatu periode tertentu. Dari kedua definisi tersebut kami menyimpulkan bahwa gaji adalah sejumlah uang yang diberikan kepada seseorang, atas segala jasa yang mereka lakukan, dan diberikan dalam periode yang sudah ditetapkan.
2.2.10. Tunjangan Menurut Malthis dan Jackson (2006, p43), kompensasi dan tunjangan
yaitu
sebagai
berikut
:
kompensasi
memberikan
penghargaan kepada karyawan atas pelaksanaan pekerjaan melalui gaji,
insentif
dan
tunjangan.
Para
pemberi
kerja
harus
mengembangkan dan memperbaiki sistem upah dan gaji dasar. Selain itu, program insentif seperti pembagian keuntungan dan penghargaan produktivitas mulai digunakan. Kenaikan yang cepat dalam hal biaya tunjangan, terutama tunjangan kesehatan, akan terus menjadi persoalan utama.
2.2.11. Kecurangan dalam Kegiatan Penggajian Menurut Gelinas (2008, p520), penggajian merupakan area yang dapat berpotensi timbulnya kecurangan, perusahaan melakukan ribuan kali pembayaran gaji kepada karyawan. Jenis kecurangan yang dapat terjadi dalam kegiatan penggajian adalah sebagai berikut :
35
1. Ghost employees: karyawan yang tidak benar-benar bekerja pada perusahaan tetapi menerima slip gaji. Ini bisa saja merupakan karyawan fiktif. 2. Falsified hours and salary: karyawan melebih-lebihkan waktu kerja atau dapat merubah kenaikan gaji dalam data karyawan. 3. Commision schemes: perusahaan menerapkan sistem komisi kepada karyawan, dapat menimbulkan kecurangan oleh karyawan dengan melebih-lebihkan target penjualan agar mendapat komisi lebih banyak. 4. False workers compensation claims: karyawan berpura-pura mengalami sakit untuk mendapat klaim kompensasi.
2.2.12. Pajak Penghasilan Menurut Priantara (2012, p179), PPh adalah pajak yang dikelola oleh Pemerintah Pusat dan memberikan kontribusi signifikan kepada penerimaan Negara. Pada dasarnya mekanisme pengenaan PPh dilakukan melalui pemotongan atau pemungutan oleh pihak lain dan penyetoran sendiri oleh WP. Dasar hukum PPh adalah UndangUndang Nomor 36 tahun 2008 tanggal 23 September 2008 (Lembaran Negara Republik Indonesia tahun 2008 nomor 4893 Tambahan Lembaran Negara Republik Indonesia nomor 3985) yang merupakan perubahan keempat atas Undang-Undang Nomor 7 tahun 1983 tanggal 31 Desember 1983 tentang PPh (Lembaran Negara Republik Indonesia tahun 1983 nomor 50 Tambahan Lembaran Negara Republik Indonesia nomor 3263).
2.3. Teori-teori lain yang berhubungan dengan topik Dalam teori khusus dan teori dasar/umum penulis telah menyajikan teori-teori yang berkaitan dengan topik dalam penulisan Laporan Tugas Akhir ini. Namun masih ada beberapa teori lain yang berhubungan dengan topik.
36
2.3.1. Pengertian Flowchart Menurut Jurnal dari Adelia&Jimmy (2011), Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analyst dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatifalternatif
lain
dalam
pengoperasian.
Flowchart
biasanya
mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut. Flowchart adalah bentuk gambar/diagram yang mempunyai aliran satu atau dua arah secara sekuensial. Flowchart digunakan untuk merepresentasikan maupun mendesain
program.
Oleh
karena
itu flowchart
harus
bisa
merepresentasikan komponen-komponen dalam bahasa pemrograman.
2.3.2. Pengertian Data Flow Diagram (DFD) Menurut Jurnal dari Adelia & Jimmy (2011), Data flow diagram adalah suatu grafik yang menjelaskan sebuah sistem dengan menggunakan
bentuk-bentuk
menggambarkan
aliran
data
dan dari
simbol-simbol
proses-proses
yang
untuk saling
berhubungan. Data flow diagram ini adalah salah satu alat pembuatan model yang sering digunakan, khususnya bila fungsi-fungsi sistem merupakan bagian yang lebih penting dan kompleks dari pada data yang dimanipulasi oleh sistem. Dengan kata lain, data flow diagram adalah alat pembuatan model yang memberikan penekanan hanya pada fungsi sistem. Data flow diagram ini merupakan alat perancangan sistem yang berorientasi pada alur data dengan konsep dekomposisi dapat digunakan untuk penggambaran analisa maupun rancangan sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun pembuat program.
2.3.3. Structured Query Languange (SQL) Menurut Jurnal dari
John (2012), Structured Query
Languange (SQL) adalah sebuah bahasa yang dipergunakan untuk
37
mengakses data dalam database relasional. Bahasa ini secara de facto merupakan bahasa standard yang digunakan dalam manajemen database relasional. Pada database relasional dikenal dengan istilah DDL (Data Definition Language), DML (Data Manipulation Language) dan DCL (Data Control Language).
2.3.4. Data Manipulation Languange (DML) Menurut Jurnal dari
John (2012), Data Manipulation
Languange (DML) merupakan bahasa standard SQL yang digunakan untuk memanipulasi data dalam sebuah tabel. Pada umumnya, ada 4 jenis perintah yang sering digunakan pada DML ini. Keempat perintah DML tersebut adalah perintah select, insert, update dan delete. 1. Perintah select Select adalah perintah yang paling sering digunakan di dalam bahasa DML, sehingga perintah query dirujukkan pada perintah select. Secara umum, perintah select memiliki bentuk lengkap seperti yang terlihat di bawah ini: SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ...] FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung] [, nama_tabel3 [AS alias3], ...] [WHERE kondisi] [ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], ...]] [GROUP BY nama_field1[, nama_field2, ...]] [HAVING kondisi_aggregat] dengan: -
kondisi adalah syarat yang harus dipenuhi suatu data agar data tersebut dapat ditampilkan
-
kondisi_aggregat adalah syarat khusus fungsi aggregate.
38
-
fungsi aggregate yaitu fungsi-fungsi khusus yang melibatkan sekelompok data dan secara umum yang termasuk fungsi aggregate adalah sum, count, avg, max dan min.
-
kondisi dapat dihubungkan dengan operator logika seperti operator AND, OR dan sebagainya.
2. Perintah insert Perintah insert digunakan untuk menyimpan data ke dalam sebuah tabel. Secara umum, bentuk perintah insert adalah: INSERT
INTO
[NAMA_TABLE]([DAFTAR_FIELD])
VALUES ([DAFTAR_NILAI])
3. Perintah update Perintah update merupakan perintah DML yang digunakan untuk memodifikasi tabel dan secara umum memiliki sintaks sebagai berikut: UPDATE
[NAMA_TABLE]
SET
[NAMA_KOLOM]=[NILAI] WHERE [KONDISI] 4. Perintah delete Perintah delete digunakan untuk menghapus data dari tabel suatu database dan secara umum memiliki sintaks sebagai berikut: DELETE FROM [NAMA_TABLE] [KONDISI]