Belajar Web Programming PHP, HTML, MySQL dan Tutorial

Test Coding Mengelompokan Bilangan Bulat

Test Coding Mengelompokan Bilangan Bulat

Bekerja dengan pemrograman mengharuskan kita untuk memahami terlebih dahulu mengenai logika dan algortima sebelum kita melakukan coding. Coding adalah tahap lanjut yang dimulai setelah tahap desain selesai, pada dasarnya coding yang dilakukan haruslah mengikuti dari desain yang sudah ditentukan agar tercipta standar dan menghasilkan output yang sesuai dengan apa yang dirancang.

Coding adalah suatu cara dalam menyelesaikan permasalahan yang bersifat komputasi maupun logika dengan menggunakan kode dari bahasa pemrograman tertentu. Dalam tutorial kali ini bahasa pemrogramaman yang digunakan adalah bahasa PHP. Biasanya dalam melamar kerja sebagai programmer sering kali calon pelamar diberikan soal sederhana untuk mengkaji sejauh mana pemahamannya mengenai pemrograman. Salah satunya adalah seperti judul kita diatas, yaitu bagaimana mengelompokan bilangan bulat sehingga menjadi seperti yang ada pada gambar berikut ini.



Hasil output tersebut terlihat sederhana namun untuk menciptakan hasil yang seperti itu perlu pemahaman mengenai fungsi string yang ada pada PHP serta konsep looping atau perulangan untuk membuatnya otomatis.
fungsi string yang digunakan ada dua yaitu strlen() dan substr() dimana masing-masing fungsi tersebut mempunyai fungsi tersendiri.

fungsi strlen() adalah untuk mengambil nilai berapa jumlah digit bilangan tersebut. jumlah digit penting diketahui untuk digunakan pada perulangan sehingga kita mengetahui berapa kali perulangan yang terjadi. Dengan menggunakan fungsi strlen() perulangan yang terjadi pasti akan tepat sama dengan jumlah digit dari bilangan tersebut.

Fungsi substr() digunakan untuk menampilkan karakter/bilangan pada posisi tertentu yang dimulai dari kiri ke kanan. ya jika contoh digambar tersebut digitnya ada 7 maka indexing nya adalah 0-6 dimana index 0 adalah digit yang paling kiri dan 6 adalah digit yang paling kanan. jika kita sudah mengetahui konsep perulangannya maka yang perlu dilakukan adalah mengulang sebanyak 7x dari 1-7 namun karakter yang ditampilkan adalah karakter dari index 0-6.

Untuk lebih jelasnya dapat melihat source code dibawah ini:

 <?php  
 $nilai = 2238765;  
 $l = strlen($nilai);  
 echo "Nilai : $nilai <hr>";  
 for($i=$l;$i>=1;$i--)  
 {  
 $letter = substr($nilai, $l-$i,1);  
      for($j=1;$j<=$i-1;$j++)  
      $n .="0"; //jumlah nol sesuai dengan nominalnya  
 echo $letter.$n."<br>"; //gabungkan nilai dengan nol nya  
 $n = ""; //untuk mereset nilai $n agar jumlah nol sesuai  
 }  
 ?>  

Kode tersebut akan menghasilkan output yang sama dengan gambar diatas :) cukup mudah bukan. Namun apabila ada pertanyaan apakah dapat dibuat dinamis dengan pengguna menginput sendiri angka-angkanya? jawabannya tentu bisa. kita hanya perlu menambahkan form input disana agar data di variabel $nilai menjadi dinamais. Kodenya adalah sebagai berikut:

 <?php  
 $nilai = 2238765;  
 $l = strlen($nilai);  
 echo "Nilai : $nilai <hr>";  
 for($i=$l;$i>=1;$i--)  
 {  
 $letter = substr($nilai, $l-$i,1);  
      for($j=1;$j<=$i-1;$j++)  
      $n .="0"; //jumlah nol sesuai dengan nominalnya  
 echo $letter.$n."<br>"; //gabungkan nilai dengan nol nya  
 $n = ""; //untuk mereset nilai $n agar jumlah nol sesuai  
 }  
 ?>  

