Friday, July 6, 2018

Cara menghilangkan index.php di CI



Bagaimana cara menghilangkan index.php pada codeigniter? Itu merupakan masalah yang sering dialami oleh programer pemula di codeigniter. Memang dalam pemanggilan url sangat berbeda dengan php murni karena di codeigniter ini semua disusun secara terstruktur dan rapi. Ini merupakan contoh pemanggilan project codeigniter di url http://localhost/ci/index.php/Tes sangat panjang memang, disini dapat saya jelaskan mengapa bisa sepanjang itu ya guys...

Alamat Url http://localhost/ci/index.php/Tes berarti project tersebut berada di dalam folder ci kemudian di index.php dengan nama Controller Tes. Kita dapat menghilangkan alamat index.php guna untuk memudahkan kita dalam pemanggilan dan terlalu panjang. Simak caranya dibawah ini ya

Pertama pastikan saat menggunakan index.php url sudah bisa dipanggil ya, selanjutnya buka editor(sublime) dan buka di folder config kemudian config.php kemudian carilah script yang seperti dibawah ini .

 $config['index_page'] = 'index.php';

Hapus script menjadi seperti dibawah ini

 $config['index_page'] = ' ';

Kemudian buatlah file ' .htaccess ' tanpa extensi ya, kemudian paste kan script dibawah ini lalu save pada folder ci.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Buatlah controller dengan nama " Tes " seperti dibawah ini.

<?php

/**
*/
class Tes extends CI_Controller
{
function __construct()
{
parent::__construct();
}

public function index(){
echo "BELAJAR NgoDinG";
}
}

?>

Kemudian panggil dengan url http://localhost/ci/Tes maka menghasilkan tampilan seperti dibawah ini.



Semoga bermanfaat ya.

Friday, February 23, 2018

How to Change the App Launche Logo in Android Studio



How to Change the App Launche Logo in Android Studio yaitu cara untuk mengubah logo peluncur aplikasi di Android Studio pada Ubuntu.

Langkah pertama pastikan anda sudah membuat project baru dengan nama terserah anda dengan cara buka android studio - file - new - new project lalu beri nama projectnya.




Pilih layout untuk Empty Actvity


Beri nama untuk Activity .java
 

Selesai membuat project baru.
 



Langkah kedua yaitu klik kanan bagian folder app dibagian kiri atas - new - pilih Image Assets.

Tunggu beberapa detik maka akan muncul tampilan untuk kita edit.




Beri nama layer kemudian atur icon menjadi Image, Clip Art atau Text. Kemudian bisa mengatur ukuran icon pada Scalling - Resize.
Untuk Backgorund bisa diatur hanya warna atau image.



Jika telah selesai semua maka klik next -> finish kemudian running project kalian kemudian minimaze lihat icon peluncur berhasil dirubah.


tampilan saat dirunning tetap sama.
 

Tampilan akan berbeda di ikon peluncur aplikasi.
 


Sunday, January 7, 2018

Aplikasi Penghitung Volume Balok

Hello guys setelah beberapa lama hening kini awali lagi dengan coding, lohhh kok tetep coding ??? Ya iyalah harus tetep coding, coding yang penuh code-code an hehe.. ehhh tapi coding kali ini berbeda dengan debelumnya loh, yapp coding MOBILE yang sekarang udah jadi trending banget nih, bukan sekarang aja yak, kemarin-kemarin sih udah rending tapi belum nyempe saja belajar nya.

Disini karena belajar itu dimulai dari permulaan maka saya akan membuat tutorial aplikasi menghitung volume kubus, Karena kalo belajar gak ada yang instan ya guys. Tetap sabar dan semangat keinginan pasti tercapai. Eeaaa....


Dalam membuat aplikasi ini memerlukan android studio ya pastinya, kemudian disini saya menggunakan


compileSdkVersion 26

buildToolsVersion "26.0.1"


minSdkVersion 23targetSdkVersion 26versionCode 1versionName "1.0"

dan

compile 'com.android.support:appcompat-v7:26.+'compile 'com.android.support.constraint:constraint-layout:1.0.2'testCompile 'junit:junit:4.12'

di dalam Module.app nya.

Untuk layout saya memerlukan 1 layout dan 1 class java. Dimana 1 layout untuk mengatur tampilannya kemudian 1 class java untuk prosenya.
Pertama buka android studio kalian dan buat New project


Kemudian simpan project dengan nama "Volume" lalu Next
Di bawah ini merupakan pemilihan SDK yang akan anda pakai.

