- Mahasiswa mampu menggunakan static members seperti static fields/properties maupun static methods sesuai dengan kebutuhan
- Platform: .NET 6.0
- Bahasa: C# 10
- IDE: Visual Studio 2022
- Clone repositori project
oop-static-members-csharp
ke direktori lokal git Anda. - Buka Visual Studio, pilih menu File > Open > Project/Solution > Pilih file *.sln.
- Tekan tombol Open untuk untuk membuka solusi.
- Baca soal dengan seksama. Buat implementasi kode sesuai dengan petunjuk.
- Jalankan unit test di project *.Tests
PERINGATAN: Push kode program ke remote repository jika hanya seluruh test case sudah lolos/passed (bertanda hijau).
Buat solusi dari soal ini di project Solution
folder Transaction
dengan namespace Solution.Transaction
.
Sebuah aplikasi perbankan memerlukan sistem untuk menghitung jumlah transaksi yang dilakukan. Setiap transaksi yang dilakukan memiliki ID unik yang bersifat berurutan.
Buatlah sebuah kelas bernama Transaksi
dengan spesifikasi sebagai berikut:
- Memiliki variabel private
static
bernama_counter
yang digunakan untuk menghitung jumlah transaksi yang telah dilakukan. - Memiliki variabel instance private
_transaksiID
yang digunakan untuk menyimpan ID dari transaksi tersebut. - Memiliki variabel instance private
_jumlah
yang digunakan untuk menyimpan jumlah transaksi. - Memiliki konstruktor yang menerima parameter
jumlah
dan menginisialisasi variabel instancejumlah
. Setiap kali objekTransaksi
dibuat,counter
akan bertambah dantransaksiID
akan di-set sesuai dengan nilaicounter
saat itu. - Memiliki metode public
GetTransaksiID
yang mengembalikan ID dari transaksi tersebut. - Memiliki metode public
static
GetTotalTransaksi
yang mengembalikan total transaksi yang telah dilakukan. - Memiliki metode public
static
ResetCounter
yang mengatur ulangcounter
menjadi 0.
Buatlah sebuah kelas bernama Program
yang didalamnya terdapat metode static Main
. Dalam metode Main
, instansiasi beberapa objek dari kelas Transaksi
, tampilkan ID transaksi dan total transaksi ke layar. Setelah itu, gunakan metode resetCounter
untuk mengatur ulang penghitung transaksi dan tampilkan kembali total transaksi ke layar.
Perhatikan:
- Pastikan setiap objek
Transaksi
yang dibuat memiliki ID yang unik dan berurutan. - Pastikan metode
GetTotalTransaksi
mengembalikan jumlah total transaksi yang telah dibuat.
Buat solusi dari soal ini di project Solution
folder Registration
dengan namespace Solution.Registration
.
Sebuah universitas memerlukan sistem untuk menghitung jumlah mahasiswa yang telah mendaftar. Setiap mahasiswa yang mendaftar akan mendapatkan nomor pendaftaran unik yang bersifat berurutan.
Buatlah sebuah kelas bernama Mahasiswa
dengan spesifikasi sebagai berikut:
- Memiliki variabel private
static
bernama_registrantCounter
yang digunakan untuk menghitung jumlah mahasiswa yang telah mendaftar. - Memiliki variabel instance private
_nomorPendaftaran
yang digunakan untuk menyimpan nomor pendaftaran mahasiswa tersebut. - Memiliki variabel instance private
_nama
yang digunakan untuk menyimpan nama mahasiswa. - Memiliki konstruktor yang menerima parameter
nama
dan menginisialisasi variabel instance_nama
. Setiap kali objekMahasiswa
dibuat,RegistrantCounter
akan bertambah dan_nomorPendaftaran
akan di-set sesuai dengan nilaiRegistrantCounter
saat itu. - Memiliki metode public
GetNomorPendaftaran
yang mengembalikan nomor pendaftaran mahasiswa tersebut. - Memiliki metode public
static
GetTotalRegistrant
yang mengembalikan total mahasiswa yang telah mendaftar. - Memiliki metode public
static
ResetRegistrantCounter
yang mengatur ulang_registrantCounter
menjadi 0.
Buatlah sebuah kelas bernama Program
yang didalamnya terdapat metode static Main
. Dalam metode Main
, instansiasi beberapa objek dari kelas Mahasiswa
, tampilkan nomor pendaftaran dan total mahasiswa yang telah mendaftar ke layar. Setelah itu, gunakan metode ResetRegistrantCounter
untuk mengatur ulang penghitung pendaftaran dan tampilkan kembali total mahasiswa yang telah mendaftar ke layar.
Buat solusi dari soal ini di project Solution
folder StockManager
dengan namespace Solution.StockManager
.
Sebuah toko perlu mengelola stok barang mereka secara efisien. Setiap kali barang masuk atau keluar, jumlah total barang di gudang harus diperbarui. Tujuan dari sistem ini adalah untuk melacak total stok barang yang tersedia di toko menggunakan anggota kelas statis.
Buatlah sebuah kelas bernama Barang
dengan spesifikasi sebagai berikut:
-
Kelas Barang: Buat kelas publik
Barang
dengan properti statis publikTotalStok
yang digunakan untuk menghitung jumlah total stok barang yang tersedia di toko. -
Konstruktor: Kelas
Barang
memiliki konstruktor yang menerima parameterjumlahBarang
, yang menandakan jumlah barang yang masuk ke toko. Konstruktor ini akan menambahkanjumlahBarang
keTotalStok
. -
Metode Penjualan: Tambahkan metode statis
JualBarang
yang menerima parameterjumlahTerjual
. Metode ini akan mengurangijumlahTerjual
dariTotalStok
. JikajumlahTerjual
lebih besar dariTotalStok
, metode akan mencetak pesan bahwa stok tidak mencukupi dan tidak akan mengurangiTotalStok
. -
Metode Restok: Tambahkan metode statis
Restok
yang menerima parameterjumlahBarang
untuk menambahkan barang keTotalStok
. -
Metode ResetStok: Tambahkan metode statis
ResetStok
yang mengembalikan nilaiTotalStok
menjadi 0. -
Metode Penampilan Stok: Buat metode statis
TampilkanStok
yang mencetak jumlahTotalStok
saat ini. -
Demo Program: Buat kelas
Program
dengan metodeMain
untuk mendemonstrasikan penggunaan kelasBarang
. Dalam metodeMain
, instansiasi beberapa objekBarang
, gunakanJualBarang
, danRestok
untuk mengelola stok, kemudian tampilkan stok terkini.
Misalnya, sebuah toko memiliki stok awal 50 unit. Penjualan 20 unit dilakukan, kemudian restok 30 unit, dan kemudian penjualan 70 unit yang tidak dapat dilakukan karena melebihi stok.
Stok awal: 50
Menjual 20 unit.
Stok saat ini: 30
Restok 30 unit.
Stok saat ini: 60
Percobaan menjual 70 unit: Gagal, stok tidak mencukupi.
Stok saat ini: 60
=== Selesai ===