Selasa, 24 September 2019

Proyek, Manajemen, dan Manajemen Proyek Perangkat Lunak


Proyek adalah suatu pekerjaan yang diadakan dengan waktu yang sudah ditentukan, mempunyai tujuan khusus, dan menjadi sumber uang. Hal yang membedakan proyek dengan pekerjaan lain adalah sifatnya yang khusus dan tidak bersifat rutin pengadaannya, sehingga pengelolanyapun memerlukan perhatian extra lebih banyak. Sedangkan manajemen adalah sebuah proses untuk mengatur sesuatu yang dilakukan oleh sekelompok orang atau organisasi untuk mencapai suatu dengan cara bekerja sama memanfaatkan sumber daya yang dimiliki.
Secara mendasar, manajemen proyek adalah proses pengelolaan proyek yang meliputi perencanaan, pengorganisasian, dan pengaturan tugas-tugas serta sumber daya yang dimiliki untuk mewujudkan tujuan yang ingin dicapai, dengan mempertimbangkan faktor-faktornya, terutama waktu dan biaya.
Suatu proyek besar, tentunya akan dikelola dengan banyak perencanaan dan strategi. Maka, diperlukanlah cara memanajemen yang baik. Dalam lingkup demikian, strategi yang digunakan umumnya adalah :
  • Pemilihan tugas-tugas menjadi unit-unit kecil yang lebih mudah dikelola, tentu saja dengan tetap mempertimbangkan unsur efisiensinya.
  • Penjadwalan pelaksanaan tugas seoptimal mungkin dengan mempertimbangkan sumber daya yang ada, yaitu pekerja, waktu, peralatan, dana, material, metode pelaksanaan, maupun lingkup-lingkup yang ada.
  • Penelusuran pelaksanaan pekerjaan dengan pengukuran kemajuan (progress) dalam selang waktu dan periode tertentu.
Secara sederhana, manajemen proyek dapat disusun dengan menjawab pertanyaan-pertanyaan berikut :
  • Apa yang harus dikerjakaan ?
  • Apa dan siapa yang harus menyelesaikan tugas-tugas yang ada ?
  • Sampai kapan waktu yang tersedia ?
  • Bagaimana pembiayaannya ?
  • Apa yang terjadi apabila proyek terlambat selesai ? atau bahkan gagal ?
Secara bertahap, manajemen proyek dapat dipilih menjadi beberapa fase proses, yaitu :
  1. Perencanaan dan penyusunan jadwal. Tahap ini adalah tahap paling penting karena didalamnya terdapat proses penentuan tugas dan durasinya serta penentuan hubungannya dengan tugas-tugas lainnya. Tahap-tahap lainnya sangat bergantung pada data yang terdapat pada tahap awal ini.
  2. Pengelolaan perubahan. Selama melaksanakan proyek, seringkali diperlukan penyesuaian antara rencana dengan kenyataan yang ada. Hal ini mungkin saja terjadi karena ada factor yang tidak dapat diperkirakan sebelumnya, seperti kebijakan politik pemerintah setempat dan sebagainya. Untuk itu diperlukan suatu cadangan sumber daya untuk mengatasinya. Yang perlu diperhatikan adalah tingkat toleransi yang dicanangkan. Jika ternyata masih diperlukan penyesuaian yang melebihi persediaan toleransi maka harus dicarikan alternative pemecahannya, disinilah benar-benar diperlukan kemampuan manajemen yang handal.
  3. Publikasi informasi proyek. Semua bagian yang terkait dengan proyek, baik diluar apalagi didalam tubuh organisasi proyek, mutlak harus tau informasin tentang proyek. Untuk itu diperlukan sarana publikasi yang beragam, misalnya laporan kemajuan, rapat regular, rapat lapangan, penerbitan buletin, majalah dinding dan seterusnya. Sebuah divisi pengolahan data harus mampu menghasilkan informasi yang valid dan selalu terbaru akan sangat mendukung dalam hal ini. Penggunaan perangkat komputer baik software maupun hardware sangat diperlukan. Contohnya dengan menggunakan LAN, WAN, dengan software Microsoft project, primavera, dan lain-lain.
        Manajemen Proyek Perangkat Lunak adalah aktifitas dalam memanajemen rekayasa perangkat lunak, dimulai sebelum aktifitas teknis di inisialisasi dan berlanjut pada keseluruhan batasan, perkembangan dan pemeliharaan perangkat lunak komputer serta controlling dengan menggunakan resource yang ada untuk membuat perangkat lunak dalam jangka waktu tertentu untuk memenuhi kebutuhan.
        Pentingya Manajemen Proyek karena ada tingkat kegagalan yang sangat tinggi antara proyek-proyek. Di hampir setiap organisasi, proyek mengambil lebih banyak waktu dan uang untuk melaksanakan daripada yang diantisipasi atau sistem selesai tidak bekerja dengan benar. Ketika suatu proyek tesebut tidak memenuhi harapan atau biaya terlalu banyak untuk mengembangkan, perusahaan mungkin tidak menyadari manfaat dari investasi proyek mereka, dan sistem mungkin tidak dapat memecahkan masalah yang itu dimaksudkan. Pengembangan sistem baru harus hati-hati dikelola dan diatur, dan cara proyek dijalankan mungkin menjadi faktor yang paling penting yang mempengaruhi hasilnya. Itulah mengapa penting untuk memiliki beberapa pengetahuan tentang mengelola proyek dan alasan mengapa mereka berhasil atau gagal.
