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
100 changes: 100 additions & 0 deletions H071221042/Tugas Praktikum 10/no1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
import re
import os
def bikindata ():
data = {
"Nama" : input("Masukkan nama: "),
"email" : "",
"password" : ""
}
cekemail= 0
while cekemail== 0:
data ["email"]= input("Masukkan email: ")
cekEmail = "^[a-z0-9]{1,}@student.unhas.ac.id$"
if re.search(cekEmail, data["email"]):
cekemail= 1
else:
print("=" * 60)
print("Format email salah\nSilahkan masukkan email lagi!")
print("=" * 60)
cekpassword= 0
while cekpassword == 0:
data ["password"]= input("Masukkan password: ")
cekpass= "^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,20}$"
if len(data["password"]) >= 8:
if re.search(cekpass, data["password"]):
cekpassword= 1
else:
print("=" * 60)
print("Password Terlalu Lemah")
print("Harus Memiliki Minimal 1 Huruf Kapital, Huruf Kecil, dan juga Angka")
print("=" * 60)
else:
print("=" * 60)
print("Panjang Password harus 8-20 Karakter")
print("=" * 60)
return data

def jumlahdata():
namafile= input("Masukkan Nama File: ")
x= "@student.unhas.ac.id"
try:
with open(f"{namafile}.txt", "r") as item:
jumlah= re.findall(x, item.read())
print("Berhasil")
print(f"Jumlah data di File: {jumlah.count(x)} Data")
except FileNotFoundError:
print(f"Tidak Ada File dengan Nama {namafile}.txt")
print("Jumlah Data Pada File: 0")

def savedata():
file = input("Input Nama File: ")
if os.path.exists("{file}.txt"):
item.write("+" + "="*50 + "\n")
item.write("|Data yang Tersimpan\n")
item.write("+" + "="*50 + "\n")
with open(f"{file}.txt", "w") as item:
for x, value in data.items():
item.write(f"|{x} : {value}\n")

else:
with open(f"{file}.txt", "a") as item2:
for z, value in data.items():
item2.write(f"|{z} : {value}\n")
print("Berhasil")



data= None
while True:
print("="*60)
print("Selamat Datang\nSilahkan Pilih Opsi Di Menu Anda")
print("1. Detail Anda\n2. Ubah Nama\n3. Jumlah Data pada File\n4. Save Data pada File\n5. Buat Data Baru\n6. Keluar")
x= int(input("Pilih Opsi: "))
print("="*60)
match x:
case 1:
if data == None:
print("Data saat ini kosong")
else:
print("Data Anda adalah")
for key, value in data.items():
print(f"{key} : {value}")
case 2:
if data == None:
print("Data saat ini kosong")
else:
data["Nama"] = input("Masukkan Nama Baru: ")
print("Berhasil")
case 3:
jumlahdata()
case 4:
if data== None:
print("Data saat ini kosong")
else:
savedata()
case 5:
data= bikindata()
case 6:
print("Terima Kasih Telah Menggunakan Program")
print("=" * 50)
break
50 changes: 50 additions & 0 deletions H071221042/Tugas Praktikum 10/no2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
from abc import ABC, abstractclassmethod

class MahklukHidup(ABC):

@abstractclassmethod
def setGender(self):
pass
def getGender(self):
pass

class Hewan(MahklukHidup):
def __init__(self, nama, gender):
self.__nama= nama
self._gender= gender

def setNama(self, nama):
self.nama= nama
def getNama(self):
return self.nama

def setGender(self, gender):
self.gender= gender
def getGender(self):
if self.gender == True:
return 'Jantan'
else:
return 'Betina'

class Unggas(Hewan):
def __init__(self, nama, gender):
super().__init__(nama, gender)


def Bergerak(self):
print("Unggas Bergerak dengan Cara Terbang")

class Amfibi(Hewan):
def __init__(self, nama, gender):
super().__init__(nama, gender)

def Bergerak(self):
print("Amfibi Bergerak Dengan Cara Berenang")


ayam= Unggas("Ayam", True)
ayam.Bergerak()

kodok= Amfibi("Kodok", True)
kodok.Bergerak()
print(ayam.__dict__)
9 changes: 9 additions & 0 deletions H071221042/Tugas Praktikum 7/no1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import re

x= input()
y= re.search("^[a-zA-Z02468]{40}[13579 ]{5}$", x)

if y:
print('true')
else:
print('false')
17 changes: 17 additions & 0 deletions H071221042/Tugas Praktikum 7/no2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import re
a= int(input())
ip= []

for i in range(a):
x= input()
ip.append(x)
for i in ip:
z= re.search("^([0-9a-f]{1,4}:){7}([0-9a-f]{1,4})", i)
y= re.search("^([0-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|2[5][0-5].){3}([0-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|2[5][0-5])$", i)