Gunakan layout empty activity untuk membuat aplikasi ini, jadi nanti menyusun tampilan sendiri tanpa bawaan dari tema.
Jika sudah selesai maka akan tampil halaman project seperti dibawah ini.
Pada layout activity_main.xml tuliskan code seperti dibawah ini :

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="com.example.elladw.volume.MainActivity">

    <TextView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="Panjang"        android:layout_marginBottom="@dimen/activity_vertical_margin"/>
    <EditText        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/edt_length"        android:inputType="numberDecimal"        android:lines="1"        android:layout_marginBottom="@dimen/activity_vertical_margin"/>
    <TextView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="Lebar"        android:layout_marginBottom="@dimen/activity_vertical_margin"/>
    <EditText        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/edt_width"        android:inputType="numberDecimal"        android:lines="1"        android:layout_marginBottom="@dimen/activity_vertical_margin"/>
    <TextView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="Tinggi"        android:layout_marginBottom="@dimen/activity_vertical_margin"/>
    <EditText        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/edt_height"        android:inputType="numberDecimal"        android:lines="1"        android:layout_marginBottom="@dimen/activity_vertical_margin"/>
    <Button        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/btn_calculate"        android:text="Hitung"        android:layout_marginBottom="@dimen/activity_vertical_margin"/>
    <TextView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/tv_result"        android:text="Hasil"        android:gravity="center"        android:textSize="24sp"        android:textStyle="bold"        android:layout_marginBottom="@dimen/activity_vertical_margin"/>

</LinearLayout>
Pada activity_main.xml ini saya menggunakan Linear Layout dalam penyusunan kolomnya, dimana linear berarti terstruktur kebawah. Disini menggunaakan TextView, EditText dan Button sebagai design layout.
Kemudian pada class java MainActivity.java tuliskan code seperti dibawah ini :

package com.example.elladw.volume;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private EditText edtWidth, edtHeight, edtLength;
    private TextView tvResult;
    private Button btnCalculate;
    private static final String STATE_HASIL = "state hasil";

    @Override    protected void onSaveInstanceState(Bundle outState){
        outState.putString(STATE_HASIL, tvResult.getText().toString());
        super.onSaveInstanceState(outState);
    }

    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        edtWidth = (EditText)findViewById(R.id.edt_width);
        edtHeight = (EditText)findViewById(R.id.edt_height);
        edtLength = (EditText)findViewById(R.id.edt_length);
        tvResult = (TextView)findViewById(R.id.tv_result);
        btnCalculate = (Button)findViewById(R.id.btn_calculate);
        btnCalculate.setOnClickListener(this);

        if (savedInstanceState != null){
            String hasil = savedInstanceState.getString(STATE_HASIL);
            tvResult.setText(hasil);
        }
    }
    @Override    public void onClick(View v) {

        if(v.getId() == R.id.btn_calculate){
            String lenght = edtLength.getText().toString().trim();
            String width = edtWidth.getText().toString().trim();
            String height = edtHeight.getText().toString().trim();

            boolean isEmptyFields = false;
            if (TextUtils.isEmpty(lenght)){
                isEmptyFields = true;
                edtLength.setError("Field ini tidak boleh kosong");
            }
            if (TextUtils.isEmpty(width)){
                isEmptyFields = true;
                edtWidth.setError("Field ini tidak boleh kosong");
            }
            if (TextUtils.isEmpty(height)){
                isEmptyFields = true;
                edtHeight.setError("Field ini tidak boleh kosong");
            }
            if (!isEmptyFields){
                double l = Double.parseDouble(lenght);
                double w = Double.parseDouble(width);
                double h = Double.parseDouble(height);
                double volume = l * w * h;
                tvResult.setText(String.valueOf(volume));
            }

        }
    }
}
Penjelasan code
private EditText edtWidth, edtHeight, edtLength;
digunakan untuk mendeklarasikan variabel dari EditText dengan nama edtwidth,edtHeight,dan edtLength

edtWidth = (EditText)findViewById(R.id.edt_width);
digunakan untuk inisialisasi variabel edtWidth yang telah di deklarasikan diatas dengan id edt_width.

boolean isEmptyFields = false;
            if (TextUtils.isEmpty(lenght)){
                isEmptyFields = true;
                edtLength.setError("Field ini tidak boleh kosong");
            }
sebagai validasi jika saat kolom tidak diisi maka akan keluar alert Field tidak booleh kosong.

if (!isEmptyFields){
                double l = Double.parseDouble(lenght);
                double w = Double.parseDouble(width);
                double h = Double.parseDouble(height);
                double volume = l * w * h;
                tvResult.setText(String.valueOf(volume));
            }
digunakan untuk mendeklarasikan variabel l, w dan h dengan tipe data double, kemudian volume dengan ketentuan rumus balok yaitu V = L * W * H

