BAB II LANDASAN TEORI. Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling. untuk menyelesaikan suatu sasaran tertentu.

Teks penuh

(1)

10 2.1 Sistem

Terdapat dua kelompok pendekatan di dalam mendefinisikan sistem, yaitu yang menekankan pada prosedurnya dan yang menekankan pada komponennya. Pendekatan sistem yang lebih menekankan pada prosedur mendefinisikan sistem sebagai berikut :

“Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran tertentu”.

Pendekatan sistem yang merupakan jaringan kerja dari prosedur lebih menekankan urutan-urutan operasi didalam sistem. Prosedur didefinisikan oleh Richard F. Neuschel sebagai berikut :

“Prosedur adalah suatu urutan operasi klerikal (tulis-menulis) biasanya melibatkan beberapa orang didalam satu atau lebih departemen, yang diterapkan untuk menjamin penanganan yang seragam dari transaksi-transaksi bisnis yang terjadi”.

2.2 Aplikasi

Aplikasi berasal dari kata application yang artinya penerapan, lamaran, penggunaan. Secara istilah aplikasi adalah : program siap pakai yang

(2)

direka untuk melaksanakan suatu fungsi bagi pengguna atau aplikasi yang lain dan dapat digunakan oleh sasaran yang dituju.

Pengertian aplikasi menurut versinya masing-masing, diantaranya : 1. Jogiyanto (1999 : 12)

Aplikasi adalah penggunaan dalam suatu komputer,instruksi (instructiom) atau pernyataan (statement) yang disusun sedemikian rupasehingga komputer dapat memproses input menjadi output.

Aplikasi merupakan rangkaian kegiatan atau perintah untuk dieksekusi oleh komputer. Program merupakan kumpulan instruction set yang akan dijalankan oleh pemroses, yaitu berupa software. Bagaimana sebuah sistem komputer berpikir diatur oleh program ini. Program inilah yang mengendalikan semua aktifitas yang ada pada pemroses. Program berisi konstruksi logika yang dibuat oleh manusia, dan sudah diterjemahkan ke dalam bahasa mesin sesuai dengan format yang ada pada instructionset.

Program aplikasi merupakan 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 system operasi (OS) komputer dan aplikasi yang lainnya yang mendukung.

2. Kamus Besar Bahasa Indonesia (1998 : 52)

Aplikasi adalah penerapan dari rancang sistem untuk mengolah data yang menggunakan aturan atau ketentuan bahasa pemrograman tertentu.

(3)

2.3 Aplikasi Web

Pada awalnya aplikasi web dibangun dengan hanya menggunakan bahasa yang disebut HTML (HyperText Markup Langauge). Pada perkembangan berikutnya, sejumlah skrip dan objek dikembangkan untuk memperluas kemampuan HTML seperti PHP dan ASP pada skrip dan Apllet pada objek.

Aplikasi Web dapat dibagi menjadi dua jenis yaitu aplikasi web statis dan dinamis.

Terdapat beberapa kelemahan pada web statis yang hanya menggunakan HTML, yakni pada proses perubahan data. Karena sifatnya yang statis perubahan data pada web statis harus merupah code sehingga memakan cukup waktu dan tenaga, hal ini dikarenakan tidak adanya data yang bersifat dinamis yang digunakan pada web statis. Permasalahan pada web statis sudah terpecahkan pada web dinamis. Pada web dinamis data menggunakan metoda pemusatan data yakni pada basisdata. Dengan pemusatan pengaksesan data pada sebuah sistem basisdata, maka tidak perlu lagi merubah code ketika akan merubah konten pada website, cukup mengakses ke database yang terkoneksi. Dengan sistem pada web dinamis maka operator yang awam terhadap website pun bisa menggunakannya, tanpa perlu melakukan kodifikasi.

Arsitektur aplikasi web meliputi klien, web server, middleware dan basis data. Klien berinteraksi dengan web server. Secara internal, web server berkomunikasi dengan middleware dan middleware yang berkomunikasi dengan basis data. Contoh middleware adalah PHP dan ASP. Pada mekanisme aplikasi web dinamis, terjadi tambahan proses yaitu server menerjemahkan kode PHP

(4)

menjadi kode HTML. Kode PHP yang diterjemahkan oleh mesin PHP yang akan diterima oleh klien (Abdul Kadir,2009).