Kode diatas membuat bilangan yang diinputkan menjadi dinamis dan akan menghasilkan output yang sama namun dengan kondisi bilangan sesuai dengan yang di inputkan oleh pengguna :)

Jika ingin mencobanya secara online dapat dilakukan pada contoh dibawah ini:



Membuat Pola Dinamis Dengan PHP Untuk Melamar Kerja

Membuat Pola Dinamis Dengan PHP Untuk Melamar Kerja

Mempelajari bahasa pemrograman tentunya tidak terlepas dari bagaimana kita memahami logika dan cara kerja program. Seringkali kita memulai pemrograman yang langsung berorientasi pada pengolahan data namun belum memahami bagaimana logika dari pemrograman tersebut dapat bekerja. Melihat dari suatu postingan di onestringlab.com mengenai lowongan kerja bagi developer program yaitu menyelesaikan pola seperti output yang sudah ditentukan tentunya menjadi tantangan tersendiri, karena output sepertinya terlihat mudah namun karena berbasis baris perlu tips dan trik tersendiri agar menghasikan output yang sama.

Test tersebut adalah sebagai berikut:


Pada blog onestringlab contoh kode yang dihasilkan adalah dengan menggunakan bahasa C dengan output yang dapat dilihat dari blog tersebut, Namun penulisnya memberikan informasi bahwa nilai variabel harus kelipatan 4.

Pada tutorial kali ini kita mencoba membuatnya secara dinamis, karena titik tengah adalah 1 bintang maka bilangan yang diinputkan haruslah bilangan ganjil. Pertama-tama kita mencoba untuk menerapkan kode dari onestringlab ke dalam bahasa PHP, hasilnya adalah dibawah ini.

 <?php  
 $l=0;  
 $n=48;  
   for($j=$n+2;$j>1;$j=$j-2){  
     for($m=1;$m<=$l;$m++){  
       printf("&nbsp;&nbsp;");  
     }  
     for($k=1;$k<=($n/2)-($l*2)+1;$k++){  
       printf("*");  
     }  
     if($j>($n/2)){    
       $l++;  
     }else{  
       $l--;  
     }  
     if($l==($n/4)+1){  
       $l=($n/4)-1;  
     }  
     printf("<br>");  
   }   
 ?>  

Ya kita hanya mengganti bagian printf() dengan spasi(&nbsp;&nbsp;) dan ganti baris (<br>) dalam HTML . Outputnya adalah sebagai berikut:


Namun untuk membuatnya dinamis saya mencoba menjabarkan cara lain pembuatan sourcecode programnya agar kita bisa memasukan bilang ganjil berapa saja dan membentuk pola yang sama dengan contoh output diatas. Secara mendasar adalah pola bintang tersebut membentuk piramida terbalik hingga pada perulangan bagian tengah hingga menyisakan 1 bintang. setelah tersisa 1 bintang maka kode tersebut kembali membentuk piramida yang benar dengan 1 bintang tadi sebagai puncaknya. Kerumitannya adalah logika bagaimana program tersebut mengerti bahwa apabila telah mencapai puncak dari pirimida terbalik maka program akan membentuk kembali piramida yang tidak terbalik secara otomatis.

Dengan ketentuan tersebut maka kode yang dihasilkan adalah sebagai berikut:

 <form action="" method="get">  
 <input type="text" name="jml" required placeholder="Masukan angka dan enter">  
 </form>  
 <?php  
   $jml=isset($_GET[jml])?$_GET[jml]:0;  
   if(!empty($_GET[jml])){echo "Pola Dinamis $jml x $jml<br>";}  
   $m=1;  
   $tengah=round($jml/2);  
   for($i=1;$i<=$jml;$i++){   
     if ($i <= $tengah){$selisih=$n-2;$batas = $i;}  
     if ($i > $tengah){$selisih=$n+2;$batas=$tengah-($i-$tengah);  
     }  
   if ($i==$m){$n=$jml;}   
   if ($i<$m) {$n=$selisih;}  
   for($k=1;$k<$batas;$k++){  
     printf("&nbsp;&nbsp;");  
   }   
   for($j=1;$j<=$n;$j++){  
     printf("*");  
   }  
   $m=$i+2;  
   printf("<br>");   
   }   
 ?>  

