Dite Morin

Selamat datang di blog saya
Jikan 'Ada' kesulitan Hubungi saya !

Contact Us


Dite Morin
Jl. Gn. Agung Utara,
Pisang Candi, Sukun, Kota Malang, Jawa Timur 65146

ditemorin@gmail.com
instragram.com/atokpalaguna

Minggu, 12 Juli 2015

aplikasi Kuis Android menggunakan android studio, php dan mysql


Aplikasi Kuis Android menggunakan android studio, php dan mysql
Ini adalah aplikasi kuis android yang memanfaatkan database mysql remote untuk menyimpan semua informasi dan pertanyaan kuis.

fiturnya sebagai berikut:


  •  Pendaftaran Pengguna 
  •  Login Pengguna 
  •  Kuis Kategori 
  •  Kuis Subkategori 
  •  Profil Pengguna Halaman 
  •  Kuis Skor Board 
  •  Kuis Setting 
  •  Kuis Pertanyaan 
  •  Dukungan Timer Kuis 
  •  Desain Material 
  •  Remote Online Database 
  •  Panel admin berbasis web online 
  •  Pengaturan 





Download

codeigniter import excel

  • Codeigniter import excel



  • Buka PhpMyadmin dan Buatkan contoh database seperti ini
CREATE TABLE IF NOT EXISTS `addressbook` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `firstname` varchar(255) DEFAULT NULL,
  `lastname` varchar(255) DEFAULT NULL,
  `phone` varchar(100) DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB;


  • Buka file database.php, seting database sesuai database anda

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'ciaddressimport';


  • Buat sebiuah model dengan nama csv_model.php. dan tambahkan code berikut ini


<?php
 
class Csv_model extends CI_Model {
 
    function __construct() {
        parent::__construct();
 
    }
 
    function get_addressbook() {     
        $query = $this->db->get('addressbook');
        if ($query->num_rows() > 0) {
            return $query->result_array();
        } else {
            return FALSE;
        }
    }
 
    function insert_csv($data) {
        $this->db->insert('addressbook', $data);
    }
}
/*END OF FILE*/

  • Buat sebeuah controller dengan nama csv.php. dan tambahkan code berikut ini:


<?php
 
class Csv extends CI_Controller {
 
    function __construct() {
        parent::__construct();
        $this->load->model('csv_model');
        $this->load->library('csvimport');
    }
 
    function index() {
        $data['addressbook'] = $this->csv_model->get_addressbook();
        $this->load->view('csvindex', $data);
    }
 
