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
16 changes: 16 additions & 0 deletions Chapter01/studiKasus/dir.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
masuk=int(input("Masukkan Jam Masuk = "))
keluar=int(input("Masukkan Jam Keluar ="))
lama=keluar-masuk
payment=12000
print("Lama Mengajar = ", lama, "jam")
if lama <=1:
satu_jam_pertama=payment
print("Biaya Mengajar= Rp", satu_jam_pertama)
elif lama <10:
biaya_selanjutnya = (lama+1)*3000+payment
print("Biaya Mengajar = Rp", biaya_selanjutnya)
elif lama >= 10:
print("Biaya Mengajar = Rp", 1000000)
else:
print("nul")

22 changes: 22 additions & 0 deletions Chapter01/studiKasus/filepasiencovid.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#melakukan percobaan mengimplementasi Input pada file
f = open ('inputPasienCovid.txt', 'w') #membaca file di luar
nik = input ("Masukan NIK :")
nama = input("Masukan Nama : ")
alamat = input("Masukan Alamat : ")
umur = input("Masukan Usia : ")
jeniskelamin = input("Masukan Jenis Kelamin: ")
nohp = input("Masukan Nohp : ")
gejala = input("Masukan Gejala : ")
f.write ("NIK : " + nik + "\n") #menulis ke dalam file
f.write ("Nama : " + nama + "\n")
f.write ("Alamat : " + alamat + "\n")
f.write ("Umur : " + umur + "\n")
f.write ("Jenis Kelamin : " + jeniskelamin + "\n")
f.write ("No Hp : " + nohp + "\n")
f.write ("Gejala : " + gejala + "\n")
f.close()#keluarkan file nya
f = open ('inputPasienCovid.txt') #buka file
content = f.read()
print (content) #render content yang ada di dalam file nya

f.close()
33 changes: 33 additions & 0 deletions Chapter01/studiKasus/flow.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@

# IF

# In this program, we check if the number is positive or negative or zero and
# display an appropriate message

# Flow Control

x=7
if x >10:
print("x is the value is big.")
elif x > 0:
print("x the value is small.")
else:
print("x is not positive.")

# Array

# Variabel array
genap = [14,24,56,80]
ganjil = [13,55,73,23]

nap = 0
jil = 0

# Buat looping for menggunakanvariable dari array yang udah dibuat
for val in genap:
nap = nap+val
for val in ganjil:
jil = jil+val

print("Ini adalah bilangan Genap", nap )
print("Ini adalah bilangan Ganjil", jil )
14 changes: 14 additions & 0 deletions Chapter01/studiKasus/listjenistumbuhan.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
bunga =["Angrek", "Mawar", "Melati", "Kamboja", "Teratai", "Lily", "Tulip", "Kertas", "Asoka", "Bougenville", "Kemuning "]
print(bunga)
print(bunga[0])
print(bunga[6:9])
bunga[0] = "Anggrek Ungu"
bunga[1] = "Mawar Putih"
print(bunga)
KeteranganMawarPutih ={"Nama":"Mawar Putih"}
print(KeteranganMawarPutih)
pohon = ("Mangga", "Nangka", "Rambutan", "Jambu Batu", "Jambu Air", "Pisang", "Duren")
print(pohon)
mengukurPanjangData = len
print(mengukurPanjangData(bunga))
print(mengukurPanjangData(pohon))
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Studi kasus tentang pembeliah Hp disuatu toko
import logging
import threading
import time

LOG_FORMAT = '%(asctime)s %(threadName)-17s %(levelname)-8s %(message)s'
logging.basicConfig(level=logging.INFO, format=LOG_FORMAT)

items = []
condition = threading.Condition()


class Pembeli(threading.Thread):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)

def pembeli(self):

with condition:

if len(items) == 0:
logging.info('tidak ada hp yang dibeli oleh pembeli')
condition.wait()

items.pop()
logging.info('pembeli membeli 1 hp')

condition.notify()

def run(self):
for i in range(20):
time.sleep(2)
self.pembeli()


class Penjual(threading.Thread):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)

def penjual(self):

with condition:

if len(items) == 10:
logging.info('jumlah hp yang ditawarkan penjual sekarang {}. buah'.format(len(items)))
condition.wait()

items.append(1)
logging.info('penjual menawarkan hp dengan jumlah {} buah'.format(len(items)))

condition.notify()

def run(self):
for i in range(20):
time.sleep(0.5)
self.penjual()


def main():
producer = Penjual(name='Penjual')
consumer = Pembeli(name='Pembeli')

