Pembuatan aplikasi penyebaran informasi berbasis Short Message Service (SMS) di lingkungan program studi TI

(1)

Oleh

RUSDIANTORO NIM : 104091002846

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI (UIN) JAKARTA


(2)

vi

yang terjadi di lingkungan Program Studi TI. Dibimbing oleh Bapak Yusuf Durachman dan Bapak Zulfiandri.

Program Studi TI adalah suatu sub unit yang menjalankan aktivitas akademik yang ada pada program studi teknik informatika, yang mempunyai tugas mengatur segala jenis aktivitas, menyebarkan informasi serta kegiatan apapun yang dilakukan di dalam Program Studi TI.

Dalam menjalankan tugasnya pihak Program Studi cenderung mengalami kesulitan untuk memberikan informasi kepada mahasiswa, dan bagi mahasiswa, mereka juga mengalami kesulitan dalam pencarian informasi di sekitar fakultas, seperti mendapatkan informasi Dosen Pembina Akademik, Dosen Pembimbing Praktek Kerja Lapangan dan informasi lainnya. Kebutuhan mendasar pada informasi yang bersifat penting agar pihak mahasiswa dan Program Studi dapat mengetahui informasi yang mereka butuhkan, membuat saya sebagai peneliti tertarik untuk membuat aplikasi berbasis SMS yang dapat membantu pihak Program Studi dan mahasiswa untuk mendapatkan informasi yang mereka inginkan. Dengan judul “PEMBUATAN APLIKASI PENYEBARAN INFORMASI BERBASIS SHORT MESSAGE SERVOCE (SMS) DI LINGKUNGAN PROGRAM STUDI TEKNIK INFORMATIKA “.

Dalam pengembangan sistem ini, penulis menggunakan metodologi RAD (Rapid Application Development). Secara garis besar, aplikasi ini meliputi penyebaran informasi untuk mahasiswa, informasi biaya semester, informasi dosen Pembina Akademik dan Pembina PKL serta Polling sms untuk mengetahui suara mahasiswa. dalam pembuatan aplikasi ini penulis menggunakan bahasa pemrograman java dan menggunakan MySQL sebagai database nya serta menggunakan SmitDev Server sebagai sms gateway. Dalam menjalankan aplikasi ini, penulis akan menggunakan bahasa AT COMMAND untuk bahasa perintah handphone dan Bluetooth sebagai media perantara antara komputer dan handphone.

Kata Kunci : Short Message Service, Program Studi Teknik Informatika, Informasi.

V Bab + xviii Halaman + 132 Halaman + Daftar Gambar + Daftar Tabel + Daftar Simbol + Daftar Pustaka + Lampiran.


(3)

vi

menyelesaikan tugas akhir ini. Shalawat beserta salam selalu tersampaikan kepada junjungan kita Nabi besar Muhammad SAW, beserta kepada para keluarga, sahabat, dan seluruh pengikutnya.

Skripsi ini berjudul Pembuatan Aplikasi Penyebaran Informasi Berbasis Short Message

Service (SMS) di lingkungan Program Studi Teknik Informatika, yang disusun untuk

memenuhi salah satu syarat dalam menyelesaikan program S1 pada program studi Teknik Informatika di Universitas Islam Negeri Syarif Hidayatullah Jakarta.

Pada kesempatan ini, penulis ingin menyampaikan ucapan terima kasih kepada pihak – pihak yang telah mendukung terselesaikanya skripsi ini. Karena tanpa dukungan dari mereka, penulis tidak akan mampu menyelesaikan laporan ini dengan baik. Mereka yang teleh mendukung penulis adalah :

1. DR. Syopiansyah Jaya Putra, M.Sis. Selaku Dekan Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta.

2. Yusuf Durrachman, MIT dan Viva Arifin selaku Ketua dan Sekretaris Program Studi Teknik Informatika beserta staff yang tidak dapat penulis sebutkan satu persatu.

3. Dosen Pembimbing, Bapak Yusuf Durrachman, MIT dan Bapak Zulfiandri MMSI. Terima kasih banyak untuk waktu dan pengarahannya yang telah diberikan selama ini.

4. Dosen Penguji, Husni Teja Sukmana, Phd dan Viva Arifin, MMSI. Terima kasih banyak untuk waktu dan bimbinganya selama revisi sidang berlangsung. Penulis


(4)

vii

motivasi untuk menyelesaikan penulisan ini. Adikku (Dinni), yang selalu mengingatkan penulis untuk menyelesaikan tugas akhir ini.

6. Untuk seseorang yang selalu membantu dan memotivasiku dari awal penulisan hingga seminar dan sidang, serta memberikan doa dan perhatian untukku ”Dian Berliani”.

7. Kepada teman – temanku, Irham, Ismaya, Rijal, Andika dan teman – teman TI – B 2004 lainya yang tidak bisa penulis sebutkan satu per satu.

8. Kepada Staff Fakultas Sains dan Teknologi terutama Program Studi Teknik Informatika yang tidak bisa disebutkan namanya satu per satu namun tidak mengurangi rasa terima kasih saya sudah membantu dalam menyelesaikan penulisan ini.

Pada kesempatan ini penulis ingin menyampaikan terima kasih yang sebesar-besarnya kepada semua pihak yang membantu penyelesaian penulisan skripsi ini hingga akhir. Semoga segala bantuan yang diberikan rekan - rekan akan mendapatkan balasan yang setimpal dari Allah AWT, Amiin.

Akhir kata penulis berharap agar skripsi ini dapat bermanfaat bagi semua yang membaca.

Ciputat, Juni 2010


(5)

viii

Halaman Judul……… i

Halaman Persetujuan Pembimbing……… ii

Halaman Pengesahan Ujian……….. iii

Halaman Pernyataan……….. iv

ABSTRAK……….. v

KATA PENGANTAR………. vi

DAFTAR ISI……….. viii

DAFTAR GAMBAR……….. xiii

DAFTAR TABEL………... xv

DAFTAR LAMPIRAN………. xvi

SIMBOL – SIMBOL ..………... xvii

BAB I PENDAHULUAN……….. 1

1.1Latar Belakang……….. 1

1.2Rumusan Masalah……… 4

1.3Batasan Masalah……… 5

1.4Tujuan dan Manfaat Penelitian………. 5

1.4.1 Tujuan Penelitian………. 5

1.4.2 Manfaat Penelitian………... 6

1.5 Metodologi Penelitian……….. 7

1.5.1 Waktu dan Tempat Penelitian……….. 7


(6)

ix

2.1 Pembuatan………. 12

2.2 Aplikasi……….………..……….. 13

2.3 Pembuatan Aplikasi…………..……… 14

2.4 SMS Gateway... 14

2.5 SMS (Short Message Service)..……… 16

2.5.1 Pengertian SMS... 16

2.5.2 Sejarah SMS... 17

2.5.3 Fasilitas Dasar SMS... 17

2.5.4 Kelebihan Utama SMS... 19

2.6 GSM (Global System for Mobile)……… 20

2.7 Informasi...……… 20

2.8 Dosen...………. 21

2.9 Polling...………. 21

2.10 AT COMMAND...……… 22

2.10.1 AT Command untuk Komunikasi Port....……….. 23

2.10.2 AT Command untuk Pemilihan SMS Storage..………. 23

2.10.3 AT Command untuk SMS...……….. 23

2.11 Java………. 24

2.11.1 Pengertian Java……….. 24

2.11.2 Versi Java……….. 26


(7)

x

2.12.2 Tipe Data SQL……….. 32

2.12.3 Beberapa Perintah SQL.……… 34

2.12.3.1 Perintah Select……….. 37

2.13.3.2 Perintah Insert... 36

2.12.3.3 Perintah Update..……….. 37

2.12.3.4 Perintah Delete……….. 39

2.13 Bluetooth...……… 40

2.13.1 Sejarah Bluetooth... 40

2.13.2 Cara Kerja Bluetooth... 40

2.13.3 Frekuensi Bluetooth... 42

2.13.4 Bluetooth Serial Port... 42

2.14 Bagan Alir (Flowchart).……….. 43

2.15 Perancangan Sistem DFD.……….. 44

2.15.1 Komponen DFD... 44

2.15.2 Levelisasi DFD... 45

2.15.3 Penggambaran DFD... 46

2.15.4 Entity Relationship Diagram (ERD)... 48

2.16 Kamus Data...……….. 51

2.16.1 Pendefinisian Data Element Dalam Kamus Data..………. 51

2.17 Normalisasi..……… 54


(8)

xi

2.17.3.2 Ketergantungan Fungsional Penuh... 57

2.17.3.3 Ketergantungan Transitif... 58

2.18 Metode Penelitian RAD.………. 66

2.19 Studi Literatur....………. 69

BAB III METODOLOGI PENELITIAN………... 72

3.1 Waktu dan Tempat Penelitian..……… 72

3.2 Profil Prodi TI...……….………... 72

3.3 Kajian Penelitian...……….………. 74

3.4 Prosedur Penelitian……… 75

3.5 Teknik Pengumpulan Data...……….………... 78

BAB IV ANALISIS IMPLEMENTASI….……… 79

4.1 Bisnis Modelling....………..….……… 79

4.1.1 Informasi apa saja yang mengendalikan proses... 82

4.1.2 Informasi apa yang dimunculkan... 82

4.1.3 Dimana Informasi Digunakan... 83

4.1.4 Siapa Yang Memproses... 83

4.2 Data Modeling...………..……..……… 84

4.2.1 DFD (Data Flow Diagram)... 84

4.2.1 Flowchart Data Flow Diagram... 91

4.2.3 Kamus Data... 102


(9)

xii

4.3.4 Perancangan Database... 114

4.4 Application Generation...……… 116

4.5 Testing & Turnover...……… 129

BAB V PENUTUP………. 130

5.1 Kesimpulan……… 130

5.2 Saran……….. 131


(10)

xiii

Gambar 2.1SMS Mobile Terminated point to point... 17

Gambar 2.2 SMS Mobile Originated Point to Point... 18

Gambar 2.3 Levelisasi DFD...………. 45

Gambar 2.4 Data Flow Untuk Perhitungan Pajak... 53

Gambar 2.5 Tahapan Normalisasi... 55

Gambar 2.6 Diagram Ketergantungan Fungsional 1... 60

Gambar 2.7 Diagram Ketergantungan Fungsional 2…………... 64

Gambar 2.8 Model RAD...……… 67

Gambar 4.1 Bisnis Modelling...………. 79

Gambar 4.2 Context Diagram Aplikasi EI (Extract Information)…………... 84

Gambar 4.3 Diagram Zero Aplikasi EI... 85

Gambar 4.4 Diagram detail level 1 proses kirim SMS…………... 86

Gambar 4.5 Diagram detail Level 1 proses tanya pembimbing PKL... 87

Gambar 4.6 Diagram detail Level 1 proses Tanya Biaya Mahasiswa... 88

