Tampilan Program Contoh Penanganan PHP

Contoh Program Penanganan Array di PHP

Array di PHP merupakan hal yang penting. Dalam praktiknya, array hampir selalu digunakan. Misalnya saja pada proses penanganan form, nilai inputan yang berasal dari form akan tersimpan di sebuah predefined-array $_POST atau $_GET. Variabel lainnya seperti $_FILES, $_SESSION, $_COOKIE dan $_SERVER juga merupakan array. Dalam pengambilan data dari basis data, umumnya juga dalam bentuk array. Kita mengenal fungsi mysql_fetch_array() untuk menyimpan hasil perintah query dari database.

Dalam contoh program berikut ini, saya akan mencoba menggunakan beberapa fungsi array  untuk menyelesaikan suatu kasus. Kebetulan kasus yang akan kita coba merupakan pertanyaan dari salah satu pengunjung situs achmatim.net ini. Berikut ini kutipan pertanyaannya:

Mas bisa tidak bantu mengenai string sepertinya :
 Jadi didalam table inbox kolom nominal ada isinya : 234,33,4567,32,456,78
 Kemudian saya ingin menampilkan angka2 tersebut dalam table di web berdasarkan digit nya.
 Jadi pada table kolom 2 digit isinya : 33 32 78
 terus pada kolom 3 digit isinya : 234 456
 dan pada kolom 4 digit isinya : 4567
 Script nya gimana yach untuk menampilkan hal tersebut, dengan catatatn  jika ada beberapa angka tidak ditampilkan kesamping tapi ditaro  dibawahnya.
 Mohon bantuan penerangannya yach mas, sebelumnya Thxz.

Dalam kasus tersebut, intinya diinginkan agar dari serangkaian angka (nilai) dikelompokkan berdasarkan jumlah digitnya dan ditampilkan di tabel. Untuk keperluan contoh ini, kita tidak menggunakan database, namun nilai yang akan dikelompokkan kita definisikan secara manual.

Berikut ini garis besar (algoritma) alur program yang dapat digunakan untuk menyelesaikan kasus tersebut. Dalam kasus ini, saya tidak terlalu memikirkan efektifitas dan optimalitas dari algoritma yang digunakan, namun lebih pada pembelajaran mengenai array beserta fungsi-fungsinya.

  • Pertama, kita akan lakukan inisialisai (pemberian nilai) kumpulan angka yang akan diperiksa. Sesuai permintaan dalam kasus tersebut, kumpulan angka masih tersimpan dalam bentuk string.
  • Ubah string ke dalam bentuk array. Kita akan gunakan fungsi explode() dari PHP untuk mengubah string ke dalam bentuk array dengan pola tertentu.
  • Bentuk array dua dimensi yang mengelompokkan berdasarkan jumlah digit setiap angka.
  • Transposisikan array dua dimensi yang terbentuk sedemikian hingga posisi baris menjadi kolom. Hal ini dimaksudkan agar pengelompokkan berada di setiap kolom
  • Tampilkan array ke dalam tabel HTML.

