BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Sistem Sistem adalah komponen yang saling terhubung satu dengan yang lainnya, sehingga menjadi suatu kesatuan yang utuh. Sistem juga digunakan untuk memberdayakan pengunaan informasi. Menurut Hall (2011, p5), sistem dapat dikatakan sebagai hasil penggambaran dari computer dan pemrograman. Sistem adalah kumpulan dari dua atau lebih komponen atau subsistem yang saling terkait untuk tujuan tertentu. Sistem harus menyediakan satu atau lebih dari satu tujuan. Saat sistem tidak memiliki tujuan lagi, maka sistem tersebut harus digantikan. Menurut Gelinas (2008,p11), sistem merupakan kumpulan dari elemen yang berdiri sendiri secara bersamaan untuk mencapai tujuan tertentu. Sistem harus memiliki organisasi, hubungan, integrasi, dan tujuan utama. Jadi sistem merupakan suatu kumpulan dari komponen yang saling terkait satu sama lain dan mempuyai tujuan utama atau lebih dari satu tujuan. 9 10 2.1.2 Informasi Informasi adalah proses pengolahan dari data-data yang terkumpul dan dapat digunakan sebagai referensi perusahaan pada saat pengambilan keputusan. Menurut Gelinas (2008, p17), informasi merupakan data yang disajikan dalam bentuk yang berguna pada saat pengambilan keputusan. Informasi memiliki nilai bagi pembuat keputusan, karena dapat mengurangi ketidakpastian dan meningkatkan pengetahuan tentang beberapa hal yang diinginkan. Menurut Hoffer (2009, p47), informasi merupakan data yang telah diproses sedemikian rupa sehingga meningkatkan pengetahuan dari orang yang menggunakan data tersebut, dan dinamakan informasi. Jadi informasi adalah data-data yang dimiliki dan diproses secara sedemikian rupa sehingga menghasilkan informasi yang berguna untuk pengambilan keputusan. 2.1.3 Sistem Informasi Sistem informasi dapat berguna untuk perusahaan atau organisasi dalam menunjang kegiatan sehari-harinya. Sistem informasi juga memberikan dibutuhkan. kemudahan di dalam menghasilkan laporan yang Menurut Gelinas (2008, p13), sistem informasi merupakan sistem yang dibuat oleh manusia yang secara umum mengandung kumpulan dari komponen berbasis komputer yang terintegrasi dan komponen manual yang dibuat untuk mengumpulkan, menyimpan, mengelola data dan untuk menyediakan informasi kepada pengguna. Menurut Hall (2011, p7), sistem informasi merupakan kumpulan dari prosedur formal dimana data dikumpulkan, diproses menjadi informasi dan didistribusikan kepada pengguna. Jadi, sistem informasi merupakan proses dimana data-data dikumpulkan, diproses menjadi informasi dan didistribusikan kepada pengguna yang membuthkan informasi tersebut. 2.1.4 Fact-Finding Technique Teknik fact-finding merupakan teknik pencarian fakta yang dapat digunakan dalam mencari fakta-fakta dalam sebuah permasalahan dalam lapangan. Menurut Connolly and Begg (2010, p317), adalah seorang pembangun database biasanya menggunakan beberapa teknik fackfinding saat proyek database tunggal. Ada 5 (empat) teknik dalam Fact-Finding Technique yang biasa dipakai untuk mencari fakta, kelima teknik itu adalah: 12 • Examining Documentation Merupakan keperluan untuk membuat sebuah database. Kita bisa menemukan dokumentasi yang bisa membantu untuk memberikan informasi dari bagian perusahaan yang terkait dengan masalah tersebut. Dengan cara memeriksa dokumen, form, laporan dan file terkait yang ada pada sistem sekarang. Setelah itu, kita bisa cepat mendapatkan pemahaman dari sistem tersebut. • Interviewing Mewawancarai merupakan hal yang paling umum digunakan, dan biasanya sangat berguna, dari berbagai teknik fact-finding. Kita dapat mewawancarai untuk mendapatkan informasi secara individual misalnya wawancara tatap muka. Bisa saja ada beberapa objek yang digunakan untuk wawancara , misalnya menemukan fakta-fakta, verifikasi fakta tersebut, klarifikasi fakta tersebut, identifikasi persyaratan, dan saling mengomongkan ide dan opini. Bagaimanapun juga, menggunakan teknik wawancara mempunyai persyaratan, yaitu mempuyai kemampuan komunikasi yang baik, prioritas, opini, motivasi, dan personalitas yang baik juga. Tetapi, teknik wawancara bukan selalu merupakan metode terbaik dalam semua situasi. • Observing the Enterprise in Operation Mengobservasi merupakan salah satu teknik yang paling efektif dalam teknik fact-finding untuk memahami sebuah sistem. Dengan teknik ini, dapat memungkinkan kedua partisipan, atau orang yang mengamati, dalam melakukan aktifitas untuk belajar memahami sistem. Ini merupakan teknik yang sangat berguna ketika kebenaran dari data yang diambil melalui metode pertanyaan atau ketika tingkat kompleksitas dari sebuah aspek dari sistem dalam mencegah penjelasan jelas dari pengguna yang terakhir. • Research Sebuah teknik fact-finding yang berguna adalah penelitian dari aplikasi dan masalah. Referensi buku dan internet merupakan sumber yang bagus dalam pencarian informasi. Mereka dapat memberikan informasi bagaimana yang lain dapat menyelesaikan masalah yang hampir sama, ditambah atau tidak, apakah paket software yang ada dapat memecahkan masalah, atau memecahkan sebagian masalah saja. • Questionnaries Sebuah teknik fact-finding yang berguna adalah melakukan survei melalui kuesioner. Kuesioner adalah dokumen tujuan khusus yang memungkinkan fakta yang harus dikumpulkan 14 dari sejumlah besar orang tetap menjaga kontrol atas tanggapan mereka. Ketika berhadapan dengan audiens yang besar, ada fact-finding dapat tabulasi fakta-fakta yang sama secara efisien. 2.1.5 Arsitektur ANSI-SPARC Menurut Connolly and Begg (2010, p86), ANSI-SPARC merupakan singkatan dari The American National Standards Institute – Standard Planning And Recuirment Committee. Arsitektur tersebut dikenal dengan tiga level pendekatan dengan sistem katalog. 3 (tiga) level tersebut adalah : - Level eksternal Pandangan pengguna terhadap database. Pada level ini dideskripsikan bagian dari database yang relevan dengan pengguna lainnya. - Level Konspetual Pandangan komunitas terhadap database. Pada level ini mendeskripsikan “apa” data yang dimasukkan kedalam database dan hubungan antar data tersebut. - Level Internal Reprensentasi fisikal dari database dalam komputer. Pada level ini mendeskripsikan bagaimana data dimasukkan kedalam database. Berikut adalah gambar yang menjelaskan ketiga level arsitektur tersebut : Gambar 2.7 ANSI-SPARC Architecture (Sumber : Connolly and Begg, 2010, p86) 16 2.1.6 Data Data adalah komponen yang terpenting di dalam basis data. Data juga digunakan sebagai sumber daya pada suatu perusahaan atau organisasi. Menurut Hoffer (2009, p46), data adalah representasi objek dan kejadian yang tersimpan dan mempunyai arti dan kepentingan kepada lingkungan pengguna. Menurut Connolly and Begg (2010, p70), data merupakan bagian terpenting dalam komponen suatu basis data. Jadi, data merupakan komponen yang terpenting pada basis data yang merepresentasikan objek dan kejadian serta nilai yang tersimpan sehingga mempunyai arti dan kepentingan kepada penggunanya. 2.1.7 Arsitektur Multi-User DBMS Menurut Connolly and Begg (2010, p108), terdapat 3 arsitektur yang biasa digunakan untuk mengimplementasikan multi-user DBMS, yaitu : • Teleprocessing Arsitektur tradisional teleprocessing, yang untuk dimana system multi-user terdapat satu adalah Central Proccessing Unit (CPU) sebagai server dan memiliki beberapa komputer/terminal. Teleprocessing Topology (Sumber : Connolly and Begg 2010, p108) • Arsitektur File-Server Sebuah komputer dihubungkan pada suatu jaringan dengan tujuan utama untuk menyediakan penyimpanan yang dapat membagi file seperti dokumen, spreadsheet, gambar, dan database. 18 Arsitektur File-Server (Sumber : Connolly and Begg 2010, p109) • Arsitektur Client-Server Client-Server mengacu kepada cara komponen software berinteraksi kepada form dari system. Terdapat proses client yang memerlukan sumber, menyediakan sumber tersebut. dan sebuah server yang Arsitektur Client-Server (Sumber : Connolly and Begg 2010, p110) 2.1.8 Database Management System (DBMS) Database Management System adalah sebuah perangkat lunak yang digunakan untuk mengatur basis data, sudah ada beberapa DBMS yang sering dipakai didunia ini seperti Oracle, SQL server dan lainnya. Menurut Connolly dan Begg (2010,p66), adalah sebuah sistem perangkat lunak yang dapat digunakan untuk mendefinisikan, membuat, menjaga, dan akses kontrol kedalam database. 2.1.8.1 Fungsi Database Management System (DBMS) Fungsi yang ditawarkan oleh DBMS sangatlah banyak. Hal ini membuat pengguna dapat dengan mudahnya mengakses dan mengelola basis data yang ada. 20 Di dalam bukunya, Connolly and Begg (2010,p100) menjelaskan bahwa fungsi DBMS terdiri atas : - Data storage, retrieval, and update Sebuah DBMS harus memberikan pengguna sebuah kemampuan untuk menyimpan, memberikan hasil dan memperbaharui data di dalam database. - A user-accessible catalog Sebuah DBMS harus memberikan sebuah katalog yang mendeskripsikan data barang-barang yang tersimpan dan dapat diakses oleh pengguna. - Transaction support Sebuah DBMS harus memberikan sebuah mekanisme yang akan memastikan bahwa semua pemberharuan yang saling berhubungan dengan transaksi yang di buat atau yang tidak dibuat oleh pihak dalam. - Concurrency control services Sebuah DBMS harus memberikan mekanisme untuk memastikan bahwa database diperbaharui secara benar ketika pengguna lainnya saling memperbaharui secara bersamaan. - Recovery services Sebuah DBMS harus memberikan mekanisme untuk memulihkan kembali database ketika database tersebut terkena kerusakan dalam berbagai cara. - Authorization services Sebuah DBMS harus memberikan mekanisme yang memastikan hanya pengguna yang diberikan izin yang bisa mengakses database tersebut. - Support for data communication Sebuah DBMS harus mampu berintegrasi dengan perangkat lunak yang berbasis komunikasi. - Integrity services Sebuah DBMS harus memberikan sebuah arti untuk memastikan bahwa kedua data didalam database dan perubahan data mengikuti aturan tertentu. - Services to promote data independence Sebuah DBMS harus termasuk dalam fasilitas yang mendukung program dari struktur yang sebenarnya dalam database. - Utility services Sebuah DBMS harus menyediakan satu set layanan utilitas. 2.1.8.2 Komponen dalam Database Management System (DBMS) Ada beberapa komponen yang diperlukan untuk menjalankan sebuah DBMS karena DBMS merupakan sebuah 22 perangkat lunak, perangkat lunak membutuhkan perangkat keras agar dapat dijalankan dan pengguna yang mendukungnya. Pada bukunya, Connolly and Begg (2010, p68) komponenkomponen basis data terdiri atas : - Hardware DBMS dan aplikasi memerlukan perangkat keras untuk dijalankan. - Software Komponen dalam perangkat lunak terdiri dari perangkat lunak DBMS itu sendiri dan program aplikasi, bersama dengan sistem operasi, termasuk jaringan perangkat lunak jika DBMS sedang digunakan melebihi jaringan. Biasanya program aplikais yang tertulis di generasi ketiga dalam bahasa pemograman (3GL), seperti ‘C’, ‘C++’, Java. - Data Kemungkinan komponen yang terpenting dalam lingkungan DBMS, biasanyaa terdiri dari pengguna akhir, segi pandangnya adalah sebuah data. - Procedures Prosedur mengacu kepada instruksi dan aturan yang ditentukan oleh perancang dan digunakan untuk database. - People Komponen terakhir ada orang yang termasuk kedalam sistem. Kita yang mendiskusikan komponen tersebut. Gambar 2.5 Komponen Database Management System (DBMS) (Sumber : Connolly and Begg, 2010, p68) 2.1.8.3 Keunggulan Database Management System (DBMS) Hal paling berguna dalam DBMS yaitu, pengguna mampu mengamankan data dan mengelola data yang ada pada basis data secara lebih mudah. Menurut Connolly and Begg (2010, p77) keunggulan dalam Database Management System (DBMS) adalah sebagai berikut : - Mengendalikan redundansi data Di dalam pengelolaan data diperlukan pengendalian data untuk menghilangkan redudansi dengan mengintegrasikan file-file yang ada pada berbagai tempat dan yang sama tidak disimpan. 24 - Data menjadi konsisten Dengan menghilangkan redundansi maka data akan menjadi konsisten sehingga nilai baru dapat segera dipastikan keakuratannya. - Informasi mengenai data menjadi banyak Dengan integrasi dari data operasional, di mungkinkan organisasi dapat memperoleh informasi tambahan dari data yang sama. - Dapat berbagi data Arsip-arsip dimiliki oleh orang atau departemen yang menggunakan mereka. - Meningkatkan integritas Intergritas database mengaju kepada validasi dan konsistensi pada penyimpanan data. Integritas biasanya dinyatakan dalam istilah constraints. - Meningkatkan keamanan Keamanaan database adalah pertahanan database dari pengguna yang tidak mempunyai izin untuk mengakses database tersebut. - Memberlakukan standard Integrasi memperbolehkan DBA untuk mendefinisikan dan menegakkan standar yang diperlukan. - Skala ekonomi Menggabungkan semua data operasional organisasi kedalam database dan membuat satu set aplikasi yang bekerja dalam satu sumber data, bisa menghasilkan penghematan biaya. - Menyesuaikan kebutuhan yang bertentangan Setiap user atau departemen memiliki kebutuhan yang mungkin bertentangan dengan kebutuhan pengguna lainnya. - Meningkatkan aksesibilitas dan respon Sebagai hasil dari integrasi, data yang melintasi batas departemen langsung dapat diakses oleh pengguna akhir. - Meningkatkan produktivitas DBMS menyediakan banyak fungsi standar yang biasanya akan dilakukan programer untuk menuliskan ke dalam sebuah arsip-berbasis aplikasi. - Meningkatkan pemeliharaan atas data yang independen Didalam arsip yang berbasis sistem, deskripsi dari data dan logika untuk mengakses data yaitu dibangun kedalam program aplikasi, yang membuat program bergantung pada data. - Meningkatkan Concurency Dibeberapa arsip yang berbasis sistem, jika dua atau lebih pengguna diperbolehkan mengakses arsip yang sama 26 bersamaan, ini memungkinkan orang yang mengakses akan menggangu orang lain yang mengakses juga, yang mengakibatkan hilangnya informasi bahkan hilangnya integritas. - Meningkatkan pelayanan Backup & Recovery Banyak arsip tanggung jawab yang ke berbasis pengguna sistem menempatkan untuk memberikan pengukuran pertahanan data dalam kesalahan sistem komputer atau program aplikasi. 2.1.8.4 Kelemahan Database Management System (DBMS) Selain keunggulan yang banyak pada Database Management System, pasti ada kelemahan yang ada, sehingga membuat perusahaan atau organisasi tidak mau menerapkannya. Menurut Connolly and Begg (2010, p80), kelemahan dalam DBMS adalah sebagai berikut : • Kompleksitas Ketentuan fungsi yang kita harapkan dari DBMS yang baik membuat DBMS menjadi pecahan yang sangat kompleks dari perangkat lunak. • Ukuran Kompleksitas dan luasnya fungsi membuat DBMS menjadi sangat luas sebagai sebuah perangkat lunak, memenuhi banyak mengabytes dari tempat penyimpanan data dan membutuhkan sejumlah memory yang besar untuk menjalankan secara efisien. • Biaya Biaya dari DMBS sangat bervariasi dan signifikan, tergantung dengan lingkungan dan fungsi yang dibutuhkan. • Biaya tambahan hardware Tempat penyimpan data yan diperlukan oleh DBMS dan database mungkin memerlukan pembelian tambahan tempat penyimpanan data. • Biaya konversi Di beberapa situasi, biaya dari DBMS dan database mungkin tidak signifikan dibandingkan dengan biaya dari konversi aplikasi yang ada untuk menjalankan DBMS dan hardware yang baru. • Performa Secara umum memang baik tetapi dibuthkan berbagai aplikasi untuk mendukungnya. 28 • Dampak kegagalan Sentralisasi sumber daya meningkatkan kerentanan sistem. Sejak semua pengguna dan aplikasi mengandalkan DBMS, kesalahan dari komponen tertentu bisa membawa pekerjaan menjadi berhenti. 2.1.9 Data Model Menurut Connolly and Begg (2010, p95), adalah sebuah koleksi yang terintegrasi dengan konsep yang mendeskripsikan dan memanipulasi data, hubungan antar data, dan constraint data di dalam sebauh organisasi. Sebuah model data bisa dianggap sebagai 3 komponen yang terdiri dari : • Structural part, terdiri dari aturan aturan menurut database bisa di bangun. • Manipulative part, mendefinisikan tipe dari pengerjaan yang membolehkan data (ini termasuk dalam pengerjaan yang digunakan untuk memperbarui dan mendapatkan kembali data dari database dan untuk mengganti struktur database). • Possibly a set of integrity constraints, yang memastikan data itu akurat. 2.1.10 Basis Data Basis data adalah komponen terpenting dalam sistem basis data. Basis data juga terdiri atas tabel-tabel yang saling terhubung satu sama lain. Menurut Connlly and Begg (2010, p65), basis data adalah koleksi data yang terbagi dengan data yang terelasi secara logical, dan desekripsi data tersebut, di design untuk menemukan informasi yang di perlukan oleh suatu organisasi. Menurut Frost (2006, p6), basis data adalah kumpulan data yang digunakan oleh sebuah sistem. Jadi, Basis data adalah kumpulan data yang saling terkait dan digunakan oleh sistem untuk memenuhi kebutuhan informasi suatu organisai. 2.1.11 Perancangan Basis Data Perancangan basis data adalah proses untuk menetukan isi dan pengaturan data yang dibutuhkan untuk mendukung berbagai rancangan sistem. Menurut Connolly and Begg (2010, pp71), untuk menyusun suatu struktur data yang diidentifikasikan dalam tabel- tabel diperlukan suatu metode dalam perancangan basis data. Bagaimanapun juga dalam 30 melakukan perancangan basis data dapat menjadi sangat kompleks. Untuk menghasilkan sistem yang dapat juga menyediakan lebih dari satu tujuan. Saat sistem tidak memiliki berbagai pendekatan dan metodologi yang berbeda agar basis data yang dihasilkan menjadi baik. Menurut Kronke (2010, p13), merancang basis data adalah hal yang sulit tetapi penting. Dalam melakukan perancangan harus mendeskripsikan dengan baik struktur tabel, relasi antar tabel dan memperkirakan batasan data yang ada, dan juga memperhatikan komponen struktur lainnya. Menurut Hoffer (2009, p37) Perancangan basis data yang baik adalah perancangan basis data yang dibuat bersamaan dengan pembangunan sistem informasi dengan terlebih dahulu dimulai dengan enterprise data modeling, dimana hal tersebut membatasi ruang lingkup atau cakupan dan konten umum dari basis data keseluruhan organisasi atau perusahaan. Jadi, Basis data merupakan kumpulan data dan tabel yang saling terkait dan digunakan sistem untuk memenuhi kebutuhan informasi dari suatu organisasi. 2.1.11.1 Basis Data Konseptual Basis data konseptual merupakan hal yang diperlukan untuk mengetahui basis data konsep, seperti mengetahui entitas yang terdapat di dalam proses bisnis suatu organisasi Menurut Connlly and Begg (2010, p465) adalah untuk membuat representasi suatu data base yang konseptual, yang termasuk dalam identifikasi dari entitas, relationships dan attribut yang penting. Menurut Frost (2006, p29) Basis Data Konseptual dirancang dengan membuat Entity Relationship Diagram (ERD). ERD harus dibangun menggunakan proses yang sistematis. Perancangan harus dimulai dengan big-picture view dan rincian yang harus secara progresif ditambahkan untuk persiapan implementasi Jadi, Basis data konseptual merupakan sebuah Basis Data yang dirancang untuk mewakili entitas-entitas pada proses bisnis suatu organisasi untuk menjelaskan entitas beserta hubungannya yang digambarkan ke dalam diagram. 2.1.11.2 Basis Data Logikal Dalam merancang sebuah Basis Data, juga melalui tahapan perancangan Basis Data Logikal. Ini diperlukan untuk mengetahui basis data secara logikal dan tersetruktur seperti menterjemahkan konseptual yang ada ke dalam perancangan model informasi. Menurut Connolly and Begg adalah (2010, p465), adalah proses konstruksi sebuah model data yang digunakan dalam suatu 32 organisasi berdasarkan model data yang spesifik, tetapi bersifat mandiri dari sebuah DBMS tertentu dan pertimbangan fisikal lainnya. Menurut Connolly and Begg (2010, p492),tahapan pada pembuatan basis data logikal adalah : - Memperoleh hubungan logikal data model Pada tahap ini harus memperoleh hubungan untuk merepresentasikan entitas, atributnya. mendeskripsikan Lalu hubungannya, dan bagaimana hubungan diperoleh pada struktur tertentu yang terjadi didalam konseptual data model: • Tipe entitas kuat • Tipe entitas lemah • Tipe hubungan satu-ke-banyak (1:*) • Tipe hubungan satu-ke-satu (1:1) • Tipe hubungan satu-ke-satu (1:1) rekursif • Tipe hubungan superclass/subclass • Tipe hubungan banyak-ke-banyak (*:*) rekursif - • Tipe hubungan yang kompleks • Atribut multi-valued Memvalidasi hubungan menggunakan normalisasi Pada tahap ini akan dilakukan validasi terhadap pengelompokan atribut pada tiap hubungan. Tujuan dari normalisasi ini adalah untuk memastikan bahwa relasi tersebut memiliki nilai minimal yang cukup dari atribut yang dibutuhkan untuk atau organisasi. Hal ini juga dapat dilakukan untuk mengurangi redudansi. - Memvalidasi hubungan terhadap transaksi pengguna Tujuan utama dari tahap ini adalah untuk memvalidasi logikal data model dan memastikan bahwa model mendukung transaksi yang dibutuhkan pengguna, seperti yang sudah dirinci dalam user requirements. Disini harus diperiksa apakah terjadi error saat membuat relasi yang berkaitan dengan hubungan antar entitas. - Mengecek integritas constraints Pada tahap ini kita membuat constraint atau batasan pada database untuk menghindari terjadinya pemasukan data dengan format yang berbeda, salah, atau tidak lengkap. - Mengulas logical data model dengan pengguna Setelah seluruh tahapan tersebut selesai dibuat, 34 maka sekarang kita harus mengulas kembali logikal data model yang telah kita buat dengan pengguna. Apakah sesuai dengan kebutuhan user atau tidak. - Menggabungkan logikal data model kedalam global model (opsional) Tahap ini menggabungkan logikal model menjadi global model yang merepresentasikan seluruh pandangan user terhadap database. Jadi tidak hanya dari salah satu sisi pengguna saja. - Mengecek perkembangan ke masa depan Kita harus mempertimbangkan bagaimana kedepannya database yang dirancang. Apakah mampu untuk mendukung kebutuhan perusahaan kedepannya. Jadi, Basis Data Logikal adalah Basis Data yang dirancang untuk menterjemahkan entitias konseptual beserta hubungannya menjadi suatu model informasi yang berguna dengan membangun struktur logikalnya. 2.1.11.3 Basis Data Fisikal Selain melewati tahapan konseptual dan logikal, perancangan Basis Data juga melalui tahapan akhir yaitu Basis Data Fisikal. Ini diperlukan untuk mengimplementasikan langsung secara fisik ke dalam Database Management System dan mendeskripsikan tempat penyimpanan data tersebut. Menurut Connolly and Begg proses produksi (2010, p465), adalah yang mendeskripsikan implementasi dari database pada penyimpanan kedua, hal itu menjelaskan dasar hubungan, file organisasi, dan index yang digunakan untuk mencapai akses yang efektif untuk data dan berbagai integritas constraints yang terkait dan mengukur tingkat keamanan. Menurut Connolly and Begg (2010, p525), Tahapan-tahapan yang ada dalam perancangan basis data fisikal yaitu sebagai berikut: - Langkah 1 Menterjemahkan model data untuk target DBMS o Langkah 1.1 Mendesain relasi basenya o Langkah 1.2 Mendesain representasi dari derrived data. 36 o Langkah 1.3 Mendesain batasan umum - Langkah 2 Mendesain File organisasi dan indeks o Langkah 2.1 Menganalisis Transaksi o Langkah 2.2 Memilih file organisasi o Langkah 2.3 Memilih indeks o Langkah 2.4 Mengeliminasi - Langkah 3 Mendesain tampilan pengguna - Langkah 4 Mendesain mekanisme keamanan Jadi, Basis Data Fisikal adalah basis data yang secara fisik di dalam Database Management System sebagai base relation yang mendeskripsikan tempat penyimpanan data-data tersebut. 2.1.12 Database Application Life Cycle Menurut Connolly and Begg (2010, p313), Database Life Cycle adalah komponen dasar didalam sistem informasi suatu organisasi yang bertujuan untuk merencanakan dan merancang basis data dari tingkatan awal sampai akhir. Untuk mengetahui tahapan-tahapan yang ada pada Siklus Hidup Aplikasi Basis Data (Database Application Life Cylce) dapat dilihat pada gambar berikut ini : Gambar 2.6 Database Application Life Cylce (Sumber : Connolly and Begg, 2010, p314) 2.1.12.1 Tahapan Database Application Life Cycle Menurut Connolly and Begg (2010, siklus hidup aplikasi basis data terdiri atas : p315) tingkatan 38 • Database planning Merencanakan bagaimana tahap dari lifecycle bisa di realisasikan agar lebih efisien dan efektif. • System definition Menyeleksi cakupan dan batasan dari sistem database, termasuk juga mayoritas pengguna yang melihat, pengguna itu sendiri, dan area aplikasi. • Requirements collection and analysis Mengumpulkan dan menganalisis kebutuhan untuk sistem basis data yang baru. • Database design Konseptual, logikal, dan design fisikal dari database. • DBMS selection (optional) Meyeleksi DBMS yang tepat untuk sistem database. • Application design Mendesign program antar muka dan aplikasi program yang digunakan untuk memproses database. • Prototyping (optional) Membangun model kerja dari sebuah sistem database, yang memperbolehkan perancang atau pengguna untuk menvisualisasikan sesuai yang diinginkan. • Implementation Membuat definisi dari fisikal database dan program aplikasi. • Data conversion and loading Memuat data dari sistem lama ke sistem baru dan, dimana terdapat kemungkinan untuk mengkonvert aplikasi yang ada untuk dijalankan ke database yang baru. • Testing Menguji sistem basis data agar valid dan sesuai dengan kebutuhan persyaratan yang digunakan oleh pengguna. • Operational maintenance Ketika sistem basis data diimplementasikan sepenuhnya, maka dilakukan pengawasan dan pemeliharaan sehingga kebutuhan basis data sesuai dengan tingkatan siklus hidup. 2.1.13 Normalisasi Normalisasi merupakan teknik membuat record tabel menjadi normal sehingga mencegah timbulnya redudansi data. Sehingga normalisasi sangat penting dalam perancagan basis data. Menurut Connolly and Begg (2010, p416), adalah suatu teknik untuk menghasilkan suatu relasi dengan properties yang diinginkan untuk menyajikan kebutuhan data perusahaan. Tujuan utama Normalisasi 40 adalah untuk mengidentifikasikan kumpulan relasi yang cocok untuk mendukung kebutuhan data perusahaan. Normalisasi melalui beberapa proses, yang terdiri atas : 1. First Normal Form (1NF) Sebelum melakukan proses 1NF, bentuk tabel dalam keadaan tidak normal (Unnormalize Form/UNF). 1NF adalah keadaan table yang membagi setiap baris dan kolom menjadi hanya satu nilai. 2. Second Normal Form (2NF) Relasi yang ada pada bentuk normal pertama dan setiap Attribute yang bukan kunci bergantung penuh secara fungsional kepada primary key. 3. Third Normal Form (3NF) Relasi yang ada pada bentuk normal kedua dan setiap Attribute yang bukan kunci bergantung secara transitif kepada primary key. 2.1.14 Entity Relationship Modelling (ER Modelling) Menurut Connolly and Begg (2010, p371), adalah model ER merupakan pendekatan top-down ke design database yang dimulai dengan mengidentifikasi data penting yang disebut entitas dan relationships diantara data yang harus direprsentasi di dalam model ini. 2.1.14.1 Entity Type Menurut Connolly and Begg adalah sebuah grup objek dengan kesamaan properties, yang di identifikasikan oleh organisasi yang memiliki keberadaan yang mandiri. Menurut Connolly and Begg (2010, p383), jenis Entitas atau Entity Type dibagi menjadi 2 (dua) jenis yaitu : - Strong Entity Type Entitas yang tidak bergantung pada entitas lain. - Weak Entity Type Entitas yang bergantung pada entitas lain. 2.1.14.2 Relationships Menurut Connolly and Begg (2010, p 374), sebuah set yang berarti mengasosiasi antara tipe entitas. Hubungan antar entitas dibagi menjadi 4 (empat) jenis yaitu: 1. Relation Type Sebuah kumpulan antara satu atau lebih tipe entitas yang saling berpartisipasi. 2. Relationship occurrence Kumpulan yang dapat diidentifikasi secara unik yang mencakup satu kejadian dari setiap 42 jenis entitas yang berpartisipasi. 3. Degree of Relationship Type Jumlah partisipan jenis entitas didalam hubungan antara entitas. 4. Recursive Relationship Hubungan yang entitasnya sama tetapi peran yang berbeda. 2.1.14.3 Attribute Menurut Connolly and Begg (2010, p379), adalah properties dari entitas atau hubungannya. Di dalam Attribute ada yang disebut dengan Attribute Domain. Attribute Domain adalah sekumpulan nilai yang diperbolehkan untuk satu atau lebih Attribute. Klasifikasi Attribute dibagi menjadi 3 (tiga) yaitu : 1. Simple and Composite Attribute Simple Attribute adalah yang dibentuk dari komponen tunggal dengan komponen independen yang ada. Composite Attribute adalah attribute yang dibentuk dari komponen jamak dan masingmasing komponennya independen. 2. Single-valued and Multi-valued Attribute Single-valued adalah Attribut yang memiliki nilai tunggal untuk setiap kejadian dari tipe entitas yang ada. Multi-valued Attribute adalah Attribute yang memiliki banyak nilai untuk setiap kejadian dari tipe entitas yang ada. 3. Derived attribute Sebuah atribut yang merepresentasikan sebuah nilai yang didapati dari nilai yang terkait dengan atribut atau sebuah set atribut, tidak harus dalam tipe entitas yang sama. Di dalam Attribute ada yang dipakai menjadi key yang terdiri dari : - Candidate Key Attribute yang bersifat unik mengidentifikasikan setiap kejadian yang terjadi pada entitas. - Primary Key Candidate Key yang telah dipilih untuk dijadikan key utama didalam entitas yang mengidentifikasikan kejadian yang telah terjadi pada entitas. - Composite Key Candidate Key yang teridiri dari dua atau lebih Attribute. 44 2.1.15 Unified Modelling Language (UML) Menurut Satzinger, Jackson, and Burd (2005, p48) adalah sebuah set standar dari konstruksi dan notasi dikembangkan secara special untuk pengembangan objek yang terorientasi. Unified Modelling Language merupakan sebuah standar konstruksi model dan notasi yang berfungsi untuk merancang dan menjelaskan sebuah proses suatu aplikasi. UML juga memuat berbagai notasi, dimana notasi-notasi tersebut merupakan model dari system software yang dibangun. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi perangkat lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta dalam penulisan bahasa pemograman apapun. UML sendiri dapat dikelompokkan menjadi beragam perspektif diagram yang berbeda untuk memodelkan suatu sistem, diantaranya : 2.1.15.1 Activity Diagram Menurut Satzinger, Jackson and Burd (2010, p141), sebuah activity diagram merupakan alur kerja diagram yang di deskripsi kepada beberapa variasi aktivitas pengguna (atau sistem). Orang yang melakukan setiap aktivitas, dan alur secara berurutan dari aktivitas ini. Activity diagram merupakan satu diagram yang terasosiasi dengan pendekatan objek yang terorientasi dengan UML diagram, tetapi itu bisa digunakan untuk membangun segala pendekatan. Menurut Satzinger, Jackson, and Burd (2010, p144) Dalam menggambar activity diagram terdapat beberapa simbol yang digunakan, yaitu: • Synchronization bar Merupakan notasi yang digunakan mengontrol pemisahan atau penyatuan dari jalur yang berurutan. • Swimlane Merupakan suatu daerah persegi dalama activity diagram yang mewakili aktivitas-aktivitas yang diselesaikan secara tunggal. • Starring activity Merupakan yang menandakan dimulainya sebuah aktivitas. • Transition arrow Merupakan garis penunjuk panah yang menggambarkan transisi dari suatu aktivitas dan arah dari suatu aktivitas. 46 • Activity Merupakan notasi yang menggambarkan suatu aktivitas. • Ending activity Merupakan notasi yang menandakan berkahirnya suatu aktivitas. Gambar 2.1 Simbol pada Activity Diagram Sumber:Satzinger, Jackson, and Burd (Satzinger, 2005, p348) 2.1.16 Database Language Seperti halnya bahasa pemrogramman, basis data memiliki bahasa tersendiri. Database Language adalah bahasa yang digunakan dalam membuat ataupun mengelola basis data. Menurut Connolly and Begg (2010, p91), Database Language terdiri atas 2 (dua) bagian yaitu : - Data Definition Language (DDL) DDL adalah bahasa yang digunakan untuk mendefinisikan data. Umumnya sintaks seperti Create adalah bahasa yang digunakan untuk mendefinisikan data. Menurut Connolly and Begg (2010, p92), menyatakan bahwa Data Definition Language adalah sebuah bahasa yang mengizinkan DBA atau pengguna untuk mendeskripsikan dan menamakan entitas, atribut, dan hubungan yang dibutuhkan aplikasi, bersama dengan integritas yang terasosiasi dan kendala keamanan. Skema database merupakan hal yang spesifik dengan definisi yang mengekspresikan arti bahasa spesial yang disebut dengan Data Definition Language. DDL digunakan untuk mendefinisi skema atau memodifikasi yang sudah ada. Ini tidak bisa digunakan untuk memanipulasi data. Hasil dari penyusunan laporan DDL adalah sebuah set tabel yang disimpan dalam file kolektif khusus yang 48 disebut sistem katalog. Sistem katalog mengintegrasikan meta data, yaitu data yang menggambarkan objek dalam database dan membuatnya lebih mudah untuk diakses atau dimanipulasi. Metadata berisi definisi catatan, data barang, benda-benda lain yang menarik bagi pengguna atau diperlukan oleh DBMS. DBMS biasanya saling terhubung dengan sistem katalog sebelum data aktual diakses dalam database. Pada level teoritikal, kita bisa mengidentifikasi perbedaan DDL dengan skema lainnya di dalam 3 level arsitektur, yaitu DDL untuk skema eksternal, DDL untuk skema konseptual, dan DDL untuk skema internal. Bagaimanapun juga, dalam prakteknya, ada satu DDL komprehensif yang memungkinkan spesifikasi minimal skema eksternal dan konseptual. - Data Manipulation Language DML memberikan sintaks yang digunakan untuk memanipulasi data yang ada sehingga dapat diterima oleh database. Contoh sintaks yang digunakan adalah Update, Select, Insert, dan Delete. Menurut Connolly and Begg (2010, p92) menjelaskan bahwa Data Manipulation Language adalah sebuah data yang memungkinkan sebuah set untuk mendukung operasi manipulasi data dasar pada data yang dimiliki dalam database. Bahasa ini disebut dengan sub bahasa data, karena mereka tidak termasuk dalam rancangan smua teknik komputerisasi yang diperlukan, misalnya pernyataan bersyarat atau berulang, yang tersedia oleh bahasa pemrogramman yang tinggi. Banyak DBMS mempunyai fasilitas untuk “embedding” sub bahasa di dalam sebuah bahasa pemrogramman yang tinggi, misalnya COBOL, Fortran, Pascal, ‘C’, ‘C++’, Java, or Visual Basic. Dalam kasus ini, bahasa pemrogramman yang tinggi biasanya disebut sebagai pengurus bahasa. DML terbagi dalam 2 (dua) jenis, yaitu sebagai berikut : • Procedural DML Sebuah bahasa yang mengizinkan pengguna memberitahukan sistem apa data yang diperlukan dan tepatnya bagaimana mengambil kembali data tersebut. • Nonprocedural DML Sebuah bahasa yang mengizinkan pengguna menyatakan data “apa” yang diperlukan DML dibanding dengan bagaimana data itu dapat diambil kembali. 50 2.1.17 SQL Structured Query Language (SQL) adalah sebuah cara berkomunikasi dengan database yang relasional yang membuat anda mendefinisikan, query, modifikasi, dan kontrol data. Menggunakan sintaks SQL, anda bisa merancang sebuah pernyataan yang mengekstrak catatan berdasarkan kriteria yang anda tentukan. Pernyataan dalam SQL dimulai dengan kata kunci kerja seperti “CREATE” or “SELECT”. SQL merupakan bahasa yang luar biasa, sebuah pernyataan yang simple bisa menimbulkan efek pada semua tabel. Dikutip pada jurnal MSDN (2011) : Beberapa kata kunci yang umum digunakan di SQL • SELECT Untuk mengidentifikasi tabel dan kolom mana yang ada dalam sumber yang akan digunakan. • WHERE Untuk menambahkan filter untuk menyeimpitkan apa saja yang akan dipilih. • ORDER BY Untuk menambahkan urutan kepada recordset. • INSERT Untuk menambahkan catatan baru pada recordset. • DELETE Untuk menghapus catatan dari recordset. • UPDATE Untuk memodifikasi kolom dalam sebuah catatan. 2.2 Teori Khusus 2.2.1 Klinik Menurut Permenkes (2011), Klinik adalah fasilitas pelayanan kesehatan yang menyelenggarakan pelayanan kesehatan perorangan yang menyediakan pelayanan medis dasar dan/atau spesialistik, diselenggarakan oleh lebih dari satu jenis tenaga kesehatan dan dipimpin oleh seorang tenaga medis. 2.2.2 Pasien Menurut Peraturan Menteri Kesehatan RI No. 269/MENKES/PER/III/2008, Pasien adalah setiap orang yang melakukan konsultasi masalah kesehatannya guna memperoleh pelayanan kesehatan yang diperlukan, baik secara langsung maupun tidak langsung. 2.2.3 Rekam Medis (Medical Record) Menurut Peraturan Menteri Kesehatan RI No. 269/MENKES/PER/III/2008, Rekam medis adalah berkas yang berisi catatan dan dokumen berkaitan dengan identitas pasien, hasil pemeriksaan, pengobatan, serta tindakan lain yang diberikan kepada pasien. Rekam medis berperan penting dalam pelayanan pasien karena kelengkapan data dalam rekam medis mendukung pengambilan keputusan pengobatan, penanganan dan tindakan medis. 52 Berdasarkan bentuknya, rekam medis dibedakan menjadi dua, yaitu : • Rekam medis konvensional Rekam medis konvensional yaitu rekam medis yang berbentuk lembaran kertas medis. • Rekam medis elektronik Rekam medis elektronik yaitu rekam medis yang berbentuk elektronik, dimana datanya tersimpan dalam suatu media computer. 2.2.3.1 Tujuan Rekam Medis Tujuan Rekam Medis adalah untuk menunjang tercapainya tertib administrasi dalam rangka upaya peningkatan pelayanan kesehatan. Tanpa didukung dengan system pengelolaan rekam medis yang baik dan benar, maka tertib administrasi tidak akan berhasil sebagaimana yang diharapkan. Sedangkan tertib administrasi merupakan salah satu factor yang menentukan dalam upaya pelayanan kesehatan (Shofari,2005). 2.2.3.2 Kegunaan Rekam Medis Kegunaan Rekam Medis secara umum adalah sebagai berikut : • Sebagai alat komunikasi antara dokter dan tenaga ahli lainnya yang ikut ambil bagian dalam memberikan pelayanan, pengobatan, perawatan kepada pasien. • Sebagai bukti tertulis atas segala tindakan pelayanan, perkembangan penyakit dan pengobatan selama pasien berkunjung. (Shofari, 2005) 2.2.4 Dokter Dan Dokter Gigi Menurut Peraturan Menteri Kesehatan RI No. 269/MENKES/PER/III/2008, Dokter dan dokter gigi adalah dokter, dokter spesialis, dokter gigi, dan dokter gigi spesialis lulusan pendidikan kedokteran atau kedokteran gigi baik di dalam maupun diluar negeri yang diakui oleh Pemerintah Republik Indonesia sesuai dengan peraturan perundang-undangan. 2.2.5 Obat Menurut Peraturan Menteri Kesehatan No. 949/MENKES/PER/VI/2000, Obat merupakan sediaan atau paduan bahan, termasuk produk biologi dan kontrasepsi, yang siap digunakan untuk mempengaruhi atau meyelidiki system fisiologi atau keadaan patologi dalam rangka penetapan diagnose, pencegahan, dan penyembuhan penyakit, serta pemulihan dan peningkatan kesehatan. Pengertian obat secara umum adalah bahan atau zat yang berasal dari tumbuhan, hewan, mineral maupun zat kimia tertentu yang dapat digunakan untuk mengurangi rasa sakit, memperlambat proses penyakit dan atau menyembuhkan penyakit. 54 2.2.6 Rawat Jalan Menurut Faste (dalam Erwan, 2010) Rawat Jalan adalah salah satu bentuk pelayanan kedokteran. Secara sederhana yang dimaksud dengan pelayanan rawat jalan adalah pelayanan kedokteran yang disediakan untuk pasien tidak dalam bentuk rawat inap (hospitalization). 2.2.7 Kerangka Berpikir