Membuat Program Daftar Nilai Mahasiswa Dengan python3

#belajar python #python pemula #python mudah #ngoding python #coding python #python tutorial #python-matematika #python-dan-matematika #matematika-python

mungkin ada dari kalian yang pernah mendapat tugas membuat program Daftar nilai Mahasiswa dan mungkin juga kebetulan tugas tersebut di tuntut untuk di buat dari bahasa pemrograman python

Nah …
kali ini mimin akan memberikan kepada kalian ,Program sperti kasus di atas dengan Fitur
(A)dd , (D)elete ,(E)dit ,(S)earch ,(L)ist dan (E)xit

seperti gambar di bawah ini misalnya :

Nah misalnya kasus seperti gambar di atas ini:
Seperti yang kalian lihat, pada gambar di sediakan pilihan yaitu [ lihat , Tambah , Ubah , Hapus ,Cari dan Keluar ],
Apakah sudah terbayang oleh kalian para pengguna python logika dan algoritma yang di butuhkan untuk membuat program yang di minta diatas teman” . . .
yups pastinya , kita membutuhkan comand untuk menentukan suatu kondisi yang di inginkan dari sebuah pilihan yang tersedia dan seperti yang ada di dalam gambar di atas , pastinya kalian para pecinta python menyadarinya bahwa script di atas menggunakan perulangan juga
Benar ?

Nah untuk bahan-bahan yang kita perlukan menurut mimin yaitu:

  • Komputer/PC /laptop / android
    ya pasti device nya lah … hehehe
  • OTAK
    ya otak , terkadangkan cewe juga sering bilang , NGOTAK DONK! ,waktu kita dideketin cewe lain atau suatu hal yang buat dia kesal dsb , namun saat dia melakukan suatu hal yang cowo tidak suka ,dia berkata pahamilah cuman begitu doang di jadikan masalah besar wkwkw
    duh ane malah curhat hehhehehe
  • Rokok dan pastinya segelas Kopi eaaakk
    klo mimin sih kopinya aja ,soalnya ngga ngerokok ehehe
  • aplikasi favorite kalian untuk ngoding pastinya
    mimin pakai VSC pastinya is da bezt pokoknya ,eh is thebest maksudnya
  • dan tentunya ilmu” dasar tentang python pastinya

Oke …
mimin rasa bahan” di atas lah yang di perlukan untuk membuat program sederhana seperti soal yang kita bahas kali ini ..
owh iya untuk modul yang mimin pakai kali ini adalah sebagai berikut:

  • import os ,sys

