Bab III Pembuatan Sistem Informasi untuk Mini-Company
3.1 PHP dan MySQL Untuk membuat sistem informasi yang dapat mendukung konsep minicompany pada tugas akhir ini akan digunakan bahasa pemograman PHP dengan basis data MySql. PHP merupakan bahasa pemograman skrip server web yang memiliki beberapa keunggulan antara lain: -
PHP merupakan pemograman skrip server yang paling populer.
-
Dikarenakan PHP ditulis dalam bahasa C, maka skrip yang ditulis bisa dieksekusi dan ditampilkan dengan cepat.
-
PHP merupakan bahasa open source dan multi platform. Oleh karena itu dapat digunakan dengan bebas tanpa harus membayar dan dapat dipertukarkan dengan platform lain dengan mudah.
-
Tipe struktur data PHP mudah dipahami dan digunakan.
-
Para pembuat program dapat mengembangkan PHP dengan membuat modul sendiri.
-
Mendukung PBO. Sedangkan MySql merupakan basis data yang sering digunakan untuk
mendukung pemograman PHP yang juga memiliki beberapa keuntungan antara lain: -
Merupakan piranti lunak yang open source dan multi platform.
-
Akses yang cepat terhadap data.
-
Memiliki sistem keamanan.
-
Dapat bekerja dengan baik jika dipasangkan dengan PHP karena di desain untuk digunakan secara spesifik untuk aplikasi berbasis web. Dengan menggunakan kedua piranti lunak diatas, maka kriteria sistem
yang memiliki basis data dan compatibility dapat terpenuhi.
22
Sedangkan
kriteria
sistem
yang
dapat
menjadi
sarana
untuk
mengimplementasikan konsep mini-company akan dibatasi pada aplikasi yang merupakan kebutuhan utama konsep mini-company seperti yang telah disebutkan di batasan masalah pada bab I. Kriteria kehandalan akan dibatasi pada beberapa debuging sehingga tidak ditemukan bug yang menganggu fungsi utama sistem sampai tugas akhir ini selesai dikerjakan. Sedangkan untuk kriteria keamanan tidak akan banyak diterapkan pada tugas akhir ini. Walaupun demikian, akan digunakan sesi dan konfirmasi username dan password untuk memudahkan pengorganisasian dan pemodelan.
3.2 Model UML(Unified Modelling Language) Model yang digunakan dalam membuat sistem informasi ini adalah model UML dengan diagram usecase dan model basis data.
3.2.1 Aktor Aktor adalah entitas yang berupa orang ataupun sistem berada di luar dan berhubungan dengan sistem yang dibuat. Pada mini-company aktor yang terlibat dapat dilihat pada gambar 3.2.1.
anggota mini company
presiden
root
mini perusahaan company
pekerja
Gambar 3.2.1 Aktor dalam mini-company
Aktor utama pada sistem ini terdapat 4 jenis yaitu anggota mini-company, root, mini-company dan perusahaan. Aktor anggota mini-company adalah pengguna utama sistem informasi mini-company. Anggota mini-company dapat mengakses menu-menu utama yang merupakan penerapan dari konsep mini23
company. Sedangkan aktor root merupakan aktor yang menginisiasi sistem informasi mini-company. Aktor root sendiri harus diinisiasi oleh aktor perusahaan. Aktor perusahaan dipandang sebagai sistem yang berada di luar minicompany. Aktor perusahaan adalah aktor yang menerapkan sistem informasi minicompany dengan membuat aktor root. Pada sebelum mini-company diinisiasi, aktor root merupakan sistem luar yang dianggap sebagai sistem yang mampu menginisiasi sistem informasi mini-company. Setiap mini-company bisa dianggap sebagai sistem tersendiri. Karena tiap mini-company dapat berinteraksi dengan mini-company lain, maka mini-company dapat dianggap sebagai aktor yang dapat membuat relasi dan melakukan transaksi dengan mini-company.
3.2.2 Pembuatan Mini-Company Pembuatan mini-company harus melibatkan seorang project-champion yang menginisiasi proses ini. Pada sistem informasi ini, aktor root memainkan peran utama dalam pembuatan sistem. Model pembuatan mini-company dapat dilihat pada gambar 3.2.2a.
perusahaan
root (from Aktor)
(from Aktor)
pembuatan mini company
mini company (from Aktor)
Gambar 3.2.2a Pembuatan mini-company oleh root yang melibatkan aktor perusahaan dan mini company.
Usecase pembuatan mini company pada gambar 3.2.2a memiliki diagram activity yang terlihat pada gambar 3.2.2b.
24
proj ect campion : root
perusahaan : perusahaan
mini-company : mini company
activity diagram use case "pembuatan mini company" mulai
sosialisasi konsep ke karyawan
sosialisasi konsep mini company
pemilihan presiden mini company
pemilihan unit mini company root mendaftarkan presiden presiden mendaftar tidak berhasil dibuat evaluasi pembuatan mini company
implementasi konsep mini company
[ berhasil dibuat ]
selesai
Gambar 3.2.2b Diagram activity pembuatan mini-company.
Pada diagram activity diatas terdapat tiga aktor yang berperan dalam mendirikan sistem informasi mini-company yaitu aktor root, aktor perusahaan dan aktor mini-company. Pada diagram ini aktor root merupakan project champion yang mengusulkan penggunaan sistem informasi ini kepada perusahaan. Setelah perusahaan menyetujui diterapkannya konsep ini, maka perusahaan melakukan langkah pemilihan unit yang dijadikan mini-company dan melakukan sosialisasi kepada presiden terpilih agar melakukan langkah-langkah pendirian minicompany yang telah dijelaskan pada bab II.
3.2.3 Sistem Informasi Mini-Company Model ini merupakan desain diagram usecase untuk sistem informasi yang akan dibuat. Pada model ini terdapat lima paket yang dapat dilihat pada gambar 3.2.3a. Kelima paket tersebut adalah sistem yang saling berhubungan satu dengan yang lain.
25
sistem pembuatan business plan
sistem komunikasi internal
sistem implementasi
sistem laporan
sistem administrasi
Gambar 3.2.3a Lima paket sistem informasi mini-company
3.2.3.1 Sistem Administrasi Sistem ini melibatkan penambahan, penghapusan dan perubahan anggota, presiden dan mini-company. Diagram usecase untuk sistem ini dapat dilihat pada gambar 3.2.3b.
pendaftaran diri anggota mini company (from sistem pembuatan business plan)
edit profile diri
<
> login presiden
panggil menu
(from Aktor)
<<extend>> administrasi anggota <<extend>>
tambah
<<extend>> ubah
administrasi mini company <<extend>>
<<extend>>
hapus
<<extend>>
edit laporan
edit profile
edit business plan
Gambar 3.2.3b Sistem administrasi
26
Diagram activity untuk usecase login dan panggil menu pada gambar 3.2.3b dapat dilihat pada gambar 3.2.3b1 dan 3.2.3b2.
aktivity diagram usecase "login"
mulai
tampilkan peringatan kesalahan username dan password
tampilkan halama login
masukkan username dan password
[ login salah ]
periksa username dan password [ login benar ] daftarkan sesi dan cookies
selesai
Gambar 3.2.3.b1 Diagram activity untuk usecase login
Aktivitas pada gambar 3.2.3.b1 dimulai ketika pengguna mengakses halaman web login. Untuk dapat mengakses sistem informasi ini, pengguna harus memasukkan username dan password. Kemudian server akan memeriksa data username dan password yang ada di basis data dengan mengenkripsi password. Pemeriksaan password yang dienkripsi ini dapat dilihat pada gambar 3.2.3.b3.
sandi masuk yang di masukkan pengguna
enkripsi
sandi masuk pengguna yang dienkripsi
samakan sandi masuk
sandi masuk yang ada di basis data
sandi masuk sama
sandi masuk tidak sama
Gambar 3.2.3.b3 Pemeriksaan password yang dienkripsi
27
activity diagram "usecase panggil menu
mulai
periksa sesi dan cookies
query basis data menu
tampilkan pesan menu tidak ada tampilkan menu
Gambar 3.2.3b2 diagram activity untuk usecase panggil menu
Pada waktu pengguna melakukan proses login, server akan mendaftarkan sesi untuk keamanan dan penggolongan pengguna. Sesi yang didaftarkan akan di simpan oleh penjelajah web sampai pengguna melakukan logout atau waktu batas sesi
habis.
Gambar
3.2.3b2
memperlihatkan
penyimpanan
sesi
untuk
penggolongan menu.
3.2.3.2 Sistem Pembuatan Rencana usaha Pada sistem ini terdapat model diagram usecase yang digunakan untuk mengimplementasikan pembuatan rencana usaha. Langkah-langkah pembuatan rencana usaha dapat dilihat pada bab II. Diagram usecase untuk sistem ini dapat dilihat pada gambar 3.2.3c. Diagram usercase pada gambar 3.2.3c memperlihatkan aktor anggota mini-company dapat melakukan langkah-langkah pembuatan rencana usaha dalam sistem informasi ini. Setiap rencana usaha yang dibuat berinteraksi dengan usecase komunikasi. Oleh karena itu pembuatan rencana usaha selayaknya melibatkan semua anggota mini-company.
28
pembuatan misi visi login (from sistem admini strasi)
pembuatan nama anggota mini company pembuatan profil
pembuatan tujuan utama
menentukan ukuran dan metoda laporan
membuat analisa komunikasi (from sistem komuni kasi i nternal)
pembuatan relasi
membuat rencana kegiatan
Gambar 3.2.3c Diagram usecase untuk sistem pembuatan rencana usaha
3.2.3.3 Sistem Laporan Sistem ini banyak menggunakan usecase pada sistem pembuatan rencana usaha karena pada konsep pembuatan laporan komponen-komponen yang telah dibuat di rencana usaha digunakan kembali waktu membuat laporan. Komponen yang digunakan kembali adalah: 9. Nama mini-company
12. Relasi pemasok-pelanggan
10. Misi
13. Tujuan utama
11. Profil mini-company
14. Analisa untuk mencapai tujuan
Diagram usecase sistem pembuatan laporan dapat dilihat pada gambar 3.2.3d. Usecase pembuatan nilai pencapaian merupakan realisasi dari usecase laporan kemajuan dan berinteraksi dengan usecase komunikasi. Oleh karena itu untuk membuat nilai pencapaian, laporan kemajuan harus dikumpulkan, dievaluasi dan dikomunikasikan.
29
pembuatan misi visi (from sistem pembuatan business plan)
login
pembuatan nama
(from sistem admini strasi)
(from sistem pembuatan business plan)
anggota mini company (from sistem pembuatan business plan)
pembuatan profil (from sistem pembuatan business plan)
pembuatan tujuan utama deskripsi permasalahan
(from sistem pembuatan business plan)
pembuatan nilai pencapaian
membuat analisa (from sistem pembuatan business plan)
<>
komunikasi
pembuatan relasi
(from sistem komuni kasi i nternal ) (from sistem pembuatan business plan)
progress report (from sistem i mplementasi)
Gambar 3.2.3d Diagram usecase sistem pembuatan laporan
3.2.3.4 Sistem Implementasi Pada sistem ini dimodelkan langkah-langkah implementasi sistem informasi mini-company. Diagram usecase untuk sistem ini dapat dilihat pada gambar 3.2.3e.
1
1
pembelian
penjualan evaluasi QCDSM <>
login
<>
(from sistem admini strasi)
<>
business plan transaksi progress report anggota mini company (from sistem pembuatan business plan)
laporan
implementasi glasswall management komunikasi
bankers meeting
(from sistem komuni kasi i nternal)
Gambar 3.2.3e Diagram usecase sistem implementasi
30
mulai membuat misi
pemberian nama membuat profil
membuat relasi
penentuan ukuran quality
memperjelas tujuan
penentuan ukuran cost
penentuan ukuran delivery
penentuan ukuran morale
business plan tidak layak
pembuatan analisa
pembuatan rencana kegiatan
penentuan ukuran dan metoda laporan evaluasi business plan
business plan layak selesai mulai
pemberian nama (from State/Activity Mo...)
membuat misi (from State/Activity Mo...)
membuat profil
penentuan ukuran delivery
penentuan ukuran morale
(from State/Activity Mo...)
(from State/Activity Mo...)
(from State/Activity Model)
memperjelas tujuan
penentuan ukuran quality
penentuan ukuran cost
(from State/Activity Mo...)
(from State/Activity Mo...)
(from State/Activity Mo...)
laporan tidak layak pembuatan analisa (from State/Activity Mo...)
pencapaian selama periode laporan
hasil pelaksanaan permasalahan yang masih ada
laporan layak selesai
Gambar 3.2.3e1 Diagram activity untuk pembuatan rencana usaha dan laporan usecase pada gambar 3.2.3e
31
3.2.3.5 Sistem Komunikasi Internal Sistem ini merupakan penjelasan model dari pertemuan bankir dan forum diskusi yang tidak dibuat pada tugas akhir ini sesuai dengan batasan masalah yang disebutkan pada bab I. Diagram usecase untuk sistem ini dapat dilihat pada gambar 3.3.3f.
<<extend>>
<<extend>>
komunikasi
login
browse hasil diskusi
post diskusi
<<extend>>
(from sistem admi ni strasi )
<<extend>> <<extend>> browse usulan
post usulan
anggota mini company (from sistem pembuata...)
<<extend>>
presiden (from Aktor)
brwose keputusan
post kesimpulan
post keputusan
browse kesimpulan
Gambar 3.2.3f Diagram usecase sistem komunikasi internal
3.3 Model Basis Data Basis data dimodelkan dengan membuat tabel-tabel yang dibutuhkan untuk membuat sistem informasi ini dan membuat relasi antar table dengan kunci atau batasan-batasan akses. Pemodelan basis data ini dibuat dengan menggunakan piranti lunak PowerDesigner 8.
3.3.1 Mini-Company Tabel t_mini_company pada gambar 3.3.1 merupakan tabel utama dalam desain basis. Tabel t_mini_company memiliki relasi one-to-many dengan tabel t_perusahaan. Dengan demikian jika sistem informasi ini dikembangkan, maka tiap mini-company dapat terhubung dengan perusahaan. Sebuah mini-company hanya bisa terhubung dengan satu perusahaan.
32
t_mini_company t_perusahaan
mc_id perusahaan_id = perusahaan_idperusahaan_id perusahaan_id INT nama varchar(50) nama proses_id misi
INT INT VARCHAR2(30) INT varchar(500)
Gambar 3.3.1 Tabel t_mini_company
3.3.2 Administrasi Situs Tabel t_menu, t_group_menu, t_group dan t_user pada gambar 3.3.2 digunakan bersama dalam pendataan anggota dan pembagian wewenang dari tiap anggota. Tiap anggota dalam tabel t_user akan dikelompokkan dalam grup yang ada di tabel t_group. Hubungan t_user dan t_group adalah one-to-many sehingga setiap anggota hanya bisa masuk ke satu grup tertentu. t_group group_id name note status
INT VARCHAR2(50) VARCHAR2(200) VARCHAR2(1)
t_aktivitas aktivitas_id angg_id aktivitas tanggal
group_id = group_id
INT varchar(20) varchar(200) DATE
angg_id = angg_id group_id = group_id t_user
t_Group_menu
menu_id = parent_id
angg_id mc_id jabatan_id group_id nama alamat telp username password email session
menu_id INT group_id INT menu_id = menu_id t_menu
menu_id parent_id caption orders link note
INT INT VARCHAR2(50) VARCHAR2(5) VARCHAR2(200) VARCHAR2(200)
VARCHAR(50) INT INT INT VARCHAR2(50) VARCHAR2(100) VARCHAR2(24) varchar(50) varchar(50) varchar(50) varchar(32)
mc_id = mc_id t_mini_company mc_id perusahaan_id nama proses_id misi
INT INT VARCHAR2(30) INT varchar(500)
Gambar 3.3.2 Tabel t_menu, t_group_menu, t_group, t_user dan t_aktivitas
3.3.3 Jabatan dan Deskripsi Jabatan Tabel t_jabatan dan t_job_des pada gambar 3.3.3 digunakan untuk menyimpan jabatan dan deskripsi jabatan untuk anggota.
33
t_job_des job_des_id INT jabatan_id INT varchar(200) job_des jabatan_id = jabatan_id t_user angg_id mc_id jabatan_id group_id nama alamat telp username password email session
VARCHAR(50) INT INT INT VARCHAR2(50) VARCHAR2(100) VARCHAR2(24) varchar(50) varchar(50) varchar(50) varchar(32)
t_jabatan
jabatan_id INT nama varchar(24) jabatan_id = jabatan_idmc_id INT
t_diskusi komentar_id angg_id = angg_id angg_id komentar waktu_input status
INT VARCHAR(50) varchar(200) DATE varchar(1)
Gambar 3.3.3 Tabel t_jabatan dan t_job_des.
Tabel antarmuka untuk tabel t_diskusi tidak akan dibuat sebagaimana telah disebutkan pada bab I.
3.3.4 Relasi Tabel t_relasi dan t_tipe_relasi pada gambar 3.3.4 digunakan untuk membuat relasi tabel t_mini_company dengan dirinya sendiri dengan tipe hubungan many-to-many. Tiap mini-company dapat memiliki hubungan dengan mini-company lain. Hubungan ini dapat berupa bankir, pelanggan, pemasok ataupun pekerja. t_tipe_relasi tipe_relasi_id INT nama VARCHAR2(30) VARCHAR2(200) note
tipe_relasi_id = tipe_relasi_id t_relasi t_mini_company mc_id perusahaan_id nama proses_id misi
mc_id = mc_id
INT INT VARCHAR2(30) INT mc_id = unit_id varchar(500)
relasi_id mc_id tipe_relasi_id note unit_id status
INT INT INT VARCHAR2(200) INT varchar(1)
Gambar 3.3.4 Relasi t_mini_company dengan dirinya sendiri.
34
3.3.5 Proses, Misi dan Tujuan Tabel t_proses, t_tujuan, t_nilai_qcdsm, t_qcdsm pada gambar 3.3.5 digunakan untuk membuat tujuan, proses dan parameter QCDSM(Quality, Cost, Delivery, Safety, Morale). Tujuan merupakan penjelasan langkah nyata dari misi yang ada di tabel t_mini_company. t_mini_company mc_id perusahaan_id nama proses_id misi
INT INT VARCHAR2(30) INT varchar(500)
t_tujuan
mc_id = mc_id
tujuan_id INT mc_id INT tujuan VARCHAR2(100)
mc_id = mc_id t_proses proses_id mc_id nama_proses note extensi
INT INT varchar(50) varchar(200) varchar(5)
tujuan_id = tujuan_id t_nilai_qcdsm nilai_id tujuan_id qcdsm_id note nilai
INT INT INT VARCHAR2(200) INT
qcdsm_id = qcdsm_id
t_qcdsm qcdsm_id INT qcdsm VARCHAR2(10)
Gambar 3.3.5 Tabel t_proses, t_tujuan, t_nilai_qcdsm, t_qcdsm
Pada tabel t_proses digunakan untuk membuat data file-file proses yang diupload oleh anggota mini-company. Data file tidak disimpan dalam basis data namun nama file diberikan berdasarkan kolom proses_id.
3.3.6 Manajemen Aset Tabel t_sirkulasi, t_tipe_sirkulasi, t_property, t_jenis_property dan t_satuan pada gambar 3.3.6 digunakan untuk membuat data aset mini-company. Tabel t_sirkulasi digunakan untuk mencatat transaksi masuk dan transaksi keluar pada mini-company yang bersangkutan dengan mini-company lain.
35
t_mini_company mc_id perusahaan_id nama proses_id misi
mc_id = klien_id
INT INT VARCHAR2(30) INT varchar(500)
t_sirkulasi kode_sirkulasi property_id tipe_id klien_id tanggal jumlah_masuk jumlah_keluar nilai transaksi note
INT INT INT INT DATE INT INT INT varchar(1) varchar(200)
mc_id = mc_id
property_id = property_id
t_property property_id mc_id jenis_id satuan_id nama nilai
tipe_id = tipe_id
INT INT INT INT VARCHAR2(50) INT
jenis_id = jenis_id
satuan_id = satuan_id t_jenis_properti jenis_id INT jenis varchar(20)
t_tipe_sirkulasi
t_satuan
tipe_id INT nama varchar(50)
satuan_id INT nama VARCHAR2(24)
Gambar 3.3.6 Tabel yang digunakan untuk manajemen asset
3.3.7 Laporan dan Rencana Usaha Tabel t_bp_report dan tabel t_permasalahan pada gambar 3.3.7 digunakan untuk membantu menyimpan dan menampilkan file laporan dan rencana usaha. Seperti file proses pada poin 3.3.5, file rencana usaha dan laporan tidak di simpan dalam basis data, melainkan disimpan di pelipat tertentu. t_bp_report t_permasalahan permasalahan_id tanggal permasalahan mc_id
INT DATE varchar(500) INT
bp_report_id mc_id judul bp_or_report tanggal
INT INT VARCHAR2(50) VARCHAR2(1) DATE
mc_id = mc_id mc_id = mc_id t_mini_company mc_id perusahaan_id nama proses_id misi
INT INT VARCHAR2(30) INT varchar(500)
Gambar 3.3.7 Laporan dan rencana usaha
Jika tabel basis data yang telah dijelaskan pada poin-poin sebelumnya digabungkan, maka relasi tabel basis data keseluruhan yang digunakan untuk sistem informasi ini terlihat pada gambar 3.3. 36
t_group group_id name note status
INT VARCHAR2(50) VARCHAR2(200) VARCHAR2(1)
t_aktivitas aktivitas_id angg_id aktivitas tanggal
group_id = group_id
t_job_des
INT varchar(20) varchar(200) DATE
job_des_id INT jabatan_id INT varchar(200) job_des
Jabatan dan jabatan_id = jabatan_id deskripsi t_jabatan jabatan
angg_id = angg_id group_id = group_id t_user
t_Group_menu
Administrasi Situs
menu_id INT group_id INT
menu_id = parent_id
menu_id = menu_id t_menu menu_id parent_id caption orders link note
INT INT VARCHAR2(50) VARCHAR2(5) VARCHAR2(200) VARCHAR2(200)
VARCHAR(50) INT INT INT VARCHAR2(50) VARCHAR2(100) VARCHAR2(24) varchar(50) varchar(50) varchar(50) varchar(32)
jabatan_id INT nama varchar(24) jabatan_id = jabatan_idmc_id INT
t_diskusi komentar_id angg_id = angg_id angg_id komentar waktu_input status
INT VARCHAR(50) varchar(200) DATE varchar(1)
t_bp_report bp_report_id mc_id judul bp_or_report tanggal
t_permasalahan permasalahan_id tanggal permasalahan mc_id
angg_id mc_id jabatan_id group_id nama alamat telp username password email session
INT DATE varchar(500) INT
INT INT VARCHAR2(50) VARCHAR2(1) DATE
Laporan &business plan
t_tipe_relasi tipe_relasi_id INT nama VARCHAR2(30) note VARCHAR2(200)
mc_id = mc_id
tipe_relasi_id = tipe_relasi_id
Relasi
mc_id = mc_id mc_id = mc_id
t_relasi t_mini_company t_perusahaan
mc_id perusahaan_id INT perusahaan_id = perusahaan_idperusahaan_id nama varchar(50) nama proses_id misi mc_id = klien_id
mc_id = mc_id INT INT VARCHAR2(30) INT mc_id = unit_id varchar(500)
t_sirkulasi kode_sirkulasi property_id tipe_id klien_id tanggal jumlah_masuk jumlah_keluar nilai transaksi note
INT INT INT INT DATE INT INT INT varchar(1) varchar(200)
property_id = property_id
t_proses t_property
Manajemen aset
tipe_id = tipe_id
INT INT INT INT VARCHAR2(50) INT
proses_id mc_id nama_proses note extensi
INT INT varchar(50) varchar(200) varchar(5)
jenis_id = jenis_id
INT INT INT VARCHAR2(200) INT varchar(1)
t_tujuan
mc_id = mc_id
mc_id = mc_id mc_id = mc_id
property_id mc_id jenis_id satuan_id nama nilai
relasi_id mc_id tipe_relasi_id note unit_id status
tujuan_id INT mc_id INT tujuan VARCHAR2(100) tujuan_id = tujuan_id
Proses, t_nilai_qcdsm INT tujuan, INT INT qcdsm VARCHAR2(200)
nilai_id tujuan_id qcdsm_id note nilai
INT
satuan_id = satuan_id t_jenis_properti
qcdsm_id = qcdsm_id
jenis_id INT jenis varchar(20)
t_tipe_sirkulasi
t_satuan
tipe_id INT nama varchar(50)
satuan_id INT nama VARCHAR2(24)
t_qcdsm qcdsm_id INT qcdsm VARCHAR2(10)
Gambar 3.3 Bentuk relasi keseluruhan tabel basis data
3.4 Model Class PBO telah didukung oleh php sejak versi 3. Namun pada versi 5 pengangan objek ditulis ulang seluruhnya untuk meningkatkan kemampuannya sebagai bahasa pemrograman yang mendukung PBO. Sistem informasi ini pada mulanya tidak di desain secara PBO, namun karena penulis merasa perlu menggunakan PBO agar lebih mudah dikembangkan, maka sebagian kode dalam sistem informasi ini ditulis secara PBO. Beberapa class yang telah dibuat penulis dapat dilihat pada gambar 3.4.
37
cselect $strsql $select_id $selected $name $caption_column $id_column $option $event __construct() getOptionQuery() addOption() addEvent() render_select() MySQLConnect $connection $instances __construct() __destruct() createResultSet() getConnection() getVersionNumber() close()
Site $head : Head $page : Page $headercontent $footercontent $postcontent __construct() __destruct() setPage() setHead() addPostContent() addHeaderContent() setGroupId() setInitalValue() get_include_contents() get_stream_contents() toRupiah() render() grantPageTo()
Tag $tagname $attrib $inlinestyle $content
Head $title $upper $bottom $meta $headfile $endhtml $link $script
__construct() __destruct() addAttrib() setTagname() addContent() singleTag() doubleTag()
__construct() __destruct() render_h() addHeadFile() addLink() addScript() <<extend>> addMeta() showendhtml() <<extend>> ColumnPage $strColumn $content __construct() __destruct() addColumnContent() getColumnPage()
UploadExtension $upload_name __construct() getExt() Menu $strsql $group_id $return_menu $openblock $closeblock $menu $script $scriptContent __construct() __destruct() setGroupId() render_menu()
Page $header $headerContent $headermenu1 $headermenu2 $logo $title $addHeaderContent $menu $footer $footerContent $post $container __construct() __destruct() addHeaderMenu() getStrHeadermenu1() addLogo() addHeadermenu2() getStrHeadermenu2() addPageTitle() setStrHeaderContent() addHeaderContent() addImgFooter() addFootercontent() addHeaderFooterContent() addPostContent() setGroupId() getStrPage() MySQLResultSet $strSQL $databasename $connection $result __construct() __destruct() getRow() getDatabaseName() getNumberColumns() getAffectedRow() getNumberRows() getInsertId() getUnlimitedNumberRows() getFieldNames() findVersionNumber() checkForSelect() close()
Gambar 3.4 Beberapa class yang dibuat pada sistem informasi ini
Kode-kode yang dibuat dari class-class diatas dapat dilihat di lampiran A.
38