MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
Istu dana aditya 1112510811 tugas 1 (individu)
1. MATA KULIAH REKAYASA WEB
Dosen : Andry Sunandar
TUGAS 1 REKAYASA WEB (INDIVIDU)
Nama : Istu Dana Aditya
Nim : 1112510811
PROGRAM STUDI SISTEM INFORMASI
FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS BUDILUHUR
JAKARTA
2015
2. A. METODE WATERFALL
1. Sejarah Waterfall
Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini
sering disebut dengan “classic life cycle” atau model waterfall. Model ini
pertama kali yang diperkenalkan oleh Winston Royce sekitar tahun 1970
sehingga sering dianggap kuno, tetapi merupakan model yang paling
banyak dipakai didalam Software Engineering (SE). Model ini melakukan
pendekatan secara sistematis dan berurutan. Disebut
denganwaterfall karena tahap demi tahap yang dilalui harus menunggu
selesainya tahap sebelumnya dan berjalan berurutan.
2. Definisi Waterfall
Waterfall adalah model yang dikembangkan untuk pengembangan
perangkat lunak dan membuat perangkat lunak. Metode ini berkembang
secara sistematis dari satu tahap ke tahap lain dalam mode seperti air
terjun.
Model ini mengusulkan sebuah pendekatan kepada pengembangan
software yang sistematik dan sekuensial yang mulai dari tingkat kemajuan
sistem pada seluruh analisis, desain, kode, pengujian dan pemeliharaan.
Model ini melingkupi aktivitas-aktivitas sebgai berikut:
Rekayasa dan pemodelan sistem informasi
Analisis kebutuhan
Desain
Coding
Pengujian
Pemeliharaan
Model pengembangan ini bersifat linear dari tahap awal pengembangan
system yaitu tahap perencanaan sampai tahap akhir pengembangan
system yaitu tahap pemeliharaan. Tahapan berikutnya tidak akan
dilaksanakan sebelum tahapan sebelumnya selesai dilaksanakan dan tidak
bisa kembali atau mengulang ke tahap sebelumnya.
3. 3. Tahapan Metode Waterfall
Berikut ini merupakan tahapan atau fase yang paling umum tentang
model waterfall menurut Pressman:
a. System/Information Engineering and Modeling
Permodelan ini diawali dengan mencari kebutuhan dari
keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software.
Hal ini sangat penting, mengingat software harus dapat berinteraksi
dengan elemen-elemen yang lain seperti hardware, database, dsb.
Tahap ini sering disebut dengan Project Definition.
b. Software Requirements Analysis
Proses pencarian kebutuhan diintensifkan dan difokuskan pada
software. Untuk mengetahui sifat dari program yang akan dibuat, maka
para software engineer harus mengerti tentang domain informasi dari
software, misalnya fungsi yang dibutuhkan, user interface, dsb. Dari 2
aktivitas tersebut (pencarian kebutuhan sistem dan software) harus
didokumentasikan dan ditunjukkan kepada pelanggan.
c. Design
Proses ini digunakan untuk mengubah kebutuhan-kebutuhan
diatas menjadi representasi ke dalam bentuk “blueprint” software
sebelum coding dimulai. Desain harus dapat mengimplementasikan
kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti 2
aktivitas sebelumnya, maka proses ini juga harus didokumentasikan
sebagai konfigurasi dari software.
d. Coding
Untuk dapat dimengerti oleh mesin, dalam hal ini adalah
komputer, maka desain tadi harus diubah bentuknya menjadi bentuk
yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa
pemrograman melalui proses coding. Tahap ini merupakan
implementasi dari tahap design yang secara teknis nantinya dikerjakan
oleh programmer.
4. e. Testing / Verification
Sesuatu yang dibuat haruslah diujicobakan. Demikian juga
dengan software. Semua fungsi-fungsi software harus diujicobakan,
agar software bebas dari error, dan hasilnya harus benar-benar sesuai
dengan kebutuhan yang sudah didefinisikan sebelumnya.
f. Maintenance
Pemeliharaan suatu software diperlukan, termasuk di dalamnya
adalah pengembangan, karena software yang dibuat tidak selamanya
hanya seperti itu. Ketika dijalankan mungkin saja masih ada errors kecil
yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur
yang belum ada pada software tersebut. Pengembangan diperlukan
ketika adanya perubahan dari eksternal perusahaan seperti ketika ada
pergantian sistem operasi, atau perangkat lainnya.
4. Keuntungan dan Kelemahan Waterfall
a. Keuntungan Waterfall
Merupakan model pengembangan paling handal dan paling lama
digunakan
Cocok untuk sistem software berskala besar
Cocok untuk system software yang bersifat generic
Pengerjaan project system akan terjadwal dengan baik dan mudah
dikontrol
b. Kelemahan Waterfall
Waktu pengembangan membutuhkan proses yang lama
Biaya yang mahal
Waterfall merupakan aliran yang linear, sehingga jika requirement
berubah proses tidak dapat diulang lagi
Tidak cocok untuk pemodelan pengembangan yang memiliki
kompleksitas tinggi
5. B. METODE SCRUM
1. Definisi Scrum
Scrum merupakan framework untuk manajemen pengembangan
software dengan karakteristik cekatan dan bersifat iteratif dan incremental.
Scrum mendefinisikan dirinya fleksible, strategi pengembangan yang
menyeluruh di mana seluruh team bekerja sebagai satu unit dalam
mencapai sebuah gol yang sama.
Dalam menjalankan kerjasama antara anggota team, scrum
menekankan lokasi fisik yang sama atau sarana online yang akrab antara
semua member, dan juga pertemuan muka dengan muka setiap hari antara
semua anggota team.
Prinsip kunci dari scrum adalah memahami bahwa dalam project yang
tengah berlangsung, klien mungkin mengubah apa yang menjadi kebutuhan
dan keinginannya. Perubahan sulit diadaptasi oleh framework
pengembangan aplikasi yang bersifat tradisional. Scrum menerima
perubahan ini dan memaksimalkan seluruh anggota team untuk
menyesuaikan perubahan mendadak ini.
Scrum mengadopsi permainan Rugby yang begitu mudah
menyesuaikan diri semua anggota team setelah ada sedikit pelanggaran.
Kemudian menyesuaikan diri inilah yang mengimpirasi scrum.
2. Tahapan Metode Scrum
Scrum mempunyai 3 tahapan sebagai berikut:
a. Product Owner
Product Owner bertanggung-jawab untuk memaksimalkan nilai
produk dan hasil kerja Tim Pengembang. Cara pelaksanaannya sangat
bervariasi antar organisasi, Tim Scrum dan individu. Product Owner
merupakan satu-satunya orang yang bertanggung-jawab untuk
mengelola Product Backlog. Pengelolaan Product Backlog mencakup:
Mengekspresikan dengan jelas item Product Backlog
Mengurutkan item di dalam Product Backlog untuk mencapai tujuan
dan misi dengan cara terbaik
6. Mengoptimalkan nilai dari hasil pekerjaan Tim Pengembang
Memastikan Product Backlog transparan, jelas, dan dapat dilihat
semua pihak, dan menunjukkan apa yang akan dikerjakan oleh Tim
Scrum selanjutnya
Memastikan Tim Pengembang dapat memahami item dalam
Product Backlog hingga batasan yang diperlukan
Product Owner dapat saja mengerjakan pekerjaan-pekerjaan di
atas, atau menyerahkan pengerjaannya kepada Tim Pengembang,
namun satu-satunya pihak yang bertanggung jawab tetaplah Product
Owner. Product Owner adalah satu orang dan bukan berupa sebuah
komite. Product Owner dapat mengejawantahkan aspirasi dari komite
ke dalam Product Backlog, namun mereka yang ingin merubah
prioritas item Product Backlog, harus melakukannya melalui Product
Owner.
Agar Product Owner berhasil menjalankan tugasnya, seluruh
organisasi harus menghormati setiap keputusan yang ia buat.
Keputusan dari Product Owner ini dapat dilihat dari isi dan urutan
Product Backlog. Tidak ada seseorang pun yang dapat memerintah
Tim Pengembang untuk mengerjakan kebutuhan lain selain Product
Owner. Dan Tim Pengembang pun tidak diperbolehkan untuk
melakukan apa yang diperintahkan oleh pihak lain selain Product
Owner.
b. Team Member
Tim Pengembang terdiri dari para profesional yang bekerja untuk
menghasilkan tambahan potongan produk (selanjutnya disebut
Inkremen) “Selesai”, yang berpotensi untuk dirilis di setiap akhir Sprint.
Hanya anggota Tim Pengembang yang mengembangkan Inkremen ini.
Tim Pengembang dibentuk dan didukung oleh organisasi untuk
mengatur dan mengelola pekerjaannya secara mandiri. Sinergi yang
ada di dalam tim akan meningkatkan efisiensi dan efektifitas dari Tim
7. Pengembang secara keseluruhan. Tim Pengembang memiliki
karakteristik sebagai berikut:
Mereka mengatur dirinya sendiri. Tidak ada satu orang pun (bahkan
Scrum Master) yang memerintah Tim Pengembang bagaimana
cara merubah Product Backlog menjadi Inkremen yang berpotensi
untuk dirilis
Tim Pengembang berfungsi antar-lintas, sebagai sebuah tim,
memiliki semua keahlian yang dibutuhkan untuk menghasilkan
produk
Scrum tidak mengenal adanya jabatan tertentu untuk anggota Tim
Pengembang selain Pengembang, apapun pekerjaan yang
dikerjakan oleh masing-masing anggota tim; tidak ada
pengecualian untuk aturan yang satu ini
Tim Pengembang tidak mengenal adanya sub-tim yang
dikhususkan untuk bidang tertentu seperti pengujian atau analisa
bisnis; tidak ada pengecualian untuk aturan yang satu ini
Anggota Tim Pengembang boleh memiliki spesialisasi keahlian dan
fokus di satu area tertentu, namun akuntabilitas dari hasil dari
pekerjaan secara keseluruhan adalah milik Tim Pengembang.
c. Scrum Master
Scrum Master akan mencegah hal-hal yang mengalihkan focus
team. Scrum master akan membuat suasana kondusif supaya team
dapat bekerja sama dalam mencapai goal. Scrum Master bertanggung
jawab untuk memastikan Scrum telah dipahami dan dilaksanakan.
Scrum Master melakukannya dengan memastikan Tim Scrum
mengikuti teori, praktik, dan aturan main Scrum. Scrum Master adalah
seorang pemimpin yang melayani Tim Scrum.
Scrum Master membantu pihak di luar Tim Scrum, untuk
memahami apakah interaksi mereka dengan Tim Scrum bermanfaat
atau tidak. Scrum Master membantu setiap pihak untuk merubah
interaksi-interaksi yang tidak bermanfaat sehingga bisa
memaksimalkan nilai yang dihasilkan oleh Tim Scrum.
8. C. METODE SVN
1. Definisi SVN
Subversion, atau dikenal juga dengan nama SVN, adalah suatu
perangkat lunak sumber terbuka pengontrol versi yang dapat mengatur
proses pengembangan perangkat lunak yang dilakukan oleh suatu
kelompok pemrogram yang terpisah menjadi runut dan teratur. Subversion
diciptakan oleh CollabNet yang memegang merek dagang “Subversion” dan
sampai sekarang masih memelihara proyek ini. Subversion tersedia dalam
versi Linux, Windows, FreeBSD, OpenBSD, Solaris, Mac OS X dan OS/400.
Subversion dirancang khusus sebagai pengganti modern dari CVS. Untuk
mencegah corrupt dalam database, SVN menggunakan konsep operasi
atom. Perubahan yang dilakukan terhadap sumber diterapkan atau tidak,
yang berarti tidak ada perubahan parsial pada sumber aslinya. Contoh
program dari SVN ini adalah tortoisesvn.
2. Keunggulan dan Kelemahan SVN
a. Keunggulan SVN
Sistem baru berdasarkan CVS
Menerapkan operasi atom
Murah dalam pengoperasian
Sistem terpusat, tidak mendukung peer to peer
Berbagai macam plug-in untuk ide
b. Kekurangan SVN
Masih ada bug dalam renam file maupun direktori
Perintah manajemen repositori tidak banyak
Kecepatan kompresi data lambat
Ketika server down, maka client tidak dapat mengakses
9. D. METODE GIT
1. Definisi GIT
Git adalah sistem kendali kode sumber (revision control system, atau
version control system, atau VCS). Git pertama kali didesain dan dikoding
oleh Bapak Linux sendiri, Linus Torvalds, tahun 2005 untuk menggantikan
VCS komersial BitKeeper yang kala itu digunakan untuk mengatur kode
sumber Linux. Karena tidak menemukan sistem lain yang lebih cepat untuk
menangani kode sebesar kernel Linux, maka Linus menulis VCS sendiri.
Karenanya, salah satu fitur utama git sejak awal adalah kecepatannya.
Berbeda dari sistem kode sumber yang sudah terlebih dulu popular
sebelumnya yaitu CVS dan Subversion, git tidak bersifat tersentralisasi
melainkan terdistribusi. Artinya, setiap pengembang tidak hanya
menyimpan working copy di komputer lokalnya, tapi juga menyimpan
repositori, yang berisi sejarah lengkap perubahan.
Sementara di sistem tersentralisasi, hanya ada satu repositori tunggal
(umumnya di server yang dapat diakses oleh semua pengembang lewat
jaringan). Karena masing-masing pengembang memiliki repositori, maka
komit dapat dilakukan secara offline di repository lokal di komputer sendiri,
tidak harus terhubung ke repositori sentral di jaringan. Saat ingin
bertukar/mensinkronisasi hasil kerja dengan pengembang lainlah, baru kita
terkonek ke jaringan dan melakukan merging atau patching. Contoh
program dari Git adalah gibak, bup dan eigen class.
Konsep Git dari awal adalah pada kecepatannya dan sistemnya
terdistriusi yang memungkinkan untuk menjadikan Git bukan hanya
digunakan oleh programmer untuk memanajemem kode sumber program,
tetapi juga dapat digunakan oleh “pemakai biasa” untuk mengatur berbagai
jenis data. Oleh karena kecepatannya, maka Git sangat bagus dalam
kompresi data dibandingkan dengan VCS lain.
2. Keunggulan dan Kelemahan GIT
a. Keunggulan GIT
10. Kecepatan stabil
Design sederhana
Sistem terdistribusi, peer to peer
Mendukung dalam pengembangan non-linear
Murah dalam pengoperasian
Mendukung dalam proyek besar seperti Kernel Linux
Akses menggunakan command line
Penyimpanan murni berbasis file
b. Kelemahan GIT
Tidak optimal untuk pengembang tunggal
Dukungan unuk window terbatas dibandingkan Linux