BAB II LANDASAN TEORI 2.1 Klinik 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. Berdasarkan jenis pelayanannya, klinik dibagi menjadi Klinik Pratama dan Klinik Utama menurut Peraturan Menteri Kesehatan Republik Indonesia Nomor 028/Menkes/Per/I/2011 [1]. a. Klinik Pratama merupakan klinik yang menyelenggarakan pelayanan medik dasar. b. Klinik Utama merupakan klinik yang menyelenggarakan pelayanan medik spesialistik atau pelayanan medik dasar dan spesialistik. Klinik Pratama atau Klinik Utama dapat mengkhususkan pelayanan pada satu bidang tertentu berdasarkan disiplin ilmu, golongan umur, organ atau jenis penyakit tertentu. 2.2 Aplikasi Web Database Menurut PHP and MySQL For Dummies yang dibuat oleh Janet Valade, aplikasi adalah sebuah program atau sekelompok program yang dirancang untuk digunakan oleh pengguna akhir (misalnya pasien, dokter, atau apoteker). Jika pengguna akhir berinteraksi dengan aplikasi melalui web browser, aplikasi tersebut disebut sebagai aplikasi berbasis web. Jika aplikasi Web memerlukan penyimpanan jangka panjang informasi menggunakan database, maka aplikasi tersebut disebut sebagai aplikasi web database [2]. II-1
II-2 Sebuah Aplikasi Web Database terdiri dari dua bagian: a. Database: Database adalah sebuah lemari arsip elektronik yang menyimpan informasi dalam cara yang terorganisasi sehingga mudah ditemukan saat dibutuhkan. Database merujuk pada file atau grup file yang menyimpan data aktual. Data yang diakses dengan menggunakan seperangkat program yang disebut DBMS (Database Management Sistem). Hampir semua DBMS hari ini RDBMSs (Relational Database Manajemen Sistem), di mana data diorganisasi dan disimpan dalam satu set tabel terkait. b. Aplikasi: Bagian aplikasi adalah program atau sekelompok program yang melakukan tugas-tugas. Program menciptakan tampilan yang pengguna melihat di jendela browser; mereka membuat aplikasi anda interaktif dengan menerima dan memproses informasi bahwa jenis pengguna di jendela browser; dan mereka menyimpan informasi dalam database dan mendapatkan informasi dari database. Situs web dinamis adalah situs yang dapat menyediakan informasi secara dinamis yang disesuaikan dengan interaksi pengguna. Misalnya situs berita dan game. Salah satu bahasa yang banyak digunakan untuk membuat halaman Web dinamis adalah JavaScript. JavaScript berguna untuk beberapa tujuan, seperti mouse-overs (misalnya, untuk menyoroti tombol navigasi ketika pengguna menggerakkan pointer mouse di atasnya) atau menerima dan memvalidasi informasi yang pengguna mengetik ke dalam bentuk Web. Namun, JavaScript tidak dapat digunakan untuk berinteraksi dengan database. Untuk dapat berinteraksi dengan database, aplikasi web membutuhkan Bahasa pemrograman lain yakni Bahasa pemrograman PHP. PHP dapat menerima dan memvalidasi informasi yang pengguna mengetik ke dalam bentuk Web dan juga dapat memindahkan informasi ke dalam database. Dalam menghasilkan sebuah situs dinamis, PHP digunakan bersama-sama dengan relational-database-management-sistem (RDBMS) untuk tempat penyimpanan data, seperti MySQL. PHP dan MySQL adalah pasangan dari bahasa skrip server (server-side scripting) dan database yang saat ini paling banyak dipakai di Internet untuk membangun sebuah aplikasi
II-3 web atau situs web dinamis (dynamic web server). PHP dan MySQL adalah pasangan skrip dan database yang paling banyak didukung oleh mayoritas hosting yang ada di Internet saat ini. 2.3 Basis Data dan Sistem Basis Data Basis Data terdiri atas 2 kata, yaitu Basis dan Data. Basis kurang lebih dapat diartikan sebagai markas atau gudang, tempat berkumpul. Data adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia, barang, hewan, peristiwa, konsep, keadaan, dan sebagainya, yang diwujudkan dalam bentuk angka, huruf, symbol, teks, gambar, bunyi, atau kombinasinya [3]. Dari pendapat mengenai pengertian Basis Data (Database) yang sudah dikemukakan maka basis data dapat didefinisikan ke dalam sejumlah sudut pandang seperti: a) basis data merupakan suatu kumpulan data yang dapat berupa berbagai macam file yang tersimpan di dalam storage khusus yang digunakan untuk kepentingan suatu organisasi dan dapat diakses ataupun digunakan oleh siapapun yang berhak dan juga membutuhkannya. b) Himpunan kelompok data (arsip) saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah. c) Kumpulan data yang saling berhubungan yang disimpan secata bersama sedemikian rupa dan tanpa pengulangan (redundansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan. d) Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis. Prinsip utama dari basi data adalah pengaturan data/arsip. Dan tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan kembali data/arsip.
II-4 2.3.1 Sistem Basis Data Pengertian Basis Data menurut beberapa pakar adalah sebagai berikut : Waliyanto (2007) mengatakan bahwa yang dimaksud dengan sistem basis data merupakan suatu gabungan dan juga perpaduan antara basis data (database) dengan suatu sistem manajemen basis data (SMBD) atau yang juga lebih sering dikenal dengan istilah DBMS (Database Management Sistem) [4]. Date (2012) mengatakan bahwa sistem basis data pada dasarnya dapat dianggap sebagai tempat atau lokasi untuk sekumpulan berkas data yang sudah terkomputerisasi dengan tujuan untuk memelihara informasi, dan juga memuat informasi tersebut, terutama apabila informasi tersebut sedang dibutuhkan [5]. Sistem Basis Data memiliki beberapa komponen-komponen utama seperti: 1. Perangkat Keras (Hardware) 2. Sistem Operasi (Operating Sistem) 3. Basis Data (Database) 4. Sistem (Aplikasi/Perangkat Lunak) Pengelola Basis Data (DBMS) 5. Pemakai (User) 6. Aplikasi (Perangkat lunak) lain ( yang bersiat optional )
II-5 2.3.2 DBMS (Database Management Sistem) berikut : Sistem manajemen database (DBMS) didefinisikan oleh Elmasri. N sebagai Sistem manajemen database (DBMS) merupakan kumpulan program untuk membuat dan memaintain sebuah database oleh user. DBMS merupakan sistem software general-purpose yang memiliki fasilitas proses define, construct dan manipulate database untuk aplikasi yang bervariasi [6]. Dapat disimpulkan bahwa yang dimaksud dengan DBMS atau Database Management Sistem adalah sebuah program atau software komputer yang memilki fungsi utama untuk memanipulasi, me-manage, dan juga melakukan pengaturan terhadap database atau basis data. 2.3.3 Bahasa Basis Data (Database Language) Bahasa dalam basis data dapat dibagi menjadi 2 : 1. Data Definition Language (DDL) Struktur basis data yang menggambarkan skema basis data secara keseluruhan dan didesain dengan Bahasa khusus yang disebut Data Definition Language (DDL). Hasil kompilasi perintah DDL adalah kumpulan table yang disimpan dalam file khusus yang disebut Kamus Data (Data Dictionary). 2. Data Manipulation Language (DML) Merupakan bentuk Bahasa Basis Data yang berguna untuk melakukan manipulasi dan pengambilan data pada suatu basis data. Manipulasi dapat berupa: a) Penambahan data baru b) Penghapusan data dari suatu basis data c) Pengubahan data
II-6 2.4 Unified Modeling Language (UML) Unified Modelling Language (UML) merupakan bahasa pemodelan secara grafis untuk memspesifikasikan dan mendokumentasikan seluruh sistem perangkat lunak. Model ini bertujuan untuk mengidentifikasikan bagian yang termasuk dalam lingkup sistem yang dibahas dan bagaimana hubungan antara sistem dengan subsistem maupun sistem lain diluarnya [7]. 2.4.1 Kelebihan UML Beberapa kelebihan UML antara lain sebagai berikut : 1. UML adalah bahasa pemodelan yang standar dan diterima secara luas hari ini. Ini adalah bahasa yang umum untuk mengembangkan model perangkat lunak. Kebanyakan peneliti dan praktisi menggunakannya untuk menggambarkan ideide dan desain mereka. Hal ini diajarkan di hampir semua kurikulum rekayasa perangkat lunak di universitas di seluruh dunia. Selain itu, Bahasa pemodelan ini sekarang didukung oleh sebagian besar alat pengembangan perangkat lunak komersial yang tersedia. 2. UML secara konseptual kaya. Banyak konsep yang menarik telah dimasukkan ke dalam UML sebagai akibat dari kebutuhan praktis. Inilah sebabnya mengapa UML dapat digunakan untuk domain aplikasi yang sangat berbeda, seperti sistem informasi, aplikasi desktop interaktif, sistem perintah-dankontrol, sistem telekomunikasi, embedded dan sistem real-time, aplikasi Web, perbankan dan aplikasi keuangan, sistem bisnis, aplikasi ilmiah, dan banyak lainnya.
II-7 2.4.2 Jenis-Jenis Diagram UML Beberapa jenis UML antara lain sebagai berikut : 1. Use case diagram Use case diagram yaitu salah satu jenis diagram pada UML yang menggambarkan interaksi antara sistem dan aktor, use case diagram juga dapat men-deskripsikan tipe interaksi antara si pemakai sistem dengan sistemnya. 2. Activity Diagram Activity diagram atau diagram aktivitas yaitu salah satu jenis diagram pada UML yang dapat memodelkan proses-proses apa saja yang terjadi pada sistem. 3. Sequence diagram Sequence diagram yaitu salah satu jenis diagram pada UML yang menjelaskan interaksi objek yang berdasarkan urutan waktu, sequence diagram juga dapat menggambarkan urutan atau tahapan yang harus dilakukan untuk dapat menghasilkan sesuatu seperti pada use case diagram. 4. Class diagram Class diagram yaitu salah satu jenis diagram pada UML yang digunakan untuk menampilkan kelas-kelas maupun pakaet-paket yang ada pada suatu sistem yang nantinya akan digunakan. Jadi diagram ini dapat memberikan sebuah gambaran mengenai sistem maupun relasi-relasi yang terdapat pada sistem tersebut. 5. State diagram State diagram menggambarkan urutan keadaan yang dilalui objek dalam suatu kelas, karena suatu kejadian menyababkan suatu perpindahan aktivitas/state. State dari objek adalah penggolongan dari satu atau lebih nilai attribute pada kelas. 6. Object diagram Object diagram yaitu salah satu jenis diagram pada UML yang menggambarkan objek-objek pada suatu sistem dan hubungan antarnya
II-8 2.5 Hypertext Processor (PHP) PHP merupakan PHP : Hypertext Preprocessor adalah sebuah bahasa scripting yang terpasang HTML. PHP bertujuan untuk membuat aplikasi-aplikasi yang dijalankan diatas teknologi Web [5]. umumnya akan memberikan hasil pada Web browser, tetapi prosesnya secara keseluruhan dijalankan dan dikerjakan di Web server. Ada beberapa alasan yang menjadi dasar pertimbangan mengapa menggunakan PHP. 1. PHP memiliki tingkat akses yang cepat karena PHP tertanam dalam kode HTML, waktu respon menjadi pendek. 2. Gratis dan murah. 3. Mudah untuk digunakan PHP berisi banyak fitur-fitur khusus dan fungsi yang dibutuhkan untuk membuat halaman Web dinamis. Bahasa PHP dirancang untuk dimasukkan dengan mudah dalam sebuah file HTML. 4. Mampu Lintas Platform PHP dapat / mudah diaplikasikan ke berbagai platform OS (Operating Sytem) - Windows, Linux, Mac OS, dan sebagian besar varietas Unix dan hampir semua browser juga mendukung PHP. 5. Tersedia di hampir semua Web host. 6. Dukungan teknis tersedia secara luas Sebuah basis besar pengguna menyediakan dukungan gratis melalui diskusi daftar e-mail. 7. Aman Pengguna tidak melihat kode PHP. 8. Dirancang untuk mendukung database 9. PHP termasuk fungsi yang dirancang untuk berinteraksi dengan database tertentu baik yang gratis maupun yang berbayar, seperti MySQL, PostgreSQL, msql, Informix, SQL server, Oracle.
II-9 10. Bersifat Open Source Lisensi open source memungkinkan programmer untuk memodifikasi software PHP, menambahkan atau memodifikasi fitur yang diperlukan untuk menyesuaikan lingkungan khusus mereka sendiri. 11. Didukung oleh beberapa macam web server, PHP mendukung beberapa web server, seperti Apache, IIS, Lighttpd, Xitami. 2.6 MySQL MySQL adalah suatu perangkat luna database relasi (Relation Database Management System) seperti halnya Oracle, dan Microsoft SQL. MySQL jangan disama artikan dengan SQL (Structure Query Language) yang didefinisikan sebagai sintaks perintah-perintah tertentu dalam bahasa (program) yang digunakan untuk mengelola suatu database [10]. Berikut beberapa kelebihan yang dimiliki oleh MySQL: 1. Cepat Tujuan utama dari orang-orang yang mengembangkan MySQL adalah kecepatan. Dengan demikian, perangkat lunak ini dirancang dari awal untuk kecepatan aksesnya. 2. Murah MySQL merupakan database yang bersifat gratis dengan lisensi di bawah lisensi GPL open source, dan biaya untuk lisensi komersial bersifat wajar. 3. Mudah untuk digunakan Membangun dan berinteraksi dengan database MySQL dengan menggunakan pernyataan sederhana dalam bahasa SQL, yang merupakan bahasa standar untuk berkomunikasi dengan RDBMS. 4. Dapat berjalan pada banyak sistem operasi MySQL berjalan pada banyak sistem operasi - Windows, Linux, Mac OS, sebagian besar varietas Unix (termasuk Solaris dan AIX), FreeBSD, OS / 2, Irix, dan lain-lain. 5. Tersedia di hampir semua Web host
II-10 MySQL tersedia secara luas pada perusahaan Web Hosting tanpa biaya tambahan. 6. Dukungan teknis tersedia secara luas Sebuah basis besar pengguna menyediakan dukungan gratis melalui milis. Para pengembang MySQL juga berpartisipasi dalam daftar e-mail. 7. Aman Otorisasi Sistem MySQL yang fleksibel memungkinkan beberapa atau semua hak database (seperti hak istimewa untuk membuat database atau menghapus data) untuk pengguna tertentu atau kelompok pengguna tertentu. Password akan dienkripsi. Server database MySQL mempunyai kecepatan akses tinggi, mudah digunakan dan handal. MySQL dikembangkan untuk menangani database yang besar secara cepat dan telah sukses digunakan selama bertahun-tahun sehingga membuat server MySQL cocok untuk mengakses database di internet. Dan MySQL juga merupakan sistem client-server yang terdiri atas multithread SQL server yang mendukung software client dan library yang berbeda. Fitur utama MySQL adalah ditulis dalam bahasa C dan C++, bekerja dalam berbagai platform, menyediakan mesin peyimpan transaksi dan nontransaksi, mempunyai library yang dapat ditempelkan pada aplikasi yang berdiri sendiri sehingga aplikasi tersebut dapat digunakan pada komputer yang tidak mempunyai jaringan dan mempunyai sistem password yang fleksibel dan aman, dapat menangani basis data dalam skala besar.