if z:
print('IPv6')
elif y:
print('IPv4')
else:
print('Bukan keduanya')
44 changes: 44 additions & 0 deletions H071221042/Tugas Praktikum 8/no1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
class Person:
def __init__(self, name, age, gender, makanan):
self.name= name
self.age= age
self.gender= gender
self.makanan= makanan

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

def setAge(self, age):
self.age= age
def getAge(self):
return self.age

def setGender(self, gender):
self.gender= gender
def getGender(self):
if self.gender == True:
return 'Laki-laki'
else:
return 'Perempuan'

def setMakanan(self, makanan):
self.makanan= makanan
def getMakanan(self):
return self.makanan

person1= Person('KELVIN', '18', True, 'Nasi goreng')
print(person1.getName())
print(person1.getAge())
print(person1.getGender())
print(person1.getMakanan())
person1.setName('Fail')
person1.setAge('20')
person1.setGender(False)
person1.setMakanan('Ayam bakar')
print(person1.getName())
print(person1.getAge())
print(person1.getGender())
print(person1.getMakanan())
print(person1.__dict__)
45 changes: 45 additions & 0 deletions H071221042/Tugas Praktikum 8/no2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
class Kubus:
def __init__(self, lebar, tinggi, panjang):
self.lebar= lebar
self.tinggi= tinggi
self.panjang= panjang
self.massa= 0
self.massaJenis= 0

def setLebar(self, lebar):
self.lebar= lebar

def setTinggi(self, tinggi):
self.tinggi= tinggi

def setPanjang(self, panjang):
self.panjang= panjang

def setMassa(self, massa):
self.massa= massa

def getMassaJenis(self):
return self.massa/(self.lebar*self.tinggi*self.panjang)

lebar= float(input())
tinggi= float(input())
panjang= float(input())
massa= float(input())

kubus= Kubus(lebar, tinggi, panjang)

kubus.setMassa(massa)
print("Massa Jenis =", kubus.getMassaJenis())

kubus.setMassa(massa*2)
print("Massa jenis =", kubus.getMassaJenis())

kubus.setLebar(60)
kubus.setTinggi(40)
kubus.setPanjang(10)

kubus.setMassa(massa)
print("Massa Jenis =", kubus.getMassaJenis())

kubus.setMassa(massa*2)
print("Massa jenis =", kubus.getMassaJenis())
18 changes: 18 additions & 0 deletions H071221042/Tugas Praktikum 9/Perintah.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
from no1 import Warrior, Assasin, Support

warrior = Warrior("bambang", pos_x=10)
assassin = Assasin("joko", pos_x=25)
support = Support("udin",pos_x=30)
# sebelum
print("health (before)", warrior.getHealth())
assassin.attack(warrior)
# sesudah
print("health (after)", warrior.getHealth())
print("-"*10)
# sebelum
print("Warrior (health)", warrior.getHealth())
print("Support (speed) : ",support.getSpeed())
support.special(warrior)
# sesudah
print("Warrior (health)", warrior.getHealth())
print("Support (speed): ",support.getSpeed())
86 changes: 86 additions & 0 deletions H071221042/Tugas Praktikum 9/no1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
class Human:
def __init__(self, name, position):
self.name= name
self.__position = position

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

def setMovement(self, arah):
if arah == "L":
self.__position = self.__position - self.speed

elif arah == "R":
self.__position = self.__position + self.speed

def getMovement(self):
return self.__position

class Hero(Human):
def __init__(self, name, position):
super().__init__(name, position)
self._power= 15
self._health= 400
self._armor= 15
self._speed= 3
self.target= None

def setPower(self, power):
self._power= power
def getPower(self):
return self._power

def setHealth(self, health):
self._health= health
def getHealth(self):
return self._health

def setArmor(self, armor):
self._armor= armor
def getArmor(self):
return self._armor

def setSpeed(self, speed):
self._speed= speed
def getSpeed(self):
return self._speed

def attack(self, target):
target._health= target._health-self._power


class Warrior(Hero):
def __init__(self, name, pos_x):
super().__init__(name, pos_x)
self._power= 26
self._armor= 30

def special(self, target):
self._armor= 45
self._power= 32
target._health= target._health - self._power

class Assasin(Hero):
def __init__(self, name, pos_x):
super().__init__(name, pos_x)
self._power= 35
self._speed= 4

def special(self, target):
self._speed= 7
self._power= 42
target._health= target._health - self._power


class Support(Hero):
def __init__(self, name, pos_x):
super().__init__(name, pos_x)
self._health= 500
self._armor= 8
self._speed= 4

def special(self, target):
self._speed= 6
target._health= target._health + 150