Gambar 4.7 Diagram detail Level 1 proses Polling SMS... 89

Gambar 4.8 Diagram detail Level 1 proses Tanya Dosen PA... 90

Gambar 4.9 Flowchart 1.1p proses isi no telepon... 91

Gambar 4.10 Flowchart 1.2p Input Buku Telepon... 92

Gambar 4.11 Flowchart 1.3p Isi Pesan... 93

Gambar 4.12 Flowchart 2.1p Input Dosen Pembimbing PKL... 94


(11)

xiv

Gambar 4.17 Flowchart 4.2p Proses Isi Polling SMS... 99

Gambar 4.18 Flowchart 5.1p Input Dosen Pembimbing Akademik... 100

Gambar 4.19 Flowchart 5.2p Tanya Dosen Pembimbing Akademik... 101

Gambar 4.20 Entity Relationship Diagram EI………. 105

Gambar 4.21 Relasi Antar Tabel... 106

Gambar 4.22 Tampilan Jendela Utama Aplikasi EI... 117

Gambar 4.23 Tampilan Jendela Kirim SMS... 118

Gambar 4.24 Tampilan Jendela Pengaturan Terminal... 119

Gambar 4.25 Tampilan Jendela SMS Masuk... 120

Gambar 4.26 Tampilan Jendela SMS Keluar... 121

Gambar 4.27 Tampilan Jendela Buku Telepon... 122

Gambar 4.28 Tampilan Jendela Input Data Mahasiswa, Dosen PA & PKL.. 123

Gambar 4.29 Tampilan Jendela Biaya Semester... 124

Gambar 4.30 Tampilan Jendela Pertanyaan Polling... 125

Gambar 4.31 Tampilan Jendela Hasil Polling... 126

Gambar 4.32 Tampilan Bluetooth... 127

Gambar 4.33 Detect Perangkat... 128

Gambar 4.34 Bluetooth serial port service... 128


(12)

xv

Tabel 2.2 Frekuensi Bluetooth di Berbagai Negara... 42

Tabel 2.3 Pemasok Barang...….……… 56

Tabel 2.4 Kirim Barang...………. 57

Tabel 2.5 Gambar Contoh Ketergantungan Transitif……….. 58

Tabel 2.6 KIRIM-1 (Unnormal)...………. 59

Tabel 2.7 KIRIM-2 (1NF)...………. 60

Tabel 2.8 Pemasok-1 (2NF)...……….. 61

Tabel 2.9 Kirim-3 (3NF)...………. 62

Tabel 2.10 Pemasok-2 (3NF)...………. 62

Tabel 2.11 Pemasok-3 (3NF)...………. 63

Tabel 2.12 Mahasiswa-1 (Unnormal)...………. 63

Tabel 2.13 Mahasiswa-2 (1NF)...…………. 64

Tabel 2.14 Mahasiswa-3 (3NF)...…………. 65

Tabel 2.15 Nilai (3NF)...…………. 65

Tabel 2.16 Mata Kuliah (3NF)...…………. 65


(13)

xvi

LAMPIRAN B : Coding Aplikasi EI...……….. 136 LAMPIRAN C : Pembuatan Database...………... 179


(14)

(15)

(16)

(17)

(18)

xxi +

( ) { } [ ] * * @

I Alias

dan optional

iterasi/pengulangan, misal : 1{...} 10

pilih salah satu dari beberapa alternatif (pilihan) misal : [A|B|C|D]

komentar

identifier suatu data store pemisah dalam bentuk [ ] nama lain untuk suatu data


(19)

1.1 Latar Belakang.

SMS (Short Message Service) merupakan layanan atau fasilitas yang diberikan dan dikembangkan oleh para operator GSM (Global System of Mobile Communication). Layanan atau fasilitas SMS merupakan salah satu hasil pengembangan dari aplikasi perangkat seluler atau mobile-phone yang dapat digunakan sebagai media berkomunikasi. Adapun cara berkomunikasi memakai SMS adalah dengan cara mengirimkan sebuah pesan singkat, berupa text atau alphanumeric yang sederhana. Cara komunikasi dengan menggunakan SMS merupakan cara berkomunikasi yang lain, selain berkomunikasi dengan mengirim sinyal suara.

Fasilitas SMS sampai saat ini masih dikembangkan lebih lanjut, tidak sekedar untuk mengirim dan menerima sebuah pesan saja, tetapi sekarang telah banyak dimanfaatkan untuk berbagai macam layanan. Mulai dari layanan marketing, layanan informasi baik informasi film bioskop, jadwal perjalanan, humor, harga saham, hingga layanan yang lebih kompleks seperti SMS Banking. SMS Polling dan Quiz, serta masih banyak layanan lainya yang dapat dikembangkan dengan menggunakan media SMS ini sesuai dengan kebutuhan yang diperlukan.


(20)

Program studi TI adalah suatu badan yang menjalankan aktivitas akademik program studi Teknik Informatika, yang mempunyai tugas mengatur segala jenis aktivitas dan kegiatan yang dilakukan di dalam program studi TI. Program studi TI juga mempunyai tugas untuk memberikan informasi kepada mahasiswa dan melayani mahasiswa dalam bidang seputar kegiatan mahasiswa. Susunan staff dalam Program studi TI dikepalai oleh seorang kaprogram studi dan dalam kinerjanya kepala program studi dibantu oleh seorang sekretaris, seorang kepala pengurus mahasiswa program non-reguler dan tiga orang orang pemberi pelayanan informasi bagi mahasiswa

Jenis pelayanan yang diberikan oleh pihak Program studi TI kepada mahasiswa diantaranya adalah mengurus surat-menyurat untuk mahasiswa, memberikan informasi dan dalam kegiatanya program studi juga menerima informasi dari mahasiswa seperti biodata mahasiswa, pendapat dari mahasiswa mengenai kinerja dosen, fasilitas fakultas serta masih banyak lagi jenis pelayanan dan informasi yang diberikan atau diterima pihak program studi dari mahasiswa. Akan tetapi dalam berjalanya kegiatan tersebut, pihak program studi cenderung mengalami kesulitan untuk mendapatkan informasi serta mencari tahu informasi yang dibutuhkan baik bagi pihak mahasiswa atau pihak program studi. Bagi pihak mahasiswa, mereka banyak mengalami kesulitan dalam pencarian informasi di sekitar fakultas, dari informasi Dosen Pembina Akademik, Dosen Pembimbing Praktek Kerja Lapangan sampai informasi jadwal kelas dan informasi lainya. Dengan banyaknya jumlah mahasiswa yang ada di program studi TI, dan terjadinya kesulitan dalam mengatur


(21)

jadwal mahasiswa untuk meminta informasi kepada pihak program studi maka sering terjadi keterlambatan dalam permintaan informasi yang diajukan oleh mahasiswa, baik bagi mereka yang ingin mengetahui dosen PA dan PKL atau mengurus surat – surat yang dibutuhkan oleh mahasiswa. Bagi pihak program studi, mereka mengalami kesulitan dalam memberikan informasi, menggumpulkan suara mahasiswa dan informasi dari mahasiswa yang berperan penting bagi pihak program studi. Sedangkan informasi yang disampaikan oleh pihak program studi mempunyai peranan penting dalam kebutuhan informasi bagi mahasiswa, dan jika ada informasi yang akan diberikan oleh pihak program studi kepada mahasiswa tertentu, mereka masih mengalami kesulitan dalam memberikan informasi tersebut, karena belum ada data yang lengkap atau mengalami kesulitan dalam pencarian data mahasiswa yang bersangkutan.

Kebutuhan mendasar pada informasi yang bersifat penting agar pihak mahasiswa dan program studi dapat mengetahui informasi yang mereka butuhkan membuat saya sebagai peneliti tertarik untuk membuat aplikasi berbasis SMS yang dapat membantu pihak program studi dan mahasiswa mendapatkan informasi yang mereka inginkan. Dengan judul “ PEMBUATAN APLIKASI PENYEBARAN INFORMASI BERBASIS SHORT MESSAGE SERVICE (SMS) DI LINGKUNGAN PROGRAM STUDI TEKNIK INFORMATIKA “. Tulisan ini merupakan penelitian skripsi yang merupakan syarat dalam memperoleh kelulusan dan memperoleh gelar sarjana.


(22)

1.2 Rumusan Masalah

Berbagai bentuk pencarian informasi telah banyak dilakukan oleh pihak mahasiswa maupun program studi, dari pencarian informasi yang bersifat langsung (direct) seperti menanyakan informasi langsung kepada pihak program studi atau bersifat tidak langsung (indirect) seperti pengambilan informasi dari mahasiswa dalam bentuk angket. Dan dalam aktivitas program studi atau mahasiswa terdapat beberapa permasalahan yang menjadi penghambat dalam pemberian dan penerimaan informasi, permasalahan tersebut adalah sebagai berikut :

a. Kurangnya komunikasi antara mahasiswa dan pihak program studi, menjadi salah satu penyebab utama tidak berjalannya penyebaran informasi secara efisien di FST.

b. Dalam menanyakan informasi kepada pihak program studi, banyaknya jumlah mahasiswa membuat pihak program studi mengalami kesulitan dalam melayani permintaan mahasiswa, sehingga sering terjadi keterlambatan dalam pelayanan permintaan informasi yang diajukan oleh mahasiswa.

c. Membuat aplikasi penyebaran informasi yang membantu pihak program studi TI dalam memberikan informasi kepada mahasiswa dengan info terbaru, seperti informasi pembimbing praktek kerja lapangan, pembina akademik, biaya semester dan polling sms yang membantu mengetahui suara mahasiswa.


(23)

1.3 Batasan Masalah

Dalam pembuatan skripsi ini, peneliti membatasi permasalahan dengan batasan masalah sebagai berikut :

a. Informasi yang diberikan dalam aplikasi ini berupa penyebaran informasi langsung kepada mahasiswa, informasi dosen pembimbing praktek kerja lapangan, pembina akademik, biaya semester dan polling sms.

b. Menggunakan media handphone bertipe GSM yaitu Siemens CX75 sebagai server perantara antara aplikasi dari komputer dan koneksi sinyal.

c. Menggunakan program smitdev server untuk membuat koneksi antara Bahasa pemrograman Java dengan handphone yang dikoneksikan ke dalam PC. d. Pihak yang menggunakan aplikasi ini ialah staff program studi Teknik

Informatika yang membantu pelayanan informasi mahasiswa.

1.4 Tujuan dan Manfaat Penelitian 1.4.1. Tujuan Penelitian

Adapun tujuan dari peneliti membahas studi kasus ini adalah :

1. Untuk mengembangkan dan mengimplementasikan aplikasi berbasis SMS untuk digunakan di lingkungan Program studi TI.

2. Bagi pihak program studi aplikasi ini dapat membantu mereka dalam memberikan dan menerima informasi dari mahasiswa serta dapat mengetahui suara mayoritas mahasiswa.