Yups mimin cuman meng- import modul os dan sys saja
karena ya mungkin bagi mimin modul itu sudah ..
karena nantinya mimin memakai symbol [ ╔ ╦ ╗ ═ ╬ ╠ ╣ ╚ ╩ ╝║]
maka pada awal baris kita perlu menambahkan [ ” # — encoding: utf-8 — “]
lalu seperti biasanya , mimin akan membuat beberapa alias , untuk memudahkan mimin ngodingnya supaya tidak terlalu panjang Hehehe .. 😂 ,
yg mimin buat alias adalah Print dan os.system seperti di bawah ini :

Oke mari kita lanjut ..
pertama” kita akan membuat Perulangan dahulu dengan menggunakan fungsi while true
script ini kita gunakan untuk Bagian menu Pilihanya mari lihat gambar :

loh Itu apa min ??
kok ada c.lower() ?!?!?
yupss , seperti yang kalian lihat pada gambar diatas …
variabel c adalah fungsi input untuk pilihan menu ,
lalu mengapa mimin menambahkana if c.lower() , fungsinya ialah apabila user menginputkan dengan huruf besar ,maka otomatis akan menjadi huruf kecil sehingga kodisi yang di inginkan tercapai
baik seperti pada gambar di atas per-tama² kita buat dulu fungsi

if c.lower() == ‘q’ , maka program akan berhenti / keluar
yaitu dengan cara sperti gambar di bawah ini :

Yuuppss
karena sebelumnya kita memakai perulangan while True , maka kita hanya perlu menambahkan fungsi break untuk menghentikan perulangan tersebut .
baik selanjutnya mari kita buat fungsi if c.lower() == ‘l’ :
nah fungsi ini adalah untuk menampilkan list ,data di dalam database yang tersedia
namun jika di dalam database tidak ada data
maka hasil print out dalam tabel juga tidak akan di tampilkan

Nah ,,
karena pada soal di atas menggunakan format table saat menampilkan listnya
maka kita perlu membuat logika untuk format tabelnya
Umm ..
sebelumnya saya akan beritahu dulu
bahwa nanti hasil input dari pilihan addnya adalah seperti di bawah ini :

yupss benar ..
saya lagi² memakai fungsi while True :
pertama kita buka dulu file database.txt dan tambahkan “a” di belakang fungsi open , fungsinya adalah append atau menambahkan tanpa menghapus baris sebelumnya (jika sudah ada) sebelumnya
logika yang di buat dari line 142 – 147 adalah untuk memasukan nama ,namun user bebas bisa memasukan string atau int . Namun coba anda perhatikan pada line 175 -183 ,tentunya berbeda
pada line ini saya menambahkan int pada fungsi inputnya , dan menggunakan try di dalam while true tujuanya ialah kondisi dari pasanganya try yaitu except , mimin menambahkan fungsi ini karena untuk mendeteksi jika format yang di inputkan bukan merupakan type angka maka akan muncul eror ValueError dan akan mencetak “masukan UAS dengan angka” . . . dan fungsi else-nya ialah jika tidak eror dan type yang dimasukan sesuai maka proses while True(perulanngan) akan berhenti dengan menambahkan break di dalam else
ini berlaku pada pada 3 input lain di atasnya seperti pada gambar di bawah ini :

nah karena pada menu ada kolom AKHIR yang di dapatkan dengan menggunakan rumus
maka disini mimin akan menggunakan fungsi round dan float
round untuk menentukan banyaknya angka di belakang koma ,bagian ini disebut sebagai ndigits
float disini saya gunakan untuk untuk mengubah bilangan menjadi float(desimal) , yang nantinya akan di kembalikan dengan round sehingga nanti hasil dari rumus AKHIR menjadi seperti yang di inginkan misal dalam kasus ini saya membuat angka akhir menjadi 2 angka di belakang koma,
maka penulisan scriptnya seperti di bawah ini:

nah ..
nantinya setelah angka akhir di dapatkan ,maka hasil input tadi akan di tulis kedalam database yang tadi sudah kita buat pada awal menu add td
nah maka file akan kita simpan dengan format string kedalam file database.txt
hasilnya akan menjadi seperti gambar di bawah ini :

oke mari kita lanjut ke bagian menu list
disini saatnya kita memasukan simbol untuk membuat tabel yang cantik dan rapih tentunya ehhehe😆😆 baik langsung lihat gambar saja ya :

ini adalah bagian heading tabelnya ya .. .

dan untuk bagian tengahnya kita menggunakan fungsi for untuk memfilter jika di dalam database (kosong,ada baris yang kosong) maka akan di lewati oleh print dan akan langsung mencetak bagian footer ,anda bisa melihat gambar untuk Footer :

oke mari kita buat logikanya untuk membuat print out Jika data di dalam database.txt tersedia.
mari perhatikan gambar di bawah ini :

perhatikan bagian for
jika di dalam database tidak terdapat “apa-apa” atau database kosong dan atau jika ada baris yang kosong di dalam database maka akan langsung di lewati , program akan langsung mencetak bagian footer ..
Nah jika di dalam database terdapat data nya , maka program akan memproses dan akan me-replace string [nama : , Nim ,Tugas ,uts ,uas dan akhir] menjadi [ ]/(tidak ada) jadi yang tersisa adalah nilai dari data input saja ..
yg terpisah oleh [ “|” ]
DAN saya akan menggunakan fungsi strip dan split
atau kalian bisa lihat pada gambar di atas pada line 24 ,baik mari kita bahas bagian printnya

(na[:15]).ljust(17,’.’) => maka yang akan di ambil adalah 15 space dari nilai nama dan jika melebihi dari 15 maka baris ke 16 – 17 akan di ubah menjadi ‘ . ‘ (titik) dan akan berhenti pada space ke 17
(ni).ljust(17) => ini seperti diatas , namun lebi baik di buat seperti di atas supaya lebih rapi apabila kemungkinan nilai ni/nim melebihi 17 space, maka tabel akan kacau , alangkah lebih baik di buat sperti ini (ni[:15]).ljust(17)
nah untuk 4 bagian lainya formatnya seperti ini :
(tu).ljust(6) => tabel ini saya buat tidak lebih dari 7 space , karena saya rasa nilai yg di inputkan tidak lebih dari nilai 100 ,iyakan iyakan iyakan hehehe 😁 😂

untuk bagian edit itu kurang lebih saja dengan add dan bagian search itu kurang lebih dengan list hanya saja bagian ini cuman mencetak data yang di cari
Oke untuk lebih jelasnya liat source codenya saja ya . . .
bisa

Untuk Demonya bisa lihat di bawah ini

Author: athien7dev

Leave a Reply

Your email address will not be published. Required fields are marked *