BAB 2 TINJAUAN PUSTAKA 2.1 Teori sistem basis data 2.1.1 Basis data Menurut Connolly dan Begg (2010:65) basis data dapat dianggap sebagai sekumpulan data yang saling terkait secara logis yang disertai deskripsi data tersebut , dan dirancang untuk memenuhi kebutuhan informasi sebuah organisasi. Menurut Asabe, Oye, dan Monday (2013:69), dalam jurnalnya menjelaskan basis data adalah sekumpulan record yang terstruktur dan saling berhubungan yang disimpan pada beberapa lokasi untuk memudahkan pengambilan dan eksplorasi data. Basis data dirancang untuk membantu menghilangkan data yang tidak penting dan mengurangi duplikasi data. 2.1.2 Relational database Menurut Connolly dan Begg (2010: 146), relational database adalah suatu kumpulan dari relasi yang telah dinormalisasi dengan nama relasi yang berbeda satu dengan yang lain. Relational database terdiri dari kumpulan tabel yang menyimpan data tertentu. Relational database menghasilkan informasi dalam tabel dan kolom. Tabel diartikan sebagai relasi yaitu sekumpulan data yang berasal dari jenis yang sama. Data – data dalam tabel dihubungkan sesuai dengan keys yang ada. 2.1.3 Database management system Menurut Connolly dan Begg (2010: 66), DBMS adalah sebuah sistem perangkat lunak yang memampukan user untuk mendifinisikan, membuat, memelihara, dan mengendalikan akses terhadap sistem basis data. Amy dan Ramaddan (2005:D-7), menjelaskan bahwa pengelolaan database secara fisik tidak dilakukan oleh pemakai secara langsung, tetapi ditangani oleh sebuah perangkat lunak (sistem) yang khusus. 7 8 Perangkat lunak (disebut DBMS) yang akan menentukan inilah bagaimana data diorganisasi, disimpan, diubah dan diambil kembali. DBMS juga menerapkan mekanisme pengamanan data, pemakaian data secara bersama, konsistensi data, dan sebagainya. Perangkat III+, FoxBase, lunak yang MS-Access dan Sybase DBMS adalah dBase dan Borland-Paradox (untuk kelas sederhana) atau Borland-Interbase, Informix, termasuk (untuk My SQL, SQLServer, Oracle, kelas berarti penggunaan beberapa DBMS secara kompleks). Multi DBMS bersama-sama dalam satu aplikasi. Satu DBMS bisa terdiri dari beberapa database. Satu database bisa terdiri dari beberapa tabel. Satu tabel terdiri dari beberapa field. 2.1.3.1 Komponen DBMS Connolly dan Begg (2010:68-73) menjelaskan ada 5 komponen utama yang dimiliki oleh DBMS, yaitu : 1. Hardware (perangkat keras) Dibutuhkan perangkat keras untuk menjalankan DBMS dan aplikasinya seperti personal computer, mainframe, maupun jaringan yang terdiri dari banyak komputer. 2. Software (perangkat lunak) Komponen dari perangkat lunak terdiri dari perangkat lunak DBMS itu sendiri dan program aplikasi. 3. Data Data pada sebuah sistem basis data baik itu single-user system maupun multi-user system harus terintegrasi dan dapat digunakan bersama. 4. Prosedur Instruksi dan aturan yang harus disertakan dalam mendesain dan menggunakan data dalam basis data dan DBMS. 5. Manusia Orang-orang yang terlibat dalam DBMS antara lain : a. Data administrator, orang yang bertanggung jawab dalam manajemen data yang meliputi database planning, standar 9 pengembangan dan pemeliharaan, aturan dan prosedur, dan perancangan basis data konseptual/logikal. b. Database administrator, orang bertanggung jawab terhadap realisasi fisikal dari database yang meliputi perancangan dan implementasi basis data fisikal, kontrol keamanan dan integritas, pemeliharaan sistem operasional, dan memastikan bahwa performa aplikasi dapat memuaskan user. c. Database designer, ada dua tipe dari database designer yaitu : i. Logical database designer, tugasnya berhubungan dengan pengidentifikasian data (entitas dan atribut), hubungan antar data, dan constraint pada data yang akan disimpan dalam basis data. ii. Physical database designer, bertugas untuk memutuskan bagaimana desain logikal basis data direalisasikan. d. Application developer, bertanggung jawab untuk membuat aplikasi basis data dengan menggunakan bahasa pemrograman yang ada. e. End user, terdiri dari pengguna yang tidak perlu mengetahui basis data dan DBMS (Naive), serta pengguna yang familiar dengan struktur basis data dan DBMS (Shopisticated). 2.1.3.2 Fasilitas DBMS Menurut Connolly dan Begg (2010:66), fasilitas yang dimiliki DBMS yaitu : 1. Data Definition Language (DDL), digunakan untuk menspesifikasikan tipe data, struktur, dan constraint data. Semua spesifikasi disimpan di dalam basis data. 2. Data Manipulation Language (DML), digunakan untuk memberikan fasilitas query data. 10 3. Pengendalian akses basis data, digunakan untuk mengontrol keamanan sistem, integritas sistem, pengendalian share data, backup dan recovery system, dan katalog deskripsi data dalam basis data. 2.1.4 Database system development lifecycle Gambar 2.1 Tahapan dari Database System Development Lifecycle Sumber : (Connolly dan Begg:314,2010) 11 Menurut Connolly dan Begg (2010:313-336) tahapan-tahapan dalam Database System Development Lifecycle adalah : 1. Database planning. Perencanaan basis data merupakan aktivitas menajemen yang memungkinkan tahapan-tahapan Database System Development Lifecycle untuk direalisasikan se-efektif dan dan seefisien mungkin. Dalam perancangan database yang tahap-tahap yang harus dilakukan adalah: a. Mendefinisikan mission statement secara jelas untuk sistem database. Mission statement menjelaskan tujuan utama sistem basis data dan menyediakan maksud lebih jelas dalam pembuatan aplikasi basis data secara efisien dan efektif. b. Setelah mission statement selesai didefinisikan, maka langkah selanjutnya adalah mengidentifikasikan mission objectives. Setiap mission objectives akan menjelaskan tugas tertentu yang harus didukung oleh sistem basis data, dengan asumsi jika basis data mendukung mission objectives, maka mission statement juga akan sesuai. 2. System definition, yaitu proses mendeskripsikan ruang lingkup dan batasan dari aplikasi basis data serta sudut pandang utama user. Dalam mendeskripsikan ruang lingkup sistem, penting bahwa tidak hanya area aplikasi dan user saat itu yang dimasukkan ke dalam batasan sistem, tetapi juga user dan aplikasi di masa mendatang. Telah dijelaskan di atas bahwa system definition juga mencakup pendefinisian sudut pandang user, yaitu mendefinisikan apa saja yang dibutuhkan oleh sistem basis data menurut perspektif dari pekerja yang berperan dalam perusahaan(seperti manager dan supervisor) atau area aplikasi perusahaan. 3. Requirement collection and analysis, yaitu proses pengumpulan dan analisis informasi mengenai bagian dari organisasi yang akan didukung oleh sistem basis data dan mengggunakan informasi ini untuk mengidentifikasikan kebutuhan pada sistem yang baru. Ada banyak teknik untuk mengumpulkan informasi-informasi ini, teknik ini disebut fact-finding. 12 Informasi yang dikumpulkan pada tahap ini biasanya kurang terstruktur, informasi ini harus diubah ke dalam bentuk yang lebih terstruktur menggunakan teknik yang disebut dengan requirement specification techniques yang antara lain terdiri dari Data Flow Diagram (DFD), Unified Modelling Language (UML). 4. Database design, merupakan proses dari pembuatan sebuah rancangan yang mendukung mission statement dan mission objective perusahaan untuk sistem basis data yang dibutuhkan. Metodologi perancangan sistem basis data terdiri dari 3 tahap, yaitu : Tahap 1: Perancangan Sistem Basis data secara konseptual, yaitu proses membuat model dari data yang digunakan dalam perusahaan tanpa pertimbangan fisikal. Tahap 2: Perancangan sistem basis data secara logikal, yaitu proses membangun sebuah model data yang digunakan dalam perusahaan berdasarkan sebuah model data yang spesifik, namun tidak tergantung pada DBMS tertentu maupun pertimbangan fisikal lainnya. Dalam tahap ini akan dilakukan teknik normalisasi untuk menguji kebenaran dari sebuah data model logikal. Normalisasi ini berfungsi untuk memastikan bahwa tidak ada data redundan yang dapat menimbulkan update anomaly saat basis data diimplementasikan. Tahap 3: Perancangan sistem basis data secara fisikal, yaitu proses menghasilkan sebuah deskripsi implementasi basis data pada tempat penyimpanan sekunder. Tahap ini mendeskripsikan relasi-relasi dasar, organisasi file, dan indeks yang digunakan untuk mendapatkan akses yang efisien ke data, serta mendeskripsikan integrity constraint dan keamanan data. 5. DBMS selection, Pemilihan DBMS yang tepat untuk mendukung sistem basis data. Tahap-tahap utama untuk memilih DBMS, yaitu: a. Mendefinisikan terminologi dari studi referensi Dibuat dengan menyatakan tujuan dan ruang lingkup pembelajaran, tugas-tugas yang akan dikerjakan, penjelasan 13 kriteria (berdasarkan spesifikasi akan kebutuhan pengguna) yang digunakan untuk mengevaluasi produk-produk DBMS, daftar produk-produk yang dimungkinkan, batasan dan skala waktu semua batasan- yang dibutuhkan untuk proses pembelajaran. b. Mendaftar dua atau tiga produk Untuk mendapatkan keberhasilan implementasi maka penting untuk membuat daftar produk-produk DBMS yang akan dipilih yang nantinya digunakan dalam evaluasi. Kriteria-kriteria yang patut dipertimbangkan antara lain budget yang tersedia, apakah produk DBMS tersebut kompatibel dengan software lainnya, dan apakah produk tersebut hanya berjalan pada hardware tertentu. World Wide Web merupakan sumber informasi yang paling baik yang dapat digunakan untuk mengidentifikasikan kandidat DBMS yang potensial. c. Evaluasi produk Ada berbagai fitur yang dapat digunakan untuk mengevaluasi produk DBMS. Daftar fitur-fitur yang digunakan dalam evaluasi DBMS ini dikelompokkan menjadi definisi data, definisi fisik, kemampuan akses, penanganan transaksi, pengembangan, dan fitur lainnya. d. Rekomendasi pilihan dan membuat laporan Langkah akhir dari pemilihan DBMS adalah mendokumentasikan proses dan membuat pernyataan mengenai produk DBMS tertentu yang direkomendasikan. 6. Application design. Desain aplikasi adalah rancangan dari user interface dan program-program aplikasi yang menggunakan dan memproses basis data. Dua aspek dalam desain aplikasi, yaitu: a. Perancangan transaksi (transaction design) Transaksi adalah satu aksi atau serangkaian aksi yang dilakukan oleh user atau program aplikasi, yang mengakses atau mengubah konten dari basis data. Tujuan dari desain transaksi adalah untuk mendefinisikan dan mendokumentasikan 14 karakteristik transaksi tingkat tinggi yang dibutuhkan pada database, yaitu: i. Data yang akan digunakan dalam transaksi ii. Karakteristik fungsional dari suatu transaksi iii. Output transaksi iv. Keuntungannya bagi user v. Tingkat kegunaan yang diharapkan Tiga tipe transaksi yaitu : i. Retrieval transaction, digunakan untuk mengambil data untuk dapat ditampilkan pada layar atau dalam suatu laporan. ii. Update transaction, digunakan untuk menambahkan record baru, menghapus record lama, atau memodifikasi record yang sudah ada di dalam basis data. iii. Mixed transaction, meliputi pengambilan dan perubahan data. b. Perancangan antarmuka pengguna (user interface design). Tujuan dari perancangan antarmuka pengguna adalah merancang interface yang efektif untuk sistem perangkat lunak. 7. Prototyping, Membuat model kerja dari sebuah sistem basis data. Tujuan utama dari pembuatan prototype ini adalah memungkinkan pengguna menggunakan prototype tersebut untuk mengidentifikasikan fitur-fitur pada sistem yang bekerja dengan baik maupun yang tidak, dan jika mungkin untuk mengusulkan peningkatan maupun fitur-fitur baru pada sistem database, mengklarifikasi kebutuhan user baik untuk user itu sendiri maupun untuk developer sistem, dan untuk melakukan evaluasi pada perancangan sistem. Terdapat dua macam strategi prototyping yang digunakan saat ini : a. Requirement prototyping, menggunakan prototipe untuk menentukan kebutuhan dari sistem basis data dan ketika kebutuhan itu telah terpenuhi maka prototype akan dibuang. b. Evolutionary prototyping, digunakan untuk tujuan yang sama. Perbedaannya protoype tidak dibuang pengembangan lanjutan menjadi aplikasi digunakan. tetapi database dengan yang 15 8. Implementation, Implementasi merupakan realisasi secara fisik dari basis data dan desain aplikasi. Implementasi basis data dilakukan dengan menggunakan Data Definition Language (DDL) dari DBMS yang dipilih atau Graphical User Interface (GUI). DDL ini digunakan untuk membuat struktur basis data dan file basis data kosong. Aplikasi program diimplementasikan menggunakan third or forth generation language (3GL atau 4GL). 9. Data conversion dan loading, merupakan pemindahan data ke dalam basis data yang baru dan mengubah aplikasi yang ada untuk dapat berjalan pada basis data yang baru. Langkah ini diperlukan hanya ketika suatu sistem basis data baru menggantikan sistem basis data yang lama. 10. Testing, merupakan proses menjalankan sistem basis data dengan tujuan mencari kesalahan(error). 11. Operational maintenance, yaitu suatu proses untuk memonitor dan memelihara sistem basis data setelah instalasi. Dalam langkah- langkah yang sebelumnya, aplikasi basis data telah secara penuh diterapkan dan diuji. Sistem yang telah ada sekarang berpindah ke tahap pemeliharaan basis data yang melibatkan aktivitas-aktivitas berikut: a. Memonitor performa sistem. Jika performa sistem menurun atau jatuh maka dibutuhkan organisasi basis data kembali. b. Melakukan pemeliharaan dan peningkatan sistem basis data (apabila dibutuhkan). 2.1.5 SQL SQL adalah contoh dari bahasa berorientasi transformasi (transform oriented language), atau bahasa yang dirancang untuk menggunakan hubungan untuk mengubah input menjadi output yang diperlukan. Menurut Connolly dan Begg (2010:184-185) sebagai sebuah bahasa, standard ISO SQL memiliki dua komponen utama, yaitu: 16 2.1.5.1 Data definition language (DDL) Sebuah Data Definition Language (DDL) digunakan untuk mendefinisikan struktur basis data dan mengontrol akses ke data. Contoh operasi DDL adalah sebagai berikut: 1. Membuat tabel baru ke dalam basis data (CREATE). 2. Menghapus tabel dari basis data (DROP). 3. Memodifikasi struktur tabel dalam basis data (ALTER). 2.1.5.2 Data manipulation language (DML) Sebuah Data Manipulation Language (DML) digunakan untuk pengambilan dan pembaharuan data. Contoh operasi-operasi dalam DML yaitu: 1. Memasukkan data baru ke dalam basis data (INSERT). 2. Memodifikasi data yang tersimpan dalam basis data data yang terdapat dalam basis data (UPDATE). 3. Pengambilan (SELECT) . 4. Penghapusan data dari basis data (DELETE / DROP). 2.1.6 Entity relationship modeling Menurut Connolly dan Begg (2010:371), salah satu aspek yang sulit dalam perancangan database adalah fakta bahwa designer, programmer, dan end-user cenderung melihat data dengan cara yang berbeda. Akibatnya database designer tidak mendapatkan pemahaman mengenai bagaimana operasi suatu perusahaan dan akhirnya gagal dalam memenuhi kebutuhan user. Oleh karena itu, untuk memastikan bahwa database designer mendapatkan pemahaman yang pasti mengenai data dan bagaimana data tersebut digunakan oleh perusahaan dibutuhkan sebuah model komunikasi yang non- teknis dan bebas dari keambiguan. Salah satu bentuk model komunikasi tersebut adalah Entity Relationship Model. Atzeni (2003: 163) menjelaskan Entity Relationship Model adalah sebuah model data konseptual yang menyediakan kemampuan untuk mendeskripsikan kebutuhan data dari sebuah aplikasi dengan cara yang 17 mudah dimengerti dan tidak bergantung pada kriteria pengaturan dan organisasi data pada sistem. 2.1.6.1 Entity relationship diagram Connolly dan Begg (2010:372) menjelaskan EntityRelationship Diagram (ERD) adalah salah satu produk ER modeling yang merepresentasikan hubungan antar data yang dideskripsikan dalam spesifikasi kebutuhan. 2.1.6.2 Tipe entitas Menurut Connolly dan Begg (2010: 372) konsep dasar dari model ER adalah tipe entitas, yaitu kumpulan dari objek-objek dengan sifat independen. yang sama dan mempunyai eksistensi yang Keberadaan entitas dapat berupa fisik maupun abstrak. Entity occurence, yaitu pengidentifikasian objek yang unik dari sebuah tipe entitas. Setiap entitas diidentifikasikan dan disertakan property-nya. Gambar 2.2 Representasi Diagram dari Tipe Entity Sumber : (Connolly dan Begg: 374,2010) Setiap tipe entitas dituliskan dengan bentuk persegi panjang yang diberi label nama entitasnya, yang biasanya merupakan kata benda tunggal. 2.1.6.3 Tipe relationship Connolly dan Begg (2010: 374) bahwa tipe relationship merupakan kumpulan keterhubungan yang mempunyai arti antara tipe entitas yang ada. Setiap tipe relationship akan diberi nama 18 sesuai dengan fungsinya. Sedangkan relationship occurrence merupakan relasi-relasi yang diidentifikasi secara unik yang meliputi keberadaan tiap tipe entitas yang berpartisipasi. Gambar 2.3 Representasi Diagram dari Relationship Sumber : (Connolly dan Begg: 376,2010) Connolly dan Begg (2010: 376) menjelaskan bahwa setiap tipe relationship ditampilkan dalam bentuk garis berlabel nama relationship tersebut dan menghubungkan entitas-entitas yang berhubungan. Biasanya, nama sebuah relationship berasal daris sebuah kata kerja. 2.1.6.3.1 Derajat relationship Menurut Connolly dan Begg (2010: 376) derajat relationship yaitu jumlah entitas yang berpartisipasi dalam suatu relationship.Derajat relationship terdiri dari : 1. Binary relationship, hubungan antar dua tipe entitas. Gambar 2.4 Contoh Binary Relationship Sumber : (Connolly dan Begg: 376,2010) 19 2. Ternary relationship, hubungan antar tiga tipe entitas. Gambar 2.5 Contoh Ternary Relationship Sumber : (Connolly dan Begg: 377,2010) 3. Quaternary relationship, hubungan antar empat tipe entitas. Gambar 2.6 Contoh Quaternary Relationship Sumber : (Connolly dan Begg: 377,2010) 2.1.6.3.2 Recursive relationship Recursive relationship relationship di mana merupakan tipe entitas sebuah tipe yang sama berpartisipasi lebih dari satu kali dengan peran yang berbeda. Recursive relationship ini juga biasa disebut unary relationship. 20 Gambar 2.7 Contoh Recursive Relationship Sumber : (Connolly dan Begg: 378,2010) 2.1.6.4 Atribut Connolly dan Begg (2010: 379) menjelaskan bahwa atribut merupakan sifat-sifat dari sebuah entitas atau tipe relationship. Setiap atribut ini berhubungan dengan sekumpulan nilai yang disebut domain. Attribute domain adalah himpunan nilai yang diperbolehkan untuk satu atau lebih atribut. Macam-macam atribut antara lain : 1. Simple attribute, yaitu atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang independen dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi dan biasanya disebut atomic attribute. 2. Composite attribute, yaitu atribut yang terdiri dari beberapa komponen, dimana masing-masing komponen memiliki keberadaan yang independen. Dalam composite attribute, beberapa atribut dapat dipecah menjadi komponen yang lebih kecil yang masing-masing memiliki keberadaan yang independen. 3. Single-valued attribute, yaitu atribut yang mempunyai nilai tunggal untuk setiap kejadian dari sebuah tipe entitas. 4. Multi-valued attribute, yaitu atribut yang mempunyai beberapa nilai untuk setiap kejadian dari sebuah tipe entitas. 5. Derived attribute, yaitu sebuah atribut yang merepresentasikan sebuah nilai yang diturunkan dari nilai suatu atribut atau sekumpulan atribut yang berhubungan dan tidak harus berasal dari satu entitas. 21 2.1.6.5 Keys Connolly dan Begg (2010: 381) menjelaskan macammacam key yang digunakan untuk mengidentifikasikan suatu tipe entitas: 1. Candidate key adalah kumpulan attribute minimal yang secara unik mengidentifikasikan suatu tipe entitas. 2. Primary key adalah candidate key terpilih yang secara unik mengidentifikasikan setiap kejadian dari sebuah tipe entitas. 3. Composite key adalah candidate key yang terdiri dari dua atau lebih atribut. 4. Alternate key adalah candidate key yang tidak terpilih menjadi primary key. 5. Foreign key adalah sebuah atribut atau sekumpulan atribut dalam sebuah relasi yang merupakan candidate key relasi lainnya. 2.1.6.6 Strong entity dan weak entity Connolly dan Begg (2010: 383) menjelaskan bahwa strong entity (entitas yang kuat): sebuah tipe entitas yang keberadaannya tidak bergantung dengan tipe entitas lainnya. Karakteristik dari strong entity ini adalah setiap kejadiannya selalu diidentifikasikan secara unik menggunakan primary key dari tipe entitas tersebut. Sedangkan Weak entity (entitas yang lemah) menurut Connolly dan Begg (2010: 383) adalah sebuah tipe entitas yang keberadaannya bergantung pada tipe entitas lainnya. Karakteristik dari weak entity ini adalah setiap kejadian yang terjadi tidak dapat diidentifikasikan secara unik menggunakan berhubungan dengan entitas tersebut. atribut yang 22 Gambar 2.8 Contoh Strong Entity dan Weak Entity Sumber : (Connolly dan Begg: 384,2010) 2.1.6.7 Structural constraints Menurut Connolly dan Begg (2010:385) multiplicity adalah jumlah kejadian yang mungkin terjadi pada sebuah tipe entitas yang berhubungan ke sebuah kejadian dari tipe entitas lain melalui suatu relationship tertentu. Macam-macam relationship yaitu: 1. One-to-One (1:1) Relationships : hubungan relasi satu ke satu yaitu setiap anggota pada himpunan entitas A berhubungan paling banyak dengan satu anggota pada himpunan entitas B begitu juga sebaliknya setiap anggota pada himputan entitas B berhubungan paling banyak dengan satu anggota pada himpunan entitas A. Gambar 2.9 Contoh One-to-One (1:1) Relationships Sumber : (Connolly dan Begg: 386,2010) 2. One-to-Many (1:*) Relationships : setiap anggota pada himpunan entitas A dapat berhubungan dengan banyak anggota pada himpunan entitas B, tetapi setiap anggota pada 23 entitas B dapat berhubungan dengan satu anggota pada himpunan entitas A. Gambar 2.10 Contoh One-to-Many (1:*) Relationships Sumber : (Connolly dan Begg: 388,2010) 3. Many-to-Many (*:*) Relationships : Setiap anggota pada himpunan entitas A dapat berhubungan dengan banyak anggota pada himpunan entitas B begitu pula sebaliknya setiap anggota pada himpunan entitas B dapat berhubungan dengan banyak anggota pada himpunan entitas A. Gambar 2.11 Contoh Many-to-Many (*:*) Relationships Sumber : (Connolly dan Begg: 389,2010) 2.1.7 Normalisasi Menurut Connolly dan Begg (2010: 415), normalisasi adalah suatu teknik dalam perancangan basis data yang prosesnya dimulai dengan pengujian relationship (yang disebut functional dependencies) antar atribut. Normalisasi dilakukan dengan sekumpulan pengujian yang membantu mengidentifikasikan pengelompokan atribut secara optimal untuk mengidentifikasikan sekumpulan relasi yang sesuai dan mendukung 24 kebutuhan data perusahaan. Lebih lanjut Connolly dan Begg (2010: 416) menjelaskan yang dimaksud dengan relasi yang sesuai adalah relasi yang memiliki karakteristik seperti berikut ini: 1. Jumlah atribut minimal yang dibutuhkan untuk mendukung kebutuhan data perusahaan 2. Atribut yang memiliki hubungan logikal yang erat (dideskripsikan sebagai functional dependencies) ditemukan dalam relasi yang sama. 3. Jumlah redundansi yang minimal di setiap atribut. Connolly dan Begg (2010: 428-436) menjelaskan ada beberapa tahap dalam normalisasi yaitu: 1. Unnormalized form (UNF) Merupakan bentuk dimana sebuah tabel berisi satu atau lebih repeating group. Untuk mengubah unnormalized table menjadi 1NF, repeating group dalam table diidentifikasi dan dihilangkan. Repeating group adalah sebuah atau sekelompok atribut di dalam sebuah table yang memiliki banyak nilai untuk sebuah kejadian dari atribut key. Ada dua pendekatan untuk menghilangkan repeating group dari unnormalized table yaitu: a. Repeating group dihilangkan dengan memasukkan data yang tepat pada baris kolom kosong yang berisi data yang berulang. b. Repeating group dihilangkan dengan menempatkan data yang berulang bersama dengan salinan key atribut asli dalam relasi yang terpisah. 2. First normal form (1NF) Relasi yang dimana di tiap titik pertemuan baris dan kolomnya hanya berisi satu nilai saja. Hasil penghilangan repeating group akan menghasilkan bentuk 1NF. 3. Second normal form (2NF) Relasi yang berada di dalam first normal form dan setiap atribut nonprimary key nya bergantung secara fungsional kepada primary key. Normalisasi relasi 1NF menjadi 2NF dengan menghilangkan partial dependency.Jika terdapat partial dependency, atribut yang bergantung secara fungsional dihilangkan dari relasi 25 dengan meletakkannya pada relasi baru bersama dengan salinan determinannya. 4. Third normal form (3NF) Relasi yang ada di 1NF dan 2NF di mana tidak ada atribut non-primary keynya yang mempunyai ketergantungan transitif kepada primary key. Normalisasi 2NF menjadi 3NF dilakukan dengan menghilangkan ketergantungan transitif. Jika terdapat transitive dependency, atribut yang bergantung secara transitif dihilangkan dari relasi dengan meletakkan atribut pada relasi baru bersama dengan salinan determinan. 2.1.8 Perancangan basis data konseptual, logikal, dan fisikal 2.1.8.1 Perancangan basis data konseptual (Conceptual Database Design) 1. Membangun data model konseptual Menurut Connolly dan Begg (2010: 467) perancangan basis data konseptual adalah suatu proses pembentukan model data yang digunakan dalam perusahaan, independen dari keseluruhan aspek fisik. Model basis data dibangun dengan menggunakan spesifikasi kebutuhan informasi user. yang berada Perancangan basis dalam data konseptual ini secara keseluruhan tidak bergantung pada detil implementasi seperti hardware platform, program aplikasi, DBMS, bahasa pemrograman, dan pertimbangan fisik lainnya. Langkah ini bertujuan untuk membagi rancangan menjadi tugas-tugas yang dapat diatur dengan melihat sudut pandang yang berbeda dari pengguna di dalam suatu organisasi. Hasil dari langkah ini berupa pembuatan satu atau lebih local conceptual data model yang merupakan gambaran yang tepat dan lengkap dari suatu organisasi dilihat dari para pengguna yang berbeda-beda. Menurut Connolly dan Begg (2010: 470-485) langkah-langkah yang terdapat dalam perancangan basis data konseptual antara lain : 26 a. Mengidentifikasikan tipe-tipe entitas Bertujuan untuk menentukan tipe-tipe entity utama yang dibutuhkan. Menentukan dilakukan dapat dengan memeriksa spesifikasi kebutuhan pengguna. Setelah terdefinisi, entity yang entity tepat dan jelas diberikan nama dengan menggunakan kata benda atau frase kata benda pada spesifikasi kebutuhan pengguna. Setelah tipe-tipe entitas selesai diidentifikasi, catat nama dan deskripsi dari entitas-entitas tersebut dalam sebuah kamus data (data dictionary). b. Mengidentifikasikan tipe-tipe relationship Bertujuan untuk mengidentifikasikan semua relationship yang ada antara entitas-entitas. Nama dari suatu relationship menggunakan kata kerja atau suatu kata yang berhubungan dengan kata kerja. Dalam merepresentasikan entitas beserta hubungannya secara lebih mudah dapat menggunakan Entity Relationship Diagram (ERD). Setelah semua tipe relationship diidentifikasikan maka sebaiknya dicatat dalam kamus data. c. Mengidentifikasikan dan menghubungkan atribut- atribut dengan tipe entity dan relationship. Bertujuan untuk menghubungkan atribut dengan tipe – tipe entitas atau relationship yang tepat. Atribut yang dimiliki setiap entitas atau relationship memiliki identitas atau karakteristik yang sesuai dengan memperhatikan atribut berikut : simple atau composite attribute, single atau multi-valued attribute dan derived attribute. Setelah atribut-atribut diidentifikasikan dan dihubungkan dengan tipe entitas dan relationship yang sesuai, maka semuanya itu dicatat dalam kamus data. d. Menentukan domain atribut Domain adalah sekumpulan nilai dimana satu atau lebih atribut memperoleh nilai darinya. Bertujuan untuk 27 menentukan domain untuk atribut-atribut pada model data konseptual. e. Menentukan atribut-atribut candidate key dan primary key Bertujuan untuk mengidentifikasi candidate key pada setiap entitas, jika terdapat lebih dari satu candidate key, dan memilih satu untuk menjadi primary key dan yang lainnya menjadi alternate keys. f. Mempertimbangkan penggunaan enhanced modeling (optional). Tujuan langkah ini adalah mempertimbangkan penggunaan dari enhanced modeling, seperti specialization, generalization, aggregation, composition. Dimana masing-masing pendekatan dapat dilakukan sesuai dengan kebutuhan yang ada. Specialization dan generalization adalah proses dalam mengelompokan beberapa entitas dan menghasilkan entitas yang baru. Beda dari keduanya adalah cara prosesnya, dimana spesialisasi menggunakan proses top-down dan generalisasi menggunakan proses bottom-up. Aggregation menggambarkan sebuah tipe entity dengan sebuah tipe relationship dimana suatu relasi hanya akan ada jika telah ada relationship lainnya. g. Memeriksa model dari redundancy Bertujuan untuk memeriksa conceptual model untuk menghindari dari adanya informasi yang redundan. Yang dilakukan pada langkah ini adalah : i. Memeriksa kembali one-to-one relationship. ii. Menghilangkan relasi yang redundansi. iii. Mempertimbangkan dimensi waktu. h. Memvalidasi local conceptual model dengan transaksitransaksi user Tujuannya adalah untuk menjamin bahwa conceptual data model mendukung kebutuhan transaksi. Ada dua pendekatan yang mungkin untuk mejamin bahwa 28 local conceptual data model mendukung kebutuhan transaksi yaitu : i. Mendeskripsikan transaksi Memeriksa seluruh informasi (entitas, relationship, dan attribute) yang diperlukan pada setiap dengan transaksi yang disediakan oleh model mendokumentasikan penggambaran dari tiap kebutuhan transaksi. ii. Mengunakan transaksi pathways Pendekatan kedua, untuk memvalidasi data model dengan melibatkan keperluan diagram transaksi yang yang mewakili pathways diambil dari tiap transaksi secara langsung yang terdapat pada ER diagram. i. Meninjau kembali local conceptual model dengan pengguna. Bertujuan untuk me-review kembali conceptual model dan memastikan bahwa data model tersebut sudah benar. 2.1.8.2 Perancangan basis data logikal (logical database design) 1. Membangun data model logical Adalah model untuk menerjemahkan conceptual data ke logical data model dan kemudian melakukan validasi model ini untuk memeriksa bahwa secara struktural benar dan mampu mendukung transaksi yang diperlukan. Tujuan utama adalah untuk menerjemahkan conceptual data model yang dibuat pada langkah pertama ke dalam logical data model dari persyaratan data perusahaan. Menurut Connolly dan Begg (2010: 490-518) langkahlangkah yang dilakukan : 29 a. Menurunkan relasi untuk local logical data model Bertujuan untuk membuat hubungan logical model yang mewakili entity, relationship dan attribute yang telah didefinisi. Mendeskripsikan komposisi tiap hubungan memakai Database Definition Language (DBDL) untuk relasi yang diikuti dengan daftar dari relasi attribute yang mudah lalu mengidentifikasikan primary key dan foreign key dari suatu relasi. Untuk memperoleh relasi untuk local data model, maka diperlukan penjelasan untuk mendeskripsikan struktur yang mungkin dalam data model saat ini. b. Memvalidasi relasi dengan menggunakan normalisasi Dengan menggunakan normalisasi, maka model yang dihasilkan mendekati model dari kebutuhan perusahaan, konsisten dan memiliki sedikit redundansi dan stabilitas yang maksimum. c. Memvalidasi relasi dengan transaksi pengguna Bertujuan untuk menjamin bahwa relasi dalam model logikal tersebut mendukung spesifikasi kebutuhan pengguna secara detail. Selain itu juga untuk meyakinkan bahwa tidak ada kesalahan yang muncul sewaktu membuat suatu relasi. d. Memeriksa kendala-kendala integritas (Check Integrity Constraints) untuk memeriksa kendala-kendala integritas dinyatakan dalam model data logis (logical data model). Terdapat lima tipe integrity constraints yang harus diperhatikan, yaitu : i. Required data Beberapa atribut harus selalu berisi nilai yang benar (valid), tidak dapat bernilai null. Constraint ini harus diidentifikasikan pada mendokumentasikan atribut pada kamus data. saat 30 ii. Attribute domain constraints Setiap atribut memiliki domain, yaitu himpunan nilai yang dibolehkan. Constraint ini harus diidentifikasikan pada saat pemilihan atribut domain untuk data model. iii. Multiplicity Multiplicity menunjukkan batasan yang ditempatkan pada relasi antar data di database. iv. Entity integrity Primary key dari sebuah entity tidak boleh bernilai null. Constraint ini harus dipertimbangkan pada saat penentuan primary key bagi setiap tipe entity. v. Referential integrity Jika suatu foreign key memiliki nilai, maka nilai tersebut harus menunjuk ke sebuah baris yang ada pada relasi ‘parent’. vi. General constraints Kegiatan update entity dibatasi oleh peraturan atau kebijakan organisasi yang mengatur transaksi yang diwakilkan oleh update yang dilakukan. e. Melihat kembali local logical data model dengan pengguna Bertujuan untuk menjamin local logical data model dan mendukung dokumentasi yang menggambarkan model yang sudah benar. f. Menggabungkan local logical data model menjadi global model (optional) Pada langkah ini, setiap local logical data model menghasilkan ER diagram, skema relasional, kamus data dan dokumen mendeskripsikan constraints pendukung dari model. yang Beberapa tugas yang harus dikerjakan adalah sebagai berikut : 31 i. Memeriksa kembali nama dan isi dari entities dari relationship dan candidate key. ii. Memeriksa kembali nama dan isi dari relationships atau foreign keys. iii. Menggabungkan entities atau hubungan dari local data model. iv. Mengikutsertakan (tanpa menggabungkan) entities atau relationships yang unik pada tiap local data model. v. Menggabungkan relationships atau foreign key dari local data model. vi. Mengikutsertakan (tanpa menggabungkan) relationships atau foreign key unik pada tiap local data model. vii. Memeriksa untuk entities (hubungan) dan relationships atau foreign key yang kurang. viii. Memeriksa foreign keys ix. Memeriksa integrity constraints. x. Menggambarkan ER diagram. xi. Melakukan update dokumen. g. Mengecek pertumbuhan yang akan datang Bertujuan untuk menentukan apakah ada perubahan yang signifikan seperti keadaan yang tidak terduga dimasa mendatang dan menilai apakah model logikal tersebut dapat menampung atau menyesuaikan perubahan yang terjadi. 2.1.8.3 Perancangan basis data fisikal (physical database design) Suatu proses yang menghasilkan deskripsi implementasi basis data pada pemyimpanan sekunder. Itu menggambarkan hubungan dasar, organisasi file, dan indeks yang digunakan untuk arsip akses yang efisien terhadap data, dan setiap kendala terkait integritas dan keamanan diukur. Dapat dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS tertentu. 32 Menurut Connolly dan Begg (2010:523) tugas-tugas yang dilakukan dalam langkah ini antara lain : 1. Menerjemahkan model data logikal untuk DBMS yang ditargetkan. Langkah- langkahnya sebagai berikut : a. Merancang relasi dasar Dalam memulai merancang physical design, diperlukan untuk mengumpulkan dan memahami informasi tentang relasi yang dihasilkan dari logical database design. Informasi yang penting bisa didapatkan dari kamus data dan DBDL (Database Design Language). b. Merancang representasi derived data Bertujuan untuk menentukan bagaimana setiap data yang diperoleh mewakili global logical data model ke dalam DBMS. c. Merancang general constraints Bertujuan untuk merancang batasan-batasan umum yang ada pada perusahaan. 2. Merancang organisasi file dan index a. Menganalisis transaksi Bertujuan untuk mengerti fungsi dari transaksi yang dijalankan pada basis data dan menganalisis transaksi yang penting. Kriteria kemampuan yang harus diidentifikasikan dalam menganalisis transaksi adalah : i. Transaksi dapat berjalan secara sering dan akan mempunyai dampak yang signifikan pada performa. ii. Transaksi yang kritis pada operasi dan bisnis. iii. Waktu selama sehari atau seminggu ketika akan ada permintaan yang tinggi pada saat basis data dibuat. b. Memilih file organisasi Untuk menentukan organisasi file yang efisien untuk setiap hubungan dasar. c. Memilih indeks Bertujuan untuk meningkatkan performa dalam suatu sistem basis data. Salah satu pendekatan untuk 33 memilih organisasi file yang cocok untuk relasi adalah untuk menyimpan tuples yang tidak disimpan dan dibuat sebanyak secondary indexes sebagaimana diperlukan. Oleh karena itu, atribut yang digunakan adalah: i. Atribut yang sering digunakan untuk joint operations untuk membuat lebih efisien. ii. Atribut yang sering dipesan untuk mengakses tuples pada suatu relasi didalam urutan yang menunjukkan atribut. Terdapat tiga jenis index yaitu : i. Primary Index Pengindeksan dilakukan pada kolom (key kunci field), yang diurutkan terlebih dahulu secara sekuensial. ii. Clustering Index Pengindeksan dilakukan pada kolom bukan kunci (non-key field), yang diurutkan terlebih dahulu secara sekuensial. iii. Secondary Index Pengindeksan yang dilakukan pada kolom yang tidak terurut di dalam file data. d. Memperkirakan kebutuhan ruang penyimpanan Bertujuan untuk memperkirakan jumlah ruang penyimpanan yang akan diperlukan dalam basis data. Perkiraannya didasari pada ukuran setiap tabel dalam suatu relasi. Contohnya dalam lima tahun mendatang berapa kapasitas hard disk yang dibutuhkan untuk menampung data. 3. Merancang user views Bertujuan buntuk merancang pandangan pengguna yang telah diidentifikasi selama mengumpulkan kebutuhan dan menganalisis langkah dari relasional Database System Development Lifecycle. 34 4. Merancang keamanan Untuk mendesain sebuah mekanisme security untuk basis data (database) seperti yang di spesifikasikan oleh user pada tahapan requirement dan collection dari Database System Development Lifecycle. Perancang database harus menyadari fasilitas yang ditawarkan oleh DBMS target. DBMS relasional umumnya memberikan dua jenis keamanan database : a. Sistem Keamanan (System Security), mencakup akses dan penggunaan database di tingkat sistem, seperti user name dan password. b. Keamanan Data (Data security), mencakup akses dan penggunaan objek database (seperti hubungan dan pandangan) dan tindakan yang dapat dimiliki user pada object tersebut. 5. Mempertimbangkan pengenalan atas redundansi kontrol Pada langkah physical database design ini mempertimbangkan denormalisasi skema relational untuk meningkatkan performa. Hasil dari normalisasi adalah perancangan basis data logikal secara struktural, konsisten, dan menekan jumlah redundansi. Faktor yang perlu dipertimbangkan adalah : a. Denormalisasi membuat implementasi lebih kompleks. b. Denormalisasi selalu mengorbankan fleksibilitas. c. Denormalisasi akan membuat cepat dalam retrieve data tetapi lambat dalam meng-update. Ukuran performa dari suatu perancangan basis data dapat dilihat dari sudut pandang tertentu yaitu melalui pendekatan efisiensi data (normalisasi) atau pendekatan efisiensi proses (denormalisasi). Efisiensi data dimaksudkan untuk meminimalkan kapasitas disk, dan efisiensi proses dimaksudkan untuk mempercepat proses saat retrieve data daribasis data. 35 6. Memonitor dan menyesuaikan operasional sistem. Bertujuan untuk memonitor operasional sistem meningkatkan performa dan menentukan perancangan sistem yang tepat atau menggambarkan perubahan kebutuhan. 2.2 Teori Khusus 2.2.1 Waterfall model Menurut Pressman (2010:39), model waterfall adalah model klasik yang bersifat sistematis dan berurutan yang digunakan dalam membangun software. Tahap-tahap dalam model waterfall menurut pressman adalah: Gambar 2.12 Model Waterfall Sumber : (Pressman: 39,2010) 1. Communication. Tahap ini merupakan analisis terhadap kebutuhan software dan tahap untuk melakukan pengumpulan data baik dengan melakukan pertemuan dengan user maupun dengan mengumpulkan data-data tambahan baik yang ada di jurnal, artikel, maupun dari internet. 2. Planning. Tahap ini merupakan lanjutan dari tahap communication. Tahapan ini menghasilkan dokumen user requirement atau data yang sesuai dengan keinginan user dalam pembuatan software termasuk rencana yang akan dilakukan. 3. Modeling. Tahapan ini akan menerjemahkan syarat kebutuhan ke sebuah perancangan sebagai perkiraan sebelum coding. Proses ini berfokus pada struktur data, arsitektur software, tampilan interface dan detail 36 prosedural. Tahapan ini akan menghasilkan dokumen yang disebut software requirement. 4. Construction. Tahap ini merupakan proses membuat kode. Coding atau pengkodean merupakan penerjemahan desain dalam bahasa yang dikenali oleh komputer. Tahap construction merupakan tahapan nyata dalam pembuatan software, artinya penggunaan komputer dimaksimalkan dalam tahapan ini. Setelah pengkodean selesai maka akan dilakukan testing untuk menemukan kesalahan-kesalahan terhadap sistem untuk bisa diperbaiki. 5. Deployment. Tahap ini adalah tahap final dalam pembuatan sistem. Setelah melakukan analisis, desain dan coding maka sistem sudah jadi dan siap digunakan oleh user. Selanjutnya pemeliharaan secara berkala dilakukan pada software yang telah dibuat. 2.2.2 Teknik pencarian fakta (fact finding technique) Menurut Indrajani (2011:64) fact finding adalah proses formal menggunakan teknik seperti wawancara dan daftar pertanyaan untuk mengumpulkan fakta tentang sistem, kebutuhan, dan pilihan. Ada lima teknik pencarian fakta, yaitu : 2.2.2.1 Pengujian dokumentasi Menurut Indrajani (2011:65), uji dokumentasi dilakukan ketika ada kebutuhan untuk mendalami kebutuhan basis data yang akan datang. Tujuan dari pengujian dokumentasi adalah: 1. Deskripsi masalah dan kebutuhan basis data 2. Deskripsi bagian perusahaan yang dapat menimbulkan masalah 3. Deskripsi sistem sekarang 37 2.2.2.2 Wawancara Menurut Indrajani (2011:66), terdapat dua jenis wawancara, yaitu : 1. Wawancara tidak terstruktur Wawancara tidak terstruktur dilakukan jika tujuan wawancara bersifat umum dan memiliki sedikit pertanyaan yang berifat spesifik. Pewancara mengharapkan orang yang sedang diwawancarai itu untuk menyediakan suatu kerangka dan arah kepada pewawancara. 2. Wawancara terstruktur Dalam wawancara terstruktur, pewawancara mempunyai banyak pertanyaan yang spesifik. Indrajani (2011:66) juga menyebutkan ada dua jenis pertanyaan yang dapat diajukan pada teknik wawancara, yaitu : 1. Pertanyaan terbuka Pertanyaan terbuka memperbolehkan orang yang diwawancarai untuk memberikan respon pada berbagai pertanyaan yang sesui dengan apa yang terdapat pada pikiran orang yang sedang diwawancarai. 2. Pertanyaan tertutup Pertanyaan tertutup membatasi jawaban pada pilihan tertentu, singkat, dan tanggapan secara langsung. 2.2.2.3 Observasi Menurut Indrajani (2011:67), pengamatan atau observasi adalah salah satu teknik pencarian data yang paling efektif untuk pemahaman suatu sistem. 2.2.2.4 Studi kepustakaan (riset) Menurut Indrajani (2011:67), riset aplikasi dan masalah, jurnal komputer, buku petunjuk, dan internet seperti bulletin board adalah sumber informasi yang baik dan dapat menyediakan informasi mengenai bagaimana orang lain telah memecahkan masalah. 38 2.2.2.5 Kuesioner Menurut Linda, Elisabeth, dan Lanni (2013:22), evaluasi adalah penilaian tentang bagaimana suatu program dijalankan, apakah proses dan dampaknya sudah sesuai dengan yang diharapkan, serta mengecek faktor – faktor penghambat yang dihadapi, dan faktor – faktor pendukung yang dimiliki untuk mencapai suatu tujuan. Evaluasi aplikasi dapat dilakukan dengan berbagai cara, salah satunya dalah kuesioner. Menurut Indrajani (2011:67-68), kuesioner adalah teknik pencarian data dengan melakukan survei melalui daftar pertanyaan. Terdapat dua jenis kuesioner: 1. Free format Free format memberikan kebebasan responden untuk menjawab pertanyaan. 2. Fix format Fix format memerlukan tanggapan spesifik dari individu, dengan apapun pertanyaan, responden harus memilih jawaban yang tersedia. 2.2.3 Manajemen Menurut Robbins dan Coulter (2007:8), Manajemen adalah proses mengoordinasikan aktivitas-aktivitas kerja sehingga dapat selesai secara efisien dan efektif dengan dan melalui orang lain. Menurut Robbins dan Coulter (2007:9), fungsi dasar dan paling penting dalam manajemen yaitu: 1. Merencanakan, yang mencakup proses a. Merumuskan sasaran b. Membangun strategi untuk mencapai sasaran tersebut c. Mengembangkan rencana guna memadukan mengoordinasikan sejumlah aktivitas 2. Mengorganisasi, yang mencakup proses menentukan: a. Tugas apa yang harus dikerjakan b. Siapa yang harus mengerjakan c. Bagaimana tugas tersebut dikelompokkan dan 39 d. Siapa melapor kepada siapa e. Dan pada tingkat mana keputusan harus diambil 3. Memimpin, yang mencakup proses a. Memotivasi bawahannya b. Memengaruhi individu atau tim sewaktu mereka bekerja c. Memilih saluran komunikasi yang paling efektif d. Menyelesaikan masalah perilaku karyawan dengan cara apapun 4. Mengendalikan, yang mencakup proses a. Memperbandingkan b. Mengoreksi 2.2.4 Penjualan Proses keberhasilan penjualan perusahaan dalam perusahaan tersebut. Kegiatan sangat menentukan penjualan meliputi pengorderan barang kepada customer hingga penerimaan pembayaran dari customer. Setiap penjualan barang dikerjakan oleh beberapa orang dalam perusahaan mulai dari sales, gudang, teknisi. Penjualan barang dapat dipesan langsung oleh customer dan akan langsung dilayani oleh sales-sales perusahaan. Menurut Mulyadi (2001:202), kegiatan penjualan terdiri dari transaksi penjualan barang atau jasa baik secara kredit maupun tunai. Penjualan menurut cara pembayarannya dapat dibedakan sebagai berikut: a. Penjualan tunai, yaitu penjualan yang dilaksanakan oleh perusahaan dengan catatan mewajibkan pembeli dengan melakukan pembayaran harga barang terlebih dahulu sebelum barang diserahkan kepada pembeli b. Penjualan kredit, yaitu penjualan yang dilakukan dengan cara memenuhi order dari pelanggan dengan mengirimkan barang atau menyerahkan jasa dan untuk jangka waktu tertentu perusahaan memiliki piutang pelanggannya. 40 2.2.4.1 Jaringan prosedur yang membentuk sistem penjualan Menurut Mulyadi (2001:219), prosedur yang membentuk sistem penjualan, yaitu: 1. Prosedur order penjualan, fungsi penjualan menerima order dari pembeli dan menambahkan informasi penting pada surat order. 2. Prosedur penagihan, fungsi penagihan membuat faktur penjualan dan mengirimkannya kepada pembeli. 3. Prosedur distribusi penjualan, fungsi akutansi mendistribusikan data penjualan menurut informasi yang diperlukan oleh manajemen. 4. Prosedur pencatatan piutang, fungsi akutansi mencatat tembusan faktur penjualan ke dalam kartu piutang atau dalam metode pencatatan tertentu mengarsipkan dokumen tembusan menurut abjad yang berfungsi sebagai catatan piutang. 5. Prosedur persetujuan kredit, fungsi penjualan yang meminta persetujuan penjualan kredit dari fungsi kredit di perusahaan. 6. Prosedur harga pokok penjualan, fungsi pencatatan secara periodik total harga produk yang dijual dalam periode tertentu. 2.2.4.2 Dokumentasi dalam sistem penjualan Dokumen yang digunakan dalam sistem penjualan, yaitu: a. Surat order pengiriman dan tembusannya. b. Faktur dan tembusannya. c. Rekapitulasi harga pokok penjualan. d. Bukti memorial. 2.2.5 Pembelian Proses pembelian merupakan proses pendukung kegiatan penjualan, dimana terjadi penambahan barang dan jasa dalam proses pembelian, sehingga perusahaan memiliki ketersediaan sumber daya 41 ketika melakukan proses penjualan kepada customer. Semakin kecil nilai/harga dari sumber daya yang dibeli dan semakin besar kualitas sumber daya yang dibeli oleh perusahaan maka dapat menekan biaya produksi sekecil mungkin. 2.2.5.1 Jaringan prosedur yang membentuk sistem pembelian Menurut Mulyadi (2001: 303-305), jaringan prosedur yang membentuk sistem pembelian adalah: 1. Prosedur permintaan pembelian, dalam prosedur ini fungsi gudang mengajukan permintaan pembelian dalam bentuk formulir surat permintaan pembelian kepada fungsi pembelian. 2. Prosedur permintaan penawaran harga dan pemilihan pemasok, fungsi pembelian mengirimkan surat permintaan penawaran harga kepada pemasok untuk memperoleh informasi mengenai harga barang dan berbagai syarat pembelian yang lain untuk memungkinkan pemasok yang akan ditunjuk sebagai pemasok barang yang diperlukan oleh perusahaan. 3. Prosedur order pembelian, fungsi pembelian mengirim surat order pembelian kepada pemasok yang dipilih dan memberitahukan kepada unit-unit organisasi lain dalam perusahaan mengenai order pembelian yang sudah dikeluarkan oleh perusahaan. 4. Prosedur penerimaan barang, dalam prosedur ini fungsi pengiriman barang melakukan pemeriksaan mengenai jenis, kuantitas dan mutu bahan yang diterima dari pemasok dan kemudian membuat penerimaan barang dari pemasok tersebut. 5. Prosedur pencatatan hutang, dalam prosedur ini fungsi akutansi memeriksa dokumen-dokumen yang berhubungan dengan pembelian dan menyelenggarakan pencatatan hutang atau pengarsipan dokumen sumber sebagai catatan hutang. 42 6. Prosedur distribusi pembelian, prosedur ini meliputi distribusi rekening yang di debit dari transaksi pembelian untuk kepentingan pembuatan laporan manajemen. 2.2.5.2 Dokumen dalam sistem pembelian Beberapa dokumen yang digunakan dalam sistem pembelian, yaitu: a. Surat permintaan pembelian b. Surat permintaan penawaran harga c. Surat order pembelian d. Laporan penerimaan barang e. Surat perubahan order pembelian f. Bukti kas keluar 2.2.6 Persediaan Menurut Mulyadi (2001:556), persediaan bertujuan untuk mencatat mutasi tiap jenis persediaan yang disimpan di gudang. Persediaan pada perusahaan dagang disebut persediaan barang dagangan atau kadang-kadang disingkat persediaan, yang terdiri atas barang-barang yang disediakan untuk dijual kepada para konsumen selama periode normal kegiatan perusahaan. Beberapa istilah yang sering digunakan, yaitu: 1. Stock card (kartu stok) Stock card adalah catatan stok harian dimana masukan berupa jumlah barang dengan sistem pembelian merupakan penambahan terhadap stok barang sedangkan dari sistem penjualan merupakan pengurangan. Setiap hari catatan stok perlu diperbaharui, meski secara sistem dilakukan kapan saja. Jadi bila terjadi transaksi, stock card perlu dibuat. 2. Stock opname Stock opname adalah pemeriksaan stok fisik yang tersedia (digudang) dan membandingkannya dengan stok yang tercantum(pada komputer). Biasanya dilakukan pada periode tertentu misalnya sebulan sekali, enam bulan sekali bahkan ada 43 yang setahun sekali. Pemeriksaaan ini tergatung pada banyaknya jenis barang. 3. Adjusment stock Setelah dilakukan stock opname bila ada barang yang rusak, hilang dan sebagainya, maka akan dilakukan penyesuaian terhadap stok fisik yang tercatat. 2.2.6.1 Jaringan prosedur yang membentuk sistem persediaan Menurut Mulyadi (2001:559), beberapa prosedur yang berkaitan dengan sistem persediaan, yaitu: 1. Prosedur pencatatan produk jadi Prosedur ini merupakan salah satu prosedur dalam sistem akuntansi biaya produksi. Dalam prosedur ini, dicatat harga pokok produk jadi yang didebitkan dalam rekening persediaan produk jadi dan dikreditkan kedalam rekening barang dalam proses. Catatan akuntansi yang digunakan dalam prosedur pencatatan produk jadi adalah kartu gudang, kartu persediaan, jurnal umum. 2. Prosedur pencatatan harga produk jadi yang dijual Prosedur ini merupakan salah satu prosedur dalam sistem penjualan. Catatan akuntansi yang digunakan dalam prosedur pencatatan harga produk jadi yang dijual adalah kartu gudang, kartu persediaan, dan jurnal umum. 3. Prosedur pencatatan harga pokok jadi yang diterima kembali dari pembeli Prosedur ini merupakan salah satu prosedur yang membentuk salah satu sistem retur penjualan. Jika produk jadi yang telah dijual dikembalikan oleh pembeli, maka transaksi retur penjualan ini akan mempengaruhi persediaan produk jadi, yaitu menambah kuantitas produk jadi dalam kartu gudang yang diselenggarakan oleh bagian gudang dan harga pokok jadi yang dicatat oleh bagian kartu persediaan produk jadi. Catatan akuntansi yang digunakan dalam prosedur pencatatan harga pokok 44 prosedur jadi yang diterima kembali dari pembeli adalah kartu gudang, kartu persediaan dan jurnal umum atau jurnal retur persediaan jika perusahaan menggunakan jurnal khusus. 4. Prosedur pencatatan tambahan dan penyesuaian kembali harga pokok persediaan produk dalam proses. Pencatatan persediaan produk dalam proses biasanya dilakukan oleh perusahaan pada akhir periode, pada saat dibuat laporan keuangan bulanan dan laporan keuangan tahunan 5. Prosedur pencatatan harga pokok persediaan yang dibeli. Prosedur ini merupakan salah satu prosedur yang membentuk sistem pembelian. Dalam prosedur ini dicatat harga pokok persediaan yang dibeli. 6. Prosedur pencatatan harga pokok persediaan yang dikembalikan kepada pemasok. Prosedur ini merupakan salah satu prosedur yang membentuk sistem retur pembelian. Jika persediaan yang telah dibeli dikembalikan kepada pemasok, maka transaksi retur pembelian ini akan mempengaruhi persediaan yang bersangkutan, yaitu mengurangi kuantitas persediaan dalam kartu gudang yang diselenggarakan oleh bagian gudang serta mengurangi kuantitas dan harga pokok persediaan dalam kartu penyediaan yang bersangkutan. 7. Prosedur permintaan dan pengeluaran barang di gudang. Prosedur ini merupakan salah satu prosedur yang membentuk sistem akuntansi biaya produksi. Pada prosedur ini dicatat harga pokok persediaan bahan baku, bahan penolong, bahan habis pakai pabrik, dan suku cadang yang digunakan dalam kegiatan proses produksi dan kegiatan non produksi. 8. Prosedur pencatatan tambahan harga pokok persediaan karena pengembalian barang gudang. 45 Prosedur ini melakukan transaksi pengembalian barang gudang, mengurangi biaya, dan menambah persediaan barang digudang. Jurnal yang dibuat untuk mecatat transaksi tersebut ada didalam jurnal umum. 9. Sistem perhitungan fisik persediaan. Sistem perhitungan fisik persediaan umumnya digunakan oleh perusahaan untuk menghitung secara fisik persediaan yang disimpan di gudang. Hasilnya digunakan untuk meminta pertanggung jawaban bagian gudang mengenai pelaksanaan fungsi penyimpanan dan pertanggung jawaban bagian kartu persediaan mengenai kendala catatan persediaan yang diselenggarakan, serta untuk melakukan penyesuaian terhadap catatan persediaan dibagian kartu persediaan. 2.2.6.2 Dokumentasi dalam sistem persediaan Beberapa dokumen yang digunakan dalam sistem persediaan, yaitu: a. Laporan produk selesai b. Bukti memorial c. Surat order pengiriman d. Faktur penjualan e. Laporan penerimaan barang f. Laporan pengiriman barang g. Bukti kas keluar h. Memo kredit i. Memo debit j. Bukti permintaan dan pengeluaran barang jadi k. Bukti pengembalian barang gudang l. Kartu perhitungan fisik m. Daftar hasil perhitungan fisik 46 2.2.7 General ledger 2.2.7.1 Pengertian general ledger Menurut Moscove, Simkin, dan Barranoff (2001:103), General Ledger adalah kumpulan informasi moneter yang detail mengenai aset, kewajiban, modal pemilik, pendapatan, dan beban dari organisasi. Dokumen-dokumen transaksi yang sudah dicatat sebelumnya, baik dalam jurnal umum maupun jurnal khusus kemudian dipindahkan ke dalam buku besar (general ledger) sesuai dengan kelompok rekening dan nomor perkiraannya. Pada dasarnya fungsi buku besar adalah untuk mengetahui total saldo pada masing-masing rekening yang nantinya akan dipindahkan ke neraca saldo secara satu-persatu tiap-tiap rekening. 2.2.7.2 Proses general ledger Menurut Gelinas (2008:574), proses general ledger terdiri dari: a. Mengakumulasi data, klarifikasi data berdasarkan akuntasi general ledger, dan menyimpan data pada akun-akun tersebut. b. Mengisi laporan keuangan, laporan bisnis, dan laporan subsistem dengan menyediakan informasi yang dibutuhkan untuk menyediakan informasi yang dibutuhkan untuk menyiapkan laporan internal dan eksternal. 2.2.7.3 Aktivitas general ledger Menurut Romney dan Steinbart (2006:525-528), aktivitas yang ada pada general ledger adalah: 1. Update 2. Posting jurnal penyesuaian 3. Menyiapkan laporan keuangan 4. Menghasilkan laporan manajerial. 47 2.2.8 Definisi rumah sakit Definisi rumah sakit menurut Keputusan Menteri Republik Indonesia No.340/MENKES/PER/III/2010 mengenai klasifikasi rumah sakit dinyatakan bahwa rumah sakit adalah institusi pelayanan kesehatan yang menyelenggarakan pelayanan kesehatan perorangan secara paripurna yang menyediakan pelayanan rawat inap, rawat jalan, dan gawat darurat. Pengelompokkan rumah sakit berdasarkan perbedaan tingkat kemampuan pelayanan kesehatan yang dapat disediakan. Berdasarkan Keputusan Menteri Kesehatan Republik Indonesia No. 340/MENKES/PER/III/2010 tentang pedoman rumah sakit umum menyebutkan bahwa rumah sakit pemerintah pusat dan daerah diklasifikasikan bahwa rumah sakit pemerintah pusat dan daerah diklasifikasikan menjadi rumah sakit umum tipe A, B, C, dan D. klasifikasi tersebut didasarkan pada unsur pelayanan yang dimiliki. Klasifikasi tersebut adalah sebagai berikut: a. Rumah Sakit Umum Kelas A adalah rumah sakit umum yang mempunyai fasilitas dan kemampuan pelayanan medis paling sedikit 4 (empat) pelayanan medic spesialis dasar, 5(lima) pelayanan spesialis penunjang medik, 12(dua belas) pelayanan medik spesialis lain dan 13(tiga belas) pelayanan medik sub spesialis. b. Rumah Sakit Umum Kelas B adalah rumah sakit umum yang mempunyai fasilitas dan kemampuan pelayan medis paling sedikit 4(empat) pelayaan medik spesialis dasar, 4(empat) pelayanan spesialis penunjang medik, 8(delapan) pelayanan medik spesialis lainnya, dan 2(dua) pelayanan medik sub spesialis dasar. c. Rumah Sakit Umum Kelas C adalah rumah sakit yang mempunyai fasilitas dan kemampuan pelayanan medis paling sedikit 4(empat) pelayanan medik spesialis dasar dan 4(empat) pelayanan spesialis penunjang medik. 48 d. Rumah Sakit Umum Kelas D adalah rumah sakit umum yang mempunyai fasilitas dan kemampuan medis paling sedikit 2(dua) pelayanan medik spesialis dasar. 2.2.9 Pengertian Klinik Menurut Peraturan Menteri Kesehatan Republik Indonesia nomor 028/MENKES/PER/I/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.10 Teori Rekam Medis Menurut PERMENKES No: 269/MENKES/PER/III/2008, Rekam medis adalah berkas yang berisi catatan dan atau dokumen mengenai identitas pasien, hasil pemeriksaan, pengobatan, tindakan, dan pelayanan lainnya yang diterima pasien pada sarana kesehatan, baik rawat jalan maupun rawat inap. Penyelenggaraan rekam medis pada suatu sarana pelayanan kesehatan merupakan salah satu indikator mutu pelayanan pada institusi tersebut. Berdasarkan data pada rekam medis tersebut akan dapat dinilai apalah pelayanan yang diberikan sudah cukup baik mutunya atau tidak, serta apakah sudah sesuai standar atau tidak. Untuk itulah maka pemerintah dalam hal ini Departemen Kesehatan merasa perlu mengatur tata cara penyelenggaraan rekam medis dalam suatu peraturan menteri kesehatan agar jelas rambu-rambunya, yaitu berupa PERMENKES No: 269/MENKES/PER/III/2008. PERMENKES No: 269/MENKES/PER/III/2008 menyebutkan bahwa rekam medis memiliki lima manfaat, yaitu : 1. Pemeliharaan kesehatan dan pengobatan pasien. 2. Alat bukti dalam proses penegakan hokum, disiplin kedokteran, dan kedokteran gigi, dan penegakkan etika kedokteran dan etika kedokteran gigi. 3. Keperluan pendidikan dan penelitian. 49 4. Dasar pembayar biaya pelayanan kesehatan. 5. Data statistik kesehatan. 2.2.11 Diagram aliran dokumen Menurut Mulyadi (2001:60), diagram alir dokumen digunakan untuk menggambarkan aliran dokumen dalam sistem tertentu. Simbolsimbol yang digunakan dalam bagan aliran dokumen, yaitu: Tabel 2.1 Diagram Aliran Dokumen Simbol Nama Keterangan Dokumen Digunakan untuk menggambarkan semua jenis dokumen yang merupakan formulir yang digunakan untuk merekam data terjadinya suatu transaksi. Dokumen tembusannya dan Digunakan dokumen untuk asli menggambarkan dan tembusannya. Nomor lembar dokumen dicantum kan di sudut kiri atas. Berbagai Digunakan dokumen berbagai untuk jenis menggambarkan dokumen yang digabungkan bersama di dalam suatu paket. Nama dokumen dituliskan di dalam masing-masing simbol dan nomor lembar dokumen dicantumkan di sudut kanan atas simbol dokumen yang bersangkutan Catatan Digunakan untuk menggambarkan catatan akuntansi yang digunakan untuk mencatat data yang direkam sebelumnya di dalam dokumen atau formulir. 50 Tabel 2.2 Diagram Aliran Dokumen Lanjutan 1 Simbol Nama Keterangan Penghubung Dalam menggambarkan bagan alir, pada arus dokumen dibuat mengalir dari halaman yang sama atas ke bawah dan dari kiri ke kanan. Karena keterbatasan hala man kertas untuk menggambar maka diperlukan simbol penghu bung untuk memungkinkan aliran dokumen berhenti di suatu lokasi lain pada halaman yang sama. Kegiatan manual Digunakan untuk menggambarkan kegiatan manual. Penghubung Jika untuk menggambar kan bagan pada alir suatu sistem akuntansi diperlu halaman yang berbeda kan lebih dari satu halaman, simbol ini harus digunakan untuk menun jukkan ke mana dan bagaimana bagian alir terkait satu dengan yang lainnya. Arsip sementara Digunakan untuk menggambarkan arsip sementara yang dokumennya akan diambil kembali dari arsip tersebut di masa yang akan datang untuk keperluan pengolahan lebih lanjut terhadap dokumen tersebut. Untuk menunjukkan urutan pengarsipan dokumen, digunakan simbol-simbol berikut ini: A = menurut abjad N = menurut nomor urut T = kronologis, menurut tanggal 51 Tabel 2.3 Diagram Aliran Dokumen Lanjutan 2 Simbol Nama Arsip permanen Keterangan Digunakan untuk menggambarkan permanen yang arsip tidak akan diproses lagi. Mulai/ berakhir Simbol ini menggambarkan (terminal) awal dan akhir dari suatu sistem. Keputusan Simbol ini menggambarkan keputusan yang harus dibuat dalam proses pengolahan data. 2.2.12 Diagram aliran data (data flow diagram) Data flow diagram atau Diagram aliran data adalah data yang menggambarkan aliran data melalui serangkaian proses dan prosedur yang mencakup sumber eksternal dan tujuan data. Kegiatan-kegiatan yang mentransform data dan menyimpan atau mengumpulkannya. Beda DFD dengan Flow Chart, antara lain : 1. Proses dalam DFD dapat beroperasi secara paralel. Artinya beberapa proses dapat dilakukan secara bersamaan. Sebaliknya, proses pada flow chart hanya satu proses dalam satu waktu. 2. DFD menunjukkan data flow melalui sistem. Sebaliknya, flow chart menunjukkan rangkaian proses dalam algortima atau program. 3. DFD tunggal dapat menyertakan proses setiap jam, secara harian, mingguan, tahunan, dan sesuai permintaan. Hal ini tidak terjadi pada flow chart. 52 2.2.12.1 Simbol dalam DFD Menurut Whitten, Bently, Dittman (2007:317), data flow diagram adalah sebuah model proses yang digunakan untuk menggambarkan aliran data melalui sebuah sistem dan tugas yang dilakukan oleh sistem. DFD terdapat tiga simbol dan satu koneksi: a. Proses (bubble atau function atau transformation) Menggambarkan apa yang dilakukan oleh sistem. Proses berfungsi untuk mentransformasikan suatu atau beberapa data masukkan menjadi satu atau beberapa data keluaran sesuai dengan spesifikasi yang digunakan. Setiap proses memiliki satu atau beberapa data masukkan serta menghasilakan satu atau beberapa data keluaran. Digambarkan dengan simbol : Proses Gambar 2.13 Simbol Proses Data dalam DFD Sumber : (Whitten: 321,2007) b. Data flow Menggambarkan perpindahan informasi dari satu bagian ke bagian lain dari sistem. Panah menyatakan aliran data, atau input dan output, asal data dan tujuan data. Digambarkan dengan simbol : Data Flow Gambar 2.14 Simbol Data Flow dalam DFD Sumber : (Whitten: 325,2007) 53 c. Data store Berfungsi untuk sebagai tempat penyimpanan data. Proses dapat mengambil data atau memberikan data ke data store. Digambarkan dengan simbol : Data Store Gambar 2.15 Simbol Data Store dalam DFD Sumber : (Whitten: 320,2007) d. Entitas eksternal (terminal) Merupakan simbol yang menggambarkan entitas yang dapat berupa orang, kelompok, atau organisasi yang berhubungan dengan sistem. Digambarkan dengan simbol : Data Eksternal Gambar 2.16 Simbol Data Eksternal dalam DFD Sumber : (Whiiten: 319,2007) 2.2.12.2 Tingkatan DFD DFD memiliki beberapa tingkatan. Tingkatan ini untuk menjelaskan diagram-diagram agar terlihat lebih jelas dan rinci. Tingkatan-tingkatan DFD sebagai berikut : a. Diagram konteks Merupakan tingkatan yang pertama, yang menggambarkan seluruh input atau output ke sistem. b. Diagram nol Menggambarkan proses-proses dan aliran data yang terjadi di dalam suatu sistem. Proses ini dapat dipecah menjadi aliran data yang lebih terperinci dan memperlihatkan data store yang digunakan. c. Diagram rinci Menggambarkan rincian dari diagram nol dan proses- 54 proses ini dapat dipecah menjadi aliran data yang lebih terperinci. 2.2.13 State transition diagram (STD) Menurut Whitten (2007:635), State Transition Diagram (STD) adalah alat yang digunakan untuk menggambarkan urutan dan variasi layar yang dapat terjadi selama satu sesi pengguna. Dua macam simbol yang menggambarkan proses dalam State Transition Diagram (STD), yaitu: 1. State, digambarkan dengan gambar persegi panjang yang menunjukkan state dari sistem. Gambar 2.17 Simbol State dalam STD Sumber : (Whitten: 636,2007) 2. Transition, digambarkan dengan gambar panah yang menunjukkan transisi antar state. Tiap panah dberi label dengan ekspresi aturan. Label yang di atas menunjukkan kejadian yang menyebabkan transisi yang terjadi. Label yang di bawah menunjukkan aksi yang terjadi akibat dari kejadian tadi. Gambar 2.18 Simbol Transisi dalam STD Sumber : (Whitten: 636,2007) 2.2.14 Perancangan antarmuka pengguna 2.2.14.1 Interaksi manusia dengan komputer Menurut Shneiderman (2005:4), interaksi manusia dengan komputer adalah proses mengkombinasikan metode pengumpulan data dan kerangka kerja intelektual dari percobaan psikologi dengan pengembangan alat yang berasal dari ilmu komputer secara luas. Terdapat 8 golden rules agar 55 tercipta antarmuka pengguna yang baik, yaitu: 1. Berusaha konsisten 2. Memenuhi kebutuhan secara universal 3. Memberikan umpan balik yang informatif 4. Merancang dialog untuk menghasilkan keadaan akhir 5. Memberikan pencegahan kesalahan dan penanganan kesalahan yang sederhana 6. Memungkinkan pembalikan aksi (undo) yang mudah 7. Mendukung internal focus of control 8. Mengurangi beban ingatan jangkan pendek 2.2.14.2 Lima faktor manusia terukur Menurut Shneiderman (2005:16), faktor-faktor manusia terukur dalam desain antarmuka pengguna terdiri atas: 1. Waktu belajar (time to learn) : berapa lama waktu yang diperlukan orang awam dalam komunikasi pengguna untuk mempelajari cara relevan melakukan suatu tugas. 2. Kecepatan kinerja (speed of performance): berapa lama waktu yang diperlukan untuk melakukan suatu tugas. 3. Tingkat kesalahan (rate error by user): berapa banyak kesalahan dan kesalahan apa yang dibuat oleh pengguna. 4. Daya ingat (retention over time): bagaimanakah kemampuan pengguna mempertahankan pengetahuannya setelah jangka waktu tertentu. Daya ingat berkaitan erat dengan waktu belajar dan frekuensi penggunaan. 5. Kepuasan subjektif (subjective satisfaction): seberapa suka pengguna menggunakan variasi aspek dalam sistem. Jawabannya dapat dipastikan dengan interview / survey. 2.2.15 PHP Hypertext Preprocessor adalah sebuah bahasa script yang dapat ditanamkan atau disisipkan ke dalam code HTML. PHP banyak dipakai dalam pemrograman situs web dinamis. Menurut Dwiartara (2010:3), PHP pertama kali ditemukan oleh seorang software developer 56 bernama Rasmus Lerdorf. Ide awal PHP adalah ketika Rasmus ingin mengetahui jumlah pengunjung yang membaca resume onlinenya. Ketika itu script yang dikembangkan baru memiliki dua fungsi yaitu merekam informasi visitor dan menampilkan jumlah pengunjung dari suatu website. Banyak orang tertarik dan mendiskusikan bahasa pemrograman ciptaan Rasmus ini hingga akhirnya Rasmus membuat sebuah tool bernama Personal Home Page. PHP bersifat GPL(General Public License) yang artinya semua developer diperbolehkan mengembangkan dan menambahkan fitur dalam bahasa PHP. Dengan perilisan menjadi sumber terbuka, banyak programmer yang tertarik untuk ikut mengembangkan PHP. Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP diubah menjadi akronim berulang PHP: Hypertext Preprocessing. Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek. Versi terbaru dari bahasa pemrograman PHP yaitu PHP 5.4.20 yang dirilis pada 19 September 2013. PHP telah mendukung XML dan web services sebagai fitur pendukungnya. Untuk menggunakan PHP dalam platform mobile, maka developer bisa mengkombinasikannya dengan SQLite untuk mengolah database. Beberapa kelebihan PHP, yaitu: 1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaannya. 2. Web Server yang mendukung PHP dapat ditemukan di manamana dari mulai Apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah. 57 3. Dalam sisi pengembangan lebih mudah, karena banyaknya milismilis dan developer yang siap membantu dalam pengembangan. 4. Dalam sisi pemahaman, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak. 5. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (cross platform) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah sistem. 2.2.16 MySQL MySQL adalah Relational Database Management System (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat komersial. Menurut Alam (2005: 25), SQL adalah bahasa terstruktur yang digunakan untuk query, mengupdate, dan memanipulasi database. Developer dapat menggunakan bahasa ini untuk memuat, mengurutkan, dan menyaring suatu data, sehingga dihasilkan data spesifik dari sebuah database. Pada SQL Server, bahasa SQL sering disebut sebagai Transact-SQL (T-SQL). Dalam Oracle dan juga beberapa vendor seperti MySQL digunakan nama SQL saja. Secara garis besar, bahasa SQL yang digunakan oleh masing-masing vendor adalah sama, namun beberapa vendor menambahkan perintah atau pilihan yang hanya dapat dimengerti oleh program yang bersangkutan. Susanto dan Sukadi (2012:44) dalam jurnalnya menjelaskan bahwa keistimewaan MySQL dalam mengelola sistem basis data antara lain: a. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac OS, Solaris, dan lainnya b. MySQL didistribusikan secara open source, dibawah lisensi GPL sehingga dapat digunakan secara cuma-cuma. c. MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan. 58 d. MySQL memiliki kecepatan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu. e. MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi. f. MySQL mampu menangani data dalam skala besar dengan jumlah record lebih dari lima puluh juta, jumlah tabel lebih dari lima puluh ribu, dan jumlah baris lebih dari lima milyar. g. MySQL mampu melakukan koneksi dengan klien menggunakan TCP/IP, Unix Socket atau Named Pipes (NT). h. MySQL memiliki antarmuka yang berbeda-beda sesuai dengan aplikasi dan bahasa pemrograman menggunakan Application User Interface (API). i. MySQL dilengkapi dengan berbagai tools untuk perlengkapan administrasi basis data dan telah tersedia petunjuk secara online. 2.2.17 HTML/XHTML (Hypertext/Extensible Markup Language) Menurut Rinaldo, Prasetyo, dan Rahayuputri (2013:13-14), HTML adalah bahasa dengan tanda-tanda khusus yang digunakan di awal era web untuk menyajikan informasi. Kode HTML diawali dengan <html> dan diakhiri dengan </html>. Tetapi sebelum <html> diharuskan menuliskan deklarasi !DOCTYPE sebagai public text identifier. Hal penting dalam HTML : 1. Tanda < > menyatakan sebuah tag. 2. Pada umumnya tag berpasangan (contoh <html> </html>). 3. Tag yang tidak berpasangan adalah <br /> dan <hr />. 4. Pada tag berpasangan penutup mempunyai bentuk </ >. 5. Tag tidak boleh ditulis berpotongan dengan tag lain (contoh <head> <tittle> </head> </tittle>). 59 2.2.18 CSS (Cascading Stylesheet) Menurut Rinaldo, Prasetyo, dan Rahayuputri (2013:15), CSS (Cascading Style Sheet) digunakan dalam HTML untuk menciptakan suatu style yang dapat membuat kemampuan HTML menjadi lebih luas. Style dapat didefinisikan dalam file terpisah sehingga tidak menambah kompleksitas dokumen. Dan style juga dapat digunakan pada sejumlah dokumen. 2.2.19 Java Script Rinaldo, Prasetyo, dan Rahayuputri (2013:15), JavaScript adalah bahasa script (bahasa yang kodenya ditulis dengan teks biasa) yang ditempelkan pada dokumen HTML dan diproses pada sisi client. Dengan menggunakan bahasa ini kemampuan dokumen HTML menjadi semakin luas, dan memungkinkan untuk mengimplementasikan tugas yang bersifat interaktif tanpa berhubungan dengan server. Beberapa contoh yang bisa dilakukan melalui JavaScript : 1. Menampilkan jam pada halaman local web. 2. Mengatur warna latar belakang halaman web. 3. Mengganti gambar pada saat mouse menunjuk pada suatu gambar (mouse hover). 4. Memvalidasi keabsahan data yang dimasukan oleh pemakai. 5. Menandai semua data yang akan dihapus dengan cara member tanda centang pada check box (biasanya dipakai pada email berbasis web). 2.2.20 Apache Menurut Apache Software Foundation (2013), Apache HTTP Server ("httpd") adalah sebuah proyek The Apache Software Foundation. Apache HTTP Server Project merupakan upaya untuk mengembangkan dan mempertahankan server HTTP open-source untuk sistem operasi modern termasuk UNIX dan Windows NT. Tujuan dari proyek ini adalah untuk memberikan rasa aman, efisien dan extensible server yang menyediakan layanan HTTP sesuai standar HTTP saat ini. Apache httpd telah menjadi web server yang paling populer di Internet sejak April 1996. 60 2.2.21 Web browser Menurut Turban, Rainer dan Potter (2005:681), web browser adalah piranti lunak yang umumnya digunakan oleh pengguna untuk mengakses web. Browser menyediakan tampilan grafis yang memungkinkan pengguna untuk menunjuk dan mengklik bagian yang diinginkan di web. Web browser menjadi sarana universal karena mengirimkan antarmuka yang sama pada semua sistem operasi yang dijalankan. 2.2.22 Web database system Menurut Barry Eaglestone dan Mick Ridley (2001:38), web database system adalah sistem dimana teknologi web dan database digunakan secara bersamaan, web database system menyediakan akses yang lebih luas ke sistem database dan meningkatkan kegunaan web. 2.3 Hasil produk sebelumnya Susanto dan Sukadi (2012:46) dalam jurnalnya menjelaskan bahwa sistem manajemen rumah sakit yang telah diterapkan pada RSUD Pacitan memberikan dampak positif bagi kemajuan rumah sakit tersebut, yaitu: 1. Dengan adanya sistem manajemen rumah sakit yang mengatur rekam medis, mengurangi terjadinya pasien yang memiliki nomor rekam medis ganda. 2. Aplikasi ini mempercepat pencarian status rekam medis manual jika pasien berkunjung ke rumah sakit 3. Sistem manajemen rumah sakit sangat membantu dokter, paramedik, untuk melakukan diagnosa, terapi, dan perawatan.