Manajemen proyek penting karena mempengaruhi:
1.     Kualitas Produk
a.    Pemilihan proyek
b.    Spesifikasi produk
c.    Kebutuhan performansi operasi
d.   Reaksi/respon pemakai
2.     Waktu dan Sumber Daya
     Tujuan Manajemen Proyek Perangkat Lunak adalah untuk menyediakan sebuah kerangka kerja yang memungkinkan manajer membuat estimasi yang dapat dipertanggung jawabkan mengenai sumber daya, biaya dan jadwal. Estimasi dibuat dengan sebuah kerangka waktu yang terbatas pada awal sebuah proyek perangkat unak dan seharusnya diperbarui secara teratur selagi proyek sedang berjalan. Sebagai tambahan, estimasi akan berusaha mendefinisikan scenario kasus terbaik dan kasus terburuk. Tujuan perencanaan dicapai melalui suatu proses penemuan informasi yang menuju ke estimasi yang dapat diprtanggung jawabkan.
  Hal-hal yang terlibat didalam Manajemen Proyek antara lain yaitu durasi (time frame), tenaga kerja (work force), tugas pekerjaan (task), resiko (risk), portfolio, dan kolaborasi (collaboration).
Ada 3 fokus manajemen proyek perangkat lunak (PL) :
1.  People (manusia), mempertinggi kesiapan organisasi PL untuk mengerjakan aplikasi yang semakin kompleks. Perencanaan sumber daya manusia memulai dengan mengevaluasi ruang lingkup serat memilih kecakapan yang dibutuhkan untuk menyelesaikan pengembangan. Baik posisi organisasi (seperti manajer, perekayasa perangkat lunak senior, dan lain-lain) maupun specialty (seperti telekomunikasi, data base, client/server) ditentukan. Untuk proyek yang sangat kecil (6 person- month atau kurang), seorang individu dapat melakukan semua langkah rekayasa perangkat lunak, berkonsultasi dengan spesialis bila diperlukan. Jumlah manusia yang diperlukan untuk sebuah proyek perangkat lunak dapat ditentukan hanya setelah sebuah estimasi usaha pengembangan (seperti person-mount atau person-year) dibuat.
2.  Problem (masalah), objektifitas dan ruang lingkupnya harus ditetapkan, pemecahan alternatifnya harus dipertimbangkan, teknik dan batasanpun harus didefinisikan
3.   Process (proses), memberikan suatu kerangka kerja dimana rencana komprehensif bagi pengembangan perangkat lunak.
Hampir semua proyek perangkat lunak (PL) dapat dikatakan mengalami kegagalan, walaupun hanya di bagian tertentu saja. Hal ini dikarenakan, hanya sedikit saja proyek yang dapat memenuhi semua target yang ditetapkan baik dari sisi harga, jadwal waktu penyelesaian, kualitas maupun kebutuhan yang diinginkan pengguna (user) (yayuk, 2007). Menurut saya, pengerjaan perangkat lunak memiliki proses yang terbilang sulit dan jauh lebih bermasalah. Penyebabnya yaitu pengerjaan yang terbilang lama bahkan sering tertunda, revisi yang banyak, permintaan kualitas yang berubah-ubah sesuai keinginan stakeholder, stakeholder yang tidak mengetahui keinginan perangkat lunak yang diinginkan secara rinci seperti apa dan bagaimana, dan bahkan dibatalkan secara tiba-tiba tanpa ada pertanggungjawaban.


Senin, 03 Desember 2018

Entity Relationship Diagram ( ERD )


