ABSTRAK
Pemanfaatan sistem informasi pada Belajar Diving Dot Com akan sangat membantu, terutama dalam pengolahan dan managemen data yang diperlukan, oleh karena itu proyek akhir ini menghasilkan sebuah sistem informasi berbasis web.
Berkembangnya suatu perusahaan tentu harus di tunjang dengan berkembangnya sistem yang ada didalamnya, hal ini bertujuan agar penanganan masalah yang kompleks dapat di tangani lebih cepat, dimana waktu merupakan sesuatu yang berharga terutama bagi sebuah perusahaan. Saat ini pengunaan system Teknologi Informasi pada perusahaan semakin dibutuhkan, begitu juga pada perusahaan yang bergerak dibidang edukasi, dimana pengolahan nilai dan adminsitrasi yang baik akan meningkatkan efesiensi dan kinerja suatu perusahaan.
konsep SDLC, DFD, PSPEC dan lain sebagainya yang berguna dalam menunjang pembuatan desain website. Sistem ini berjalan pada sebuah webserver Apache dengan bahasa pemograman PHP dan basisdata MySQL, untuk mengatur basis data menggunakan sebuah DBMS yaitu phpMyAdmin. Sistem ini juga memiliki fitur SMS gateway menggunakan sms lib.
Setelah sistem dibuat, diimplementasikan dan diuji cobakan, Sistem berjalan dengan baik dan sesuai dengan kebutuhan.
vii
ABSTRACT
Use of information systems at the Learning Diving Dot Com will be very helpful, especially in the processing and data management required, therefore the final project is generating a web-based information systems.
The development of an enterprise would be in with the development of systems that are inside, it is intended that the handling of complex problems can be handled more quickly, where time is worth something, especially for a company. Current usage of the company's Information Technology systems are increasingly required, as well as in companies engaged in education, where processing a good value and will increase administrative efficiency and performance of a company.
the concept of SDLC, DFD, PSPEC etc. are useful in supporting the creation of websitedesign. This system runs on an Apache webserver with PHP programming language and MySQL database, to manage the database using a DBMS that is phpMyAdmin. This system also features SMSgateway using sms lib.
Once the system is created, implemented and tested, system goes well and according to need.
DAFTAR ISI
LEMBAR PENGESAHAN ...i
PERNYATAAN ORISINALITAS LAPORAN ... ii
PENELITIAN ... ii
LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAH... iii
PRAKATA ... iv
1.3 Tujuan Pembahasan... 2
1.4 Ruang Lingkup Kajian... 3
1.5 Sumber Data... 3
1.6 Sistematika Penyajian... 5
BAB II KAJIAN TEORI ...6
2.2 Sistem Pendukung Keputusan (SPK) ... 9
2.2.1 Multiple Attribute Decision Making (MADM) ... 10
2.2.2 Simple Additive Weighting Method (SAW)... 11
2.3 Flowchart... 19
2.4 Data Flow Diagram... 20
2.4.1 Komponen-komponen DFD ... 21
ix
2.8.4 Dasar Pemrograman Java... 35
2.9 Basis Data... 36
2.9.1 Definisi Basis Data... 37
2.9.2 Arsitektur Sistem Basis Data... 37
2.10 MYSQL ... 38
2.11 Apache... 41
2.12 EntityRelationship Diagram (ERD)... 42
2.13 SDLC (Software Development Life Cycle)... 47
2.14 Black Box... 49
BAB III ANALISIS DAN RANCANGAN SISTEM ...50
3.1 Proses Bisnis ... 50
3.2 Proses Aplikasi ... 52
3.3 Flowchart ... 53
3.2.1 Proeses Pendaftaran Anggota... 54
3.2.2 Proses Mengikuti Trip... 55
3.2.3 Proses Seleksi Trip... 56
3.4 Analisis Database... 56
3.4.1 ER Diagram... 57
3.4.2 Model Fisik Data (Physical Data Model)... 59
3.4.3 skripsi Table ... 61
3.5 DFD ... 66
3.5.1 DFD Level 0 (Konteks) ... 66
3.5.2 DFD level 1... 68
3.5.3 DFD level 2... 72
3.5.4 DFD Level 3... 78
3.5 PSPEC / Process Spesification... 86
3.6 Kamus Data / Data Dictionary... 101
3.7 Perancangan Tampilan (UserInterface) ... 106
BAB IV HASIL PENELITIAN ...121
4.1 UserInterfaceAdmin... 121
BAB V PEMBAHASAN DAN UJI COBA HASIL PENELITIAN ...143
BAB VI SIMPULAN DAN SARAN ...147
DAFTAR PUSTAKA ...148
DAFTAR GAMBAR
Gambar 1. Contoh Hubungan Terminator yang Salah... 23
Gambar 2. Contoh Proses ... 23
Gambar 3. Contoh Alur Data Searah dan Dua Arah ... 23
Gambar 4. Menulis dan Membaca data di Penyimpan Data... 24
Gambar 5. Komponen-komponen ERD ... 42
Gambar 6. Hubungan Atribut dan Entitasnya... 44
Gambar 7. Relasi many to many to many ... 46
Gambar 8. Model waterfall ... 48
Gambar 9. Proses Bisnis ... 51
Gambar 10. Proses Aplikasi... 53
Gambar 11. Flowchart Proses pendaftaran Anggota ... 54
Gambar 12. Flowchart Proses Mengikuti Trip... 55
Gambar 13. Flowchart Proses Seleksi Trip... 56
Gambar 14. E/R Diagram... 57
Gambar 22. DFD detail proses 1 kelola anggota ... 72
Gambar 23. DFD detail proses 2 kelola anggota ... 73
Gambar 24. DFD detail proses 4 kelola anggota ... 75
Gambar 25. DFD detail proses 4 kelola instruktur ... 76
Gambar 26. DFD detail proses 6 kelola pesan ... 77
Gambar 27. DFD detail proses 3.1 kelola anggota kursus... 78
Gambar 28. DFD detail proses 3.2 kelola kursus... 79
Gambar 29. DFD detail proses 3.3 kelola keuangan ... 80
Gambar 30. DFD detail proses 3.5 kelola nilai... 81
Gambar 31. DFD detail proses 4.1 kelola anggota trip... 82
Gambar 32. DFD detail proses 4.2 kelola anggota ... 83
Gambar 33. DFD detail proses 4.3 kelola anggota ... 84
Gambar 34. Perancangan UserInterfaceLogin... 106
Gambar 35. Perancangan UserInterface Home Admin... 107
Gambar 36. Perancangan UserInterface Tambah Anggota... 108
Gambar 37. Perancangan UserInterfaceEdit Anggota... 109
Gambar 38. Perancangan UserInterface Tambah Instruktur ... 110
Gambar 39. Perancangan UserInterfaceEdit Instruktur ... 111
Gambar 40. Perancangan UserInterface Tambah Kursus ... 112
Gambar 41. Perancangan UserInterfaceEdit Kursus ... 113
Gambar 42. Perancangan UserInterface Tambah Trip... 114
Gambar 43. Perancangan UserInterfaceEditTrip... 115
Gambar 44. Perancangan UserInterfaceList Anggota ... 116
Gambar 45. Perancangan UserInterfaceList Instruktur... 116
xi
Gambar 47. Perancangan UserInterfaceListTrip... 117
Gambar 48. Perancangan UserInterfaceInput Nilai Anggota Kursus ... 118
Gambar 49. Perancangan UserInterface Pembayaran Kursus ... 119
Gambar 50. Perancangan UserInterface Pembayaran Trip... 119
Gambar 51. Implementasi UserInterfaceLogin... 121
Gambar 52. Implementasi UserInterface Home Admin... 121
Gambar 53. Implementasi UserInterface Tambah Anggota... 122
Gambar 54. Implementasi UserInterfaceEdit Anggota... 123
Gambar 55. Implementasi UserInterface Tambah Instruktur ... 124
Gambar 56. Implementasi UserInterfaceEdit Instruktur ... 125
Gambar 57. Implementasi UserInterface Tambah Kursus ... 126
Gambar 58. Implementasi UserInterfaceEdit Kursus ... 127
Gambar 59. Implementasi UserInterface Tambah Trip... 128
Gambar 60. Implementasi UserInterfaceEditTrip... 129
Gambar 61. UserInterfaceUserInterfaceList Anggota Trip... 130
Gambar 62. Implementasi UserInterfaceDetailTrip... 131
Gambar 63.Implementasi UserInterfaceList Instruktur... 132
Gambar 64. Implementasi Detail Instruktur... 132
Gambar 65.Implementasi UserInterfaceList Kursus... 133
Gambar 66. Implementasi UserInterfaceDetail Kursus ... 133
Gambar 67. Implementasi UserInterfaceList Anggota ... 134
Gambar 68. Implementasi UserInterfaceDetail anggota ... 135
Gambar 69. Implementasi UserInterfaceInput Nilai Anggota Kursus ... 136
Gambar 70. Implementasi UserInterface Pembayaran Kursus ... 137
Gambar 71. Implementasi UserInterface Pembayaran Trip... 138
Gambar 72. Implementasi UserInterfaceDetail Kursus Trip... 139
Gambar 73. Implementasi UserInterfaceListTrip... 140
Gambar 74. Implementasi UserInterface Tambah Nilai DSS ... 140
Gambar 75. Implementasi UserInterfaceList Anggota Trip Expedisi... 141
DAFTAR TABEL
Tabel I Nilai IPK ... 13
Tabel II Nilai Penghasilan Orang Tua ... 14
Tabel III Nilai Jumlah Tanggungan Orang Tua ... 14
Tabel IV Nilai Usia ... 15
Tabel V Nilai Semester ... 15
Tabel VI Data Pemohon... 16
Tabel VII Rating kecocokan dari setiap alternatif pada setiap kriteria... 16
Tabel VIII Alternatif dan Kriteria ... 16
Tabel IX Komponen dalam DFD ... 21
Tabel X Simbol dalam kamus data... 26
Tabel XI Deskripsi Table Tb_param_nilai ... 61
Tabel XII Deskripsi Table Tb_nilai_praktik_anggota ... 61
Tabel XIII Deskripsi Table Tb_anggota... 61
Tabel XIV Deskripsi Table Tb_instruktur... 62
Tabel XV Deskripsi Table Tb_admin... 62
Tabel XVI Deskripsi Table Tb_kursus... 62
Tabel XVII Deskripsi Table Tb_kursus_detail... 62
Tabel XVIII Deskripsi Table Tb_trip ... 63
Tabel XIX Deskripsi Table Tb_trip_detail... 63
Tabel XX Deskripsi Table Tb_level... 63
Tabel XXI Deskripsi Table Tb_pengeluaran_kursus ... 63
Tabel XXII Deskripsi Table Tb_pengeluaran_trip... 64
Tabel XXIII Deskripsi Table Tb_katergori_trip... 64
Tabel XXIV Deskripsi Table Tb_pesan ... 64
Tabel XXV Deskripsi Table smsserver_calls... 64
Tabel XXVI Deskripsi Table smsserver_in ... 65
Tabel XXVII Deskripsi Table smsserver_out... 65
Tabel XXVIII PSPEC Proses Input Nilai... 86
Tabel XXIX PSPEC Proses Input Pengeluaran Kursus ... 86
Tabel XXX PSPEC Proses Input Pengeluaran Kursus ... 87
Tabel XXXI PSPEC Proses Input Gagal Diving... 87
Tabel XXXII PSPEC Proses Input Gagal Diving... 88
Tabel XXXIII PSPEC Proses Edit Anggota ... 88
Tabel XXXIV PSPEC Proses Melihat Data Anggota... 89
Tabel XXXV PSPEC Proses Menambah Data Anggota ... 89
Tabel XXXVI PSPEC Proses Menentukan Instruktur Kursus... 90
Tabel XXXVII PSPEC Proses Menentukan Instruktur Trip... 90
Tabel XXXVIII PSPEC Proses Melihat Data Instruktur ... 91
Tabel XXXIX PSPEC Proses Menambah Data Instruktur... 91
Tabel XL PSPEC EditData Instruktur... 92
Tabel XLI PSPEC Melihat Data Pesan ... 92
Tabel XLII PSPEC Membuat Pesan ... 93
Tabel XLIII PSPEC EditData Pesan... 93
Tabel XLIV PSPEC Proses Menambah Anggota Kursus... 93
Tabel XLV PSPEC Proses Edit Anggota Kursus ... 94
Tabel XLVI PSPEC Proses Melihat Data Anggota Kursus ... 95
xiii
Tabel XLVIII PSPEC Proses Edit Kursus... 95
Tabel XLIX PSPEC Proses Melihat Detail Kursus ... 96
Tabel L PSPEC Proses Input Data Pembayaran ... 96
Tabel LI PSPEC Proses Melihat Data Pembayaran ... 97
Tabel LII PSPEC Proses Edit Pembayaran ... 97
Tabel LIII PSPEC Proses InputData Pengeluaran ... 98
Tabel LIV PSPEC Proses Melihat Data Pengeluaran ... 99
Tabel LV PSPEC Proses Edit Pengeluaran ... 99
Tabel LVI PSPEC Proses Lihat Saldo ... 100
Tabel LVII Kamus DataLogin... 101
Tabel LVIII Kamus Data Anggota... 101
Tabel LIX Kamus Data Kursus... 102
Tabel LX Kamus DataTrip... 102
Tabel LXI Kamus Data Instruktur ... 103
Tabel LXII Kamus Data Pesan... 103
Tabel LXIII Kamus Data Nilai ... 104
Tabel LXIV Kamus Data Pesan ... 104
Tabel LXV Kamus Data Pesan ... 104
Tabel LXVI Kamus Data Pembayaran Trip... 105
Tabel LXVII Kamus Data Pengeluaran Trip... 105
DAFTAR ISTILAH
BBDC : singkatan Belajar Diving Dot Com, merupakan instansi yang menjadi tempat penelitian pada tugas akhir ini
Open water : Tingkatan pertama pada sertifikasi selam
Advance open
water : Tingkatan kedua pada sertifikasi selam Rescue : Tingkatan ketiga pada sertifikasi selam
Master scuba
diver : Tingkatan keempat pada sertifikasi selam
Diving :
Diving adalah penyelaman dengan menggunakan perlatan selam lengkap berupa Fin, Mask, Tabung oksigen beserta regulator. Teknik selam ini dapat digunakan pada kedalaman tertentu dari permukaan dengan bantuan tabung pernafasan.
Kursus :
1
BAB I PENDAHULUAN
1.1 Latar Belakang Masalah
Berkembangnya suatu perusahaan tentu harus di tunjang dengan
berkembangnya sistem yang ada didalamnya, hal ini bertujuan agar
penanganan masalah yang kompleks dapat di tangani lebih cepat, dimana
waktu merupakan sesuatu yang berharga terutama bagi sebuah perusahaan.
Saat ini pengunaan system Teknologi Informasi pada perusahaan semakin
dibutuhkan, begitu juga pada perusahaan yang bergerak dibidang
pendidikan, dimana pengolahan nilai dan adminsitrasi yang baik akan
meningkatkan efesiensi dan kinerja suatu perusahaan.
BelajarDiving.com atau disingkat menjadi BDDC merupakan
perusahaan yang bergerak dibidang pelatihan diving dan juga pengelolaan
trip diving. Setiap tahunnya perusahaan ini mengadakan lebih dari 20 trip
yang bisa di ikuti siapa saja yang , dengan jumlah siswa mencapai lebih dari
100 orang per tahun. Perusahaan ini berpusat di Bandung, tepatnya di jalan
patuha no.7 dan mempunyai kantor cabang di Tulamben, Bali.
Kegiatan pelatihan diving pada BDDC mempunyai beberapa tingkatan
setiap tingkatan harus melalui beberapa tahap pelatihan, antara lain
pelatihan teori, pelatihan praktek dan ujian yang berbeda di setiap tingkatan,
tingkatan ini merupakan salah satu acuan menentukan kelayakan siswa
untuk mengikuti trip berikutnya.
BDDC masih mengunakan metode manual dalam pengolahan nilai
dan juga administrasi, dengan jumlah data yang banyak memungkinkan
adanya kesalahan dalam pengelolaan nilai secara manual. Saat ini BDDC
belum menerapkan sistem CRM sehingga tidak adanya hubungan
berkelanjutan dengan anggota.
Oleh karena itu dibuatnya aplikasi ini bertujuan membantu pengolahan
nilai siswa dan administrasi pada perusahaan diving course
2
1.2 Rumusan masalah
Berdasarkan latar belakang masalah yang telah dikemukakan pada
bagian maka dapat dirumuskan beberapa masalah yaitu:
1. Bagaimana mendata nilai anggota, agar mengurangi kesalahan
yang mungkin terjadi?
2. Bagaimana cara untuk menentukan anggota terbaik memenuhi
syarat untuk mengkuti ekspedisi?
3. Bagaimana mengelola data setiap trip atau kegiatan perusahaan
dengan lebih baik?
4. Bagaimana mengelola hubungan dengan konsumen?
1.3 Tujuan Pembahasan
Maksud dari pembuatan aplikasi ini untuk membantu seorang
administrator ataupun instruktur dalam sebuah lembaga pengolahan diving
agar setiap kegiatan yang diadakan dapat lebih mudah pengolahannya.
Sedangkan Tujuan pembuatan aplikasi ini antara lain:
1. Merancang aplikasi pengelolaan nilai, di harapkan dengan aplikasi
ini kesalahan penghitungan nilai dapat di kurangi.
2. Merancang aplikasi yang membantu menentukan anggota terbaik
untuk mengikuti ekspedisi.
3. Merancang aplikasi yang dapat mengelola data dari trip dan
kegiatan yang di lakukan oleh perusahaan.
4. merancang modul CRM berupa SMS gateway yang dapat
3
Universitas Kristen Maranatha
1.4 Ruang Lingkup Kajian
a. Hardware Spesifikasi minimum:
1. Intel Pentium IV 2GHz
2. RAM 512 MB
3. Hardisk 80 GB
4. Mouse & keyboard
5. Monitor
b. Software
Aplikasi ini dibuat dengan bahasa pemrograman PHP dan
database menggunakan mySQL dengan software pendukung seperti
Apache.
c. Aplikasi
1. Tidak menghitung biaya operasional selain trip dan kursus.
2. Aplikasi desktop tidak online.
3. Untuk keperluan CRM, menggunakan SMS gateway, hal ini
dikarenakan aplikasi tidak online,
1.5 Sumber Data
Perolehan sumber data yang digunakan dibagi menjadi dua antara
lain, tahap pengumpulan data dan pengembangan perangkat lunak.
1. Pengumpulan Data
Pengumpulan data disini bertujuan untuk mendapatkan informasi
mengenai belajardiving.com(BDDC) tentang diving, kursus dan informasi
pendukung lainnya. Tahapnya antara lain
a. Teknik Dokumentasi, mengumpulkan dokumen-dokumen dari pihak
BDDC
b. Teknik Interview, yaitu penulis melakukan wawancara dengan
4
proses dan data-data dibutuhkan untuk pengelolan berbagai
kegiatan dan atministrasinya.
c. Penelitian Kepustakaan Yaitu melakukan pengumpulan data yang
akan dilakukan dengan mempelajari berbagai teori dari buku maupun
internet yang dapat dijadikan sebagai referensi terkait permasalahan
yang diteliti.
2. Pengebangan Perangkat Lunak
Pembangunan sistem sesuai dengan metode waterfall, dilakukan
dalam beberapa tahap yang dilakukan setelah pengumpulan data yaitu,
analisa kebutuhan sistem, analisa dan perancangan sistem, pembuatan
sistem, dan diakhiri dengan pengujian dan revisi pada sistem informasi
BDDC. Adapun pekerjaan yang dilakukan dari tahap diatas, antara lain:
a. Analisa kebutuhan sistem, merupakan Pemodelan Bisnis, tahap ini
mencoba memahami dan memodelkan persoalan bisnis yang ada
pada BDDC.
b. Pendefinisian kebutuhan, menerjemahkan kebutuhan dari
pemodelan bisnis dan persoalan yang ada menjadi perilaku sistem
yang terotomatisasi.
c. Analisis dan Perancangan, tahap ini menerjemahkan kebutuhan
menjadi sebuah arsitektur perangkat lunak.
d. Implementasia atau pembuatan sistem merupakan penciptaan
sebuah perangkat lunak yang berkesesuaian dengan arsitektur
yang telah dimodelkan pada tahap analisis dan perancangan, dan
juga memiliki perilaku sesuai dengan kebutuhan yang telah
dimodelkan pada tahapan pendefinisian kebutuhan.
e. Pengujian, tahap ini memastikan perilaku atau proses yang dari
perangkat lunak yang telah diciptakan, ada dan sesuai dengan
kebutuhan yang telah dimodelkan. Metode yang digunakan adalah
blackbox testing, yaitu pengujian yang dilakukan dengan cara
5
Universitas Kristen Maranatha
1.6 Sistematika Penyajian
Sistematika penulisan yang digunakan dalam laporan Kerja Praktek ini
yaitu :
BAB I. PENDAHULUAN
Bab ini berisi penjelasan latar belakang masalah, rumusan
masalah, tujuan pembahasan, ruang lingkup kajian, metodologi
penulisan sistematika penyajian laporan.
BAB II. KAJIAN TEORI
Bab ini berisi penjelasan mengenai pengertian dan penjelasan
tentang lembaga BDDC, Diving, internet, sistem informasi, data
flow diagram, basis data, SQL, PHP, MYSQL, dan SDLC.
BAB III. ANALISIS DAN RANCANGAN SISTEM
Tentang semua pembahasan secara lengkap mengenai analisis
pemecahan masalah, perancangan desain aplikasi, dan
penjelasan sistem.
BAB IV. HASIL PENELITIAN
Kumpulan screenshot dari proyek yang dibuat beserta penjelasan
dari tiap fungsi (method) utama yang dibuat.
BAB V. PEMBAHASAN DAN UJI COBA HASIL PENELITIAN Laporan dari pengujian tiap class/fungsi/method yang dibuat
BAB VI. SIMPULAN DAN SARAN
kesimpulan yang didapat penulis setelah mengerjakan karya
ilmiah ini, juga saran dari penulis untuk mengembangkan karya
BAB VI SIMPULAN DAN SARAN
6.1 Simpulan
Setelah melakukan analisa dan perancangan sistem pada aplikasi
“Sistem Informasi Belajar Diving dot Com”, maka dapat diambil
kesimpulan bahwa
1. Dengan adanya aplikasi ini, kesalahan pencatatan dan
penghitungan nilai anggota dapat di kurangi.
2. Dengan adanya fitur untuk menentukan anggota terbaik untuk
mengikuti sebuah trip ekspedisi
3. dengan adanya aplikasi ini pencatatan kegiatan perusahaan
dapat di lakukan dengan lebih terstruktur dan lebih baik
4. dengan adanya fitur SMS yang dapat memberitahukan semua
anggota jika perusahaan membuat sebuah kegiatan yang
berhubungan dengan trip atau pelatihan
6.2 Saran
Dalam pengembangan aplikasi ini, diharapkan kedepanya agar di
tambah fitur-fitur sebagai berikut :
1. Untuk kedepanya di harapkan sistem ini dapat berjalan dalam
sebuah server, dimana nantinya fitur CRM dapat berjalan untuk
hari besar atau hari ulangtahun anggota.
2. SMS gateway di gunakan juga untuk menentukan keinginan
dari anggota, misal voting tempat untuk liburan, pelatihan, dan
trip lainya.
3. applikasi di rancang online agar siswa dapat melihat nilai dari
148
Universitas Kristen Maranatha
DAFTAR PUSTAKA
Sri Hartati Wijono, B.Herry Suhartanto and Matius S. Wijono, “Pemrograman
Java Servlet dan JSP dengan NetBeans”, Penerbit ANDI, Yogyakarta, 2007.
Fatansyah (1999), Basis Data. Bandung: Penerbit Informatika.
Purwanto, Yudhi. (2001).Pemrograman Web dengan PHP. Jakarta: Elex
Media Komputindo.
Wiwit Siswoutomo. PHP Undercover .Elelx Media Komputindo, Jakarta 2005.
Bulger, Brad (dkk.). 2004. MySQL/ PHP Database Applications. (2nd ed).
Hillsdale Blvd.,Suite 400 Foster City: IDG Books Worldwide, Inc.
Indrajit, Eko. R. (2006). Manajemen Sistem Informasi dan Teknologi Informasi. Jakarta: Elex Media Komputindo.
Kendall, K. (2002). System analysis anddesign (6th ed.). New York: Englewood Cliffs.
Purwanto, Yudhi. (2001).Pemrograman Web dengan PHP. Jakarta: Elex Media Komputindo.
Roger S. Pressman. (2002). Rekayasa Perangkat Lunak Pendekatan Praktisi (Edisi Bahasa Indonesia) Buku satu. Yogyakarta: ANDI Offset.
Scott George M. (1986). Principle of Management Information Systems. USA: McGraw-Hill International Edition.