return self.is_activated() and not self.is_trial_expired()
# Contoh penggunaan program
license = SharewareLicense(trial_days=30)
print("Program Shareware")
print("1. Aktivasi")
print("2. Cek Lisensi")
print("3. Keluar")
while True:
choice = input("Pilih opsi: ")
if choice == "1":
if license.is_activated():
print("Lisensi sudah diaktifkan sebelumnya.")
else:
license.activate()
print("Lisensi berhasil diaktifkan.")
elif choice == "2":
if license.is_license_valid():
print("Lisensi masih berlaku.")
elif license.is_activated() and license.is_trial_expired():
print("Masa percobaan telah berakhir.")
else:
print("Lisensi belum diaktifkan.")
elif choice == "3":
break
else:
print("Opsi tidak valid. Silakan pilih opsi yang benar.")
```
Program di atas adalah contoh sederhana dari program berlisensi Shareware. Program ini memiliki opsi untuk mengaktifkan lisensi, memeriksa status lisensi, dan keluar dari program. Lisensi Shareware ini memiliki periode percobaan selama 30 hari. Setelah lisensi diaktifkan, program akan memeriksa apakah lisensi masih berlaku atau sudah melewati masa percobaan.
Jawaban:
Berikut adalah contoh program berlisensi Shareware dalam bahasa pemrograman Python:
```python
import datetime
class SharewareLicense:
def __init__(self, trial_days):
self.trial_days = trial_days
self.activation_date = None
def activate(self):
self.activation_date = datetime.date.today()
def is_activated(self):
return self.activation_date is not None
def is_trial_expired(self):
if self.is_activated():
current_date = datetime.date.today()
trial_period = datetime.timedelta(days=self.trial_days)
expiration_date = self.activation_date + trial_period
return current_date > expiration_date
else:
return False
def is_license_valid(self):
return self.is_activated() and not self.is_trial_expired()
# Contoh penggunaan program
license = SharewareLicense(trial_days=30)
print("Program Shareware")
print("1. Aktivasi")
print("2. Cek Lisensi")
print("3. Keluar")
while True:
choice = input("Pilih opsi: ")
if choice == "1":
if license.is_activated():
print("Lisensi sudah diaktifkan sebelumnya.")
else:
license.activate()
print("Lisensi berhasil diaktifkan.")
elif choice == "2":
if license.is_license_valid():
print("Lisensi masih berlaku.")
elif license.is_activated() and license.is_trial_expired():
print("Masa percobaan telah berakhir.")
else:
print("Lisensi belum diaktifkan.")
elif choice == "3":
break
else:
print("Opsi tidak valid. Silakan pilih opsi yang benar.")
```
Program di atas adalah contoh sederhana dari program berlisensi Shareware. Program ini memiliki opsi untuk mengaktifkan lisensi, memeriksa status lisensi, dan keluar dari program. Lisensi Shareware ini memiliki periode percobaan selama 30 hari. Setelah lisensi diaktifkan, program akan memeriksa apakah lisensi masih berlaku atau sudah melewati masa percobaan.