Unordered List

Selasa, 16 Juni 2015

PROGRAM JALAN SEHAT MENGGUNAKAN STRUKTUR DATA STACK

PROGRAM JALAN SEHAT MENGGUNAKAN STRUKTUR DATA STACK

Program stack ini adalah sebuah program semacam data yang bertumpuk dimana data yang terakhir dimasukkan adalah data yang pertama kali keluar . 
Disini , akan saya contohkan program pendaftaran jalan sehat .

Program ini saya build menggunakan cross platform CodeBlocks :

Berikut Source Codenya :

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

using namespace std;
int top=1,jalan_sehat[100];

struct jalan_sehat
{
    char nama[50];
    int NIP;
    char jenis_kelamin[20];
    char umur[15];
    char alamat[25];
    int telepon;
}data[100];

void masukkan()
{
    system("cls");
    {
    cout << " Masukkan Nama Peserta :";
    cin >> data[top].nama;
    cout << " Masukkan Nomor NIP Peserta :";
    cin >> data[top].NIP;
    cout << " Masukkan Jenis Kelamin Peserta :";
    cin >> data[top].jenis_kelamin;
    cout << " Masukkan Umur Pesereta :";
    cin >> data[top].umur;
    cout << " Masukkan Alamat Peserta :";
    cin >> data[top].alamat;
    cout << " Masukkan Nomor Telepon Peserta :";
    cin >> data[top].telepon;
    cout << endl;top++;
}
}

void view(){
    for (int i=top-1;i>=1;i--){
        cout << endl;
        cout << " Data Peserta Jalan Sehat Yang Telah Dimasukkan :"<<endl;
        cout << "***************************************"<<endl;
        cout << " Nama Peserta      \t:"<<data[i].nama<<endl;
        cout << " Nomor NIP Peserta \t:"<<data[i].NIP<<endl;
        cout << " Jenis Kelamin Peserta \t:"<<data[i].jenis_kelamin<<endl;
        cout << " Umur peserta \t\t:"<<data[i].umur<<endl;
        cout << " Alamat Peserta \t:"<<data[i].alamat<<endl;
        cout << " Nomor Telepon Peserta \t:"<<data[i].telepon<<endl;
    }
}


void hapus()
{
    top-=1;
    cout << " Data Teratas Telah Di Hapus "<<endl;
}

void bersihkan ()
{
    if (top=1){

    cout << " Stack Telah Di Kosongkan !";
    }


    }



int main()
{
      int menu;
       char ulang;

      do
      {
            system("cls");
            cout << "\t PROGRAM JALAN SEHAT ( STACK )\n"<<endl;
            cout << "\t==============================\n"<<endl;
            cout << "Menu : "<<endl;
            cout << "1. Push / Insert stack "<<endl;
            cout << "2. Cetak"<<endl;
            cout << "3. Pop / Hapus stack"<<endl;
            cout << "4. Bersihkan "<<endl;
            cout<<"Menu pilihan Anda : ";
            cin>>menu;
            system("cls");

        switch(menu)
        {
            case 1 : masukkan();
                     break;

            case 2 :{if(top<=1){
                    cout<<"Data Kosong !"<<endl;
                    }
                    else{
                                view();
                        }
                    }
                    break;


            case 3 :{if(top<=1){
                    cout<<"Data Kosong !!!!!"<<endl;
                    }
                    else {
                        hapus();
                        }
                    }
                    break;
               default : cout<<"Pilihan tidak ada !"<<endl;

                           break;

            case 4 :
                 if (top=1)
                 {


                    bersihkan();{
                    }

    }
break;
}

cout<<endl;
       cout<<"Apa ingin mengulang (y/t): ";
       cin>>ulang;}

   while (ulang=='y'||ulang=='Y');
}

Hasil Print Out Seperti Ini :




Iyaah Berikut program formulir pendaftaran jalan sehat yang saya buat , 
TerimaKasih telah mengunjungi blog ini . 
Semoga Bermanfaat ya ceman-ceman :D


Sabtu, 13 Juni 2015

Membuat Struktur Data Karyawan dengan metode Linked List menggunakan bahasa pemrograman C++


Membuat Struktur Data Karyawan dengan metode Linked List menggunakan pemrograman C++

