• Tidak ada hasil yang ditemukan

2.3 Metode

2.3.4 Tools

2.3.4.1Unified Modelling Language (UML)

Diagram UML

UML menawarkan sembilan diagram yang dikelompokkan menjadi lima perspektif berbeda untuk memodelkan suatu sistem. Diagram UML menyajikan perspektif yang berbeda mengenai sistem informasi. Bagian berikut menjelaskan berbagai diagram UML beserta pengertiannya (Whitten & Bentley, 2005 : 417-419).

a. Context Diagram

Context Diagram merupakan tingkatan tertinggi dalam diagram aliran data dan hanya memuat satu proses, menunjukkan sistem secara keseluruhan. Proses tersebut diberi nomor nol. Semua entitas eksternal yang ditunjukkan pada diagram konteks berikut aliran data-aliran data utama menuju dan dari sistem. Diagram tersebut tidak memuat penyimpanan data dan tampak sederhana untuk diciptakan, begitu entitas-entitas eksternal serta aliran data-aliran data menuju dan dari sistem diketahui menganalisis dari wawancara dengan user dan sebagai hasil analisis dokumen.

Gambar 2.6 Contoh Context Diagram (Booch, et al, 2007: 160)

b. Use Case Diagram

Use case diagram adalah diagram yang menggambarkan interaksi antara sistem dengan sistem eksternal dan pengguna. Dengan kata lain, secara grafis menggambarkan siapa yang akan menggunakan sistem dan dengan cara apa pengguna mengharapkan untuk berinteraksi dengan sistem. Sebagaimana pada contoh use case diagram pada Gambar 2.6 sebuah use case diagram melukiskan (Whitten & Bentley, 2005 : 257-260) :

1) Actor

Actor merupakan istilah yang digunakan untuk menggambarkan pengguna aplikasi atau apapun yang berinteraksi dengan sistem

untuk mengolah informasi. Actor bisa berupa orang, hardware, atau sistem informasi lain yang berinteraksi dengan use case

2) Use case

Use case menggambarkan fungsi sistem dari perspektif user eksternal dengan cara yang mereka pahami. Use case dibuat berdasarkan proses-proses yang dilakukan untuk kepentingan actor untuk menggambarkan apa yang dikerjakan oleh aplikasi, bukan bagaimana aplikasi mengerjakannya (logical).

3) Relationship

Relationship dilukiskan sebagai garis lurus antara dua simbol pada use-case diagram. Makna dari relationship berbeda, tergantung pada bagaimana garis lurus digambarkan dan apa jenis simbol yang dihubungkan. Berikut ini adalah perbedaan relationship pada use-case diagram :

a) Association

Association merupakan relationship antara actor dengan use case digambarkan sebagai sebuah garis lurus tanpa putus antara actor dan use case.

b) Extends

Extends digunakan untuk menggambarkan hubungan antar use case yang menunjukkan bahwa satu use case merupakan fungsionalitas dari use case yang lain jika kondisi atau syarat tertentu dipenuhi.

c) Uses (includes)

Hubungan uses menggambarkan bahwa satu use case seluruhnya meliputi fungsionalitas dari usecase lainnya. d) Depends on

Hubungan depends on sangat membantu untuk mengetahui use case mana yang memiliki ketergantungan pada use case lainnya yang bertujuan untuk menentukan urutan dalam pengembangan usecase.

e) Inheritance

Hubungan inheritance terjadi ketika dua atau lebih actor menggunakan use case yang sama. Setiap use case pada use case diagram dijelaskan secara detail pada documenting abstract and extension use-case narratives. (Whitten & Bentley, 2005: 250).

c. Use Case Narrative

Deskripsi tekstual kegiatan bisnis dan bagaimana pengguna akan berinteraksi dengan sistem dalam menyelesaikan suatu tugas. Berbeda dengan use case diagram, use case desain sistem menggunakan sebuah narasi dari pandangan pengguna sistem, use case desain sistem lebih bersifat percakapan (dialog).

d. Activity Diagram

Secara grafis digunakan untuk menggambarkan rangkaian aliran aktivitas baik proses bisnis atau use case. Diagram ini juga dapat digunakan untuk memodelkan action yang akan dilakukan saat sebuah operasi di eksekusi, dan memodelkan hasil dari action tersebut.

e. Class Diagram

Diagram ini menunjukkan kelas obyek yang menyusun sistem juga hubungan antara kelas tersebut. Class diagram mendeskripsikan jenis-jenis obyek dalam sistem dan berbagai macam hubungan dan interaksi diantara mereka.

Gambar 2.9 Contoh Class Diagram (Booch, et al, 2007: 199)

