sistem informasi transkrip nilai

43
LAPORAN TUGAS AKHIR STRUKTUR DATA SISTEM INFORMASI TRANSKRIP NILAI NAMA KELOMPOK : MUHAMMAD IQBAL SHAUFI (10.12.4408 ) JAVAD IQBAL (10.12.4384) JAJAR GANTARA (10.12.4385) ARBIYAN TEZAR KUMBARA (10.12.4406) M.RAHMAT HIDAYAT (10.124409 ) ALI ZAINAL (10.12.4401) JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA 2011

Upload: darkagent29

Post on 04-Aug-2015

362 views

Category:

Documents


11 download

DESCRIPTION

Pembuatan Sistem informasi transkrip nilai sederhana menggunakan C++

TRANSCRIPT

Page 1: Sistem Informasi Transkrip Nilai

LAPORAN TUGAS AKHIR STRUKTUR DATA

SISTEM INFORMASI TRANSKRIP NILAI

NAMA KELOMPOK :

MUHAMMAD IQBAL SHAUFI (10.12.4408 )

JAVAD IQBAL (10.12.4384)

JAJAR GANTARA (10.12.4385)

ARBIYAN TEZAR KUMBARA (10.12.4406)

M.RAHMAT HIDAYAT (10.124409 )

ALI ZAINAL (10.12.4401)

JURUSAN SISTEM INFORMASI

STMIK AMIKOM YOGYAKARTA

2011

Page 2: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

1

KATA PENGANTAR

Alhamdulillah, kami panjatkan rasa syukur kepada Allah swt, hanya dengan bimbingan – Nya

maka laporan final project yang kami lakukan dengan judul pemba\uatan progam “ Transkip Nilai

“ dapat terselesaikan sesuai dengan tujuan yang diharapkan.

Selain kesyukuran tersebut, kami merasakan pula bahwa selesainya project dan laporan ini tidak lepas

dari bantuan banyak pihak, sehingga pada kesempatan ini ingin kami sampaikan ucapan terimakasih

kepada :

1. Yth Bapak M. Suyanto, Prof. Dr, M.M. selaku ketua pengurus yayasan STIMIK AMIKOM

YOGYAKARTA

2. Yth Bapak Riski Aditya, S.Kom selaku dosen ,ata kuliah struktur data yang telah membimbing

hingga jadi nya tugas kami ini

3. Orang tua yang selalu memberi dukungan.

4. Tidak lupa, juga kami sampaikan terimakasih secara tulus kepada teman-teman kuli

ah, yang secara langsung dan tidak tidak langsung telah ikut berperan dalam proses

pembelajaran kami, baik itu dalam bentuk dialog-dialog sederhara dalam pergaulan keseharian

di kampus, ataupun nasehat-nasehat yang telah kami terima. Kepada semuanya kami sampaikan

terimakasih, semoga Allah swt senantiasa memberi balasan kebaikan kepada mereka semuanya

Selanjutnya, demi kesempurnaan laporan ini kami sangat berharap saran dan kritik yang

konstruktif dari semua pihak, sehingga dalam laporan berikutnya akan diperoleh tingkat kualitas laporan

yang lebih baik.

Dan, akhirnya, hanya kepada Allah swt, segala bentuk pengabdian kita arahkan dan tujukan demi

memperoleh ridho- Nya.

Penyusun,

Page 3: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

2

DAFTAR ISI

KATA PENGANTAR .................................................................................................................................. i

DAFTAR ISI ............................................................................................................................................. ii

BAB I PENDAHULUAN ............................................................................................................................ 3

1.1 LATAR BELAKANG .......................................................................................................................... 3

1.2 RUMUSAN MASALAH .................................................................................................................... 3

1.3 BATASAN MASALAH ...................................................................................................................... 3

1.4 TUJUAN PENULISAN ...................................................................................................................... 4

1.5 SCHEDULE PENGERJAAN ................................................................................................................ 5

BAB II LANDASAN TEORI ......................................................................................................................... 6

2.1 POKOK PEMBAHASAN ................................................................................................................... 6

2.2 DASAR TEORI ................................................................................................................................. 8

BAB III ANALISA DAN PERANCANGAN SISTEM ..................................................................................... 10

3.1 PERANCANGAN INTERFACES ....................................................................................................... 10

3.2 ADMIN LOGIN INTERFACES .......................................................................................................... 10

3.3 MENU UTAMA ............................................................................................................................. 14

3.4 DATA MAHASISWA ...................................................................................................................... 17

3.5 MATA KULIAH INTERFACES ......................................................................................................... 19

3.6 TRANSKRIP INTERFACES .............................................................................................................. 26

3.7 SOURCE CODE ............................................................................................................................ 33

BAB IV KESIMPULAN ........................................................................................................................... 42

4.1 KESIMPULAN ............................................................................................................................... 42

Page 4: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

3

BAB I

PENDAHULUAN

1.1 LATAR BELAKANG

Pada dasarnya Sebuah perguruan tinggi membutuhkan suatu langkah untuk mempermudah

proses pengambilan nilai akhir pada mahasiswanya, untuk itu dibuatlah sebuah program untuk

mempermudah proses tersebut. Program ini hanya dimungkinkan untuk memproses satu demi satu

transkip nilai mahasiswa, tidak sama halnya dengan program pendaftaran mahasiswa baru yang dapat

secara langsung menginputkan beberapa calon mahasiswa sekaligus. Akan tidak mungkin jika saat dalam

proses penginputan program transkip nilai tersebut kita langsung memasukkan nilai beberapa

mahasiswa , maka pada proses output dari nilai beberapa mahasiswa akan tercampur aduk dan program

justru terlihat tidak efektif.

1.2 RUMUSAN MASALAH

1. langkah apa yang harus kita lakukan agar proses input nilai menjadi lebih efektif ?

2. bagaimana agar mahasiswa bisa mengetahui hasil nilai dengan cepat ?

3. apa langkah yang kita lakukan agar hasil transkip nilai lebih akurat?

1.3 BATASAN MASALAH