Finish, aplikasi sudah bisa digunakan


           

=> 

Wednesday, December 27, 2017

Membuat Aplikasi Pemesanan Tiket bioskop Berbasis Web

       Halooo.... kawan-kawan setelah tugas tugas dan tugas akhirnya bisa diupload kesini yaitu membuat aplikasi pemesanan tiket bioskop berbasis web. Dimana seseorang dapat memesan tiket bioskop yang mereka inginkan di aplikasi ini. Untuk tampilan aplikasinya masih sederhana yak teman. Simak dibawah ini merupakan tampilan login pertama kali untuk menggunakan aplikasi ini.


Username dan password tersebut harus sesuai dengan database user dimana jika tidak sesuai maka akan tetap berada dihalaman tersebut dan jika benar maka akan menampilkan alert seperti dibawah ini


Kemudian pilih OK untuk tetap lanjut, maka akan menampilkan halaman dashboard dimana dashboard menampilkan semua daftar film yang akan tayang beserta dengan waktunya


Pada halaman dashboard terdapat menu logout untuk anda yang ingin keluar dari aplikasi ini. Kemudian menu Daftar Pemesanan dimana kita dapat melihat semua daftar pemesanan dari semua orang


Di halaman Data Pemesanan Tiket ini anda sebagai admin dapat menghapus dan melihat secara detail dari beberapa orang yang telah memesan tiket bioskop.

Kemudian pada menu Kelola Film anda sebagai admin dapat menghapus mengedit jadwal film jika ada perubahan jadwal.


Pada menu halaman kelola film ini terdapat menu tambah film dimana admin dapat menambahkan data film yang akan tayang kemudian admin dapat menambahkan studio yang tersedia.



Halaman dashboard anda dapat mencari judul atau tanggal film yang sesuai dengan yang anda inginkan pada menu searching. 


Disini saya membuat pada bagian login logout dan pencarian, dimana saat user login dan jika user belum logout maka pada saat membuka tab baru maka langsung menuju menu dashboard dengan perintah seperti dibawah ini pada halaman index.php

<?php  

session_start();
if (isset($_SESSION["USERNAME"])) {
header("Location: index1.php");
}

pada script diatas halaman index1.php adalah sebagai dashboard, jadi disaat user ingin login sistem akan mengecek apakah user tersebut sudah login atau belum jika sudah maka akan lanjut ke halaman index1.php dan jika belum maka akan tetap berada pada index.php

<?php  

session_start();
if (!isset($_SESSION["USERNAME"])) {
  header("Location: index.php");
}

?>

Script menu logout adalah sebagai berikut, dimana setelah logout maka akan mengakses halaman index.php untuk melakukan login kembali jika ingin masuk pada aplikasi ini.

 <?php

session_start();
session_destroy();
header("Location: index.php");

?>

Kemudian untuk menu pencarian membuat form pencarian terlebih dahulu

<form method="post" action="cari.php">
    <input type="text" name="kata" placeholder="judul/tanggal">
    <button type="submit">Cari</button>
</form>

Kemudian script php nya sebagai berikut

