Thursday, July 20, 2017

Aplikasi android untuk belajar algoritma

Dalam rangka sekedar iseng sambil nungu... Berikut sya coba posting Aplikasi untuk belajar algoritma;

  1. Algorithm: explained and animated >> Aplikasi android dengan tampilan yang ciamik, yang akan memudahkan kita untuk memahami simbols pada algoritma. Minat untuk mencoba silahkan cari di google play store
  2. Belajar algoritma>> sebenarnya aplikasi Android ini lebih mirip dengan e book, tapi dijamin isinya cukup memuaskan, dan bahasa cukup gamblang silahkan klo mau di coba langsung cari Aja di google play store.
Oke it dulu agan-agan.. soalnya yg ditunggu nya udah mau dateng.. lanjut nanti gan..

Sunday, May 15, 2016

Mengenal Laravel 5

Sumber http://id-laravel.com



Kebanyakan framework PHP yang menganut pola MVC (Model-View-Controller) menggunakan skema direktori dengan nama “Model”, “View” dan “Controller” yang seluruhnya dikumpulkan kedalam sebuah direktori utama yang bernama “src” atau “app” / “application” (seperti Code Igniter). Pada skema tersebut, direktori “Model” digunakan untuk menyimpan class PHP yang berhubugan dengan model database, kemudian direktori “Controller” digunakan untuk menyimpan class PHP yang berhubungan dengan application logic dan direktori “View” digunakan untuk menyimpan file-file yang berhubungan tampilan aplikasi. Konvensi struktur direktori tersebut juga digunakan oleh laravel versi 5 namun dengan struktur yang sedikit berbeda dari biasanya dan hal ini akan membuat bingung para pengguna framework yang baru berpindah dari framework lain seperti Yii / Code Igniter.
Berikut ini adalah struktur direktori dari laravel 5:
|-- app
|   |-- Console
|   |   `-- Commands
|   |-- Events
|   |-- Exceptions
|   |-- Http
|   |   |-- Controllers
|   |   |-- Middleware
|   |   `-- Requests
|   |-- Jobs
|   |-- Listeners
|   `-- Providers
|-- bootstrap
|   `-- cache
|-- config
|-- database
|   |-- factories
|   |-- migrations
|   `-- seeds
|-- public
|-- resources
|   |-- assets
|   |   `-- less
|   |-- lang
|   |   `-- en
|   `-- views
|       |-- errors
|       |-- layout
|       `-- vendor
|-- storage
|   |-- app
|   |-- framework
|   |   |-- cache
|   |   |-- sessions
|   |   `-- views
|   `-- logs
|-- tests


Berikut penjelasan dari struktur laravel 5

app/Http
Direktori ini merupakan direktori yang dibuat secara khusus untuk menyimpan seluruh file-file yang berkaitan dengan proses request dan response Http. Dikretori ini memiliki tiga buah sub direktori yang diantaranya adalah “Controllers”, “Middleware” dan “Requests”. Berikut ini adalah penjelasan mengenai fungsi dari ketiga buah sub direktori tersebut:
  • app/Http/Controllers: Direktori ini digunakan untuk menyimpan seluruh class Controller yang kita buat seperti misalnya ProductController.php, SalesController.php, dll.
  • app/Http/Middleware: Direktori ini digunakan untuk menyimpan seluruh class yang berhubungan dengna middleware PHP. Secara umum middleware adalah sebuah class yang akan dieksekusi sebelum HTTP request yang masuk diberikan kepada Controller. Tujuan dari class Middleware adalah untuk melakukan filter seperti misalnya menolak akses dari user yang belum login. Untuk penjelasan lengkapnya tentang middleware bisa baca dokumentasinya disini.
  • app/Http/Requests: Direktori ini hanya berisikan sebuah class yaitu Request.php yang dapat digunakan untuk mendapatkan data dari form request yang dikirim oleh web browser. Selain itu direktori ini juga ditujukan untuk menyimpan class validator yang kita buat baik yang dibuat secara manual ataupun dengan menggunakan perintah php artisan make:request. Untuk penjelasan lebih lanjut terkait penggunaan validator pada laravel, bisa dibaca dokumentasinya disini.
database/migrations
Direktori ini berisikan file-file migrations yang digenerate oleh laravel pada saat kita menjalankan perintah php artisan make:migration. fitur migration sendiri sangat berguna untuk melakukan perubahan pada database baik itu penambahan tabel, penambahan kolom, menghapus kolom, menghapus tabel serta melakukan roll-back setiap perubahan database yang kita buat. Fitur migration ini akan sangat terasa manfaatnya terutama pada saat kita mengerjakan sebuah project di dalam sebuah tim dan banyak struktur database yang berubah seiring perkembangan project. Untuk penjelasan lebih lanjut terkait fitur migration pada laravel silahkan baca dokumentasinya disini.
database/seeds
Direktori ini berisikan file-file dabase seeds yang digenerate oleh laravel pada saat kita menjalankan perintah php artisan make:seeder. fitur seeding di laravel sendiri sangat berguna apabila kita ingin melakukan inisialisasi data (data awalan) pada table yang kita buat. untuk penjelasan lebih lanjut terkait fitur seeding pada laravel silahkan baca dokumentasinya disin.
public
Pada dasarnya laravel memisahkan antara direktori public dan private. direktori public adalah direktori dimana seluruh resource aplikasi dapat diakses melalui web browser seperti misalnya gambar, javascript dan css. Sedangkan direktori private sendiri berisikan seluruh kode PHP yang telah kita buat ataupun yang merupakan bawaan dari framwork laravel itu sendiri. Umumnya, dalam melakukan proses deployment laravel yang secure, hanya direktori public ini sajalah yang diletakkan di dalam direktori public_html pada web server sedangkan direktori lainnya diletakkan di luar direktori public_html.
resources
Direktori ini memiliki tiga buah sub direktori yaitu “assets”, “lang” dan views. Berikut ini adalah penjelas singkat terkait fungsi dari masing-masing sub direktori tersebut:
  • assets: Sejak rilis versi 5, laravel memiliki sebuah fitur yang bernama laravel elixir. Fitur ini ditujukan untuk membantu para pengguna laravel untuk meng-compile file less, saas dan coffescript yang mereka buat. Nah, direktori ini ditujukan untuk menyimpan resources tersebut yang nantinya akan secara otomatis dicompile oleh laravel dengan menggunakan gulp dan dipindahkan ke dalam direktori public. Selain itu kita juga dapat menyimpan resources berupa image atau berkas-berkas lain yang nantinya akan dipindahkan oleh laravel kedalam direktori public dengan cara yang sama. Untuk penjelasan lebih lanjut terkait fitur laravel elixir, silahkan baca dokumentasinya disini.
  • lang: Secara default laravel sudah memiliki support terhadap implementasi localization yang dapat membantu para pengguna framework untuk menciptakan aplikasi web yang multi bahasa. Direktori ini menyimpan seluruh definisi bahasa yang telah kita buat. Untuk penjelasan lebih lanjut terkait penggunaan fitur localization pada laravel, silahkan baca dokumentasinya disini.
  • views: Direktori ini digunakan untuk menyimpan seluruh file html / template blade yang kita buat.
test
Laravel merupakan sebuah framework yang didesain dengan mindset testable framework. Oleh karena itu, secara default laravel sudah menyediakan library-library yang dibutuhkan untuk dapat melakukan unit testing seperti PHPUnit dan Mockery. Nah, direktori ini berfungsi untuk menyimpan seluruh file test yang dibuat untuk kemudian dijalankan oleh PHPUnit.
Sejauh ini sepertinya saya sudah memaparkan beberapa direktori penting yang harus diperhatikan dalam menggunakan laravel 5.

Meletakkan class Model di laravel 5?
Salah satu yang membuat saya bingung pada saat menggunakan laravel 5 adalah bahwa tidak adanya direktori bernama “Models” seperti framework-framework PHP MVC lainnya. Lalu, dimanakah seharusnya kita meletakkan class Models yang sudah dibuat? Apakah kita harus membuat sendiri folder bernama “Models” di app/Http? Sebetulnya tidak ada konvensi khusus dimana letak class model berada, akan tetapi jika melihat default model user User.php yang disediakan oleh laravel serta lokasi generated model yang dibuat oleh laravel pada saat kita menggunakan perintah php artisan make:model maka dapat disimpulkan bahwa lokasi class Model pada laravel 5 adalah di dalam folder app seperti misalnya app\Product.php.

Thursday, May 12, 2016

Materi Kelas X Materi Manajemen File

Pengertian manajemen file dalam sistem operasi
 File system atau disebut juga dengan manajemen file adalah suatu metode dan struktur data yang dipakai oleh sistem operasi untuk mengatur serta menorganisir file yang terdapat pada disk atau partisi disk. Manajemen file(File system) ini dapat diartikan sebagai disk atau partisi yang dipakai untuk menyimpan file-file dalam cara tertentu.
Inilah manfaat manajemen file 
Adapun manfaat dari manajemen file diantaranya yaitu, dapat mengurangi resiko kehilangan file misalnya seperti terhapusnya file secara tidak sengaja, file tersimpan dimana saja dan tidak teraturnya letak file serta dapat memudahkan kita dalam pencarian file, dapat menghemat kapasitas penyimpanan dengan cara melakukan penghapusan file yang tidak terpakai. Untuk mendapatkan manfaat dari manajemen file kamu harus dapat melakukan manajemen file dengan baik dan benar.
Sasaran sistem file
  • Untuk memenuhi kebutuhan dari manajemen data bagi pemakai atau user.
  • Untuk menjamin data yang terdapat pada file adalah valid.
  • Untuk optimasi kinerja.
  • Untuk menyediakan dukungan masukan (input) dan keluaran (output) bagi beragam tipe perangkat penyimpanan.
  • Untuk meminimalkan atau mengeliminasi potensi kehilangan data.
  • Untuk menyediakan sekumpulan rutin interface masukan (input) dan keluaran (output).
  • Dan untuk menyediakan dukungan masukan (input) dan keluaran (output) bagi banyak pemakai (user) di sistem multiuser.
Beberapa fungsi yang diharapkan dari pengelolaan file
  • Mekanisme pemakaian file secara bersama.
  • Penciptaan, modifikasi dan penghapusan file.
  • Kemampuan men-beckup dan recovery untuk dapat mencegah kehilangan file dikarenakan kecelakaan atau adanya upaya penghancuran file.
  • Pemakai bisa mengacu file dengan nama simbolik (Symbolic name) bukan menggunakan penamaan yang mengacu perangkat fisik.
  • Supaya pada lingkungan sensitive, informasi dapat tersimpan dengan aman dan rahasia.
  • Sistem file harus menyediakan interface user-friendly.
Arsitektur Pengelolaan File
Pengelolaan file, biasanya terdiri seperti di bawah ini:
  • Yang pertama adalah sistem akses, yaitu berhubungan dengan bagaimana cara data yang disimpan pada file akses.
  • Yang kedua adalah manajemen file, yaitu berhubungan denga penyediaan mekanisme operasi pada file, misalnya seperti: penyimpanan, pengacuan, pemakaian bersama, dan juga pengamanan.
  • Yang ketiga adalah, manajemen ruang penyimpanan yaitu berhubungan dengan alokasi ruang untuk file diperangkat penyimpan.
  • Dan yang keempat adalah mekanisme Integritas file, yaitu berhubungan dengan jaminan informasi pada file yang tidak terkorupsi.
3 tipe file yang terdapat pada sistem operasi
Terdapat tiga tipe file pada sistem operasi, diantaranya seperti di bawah ini:

  • File regular yang berisi informasi, yang terdiri dari file teks dan biner. File teks ini berisi baris-baris teks (txt). Lalu file biner eksekusi (exe), dan juga biner hasil dari program aplikasi. Struktur internal file biner eksekusi hanya diketahui oleh sistem operasi, sedangkan struktur internal dari file biner hasil program aplikasi hanya diketahui oleh program aplikasi saja yang menggunakan file tersebut.
  • File folder yaitu file yang dimiliki oleh sistem operasi, biasanya berisi informasi-informasi mengenai daftar file yang termasuk didalam folder tersebut.
  • Dan file khusus merupakan nama logic dari perangkat input dan perangkat output.

Tuesday, May 10, 2016

Belajar Model Pada CodeIgniter

Sumber: http://helmykkediricomp.blogspot.co.id/

Membuat CRUD ( Create, Read, Update, Delete ) - Pada Frame works CodeIgniter , CRUD merupakan suatu fungsi dasar yang harus ada dalam sebuah pemrograman atau aplikasi karena proses menambahkan, mengubah, membaca dan menghapus data merupakan fungsi vital yang harus ada dalam sebuah aplikasi dinamis.

Pengenalan Framework CodeIgniter 

Frameworks CodeIgniter merupakan salah satu framework yang disediakan untuk membangun sebuah website dengan lebih efisien, cepat, mudah dan aman. Framework ini memakai sebuah system yang dikenal dengan MVC (Model-View-Controller) di mana masing-masing memiliki fungsi diantaranya :

– Model, digunakan untuk mengelola atau mengatur segala jenis hal yang berhubungan dengan data atau database dan tidak boleh ada source code untuk membuat tampilan karena untuk tampilan dimasukkan kedalam view.
– View, merupakan tempat untuk mengelola segala macam source code yang berhubungan dengan tampilan suatu halaman web  meliputi HTML,CSS, maupun Javascript.
– Controller, merupakan tempat yang berfungsi memanggil atau menyambungkan antara View dengan  Model.

Berikut kita akan belajar membuat CRUD data barang  :

1. Buat Database dengan nama misal CRUDCodeIgniter dan buat tabel dengan nama data_barangkemudian isikan field nama dan tipe data sebagai berikut :

- nama id type data int panjang 11
- nama nama type data int panjang 150 
- nama harga type data float panjang 11 
- nama stok type data int panjang 11 
  

Tabel data_barang

2. Konfigurasi database , masuk di C:\xampp\htdocs\CRUDCodeIgniter\application\config dan edit file database.php cari systax berikut :

 $db['default']['hostname'] = 'localhost';  // masukkan host name
$db['default']['username'] = 'root';         // user name root default
$db['default']['password'] = '';                // pass kosong default
$db['default']['database'] = 'CRUDCodeIgniter';   // nama database

3. Selanjutnya kita rubah base_url  ( alamat untuk memanggil codeigniter karena bisa jadi folder yang kita buat berbeda-beda namanya , buka CRUDCodeIgniter \ application \ config \ config.phpkemudian cari kode syntax dibawah ini :

 $config['base_url']    = 'http://localhost:81/CRUDCodeIgniter/'; 
// silahkan di ubah sesuai konfigurasi anda 

4. Selanjutnya buat file data_produk.php padaC:\xampp\htdocs\CRUDCodeIgniter\application\controllers  kemudian masukkan kode berikut ini :

 
//nama class harus diawali dengan kapital, walaupun nama file semua kecil
class Data_produk extends CI_Controller {

    public function index()
    {
        $this->load->helper('url');
        $this->load->database();   //memanggil pengaturan database dan mengaktifkannya
        $this->load->model('m_data_produk');  //memanggil model m_data_produk
        $data['data_produk'] = $this->m_data_produk->list_data();//memanggil fungsi di model dan menerima hasil fungsi yang dimasukan ke $data['data_produk']
        $this->load->view('v_data_produk',$data);//memanggil view yang nanti kita akan buat dan memasukan $data dari model tadi
    }
   
    public function Input()
    {
        $this->load->helper('form');//memanggil helper form nanti penggunaannya di v_input_produk.php
        $data['type']="INPUT";// definisi type, karena nanti juga ada edit
        $this->load->view('v_input_produk',$data);// memanggil view v_input_produk.php
    }
   
    public function Edit()
    {
        $this->load->helper('form');//memanggil helper form nanti penggunaannya di v_input_produk.php
       
        $this->load->database();//memanggil pengaturan database dan mengaktifkannya
        $this->load->model('m_data_produk');//memanggil model m_data_produk.php
       
        $id = $this->input->get('produk');//mengambil param produk dari get
        $data['produk'] = $this->m_data_produk->getEdit($id);
        $data['type']="EDIT";// definisi type, karena nanti juga ada edit
        $this->load->view('v_input_produk',$data);// memanggil view v_input_produk.php
    }
   
    public function Post(){
        $this->load->database();//memanggil pengaturan database dan mengaktifkannya
        $this->load->model('m_data_produk');//memanggil model m_data_produk.php
       
        //mengambil data dari post memasukan ke array agar lebih mudah 
        $param = array(
                'nama' => $this->input->post('nama'),
                'harga' => $this->input->post('harga'),
                'stok'=> $this->input->post('stok')
                );
        //jika simpan == input 
        if($this->input->post('simpan')=="INPUT"){
            $this->m_data_produk->input($param);   
        }else
        if($this->input->post('simpan')=="EDIT"){
            $id= $this->input->post('id');
            $this->m_data_produk->edit($param,$id);   
        }
       
        //memanggil helper url untuk fungsi redirect
        $this->load->helper('url');
        //mengalihkan ke list data produk setelah input atau edit selesai
        redirect('data_produk','refresh');
    }
   
    public function Delete(){
        $this->load->database();//memanggil pengaturan database dan mengaktifkannya
        $this->load->model('m_data_produk');//memanggil model m_data_produk.php
        $id = $this->input->get('produk');
        $this->m_data_produk->delete($id);
       
        $this->load->helper('url');
        redirect('data_produk','refresh');
    }
}
5. Lalu kita buat models , silahkan menuju keC:\xampp\htdocs\CRUDCodeIgniter\application\models
lalu buat file baru bernama m_data_produk.php dan masukkan script berikut :

 class M_data_produk extends CI_Model {
  
 function __construct()
    {
        // Memanggil Model constructor
        parent::__construct();
    }
     
    function list_data(){
        $query = $this->db->get('data_barang');// mengambil semua data dari tabel data_barang
         
        return $query->result();// mengembalikan ke controller hasil dari query ke table data_barang
    }
    
    function input($param){
        $this->db->insert('data_barang',$param);
        return true;
    }
    
    function getEdit($id){
        $this->db->where('id',$id);
        $query = $this->db->get('data_barang');
        
        return $query->result();
    }
    
    function edit($param,$id){
        $this->db->where('id',$id);
        $this->db->update('data_barang',$param);
        return true;
    }
    
    function delete($id){  // hapus data berdasarkan id
        $this->db->where('id',$id);
        $this->db->delete('data_barang');
    }
}
 6. Untuk menampilkan hasilnya kita buat view nya , view berfungsi untuk menampilkan halaman dan view berisi html, php maupun java script silahkan menuju keC:\xampp\htdocs\CRUDCodeIgniter\application\views  dan buat file baru bernamav_data_produk.php setelah itu masukkan script berikut :


isi file v_data_produk.php


Hasilnya :