Wecome


Click here for Myspace Layouts
Twitter Delicious Facebook Digg Stumbleupon Favorites More

Jumat, 03 September 2010

judul Skipsi

JUDUL SKRIPSI MANAJEMEN SUMBER DAYA MANUSIA UPLOAD JULI 2008

1. PENGARUH KOMPENSASI TERHADAP PRODUKTIVITAS KERJA KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN MEUBEL CV. KEMBANG JEPUN X
2. PENGARUH PENDIDIKAN DAN LATIHAN TENAGA KERJA TERHADAP PRODUKTIVITAS KERJA KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN KAYU KARYA MULYA KANOR BOJONEGORO
3. ANALISIS PERBANDINGAN PRODUKTIVITAS KERJA KARYAWAN SEBELUM DAN SETELAH PELATIHAN PADA PT. ASURANSI JIWA CENTRAL ASIA RAYA CABANG X
4. ANALISIS PENGARUH PEMBERIAN UPAH DAN INSENTIF TERHADAP HASIL PRODUKSI PADA PERUSAHAAN ROKOK SUMBER REJEKI PASURUAN
5. PENGARUH MOTIVASI TERHADAP PENINGKATAN PRODUKTIVITAS KERJA KARYAWAN BAGIAN PRODUKSI PADA PT. IMIT TULUNGAGUNG
6. PENGARUH INSENTIF TERHADAP PRODUKTIVITAS KERJA KARYAWAN PADA PERUSAHAAN ROKOK LEMBANG JAYA MALANG
7. PENGARUH PEMBERIAN INSENTIF TERHADAP PENINGKATAN PRODUKTIVITAS KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN ROKOK LEMBANG JAYA MALANG
8. PENGARUH GAYA KEPEMIMPINAN TERHADAP SEMANGAT DAN KEGAIRAHAN KERJA KARYAWAN PADA PT. TELKOM CABANG TULUNGAGUNG
9. PENGARUH KEDISIPLINAN KERJA DALAM MENINGKATKAN PRODUKTIVITAS KERJA KARYAWAN PADA PERUSAHAAN TEGEL DAYA GUNA LUMAJANG
10. PENGARUH PEMBERIAN MOTIVASI DALAM BENTUK INSENTIF TERHADAP PENINGKATAN PRESTASI KERJA KARYAWAN PADA HOTEL X
11. PERANAN MOTIVASI KERJA GUNA MENINGKATKAN PRODUKTIVITAS KERJA KARYAWAN PADA KUD. “SUMBER MAKMUR” NGANTANG KAB. MALANG
12. PENGARUH MOTIVASI TERHADAP PENINGKATAN KINERJA KARYAWAN BAGIAN DISTRIBUSI PADA PT. PERTAMINA (PERSERO) INSTALASI TANJUNG UBAN
13. PENGARUH GAYA KEPEMIMPINAN TERHADAP SEMANGAT KERJA KARYAWAN PADA PERUSAHAAN KNALPOT RODA JAYA MALANG
14. PELAKSANAAN ANALISA JABATAN YANG TEPAT GUNA MENINGKATKAN EFEKTIVITAS KERJA PADA SEKSI PENGUKURAN DAN PERPETAAN BIRO PERENCANAAN DAN PENGEMBANGAN PERUSAHAAN PERUM PERHUTANI UNIT X
15. ANALISIS FAKTOR-FAKTOR PELATIHAN KERJA TERHADAP PENINGKATAN PRESTASI KERJA PEGAWAI DINAS PERTANIAN DAN KETAHANAN PANGAN KABUPATEN X
16. ANALISIS PENGARUH BUDAYA ORGANISASI TERHADAP KINERJA KARYAWAN PADA KOP SAE PUJON MALANG
17. PENGARUH PEMBERIAN INSENTIF TERHADAP PENINGKATAN PRODUKTIVITAS KERJA KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN ROKOK VALAS MALANG
18. PENGARUH KESELAMATAN DAN KESEHATAN KERJA TERHADAP PRODUKTIVITAS KERJA KARYAWAN PADA KOPERASI “SAE” PUJON MALANG
19. ANALISIS FAKTOR-FAKTOR PELATIHAN KERJA TERHADAP PENINGKATAN PRESTASI KERJA KARYAWAN PADA HOTEL KARTIKA WIJAYA BATU
20. PENGARUH FAKTOR-FAKTOR PERILAKU PEMIMPIN DAN KOMITMEN KARYAWAN TERHADAP PRESTASI KERJA KARYAWAN PADA PT. PG. X
21. PENGARUH INSENTIF TERHADAP TINGKAT PERPUTARAN TENAGA KERJA BAGIAN PEMASARAN PADA CV. YUDHISTIRA JAKARTA
22. PENGARUH PEMBERIAN UPAH DAN INSENTIF TERHADAP HASIL PRODUKSI PADA PERUSAHAAN ROKON YALA SUTRA MALANG
23. PENGARUH LINGKUNGAN KERJA PHISIK DAN NON PHISIK TERHADAP PRODUKTIVITAS TENAGA KERJA PADA PT. TELKOM KANCATEL AIRMADIDI MANADO
24. PENGARUH PERILAKU KEPEMIMPINAN TERHADAP KINERJA KARYAWAN (STUDI PADA KARYAWAN HOTEL MUTIARA MALANG)
25. PERANAN KEDISIPLINAN KERJA KARYAWAN BAGIAN PRODUKSI GUNA MENUNJANG PRODUKTIVITAS KERJA PADA PERUSAHAAN GARMEN CV. MAMA & LEON TABANAN BALI
26. PENGARUH PELATIHAN KERJA TERHADAP PRODUKTIVITAS KARYAWAN PADA PERUSAHAAN ROKOK DJAGUNG PADI MALANG
27. PERANAN PRESTASI KERJA KARYAWAN DALAM RANGKA MENCAPAI PROMOSI JABATAN PADA HOTEL WISATA TIDAR MALANG
28. ANALISIS PENGARUH PERILAKU KEPEMIMPINAN TERHADAP KEPUASAN KERJA KARYAWAN PADA PERUSAHAAN ROKOK VALAS MALANG
29. UPAYA MENINGKATKAN KEDISIPLINAN KERJA GUNA MENUNJANG PRODUKTIVITAS KERJA KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN BORDIR UD. X
30. PENGARUH KOMPENSASI TERHADAP PRODUKTIVITAS KERJA KARYAWAN PADA PERUSAHAAN X
31. PENGARUH KESELAMATAN DAN KESEHATAN KERJA TERHADAP KINERJA KARYAWAN PADA PT. PG DJOMBANG BARU DI JOMBANG
32. PENGARUH PEMBERIAN MOTIVASI DALAM BENTUK INSENTIF TERHADAP PENINGKATAN PRODUKTIVITAS KERJA KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN X
33. PENGARUH PEMBERIAN INSENTIF GUNA MENINGKATKAN PRODUKTIVITAS KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN ROTI “SALWA” DURENAN-TRENGGALEK
34. PELAKSANAAN MOTIVASI DALAM USAHA MENINGKATKAN PRODUKTIVITAS KERJA KARYAWAN PADA PERUSAHAAN KECAP CAP “TAWON” MADIUN
35. PENGARUH UPAH DAN MASA KERJA TERHADAP PRODUKTIVITAS TENAGA KERJA KARYAWAN BAGIAN PRODUKSI PADA PT. INDUSTRI SANDANG SIMPING – PROBOLINGGO
36. PENGARUH LINGKUNGAN KERJA DAN KARAKTERISTIK INDIVIDU TERHADAP KINERJA KARYAWAN DI PERUSAHAAN DAERAH AIR MINUM KABUPATEN X
37. ANALISIS PENGARUH PENDIDIKAN DAN PELATIHAN SDM DALAM USAHA MENINGKATKAN PRESTASI KERJA KARYAWAN PADA PDAM KABUPATEN X
38. PENGARUH MOTIVASI TERHADAP PRODUKTIVITAS KERJA KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN ROKOK “SATU JAYA” TANGGULANGIN SIDOARJO
39. PENGARUH KOMUNIKASI YANG EFEKTIF TERHADAP KINERJA KARYAWAN DI KANTOR PERUM PEGADAIAN X
40. PENGARUH PENDIDIKAN DAN LATIHAN KERJA TERHADAP PENINGKATAN PRODUKTIVITAS KARYAWAN PADA PT CHEIL SAMSUNG INDONESIA DI PASURUAN
41. PENGARUH PELATIHAN KERJA KARYAWAN TERHADAP PRODUKTIVITAS KERJA KARYAWAN BAGIAN PRODUKSI PADA PT. OTSUKA INDONESIA
42. USAHA MEMPERBAIKI KONDISI LINGKUNGAN KERJA GUNA MENINGKATKAN SEMANGAT DAN KEGAIRAHAN KERJA KARYAWAN PADA CV. TRI JAYA PASURUAN.
43. PENGARUH PELATIHAN TENAGA KERJA TERHADAP PRODUKTIVITAS KERJA BAGIAN PRODUKSI SUSU PADA KOPERASI “SAE” PUJON MALANG
44. PEMBERIAN INSENTIF YANG EFEKTIF DALAM RANGKA MENINGKATKAN PRESTASI KERJA KARYAWAN PADA PERUSAHAAN JAMU PAYUNG PUSAKA KEDIRI
45. PENGARUH MOTIVASI TERHADAP PENINGKATAN KINERJA KARYAWAN PADA PT. KHARISMA DIAN SUARA MALANG
46. PENGARUH INSENTIF TERHADAP PRODUKTIVITAS KERJA KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN JAMU PAYUNG PUSAKA KEDIRI.
47. ANALISIS PENGARUH KEBUTUHAN AKTUALISASI DIRI, PENGHARGAAN DAN KEBUTUHAN SOSIAL TERHADAP PRESTASI KERJA KARYAWAN PADA PD. BPR BANK PASAR KABUPATEN JOMBANG
48. PENGARUH KESESUAIAN PENEMPATAN KERJA TERHADAP PRESTASI KERJA PEGAWAI (STUDI PADA PEGAWAI KANTOR BADAN PERENCANAAN PEMBANGUNAN DAERAH (BAPPEDA) KABUPATEN LAMONGAN)
49. PENGARUH MOTIVASI KERJA TERHADAP PRODUKTIVITAS KERJA KARYAWAN BAGIAN PRODUKSI PADA PABRIK GULA KEBON AGUNG MALANG
50. ANALISIS TEHNIK MOTIVASI DAN PRODUKTIVITAS PADA HOTEL DARMA NUSANTARA MAKASSAR
51. HUBUNGAN MOTIVASI KERJA DAN PRODUKTIVITAS KARYAWAN BAGIAN PRODUKSI PADA KUD GONDANGLEGI MALANG
52. ANALISIS PENGARUH GAYA KEPEMIMPINAN DALAM MENINGKATKAN PRESTASI KERJA KARYAWAN TINGKAT MENENGAH PADA PABRIK GULA TJOEKIR JOMBANG
53. PENGARUH MOTIVASI TERHADAP PRODUKTIVITAS KERJA KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN TENUN NASIONAL CV. GOENO NGUNUT TULUNGAGUNG.
54. ANALISIS PENGARUH MOTIVASI DAN KOMITMEN PEGAWAI TERHADAP PRESTASI KERJA PEGAWAI DI DINAS KEBERSIHAN KOTA SIDOARJO
55. PENGARUH UPAH DAN INSENTIF TERHADAP PRODUKTIVITAS KERJA KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN PALATINO EMBROIDERY MALANG
56. PROGRAM PENINGKATAN PENGETAHUAN DAN KETERAMPILAN KARYAWAN GUNA MENURUNKAN TINGKAT PEMBATALAN JUMLAH SURAT POLIS PT. ASURANSI JIWASRAYA CABANG X.
57. PENGARUH MOTIVASI TERHADAP PRODUKTIVITAS KERJA KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN KONVEKSI UD. JAYANTI TULUNGAGUNG
58. ANALISIS PENGARUH KESELAMATAN KERJA DAN KESEHATAN KERJA TERHADAP KINERJA KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN ROKOK 369 BOJONEGORO
59. PENGARUH MOTIVASI DAN KOMITMEN KARYAWAN TERHADAP PRESTASI KERJA KARYAWAN DI PT. TELKOM TBK. KANCATEL X
60. HUBUNGAN PENDIDIKAN DAN LATIHAN TENAGA KERJA DENGAN PRODUKTIVITAS KERJA KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN VYCARIS COSMETICS BABAT LAMONGAN.
61. PENTINGNYA PEMBERIAN MOTIVASI TERHADAP PENINGKATAN PRODUKTIVITAS KERJA KARYAWAN PADA CV. MEBELLUSA SEMARANG
62. PENGARUH PENEMPATAN KERJA KARYAWAN (Faktor Prestasi Akademis, Pengalaman dan Sikap) TERHADAP PRESTASI KERJA KARYAWAN PADA PT. TELKOM KANCATEL X
63. PERANAN KEDISIPLINAN KERJA DALAM USAHA MENINGKATKAN PRODUKTIVITAS KARYAWAN BAGIAN PRODUKSI PADA KOPERASI UNIT DESA (KUD) PANCER PRAJEKAN BONDOWOSO
64. PENGARUH UPAH DAN INSENTIF TERHADAP HASIL PRODUKSI PER TENAGA KERJA PADA PERUSAHAAN ROKOK DJAGUNG PADI MALANG
65. PENGARUH GAYA KEPEMIMPINAN TERHADAP KINERJA KARYAWAN PADA HOTEL KUSUMA AGROWISATA BATU
66. PELAKSANAAN PENARIKAN TENAGA KERJA YANG TEPAT DALAM USAHA MENINGKATKAN PRODUKTIVITAS KARYAWAN PADA UD. YESTOYA GROUP MALANG
67. PERANAN PENDIDIKAN DAN PELATIHAN DALAM RANGKA PENINGKATAN PRODUKTIVITAS KERJA KARYAWAN PADA PT. SURYA ASBEST CEMENT INDUSTRI MULYOREJO MALANG
68. ANALISIS PENGARUH PEMBERIAN INSENTIF FINANSIAL DAN NON FINANSIAL TERHADAP KEPUASAN KERJA KARYAWAN PADA PERUSAHAAN RAKET ABADI MALANG
69. PENGARUH PEMBERIAN KOMPENSASI FINANSIAL DAN NON FINANSIAL TERHADAP PRESTASI KERJA KARYAWAN PADA PT. POS INDONESIA (PERSERO) CABANG MALANG
70. ANALISIS FAKTOR-FAKTOR YANG MEMPENGARUHI PRODUKTIVITAS KERJA PADA PERUSAHAAN KRUPUK “KARYA PUTRA JAYA” SIDOARJO
71. PERANAN PENDIDIKAN DAN LATIHAN DALAM RANGKA PENINGKATAN PRODUKTIVITAS KERJA KARYAWAN BAGIAN PRODUKSI PADA CV. TAMAN JATI UTAMA - SINGARAJA – BALI
72. PENGARUH PEMBERIAN INSENTIF YANG EFEKTIF TERHADAP PENINGKATAN PRODUKTIVITAS KERJA KARYAWAN PADA KUD DAU KABUPATEN MALANG
73. PENGARUH GAYA KEPEMIMPINAN TERHADAP KEGAIRAHAN DAN SEMANGAT KERJA KARYAWAN BAGIAN PRODUKSI PADA PT. MENTARI MASSEN TOYS INDONESIA JOMBANG
74. PENGARUH INSENTIF DAN JAMINAN SOSIAL TERHADAP PRESTASI KERJA PADA PO. ANDY’S KENCANA NGAWI.
75. PENGARUH MOTIVASI TERHADAP PRODUKTIVITAS KERJA KARYAWAN BORONGAN BAGIAN PRODUKSI PADA UD. ARISKON MOJOKERTO
76. PENGARUH KOMPENSASI TERHADAP KEPUASAN KERJA KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN SHANGHAI GANGSAR NGUNUT TULUNGAGUNG
77. PENGARUH PENDIDIKAN DAN PELATIHAN KERJA TERHADAP PENINGKATAN PRODUKTIVITAS KERJA KARYAWAN PADA PT.TELKOM DI PAMEKASAN
78. PELATIHAN SUMBER DAYA MANUSIA DALAM UPAYA MENINGKATKAN PRODUKTIVITAS KERJA KARYAWAN PADA HOTEL “ARMI” MALANG
79. ANALISIS FAKTOR-FAKTOR MOTIVASI TERHADAP PRODUKTIVITAS KERJA KARYAWAN PADA PERUSAHAAN TISSUE COLOGNE “COOL CLEAN” MALANG.
80. PENGARUH KOMPENSASI TERHADAP PRODUKTIVITAS KERJA KARYAWAN PADA PERUSAHAAN GARMENT PT. ULU WATU TABANAN- BALI
81. ANALISIS PENGARUH KOMPENSASI FINANSIAL DAN NON FINANSIAL TERHADAP PRESTASI KERJA KARYAWAN BAGIAN PRODUKSI PADA KOPERASI SAE PUJON
82. PENILAIAN PRESTASI KERJA KARYAWAN SEBAGAI SALAH SATU TOLOK UKUR PEMBERIAN PROMOSI JABATAN PADA PERUSAHAAN PT. SURYA ZIG-ZAG KEDIRI
83. UPAYA PEMBERIAN INSENTIF GUNA PENINGKATAN KEDISIPLINAN KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN KACANG SHANGHAI “GANGSAR” NGUNUT-TULUNGAGUNG
84. PELAKSANAAN KEDISIPLINAN KERJA YANG EFEKTIF DALAM USAHA MENINGKATKAN PRODUKTIVITAS KARYAWAN PADA PERUSAHAAN KONVEKSI UD. ”SUBUR MAKMUR” PAKIS-MALANG
85. HUBUNGAN KEDISILPINAN KARYAWAN BAGIAN PRODUKSI DENGAN REALISASI PRODUKSI PADA PERUSAHAAN GARMENT PT. ULU WATU TABANAN - BALI.
86. ANALISIS PENGARUH MOTIVASI DAN KOMITMEN KARYAWAN TERHADAP PRESTASI KERJA KARYAWAN HOTEL MUTIARA
87. PENGARUH JAMINAN SOSIAL TENAGA KERJA TERHADAP KINERJA KARYAWAN (Studi pada Karyawan PT. PLN (Persero) Distribusi Jawa Timur Area Pelayanan dan Jaringan Banyuwangi)
88. PENGARUH PEMBERIAN KOMPENSASI FINANSIAL DAN NON FINANSIAL TERHADAP PRESTASI KERJA KARYAWAN BAGIAN PRODUKSI PADA PT. NURFIRDAUSTEKS
89. PELAKSANAAN KEDISIPLINAN KARYAWAN GUNA MENINGKATKAN PRODUKTIVITAS KERJA PADA PERUSAHAAN TEGEL CV. CITRA INTI MALANG
90. PENGARUH KOMPENSASI TERHADAP PENINGKATAN PRODUKTIVITAS KERJA KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN GARMENT “MEKAR WANGI COLLECTION” GIANYAR – BALI
91. ANALISIS PENGARUH PEMBERIAN INSENTIF MATERIAL TERHADAP KEPUASAN KERJA PERAWAT PADA RSUD DR. R SOEDARSONO PASURUAN
92. PENGARUH KESELAMATAN DAN KESEHATAN KERJA TERHADAP PRESTASI KERJA KARYAWAN DI PT. GANDUM MALANG
93. PENGARUH INSENTIF DALAM PENINGKATAN PRODUKTIVITAS KERJA KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN ROKOK “CEMARA MAS” TANGGULANGIN SIDOARJO
94. PELAKSANAAN PENDIDIKAN DAN LATIHAN GUNA MENINGKATKAN PRODUKTIVITAS KERJA KARYAWAN PADA PT. GATRA MAPAN MALANG
95. PENGARUH TINGKAT ABSENSI TERHADAP PRODUKTIVITAS KERJA KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN KECAP CAP BLIMBING PAMEKASAN
96. ANALISIS PENGARUH PEUBAH MOTIVASI TERHADAP PRESTASI KERJA KARYAWAN DI PT. BANK BUANA MALANG
97. PENGARUH MOTIVASI TERHADAP PENINGKATAN KINERJA KARYAWAN PADA PERUM PERHUTANI KPH MALANG
98. PENGARUH GAYA KEPEMIMPINAN AUTOCRATIVE DAN PARTICIPATIVE TERHADAP PRESTASI KERJA KARYAWAN PADA BPR ARTHA SAMUDERA DESA SAMBI KEDIRI
99. PERANAN INSENTIF DALAM MENINGKATKAN PRODUKTIVITAS KERJA KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN ROKOK ONGKOWIDJOJO BLITAR
100. Pengaruh Motivasi Kerja Terhadap Prestasi Kerja Pegawai (Studi Pada Pegawai PT. Pos Indonesia (Persero) Malang)
101. ANALISA FAKTOR-FAKTOR YANG MEMPENGARUHI KEPUASAN KERJA KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN KECAP CAP “IKAN LELE” PATI
102. PENGARUH KESELAMATAN DAN KESEHATAN KERJA DENGAN SEMANGAT KERJA KARYAWAN PADA PT. HERO SWALAYAN CABANG SARINAH PLAZA MALANG
103. PENGARUH INSENTIF MATERIAL DAN NON MATERIAL TERHADAP SEMANGAT KERJA KARYAWAN PADA AJB BUMIPUTERA CABANG X
104. ANALISIS PENGARUH VARIABEL KOMPENSASI FINANSIAL DAN NON FINANSIAL TERHADAP PRESTASI KERJA KARYAWAN PADA PT. PG KREBET BARU MALANG
105. PENGARUH VARIABEL MOTIVASI TERHADAP PRESTASI KERJA KARYAWAN PADA PERUSAHAAN ROKOK PT. BINTANG LIMA MANDIRI JOMBANG
106. PENGARUH KESELAMATAN/KESEHATAN KERJA DAN INSENTIF TERHADAP SEMANGAT KERJA KARYAWAN PADA PERUSAHAAN ROTI SALWA
DURENAN TRENGGALEK
107. FAKTOR KOMPENSASI YANG MEMPENGARUHI KEPUASAN KERJA KARYAWAN BAGIAN PRODUKSI PADA PABRIK ROKOK ARTO MORO MALANG
108. PENGARUH FAKTOR KESELAMATAN DAN KESEHATAN KERJA TERHADAP PRESTASI KERJA KARYAWAN BAGIAN PRODUKSI PERUSAHAAN PADA PT. KUTAI TIMBER INDONESIA PROBOLINGGO.
109. PENGARUH LINGKUNGAN KERJA TERHADAP PRODUKTIVITAS KERJA KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN MALANG INDAH GENTENG RAJAWALI
110. PENGARUH DISIPLIN KERJA TERHADAP PRESTASI KERJA KARYAWAN PADA PT. POS INDONESIA (PERSERO) LAWANG
111. PERANAN PENDIDIKAN DAN PELATIHAN SERTA MOTIVASI UNTUK MENINGKATKAN PRODUKTIVITAS KERJA PADA PERUSAHAAN PLASTIK “SIDO BANGUN” SINGOSARI MALANG
112. PENGARUH PEMBERIAN UPAH DAN INSENTIF TERHADAP HASIL PRODUKSI PADA UD. HARI JAYA MALANG
113. PENGARUH FAKTOR MOTIVASI TERHADAP PRESTASI KERJA KARYAWAN PADA HOTEL PELANGI MALANG
114. PENGARUH KEDISIPLINAN TERHADAP HASIL KERJA KARYAWAN BAGIAN PRODUKSI PADA PERUSAHAAN KONVEKSI MERCACI MERCANDHISE MALANG
115. PENGARUH PENDIDIKAN DAN PELATIHAN TERHADAP PENINGKATAN PRODUKTIVITAS KERJA PADA PT. ULTRA JAYA BEDALI LAWANG
116. PELAKSANAAN PENGENDALIAN PERSEDIAAN BAHAN BAKU GUNA MENUNJANG KELANCARAN PROSES PRODUKSI PADA PERUSAHAAN GARMENT PT. PANCAMITRA ICHIGOJAYA MALANG
117. ANALISIS PENGARUH FAKTOR–FAKTOR PERILAKU KEPEMIMPINAN TERHADAP KEPUASAN KERJA KARYAWAN PADA PT. ANINDITA MULTINIAGA INDONESIA DI SURABAYA
118. PERANAN PEMBERIAN INSENTIF NON MATERIAL UNTUK MENINGKATKAN PRODUKTIVITAS KERJA KARYAWAN BAGIAN PRODUKSI PADA PR. DJAGUNG PADI MALANG
119. PENGARUH INSENTIF FINANSIAL DAN NON FINANSIAL TERHADAP PRESTASI KERJA KARYAWAN PADA CV. BUDIONO CURING SAKTI KEDIRI
120. PENGARUH UPAH TERHADAP PRODUKTIVITAS KERJA KARYAWAN PADA PERUSAHAAN CV. JAYA SAKTI GRESIK

