Latihan 1

Latihan: Sistem Stok Gudang

Gunakan pointer dan pass by reference untuk memperbarui stok dan menghitung nilai barang di gudang.

Studi Kasus

Sistem manajemen gudang sebuah toko bangunan mencatat setiap barang dalam sebuah struct. Kepala gudang membutuhkan dua fitur: memperbarui stok saat barang datang dari supplier, dan menghitung nilai total stok (stok × harga) untuk laporan keuangan. Keduanya harus bekerja langsung pada data asli di memori tanpa menyalin struct.

Yang Harus Dilakukan

  1. Lengkapi prosedur tambahStok — terima pointer ke BarangGudang, gunakan operator -> untuk menambahkan jumlah ke field stok.
  2. Lengkapi fungsi hitungNilaiStok — terima pointer ke BarangGudang, kembalikan hasil perkalian b->stok * b->harga.
  3. Di main, panggil tambahStok untuk menambah 80 unit ke barang (gunakan & saat memanggil).
  4. Panggil hitungNilaiStok, simpan hasilnya, lalu cetak nilainya.

Gunakan operator & saat memanggil kedua fungsi agar yang dikirim adalah alamat memori, bukan salinan data.

Fungsi cetakInfo sudah ditulis lengkap — fokuslah pada implementasi dua fungsi di atas dan pemanggilan di main.

Contoh Output yang Diharapkan

[SEBELUM RESTOCK]
Barang : Semen Portland
Stok   : 120 unit
Harga  : Rp 65000/unit
------------------------
[SETELAH RESTOCK]
Barang : Semen Portland
Stok   : 200 unit
Harga  : Rp 65000/unit
------------------------
Nilai Total Stok: Rp 13000000