BAB II DASAR TEORI
2.1
Komunitas Komunitas menurut Farkas1, adalah sekumpulan orang-orang yang
terbentuk dari individu-individu yang memiliki kesamaan hobi, pandangan, kepercayaan, pekerjaan, dll, yang berinteraksi satu sama lain dalam suatu media tertentu (bisa nyata maupun maya/virtual) yang mana anggota-anggotanya bisa berasal dari suatu lokasi tertentu (lokal) maupun berasal dari berbagai lokasi yang berbeda (global). Komunitas dibagi menjadi dua yaitu komunitas offline dan komunitas online. Komunitas offline adalah komunitas nyata/real yang terdiri dari orang-orang yang dapat bertemu, berinteraksi dan bertatap muka langsung secara fisik dengan sesama anggotanya sedangkan komunitas online adalah komunitas virtual/maya yang terdiri dari orang-orang yang dapat berinteraksi hanya dengan menggunakan fasilitas internet sebagai media integrasi dan komunikasinya dan tidak mengandalkan pertemuan langsung secara fisik. Terdapat sembilan strategi desain yang mendasari karakter dari sebuah komunitas website yang berhasil dan dapat dipertahankan2.
1
Farkas, Meredith G. 2007. Social Software in Libraries: Building Collaboration, Communication, and Community Online. Information Today, Inc. New Jersey.
2
Jo, Amy. 2000. Community Building On The Web. Peachpit Press. Berkeley, CA.
10
11
1.
Menetapkan Tujuan Komunitas muncul ketika diperlukan dalam kehidupan manusia. Untuk
menciptakan suatu komunitas yang baik, pertama-tama yang diperlukan adalah untuk memahami kenapa komunitas itu dibuat dan untuk siapa komunitas itu ada. 2.
Menciptakan Tempat Berkumpul yang Nyaman Dimanapun orang saling bertemu atau bertukar pendapat, dan mulai
membicarakan tentang kehidupan masing-masing, komunitas mulai tercipta. Pada waktu seseorang menetapkan tujuan, seseorang ingin menciptakan tempat yang nyaman, dimana di tempat itu seseorang akan merasa nyaman untuk berinteraksi dengan orang lain. 3.
Membuat Profil Member yang Baik dan Tidak Ketinggalan Jaman Seseorang dapat tahu tentang seorang teman dari orang lain, dan dapat
membantu untuk lebih cepat mengenal satu sama lain dengan cara mengembangkan profil dari member yang sudah ada. Jika diatur dengan baik, sebuah profil dapat menjadi suatu alat yang sangat berguna bagi berkembangnya suatu hubungan satu sama lain. 4.
Desain yang Baik Desain yang baik dapat menambah jumlah pendatang baru yang datang
dan ingin tahu tentang suatu komunitas tersebut.
12
5.
Mengembangkan Program Kepemimpinan yang Kuat. Pemimpin dari komunitas harus mampu menyemangati pemula, mengajar,
menjawab pertanyaan-pertanyaan yang ada, dan bisa berhadapan dengan orang yang membuat kacau suatu komunitas. 6.
Menetapkan Peraturan Setiap peraturan mempunyai berbagai problem dari dalam yang akan
dihadapi. Jika suatu komunitas dijaga dengan baik, suatu masalah dapat diselesaikan dengan mudah, tetapi seringkali terdapat perbedaan pendapat antara satu dengan yang lain yang dapat menyebabkan suatu komunitas terpecah belah. Untuk menghindari ini, sangatlah penting untuk mengembangkan aturan dalam berpartisipasi untuk menyampaikan pendapat. 7.
Mengembangkan Acara Pribadi Suatu komunitas dapat berkumpul bersama pada acara-acara kecil. Untuk
mengembangkan hubungan yang baik satu sama lain, suatu komunitas harus menetapkan acara-acara kecil, dan membantu member yang ada untuk mengembangkan acara yang dibuat pada suatu komunitas. 8.
Membuat Acara Khusus Setiap komunitas mengadakan suatu acara untuk mengenal anggotanya.
Dengan merayakan hari libur, akan tercipta dasar terbentuknya hubungan yang baik bagi suatu komunitas.
13
9.
Memfasilitasi Anggota untuk Menjalankan Sub Grup Jika mempunyai tujuan untuk mengembangkan komunitas dengan skala
besar, harus ditambahkan teknologi untuk membantu anggota menciptakan dan menjalankan sub grup. Fitur yang kuat ini akan menciptakan loyalitas anggota yang kuat dan menghilangkan kompetisi dengan komunitas yang lain.
2.2
Zine Zine adalah majalah non-komersil, non-profesional dan bersirkulasi kecil
yang dibuat, dipublikasikan, dan didistribusikan oleh editornya sendiri3. Tidak ada batasan dalam sebuah zine kecuali batasan yang dibuat oleh mereka yang membuatnya. Para pembuat zine dapat menentukan zine seperti apa yang akan mereka buat. Sebuah zine dapat berupa hasil fotokopi atau dicetak dengan mesin cetak, hitam putih atau berwarna, ditulis tangan, diketik dengan mesin ketik, ataupun menggunakan komputer. Zine dapat berbentuk kecil atau besar, memuat gambar dan tulisan, atau cukup salah satunya, di-layout menggunakan komputer, atau cukup menggunakan gunting, lem, pena dan kertas bekas, dikerjakan sendirian, atau bersama teman-teman, berisi catatan-catatan, ide-ide, atau topik apapun yang diinginkan pembuatnya, cukup di distribusikan dengan teman-teman terdekat, didalam lingkar komunitas, ataupun didistribusikan secara luas, di bagikan secara gratis, di barter, ataupun 'dijual'. Zine memberi jalan alternatif bagi 3
Duncombe, Stephen. 1997. Notes from Underground: Zines and the Politics of Alternative Culture. Verso. New York.
14
kebuntuan dari komunikasi dan interaksi, melawan setiap alieasi yang hadir dalam masyarakat mainstream saat ini.
2.3
Sistem Informasi
2.3.1 Pengertian Sistem Informasi Sistem informasi merupakan suatu sistem yang terdiri dari beberapa subsistem atau komponen hardware, software, dan brainware, data dan prosedur untuk menjalankan input, proses, output, penyimpanan, dan pengontrolan yang mengubah sumber data menjadi informasi4.
2.3.2 Komponen Sistem Informasi Stair menjelaskan bahwa sistem informasi berbasis komputer (CBIS) dalam suatu organisasi terdiri dari komponen-komponen berikut: 1.
Perangkat keras, yaitu perangkat keras komponen untuk melengkapi kegiatan memasukkan data, memproses data, dan keluaran data.
2.
Perangkat lunak, yaitu program dan instruksi yang diberikan ke komputer.
3.
Database, yaitu kumpulan data dan informasi yang diorganisasikan sedemikian rupa sehingga mudah diakses pengguna sistem informasi.
4
Marimin; Tanjung, Hendri; Prabowo, Haryo. 2006. Sistem Informasi Manajemen Sumber Daya Manusia. Jakarta: Grasindo.
15
4.
Telekomunikasi, yaitu komunikasi yang menghubungkan antara pengguna sistem dengan sistem komputer secara bersama-sama ke dalam suatu jaringan kerja yang efektif.
5.
Manusia, yaitu personel dari sistem informasi meliputi manajer, analis, programmer, dan operator, serta bertanggung jawab terhadap perawatan sistem. Burch dan Grudnistki berpendapat, sistem informasi yang terdiri dari
komponen-komponen perangkat lunak, perangkat keras, database, telekomunikasi dan manusia disebut dengan istilah blok bangunan (building block), yaitu blok masukan (input block), blok model (model block), blok keluaran (output block), blok teknologi (technology block), Blok basis data (database block) dan blok kendali (control block). Sebagai suatu sistem, keenam blok tersebut masingmasing saling berinteraksi satu dengan yang lainnya membentuk satu kesatuan untuk mencapai sasarannya5.
2.4
World Wide Web Dunia internet semakin berkembang, terutama penggunaanya dalam
bidang media komunikasi dan informasi6. Internet adalah suatu jaringan komputer global, sedangkan World Wide Web bukan sekedar jaringan tetapi didalamnya
5
Fatta, Hanif Al. 2007. Analisis dan Perancangan Sistem Informasi Untuk Keunggulan Bersaing Perusahaan dan Organisasi Modern Edisi 1. Yogyakarta: Andi.
6
Ed. I. 2005. Aplikasi Program PHP dan MySql Untuk Membuat Website Interaktif. Yogyakarta: Andi; Madiun: Madcoms.
16
terdapat suatu set applikasi komunikasi dan sistem perangkat lunak yang memiliki karakteristik tertentu7.
2.5
PHP PHP merupakan suatu bahasa pemrograman sisi serveryang dapat Anda
gunakan untuk membuat halaman web dinamis. Contoh bahasa yang lain adalah Microsoft Active Server Page (ASP) dan Java Server Page (JSP). Dalam suatu halaman HTML dapat menanamkan kode PHP yang akan dieksekusi setiap kali halaman tersebut dukunjungi. PHP adalah kependekan dari PHP: Hyper Text Preprocessor (suatu akronim rekursif) yang dibangun oleh Rasmus Lerdolf pada tahun 19948.
2.6
MySQL MySQL adalah suatu sistem manajemen basis data relasional (RDBMS-
Relational Database Management System) yang mampu bekeja dengan cepat, kokoh, dan mudah digunakan. Contoh RDBMS lain adalah Oracle, Sybase. Basis data memungkinkan untuk menyimpan, menelusuri, mengurutkan, dan mengambil data secara efisien. Server MySQL yang akan membantu melakukan fungsionalitas
7
Kurniawan, Yahya ST., 2001. Aplikasi Web Database dengan ASP. Jakarta: Elex Media Komputindo.
8
Pratama, Antonius Nugraha Widhi. 2010. Code Igniter : Cara Mudah Membangun Aplikasi PHP. Jakarta Selatan: mediakita.
17
tersebut. Bahasa yang digunakan adalah SQL-standar bahasa basis data relasional di seluruh dunia saat ini9.
2.7
Web Aplikasi Ketika membangun sebuah web aplikasi, dokumen web pada dasarnya
terdiri dari tiga tingkatan layer. Ketiga element itu adalah content, presentation, dan behavior10.
2.7.1
HTML Berdasarkan pembagian layer diatas, HTML merupakan tingkatan pertama
dimana inti dari informasi yang ingin ditampilkan berada pada layer ini. HTML merupakan singkatan dari Hypertext Markup Language, yang digunakan oleh semua pembuat halaman Web karena bersifat sederhana dan terbuka. HTML tidak tergantung pada perangkat lunak atau perangkat keras tertentu untuk membuat atau menjalankannya.
9
Pratama, Antonius Nugraha Widhi. 2010. Code Igniter : Cara Mudah Membangun Aplikasi PHP. Jakarta Selatan: mediakita. 10
Andrian, ST, Rian. 2011. Pembuatan Aplikasi Knowladge Management Sebagai Salah Satu Media Pengetahuan (Studi Kasus Informatika UIN SGD Bandung). Bandung : Skripsi Jurusan Teknik Informatika Universitas Islam Negeri Bandung.
18
2.7.2
CSS Cascading Style Sheets atau CSS, merupakan cara yang direkomendasikan
untuk mengkontrol presentation layer. CSS (Cascading Style Sheet) adalah kumpulan aturan-aturan pemformatan yang mengontrol tampilan dari konten dalam sebuah halaman web yang direkomendasikan oleh W3C. CSS memiliki fungsi mengatur tampilan dari halaman web yang akan dibuat. Dengan segala kelebihannya dalam pengaturan user interface, css sebagai presentation layer memiliki peranan penting dalam pembangunan sebuah web dewasa ini.
2.7.3
Java Script JavaScript yang merupakan behavior layer dalam sebuah web applikasi
adalah bahasa pemrograman berbasis prototipe yang berjalan disisi client dengan kemampuan yang berorientasi object. Jika kita berbicara dalam konteks web, sederhananya, kita dapat memahami JavaScript sebagai bahasa pemrograman yang berjalan khusus untuk di browser atau halaman web agar halaman web menjadi lebih hidup. Kalau dilihat dari suku katanya terdiri dari dua suku kata, yaitu Java dan Script. Java adalah Bahasa pemrograman berorientasi object, sedangkan Script adalah serangkaian instruksi program. Yang harus diperhatikan dalam pengelolaan pemrograman JavaScript, diantaranya JavaScript adalah “case sensitive”, yang artinya JavaScript membedakan huruf besar dan huruf kecil. Jika Anda pernah belajar bahasa pemrograman seperti Turbo C atau C++, maka sama seperti bahasa pemrograman
19
tersebut, dimana huruf T tidak sama dengan huruf t dan yang lainnya memiliki kesamaan dengan bahasa pemograman C. Dalam bahasa pemrograman JavaScript juga, sebagai contoh fungsi perintah var tidak boleh ditulis Var dan juga tidak boleh ditulis VAR (huruf besar semua), yang benar adalah var (huruf kecil semua). Perintah lain adalah new Date tidak boleh ditulis new date (huruf kecil semua), dsb. Implementasi terpopuler saat ini dari pemrograman JavaScript adalah teknik AJAX. (Asynchronous JavaScript and XMLHTTP). Teknik ini sering digunakan oleh aplikasi berbasis web seperti Gmail, Google Reader, dan lain lain. Teknik yang membuat pertukaran data antara server dan browser terjadi di belakang layar sehingga interaksi antara user dan applikasi web semakin responsif. Post tersendiri untuk membahas hal ini akan kita siapkan.
2.8
Framework Framework adalah kumpulan kelas (class) dan fungsi (function, method)
yang disusun secara sistematis berdasarkan kegunaan atau fungsionalitas tertentu untuk mempermudah pembuatan atau pengembangan suatu aplikasi. Sebagian besar framework dibangun berdasarkan konsep Object-Oriented Programing (OOP).
20
2.9
Yii Yii adalah framework (kerangka kerja) PHP berbasis-komponen,
berkinerja tinggi untuk pengembangan aplikasi Web berskala-besar. Yii menyediakan reusability maksimum dalam pemrograman Web dan mampu meningkatkan
kecepatan
pengembangan
secara
signifikan.11
Yii
sendiri
merupakan kepanjangan dari “Yes It Is”.
2.10 Arsitektur Model-View-Controller (MVC) Arsitektur Model-View-Controller (MVC) muncul sejak era 70-an atas pemikiran Prof Try Reenskaug, seorang berkebangsaan Norwegia. Dasar arsitektur ini adalah pemisahan antara logika aplikasi dengan tampilan. Menggunakan pola ini diharapkan dapat meminimalisasi penulisan perintah, sehingga risiko terjadinya bug juga minimal, serta meningkatkan efisiensi pembangunan aplikasi.
2.11 MVC Yii Penerapan konsep MVC dimaksudkan untuk memisahkan logika bisnis dan antar muka pada suatu aplikasi. Dengan MVC, pihak pengembang aplikasi dapat lebih mudah mengubah suatu bagian dalam aplikasi tanpa harus mengubah bagian
11
Huraira, Sabit. 2012. Menjelajah YII Framework. Jakarta : Ebook.
21
yang lainnya. Dalam MVC, model menggambarkan informasi atau data beserta aturan bisnisnya (validasi, relasi, dll). View atau tampilan menggambarkan antarmuka yang menjadi penghubung antara aplikasi dan pengguna (user). Sedangkan controller akan menjadi jembatan komunikasi antara Model dan View. Gambaran penerapan arsitektur MVC dalam Yii sebagai berikut : 1.
Model Bertanggung jawab untuk melakukan pengelolaan data dalam basis data. Di dalamnya biasa dituliskan perintah untuk mengambi, mengubah, menghapus, dan menambahkan data.
2.
View Merupakan “tempat” untuk meletakan apa yang akan ditampilkan di halaman perambah (browser). Sebuah berkas view umumnya berisi kode bahasa pemrograman sisi klien (client-side scripting).
3.
Controller Merupakan pengatur utama hubungan antara model, view dan juga sumber daya lain yang tersedia. Sumber daya ini diperoleh dari kelompok/ tipe kelas yang dapat disebut dengan elemen framework.
2.12 Pemodelan Sistem Rekayasa sistem merupakan sebuah proses pemodelan. Tujuan dari rekayasa sistem adalah untuk menentukan arsitektur yang memungkinkan suatu bisnis menggunakan informasi secara efektif. Rekayasa informasi juga bekerja untuk membuat suatu rencana menyeluruh guna mengimplementasikan arsitektur-
22
arsitektur tersebut. Ada tiga arsitektur berbeda yang harus dianalisis dan dirancang di dalam tujuan bisnis. a. Arsitektur Data Memberikan kerangka kerja untuk kebutuhan informasi dari bisnis atau fungsi bisnis. b. Arsitektur Aplikasi Melingkupi elemen-elemen dari suatu sistem yang mentransformasi objek ke dalam arsitektur data untuk keperluan bisnis. c. Infrastruktur Teknologi Menjadi dasar bagi data dan arsitektur aplikasi.
2.13 Rational Unified Process (RUP) Rational Unified Process (RUP) merupakan suatu metode rekayasa perangkat lunak yang dikembangkan dengan mengumpulkan berbagai best practises yang terdapat dalam industri pengembangan perangkat lunak. Ciri utama metode ini adalah menggunakan use-case driven dan pendekatan iteratif untuk siklus pengembangan perankat lunak. Gambar dibawah menunjukkan secara keseluruhan arsitektur yang dimiliki RUP.
RUP menggunakan konsep object oriented, dengan aktifitas yang berfokus pada pengembangan model dengan menggunakan Unified Model Language (UML). Melalui gambar dibawah dapat dilihat bahwa RUP memiliki, yaitu:
Dimensi pertama digambarkan secara horizontal. Dimensi ini mewakili
23
aspek-aspek aspek dinamis dari pengembangan perangkat lunak. Aspek ini dijabarkan dalam tahapan pengembangan atau fase. Setiap Setiap fase akan memiliki suatu major milestone yang menandakan nandakan akhir dari awal dari fase selanjutnya. Setiap fase ase dapat berdiri dari satu beberapa iterasi. Dimensi ini terdiri atas Inception, Elaboration, Elaboration Construction, dan Transition.
Dimensi kedua digambarkan secara vertikal. Dimensi ini mewakili aspek aspekaspek statis dari proses pengembangan perangkat lunak yang dikelompokkan ke dalam beberapa disiplin. Proses pengembangan perangkat lunak yang dijelaskan kedalam beberapa disiplin terdiri dari empat elemen elemen penting, yakni who is doing, what, how dan when. Dimensi ini terdiri atas: Business Modeling, Requirement, Analysis and Design, Implementation, Test, Deployment, Configuration dan Change Manegement, Project Management, Environtment.
Gambar 2.1 Ar Arsitektur Rational Unified Process
24
Pada penggunaan kedua standar tersebut diatas yang berorientasi obyek (object orinted) memiliki manfaat yakni: • Improve productivity Standar ini dapat memanfaatkan kembali komponen-komponen yang telah tersedia/dibuat sehingga dapat meningkatkan produktifitas
• Deliver high quality system Kualitas sistem informasi dapat ditingkatkan sebagai sistem yang dibuat pada komponen-komponen yang telah teruji (well-tested dan well-proven) sehingga dapat mempercepat delivery sistem informasi yang dibuat dengan kualitas yang tinggi.
• Lower maintenance cost Standar ini dapat membantu untuk menyakinkan dampak perubahan yang terlokalisasi dan masalah dapat dengan mudah terdeteksi sehingga hasilnya biaya pemeliharaan dapat dioptimalkan atau lebih rendah dengan pengembangan informasi tanpa standar yang jelas.
• Facilitate reuse Standar ini memiliki kemampuan yang mengembangkan komponenkomponen yang dapat digunakan kembali untuk pengembangan aplikasi yang lainnya.
• Manage complexity Standar ini mudah untuk mengatur dan memonitor semua proses dari
25
semua tahapan yang ada sehingga suatu pengembangan sistem informasi yang amat kompleks dapat dilakukan dengan aman dan sesuai dengan harapan semua manajer proyek IT/IS yakni deliver good quality software within cost and schedule time and the users accepted.
2.13.1 Fase RUP •
Inception –
Menentukan Ruang lingkup proyek
–
Membuat ‘Business Case’
–
Menjawab pertanyaan “apakah yang dikerjakan dapat menciptakan ‘good business sense’ sehingga proyek dapat dilanjutkan
•
•
Elaboration –
Menganalisa berbagai persyaratan dan resiko
–
Menetapkan ‘base line’
–
Merencanakan fase berikutnya yaitu construction
Construction –
Melakukan sederetan iterasi
–
Pada setiap iterasi akan melibatkan proses berikut: analisa desain, implementasi dan testing
•
Transistion –
Membuat apa yang sudah dimodelkan menjadi suatu produk jadi
–
Dalam fase ini dilakukan: •
Beta dan performance testing
26
•
Membuat dokumentasi tambahan seperti; training, user guides dan sales kit
•
Membuat rencana peluncuran produk ke komunitas pengguna
2.13.2 Peran Use Case Pada Setiap Fase •
•
•
Inception –
Menolong mengembangkan scope proyek
–
Menolong menetapkan penjadwalan dan anggaran
Elaboration –
Menolong dalam melakukan analisa resiko
–
Menolong mempersiapkan fase berikutnya yaitu konstruksi
Construction –
Melakukan sederetan iterasi
–
Pada setiap iterasi akan akan melibatkan proses berikut: analisa desain, implementasi dan testing
•
Transistion –
Membuat apa yang sudah dimodelkan menjadi suatu produk jadi
–
Dalam fase ini dilakukan: •
Beta dan performance testing
•
Membuat dokumentasi tambahan seperti; training, user guides dan sales kit
•
Membuat rencana peluncuran produk ke komunitas pengguna
27
2.14 UML (Unified Modeling Language) UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan
grafik/gambar
untuk
memvisualisasikan,
menspesifikasikan,
membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-Oriented)12. Seperti
bahasa-bahasa
lainnya,
UML
mendefinisikan
notasi
dan
syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering). Diagram-diagram yang didefinisikan dalam UML adalah :
2.14.1 Use case diagram Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Seorang aktor merepresentasikan orang yang berinteraksi dengan
12
Hapizah. 2007. Pembangunan Aplikasi Sistem Management Pembelajaran Melalui Internet (Studi Kasus Mata Pelajaran Matematika SMU). Bandung : Tesis Program Studi Informatika Institut Teknologi Bandung.
28
sistem. Selain merupakan sebuah entitas manusia, mesin dan segala sesuatu yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu dapat dikatakan sebagai aktor. Use case diagram dapat digunakan selama proses analisis untuk menangkap requirements sistem dan untuk memahami bagaimana sistem seharusnya bekerja. Selama tahap desain, use case diagram berperan untuk menetapkan perilaku (behavior) sistem saat diimplementasikan. Dalam sebuah model mungkin terdapat satu atau beberapa use case diagram. Kebutuhan atau requirements sistem adalah fungsionalitas apa yang harus disediakan oleh sistem kemudian didokumentasikan pada model use case yang menggambarkan fungsi sistem yang diharapkan (use case), dan yang mengelilinginya (actor), serta hubungan antara aktor dengan use case (use case diagram) itu sendiri. Sebuah use case dapat menggunakan fungsionalitas use case lain (include) sebagai bagian dari proses dalam dirinya. Sebuah use case juga dapat menggunakan fungsionalitas use case lain secara opsional (extend). Adapun simbol-simbol dari Use Case, sebagai berikut: a) Actor Actor menggambarkan segala pengguna software aplikasi (user). Actor memberikan suatu gambaran jelas tentang apa yang harus dikerjakan software aplikasi. Sebagai contoh sebuah actor dapat memberikan input kedalam dan menerima informasi dari software aplikasi, perlu dicatat bahwa sebuah actor berinteraksi dengan use case, tetapi tidak memiliki kontrol atas
29
usecase. Sebuah actor mungkin seorang manusia, satu device, hardware atau sistem informasi lainnya. Simbol Notasi Actor ditunjukan pada gambar 2.2.
Gambar 2.2 Simbol Notasi Actor
b) Use case Usecase menjelaskan urutan kegiatan yang dilakukan actor dan sistem untuk mencapai suatu tujuan tertentu. Walaupun menjelesakan kegiatan, namun usecase hanya menjelaskan apa yang dilakukan oleh actor dan sistem bukan bagaimana actor dan sistem melakukan kegiatan tersebut. Simbol Notasi Use Case ditunjukan pada gambar 2.3.
Gambar 2.3 Simbol Notasi Use Case
c) Interaction Interaction digunakan untuk menunjukkan baik aliran pesan atau informasi antar objek maupun hubungan antar objek. Biasanya interaction ini dilengkapi juga dengan teks bernama operation signature yang tersusun dari nama operasi, parameter yang dikirim dan tipe parameter yang dikembalikan.
30
Simbol Notasi Interaction ditunjukan pada gambar 2.4.
Gambar 2.4 Simbol Notasi Interaction
d) Association Association menggambarkan navigasi antar class (navigation), berapa banyak objek yang bisa berhubungan dengan satu objek (multiplicity antar class) dan apakah suatu class menjadi bagian dari class lainnya (aggregation). Simbol Notasi Association ditunjukan pada gambar 2.5.
Gambar 2.5 Simbol Notasi Association
e) Include Hubungan include menggambarkan suatu use case seluruhnya meliputi kegunaan use case lainnya. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa usecase yang di-include secara normal. Sebuah use case dapat di-include oleh lebih dari use case lain, sehingga duplikasi fungsionalitas dapat dihindari. Simbol Notasi Include gambar 2.6. <
>
Gambar 2.6 Simbol Notasi Include
ditunjukan pada
31
f)
Extend Hubungan extend antar use case berarti bahwa suatu use case merupakan tambahan kegunaan dari use case yang lain jika kondisi atau syarat tertentu dipenuhi. Jika prosedur dari use case merupakan alternatif untuk menjelaskan use case lain. Use case akan dikerjakan apabila salah satu syarat terpenuhi. Symbol Notasi Extend ditunjukan pada gambar 2.7. <<extend>>
Gambar 2.7 Simbol Notasi Extend
2.14.2 Class diagram Menurut Adi Nugroho (2005:110) Diagram Kelas (class diagram) adalah diagram yang digunakan untuk menampilan beberapa kelas serta paket-paket yang ada di dalam sistem/perangkat lunak yang sedang kita kembangkan. Class diagram memberi kita gambaran/diagram statis tentang sistem/perangkat lunak dan relasi-relasi yang ada didalamnya.
2.14.2.1 Class Class adalah sesuatu yang membungkus (encapsulate) informasi (atribut) dan perilaku dalam dirinya (operasi/method).
2.14.2.2 Identifikasi class Berikut adalah cara-cara mengidentifikasi class:
32
1.
Class-class dapat kita temukan saat kita meninjau scenario-skenario, baik alternatif maupun primer, untuk suatu use case. Class-class dapat ditemukan dalam bentuk kata-kata benda dalam skenario-skenario use case.
2.
Cara lain yang dapat digunakan untuk menemukan class-class adalah dengan memeriksa object-object yang ada di sequence diagram dan colaboration diagram. Untuk menemukan class berusahalah menemukan segala sesuatu yang bersifat umum dari object-object, sebab kita tahu bahwa sesungguhnya class adalah blue print bagi object-object didalamnya. Setiap object yang kita temukan dalam sequence diagram dan collaboration diagram sesungguhnya harus dipetakan kedalam bentuk class-class. (adi nugroho,2005:111-112).
2.14.3 Statechart diagram Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state yang lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada umumnya statechart diagram menggambarkan kelas tertentu (satu class dapat memiliki lebih dari satu statechart diagram).
2.14.4 Activity diagram Activity menggambarkan sebuah pekerjaan/tugas dalam workflow. Pada UML, activity digambarkan dengan simbol “lozenge” (horizontal top and bottom with convex sides).
33
Simbol Notasi Acticvity ditunjukan pada gambar 2.8.
Gambar 2.8 Simbol Notasi Activity
a) Start State Start state dengan tegas menunjukkan dimulainya suatu workflow pada sebuah activity diagram. diagram Hanya ada satu start state dalam sebuah workflow. Pada UML, start state digambarkan dengan simbol lingkaran yang solid. Simbol Notasi Start State ditunjukan pada gambar 2.9.
Gambar 2.9 Simbol Notasi Start State
b) End State diagram. End state menggambarkan akhir atau terminal dari sebuah activity diagram Bisa terdapat lebih dari satu end state pada sebuah activity diagram diagram. Pada UML, end state digambarkan dengan simbol bull’s eye. Simbol mbol Notasi End State ditunjukan pada gambar 2.10. 2.10
Gambar 2.10 Simbol Notasi End State
c) State Transitions State transition menunjukkan kegiatan apa berikutnya setelah suatu kegiatan sebelumnya. Pada UML, UML state transition digambarkan oleh sebuah solid line dengan panah.
34
Simbol Notasi State Transition ditunjukan pada gambar 2.11.
Gambar 2.11 Simbol Notasi State Transition
d) Decisions Decision
adalah
suatu
titik/point
pada
activity
diagram
yang
mengindikasikan suatu kondisi dimana ada kemungkinan perbedaan transisi. Pada UML, decision digambarkan dengan sebuah simbol diamond. Simbol Notasi Decision ditunjukan pada gambar 2.12.
Gambar 2.12 Simbol Notasi Decision
2.14.5 Sequence diagram Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).
2.14.6 Collaboration diagram Collaboration diagram juga menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek dan bukan pada waktu penyampaian message.
35
1.
Component diagram Component diagram menggambarkan struktur dan hubungan antar
komponen piranti lunak, termasuk ketergantungan (dependency). 2.
Deployment diagram Deployment/physical
diagram
menggambarkan
detail
bagaimana
komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal13.
2.15 Pembangunan Perangkat Lunak Berorientasi Objek Model Data Berorientasi Objek atau object-oriented programming (OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objekobjek. Pemrograman berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak
13
skala besar. OOP juga lebih mudah dipelajari bagi pemula
Andrian, ST, Rian. 2011. Pembuatan Aplikasi Knowladge Management Sebagai Salah Satu Media Pengetahuan (Studi Kasus Informatika UIN SGD Bandung). Bandung : Skripsi Jurusan Teknik Informatika Universitas Islam Negeri Bandung.
36
dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat14.
2.15.1 Konsep-konsep Berorientasi Objek 1.
Abstraksi Abstraksi adalah kemampuan untuk menyajikan dalam bentuk yang lebih
sederhana. 2.
Enkapsulasi Enkapsulasi adalah suatu mekanisme untuk menyembunyikan atau
memproteksi suatu proses dari kemungkinan interferensi atau penyalahgunaan dari suatu sistem sekaligus menyederhanakan penggunaan sistem itu sendiri. 3.
Pewarisan (Inheretance) Pewarisan adalah proses dimana suatu kelas diturunkan dari kelas lainnya
sehingga ia mendapatkan ciri atau sifat dari kelas tersebut. 4.
Polymorphism Polymorphism adalah konsep dimana beberapa objek dapat memiliki
metode yang sama dengan aksi yang berbeda. Polymorphism sering disebut dengan istilah satu interface banyak aksi.
14
Hapizah. 2007. Pembangunan Aplikasi Sistem Management Pembelajaran Melalui Internet (Studi Kasus Mata Pelajaran Matematika SMU). Bandung : Tesis Program Studi Informatika Institut Teknologi Bandung.
37
2.15.2 Analisis Berorientasi Objek Secara umum, analisis adalah kegiatan menguraikan suatu pokok masalah atas beberapa bagian atau sub masalah serta penelaahan terhadap bagian-bagian itu dan hubungan di antara bagian-bagian itu untuk memperoleh pengertian yang tepat dan pemahaman arti keseluruhan. Analisis berorientasi objek adalah suatu kegiatan investigasi terhadap suatu masalah untuk menemukan (mengidentifikasi) dan mendefinisikan objekobjek atau konsep-konsep yang ada di ruang masalah. Proses analisis mempunyai tujuan untuk: 1.
Memodelkan konsep pada domain persoalan dalam objek-objek.
2.
Menggambarkan hubungan antar objek-objek tersebut.
3.
Menggambarkan secara umum komunikasi antar objek.
4.
Memodelkan domain persoalan dari berbagai sudut pandang.
Aktivitas utama analisis berorientasi objek (OOA) adalah 1.
Mencari/menemukan kelas & objek.
2.
Mengidentifikasi struktur.
3.
Mengidentifikasikan subjek.
4.
Mendefinisikan atribut.
5.
Mendefinisikan layanan.
Langkah-langkah ini bukan langkah sekuensial.
38
2.15.3 Perancangan Berorientasi Objek Perancangan berorientasi objek adalah: 1.
Proses untuk menterjemahkan model analisis hasil OOA menjadi model implementasi yang spesifik yang dapat direalisasikan menjadi sebuah perangkat lunak.
2.
Spesifikasi dari solusi perangkat lunak secara logika dalam kerangka objek- objek perangkat lunak, seperti: kelas, atribut, metode, dan hubungan antar kelas. 15 Proses perancangan bertujuan untuk:
1.
Menggambarkan secara detail komunikasi antar objek.
2.
Menentukan objek-objek pendukung lain selain objek-objek domain persoalan.
3.
Menentukan pemilahan sistem.
4.
Menentukan ciri objek secara detail.
5.
Menetapkan penggunaan objek-objek pustaka yang telah tersedia. Proses perancangan merupakan proses kreatif dalam pembangunan
perangkat lunak untuk memecahkan suatu persoalan. Model perancangan secara garis besar terdiri dari empat tahap proses yaitu:
15
Hapizah. 2007. Pembangunan Aplikasi Sistem Management Pembelajaran Melalui Internet (Studi Kasus Mata Pelajaran Matematika SMU). Bandung : Tesis Program Studi Informatika Institut Teknologi Bandung.
39
1.
Menemukan suatu solusi.
2.
Membangun model dari solusi tersebut.
3.
Evaluasi model terhadap spesifikasi kebutuhan yang telah ada.
4.
Menjabarkan rincian spesifikasi dari solusi tersebut. Metode perancangan berorientasi objek adalah cara kerja yang sistematis
untuk mengerjakan tahap perancangan berdasarkan pendekatan objek. Seperti halnya
analisis, perancangan berorientasi objek mempunyai urutan-urutan
aktifitas, teknik, dan alat bantu (tools) tertentu untuk memodelkan hasil dari setiap aktifitasnya. Beberapa metode yang dapat digunakan untuk melakukan perancangan berorientasi objek diantaranya adalah: metode Coad & Yourdon, metode Rumbaugh, metode Jacobson, atau metode Booch. Pada prinsipnya, semua metode perancangan berorientasi objek adalah sama.
Secara umum, tahap dari pelaksanaan perancangan berorientasi objek
adalah: 1.
Perbaiki dan lengkapi model objek hasil analisis.
2.
Perancangan objek.
3.
Rancang setiap operasi pada level prosedural.
4.
Definisikan kelas-kelas internal.
5.
Rancang struktur data internal untuk setiap atribut kelas.
6.
Rancang model pesan berdasarkan kerjasama (kolaborasi) dan hubungan antar objek.
7.
Rancang antarmuka pemakai.
8.
Kaji ulang model perancangan dan ulangi sesuai kebutuhan.
40
2.15.4 Pemrograman Berorientasi Objek Pemrograman berorientasi objek atau object-oriented programming adalah: 1.
Pemrograman yang dibangun dengan cara membungkus (enkapsulasi) komponennya menjadi kelompok data dan fungsi yang dapat mewarisi atribut dan sifat dari komponen lainnya, dan komponen-komponen tersebut dapat berinteraksi satu sama lain.
2.
Pemrograman yang didasarkan pada objek-objek, yaitu suatu unit terkecil dari program yang mengandung data dan fungsi yang bekerja atas objek tersebut.
Pemrograman berorientasi objek mempunyai karakteristik sebagai berikut: 1.
Abstraksi Prinsip untuk mendeskripsikan objek dan relasi antar objek, dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan.
2.
Enkapsulasi Pembungkusan atribut, data, dan layanan (operasi-operasi) yang dimiliki oleh objek, untuk menyembunyikan implementasi dari objek lain sehingga objek lain tidak mengetahui cara kerjanya.
3.
Pewarisan (Inheritance) Mekanisme yang memungkinkan satu objek/kelas mewarisi sebagian atau seluruh definisi dari objek lain sebagai bagian dari dirinya.
4.
Reusability Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu permasalahan pada permasalahan lainnya yang melibatkan objek tersebut.
5.
Generalisasi dan Spesialisasi
41
Menunjukkan hubungan antara kelas dan objek yang umum, dengan kelas dan objek yang khusus. 6.
Komunikasi antar objek Komunikasi antar objek dilakukan dengan pesan (message) yang dikirim dari satu objek ke objek lainnya.
7.
Polimorphism Kemampuan suatu objek untuk digunakan di banyak tujuan yang berbeda dengan nama yang sama sehingga menghemat baris kolom.16
2.16 Basis Data (Database) 2.16.1 Pengertian Basis Data Basis data terdiri dari 2 kata, yaitu Basis dan Data. Basis kurang lebih diartikan sebagai markas atau gudang, tempat sarana atau berkumpul. Sedangkan data adalah representasi fakta dunia yang mewakili suatu objek seperti manusia (pegawai, siswa, pembeli, pelanggan), barang hewan, peristiwa, konsep, keadaan, dan sebagainya, yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi, dan kombinasinya. (Fathansyah, 2007: 2) Atau basis data juga memiliki arti yang bermacam-macam, yaitu:
16
Hapizah. 2007. Pembangunan Aplikasi Sistem Management Pembelajaran Melalui Internet (Studi Kasus Mata Pelajaran Matematika SMU). Bandung : Tesis Program Studi Informatika Institut Teknologi Bandung.
42
a.
Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasikan sedemikian rupa agar dapat digunakan kembali secara mudah dan cepat.
b.
Kumpulan data yang saling berhubungan yang disimpan secara bersama dengan tanpa adanya pengulangan (redudansi) yang tidak perlu untuk memenuhi yang tidak perlu untuk memenuhi berbagai kebutuhan.
c.
Kumpulan file / tabel / arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronik.
d.
Kumpulan dari item data yang saling berhubungan satu dengan yang lainnya yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu, tersimpan di hardware komputer dan dengan software untuk melakukan manipulasi untuk kegunaan tertentu (Fathansyah, 2007: 4)
2.16.2 Database Management Sistem (DBMS) Menurut Abdul Kadir (2003:254), Untuk mengelola basis data diperlukan perangkat lunak yang disebut DBMS. DBMS adalah perangkat lunak sistem yang memungkinkan para pemakai membuat, memelihara, mengontrol, dan mengakses basisdata dengan cara yang praktis dan efisien. DBMS dapat digunakan untuk mengakomodasikan berbagai macam pemakai yang memiliki kebutuhan akses yang berbeda-beda. Umumnya DBMS menyediakan fitur-fitur sebagai berikut:
•
Indepedensi data-program
43
Karena basis data ditangani oleh DBMS, program dapat ditulis sehingga tidak tergantung pada struktur data dalam basis data. Dengan kata lain, program tidak akan terpengaruh sekiranya bentuk fisik data diubah.
•
Keamanan
Keamanan dimaksudkan untuk mencegah pengaksesan data oleh orang yang tidak berwenang.
•
Integritas Hal ini ditujukan untuk menjaga agar data dapat diakses oleh banyak pemakai tanpa menimbulkan masalah.
•
Konkurensi Konkurensi memungkinkan data dapat diakses oleh banyak pemakai tanpa menimbulkan masalah.
•
Pemulihan (recovery) DBMS menyediakan mekanisme untuk mengembalikan basis data ke keadaan semula yang konsisten sekiranya terjadi gangguan perangkat keras atau kegagalan perangkat lunak.
•
Katalog sistem Katalog sistem adalah deskripsi tentang data yang terkandung dalam basis data yang dapat diakses oleh pemakai.
•
Perangkat produktivitas Untuk menyediakan kemudahan bagi pemakai dan meningkatkan produktivitas, DBMS menyediakan sejumlah perangkat produktivitas seperti pembangkit query dan pembangkit laporan. (Abdul Kadir, 2003:256)
44
2.17
Knowledge Management Knowledge Management adalah konsep dimana informasi diubah menjadi
pengetahuan kemudian didokumentasikan kedalam bentuk yang tersedia dan mudah digunakan oleh siapapun yang ingin mempelajari ilmu yang telah terdokumentasikan.17 Suatu pendekatan sistematis untuk mengatur penggunaan informasi sebagai Knowledge flow kepada orang yang tepat dan pada waktu yang tepat, memungkinkan keputusan yang efisien dan efektif keputusan dalam setiap aktivitasnya.
2.18
Pengujian (Black Box Testing) Fungsional perangkat diuji dengan Metode Black Box Testing, yaitu
metode pengujian yang terfokus pada persyaratan fungsional dari web yang dibangun. Pengujian dilaksanakan dengan cara member masukan-masukan dan aksi-aksi dari penggunaan kepada web18.
17
Dalkir, Kimiz. 2005. Knowledge Management In Theory and Practice . Burlington: Elsevier Inc. Hal. 5 18 Hapizah. 2007. Pembangunan Aplikasi Sistem Management Pembelajaran Melalui Internet (Studi Kasus Mata Pelajaran Matematika SMU). Bandung : Tesis Program Studi Informatika Institut Teknologi Bandung