BAB II TINJAUAN PUSTAKA
2.1 Konsep Dasar Aplikasi Aplikasi menurut istilah adalah penerapan, lamaran atau penggunaan, sedangkan menurut kamus informatika Program aplikasi adalah program siap pakai. Program yang direka untuk melaksanakan suatu fungsi bagi pengguna atau aplikasi yang lain. Contoh-contoh aplikasi ialah program pemproses kata dan Web Browser. Aplikasi akan menggunakan sistem operasi (OS) komputer dan aplikasi yang lainnya yang mendukung. Istilah ini mulai perlahan masuk ke dalam istilah Teknologi Informasi semenjak tahun 1993, yang biasanya juga disingkat dengan app. Secara historis, aplikasi adalah software yang dikembangkan oleh sebuah perusahaan. App adalah software yang dibeli perusahaan dari tempat pembuatnya. Industri PC tampaknya menciptakan istilah ini untuk merefleksikan medan pertempuran persaingan yang baru, yang paralel dengan yang terjadi antar sistem operasi yang dimunculkan. 2.1.1
Short Message Service (SMS) Short Message Service (SMS) merupakan sebuah layanan yang banyak
diaplikasikan pada system komunikasi tanpa kabel, memungkinkan dilakukannya pengiriman pesan dalam bentuk alphanumeric antara terminal pelanggan atau antara terminal pelanggan dengan sitem eksternal seperti email, paging, voice mail, dan lainlain [Gunawan, 2003]. SMS pertama kali muncul di belahan Benua Eropa pada sekitar 6
7
tahun 1991 bersama sebuah teknologi komunikasi wireless yang saat ini cukup banyak penggunaannya, yaitu Global System for Mobile Communication (GSM). 1. Arsitektur dan Elemen Jaringan SMS Layanan SMS dibangun dari berbagai entitas yang saling terkait dan mempunyai fungsi dan tugas masing-masing. Entitas dalam jaringan SMS ini disebut juga elemen jaringan SMS. 2. Komunikasi Antar Elemen Jaringan SMS Elemen utama dalam jaringan SMS adalah SMSC, dimana di dalamnya terdapat berbagai proses pengolahan short message. Prinsip kerja sebuah SMSC adalah store and forward. Dengan prinsip ini, seluruh short message yang masuk akan langsung ditampung tanpa melihat status tujuan apakah ada atau tidak. Penyampaian ke tujuan akan dilakukan kemudian dengan terlebih dahulu mengidentifikasi tujuan dengan meng-query entitas-entitas yang terlibat. 3. Mengirim dan Menerima SMS Ada dua mode untuk mengirim dan menerima SMS, Yaitu mode text dan mode PDU (protocol data Unit). Akan tetapi, sistem mode text tidak didukung oleh semua operator GSM maupun terminal. 1). Text Mode Mode ini adalah cara termudah untuk mengirim pesan. Pada mode text pesan yang kita kirim tidak dilakukan konversi. Sesungguhnya, mode text adalah hasil enkode yang direpresentasikan dalam format PDU. Kelemahannya, kita tidak dapat
8
menyisipkan gambar dan nada dering kedalam pesan yang akan dikirim serta terbatasnya tipe encoding. 2). PDU (Protocol Data Unit) Mode PDU Mode adalah format message dalam heksadesimal octet dengan panjang mencapai 160 (7 bit default alphabet). Kelebihan menggunakan mode PDU adalah kita dapat melakukan encoding sendiri yang tentunya harus pula didukung oleh hardware dan operator GSM. 2.1.2
SMS Gateway SMS pada awalnya didesain untuk pertukaran message yang berukuran kecil,
terutama digunakan untuk keperluan notifikasi dan paging baik numerik maupun alphanumerik. Akan tetapi, dengan perkembangan pesat SMS, kemudian bermunculan berbagai jenis aplikasi yang memanfaatkan fasilitas SMS. Sifat perangkat SMS yang Mobile dan dapat mengirimkan informasi dari mana saja selama masih dalam cakupan layanan operator, memunculkan aplikasi lapangan di mana informasiinformasi pendek dikirimkan kepada pusat pengolahan informasi. SMS merupakan komunikasi dua arah. Maksud dua arah disini adalah sistem akan membalas secara otomatis setiap pesan yang masuk. [Agus Saputra, 2001] 2.2 Kependudukan Penduduk adalah mereka yang tinggal di suatu wilayah dan saat dilakukan sensus dalam kurun waktu minimal 6 bulan. Masalah kependudukan merupakan masalah umum yang dimiliki oleh setiap negara di dunia ini. Secara umum, masalah kependudukan di berbagai negara dapat dibedakan menjadi dua, yaitu dalam hal
9
kuantitas/jumlah penduduk dan kualitas penduduknya. Data tentang kualitas dan kuantitas penduduk tersebut dapat diketahui melalui beberapa cara, diantaranya melalui metode sensus, registrasi, dan survei penduduk. Sensus penduduk (cacah jiwa) yaitu pencatatan / penghitungan penduduk di suatu daerah/negara pada kurun waktu tertentu. Sensus penduduk biasanya dilakukan tiap 10 tahun sekali. Berdasarkan
pelaksanaannya/metode
pencatatannya,
sensus
dibedakan
menjadi dua, yaitu metode householder dan metode canvaser. a. Metode Householder : Pada metode ini, pengisian daftar pertanyaan tentang data kependudukan diserahkan kepada penduduk atau responden, sehingga penduduk diberi daftar pertanyaan untuk diisi dan akan diambil kembali beberapa waktu kemudian. Metode semacam ini hanya dapat dilakukan pada daerah yang tingkat pendidikan penduduknya relatif tinggi, karena mereka mampu memahami dan menjawab setiap pertanyaan yang diserahkan kepada mereka. b. Metode Canvaser : Pada metode ini, pengisian daftar pertanyaan tentang data kependudukan dilakukan oleh petugas sensus dengan cara mendatangi dan mewawancarai penduduk atau responden secara langsung. Petugas sensus mengajukan pertanyaan-pertanyaan sesuai daftar dan penduduk yang didatangi menjawab secara lisan sesuai dengan keadaan atau kondisi yang sebenarnya. Adapun berdasarkan status tempat tinggal penduduknya, sensus dapat dibedakan menjadi sensus de facto dan sensus de jure.
10
a. Sensus De Facto : Pada metode ini, pencatatan dilakukan oleh petugas pada setiap orang yang ada di daerah tersebut pada saat sensus diadakan. Metode sensus ini tidak membedakan antara penduduk asli yang menetap ataupun penduduk yang hanya tinggal sementara waktu. b. Sensus De Jure : Pada metode ini, pencatatan penduduk dilakukan oleh petugas hanya untuk penduduk yang secara resmi tercatat dan tinggal sebagai penduduk di daerah tersebut pada saat dilakukannya sensus, sehingga dapat dibedakan antara penduduk asli yang menetap dan penduduk yang hanya tinggal untuk sementara waktu atau yang belum terdaftar sebagai penduduk setempat. Registrasi penduduk yaitu pencatatan data penduduk yang dilakukan secara terus menerus di kelurahan. Misal: pencatatan peristiwa kelahiran, kematian, dan kejadian penting yang mengubah status sipil seseorang sejak lahir sampai mati. Survai Penduduk : Pengumpulan data yang sifatnya lebih terbatas dan informasi yang dikumpulkan lebih luas dan lebih mendalam. Pada umumnya survai kependudukan ini dilaksanakan dengan sistem sampel atau dalam bentuk studi kasus. ( Hasil sensus dan registrasi penduduk masih mempunyai keterbatasan karena hanya menyediakan data statistik kependudukan dan kurang memberikan informasi, tentang sifat dan perilaku penduduk tersebut. Untuk mengatasi keterbatasan tersebut, maka perlu dilaksanakan survai penduduk. ) Tingkat kelahiran (fertilitas) adalah tingkat pertambahan jumlah anak atau tingkat kelahiran bayi pada suatu periode tertentu. Tingkat kelahiran bayi dapat dihitung dengan dua cara, yaitu:
11
a. Angka Kelahiran Kasar (Crude Birth Rate/CBR), adalah angka kelahiran yang menunjukkan jumlah kelahiran perseribu penduduk dalam suatu periode. b. Angka Kelahiran Umum (General Fertility Rate/GFR), adalah angka yang menunjukkan jumlah bayi yang lahir dari setiap 1000 wanita pada usia reproduksi atau melahirkan yaitu pada kelompok usia 15-49 tahun. Tingkat kematian (mortalitas) merupakan pengurangan jumlah penduduk pada periode tertentu yang disebabkan oleh faktor kematian. Tingkat kematian dapat diketahui melalui tiga cara, yaitu: a. Tingkat Kematian Kasar (Crude Death Rate/CDR), adalah angka yang menunjukkan rata-rata kematian perseribu penduduk dalam satu tahun. b. Tingkat Kematian Menurut Umur (Age Specific Death Rate/ASDR), adalah angka yang menunjukkan banyaknya kematian pada kelompok umur tertentu perseribu penduduk dalam kelompok yang sama. Tingkat Kematian Bayi (Infan Mortality Rate/IMR), adalah angka yang menunjukkan banyaknya bayi yang meninggal dari setiap 1000 bayi yang lahir hidup. [ Sumber daya manusia, Sutama ] Migrasi atau mobilitas penduduk adalah perpindahan penduduk dari suatu tempat ke tempat lain. Terdiri dari : Migrasi internasional (migrasi antarnegara) yang terdiri dari imigrasi, emigrasi, dan remigrasi. 1. Imigrasi adalah masuknya penduduk asing yang menetap ke dalam sebuah negara. 2. Emigrasi adalah pindahnya penduduk keluar negeri untuk menetap di sana.
12
3. Remigrasi adalah pemulangan kembali penduduk asing ke negara asalnya. Migrasi nasional (migrasi lokal), terdiri dari: 1. Urbanisasi yaitu perpindahan penduduk dari desa ke kota. 2. Transmigrasi yaitu perpindahan penduduk dari pulau yang padat penduduknya ke pulau yang masih jarang penduduknya. 3. Ruralisasi yaitu perpindahan penduduk dari kota ke desa untuk menetap di desa. 4. Evakuasi yaitu perpindahan penduduk untuk menghindari bahaya. Jumlah penduduk Indonesia yang semakin banyak dari tahun ke tahun tentunya menimbulkan dampak terhadap kehidupan social ekonomi Indonesia. Beberapa dampak sosial ekonomi yang ditimbulkan dari banyaknya jumlah penduduk, antara lain: 1. meningkatnya kebutuhan akan berbagai fasilitas sosial. 2. meningkatnya persaingan dalam dunia kerja sehingga mempersempit lapangan dan peluang kerja. 3. meningkatnya angka pengangguran (bagi mereka yang tidak mampu bersaing) Adapun usaha-usaha yang dilakukan pemerintah dalam menekan laju pertumbuhan penduduk antara lain meliputi hal-hal berikut ini. 1. Meningkatkan pelayanan kesehatan dan kemudahan dalam menjadi akseptor Keluarga Berencana. 2. Mempermudah dan meningkatkan pelayanan dalam bidang pendidikan, sehingga keinginan untuk segera menikah dapat dihambat.
13
3. Meningkatkan wajib belajar pendidikan dasar bagi masyarakat, dari 6 tahun menjadi 9 tahun. 2.3 Perencanaan Sistem Sebelum mambangun sebuah sistem, sebaiknya perlu dilakukan analisa kelayakan dari sistem tersebut. Kelayakan yang ditinjau menyangkut kelayakankelayakan sebagai berikut : a. Kelayakan Operasional, menilai apakah sistem yang akan dibangun dapat dijalankan jika dikaitkan dengan sumberdaya manusia yang ada, metode pelatihan, pelayanan, perawatan serta efisiensi dan efektivitas dari sistem tersebut. b. Kelayakan Ekonomis, menyangkut analisa biaya pembuatan atau pengembangan sistem yang baru serta biaya untuk menjalankan sistem tersebut, juga menyangkut keuntungan materil dari sistem tersebut. c. Kelayakan Teknis, menilai apakah perangkat keras dan perangkat lunak yang akan dikembangkan tersebut tersedia serta menyangkut hal–hal teknis yamg lainnya. d. Kelayakan Jadwal, menyangkut waktu yang diperlukan untuk membangun atau mengembangkan sistem yang baru. e. Kelayakan Hukum, menyangkut apakah sistem yang baru tidak bertentangan dengan hukum dan undang–undang serta peraturan–peraturan yang berlaku di wilayah hukum indonesia.
14
2.4 Analisis Sistem Alasan yang melatarbelakangi dilakukannya analisis sistem : 1. Dikarenakan sistem yang lama sudah tidak bisa memenuhi kebutuhan, sehingga diperlukan pengembangan sistem yang baru. Hal ini memerlukan analisis sistem agar sistem yang baru dapat berfungsi sesuai dengan kebutuhan. 2. Adanya kebutuhan baru dalam lingkungan atau organisasi di tempat sistem berjalan yang memerlukan modifikasi untuk mendukung organisasi. 3. Meningkatkan kemampuan atau performansi sistem. Adapun kegiatan–kegiatan yang dilakukan dalam analisis sistem adalah sebagai berikut : 1. Manganalisis klasifikasi data, proses dan fungsi kebutuhan informasi seluruh bagian organisasi yang merupakan kebutuhan informasi untuk masa yang akan datang. 2. Menganalisis dokumen–dokumen yang bisa dijadikan pedoman bagi tahap pengembangan berikutnya. 3. melakukan evaluasi terhadap sistem yang sedang berjalan. Didalam tahap analisis sistem terdapat langkah-langkah dasar yang harus dilakukan oleh analis sistem sebagai berikut : 1. Identyfy, yaitu mengidetifikasikan masalah. 2. Understand, yaitu memahami kerja dan sistem yang ada. 3. Analyze, yaitu menganalisa sistem. 4. Report, yaitu laporan hasil kerja.
15
Untuk masing-masing langkah ini, beberapa tugas perlu dilakukan oleh analis sistem. Supaya lebih mudah untuk melakukan koordinasi dan pengawasan, koordinator, team analis dapat membuat satu kertas kerja yang memuat tugas-tugas yang harus dikerjakan untuk masing-masing analis. 2.5 Desain Sistem 2.5.1
Definisi Desain Sistem Desain Sistem memiliki beberapa definisi, diantaranya :
Menurut Robert J. Verjello / John Reuter III : “Tahap setelah analisis dari siklus pengembangan sistem : pendefinisian dari kebutuhan–kebutuhan fungsional dan persiapan untuk rancang bangun implementasi ; menggambarkan bagaimana suatu sistem dibentuk” [Jogiyanto, 2001]. Menurut John Burch & GrundGrundnitski : “Desain sistem dapat didefinisikan sebagai penggambaran, perencanaan dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam suatu kesatuan yang utuh dan berfungsi” [Jogiyanto, 2001]. Menurut M. Scott : “Desain sistem menentukan bagaimana suatu sistem akan menyelesaikan apa yang mesti diselesaikan; tahap ini menyangkut konfigurasi dari komponen– komponen perangkat lunak dan perangkat keras dari suatu sistem sehingga setelah instalasi dari sistem akan benar – benar memuaskan rancang bangun yang telah ditetapkan pada akhir tahap analisis sistem” [Jogiyanto, 2001].
16
2.5.2
Tujuan Desain Sistem Desain Sistem memiliki dua maksud dan tujuan utama, yaitu :
1. Untuk memenuhi kebutuhan kepada pemakai sistem 2. Untuk memberikan gambaran yang jelas dan rancangan yang lengkap kepada pemrogram komputer dan ahli–ahli teknik lainnya yang terlibat. Agar tujuan tersebut dapat dicapai, maka seorang analis sistem harus mencapai sasaran–sasaran sebagai berikut : 1. Desain sistem harus berguna, mudah dipahami dan nantinya mudah digunakan. 2. Desain sistem harus dapat mendukung tujuan utama perusahaan sesuai dengan yang telah didefinisikan pada tahap perencanaan sistem yang dilanjutkan pada tahap analisis sistem. 3. Desain sistem harus efisien dan efektif untuk dapat mendukung pengolahan transaksi. 4. Desain sistem harus dapat mempersiapkan rancang bangun yang terinci untuk masing – msing komponen dari sistem informasi. 2.5.3
Desain Input Input memulai arus data melalui sebuah sistem, seperti komponen
perancangan sistem lainnya, rancangan input harus direncanakan dan dilaksanakan dengan hati–hati untuk mengkonversikan data mentah (input) ke dalam informasi yang dapat digunakan (output).
17
Kegiatan yang dilakukan pada desain input : a. Menentukan kebutuhan–kebutuhan input dari sistem informasi, menentukan media pemasukan dan pengaturan format data ketika dimasukan dalam media tersebut b. Mendefinisikan data yang akan dicatat, atau direkam. c. Merancang antar muka dalam proses pemasukan data. 2.5.4
Desain Output Tujuan dari desain output adalah untuk mengubah tumpukan data menjadi
informasi yang berkualitas dan dapat dipergunakan. Sasaran sesungguhnya bukan untuk menghasilkan data, bahkan juga bukan informasi. Sasaran akhirnya adalah pengambilan keputusan yang tepat. Kegiatan dari desain output : a. Menentukan kebutuhan output dari sistem informasi. b. Menentukan parameter dari output, yang meliputi : 1) Bentuk output 2) Format output 3) Media yang digunakan 2.6 System Development Life Cycle (SDLC) SDLC (System Development Life Cycle, Siklus Hidup Pengembangan Sistem) atau Systems Life Cycle (Siklus Hidup Sistem), dalam rekayasa sistem dan rekayasa perangkat lunak, adalah proses pembuatan dan pengubahan sistem serta
18
model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atau informasi. SDLC juga merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak, yang terdiri dari tahap-tahap: rencana(planning), analisa (analysis), desain (design), implementasi (implementation), uji coba (testing) dan pengelolaan (maintenance). Dalam rekayasa perangkat lunak, konsep SDLC mendasari berbagai jenis metodologi pengembangan perangkat lunak. Metodologi-metodologi ini membentuk suatu kerangka kerja untuk perencanaan dan pengendalian pembuatan sistem informasi, yaitu proses pengembangan perangkat lunak. Terdapat 3 jenis metode siklus hidup sistem yang paling banyak digunakan, yakni: siklus hidup sistem tradisional (traditional system life cycle), siklus hidup menggunakan protoyping (life cycle using prototyping), dan siklus hidup sistem orientasi objek (object-oriented system life cycle SDLC berfungsi untuk menggambarkan tahapan-tahapan utama dan langkahlangkah dari setiap tahapan yang secara garis besar terbagi dalam tiga kegiatan utama, yaitu : a. Analysis b. Design c. Implementation Setiap kegiatan dalam SDLC dapat dijelaskan melalui tujuan (purpose) dan hasil kegiatannya (deliverable).
19
2.6.1
Flowmap atau Flowchart
Flowmap atau flowchart merupakan grafik formal yang menggambarkan urutan
logis
dari. pekerjaan
suatu
proyek
proses [Studio Komputer
atau
Akuntansi, 2008, P.82]. Setiap notasi flowmap memiliki arti khusus. Bagan, nama dan fungsinya seperti yang disajikan pada tabel berikut: Tabel 2.1 Simbol Flowmap Simbol
Keterangan Dokumen. Simbol ini digunakan untuk menggambarkan semua jenis dokumen,yang merupakan formulir yang digunakan untuk
merekam data terjadinya suatu
transaksi. Nama dokumen
dicantumkan ditengah
19ystem. Input/output.
Simbol
menggambarkan
catatan
ini
digunakan
untuk
akuntansi yang digunakan
untuk mencatat data yang direkam sebelumnya didalam dokumen atau formulr. Nama catatan dicantumkan di dalam 19ystem ini. Garis alir (flowline). Simbol ini menggambarkan arah proses pengolahan data. Anak panah tidak digambarkan jika arus dokumen mengarah kebawah dan kekanan. Jika arus dokumen mengalir ke atas atau ke kiri,
20
anak panah perlu dicantumkan. Penghubung pada halaman yang sama. (on page connector).
Dalam menggambarkan bagan alir, arus
dokumen dibuat mengalir dari atas ke bawah dan dari kiri kekanan. Karena keterbatasan ruang halaman kertas untuk
menggambar,
maka
diperlukan
20ystem
penghubung untuk memungkinkan aliran dokumen berhenti di suatu lokasi pada halaman tertentu dan kembali berjalan di lokasi lain pada halaman yang sama. Penghubung pada halaman yang berbeda (off-page connector).
Jika untuk menggambarkan bagan
suatu system akuntansi halaman,
20ystem
ini
alir
diperlukan lebih dari satu harus
digunakan
untuk
menunjukkan kemana dan bagaimana bagan alir terkait satu dengan yang lainnya.
Kegiatan Manual. menggambarkan
Simbol ini digunakan untuk
kegiatan manual seperti: menerima
order, mengisi formulir, membandingkan, memeriksa. Uraian singkat kegiatan manual dicantumkan di dalam smbol ini.
21
Proses. Simbol ini menggambarkan pengolahan data dengan 21ystem21r. Nama program ditulis didalam 21ystem.
Keying (typing, verifying). Simbol ini menggambarkan pemasukan data ke dalam 21ystem21r.
Storage. Simbol ini menggambarkan arsip yang tersimpan di dalam memori 21ystem21r. Keputusan. Simbol ini menggambarkan keputusan yang harus dibuat dalam proses pengolahan data. Keputusan yang dibuat ditulis didalam 21ystem. Mulai/berakhir (terminal). Simbol ini digunakan untuk menggambarkan awal dan akhir suatu 21ystem.
Beberapa prinsip yang harus ditaati dalam membuat flowmap: a. Tidak ada bagan yang menggantung b. Percabangan hanya ada 2 dengan indikasi Ya dan Tidak. Ya untuk menyatakan bahwa kondisi dipenuhi, Tidak untuk menyatakan sebaliknya
22
c. Selalu diawali dengan Mulai dan Selesai atau Start dan Stop dengan bagan terminator d. Memanfaatkan konektor yang sesuai jika flowchart akan dibagi menjadi beberapa bagian e. Gunakan bahasa sederhana pada bagan yang digunakan Beberapa Program Flowmap/Flowchart: 1. Menggambarkan urutan logika dari suatu prosedur pemecahan masalah 2. Dua jenis metode penggambaran program flowchart : a. Conceptual flowchart, menggambarkan alur pemecahan masalah secara global b. Detail flowchart, menggambarkan alur pemecahan masalah secara rinci 2.6.2
DFD (Data Flow Diagram)
Data Flow Diagram memodelkan kejadian dan proses (aktifitas yang mengubah data) dalam sebuah system [Studio Komputer Akuntansi, 2008, P.72]. Dari DFD dapat terlihat bagaimana data mengalir kedalam, keluar dan didalam system tersebut. Prinsip dasar DFD: a. System dapat dipecah menjadi beberapa subsistem, dan subsistem dapat dipecah menjadi subsistem yang levelnya lebih rendah lagi, dan seterusnya. b. Setiap subsistem mewakili / menggambarkan sebuah proses atau aktifitas dimana data diproses. c. Pada level terrendah subsistem, proses sudah tidak dapat dipecah lagi.
23
d. Setiap proses (subsistem/aktifitas) dalam DFD memiliki karakteristik dasar dari sistem yang dibentuknya. e. Sebagaimana sebuah sistem harus memiliki input dan output, setiap proses juga harus memiliki input dan output. f. Data masuk ke dalam sistem dari lingkungan sekitar sistem, data mengalir diantara proses di dalam sistem, dan data dihasilkan sebagai output keluar dari sistem. Secara singkat, DFD memperlihatkan: a. Proses di dalam sistem b. Penyimpanan data (file) yang membantu operasi sistem tersebut c. Informasi yang mengalir dalam sistem d. Batasan sistem e. Interaksi dengan pihak eksternal (External Entity) Peraturan dasar DFD: a. Entitas adalah sumber data input atau penampung data output (Originator or terminator) b. Data mengalir dari entitas harus mengalir pada proses c. Data mengalir pada entitas harus mengalir dari proses d. Proses dan penyimpanan data harus memiliki baik input maupun output (Apa yang masuk harus bisa keluar) e. Input pada penyimpanan data hanya berasal dari proses f. Output dari penyimpanan data hanya menuju proses
24
Notasi DFD: a. Proses, mengubah atau memanipulasi data. Setiap kotak memiliki nomer unik sebagai pengidentifikasi dan nama yang unik pula. b. Data
flow, menggambarkan data/informasi yang mengalir menuju atau dari
sebuah proses. Setiap data flow harus memiliki nama. Penggunaan notasi panah bolak-balik harus diperhatikan secara seksama. c. Entitas Eksternal, merupakan entitas yang menberikan kontribusi data atau inforamsi pada sistem atau yang menerima data/inforamsi dari sistem tersebut. d. Data Storage (Penyimpanan data), merupakan tempat dimana data disimpan secara sementara atau permanen. DFD terdiri atas satu set grafik, yaitu: a. DFD tingkat 0, yang disebut juga dengan model sistem fundamentasi atau model kontext (Diagram Kontext), merepresentasikan seluruh elemen sistem sebagai sebuah buble tunggal dengan data input dan output yang ditunjukan oleh anak panah. [roger pressman, 2002, P.365] b. Decomposition Diagram, alat untuk menggambarkan dekomposisis (pemecahan) dari system. Memiliki bentuk seperti hierarki organisasi. c. DFD Level 1, DVD Level 2, …, DFD level 1menunjukan rincian dari proses 0 pada Context Diagram (DFD level 0), DFD Level 2 menunjukan salah satu proses pada DFD level 1, dst. Pada DFD level 1 dan seterusnya, mulai muncul notasi penyimpanan data (data storage). Hal ini disebabkan data storage yang perlu didokumentasikan adalah data storage yang relevan bagi sistem
25
terkait. Strategi kunci dari penyusunan DFD level 1 dan seterusnya ini adalah jumlah external entity dan data flow yang terkait dengan external entity tersebut harus memiliki jumlah dan nama yang sama. Batasan Level DFD yang dapat dibuat untuk sebuah system adalah ketika suatu proses sudah tidak dapat di pecah lagi. [Studio Komputer Akuntansi, 2008, P.72] 2.7 Data Base 2.7.1 Pengertian Data Base Basis data (Database) dapat dibayangkan sebagai sebuah lemari arsip yang ditempatkan secara berurutan untuk memudahkan dalam pengambilan kembali data tersebut. Basis data menunjukkan suatu kumpulan data yang dipakai dalam suatu lingkungan perusahaan atau instansi. Penerapan basis data dalam sistem informasi disebut sebagai sistem basis data (database system). Basis data terdiri dari kata basis dan data. Menurut [ Fathansyah, 2001, p.2 ] Basis Data diartikan sebagai gudang atau tempat bersarang dan Data yang berarti representasi fakta dunia nyata yang mewakili suatu objek seperti manusia, hewan, peristiwa, konsep dan sebagainya yang direkam dalam bentuk angka, huruf, simbol, text, gambar, bunyi atau kombinasinya. Jadi dapat disimpulkan bahwa Basis Data merupakan kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudancy) yang tidak perlu, untuk memenuhi berbagai kebutuhan. Atau bisa diartikan sebagai kumpulan file atau arsip yang saling berhubungan yang disimpan dalam media penyimpanan elekronis.
26
Perancangan basis data dibutuhkan agar diperoleh suatu sistem yang sesuai dengan apa yang diinginkan, dimana dapat melalui tahapan berikut : a. Entity Relationship Diagram ERD atau biasa disebut dengan diagram E-R secara grafis menggambarkan isi sebuah database. Diagram ini memiliki dua komponen utama yaitu entity dan relasi. Untuk melambangkan fungsi diatas maka digunakan simbol-simbol yang bisa dilihat pada daftar simbol. b.
Normalisasi Normalisasi merupakan tahapan perancangan dalam membangun basis data
relasional yang tidak secara langsung berkaitan dengan model data tetapi menerapkan sejumlah aturan dan kriteria standar untuk menghasilkan struktur tabel yang normal. Adapun langkah-langkah untuk menghasilkan struktur tabel yang normal diantaranya yaitu : 1) Bentuk Unnormallized Bentuk unnormal adalah bentuk tabel dengan mencantumkan semua field data yang ada. 2) Bentuk Normal Pertama / 1 NF (First Normal Form) Bentuk normal pertama terpenuhi jika sebuah tabel tidak memiliki atribut bernilai banyak (Multivalued Atribute) atau lebih dari satu atribut dengan domain nilai yang sama. 3) Bentuk Normal Kedua / 2 NF (Second Normal Form)
27
Bentuk normal kedua terpenuhi jika pada sebuah tabel semua atribut yang tidak termasuk dalam key primer memiliki ketergantungan fungsional pada key primer secara utuh. 4) Bentuk Normal Ketiga / 3 NF (Third Normal Form) Bentuk normal ketiga terpenuhi jika dan hanya jika semua atribut bukan kunci memiliki dependensi transitif terhadap kunci primer. 5) Boyce-Codd Normal Form (BCNF) Suatu tabel dikatakan berada pada BCNF jika dan hanya jika semua ketergantungan fungsional dengan notasi X→Y, maka X harus merupakan superkey pada tabel tersebut. 6) Bentuk Normal Keempat / 4 NF (Fourth Normal Form) Suatu tabel dikatakan berada pada normal keempat jika tidak mengandung dua atribut atau lebih yang bernilai banyak. 7) Bentuk Normal Kelima / 5 NF (Fifth Normal Form) Bentuk normal kelima berkaitan dengan ketergantungan relasi antar table (join dependency). c.
Relasi Tabel Relasi tabel menunjukkan adanya hubungan diantara sejumlah entitas yang
berasal dari himpunan entitas yang berbeda. Dari adanya relasi tabel tersebut terdapat kardinalitas relasi yang menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Terdapat empat kemungkinan
28
kombinasi kardinalitas yaitu satu ke satu (one to one), satu ke banyak (one to many), banyak ke satu (many to one) dan banyak ke banyak (many to many). 2.7.2 Database Management Sistem (DBMS) Pengelolaan basis data secara fisik tidak dilakukan oleh pemakai secara langsung tetapi ditangani oleh sebuah perangkat lunak atau sistem yang khusus atau spesifik. Sistem ini yang menentukan bagaimana data diorganisasi, disimpan, diubah dan diambil kembali. Disamping itu sistem ini juga menerapkan mekanisme pengaman data, pemakaian data secara bersama, pemaksaan keakuratan atau konsistensi data tersebut. Perangkat lunak yang termasuk DBMS misalnya dBase II +, dBase IV, FoxBase, Rbase, MS-Access dan Borland Paradox atau Borland-Interbase, MS-SQL Server, CA-Open, Oracle, Informix dan Sybase. Sumber dari informasi adalah data. Data merupakan fakta-fakta atau pesanpesan yang belum dievaluasi atau bahan mentah dari informasi yang melalui pengolahan tertentu dibentuk menjadi suatu informasi. Data terbentuk dari karakter – karakter yang dapat berupa alfabet, angka maupun simbol khusus. Data disusun untuk diolah dalam bentuk struktur data, struktur file dan database. Database Management System (DBMS) merupakan perantara bagi pemakai dengan basis data dalam disk. Cara berinteraksi atau berkomunikasi antara pemakai dengan basis data tersebut diatur dalam suatu bahasa khusus yang ditetapkan oleh perusahaan pembuat DBMS. Bahasa itu dapat kita sebut sebagai bahasa basis data yang terdiri atas sejumlah perintah (statement) yang diformulasikan dan dapat
29
diberikan user dan dikenali atau diproses oleh DBMS untuk melakukan suatu aksi atau pekerjaan tertentu. Contoh-contoh bahasa basis data adalah SQL, dBase, QUEL dan sebagainya. Sebuah bahasa basis data biasanya dapat dikelompokkan ke dalam dua bentuk, yaitu : 1.
Data Definition Language (DDL) dan
2.
Data Manipulation Language (DML)
2.8 MySQL 2.8.1 Pengertian MySQL MySQL adalah sebuah server database SQL multiuser dan multi-threaded. SQL sendiri adalah salah satu bahasa database yang paling populer didunia. Implementasi program server database ini adalah program daemon 'mysql' dan beberapa program lain serta beberapa pustaka. MySQL adalah suatu perangkat lunak database relasi (Relational Database Management System atau RDBMS), seperti halnya ORACLE, Postgresql, MS SQL, dan sebagainya. MySQL AB menyebut produknya sebagai database open source terpopuler di dunia. Berdasarkan riset dinyatakan bahwa bahwa di platform Web, dan baik untuk kategori open source maupun umum, MySQL adalah database yang paling banyak dipakai. Menurut perusahaan pengembangnya, MySQL telah terpasang di sekitar 3 juta komputer. Puluhan hingga ratusan ribu situs mengandalkan MySQL bekerja siang malam memompa data bagi para pengunjungnya.
30
MySQL dibuat oleh TcX dan telah dipercaya mengelola sistem dengan 40 buah database berisi 10,000 tabel dan 500 di antaranya memiliki 7 juta baris (kirakira 100 gigabyte data). Database ini dibuat untuk keperluan sistem database yang cepat, handal dan mudah digunakan. Walaupun memiliki kemampuan yang cukup baik, MySQL untuk sistem operasi Unix bersifat freeware, dan terdapat versi shareware untuk sistem operasi windows. Menurut pembuatnya, MySQL disebut seperti "my-ess-que-ell" dan bukan my-sequel. Sebagaimana database sistem yang lain, dalam SQL juga dikenal hierarki server dengan database-database. Tiap-tiap database memiliki tabel-tabel. Tiap-tiap tabel memiliki field-field. Umumnya informasi tersimpan dalam tabel – tabel yang secara logik merupakan struktur 2 dimensi terdiri atas baris dan kolom. Field-field tersebut dapat berupa data seperti int, realm char, date, time dan lainnya. Dalam training ini kita menggunakan MySQL sebgai SQL server karena berbagai kelebihannya. Antara lain; 1. Source MySQL dapat diperoleh dengan mudah dan gratis 2. Sintaksnya lebih mudah dipahami dan tidak rumit 3. Pengaksesan database dapat dilakukan dengan mudah 2.8.2 Keunggulan MySQL a.
MySQL merupakan program yang multi-threaded, sehingga dapat dipasang pada server yang memiliki multi-CPU.
b.
Didukung program-program umum seperti C, C++, Java, Perl, PHP, Python, TCL APIs dls.
31
c.
Bekerja pada berbagai platform. (tersedia berbagai versi untuk berbagai sistem operasi).
d.
Memiliki jenis kolom yang cukup banyak sehingga memudahkan konfigurasi sistem database.
e.
Memiliki sistem sekuriti yang cukup baik dengan verifikasi host.
f.
Mendukung ODBC untuk sistem operasi Microsoft Windows.
g.
Mendukung record yang memiliki kolom dengan panjang tetap atau panjang bervariasi. dan masih banyak keunggulan lainnya
h.
MySQL
merupakan
software
yang
free,
dan
bisa
di
download
di
www.mysql.com. Sedangkan software database lainnya seperti ORACLE merupakan software yang harus di beli. i.
MySQL dan PHP saling terintegrasi. Maksudnya adalah pembuatan database dengan menggunakan sintak PHP dapat di buat. Sedangkan input yang di masukan melalui aplika si web yang menggunakan script server-side seperti PHP dapat langsung dimasukan ke database MySQL yang ada di server dan tentunya web tersebut berada di sebuah web server.
2.9 Hypertext Preprocessor (PHP) 2.9.1 Pengertian PHP PHP adalah singkatan dari "PHP: Hypertext Preprocessor", yang merupakan sebuah bahasa scripting yang terpasang pada HTML. Sebagian besar sintaks mirip dengan bahasa C, Java dan Perl, ditambah beberapa fungsi PHP yang spesifik.
32
Tujuan utama penggunaan bahasa ini adalah untuk memungkinkan perancang web menulis halaman web dinamik dengan cepat. PHP 5 dirilis pada tanggal 13 Juli 2004. PHP 5 dapat digunakan pada hampir semua sistem operasi utama, seperti Linux, varian Unix (mencakup HP-UX, Solaris, dan Openbsd), Microsoft Windows, Mac OS X, RISC O, dan mungkin yang lain. PHP juga mendukung hampir semua server web, seperti Apache, Microsoft Internet Information Server, Personal Web Server, Netscape, dan iPlanet Servers, Oreilly Website Pro Server, Caudium, Xitami, OmniHTTPd dan lain-lain. Sebagian besar server PHP mempunyai modul dan untuk yang mendukung standar CGI maka PHP bekerja sebagai pemroses CGI. PHP memberikan kebebasan untuk memilih sistem operasi dan server web. PHP juga memberi pilihan untuk menggunakan pemrograman biasa atau program berorientasi objek (Objek Oriented Programming/OOP) atau gabungan keduanya. PHP tidak membatasi jumlah HTML yang dihasilkan. Kemampuan PHP meliputi dukungan terhadap gambar, file PDF dan bahkan movie Flash (menggunakan libswf dan Ming) secara on the fly. PHP juga mendukung text, seperti file XHTML dan XML. Salah satu fitur paling penting pada PHP adalah PHP mendukung banyak basis data. Membuat web yang menampilkan basis data bukanlah hal sulit untuk PHP.
33
Sistem database yang didukung oleh PHP 5 adalah : Adabase D Ingres
dBase
Empress
Ovrimos
Inter Base
PostgresSQL
Front Base
SQLite
File Pro
Direct MS-SQL
Solid
Hyperwave
MYSQL
Sybase
IBM DB2
ODBC
Velocis
Infomix
Oracle (OCI17 dan OC18)
Unix dbm
PHP mempunyai ekstensi DBX yang memungkinkan penggunaan basis data dengan ekstensi tersebut. Apalagi PHP mendukung ODBC (Open Database Connection Standard) sehingga dapat menghubungkan PHP ke basis data mana pun yang mendukung standar dunia ini. PHP mendukung komunikasi dengan layanan lain menggunakan protocol seperti LDAP, IMAP, SNMP, NNTP, POP3, HTTP dan COM (pada windows). Kita juga dapat membuka soket jaringan dan berinteraksi dengan protocol lain. PHP mendukung pertukaran data kompleks. Untuk interkoneksi, PHP mendukung perubahan objek Java dan menggunakannya sebagai objek PHP. Penggunaan ekstensi COBRA dapat digunakan untuk mengakses objek jarak jauh. PHP mempunyai fitur text processing yang sangat bermanfaat, dari POSIX Extended dan Pert Regular Expression untuk mem-parsing dokumen HTML. Untuk mem-parsing dan mengakses dokumen XML, PHP 4 mendukung standard SAXOFON dan DOM. Untuk mengubah dokumen XSLT, dapat juga menggunakan ekstensi XSLT. Pada PHP 5 menstandarisasi semua ekstensi XML menjadi libxml2
34
yang tangguh dan memperluas fitur dengan menambahkan SimpleXML dan mendukung XMLREADER. Penggunaan PHP dalam bidang e-commerce meliputi pembayaran cybercash, Cybermut, Verisign Payflow Pro dan fungsi MCVE yang bermanfaat untuk program pembayaran secara online. Fitur-fitur lain yang mendukung PHP 5 adalah fungsi mesin pencari mnoGoSearch, fungsi Gateway IRC, utilitas pemadat (gzip, bz2), konversi penanggalan, terjemahan dan lain-lain. 2.9.2 Kelebihan PHP Ketika e-commerce semakin berkembang, situs-situs yang statispun semakin ditinggalkan, karena dianggap sudah tidak memenuhi keinginan pasar, padahal situs tersebut harus tetap dinamis. Pada saat ini bahasa PERL dan CGI sudah jauh ketinggalan jaman sehingga sebagian besar designer web banyak beralih ke bahasa server-side scripting yang lebih dinamis seperti PHP. Seluruh aplikasi berbasis web dapat dibuat dengan PHP. Namun kekuatan PHP yang paling utama dalah untuk konektifitas database dengan web. Dengan PHP, membuat aplikasi web yang ekoneksi ke database menjadi sangat mudah. Sistem database yang telah didukung oleh PHP saat ini adalah: 1. Oracle Adabas D 2. Sybase FilePro 3. mSQL 1.x dan 2.x Velocis 4. MySQL 5. interface ODBC
35
6. Solid dBase 7. Generic ODBC Unix dbm 8. PostgreSQL PHP juga mendukung komunikasi dengan layanan lain melalui protocol IMAP, SNMP, NNTP, POP3, atau bahkan HTTP. PHP merupakan software yang open source yang dapat anda download secara gratis dari situs resminya yaitu http://www.php.net, ataupun dari situs-situs yang menyediakan software tersebut seperti di ftp://gerbang.che.itb.ac.id. Software ini juga dapat berjalan pada web server seperti PWS (Personal Web Server), Apache, IIS, AOLServer, fhttpd, phttpd dan sebagainya. PHP juga merupakan bahasa pemograman yang dapat kita kembangkan sendiri seperti untuk menambah fungsi-fungsi baru. Keunggulan lainnya dari PHP adalah bahwa PHP juga mendukung komunikasi dengan layanan seperti protocol IMAP, SNMP, NNTP, POP3 dan bahkan HTTP. PHP dapat diinstal sebagai bagian atau modul dari apache web server atau sebagai CGI script yang mandiri. Banyak keuntungan yang dapat diperoleh jika menggunakan PHP sebagai modul dari apache, di antaranya adalah : a. Tingkat keamanan yang cukup tinggi. b. Waktu eksekusi yang lebih cepat dibandingkan dengan bahasa pemograman web lainnya yang berorientasi pada server-side scripting. c. Akses ke system database yang lebih fleksibel. seperti MySQL.
36
Dalam modul ini kita akan mempelajari PHP sebagai server-side scripting yang menggunakan apache sebagai webserver. Versi PHP yang kita gunakan adalah PHP4 untuk Windows. 2.10
Gammu Gammu adalah nama proyek serta nama dari utilitas baris perintah, yang
dapat Anda gunakan untuk mengontrol telepon Anda. Hal ini ditulis dalam C dan dibangun di atas libGammu. Gammu utilitas baris perintah menyediakan akses ke berbagai fitur telepon, namun tingkat dukungan berbeda dari ponsel ke ponsel dan Anda mungkin ingin memeriksa database. Telepon Gammu untuk pengalaman pengguna dengan berbagai ponsel. Umumnya fitur berikut ini didukung: 1.
Daftar panggilan, memulai dan penanganan
2.
SMS pengambilan, backup dan mengirim
3.
MMS pengambilan
4.
Daftar buku telepon, ekspor dan impor (juga dari format standar seperti vCard)
5.
Kalender dan daftar tugas, ekspor dan impor (juga dari format standar seperti Calendar atau iCalendar)
6.
Pengambilan informasi telepon dan jaringan
7.
Akses ke sistem telepon file (catatan bahwa beberapa ponsel bekerja juga sebagai perangkat penyimpanan USB dan mereka yang tidak dapat diakses melalui Gammu)
37
Proyek ini telah bercabang dari Gnokii awalnya dan sampai ke versi 0,58 telah bernama MyGnokii2. MyGnokii2 Kemudian kebutuhan untuk uk nama yang lebih baik tiba dan Gammu dipilih sebagai singkatan untuk Gammu Semua Utilitas Manajemen Mobile,, tanpa mengetahui bahwa Gammu dari "Bidat Dune"" buku yang ditulis oleh Frank Herbert ada. Gammu tidak termasuk hanya biner ini, tetapi juga Gammu SMS Daemon , Gammu perpustakaan erpustakaan dan Python bindings yang dapat Anda gunakan untuk mengembangkan aplikasi sendiri mengakses ponsel. 2.11
Metode Pengembangan Dalam pembuatan sistem ini akan digunak digunakan an metode pengembagan perangkat
lunak yaitu Prototyping (lihat Gambar 2.1) yang dimulai dengan gan komunikasi antara ahli software dan pelanggan bertemu dan mendefinisikan keseluruhan objek untuk software, mengenali apa saja kebutuhan, dan menggaris bawahi lebih jauh yang merupakan ketentuan-ketentuan. ketentuan (Pressman, 2005).
38
Gambar 2.1 Model Prototyping (Pressman, 1997) Proses model prototyping ini adalah : a). Pengumpulan kebutuhan : Developer dan klien bertemu dan menentukan tujuan umum, kebutuhan yangh diketahui dan gambar bagian-bagian yang akan dibutuhkan berikutnya. b). Perancangan : Perancangan dilakukan cepat dan ranvcangan mewakili semua aspek software yang diketahui, dan rancangan ini menjadi dasar pembuatan prototype. c). Evaluasi Prototype : Klien mengevaluasi protype yang dibuat dan digunakan untuk memperjelas kebutuhan software. 2.12 Pengujian Perangkat Lunak 1. System Testing Pengujian terhadap integrasi sub-system, yaitu keterhubungan antar sub-system 2. Acceptance Testing a. Pengujian terakhir sebelum sistem dipakai oleh user. b. Melibatkan pengujian dengan data dari pengguna sistem. c. Biasa dikenal sebagai “alpha test” (“beta test” untuk software komersial, dimana pengujian dilakukan oleh potensial customer) 2. Proses Testing
39
Gambar 2.2 Proses Testing a. Component testing 1. Pengujian komponen-komponen program 2. Biasanya dilakukan oleh component developer (kecuali untuk system kritis) a. Integration testing 1). Pengujian kelompok komponen-komponen yang terintegrasi untuk membentuk sub-system ataupun system 2). Dialakukan oleh tim penguji yang independent. 3). Pengujian berdasarkan spesifikasi sistem b. Rencana Pengujian Proses testing 1. Deskripsi fase-fase utama dalam pengujian Pelacakan Kebutuhan 2. Semua kebutuhan user diuji secara individu item yg diuji 3. Menspesifikasi komponen sistem yang diuji c. Jadual Testing Prosedur Pencatatan Hasil dan Prosedur Kebutuhan akan Hardware dan Software Kendala-kendala
40
Mis: kekuranga staff, alat, waktu dll. 2. Pengujian Black Box (Black-box testing) a. Pendekatan pengujian dimana program dianggap sebagai suatu ‘black-box’ (‘kotak hitam’) b. Program test case berbasis spesifikasi c. Test planning dapat dimulai sejak awal proses pengembangan sisitem d. Pengujian black box berusaha menemukan kesalahan dalam kategori (lihat Gambar 2.3) : 1. Fungsi-fungsi yang tidak benar atau hilang 2. Kesalahan interface 3. Kesalahan dalam struktur data atau akses database eksternal 4. Kesalahan kinerja 5. Inisialisasi dan kesalahan terminasi (Pressman, 2002:551)
Gambar 2.3 Pengujian Black Box