Skip to content

240441100147_REVAN_NOVANDA_ANANDITA_YAHYA_AHMAD RIKHAN ARBAI-MODUL 2 #46

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
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
88 changes: 88 additions & 0 deletions modul-1/PROJECT1_240441100147_RevanNovandaAnanditaYahya/Hewan.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
class Kucing:
def __init__(self, nama, warna, umur):
self.nama = nama
self.warna = warna
self.umur = umur

def mengeong(self):
print(f"Kucing {self.nama} mengeong meminta makan")

def tidur(self):
print(f"Kucing {self.nama} tidur di sofa")

def tampilkan(self):
print(f"Nama kucing: {self.nama}, warna: {self.warna}, umur: {self.umur} tahun")
self.mengeong()
self.tidur()

class Rakun:
def __init__(self, nama, kebiasaan, habitat):
self.nama = nama
self.kebiasaan = kebiasaan
self.habitat = habitat

def mencuri_makanan(self):
print(f"Rakun {self.nama} mencari makanan dari tempat sampah")

def bersembunyi(self):
print(f"Rakun {self.nama} bersembunyi di {self.habitat}")

def tampilkan(self):
print(f"Nama rakun: {self.nama}, kebiasaan: {self.kebiasaan}, habitat: {self.habitat}")
self.mencuri_makanan()
self.bersembunyi()

class Rubah:
def __init__(self, nama, warna_bulu, kecepatan):
self.nama = nama
self.warna_bulu = warna_bulu
self.kecepatan = kecepatan

def berburu(self):
print(f"Rubah {self.nama} berburu di hutan dengan kecepatan {self.kecepatan} km/jam")

def melolong(self):
print(f"Rubah {self.nama} melolong di malam hari")

def tampilkan(self):
print(f"Nama rubah: {self.nama}, warna bulu: {self.warna_bulu}, kecepatan: {self.kecepatan} km/jam")
self.berburu()
self.melolong()

data_hewan = []

while True:
jumlah = input("Masukkan jumlah data yang ingin diinput per jenis hewan: ")

if jumlah.isdigit():
jumlah = int(jumlah)

for i in range(jumlah):
print(f"\nInput data kucing ke {i+1}")
nama = input("Nama kucing: ")
warna = input("Warna kucing: ")
umur = input("Umur kucing: ")
data_hewan.append(Kucing(nama, warna, umur))

for i in range(jumlah):
print(f"\nInput data rakun ke {i+1}")
nama = input("Nama rakun: ")
kebiasaan = input("Kebiasaan rakun: ")
habitat = input("Habitat rakun: ")
data_hewan.append(Rakun(nama, kebiasaan, habitat))

for i in range(jumlah):
print(f"\nInput data rubah ke {i+1}")
nama = input("Nama rubah: ")
warna_bulu = input("Warna bulu rubah: ")
kecepatan = input("Kecepatan rubah: ")
data_hewan.append(Rubah(nama, warna_bulu, kecepatan))

print("\nData Hewan")
for hewan in data_hewan:
print()
hewan.tampilkan()
break

else:
print("Input harus berupa angka")
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
class Mahasiswa:
def __init__(self, nama, nim, jurusan, alamat):
self.nama = nama
self.nim = nim
self.jurusan = jurusan
self.alamat = alamat

def tampilkan_info(self):
print(f"Nama: {self.nama}, NIM: {self.nim}, Jurusan: {self.jurusan}, Alamat: {self.alamat}")

print("Masukkan data:")
m1 = Mahasiswa(input("Nama: "), input("NIM: "), input("Jurusan/Prodi: "), input("Alamat: "))

print("\nMasukkan data:")
m2 = Mahasiswa(input("Nama: "), input("NIM: "), input("Jurusan/Prodi: "), input("Alamat: "))

print("\nMasukkan data:")
m3 = Mahasiswa(input("Nama: "), input("NIM: "), input("Jurusan/Prodi: "), input("Alamat: "))

