Rabu, 11 Desember 2024

Software Development Live Cycle

Software Development Life Cycle (SDLC) adalah kerangka kerja yang sistematis untuk merencanakan, mengembangkan, menguji, dan memelihara perangkat lunak. SDLC bertujuan untuk menghasilkan perangkat lunak berkualitas tinggi yang memenuhi kebutuhan pengguna dan tujuan bisnis. Proses ini melibatkan beberapa tahapan yang terstruktur, masing-masing dengan tujuan dan aktivitas spesifik.

Tahapan dalam SDLC

a. Perencanaan (Planning):

Pada tahap ini, tim pengembang melakukan analisis biaya-manfaat dan mengumpulkan persyaratan dari berbagai pemangku kepentingan. Rencana proyek dibuat untuk menentukan tujuan, sumber daya yang diperlukan, dan jadwal pelaksanaan.


b. Analisis (Analysis):

Tim menganalisis kebutuhan sistem secara mendalam untuk memahami masalah yang harus diselesaikan. Ini termasuk studi kelayakan untuk memastikan bahwa proyek dapat dilaksanakan dengan sumber daya yang ada.


c. Desain (Design):

Dalam fase ini, arsitektur sistem dan desain antarmuka pengguna (UI/UX) dirancang. Tim merancang komponen sistem yang akan memenuhi kebutuhan yang telah diidentifikasi sebelumnya.


d. Pengembangan (Development):

Pada tahap pengembangan, kode perangkat lunak ditulis berdasarkan desain yang telah dibuat. Ini adalah fase di mana produk mulai dibangun secara nyata.


e. Pengujian (Testing):

Setelah pengembangan selesai, perangkat lunak diuji untuk menemukan dan memperbaiki bug serta memastikan bahwa fungsionalitasnya sesuai dengan spesifikasi yang ditetapkan.


f. Implementasi (Implementation):

Setelah pengujian berhasil, perangkat lunak diterapkan ke lingkungan produksi dan dirilis kepada pengguna. Ini termasuk pelatihan pengguna dan penyebaran sistem.


g. Pemeliharaan (Maintenance):

Setelah implementasi, perangkat lunak perlu dipelihara untuk memperbaiki masalah yang muncul dan melakukan pembaruan sesuai kebutuhan pengguna atau perubahan teknologi.


SDLC penting karena membantu tim pengembang dalam mengelola risiko, memastikan kualitas produk akhir, dan memberikan visibilitas selama seluruh proses pengembangan. Dengan mengikuti tahapan SDLC, organisasi dapat meminimalkan kompleksitas dalam pengembangan perangkat lunak serta memastikan bahwa produk akhir memenuhi harapan pelanggan dan standar kualitas yang ditetapkan.

Metodologi SDLC juga memungkinkan kolaborasi antar tim lintas fungsi, meningkatkan efisiensi dalam proses pengembangan dan memfasilitasi inovasi dalam solusi teknologi.

Apa itu SQL, DDL, DML, DCL, dan TCL

SQL, atau Structured Query Language, adalah bahasa pemrograman yang digunakan untuk mengelola dan berinteraksi dengan basis data relasional. SQL memungkinkan pengguna untuk melakukan berbagai operasi seperti menyimpan, mengambil, memperbarui, dan menghapus data dalam basis data. Bahasa ini pertama kali dikembangkan oleh IBM pada tahun 1970-an dan sejak itu menjadi standar dalam sistem manajemen basis data (DBMS).


Jenis-Jenis Perintah dalam SQL

SQL dibagi menjadi beberapa kategori berdasarkan fungsinya, yaitu DDL, DML, DCL, dan TCL. Berikut adalah penjelasan masing-masing kategori:

a. DDL (Data Definition Language)

DDL mencakup perintah yang digunakan untuk mendefinisikan dan mengelola struktur database. Beberapa perintah DDL yang umum digunakan adalah:

CREATE: Membuat database atau tabel baru.

ALTER: Mengubah struktur tabel yang sudah ada.

DROP: Menghapus database atau tabel.

RENAME: Mengganti nama tabel atau objek lainnya.

Contoh perintah DDL:

sql

CREATE TABLE employees (

    id INT PRIMARY KEY,

    name VARCHAR(100),

    position VARCHAR(50)

);


b. DML (Data Manipulation Language)

DML digunakan untuk memanipulasi data dalam tabel. Ini mencakup perintah untuk menambah, mengubah, atau menghapus data. Beberapa perintah DML yang umum adalah:

INSERT: Menambahkan data baru ke dalam tabel.

UPDATE: Mengubah data yang sudah ada.

DELETE: Menghapus data dari tabel.

Contoh perintah DML:

sql