Kamis, 24 Juni 2010

Pengenalan UML

Pengenalan "Unified Modeling Language/UML"

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.
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 lain¬lainnya. 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. Ciri¬ciri 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.
Tekn i k 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 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 berbeda-beda. 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.
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 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 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 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 object- oriented dan software component.
3. 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 model-model, 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 d ilakukan 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).
a. Building blocks
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 benda-benda, dan diagram sebagai kumpulan / group dari benda-benda/things.
• 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 1.

Gambar 1. Sebuah Kelas dari model UML
Kedua, yang menggambarkan ‘interface’ merupakan sebuah antar-muka yang menghubungkan dan melayani antar kelas dan atau elemen. ‘Interface’ / antar¬muka 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.

ISpelling
Gambar 2. 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 sebuah kelas memungkinkan berpartisipasi didalam beberapa collaborations dan digambarkan dengan sebuah ‘elips’ dengan garis terpotong-potong.


Gambar 3. 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 4.

Gambar 4. 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 5.

Gambar 5. Nodes
• Hubungan / Relationship
Ada 4 macam hubungan didalam penggunaan UML, yaitu; dependency, association, generalization, dan realization.
Pertama, sebuah dependency adalah 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 gambar 6.
Gambar 6. Dependency

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 gambar 7.
0..1 *
employer employee
Gambar 7. 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 8.