(24)

3. Bagi pihak mahasiswa aplikasi ini diharapkan dapat membantu mahasiswa dalam mendapatkan dan menerima informasi yang diberikan oleh pihak program studi, terutama dalam hal pemberian informasi yang bersifat penting.

4. 1.4.2. Manfaat Penelitian

Manfaat dari penelitian ini adalah : 1. Bagi Peneliti.

a) Menambah pengalaman, memperluas wawasan pemikiran dan mengembangkan potensi diri.

b) Memperoleh pengetahuan baru yang berhubungan dengan bahasa pemrograman java dan MySQL.

c) Untuk memenuhi salah satu syarat kelulusan strata satu (S1) Program Studi Teknik Informatika Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.

2. Bagi Pihak Program Studi TI dan Mahasiswa.

a) Dengan dibuatnya aplikasi ini diharapkan akan mempermudah pihak Program studi dan Mahasiswa dalam mencari dan mendapatkan informasi yang dibutuhkan.

b) Dapat meningkatkan komunikasi antara pihak program studi dan mahasiswa.


(25)

3. Bagi Pihak Universitas.

a) Sebagai sumbangan karya ilmiah dalam disiplin ilmu khususnya dalam bidang teknologi informatika.

1.5 Metodologi Penelitian

Langkah-langkah dalam pengerjaan Tugas Akhir :

1.5.1 Waktu dan Tempat Penelitian

Penelitian pengembangan aplikasi ini dilaksanakan selama 3 (tiga) bulan, dimulai pada tanggal 1 Oktober 2009 sampai dengan 1 Desember 2009. Tempat penelitian di Program Studi Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta.

1.5.2 Metode Pengumpulan Data

Penelitian yang dilakukan adalah penelitian eksperimen dan simulasi. Penelitian ini menggunakan sebuah laptop dan handphone sebagai sarana untuk mengembangkan aplikasi berbasis SMS.


(26)

a. Penelitian Kepustakaan

Metode ini dilakukan dengan cara mencari bahan – bahan atau materi sumber yang dapat digunakan sebagai referensi peneliti atau mencari hal – hal yang dapat digunakan dalam pembuatan aplikasi berbasis SMS ini.

b. Wawancara

Wawancara bertujuan untuk mengetahui pendapat dari mahasiswa apakah aplikasi berbasis SMS ini akan bermanfaat bagi mahasiswa dan civitas akademik.

c. Studi Literatur tentang :

1) Pemrograman dengan bahasa Java, karena aplikasi berbasis SMS ini akan dibuat menggunakan bahasa Java.

2) Koneksi antara mobile-phone dengan komputer melalui Kabel Data, serta menggunakan Bluetooth sebagai media perantara. 3) Belajar bahasa pemrograman SQL, serta menggunakan MySQL


(27)

1.5.3 Metode Pengembangan Sistem

Metode pengembangan sistem yang digunakan dalam penelitian ini menggunakan metode RAD (Rapid Application Development) dan dengan model-model sebagai berikut:

1). Model Bisnis

Pada tahap ini menentukan ruang lingkup program yang akan dibangun sesuai fungsi – fungsi bisnis yang berjalan dalam proses bisnis

2). Model Data

Membentuk serangkaian objek data yang dibutuhkan untuk menopang model bisnis tersebut. Pada tahapan ini, dilakukan analisa terhadap berbagai macam hal yang dibutuhkan untuk membangun serta mensimulasikan aplikasi berbasis SMS ini. Analisa yang dilakukan antara lain adalah:

a) Analisa terhadap sumber daya yang dimiliki, termasuk untuk menentukan jenis bahasa pemrograman dan database yang akan digunakan.

b) Analisa terhadap teknologi SMS dan SMS Gateway.

c) Analisa serta memilih komponen yang tepat sesuai dengan teknologi yang telah dipilih baik hardware maupun software untuk memenuhi aplikasi layanan yang akan dibangun.


(28)

3). Perencanaan dan Pembuatan Perangkat Lunak

a) Membuat agar mobile-phone yang ada di server dapat berhubungan dengan komputer melalui kabel data, serta menggunakan ATCommand dalam membaca data dari mobile-phone ke PC.

b) Membuat aplikasi berbasis SMS.

c) Membuat server menjadi database untuk hasil informasi yang diterima dari mahasiswa.

4.) Pengujian dan Analisa Perangkat Lunak a) Pengujian program yang telah dibuat.

b) Analisa hasil output-an dari program yang telah dibuat.

5). Pengambilan Kesimpulan

Pengambilan kesimpulan terhadap alat yang telah dibuat sesuai dengan hasil yang didapat dalam pengujian. Sedapat mungkin dilakukan perbaikan-perbaikan sehinga mendapatkan hasil yang lebih optimum.


(29)

1.6 Sistematika Penulisan Skripsi

Dalam penelitian karya ilmiah ini, penulis membagi pembahasan menjadi beberapa bab yang secara singkat dapat dijelaskan sebagai berikut:

BAB I : Pendahuluan

Pada bab ini berisi pendahuluan yang terdiri dari latar belakang, permasalahan, tujuan dan manfaat, metodologi penelitian dan sistematika penelitian.

BAB II : Landasan Teori

Bab ini akan menjelaskan secara singkat teori yang diperlukan dalam pembuatan aplikasi ini.

BAB III : Metodologi Penelitian

Pada bab ini akan dijelaskan proses penelitian peneliti dalam merancang dan membangun aplikasi berbasis SMS.

BAB IV : Analisa dan Perancangan Sistem

Pada bab ini akan dibahas proses analisa peneliti dan perancangan serta pembuatan sistem aplikasi berbasis SMS untuk mendapatkan suara dari mahasiswa secara cepat dan mudah.


(30)

BAB V : Kesimpulan dan Saran

Dalam bab ini berisi uraian tentang kesimpulan-kesimpulan yang didapat serta memberikan saran yang dianggap perlu.


(31)

2.1 Pembuatan

Pembuatan bertujuan untuk menghasilkan perangkat pembelajaran, seperti silabus, bahan ajar, media, modul praktikum, latihan kerja siswa, alat mengukur kemajuan belajar, alat mengukur hasil belajar, dan sebagainya. Yang melatar belakangi perlunya dilakukan pembuatan adalah adanya masalah yang terkait dengan perangkat pembelajaran yang kurang tepat. Masalah ini ditemui oleh peneliti dari hasil pengamatan selama mengajar atau dari hasil needs assessment (Latief, 2009 :2).

Menurut undang – undang Republik Indonesia Nomor 18 Tahun 2002. Pembuatan merupakan kegiatan ilmu pengetahuan dan teknologi yang bertujuan memanfaatkan kaidah dan teori ilmu pengetahuan yang telah terbukti kebenarannya untuk meningkatkan fungsi, manfaat, dan aplikasi ilmu pengetahuan dan teknologi yang telah ada, atau menghasilkan teknologi baru.


(32)

2.2 Aplikasi

Aplikasi dapat di definisikan sebagai suatu sistem komputer (yang terdiri dari beberapa program, modul dan lain-lain) yang di desain untuk menyelesaikan tugas operasional yang membantu user dalam menyelesaikan pekerjaanya (Runkle, 2008 :1).

