Jumat, 31 Januari 2014

Sistem Informasi Pulsa

Asalamualaikum wr wb.
Pada postingan kali ini saya kan menjelaskan mengenai pembuatan aplikasi Sistem Aplikasi Pulsa dengan menggunakan bahasa pemrograman Java. Berikut hasil  tampilan aplikasi ini.

Tampilan Awal





Tampilan Log in Server

Tampilan frame Manage Pulsa

Tampilan Transaksi Pembelian Pulsa

Tampilan Laporan Pembelian Pulsa

Untuk video  tutorial dapat di lihat pada link berikut ini :

http://www.youtube.com/watch?v=yMBIhIewv_E&feature=youtu.be


Senin, 20 Januari 2014

Membuat Notepad dengan Pemrograman Java

Asalamualaikum wr wb..
Pada posting kali ini saya akan menjelaskan mengenai pembuatan aplikasi notepad yang terdiri dari menu dimana di dlam nya berisi fasilitas menambah(new), open file, save dan close. Hasil dari program dalam sebagi berikut :
Tampilan Menu


Tampilan ketika di close namun masi terjadi kegiatan pada test area


Save file

========================================================================
PEMBUATAN
1.  Pertama yaitu membuat GUI nya terlebih dahulu seperti berikut :
Kemudian source codenya adalah sebagi berikut :


package notepad_diana;
import java.io.File;
import javax.swing.JOptionPane;
import java.io.IOException;
import java.io.FileNotFoundException;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import javax.swing.JFileChooser;

/**
 *
 * @author diana
 */
public class HomeNotepad extends javax.swing.JFrame {

    private File file;

    /** Creates new form HomeNotepad */
    public HomeNotepad() {
        initComponents();
        setTitle("Notepad dmr");
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                         
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        TextArea = new javax.swing.JTextArea();
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        MenuNew = new javax.swing.JMenuItem();
        MenuOpen = new javax.swing.JMenuItem();
        MenuSave = new javax.swing.JMenuItem();
        MenuSaveAs = new javax.swing.JMenuItem();
        MenuClose = new javax.swing.JMenuItem();
        jMenu2 = new javax.swing.JMenu();
        MenuAbout = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Notepad dmr");

        TextArea.setColumns(20);
        TextArea.setFont(new java.awt.Font("Ribbontic", 0, 13));
        TextArea.setRows(5);
        jScrollPane1.setViewportView(TextArea);

        jMenuBar1.setBackground(new java.awt.Color(255, 204, 204));

        jMenu1.setBorder(null);
        jMenu1.setText("Menu");
        jMenu1.setFont(new java.awt.Font("Ribbontic", 1, 12));

        MenuNew.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_N, java.awt.event.InputEvent.CTRL_MASK));
        MenuNew.setFont(new java.awt.Font("Ribbontic", 1, 12));
        MenuNew.setText("New");
        MenuNew.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MenuNewActionPerformed(evt);
            }
        });
        jMenu1.add(MenuNew);

        MenuOpen.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.CTRL_MASK));
        MenuOpen.setFont(new java.awt.Font("Ribbontic", 1, 12));
        MenuOpen.setText("Open File");
        MenuOpen.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MenuOpenActionPerformed(evt);
            }
        });
        jMenu1.add(MenuOpen);

        MenuSave.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK));
        MenuSave.setFont(new java.awt.Font("Ribbontic", 1, 12));
        MenuSave.setText("Save");
        MenuSave.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MenuSaveActionPerformed(evt);
            }
        });
        jMenu1.add(MenuSave);

        MenuSaveAs.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.ALT_MASK | java.awt.event.InputEvent.CTRL_MASK));
        MenuSaveAs.setFont(new java.awt.Font("Ribbontic", 1, 12));
        MenuSaveAs.setText("Save as...");
        MenuSaveAs.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MenuSaveAsActionPerformed(evt);
            }
        });
        jMenu1.add(MenuSaveAs);

        MenuClose.setFont(new java.awt.Font("Ribbontic", 1, 12));
        MenuClose.setText("Close");
        MenuClose.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MenuCloseActionPerformed(evt);
            }
        });
        jMenu1.add(MenuClose);

        jMenuBar1.add(jMenu1);

        jMenu2.setBorder(null);
        jMenu2.setText("Other");
        jMenu2.setFont(new java.awt.Font("Ribbontic", 1, 12));
        jMenu2.setHideActionText(true);

        MenuAbout.setFont(new java.awt.Font("Ribbontic", 1, 12));
        MenuAbout.setText("About");
        MenuAbout.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MenuAboutActionPerformed(evt);
            }
        });
        jMenu2.add(MenuAbout);

        jMenuBar1.add(jMenu2);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 279, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>                       

    private void MenuNewActionPerformed(java.awt.event.ActionEvent evt) {                                       
        New();
    }                                      

    private void MenuSaveActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
        if(file==null)
        {
            save_as();
        }
        else
        {
            save();
        }
    }                                       

    private void MenuSaveAsActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // TODO add your handling code here:
        save_as();
    }                                         

    private void MenuCloseActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        close();
    }                                        

    private void MenuOpenActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
        Open();
    }                                       

    private void MenuAboutActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        About abt = new About();
        abt.show();
    }                                        
