diff --git a/Acara-10/loop.py b/Acara-10/loop.py new file mode 100755 index 0000000..bf012e8 --- /dev/null +++ b/Acara-10/loop.py @@ -0,0 +1,7 @@ +angka = [1,2,3,4,5,6,7,8,9,10] +jumlah = 0 + +for i in angka: + jumlah = jumlah + i + +print ('jumlah =', jumlah) \ No newline at end of file diff --git a/Acara-10/lopping.py b/Acara-10/lopping.py new file mode 100755 index 0000000..04be7d2 --- /dev/null +++ b/Acara-10/lopping.py @@ -0,0 +1,6 @@ +jumlah = 5 + +while jumlah > 0: + print (jumlah) + jumlah -= 1 +print("selesai") \ No newline at end of file diff --git a/Acara-10/nasted-loop.py b/Acara-10/nasted-loop.py new file mode 100755 index 0000000..f710f6a --- /dev/null +++ b/Acara-10/nasted-loop.py @@ -0,0 +1,5 @@ +for baris in range(5): + for kolom in range(7): + print('*', end=' ') +else : + print('') \ No newline at end of file diff --git a/Acara-10/while-true.py b/Acara-10/while-true.py new file mode 100755 index 0000000..f8c863f --- /dev/null +++ b/Acara-10/while-true.py @@ -0,0 +1,13 @@ +angka = 0 +while True : + print(angka) + angka = angka + 1 + + if angka == 2: + print("skip") + continue + + if angka == 5: + print ("break") + break +print("selesai") \ No newline at end of file diff --git a/Acara-11/1.py b/Acara-11/1.py new file mode 100755 index 0000000..e69de29 diff --git a/Acara-11/2.py b/Acara-11/2.py new file mode 100755 index 0000000..9cc9124 --- /dev/null +++ b/Acara-11/2.py @@ -0,0 +1,26 @@ +angka = [1, 5, 7, 9, 11] + +# Mendapatkan jumlah item pada list menggunakan len +print("Jumlah item pada list:") +print(len(angka)) + +# Mengakses item di akhir list menggunakan append +print("Item terakhir pada list:") +angka.append(13) +print(angka) + +# menyisipkan item pada indeks tertentu menggunakan isert +print ('menyisipkan angka 3 pada indeks ke 1 mengguanakan insert:') +indeks =1 +angka.insert(indeks, 3) +print(angka) + +# menambah list pada list menggunakan extend +print ('menambah list berisi 15, 17, 19 pada list nomor:') +angka.extend([15, 17, 19]) +print(angka) + +#cek indeks +print("cek angka 1 indeks berapa? angka 2 di indeks keberapa?") +print (angka.index(1)) +print (angka.index(2)) diff --git a/Acara-11/3.py b/Acara-11/3.py new file mode 100755 index 0000000..e0af3bf --- /dev/null +++ b/Acara-11/3.py @@ -0,0 +1,26 @@ +day = ['hari', 'senin', 'selasa', 'maret', 'rabu', 'kamis', 'juni'] +print (day) + +# menghapus nilai yang sama +print ('menghapus maret dari list :') +day.remove('maret') +print (day) + +# menghapus nilai pada indeks tertentu (del) +print ('menghapus indeks ke 0 yaitu hari :') +del day[0] +print (day) + +# menghapus nilai pada indeks tertentu (pop) +print ('menghapus indeks ke 4 yaitu juni mneggunakan pop :') +day.pop(4) +print (day) + +# menghapus nilai item terakhir pada list yaitu kamis (pop) +print ('menghapus item terakhir pada list yaitu kamis menggunakan pop :') +day.pop() +print (day) + +# menghapus nilai yang dihapus menggunakan pop +print ('menghapus nilai yang dihapus menggunakan pop :') +print (day.pop(0)) diff --git a/Acara-11/4.py b/Acara-11/4.py new file mode 100755 index 0000000..08d9517 --- /dev/null +++ b/Acara-11/4.py @@ -0,0 +1,18 @@ +angka = [3, 5, 8, 1, 2, 9, 7, 4, 6,] +huruf = ['doni','caca','eva','bobi,','ani','faruk'] +print(angka) +print(huruf) + +# mengurutkan isi list berupa angka dan kata menggunakan sort +print('marilah kita urutkan :') +angka.sort() +huruf.sort() +print(angka) +print(huruf) + +# membalik index isi list berapa angka dan kata menggunaan reverse +print('membalik urutan index :') +angka.reverse() +huruf.reverse() +print(angka) +print(huruf) diff --git a/Acara-11/5.py b/Acara-11/5.py new file mode 100755 index 0000000..9ffdac9 --- /dev/null +++ b/Acara-11/5.py @@ -0,0 +1,22 @@ +# list minuman dengan 2 dimensi +minuman = [ + ["kopi","susu","teh"], + ["jus apel","jus melon","jur jeruk"], + ["es kopi","es campur","es teler"] +] +print(minuman) +print('\n') + +# cara mengakses list multidiemnsi +# angka pertama menunjukkan kolom,yang kedua adalah baris +print("menampilkan salah satu menu dengan menunjuk nomer index :") +print(minuman[2][0]) +print(minuman[0][1]) +print('\n') + +# mencetak isi list di dalam list satu persatu +print('\n') +print("menampilkan isi list di dalam list :") +for menu in minuman: + for menu2 in menu: + print(menu2) \ No newline at end of file diff --git a/Acara-11/list1.py b/Acara-11/list1.py new file mode 100755 index 0000000..56f7d2d --- /dev/null +++ b/Acara-11/list1.py @@ -0,0 +1,39 @@ +# membuat list kosong +ListKosong = [] + +# membuat list berisi 1 item +List_1_Item = ['satuItem'] + +# membuat list dengan banyak item dengan satu tipe data +ListKata = ["mangga", "jambu", "apel", "anggur "] +listAngka = [23, 11, 94] + +# membuat list dengan berbagai tipe data +ListCampuran = [23, "Novemver", 94] + +# Membuat list berisi list ( bercabang) +ListNasted = ["Mahasiswa", ["Dian", 17, 160.5],"Lulus"] +ListGabugan = [ListKata, listAngka] + +# mencetak hasil +#print (listAngka) +#print (ListKata) +#print (ListCampuran) +#print (ListNasted) +#print (ListGabugan) + +# Mencetak indeks dari list +#print (ListNasted[0]) +#print (ListNasted[1]) +#print (ListNasted[1][0]) +#print (ListNasted[1][1]) +#print (ListNasted[1][2]) +#print (ListNasted[2]) + +# Membuat list kosong +ListKosong = [] + +kata = "WORKSHOP" +angka = 12345678 +print (kata[5]) +print (angka[5]) \ No newline at end of file diff --git a/Acara-11/slising_list.py b/Acara-11/slising_list.py new file mode 100755 index 0000000..129c12c --- /dev/null +++ b/Acara-11/slising_list.py @@ -0,0 +1,25 @@ +list_kata = ["mangga", "jambu", "apel", "anggur"] + +#mengubah indeks ke 1 pada list_kata +print ("Sebelum diubah:") +list_kata[1] = "rambutan" +print (list_kata) + +# menambah list pada liat_kata tapi tidak disimpan +print ('List juga bisa ditambahkan :') +print (list_kata + ["delima", "melon", "pear"]) + +# menambah list pada list_kata dan disimpan +print ('List juga bisa ditambahkan dan disimpan :') +list_kata += ["delima", "melon", "pear"] +print (list_kata) + +# mengali list pada list_kata +print ('List juga bisa dikali :') +print (list_kata * 2) + +# memeriksa item pada list +print ('mangga' in list_kata) +print ('salah' not in list_kata) +if "melon" in list_kata: + print ("Ada melon") \ No newline at end of file diff --git a/Acara-12/NastedTuple.py b/Acara-12/NastedTuple.py new file mode 100755 index 0000000..13057a7 --- /dev/null +++ b/Acara-12/NastedTuple.py @@ -0,0 +1,11 @@ +tuple1 = (1,2,3) +tuple2 = ('satu', 'dua', 'tiga') +tuple3 = ('andi', 23,68.5) +tuple4 = (tuple1, tuple2, tuple3) + +print (tuple1) +print (tuple2) +print (tuple3) +print (tuple4) +print (tuple4[1][2]) +print (tuple4[2][0]) \ No newline at end of file diff --git a/Acara-12/PengulanganTuple.py b/Acara-12/PengulanganTuple.py new file mode 100755 index 0000000..9f0553a --- /dev/null +++ b/Acara-12/PengulanganTuple.py @@ -0,0 +1,4 @@ +tupleBulan = ('Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni') +for month in tupleBulan: + print (month) + \ No newline at end of file diff --git a/Acara-12/SequenceUnpacking.py b/Acara-12/SequenceUnpacking.py new file mode 100755 index 0000000..2f72d3d --- /dev/null +++ b/Acara-12/SequenceUnpacking.py @@ -0,0 +1,13 @@ +def finchion1(): + tuple1 = (1, 2, 3) + tuple2 = ('satu', 'dua', 'tiga') + tuple3 = ('andi', 23, 68.5) + tuple4 = (tuple1, tuple2, tuple3) + + nama, usia, berat = tuple3 + + print ('nama : ', nama) + print ('usia : ', usia) + print ('berat : ', berat) + +finchion1() \ No newline at end of file diff --git a/Acara-12/slicing.py b/Acara-12/slicing.py new file mode 100755 index 0000000..b9ea2aa --- /dev/null +++ b/Acara-12/slicing.py @@ -0,0 +1,16 @@ +tupleAngka = 1,2,3,4,5,6,7,8,9,10 + +#slicing tuple +print (tupleAngka[0:3]) +print (tupleAngka[1:-1]) # memotong indeks ke 1 hinga -1 +print (tupleAngka[-1:1]) +print ('\n') + +#slicing tanpa batas +print (tupleAngka[2:]) +print (tupleAngka[5:]) +print (tupleAngka[8:]) +print (tupleAngka[:0]) +print (tupleAngka[:1]) +print (tupleAngka[:3]) +print (tupleAngka[:5]) \ No newline at end of file diff --git a/Acara-12/slicing3.py b/Acara-12/slicing3.py new file mode 100755 index 0000000..b3ff5aa --- /dev/null +++ b/Acara-12/slicing3.py @@ -0,0 +1,8 @@ +tupleAngka = 1,2,3,4,5,6,7,8,9,10 + +#Indeks kelipatan +#dari awal sampai khir dengan kelipatan indeks 2 langkah +print (tupleAngka[::2]) + +#dari indeks 1 hingga ke-8 dengan kelipatan indeks 3 langkah +print (tupleAngka[1:8:3]) diff --git a/Acara-12/slicing4.py b/Acara-12/slicing4.py new file mode 100755 index 0000000..0204242 --- /dev/null +++ b/Acara-12/slicing4.py @@ -0,0 +1,4 @@ +tupleAngka = 1,2,3,4,5,6,7,8,9,10 + +#mencoba mengubah tuple indeks ke 0 dari angka 1 menjadi angka 0 +tupleAngka[0] = 0 \ No newline at end of file diff --git a/Acara-12/tuple.py b/Acara-12/tuple.py new file mode 100755 index 0000000..35c417a --- /dev/null +++ b/Acara-12/tuple.py @@ -0,0 +1,23 @@ +tupleKosong = () +tupleSingleton = ('satu',) +tupleSingleton2 = (1,) +tupleSingleton3 = 'satu', +tupleBulan = ('Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni') + +#dibuat tanpa kurung +tupleAngka = 1,2,3,4,5,6,7,8,9,10 + +print (tupleKosong) +print (tupleSingleton) +print (tupleSingleton2) +print (tupleSingleton3) +print (tupleBulan) +print (tupleAngka) +print ('\n') + +#cek tipe data + +print (type(tupleSingleton)) +print (type(tupleSingleton2)) +print (type(tupleSingleton3)) +print (type(tupleAngka)) \ No newline at end of file diff --git a/Acara-12/tuple2.py b/Acara-12/tuple2.py new file mode 100755 index 0000000..f1d45c1 --- /dev/null +++ b/Acara-12/tuple2.py @@ -0,0 +1,20 @@ +tupleKosong = () +tupleSingleton = ('satu',) +tupleSingleton2 = (1,) +tupleSingleton3 = 'satu', +tupleBulan = ('Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni') + +#dibuat tanpa kurung +tupleAngka = 1,2,3,4,5,6,7,8,9,10 + +# menggabungkan 2 tuple menjadi 1 +tupleGab = tupleSingleton3 + tupleAngka +print (tupleGab) + +#mengakses data tuple +print (tupleBulan[0]) +print (tupleBulan[3]) +print (tupleBulan[5]) +print (tupleAngka[-1]) +print (tupleAngka[-3]) +print (tupleAngka[-5]) \ No newline at end of file diff --git a/Acara-12/tupleFunc.py b/Acara-12/tupleFunc.py new file mode 100755 index 0000000..88fa869 --- /dev/null +++ b/Acara-12/tupleFunc.py @@ -0,0 +1,8 @@ +tuple1 = (1,2,3) +tuple2 = ('satu', 'dua', 'tiga') +tuple3 = ('andi', 23,68.5) +tuple4 = (tuple1, tuple2, tuple3) + +print (max(tuple1)) +print (min(tuple1)) +print (len(tuple1)) \ No newline at end of file diff --git a/Acara-13/difference.py b/Acara-13/difference.py new file mode 100644 index 0000000..bf64062 --- /dev/null +++ b/Acara-13/difference.py @@ -0,0 +1,10 @@ +a = {1,2,3,4,5} +b = {4,5,6,7,8} + +# mencari selisih antara set a dan b menggunakan operator - +print (a - b) + +# menggunakan fungsi difference() +print (a.difference(b)) +# Menggunakan fungsi difference() +print (b.difference(a)) \ No newline at end of file diff --git a/Acara-13/intersection.py b/Acara-13/intersection.py new file mode 100644 index 0000000..ab2dc55 --- /dev/null +++ b/Acara-13/intersection.py @@ -0,0 +1,11 @@ +a = {1,2,3,4,5} +b = {4,5,6,7,8} + +# mencari irisan antara set a dan b menggunakan operator & +print (a & b) + +# menggunakan fungsi intersection() +print (a.intersection(b)) + +# Menggunakan fungsi intersection() +print (b.intersection(a)) \ No newline at end of file diff --git a/Acara-13/komplemen.py b/Acara-13/komplemen.py new file mode 100644 index 0000000..c569b43 --- /dev/null +++ b/Acara-13/komplemen.py @@ -0,0 +1,8 @@ +a = {1,2,3,4,5} +b = {4,5,6,7,8} + +print (a^b) +print (a.symmetric_difference(b)) + +print (b^a) +print (b.symmetric_difference(a)) \ No newline at end of file diff --git a/Acara-13/nasted.py b/Acara-13/nasted.py new file mode 100644 index 0000000..efd0c82 --- /dev/null +++ b/Acara-13/nasted.py @@ -0,0 +1,7 @@ +# Membuat nested set +nested_set = {10, 'SMK', ('RPL', 'TKJ', 'MM'), (1, 2)} +print(nested_set) + +# Mengakses elemen dalam nested set +for item in nested_set: + print(item) diff --git a/Acara-13/set1.py b/Acara-13/set1.py new file mode 100644 index 0000000..f1ac870 --- /dev/null +++ b/Acara-13/set1.py @@ -0,0 +1,23 @@ +# kurung kurawal +setNomor = {1, 2, 3, 4, 5} +print (setNomor) + +#dengan fungsi set() +setString = set (('senin', 'selasa', 'rabu', 'kamis', 'Jumat')) +print (setString) + +#set kosong dengan fungsi set dan bukan kurawal +setKosong = set([]) +print (setKosong) + +#tidak dapat berisi item yang duplikat +SetDuplicate = {1, 2, 3, 3, 4, 4, 5} +print (SetDuplicate) + +# dengan tipe data yang berbeda +setMix = {1.5,2.5,3.5,'coba', (4,5,6)} +print (setMix) + +# list tidak bisa menjadi aggota set karena list bersifat mutable +setList = {1.5, 2.5, 3.5, 'coba', [4, 5, 6]} +print (setList) \ No newline at end of file diff --git a/Acara-13/set2.py b/Acara-13/set2.py new file mode 100644 index 0000000..9161d5c --- /dev/null +++ b/Acara-13/set2.py @@ -0,0 +1,27 @@ +#buat set baru +numSet = {1, 2, 3} +print (numSet) + +#menambah item ke set +numSet.add(4) +print (numSet) + +# menguodate item pada set tidak akan update jika item sudah ada +numSet.update([5, 1, 6, 2, 7]) +print (numSet) + +# menghapus item pada set +numSet.discard(6) #akan error jika item tidak ada +print (numSet) +numSet.remove(7) #akan error jika item tidak ada +print (numSet) + +# menghapus item set sebelah kiri dengan pop() +numSet.pop() #akan error jika set kosong +print (numSet) +print (numSet.pop()) +print (numSet) + +#mengosongkan set +numSet.clear() +print (numSet) \ No newline at end of file diff --git a/Acara-13/task.py b/Acara-13/task.py new file mode 100644 index 0000000..49216c2 --- /dev/null +++ b/Acara-13/task.py @@ -0,0 +1,11 @@ +# 1. buat sebuah set, tampilkan isinya satu persatu + +prodi_ti = ["MIF","MIF", "TKK", "TRK"] +print (prodi_ti) + +# menampilkan isi prodi_ti satu persatu +set_prodi_ti = set(prodi_ti) +print (set_prodi_ti) +for prodi in set_prodi_ti: + print (prodi) + diff --git a/Acara-13/task2.py b/Acara-13/task2.py new file mode 100644 index 0000000..7429e05 --- /dev/null +++ b/Acara-13/task2.py @@ -0,0 +1,29 @@ +# 2. Buat sebuah nasted set, dan tampilkan isinya satu per satu + +jurusan = ("Teknik", "Teknologi Informasi", "Kesehatan") + +prodi = ("Management informasi kesehatan", "Teknik Komputer", "Teknik Energi Terbarukan") + +# mengjonversikan tuple menjadi frozenset agar bisa dimasukkan ke dalam set lain +jurusan_set = frozenset(jurusan) +prodi_set = frozenset(prodi) +# membuat nested set + +data_kampus = { + "Jurusan", + jurusan_set, + prodi_set, + "Prodi" # Elemen string tambahan +} + +for elemen in data_kampus: + # Mengecek apakah elemen adalah frozenset (sub-koleksi) + if isinstance(elemen, frozenset): + print(f"\n--- List (Frozenset) ---") + for item in elemen: + print(f" -> {item}") # Menampilkan isi frozenset + print("-" * 30) + else: + # Elemen biasa (string) + print(f"Tipe Data: {elemen}") + diff --git a/Acara-13/union.py b/Acara-13/union.py new file mode 100644 index 0000000..32cf96f --- /dev/null +++ b/Acara-13/union.py @@ -0,0 +1,11 @@ +a = {1,2,3,4,5} +b = {4,5,6,7,8} + +#mencari gabungan antara set a dan b menggunakan operator | +print (a|b) + +# menggunakan fungsi union() +print (a.union(b)) + +#Menggunakan fungsi unioon() +print (b.union(a)) \ No newline at end of file diff --git a/Acara-14/Dictionary/1.py b/Acara-14/Dictionary/1.py new file mode 100755 index 0000000..c82a9f1 --- /dev/null +++ b/Acara-14/Dictionary/1.py @@ -0,0 +1,4 @@ +identitas1 = {"nama": "andi", "umur": "17 Tahun", "gender": "L"} +identitas2 = {"nama": "bila", "umur": "16 Tahun", "gender": "P"} +print(identitas1) +print(identitas2) diff --git a/Acara-14/Dictionary/1a.py b/Acara-14/Dictionary/1a.py new file mode 100644 index 0000000..defdc4c --- /dev/null +++ b/Acara-14/Dictionary/1a.py @@ -0,0 +1,2 @@ +identitas1 = {"nama": "andi", "umur": "17 Tahun", "gender": "L"} +identitas2 = {"nama": "bila", "umur": "16 Tahun", "gender": "P"} diff --git a/Acara-14/Dictionary/2.py b/Acara-14/Dictionary/2.py new file mode 100755 index 0000000..5f4e79a --- /dev/null +++ b/Acara-14/Dictionary/2.py @@ -0,0 +1,65 @@ +mahasiswa = { + "nama": "Budi", + "umur": 20, + "Gender": "L", + "menikah": False, + "hobi": ["membaca", "bermain"], + "kuliah" : { + "jurusan": "Jurusan teknologi informasi", + "prodi": "D3 Teknik Komputer" + } +} + +for key in sorted(mahasiswa): + print('%s: %s' % (key, mahasiswa[key])) + +# print('Jumlah key pada variable siswa :', len(mahasiswa)) + +# print('Apakah dictionary mahasiswa memiliki key nama?') +# print('nama' in mahasiswa) + +# print('\nApakah variable siswa TIDAK memiliki key status?') +# print('status' not in mahasiswa) + + +# # menghaus item +# del mahasiswa ['nama'] +# print('Nama Mahasiswa:', mahasiswa.get("nama")) + +# # menghapus menggunakan pop +# mahasiswa.pop ('umur') +# print('Umur Mahasiswa:', mahasiswa.get("umur")) + +# # menampilkan nilai kembalian data yang saudah dihapus +# gender = mahasiswa.pop('Gender') +# print('jenis kelamin mahasiswa:', gender) + +# # mencetak key alamat sekaligus cek +# print('Alamat:', mahasiswa.get("alamat")) + +# # menambahkan key alamat ke dalam dict mahasiswa +# mahasiswa["alamat"] = "jember" + +# # mencetak hasil +# print('Mahasiswa {} beralamat di {}'.format( +# mahasiswa.get('nama'), +# mahasiswa.get('alamat') +# )) + +# # mengubah nilai item +# print('Nama Awal:', mahasiswa.get("nama")) +# mahasiswa["nama"] = "Budi Santoso" +# print('Nama Setelah Diubah:', mahasiswa.get("nama")) + +# #mengakses item pada dictionary +# #menggunakan get() +# print('Nama Mahasiswa:', mahasiswa.get("nama")) + +# # menggunakan kurung siku [] +# print ('Umur Mahasiswa:', mahasiswa["umur"]) + +# # menggunakan fungsi berantai untuk dictionary bertingkat +# print('Jurusan Mahasiswa:', mahasiswa.get("kuliah").get("jurusan")) + +# # menggunakan kurung siku di kedua dua nya +# print('Prodi Mahasiswa:', mahasiswa["kuliah"]["prodi"]) \ No newline at end of file diff --git a/Acara-15/__pycache__/a.cpython-313.pyc b/Acara-15/__pycache__/a.cpython-313.pyc new file mode 100644 index 0000000..b04fc30 Binary files /dev/null and b/Acara-15/__pycache__/a.cpython-313.pyc differ diff --git a/Acara-15/a.py b/Acara-15/a.py new file mode 100755 index 0000000..5ba20c2 --- /dev/null +++ b/Acara-15/a.py @@ -0,0 +1,10 @@ +def halo(SalamPebuka): + print(SalamPebuka) + +halo("Selamat Pagi") + +def salam(name): + print("Selamat Pagi", name) + +salam("Budi") +salam(123) diff --git a/Acara-15/b.py b/Acara-15/b.py new file mode 100644 index 0000000..82eb060 --- /dev/null +++ b/Acara-15/b.py @@ -0,0 +1,10 @@ +# membua fungsi dengan parameter *nama +def saam(*nama): + i=0 + print('Halo', end=' ') + while len(nama) > i: + print(nama[i], end=' ') + i += 1 +# mengisi masing masing parameter dengan tipe data string +saam('Aldo', 'Budi', 'Cici') +saam('Doni', 'Eka', 'Fani', 'Gina') \ No newline at end of file diff --git a/Acara-15/c.py b/Acara-15/c.py new file mode 100644 index 0000000..7a4b719 --- /dev/null +++ b/Acara-15/c.py @@ -0,0 +1,7 @@ +def salam(**person): + print('Halo', person['NamaDepan'], person['NamaBelakang']) + +salam(NamaDepan='Aldo', NamaBelakang='Siregar') +salam(NamaBelakang='Budi', NamaDepan='Santoso') +salam(NamaDepan='Budi', NamaBelakang='Santoso', usia=20) +salam(NamaDepan='Budi') diff --git a/Acara-15/d.py b/Acara-15/d.py new file mode 100644 index 0000000..e3a3d8d --- /dev/null +++ b/Acara-15/d.py @@ -0,0 +1,5 @@ +def perkalian(a, b): + hasil = int(a) * int(b) + return hasil + +print('hasil perkalian dari 3 dan 5 adalah', perkalian(3, 5)) \ No newline at end of file diff --git a/Acara-15/e.py b/Acara-15/e.py new file mode 100644 index 0000000..32d0d02 --- /dev/null +++ b/Acara-15/e.py @@ -0,0 +1,18 @@ +# variable global +nama = "Desca Rizki Febriant" +golongan = "B" + +def sebut(): + # variable local + nama = "Bara" + golongan = "A" + # mengakses variable lokal + print ('Nama: %s' % nama) + print ('Golongan: %s' % golongan) + +# mengakses variable global +print ('Nama: %s' % nama) +print ('Golongan: %s' % golongan) + +# memanggil fungsi sebut +sebut() \ No newline at end of file diff --git a/Acara-16/calc1.py b/Acara-16/calc1.py new file mode 100644 index 0000000..083c8af --- /dev/null +++ b/Acara-16/calc1.py @@ -0,0 +1,62 @@ +def tambah(x, y): + return x + y + + +def kurang(x, y): + return x - y + + +def kali(x, y): + return x * y + + +def bagi(x, y): + return x / y + + +print("Pilih operasi Kalkulasi") +print("1. Penjumlahan") +print("2. Pengurangan") +print("3. Perkalian") +print("4. Pembagian") + +pilih = input("Masukkan pilihan (1/2/3/4): ") +num1 = int(input("Masukkan bilangan pertama: ")) +num2 = int(input("Masukkan bilangan kedua: ")) + +if pilih == "1": + print(num1, "+", num2, "=", tambah(num1, num2)) + +elif pilih == "2": + print(num1, "-", num2, "=", kurang(num1, num2)) + +elif pilih == "3": + print(num1, "*", num2, "=", kali(num1, num2)) + +elif pilih == "4": + print(num1, "/", num2, "=", bagi(num1, num2)) + +else: + print("Pilihan tidak valid") + + +# pilihan = input("Masukkan pilihan (1/2/3/4): ") + +# if pilihan == "1": +# num1 = float(input("Masukkan bilangan pertama: ")) +# num2 = float(input("Masukkan bilangan kedua: ")) +# print("Hasil penjumlahan:", tambah(num1, num2)) +# elif pilihan == "2": +# num1 = float(input("Masukkan bilangan pertama: ")) +# num2 = float(input("Masukkan bilangan kedua: ")) +# print("Hasil pengurangan:", kurang(num1, num2)) +# elif pilihan == "3": +# num1 = float(input("Masukkan bilangan pertama: ")) +# num2 = float(input("Masukkan bilangan kedua: ")) +# print("Hasil perkalian:", kali(num1, num2)) +# elif pilihan == "4": +# num1 = float(input("Masukkan bilangan pertama: ")) +# num2 = float(input("Masukkan bilangan kedua: ")) +# print("Hasil pembagian:", bagi(num1, num2)) +# else: +# print("Pilihan tidak valid") diff --git a/Acara-16/calc2.py b/Acara-16/calc2.py new file mode 100644 index 0000000..de6805a --- /dev/null +++ b/Acara-16/calc2.py @@ -0,0 +1,63 @@ +def tambah(x, y): + return x + y + + +def kurang(x, y): + return x - y + + +def kali(x, y): + return x * y + + +def bagi(x, y): + return x / y + + +def input_angka(pesan): + while True: + try: + return float(input(pesan)) + except ValueError: + print("Input bukan angka, coba lagi.") + + +def input_pilihan(): + while True: + pilih = input("Masukkan pilihan (1/2/3/4: ").strip() + if pilih.isdigit() and pilih in {"0", "1", "2", "3", "4"}: + return int(pilih) + print("Input bukan angka atau tidak valid, coba lagi.") + + +def tampil_menu(): + print("==============================================") + print("WORKSHOP PEMROGRAMAN DASAR") + print("Selamat Datang di Program Kalkulator Sederhana") + print("==============================================") + print("Silahkan Pilih Opsi Operasi kalkulator") + print("1. Penjumlahan") + print("2. Pengurangan") + print("3. Perkalian") + print("4. Pembagian") + + +while True: + tampil_menu() + + pilih = input_pilihan() + + num1 = input_angka("Masukkan bilangan pertama: ") + num2 = input_angka("Masukkan bilangan kedua: ") + + if pilih == "1": + print(num1, "+", num2, "=", tambah(num1, num2)) + elif pilih == "2": + print(num1, "-", num2, "=", kurang(num1, num2)) + elif pilih == "3": + print(num1, "*", num2, "=", kali(num1, num2)) + elif pilih == "4": + print(num1, "/", num2, "=", bagi(num1, num2)) + + input("Tekan Enter untuk kembali ke menu...") + print() diff --git a/Acara-16/temp.py b/Acara-16/temp.py new file mode 100644 index 0000000..d999e52 --- /dev/null +++ b/Acara-16/temp.py @@ -0,0 +1,141 @@ +def TampilkanSuhu(): + print("==================================================") + print("WORKSHOP PEMROGRAMAN DASAR") + print("Selamat Datang di Program Konversi Suhu Sederhana") + print("==================================================") + print("1. Celcius") + print("2. Fahrenheit") + print("3. Kelvin") + print("4. Reamur") + print("Silahkan Pilih Satuan Mana yang akan di Konversi") + +def subTampilanSuhu(): + print('Suhu') +def input_angka(pesan): + while True: + try: + return float(input(pesan)) + except ValueError: + print("Input bukan angka, coba lagi.") + + +def input_pilihan(): + while True: + pilih = input("Masukkan pilihan (1/2/3/4: ").strip() + if pilih.isdigit() and pilih in {"0", "1", "2", "3", "4"}: + return int(pilih) + print("Input bukan angka atau tidak valid, coba lagi.") + + +# def konversiSuhu(suhu): +# drjt = int(suhu[:-1]) +# inputan = suhu[-1] + +# if inputan.upper() == "C": +# hasil1 = float((9 * drjt) / 5 + 32) +# hasil2 = float(drjt + 273.15) +# hasil3 = float(4 / 5 * drjt) +# jenisX = "Celcius" +# jenis1 = "Fahrenheit" +# jenis2 = "Kelvin" +# jenis3 = "Reamur" +# print(f"{drjt} {jenisX}, ={hasil1:.1f} {jenis1}") +# print(f"{drjt} {jenisX}, ={hasil2:.1f} {jenis2}") +# print(f"{drjt} {jenisX}, ={hasil3:.1f} {jenis3}") + +# elif inputan.upper() == "F": +# hasil1 = float((drjt - 32) * 5 / 9) +# hasil2 = float(((drjt - 32) * 5 / 9) + 273.15) +# hasil3 = float(4 / 9 * (drjt - 32)) +# jenisX = "Fahrenheit" +# jenis1 = "Celcius" +# jenis2 = "Kelvin" +# jenis3 = "Reamur" +# print(f"{drjt} {jenisX}, ={hasil1:.1f} {jenis1}") +# print(f"{drjt} {jenisX}, ={hasil2:.1f} {jenis2}") +# print(f"{drjt} {jenisX}, ={hasil3:.1f} {jenis3}") + +# elif inputan.upper() == "K": +# hasil1 = float(drjt - 273.15) +# hasil2 = float((drjt - 273.15) * 9 / 5 + 32) +# hasil3 = float(4 / 5 * (drjt - 273)) +# jenisX = "Kelvin" +# jenis1 = "Celcius" +# jenis2 = "Fahrenheit" +# jenis3 = "Reamur" +# print(f"{drjt} {jenisX}, ={hasil1:.1f} {jenis1}") +# print(f"{drjt} {jenisX}, ={hasil2:.1f} {jenis2}") +# print(f"{drjt} {jenisX}, ={hasil3:.1f} {jenis3}") + +# elif inputan.upper() == "R": +# hasil1 = float((5 / 4) * drjt) +# hasil2 = float((9 / 4 * drjt) + 32) +# hasil3 = float((5 / 4 * drjt) + 273) +# jenisX = "Reamur" +# jenis1 = "Celcius" +# jenis2 = "Fahrenheit" +# jenis3 = "Kelvin" +# print(f"{drjt} {jenisX}, ={hasil1:.1f} {jenis1}") +# print(f"{drjt} {jenisX}, ={hasil2:.1f} {jenis2}") +# print(f"{drjt} {jenisX}, ={hasil3:.1f} {jenis3}") + +# else: +# print("Maaf, inputan tidak sesuai. Sesuaikan inputan dengan kriteria yang ada") + + +def suhuCelcius(drjt): + hasil1 = float(drjt - 273.15) + hasil2 = float((drjt - 273.15) * 9 / 5 + 32) + hasil3 = float(4 / 5 * (drjt - 273)) + jenisX = "Celcius" + jenis1 = "Kelvin" + jenis2 = "Fahrenheit" + jenis3 = "Reamur" + print(f"{drjt} {jenisX}, ={hasil1:.1f} {jenis1}") + print(f"{drjt} {jenisX}, ={hasil2:.1f} {jenis2}") + print(f"{drjt} {jenisX}, ={hasil3:.1f} {jenis3}") + + +def suhuFahrenheit(drjt): + hasil1 = float((drjt - 32) * 5 / 9 + 273.15) + hasil2 = float((drjt - 32) * 5 / 9) + hasil3 = float((drjt - 32) * 4 / 9) + jenisX = "Fahrenheit" + jenis1 = "Kelvin" + jenis2 = "Celcius" + jenis3 = "Reamur" + print(f"{drjt} {jenisX}, ={hasil1:.1f} {jenis1}") + print(f"{drjt} {jenisX}, ={hasil2:.1f} {jenis2}") + print(f"{drjt} {jenisX}, ={hasil3:.1f} {jenis3}") + + +def suhuKelvin(drjt): + hasil1 = float(drjt - 273.15) + hasil2 = float((drjt - 273.15) * 9 / 5 + 32) + hasil3 = float(4 / 5 * (drjt - 273)) + jenisX = "Kelvin" + jenis1 = "Celcius" + jenis2 = "Fahrenheit" + jenis3 = "Reamur" + print(f"{drjt} {jenisX}, ={hasil1:.1f} {jenis1}") + print(f"{drjt} {jenisX}, ={hasil2:.1f} {jenis2}") + print(f"{drjt} {jenisX}, ={hasil3:.1f} {jenis3}") + + +def suhuReamur(drjt): + hasil1 = float(drjt * 5 / 4 + 273.15) + hasil2 = float(drjt * 9 / 4 + 32) + hasil3 = float(drjt * 9 / 10) + jenisX = "Reamur" + jenis1 = "Kelvin" + jenis2 = "Fahrenheit" + jenis3 = "Celcius" + print(f"{drjt} {jenisX}, ={hasil1:.1f} {jenis1}") + print(f"{drjt} {jenisX}, ={hasil2:.1f} {jenis2}") + print(f"{drjt} {jenisX}, ={hasil3:.1f} {jenis3}") + + +while True: + TampilkanSuhu() + + pilih = input_pilihan() diff --git a/Acara-16/temp2.py b/Acara-16/temp2.py new file mode 100644 index 0000000..9f5864a --- /dev/null +++ b/Acara-16/temp2.py @@ -0,0 +1,75 @@ +def konversiSuhu(suhu): + drjt = int(suhu[:-1]) + inputan = suhu[-1] + + if inputan.upper() == "C": + hasil1 = float((9 * drjt) / 5 + 32) + hasil2 = float(drjt + 273.15) + hasil3 = float(4 / 5 * drjt) + jenisX = "Celcius" + jenis1 = "Fahrenheit" + jenis2 = "Kelvin" + jenis3 = "Reamur" + print(f"{drjt} {jenisX}, ={hasil1:.1f} {jenis1}") + print(f"{drjt} {jenisX}, ={hasil2:.1f} {jenis2}") + print(f"{drjt} {jenisX}, ={hasil3:.1f} {jenis3}") + + elif inputan.upper() == "F": + hasil1 = float((drjt - 32) * 5 / 9) + hasil2 = float(((drjt - 32) * 5 / 9) + 273.15) + hasil3 = float(4 / 9 * (drjt - 32)) + jenisX = "Fahrenheit" + jenis1 = "Celcius" + jenis2 = "Kelvin" + jenis3 = "Reamur" + print(f"{drjt} {jenisX}, ={hasil1:.1f} {jenis1}") + print(f"{drjt} {jenisX}, ={hasil2:.1f} {jenis2}") + print(f"{drjt} {jenisX}, ={hasil3:.1f} {jenis3}") + + elif inputan.upper() == "K": + hasil1 = float(drjt - 273.15) + hasil2 = float((drjt - 273.15) * 9 / 5 + 32) + hasil3 = float(4 / 5 * (drjt - 273)) + jenisX = "Kelvin" + jenis1 = "Celcius" + jenis2 = "Fahrenheit" + jenis3 = "Reamur" + print(f"{drjt} {jenisX}, ={hasil1:.1f} {jenis1}") + print(f"{drjt} {jenisX}, ={hasil2:.1f} {jenis2}") + print(f"{drjt} {jenisX}, ={hasil3:.1f} {jenis3}") + + elif inputan.upper() == "R": + hasil1 = float((5 / 4) * drjt) + hasil2 = float((9 / 4 * drjt) + 32) + hasil3 = float((5 / 4 * drjt) + 273) + jenisX = "Reamur" + jenis1 = "Celcius" + jenis2 = "Fahrenheit" + jenis3 = "Kelvin" + print(f"{drjt} {jenisX}, ={hasil1:.1f} {jenis1}") + print(f"{drjt} {jenisX}, ={hasil2:.1f} {jenis2}") + print(f"{drjt} {jenisX}, ={hasil3:.1f} {jenis3}") + + else: + print("Maaf, inputan tidak sesuai. Sesuaikan inputan dengan kriteria yang ada") + + +# --- Bagian Program Utama --- + +i = 0 +print("=========================================") +print("WORKSHOP PEMROGRAMAN DASAR") +print("Selamat Datang di Program Konversi Suhu Sederhana") +print("=========================================") + +while i == 0: + temp = input( + "\nSilahkan masukkan suhu, diikuti satuan suhu (Misal: 0C, 200F, 273K, 60R = " + ) + konversiSuhu(temp) + + lagi = input("Hitung lagi? (1=ya & 0=tidak) = ") + if lagi == "1": + i = 0 + elif lagi == "0": + i = 1 diff --git a/Acara-16/temp3.py b/Acara-16/temp3.py new file mode 100644 index 0000000..ed79017 --- /dev/null +++ b/Acara-16/temp3.py @@ -0,0 +1,161 @@ +def input_angka(pesan): + while True: + try: + return float(input(pesan)) + except ValueError: + print("Input bukan angka, coba lagi.") + + +def input_pilihan(valid_opsi, pesan="Pilih: "): + valid_opsi = {str(o) for o in valid_opsi} + while True: + s = input(pesan).strip() + if s in valid_opsi: + return int(s) + print(f"Input tidak valid. Pilihan yang tersedia: {sorted(valid_opsi)}") + + +# ================= +# NOTE : +# c = Celcius +# k = Kelvin +# f = Fahrenheit +# r = Reamur +# ================= + + +def to_c_from_f(f): + return (f - 32) * 5 / 9 + + +def to_c_from_r(r): + return r * 5 / 4 + + +def to_c_from_k(k): + return k - 273.15 + + +def from_c_to_f(c): + return c * 9 / 5 + 32 + + +def from_c_to_r(c): + return c * 4 / 5 + + +def from_c_to_k(c): + return c + 273.15 + + +def konversi_suhu(): + print("==============================================") + print("WORKSHOP PEMROGRAMAN DASAR") + print("Selamat Datang di Program Konversi Suhu Sederhana") + print("==============================================") + print("1. Celcius") + print("2. Reamur") + print("3. Fahrenheit") + print("4. Kelvin") + + pilih = input_pilihan( + {1, 2, 3, 4}, "Masukkan satuan yang akan dikonversi (1/2/3/4): " + ) + + # Menaruh label + label = {1: "Celcius", 2: "Reamur", 3: "Fahrenheit", 4: "Kelvin"}[pilih] + print(f"\n=={label}==") + + if pilih == 1: # pilihan ke 1 + c = input_angka("Suhu Celcius = ") + print("\nMau diubah ke satuan suhu yang mana ?") + print("1. Reamur") + print("2. Fahrenheit") + print("3. Kelvin") + tujuan = input_pilihan({1, 2, 3}, "Pilih = ") + if tujuan == 1: + hasil = from_c_to_r(c) + tujuan = "reamur" + elif tujuan == 2: + hasil = from_c_to_f(c) + tujuan = "fahrenheit" + else: + hasil = from_c_to_k(c) + tujuan = "kelvin" + + elif pilih == 2: # pilihan ke 2 + r = input_angka("Suhu Reamur = ") + c = to_c_from_r(r) + print("\nMau diubah ke satuan suhu yang mana ?") + print("1. Celcius") + print("2. Fahrenheit") + print("3. Kelvin") + tujuan = input_pilihan({1, 2, 3}, "Pilih = ") + if tujuan == 1: + hasil = c + tujuan = "celcius" + elif tujuan == 2: + hasil = from_c_to_f(c) + tujuan = "fahrenheit" + else: + hasil = from_c_to_k(c) + tujuan = "kelvin" + + elif pilih == 3: # pilihan ke 3 + f = input_angka("Suhu Fahrenheit = ") + c = to_c_from_f(f) + print("\nMau diubah ke satuan suhu yang mana ?") + print("1. Celcius") + print("2. Reamur") + print("3. Kelvin") + tujuan = input_pilihan({1, 2, 3}, "Pilih = ") + if tujuan == 1: + hasil = c + tujuan = "celcius" + elif tujuan == 2: + hasil = from_c_to_r(c) + tujuan = "reamur" + else: + hasil = from_c_to_k(c) + tujuan = "kelvin" + + else: # pilihan ke 4 + k = input_angka("Suhu Kelvin = ") + c = to_c_from_k(k) + print("\nMau diubah ke satuan suhu yang mana ?") + print("1. Celcius") + print("2. Reamur") + print("3. Fahrenheit") + tujuan = input_pilihan({1, 2, 3}, "Pilih = ") + if tujuan == 1: + hasil = c + tujuan = "celcius" + elif tujuan == 2: + hasil = from_c_to_r(c) + tujuan = "reamur" + else: + hasil = from_c_to_f(c) + tujuan = "fahrenheit" + + print(f"\nSuhu {tujuan} = {hasil:.12f}\n") # presisi mirip contoh + + +def MenuUtama(): + print("==============================================") + print("WORKSHOP PEMROGRAMAN DASAR") + print("Selamat Datang di Program Konversi Suhu Sederhana") + print("==============================================") + print("1. Konversi Suhu") + print("2. Keluar") + + +while True: + MenuUtama() + + m = input_pilihan({1, 2}, "Pilih menu (1/2): ") + if m == 1: + konversi_suhu() + elif m == 2: + print("Terima kasih, program selesai.") + break + input("Tekan Enter untuk kembali ke menu...") diff --git a/Acara-21/workSpace/coba.py b/Acara-21/workSpace/coba.py new file mode 100644 index 0000000..0f62384 --- /dev/null +++ b/Acara-21/workSpace/coba.py @@ -0,0 +1 @@ +print('hello') diff --git a/Acara-21/workSpace/led1.py b/Acara-21/workSpace/led1.py new file mode 100644 index 0000000..a213478 --- /dev/null +++ b/Acara-21/workSpace/led1.py @@ -0,0 +1,7 @@ +from machine import Pin +from time import sleep +led=Pin(2,Pin.OUT) + +while True: + led.value(not led.value()) + sleep(0.5) diff --git a/Acara-7/input-output.py b/Acara-7/input-output.py new file mode 100755 index 0000000..b5d137d --- /dev/null +++ b/Acara-7/input-output.py @@ -0,0 +1,22 @@ +# Simple Input and Output in Python + +# Ask the user to enter their name +name = input("Enter your name: ") # input() gets user input as a string + +# Print a greeting message using the input +print("Hello,", name) # print() outputs text to the screen + +# Ask the user to enter their age +age = input("Enter your age: ") + +# Print a message with the user's age +print("You are", age, "years old.") + + +var = int(input("Enter an Number: ")) # Convert input to integer +print("You entered the Number:", var) +flt = float(input("Enter a floating-point number: ")) # Convert input to float +print("You entered the float:", flt) +# Demonstrating formatted output +print("Formatted output: Name: {}, Age: {}, Integer: {}, Float: {:.2f}".format(name, age, var, flt)) +print(f"Formatted output using f-string: Name: {name}, Age: {age}, Integer: {var}, Float: {flt:.2f}") \ No newline at end of file diff --git a/Acara-7/input-output2.py b/Acara-7/input-output2.py new file mode 100755 index 0000000..5d55e58 --- /dev/null +++ b/Acara-7/input-output2.py @@ -0,0 +1,5 @@ +nama = input("Masukkan nama Anda: ") +umur = int(input("Masukkan umur Anda: ")) +tinggi = float(input("Masukkan tinggi badan Anda (dalam cm): ")) + +print ("Halo %s, Umur kamu %i tahun dan tinggi badambu %f cm." % (nama, umur, tinggi)) \ No newline at end of file diff --git a/Acara-7/input-output3.py b/Acara-7/input-output3.py new file mode 100755 index 0000000..b6b7778 --- /dev/null +++ b/Acara-7/input-output3.py @@ -0,0 +1,3 @@ +print (1, 3, 5, 7) +print (1,2,3,4, sep='*') +print (1,2,3,4, sep='#', end='&') \ No newline at end of file diff --git a/Acara-8/Percabangan-1.py b/Acara-8/Percabangan-1.py new file mode 100755 index 0000000..83c0902 --- /dev/null +++ b/Acara-8/Percabangan-1.py @@ -0,0 +1,9 @@ +#if +angka = int(input("Masukkan angka: ")) + +if angka > 5: + print("angka lebih besar dari 5") +elif angka == 5: + print("angka sama dengan 5") +else: + print("angka lebih kecil dari 5") \ No newline at end of file diff --git a/Acara-8/if-elif-else.py b/Acara-8/if-elif-else.py new file mode 100755 index 0000000..b445790 --- /dev/null +++ b/Acara-8/if-elif-else.py @@ -0,0 +1,26 @@ +# angka = int (input("Masukkan angka: ")) + +# if angka > 0: +# print("angka positif") +# elif angka == 0: +# print("angka nol") +# else: +# print("angka negatif") + +hari = input("Masthx infukkan hari (Senin, Selasa, Rabu, Kamis, Jumat, Sabtu, Minggu): ") +if hari == "Senin": + print("Hari ini adalah hari Senin") +elif hari == "Selasa": + print("Hari ini adalah hari Selasa") +elif hari == "Rabu": + print("Hari ini adalah hari Rabu") +elif hari == "Kamis": + print("Hari ini adalah hari Kamis") +elif hari == "Jumat": + print("Hari ini adalah hari Jumat") +elif hari == "Sabtu": + print("Hari ini adalah hari Sabtu") +elif hari == "Minggu": + print("Hari ini adalah hari Minggu") +else: + print("Hari yang Anda masukkan tidak valid") \ No newline at end of file diff --git a/Acara-8/if-else.py b/Acara-8/if-else.py new file mode 100755 index 0000000..6416eb4 --- /dev/null +++ b/Acara-8/if-else.py @@ -0,0 +1,6 @@ +age = int(input("Masukkan umur Anda: ")) + +if age >= 18: + print("Anda sudah dewasa.") +else: + print("Anda masih di bawah umur.") diff --git a/Acara-8/if.py b/Acara-8/if.py new file mode 100755 index 0000000..9418c64 --- /dev/null +++ b/Acara-8/if.py @@ -0,0 +1,10 @@ +angka = 5 + +if (angka > 3): + print("angka lebih besar dari 5") + +if (angka < 10): + print("angka lebih kecil dari 10") + +if (angka == 5): + print("angka sama dengan 5") \ No newline at end of file diff --git a/Acara-8/naste-if.py b/Acara-8/naste-if.py new file mode 100755 index 0000000..2e0fd34 --- /dev/null +++ b/Acara-8/naste-if.py @@ -0,0 +1,18 @@ +try : + age = int(input("Masukkan umur Anda: ")) + + if (age >= 17): + kerja = input("Apakah Anda sudah bekerja atau masih kuliah? (kerja/kuliah): ").lower() + if kerja == "kerja": + print("Selamat! Anda sudah dewasa dan bekerja.") + elif kerja == "kuliah": + print("Anda sudah dewasa dan masih kuliah.") + else: + print("Input tidak valid") + elif (4 < age < 17): + print("Anda masih Seorang siswa.") + else: + print("Anda masih Anak-anak.") + +except: + print("Input tidak valid, masukkan angka saja.") \ No newline at end of file diff --git a/Operator Penugasan.py b/Operator Penugasan.py new file mode 100755 index 0000000..a8de4ee --- /dev/null +++ b/Operator Penugasan.py @@ -0,0 +1,15 @@ +#a =3 +#print("Awal mula a = %d" % a) + +#a += 5 +#print("Nilai setelah ditambah 5:") +#print("a = %d" % a) + +a = 5 +a += 2 +a -= 3 +a *= 10 +a /= 4 +a **= 2 + +print("Nilai a adalah %d" % a) diff --git a/Operator bitwise.py b/Operator bitwise.py new file mode 100755 index 0000000..05365a5 --- /dev/null +++ b/Operator bitwise.py @@ -0,0 +1,9 @@ +a = 0b01 #desimal=1 +b = 0b10 #desimal=2 + +print (a&b) #AND +print (a|b) #OR +print (a^b) #XOR +print (~a) #NOT +print (~b) #NOT + diff --git a/Operator bitwise2.py b/Operator bitwise2.py new file mode 100755 index 0000000..0688a5c --- /dev/null +++ b/Operator bitwise2.py @@ -0,0 +1,26 @@ +a = 4 +b = 5 + +#operasi AND +c = a & b +print ("a & b = %s" % c) + +#operasi OR +c = a | b +print ("a | b = %s" % c) + +#operasi XOR +c = a ^ b +print ("a ^ b = %s" % c) + +#operasi NOT +c = ~a +print ("~a = %s" % c) +c = ~b +print ("~b = %s" % c) + +#operasi geser ke kiri +c = a << b +print ("a << b = %s" % c) +c = b << a +print ("b << a = %s" % c) diff --git a/Struktur Data/Tugas 1/hitung_hutang.py b/Struktur Data/Tugas 1/hitung_hutang.py new file mode 100755 index 0000000..67a794c --- /dev/null +++ b/Struktur Data/Tugas 1/hitung_hutang.py @@ -0,0 +1,23 @@ +def hutang(): + try: + hutang_awal = float(input("Masukkan jumlah hutang awal: ")) + persen_bunga = float(input("Masukkan persentase bunga per hari (contoh: 2 untuk 2%): ")) + hari = int(input("Masukkan jumlah hari: ")) + + # Persentase bunga diubah menjadi desimal lalu dibagi 100 + hutang_akhir = hutang_awal * (1 + (persen_bunga / 100)) ** hari + + # Menampilkan hasil + print(f"\nData yang di input:") + print(f"Hutang awal: Rp {hutang_awal:,.2f}") + print(f"Bunga harian: {persen_bunga}%") + print(f"Jumlah hari: {hari} hari") + print("-" * 30) + print(f"Hutang akhir: Rp {hutang_akhir:,.2f}") + + except ValueError: + print("Input tidak valid. Pastikan memasukkan angka untuk semua nilai.") + +# Menjalankan fungsi utama +if __name__ == "__main__": + hutang() \ No newline at end of file diff --git a/Tugas/Crud.py b/Tugas/Crud.py new file mode 100644 index 0000000..1ebe6da --- /dev/null +++ b/Tugas/Crud.py @@ -0,0 +1,118 @@ +# Variabel global untuk menyimpan data +# menggunakan list (daftar) dari dictionary + +data_mahasiswa = [] + + +def tampilkan_data(): + print("\n--- Daftar Data Tersimpan ---") + if not data_mahasiswa: + print("Belum ada data yang tersimpan.") + else: + # Menampilkan data sesuai format + for i, data in enumerate(data_mahasiswa, start=1): + print(f"{i}. {data['nama']}, {data['alamat']}") + print("-----------------------------") + + +def tambah_data(): + # Fungsi untuk menu 1: Tambah data + + print("\n--- Menu 1: Tambah Data ---") + nama = input("Masukkan data nama: ") + alamat = input("Masukkan data alamat: ") + + # Simpan data ke dalam list + data_mahasiswa.append({"nama": nama, "alamat": alamat}) + + print("\nData baru berhasil ditambahkan!") + + +def ubah_data(): + print("\n--- Menu 2: Ubah Data ---") + + tampilkan_data() + + if not data_mahasiswa: + print("Data kosong, tidak ada yang bisa diubah.") + return # Kembali ke menu utama + + try: + # Meminta input nomor data yang akan diubah + pilihan_str = input("Pilih data yang akan dirubah : ") + pilihan = int(pilihan_str) + + # Konversi ke index list + index = pilihan - 1 + + # Apakah nomor yang dipilih ada di dalam list? + if 0 <= index < len(data_mahasiswa): + # Langkah 2: Meminta input data baru + print( + f"Anda akan mengubah data ke-{pilihan}: {data_mahasiswa[index]['nama']}" + ) + nama_baru = input("Masukkan nama baru: ") + alamat_baru = input("Masukkan alamat baru: ") + + # Proses perubahan data + data_mahasiswa[index] = {"nama": nama_baru, "alamat": alamat_baru} + print("\nData berhasil diubah!") + else: + print("Nomor data invalid.") + + except ValueError: + print("Input Invalid. Masukkan Angka.") + + +def hapus_data(): + print("\n--- Menu 3: Hapus Data ---") + + tampilkan_data() + + if not data_mahasiswa: + print("Data kosong, tidak ada yang bisa dihapus.") + return # Kembali ke menu utama + + try: + pilihan_str = input("Pilih data no data yang akan dihapus : ") + pilihan = int(pilihan_str) + + # Mengkonversi indeks + index = pilihan - 1 + + # Apakah nomor yang dipilih ada di dalam list? + if 0 <= index < len(data_mahasiswa): + # Menghaops data dari list + data_yang_dihapus = data_mahasiswa.pop(index) + print(f"\nData '{data_yang_dihapus['nama']}' berhasil dihapus.") + else: + print("Nomor data invalid.") + + except ValueError: + print("Input Invalid. Masukkan Angka.") + + +def jalankan_program(): + while True: + print("\nMenu") + print("1. Tambah data") + print("2. Ubah data") + print("3. Hapus data") + print("4. Tampil data") + + pilihan = input("Pilihlah no menu diatas: ") + + if pilihan == "1": + tambah_data() + elif pilihan == "2": + ubah_data() + elif pilihan == "3": + hapus_data() + elif pilihan == "4": + tampilkan_data() + input("\nTekan Enter untuk kembali ke menu...") + else: + print("Pilihan invalid. Pilih nomor 1-4.") + + +jalankan_program() diff --git a/Tugas/LDR Sensor.fzz b/Tugas/LDR Sensor.fzz new file mode 100644 index 0000000..e39d68e Binary files /dev/null and b/Tugas/LDR Sensor.fzz differ diff --git a/Tugas/Lamp Sensor.fzz b/Tugas/Lamp Sensor.fzz new file mode 100644 index 0000000..1262aa0 Binary files /dev/null and b/Tugas/Lamp Sensor.fzz differ diff --git a/Tugas/Lamp Sensor2.fzz b/Tugas/Lamp Sensor2.fzz new file mode 100644 index 0000000..d2992f4 Binary files /dev/null and b/Tugas/Lamp Sensor2.fzz differ diff --git a/Tugas/a.py b/Tugas/a.py new file mode 100644 index 0000000..7061fd8 --- /dev/null +++ b/Tugas/a.py @@ -0,0 +1,19 @@ +def tampilkanAngka(batas, i=50): + print(f"Perulangan ke {i}") + + if i == batas: # jika i sama dengan batas + print("Selesai.") + return + + elif i < batas: + # Jika i lebih kecil + tampilkanAngka(batas, i + 2) + + elif i > batas: + # Jika i lebih besar + tampilkanAngka(batas, i - 2) + + +print("--- Recrusive Start ---") +tampilkanAngka(60) +print("--- Recrusive End ---") diff --git a/Tugas/b.py b/Tugas/b.py new file mode 100644 index 0000000..ba6524d --- /dev/null +++ b/Tugas/b.py @@ -0,0 +1,10 @@ +def jumlah_deret(n): + if n == 0: + return 0 + else: + return n + jumlah_deret(n - 2) + + +bilangan = 8 +hasil = jumlah_deret(bilangan) +print(f"Jumlah deret dari 1 sampai {bilangan} adalah {hasil}") diff --git a/Tugas/c.py b/Tugas/c.py new file mode 100644 index 0000000..0ec7369 --- /dev/null +++ b/Tugas/c.py @@ -0,0 +1,9 @@ +def func(n): + if n == 1: + return 1 + else: + return func(n - 1) + func(n - 2) + + +for i in range(5): + print(func(i), end=" ") diff --git a/Tugas/crud2.py b/Tugas/crud2.py new file mode 100755 index 0000000..09cfa77 --- /dev/null +++ b/Tugas/crud2.py @@ -0,0 +1,120 @@ +# Variabel global untuk menyimpan data +# Ini adalah 'state' program, terpisah dari fungsi. +# Berbeda dengan 'self.data_mahasiswa' yang terikat pada objek. +data_mahasiswa = [] + + +def tampilkan_data(): + print("\n--- Daftar Data Tersimpan ---") + + # Langsung mengakses variabel GLOBAL 'data_mahasiswa' + if not data_mahasiswa: + print("Belum ada data yang tersimpan.") + else: + # Menampilkan data sesuai format + for i, data in enumerate(data_mahasiswa, start=1): + print(f"{i}. {data['nama']}, {data['alamat']}") + print("-----------------------------") + + +# Ini juga FUNGSI biasa +def tambah_data(): + print("\n--- Menu 1: Tambah Data ---") + nama = input("Masukkan data nama: ") + alamat = input("Masukkan data alamat: ") + + # Langsung memodifikasi variabel GLOBAL + data_mahasiswa.append({"nama": nama, "alamat": alamat}) + print("\nData baru berhasil ditambahkan!") + + +# FUNGSI biasa +def ubah_data(): + print("\n--- Menu 2: Ubah Data ---") + + # Memanggil FUNGSI global lainnya + tampilkan_data() + + if not data_mahasiswa: + print("Data kosong, tidak ada yang bisa diubah.") + return + + try: + pilihan_str = input("Pilih data yang akan dirubah : ") + pilihan = int(pilihan_str) + index = pilihan - 1 + + if 0 <= index < len(data_mahasiswa): + print( + f"Anda akan mengubah data ke-{pilihan}: {data_mahasiswa[index]['nama']}" + ) + nama_baru = input("Masukkan nama baru: ") + alamat_baru = input("Masukkan alamat baru: ") + + # Langsung memodifikasi variabel GLOBAL + data_mahasiswa[index] = {"nama": nama_baru, "alamat": alamat_baru} + print("\nData berhasil diubah!") + else: + print("Nomor data invalid.") + + except ValueError: + print("Input Invalid. Masukkan Angka.") + + +# FUNGSI biasa +def hapus_data(): + print("\n--- Menu 3: Hapus Data ---") + + tampilkan_data() + + if not data_mahasiswa: + print("Data kosong, tidak ada yang bisa dihapus.") + return + + try: + pilihan_str = input("Pilih data no data yang akan dihapus : ") + pilihan = int(pilihan_str) + index = pilihan - 1 + + if 0 <= index < len(data_mahasiswa): + # Langsung memodifikasi variabel GLOBAL + data_yang_dihapus = data_mahasiswa.pop(index) + print(f"\nData '{data_yang_dihapus['nama']}' berhasil dihapus.") + else: + print("Nomor data invalid.") + + except ValueError: + print("Input Invalid. Masukkan Angka.") + + +# FUNGSI utama untuk menjalankan program +def jalankan_program(): + while True: + print("\nMenu") + print("1. Tambah data") + print("2. Ubah data") + print("3. Hapus data") + print("4. Tampil data") + print("5. Keluar") # Tambahan kecil + + pilihan = input("Pilihlah no menu diatas: ") + + # Memanggil FUNGSI global, bukan method objek + if pilihan == "1": + tambah_data() # Bukan app.tambah_data() + elif pilihan == "2": + ubah_data() # Bukan app.ubah_data() + elif pilihan == "3": + hapus_data() # Bukan app.hapus_data() + elif pilihan == "4": + tampilkan_data() # Bukan app.tampilkan_data() + input("\nTekan Enter untuk kembali ke menu...") + elif pilihan == "5": + print("Program selesai.") + break # Keluar dari loop + else: + print("Pilihan invalid. Pilih nomor 1-5.") + + +# Langsung panggil FUNGSI global untuk memulai program +jalankan_program() diff --git a/Tugas/crud3.py b/Tugas/crud3.py new file mode 100755 index 0000000..f29a29e --- /dev/null +++ b/Tugas/crud3.py @@ -0,0 +1,99 @@ +data_mahasiswa = [] + + +def show_data(): + print("\n--- Daftar Data Tersimpan ---") + if not data_mahasiswa: + print("Belum ada data yang tersimpan.") + else: + for index, mahasiswa in enumerate(data_mahasiswa, start=1): + print(f"{index}. Nama: {mahasiswa['nama']}, Alamat: {mahasiswa['alamat']}") + print() + + +def add_data(): + print("\n--- Menambahkan Data Mahasiswa ---") + nama = input("Nama: ") + alamat = input("alamat: ") + data_mahasiswa.append({"nama": nama, "alamat": alamat}) + print("Data berhasil ditambahkan.") + + +def change_data(): + print("\n--- Mengubah Data Mahasiswa ---") + if not data_mahasiswa: + print("Belum ada data yang tersimpan.") + else: + show_data() + index = int(input("Masukkan nomor data yang ingin diubah: ")) - 1 + if 0 <= index < len(data_mahasiswa): + nama = input("Nama baru: ") + alamat = input("alamat baru: ") + data_mahasiswa[index]["nama"] = nama + data_mahasiswa[index]["alamat"] = alamat + print("Data berhasil diubah.") + else: + print("Nomor data tidak valid.") + + +def delete_data(): + print("\n--- Menghapus Data Mahasiswa ---") + if not data_mahasiswa: + print("Belum ada data yang tersimpan.") + else: + show_data() + index = int(input("Masukkan nomor data yang ingin dihapus: ")) - 1 + if 0 <= index < len(data_mahasiswa): + del data_mahasiswa[index] + print("Data berhasil dihapus.") + else: + print("Nomor data tidak valid.") + + +def save_data(): + with open("data_mahasiswa.txt", "w") as file: + for data in data_mahasiswa: + file.write(f"{data['nama']},{data['alamat']}\n") + + +def load_data(): + try: + with open("data_mahasiswa.txt", "r") as file: + for line in file: + nama, alamat = line.strip().split(",") + data_mahasiswa.append({"nama": nama, "alamat": alamat}) + except FileNotFoundError: + pass + + +def run_program(): + while True: + print("\n--- Menu ---") + print("1. Tambah Data") + print("2. Ubah Data") + print("3. Hapus Data") + print("4. Tampilkan Data") + print("5. Simpan Data") + print("6. Load Data") + print("7. Keluar") + choice = input("Pilih menu (1/2/3/4/5/6/7): ") + if choice == "1": + add_data() + elif choice == "2": + change_data() + elif choice == "3": + delete_data() + elif choice == "4": + show_data() + elif choice == "5": + save_data() + elif choice == "6": + load_data() + elif choice == "7": + print("Finished") + break + else: + print("Pilihan tidak valid.") + + +run_program() diff --git a/Tugas/d.py b/Tugas/d.py new file mode 100644 index 0000000..54fc0c2 --- /dev/null +++ b/Tugas/d.py @@ -0,0 +1,18 @@ +def hitung_faktorial(n): + if n == 0 and n == 1: + return 1 + else: + n - hitung_faktorial(n + 1) + + +angka1 = 3 +hasil = hitung_faktorial(angka1) +print(hitung_faktorial) + +angka2 = 0 +hasil2 = hitung_faktorial(angka2) +print(hitung_faktorial) + +angka3 = 5 +hasil3 = hitung_faktorial(angka3) +print(hitung_faktorial) diff --git a/Tugas/data_mahasiswa.txt b/Tugas/data_mahasiswa.txt new file mode 100755 index 0000000..664e381 --- /dev/null +++ b/Tugas/data_mahasiswa.txt @@ -0,0 +1 @@ +asdas,asdas diff --git a/Tugas/recrusive.py b/Tugas/recrusive.py new file mode 100644 index 0000000..c575193 --- /dev/null +++ b/Tugas/recrusive.py @@ -0,0 +1,47 @@ +# Data Mahasiswa +data_mahasiswa = [ + {"nim": "101", "nama": "Budi", "ipk": 3.2}, + {"nim": "102", "nama": "Ani", "ipk": 3.8}, + {"nim": "103", "nama": "Candra", "ipk": 2.9}, + {"nim": "104", "nama": "Dewi", "ipk": 3.5}, +] + + +# === CONTOH 1: MENCETAK NAMA === +def cetak_nama_rekursif(list_mhs): + # 1. Kasus Dasar (Base Case) + if not list_mhs: + return + + # 2. Langkah Rekursif (Recursive Step) + mahasiswa_pertama = list_mhs[0] + print(f"- {mahasiswa_pertama['nama']} (NIM: {mahasiswa_pertama['nim']})") + cetak_nama_rekursif(list_mhs[1:]) + + +print("### Daftar Nama Mahasiswa ###") +cetak_nama_rekursif(data_mahasiswa) + + +# === CONTOH 2: MENGHITUNG IPK > 3.0 === +def hitung_ipk_di_atas(list_mhs, batas_ipk=3.0): + # 1. Kasus Dasar (Base Case) + if not list_mhs: + return 0 + + # 2. Langkah Rekursif (Recursive Step) + mahasiswa_pertama = list_mhs[0] + sisa_list = list_mhs[1:] + + jumlah_dari_sisa = hitung_ipk_di_atas(sisa_list, batas_ipk) + + if mahasiswa_pertama["ipk"] > batas_ipk: + return 1 + jumlah_dari_sisa + else: + return 0 + jumlah_dari_sisa + + +# Menjalankan fungsi +jumlah_lulus = hitung_ipk_di_atas(data_mahasiswa, 3.0) +print(f"\n### Jumlah Mahasiswa dengan IPK > 3.0 ###") +print(f"Total: {jumlah_lulus} mahasiswa") diff --git a/a.py b/a.py new file mode 100755 index 0000000..38223b1 --- /dev/null +++ b/a.py @@ -0,0 +1,8 @@ +#nama = input("Masukkan nama Anda: ") +#usia = input("Masukkan usia Anda: ") +# +#print("Selamat datang, ", nama, ". Anda berusia", usia, "tahun.") + +angka =int(input("masukan sebuah angka : ")) +print(angka+10) + diff --git a/b.py b/b.py new file mode 100755 index 0000000..6608f69 --- /dev/null +++ b/b.py @@ -0,0 +1,7 @@ +angka = 100 +def ubah_angka(): +angka = 50 +print("Di dalam fungsi:", angka) + +ubah_angka() +print("Di luar fungsi:", angka) \ No newline at end of file diff --git a/basic-programming/.zed/settings.json b/basic-programming/.zed/settings.json new file mode 100644 index 0000000..e69de29 diff --git a/basic-programming/2025_semester_1/29_aug/acara5.py b/basic-programming/2025_semester_1/29_aug/acara5.py new file mode 100755 index 0000000..913376f --- /dev/null +++ b/basic-programming/2025_semester_1/29_aug/acara5.py @@ -0,0 +1,5 @@ +#variable 4 +MataKuliah = "Workshop Pemrograman Dasar" +print (MataKuliah) +del (MataKuliah) +print (MataKuliah) \ No newline at end of file diff --git a/basic-programming/2025_semester_1/29_aug/acara6.py b/basic-programming/2025_semester_1/29_aug/acara6.py new file mode 100755 index 0000000..e9b1acc --- /dev/null +++ b/basic-programming/2025_semester_1/29_aug/acara6.py @@ -0,0 +1,26 @@ +a = 10 +b = 3 + +#menggunakan poperator penjumlaham +c = a + b +print("Hasil %d + %d = %d" % (a, b, c)) + +#menggunakan operator pengurangan +c = a - b +print("Hasil %d - %d = %d" % (a, b, c)) + +#menggunakan operator perkalian +c = a * b +print("Hasil %d * %d = %d" % (a, b, c)) + +#menggunakan operator pembagian +c = a / b +print("Hasil %d / %d = %f" % (a, b, c)) + +#menggunakan operator Sisa bagi +c = a % b +print("Hasil %d %% %d = %d" % (a, b, c)) + +#menggunakan operator Pangkat +c = a ** b +print("Hasil %d ** %d = %d" % (a, b, c)) diff --git a/basic-programming/2025_semester_1/29_aug/test.py b/basic-programming/2025_semester_1/29_aug/test.py new file mode 100755 index 0000000..e2d9793 --- /dev/null +++ b/basic-programming/2025_semester_1/29_aug/test.py @@ -0,0 +1,23 @@ +name = input("Your name is: ") +age = input("Your age is: ") +matakuliah = "aaa" +var1, var2, var3 = 5, "test2", 3.14 + +#print("Hello " + name + ", you are " + age + " years old.") +print("Hello {name}.") + +print("Hello World") + +age = int(input("Masukkan Umur Kamu: ")) + +if age > 30: + print("Umur Mu Diatas 30 Tahun") +else: + print("Umur Mu Masih Di Bawah 30 Tahun") + +print(var1, var2, var3) + +print (matakuliah) +del (matakuliah) +print ("Matakuliah telah dihapus") + diff --git a/operator logika.py b/operator logika.py new file mode 100755 index 0000000..2b37bee --- /dev/null +++ b/operator logika.py @@ -0,0 +1,16 @@ +a = True +b = False + +#Logika AND +c = a and b +print("%r and %r = %r" % (a,b,c)) + +#Logika OR +c = a or b +print("%r or %r = %r" % (a,b,c)) + +#Logika NOT +c = not a +print("not %r = %r" % (a,c)) +c = not b +print("not %r = %r" % (b,c)) diff --git a/operator pembanding.py b/operator pembanding.py new file mode 100755 index 0000000..f354552 --- /dev/null +++ b/operator pembanding.py @@ -0,0 +1,25 @@ +a = 5 +b = 3 +# apakah a sama dengan b? +c =a == b +print("Apakah %d == %d: %r" % (a,b,c)) + +# apakah a < b? +c = a < b +print("Apakah %d < %d: %r" % (a,b,c)) + +# apakah a > b? +c = a > b +print("Apakah %d > %d: %r" % (a,b,c)) + +# apakah a <= b? +c = a <= b +print("Apakah %d <= %d: %r" % (a,b,c)) + +# apakah a >= b? +c = a >= b +print("Apakah %d >= %d: %r" % (a,b,c)) + +#apakah a != b? +c = a != b +print("Apakah %d != %d: %r" % (a,b,c)) \ No newline at end of file diff --git a/seb.py b/seb.py new file mode 100755 index 0000000..0dbc6ce --- /dev/null +++ b/seb.py @@ -0,0 +1,13 @@ +import zlib +import gzip +import rncryptor +cryptor = rncryptor.RNCryptor() + +binary = gzip.open("SEB-Slearn.seb", 'rb') +f = binary.read() +binary.close() + +#im getting error here +dec_data = (rncryptor.decrypt(f[4:], 'iitu')) + +print(zlib.decompress(dec_data,15 + 32)) \ No newline at end of file diff --git a/simple calc.py b/simple calc.py new file mode 100755 index 0000000..6a8036d --- /dev/null +++ b/simple calc.py @@ -0,0 +1,57 @@ +# Fungsi untuk penjumlahan +def add(x, y): + return x + y + +# Fungsi untuk pengurangan +def subtract(x, y): + return x - y + +# Fungsi untuk perkalian +def multiply(x, y): + return x * y + +# Fungsi untuk pembagian +def divide(x, y): + # Memastikan tidak ada pembagian dengan nol + if y == 0: + return "Error! Pembagian dengan nol tidak bisa." + return x / y + +print("Pilih operasi.") +print("1.Penjumlahan") +print("2.Pengurangan") +print("3.Perkalian") +print("4.Pembagian") + +while True: + # Mengambil input dari pengguna + choice = input("Masukkan pilihan (1/2/3/4): ") + + # Mengecek apakah pilihan valid + if choice in ('1', '2', '3', '4'): + try: + num1 = float(input("Masukkan angka pertama: ")) + num2 = float(input("Masukkan angka kedua: ")) + except ValueError: + print("Input tidak valid. Masukkan angka.") + continue + + if choice == '1': + print(num1, "+", num2, "=", add(num1, num2)) + + elif choice == '2': + print(num1, "-", num2, "=", subtract(num1, num2)) + + elif choice == '3': + print(num1, "*", num2, "=", multiply(num1, num2)) + + elif choice == '4': + print(num1, "/", num2, "=", divide(num1, num2)) + + # Cek apakah pengguna ingin lanjut + next_calculation = input("Mau coba lagi? (ya/tidak): ") + if next_calculation.lower() != "ya": + break + + else: + print("Pilihan tidak valid") \ No newline at end of file diff --git a/simple calc2.py b/simple calc2.py new file mode 100755 index 0000000..a2e8268 --- /dev/null +++ b/simple calc2.py @@ -0,0 +1,22 @@ +angka1 = float(input("Masukkan angka pertama: ")) +operator = input("Masukkan operator (+, -, *, /): ") +angka2 = float(input("Masukkan angka kedua: ")) + +if operator == '+': + hasil = angka1 + angka2 + print(f"Hasil: {angka1} + {angka2} = {hasil}") +elif operator == '-': + hasil = angka1 - angka2 + print(f"Hasil: {angka1} - {angka2} = {hasil}") +elif operator == '*': + hasil = angka1 * angka2 + print(f"Hasil: {angka1} * {angka2} = {hasil}") +elif operator == '/': + if angka2 != 0: + hasil = angka1 / angka2 + print(f"Hasil: {angka1} / {angka2} = {hasil}") + else: + print("Error! Tidak bisa membagi dengan nol.") +else: + print("Operator tidak valid.") + \ No newline at end of file diff --git a/test.py b/test.py new file mode 100755 index 0000000..8cdcbb5 --- /dev/null +++ b/test.py @@ -0,0 +1,16 @@ +bergerak = True +while bergerak: + command = input("Masukkan perintah (maju, mundur, belok kiri, belok kanan, berhenti): ").lower() + if command == "maju": + print("Robot bergerak maju.") + elif command == "mundur": + print("Robot bergerak mundur.") + elif command == "belok kiri": + print("Robot berbelok ke kiri.") + elif command == "belok kanan": + print("Robot berbelok ke kanan.") + elif command == "berhenti": + print("Robot berhenti.") + bergerak = False + else: + print("Perintah tidak dikenali. Silakan coba lagi.") \ No newline at end of file