2.4 Unified Modeling Language (UML)

Unified Modeling Language (UML) adalah alat bantu analisis serta perancangan perangkat lunak berbasis objek (Adi Nugroho : 2005).

Ada 5 (empat) macam diagram dalam Unified Modeling Language (UML), yaitu :

2.4.1. Use Case Diagram

Diagram ini memperihatkan himpunan use case dan aktor-aktor (suatu jenis khusus dari kelas). Diagram ini terutama sangat penting untuk mengorganisasi dan memodelkan perilaku dari suatu sistem yang dibutuhkan serta diharapkan pengguna.

Tabel 2.1 Use Case Diagram

(5)

2.4.2. Class Diagram

Diagram ini memperlihatkan himpunan kelas-kelas, antarmuka- antarmuka, kolaborasi-kolaborasi dan relasi-relasi antar objek.

Tabel 2.2 Class Diagram 2.4.3. Sequence Diagram

Diagram ini memperlihatkan interaksi yang menekankan pada pengiriman pesan (message) dalam suatu waktu tertentu.

Tabel 2.3 Sequence Class Diagram

(6)

2.4.4. Activity Diagram

Diagram ini memperlihatkan aliaran dari suatu aktifitas ke aktifitas lainnya dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsi-fungsi dalam suatu sistem dan memberi tekanan pada aliran kendali antar objek.

Tabel 2.4 Activity Diagram

2.5 Bahasa Pemograman PHP (Hypertext Preprocessor)

Bahasa pemograman PHP merupakan bahasa standar yang digunakan dalam dunia website. PHP adalah bahasa pemrograman yang berbentuk script

(7)

yang diletakkan didalam web server. Ada beberapa pengertian tentang PHP, akan tetapi PHP dapat diartikan sebagai Hypertext Preeprocessor. Ini merupakan bahasa yang hanya dapat berjalan pada server yang hasilnya dapat ditampilkan pada klien. Interpreter PHP dalam mengeksekusi kode PHP pada sisi server disebut serverside, berbeda dengan mesin maya Java yang mengeksekusi program pada sisi klien (client-server) (Kasiman Peranginangin, 2009).

2.6 Perancangan Database

Perancangan database adalah sebuah perancangan mengenai struktur database yang akan di buat pada suatu rekayasa perangkat lunak. Salah satu metode untuk perancangan database adalah dengan ERD.

ERD adalah suatu model jaringan yang menggunakan susunan data yang disimpan dalam sistem secara abstrak. ERD ini berbeda dengan DFD yang merupakan suatu model jaringan fungsi yang akan dilaksanakan oleh sistem, sedangkan ERD merupakan model jaringan data yang menekankan pada struktur-struktur dan relationship data. Berikut di bawah adalah elemen-elemen Diagram hubungan entitas :

2.6.1. Etity (Entitas)

Gambar 2.1. Entitas

Pada E-R diagram digambarkan dengan bentuk persegi panjang. Entity adalah sesuatu apa saja yang ada didalam sistem, nyata maupun abstrak dimana data tersimpan atau dimana terdapat data. Entitas diberi nama dengan kata benda

(8)

dan dapat dikelompokkan dalam empat jenis nama yaitu ; orang, benda, lokasi, kejadian (terdapat unsure waktu didalamnya).

2.6.2. Relationship (Relasi)

Gambar 2.2. Relasi

Pada E-R diagram digambarkan dengan sebuah bentuk belah ketupat.

Relationship adalah hubungan alamiah yang terjadi antara entitas. Pada umumnya penghubung (Relationship) diberi nama dengan kata kerja dasar, sehingga memudahkan untuk melakukan pembacaan relasi (bisa dengan kalimat aktif atau dengan kalimat pasif).

2.6.3. Atribut Value

Gambar 2.3. atribut

Atribut Value atau nilai attribute adalah suatu occurrence tertentu dari sebuah attribute didalam suatu entity atau relationship.

Ada dua jenis Atribut :

1. Identifier (key) digunakan untuk menentukan suatu entity secara unik (primary key).

2. Descriptor (nonkey attribute) digunakan untuk menspesifikasikan karakteristik dari suatu entity yang tidak unik.

(9)

2.6.4. Cardinality (Kardinalitas)