print("\nData Mahasiswa:")
m1.tampilkan_info()
m2.tampilkan_info()
m3.tampilkan_info()
23 changes: 23 additions & 0 deletions modul-1/PROJECT1_240441100147_RevanNovandaAnanditaYahya/Manusia.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
class Manusia:
def __init__(self, nama, umur, alamat):
self.nama = nama
self.umur = umur
self.alamat = alamat

def berjalan(self):
print(f"{self.nama}, yang berumur {self.umur}, dan yang beralamat {self.alamat} sedang berjalan")

def berlari(self):
print(f"{self.nama}, yang berumur {self.umur}, dan yang beralamat {self.alamat} sedang berlari")

manusia1 = Manusia("Revan", 19, "Kediri")
manusia2 = Manusia("Salmon", 20, "Lamongan")
manusia3 = Manusia("Dhani", 19, "Lamongan")
manusia4 = Manusia("Jois", 20, "Gresik")
manusia5 = Manusia("Khapi", 19, "Gresik")

manusia1.berlari()
manusia2.berlari()
manusia3.berlari()
manusia4.berjalan()
manusia5.berjalan()
153 changes: 153 additions & 0 deletions modul-2/PROJECT2_240441100147_RevanNovandaAnanditaYahya/Method.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
class Mahasiswa:
jumlah_mahasiswa = 0

def __init__(self, nama, nim, prodi):
self.nama = nama
self.nim = nim
self.prodi = prodi
self.matkul = []
Mahasiswa.jumlah_mahasiswa += 1

def tambah_matkul(self, matkul):
self.matkul.append(matkul)

def tampilkan_biodata(self):
print(f"Nama: {self.nama}")
print(f"NIM: {self.nim}")
print(f"Prodi: {self.prodi}")
if self.matkul:
print("Mata Kuliah yang diambil:")
for matkul in self.matkul:
print(f"- {matkul.nama}")

@classmethod
def tampilkan_jumlah_mahasiswa(cls):
print(f"Jumlah mahasiswa yang sudah dibuat: {cls.jumlah_mahasiswa}")

@staticmethod
def validasi_nim(nim):
if int(nim[:2]) == 23 and len(nim) == 10:
return nim
else:
return

class Matakuliah:
def __init__(self, kode, nama, sks):
self.kode = kode
self.nama = nama
self.sks = sks

@staticmethod
def validasi_sks(sks):
return sks in [2, 3]

class Kampus:
def __init__(self, nama, alamat):
self.nama = nama
self.alamat = alamat

def tampilkan_info_kampus(self):
print(f"Nama Kampus: {self.nama}")
print(f"Alamat Kampus: {self.alamat}")

@staticmethod
def validasi_nama_kampus(nama):
return not any(char.isdigit() for char in nama)

def data_mahasiswa():
while True:
nama = input("Masukkan nama mahasiswa: ")

while True:
nim = input("Masukkan NIM mahasiswa (diawali '23' dan berisi 10 digit): ")
if Mahasiswa.validasi_nim(nim):
break
else:
print("Masukkan NIM dengan awalan '23' dan harus berisi 10 digit")

prodi = input("Masukkan prodi mahasiswa: ")
return Mahasiswa(nama, nim, prodi)

def data_kampus():
while True:
while True:
nama = input("Masukkan nama kampus (tanpa angka): ")
if Kampus.validasi_nama_kampus(nama):
break
else:
print("Masukkan nama kampus tanpa angka.")

alamat = input("Masukkan alamat kampus: ")
return Kampus(nama, alamat)

matkul_list = [
Matakuliah("SI01", "PBO", 3),
Matakuliah("SI02", "PBD", 3),
Matakuliah("SI03", "B.Inggris", 3),
Matakuliah("SI04", "PBW", 3),
Matakuliah("SI05", "Ebussines", 2),
Matakuliah("SI06", "Alpro", 3),
Matakuliah("SI07", "APB", 2),
Matakuliah("SI08", "DMJ", 3)
]

mahasiswa_list = []
while True:
mahasiswa = data_mahasiswa()
mahasiswa_list.append(mahasiswa)

