Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions H071221057/Praktikum 10/3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
+===========================================================================
| Data yang Tersimpan
+===========================================================================
| Nama : Evan
| Email : evan@student.unhas.ac.id
| Password : Evan12345
11 changes: 11 additions & 0 deletions H071221057/Praktikum 10/Evan.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
+===========================================================================
| Data yang Tersimpan
+===========================================================================
| Nama : Pandu
| Email : pandu@student.unhas.ac.id
| Password : Evan12345
+===========================================================================
| Nama : Evan
| Email : pandu@student.unhas.ac.id
| Password : Pandu12345
+===========================================================================
94 changes: 94 additions & 0 deletions H071221057/Praktikum 10/Zoo.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
from abc import ABC, abstractmethod






#class abstract
#3.abstract adalah digunakan untuk memaksa anakan atau turunannya ada fungsi didalamnya.
#4.penggunaan abstract di kodeku itu ada pada self suara yg se buat untuk semua animal atau hewanku.
class Animal(ABC):
@abstractmethod
def suara(self):
pass
#polymorphism
def __init__(self, nama):
self.nama = nama

#Inharitance Hewan(Animal)
#5.Inheritance adalah pewarisan dari kelas parent ke child
#6.penggunaan inheritance di kodeku itu ada pada class animal terus turun ke hewan lalu turun ke kucing dan anjing.
class Hewan(Animal):
def __init__(self, nama):
super().__init__(nama)
#Encapsulation (_)
self._suara = "Suara"

#Polymorphism
#7.polymorphism adalah menggunakan interface publik pada setiap hewanku.
#8.penggunaan polymorphism di kodeku itu adalah pada kucing dan anjing bertarung menggunakan.
def serang(self,target):
#Encapsulation (_)
target._health -= self._power
#Polymorphism
def bergerak(self):
print("Bergerak dengan cara")
#Polymorphism
def bertarung(self):
print("Bertarung dengan")

#Inharitance
class Kucing(Hewan):
def __init__(self, nama):
super().__init__(nama)
#Encapsulation (_)
self._health = 200
#Encapsulation (_)
self._power = 100
#Polymorphism
def cekDarah(self):
#Encapsulation (_)
print(self._health)
#Polymorphism
def serang(self,target):
#Encapsulation (_)
target._health -= self._power
#Polymorphism
def bergerak(self):
print("Kucing bergerak dengan menggunakan kaki dan tangannya")
#Polymorphism
def bertarung(self):
print("Kucing bertarung dengan mengunakan cakarnya")
#Polymorphism
def suara(self):
print("Meow")
#Inharitance
class Anjing(Hewan):
def __init__(self, nama):
super().__init__(nama)
#Encapsulation (_)
#1.encapsulation adalah untuk menunjukkan atribut private
#2.penggunaan encapsulation di kodeku itu adalah untuk membuat atribut” tersendiri atau private kepada animal atau hewanku.
self._health = 250
#Encapsulation (_)
self._power = 50
#Polymorphism
def cekDarah(self):
#Encapsulation (_)
print(self._health)
#Polymorphism
def serang(self,target):
#Encapsulation (_)
target._health -= self._power
#Polymorphism
def bergerak(self):
print("Anjing bergerak dengan menggunakan kaki dan tangannya")
#Polymorphism
def bertarung(self):
print("Anjing bertarung menggunakan taringnya")
#Polymorphism
def suara(self):
print("Guk-guk")


Binary file not shown.
Binary file not shown.
6 changes: 6 additions & 0 deletions H071221057/Praktikum 10/hahaha.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
+===========================================================================
| Data yang Tersimpan
+===========================================================================
| Nama : Evan
| Email : evan@student.unhas.ac.id
| Password : EvanPandu69
158 changes: 158 additions & 0 deletions H071221057/Praktikum 10/no1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
import re
# list data
name = []
email = []
password = []
# regex
regex_email1 = r'@student[.]unhas[.]ac[.]id$'
regex_email2 = r'[A-Z]'
regex_email3 = r'[\s]'
regex_email4 = r'[!/,#$%^&*()_+=|{}[":;]'
regex_pw1 = r'[A-Z]'
regex_pw2 = r'[a-z]'
regex_pw3 = r'[\d]'
regex_file = r'Nama'
# function
def decoration(num):
print('='*num)
def pw_lemah():
print('Password yang Anda Masukkan Terlalu Lemah,')
print('Gunakan Minimal 1 Huruf Kapital, Huruf Kecil, dan Angka')

while True:
decoration(75)
print('''Selamat Datang Silahkan Pilih Opsi Menu Anda
1. Detail Anda\n2. Ubah Nama\n3. Jumlah Data pada File
4. Save Data pada File\n5. Buat Data Baru\n6. Keluar''')
opsi = input('Silahkan Pilih Opsi Anda : ')

if opsi == '1':
decoration(75)
if name:
print('Data anda adalah')
for i in range(len(name)):
print(f'Name : {name[i]}\nEmail : {email[i]}')
print(f'Password : {password[i]}')
else:
print('Data Saat Ini Kosong')

elif opsi == '2':
decoration(75)
if name:
for i in range(len(name)):
change = input(f'Silahkan Input Nama Baru Data ke-{i+1} : ')
name[i] = change
else:
print('Data Saat Ini Kosong')

