Kajian Pustaka T1 672006082 Full text

2 pengembangan sistem menjadi lebih mudah, serta pembatasan penggunaan sistem jadi mudah diatur sesuai kebutuhan, dan memiliki library yang lengkap. Terutama untuk koneksi sistem ke basis data dengan basis data server, karena sistem informasi rekam medik ini digunakan untuk pengolahan data dalam jumlah yang besar, serta akan dikembangkan kearah web service. Dengan penjelasan Zend Framework 2 tersebut maka dirasa tepat framework ini digunakan untuk mengembangkan sistem informasi rekam medik tersebut di rumah sakit bunda medik.

2. Kajian Pustaka

Penelitian Terdahulu penerapan framework PHP, arsitektur Model View Controller MVC dalam pengembangan sistem berbasis web sudah cukup banyak digunakan. Dalam beberapa artikel yang memuat tentang penggunaan Framework PHP, penggunaan framework dapat mempermudah dan mempercepat pembuatan aplikasi berbasis web, yang pasti karena dalam framework tersebut selalu menampilkan moda atau pola-pola tertentu yang memudahkan bagi developer untuk menghasilkan produk web yang lebih mudah dan baik, salah satunya adalah dengan dukungan pola arsitektur Model View Controller MVC. MVC terbukti membangun aplikasi secara lebih efektif dengan membagi suatu aplikasi menjadi bagian-bagian tersendiri yaitu Model, View dan Controller. Pada penelitian yaitu pada jurnal dengan judul Penerapan Framework Zend dan Arsitektur Model View Controller dalam Pengembangan Aplikasi Manajemen Kepegawaian Studi Kasus: Universitas Kristen Satya Wacana Salatiga. Yang menitih beratkan pada pengembangan ORM Object Relational Mapping dengan penggunaan framework Zend, atau yang sekarang dikenal sebagai Zend framework 1. Dalam jurnal tersebut berusaha mencari keuntungan dengan pengembangan teknologi yang dapat mempersingkat penulisan database atau mengefisienkan proses penulisan query SQL agar tidak terjadi pengulangan berkali-kali dalam penulisan query tersebut yaitu dengan menggunakan Object Relational Mapping, programmer. Pada artikel yang berjudul Object Relational Mapping dinyatakan bahwa dengan diterapkannya ORM memungkinkan programmer untuk melakukan manipulasi dan pengendalian data dalam basis data dengan lebih praktis, terutama pada aplikasi yang banyak melakukan pemrosesan data dalam basis data yang digunakan, karena ORM dapat mengurangi penulisan berulang pada kode SQL yang digunakan [1]. Penelitian yang lainnya, yaitu pada jurnal dengan judul Sistem Informasi Manajemen Rumah Sakit Bersalin Ananda Palembang, tujuan penulisan ini adalah untuk membuat Sistem Informasi Manajemen Rumah Sakit Bersalin Ananda. Penelitian membangun sebuah sistem informasi manajemen berbasis desktop menggunakan Microsoft Visual Studio 2008 dan Microsoft SQL Server 2008 sebagai database dan jaringanLAN sebagai media untuk mengkomunikasikan data antara komputer satu dengan lainnya. Metode yang digunakan dalam penulisan laporan ini adalah metode iterasi, dengan melakukan fase perencanaan, fase analisis, fase perancangan, analisis sistem yang berjalan, wawancara dan observasi serta pengumpulan data-data untuk memperoleh informasi yang 3 dibutuhkan. Dari hasil implementasi sistem informasi manajemen Rumah Sakit Bersalin Ananda dapat mengolah data dengan cepat, menyajikan informasi yang dibutuhkan oleh manajemen dan pasien dengan cepat dan akurat serta dapat menyimpan data dengan aman sehingga dapat membantu dalam proses pelayanan terhadap masyarakat [2]. Kerangka kerja framework adalah suatu struktur konseptual dasar yang digunakan untuk memecahkan atau menangani suatu masalah kompleks. Istilah ini sering digunakan antara lain dalam bidang manajemen untuk menggambarkan suatu konsep yang memungkinkan penanganan berbagai jenis atau entitas bisnis secara homogen. Dalam bidang perangkat lunak untuk menggambarkan suatu desain sistem perangkat lunak yang dapat digunakan kembali [3]. Sebuah framework umumnya telah menyertakan perintah-perintah siap pakai yang dibutuhkan dalam membuat suatu aplikasi, namun pihak developer tetap harus menulis kode sendiri dan harus menyesuaikan dengan lingkungan framework yang digunakan. Zend Framework 2 dikembangkan mulai pada akhir tahun 2005 oleh Zend Technologies, sebuah perusahaan spesialis PHP memulai sebuah proyek untuk meningkatkan kinerja dari PHP dengan Framework Zend sebagai produk awalnya. Proyek itu menghasilkan 3 keluaran, yaitu sebuah Eclipse IDE plugin dengan nama PDT, Framework Zend dan sebuah website Zend Developer Zone [4]. Pada awalnya Framework Zend ZF sendiri merupakan sebuah framework open source dalam pengembangan aplikasi web dan web services menggunakan PHP 5 dan diimplementasikan menggunakan object oriented code dan arsitektur MVC. Framework Zend menawarkan kehandalan dalam menerapkan arsitektur MVC. Dan setelah dirilisnya Framework Zend 2, maka berubah pula istilah pada Framework Zend versi lama yaitu menjadi Framework Zend 1 ZF1 yang menjadi pembeda dalam pemakaian istilah pada pengembangan framework tersebut. Zend Framework ZF yang merupakan framewok open source PHP berbasis object oriented yang digunakan untuk mempermudah programmer dalam membangun aplikasi web. Zend Framework 2 ZF2 adalah pengembangan dari ZF1 yang telah didownload lebih dari 15 juta kali. ZF2 mensyaratkan penggunaan minimal PHP versi 5.3, karena ZF2 menggunakan seluruh fitur unggulan PHP 5.3 seperti namespace, closure, lambda functions dan lain-lain. Berikut beberapa pengembangan baru yang terdapat pada Zend Framework 2 yang antara lain. Pertama adalah sistem Packaging Baru ZF2 memiliki sampai empat pilihan cara untuk diinstall dan disetup, Cara pertama adalah cara klasik yaitu dengan men-download lewat halaman download Zend Framework. Cara kedua Ssrupa dengan yang pertama tapi melalui halaman Github mereka. Cara ketiga menggunakan perangkat dependency management Composer. Cara terakhir adalah menggunakan PEAR2_Pyrus. Yang menarik buat adalah penggunaan Composer yang merupakan teknik packaging yang memungkinkan Anda untuk hanya menggunakan paket yang dibutuhkan saja. Singkatnya, Anda cukup mendeklarasikan kebutuhan 4 dependency sistem Anda ke dalam file composer.json, maka Composer akan men- download dan meng-update hanya paket-paket tersebut. Zend Framework 2 memang benar-benar merubah banyak hal, bukan hanya dari sisi kode-nya, tapi dari cara pandang penyelesaian masalah. Module adalah salah satu konsep yang benar-benar berubah pada Zend Framework 2. Dan melihat perubahan ini adalah ke arah yang jauh lebih baik dari versi sebelumnya. Selanjutnya pengembangan baru adalah k onsep Module, Plugin dan Router, b iarpun tidak dijelaskan secara spesifik, Zend Framework 1 seolah membagi jenis kontribusi third party developer pada siklus MVC dalam tiga hal yang berbeda: Module, Plugin, dan Router. Akibatnya tidak sedikit programmer, ketika membangun sistem membagi pluggable code ini pada tiga hal tersebut. Module berisi Model, View dan Controller yang membangun porsi tertentu dari website. Sehingga yang masuk dalam kategori module adalah sub sistem seperti artikel, agenda, buku tamu, dan lain-lain. Sementara router adalah yang bertanggung jawab khusus pada interpretasi URL ke controller tertentu. Akibat pembagian seperti ini, sangat sulit bagi developer dalam membangun module, karena terpecah-pecah dalam beberapa script yang tersebar di mana-mana. Selain itu, ZF1 tidak memiliki fungsionalitas untuk meng-arsip-kan module ke dalam satu paket. Module di Zend Framework 2 merupakan pengembangan konsep baru pada Zend Framework 2, konsep tersebut diubah secara drastis di Zend Framework 2. Istilah module, plugin dan router disatukan dalam satu istilah yaitu module. Module pada Zend Framework 2 bukan hanya berisi “module” ala ZF1, tapi juga bisa berupa plugin yang berbasis event, sekaligus router. Dalam module juga bisa berisi aset seperti view lengkap dengan file javascript dan CSS. Dan semuanya terkumpul dalam satu direktori, yang juga berada dalam satu namespace. Dengan demikian, module di Zend Framework 2 bisa berupa modul artikel atau berita. Juga bisa berupa RSS, fungsi email, REST, Google Analytics insertion, dan banyak lagi kemungkinannya. Anda bisa melihat contoh-contoh module ini di repositori module ZF2 . Selain itu, Zend\ModuleManager\ModuleManager sebagai otak yang mengelola seluruh module dalam aplikasi ZF2 memiliki fitur untuk mengagregasi module-module sehingga memungkinkan satu module menggunakan module lain, dan kita bisa dengan mudah mendefinisikan kebergantungan antar module ini dalam file composer.json. DependencyKebergantungan dalam OOP menjadi hal yang tidak bisa dihindari karena secara natural OOP memang berusaha untuk membuat abstraksi- abstraksi. Satu fungsionalitas sebisa mungkin dipecah dalam classobject yang berbeda-beda, sehingga mudah untuk dibongkar pasang. Dalam OOP tidak boleh ada satu class yang melakukan semuanya. Akibatnya hampir semua class akan bergantung pada class yang lain. Dependency tentu bukan hal yang buruk, karena abstraksi memang sangat diperlukan untuk membuat sistem yang kita bangun lebih modular. Dengan abstraksi, sistem kita bisa memiliki lebih banyak pilihan. Dan developer lain bisa 5 mengembangkan komponen-komponen yang bisa dipasangkan ke sistem yang kita bangun tanpa mengubah kode yang sudah kita tulis. Di sinilah Dependency Injection dibutuhkan. Dependency Injection adalah teknik untuk meng-inject memasukan object lain ke dalam satu object. Pada kasus di atas, class Registration perlu diubah dengan dependency injection menjadi seperti berikut. Dependency injection adalah design pattern yang berguna untuk membuat kode kita lebih fleksibel dan modular. Konsep dependency injection adalah konsep lama, mungkin seusia dengan konsep OOP itu sendiri. Dan kemungkinan besar developer telah menggunakannya sehari-hari, walaupun baru familiar dengan instilahnya sekarang [4]. Model View Controller MVC Jika diterjemahkan dalam bahasa Indonesia, Model View Controller dapat diartikan sebagai model, tampilan dan pengontrol. Dalam konteks penelitian ini, MVC diartikan sebagai pola arsitektur yang digunakan untuk rekayasa perangkat lunak. Di mana aplikasi dibagi menjadi 3 tiga modul utama, yaitu model, view dan controller. Dengan cara seperti ini maka manajemen pembagian tugas dan maintenance akan lebih mudah dan rapi. Gambar 1. Arsitektur MVC [5] Gambar 1. merupakan gambaran arsitektur MVC. Di mana request yang datang akan ditangani oleh bagian controller, kemudian controller berkomunikasi serta melakukan kontrol terhadap view dan model. Model dan view tidak berkomunikasi secara langsung, tetapi berkomunikasi melalui controller. Hanya model saja yang memiliki akses ke basis data [5]. Berikut ini merupakan penjelasan tentang bagian-bagian arsitektur MVC : Model bertugas sebagai business logic atau merepresetasikan struktur data dari situs web yang bisa berupa basis data maupun data lain, misalnya dalam bentuk file teks atau file XML. Biasanya di dalam model akan berisi class dan fungsi untuk mengambil, melakukan update dan menghapus data situs web. Karena sebuah situs web biasanya menggunakan basis data dalam menyimpan data maka bagian model biasanya akan berhubungan dengan perintah-perintah query SQL. View merupakan informasi yang ditampilkan kepada pengunjung situs web. Sebisa mungkin di dalam view tidak berisi logika-logika kode tetapi hanya berisi variabel-variabel yang berisi data yang siap ditampilkan. View adalah halaman situs web yang dibuat menggunakan HTML dengan bantuan CSS atau Javascript. Di dalam view jangan pernah ada kode untuk melakukan koneksi ke basis data. View hanya dikhususkan untuk menampilkan data-data hasil dari model dan controller. 6 Controller sesuai dengan namanya, controller bertugas sebagai pengontrol atau penghubung antara model dan view. Misalnya ada sebuah event atau request baru maka akan ditangani oleh Controller. Dari Controller akan dicari apa maksudnya. Kemudian controller akan menghubungi Model untuk mengolah datanya dan melakukan generate output menggunakan View. Jadi secara singkat urutan dari sebuah permintaan adalah sebagai berikut: user berhubungan dengan view, di mana di dalam view inilah semua informasi ditampilkan. Saat user melakukan permintaan, misal klik tombol maka permintaan tersebut akan diproses oleh controller. Apa yang harus dilakukan, data apa yang diinginkan, apakah ingin melihat data, atau memasukkan data atau mungkin melakukan validasi data terlebih dahulu, semua diproses oleh controller. Kemudian controller akan meminta model untuk menyelesaikan permintaan, apakah melakukan query atau apapun. Dari model, data akan dikirim kembali untuk diproses lebih lanjut di dalam controller dan baru dari controller data akan ditampilkan di view. Gambar 2. MVC dalam Framework Zend [6] Gambar 2. merupakan arsitektur MVC dalam sebuah aplikasi web menggunakan pustaka framework Zend. untuk membuat URL statis Clean URL. File applicationcontrollerindexcontroller.php berisi kelas untuk menangani permintaan. Sementara dalam direktori applicationmodel berisi kelas untuk menangani database. Sedangkan applicationviews untuk mewadahi HTML template yang berekstensi .phtml.

3. Metode dan Perancangan Sistem