/**
------------------------------
Program Manipulasi Data Laundry
Diprogram oleh : Siti_Rusita
------------------------------
**/
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
#include <stdlib.h>
#define UINT unsigned int
#define MAX 10
#define _MY_DEBUG
#if defined(_MY_DEBUG)
#define TRACE_LINE printf("n1. Line : %dn2. File :
%sn",__LINE__,__FILE__);
#else
#define TRACE_LINE
#endif
#define QUEST 
printf("Ingin menggunakan program ini lagi (Y/N) : ");
scanf("%c",&opsi);
fflush(stdin);
if(toupper(opsi) == 'N') {
puts("nTerima Kasih Telah Menggunakan Program Ini!");
exit(0);
}
#define INCODE 
int no;
printf("Masukkan No : ");
scanf("%d",&no);
fflush(stdin);
typedef struct {
UINT no;
char nama[2*MAX],tanggal[2*MAX],kar;
int kode,das,kaos,kem,jak,cel,rok,Jil,J,b;
double byr ;
} Data;
int TampilPilihan(Data*), /*1*/
idx = 0,
Search(Data*, int), /*2*/
isCheck(Data*), /*3*/
isMax(Data*), /*4*/
getSize(Data*); /*5*/
void Choice(Data*, int), /*6*/
Add(Data*), /*7*/
Edit(Data*, int), /*8*/
Delete(Data*, int), /*9*/
View(const Data*), /*10*/
Nomor(Data*), /*11*/
freeBuffer(Data*); /*12*/
/** Program Utama (Main Program) **/
int main(int argc, char *argv[]) {
system("COLOR 2");
Data *data = (Data*)calloc((MAX+1),sizeof(Data));
int pilihan;
while((pilihan = TampilPilihan(data)) != 6) {
Choice(data,pilihan);
}
puts("nTerima Kasih Telah Menggunakan Program Ini!");
TRACE_LINE;
freeBuffer(data);
getch();
return(EXIT_SUCCESS);
}
int TampilPilihan(Data* data) {
int pilihan;
system("CLS");
puts("===Program Manipulasi Data Laundry===");
puts(" Menu Program");
if(isMax(data)) {
printf("1. ADD DATA [%d:MAX]n",getSize(data));
} else {
printf("1. ADD DATA [%d]n",getSize(data));
}
puts("2. EDIT DATA");
puts("3. DELETE DATA");
puts("4. VIEW DATA");
puts("5. NOMOR DATA");
puts("6. EXIT PROGRAM");
printf("Masukkan pilihan anda : ");
scanf("%d",&pilihan);
fflush(stdin);
return(pilihan);
}
void Choice(Data* data, int pilihan) {
char opsi;
switch(pilihan) {
case 1 : {
system("CLS");
if(isMax(data)) {
puts("Maaf, data sudah penuh!");
} else {
Add(data);
}
QUEST;
} break;
case 2 : {
system("CLS");
if(isCheck(data)) {
puts("Anda telah memilih "EDIT"");
INCODE;
if(Search(data,no)) {
Edit(data,idx);
} else {
puts("Maaf, data tidak ditemukan!");
}
} else {
puts("Maaf, data masih kosong!");
}
QUEST;
} break;
case 3 : {
system("CLS");
if(isCheck(data)) {
puts("Anda telah memilih "DELETE"");
INCODE;
if(Search(data,no)) {
Delete(data,idx);
puts("Anda berhasil menghapus data!");
} else {
puts("Maaf, data tidak ditemukan!");
}
} else {
puts("Maaf, data masih kosong!");
}
QUEST;
} break;
case 4 : {
system("CLS");
if(isCheck(data)) {
puts("Anda telah memilih "VIEW"");
INCODE;
if(Search(data,no)) {
View(&data[idx]);
} else {
puts("Maaf, data tidak ditemukan!");
}
} else {
puts("Maaf, data masih kosong!");
}
QUEST;
} break;
case 5 : {
system("CLS");
if(isCheck(data)) {
puts("Nomor yang sudah digunakan");
Nomor(data);
} else {
puts("Maaf, data masih kosong!");
}
QUEST;
} break;
default :
break;
}
}
void Add(Data* data) {
printf(" Laundry Warna-Warni n");
printf(" =========================================== n");
printf(" Paket Laundry: n");
printf(" 1 ekonomis 1 Rp 3.000n");
printf(" 2 ekonomis 2 Rp 4.000n");
printf(" 3 ekonomis 3 Rp 5.000n");
printf("n");
if(0 == getSize(data)) {
printf(" No. ");
scanf("%d",&data[0].no);
fflush(stdin);
if(!Search(data,data[0].no)) {
printf("Nama = ");
gets(data[0].nama);
printf("Tanggal = ");
gets(data[0].tanggal);
printf("n");
printf("No Jenis Pakaian Jumlah n");
printf("1. Daster/Piyama = ");
scanf("%d",&data[0].das);
printf("2. Kaos = ");
scanf("%d",&data[0].kaos);
printf("3. Kemeja/Jas = ");
scanf("%d",&data[0].kem);
printf("4. Jaket/Sweater = ");
scanf("%d",&data[0].jak);
printf("5. Celana Panjang/Pendek = ");
scanf("%d",&data[0].cel);
printf("6. Rok = ");
scanf("%d",&data[0].rok);
printf("7. Jilbab/Kerudung = ");
scanf("%d",&data[0].Jil);
printf("---------------------------------------------n");
printf("Berat Pakaian = ");
scanf("%d",&data[0].b);
printf("Paket Laundry = ");
scanf("%d",&data[0].kode);
J=das+kaos+kem+jak+cel+rok+Jil;
printf("Jumlah Pakaian = %.fn",J);
total = 0 ;
do
{
if (kode==1)
hrg = (float) 3000 * b ;
else if (kode==2)
hrg = (float) 4000 * b;
else if (kode==3)
hrg = (float) 5000 * b ;
total = total + hrg ;
} while (kar=='Y');
if (total)
byr = total - 0;
else
byr=total;
printf("nBiaya yang harus Anda bayar = Rp %.2fn", byr);
printf("^_^ terimakasih sudah menggunakan jasa kamin");
printf("Jumlah Pakaian = ");
scanf("%d",&data[0].J);
printf("Harga = Rp ");
scanf("%d",&data[0].byr);
fflush(stdin);
puts("Anda berhasil menambah data!");
} else {
puts("Maaf, data sudah ada!");
}
} else {
int i = getSize(data);
printf(" No. ");
scanf("%d",&data[i].no);
fflush(stdin);
if(!Search(data,data[i].no)) {
printf("Nama = ");
gets(data[i].nama);
fflush(stdin);
printf("Tanggal = ");
gets(data[i].tanggal);
fflush(stdin);
printf("n");
printf("No Jenis Pakaian Jumlah n");
printf("1. Daster/Piyama = ");
scanf("%d",&data[i].das);
fflush(stdin);
printf("2. Kaos = ");
scanf("%d",&data[i].kaos);
fflush(stdin);
printf("3. Kemeja/Jas = ");
scanf("%d",&data[i].kem);
fflush(stdin);
printf("4. Jaket/Sweater = ");
scanf("%d",&data[i].jak);
fflush(stdin);
printf("5. Celana Panjang/Pendek = ");
scanf("%d",&data[i].cel);
fflush(stdin);
printf("6. Rok = ");
scanf("%d",&data[i].rok);
fflush(stdin);
printf("7. Jilbab/Kerudung = ");
scanf("%d",&data[i].Jil);
fflush(stdin);
printf("---------------------------------------------n");
printf("Berat Pakaian = ");
scanf("%d",&data[i].b);
fflush(stdin);
printf("Paket Laundry = ");
scanf("%d",&data[i].kode);
fflush(stdin);
printf("Jumlah Pakaian = ");
scanf("%d",&data[i].J);
fflush(stdin);
printf("Harga = Rp ");
scanf("%d",&data[i].byr);
fflush(stdin);
puts("Anda berhasil menambah data!");
} else {
puts("Maaf, data sudah ada!");
}
}
}
void Edit(Data* data, int index) {
int no;
puts("Data sekarang :");
printf(" No.
%dn",data[index].no);
printf("Nama = %sn",data[index].nama);
printf("Tanggal = %sn",data[index].tanggal);
printf("n");
printf("No Jenis Pakaian Jumlah n");
printf("1. Daster/Piyama = %dn",data[index].das);
printf("2. Kaos = %dn",data[index].kaos);
printf("3. Kemeja/Jas = %dn",data[index].kem);
printf("4. Jaket/Sweater = %dn",data[index].jak);
printf("5. Celana Panjang/Pendek = %dn",data[index].cel);
printf("6. Rok = %dn",data[index].rok);
printf("7. Jilbab/Kerudung = %dn",data[index].Jil);
printf("---------------------------------------------n");
printf("Berat Pakaian = %dn",data[index].b);
printf("Paket Lausry = %dn",data[index].kode);
printf("Jumlah Pakaian = %dn",data[index].J);
printf("Harga = Rp %dn",data[index].byr);
printf("n");
printf("n");
puts("nData baru :");
printf(" No. ");
scanf("%d",&no);
fflush(stdin);
if((!Search(data,no)) || (no == data[index].no)) {
data[index].no = no;
printf("Nama = ");
gets(data[index].nama);
fflush(stdin);
printf("Tanggal = ");
gets(data[index].tanggal);
fflush(stdin);
printf("n");
printf("No Jenis Pakaian Jumlah n");
printf("1. Daster/Piyama = ");
scanf("%d",&data[index].das);
fflush(stdin);
printf("2. Kaos = ");
scanf("%d",&data[index].kaos);
fflush(stdin);
printf("3. Kemeja/Jas = ");
scanf("%d",&data[index].kem);
fflush(stdin);
printf("4. Jaket/Sweater = ");
scanf("%d",&data[index].jak);
fflush(stdin);
printf("5. Celana Panjang/Pendek = ");
scanf("%d",&data[index].cel);
fflush(stdin);
printf("6. Rok = ");
scanf("%d",&data[index].rok);
fflush(stdin);
printf("7. Jilbab/Kerudung = ");
scanf("%d",&data[index].das);
fflush(stdin);
printf("---------------------------------------------n");
printf("Berat Pakaian = ");
scanf("%d",&data[index].b);
fflush(stdin);
printf("Paket Laundry = ");
scanf("%d",&data[index].kode);
fflush(stdin);
printf("Jumlah Pakaian = ");
scanf("%d",&data[index].J);
fflush(stdin);
printf("Harga = Rp ");
scanf("%d",&data[index].byr);
fflush(stdin);
puts("Anda berhasil menyunting data!");
} else {
puts("Maaf, kode sudah ada!");
}
}
void Delete(Data* data, int index) {
int i = index, size = getSize(data);
while(i < size) {
data[i] = data[i+1];
if(i == size) {
freeBuffer(&data[i]);
break;
}
++i;
}
}
void View(const Data* data) {
puts("Data ditemukan!");
printf(" No. %dn",data->no);
printf("Nama = %sn",data->nama);
printf("Tanggal = %sn",data->tanggal);
printf("n");
printf("No Jenis Pakaian Jumlah n");
printf("1. Daster/Piyama = %dn",data->das);
printf("2. Kaos = %dn",data->kaos);
printf("3. Kemeja/Jas = %dn",data->kem);
printf("4. Jaket/Sweatwr = %dn",data->jak);
printf("5. Celana Panjang/Pendek = %dn",data->cel);
printf("6. Rok = %dn",data->rok);
printf("7. Jilbab/Kerudung = %dn",data->Jil);
printf("---------------------------------------------n");
printf("Berat Pakaian = %dn",data->b);
printf("Paket Laundry = %dn",data->kode);
printf("Jumlah Pakaian = %dn",data->J);
printf("Harga = Rp %dn",data->byr);
printf("n");
printf("n");
}
void Nomor(Data* data) {
int i;
for(i = 0; i < getSize(data); ++i) {
printf(" Nomor : %dn",(i+1),(i+1),data[i].no);
}
printf("n");
printf("n");
}
int Search(Data* data, int no) {
int i = 0, find = 0;
for(i = 0; i < getSize(data); ++i) {
find = no == data[i].no;
if(find) {
idx = i;
break;
}
}
return(find);
}
int isMax(Data* data) {
if(getSize(data) < MAX) {
return 0;
} else {
return 1;
}
}
int getSize(Data* data) {
int i = 0;
while(0 != data[i].nama[0]) {
++i;
}
return(i);
}
int isCheck(Data* data) {
if(0 != data->nama[0]) {
return 1;
} else {
return 0;
}
}
void freeBuffer(Data* data) {
free(data);
data = NULL;
}

Siti rusitaok1

  • 1.
    /** ------------------------------ Program Manipulasi DataLaundry Diprogram oleh : Siti_Rusita ------------------------------ **/ #include <stdio.h> #include <ctype.h> #include <conio.h> #include <stdlib.h> #define UINT unsigned int #define MAX 10 #define _MY_DEBUG #if defined(_MY_DEBUG) #define TRACE_LINE printf("n1. Line : %dn2. File : %sn",__LINE__,__FILE__); #else #define TRACE_LINE #endif #define QUEST printf("Ingin menggunakan program ini lagi (Y/N) : "); scanf("%c",&opsi); fflush(stdin); if(toupper(opsi) == 'N') { puts("nTerima Kasih Telah Menggunakan Program Ini!"); exit(0); } #define INCODE int no; printf("Masukkan No : "); scanf("%d",&no); fflush(stdin); typedef struct { UINT no; char nama[2*MAX],tanggal[2*MAX],kar; int kode,das,kaos,kem,jak,cel,rok,Jil,J,b; double byr ; } Data; int TampilPilihan(Data*), /*1*/ idx = 0, Search(Data*, int), /*2*/ isCheck(Data*), /*3*/ isMax(Data*), /*4*/ getSize(Data*); /*5*/ void Choice(Data*, int), /*6*/ Add(Data*), /*7*/ Edit(Data*, int), /*8*/ Delete(Data*, int), /*9*/ View(const Data*), /*10*/ Nomor(Data*), /*11*/ freeBuffer(Data*); /*12*/ /** Program Utama (Main Program) **/ int main(int argc, char *argv[]) { system("COLOR 2"); Data *data = (Data*)calloc((MAX+1),sizeof(Data)); int pilihan; while((pilihan = TampilPilihan(data)) != 6) {
  • 2.
    Choice(data,pilihan); } puts("nTerima Kasih TelahMenggunakan Program Ini!"); TRACE_LINE; freeBuffer(data); getch(); return(EXIT_SUCCESS); } int TampilPilihan(Data* data) { int pilihan; system("CLS"); puts("===Program Manipulasi Data Laundry==="); puts(" Menu Program"); if(isMax(data)) { printf("1. ADD DATA [%d:MAX]n",getSize(data)); } else { printf("1. ADD DATA [%d]n",getSize(data)); } puts("2. EDIT DATA"); puts("3. DELETE DATA"); puts("4. VIEW DATA"); puts("5. NOMOR DATA"); puts("6. EXIT PROGRAM"); printf("Masukkan pilihan anda : "); scanf("%d",&pilihan); fflush(stdin); return(pilihan); } void Choice(Data* data, int pilihan) { char opsi; switch(pilihan) { case 1 : { system("CLS"); if(isMax(data)) { puts("Maaf, data sudah penuh!"); } else { Add(data); } QUEST; } break; case 2 : { system("CLS"); if(isCheck(data)) { puts("Anda telah memilih "EDIT""); INCODE; if(Search(data,no)) { Edit(data,idx); } else { puts("Maaf, data tidak ditemukan!"); } } else { puts("Maaf, data masih kosong!"); } QUEST; } break; case 3 : { system("CLS"); if(isCheck(data)) { puts("Anda telah memilih "DELETE""); INCODE;
  • 3.
    if(Search(data,no)) { Delete(data,idx); puts("Anda berhasilmenghapus data!"); } else { puts("Maaf, data tidak ditemukan!"); } } else { puts("Maaf, data masih kosong!"); } QUEST; } break; case 4 : { system("CLS"); if(isCheck(data)) { puts("Anda telah memilih "VIEW""); INCODE; if(Search(data,no)) { View(&data[idx]); } else { puts("Maaf, data tidak ditemukan!"); } } else { puts("Maaf, data masih kosong!"); } QUEST; } break; case 5 : { system("CLS"); if(isCheck(data)) { puts("Nomor yang sudah digunakan"); Nomor(data); } else { puts("Maaf, data masih kosong!"); } QUEST; } break; default : break; } } void Add(Data* data) { printf(" Laundry Warna-Warni n"); printf(" =========================================== n"); printf(" Paket Laundry: n"); printf(" 1 ekonomis 1 Rp 3.000n"); printf(" 2 ekonomis 2 Rp 4.000n"); printf(" 3 ekonomis 3 Rp 5.000n"); printf("n"); if(0 == getSize(data)) { printf(" No. "); scanf("%d",&data[0].no); fflush(stdin); if(!Search(data,data[0].no)) { printf("Nama = "); gets(data[0].nama); printf("Tanggal = "); gets(data[0].tanggal); printf("n"); printf("No Jenis Pakaian Jumlah n"); printf("1. Daster/Piyama = ");
  • 4.
    scanf("%d",&data[0].das); printf("2. Kaos ="); scanf("%d",&data[0].kaos); printf("3. Kemeja/Jas = "); scanf("%d",&data[0].kem); printf("4. Jaket/Sweater = "); scanf("%d",&data[0].jak); printf("5. Celana Panjang/Pendek = "); scanf("%d",&data[0].cel); printf("6. Rok = "); scanf("%d",&data[0].rok); printf("7. Jilbab/Kerudung = "); scanf("%d",&data[0].Jil); printf("---------------------------------------------n"); printf("Berat Pakaian = "); scanf("%d",&data[0].b); printf("Paket Laundry = "); scanf("%d",&data[0].kode); J=das+kaos+kem+jak+cel+rok+Jil; printf("Jumlah Pakaian = %.fn",J); total = 0 ; do { if (kode==1) hrg = (float) 3000 * b ; else if (kode==2) hrg = (float) 4000 * b; else if (kode==3) hrg = (float) 5000 * b ; total = total + hrg ; } while (kar=='Y'); if (total) byr = total - 0; else byr=total; printf("nBiaya yang harus Anda bayar = Rp %.2fn", byr); printf("^_^ terimakasih sudah menggunakan jasa kamin"); printf("Jumlah Pakaian = "); scanf("%d",&data[0].J); printf("Harga = Rp "); scanf("%d",&data[0].byr); fflush(stdin); puts("Anda berhasil menambah data!"); } else { puts("Maaf, data sudah ada!"); } } else { int i = getSize(data); printf(" No. "); scanf("%d",&data[i].no); fflush(stdin); if(!Search(data,data[i].no)) { printf("Nama = "); gets(data[i].nama); fflush(stdin); printf("Tanggal = "); gets(data[i].tanggal); fflush(stdin); printf("n");
  • 5.
    printf("No Jenis PakaianJumlah n"); printf("1. Daster/Piyama = "); scanf("%d",&data[i].das); fflush(stdin); printf("2. Kaos = "); scanf("%d",&data[i].kaos); fflush(stdin); printf("3. Kemeja/Jas = "); scanf("%d",&data[i].kem); fflush(stdin); printf("4. Jaket/Sweater = "); scanf("%d",&data[i].jak); fflush(stdin); printf("5. Celana Panjang/Pendek = "); scanf("%d",&data[i].cel); fflush(stdin); printf("6. Rok = "); scanf("%d",&data[i].rok); fflush(stdin); printf("7. Jilbab/Kerudung = "); scanf("%d",&data[i].Jil); fflush(stdin); printf("---------------------------------------------n"); printf("Berat Pakaian = "); scanf("%d",&data[i].b); fflush(stdin); printf("Paket Laundry = "); scanf("%d",&data[i].kode); fflush(stdin); printf("Jumlah Pakaian = "); scanf("%d",&data[i].J); fflush(stdin); printf("Harga = Rp "); scanf("%d",&data[i].byr); fflush(stdin); puts("Anda berhasil menambah data!"); } else { puts("Maaf, data sudah ada!"); } } } void Edit(Data* data, int index) { int no; puts("Data sekarang :"); printf(" No. %dn",data[index].no); printf("Nama = %sn",data[index].nama); printf("Tanggal = %sn",data[index].tanggal); printf("n"); printf("No Jenis Pakaian Jumlah n"); printf("1. Daster/Piyama = %dn",data[index].das); printf("2. Kaos = %dn",data[index].kaos); printf("3. Kemeja/Jas = %dn",data[index].kem); printf("4. Jaket/Sweater = %dn",data[index].jak); printf("5. Celana Panjang/Pendek = %dn",data[index].cel); printf("6. Rok = %dn",data[index].rok); printf("7. Jilbab/Kerudung = %dn",data[index].Jil); printf("---------------------------------------------n"); printf("Berat Pakaian = %dn",data[index].b); printf("Paket Lausry = %dn",data[index].kode); printf("Jumlah Pakaian = %dn",data[index].J); printf("Harga = Rp %dn",data[index].byr); printf("n");
  • 6.
    printf("n"); puts("nData baru :"); printf("No. "); scanf("%d",&no); fflush(stdin); if((!Search(data,no)) || (no == data[index].no)) { data[index].no = no; printf("Nama = "); gets(data[index].nama); fflush(stdin); printf("Tanggal = "); gets(data[index].tanggal); fflush(stdin); printf("n"); printf("No Jenis Pakaian Jumlah n"); printf("1. Daster/Piyama = "); scanf("%d",&data[index].das); fflush(stdin); printf("2. Kaos = "); scanf("%d",&data[index].kaos); fflush(stdin); printf("3. Kemeja/Jas = "); scanf("%d",&data[index].kem); fflush(stdin); printf("4. Jaket/Sweater = "); scanf("%d",&data[index].jak); fflush(stdin); printf("5. Celana Panjang/Pendek = "); scanf("%d",&data[index].cel); fflush(stdin); printf("6. Rok = "); scanf("%d",&data[index].rok); fflush(stdin); printf("7. Jilbab/Kerudung = "); scanf("%d",&data[index].das); fflush(stdin); printf("---------------------------------------------n"); printf("Berat Pakaian = "); scanf("%d",&data[index].b); fflush(stdin); printf("Paket Laundry = "); scanf("%d",&data[index].kode); fflush(stdin); printf("Jumlah Pakaian = "); scanf("%d",&data[index].J); fflush(stdin); printf("Harga = Rp "); scanf("%d",&data[index].byr); fflush(stdin); puts("Anda berhasil menyunting data!"); } else { puts("Maaf, kode sudah ada!"); } } void Delete(Data* data, int index) { int i = index, size = getSize(data); while(i < size) { data[i] = data[i+1]; if(i == size) { freeBuffer(&data[i]); break; } ++i;
  • 7.
    } } void View(const Data*data) { puts("Data ditemukan!"); printf(" No. %dn",data->no); printf("Nama = %sn",data->nama); printf("Tanggal = %sn",data->tanggal); printf("n"); printf("No Jenis Pakaian Jumlah n"); printf("1. Daster/Piyama = %dn",data->das); printf("2. Kaos = %dn",data->kaos); printf("3. Kemeja/Jas = %dn",data->kem); printf("4. Jaket/Sweatwr = %dn",data->jak); printf("5. Celana Panjang/Pendek = %dn",data->cel); printf("6. Rok = %dn",data->rok); printf("7. Jilbab/Kerudung = %dn",data->Jil); printf("---------------------------------------------n"); printf("Berat Pakaian = %dn",data->b); printf("Paket Laundry = %dn",data->kode); printf("Jumlah Pakaian = %dn",data->J); printf("Harga = Rp %dn",data->byr); printf("n"); printf("n"); } void Nomor(Data* data) { int i; for(i = 0; i < getSize(data); ++i) { printf(" Nomor : %dn",(i+1),(i+1),data[i].no); } printf("n"); printf("n"); } int Search(Data* data, int no) { int i = 0, find = 0; for(i = 0; i < getSize(data); ++i) { find = no == data[i].no; if(find) { idx = i; break; } } return(find); } int isMax(Data* data) { if(getSize(data) < MAX) { return 0; } else { return 1; } } int getSize(Data* data) { int i = 0; while(0 != data[i].nama[0]) { ++i; } return(i); } int isCheck(Data* data) { if(0 != data->nama[0]) {
  • 8.
    return 1; } else{ return 0; } } void freeBuffer(Data* data) { free(data); data = NULL; }