Agar identifikasi masalah yang dibahas ini lebih jelas dan mudah dipahami, maka dibuatlah

batasan masalah dalam beberapa hal

1. Sistem yang dibangun dapat mengelola data mahasiswa, data mata kuliah, serta mencetak

transkrip nilai.

2. Pembuatan laporan transkrip nilai terdiri dari berbagai laporan yang di ambil dari data

mahasiswa serta data matakuliah.

Page 5: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

4

1.4 TUJUAN PENULISAN

1. Membuat proses input nilai menjadi lebih efektif

2. Memberikan kemudahan bagi mahasiswa untuk mengetahui hasil nilai dengan cepat.

3. Menjadikan output nilai yang lebih akurat.

1.5 SCHEDULE PENGERJAAN

Mungkin dari kami semua telah bekerja dengan maksimal dengan pembagina tugas masing dan

semua telah melaksanakan dengan bagus, dengan pembagian tugas sebagai berikut :

Coding dan pembuatan program :

No. Tanggal Daftar Hadir Keterangan

1. Rabu, 21 Desember M. Iqbal Shaufi

M. Rahmat Hidayat

Arbiyan T.K

Jajar Gantara

Javad Iqbal

Ali Zainal

Mengerjakan Coding

Program

2. Sabtu, 25 Desember M. Iqbal Shaufi

M. Rahmat Hidayat

Arbiyan T.K

Jajar Gantara

Javad Iqbal

Ali Zainal

Membuat Analisis dan

Perbaikan Program

Page 6: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

5

3. Minggu, 26 Desember M. Iqbal Shaufi

M. Rahmat Hidayat

Arbiyan T.K

Jajar Gantara

Javad Iqbal

Ali Zainal

Fix Program

4. Senin, 28 Desember M. Iqbal Shaufi

M. Rahmat Hidayat

Arbiyan T.K

Jajar Gantara

Javad Iqbal

Ali Zainal

Pembagian tugas dalam

pembuatan laporan

untuk Final Project

5. Selasa, 3 Januari M. Iqbal Shaufi

M. Rahmat Hidayat

Arbiyan T.K

Jajar Gantara

Javad Iqbal

Ali Zainal

Pengumupulan dan

penjilidan laporan

Ttd

Ketua

Page 7: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

6

BAB II

LANDASAN TEORI

2.1 Pokok Pembahasan

Dalam bahasa C/C++, ada beberapa fungsi yang harus kita ketahui dan pahami secara seksama,

karena fungsi-funsi tersebut yang sering digunakan untuk pembuatan program. Berikut ini fungsi-

fungsinya :

• <stdio.h> yang merupakan singkatan dari "standard input / output header", adalah header yang

berisi definisi makro, konstanta, dan deklarasi fungsi dan jenis yang digunakan untuk berbagai

standard input dan output operasi

• <iostream> untuk melaksanakan perintah dari input dan output

• <conio.h> adalah header file yang digunakan untuk membuat teks antarmuka pengguna

• <assert.h> adalah file header yang mendefinisikan makro menegaskan C preprocessor

• <complex.h> adalah file header yang mendefinisikan fungsi untuk aritmatika kompleks

• <ctype.h> adalah header untuk deklarasi yang berfungsi mengklasifikasi karakter

• <errno.h> adalah file header yang berfungsi melaporkan kondisi kesalahan melalui kode

kesalahan.

• <fenv.h> adalah file header yang mengandung berbagai fungsi dan macro untuk memanipulasi

lingkungan floating-point

• <float.h> adalah header yang berfungsi memperluas ke berbagai limit dan parameter dari jenis

floating-point standar

• <inttypes.h> file header berfungsi mendefinisikan beberapa macro untuk digunakan dengan

fungsi printf dan scanf, serta fungsi untuk bekerja dengan jenis intmax_t.

• <iso646.h> adalah header yang mendefinisikan beberapa macro yang memungkinkan

programmer untuk menggunakan C bitwise bahasa dan operator logika, yang, tanpa file header,

tidak bisa cepat atau mudah diketik pada beberapa keyboard non-QWERTY internasional

• limits.h adalah file header dari perpustakaan standar bahasa pemrograman C yang mencakup

definisi karakteristik dari jenis variabel umum

• <locale.h> adalah pemrograman bahasa C file header, digunakan untuk tujuan lokalisasi

• <math.h> berisi prototype fungsi untuk pustaka matematika

Page 8: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

7

• <string.h> berisi prototype fungsi untuk pemrosesan string

• getch ()

Fungsi getch() (get character and echo) dipakai untuk membaca sebuah karakter dengan sifat

karakter yang dimasukkan tidak perlu diakhiri dengan menekan tombol ENTER, dan karakter

yang dimasukan tidak akan ditampilkan di layar.

• clrscr()

Fungsi ini digunkan untuk membersihkan layar window dan memindahkan posisi kursor ke baris

1 kolom 1 (pojok kiri atas).

• cout()

Fungsi cout() merupakan sebuah objek didalam Borland C++ digunakan untuk menampilkan

suatu data kelayar.

• cin ()

Fungsi cin() merupakan sebuah objeck didalam C++ digunakan untuk

memasukkan suatu data.

• endl

endl merupakan suatu fungsi manipulator yang digunakan untuk menyisipkan karakter NewLine

atau mengatur pindah baris. Fungsi ini sangat berguna untuk piranti keluaran berupa file di disk.

• strcmp()

Digunakan untuk membandingkan dua string Bentuk umum : strcmp (string1, string2)

Dalam beberapa literature, array sering disebut (diterjemahkan) sebagai array. Array merupakan

kumpulan dari nilai-nilai data yan bertipe sama dalam urutan tertentu yang menggunakan sebuah nama

yang sama.

Array memiliki beberapa macam dimensi, ada array berdimensi satu, array berdimensi dua, array

berdimensi tiga atau array berdimensi lebih dari tiga. Array berdimensi satu ( one dimensional array )

mewakili bentuk suatu vector. Array berdimensi dua ( two-dimensional array) mewakili bentuk dari