Assalamualaikum... Hallo semua, lama sudah saya tidak memposting hal hal seputar basis data nih. nah tanpa banyak basa basi lagi kali ini saya akan membahas apa sih ERD , ternary, unary dan binary itu? hmmm... bagi kalian yang bertanya-tanya, langsung saja simak pembahasannya yaa.

   1. ERD ( Entity Relationship Diagram )

         ERD itu sendiri ialah suatu teknik pemodelan data yang menunjukkan hubungan antar entitas yang membentuk suatu struktur yang logis.

A. Entitas

Entiti ataupun yang disebut dengan entitas yaitu berupa atau beberapa objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain. Lambang dari entitas biasanya digambarkan dengan persegi panjang.







     Dalam entitiy terbagi menjadi 2 jenis, yaitu strong entity dan weak entity. Strong entity adalah suatu entitas yang dapat berdiri sendiri tanpa ada bantuan atribut dari entitas lain, contohnya pegawai. Sedangkan weak entity yaitu entitas yang memerlukan bantuan dari atribut entitas lain contohnya gaji dari pegawai.

B. Atribut

Tiap entitas memiliki elemen yang disebut atribut yang fungsinya untuk mendes-kripsikan karakteristik dari entitas tersebut. Dalam satu entitas dapat diisi dengan beberapa atributIsi dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain. Gambar atribut diwakili oleh simbol elips.


 

  •    Atribut Key

Atribut Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data ( Row/Record ) dalam tabel secara unik. Dikatakan unik jika pada atribut yang dijadikan key tidak boleh ada baris data dengan nilai yang sama
Contoh : Plat kendaraan, pin dan nomor pokok lainnya
  •     Atribut simple

Atribut ini disebut juga atribut yang  tidak bisa dipecah/ dipilah lagi dan atribut yang terdiri dri komponen tunggal Contoh : Alamat, penerbit, tahun terbit, judul buku.

  •     Atribut Multivalue

Nilai dari suatu atribut yang mempunyai lebih dari satu (multivalue) nilai dari atrribute yang bersangkutan. Contoh :




  •    Atribut Composite



            Atribut composite adalah suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu yang masih bisah dipecah lagi atau mempunyai sub attribute ataupun atribut yang terdiri dari beberapa atribut-atribut sederhana. Contoh :






  •   Atribut Derivatif

Atribut yang tidak harus disimpan dalam database Ex. Total. atau atribut yang dihasilkan dari  atribut lain atau dari suatu relationship. Atribut ini dilambangkan dengan    bentuk oval yang  bergaris putus-putus.



C.  Hubungan / Relasi

Hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Derajat relasi atau kardinalitas rasio. Menjelaskan jumlah maksimum hubungan antara satu entitas dengan entitas lainnya. Lazimnya relasi dilambangkan dengan

 



·      One to One (1:1)

Setiap anggota entitas A hanya boleh berhubungan dengan satu anggota entitas B, begitu pula sebaliknya.

·      One to many (1:M / Many)

Setiap anggota entitas A dapat berhubungan dengan lebih dari satu anggota entitas B tetapi tidak sebaliknya
.
·      Many to Many (M:M)

     Setiap entitas A dapat berhubungan dengan banyak entitas himpunan entitas B dan demikian pula sebaliknya



 



D. Unary, Ternary dan Binary

  Sebuah Relationship memiliki derajat (degree) berdasarkan jumlah entitas yang terhubung antara lain: Unary, Binary, Ternary dan Quaternary.
1.  Unary
   Tipe hubungan ini berbarti hubungan yang terjadi antara dirinya sendiri dlam sebuah entitas; contohnya: entitas Pegawai yang memiliki Relationship Supervisor. Pegawai yang menjadi Supervisor juga berasal dar entitas yang sama yaitu Pegawai sedangkan entitas yang dituju juga pada entitas Pegawai.

2.  Binary
   Tipe hubungan ini antara dua entitas; contohnya: entitas Pegawai dan entitas Kantor Cabang.

3.  Ternary
   Tipe hubungan ini antara tiga entitas; contohnya :entitas Sales, Produk dan Pelanggan yang memiliki sebuah Relationship yang bernama Penjualan.


Sumber :



Minggu, 30 September 2018

Abstraksi Data, Struktur Basis Data, Degree dan Kardinalitas/Derajat Relasi



