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
74 changes: 74 additions & 0 deletions H071221075/Tugas Praktikum 10/Nomor 1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
import re
# from prettytable import PrettyTable
_Data = []
while True:
print(100*"="+"""\nPILIHAN LAYANAN
1. Detail Anda
2. Ubah Nama
3. Jumlah Data Pada File
4. Save Data pada File
5. Buat Data Baru
6. Keluar """)
_inputan = int(input(100*"="+"\nPilihan : "));
if _inputan == 1: # Menampilkan Data Diri yang ada dalam list _Data
if len(_Data) > 0:
print(100*"=")
for i in range(len(_Data)):
for y in range(len(_Data[0])):
print(f'{_Data[i][y]}')
else:
print(100*"="+"\nData saat ini kosong!\n"+100*"=")
elif _inputan == 2: # Mengubah nama dalam list _Data
if len(_Data) != 0:
print(100*"=")
for i in range(len(_Data)):
for y in range(len(_Data[0])):
if y == 1 or y == 2:
continue
print(f'Urutan {i+1} {_Data[i][y]}')
_newName = list(map(str, input("Masukkan Index dan nama baru (Urutan NamaBaru) : ").split()))
_Data[int(_newName[0])-1][0] = "Nama : "+_newName[1]
elif len(_Data) == 0:
print(100*"="+"\nData Tidak Ditemukan!\n"+100*"=")
elif _inputan == 3: # Menampilkan jumlah data pada file <namaFile>.txt
_file = input("Masukkan fIle : ")+".txt"
try:
with open(_file) as baca:
dataFILE = re.findall(r"@student.unhas.ac.id", baca.read())
print(f"Jumlah Data adalah {dataFILE.count('@student.unhas.ac.id')}")
except FileNotFoundError:
print(100*"="+f"\nTidak Terdapat File Dengan Nama {_file}")
print("Jumlah data pada file = 0\n"+100*"=")
elif _inputan == 4: # Menulis data pada list ke File <namaFile>.txt
if len(_Data) == 0:
print(100*"="+"\nData Sata Ini Kosong!\n"+100*"=")
else:
_FILE = input("Nama File : ")+".txt"
with open(_FILE, "a") as tulis:
tulis.write("\n")
for i in range(len(_Data)):
for y in range(len(_Data[0])):
tulis.write(_Data[i][y]+"\n")
tulis.write(100*"=")
_Data = []
elif _inputan == 5: # Memasukkan data baru kedalam list _Data
nama = input(100*"="+"\nNama : "); print(100*"=")
while True:
Email = input("Email : ")
if re.search(r"^[a-z0-9]{1,}@student[.]unhas[.]ac[.]id$", Email):
break
else:
print(100*"="+"\nEmail Yang Anda Masukkan salah\n"+100*"=")
while True:
_Pass = input(100*"="+"\nMasukkan Password : "); print(100*"=")
if len(_Pass) > 8:
if re.search('^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,20}$', _Pass):
break
else:
print("Password yang anda masukkan terlalu lemah, gunakan minimal 1 huruf kapital, huruf kecil, dan angka")
else:
print("Password Harus Memiliki 8-20 Karakter")
_Data.insert(len(_Data), ["Nama : " + nama,"E-mail : "+ Email, "Password : "+ _Pass]); print("Berhasil")
elif _inputan == 6: # Keluar dari program/menyelesaikan while
print(100*"="+"\nSampai Jumpa Lagi\n"+100*"=")
break
42 changes: 42 additions & 0 deletions H071221075/Tugas Praktikum 10/Nomor 2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
class Elektronik:
def __init__(self, merk) -> None:
self.harga = 0
self.merk = merk

def setHarga(self, harga):
self.harga = harga

def getHarga(self):
return self.harga

def nyalakan(self):
print(f"{self.merk} Menyela")

class Handphone(Elektronik):
def __init__(self, merk, harga):
super().__init__(merk)
self.harga = harga
self.baterai = 5

def charge(self):
self.baterai = 100

def layar(self):
print(f"{self.merk} Layarnya Kecil")


class Laptop(Elektronik):
def __init__(self, merk, harga):
super().__init__(merk)
self.harga = harga
self.baterai = 10

def layar(self):
print(f"{self.merk} Layarnya Besar")


HP = Handphone("Samsung", 5000)
laptop = Laptop("Asus", 20000)

HP.layar()
laptop.layar()
Empty file.
5 changes: 2 additions & 3 deletions H071221075/Tugas Praktikum 3/Nomor 2.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Soal Modul
# # Soal Modul
n = int(input("Jumlah angka : "))
a = 0 ; b = 1 ; c = a + b
for i in range(n):
Expand All @@ -7,8 +7,7 @@

