Di sini, kita akan mencoba-coba mengkoding php dengan CI secara lokal. Tools yang diperlukan:
1. XAMPP (bisa diunduh di sini.)
2. CodeIgniter
3. Text editor, bisa notepad atau notepad++(bisa diunduh di sini.)
Selanjutnya CodeIgniter 'diinstall' dengan cara mengekstrak file *.zip ke folder htdocs pada xampp.
Controller
Controller merupakan bagian dari CodeIgniter yang berfungsi untuk mengkontrol laman web. Di sini kita akan mencoba untuk membuat controller yang dapat melakukan operasi penjumlahan, pengurangan, perkalian, maupun pembagian pada bilangan pecahan.
Buka text editor lalu salin kode di bawah:
<?php
class Hello extends CI_Controller{
public function index(){
echo "Halo, ini adalah index function.";
}
public function math($pembilang1, $penyebut1, $operator, $pembilang2, $penyebut2){
if($operator == 'jumlah' || $operator == 'kurang'){
if($penyebut1 >= $penyebut2){
$temp1 = $penyebut1;
$temp2 = $penyebut1%$penyebut2;
}
else{
$temp1 = $penyebut2;
$temp2 = $penyebut2%$penyebut1; }
if($temp2 == 0){
$penyebut_arbiter = $temp1;
}
else{
$penyebut_arbiter = $penyebut1 * $penyebut2;
}
$pembilang1_temp = $pembilang1 * ($penyebut_arbiter/$penyebut1);
$pembilang2_temp = $pembilang2 * ($penyebut_arbiter/$penyebut2);
if($operator == 'jumlah'){
$pembilang_total = $pembilang1_temp + $pembilang2_temp;
$operasi = '+';
}
else{
$pembilang_total = $pembilang1_temp - $pembilang2_temp;
$operasi = '-';
}
echo "$pembilang1/$penyebut1 $operasi $pembilang2/$penyebut2 = $pembilang_total/$penyebut_arbiter";
}
else if($operator == 'kali' || $operator == 'bagi'){
$pembilang2_echo = $pembilang2;
$penyebut2_echo = $penyebut2;
if($operator == 'kali'){
$operasi = '*';
}
else{
$tmp = $pembilang2;
$pembilang2 = $penyebut2;
$penyebut2 = $tmp;
$operasi = '/';
}
if($pembilang1 >= $penyebut2){
$temp1 = $pembilang1%$penyebut2;
$faktor1 = $pembilang1/$penyebut2;
}
else{
$temp1 = $penyebut2%$pembilang1;
$faktor1 = $penyebut2/$pembilang1;
}
if($penyebut1 >= $pembilang2){
$temp2 = $penyebut1%$pembilang2;
$faktor2 = $penyebut1/$pembilang2;
}
else{
$temp2 = $pembilang2%$penyebut1;
$faktor2 = $pembilang2/$penyebut1;
}
if($temp1 == 0){
$pembilang1_tmp = $pembilang1/$faktor1;
$penyebut2_tmp = $penyebut2/$faktor1;
}
else{
$pembilang1_tmp = $pembilang1;
$penyebut2_tmp = $penyebut2;
}
if($temp2 == 0){
$pembilang2_tmp = $pembilang2/$faktor2;
$penyebut1_tmp = $penyebut1/$faktor2;
}
else{
$pembilang2_tmp = $pembilang2;
$penyebut1_tmp = $penyebut1;
}
$pembilang_hasil = $pembilang1_tmp * $pembilang2_tmp;
$penyebut_hasil = $penyebut1_tmp * $penyebut2_tmp;
echo "$pembilang1/$penyebut1 $operasi $pembilang2_echo/$penyebut2_echo = $pembilang_hasil/$penyebut_hasil";
}
else
echo "Operasi tidak dikenal.";
}
}
?>
Kemudian simpan file kalian sebagai Hello.php pada folder applications->controller di CodeIgniter.
Keterangan:
1, class Hello extends CI_Controller{
public function index(){
echo "Halo, ini adalah index function.";
}
Bagian code di sini merupakan deklarasi file php. Perlu diingat, nama class haruslah huruf awal huruf kapital dan sesuai dengan nama file php. Sementara fungsi index merupakan fungsi default yang akan dipanggil oleh controller.
2. public function math($pembilang1, $penyebut1, $operator, $pembilang2, $penyebut2){
Bagian code ini merupakan deklarasi function 'math' yang nanti dapat melakukan operasi aritmatika dasar pada bilangan pecahan. $pembilang1 dan $penyebut1 merupakan pembilang dan penyebut bilangan pertama. $operator merupakan parameter operasi yang akan dilakukan. $pembilang2 dan $penyebut2 merupakan pembilang dan penyebut bilangan kedua.
3. if($operator == 'jumlah' || $operator == 'kurang'){
Bagian code ini akan mengecek apakah operasi yang akan dilakukan merupakan penjumlahan ataukah pengurangan.
4. if($penyebut1 >= $penyebut2){
$temp1 = $penyebut1;
$temp2 = $penyebut1%$penyebut2;
}
else{
$temp1 = $penyebut2;
$temp2 = $penyebut2%$penyebut1;
}
if($temp2 == 0){
$penyebut_arbiter = $temp1;
}
else{
$penyebut_arbiter = $penyebut1 * $penyebut2;
}
Bagian code ini akan menyamakan penyebut. Ingat, bahwa dalam penjumlahan maupun pengurangan perlu disamakan penyebutnya. pada if($penyebut1 >= $penyebut2), maka akan dicek apakah penyebut1 lebih besar atau sama dengan daripada penyebut2. Selanjutnya variabel temp1 akan meyimpan variable yang terbesar. Sementara temp2 akan menyimpan hasil modulus antara penyebut1 dengan penyebut2. Kemudian yang dilakukan else merupakan hal yang sebaliknya. Lalu pada if($temp2 == 0), akan mengecek apakah hasil modulus adalah 0. Jika iya, maka penyebut_arbiter (penyebut yang akan digunakan) adalah angka pada temp1. Jika tidak, maka akan mengkalikan penyebut1 dengan penyebut2.
5. $pembilang1_temp = $pembilang1 * ($penyebut_arbiter/$penyebut1);
$pembilang2_temp = $pembilang2 * ($penyebut_arbiter/$penyebut2);
if($operator == 'jumlah'){
$pembilang_total = $pembilang1_temp + $pembilang2_temp;
$operasi = '+';
}
else{
$pembilang_total = $pembilang1_temp - $pembilang2_temp;
$operasi = '-';
}
echo "$pembilang1/$penyebut1 $operasi $pembilang2/$penyebut2 = $pembilang_total/$penyebut_arbiter";
Bagian code ini akan melakukan operasi. Sebelumnya, pembilang1_temp akan menyimpan pembilang1 yang baru setelah penyebut disamakan. Begitu pula pembilang2_temp. Selanjutnya if($operator == 'jumlah') akan mengecek apakah operasi yang dilakukan penjumlahan. pembilang_total merupakan hasil penjumlahan pembilang1_temp dan pembilang2_temp. Lalu else adalah melakukan fungsi pengurangan. echo "$pembilang1/$penyebut1 $operasi $pembilang2/$penyebut2 = $pembilang_total/$penyebut_arbiter"; merupakan bagian untuk menampilkan apa yang kita lakukan.
6. else if($operator == 'kali' || $operator == 'bagi'){
Bagian code ini akan mengecek operasi perkalian atau pembagian.
7. $pembilang2_echo = $pembilang2;
$penyebut2_echo = $penyebut2;
Bagian code ini akan menyimpan pembilang2 dan penyebut2 untuk ditampilkan nanti.
8. if($operator == 'kali'){
$operasi = '*';
}
else{
$tmp = $pembilang2;
$pembilang2 = $penyebut2;
$penyebut2 = $tmp;
$operasi = '/';
}
Bagian code ini akan mengecek apakah kita akan melakukan perkalian ataukah pembagian. Jika perkalian, maka tinggal mengubah operasi untuk ditampilkan dengan tanda '*'. Jika pembagian, maka operasi untuk ditampilkan adalah '/'. Juga perlu diingat, bahwa sesungguhnya operasi pembagian pada pecahan adalah operasi perkalian, hanya saja untuk bilangan kedua antara penyebut dengan pembilang ditukar tempatnya.
9. if($pembilang1 >= $penyebut2){
$temp1 = $pembilang1%$penyebut2;
$faktor1 = $pembilang1/$penyebut2;
}
else{
$temp1 = $penyebut2%$pembilang1;
$faktor1 = $penyebut2/$pembilang1;
}
if($penyebut1 >= $pembilang2){
$temp2 = $penyebut1%$pembilang2;
$faktor2 = $penyebut1/$pembilang2;
}
else{
$temp2 = $pembilang2%$penyebut1;
$faktor2 = $pembilang2/$penyebut1;
}
Pada bagian code ini, kita akan mengecek apakah pembilang dan penyebut pertama dapat dibagi dengan penyebut dan pembilang bilangan kedua. if($pembilang1 >= $penyebut2) akan mengecek apakah pembilang1 lebih besar daripada penyebut2. Selanjutnya temp1 akan menyimpan hasil modulus dan faktor1 akan menyimpan hasil pembagian antara pembilang1 dengan penyebut2. Kemudian if($penyebut1 >= $pembilang2) akan melakukan hal yang serupa dengan penyebut1 dengan pembilang2.
10. if($temp1 == 0){
$pembilang1_tmp = $pembilang1/$faktor1;
$penyebut2_tmp = $penyebut2/$faktor1;
}
else{
$pembilang1_tmp = $pembilang1;
$penyebut2_tmp = $penyebut2;
}
if($temp2 == 0){
$pembilang2_tmp = $pembilang2/$faktor2;
$penyebut1_tmp = $penyebut1/$faktor2;
}
else{
$pembilang2_tmp = $pembilang2;
$penyebut1_tmp = $penyebut1;
}
Jika bagian code sebelumnya kita mengecek apakah masing-masing pembilang dan penyebut pertama dapat dibagi oleh penyebut dan pembilang bilangan kedua, maka bagian code ini akan melakukan pembagian untuk pembilang dan penyebut, jika baik temp1 maupun temp2 adalah 0. Selanjutnya hasil pembagian akan disimpan dalam variable sementara.
11. $pembilang_hasil = $pembilang1_tmp * $pembilang2_tmp;
$penyebut_hasil = $penyebut1_tmp * $penyebut2_tmp;
echo "$pembilang1/$penyebut1 $operasi $pembilang2_echo/$penyebut2_echo = $pembilang_hasil/$penyebut_hasil";
Bagian code ini merupakan inti dari operasi perkalian maupun pembagian. Bilangan-bolangan yang sudah dibagi, maka akan dikalikan. Pembilang1 dengan Pembilang2 serta penyebut1 dengan penyebut2. echo "$pembilang1/$penyebut1 $operasi $pembilang2_echo/$penyebut2_echo = $pembilang_hasil/$penyebut_hasil"; menampilkan hasilnya.
Ujicoba:
Untuk mencoba controller yang telah kita buat, maka kita membutuhkan browser. Sebelumnya pastikan dengan xampp control panel bahwa apache service untuk localhost sudah dinyalakan.
1. Penjumlahan
ketik localhost/(folder CodeIgniter)/index.php/hello/math/1/2/jumlah/1/4
maka akan tampil laman web 1/2 + 1/4 = 3/4
2. Pengurangan
ketik localhost/(folder CodeIgniter)/index.php/hello/math/1/2/kurang/2/5
maka akan tampil laman web 1/2 - 2/5 = 1/10
3. Perkalian
ketik localhost/(folder CodeIgniter)/index.php/hello/math/3/4/kali/2/3
maka akan tampil laman web 3/4 * 2/3 = 3/6
4. Pembagian
ketik localhost/(folder CodeIgniter)/index.php/hello/math/3/4/bagi/3/8
maka akan tampil laman web 3/4 / 3/8 = 12/6
Sampai di sini tutorial cara membuat controller pada CodeIgniter. Untuk mencoba-coba, dapat dilihat pada phpmanual maupun user_guide pada CodeIgniter.
No comments:
Post a Comment