if len(mahasiswa_list) < 6:
print(f"Data minimal belum tercapai")
else:
tambah = input("Data minimal sudah tercapai, tambah data? (ya/tidak): ")
if tambah != "ya":
break

for mhs in mahasiswa_list:
print(f"\n{mhs.nama}, pilih mata kuliah:")
while len(mhs.matkul) < 4:
print(f"Pilihan Mata Kuliah ({len(mhs.matkul)}):")
for i, matkul in enumerate(matkul_list, 1):
print(f"{i}. {matkul.nama} ({matkul.sks} SKS)")

try:
pilihan = int(input("Pilih mata kuliah: "))
if 1 <= pilihan <= len(matkul_list):
mhs.tambah_matkul(matkul_list[pilihan - 1])
else:
print("Pilihan tidak valid")
except ValueError:
print("Masukkan input yang sesuai")

kampus_list = []
while True:
kampus = data_kampus()
kampus_list.append(kampus)

if len(kampus_list) < 1:
print("Data minimal 1")
else:
tambah = input("Data minimal sudah tercapai, tambah data? (ya/tidak): ")
if tambah != "ya":
break


print("\nData Mahasiswa dan Mata Kuliah yang diambil")
for mhs in mahasiswa_list:
mhs.tampilkan_biodata()
print()

print("\nData Mata Kuliah")
for matkul in matkul_list:
print(f"Kode: {matkul.kode}, Nama: {matkul.nama}, SKS: {matkul.sks}")
print()

print("\nData Kampus")
for kampus in kampus_list:
kampus.tampilkan_info_kampus()
print()

print("Validasi Data Kampus")
for kampus in kampus_list:
kampus.tampilkan_info_kampus()
print("Validasi nama kampus:", Kampus.validasi_nama_kampus(kampus.nama))
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
class Karyawan:
def __init__(self, nama, gaji, departemen):
self.nama = nama
self.gaji = gaji
self.departemen = departemen

def info(self):
print(f"Nama: {self.nama}")
print(f"Gaji: {self.gaji}")
print(f"Departemen: {self.departemen}")

class KaryawanTetap(Karyawan):
def __init__(self, nama, gaji, departemen, tunjangan):
super().__init__(nama, gaji, departemen)
self.tunjangan = tunjangan

def info(self):
super().info()
print(f"Tunjangan: {self.tunjangan}")
print("Status: Karyawan Tetap\n")

class KaryawanHarian(Karyawan):
def __init__(self, nama, gaji, departemen, jam_kerja):
super().__init__(nama, gaji, departemen)
self.jam_kerja = jam_kerja

def info(self):
super().info()
print(f"Jam Kerja: {self.jam_kerja} jam/hari")
print("Status: Karyawan Harian\n")

class ManajemenKaryawan:
def __init__(self):
self.daftar_karyawan = []

def tambah_karyawan(self, karyawan):
self.daftar_karyawan.append(karyawan)

def tampilkan_karyawan(self):
print("\n=== Daftar Semua Karyawan ===")
if not self.daftar_karyawan:
print("Karyawan belum ada")
else:
for i, karyawan in enumerate(self.daftar_karyawan, start=1):
print(f"\nKaryawan {i}:")
karyawan.info()

def input_karyawan(manajemen):
while True:
print("Tambah Karyawan")
jenis = input("Karyawan Tetap(1) atau Karyawan Harian(2): ")

nama = input("Nama: ")
gaji = int(input("Gaji: "))
departemen = input("Departemen: ")

if jenis == "1":
tunjangan = int(input("Tunjangan: "))
karyawan = KaryawanTetap(nama, gaji, departemen, tunjangan)
elif jenis == "2":
jam_kerja = int(input("Jam Kerja: "))
karyawan = KaryawanHarian(nama, gaji, departemen, jam_kerja)
else:
print("Input salah")
continue

manajemen.tambah_karyawan(karyawan)

lanjut = input("Tambah karyawan lagi? (ya/tidak): ")
if lanjut != "ya":
break

def main():
manajemen = ManajemenKaryawan()
input_karyawan(manajemen)
manajemen.tampilkan_karyawan()

if __name__ == "__main__":
main()
Loading