# Soal Prak
while True:
derajat = (input("Masukkan derajat :"))
c = ''
derajat = (input("Masukkan derajat :")) ; c = ''
if derajat is not c:
waktu = (1 / 15) * 3600 * float(derajat)
jam = waktu // 3600
Expand Down
6 changes: 3 additions & 3 deletions H071221075/Tugas Praktikum 6/Nomor 2.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
file_as[-1] += "\n"
for x in file_as:
n.append(len(x))
with open(b, "w") as salinan:
for i in file_as:
salinan.write(i.rjust(max(n)))
with open(b, "w") as salinan:
for i in file_as:
salinan.write(i.rjust(max(n)))
print("Berhasil")
except:
print("Gagal")
3 changes: 3 additions & 0 deletions H071221075/Tugas Praktikum 7/Nomor 1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import re
x = input()
print(True) if re.search(r"^[24680a-zA-Z]{40}[13579\s]{5}$", x) else print(False)
14 changes: 14 additions & 0 deletions H071221075/Tugas Praktikum 7/Nomor 2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import re
x = int(input()) ; ip_lst = []
for i in range(x):
string_ = input()
ip_lst.append(string_)
def IP(c):
if re.search(r"^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]?[0-9]).){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]?[0-9])$", c):
return "IPv4"
elif re.search(r"^([\da-f]{1,4}:){7}([\da-f]{1,4}){1}$", c):
return "IPv6"
else:
return "Bukan iP address"
for i in ip_lst:
print(IP(i))
29 changes: 29 additions & 0 deletions H071221075/Tugas Praktikum 8/Nomor 1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
class human:
def __init__(self, name, age, isMale, tinggi):
self.name = name
self.age = age
self.isMale = isMale
self.tinggi = tinggi
def setTinggi(self, tinggi):
self.tinggi = tinggi
def getTinggi(self):
return self.tinggi
def setAge(self, age):
self.age = 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 self.isMale == True:
return("Male")
elif self.isMale == False:
return("Female")
Rio = human("Rio", 19, True, 171)
Kelvin = human("kelvin",20,False,140)
print(Rio.getGender())
print(Kelvin.getGender())
24 changes: 24 additions & 0 deletions H071221075/Tugas Praktikum 8/Nomor 2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
class BangunRuang:
def __init__(self, lebar, tinggi, panjang):
self.lebar = lebar
self.tinggi = tinggi
self.panjang = panjang
def setTinggi(self, tinggi):
self.tinggi = tinggi
def setPanjang(self, panjang):
self.panjang = panjang
def setLebar(self, lebar):
self.lebar = lebar
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 = BangunRuang(lebar,tinggi,panjang)
Kubus.setMassa(massa)
print("Massa Jenis =", Kubus.getMassaJenis())
Kubus.setMassa(massa * 2)
print("Massa Jenis =", Kubus.getMassaJenis())
104 changes: 104 additions & 0 deletions H071221075/Tugas Praktikum 9/Hero.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
class Human:


def __init__(self, nama, pos_x):
self.name = nama
self.__pos_x = pos_x

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

def getName(self):
return self.name

def setPosx(self, posx):
self.__pos_x = posx

def getPosx(self):
return self.__pos_x

def move_Setter(self, arah):
if arah == "L": self.__pos_x -= self._speed
elif arah == "R": self.__pos_x += self._speed

def move_Getter(self):
return self.__pos_x

class Hero(Human):


def __init__(self,nama, pos_x):
super().__init__(nama, pos_x)
self._power = 15
self._health = 400
self._armor = 15
self._speed = 3

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

def setPower(self, pwr):
self._power = pwr

def getPower(self):
return self._power

def setHealth(self, hlt):
self._health = hlt

def getHealth(self):
return self._health

def setArmor(self, arm):
self._armor = arm

def getArmor(self):
return self._armor

def setSpeed(self, spd):
self._speed = spd

def getSpeed(self):
return self._speed


class Warrior(Hero):


def __init__(self,nama, pos_x):
super().__init__(nama, pos_x)
self._armor = 30
self._power = 26

def setSpecial(self, target):
self._armor = 45
self._power = 32
self.attack(target)

class Support(Hero):


def __init__(self,nama, pos_x):
super().__init__(nama, pos_x)
self._armor = 8
self._speed = 4
self._health = 500

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


class Assassin(Hero):

def __init__(self,nama, pos_x):
super().__init__(nama, pos_x)
self.armor = 4
self._power = 35

def setSpecial(self,target):
self._speed = 7
self._power = 42
self.attack(target)


24 changes: 24 additions & 0 deletions H071221075/Tugas Praktikum 9/Program.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
from Hero import Warrior, Assassin, Support
warrior = Warrior("bambang",pos_x=10)
assassin = Assassin("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.setspecial(warrior)
# sesudah
print("Warrior (health)", warrior.getHealth())
print("Support (speed): ",support.getSpeed())
support.move_Setter("L")
print(f"support posisi = {support.move_Getter()}")
print(warrior.name)
print("Before", assassin.getHealth())
warrior.setSpecial(assassin)
print("After", assassin.getHealth())
print(warrior.getArmor(), warrior.getPower())
Binary file not shown.