private void formWindowClosing(java.awt.event.WindowEvent evt) {
       close();
    }
    /**
    * @param args the command line arguments
    */
    private void New(){
        if(TextArea.getText().equals(""))
        {
        TextArea.setText("");
        setTitle("Notepad dmr");
        }
        else{
            int choice1;
        if(file!=null){
        choice1=JOptionPane.showConfirmDialog(this,"Do you want to save changes to "+file.getName(),"Notetext",JOptionPane.YES_NO_CANCEL_OPTION);
                    if(choice1==JOptionPane.YES_OPTION)
                    {
                        save();
                        TextArea.setText("");
                        setTitle("Notepad dmr");
                    }
                    if(choice1==JOptionPane.NO_OPTION)
                    {
                        TextArea.setText("");
                        setTitle("Notepad dmr");
                    }
                    else{}
        }
             else{
                choice1=JOptionPane.showConfirmDialog(this,"Do you want to save changes?","Notetext",JOptionPane.YES_NO_CANCEL_OPTION);

                    if(choice1==JOptionPane.YES_OPTION)
                    {
                        save();
                        TextArea.setText("");
                        setTitle("Notepad dmr");
                    }
                    if(choice1==JOptionPane.NO_OPTION)
                    {
                        TextArea.setText("");
                        setTitle("Notepad dmr");
                    }
                    else{}
                }
        }
    }


    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new HomeNotepad().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                    
    private javax.swing.JMenuItem MenuAbout;
    private javax.swing.JMenuItem MenuClose;
    private javax.swing.JMenuItem MenuNew;
    private javax.swing.JMenuItem MenuOpen;
    private javax.swing.JMenuItem MenuSave;
    private javax.swing.JMenuItem MenuSaveAs;
    private javax.swing.JTextArea TextArea;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JScrollPane jScrollPane1;
    // End of variables declaration                  

    private void save_as() {
        JFileChooser fileChooser=new JFileChooser(".");
        int choice=fileChooser.showSaveDialog(this);
        if(choice==JFileChooser.APPROVE_OPTION)
        {
            file=new File(fileChooser.getSelectedFile().getPath()+".txt");
            setTitle(file.getPath());
            save();
        }
    }

    private void save() {
         if(file!=null)
        {
            FileWriter fw = null;
            try {
                fw = new FileWriter(file);
                fw.write(TextArea.getText());
                fw.flush();

            } catch (IOException ex) {
                JOptionPane.showMessageDialog(this,"An error occured! Cannot Save");
            } finally {
                try {
                    fw.close();
                } catch (IOException ex) {
                    ex.printStackTrace();
                }
            }
        }
        else
        {
            save_as();
        }
    }

    private void close() {
        if(TextArea.getText().equals(""))
        {
              System.exit(0);
        }
    else{
        int choice1;
                if(file!=null){
                    choice1=JOptionPane.showConfirmDialog(this,"Do you want to save changes to "+file.getName(),"Notetext",JOptionPane.YES_NO_CANCEL_OPTION);
                    if(choice1==JOptionPane.YES_OPTION)
                    {
                        save();
                        System.exit(0);
                    }
                    if(choice1==JOptionPane.NO_OPTION)
                    {
                        System.exit(0);
                    }
                    else{}
                }

                else{
                choice1=JOptionPane.showConfirmDialog(this,"Do you want to save changes?","Notetext",JOptionPane.YES_NO_CANCEL_OPTION);

                    if(choice1==JOptionPane.YES_OPTION)
                    {
                        save();
                        System.exit(0);
                    }
                    if(choice1==JOptionPane.NO_OPTION)
                    {
                        System.exit(0);
                    }
                    else{}
                }
    }
    }

    private void Open() {
        JFileChooser fileChooser=new JFileChooser(".");
        int choice=fileChooser.showOpenDialog(this);
        if(choice==JFileChooser.APPROVE_OPTION)
        {
            FileReader fr = null;
            try {
                file = fileChooser.getSelectedFile();
                setTitle(file.getPath());
                fr = new FileReader(file);
                BufferedReader br = new BufferedReader(fr);
                TextArea.setText("");
                while (br.ready()) {
                    TextArea.append(br.readLine() + "\n");
                }

            }catch (FileNotFoundException ex) {
                JOptionPane.showMessageDialog(this,"Cannot find the file");
            }
            catch (IOException ex) {
                JOptionPane.showMessageDialog(this,"Cannot read the file data");
            }
        }
    }

}


