top of page

LLD (Low Level Design)

Low Level Design (LLD) melibatkan perincian spesifikasi teknis untuk masing-masing komponen sistem. Pelajari manfaat, dasar, contoh, dan perbedaannya dengan High Level Design (HLD) di sini!

software-engineer

Apa itu LLD (Low Level Design)?

__wf_reserved_inherit

Dalam software development, designer menggunakan dua tingkat desain utama, yaitu High Level Design (HLD) dan Low Level Design (LLD).

Low Level Design (LLD) adalah tahapan yang melibatkan perincian spesifikasi teknis untuk masing-masing komponen sistem, seperti struktur data, algoritma, dan cara mereka berinteraksi.

Proses ini dilakukan setelah High Level Design (HLD) untuk menjamin efisiensi dalam implementasi. Dalam tahap LLD, setiap modul atau komponen sistem dirancang dengan logika yang tepat untuk implementasi, memastikan setiap bagian sistem dapat dikembangkan dan diintegrasikan secara efisien.

Dengan cara ini, LLD membantu developer untuk coding dan mengimplementasikan sistem secara akurat sesuai kebutuhan yang telah ditentukan.

Fungsi Low Level Design

Low Level Design (LLD) berperan krusial dalam software development, memastikan setiap detail dari sistem diatur dengan cermat untuk memenuhi kebutuhan spesifik proyek. Berikut fungsi utama dari LLD:

  • Presisi dalam implementasi: LLD menyediakan spesifikasi teknis yang sangat detail, memungkinkan developer mengimplementasikan kode secara akurat dan efisien.
  • Meningkatkan kualitas kode: dengan desain yang terstruktur dan terdefinisi, kode yang dihasilkan lebih mudah dipahami, diuji, sekaligus dikelola.
  • Deteksi masalah di tahap awal: memfasilitasi identifikasi dan penyelesaian masalah teknis pada tahap awal sebelum kode dikembangkan, sehingga mengurangi risiko dan biaya perbaikan di kemudian hari.
  • Modularitas dan reusability: struktur yang terorganisasi dan modular memudahkan penggunaan kembali komponen dalam proyek lain serta mempercepat pengembangan.
  • Efisiensi dalam integrasi: LLD menyediakan panduan jelas tentang cara modul dan komponen harus berinteraksi, memastikan integrasi yang smooth dan minim konflik.
  • Meningkatkan dokumentasi: mendokumentasikan setiap aspek desain membantu dalam pemeliharaan dan pengembangan sistem yang berkelanjutan.

Dasar-dasar Low Level Design

Berikut dasar-dasar penting dari Low Level Design (LLD) yang perlu dipahami:

  • Desain komponen: LLD mendetailkan struktur dan fungsi dari setiap komponen sistem, seperti modul, class, dan function. Ini termasuk definisi atribut, metode, dan hubungan antar komponen, sering kali diilustrasikan melalui diagram kelas.
  • Desain data: spesifikasi bagaimana data akan disimpan, dikelola, dan diakses dalam sistem. Ini mencakup skema database, struktur data yang digunakan, dan pengelolaan data flow antar komponen sistem.
  • Desain algoritma: penjelasan terperinci tentang algoritma yang digunakan untuk memproses data dalam sistem. Ini termasuk logika pemrosesan, kondisi kontrol, serta penanganan error dan eksepsi.
  • Desain interface: mendefinisikan cara interaksi antar komponen sistem atau dengan end user. Ini termasuk user interface, API, dan protokol komunikasi.
  • Desain resources: menangani alokasi dan penggunaan sumber daya seperti memori, prosesor, dan jaringan dalam sistem. Ini penting untuk memastikan performa dan efisiensi operasional sistem.
  • Pengujian unit: LLD harus menyediakan spesifikasi untuk pengujian unit yang akan membantu memverifikasi fungsi-fungsi individu sesuai dengan desain.

Contoh Low Level Design

Contoh penggunaan Low Level Design (LLD) dalam software developing bisa sangat beragam. Berikut beberapa contoh dari penerapan LLD:

#1 Sistem pemesanan hotel online

LLD meliputi:

  • Desain class: mendefinisikan class seperti Hotel, Kamar, Pemesanan, dan Pelanggan. Setiap class memiliki atribut spesifik (seperti nama hotel, jenis kamar, tarif, data pelanggan) dan metode (seperti pemesanan kamar, pembatalan, pengecekan ketersediaan).
  • Desain database: skema database yang mendetail untuk menyimpan informasi tentang hotel, kamar yang tersedia, pemesanan aktif, dan histori pelanggan. Termasuk tabel dan relasi antar tabel yang diperlukan untuk operasi sistem.
  • Desain interface: interface untuk interaksi user, seperti formulir pemesanan online, laman pencarian hotel, dan dashboard administrasi untuk pengelolaan hotel. Juga termasuk API untuk integrasi dengan sistem pembayaran dan sistem third-party lainnya.
  • Desain algoritma: algoritma untuk pencarian dan penyaringan hotel berdasarkan lokasi, harga, atau fasilitas. Algoritma pengurutan dan prioritas pemesanan berdasarkan tanggal dan ketersediaan.
  • Pengujian unit: spesifikasi untuk tes unit yang akan memverifikasi fungsionalitas seperti pencarian hotel, proses pemesanan, dan pembatalan.

#2 Aplikasi pengelolaan inventori gudang

LLD meliputi:

  • Desain class: class Item, Stok, Supplier, dan Order. Detail termasuk atribut seperti ID item, deskripsi, jumlah stok, supplier, dan catatan order.
  • Desain data: rancangan database termasuk tabel untuk item, stok, order, dan supplier, dengan hubungan yang jelas antara tabel-tabel tersebut untuk efisiensi pengelolaan data.
  • Desain interface: interface untuk penginputan dan pembaruan data stok, termasuk UI untuk scanner barcode, sistem pelaporan, dan notifikasi stok rendah.
  • Desain algoritma: algoritma untuk optimasi stok, seperti perhitungan kapan harus melakukan reorder berdasarkan tingkat penjualan historis dan waktu lead supplier.
  • Pengujian unit: detail pengujian unit untuk memastikan setiap komponen bekerja sesuai kebutuhan, seperti pengujian fungsi tambah dan kurangi stok, serta validasi input data.

FAQ (Frequently Asked Question)

Apa perbedaan Low Level Design dan High Level Design?

HLD adalah tahap yang menguraikan arsitektur dan komponen utama sistem secara umum, fokus pada struktur besar dan hubungan antar modul. Di sisi lain, LLD mendetailkan implementasi spesifik dari setiap komponen yang diidentifikasi dalam HLD, termasuk logika internal, struktur data, dan detail teknis coding.

Berikut tabel yang membandingkan High Level Design (HLD) dan Low Level Design (LLD) secara langsung:

Mulai karirmu dalam

software-engineer

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 12.500+ member selamanya untuk support perkembangan karir kamu!

bottom of page