BAB II LANDASAN TEORI A. Perancangan Perangkat Lunak Perancangan perangkat lunak merupakan deskripsi struktur dari perangkat lunak yang akan dimplementasikan, antara lain berisi data yang merupakan bagian sistem, interface antara komponen- komponen sistem dan terkadang algoritma yang digunakan. Para perancang tidak langsung menghasilkan rancangan akhir tetapi mengembangkan rancangan secara iteratif melalui versi demi versi yang berbeda, sehingga menghasilkan suatu perangkat lunak yang siap untuk digunakan. Secara umum pengertian dari perangkat lunak adalah perintah (program komputer) yang bila dieksekusi memberikan fungsi dan unjuk kerja seperti yang diinginkan, atau pengertian lainnya tentang perangkat lunak adalah “program komputer dan dokumentasi yang berhubungan, produk perangkat lunak dapat dikembangkan 10
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
BAB IILANDASAN TEORI
A. Perancangan Perangkat Lunak
Perancangan perangkat lunak merupakan deskripsi struktur dari perangkat
lunak yang akan dimplementasikan, antara lain berisi data yang merupakan bagian
sistem, interface antara komponen-komponen sistem dan terkadang algoritma
yang digunakan. Para perancang tidak langsung menghasilkan rancangan akhir
tetapi mengembangkan rancangan secara iteratif melalui versi demi versi yang
berbeda, sehingga menghasilkan suatu perangkat lunak yang siap untuk
digunakan. Secara umum pengertian dari perangkat lunak adalah perintah
(program komputer) yang bila dieksekusi memberikan fungsi dan unjuk kerja
seperti yang diinginkan, atau pengertian lainnya tentang perangkat lunak adalah
“program komputer dan dokumentasi yang berhubungan, produk perangkat lunak
dapat dikembangkan untuk pelanggan tertentu atau pasar tertentu” (Ian
Sommervile, 2003:6).
Terdapat beberapa karakteristik dari perangkat lunak, yaitu antara lain
sebagai berikut:
1. Perangkat lunak dibangun dan dikembangkan tidak dibuat dalam
bentuk yang klasik.
2. Perangkat lunak tidak pernah usang.
3. Sebagian besar perangkat lunak dibuat secara custom built, serta tidak
dapat dirakit dari komponen yang suda ada.
10
11
Selain mempunyai beberapa karakteristik, perangkat lunak juga
mempunyai beberapa bagian dalam pengaplikasinnya, antara lain sebagai berikut:
1. Perangkat lunak sistem.
2. Perangkat luak real-time.
3. Perangkat lunak bisnis.
4. Perangkat lunak teknik dan ilmu pengetahuan.
5. Embedded Software.
6. Perangkat lunak computer personal.
7. Perangkat lunak kecerdasan buatan.
B. Analisis
Sebelum merancang suatu program aplikasi atau membuat suatu sistem
yang baru tentu tahap pertama adalah melakukan analisis, dengan analisis dapat
diketahui apa saja kekurangan-kekurangan dari sistem yang sedang diterapkan,
kebutuhan-kebutuhan apa saja yang diperlukan untuk meracang suatu sistem yang
baru serta bayak hal lainya. Kegiatan Analsis dapat diartkan sebagai “penelitian
atas sistem yang telah ada dengan tujuan untuk merancang sistem yang baru atau
diperbaharui” (Raymond Mc. Leod, 2001: 190).
Orang yang melakukan analisis terhadap suatu sistem disebut sebagai
seorang analis. Menurut Andi Kristanto (2003: 5) “Analis adalah seseorang yang
mempunyai kemampuan untuk merancanakan dan menerapkan rancangan
sistemnya sesuai dengan permasalahan yang terjadi”. Terdapat beberpa kriteria
dan karakteristik untuk menjadi seorang analis secara umum, yaitu sebagai
berikut:
12
1. Mempunyai wawasan ilmu pengetahuan yang baik yang berkaitan
dengan sistem yang akan dianalisis.
2. Seorang analis harus mampu menempatkan dirinya sebagai Modify
Agent (ahli perubahan).
3. Seorang analis harus mampu menempatkan dirinya sebagai konsultan
pendukung (Support Consultant).
C. Konsep Object Oriented Programming
Definisi sederhana dari object oriented programming (OOP) adalah
“metode pemrograman dimana pengembang tidak hanya mendefinisikan tipe data
dari struktur data tetapi tipe dari operasi (fungsi) yang dapat diaplikasikan ke
struktur data” (Drs. Ario Suryo Kusumo, 2004: 592). Salah satu keunggulan OOP
dibandingkan dengan teknik pemrograman terstruktur adalah OOP
memungkinkan pengembang untuk membuat modul yang tidak perlu berubah
ketika suatu tipe objek ditambah, hal ini membuat pemrograman berorientasi
yang objek lebih mudah dimodifikasi.
Istilah yang akan sering ditemui didalam teknik OOP adalah objek, objek
dapat diartiakan sebagai “abstraksi sesuatu dalam dunia nyata” (Ir. M. Farid Azis,
M.Kom, 2005: 5). Secara lebih jelasnya Objek software analysis & design adalah
sesuatu berupa konsep (concept), benda (thing), dan sesuatu yang
membedakannya dengan lingkungannya. Secara sederhana objek adalah mobil,
manusia, alarm dan lainnya. Tapi objek dapat pula merupakan sesuatu yang
abstrak yang hidup didalam sistem seperti tabel, database, event, system
messages. Objek dikenali dari keadaannya dan juga operasinya. Sebagai contoh
13
sebuah mobil dikenali dari warnanya, bentuknya, sedangkan manusia dari
suaranya. Ciri-ciri ini yang akan membedakan objek tersebut dari objek lainnya.
1. Teknik Dasar OOA/D (Object-Oriented Analysis/Design)
Dalam dunia pemodelan, metodologi implementasi objek
walaupun terikat kaidah-kaidah standar, namun teknik pemilihan objek
tidak terlepas pada subyektifitas software analyst dan designer. Beberapa
objek akan diabaikan dan beberapa objek menjadi perhatian untuk
diimplementasikan didalam sistem. Ada tiga teknik atau konsep dasar
dalam OOA/D, yaitu pemodulan (encapsulation), penurunan (inheritance)
dan polymorphism.
a. Encapsulation
Pada dunia nyata, seorang ibu rumah tangga menanak nasi dengan
menggunakan rice cooker, ibu tersebut menggunakannya hanya
dengan menekan tombol. Tanpa harus tahu bagaimana proses itu
sebenarnya terjadi. Disini terdapat penyembunyian informasi milik
rice cooker, sehingga tidak perlu diketahui seorang ibu. Dengan
demikian menanak nasi oleh si ibu menjadi sesuatu yang menjadi
dasar bagi konsep information hiding. Jadi encapsulation adalah
“suatu meaknisme untuk menyembunyikan atau memproteksi suatu
proses dari kemungkinan interferensi atau penyalahgunaan dari luar
sistem sekaligus menyederhanakan penggunaan sistem itu sendiri”
(Indrajani, 2007: 1).
14
b. Penurunan (Inheritance)
Objek-objek memiliki banyak persamaan, namun ada sedikit
perbedan. Contoh dengan beberapa buah mobil yang mempunyai
kegunaan yang berbeda-beda. Ada mobil bak terbuka seperti truk,
bak tertutup seperti Sedan dan minibus. Walaupun demikian objek-
objek ini memiliki kesamaan yaitu teridentifikasi sebagai objek
mobil, objek ini dapat dikatakan sebagai objek induk (parent).
Sedangkan minibus dikatakan sebagai objek anak (child), hal ini
juga berarti semua operasi yang berlaku pada mobil berlaku juga
pada minibus. Ir. M. Farid Azis, M. Kom mendefinisikan
inheritance sebagai “pembuatan sebuah class baru berdasarkan
pada class yang sudah ada sebelumnya” (Object Oriented
Programming Dengan PHP5, 2005:10).
c. Polymorphism
Pada objek mobil, walaupun minibus dan truk merupakan jenis
objek mobil yang sama, namun memiliki juga perbedaan. Misalnya
suara truk lebih keras dari pada minibus, hal ini juga berlaku pada
objek anak (child) melakukan metoda yang sama dengan algoritma
berbeda dari objek induknya. Hal ini yang disebut polymorphism,
teknik atau konsep dasar lainnya adalah ruang lingkup atau
pembatasan. Artinya setiap objek mempunyai ruang lingkup kelas,
atribut, dan metoda yang dibatasi.
15
D. Pengantar Mengenai Unified Modeling Language (UML)
“UML adalah bahasa spesifikasi standar untuk mendokumentasikan,
menspesifikasikan, dan membangun sistem perangkat lunak”
(http://id.wikipedia.org/wiki/UML). UML tidak hanya merupakan sebuah bahasa
pemograman visual saja, namun juga dapat secara langsung dihubungkan ke
berbagai bahasa pemograman, seperti JAVA, C++, Visual Basic, PHP atau bahkan
dihubungkan secara langsung ke dalam sebuah object-oriented database. Begitu
juga mengenai pendokumentasian dapat dilakukan seperti requirements,
arsitektur, design, source code, project plan, tests, dan prototypes.
UML mendefinisikan beberapa diagram-diagram, antara lain sebagai
berikut:
1. Use Case Diagram
Use case adalah abstraksi dari interaksi antara sistem dan actor. Use
case bekerja dengan cara mendeskripsikan tipe interaksi antara user
sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana
sebuah sistem dipakai. Use case merupakan konstruksi untuk
mendeskripsikan bagaimana sistem akan terlihat dimata user. Sedangkan
use case diagram memfasilitasi komunikasi diantara analis dan pengguna
serta antara analis dan client.
2. Class Diagram
“Class adalah dekripsi kelompok objek-objek dengan properti,
perilaku (operasi) dan relasi yang sama” (Sri Dharwiyanti, 2003: 4).
Sehingga dengan adanya class diagram dapat memberikan pandangan
global atas sebuah sistem. Hal tersebut tercermin dari class-class yang ada
dan relasinya satu dengan yang lainnya. Sebuah sistem biasanya
mempunyai beberapa class diagram. Class diagram sangat membantu
dalam visualisasi struktur kelas dari suatu sistem.
4. Sequence diagram
Sequence Diagram digunakan untuk menggambarkan perilaku pada
sebuah skenario. Kegunaannya untuk menunjukkan rangkaian pesan yang
dikirim antara object juga interaksi antara object, sesuatu yang terjadi pada
titik tertentu dalam eksekusi sistem.
5. Collaboration diagram
Menggambarkan kolaborasi dinamis seperti sequence diagrams.
Dalam menunjukkan pertukaran pesan, collaboration diagrams
menggambarkan object dan hubungannya (mengacu ke konteks). Jika
penekannya pada waktu atau urutan gunakan sequencediagrams, tapi jika
penekanannya pada konteks gunakan collaboration diagram.
6. State diagram
State Diagram Menggambarkan semua state (kondisi) yang
dimiliki oleh suatu object dari suatu class dan keadaan yang menyebabkan
state berubah. Kejadian dapat berupa object lain yang mengirim pesan.
State class tidak digambarkan untuk semua class, hanya yang mempunyai
sejumlah state yang terdefinisi dengan baik dan kondisi class berubah oleh
state yang berbeda. “State Diagram jua mendeskripsikan bagaimana suatu
17
object mengalami perubahan status adanya trigger dari event-event”
(http://www2.toki.or.id/rbpl/task/rbpl-p04.pdf).
7. Component diagram
“Component software merupakan bagian fisik dari sebuah sistem,
karena menetap dikomputer tidak berada dibenak para analis” (Sri
Dharwiyanti, 2003 6). Komponen merupakan implementasi software dari
sebuah atau lebih class. Komponen dapat berupa source code, komponent
biner, atau executable component. Sebuah komponen berisi informasi
tentang logic class atau class yang diimplementasikan sehingga membuat
pemetaan dari logical view ke component view. Sehingga component
diagram merepresentasikan dunia riil yaitu component software yang
mengandung component, interface dan relationship.
8. Deployment Diagram
Menggambarkan tata letak sebuah sistem secara fisik,
menampakkan bagian-bagian software yang berjalan pada bagian-bagian
hardware, menunjukkan hubungan komputer dengan perangkat (nodes)
satu sama lain dan jenis hubungannya. Di dalam nodes, executeable
component dan object yang dialokasikan untuk memperlihatkan unit
perangkat lunak yang dieksekusi oleh node tertentu dan ketergantungan
komponen.
18
E. Diagram PERT (Progran Evaluation Review Technique)
”Diagram PERT (Progran Evaluation Review Technique) merupakan
teknik yang dipakai untuk mengevaluasi dan mereview porgres aktifitas dalam
sebuah rangkaian yang berurutan atau sebuah proyek” (Bonnie Soeherman, 2008:
99). Diagram PERT dibuat karena merupakan salah satu bagian dari manajemen
proyek yang digunakan untuk melakukan penjadwalan, mengatur dan
mengkoordinasikan bagian-bagian pekerjaan yang ada kedalam suatu proyek.
PERT. Diagram PERT pertama kali dikembangkan oleh Angkatan Laut Amerika
Serikat pada tahun 1850 untuk mengatur program misil. Adapun langkah-langkah
dalam melakukan perencanaan dengan menggunakan PERT adalah sebagai
berikut:
1. Mengidentifikasi aktifitas dan titik tempuhnya (penanda kejadiaan pada
awal dan akhir satu atau lebih aktifitas). Untuk mengidentifikasi
aktifitas dan titik tempuh dapat menggunakan suatu tabel agar lebih
mudah.
2. Menetapkan urutan pengerjaan dari aktifitas-aktifitas yang telah
direncanakan, langkah ini bisa dilakukan bersamaan dengan identifikasi
aktivitas.
3. Membuat suatu diagram jaringan (Network Diagram).
4. Memperkirakan waktu yang dibutuhkan untuk setiap aktivitas.
5. Menetapkan suatu jalur kritis (Crtical Path)¸dengan cara menambah
waktu suatu aktivitas pada tiap urutan pekerjaan dan menetapkan jalur
terpanjang pada tiap proyek.
19
6. Melakukan pembaharuan diagram PERT sesuai dengan kemajuan
proyek.
Berikut ini adalah contoh dari digram PERT
Gambar 2.1 Analogi Diagram PERTSumber : Designing Infomation System (Bonnie Soeherman, 2008)
F. Metode-Metode Untuk Melakukan Analisis Biaya dan manfaat
1. Payback Period
Payback Period merupakan salah satu metode perhitungan Capital
Budgeting yang relatif sederhana. Menurut Arifin dan Fauzi (1999: 12) bahwa
"Metode ini merupakan penentuan jangka waktu yang dibutuhkan untuk
menutup initial investment dari suatu proyek dengan menggunakan cash inflow
yang dihasilkan oleh proyek tersebut". Dari pengertian tersebut, maka dapat
disimpulkan bahwa payback period adalah waktu yang diperlukan (dalam
Satuan Tahun) untuk mengembalikan investasi yang telah ditanamkan oleh
penanam modal berdasarkan cash Inflow yang dihasilkan oleh suatu proyek.
Cara untuk mengambil keputusan dengan metode ini adalah membandingkan
payback period investasi yang diusulkan dengan umur ekonomis aktiva,
1
4
3
2 5 7
6
20
apabila payback period lebih pendek dari pada umur ekonomis aktiva maka
rencana investasi dapat diterima, sedangkan apabila payback period lebih
panjang dari pada umur ekonomis aktiva maka rencana investasi ditolak.
2. IRR (Internal Rate Return)
“Metode ini untuk membuat peringkat usulan investasi dengan menggunakan tingkat pengembalian atas investasi yang dihitung dengan mencari tingkat diskonto yang menyamakan nilai sekarang dari arus kas masuk proyek yang diharapkan terhadap nilai sekarang biaya proyek atau sama dengan tingkat diskonto yang membuat NPV sama dengan nol” (Riana Mutiasari, http://one.indoskripsi.com/).
IRR merupakan tingkat bunga yang diperoleh dari menyamakan nilai
sekaran dari investasi awal dengan nilai sekarang dari penerimaan yang akan
diterima pada masa yang akan datang. Apabila nilai dari IRR >= Cost of
Capital maka Proyek dipertimbangkan diterima.
3. Metode Nilai Sekarang Bersih (NVP)
Menurut Bambang Riayanto (1992:115) “Net present value adalah
selisih antara present value dari keseluruhan proceeds yang di diskontokan atas
dasar biaya modal tertentu dengan present value pengeluaran modal”. Tetapi
secara umum NPV adalah analisis manfaat finansial yang digunakan untuk
mengukur layak tidaknya suatu usaha dilaksanakan dilihat dari nilai sekarang
(present value) arus kas bersih yang akan diterima dibandingkan dengan nilai
sekarang dari jumlah investasi yang dikeluarkan. Arus kas bersih adalah laba
bersih usaha ditambah penyusutan, sedang jumlah investasi adalah jumlah total
dana yang dikeluarkan untuk membiayai pengadaan seluruh alat-alat produksi
yang dibutuhkan dalam menjalankan suatu usaha. Proyek layak jika NPV
bertanda positif dan sebaliknya tidak layak jika NPV bertanda negatif.
Gambar 2.3 Script PHP DasarSumber : Pemrograman Databse dengan PHP dan MySQL
(Arief Ramadahan, 2006: 30)
K. MySQL
MySQL Merupakan software sistem manajemen basis data SQL (database
management system) atau DBMS yang multithread dan multi-user. MySQL AB
membuat MySQL tersedia sebagai software gratis dibawah lisensi GNU (General
Public License), tetapi mereka juga menjual dibawah lisensi komersial untuk
kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GNU.
MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia
MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya.
Orang Swedia dan orang Finlandia yang mendirikan MySQL AB adalah: David
Axmark, Allan Larsson, dan Michael "Monty" Widenius. Berikut ini adalah
perintah-perintah dasaer didalam SQL.
1. Melihat Database
Cara melihat daftar database yang ada di MySQL adalah dengan
mengetikkan baris perintah berikut:
mysql> drop database test;
mysql> create database Mahasiswa_db;
30
2. Menghapus Database
Untuk menghapus database dapat dilakukan dengan
men”dropping”nya, dan perintahnya adalah :
3. Membuat Database
Berikut ini adalah cara membuat sebuah database pada MySQL.
Sebagai latihan disini adalah membuat database dengan nama
“Mahasiswa_db”.
4. Memilih Database
Memilih sebuah database yang cocok untuk proyek dan data yang
akan digunakan, terlebih dahulu harus memberitahukan MySQL bahwa
ingin menggunakannya. Lagi-lagi, perintahnya tidak terlalu sulit untuk
diingat :
Sekarang database Mahasiswa_db telah digunakan dan bisa
menambahkan beberapa tabel ke dalam database Mahasiswa_db.
5. Membuat Sebuah Table
Untuk membuat table, bentuk dasar dari perintahnya adalah
sebagai berikut :
mysql> USE Mahasiswa_db
31
L. Pengenalan E-Library (electronic library)
“Perpustakaan berasal dari kata pustaka, menurut kamus umum bahasa Indonesia kata pustaka artinya buku, sedangkan perpustakaan artinya kumpulan buku. Perpustakaan dalam bahasa inggris disebut “Library” berasal dari bahasa romawi yaitu “Librarium” yang terdiri dari kata Liber artinya buku sedangkan armarium artinya lemari” (http://media.diknas.go.id/media/document/5361.pdf).
Jadi dilihat dari kata asalnya, berarti lemari dimana didalamnya terdapat
buku-buku. Sebuah perpustakaan pada sebuah lembaga pendidikan pada
hakekatnya adalah sebuah unit kerja yang bertugas memberikan layanan bacaan
dan informasi kepada warga lembaga pendidikan tersebut agar proses belajar
mengajar di lembaga pendidikan yang bersangkutan dapat belajar dengan baik.
Sementara itu e–library atau perpustakaan digital adalah suatu
perpustakaan yang menyimpan data baik itu buku (tulisan), gambar, suara dalam
bentuk file elektronik dan mendistribusikannya dengan menggunakan protokol
elektronik melalui jaringan komputer. Istilah e-library sendiri mengandung
pengertian sama dengan virtual library. Sedangkan istilah yang sering digunakan
dewasa ini adalah digital library. Berikut ini adalah tabel yang menjelaskan
perbedaan antara e-library dengan perpustakaan manual biasa.
mysql> CREATE TABLE students (-> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,-> firstname VARCHAR (30),-> lastname VARCHAR (30),-> phone VARCHAR (14),-> city VARCHAR (50),-> state VARCHAR (25),-> zip VARCHAR (10),-> );
32
Tabel 2.1 Perbedaan e-library dengan Manual Library
Manfaat e-library sebagai suatu layanan baru di perpustakaan bagi
komunitas pengguna perpustakaan adalah sebagai berikut:
1. e-library merupakan layanan yang dapat membantu pada inisiatif
pembelajaran yang terintgrasi.
2. e-library merupakan sumber yang sempurna untuk mengirmkan teks
lengkap dan referensi penting mutimedia, mudah untuk digunakan
dalam penelitian, serta dalam mengerjakan tugas yang diberikan oleh
dosen.
3. Mahasiswa menemukan jawaban yang mereka butuhkan lebih dari 2000
majalah, surat kabar, buku-buku dan transkrip teks lengkap: termasuk
ribuan peta, gambar, website penddik dari pusat pekerjaan rumah dan
file audio atau vidio.
4. Dosen dan pustakawan bekerja sama untuk membangun mata rantai
yang kuat terhadap isi yang terpilih. Menciptakan daftar bacaan dengan
halaman-halaman topik, pelajaran-peajaran dan halaman minat dan
5. kepentingan komuitas perguruan tinggi.
6. Mengurangi terjadinya pengulangan kegiatan (plagiarism).
33
7. Penyebaran dan akses informasi akan lebih cepat tanpa batas waktu dan
ruang, karena tidak terikat secara fisik.
8. Bersifat lebih luas dari katalog induk dunia (universal main catalogue).
dan mampu Melakukan kerjasama dalam jejaring informasi
(information networking).
Untuk membangun e-library, banyak faktor yang perlu dipertimbangkan
agar pembangunan e-library tersebut dapat berjalan optimal. Adapun faktor-
faktornya seperti analisis kebutuhan, studi kelayakan, pemilihan software, aspek
manusia, pelaksanaan dan evaluasi. Untuk mengembangkan suatu program
perpustakaan digital harus didukung dana dan sumberdaya manusia yang handal
karena harus mampu mengelola berbagai komponen penting di dalamnya seperti
isi (content), sumberdaya informasi (information resources), aplikasi informasi
(information application) dan jasa informasi (information services).
Berdasarkan pada pengertian e-library maka komponen yang diperlukan
didalam pembuatan e-library diantaranya adalah sebagai berikut: