Minggu, 09 Februari 2014

Coding Program Daftar Peminjam Buku



Nah, kali ini author akan share program tentang pendataan orang yang meminjam buku di perpustakaan, berikut programmnya, maaf kalau terlalu panjang :D :

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int j=0,k=0,axc=0,xc=0,g=0,f=1,ch,gargaran,h=0,z=0;
char ulang,hapus;
int main (void)
{
    int pilih;
    struct data_peminjam
    {
        char nomor[50];
        char tanggal[50];
        char nama[50];
        char buku[50];
        char waktu[50];
    };
    struct data_buku
    {
        char nomor[50];
        char judul[100];
        char peminjam[50];
        char kembali[50];
    };
    struct data_peminjam data_orang[50];
    struct data_buku data_book[50];
    char a='y';
    while(a=='y'||a=='Y')
    {
    a='x';
    axc:
    printf ("\n\n\t===========<MENU UTAMA>===========\n");
    printf ("\t||                ||\n");
    printf ("\t|| 1. Masukkan Data Peminjam     ||\n");
    printf ("\t|| 2. Masukkan Data Buku    ||\n");
    printf ("\t|| 3. Cetak Data Peminjam    ||\n");
    printf ("\t|| 4. Cetak Data Buku        ||\n");
    printf ("\t|| 5. Hapus Semua Data        ||\n");
    printf ("\t||                ||\n");
    printf ("\t=== Input Karakter Tanpa Spasi ===\n");
    printf ("\t==== Created By : Duan & Tewe ====\n\n");
    printf ("\tPilihan Anda :\t");scanf("%d",&pilih);
    int data;
    menu:
    switch (pilih)
    {
    case 1:
        axc=1;
        do
        {
        printf ("Berapa banyak data:\t");scanf("%d",&data);
        for (int i=1;i<=data;i++)
        {
            j=j+1;
            printf("======<       >======\nMasukkan Data Peminjam:\n");
            printf("Nomor \t:\t\t");
            scanf("%s",&data_orang[j].nomor);
            printf("Tanggal :\t\t");
            scanf("%s",&data_orang[j].tanggal);
            printf("Nama \t:\t\t");
            scanf("%s",&data_orang[j].nama);
            printf("Buku\t:\t\t");
            scanf("%s",&data_orang[j].buku);
            printf("Waktu\t:\t\t");
            scanf("%s",&data_orang[j].waktu);
            printf("======<       >======\n");
        }
        printf ("Apakah mau diulang? (Y/N)");scanf("%s",&ulang);
        if(ulang=='n'||ulang=='N'){a='y';}
        }while (ulang=='y'||ulang=='Y');
        break;
    case 2:
        xc=1;
        do
        {
        printf ("Berapa banyak data:\t");scanf("%d",&data);
        for (int i=1;i<=data;i++)
        {
            k=k+1;
            printf("======<       >======\nMasukkan Data Buku:\n");
            printf("Nomor \t:\t\t");
            scanf("%s",&data_book[k].nomor);
            printf("Judul \t:\t\t");
            scanf("%s",&data_book[k].judul);
            printf("Peminjam:\t\t");
            scanf("%s",&data_book[k].peminjam);
            printf("Kembali\t:\t\t");
            scanf("%s",&data_book[k].kembali);
            printf("======<       >======\n");
        }
        printf ("Apakah mau diulang? (Y/N)");scanf("%s",&ulang);
        if(ulang=='n'||ulang=='N'){a='y';}
        }while (ulang=='y'||ulang=='Y');
        break;
    case 3:
        if(axc==0||j==0)
        {
            printf("\n======< Data Peminjam Belum Dimasukkan >=======\nMasukkan Data Peminjam?(y/n)");
            scanf ("%s",&a);
            if(a=='y'||a=='Y'){pilih=1;goto menu;}
        }
        for (int i=1;i<=j;i++)
        {
            printf("======<    %d    >======\nNomor\t:\t\t%s\n",i,data_orang[i].nomor);
            printf("Tanggal\t:\t\t%s\n",data_orang[i].tanggal);
            printf("Nama\t:\t\t%s\n",data_orang[i].nama);
            printf("Buku\t:\t\t%s\n",data_orang[i].buku);
            printf("Waktu\t:\t\t%s\n======<         >======\n",data_orang[i].waktu,i);
        }
        printf ("Kembali ke menu utama ?(y/n)");scanf("%s",&a);
        break;
    case 4:
        if(xc==0||k==0)
        {
            printf("\n======< Data Buku Belum Dimasukkan >=======\nMasukkan Data Buku?(y/n)");
            scanf ("%s",&a);
            if(a=='y'||a=='Y'){pilih=2;goto menu;}
        }
        for (int i=1;i<=k;i++)
        {
            printf("======<    %d    >======\nNomor\t:\t\t%s\n",i,data_book[i].nomor);
            printf("Judul\t:\t\t%s\n",data_book[i].judul);
            printf("Peminjam:\t\t%s\n",data_book[i].peminjam);
            printf("Kembali\t:\t\t%s\n======<         >======\n",data_book[i].kembali,i);
        }
        printf ("Kembali ke menu utama ?(y/n)");scanf("%s",&a);
        break;
    case 5:
        printf ("Pilih data:\n1. Data Peminjam\n2. Data Buku\n\nPilihan Anda:\t");scanf("%d",&ch);
        if(ch==1)
        {
            if(axc==0||j==0)
            {
                printf("\n======< Data Peminjam Belum Dimasukkan >=======\nKembali ke menu utama?(y/n)\t");
                scanf ("%s",&a);
                if(a=='y'||a=='Y')
                {
                    goto axc;
                }
            }
            printf ("Anda ingin menghapus data peminjam?(y/n)");scanf("%s",&hapus);
            if(hapus=='y'||hapus=='Y')
            {
                j=0;
                printf("\n===< Data Peminjam Sudah Dihapus >===\n\nKembali ke menu utama ?(y/n)");
                scanf("%s",&a);
                if(a=='y'||a=='Y')
                {
                    goto axc;
                }
                if(a=='n'||a=='N')
                {
                    goto axc;
                }
            }
        }
        if(ch==2)
        {
            if(xc==0||k==0)
            {
                printf("\n======< Data Buku Belum Dimasukkan >======\nKembali ke menu utama?(y/n)\t");
                scanf("%s",&a);
                if(a=='y'||a=='Y')
                {
                    goto axc;
                }
            }
            printf ("Anda ingin menghapus data buku?(y/n)");scanf("%s",&hapus);
            if(hapus=='y'||hapus=='Y')
            {
                k=0;
                printf("\n===< Data Buku Sudah Dihapus >===\n\nKembali ke menu utama ?(y/n)");
                scanf("%s",&a);
                if(a=='y'||a=='Y')
                {
                    goto axc;
                }
                else
                {
                    goto axc;
                }
            }
        }
        break;
    default:
        goto axc;
        break;
    }
    }
    getch();
    return 0;
}

