Tutorial PHP Dasar

Operator

Pada video ini kita akan membahas mengenai Operator, yaitu simbol-simbol yang bisa kita gunakan untuk melakukan operasi menggunakan bahasa pemograman PHP. Berhubung PHP dibuat menggunakan bahasa C, maka kebanyakan operator yang digunakan pada PHP mirip dengan operator pada bahasa C. Jadi bagi teman-teman yang sudah pernah belajar bahasa pemograman seperti C, C++, C#, Java atau Javascript, akan bisa dengan cepat mempelajari materi operator PHP karena sebagai besar operatornya sama.

Kita masuk ke materi pertama yaitu operator aritmatika. Disini kita bisa menggunakan operator untuk melakukan operasi aritmatika atau matematika, seperti tanda + untuk menambah, tanda – untuk mengurangi. Untuk perkalian, biasanya komputer tidak menggunakan tanda x atau silang, melainkan menggunakan tanda bintang. Sedangkan untuk pembagian biasanya menggunakan garis miring.

Yang biasanya masih asing untuk programmer pemula adalah modulus atau sisa bagi. Operator yang digunakan disini adalah simbol %. Kita contohkan kalau kita hendak membagi 5 dengan 3, maka kita mendapatkan hasil 1 dan sisanya 2. Dengan menggunakan operator modulus, kita mengambil nilai sisanya, yaitu nilai 2.

Dan operator terakhir yang bisa digunakan adalah pangkat, dengan simbol dua buah tanda bintang.

Kita langsung coba praktek ya. Kita coba var_dump dengan nilai 2+3, maka kita mendapatkan hasil 5. Kalau kita ganti menjadi 2-3, maka hasilnya -1. Untuk perkalian, kita menggunakan tanda *, 2*3 hasilnya 6. Dan untuk pembagian kita menggunakan tanda /. Misalnya 6/3 hasilnya 2.

Yang menarik disini adalah operator modulus. Misalnya kita bagi 6 dengan 4. Maka hasilnya adalah 1,5. Sedangkan kalau kita coba 6 modulus 4, maka hasilnya adalah 2. Maksudnya adalah 6 di bagi 4 hasilnya adalah bilangan bulat 1, sedangkan sisanya 2. Maka modulus mengembalikan nilai 2.

Sedangkan operator terakhir adalah pangkat, dengan simbol dua buah tanda bintang. Kita coba misalkan 2**3 maka hasilnya adalah 8.

Operator selanjutnya adalah Operator Penugasan, atau Assignment. Gunanya adalah untuk menyimpan nilai ke dalam variable atau konstanta. Operator ini menggunakan simbol tanda sama dengan. Sebenarnya kita sudah pernah menggunakan operator ini pada video sebelumnya.

Yang menariknya disini adalah semua operator aritmatika yang kita pelajari tadi, bisa kita gabungkan dengan operator penugasan. Misalkan kalau kita hendak menambahkan $a dengan $b, dan kemudian nilainya kita simpan ke $a. Daripada kita menulis $a = $a + $b, lebih baik kita singkat menjadi $a += $b. Dan cara menyingkat ini bisa digunakan pada semua operator aritmatika.

Kita coba praktek. Misalkan kita buat variable $a dengan nilai 4, kemudian kita buat lagi variable $b dengan nilai 3. Kita tambahkan $a dengan $b dan hasilnya kita simpan ke $a. Kita coba var_dump nilai dari variable $a. Maka kita mendapatkan hasil 7.

Hasil yang sama bisa kita dapatkan dengan menggunakan operator penugasan. Sintaksnya menjadi lebih singkat, yaitu $a += $b. Dan hasilnya tetap 7.

Operator penugasan ini bisa kita gunakan juga untuk operator aritmatika lainnya. Sebagai contoh kalau operatornya kita ganti menjadi -= maka kita mendapatkan hasil 1. Teman-teman bisa mencoba sendiri untuk operator aritmatika lainnya.

Selanjutnya kita bahas mengenai operator penggabungan string. Untuk menggabungkan dua buah string, PHP menggunakan simbol tanda titik. Operator ini juga bisa kita gabungkan dengan operator penugasan dengan menggunakan simbol titik sama dengan.