Dan berikut ini source program lengkapnya:

  1. <?php
  2. /*
  3.  * @description: contoh program penanganan array.
  4.  * STUDI KASUS: Mas bisa tidak bantu mengenai string sepertinya :
  5. Jadi didalam table inbox kolom nominal ada isinya : 234,33,4567,32,456,78
  6. Kemudian saya ingin menampilkan angka2 tersebut dalam table di web berdasarkan digit nya.
  7. Jadi pada table kolom 2 digit isinya : 33 32 78
  8. terus pada kolom 3 digit isinya : 234 456
  9. dan pada kolom 4 digit isinya : 4567
  10. Script nya gimana yach untuk menampilkan hal tersebut, dengan catatatn jika ada beberapa angka tidak ditampilkan kesamping tapi ditaro dibawahnya.
  11. Mohon bantuan penerangannya yach mas, sebelumnya Thxz.
  12.  * @author: Achmad Solichin (http://achmatim.net)
  13.  * @date: 05/10/2010 @ Surabaya
  14.  * */
  15.  
  16. $string = "234,33,4567,29,1,2,4,32,456,78,1239,8765";
  17.  
  18. #bentuk array berdasarkan pattern , (koma)
  19. $arr_string = explode(",", $string);
  20.  
  21. #ambil nilai terkecil dan terbesar dari array
  22. $min_val = min($arr_string);
  23. $max_val = max($arr_string);
  24.  
  25. #urutkan array secara ascending
  26. sort($arr_string);
  27.  
  28. #bentuk array 2 dimensi, index array diambil dari jumlah digit
  29. $arr = array();
  30. foreach ($arr_string as $nilai) {
  31. $index = strlen($nilai);
  32. $arr[$index][] = $nilai;
  33. }
  34.  
  35. //echo '<pre>'; print_r($arr); echo '</pre>';
  36.  
  37. #tranposisikan array. proses ini diambil dari http://stackoverflow.com/questions/797251/transposing-multidimensional-arrays-in-php
  38. $new_arr = array();
  39. foreach ($arr as $key => $subarr) {
  40. foreach ($subarr as $subkey => $subvalue) {
  41. $new_arr[$subkey][$key] = $subvalue;
  42. }
  43. }
  44. //echo '<pre>'; print_r($new_arr); echo '</pre>';
  45.  
  46. #tampilkan array dalam bentuk tabel
  47. echo "String = $string<br/>";
  48. $tabel = "<table border=1>";
  49.  
  50. #buat header tabel
  51. $tabel .= "<tr>";
  52. for ($i = strlen($min_val); $i<= strlen($max_val); $i++) {
  53. $tabel .= "<th>$i DIGIT</th>";
  54. }
  55. $tabel .= "</tr>";
  56.  
  57. #tampilkan isi datanya
  58. foreach ($new_arr as $baris) {
  59. $tabel .= "<tr>";
  60. for ($i = strlen($min_val); $i<= strlen($max_val); $i++) {
  61. if (isset($baris[$i])) {
  62. $tabel .= "<td>".$baris[$i]."</td>";
  63. } else {
  64. $tabel .= "<td>&nbsp;</td>";
  65. }
  66. }
  67. $tabel .= "</tr>";
  68. }
  69.  
  70. $tabel .= "</table>";
  71. echo $tabel;
  72. ?>

Berikut ini hasil tampilannya

Tampilan Program Contoh Penanganan PHP

Selamat mencoba, semoga bermanfaat untuk kita semua.

Berbagi itu indah...Share on Facebook0Share on Google+0Tweet about this on TwitterShare on LinkedIn0Pin on Pinterest0Digg this

12 comments

  1. artikel sgt berguna, meski agak sulit dipahami, khususnya saya yg masih pemula.
    mg tetap exist selalu dalam memberikan pencerahan. Terima kasih

  2. bagaimana cara mengirim dan menerima data yg berbentuk array (hasil seleksi tabel) ke dalam form lain??

  3. pak mau tanya dikit,
    misalnya ada contoh array seperti ini:

    $x= array ( array (“kode”=>”1″, “nama”=>”mangga”, “harga”=>”5000″);
    array (“kode”=>”2″, “nama”=>”jeruk”, “harga”=>”4000″));

    misalnya angka 1diinputkan dari form maka outputnya :
    nama harga
    mangga 5000

    dan seandainya ada dua form inputan kode maka scriptnya bagaimana pak..
    mohon pencerahannya pak,trimakasih.

  4. mas/pak saya mau tanya kalau arraynya bertingkat sampai 3 tingkat gimana cara mengambil nilainya?
    Misalnya array=(
    ‘blahblah’ = array(),
    ‘blahblah’ = array(),
    ‘blahblah’ = array(),

    );

  5. Pak mau tanya. kalau mau menampilkan data
    didalam textarea >> #nim#nama#kelas#jur#alamat#
    terus pake metode post
    dan kalau dimasukkan sebanyak 10 baris juga harus tampil 10 baris di dalam sebuah tabel .

  6. Pak mau tanya kalo untuk menampilkan nilai hasilnya seperti ini
    80 90 65 75 100
    Bukan seperti ini
    80
    90
    65
    75
    100
    Gimana ya

Leave a Reply

Your email address will not be published. Required fields are marked *