Rabu, 30 Desember 2020

GITHUB SEBAGAI KONFIGURASI PENGEMBANGAN PERANGKAT LUNAK

Pengertian

Git merupakan sistem pengontrol versi yang dikembangkan oleh Linus Torvalds (yang juga menciptakan dan mengembangkan Linux).Pada saat developer membuat proyek baru, mereka selalu dan akan terus-menerus melakukan pembaruan terhadap kodenya. Bahkan setelah proyeknya online, developer tetap harus mengupdate versinya, memperbaiki bug, menambahkan fitur baru, dan lain sebagainya.GitHub adalah sebuah aplikasi berbasis website dengan Version Control System (VCS) yang menyediakan layanan untuk menyimpanrepository dengan gratis. Respository merupakan tempat yang dapat Anda gunakan untuk menyimpan berbagai file berupa source code. Aplikasi ini termasuk sangat populer dan banyak digunakan termasuk oleh perusahaan-perusahaan besar skala gunia seperti Facebook, Google, dan Twitter.

Sistem pengontrol versi membantu para developer dalam melacak perubahan yang mereka lakukan terhadap basis kode. Tak hanya itu, sistem ini juga mencatat siapa saja yang membuat perubahan serta me-restorekode yang telah dihapus atau dimodifikasi.Karena Git menyimpan banyak salinan kode di repositori, maka tidak ada kode yang saling tertimpa. Silakan baca artikel ini untuk mengetahui lebih banyak tentang Git.


Fungsi

Seperti yang sudah dijelaskan sebelumnya, aplikasi dengan basis website ini berfungsi untuk membantu penyimpanan repository. Namun tak hanya itu, dengan aplikasi ini Anda juga dapat melakukan kolaborasi dalam mengerjakan project tertentu agar dapat terus melakukan update secara rutin, termasuk melacak dan menyimpan perubahan-perubahan yang terjadi dalamproject Anda tersebut.

Aplikasi ini tidak hanya dapat digunakan oleh para programmer atau orang-orang yang sedang memiliki project saja. Aplikasi ini dapat digunakan secara luas oleh siapa saja, termasuk oleh Anda yang saat ini sedang mencari pekerjaan. Aplikasi ini memiliki laman profil yang akan memuat data probadi Anda, seperti foto, email, bahkan followers yang Anda miliki. Informasi-informasi yang dimuat dalam profil Anda ini akan menarik pihak lain untuk mengajak Anda bekerjasama dalam sebuah project.

Secara lebih sederhana, beberapa fungsi dari GitHub adalah antara lain:

1. Dapat digunakan untuk menyimpanrepository.

2. Menjadi wadah atau alat untuk kolaborasi dan mengerjakan sebuahproject.

3. Memuat profil Anda sehingga dapat mengikuti programmer lainnya di aplikasi ini.

4. Dapat untuk mengawasi repositorytertentu.


Repositori atau repo adalah direktori penyimpanan file proyek. Di sini, Anda bisa menyimpan apa pun yang berkaitan dengan proyek yang sedang dibuat, misalnya file kode, gambar, atau audio. Repo sendiri bertempat di penyimpanan atau storage GitHub atau repositori lokal di komputer Anda.

Branch, merupakan salinan dari repositori milik Anda. Branch digunakan ketika Anda hendak melakukan suatu pengembangan atau development secara terpisah.

Pekerjaan atau task yang dilakukan di branch tidak akan memengaruhi repositori pusat atau branch lainnya. Jika pengembangannya sudah selesai, Anda bisa menggabungkan branch saat ini ke branch lainnya dah juga repositori pusat dengan menggunakan pull request.

Pull Request, adalah ketika Anda menginformasikan user bahwa Anda sudahpush perubahan yang dilakukan di branch kemaster repositori. Collaborator repositori akan menerima atau menolak pull request. Segera setelah pull request diterima, Anda bisa mendiskusikan dan mengulas proyek bersama dengan collaborator.

Berikut beberapa langkah untuk membuat pull request di GitHub:

  1. Masuk ke repositori dan cari menubranch.
  2. Di menu branch, pilih branch yang menyimpan commit Anda.
  3. Klik opsi New pull request yang ada di samping menu branch.
  4. Masukkan judul dan deskripsi pull request.
  5. Klik opsi Create pull request.


Forking Repositori