Kita coba praktek ya. Misalkan variable $a isinya adalah string ‘Hello’. Sedangkan variable $b isinya adalah string ‘World’. Untuk menggabungkan variable $a dan $b, kita tidak bisa menggunakan tanda tambah. Karena isi kedua variable adalah string. Oleh karena itu kita mesti menggunakan tanda titik.

Kalau hasil dari penggabungan variable $a dan $b hendak disimpan ke variable $a, maka kita bisa menggunakan operator penugasan $a .= $b. Dan nilai dari variable $a berubah menjadi ‘HelloWorld’.

Sekarang kita bahas mengenai operator perbandingan. Operator ini digunakan untuk membandingkan dua buah nilai. Hasil dari operator perbandingan adalah tipe data bool, dengan nilai true apabila benar dan nilai false apabila salah.

Ada banyak simbol yang digunakan untuk operator perbandingan. Ini adalah tabel pertama. Untuk membandingkan apakah nilai kedua operand sama dengan, kita menggunakan simbol dua buah tanda sama dengan. Sedangkan untuk membandingkan apakah idendik, kita menggunakan simbol tiga buah tanda sama dengan. Untuk operasi tidak sama dengan, kita bisa menggunakan simbol lebih kecil lebih besar, atau menggunakan simbol tanda seru sama dengan. Sedangkan untuk operasi tidak idendik, kita mesti menggunakan simbol tanda seru dan dua buah sama dengan.

Apa perbedaan antara sama dengan dengan idendik? Nah, berhubung PHP secara otomatis mengatur tipe data, maka pada saat kita membandingkan 2 nilai, PHP mengubah tipe datanya menjadi sama. Kita akan mendapatkan nilai benar apabila membandingkan angka 2 dengan string 2. Apabila kita ingin membandingkan 2 nilai tanpa PHP mengubah tipe datanya, maka kita menggunakan operator identik.

Di tabel operator perbandingan kedua, kita bisa melihat simbol yang digunakan untuk operasi lebih kecil, lebih kecil atau sama dengan, lebih besar dan lebih besar atau sama dengan.

Kita langsung coba praktek. Misalkan kita membuat variable $a yang isinya 400. Kita coba cek apakah nilai variable $a sama dengan 400?

var_dump($a == 400);

Kita mendapatkan hasil yang berupa bool dengan nilai benar. Karena nilai $a sama dengan 400. Kalau kita ganti nilainya menjadi 401, maka kita mendapatkan jawaban salah.

Nah, yang biasanya menjadi masalah adalah kalau kita membandingkan variable $a dengan string ‘400’. Kedua tipe data adalah berbeda, yaitu int dan string. Namun PHP secara otomatis melakukan konversi tipe data dan sebagai hasilnya dianggap sebagai true.

Yang lebih anehnya lagi kalau kita membandingkan string ‘4e2’ dengan string ‘400’, ternyata kita mendapatkan hasil benar. Hal ini terjadi karena di PHP ada aturan bernama Numeric Strings. Nilai ‘4e2’ dianggap sebagai angka, karena berbentuk notasi eksponensial, dan nilainya dianggap sebagai 4 dikalikan dengan 10 pangkat 2, atau sama dengan 400. Jadi string ‘4e2’ dianggap sama dengan string ‘400’.

Untuk mencegah terjadinya bugs karena konversi tipe data otomatis seperti ini, maka kita bisa menggunakan operator identik. Kita tambahkan satu buah tanda sama dengan, agar operator sama dengan berubah menjadi identik. Dan sekarang nilai variable $a hanya identik dengan nilai 400. Tidak identik dengan nilai string ‘400’ dan string ‘4e2’.

Selanjutnya kita ganti nilai $a menjadi 4. Kita periksa apakah nilai $a lebih kecil dari 5? Jawabannya adalah benar, karena 4 lebih kecil dari 5. Semua nilai negatif, 0, 1, 2, 3, dan 4 adalah lebih kecil dari 5. Tapi tidak termasuk nilai 5 itu sendiri.

Kalau kita ganti nilai variable $a menjadi 5, maka kita mendapatkan jawaban salah. Kalau kita ingin memeriksa apakah nilai $a lebih kecil dari 5 dan termasuk angka 5, maka kita bisa menggunakan operator lebih kecil atau sama dengan 5. Dan kita pun mendapatkan hasil true.