Kardinalitas relasi menunjukan jumlah maksimum tupel yang dapat berelasi dengan entitas pada entitas yang lain.

Terdapat 3 macam kardinalitas relasi yaitu : 1) One to One

Tingkat hubungan satu ke satu, dinyatakan dengan satu kejadian pada entitas pertama, hanya mempunyai satu hubungan dengan satu kejadian pada entitas yang kedua dan sebaliknya.

Yang berarti setiap tupel pada entitas A berhubungan dengan paling banyak satu tupel pada entitas B, dan begitu pula sebaliknya.

2) One to Many atau Many to One

Tingkat hubungan satu ke banyak adalah sama dengan banyak ke satu. Tergantung dari mana hubungan tersebut dilihat. Untuk satu kejadian pada entitas pertama dapat mempunyai banyak hubungan dengan kejadian pada entitas yang kedua, dan sebaliknya.

1. One to Many (satu ke banyak)

Yang berarti satu tupel pada entitas A dapat berhubungan dengan banyak tupel pada entitas B, tetapi tidak sebaliknya.

2. Many to One (banyak ke satu)

(10)

Yang berarti setiap tupel pada entitas A dapat berhubungan dengan paling banyak satu tupel pada entitas B, tetapi tidak sebaliknya.

3) Many to Many

Tingkat hubungan kebanyakan terjadi jika tiap kejadian pada setiap entitas akan memepunyai banyak hubungan dengan kajadian pada entitas lainnya. Baik dilihat dari sisi entitas yang pertama, maupun dilihat dari sisi yang kedua.

Yang berarti setiap tupel pada entitas A dapat berhubungan dengan banyak tupel pada entitas B, dan demikian sebaliknya.

2.6.5. Perancangan tabel

Perancangan database bisa digambarkan dalam sebuah diagram database seperti gambar di bawah ini

Gambar 2.4. relasi antar tabel

2.7 MySQL

MySQL merupakan software sistem manajemen database (Database Management System – DBMS) yang sangat popular di kalangan pemrogram web, terutama di lingkungan Linux dengan menggunakan skrip dan Ped.

Fungsi MySQL dapat dikatakan sebagai interpreter query, karena setiap kita menggunakan query SQL (perintah SQL) kita harus meletakkannya di dalam

(11)

fungsi ini. Dengan kata lain, SQL tidak dapat dijadikan tanpa adanya fungsi MySQL.

MySQL termasuk jenis relational database management system (RDBMS). Sehingga istilah seperti tabel, baris dan kolom tetap digunakan dalam MySQL. Pada MySQL, sebuah database mengandung beberapa tabel, tabel terdiri dari sejumlah baris dan kolom.

SQL merupakan kependekan Structured Query language. SQL digunakan untuk berkomunikasi dengan sebuah database. SQL adalah bahasa yang meliputi perintah-perintah untuk menyimpan, menerima, memelihara, dan mengatur aksesakses ke basis data serta digunakan untuk memanipulasi dan menampilkan data dari databas (Bertha Sidik, 2003).

2.8 Framework PHP

Framework secara sederhana dapat diartikan kumpulan dari fungsi- fungsi/prosedur-prosedur dan class-class untuk tujuan tertentu yang sudah siap digunakan sehingga bisa lebih mempermudah dan mempercepat pekerjaan seorang pemrograman, tanpa harus membuat fungsi atau class dari awal.(Antonius Nugraha Widhi : 2010).

Ada beberapa alasan mengapa menggunakan Framework:

1. Mempercepat dan mempermudah pembangunan sebuah aplikasi web.

2. Relatif memudahkan dalam proses maintenance karena sudah ada pola tertentu dalam sebuah framework (dengan syarat programmer mengikuti pola standar yang ada).

(12)