elif opsi == '3':
decoration(75)
input_file = input('Silahkan Masukkan Nama File : ')
try:
with open(input_file + '.txt', 'r') as file:
isi = file.read()
total = isi.count(regex_file) # isi.count('Nama')
print('Berhasil')
print(f'Jumlah Data Pada File : {total} Data')
except:
print(f'Tidak Terdapat File Dengan Nama {input_file}.txt')
print('Jumlah Data Pada File : 0 Data')

elif opsi == '4':
decoration(75)
if name:
input_file = input('Silahkan Masukkan Nama File: ')
try:
with open(input_file + '.txt', 'r') as file1:
file1.read()
except:
with open(input_file + '.txt', 'w') as file2:
file2.write('+'+'='*75)
file2.write('\n| Data yang Tersimpan')
file2.write('\n+'+'='*75)

with open(input_file + '.txt', 'a') as file3:
for i in range(len(name)):
file3.write(f'\n| Nama : {name[i]}')
file3.write(f'\n| Email : {email[i]}')
file3.write(f'\n| Password : {password[i]}')
file3.write('\n+' + '='*75)
name.clear()
email.clear()
password.clear()
print('Berhasil')

else:
print('Data Saat Ini Kosong')

elif opsi == '5':
decoration(75)
input_name = input('Silahkan Masukkan Nama Anda : ')
name.append(input_name)

while True:
input_email = input('Silahkan Masukkan Email Anda : ')
cek1 = re.search(regex_email1, input_email)
if cek1:
cek2 = re.findall(regex_email2, input_email)
if cek2:
decoration(75)
print('Email yang Anda Masukkan Salah')
decoration(75)
else:
cek3 = re.findall(regex_email3, input_email)
if cek3:
decoration(75)
print('Email yang Anda Masukkan Salah')
decoration(75)
else:
cek4 = re.findall(regex_email4, input_email)
if cek4:
decoration(75)
print('Email yang Anda Masukkan Salah')
decoration(75)
else:
email.append(input_email)
break
else:
decoration(75)
print('Email yang Anda Masukkan Salah')
decoration(75)

while True:
input_pw = input('Silahkan Masukkan Password Anda : ')
if len(input_pw) >= 8 and len(input_pw) <= 20:
cek1 = re.findall(regex_pw1, input_pw)
if cek1:
cek2 = re.findall(regex_pw2, input_pw)
if cek2:
cek3 = re.findall(regex_pw3, input_pw)
if cek3:
password.append(input_pw)
break
else:
decoration(75)
pw_lemah()
decoration(75)
else:
decoration(75)
pw_lemah()
decoration(75)
else:
decoration(75)
pw_lemah()
decoration(75)
else:
decoration(75)
print('Password Harus Memiliki Panjang 8 - 20 karakter')
decoration(75)

elif opsi == '6':
decoration(75)
print('Sampai Jumpa Lagi')
break

else:
decoration(75)
print('Inputan Salah')
print('Silahkan Masukkan Ulang Opsi')
29 changes: 29 additions & 0 deletions H071221057/Praktikum 10/no2 (1).py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
from Zoo import Kucing, Anjing
kucing = Kucing("oren")
anjing = Anjing("coklat")

print("-"*30)
print("--- Cara kucing bergerak ---")
kucing.bergerak()
print("-"*30)
print("--- Cara anjing bergerak ---")
print("-"*30)
anjing.bergerak()

print("-"*30)
print("--- Cara kucing bertarung ---")
kucing.bertarung()
print("-"*30)

print("--- Cara anjing bertarung ---")
anjing.bertarung()
print("-"*30)

print("Kucing serang anjing")
print("--- Darah anjing sebelum diserang ---")
anjing.cekDarah()
kucing.serang(anjing)
print("--- Darah anjing setelah diserang ---")
anjing.cekDarah()


60 changes: 60 additions & 0 deletions H071221057/Praktikum 8/Nomor 1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
class Person:
def __init__(self, name, age, isMale, Idola, Asal_Sekolah):
self.name = name
self.age = age
self.isMale = isMale
self.Idola = Idola
self.Asal_Sekolah = Asal_Sekolah

def setAge(self, age):
self.age = int(age)

def getAge(self):
return self.age

def setName(self, name):
self.name = name

def getName(self):
return self.name

def setGender(self, isMale):
self.isMale = isMale

def getGender(self):
if isMale == True:
self.isMale = 'male'
return self.isMale
elif isMale == False:
self.isMale = 'female'
return self.isMale

def setIdola(self, Idola):
self.Idola = Idola

def getIdola(self):
return self.Idola

def setAsal_Sekolah(self, Asal_Sekolah):
self.Asal_Sekolah = Asal_Sekolah

def getAsal_Sekolah(self):
return self.Asal_Sekolah

name = input('Masukkan nama: ')
age = int(input('Masukkan umur: '))
isMale = input('is Male? True / False: ').upper()
if isMale == 'TRUE':
isMale == bool(True)
elif isMale == 'FALSE':
isMale = bool(False)
Idola = input('Masukkan Idola Anda: ')
Asal_Sekolah = input('Sekolah: ')

person = Person(name, age, isMale, Idola, Asal_Sekolah)
print('\nNama saya ' + person.getName())
print(f'Sekarang saya berumur {person.getAge()} tahun')
print(f'Saya berjenis kelamin {person.getGender()}')
print('Idola Saya ' + person.getIdola())
print('Saya berasal dari ' + person.getAsal_Sekolah())

Loading