Array Multi Dimensi

A. Definisi
Array multidimensi adalah array yang menyimpan array lagi didalamnya, atau bisa kita sebut array bersarang. hahahah itu hanya sekilas banyangan saja... berikut arti sebenarnya dari array multidimensi merupakan sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses melalui 2 indeks atau subskrip yaitu indeks baris dan indeks kolom.

B. Deklarasi Array Multidimensi
Berikut tata cara pendeklarasian array multidimensi
tipe_array nama_array [penjang baris][panjang kolom];
contoh:
int a[10][4];

 C. Aplikasi Array Multidimensi
Nah Array multidimensi dapat kalian gunakan dalam pengoperasian matriks, baik itu perkalian, penjumlahan, maupun pengurangan, bahkan bisa invers, tapi ingat semua itu harus sesuai dengan rumus kalau tidak, maka akan terjadi run time error atau hasil yang diinginkan tidak dapat dihasilkan
berikut contoh program untuk operasi matriks:

#include <stdio.h>
#include <conio.h>
int main ()
{
    int i,j,x;
    int a[2][2];
    int b[2][2];
    int c[2][2];
    int vc[3][3];
    int vb[3][3];
    float d[2][2];
    char ulang;
    do
    {
    printf ("NILAI MATRIKS A(3x3)\n");
    for (i=0;i<3;i++)
    {
        for (j=0;j<3;j++)
        {
            printf ("Masukkan nilai matriks A [%d, %d]=",i,j);
            scanf ("%d",&vc[i][j]);
        }
    }
    printf ("NILAI MATRIKS A\n");
    //===========================================================
    for (i=0;i<2;i++)
    {
        for (j=0;j<2;j++)
        {
            printf ("Masukkan nilai matriks A [%d , %d]=",i,j);
            scanf ("%d",&a[i][j]);
        }
    }
    //============================================================
    printf ("NILAI MATRIKS B\n");
    for (i=0;i<2;i++)
    {
        for (j=0;j<2;j++)
        {
            printf ("Masukkan nilai matriks B [%d , %d]=",i,j);
            scanf ("%d",&b[i][j]);
        }   
    }
    //============================================================
    printf ("PENJUMLAHAN MATRIKS A+B\n");
    for (i=0;i<2;i++)
    {
        for(j=0;j<2;j++)
        {
            c[i][j]=a[i][j]+b[i][j];
        }
    }
    printf ("hasilnya:\n");
    printf ("\t%d \t%d",c[0][0],c[0][1]);
    printf ("\n\t%d \t%d",c[1][0],c[1][1]);
    //==============================================================
    printf ("\nPERKALIAN MATRIKS AxB\n");
    int x=1;
    for (i=0;i<2;i++)
    {
        x=1;
        for (j=0;j<2;j++)
        {
            c[i][j]=a[i][j]*b[j][i]+a[i][j]*b[x][i];
            x--;
        }
    }
    printf ("hasilnya:\n");
    printf ("\t%d \t%d",c[0][0],c[0][1]);
    printf ("\n\t%d \t%d",c[1][0],c[1][1]);
    //=================================================================
    printf ("\nApakah ingin diulang (Y/N)");scanf("%s",&ulang);
    }while (ulang=='y'||ulang=='Y');
    getch ();
    return 0;
}