Sumber dari (http://www.wikipedia.org) menjelaskan bahwa aplikasi adalah suatu subkelas perangkat lunak komputer yang memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas yang diinginkan pengguna. Biasanya dibandingkan dengan perangkat lunak sistem yang mengintegrasikan berbagai kemampuan komputer, tapi tidak secara langsung menerapkan kemampuan tersebut untuk mengerjakan suatu tugas yang menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata, lembar kerja, dan pemutar media.. Tujuan utama dari pembuatan suatu aplikasi ialah membantu user dalam kegiatan yang akan ia lakukan. Seperti aplikasi MS Word yang membantu user untuk mengetik atau mengerjakan tugas, aplikasi winamp yang membantu user untuk mendengarkan musik, dan aplikasi lainya yang mempunyai fungsi yang sama yaitu memudahkan user dalam melakukan hal yang diinginkanya.


(33)

2.3 Pembuatan Aplikasi

Pembuatan Aplikasi dapat di defnisikan sebagai pembuatan dari aplikasi yang baru, dari segi jendela utama, server, dasar jaringan, tampilan web atau dari kombinasi keduanya. Sebagai sebuah contoh aplikasi yang dikembangkan dalam bentuk : penelitian, analisa, pengumpulan data, desain, programing, testing, dokumentasi dan implementasi (Hasan, 2007 : 3).

Menurut sumber (dspace.widyatama.ac.id) pembuatan aplikasi adalah kumpulan tata cara, teknik dan langkah – langkah pembuatan untuk menghasilkan software. Atau dapat dikatakan pembuatan aplikasi adalah suatu kegiatan atau penelitian yang bersifat membuat atau menciptakan suatu aplikasi.

2.4 SMS Gateway

SMS Gateway adalah sebuah perangkat lunak yang menggunakan bantuan komputer

dan memanfaatkan teknologi seluler yang diintegrasikan guna mendistribusikan pesan – pesan yang di-generate lewat sistem informasi melalui media SMS yang

di-handle oleh jaringan seluler (http://www.apolloasia.com/gateway.html). Secara


(34)

1. Message Management dan Delivery

a. Pengaturan pesan yang meliputi manajemen prioritas pesan, manajemen pengiriman pesan, dan manajemen antrian.

b. Pesan yang dilalukan harus sedapat mungkin fail safe. Artinya, jika terdapat gangguan pada jaringan telekomunikasi, maka system secara otomatis akan mengirim ulang pesan tersebut.

2. Korelasi

Berfungsi untuk melakukan korelasi data untuk menghasilkan data baru hasil korelasi. Pada sistem yang terpasang saat ini, arsitektur lalu lintas data melalui SMS sudah terjalin cukup baik. Hanya saja, keterbatasan akses data dan tujuan informasi SMS yang belum terfokus menyebabkan banyaknya jawaban standar (default replies) masih banyak terjadi.

SMS Gateway banyak digunakan dalam berbagai proses bisnis dan usaha. Proses

bisnis dan bidang layanan yang bisa ditangani oleh aplikasi SMS Gateway, yaitu sebagai berikut :

a. Manajemen Inventori

b. CRM (Customer Relationship Management), misalnya Rumah Makan, Cafe, Executive Club, Stasiun Radio, Stasiun TV, Lembaga Pendidikan


(35)

2.5 SMS (Short Message Service)

Short Message Sevice (SMS) adalah salah satu fasilitas dari teknologi GSM yang memungkinkan mengirim dan menerima pesan – pesan singkat berupa text dengan kapasitas maksimal 160 karakter dari Mobile Station (MS). Kapasitas maksimal ini tergantung dari alphabet yang digunakan, untuk alphabet Latin maksimal 160 karakter, dan untuk non – Latin misalnya alphabet Arab atau China maksimal 70 karakter (Sugiono, 2007:10).

2.5.1 Pengertian SMS

Short Message Service (SMS) adalah kemampuan untuk mengirim dan menerima pesan yang terbatas besarnya ( pesan singkat ) antar handphone/telepon selular yang berupa data dalam bentuk string atau teks dan data binary. Setiap sms dibtasi hanya sampai 160 karakter saja, dengan menggunakan huruf latin, sedangkan untuk karakter non latin seperti karakter Arab atau chinese, sms dibatasi hanya sampai 70 karakter saja. Sms merupakan salah satu dari GSM data services yang disediakan oleh PLMN (Public Land Mobile Network). Contoh GSM data services yang lain adalah fax dan data transfer. GSM data services hanya dapat digunakan jika sebuah PLMN menyediakan fasilitas tersebut (Sugiono, 2007:10).


(36)

2.5.2 Sejarah SMS

SMS (Short Message Service) dikenalkan pada tahun 1991 di Eropa, dan pada tahun 1998 mulai dipasarkan oleh BellSouth Mobility dan Nextel di Amerika Utara yang tergabung dalam layanan Personal Communications Service (PCS) dalam jaringan GSM (Global Standard for Mobiles), CDMA (Code Division Meltiple Access) dan TDMA (Time Division Multiple Access) menggunakan frekuensi radio 900MHz, dan pada saat sudah berkembang dengan menggunakan frakuensi radio 1800MHz. Penyedia jasa point-to-point SMS memberikan layanan sebuah mekanisme pengiriman pesan singkat (Na’am, 2006: 1).

2.5.3 Fasilitas Dasar SMS

Ada dua macam fasilitas dasar pada SMS (Na’am, 2006 : 8), yaitu : a.SM MT (Short Message Mobile Terminated)

b.SM MO ( Short Message Mobile Originated)

SM MT merupakan kemampuan untuk mentransfer sebuah pesan singkat yang dikirim dari SC ke salah satu MS, dan menyediakan informasi tentang pengiriman pesan tersebut apakah berhasil atau gagal.


(37)

SM MO adalah kemampuan dari sistem GSM untuk mentransfer pesan yang dikirim dari MS (Mobile Station) ke SME melalui SC, dan juga menyediakan informasi mengenai pengiriman pesan, apakah gagal atau sukses, juga pesan tersebut mengikutsertakan alamat dari SME supaya SC dapat berhasil mengirimkan pesan tersebut.

Sumber : Yulimingtarto, 2004 : 7

Sebuah MS yang aktif dapat menerima pesan singkat (SMS deliver) setiap saat, sebuah laporan selalu dikirimkan ke SC untuk memberi informasi bahwa MS (Mobile Station) sudah menerima pesan, berhasil diterima atau tidak, serta alasanya. MS yang aktif dapat mengirimkan pesan singkat (SMS Submit) setiap saat, sebuah laporan selalu dikirimkan ke MS untuk memberi bahwa SC sudah berhasil menerima pesan tersebut atau memberi informasi kepada MS bahwa tidak mungkin mengirimkan sebuah pesan ke SC, serta alasanya.


(38)

2.5.4 Kelebihan Utama SMS

Kelebihan utama dari SMS ini antara lain adalah sebagai berikut (Lekkad : 2008, 2) :

a. Pengiriman pesan antar mobile-phone, adalah fungsi umum dari SMS. b. Mengurangi kemungkinan miss dalam pengiriman informasi.

c. SMS dapat diterima secara langsung, yang menjadikan SMS solusi yang ideal untuk menyebarkan informasi.

d. 94% SMS dibaca oleh para penerima.

e. Pengiriman pesan ke beberapa orang secara bersamaan. f. Pengiriman pesan yang cepat, kurang dari 1 menit. g. Layanan Informasi.

h. Sebagai pemberitahuan dan iklan, seperti informasi cuaca, pembukaan outlet baru, kurs mata uang, ataupun horoskop.


(39)

2.6 GSM (Global System for Mobile)

Global system for mobile communication (GSM) merupakan standar yang diterima

secara global untuk komunikasi selular digital. GSM adalah nama group standardisasi yang di mapankan pada tahun 1982 untuk menghasilkan standar telepon bergerak di eropa, digunakan sebagai formula spesifikasi untuk pan-eropa sistem selular radio bergerak yang bekerja pada frekuensi 900 Mhz. Dan diperkirakan banyak negara lainnya diluar eropa akan turut menggunakan teknologi GSM (faiz, 2005 : 1).

2.7 Informasi

Informasi adalah data yang telah diproses menjadi bentuk yang memiliki arti bagi penerima dan dapat berupa fakta, suatu nilai yang bermanfaat. Jadi ada suatu proses transformasi data menjadi suatu informasi = input – proses – output . (http://willis.comze.com/pengertian_informasi.html).

Informasi dapat juga dibuat untuk keperluan manajemen sesuai dengan unit kerjanya pada tingkatnya masing-masing (http://willis.comze.com/). Informasi mempunyai tingkat kualitas. Yang ditentukan beberapa hal antara lain:

a. Akurat, informasi harus bebas dari kesalahan-kesalahan dan tidak bisa

atau menyesatkan dan harus jelas penyampaian maksudnya.

b. Tepat pada waktunya, informasi yang datang tidak boleh terlambat pada


(40)

c. Relevan, informasi harus mempunyai manfaat bagi pemakainya.

d. Lengkap, informasi berisi informasi yang dibutuhkan.

e. Jelas, isi informasi bertenu dengan keperluan pemakai.

2.8 Dosen

Dosen ialah pendidik profesional dan ilmuan dengan tugas utama mentransformasikan, mengembangkan, dan menyebarluaskan ilmu pengetahuan, teknologi, dan seni melalui pendidikan, penelitian, dan pengabdian masyarakat (Peraturan Pemerintah Republik Indonesia Nomor 37 Tahun 2009)

2.9 Polling

Polling adalah bentuk ekspresi pengungkapan pendapat umum paling kontemporer yang dikenal manusia. Akan lebih mudah memahami pengertian ini dengan melihat sejarah ekspresi pendapat umum, dan bagaimana polling muncul sebagai suatu bentuk pengungkapan pendapat umum. Inti dari pendapat umum adalah diakuinya pendapat umum masyarakat. Masyarakat mempunyai cara-cara tertentu agar pendapatnya diketahui orang lain atau diterima oleh pengambilan kebijakan. Dengan demikian pendapat umum umurnya amat tua, meskipun baru pada abad 18, pendapat umum mulai mendapat tempat penting dalam kekuasaan. Di sini pendapat umum diterima dan mampu mempengeruhi kekuasaan dan kebijakan sehingga apa


(41)

yang dipikirkan masyarakat menjadi penting untuk diketahui. Ekspresi untuk menyatakan pendapat umum itu berbeda-beda dari satu masa ke masa lain – bergantung pada bagaimana paham demokrasi itu muncul, kemajuan teknologi yang menentukan bagaimana pendapat itu harus disuarakan. Secara umum dalam sejarah dikenal teknik ekspresi pendapat umum berturut-turut: orator, cetakan, kerumunan, petisi, ruang diskusi, coffe house, gerakan revolusi, pemogokan, pemilihan umum, straw polls (pemungutan suara tak resmi), surat kabar modern, surat untuk pejabat publik, perencanaan agenda media massa, dan metode yang terbaru adalah penelitian survey yang lebih dikenal sebagai polling. Pembagian dan tahap-tahap ekspresi pendapat umum ini didasarkan pada pendapat Susan Herbst dalam bukunya Numbered Voice. How Opinion Polling Has Shaped American Politics (Mazdalifah, 2006 : 38-39).

2.10 AT COMMAND

AT COMMAND adalah perintah-perintah yang digunakan pada telepon selular. AT COMMAND dari tiap-tiap telepon selular (khususnya yang berbeda merk atau pembuatnya) bisa berbeda-beda, tetapi pada dasarnya sama. Pada proyek ini AT COMMAND yang digunakan adalah AT COMMAND untuk mengirim dan menerima SMS. AT Command untuk SMS ini sama untuk semua tipe telepon selular (AT Command Guide, 2000 : 3).


(42)

2.10.1 AT Command untuk Komunikasi Port

AT Command sebenarnya hampir sama dengan perintah >(prompt) pada DOS (Disk Operating System). Perintah-perintah yang dimasukan ke port dimulai dengan kata AT, kemudan diikuti oleh karakter lainya yang mempunyai fungsi-fungsi unik. Contohnya : perintah ATEI digunakan untuk mengetahui status port, bila status port dalam keadaan siap, maka respon keluaran adalah ‘OK’ (Tetelepta, 2004 : 12).

2.10.2 AT Command untuk Pemilihan SMS Storage

AT Command yang digunakan untuk pemilihan SMS ‘storage’ adalah AT+CPMS=##, dimana beberapa alternatif dari ## adalah :

a. ME (Mobile Equipment)

Pemilihan memori mobile-phone sebagai SMS Storage. b. SM (SIM Card)

Pemilihan SIM Card sebagai SMS Storage.

2.10.3 AT Command untuk SMS

Perintah AT (Hayes AT Command) digunakan untuk berkomunikasi dengan terminal (modem) melalui gerbang serial pada komputer. Dengan penggunaan perintah AT, dapat diketahui atau dibaca kondisi dari terminal, seperti mengetahui kondisi sinyal, kondisi baterai, mengirim pesan, membaca pesan, menambah item


(43)

pada daftar telepon, dan sebagainya. Pada Gambar 1 diperlihatka nbeberapa jenis perintah AT yang berhubungan dengan penanganan pesan-pesan SMS (Efendy, 2004 : 78-79).

Tabel 2.1 Contoh AT Command

Sumber : Istiyanto, 2004 : 79

2.11 Java

2.11.1 Pengertian Java

Java merupakan sebuah bahasa berorientasi objek (object oriented

programming). Yang merupakan karya Sun Microsystem Inc. Yang dapat

dijalannkan dimanapun dan di sembarang platform apapun, di beragam lingkungan: Internet, intranets, pemakaian produk elektronik, dan aplikasi komputer. Jika anda pernah memprogram dengan bahasa pemrograman OOP , seperti C++ atau Smalltalk,


(44)

mungkin anda ingat betapa menyenangkannya memprogram dengan konteks objek. Anda merancang beberapa objek satu demi satu dengan mendefinisikan berbagai property yang dimiliki object tersebut dan pekerjaan (task) yang dapat ditangani oleh objek tersebut. Kemudian anda merangkai semua objek tersebut dengan mendefinisikan relasi antar objek tersebut seperti halnya membangun sebuah mobil dari komponen-komponennya. Belakangan ini , mungkin anda akrab dengan slogan "reusable of code". "Reuse of code" ini bukanlah cut & paste. Yang dimaskud dengan "reuse of code" ini adalah suatu keadaan dimana para programmer untuk membangun sebuah objek dengan mengextend objek-objek yang telah ada secara mudah. Secara mudah disini adalah, programmer itu mungkin tidak perlu tahu dengan kode-kode dari objek yang ingin ia extend, yang ia butuhkan hanyalah pengetahuan mengenai property dari objek itu dan hal-hal yang dapat dilakukan oleh objek itu (Hariyanto, 2003 : 3-10).

Bahasa Pemrograman Java pertama kali lahir dari the green project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek tersebut dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy, beserta sembilan pemrogram lainya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot duke yang dibuat oleh Joe Palrang.


(45)

2.11.2 Versi Java

Versi awal Java ditahun 1996 sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Berdasarkan (http://www.wikipedia.com) Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya :

a. java.lang: Peruntukan kelas elemen-elemen dasar.

b. java.io: Peruntukan kelas input dan output, termasuk penggunaan berkas.

c. java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas

kelas penanggalan.

d. java.net: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi

dengan komputer lain menggunakan jaringan TCP/IP.

e. java.awt: Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)

f. java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada

penjelajah web.

2.11.3 Kelebihan dan Kekurangan Bahasa Pemrograman Java

Kelebihan dari bahasa pemrograman java adalah :

a) Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa

platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali,


(46)

sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat

dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi

menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.

b) OOP (Object Oriented Programming - Pemrogram Berorientasi Objek) yang

artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan salah satu bahasa pemrograman berbasis objek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi fungsi yang advance seperti komunikasi antara komputer sekalipun.

c) Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan

library/perpustakaan (kumpulan program program yang disertakan dalam


(47)

pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh

kebutuhan pembangunan aplikasi.

d) Bergaya C++, memiliki sintaks seperti bahasa pemrograman [C++] sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.

e) Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).