ABSTRAKSI DATA DALAM ARSITEKTUR DBMS
 Abstraksi data merupakan bagaimana cara melihat data dalam sebuah sistem basis data pada setiap tingkatan/levelnya. Basis data merepresentasikan pandangan yang berbeda kepada: pengguna (user), programmer dan administrator. Arsitektur atau abstraksi data dalam DBMS dikenal dengan istilah arsitektur tiga skema (three schema architecture). Fungsi skema in adalah untuk memisahkan antara fisik basis data dan program aplikasi pemakai. Berikut tingkatannya dari terendah hingga tertinggi.
1. Level Fisik
Level ini merupakan level terendah di dalam abstraksi data, menunjukkan bagaimana. Pada level ini, pengguna melihat data sebagai gabungan struktur berikut datanya sendiri dan mengetahui bagaimana bentuk dari penyimpanan dan pengorganisasian data, seperti teks, angka, atau sebagai kumpulan bitbit data. Level ini biasanya dilakukan oleh DBMS atau sistem operasi yang dipakai.
2. Level Konseptual
Merupakan level kedua, menggambarkan data yang tersimpan (secara fungsional) dalam basis data beserta hubungan atau relasinya di dalam suatu basis data. Sebagai contoh : data penjualan disimpan atau implementasikan dalam tabel barang, produksi, keuangan, marketing, dan sebagainya. Level konseptual ini dipakai oleh Administrator Database (DBA) dalam memutuskan informasi apa yang harus diletakkan dalam basis data.
3. Level Pandangan
Merupakan level tertinggi dari abstraksi data. pada level ini, pengguna hanya mengenal struktur data yang sederhana, yang berorientasi pada kebutuhan pengguna.  
 Output setiap abstraksi data yaitu memberikan gambaran struktur logis basis data

STRUKTUR DATA

Berikut pengertian-pengertian dari setiap item dari gambar diatas :
1. Characters
Characters merupakan bagian terkecil, dapat berupa karakter numeric, huruf ataupun karakter-karakter khusus (special characters) yang membentuk suatu item data/field.
2. Field
Field merupakan presentasi suatu atribut dari record yang menunjukkan suatu item data/field, seperti misalnya nama, alamat, dan lain sebagainya. Kumpulan dari field membentuk suatu record.
·  Field Name : harus diberi nama untuk membedakan field yang satu dengan yang lain.
· Field Representation : tipe field (karakter, teks, tanggal, angka, dan sebagainya), lebar field (ruang maksimum yang dapat diisi dengan karakter-karakter data).
· Field Value : isi dari field untuk masing-masing record.
3. Record
Record yaitu kumpulan dari  field  membentuk suatu recordRecord menggambarkan suatu unit data individu yang tertentu. Kumpulan dari record membentuk suatu file atau tabel.

4. File
File merupakan sekumpulan dari record-record yang menggambarkan satu kesatuan data yang sejenis.
5. Database
Database merupakan kumpulan dari file/tabel yang membentuk suatu database.

 PENJELASAN DEGREE



 Unary Degree (Derajat Satu) melibatkan sebuah entitas yang berelasi dengan dirinya sendiri.
 Binary Degree (Derajat Dua) melibatkan sebuah entitas yang berelasi dengan dua entitas.     
• Ternary Degree (Derajat Tiga) melibatkan sebuah entitas yang berlesasi dengan lebih dua entitas.





KARDINALITAS/ DERAJAT RELASI

Kardinalitas biasanya didefenisikan sebagai penunjuk jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Kardinalitas relasi merujuk kepada hubungan maksimum yang terjadi dari himpunan entitas yang satu ke himpunan entitas yangn lain dan begitu juga sebaliknya. Kardinalitas relasi yang terjadi diantara dua himpunan entitas dapat berupa :

·         Satu ke satu (one to one)



·         Satu Ke banyak (One to Many)




·         Banyak ke satu ( Many to One)


Yang artinya setiap entitas pada himpunan entitas A berhubungan dengan paling banyak satu entitas pada himpunan entitas B, tetapi tidak sebaliknya.

·         Banyak to banyak (Many to Many)




·  DIAGRAM ENTITY RELATIONSHIP ( ERD )
Model ERD berisi komponen-komponen himpunan entitas dan himpunan relasi yang masing-masing dilengkapi dengan atribut-atribut yang mempresntasikan seluruh fakta.
TAHAPAN PEMBUATAN ERD:
1. Tahap pembuatan diagram E-R awal (preliminary Design) yaitu :
·   Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat
·  Menentukan atribut-atribut key dari masing-masing himpunan entitas.
·   Mengidentifikasi dan menetapkan seluruh himpunan relasi diantara himpunan entitas yang ada beserta foreign key.
·  Menentukan derajat/kardinalitas relasi untuk setiap himpunan relasi.
·  Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut.

Sumber :