BAB II LANDASAN TEORI
2.1
Defenisi Sistem dan Informasi
2.1.1 Defenisi Sistem Secara umum, sistem dapat diartikan sebagai kumpulan dari elemenelemen yang berinteraksi untuk mencapai suatu tujuan tertentu sebagai satu kesatuan. Dalam bidang sistem informasi, sistem diartikan sebagai sekelompok komponen yang saling berhubungan, bekerja sama untuk mencapai tujuan bersama
dengan menerima input serta menghasilkan input dalam proses
transformasi yang teratur. Apabila suatu komponen tidak memberikan kontribusi terhadap sistem untuk mencapai tujuan, tentu saja komponen tersebut bukan bagian dari sebuah sistem. (Mulyanto,2009). Konsep dasar sistem ada dua pendekatan yaitu penekanan pada prosedurnya dan penekanan pada komponennya. Definisi sistem yang lebih menekankan pada prosedur adalah Suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran tertentu. Sedangkan Definisi sistem yg lebih menekankan pada konponen/elemen adalah Kumpulan dari elemen-elemen yang berinteraksi untuk mencapai suatu tujuan tertentu (Jogiyanto,1995).
2.1.2 Defenisi Informasi Informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerimanya, sedangkan data merupakan sumber informasi yang menggambarkan suatu kejadian yang nyata. Informasi merupakan data yang telah diproses sedemikian rupa sehingga meningkatkan pengetahuan seseorang yang menggunakan data tersebut. Informasi adalah data yang telah diolah menjadi sebuah bentuk yang berarti bagi penerimanya dan bermanfaat dalam pengembilan keputusan saat ini atau saat mendatang (Jogiyanto,1995).
2.1.3 Siklus Informasi Data merupakan bentuk yang masih mentah yang belum dapat berbicara banyak, sehingga perlu diolah lebih lanjut. Data yang diolah melalui suatu model menjadi informasi, penerima kemudian menerima informasi tersebut, membuat suatu keputusan dan melakukan tindakan, yang berarti menghasilkan tindakan lain yang akan membuat sejumlah data kembali. Data yang ditangkap dianggap sebagai input, diproses kembali melalui model dan seterusnya membentuk suatu siklus (Burch, John., dan Gary Grudnitski, 1986). Siklus ini disebut dengan Siklus Informasi (Information Cycle) atau Siklus Pengolahan Data ( Data Processing Cycle) (Jogiyanto,1995).
Gambar 2.1 Siklus Informasi (Sumber : Sistem Informasi Konsep & Aplikasi, Mulyanto, 2007) 2.1.4 Kualitas Informasi Kualitas dari suatu sistem informasi tergantung dari tiga hal, yaitu : a. Akurat Berarti informasi harus bebas dari kesalahan-kesalahan dan tidak menyesatkan bagi orang yang menerima informasi tersebut. Akurat juga berarti
informasi
harus
jelas
mencerminkan
maksudnya.
Dalam
prakteknya, mungkin dalam penyampaian suatu informasi banyak terjadi gangguan (noise) yang dapat merubah atau merusak isi dari informasi tersebut.
7
b. Tepat waktu Informasi yang diterima harus tepat pada waktunya, sebab informasi yang usang (terlambat) tidak mempunyai niali yang baik, sehingga bila digunakan sebagai dasar dalam pengambilan keputusan akan dapat berakibat fatal. Saat ini mahalnya nilai informasi disebabkan harus cepatnya informasi tersebut didapat, sehingga diperlukan teknologiteknologi mutakhir untuk mendapatkan, mengolah dan mengirimkannya. c. Relevan Informasi harus mempunyai manfaat bagi si penerima. Relevansi informasi untuk tiap-tiap orang satu dengan yang lainnya berbeda. (Hanif,2007)
2.2
Konsep Dasar Sistem Informasi
2.2.1 Defenisi Sistem Informasi Informasi dapat diperoleh dari sistem informasi (information systems) atau disebut juga dengan processing systems atau information processing systems atau information - generating systems. Sistem informasi didefenisikan oleh Robert A. Leitch dan K. Roscoe Davus (Agus Mulyanto, 2009) sebagai berikut : Sistem Informasi adalah satu sistem di dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi, bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan (Mulyanto,2009).
2.2.2 Komponen Sistem Informasi John Burch dan Gary Gurdnitski mengemukakan bahwa sistem informasi terdiri dari komponen-komponen perangkat keras, perangkat lunak, database, telekomunikasi, dan manusia. Sementara Burch dan Grudnistki (1986) berpendapat, sistem informasi yang terdiri dari komponen-komponen diatas disebut dengan istilah block bangunan (building block), yaitu block masukan (input), blok model (model block), blok keluaran (output block), block teknologi (technologi block), dan block kendali (control block). (Jogiyanto,1995).
8
Keenam block tersebut masing-masing saling berinteraksi satu sama lainnya membentuk satu kesatuan untuk mencapai sasarannya. Keenam block tersebut yaitu: 1.
Blok masukan Input Mewakili data yang masuk ke dalam sistem informasi. Input termasuk metode dan media untuk memperoleh data yang akan dimasukkan, yang dapat berupa dokumen dasar.
2.
Blok model Blok ini terdiri dari kombinasi prosedur, logika dan model matematik yang akan memanipulasi/ mentransformasi data masukan dan data yang tersimpan dalam basis data untuk menghasilkan keluaran yang diinginkan.
3.
Blok keluaran Produk dari sistem informasi adalah keluaran berupa informasi yang berkualitas dan dokumentasi yang berguna untuk semua semua pemakai sistem.
4.
Blok teknologi Teknologi merupakan kotak alat (tool-box) dalam sistem informasi. Teknologi digunakan untuk menerima input, menjalankan model, menyimpan dan mengakses data, menghailkan sekaligus mengirimkan keluaran dan membantu pengendalian dari sistem secara keseluruhan.
5.
Blok basis data Merupakan kumpulan dari file data yang saling berhubungan satu dengan lainnya, tersimpan dalam komputer dan digunakan perngkat lunak untuk memanipulasinya.
6.
Blok kendali Pengendalian perlu dirancang dan diterapkan untuk menyakinkan bahwa hal-hal yang dapat merusak sistem dapat dicegah atau bila terlanjur terjadi kesalahan dapat langsung diatasi.
9
2.3
Analisis dan Perancangan Sistem
2.13.1. Defenisi Analisis Sistem Analisis sistem (System analysis) dapat didefenisikan sebagai : Penguraian dari suatu sistem informasi yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi permasalahan-permasalahan, kesempatan-kesempatan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat di usulkan perbaikan-perbaikannya (Mulyanto,2009).
2.13.2. Defenisi Perancangan Sistem Perancangan Sistem Informasi atau desain Sistem Informasi adalah melakukan perancangan terhadap suatu sistem, misalnya mendesain dari manual menjadi komputerisasi. Menurut John Burch dan Gari Grundnitski (Jogiyanto, HM. 1995), perancangan sistem dapat didefenisikan sebagai berikut : “system design can be defined as the drawing, planning, sketching or arranging of many saparate elements into aviable, reunifield awhole
(Desain sistem dapat
didefenisikan sebagai penggambaran, perencanaan dan pembuatan sketsa dan pengaturan dari beberapa elemen yang terpisah kedalam suatu kesatuan yang utuh dan berfungsi)”. Untuk mencapai tujuan ini, sasaran-sasaran berikut ini harus dicapai yaitu: a. Rancangan sistem harus berguna, mudah dipahami dan mudah digunakan. b. Rancangan sistem harus dapat mendukung tujuan utama perusahaan sesuai dengan yang telah didefenisikan pada tahap perencanaan sistem yang dilanjutkan pada tahap analisa sistem. Tahapan perancangan/pemodelan sistem dapat dibagi menjadi 2 tahap, yaitu tahap model logis (logical design) dan tahapan model fisik (physical design). Adapun perbedaan dari keduanya yaitu: 1. Model Logis (logical design) Model logis menunjukkan apa sebenarnya sistem tersebut dan apa yang dilakukannya. Semua fitur-fitur fungsional dari sistem dipilih dari tahapan analisis dideskripsikan terpisah dari platform komputer yang nanti digunakan.
10
Tahapan model logis biasanya menghasilkan beberapa dokumen, di antaranya dokumen model data, dokumen model proses, rancangan tabel, hierarki antar modul, sampai desain antar muka dari sistem yang akan dibuat. 2. Model Fisik (physical design) Pada tahapan ini tidak hanya menunjukkan apa sebenarnya sistem tersebut atau apa yang dilakukannya, tetapi juga bagaimana sistem tersebut diimplementasikan secara fisik dan teknis. Pada tahap ini spesifikasi logis diubah ke dalam detail teknologi di mana pemograman dan pengembangan sistem bisa diselesaikan. Pada tahapan inilah coding dilakukan. 2.13.3. Langkah-Langkah Perancangan Sistem Langkah-langkah analisa sistem menurut Jogiyanto (1995: 130) adalah : a. Mengidentifikasi Masalah (Identify) 1) Mengidentifikasi penyebab masalah. 2) Mengidentifikasi titik keputusan. 3) Mengidentifikasi personil kunci. b. Memahami kerja dari sistem yang ada (Understand) 1) Menentukan jenis penelitian. 2) Merencanakan jadwal. 3) Membuat penugasan penelitian. 4) Membuat agenda wawancara. 5) Mengumpulkan hasil penelitian. c. Menganalisa sistem (Analize) 1) Menganalisa kelemahan sistem. 2) Menganalisa kebutuhan informasi pemakai. d. Membuat laporan hasil analisa (Report) 1) Pelaporan bahwa analisa telah selesai dilakukan. 2) Meluruskan kesalahan apa yang telah ditemui dan dianalisa.
11
2.4
Profil Instansi
2.4.1 Tugas Pokok dan Fungi Disprindag Kab. Pelalawan Bahwa dengan terbitkannya Undang Undang no 22 tahun 1999 tentang Pemerintah Daerah yang menganut prinsip Penyelenggraan Otonomi Daerah yang luas, nyata dan bertanggung jawab, maka untuk melancarkan penyelenggaraan Pemerintahan Kabupaten Pelalawan perlu adanya penataan kembali perangkat Pemerintah Daerah Kabupaten Pelalawan, sesuai dengan Peraturan Pemerintah Nomor 84 Tahun 2002 tentang Pedoman Organisasi Perangkat Daerah. Untuk menunjang Pelaksanaan Otonomi Daerah dipandang perlu penetapan Susunan Organisasi dan Tata Kerja Perangkat Daerah dengan Peraturan Daerah. Sehubungan dengan Peraturan Pemerintah RI Nomor 25 Tahun 2000 tentang Kewenangan Pemerintah dan Kewenangan Propinsi sebagai Daerah Otonomi. Keputusan Presiden RI Nomor 44 Tahun 1999 tentang Teknik Penyusunan Peraturan Perundang-Undangan dan Bentuk Rancangan Undang-Undang, Rancangan Peraturan Pemerintah dan Rancangan Keputusan Presiden. Perangkat Daerah adalah Organisasi / Lembaga pada Pemerintah Daerah yang bertanggung jawab kepada Kepala Daerah dan membantu Kepala Daerah dalam Penyelenggaraan Pemerintahan yang terdiri atas Sekretariat Daerah, Dinas Daerah dan Lembaga Teknis Daerah, Kecamatan dan Kelurahan sesuai dengan kebutuhan Daerah. Berdasarkan Peraturan Daerah (Perda) Nomor 07 tahun 2008 tentang Pembentukan Organisasi dan Tata Kerja Dinas perindag dan pengelolaan Pasar Kabupaten Pelalawan yang berlaku sampai sekarang. Dinas
Perindustrian
Perdagangan dan Pasar Kabupaten Pelalawan merupakan Perangkat Daerah yang diserahkan
Wewenang,
Tugas
dan
Tanggung
Jawab
guna
menunjang
Penyelenggaraan urusan otonomi daerah. Dinas Perindustrian Perdagangan dan Pasar di Pimpin oleh Kepala Dinas yang dalam melaksanakan tugasnya bertanggung jawab kepada Bupati Pelalawan melalui Sekretariat Daerah Kabupaten Pelalawan, adapun susunan Organisasi ini berdasarkan pelaturan Bupati N0. 28 Tahun 2009.
12
2.4.2 Struktur Organisasi Disperindag Kab. Pelalawan
Gambar 2.2 Struktur Organisasi 2.5
Kepegawaian
2.5.1 Pengertian Kepegawaian Menurut penjelasan umum dalam Undang-Undang (UU) Nomor 8 Tahun 1974 disebut bahwa yang dimaksud dengan Kepegawaian adalah segala hal-hal mengenai kedudukan, kewajiban, hak, dan pembinaan pegawai negeri. Pegawai Negeri Secara sederhana pengertian "Pegawai Negeri adalah seseorang yang bekerja pada instansi/lembaga pemerintah dat digaji dengan anggaran pemerintah". Dalam UU Nomor 43 Tahun 1999 yang dimaksud dengan Pegawai Negeri adalah setiap warga negara Republik Indonesia yang telah memenuhi syarat yang ditentukan, diangkat oleh pejabat yang berwenang dan diserahi tugas dalam suatu
13
jabatan negeri, atau diserahi tugas negara lainnya dan digaji berdasarkan peraturan perundang-undangan yang berlaku". 2.5.2 Administrasi Kepegawaian Administrasi kepegawaian adalah suatu kecakapan atau seni dari perolehan, pengembangan dan pemeliharaan angkatan kerja sedemikian rupa untuk melaksanakan fungsi serta tujuan organisasi dengan se-efisien dan seekonomis mungkin. Empat Unsur Kepegawaian 1.
Memenuhi syarat tertentu. syarat untuk menjadi pegawai ditentukan dalam Peraturan Pemerintah berupa usia, indeks prestasi kumulatif, dan lain-lain.
2.
Diangkat oleh pejabat yang berwenang. diangkat oleh kepala instansi yang bersangkutan dengan Surat Keputusan yang mencantumkan pangkat dan golongannya.
3.
Diserahi tugas Yaitu untuk menjalankan tugas pemerintahan yang ada dalam HAN otonom.
4.
Digaji penggajian ini berlaku secara nasional.
2.5.3 Sistem Penggajian karyawan Sistem penggajian karyawan dibagi menjadi tiga yaitu : 1.
Sistem skala tunggal (mono-scale system) berlaku secara nasional kepada pegawai yang berpangkat sama diberikan gaji yang sama pula.
2.
Sistem skala ganda (multi-scale system) Pemberian tunjangan kepada pegawai yang melakukan pekerjaan tertentu, yang didasarkan pada sifat pekerjaan, prestasi, tanggung jawab. Tunjangan inilah yang disebut sebagai tambahan gaji. Akumulasi gaji dan tunjangan inilah yang disebut “take home pay”.
14
3.
Sistem skala gabungan. Setiap PNS pasti mempunyai gaji pokok karena ketika diangkat sudah tertera pangkatnya. Tapi tidak semua PNS mempunyai tunjangan yang sama karena tunjangan didasarkan pada jabatannya.
2.5.4 Jenis Tunjangan Jenis-jenis tunjangan terbagi 6 yaitu : 1. Tunjangan jabatan fungsional (berdasarkan sifat pekerjaan, misalnya dokter, dosen, pengamat gunung berapi, pustakawan, peneliti, hakim, dll). 2. Tunjangan jabatan struktural (berdasarkan jabatan dalam organisasi, misalnya dirjen, irjen, kepala biro, dll). 3. Tunjangan keluarga (sejak 1994 yang ditanggung adalah pasangannya dan 2 anak). 4. Tunjangan kemahalan (diberikan untuk yang bertugas di daerah yang kebutuhan pokoknya tinggi). 5. Tunjangan daerah terpencil (diberikan untuk yang bertugas di daerah terpencil, misalnya daerah indonesia timur). 6. Tunjangan cacat dalam menjalankan tugas kedinasan.
2.5.5 Pangkat dan jabatan Pangkat adalah kedudukan yang menunjukkan tingkat seseorang PNS dalam rangkaian susunan kepegawaian dan digunakan sebagai dasar penggajian, oleh sebab itu setiap PNS diangkat dalam jabatan tertentu. Jabatan adalah kedudukan yang menunjukkan tugas, tanggung jawab, wewenang, danhak seseorang PNS dalam rangka susunan suatu organisasi. Jabatan pada dasarnya terdiri atas: 1.
Jabatan struktural, adalah kedudukan yang menunjukkan tugas, tanggung jawab, wewenang dan hak seseorang PNS dalam rangka memimpin sutau satuan organisasi negara. Jabatan struktural dipegang oleh eselon 1,2, dan 3.
15
2.
Dan jabatan fungsional. Adalah kedudukan yang menunjukkan tugas, tanggung jawab, wewenang dan hak seseorang PNS dalam suatu satuan organisasi yang dalam pelaksanaan tugasnya didasarkan pada keahlian atau keterampilan tertentu serta bersifat mandiri.
NO
Nama Pangkat
Golongan
1.
Juru Muda
I
2.
Juru Muda Tingkat I
I
3
Juru
I
4
Juru Tingkat I
I
5
Pengatur Muda
II
6
Pengatur Muda Tingkat I
II
7
Pengatur
II
8
Pengatur Tingkat I
II
9
Penata Muda
III
10
Penata Muda Tingkat I
III
11
Penata
III
12
Penata Tingkat I
III
13
Pembina
IV
14
Pembina Tingkat I
IV
15
Pembina Utama Muda
IV
16
Pembina Utama Madya
IV
17
Pembina Utama
IV
Tabel 2.1 Pangkat dan Jabatan
16
2.6
Sistem Monitoring
2.6.1 Pengertian Monitoring Monitoring (bahasa Indonesia: pemantauan) adalah pemantauan yang dapat dijelaskan sebagai kesadaran (awareness) tentang apa yang ingin diketahui, pemantauan berkadar tingkat tinggi dilakukan agar dapat membuat pengukuran melalui waktu yang menunjukkan pergerakan ke arah tujuan atau menjauh dari itu. Monitoring akan memberikan informasi tentang status dan kecenderungan bahwa pengukuran dan evaluasi yang diselesaikan berulang dari waktu ke waktu, pemantauan umumnya dilakukan untuk tujuan tertentu, untuk memeriksa terhadap proses berikut objek atau untuk mengevaluasi kondisi atau kemajuan menuju tujuan hasil manajemen atas efek tindakan dari beberapa jenis antara lain tindakan untuk mempertahankan manajemen yang sedang berjalan. Monitoring adalah untuk memahami apakah pelaksanaan kegiatan telah sesuai dengan apa yang direncanakan dan apa yang ditargetkan. Secara rinci dapat merinci beberapa hal. Yang penting adalah meyakinkan bahwa data untuk menyusun indikator monitoring itu dilaksanakan dan dapat dipercaya. Monitoring menjadi tidak berarti ketika tidak memiliki sistem informasi yang memadai yang dikumpulkan sesuai waktu yang diharapkan. Lebih baik lagi jika informasi itu dapat diakses kapan saja selama proses berlangsung. Mengingat hal itu, apa yang perlu diperhatikan dalam membuat monitoring adalah meyakinkan bahwa sumber data yang ditulis oleh perencana dapat digunakan. Sumber data yang baik adalah yang telah ada. Jika memang belum memiliki sumber data yang terarah, sewajarnya dalam perencanaan ini dibuat dan jika perlu masuk dalam anggaran. Bahkan sangat penting keberadaan buku-buku pelaporan ini menjadi perhatian dalam catatan manajemen. Setelah data itu tersedia, dipastikan apakah dapat memperoleh data dan menilai perubahan dari indikator-indikator itu pada waktu yang diharapkan. Jika data tidak tersedia, dipusatkan pada apakah kegiatan-kegiatan dilakukan sesuai dengan rencana dan sesuai dengan logika tentang pengaruhnya terhadap status pencapaian. Monitoring
17
bukan kegiatan formalitas. Monitoring digunakan untuk mempelajari masalah-masalah yang timbul dalam pelaksanaan dan mengambil sikap dan kebijakan yang mengembalikan kegiatan sehingga berbuah hasil yang diharapkan. Output dari monitoring adalah penemuan unsur kegiatan yang tidak jalan atau ancaman-ancaman yang membuat kegiatan tidak berjalan seperti diharapkan. Bagi manajer, monitoring tidak lain untuk memperbaiki kinerja organisasi. Indikator yang diciptakan berupa cermin dari kegiatan manajemen dan informasi ini dibagi ke seluruh staf dan mitra kerja untuk menjadi bahan perbaikan semua pihak. Ada banyak alasan suatu program berjalan tidak sesuai dengan harapan dan oleh karena itu monitoring perlu dilaksanakan. Kegiatan monitoring menyangkut mengamati hal-hal yang di luar pekerjaan, karena pekerjaan itu tadi bisa terjadi jika ada prasyarat lain yang tersedia. Meski letaknya diakhir dari setiap perencanaan, monitoring ini kerap dianggap sederhana. Tetapi pelaksanaan program tidak lain adalah terus menerus melakukan monitoring. Monitoring memudahkan untuk mengkomunikasikan keadaan kepada pihak-pihak lain. Indikator itu ditujukan untuk membuat dan menilai apakah keadaan yang ingin dicapai telah terlaksana, apakah kegiatan yang direncanakan telah mengubah keadaan, apakah masalah yang dihadapi itu telah dapat kita pecahkan, apakah sejumlah uang yang telah dikeluarkan ada gunanya utuk masyarakat, atau pun apakah strategi yang dipilih memiliki efektivitas atau efisiensi lebih baik daripada strategi yang lama. Tipe dan jenis monitoring dibagi tiga yaitu aspek masukan (input) proyek antara lain mencakup : tenaga manusia, dana, bahan, peralatan, jam kerja, data, kebijakan, manajemen dan sebaginya yang dibutuhkan untuk melaksanakan kegiatan proyek. Aspek proses/aktivitas yaitu aspek dari proyek yang mencerminkan suatu proses kegiatan, seperti penelitian, pelatihan, proses produksi, pemberian bantuan dsb. Aspek keluaran (output) yaitu aspek proyek yang
mencakup
hasil
dari
proses
yang
terutama
berkaitan
dengan
kuantitas/jumlah.
18
2.6.2 Tujuan Monitoring 1. mengkaji apakah kegiatan-kegiatan yang dilaksanakan telah sesuai dengan rencana. 2. mengidentifikasi masalah yang timbul agar langsung dapat diatasi 3. melakukan penilaian apakah pola kerja dan manajemen yang digunakan sudah tepat untuk mencapai tujuan proyek. 4. mengetahui kaitan antara kegiatan dengan tujuan untuk memperoleh ukuran kemajuan. 5. menyesuaikan kegiatan dengan lingkungan yang berubah, tanpa menyimpang dari tujuan. 2.7
OOAD (Object-Oriented Analysis/Design)
2.7.1 Konsep Objek Obyek dalam ‘software analysis & design’ adalah sesuatu berupa konsep (concept),
benda
(thing),
dan
sesuatu
yang
membedakannya
dengan
lingkungannya. Secara sederhana obyek adalah mobil, manusia, alarm dan lainlainnya. Tapi obyek dapat pula merupakan sesuatu yang abstrak yang hidup didalam sistem seperti tabel, database, event, system messages. Obyek dikenali dari keadaannya dan juga operasinya. Sebagai contoh sebuah mobil dikenali dari warnanya, bentuknya, sedangkan manusia dari suaranya. Ciriciri ini yang akan membedakan obyek tersebut dari obyek lainnya. Alasan mengapa saat ini pendekatan dalam pengembangan software dengan object-oriented, pertama adalah scalability dimana obyek lebih mudah dipakai untuk menggambarkan sistem yang besar dan komplek. Kedua dynamic modeling, adalah dapat dipakai untuk permodelan sistem dinamis dan real time. 2.7.2 Teknik Dasar OOA/D (Object-Oriented Analysis/Design) Dalam dunia pemodelan, metodologi implementasi obyek walaupun terikat kaidah-kaidah standar, namun teknik pemilihan obyek tidak terlepas pada subyektifitas software analyst & designer. Beberapa obyek akan diabaikan dan
19
beberapa obyek menjadi perhatian untuk diimplementasikan di dalam sistem. Hal ini sah-sah saja karena kenyataan bahwa suatu permasalahan sudah tentu memiliki lebih dari satu solusi. Ada 3 (tiga) teknik/konsep dasar dalam OOA/D, yaitu pemodulan (encapsulation), penurunan (inheritance) dan polymorphism.
a. Pemodulan (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.
b. Penurunan (Inheritance) Obyek-obyek memiliki banyak persamaan, namun ada sedikit perbedan. Contoh dengan beberapa buah mobil yang mempunyai kegunaan yang berbedabeda. Ada mobil bak terbuka seperti truk, bak tertutup seperti sedan dan minibus. Walaupun demikian obyek-obyek ini memiliki kesamaan yaitu teridentifikasi sebagai obyek mobil, obyek ini dapat dikatakan sebagai obyek induk (parent). Sedangkan minibus dikatakan sebagai obyek anak (child), hal ini juga berarti semua operasi yang berlaku pada mobil berlaku juga pada minibus
c. Polymorphism Pada obyek mobil, walaupun minibus dan truk merupakan jenis obyek mobil yang sama, namun memiliki juga perbedaan. Misalnya suara truk lebih keras dari pada minibus, hal ini juga berlaku pada obyek anak (child) melakukan metoda yang sama dengan algoritma berbeda dari obyek induknya. Hal ini yang disebut polymorphism, teknik atau konsep dasar lainnya adalah ruang lingkup / pembatasan. Artinya setiap obyek mempunyai ruang lingkup kelas, atribut, dan metoda yang dibatasi.
20
2.8
UML (Unified Modeling Language)
2.8.1 Sejarah Singkat UML UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan
grafik/gambar
untuk
memvisualisasi,
menspesifikasikan,
membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-Oriented). UML sendiri juga memberikan standar penulisan sebuah system blue print, yang meliputi konsep bisnis proses, penulisan kelaskelas dalam bahasa program yang spesifik, skema database, dan komponenkomponen yang diperlukan dalam sistem software (http://www.omg.org). Pendekatan analisa & rancangan dengan menggunakan model OO mulai diperkenalkan sekitar pertengahan 1970 hingga akhir 1980 dikarenakan pada saat itu aplikasi software sudah meningkat dan mulai komplek. Jumlah yang menggunakaan metoda OO mulai diuji cobakandan diaplikasikan antara 1989 hingga 1994, seperti halnya oleh Grady Booch dari Rational Software Co., dikenal dengan OOSE (Object-Oriented Software Engineering), serta James Rumbaugh dari General Electric, dikenal dengan OMT (Object Modelling Technique). Kelemahan saat itu disadari oleh Booch maupun Rumbaugh adalah tidak adanya standar penggunaan model yang berbasis OO, ketika mereka bertemu ditemani rekan lainnya Ivar Jacobson dari Objectory mulai mendiskusikan untuk mengadopsi masing-masing pendekatan metoda OO untuk membuat suatu model bahasa yang uniform / seragam yang disebut UML (Unified Modeling Language) dan dapat digunakan oleh seluruh dunia. Secara resmi bahasa UML dimulai pada bulan oktober 1994, ketika Rumbaugh bergabung Booch untuk membuat sebuah project pendekatan metoda yang uniform/seragam dari masing-masing metoda mereka. Saat itu baru dikembangkan draft metoda UML version 0.8 dan diselesaikan serta di release pada bulan oktober 1995. Bersamaan dengan saat itu, Jacobson bergabung dan UML tersebut diperkaya ruang lingkupnya dengan metoda OOSE sehingga muncul release version 0.9 pada bulan Juni 1996. Hingga saat ini sejak Juni 1998 UML version 1.3 telah diperkaya dan direspons oleh OMG (Object Management
21
Group), Anderson Consulting, Ericsson, Platinum Technology, ObjectTime Limited, dll serta di pelihara oleh OMG yang dipimpin oleh Cris Kobryn. UML adalah standar dunia yang dibuat oleh Object Management Group (OMG), sebuah badan yang bertugas mengeluarkan standar-standar teknologi objectoriented dan software component.
2.8.2 Pengenalan UML UML sebagai sebuah bahasa yang memberikan vocabulary dan tatanan penulisan kata-kata dalam ‘MS Word’ untuk kegunaan komunikasi. Sebuah bahasa model adalah sebuah bahasa yang mempunyai vocabulary dan konsep tatanan / aturan penulisan serta secara fisik mempresentasikan dari sebuah sistem. Seperti halnya UML adalah sebuah bahasa standard untuk pengembangan sebuah software yang dapat menyampaikan bagaimana membuat dan membentuk modelmodel, tetapi tidak menyampaikan apa dan kapan model yang seharusnya dibuat yang merupakan salah satu proses implementasi pengembangan software. UML tidak hanya merupakan sebuah bahasa pemograman visual saja, namun juga dapat secara langsung dihubungkan ke berbagai bahasa pemograman, seperti JAVA, C++, Visual Basic, 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. Untuk dapat memahami UML membutuhkan bentuk konsep dari sebuah bahasa model, dan mempelajari 3 (tiga) elemen utama dari UML seperti building block, aturan-aturan yang menyatakan bagaimana building block diletakkan secara bersamaan, dan beberapa mekanisme umum (common). 3 (tiga) macam yang terdapat dalam building block adalah katagori benda/Things, hubungan, dan diagram. Benda/things adalah abstraksi yang pertama dalam sebuah model, hubungan sebagai alat komunikasi dari bendabenda, dan diagram sebagai kumpulan / group dari benda-benda/things.
22
a. Benda/Things Adalah hal yang sangat mendasar dalam model UML, juga merupakan bagian paling statik dari sebuah model, serta menjelaskan elemen-elemen lainnya dari sebuah konsep dan atau fisik. Bentuk dari beberapa benda/thing adalah sebagai berikut: Pertama, adalah sebuah kelas yang diuraikan sebagai sekelompok dari object yang mempunyai atribute, operasi, hubungan yang semantik. Sebuah kelas mengimplementasikan 1 atau lebih interfaces. Sebuah kelas dapat digambarkan sebagai sebuah persegi panjang, yang mempunyai sebuah nama, atribute, dan metoda pengoperasiannya, seperti terlihat dalam gambar 2.3.
Gambar 2.3 Sebuah Kelas Dari Model UML Kedua, yang menggambarkan ‘interface’ merupakan sebuah antar-muka yang menghubungkan dan melayani antar kelas dan atau elemen. ‘Interface’ / antarmuka mendefinisikan sebuah set / kelompok dari spesifikasi pengoperasian, umumnya digambarkan dengan sebuah lingkaran yang disertai dengan namanya. Sebuah antar-muka berdiri sendiri dan umumnya merupakan pelengkap dari kelas atau komponen, seperti dalam gambar 2.4
Gambar 2.4 Sebuah Interface/Antar-Muka Ketiga, adalah collaboration yang didefinisikan dengan interaksi dan sebuah kumpulan / kelompok dari kelas-kelas/elemen-elemen yang bekerja secara bersama-sama. Collaborations mempunyai struktura dan dimensi. Pemberian
23
sebuah kelas memungkinkan berpartisipasi didalam beberapa collaborations dan digambarkan dengan sebuah ‘elips’ dengan garis terpotong-potong.
Gambar 2.5 Collaborations Keempat, sebuah ‘use case’ adalah rangkaian/uraian sekelompok yang saling terkait dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh sebuah aktor. ‘use case’ digunakan untuk membentuk tingkah-laku benda/ things dalam sebuah model serta di realisasikan oleh sebuah collaboration. Umumnya ‘use case’ digambarkan dengan sebuah ‘elips’ dengan garis yang solid, biasanya mengandung nama, seperti terlihat dalam gambar 2.6.
Gambar 2.6 Use Case Kelima, sebuah node merupakan fisik dari elemen-elemen yang ada pada saat dijalankannya sebuah sistem, contohnya adalaha sebuah komputer, umumnya mempunyai sedikitnya memory dan processor. Sekelompok komponen mungkin terletak pada sebuah node dan juga mungkin akan berpindah dari node satu ke node lainnya. Umumnya node ini digambarkan seperti kubus serta hanya mengandung namanya, seperti terlihat dalam gambar 2.7.
Gambar 2.7 Nodes b. Hubungan / Relationship Ada 4 macam hubungan didalam penggunaan UML, yaitu; dependency, association, generalization, dan realization. Pertama, sebuah dependency adalah
24
hubungan semantik antara dua benda/things yang mana sebuah benda berubah mengakibatkan benda satunya akan berubah pula. Umumnya sebuah dependency digambarkan sebuah panah dengan garis terputus-putus seperti terlihat dalam gambar2.8
Gambar 2.8 Nodes Kedua, sebuah association adalah hubungan antar benda struktural yang terhubung diantara obyek. Kesatuan obyek yang terhubung merupakan hubungan khusus, yang menggambarkan sebuah hubungan struktural diantara seluruh atau sebagian. Umumnya assosiation digambarkan dengan sebuah garis yang dilengkapi dengan sebuah label, nama, dan status hubungannya seperti terliahat dalam gambar2.9.
Gambar 2.9 Association Ketiga, sebuah generalization adalah menggambarkan hubungan khusus dalam obyek anak/child yang menggantikan obyek parent / induk . Dalam hal ini, obyek anak memberikan pengaruhnya dalam hal struktur dan tingkah lakunya kepada obyek induk. Digambarkan dengan garis panah seperti terlihat dalam gambar 2.10.
Gambar 2.10 Generalizations Keempat, sebuah realization merupakan hubungan semantik antara pengelompokkan yang menjamin adanya ikatan diantaranya. Hubungan ini dapat diwujudkan diantara interface dan kelas atau elements, serta antara use cases dan collaborations. Model dari sebuah hubungan realization seperti terlihat dalam gambar2.11
Gambar 2.11 Realizations
25
c. Diagram UML sendiri terdiri atas pengelompokkan diagram-diagram sistem menurut
aspek
atau
sudut
pandang
tertentu.
Diagram
adalah
yang
menggambarkan permasalahan maupun solusi dari permasalahan suatu model. UML mempunyai 9 diagram, yaitu; use-case, class, object, state, sequence, collaboration, activity, component, dan deployment diagram. Diagram pertama adalah use case menggambarkan sekelompok use cases dan aktor yang disertai dengan hubungan diantaranya. Diagram use cases ini menjelaskan dan menerangkan kebutuhan / requirement yang diinginkan/ dikehendaki user/pengguna, serta sangat berguna dalam menentukan struktur organisasi dan model dari pada sebuah sistem. 2.8.3 Langkah-Langkah Penggunaan UML Berikut ini adalah tips pengembangan piranti lunak dengan menggunakan UML: 1. Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul. 2. Petakan use case untuk tiap business process untuk mendefinisikan dengan tepat fungsionalitas yang harus disediakan oleh sistem. Kemudian perhalus use case diagram dan lengkapi dengan requirement, constraints dan catatan-catatan lain. 3. Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem. 4. Definisikan requirement lain (non-fungsional, security dan sebagainya) yang juga harus disediakan oleh sistem. 5. Berdasarkan use case diagram, mulailah membuat activity diagram. 6. Definisikan objek-objek level atas (package atau domain) dan buatlah sequence dan/atau collaboration diagram untuk tiap alir pekerjaan. Jika sebuah use case memiliki kemungkinan alir normal dan error, buatlah satu diagram untuk masing-masing alir.
26
7. Buarlah rancangan user interface model yang menyediakan antarmuka bagi pengguna untuk menjalankan skenario use case. 8. Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap package atau domain dipecah menjadi hirarki class lengkap dengan atribut dan metodanya. Akan lebih baik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas class dan interaksi dengan class lain. 9. Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokan class menjadi komponen-komponen. Karena itu buatlah component diagram pada tahap ini. Juga, definisikan tes integrasi untuk setiap komponen meyakinkan ia berinteraksi dengan baik. 10. Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan requirement piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node. 11. Mulailah membangun sistem. Ada dua pendekatan yang dapat digunakan : a.
Pendekatan use case, dengan meng-assign setiap use case kepada tim pengembang tertentu untuk mengembangkan unit code yang lengkap dengan tes.
b.
Pendekatan komponen, yaitu meng-assign setiap komponen kepada tim pengembang tertentu.
12. Lakukan uji modul dan uji integrasi serta perbaiki model berserta codenya. Model harus selalu sesuai dengan code yang aktual. 13. Piranti lunak siap dirilis. 2.8.4 Tools Yang Mendukung UML Saat ini banyak sekali tool pendesainan yang mendukung UML, baik itu tool komersial maupun opensource. Beberapa diantaranya adalah: 1.
Rational Rose (www.rational.com)
2.
Together (www.togethersoft.com)
3.
Object Domain (www.objectdomain.com)
4.
Jvision (www.object-insight.com)
5.
Objecteering (www.objecteering.com)
27
2.9
6.
MagicDraw (www.nomagic.com/magicdrawuml)
7.
Visual Object Modeller (www.visualobject.com)
Diagram UML Abstraksi konsep dasar UML terdiri dari structural classification, dynamic
behavior, dan model management, bisa kita pahami dengan mudah apabila kita melihat gambar diatas dari Diagrams. Main concepts bisa kita pandang sebagai term yang akan muncul pada saat kita membuat diagram. Dan view adalah kategori dari diagaram tersebut. Untuk menguasai UML, terdapat dua hal yang harus perhatikan: 1. Menguasai pembuatan diagram UML 2. Menguasai langkah-langkah dalam analisa dan pengembangan dengan UML Tulisan ini pada intinya akan mengupas kedua hal tersebut. Seperti juga tercantum pada gambar diatas UML mendefinisikan diagram- diagram sebagai berikut: 1. Use Case Diagram 2. Class Diagram 3. Activity Diagram 4. Sequence Diagram 5. Collaboration Diagram 2.9.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. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan system untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu bila kita sedang menyusun requirement
28
sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.
Gambar 2.12 Contoh Use Case Diagram 2.9.2 Class Diagram Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi).
29
Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Class memiliki tiga area pokok : 1. Nama (dan stereotype) 2. Atribut 3. Metoda, Atribut dan metoda dapat memiliki salah satu sifat berikut : Private, tidak dapat dipanggil dari luar class yang bersangkutan Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya Public, dapat dipanggil oleh siapa saja
Gambar 2.13 Contoh Class Diagram Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat run-time.
Gambar 2.14 Contoh Implementasi Class Diagram Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi package. Kita juga dapat membuat diagram yang terdiri atas package.
30
Gambar 2.15 Contoh Class Diagram Terdiri Atas Package 2.9.3 Activity Diagram Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas
menggambarkan
proses
yang
berjalan,
sementara
use
case
menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat
untuk
menggambarkan
aktivitas.
Decision
digunakan
untuk
menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan prosesproses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.
31
Gambar 2.16 Contoh Activity diagrams
2.9.4 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 atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class. Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message. Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan icon khusus untuk objek boundary, controller dan persistent entity.
32
Gambar 2.17 Contoh Sequence diagram 2.9.5 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. Setiap message memiliki sequence number, di mana message dari level tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks yang sama.
Gambar 2.18 Contoh Sequence diagram
33
2.10
Konsep Dasar Web World Wide Web (WWW) atau lebih familiar dengan sebutan “the web”
adalah sebuah disain original yang berfungsi sebagai dunia interaktif untuk saling membagi informasi serta sebagai sarana komunikasi bagi siapa saja dan dimana saja. (Bimo Sunarfrihantanto, 2002) Web pada awalnya adalah ruang informasi di internet dengan menggunakan teknologi hypertext, pengguna internet dapat menemukan infromasi dengan mengikuti link yang disediakan dalam dokumen web yang ditampilkan dalam web browser. (Bimo Sunarfrihantanto, 2002) WWW adalah sebuah jaringan berbasis komputer yang berfungsi sebagai sumber informasi yang terdiri atas kombinasi text dan multimedia. Informasi yang ada pada web bisa diakses dan dicari dengan menggunakan jaringan komputer global yang disebut internet. Internet saat ini indentik dengan web, karena populernya web sebagai standar interface pada service-service yang ada di internet. Perkembangan ini dimulai sebagi penyedia informasi, komunikasi seperti email, chatting, sampai melakukan transaksi bisnis secara online. (Bimo Sunarfrihantanto, 2002) Beberapa komponen teknologi web antara lain (Andi, 2002): 1. Web Client, Web client atau browser merupakan suatu perangkat lunak yang dijalankan pada komputer user, berfungsi untuk menampilkan dokumen web. Perangkat lunak web browser yang populer saat ini MS Internet
Explorer
(Windows),
Netscape
Navigator/Communicator
(Windows dan Linux), Opera (Windows dan Linux), Mozilla firefox (Windows dan Linux), Konqueror (Linux). 2. Web Server, Merupakan suatu perangkat lunak yang dijalankan pada komputer server, berfungsi agar dokumen web yang disimpan di server dapat diakses oleh user di internet. Perangkat lunak web server yang populer saat ini Apache (Linux dan Windows), MS Internet Information Server / IIS (Windows), Tomcat untuk Java (Windows dan Linux), dan Personal Web Server / PWS ( Windows98).
34
3. Uniform Resource Locator (URL), URL adalah sistem pengalamatan file/program yang digunakan di internet, biasanya URL diawali dengan jenis layanan/protokol. Format URL standar dideskripsikan di RFC 1738 http://www.ietf.org/rfc/rfc1738.txt. 4. HyperText Transfer Protocol (HTTP), HTTP adalah protokol komunikasi yang digunakan dalam web, Spesifikasi HTTP standar (HTTP 1.1) dideskripsikan di RFC 2616 http://www.ietf.org/rfc/rfc2616.txt. 5. HyperText Markup Language (HTML), HTML adalah format standar untuk menulis dokumen web. Spesifikasi HTML standar (HTML 4.01) terdapat http://www.w3.org/TR/html4/. 6. Cascading
Style
Sheet
(CSS),
adalah
suatu
mekanisme
untuk
menambahkan style (misalnya font, warna, jarak, posisi) pada dokumen web.
Spesifikasi
CSS
standar
(CSS
2)
terdapat
di
http://www.w3.org/TR/REC-CSS2/. 7. Common Gateway interface (CGI), Web server menjalankan file program dan mengambil keluarannya untuk dijadikan HTTP response, yang mengeksekusi program di sisi server. 8. Server side scripting, Web server mengidentifikasi dan menjalankan skrip program yang disisipkan dalam dokumen web, seperti PHP, ASP, JSP, dan Phyton. 9. Client side scripting, Web browser mengidentifikasi dan menjalankan skrip program yang disisipkan dalam dokumen web yang diterima dari server, dan memungkinkan meng-update tampilan halaman di computer, seperti JavaScript, JScript, dan VBScript. 2.11
Bahasa PHP (Page Hypertext Preprocessor) PHP merupakan skrip yang berjalan di server dan sangat popular
dilingkungan Linux, saat ini PHP dapat berjalan dilingkungan berbagai platform mulai dari UNIX hingga Windows. (Andi, 2002) Sever-Side JavaScript (SSJS) merupakan buatan Netscafe yang ditujukan untuk menyaingi ASP (Active Server Page). Dalam prakteknya Skrip ini kurang populer.
35
2.11.1 Pengertian PHP PHP merupakan bahasa server-side yang cukup handal, yang akan disatukan dengan HTML dan berada di server. Artinya, sintaks dan perintah yang diberikan akan sepenuhnya dijalankan di server sebelum dikirim ke komputer klien. Pada awal tahun 1995, Rasmus Lerdorf membuat produk bernama PHP/FI (Personel Home Page/Form Interpreter). Produk yang merupakan cikal bakal PHP ini ditulis menggunakan bahasa C, dan memiliki kemampuan untuk berkomunikasi dengan database serta membuat halaman dinamis (Andi, 2006) Seluruh aplikasi yang berbasiskan web dapat dibuat menggunakan PHP. Salah satu kelebihan PHP adalah kemampuan untuk dapat melakukan koneksi dengan berbagai database, seperti MySQL, PostgreSQL, dan Access. Selain itu PHP juga bersifat open source, untuk dapat menggunakannya kita tidak perlu membayar. 2.11.2 Variabel PHP Variabel digunakan untuk menyimpan data yang nilainya dapat berubahubah. Dalam bahasa PHP, variabel dimulai dengan tanda ”$”. Aturan penulisan variabel antara lain sebagai berikut: (Andi, 2006) a. Hanya ada 3 karakter yang dapat digunakan untuk nama variabel yaitu huruf, angka dan garis bawah. b. Karakter pertama setelah tanda ”$” harus huruf atau garis bawah c. Jika nama variabel lebih dari satu kata. Tidak boleh ada tanda spasi di antara keduanya. 2.11.3 Keunggulan PHP PHP Hypertext Prepocessor adalah skrip yang berjalan dalam server side yang ditambahkan dalam HTML. Skrip ini akan membuat suatu aplikasi dapat di integrasikan ke dalam HTML sehingga suatu halaman HTML tidak lagi bersifat statis, namun menjadi dinamis. Sifat server side ini membuat pengerjaan skrip tersebut dikerjakan di server sedangkan yang dikirimkan kepada browser adalah hasil proses dari skrip tersebut yang sudah berbentuk HTML. Keunggulan dari PHP adalah sebagai berikut: (Andi, 2006)
36
1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya. 2. Web Server yang mendukung PHP dapat ditemukan dimana - mana dari mulai apache, IIS, Lighttpd, hingga Xitami dengan configurasi yang relatif mudah. 3. Dalam sisi pengembangan lebih mudah, karena banyaknya forum dan developer yang siap membantu dalam pengembangan. 4. Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak. 5. Skrip asli tidak dapat dilihat, sehingga keamanan lebih terjamin. 6. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah system. 2.12
MySQL MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL
(bahasa
Inggris: database
management
system)
atau
DBMS
yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Keandalan suatu sistem database (DBMS) dapat diketahui dari cara kerja optimizer-nya dalam melakukan proses perintah-perintah SQL,
37
yang dibuat oleh user maupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase. MySQL memiliki beberapa keistimewaan, antara lain : 1.
Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
2.
Open Source.MySQL didistribusikan secara open source, dibawah lisensi GPL sehingga dapat digunakan secara cuma-cuma.
3.
Multiuser'. MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
4.
Performance tuning'. MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
5.
Jenis Kolom. MySQL memiliki tipe kolom yang sangat kompleks, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
6.
Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).
7.
Keamanan. MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses userdengan sistem perizinan yang mendetail serta sandi terenkripsi.
8.
Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
9.
Konektivitas. MySQL
dapat
melakukan
koneksi
dengan
klien
menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
38
10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya. 11. Antar Muka. MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface). 12. Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool) yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online. 13. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle. 2.13
Rational Rose Rational Rose merupakan sebuah perangkat pemodelan secara visual yang
memiliki banyak kemampuan (powerful) untuk pembentukan sistem berorientasi obyek yang menggunakan Unified Modeling Language (UML). UML merupakan bahasa pemodelan yang dapat digunakan secara luas dalam pemodelan bisnis, pemodelan perangkat lunak dari semua fase pembentukan dan semua tipe sistem, dan pemodelan secara umum dari berbagai pembentukan / konstruksi yang memiliki dua perilaku yaitu baik statis maupun dinamis.
2.13.1. Istilah-istilah yang digunakan Dalam UML, bagian-bagian yang digunakan yaitu: views, diagram, dan elemen model. a. View. View menunjukkan perbedaan dari berbagai aspek-aspek suatu sistem yang dimodelkan. View bukan sebuah graph, tetapi sebuah abstraksi yang terdiri dari beberapa diagram. Hanya dengan mendefinisikan sejumlah view, dimana setiap view menunjukkan aspek yang berbeda dan saling terpisah dari sistem, maka gambaran sebuah sistem secara komplit dapat dibentuk. Rational
39
rose memiliki empat view yaitu: Use case View, Logical View, Component View, dan Deployment View. b. Diagram. Diagram merupakan graph yang menjelaskan tentang isi dari sebuah view. UML memiliki beberapa tipe diagram yang berbeda yang dapat digunakan untuk mengkombinasi dalam menyusun semua dari sebuah sistem. Rational Rose 2000, memiliki delapan diagram yaitu: Use case diagram, Sequence diagram, Collaboration diagram, Activity Diagram, Class Diagram, Statechart Diagram, Component Diagram dan Deployment Diagram. c. Elemen Model. Konsep-konsep yang digunakan dalam diagram merupakan elemen-elemen model yang menyatakan konsep-konsep berorientasi obyek secara umum , seperti class, object, dan message, serta hubungan antar konsepkonsep tersebut termasuk association, dependency, dan generelization. Sebuah elemen model digunakan dalam beberapa diagram yang berbeda tetapi selalu memiliki simbol dan arti yang sama. 2.13.2. Komponen GUI Rational Rose 2000© Komponen utama GUI dari Rational Rose® diperlihatkan pada gambar dibawah : 1. Standard toolbar 2. Browser 3. Diagram window 4. Diagram toolbar 5. Documentation windows 6. Spesification 7. Elemen Model (icon)
1 7
2 44 5
3 6
Gambar 2.19. Kompnen Rational Rose 2000.
40
2.13.3. Cara-cara membuat diagram a) Membuat Use Case Diagram Komponen utama dari sebuah Model Use-case
Actor
Use Case
Relationship
Langkah-langkah : 1. Pertama-tama perhatian arahkan ke Browser
Gambar 2.20 Browser Use Case 2. Menyiapkan use case diagram window: - Klick kanan Use case view new uses case diagram memberi nama dobel klick
Gambar 2.21. Memilih menu untuk window Use case diagram
41
3. Membuat Actor: - Klick kanan Use case view new Actor memberi nama -
Mengisi dokumentasi aktor: Pindahkan kursor di Document.
Ketikkan
keterangan
secukupnya,
Window misalnya:
“mahasiswa yang terdaftar dalam semester”. -
Menempatkan aktor ke dalam use case diagram: Drag dan Drop Icon Aktor ke dalam use case window.
-
Lakukan beberapa kali sesuai jumlah Actor yang diinginkan
Gambar 2.22 Memilih menu memunculkan Actor
Gambar 2.23 Menuliskan nama aktor dan use case 4. Membuat Use case: -
Klick kanan Use case view new Use case memberi nama
-
Mengisi dokumentasi use case: Pindahkan kursor di
Window
Document. Ketikkan keterangan secukupnya, misalnya: “Use ini
42
dimulai dari Mahasiswa. Digunakan untuk membuat dan atau melihat jadwal mahasiswa yang terdaftar dalam semester”. -
Menempatkan Use case ke dalam use case diagram: Drag dan Drop Icon use case ke dalam use case window.
Use case diagram
Actor Use case
Gambar 2.24 Daftar actor, use case, dan use case diagram dalam Browser 5. Membuat komunikasi Association (Communicates Associations) -
Click icon Unidirectional Association
dari diagram toolbar.
-
Click pada pada Actor (yang berbperan sebagai pemula komunikasi), dan drag garis association ke use yang dituju.
6. Membuat Include Relationships -
Tambahkan satu use case dan beri nama (misal: Validasi ueser)
-
Click icon Unidirectional Association
-
Click pada uses case utama dan drag Unidirectional Association
dari diagram toolbar.
icon ke include use case ( misal: dari Form pendaftaran kuliah ke valiase user) -
Click dobel pada garis panah Unidirectional Association untuk menampilkan Specification.
-
Click pada Stereotype untuk membuat menu drop-down tampil dan pilih include.
-
Click tombol OK untuk menutup Specification.
43
-
Click kanan pada garis panah Unidirectional Association untuk membuat menu shortcut muncul.
-
Jika dekat garis panah tidak muncul <
>, maka dapat dimunculkan tulisan tersebut dengan Click kanan check Stereotype Label.
7. Membuat Extended Relationships -
Tambahkan satu use case dan beri nama (misal: Semester tidak ada)
-
Click icon Unidirectional Association
dari diagram toolbar.
-
Click pada uses case utama dan drag icon Unidirectional Association ke include use case ( misal: dari Form pendaftaran kuliah ke valiase user)
-
Click dobel pada garis panah ()Unidirectional Association untuk menampilkan Specification.
-
Click Stereotype untuk membuat menu drop-down tampil dan pilih exclude.
-
Click tombol OK untuk menutup Specification.
-
Click kanan pada garis panah Unidirectional Association untuk membuat menu shortcut muncul.
-
Jika dekat garis panah tidak muncul <<exclude>>, maka dapat dimunculkan tulisan tersebut dengan : Click kanan pada garis panah Unidirectional Association Click kanan check Stereotype Label.
44
Gambar 2.25 Contoh hasil akhir pembuatan Use Case Diagram. b) Membuat Sequience Diagram Sequence diagram merupakan diagram Interaksi yang dinyatakan dengan waktu, atau dapat dikatakan dengan diagram dari atas (top) ke bawah (bottom). Setiap Sequence diagram menyatakan salah satu dari beberapa aliran yang melalui sebuah use case. Membuat window sequence diagram 1. Click kanan pada use case dalam model browserNewSequence diagram. 2. Selanjutnya beri nama untuk sequence diagram tersebut. 3. Click ganda pada sequence diagram untuk memulai pembuatan sequence diagram.
Menambahkan aktor dan obyek Selanjutnya adalah membuat sequence diagramnya, sequence diagram berisi actors dan objects: 1. Click pada Actor yang akan dibuatkan sequence diagramnya 2. Click pada tempat paling kiri dari window sequence diagram 3. Click icon object
dari toolbar
4. Click di window sequence diagram beri nama 5. Lakukan penambahan obyek sesuai yang diinginkan
45
Penambahan Messages ke Sequence Diagram Penambahan pesan (message) ke sequence diagram: 1. Pilih icon Object Message dari toolbar. 2. Drag dengan mouse dari object atau actor yang mengirim pesan ke object atau actor yang menerima pesan. 3. Ketik teks pesan (message). Membuat Sequence Diagram dari Collaboration Diagram Dengan Rational Rose, hal ini sangat mudah untuk membuat sequence diagram dari collaboration diagram, atau sebaliknya. Sekali sudah memiliki keduanya yaitu sebuah sequence dan sebuah collaboration diagram untuk sebuah rancangan, maka hal ini akan mudah untuk melakukan pertukaran antara keduanya. Langkah membuat sequence diagram dari collaboration diagram: 1. Buka collaboration diagram. 2. Pilih Browse Create Sequence diagram, atau tekan F5. 3. Hasilnya akan dibuatkan sequence diagram
nama yang sama seperti
membuka collaboration diagram.
Perpindahan antara sequence dan collaboration diagram: 1. Buka sequence atau collaboration diagram. 2. Pilih Browse pilih (Sequence atau Collaboration) Diagram, atau tekan F5. 3. Hasilnya akan kelihatan seperti sequence atau collaboration diagram dengan nama yang sama seperti yang sedang diagram yang dibuka.
46
Gambar 2.26 Penambahan message ke sequence diagram.
Menambah reflexive message ke sequence diagram 1. pilih icon Self dari toolbar. 2. Click pada garis object yang mengikirm dan yang menerima pesan (message), lihat gambar dibawah. 3. Dengan pesan (message) baru yang masih terpilih, ketik teks pesan (message).
Gambar 2.27 Penambahan reflexive message ke sequence diagram. Memperbaiki Messages dalam Sequence Diagram 1. Pilih message untuk digeser. 2. Drag pesan (message) aarah naik atau turun dalam diagram. Hasilnya akan dilakukan penomoran ulang secara otomatis.
47