Yup begitulah sourcecodenya, saya belum yakin apakah kode tersebut telah efisien atau tidak namun output yang dihasilkan apabila angka yang diinputkan adalah bilangan ganjil maka pola yang terbentuk adalah seperti yang diminta pada gambar :) hasilnya dapat dilihat dibawah ini:


Cukup mudah bukan :) apabila ingin mencobanya secara langsung, kita dapat menggunakannya dibawah ini:







Membuat Kuitansi Sederhana Dengan PHP Dan HTML

Membuat Kuitansi Sederhana Dengan PHP Dan HTML

Aplikasi berbasis web dapat digunakan untuk menyelesaikan berbagai macam persoalan yang bisa diselesaikan secara komputasi. Dalam pembuatan kuitansi secara manual kita bisa dengan mudah menuliskan jumlah terbilang dari nominal uang yang telah diterima, namun bagi komputer itu menjadi hal yang tidak terdefinisikan apalagi jika terbilangnya dalam bahasa indonesia.

Baca juga :

Namun demikian bahasa pemrograman memiliki suatu aturan percabangan dengan menggunakan fungsi if. Dasar inilah kita dapat membuat konversi suatu nominal kedalam bahasa indonesia. Untuk fungsi konversi ini kita dapat mencontoh script yang dibuat dengan baik oleh miswanphp10 dalam blognya, sehingga kita dapat mengembangkannya untuk kebutuhan dalam pembuatan kuitansi. Kenapa kuitansi? ya karena ada satu field yang berisi nominal uang yang diterima dalam bahasa indonesia. Kita bisa saja menulisnya secara manual, namun tentunya hal tersebut sangat tidak efisien bukan jika bisa dikerjakan secara terkomputerisasi.

Aplikasi Kuitansi Sederhana Dengan PHP

Berikut ini adalah sourcecode dari aplikasi kuitansi sederhana yang dibuat menggunakan php dan html