suatu matriks atau tabel. Array bedimensi tiga ( three-dimensional array) mewakili bentuk dari suatu

Page 9: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

8

ruang. Dalam pemrograman C++ pada Array, jika kita membuat suatu program yang memerlukan

berbagai tipe data yang akan digunakan. Tentunya dengan nama variable yang banyak pula.

Dalam program yang sederhana, jika kita manggunakan sedikit variable tentu tidak jadi masalah.

Akan tetapi jika kita akan membuat sebuah program yang lebih kompleks, dengan berbagai macam

nama dan tipe variable dalam pendeklarasianya. Dengan struct, kita bisa mengelompokkan berbagai

nama dan tipe variable tersebut sesuai dengan kelompoknya. Hal ini tentunya bisa berguna untuk

memudahkan dalam mengelompokkan sebuah variable. Sebagai contoh umum, ada terdapat berbagai

nama variable : nama, npm, alamat, dll. Variabel – variable tersebut dapat kita kelompokkan menjadi

satu dengan nama data_mahasiswa. Kemudian jika terdapat variable mata_kuliah, nilai, sks, kelas, dll

dapat kita kelompokkan menjadi satu dengan nama krs.

2.2 Dasar Teori

Array merupakan sekumpulan data yang mempunyai nama dan tipe yang sama, Array disebut juga

variabel berindeks. Nilai suatu data dalam Array ditentukan oleh nama dan indeksnya. Array banyak

digunakan pada operasi yang melibatkan indeks seperti pada statistic.

Tipe data Array dapat berupa Array satu dimensi (1D), dua dimensi (2D), tiga dimensi (3D) atau

banyak dimensi. Cara pendeklarasiannya dalam bahasa C++ , yaitu :

• Array satu dimensi:

Tipe_Array nama_Array[ukuran]

Contoh : double Array_1[10]

• Array dua dimensi :

Tipe_Array nama_Array[ukuran1][ukuran2]

Contoh : int Array_2[10][10]

• Array tiga dimensi :

Tipe_Array nama_Array[ukuran1][ukuran2][ukuran3]

Contoh : float Array_3[10][10][10]

Definisi Struktur (struct) sendiri adalah kumpulan dari variabel yang dinyatakan dengan sebuah

nama , dengan sifat setiap variabel dapat memiliki tipe yang berlainan.

Page 10: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

9

Manfaat tipe data struct secara umum adalah untuk menyimpan paket (sekumpulan) data ke

dalam satu buah nama variabel saja. Kumpulan data tersebut diikat sedemikian rupa menjadi satu.

Kumpulan data di dalam sebuah struct bisa mempunyai tipe data dasar yang beraneka ragam. Kumpulan

data dalam sebuah struct sangat dianjurkan membentuk sebuah kesatuan makna berkaitan dengan

nama struct-nya. Bentuk struktur data yang dapat menyimpan variabel-variabel dalam 1 nama, namun

memiliki tipe data yang berbeda ataupun sama. Variable-variabel tersebut memiliki kaitan satu sama

yang lain.

Bentuk umum :

typedef struct nama_struct{

tipe_data ;

tipe_data ;

....

};

Page 11: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

10

BAB III

PERANCANGAN SERTA ANALISA SISTEM

3.1 Perancangan Interfaces

Program transkrip nilai yang dibuat terdiri dari 5 menu yaitu :

1.Login Admin (interface pertama yang muncul sebelum masuk ke menu selanjutnya)

2.Data Mahasiswa (Interface yang di gunakan untuk menginputkan data mahasiswa)

3.Olah Nilai (Interface yang di gunakan untuk mengolah jumlah mata kuliah beserta nilainya)

4.Transkrip Nilai (interface untuk mengolah transkrip nilai)

5.Exit (keluar dari aplikasi)

3.2 LOGIN ADMIN

Page 12: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

11

Pada menu ini user akan di hadapkan oleh interface untuk memasukkan username dan

password yang sesuai agar dapat masuk ke menu utama, jika password dan username salah maka

aplikasi akan melakukan pengulanagn sampai inputan yang dimasukkan bernilai benar (true).

Perancangan kode :

Variabel yang di gunakan adalah :

1.userA dengan tipe data char[5]

2.passA dengan tipe data char[5]

start of code :

menu1:

system("title ADMIN LOGIN");

cout<<endl<<endl<<endl;

cout<<"\t\t"<<endl;

cout<<"\t\t\t W E L C O M E "<<endl;

cout<<"\t\t"<<endl;

cout<<"\t\t Insert User Name & Password"<<endl;

cout<<"\t\t"<<endl;

cout<<endl;

cout<<" \t\t Username : ";cin>>userA;

cout<<" \t\t Password : ";cin>>passA;

if(strcmp(userA,"Shaufi")==0 && strcmp(passA,"406680")==0)