Forking repositori artinya Anda membuat proyek baru berdasarkan repositori yang sudah ada. Dalam kalimat yang lebih sederhana, forking repo berarti Anda menyalin repositori yang sudah ada, kemudian membuat beberapa perubahan yang diperlukan, lalu menyimpan versi terbarunya sebagai repositori baru, dan menjadikannya proyek Anda sendiri.

Fitur ini akan memperbaiki serta meningkatkan pengembangan proyek yang dilakukan. Karena proyek hasil forking masih baru, maka tidak akan terjadi apa-apa di repositori pusat. Perubahan yang dilakukan di repositori masterjuga dapat diterapkan di forking Anda saat ini.

Berikut dua langkah untuk forking repositori GitHub:

  1. Cari repositori yang ingin di-forking.
  2. Klik opsi Fork.

Cara Menggunakan GitHub

1.Pastikan Anda Sudah Login ke Aplikasi

Langkah pertama yang harus Anda lakukan untuk bisa menggunakan GitHub adalahdengan masuk ke webstie terlebih dahulu. Apabila Anda belum memiliki akun GitHub, Anda dapat membuat akun atau mendaftarkan diri terlebih dahulu. Saat membuat akun, Anda akan diminta beberapa data pribadi seperti nama, alamat email, dan melakukan verifikasi langsung.

2. Buatlah Repository di Akun GitHub

Setelah berhasil masuk ke GitHub, Anda dapat langsung memulai untuk membuat repository. Caranya adalah, Anda dapat langsung klik tombol New pada menu Repositorie. Setelah itu, Anda akan diarahkan menuju halaman yang digunakan untuk membuat repository.

Saat akan membuat repository baru, Anda akan diminta untuk mengisi beberapa detail informasi seperti berikut ini:

3. Nama Repository

Buatlah nama sesuai dengan isi repository yang akan Anda buat.

4. Deskripsi Repository

Bagian ini berfungsi untuk memberikan penjelasan mengenai repository yang Anda buat.

5. Macam Repository 

Pada bagian ini Anda dapat memilih macamrepository, Public atau Private. Anda dapat mengaturnya sesuai dengan keinginan Anda. Memilih pengaturan Public  berarti orang lain dapat mengakses repository Anda. Sebaliknya, apabila Anda tidak ingin repository tersebut diakses oleh orang lain maka Anda dapat mengaturnya menjadi Private.

Setelah memastikan ketiga informsi di atas sudah terisi dengan benar, Anda dapat klikCreate Repository untuk membuat repository baru.

6. Buatlah Folder pada Windows Anda

Folder local disk pada komputer Anda ini akan berfungsi untuk menyimpan update file darirepository yang telah Anda buat apabila terjadi perubahan tertentu. Setelah folder tersebut berhasil dibuat, selanjutnya buka folder dengan klik kanan mouse dan pilih Git Bash Here. Setelah itu, Anda dapat mengubah folder tersebut menjadi repository.

7.Memasukkan File ke Repository

Untuk dapat menambahkan atau memasukkan file ke dalam repository Anda, berikut ini langkah-langkah yang dapat Anda lakukan :

a. Buatlah file di folder yang sebelumnya sudah Anda buat (Test Git).

b. Selanjutnya, bukalah bagian GitBash sesuai perintah.

Baca juga: 15+ Website Belajar Coding Gratis Terbaik Untuk Pemula

8. Buatlah Commit

Commit pada GitHub adalah fitur yang berfungsi untuk membantu Anda dalam menambahkan update file dan komentar, serta untuk membantu setiap pihak mengkonfirmasi update file di proyek yang sedang dikerjakan.

9. Remote Repository

File yang sebelumnya sudah Anda buat di local disk dapat diupload dengan Remote repository

10. Lakukan Push ke GitHub

Setelah semua tahapan sudah Anda lakukan, maka langkah terakhirnya adalah melakukan push ke ini akan berfungsi untuk mengunggah hasil akhir dari langkah-langkah yang sebelumnya sudah dilakukan.

Setelah itu, Anda dapat melakukan pengecekan pada repository yang telah Anda buat untuk memastikan apakah file-file yang telah ditambahkan telah masuk sesaui dengan yang Anda inginkan.

KONFIGURASI PENGEMBANGAN PERANGKAT LUNAK

Manajemen Konfigurasi Perangkat Lunak atau biasa disebut Software Configuration Management adalah serangkaian aktifitas penelusuran dan pengendalian yang dimulai ketika proyek berjalan sampai tidak dioperasikan lagi. Sebuah aktifitas untuk mengidentifikasi konfigurasi dari sebuah sistem dengan tujuan untuk mengontrol perubahan secara sistematik terhadap konfigurasi, pemeliharaan integritas dan pengulangan dari konfigurasi seluruhnya selama daur hidup sistem.