f. Sequence Diagram

Secara grafis menggambarkan bagaimana obyek berinteraksi dengan satu sama lain melalui pesan pada eksekusi sebuah use case atau operasi. Diagram ini mengilustrasikan bagaimana pesan terkirim dan diterima diantara obyek.

Gambar 2.10 Contoh Sequence Diagram (Booch, et al, 2007: 211)

g. Deployment Diagram

Diagram ini mendeskripsikan arsitektur fisik dalam istilah “node” untuk hardware dan software dalam sistem. Diagram ini menggambarkan konfigurasi komponnen-komponen software run-time, prosesor, dan peralatan yang membentuk arsitektur sistem.

Gambar 2.11 Contoh Deployment Diagram (Booch, et al, 2007: 171)

2.3.4.2Objective-C

Dennis Ritchie dari AT&T Bell Laboratories merintis bahasa pemrograman C di awal 1970an. Namun, bahasa pemrograman ini tidak mendapatkan popularitas sampai akhir tahun 1970an. Hal ini dikarenakan tidak tersedianya C compiler secara komersil diluar Bell Laboratories. Awal popularitas Bahasa pemrograman C berkesinambungan dengan populernya sistem operasi UNIX, yang hampir seluruhnya ditulis dalam bahasa C.

Brad J.Cox adalah orang yang merancang bahasa Objective-C di awal tahun 1980an. Objective-C berasal dari bahasa yang disebut Smalltalk-80, yang ditambahkan sebagai ekstensi kedalam bahasa pemrograman C untuk membentuk bahasa pemrograman baru yang memungkinkan kita menambahkan dan memanipulasi obyek. Bahasa hasil ekstensi itulah yang disebut Objective-C.

NeXT Software mempatenkan bahasa Objective-C pada tahun 1988 dan mengembangkan libraries-nya. Pada tahun 1992, Bahasa Objective-C ditambahkan untuk pengembangan Sistem Operasi GNU milik Free Software Foundation (FSF). Hak cipta untuk produk FSF dipegang oleh FSF. Hak cipta tersebut dibawah naungan GNU Public License (Kochan, 2013: 1 – 2).

2.3.4.3Framework Cocoa on Objective-C

Pada tanggal 20 Desember tahun 1996, Apple Computer mengumumkan bahwa Next Software dan NEXTEP menjadi fondasi utama untuk sistem operasi OS X milik Apple berikutnya. Development environment tersebut dinamakan Cocoa. Dengan menggabungkan bahasa Objective-C dengan Project Builder dan Interface Builder, Apple membuat development environment yang sangat kuat untuk pengembangan aplikasi berbasis Mac OS X. Pada tahun 2007, Apple merilis update untuk bahasa Objective C dan menamakannya sebagai Objective-C 2.0.

Ketika iPhone diluncurkan pada tahun 2007, banyak developer aplikasi yang tertarik untuk mengembangkan aplikasi untuk revolutionary device tersebut. Pada awalnya, Apple tidak begitu terbuka kepada pengembangan aplikasi dari pihak ketiga. Pengembang pihak ketiga hanya diizinkan untuk mengembangkan

aplikasi untuk iPhone hanya berbasis Web. Karena banyak keterbatasan pada aplikasi yang hanya bisa berjalan pada web browser dari iPhone sangat mengecewakan para pengembang pihak ketiga, Apple pada akhirnya mengizinkan pengembang Aplikasi pihak ketiga untuk mengembangkan Aplikasi native. Native Application adalah aplikasi yang di-install pada device (Kochan, 2013: 1 – 3).

2.3.4.4MVC Programming Objective-C

Apple (2012, 43 – 44)menjelaskan secara sederhana konsep MVC terdiri dari tiga bagian yaitu bagian Model, bagian View dan bagian Controller. Didalam website dinamis setidaknya terdiri dari 3 hal yang paling pokok, yaitu basis data, logika aplikasi dan cara menampilkan halaman website. 3 hal tersebut direpresentasikan dengan MVC yaitu model untuk basis data, view untuk cara menampilkan halaman website dan controller untuk logika aplikasi.

1. Model

Merepresantiskan struktur data dari website yang bisa berupa basis data maupun data lain, misalnya dalam bentuk file teks atau file xml. Biasanya didalam model akan berisi class dan fungsi untuk mengambil, melakukan update dan menghapus data website. Karena sebuah website biasanya menggunakan basis data dalam menyimpan data maka bagian Model biasanya akan berhubungan dengan perintah-perintah query SQL. Model bisa dibilang khusus digunakan untuk melakukan koneksi ke basis data oleh karena itu logika-logika pemrograman yang berada didalam model juga harus yang berhubungan dengan basis data. Misalnya saja pemilihan kondisi tetapi untuk memilih melakukan query yang mana.

