11
BAB 2
LANDASAN TEORI 2.1.
Kemiskinan Selama bertahun-tahun, isu kemiskinan menjadi pusat perhatian yang serius dan
banyak menjadi kajian publik. Kemiskinan dianalisis dari berbagai sudut pandang dan pendekatan guna mendapatkan pemahaman yang lebih utuh. Kemiskinan bukan gejala sederhana, maupun tidak terkait ekonomi semata, tetapi saling terkait dengan masalah lain yang amat kompleks. Ada banyak definisi dan konsep yang berbeda tentang kesejahteran atau “wellbeing”. Misalnya, dikatakan bahwa kesejahteraan seseorang dikatakan mampu atau memiliki kemampuan ekonomi yang lebih baik jika dia memiliki kekayaan atau dapat dipikirkan tentang kemampuan untuk memperoleh jenis barang-barang konsumsi tertentu misalnya makanan dan perumahan. Seseorang yang kurang mampu untuk andil atau berfungsi di dalam masyarakat mungkin memiliki tingkat kesejahteraan yang rendah (Sen, 1987, p131, dalam World Bank Institute, tahun 2002) atau lebih rentan (vulnerable) terhadap krisis/gejolak ekonomi dan cuaca. Jadi dalam konteks ini, kemiskinan dapat berarti baik kurangnya kemampuan memenuhi kebutuhan komoditas secara umum, yakni keterbatasan terhadap sekelompok pilihan komoditas (Watts, 1968, p234, dalam World Bank Institute, tahun 2002) atau jenis konsumsi tertentu misalnya terlalu sedikit mengkonsumsi makanan yang dirasa sangat esensial / perlu untuk
12 memenuhi standar hidup dalam masyarakat, maupun dalam arti kurangnya kemampuan untuk andil/ berfungsi dalam masyarakat.
2.1.1 Pengertian Kemiskinan Kemiskinan adalah keadaan dimana terjadi ketidakmampuan untuk memenuhi kebutuhan dasar seperti makanan (pangan) , pakaian (sandang), tempat berlindung (papan), pendidikan dan kesehatan. Kemiskinan dapat disebabkan oleh kelangkaan alat pemenuh kebutuhan dasar, ataupun sulitnya akses terhadap pendidikan, pekerjaan ataupun modal.
Kemiskinan dipahami dalam berbagai cara. Pemahaman utamanya yaitu mencakup : •
Gambaran kekurangan materi, yang biasanya mencakup kebutuhan pangan seharihari, sandang, perumahan, dan pelayanan kesehatan. Kemiskinan dalam arti ini dipahami sebagai situasi kelangkaan barang-barang dan pelayanan dasar.
• Gambaran tentang kebutuhan sosial, termasuk keterkucilan sosial, ketergantungan, dan ketidakmampuan untuk berpartisipasi dalam masyarakat. Hal ini termasuk pendidikan dan informasi. Keterkucilan sosial biasanya dibedakan dari kemiskinan, karena hal ini mencakup masalah-masalah politik dan moral, dan tidak dibatasi pada bidang ekonomi. • Gambaran tentang kurangnya penghasilan dan kekayaan yang memadai. Makna “memadai” di sini sangat berbeda-beda melintasi bagian-bagian politik.
13 Secara konvensional kemiskinan hanya berdimensi tunggal : pendapatan kurang, distribusi kekayaan tidak merata, menyebabkan seseorang atau keluarga tidak mampu memenuhi kebutuhan dasar untuk kehidupan sehari-hari. Parameter pokok untuk mengetahui kekurangan pendapatan adalah pengeluaran rumah tangga yang amat rendah, bahkan untuk mencukupi kebutuhan konsumsi.
Di sini ada dua isu sentral. Pertama, ketersediaan lapangan kerja. Kedua, upah minimum yang menjadi instrumen penting guna melihat tingkat pemerataan distribusi pendapatan. Maka, pendekatan dalam memahami fenomena kemiskinanpun bervariasi.
Pertama, menggunakan model perbandingan antarlapisan sosial yang bertujuan menjelaskan fakta-fakta empiris perbedaan distribusi pendapatan berdasar kelompok masyarakat. Kedua, menerapkan model regresi guna mengukur upah pekerja berdasar teori modal manusia, merujuk pandangan ahli ekonomi ketenagakerjaan, seperti Becker (1964), Schultz (1963, 1971), dan Mincer (1974).
Pengertian konvensional kemiskinan ini lalu dikoreksi. Makna kemiskinan diperluas tak hanya menyangkut kesenjangan pendapatan. Pada pertengahan 1980-an muncul rumusan definisi baru: ”Kemiskinan harus dimaknai: orang, keluarga, dan sekelompok masyarakat yang memiliki keterbatasan sumber daya—material, sosial, dan budaya—sehingga menghalangi mereka untuk dapat hidup layak menurut ukuran paling minimal di suatu negara tempat mereka bermukim” (Komisi Eropa, 1984, p28, dalam World Bank Institute, tahun 2002).
Ekonom Amartya Sen juga mengenalkan makna kemiskinan secara lebih luas, yakni ketidakmampuan manusia, yang ditandai pendidikan rendah, tak berpengetahuan,
14 tak berketerampilan, tak berdayaan. Bahkan, Sen menyentuh dimensi politik: ketiadaan kebebasan dan keterbatasan ruang partisipasi, yang menghalangi warga untuk terlibat proses pengambilan kebijakan publik. Dalam situasi demikian, masyarakat ada dalam posisi tidak setara untuk mendapatkan akses ke sumber-sumber ekonomi produktif sehingga
terhalang
untuk
memperoleh
sesuatu
yang
menjadi
hak
mereka
(lihat Development as Freedom, 1999, dalam World Bank Institute, tahun 2002).
2.1.2. Pendekatan Rata-Rata per Kapita Pendekatan rata-rata per kapita yang diterapkan dalam penghitungan kemiskinan mengalami perkembangan dari waktu ke waktu. Biasanya pendekatan rata-rata per kapita ini belum mempertimbangkan tingkat konsimsi menurut golongan umum dan jenis kelamin serta skala ekonomi dalam konsumsi. Bahkan ada juga pengukuran secara internasional dengan menggunakan nilai uang dalam bentuk dollar.
Bank dunia
menetapkan garis kemiskinan sebesar 1 dolar dalam bentuk satuan PPP (per kapita per tahun) sebagai garis kemiskinan. Untuk kasus Indonesia, garis kemiskinan di dekati dengan pengeluaran minimum makanan yang setara dengan 2.100 kilokalori perkapita perbulan ditambah pengeluaran minimum bukan makanan (perumahan dan fasilitasnya, sandang, kesehatan, pendidikan, transpor dan barang –barang lainnya).
15
2.1.2 Pendekatan BKKBN Salah satu penerapan konsep dan definisi kemiskinan pernah dilakukan oleh Badan Koordinasi Keluarga Berencana Nasional (BKKBN) pada tahun 1999 dengan melakukan
pendataan
keluarga
secara
lengkap.
Pendataan
keluarga
tersebut
menggunakan konsep pendekatan kesejahteraan keluarga. BKKBN membagi kriteria keluarga ke dalam lima tahapan, yaitu Keluarga Pra Sejahtera (Pra-KS), Keluarga Sejahtera I (KS I), Keluarga Sejahtera II (KS II), Keluarga Sejahtera III (KS III), Keluarga Sejahtera III Plus (KS III-Plus).
Menurut BKKBN kriteria keluarga yang dikategorikan sebagai keluarga miskin adalah Keluarga Pra Sejahtera (Pra-KS) dan Keluarga Sejahtera I (KS I). Ada lima indikator yang harus dipenuhi agar suatu keluarga dikategorikan sebagai Keluarga Sejahtera I, yaitu:
1. Anggota keluarga melaksanakan ibadah sesuai agama yang dianut masingmasing. 2. Seluruh anggota keluarga pada umumnya makan 2 kali sehari atau lebih. 3. Seluruh anggota keluarga mempunyai pakaian yang berbeda di rumah, sekolah, bekerja dan berpergian. 4. Bagian terluas lantai rumah bukan dari tanah. 5. Bila anak sakit atau PUS (Pasangan Usia Subur) ingin mengikuti KB pergi ke sarana petugas kesehatan serta diberi cara KB modern.
Mereka yang dikategorikan sebagai Keluarga Pra-Sejahtera adalah keluargakeluarga yang tidak memenuhi salah satu dari 5 (lima) indikator di atas.
16 Pendekatan BKKBN ini dianggap masih kurang realistis karena konsep keluarga Pra Sejahtera dan KS I sifatnya normatif dan lebih sesuai dengan keluarga kecil/inti, disamping ke 5 indikator tersebut masih bersifat sentralistik dan seragam yang belum tentu relevan dengan keadaan dan budaya lokal.
2.1.3 Pendekatan Kriteria Penduduk Miskin BPS Pada tahun 2000 BPS melakukan Studi Penentuan Kriteria Penduduk Miskin (SPKPM 2000) untuk mengetahui karakteristik-karakteristik rumah tangga yang mampu mencirikan
kemiskinan
serta
konseptual
(pendekatan
kebutuhan
dasar/garis
kemiskinan). Hal ini menjadi sangat penting karena pengukuran makro (basic needs) tidak dapat digunakan untuk mengidentifikasi rumahtangga/ penduduk miskin di lapangan. Informasi ini berguna untuk penentuan sasaran rumahtangga program pengentasan kemiskinan (intervensi program). Cakupan wilayah studi meliputi tujuh provinsi, yaitu Sumatra Selatan, DKI Jakarta, DI Yogyakarta, Jawa Timur, Nusa Tenggara Barat, Kalimantan Barat, dan Sulawesi Selatan.
Dari hasil SPKPM 2000 tersebut, diperoleh 8 variabel yang dianggap layak dan operasional untuk penentuan rumahtangga miskin di lapangan. Skor 1 mengacu kepada sifat-sifat yang mencirikan kemiskinan dan skor 0 mengacu kepada sifat-sifat yang mencirikan ketidakmiskinan. Kedelapan variabel tersebut adalah :
17 1. Luas Lantai PerKapita :
<= 8 m2 (skor 1)
> 8 m2 (skor 0)
2. Jenis Lantai :
Tanah (skor 1)
Bukan Tanah (skor 0)
3. Air Minum/ Ketersediaan Air Bersih:
Air hujan / sumur tidak terlindung (skor 1)
Ledeng/PAM/sumur terlindung (skor 0)
4. Jenis Jamban/ WC :
Tidak ada (skor 1)
Bersama / sendiri (skor 0)
5. Kepemilikan Asset :
Tidak punya asset (skor 1)
Punya asset (skor 0)
6. Pendapatan (Total Pendadapan Per Bulan) :
<= 350.000 (skor 1)
> 350.000 (skor 0)
7. Pengeluaran (persentase pengeluaran untuk makanan) :
>= 80 persen (skor 1)
< 80 persen (skor 0)
8. Konsumsi lauk pauk (daging, ikan, telur, ayam) :
Tidak ada/ ada, tapi tidak bervariasi (skor 1)
Ada, bervariasi (skor 0)
18 Kedelapan variabel tersebut diperoleh dengan menggunakan metode stepwise logistic regression dan miskrasifikasi yang dihasilkan sekitar 17 persen. Hasil analisis deskriptif dan uji Chi-Square juga menunjukkan bahwa ke delapan variabel terpilih tersebut sangat terkait dengan fenomena kemiskinan dengan tingkat kepercayaan sekitar 99 persen. Skor batas yang digunakan adalah 5 (lima) yang didasarkan atas modus total skor dari domain rumah tangga miskin secara konseptual. Dengan demikian apabila suatu rumahtangga mempunyai minimal 5 (lima) ciri miskin maka rumahtangga tersebut digolongkan sebagai rumahtangga miskin.
Pendekatan kriteria penduduk miskin BPS ini hanya menghasilkan kajian variabel secara nasional sehingga belum mengakomodir kebijakan otonomi daerah yang sudah dicanangkan pemerintah dengan mengeluarkan Undang-undang No. 22/1999 tanggal 7 Mei 1999 tentang Pemerintahan Daerah, yang kemudian diperbaharui dengan Undang-undang No. 32 tanggal 15 Oktober 2004 tentang Pemerintahan Daerah. Padahal dengan ditetapkannya kebijakan otonomi daerah maka indikator kriteria penduduk miskin pada tingkat kabupaten/ kota sangat mendesak untuk dikaji lebih jauh. Variabel terpilih yang berlaku untuk semua kabupaten / kota. Setiap kabupaten/ kota memiliki ciri yang spesifik lokal sebagai dampak dari perbedaan menurut lokasi/ geografis, adat istiadat, budaya lokal, potensi wilayah, sumber ekonomi, dan faktor sosial budaya lainnya.
19
2.1.4 Sensus Kemiskinan Perhitungan kemiskinan dengan mengaplikasikan dan memodifikasi pendekatan kriteria penduduk miskin BPS telah dilaksanakan di tiga propinsi, yaitu Kalimantan Selatan (1999), DKI Jakarta (2000), dan Jawa Timur (2001). Aplikasi penghitungan kemiskinan berdasarkan variabel-variabel kemiskinan rumahtangga tersebut dikenal sebagai Sensus Kemiskinan.
2.1.5 Gerakan Nasional Penanggulangan Kemiskinan Masalah kemiskinan merupakan salah satu masalah penting yang harus ditanggulangi oleh pemerintah sesuai dengan amanat Undang-Undang Dasar 1945 sebagaimana tertuang dalam Pembukaan UUD 1945, yaitu memajukan kesejahteraaan umum dengan melakukan pemberdayaan masyarakat. Sasaran pemberdayaan itu adalah terciptanya manusia Indonesia seutuhnya dan masyarakat secara keseluruhan. Dalam sasaran jangka panjang kedua sasaran ini ditegaskan kembali dengan menggaris bawahi terciptanya kualitas manusia dan kualitas masyarakat Indonesia yang maju, modern, dan mandiri dalam suasana tentram dan sejahtera lahir dan batin, dalam tata kehidupan masyarakat, bangsa, dan negara berdasarkan Pancasila.
20
2.1.5.1 Program Terpadu Program Keluarga Sejahtera (Prokesra) Program penghapusan kemiskinan bertolak dari dasar pemikiran sederhana bahwa keluarga tertinggal adalah keluarga yang dalam proses pemberdayaan selama ini belum atau tidak bisa mempergunakan kesempatan yang terbuka karena beberapa alasan. Mereka tidak selalu merupakan keluarga yang anggotanya malas dan sedang menganggur, tetapi bisa saja ada yang mempunyai kegiatan sosial-ekonomi dengan penghasilan yang amat kecil, tidak cukup untuk memenuhi kebutuhan pokok hidupnya yaitu pangan, sandang, papan, pendidikan, dan kesehatan. Filsafat yang mendasari pendekatan pemberdayaan keluarga adalah membantu keluarga itu sendiri agar mampu mengentaskan dirinya sendiri secara mandiri, lestari dan berjangka panjang.
2.1.5.2 Program Pembangunan Keluarga Sejahtera Program pembangunan keluarga sejahtera sesungguhnya merupakan kelanjuan dari upaya kita membangun keluarga kecil yang bahagia dan sejahtera yang dimulai sekitar tahun 1970. Program ini dimulai dengan membebaskan keluarga Indonesia dari beban terlalu banyak mempunyai anak. Keberhasilan keluarga ber-KB dilanjutkan dengan membantu memberdayakan mereka dalam berbagai bidang lainnya termasuk dalam bidang kesehatan, pendidikan dan akhirnya dalam bidang ekonomi.
21
2.1.5.3 Program Inpres Desa Tertinggal (IDT) Program IDT yang pelaksanaannya dikoordinasi oleh Departemen Dalam Negri (Depdagri) adalah salah satu pemicu dan pemacu Gerakan Nasional Penanggulangan Kemiskinan yang bertujuan membantu 22,5 juta jiwa penduduk miskin. Penduduk miskin sebagian besar berada di desa tertinggal. Karenanya program IDT diarahkan mempercepat upaya pengurangan jumlah penduduk miskin yang berada di desa-desa tertinggal. Selain itu, karena cukup banyak program sektoral, regional, dan program khusus yang berdampak pada pengurangan kemiskinan, program IDT juga bertujuan mengkoordinasikan pelbagai program itu untuk mencapai sasaran penanggulangan kemiskinan secara lebih terpadu, khususnya di desa tertinggal.
2.1.5.4 Program Kesejahteraan Sosial (Prokesos) Secara konseptual dan substansial, Program Kesejahteraan Sosial (Prokesos) berperan dan memberikan sumbangan kepada penghapusan kemiskinan dan program pembangunan keluarga dan penduduk melalui kelompok usaha bersama (KUBE) serta upaya pengembangan wilayah melalui Rehabilitasi Sosial Daerah Kumuh (RSDK). Pendekatan utama Prokesos adalah pertumbuhan dan pengembangan dinamika sosial baik perorangan maupun kelompok-kelompok yang ditujukan oleh perkembangan prakarsa dan kegiatan mandiri sebagai landasan pengembangan usaha bersama atau koperasi.
22
2.1.5.5 Program Terkait Lainnya Disamping program-program Prokersa dan program-program pemberdayaan keluarga secara langsung maupun tidak langsung, masih ada beberapa program pembangunan lainnya yang secara sungguh-sunguh akhir-akhir ini mendapat perhatian yang sangat besar. Program-program itu digolongkan dalam dua kelompok sebagai berikut :
1. Penghapusan Kesenjangan. Program-program
yang
akan
diintensifkan
dalam
upaya
penghapusan
kesenjangan antara lain : a. Peningkatan usaha kecil, menengah, dan koperasi. b. Pengembangan wilayah luar Jawa dan Bali. 2. Program Dukugan. Untuk
menghapuskan
kemiskinan
dan
kesenjangan
tersebut,
maka
dikembangkan berbagai Departemen dan Instansi terkait. Program-program tersebut adalah sebagai berikut : a. Dukungan SDM Digerakkan melalui jalur pendidikan umum, kejuruan dan pelatihan oleh dunia usaha dan instansi. b. Dukungan pendanaan. Berbagai skim kredit untuk usaha kecil dan koperasi seperti Kukesra, KUT, KKPA, KKUD, Dana Bergulir KKU, KUK, Modal Ventura, dan lain-lain, termasuk dana yang langsung dari masyarakat setempat.
23 c. Dukungan peluang usaha a. Pencadangan bidang / jenis usaha. b. Pencadangan lokasi usaha. c. Pengadaan barang pemerintah. d. Dukungan kemitraan Kemitraan usaha pada dasarnya wajib dan harus dikembangkan sesuai dengan bidang usahanya dengan kriteria yang ditetapkan.
2.1.6 Garis Kemiskinan Garis
kemiskinan
atau
batas
kemiskinan adalah
tingkat
minimum pendapatan yang dianggap perlu dipenuhi untuk memperoleh standar hidup yang mencukupi di suatu negara. Dalam praktiknya, pemahaman resmi atau umum masyarakat mengenai garis kemiskinan (dan juga definisi kemiskinan) lebih tinggi di negara maju daripada di negara berkembang. Hampir setiap masyarakat memiliki rakyat yang hidup dalam kemiskinan. Garis kemiskinan berguna sebagai perangkat ekonomi yang dapat digunakan untuk mengukur rakyat miskin dan mempertimbangkan pembaharuan sosio-ekonomi, misalnya seperti program peningkatan kesejahteraan dan asuransi pengangguran untuk menanggulangi kemiskinan.
24
2.1.7 Faktor-Faktor Penyebab Kemiskinan Tidaklah sulit mencari faktor-faktor penyebab kemiskinan, tetapi dari faktorfaktor ini sangat sulit untuk memastikan mana yang merupakan penyebab sebenarnya serta mana yang berpengaruh langsung dan tidak langsung terhadap perubahan kemiskinan. o Tingkat dan laju pertumbuhan output o Tingkat upah neto o Distribusi pendapatan o Kesempatan kerja o Tingkat inflasi o Pajak dan subsidi o Investasi o Alokasi serta kualitas SDA o Ketersediaan fasilitas umum o Penggunaan teknologi o Tingkat dan jenis pendidikan o Kondisi fisik dan alam o Politik o Bencana alam o Peperangan
25
2.1.8 Kebijakan Anti Kemiskinan Untuk menghilangkan atau mengurangi kemiskinan di tanah air diperlukan suatu strategi dan bentuk intervensi yang tepat, dalam arti cost effectiveness-nya tinggi. Ada tiga pilar utama strategi pengurangan kemiskinan, yakni : 1.
pertumuhan ekonomi yang berkelanjutan dan yang prokemiskinan
2.
Pemerintahan yang baik (good governance)
3.
Pembangunan sosial Untuk mendukung strategi tersebut diperlukan intervensi-intervensi pemerintah
yang sesuai dengan sasaran atau tujuan yang bila di bagi menurut waktu yaitu : a.
Intervensi jangka pendek, terutama pembangunan sektor pertanian dan ekonomi pedesaan
b.
Intervensi jangka menengah dan panjang o
Pembangunan sektor swasta
o
Kerjasama regional
o
APBN dan administrasi
o
Desentralisasi
o
Pendidikan dan Kesehatan
o
Penyediaan air bersih dan Pembangunan perkotaan
26
2.2 Peramalan (Forecasting) Forecasting adalah proses analisis untuk memperkirakan masa depan dengan metode-metode tertentu dan mempertimbangkan segala variabel yang mungkin berpengaruh di dalamnya. Forecasting merupakan suatu estimasi tentang hal-hal yang paling mungkin tejadi di masa mendatang berdasarkan eksplorasi dari masa lalui. Forecasting juga merupakan bagian dari future research. Forecasting bersifat eksploratif dan berkaitan dengan apa yang mungkin terjadi di masa depan. Artinya setiap hal yang akan terjadi di masa depan tersebut tidak dapat dipengaruhi oleh siapapun. Forecasting dengan metode-metodenya akan menghasilkan suatu pemetaan mengenai hal-hal yang paling mungkin terjadi di masa yang akan datang. Kini forecasting telah digunakan pada hampir seluruh disiplin ilmu, termasuk ilmu ekonomi dan seluruh aktifitas di dalamnya. Misalnya dalam kegiatan ekonomi suatu perusahaan, seorang pengambil keputusan akan melakukan eksplorasi dari masa lalu yang kemudian akan digunakan untuk memprediksikan hal-hal yang paling mungkin terjadi di masa depan. Kegiatan tersebut penting karena dapat mengurangi kemungkinan salah (error) dalam pengambilan keputusan. Peramalan (Forecasting) menggunakan informasi masa lalu dan saat ini untuk mengidentifikasi kondisi masa depan yang diharapkan. Proyeksi untuk masa yang akan datang tentu saja ada unsur ketidaktepatan. Biasanya orang yang berpengalaman mampu meramal cukup akurat terhadap benefit organisasi dalam rencana jangka panjang. Pendekatan-pendekatan untuk meramal tingkat kemiskinan dapat dilihat dari sensus penduduk di Indonesia mengenai tingkat kemiskinan yang terjadi. Data yang ada tiap
27 periodenya dapat di lihat dari BPS. Faktor-faktor yang mempengaruhinya antara lain adalah Tingkat dan laju pertumbuhan output, Tingkat upah netto, Distribusi pendapatan, Kesempatan kerja, Tingkat inflasi, Pajak dan subsidi, Investasi, Alokasi serta kualitas SDA, Ketersediaan fasilitas umum, Penggunaan teknologi, Tingkat dan jenis pendidikan, Kondisi fisik dan alam, Politik, Bencana alam, Peperangan, dll. Penekanan utama dari peramalan tingkat kemiskinan di wilayah Indonesia saat ini adalah meramalkan tingkat kemiskinan yang akan terjadi pada tahun-tahun berikutnya agar pemerintah serta masyarakat dapat melakukan antisipasi untuk dapat mengurangi tingkat kemiskinan yang terjadi di wilayah Indonesia.
2.3 Metode Rantai Markov Analisis rantai Markov atau Markov Chain adalah suatu teknik probabilitas yang menganalisis pergerakan probabilitas dari satu kondisi ke kondisi lainnya. Konsep dasar rantai Markov atau Markov Chain baru diperkenalkan sekitar tahun 1907, oleh seorang Matematisi Rusia Andrei A. Markov (1856-1922). Analisis Markov hampir sama dengan decision Analysis, bedanya adalah analisa rantai Markov tidak memberikan keputusan rekomendasi, melainkan hanya informasi probabilitas mengenai situasi keputusan yang dapat membantu pengambil keputusan mengambil keputusan. Model ini berhubungan dengan suatu rangkaian proses dimana kejadian akibat suatu eksperimen hanya tergantung pada kejadian yang langsung mendahuluinya dan tidak tergantung pada kejadian sebelum-sebelumnya yang lain. Dengan demikian, analisis rantai Markov
28 b bukanlah teeknik optim malisasi, tettapi adalah teknik desskriptif yanng menghassilkan i informasi prrobabilitas diimasa mendatang. R Rumus :
Ranttai Markov atau a Markovv Chain dappat diterapkaan di berbaggai bidang antara a l lain ekonom mi, politik, kependuduk k an, industri,, pertanian dan lain-lainn. Metode rantai r m markov adaalah salah satu dari banyak b metoode yang digunakan d u untuk melakkukan p peramalan pada p sebuah data yang suudah ada. Untu uk dapat meenerapkan analisa a rantaai Markov ke dalam suatu s kasus, ada b beberapa syaarat yang haarus dipenuhii : 1. Jumlah probabilitas transisi untuuk suatu keaadaan awal dari d system sama s dengann 1. 2. Probabiilitas-probabbilitas tersebuut berlaku unntuk semua partisipan p daalam system m. 3. Probabiilitas transisii konstan seppanjang wakktu. 4. Kodisi merupakan m k kondisi yangg independennt sepanjang waktu. Dalaam realita, penerapan p annalisa Markkov bisa dibbilang cukupp terbatas karena k sulit untuk menemukann masalah yang y memennuhi semua sifat yang diperlukan untuk u t persyaratan baahwa probabbilitas transiisi harus koonstan menganalisa Markov, terutama sepanjang waktu w (probaabilitas transsisi adalah prrobabilitas yang y terjadi dalam d pergerrakan perpindahan n kondisi dalam system)).
29
2.3.1 Konsep Dasar Proses Markov Chain Untuk memberikan dasar analisis aplikasi Markov Chain terlebih dahulu pada bagian ini akan digambarkan secara ringkas konsep dasar Markov Chain (MC), mulai dari asumsi, definisi sampai pada beberapa theorema yang diperlukan. Apabila kejadian tertentu dari suatu rangkaian eksperimen tergantung dari beberapa kemungkinan kejadian, maka rangkaian eksperimen tersebut disebut Proses Stokastik. Proses dikatakan terhingga (finite) apabila seluruh kemungkinan kejadian yang dapat terjadi terhingga. Terdapat banyak tipe Proses Stokastik dan dikelompokan berdasarkan sifatsifat fungsi peluangnya.
Definition 2.3.1 Perhatikan suatu proses stokastik {Xn ,n = 0,1,2, ...}. Apabila X =i, maka proses dikatakan berada pada state-i. Misalkan apabila proses berada pada statei maka akan berpindah ke state-j dengan peluang Pij , dimana Pij tidak tergantung pada n. Dengan demikian perkataan lain, apabila : P ( Xn+1 = j / Xn = i, Xn-1, ... , ... , X1 = i1 , X0 = i0 ) = P ( Xn+1 = j / Xn = i ) = Pij Untuk semua state i0, i1, ....., in-1 , i, j, dan semua n disebut Markov Chain Stationer.
(2.1)
0. Maka proses stokastik tersebut
30 Persaman 2.1 dapat di interpretasikan sebagai berikut : Untuk suatu MC, peluang bersyarat kejadian yang akan datang Xn+1 , hanya tergantung pada kejadian sekarang Xn. Hal ini disebut sifat Markovian. Karena peluang dimulai non-negatif dan proses harus melakukan transisi ke berbagai state, maka :
0; ,
0;
1,
0, 1,2, … ..
Persamaan transisi Pij dapat dituliskan dalam bentuk matrik transisi P :
P =
…
…
… … … … …
(2.2)
Karena unsur-unsur P adalah non-negatif dan jumlah peluang semua unsur pada setiap baris sama dengan 1, maka setiap baris adalah vektor peluang dan P adalah matrix stokastik. Matrix tersebut bersama state awal secara lengkap mendefinisikan suatu proses MC. Dengan perkataan lain, apabila informasi tersebut diketahui, dapat menentukan kejadian, misalnya, pada step yang ke-n. Dalam bahasa matrix hal ini dapat dijelaskan sebagai berikut. Misalkan w0 melambangkan vektor awal atau state awal, maka : W0P = W1 W1P = W2 Wn-1P = Wn
31 Atau Wn = W0Pn
(2.3)
Dengan demikian, apabila berawal pada state – i, maka w1 adalah baris ke – i dari P, w2 adalah baris ke – i dari P2, dan wn adalah baris ke – i dari Pn. Baris-baris pada Pn, menyajikan vektor-vektor kejadian untuk berbagai state awal. Peluang Pnij adalah peluang dimana apabila dimulai pada state – i proses akan berada pada state – j setelah n step. Sebuah state dikatakan asesibel, apabila terdapat peluang yang tidak nol untuk berpindah dari state – i ke state – j dalam periode waktu tertentu. MC yang demikian dikatakan iredusibel. Syarat cukup bagi P agar iredusible adalah Pn hanya memiliki unsur-unsur yang positip. Apabila syarat ini dipenuhi, maka matrix transisi P mendefinisikan suatu proses MC regular. Dalam kaitan dengan MC regular terdapat dua Theorema yang menyatakan eksistensi dan keunikan solusi pada tahap equilibrium (Ross, 1986).
Theorem 2.3.1 Jika P adalah matrix transisi MC regular, maka : a. Pn akan menuju sebuah matrix T, apabila n Æ ∞ b. Setiap baris dari T sama yaitu berupa vektor peluang w. c. Semua elemen w adalah positip.
32 Theorem 2.3.2
Apabila P adalah matrix transisi suatu MC regular dan T, w seperti
pada theorema 2.3.1 , maka vektorunik w adalah vektor peluang unik yang memiliki wP =w. Kedua Theorema tersebut menyatakan bahwa kalau P adalah matrix MC regular, maka ada w yang sifatnya unik yang merupakan vektor peluang. Vektor peluang w tersebut tidak tergantung pada vektor awal. Dari theorema diperoleh : wP = w
atau
w(P –1) = 0
(2.4)
dimana persamaan (2.4) adalah r – 1 persamaan yang saling bebas linier dengan r yang tidak diketahui. Karena w adalah vektor peluang, maka ∑
1
(2.5)
Dengan menggabungkan (2.4) dan (2.5) maka dapat dicari w, jika diketahui P.
Untuk melakukan estimasi Pij dapat menggunakan metode kemungkinan maksimum (maximum likelihood estimation) berikut :
∑
Dimana
(2.6)
adalah banyaknya perpindahan dari state – i ke state – j pada periode
pengamatan tertentu.
33
2.4 Rekayasa Perangkat Lunak (Software Engineering) Rekayasa perangkat lunak telah berkembang sejak pertama kali diciptakan pada tahun
1940-an
hingga
kini.
Fokus
utama
pengembangannya
adalah
untuk
mengembangkan praktek dan teknologi untuk meningkatkan produktivitas para praktisi pengembang perangkat lunak dan kualitas aplikasi yang dapat digunakan oleh pemakai.
2.4.1 Sejarah Rekayasa Perangkat Lunak (Software Engineering) Istilah software engineering digunakan pertama kali pada akhir 1950-an dan awal 1960-an. Saat itu masih terdapat perdebatan tajam mengenai aspek engineering dari pengembangan perangkat lunak. Pada tahun 1968 dan 1969, komite sains NATO mensponsori dua konferensi tentang rekayasa perangkat lunak, yang memberikan dampak kuat terhadap pengembangan rekayasa perangkat lunak. Banyak yang menganggap dua konferensi inilah yang menandai awal resmi profesi rekayasa perangkat lunak. Pada tahun 1960-an hingga 1980-an, banyak masalah yang ditemukan para praktisi pengembangan perangkat lunak. Banyak project yang gagal, hingga masa ini disebut sebagai krisis perangkat lunak. Kasus kegagalan pengembangan perangkat lunak terjadi mulai dari project yang melebihi anggaran, hingga kasus yang mengakibatkan kerusakan fisik dan kematian. Salah satu kasus yang terkenal antara lain meledaknya roket Ariane akibat kegagalan perangkat lunak. Selama bertahun-tahun, para peneliti memfokuskan usahanya untuk menemukan teknik jitu untuk memecahkan masalah krisis
34 perangkat lunak. Berbagai teknik, metode, alat, proses diciptakan dan diklaim sebagai senjata pamungkas untuk memecahkan kasus ini. Mulai dari pemrograman terstruktur, pemrograman berorientasi objek, perangkat pembantu pengembangan perangkat lunak (CASE tools), berbagai standar, UML hingga metode formal diagung-agungkan sebagai senjata pamungkas untuk menghasilkan software yang benar, sesuai anggaran dan tepat waktu. Pada tahun 1987, Fred Brooks menulis artikel No Silver Bullet, yang berproposisi bahwa tidak ada satu teknologi atau praktek yang sanggup mencapai 10 kali lipat perbaikan dalam produktivitas pengembanan perngkat lunak dalam tempo 10 tahun. Sebagian berpendapat, no silver bullet berarti profesi rekayasa perangkat lunak dianggap telah gagal. Namun sebagian yang lain justru beranggapan, hal ini menandakan bahwa bidang profesi rekayasa perangkat lunak telah cukup matang, karena dalam bidang profesi lainnya pun, tidak ada teknik pamungkas yang dapat digunakan dalam berbagai kondisi.
2.4.2 Pengertian Dasar Istilah Reakayasa Perangkat Lunak (RPL) secara umum disepakati sebagai terjemahan dari istilah Software engineering. Istilah Software Engineering mulai dipopulerkan pada tahun 1968 pada Software Engineering Conference yang diselenggarakan oleh NATO. Sebagian orang mengartikan RPL hanya sebatas pada bagaimana membuat program komputer. Padahal ada perbedaan yang mendasar antara perangkat lunak (software) dan program komputer.
35 Perangkat lunak adalah seluruh perintah yang digunakan untuk memproses informasi. Perangkat lunak dapat berupa program atau prosedur. Program adalah kumpulan perintah yang dimengerti oleh komputer sedangkan prosedur adalah perintah yang dibutuhkan oleh pengguna dalam memproses informasi (O’Brien, 1999). Pengertian RPL sendiri adalah suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari kebutuhan pengguna, disain, pengkodean, pengujian sampai pemeliharaan sistem setelah digunakan. Dari pengertian ini jelaslah bahwa RPL tidak hanya berhubungan dengan cara pembuatan program komputer. Pernyataan ”semua aspek produksi” pada pengertian di atas, mempunyai arti semnua hal yang berhubungan dengan proses produksi seperti manajemen proyek, penentuan personil, anggaran biaya, metode, jadwal, kualitas sampai dengan pelatihan pengguna merupakan bagian dari RPL.
2.4.3 Tujuan Rekayasa Perangkat Lunak Secara umum tujuan RPL tidak berbeda dengan bidang rekayasa yang lain. Hal ini dapat kita lihat pada Gambar di bawah ini.
36
Gambar 2.1 Tujuan RPL
Dari Gambar di atas dapat diartikan bahwa bidang rekayasa akan selalu berusaha menghasilkan output yang kinerjanya tinggi, biaya rendah dan waktu penyelesaian yang tepat. Secara lebih khusus kita dapat menyatakan tujuan RPL adalah: a. memperoleh biaya produksi perangkat lunak yang rendah b. menghasilkan perangkat lunak yang kinerjanya tinggi, andal dan tepat waktu c. menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform d. menghasilkan perangkat lunak yang biaya perawatannya rendah
2.4.4 Ruang Lingkup Sesuai dengan definisi yang telah disampaikan sebelumnya, maka ruang lingkup RPL dapat digambarkan sebagai berikut:
37
Gambar 2.2 Ruang lingkup RPL (Abran et.al., 2004).
-
Software Requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak
-
Software Design mencakup proses penampilan arsitektur, komponen, antar muka, dan karakteristik lain dari perangkat lunak
-
Software Construction berhubungan dengan detail pengembangan perangkat lunak, termasuk algoritma, pengkodean, pengujian dan pencarian kesalahan
-
Software Testing meliputi pengujian pada keseluruhan perilaku perangkat lunak
-
Software Maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah dioperasikan
-
Software Configuration management berhubungan dengan usaha perubahan konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu
-
Software
Engineering
management
berkaitan
dengan
pengelolaan
pengukuran RPL, termasuk perencanaan proyek perangkat lunak
dan
38 -
Software Engineering tools and methods mencakup kajian teoritis tentang alat bantu dan metode RPL
-
Software Engineering process berhubungan dengan definisi, implementasi pengukuran, pengelolaan, perubahan dan perbaikan proses RPL
-
Software Quality menitik beratkan pada kualitas dan daur hidup perangkat lunak
2.4.5 Metode Rekayasa Perangkat Lunak Pada rekayasa perangkat lunak, banyak model yang telah dikembangkan untuk membantu proses pengembangan perangkat lunak. Model-model ini pada umumnya mengacu pada model proses pengembangan sistem yang disebut System Development Life Cycle (SDLC) seperti terlihat pada Gambar berikut ini.
Gambar 2.3 System Development Life Cycle (SDLC).
39 •
Kebutuhan terhadap definisi masalah yang jelas. Input utama dari setiap model pengembangan perangkat lunak adalah pendefinisian masalah yang jelas. Semakin jelas akan semakin baik karena akan memudahkan dalam penyelesaian masalah. Oleh karena itu pemahaman masalah seperti dijelaskan pada Bab 1, merupakan bagian penting dari model pengembangan perangkat lunak.
•
Tahapan-tahapan pengembangan yang teratur.
Meskipun model-model
pengembangan perangkat lunak memiliki pola yang berbeda-beda, biasanya model-model tersebut mengikuti pola umum analysis – design – coding – testing -maintenance •
Stakeholder berperan sangat penting dalam keseluruhan tahapan pengembangan. Stakeholder dalam rekayasa perangkat lunak dapat berupa pengguna, pemilik, pengembang, pemrogram dan orang-orang yang terlibat dalam rekayasa perangkat lunak tersebut.
•
Dokumentasi merupakan bagian penting dari pengembangan perangkat lunak. Masing-masing tahapan dalam model biasanya menghasilkan sejumlah tulisan, diagram, gambar atau bentuk-bentuk lain yang harus didokumentasi dan merupakan bagian tak terpisahkan dari perangkat lunak yang dihasilkan.
•
Keluaran dari proses pengembangan perangkat lunak harus bernilai ekonomis. Nilai dari sebuah perangkat lunak sebenarnya agak susah di-rupiah-kan. Namun efek dari penggunaan perangkat lunak yang telah dikembangkan haruslah memberi nilai tambah bagi organisasi. Hal ini dapat berupa penurunan biaya
40 operasi, efisiensi penggunaan sumberdaya, peningkatan keuntungan organisasi, peningkatan “image” organisasi dan lain-lain.
2.4.6 Model dan Tahapan Rekayasa Perangkat Lunak Menurut Pressman (2002, p36) salah satu model proses perangkat lunak yang sering digunakan adalah linear sequential model. Model ini sering disebut dengan classic life cycle atau waterfall model. Model ini adalah model yang muncul pertama kali yaitu sekitar tahun 1970 sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak dipakai di dalam Software Engineering (SE). Model ini melakukan pendekatan pada pengembangan perangkat lunak yang sistematis dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian dan pemeliharaan. Secara umum menurut Pressman (2002, p37), tahapan pada model waterfall dapat dilihat pada gambar berikut :
41
Gambar 2.4 Waterfall Model.
pola tahapan pemodelan yang di gunakan yaitu adalah analysis – design – coding(construction) – testing – maintenance. Analisis Sistem (Analysis) Sebuah teknik pemecahan masalah yang menguraikan sebuah sistem menjadi komponen-komponennya dengan tujuan mempelajari seberapa bagus komponenkomponen tersebut bekerja dan berinteraksi untuk meraih tujuan mereka. Analisis mungkin adalah bagian terpenting dari proses rekayasa perangkat lunak. Karena semua proses lanjutan akan sangat bergantung pada baik tidaknya hasil analisis. Ada satu bagian penting yang biasanya dilakukan dalam tahapan analisis yaitu pemodelan proses bisnis.
42 Model Proses (Proces) Model yang memfokuskan pada seluruh proses di dalam sistem mentransformasikan data menjadi informasi (Harris, 2003).
yang
Model proses juga
menunjukkan aliran data yang masuk dan keluar pada suatu proses. Biasanya model ini digambarkan dalam bentuk Diagram Arus Data (Data Flow Diagram / DFD). DFD menyajikan gambaran apa yang manusia inginkan, proses dan prosedur lakukan untuk mentransformasi data menjadi informasi.
Disain perangkat lunak (Design) Tugas, tahapan atau aktivitas yang difokuskan pada spesifikasi detil dari solusi berbasis computer (Whitten et al, 2004). Disain perangkat lunak sering juga disebut sebagai physical design. Jika tahapan analisis sistem menekankan pada masalah bisnis (business rule), maka sebaliknya disain perangkat lunak fokus pada sisi teknis dan implementasi sebuah perangkat lunak (Whitten et al, 2004). Output utama dari tahapan disain perangkat lunak adalah spesifikasi disain. Spesifikasi ini meliputi spesifikasi disain umum yang akan disampaikan kepada stakeholder sistem dan spesifikasi disain rinci yang akan digunakan pada tahap implementasi. Spesifikasi disain umum hanya berisi gambaran umum agar stakeholder sistem mengerti akan seperti apa perangkat lunak yang akan dibangun.
Biasanya
diagram USD tentang perangkat lunak yang baru merupakan point penting dibagian ini.
43 Spesifikasi disain rinci atau kadang disebut disain arsitektur rinci perangkat lunak diperlukan untuk merancang sistem sehingga memiliki konstruksi yang baik, proses pengolahan data yang tepat dan akurat, bernilai, memiliki aspek user friendly dan memiliki dasar-dasar untuk pengembangan selanjutnya. Desain arsitektur ini terdiri dari desain database, desain proses, desain user interface yang mencakup desain input, output form dan report, desain hardware, software dan jaringan. Desain proses merupakan kelanjutan dari pemodelan proses yang dilakukan pada tahapan analisis.
Konstruksi (Coding) Tahapan menerjemahkan hasil disain logis dan fisik ke dalam kode-kode program komputer.
Pengujian (Testing) sistem melibatkan semua kelompok pengguna yang telah direncanakan pada tahap sebelumnya. Pengujian tingkat penerimaan terhadap perangkat lunak akan berakhir ketika dirasa semua kelompok pengguna menyatakan bisa menerima perangkat lunak tersebut berdasarkan kriteria-kriteria yang telah ditetapkan.
44 Perawatan dan Konfigurasi (Maintenance) Ketika sebuah perangkat lunak telah dianggap layak untuk dijalankan, maka tahapan baru menjadi muncul yaitu perawatan perangkat lunak. Ada beberapa tipe perawatan yang biasa dikenal dalam dunia perangkat lunak seperti terlihat pada diagram di Gambar di bawah ini :
Gambar 2.5 Tipe-tipe perawatan.
•
Tipe perawatan corrective dilakukan jika terjadi kesalahan atau biasa dikenal sebagai bugs. Perawatan bisa dilakukan dengan memperbaiki kode program, menambah bagian yang dirasa perlu atau malah menghilangkan bagian-bagian tertentu.
•
Tipe perawatan routine biasa juga disebut preventive maintenance dilakukan secara rutin untuk melihat kinerja perangkat lunak ada atau tidak ada kesalahan.
•
Tipe perawatan sistem upgrade dilakukan jika ada perubahan dari komponenkomponen yang terlibat
dalam perangkat lunak tersebut. Sebagai contoh
perubahan platform sistem operasi dari versi lama ke versi baru menyebabkan perangkat lunak harus diupgrade.
45
2.4.7 Proses Rekayasa Perangkat Lunak •
Suatu proses model adalah suatu representasi abstrak suatu model yang menampilkan suatu deskripsi suatu proses dari beberapa perspektif tertentu,
•
Merupakan aktifitas yang saling terkait (koheren) untuk menspesifikasikan, merancang, implementasi dan pengujian sistem perangkat lunak.
•
Sekumpulan aktifitas yang memiliki tujuan untuk pengembangan ataupun evolusi perangkat lunak : Aktifitas generic dalam semua proses perangkat lunak adalah: o Spesifikasi – apa yang harus dilakukan oleh perangkat lunak dan batasan/kendala pengembangannya o Pengembangan – proses memproduksi sistem perangkat lunak o Validasi – pengujian perangkat lunak terhadap keinginan penggunak o Evolusi – perubahan perangkat lunak berdasarkan perubahan keinginan.
2.5 Basis Data (Database) Data adalah fakta mengenai objek, orang, dan lain-lain. Sedangkan Informasi adalah hasil analisis dan sintesis terhadap data. Basis data adalah kumpulan data, yang dapat digambarkan sebagai aktifitas dari satu atau lebih organisasi yang berelasi.
46
2.5.1 Model Data Data yang disimpan menggambarkan beberapa aspek dari suatu organisasi. Model data, adalah himpunan deksripsi data level tinggi yang dikonstruksi untuk menyembunyikan beberapa detail dari penyimpanan level rendah. Beberapa manajemen basis data didasarkan pada model data relasional, model data hirarkis, atau model data jaringan.
2.5.2 Model Data Hirarkis Model hirarkis biasa disebut model pohon, karena menyerupai pohon yang dibalik. Model ini menggunakan pola hubungan orang tua-anak. Setiap simpul (biasa dinyatakan dengan lingkaran atau kotak) menyatakan sekumpulan medan. Simpul yang terhubung ke simpul pada level di bawahnya disebut orang tua. Setiap orang tua bisa memiliki satu (hubungan 1:1) atau beberapa anak (hubungan 1:M), tetapi setiap anak hanya memiliki satu orang tua. Simpul – simpul yang dibawahi oleh simpul orang tua disebua anak. Simpul orang tua yang tidak memiliki orang tua disebut akar. Simpul yang tidak mempunyi anak disebut daun. Adapun hubungan antara anak dan orang tua disebut cabang.
47
2.5.3 Model Data Jaringan Model jaringan distandarisasi pda tahun 1971 oleh Data Base Task Group (DBTG). Itulah sebabnya disebut model DBTG. Model ini juga disebut model CODASYL (Conference on Data System Languages), karena DBTG adalah bagian dari CODASYL. Model ini menyerupai model hirarkis, dengan perbedaan suatu simpul anak bisa memilki lebih dari satu orang tua. Oleh karena sifatnya demikian, model ini bisa menyatakan hubungan 1:1 (satu orang tua punya satu anak), 1:M (satu orang tua punya banyak anak), maupun N:M (beberapa anak bisa mempunyai beberapa orangtua). Pada model jaringan, orang tua diseut pemilik dan anak disebut anggota.
2.5.4 Model Data Relational Model relasional adalah model data yang paling banyak digunakan saat ini. Pembahasan pokok pada model ini adalah relasi, yang dimisalkan sebagai himpunan dari record. Deskripsi data dalam istilah model data disebut skema. Pada model relasional, skema untuk relasi ditentukan oleh nama, nama dari tiap field (atau atribut atau kolom), dan tipe dari tiap field.
2.5.5 Jenis Data (Database) Ada beberapa Jenis Data (Database) menurut pengaksesannya, basis data (database) dibedakan menjadi empat jenis, yaitu :
48 Basis data individual (Individual Database)
Basis data individual adalah basis data (database) yang digunakan oleh perseorangan. Biasanya basis data seperti ini banyak dijumpai dilingkungan PC. Visual dBASE, Corel Paradox, dan Filemaker Pro merupakan contoh perangkat lunak yang biasa digunakan untuk mengelola basis data (database) untuk kepentingan pribadi.
Basis data perusahaan (Company Database)
Basis data (database) perusahaan adalah basis data (database)
yang
dimaksudkan untuk diakses oleh sejumlah pegawai dalam sebuah perusahaan dalam sebuah lokasi. Basis data seperti ini disimpan dalam sebuah server dan para pemakai dapat mengakses dari masing-masing komputer yang berkedudukan sebagai client.
Basis data terdistribusi (Distribution Database)
Basis data (database) terdistribusi adalah basis data (database) yang disimpan pada sejumlah komputer yang terletak pada beberapa lokasi. Model seperti ini banyak digunakan bank yang memiliki sejumlah cabang di pelbagai kota dan melayani transaksi perbankan yang bersifat online.
Basis data publik (Public Database)
Basis data (database) publik adalah basis data (database) yang dapat diakses oleh siapa saja (publik). Sebagai contoh, banyak situs web (misalnya yahoo dan about.com) yang menyediakan data yang bersifat publik dan dapat diambil siapa saja
49 secara gratis. Namun adakalanya seseorang harus menjadi anggota dan membayar iuran untuk memperoleh data publik.
2.5.6 Komponen Basis Data Basis Data mempunyai beberapa komponen yang mendukung adanya Basis Data pada sistem, yaitu :
DATA
Data tersimpan secara terintegrasi dan dipakai secara bersama-sama. Ciri-ciri data didalam database : •
Data disimpan secara terintegrasi (integrated) : Database merupakan kumpulan dari berbagai macam file dari aplikasi-aplikasi yang berbeda, yang disusun dengan cara menghilangkan bagian-bagian yang rangkap (redundant).
•
Data dapat dipakai secara bersama-sama (shared) : Masing-masing bagian dari database dapat diakses oleh pemakai dalam waktu yang bersamaan, untuk aplikasi yang berbeda.
50 HARDWARE
Perangkat keras yang digunakan dalam mengelola sistem basis data (database). Terdiri dari semua peralatan perangkat keras komputer yang digunakan untuk pengelolaan sistem Basis Data(database) berupa: •
Peralatan untuk penyimpanan database, yaitu secondary storage (harddisk, disket, flash disk, CD).
•
Peralatan input (keyboard, scanner, kamera digital) dan output (printer, layar monitor).
•
Peralatan komunikasi data (ethernet card, modem).
SOFTWARE
Perangkat lunak perantara antara pemakai dengan data fisik. perangkat lunak dapat berupa database management system dan berbagai program aplikasi. Berfungsi sebagai perantara (interface) antara pemakai dengan data physik pada database. Software pada database system dapat berupa: •
Database Management System (DBMS), yang menangani akses terhadap database, sehingga pemakai tidak perlu memikirkan proses penyimpanan dan pengelolaan data secara detail.
•
Program-program aplikasi dan prosedur-prosedur.
51 USER User sebagai pemakai sistem. Pemakai database system dibagi atas 3 klasifikasi, yaitu : •
Database Administrator (DBA) : Orang atau team yang bertugas mengelola database system secara keseluruhan.
•
Programmer : Orang atau team yang bertugas membuat program aplikasi yang mengakses database, dengan menggunakan bahasa pemrograman, seperti Clipper, VB, Oracle baik secara batch maupun online untuk berinteraksi dengan computer.
•
End-user : Orang yang mengakses database melalui terminal, dengan menggunakan query-language atau program aplikasi yang dibuatkan oleh programmer.
2.5.7 Tujuan Sistem Basis Data Salah satu tujuan dari sistem menggunakann sebuah Basis Data (Database) yaitu adalah : •
Mencegah data redundancy dan inconsistency
•
Mempermudah dalam melakukan akses terhadap data
•
Mempertimbangkan data isolation
•
Mencegah concurrent access anomaly
52 •
Mempertimbangkan masalah keamanan data
•
Mempertimbangkan masalah integritas
2.6 Interaksi Manusia Komputer Interaksi Manusia Komputer (IMK) atau dapat juga disebut dengan Human Computer Interface (HCI) merupakan sekumpulan proses, dialog, dan kegiatan dimana melaluinya pengguna memanfaatkan dan berinteraksi dengan komputer. Selain itu Interaksi Manusia Komputer (IMK) merupakan suatu disiplin ilmu yang menekankan pada aspek desain, evaluasi, dan implementasi dari sistem komputer interaktif untuk kegunaan manusia dengan mempertimbangkan fenomena-fenomena disekitar matusia itu sendiri. Interaksi Manusia Komputer (IMK) pada prinsipnya membuat agar sistem dapat berdialog dengan penggunanya seramah mungkin.
2.6.1 Sejarah Interaksi Manusia komputer (IMK) Pada tahun 1970 mulai dikenal istilah antarmuka pengguna (user interface), yang juga dikenal dengan istilah Man-Machine Interface (MMI), dan mulai menjadi topik perhatian bagi peneliti dan perancang sistem. Perusahaan komputer mulai memikirkan aspek fisik dari antarmuka pengguna sebagai faktor penentu keberhasilan dalam pemasaran produknya. Istilah human-
53 computer interaction (HCI) mulai muncul pertengahan tahun 1980-an sebagai bidang studi yang baru. Istilah HCI mengisyaratkan bahwa bidang studi ini mempunyai fokus yang lebih luas, tidak hanya sekedar perancangan antarmuka secara fisik.
2.6.2 Tujuan Interaksi Manusia Komputer (IMK) Ada beberapa hal yang menjadi Tujuan dari Human Computing Interaction (HCI) yaitu : •
User friendly (ramah dengan pengguna): kemampuan yang dimiliki oleh software atau program aplikasi yang mudah dioperasikan, dan mempunyai sejumlah kemampuan lain sehingga pengguna merasa betah dalam mengoperasikan program tersebut, bahkan bagi seorang pengguna pemula.
•
WYSIWYG (what you see is what you get).
•
Mengurangi frustasi, ketidakamanan, dan kebingungan pada pengguna.
•
Implikasi: meningkatkan kepuasan kerja dan menurunkan tingkat absensi pekerja.
2.6.3 Prinsip Utama Mendisain AntarMuka (Interface) Ada beberapa prinsip untuk mendesain Antarmuka (interface) pada suatu sistem yaitu :
54 a. User Compatibility Antarmuka merupakan topeng dari sebuah sistem atau sebuah pintu gerbang masuk ke sistem dengan diwujudkan ke dalam sebuah aplikasi software. Oleh karena itu sebuah software seolah-olah mengenal usernya, mengenal karakteristik usernya, dari sifat sampai kebiasaan manusia secara umum.
Designer harus mencari dan
mengumpulkan berbagai karakteristik serta sifat dari user karena antarmuka harus disesuaikan dengan user yang jumlahnya bisa jadi lebih dari 1 dan mempunyai karakter yang berbeda. Hal tersebut harus terpikirkan oleh desainer dan tidak dianjurkan merancang antarmuka dengan didasarkan pada dirinya sendiri. Survey adalah hal yang paling tepat. b. Product Compatibility Sebuah aplikasi yang bertopengkan antarmuka harus sesuai dengan sistem aslinya. Seringkali sebuah aplikasi menghasilkan hasil yang berbeda dengan sistem manual atau sistem yang ada.
2.7 UML (Unified Modeling Language) Dalam suatu proses pengembangan software, analisa dan rancangan telah merupakan terminologi yang sangat tua. Pada saat masalah ditelusuri dan spesifikasi dinegoisasikan, dapat dikatakan kita berada pada tahap rancangan. Merancang adalah menemukan suatu cara untuk menyelesaikan masalah, salah satu tool / model untuk merancang pengembangan software yang berbasis object oriented adalah UML.
55
2.7.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 (ObjectOriented). UML sendiri juga memberikan standar penulisan sebuah sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponen-komponen 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 dan 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 masingmasing pendekatan metoda OO untuk membuat suatu model bahasa yang uniform / seragam yang disebut UML (Unified Modeling Language) dan dapat digunakan oleh seluruh dunia.
56 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 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.7.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 standard untuk pengembangan sebuah software yang dapat menyampaikan bagaimana membuat dan membentuk model-model, tetapi tidak menyampaikan apa dan kapan
57 model yang seharusnya dibuat yang merupakan 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, aturanaturan yang menyatakan bagaimana building block diletakkan secara bersamaan, dan beberapa mekanisme umum (common). Building blocks Ada 3 (tiga) macam yang terdapat dalam building block adalah kategori benda atau things, hubungan, dan diagram. Benda atau things adalah abstraksi yang pertama dalam sebuah model, hubungan sebagai alat komunikasi dari benda-benda, dan diagram sebagai kumpulan atau group dari benda-benda atau things. •
Benda atau things Benda atau things adalah hal yang sangat mendasar dalam model UML, juga merupakan bagian paling statik dari sebuah model, serta menjelaskan elemen-
58 elemen lainnya dari sebuah konsep dan atau fisik. Bentuk dari beberapa benda atau things adalah sebagai berikut : o
Sebuah kelas yang diuraikan sebagai sekelompok dari object ang mempunyai atribute,
operasi,
mengimplementasikan
hubungan 1
yang
atau lebih
semantik.
interfaces.
Sebuah
Sebuah
kelas
kelas dapat
digambarkan sebagai sebuah persegi panjang, yang mempunyai sebuah nama, atribute dan metoda pengoperasiannya, seperti terlihat dalam Gambar 2.6.
Gambar 2.6 Sebuah Kelas dari model UML
o
Menggambarkan ‘Interface’ merupakan sebuah antar antar-muka yang menghubungkan dan melayani antar kelas dan atau elemen. ‘Interface’ atau antar-muka mendefinisikan sebuah set atau 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 Gambar 2.7.
59
Gambar 2.7 Interface atau antar-muka o
Collaboration yang didefinisikan dengan interaksi dan sebuah kumpulan atau kelompok dari kelas-kelas atau elemen-elemen yang berkerja secara bersamasama. Collaborations mempunyai struktural dan dimensi. Pemberian sebuah kelas memungkinkan berpartisipasi di dalam beberapa collaborations dan digambarkan dengan sebuah ‘elips’ dengan garis terpotong-potong.
Gambar 2.8 Collaborations o
sebuah ‘use case’ adalah rangkaian atau uraian sekelompok yang saling terkait dan membentuk sistem secara teratur yang dilakukan atau di awasi oleh sebuah aktor. ‘Use Case’ digunakan untuk membentuk tingkah-laku benda atau 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.9.
Gambar 2.9 Use Case
60 o
sebuah node merupakan fisik dari elemen-elemen yang ada pada saat dijalankannya sebuah sistem, contohnya adalah 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 pada Gambar 2.10.
Gambar 2.10 Nodes •
Hubungan atau Relationship Ada 4 macam hubungan di dalam penggunaan UML, yaitu : dependency, association, generalization, dan realization. o Sebuah dependency adalah hubungan semantik antara dua benda atau things yang mana sebuah benda berubah mengakibatkan benda satunya akan berubah pula. Umumnya sebuah dependency digambarkan sebuah panah dengan garis terputus-putus seperti terlihat pada Gambar 2.11.
Gambar 2.11 Dependency o Sebuah association adalah hubungan antara benda struktural yang terhubung diantara Objek. Kesatuan Objek yang terhubung merupakan hubungan khusus
61 yang menggambarkan sebuah hubungan struktural diantara seluruh atau sebagian. Umumnya association digambarkan dengan sebuah garis yang dilengkapi dengan sebuah label, nama, dan status hubungannya seperti terlihat dalam Gambar 2.12.
Gambar 2.12 Association. o Sebuah generalization adalah menggambarkan hubungan khusus dalam Objek anak atau child yang menggantikan Objek parent atau induk. Dalam hal ini, Objek anak memberikan pengaruhnya dalam hal struktural dan tingkah lakunya kepada Objek induk. Digambarkan dengan garis panah seperti terlihat dalam Gambar 2.13.
Gambar 2.13 Generalizations. o 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 Gambar 2.14.
Gambar 2.14 Realizations.
62 •
Diagram Standar UML dikelola oleh OMG (Object Management Group) . UML mendeskripsikan OOP (Object Oriented Programming) dengan beberapa diagram, diantaranya : 1.
Diagram Struktur : a. Diagram Kelas Diagram kelas atau lebih dikenal class diagram menjelaskan sebuah kumpulan kelas-kelas dan hubungan struktural mereka. UML mempunyai class diagram, mereka merupakan deskripsi utama di dalam orientasi objek analisa dan desain. Menurut Wesley (1998, p96) diagram kelas adalah sebuah diagram yang menunjukan sebuah set kelas, interface, kolaborasi dan relasi antar mereka. Diagram ini merupakan diagram yang paling sering ditemukan dalam system modeling berbasis objek.
63
Gam mbar 2.15 Bentuk B umu um Class Diiagram. b. b Diagram Objek D Diagram Objek yaitu iallah menggam mbarkan struuktur sistem m dari segi penaamaan objekk dan jalannyya objek dalaam sistem. c. c Diagram Komponen D Diagram Kom mponen beriisi bagian dari d hubungaan antar soft ftware yang dibaangun. d. d Diagram deployment D Diagram deployment berrisi tentang penempatann dan konfiggurasi komponeen pada saat runtime.
64 2.
Diagram Prilaku : a. Diagram Use-Case Usecase diagram menunjukan hubungan antara actor dan usecase. Usecase diagram penting untuk menvisualisasikan, menspesifikasikan, dan mendokumentasikan perilaku dari sebuah elemen.
Use-Case Menurut Wesley (1998, p189), usecase mendeskripsikan apa yang
sistem lakukan tapi tidak menjelaskan bagaimana hal tersebut dilakukan. Usecase adalah sebuah pola untuk berinteraksi antara sistem dan actor dalam aplikasi domain.
Actor Sebuah set peraturan koheren yang dimainkan pengguna dalam
usecase ketika berinteraksi dengan usecase ini. Actor mewakili sebuah aturan yang dimainkan manusia, perangkat keras atau sistem lain. Actor dihubungkan dengan usecase hanya dengan asosiasi. Ada juga beberapa macam-macam contoh dari Actor serta Use Case antara lain adalah :
Aktivitas Actor dan Use Case
Gambar 2.16 Aktivitas Actor dan Use-Case.
65
Actor Pengukur Waktu
Gambar 2.17 Actor Pengukur Waktu.
Actor dan Use-Case dalam sistem bank
Gambar 2.18 Actor dan Use-Case dalam sistem bank.
b. Diagram Urutan Diagram urutan menjelaskan interaksi diantara beberapa objek selama beberapa waktu. Diagram urutan adalah tambahan dari class diagram, yang menjalankan situasi yang umum dan datar. Diagram urutan dapat menyimpan rincian-rincian tentang situasi dinamik dan kompleks, yang mengikutsertakan beberapa dari banyak objek yang dihasilkan oleh kelas-kelas di dalam diagram kelas.
66
Gambar 2.19 Diagram Urutan (Sequence Diagram) c. Diagram Kolaborasi Diagram Kolaborasi adalah sebuah diagram interaksi yang mengilustrasikan pesan interaksi antara instansi dan class. d. Diagram Statechart Diagram Statechart ini adalah state-machine diagram, berisi state, transisi, kejadian dan aktivitas. Statechart merupakan pandangan dinamis dari sistem. Diagram ini penting dalam memodelkan perilaku antarmuka, kelas, kolerasi, dan menekankan pada urutan kejadian. Penting untuk sistem reaktif yang dipicu kejadian di dunia nyata.
67
Gambarr 2.20 Statecchart. e. e Diagram Aktivitas D Diagram Akktivitas diggunakan unntuk menggambarkan alur aktivitas dari proses bisnis atauu dari sebuahh use-case secara berurrutan. Diagram ini juga diggunakan unttuk menggam mbarkan tindakan yang akan dieksekussi ketika suaatu proses sedang berjallan berserta hasil dari proses p eksekusi tersebut.
Gambaar 2.21 Activvity Diagram m
68
2.7.3 Teknik Dasar OOA/D (Object Oriented Analysis / Design) Dalam dunia pemodelan, metodologi implementasi Objek walaupun terikat kaidah-kaidah standar, namun teknik pemilihan Objek tidak terlepas pada subyektifitas software analyst & designer. Beberapa Objek akan diabaikan dan beberapa Objek 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.
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. Di sini 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.
Penurunan atau Pewarisan (Inheritance) Objek-Objek memiliki banyak persamaan, namun ada sedikit perbedan. Contoh dengan beberapa buah mobil yang mempunyai kegunaan yang berbeda-beda. Ada mobil
69 bak terbuka seperti truk, bak tertutup seperti sedan dan minibus. Walaupun demikian Objek-Objek ini memiliki kesamaan yaitu teridentifikasi sebagai Objek mobil, Objek ini dapat dikatakan sebagai Objek induk (parent). Sedangkan minibus dikatakan sebagai Objek anak (child), hal ini juga berarti semua operasi yang berlaku pada mobil berlaku juga pada minibus.
Polymorphism Pada Objek mobil, walaupun minibus dan truk merupakan jenis Objek mobil yang sama, namun memiliki juga perbedaan. Misalnya suara truk lebih keras dari pada minibus, hal ini juga berlaku pada Objek anak (child) melakukan metoda yang sama dengan algoritma berbeda dari Objek induknya. Hal ini yang disebut polymorphism, teknik atau konsep dasar lainnya adalah ruang lingkup / pembatasan. Artinya setiap Objek mempunyai ruang lingkup kelas, atribut, dan metoda yang dibatasi.
2.8 Perancangan Layar Perancangan layar merupakan suatu tahapan untuk membuat blue print atas tampilan layar yang sesungguhnya. Shneiderman (1998, p80) mengusulkan pedoman perancangan layar yang baik adalah : 1. Konsistensi tampilan data. Istilah, singkatan, format dan lainnya harus standar. 2. Beban ingatan yang seminimal mungkin bagi pengguna. Pengguna sedapat mungkin tidak diharuskan mengingat informasi dari layar satu ke layar lainnya.
70 3. Kompatibilitas tampilan data dengan pemasukan data. Format tampilan informasi perlu berhubungan dengan tampilan pemasukan data. 4. Fleksibilitas kendali pengguna terhadap data. Pengguna program harus dapat memperoleh informasi yang diinginkan sesuai format yang paling memudahkan.