2. Kemudian pembuatan frame untuk about

========================================================================
Video tutorialnya :

http://www.youtube.com/watch?v=Dz59yI2lO6k&feature=youtu.be


Demiakian Posting kali ini, semoga bermanfaat yaaa :)



Rabu, 20 November 2013

Aplikasi Sederhana PEMBELIAN HANDPHONE dengan Bahasa Pemrograman C++

Asalamualaikum wr wb

         Posting kali ini saya akan share mengenai pembuatan aplikasi sederhana dengan bahasa pemrograman C++. Aplikasi ini mengenai pembelian Handphone dimana user dapat memilih Handphone yang ingin di beli. Hasil dari program adalah sebagai berikut :


========================================================================
SOURCE CODE 

/*
APLIKASI PEMBELIAN HANPDHO DENGAN C++
NAMA : DIANA MAYANGSARI RAMADHANI
NRP  : 49013047
*/

#include <iostream>
using namespace std;

int main(){
int i; //input pilihan
char nama[100]; //array nama
char alamat[100]; //array alamat

cout << "Diana Mayangsari Ramadhani\n";
cout << "NRP : 49013047\n\n \n";

cout << "_____________________________________________\n";
cout << "               PEMBELIAN HANDPHONE           \n";
cout << "*********************************************\n \n";

cout << "Masukan nama   : ";
cin.getline (nama, 100); //input nama disimpan di array nama
cout << "Masukan alamat : ";
cin.getline (alamat, 100); //input alamatdi simpan di array alamat
cout << endl << endl;
cout << "Daftar Handphone  : \n \n";
cout << "1. Samsung Galaxy S4\n";
cout << "2. BlackBerry A10\n";
cout << "3. Sony Experia Z1\n";
cout << "4. Nokia Lumia 1020\n";
cout << "5. Apple iPhone 5\n \n";
awal: //pemberian variable agar nanti dapat di panggil saat y/n
cout << "Masukan pilihan anda : ";
cin >> i; //input pilihan
cout << endl;


cout << " " << nama <<endl; //menampilkan isi array nama
cout << " " << alamat << endl; //menampilkan isi array alamat

//kondisi switch case
switch(i){ 
case 1:
cout << "Anda membeli ~Samsung Galaxy S4~ \n \n";
cout << "SPESIFICATION\n";
cout << "- Sistem Operasi Android 4.2.2 (Jelly Bean)\n";
cout << "- Chipset Octa Core Processor\n";
cout << "- Kamera 13Megapixel(Rear), 2Megapixel(front)\n";
cout << "- Baterai 2600mAh, 370hours StandbyTime\n";
cout << "- Display Full HD AMOLED, 5inch, 1920*1080 Resoution\n";
cout << "- Audio dan Video Full HD(1080p), Recording up to 30fps\n";
cout << "========================\n";
cout << "Harga : Rp 6.000.0000,00\n";
cout << "========================\n \n";
break;
case 2:
cout << "Anda membeli ~BlackBerry A10~ \n \n";
cout << "SPESIFICATION\n";
cout << "- Sistem Operasi BlackBerry 10.2\n";
cout << "- Chipset Qulacomm Snapdragon, Dual core 1.7 Ghz Krait\n";
cout << "- Memory internal 16Gb, 2Gb RAM\n";
cout << "- Kamera 8Megapixel, 3264x2448 pixel\n";
cout << "- Baterai 2800mAh\n";
cout << "- Display 720x1280 pixel, 5inch, 16M colors\n";
cout << "========================\n";
cout << "Harga : Rp 7.500.0000,00\n";
cout << "========================\n \n";
break;
case 3:
cout << "Anda membeli ~Sony Xperia Z1~ \n \n";
cout << "SPESIFICATION\n";
cout << "- Sistem Operasi Android 4.2 (Jelly Bean)\n";
cout << "- Chipset Qulacomm MSM8974, 2.2GHz\n";
cout << "- Memory RAM 2Gb, Internal 16Gb, External up to 64Gb\n";
cout << "- Kamera 20,7Megapixel(Rear), 2Megapixel(front)\n";
cout << "- Daya Tahan Air dan Debu (IP5X dan IP8X)\n";
cout << "- Baterai 880hours StandbyTime\n";
cout << "- Display Full HD TRILUMINOS, 5inch, 1920*1080 Resoution\n";
cout << "========================\n";
cout << "Harga : Rp 8.500.0000,00\n";
cout << "========================\n \n";
break;
case 4:
cout << "Anda membeli ~Lumia 1020~ \n \n";
cout << "SPESIFICATION\n";
cout << "- Sistem Operasi Microsoft Windows Phone 8\n";
cout << "- Chipset Qulacomm MSM8960 Snapdragon, 1.5GHz krait\n";
cout << "- Memory RAM 2Gb, Internal 64Gb\n";
cout << "- Kamera 41Megapixel Carl Zeiss optics\n";
cout << "- Baterai 2000mAh 384hours StandbyTime\n";
cout << "- Display AMOLED 16M colos, 768x1280 Resoution\n";
cout << "========================\n";
cout << "Harga : Rp 7.500.0000,00\n";
cout << "========================\n \n";
break;
case 5:
cout << "Anda membeli ~Apple iPhone 5~ \n \n";
cout << "SPESIFICATION\n";
cout << "- Sistem Operasi iOs 6.1.4 - iOs 7.0.3\n";
cout << "- Chipset Apple A6, Dual Core 1.3GHz Swift\n";
cout << "- Memory Internal 64 Gb, 1Gb RAM\n";
cout << "- Kamera 8Megapixel(rear), 1.2Megapixel (front)\n";
cout << "- Baterai Li-Po 1440mAh, 225hours StandbyTime\n";
cout << "- Display LED-backlit IPS LCD, 4inch, 640x1136pixel\n";
cout << "=========================\n";
cout << "Harga : Rp 10.000.0000,00\n";
cout << "=========================\n \n";
break;
}

char pilih; /*mendeklarasikan pilih dengan tipe char*/
 cout << "Apakah anda yakin untuk memilih handphone ini? (y/n)"; /*menampilkan tulisan "apakah anda yakin untuk memilih mobil ini? (y/n)"*/
 cin >> pilih; /*memasukkan input ke variabel pilih*/
  if (pilih=='n'||pilih=='N') /*menyatakan kondisi jika variabel pilih==n*/
  {
   goto awal; /*berfungsi untuk loncat ke variabel awal*/
   }
 cout << "TERIMA KASIH\n \n";/*menampilkan tulisan "TERIMA KASIH"*/
 return 0;/*menghentikan fungsi main*/

system ("pause");
return 0;
}