- Kekurangan dari bahasa pemrograman java adalah :

a) Tulis sekali, perbaiki di mana saja - Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya

SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.

b) Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena koe jadi Java merupakan


(48)

bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.

c) Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal).

Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.

2.11.4 Java Net Beans dan Java Studio Enterprise

Sejarah Netbeans berawal dari sebuah kota klasik yang sangat indah yaitu Prague di Cekoslovakia. Disana ada sebuah perusahaan kecil yang sangat inovatif mengembangkan Java IDE berbasis AWT/Swing yang disebut Forte. Sun mengakuisisi Forte pada tahun 1999. Akuisisi ini menandakan Sun mulai serius menggarap pasar IDE komersial. Untuk melakukan counter attack terhadap langkah IBM meng-opensourcekan Eclipse, Sun melepaskan versi opensource dari Forte yaitu Netbeans. Pada zaman Sun dipimpin oleh Scott McNealy, divisi IDE ini cukup serius mengembangkan produk-produknya. Forte yang masih tetap berstatus komersial


(49)

dikembangkan menjadi SunONE Studio dengan menambahkan kemampuan untuk mengembangkan aplikasi Java Enterprise (EJB), kemudian pada tahun 2003 dirubah lagi namanya menjadi Sun Java System (www.ilmukomputer.com).

Beberapa tahun kemudian munculah sebuah framework pengembangan aplikasi java enterprise yang disebut JSF. Pengembangan teknologi JSF dipimpin oleh Ed Burns. JSF menjadi teknologi standard Java untuk mengembangkan aplikasi web berbasis komponen, secara langsung ingin menyaingi teknologi ASP.NET-nya Microsoft. Sayangnya pada awal-awal perkembangannya, JSF tergantung sekali dengan IDE sebagai basis pengembangan aplikasi. Sun mengantisipasi ini dengan memecah Sun Java Studio menjadi dua produk, Sun Java Studio Creator dan Sun Java Studio Enterprise. Sun Java Studio Enterprise difokuskan untuk mengembangkan aplikasi berbasis EJB dan Sun Java Studio Creator difokuskan untuk mengembangkan aplikasi berbasis EJB dan JSF. Dengan teknologi JSF, kita bisa mengembangkan aplikasi Java berbasis Visual IDE seperti halnya Visual Studio for ASP.NET.

2.12 My Structured Query Language (MySQL)

MySQL adalah multi user database yang menggandung bahasa Structured

Query Language (SQL) yaitu bahasa yang digunakan untuk komunikasi dengan basis

data. Menurut ANSI (American National Standards Institute), bahasa ini merupakan standar untuk Relational Basis data Management System (RDBMS).


(50)

Pada awalnya, MySQL mempunyai nama mSQL, dan sering digunakan untuk keperluan koneksi ke table menggunakan fast low level routine. Namun mSQL terbukti kurang cepat dan tidak sefleksibel saat itu. Karena hal itu, dibuatlah suatu SQL interface dengan API interface yang hampir sama dengan mSQL dan akhirnya lebih populer disebut MySQL (Dwi Prasetyo, 2004 : 11-14) .

Asal mula nama MySQL tidak terlalu jelas, tetapi yang pasti sudah lebih dari 10 tahun semua library dan tools yang ada diberikan awalan “My”. Logo MySQL adalah ikan lumba-lumba bernama sakila. Nama ini diperoleh dari lomba pemberian nama ikan lumba-lumba yang dimenangkan oleh Ambrose Twebaze, seorang open-source developer dari Swaziland, Afrika. Menurutnya nama Sakila asal kata dari Siswati, yaitu bahasa lokal Swaziland. Sakila juga merupakan nama sebuah kota di Arusha, Tanzania (Dwi Prasetyo, 2004 : 11-14).

2.12.1 Fungsi SQL

Fungsi-fungsi dari SQL adalah sebagai berikut : a. Data Definition

Data Definition berfungsi untuk mendefinisikan struktur Gambar, tipe data dari setiap field di dalam Gambar dan hubungan referensial dari field-field tertentu ke field-field pada Gambar lain.


(51)

Aplikasi client memakai SQL untuk meminta data dari server. SQL juga mengijinkan client mendifinisikan data yang akan dibaca dan bagaimana data tersebut di retrieve, misalnya urutanya dan field-field apa yang di-retrieve. c. Data integrity

Berfungsi untuk menjaga integritas data dengan berbagai konstrain integritas sebagai bagian dari Gambar atau terpisah dari Gambar.

d. Data Processing

SQL mengijinkan client mengubah, menambah, menghapus data dari server. e. Security

Sebagai proteksi data dengan mendefinisikan hak akses, view dan batasan pengaksesan pada objek-objek database.

f. SQL mengatur pengaksesan secara simultan sehingga satu pengaksesan tidak menggangu pengaksesan lainya.

2.12.2 Tipe Data SQL

Tipe-tipe data yang ada dalam SQL adalah sebgai berikut :

a. Char, character(n)

Mengidentifikasi sebuah string dari n karakter. b. Int, integer


(52)

Sebuah bilangan integer (besanya biasanya 4 byte), tetapi hal tersebut tergentug dari platform-nya.

c. Smallint

Sebuah bilangan integer yang lebih kecil dibanding integer, besarnya biasanya 2 byte.

d. Float

Sebuah bilangan floating-point. e. Double Frecision

Sebuah bilangan floating point. Yang berpresisi tinggi. f. Numeric (precision, scale)

Sebuah bilangan floating-point dengan presisi dan skala terindikasi. g. Date

Sebuah tanggal, tipe data ini bervariasi dari server ke server. h. Blob

Sebuah object yang mengandung data biner dalam jumlah besar. i. Varchar

Sebuah string yang ukurannya variable, digunakan untuk menghindari konsumsi space dari sebuah fixed large string.


(53)

2.12.3 Beberapa Perintah SQL

SQL memiliki beberapa perintah untuk mengakses Gambar-Gambar dari database. Perintah-perintah itu dapat digunakan untuk memasukan, melihat, mengubah dan menghapus data dalam Gambar database. Perintah SQL juga dapat mengakses beberapa Gambar sekaligus atau mencari data berdasarkan kondisi yang diinginkan.

Perintah – perintah SQL tergantung dari jenis database dan database engine yang digunakan. Pada dasarnya sebagian besar sama, akan tetapi ada perbedaan pada fungsi-fungsinya. Misalnya ada perintah yang dimiliki SQL Server tetapi tidak dimiliki oleh MySQL.

2.12.3.1 Perintah ‘Select’

Perintah Select adalah perintah yang umum digunakan dalam bahasa SQL. Perintah ini digunakan untuk mengambil data dari satu atau lebih Gambar dalam sebuah database. Sintaks perintahnya adalah sebagai berikut :

Select<fields>from<table>

Pada bagian field dapat diisi sebuah field atau lebih, yang dipisahkan dengan tanda koma. Gunakan tanda ‘*’ pada bagian fields untuk mengidentifikasi bahwa semua field yang ada pada table dipakai semua.


(54)

Jika Klausa where ditambahkan, perintah Select dapat digunakan untuk memilih secara lebih spesifik record mana yang akan diambil. Sintaks perintahnya sebagai berikut :

Select <fields> from <table> where <expression>

Kriteria untuk <expression> dapat menggunakan operator-operator standar seperti +, - , >, <, =, <>, >= dan <=. Selain itu ada pula operator-operator khusus untuk SQL yaitu :

a. is null

untuk mengetes apakah nilai dalam field terdefinisi atau tidak. b. in <list>

Untuk mengetes apakah nilai dalam field terdapat dalam ‘list’ atau tidak.

c. between <min> and <max>

Untuk mengetahui apakah nilai dalam field ada dalam range yang dibatasi oleh nilai<min> dan <max>.


(55)

d. like <list>

Untuk mengambil data record dengan kriteria nama sama dengan ‘list’ Klausa lain yang dapat ditambahkna adalah order by. Klausa ini digunakan untuk sorting data. Sintaks perintahnya sebagai berikut :

Select<fields> From<table> Order by <fields>

Sorting dengan menggunakan klausa order ada 2 macam, yaitu sort by ascending dan sort by descending.

Klausa yang juga dapat digunakan adalah klausa group by. Klausa ini dapat mengelompokan data berdasarkan kriteria tertentu sebelum melakukan komputasi dengan fungsi-fungsi standar. Sintaks perintahnya sebagai berikut :

Select <fields> From <table> Group by <fields>

Perintah Select juga dapat digunakan untuk mengambil nilai-nilai khusus yang dikomputasi oleh fungsi-fungsi standar yang ada pada SQL. Fungsi-fungsi standar tersebut adalah :


(56)

a. Fungsi avg

Fungsi ini digunakan untuk menghitung nilai rata-rata dari semua kolom. Fungsi ini hanya dapat digunakan pada field yang berisikan data numerik. b. Fungsi count

Fungsi ini digunakan untuk menghitung banyaknya data yang ada sesuai dengan syarat yang ditentukan.

c. Fungsi Max

Fungsi ini digunakan untuk mendapatkan nilai maksimum dari sebuah kolom

d. Fungsi min

Fungsi ini digunakan untuk mendapatkan nilai minimum dari sebuah kolom

e. Fungsi sum

