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