INSERT INTO employees (id, name, position) VALUES (1, 'John Doe', 'Manager');

UPDATE employees SET position = 'Senior Manager' WHERE id = 1;

DELETE FROM employees WHERE id = 1;


c. DCL (Data Control Language)

DCL berkaitan dengan kontrol akses pengguna terhadap database. Ini termasuk perintah untuk memberikan atau mencabut hak akses. Perintah DCL yang umum digunakan adalah:

GRANT: Memberikan hak akses kepada pengguna.

REVOKE: Mencabut hak akses dari pengguna.

Contoh perintah DCL:

sql

GRANT SELECT ON employees TO user1;

REVOKE INSERT ON employees FROM user1;


d. TCL (Transaction Control Language)

TCL digunakan untuk mengelola transaksi dalam database. Ini memastikan bahwa semua operasi dalam transaksi berhasil sebelum diterapkan secara permanen. Perintah TCL yang sering digunakan adalah:

COMMIT: Menyimpan semua perubahan yang dilakukan selama transaksi.

ROLLBACK: Membatalkan semua perubahan jika terjadi kesalahan.

Contoh perintah TCL:

sql

BEGIN TRANSACTION;

INSERT INTO employees (id, name) VALUES (2, 'Jane Smith');

COMMIT; 

Apa itu Denormalisasi

Denormalisasi adalah kebalikan dari proses normalisasi dalam perancangan basis data. Proses ini bertujuan untuk menyederhanakan struktur tabel yang telah dinormalisasi dengan cara mengorbankan sedikit integritas data demi meningkatkan performa sistem. Dalam denormalisasi, data redundansi yang terkontrol diperbolehkan, sehingga akses atau pengambilan data (query) menjadi lebih cepat meskipun proses pemutakhiran data (update) dapat melambat.


Berbeda dengan normalisasi yang berupaya menghilangkan redundansi untuk meminimalkan anomali data, denormalisasi mengabaikan sebagian redundansi untuk mengurangi kompleksitas query. Normalisasi biasanya menghasilkan struktur tabel yang efisien dari segi penyimpanan dan fleksibilitas di masa depan tetapi memerlukan query yang lebih kompleks. Sebaliknya, denormalisasi mengutamakan efisiensi waktu akses data dengan menyederhanakan struktur tabel.

Tujuan dan Manfaat Denormalisasi

Denormalisasi dilakukan dalam berbagai situasi dengan tujuan utama sebagai berikut:

  • Meningkatkan Performa Query: Dengan mengurangi kebutuhan join antar tabel, proses pengambilan data menjadi lebih cepat.
  • Penyederhanaan Struktur Basis Data: Struktur yang lebih sederhana memudahkan pemahaman dan pengelolaan, terutama dalam tim besar.
  • Akses Data yang Lebih Lokal: Penempatan data yang relevan dalam satu tabel meminimalkan waktu akses.
  • Optimalisasi Akses Data pada Tabel Besar: Tabel yang memiliki jutaan baris akan lebih efisien diakses dengan adanya data yang telah direkapitulasi atau diduplikasi.

Situasi yang Membutuhkan Denormalisasi

Proses denormalisasi dapat dipertimbangkan dalam kondisi berikut:

  1. Atribut Turunan: Menyimpan data yang dapat dihitung dari atribut lain untuk mengurangi beban komputasi.
  2. Atribut Berlebihan: Menambahkan atribut seperti kode tambahan (encoded attribute) atau atribut gabungan (concatenated attribute) untuk kebutuhan operasional tertentu.
  3. Tabel Rekapitulasi: Membuat tabel khusus untuk menyimpan data yang sering digunakan hasil pengolahan dari banyak tabel, mengurangi waktu query pada tabel-tabel tersebut.
  4. Menggabungkan Relasi One-to-One (1:1): Mengurangi kebutuhan join dengan menyatukan tabel-tabel yang berelasi 1:1.
  5. Menduplikasi Field pada Relasi One-to-Many (1:M): Memindahkan atribut dari tabel lain ke tabel utama untuk mempercepat akses data.
  6. Membatasi Multi Atribut: Merancang tabel dengan atribut yang relevan untuk mencegah query berlebihan.

Risiko dan Pertimbangan

Meskipun dapat meningkatkan performa, denormalisasi memiliki risiko seperti:

  • Redundansi Data: Menyebabkan pemborosan ruang penyimpanan dan potensi inkonsistensi data.
  • Kesulitan Maintenance: Proses update dan pengelolaan integritas referensial menjadi lebih kompleks.
  • Penurunan Fleksibilitas: Struktur tabel yang disederhanakan dapat membatasi kemampuan adaptasi sistem terhadap perubahan kebutuhan di masa depan.

ERD Penerapan Denormalisasi

  klik gambar