Gambar 8. 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 gambar 9.

Gambar 9. Realizations
• 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, ya itu; 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.

Pengenalan "Unified Modelling Language/UML"
(Bagian II)
Dalam suatu proses pengembangan software, analisa dan rancangan telah merupakan terminologu yang sangat tua. Pada saat masalah ditelusuri dan spesifikasi dinegosiasikan, dapat dikatakan bahwa 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. Alasan mengapa UML digunakan adalah, pertama, scalability dimana objek lebih mudah dipakai untuk menggambarkan sistem yang besar dan komplek. Kedua, dynamic modeling, dapat dipakai untuk pemodelan sistem dinamis dan real time.
Sebagaimana dalam tulisan pertama, penulis menjelaskan konsep mengenai obyek, OOA&D (Obyek Oriented Analyst/ Design) dan pengenalan UML, maka dalam tulisan kedua ini lebih ditekankan pada cara bagaimana UML digunakan dalam merancang sebuah pengembangan software yang disertai gambar atau contoh dari sebuah aplikasi.
1. Use Case
Sebuah use case menggambarkan suatu urutan interaksi antara satu atau lebih aktor dan sistem. Dalam fase requirements, model use case mengambarkan sistem sebagai sebuah kotak hitam dan interaksi antara aktor dan sistem dalam suatu bentuk naratif, yang terdiri dari input user dan respon-respon sistem. Setiap use case menggambarkan perilaku sejumlah aspek sistem, tanpa mengurangi struktur internalnya. Selama pembuatan model use case secara pararel juga harus ditetapkan obyek-obyek yang terlibat dalam setiap use case.
Perhatikan satu contoh sederhana dari proses perbankan, yaitu mesin teller otomatis (Automated Teller Machine-ATM) yang memberikan kemudahan pada customernya untuk mengambil uang dari rekening bank secara langsung. Pada proses ini terdapat satu aktor, yaitu ATM Customer dan satu use case, yaitu Penarikan Dana. Proses ini dapat dilihat pada Gambar 1. Use case Penarikan Dana menggambarkan urutan interaksi antara customer dengan sistem, diawali ketika customer memasukan kartu ATM ke dalam mesin pembaca kartu dan akhirnya menerima pengeluaran uang yang dilakukan oleh mesin ATM.
2. Aktor
Sebuah aktor mencirikan suatu bagian outside user atau susunan yang berkaitan dengan user yang berinteraksi dengan sistem [Rumbaugh, Booch, dan Jacobson 1999]. Dalam model use case, aktor merupakan satu-satunya kesatuan eksternal yang berinteraksi dengan sistem.
Terdapat beberapa variasi bagaimana aktor dibentuk [Fowler dan Scott 1999]. Sebuah aktor sering kali merupakan manusia (human user). Pada sejumlah sistem informasi, manusia adalah satu-satunya aktor. Dan mungkin saja dalam sistem informasi, seorang aktor bisa saja menjadi suatu sistem eksternal. Pada aplikasi real-time dan distribusi, sebuah aktor bisa saja menjadi satu perangkat eksternal I/O atau sebuah alat pengatur waktu. Perangkat eksternal I/O dan pengatur waktu aktor secara khusus lazimnya berada dalam real-time yang tersimpan dalam sistem (real-time embedded systems), sistem berinteraksi dengan lingkungan eksternal melalui sensor dan aktuator.