Fungsi ini digunakan untuk menghitung jumlah total dari nilai-nilai yang ada pada sebuah kolom. Fungsi ini hanya dapat digunakan pada kolom yang berisi data numerik.

2.12.3.2 Perintah ‘Insert’

Perintah Insert digunakan untuk menambahkan record baru ke dalam Gambar. Sintaks perintahnya adalah sebagai berikut :


(57)

Value (nilai1, nilai2,...)

Table adalah nama dari Gambar yang menjadi tujuan untuk memasukan data, dan field adalah field yang akan memasukan data serta nilai adalah nilai dari data yang akan dimasukan ke field pada Gambar. Nama field tujuan pada Gambar urutanya harus sama dengan urutan nilai yang akan dimasukan, misalnya yang dimasukan field1 adalah nilai 1.

2.12.3.3 Perintah ‘Update’

Perintah update digunakan untuk memodifikasi satu atau lebih record dalam sebuah Gambar. Sintaks perintahnya adalah sebagai berikut :

Update<table>

Set<field1 = nila1>, <field2 = nila2>,... Where<expression>

Table adalah nama dari table yang akan diubah datanya, field adalah field yang akan diubah nilainya serta nilai adalah nilai baru dari data yang akan dimasukan ke field lama pada Gambar. Expression adalah syarat yang harus dipenuhi untuk mengubah data pada Gambar, apabila ingin merubah semua record pada Gambar maka syarat where tidak diperlukan.


(58)

2.12.3.4 Perintah ‘Delete’

Perintah delete digunakan untuk menghapus satu atau lebih record dalam sebuah Gambar. Sintaks perintahnya adalah sebagai berikut :

Delete from <table> Where<expression>

Table adalah nama dari Gambar yang akan dihapus datanya dan expression Adalah syarat yang harus dipenuhi untuk menghapus data pada Gambar. Apabila ingin menghapus semua record pada Gambar, maka syarat where tidak diperlukan.

2.13 Bluetooth

Bluetooth adalah nama yang diadopsi dari nama Raja Denmark Harald Bluetooth yang memerintah kerajaan Denmark pada tahun 940 – 981 SM. Namanya diambil karena raja Denmark tersebut sukses menggabungkan 2 kerajaan yaitu Denmark dan Norwegia menjadi sebuah kerajaan utuh. Selain itu, dia juga sukses dalam menyebarkan agama kristen di kedua negara tersebut. Dengan penamaan tersebut diharapkan Bluetooth yang merupakan media transmisi ini bisa juga menjadi teknologi pemersatu yang digunakan di dalam dunia komputer dan dunia telekomunikasi (Puy, 2008 : 6).


(59)

2.13.1 Sejarah Bluetooth

Bluetooth pertama kali ditemukan dan dikembangkan pada tahun 1994. Bluetooth ini ditemukan secara tidak sengaja, awalnya penelitian yang dilakukan di universitas di Swedia ini ingin membuat koneksi nirkabel yang menghubungkan earphone cordless dengan headset handphone. Namun akhirnya mereka malah menemukan koneksi tersebut dapat dijadikan sebagai gelombang radio yang tidak membutuhkan lisensi. Kemudian dari sinilah awal mulainya pengembangan perangkat bluetooth. Hingga perusahaan Ericson pun tanggap akan manfaat teknologi ini sehingga Ericson melakukan suatu terobosan dengan memberikan teknologi ini secara gratis kepada publik. Pada awal tahun 1998 Ericson, Nokia, IBM, Toshiba, dan Intel membetuk SIG (Bluetooth Special Interest Group) yang digunakan untuk melanjutkan pengembangan teknologi ini. Kelima perusahaan yang membentuk SIG tersebut merupakan perwakilan dari berbagai bidang industri yang ada. Ericsson dan Nokia mewakili perusahaan telepon genggam, IBM dan Intel mewakili perusahaan pengembang komputer, dan Toshiba mewakili perusahaan yang bergerak dalam teknologi pemrosesan signal digital (Eko, 2005 : 3).

2.13.2 Cara Kerja Bluetooth

Di dalam Bluetooth terdapat microchip (transceiver) yang mengirimkan dan menerima frekuensi sebesar 2.4 GHz. Frekuensi ini tersedia di seluruh dunia (dengan


(60)

beberapa perbedaan bandwith pada setiap Negara). Di samping informasi, ada tiga jalur suara yang tersedia.

Gambar 2.5 Gambaran Bluetooth

Informasi tersebut dapat merubah kecepatan pengiriman data sampai 1 megabit per detik (dalam generasi kedua Bluetooth mempunyai kecepatan hingga 2megabit per detik). Skema dari “frequency hop”(lompatan frekuensi) membuat peralatan Bluetooth dapat berkomunikasi secara khusus di dalam area yang terdapat banyak gangguan elektromagnetik. Selain itu di dalam peralatan bluetoth juga terdapat skema encryption dan check yang membuat komunikasi dalam Bluetooth lebih aman.


(61)

2.13.3 Frekuensi Bluetooth

Bluetooth standar beroperasi pada frekuensi bandwith sebesar 2,4 GHz. Dan frekuensi bandwith tersebut tersedia di seluruh dunia, luasnya bandwith dapat berbeda di setiap Negara. Frekuensi yang digunakan untuk penelitian dan industri medical berdasarkan ISM (Industrial, scientific and medical) sebesar 2,45 GHz. Besar bandwith yang digunakan di Amerika Serikat dan Eropa. diantara 2.400 hingga 2.483,5 MHz begitu pula di Prancis dan Spanyol. Di jepang besarnya bandwith diantara 2.471 hingga 2.497 MHz.

Tabel 2.2 Frekuensi Bluetooth di berbagai negara

2.13.4 Bluetooth Serial Port (SPP)RFCOMM (Cable replacement protocol) Serial Port Profile (SPP), adalah salah satu layanan yang ada di dalam bluetooth. Seperti yang kita ketahui banyak jenis layanan bluetooth yang lain seperti, “Audio Headset” atau “Bluetooth Printer”. Bluetooth serial port bisa di kategorikan sebagai COM di dalam Windows (seperti COM3 atau COM7), yang dapat berfungsi sama dengan port RS232 yang tersedia di komputer atau virtual COM (Heggel, 2009:1).


(62)

2.14 Bagan Alir (Flowchart)

Flowchart merupakan teknik analitikal yang digunakan untuk mendeskripsikan beberapa aspek dari sistem informasi dalam wujud yang lebih jelas, ringkas, dan secara logika. Flowchart menggunakan serangkaian simbol standar untuk mendeskripsikan dalam gambar, prosedur pemrosesan transaksi yang digunakan oleh perusahaan dan aliran data dalam suatu sistem.Menunjukkan apa yang dikerjakan di sistem (jogiyanto, 2005 : 795)


(63)

2.15 Perancangan Sistem DFD

Data Flow Diagram (DFD) yang didefinisikan sebagai suatu alat yang membentuk permodelan dan memungkinkan analis sistem dalam menggambarkan sistem sebagai suatu jaringan proses (network) dan fungsi yang dihubungkan satu dengan yang lainnya dan disebut dengan arus data (data flow). (Jogiyanto, 2000: 700).

Komponen-komponen Data Flow Diagram, terdiri atas (Jogiyanto, 2000, hal 700) :

2.15.1 Komponen DFD

Komponen dalam data flow diagram menurut Jogiyanto terdiri dari : 1. Terminator

Terminator digambarkan dengan bentuk persegi empat, terminator merupakan lingkungan luar (eksternal) dari suatu sistem yang sedang dikembangkan juga menujukan tempat asal data (source)dan tujuan data.

2. Transformation Proses

Proses melakukan suatu perubahan berdasarkan data yang dimasukan dan menghasilkan data atau beberapa keterangan dari perubahan tersebut.

3. Data Flow

Data flow merupakan aliran data yang berjalan dan diberi simbol anak panah. 4. Data Store


(64)

2.15.2 Levelisasi DFD

Gambar 2.3 : Levelisasi DFD


(65)

2.15.3 Penggambaran DFD

Tidak ada aturan baku untuk menggambarkan DFD, tapi dari berbagai referensi yg ada, secara garis besar (Jogiyanto, 200 : 713):

1. Buat diagram context

Diagram ini adalah diagram level tertinggi dari DFD yg menggambarkan hubungan sistem dgn lingkungan luarnya.

Cara pembuatanya :

a. Tentukan nama sistemnya. b. Tentukan batasan sistemnya.

c. Tentukan terminator apa saja yg ada dalam sistem.

d. Tentukan apa yg diterima/diberikan terminator dari/pada sistem. e. Gambarkan diagram context.

2. Buat diagram level Zero

Diagram ini adalah dekomposisi dari diagram Context. Cara pembuatnya :

a. Tentukan proses utama yg ada pada sistem.

b. Tentukan apa yg diberikan/diterima masing-masing proses pada/dari sistem sambil memperhatikan konsep keseimbangan (alur data yg


(66)

keluar/masuk dari suatu level harus sama dgn alur data yg masuk/keluar pada level berikutnya)

c. Apabila diperlukan, munculkan data store (master) sebagai sumber maupun tujuan alur data.

d. Gambarkan diagram level zero. e. Hindari perpotongan arus data

f. Beri nomor pada proses utama (nomor tidak menunjukkan urutan proses).

3. Buat diagram level Satu

Diagram ini merupakan dekomposisi dari diagram level zero. Cara Pembuatanya :

a. Tentukan proses yg lebih kecil (sub-proses) dari proses utama yg ada di level zero.

b. Tentukan apa yg diberikan/diterima masing-masing sub-proses pada atau dari sistem dan perhatikan konsep keseimbangan.

c. Apabila diperlukan, munculkan data store (transaksi) sbg sumber maupun tujuan alur data.

d. Gambarkan DFD level Satu e. Hindari perpotongan arus data.


(67)

f. Beri nomor pada masing-masing sub-proses yg menunjukkan dekomposisi dari proses sebelumnya. Contoh : 1.1, 1.2, 2.1

4. DFD level dua, tiga,...

Diagram ini merupakan dekomposisi dari level sebelumnya. Proses dekomposisi dilakukan sampai dg proses siap dituangkan ke dalam program. Aturan yg digunakan sama dgn level satu.

2.15.4 Entity Relationship Diagram (ERD)

Model Entity Relationship adalah suatu bentuk penyajian data yang berhubungan dengan menggunakan Entity dan Relationship. (Jogiyanto, 2005 : 782). Komponen-komponen dalam ERD, yaitu :

1. Entity

Entity adalah suatu bentuk yang berbeda dengan yang lainnya, dimana informasi didalamnya terdapat atribut-atribut yang berkumpul. Entity Set merupakan sekumpulan dari entity yang sejenis, objek yang ada di dalamnya dapat berupa objek secara fisik dan objek secara konsep. Bentuk yang digunakan untuk entity adalah persegi panjang.


