Anda di halaman 1dari 4

NAMA : Cheva Yudha Gautama

NIM : 192410101113
KELAS : ALGO D PRAKTIKUM

1. Di bagian awal saya membuat kode untuk membuka file DaftarNama.csv. Kode saya :

with open('DaftarNama.csv') as csv_file:


#membuka file dengan kode open(), lalu disimpan kedalam variabel csv file
csv_reader = csv.reader(csv_file,delimiter=';')
#delimiter (pembatas) pada fiie berupa ";" (antara nim dan nama dalam file csv)
line_count = 0
for row in csv_reader:
nim.append(row[0])
nama.append((row[1])[1:])

Saya menggunakan kodingan tersebut karena setelah belajar dari platform Youtube dan
membuka materi yang telah diberikan. Setelah itu saya memahami dalam kodingan tersebut
berisi tentang membuka file dan memodifikasi data dalam file tersebut. Seperti membuat
batas anta array dengan tand “;” dan dapat menambah baris dalam data yang ada dalam
array.

2. Langkah selanjutnya adalah saya membuat fungsi untuk mencari data dengan cara
menginputkan nim atau nama. Disini saya menggunakan kode binary search yang saya
pelajari dalam Youtube. Lalu saya sedikit memodifikasi agar dapat menampilkan nama-nama
yang sama ataupun NIM-NIM yang sama.

def mencari():
#untuk menampilkan data dengan menginputkan nim atau nama
cari = str(input("tulis nama/nim yang dicari : "))
with open ('DaftarNama.csv') as csvfile :
baca = csv.reader(csvfile,delimiter = ";")
print()
for data in baca :
try:
if cari in data[0]:
print("nama =",data[1])
print("nim =",data[0])
print()
if cari in data[1].lower():
print("nama =",data[1])
print("nim =",data[0])
print()
except:pass
3. Langkah selanjutnya adalah saya membuat fungsi untuk menampilkan seluruh data saya
array saya.

def show():
#untuk menampilkan semua isi data dari file tersebut
print('Nim\t Nama')
for x in range(len(nama)):
#untuk menentukan banyak perulangan yang terjadi
print(nim[x],nama[x])
#untuk menampilkan hasil
print()
#memberi jarak

4. Langkah selanjutnya adalah saya membuat fungsi untuk menghapus data pada file tersebut.
Di dalam kode ini user dapat menghapus data melalui NIM ataupun melalui Nama.

def menghapus():
#untuk menghapus data pada file tersebut
inputData = str(input('Masukkan nama/nim yang akan dihapus : '))
#memasukkan nim yang ingin dihapus
if inputData in nama:
for x in range(len(nama))
#untuk menentukan banyak perulangan yang terjadi
if inputData == nama[x]:
#mencari data yang ingin dihapus
del nim[x]
#menghapus nim data
del nama[x]
#menghapus nama data
elif inputData in nim :
for x in range(len(nim)):
#untuk menentukan banyak perulangan yang terjadi
if inputData == nim[x]:
#mencari data yang ingin dihapus
del nim[x]
del nama[x]
5. Langkah selanjutnya adalah saya membuat fungsi untuk menambahkan data pada file
tersebut. Di awal saya akan meminta inputan user berupa NIM dan Nama yang akan
ditambahkan dalam array. Lalu saya menggunakan fungsi “Append” untuk menambahkan
inputan NIM dalam array NIM dan inputan Nama dalam array Nama.

def tambah():
#untuk menambahkan data pada file tersebut
print('menambahkan data ')
#output perintah untuk menambahkan data
Nim = str(input('nim : '))
#input nim untuk data baru
Nama = str(input('nama : '))
#input nama untuk data baru
nim.append(Nim)
#menambahkan nim yang sudah di inputkan
nama.append(Nama)
#menambahkan nama yang sudah di inputkan

6. Langkah selanjutnya adalah saya membuat fungsi untuk mengurutkan data dari mulai nilai
yang tertinggi.

import csv
def urutTR():
#fungsi untuk mengurutkan data
list = []
with open('DaftarNama.csv') as csvfile:
baca = csv.reader(csvfile, delimiter=";")
for data in baca:
try:
data[0] = int(data[0])
list.append(data)
except:pass
for i in range(len(list)-1,-1,-1):
for j in range(i):
kiri = list[j]
kanan = list[j + 1]
low = list[j][0]
high = list[j + 1][0]
if low < high:
list[j] = kanan
list[j + 1] = kiri
print('Nim\t Nama')
for mahasiswa in list:
print(mahasiswa[:-1])

Disini saya menggunakan kode untuk mengurutkan data melalui data dengan nilai yang tertinggi.
Disini menggunakan sorting insertion Untuk membuat array menjadi urut. Alasan saya menggunakan
sorting tersebut lebih memungkinkan untuk digunakan

7. Langkah selanjutnya adalah saya membuat fungsi untuk mengurutkan data dari mulai nilai
yang terendah atau terkecil.

def urutRT():
list = []
with open('DaftarNama.csv') as csvfile:
baca = csv.reader(csvfile, delimiter=";")
for data in baca:
try:
data[0] = int(data[0])
list.append(data)
except:pass
for i in range(len(list)-1,-1,-1):
for j in range(i):
kiri = list[j]
kanan = list[j + 1]
low = list[j][0]
high = list[j + 1][0]
if low > high:
list[j] = kanan
list[j + 1] = kiri
print('Nim\t Nama')
for mahasiswa in list:
print(mahasiswa[:-1])

Di dalam kode ini sama dengan sorting yang ada dalam mengurutkan data dari yang
tertinggi. Perbedaannya ada dalam kode “If low > high : “ jika dalam mengurutkan data yang
terendah.

8. Langkah selanjutnya adalah saya membuat fungsi untuk membuat kode untuk pilihan user.
Lalu pilihan user tersebut akan memanggil fungsi yang di inginkan oleh user.

while True:
#percabangan
print('1.Menampilkan semua data\n2.Mencari data\n3.Menambahkan
data\n4.Menghapus data\n5.Mengurutkan dari Rendah ke Tinggi \n6.Mengurutkan dari
Tinggi ke Rendah') #perintah untuk memilih angka
user = int(input("pilih angka 1-6! : "))
#angka yang dapat diinputkan user
if user == 1:
#menentukan angka mana yang dipilih user
show()
#menjalankan perintah untuk menampilkan seluruh data
elif user ==2:
mencari()
#menjalankan perinyah untuk mencari data
elif user == 3:
tambah()
#menjalankan perintah untuk menambahkan data
elif user == 4:
menghapus()
#menjalankan perrintah untuk menghapus data
elif user == 5:
urutRT()
elif user == 6:
urutTR()

Anda mungkin juga menyukai