========================================================================

VIDEO TUTORIAL DAPAT DI LIHAT DI


Aplikasi Sederhana MENENTUKAN NILAI (IP) MAHASISWA dengan C++


Asamualaikum wr wb
Pada posting kali ini saya akan share mengenai program sederhana dengan bahsa pemograman C++ yaitu tantang menentukan nilai (IP) mahasiswa, sebelumnya saya kan menunjukan hasil dari program yaitu :


======================================================================
SOURCE CODE

/*
APLIKASI MENENTUKAN NILAI MAHASISWA
NAMA : DIANA MAYANGSARI RAMADHANI
NRP  : 49013047
*/
#include <iostream>
using namespace std;

int main(){
cout << "Diana Mayangsari Ramadhani\n";
cout << "NRP : 49013047\n\n \n";

cout << "APLIKASI MENENTUKAN NILAI INDEKS PRESTASI MAHASISWA\n";
cout << "---------------------------------------------------\n" <<endl;

cout << " Nilai Huruf \n";
cout << " ____________\n";
cout << "|           A+        |\n";
cout << "|            A         |\n";
        cout << "|            B+       |\n";
cout << "|             B         |\n";
cout << "|            C+        |\n";
cout << "|            C          |\n";
cout << "|            D+        |\n";
cout << "|            D          |\n";
cout << "|             E         |\n";
cout << "|____________|\n"<<endl <<endl;

int matkul; // untuk inputan jumlah mata kuliah
char nilai[10], c[1]; //array  menampung nilai
float nil=0, nil2=0; //variable nil untuk di proses
float ips; //variable hasil akhir ip
int n_sks, t_sks=0; // jumlah sks dan proses sks

cout << "Masukan jumlah matakuliah : ";
cin >> matkul;
cin.getline(c,1); //agar dapat mengambil cin getline nilai
//perulangan sebanyak matkul
for (int a=1; a<=matkul; a++)
{
cout << a << ". Nilai huruf = "; //cetak
cin.getline(nilai, 3); //inputan
cout << "   Jumlah sks  = "; //cetak
cin >> n_sks; //inputan
if (strcmp(nilai, "A+") == 0 || strcmp(nilai, "a+") == 0)
nil += (4 * n_sks);
else if (strcmp(nilai, "A") == 0 || strcmp(nilai, "a") == 0)
nil += (3.75*n_sks);
else if (strcmp(nilai, "B+") == 0 || strcmp(nilai, "b+") == 0)
nil += (3.5*n_sks);
else if (strcmp(nilai, "B") == 0 || strcmp(nilai, "b") == 0)
nil += (3*n_sks);
else if (strcmp(nilai, "C+") == 0 || strcmp(nilai, "c+") == 0)
nil += (2.25*n_sks);
else if (strcmp(nilai, "C") == 0 || strcmp(nilai, "c") == 0)
nil += (2*n_sks);
else if (strcmp(nilai, "D+") == 0 || strcmp(nilai, "d+") == 0)
nil += (1.25*n_sks);
else if (strcmp(nilai, "D") == 0 || strcmp(nilai, "d") == 0)
nil += (1*n_sks);
else 
nil += (0.25*n_sks);
t_sks += n_sks; // (t_sks = t_sks + n_sks)
cin.getline(c,1);
}

//hitung ips
ips = nil/t_sks; 

cout << "\n Indeks Prestasi(IP) anda Semester ini adalah " << ips <<endl;
cout << endl;
system("pause");
return 0;
}
=======================================================================