Primary actor (aktor utama) memprakarsai sebuah use case. Jadi, suatu primary aktor memegang peran sebagai proaktif dan yang memulai aksi dalam sistem. Aktor lainnya yang berperan sebagai secondary aktor bisa saja terlibat dalam use case dengan menerima output dan memberikan input. Setidaknya satu aktor harus mendapatkan nilai dari use case. Biasanya adalah primary aktor (aktor utama). Bagaimanapun, dalam real-time embedded systems, primary aktor dapat berperan sebagai perangkat eksternal I/O atau pengatur waktu, penerima utama dari use case bisa menjadi secondary human aktor yang menerima sejumlah informasi dari sistem.

Gambar 1. Contoh aktifitas Aktor dan Use Case
Aktor manusia bisa saja menggunakan berbagai perangkat I/O untuk berinteraksi fisik dengan sistem. Aktor manusia dapat berinteraksi dengan sistem melalui perangkat standar I/O, seperti keyboard, display, atau mouse. Aktor manusia bisa juga berinteraksi dengan sistem melalui perangkat non-standar I/O seperti bermacam-macam sensor. Dalam keseluruhan hal tersebut, manusia merupakan aktor dan perangkat I/O adalah bukan aktor.
Perhatikan beberapa contoh human aktor (aktor manusia). Pada sistem perbankan, satu contoh aktor adalah manusia yang berperan sebagai teller yang berinteraksi dengan sistem melalui perangkat standar I/O, seperti keyboard, display, atau mouse. Contoh lainnya adalah manusia yang berperan sebagai customer yang berinteraksi dengan sistem melalui mesin teller otomatis (ATM). Dalam hal ini, customer berinteraksi dengan sistem dengan menggunakan beberapa perangkat I/O, termasuk perangkat pembaca kartu (card reader), pengeluar uang (cash dispenser), dan pencetak tanda terima (receipt printer), ditambah lagi keyboard dan display.
Pada beberapa kasus, bagaimana pun juga sebuah aktor bisa saja berupa perangkat I/O. Hal ini bisa terjadi ketika sebuah use case tidak melibatkan manusia, seperti yang sering terjadi pada aplikasi-aplikasi real-time. Dalam hal ini, I/O aktor berinteraksi dengan sistem melalui sebuah sensor. Contoh aktor yang merupakan perangkat input adalah Arrival Sensor pada Sistem Kontrol Elevator. Sensor ini mengidentifikasi elevator tersebut pada saat hendak mencapai lantai dan perlu dihentikan. Kemudian sensor tersebut menginisiasikan Stop Elevator at Floor use case. Aktor lain dalam Elevator Control System adalah orang yang berada dalam elevator (human passenger) yang berinteraksi dengan sistem melalui tombol-tombol nomor pada tingkat lantai dan tombol-tombol elevator. Input dari aktor secara aktual dideteksi melalui sensor-sensor tombol lantai dan sensor-sensor tombol elevator berturut-turut.
Aktor dapat pula menjadi sebuah alat pengukur waktu yang secara periodik
mengirimkan pengukuran waktu kejadian (timer events) pada sistem. Use case-

use case secara periodik diperlukan ketika beberapa informasi perlu di-output oleh sistem pada suatu basis reguler. Hal ini sangat penting dalam sistem-sistem real-time, dan juga sangat berguna dalam sistem informasi. Walaupun sejumlah metodologi menganggap pengukur waktu merupakan hal internal bagi sistem, dan akan lebih berguna dalam desain aplikasi real-time untuk memperhatikan pengukur-pengukur waktu sebagai eksternal logis bagi sistem dan menganggapnya sebagai primary aktor yang memulai aksi dalam sistem. Contohnya, pada sistem monitoring mobil, beberapa use case di-inisialisasi dengan suatu aktor pengukur waktu. Sebagai contoh dapat dilihat pada Gambar
2. Timer aktor mengawali Calculate Trip Speed use case, yang secara periodik menghitung rata-rata kecepatan melalui suatu jalan/ jejak dan menampilkan nilai ini ke driver. Dalam hal ini, pengukur waktu merupakan primary aktor (aktor utama) dan driver merupakan secondary aktor (aktor kedua).

Gambar 2. Contoh aktor pengukur waktu
Suatu aktor bisa juga menjadi sistem eksternal yang melakukan inisiatif (sebagai primary aktor) atau partisipan (sebagai secondary aktor) dalam use case. Satu contoh aktor sistem eksternal adalah pabrik robot dalam Automation System. Robot mengawali proses dengan use case Generate Alarm dan Notify, robot menggerakkan alarm conditions yang dikirim ke operator pabrik yang berkepentingan, yang telah terdaftar untuk menerima alarms. Dalam use case ini, robot merupakan primary aktor yang mengawali inisiatif use case, dan operator merupakan secondary aktor yang menerima alarms.
3. Identifikasi Use Case
Sebuah use case dimulai dengan masukan/input dari seorang aktor. Use case merupakan suatu urutan lengkap kejadian-kejadian yang diajukan oleh seorang aktor, dan spesifikasi interaksi antara aktor dengan sistem. Use case yang sederhana hanya melibatkan satu interaksi/hubungan dengan sebuah aktor, dan use case yang lebih kompleks melibatkan beberapa interaksi dengan aktor. Use cases yang lebih kompleks juga melibatkan lebih dari satu aktor.
Untuk menjabarkan use case dalam sistem, sangat baik bila dimulai dengan memperhatikan aktor dan actions/aksi yang mereka lakukan dalam sistem. Setiap use case menggambarkan suatu urutan interaksi antara aktor dengan sistem. Sebuah use case harus memberikan sejumlah nilai pada satu aktor.
Kemudian, kebutuhan fungsional sistem dijelaskan dalam use case yang merupakan suatu spesifikasi eksternal dari sebuah sistem. Bagaimanapun juga, ketika membuat use case, sangatlah penting menghindari suatu dekomposisi fungsional yang dalam beberapa use case kecil lebih menjelaskan fungsi-fungsi