Konsep dari manajemen konfigurasi menggunakan semua item untuk di kontrol meskipun ada beberapa perbedaan antara manajemen konfigurasi perangkat keras dan perangkat lunak. Pada bagian ini kita akan menjelaskan sebuah perincian dari konsep-konsep manajemen konfigurasi perangkat lunak, dengan deskripsi yang jelas dari setiap konsep.

Beberapa elemen dari Manajemen Konfigurasi Software (SCM)Software Configuration Management) antara lain sebagai berikut

1. Component elements, sekumpulan dari tool yang dipasarkan dengan manajemen sistem data (seperti database) yang memungkinkan akses ke data tersebut dan melakukan pengaturan terhadap setiap item konfigurasi software.

2. Prosess elements, merupakan kumpulan dari prosedur dan tugas yang mendefinisikan pendekatan yang efektif untuk melakukan manajemen perubahan melibatkan semua yang terlibat dalam manajemen.

3. Construction elements, kumpulan dari tool-tool yang mengautomasi pembuatan software dengan memastikan validasi komponen yang layak (misalnya, versi yang benar).

4. Human elements, untuk mengimplementasikan SCM yang efektif, tim software harus menggunakan sekumpulan feature tool dan proses.

Elemen-elemen tersebut tidak saling eksklusif. Sebagai contoh, component elements bekerja bersamaan dengan construction elemens ketika proses perangkat lunak berjalan. Process elements memandu banyak aktivitas manusia yang terkait dengan SCM dan karenanya dapat dianggap sebagai human elements juga.

1. SCM Repository

SCM (Software Configuration Management) repository adalah sekumpulan mekanisme dan struktur data yang mengijinkan tim software untuk mengatur perubahan dalam cara yang effective. SCM repositoty menjalankan fungsi-fungsi berikut:

a. Integritas data (data integrity)

b. Berbagi inforasi (information sharing)

c. Intergrasi tool (tool integration)

d. Integrasi data (data integration)

e. Penegakan methodologi (methodology enforcement)

f. Standardisasi dokumen (document standardization)

Repository feature merupakan fitur-fitur yang dapat digunakan untuk melakukan fungsi dari pengaturan konfigurasi software. Berikut adalah beberapa feature dari SCM repository:

Versioning Pada feature versioning, dilakukan penyimpanan semua versi software untuk memungkinkan pengaturan secara efektif untuk produk yang akan direlease dan untuk mengijinkan developer untuk kembali ke versi sebelumnya.

Dependency tracking and change management, Repository mengatur hubungan yang sangat beragam antar data elemet yang disimpan di dalamnya.

Requirement tracing, Menyediakan kemampuan untuk melakukan pelacakan semua perancangan dan konstruksi komponen yang dihasilkan dari proses spesifikasi requirement.

Configuration managemen, Menjaga track dari sekumpulan konfigurasi yang merepresentasikan milestone dari proyek tertentu.

Audit trails, menetapkan informasi tambahan mengenai kapan, bagaimana dan oleh siapa perubahan dibuat.

MANAJEMEN KUALITAS PROYEK PERANGKAT LUNAK

Manajemen kualitas perangkat lunak adalah proses manajemen yang bertujuan untuk mengembangkan dan mengelolakualitas perangkat lunak sedemikian rupa untuk memastikan produk memenuhi standar kualitas yang diharapkan oleh pelanggan sekaligus memenuhi semua persyaratan peraturan dan pengembang yang diperlukan, jika ada. Manajer kualitas perangkat lunak memerlukan perangkat lunak untuk diuji sebelum dirilis ke pasar, dan mereka melakukannya dengan menggunakan penilaian kualitas berbasis proses siklus untuk mengungkap dan memperbaiki bug sebelum dirilis. Tugas mereka tidak hanya memastikan perangkat lunak mereka dalam kondisi yang baik bagi konsumen, tetapi juga mendorong budaya kualitas di seluruh perusahaan.

Terdapat tiga aktivitas utama dari manajemen kualitas proyek antara lain sebagai berikut

1. Perencanaan kualitas (Quality Planning)

Mmengidentifikasikan standard kualitas yang sesuai dengan disain proyek dan bagaimana memuaskannya.

