Kamis, 27 September 2012

MATERI KULIAH MANAJEMEN PROYEK

Berikut ini materi mata kuliah Manajemen Proyek yang diampu oleh bapak Budi Wijayanto kelompok A12.4703.
Untuk mahasiswa yang belum sempat menggandakan materinya atau siapa saja yang membutuhkan silakan men-download disini. Semoga bermanfaat.
agp-1-01.doc
agp-1-02.doc
agp-1-03.doc
agp-1-04.doc
agp-1-05.doc
agp-1-06.doc
agp-1-07.doc
agp-1-09.doc
agp-1-10.doc
agp-1-11.doc
agp-1-12.doc
agp-1-13.doc
Module7-ManajemenProyek.pdf
SISTEMATIKATUGAS.doc

Jumat, 14 September 2012

METODOLOGI PENGEMBANGAN SISTEM


Metodologi Pengembangan Sistem merupakan proses-proses standard yang digunakan untuk membangun suatu sistem informasi yang secara umum meliputi langkah-langkah berikut ini:
·         Analisa,
·         Desain,
·         Implementasi,
·         Maintenance.
Pada perkembangannya, proses-proses standar tadi dituangkan dalam beberapa metodologi pengembangan sistem, antara lain :

A.  SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)
Merupakan proses evolusioner yang diikuti dalam menerapkan sistem atau subsistem informasi berbasis komputer. SDLC sering disebut sebagai pendekatan air terjun (Waterfall approach) bagi pengembangan dan penggunaan sistem.
Tahapan SDLC :
1.  Identifikasi dan seleksi proyek
Langkah pertama dalam SDLC, keseluruhan informasi yang dibutuhkan oleh sistem diidentifikasi, dianalisa, diprioritaskan dan disusun ulang. Dalam langkah ini dilakukan beberapa hal, diantaranya :
·      Mengidentifikasi proyek-proyek yang potensial
·      Melakukan klasifikasi dan me-rangking proyek
·      Memilih proyek untuk dikembangkan
2.  Inisiasi dan perencanaan proyek
Dalam tahapan ini proyek Sistem Informasi yang potensial dijelaskan dan argumentasi untuk melanjutkan proyek dikemukakan. Rencana kerja yang matang juga disusun untuk menjalankan tahapan-tahapan lainnya.
3.  Analisa
Meliputi 6 aktifitas utama dalam fase ini, yakni :
·   Pengumpulan informasi
·   Mendefinisikan sistem requirement
·   Membangun prototype untuk menemukan requirement
·   Memprioritaskan requitement
·   Menyusun dan mengevaluasi alternatif
·   Mereview requiremen dengan pihak manajemen
4.  Desain
Pada tahapan ini deskripsi dari requirement yang telah direkomendasikan diubah ke dalam spesifikasi desain logical dan fisikal.
·  Desain logical :
Bagian dari fase desain dalam SDLC dimana semua fitur-fitur fungsional dari sistem dipilih dari tahapan analisis dideskripsikan terpisah dari platform komputer yang nanti digunakan.
·  Desain Fisikal :
Pada bagian ini spesifikasi logical diubah ke dalam detail teknologi dimana pemrograman dan pengembangan sistem bisa diselesaikan.
5.  Implementasi
Tahapan kelima pada SDLC, dimana pada tahapan ini dilakukan beberapa hal yaitu:
·   Coding
·   Testing
·   Instalasi
6.  Maintenance
Langkah terakhir dari SDLC dimana pada tahapan ini sistem secara sistematis diperbaiki dan ditingkatkan.

Kelebihan dari SDLC antara lain :
  • Merupakan model pengembangan sistem paling handal dan paling lama digunakan
  • Cocok untuk sistem berskala besar dan bersifat generic
  • Pengerjaan pengembangan akan terjadwal dengan baik dan mudah dikontrol.
Sedangkan kelemahan dari SDLC antara lain :
  • Terlalu mahal (biaya dan waktu) ketika terjadi perubahan ketika sistem sudah dikembangkan.
  • SDLC merupakan metode dengan pendekatan terstruktur yang mensyaratkan mengikuti semua langkah yang ada.
  • Biaya maintenace cukup besar.