Data Karyawan dengan metode Linked List sangat gampang sekali sobat , disini saya akan mencoba menampilkan contoh struktur data karyawan dari Perusahaan mebel XYZ dengan Double Linked List . 
Disini Saya Menggunakan cross Platform IDE . CodeBlocks
Check This Out 

Source Code : Karyawan Perusahaan Mebel XYZ  ( Double Linked List )

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

using namespace std;

struct karyawan {
int no_id;
char nama[50];
   char alamat[50];
   char telepon[20];
   karyawan *next;
   karyawan *prev;
} *awal=NULL, *akhir, *baru, *bantu, *setelah, *sebelum, *hapus;

void buat_baru();
void sisip_depan();
void sisip_tengah();
void sisip_belakang();
void hapus_depan();
void hapus_tengah();
void hapus_belakang();
void cetak();
bool check(int checker);

main(){
int pilih;
   menu :
   cout<<"...: Data Karyawan Perusahaan MEBEL XYZ :...\n";
   cout<<"1. Buat Data Baru.\n";
   cout<<"2. Tambahkan data di depan.\n";
   cout<<"3. Tambahkan data di tengah.\n";
   cout<<"4. Tambahkan data di belakang.\n";
   cout<<"5. Hapus Data di depan.\n";
   cout<<"6. Hapus Data di tengah.\n";
cout<<"7. Hapus Data terakhir.\n";
   cout<<"8. Cetak.\n";
   cout<<"9. Keluar Program.\n";
   cout<<"Pilihan : ";
   cin>>pilih;
switch(pilih){
    case 1 : buat_baru();
      cout<<"--: Data pertama berhasil ditambahkan :--\n";
      system("pause");
               system("cls");
               goto menu;
      case 2 : sisip_depan();
      system("pause");
               system("cls");
               goto menu;
      case 3 : sisip_tengah();
               system("cls");
               goto menu;
      case 4 : sisip_belakang();
               system("cls");
               goto menu;
      case 5 : hapus_depan();
               system("cls");
               goto menu;
case 6 : hapus_tengah();
               system("cls");
               goto menu;
      case 7 : hapus_belakang();
               system("cls");
               goto menu;
      case 8 : cetak();
               system("cls");
               goto menu;
      case 9 : return 0;
      default : system("cls");
      goto menu;
   }
}

void buat_baru(){
   baru = new karyawan;
   cout<<"Masukkan No.  : ";
   cin>>baru->no_id;
   cout<<"Masukkan Nama Karyawan : ";
   gets(baru->nama);
   cout<<"Masukkan Alamat Karyawan : ";
   gets(baru->alamat);
   cout<<"Masukkan Nomor Telepon Karyawan: ";
   gets(baru->telepon);

   baru->next = NULL;
   baru->prev = NULL;
   if(awal == NULL){
    awal = akhir = baru;
   }
}
void sisip_depan(){
  buat_baru();
   if(awal == NULL){
    awal = baru;
   }
   else {
    baru->next = awal;
      awal->prev = baru;
    awal = baru;
    cout<<"--: Data berhasil ditambahkan di depan data sebelumnya:--\n";
   }
}
void sisip_tengah(){
   int letak;
  baru = new karyawan;
   cout<<"Masukkan No.    : ";
   cin>>baru->no_id;
   cout<<"Masukkan Nama Karyawan   : ";
   gets(baru->nama);
   cout<<"Masukkan Alamat Karyawan : ";
   gets(baru->alamat);
   cout<<"Masukkan Nomor Telepon Karyawan   : ";
   gets(baru->telepon);
   cout<<"Data ini akan dimasukkan setelah No.: ";
   cin>>letak;
   baru->next = NULL;
   baru->prev = NULL;

   if ((awal == NULL) || (akhir == NULL)){
    awal = akhir = baru;
      cout<<"Data berhasil ditambahkan\n";
      cout<<"Hanya ada 1 data\n";
      system("pause");
   }

   else if (((awal->next == NULL) && (awal->prev == NULL)) || ((akhir->next == NULL) && (akhir->prev == NULL))){
    cout<<"Penambahan GAGAL !!\n";
      cout<<"Hanya ada 1 Data\n";
      system("pause");
   }

   else {
    if ( check(letak) == true){
      setelah = awal;
         while(setelah->no_id != letak){
        setelah = setelah->next;}
         baru->prev = setelah;
         if (setelah->next == NULL){
            baru->next = akhir;
      setelah->next = baru;
        akhir = baru;
            akhir->next = NULL;
            cout<<"Data berhasil ditambahkan\n";
      system("pause");
         }
         else {
      baru->next = setelah->next;
      setelah->next->prev = baru;
      setelah->next = baru;
          cout<<"Data dengan No. ID : "<<baru->no_id<<" telah ditambahkan setelah nomor "<<letak<<"\n";
            system("pause");
         }
    }
      else {
      cout<<"Data tidak dengan ID tersebut tidak ada\n";
      system("pause");
      }
   }
}