(68)

2. Relationship

Relationship adalah suatu bentuk hubungan yang terjadi dan salin berkaitan antara satu atau lebih entiry. Relationship set merupaka sekumpulan dari relasi yang sejenis, bentuk yang digunakan relationship adalah bentuk belah ketupat/wajik.

3. Atribut

Atribut adalah karakteristik dari entity atau relationship yang menyediakan penjelasan detail tentang entity atau relationship tersebut. Nilai atribut merupakan data actual atau informasi yang disimpan pada suatu atribut didalam suatu entity atau relationship tersebut. Dibawah ini merupakan jenis-jenis atribut, yaitu :

a. Atribut Key

Suatu atribut kunci yang menentukan suatu entity secara unik atau yang disebut dengan primary key.

b. Atribut Sample

Suatu atribut yang bukan kunci dan mempunyai nilai tunggal. Bentuk yang digunakan pada atribut ini adalah oval.


(69)

4. Cardinality Ratio

Cardinality Ratio menjelaskan batasan jumlah keterhubungan suatu entity lainnya. Jenis-jenis cardinality ratio, yaitu (Waljiyanto, 2000, hal 51) :

a. One to One Relationship (1:1)

Hubungan antara dua file pertama dengan file kedua, hubungan kedua file tersebut adalah satu banding satu.

b. One To Many Relationship/Many To Relationship (1:M/M:1)

Hubungan antara file dengan file kedua dan merupakan satu berbanding banyak atau hubungan file pertama dengan file kedua adalah banyak berbanding satu


(70)

2.16 Kamus Data

Kamus data adalah suatu daftar data elemen yang terorganisir dengan definisi yang tetap dan sesuai dengan sistem, sehingga user dan analis sistem mempunyai pengertian yang sama tentang input, output, dan komponen data strore. Kamus data ini sangat membantu analis sistem dalam mendefinisikan data yang mengalir di dalam sistem, sehingga pendefinisian data itu dapat dilakukan dengan lengkap dan terstruktur. Pembentukan kamus data dilaksanakan dalam tahap analisis dan perancangan suatu system (Mazwan, 2007 : 1).

2.16.1 Pendefinisian Data Element Dalam Kamus Data

Kamus data mendefinisikan data elemen dengan cara (Mazwan, 2007 :6) : a. menguraikan arti dari alur data dan data store dalam DFD.

b. Menguraikan komposisi paket data pada alur data ke dalam alur yang lebih elementary(kecil) contoh : Alamat langganan yang terdiri dari nama jalan, kota dan kode pos.

c. Menguraikan komposisi paket data dalam data store.

d. Menspesifikasikan nilai dan unit informasi dalam alur data dan data store. e. Menguraikan hubungan yang terperinci antara data store dalam suatu entity


(71)

Notasi Kamus Data

Notasi “=“

Elemen data elementary adalah suatu dekomposisi yang tidak mempunyai arti dalam konteks lingkungan user.

Contoh :

Nama = Nama_Depan + Nama_Belakang

Nama_Depan dan Nama_Belakang dari contoh di atas tidak mempunyai arti, dan tidak ada komentar yang ditunjukan dengan “* *“


(72)

Contoh : Current_Height = *Unit : 150 Cm* Notasi “ ( ) “

Berdsarkan contoh di atas dapat diberikan kamus datanya sebagai berikut :

Nama_Langganan = (Title) + Nama_Depan + (Nama_Tengah) + Nama_Belakang Customer_Address = (Shipping_Address) + (Billing_Address)

Notasi “ { } “

Notasi ini digunakan untuk menggambarkan suatu komponen data secara berulang Contoh :

Order = Customer_Name + Shipping_Address + 1{item}10 Notasi “ [ ] “

Contoh :

Jenis_Kelamin = [ Pria I Wanita] Notasi “ * * “

Contoh :

Gambar 2.4 : Data Flow Untuk Perhitungan Pajak Sumber : Mazwan, 2007 : 8


(73)

Penjualan = *Jumlah penjualan selama satu tahun* *Dalam ribuan rupiah*

Pajak rate = *Satuan pajak yang berlaku ditentukan oleh pemerintah dalam %* Jumlah Pajak = *Jumlah pajak yang harus dibayar hasil perkalian dari sales* *pajak rate dalam ribuan rupiah*

Notasi “ Alias “ Contoh :

Client = Alias untuk customer.

2.17 Normalisasi

Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam Gambar-Gambar untuk memenuhi kebutuhan pemakai di dalam suatu organisasi (Lajmudin, 2005 : 168).

2.17.1 Tujuan dari Normalisasi

a. Untuk menghilangkan kerangkapan data b. Untuk mengurangi kompleksitas

c. Untuk mempermudah pemodifikasian data

2.17.2 Proses Normalisasi

A. Data diuraikan dalam bentuk Gambar, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.


(74)

B. Apabila Gambar yang diuji belum memenuhi persyaratan tertentu,maka Gambar tersebut perlu dipecah menjadi beberapa Gambar yang lebih sederhana sampai memenuhi bentuk yang optimal.

2.17.3 Tahapan Normalisasi

Bentuk Tidak Normal

Menghilangkan perulangan group Bentuk Normal Pertama (1NF)

Menghilangkan ketergantungan sebagian Bentuk Normal Kedua (2NF)

Menghilangkan ketergantungan transitif Bentuk Normal Ketiga (3NF)

Menghilangkan anomali-anomali hasil dari ketergantungan fungsional

Bentuk Normal Boyce-Codd (BCNF)

Menghilangkan Ketergantungan Multivalue Bentuk Normal Keempat (4NF)

Menghilangkan anomali-anomali yang tersisa Bentuk Normal Kelima

Gambar 2.5 : Tahapan Normalisasi Sumber : Primashanti, 2007: 2


(75)

2.17.3.1 Ketergantungan Fungsional

Atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X (R.X ---> R.Y), jika dan hanya jika setiap nilai X pada relasi R mempunyai tepat satu nilai Y pada R.

Misal, terdapat skema database Pemasok-barang : Pemasok (No-pem, Na-pem)

Gambar PEMASOK-BARANG

Tabel 2.3 : Pemasok Barang

Sumber : Primashanti, 2007 : 3

Ketergantungan fungsional dari Gambar PEMASOK-BARANG adalah : No-pem ---> Na-pem


(76)

2.17.3.2 Ketergantungan Fungsional Penuh

Atribut Y pada relasi R dikatakan tergantung fungsional penuh pada atribut X pada relasi R, jika Y tidak tergantung pada subset dari X ( bila X adalah key gabungan)

Contoh :

KIRIM-BARANG( No-pem, Na-pem, No-bar, Jumlah)

Tabel 2.4 : Kirim Barang

Sumber : Primashanti, 2007: 4

No-pem --> Na-pem


(77)

2.17.3.3 Ketergantungan Transitif

Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X , jika atribut Y tergantung pada atribut X pada relasi R dan atribut Z tergantung pada atribut Y pada relasi R. ( X Y, Y Z maka X Z)

Contoh :

Tabel 2.5 : Gambar contoh ketergantungan transitif

Sumber : Primashanti, 2007: 5

2.17.3.4 Ketergantungan transitif :

No-pem Kode-kota Kode-kota Kota , maka No-pem Kota


(1)

177

pStatement.setString(4, tanggalHari); pStatement.setString(5, jamHari); pStatement.executeUpdate(); statusInputSmsKeluar = true; } // Akhir try

catch (Exception ei) {} // Menutup Statement pStatement.close(); } // Akhir try catch (Exception e) {} return statusInputSmsKeluar; }