B.  PROTOTYPING
Prototyping merupakan proses iterative dalam pengembangan sistem dimana requirement diubah ke dalam sistem yang bekerja (working system) yang secara terus-menerus diperbaiki melalui kerjasama antara user dan analis.
Tahapan Prototyping :
1.  Pengumpulan kebutuhan
Pelanggan dan  pengembang bersama-sama mendefinisikan  format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan  dibuat.
2.  Membangun prototyping
Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format output)
3.  Evaluasi protoptyping
Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah  sesuai dengan keinginann pelanggan. Jika sudah sesuai maka langkah 4 akan diambil. Jika tidak prototyping direvisi dengan mengulangi langkah 1, 2 , dan 3.
4.  Mengkodekan sistem
Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa  pemrograman yang sesuai
5.  Menguji sistem
Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu sebelum digunakan.  Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur dan lain-lain
6.  Evaluasi Sistem
Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang  diharapkan. Jika ya, langkah 7 dilakukan; jika tidak, ulangi langkah 4 dan 5.
7.  Menggunakan sistem
Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.

Kelebihan dari Prototyping antara lain :
  • Pendefinisian kebutuhan pemakai menjadi lebih baik karena keterlibatan pemakai yang lebih intensif.
  • Meningkatkan kepuasan pemakai dan mengurangi risiko pemakai tidak menggunakan sistem mengingat keterlibatan mereka yang sangat tinggi sehingga sistem memenuhi kebutuhan mereka dengan lebih baik.
  • Mempersingkat waktu pengembangan.
  • Memperkecil kesalahan disebabkan pada setiap versi prototipe, kesalahan segera terdeteksi oleh pemakai.
  • Pemakai memiliki kesempatan yang lebih banyak dalam meminta perubahan-perubahan.
  • Menghemat biaya (menurut penelitian, biaya pengembangan dapat mencapai 10% hingga 20% dibandingkan kalau menggunakan SDLC tradisional).
Sedangkan kelemahan dari Prototyping antara lain :
  • Prototipe hanya bisa berhasil jika pemakai bersungguh-sungguh dalam menyediakan waktu dan pikiran untuk menggarap prototype.
  • Kemungkinan dokumentasi terabaikan karena pengembang lebih berkonsentrasi pada pengujian dan pembuatan prototype.
  • Mengingat target waktu yang pendek, ada kemungkinan sistem yang dibuat tidak lengkap dan bahkan sistem kurang teruji.
  • Jika terlalu banyak proses pengulangan dalam membuat prototipe, ada kemungkinan pemakai menjadi jenuh dan memberikan reaksi yang negatif.
  • Apabila tidak terkelola dengan baik, prototipe menjadi tak pernah berakhir. Hal ini disebabkan permintaan terhadap perubahan terlalu mudah untuk dipenuhi.
C.  RAD (Rapid Application Development)
Merupakan model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat) dan menekankan pada siklus pembangunan pendek, singkat, dan cepat.
Tahapan RAD :
1. Business Modeling
2. Data modeling
3. Process Modeling
4. Application Generation
5. Testing dan Turnover


Kelebihan dari RAD antara lain :
  • Setiap fungsi mayor dapat dimodulkan dalam waktu tertentu kurang dari 3 bulan dan dapat dibicarakan oleh tim RAD yang terpisah dan kemudian diintegrasikan sehinnga waktunya lebih efesien.
  • RAD mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada  (reusable object) sehingga pengembang pengembang tidak perlu membuat dari awal lagi dan waktu lebih singkat .
Sedangkan kelemahan dari RAD antara lain :
  • Proyek yang besar dan berskala, RAD memerlukan sumer daya manusia yang memadai untuk menciptakan jumlah tim yang baik.
  • RAD menuntut pengembang dan pelanggan memiliki komitmen dalam aktivitas rapid fire yang diperlukan untuk melengkapi sebuah sistem dlam waktu yang singkat. Jika komitmen tersebut tidak ada maka proyek RAD akan gagal.


Perbandingan secara umum antara SDLC, Prototyping dan RAD :