<!DOCTYPE html>  
 <html>   
 <head>   
  <title>Membuat Kuitansi Sederhana</title>   
 </head>   
 <body>   
 <?php  
 $no   = isset($_GET['no']) ? $_GET['no'] : "";   
 $nama  = isset($_GET['nama']) ? $_GET['nama'] : "";   
 $pembayaran = isset($_GET['pembayaran']) ? $_GET['pembayaran'] : "";   
 $kota  = isset($_GET['kota']) ? $_GET['kota'] : "";   
 $tanggal = isset($_GET['tanggal']) ? $_GET['tanggal'] : "";   
 $tgl = explode("-", $tanggal);  
 $tglbaru = "$tgl[2]/$tgl[1]/$tgl[0]";  
 $nominal = isset($_GET['nominal']) ? $_GET['nominal'] : "0";   
 if ($nominal)   
 {   
     $uang = number_format($nominal, 0, ',','.') ."</br>";   
     $terbilang = ucwords(''.Terbilang($nominal).'')." Rupiah";   
 }   
 ?>  
 <h2>Aplikasi Kuitansi Sederhana</h2>  
 <hr>  
 <?php if (empty($nominal)) { ?>  
 <form action="" method="get">   
 <table width="100%" border="0">  
  <tr>  
   <td width="100">No.</td>  
   <td><input type="text" name="no"></td>  
  </tr>  
  <tr>  
   <td width="100">Diterima dari</td>  
   <td><input type="text" name="nama" required></td>  
  </tr>  
  <tr>  
   <td width="100">Nominal Uang</td>  
   <td><input type="text" name="nominal" required></td>  
  </tr>  
  <tr>  
   <td width="100">Untuk Pembayaran</td>  
   <td>  
   <textarea name="pembayaran" cols="40" rows="3"></textarea>  
   </td>  
  </tr>  
  <tr>  
   <td width="100">Kota</td>  
   <td><input type="text" name="kota" required></td>  
  </tr>  
  <tr>  
   <td width="100">Tanggal</td>  
   <td><input type="date" name="tanggal" required></td>  
  </tr>  
  <tr>  
   <td width="100"></td>  
   <td><input type="submit" value="Buat Kuitansi"></td>  
  </tr>  
 </table>  
 </form>  
 <?php } ?>  
 <?php if (!empty($nominal)) { ?>  
 <table width="800" border="0" cellpadding="4" cellspacing="0" style="border: 1px solid #000;">  
 <tr>  
   <td rowspan="6" width="120" style="border-right:1px solid #000;"> </td>  
   <td width="150" valign="top" > No </td>  
   <td valign="top" > : <?php echo $no;?> </td>  
 </tr>  
 <tr>  
   <td valign="top" > Telah Diterima Dari </td>  
   <td valign="top" > : <?php echo $nama;?> </td>  
 </tr>  
 <tr>  
   <td valign="top" > Uang Sejumlah </td>  
   <td valign="top" > : <?php echo $terbilang;?></td>  
 </tr>  
 <tr>  
   <td valign="top" > Untuk Pembayaran </td>  
   <td valign="top" > : <?php echo $pembayaran;?></td>  
 </tr>  
 <tr>  
   <td valign="bottom"> <h3>Rp <?php echo $uang;?> </h3> </td>  
   <td valign="top" align="right" height="100"> <?php echo "$kota, $tglbaru";?> </td>  
 </tr>  
 </table>  
 <style>  
 a { text-decoration: none; color: #0903E8; font-family: verdana; }  
 a:hover { color: #FA3C3C; }  
 </style>  
 <a href="index.php">Kembali</a>  
 <?php } ?>  
 </body>   
 </html>   
 <?php  
 //thanks to miswanphp10.blogspot.co.id   
 function Terbilang($x)   
 {   
  $bilangan = array("", "Satu", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh", "Delapan", "Sembilan", "Sepuluh", "Sebelas");   
  if ($x < 12)   
   return " " . $bilangan[$x];   
  elseif ($x < 20)   
   return Terbilang($x - 10) . "belas";   
  elseif ($x < 100)   
   return Terbilang($x / 10) . " Puluh" . Terbilang($x % 10);   
  elseif ($x < 200)   
   return " seratus" . Terbilang($x - 100);   
  elseif ($x < 1000)   
   return Terbilang($x / 100) . " Ratus" . Terbilang($x % 100);   
  elseif ($x < 2000)   
   return " seribu" . Terbilang($x - 1000);   
  elseif ($x < 1000000)   
   return Terbilang($x / 1000) . " Ribu" . Terbilang($x % 1000);   
  elseif ($x < 1000000000)   
   return Terbilang($x / 1000000) . " Juta" . Terbilang($x % 1000000);    
 }   
 ?>   

Simpan kode tersebut diatas dengan nama index.php atau nama lain terserah yang anda inginkan. kemudian jalankan menggunakan localhost maupun secara hosting. Perlu diketahui juga aplikasi ini tidak menggunakan database, yaitu hanya melakukan proses dari data-data yang diinputkan oleh pengguna.

Hasil live dapat dilihat dibawah ini


Membuat Aplikasi Untuk Menentukan Bilangan Ganjil/Genap Dengan PHP

Membuat Aplikasi Untuk Menentukan Bilangan Ganjil/Genap Dengan PHP

Pemrogoraman PHP memungkinkan pengguna untuk melakukan pengolahan data dengan fungsi-fungsi yang ada pada PHP. Suatu bilangan pada dasarnya terdiri dari bilangan bulat dan bilangan pecahan dimana masing-masing diwakili oleh tipe data integer dan float/double. Namun dalam konsep matematika juga dikenal secara sederahana yaitu bilangan ganjil dan bilangan genap. Secara singkat setiap individu dimungkinkan mengetahui perbedaan antara bilangan ganjil dan genap, misalnya jika disebutkan suatu angka seperti 124 maka kita akan yakin bahwa itu adalah bilangan ganjil dan jika disebutkan 37 maka kita juga yakin bahwa itu adalah bilangan ganjil.

Baca juga :

http://www.belajarwebpedia.com/2017/10/membuat-aplikasi-untuk-menentukan-bilangan-ganjil-genap-dengan-php.html
image source: oriolebeachel.com

Kondisi diatas sangat mudah dilakukan oleh setiap pengguna karena kita telah terbiasa secara mendasar untuk mengetahui jenis suatu bilangan. Namun demikian tidak bagi komputer yang hanya mengenal bahwa kedua angka tersebut yaitu 124 dan 37 adalah sama-sama bilangan bulat atau integer dan tidak diketahui apakah itu ganjil atau genap. Pada aplikasi kali ini kita belajar untuk membuat suatu aplikasi dimana komputer dapat mengetahui suatu bilangan yang diinputkan oleh pengguna apakah merupakan bilangan ganjil atau genap.

Sebelum memulai melakukan coding maka kita pahami terlebih dahulu apa itu sesungguhnya bilangan ganjil maupun genap. Pada dasarnya penentuan bilangan ganjil dan genap didasarkan pada pembagian modulus atau pembagian sisa dimana suatu pembagian yang berfokus pada sisa hasil pembagian. Dalam kasus ini suatu bilangan yang habis dibagi 2 adalah merupakan bilangan genap jika tidak atau bersisa 1 maka merupakan bilangan ganjil. Bagaimana sih pembagian sisa itu? dapat dilihat dari contoh dibawah ini.


 Rumus : A%2 = B sisa C dimana ekuivalen dengan  Bx2 + S = A
 -----------------------------------------------------------
 4%2 = 2 sisa 0  
 why -> 2x2 + 0 = 4  
 5%2 = 2 sisa 1  
 why -> 2x2 + 1 = 5  
 6%2 = 3 sisa 0  
 why -> 3x2 + 0 = 6  
 7%2 = 3 sisa 1  
 why -> 3x2 + 1 = 7  
 17%2 = 8 sisa 1  
 why? sudah taukan jawabannya :)

Demikian penjelasan dasarnya dimana simbol pembagian modulus menggunakan % (persen) dan hasil dari pembagian tersebut adalah sisa pembagiannya jadi jika:

 Contoh:
 4%2 = 0
 11%2 = 1

Yak sisa dari pembagian tersebutlah yang menjadi output dari pembagian modulus, lalu bagaimana kita menerapkannya kedalam aplikasi sederhana dapat dilihat dari algoritma berikut ini:

1. Inisiasi form awal
2. Input data bilangan
3. Pengecekan apakah data yang diinput kosong atau tidak jika kosong maka kelangkah 6 jika tidak lanjut ke langkah 4
4. melakukan pembagian modulus 2 terhadap bilangan yang diinputkan
5. pengecekan hasil dan menampilkan output
5.1. jika hasil pembagian bernilai 0 maka tampilkan output bilangan genap dan lanjut ke langkah 6
5.2. jika hasil pembagian bernilai 1 maka tampilkan output bilangan ganjil dan lanjut ke langkah 6
6. Apakah ingin mengulang ? jika ya maka kembali kelangkah 1 jika tidak maka selesai

Baca juga: Kegunaan If Else Pada PHP


Cukup mudah bukan? jika kita sudah memahami algoritma diatas maka tinggal melakukan pengkodean menggunakan PHP yang dapat dilihat dari kode berikut ini:

<h2>Aplikasi PHP & HTML</h2>  
 <b>Menentukan Bilangan Ganjil/Genap</b>  
 <hr>  
 <!-- menggunakan variabel $_GET[] -->  
 <form action="" method="get">  
 <input type="text" name="bil" placeholder="Bilangan">  
 <input type="submit" value="Cek">  
 </form>  
 <?php  
 $bil = $_GET[bil];  
 if(!empty($bil))  
 {  
 //gunakan pembagian sisa atau modulus  
 $hasil = $bil%2;  
 // % adalah pembagian sisa dimana jika hasilnya 1 maka ganjil jika 0 maka genap  
      if ($hasil == 0) { echo "Bilangan $bil adalah bilangan <b>Genap</b>"; }  
      if ($hasil == 1) { echo "Bilangan $bil adalah bilangan <b>Ganjil</b>"; }  
 }  
 ?>  
 <hr>  
 <a href="index.php">  
 <button>RESET</button>  
 </a>  

Kita Menggunakan variabel GET untuk mengirim bilangan yang diinputkan pengguna, serta membuat sebuah tombol reset untuk mengulang kembali pengecekan bilangan ganjil dan genap. Berikut adalah hasil dari kode diatas, selamat mencoba :)

Live Preview

Back To Top