public void inputDataTabelSmsMasuk(String notlp, String pesan){ getWaktu();

String tanggalHari = tanggal + "-" + bulan + "-" + tahun; String jamHari = jam + ":" + menit + ":" + detik; try {

java.sql.PreparedStatement pStatement = koneksi.prepareStatement(

"Insert Into

SMS_MASUK(NO_TELEPON_MASUK,ISI_PESAN_MASUK,STATU S_MASUK,TANGGAL_MASUK, JAM_MASUK) Values (?,?,?,?,?)"); try { pStatement.setString(1, notlp); pStatement.setString(2, pesan); pStatement.setString(3, "WAIT"); pStatement.setString(4, tanggalHari); pStatement.setString(5, jamHari); pStatement.executeUpdate(); } // Akhir try

catch (Exception ei) {} // Menutup Statement pStatement.close(); } // Akhir try catch (Exception e) {} }

public void updateStatusData(String id, String status) { String tulisStatus = "";

try {

if (status.equals("SEND")) {

tulisStatus = "Update SMS_KELUAR Set STATUS_KELUAR='SEND' Where ID_KELUAR=?"; } else if (status.equals("NO")) {

tulisStatus = "Update SMS_KELUAR Set STATUS_KELUAR='NO' Where ID_KELUAR=?"; }else if (status.equals("PROCESS")) { tulisStatus = "Update SMS_KELUAR Set STATUS_KELUAR='PROCESS' Where ID_KELUAR=?"; } else if (status.equals("OK")) {

tulisStatus = "Update SMS_MASUK Set STATUS_MASUK='OK' Where ID_MASUK=?"; }

java.sql.PreparedStatement pStatement = koneksi.prepareStatement(tulisStatus); try {

pStatement.setString(1, id); pStatement.executeUpdate();

} // Akhir try catch (Exception e) {} pStatement.close(); } // Akhir try catch (Exception e) {} }

}

Coding SMS Polling ke Database : public class prosesSmsPolling { java.sql.Connection koneksi;

/** Creates a new instance of prosesSmsPolling */

public prosesSmsPolling(java.sql.Connection koneksi, String notlp, String kode2, String kode3) {

this.koneksi = koneksi;

prosesSimpanDataPolling(notlp, kode2, kode3); }

private void prosesSimpanDataPolling(String notlp, String kode2, String kode3){

String sql = "INSERT INTO data_hasil_Polling(kode_Pertanyaan, pilihan, no_telepon_pengirim) VALUES(?,?,?)";

try{

java.sql.PreparedStatement stat = koneksi.prepareStatement(sql); try{

stat.setString(1, kode2); stat.setString(2, kode3); stat.setString(3, notlp); stat.executeUpdate();

} catch (java.sql.SQLException s){ System.out.println(s.getMessage()); }

} catch (Exception se){

System.out.println(se.getMessage()); }

} }

Coding SMS Request Ke Database : public class prosesSmsRequest { java.sql.Connection koneksi;


(2)

178

public prosesSmsRequest(java.sql.Connection koneksi, String notlp, String kode2, String kode3) {

this.koneksi = koneksi;

prosesValidasiKode(notlp, kode2, kode3); }

private void prosesValidasiKode(String notlp, String kode2, String kode3){

if (kode2.equalsIgnoreCase("DATA")) { prosesRequestDataPelanggan(notlp, kode3); } else if (kode2.equalsIgnoreCase("BIAYA")) { prosesRequestPajakPelanggan(notlp, kode3); } else if (kode2.equalsIgnoreCase("null")) {

String kode_1_salah = "Format SMS yang Anda Masukkan Salah.";

String kode_1_format =

"\nFORMAT SMS adalah REQUEST DATA <IdPelang> atau REQUEST BIAYA <IdPelang>";

String pesanSalahKode_1 = kode_1_salah + kode_1_format; new

prosesDatabaseSmsServer(koneksi).inputDataTabelSmsKeluar(notlp, pesanSalahKode_1);

} else {

String kode_1_salah = "Kode2 yang Anda Masukkan Salah" + "\nkode : " + kode2 + "\nTidak terdaftar";

String kode_1_format = "\nKode2 yang diijinkan adalah DATA atau BIAYA. \nFORMAT SMS adalah REQUEST DATA <ID> atau REQUEST PAJAK <ID>";

String pesanSalahKode_1 = kode_1_salah + kode_1_format; new prosesDatabaseSmsServer(koneksi).inputDataTabelSmsKeluar(notlp, pesanSalahKode_1); } }

private void prosesRequestDataPelanggan(String notlp, String kode3){ boolean status_cari = false;

if(kode3.equalsIgnoreCase("null")){

String kode_1_salah = "Format SMS yang Anda Masukkan Salah.";

String kode_1_format =

"\nFORMAT SMS adalah REQUEST DATA <IdPelang> atau REQUEST BIAYA <IdPelang>";

String pesanSalahKode_1 = kode_1_salah + kode_1_format; new

prosesDatabaseSmsServer(koneksi).inputDataTabelSmsKeluar(notlp, pesanSalahKode_1);

} else {

String sql = "SELECT * FROM data_mahasiswa WHERE nim = '"+kode3+"'";

try{

java.sql.Statement stat = koneksi.createStatement(); java.sql.ResultSet rSet = stat.executeQuery(sql); while(rSet.next()){

String nama = rSet.getString("nama_mahasiswa"); String alamat = rSet.getString("dosen_pa"); String daya = rSet.getString("dosen_pkl"); String dataPesan = "NIM : "+kode3+"\nNama : "+nama+"\nDosen PA : "+alamat+"\nDosen PKL : "+daya; new

prosesDatabaseSmsServer(koneksi).inputDataTabelSmsKeluar(notlp, dataPesan);

status_cari = true; }

if(!status_cari){

String kode_1_salah = "Data Mahasiswa dengan NIM : "+kode3+"\nTidak Ditemukan.";

String kode_1_format =

"\nKetik REQUEST DATA <IdPelang> atau REQUEST BIAYA <IdPelang>";

String pesanSalahKode_1 = kode_1_salah + kode_1_format; new

prosesDatabaseSmsServer(koneksi).inputDataTabelSmsKeluar(notlp, pesanSalahKode_1);

}

} catch(Exception e){} }

}

private void prosesRequestPajakPelanggan(String notlp, String kode3){

prosesDatabaseSmsServer pd = new prosesDatabaseSmsServer(koneksi); pd.getWaktu();

String tahun = pd.tahun; String bulan = pd.bulan;

String namaBulan =

SmitDev.SmsServer.Jam.konversiBulan(Integer.parseInt(bulan)-1); String kode = kode3+namaBulan+tahun;

System.out.println(kode); boolean status_cari = false; if(kode3.equalsIgnoreCase("null")){

String kode_1_salah = "Format SMS yang Anda Masukkan Salah.";

String kode_1_format =

"\nFORMAT SMS adalah REQUEST DATA <IdPelang> atau REQUEST BIAYA <IdPelang>";

String pesanSalahKode_1 = kode_1_salah + kode_1_format; new

prosesDatabaseSmsServer(koneksi).inputDataTabelSmsKeluar(notlp, pesanSalahKode_1);

} else {

String sql = "SELECT * FROM biaya_semester WHERE kode = '"+kode+"'";

try{

java.sql.Statement stat = koneksi.createStatement(); java.sql.ResultSet rSet = stat.executeQuery(sql); while(rSet.next()){

String beban = rSet.getString("spp"); String pakai = rSet.getString("dop"); String terlambat = rSet.getString("dkm"); String lain = rSet.getString("dp"); String jml = rSet.getString("jumlah"); String ppj = rSet.getString("pajak");

String total_bayar = rSet.getString("total_pembayaran"); String dataPesan =

kode3+"\nBulan:"+namaBulan+tahun+"\nSPP:"+beban+"\nDOP:"+pakai+ "\nDKM:"+terlambat+"\nDP+DM:"+lain+"\nJml:"+jml+"\nPajak:"+ppj+"\ n\nTotalPajak:"+total_bayar; new prosesDatabaseSmsServer(koneksi).inputDataTabelSmsKeluar(notlp, dataPesan);

status_cari = true; }

if(!status_cari){

String kode_1_salah = "Data Biaya Semester Dengan NIM : "+kode3+"\nTidak Ditemukan.";

String kode_1_format =

"\nFORMAT SMS adalah REQUEST DATA <IdPelang> atau REQUEST BIAYA <IdPelang>";

String pesanSalahKode_1 = kode_1_salah + kode_1_format; new

prosesDatabaseSmsServer(koneksi).inputDataTabelSmsKeluar(notlp, pesanSalahKode_1);

}

} catch(Exception e){} }

} }


(3)

179

Lampiran C

Membuat database menggunakan MySQL :

1.

Aktivkan MySQL lalu tekan tombol enter :

2.

ketik perintah (show databases;) lalu akan ada tampilan seperti ini :

3.

lalu pilih (use sms), lalu ketik (show tables;) maka akan ada tampilan seperti ini :

4.

berikut adalah coding MySQL untuk membuat database :

a.

Database sms masuk :

CREATE TABLE SMS_MASUK (id_masuk int(11) NOT NULL auto_increment,

no_telepon_masuk varchar(100) NOT NULL default ‘’ , tanggal_masuk varchar(100)

NOT NULL default ‘’, jam_masuk varchar(100) NOT NULL default ‘’,


(4)

180

isi_pesan_masuk varchar(160) NOT NULL default ‘’, status_masuk varchar(100)

NOT NULL default ‘’, PRIMARY KEY (id_masuk)) ENGINE=MyISAM

DEFAULT CHARSET=latin1;

b.

Database sms keluar :

CREATE TABLE SMS_KELUAR (id_keluar int(11) NOT NULL auto_increment,

no_telepon_keluar varchar(100) NOT NULL default ‘’ , tanggal_keluar varchar(100)

NOT NULL default ‘’, jam_keluar varchar(100) NOT NULL default ‘’,

isi_pesan_keluar varchar(160) NOT NULL default ‘’, status_keluar varchar(100)

NOT NULL default ‘’, PRIMARY KEY (id_keluar)) ENGINE=MyISAM

DEFAULT CHARSET=latin1;

c.

Database Data Buku Telepon :

CREATE TABLE DATA_BUKU_TELEPON (nomor_telepon varchar(25) NOT

NULL default ‘’, nama_kontak varchar(150) NOT NULL default ‘’, alamat

varchar(250)

NOT

NULL

default

‘’,

PRIMARY

KEY

(no_telepon))

ENGINE=MyISAM DEFAULT CHARSET=latin1;

d.

Database Data Mahasiswa:

CREATE TABLE DATA_MAHASISWA (nim varchar(100) NOT NULL default ‘’,

nama_mahasiswa varchar(100) NOT NULL default ‘’, dosen_pa varchar(100) NOT

NULL default ‘’, dosen_pkl varchar(100) NOT NULL default ‘’, PRIMARY KEY

(nim)) ENGINE=MyISAM DEFAULT CHARSET=latin1;

e.

Database Biaya Semester :

CREATE TABLE BIAYA_SEMESTER (kode varchar(100) NOT NULL default ‘’,

nim varchar(100) NOT NULL default ‘’ , spp varchar(100) NOT NULL default ‘’,

dop varchar(100) NOT NULL default ‘’, dkm varchar(100) NOT NULL default ‘’, dp

varchar(10) NOT NULL default ‘’, jumlah varchar(100) NOT NULL default ‘’ ,

pajak varchar(100) NOT NULL default ‘’, total_pembayaran varchar(100) NOT

NULL default ‘’, bulan_pembayaran varchar(100) NOT NULL default ‘’, PRIMARY

KEY (kode)) ENGINE=MyISAM DEFAULT CHARSET=latin1;

f.

Database Data Hasil Polling :

CREATE TABLE DATA_HASIL_POLLING (no_urut int(11) NOT NULL

auto_increment, kode_pertanyaan varchar(100) NOT NULL default ‘’, pilihan

varchar(100) NOT NULL default ‘’, no_telepon_pengimrim varchar(100) NOT

NULL default ‘’, PRIMARY KEY (no_urut)) ENGINE=MyISAM DEFAULT

CHARSET=latin1;

g.

Database Pertanyaan Polling :

CREATE

TABLE

DATA_PERTANYAAN_POLLING

(kode_pertanyaan

varchar(100) NOT NULL default ‘’, isi_pertanyaan varchar(100) NOT NULL default

‘’, pilihan_a varchar(100) NOT NULL default ‘’, pilihan_b varchar(100) NOT NULL

default ‘’, pilihan_c varchar(100) NOT NULL default ‘’, PRIMARY KEY (nim))

ENGINE=MyISAM DEFAULT CHARSET=latin1;


(5)

iii

LEMBAR PENGESAHAN UJIAN

Skripsi berjudul “

Pembuatan Aplikasi Penyebaran Informasi Berbasis

Short

Message Service

(SMS) di Lingkungan Program Studi Teknik Informatika

” yang

ditulis oleh RUSDIANTORO, NIM 104091002846 telah diuji dan dinyatakan lulus

dalam siding Munaqosyah Fakultas Sains dan Teknologi Universitas Islam Negeri

Syarif Hidayatullah Jakarta pada tanggal 19 Mei 2010. Skripsi ini telah diterima

sebagai salah satu syarat untuk memperoleh gelar sarjana strata satu (S1) Program

Studi Teknik Informatika.

Menyetujui :

Penguji 1

Penguji II

Husni Teja Sukmana, Phd

Viva Arifin, MMSI

NIP : 19771030 200112 1 003

NIP : 19730810 200604 2 001

Pembimbing 1

Pembimbing II

Yusuf Durrachman, M.Sc, MIT

Zulfiandri, MMSI

NIP : 19710522 200604 1 002

NIP : 19700130 200501 1 003

Mengetahui :

Dekan Fakultas Sains san Teknologi

Ketua Program Studi Teknik Informatika

DR. Syopiansyah Jaya Putra, M.Sis

Yusuf Durrachman, M.Sc, MIT


(6)

v

PERNYATAAN

DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-BENAR

HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI

SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU

LEMBAGA MANAPUN.

Jakarta. Juni 2010

Rusdiantoro

104091002846