individual sistem daripada menjelaskan urutan kejadian yang memberikan hasil yang berguna bagi aktor.
Perhatikan lagi contoh pada perbankan. Disamping penarikan melalui ATM, ATM Customer, aktor juga bisa menanyakan jumlah rekening atau mentransfer dana antar dua rekening. Karena terdapat fungsi-fungsi yang berbeda yang diajukan oleh customer dengan hasil-hasil guna yang berbeda, fungsi-fungsi pertanyaan dan pentransferan harus dibuat sebagai use case yang terpisah, daripada menjadi bagian dari original use case. Oleh karena itu, customer dapat mengajukan tiga use case seperti yang dapat dilihat di Gambar. 3; Withdraw Funds (Penarikan dana), Query Account, dan Transfer Funds (Pentransferan Dana).

Gambar 3: Aktor dan use case dalam sistem Bank
Urutan utama use case menjelaskan urutan interaksi yang paling umum antara aktor dan sistem. Dan mungkin saja terdapat cabang-cabang urutan use case utama, yang mengarah pada berkurangnya frekuensi interaksi antara aktor dengan sistem. Deviasi-deviasi dari urutan utama hanya dilaksanakan pada beberapa situasi, contohnya jika aktor melakukan kesalahan input pada sistem. Ketergantungan pada aplikasi kebutuhan, alternatif ini memecahkan use case dan kadang-kadang bersatu kembali dengan urutan utama. Cabang-cabang alternatif digambarkan juga dalam use case.
Dalam use case Withdraw Funds, urutan utama adalah urutan tahap-tahap dalam keberhasilan pelaksanaan penarikan (withdrawal). Cabang-cabang alternatif digunakan untuk mengarahkan berbagai error cases, seperti ketika kartu ATM tidak dikenali atau dilaporkan telah hilang dan lain sebagainya.
4. Pendokumentasian Model Use Case
Use case didokumentasi dalam use case model sebagai berikut:
• Use Case Name. Setiap use case diberi nama.
• Summary. Deskripsi singkat use case, biasanya satu atau dua kalimat.
• Dependency. Bagian ini menggambarkan apakah use case yang satu tergantung pada use case yang lain, dalam arti apakah use case tersebut termasuk pada use case yang lain atau malah memperluas use case lain.

• Actors. Bagian ini memberikan nama pada actor dalam use case. Selalu terdapat use case utama (primary use case) yang memulai use case. Disamping itu terdapat juga secondary use case yang terlibat dalam use case. Contohnya, dalam use case Withdraw Funds, ATM Customer adalah actor-nya.
• Preconditions. Satu atau lebih kondisi harus berjalan dengan baik pada permulaan use case; contohnya mesin ATM yang tidak jalan, menampilkan pesan Selamat Datang.
• Deskripsi. Bagian terbesar dari use case merupakan deskripsi naratif dari urutan utama use case yang merupakan urutan yang paling umum dari interaksi antara aktor dan sistem. Deskripsi tersebut dalam bentuk input dari aktor, diikuti oleh respon pada sistem. Sistem ditandai dengan sebuah kotak hitam (black box) yang berkaitan dengan apa yang sistem lakukan dalam merespon input aktor, bukan bagaimana internal melakukannya.
• Alternatif-alternatif. Deskripsi naratif dari alternatif merupakan cabang dari urutan utama. Terdapat beberapa cabang alternatif dari urutan utama. Contohnya, jika rekening customer terdapat dana yang tidak sesuai, akan tampil permohonan maaf dan menolak kartu.
• Postcondition. Kondisi yang selalu terjadi di akhir use case, jika urutan utama telah dilakukan; contohnya dana customer telah ditarik.
• Outstanding questions. Pertanyaan-pertanyaan tentang use case didokumentasikan untuk didiskusikan dengan para user.

BAB 3 Laporan PKL

BAB III
ANALISIS DAN PERANCANGAN


Pada bab ini, dibahas mengenai analisis dan perancangan dari program yang
dibuat.

3.1 Analisis Masalah
Program komputerisasi ini merupakan suatu aplikasi yang memiliki kemampuan sebagai berikut :
1. Dapat mengetahui jumlah obat yang di beli dalam kurun waktu tertentu (hari, bulan tahun).
2. Terdapat grafik yang menunjukan jumlah obat yang paling sering di beli oleh konsumen.

3.2 Jenis Perangkat Lunak Dan Perangkat Keras Yang Di Pakai
Untuk mengimplementasikan sistem yang telah dibuat dibutuhkan fasilitas dan peralatan yang mendukung beroperasinya sistem tersebut, karena sistem baru ini hanya berjalan jika didukung fasilitas dan peralatan seperangkat komputer, yaitu perangkat keras dan perangkat lunak komputer.


3.2.1 Jenis Perangkat Lunak Yang Dipakai
 Sistem operasi windows XP SP2 Profesional
 XAMPP 1.5.3
 Bahasa pemrograman PHP version 5.1.4
 Mozilla Firefox (2.0.0.11)

3.2.2 Jenis Perangkat Keras Yang Dipakai
 Personal Computer Processor : Intel(R) Pentium(R) 4 CPU 2.80GHz.
 Memory : 512 MB RAM.
 Harddisk : 80 GB.
 Monitor : Samsung 1024 x 768 (32 bit) (60Hz).
 VGA : 64 MB.









3.3 Strategi Pemecahan Masalah
Penulis merumuskan beberapa alternative pemecahan masalah untuk menyelesaikan masalah di atas, yaitu sebagai berikut :
1) Merancang prototype pelaporan yang dapat memudahkan pegawai bag pembelian (gudang).
2) Membangun sebuah aplikasi pelaporan yang menggunakan bahasa pemrograman open source sehingga bisa digunakan di berbagai sistem operasi (LINUX, UNIX, Macintosh, Windows).
3) Tidak semua orang bisa menggunakan aplikasi sistem pelaporan karena sistem hanya bisa di gunakan oleh pegawai bag pembelian yang sudah mempunyai hak akses.
Maka dengan adanya aplikasi ini diharapkan dapat meningkatkan efektifitas proses pembuatan laporan transaksi pada Apotek Otista.

3.4 Perancangan Berorientasi Objek
Perancangan ini dilakukan dengan menggunakan UML (Unified Modeling Language). UML adalah metode pemodelan secara visual sebagai sarana untuk merancang dan atau membuat software berorientasi objek. Karena UML ini merupakan bahasa visual untuk pemodelan bahasa berorientasi objek, maka semua elemen dan diagram berbasiskan pada paradigma object oriented.


3.5 Use Case Diagram
Use case diagram menentukan fungsionalitas yang diharapkan dari sebuah system. Sebuah use case mempresentasikan sebuah interaksi antara actor dengan system. Untuk membuat sebuah use case diagram terlebih dahulu tentukan actor yang terlibat dalam system.

1. Aktor
Untuk aktor yang terlibat dalam sistem ini , dapat dilihat pada tebel 3.1 berikut ini :
Tabel 3.1 Aktor yang ada pada use case
NO Aktor Definisi
1





Pegawai Bag Pembelian Pegawai bagian pembelian yang bertugas dapat melakukan :
1. Login
2. Pencatatan transaksi pembelian
3. Delete data
4. Pencarian data
5. Mencetak laporan
6. Logout
2 Distributor Yang melakukan pengiriman obat dan data obat yang di beli ke pihak apotek
2. Use case yang ada pada aplikasi ini adalah :
a. Pegawai Bag Pembelian : login, penginputan data, pengeditan data, cari data, mencetak data, logout.
b. Distributor : Melakukan pengiriman obat dan data obat yang di beli ke pihak apotek.

















3.6 Diagram Uce case





















3.6.1 Skenario
Skenario merupakan penjelasan lebih detail dari kasus (case) dari awal hingga akhirnya diperoleh sebuah output.
Tabel 3.2 use case login
Identifikasi Use Case Keterangan
Use case Name Login
Actor Admin
Brief Description Admin meng upload data informasi
Precondition Admin memasukan E-mail dan password yang telah ditntukan sebelumnya.
Main flow 1. Admin memasulan E-mail dan password kemudian menakan tombol Enter pada keyboad
Alternative flow Jika Admin Salah memasukan E-mail dan password salah atau tidak di isi maka akan muncul peringatan.
Post Condition Admin masuk kehalaman utama.