<?php
    include('koneksi.php');
    $kirim = $_POST['kata'];
    $query = mysql_query("SELECT * From movie where film like '%$kirim%' or tanggal_tayang like '%$kirim%' ORDER BY kd_filem DESC") or die(mysql_error());
    if(mysql_num_rows($query) == 0){
      echo '<tr><td colspan="6">Tidak ada data!</td></tr>';
    }else{
        ?>
<?php

Script diatas membuat variabel baru yaitu $kirim dimana berisi variabel kata dari form pencarian, Kemudian untuk yang ditampilkan adalah tabel movie dimana film dan tanggal tayang sesuai dengan yang dicari, dimana diurutkan dari kode film yang terbesar. Jika kolom atau pencarian tersebut kosong maka akan menampilkan "tidak ada data" namun jika pencarian tersebut di database tersedia maka akan menampilkan data yang sesuai pencarian. Pada script diatas "else" diisi script untuk menampilkan data di database.

Saturday, January 7, 2017

Membagi sebuah Stack menjadi Stack A dan Stack B

Haii teman-teman masih semangat untuk coding kan ? Disini saya akan membahas tentang Stack. Dimana ada 1 Stack yang dibagi menjadi Stack A dan Stack B.

Apa itu Stack ?

Stack merupakan tumpukan dari benda atau data yang seolah-olah diletakkan diatas data yang lain dimana data yang pertama kali masuk akan terakhir.
Kita perumpamakan dalam sebuah tumpukan buku dimana sebuah buku yang ditumpuk secara urut yang terakhir maka akan menjadi prioritas utama untuk diambil, dengan ini disebutlah FILO (First In Last Out).

Inilah contoh penerapan Stack pada bahasa C++

#include <iostream>

using namespace std;

void push(int Stack[],int &top){
for(int i=1; i<=10; i++){
Stack[top]=i;
top++;
}
}

void bagi(int Stack[], int StackA[], int StackB[]){

int a=0;
int b=0;
for(int i=1; i<=10; i++){

if(i<=5){
StackB[b]=i;
b++;
}
else{
StackA[a]=i;
a++;
}
}
}

int pop(int StackA[],int &top){
int temp;
temp=StackA[top-1];
top--;
return temp;
}

void cetak(int Stack[],int top){
for(int i=top-1; i>=0; i--){
cout<<Stack[i]<<endl;
}
}
int main(int argc, char** argv) {
int top=0;
int Stack[10];
int StackA[5];
int StackB[5];
int topA=5;
int topB=5;
cout<<"Data Stack Array 1 - 10"<<endl;
push(Stack,top);
cetak(Stack,top);
cout<<endl<<"Stack A"<<endl;
bagi(Stack,StackA,StackB);
cetak(StackA,5);
cout<<endl<<"Stack B"<<endl;
bagi(Stack,StackA,StackB);
cetak(StackB,5);
cout<<"Stack A yang di pop : "<<pop(StackA,topA)<<endl;
cetak(StackA,4);
cout<<"Stack B yang di pop : "<<pop(StackB,topB)<<endl;
cetak(StackB,4);
return 0;
}


Program diatas dimana ada sebuah Stack kemudian kita membaginya dalam bentuk Stack A dan Stack B. Namun Stack ini tetap memperhatikan urutan dimana yang terakhir diinputkan maka yang pertama diambil. Misal : kita mempunyai angka 1 sampai 10 dengan urutan [ 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 ] maka jika Stack tersebut dibagi dua menjadi Stack A [ 10, 9, 8, 7, 6 ] dan Stack B [ 5, 4, 3, 2, 1, ].

Ini lah dia hasil dari program diatas :


Thursday, January 5, 2017

Share Folder

Hallo teman-teman semua, bagaimana keadaan kalian? Turun hujan memang menyebabkan susahnya sinyal utnuk kita internetan baik untuk sekedar facebookan, baca artikel, atau bahkan yang share folder. Bagi kalian semua share folder itu tidak seharusnya memakai internet. Hanya kita share melalui laptop ke laptop pun juga bisa kok. Jadi yang lagi galau tidak bisa share folder simak ya caranya.

Share folder antar laptop :
            1.  Klik Start -> Control Panel
            2.  Pilih Network and Internet ->  Network and Sharing Center



            3.  Kemudian disebelah kiri pilihlah Change advanced sharing settings



            4. Chek list pada bagian berikut
a.       Turn on network discovery
b.      Turn on file and printer sharing
c.       Turn in sharing so anyone with on the network access can read and write files int the Public folders
d.      Turn off password protected sharing (Jika tidak ingin memberi password)



5.   Save Changes
6.   Kemudian buatlah folder di Local Disk (C)
7.   Klik kanan folder tersebut pilih properties


8.   Pilih menu Sharing kemudian Share


9.   Di tampilan berikutnya pilihlah kalian ingin sharing kepada siapa. Disini saya menggunakan anyone.


10.  Kemudian aturlah tingkat perizinannya , apakah orang yang mengakses folder kita bisa membaca, membaca dan menulis, atau bisa mengedit.


11.   Jika sudah selesai klik Done.


12.   Cobalah tes dengan cara ketik windows+R kemudian ketiklah //ip_orang_yang_mempunyai_folder.

        Contoh  :  //192.168.15.21

Ascending Descending


Apa itu ascending dan Apa itu descending ?


Mereka berdua merupakan sebuah cara pengurutan baik angka ataupun huruf. Ascending merupakan sebuah pengurutan yang berdasarkan mulai dari terendah ke terbesar. Descending merupakan sebuah pengurutan yang berdasarkan mulai dari terbesar ke terkecil. Jadi Ascending ini jika huruf maka dimulai dari A-Z dan angka dari 0-takhingga sedangkan Descending jika huruf dimulai dari Z-A dan angka dari tak hingga-0

Jika kita mempunyai data awal sebagai berikut :


Kemudian data diatas kita ubah ke bentuk ascending dengan syntax :
     " select * from mahasiswa order by asc; "


maka hasilnya berubah kan pada tabel nama.
Kemudian kita buat lagi dalam bentuk descending 
     " select * from mahasiswa order by desc; "


maka pada tabel nama telah berubah kembali.
Sekian penjelasan tentang ascending dan descending. Terima kasih.