void sisip_belakang(){
   buat_baru();
   if(awal==NULL){
   awal=baru;
   akhir=baru;
   }
   else {
   akhir->next=baru;
   baru->prev=akhir;
   akhir=baru;
   }
   cout << endl;
   }

void hapus_depan(){
if(awal==NULL){
    cout << "KOSONG!!";
   }
   else if(awal->next==NULL){
    hapus=awal;
      awal=NULL;
      akhir=NULL;
      delete hapus;
   }
   else {
    hapus=awal;
      awal=hapus->next;
      awal->prev=NULL;
      delete hapus;
   }
   cout << endl;
   cout << "TERHAPUS!!\n";
   }


void hapus_tengah(){
   if ((awal == NULL) || (akhir == NULL)){
    cout<<"Penghapusan GAGAL !!\n";
      cout<<"Tidak ada Data\n";
      system("pause");
   }
   else if (((awal->next == NULL) && (awal->prev == NULL)) || ((akhir->next == NULL) && (akhir->prev == NULL))){
    cout<<"Penghapusan GAGAL !!\n";
      cout<<"Hanya ada 1 Data\n";
      system("pause");
   }
   else if (((awal->next->next == NULL) && (awal->prev == NULL)) || ((akhir->next == NULL) && (akhir->prev->prev == NULL))){
cout<<"Penghapusan GAGAL !!\n";
      cout<<"Hanya ada 2 Data\n";
      system("pause");
   }
   else{
   int letak;
   cout<<"Pilih No. ID yang akan dihapus : ";
   cin>>letak;
    if ( check(letak) == true){
  hapus = awal;
      while(hapus->no_id != letak){
    sebelum = hapus;
      hapus = hapus->next;
          }
      hapus->prev->next = hapus->next;
    hapus->next->prev = hapus->prev;
      hapus = NULL;
    cout<<"Data dengan No. ID : "<<letak<<" telah dihapus\n";
      }
      else {
    cout<<"Data tidak dengan ID tersebut tidak ada\n";
      system("pause");
    }
   }
}
bool check(int checker){
bantu = awal;
while (bantu != NULL){
         if (bantu->no_id == checker)
          return true;
   bantu = bantu->next;
   }
}
void hapus_belakang(){
if (((awal->next == NULL) && (awal->prev == NULL)) || ((akhir->next == NULL) && (akhir->prev == NULL))){
      awal = NULL;
      akhir = NULL;
      cout<<"Semua data telah dihapus\n";
      system("pause");
      }
   else {
hapus = akhir;
    akhir->prev->next=NULL;
    akhir = hapus->prev;
    hapus = NULL;
      cout<<"Data pada urutan terakhir sudah dihapus\n";
   }
}
void cetak(){
if ((awal == NULL) || (akhir == NULL)){
    cout<<"Data Kosong\n";
      system("pause");}
   else{
bantu = awal;
   while (bantu != NULL){
   cout<<"No.        : "<<bantu->no_id<<"\n";
   cout<<"Nama Kue   : "<<bantu->nama<<"\n";
   cout<<"Jenis Kue  : "<<bantu->alamat<<"\n";
   cout<<"Harga Kue  : "<<bantu->telepon<<"\n";
   cout<<"==============================================\n";
   bantu = bantu->next;
   cout<<endl;
   }
   system("pause");
   }
}



Demikian Yang Bisa saya bantu yaa teman teman semoga bermanfaat bagi kita senua . 
TerimaKasih Telah Mengunjungi Blog ini :)) 




























Pages

Text Widget

Diberdayakan oleh Blogger.

 

© 2013 Membuat Struktur Data Karyawan Dengan Metode Struct menggunakan bahasa pemrograman c++. All rights resevered. Designed by Templateism

Back To Top