3. Umumnya framework menyediakan fasilitas-fasilitas yang umum dipakai sehingga kita tidak perlu membangun dari awal (misalnya validasi, ORM, pagination, multiple database, scaffolding, pengaturan session, error handling, dan lain-lain/

4. Lebih bebas dalam pengembangan jika dibandingkan CMS.

2.9 Konsep MVC

Model View Controller merupakan suatu konsep yang cukup populer dalam pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk, MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, user interface, dan bagian yang menjadi kontrol aplikasi. Terdapat 3 jenis komponen yang membangun suatu MVC pattern dalam suatu aplikasi yaitu :

1. View, merupakan bagian yang menangani presentation logic. Pada suatu aplikasi web bagian ini biasanya berupa file template HTML, yang diatur oleh controller. View berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian ini tidak memiliki akses langsung terhadap bagian model.

2. Model, biasanya berhubungan langsung dengan database untuk memanipulasi data (insert, update, delete, search), menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view.

3. Controller, merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi.

(13)

Dengan menggunakan prinsip MVC suatu aplikasi dapat dikembangkan sesuai dengan kemampuan developernya, yaitu programmer yang menangani bagian model dan controller, sedangkan designer yang menangani bagian view, sehingga penggunaan arsitektur MVC dapat meningkatkan maintanability dan organisasi kode. Walaupun demikian dibutuhkan komunikasi yang baik antara programmer dan designer dalam menangani variabel-variabel yang akan ditampilkan.

2.10 Framework PHP CodeIgniter(CI)

CodeIgniter (CI) adalah sebuah kerangka (framework) pembangunan aplikasi atau mudahnya disebut toolkit, untuk developer yang akan membuat aplikasi web dengan PHP. Tujuan CI adalah supaya pembangunan aplikasi lebih cepat dibanding menulis source code dari awal, karena CI telah meyediakan banyak library untuk proses-proses yang sering digunakan pada suatu aplikasi, dan juga dengan kemudahan dalam menggunakan library tersebut serta kesederhaan penggunaannya.

CodeIgniter ditulis (dibuat) oleh Rick Ellis, seorang musisi rock yang menjadi programmer. Ia membangun perusahaan bernama Ellis Lab, yang mengembangkan beberapa produk unggulan salah satunya CodeIgniter.

CodeIgniter sangat cocok bagi develover berikut : a. Menginginkan framework yang sederhana.

b. Membutuhkan kinerja yang luar biasa.

c. Membutuhkan kompatibilitas yang luas dengan berbagai web hosting.

(14)

d. Menginginkan framework yang hampir tidak ada konfigurasi.

e. Menginginkan framework yang tidak menggunakan command line.

f. Menginginkan framework yang tidak mengharuskan mematuhi aturan penulisan source code.

g. Tidak ingin dipaksa harus mempelajari templating language.

h. Tidak menyukai kompleksitas, lebih menyukai solusi yang sederhana.

i. Membutuhkan dokumentasi yang baik.

Keunggulan dari CodeIgniter adalah sebagai berikut : a. Gratis.

b. Ringan.

Inti sistem CI hanya membutuhkan sangat sedikit library, hal ini merupakan perbedaan kontras dengan framework lain. Library lainnya dapat digunakan dinamis berdasarkan kebutuhan.

c. Cepat.

d. Menggunakan Konsep MVC.

e. Clean URL.

Gambar 2.5 Clean URL CodeIgniter

URL yang digunakan CI bersifat search-engine friendly.

Menggunakan pendekatan segment-based.

f. Library yang lengkap.

g. Dapat diperluas.

(15)

Developer dapat dengan mudah mengembangkan (extend) library, helper atau bahkan perluasan class inti CI.

h. Dukungan teknis yang lengkap di forum CI.

Gambar 2.6 Alur Proses Aplikasi di dalam Framework CodeIgniter 1. Index.php berfungsi sebagai pengendali awal, menginisialisasi sumber daya

utama yang dibutuhkan CodeIgniter.

2. Router memeriksa paket HTTP request untuk menentukan aksi apa yang harus dilakukan oleh sistem.

3. Jika tersedia, maka halaman langsung dikirim ke browser, eksekusi sistem yang normal akan dilewati.

4. Security. Sebelum Application Controller dieksekusi, paket HTTP request dan semua data yang dikirimkan pengguna akan disaring terlebih dahulu oleh Security Class.

5. Application Controller menginisialisasi model, library utama, helpers dan semua sumberdaya yang dibutuhkan untuk setiap request.

6. Antarmuka aplikasi (view) yang sudah disiapkan dikirimkan ke browser. Jika caching diaktifkan, maka view akan disimpan sementara untuk request yang sama berikutnya.

(16)

2.11. Teori Pengujian

Pengujian merupakan proses menjalankan program dengan maksud menemukan kesalahan (Fort Myers:1979). Dari definisi tersebut sangat jelas bahwa pegujian sangat diperlukan dalam pembuatan sebuah aplikasi, hal ini dikarenakan setiap aplikasi yang dibuat belum tentu jalan sebagaimana yang diharapkan. Tidak menuntut kemungkinan adanya kesalahan logic maupun teknis ketika pembuatan aplikasi. Dengan adanya pengujian maka kesalahan atau bug yang ada dalam aplikasi yang dibuat akan diketahui dan tentunya menjadi bahan untuk diperbaiki.

2.11.1 Pengujian Black Box

Pengujian black-box berfokus pada persyaratan fungsional perangkat lunak. Pengujian ini memungkinkan analis sistem memperoleh kumpulan kondisi input yang akan mengerjakan seluruh keperluan fungsional program.

Tujuan metode ini mencari kesalahan pada:

 Fungsi yang salah atau hilang

 Kesalahan pada interface

 Kesalahan pada struktur data atau akses database

 Kesalahan performansi

(17)

 Kesalahan inisialisasi dan tujuan akhir

Dalam pengujian black-box terdapat dua metode yang berbeda.

Metode tersebut antara lain :

1. Equivalence Partitioning

Equivalence partitioning adalah metode pengujian black-box yang memecah atau membagi domain input dari program ke dalam kelas- kelas data sehingga test case dapat diperoleh.

2. Boundary Value Analysis

Untuk permasalahan yang tidak diketahui dengan jelas cenderung menimbulkan kesalahan pada domain output-nya. BVA merupakan pilihan test case yang mengerjakan nilai yang telah ditentukan, dengan teknik perancangan test case melengkapi test case equivalence partitioning yang fokusnya pada domain input. BVA fokusnya pada domain output.

2.11.2 Pengujian White Box

White box testing merupakan test case yang dilakukan untuk memastikan bahwa semua statement pada program telah dieksekusi paling tidak satu kali selama pengujian dan bahwa semua kondisi logis telah diuji.

Pengujian basic path, teknik pengujian white-box, menggunakan grafik (matriks grafiks) untuk melakukan serangkaian pengujian yang independent secara linear yang akan memastikan cakupan.

Adapun pelaksanaan pengujian white box antara lain :

(18)

1. Menjamim seluruh independent path dieksekusi paling sedikit satu kali.

Independent path adalah jalur dalam program yang menunjukkan paling sedikit satu kumpulan proses ataupun kondisi baru.

2. Menjalani logical decision pada sisi dan false.

3. Mengeksekusi pengulangan (looping) dalam batas-batas yang ditentukan.

4. Menguji struktur data internal .

Figur

Diagram  ini  memperihatkan  himpunan  use  case  dan  aktor-aktor  (suatu  jenis  khusus  dari  kelas)

Diagram ini

memperihatkan himpunan use case dan aktor-aktor (suatu jenis khusus dari kelas) p.4
Diagram  ini  memperlihatkan  himpunan  kelas-kelas,  antarmuka- antarmuka-antarmuka, kolaborasi-kolaborasi dan relasi-relasi antar objek

Diagram ini

memperlihatkan himpunan kelas-kelas, antarmuka- antarmuka-antarmuka, kolaborasi-kolaborasi dan relasi-relasi antar objek p.5
Tabel 2.2 Class Diagram  2.4.3.  Sequence Diagram

Tabel 2.2

Class Diagram 2.4.3. Sequence Diagram p.5
Diagram  ini  memperlihatkan  aliaran  dari  suatu  aktifitas  ke  aktifitas  lainnya  dalam  suatu  sistem

Diagram ini

memperlihatkan aliaran dari suatu aktifitas ke aktifitas lainnya dalam suatu sistem p.6
Gambar 2.6 Alur Proses Aplikasi di dalam Framework CodeIgniter  1.  Index.php  berfungsi  sebagai  pengendali  awal,  menginisialisasi  sumber  daya

Gambar 2.6

Alur Proses Aplikasi di dalam Framework CodeIgniter 1. Index.php berfungsi sebagai pengendali awal, menginisialisasi sumber daya p.15

Referensi

Memperbarui...

Pindai kode QR dengan aplikasi 1PDF
untuk diunduh sekarang

Instal aplikasi 1PDF di