DEVELOPMENT OF SMS GATEWAY APPLICATION
FOR SILUWEDCLUB PROJECT
THESIS
FIELD PROJECT
by
Pandu Budihardja
0800785221
BINUS UNIVERSITY INTERNATIONAL BINUS UNIVERSITY
i
DEVELOPMENT OF SMS GATEWAY APPLICATION
FOR SILUWEDCLUB PROJECT
THESIS
Proposed as a requirement for obtaining Sarjana degree at
Binus International University Computer Science Program
Education Level Strata-1 (Sarjana/Bachelor)
by
Pandu Budihardja
0800785221
BINUS UNIVERSITY INTERNATIONAL BINUS UNIVERSITY
BINUS UNIVERSITY INTERNATIONAL
BINUS UNIVERSITY
Statement for readiness in attending defense examination
I, Pandu Budihardja Hereby state that the thesis entitled:
DEVELOPMENT OF SMS GATEWAY APPLICATION FOR SILUWEDCLUB PROJECT
is truly my original works and is never brought up as a scientific paper, partly or entirely on my name or other parties.
Pandu Budihardja 0800785221
Supervisor’s approval
I approve this thesis to be in defense examination
Fredro Harjanto, M.Sc Date:
v PREFACE
The author would like to express his gratitude to all those who gave him the support and help to complete this thesis. But first and foremost, the author would like to thank God who gave him strength and hope, for without His blessing, this work would not have been possible.
The author is deeply indebted to Binus International University and Studio Ilusi for the opportunity of doing this project. The author would also like to thank the following people for their support and contributions in the development of this thesis:
• Mr. Firdaus Alamsjah, Ph.D., the Executive Director of Joseph Wibowo Center. • Mr. Minaldi Loeis, M.Sc., MM, MBA, the Program Director of Binus
International University.
• Mr. Ir. Tri A. Budiono, MIT, the Head of School of Computer Science, Binus International University.
• Mr. Fredro Harjanto, M.Sc., the project manager of SiluwedClub.com project, also as author’s supervisor for his guidance and assistance.
• Mr. Felix Xia, M.Sc., the project owner and also owner of Studio Ilusi for the opportunity of doing this thesis project.
• Author’s family and relatives, for the never-ending support and prayers.
• All of the author’s friends, who have provided him with suggestions, ideas, comments, critiques and also continuous support.
• Last but not least, to any other parties who helped in the completion of this thesis, but not mentioned above.
Jakarta, 12 July 2008
vii
TABLE OF CONTENTS
TITLE PAGE ... i
CERTIFICATE OF APPROVAL ... ii
STATEMENT OF BOARD OF EXAMINERS ... iii
ABSTRACT ... iv
PREFACE ... v
TABLE OF CONTENTS ... vii
LIST OF TABLES ... xi
LIST OF FIGURES ... xiii
CHAPTER 1 INTRODUCTION ... 1
1.1 Background ... 1
1.2 Scope ... 3
1.3 Aim and Benefits ... 4
1.4 Structure ... 5
CHAPTER 2 THEORETICAL BACKGROUND ... 7
2.1 Theoretical Foundation ... 7
2.1.2.1 GSM Network Structure ... 13
2.1.2.2 Advantages of GSM ... 15
2.1.3 Short Message Service (SMS) ... 16
2.1.3.1 SMS History ... 16
2.1.3.2 Common Application of SMS ... 18
2.1.3.3 How SMS Works ... 18
2.1.3.4 Advantages of SMS ... 21
2.1.3.5 Disadvantages of SMS ... 22
2.1.4 SMS Message Format ... 23
2.1.5 Hayes Command Set ... 25
2.1.5.1 Sending and Receiving SMS Using AT Commands ... 25
2.1.6 SMSC and SMS Gateway ... 27
2.1.6.1 Short Message Service Center ... 27
2.1.6.2 SMS Gateway ... 28
2.1.7 Gammu All Mobiles Management Utilities (Gammu) ... 29
2.1.8 Web Development Tool ... 30
2.1.8.1 LAMP, MAMP, and WAMP ... 30
2.1.8.2 Apache HTTP Server ... 31
2.1.8.3 MySQL Database Server ... 32
2.1.8.4 PHP Hypertext Preprocessor ... 33
2.1.8.5 CodeIgniter ... 34
2.1.9 Database Management System (DBMS) ... 35
2.1.9.2 DBMS Features and Capabilities ... 36
2.1.9.3 Popular DBMSs ... 36
2.1.10 Diagrams ... 37
2.1.10.1 Entity Relationship Diagram (ERD) ... 37
2.1.10.2 Data Flow Diagram (DFD) ... 37
2.1.11.2 Popular CRM Software Vendors ... 40
2.2 Theoretical Framework ... 41
2.2.1 Rapid Application Development ... 41
2.2.1.1 Advantage of RAD ... 43
2.2.1.2 Disadvantages of RAD ... 43
CHAPTER 3 PROBLEM ANALYSIS ... 44
3.1 Company Profile ... 44
3.2 Organizational Structure ... 45
3.3 Current System Problem ... 45
3.4 Technology Available ... 47
3.4.1 Mobile Application ... 47
3.4.2 SMS Based Application ... 48
3.5 SMS Gateway Application Prospect ... 49
3.5.1 SMS – The Most Popular Mobile Phone Application ... 49
3.5.2 Text Messaging in Indonesia ... 50
3.5.3 Public View on SMS Gateway Application ... 50
3.6 Proposed Solution ... 51
3.7 Overview of Proposed Solution ... 52
CHAPTER 4 SOLUTION DESIGN ... 53
4.1 SMS Gateway Application ... 53
4.4.1 SMS Gateway Service ... 53
4.4.2 SMS Gateway Control Panel ... 54
4.2 Policy and Procedure ... 54
4.3 Functionalities ... 55
4.3.1 SMS Gateway Service ... 55
4.3.2 SMS Gateway Control Panel ... 56
ix
4.5.8 Update Action ... 67
4.5.9 Delete Action ... 68
4.5.10 Create Action ... 69
4.5.11 View Phonebook ... 70
4.5.12 Update Phonebook Entry ... 71
4.5.13 Delete Phonebook Entry ... 72
4.5.14 Quicksend Message ... 73
4.6.3 Level 1 (Administrator) ... 88
4.6.4 Level 2 (SMS User) ... 89
4.6.5 Level 2 (Administrator) ... 92
4.7 System Flowchart ... 96
4.7.1 User Module ... 96
4.7.2 Administrator Module ... 97
4.8 SMS Gateway Application Class Diagram ... 98
4.8.1 SMS Gateway Service ... 98
4.8.2 SMS Gateway Control Panel ... 99
4.9 System Data ... 100
4.9.1 Entity Relationship Diagram ... 100
4.9.2 Data Dictionary ... 101
4.10 User Interface Design Plan ... 105
CHAPTER 5 TESTING AND IMPLEMENTATION ... 109
5.1 System Specification ... 109
5.4.1. SMS Gateway Control Panel ... 113
5.4.2 SMS Gateway Service ... 118
5.4.3 Testing Strategy ... 121
6.1 Discussion Summary ... 122
6.2 Result ... 123
6.3 Survey ... 124
CHAPTER 7 CONCLUSION AND RECOMMENDATION ... 129
7.1 Conclusion ... 129
7.2 Recommendation ... 131
REFERENCES ... 133
APPENDIX ... 137
xi
LIST OF TABLES
Table 1.1 Project Work Divisions ... 4
Table 2.1 PDU Mode SMS Format ... 24
Table 2.2 Commonly Used AT Commands ... 26
Table 2.3 LAMP, MAMP, and WAMP ... 31
Table 2.4 Comparison of Popular CRM Software Vendors ... 41
Table 4.1 Use Case Narrative - Login ... 60
Table 4.2 Use Case Narrative - Logout ... 61
Table 4.3 Use Case Narrative - View Message... 62
Table 4.4 Use Case Narrative - Delete Message ... 63
Table 4.5 Use Case Narrative - Clear Message... 64
Table 4.6 Use Case Narrative - Compose Message ... 65
Table 4.7 Use Case Narrative - View Action ... 66
Table 4.8 Use Case Narrative - Update Action ... 67
Table 4.9 Use Case Narrative - Delete Action ... 68
Table 4.10 Use Case Narrative - Create Action ... 69
Table 4.11 Use Case Narrative - View Phonebook... 70
Table 4.12 Use Case Narrative - Update Phonebook Entry ... 71
Table 4.13 Use Case Narrative - Delete Phonebook Entry ... 72
Table 4.14 Use Case Narrative - Quicksend Message ... 73
Table 4.15 Use Case Narrative - Add Phonebook Entry ... 74
Table 4.16 Use Case Narrative - View Votes ... 75
Table 4.17 Use Case Narrative - Activate/Inactivate Votes ... 76
Table 4.18 Use Case Narrative - View Vote Result... 77
Table 4.19 Use Case Narrative - Create Votes ... 78
Table 4.20 Use Case Narrative - Broadcast Votes ... 79
Table 4.21 Use Case Narrative - Register ... 80
Table 4.22 Use Case Narrative - Unregister ... 81
Table 4.23 Use Case Narrative - Change Role ... 82
Table 4.24 Use Case Narrative - Submit Vote ... 83
Table 4.25 Use Case Narrative - View Vote Result... 84
Table 4.26 Use Case Narrative - View Information ... 85
Table 4.27 Daemons Table Data Dictionary ... 101
Table 4.28 Gammu Table Data Dictionary ... 101
Table 4.29 Inbox Table Data Dictionary... 101
Table 4.30 Outbox Table Data Dictionary ... 102
Table 4.31 Outbox_multipart Table Data Dictionary ... 102
Table 4.32 Pbk Table Data Dictionary ... 102
Table 4.33 Pbk_groups Table Data Dictionary ... 103
Table 4.34 Phones Table Data Dictionary ... 103
Table 4.35 Sentitems Table Data Dictionary ... 103
Table 4.36 Sms_action Table Data Dictionary ... 104
Table 4.36 Sms_vote Table Data Dictionary ... 104
Table 4.36 Sms_voteresult Table Data Dictionary ... 104
Table 4.36 Sms_users Table Data Dictionary ... 105
Table 5.1 SMS Gateway Control Panel Test Plan ... 117
Table 5.2 SMS Gateway Service Test Plan ... 120
xiii
LIST OF FIGURES
Figure 2.1 Cellular Radio ... 11
Figure 2.2 Structure of a GSM Network ... 15
Figure 2.3 Organizations of Network Elements in a GSM Network ... 20
Figure 2.4 SMS Text Messaging Application with SMS Gateway ... 29
Figure 2.5 Data Flow in CodeIgniter Framework ... 35
Figure 2.6 The RAD Model ... 41
Figure 3.1 Studio Ilusi Organizational Structure ... 45
Figure 3.2 Most Popular Mobile Phone Application is Asia ... 49
Figure 3.3 SMS Gateway Application as a Solution ... 52
Figure 4.1 Use Case Diagram SMS User Subsystem ... 58
Figure 4.2 Use Case Diagram Administrator Subsystem ... 59
Figure 4.3 Data Flow Diagram Context Level ... 86
Figure 4.4 Data Flow Diagram Level 1 SMS User ... 87
Figure 4.5 Data Flow Diagram Level 1 Administrator ... 88
Figure 4.6 Data Flow Diagram Level 2 SMS User Register/Unregister ... 89
Figure 4.7 Data Flow Diagram Level 2 SMS User Request Information ... 90
Figure 4.8 Data Flow Diagram Level 2 SMS User Voting ... 90
Figure 4.9 Data Flow Diagram Level 2 SMS User Automated Greetings ... 91
Figure 4.10 Data Flow Diagram Level 2 Administrator Login ... 92
Figure 4.11 Data Flow Diagram Level 2 Administrator Message Management ... 92
Figure 4.12 Data Flow Diagram Level 2 Administrator Action Management ... 93
Figure 4.13 Data Flow Diagram Level 2 Administrator Vote Management ... 94
Figure 4.14 Data Flow Diagram Level 2 Administrator Phonebook Management ... 95
Figure 4.15 System Flow Chart SMS User Module ... 96
Figure 4.16 System Flow Chart Administrator Module ... 97
Figure 4.17 Class Diagram SMS Gateway Service ... 98
Figure 4.18 Class Diagram SMS Gateway Control Panel ... 99
Figure 4.19 Entity Relationship Diagram ... 100
Figure 4.20 SMS Gateway Control Panel User Interface Design ... 105
Figure 4.21 SMS Gateway Message Format 1 Design ... 106
Figure 4.22 SMS Gateway Message Format 2 Design ... 106
Figure 4.23 SMS Gateway Message Format 3 Design ... 107
Figure 4.24 SMS Gateway Message Format 4 Design ... 107
Figure 4.25 SMS Gateway Message Format 5 Design ... 108