2. TEORI PENUNJANG
2.1. DBMS (Database Management System)
Definisi DBMS pada sejumlah literature sangatlah bervariasi. Secara umum DBMS diartikan sebagai suatu program computer yang digunakan untuk memasukkan, mengubah, memanipulasi, dan memperoleh data/informasi dengan praktis dan efisien.
Dibandingkan dengan Sistem yang berbasis kertas/manual, DBMS memiliki 4 keunggulan:
• Kepraktisan
Sistem yang berbasis kertas/manual akan menggunakan kertas yang banyak untuk menyimpan informasi, sedangkan DBMS menggunakan media penyimpan sekunder yang berukuran kecil.
• Kecepatan
Mesin dapat mengambil atau mengubah data jauh lebih cepat daripada manusia.
• Mengurangi kejemuan
Orang cenderung menjadi bosan kalau melakukan tindakan-tindakan berulang yang menggunakan tangan (misalnya harus mengganti suatu informasi).
• Kekinian
Informasi yang tersedia pada DBMS akan bersifat muthakhir dan akurat setiap saat.
Secara detail, keuntungan dari basis data terhadap Sistem pemrosesan berkas adalah sebagai berikut:
1. Kemubaziran data terkurangi 2. Integritaas data
3. Independensi data 4. Konsitensi data 5. Berbagi data 6. Keamanan data
7. Penggunaan data lebih mudah
5
Kebanyakan DBMS menyediaan mekanisme pengaturan keamanan terhadap basis data berdasarkan wewenang pengguna. Sebagai contoh si A hanya boleh membaca suatu data, tetapi si B boleh mengubahnya. Keamanan data sangat penting pada basisi data, yaitu untuk menghindari pengaksesan data sensitive oleh orang yang tidak berhak.
Database adalah kumpulan dari data komputer yang diintegrasikan, diorganisir dan disimpan dengan cara yang mudah untuk diakses. Untuk mengenal Database, secara lebih men-detail, perlu diketahui komponen-komponen dasar pembentuk Database, yaitu :
1. Entity.
Entity adalah suatu bentuk dari orang, tempat, kejadian atau konsep dari suatu informasi yang dijadikan suatu data bagi basis data yang akan digunakan.
2. Atribut
Atribut adalah sebutan untuk mewakili suatu Entity.
3. Data value
Data value adalah data actual atau informasi yang disimpan dalam tiap-tiap data elemen atau atribut.
4. Record/tuple
Adalah kumpulan elemen-elemen yang saling berkaitan yang berguna untuk menginformasikan tentang suatu Entity secara lengkap.
5. File
Adalah sekumpulan record-record sejenis yang mempunyai panjang elemen sama, atribut yang sama namun berbeda data value-nya.
Pembuatan database yang baik harus melalui tahap-tahap sebagai berikut:
• Planning
Tujuan dari tahap ini adalah untuk menderteminasikan apakah sistem yang akan dibuat itu layak atau tidak.
• Analysis requirements
Pada tahap ini, aktivitas yang dilakukan adalah mengidentifikasikan kebutuhan user, seperti akan kebutuhan hardware dan softwarenya dalam pembuatan database. Cara pengidentifikasiannya dapat dengan menggunakan metode seperti interview di perusahaan yang bersangkutan.
• Desain
Tahap ini dibagi menjadi 3 bagian, yaitu:
1. Conceptual design, proses yang dilakukan pada tahap ini adalah menterjemahkan data requirement menjadi conceptual schema dari database atau biasa disebut Data Flow Diagram (DFD).
2. Logical design, setelah conceptual schema selesai dibuat, dilakukan pemilihan Database Management System (DBMS) yang akan digunakan untuk menterjemahkan conceptual model tersebut, agar dapat diterapkan pada DBMS yang telah dipilih.
3. Physical design, pada tahap ini dilakukan pembuatan physical schema yang didasarkan logical design yang telah dibuat sebelumnya.
• Coding
Pada tahap ini, desain yang telah dibuat sebelumnya diubah ke dalam bentuk program aplikasi database.
• Implementasi
Melakukan uji coba pada program aplikasi yang baru dibuat.
• Operation and maintenance
Kegiatan yang dilakukan adalah memonitor kinerja dari program yang telah dibuat serta melakukan maintenance akan program yang telah dibuat.
Data model yang saat ini paling sering digunakan dalam database adalah relational data model. Pengertian akan desain relasi database sangatlah penting dalam penggunaan teknologi ini, karena akan membawa suatu perubahan pada cara bagaimana informasi disajikan pada umum. Pada pertengahan tahun 70- an, E.F. Codd yang bekerja pada IBM pada saat itu menulis A Relational Model of Data for Large Shared Data Banks. Tulisannya ini membuat revolusi pada industri database dengan menyediakan model untuk organisasi database yang sangat berbeda dengan teori yang lain pada saat itu. Relational Database Model hanya berhubungan dengan bagaimana data disajikan. Model ini tidak berhubungan dengan bagaimana data disimpan. Data dipresentasikan sebagai tabel-tabel. Tiap kolom disebut field. Tiap baris disebut record. Kolom-kolom ini dipakai untuk menunjukkan bahwa satu grup informasi yang saling berhubungan diletakkan pada satu tabel. Sebuah tabel adalah kumpulan dari kolom dan baris.
Kolom menjelaskan atribut. Tiap baris dari tiap harga dibagi menjadi kolom- kolom yang akan berisi setidaknya satu harga yang unik. Baris-baris ini disebut record. Sebuah kolom adalah sebuah koleksi vertikal dari field-field, sedangkan baris adalah koleksi horisontal dari field-field. Sedangkan sebuah field adalah sebuah unit tunggal informasi. Field menunjuk pada sebuah kolom dalam suatu baris. Pada level field, pemakai berinteraksi dengan tabel dengan memasukkan data. Saat data dimasukkan ke dalam sebuah field, data tersebut akan diperiksa kebenaran dan tipe datanya. Sekali tipe data tidak benar maka sebuah pesan kesalahan akan muncul. Ada banyak tipe data yang disediakan oleh program database yaitu: binary, date/time, desimal, image, string, dan masih banyak yang lain. Informasi ini memberitahu database bagaimana menerjemahkan data ke dalam kolom. Primary keys adalah kolom yang nilainya secara unik mengidentifikasikan sebuah baris dalam sebuah tabel. Tanpa sebuah primary key, desain relational database percuma saja. Tiap tabelnya hanya punya satu primary key. Primary key dapat terdiri dari banyak field (composite key). Candidate key juga merupakan kolom yang mempunyai nilai unik. Dalam satu tabel bisa terdapat banyak candidate key. Candidate key dapat menjadi primary key bila tidak memiliki nilai null atau nilai duplikat. Dalam struktur database terdapat 3 jenis model relasi atau hubungan, antara lain: One to One Relationship, One to Many Realtionship, dan Many to Many Relationship.
2.2. Data Flow Diagram (DFD)
DFD (Data Flow Diagram) merupakan skema yang menggambarkan jalannya alur data dari suatu proses ke proses selanjutnya. DFD dapat dibagi menjadi beberapa level untuk menggambarkan kompleksitas pergerakan data secara lebih jelas dan teliti. Biasanya suatu DFD dimulai dari level 0 kemudian diturunkan menjadi level 1, level 2, dan seterusnya. Dalam DFD level 1 dan 2 dapat dibuat sub DFD yang lebih menggambarkan kelengkapan proses data secara jelas.
Dalam penggambaran DFD terdapat beberapa komponen model yang harus diperhatikan, antara lain:
a. External entity: komponen ini dipakai untuk menggambarkan sumber input dari sebuah sistem atau tujuan dari output sebuah sistem dalam desain DFD.
Entity
Gambar 2.1. External Entity
b. Datastore: komponen yang menggambarkan tempat penyimpanan data dalam desain DFD.
Datastore
Gambar 2.2. Datastore
c. Data flow: komponen yang menunjukan alur perpindahan data antar entity.
Dataflow
Gambar 2.3. Dataflow
d. Proses: komponen yang menggambarkan kinerja dari sistem atau apa yang dilakukan oleh sistem. Melakukan perubahan berdasarkan data yang diinputkan dan menghasilkan data dari perubahan tersebut.
0 Proses
Gambar 2.4. Proses
Context diagram adalah DFD yang menunjukkan batas-batas dari sebuah sistem informasi, yaitu top level view dari sebuah sistem. Untuk menggambar Context diagram, hanya dibuat satu proses saja yang menggambarkan keseluruhan proses dari sistem tersebut dan beberapa kesatuan luar disekelilingnya yang berhubungan. Contoh context diagram untuk DFD di atas adalah sebagai berikut :
• Dari DFD level 0, kadang-kadang ada proses yang dapat dijabarkan lebih detail lagi
• Dari DFD level 0 dapat dibuat sejumlah DFD level 1, demikian pula dari setiap level 1 tersebut jika masih dapat dijabarkan lagi menjadi DFD level 2, 3 dan seterusnya. Sebuah DFD minimal digambarkan sampai level 0 saja, namun dalam kenyataan sebuah DFD umumnya pasti terdiri dari beberapa level.
Hal hal yang perlu diperhatikan dalam penyusunan DFD :
1. Dalam DFD tidak dibedakan antara data dan informasi, semua dianggap data.
2. Nama proses dalam contex diagram harus sama dengan nama sistem tersebut.
3. Setiap DFD harus muat dalam satu halaman.
4. Setiap simbol harus diberi nama yang unik, namun harus konstan atau tidak boleh berubah jika berpindah ke level berikutnya.
5. Hindari garis yang berpotongan jika mungkin.
6. DFD pasti selalu mempunyai output.
7. Setiap proses dalam DFD harus mempunyai input dan output.
8. Suatu kesatuan luar hanya boleh mempunyai input atau output, tapi tidak boleh kedua-duanya.
9. Setiap simpanan data hanya boleh menerima input dari proses dan juga memberikan output ke proses saja.
2.3.Entity Relationship Diagram (ERD)
Metode ini dipakai pada jumlah atribut yang banyak. Metode ini menggambarkan hubungan antar tabel yang ada dalam suatu Database. Pertama kali yang dilakukan adalah membagi database menjadi beberapa tabel yang disebut object atau entity. Masing-masing entity ini mempunyai beberapa atribut, yang merupakan bagian dari entity tersebut. Antar beberapa entity tersebut dapat digambarkan suatu hubungan (relationship) yang biasanya dipakai dalam ERD.
ERD (Entity Relationship Diagram) digunakan untuk menggambarkan hubungan antar Entity. Untuk menghubungkan satu entity dengan entity yang lain digunakan entity key, yaitu suatu atribut tertentu atau sekelompok atribut tertentu yang bersifat unik, sehingga dapat digunakan untuk membedakan suatu anggota entity
dengan anggota yang lain pada Entity yang sama. Selain itu harus ada pula yang disebut relationship key, yaitu suatu relationship yang digunakan untuk menyatakan hubungan antar entity key. Macam-macam hubungan antar entity :
• One to one relationship
Merupakan suatu hubungan dimana satu anggota entity mempunyai hubungan dengan satu anggota entity pada entity yang berbeda. Ada 2 macam hubungan, yaitu obligatory dan non obligatory. Obligatory adalah semua anggota dari suatu Entity harus berpartisipasi atau mempunyai hubungan dengan Entity yang lain. Non obligatory adalah tidak semua anggota harus mempunyai Entity yang lain. Contoh satu orang mahasiswa hanya mempunyai satu nomor induk mahasiswa (NRP) dan satu nomor induk mahasiswa (NRP) hanya dimiliki oleh satu orang mahasiswa. Pada gambar 2.5 merupakan contoh relasi one to one dimana kedua sisinya adalah obligatory, sedangkan pada gambar 2.6 merupakan contoh relasi one to one yang salah satu sisinya adalah non- obligatory yaiutu pada entity 2.
Gambar 2.5. One to One Relationship(Obligatory)
Gambar 2.6. One to One Relationship(Non-Obligatory)
• One to many relationship
Merupakan suatu hubungan antara suatu anggota entity yang satu dengan beberapa anggota entity pada entity yang berbeda. Hubungan ini juga bisa dua macam yaitu obligatory dan non obligatory. Contoh seorang mahasiswa dapat mempunyai beberapa no telepon tetapi setiap no telpon hanya dapat dipunyai oleh seorang mahasiswa. Pada gambar 2.7 merupakan contoh relasi one to many dimana kedua sisinya adalah obligatory, sedangkan pada gambar 2.8
merupakan contoh relasi one to many yang salah satu sisinya adalah non- obligatory yaiutu pada entity 2.
Gambar 2.7. One to Many Relationship (Obligatory)
Gambar 2.8. One to Many Relationship (Non-Obligatory)
• Many to many relationship
Merupakan hubungan antara beberapa anggota entity yang satu dengan beberapa anggota entity pada entity yang lain. Kedua entity bisa mempunyai hubungan lebih dari satu dengan beberapa anggota entity. Hubungan entity juga bisa dua macam yaitu obligatory dan non obligatory. Contoh satu orang mahasiswa mempunyai mata kuliah yang lebih dari satu dan mata kuliah dapat diikuti oleh lebih dari satu orang mahasiswa. Pada gambar 2.9 merupakan contoh relasi many to many dimana kedua sisinya adalah obligatory, sedangkan pada gambar 2.10 merupakan contoh relasi many to many yang salah satu sisinya adalah non-obligatory yaitu pada entity 2.
Gambar 2.9. Many to Many Relationship (Obligatory)
Gambar 2.10. Many to Many Relationship (Non-Obligatory)
2.4. Dependensi (Ketergantungan)
Sifat dependensi yaitu bahwa record pada entity 2 hanya ada bila record pada entity 1 sudah ada. Sebagai contoh kasus hubungan orangtua sebagai entity 1 dan anak sebagai entity 2, maka relasi ini menunjukan bahwa anak dapat ada jika orangtua sudah ada. Pada gambar 2.11 terlihat hubungan antar 2 entity dimana pada entity 2 dependent terhadap entity 1.
Gambar 2.11. Dependensi
2.5. Sistem Informasi Manajemen (SIM )
Informasi adalah hasil pengolahan data yang dapat digunakan sebagai dasar pengambilan keputusan. Data sebagai bahan baku informasi adalah gambaran kejadian yang dapat berwujud karakter, angka atau simbol tertentu yang memiliki arti. Informasi merupakan salah satu jenis utama sumber daya yang tersedia bagi manajer yang dapat dikelola seperti halnya sumber daya yang lain.
Pengaruh dari informasi bersumber pada bisnis yang berkembang semakin kompleks, dan komputer telah mencapai kemampuan yang semakin baik.
Pada saat ini, ketika segala urusan yang berkaitan dengan pemakaian informasi sudah semakin rumit dan kompleks, maka mutlak diperlukan bantuan komputer. beberapa karakteristik komputer sebagai pengolah informasi sebagai alasan tepat dalam pemakaian komputer, yaitu:
• Kecepatan
Dalam distribusi informasi dan pengolahan data, faktor kecepatan sangat dibutuhkan oleh manajemen.
• Kapasitas
Volume data yang sangat besar bisa diolah dengan cepat.
• Repetitif
Dalam pengolahan data yang memiliki prosedur sama, pengolahan dengan komputer akan memakan waktu yang singkat.
• Input yang pasti
Komputer membutuhkan input yang pasti, karenanya intuisi dan pengembangan bukanlah merupakan atribut mesin.
• Output yang akurat
Hasil yang sangat akurat bisa diperoleh dan hal ini tidak terpengaruh oleh kebosanan dan kelelahan. Dalam sistem manajemen modern, sebenarnya tidak perlu lagi dipermasalahkan tentang perlu tidaknya pemakaian komputer dalam sistem informasi. Yang menjadi masalah seharusnya adalah menentukan bagian mana yang tidak atau menentukan sampai sejauh mana pemrosesan informasi harus dikomputerisasi.
Output informasi dari komputer digunakan oleh para manajer, serta orang-orang dan organisasi-organisasi dalam lingkungan perusahaan. Manajer berada pada semua tingkat organisasional perusahaan, dan dalam semua area fungsional. Manajer melaksanakan berbagai fungsi dan peran, dan untuk berhasil, manajer perlu mengerti komputer (computer literate), tetapi yang lebih penting, mereka perlu mengerti informasi ( information literate ). Jika manajer mampu melihat unitnya sebagai suatu sistem yang terdiri dari beberapa subsistem dan berada dalam supersistem yang lebih besar, maka akan lebih bermanfaat bagi perusahaan. Perusahaan adalah suatu sistem yang bersifat fisik, namun dikelola dengan menggunakan suatu sistem konseptual. Sistem konseptual itu terdiri dari suatu pengolah informasi yang mengubah data menjadi informasi dan menggambarkan sumber daya fisik.Untuk membuktikan nilai ekonomis dari suatu aplikasi komputer cukup sulit, tetapi banyak analisa yang dilakukan untuk menjustifikasi tiap proyek potensial. Setelah berjalan, proyek tersebut berkembang melalui suatu siklus kehidupan sistem ( system life cycle ). Para spesialis informasi dapat berperan serta dalam tingkat yang beragam ,tetapi keseluruhan siklus, termasuk pengembangan dan pemakaian harus dikelola oleh seorang manajer.
2.6. Client Server
Client Server dapat didefinisikan sebagai suatu sistem yang dapat mengakses sejumlah statement pada suatu aplikasi yang dieksekusi pada server.
Pada saat workstation/client mengirimkan suatu query ke server maka server akan mengeksekusi semua statement query yang dikirim kepadanya, di samping itu server juga menangani dan memantau query yang datang dari client lainnya
Gambar 2.12. Client Server Networking
Model Client Server merupakan suatu model interaksi di dalam suatu sistem distribusi. Dimana program di satu sisi meminta layanan kepada program di sisi lain dan menunggu respon. Program yang meminta layanan dinamakan client, program yang memberikan layanan tadi dinamakan sever.
Client Server computing adalah suatu ekstensi programming modular yang memiliki asumsi fundamental bahwa sebagian besar software membuat suatu bagian modul untuk pengembangan yang lebih mudah dan penanganan yang lebih baik. Client Server computing mengambil langkah yang lebih jauh dengan mengenali modul yang perlu dijalankan di dalam suatu space memory yang sama.
2.7. Microsoft SQL Server 2000
Microsoft SQL Server 2000 merupakan sebuah database relasional yang dirancang untuk dapat mendukung semua bentuk aplikasi atau model database.
Database Microsoft SQL Server 2000 dibagi ke dalam beberapa komponen logikal, seperti table, view, dan elemen-elemen lainnya yang terlihat oleh user.
Elemen-elemen ini secara fisik disimpan di dalam dua atau lebih file di dalam
disk. Format file ataupun lokasi dimana elemen-elemen logik ini ditulis, tidak diketahui oleh user sistem. Microsoft SQL Server 2000 dapat mengandung beberapa database yang digunakan oleh beberapa user. Sebuah perusahaan bisa memiliki satu database yang digunakan oleh banyak user pada beberapa departemen, atau perusahaan tersebut dapat memiliki beberapa database yang hanya digunakan khusus oleh beberapa user tertentu dalam masing-masing departemen.
Microsoft SQL Server 2000 juga mendukung fasilitas penerapan database yang dirancang dengan menggunakan metode jaringan lokal/LAN (Local Area Network). Hal inilah yang memberikan nilai tambah bagi Microsoft SQL Server 2000 sebagai media penyimpanan database yang baik.
2.7. Borland Delphi 7
Borland Delphi 7 merupakan seri program aplikasi database yang berbasis objek Pascal dari Borland, selain itu bahasa pemrograman ini memberikan fasilitas pembuatan aplikasi visual seperti Visual Basic. Borland Delphi juga memiliki kemampuan untuk membangun aplikasi multi threaded.
Selain berbasis windows dan merupakan software yang dikembangkan dari versi- versi sebelumnya, menjadikan Borland Delphi 7 dilengkapi dengan kemampuan penggunaan bahasa SQL yang merupakan bahasa query yang handal dan sering dipakai secara umum dalam pemrograman database.
Keistimewaan yang ada pada Borland Delphi adalah adanya berbagai macam komponen objek yang sangat mendukung dalam membentuk suatu aplikasi yang bersifat user friendly. Borland Delphi juga dilengkapi dengan komponen yang menunjang pembentukan program aplikasi database, yaitu komponen BDE (Borland Database Engine). yang dapat mempermudah pengintegrasian antara user interface dan database yang akan dibentuk.