Simulasi logika pembukaan dan penutupan Kuil Suci Sulaiman berdasarkan waktuBuka dan waktuTutup dan jam saat ini, menggunakan pendekatan berbasis objek, fungsi, dan kondisi.
/--
- Menggunakan modul atur untuk menyimpan nilai dari varibel, nilai sebagai informasi dasar. tentang kuil suci ke dalam memory.
- Semua disimpan dalam format variabel seperti :nama:, :lokasi:, :waktuBuka:, dsb.
--/
atur :nama: = "Kuil Suci Sulaiman"
atur :lokasi: = "Yerusalem"
atur :waktuBuka: = "06:00"
atur :waktuTutup: = "18:00"
atur :status: = "Tutup"
/--
- Menggunakan modul kelas.
- `punggung` berarti "inherit" nilai dari memory sebagai instance bawaan.
- Kelas ini akan memiliki properti kuil secara bawaan ketika di instalasi.
--/
kelas :kuilSuci:
punggung :nama:, :lokasi:, :waktuBuka:, :waktuTututp:, :status:
/--
- Metode ini mengecek waktu :sekarang: dan membandingkan dengan jam buka-tutup.
- Jika dalam rentang waktu buka, maka status diubah dan ditampilkan.
--/
metode buka():
jika sekarang >= :waktuBuka: dan sekarang < :waktuTutup maka
atur :status: = "Terbuka"
tampilkan "Kuil Suci Sulaiman sekarang buka."
jika tidak
atur :status: = "Tutup"
tampilkan "Kuil Suci Sulaiman sedang tutup."
-- Metode alternatif lainnya, jika ingin menutup kuil secara paksa. --
metode tutup():
atur :status: = "Tutup"
tampilkan "Kuil Suci Sulaiman sedang tutup."
/--
- Membuat objek kuil dari kelas kuilSuci.
- Modul atur akan mengenali bahwa Anda membuat objek karena menggunakan (...).
--/
atur :kuil: = (kuilSuci)
-- Mneyusun ulang atribut ke dalam instace :kuil: yang ingin mengupdate manual --
atur :kuil:.nama = :nama:
atur :kuil:.waktuBuka = :waktuBuka:
atur :kuil:.waktuTutup = :waktuTutup:
atur :kuil:.status = :status:
/--
- Modul fungsi mendefinisikan fungsi bersama cekStatus
- Baris pertama: ambil waktu saat ini dalam format jam-menit (misalnya 14:23) disimpan ke :sekarang: (pakai modul waktu).
- Baris ketiga: mengeksekusi fungsiBuka() - yang berarti memanggil metode buka() dari kuil tersebut.
--/
fungsi cekStatus():
waktu formatkustom "JJ:mm" ke :sekarang:
fungsiBuka = :kuil:.buka
fungsiBuka()
-- Menjalankan fungsi --
cekStatus()
Tidak ada komentar:
Posting Komentar