Sistem Tanki Air Di Rumah
Sistem Tanki Air Di Rumah
“Tangki Air di Rumah” berfungsi untuk memberikan kenyamanan dan keamanan penggunaan air
di rumah. Asumsikan saja bahwa tangki air terhubung dengan sumber air melalui pipa yang terhubung juga
dengan pompa air. Dari tanki ke rumah terhubung dengan pipa yang ujungnya berupa kran-kran yang dapat
membuka secara otomatis, dikontrol dari peralatan elektronik melalui peralatan mekanik. Untuk
mengambil air dari tanki, terlebih dahulu harus ditekan sebuah tombol yang telah dipasang di rumah. Air
akan dialirkan ke kran yang dimaksud jika air di tanki tidak kosong. Otomatisasi dilakukan oleh peralatan
elektronik melalui peralatan mekanik.
Setiap saat akan terjadi pemanipulasian Tangki Air (mengisi dan mengurangi volume air)
sehingga ketika volume air berkurang dari volume total, mesin pompa akan otomatis hidup dan melakukan
pengisian tanki, mesin pompa akan berhenti secara otomatis jika tanki penuh. Begitu pula jika sipemilik
akan menyalakan tombol untuk mengambil air dari tanki, make terlebih dahulu dilakukan pengecekan
terhadap isi tanki, jika tanki kosong make keran tidak akan membuka.
1. Vocabulary Sistem
Cerita diatas merupakan realita sistem, realita sistem terdiri dari aspek perangkat keras dan
perangkat lunak. Sebelum mengimplementasikan sistem perlu untuk memodelkan permasalahan tersebut
pada model sederhana dalam tataran lojik. Untuk mendapatkan model sistem, perlu dicari pembendaharaan
yang dipunyai oleh sistem tersebut.
Tanki air mempunyai atribut volume total dan volume saat itu (Current), Tanki harus dimanipulasi
untuk dapat digunakan oleh sipemilik rumah. Manipulasi terhadap Tanki Air meliputi :
Mengisi Tanki Air
Mengambil air dari Tanki sebanyak n liter
Sebelum mengisi, harus dicek dahulu isi tankinya, jika penuh make tidak dilakukan pengisian.
Sebelum mengambil air harus dicek dahulu, jika kosong make proses pengambilan air gagal dan kran
tidak membuka.
Jangan lupa untuk mendefinisikan Tanki Air pada saat awal kejadian. Tanki air berisi volume current
adalah 0 liter dan volume total n liter (silahkan definisikan sendiri).
Asumsi sistem :
Ketika sedang mengisi tanki tidak boleh melakukan aksi lain
Aspek waktu pada sistem dihilangkan.
Yang menjadi topik pembicaraan adalah Bagaimana memanipulasi Tanki Air ?. Kalimat itu dapat
dipisahkan menjadi 1. Bagaimana memanipulasi -------2. Tanki Air. Potongan kalimat Bagaimana
memanipulasi akan dijabarkan dalam primitif-primitif yang telah dijelaskan secara umum dalam 5 hal di
atas. Sedangkan Potongan kalimat yang kedua adalah Tanki Air, merupakan objek pembicaraan yang
dimanipulasi. Tanki Air terdiri dari 2 atribut yang sangat dominan yaitu Volume Total dan Volume saat
tertentu(Volume Current). Tanki Air akan dijabarkan dalam struktur data komposisi.
Secara lebih lengkap, didapatkan pembendaharaan kalimat Sistem Tanki Air sebagai berikut :
--Kamus Umum
Type TankiAir is record
VolumeTotal : real --- Menyatakan daya tampung maksimum tanki
VolumeCurrent : real --- Menyatakan volume air saat tertentu
end
--------------------------------Primitif-primitif----------------------------------------
--------- Pembentuk Tanki Air ------------
Procedure CreateTanki(T : out TankiAir);
---I.S : sembarang
---F.S : terbentuk tangki kosong
{
10. Kamus Umum }
11. Type
12. TankiAir = record
13. VolumeTotal : real {Menyatakan daya tampung maksimum tanki}
14. VolumeCurrent : real {Menyatakan volume air saat tertentu}
15. end
16. T : PTankiAir { T adalah objek Tanki Air }
17. n : Integer { Kapasitas Air }
18. Tombol : Char { Tombol pemilihan aksi }
19. JumlahAir : Integer { Jumlah Air yang diambil }
20. {--Jika T adalah TankiAir, cara deklarasi dan akses :
21. ----Deklarasi :
22. ------ T : TankiAir
23. ------ T.VolumeCurrent untuk mengetahui banyaknya volume air pada saat tertentu.
24. ------ T.VolumeTotal untuk mengetahui daya tampung maksimum tanki
25. --Definisi
26. ---Tanki Kosong T.VolumeCurrent = 0 }
27. {------------------------Deklarasi Primitif-primitif---------------------------
28. --------- Pembentuk Tanki Air ------------}
29. Procedure CreateTanki(output V : TankiAir)
30. {---I.S : sembarang
31. ---F.S : terbentuk tangki kosong}
32. Algoritma
33. V.VolumeTotal <---n
34. V.VolumeCurrent<---0