2. View

Merupakan informasi yang ditampilkan kepada pengunjung website. Sebisa mungkin didalam View tidak berisi logika-logika kode tetapi hanya berisi variabel-variabel yang berisi data yang siap ditampilkan. View bisa dibilang adalah halaman website yang dibuat menggunakan HTML dengan bantuan CSS atau JavaScript. Didalam view jangan pernah ada kode untuk melakukan koneksi ke basis data. View hanya dikhususkan untuk menampilkan data-data hasil dari model dan controller.

3. Controller

Controller merupakan penghubung antara Model dan View. Didalam Controller inilah terdapat class dan fungsi-fungsi yang memproses permintaan dari View kedalam struktur data didalam Model. Controller juga tidak boleh berisi kode untuk mengakses basis data. Tugas controller adalah menyediakan berbagai variabel yang akan ditampilkan di view, memanggil model untuk melakukan akses ke basis data, menyediakan penanganan error, mengerjakan proses logika dari aplikasi serta melakukan validasi atau cek terhadap input.

Contoh pemodelan MVC Programming sebagaimana pada Gambar 2.7 menjelaskan tentang lukisan. Lukisan sebagai bentuk atau wujud yang terlihat (view) memiliki unsur pelukis sebagai controller membentuk lukisan tersebut. Hubungan antara controller dengan model adalah hubungan antara control dengan data, maka dapat diartikan pelukis dapat melukis dengan menggunakan canvas dan

cat air dengan menggunakan unsur yang wajib ada yaitu air dengan jumlah yang tidak tentu. Pelukis dapat melukis dengan obyek lukisan atau tanpa obyek lukisan (khayalan pelukis).

Gambar 2.12 Contoh MVC Pattern (Apple, 2012: 50)

2.3.4.5Java Script Object Notation (JSON)

Berdasarkan ECMA International (2013: ii), JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 - Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java,

JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data.

JSON terbuat dari dua struktur:

1. Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai obyek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau associativearray.

2. Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence).

Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya, semua bahasa pemprograman moderen mendukung struktur data ini dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian karena format data mudah dipertukarkan dengan bahasa-bahasa pemprograman yang juga berdasarkan pada struktur data ini.

2.3.4.6Hypertext Preprocessor (PHP)

Menurut Pratama (2010: 9), 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 Juni 1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP diubah 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 obyek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi obyek.

2.3.4.7PHP-JSON Web Service

Web Services adalah sebuah layanan yang disediakan sebuah sistem untuk meningkatkan kolaborasi antar sistem. Webservice disediakan oleh suatu sistem, misalkan sebuah website yang menyediakan layanan kepada sistem yang lain. (Pratama, 2010: 67).

Komunikasi antar sistem tersebut menggunakan sebuah format yang bersifat universal, sehingga walaupun sistem yang berhubungan adalah berbeda platform, sistem operasi maupun berbeda bahasa pemrograman akan tetap bisa saling komunikasi.

Isi webservice berupa data atau informasi yang diminta oleh client dalam bentuk sebuah format yang bersifat universal (JSON atau XML). Sedangkan Yang dibutuhkan Untuk membuat sebuah webservice adalah sebuah webserver seperti Apache atau lightpd, apabila ada pemrosesan data maka diperlukan sebuah bahasa pemrograman atau server side scripting yang kemudian mengubah hasil pengelolahan data tersebut menjadi format JSON atau XML

Sebuah sistem dapat menyediakan Webservice dengan menggunakan bahasa pemrograman apa saja seperti PHP/Java/Ruby/ C/Phtyon/Basic yang penting webservice tersebut dapat diakses melalui protokol HTTP.

Sedangkan client atau pemakai webservice tersebut dapat menggunakan bahasa pemrograman apa saja seperti PHP/Javascript/ Java/Ruby/C/Phtyon atau apa saja dan tidak harus sama dengan bahasa pemrograman yang dipakai oleh penyedia Webservice. Yang penting client tersebut dapat melakukan request HTTP

dan dapat melakukan parsing format JSON atau XML. PHP dipilih karena sebuah Server Side Scripting yang populer untuk membuat website menjadi dinamis dan memilik fitur untuk mengubah data menjadi format JSON.

2.3.4.8Database Management System (DBMS)

1. Pengertian DBMS