{

clrscr();

Page 13: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

12

menu:

….......................

….................. (isi kode dari menu utama)

…...............................

…................

else

{

cout<<endl<<endl;

cout<<"\t\t ID & PASS YANG ANDA INPUTKAN SALAH !! ";getch();

clrscr();

goto menu1;

}

end of code :

Penjelasan kode :

menu1:

system("title ADMIN LOGIN");

cout<<endl<<endl<<endl;

cout<<"\t\t"<<endl;

cout<<"\t\t\t W E L C O M E "<<endl;

cout<<"\t\t"<<endl;

cout<<"\t\t Insert User Name & Password"<<endl;

cout<<"\t\t"<<endl;

Page 14: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

13

cout<<endl;

Kode di atas berfungsi untuk menampilkan Kata “WELCOME”, “Insert Username & Password”,

dengan menggunakan syntax “cout” dengan menyertakan file header iostream untuk operasi input dan

outputnya serta menampilkan judul “Admin Login” pada sudut kiri atas aplikasi dengan syntax

“system(parameter)” dengan menyertakan file header stdlib.

cout<<" \t\t Username : ";cin>>userA;

cout<<" \t\t Password : ";cin>>passA;

if(strcmp(userA,"Shaufi")==0 && strcmp(passA,"406680")==0)

{

clrscr();

menu:

…..

….......isi dari menu utama

…........

….....................

….....................

else

{

cout<<endl<<endl;

cout<<"\t\t ID & PASS YANG ANDA INPUTKAN SALAH !! ";getch();

Page 15: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

14

clrscr();

goto menu1;

}

Kode di atas berfungsi untuk menampilkan username dan password serta menerima inputan

dari user untuk memasukkan username dan password. Syntax “cin>>userA” akan mnampung data

username yang dimasukkan oleh user ke dalam variabel “userA”. Sedangkan syntax “cin>>passA” akan

menampung data password yang dimasukkan oleh user ke dalam variabel “passA”.

Kemudian program akan melakukan pengecekan terhadap kedua variabel tersebut dengan

membandingkan kedua string tersebut dengan syntax strcmp yang telah di deklarasikan sebelumnya

untuk variabel “userA” harus bernilai “Shaufi” sedangkan “passA” harus bernilai 406680” apabila

kondisi tersebut terpenuhi maka program akan melakukan penghapusan layar dengan syntax clrscr()

kemudian masuk ke menu utama dari program tersebut yang di beri label “ menu: “

Sedangkan jika kondisi diatas tidak terpenuhi maka program akan menampilkan output berupa “ID &

PASS YANG ANDA INPUTKAN SALAH” kemudian program akan masuk ke label “ menu1: “ dengan syntax

“ goto [nama label]; “ untuk kembali memasukkan username dan password yang benar.

3.3 MENU UTAMA

Page 16: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

15

Menu utama terdiri output untuk memilih

1. Data Mahasiswa

2. Olahan (menu untuk mengolah berapa banyak mata kuliah yang diambil serta nilainya)

3. Cetak Transkrip Nilai

4. Keluar (keluar dari program)

Untuk itu diperlukan kondisi pemilihan dengan menggunakan syntax “ switch-case ” di mana

ketika user memilih angka 1 maka ia akan masuk ke menu “ Data Mahasiswa “ kemudian jika user

memilih angka 2 user akan di bawa ke menu “ Olahan ” dan begitu seterusnya.

Perancangan kode :

Variabel yang di gunakan adalah “ pil “ dengan tipe data integer

start of code :

menu: system("title MENU"); cout<<"\t\t ======================================="<<endl; cout<<"\t\t ===== D A T A M A H A S I S W A ====="<<endl; cout<<"\t\t ======================================="<<endl; cout<<endl; cout<<"\t\t [1] Data Mahasiswa "<<endl; cout<<"\t\t [2] Olahan"<<endl; cout<<"\t\t [3] Cetak Transkip Nilai"<<endl; cout<<"\t\t [4] Keluar"<<endl; cout<<"\t\t Pilihan anda : ";cin>>pil; clrscr();

switch(pil)

{

case 1:

…..................... ( berisi kode untuk

…..................... menu data Mahasiswa )

…....................

clrscr();

Page 17: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

16

goto menu:

case 2:

…..................... ( berisi kode untuk

…..................... menu Olahan )

clrscr();

goto menu;

case 3:

…..................... ( berisi kode untuk

…..................... menu Cetak Transkrip Nilai )

clrscr();

goto menu;

case 4: break;

}

penjelasan kode :

Kode di atas sudah cukup jelas, user disuruh menginputkan pilihannya berupa angka 1 – 4 yang

akan ditampung ke variabel “ pil “ kemudian program akan melakukan kondisi pemilihan dengan

menswitch variabel yang dipilih, jika pilhan user adalah 1 (case 1:) maka user akan masuk ke menu Data

Mahasiswa, kemudian program akan mengeksekusi kode yang ada di dalam menu Data Mahasiswa

tersebut sampai selesai kemudian kembali lagi ke menu utama yang di beri label “ menu: “ begitu juga

dengan case 2 dan case 3.

Untuk case 4 program akan dipaksa untuk terminated/keluar dengan menambah parameter “ break; “

Page 18: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

17

3.4 DATA MAHASISWA

Menu Data Mahasiswa ini akan dirancang didalam kode :

case 1:

…... ( kode yang berisikan

…... data mahasiswa)

clrscr();

goto menu;

Perancangan kode :

Variabel yang di gunakan :

char nama[20] (digunakan untuk menampung data nama mahasiswa)

char nim[20] (di gunakan untuk menampung data NIM)

Page 19: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

18

char kelas[20] (menampung data kelas)

char tahun[20] (menampung tahun ajaran)

char sem[5] (menampung semester yang ditempuh)

char jur[15] (menampung data jurusan yang di ambil)

char status[5] (menampung status mahasiswa)

start of code :

system("title MAHASISWA"); cout<<"\t\t ======================================="<<endl; cout<<"\t\t ===== D A T A M A H A S I S W A ====="<<endl; cout<<"\t\t ======================================="<<endl; cout<<endl; cout<<"\t\tNama Mahasiswa : ";gets(nama); cout<<"\t\tNIM Mahasiswa : ";cin>>nim; cout<<"\t\tKelas : ";gets(kelas); cout<<"\t\tJurusan : ";cin>>jur; cout<<"\t\tTahun Ajaran : ";cin>>tahun; cout<<"\t\tSemester (Genap/Ganjil)\t : ";cin>>sem; cout<<"\t\tStatus Mahasiswa : ";cin>>status; cout<<endl; cout<<"\t\t Press enter to main menu . . . "<<endl; getch(); clrscr(); goto menu;

End of code :

Penjelasan kode :

Kode di atas meminta inputan dari user berupa

Nama Mahasiswa, NIM Mahasiswa, Kelas, Jurusan, Tahun ajaran, Semester yang sedang di

tempuh (Ganjil/Genap), dan Status Mahasiswa (Aktif/Tidak). Dalam kode diatas hanya variabel nama

dan kelas yang menggunakan parameter “ gets() “ hal ini dimaksudkan untuk mengantisipasi adanya

spasi yang ikut diinputkan oleh user.

Page 20: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

19

3.5 MATA KULIAH

Menu Matakuliah ini akan dirancang didalam kode :

case 2:

…... ( kode yang berisikan

…... data matakuliah beserta nilainya)

clrscr();

goto menu;

Perancangan Algoritma :

Dalam membuat program transkrip nilai maka kita memerlukan variabel variabel yang di butuhkan Yang

akan di masukkan ke dalam struct Transkrip_nilai.

Page 21: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

20

Variabel yang ditampung dalam struct Transkrip_nilai adalah :

1. Kode dengan tipe data integer (berfungsi untuk menampung data kode matakuliah)

2. sks dengan tipe data integer (berfungsi untuk menampung data banyaknya sks

3. nil_kon dengan tipe data integer ( )

4. nama[50] dengan tipe data char (merupakan string yang digunakan untuk menampung data

nama matakuliah)

5. grade dengan tipe data char (akan menampung data grade nilai mahasiswa “ A-E ”)

6. sifat [15] dengan tipe data char (akan menampung data sifat matakuliah “ Wajib/Pilhan ”)

7. nilai dengan tipe data float (berfungsi untuk menampung nilai yang akan di inputkan)

Sedangkan variabel lokal yang digunakan adalah :

1. total_sks dengan tipe data integer ( akan menampung data total sks)

2. jml_nil dengan tipe data float (menampung data keseluruhan jumlah nilai)

3. total_nil dengan tipe data float (menampung data Total nilai)

4. ipk dengan tipe data float (untuk menampung data ipk mahasiswa)

Rumus untuk mencari total sks adalah :

total sks = total sks (inisialisasi pertamanya adalah 0) + transkrip[i].sks

Rumus untuk mencari jumlah nilai :

jumlah nilai = transkrip[i].nil_kon * transkrip[i].sks

Rumus total nilai adalah :

total nilai = total nilai(inisialisasi pertamanya adalah 0) + jumlah nilai

Rumus mencari IPK :

IPK = total nilai / total sks

Start Of Code :

case 2: struct Transkip_nilai transkip[50];

system("title MATA KULIAH");

cout<<"\t\t ======================================="<<endl;

Page 22: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

21

cout<<"\t\t ======= M A T A K U L I A H ========"<<endl;

cout<<"\t\t ======================================="<<endl;

cout<<"\n\t\t\tmasukan banyak matakuliah : ";cin>>n;

cout<<endl;

cout<<"\t===================================================================="<<endl;

for (i=1;i<=n;i++)

{

cout<<"\tmasukan kode matakuliah : ";cin>>transkip[i].kode;

cout<<"\tmasukan nama matakuliah : ";gets(transkip[i].nama);

cout<<"\tmasukan sifat matakuliah : ";cin>>transkip[i].sifat;

cout<<"\tmasukan sks matakuliah : ";cin>>transkip[i].sks;

cout<<"\tmasukan nilai matakuliah : ";cin>>transkip[i].nilai;

cout<<"\t================================================================="<<endl;

if(transkip[i].nilai >= 80 && transkip[i].nilai <= 100)

{ transkip[i].grade='A';}

else if(transkip[i].nilai >= 60 && transkip[i].nilai < 80)

{ transkip[i].grade='B';}

else if(transkip[i].nilai >= 40 && transkip[i].nilai < 60)

{ transkip[i].grade='C';}

else if(transkip[i].nilai >= 20 && transkip[i].nilai < 40)

Page 23: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

22

{ transkip[i].grade ='D';}

else

{ transkip[i].grade='E';}

if(transkip[i].grade =='A')

{transkip[i].nil_kon=4;}

else if(transkip[i].grade =='B')

{transkip[i].nil_kon=3;}

else if(transkip[i].grade =='C')

{transkip[i].nil_kon=2;}

else if(transkip[i].grade =='D')

{transkip[i].nil_kon=1;}

else if(transkip[i].grade =='E')

{transkip[i].nil_kon=0;}

total_sks=total_sks + transkip[i].sks;

jml_nil=(transkip[i].nil_kon*transkip[i].sks);

total_nil=(total_nil+jml_nil);

}

ipk=total_nil/total_sks;

cout<<endl;

cout<<"\t\t\t Press enter to main menu . . . "<<endl;

getch();

Page 24: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

23

clrscr();

goto menu;

End Of Code

case 2: struct Transkip_nilai transkip[50];

system("title MATA KULIAH");

cout<<"\t\t ======================================="<<endl;

cout<<"\t\t ======= M A T A K U L I A H ========"<<endl;

cout<<"\t\t ======================================="<<endl;

cout<<"\n\t\t\tmasukan banyak matakuliah : ";cin>>n;

Penjelasan kode :

Kode di atas meminta banyaknya matakuliah yang akan di tampung pada variabel n

cout<<"\t===================================================================="<<endl;

for (i=1;i<=n;i++)

{

cout<<"\tmasukan kode matakuliah : ";cin>>transkip[i].kode;

cout<<"\tmasukan nama matakuliah : ";gets(transkip[i].nama);

cout<<"\tmasukan sifat matakuliah : ";cin>>transkip[i].sifat;

cout<<"\tmasukan sks matakuliah : ";cin>>transkip[i].sks;

cout<<"\tmasukan nilai matakuliah : ";cin>>transkip[i].nilai;

cout<<"\t================================================================="<<endl;

Page 25: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

24

Penjelasan kode :

kode di atas di awali dengan perulangan dimana indeks ke i sama dengan 1 sampai dengan n kemudian

program meminta inputan seperti kode matakuliah, nama matakuliah, sifat matakuliah, banyaknya sks,

serta nilai matakuliah.

Yang perlu diperhatikan disini adalah bahwa variabel transkrip[i].variabel akan melakukan perulangan

sebanyak i kali, contoh ketika jumlah matakuliah yang di masukkan ada 2 maka indeksnya adalah i = 1

sampai 2, kemudian program akan menerima inputan sebanyak i kali :

contoh :

cout<<"\tmasukan kode matakuliah : ";cin>>transkip[i].kode;

karena kondisi awal i adalah 1 sedangkan indeksnya sampai 2, berarti user masih akan melakukan

inputan sebanyak satu kali lagi.

if(transkip[i].nilai >= 80 && transkip[i].nilai <= 100)

{ transkip[i].grade='A';}

else if(transkip[i].nilai >= 60 && transkip[i].nilai < 80)

{ transkip[i].grade='B';}

else if(transkip[i].nilai >= 40 && transkip[i].nilai < 60)

{ transkip[i].grade='C';}

else if(transkip[i].nilai >= 20 && transkip[i].nilai < 40)

{ transkip[i].grade ='D';}

else

{ transkip[i].grade='E';}

Penjelasan kode :

Kode di atas adalah kondisi pemilihan dimana jika varibel nilai bernilai 80 sampai dengan 100 maka

gradenya adalah “A”,

Page 26: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

25

Jika nilainya 60 sampai dengan 79 maka gradenya adalah “B”,

Jika nilainya 40 sampai dengan 59 maka gradenya adalah “C”,

Jika nilainya 20 sampai dengan 39 maka gradenya adalah “D”,

selain dari ketentua di atas maka gradenya adalah “E”

if(transkip[i].grade =='A')

{transkip[i].nil_kon=4;}

else if(transkip[i].grade =='B')

{transkip[i].nil_kon=3;}

else if(transkip[i].grade =='C')

{transkip[i].nil_kon=2;}

else if(transkip[i].grade =='D')

{transkip[i].nil_kon=1;}

else if(transkip[i].grade =='E')

{transkip[i].nil_kon=0;}

Penjelasan kode :

Kode di atas juga merupakan sebuah kondisi pemilihan di mana jika,

gradenya A maka variabel nil_kon diisi dengan nilai 4, jika

gradenya B maka variabel nil_kon diisi dengan nilai 3, jika

gradenya C maka variabel nil_kon diisi dengan nilai 2, jika

gradenya D maka variabel nil_kon diisi dengan nilai 1, jika

gradenya E maka variabel nil_kon diisi dengan nilai 0

Page 27: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

26

total_sks=total_sks + transkip[i].sks;

jml_nil=(transkip[i].nil_kon*transkip[i].sks);

total_nil=(total_nil+jml_nil);

}

ipk=total_nil/total_sks;

Penjelasan kode :

kode di atas merupakan rumus dalam menentukan total sks, jumlah nilai, total nilai serta IPK

3.6 TRANSKRIP NILAI

Perancangan kode :

variabel yang di gunakan adalah :

Page 28: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

27

1.nama, nim ,kelas, jur, tahun, sem, status yang di ambil menu “Data Mahasiswa,”

2.transkip[i].kode

strupr(transkip[i].nama)

transkip[i].sifat

transkip[i].sks

transkip[i].grade

yang di ambil dari data Matakuliah

Start of code :

case 3:

system("title TRANSKRIP");

cout<<endl;

cout<<endl;

cout<<"\t================================================================="<<endl;

cout<<"\t ++++++++++++++++++++ Transkip NIlai Anda +++++++++++++++++++++"<<endl;

cout<<"\t================================================================="<<endl;

cout<<"\t Nama Mahasiswa : "<<nama<<endl;

cout<<"\t NIM Mahasiswa : "<<nim<<endl;

cout<<"\t Kelas : "<<kelas<<endl;

cout<<"\t Jurusan : "<<jur<<endl;

cout<<"\t Tahun Ajaran : "<<tahun<<endl;

cout<<"\t Semester (Genap/Ganjil)\t : "<<sem<<endl;

cout<<"\t Status Mahasiswa\t : "<<status<<endl;

Page 29: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

28

cout<<endl;

cout<<endl;

cout<<" -oo00* T R A N S K I P N I L A I *00oo-\n";

cout<<" ====================================================\n\n";

cout<<"======================================================================\n";

cout<<"N0.| KODE | MATAKULIAH | SIFAT | SKS | GRADE |\n";

cout<<"======================================================================\n";

cout<<" | | | | | |\n";

for(i=1;i<=n;i++)

{

cout<<setiosflags(ios::left)<<setw(3)<<i<<"|";

cout<<setiosflags(ios::left)<<setw(8)<<transkip[i].kode<<"|";

cout<<setiosflags(ios::left)<<setw(22)<<strupr(transkip[i].nama)<<"|";

cout<<setiosflags(ios::left)<<setw(13)<<transkip[i].sifat<<"|";

cout<<setiosflags(ios::left)<<setw(7)<<transkip[i].sks<<"|";

cout<<setiosflags(ios::left)<<setw(11)<<transkip[i].grade<<"|"<<endl;

}

cout<<"=====================================================================|";

cout<<setiosflags(ios::left)<<"\nTOTAL SKS KESELURUHAN :

"<<setiosflags(ios::right)<<setw(45)<<total_sks<<"|";

cout<<"\n=====================================================================|";

cout<<setiosflags(ios::left)<<"\nIPK ANDA : "<<setiosflags(ios::right)<<setw(45)<<ipk<<"|";

cout<<"\n=====================================================================|";

Page 30: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

29

cout<<endl;

cout<<endl;

cout<<"\t\tAnda Melakukan Transkip Lagi ?? (Y/T) : ";cin>>ulang;

if (ulang=='Y' || ulang=='y')

{clrscr();

goto menu;}

else if (ulang=='T' || ulang=='t')

{clrscr();

cout<<"\n\n\n\n\n\t\t Terima Kasih telah menggunaka program kami..^^ ";

getch(); }

End Of Code

case 3:

system("title TRANSKRIP");

cout<<endl;

cout<<endl;

cout<<"\t================================================================="<<endl;

cout<<"\t ++++++++++++++++++++ Transkip NIlai Anda +++++++++++++++++++++"<<endl;

cout<<"\t================================================================="<<endl;

cout<<"\t Nama Mahasiswa : "<<nama<<endl;

cout<<"\t NIM Mahasiswa : "<<nim<<endl;

cout<<"\t Kelas : "<<kelas<<endl;

cout<<"\t Jurusan : "<<jur<<endl;

Page 31: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

30

cout<<"\t Tahun Ajaran : "<<tahun<<endl;

cout<<"\t Semester (Genap/Ganjil)\t : "<<sem<<endl;

cout<<"\t Status Mahasiswa\t : "<<status<<endl;

cout<<endl;

Penjelasan kode :

Kode di atas akan menampilkan data mahasiswa yang di ambil dari variabel variable yang telah

di inputkan dari menu Data Mahasiswa.

cout<<endl;

cout<<" -oo00* T R A N S K I P N I L A I *00oo-\n";

cout<<" ====================================================\n\n";

cout<<"======================================================================\n";

cout<<"N0.| KODE | MATAKULIAH | SIFAT | SKS | GRADE |\n";

cout<<"======================================================================\n";

cout<<" | | | | | |\n";

for(i=1;i<=n;i++)

{

cout<<setiosflags(ios::left)<<setw(3)<<i<<"|";

cout<<setiosflags(ios::left)<<setw(8)<<transkip[i].kode<<"|";

cout<<setiosflags(ios::left)<<setw(22)<<strupr(transkip[i].nama)<<"|";

Page 32: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

31

cout<<setiosflags(ios::left)<<setw(13)<<transkip[i].sifat<<"|";

cout<<setiosflags(ios::left)<<setw(7)<<transkip[i].sks<<"|";

cout<<setiosflags(ios::left)<<setw(11)<<transkip[i].grade<<"|"<<endl;

}

cout<<"=====================================================================|";

cout<<setiosflags(ios::left)<<"\nTOTAL SKS KESELURUHAN :

"<<setiosflags(ios::right)<<setw(45)<<total_sks<<"|";

cout<<"\n=====================================================================|";

cout<<setiosflags(ios::left)<<"\nIPK ANDA : "<<setiosflags(ios::right)<<setw(45)<<ipk<<"|";

cout<<"\n=====================================================================|";

cout<<endl;

cout<<endl;

Penjelasan kode :

Kode diatas akan menampilkan semua matakuliah yang diinputkan beserta grade, total sksnya,

serta ipk dari mahasiswa bersangkutan, penggunaan setw(n) berfungsi agar saat proses keluaran

mendapat spasi sebanyak n kali.

cout<<"\t\tAnda Melakukan Transkip Lagi ?? (Y/T) : ";cin>>ulang;

if (ulang=='Y' || ulang=='y')

{clrscr();

goto menu;}

else if (ulang=='T' || ulang=='t')

{clrscr();

cout<<"\n\n\n\n\n\t\t Terima Kasih telah menggunaka program kami..^^ ";

Page 33: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

32

getch(); }

Penjelasan kode

Kode di atas merupakan kondisi pemilihan di mana user akan memilih apakah ingin mengulang

kembali ke program utama? (Y/y) atau tidak (T/t) jika user menginputkan “T” maka program akan

keluar atau terminated.

Page 34: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

33

3.7 Source Code

Setelah merancang kode, sekarang saatnya merancang kode menjadi satu kesatuan

#include <iostream>

#include <conio>

#include <stdio>

#include <iomanip>

#include <stdlib>

struct Transkip_nilai

{

int kode;

int sks;

int nil_kon;

char nama[50];

char grade;

char sifat [15];

float nilai;

};

main()

Page 35: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

34

{

int i,n;

char nama[20],nim[20],kelas[20],tahun[20],sem[5],jur[15],status[5];

char userA[5], passA[5], ulang;

int pil, total_sks;

float ipk, jml_nil, total_nil;

menu1:

system("title ADMIN LOGIN");

cout<<endl<<endl<<endl;

cout<<"\t\t"<<endl;

cout<<"\t\t\t W E L C O M E "<<endl;

cout<<"\t\t"<<endl;

cout<<"\t\t Insert User Name & Password"<<endl;

cout<<"\t\t"<<endl;

cout<<endl;

cout<<" \t\t Username : ";cin>>userA;

cout<<" \t\t Password : ";cin>>passA;

if(strcmp(userA,"Shaufi")==0 && strcmp(passA,"406680")==0)

{

clrscr();

Page 36: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

35

menu:

system("title MENU");

cout<<"\t\t ======================================="<<endl;

cout<<"\t\t ===== D A T A M A H A S I S W A ====="<<endl;

cout<<"\t\t ======================================="<<endl;

cout<<endl;

cout<<"\t\t [1] Data Mahasiswa "<<endl;

cout<<"\t\t [2] Olahan"<<endl;

cout<<"\t\t [3] Cetak Transkip Nilai"<<endl;

cout<<"\t\t [4] Keluar"<<endl;

cout<<"\t\t Pilihan anda : ";cin>>pil;

clrscr();

switch(pil)

{

case 1:

system("title MAHASISWA");

cout<<"\t\t ======================================="<<endl;

cout<<"\t\t ===== D A T A M A H A S I S W A ====="<<endl;

cout<<"\t\t ======================================="<<endl;

cout<<endl;

cout<<"\t\tNama Mahasiswa : ";gets(nama);

Page 37: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

36

cout<<"\t\tNIM Mahasiswa : ";cin>>nim;

cout<<"\t\tKelas : ";gets(kelas);

cout<<"\t\tJurusan : ";cin>>jur;

cout<<"\t\tTahun Ajaran : ";cin>>tahun;

cout<<"\t\tSemester (Genap/Ganjil)\t : ";cin>>sem;

cout<<"\t\tStatus Mahasiswa : ";cin>>status;

cout<<endl;

cout<<"\t\t Press enter to main menu . . . "<<endl;

getch();

clrscr();

goto menu;

case 2: struct Transkip_nilai transkip[50];

total_sks=0;

total_nil=0;

system("title MATA KULIAH");

cout<<"\t\t ======================================="<<endl;

cout<<"\t\t ======= I N P U T N I L A I ========"<<endl;

cout<<"\t\t ======================================="<<endl;

cout<<"\n\t\t\tmasukan banyak matakuliah : ";cin>>n;

Page 38: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

37

cout<<endl;

cout<<"\t===================================================================="<<endl;

for (i=1;i<=n;i++)

{

cout<<"\tmasukan kode matakuliah : ";cin>>transkip[i].kode;

cout<<"\tmasukan nama matakuliah : ";gets(transkip[i].nama);

cout<<"\tmasukan sifat matakuliah : ";cin>>transkip[i].sifat;

cout<<"\tmasukan sks matakuliah : ";cin>>transkip[i].sks;

cout<<"\tmasukan nilai matakuliah : ";cin>>transkip[i].nilai;

cout<<"\t================================================================="<<endl;

if(transkip[i].nilai >= 80 && transkip[i].nilai <= 100)

{ transkip[i].grade='A';}

else if(transkip[i].nilai >= 60 && transkip[i].nilai < 80)

{ transkip[i].grade='B';}

else if(transkip[i].nilai >= 40 && transkip[i].nilai < 60)

{ transkip[i].grade='C';}

else if(transkip[i].nilai >= 20 && transkip[i].nilai < 40)

{ transkip[i].grade ='D';}

else

{ transkip[i].grade='E';}

if(transkip[i].grade =='A')

{transkip[i].nil_kon=4;}

Page 39: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

38

else if(transkip[i].grade =='B')

{transkip[i].nil_kon=3;}

else if(transkip[i].grade =='C')

{transkip[i].nil_kon=2;}

else if(transkip[i].grade =='D')

{transkip[i].nil_kon=1;}

else if(transkip[i].grade =='E')

{transkip[i].nil_kon=0;}

total_sks=total_sks + transkip[i].sks;

jml_nil=(transkip[i].nil_kon*transkip[i].sks);

total_nil=(total_nil+jml_nil);

}

ipk=total_nil/total_sks;

cout<<endl;

cout<<"\t\t Press enter to main menu . . . "<<endl;

clrscr();

goto menu;

case 3:

system("title TRANSKRIP");

cout<<endl;

Page 40: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

39

cout<<endl;

cout<<"\t================================================================="<<endl;

cout<<"\t ++++++++++++++++++++ Transkip NIlai Anda +++++++++++++++++++++"<<endl;

cout<<"\t================================================================="<<endl;

cout<<"\t Nama Mahasiswa : "<<nama<<endl;

cout<<"\t NIM Mahasiswa : "<<nim<<endl;

cout<<"\t Kelas : "<<kelas<<endl;

cout<<"\t Jurusan : "<<jur<<endl;

cout<<"\t Tahun Ajaran : "<<tahun<<endl;

cout<<"\t Semester (Genap/Ganjil)\t : "<<sem<<endl;

cout<<"\t Status Mahasiswa\t : "<<status<<endl;

cout<<endl;

cout<<endl;

cout<<" -oo00* T R A N S K I P N I L A I *00oo-\n";

cout<<" ====================================================\n\n";

cout<<"======================================================================\n";

cout<<"N0.| KODE | MATAKULIAH | SIFAT | SKS | GRADE |\n";

cout<<"======================================================================\n";

cout<<" | | | | | |\n";

for(i=1;i<=n;i++)

{

Page 41: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

40

cout<<setiosflags(ios::left)<<setw(3)<<i<<"|";

cout<<setiosflags(ios::left)<<setw(8)<<transkip[i].kode<<"|";

cout<<setiosflags(ios::left)<<setw(22)<<strupr(transkip[i].nama)<<"|";

cout<<setiosflags(ios::left)<<setw(13)<<transkip[i].sifat<<"|";

cout<<setiosflags(ios::left)<<setw(7)<<transkip[i].sks<<"|";

cout<<setiosflags(ios::left)<<setw(11)<<transkip[i].grade<<"|"<<endl;

}

cout<<"======================================================================|\n";

cout<<setiosflags(ios::left)<<"\nTOTAL SKS KESELURUHAN :

"<<setiosflags(ios::right)<<setw(48)<<total_sks<<"|";

cout<<"\n=========================================================================|";

cout<<setiosflags(ios::left)<<"\nIPK ANDA : "<<setiosflags(ios::right)<<setw(48)<<ipk<<"|";

cout<<"\n=========================================================================|";

cout<<endl;

cout<<endl;

cout<<"\t\tAnda Melakukan Transkip Lagi ?? (Y/T) : ";cin>>ulang;

if (ulang=='Y' || ulang=='y')

{clrscr();

goto menu;}

else if (ulang=='T' || ulang=='t')

{clrscr();

cout<<"\n\n\n\n\n\t\t Terima Kasih telah menggunakan program kami..^^ ";

getch(); }

Page 42: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

41

case 4: break;

}

}

else

{

cout<<endl<<endl;

cout<<"\t\t ID & PASS YANG ANDA INPUTKAN SALAH !! ";getch();

clrscr();

goto menu1;

}

}

Page 43: Sistem Informasi Transkrip Nilai

Final Project Struktur Data 2012

42

BAB IV

KESIMPULAN

4.1 KESIMPULAN

Kesimpulan kami dari program di atas adalah penggunaan struct sangat memudahkan dalam

pengambilan variabel .Manfaat tipe data struct secara umum adalah untuk menyimpan paket

(sekumpulan) data ke dalam satu buah nama variabel saja. Kumpulan data tersebut diikat

sedemikian rupa menjadi satu. Kumpulan data di dalam sebuah struct bisa mempunyai tipe

data dasar yang beraneka ragam. Kumpulan data dalam sebuah struct sangat dianjurkan

membentuk sebuah kesatuan makna berkaitan dengan nama struct-nya. Misal, jika struct-nya

bernama segitiga maka isi struct-nya antara lain: alas, tinggi, luas dan keliling. walaupun

masih banyak kekurangan dari program ini seperti inputan data mahasiswa yang hanya bisa

satu orang kemudian belum ada metode pencarian dalam mencari data mahasiswa sehingga

memudahkan akademisi untuk mengkroscek nilai.