BAB IV PERANCANGAN Pada bab ini akan diuraikan mengenai arahan perancangan, perancangan hot spot, hasil perancangan framework, dan perancangan dokumentasi. Dengan menggunakan hasil analisis terhadap kebutuhan framework pada Bab III dapat dilakukan perancangan kelas-kelas pada framework beserta keterhubungan diantara kelas-kelas tersebut.
4.1. Arahan Perancangan Framework yang akan dibangun pada Tugas Akhir ini adalah framework untuk aplikasi sistem informasi sekolah di mana aplikasi-aplikasi yang dibangun menggunakan framework ini digunakan di sekolah menengah baik itu negeri maupun swasta. Tidak seperti sistem informasi yang dikembangkan untuk perusahaan yang memiliki sumber daya memadai, sistem informasi yang akan dikembangkan untuk sekolah memiliki banyak keterbatasan, antara lain: 1. Sumber daya manusia 2. Spesifikasi komputer 3. Akses internet 4. Dana untuk IT Melihat faktor-faktor keterbatasan yang ada di lingkungan sekolah tersebut, perlu diperhatikan hal-hal seperti penggunaan teknologi yang sederhana tetapi mampu memenuhi kebutuhan proses bisnis di sekolah, aplikasi bisa berjalan pada komputer dengan spesifikasi rendah serta tidak membutuhkan biaya yang besar pada saat pengembangan, penggunaan dan perawatan. Ada beberapa hal yang harus diperhatikan dalam perancangan framework, yaitu: 1. Framework yang akan dikembangkan ini menggunakan bahasa pemrograman PHP 5. Pemilihan PHP 5 dikarenakan bahasa pemrograman untuk aplikasi berbasis web ini telah mendukung paradigma berorientasi objek. Selain itu, contoh-contoh aplikasi sistem informasi sekolah dijelaskan pada Subbab 2.7 dikembangkan menggunakan bahasa pemrograman PHP. IV-1
IV-2 2. Walaupun framework ini dikembangkan dengan paradigma berorientasi objek, tetapi basis data yang digunakan adalah basis data relasional (relational database) sehingga harus ada pemetaan dari objek kedalam basis data. 3. Hanya satu sistem operasi yang digunakan pada saat implementasi, yaitu sistem operasi Windows XP. Sistem operasi tersebut dipilih karena sudah biasa digunakan sehingga dapat mempercepat proses pengembangan. Begitu juga dengan proses pengujian yang akan dilakukan pada sistem operasi Windows XP
4.2. Perancangan Hot Spot Pada tahap perancangan framework ditentukan hot spot dan frozen spot dari hasil analisis yang telah dilakukan pada Subbab 3.4. Kelas-kelas hot spot pada Subbab 3.4.2 harus dirancang ulang karena kelas-kelas tersebut memiliki tagged value extensible dan tagged value variable pada metodenya. Oleh karena itu perlu dilakukan transformasi agar dapat diimplementasikan pada bahasa pemrograman. Design pattern digunakan untuk menjembatani transformasi kelas-kelas hot spot pada tahap analisis ke tahap perancangan [FON00]. 4.2.1. Hook dan Template Method Metode dalam sebuah kelas dapat dikategorikan sebagai hook method dan template method. Hook method merupakan hot spot framework, yaitu bagian yang dapat berubah (flexible). Pengembang aplikasi mengadaptasi framework dengan cara merealisasikan hook method tersebut. Berbeda dengan hook method, template method merupakan frozen spot framework yang akan memanggil hook method [PRE00]. Gambar 4.1 mengilustrasikan template method (t()) memanggil hook method (h()) pada kelas A.
Gambar 4.1 – Template Method Memanggil Hook Method [PRE00]
IV-3 Template method dapat berada dalam satu kelas dengan hook method (unification) maupun terpisah (separation). Jika template dan hook terpisah, kedua kelas harus memiliki asosiasi supaya template dapat memanggil hook method. Ilustrasinya dapat dilihat pada Gambar 4.2 di mana T merepresentasikan template dan H merepresentasikan hook.
Gambar 4.2 – Unification (a) dan Separation (b) [PRE00]
4.2.2. Transformasi Kelas-Kelas Analisis Kartu hot spot yang dihasilkan pada Subbab 3.4.1 membantu untuk mentransformasi kelas-kelas hot spot pada tahap analisis ke tahap perancangan [PRE00]. Pada kartu hot spot terdapat informasi tingkat fleksibilitas yang terdiri dari adaptasi tanpa restart dan adaptasi oleh pengguna akhir. Aturan transformasi dari sebuah kartu hot spot dapat dilihat pada Tabel 4.1. Tabel 4.1 – Kelas Perancangan Framework
No.
Adaptasi tanpa restart
Adaptasi oleh pengguna akhir
Transformasi
1.
Tidak
Tidak
tambahan hook method
2.
Ya
Tidak
tambahan hook method pada kelas yang terpisah
3.
Tidak
Ya
tambahan hook konfigurasi
4.
Ya
Ya
tambahan hook method pada kelas yang terpisah + konfigurasi
method
+
Jika pada kartu hot spot tidak ada check box yang dicentang artinya adaptasi memerlukan aplikasi untuk restart dan pengguna akhir tidak dapat menentukan adaptasi. Hook method perlu ditambahkan pada kelas hot spot tersebut sehinga hook dan template berada dalam satu kelas. Berdasarkan analisis pada Subbab 3.4, ada dua hot spot dengan adaptasi seperti ini yaitu hot spot informasi tambahan silabus dan isi laporan. Transformasi dilakukan dengan menambahkan hook method viewForm dan
IV-4 editForm yang akan dipanggil oleh template methode show. Transformasi kelas analisis ke perancangan kedua hot spot tersebut dapat dilihat pada Gambar 4.3 dan 4.4.
Analisis
Perancangan Gambar 4.3 – Transformasi Kelas Komponen_Laporan
Jika adaptasi mengharuskan aplikasi tanpa restart, maka hook method harus ditambahkan pada kelas yang terpisah dari template method. Hot spot perhitungan nilai akhir menggunakan adaptasi ini. Kelas I_Hitung_Nilai yang berisi hook method hitung dan pembulatan ditambahkan pada kelas perancangan. Kelas Table_Nilai berasosiasi secara langsung dengan implementasi kelas I_Hitung_Nilai untuk menghitung nilai akhir. Transformasi kelas analisis ke perancangan hot spot perhitungan nilai akhir dapat dilihat pada Gambar 4.5.
IV-5
Analisis
Perancangan Gambar 4.4 – Transformasi Kelas Silabus Info
Analisis
Perancangan Gambar 4.5 – Transformasi Kelas Table_Nilai
IV-6
4.3. Identifikasi Kelas Perancangan Pada tahap ini, dilakukan identifikasi ulang terhadap kelas-kelas potensial yang diperoleh dari hasil identifikasi pada Subbab 3.3.3 untuk mendapatkan kelas-kelas yang merepresentasikan framework yang akan dibangun. Kelas-kelas yang tidak mencerminkan tanggung jawab sistem terhadap permasalahan tidak akan digunakan. Ada kelas-kelas baru yang ditambahkan pada tahap perancangan, yaitu kelas dari hasil perancangan framework hot spot pada Subbab 4.2 seperti I_Hitung_Nilai, Abstract_Silabus_Info dan Abstract_Komponen_Laporan. Selain itu, ditambahkan juga kelas lain yang diperlukan seperti Abstract Form Nilai, Abstract Form Presensi, Abstract Form Silabus, Abstract Form Kalendar, Abstract Form Jadwal, Abstract Form Laporan, Form dan DB Connection. Pada tahap perancangan ini teridentifikasi 34 kelas yang terbagi kedalam 9 paket. Seluruh kelas perancangan dapat dilihat pada Tabel 4.2. Keterhubungan antar kelas dalam tiap paket dan keterhubungan antar paket dapat dilihat pada lampiran A.
Tabel 4.2 – Kelas Perancangan Framework
No.
Nama Kelas Perancangan
Nama Kelas Analisis
Paket Autentikasi 1.
Autentikasi
autentikasi .Autentikasi
2.
Form_Login
autentikasi .FormLogin
Paket Nilai 3.
Abstract_Form_Nilai
4.
Form_Lihat_Nilai
nilai.FormLihatNilai
5.
Form_Edit_Nilai
nilai.FormEditNilai
6.
Table_Nilai
nilai.TableNilai
7.
I_Hitung_Nilai
Paket Presensi 8.
Abstract_Form_Presensi
9.
Form_Lihat_Presensi
presensi.FormLihatPresensi
10.
Form_Edit_Presensi
presensi.FormEditPresensi
11.
Table_Presensi
presensi.TablePresensi
IV-7 No.
Nama Kelas Perancangan
Nama Kelas Analisis
Paket Silabus 12.
Abstract_Form_Silabus
13.
Form_Lihat_Silabus
silabus.FormLihatSilabus
14.
Form_Edit_Silabus
silabus.FormEditSilabus
15.
Table_Silabus
silabus.TableSilabus
16.
Abstract_Silabus_Info
Paket Kalendar 17.
Abstract_Form_Kalendar
18.
Form_Lihat_Kalendar
kalendar.FormLihatKalendar
19.
Form_Edit_Kalendar
kalendar.FormEditKalendar
20.
Table_Kalendar
kalendar.TableKalendar
Paket Jadwal 21.
Abstract_Form_Jadwal
22.
Form_Lihat_Jadwal
jadwal.FormLihatJadwal
23.
Form_Edit_Jadwal
jadwal.FormEditJadwal
24.
Table_Jadwal
jadwal.TableJadwal
Paket Laporan 25.
Abstract_Form_Laporan
26.
Form_Lihat_Laporan
laporan.FormLihatLaporan
27.
Form_Edit_Laporan
laporan.FormEditLaporan
28.
Table_Laporan
laporan.TableLaporan
29.
Abstract_Komponen_Laporan
Paket General 30.
List_Kelas
jadwal.ListKelas, presensi.ListKelas
31.
List_Pelajaran
nilai.ListPelajaran, silabus.ListPelajaran
32.
List_Siswa
laporan.ListSiswa
Paket Core 33.
Form
34.
DBConnection
IV-8
4.4. Perancangan Dokumentasi Dari hasil analisis terhadap kebutuhan dokumentasi untuk pengembang aplikasi pada Subbab 3.5, ditentukan bahwa dokumentasi yang dibutuhkan oleh pengembang adalah sebagai berikut: 1. Overview. Pengembang aplikasi membutuhkan gambaran secara umum mengenai framework sehingga overview framework perlu dipersiapkan dalam dokumentasi. Overview dapat disajikan dalam bentuk presentasi langsung dari pengembang framework pada pengembang aplikasi atau dijadikan resep pertama dalam sebuah cookbook. 2. Example. Contoh-contoh aplikasi yang telah berjalan yang dikembangkan menggunakan framework merupakan jenis dokumentasi yang mudah digunakan yang dibutuhkan oleh pengembang aplikasi. Pengembang aplikasi akan lebih mudah mempelajari framework dari aplikasi yang telah dibuat sebelumnya. Contoh aplikasi tersebut disediakan dari mulai aplikasi sederhana yang hanya memanfaatkan beberapa fitur framework hingga aplikasi kompleks. Yang terpenting adalah pada tiap contoh harus mengenalkan hot spot yang ada. 3. Cookbook dan recipe. Resep yang disediakan harus menggunakan contoh aplikasi yang telah dibuat agar diskusi permasalahan yang dibahas lebih konkret. Pada resep juga terdapat referensi-silang (cross-reference) antar resep, dan antara resep dengan kode sumber. Dimungkinkan juga referensi silang ke sumber lainnya seperti reference-manual, contracts atau design patterns. Ketiga jenis dokumentasi tersebut akan dibuat dalam bentuk sebuah cookbook yang berisi recipe untuk membangun aplikasi sistem informasi sekolah dengan menggunakan framework. Recipe pertama berupa overview framework dan recipe lainnya dilengkapi dengan example yang berisi kode-kode sumber pada contoh aplikasi.