    function importcsv() {
        $data['addressbook'] = $this->csv_model->get_addressbook();
        $data['error'] = '';    //initialize image upload error array to empty
 
        $config['upload_path'] = './uploads/';
        $config['allowed_types'] = 'csv';
        $config['max_size'] = '1000';
 
        $this->load->library('upload', $config);
 
 
        // If upload failed, display error
        if (!$this->upload->do_upload()) {
            $data['error'] = $this->upload->display_errors();
 
            $this->load->view('csvindex', $data);
        } else {
            $file_data = $this->upload->data();
            $file_path =  './uploads/'.$file_data['file_name'];
 
            if ($this->csvimport->get_array($file_path)) {
                $csv_array = $this->csvimport->get_array($file_path);
                foreach ($csv_array as $row) {
                    $insert_data = array(
                        'firstname'=>$row['firstname'],
                        'lastname'=>$row['lastname'],
                        'phone'=>$row['phone'],
                        'email'=>$row['email'],
                    );
                    $this->csv_model->insert_csv($insert_data);
                }
                $this->session->set_flashdata('success', 'Csv Data Imported Succesfully');
                redirect(base_url().'csv');
                //echo "<pre>"; print_r($insert_data);
            } else 
                $data['error'] = "Error occured";
                $this->load->view('csvindex', $data);
            }
 
        } 
 
}
/*END OF FILE*/

  • Buat sebuah view dengan nama  csvindex.php. dan tambahkan code berikut:

 <!DOCTYPE HTML>  
 <html>  
   <head>  
     <meta charset="utf-8">  
     <title>Adddress Book Project</title>  
     <link href="<?php echo base_url(); ?>assets/bootstrap/css/bootstrap.css" type="text/css" rel="stylesheet" />  
     <link href="<?php echo base_url(); ?>assets/css/styles.css" type="text/css" rel="stylesheet" />  
     <script src="<?php echo base_url(); ?>assets/js/jquery.js" type="text/javascript"></script>  
     <script src="<?php echo base_url(); ?>assets/bootstrap/js/bootstrap.min.js"></script>  
   </head>  
   <body>  
     <div class="navbar navbar-inverse navbar-fixed-top">  
       <div class="navbar-inner">  
         <div class="container">  
           <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">  
             <span class="icon-bar"></span>  
             <span class="icon-bar"></span>  
             <span class="icon-bar"></span>  
           </a>  
           <a class="brand" href="#">My Address book</a>  
           <div class="nav-collapse collapse">  
             <ul class="nav">  
               <li class="active"><a href="<?php echo base_url(); ?>"><i class="icon-home"></i>Home</a></li>  
               <li><a href="#about">About</a></li>  
             </ul>  
           </div><!--/.nav-collapse -->  
         </div>  
       </div>  
     </div>  
     <div class="container" style="margin-top:50px">    
        <br>  
        <?php if (isset($error)): ?>  
         <div class="alert alert-error"><?php echo $error; ?></div>  
       <?php endif; ?>  
       <?php if ($this->session->flashdata('success') == TRUE): ?>  
         <div class="alert alert-success"><?php echo $this->session->flashdata('success'); ?></div>  
       <?php endif; ?>  
       <h2>CI Addressbook Import</h2>  
         <form method="post" action="<?php echo base_url() ?>csv/importcsv" enctype="multipart/form-data">  
           <input type="file" name="userfile" ><br><br>  
           <input type="submit" name="submit" value="UPLOAD" class="btn btn-primary">  
         </form>  
       <br><br>  
       <table class="table table-striped table-hover table-bordered">  
         <caption>Address Book List</caption>  
         <thead>  
           <tr>  
             <th>First Name</th>  
             <th>Last Name</th>  
             <th>Phone</th>  
             <th>Email</th>  
           </tr>  
         </thead>  
         <tbody>  
           <?php if ($addressbook == FALSE): ?>  
             <tr><td colspan="4">There are currently No Addresses</td></tr>  
           <?php else: ?>  
             <?php foreach ($addressbook as $row): ?>  
               <tr>  
                 <td><?php echo $row['firstname']; ?></td>  
                 <td><?php echo $row['lastname']; ?></td>  
                 <td><?php echo $row['phone']; ?></td>  
                 <td><?php echo $row['email']; ?></td>  
               </tr>  
             <?php endforeach; ?>  
           <?php endif; ?>  
         </tbody>  
       </table>  
       <hr>  
       <footer>  
         <p>&copy;My Address Book</p>  
       </footer>  
     </div>  
   </body>  
 </html>  
Selamat mencoba

Kamis, 10 Juli 2014

Membuat flash data di CodeIgniter dan bootstrap

Membuat flash data di CodeIgniter dan bootstrap

  • controller

 $this->session->set_flashdata('success', 'Success Message...');  
   OR  
   $this->session->set_flashdata('error', 'Error Message...');  
   OR  
   $this->session->set_flashdata('warning', 'Warning Message...');  
   OR  
   $this->session->set_flashdata('info', 'Info Message...');  
  • View


