You are on page 1of 19

TUGAS 02

PRAKTIKUM STRUKTUR DATA

DOSEN PENGAMPU:

Agariadne Dwinggo Samala, S.Kom., M.Pd.T

OLEH:

Nama : Ulfi Latifah


NIM : 19076075

PROGRAM STUDI PENDIDIKAN TEKNIK INFORMATIKA

JURUSAN TEKNIK ELEKTRONIKA

FAKULTAS TEKNIK

UNIVERSITAS NEGERI PADANG

2020
1. Prog1_DataMahasiswa.c
a. SOURCE CODE

#include <stdio.h>
#include<stdlib.h>
#include<conio.h>

//19076075-Ulfi Latifah
//Prak. Struktur Data #016 - TGS 2
//tgl 5 Febuari 2020
//Program.c

struct Mahasiswa {
char nim[50];
char nama[50];
char tanggal_lahir[50];
float ipk;
};
int a,b,c,d;
struct Mahasiswa mhs[200];

void biodata(){
printf("\t\t\t\t==================================="
);
printf("\n\t\t\t\tNama \t\t : Ulfi Latifah");
printf("\n\t\t\t\tNIM \t\t : 19076075");
printf("\n\t\t\t\tNama Program \t : Data
Mahasiswa");
printf("\n\t\t\t\t==================================
=\n");
}
void input(){
char t;
tambah:
printf("Masukkan Jumlah Data Mahasiswa: ");
scanf("%i", &b);
printf("\n");
d=0;
for(c=0; c<b; c++){
d=d+1;
printf("\nMasukkan Data Mahasiswa ke %i", d);
fflush(stdin);
printf("\nMasukkan NIM \t\t : ");
gets(mhs[a].nim);
printf("Masukkan Nama \t\t : ");
gets(mhs[a].nama);
printf("Masukkan TTL(DDMMYY) \t : ");
gets(mhs[a].tanggal_lahir);
fflush(stdin);
printf("Masukkan IPK \t\t : "); scanf("%f",
&mhs[a].ipk);
fflush(stdin);
a++;
}
printf("\n\nAPAKAH ANDA INGIN MENAMBAHKAN DATA
MAHASISWA LAGI??");
printf("\n[Y] [N]\n"); scanf("%c",&t);
if(t=='y'||t=='Y')
{system("cls"); goto tambah;}
else if(t=='n'||t=='N')
{system("cls");}
}
void tampilandata(){
int i,j;
printf("\n==========================================
Menampilkan Data====================================
======\n\n");
printf("============================================
====================================================
====\n");
printf("||No\t||\tNIM\t||\tNama\t\t||\tTTL\t\t||\tIP
K\t||\n");
j=0;
for(i=0; i<a; i++){
j=j+1;
printf("============================================
====================================================
====\n");
printf("|| %i\t||", j);
fflush(stdin);
printf(" %s\t||", mhs[i].nim);
printf("\t%s\t||",mhs[i].nama);
printf("\t%s\t||",mhs[i].tanggal_lahir);
fflush(stdin);
printf("\t%.2f\t||", mhs[i].ipk);
fflush(stdin);
printf("\n");
}
printf("\n==========================================
====================================================
======\n");
getch(); system("cls");
}
void hapusdata(){
int i,p,q;
printf("Hapus Data Mahasiswa Ke- "); scanf("%i",&p);
q=p-1;
a--;
for(int i=q; i<a; i++)
{mhs[i]=mhs[i+1];}
system("cls");
printf("\n\n######## Data Mahasiswa Ke %i Terhapus
########\n", p);
tampilandata();
system("cls");
}

void editdata(){
int m,n;
printf("Masukkan Data Mahasiswa yang akan diedit:");
scanf("%i", &m);
n=m-1;
fflush(stdin);
printf("\nNIM \t\t : "); gets(mhs[n].nim);
printf("Nama \t\t : "); gets(mhs[n].nama);
printf("TTL(DDMMYY) \t : ");
gets(mhs[n].tanggal_lahir);
fflush(stdin);
printf("IPK\t\t : "); scanf("%f", &mhs[n].ipk);
fflush(stdin);
tampilandata();
}
int main(){
int pilih;
char z;
biodata();
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:
printf("\n==========================================
========= PILIHAN MENU==============================
====================== ");
printf("\n1. Masukkan Data Mahasiswa");
printf("\n2. Hapus Data Mahasiswa");
printf("\n3. Menampilkan Data Mahasiswa");
printf("\n4. Edit Data Mahasiswa");
printf("\n5. Keluar");
printf("\n\nMasukkan pilihan anda : "); scanf("%i",
&pilih);

if(pilih==1)
{system("cls"); input(); goto start;}
else if(pilih==2)
{system("cls"); hapusdata(); goto start;}
else if(pilih==3)
{system("cls"); tampilandata(); goto start;}
else if(pilih==4)
{system("cls"); editdata(); goto start;}
else if(pilih==5)
{system("cls"); fflush(stdin);
printf("\n\n\n\n\n\nAPAKAH ANDA YAKIN KELUAR
DARI PROGRAM?");
printf("\n[Y] [N]\n"); scanf("%c",&z);
if(z=='y'||z=='Y')
{system("cls");
printf("\n\n#####################################
PROGRAM SELESAI##################################
####");}
else if(z=='n'||z=='N')
{system("cls"); goto start;}
}
else
{system("cls");printf("Kode yang Anda Masukkan
Salah!");getch(); goto start;}

printf("\n\n\n\n\n\n\n\n\n\t\t\t\tPROGRAM BY ULFI
LATIFAH\t\t\t\t");
printf("\n\t\t\t\t~WASSALAMUALAIKUMWR.WB~\t\t\t\t");
printf("\n\t\t\t\t~ SEE YOU <3 ~\t\t\t\t");
}
b. SCREENSHOT PROGRAM
c. SCREENSHOT OUTPUT
d. PENJELASAN PROGRAM
 Baris 1-3 mendeklarasikan pemanggilan package dalam bahasa c
 Baris 5-8 mendeklarasikan keterangan data mahasiswa yang membuat
program
 Baris 10-15 mendeklarasikan struct bernama Mahasiswa berisikan nim,
nama tanggal lahir bertipe data char array dan ipk bertipe data float
 Baris 16 mendeklarasikan variabel bernama a,b, c, d bertipe data integer
 Baris 17 mendeklarasikan struct array dari Mahasiswa dengan variabel
mhs
 Baris 19-25 mendeklarasikan fungsi void bernama biodata yang digunakan
untuk menampilkan data mahasiswa dan nama program
 Baris 27-51 mendeklarasikan fungsi void bernama input digunakan untuk
menginputkan data mahasiswa dan disimpan pada variabel struct array
menggunakan perulangan for dengan parameter tertentu disesuaikan
dengan inputan jumlah mahasiswa yang akan diinput pada baris 30. Di
deklarasikan pula fflush(stdin) untuk menulis data yang belum tertulis dari
buffer ke output.
 Baris 45-50 mendeklarasikan fungsi pemilihan dengan persamaan inputan
huruf oleh user. Goto akan mengeksekusi baris yang telah diberi nama
sebelumnya yaitu tambah:
 Baris 53-74 mendeklarasikan fungsi tampildata() yang digunakan untuk
menampilkan data yang telah dieksekusi oleh fungsi input() dan disajikan
dengan tanda (==) dan (||) agar membuat tampilan seolah olah berbentuk
tabel. Fflush(stdin) juga di deklarasikan seperti sebelumnya pada fungsi
input. Baris 73 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 76-87 mendeklarasikan fungsi hapusdata() yang digunakan untuk
menghapus data yang telah tersimpan sebelumnya sesuai dengan inputan
user. Setelah pengapusan data mahasiswa dieksekusi maka akan
mengeksekusi fungsi tampil data yang dipanggil pada baris 85 dan layar
dibersihkan kembali oleh system(“cls”) pada baris 86
 Baris 89-101 mendeklarasikan fungsi editdata() yang digunakan untuk
mengedit data yang telah tersimpan sebelumnya sesuai dengan inputan
user. Kemudian user kembali menginputkan data mahasiswa yang ingin
diedit. Dideklarasikan pula fflush(stdin) untuk menulis data yang belum
tertulis dari buffer ke output. Setelah pengeditan data mahasiswa
dieksekusi maka akan mengeksekusi fungsi tampil data yang dipanggil
pada baris
 Baris 103-145 merupakan fungsi main yang akan di eksekusi pertama
oleh program.
 Baris106 mendeklarasikan pemanggilan fungsi biodata() untuk dieksekusi
 Baris 107-110 mendeklarasikan kalimat dalam petik pada printf untuk
ditampilkan
 Baris 111 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 113 mendeklarasikan nama untuk tempat pengeksekusian kembali
oleh fungsi goto.
 Baris 114-120 mendeklarasikan menu program untuk data mahasiswa
 Baris 120 mendeklarasikan inputan pilihan menu oleh user yang disimpan
pada variabel pilih beripe data integer
 Baris 122-140 mendeklarasikan fungsi pemilihan if else dengan parameter
persamaan sesuai pilihan inputan menu oleh user. Pilihan 1 akan
mengeksekusi fungsi input().Pilihan 2 akan mengeksekusi fungsi hapus
data().Pilihan 3 akan mengeksekusi fungsi tampildata().Pilihan 4 akan
mengeksekusi fungsi editdata(). Setelah dieksekusi maka akan kembali ke
baris 113 bernama start: oleh goto. Pilihan 5 medeklarasikan fungsi if else
dengan parameter sesuai inputan huruf oleh user. Huruf Y atau y akan
menghentikan program dan huruf N atau n akan kembali mengesekusi
start: oleh goto. Baris 139-140 akan menampilkan kalimat kode salah dan
akn kembali mengsekusi start: oleh goto
 Baris 142-144 mendeklarasikan kalimat penutup pada program
2. Prog2_IndeksMasaTubuh.c
a. SOURCE CODE

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<windows.h>
#include<time.h>

//19076075-Ulfi Latifah
//Prak. Struktur Data #017 - TGS 2
//tgl 5 Febuari 2020
//Program.c

void biodata(){
printf("\t\t\t\t===================================");
printf("\n\t\t\t\tNama \t\t : Ulfi Latifah");
printf("\n\t\t\t\tNIM \t\t : 19076075");
printf("\n\t\t\t\tNama Program \t :Indeks Masa Tubuh");
printf("\n\t\t\t\t===================================\n
"); }

void delay(unsigned int mseconds){


clock_t goal=mseconds+clock();
while (goal>clock());}

void loading(){
system("color 0b");
int x,a =254;
printf("\n\n\n\n\n\n\n\n\t\t\t\tLoading...");
for(x=1;x<=25;x++){
printf("%c",a);
delay(50);}
}
main()
{
biodata();
printf("\n\n========================================
====== PROGRAM INDEKS MASA TUBUH ===================
=========================");
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");

loading();

float IMT, b,t;


system("cls");
system("color 07");
printf("Masukkan berat badan:");
scanf("%f",&b);
printf("Masukkan tinggi badan:");
scanf("%f",&t);
system("cls");

IMT=b/((t/100)*(t/100));
system("color 0b");
printf("\nIndeks Masa Tubuh (IMT) Anda= %f", IMT);

if (IMT<=18.5){
printf("\nAnda Kurus");
}
else if ((IMT<=25)&&(IMT>18.5)){
printf("\nAnda Normal");
}
else if ((IMT<=30)&&(IMT>25)){
printf("\nAnda Normal");
}
else if (IMT>30){
printf("\nAnda Kegemukan");
}
}
b. SCREENSHOT PROGRAM
c. SCREENSHOT OUTPUT
d. PENJELASAN PROGRAM
 Baris 1-5 mendeklarasikan pemanggilan package dalam bahasa c
 Baris 7-10 mendeklarasikan keterangan data mahasiswa yang membuat
program
 Baris 12-18 mendeklarasikan fungsi void bernama biodata yang digunakan
untuk menampilkan data mahasiswa dan nama program
 Baris 20-23 mendeklarasikan fungsi void bernama delay yang digunakan
untuk mendeklarasikan rumus dari waktu jeda (delay) yang nantinya akan
digunakan dalam fungsi void loading()
 Baris 25-33 mendeklarasikan void bernama loading yang digunakan untuk
membuat animasi loading.
System(“color 0b”); digunakan untuk mengubah warna background dan
warna text. Kode 0 adalah backgroud hitam dan kode b adalah text
berwarna light aqua. Fungsi perulangan for baris 29-31 untuk membuat
animasi pergerakan loading. Delay(50) berarti waktu gerak animasi
loading selama 50 milisecond.
 Baris 35-71 merupakan fungsi main yang akan di eksekusi pertama oleh
program.
 Baris 31 mendeklarasikan pemanggilan fungsi biodata() untuk dieksekusi
 Baris 38-41 mendeklarasikan kalimat dalam petik pada printf untuk
ditampilkan
 Baris 42 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 44 mendeklarasikan pemanggilan fungsi loading();
 Baris 46 mendeklarasikan variabel IMT, b, dan t bertipe data float.
 Baris 47 mendeklarasikan system(“cls”) untuk membersihkan layar
program yang telah dijalankan sebelumnya sehingga yang selanjutnya
tampil hanya program pada baris selanjutnya
 Baris 48 System(“color 07”); digunakan untuk mengubah warna
background dan warna text. Kode 0 adalah backgroud hitam dan kode 7
adalah text berwarna putih
 Baris 49-50 mendeklarasikan inputan berat badan dan disimpan pada
variabel b
 Baris 51-52 mendeklarasikan inputan berat badan dan disimpan pada
variabel t
 Baris 53 mendeklarasikan system(“cls”) untuk membersihkan layar
program yang telah dijalankan sebelumnya sehingga yang selanjutnya
tampil hanya program pada baris selanjutnya
 Baris 55 mendeklarasikan rumus dari IMT
 Baris 56 mendeklarasikan system(“color 0b”); digunakan untuk mengubah
warna background dan warna text. Kode 0 adalah backgroud hitam dan
kode b adalah text berwarna light aqua.
 Baris 57 mendeklarasikan kalimat dalam petik pada printf untuk
ditampilkan. %f akan menampilkan nilai yang tersimpan pada IMT.
 Baris 59-70 mendeklarasikan fungsi pemilihan if dengan parameter
tertentu dan akan menampilkan kalimat dalam petik pada printf sesuai
parameter yang terpilih

You might also like