Tabel 3.3 use case Informasi Kecamatan
Identifikasi Use Case Keterangan
Use case Name Informasi Kecamatan
Actor Pegawai Admin
Brief Description Pegawai Admin meng Upload data Informasi
Precondition 1. Admin log in telah login
2. Halaman utama tampil dilayar
Main flow Admin memasukan ( upload ) data informasi dari bagian lain
Alternative flow Jika data telah selesai di Upload maka data sudah siap untuk di Publikasikan.




Tabel 3.4 use case delete Informasi
Identifikasi Use Case Keterangan
Use case Name Hapus Informasi
Actor Pegawai bag Admin
Brief Description Pegawai bag admin men delete data informasi yang ada dalam Web
Precondition 1. Pegawai bag admin telah login
2. Halaman utama tampil dilayar

Main flow Pegawai bag Admin menghapus informasi yang telah Upload
Alternative flow Jika data telah selesai di hapus maka akan tampil informasi bahwa data telah dihapus.


Tabel 3.5 use case cari data
Identifikasi Use Case Keterangan
Use case Name Cari data
Actor Pegawai bag pembelian
Brief Description Pegawai bag pembelian mencari data berdasarkan tanggal.
Precondition 1. Pegawai bag pembelian telah login
2. Halaman utama tampil dilayar
3.Jika tombol cari ditekan maka data dicari akan tampil.
Main flow Pegawai bag pembelian mencari data yang telah diinput.
Alternative flow Jika data dicari ada maka akan tampil,jika tidak tampil maka data tidak ada atau tidak ditemukan.
Post Condition Data yang dicari ditampilkan.







Tabel 3.6 use case cetak
Identifikasi Use Case Keterangan
Use case Name Cetak data
Actor Pegawai bag pembelian
Brief Description Pegawai bag pembelian mencetak laporan.
Precondition 1. Pegawai bag pembelian telah login
2.Halaman utama tampil dilayar
3.Jika tombol cetak ditekan maka akan langsung tampil perintah print dilayar.
Main flow Pegawai bag pembelian mencetak data yang telah diinput.
Alternative flow Jika data laporan yang akan dicetak maka akan otomatis print.
Post Condition Laporan dicetak.
Diagram use case menggambarkan aktor-aktor dan aktifitas-aktifitas yang terlibat dalam aplikasi yang ada pada Apotek Otista.

3.7 Diagram Kelas (class diagram)


















3.8 Diagram Statechart (Statechart Diagram)
Diagram statechart yang ada dapat dilihat pada gambar 3.3 sampai 3.7
1. Statechart diagram login



















2. Statechart diagram input data





















3. Statechart diagam hapus data





















4.Statechart diagram cari data





















5. Statechart diagram cetak laporan





















3.9 Diagram Aktifitas (Activity Diagram)
Diagram aktifitas yang ada dapat dilihat pada gambar 3.8 sampai gambar 3.12

1. Activity diagram login













Gambar 3.8 Activity diagram login



2. Activity diagram input data


















Gambar 3.9 Activity diagram input data


3. Activity diagram hapus data













Gambar 3.10 Activity diagram hapus data







4.Activty diagram cari data
















Gambar 3.11 Activity diagram cari data




2. Activity diagram cetak laporan















Gambar 3.12 Activity diagram cetak laporan





3.10 Diagram Sequence (Sequence Diagram)
Diagram sequence yang ada dapat dilihat pada gambar 3.13 sampai gambar 3.18

1. Sequence Diagram login















Gambar 3.13 Sequence diagram login

2. Sequence Diagram Input Data
















Gambar 3.14 Sequence diagram input data




3.Sequence Diagram hapus data
















Gambar 3.15 Sequence diagram hapus data




4.Sequence Diagram cari data

















Gambar 3.16 Sequence diagram cari data



5.Sequence Diagram cetak laporan

















Gambar 3.17 Sequence cetak laporan



6.Sequence Diagram Logout


















Gambar 3.18 Sequence diagram logout


3.11 Rancangan Antar Muka (User Interface)


1. Tampilan Login





Gambar 3.20 Perancangan Interface Login












2. Halaman Utama





















3. Halaman Data Transaksi


4. Halaman Data Transaksi


















4. Form Input Data Transaksi





















5. Form Cari Data Transaksi





















6. Halaman Data Obat





















7. Halaman Grafik

Materi 1 Teknik Simulasi

1.1 Tujuan Mempelajari Simulasi
• Melalui kuliah ini diharapkan kita dapat mempelajari suatu sistem dengan memanfaatkan komputer untuk meniru (to simulate) perilaku sistem tersebut.
1.2.Cara Mempelajari Sistem
• Sistem dapat dipelajari dengan pengamatan langsung atau pengamatan pada model dari sistem tersebut.
• Model dapat diklasifikasikan menjadi model fisik dan model matematik
• Model matematik ada yang dapat diselesaikan dengan solusi analitis, ada yang tidak. Bila solusi analitis sulit didapatkan maka digunakan SIMULASI



Eksperimen dengan model
Eksperimen
dengan sistem
sebenarnya



Model Fisik Model Matematik


Solusi Analitis SIMULASI

1.3. Manfaaat/Kelebihan Simulasi
Simulasi adalah satu-satunya cara yang dapat digunakan untuk mengatasi masalah, jika :
1. Sistem nyata sulit diamati secara langsung
Contoh : Jalur penerbangan pesawat ruang angkasa atau satelit.
2. Solusi Analitik tidak bisa dikembangkan, karena sistem sangat kompleks.
3. Pengamatan sistem secara langsung tidak dimungkinkan, karena : - sangat mahal

- memakan waktu yang terlalu lama
- akan merusak sistem yang sedang berjalan.
1.4. Kelemahan Simulasi
1. Simulasi tidak akurat.
Teknik ini bukan proses optimisasi dan tidak menghasilkan sebuah jawaban tetapi hanya menghasilkan sekumpulan output dari sistem pada berbagai kondisi yang berbeda. Dalam banyak kasus, ketelitiannya sulit diukur.
2. Model simulasi yang baik bisa jadi sangat mahal, bahkan sering dibutuhkan waktu bertahun-tahun untuk mengembangkan model yang sesuai.
3. Tidak semua situasi dapat dievaluasi dengan simulasi. Hanya situasi yang mengandung ketidak-pastian yang dapat dievaluasi dengan simulasi. Karena tanpa komponen acak semua eksperimen simulasi akan menghasilkan jawaban yang sama.
4. Simulasi menghasilkan cara untuk mengevaluasi solusi, bukan menghasilkan cara untuk memecahkan masalah.
Jadi sebelumnya perlu diketahui dulu solusi atau pendekatan solusi yang akan diuji.
1.5. Aplikasi Model Simulasi
• Design dan analisa sistem manufaktur
• Mengetahui kebutuhan sofware dan hardware untuk sebuah sistem komputer.
• Mengevaluasi sistem persenjataan baru, dalam bidaang militer
• Menentukan pengaturan dalam sistem inventory/persediaan.
• Mendesign sistem transportasi
• Mendesign sistem komunikasi
• Mengevaluasi sistem pelayanan dalam bidang perbankan.
• Mengevaluasi sistem ekonomi dan finansial.
Contoh : Simulasi Monte Carlo

Berikut merupakan tabel data umur server untuk komputer.
Umur (bln) Prob (%)
1 10
2 15
3 25
4 20
5 15
6 10
7 5

Buat simulasi yang menggambarkan penggantian server komputer selama 2 tahun
Solusi
> Buat tabel interval bil.random
Umur(bln) Prob Total Prob
1 0,10 0,10
2 0,15 0,25
3 0,25 0,50
4 0,20 0,70
5 0,15 0,85
6 0,10 0,95
7 0,05 1,00

> Buat simulasi :
Sampai dengan akhir thn ke 2 , terjadi pergantian server sebanyak 9 kali
i Xi Ui=Xi/m Umur(bln) Total
1 6 0,375 3 3
2 1 0,063 1 4
3 8 0,500 3 7
4 11 0,688 4 11
5 10 0,625 4 15
6 5 0,313 3 18
7 12 0,750 5 23
8 15 0,938 7 30
9 14 0,875 6 36

Sabtu, 19 Juni 2010

Bidang Pengembangan Sistem Pakar

Written by Mr. Endi on March 15, 2009 – 12:49 am -

