47 Logical Operators Terdapat beberapa operator lain yang dapat kita gunakan untuk menetapkan logika yang lebih kompleks, yakni dengan logical operators. Dengan logical operator kita dapat menggunakan kombinasi dari dua nilai boolean atau bahkan lebih dalam menetapkan logika. Pada JavaScript terdapat tiga buah karakter khusus yang berfungsi sebagai logical operator, berikut macam-macam logical operator dan fungsinya: Operator Fungsi && Operator dan (and), logika akan menghasilkan true apabila semua kondisi terpenuhi (bernilai true). || Operator atau (or), logika akan menghasilkan true apabila ada salah satu kondisi terpenuhi (bernilai true). ! Operator tidak (not), digunakan untuk membalikan suatu kondisi. Berikut contoh penerapannya pada JavaScript: let a = 10; let b = 12; /* AND operator */ console.log(a < 15 && b > 10); // (true && true) -> true console.log(a > 15 && b > 10); // (false && true) -> false /* OR operator */ console.log(a < 15 || b > 10); // (true || true) -> true console.log(a > 15 || b > 10); // (false || true) -> true /* NOT operator */ console.log(!(a < 15)); // !(true) -> false console.log(!(a < 15 && b > 10)); // !(true && true) -> !(true) -> false Mungkin sebagian dari kita bertanya, sebenarnya apa kegunaan dari nilai boolean selain hanya menampilkan nilai true dan false saja? Pada pembahasan tipe data sudah
48 pernah disebutkan bahwa boolean merupakan salah satu kunci dari logika pemrograman, karena boolean dapat mengontrol aliran pada program. Lantas bagaimana cara boolean mengontrol sebuah aliran program? Pada bab selanjutnya, kita akan membahas mengenai if/else statement yang dapat mengontrol flow pada program, tentunya pada penggunaan statement ini boolean sangat berperan. 3.8. If/Else Statement Ketika mengembangkan sebuah program tentu terdapat alur atau flow proses ketika kode dijalankan. Kita dapat mengontrol alur program ketika suatu kondisi terjadi, misalkan jika nilai x > 5 maka program harus melakukan statement a. Jika tidak, program akan menjalankan statement b. Untuk melakukan hal tersebut, kita dapat menggunakan if/else statement. If/else statement dapat digambarkan seolah-olah kita memberikan pertanyaan benar atau salah pada JavaScript, lalu memberikan perintah sesuai jawaban dari pertanyaan tersebut. Contohnya, terdapat variabel x dengan nilai 50, kemudian kita bertanya “Hai JavaScript! Apakah x lebih dari 70?” jika kondisi tersebut benar, maka kita dapat memerintahkan JavaScript untuk menampilkan nilainya. Jika salah, kita perintahkan JavaScript untuk menampilkan teks “Nilai kurang dari 70”. Skenario tersebut dapat dituliskan pada dalam bentuk kode pada JavaScript seperti berikut: let let x = 50; if(x > 70) { console.log(x); } else { console.log("Nilai kurang dari 70"); } Pada kode di atas, kita menggunakan kata kunci if untuk memberikan pertanyaan pada JavaScript. Pertanyaan tersebut berupa logical statement yang sudah kita pelajari pada materi sebelumnya. Logical statement pada if ditulis di dalam tanda kurung (parentheses). Jika logical statement tersebut menghasilkan true, maka JavaScript akan mengeksekusi kode yang berada di
49 dalam block if. Jika logical statement menghasilkan nilai false, maka kode yang pada block else lah yang akan dieksekusi. Block else bersifat opsional untuk dituliskan, hal tersebut berarti kita tidak perlu menuliskannya jika tidak kita manfaatkan. Contohnya: let language = "English"; let greeting = "Selamat Pagi!" if(language === "English") { greeting = "Good Morning!"; } console.log(greeting); Pada kode di atas, nilai greeting memiliki nilai standar “Selamat Pagi!” tetapi akan ditampilkan b erbeda jika language memiliki nilai “English”, pada kasus ini kita tidak perlu menuliskan block els e. Kita juga dapat memberikan lebih dari satu pertanyaan pada if statement dengan kata lain, kita d apat memberikan lebih dari satu kondisi dengan menggabungkan keyword else dan if seperti ber ikut: let language = "French"; let greeting = "Selamat Pagi" if(language === "English") { greeting = "Good Morning!"; } else if(language === "French") { greeting = "Bonjour!" } else if(language === "Japanese") { greeting = "Ohayogozaimasu!" } console.log(greeting); Dengan mengubah nilai dari variabel language ke nilai yang lain seperti “English” atau “Japane se” maka pesan yang ditampilkan pada console akan ikut berubah.
50 3.9. Loop Sejauh ini kita sudah mengenal array sebagai tempat untuk menyimpan banyak data. Ada beberapa kasus dimana kita ingin memeriksa setiap item dalam sebuah array dan melakukan sesuatu dengannya, tetapi kita tidak ingin menuliskan seluruh daftar nilai pada array secara manual, dan menyibukkan diri untuk melakukan hal yang berulang. Maka dari itu kita perlu mempelajari teknik yang dapat mengatasi permasalahan tersebut, teknik ini disebut dengan loops. For loop Terdapat beberapa cara dalam melakukan proses loop pada JavaScript, namun “for” merupakan salah satu cara yang banyak digunakan. Struktur dasar dari for tampak seperti berikut: 1. for(inisialisasi variabel; test kondisi; perubahan nilai variabel) { 2. // do something 3. } Dan berikut contoh penerapan for secara nyata: for(let i = 0; i < 5; i++) { console.log(i); } Mungkin kode tersebut sulit dipahami jadi mari kita bahas sedikit demi sedikit. Yang pertama adalah for(), kita memanggil for statement di mana kita memerintahkan JavaScript seperti ini: “Hai JavaScript! Lakukan perulangan jika kondisi ini benar”, selanjutnya tentu kita membutuhkan sebuah kondisi untuk dievaluasi. Namun sebelum memberikan kondisi, kita dapat membuat sebuah variabel i sebagai index iterasi dengan memberikan nilai 0 (let i = 0;). Mengapa kita memberikan nilai 0 pada variabel i? Karena ini merupakan sebuah habit dimana perhitungan perulangan dimulai dari 0, begitu juga dengan indexing pada array. Lalu i < 5; merupakan sebuah kondisi dimana jika kondisinya terpenuhi proses looping akan dijalankan. Jadi jika kita memberikan kondisi seperti ini: i < 5; maka proses looping akan terjadi sebanyak 5 kali. Dan terakhir i++; menunjukan perubahan nilai variabel i di setiap proses perulangan terjadi. Biasanya perubahan merupakan increment ataupun decrement dari variabel yang kita tetapkan sebelumnya (variabel i). Jika kita tidak menetapkan perubahan nilai, proses perulangan dapat berjalan selamanya! Karena kondisi akan terus terpenuhi.
51 Lalu { console.log(i); } merupakan statement yang akan dieksekusi pada setiap proses loop. Kita dapat menuliskan banyak statement di sini selama berada di dalam tanda { }. Pada kode tersebut kita memerintahkan JavaScript untuk menampilkan nilai i pada setiap proses perulangan. Sehingga output akan menghasilkan deretan angka dari 0 hingga 4. Huft, cukup panjang untuk memahami for loops, mari kita kembali ke tujuan awal, lantas bagaimana cara memeriksa item dalam array dengan menggunakan for loop? Kita dapat melakukannya dengan seperti ini: for(let i = 0; i < myArray.length; i++) { console.log(myArray[i]); } Mudah kan? Kita gunakan i < myArray.length sebagai batasan pada proses looping, sehingga proses looping tidak lebih dari panjang array. Kemudian untuk mengakses index array kita manfaatkan nilai variabel i, dimana variabel i ini terus bertambah nilainya pada tiap proses loop, sehingga kita bisa mengakses tiap index pada array secara otomatis. For of loop Cara lain dalam melakukan looping adalah menggunakan for..of. For of mulai hadir pada ECMAScript 2015 (ES6). Cara ini jauh lebih sederhana dan modern dibanding for loop biasa. Struktur dasar dari for of loop nampak seperti ini: 1. for(arrayItem of myArray) { 2. // do something 3. } Yups, for of tidak membutuhkan banyak statement untuk melakukan proses looping pada array. Dengan for..of, nilai tiap array akan diinisialisasi pada variabel baru yang kita tentukan pada tiap proses looping-nya. Jumlah proses looping nya pun akan menyesuaikan dengan ukuran dari array. Sederhananya seperti kita melakukan perintah “Hei JavaScript! Lakukan perulangan pada myArray, akses tiap nilainya dan simpan pada variabel arrayItem”. Pada proses looping kita gunakan variabel arrayItem untuk mengakses tiap nilai dari item myArray. Agak sulit memang menjelaskan dengan kata-kata, mari kita terjemahkan dalam kode secara langsung. for (const arrayItem of myArray) { console.log(arrayItem) }
52 5.10. Function Tanpa kita sadari sebenarnya kita sudah menggunakan sebuah fungsi pada contoh kode yang ada sebelumnya. console.log() (lebih tepatnya pada log()) merupakan sebuah function yang berfungsi untuk menampilkan data pada console browser. Tapi sebenarnya apa itu function? Bagaimana ia bisa bekerja? Function atau fungsi merupakan potongan kecil kode yang tidak akan dieksekusi sebelum dipanggil. Contoh lain fungsi JavaScript yang sudah ada pada browser adalah alert(). Ia bertujuan untuk menampilkan pesan dalam bentuk pop up dialog. Fungsi tersebut sudah ada pada browser dan akan muncul hanya ketika kita menggunakan/memanggilnya dengan alert(). Atau dalam arti lain, kita dapat berfikir bahwa function merupakan sebuah variabel yang berisi block logika, dan block logika tersebut akan dieksekusi ketika variabelnya dipanggil. Semua fungsi memiliki struktur yang sama. Nama fungsi selalu diikuti dengan tanda kurung (parentheses) tanpa spasi, lalu terdapat sepasang kurung kurawal yang berisi logika dari fungsi tersebut. Terkadang di dalam tanda kurung kita membutuhkan sebuah informasi tambahan yang disebut dengan arguments. Argument merupakan data yang digunakan pada fungsi yang dapat mempengaruhi perilaku dari fungsinya tersebut. Contoh, fungsi alert() dapat menerima argument string yang digunakan untuk menampilkan teks pada dialog. Berikut merupakan ilustrasi dari struktur fungsi. Terdapat dua tipe fungsi pada JavaScript, yakni native function dan custom function. Native function merupakan fungsi yang sudah terdapat pada JavaScript atau Browser sehingga kita tidak perlu membuat hanya tinggal menggunakan saja. Contohnya alert(), confirm(), Date(), parseInt() dll. Sebenarnya terdapat ratusan native function yang tersedia.
53 Custom function merupakan fungsi yang kita buat sendiri, tentu custom function dibuat menyesuaikan kebutuhan kita. Untuk membuat sebuah custom function, kita perlu menuliskan keyword function dilanjutkan dengan menuliskan seluruh struktur fungsinya. 1. function greeting() { 2. console.log("Good Morning!") 3. } Kemudian kita dapat memanggil fungsinya tersebut dengan menggunakan greeting(). function greeting() { console.log("Good Morning!") } greeting(); Tetapi jika sebuah fungsi hanya menjalankan baris kode secara sama dirasa kurang fungsional bu kan? Kita dapat membuat fungsi tersebut untuk menerima argumen dan memanfaatkan argume n untuk mengubah perilaku dari fungsinya. Untuk menambahkan argument pada fungsi, tambahkan variabel di dalam tanda kurung fungsi n amun variabel tersebut tidak memerlukan keyword var, let, ataupun const. Kita juga bisa menam bahkan lebih dari satu argumen dengan memberikan tanda koma antar variabel argumennya. Co ntohnya fungsi greeting akan kita ubah dengan menambahkan argument, sehingga akan nampa k seperti ini: 1. function greeting(name, language) { 2. if(language === "English") { 3. console.log("Good Morning " + name + "!"); 4. } else if (language === "French") { 5. console.log("Bonjour " + name + "!"); 6. } else { 7. console.log("Selamat Pagi " + name + "!"); 8. } 9. } Sehingga dalam memanggilnya pun kita perlu mengirimkan dua buah nilai pada fungsinya seperti berikut: function greeting(name, language) { if(language === "English") { console.log("Good Morning " + name + "!"); } else if (language === "French") { console.log("Bonjour " + name + "!"); } else { console.log("Selamat Pagi " + name + "!"); } } greeting("Harry", "French");
54 Satu hal lagi, function dapat mengembalikan sebuah nilai. Hal ini benar-benar sangat berguna da n membuat kita lebih mudah. Dengan nilai kembalian, kita dapat membuat function yang berfun gsi untuk melakukan perhitungan matematika dan hasilnya dapat langsung kita masukkan ke dal am sebuah variabel. Contohnya seperti ini: function multiply(a, b) { return a * b; } let result = multiply(10, 2) console.log(result) Untuk membuat nilai kembalian dari fungsi gunakan keyword return diikuti dengan nilai yang akan dikembalikan. Nilai kembalian tidak hanya number, bisa saja berupa string, boolean, objek ataupun array. Seperti inilah fungsi greeting() jika kita ubah dengan menetapkan dengan nilai kembalian string: function greeting(name, language) { if(language === "English") { return "Good Morning " + name + "!"; } else if (language === "French") { return "Bonjour " + name + "!"; } else { return "Selamat Pagi " + name + "!"; } } let greetingMessage = greeting("Harry", "French"); console.log(greetingMessage); Yang perlu kita perhatikan lagi, ketika statement return tereksekusi, maka fungsi akan langsung terhenti dan mengembalikan nilai RANGKUMAN JavaScript merupakan bahasa pemrograman client-side sehingga seluruh prosesnya berjalan pada sisi pengguna bukan server. JavaScript diperlukan pada pengembangan website ketika kita membutuhkan suatu interaksi dari pengguna. Sesungguhnya website hanya menampilkan konten yang statis jika hanya menggunakan HTML dan CSS. Terdapat beberapa versi dari JavaScript. Pada tahun 2000 - 2010, ECMAScript 3 merupakan versi yang banyak digunakan ketika JavaScript sedang mendominasi. Selama waktu tersebut, ECMAScript 4 sedang dalam proses pengembangan dengan harapan akan memberikan improvisasi yang cukup signifikan, namun ambisi tersebut tidak berjalan mulus sehingga pada tahun 2008 pengembangan ECMAScript 4 ditinggalkan.
55 A. Pilihlah jawaban yang paling benar! 1. Di dalam sebuah kode script ada tertulis seperti ini <input type=”button” value=”klik disini” onclick=”klik()”, event(kejadian) apa yang digunakan dalam kode script tersebut … a. Alert b. onmouseout c. confirm d. onclik e. document 2. Untuk menuliskan komentar dalam satu baris didalam javascript kita menggunakan ? a. //komentar // b. //komentar */ c. /* komenta d. \\ komentar \\ e. ./komentar 3. Script dari javasscript dapat di tempatkan pada : a. Body, Header, Title b. Header, Title, Html c. Title, Body, External Fil d. Body, Header, External File e. Body 4. Perhatikan kode program dibawah ini dengan seksama! <script language=”javascript”> Var a=12; Var b=4; Function pd2(b) { Var a=b*2; return a; } document.write(“Dua kali dari “,b,” adalah “,pd2(b)); document.write(“Nilai dari a adalah”, a); </script> Uji Kompetensi
56 Dari kode skrip diatas, maka hasilnya adalah ..... a. Dua kali dari 4 adalah 8 , Nilai dari a adalah 12 b. Dua kali dari 4 adalah 8, Nilai dari a adalah 4 c. Dua kali dari 2 adalah 4, Nilai dari a adalah 12 d. Dua kali dari 2 adalah 4, Nilai dari a adalah 12 e. Dua kali dari 4 adalah 8, Nilai dari a adalah 8 5. Masih Berhubungan dengan kode program pada nomor 22, apabila kode program pada baris ke 5 Var a = b * 2 ; diganti dengan a = b * 2 ; , maka hasilnya adalah .... a. Dua kali dari 4 adalah 8, Nilai dari a adalah 12 b. Dua kali dari 2 adalah 4, Nilai dari a adalah 12 c. Dua kali dari 4 adalah 8, Nilai dari a adalah 8 d. Dua kali dari 4 adalah 8, Nilai dari a adalah 4 e. Dua kali dari 2 adalah 4, Nilai dari a adalah 12 6. Di dalam javascript kita hanya bisa memanipulasi empat jenis data. Dibawah ini merupakan keempat jenis data tersebut, kecuali : a. Jenis data fungsi b. Jenis data Boolean (true atau false) c. Jenis data null (tidak ada data didalamnya) d. Jenis data bilangan (integer atau float) e. Jenis data kata (string) 7. Tahun berapakah javascript pertama kali diperkenalkan oleh netscape … ? a. 1945 b. 1985 c. 1995 d. 1975 e. 2005 8. Untuk menuliskan komentar lebih dari satu baris didalam javascript kita menggunakan … ? a. // komentar // b. \\ komentar \\ c. // komentar */ d. \* komentar */ e. /* komentar */
57 9. Pendeklarasian variabel dijavascript dapat dilakukan dengan dua cara, antara lain dengan menuliskan kata kunci var kemudian diikuti dengan nama variabel dan nilai dari variabelnya. Cara pendeklarasian seperti ini disebut secara : a. Implisit b. Deduktif c. Explisit d. Variatif e. Variabel 10. Pendeklarasian variabel dijavascript dapat dilakukan dengan dua cara, antara lain dengan tidak menuliskan kata kunci var kemudian diikuti dengan nama variabel dan nilai dari variabelnya. Cara pendeklarasian seperti ini disebut secara : a. Implisit b. Deduktif c. Explisit d. Variatif e. Variabel B. Soal Uraian! Uraikanlah jawaban dari pertanyaan berikut dengan benar! 1. Di manakah tempat yang tepat untuk memasukkan JavaScript? … 2. Apa sintaks yang benar untuk merujuk ke skrip eksternal yang disebut "map.js" … 3. Bagaimana Anda menulis "Hello World" di kotak peringatan? … 4. Peristiwa apa yang terjadi ketika pengguna mengklik elemen HTML? … 5. Operator mana yang digunakan untuk menetapkan nilai ke variabel? … 4.1. Pengertian dan Fungsi PHP dalam Pemograman Web Pengertian PHP PHP adalah bahasa pemrograman script server-side yang didesain untuk pengembangan web. Selain itu, PHP juga bisa digunakan sebagai bahasa pemrograman umum. PHP di kembangkan pada tahun 1995 oleh Rasmus Lerdorf, dan sekarang dikelola oleh The PHP Group. Bab 4. PENGENALAN PHP
58 PHP disebut bahasa pemrograman server side karena PHP diproses pada komputer server. Hal ini berbeda dibandingkan dengan bahasa pemrograman client-side seperti JavaScript yang diproses pada web browser (client). Pada awalnya PHP merupakan singkatan dari Personal Home Page. Sesuai dengan namanya, PHP digunakan untuk membuat website pribadi. Dalam beberapa tahun perkembangannya, PHP menjelma menjadi bahasa pemrograman web yang powerful dan tidak hanya digunakan untuk membuat halaman web sederhana, tetapi juga website populer yang digunakan oleh jutaan orang seperti wikipedia, wordpress, joomla, dll. Saat ini PHP adalah singkatan dari PHP: Hypertext Preprocessor, sebuah kepanjangan rekursif, yakni permainan kata dimana kepanjangannya terdiri dari singkatan itu sendiri: PHP: Hypertext Preprocessor. PHP dapat digunakan dengan gratis (free) dan bersifat Open Source. PHP dirilis dalam lisensi PHP License, sedikit berbeda dengan lisensi GNU General Public License (GPL) yang biasa digunakan untuk proyek Open Source. Kemudahan dan kepopuleran PHP sudah menjadi standar bagi programmer web di seluruh dunia. Menurut wikipedia pada februari 2014, sekitar 82% dari web server di dunia menggunakan PHP. PHP juga menjadi dasar dari aplikasi CMS (Content Management System) populer seperti Joomla, Drupal, dan WordPress. Fungsi PHP Dalam Pemrograman Web Untuk membuat halaman web, sebenarnya PHP bukanlah bahasa pemrograman yang wajib digunakan. Kita bisa saja membuat website hanya menggunakan HTML saja. Web yang dihasilkan dengan HTML (dan CSS) ini dikenal dengan website statis, dimana konten dan halaman web bersifat tetap. Sebagai perbandingan, website dinamis yang bisa dibuat menggunakan PHP adalah situs web yang bisa menyesuaikan tampilan konten tergantung situasi. Website dinamis juga bisa menyimpan data ke dalam database, membuat halaman yang berubah-ubah sesuai input dari user, memproses form, dll. Untuk pembuatan web, kode PHP biasanya di sisipkan ke dalam dokumen HTML. Karena fitur inilah PHP disebut juga sebagai Scripting Language atau bahasa pemrograman script. Sebagai contoh penggunaan PHP, misalkan kita ingin membuat list dari nomor 1 sampai nomor 10. Dengan menggunakan HTML murni, kita bisa membuatnya secara manual seperti kode berikut ini: <!DOCTYPE html> <html> <head> <title>Contoh list dengan HTML</title> </head> <body> <h2>Daftar Absensi Mahasiswa</h2> <ol> <li>Nama Mahasiswa ke-1</li>
59 <li>Nama Mahasiswa ke-2</li> <li>Nama Mahasiswa ke-3</li> <li>Nama Mahasiswa ke-4</li> <li>Nama Mahasiswa ke-5</li> <li>Nama Mahasiswa ke-6</li> <li>Nama Mahasiswa ke-7</li> <li>Nama Mahasiswa ke-8</li> <li>Nama Mahasiswa ke-9</li> <li>Nama Mahasiswa ke-10</li> </ol> </body> </html> Halaman HTML tersebut dapat dibuat dengan mudah dengan cara men-copypaste tag <li> sebanyak 10 kali dan mengubah sedikit angka-angka no urut di belakangnya. Namun jika yang kita inginkan adalah menambahkan list tersebut menjadi 100 atau 1000 list, cara copy-paste tersebut menjadi tidak efektif. Jika menggunakan PHP, kita tinggal membuat perulangan for sebanyak 1000 kali dengan perintah yang lebih singkat seperti berikut ini: <!DOCTYPE html> <html> <head> <title>Contoh list dengan PHP</title> </head> <body> <h2>Daftar Absensi Mahasiswa</h2> <ol> <?php for ($i= 1; $i <= 1000; $i++) { echo "<li>Nama Mahasiswa ke-$i</li>"; } ?> </ol </body> </html> Dengan menggunakan kode baris yang bahkan lebih sedikit, kita dapat membuat list tersebut menjadi 1000 kali, bahkan 100.000 kali dengan hanya mengubah sebuah variabel $i. PHP tidak hanya dapat melakukan pengulangan tersebut, masih banyak hal lain yang bisa kita lakukan dengan PHP, seperti menginput data ke database, menghasilkan gambar, menkonversi halaman text menjadi PDF, management cookie dan session, dan hal lainnya yang akan kita pelajari di bab ini. 4.2. Tipe Data dan Variabel Apa Itu Tipe Data? Tipe data adalah klasifikasi jenis data atau bentukan dari suatu data. Ia menjelaskan suatu data: dari jenis apakah ia tersusun? Apakah bilangan riil? Atau kah bilangan pecahan? Atau kah ia data yang tersusun dari bentukan karakter? Intinya tipe data adalah klasifikasi jenis dari data yang kita ingin simpan dalam sebuah variabel. Hampir seluruh bahasa pemrograman yang ada mendukung berbagai macam jenis tipe
60 data, seperti: integer untuk bilangan rill, boolean untuk true dan false, string untuk kumpulan karakter, dan sebagainya. Macam-Macam Tipe Data Dalam PHP Ada berbagai macam tipe data: mulai dari tipe data asli dan tipe data buatan. Untuk PHP sendiri, ia mendukung setidaknya 8 tipe data skalar. Akan tetapi dalam tutorial ini, sementara kita akan fokuskan dahulu pada pembahasn 5 tipe data saja, karena 5 tipe data ini adalah tipe data yang paling dasar. Tipe Data Keterangan Integer Berisi bilangan bulat Float Berisi bilangan decimal Boolean Berisi 2 nilai saja: true dan false String Berisi data teks yang diapit oleh tanda '' atau "" Array Berisi himpunan data Tipe Data Integer Tipe data yang pertama adalah integer. Ia adalah tipe data yang digunakan untuk menyimpan bilangan bulat. Kita akan membuat variabel dengan tipe data integer lalu menampilkannya dengan perintah echo. Kita juga bisa menampilkan tipe data dari variabel tersebut dengan perintah var_dump. Perhatikan kode program berikut: <?php # inisiasi dan inisialisasi variabel $a = 10; $b = 5; $c = $a + 5; $d = $b + (10 * 5); $e = $d - $c; # Tampilkan data dengan perintah echo echo "Variabel a: {$a} <br>";
61 echo "Variabel b: {$b} <br>"; echo "Variabel c: {$c} <br>"; echo "Variabel d: {$d} <br>"; echo "Variabel e: {$e} <br>"; # mengetahui tipe data dari variabel var_dump($e); Kode program di atas akan menghasilkan output seperti berikut: Tipe Data Float Untuk tipe data float, caranya sama saja dengan integer. Hanya saja, ia menerima data desimal dengan angka . sebagai pembaginya. Perhatikan dan praktikkan contoh berikut: <?php $nilaiMatematika = 5.1; $nilaiIPA = 6.7; $nilaiBahasaIndonesia = 9.3; # hitung nilai rata-rata $rataRata = ($nilaiMatematika + $nilaiIPA + $nilaiBahasaIndonesia) / 3; # Tampilkan data echo "Matematika: {$nilaiMatematika} <br>"; echo "IPA: {$nilaiIPA} <br>"; echo "Bahasa Indonesia: {$nilaiBahasaIndonesia} <br>"; echo "Rata-rata: {$rataRata} <br>"; # lihat tipe data dari variabel $rataRata var_dump($rataRata); Kode program di atas akan menghasilkan output seperti berikut: Tipe Data Boolean
62 Tipe data boolean hanya bisa menampung nilai true atau false. Tipe data ini adalah tipe data yang paling simpel, akan tetapi butuh logika yang kuat untuk bisa memanfaatkannya dengan benar. Berikut ini contoh penggunaan tipe data boolean pada PHP: <?php $apakahSiswaLulus = true; $apakahSiswaSudahUjian = false; var_dump($apakahSiswaLulus); echo "<br>"; var_dump($apakahSiswaSudahUjian); Output: Tipe Data String Tipe data string adalah tipe data yang digunakan untuk menyimpan teks. Semua teks tersebut diapit oleh tanda petik satu ('') mau pun tanda pentik dua (""). Pada contoh-contoh di atas, sebenarnya kita telah menggunakan tipe data ini ketika kita memanggil fungsi echo yang diikuti setelahnya dengan teks. Akan tetapi data string tersebut tidak kita simpan ke dalam sebuah variabel. Akan tetapi langsung kita tampilkan dengan perintah echo. Sekarang, saya akan beri contoh bagaimana membuat variabel, lalu mengisinya dengan data string. Perhatikan kode program berikut: <?php $namaDepan = "Ibnu"; # pakai tanda petik dua $namaBelakang = 'Jakaria'; # pakai tanda petik satu # menggabungkan dua variabel dengan tanda # petik dua $namaLengkap = "{$namaDepan} {$namaBelakang}";
63 # anda juga bisa menggabungkan string dengan menggunakan tanda titik (.) $namaLengkap2 = $namaDepan . ' ' . $namaBelakang; # [Tampilkan Data] # kita bisa memasukkan variabel lain jika menggunakan tanda petik dua echo "Nama Depan: {$namaDepan} <br>"; # ada pun jika pakai tanda petik satu, kita tidak bisa memasukkan variabel # di dalam string akan tetapi menggabungkannya dengan operator titik (.) echo 'Nama Belakang: ' . $namaBelakang . '<br>'; echo $namaLengkap; Output: Terdapat beberapa hal yang perlu dibahas terkait tipe data string. Seperti misalnya memotong teks string, me-replace suatu kata dalam string, mengubah string menjadi UPPERCASE atau menjadi lowercase, dan sebagainya. Tipe Data Array Tipe data array berfungsi untuk menyimpan himpunan data. Himpunan data tersebut diapit oleh tanda kurung siku ([]). Sebagai contoh, saya memiliki 3 mahasiswa, dan saya ingin menyimpan ketiga nama mahasiswa dalam variabel. Maka saya bisa melakukan hal tersebut dengan menggunakan tipe data array sebagai berikut: <?php $listMahasiswa = ["Wahid Abdullah", "Elmo Bachtiar", "Lendis Fabri"]; Untuk mengakses isi dari variabel array, kita bisa menggunakan indeks. Indeks dimulai dari 0. Sehingga jika saya akan menampilkan nama pertama dari variabel $listMahasiswa, saya akan menggunakan indeks 0 seperti di bawah: <?php echo $listMahasiswa[0]; // "Wahid Abdullah" Pembuatan Variabel Untuk pembuatan variabel dalam PHP, kombinasi sintaksnya adalah sebagai berikut: <?php $namaVariabel = [nilai variabel];
64 Bagian $namaVariabel adalah nama yang anda berikan untuk variabel tersebut, sedangkan [nilai variabel] adalah nilai yang akan anda masukkan ke dalam variabel tersebut. Nilai variabel ini lah yang menentukan tipe data dari variabel itu sendiri. Jika anda memasukkan angka, maka tipe datanya menjadi tipe data numeric (integer/float), jika anda masukkan true/false maka jadinya adalah boolean, dan seterusnya. 4.3. Perulangan Kita ketahui dulu bahwa di dalam PHP, terdapat beberapa metode perulangan yang bisa kita gunakan. Mulai dari: • perulangan for • perulangan while • perulangan do-while • perulangan foreach • purulangan rekursif Perulangan for Perulangan for adalah perulangan yang paling simpel. Kita bisa menggunakan metode ini dengan menentukan jumlah perulangan yang kita inginkan. Misalkan saya ingin menampilkan tulisan “Saya berjanji tidak akan mengulangi” sebanyak 100x, saya bisa melakukannya seperti ini: <?php for ($i = 0; $i < 100; $i++) { echo "Saya berjanji tidak akan mengulangi <br>"; } Perulangan for membutuhkan 3 buah ekspresi yang mana ekspresi tersebut masing-masing dipisahkan oleh tanda titik koma (;). Penjelasan: • ekspresi pertama digunakan untuk menginisialisasi variabel • ekspresi kedua digunakan untuk boolean statement, yang mana perulangan akan terus dilakukan selama statemen ini bernilai true • ekspresi ketiga adalah suatu aksi yang akan selalu dijalankan setiap kali satu perulangan telah selesai dilakukan. Menampilkan Array Kita juga bisa menampilkan seluruh isi dari suatu array menggunakan perulangan for. Kita bisa mengetahui panjang dari suatu array dengan perintah count(array).
65 <?php $listMahasiswa = ['Nurul Huda', 'Wahid Abdullah', 'Elmo Bachtiar']; for ($i = 0; $i < count($listMahasiswa); $i++) { echo "Nama: {$listMahasiswa[$i]} <br>"; Perintah Break dan Continue Kita bisa men-skip satu step perulangan dengan perintah continue. Kita juga bisa memberhentikan proses perulangan dengan perintah break sebelum ia sampai pada iterasi yang terakhir. Perhatikan contoh berikut: <?php # inisialisasi variabel tidak harus dari angka 0 for ($i = 1; $i <= 50; $i++) { if ($i % 10 === 0) { continue; # skip perulangan jika nilai $i habis dibagi 10 } echo "Perulangan ke-{$i} <br>"; if ($i > 40) { break; # hentikan perulangan jika $i lebih dari 20 } } Contoh di atas akan men-skip pada setiap kelipatan 10. Dan dia juga akan berhenti secara paksa sebelum variabel $i kurang dari atau sama dengan 50. Dengan mempraktikkan contoh-contoh di atas, kita sekarang sudah memahami dan juga punya gambaran yang jelas tentang bagaimana cara kerja perulangan for di dalam bahasa pemrograman PHP. Perulangan while Jenis perulangan yang kedua adalah perulangan while. Ia hampir sama dengan for. Akan tetapi ia lebih ditujukan untuk kasus-kasus di mana kita tidak mengetahui secara pasti ada berapa jumlah perulangan yang harus dilakukan. Berikut ini adalah contoh penggunaan while while: <?php $i = 0; # perulangan ini akan dilakukan selama nilai $i kurang dari 20.
66 while ($i < 20) { echo "Perulangan ke-{$i} <br>"; $i++; } Perulangan while hanya menerima satu ekspresi saja: yaitu ekspresi boolean. Di mana perintah yang ada di dalam blok kode while, akan senantiasa dilakukan secara berulang-ulang selama ekspresi boolean tersebut bernilai true. Perulangan do while Perulangan do ... while sama persis dengan perulangan while. Ia sama-sama mengevaluasi ekspresi boolean. Selama ekspresi tersebut bernilai true, perulangan akan terus dilakukan. Dan jika nilai boolean tersebut false, perulangan akan dihentikan. Bedanya hanya satu: • Kalau dalam metode while, ekspresi boolean akan diperiksa terlebih dahulu sebelum memulai perulangan. • Ada pun dengan do ... while, ia akan mengeksekusi perulangan terlebih dahulu, baru setelah itu ia akan mengevaluasi kondisi boolean. Apa konsekuensinya? • Pada while, jika kondisi pertama kali bernilai false, perulangan tidak akan dieksekusi sama sekali. • Sedangkan pada do...while, perulangan akan tetap dilakukan satu kali jika kondisi pertama sudah bernilai false. Agar lebih jelas, perhatikan dan coba contoh berikut: <?php while (false) { echo "Perulangan ke-1 dengan while! <br>"; } do { echo "Perulangan ke-1 dengan do while! <br>"; } while (false); Pada kode program di atas, perintah di dalam perulangan while sama sekali tidak dieksekusi, karena ekspresi boolean-nya bernilai false. Sedangkan dalam perulangan do ... while, perintah tersebut akan dieksekusi terlebih dahulu, baru setelah itu ia akan mengevaluasi kondisi boolean, jika true dia akan melakukan perulangan selanjutnya, dan jika tidak, dia akan berhenti. Perulangan Foreach
67 Jenis perulangan selanjutnya adalah menggunakan foreach. Jenis perulangan ini khusus untuk tipe data array baik array asosiatif mau pun array terindeks. Kita bisa melakukan perulangan pada setiap elemen array tanpa harus tahu berapa panjang dari array itu sendiri. Sintaksnya ada dua versi, kita bisa menggunakan yang mana saja sesuai dengan kebutuhan. Sintaks perulangan foreach versi singkat adalah sebagai berikut: <?php $listMahasiswa = ['Nurul Huda', 'Wahid Abdullah', 'Elmo Bachtiar']; foreach ($listMahasiswa as $mahasiswa) { echo "Nama : {$mahasiswa} <br>"; } Penjelasan: • Perulangan foreach (versi singkat) hanya menerima 2 buah variabel yang dipisahkan kata kunci as • Variabel pertama adalah variabel bertipe data array • Dan variabel kedua adalah variabel item dari array tersebut Kelebihan menggunakan foreach: • Sintaks lebih singkat dari pada perulangan for untuk menampilkan array • Item array per-indeks sudah disimpan dalam satu variabel sehingga kita tidak perlu memanggil indeksnya lagi Perulangan Rekursif Jenis perulangan terakhir yang bisa kita gunakan dalam bahasa pemrograman PHP adalah: perulangan rekursif. Semua metode perulangan yang telah kita coba di atas adalah metode perulangan iteratif. Sifatnya sama: yaitu melakukan perulangan pertama, kedua, ketiga, dan seterusnya. Berbeda dengan perulangan rekursif yang memiliki cara kerja yang sangat berbeda. Ia dikatakan rekursif karena perulangannya yang tidak “berhenti”. Ia adalah fungsi yang senantiasa memanggil dirinya sendiri. Sebagai ilustrasi, bayangkan kita memiliki 2 buah cermin. Lalu kita letakkan 2 cermin tersebut saling berhadapan. Apa yang akan terjadi? Bayangan yang dihasilkan akan saling berpantulan tanpa akhir, bukan? Atau, sebagai ilustrasi yang lain: misalkan kita me-remote komputer yang sedang meremote kita dengan Team Viewer. Kita akan mendapatkan hasil yang kira-kira seperti efek cermin tadi:
68 4.4. Fungsi Fungsi adalah suatu kumpulan blok kode, yang menerima suatu inputan, melakukan satu tugas tertentu, dan secara opsional ia bisa mengembalikan suatu nilai. Dalam tutorial-tutorial sebelumnya, kita telah mencoba beberapa fungsi bawaan php seperti var_dump dan count. PHP memang sudah datang dengan berbagai macam fungsi untuk memudahkan pekerjaan kita. Akan tetapi kita tetap bisa membuat fungsi sendiri, untuk menyelesaikan tugastugas tertentu sehingga kita bisa menggunakan fungsi tersebut tanpa harus menulis kode program berulang-ulang. Cara Mendefinisikan Fungsi Mendefinisikan fungsi baru pada PHP berarti kita menuliskan suatu tugas tertentu, yang bisa kita eksekusi kemudian. Fungsi pada PHP memiliki nama, dan juga bisa menerima parameter. Secara sederhana anda bisa mendefinisikan fungsi sebagai berikut: <?php function namaFungsi () { // blok kode program } Peraturan pemberian nama fungsi, sama dengan nama variabel. Hanya saja ia tidak bisa menggunakan nama fungsi yang sama seperti fungsi bawaan php seperti misalnya var_dump, empty, count, dan lain-lain. Kita juga tidak bisa mendefinisikan satu nama fungsi yang sama sebanyak 2 kali. Contoh yang lain, berikut ini adalah fungsi yang bertugas untuk menampilkan teks dengan echo. <?php function sapaPengunjung () { echo "<h1>Halo, selamat datang!</h1>"; echo "<p>Terima kasih telah berkunjung ke situs kami.</p>"; } Cara Memanggil Fungsi Di atas, kita telah membuat satu fungsi dengan nama sapaPengunjung(). Kita juga telah mendefinisikan tugas apa yang harus fungsi tersebut lakukan. Caranya sangat mudah, kita tinggal menulis nama fungsi tersebut lalu diiringi dengan tanda kurung () setelahnya. Seperti berikut ini: <?php
69 sapaPengunjung(); Perintah di atas, akan menghasilkan teks html yang di-echo melalui fungsi sapaPengunjung(). Parameter Pada Fungsi Kita sudah singgung pada bagian pengertian fungsi, bahwa fungsi pada PHP bisa menerima suatu nilai atau input. Nilai atau input tersebut, kita katakan sebagai parameter fungsi. Parameter fungsi adalah suatu nilai yang kita lempar kedalam sebuah fungsi, nilai tersebut bisa berupa apa saja. Bisa berupa string, boolean, integer, bahkan ia juga bisa berupa fungsi yang lainnya (bagian ini insyaallah kita bahas pada tutorial fungsi bagian 2). Sebagai contoh, kita akan mengubah fungsi sapaPengunjung() yang telah kita buat di atas. Kita akan menambahkan parameter $nama yang berisi nama pengunjung. Nama pengunjung tersebut akan kita tampilkan dengan perintah echo. <?php function sapaPengunjung ($nama) { echo "<h1>Halo {$nama}, selamat datang!</h1>"; echo "<p>Terima kasih telah berkunjung ke situs kami.</p>"; } Dan saat memanggil fungsi tersebut, kita harus memasukkan parameter yang diminta. Kalau tidak, maka PHP akan menampilkan pesan error. <?php sapaPengunjung("Nurul Huda"); Kita juga bisa memanggil fungsi yang telah kita buat tersebut berkali-kali, bahkan juga dengan parameter yang berbeda-beda! <?php sapaPengunjung("Nurul Huda"); sapaPengunjung("Ibnu Zakariyya"); sapaPengunjung("Anshori Akbar");
70 Fungsi dengan lebih dari satu parameter Kita telah mencoba fungsi dengan satu parameter. Sebenarnya, kita juga bisa mendefinisikan lebih dari satu parameter. Misal pada fungsi sapaPengunjung() di atas, kita akan memberikan ucapan khusus bagi pengunjung yang telah telah mengunjungi situs kita lebih dari 10 kali. Bagaimana kita tahu bahwa pengunjung tersebut telah mengunjungi lebih dari 10 kali? Kita akan menambahkan parameter ke-2, yaitu jumlah kunjungan. <?php function sapaPengunjung ($nama, $jumlahKunjungan) { echo "<h1>Halo {$nama}, selamat datang!</h1>"; echo "<p>Terima kasih telah berkunjung ke situs kami.</p>"; if ($jumlahKunjungan > 10) { echo "<p>Kami memiliki hadiah ebook gratis untuk anda karena anda telah mengunjungi situs kami sebanyak {$jumlahKunjungan} kali.</p>"; } } Saat memanggil fungsi, jangan lupa untuk menambahkan parameter kedua. <?php sapaPengunjung("Nurul Huda", 20); Membatasi Tipe Data Parameter Kita telah membuat fungsi yang menerima 2 buah parameter. Parameter pertama kita beri nama $nama, ia dimaksudkan untuk menerima tipe data string. Dan parameter kedua kita beri nama $jumlahKunjungan, ia dimaksudkan untuk menerima tipe data integer. Jika kita mau perhatikan, sebenarnya kita bisa memasukkan tipe data apa pun di situ. Bisa string, integer, boolean, dan sebagainya. <?php sapaPengunjung(true, "Nurul Huda"); Itu terjadi karena kita tidak membatasi tipe data apa yang harus dimasukkan ketika memanggil fungsi sapaPengunjung. Tentu saja dengan memasukkan parameter dengan tipe data yang tidak sesuai keinginan, akan membuat fungsi yang telah kita buat tersebut menjadi bekerja tidak seperti yang kita harapkan.
71 Akan tetapi tenang saja. Karena sejak PHP 7, kita bisa membatasi dan menentukan tipe data untuk masing-masing parameter pada fungsi yang kita buat. <?php function sapaPengunjung (string $nama, int $jumlahKunjungan) { # ... } Pada kode program di atas kita mendefinisikan parameter $nama dengan tipe data string, dan parameter $jumlahKunjungan dengan tipe data integer. Parameter Default Terkadang kita ingin bahwa suatu fungsi memiliki parameter opsional atau parameter yang tidak wajib diisi. Seperti untuk me-resize gambar, kita mungkin akan membuat fungsi dengan nama resize() yang menerima tiga parameter: yaitu parameter $urlGambar, $lebar dan $tinggi. Fungsi tersebut akan mengubah ukuran gambar $urlGambar menjadi ukuran baru yaitu sesuai dengan parameter $lebar dan $tinggi. Akan tetapi yang kita inginkan, parameter $tinggi ini opsional, tidak wajib diijisi. Jika variabel $tinggi tidak diisi, maka otomatis gambar akan di-resize sesuai dengan ukuran rasionya. Untuk melakukan hal tersebut, kita bisa melakukan kurang lebih seperti ini: <?php function resize (string $urlGambar, float $lebar, float $tinggi = null) { if (!$tinggi) { # jika parameter $tinggi null, maka resize gambar sesuai rasio } else { # jika ternyata variabel $tinggi ada nilainya, maka resize # sesuai dengan nilai tersebut } } Atau kita bisa ubah fungsi kita sebelumnya yaitu sapaPengunjung dengan menjadikan kedua parameternya memiliki nilai default. <?php function sapaPengunjung (string $nama = 'Anonimous', int $jumlahKunjungan = 0) { echo "<h1>Halo {$nama}, selamat datang!</h1>"; echo "<p>Terima kasih telah berkunjung ke situs kami.</p>"; if ($jumlahKunjungan > 10) {
72 echo "<p>Kami memiliki hadiah ebook gratis untuk anda karena anda telah mengunjungi situs kami sebanyak {$jumlahKunjungan} kali.</p>"; } } 4.5. Array Kita pernah mempelajari sekilas tentang array pada pembahasan tipe data dan variabel. Ia adalah suatu tipe data yang bersifat spesial dalam PHP, ia bisa menyimpan himpunan beberapa nilai dalam satu variabel saja. Misalkan kita memiliki 3 buah variabel yang menyimpan data nama mahasiswa. Dari pada kita membuat satu variabel untuk tiap nama mahasiswa seperti ini: <?php $mahasiswa1 = "Nurul Huda"; $mahasiswa2 = "Wahid Abdullah"; $mahasiswa3 = "Renza Ilhami"; Lebih baik kita simpan ketiga variabel di atas dalam satu array saja seperti berikut: <?php $listMahasiswa = [ "Nurul Huda", "Wahid Abdullah", "Renza Ilhami" ]; Untuk menampilkan array, kita bisa menggunakan indeks. Indeks pertama dimulai dari 0 dan seterusnya. <?php echo $listMahasiswa[2] . "<br>"; # Renza Ilhami echo $listMahasiswa[0] . "<br>"; # Nurul Huda echo $listMahasiswa[1] . "<br>"; # Wahid Abdullah Atau kita juga bisa menggunakan perulangan semisal foreach atau for untuk menampilkan array tersebut.
73 <?php foreach ($listMahasiswa as $mahasiswa) { echo $mahasiswa . "<br>"; } Array Terindeks Di dalam PHP, ada dua jenis array: array terindeks dan array asosiatif. Array terindeks adalah array yang setiap itemnya terbedakan dengan indeks tertentu. Indeks tersebut bertipe data integer dan selalu dimulai dari angka 0. Array $listMahasiswa yang kita buat dalam contoh di atas adalah termasuk jenis array terindeks. Array jenis ini ada di hampir semua bahasa pemrograman, kalau pun tidak ada, maka itu hanya perbedaan nama saja, akan tetapi fungsi dan bentuknya sama saja. Array Asosiatif Jenis kedua dari array dalam bahasa pemrograman PHP adalah: array asosiatif. Ia adalah suatu array di mana key atau kuncinya bukan berupa indeks integer yang dimulai dari 0, akan tetapi yang menjadi key-nya adalah suatu teks bertipe data string. Oleh karena itu ia dinamakan array asosiatif. Berikut ini adalah contoh dari array asosiatif: <?php $mahasiswa = [ 'nama' => 'Nurul Huda', 'domisili' => 'Surabaya', 'jenis_kelamin' => 'Laki-laki' ]; Untuk menampilkan item yang berada di dalam array asosiatif, kita bisa melakukannya dengan memanggil key-nya. Hal ini sama persis dengan array terindeks, hanya saja jika pada array terindeks key-nya bertipe data integer, maka pada array asosisatif, key-nya bertipe data string.
74 Perhatikan kode program berikut: <?php echo "Nama : {$mahasiswa['nama']}<br>"; echo "Domisili : {$mahasiswa['domisili']}<br>"; echo "Jenis Kelamin : {$mahasiswa['jenis_kelamin']}<br>"; Array Multidimensi Array multidimensi adalah suatu istilah untuk sebuah array, yang mana ia memiliki item berupa array yang lain. Contohnya seperti ini: <?php $histogram = [ [1, 2, 3, 4, 5], [6, 7, 3, 9, 2], [3, 5, 1, 0, 5], [5, 8, 1, 3, 1] ]; Pada contoh di atas, indeks ke-0 dari array $histogram adalah suatu array. Begitu juga indeks ke1, ke-2, dan ke-3. Misal kita ingin menampilkan anga 0 pada array tersebut, maka kita harus memanggil array terluarnya dahulu, baru indeks dari array yang didalam. Perhatikan kode program berikut: <?php echo $histogram[2][3]; // 0 Array multidimensi tidak mengharuskan setiap item dari array adalah suatu array dengan panjang yang sama, bahkan tidak harus semua item dari suatu array bertipe data sama. Hal itu karena array dalam PHP bisa memiliki himpunan nilai dari tipe data yang berbeda-beda. Perhatikan contoh berikut: <?php
75 $arrayMultidimensi = [ "Nurul Huda", "Lendis Fabri", [1, 2, 3, 4, 5], [3.4, 10.93], true, false ]; Pada variabel $arrayMultidimensi di atas, kita saksikan bahwa item dari array tersebut berbedabeda dari segi tipe data. Ada yang bertipe data string, ada yang bertipe data boolean, dan ada yang bertipe data array. Array dalam array seperti inilah yang dimaksud dengan array multidimensi. Saya akan beri contoh yang kemungkinan besar akan anda dapati dalam kasus real: yaitu menu bertingkat tak terbatas. Misalkan saya memiliki menu sebagai berikut: • Beranda • Berita • Olahraga • Bola • Bulu Tangkis • Politik • Manca Negara • Tentang Saya bisa mendefinisikannya dalam suatu array multidimensi seperti berikut: <?php $menu = [ [ "nama" => "Beranda" ], [ "nama" => "Berita", "subMenu" => [
76 [ "nama" => "Olahraga", "subMenu" => [ [ "nama" => "Bola" ], [ "nama" => "Bulu Tangkis" ] ] ], [ "nama" => "Politik" ], [ "nama" => "Manca Negara" ] ] ], [ "nama" => "Tentang" ], [ "nama" => "Kontak" ], ]; Sudah punya gambaran? Baik, sekarang tinggal satu pertanyaan: bagaimana cara menampilkan variabel $menu di atas? Jawabannya adalah menggunakan fungsi rekursif, untuk menampilkan variabel $menu di atas bisa anda lihat pada pembahasan Fungsi Rekursif: Menampilkan Menu Bertingkat. Menambahkan Item ke Dalam Array Dalam banyak kasus, kita butuh menambahkan suatu nilai ke dalam array yang sebelumnya sudah pernah kita buat. Kasus ini bisa kita selesaikan dengan mudah sekali menggunakan 2 cara: Menggunakan fungsi array_push Cara yang pertama adalah dengan menggunakan fungsi array_push() bawaan PHP. Fungsi ini menerima dua parameter: parameter pertama untuk array target, sedangkan parameter kedua adalah nilai yang akan dimasukkan ke dalam array. Perhatikan contoh berikut:
77 <?php $buah = ['Apel', 'Jeruk']; array_push($buah, 'Nanas'); # ['Apel', 'Jeruk', 'Nanas'] Oiya, jika anda ingin menambahkan item baru di urutan pertama array, anda bisa menggunakan fungsi array_unshift sebagai ganti dari array_push. Menggunakan sintaks kurung siku Cara yang kedua adalah dengan menggunakan tanda kurung siku ([]) ketika menambahkan satu nilai baru ke dalam array. Perhatikan contoh berikut: <?php $buah = ['Apel', 'Jeruk']; # tambahkan nilai baru ke dalam array $buah[] = 'Nanas'; $buah[] = 'Anggur' # ['Apel', 'Jeruk', 'Nanas', 'Anggur'] Menghapus Item dari Array Terkadang kita butuh untuk menghapus suatu nilai atau suatu item dari variabel array. Kita bisa melakukan hal tersebut dengan fungsi bawaan array yang bernama array_pop. Fungsi array_pop akan menghapus item terakhir dari suatu array.
78 Dari segi parameter, ia hanya menerima satu parameter saja yaitu array target yang akan dihapus item terakhirnya. Contoh: <?php $buah = ['Apel', 'Jeruk', 'Nanas', 'Anggur']; array_pop($buah); var_dump($buah); # ['Apel', 'Jeruk', 'Nanas'] echo "<br>"; # ia juga mengembalikan suatu nilai echo array_pop($buah) . '<br>'; # Nanas var_dump($buah); # ['Apel', 'Jeruk'] Menggabungkan dua array atau lebih Misalkan kita memiliki 2 buah array atau lebih. Lalu kita ingin menggabungkannya menjadi 1, kita bisa menggunakan fungsi bawaah PHP bernama array_merge(). Perhatikan contoh berikut: <?php $warnaTerang = ['Kuning', 'Hijau', 'Pink']; $warnaGelap = ['Hitam', 'Abu-abu', 'Cokelat']; # gabungkan dua array tersebut menjadi 1 $gabunganWarna = array_merge($warnaTerang, $warnaGelap); # fungsi array_merge bisa menerima lebih dari 2 array $semuaWarna = array_merge( $warnaTerang, $warnaGelap, ['Magenta', 'Cyan', 'Hijau Kelabu'] ); Array Unpacking
79 Array unpacking adalah fitur baru pada versi PHP 7.4. Ia memiliki fungsi yang sama dengan array_merge yaitu untuk menggabungkan suatu array dalam array lainnya. Hanya saja kita bisa menempatkan hasil gabungan tersebut pada indeks tertentu dalam array yang lain. Untuk mengekstrak atau unpacking array, kita bisa menggunakan sintaks ... lalu diikuti oleh nama array-nya setelah itu. Perhatikan contoh berikut: <?php $listBuahLokal = ['mangga', 'rambutan']; $listBuah = ['kurma', 'anggur', ...$listBuahLokal, 'kismis']; // ['kurma', 'anggur', 'mangga', 'rambutan', 'kismis']; Jika kita perhatikan, sintaks di atas sangat mirip dengan yang kita temukan pada bahasa pemrograman javascript. Konversi Array Asosiatif ke Array Terindeks Dalam kasus-kasus tertentu, kita terkadang butuh untuk mengubah array asosiatif ke dalam bentuk array terindeks. Kita bisa melakukannya dengan perintah array_values(). Perhatikan contoh berikut: <?php # asosiatif array $listBuah = [ '0' => 'Anggur', '1' => 'Jeruk', '2' => 'Naga', '3' => 'Duku' ]; var_dump(array_values($listBuah)); // ['Anggur', 'Jeruk', 'Naga', 'Duku'] Fungsi Explode
80 Kita bisa memecah-mecah string lalu mengubahnya ke dalam array dengan fungsi explode. Fungsi explode menerima 2 paramter: • delimiter: yaitu sebuah string yang dijadikan pemisah • string sasaran: yaitu sasaran string yang akan kita pecah menjadi suatu array Misalkan kita punya string sebagai berikut: <?php $mahasiswa = "Andi Budi Deni Edwin Fajar Hendra"; Kita saksikan pada string $mahasiswa setiap kata merepresentasikan satu nama. Sehingga kita bisa dengan mudah untuk memecah string tersebut dengan menggunakan pemisah karakter spasi ( ). Perhatikan kode program berikut: <?php var_dump(explode(" ", $mahasiswa)); // ['Andi', 'Budi', 'Deni', 'Edwin', 'Fajar', 'Hendra'] Kita juga bisa menggunakan delimiter yang tersusun dari lebih satu karakter, seperti contoh berikut: <?php $mahasiswa = "Nurul Huda, Lendis Fabri, Wahid Abdulloh"; # delimiter terdiri dari 2 karakter yaitu tanda koma dan spasi var_dump(explode(", ", $mahasiswa)); // ['Nurul Huda', 'Lendis Fabri', 'Wahid Abdulloh'] Fungsi Implode Fungsi implode adalah kebalikan dari fungsi explode. Tugasnya adalah untuk mengubah array menjadi suatu string tertentu.
81 Fungsi implode menerima 2 buah parameter: • glue: artinya perekat. Ia adalah string yang akan menjadi perekat antar item pada array • array: array sasaran yang akan diubah menjadi string Perhatikan contoh berikut: <?php $mahasiswa = ['Huda', 'Lendis', 'Elmo']; echo implode(" ", $mahasiswa) . "<br>"; // Huda Lendis Elmo echo implode("*", $mahasiswa) . "<br>"; // Huda*Lendis*Elmo echo implode(",", $mahasiswa) . "<br>"; // Huda,Lendis,Elmo echo implode(", ", $mahasiswa) . "<br>"; // Huda, Lendis, Elmo echo implode(" wkwk ", $mahasiswa) . "<br>"; // Huda wkwk Lendis wkwk Elmo Pencarian Array Untuk mencari suatu data dari array, kita bisa menggunakan fungsi bawaan PHP yang bernama array_search(). Ia menerima 2 parameter wajib dan 1 parameter opsional: • search: nilai string yang berisi keyword pencarian • array: data array target • strict: mode pencarian. Jika true maka mode strict atau mode ketat akan diaktifkan. Dan jika parameter ini tidak didefinisikan, maka nilai default-nya adalah false. Fungsi array_search() mengembalikan nilai false jika item yang dicari tidak ditemukan. Dan ia akan mengembalikan nilai key jika item tersebut ditemukan. Dan jika item yang ditemukan lebih dari 1, dia akan mengembalikan item pertama. Contoh: <?php $distroLinux = ['Ubuntu', 'Arch Linux', 'Elementary OS']; var_dump(array_search('Arch Linux', $distroLinux)); // 1 $mahasiswa = [
82 'nama' => 'Lendis Fabri', 'asal' => 'Lamongan', 'status_pernikahan' => 'Belum menikah', 'kewarganegaraan' => 'Indonesia' ]; var_dump(array_search('Lamongan', $mahasiswa)); // 'asal' Fungsi array_search() bisa bekerja sama saja apakah di array terindeks mau pun di array asosiatif. Pada contoh di atas variabel $distroLinux merupakan array terindeks, sedangkan variabel $mahasiswa mereupakan array asosiatif. Filter Array Bayangkan kita memiliki suatu array. Lalu dari sekian banyak item pada array tersebut, kita hanya ingin mendapatkan beberapa item dengan kondisi tertentu. Kita bisa melakukan hal tersebut dengan memanggil fungsi bawaan PHP bernama array_filter(). Fungsi ini menerima 2 parameter: • array: sebuah array yang menjadi target sasaran • callback: sebuah fungsi anonim yang mengembalikan nilai boolean Contoh Misalkan kita memiliki array yang menyimpan nilai ujian setiap siswa. Lalu: kita ingin mengambil siapa saja yang nilainya di atas 80 dan siapa saja yang nilainya 30 kebawah. Maka penyelesaian bisa dengan cara berikut: <?php $nilaiSiswa = [ ['nama' => 'Andi', 'nilai' => 80], ['nama' => 'Budi', 'nilai' => 40], ['nama' => 'Candra', 'nilai' => 20], ['nama' => 'Denis', 'nilai' => 70], ['nama' => 'Fabrian', 'nilai' => 100], ['nama' => 'Gunawan', 'nilai' => 90], ['nama' => 'Hendra', 'nilai' => 35], ['nama' => 'Ian', 'nilai' => 75],
83 ]; # nilai yang kurang dari atau sama dengan 30 $nilai30Kebawah = array_filter($nilaiSiswa, function ($item) { return $item['nilai'] <= 30; }); # nilai yang lebih dari 80 $nilaiYangLebihDari80 = array_filter($nilaiSiswa, function ($item) { return $item['nilai'] <= 30; }); Silakan tampilkan kedua array di atas, array $nilai30Kebawah dan juga $nilaiYangLebihDari80 untuk memeriksa apakah program kita sudah sesuai dengan yang diharapkan. Anda juga bisa menggunakan fungsi panah untuk mempersingkat parameter ke-2: <?php # kita juga bisa menggunakan fungsi panah $nilaiDiatas30Dan80Kebawah = array_filter( $nilaiSiswa, fn($item) => $item['nilai'] > 30 and $item['nilai'] <= 80 ); Pemetaan Array Pemetaan array digunakan jika kita ingin memodifikasi semua item pada suatu array. Untuk melakukan hal tersebut kita bisa menggunakan fungsi bawaan PHP bernama array_map(). Untuk parameternya sama seperti fungsi array_filter(). Ia hanya menerima 2 parameter, yaitu: • array: sebuah array yang menjadi target sasaran • callback: sebuah fungsi anonim yang mengembalikan nilai boolean Contoh Misalkan anda mempunyai suatu array yang berisi sekumpulan nilai integer. Lalu anda ingin mengkalikan semua item array tersebut dengan angka 100. Maka anda bisa melakukan hal tersebut sebagaimana contoh di bawah ini: <?php $array = [4, 3, 1, 5, 6]; $ratusan = array_map($array, function ($item) {
84 return $item * 100; }); // [400, 300, 100, 500, 600] A. Pilihlah jawaban yang paling benar! 1. Bagaimana cara Kita memanggil method method sebuah kelas dari dalam kelas itu sendiri? a. $self=>mymethod(); b. $this->mymethod(); c. $current->mymethod(); d. $this::mymethod(); e. $this(); 2. Apa output script berikut : $array = array ('3' => 'a', '1b' => 'b', 'c', 'd'); echo ($array[1]); ?> a. 1 b. b c. c d. Warning e. Notfound RANGKUMAN PHP adalah bahasa pemrograman script server-side yang didesain untuk pengembangan web. Selain itu, PHP juga bisa digunakan sebagai bahasa pemrograman umum. PHP di kembangkan pada tahun 1995 oleh Rasmus Lerdorf, dan sekarang dikelola oleh The PHP Group. PHP disebut bahasa pemrograman server side karena PHP diproses pada komputer server. Hal ini berbeda dibandingkan dengan bahasa pemrograman client-side seperti JavaScript yang diproses pada web browser (client). Pada awalnya PHP merupakan singkatan dari Personal Home Page. Sesuai dengan namanya, PHP digunakan untuk membuat website pribadi. Dalam beberapa tahun perkembangannya, PHP menjelma menjadi bahasa pemrograman web yang powerful dan tidak hanya digunakan untuk membuat halaman web sederhana, tetapi juga website populer yang digunakan oleh jutaan orang seperti wikipedia, wordpress, joomla, dll. Uji Kompetensi
85 3. Diberikan sebuah variable $email yang mengandung string [email protected], statement mana dibawah ini yang akan mengekstrak string example.com ? a. substr($email, strpos($email, "@")); b. strstr($email, "@"); c. strchr($email, "@"); d. substr($email, strpos($email, "@")+1); e. strrpos($email, "@"); 4. Apa output script berikut : $array = array (0.1 => 'a', 0.2 => 'b'); echo count ($array); ?> a. 1 b. 2 c. 0.3 d. Tidak ada e. 0.1 5. Perhatikan script dibawah ini. Kode apa yang harus disisipkan dilokasi yang ditandai untuk menampilkan string php pada saat script tersebut dieksekusi? $alpha = 'abcdefghijklmnopqrstuvwxyz'; $letters = array(15, 7, 15); foreach($letters as $val) { /* What should be here */ } ?> a. echo chr($val); b. echo asc($val); c. echo substr($alpha, $val, 2); d. echo $alpha{$val}; e. echo $val; 6. Contoh dari super class adalah … a. Sistem Informasi Penggajian b. Tombol simpan c. MySQL Connector ODBC d. Mobil sedan e. Form Input Data Pegawai 7. Kumpulan dari method-method yang belum terdapat operasi di dalam tubuh method tersebut disebut …
86 a. Abstract class b. Inheritance c. Interface d. Method abstract e. Implements 8. Class yang mempunyai sedikitnya satu abstract metode disebut ... a. Abstract class b. Class c. Multiple interface d. Implementasi e. Interface 9. Class yang digunakan menggunakan array dan character disebut ... a. Class math b. Class string c. Class string buffer d. Class wrapper e. Class procces 10. Class yang menyediakan beberapa flied dan method bermanfaat disebut ... a. Class system b. Class math c. Class string d. Class wrapper e. Boolean B. Soal Uraian! Uraikanlah jawaban dari pertanyaan berikut dengan benar! 1. Apa kepanjangan dari PHP? … 2. Bagaimana Anda menulis "Hello World" di PHP? … 3. Bagaimana cara yang benar untuk menambahkan komentar di PHP? … 4. Di PHP, satu-satunya cara untuk mengeluarkan teks adalah? … 5. Operator mana yang digunakan untuk memeriksa apakah dua nilai sama dan memiliki tipe data yang sama? …
87 5.1. Pengenalan dan fungsi Xampp XAMPP adalah sebuah paket perangkat lunak (software) komputer yang sistem penamaannya diambil dari akronim kata Apache, MySQL (dulu) / MariaDB (sekarang), PHP, dan Perl. Sementara imbuhan huruf “X” yang terdapat pada awal kata berasal dari istilah cross platform sebagai simbol bahwa aplikasi ini bisa dijalankan di empat sistem operasi berbeda, seperti OS Linux, OS Windows, Mac OS, dan juga Solaris. Sejarah mencatat, software XAMPP pertama kali dikembangkan oleh tim proyek bernama Apache Friends dan sampai saat ini sudah masuk dalam rilis versi 7.3.9 yang bisa didapatkan secara gratis dengan label GNU (General Public License). Jika dijabarkan secara keseluruhan, masing-masing huruf yang ada di dalam nama XAMPP menurut para ahli memiliki arti sebagai berikut ini: X = Cross Platform Bab 5 . BASIS DATA
88 Merupakan kode penanda untuk software cross platform atau yang bisa berjalan di banyak sistem operasi. Jadi, ada XAMPP untuk Windows, xampp for mac, dan untuk Linux. Semua itu bersifat free download xampp. A = Apache Apache adalah aplikasi web server yang bersifat gratis dan bisa dikembangkan oleh banyak orang (open source). M = MySQL / MariaDB MySQL atau MariaDB merupakan aplikasi database server yang dikembangkan oleh orang yang sama. MySQL berperan dalam mengolah, mengedit, dan menghapus daftar melalui database. P = PHP Huruf “P” yang pertama dari akronim kata XAMPP adalah inisial untuk menunjukkan eksistensi bahasa pemrograman PHP. Bahasa pemrograman ini biasanya digunakan untuk membuat website dinamis, contohnya dalam website berbasis CMS WordPress. P = Perl Sementara itu, untuk huruf P selanjutnya merupakan singkatan dari bahasa pemrograman Perl yang kerap digunakan untuk memenuhi berbagai macam kebutuhan. Perl ini bisa berjalan di dalam banyak sistem operasi sehingga sangat fleksibel dan banyak digunakan. Fungsi XAMPP Program aplikasi XAMPP berfungsi sebagai server lokal untuk mengampu berbagai jenis data website yang sedang dalam proses pengembangan. Dalam prakteknya, XAMPP bisa digunakan untuk menguji kinerja fitur ataupun menampilkan konten yang ada didalam website kepada orang lain tanpa harus terkoneksi dengan internet, cukup akses melalui Xampp control panel, atau istilahnya website offline. XAMPP bekerja secara offline layaknya web hosting biasa namun tidak bisa diakses oleh banyak orang.
89 Maka dari itu, XAMPP biasanya banyak digunakan oleh para mahasiswa maupun pelajar untuk melihat hasil desain website sebelum akhirnya dibuat online menggunakan web hosting yang biasa dijual dipasaran. 5.2. Installasi Xampp OS Windows Setelah mengenal lebih jauh lewat pengertian XAMPP, Kita tentu penasaran bagaimana langkah-langkah cara menginstall XAMPP di Laptop atau PC? Caranya tidak jauh berbeda kok dibandingkan dengan cara menginstall aplikasi komputer pada umumnya. Berikut panduan instalasi XAMPP selengkapnya: Langkah 1 Kita harus menyiapkan file XAMPP terlebih dahulu dengan cara mengunduh lewat link berikut ini https://www.apachefriends.org/download.html. Tenang, file ini bersifat gratis, jadi Kita tidak perlu mengeluarkan biaya lisensi. Jika sudah maka tampilan untuk download xampp nya, kalian bisa lihat di gambar di atas, di sini kita akan mendownload php versi 7.3.27 / PHP 7.3.27 Langkah 2 Berikutnya, jika sudah di klik, maka tunggu sampai selesai download nya Jika sudah maka, klik “Tampilkan dalam folder” Bentuk xampp yang sudah ter download seperti gambar dibawah ini:
90 Langkah 3 Setelah file berhasil didownload dengan sempurna langkah selanjutnya adalah Klik dua kali pada aplikasi xampp yang sudah terdownload, jika sudah, maka akan ada popup informasi, maka klik yes aja Langkah 4 Akan ada jendela baru yang terbuka sebagai indikasi dimulainya proses instalasi. Pada proses ini Kita akan diminta untuk memilih bahasa Indonesia atau English, pilih saja yang bahasa Indonesia kemudian klik next. Langkah 5 Setelah itu, Kita akan diminta untuk memilih komponen yang akan digunakan. Standar untuk server web berbasis CMS WordPress menggunakan MySQL, FileZilla FTP server, dan Apache, sedangkan dari bahasa pemrograman bisa menceklist pilihan phpMyAdmin, PHP, dan Perl. Kemudian klik next.
91 Langkah 6 Pada tahap ini kita diminta untuk memilih lokasi file XAMPP yang akan diinstal, gunakan saja pengatuan default lalu klik next/install. Langkah 7 Tunggu beberapa menit sampai proses instalasi XAMPP selesai yang ditandai dengan bar progress seluruhnya berubah menjadi warna hijau.
92 Langkah 8 Jika prosesnya sudah selesai Klik “finis”, maka tampilannya seperti di bawah ini: Kita sudah bisa menjalankan program XAMPP di laptop atau PC Windows untuk membuat website secara offline menggunakan localhost. 5.3. Membuat Database dan Tabel MySQL dengan PhpMyadmin Sebelum memulai membuka tools phpMyAdmin pastikan kita sudah menginstalnya terlebih dahulu. Aplikasi Xampp ini merupakan aplikasi panel untuk modul-modul yang kita perlukan seperti apache untuk local web server kita dan database mysql yang didalamnya sudah include tools phpMyAdmin tersebut. Langkah 1 Jika aplikasi xampp telah berhasil diinstal, sekarang buka aplikasi tersebut lalu kemudian klik tombol start pada module Apache dan MySQL.
93 Langkah 2 Jika tidak ada masalah, selanjutnya masuk ke phpMyAdmin di Xampp. ketik di browser alamat http://localhost/phpmyadmin/ seperti yang terlihat pada gambar dibawah ini: Langkah 3 Selanjutnya kita buat database baru dengan nama sims, tahapnya klik tombol new, kemudian masukkan nama databasenya lalu klik buat. Kita bebas menggunakan nama database apa saja tetapi hanya mengandung huruf, angka dan underscore ( tidak ada spasi ).
94 Kita telah berhasil membuat database, tahap selanjutnya kita aka membuat tabel Mata pelajaran, kelas, siswa, guru, users, profile sekolah . Mari kita mulai yang perta dulu untuk tabel tb_pelajaran Langkah 4 ( Membuat tabel ) Kita akan buat tabel tb_pelajaran dengan jumlah kolom sesuai dengan gambar diatas yaitu berjumlah 2 kolom. Selanjutnya kita klik tombol kirim. Langkah 5 Selanjutnya kita isi setiap field untuk mapel dan panjang nilainya serta index khusus untuk field/kolom yang akan dijadikan sebagai kunci utama (primary key). Pada tabel tb_pelajaran field yang tepat untuk dijadikan kunci utama adalah id karena salah satu syarat field yang menjadi kunci utama harus bersifat unik/tidak boleh sama Seperti pada gambar di atas primary key yang dijadikan pada field dengan tipe/jenis integer dan menggunakan auto_increment (dapat dilihat diantara kolom index dan komentar). dengan menggunakan auto_increment, kita tidak perlu entri nilainya, nilainya akan di generate secara otomatis oleh sistem sehingga terhindar dari duplikasi nilai. Setelah mengisisi setiap nilainya, selanjutnya klik tombol simpan dipaling bawah sebelah kanan. Langkah 6
95 Tabel tb_pelajaran telah berhasil kita buat, kalian bisa melihat kembali struktur tabelnya apakah sudah sesuai, jika ada yang keliru kalian bisa mengklik tombol ubah pada field/kolom yang ingin diubah. Langkah 7 ( Menambahkan Nilai ke tabel ) selanjutnya kita akan menambahkan nilai kedalam tabel, silahkan klik pada menu tambahkan di bagian atas, nanti akan muncul kolom untuk kita dapat mengisi nilai sesuai dengan field pada tabel tersebut Ketika sudah diisi nilainya kemudian klik tombol kirim pada bagia bawah, maka jika tidak ada kesalahan nanti datanya akan langsung tersimpan pada tabelnya. Uji Kompetensi
96 A. Pilihlah jawaban yang paling benar! 1. Konsep Apa yang digunakan dalam Codeigniter? … a. MVC b. CMS c. ORM d. VCM e. SQL 2. Alasan mengapa menggunakan Framework ? … a. Memepercepat dan mempermudah pembangunan aplikasi web b. Mempermudah maintenance c. Framework menyediakan fasilitas-fasilitas yng umum d. Semua jawaban benar e. Semua jawaban salah 3. Sintak untuk mencetak output “Hello World” di PHP ? … a. Count<<”Hello World”; b. System.out.print(“Hello World”); c. Document.write(“Hello World”) d. Echo”Hello World” e. Print “Hello World” 4. Apa saja kekuaranga Codigniter kecuali ? … a. Library terbatas b. Belum adanya editor khusus codeigniter c. Codeigniter di tunjukan untuk pembuatan web sekala besar d. Plugin-plugin tambahan tidak tersedia e. Freksibel untuk semua device 5. Apa fungsi Codeigniter ? a. Mempermudah maintence b. Menghasilkan struktur pemograman yg sangat rapih c. Mempercepat dan mempermudah dalam pembuatan website d. Semua jawaban benar e. Membuat malwer 6. OOP Merupakan singkatan dari ? a. Object Oriented Programming