a. Jaminan kualitas (Quality Assurance), evaluasi periodic terhadap keseluruhan performa proyek untuk memastikan proyek akan memuaskan standard kualitas yang relevan.

b. Pengendalian kualitas (Quality Control), memonitor  hasil proyek tertentu untuk memastikan hasil tersebut sesuai denga standard kualitas relevan serta mengidentifikasikan cara untuk meningkatkan kualitas keseluruhan.

Software disebut berkualitas jika bisa mengerjakan apa yang diinginkan oleh pemakainya, memakai sumber daya komputer secara benar dan efisien, mudah untuk dipelajari dan digunakan oleh pemakainya, dan pengembang perangkat lunak bisa mendesain, menuliskan source code, melakukan uji coba (testing) dan memelihara (maintain) sistem tanpa kesulitan yang berarti.

Software quality factors dari Hewlett-Packard

a. Functionality : diukur denganmengevaluasi fasilitas dan kemampuan dari program

b. Usability : diukur dari faktor manusia yang memakai sistem (estetika, konsistensi dan dokumentasi)

c. Reliability : dievaluasi dengan mengukur frekuensi kegagalan (error), akurasi output, MTBF(mean time between failure) dan kemampuan mengatasi error

d. Performance : diukur dari kecepatan proses, respon, pemakaian sumber daya dan efisiensi

Supportability : gabungan dari extensibility, adaptability dan serviceability (ketiganya lebih dikenal dengan istilah maintainability) beserta testability, compatibility, configurability, kemudahan instalasi dan identifikasi problem

TIM PROYEK PERANGKAT LUNAK

 SEDANG DIPERBAIKI..

RESIKO PENGEMBANGAN PROYEK PERANGKAT LUNAK

Manajemen Risiko Proyek

Adalah sebuah proses sistematis untuk merencanakan, mengidentifikasi, menganalisis, danmerespon risiko proyek. Tujuannya untuk meningkatkanpeluang dan dampak peristiwa positif, dan mengurangipeluang dan dampak peristiwa yang merugikan proyek.

Manajemen resiko proyek adalah seni danilmu untuk mengidentifikasi, menganalisis,dan menanggapi resiko di seluruh kehidupansuatu proyek dan kepentingan terbaik tujuanpertemuan proyek. Manajemen resiko sering terabaikan dalamproyek, tetapi dapat membantumeningkatkan kesuksesan proyek denganmembantu proyek-proyek baik inisiasi,lingkup proyek, dan mengembangkanperkiraan realistis.

1. Perencanaan Manajemen Risiko

a.  Proses memutuskan bagaimana mendekati dan melaksanakan aktivitas manajemen risiko

b. Memastikan tingkat, tipe, dan visibilitas manajemen risiko yang setara dengan risiko dan kepentingan proyek bagi organisasi

c.  Menyediakan sumberdaya dan waktu yang memadai untuk aktivitas manajemen risiko.

d. Menetapkan basis yang disepakati untuk mengevaluasi risiko.


2. Identifikasi risiko

a. Menentukan risiko-risiko yang mempengaruhi proyek dan mendokumentasikan karakteristiknya.

b. Peserta yang terlibat: manajer proyek, anggota tim proyek, anggota manajemen risiko, ahli teknis diluar tim proyek, customer, end user, dan ahli manajemen risiko.

c. Merupakan proses iteratif karena risiko-risiko baru mungkin diketahui sebagai kemajuan proyek melalui siklus hidupnya.


3. Analisis Risiko Kualitatif

a. Menilai prioritas risiko teridentifikasi menggunakan peluang terjadinya dan dampaknya terhadap tujuan proyek bila risiko itu terjadi

b. Menilai faktor-faktor lain seperti kerangka waktu dan tolerasi risiko dari kendala biaya, jadwal, ruang lingkup, dan mutu.


4. Analisis Risiko Kuantitatif

a. Dikerjakan berdasarkan risiko yang diprioritaskan oleh proses analisis risiko kualitatif

b. Proses menggunakan teknik seperti simulasi montecarlo dan pohon keputusan untuk menghitung hasil yang mungkin dan peluangnya, menilai peluang untuk mencapai tujuan proyek, mengidentifikasi risiko yang membutuhkan perhatian paling besar dengan menghitung kontrubisi relatifnya terhadap keseluruhan risiko proyek, mengidentifikasi biaya, jadwal, dan target ruang lingkup yang realistik dan dapat dicapai dan menentukan keputusan manajemen proyek ketika beberapa kondisi atau hasil tidak pasti