Ada banyak area atau wilayah yang menjadi daerah kerja AI yaitu jaringan saraf sistem persepsi, robotik, bahasa ilmiah, sistem pendukung keputusan, sistem informasi berbasis manajemen dan sistem pakar. Tiap daerah kerja AI memiliki potensi dalam memecahkan masalah, tetapi keunggulan utama ada dalam bentuk pengetahuan dari pakar manusia secara heuristik dalam sistem pakar. Heuristik sendiri berasal dari bahasa Yunani yaitu Eureka yang berarti menemukan. Heuristik dalam sistem pakar tidak menjamin hasil semutlak sistem kecerdasan buatan lainnya, tetapi menawarkan hasil yang spesifik untuk dimanfaatkan karena sistem pakar berfungsi secara konsisten seperti seorang pakar manusia, menawarkan nasihat kepada para pemakai dan menemukan solusi terhadap berbagai permasalahan yang spefisik.

Ada berbagai kategori pengembangan sistem pakar, antara lain:

1. Kontrol. Contoh pengembangan banyak ditemukan dalam kasus pasien di rumah sakit, di mana dengan kemampuan sistem pakar dapat dilakukan kontoro terhadap cara pengobatan dan perawatan melalui sensor data atau kode alarm dan memberikan solusi terapi pengobatan yang tepat bagi si pasien yang sakit.

2. Desain. Contoh sistem pakar di bidang ini adalah PEACE yang dibuat oleh
Dincbas pada tahun 1980 untuk membantu disain pengembangan sirkuit elektronik. Contoh lain adalah sistem pakar untuk membantu desain komputer dengan komponen-komponennya.

3. Diagnosis. Pengembangan sistem pakar terbesar adalah di bidang diagnosis penyakit, diagnosis kerusakan mesin kendaraan bermotor, diagnosis kerusakan komponen komputer, dan lain-lain.

4. Intruksi. Intruksi merupakan pengembangan sistem pakar yang sangat berguna dalam bidang ilmu pengetahuan dan pendidikan, di mana sistem pakar dapat memberika instruksi dan pengajaran tertentu terhadap suatu topik permasalahan. Contoh pengembangan sistem pakar di bidang ini adalah sistem pakar untuk pengajaran bahasa Inggris, sistem pakar untuk pengajaran astronomi dan lain-lain.

5. Interpretasi. Sistem pakar yang dikembangkan dalam bidang interpretasi melakukan proses pemahaman akan suatu situasi dari beberapa informasi yang direkam. Contoh sistem yang dikembangkan dewasa ini adalah sistem untuk melakukan sensor gambar dan suara kemudian menganalisanya dan kemudian membuat suatu rekomendasi berdasarkan rekaman tersebut.

6. Monitor. Sistem pakar dibidang ini banyak digunakan militer, yaitu menggunakan sensor radar kemudian menganalisanya dan menentukan posisi obyek berdasarkan posisi radar tersebut.

7. Perencanaan. Perencanaan banyak digunakan dalam bidang bisnis dan keuangan suatu proyek, di mana sistem pakar dalam membuat perencanaan suatu pekerjaan berdasarkan jumlah tenaga kerja, biaya dan waktu sehingga pekerjaan lebih efisien dan lebih optimal.

8. Prediksi. Sistem pakar ini mampu memprediksi kejadian masa mendatang berdasarkan informasi dan model permasalahan yang dihadapi. Biasanya sistem memberikan simulasi kejadian masa mendatang tersebut, misalnya memprediksi tingkat kerusakan tanaman apabila terserang hama dalam jangka waktu tertentu. Program ini dibuat pada tahun 1983 oleh Boulanger dengan nama PLANT.

9. Seleksi. Sistem pakar dengan seleksi mengidentifikasikan pilihan kemungkinan solusi. Biasanya sistem mengidentifikasikan permasalahan secara spesifik, kemudian mencoba untuk menemukan solusi yang paling mendekati kebenaran.

10. Simulasi. Sistem ini memproses operasi dari beberapa variasi kondisi yang ada dan menampilkan dalam bentuk simulasi. Contoh adalah program PLANT yang sudah menggabungkan antara prediksi dan simulasi, di mana program tersebut mampu menganalisa hama dengan berbagai kondisi suhu dan cuaca.

Bahas pemrograman juga menentukan pengembangan sistem pakar di bidang-bidang yang disebutkan di atas. Pada tahun 1970-an di mana sistem operasi masih berbasis teks, pengembangan sistem pakar hanya memanfaatkan bahasa pemrograman seperti Prolog, LISP atau Shell sehingga pengembangan sistem pakar pada waktu itu menjadi sangat sulit. Faktor kesulitan tersebut juga dipengaruhi oleh kecepatan prosesor dan memori yang masih sangat terbatas sehingga sistem pakarhanya dapat dikembangkan pada komputer-komputer workstation.

Berbeda dengan pengembangan komputer pada tahun-tahun awal AI berkembang, dewasa ini komputer telah memiliki kecepatan GigaHertz dan didukung oleh perkembangan perangkat keras yang maupun perangkat lunak yang sangat canggih. Perkembangan yang sangat menarik adalah perkembangan pemrograman Visual berorientasi objek yang mampu mengolah database dalam jumlah data yang sangat besar. Perkembangan perangkat lunak ini tentunya sangat membantu pengembangan secara luas terhadap sistem-sistem berbasis kecerdasan buatan, termasuk sistem pakar.

Sabtu, 22 Mei 2010

Object Oriented Programming PHP 5 - Bagian 1

PHP merupakan server-side scripting untuk membangun halaman web dinamis yang sangat populer saat ini dan powerful. Keunggulan PHP adalah pada kemudahan dalam penulisan program dan dukungan extension library yang sangat banyak terutama dalam hal koneksi database. Salah satu keunggulan PHP yang lain adalah penulisan kode dalam style Object Oriented Programming atau biasa juga disingkat OOP. Style OOP sudah didukung sejak PHP 3, tetapi mulai versi 5 style OOP PHP ditulis ulang kembali agar lebih mendekati kepada prinsip-prinsip OOP yang sebenarnya seperti munculnya modifier public, protected, private, abstract dsb. OOP pada PHP 5 mirip dengan OOP pada Java.

Apa sih Object Oriented Programming itu? OOP mudahnya adalah membangun sebuah aplikasi dengan menggunakan object (objek). Mari kita analogikan sebuah aplikasi sebagai sebuah Mobil. Mobil dibangun oleh komponen-komponen pendukungnya (objek) seperti ban, mesin, rangka mobil, setir dan komponen-komponen lainnya. Setiap komponen mempunyai fungsinya masing-masing dan saling mendukung satu sama lain, agar sebuah mobil dapat berjalan dengan baik. Hal seperti ini kemudian kita implementasikan dalam pembangunan aplikasi dimana kita membangun aplikasi dengan menggunakan objek-objek yang telah kita buat sebelumnya. Pengenalan lebih lanjut mengenai konsep OOP dapat dilihat di sini.

Untuk membuat sebuah objek maka kita harus mendeklarasikan terlebih dahulu Blue-Print atau prototype dari object tersebut. Prototype dari sebuah objek dalam terminologi pemrograman disebut class (kelas). Di bawah ini adalah contoh sebuah deklarasi kelas dengan sebuah variabel dan sebuah metode.


class kelasKucing
{
var nama_kucing = '';

// metode untuk memberikan nama pada kucing

function setNamaKucing($isi_nama_kucing)
{
$this->nama_kucing = $isi_nama_kucing;
}


// metode untuk mengetahui nama kucing
function getNamaKucing()
{
return $this->nama_kucing;
}

}

?>



Source code di atas mendeklarasikan sebuah kelas (Blue-Print) dengan nama kelasKucing. Kelas ini nantinya akan menghasilkan sebuah objek "kucing". Salah satu metode kelas ini adalah metodeSetNamaKucing yang fungsinya adalah memberikan nama untuk objek kucing nantinya. WARNING!! Jangan samakan kelas dengan objek, objek merupakan hasil cetakan dari sebuah kelas.

Untuk membuat sebuah objek dari dari kelasKucing, maka kita harus meng-instantiate kelasKucing atau mudahnya mencetak sebuah objek dari kelasKucing. Contohnya bisa dilihat pada contoh di bawah ini :


require 'kelasKucing.inc.php';

// buat objek kucing pertama
$blacky = new kelasKucing();
// kasih nama buat kucing baru kita

$blacky->setNamaKucing('blacky');
// siapakah nama kucing yang baru kita buat
echo "Nama kucing pertama kita adalah : ".$blacky->getNamaKucing;


// buat objek kucing kedua
$kitty = new kelasKucing();
// kasih nama buat kucing baru kedua kita
$kitty->setNamaKucing('kitty');
// siapakah nama kucing yang baru kita buat

echo "Nama kucing kedua kita adalah : ".$kitty->getNamaKucing;

?>



