BAB II LANDASAN TEORI
2.1 Konsep Dasar Sistem 2.1.1 Sistem Menurut (Jogiyanto H.M:2005,2) Sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk mencapai suatu tujuan tertentu. Sedangkan menurut L. James Havery “Sistem adalah prosedur logis dan rasional untuk merancang suatu rangkaian komponen yang berhubungan satu dengan yang lainnyadengan maksud untuk berfungsi sebagai suatu kesatuan dalam usaha mencapai suatu tujuan yang telah ditentukan. 2.1.2 Karakteristik Sistem Suatu sistem mempunyai karakteristik atau sifat-sifat tertentu, yaitu : a. Batas sistem Penggambaran dari suatu elemen atau unsur mana yang termasuk di dalam sistem dan mana yang diluar sistem. b. Lingkungan luar sistem Segala sesuatu diluar sistem, lingkungan yang menyediakan asumsi, kendala, dan input terhadap suatu sistem. c. Penghubung Tempat dimana komponen atau sistem dan lingkunganya bertemu atau berinteraksi. d. Masukan
Sumber daya (data, bahan baku, peralatan, energi, dari lingkungan yang dikonsumsi dan dimanipulasi oleh suatu sistem. e. Keluaran Sumber daya atau produk (informasi, laporan, dokumen, tampilan layer komputer, barang jadi) yang disediakan untuk lingkungan sistem oleh kegiatan dalam suatu sistem. f. Komponen Kegiatan-kegiatan atau proses dalam suatu sistem yang mentransformasikan input menjadi bentuk setengah jadi(output). Komponen ini bisa merupakan subsistem dari sebuah sistem. g. Penyimpanan Area yang dikuasai dan digunakan untuk penyimpanan sementara dan tetap dari informasi, energi, bahan baku, dan sebagainya. Penyimpanan merupakan suatu media penyangga di antara komponen tersebut bekerja dengan berbagai tingkatan yang ada dan memungkinkan komponen yang berbeda dari berbagai data yang sama. 2.2 Konsep Dasar Informasi 2.2.1 Pengertian Informasi James A.O‟Brien (2005,14) mengungkapkan: “Informasi adalah data yang telah diolah menjadi sebuah bentuk yang berarti bagi penerima dan bermanfaat dalam pengambilan keputusan saat ini atau mendatang”. 2.2.2 Kualitas Informasi Kualitas informasi (quality of information) sangat di pengaruhi atau ditentukan oleh 3 hal yaitu :
a. Relevan Informasi harus mempunyai mamfaat untuk pemakainnya. Relefansi informasi untuk tiaptiap orang satu dengan yang berbeda. b. Akurat Informasi harus bebas dari kesalahan-kesalahan dan tidak bias atau menyesatkan, akurat juga berarti informasi harus jelas mencerminkan maksudnya c. Tepat Waktu Informasi yang datang pada penerima tidak boleh terlambat. Informasi yang usang tidak akan mempunyai nilai lagi, karena informasi merupakan landasan dalam pengambilan keputusan.
2.2.3 Pengertian Sistem Informasi John F. Nash (1995:8) mengungkapkan: “Kombinasi dari manusia, fasilitas atau alat teknologi, media, prosedur, dan pengendalian yang bermaksud menata jaringan komunikasi yang penting, proses atas transaksi-transsaksi tertentu dan rutin, membantu manajemen dan pemakai intern dan ekstern dan menyediakan dasar pengambilan keputusan yang tepat. Sedangkan menurut Henry Lucas (1988:35) mengungkapkan: “ Sistem informasi adalah suatu kegiatan dari prosedur-prosedur yang di organisasikan, bilamana dieksekusikan akan menyediakan informasi untuk mendukung pengambilan keputusan dan pengendalian di dalam organisasi.
2.3 Metode Waterfal Metode ini juga disebut dengan classic life cycle. Metode ini membutuhkan pendekatan sistematis dan sekuensial dalam pengembangan perangkat lunak, dimulai dari tingkat sistem dan kemajuan melalui analisis, desain ( design ), pemrograman ( coding ), uji coba ( testing ) dan pemeliharaan.
System Engineering
Requirement Analysis
Design
Coding
Testing
Maintence
Gambar 2.1 Skema Waterfall (www.cs.ui.ac.id/15.07.2009) Pada skema waterfall terdapat beberapa tahapan-tahapan yang dimana dari tiap-tiap tahapan terdapat penjelasan sebagai berikut: 1. System Engineering Tahap ini menyangkut pengumpulan kebutuhan pada tingkat system dengan sejumlah kecil analisis serta desain tingkat puncak. 2. Requirement Analysis Suatu proses pengumpulan kebutuhan software untuk mengerti sifat-sifat program yang dibentuk software engineering, atau harus mengerti fungsi software yang diinginkan, performance dan interface terhadap elemen lainnya. Hasilnya dari analisis ini didokumentasikan dan di review atau dibahas bersama customer.
3. Design Proses design menterjemahkan kebutuhan ke dalam representasi software yang dapat diukur kualitasnya sebelum mulai coding. Hasil dari design ini didokumentasikan dan menjadi bagian dari konfigurasi software. 4. Coding Design harus diterjemahkan ke dalam bentuk mesin yang bisa dibaca. Jika design dilakukan dengan cara yang lengkap, pembuatan kode dapat dilakukan secara mekanis. 5. Testing Sesuatu yang harus di buat haruslah di uji cobakan. Demikian juga dengan software. Semua fungsi-fungsi software harus di uji cobakan agar software bebas dari eror, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya. 6. Maintence Perangkt lunak akan mengalami perubahan setelah di sampaikan kepada customer, perubahan akan terjadi kesalahan-kesalahan di tentukan, karena perangkat lunak harus disesuaikan
untuk
mengakomodasi
perubahan-perubahan
di
dalam
lingkungan
eksternalnya, pemeliharaan perangkat lunak menerapkan lagi setiap tahap program sebelumnya dan tidak membuat yang baru lagi.
2.4 Unified Modelling Languange Menurut (Adi Nugroho:2005) ”Unified Modelling Languange (UML) adalah alat bantu analisis serta perancangan lunak berbasis objek” UML (Unified Modelling language) adalah sebuah bahasa untuk menentukan, visualisasi, kontruksi, dan mendokumentasikan artifact (bagian dari informasi yang digunakan atau dihasilkan dalam suatu proses pembuatan perangkat lunak. Artifact dapat berupa model, deskripsi atau perangkat lunak) dari system perangkat lunak, seperti pada pemodelan bisnis dan system non perangkat lunak lainnya. UML merupakan suatu kumpulan teknik terbaik yang telah terbukti sukses dalam memodelkan system yang besar dan kompleks. UML tidak hanya digunakan dalam proses pemodelan perangkat lunak, namun hampir dalam semua bidang yang membutuhkan pemodelan 2.4.1 Bagian-bagian UML Bagian-bagian utama dari UML adalah view, diagram, model element dan general mechanism. a. View View digunakan untuk melihat sistem yang dimodelkan dari beberapa aspek yang berbeda. View bukan melihar grafik, tapi merupakan suatu abstraksi yang berisi sejumlah diagram. Beberapa jenis view dalam UML antara lain: use case view, logical view, component view, concurrency view, dan deployment view.
Use case view
Mendeskripsikan fungsionalitas sistem yang seharusnya dilakukan sesuai yang diinginkan external actors. Actor yang berinteraksi dengan sistem dapat berupa user atau sistem lainnya. View ini digambarkan dalam use case diagrams dan kadang-kadang dengan activity diagrams. View ini digunakan terutama untuk pelanggan, perancang (designer), pengembang (developer), dan penguji sistem (tester).
Logical view Mendeskripsikan bagaimana fungsionalitas dari sistem, struktur statis (class, object,dan relationship ) dan kolaborasi dinamis yang terjadi ketika object mengirim pesan ke object lain dalam suatu fungsi tertentu. View ini digambarkan dalam class diagrams untuk struktur statis dan dalam state, sequence, collaboration, dan activity diagram untuk model dinamisnya. View ini digunakan untuk perancang (designer) dan pengembang (developer). Component view Mendeskripsikan implementasi dan ketergantungan modul. Komponen yang merupakan tipe lainnya dari code module diperlihatkan dengan struktur dan ketergantungannya juga alokasi sumber daya komponen dan informasi administrative lainnya. View ini digambarkan dalam component view dan digunakan untuk pengembang (developer). Concurrency view Membagi sistem ke dalam proses dan prosesor. View ini digambarkan dalam diagram dinamis (state, sequence, collaboration, dan activity diagrams) dan diagram implementasi
(component dan deployment diagrams) serta digunakan untuk pengembang (developer), pengintegrasi (integrator), dan penguji (tester). Deployment view Mendeskripsikan fisik dari sistem seperti komputer dan perangkat (nodes) dan bagaimana hubungannya dengan lainnya. View ini digambarkan dalam deployment diagrams dan digunakan untuk pengembang (developer), pengintegrasi (integrator), dan penguji (tester). b. Diagram Diagram berbentuk grafik yang menunjukkan simbol elemen model yang disusun untuk mengilustrasikan bagian atau aspek tertentu dari sistem. Sebuah diagram merupakan bagian dari suatu view tertentu dan ketika digambarkan biasanya dialokasikan untuk view tertentu. Adapun jenis diagram antara lain :
Use Case Diagram Use case adalah abstraksi dari interaksi antara system dan actor. Use case bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah system dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah system dipakai. Use case merupakan konstruksi untuk mendeskripsikan bagaimana system akan terlihat di mata user. Sedangkan use case diagram memfasilitasi komunikasi diantara analis dan pengguna serta antara analis dan client.
Notasi Use case dapat digambarkan pada gambar dibawah ini:
System
UseCase1
Actor1
Actor2
Use Case
Gambar 2.2 Use case Modul
Class Diagram Class adalah dekripsi kelompok obyek-obyek dengan property, perilaku (operasi) dan relasi yang sama. Sehingga dengan adanya class diagram dapat memberikan pandangan global atas sebuah system. 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 system. Component Diagram Component software merupakan bagian fisik dari sebuah system, karena menetap di komputer tidak berada di benak para analis. Komponent merupakan implementasi software dari sebuah atau lebih class. Komponent dapat berupa source code, komponent biner, atau executable component. Sebuah komponent 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. Deployment Diagram Menggambarkan tata letak sebuah system 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. 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.
State1
Gambar 2.3 Simbol Statechart Diagram
Sequence Diagram Sequence Diagram digunakan untuk menggambarkan perilaku pada sebuah scenario. Kegunaannya untuk menunjukkan rangkaian pesan yang dikirim antara object juga interaksi antara object, sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem.
Tabel 2.1 Notasi Sequence Diagram (Munawar:69)
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. Activity Diagram Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk mendeskripsikan aktifitas yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk aktifitas lainnya seperti use case atau interaksi.
Table 2.2 Simbol-Simbol Yang Sering Digunakan Pada Saat Pembuatan Activity Diagram
Simbol
Keterangan Titik awal Titik akhir Activity
Pilihan untuk pengambilan keputusan Fork: digunakan untuk menunjukan kegiatan yang dilakukan secara parallel atau untuk menggabungkan dua kegiatan parallel menjadi satu
<no send action>
Tanda pengirim
<no receive action>
Tanda penerima
2.5 Sekilas Tentang Perangkat Lunak 2.5.1 Pengertian Website
Website juga dapat diartikan sebagai kumpulan halaman yang menampilkan informasi data teks, data gambar diam atau gerak, data animasi, suara, video dan atau gabungan dari semuanya, baik yang bersifat statis maupun dinamis yang membentuk satu rangkaian bangunan yang saling terkait dimana masing-masing dihubungkan dengan jaringan-jaringan halaman (hyperlink). Bersifat statis apabila isi informasi website tetap, jarang berubah, dan isi informasinya searah hanya dari pemilik website. Bersifat dinamis apabila isi informasi website selalu berubah-ubah, dan isi informasinya interaktif dua arah berasal dari pemilik serta pengguna website. Contoh website statis adalah berisi profil perusahaan, sedangkan website dinamis adalah seperti Friendster, Multiply, dll. Dalam sisi pengembangannya, website statis hanya bisa diupdate oleh pemiliknya saja, sedangkan website dinamis bisa diupdate oleh pengguna maupun pemilik.
2.5.2 Unsur-unsur Dalam Penyediaan Website Atau Situs
Untuk
menyediakan
sebuah
website,
maka
harus
tersedia
unsur-unsur
penunjangnya, adalah sebagai berikut: A. Nama Domain URL
adalah
alamat
unik
di
dunia
internet
yang
digunakan
untuk
mengindentifikasi sebuah Website, atau dengan kata lain URL adalah alamat yang digunakan untuk menemukan sebuah Website pada dunia internet. Contoh : http://www.yahoo.com. Nama domain sendiri mempunyai identifikasi ekstensi / akhiran sesuai dengan kepentingan dan lokasi keberadaan website tersebut. Contoh nama domain
ber-ekstensi internasional adalah com, net, org, info, biz, name, ws. Contoh nama domain ber-ekstensi lokasi Negara Indonesia adalah: a) .co.id
: Untuk Badan Usaha yang mempunyai badan hukum sah
b) .ac.id
: Untuk Lembaga Pendidikan
c) .go.id
: Khusus untuk Lembaga Pemerintahan RI
d) .mil.id
: Khusus untuk Lembaga Militer RI
e) .or.id
: Untuk segala macam organisasi yang tidak termasuk
dalamkategori
“ac.id”,”co.id”,”go.id”.”mil.id”, dan lain-lain. f) .war.net.id : untuk industri warung internet Indonesia g) .sch.id
: khusus Lembaga Pendidikan yang menyelenggerakan pendidikan seperti SD, SMP, SMU.
h) .web.id
:Ditujukan bagi badan usaha, organisasi ataupun perseorangan yang melakukan kegiatannya di World Wide Web.
2.5.3 Rumah tempat Website (Web Hosting) Web hosting dapat diartikan sebagai ruangan yang terdapat dalam harddisk tempat menyimpan berbagai data, file-file, gambar, video, data email, statistic, database dan lain sebagainya yang akan ditampilkan di website. Besarnya data yang dimasukkan tergantung dari besarnya Web Hosting yang disewa /dipunyai, semakin besar Web Hosting yang disewa /dipunyai, semakin besar pula data yang dapat dimasukkan dan ditampilkan dalam website. 2.5.4 Bahasa Program (Script Program) Adalah bahasa yang digunakan untuk menerjemahkan setiap perintah dalam website pada saat di akses. Jenis bahasa program sangat menetukan statis, dinamis atau
interaktifnya sebuah website. Semakin banyak ragam bahasa program yang digunakan maka akan terlihat website semakin dinamis, dan interaktif serta terlihat bagus. Jenisjenis Bahasa Program yang banyak dipakai para disainer website antara lain HTML, ASP, PHP, JSP, Java Script, dsb. Bahasa dasar yang dipakai oleh setiap situs adalah HTML sedangkan yang lainnya merupakan bahasa pendukung yang bertindak sebagai pengatur dinamis dan interaktifnya situs.
2.5.5 Desain website Setelah melakukan penyewaan Domain Name, Web Hosting serta penguasaan bahasa program, unsur yang penting dan utama dalam Website adalah Desain. Desain Website menentukan kualitas dan keindahan sebuah website. Desain sangat berpengaruh kepada penilaian pengunjung akan bagus tidaknya sebuah website. Program-program desain website salah satunya adalah Macromedia Firework, Adobe, Photoshop, Adobe Dreamweaver, Microsoft Frontpage, Notepad, dll. 2.6 Pemograman Website 2.6.1 PHP PHP (Hypertext Preprocessor) adalah bahasa programam open source (gratis) berbasiskan script yang dapat berjalan pada halaman web. PHP memerlukan aplikasi yang bisa menjadikannya berfungsi sepenuhnya, yaitu web server dengan aplikasi Internet Information Service atau Apache dan database server dengan aplikasi MySQL. A. Kelebihan PHP PHP (Hypertext Processor) mempunyai beberapa kemampuan yang merupakan salah satu kelebihan PHP. Kemampuan tersebut antara lain:
Cara koneksi dan query database yang sederhana. Dapat bekerja pada sistem operasi berbasis Windows, Linux, Mac, OS, dan kebanyakan varian UNIX. Biaya yang dibutuhkan untuk menggunakan PHP tidak mahal, atau bahkan gratis. Mudah digunakan karena memiliki fitur dan fungsi khusus untuk membuat web dinamis. Bahasa pemogramman PHP dirancang untuk dapat dimasukan dalam HTML (embedded script). Security system yang cukup tinggi. Waktu eksekusi yang lebih cepat dibandingkan dengan bahasa pemograman web lainnya berorientasi pada serverside scripting. Akses ke sistem database yang lebih fleksibel dan mudah, seperti pada MySQL. Seluruh aplikasi berbasis web dapat dibuat menggunakan PHP. Kelebihan utama PHP terletak pada kemudahan koneksinya dengan berbagai sistem database di dalam web. Sistem database yang dapat didukung oleh PHP adalah: Adabas D Direct MS-SQL Oracle (OCI7 and OCI8) dBase InterBase Informix ODBC
Hyperwave Sybase IBM DB2 MySQL FrontBase PostgreSQL 2.6.2 Datebase MySQL Database adalah sekumpulan data dan prosedur yang memiliki struktur sedemikian rupa sehingga mudah dalam menyimpan, mengatur dan menampilkan data. MySQL adalah suatu perangkat lunak database relasi (Relation Database Management System atau RDBMS), seperti halnya ORACLE, Postgresql, MS SQL, dan sebagainya. Database MySQL dapat dibuat dengan menggunakan tampilan jendela phpMyadmin atau menggunakan sebuah script PHP. Penulis menyarankan untuk membuat dan menyiapkan database dengan menggunakan jendela phpMyadmin. 1. Tipe Data MySQL MySQL memiliki banyak tipe data berbeda yang dibagi menjadi tiga kategori yaitu Numeric, Date and Time dan tipe data string. Menentukan jenis dari tipe data merupakan suatu hal yang sangat penting dalam pembuatan tabel, supaya ruang memory yang digunakan sesuai dengan kebutuhan. a. Tipe Data Numerik Numerik adalah salah satu bentuk data yang berupa data angka.
Table 2.3 Tipe Data Numerik Tipe Data
Bytes
Keterangan
TINYINT()
1
Tipe ini merupakan bentuk numeric yang paling kecil dalam menangani data di dalamnya, yaitu data dari angka -128 sampai dengan 127.
SMALLINT()
2
Tipe smallint dapat menyimpan data lebih besar, yaitu mulai dari -32768 sampai dengan 32767.
MEDIUMINT()
3
MEDIUMINT mampu menangani data mulai
dari
-8388608
sampai
dengan
8388607. INT()
4
Tipe ini sering digunakan dalam pembuatan database. INT mampu menyimpan data mulai dari -214748348 sampai 214748347.
BIGINT()
8
Bentuk
terbesar
dalam
tipe
data
numerik.BIGINT mampu menangani data mulai dari -9223372036854775808 sampai dengan 9223372036854775807.
2.6.3 Macromedia Dreamweaver
Macromedia Dreamweaver adalah sebuah HTML editor profesional untuk mendesain secara visual dan mengelola situs web maupun halaman web. Bilamana kita menyukai untuk berurusan dengan kode-kode HTML secara manual atau lebih menyukai bekerja dengan lingkungan secara visual dalam melakukan editing, Dreamweaver mambuatnya menjadi lebih mudah dengan menyediakan tool-tool yang sangat berguna dalam peningkatan kemampuan dan pengalaman kita dalam mendesain web.
Dreamweaver MX dalam hal ini digunakan untuk web desain dreamweaver MX mengikut sertakan banyak tool untuk kode-kode dalam halaman web beserta fasilitas-fasilitasnya antara lain : Referensi HTML, CSS dan Javascript, Javascript debugger, dan editor kode ( tampilan kode dan Code inspector) yang mengizinkan kita mengedit kode Javascript, XML, dan dokumen teks lain secara langsung dalam Dreamweaver. Teknologi Dreamweaver Roundtrip HTML mampu mengimpor dokumen HTML tanpa perlu memformat ulang kode tersebut dan kita dapat menggunakan Dreamweaver pula untuk membersihkan dan memformat ulang HTML bila kita menginginkannya.
Selain itu Dreamweaver juga dilengkapi kemampuan manajemen situs, yang memudahkan kita mengelola keseluruhan elemen yang ada dalam situs. Kita juga dapat melakukan evaluasi situs dengan melakukan pengecekan broken link, kompatibilitas browser, maupun perkiraan waktu download halaman web.
Gambar 2.4 Tampilan Macromedia Dreamweaver
2.7 Photoshop Photoshop (auziisyayan.files.wordpress.com) adalah salah satu program aplikasi yang ditujukan untuk menyunting dan memanipulasi image (image-editing). Dengan Adobe Photoshop 7.0 Anda dapat dengan mudah membuat dan menyunting image dengan kualitas yang tinggi yang siap untuk dicetak, ditempatkan di situs Web dan untuk keperluan lainnya. Gambar 2.5 Jendela Kerja Photoshop
2.8 Klinik Fasilitas medis kecil yang hanya melayani keluhan tertentu. Biasanya dijalankan oleh lembaga swadaya masyarakat atau dokter-dokter yang ingin menjalankan praktek pribadi. Klinik biasanya hanya menerima rawat jalan.