BAB 2 LANDASAN TEORI 2.1
Aktiva Tetap dan Penyusutan Aset tetap adalah aset berwujud yang:
(a)
dimiliki untuk digunakan dalam produksi atau penyediaan barang atau jasa, untuk direntalkan kepada pihak lain, atau untuk tujuan administratif; dan
(b)
diperkirakan untuk digunakan selama lebih dari satu periode (PSAK No. 16, 2012: 16.1)
Aktiva tetap adalah aktiva berwujud yang digunakan dalam operasi perusahaan dan tidak dimaksudkan untuk dijual dalam rangka kegiatan normal perusahaan. (Haryono Jusup, 2005: 153) Kriteria aktiva tetap didefenisikan sebagai berikut: a.
Digunakan dalam kegiatan normal perusahaan.
b.
Dapat digunakan secara berulang-ulang.
c.
Umurnya relatif panjang,lebih dari satu tahun atau siklus operasi normal perusahaan (lebih dari satu periode akuntansi atau lebih dari satu tahun).
d.
Nilainya cukup besar atau material.
e.
Memberikan manfaat di masa yang akan datang. (Hartanto, 2002:314)
Penyusutan adalah sebagian dari harga perolehan aktiva tetap secara sistematis dialokasikan menjadi biaya setiap periode akuntansi. (Zaki Baridwan, 2004:305) Penyusutan adalah alokasi jumlah suatu aktiva yang dapat disusutkan sepanjang masa manfaat yang diestimasi. Penyusutan untuk periode akuntansi dibebankan ke pendapatan baik secara langsung maupun tidak langsung. (PSAK No. 17, 2004:17.1) 2.2
Metode Penentuan Penyusutan Metode penyusutan yang digunakan harus mencerminkan ekspektasi pola
konsumsi manfaat ekonomis masa depan dari aset oleh entitas. (PSAK No. 16, 2007: 16.10) Menurut
pernyataan
standar
akuntansi
keuangan
No.
17
penyusutan
dapatdilakukandengan berbagai metode yang dapat dikelompokkan menurut kriteriaberikut: 7
8
Berdasarkan Waktu: a.
Metode garis lurus (straight line method) Dalam metode garis lurus lebih melihat aspek waktu daripada aspekkegunaan. Dalam metode penyusutangaris lurus, beban penyusutan untuk tiap tahun nilainya sama besar dan tidakdipengaruhi dengan hasil atau output yang diproduksi.
b.
Metode jumlah angka tahun (sum of the years digit method) Metode penyusutan ini menghasilkan tarif penyusutan yang menurundengan dasar penurunan pecahan dari nilai yang dapat disusutkan (hargaperolehan dikurangi dengan nilai sisa).
c.
Metode saldo menurun (declining balance method) Metode
ini
juga
merupakan
metode
penurunan
beban
penyusutan
yangmenggunakan tingkat penyusutan (diekspresikan dalam persentase) yangmerupakan perkalian dari metode garis lurus. Tingkat penyusutan metode iniselalu tetap dan diaplikasikan untuk mengurangi nilai buku pada setiap akhirtahun. Tidak seperti metode lain, dalam metode saldo menurun nilai sisa tidakdikurangkan dari harga perolehan dalam menghitung nilai yang dapatdisusutkan. Berdasarkan Penggunaan a.
Metode jam-jasa (service hours method) Metode ini digunakan untuk mengalokasikan beban penyusutanberdasarkan pada proporsi
penggunaan
aktiva
yang
sebenarnya.
Metodepenyusutan
ini
menggunakan jumlah jam kerja sebagai dasar pengalokasianbeban penyusutan untuk tiap periode. b.
Metode jumlah unit produksi (productive-output method). Metode ini digunakan untuk mengalokasikan beban penyusutanberdasarkan pada proporsi
penggunaan
aktiva
yang
sebenarnya.
Metodepenyusutan
ini
menggunakan hasil produksi sebagai dasar pengalokasian bebanpenyusutan untuk tiap periode. Berdasarkan Kriteria Lainnya a.
Metode berdasarkan jenis dan kelompok (group and composite method).
9 Metode penyusutan biasanya digunakan untuk satu aktiva tetap. Dalamkeadaan tertentu bagaimanapun juga ada berbagai macam aktiva yangdisusutkan dengan menggunakan satu tarif penyusutan.
b.
Metode anuitas (annuity method) Dalam metode anuitas ini beban penyusutan yang dihasilkan pada tahun/periode awal adalah rendah dan akan meningkat jumlahnya tiap periodeberikutnya. Metode ini paling banyak digunakan dalam industri real estate danbeberapa penyedia jasa, tetapi metode ini bukanlah metode penyusutan yangsecara umum dapat diterima.
c.
Sistem persediaan (inventory method) Metode penyusutan ini biasanya digunakan untuk menilai aktiva berwujudyang nilainya kecil. Persediaan peralatan, sebagai contoh, mungkin ada padaawal dan akhir periode
2.2.1
Metode Garis Lurus Berdasarkan
metode
garis
lurus,
perusahaan
mengalokasikan
biaya
penyusutan yang samauntuk setiap tahun kehidupan aset yang bermanfaat. Alokasi biaya ini diukur seiring berlalunya waktu. Metode depresiasi paling sederhana, beban depresiasi per periode besarnya sama (tetap). Metode ini mengasumsikan bahwa aset terdepresiasi secara konstan setiap tahunnya selama umur manfaatnya.
Gambar 2.1Straight Line Method
untuk 1 dan
10 Dimana:
= umur manfaat = basis harga, termasuk penyesuaian = pengurangan depresiasi pada tahun ke 1
= nilai buku pada akhir tahun ke
= perkiraan nilai sisa pada akhir tahun ke . (Kimmel et al, 2012:464) 2.2.2
Metode Jumlah Angka Tahun (Sum of The Years Digits Method)
2.2.2.1 Jumlah Angka Tahun Naik (Increasing Quotas) Metode ini mengalokasikan penyusutan yang meningkat seirung berjalannya waktu. i /
!
"
2.2.2.2 Jumlah Angka Tahun Menurun (Decreasing Quotas) Metode ini mengalokasikan nilai penyusutan yang menurun seiring berjalannya waktu. i
/
!
"
(Kimmel et al, 2012) 2.2.3
Metode Saldo Menurun Metode saldo menurun menghasilkan beban penyusutan tahunan menurun
atas kehidupan aset yang bermanfaat. Metode ini dinamakan demikian karena depresiasi periodic didasarkan pada nilai buku yang menurun (biaya dikurangi akumulasi penyusutan) dari aset.
Gambar 2.2 Declining Balance Method 0
Declining Balance Rate T= 1 - #
$%&'%() *%&+) ,-./
(Accounting Principles 10th, 2008)
11 2.2.4
Faktor-Faktor yang Mempengaruhi Penyusutan Faktor-faktor yang mempengaruhi biaya penyusutan yaitu:
1.
Harga Perolehan (acquisition cost) adalah faktor yang paling berpengaruh terhadap perhitungan biaya penyusutan. (Warren, Reef dan Fees, 2005:509) Biaya perolehan (cost) adalah jumlah kas atau setara kas yang dibayarkan atau nilai wajar dari imbalan lain yang diserahkan untuk memperoleh suatu aset pada saat perolehan atau konstruksi atau, jika dapat diterapkan, jumlah yang diatribusikan ke aset pada saat pertama kali diakui sesuai dengan persyaratan tertentu dalam PSAK lain. (PSAK No. 16, 2007)
2.
Nilai residu (residual atau salvage value) merupakan taksiran nilai atau potensi arus kas masuk apabila aktiva tetap tersebut dijual pada saat penarikan/ penghentian(retirement) aktiva tetap. Nilai residu tidak selalu ada, ada kalanya suatu aktiva tetap tidak dijual pada masa penarikannya. (Warren, Reef dan Fees, 2005:509) Nilai residu aset adalah jumlah yang diperkirakan akan diperoleh entitas saat ini dari pelepasan aset, setelah dikurangi taksiran biaya pelepasan, jika aset tersebut telah mencapai umur dan kondisi yang diharapkan pada akhir umur manfaatnya. (PSAK No. 16, 2007)
3.
Umur ekonomis aktiva tetap (economical life time) terdiri dari: - Umur fisik yaitu umur yang dikaitkan dengan kondisi fisik suatu aktiva tetap. Suatu aktiva tetap dikatakan masih memiliki umur fisik apabila secara fisik aktiva tetap tersebut masih dalam kondisi baik (walaupun mungkin sudah menurun fungsinya) - Umur fungsional yaitu umur yang dikaitkan dengan kontribusi aktiva tetap tersebut dalam penggunaannya. Suatu aktiva tetap memiliki umur fungsional apabila aktiva tetap tersebut masih memberikan kontribusi bagi perusahaan. (Warren, Reef dan Fees, 2005:509) Umur manfaat (useful life) adalah: a) suatu periode dimana aset diharapkan akan digunakan oleh entitas; atau b) jumlah produksi atau unit serupa yang diharapkan akan diperoleh dari aset tersebut oleh entitas. (PSAK No. 16, 2007)
12 2.3
Teori Permainan (Game Theory)
2.3.1
Konsep Teori Permainan Teori permainan merupakan suatu studi formal tentang konflik dan
kerjasama. Konsep teori permainan ini berdasarkan pada aksi beberapa agen yang saling bergantung. Agen-agen ini mungkin berupa individu, kelompok, perusahaan, atau kombinasi dari mereka. Konsep teori permainan ini menyediakan bahasan untuk merumuskan dan menganalisis suatu strategi tertentu. Fondasi matematis dari teori permainan membuat teori permainan ini menjadi sebuah alat utama untuk memodelkan dan mendesain proses pembuatan keputusan dalam suatu lingkungan yang interaktif (saling mempengaruhi). (Totoh, 2009) 2.3.2
Defenisi Teori Permainan Teori permainan (Game Theory) suatu model matematika yang digunakan
dalam situasi konflik atau persaingan antara berbagai kepentingan yang saling berhadapan sebagai pesaing. Jenis persaingan ini ada di dalam semua jenis kegiatan, olahrga, bisnis, dan dalam strategi militer. (Aminudin, 2005: 127) Geoffrey A. Jehle dan Philip Reny menjelaskan secara detail menjelaskan bagaimana teori permainan dapat menghasilkan keputusan-keputusan strategis. Menurutnya, variasi pemilihan metode teori permainan yang digunakan dangat menentukan keputusan yang dihasilkan karena setiap metode teori permainan menghasilkan solusi yang memiliki keunggulan yang berbeda-beda. Selanjutnya oleh Geoffrey A. Jehle dan Philip Reny teori permainan diartikan sebagai ilmu sistematis dimana setiap pemain yang rasional berperilaku dalam situasi-situasi yang strategis. “Strategis” disini berarti masing-masing orang saat memutuskan tindakan apa yang mau diambil harus memperhitungkan bagaimana orang lain akan menanggapi tindakannya tersebut. (Jehle et al, 2001: 267-268) Teori permainan telah banyak diterapkan pada berbagai hal seperti pada pengambilan keputusan perusahaan, kebijakan publik, jaringan telekomunikasi, dan lain-lain. Hal ini dilakukan dengan tujuan untuk menyelesaikan berbagai konflik kepentingan bersama. Jenis teori permainan ini dapat dibagi menjadi permainan kooperatif dan permainan non-kooperatif. Teori permainan kooperatif meneliti penggabungan agen berdasarkan suatukomitmen bersama dengan memperhatikan
13 besar kekuatan relatif yang dimiliki oleh para pemain. Sedangkan teori permainan non-kooperatif memberi perhatian pada analisis pemilihan strategis untuk mendapatkan keuntungan yang sebanyak-banyaknya. (Totoh, 2009)
2.4
Cooperative Game Theory Cooperative game theory merupakan bagian dari teori permainan yang
berfokus pada suatu keadaan dimana grup yang terdiri dari para pemain mengkoordinasikan aksi/ tindakan yang akan mereka lakukan melalui suatu komitmen tertentu. Tujuan dari cooperative game theoryadalah untuk mempelajari caramenjalankan atau mendorong kerjasama diantara agen-agen yang berkeinginan untuk bekerja sama. Dari permainan kooperatif ini akantergambar payoff yang didapatkan oleh masing-masing grup atau koalisi dari hasil kerjasama anggotaanggotanya (Totoh, 2009) Cooperative games theory merupakan fungsi karakteristik, yang menentukan hasil bahwa setiap koalisi dapat mencapai sendiri. Diberikan n ≥ 2 menunjukkan jumlah pemain di dalam permainan, didefenisikan dari 1 ke n, dan diberikan N sebagai susunan pemain, N = {1,2,…,n} (Thomas Ferguson,2005) 2.5
Koalisi Struktur koalisi adalah suatu cara yang menggambarkan bagaimana para
pemain membagi diri mereka sendiri ke dalam koalisi mandiri masing-masing. Setiap pembagian
para
pemain
dapat
digambarkan
oleh
suatu
himpunan
1, 1! , … , 14 dari 4 koalisi yang terbentuk. Himpunan koalisi S merupakan suatu pembagian dari N yang memenuhi 3 kondisi, yaitu: 5 6 Ø, 5 , … , 4
8 5 6 Ø 9 6 5 : 5 ;
5 <
Kondisi pertama menyatakan bahwa setiap pemain hanya termasuk ke dalam satu dan hanya satu dari m koalisi yang tidak kosong dalam struktur koalisi. Kondisi kedua menyatakan bahwa tidak ada satupun pemain dalam koalisi m yang terhubung ke pemain lain yang tidak ada di dalam koalisi. Kondisi yang ketiga menyatakan
14 bahwa kesatuan mandiri masing-masing dari semua koalisi m membentuk koalisi besar (grand coalition) (Totoh, 2009)
2.6
Fungsi Karakteristik Cooperative games terdiri dari pasangan (N,v) dengan N merupakan
himpunan pemain dan memiliki fungsi karakteristik v: 2N →=, dengan vØ > (Branzei, 2008) Untuk setiap sub himpunan S dari N, fungsi karakteristik v dari suatu permainan merupakan nilai terbesar v(S) yang akan didapat oleh anggota dari S jika mereka bertindak bersama-sama dan membentuk suau koalisi, tanpa ada pertolongan dari pemain yang lain yang tidak ada pada S. (Totoh, 2009) Persyaratan lain ditentukan oleh superadditiviy dinyatakan sebagai berikut: S ∪ T ≥ v ( s ) + v (t ) 9 S , T ⊆ N dan
S ∩T Ø Superadditivity dibenarkan ketika suatu koalisi dapat selalu bekerja tanpa adanya saling interfensi antara satu koalisi dengan koalisi yang lain. Oleh karena itu, nilai dari dua koalisi tidak akan kurang dari jumlah nilai mereka masing-masing.
2.7
Many-Person TU Games Many-Person TU Games merupakan cooperative games yang didasari oleh
koalisi dari pemainnya, tidak ada pembatasan pada perjanjian yang mungkin dicapai di antara para pemain, dan diasumsikan bahwa payoffs diukur dalam satuan yang sama dan terdapat transferrable utility yang memungkinkan side payments yang di buat diantara para pemain.
(Thomas Ferguson, 2005) Transferrable utility merupakan pasangan ( , ? ) dimana {1, 2, … ,@}
didefenisikan sebagai pemain dan ? merupakan fungsi harga yang didefenisikan
antara 2Nsampai A menguji ?Ø 0. Untuk < 2N ,? merupakan harga yang
harus dibayar pemain di .
15 (Juan Aparicio, 2008)
2.8
Koalisi Cooperative Game Theory Koalisi cooperatives game theorydibedakan
menjadi dua kategori:
permainan dengan transferable utilities dan permainan dengan nontransferable utilities. (Bezalel, 2007) Bentuk koalisi dari n-orang permainan diberikan oleh pasangan , C,
dimana = {1, 2,. . . , } adalah himpunan pemain dan v adalah fungsi bernilai real, yang disebut fungsi karakteristik permainan, didefinisikan pada set, 2N, dari semua koalisi (himpunan bagian dari ), dan memenuhi
(i)C D 0, menunjukkan bahwa nilai dari permainan untuk koalisi yang kosong adalah nol.
(ii) Superadditivity jika dan E adalah koalisi beririsan 8 E D. Maka
C
C E C F E.
pada
cooperative
game
theory
didefenisikan sebagai subset dari , G , H . Hal ini berarti bahwa payoff total untuk suatu koalisi besar adalah rasional kolektif karena para pemain selalu mendapatkan minimal sebesar apa yang akan mereka dapatkan secara individual.
(Thomas Ferguson, 2005)
2.9
τ-Value dan Shapley Value τ-valuedari permainan adalah kesepakatan antara pihak upper dengan lower
yang didefenisikan dengan:
τJ ? KLM ?
α OPLM ? KLM ?Q,
Dimana:
KLM ? ? ? \ST, menunjukkanupper vector dari permainan. KLM ?dapat dianggap sebagai maksimal payoff yang bsa didapat pemain i di dalam permainan, jika pemain mengklaim lebih, maka hal ini merupakan keuntungan untuk pemain lain untuk mengecualikan pemain idari grand coalition N dan membagi payoff bersama diantara pemain.
PLM ? PS@.,L
menunjukkan
lower
vector
dari
permainan. Untuk setiap pemain S < , nilai PLM ? dapat dianggap sebagai hak minimal dalam arti bahwa pemain bisa menjamin dirinya sebagai payoff dengan menawarkan para anggota koalisi dengan utopia payoff.
16
α merupakan < Y0. .1Z yang memenuhi ∑L <[ τL ? ? . (Juan Aparicio, 2008) Shapley-value merupakan konsep teori permainan diusulkan oleh Lloyd Shapley pada tahun 1953 bertujuan untuk mengusulkan alokasi paling adil dari keuntungan yang diperoleh secara kolektif antara beberapa agen kolaboratif. Dirumuskan sebagai:
\
] ^ Y _ F VT _Z
9| a
1!c1c!
Dimana: ^
=
|s|
=
jumlah pemain di S
_ F VT
=
payoff yang bisa didapatkan oleh koalisi S dengan
!
pemain i terlibat di dalam koalisi.
_
=
payoffyang bisa didapatkan oleh koalisi S tanpa kehadiran pemain i.
\
=
payoff/ ukuran kekuatan pemain ke-i dalam suatu permainan yang menggambarkan ukuran kekuatan pemain ke-i dalam permainan. (Totoh, 2009)
2.10
Teori Permainan Penyusutan Juan Aparicio (2007) dalam jurnalnya melakukan penelitian tentang
bagaimana teori permainan dapat digunakan di dalam aktivitas perusahaaan. Salah satunya dalam metode akuntansi penyusutan yang baru. Untuk mendapatkan metode tersebut Juan Aparicio terlebih dahulu menggambarkan metode penyusutan yang biasa digunakan dalam laporan keuangan akuntansi. Dengan tujuan untuk mendapatkan metode depresiasi yang baru. Juan membentuk hubungan antara teori permainan dan akuntansi.
2.11
Web Web merupakan salah satu sumber daya internet yang berkembang pesat.
Pendistribusian informasi web dilakukan melalui pendekatan hyperlink, yang memungkinkan suatu teks, gambar, ataupun objek yang lain menjadi acuan untuk membuka halaman-halaman yang lain. Melalui pendekatan ini, seseorang dapat memperoleh informasi dengan beranjak dari satu halaman ke halaman lain. (Abdul Kadir, 2008)
17
2.12
Aplikasi Web Pada awalnya aplikasi web dibangun hanya dengan menggunakan bahasa
yang disebut HTML (HyperText Markup Languange) dan protokol yang digunakan dinamakan HTTP (HyperText Transfer Protocol). Pada perkembangan berikutnya, sejumlah script (PHP dan ASP) dan objek (appletJava) yang dikembangkan untuk memperluas kemampuan HTML. (Abdul Kadir, 2008)
2.13
Database Database merupakan sekumpulan dari data logika yang saling berhubungan
dan gambaran dari data tersebut, dirancang untuk memenuhi kebutuhan informasi sebuah organisasi. Database adalah sebuah tempat penyimpanan data yang memiliki kapasitas penyimpanan yang besar dimana dapat digunakan secara bersamaan oleh banyak departemen dan pengguna lainnya (user). (Thomas Conolly dan Carolyn Begg, 2010 : 65) Salah satu keuntungan menggunakan pendekatan database adalah konsisten data selalu terjaga. Hal ini dapat tercapai jika data yang disimpan dalam database terhindar dari adanya rangkap data (Redundant data). Data dikatakan rangkap jika dalam satu atribut mempunyai dua atau lebih nilai yang sama, tetapi bila salah satu nilai dihapus,maka tidak ada informasi yang hilang. (Waljiyanto, 2003 : 34-35)
2.14
Database Management System
2.14.1 Pengertian Database Management System Database Management System (DBMS) adalah sebuah sistem software yang memungkinkan pengguna untuk mendefinisikan, membuat, me-maintain, dan mengontrol akses ke database. (Connolly dan Begg, 2005:16)
2.14.2 Komponen Database Management System Terdapat lima komponen penting di dalam lingkungan DBMS yaitu: 1. Hardware (Perangkat keras) Untuk menjalankan DBMS dan aplikasi-aplikasi, maka membutuhkan perangkat keras.Perangkat keras meliputi dari PC, singlemainframe, dan jaringan komputer. 2. Software (Perangkat lunak)
18 Komponen perangkat lunak meliputi perangkat lunakDBMS sendiri, programprogram aplikasi, sistem operasi, dan sistem jaringan jika DBMS dioperasikan menggunakan jaringan. 3. Data Data merupakan komponen yang paling penting dari lingkungan DBMS dari sudut end-user. Data juga berperan sebagai penghubung antara komponen mesin (perangkat keras dan perangkat lunak) dan komponen manusia. 4. Procedure Procedure merupakan instruksi-instruksi dan aturan yang mengatur perancangan dan penggunaan database. Pengguna sistem dan staf yang mengelola database membutuhkan prosedur-prosedur yang didokumentasikan mengenai bagaimana cara menggunakan atau menjalankan sistem tersebut. 5. People Terdapat empat tipe orang yang berpartisipasi di dalam lingkungan DBMS yaitu: a.
Data dan DatabaseAdministrators Data Administrator adalah orang yang bertanggung jawab untuk pengelolaan sumber
data,
pemeliharaan
termasuk standar,
perencanaan kebijaksanaan,
database; dan
pengembangan
dan
prosedur-prosedur;
dan
perancangan konseptual/logikal database. DatabaseAdministrator adalah orang yang bertanggung jawab untuk hubungan secara fisikal dari database, termasuk perancangan fisikal database dan implementasi, keamanan dan kontrol integritas, pemeliharaan sistem operasi, serta memastikan kepuasan pengguna terhadap performa aplikasi tersebut. b.
Databasedesigners orang yang berkaitan dengan identifikasi data (entitas dan atribut), hubungan antar data, kendala-kendala pada data yang disimpan dalam database, dan menentukan bagaimana perancangan logikal database direalisasikan ke dalam bentuk fisikal.
c.
Application developers Application developers adalah orang-orang yang bertanggung jawab atas implementasi program aplikasi agar menyediakan fungsi-fungsi yang diperlukan bagi end-users.
19 d.
End-users End-users adalah ‘klien’ untuk database yang dibentuk, diimplementasikan, dan dipertahankan untuk melayani kebutuhan informasi. (Connolly dan Begg, 2005 :18)
2.15
MySQL
2.15.1. Pengertian MySQL MySQL merupakan RDMS (atau server database) yang mengelola database dengan cepat menampung dalam jumlah sangat besar dan dapat diakses oleh banyak user. (Raharjo, 2011:21) MySQL adalah sebuah software open source yang digunakan untuk membuat sebuah database. (Kadir, 2008:2)
2.15.2. Kelebihan MySQL Kelebihan MySQL: 1. Mampu menangani jutaan user dalam kurun waktu yang bersamaan. 2. Fitur-fitur yang dimiliki oleh MySQL sangat banyak dibutuhkan dalam aplikasi web, contoh: klausa LIMIT yang berfungsi untuk pengaturan halaman. 3. Mampu menampung lebih dari 50.000.000 record 4. MySQL memiliki overhead koneksi rendah. Karakteristik inilah yang menjadikan MySQL cocok bekerja dengan aplikasi CGI, dimana di setiap request scriptakan melakukan koneksi, mengirimkan satu atau lebih perintah SQL, lalu memutuskan koneksi lagi. 5. Sangat cepat mengeksekusi perintah. 6. Memiliki user privilege system yang mudah dan efisien 7. MySQL tersedia di berbagai platform, baik itu Linux ataupun Windows serta dalam beberapa varian Unix (Raharjo, 2011:21)
2.15.3. Tipe Data MySQL
20 Tipe data Mysql adalah data yang terdapat dalam sebuah tabel berupa field yang berisi nilai dari data tersebut. Nilai data dalam field memiliki tipe sendirisendiri. (Kustiyaningsih, 2011:147) MySQL berfungsi untuk mengolah database menggunakan bahasa SQL. MySQL bersifat open source sehingga kita bias menggunakan secara gratis. MySQL mengenal beberapa tipe data field yaitu: 1.
Tipe data numeric Tipe numeric dibedakan dalam dua macam kelompok, yaitu integer dan
floating point. Integer digunakan untuk data bilangan bulat sedangkan floating point digunakan untuk bilangan desimal. Tabel Tipe data numeric (Kustiyahningsih 2011:147)
Tabel 2.1 Tipe Data MySQL Tipe data
Kisaran Nilai
TINYINT
(-128)-127 atau (0-255)
SMALLINT
(-32768)-32767 atau (0-65535)
MEDUIMINT
(-3888608)-8388607 atau 0-16777215
INT, INTEGER
(-2147683648)-(21447683647) atau 0-4294967295
FLOAT
(-3,4 E+38)-(-1.17E-38), 0 dan 1.175E-38-3.4e+38
DOUBLE
(-1.79E+308)-(-2.225E-308), 0 dan 2.225E-3081.79E+308
2. Tipe data string String adalah rangkaian karakter. Tipe-tipe data yang termasuk dalam tipe data stringdapat dilihat pada tabel berikut: Tabel data string (Kustiyahningsih 2011:148)
Tabel 2.2 Tabel Tipe Data String Tipe Data
Kisaran Nilai
CHAR
1-255 karakter
VARCHAR
1-255 karakter
TINYTEXT
1-255 karakter
TEXT
1-65535 karakter
MEDIUMTEXT
1-16777215 karakter
LONGTEXT
1- 424967295 karakter
21
2.16
Personal Home Page (PHP)
2.16.1 Defenisi PHP Menurut Oktavian (2010:31), “PHP adalah akronim dari Hypertext Preprocessor, yaitu suatu bahasa pemrograman berbasiskan kode-kode (script) yang digunakan untuk mengolah suatu data dan mengirimkannya kembali ke web browser menjadi kode HTML”. Menurut Kustiyaningsih (2011:114), “PHP (atau resminya PHP: Hypertext Proprosessor) adalah skrip bersifat server-sideyang di tambahkan ke dalam HTML”. PHP sendiri merupakan singkatan dari Personal Home Page Tools. Skrip ini akan membuat suatu aplikasi dapat diintegrasikan ke dalam HTML sehingga suatu halaman web tidak lagi bersifat statis, namun menjadi bersifat dinamis.
2.16.2 Kelebihan PHP Kelebihan PHP dibanding bahasa pemograman lain, yaitu: 1. Bahasa pemrograman PHP adalah bahasa script yang tidak melakukan kompilasi dalam penggunaanya. 2. Web server yang mendukung PHP dapat ditemukan dengan mudah dimana-mana, mulai dari IIS samapai dengan APACHE, dengan konfigurasi yang relatif mudah. 3. Dalam sisi pengembangan relatif lebih mudah, karena banyaknya dukungan milis dan developer yang siap membantu. 4. Dalam sisi pemahaman, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak. 5. PHP adalah bahasa Open Source yang dapat digunakan diberbagai system operasi (Linux, Windows, Unix) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah system. 6. Integrasi yang sangat luas ke berbagai server database. Membuat suatu aplikasi web yang terhubung ke database menjadi lebih sederhana. Database yang didukung PHP : Oracle, Sybase, mSQL, MySQL, Solid, PostgreSQL, Adabas D, FilePro, Velocis, Microsoft Access, Informix, dBase, UNIX dbm, Interbase, Ingres, DBM. (Dr. Richardus Eko, 2002:36) Sedangkan konsep kerja dari PHP adalah sebagai berikut :
22
Gambar 2.3Konsep Kerja PHP
2.17
XAMPP Menurut Bunafit Nugroho (2008 :2), XAMPPmerupakan paket PHP berbasis
Open Source yang dikembangkan sebuah komunitas Open Source. Berikut ini adalah beberapa paket yang telah disediakan oleh XAMPPantara lain: -
Apache HTTP 2.0.54
-
MySQL 4.1.12
-
PHP 5.0.3
-
FileZilla FTP Server 0.9 Beta
-
phpMyAdmin 2.6.1-P13
-
dan lain-lain.
2.18
Adobe Dreamweaver Adobe Dreamweaver CS3 merupakan perangkat lunak yang dikenal sebagai
web authoring tool, yaitu perangkat lunak yang digunakan untuk mendesain tampilan halaman web. Adobe Dreamweaver CS3 mempunyai kemampuan untuk mengedit kode pada aplikasi web dengan bahasa pemrograman yang berbeda-beda, seperti PHP, ASP, Java Server Pages (JSP), dan lain-lain. (Dicky Abdur, 2009) 2.19
Pemrograman Terstuktur danPemrograman Berorientasi Objek Istilah Pemrograman Terstruktur (Structured Programming) mengacu dari
suatu kumpulan tehnik yang dikemukan oleh Edsger Dijkstra. Dengan tehnik ini akan meningkatkan produktifitas programmer, dengan mengurangi waktu yang dibutuhkan dalam penulisan (write), pengujian (test), penelusuran kesalahan (debug) dan pemeliharan(maintain) suatu program. Bahasa pemrograman yang mendukung pemrograman terstruktur: •
Cobol Turbo Prolog
•
C
23 •
Pascal
•
Delphi
•
Borland Delphi Pemrograman berorientasi objek merupakan paradigma pemrograman yang
berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. Bahasa pemrograman yang mendukung OOP antara lain: •
Java
•
C++
•
Pascal (bahasa pemrograman)
•
Visual Basic.NET
•
SIMULA
•
Ruby
•
Python
•
PHP
•
C#
•
Adobe Flash AS 3.0 (Angga Priandika dkk, 2014)
Pendekatan Terstruktur
Pendekatan Objek
Dikenal dengan (Structured Analisys Dikenal
dengan
(Object-oriented
and Design / SSAD)
Analysis and Design / OOAD)
Pendekatan Fungsional
Pendekatan Objek
Dekomposisi permasalahan dilakukan Dekomposisi permasalahan dilakukan berdasarkan secara hirarki,
fungsi
atau
proses berdasarkan
mulai
dan
konteks dalam sistem
objek-objek
yang
ada
sampai proses-proses yang paling kecil SSAD lebih sulit digunakan dalam OOAD lebih mudah digunakan dalam pembangunan sistem.
pembangunan sistem.
Pada SSAD tidak fokus pada coding
Pada OOAD lebih fokus pada coding
Pada SSAD menekankan pada kinerja Pada OOAD tidak menekankan pada
24 team
kinerja team (Tommy Risen, 2013)
2.20
Waterfall Model Pengembangan perangkat lunak ini difokuskan pada perencanaan dan
pengendalian, dimana model air terjun (waterfall) untuk membantu dalam mengatasi kerumitanyang terjadi akibat proyek-proyek pengembangan perangkat lunak.Model waterfall merupakan model proses klasik yang bersifat sistematis, berurutan dari satu tahap ke tahap lain dalam membangun software (Sommerville, 2011). Model ini mengusulkan sebuah pendekatan kepada pengembangan software yang sistematik dan sekuensial yang mulai dari tingkat kemajuan sistem pada seluruh analisis, desain, kode, pengujian dan pemeliharaan. Fase – fase dalam model waterfall menurut referensi (Sommerville, 2011:29-30)
Gambar 2.4Waterfall Model 1.
Requirements defenition Seluruh kebutuhan software harus bisa didapatkan dalam faseini, termasuk didalamnya kegunaan software yang diharapkan pengguna dan batasan software. Informasi ini biasanya dapat diperoleh melalui wawancara, survey atau diskusi. Informasi tersebut dianalisis untuk mendapatkan dokumentasi kebutuhan pengguna untuk digunakan pada tahap.
2.
System Design Tahap ini dilakukan sebelum melakukan coding. Tahap ini bertujuan untuk memberikan gambaran apa yang seharusnya dikerjakan dan bagaimana
25 tampilannya. Tahap ini membantu dalam menspesifikasikan kebutuhan hardware dan system serta mendefenisikan arsitektur system secara keseluruhan. 3.
Coding & Testing/penulisankode Program (Implementation) Dalam tahap ini dilakukan pemrograman. Pembuatan softwaredipecah menjadi modul-modul kecil yang nantinya akan digabungkan dalam tahap berikutnya. Selain itu dalam tahap inijuga dilakukan pemeriksaaan terhadap modul yang dibuat, apakah sudah memenuhi fungsi yang diinginkan atau belum.
4.
Penerapan / pengujian program (Integration & Testing) Ditahap ini dilakukan penggabungan modul-modu yang sudah dibuat dan dialkukan pengujian, ini dilakukan untuk mengetahui apakah software yang dibuat telah sesuai dengan desainnya dan masih terdapat kesalahan atau tidak.
5.
Pemeliharaan (Operation & Maintenance) Software
yang
sudah
jadi
diijalankan
serta
dilakukan
pemeliharaan.
Pemeliharaan termasuk dalam memperbaiki kesalahan yang tidak ditemukan pada langkah sebelumnya. Perbaikan implementasi unit system dan peningkatan jasa system sebagai kebutuhan baru KeuntunganMetode Waterfall •
Kualitas dari sistem yang dihasilkan akan baik. Ini dikarenakan oleh pelaksanaannya secara bertahap. Sehingga tidak terfokus pada tahapan tertentu.
•
Document pengembangan system sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya. Jadi setiap fase atau tahapan akan mempunyai dokumen tertentu.
•
Metode ini masih lebih baik digunakan walaupun sudah tergolong kuno, daripada menggunakan pendekatan asal-asalan. Selain itu, metode ini juga masih masuk akal jika kebutuhan sudah diketahui dengan baik.
Kelemahan waterfall •
Diperlukan manajemen yang baik, karena proses pengembangan tidak dapat dilakukan secara berulang sebelum terjadinya suatu produk.
•
Kesalahan kecil akan menjadi masalah besar jika tidak diketahui sejak awal pengembangan yang berakibat pada tahapan selanjutnya.
•
Pelanggan sulit menyatakan kebutuhan secara eksplisit sehingga tidak dapat mengakomodasi ketidak pastian pada saat awal pengembangan.
26 •
Pelanggan harus sabar, karena pembuatan perangkat lunak akan dimulai ketika tahap desain sudah selesai. Sedangkan pada tahap sebelum desain bisa memakan waktu yang lama.
•
Pada kenyataannya, jarang mengikuti urutan sekuensial seperti pada teori. Iterasi sering terjadi menyebabkan masalah baru.
2.21
Flowchart Flowchart adalah suatu diagram yang meyajikan berbagai simbol untuk
menampilkan alir datadan urutan operasi dalam suatu sistem. ANSI X.35 digunakan sebagai sumber dasar untuk penggunaan konvensi dan simbol standar flowchart. (George H.Bodnar, William S.Hopwood. 2010:41) Berikut ini adalah penjelasan istilah simbol standar dalam flowchart: 1. Terminal Terminal digunakan untuk merepresentasikan awal atau akhir flowchart.
Gambar 2.5 Terminal 2. Input/Output Input/Output
digunakan
untuk
merepresentasikan
data
untuk
proses
berikutnya(input) atau menyimpan informasi proses(output).
Gambar 2.6 Input/Output 3. Process Process digunakan untuk merepresentasikan setiap jenis proses dalam flowchart.
Gambar 2.7 Process 4. Flowline Flowline digunakan untuk menghubungkan berbagai simbol sehingga terbentuk sebuah urutan proses.
27 Gambar 2.8Flowline 5. Annotation Annotation digunakan untuk memberikan tambahan deskripsi sebagai klarifikasi.
Gambar 2.9Annotative 6. Decision Decision digunakan untuk merepresentasikan operasi tambahan deskripsi sebagai klarifikasi.
Gambar 2.10Decision 2.22
Delapan Aturan Emas Menurut Shneiderman (2010), ada delapan hal yang harus diperhatikan dalam
membuat rancangan antar muka sebuah aplikasi atau yang sering disebut delapan aturan emas. Delapan aturan emas tersebut adalah: 1. Berusaha untuk konsisten Tindakan-tindakan konsisten diperlukan dalam beberapa keadaan misalnya pemakaian warna, layout, jenis tulisan, dan pembuatan menu. 2. Menyediakan fungsi yang bersifat umum Aplikasi harus mampu memaksimalkan kecepatan interaksi seperti ini, baik melalui singkatan, simbol/icon, ataupun menu-menu yang sudah kita siapkan di halaman awal. 3.
Memberikan umpan balik yang informatif Untuk segala aksi yang dilakukan user, harus ada sistem yang memberikan umpan balik dengan respon yang berbeda di setiap kondisi yang ada.
4.
Merancang dialog untuk menghasilkan penutupan Adanya urutan dari aksi-aksi yang harus diorganisasikan menjadi bagian awal, pertengahan, dan akhir dari aksi tersebut agar memberikan kepuasan kepada user yang menyelesaikan aksi tersebut dan adanya sebuah indikasi untuk mempersiapkan ke bagian selanjutnya dari aksi tersebut.
5.
Memberikan pencegahan terhadap kesalahan yang sederhana
28 Sebisa mungkin, desain sistem yang dibuat tidak menyebabkan user melakukan kesalahan serius. Jika user membuat kesalahan, aplikasi harus dapat mendeteksi kesalahan tersebut dan langsung memberikan penanganan kesalahan dengan cara yang mudah dipahami dan instruksi yang spesifik untuk penanganannya. 6. Memungkinkan pengembalian aksi sebelumnya Sebisa mungkin, sebuah aplikasi memiliki fitur yang dapat membatalkan aksi. 7.
Mendukung pengendalian internal User yang sudah berpengalaman juga ingin merasakan bahwa user bertanggung jawab atas sistemnya dan sistem tersebut merespon tindakan yang dilakukan user.
8. Mengurangi beban ingatan jangka pendek Desainer harus menghindari interface dimana user harus mengingat informasi dari satu tampilan yang akan dipakai di tampilan lainnya karena kapasitas ingatan manusia dalam hal merespon informasi jangka pendek terbatas 2.23
Unified Modelling Language(UML) Whitten dan Bentley (2007) mengatakan Unified Modelling Language
(UML) adalah blueprint dari sistem informasi yang akan dibuat dalam pengembangan aplikasi. Setiap UML memiliki fungsi dan tujuan yang berbeda dalam pengembangan aplikasi sesuai dengan jenisnya. Terdapat 13 diagram yang dapat dipakai untuk pengembangan softwareyaitu : 1.
Use case
2.
Activity
3.
Class
4.
Object
5.
State machine
6.
Composite structure
7.
Sequence
8.
Communication
9.
Interaction overview
10. Timing 11. Component 12. Deployment 13. Package
29 Dalam pengembangan software, dari ketiga belas diagram tersebut tidak semua perlu untuk digunakan. UML yang digunakan dipilih sesuai dengan kebutuhan, dengan syarat sudah dapat menggambarkan proses pengembangan sistem secara jelas.
2.22.1 Use Case Diagram Menurut Whitten dan Bentley (2007), use case diagram merupakan salah satu bagian dari use case modeling.Use case diagram digunakan untuk menggambarkan secara jelas proses yang akan dijalankan oleh sistem. Dalam use case diagram terdapat tiga komponen utama yaitu : 2.22.1.1 Use Case Use case adalah aktivitas yang akan dilakukan dalam sistem berupa interaksi antara sistem dan user untuk mencapai tujuan tertentu. Use case digambarkan dalam bentuk elips mendatar yang memiliki keterangan pada bagian atas, bawah, atau dalam dari elips tersebut.
Security System Check Identity
Add New Identity User
Gambar 2.11Contoh Use Case Diagram
2.22.1.2 Actor Actor adalah user yang akan berinteraksi dalam sistem dengan melakukan use case untuk bertukar informasi. Actor digambarkan dalam bentuk stick figure dengan label peran actor tersebut dalam sistem.
30
Gambar 2.12Simbol Actor
2.22.1.3 Relationship Relationship adalah hubungan dari dua symbol dalam use case diagram yang digambarkan dalam bentuk garis. Arti dari hubungan tersebut berbeda-beda tergantung jenis garis dan symbol yang dihubungkan. Berikut adalah beberapa hubungan yang ada dalam use case diagram: a. Associations Komunikasi antara use case dan actor digambarkan sebagai associations. Garis associations dapat memiliki anak panah yang berarti actor berperan sebagai pelaku dari use case tersebut, sedangkan garis tanpa anak panah berarti actor hanya berperan sebagai external database atau penerima dari use case tersebut.
Gambar 2.13Contoh Hubungan Associations b. Extendes Sebuah use case yang cukup kompleks dapat dipisahkan menjadi extension use case yaitu dengan membuat hubungan extends dengan use case lainnya. Pemisahan tersebut berguna untuk membuat use case tetap berjalan sesuai logika. Hubungan tersebut digambarkan menggunakan garis solid dengan anak panah dan label <<extends>>. Use case X extends use case Y berarti use case X ada bagian yang lbh spesifik dari use case Y atau use case Y bersifat lebih umum.
Gambar 2.14Contoh Hubungan Extends c.
Uses
31 Hubungan uses digambarkan menggunakan garis solid dengan anak panah dan label <<usess>>. Use case X uses use case Y berarti untuk melakukan use case X , use case Y harus dilakukan terlebih dahulu minimal satu kali.
Gambar 2.15Contoh Hubungan Uses 2.22.2 Use Case Narrative Menurut Whitten dan Bentley (2007), use case narrative merupakan salah satu bagian dari use case modeling yang berisikan rincian dari setiap event dan menerangkan bagaiman user berinteraksi dengan sistem selama event terjadi.
2.22.3 Activity Diagram Menurut Whitten dan Bentley (2007), activity diagram digunakan untuk menggambarkan proses dari aktivitas dalam suatu sistem. Melalui activity diagram dapat dilihat secara jelas urutan dari use case yang akan dijalankan. Berikut adalah tabel notasi yang akan digunakan dalam menggambarkan activity diagram: Tabel 2.3Tabel Notasi Activity Diagram Notasi
Keterangan
Notasi ini menggambarkan awal proses dari activity Initial Node
diagram
Notasi ini menggambarkan sebuah aktivitas yang jika disusun secara keseluruhan akan menggambarkan keseluruhan aktivitas dalam activity diagram Actions Notasi ini menggambarkan jalannya aktivitas dalam activity diagram. Jika notasi ini keluar dari decision Flow
dibutuhkan kata-kata untuk mengidentifikasikannya.
32 Notasi ini menggambarkan keadaan bersyarat, yaitu Decision/Merge
decision dan merge. Decision Satu flow akan masuk ke dalam decision dan menghasilkan dua atau lebih flow lainnya yang merupakan hasil pilihan dari kondisi yang ada. Merge Dua atau lebih flow hasil dari decision akan masuk ke dalam merge dan menggabungkannya menjadi satu flow. Notasi ini menggambarkan akhir proses dari activity
Activity Final
diagram
Gambar 2.16Contoh Activity Diagram 2.22.4 Class Diagram Menurut Whitten dan Bentley (2007), class diagram adalah kumpulan dari objek-objek beserta hubungannya dalam suatu sistem yang biasanya disebut sebagai class. Dalam class diagram terdapat tiga aspek utama, yaitu: 1.
Object instance
2.
Attribute
33 Behavior<
>
-attribute +behavior
Gambar 2.17Struktur Class Dalam class diagram terdapat istilah visibility yang merupakan level akses suatu objek terhadap attribute dan behavior. Terdapat tiga level visibility dalam class diagram yaitu pada tabel berikut: Tabel 2.4Tabel Visibility Visibility
Simbol
Keterangan
Public
+
Dapat digunakan oleh semua kelas yang berhubungan.
Protected
#
Hanya dapat digunakan oleh kelas itu dan kelas turunannya.
Private
-
Hanya dapat digunakan kelas itu sendiri
Dalam class diagram juga terdapat istilah generalisasi atau spesialisasi, yaitu teknik yang digunakan untuk mengelompokkan attribute dan behavior yang sama dari suatu objek menjadi kelas tersendiri yang disebut supertype. Attribute dan behavior yang ada pada supertypeakan diturunkan ke kelas anaknya yang disebut subtype.
34 Human -Gender -Name +Walking() +Running()
Student
Lecturer
-Student Identity -GPA +Studying()
-Lecturer Identity +Teaching()
Gambar 2.18Contoh Generalisasi/Spesialisasi 2.21.5 Sequence Diagram Menurut Whitten dan Bentley (2007), sequence diagram digunakan untuk menggambarkan bagaimana actor dan sistem berinteraksi dalam suatu skenario use case, Notasi yang digunakan dalam sequence diagram adalah sebagai berikut:
Tabel 2. 5Tabel Notasi Sequence Diagram Notasi
Keterangan Notasi ini menggambarkan user yang berinteraksi dengan sistem
Actor
Notasi ini menggambarkan kelaskelas yang ada pada class diagram
System
35 Notasi
Keterangan
Notasi ini menggambarkan hidup dari sequence
Lifelines Notasi ini menggambarkan waktu dimana
user
sedang
aktif
berinteraksi dengan sistem Activation Bars Notasi ini menggambarkan pesan masuk
yang
dikirimkan
yaitu
berupa behavior. Input Message \
Notasi ini menggambarkan pesan yang dikirimkan sebagai balasan pesan masuk yaitu berupa attribute.
Output Message Notasi ini menggambarkan area pada
sistem
perulangan
yang (loops),
mengalami seleksi
(alternate fragments), atau kondisi opsional (optional). Frame
36
Gambar 2.19Contoh Sequence Diagram