<?php if($this->session->flashdata('success')){ ?>  
     <div class="alert alert-success">  
       <a href="#" class="close" data-dismiss="alert">&times;</a>  
       <strong>Success!</strong> <?php echo $this->session->flashdata('success'); ?>  
     </div>  
   <?php } else if($this->session->flashdata('error')){ ?>  
     <div class="alert alert-danger">  
       <a href="#" class="close" data-dismiss="alert">&times;</a>  
       <strong>Error!</strong> <?php echo $this->session->flashdata('error'); ?>  
     </div>  
   <?php } else if($this->session->flashdata('warning')){ ?>  
     <div class="alert alert-warning">  
       <a href="#" class="close" data-dismiss="alert">&times;</a>  
       <strong>Warning!</strong> <?php echo $this->session->flashdata('warning'); ?>  
     </div>  
   <?php } else if($this->session->flashdata('info')){ ?>  
     <div class="alert alert-info">  
       <a href="#" class="close" data-dismiss="alert">&times;</a>  
       <strong>Info!</strong> <?php echo $this->session->flashdata('info'); ?>  
     </div>  
   <?php } ?>  
  • Javascript

<script type="application/javascript">  
     /** After windod Load */  
     $(window).bind("load", function() {  
       window.setTimeout(function() {  
         $(".alert").fadeTo(500, 0).slideUp(500, function() {  
           $(this).remove();  
         });  
       }, 500);  
     });  
   </script>

Selasa, 02 Juli 2013

Membuat Export PDF, Export Excel, Print Datatable dengan php Codeigniter

Export PDF, Export Excel, Print Datatable dengan php Codeigniter.
Pada kesempatan ini, kita akan belajar tentang mengexport data ke EXCEL, CSV,,PDF dan print.
ok langsung saja.


  • Pertama Kita harus memangil file Css dan Js
Sya yakin teman teman tau, cara memanggil css dan js


 <link rel="stylesheet" type="text/css" href="Https://cdn.datatables.net/1.10.15/css/jquery.dataTables.min.css">  
 <link rel="stylesheet" type="text/css" href="Https://cdn.datatables.net/buttons/1.3.1/css/buttons.dataTables.min.css">  



  • Selain itu silahkan tambahkan  js berikut
  •  //code.jquery.com/jquery-1.12.4.js  
     Https://cdn.datatables.net/1.10.15/js/jquery.dataTables.min.js  
     Https://cdn.datatables.net/buttons/1.3.1/js/dataTables.buttons.min.js  
     //cdn.datatables.net/buttons/1.3.1/js/buttons.flash.min.js  
     //cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js  
     //cdn.rawgit.com/bpampuch/pdfmake/0.1.27/build/pdfmake.min.js  
     //cdn.rawgit.com/bpampuch/pdfmake/0.1.27/build/vfs_fonts.js  
     //cdn.datatables.net/buttons/1.3.1/js/buttons.html5.min.js  
     //cdn.datatables.net/buttons/1.3.1/js/buttons.print.min.js  
    


  • Buatkan Table.