TUTORIAL VIDEO DAPAT DI LIHAT DI 

Sekian posting dari saya, semiga bermanfaat yak, semangat belajar! :)



Minggu, 03 November 2013

PROGRAM SEDERHANA INSERT-DELETE-SEARCH MENGGUNAKAN BAHASA C

 Asalamualikum wr wb
Pada posting kali ini saya dan teman teman belajar mengenai bahasa C dimana belajar dengan penggunakan rekursif, linked list, sorting, dan seraching. Berikut adalah progam sederhanayang berisi menyimpan, mengapus, dan mencari data berupa NIM/ number yang telah di inputkan, Hasilnya sebagai berikut :



SOURCE CODE
==========================================================================
#include <stdio.h>
#include <stdlib.h>

struct DATA {
 int number;
 struct DATA *next;
};

int  cari(struct DATA *pList, int num);
void simpan(struct DATA *pList, int num);
void tampil(struct DATA *pList);
void hapus(struct DATA *pList, int num);

int main(void) {
 int num = 0;
 int i = 1;
 int r = 0;
 struct DATA *pList;
   
 pList = (struct DATA *)malloc(sizeof(struct DATA));
 pList->number = 0;
 pList->next = NULL;
   
 while(i != 0) {
  printf("\n-- Manajamen data NIM Mahasiswa --\n");
  
  printf("1 > Simpan\n");
  printf("2 > Hapus\n");
  printf("3 > Cari\n");
  printf("4 > Tampil\n");
  printf("0 > Exit\n");
  printf("\nPilih menu ? ");
  scanf("%d", &i);

  switch(i) {
   case 0: 
   default:
    printf("Terima Kasih..\n");
    i = 0;
    break;
   case 1:
    printf("== Simpan == \n");
    printf("Masukan NIM : ");
    scanf("%d", &num);
    simpan(pList, num);
    break;
   case 2:
    printf("== Hapus ==\n");
    printf("NIM yang di hapus: ");
    scanf("%d", &num);
    hapus(pList, num);
    break;
     case 3:
    printf("== Cari ==\n");
    printf("Masukan NIM untuk di cari: ");
    scanf("%d", &num);
    if((r = cari(pList, num)) == -1)
     printf("NIM `%d' tidak ditemukan\n", num);
    else
     printf("NIM `%d' barapa di posisi `%d'\n", num, r);
    break;
   case 4:
    printf("== Display =='\n");
    tampil(pList);
    break;
   }
  } 

 free(pList);
 system("pause");
 return(0);
}

