From 272266aefe0f480615444ce33f2a1fa7b6548bea Mon Sep 17 00:00:00 2001 From: riooorante Date: Sat, 29 Oct 2022 23:39:53 +0800 Subject: [PATCH 01/10] Tugas-7 --- H071221075/Tugas Praktikum 7/Nomor 1.py | 3 +++ H071221075/Tugas Praktikum 7/Nomor 2.py | 14 ++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 H071221075/Tugas Praktikum 7/Nomor 1.py create mode 100644 H071221075/Tugas Praktikum 7/Nomor 2.py diff --git a/H071221075/Tugas Praktikum 7/Nomor 1.py b/H071221075/Tugas Praktikum 7/Nomor 1.py new file mode 100644 index 0000000..6008cc9 --- /dev/null +++ b/H071221075/Tugas Praktikum 7/Nomor 1.py @@ -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) \ No newline at end of file diff --git a/H071221075/Tugas Praktikum 7/Nomor 2.py b/H071221075/Tugas Praktikum 7/Nomor 2.py new file mode 100644 index 0000000..de429e6 --- /dev/null +++ b/H071221075/Tugas Praktikum 7/Nomor 2.py @@ -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)) \ No newline at end of file From 43bd15004396fb072b80c4f2daa5667573ad511a Mon Sep 17 00:00:00 2001 From: riooorante Date: Sat, 5 Nov 2022 11:07:44 +0800 Subject: [PATCH 02/10] Tugas-8 --- H071221075/Tugas Praktikum 8/Nomor 1.py | 28 +++++++++++++++++++++++++ H071221075/Tugas Praktikum 8/Nomor 2.py | 24 +++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 H071221075/Tugas Praktikum 8/Nomor 1.py create mode 100644 H071221075/Tugas Praktikum 8/Nomor 2.py diff --git a/H071221075/Tugas Praktikum 8/Nomor 1.py b/H071221075/Tugas Praktikum 8/Nomor 1.py new file mode 100644 index 0000000..22ff2d1 --- /dev/null +++ b/H071221075/Tugas Praktikum 8/Nomor 1.py @@ -0,0 +1,28 @@ +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) + diff --git a/H071221075/Tugas Praktikum 8/Nomor 2.py b/H071221075/Tugas Praktikum 8/Nomor 2.py new file mode 100644 index 0000000..477bc4d --- /dev/null +++ b/H071221075/Tugas Praktikum 8/Nomor 2.py @@ -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()) \ No newline at end of file From b8f9cd2f0b1e3dc438afc99ce6479d2e6ace0b73 Mon Sep 17 00:00:00 2001 From: riooorante Date: Sat, 12 Nov 2022 12:53:46 +0800 Subject: [PATCH 03/10] Tugas-9 --- H071221075/Tugas Praktikum 3/Nomor 2.py | 5 +- H071221075/Tugas Praktikum 9/Hero.py | 104 ++++++++++++++++++ H071221075/Tugas Praktikum 9/Program.py | 23 ++++ .../__pycache__/Hero.cpython-310.pyc | Bin 0 -> 3990 bytes 4 files changed, 129 insertions(+), 3 deletions(-) create mode 100644 H071221075/Tugas Praktikum 9/Hero.py create mode 100644 H071221075/Tugas Praktikum 9/Program.py create mode 100644 H071221075/Tugas Praktikum 9/__pycache__/Hero.cpython-310.pyc diff --git a/H071221075/Tugas Praktikum 3/Nomor 2.py b/H071221075/Tugas Praktikum 3/Nomor 2.py index 728e925..4a06a50 100644 --- a/H071221075/Tugas Praktikum 3/Nomor 2.py +++ b/H071221075/Tugas Praktikum 3/Nomor 2.py @@ -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): @@ -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 diff --git a/H071221075/Tugas Praktikum 9/Hero.py b/H071221075/Tugas Praktikum 9/Hero.py new file mode 100644 index 0000000..043c292 --- /dev/null +++ b/H071221075/Tugas Praktikum 9/Hero.py @@ -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) + + diff --git a/H071221075/Tugas Praktikum 9/Program.py b/H071221075/Tugas Praktikum 9/Program.py new file mode 100644 index 0000000..f787916 --- /dev/null +++ b/H071221075/Tugas Praktikum 9/Program.py @@ -0,0 +1,23 @@ +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()) \ No newline at end of file diff --git a/H071221075/Tugas Praktikum 9/__pycache__/Hero.cpython-310.pyc b/H071221075/Tugas Praktikum 9/__pycache__/Hero.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f1886110af7bd32ee4b9f957c65d58daefe8c844 GIT binary patch literal 3990 zcmbtXOK%%h6rPvuu@k#anj$ErL=-9vw6uYewklOaD;iK`nFgtnWicB0P7@P5Hg{~= zM&7kjx2#yV%lxI;vhq5tSn+*lJhq$IjRj-PxsP+_oO@p1y>938IRnpy^X+=aHH^PF zn0y=z?%)j{g4{Qhq0AR}pIcRqEM;S42gY-|YGUlD6vnB*#Mr_(tuh#AWNc&Xsw~D? z89OSsWt0}`ko(4CVRQ#?cn>5ns-`lkmNJ#~!l>HHRt{R|QE9X(l~FF*w92X++KgII zi)dYyR|T|LbqYF)QEIc-^7raCBqk60RCO0`SOn>teZw>Q7ARD183$&$WJS)N-wL9< zCjvaL(+<6-2X^FyLG!UN{U{Yr8afLp|2$MTYZcwz)_$wi*xRmEo^^NHd$pf?+kSYd zqW#@&W4G6;J=plJQdwK8ZC+Wwy0&)p%KEi<$?9my>W$iFpxc)_&m!0J8heed=P?=~ zN!rYr`vuw5<%C(MImyF*V%{M`9GgeOH0KXYO%IeTokpWGB;0>Y_(7BjgKintBQ1HSmlsYH!+($?DM5V4=J>7{F-Rfd5ob_bRAW*9jjU3cT|%esTp!+8m1SqJTZrE z8Jbgd5R#|U?5SYBz>iLWOjyJDnbv5ghp5pj>@AT@v4TQ`cX~oNY!KnJEP2?c_a*mk zq0={&xohb{-*DhGIL^F|=y@o&E%Gez&W(BNBOduByBwJhBJ&}Prw^jE7j}X`jeOy2 zf9L3S7h3J#18*znb_20VlIonfYVI$^5uV`xFTcc!?u(*#u{$lknN$+<%B39BoYm%e zQO@&PZPjbCzvy|t_55bc(aaJp5nN{P49PnrXGz{C8AnEX%w?SKLhC+&y80ms@ZyNnLuK|m8A$;w)7okqo0z*aLNOwdE*aQKcIk8I!cATPN2n& zNR&?dNuZ;Qw-fly?hYn=-D+$79@gp<$blJUJ+I#M!_f0$$BH`{h4XkrjtXX4egY3f zteJqsJ>2DIETg`8JlCbjkhmX%uP=Zc#P}4YyS_#xO~jU(qqN`c`t{vU&<|NuE9U-! zfMz^DA8=4lQY?1oi9V{t1=>~Us86vl0S?-k%+FIGpYz*kz~Kr&K)S3LA_t`>^Ya-& zkByAjX&&=b7MtCaC|@2~Q4m*+81tARA5SwQi|xkpuTs9)5z8Mj<}-w`92tUioED7@ zX6e@>JMxJgGCz+Qvd3v=Fd8CdePl%}J(-`+2o})Dh_Iuk8L>r>zIogTnV-i9alkAi zM9R0vjga|LL7yY*0}|G846B3}{RPP-k}pZFkgSn>MRJYg8xUNHVqB;P&1QlPg0~mB zL{Q>G^oYnI0opYdZ8wvEZrm1a%{6trZ#?#JbjYlJ8}tfvrU0F(DD%kIy3y7%(esdo zz6CwwqjbPk10E(NM}LGSb`7&q07+m`i;d&cg>ZNeuUvZwhk(N3a6c!b;UTpNc;iCN z+h^Z+W%bS1Cg6RzDaK>43R1H5cq1 z0i84W69ix|-pZ_yg>lFpVg2xuzl?w-yFtK)3rf=i#!$}=81u7C$)kX!HRnzYn7a{% zIR6{R|31<0ELBYugSq;9w1W#AOw>*_1r*1ng7Y(@@C%uQtNo=!-O29Px2Xzl=D(K# zs{!R9ZWdj$%0n}6>v;8dAp56B3dbd(?~*+&?|%fNhBtAeg}mon8M%iHGz8G362!a0 en-C--b66L-x8fV_ZGIKsqm1I&;>BWqrSLDt7osx& literal 0 HcmV?d00001 From 1cad6551de23ddc0ddceb3bfcac9669e145fbf15 Mon Sep 17 00:00:00 2001 From: riooorante Date: Sat, 12 Nov 2022 13:27:07 +0800 Subject: [PATCH 04/10] Tugas-9 --- H071221075/Tugas Praktikum 8/Nomor 1.py | 3 ++- H071221075/Tugas Praktikum 9/Program.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/H071221075/Tugas Praktikum 8/Nomor 1.py b/H071221075/Tugas Praktikum 8/Nomor 1.py index 22ff2d1..2d00132 100644 --- a/H071221075/Tugas Praktikum 8/Nomor 1.py +++ b/H071221075/Tugas Praktikum 8/Nomor 1.py @@ -25,4 +25,5 @@ def getGender(self): return("Female") Rio = human("Rio", 19, True, 171) Kelvin = human("kelvin",20,False,140) - +print(Rio.getGender()) +print(Kelvin.getGender()) diff --git a/H071221075/Tugas Praktikum 9/Program.py b/H071221075/Tugas Praktikum 9/Program.py index f787916..c73d06e 100644 --- a/H071221075/Tugas Praktikum 9/Program.py +++ b/H071221075/Tugas Praktikum 9/Program.py @@ -20,4 +20,5 @@ print(warrior.name) print("Before", assassin.getHealth()) warrior.setSpecial(assassin) -print("After", assassin.getHealth()) \ No newline at end of file +print("After", assassin.getHealth()) +print(warrior.getArmor(), warrior.getPower()) \ No newline at end of file From ea28894b581cca1974e317649e2c9f0680fadb5c Mon Sep 17 00:00:00 2001 From: riooorante Date: Sat, 12 Nov 2022 22:19:50 +0800 Subject: [PATCH 05/10] Perbaikan-Tugas6 --- H071221075/Tugas Praktikum 6/Nomor 2.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/H071221075/Tugas Praktikum 6/Nomor 2.py b/H071221075/Tugas Praktikum 6/Nomor 2.py index f18115e..16a80cc 100644 --- a/H071221075/Tugas Praktikum 6/Nomor 2.py +++ b/H071221075/Tugas Praktikum 6/Nomor 2.py @@ -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") From 34b0a36934ada716d1d6ade74558d5519acbe87d Mon Sep 17 00:00:00 2001 From: riooorante Date: Wed, 16 Nov 2022 23:52:55 +0800 Subject: [PATCH 06/10] Tugas-10 --- H071221075/Tugas Praktikum 10/Nomor 1.py | 22 ++++++++++++++++++++++ H071221075/Tugas Praktikum 10/Nomor 2.py | 3 +++ 2 files changed, 25 insertions(+) create mode 100644 H071221075/Tugas Praktikum 10/Nomor 1.py create mode 100644 H071221075/Tugas Praktikum 10/Nomor 2.py diff --git a/H071221075/Tugas Praktikum 10/Nomor 1.py b/H071221075/Tugas Praktikum 10/Nomor 1.py new file mode 100644 index 0000000..6ecd57f --- /dev/null +++ b/H071221075/Tugas Praktikum 10/Nomor 1.py @@ -0,0 +1,22 @@ +while True: + print("""" +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(" ")) + if _inputan == 1: + print("Jumlah data :") if jumlahdata > 0 else print("Data saat ini kosong!") + elif _inputan == 2: + _Nama = input("") if jumlahdata > 0 else print("Data saat ini kosong!") + elif _inputan == 3: + _file = input("Masukkan fle")+".txt" + try: + print("Jumlah Data adalah") + except FileNotFoundError: + print(f"Tidak Terdapat File Dengan Nama {_file}") + elif _inputan == 4: + diff --git a/H071221075/Tugas Praktikum 10/Nomor 2.py b/H071221075/Tugas Praktikum 10/Nomor 2.py new file mode 100644 index 0000000..ad486a9 --- /dev/null +++ b/H071221075/Tugas Praktikum 10/Nomor 2.py @@ -0,0 +1,3 @@ +class Hero: + def __init__(self) -> None: + pass \ No newline at end of file From a9aa1a912b357c898913dc75dcd24febc2a638e9 Mon Sep 17 00:00:00 2001 From: riooorante Date: Thu, 17 Nov 2022 22:36:21 +0800 Subject: [PATCH 07/10] Tugas-10.2 --- H071221075/Tugas Praktikum 10/Nomor 1.py | 40 ++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/H071221075/Tugas Praktikum 10/Nomor 1.py b/H071221075/Tugas Praktikum 10/Nomor 1.py index 6ecd57f..6de85bd 100644 --- a/H071221075/Tugas Praktikum 10/Nomor 1.py +++ b/H071221075/Tugas Praktikum 10/Nomor 1.py @@ -1,3 +1,6 @@ +import re + +_Data = [[]] while True: print("""" 1. Detail Anda @@ -9,14 +12,45 @@ """) _inputan = int(input(" ")) if _inputan == 1: - print("Jumlah data :") if jumlahdata > 0 else print("Data saat ini kosong!") + print(f"Jumlah data : {len(_Data)}") if _Data > 0 else print("Data saat ini kosong!") elif _inputan == 2: _Nama = input("") if jumlahdata > 0 else print("Data saat ini kosong!") elif _inputan == 3: _file = input("Masukkan fle")+".txt" try: - print("Jumlah Data adalah") + with open(_file) as baca: + for i in baca: + dataFILE = re.findall(r"ac.id", i) + print(f"Jumlah Data adalah {dataFILE.count('ac.id')}") except FileNotFoundError: print(f"Tidak Terdapat File Dengan Nama {_file}") - elif _inputan == 4: + elif _inputan == 4: + if len(_Data) == 0: print("Data Sata Ini Kosong!") + else: + _FILE = input("Nama File : ")+".txt" + with open(_FILE, a) as tulis: + for i in range(len(_Data)): + for y in range(len(_Data[0])): + tulis.write(_Data[i][y]) + + elif _inputan == 5: + nama = input("Nama : ") ; _Data.append(nama) + _cekEmail = "Not-Clear" + while _cekEmail == "Not-Clear": + Email = input("Email : ") + if re.search(r"^[^A-Z_/-]@student.unhas.ac.id$", Email): + _cekEmail == "Clear" + else: + print("Email Yang Anda Masukkan salah") + _cekPass = "Not-Clear" + while _cekPass == "Not-Clear": + Pass = input("Masukkan Password : ") + if re.search(r"[\w+]{8,20}", Email): + + _cekPass == "Clear" + else: + print("Password yang anda masukkan terlalu lemah, gunakan minimal 1 huruf kapital, huruf kecil, dan angka") + elif _inputan == 6: + print("Sampai Jumpa Lagi") + False \ No newline at end of file From d573ee76d295b22e51173001ad6cb30802153607 Mon Sep 17 00:00:00 2001 From: riooorante Date: Sun, 20 Nov 2022 22:08:35 +0800 Subject: [PATCH 08/10] Perbaikan --- H071221075/Tugas Praktikum 10/Nomor 1.py | 89 +++++++++++++++--------- H071221075/Tugas Praktikum 10/Nomor 2.py | 3 - H071221075/Tugas Praktikum 10/m.txt | 22 ++++++ 3 files changed, 77 insertions(+), 37 deletions(-) create mode 100644 H071221075/Tugas Praktikum 10/m.txt diff --git a/H071221075/Tugas Praktikum 10/Nomor 1.py b/H071221075/Tugas Praktikum 10/Nomor 1.py index 6de85bd..16a4f92 100644 --- a/H071221075/Tugas Praktikum 10/Nomor 1.py +++ b/H071221075/Tugas Praktikum 10/Nomor 1.py @@ -1,56 +1,77 @@ import re - -_Data = [[]] +from prettytable import PrettyTable +_Data = [] while True: - print("""" + print("""PILIHAN 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(" ")) - if _inputan == 1: - print(f"Jumlah data : {len(_Data)}") if _Data > 0 else print("Data saat ini kosong!") - elif _inputan == 2: - _Nama = input("") if jumlahdata > 0 else print("Data saat ini kosong!") - elif _inputan == 3: - _file = input("Masukkan fle")+".txt" +6. Keluar """) + _inputan = int(input("Pilihan : ")) + if _inputan == 1: # Menampilkan Data Diri yang ada dalam list _Data + if len(_Data) > 0: + for i in range(len(_Data)): + for y in range(len(_Data[0])): + print(f'{_Data[i][y]}') + if y == 2: + print("="*100) + else: + print("Data saat ini kosong!\n",100*"=") + elif _inputan == 2: # Mengubah nama dalam list _Data + if len(_Data) != 0: + 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("Data Tidak Ditemukan!\n", 100*"=") + elif _inputan == 3: # Menampilkan jumlah data pada file .txt + _file = input("Masukkan fIle : ")+".txt" try: with open(_file) as baca: - for i in baca: - dataFILE = re.findall(r"ac.id", i) - print(f"Jumlah Data adalah {dataFILE.count('ac.id')}") + dataFILE = re.findall(r"@student.unhas.ac.id", baca.read()) + print(f"Jumlah Data adalah {dataFILE.count('@student.unhas.ac.id')}") except FileNotFoundError: print(f"Tidak Terdapat File Dengan Nama {_file}") - elif _inputan == 4: - if len(_Data) == 0: print("Data Sata Ini Kosong!") + print("Jumlah data pada file = 0\n", 100*"=") + elif _inputan == 4: # Menulis data pada list ke File .txt + if len(_Data) == 0: + print("Data Sata Ini Kosong!\n", 100*"=") else: _FILE = input("Nama File : ")+".txt" - with open(_FILE, a) as tulis: + tabel = PrettyTable(["Data Tersimpan"]) + tabel.align = "l" + with open(_FILE, "a") as tulis: for i in range(len(_Data)): for y in range(len(_Data[0])): - tulis.write(_Data[i][y]) - - - elif _inputan == 5: - nama = input("Nama : ") ; _Data.append(nama) + tabel.add_row([_Data[i][y]]) + tulis.write(str(tabel)) + _Data = [] + elif _inputan == 5: # Memasukkan data baru kedalam list _Data + nama = input("Nama : ") _cekEmail = "Not-Clear" while _cekEmail == "Not-Clear": Email = input("Email : ") - if re.search(r"^[^A-Z_/-]@student.unhas.ac.id$", Email): - _cekEmail == "Clear" + if re.search(r"^[^A-Z_/-]{1,}@student.unhas.ac.id$", Email): + _cekEmail = "Clear" else: - print("Email Yang Anda Masukkan salah") + print("Email Yang Anda Masukkan salah\n", 100*"=") _cekPass = "Not-Clear" while _cekPass == "Not-Clear": - Pass = input("Masukkan Password : ") - if re.search(r"[\w+]{8,20}", Email): - - _cekPass == "Clear" - else: - print("Password yang anda masukkan terlalu lemah, gunakan minimal 1 huruf kapital, huruf kecil, dan angka") - elif _inputan == 6: - print("Sampai Jumpa Lagi") + _Pass = input("Masukkan Password : ") + if len(_Pass) > 8: + if re.search('^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,20}$', _Pass): + _cekPass = "Clear" + else: + print("Password yang anda masukkan terlalu lemah, gunakan minimal 1 huruf kapital, huruf kecil, dan angka\n", 100*"=") + else: + print("Password Harus Memiliki 8-20 Karakter\n", 100*"=") + _Data.insert(len(_Data), ["Nama : " + nama,"E-mail : "+ Email, "Password : "+ _Pass]) + elif _inputan == 6: # Keluar dari program/menyelesaikan while + print("Sampai Jumpa Lagi\n", 100*"=") False \ No newline at end of file diff --git a/H071221075/Tugas Praktikum 10/Nomor 2.py b/H071221075/Tugas Praktikum 10/Nomor 2.py index ad486a9..e69de29 100644 --- a/H071221075/Tugas Praktikum 10/Nomor 2.py +++ b/H071221075/Tugas Praktikum 10/Nomor 2.py @@ -1,3 +0,0 @@ -class Hero: - def __init__(self) -> None: - pass \ No newline at end of file diff --git a/H071221075/Tugas Praktikum 10/m.txt b/H071221075/Tugas Praktikum 10/m.txt new file mode 100644 index 0000000..8ea7219 --- /dev/null +++ b/H071221075/Tugas Praktikum 10/m.txt @@ -0,0 +1,22 @@ ++--------------------------------+ +| Data Tersimpan | ++--------------------------------+ +| Nama : Mm | +| E-mail : m@student.unhas.ac.id | +| Password : ddddHHHHH5555 | ++--------------------------------++--------------------------------+ +| Data Tersimpan | ++--------------------------------+ +| Nama : Mm | +| E-mail : m@student.unhas.ac.id | +| Password : ddddHHHHH5555 | +| Nama : m@student.unhas.ac.id | +| E-mail : m@student.unhas.ac.id | +| Password : Mm | +| Nama : m@student.unhas.ac.id | +| E-mail : m@student.unhas.ac.id | +| Password : ff%%TTTTTTT | +| Nama : m@student.unhas.ac.id | +| E-mail : m@student.unhas.ac.id | +| Password : 444ffFFFFFFFFFFFf | ++--------------------------------+ \ No newline at end of file From db5356b748c6be9fb767f9e19ad110f2beae49e6 Mon Sep 17 00:00:00 2001 From: riooorante Date: Mon, 21 Nov 2022 22:17:52 +0800 Subject: [PATCH 09/10] Tambahan nomor 1 --- H071221075/Tugas Praktikum 10/Nomor 1.py | 28 +++++++------- H071221075/Tugas Praktikum 10/m.txt | 48 +++++++++++++----------- 2 files changed, 40 insertions(+), 36 deletions(-) diff --git a/H071221075/Tugas Praktikum 10/Nomor 1.py b/H071221075/Tugas Praktikum 10/Nomor 1.py index 16a4f92..4b5cf4b 100644 --- a/H071221075/Tugas Praktikum 10/Nomor 1.py +++ b/H071221075/Tugas Praktikum 10/Nomor 1.py @@ -2,14 +2,14 @@ from prettytable import PrettyTable _Data = [] while True: - print("""PILIHAN LAYANAN + 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("Pilihan : ")) + _inputan = int(input(100*"="+"\nPilihan : ")); if _inputan == 1: # Menampilkan Data Diri yang ada dalam list _Data if len(_Data) > 0: for i in range(len(_Data)): @@ -18,7 +18,7 @@ if y == 2: print("="*100) else: - print("Data saat ini kosong!\n",100*"=") + print(100*"="+"\nData saat ini kosong!\n"+100*"=") elif _inputan == 2: # Mengubah nama dalam list _Data if len(_Data) != 0: for i in range(len(_Data)): @@ -29,7 +29,7 @@ _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("Data Tidak Ditemukan!\n", 100*"=") + print(100*"="+"\nData Tidak Ditemukan!\n"+100*"=") elif _inputan == 3: # Menampilkan jumlah data pada file .txt _file = input("Masukkan fIle : ")+".txt" try: @@ -37,11 +37,11 @@ dataFILE = re.findall(r"@student.unhas.ac.id", baca.read()) print(f"Jumlah Data adalah {dataFILE.count('@student.unhas.ac.id')}") except FileNotFoundError: - print(f"Tidak Terdapat File Dengan Nama {_file}") - print("Jumlah data pada file = 0\n", 100*"=") + 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 .txt if len(_Data) == 0: - print("Data Sata Ini Kosong!\n", 100*"=") + print(100*"="+"\nData Sata Ini Kosong!\n"+100*"=") else: _FILE = input("Nama File : ")+".txt" tabel = PrettyTable(["Data Tersimpan"]) @@ -53,25 +53,25 @@ tulis.write(str(tabel)) _Data = [] elif _inputan == 5: # Memasukkan data baru kedalam list _Data - nama = input("Nama : ") + nama = input(100*"="+"\nNama : "); print(100*"=") _cekEmail = "Not-Clear" while _cekEmail == "Not-Clear": Email = input("Email : ") if re.search(r"^[^A-Z_/-]{1,}@student.unhas.ac.id$", Email): _cekEmail = "Clear" else: - print("Email Yang Anda Masukkan salah\n", 100*"=") + print(100*"="+"\nEmail Yang Anda Masukkan salah\n"+100*"=") _cekPass = "Not-Clear" while _cekPass == "Not-Clear": - _Pass = input("Masukkan Password : ") + _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): _cekPass = "Clear" else: - print("Password yang anda masukkan terlalu lemah, gunakan minimal 1 huruf kapital, huruf kecil, dan angka\n", 100*"=") + print("Password yang anda masukkan terlalu lemah, gunakan minimal 1 huruf kapital, huruf kecil, dan angka") else: - print("Password Harus Memiliki 8-20 Karakter\n", 100*"=") + print("Password Harus Memiliki 8-20 Karakter") _Data.insert(len(_Data), ["Nama : " + nama,"E-mail : "+ Email, "Password : "+ _Pass]) elif _inputan == 6: # Keluar dari program/menyelesaikan while - print("Sampai Jumpa Lagi\n", 100*"=") - False \ No newline at end of file + print(100*"="+"\nSampai Jumpa Lagi\n"+100*"=") + break \ No newline at end of file diff --git a/H071221075/Tugas Praktikum 10/m.txt b/H071221075/Tugas Praktikum 10/m.txt index 8ea7219..baee4ee 100644 --- a/H071221075/Tugas Praktikum 10/m.txt +++ b/H071221075/Tugas Praktikum 10/m.txt @@ -1,22 +1,26 @@ -+--------------------------------+ -| Data Tersimpan | -+--------------------------------+ -| Nama : Mm | -| E-mail : m@student.unhas.ac.id | -| Password : ddddHHHHH5555 | -+--------------------------------++--------------------------------+ -| Data Tersimpan | -+--------------------------------+ -| Nama : Mm | -| E-mail : m@student.unhas.ac.id | -| Password : ddddHHHHH5555 | -| Nama : m@student.unhas.ac.id | -| E-mail : m@student.unhas.ac.id | -| Password : Mm | -| Nama : m@student.unhas.ac.id | -| E-mail : m@student.unhas.ac.id | -| Password : ff%%TTTTTTT | -| Nama : m@student.unhas.ac.id | -| E-mail : m@student.unhas.ac.id | -| Password : 444ffFFFFFFFFFFFf | -+--------------------------------+ \ No newline at end of file + ++------------------------------------+ +| Data Tersimpan | ++------------------------------------+ +| Nama : Mario | +| E-mail : mario@student.unhas.ac.id | +| Password : iiiiiiii | +| Nama : Mario | +| E-mail : mario@student.unhas.ac.id | +| Password : 33333333333 | +| Nama : Mario | +| E-mail : mario@student.unhas.ac.id | +| Password : ssssssssssss | +| Nama : Mario | +| E-mail : mario@student.unhas.ac.id | +| Password : ggggggggggg | +| Nama : Mario | +| E-mail : mario@student.unhas.ac.id | +| Password : Mr5rddsgsggdgsdg | ++------------------------------------+ +| Data Tersimpan | ++-----------------------------------+ +| Nama : kwan | +| E-mail : kwan@student.unhas.ac.id | +| Password : kwanK3334432 | ++-----------------------------------+ \ No newline at end of file From af4961bc058530371593f7e929dbc8a1301de156 Mon Sep 17 00:00:00 2001 From: riooorante Date: Thu, 24 Nov 2022 13:37:52 +0800 Subject: [PATCH 10/10] Tugas-2 --- H071221075/Tugas Praktikum 10/Nomor 1.py | 27 +++++++-------- H071221075/Tugas Praktikum 10/Nomor 2.py | 42 ++++++++++++++++++++++++ H071221075/Tugas Praktikum 10/m.txt | 26 --------------- 3 files changed, 54 insertions(+), 41 deletions(-) diff --git a/H071221075/Tugas Praktikum 10/Nomor 1.py b/H071221075/Tugas Praktikum 10/Nomor 1.py index 4b5cf4b..7bbe238 100644 --- a/H071221075/Tugas Praktikum 10/Nomor 1.py +++ b/H071221075/Tugas Praktikum 10/Nomor 1.py @@ -1,5 +1,5 @@ import re -from prettytable import PrettyTable +# from prettytable import PrettyTable _Data = [] while True: print(100*"="+"""\nPILIHAN LAYANAN @@ -12,15 +12,15 @@ _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]}') - if y == 2: - print("="*100) 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: @@ -44,34 +44,31 @@ print(100*"="+"\nData Sata Ini Kosong!\n"+100*"=") else: _FILE = input("Nama File : ")+".txt" - tabel = PrettyTable(["Data Tersimpan"]) - tabel.align = "l" with open(_FILE, "a") as tulis: + tulis.write("\n") for i in range(len(_Data)): for y in range(len(_Data[0])): - tabel.add_row([_Data[i][y]]) - tulis.write(str(tabel)) + 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*"=") - _cekEmail = "Not-Clear" - while _cekEmail == "Not-Clear": + while True: Email = input("Email : ") - if re.search(r"^[^A-Z_/-]{1,}@student.unhas.ac.id$", Email): - _cekEmail = "Clear" + if re.search(r"^[a-z0-9]{1,}@student[.]unhas[.]ac[.]id$", Email): + break else: print(100*"="+"\nEmail Yang Anda Masukkan salah\n"+100*"=") - _cekPass = "Not-Clear" - while _cekPass == "Not-Clear": + 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): - _cekPass = "Clear" + 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]) + _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 \ No newline at end of file diff --git a/H071221075/Tugas Praktikum 10/Nomor 2.py b/H071221075/Tugas Praktikum 10/Nomor 2.py index e69de29..dd5b582 100644 --- a/H071221075/Tugas Praktikum 10/Nomor 2.py +++ b/H071221075/Tugas Praktikum 10/Nomor 2.py @@ -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() \ No newline at end of file diff --git a/H071221075/Tugas Praktikum 10/m.txt b/H071221075/Tugas Praktikum 10/m.txt index baee4ee..e69de29 100644 --- a/H071221075/Tugas Praktikum 10/m.txt +++ b/H071221075/Tugas Praktikum 10/m.txt @@ -1,26 +0,0 @@ - -+------------------------------------+ -| Data Tersimpan | -+------------------------------------+ -| Nama : Mario | -| E-mail : mario@student.unhas.ac.id | -| Password : iiiiiiii | -| Nama : Mario | -| E-mail : mario@student.unhas.ac.id | -| Password : 33333333333 | -| Nama : Mario | -| E-mail : mario@student.unhas.ac.id | -| Password : ssssssssssss | -| Nama : Mario | -| E-mail : mario@student.unhas.ac.id | -| Password : ggggggggggg | -| Nama : Mario | -| E-mail : mario@student.unhas.ac.id | -| Password : Mr5rddsgsggdgsdg | -+------------------------------------+ -| Data Tersimpan | -+-----------------------------------+ -| Nama : kwan | -| E-mail : kwan@student.unhas.ac.id | -| Password : kwanK3334432 | -+-----------------------------------+ \ No newline at end of file