saya yakin teman teman sudah bisa membuat table dengan html. tapi kalau belum bisa silahkan buatk contoh tabelnya seprti ini:

 <table id="example" class="display nowrap" cellspacing="0" width="100%">  
     <thead>  
       <tr>  
         <th>Name</th>  
         <th>Position</th>  
         <th>Office</th>  
         <th>Age</th>  
         <th>Start date</th>  
         <th>Salary</th>  
       </tr>  
     </thead>  
     <tfoot>  
       <tr>  
         <th>Name</th>  
         <th>Position</th>  
         <th>Office</th>  
         <th>Age</th>  
         <th>Start date</th>  
         <th>Salary</th>  
       </tr>  
     </tfoot>  
     <tbody>  
       <tr>  
         <td>Tiger Nixon</td>  
         <td>System Architect</td>  
         <td>Edinburgh</td>  
         <td>61</td>  
         <td>2011/04/25</td>  
         <td>$320,800</td>  
       </tr>  
       <tr>  
         <td>Garrett Winters</td>  
         <td>Accountant</td>  
         <td>Tokyo</td>  
         <td>63</td>  
         <td>2011/07/25</td>  
         <td>$170,750</td>  
       </tr>  
       <tr>  
         <td>Ashton Cox</td>  
         <td>Junior Technical Author</td>  
         <td>San Francisco</td>  
         <td>66</td>  
         <td>2009/01/12</td>  
         <td>$86,000</td>  
       </tr>  
       <tr>  
         <td>Cedric Kelly</td>  
         <td>Senior Javascript Developer</td>  
         <td>Edinburgh</td>  
         <td>22</td>  
         <td>2012/03/29</td>  
         <td>$433,060</td>  
       </tr>  
       <tr>  
         <td>Airi Satou</td>  
         <td>Accountant</td>  
         <td>Tokyo</td>  
         <td>33</td>  
         <td>2008/11/28</td>  
         <td>$162,700</td>  
       </tr>  
       <tr>  
         <td>Brielle Williamson</td>  
         <td>Integration Specialist</td>  
         <td>New York</td>  
         <td>61</td>  
         <td>2012/12/02</td>  
         <td>$372,000</td>  
       </tr>  
       <tr>  
         <td>Herrod Chandler</td>  
         <td>Sales Assistant</td>  
         <td>San Francisco</td>  
         <td>59</td>  
         <td>2012/08/06</td>  
         <td>$137,500</td>  
       </tr>  
       <tr>  
         <td>Rhona Davidson</td>  
         <td>Integration Specialist</td>  
         <td>Tokyo</td>  
         <td>55</td>  
         <td>2010/10/14</td>  
         <td>$327,900</td>  
       </tr>  
       <tr>  
         <td>Colleen Hurst</td>  
         <td>Javascript Developer</td>  
         <td>San Francisco</td>  
         <td>39</td>  
         <td>2009/09/15</td>  
         <td>$205,500</td>  
       </tr>  
       <tr>  
         <td>Sonya Frost</td>  
         <td>Software Engineer</td>  
         <td>Edinburgh</td>  
         <td>23</td>  
         <td>2008/12/13</td>  
         <td>$103,600</td>  
       </tr>  
       <tr>  
         <td>Jena Gaines</td>  
         <td>Office Manager</td>  
         <td>London</td>  
         <td>30</td>  
         <td>2008/12/19</td>  
         <td>$90,560</td>  
       </tr>  
       <tr>  
         <td>Quinn Flynn</td>  
         <td>Support Lead</td>  
         <td>Edinburgh</td>  
         <td>22</td>  
         <td>2013/03/03</td>  
         <td>$342,000</td>  
       </tr>  
       <tr>  
         <td>Charde Marshall</td>  
         <td>Regional Director</td>  
         <td>San Francisco</td>  
         <td>36</td>  
         <td>2008/10/16</td>  
         <td>$470,600</td>  
       </tr>  
       <tr>  
         <td>Haley Kennedy</td>  
         <td>Senior Marketing Designer</td>  
         <td>London</td>  
         <td>43</td>  
         <td>2012/12/18</td>  
         <td>$313,500</td>  
       </tr>  
       <tr>  
         <td>Tatyana Fitzpatrick</td>  
         <td>Regional Director</td>  
         <td>London</td>  
         <td>19</td>  
         <td>2010/03/17</td>  
         <td>$385,750</td>  
       </tr>  
       <tr>  
         <td>Michael Silva</td>  
         <td>Marketing Designer</td>  
         <td>London</td>  
         <td>66</td>  
         <td>2012/11/27</td>  
         <td>$198,500</td>  
       </tr>  
       <tr>  
         <td>Paul Byrd</td>  
         <td>Chief Financial Officer (CFO)</td>  
         <td>New York</td>  
         <td>64</td>  
         <td>2010/06/09</td>  
         <td>$725,000</td>  
       </tr>  
       <tr>  
         <td>Gloria Little</td>  
         <td>Systems Administrator</td>  
         <td>New York</td>  
         <td>59</td>  
         <td>2009/04/10</td>  
         <td>$237,500</td>  
       </tr>  
       <tr>  
         <td>Bradley Greer</td>  
         <td>Software Engineer</td>  
         <td>London</td>  
         <td>41</td>  
         <td>2012/10/13</td>  
         <td>$132,000</td>  
       </tr>  
       <tr>  
         <td>Dai Rios</td>  
         <td>Personnel Lead</td>  
         <td>Edinburgh</td>  
         <td>35</td>  
         <td>2012/09/26</td>  
         <td>$217,500</td>  
       </tr>  
       <tr>  
         <td>Jenette Caldwell</td>  
         <td>Development Lead</td>  
         <td>New York</td>  
         <td>30</td>  
         <td>2011/09/03</td>  
         <td>$345,000</td>  
       </tr>  
       <tr>  
         <td>Yuri Berry</td>  
         <td>Chief Marketing Officer (CMO)</td>  
         <td>New York</td>  
         <td>40</td>  
         <td>2009/06/25</td>  
         <td>$675,000</td>  
       </tr>  
       <tr>  
         <td>Caesar Vance</td>  
         <td>Pre-Sales Support</td>  
         <td>New York</td>  
         <td>21</td>  
         <td>2011/12/12</td>  
         <td>$106,450</td>  
       </tr>  
       <tr>  
         <td>Doris Wilder</td>  
         <td>Sales Assistant</td>  
         <td>Sidney</td>  
         <td>23</td>  
         <td>2010/09/20</td>  
         <td>$85,600</td>  
       </tr>  
       <tr>  
         <td>Angelica Ramos</td>  
         <td>Chief Executive Officer (CEO)</td>  
         <td>London</td>  
         <td>47</td>  
         <td>2009/10/09</td>  
         <td>$1,200,000</td>  
       </tr>  
       <tr>  
         <td>Gavin Joyce</td>  
         <td>Developer</td>  
         <td>Edinburgh</td>  
         <td>42</td>  
         <td>2010/12/22</td>  
         <td>$92,575</td>  
       </tr>  
       <tr>  
         <td>Jennifer Chang</td>  
         <td>Regional Director</td>  
         <td>Singapore</td>  
         <td>28</td>  
         <td>2010/11/14</td>  
         <td>$357,650</td>  
       </tr>  
       <tr>  
         <td>Brenden Wagner</td>  
         <td>Software Engineer</td>  
         <td>San Francisco</td>  
         <td>28</td>  
         <td>2011/06/07</td>  
         <td>$206,850</td>  
       </tr>  
       <tr>  
         <td>Fiona Green</td>  
         <td>Chief Operating Officer (COO)</td>  
         <td>San Francisco</td>  
         <td>48</td>  
         <td>2010/03/11</td>  
         <td>$850,000</td>  
       </tr>  
       <tr>  
         <td>Shou Itou</td>  
         <td>Regional Marketing</td>  
         <td>Tokyo</td>  
         <td>20</td>  
         <td>2011/08/14</td>  
         <td>$163,000</td>  
       </tr>  
       <tr>  
         <td>Michelle House</td>  
         <td>Integration Specialist</td>  
         <td>Sidney</td>  
         <td>37</td>  
         <td>2011/06/02</td>  
         <td>$95,400</td>  
       </tr>  
       <tr>  
         <td>Suki Burks</td>  
         <td>Developer</td>  
         <td>London</td>  
         <td>53</td>  
         <td>2009/10/22</td>  
         <td>$114,500</td>  
       </tr>  
       <tr>  
         <td>Prescott Bartlett</td>  
         <td>Technical Author</td>  
         <td>London</td>  
         <td>27</td>  
         <td>2011/05/07</td>  
         <td>$145,000</td>  
       </tr>  
       <tr>  
         <td>Gavin Cortez</td>  
         <td>Team Leader</td>  
         <td>San Francisco</td>  
         <td>22</td>  
         <td>2008/10/26</td>  
         <td>$235,500</td>  
       </tr>  
       <tr>  
         <td>Martena Mccray</td>  
         <td>Post-Sales support</td>  
         <td>Edinburgh</td>  
         <td>46</td>  
         <td>2011/03/09</td>  
         <td>$324,050</td>  
       </tr>  
       <tr>  
         <td>Unity Butler</td>  
         <td>Marketing Designer</td>  
         <td>San Francisco</td>  
         <td>47</td>  
         <td>2009/12/09</td>  
         <td>$85,675</td>  
       </tr>  
       <tr>  
         <td>Howard Hatfield</td>  
         <td>Office Manager</td>  
         <td>San Francisco</td>  
         <td>51</td>  
         <td>2008/12/16</td>  
         <td>$164,500</td>  
       </tr>  
       <tr>  
         <td>Hope Fuentes</td>  
         <td>Secretary</td>  
         <td>San Francisco</td>  
         <td>41</td>  
         <td>2010/02/12</td>  
         <td>$109,850</td>  
       </tr>  
       <tr>  
         <td>Vivian Harrell</td>  
         <td>Financial Controller</td>  
         <td>San Francisco</td>  
         <td>62</td>  
         <td>2009/02/14</td>  
         <td>$452,500</td>  
       </tr>  
       <tr>  
         <td>Timothy Mooney</td>  
         <td>Office Manager</td>  
         <td>London</td>  
         <td>37</td>  
         <td>2008/12/11</td>  
         <td>$136,200</td>  
       </tr>  
       <tr>  
         <td>Jackson Bradshaw</td>  
         <td>Director</td>  
         <td>New York</td>  
         <td>65</td>  
         <td>2008/09/26</td>  
         <td>$645,750</td>  
       </tr>  
       <tr>  
         <td>Olivia Liang</td>  
         <td>Support Engineer</td>  
         <td>Singapore</td>  
         <td>64</td>  
         <td>2011/02/03</td>  
         <td>$234,500</td>  
       </tr>  
       <tr>  
         <td>Bruno Nash</td>  
         <td>Software Engineer</td>  
         <td>London</td>  
         <td>38</td>  
         <td>2011/05/03</td>  
         <td>$163,500</td>  
       </tr>  
       <tr>  
         <td>Sakura Yamamoto</td>  
         <td>Support Engineer</td>  
         <td>Tokyo</td>  
         <td>37</td>  
         <td>2009/08/19</td>  
         <td>$139,575</td>  
       </tr>  
       <tr>  
         <td>Thor Walton</td>  
         <td>Developer</td>  
         <td>New York</td>  
         <td>61</td>  
         <td>2013/08/11</td>  
         <td>$98,540</td>  
       </tr>  
       <tr>  
         <td>Finn Camacho</td>  
         <td>Support Engineer</td>  
         <td>San Francisco</td>  
         <td>47</td>  
         <td>2009/07/07</td>  
         <td>$87,500</td>  
       </tr>  
       <tr>  
         <td>Serge Baldwin</td>  
         <td>Data Coordinator</td>  
         <td>Singapore</td>  
         <td>64</td>  
         <td>2012/04/09</td>  
         <td>$138,575</td>  
       </tr>  
       <tr>  
         <td>Zenaida Frank</td>  
         <td>Software Engineer</td>  
         <td>New York</td>  
         <td>63</td>  
         <td>2010/01/04</td>  
         <td>$125,250</td>  
       </tr>  
       <tr>  
         <td>Zorita Serrano</td>  
         <td>Software Engineer</td>  
         <td>San Francisco</td>  
         <td>56</td>  
         <td>2012/06/01</td>  
         <td>$115,000</td>  
       </tr>  
       <tr>  
         <td>Jennifer Acosta</td>  
         <td>Junior Javascript Developer</td>  
         <td>Edinburgh</td>  
         <td>43</td>  
         <td>2013/02/01</td>  
         <td>$75,650</td>  
       </tr>  
       <tr>  
         <td>Cara Stevens</td>  
         <td>Sales Assistant</td>  
         <td>New York</td>  
         <td>46</td>  
         <td>2011/12/06</td>  
         <td>$145,600</td>  
       </tr>  
       <tr>  
         <td>Hermione Butler</td>  
         <td>Regional Director</td>  
         <td>London</td>  
         <td>47</td>  
         <td>2011/03/21</td>  
         <td>$356,250</td>  
       </tr>  
       <tr>  
         <td>Lael Greer</td>  
         <td>Systems Administrator</td>  
         <td>London</td>  
         <td>21</td>  
         <td>2009/02/27</td>  
         <td>$103,500</td>  
       </tr>  
       <tr>  
         <td>Jonas Alexander</td>  
         <td>Developer</td>  
         <td>San Francisco</td>  
         <td>30</td>  
         <td>2010/07/14</td>  
         <td>$86,500</td>  
       </tr>  
       <tr>  
         <td>Shad Decker</td>  
         <td>Regional Director</td>  
         <td>Edinburgh</td>  
         <td>51</td>  
         <td>2008/11/13</td>  
         <td>$183,000</td>  
       </tr>  
       <tr>  
         <td>Michael Bruce</td>  
         <td>Javascript Developer</td>  
         <td>Singapore</td>  
         <td>29</td>  
         <td>2011/06/27</td>  
         <td>$183,000</td>  
       </tr>  
       <tr>  
         <td>Donna Snider</td>  
         <td>Customer Support</td>  
         <td>New York</td>  
         <td>27</td>  
         <td>2011/01/25</td>  
         <td>$112,000</td>  
       </tr>  
     </tbody>  
   </table>  

  • Javascripnya
  •  $(document).ready(function() {  
       $('#example').DataTable( {  
         dom: 'Bfrtip',  
         buttons: [  
           'copy', 'csv', 'excel', 'pdf', 'print'  
         ]  
       } );  
     } );  
    