void tampil(struct DATA *pList) {
 while(pList->next != NULL) {
  printf("%d \n", pList->number);
  pList = pList->next;
 }

 printf("%d \n", pList->number);
}

void simpan(struct DATA *pList, int num) {
 while(pList->next != NULL)
  pList = pList->next;

 pList->next = (struct DATA *)malloc(sizeof(struct DATA));
 pList->next->number = num;
 pList->next->next = NULL;
}

void hapus(struct DATA *pList, int num) {
 struct DATA *temp;
 temp = (struct DATA *)malloc(sizeof(struct DATA));

 if(pList->number == num) {

  temp = pList->next;
  free(pList);
  pList = temp;
 } else {
  while(pList->next->number != num)
   pList = pList->next;

  temp = pList->next->next;
  free(pList->next);
  pList->next = temp;
 }   
}
int cari(struct DATA *pList, int num) {
 int r = -1;
 int i = 1;

 while(pList->next != NULL) {
  if(pList->next->number == num)
   return i;
  else
   i++;

  pList = pList->next;
 }

 return r;
}
==========================================================================
FLOWCHART

 

VIDEO TUTORIAL : http://youtu.be/e6240l_9H4A

Sabtu, 26 Oktober 2013

PROGAM SEDERHANA MENGGUNAKAN STRUCT DAN ARRAY PADA PROGAM C

Assalamualaikum wr wb..

Postingan kali ini saya akan mendiskripsikan mengenai progam sederhana dengan menggunakan fungsi struct dan array. Progam ini bertujuan menampilkan biodata yang di inputkan oleh user.


Source code progamnya sebagai berikut :

========================================================================

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

int main(){
    int i=1;
    struct biodata {
        char nama[25];
        char ttl[50];
        char asal[15];
        char study[25];
    };

    struct biodata data[4];

    printf("===== Masukan Data Diri Anda =====\n");
    printf("\nNama : ");
        gets(data[i].nama);
    printf("TTL  : ");
        gets(data[i].ttl);
    printf("Asal : ");
        gets(data[i].asal);
    printf("Study: ");
        gets(data[i].study);


printf("\n==============================\n");
printf("Data yang di inputkan : \n");
printf("\nNama  : %s \n", data[i].nama);
printf("TTL   : %s \n", data[i].ttl);
printf("Asal  : %s \n",data[i].asal);
printf("Study : %s \n", data[i].study);

 system("pause");
 return 0;
}

========================================================================

PENJELASAN 

Bisa dilihat coding tersebut pendeklarasian struktur data :
struct biodata {
        char nama[25];
        char ttl[50];
        char asal[15];
        char study[25];
    };

Dimana struct memiliki nama_tag yaitu biodata, serta memiliki anggota array nama[25],
     ttl[50] dan study[25];
Kemudian juga menciptakan struct yang akan diisi oleh inputan :
     struct biodata data[4];

FLOWCHART



                                                                              
 

VIDEO TUTORIAL  :        http://www.youtube.com/watch?v=jt1S6wArdzk&feature=youtu.be

Sekian postingan dari saya semoga bermanfaatnya, terima kasih :)