Perbedaan paling mendasar pada OOP di PHP 5 dengan versi PHP sebelumnya adalah pada akses kepada properti dan metode dari kelas. Pada PHP 4, semua properti kelas bisa diakses secara public (dari manapun) dan semua metode kelas bisa diakses secara static tanpa harus membuat objek dari kelas terlebih dahulu. Pada PHP 5 sudah diperkenalkan modifier-modifier properti dan metode seperti halnya Java dan C++. Beberapa diantaranya yang penting adalah :

* PUBLIC Ini artinya setiap properti atau metode bisa diakses secara langsung oleh program lain diluar kelas.
* PROTECTED Ini artinya setiap properti atau metode hanya bisa diakses oleh kelas itu sendiri dan bisa diakses oleh kelas lain yang meng-inherit kelas tersebut.
* PRIVATE Ini artinya setiap properti atau metode hanya bisa diakses oleh kelas itu sendiri.

Contoh implementasi modifier ini bisa dilihat pada source code di bawah ini :


class kelasKucing
{
private nama_kucing = '';
private tahun_lahir_kucing;
protected usia_kucing;
public gender_kucing = '';


public function setNamaKucing($isi_nama_kucing)
{
$this->nama_kucing = $isi_nama_kucing;
}


public function setTahunLahirKucing($isi_tahun_lahir_kucing)
{
$this->tahun_lahir_kucing = $isi_tahun_lahir_kucing;
}


protected function hitungUsiaKucing()
{
if ($this->tahun_lahir_kucing AND ) {

$this->usia_kucing = (integer)date("Y") - $this->tahun_lahir_kucing
}

}


}

// buat objek kucing
$arie = new kelasKucing();
// metode setNamaKucing dan setTahunLahir bisa dipanggil

// langsung oleh objek karena sifatnya public
// kasih nama untuk si kucing
$arie->setNamaKucing("arie");
// tahun lahir si kucing
$arie->setTahunLahir(1982);


// syntax di bawah ini benar
// karena properti gender_kucing bersifat public
$arie->gender_kucing = "laki-laki"

// syntax di bawah ini salah dan akan memunculkan error
// properti usia_kucing bersifat private

$arie->usia_kucing = 20;
// properti nama_kucing bersifat private
echo "Nama kucing kita adalah : ".$arie->nama_kucing;


?>



Bisa dilihat bahwa implementasi OOP pada PHP 5 sudah sangat advanced dan pada kenyataan sudah banyak extension library ataupun fungsi-fungsi di PHP 5 yang menggunakan model OOP untuk penggunaannya. Salah satunya adalah fungsi mysql improved (mysqli) yang menyediakan style komunikasi database mysql dalam bentuk OOP. Sampai sini dulu pengenalan pada OOP PHP 5, see you on next articles with same topics.

Object Oriented Programming PHP 5 - Bagian 1

PHP merupakan server-side scripting untuk membangun halaman web dinamis yang sangat populer saat ini dan powerful. Keunggulan PHP adalah pada kemudahan dalam penulisan program dan dukungan extension library yang sangat banyak terutama dalam hal koneksi database. Salah satu keunggulan PHP yang lain adalah penulisan kode dalam style Object Oriented Programming atau biasa juga disingkat OOP. Style OOP sudah didukung sejak PHP 3, tetapi mulai versi 5 style OOP PHP ditulis ulang kembali agar lebih mendekati kepada prinsip-prinsip OOP yang sebenarnya seperti munculnya modifier public, protected, private, abstract dsb. OOP pada PHP 5 mirip dengan OOP pada Java.

Apa sih Object Oriented Programming itu? OOP mudahnya adalah membangun sebuah aplikasi dengan menggunakan object (objek). Mari kita analogikan sebuah aplikasi sebagai sebuah Mobil. Mobil dibangun oleh komponen-komponen pendukungnya (objek) seperti ban, mesin, rangka mobil, setir dan komponen-komponen lainnya. Setiap komponen mempunyai fungsinya masing-masing dan saling mendukung satu sama lain, agar sebuah mobil dapat berjalan dengan baik. Hal seperti ini kemudian kita implementasikan dalam pembangunan aplikasi dimana kita membangun aplikasi dengan menggunakan objek-objek yang telah kita buat sebelumnya. Pengenalan lebih lanjut mengenai konsep OOP dapat dilihat di sini.

Untuk membuat sebuah objek maka kita harus mendeklarasikan terlebih dahulu Blue-Print atau prototype dari object tersebut. Prototype dari sebuah objek dalam terminologi pemrograman disebut class (kelas). Di bawah ini adalah contoh sebuah deklarasi kelas dengan sebuah variabel dan sebuah metode.


class kelasKucing
{
var nama_kucing = '';

// metode untuk memberikan nama pada kucing

function setNamaKucing($isi_nama_kucing)
{
$this->nama_kucing = $isi_nama_kucing;
}


// metode untuk mengetahui nama kucing
function getNamaKucing()
{
return $this->nama_kucing;
}

}

?>



Source code di atas mendeklarasikan sebuah kelas (Blue-Print) dengan nama kelasKucing. Kelas ini nantinya akan menghasilkan sebuah objek "kucing". Salah satu metode kelas ini adalah metodeSetNamaKucing yang fungsinya adalah memberikan nama untuk objek kucing nantinya. WARNING!! Jangan samakan kelas dengan objek, objek merupakan hasil cetakan dari sebuah kelas.

Untuk membuat sebuah objek dari dari kelasKucing, maka kita harus meng-instantiate kelasKucing atau mudahnya mencetak sebuah objek dari kelasKucing. Contohnya bisa dilihat pada contoh di bawah ini :


require 'kelasKucing.inc.php';

// buat objek kucing pertama
$blacky = new kelasKucing();
// kasih nama buat kucing baru kita

$blacky->setNamaKucing('blacky');
// siapakah nama kucing yang baru kita buat
echo "Nama kucing pertama kita adalah : ".$blacky->getNamaKucing;


// buat objek kucing kedua
$kitty = new kelasKucing();
// kasih nama buat kucing baru kedua kita
$kitty->setNamaKucing('kitty');
// siapakah nama kucing yang baru kita buat

echo "Nama kucing kedua kita adalah : ".$kitty->getNamaKucing;

?>



Perbedaan paling mendasar pada OOP di PHP 5 dengan versi PHP sebelumnya adalah pada akses kepada properti dan metode dari kelas. Pada PHP 4, semua properti kelas bisa diakses secara public (dari manapun) dan semua metode kelas bisa diakses secara static tanpa harus membuat objek dari kelas terlebih dahulu. Pada PHP 5 sudah diperkenalkan modifier-modifier properti dan metode seperti halnya Java dan C++. Beberapa diantaranya yang penting adalah :

* PUBLIC Ini artinya setiap properti atau metode bisa diakses secara langsung oleh program lain diluar kelas.
* PROTECTED Ini artinya setiap properti atau metode hanya bisa diakses oleh kelas itu sendiri dan bisa diakses oleh kelas lain yang meng-inherit kelas tersebut.
* PRIVATE Ini artinya setiap properti atau metode hanya bisa diakses oleh kelas itu sendiri.

Contoh implementasi modifier ini bisa dilihat pada source code di bawah ini :


class kelasKucing
{
private nama_kucing = '';
private tahun_lahir_kucing;
protected usia_kucing;
public gender_kucing = '';


public function setNamaKucing($isi_nama_kucing)
{
$this->nama_kucing = $isi_nama_kucing;
}


public function setTahunLahirKucing($isi_tahun_lahir_kucing)
{
$this->tahun_lahir_kucing = $isi_tahun_lahir_kucing;
}


protected function hitungUsiaKucing()
{
if ($this->tahun_lahir_kucing AND ) {

$this->usia_kucing = (integer)date("Y") - $this->tahun_lahir_kucing
}

}


}

// buat objek kucing
$arie = new kelasKucing();
// metode setNamaKucing dan setTahunLahir bisa dipanggil

// langsung oleh objek karena sifatnya public
// kasih nama untuk si kucing
$arie->setNamaKucing("arie");
// tahun lahir si kucing
$arie->setTahunLahir(1982);


// syntax di bawah ini benar
// karena properti gender_kucing bersifat public
$arie->gender_kucing = "laki-laki"

// syntax di bawah ini salah dan akan memunculkan error
// properti usia_kucing bersifat private

$arie->usia_kucing = 20;
// properti nama_kucing bersifat private
echo "Nama kucing kita adalah : ".$arie->nama_kucing;


?>



Bisa dilihat bahwa implementasi OOP pada PHP 5 sudah sangat advanced dan pada kenyataan sudah banyak extension library ataupun fungsi-fungsi di PHP 5 yang menggunakan model OOP untuk penggunaannya. Salah satunya adalah fungsi mysql improved (mysqli) yang menyediakan style komunikasi database mysql dalam bentuk OOP. Sampai sini dulu pengenalan pada OOP PHP 5, see you on next articles with same topics.