Teman-teman bisa mencoba praktek sendiri dahulu untuk operator perbandingan lainnya. Nantinya kita akan sering menggunakan operator ini pada materi percabangan dan perulangan.

Selanjutnya kita bahas mengenai operator logika. Operator Logika digunakan untuk membandingkan 2 nilai bool, dan operator ini mengembalikan nilai bool juga.

Ada 4 buah operator logika pada PHP, yang pertama adalah operator “and”. Operator ini bisa menggunakan simbol && atau menggunakan kata kunci and. Operator “and” menghasilkan nilai benar hanya jika kedua nilai benar.

Operator kedua adalah operator “or”. Kita bisa menggunakan simbol || (dua buah garis vertikal) atau menggunakan kata kunci or. Operator “or” menghasilkan nilai benar, jika salah satu atau kedua nilai benar.

Operator ketiga adalah operator “xor” yang merupakan singkatan dari exclusive or. Xor menghasilkan nilai benar apabila kedua nilai berbeda. Jadi salah satu nilai harus benar dan nilai satunya lagi harus salah.

Sedangkan operator terakhir adalah operator not, yang menggunakan tanda seru. Operator ini hanya menggunakan satu operand dan berfungsi untuk membalikkan nilai true menjadi false, atau nilai false menjadi true.

Kita coba praktek. Pertama kita coba operator and dahulu ya. Kita buat var_dump untuk 4 buah kombinasi nilai benar dan salah. Kalau kita lihat hasilnya, yang pertama benar, sedangkan tiga berikutnya salah. Operator and hanya menghasilkan nilai benar kalau kedua nilai benar.

Kita ganti operatornya dari menggunakan simbol && menjadi menggunakan kata kunci and. Bagi yang menggunakan VS Code, disini ada trik ya. Kita tekan dan tahan tombol alt dan shift. Lalu kita klik and drag di depan simbol. Kursor kita berubah menjadi 4. Dan kita bisa mengubah keempat simbol dalam sekali ketik. Kalau kita lihat hasilnya, menggunakan simbol && dan menggunakan kata kunci and memberikan hasil yang sama.

Selanjutnya kita ganti menjadi operator or menggunakan simbol dua buah garis vertikal. Hasilnya tiga buah true dan yang terakhir false. Operator or menghasilkan nilai true apabila salah satu atau kedua nilai true, dan hanya menghasilkan false apabila kedua nilai false.

Kita ganti lagi menjadi operator xor. Kebetulan pada PHP, operator xor hanya bisa menggunakan kata kunci. Tidak bisa menggunakan simbol. Sebagai hasilnya, operator xor menghasilkan true apabila kedua nilai berbeda. Operator xor menghasilkan nilai false apabila kedua nilainya sama.

Dan yang terakhir kita coba operator not. Operator not hanya memerlukan satu operand, jadi kita mesti ubah kode untuk mencobanya. Kita coba var_dump nilai not true. Kita mendapatkan hasil false. Sedangkan kalau kita var_dump nilai false, maka kita mendapatkan nilai true. Jadi operator not ini memberikan nilai kebalikannya ya. Nilai true diubah menjadi false, sedangkan nilai false diubah menjadi true.

Kita masuk ke materi terakhir dari Operator yang kita bahas pada video ini, yaitu Operator Increment dan Decrement. Operator Increment menggunakan simbol ++, berfungsi untuk menaikkan 1 nilai pada variable. Sedangkan operator Decrement menggunakan simbol --, berfungsi untuk menurunkan 1 nilai pada variable.

Ada 2 cara untuk menggunakan operator ini. Yang pertama adalah kita taruh simbol ++ setelah nama variable, atau disebut post increment. Sedangkan yang kedua adalah menaruh simbol ++ sebelum nama variable, atau disebut pre increment. Agar lebih jelas maksudnya seperti apa, langsung kita praktekkan.

Misalnya kita membuat variable $a dengan nilai 1. Kemudian kita membuat variable $b yang nilainya diambil dari $a++. Artinya post-increment ya. Kita coba var_dump nilai $a dan $b. Hasilnya adalah nilai $a=2, sedangkan nilai $b=1.