Selasa, 10 Juli 2012

Membuat Kalkulator dengan javascript

Membuat Kalkulator dengan javascript.

Pada tutorial kali ini kita akan membuat kalulator sederhana dengan javascript.



  • Buat javascript seperti ini

 <script>  
 function addChar(input, character) {  
      if(input.value == null || input.value == "0")  
           input.value = character  
      else  
           input.value += character  
 }  
 function cos(form) {  
      form.display.value = Math.cos(form.display.value);  
 }  
 function sin(form) {  
      form.display.value = Math.sin(form.display.value);  
 }  
 function tan(form) {  
      form.display.value = Math.tan(form.display.value);  
 }  
 function sqrt(form) {  
      form.display.value = Math.sqrt(form.display.value);  
 }  
 function ln(form) {  
      form.display.value = Math.log(form.display.value);  
 }  
 function exp(form) {  
      form.display.value = Math.exp(form.display.value);  
 }  
 function deleteChar(input) {  
      input.value = input.value.substring(0, input.value.length - 1)  
 }  
 function changeSign(input) {  
      if(input.value.substring(0, 1) == "-")  
           input.value = input.value.substring(1, input.value.length)  
      else  
           input.value = "-" + input.value  
 }  
 function compute(form) {  
      form.display.value = eval(form.display.value)  
 }  
 function square(form) {  
      form.display.value = eval(form.display.value) * eval(form.display.value)  
 }  
 function checkNum(str) {  
      for (var i = 0; i < str.length; i++) {  
           var ch = str.substring(i, i+1)  
           if (ch < "0" || ch > "9") {  
                if (ch != "/" && ch != "*" && ch != "+" && ch != "-" && ch != "."  
                     && ch != "(" && ch!= ")") {  
                     alert("invalid entry!")  
                     return false  
                     }  
                }  
           }  
           return true  
 }  
 </script>  

  • Code  css
 form{  
      width:440px;  
      padding:25px;  
      margin:auto;  
      border:5px solid #aaa;  
      border-radius:15px 15px;  
      }  
      input{  
      background:#888;  
      color:#fff;  
      font-size:15px;  
      padding-top:15px;  
      padding-bottom:15px;  
      padding-left:19px;  
      padding-right:19px;  
      margin:6px;  
      }  
      h2{  
      text-align:center;  
      }  
      .sc{  
      background:#fff;  
      color:#000;  
      }  

  • Buat form (html)

 <form name="sci-calc">  
 <h2>SCIENTIFIC CALCULATOR</h2>  
 <table cellspacing="0" cellpadding="1">  
 <TR>  
 <TD COLSPAN="5" ALIGN="center"><input NAME="display" class="sc" VALUE="0" SIZE="44" MAXLENGTH="25"></TD>  
 </TR>  
 <TR>                   
 <td align="center"><input type="button" value="Clear" ONCLICK="this.form.display.value = 0 "></TD>  
 <td align="center" colspan="2"><input type="button" value="   Backspace   " ONCLICK="deleteChar(this.form.display)"></TD>  
 <td align="center" colspan="2"><input type="button" value="      Enter     " NAME="Enter" ONCLICK="if (checkNum(this.form.display.value)) { compute(this.form) }"></TD>  
 </TR>   
 <TR>  
 <td align="center"><input type="button" value=" exp " ONCLICK="if (checkNum(this.form.display.value)) { exp(this.form) }"></TD>  
 <td align="center"><input type="button" value=" 7 " ONCLICK="addChar(this.form.display, '7')"></TD>  
 <td align="center"><input type="button" value=" 8 " ONCLICK="addChar(this.form.display, '8')"></TD>  
 <td align="center"><input type="button" value=" 9 " ONCLICK="addChar(this.form.display, '9')"></TD>  
 <td align="center"><input type="button" value="  /  " ONCLICK="addChar(this.form.display, '/')"></TD>  
 </TR>                   
 <TR>                    
 <td align="center"><input type="button" value=" ln  " ONCLICK="if (checkNum(this.form.display.value)) { ln(this.form) }"></TD>  
 <td align="center"><input type="button" value=" 4 " ONCLICK="addChar(this.form.display, '4')"></TD>  
 <td align="center"><input type="button" value=" 5 " ONCLICK="addChar(this.form.display, '5')"></TD>  
 <td align="center"><input type="button" value=" 6 " ONCLICK="addChar(this.form.display, '6')"></TD>  
 <td align="center"><input type="button" value="  *  " ONCLICK="addChar(this.form.display, '*')"></TD>  
 </TR>                    
 <TR>                    
 <td align="center"><input type="button" value=" sqrt " ONCLICK="if (checkNum(this.form.display.value)) { sqrt(this.form) }"></TD>  
 <td align="center"><input type="button" value=" 1 " ONCLICK="addChar(this.form.display, '1')"></TD>  
 <td align="center"><input type="button" value=" 2 " ONCLICK="addChar(this.form.display, '2')"></TD>  
 <td align="center"><input type="button" value=" 3 " ONCLICK="addChar(this.form.display, '3')"></TD>  
 <td align="center"><input type="button" value="  -  " ONCLICK="addChar(this.form.display, '-')"></TD>  
 </TR>                   
 <TR>                    
 <td align="center"><input type="button" value=" sq " ONCLICK="if (checkNum(this.form.display.value)) { square(this.form) }"></TD>  
 <td align="center"><input type="button" value=" 0 " ONCLICK="addChar(this.form.display, '0')"></TD>  
 <td align="center"><input type="button" value="  . " ONCLICK="addChar(this.form.display, '.')"></TD>  
 <td align="center"><input type="button" value=" +/- " ONCLICK="changeSign(this.form.display)"></TD>  
 <td align="center"><input type="button" value="  + " ONCLICK="addChar(this.form.display, '+')"></TD>  
 </TR>                   
 <TR>                    
 <td align="center"><input type="button" value="  (  " ONCLICK="addChar(this.form.display, '(')"></TD>  
 <td align="center"><input type="button" value="cos" ONCLICK="if (checkNum(this.form.display.value)) { cos(this.form) }"></TD>  
 <td align="center"><input type="button" value=" sin " ONCLICK="if (checkNum(this.form.display.value)) { sin(this.form) }"></TD>  
 <td align="center"><input type="button" value=" tan" ONCLICK="if (checkNum(this.form.display.value)) { tan(this.form) }"></TD>  
 <td align="center"><input type="button" value="  )  " ONCLICK="addChar(this.form.display, ')')"></TD>  
 </TR>                   
 </table>  
 </form>  
Semoga berhasil.