KATEGORI
SDLC
PROTOTYPING
RAD
(System Development Life Cycle)
(Rapid Application Development)
Waktu
Relatif Lama
Cepat
Relatif cepat
Biaya
Biaya besar
Biaya murah
Biaya besar
Sumber Daya Manusia
SDM banyak
SDM sedikit
SDM banyak
Desain dan Dokumentasi
Desain dan Dokumentasi bagus
Desain dan dokumentasi kurang bagus
Desain dan Dokumentasi bagus
Orientasi
Berorientasi pada masalah
Berorientasi pada hasil/output
Berorientasi pada strategi
Kapasitas sistem yang digunakan
Sistem besar
Sistem kecil
Jangkauan Sistem besar


Jumat, 27 April 2012

OBJECT ORIENTED PROGRAMMING (OOP) dalam PHP

         OOP (Object Oriented Programming) atau PBO (Pemrograman Berorientasi Objek) merupakan pemrograman yang berorientasi kepada objek. Semua data dan fungsi di dalam pemrograman ini dibungkus dalam kelas-kelas atau objek-objek. PHP mendukung pemrograman berorientasi objek dimulai sejak PHP 4. Dengan lahirnya PHP 5, fitur-fitur pemrograman berorientasi objek disempurnakan kembali sehingga semakin mantap dan semakin cepat untuk mengatasi kompleksitas masalah yang tidak bisa dilakukan pada PHP versi sebelumnya.

          Dapat didefinisikan bahwa class merupakan struktur data dari suatu objek, lebih jelasnya adalah sebuah bentuk dasar yang mendefinisikan variabel dan method. Objek sendiri adalah kumpulan variabel dan fungsi yang dihasilkan dari template khusus atau disebut class

      Setiap class memiliki properties yang kadang disebut juga attributes. Properties merupakan sebuah identitas/karakter khusus sebuah kelas, sebagai contoh class mahasiswa pasti memiliki nim dan nama. Di dalam class, properties dinyatakan dengan sebuah variabel. misalnya $nim dan $nama. 
      Method atau behavior adalah fungsi-fungsi apa yang bisa dilakukan oleh object. Misalkan pada class mahasiswa bisa melakukan belajar, mencetak dan lain-lain. 
          Penamaan properties dan method memiliki aturan yang sama dengan penamaan sebuah variabel. Akan tetapi berdasarkan kesepakatan, penamaan properties dan method harus menggunakan camel Caps, dimana tiap kata diawali dengan huruf besar kecuali kata pertama, setiap kata digabung tanpa spasi atau under-score (_). 
          Dalam bahasa pemrograman lain seperti Java, file program harus disimpan dengan nama yang sama dengan nama class-nya. Halnya dengan PHP, kita dapat memberikan nama yang tidak harus sama. 

Bentuk umum untuk mendefinisikan sebuah class adalah sebagai berikut :


 Contoh :


           Penjelasan dari coding tersebut adalah : class tersebut kita beri nama mahasiswa. Class mahasiswa memiliki 2 variabel yaitu $nim dan $nama. Selain itu class mahasiswa juga memiliki sebuah fungsi yaitu cetakData(). Variabel $this pada fungsi cetakData() mengacu pada object tersebut. Untuk menggunakan class ini, kita gunakan kata kunci new di depan nama class sehingga akan terbentuk sebuah object baru berdasarkan class ini. Contohnya adalah sebagai berikut : 


      Object $ketua dan $wakil merupakan object dari class mahasiswa. Yang perlu diperhatikan adalah bahwa object $ketua dan $wakil memiliki $nim dan $nama yang berbeda namun tetap memiliki struktur yang sama. Untuk mengakses isi dari suatu object adalah dengan menggunakan tanda ->. 


      Sedangkan Konstruktor berisi pemberian nilai default dari masing-masing variabel, namun dalam satu class hanya boleh ada satu konstruktor. Konstruktor akan secara otomatis dijalankan saat object terbentuk. Pembuatan konstruktor adalah dengan cara mendefinisikan fungsi dengan nama __construct(). 


Contohnya :






Berikut ini adalah contoh program pendefinisian class dan pemanggilan class :