Professional Documents
Culture Documents
Strukdat - 19076075 Ulfi Latifah TGS08
Strukdat - 19076075 Ulfi Latifah TGS08
DOSEN PENGAMPU:
OLEH:
FAKULTAS TEKNIK
2020
1. Prog1_DataMahasiswa.cpp
a. SOURCE CODE
//pemanggilan package dari bahasa c
#include <stdio.h>
#include <stdlib.h>
#include<conio.h>
#include<string.h>
//Latihan
//19076075-Ulfi Latifah
//Prak. Struktur Data #001 - TGS08
//tgl 1 April 2020
//Program.cpp
printf("============================================
==============================================\n");
printf("|| %i\t||", j);
printf(" %i\t||", mhs[b].nim);
fflush(stdin);
printf("\t%s\t||",mhs[b].nama);
printf("\t%.2f\t||", mhs[b].ipk);
fflush(stdin);
printf("\n");
}
printf("\n==========================================
=================================================\n");
getch(); system("cls");
}
void urutnim(){
//sorting (buble sort) berdasarkan nim
for(i=0; i<n-1; i++){
for(j=0; j<n-1-i; j++){
if(mhs[j].nim>mhs[j+1].nim){
//tukar nim
temp.nim=mhs[j].nim;
mhs[j].nim=mhs[j+1].nim;
mhs[j+1].nim=temp.nim;
//tukar nama
strcpy(temp.nama, mhs[j].nama);
strcpy(mhs[j].nama, mhs[j+1].nama);
strcpy(mhs[j+1].nama, temp.nama);
//tukar IPK
temp.ipk=mhs[j].ipk;
mhs[j].ipk=mhs[j+1].ipk;
mhs[j+1].ipk=temp.ipk;
}
}
}
//tampilan data mahasiswa akan menyerupai tabel
printf("\n===========================Menampilkan
Data Setelah
Berurutan============================\n\n");
printf("============================================
==============================================\n");
printf("||
No\t||\tNIM\t||\tNama\t\t||\tIPK\t||\n");
j=0;
for(c=0; c<n; c++){
j=j+1;
printf("============================================
==============================================\n");
printf("|| %i\t||", j);
printf(" %i\t||", mhs[c].nim);
fflush(stdin);
printf("\t%s\t||",mhs[c].nama);
printf("\t%.2f\t||", mhs[c].ipk);
fflush(stdin);
printf("\n");
}
printf("\n==========================================
=================================================\n");
getch(); system("cls");
}
void urutipk(){
//sorting (buble sort) berdasarkan ipk
for(i=0; i<n-1; i++){
for(j=0; j<n-1-i; j++){
if(mhs[j].ipk>mhs[j+1].ipk){
//tukar nim
temp.nim=mhs[j].nim;
mhs[j].nim=mhs[j+1].nim;
mhs[j+1].nim=temp.nim;
//tukar nama
strcpy(temp.nama, mhs[j].nama);
strcpy(mhs[j].nama, mhs[j+1].nama);
strcpy(mhs[j+1].nama, temp.nama);
//tukar IPK
temp.ipk=mhs[j].ipk;
mhs[j].ipk=mhs[j+1].ipk;
mhs[j+1].ipk=temp.ipk;
}
}
}
//tampilan data mahasiswa akan menyerupai tabel
printf("\n===========================Menampilkan
Data Setelah
Berurutan============================\n\n");
printf("============================================
==============================================\n");
printf("||
No\t||\tNIM\t||\tNama\t\t||\tIPK\t||\n");
j=0;
for(c=0; c<n; c++){
j=j+1;
printf("============================================
==============================================\n");
printf("|| %i\t||", j);
printf(" %i\t||", mhs[c].nim);
fflush(stdin);
printf("\t%s\t||",mhs[c].nama);
printf("\t%.2f\t||", mhs[c].ipk);
fflush(stdin);
printf("\n");
}
printf("\n==========================================
=================================================\n");
getch(); system("cls");
}
int main(){
biodata(); //pemanggilan fungsi biodata()
//Sapaan awal program
printf("\n\n========================================
======= PROGRAM DATA MAHASISWA
==============================================");
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t
PROGRAM BY ULFI LATIFAH\t\t\t\t\t");
printf("\n\t\t\t\t\t\t~ ASSALAMUALAIKUM WR.WB
~\t\t\t\t\t");
printf("\n\t\t\t\t\t\t ~ WELCOME
~\t\t\t\t\t\t\t\t\t");
getch(); system("cls");
start:
//menampilkan pilihan menu yang dapat dipilih oleh
user
printf("\n==========================================
========= PILIHAN MENU
====================================================");
printf("\n1. Masukkan Data Mahasiswa");
printf("\n2. Menampilkan Data Sebelum Berurutan");
printf("\n3. Sorting Data");
printf("\n4. Keluar");
//inputan pilihan menu oleh user lalu disimpan pada
variabel pilih
printf("\n\nMasukkan pilihan anda : "); scanf("%i",
&pilih);
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\tPROG
RAM BY ULFI LATIFAH\t\t\t\t");
printf("\n\t\t\t\t~ WASSALAMUALAIKUM WR.WB
~\t\t\t\t");
printf("\n\t\t\t\t~ SEE YOU <3
~\t\t\t\t");}
else if(z=='n'||z=='N')
{system("cls"); goto start;}
}
return 0; //mengembalikan nilai int main menjadi 0
}
b. SCREENSHOT PROGRAM
c. SCREENSHOT OUTPUT
d. PENJELASAN PROGRAM
Baris 1-5 mendeklarasikan pemanggilan package dalam bahasa c
Baris 7-11 mendeklarasikan keterangan data mahasiswa yang membuat
program
Baris 14-18 mendeklarasikan struktur dari struct data mahasiswa yang
terdiri dari int nim, char nama[50], dan float ipk.
Baris 20 mendeklarasikan struct array untuk menampung data mahasiswa
sebanyak 200
Baris 24 mendeklarasikan variabel yang akan digunakan dalam program
Baris 27-33 mendeklarasikan fungsi bernama biodata yang berisikan
biodata pembuat program dan nama program yang dibuat
Baris 36-46 mendeklarasikan fungsi/void input() untuk menginputkan
data mahasiswa. User terlebih dahulu menginputkan jumlah data
mahasiswa yang akan diinputkan lalu akan menjalankan perulangan for
sebanyak inputan user.
Baris 49-68 mendeklarasikan fungsi/void databelumurut() untuk
menampilkan data sebelum disorting, tampilan data yang akan mencul
berupa menyerupai tabel
Baris 70-110 mendeklarasikan fungsi/void urutnim() untuk men-sorting
data menurut NIM Mahasiswa
Baris 71-91 mendeklarasikan struktur dari sorting data menurut NIM
mahasiswa
Baris 92-110 mendeklarasikan tampilan data menyerupai tabel
Baris 112-152 mendeklarasikan fungsi/void urutipk() untuk men-sorting
data menurut ipk Mahasiswa
Baris 113-133 mendeklarasikan struktur dari sorting data menurut IPK
mahasiswa
Baris 134-152 mendeklarasikan tampilan data menyerupai tabel
Baris 154-213 mendeklarasikan fungsi main merupakan fungsi pertama
yang di eksekusi oleh program
Baris 156 mendeklarasikan pemanggilan fungsi biodata()
Baris 157-161 mendeklarasikan kalimat dalam petik pada printf untuk
ditampilkan sebagai sapaan program
Baris 162 mendeklarasikan getch() untuk menghentikan program yang
sedang berjalan. Kemudian system(“cls”) untuk membersihkan layar
program yang telah dijalankan sebelumnya sehingga yang selanjutnya
tampil hanya program pada baris selanjutnya
Baris 164-170 mendeklarasikan tampilan menu pada program
Baris 171-172 mendeklarasikan inputan dari user lalu disimpan pada
variabel pilih
Baris 174-211 mendeklarasikan fungsi switch case untuk mengeksekusi
fungsi sesuai dengan nilai inputan user yang disimpan pada variabel pilih
Baris 176-177 mendeklarasikan penambahan data ketika user menginput
variabel pilih bernilai 1
Baris 178-179 mendeklarasikan menampilkan data ketika user menginput
variabel pilih bernilai 2
Baris 180-199 mendeklarasikan Sorting Data data ketika user menginput
variabel pilih bernilai 3
Baris 184-187 mendeklarasikan tampilan menu sorting data
Baris 189 mendeklarasikan inputan menu oileh user lalu disimpan pada
variabel sorting
Baris 192-198 mendeklarasikan fungsi switch case untuk mengeksekusi
fungsi sesuai dengan nilai inputan user yang disimpan pada variabel
sorting
Baris 193-194 mendeklarasikan Sorting Data berdasarkan NIM mahasiswa
ketika user menginput variabel sorting bernilai 1
Baris 195-196 mendeklarasikan Sorting Data berdasarkan IPK mahasiswa
ketika user menginput variabel sorting bernilai 2
Baris 197-198 mendeklarasikan kembali ke menu utama data ketika user
menginput variabel sorting bernilai 3
Baris 200-210 mendeklarasikan keluar dari program ketika user menginput
variabel pilih bernilai 4
Baris 212 mendeklarasikan return untuk mengembalikan nilai int main ke
nilai 0