BAB II LANDASAN TEORI 2.1. Perangkat Lunak Dalam arti sempit, perangkat lunak adalah program yang dijalankan di suatu pemroses. Perangkat lunak merupakan produk yang seharusnya dirancang dan dibangun lewat aktivitas-aktivitas rekayasa perangkat lunak yang berdisiplin dan sistematis. Perangkat lunak dalam arti lebih luas terdiri dari program-program yang dieksekusi komputer dalam beraneka ukuran dan beraneka ragam arsitektur, dokumen-dokumen berupa hard copy dan bentuk-bentuk maya dan data berupa angka-angka dan teks serta representasi informasi gambar, video dan audio. 2.1.1. Kategori perangkat lunak Menurut Ian Sommervile Kategori produk-prduk perangkat lunak adalah sebagai berikut : a. Produk Generik b. Produk-produk yang disesuaikan Menurut Presman : Perangkat lunak dibagi menjadi : a.
Perangkat lunak sistem, kumpulan program untuk melayani program lain contoh : sistem operasi, kompilator editor, utilitas-utilitas pengelolaan file, device driver, pemroses telekomunikasi.
b.
Perangkat lunak waktu nyata, perangkat lunak yang memonitor / menganalisis / mengendalikan kejadian-kejasian dunia nyata disaat terjadi.
10
c.
Perangkat lunak rekayasa dan sains : astronomi, vulkanologi, biologi molekul, manufaktur, CAD, simulasi sistem dan sebagainya. Perangkat lunak tempelan (embedded software), produk-produk intelejen. Perangkat lunak embedded berada di ROM dan digunakan untuk mengendalikan produk-produk dan sistem-sistem untuk pasar konsumer dan industri
d.
Perangkat lunak berbasis web, halaman-halaman web diambil oleh browser adalah perangkat lunak yang berisi instruksi yang dapat di eksekusi (CGI, HTML, Perl atau Java) dan data (seperti hypertext dan beragam format visual dan audio), jaringan menjadi komputer massif yang menyediakan sumber daya perangkat lunak hamper tidak terbatas yang dapat diakses oleh siapapun melalui modem.
e.
Perangkat
lunak
menggunakan
intelegensia
buatan,
algoritma-algoritma
perangkat non-numerik
lunak
AI
untuk
menyelesaikan persoalan-persoalan kompleks yang sulit dilakukan analisis secara komputasi atau sederhana. ( Rekayasa Perangkat Lunak, Bambang Haryanto. Hal 3-4) 2.2. Pemodelan Sistem Berbasis Objek Rekasaya sistem adalah sebuah proses pemodelan. Tujuan dari rekayasa sistem adalah untuk menentukan arsitektur yang memungkinkan suatu bisnis menggunakan informasi secara efektif. Rekayasa Informasi juga bekerja untuk membuat suatu rencana menyeluruh guna mengimplementasikan arsitektur-
11
arsitektur tersebut. Ada tiga arsitektur berbeda yang harus dianalisis dan dirancang didalam tujuan bisnis : a.
arsitektur data : memberikan kerangka kerja untuk kebutuhan informasi dari bisnis atau fungsi bisnis.
b.
arsitektur aplikasi : melingkupi elemen-elemen dari suatu sistem yang mentrasfrmasi objek ke dalam arsitektur data untuk keperluan bisnis.
c.
infranstuktur teknologi : menjadi dasar bagi data dan arsitektur aplikasi. [Roger S Pressman, 2002 : 281-282] RUP ( Rational Unified Process)
menggunakan konsep Object Oriented
dengan aktifitas yang berfokus pada pengembangan model dengan menggunakan UML (Unified Model Language). [Ahmad Musnansyah, 2007 : 115] a.
Activity Diagram Tujuan
1. Memahami peran yang diberikan dari activity diagram 2. Dapat memahami notasi-notasi yang digunakan dalam activity diagram 3. Dapat menerapkan activity diagram sesuai studi kasus masing-masing
Pendahuluan 1. Use case memperlihatkan apa yang seharusnya dikerjakan sistem. 2. Activity Diagram memungkinkan Anda untuk menspesifikasi bagaimana sistem Anda akan mencapai tujuannya.
12
3. Activity diagram memperlihatkan tindakantindakan level tinggi yang terikat satu sama lain untuk menyatakan sebuah proses yang teradi dalam sistem Anda. 4. Activity diagram merupakan satu-satunya diagram UML dalam 4+1 Process view. 5. Activity diagram paling cocok untuk pemodelan proses bisnis. 6. Sebuah proses bisnis adalah sekumpulan tugas-tugas terkoordinasi untuk mencapai sasaran bisnis. 7. Beberapa tool manajemen proses bisnis memungkinkan Anda untuk mendefinisikan proses-proses bisnis menggunakan activity diagram, dan kemudian menjalankannya.
simbol – simbol yang akan dipakai dalam activity diagram ini adalah sebagai berikut : 1) Activity Activity menggambarkan sebuah pekerjaan/tugas dalam workflow. Pada UML, activity digambarkan dengan simbol “lozenge” (horizontal top and bottom with convex sides).
Gambar 2.1 symbol Notasi Activity
13
2) Start State Start state dengan tegas menunjukkan dimulainya suatu workflow pada sebuah activity diagram. Hanya ada satu start state dalam sebuah workflow. Pada UML, start state digambarkan dengan simbol lingkaran yang solid.
Gambar 2.2 Symbol Notasi Start State 3) End State End state menggambarkan akhir atau terminal dari sebuah activity diagram. Bisa terdapat lebih dari satu end state pada sebuah activity diagram. Pada UML, end state digambarkan dengan simbol bull’s eye.
Gambar 2.3 Symbol Notasi End State 4) State Transitions State transition menunjukkan kegiatan apa berikutnya setelah suatu kegiatan sebelumnya. Pada UML, state transition digambarkan oleh sebuah solid line dengan panah.
Gambar 2.4 Symbol Notasi State Transition 5) Decisions
14
Decision adalah suatu titik/point pada activity diagram yang mengindikasikan suatu kondisi dimana ada kemungkinan perbedaan transisi. Pada UML, decision digambarkan dengan sebuah simbol diamond.
Gambar 2.5 Symbol Notasi Decision [Martin Flower, 2005 : 56-58]
b. Use Case Use case adalah gambaran fungsionalitas dari suatu sistem, sehingga customer atau pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan dibangun. Use case diagram dapat digunakan selama proses analisis untuk menangkap requirements sistem dan untuk memahami bagaimana sistem seharusnya bekerja. Selama tahap desain, use case diagram berperan untuk menetapkan perilaku (behavior) sistem saat diimplementasikan. Dalam sebuah model mungkin terdapat satu atau beberapa use case diagram. Kebutuhan atau requirements sistem adalah fungsionalitas apa yang harus disediakan oleh sistem kemudian didokumentasikan pada model use case yang menggambarkan fungsi sistem yang diharapkan (use case), dan yang mengelilinginya (actor), serta hubungan antara actor dengan use case (use case diagram) itu sendiri. Adapun simbol-simbol dari Use Case, sebagai berikut:
15
1.
Actor Actor menggambarkan segala pengguna software aplikasi (user). Actor
memberikan suatu gambaran jelas tentang apa yang harus dikerjakan software aplikasi. Sebagai contoh sebuah actor dapat memberikan input kedalam dan menerima informasi dari software aplikasi, perlu dicatat bahwa sebuah actor berinteraksi dengan usecase, tetapi tidak memiliki kontrol atas usecase. Sebuah actor mungkin seorang manusia, satu device, hardware atau sistem informasi lainnya.
Gambar 2.6 Symbol Notasi Actor
2.
Usecase Usecase menjelaskan urutan kegiatan yang dilakukan actor dan sistem untuk
mencapai suatu tujuan tertentu. Walaupun menjelesakan kegiatan, namun usecase hanya menjelaskan apa yang dilakukan oleh actor dan sistem bukan bagaimana actor dan sistem melakukan kegiatan tersebut.
Gambar 2.7 Symbol Notasi Use Case
16
3.
Interaction Interaction digunakan untuk menunjukkan baik aliran pesan atau informasi
antar objek maupun hubungan antar objek. Biasanya interaction ini dilengkapi juga dengan teks bernama operation signature yang tersusun dari nama operasi, parameter yang dikirim dan tipe parameter yang dikembalikan.
Gambar 2.8 Symbol Notasi Interaction
[Martin Flower, 2005 : 100-102] 4.
Association Association menggambarkan navigasi antar class (navigation), berapa banyak objek yang bisa berhubungan dengan satu objek (multiplicity antar class) dan apakah suatu class menjadi bagian dari class lainnya (aggregation).
Gambar 2. 9 Symbol Notasi Association
5.
Include Hubungan include menggambarkan suatu usecase seluruhnya meliputi
kegunaan usecase lainnya. Sebuah usecase dapat meng-include fungsionalitas
17
usecase lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa usecase yang di-include secara normal. Sebuah usecase dapat di-include oleh lebih dari usecase lain, sehingga duplikasi fungsionalitas dapat dihindari.
<
>
MemberikanGambar resep obat 2. 10 Symbol Notasimengambil Include obat
6.
Extend Hubungan extend antar usecase berarti bahwa suatu usecase merupakan
tambahan kegunaan dari usecase yang lain jika kondisi atau syarat tertentu dipenuhi. Jika prosedur dari usecase merupakan alternative untuk menjelaskan usecase lain. Usecase akan dikerjakan apabila salah satu syarat terpenuhi.
<<extend>>
Gambar 2. 11 Symbol Notasi Extends
Pemeriksaan Kesehatan
Tes laboratorium
2.3. Short Message Service (SMS) 2.3.1. Definisi Short Message Service SMS singkatan dari Short Message Service. Ini adalah teknologi yang memungkinkan pengiriman dan penerimaan pesan antara ponsel. SMS pertama kali muncul di Eropa pada tahun 1992. Itu termasuk dalam GSM (Global System for Mobile Communications) standar tepat di awal. Kemudian ia porting ke teknologi nirkabel seperti CDMA dan TDMA. Standar GSM dan SMS pada awalnya dikembangkan oleh ETSI. ETSI adalah singkatan dari European
18
Telecommunications Standards Institute. Sekarang 3GPP (Third Generation Partnership Project) bertanggung jawab untuk pengembangan dan pemeliharaan standar GSM dan SMS. Seperti yang diusulkan dengan nama "Short Message Service", data yang dapat dimiliki oleh pesan SMS sangat terbatas. Satu pesan SMS dapat berisi paling banyak 140 bytes (1120 bit) dari data, maka satu pesan SMS dapat berisi sampai:
160 karakter, jika 7-bit character encoding digunakan. (7-bit character encoding cocok untuk pengkodean karakter Latin seperti alfabet Inggris.)
70 karakter jika 16-bit Unicode character encoding UCS2 digunakan. (Pesan teks SMS berisi karakter non-Latin seperti karakter Cina harus menggunakan pengkodean karakter 16-bit.)
pesan teks SMS mendukung berbagai bahasa internasional. Ia bekerja baik dengan semua bahasa yang didukung oleh Unicode, termasuk bahasa Arab, Cina, Jepang dan Korea. Selain teks, pesan SMS juga dapat membawa data biner. Hal ini dimungkinkan untuk mengirim nada dering, gambar, logo operator, wallpaper, animasi, kartu bisnis (misalnya vCards) dan konfigurasi WAP ke telepon selular dengan pesan SMS. Salah satu keunggulan utama dari SMS adalah bahwa SMS didukung oleh 100% ponsel GSM dan CDMA. Hampir semua rencana berlangganan yang disediakan oleh operator nirkabel termasuk layanan pesan SMS murah. Tidak
19
seperti SMS, teknologi mobile seperti WAP dan Java mobile tidak didukung pada model telepon lama. 2.4. SMS Gateway 2.4.1. Definisi SMS Gateway Salah satu masalah pesan SMS adalah SMSC dikembangkan oleh perusahaan yang berbeda menggunakan protokol komunikasi mereka sendiri dan kebanyakan dari protokol ini adalah proprietary. Sebagai contoh, Nokia memiliki protokol SMSC disebut CIMD sedangkan vendor lain SMSC, CMG, memiliki protokol SMSC disebut EMI. Kita tidak dapat menghubungkan dua SMSC jika mereka tidak mendukung protokol SMSC umum. Untuk mengatasi masalah ini, sebuah gateway SMS ditempatkan di antara dua SMSC. Ini diilustrasikan dalam gambar berikut. SMS gateway bertindak sebagai relay antara dua SMSC. Ini menerjemahkan satu SMSC protokol satu sama lain. Dengan cara ini dapat digunakan oleh dua operator selular yang berbeda untuk interkoneksi SMSC mereka untuk tujuan seperti memungkinkan pertukaran pesan antar-operator SMS.
Gambar 2.13. Sebuah gateway SMS bertindak sebagai perantara antara dua pusat SMS .
Selain itu operator selular, penyedia konten dan pengembang aplikasi SMS juga
dapat
menemukan
sebuah
gateway
SMS
berguna.
Mari
kita
20
mempertimbangkan situasi berikut. Misalnya anda adalah pengembang aplikasi pesan teks SMS. Untuk mengirim dan menerima pesan teks SMS pada server Anda, salah satu cara untuk terhubung ke SMSC dari operator nirkabel. Operator selular yang berbeda mungkin menggunakan SMSC dari vendor yang berbeda, yang berarti Anda pesan teks SMS aplikasi mungkin perlu untuk mendukung protokol multiple SMSC-spesifik. (ini diilustrasikan dalam gambar berikut). Sebagai hasilnya, pesan teks SMS kompleksitas aplikasi dan meningkatkan perkembangan waktu.
Gambar 2.14 Sebuah aplikasi pesan teks SMS terhubung ke SMSC tanpa gateway SMS . Untuk mengatasi masalah di atas, sebuah gateway SMS dapat diatur untuk menangani koneksi ke SMSC. Sekarang aplikasi pesan teks SMS hanya perlu tahu bagaimana terhubung ke gateway SMS. Untuk mendukung SMSC lebih, Anda hanya perlu memodifikasi setting dari gateway SMS. Tidak ada perubahan ke kode sumber dari aplikasi pesan teks SMS diperlukan. Penggunaan sebuah gateway SMS sangat dapat mempersingkat waktu pengembangan aplikasi pesan teks SMS itu.
21
Untuk terhubung ke sebuah gateway SMS, Anda dapat menggunakan protokol SMSC seperti SMPP dan CIMD. Beberapa gateway SMS dukungan HTTP / HTTPS antarmuka. HTTP / HTTPS lebih mudah digunakan daripada protokol SMSC. Kekurangannya adalah bahwa mungkin ada lebih sedikit fitur SMS digunakan. Sebagai contoh, sebuah gateway SMS mungkin tidak mendukung pengiriman pesan gambar melalui antarmuka / HTTP HTTPS.
Gambar 2.15. Sebuah aplikasi pesan teks SMS terhubung ke SMSC melalui SMS gateway . Selain menggunakan koneksi langsung ke SMSC dari operator nirkabel, cara lain untuk mengirim dan menerima pesan teks SMS pada komputer adalah dengan menggunakan ponsel atau modem GSM / GPRS. Untuk melakukan ini, Anda pesan teks SMS aplikasi harus tahu bagaimana berkomunikasi dengan ponsel atau GSM / GPRS modem dengan menggunakan perintah AT. Beberapa gateway SMS yang mampu menangani koneksi ke ponsel dan GSM / GPRS modem. Untuk mengirim dan menerima pesan teks SMS dengan ponsel atau modem GSM / GPRS, aplikasi pesan teks SMS hanya perlu tahu bagaimana berbicara ke gateway SMS dan tidak perlu tahu apa-apa tentang perintah AT. Rincian lebih lanjut tentang GSM / GPRS dan perintah modem AT
22
akan diberikan dalam bagian selanjutnya dari tutorial SMS.
Gambar 2.16. Sebuah aplikasi pesan teks SMS menghubungkan ke kolam ponsel atau GSM / GPRS modem melalui SMS gateway. 2.5. Gammu 2.5.1. Definisi Gammu Gammu adalah nama sebuah project yang ditujukan untuk membangun aplikasi, script dan drivers yang dapat digunakan untuk semua fungsi yang memungkinkan pada telepon seluler atau alat sejenisnya. Sekarang gammu telah menyediakan codebase yang stabil dan mapan untuk berbagai macam model telepon seluler dan modem yang tersedia di pasaran dibandingkan dengan project sejenis. Gammu merupakan project yang berlisensi GNU GPL 2 sehingga menjamin kebebasan menggunakan tool ini tanpa perlu takut dengan masaah legalitas dan biaya yang mahal yang harus dikeluarkan. Gammu mendukung berbagai macam model telepon seluler dengan berbagai jenis koneksi dan type. (www.gammu.org). 2.5.2. Mekanisme Kerja Gammu Ada dua mekanisme kerja dari Gammu yaitu sebagai Aplikasi dan Sebagai Deamon. Gammu sebagai Aplikasi akan bekerja ketika perintah Gammu di
23
jalankan pada lingkungan shell beserta perintahnya di sertakan sesuai fungsi yang di inginkan. Sedangkan sebagai deamon gammu di tandai dengan di jalankannya perintah smsd pada shell. Smsd bukan lah perintah yang langsung terinstal melainkan perintah yang di jalankan pada shell atau MS-Dos Prompt.
Gambar 2.17. Mekanisme kerja Gammu 2.5.3. Dukungan Gammu Terhadap Perangkat Keras Pada dasarnya gammu mampu didukung oleh hampir sebagian besar handphone dan modem yang ada di pasaran, namun ada beberapa spesifikasi handphone yang tidak dapat didukung sepenuhnya oleh gammu, hal ini karena pada gammu tidak mendukung semua jenis koneksi yang terdapat pada handphone tersebut. Berikut ini merupakan beberapa jenis handphone dan modem yang di dukung maupun tidak mendukung fitur-fitur yang di miliki oleh gammu.
24
Tabel 2.1. Merk, Type, dan Nilai koneksi beberapa device yang support oleh Gammu Untuk list lengkap device yang didukung oleh gammu dapat dilihat di situs http://wammu.eu/phones/. 2.6. Hypertext Markup Language (HTML) 2.6.1. Sejarah HTML Hypertext Markup Language (HTML) adalah bahasa yang digunakan untuk menulis halaman web. HTML merupakan pengembangan dari standar pemformatan dokumen teks yaitu Standard Generalized Markup Language (SGML). HTML sebenarnya adalah dokumen ASCII atau teks biasa, yang dirancang untuk tidak tergantung pada suatu sistem operasi tertentu.
25
HTML dibuat oleh Tim Berners-Lee ketika masih bekerja untuk CERN dan dipopulerkan pertama kali oleh browser Mosaic. Selama awal tahun 1990 HTML mengalami perkembangan yang sangat pesat. Setiap pengembangan HTML pasti akan menambahkan kemampuan dan fasilitas yang lebih baik dari versi sebelumnya. Namun perkembangan resmi dikeluarkan pada bulan November 1995 oleh IETF (Internet Engineering Task Force). HTML 2.0 ini merupakan penyempurnaan dari HTML+ (1993). HTML 3.0 (1995) memberikan kemampuan lebih daripada versi sebelumnya. Sebuah usaha dari World Wide Web Consortium’s (W3C) HTML Working Group pada tahun 1996 menghasilkan HTML 3.2. HTML versi ini secara resmi diterbitkan pada bulan Januari 1997. HTML versi terbaru adalah HTML 4.01 yang dikeluarkan secara resmi oleh W3C pada tanggal 24 April 1998. HTML merupakan perbaikan dari HTML 4.0 yang lebih dulu diterbitkan. (18 Desember 1997). Hypertext Markup Language adalah bahasa pemrograman yang digunakan untuk membuat sebuah halaman web. Kode-kode ini menerjemahkan bagaimana tampilan sebuah halaman web (pengaturan huruf, animasi, letak gambar, dsb.). Dalam sebuah halaman web, pasti akan ada banyak elemen, contoh dari elemen adalah : bagian atas (head), tabel, paragraf, dan daftar/list. Untuk menandakan elemen-elemen tersebut dalam sebuah file HTML, digunakanlah tag. 2.6.2. Perkembangan HTML Sebelum suatu HTML disahkan sebagai suatu dokumen HTML standar, ia harus disetujui dulu oleh W3C untuk dievaluasi secara ketat. Setiap terjadi
26
perkembangan suatu versi HTML, maka mau tak mau browser pun harus memperbaiki diri agar bisa mendukung kode-kode HTML yang baru tersebut. Sebab jika tidak, browser tak akan bisa menampilkan HTML tersebut.
HTML versi 1.0
Kemampuan yang dimiliki versi 1.0 ini antara lain heading, paragraph, hypertext, list, serta cetak tebal dan miring pada teks. Versi ini juga mendukung peletakan image pada dokumennya tanpa memperbolehkan meletakkan teks disekelilingnya (wrapping).
HTML versi 2.0
Pada versi ini, penambahan kualitas HTML terletak pada kemampuannya untuk menampilkan suatu form pada dokumen. Dengan adanya form ini, maka kita dapat memasukkan nama, alamat, serta saran/kritik. HTML versi 2.0 ini merupakan pionir dari adanya homepage interaktif.
HTML versi 3.0
HTML versi 3.0 menambahkan beberapa fasilitas baru seperti table. Versi ini yang disebut juga sebagai HTML+ tidak bertahan lama dan segera digantikan HTML versi 3.2
HTML versi 4.0
HTML versi 4 ini merupakan HTML versi terakhir pada saat sumber ini diambil. HTML ini memuat banyak sekali perubahan dan revisi dari pendahulunya. Perubahan ini terjadi di hampir segala perintah-perintah HTML seperti table, image, link, text, meta, imagemaps, form, dan lain- lain.
27
HTML versi 5.0 (masih dalam pengembangan)
HTML versi 5.0 ini masih dikerjakan/dikembangkan mulai 4 Maret 2010 kemaren oleh W3C(World Wide Web Consortium),W3C sendiri adalah sebuah Organisasi yang menangani pengembangan web standar. 2.7. PHP(HyperText Processor) PHP adalah bahasa skrip yang dijalankan di sisi server. Keuntungan pengggunaan PHP adalah kode yang menyusun program tidak perlu dibagikan ke pemakai, yang berarti bahwa kerahasiaan kode dapat terlindungi. PHP dapat digunakan untuk mengakses berbagai macam database, seperti Acces, Oracle, MySQL, dan lain-lain. 2.7.1. Sejarah PHP Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama Form Interpreted (FI), yang wujudnya berupa sekumpulan skrip yang digunakan untuk mengolah data formulir dari web. Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi sumber terbuka, maka banyak pemrogram yang tertarik untuk ikut mengembangkan PHP. Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini, interpreter PHP sudah diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan. Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada
28
Juni 1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP dirubah menjadi akronim berulang PHP: Hypertext Preprocessing. Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi. Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek. 2.8. CodeIgniter 2.8.1. Definisi Code Igniter Codeigniter adalah sebuah aplikasi open source yang merupakan sebuah framework untuk membangun sebuah aplikasi website dinamis menggunakan PHP yang dapat digunakan dengan cepat dan mudah tanpa harus membangun apilkasi PHP dari awal. Tujuannya adalah untuk memungkinkan Anda untuk mengembangkan proyek-proyek lebih cepat dari yang Anda bisa jika Anda sedang menulis kode dari awal, dengan menyediakan satu set kaya perpustakaan untuk tugas yang biasa diperlukan, serta antarmuka yang sederhana dan struktur logis untuk mengakses perpustakaan. CodeIgniter memungkinkan Anda kreatif fokus pada proyek Anda
29
dengan meminimalkan jumlah kode yang dibutuhkan untuk suatu tugas yang diberikan. 2.8.2. Kelebihan CodeIgniter Kelebihan dari codeigniter dari framework lainnya adalah : 1.
Mendukung PHP4 dan PHP 5
2.
Dolumentasi yang sangat lengkap
3.
mudah untuk dipelajari
4.
Performa yang cepat,
5. Menggunakan MVC (Model View Controller) yang membedakan antara logika, tampilan.
2.9. Database 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 : 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, teks, gambar, bunyi atau kombinasinya.
30
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. Perancangan basis data dibutuhkan agar diperoleh suatu sistem yang sesuai dengan apa yang diinginkan, dimana dapat melalui tahapan berikut : a. Class Diagram Class adalah blok - blok pembangun pada pemrograman berorientasi obyek. Sebuah class digambarkan sebagai sebuah kotak yang terbagi atas 3 bagian. Bagian atas adalah bagian nama dari class. Bagian tengah mendefinisikan property/atribut class. Bagian akhir mendefinisikan method-method dari sebuah class. Adapun notasi-notasi yang digunakan untuk menghubungkan class yaitu : 1. 2. 3. 4. 1.
Assosiation Dependency Aggregate Generalization
Association Sebuah asosiasi merupakan sebuah relationship paling umum antara 2 class,
da dilambangkan oleh sebuah garis yang menghubungkan antara 2 class. Garis ini bisa melambangkan tipe-tipe relationship dan juga dapat menampilkan hukumhukum multiplisitas pada sebuah relationship (Contoh: One-to-one, one-to-many, many-to-many). a)
Relasi antara 2 elemen dimana keduanya punya posisi yang sama, tidak ada yang lebih penting diantara keduanya. Contoh : Asosiasi antara penjual dan pembeli
31
b) Bidirectional Ascociation Asosiasi antara 2 elemen dimana elemen pertama bertanggungjawab menentukan elemen yang lainnya. c)
Unidirectional Ascociation 1) Asosiasi dimana kelas asal bertanggung jawab terhadap spesifikasi member dari kelas tujuan 2) Unidirectional ascociation -> kelas asal yg tahu asosiasi ini sedangkan kelas tujuan tidak perlu tahu 3) Contoh kelas reporttransfer ->kelas rekening
d) Class Asscociation Kelas yang berisi informasi tentang asosiasi yang terjadi antara 2 kelas. Notasinya :
Gambar 2.18 Symbol Notasi Hubungan Antar Kelas
2.
Dependency Kadangkala sebuah class menggunakan class yang lain. Hal ini disebut
dependency. Umumnya penggunaan dependency digunakan untuk menunjukkan operasi pada suatu class yang menggunakan class yang lain. Sebuah dependency dilambangkan sebagai sebuah panah bertitik-titik.
Gambar 2.19 Symbol Notasi Dependency
32
a)
Relasi antara 2 elemen dimana definisinya saling tergantung satu dengan yang lainnya sehingga perubahan pada satu elemen akan
b) Menimbulkan perubahan pada elemen yang lain. c)
Sebagai contoh ketika satu kelas menggunakan kelas lain sebagai parameter atau tipe data dari salah satu atributnya.
3.
Aggregate Aggregation mengindikasikan keseluruhan bagian relationship dan biasanya
disebut sebagai relasi “mempunyai sebuah” atau “bagian dari”. Sebuah aggregation digambarkan sebagai sebuah garis dengan sebuah jajaran genjang yang tidak berisi/tidak solid.
Gambar 2.20 Contoh Aggregate 4.
Generalization Sebuah relasi generalization sepadan dengan sebuah relasi inheritance pada
konsep berorientasi obyek. Sebuah generalization dilambangkan dengan sebuah panah dengan kepala panah yang tidak solid yang mengarah ke kelas “parent”nya/induknya.
33
Gambar 2.21 generalization
Gambar 2.22 contoh class diagram
b.
Multiplicity Multiplicity atau multiplisitas adalah jumlah banyaknya obyek sebuah class
yang berelasi dengan sebuah obyek lain pada class lain yang berasosiasi dengan class tersebut. Untuk menyatakan multiplisitas anda dapat meletakkannya diatas garis asosiasi berdekatan dengan class yang sesuai. Ada banyak multiplisitas yang mungkin untuk dipakai. Tabel berikut menjabarkan multiplisitas yang dapat digunakan.
34
tabel Nilai multiplisitas Potencial Multiplicity Values Indicator Meaning 0...1 Zero or one 1 Only zero 0...* Zero or more 1...* One or more N Only n (dimana n > 1) 0...n Zero to n (dimana n>1) 1....n One to n (where n>1) Tabel 2.2. Nilai multiplisitas
Gambar2.23 Asosiasi Dengan Multiplisitas
2.1.1
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, MSSQL Server, CA-Open, Oracle, Informix dan Sybase.
35
Sumber dari informasi adalah data. Data merupakan fakta-fakta atau pesan-pesan 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 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 : a. Data Definition Language (DDL) dan b. Data Manipulation Language (DML) 2.10. MySQL 2.10.1. Sejarah MySQL MySQL dikembangkan sekitar tahun 1994 oleh sebuah perusahaan pengembang software dan konsultan database bernama MYSQL AB yang berada di Swedia. Waktu itu perusahaan tersebut masih bernama TcX DataKonsult AB,
36
dan tujuan awal dikembangkannya MySQL adalah untuk mengembangkan aplikasi berbasis web pada client. Awalnya Michael "Monty" Widenius, pengembang satu-satunya di TcX memiliki sebuah aplikasi UNIREG dan rutin ISAM buatannya sendiri dan sedang mencari antarmuka SQL yang cocok untuk diimplementasikan ke dalamnya. Mula-mula Monty memakai miniSQL (mSQL) pada eksperimennya itu, namun SQL dirasa kurang sesuai, karena terlalu lambat dalam pemrosesan query. Akhirnya Monty menghubungi David Hughes, pembuat mSQL yang sedang merilis versi kedua dari mSQL. Kemudian Monty mencoba membuat sendiri mesin SQL yang memiliki antarmuka mirip dengan SQL, tetapi dengan kemampuan yang lebih sesuai sehingga lahirlah MySQL. Tentang pengambilan nama MySQL, sampai saat ini masih belum jelas asal usulnya. Ada yang berpendapat nama My diambil dari huruf depan dan belakang Monty, tetapi versi lain mengatakan nama itu diambil dari putri Monty yang kebetulan juga bernama My. 2.10.2. Ketentuan penulisan Syntaks MySQL Berikut adalah ketentuan-ketentuan member perintah pada MySQL:
Setiap perintah harus diakhiri dengan tanda titik koma (;) atau dengan memberikan perintah \g atau \G. Namun, pada umumnya user menggunakan tanda titik koma untuk mengakhiri perintah pada MySQL.
Setiap perintah akan disimpan dalam buffer (memori sementara) untuk menyimpan histori perintah-perintah yang pernah diberikan.
Perintah dapat berupa perintah SQL atau perintah khusus MySQL.
37
Perintah-perintah
yang
bukan
SQL
dapat
dipendekkan
dengan
menggunakan \ dan huruf depan perintah
Perintah help atau \h digunakan untuk menampilkan daftar dan aturan memberikan perintah di lingkungan MySQL.
Perintah-perintah dalam lingkungan MySQL tidak menerapkan aturan case sensitive, tetapi case insensitive yaitu perintah bisa dituliskan dalam huruf besar atau pun huruf kecil.
Aturan case sensitive diterapkan pada penamaan objek-objek dalam database seperti nama database atau nama table, namun aturan ini hanya ada dalam lingkungan Unix dan Linux.
Untuk melihat perintah-perintah yang sudah pernah kita ketikkan, tekan tombol tanda panah atas.