Apa yang terjadi pada baris $b = $a++? Berhubung kita menggunakan post-increment, artinya kita menyimpan nilai $a ke dalam $b terlebih dahulu, setelah itu barulah kita menambah nilai $a dengan 1. Jadi kode satu baris ini sama dengan kode:

$b = $a;
$a += 1;

Kalau kita jalankan hasilnya sama ya.

Sekarang kita ganti menjadi pre-increment. $b = ++$a. Kalau kita jalankan, maka kita mendapatkan hasil 2 dan 2.

Jadi satu baris kode $b = ++$a ini berarti kita tambahkan dahulu nilai $a dengan 1. Kemudian barulah kita simpan nilai $a ke dalam variable $b.

$a += 1;
$b = $a;

Dari contoh ini teman-teman bisa mengerti ya. Perbedaan antara post-increment dan pre-increment adalah urutan pengerjaannya. Kalau kita menggunakan post-increment, maka nilai $a yang sekarang disimpan dahulu ke $b, setelah itu barulah nilai $a ditambah satu. Sehingga nilai $b menjadi 1. Sedangkan kalau kita menggunakan pre-increment, maka nilai $a ditambahkan 1 terlebih dahulu, setelah itu baru disimpan ke dalam $b. Sehingga nilai $b menjadi 2.

Yang menarik dari operator increment ini adalah bisa kita gunakan pada tipe data string dan null. Kalau misalkan nilai awal $a adalah null. Lalu kita increment. Maka nilai $a berubah menjadi integer 1.

Sedangkan kalau nilai awal $a adalah string ‘1’. Setelah kita increment, maka nilai $a berubah menjadi integer 2. Untuk tipe data string yang bisa diinterpretasikan sebagai angka, akan diperlakukan sebagai angka. Begitu juga string yang berisi notasi exponensial seperti ‘4e2’.

Kalau nilai string berisi huruf, maka huruf tersebut ditambahkan dengan satu. Misalkan huruf ‘i’ akan berubah menjadi ‘j’.

Materi terakhir dari video ini, kita akan membahas mengenai Operator Precedence. Setiap operator memiliki tingkatan, dimana operator yang tingkatnya lebih tinggi akan dieksekusi terlebih dahulu. Sebagai contoh, operator perkalian tingkatnya lebih tinggi daripada penjumlahan, sehingga perkalian dieksekusi terlebih dahulu. Sedangkan untuk operator logika, operator and yang menggunakan simbol tingkatnya lebih tinggi daripada operator and yang menggunakan kata kunci.

Agar lebih jelas bisa langsung kita praktekkan. Misalkan kita membuat operasi 2 + 3 * 4. Kalau kita mengerjakan dari kiri ke kanan, maka 2 kita tambahkan ke 3 dahulu, hasilnya 5. Kemudian 5 kita kalikan 4 sehingga hasilnya 20.

Namun karena adanya operator precedence, maka operasi perkalian dilakukan terlebih dahulu. 3 dikalikan dengan 4 terlebih dahulu, dan hasilnya adalah 12. Setelah itu barulah 2 ditambahkan ke 12, sehingga hasil akhirnya 14. Kalau script ini kita jalankan, maka kita mendapatkan hasil 14.

Kalau kita ingin agar operasi 2 ditambah 3 dilakukan terlebih dahulu, maka kita bisa menambahkan tanda kurung. Yang berada di dalam tanda kurung akan dilaksanakan terlebih dahulu. Sehingga kita mendapatkan hasil 20.

Walaupun kita sudah mengetahui bahwa 3 dikali 4 dilakukan terlebih dahulu, namun ada baiknya untuk penulisan kode seperti ini, kita tambahkan tanda kurung di bagian 3 dikali 4. Hal ini akan menambah kejelasan pada source code, sehingga lebih mudah untuk dibaca.

2 Jam 41 Menit

Dengan menggunakan fasilitas tanya jawab, maka Anda bisa bertanya dan akan dijawab langsung oleh instruktur kursus.

Anda belum terdaftar pada kursus ini sehingga tidak bisa mengajukan pertanyaan.