Basis Data (Database) terdiri dari 2 kata, yaitu basis dan data. Basis dapat diartikan sebagai markas atau gudang. Tempat bersarang/berkumpul. Sedangkan data adalah representasi fakta dunia nyata yang mewakili suatu obyek seperti manusia (pegawai, siswa) barang, hewan dan sebagainya, yang direkam dalam bentuk angka, huruf, simbol, teks, Gambar bunyi atau kombinasinya. Basis Data sendiri didefinisikan dalam jumlah sudut pandang seperti:

a. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.

b. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan.

c. Kumpulan/file/table/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis. Basis data dan lemari arsip sesungguhnya memiliki prinsip kerja dan tujuan yang sama. Prinsip utamanya adalah pengaturan data/arsip. Dan tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan data/arsip.

Database Management System (DBMS) adalah software khusus yang disediakan untuk membuat, mengakses, mengontrol dan mengelola database. Inti dari DBMS adalah database engine. Database engine merespon command-command khusus untuk membuat database dan membuat, membaca, meng-update serta menghapus record di dalam database. Relational Database Management System (RDBMS) adalah database yang mengimplementasikan data sebagai bagian dari dua dimensi tabel yang terhubung melalui foreign key (Whitten & Bentley, 2005 : 524).

2. Arsitektur DBMS

Arsitektur basis data dimaksudkan untuk membuat abstraksi terhadap basis data. Tujuannya agar DBMS dapat diakses secara efisien tanpa mengharuskan pemakai mengetahui detail tentang cara data disimpan dan dipelihara (Ramon & Pauline, 2010 : 53). Ada tiga level dalam arsitektur basis data :

a. Level Eksternal

Level eksternal yang menyatakan lapisan pandangan atau subskema adalah level yang berhubungan secara langsung dengan pemakai. Pada level ini, pemakai cukup mengenal struktur data yang sederhana dalam basis data supaya bias mengakses basis data. Pemakai tidak perlu mengetahui detail tentang atribut data (misalnya ukuran data). Dengan menggunakan pandangan (view), pemakai dapat melihat data dengan bentuk yang berbeda dengan keadaan aslinya.

b. Level Konseptual

Level konseptual (yang menyatakan skema konseptual) menjabarkan data apa yang tersimpan dalam basis data dan juga menjabarkan hubungan-hubungan antar data. Level ini biasa dipakai administrator basis data.

c. Level Internal

Level internal (yang menyatakan skema internal) adalah level yang berhubungan secara langsung dengan basis data danmenjabarkan bagaimana data disimpan dalam basis data. Level ini berurusan langsung dengan hal yang antara lai sebagai berikut:

1) Alokasi ruang penyimpanan data 2) Deskripsi rekaman dalam penyimpanan 3) Konversi data dan teknik enkripsi data

2.3.4.9MySQL

MySQL merupakan sistem manajemen database. Database merupakan struktur penyimpanna data. Untuk menambah, mengakses dan memproses data yang disimpan dalam database komputer, diperlukan sistem manajemen database seperti MySQL Server (Ramon & Pauline, 2010 : 181). MySQL adalah Relation Database Management System (RDBMS) yang didistribusikan secara gratis di bawah lisensi GPL (General Public License). MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query Languange). Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query data. Hal ini terbukti untuk

query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase (Prasetyo, 2003 : 1-4).

Berikut ini beberapa keistimewaan yang dimiliki oleh MySQL : a. Portability

MySQL dapat berjalan stabil pada berbagai sistem operasi diantaranya adalah seperti Windows, Linux, FreeBSD, Mac OS X Server, Solaris, Amiga, HP-UX dan masih banyak lagi.

b. Open Source

MySQL didistribusikan secara open source (gratis), dibawah lisensi GPL sehingga anda dapat menggunakannya secara Cuma-cuma tanpa dipngut biaya sepeser pun.

c. Multiuser

MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik. Hal ini memungkinkan sebuah database server MySQL dapat diakses client secara bersamaan.

d. Performance Tuning

MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.

e. Column Types

MySQL memiliki ragam tipe kolom yang sangat kompleks, seperti signed/unsigned integer, float, double, char, varchar, text, blob, date, time, datetime, timestamp, year, set serta enum.

f. Command and Functions

MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah SELECT dan WHERE dalam query.

g. Security

MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta password terenkripsi.

h. Scalability dan Limits

MySQL mampu menangani database dalam skala besar, dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu, batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.

i. Connectivity

MySQL dapat melakukan koneksi dengan client menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).

j. Lokalisation

MySQL dapat mendeteksi pesan kesalahan (error code) pada client dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya.

k. Interface

MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).

l. Clients dan Tools

MySQL dilengkapi dengan berbagai tool yang dapat digunakan untuk administrasi database, dan pada setiap tool yang ada disertakan petunjuk online.

m. Struktur tabel

MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle.

Dokumen terkait