-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patharraymul.py
More file actions
142 lines (118 loc) · 5.11 KB
/
arraymul.py
File metadata and controls
142 lines (118 loc) · 5.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
# Inialisasi Batas Array pada Program [Fixed-Size Array]
Max = 10
# Membuat [Fixed-size Array] dengan nilai awal kosong
arrayNIMMahasiwa = [None] * Max
arrayNamaMahasiwa = [None] * Max
# Variable untuk melacak kondisi jumlah data
n = 0
while True:
print("\n ======== MENU ========")
print("1. Masukkan Data Pada Index Pertama")
print("2. Masukkan Data Pada Index Sesuai Pilihan")
print("3. Masukkan Data Pada Index Terakhir")
print("4. Hapus Data Dari Index Pertama")
print("5. Hapus Data Pada Index Yang Dipilih")
print("6. Hapus Data dari Index Terakhir")
print("7. Hapus 1 Data Jika Data Bernilai Sama")
print("8. Lihat Seluruh Data Mahasiswa")
print("9. Keluar")
pilihan = int(input("Pilih Menu: "))
match pilihan:
# Insert At Beginning
case 1:
inpNIMMahasiswa = int(input("Masukkan NIM Mahasiswa: "))
inpNamaMahasiswa = input("Masukkan Nama Mahasiswa: ")
if n < Max:
for i in range(n,0,-1):
arrayNIMMahasiwa[i] = arrayNIMMahasiwa[i-1]
arrayNamaMahasiwa[i] = arrayNamaMahasiwa[i-1]
arrayNIMMahasiwa[0] = inpNIMMahasiswa
arrayNamaMahasiwa[0] = f"Nama: {inpNamaMahasiswa}"
n+=1
print("Data Berhasil Ditambahkan :)")
# Insert At Given Position
case 2:
inpIndexMahasiswa = int(input(f"Masukkan Index: (0-{n}): "))
if n < Max and 0 <= inpIndexMahasiswa <= n:
inpNIMMahasiswa = int(input("Masukkan NIM Mahasiswa: "))
inpNamaMahasiswa = input("Masukkan Nama Mahasiswa: ")
for i in range(n, inpIndexMahasiswa, -1):
arrayNIMMahasiwa[i] = arrayNIMMahasiwa[i-1]
arrayNamaMahasiwa[i] = arrayNamaMahasiwa[i-1]
arrayNIMMahasiwa[inpIndexMahasiswa] = inpNIMMahasiswa
arrayNamaMahasiwa[inpIndexMahasiswa] = f"Nama: {inpNamaMahasiswa}"
n+=1
print(f"Data Berhasil Ditambahkan pada Index {inpIndexMahasiswa}")
else:
print(f"Index pada {inpIndexMahasiswa}, Gagal Ditambahkan")
# Insert At End
case 3:
if n < Max:
inpNIMMahasiswa = int(input("Masukkan NIM Mahasiswa: "))
inpNamaMahasiswa = input("Masukkan Nama Mahasiswa: ")
arrayNIMMahasiwa[n] = inpNIMMahasiswa
arrayNamaMahasiwa[n] = f"Nama: {inpNamaMahasiswa}"
n += 1
print("Data Berhasil Ditambahkan")
else:
print("Data Gagal Ditambahkan")
# Delete From Beginning
case 4:
if n > 0:
for i in range(0,n -1):
arrayNIMMahasiwa[i] = arrayNIMMahasiwa[i+1]
arrayNamaMahasiwa[i] = arrayNamaMahasiwa[i+1]
arrayNIMMahasiwa[n-1] = None
arrayNamaMahasiwa[n-1] = None
n -=1
print("Data Berhasil Dihapus")
else:
print("Gagal Dihapus")
# Delete Given Position
case 5:
inpIndexDeleteMahasiswa = int(input(f"Masukkan Index [0-{n-1}]: "))
if 0 <= inpIndexDeleteMahasiswa < n:
for i in range(inpIndexDeleteMahasiswa,n-1):
arrayNIMMahasiwa[i] = arrayNIMMahasiwa[i+1]
arrayNamaMahasiwa[i] = arrayNamaMahasiwa[i+1]
arrayNIMMahasiwa[n-1] = None
arrayNamaMahasiwa[n-1] = None
n-=1
print(f"Data pada Index{inpIndexDeleteMahasiswa} Berhasil Dihapus")
else:
print("Data Gagal Dihapus")
# Delete From End
case 6:
if n > 0:
arrayNIMMahasiwa[n-1] = None
arrayNamaMahasiwa[i-1] = None
n-=1
print("Index Terakhir Berhasil Dihapus")
else:
print("Index Gagal Dihapus")
# Delete First Occurrence
case 7:
inpIndexMahasiswa = int(input("Masukkan NIM Index Sama: "))
found = -1
for i in range(n):
if arrayNIMMahasiwa[i] == inpIndexMahasiswa:
found = i
break
if found != -1:
for i in range(found, n-1):
arrayNIMMahasiwa[i] = arrayNIMMahasiwa[i+1]
arrayNamaMahasiwa[i] = arrayNamaMahasiwa[i+1]
arrayNIMMahasiwa[n-1] = None
arrayNamaMahasiwa[n-1] = None
n -= 1
print(f"Data pada Index {inpIndexMahasiswa} berhasil dihapus")
else:
print("gagal Menghapus Data")
# Show Data
case 8:
print("\nData Mahasiswa:")
for i in range(n):
print(f"Index [{i}] {arrayNIMMahasiwa[i]} {arrayNamaMahasiwa[i ]}")
# Exit Program
case 9:
break