producer.start()
consumer.start()

producer.join()
consumer.join()


if __name__ == "__main__":
main()
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#studi kasus tentan pemeriksaan kandungan pasien
import logging
import threading
import time
import random

LOG_FORMAT = '%(asctime)s %(threadName)-17s %(levelname)-8s %(message)s'
logging.basicConfig(level=logging.INFO, format=LOG_FORMAT)

items = []
event = threading.Event()


class Pasien(threading.Thread):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)

def run(self):
while True:
time.sleep(2)
event.wait()
item = items.pop()
logging.info('Pasien notify: {} pasien menuju ruangan bidan {}'\
.format(item, self.name))

class Bidan(threading.Thread):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)

def run(self):
for i in range(5):
time.sleep(2)
item = random.randint(0, 100)
items.append(item)
logging.info('Bidan notify: Bidan mengecek kandungan pasien {}'\
.format(item, self.name))
event.set()
event.clear()

if __name__ == "__main__":
t1 = Bidan()
t2 = Pasien()

t1.start()
t2.start()

t1.join()
t2.join()
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@

#studi kasus tentang perlombaan cerdas cermat mengenai pendaftaran
import time
import os
from random import randint
from threading import Thread

class Tes (Thread):
def __init__(self, name, duration):
Thread.__init__(self)
self.name = name
self.duration = duration
def run(self):
print ("---> " + self.name + \
" menggunkan kode pendaftaran yaitu "\
+ str(os.getpid()) + "\n")
time.sleep(self.duration)
print ("---> " + self.name + " Segera dilaksanakan\n")


def main():
start_time = time.time()

# Thread Creation
thread1 = Tes("Perlombaan ini ", randint(1,10))





# Thread Running
thread1.start()





# Thread joining
thread1.join()





# End
print("Selamat Mengikuti Perlombaan")

#Execution Time
print("Waktu yang diperlukan dalam mendaftar %s seconds perorang yang mendaftar" % (time.time() - start_time))


if __name__ == "__main__":
main()




Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
#studi kasus tentang perlombaan cerdas cermat mengenai ruangan dan soal
import threading
import time
import os
from threading import Thread
from random import randint

# Lock Definition
threadLock = threading.Lock()

class MyThreadClass (Thread):
def __init__(self, name, duration):
Thread.__init__(self)
self.name = name
self.duration = duration
def run(self):
#Acquire the Lock
threadLock.acquire()
print ("---> " + self.name + \
" kodenya adalah "\
+ str(os.getpid()) + "\n")
time.sleep(self.duration)
print ("---> " + self.name + " selesai diberikan kodenya\n")
#Release the Lock
threadLock.release()


def main():
start_time = time.time()
# Thread Creation
thread1 = MyThreadClass("Ruangan Fisika yang digunakan ", randint(1,10))
thread2 = MyThreadClass("Soal 1", randint(1,10))



# Thread Running
thread1.start()
thread2.start()



# Thread joining
thread1.join()
thread2.join()



# End
print("Selamat Datang di Ruangan Fisika para peserta acara lomba cerdas cermat ")
print("Selamat Mengerjakan soal")

#Execution Time
print("waktu yang dibutuhkan untuk mengerjakan soal %s seconds soal" % (time.time() - start_time))


if __name__ == "__main__":
main()




Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
#studi kasus tentang perlombaan cerdas cermat mengenai ruangan dan soal
import threading
import time
import os
from threading import Thread
from random import randint

# Lock Definition
threadLock = threading.Lock()

class Tes (Thread):
def __init__(self, name, duration):
Thread.__init__(self)
self.name = name
self.duration = duration
def run(self):
#Acquire the Lock
threadLock.acquire()
print ("---> " + self.name + \
" kodenya adalah "\
+ str(os.getpid()) + "\n")
threadLock.release()
time.sleep(self.duration)
print ("---> " + self.name + " telah siap \n")
#Release the Lock


def main():
start_time = time.time()

# Thread Creation
thread1 = Tes("Ruangan Matematika yang digunakan ", randint(1,10))
thread2 = Tes("Soal 2", randint(1,10))



# Thread Running
thread1.start()
thread2.start()



# Thread joining
thread1.join()
thread2.join()


# End
print("Selamat Datang di Ruangan Matematika para peserta acara lomba cerdas cermat ")
print("Selamat Mengerjakan ")

#Execution Time
print("waktu yang dibutuhkan untuk mengerjakan soal %s seconds soal" % (time.time() - start_time))



if __name__ == "__main__":
main()




Loading