tag:blogger.com,1999:blog-20664660482473957122024-03-05T16:00:11.907-08:00Sinauo.ComSinauo.com merupakan website yang menyajikan beberapa tutorial tentang bahasa pemrograman berbasis web yang menarik untuk dipelajariSinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.comBlogger78125tag:blogger.com,1999:blog-2066466048247395712.post-71062991400414682702022-01-17T02:57:00.003-08:002022-01-18T19:56:04.763-08:00Penggunaan Pseudo Variable $this dalam Objek OOP PHP<p>Pada tutorial sebelumnya admin sudah membahas <a href="https://www.sinauo.com/2021/09/fungsi-variabel-this-dalam-oop-php.html" target="_blank">mengenai
variable <b>$this</b></a>, pada kesempatan kali
ini kita akan mempelajari cara penggunaanya melalui contoh program yang lebih
lengkap. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhdgD6daeKgfAUwAWgq3uxD7-8UYtneYGxZqbv0MdLdAJM6J0pZc2IWIW-YAUgqc-UrbKIroYbLFr40Y3Tyd9jOuScM9wk149nBMEG1zQP5gXzTshjIr2LIWCqRgA3cXVOujAGWJN67GRvMRCon7AJJIdcWZE09JqhWUW6aGtW-z6s54xIZ8FPbfNJn=s907" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="510" data-original-width="907" height="360" src="https://blogger.googleusercontent.com/img/a/AVvXsEhdgD6daeKgfAUwAWgq3uxD7-8UYtneYGxZqbv0MdLdAJM6J0pZc2IWIW-YAUgqc-UrbKIroYbLFr40Y3Tyd9jOuScM9wk149nBMEG1zQP5gXzTshjIr2LIWCqRgA3cXVOujAGWJN67GRvMRCon7AJJIdcWZE09JqhWUW6aGtW-z6s54xIZ8FPbfNJn=w640-h360" width="640" /></a></div><p></p><p class="MsoNormal">Perhatikan contoh berikut ini, admin membuat <b style="mso-bidi-font-weight: normal;">class sepeda_motor</b> dengan <i style="mso-bidi-font-style: normal;">method</i> yang saling terhubung (saling
memanggil <i style="mso-bidi-font-style: normal;">method</i> lain) menggunakan
variabel <b style="mso-bidi-font-weight: normal;">$this</b> silahkan perhatikan
alurnya dibawah ini :</p><pre><code><?php
// buat class sepeda_motor
class sepeda_motor {
// buat property untuk class sepeda_motor
public $pemilik;
public $merk;
// buat method untuk class sepeda_motor
public function hidupkan_sepeda_motor() {
return "Hidupkan sepeda motor $this->merk punya $this->pemilik";
}
public function matikan_sepeda_motor() {
return "Matikan sepeda motor $this->merk punya $this->pemilik";
}
public function restart_sepeda_motor() {
$matikan=$this->matikan_sepeda_motor();
$hidupkan= $this->hidupkan_sepeda_motor();
$restart=$matikan."<br />".$hidupkan;
return $restart;
}
}
// buat objek dari class sepeda_motor (instansiasi)
$sepeda_motor_amin = new sepeda_motor();
// isi property objek
$sepeda_motor_amin->pemilik="amin";
$sepeda_motor_amin->merk="honda";
echo $sepeda_motor_amin->hidupkan_sepeda_motor();
// hasil: "Hidupkan sepeda motor honda punya amin";
echo "<br />";
echo $sepeda_motor_amin->matikan_sepeda_motor();
// hasil: "Matikan sepeda motor honda punya amin";
echo "<br />";
echo $sepeda_motor_amin->restart_sepeda_motor();
// hasil:
// "Matikan sepeda motor honda punya amin";
// "Hidupkan sepeda motor honda punya amin";
?></code></pre><p class="MsoNormal">Pada contoh kode program diatas terdapat 2 <i style="mso-bidi-font-style: normal;">property</i> yaitu: <b style="mso-bidi-font-weight: normal;">$pemilik</b> dan <b style="mso-bidi-font-weight: normal;">$merk</b>,
kemudian terdapat juga 3 <i style="mso-bidi-font-style: normal;">method</i> yaitu
: <i style="mso-bidi-font-style: normal;">hidupkan_sepeda_motor()</i>, dan <i style="mso-bidi-font-style: normal;">restart_sepeda_motor()</i>. Di dalam <i style="mso-bidi-font-style: normal;">method</i> <i style="mso-bidi-font-style: normal;">hidupkan_sepeda_motor()</i>, admin memanggil <i style="mso-bidi-font-style: normal;">property</i> <b style="mso-bidi-font-weight: normal;">$pemilik</b> dan <b style="mso-bidi-font-weight: normal;">$merk</b>. Dikarenakan <i style="mso-bidi-font-style: normal;">property</i> tersebut akan di panggil dari objek, maka kita wajib
menggunakan variabel <b style="mso-bidi-font-weight: normal;">$this</b>.</p><pre><code>"Hidupkan sepeda motor $this->merk punya $this->pemilik";</code></pre><p class="MsoNormal">Nantinya variabel <b style="mso-bidi-font-weight: normal;">$this</b>
yang akan merujuk kepada objek yang memanggil <i style="mso-bidi-font-style: normal;">method</i>. Seperti pada contoh diatas terdapat objek
$sepeda_motor_amin maka perintah hasil yang dijalankan seperti berikut ini :<o:p></o:p></p><pre><code>"Hidupkan sepeda motor $sepeda_motor->merk punya $sepeda_motor->pemilik";</code></pre><p class="MsoNormal">Untuk <i style="mso-bidi-font-style: normal;">method</i> <i style="mso-bidi-font-style: normal;">matikan_sepeda_motor()</i> juga menggunakan
pola perintah yang sama seperti diatas.<o:p></o:p></p>
<p class="MsoNormal">Pada <i style="mso-bidi-font-style: normal;">method</i> <i style="mso-bidi-font-style: normal;">restart_sepeda_motor()</i> dalam
struktur-nya admin memanggil <i style="mso-bidi-font-style: normal;">method</i> <i style="mso-bidi-font-style: normal;">matikan_sepeda_motor()</i> dan <i style="mso-bidi-font-style: normal;">hidupkan_sepeda_motor()</i>. Dan pada <i style="mso-bidi-font-style: normal;">property</i> <b style="mso-bidi-font-weight: normal;">$pemilik</b> dan <b style="mso-bidi-font-weight: normal;">$merk</b>
terdapat variabel <b style="mso-bidi-font-weight: normal;">$this</b> untuk
memanggil <i style="mso-bidi-font-style: normal;">method</i>. Kemudain hasil
pemanggilan kedua <i style="mso-bidi-font-style: normal;">method</i> ( <i style="mso-bidi-font-style: normal;">hidupkan_sepeda_motor()</i> & <i style="mso-bidi-font-style: normal;">matikan_sepeda_motor()</i> ) tersebut
tersambung dan tersimpan dalam variable $<i style="mso-bidi-font-style: normal;">restart_sepeda_motor()</i>.<o:p></o:p></p> <pre><code>public function restart_sepeda_motor() {
$matikan=$this->matikan_sepeda_motor();
$hidupkan= $this->hidupkan_sepeda_motor();
$restart=$matikan."<br />".$hidupkan;
return $restart;
}
<br /></code></pre>Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com0tag:blogger.com,1999:blog-2066466048247395712.post-86456622317225371102022-01-14T01:28:00.000-08:002022-01-14T01:28:01.758-08:00Pengertian Enkapsulasi pada OOP PHP<p> Apa itu <b><i>Enskapsulasi </i></b>? <i>Pada pemrograman berbabsis objek</i> <b>(OOP)</b> <i>Enskapsulasi </i>menjadi
salah satu aspek terpenting. Pada proses <i>enkapsulasi
</i>diterapkan dengan 3 jenis hak skses yaitu : <b>Public</b>, <b>Protected</b> dan <b>Private</b>.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh41yUsKYJqeqSoRpY395KpnMPWtqVWYuhexY7SYRVU5i_tu8cOSbi0VtFvCWqQGqKAVzd-wFJxZtjHS2kpQWVssJXVdXxmOdFpld-NwGlSH8wfgu9gKRmYgpoEDgV9oZ6t2Xi7G8oiYX3L2h1K7QTPj_Dl4rkuhyikVv8XN3A3mM_NB4Wr5DkCi3fZ=s907" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="510" data-original-width="907" height="360" src="https://blogger.googleusercontent.com/img/a/AVvXsEh41yUsKYJqeqSoRpY395KpnMPWtqVWYuhexY7SYRVU5i_tu8cOSbi0VtFvCWqQGqKAVzd-wFJxZtjHS2kpQWVssJXVdXxmOdFpld-NwGlSH8wfgu9gKRmYgpoEDgV9oZ6t2Xi7G8oiYX3L2h1K7QTPj_Dl4rkuhyikVv8XN3A3mM_NB4Wr5DkCi3fZ=w640-h360" width="640" /></a></div><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><i style="mso-bidi-font-style: normal;">Enskapsulasi</i> atau
dalam Bahasa Inggris-nya <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">encapsulation</i></b> merupakan sebuah
metode yang digunakan untuk mengatur <i style="mso-bidi-font-style: normal;">class</i>
dengan cara menyembunyikan alur kerja dari <i style="mso-bidi-font-style: normal;">class</i>
tersebut. Struktur <i style="mso-bidi-font-style: normal;">class</i> yang
dimaksud disini adalah <i style="mso-bidi-font-style: normal;">property</i> dan <i style="mso-bidi-font-style: normal;">method</i>. <o:p></o:p></p>
<p class="MsoNormal"><i style="mso-bidi-font-style: normal;">Enskapsulasi</i>
dikenal juga dengan ‘<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">Information hiding’</i></b>, Dengan
menggunakan <i style="mso-bidi-font-style: normal;">enkapsulasi </i>kita dapat
membuat pembatasan hak akses kepada <i style="mso-bidi-font-style: normal;">property</i>
dan <i style="mso-bidi-font-style: normal;">method</i>. Sehingga hanya <i style="mso-bidi-font-style: normal;">property</i> dan <i style="mso-bidi-font-style: normal;">method</i> tertentu yang hanya dapat diakses dari luar <i style="mso-bidi-font-style: normal;">class</i>. Sehingga dengan menggunakan <i style="mso-bidi-font-style: normal;">Enskapsulasi</i> kita dapat dengan mudah
menentukan <i style="mso-bidi-font-style: normal;">method</i> dan <i style="mso-bidi-font-style: normal;">property</i> mana saja yang dapat di akses
dan mana yang tidak boleh di akses dengan mudah. <o:p></o:p></p>
<p class="MsoNormal">Untuk membuat batasan hak akses kepada <i style="mso-bidi-font-style: normal;">property</i> dan <i style="mso-bidi-font-style: normal;">method</i> dalam
sebuah <i style="mso-bidi-font-style: normal;">class</i>, <b style="mso-bidi-font-weight: normal;">OOP</b> (<i style="mso-bidi-font-style: normal;">Objek Oriented
Programing</i>) menyediakan 3 kata kunci yaitu <b style="mso-bidi-font-weight: normal;">Public</b>, <b style="mso-bidi-font-weight: normal;">Protected</b> dan <b style="mso-bidi-font-weight: normal;">Private</b>. Kata kunci tersebut di
letakkan sebelum <i style="mso-bidi-font-style: normal;">property</i> atau
sebelum <i style="mso-bidi-font-style: normal;">method</i>.<o:p></o:p></p><p class="MsoNormal"></p><h3 style="text-align: left;">Hak Akses <b style="mso-bidi-font-weight: normal;">Public</b></h3><p class="MsoNormal"><o:p></o:p></p><p class="MsoNormal">Saat sebuah <i style="mso-bidi-font-style: normal;">property</i>
atau <i style="mso-bidi-font-style: normal;">method</i> dinyakan sebagai <b style="mso-bidi-font-weight: normal;">Public</b>, maka semua kode program yang
berada dalam luar <i style="mso-bidi-font-style: normal;">class</i> dapat
mengakses-nya. termasuk <i style="mso-bidi-font-style: normal;">class</i> itu
sendiri / <i style="mso-bidi-font-style: normal;">class</i> turunan.<o:p></o:p></p>
<p class="MsoNormal">Contoh penulisan <b style="mso-bidi-font-weight: normal;">Public</b>
dalam <i style="mso-bidi-font-style: normal;">property</i> dan <i style="mso-bidi-font-style: normal;">method</i>:</p><p></p><pre><code><?php
// buat class sepeda motor
class sepeda_motor {
// buat Public property
Public $pemilik;
// buat Public method
Public function hidupkan_sepeda_motor() {
return "Hidupkan sepeda motor";
}
}
// buat objek dari class sepeda motor (instansiasi)
$sepeda_motor_andi = new sepeda_motor();
// set property
$sepeda_motor_andi->pemilik="andi";
// tampilkan property
echo $sepeda_motor_andi->pemilik; // andi
// tampilkan method
echo $sepeda_motor_andi->hidupkan_sepeda_motor(); // "Hidupkan sepeda motor"
?><br /></code></pre>Seperti yang dapat kita lihat pada kode program diatas ada
penambahan kata <b>Public</b> sebelum nama <i>property</i> dan <i>method</i>. Jika pada hak akses <i>property</i>
dan <i>method</i> tidak tertulis, maka PHP
akan menganggapnya sebagai <b>Public</b>.<p class="MsoNormal"><o:p></o:p></p>
<h3 style="text-align: left;">Hak Akses <b>Protected</b></h3><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>Dalam sebuah <i>property</i>
atau <i>method</i> jika terdapat atu di
nyatakan sebagai <b>Protected</b>, maka <i>property</i> atau <i>method</i> tersebut tidak dapat di akses dari luar <i>class</i>, tapi dapat akses oleh <i>class</i>
-nya sendiri atau turunan <i>class</i>
tersebut. Apabila kita mengakses <b>Protected</b>
yang ada di <i>property</i> maupun <i>method</i> dari luar <i>class</i> maka akan terjadi error.
<br />
<pre><code><?php
// buat class sepeda motor
class sepeda_motor {
// buat Protected property
Protected $pemilik;
// buat Protected method
Protected function hidupkan_sepeda_motor() {
return "Hidupkan sepeda motor";
}
}
// buat objek dari class sepeda motor (instansiasi)
$sepeda_motor_andi = new sepeda_motor();
// set property
$sepeda_motor_andi->pemilik="andi";
// tampilkan property
echo $sepeda_motor_andi->pemilik; // andi
// tampilkan method
echo $sepeda_motor_andi->hidupkan_sepeda_motor(); // "Hidupkan sepeda motor"
?><br /></code></pre>Maka hasilnya akan error seperti berikut ini<p class="MsoNormal"><o:p></o:p></p><hasil>Fatal error: Uncaught Error: Cannot access Protected property sepeda_motor::$pemilik in C:\xampp\htdocs\contoh\index.php:19 Stack trace: #0 {main} thrown in C:\xampp\htdocs\contoh\index.php on line 19</hasil><p>Pada contoh diatas, pemanggilan <i>property</i> <b>$pemilik</b> & <i>method</i> <b>hidupkan_sepeda_motor() </b>dari luar <i>class</i> maka akan terjadi error. Akses level <b>Protected</b> bisa dii akses dari dalam <i>class</i> itu sendiri namun tidak dapat di akses dari luar <i>class</i> perhatikan contoh berikut ini :</p><pre><code><?php
// buat class sepeda_motor
class sepeda_motor {
// buat Protected property
Protected $pemilik="Andi ";
Public function akses_pemilik() {
return $this->pemilik;
}
Protected function hidupkan_sepeda_motor() {
return "Hidupkan sepeda motor";
}
Public function paksa_hidup() {
return $this->hidupkan_sepeda_motor();
}
}
// buat objek dari class sepeda_motor (instansiasi)
$sepeda_motor_andi = new sepeda_motor();
// jalankan method akses_pemilik()
echo $sepeda_motor_andi->akses_pemilik(); // "andi"
// jalankan method paksa_hidup()
echo $sepeda_motor_andi->paksa_hidup(); // "Hidupkan sepeda_motor"
?><br /></code></pre>Pada contoh kode program di atas saya menambahkan sebuah <b>Public</b> <i>method</i> yang menampilkan <i>property</i>
<b>$pemilik</b>, yaitu <b>akses_pemilik()</b>. Dan begitu juga dengan <i>method</i> <b>hidupkan_sepeda_motor()</b>.
Yang saya tambahkan <i>method</i> <b>paksa_hidup()</b> secara internal akan
dapat mengakses <i>method</i> <b>hidupkan_sepeda_motor()</b>. Fungsi dari
penambahan <b>Public</b> <i>method</i> <b>akses_pemilik</b> dan <b>paksa_hidup</b>
agar pengaksesan dari luar <i>class</i>
tidak terjadi error.<p class="MsoNormal"><o:p></o:p></p>
Contoh Hak akses <b>Protected</b> yang dapat diakses dari <i>class</i> turunan
<pre><code><?php
// buat class kendaraan
class kendaraan{
// property dengan hak akses Protected
Protected $jenis_kendaraan = "Roda Dua";
}
// buat class sepeda_motor
class sepeda_motor extends kendaraan{
Public function tampilkan_kendaraan() {
return $this->jenis_kendaraan;
}
}
// buat objek dari class sepeda_motor (instansiasi)
$sepeda_motor_baru = new sepeda_motor();
// jalankan method
echo $sepeda_motor_baru->tampilkan_kendaraan(); // "Roda Dua"
?></code></pre><p class="MsoNormal">Perhatikan kode diatas, walaupun <i style="mso-bidi-font-style: normal;">method</i> <b style="mso-bidi-font-weight: normal;">$jenis_kendaraan</b>
di set sebagai <b style="mso-bidi-font-weight: normal;">Protected</b> pada <i style="mso-bidi-font-style: normal;">class</i> <b style="mso-bidi-font-weight: normal;">kendaraan</b>, tetapi masih dapat diakses dari <i style="mso-bidi-font-style: normal;">class</i> <b style="mso-bidi-font-weight: normal;">sepeda_motor</b> yang
merupakan turunan <i style="mso-bidi-font-style: normal;">class</i> dari <i style="mso-bidi-font-style: normal;">class</i> <b style="mso-bidi-font-weight: normal;">kendaraan</b>.<o:p></o:p></p>
<h3 style="text-align: left;">Hak Akses <b style="mso-bidi-font-weight: normal;">Private</b></h3><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Hak akses <b style="mso-bidi-font-weight: normal;">Private</b>,
jika dalam sebuah <i style="mso-bidi-font-style: normal;">property</i> atau
methot di set sebagai <b style="mso-bidi-font-weight: normal;">Private</b>, maka
yang hanya dapat mengakses adalah <i style="mso-bidi-font-style: normal;">class</i>
itu sendiiri. <i style="mso-bidi-font-style: normal;">Class</i>-<i style="mso-bidi-font-style: normal;">class</i> yang lain-pun tidak dapat
mengaksesnya walaupun <i style="mso-bidi-font-style: normal;">class</i> tersebut <i style="mso-bidi-font-style: normal;">class</i> turunan. <o:p></o:p></p>
<p class="MsoNormal">Hak akses <b style="mso-bidi-font-weight: normal;">Private</b>
sering kali digunakaan untuk menyembunyikan <i style="mso-bidi-font-style: normal;">property</i>
dan <i style="mso-bidi-font-style: normal;">method</i> agar tidak dapat diakses
dari luar <i style="mso-bidi-font-style: normal;">class</i>.<o:p></o:p></p>
<p class="MsoNormal">Contoh hak akses <b style="mso-bidi-font-weight: normal;">Private</b>
:</p><pre><code><?php
// buat class kendaraan
class kendaraan {
// property dengan hak akses Protected
Private $jenis_kendaraan = "Roda dua";
Public function tampilkan_kendaraan() {
return $this->jenis_kendaraan;
}
}
// buat class sepeda_motor
class sepeda_motor extends kendaraan{
Public function tampilkan_kendaraan() {
return $this->jenis_kendaraan;
}
}
// buat objek dari class sepeda_motor (instansiasi)
$kendaraan_baru = new kendaraan();
$sepeda_motor_baru = new sepeda_motor();
// jalankan method dari class kendaraan
echo $kendaraan_baru->tampilkan_kendaraan(); // "Roda dua"
// jalankan method dari class sepeda_motor (error)
echo $sepeda_motor_baru->tampilkan_kendaraan();
?>
</code></pre><p class="MsoNormal">Maka akan terjadi error seperti berikut ini :</p><div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhCFj1aK7oEQ_SgMShmo9X6-jTnIP8mFaEkzvbTFrXrzSHKz3IszWooFpsRarTK1kmh2S2gT9I3Zk1oEZze-EGjcWRFSspmc1g_FB5GteMPsXtTFlAKfVhsCzmNVnJMPm-mWLRbKY3-asb6TgHzXpVkrHULTk6gqq-xLCHgATKj4BNc8UAkIypNU4E9=s813" imageanchor="1"><img border="0" data-original-height="245" data-original-width="813" height="192" src="https://blogger.googleusercontent.com/img/a/AVvXsEhCFj1aK7oEQ_SgMShmo9X6-jTnIP8mFaEkzvbTFrXrzSHKz3IszWooFpsRarTK1kmh2S2gT9I3Zk1oEZze-EGjcWRFSspmc1g_FB5GteMPsXtTFlAKfVhsCzmNVnJMPm-mWLRbKY3-asb6TgHzXpVkrHULTk6gqq-xLCHgATKj4BNc8UAkIypNU4E9=w640-h192" width="640" /></a></div>
<p class="MsoNormal">Pada kode diatas, terdapat dua <i style="mso-bidi-font-style: normal;">class</i> yaitu <i style="mso-bidi-font-style: normal;">class</i> <b style="mso-bidi-font-weight: normal;">kendaraan</b> dan <i style="mso-bidi-font-style: normal;">class</i> <b style="mso-bidi-font-weight: normal;">sepeda_motor</b>. <i style="mso-bidi-font-style: normal;">class</i> <b style="mso-bidi-font-weight: normal;">sepeda_motor</b> merupakan <i style="mso-bidi-font-style: normal;">class</i>
turunan dari <i style="mso-bidi-font-style: normal;">class</i> <b style="mso-bidi-font-weight: normal;">kendaraan</b>. Di dalam <i style="mso-bidi-font-style: normal;">class</i> <b style="mso-bidi-font-weight: normal;">kendaraan</b> terdapat <i style="mso-bidi-font-style: normal;">property</i>
<b style="mso-bidi-font-weight: normal;">$jenis_kendaraan</b> dengak akses level <b style="mso-bidi-font-weight: normal;">Private</b>. Dalam <i style="mso-bidi-font-style: normal;">class</i> <b style="mso-bidi-font-weight: normal;">kendaraan</b> dan <i style="mso-bidi-font-style: normal;">class</i> <b style="mso-bidi-font-weight: normal;">sepeda_motor</b> terdapat <i style="mso-bidi-font-style: normal;">method</i>
<b style="mso-bidi-font-weight: normal;">tampilkan_kendaraan()</b> yang digunakan
untuk mengakses <i style="mso-bidi-font-style: normal;">property</i> <b style="mso-bidi-font-weight: normal;">$jenis_kendaraan</b>.<o:p></o:p></p>
<p class="MsoNormal">Pengaksesan <i style="mso-bidi-font-style: normal;">method</i>
<b style="mso-bidi-font-weight: normal;">tampilkan_kendaraan()</b> dari objek <b style="mso-bidi-font-weight: normal;">$kendaraan_baru</b> sukses di tampilkan
karena berada dalam satu <i style="mso-bidi-font-style: normal;">class</i> dimana
<i style="mso-bidi-font-style: normal;">property</i> <b style="mso-bidi-font-weight: normal;">$jenis_kendaraan</b> berada. Namun jika <i style="mso-bidi-font-style: normal;">method</i> <b style="mso-bidi-font-weight: normal;">$tampilkan_kendaraan</b>
di akses dari objek <b style="mso-bidi-font-weight: normal;">$sepeda_motor</b>_baru
yang merupakan turunan dari <i style="mso-bidi-font-style: normal;">class</i> <b style="mso-bidi-font-weight: normal;">kendaraan</b>, maka akan mengeluarkan error
<i style="mso-bidi-font-style: normal;">property</i> <b style="mso-bidi-font-weight: normal;">$jenis_kendaraan</b> tidak dikenal.<o:p></o:p></p>Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com0tag:blogger.com,1999:blog-2066466048247395712.post-41947436586120280222022-01-13T01:57:00.005-08:002022-01-13T01:57:45.611-08:00Membuat dan Mengakses Objek di Dalam PBO PHP<p> Pada tutorial sebelumnya kita sudah membahas <a href="https://www.sinauo.com/2022/01/pengertian-class-property-object-dan.html" target="_blank">mengenai <i>class, property, method</i> dan <i>object</i></a>. Istilah dari <i>object</i> dalam <b>OOP PBO</b> merupakan kumpulan
yang terdiri dari <i>class, property, method</i>
dan objek.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgAAOliiRPzLyNs5ZAEpylJJmpR704yezq-KyomE1j9l30knwYx4ykDuKlGqdCCsLmnhdySu-gBxGep65a_nhOwZGPNRaqYqTmL-iPxVIa8pd4faiuUBToS_5FW6FqleOv3A2sQWwYR8ylnRAoeikuLGZjKOCmRUHD_ut9-2rq3cKPumglUW0YQ2oue=s640" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="360" data-original-width="640" height="360" src="https://blogger.googleusercontent.com/img/a/AVvXsEgAAOliiRPzLyNs5ZAEpylJJmpR704yezq-KyomE1j9l30knwYx4ykDuKlGqdCCsLmnhdySu-gBxGep65a_nhOwZGPNRaqYqTmL-iPxVIa8pd4faiuUBToS_5FW6FqleOv3A2sQWwYR8ylnRAoeikuLGZjKOCmRUHD_ut9-2rq3cKPumglUW0YQ2oue=w640-h360" width="640" /></a></div><p></p><p class="MsoNormal">Cara mengakses <i style="mso-bidi-font-style: normal;">objek</i>
yang dimaksud adalah cara untuk memanggil atau mengakses isi dari sebuah <i style="mso-bidi-font-style: normal;">objek</i>, yaitu <i style="mso-bidi-font-style: normal;">property </i>dan <i style="mso-bidi-font-style: normal;">method</i>. Agar
lebih mudah perhatikan contoh berikut ini :</p><pre><code><?php
// buat class sepeda_motor
class sepeda_motor {
// buat property untuk class sepeda_motor
var $pemilik;
var $merk;
var $jenis;
// buat method untuk class sepeda_motor
function hidupkan_sepeda_motor() {
return "Hidupkan sepeda_motor";
}
function matikan_sepeda_motor() {
return "Matikan sepeda_motor";
}
}
// buat objek dari class sepeda_motor (instansiasi)
$sepeda_motor_deni = new sepeda_motor();
// set property
$sepeda_motor_deni->pemilik="Deni";
$sepeda_motor_deni->merk="Honda";
$sepeda_motor_deni->jenis="Metik";
// tampilkan property
echo $sepeda_motor_deni->pemilik;
echo "<br />";
echo $sepeda_motor_deni->merk;
echo "<br />";
echo $sepeda_motor_deni->jenis;
echo "<br />";
// tampilkan method
echo $sepeda_motor_deni->hidupkan_sepeda_motor();
echo "<br />";
echo $sepeda_motor_deni->matikan_sepeda_motor();
?>
</code></pre><p class="MsoNormal">Jika kode di atas dijalankan atau di <i style="mso-bidi-font-style: normal;">run</i> maka hasilnya akan seperti berikut ini :</p>
<hasil>
Deni<br />
Honda<br />
Metik<br />
Hidupkan Sepeda Motor<br />
Matikan Sepeda Motor<br />
</hasil>
<p>Dari kode di atas
terdapat <b><i>class</i></b> dengan nama <b>class
sepeda_motor</b></p><pre><code>class sepeda_motor() {
</code></pre><p class="MsoNormal">Kurung kurawal di atas menandakan sebagai awal dari <i style="mso-bidi-font-style: normal;">class</i>.<o:p></o:p></p>
<p class="MsoNormal">Kemudian baris selanjutnya terdapat pendefinisian dari <i style="mso-bidi-font-style: normal;">variabel class</i>, atau yang dikenal dengan
<i style="mso-bidi-font-style: normal;">property</i>. <b style="mso-bidi-font-weight: normal;">Property</b> bisa dikatakan hanya variabel biasa yang berada didalam <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">class</i></b>.
<i style="mso-bidi-font-style: normal;">Keyword var</i> berguna untuk
mendeklarasi <i style="mso-bidi-font-style: normal;">variabel</i> dalam <i style="mso-bidi-font-style: normal;">class</i>.</p><pre><code>var $pemilik;
var $merk;
var $jenis;</code></pre><p class="MsoNormal">Setelah memahami <b style="mso-bidi-font-weight: normal;">class</b>
dan <b style="mso-bidi-font-weight: normal;">property</b> di atas terdapat juga 2
fungsi yaitu <o:p></o:p></p>
<pre><code>function hidupkan_sepeda_motor() {
return "Hidupkan sepeda_motor";
}
function matikan_sepeda_motor() {
return "Matikan sepeda_motor";
} </code></pre><p class="MsoNormal">Dua <i style="mso-bidi-font-style: normal;">fungsi </i>tersebut
merupakan <i style="mso-bidi-font-style: normal;">method</i> dari <i style="mso-bidi-font-style: normal;">class sepeda_motor</i>. Kedua contoh
tersebut hanyalah fungsi biasa yang mengembalikan nilai berupa <i style="mso-bidi-font-style: normal;">string</i>. Jika anda belum mengenal apa itu
<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">fungsi
/ function</i></b> silahkan artikel sebelumnya yang pernah di bahas <a href="https://www.sinauo.com/2020/04/memahami-function-fungsi-dan-prosedur.html" target="_blank">Memahami function ( fungsi ) dan prosedur PHP.</a></p><pre><code>$sepeda_motor_deni = new sepeda_motor();</code></pre><p class="MsoNormal">Baris ini berisi perintah pembuatan objek dari <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">class
sepeda_motor</i></b> (proses instansiasi) variabel <b style="mso-bidi-font-weight: normal;">$sepeda_motor_deni</b> berisi objek dari <b style="mso-bidi-font-weight: normal;">class sepeda_motor</b>. Sekarang kita akan coba mengakses <i style="mso-bidi-font-style: normal;">property</i> dan <i style="mso-bidi-font-style: normal;">method</i> <b style="mso-bidi-font-weight: normal;">class sepeda_motor</b>
melalui <i style="mso-bidi-font-style: normal;">objek</i> <b style="mso-bidi-font-weight: normal;">$sepeda_motor_deni</b>.<o:p></o:p></p>
<pre><code>$sepeda_motor_deni->pemilik="Deni";
$sepeda_motor_deni->merk="Honda";
$sepeda_motor_deni->jenis="Metik";</code></pre><p class="MsoNormal">Tiga baris diatas merupakan cara untuk men-set nilai /
memasukan nilai ke dalam<i style="mso-bidi-font-style: normal;"> property</i>
dari objek <b style="mso-bidi-font-weight: normal;">$sepeda_motor_deni</b>.
Perhatikan pada kode diatas kita menggunakan <i style="mso-bidi-font-style: normal;">tanda panah</i> <b style="mso-bidi-font-weight: normal;">(->)</b> yang
berfungsi untuk mengakses <i style="mso-bidi-font-style: normal;">property</i>
dari <i style="mso-bidi-font-style: normal;">objek</i>. Tanda tanah tersebut
merupakan <b style="mso-bidi-font-weight: normal;">operator khusus objek</b> yang
dikenal dengan ‘<i style="mso-bidi-font-style: normal;">Object Operator’</i>. Dalam
penulisan nama <i style="mso-bidi-font-style: normal;">property</i> dilakukan
tanpa menggunakan tanda dolar <b style="mso-bidi-font-weight: normal;">($)</b>,
sehingga <i style="mso-bidi-font-style: normal;">property</i> <b style="mso-bidi-font-weight: normal;">$pemilik</b> di akses dengan <b style="mso-bidi-font-weight: normal;">$sepeda_motor_deni->pemilik.</b></p><pre><code>echo $sepeda_motor_deni->pemilik;
echo "<br />";
echo $sepeda_motor_deni->merk;
echo "<br />";
echo $sepeda_motor_deni->jenis;
echo "<br />";</code></pre><p class="MsoNormal">Kode diatas berfungsi untuk menampilkan nilai <i style="mso-bidi-font-style: normal;">property</i> dari objek <b style="mso-bidi-font-weight: normal;">$sepeda_motor_deni</b> yang sudah diset nilainya.</p>
<pre><code>echo $sepeda_motor_deni->hidupkan_sepeda_motor();
echo "<br />";
echo $sepeda_motor_deni->matikan_sepeda_motor();
</code></pre><p class="MsoNormal">Kode diatas mempunyai fungsi untuk memanggil <b style="mso-bidi-font-weight: normal;">method </b>dari objek <b style="mso-bidi-font-weight: normal;">$sepeda_motor_deni</b>. Cara mengaksesnya sama dengan pengaksesan <i style="mso-bidi-font-style: normal;">property</i>, namun dikarenakan <i style="mso-bidi-font-style: normal;">method</i> adalah fungsi, maka kita
tambahkan tanda kurung<b style="mso-bidi-font-weight: normal;"> ()</b> di akhir
pemanggilan fungsi.</p>Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com0tag:blogger.com,1999:blog-2066466048247395712.post-41317558002811196712022-01-12T01:40:00.003-08:002022-01-12T01:40:59.154-08:00Pengertian Class, Property, Object dan Method dalam PBO PHP<p>Kemarin kita sudah mempelajari tentang <a href="https://www.sinauo.com/2022/01/belajar-oop-php-pemrograman-berbasis.html" target="_blank">pengertian dari <i>Pemrograman Berbasis Objek</i></a>, ternyata
dalam <b>PBO</b> kita tidak hanya membahas
mengenai <i>objek</i> saja namun ada
beberapa teman-temannya yang akan kita bahas dalam tutorial kali ini. Pada
tutorial kali ini kita akan membahas mengenai pengertian dari <i>Property, Class, Object</i> dan <i>Method.</i></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjbrMBZJHhGr2Zs71SFhUE8PGOg_LZxNd3KUTpuCIjInnfkp6yAmP1wEV2FPI-v31RMwimWT2AYuHzsCDhqWWxIz8Uj_CJ2qcNg9IMquBwUfw9uA-LguZYtZ2P3zERw8chmUbkRQLZIgjSL1-acIiGzFEYaO1vehNVw8SWNxg9izpAgS36anuqfSce-=s640" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="360" data-original-width="640" height="360" src="https://blogger.googleusercontent.com/img/a/AVvXsEjbrMBZJHhGr2Zs71SFhUE8PGOg_LZxNd3KUTpuCIjInnfkp6yAmP1wEV2FPI-v31RMwimWT2AYuHzsCDhqWWxIz8Uj_CJ2qcNg9IMquBwUfw9uA-LguZYtZ2P3zERw8chmUbkRQLZIgjSL1-acIiGzFEYaO1vehNVw8SWNxg9izpAgS36anuqfSce-=w640-h360" width="640" /></a></div><i><br /></i><p></p><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-size: 14pt; line-height: 107%; mso-bidi-font-size: 11.0pt;">Pengertian
Class dalam PBO.<o:p></o:p></span></b></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">Class</i></b> merupakan <i style="mso-bidi-font-style: normal;">blueprint
(cetak biru)</i> dari object. <b style="mso-bidi-font-weight: normal;">Class</b>
digunkan untuk membuat kerangka daasar yang nantinya hasilnya akan berupa <i style="mso-bidi-font-style: normal;">object</i>. <o:p></o:p></p>
<p class="MsoNormal">Sebagai contoh <b style="mso-bidi-font-weight: normal;">class</b>
sebuah <b style="mso-bidi-font-weight: normal;">sepeda motor</b>. Kita tahu bahwa
sepeda motor mempunyai ciri-ciri seperti <i style="mso-bidi-font-style: normal;">merek,
warna, jenis</i>, dan beberapa khas lain yang menyatakan sebuah benda tersebut
adalah sepeda motor.<b style="mso-bidi-font-weight: normal;"> Class</b> dapat di
analogikan sebagai gambaran umum tentang sebuah benda. <o:p></o:p></p>
<p class="MsoNormal"><span style="mso-spacerun: yes;"> </span>Dalam PHP, penulisan
sebuah <b style="mso-bidi-font-weight: normal;">Class</b> di awali dengan <i style="mso-bidi-font-style: normal;">keyword class</i>, kemudian diikuti dengan
nama dari <b style="mso-bidi-font-weight: normal;">class</b>, Aturan dalam
penulisan sebuah <b style="mso-bidi-font-weight: normal;">class</b> sama seperti
saat membuat sebuah variabel dalam PHP, yaitu tidak boleh ada spasi <i style="mso-bidi-font-style: normal;">didalam nama class</i>. Isi <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">class</i></b>
terdapat di Antara kurung kurawal ( { } )<o:p></o:p></p>
<p class="MsoNormal">Contoh penulisan <b><i>class</i></b> di PHP.</p><pre><code><?php
class sepeda_motor {
// isi class
}
?>
</code></pre>
<p></p><p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-size: 14pt; line-height: 107%; mso-bidi-font-size: 11.0pt;">Pengertian
Property dalam PBO.<o:p></o:p></span></b></p>
<p class="MsoNormal">Apa itu <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">property</i></b> ?<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;"> Property </i></b>sering juga disebut
dengan <i style="mso-bidi-font-style: normal;">atribut</i> merupakan data yang terdapay
pada suatu <i style="mso-bidi-font-style: normal;">class.</i> Sebagai contoh <b style="mso-bidi-font-weight: normal;">property</b> dari <b style="mso-bidi-font-weight: normal;">sepeda motor</b> bisa berupa <i style="mso-bidi-font-style: normal;">merek,<span style="mso-spacerun: yes;"> </span>jenis, warna, CC</i> dan lain-lain. JIka kita
terbiasa dengan pemrograman PHP, <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">property</i></b> sebenarnya hanyalah ibarat
sebuah variable yang terletak didalam class. Semua aturan dan tipe data yang
biasa kita input kedalam variable, dapat juga kita input dalam sebuah <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">property.</i></b>
Tata cara aturan penamaan <b style="mso-bidi-font-weight: normal;">property</b>
sama dengan penamaan variable.<o:p></o:p></p>
<p class="MsoNormal">Contoh penulisan property di dalam class.</p><pre><code><?php
class sepeda_motor {
var $merek;
var $warna;
var $jenis;
var $dll;
}
?>
</code></pre>
<p></p><p class="MsoNormal">Pada contoh diatas <b style="mso-bidi-font-weight: normal;">$merek,
$warna, $jenis</b> merupakan <b style="mso-bidi-font-weight: normal;">property </b>dari
<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">class
sepeda_motor</i></b>. Penulisan property dalam PHP sama dengan cara penulisan
sebuah variabel, yaitu menggunakan tanda dollar($).<o:p></o:p></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-size: 14pt; line-height: 107%; mso-bidi-font-size: 11.0pt;">Pengertian
Method dalam PBO<o:p></o:p></span></b></p>
<p class="MsoNormal">Apa itu <b style="mso-bidi-font-weight: normal;">method</b> ? <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">method</i></b>
merupakan tindakan yang bisa dilakukan dalam sebuah <i style="mso-bidi-font-style: normal;">class</i>. Jika kita menggunakan analogi contoh <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">class sepeda_motor</i></b> maka
contoh<b style="mso-bidi-font-weight: normal;"> method</b> nya adalah : <i style="mso-bidi-font-style: normal;">menghidupkan sepeda motor, mematikan sepeda
motor, mengganti oli</i> dan berbagai tindakan lainnya. <o:p></o:p></p>
<p class="MsoNormal">Pada dasarnya<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;"> method</i></b> merupakan sebuah <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">function</i></b>
yang berdala di dalam sebuah <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">class</i></b>. Semua fungsi dan sifat <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">function</i></b>
dapat diterapkan dalam <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">method</i></b>, seperti <i style="mso-bidi-font-style: normal;">parameter/argumen</i>, mengembailkan sebuah nilai (<i style="mso-bidi-font-style: normal;">keyword return</i>), dan lain sebagainya.<o:p></o:p></p>
<p class="MsoNormal">Contoh</p><pre><code><?php
class sepeda_motor {
function hidupkan_sepeda_motor() {
//... isi dari method hidupkan_sepeda_motor
}
function matikan_sepeda_motor() {
//... isi dari method matikan_sepeda_motor
}
... //isi dari class sepeda_motor
}
?>
</code></pre>
<p></p><p class="MsoNormal">Pada contoh diatas <b style="mso-bidi-font-weight: normal;">function
hidupkan_sepeda_motor()</b> dan <b style="mso-bidi-font-weight: normal;">function
matikan_sepeda_motor()</b> merupakan <b style="mso-bidi-font-weight: normal;">method</b>
dari <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">class
sepeda_motor</i></b>. Seperti yang kita lihat diatas bahwa penulisan sebuah <b style="mso-bidi-font-weight: normal;">method</b> dalam PHP sama dengan penulisan <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">function</i></b>.<o:p></o:p></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="font-size: 14pt; line-height: 107%; mso-bidi-font-size: 11.0pt;">Pengertian
Object dalam PBO<o:p></o:p></span></b></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">Object/objek</i></b> merupakan hasil cetakan dari sebuah <i style="mso-bidi-font-style: normal;">class</i>, sebagai contoh analogi dari <b style="mso-bidi-font-weight: normal;">sepeda_motor</b> maka <i style="mso-bidi-font-style: normal;">objek </i>dari <b style="mso-bidi-font-weight: normal;">class sepeda
motor</b> dapat berupa : <i style="mso-bidi-font-style: normal;">sepeda_motor_saya,
sepeda_motor_dia</i> dan lain-lain. <b style="mso-bidi-font-weight: normal;">Objek</b>
dari <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">class
sepeda motor</i></b> dapat memiliki seluruh ciri-ciri <b style="mso-bidi-font-weight: normal;">sepeda motor</b> yaitu <i style="mso-bidi-font-style: normal;">property</i>
dan <i style="mso-bidi-font-style: normal;">method.</i><o:p></o:p></p>
<p class="MsoNormal">Proses mencetak sebuah objek dari <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">class</i></b> disebut <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">instansiasi
(instantiation)</i></b>. Dalam PHP proses tersebut <span style="mso-spacerun: yes;"> </span>(<i style="mso-bidi-font-style: normal;">instantiation)</i>
dilakukan menggunakan keyword ‘<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">new</i></b>’. Hasil cetakan <i style="mso-bidi-font-style: normal;">class</i> disimpan dalam variabel kemudian
selanjutnya digunakan dalam proses sebuah program.<o:p></o:p></p>
<p class="MsoNormal">Contoh <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">objek sepeda_motor_saya</i></b> dan <i style="mso-bidi-font-style: normal;">sepeda_motor_kamu</i> dari <b style="mso-bidi-font-weight: normal;">class sepeda_motor</b> :</p><pre><code><?php
class sepeda_motor {
//... isi dari class sepeda_motor
}
$sepeda_motor_saya = new sepeda_motor();
$sepeda_motor_kamu = new sepeda_motor();
?>
</code></pre>
<p></p><p class="MsoNormal">Pada contoh diatas <b style="mso-bidi-font-weight: normal;">$sepeda_motor_saya</b>
dan <b style="mso-bidi-font-weight: normal;">$sepeda_motor_kamu</b> merupakan <i style="mso-bidi-font-style: normal;">objek </i>dari <i style="mso-bidi-font-style: normal;">class</i> <i style="mso-bidi-font-style: normal;">sepeda_motor</i>. Kedua
<i style="mso-bidi-font-style: normal;">objek</i> tersebut akan memliki seluruh <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">property</i></b>
dan <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">method</i></b>
yang telah dirancang dari <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">class sepeda motor</i></b>.</p><p></p>Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com0tag:blogger.com,1999:blog-2066466048247395712.post-67515693197178111512022-01-09T06:35:00.007-08:002022-01-09T06:51:41.675-08:00Pengertian OOP PHP Pemrograman Berbasis Objek PHP<p> Apa itu <b>OOP </b>? <b>OOP</b> merupakan kepanjangan dari <i>Object Oriented Programing</i> atau dalam
bahasa Indonesia disebut <i>Pemrograman
Berbasis Objek</i> (<b>PBO</b>). <i>Pemrograman Berbasis Objek</i> merupakan
salah satu cara untuk membuat program (<i>programming
paradigm</i>) dengan cara memecah alur program menjadi beberapa modul sederhana
yang dinamakan dengan<i> objek</i>. Dalam
setiap <i>objek</i> mempunyai fungsi dan
tugas masing-masing. Atau dengan kata lain <b>OOP</b>
merupakan tata cara pembuatan program dengan menggunakan konsep <i>objek </i>yang memiliki data (atribut yang
menjelaskan sebuah <i>objek</i>) dan <i>prosedur </i>(<b><i>function</i></b>) atau dikenal
dengan <b><i>method</i></b>.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi19G-QZQ7RJTlhnei3x94UjoAYoFBbjyowrcUX6yWu2KWoTtp_C1EwQlar-UFXN5G3_tHRwaSwHozQZ9Q-PyTg4hlzT35evPGpb1C1hp8g0l_MdbWP4ZgOo6Q5f3WiC5RlzMCq_oUnumBFdfW7zwb7iV0uSVokJzBLJjYisGC-7UWyNcDl3OxZYxUE=s907" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="510" data-original-width="907" height="360" src="https://blogger.googleusercontent.com/img/a/AVvXsEi19G-QZQ7RJTlhnei3x94UjoAYoFBbjyowrcUX6yWu2KWoTtp_C1EwQlar-UFXN5G3_tHRwaSwHozQZ9Q-PyTg4hlzT35evPGpb1C1hp8g0l_MdbWP4ZgOo6Q5f3WiC5RlzMCq_oUnumBFdfW7zwb7iV0uSVokJzBLJjYisGC-7UWyNcDl3OxZYxUE=w640-h360" width="640" /></a></div><p>Pada jaman sekarang ini <i style="mso-bidi-font-style: normal;">Object
Oriented Programming</i> (<b style="mso-bidi-font-weight: normal;">OOP</b>)
menjadi standar dalam dunia <i style="mso-bidi-font-style: normal;">programing</i>.
Salah satunya dalam bahasa PHP. Walaupun sering kali kita dapat membuat
aplikasi dengan bahasa pemrograman PHP tanpa menggunakan <b style="mso-bidi-font-weight: normal;">OOP</b>, namun jika kita akan membuat aplikasi yang yang <i style="mso-bidi-font-style: normal;">fleksibel </i>dan ‘<i style="mso-bidi-font-style: normal;">real world’</i> maka programmer PHP akan beralih menggunakan <b style="mso-bidi-font-weight: normal;">OOP</b>.</p><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Sebelum kita mempelajari <b style="mso-bidi-font-weight: normal;">PHP</b> kita diwajibkan untuk memahami <b style="mso-bidi-font-weight: normal;">PHP</b> dasar seperti <i style="mso-bidi-font-style: normal;">tipe data,
array,</i> dan <i style="mso-bidi-font-style: normal;">function (fungsi)</i> agar
kita lebih mudah dalam mempelajari <b style="mso-bidi-font-weight: normal;">OOP</b>.
Fitur dan desain kode yang ditawarkan<span style="mso-spacerun: yes;">
</span>dengan membuat program menggunakan <i style="mso-bidi-font-style: normal;">objek</i>
dapat memudahkan kita dalam membuat aplikasi yang modern dan mempunyai
fleksibilitas yang tinggi.<o:p></o:p></p>
<p class="MsoNormal">Dalam pengertian <b style="mso-bidi-font-weight: normal;">OOP</b>
di atas terdapat kata <i style="mso-bidi-font-style: normal;">objek</i>, yang
dimaksud <i style="mso-bidi-font-style: normal;">objek</i> disini merupakan <i style="mso-bidi-font-style: normal;">objek</i> yang dapat di umpankan dengan
fungsi khusus yang dapat berdiri sendiri. Yang nantinya <i style="mso-bidi-font-style: normal;">objek</i> tersebut akan saling bertukar data untuk mencapai suatu hasil
akhir.<o:p></o:p></p>
<p class="MsoNormal">Berbeda dengan konsep <i style="mso-bidi-font-style: normal;">function</i>
atau fungsi di dalam pemrograman, objek dapat memiliki data dan fungsi (<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">function</i></b>)
tersendiri. Pada setiap objek ditujukan untuk mengerjakan sebuah tugas dan
dapat menghasilkan nilai akhir untuk selanjutnya bisa ditampilkan atau digunak
objek lain.<o:p></o:p></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;">OOP</b> dalam bahasa
pemrograman PHP dapat digunakan pada versi <span style="mso-spacerun: yes;"> </span><b style="mso-bidi-font-weight: normal;">PHP 4</b>
ke atas jika kita menggunakan <b style="mso-bidi-font-weight: normal;">PHP versi
3</b> kebawah maka <b style="mso-bidi-font-weight: normal;">OOP</b> tidak akan
bisa beralan. <b style="mso-bidi-font-weight: normal;">OOP</b> dalam <b style="mso-bidi-font-weight: normal;">PHP</b> merupakan sebuah fitur tambahan
kita tetap bisa membuat aplikasi tanpa menggunakan <i style="mso-bidi-font-style: normal;">objek</i> (OOP).<o:p></o:p></p>
<p class="MsoNormal">Pembuatan program tanpa menggunakan<i style="mso-bidi-font-style: normal;"> objek</i> disebut dengan <i style="mso-bidi-font-style: normal;">pemrograman
procedural / pemrograman fungsional.</i> Kenapa bisa disebut dengan <i style="mso-bidi-font-style: normal;">pemrograman procedural</i> ? Karena kita
memecah kode program menjadi beberapa fungsi dan bagian kecil kemudian saling
menyatukan guna menghasilkan nilai akhir. Tentu saja dengan membuat program
secara procedural, kita dapat membuat aplikasi dengan cepat dan mudah di pahami
dibandingkan dengan <i style="mso-bidi-font-style: normal;">pemrograman berbasis
objek</i>.<o:p></o:p></p>
<p class="MsoNormal">Keuntungan yang di dapat dengan menggunakan <i style="mso-bidi-font-style: normal;">pemrograman berbasis objek</i> baru akan
terasa jika program tersebut menjadi besar atau kita bekerja dengan tim untuk
dapat membagi tugas. Konsep dari <i style="mso-bidi-font-style: normal;">objek</i>
guna memisahkan program menjadi beberapa bagian yang dapat berdiri sendiri akan
dapat memudahkan dalam membuat program.<o:p></o:p></p>
<p class="MsoNormal">Pada saat ini jika kita membuat website yang modern akan
lebih mudah jika kita menggunakan tempelate kode program yang dikenal dengan <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">framework</i></b>.
Dengan menggunakan framework dapat mempercepat proses kerja dari pada kita
membuat situs mulai dari awal, <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">framework</i></b> PHP hampir semua dibuat
dengan menggunakan <b style="mso-bidi-font-weight: normal;">OOP</b>. <o:p></o:p></p><p class="MsoNormal">Baca Juga : <a href="https://www.sinauo.com/2021/11/konsep-mvc-dan-framework-pada-php.html" target="_blank">Konsep MVC dan Pengertian Framework</a></p>Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com0tag:blogger.com,1999:blog-2066466048247395712.post-76821367699979343532021-11-06T00:49:00.002-07:002021-11-06T00:50:37.623-07:00Konsep MVC dan Framework pada PHP<p>Semakin ke sini semakin pesat perkembangan teknologi yang ada di dunia ini. Termasuk dalam dunia pemrograman baik itu berbasis web, dekstop maupun mobile. Banyak bahasa pemrograman yang selalu update dengan fitur maupun kemudahan yang dimiliki. Pada kali ini kita masih membahas mengenai bahasa pemrograman PHP. Pada jaman sekarang ini PHP Native sudah sangat jarang digunakan bahkan beberapa programer banyak yang sudah meninggalkannya, karena mereka banyak yang beralih menggunakan framework.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgEDgkh1j8QLShm-TfzUTi7aYyyWdxHTaraX4ACyjWAoWxcZh4OQi9I_h51bVyumiLif9gnMt9_vi1aEI-YLPNeX4B6NthPwLExtfVU8CL1KIueMQ2CmFriB0JNzmUulYz2N5q-yo5-fs_6m0bO1sV3NnlAMesBxGwSYY3Ba2ef5aqUoZmYjtC3s_0A=s800" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="450" data-original-width="800" height="360" src="https://blogger.googleusercontent.com/img/a/AVvXsEgEDgkh1j8QLShm-TfzUTi7aYyyWdxHTaraX4ACyjWAoWxcZh4OQi9I_h51bVyumiLif9gnMt9_vi1aEI-YLPNeX4B6NthPwLExtfVU8CL1KIueMQ2CmFriB0JNzmUulYz2N5q-yo5-fs_6m0bO1sV3NnlAMesBxGwSYY3Ba2ef5aqUoZmYjtC3s_0A=w640-h360" width="640" /></a></div><p>Pada kesempatan yang baik kali ini admin akan membahas mengenai apa itu framework dan konsep MVC pada bahasa pemrograman PHP. Pada bahasa pemrograman PHP banyak terdapat framework yang mudah digunakan dengan fitur yang unggul dan mudah digunakan. Framework dalam bahasa pemrograman PHP selalu update mengikuti perkembangan jaman guna menambah fitur terbaru dan mempermudah pengguna dalam membangun sebuah aplikasi. Framework PHP saat ini yang cukup populer di kalangan programer PHP Indonesia diantaranya adalah <a href="https://www.sinauo.com/2020/06/cara-install-laravel-7-dengan-composer.html" target="_blank">Laravel</a>, <a href="https://www.sinauo.com/2020/05/mengenal-framework-code-ighneiter.html" target="_blank">Codeigniter</a>, YII dan lain sebagainya. Semua framework secara konsep menggunakan konsep MVC. </p><h3 style="text-align: left;">Framework</h3><p>Framework merupakan sebuah kerangka kerja yang siap digunakan yang mampu mempermudah dan mempercepat suatu pekerjaan seseorang. Atau bila dikaitkan dengan bahasa pemrograman framework adalah sebuah kerangka kerja yang terstruktur yang mampu memerpumah seorang programer dalam membangun atau mengambangkan sebuah perangkat lunak atau aplikasi. </p><p>Baca Juga : <a href="https://www.sinauo.com/2020/05/mengenal-framework-code-ighneiter.html" target="_blank">Mengenal framework Codeigniter</a><br /><br />Dengan menggunakan framework kita tidak perlu menulis kode script dari nol, Jadi kita cukup membuat function dan class yang sesuai dengan kebutuhan kita. Dalam framework sudah terdapat core script yang berfungsi untuk mapping class dan function yang sudah kita buat.</p><p>Kelebihan yang ada pada framework sangatlah banyak sekali. Dengan menggunakan framework kita dapat mempercepat dan mempermudah dalam membangun sebuah aplikasi, dan memudahkan kita pada saat maintenance aplikasi karena script sudah terstruktur rapi. Dalam framework juga terdapat banyak fasilitas dan library (seperti : Connection Database, Pagination, Validasi, Session, Error dll). yang umum digunakan sehingga kita tidak perlu membangun dari awal. </p><p>Baca Juga : <a href="https://www.sinauo.com/2020/06/cara-install-laravel-7-dengan-composer.html" target="_blank">Cara Install Laravel</a></p><h3 style="text-align: left;">MVC</h3><p>Apa itu MVC ? MVC merupakan sebuah singkatan dari "Model View Controller" yang merupakan sebuah konsep yang umum digunakan untuk membangun seuah aplikasi berbasis web. MVC mempunyai 3 jenis komponen utama yaitu : Manipulasi Data, User Interface, dan bagian yang menjadi kontrol aplikasi. atau yang diberi nama dengan Model View dan Controller. Dengan Konsep MVC aplikasi dapat dikembangkan dengan kemampuan PIC nya, Bagian Model dan Controller di tangani oleh developer sedangkan bagian View di tangani oleh Web Designer. Dengan arsitektur MVC kode dapat terorganiasai dan meningkatkan maintainability. Walaupun sudah terpecah seperti itu namun masih tetap dibutuhkan komunikasi yang baik antara Developer dan Web Desainer dalam menangani parameter dan variabel yang ada.</p><h3 style="text-align: left;">Model</h3><p>Apa itu model ? Model merupakan bagian yang berhuungan langsung dengan penyimpanan data atau database. Model mempunyai tugas untuk memanipulasi data CRUD (Create, Read, Update Delete) dan menagani validasi dari Controller.</p><h3 style="text-align: left;">View</h3><p>Apa itu view ? view merupakan bagian yang menangani presentation logic. View mempunyai fungsi untuk menerima dan mempresentasikan data ke user atau bagian user interface. View diatur oleh Controller dan tidak mempunyai akses langsung terhadap model atau database.</p><h3 style="text-align: left;">Controller</h3><p>Apa itu controller ? Controller merupakan bagian yang mengatur hubungan antara Model dengan View atau juga disebut sebagai jembatan antara Model dengan View. Controller mempunyai fungsi menerima request data dari view atau user kemudian menentukan apa yang akan diproses oleh aplikasi. Controller juga yang mengatur routing URL yang akan digunakan.</p><h3 style="text-align: left;">Kesimpulan </h3><p>Pada artikel kali ini kita sudah membahas mengenai framework dan MVC. Semua framework secara konsep menggunakan MVC. Framework disebut juga dengan kerangka kerja yang tersruktur sehingga dapat mempermudah dan mempercepat pekerjaan. Sedangkan MVC merupakan singkatan dari Model View dan Controller sebuah konsep yang umum digunakan dalam membuat aplikasi berbasis web.</p><p><br /></p>Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com0tag:blogger.com,1999:blog-2066466048247395712.post-82965957729159369712021-11-05T02:56:00.001-07:002021-11-05T02:56:05.682-07:00Cara Membulatkan Angka Desimal dengan PHP<p>Pada kesempatan kali ini kita akan membahas mengenai cara membulatkan angka pada bahasa pemrograman PHP. Apa itu pembulatan ? Pembulatan merupakan teknik menambah dan mengurangi suatu cacah bilangan desimal sampai mendapatkan nilai bulat yang mendekati sama. Membulatkan angka atau mengatur angka di belakang koma ini tentunya sangat berarti bagi sebuah web atau yang berhubungan dengan banyak angka.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgRvf73MRA0fsIyrhdPFiWNLo4tDCixLYMDmm6yJLsrduosdKW_6kNMUxBLu-xEr48D7SxuFe4oD97DRQJq41musb85sm6JGGl6KiNemtRCINHW08wHC9FdRDIIq2h1zx5lQyvWnCv7sIAOhpNO0MzEE65RhtpSpZYQtcDwmVJygjmhvv5OAzjzgjPG=s800" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="450" data-original-width="800" height="360" src="https://blogger.googleusercontent.com/img/a/AVvXsEgRvf73MRA0fsIyrhdPFiWNLo4tDCixLYMDmm6yJLsrduosdKW_6kNMUxBLu-xEr48D7SxuFe4oD97DRQJq41musb85sm6JGGl6KiNemtRCINHW08wHC9FdRDIIq2h1zx5lQyvWnCv7sIAOhpNO0MzEE65RhtpSpZYQtcDwmVJygjmhvv5OAzjzgjPG=w640-h360" width="640" /></a></div><p>Dalam bahasa pemrograman PHP ada tiga jenis fungsi yang digunakan untuk membulatkan sebuah bilangan atau angka diantaranya adalah :</p><h3 style="text-align: left;">1. round()</h3><p>round() merupakan fungsi pembulatan yang dapat menghasilkan bilangan bulat paling dekat dari bilangan aslinya. Dalam fungsi <span style="color: #0b5394;">round()</span> jika terdapat angka 0.5 ke atas maka akan dibulatkan ke atas (misal 0.5 menjadi 1) dan jika bilangan tersebut 0.49 ke bawah maka akan dibulatkan kebawahnya (0.49 maka akan menjadi 0). Dengan menggunakan fungsi pembulatan <span style="color: #3d85c6;">round()</span> kita dapat menentukan jumlah bilangan desimal atau presisi pada hasil pembulatan. </p><p>Berikut merupakan contoh penulisan fungsi<span style="color: #0b5394;"> round() </span>pada php.</p><pre><code><?php
echo round(0.5); // Hasilnya = 1
echo round(5.2); // Hasilnya = 5
echo round(8.6); // Hasilnya = 9
?></code></pre>
<p>Beberapa mode standar yang dapat kita gunakan dalam pembulatan dengan menggunakan <span style="color: #0b5394;">round()</span>. Berikut merupakan format penulisan fungsi <span style="color: #0b5394;">round()</span> </p><pre><code>round(bilangan, presisi, mode);</code></pre>Dari tiga parameter diatas dapat dijelaskan sebagai berikut:<div><div><ul style="text-align: left;"><li><b>bilangan</b> -> angka yang akan dibulatkan.</li><li><b>presisi</b> -> bagian ini merupakan bagian opsional yang berisi jumlah angka desimal dari bilangan hasil. Jika dikosongkan maka dianggap bernilai nol (0) atau tidak bernilai.</li><li><b>mode</b> -> bagian ini juga opsional boleh di isi maupun dikosongkan dan merupakan nilai konstasn yang spesifik untuk mode round.</li></ul></div></div><div><div>Contoh fungsi round yang menggunakan parameter presisi :</div>
<pre><code><?php
echo round(0.64621,1); // Hasilnya = 0.6
echo round(2.54621,2); // Hasilnya = 2.55
echo round(5.54621,3); // Hasilnya = 5.546
?></code></pre><div>Berikut ini beberapa mode yang dapat kita terapkan dengan fungsi <span style="color: #0b5394;">round()</span>:</div><div><br /></div><div><b>PHP_ROUND_HALF_UP</b> , membulatkan angka desimal ke atas dan kebawah yang sesuai dengan nilai presisi desimal. Seperti yang sudah dijelaskan di atas jika terdapat bilangan 0,5 ke atas maka akan dibulatkan menjadi 1. dan ini merupakan mode default fungsi <span style="color: #0b5394;">round()</span>.</div></div><div><div><b>PHP_ROUND_HALF_DOWN</b>, membulatkan angka desimal kebawah sesuai dengan nilai presisi desimal, contoh bilangan 1,5 dibulatkan menjadi 1.</div><div><b>PHP_ROUND_HALF_EVEN</b>, membulatkan angka desimal ke angka genap yang terdekat. contoh bilangan 3,5 dibulatkan menjadi 4.</div><div><b>PHP_ROUND_HALF_ODD</b>, membulatkan angka desimal ke angka ganjil yang terdekat. Contoh bilangan 3.5 dibulatkan menjadi 3.</div></div><div><br /></div><div>Contoh fungsi <span style="color: #0b5394;">round()</span> yang menggunakan parameter presisi dan mode:</div><pre style="text-align: left;"><code><?php
echo round(1.5,0,PHP_ROUND_HALF_UP); // Hasilnya = 2
echo round(1.4,0,PHP_ROUND_HALF_UP); // Hasilnya = 1
echo round(1.5,0,PHP_ROUND_HALF_DOWN) ; // Hasilnya = 1
echo round(2.5,0,PHP_ROUND_HALF_EVEN); // Hasilnya = 3
echo round(4.5,0,PHP_ROUND_HALF_ODD); // Hasilnya = 4
?>
</code></pre><h3 style="text-align: left;">
2. floor()</h3><div><div>fungsi <span style="color: #38761d;">floor()</span> digunakan untuk membulatkan angka kebawah, yang artinya bilangan desimal akan dibulatkan ke dalam bilangan bulat terdekat yang ada dibawahnya contoh misal bilangan tersebut 1.8 maka akan dibulatkan menjadi bilangan 1. </div><div><br /></div><div>Berikut ini merupakan contoh penggunakan fungsi <span style="color: #38761d;">floor() </span>pada PHP :</div></div><pre><code><?php
echo floor(1.6); // Hasilnya = 1
echo floor(2.3); // Hasilnya = 2
echo floor(3.8); // Hasilnya = 3
?></code></pre><h3 style="text-align: left;">3. ceil()</h3><div><span style="color: #4c1130;">ceil()</span> merupakan fungsi pembulatan angka ke bilangan terdekat yang ada di atasnya. Misal terdapat bilangan pecahan 1,2 maka bilangan tersebut akan dibulatkan menjadi 2.</div><div><br /></div><div>Berikut ini merupakan contoh penggunaan fungsi <span style="color: #4c1130;">ceil()</span> pada PHP:</div><pre><code><?php
echo ceil(1.9); // Hasilnya = 2
echo ceil(2.1); // Hasilnya = 3
echo ceil(3.5); // Hasilnya = 4
?></code></pre><h3 style="text-align: left;">Kesimpulan.</h3><div>Kita sudah mempelajari beberapa fungsi pada PHP yang digunakan untuk membulatkan suatu bilangan yang mempunyai koma atau pecahan ke bilangan desimal. Ada 3 fungsi untuk pembulatan suatu bilangan dengan menggunakan fungsi PHP diantaranya adalaha <b>ceil(), floor()</b> dan <b>round()</b>.</div><div>Tentunya dari ketiga fungsi tersebut mempunyai fungsi dan kegunaan yang berbeda tergantung kita saat membuat suatu program yang cocok digukana fungsi yang mana, tergantung kebutuhan dari sebuah aplikasi tersebut.</div>Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com0tag:blogger.com,1999:blog-2066466048247395712.post-1508461859465222672021-09-12T03:31:00.000-07:002021-09-12T03:31:17.260-07:00Fitur dan Ulasan Terbaru dari Laravel Octane.<p>Pada artikel kali ini kita akan membahas tentang apa itu
<b>laravel octane</b> ? Apa fitur dan fungsi dari laravel octane ?</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHUCD-sgKl8Kef6h_96PKnesms0AEmezQ99yivZ3Uae3OMqFGf9Tz5A5MAMUJrqdUXF47lSvy8KOGVl0SOls4j7ZQAdJWSkRICMTN_4GveGYtgI889Mxws_87je9A-EA4JEa6JAyKow4o/s1017/fungsi+fitur+laravel+octane.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="488" data-original-width="1017" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHUCD-sgKl8Kef6h_96PKnesms0AEmezQ99yivZ3Uae3OMqFGf9Tz5A5MAMUJrqdUXF47lSvy8KOGVl0SOls4j7ZQAdJWSkRICMTN_4GveGYtgI889Mxws_87je9A-EA4JEa6JAyKow4o/w640-h308/fungsi+fitur+laravel+octane.jpg" width="640" /></a></div><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Pada setiap tahunnya framework laravel tidak henti-hentinya
selalu meluncurkan fitur-fitur terbaru yang selalu memudahkan para developer
untuk mengembangkan aplikasinya. Jadi tidak heran lagi jika framework laravel
menjadi framework PHP yang paling banyak digunakan atau digemari. Hal itu tidak
lepas dari manfaat dan keunggulan yang dimiliki oleh laravel. Untuk saat ini
laravel sudah berada pada <b>laravel versi 8</b>.<o:p></o:p></p>
<p class="MsoNormal">Kita kembali lagi ke topic tentang <b>Laravel octane</b> merupakan
salah satu fitur yang ada pada laravel yang mempunyai fungsi untuk meningkatkan
performa aplikasi. <i>Octane</i> termasuk dalam fitur <i>RoadRunner</i> dan <i>Swoole</i>. Dengan menggunakan
laravel octane, Octane akan melakukan <b>boot</b> sekali pada aplikasi, lalau
menyimpannya ke dalam memori kemudian memberikan permintaan dengan kecepatan
tinggi.<o:p></o:p></p>
<h3 style="text-align: left;">Lalu Bagaimana Laravel Octane Bekerja ?</h3><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Bagaimana <b>Taylor Otwell</b> (Pendiri Laravel) mendemokan <b>laravel
octan</b>e ? anda bisa melihat demonya saat persentasi <a href="https://twitter.com/LaraconOnline/status/1372251742251802624" target="_blank">disini</a><o:p></o:p></p>
<p class="MsoNormal">Perintah untuk masuk ke<b> octane</b> sangatlah mudah cukup dengan
menggunakan perintah Artisan " <b>octane: start</b> " pada terminal kita kemudian ia akan
menjalankan <i>Swoole</i> atau <i>RoadRunner</i>. Tergatung pilihan kita, kita dapat memilih
teknologi mana yang cocok dijalankan berdasarkan <i>threads </i>CPU kita.<o:p></o:p></p>
<p class="MsoNormal">Perintah untuk memilih teknologi yang cocok untuk<i> threads</i>
CPU kita<o:p></o:p></p>
<p class="MsoNormal"></p><blockquote><span style="font-family: courier;">artisan octane:start --workers=8 --server=roadrunner</span></blockquote><o:p></o:p><p></p>
<p class="MsoNormal">Baik pada <i>Swoole</i> maupun <i>RoadRunner</i> sama-sama menggunakan
<i><b>coroutine</b></i> yang dapat memungkinkan PHP agar berjalan lebih efisien lagi, dengan
membagi beberapa proses pekerja yang berdasarkan nomer inti dari CPU.<o:p></o:p></p>
<p class="MsoNormal">Dengan kita menggunakan<i> Swoole</i> atau <i>RoadRunner</i> dapat
memungkinakan startup aplikasi kita menjadi lebih baik dan efisien. Ditambah
lagi dengan <b>PHP OPcache</b> yang dapat meminimalkan overhead dengan cara kerjanya
menyimpan kode byte dalam memori bersama-sama.<o:p></o:p></p>
<p class="MsoNormal">Selain pada itu octane juga dapat menghilangkan waktu
startup kerangka kerja yang dapat berdampak <span style="mso-spacerun: yes;"> </span>secara signifikan pada kinerja aplikasi yang
mempunyai beban kerja HTTP request yang lumayan berat.<o:p></o:p></p>
<p class="MsoNormal">Untuk informasi yang beredar octane nantinya akan berjalan
pada<b> PHP versi 8.</b><o:p></o:p></p>
<p class="MsoNormal">Baca Juga : <a href="https://www.sinauo.com/2021/09/beberapa-fitur-baru-yang-ada-pada-php-8.html" target="_blank">Fitur Terbaru dari PHP 8</a></p><p class="MsoNormal">Dengan diluncrukannya laravel octane ini tentunya dapat
membantu para developer web yang mengembangkan aplikasi dengan kinerja tinggi,
dengan bantuan Swoole dan Octane <o:p></o:p></p>Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com1tag:blogger.com,1999:blog-2066466048247395712.post-8268797842730740022021-09-11T22:41:00.002-07:002021-09-11T22:41:07.173-07:00Beberapa Fitur Baru Yang ada Pada PHP 8<p>Perlu kita ketahui <b>PHP
8</b> telah di luncurkan pada tahun 2020 kemarin. Ada beberapa fitur baru yang belum ada pada versi sebelumnya. Fitur apa saja yang baru dari PHP 8 ?. Ada beberapa fitur baru yang
belum ada pada versi sebelumnya. Fitur apa saja yang baru dari PHP 8 ?</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQUe2jqYLEkoY_VFfBLfppd2W-afwQg7SsFRoNxT0Lazw24rgxl2OAfH3czcdG-gdm8SqM9bcKRymEzTHYdLkx2ryUrSz192GhZICyJOJ9PVTTn_JvQXMWGtq2F10jTvrwAgoMRzORgBo/s907/fitur+baru+yang+ada+pada+PHP+8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="510" data-original-width="907" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQUe2jqYLEkoY_VFfBLfppd2W-afwQg7SsFRoNxT0Lazw24rgxl2OAfH3czcdG-gdm8SqM9bcKRymEzTHYdLkx2ryUrSz192GhZICyJOJ9PVTTn_JvQXMWGtq2F10jTvrwAgoMRzORgBo/w640-h360/fitur+baru+yang+ada+pada+PHP+8.jpg" width="640" /></a></div><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Mari kita<span style="mso-spacerun: yes;"> </span>bahas satu
persatu beberapa fitur baru yang ada pada PHP 8 <o:p></o:p></p>
<p class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -18pt;"><!--[if !supportLists]--><b style="mso-bidi-font-weight: normal;"><span style="font-size: 16pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font: 7pt "Times New Roman";"> </span></span></span></b><b style="mso-bidi-font-weight: normal;"><span style="font-size: 16pt; line-height: 107%;">1. Named Argument<o:p></o:p></span></b></p>
<p class="MsoNormal">Named argument mempunyai fungsi untuk menentukan parameter
dan akan melewati parameter yang bersifat pilihan/optional. Dengan fitur
tersebut tentunya akan membuat sebuah perubahan saat kita membuat <b style="mso-bidi-font-weight: normal;">function</b> dalam PHP akan lebih mudah dan
singkat.<o:p></o:p></p>
<p class="MsoNormal">Perhatikan contoh berikut ini kita gunakan fungsi <b style="mso-bidi-font-weight: normal;">htmlchar()</b> dengan kode seperti berikut
ini :<o:p></o:p></p>
<pre><code>htmlchar($string, ENT_COMPAT | ENT_HTML401. ‘UTF-8’, false);
</code></pre><p class="MsoNormal">Pada kode diatas jika dijalankan pada versi <b style="mso-bidi-font-weight: normal;">PHP 7</b> kebawah masih bisa berfungsi
namun jika dijalankan pada <b style="mso-bidi-font-weight: normal;">PHP 8</b>
sudah tidak berfungsi lagi, jika kita menulisnya pada <b style="mso-bidi-font-weight: normal;">PHP 8</b> maka kode programya akan seperti berikut ini :</p><pre><code>htmlchar($string, double_encode: false);
</code></pre><span style="text-indent: -18pt;"><div style="text-indent: 0px;"><span style="font-weight: bold; text-indent: -18pt;"><span style="font-size: 16pt; font-weight: bold; line-height: 107%;">2.<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: normal;">
</span></span></span><b style="font-weight: bold; text-indent: -18pt;"><span style="font-size: 16pt; line-height: 107%;">Union Type</span></b></div></span><p class="MsoNormal">Union type mempunyai fungsi untuk menggabungkan beberapa <b><i>tipe
data</i></b> di dalam sebuah <b><i>variabel.</i></b> <o:p></o:p></p>
<p class="MsoNormal">Contohnya pada PHP 7 :<o:p></o:p></p><pre><code><?php
class Angka
{
//@var int|float
private $angka;
//@param float|int @angka
public function __construct($angka) {
$this->angka = $angka;
}
}
new Angka('NaN'); //OK
?></code></pre><div>Jika di PHP 8 maka akan <i>menvalidasi
sesuai dengan tipe data yang telah ditentukan </i>contohnya</div>
<pre><code><?php
class Angka
{
public function __construct(private int|float $angka) {
$this->angka = $angka;
}
}
new Angka('NaN');
?>
</code></pre><div><code><br /></code></div>Pada kdoe diatas dijalankan pada <b>PHP 8</b> maka variabel <b>$angka </b>hanya
dapat diisi dengan parameter <b>float </b>atau
<b>int</b>.<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -18pt;"><!--[if !supportLists]--><b><span style="font-size: 16pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: normal;">
</span></span></b><b><span style="font-size: 16pt; line-height: 107%;">3. Attribute<o:p></o:p></span></b></p>
<p class="MsoNormal">Dengan <b>PHP 8</b> kita
dapat menggunakan struktur <i>metadata</i>
di <i>native syntax</i>.<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>Contoh kode program pada PHP 7<pre><code>class PostsController
{
//@Route("/api/posts/{id}", methods={"GET"})
public function get($id) { /** isi fungsi **/ }
}<br /></code></pre>Pada contoh kode diatas kita dapat menambahkan <i>attribute</i> methods pada <i>PHP 8</i> sehingga akan seperti dibawah ini
:<p class="MsoNormal"><o:p></o:p></p><pre><code>class PostsController
{
#[Route("/api/posts/{id}", methods: ["GET"])]
public function get($id) { /* isi fungsi */ }
}</code></pre><b style="text-indent: -18pt;"><span style="font-size: 16.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">4.<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: normal;">
</span></span></b><b style="text-indent: -18pt;"><span style="font-size: 16.0pt; line-height: 107%;">Constructor Property Promotion</span></b><p class="MsoNormal"><o:p></o:p></p>Dengan menggunakan fitur di atas kita dapat menulis <i>kode lebih singkat</i> dalam <i>meng-inisialisasi property dalam suatu class</i>.<pre><code>class Number {
public int $a;
public int $b;
public int $c;
public function __construct(
int $a = 0,
int $b = 0,
int $c = 0,
) {
$this->a = $a;
$this->b = $b;
$this->c = $c;
}
}</code></pre>Jika dalam <b>php 8</b>
maka dapat lebih ringkas seperti berikut ini :<br /><pre><code>class Number {
public function __construct(
public int $a = 0,
public int $b = 0,
public int $c = 0,
) {}
}</code></pre><b style="text-indent: -18pt;"><span style="font-size: 16.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">5.<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: normal;">
</span></span></b><b style="text-indent: -18pt;"><span style="font-size: 16.0pt; line-height: 107%;">Match Expression</span></b><p class="MsoNormal">Saat membuat pemilihan kita sering menggunakan statement <b>switch case</b> atau <b>if</b> seperti berikut ini :<o:p></o:p></p><pre><code>switch (8) {
case '8':
$result = "Ini String";
break;
case 8:
$result = "ini Angka 8";
break;
}
echo $result;echo $result;</code></pre>Dengan menggunakan PHP 8 kita dapat meringkas kode diatas
menjadi seperti berikut ini :<br /><pre><code>echo match (8) {
'8' => "Ini String",
8 => "Ini Angka 8",
};</code></pre>Perlu kita ketahui <b>match</b>
dengan <b>switch</b> mempunyai perbandingan
sebagai berikut :<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo2; text-indent: -18.0pt;"><!--[if !supportLists]-->-<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Match merupakan ekspresi yang mempunyai arti
hasilnya dapat disimpan di dalam variabel atau dapat dikembalikan<o:p></o:p></p>
<p class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo2; text-indent: -18.0pt;"><!--[if !supportLists]-->-<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Dalam cabang perbandingan match hanya mendukung
single-line dan tidak perlu menggunakan pernyataan break.<o:p></o:p></p>
<p class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo2; text-indent: -18.0pt;"><!--[if !supportLists]-->-<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Match dapat melakukan strict comparisons<o:p></o:p></p>
<p class="MsoListParagraphCxSpMiddle"><o:p> </o:p></p>
<p class="MsoListParagraphCxSpLast" style="mso-list: l1 level1 lfo1; text-indent: -18.0pt;"><!--[if !supportLists]--><b><span style="font-size: 16.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: normal;">
</span></span></b><b><span style="font-size: 16.0pt; line-height: 107%;">6. Nullsafe Operator<o:p></o:p></span></b></p>
<p class="MsoNormal">Dengan menggunakan <b>nullsafe
operator</b> kita tidak perlu lagi menggunakan <b>if</b> statement dalam mendeteksi sebuah variabel atau<b> function</b> mempunyai nilai <b>“null”</b> atau tidak.<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>Contoh yang biasa kita tulis pada PHP 7<pre><code>$negara = null;
if ($session !== null) {
$user = $session->user;
if ($user !== null) {
$alamat = $user->getAlamat();
if ($alamat !== null) {
$negara = $alamat->negara;
}
}
}</code></pre>Pada PHP 7 seperti contoh diatas kita terlalu banyak
menggunakan statement<b> if</b> untuk
mendeteksi isi variabel / <b>function</b>
nilainya <b>null</b> atau tidak.<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>Dengan menggunakan PHP 8 maka kodenya dapat lebih singkat
lagi seperti berikut:<pre><code>$negara = $session?->user?->getAlamat()?->negara;</code></pre><p class="MsoNormal"><o:p></o:p></p> <b style="text-indent: -18pt;"><span style="font-size: 16.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">7.<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: normal;">
</span></span></b><b style="text-indent: -18pt;"><span style="font-size: 16.0pt; line-height: 107%;">Perbandingan String Yang lebih baik.</span></b><p class="MsoNormal">Pada <b>PHP 7</b> dalam
perbandingan nyatanya masih ada yang belum sesuai dengan fakta-nya. Perhatikan
contoh kode berikut ini:<o:p></o:p></p><pre><code>0 == “foobar”</code></pre>
AKode diatas harusnya hasilnya adalah false namun pada PHP 7
hasilnya dapat bernilai <b>true</b>.<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Pada PHP 8 sekarang hasilnya lebih akurat dan bernilai <b>false</b><o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left: 18.0pt; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -18.0pt;"><b><span style="font-size: 16.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">8.<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: normal;">
</span></span></b><!--[endif]--><b><span style="font-size: 16.0pt; line-height: 107%;">Type Error<o:p></o:p></span></b></p>
<p class="MsoNormal">Pada PHP 7 pada saat kita menuliskan kode function yang
salah maka akan muncul keterangan error yang menurutku masih ngambang yang
hanya memberikan peringatan saja. Beda dengan PHP 8 yang menjadi lebih baik
untuk sekarang ini.<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>Contoh error pada PHP 7.<pre><code>strlen([]); // Warning: strlen() expects parameter 1 to be string, array given
array_chunk([], -1); // Warning: array_chunk(): Size parameter expected to be greater than 0</code></pre>Jika pada PHP 8 penjelasannya menjadi lebih baik lagi
seperti beirkut ini :<br /><pre><code>strlen([]); // TypeError: strlen(): Argument #1 ($str) must be of type string, array given
array_chunk([], -1); // ValueError: array_chunk(): Argument #2 ($length) must be greater than 0</code></pre>Itulah beberapa fitur baru yang telah hadir pada <b>PHP 8</b> yang dapat memudahkan <i>developer web</i> dalam mengembangkan
aplikasinya. Sebenarnya masih ada beberapa pembaruan dari PHP 8 yang belum kita
bahas namun kita cukupkan sampai disini dulu artikel kali ini. Kita sambung
lagi pembahasan tentang perbaikan dan penambahan fitur pada PHP 8 pada artikel
selanjutnya.Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com0tag:blogger.com,1999:blog-2066466048247395712.post-77424833893438278122021-09-11T03:22:00.001-07:002021-09-11T03:22:42.473-07:00Fungsi Variabel $this dalam OOP PHP<p>Saat kita melihat sebuah kode program khususnya pada kode
program <b>PHP OOP</b>, kita sering menemui
variabel <b>$this</b>. Apa itu variabel <b>$this</b> ? dan fungsinya untuk apa ?.
Variabel <b>$this</b> <i>merupakan variabel khusus PHP dalam OOP yang digunakan untuk menunjuk
sebuah objek, ketika kita mau mengaksesnya dalam sebuah class</i>. <b>$this</b> juga sering disebut dengan <b>pseuo-variable</b>.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYLYVs3Re7exwm4zX7BWwnbSWnujmQpYIdKZ0vIJlMy8bLdUQN1h2tyDxE7erddQz0IWWZH8qBsOMWoo9f-vWFkQaN3M81q2awD274Z9npE3NsA_wWC-s5fC6I81pqS3Q8oDYys7dHpok/s907/Fungsi+Variabel+this+dalam+OOP+PHP.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="510" data-original-width="907" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYLYVs3Re7exwm4zX7BWwnbSWnujmQpYIdKZ0vIJlMy8bLdUQN1h2tyDxE7erddQz0IWWZH8qBsOMWoo9f-vWFkQaN3M81q2awD274Z9npE3NsA_wWC-s5fC6I81pqS3Q8oDYys7dHpok/w640-h360/Fungsi+Variabel+this+dalam+OOP+PHP.jpg" width="640" /></a></div><p>Perhatikan contoh kode program berikut ini :</p>
<pre><code><?php
class motor {
public $pemilik;
public $merek;
public $warna;
public function hidupkan_motor() {
return "Hidupkan motor";
}
public function matikan_motor() {
return "Matikan motor";
}
}
$motor_doni = new motor();
$motor_dina = new motor();
?>
</code></pre><div>Jika kode diatas dijalankan di web broser maka tidak tampil
apa-apa alias blank. Kenapa ? karena admin belum memanggil method apapun dari
objek tersebut.</div><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Pada <b style="mso-bidi-font-weight: normal;">class motor</b>
terdapat tiga property yang belum mempunyai nilai , yaitu:<b style="mso-bidi-font-weight: normal;"> $pemilik, $merek </b>dan<b style="mso-bidi-font-weight: normal;">
$warna.</b> Dan juga terdapat <b style="mso-bidi-font-weight: normal;">dua method</b>
yaitu <b style="mso-bidi-font-weight: normal;">hidupkan_motor()</b> dan <b style="mso-bidi-font-weight: normal;">matikan_motor()</b> Yang nantinya akan
mengembalikan <i style="mso-bidi-font-style: normal;">nilai string</i>. Seluruh
property dan method yang ada pada <b style="mso-bidi-font-weight: normal;">class
motor</b> dapat diakses dari luar <i style="mso-bidi-font-style: normal;">class</i>
karena memiliki hak akses <b style="mso-bidi-font-weight: normal;">public</b>. <o:p></o:p></p>
<p class="MsoNormal">Setelah kode <b style="mso-bidi-font-weight: normal;">Class</b>
Kemudian admin <span style="mso-spacerun: yes;"> </span>men-instansiasi ke dalam
dua objek <b style="mso-bidi-font-weight: normal;">$montor_doni</b> dan <b style="mso-bidi-font-weight: normal;">$montor_dina</b>.<o:p></o:p></p>
<p class="MsoNormal">Agar tampilan kode diatas tidak kosong mari kita tambahkan
property <b style="mso-bidi-font-weight: normal;">$pemilik</b> untuk kedua objek
diatas. Tambahkan kode berikut ini di bawahnya<o:p></o:p></p><pre><code>$motor_doni->pemilik = "Doni";
$motor_dina->pemilik = "Dina";
</code></pre><p class="MsoNormal">Agar nilai property diatas bisa tampil maka tambahkan kode
berikut ini dibawahnya.<o:p></o:p></p><pre><code>echo $motor_dina->pemilik;</code></pre>
<p class="MsoNormal">Sampai sini kita sudah mempelajari bagaimana cara mengakses
property objek, dari objek itu sendiri, yaitu dengan mengunakan kode format <b><i>$nama_objek->nama_property</i></b>.</p><p class="MsoNormal">Sekarang coba perhatikan kode berikut ini kita men-set nilai-nya
berada dalam class<o:p></o:p></p>
<pre><code><?php
class motor {
public $pemilik="Dina";
public $merek;
public $warna;
public function hidupkan_motor() {
return "Hidupkan motor";
}
public function matikan_motor() {
return "Matikan motor";
}
}
$motor_baru = new motor();
$motor_lama = new motor();
echo $motor_baru->pemilik; // Dina
echo $motor_lama->pemilik; // Dinas
echo $motor_baru->hidupkan_motor(); // Hidupkan Motor
echo $motor_lama->matikan_motor(); // Matikan Motor
?>
</code></pre>Jika kode diatas dijalankan maka isinya akan seperti berikut
: “ <b><span style="font-size: 13.5pt; line-height: 107%;">DinaDinaHidupkan motorMatikan motor</span></b><span style="font-size: 13.5pt; line-height: 107%;"> “ </span><i>Sekarang kita masuk bagian yang penting
bagamaina jika kita ingin saat method hidupkan_motor() di panggil, yang akan
ditampilkan</i> “ <b>Hidupkan Motor Dina</b>
“ . Dina harus diambil dari property <b>$pemilik</b>
dan tidak boleh menambahkan Dina dalam isi <b>return.</b><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Apakah kode programnya seperti berikut ini ?</p>
<pre><code><?php
class motor {
public $pemilik="Dina";
public $merek;
public $warna;
public function hidupkan_motor() {
return "Hidupkan motor $pemilik";
}
public function matikan_motor() {
return "Matikan motor";
}
}
$motor_baru = new motor();
echo $motor_baru->hidupkan_motor(); // Hidupkan Motor
?></code></pre>Coba jalankan kode program diatas dan lihat apa yang terjadi
pada tampilan broser anda ? maka hasilnya adalah error seperti berikut ini :<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><b><span style="font-size: 13.5pt; line-height: 107%;">Notice</span></b><span style="font-size: 13.5pt; line-height: 107%;">: Undefined variable: pemilik in <b>C:\xampp\htdocs\oop_php\index.php</b> on
line <b>9</b><br />
Hidupkan motor</span><o:p></o:p></p>
<p class="MsoNormal">Dapat kita pahami dari error yang ada diatas bahwa <b>variabel pemilik</b> (<b>$pemilik</b>) tidak terdefinisi pada baris 9. ( <b>return "Hidupkan motor $pemilik";</b> ). Bukankah <b>$pemilik=”Dina”</b> yang sudah di
definisikan di <b>property class</b> ? <o:p></o:p></p>
<p class="MsoNormal">Dalam kode program diatas kita ini, kita sedang mencoba <b>mengakses property objek dari dalam class</b>.<o:p></o:p></p>
<p class="MsoNormal">Agar kita dapat memahaminya, ingat bahwa class hanya sebuah <b><i>kerangka</i></b>
atau <b><i>blue
print</i></b>. Yang nantinya semua<b>
property</b> dan <b>method</b> akan dikases
dari dalam objek bukan dari dalam class. <o:p></o:p></p>
<p class="MsoNormal">Kode program diatas error karena variabel <b>$pemilik</b> tidak dapat terdefinisi karena
<b>$pemilik</b> ada didalam <b>konteks class</b> . (Bukan Objek) agar kode
program diatas tidak error maka perhatikan pada baris ke 9 kemudian rubah
kodenya seperti berikut ini :</p>
<pre><code>return "Hidupkan motor $this->pemilik";</code></pre>Save kemudian jalankan lagi maka error-nya akan hilang.
Karena variabel <b>$this</b> telah merujuk
pada objek yang sedang <i>menginstansiasi
class</i>.<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Kali ini kita sudah membahas mengenai variabel <b style="mso-bidi-font-weight: normal;">$this</b> pada <b style="mso-bidi-font-weight: normal;">OOP PHP</b>. Mulai dari pengertian <b style="mso-bidi-font-weight: normal;">$this</b>,
fungsi <b style="mso-bidi-font-weight: normal;">$this</b> yang digunakan sebagai
penunjuk objek, saat kiata mengaksesnya dari dalam <b style="mso-bidi-font-weight: normal;">class</b>. Dan kita juga sudah belahar membuat contoh kode programnya.<o:p></o:p></p>Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com0tag:blogger.com,1999:blog-2066466048247395712.post-17286564952675184442021-09-09T02:15:00.003-07:002021-09-09T02:20:35.510-07:00Pengertian Arbitary Keyword Argument (**kwargs) Pada Bahasa Python.Pada artikel kemarin kita sudah membahas<b><a href="https://www.sinauo.com/2021/09/pengertian-arbitary-arguments-args-pada.html" target="_blank"> pengertian Arbitary Arguments(*args)</a></b> kali ini kita akan membahas tentang <b>Arbitary Keyword Arguments.</b><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh44KccvzrbBcDSG765eJ0SS-czOPZFDSUFT0vJVgCWVht3I4vGpZNltq0QdsgwL24h15AdLOUFWeFknd-sDpPyh_dF9KmeFh907_2ftqojyzHx_vOOraUETm3l1q8P4H14321DwkH6mV0/s640/Pengertian+Arbitary+Keyword+Argument+Pada+Bahasa+Python.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="359" data-original-width="640" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh44KccvzrbBcDSG765eJ0SS-czOPZFDSUFT0vJVgCWVht3I4vGpZNltq0QdsgwL24h15AdLOUFWeFknd-sDpPyh_dF9KmeFh907_2ftqojyzHx_vOOraUETm3l1q8P4H14321DwkH6mV0/w640-h360/Pengertian+Arbitary+Keyword+Argument+Pada+Bahasa+Python.jpg" width="640" /></a></div><div> Apa perbedaan dari<b> Arbitary Arguments</b> dengan <b>Arbitary Keyword Arguments</b> ? Perbedaanya terletak pada penulisan <b>named parameter</b> atau <b>named argumen</b>. Dan Jika dalam <b>arbitary argument,</b> argument fungsi ditulis langsung dengan menggunakan nilai saja, sedangkan dalam <b>arbitary keyword arguments</b>, argumen fungsi ditulis dalam bentuk berpasangan tyang berisi nama dan value. </div><div><br /></div><div>Saat berada dalam fungsi, <b>parameter kwargs</b> berbentuk tipe <b>data dictionary</b>.
<b>Arbitary keyword arguments</b> merupakan istilah yang digunakan untuk menyebut jumlah <b>named argument</b> dalam fungsi yang berubah-ubah atau tidak dapat ditentukan. Dalam penulisan <b>arbitary keyword arguments</b> dalam membuat parameter depannya dikasih bintang 2 seperti contoh : **kwargs </div><div><br /></div><div>Contoh Kode Program Arbitary Keyword Arguments
<pre><code>def kalimat(**kwargs):
print(kwargs)
print(type(kwargs))
kalimat(a="Saya", b="Sedang", c="Belajar", d="Python")
</code></pre>
<p>Maka hasilnya akan seperti dibawah ini</p>
<hasil>
{'a': 'Saya', 'b': 'Sedang', 'c': 'Belajar', 'd': 'Python'} </hasil></div><div><br /></div><div>
Pada baris pertama admin membuat fungsi dengan nama <b>kalimat()</b> dengan menggunakan satu parameter <b>**kwargs</b> yang digunakan untuk menampung <b>arbitary keyword arguments</b>. Dalam isi fungsi <b>kalimat()</b> admin langsung menampilkan hasil parameter ( <b>print(kwargs)</b> ) serta memeriksa tipe datanya ( <b>print(type(kwargs) </b>). </div><div><br /></div><div>Kemudian pada baris yang terakhir admin memanggil fungsi <b>kalimat()</b> dengan empat named argumen sehingga hasilnya seperti diatas.
Jika dalam <b>arbitary arguments (*args)</b> hasilnya mempunyai tipe data tuple, maka dalam <b>arbitary keyword arguments</b> (**kwargs) akan berbentuk dictionary karena berpasangan yang berisi <b>nama</b> dan <b>nilai</b>.
Isi dalam parameter <b>arbitary keywords argument</b>s bisa juga di isi dengan <b>perulangan for</b>. Tidak jauh beda dengan arbitary arguments.</div><div><br /></div><div>Seperti pada kode program berikut ini :
<pre><code>def kalimat(**kwargs):
for n in kwargs:
print(n)
kalimat(a="Saya", b="Sedang", c="Belajar", d="Python")
</code></pre>
<p>Maka hasilnya </p>
<hasil>
a<br />
b<br />
c<br />
d </hasil></div><div><br /></div><div>Dalam fungsi <b>kalimat()</b> ada <b>perulangan for</b> yang digunakan untuk menampilkan nilai <b>argument</b> yang dikirim. Namun karena <b>kwargs</b> merupakan sebuah dictionary maka yang akan ditampilkan key atau nama dari dictionary tersebut.
Jika kita ingin menampilkan isi atau value dictionary dalam perulangan <b>for</b> maka kita dapat menggunakan kode program berikut ini.</div><div><pre><code>def kalimat(**kata):
for n in kata.values():
print(n)
kalimat(a="Saya", b="Sedang", c="Belajar", d="Python") </code></pre>
<p>maka hasil kode programnya adalah sebagai berikut ini :</p>
<hasil>
Saya<br />
Sedang<br />
Belajar<br />
Python </hasil></div><div><br /></div><div>
Dalam penulisan parameter <b>arbitary keyword arguments</b> tidak harus menggunakan kata <b>**kwargs</b> boleh dengan kata yang lainnya yang penting ada dua bintang di depannya.
Kalao kita lihat pada kode program yang baru diatas dengan kode program sebelumnya perbedaan hanya berada di baris nomer dua ada tambahan kata.<b>values()</b>. </div><div><br /></div><div>Dengan perintah tersebut maka variabel <b>n</b> akan berisi <b>value</b> atau isi dari setiap element dictionary.
Dari hasil kode diatas kata yang dihasilkan menjalur ke bawah bagaimana jika kita ingin menampilkannya menyamping atau memanjang ? maka kode programnya seperti berikut ini :
<pre><code>def kalimat(**kwargs):
abc = ""
for n in kwargs.values():
abc += n + " "
return abc;
print( kalimat(a="Saya", b="Sedang", c="Belajar", d="Python"))
</code></pre>
<p> maka hasilnya </p>
<hasil> Saya Sedang Belajar Python</hasil>
</div>Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com0tag:blogger.com,1999:blog-2066466048247395712.post-39881187492544397502021-09-04T21:43:00.003-07:002021-09-04T21:43:45.221-07:00Pengertian Arbitary Arguments (*args) Pada Bahasa Python<p><b>Arbitary arguments</b>
merupakan istilah yang digunakan untuk menyebut nilai jumlah argument yang
berubah-ubah atau tidak bisa ditentukan. Sampai sekarang ini kita baru belajar
membuat fungsi yang hanya dapat menerima nilai
argument dalam jumlah tetap (sesuai dengan yang ditulis saat
pendefinisian fungsi).</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0j4qTkQbeNxflCwUoJL2CH-K4XfiNFAzz-_lKaILndPHruEPClgGVutN1RlY9kijinvnKxDbSV0jf3ZNE_9H9deDuokb-xzkZ3YS_ZWRezxMQb4JdtZ4Z9-vT_PPbPaqJrHEv4ID_iN4/s907/Pengertian+Arbitary+Arguments.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="510" data-original-width="907" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0j4qTkQbeNxflCwUoJL2CH-K4XfiNFAzz-_lKaILndPHruEPClgGVutN1RlY9kijinvnKxDbSV0jf3ZNE_9H9deDuokb-xzkZ3YS_ZWRezxMQb4JdtZ4Z9-vT_PPbPaqJrHEv4ID_iN4/w640-h360/Pengertian+Arbitary+Arguments.jpg" width="640" /></a></div><p></p><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Dengan kita menggunakan teknik <b style="mso-bidi-font-weight: normal;">arbitary arguments</b>, kita dapat membuat fungsi agar bisa menerima 3,
4 bahkan hingga 1000 argument sekaligus. Cara membuat <b style="mso-bidi-font-weight: normal;">arbitary arguments</b> sangatlah mudah, caranya dengan menambahkan
bintang di awal parameter seperti contoh berikut ini :<o:p></o:p></p>
<pre><code>def nama_kota(*kota):
print(kota)
print(type(kota))
nama_kota("Jepara","Pati","Kudus","Demak")
</code></pre>
<p class="MsoNormal">Dalam contoh tersebut, fungsi <b>nama_kota()</b> mempunyai satu parameter khusus bernama <b>*kota</b> . Dengan menambahkan satu bintang
<b>(*) </b>di depan parameter , maka
parameter <b>*kota</b> dapat menampung
semua argumen yang ada saat pemanggilan fungsi tersebut kemudian di simpan
dalam sebuah <b><i>tuple.</i></b><o:p></o:p></p><p>
<span face=""Calibri","sans-serif"" style="font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Hasil dari program di atas adalah sebagai
berikut ini :</span></p>
<hasil>
('Jepara', 'Pati', 'Kudus', 'Demak')<br /><class 'tuple'>
</hasil>
<p></p><p class="MsoNormal">Dikarenakan hasil akhir-nya berbentuk <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">tuple</i></b>, maka kita dapat
menggunakan perulangan guna untuk mengakses pada setiap element tuple. <o:p></o:p></p>
<p class="MsoNormal">Sehingga jika di modifikasi contoh kode program diatas dapat
berubah seperti berikut ini :<o:p></o:p></p><pre><code>def nama_kota(*kota):
for n in kota:
print("Kota ",n)
nama_kota("Jepara","Pati","Kudus","Demak")
</code></pre>
<p>Maka hasilnya akan seperti berikut ini :</p>
<hasil>
Kota Jepara<br />
Kota Pati<br />
Kota Kudus<br />
Kota Demak<br />
</hasil>
<p class="MsoNormal">Pada kali ini kode program kita tambahkan perintah
perulangan<b> for</b> di dalam fungsi <b>nama_kota()</b>. Perulangan<b> for</b> tersebut akan mengakses pada
setiap element <b><i>tuple</i></b> kemudian ditampilkan dengan <b>print</b>. Dalam fungsi <b>nama_kota()</b>
sekarang dapat menampung banyak argument hingga ratusan argument kemudian semua
argument tersebut akan di proses.<o:p></o:p></p><p class="MsoNormal"><b>Abitray Arguments</b>
sangat cocok di gunakan untuk fungsi dengan tipe data argumen seragaman,
seperti yang melibatkan perhitungan matematika.<o:p></o:p></p><p>
</p><p class="MsoNormal">Perhatikan contoh berikut ini :<o:p></o:p></p>
<pre><code>def jumlah(*angka):
hasil = 0
for n in angka:
hasil += n
return hasil
print( jumlah(4,7) )
print( jumlah(7,7,6,9) )
print( jumlah(15,72,300,200,80,21,111,300) )
</code></pre>
<p>Hasilnya :</p>
<hasil>
11<br />
29<br />
1099
</hasil>
<p class="MsoNormal">Dalam fungsi <b>jumlah()</b>
admin menggunkan perulangan<b> for</b>
untuk menambah semua element<b><i> tuple</i></b> angka, kemudian hasilnya
dikembalikan dengan perintah <b>return</b>.
Perintah <b>hasil += n</b> merupakan
penulisan kode singkat dari <b>hasil =
hasil + n</b>, dimana setiap<b> ietrasi</b>
nilai <b>n</b> akan selalu ditambah kedalam
variabel <b>hasi</b>l.<o:p></o:p></p><p class="MsoNormal"><b><span style="font-size: 16.0pt; line-height: 107%;">Kesimpulan<o:p></o:p></span></b></p><p class="MsoNormal">Dalam artikel kali ini kita sudah membahas mengenai apa itu <i>arbitary arguments</i>, atau yang sering
disebut dengan nama argumennya yaitu *args.<o:p></o:p></p><p>
</p><p class="MsoNormal">Selain kita sudah mempelajari tentang pengertian <b><i>arbitary
arguments</i></b> kita juga telah mempratekan bagaimana cara membuat arbitrary
arguments. <o:p></o:p></p>
Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com0tag:blogger.com,1999:blog-2066466048247395712.post-24204621097465871942021-09-01T00:19:00.007-07:002021-09-01T00:21:18.977-07:00Pengertian Keyword Arguments / Named Parameter Python<p><b>Named Parameter</b>
sering disebut sebagai <b>named arguments</b>
atau <b>keyword arguments</b> merupkan
istilah dalam dunia programing untuk menyebut cara mengirimkan nilai dari
argument ke dalam parameter function dengan menambahkan / menulis nama
parameter, tidak hanya sekedar nilainya saja.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnIGIJIV5CYKNrL5Ut6rGXeNk8OcP27_5G2ROnj2YeUcCu4PP3yFN-I8ta7zMBg1wzSsln5pe8pvPM3z5Apm5ze5dNpYmzu3wnJ0EEdIBawgXgs6BJMUoGc1dcDWZEXrwR6shZw6qtEik/s907/Pengertian+Keyword+Arguments+Named+Parameter+Python.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="510" data-original-width="907" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnIGIJIV5CYKNrL5Ut6rGXeNk8OcP27_5G2ROnj2YeUcCu4PP3yFN-I8ta7zMBg1wzSsln5pe8pvPM3z5Apm5ze5dNpYmzu3wnJ0EEdIBawgXgs6BJMUoGc1dcDWZEXrwR6shZw6qtEik/w640-h360/Pengertian+Keyword+Arguments+Named+Parameter+Python.jpg" width="640" /></a></div><p>Dengan <b style="mso-bidi-font-weight: normal;">named
parameter</b>, saat kita mau menjalankan fungsi kita tidak perlu bergantung
pada urutan parameter. Selama nama argument sama dengan nama parameter maka
urutan argument bisa di tulis acak.</p><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Format dasar penggunaan<b> named parameter</b>.</p><pre><code>def fung(par1, par2, par3):
## isikan fungsi disini...
fung(par3 = 10, par1 = 20, par2 = 30)</code></pre><p class="MsoNormal">Pada baris pertama admin membuat fungsi dengan nama <b style="mso-bidi-font-weight: normal;">fung()</b> dengan tiga parameter yaitu <b style="mso-bidi-font-weight: normal;">par1, par2</b> dan <b style="mso-bidi-font-weight: normal;">par3 </b>. Seperti biasanya (<b style="mso-bidi-font-weight: normal;">tanpa
named argument</b>) pada saat pemanggilan fungsi, urutan argument wajib sesuai
dengan parameter urutan tersebut. Jika kita jalankan fungsi <b style="mso-bidi-font-weight: normal;">fung(1, 2, 3)</b> maka angka <b style="mso-bidi-font-weight: normal;">1</b> akan di terima <b style="mso-bidi-font-weight: normal;">par1 </b>dan <b style="mso-bidi-font-weight: normal;">angka 2</b> angkan
di terima oleh <b style="mso-bidi-font-weight: normal;">par2 </b>dan <b style="mso-bidi-font-weight: normal;">angka 3</b> di terima <b style="mso-bidi-font-weight: normal;">par3</b>. Namun jika kita memakai teknik <b style="mso-bidi-font-weight: normal;">named parameter</b> fungsi <b style="mso-bidi-font-weight: normal;">fung()</b>
dapat dijalankan dengan urutan argument acak atau sembarang, tetapi kita wajib
menulis nama parameter yang akan di isi.<o:p></o:p></p>
<p class="MsoNormal">Jika dijalankan fungsi fung(par=10, par1=20, par2=30), maka
nilai 10 akan diterima parameter par3, nilai 20 diterima oleh parameter par1
dan nilai 30 diterima parameter par3.<o:p></o:p></p>
<p class="MsoNormal">Perhatikan Contoh kode program Named Parameter Python :<o:p></o:p></p>
<pre><code>
def pangkat(angka, pangkat = 2):
hasil = 1
for n in range(0,pangkat):
hasil = hasil * angka
return hasil;
print( pangkat(2) )
print( pangkat(2,4) )
print( pangkat(3,3) )
</code></pre>
<p></p><p class="MsoNormal">Pada baris pertama terdapat fungsi <b style="mso-bidi-font-weight: normal;">pangkat()</b> yang mempunyai dua parameter yaitu <b style="mso-bidi-font-weight: normal;">angka</b> dan <b style="mso-bidi-font-weight: normal;">pangkat</b> pada <b style="mso-bidi-font-weight: normal;">parameter pertama (angka)</b> digunakan
untuk menampung nilai angka sedangkan <b style="mso-bidi-font-weight: normal;">pada
parameter kedua (pangkat)</b> untuk menampung nilai angka pangkat, jika
dijalankan <b style="mso-bidi-font-weight: normal;">pangkat(2,4)</b> artinya sama
dengan 2⁴<b style="mso-bidi-font-weight: normal;"><span style="mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: minor-fareast;">.</span></b><span style="mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: minor-fareast;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: minor-fareast;">Dengan menggunakan teknik <b style="mso-bidi-font-weight: normal;">named parameter</b> maka kita dapat
menjalankan fungsi <b style="mso-bidi-font-weight: normal;">pangkat()</b> sbb:</span></p><pre><code>def pangkat(angka, pangkat = 2):
hasil = 1
for n in range(0,pangkat):
hasil = hasil * angka
return hasil;
print( pangkat(angka = 2,pangkat = 4) )
print( pangkat(pangkat = 3,angka = 5) )
</code></pre>
Maka Hasilnya<div>
<hasil>16<br />
125
</hasil>
<p></p><p class="MsoNormal">Dengan menggunakan teknik <b style="mso-bidi-font-weight: normal;">named parameter</b> urutan argument tidak lagi berpengaruh pada saat
pemanggilan <b style="mso-bidi-font-weight: normal;">fungsi</b> selama kita
menulis nama argument tersebut dengan benar.<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-bidi-font-weight: normal;"><span style="line-height: 107%;"><span style="font-size: 16pt;"><b>Kesimpulan</b></span><span style="font-size: 21.3333px;"><b><br /></b></span></span></span><br />Pada tutorial kali ini kita sudah membahas tentang named
argument atau sering disebut juga dengan Named Parameter atau Keywords Argumen.
Admin juga membahas apa itu pengertian <b style="mso-bidi-font-weight: normal;">Named
Parameter / Keyword Arguments / Named Arguments.</b></p>
<p class="MsoNormal">Pada tutorial diatas juga sudah disertai dengan format dasar
penggunaan dan juga contoh kode program <b style="mso-bidi-font-weight: normal;">Named
Parameter / Keywords Arguments / Named Arguments.</b><o:p></o:p></p>
<p class="MsoNormal">Jika ada yang kurang jelas atau ada kalimat atau kode yang
salah dalam penyampaiannya artikel di atas mari kita diskusikan di kolom
komentar di bawah ini.</p><p></p></div>Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com0tag:blogger.com,1999:blog-2066466048247395712.post-88709811404364561352021-08-30T03:46:00.003-07:002021-08-30T03:49:05.249-07:00Tutorial CRUD Laravel 8 Simple dan Mudah Untuk Pemula<p>Laravel 8 di rilis oleh Taylor Otwell pada tanggal 8 September 2020 kemarin. Pada versi terbaru laravel 8 memberikan fitur-fitur terbaru. </p><p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiTfxJma2xnvNXTiGs1_6KGLLPyQpRJDduzoyEbhyphenhyphenXORE5AhsgAdxZTVEQSUEKKCyIsAJx_q0-M11sFfwBgkhIDKgkxO7PAE3gll8DXbmWQDoZKDfkq_1lIyiwCM_FMucYfpsFR3doKY8/s1017/Thumb_laravel.jpg" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="488" data-original-width="1017" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiTfxJma2xnvNXTiGs1_6KGLLPyQpRJDduzoyEbhyphenhyphenXORE5AhsgAdxZTVEQSUEKKCyIsAJx_q0-M11sFfwBgkhIDKgkxO7PAE3gll8DXbmWQDoZKDfkq_1lIyiwCM_FMucYfpsFR3doKY8/w640-h308/Thumb_laravel.jpg" width="640" /></a></p><p>Bila kita menemukan framework baru atau bahasa pemrograman baru yang berhubungan dengan database pastinya sering kali kita mulai dari tutorial CRUD (Create, Read, Update dan Delete). Pada kesempatan kali ini kita akan membahas dan mempelajari step by step tentang tutorial cara membuat CRUD di Laravel 8.</p><h2 style="text-align: left;">Tutorial CRUD Laravel 8</h2><p>Seperti biasa langkah pertama adalah dimulai dengan installasi dulu. Jika belum tahu cara installasi laravel 8 silahkan klik artikel dibawah ini :</p><p><a href="https://www.sinauo.com/2020/11/cara-installasi-laravel-8-di-windows.html" target="_blank">Cara Installasi Laravel 8</a></p><h3 style="text-align: left;"><b>Membuat Database</b></h3><p>Langkah selanjutnya adalah membuat database. Kali ini admin menggunakan database MySQL dan membuat database dengan nama <b>crud laravel.</b></p><p>Baca Juga : <a href="https://www.sinauo.com/2020/04/belajar-membuat-database-dengan-mysql.html" target="_blank">Cara Membuat Database di MySQL</a></p><p>Membuat Koneksi Database</p><p>Setelah database terbuat saatnya kita membuat koneksi database MySQL dengan laravel. buka file .env kemudian cari baris kode berikut ini :</p>
<pre><code>DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=crud_laravel
DB_USERNAME=root
DB_PASSWORD=
</code></pre>
<p>Untuk nama database sesuaikan dengan nama database yang anda buat dan username password sesuaikan dengan yang anda miliki. Kalao admin disini menggunakan username dan password default dari XAMPP.</p><h3 style="text-align: left;">Membuat Migration dan Model</h3><p>Pada tutorial kali ini kita akan menggunakan tabel siswas sebagai contohnya. Karena itu Kita perlu membuat tabel sekaligus model-nya dulu.</p><p>Ketikan perintah berikut ini pada command atau terminal anda:</p><pre><code>php artisan make:model Siswa --migration</code></pre><p>Setelah itu silahkan buka folder <i>migration</i> (<b>laravel8_master/database/migrations</b>) kemudian cari file yang baru kalian buat dengan nama siswa biasanya namanya pada awalan tanggal kemudian di ikuti dengan nama table (<b>2021_08_29_090949_create_siswas_table.ph</b>p) buka file tersebut kemudian modifikasi atau buat kode seperti dibawah ini : </p><pre><code><?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateSiswasTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('siswas', function (Blueprint $table) {
$table->id();
$table->char('NIS');
$table->text('NamaSiswa');
$table->text('Alamat');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('siswas');
}
}</code></pre><p>Perhatikan pada fungsi up ( function_up() ) di situlah kita membuat tabel berserta dengan field yang akan kita buat. Pada kode di atas admin membuat tabel siswas dengan beberapa field diantaranya <b>NIS</b>,<b> NamaSiswa</b> dan <b>Alamat.</b></p><p>Jika sudah membuat tabel ketikan kode di bawah ini pada CMD atau terminal anda.</p>
<pre><code>php artisan migrate</code></pre>
<p>Membuat Resource Controller</p><p>Untuk membuat controller pada laravel ketikan kode perintah berikut ini pada terminal atau CMD anda :</p>
<pre><code>php artisan make:controller SiswaControllers --resource</code></pre>
<p>Jika berhasil maka akan terdapat file dengan nama <b>SiswaControllers.php</b> pada folder <b>app/Http/controllers.</b></p><p>Di dalam file SiswaControllers secara otomatis sudah terdapat beberapa baris kode function seperti <b>index(), create(), store(), show(), edit() dan destroy().</b></p><p>Sekarang kita ubah kode yang ada dalam <b>SiswaControllers.php</b> seperti dibawah ini :</p><pre><code><?php
namespace App\Http\Controllers;
use App\Models\Siswa;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
class SiswaControllers extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$sisw = Siswa::latest()->paginate(5);
return view ('sisw.index',compact('sisw'))->with('i', (request()->input('page', 1) -1) * 5);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
return view('sisw.create');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
$request->validate([
'NIS' => 'required',
'NamaSiswa' => 'required',
'Alamat' => 'required',
]);
Siswa::create($request->all());
return redirect()->route('sisw.index')->with('succes','Data Berhasil di Input');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show(Siswa $sisw)
{
return view('sisw.show',compact('sisw'));
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit(Siswa $sisw)
{
return view('sisw.edit', compact('sisw'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Siswa $sisw)
{
$request->validate([
'NIS' => 'required',
'NamaSiswa' => 'required',
'Alamat' => 'required',
]);
$sisw->update($request->all());
return redirect()->route('sisw.index')->with('succes','Siswa Berhasil di Update');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy(Siswa $sisw)
{
$sisw->delete();
return redirect()->route('sisw.index')->with('succes','Siswa Berhasil di Hapus');
}
}</code></pre>
<p>Kemudian silahkan Save.</p><h3 style="text-align: left;"><b>Modifikasi Model</b></h3><p>Silahkan anda buka file yang sudah kita buat tadi yaitu <b>Siswa.php </b>yang tersimpan dalam folder <b>app/Models/</b> kemudianmodifikasi kode-nya seperti pada berikut ini :</p><pre><code><?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Siswa extends Model
{
use HasFactory;
protected $table = 'siswas';
protected $primaryKey = 'id';
protected $fillable = [
'NIS','NamaSiswa','Alamat'
];
}</code></pre><h3 style="text-align: left;"> Menambahkan Route</h3><p>Fungsi route adalah untuk mengakses resource controller siswa mari kita tambahkan route-nya caranya silahkan buka file <b>web.php</b> yang ada di folder routes (<b>routes/web.php</b>). kemudian modifikasi kode -nya seperti berikut ini :</p> <pre><code><?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\SiswaControllers;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::resource('sisw',SiswaControllers::class);</code></pre>
<h3 style="text-align: left;">Membuat Halaman View</h3><p>Kali ini kita akan membuat beberapah halaman view dengan menggunakan bootstrap. Lalu halaman apa saja yang akan kita buat ? Halaman yang akan kita buat adalah sebagai berikut ini :</p><ol><li>template.blade.php </li><li>
index.blade.php </li><li>
create.blade.php </li><li>
show.blade.php </li><li>
edit.blade.php </li></ol>
<p>Kemudian silahkan anda buat file baru dengan nama <b>template.blade.php</b> simpan pada direktori <b>resources/views</b>. Kemudian masukan kode berikut ini :</p><pre><code><!DOCTYPE html>
<html>
<head>
<title>Tutorial CRUD Laravel 8 untuk Pemula</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
</head>
<body>
<div class="container">
@yield('content')
</div>
</body>
</html></code></pre>
<p>Setelah itu silahkan buat folder baru dengan nama sisw pada folder resources/views kemudian dalam folder sisw yang baru kita buat tadi buat beberapa file baru dengan nama dan kode dibawah ini :</p>
<p><b>index.blade.php</b></p>
<pre><code>@extends('template')
@section('content')
<div class="row mt-5 mb-5">
<div class="col-lg-12 margin-tb">
<div class="float-left">
<h2>CRUD LARAVEL 8</h2>
</div>
<div class="float-right">
<a class="btn btn-success" href="{{ route('sisw.create') }}"> Input Siswa</a>
</div>
</div>
</div>
@if ($message = Session::get('succes'))
<div class="alert alert-success">
<p>{{ $message }}</p>
</div>
@endif
<table class="table table-bordered">
<tr>
<th width="20px" class="text-center">No</th>
<th>NIS</th>
<th width="280px"class="text-center">Nama Siswa</th>
<th width="280px"class="text-center">Alamat</th>
<th width="280px"class="text-center">Action</th>
</tr>
@foreach ($sisw as $siswa)
<tr>
<td class="text-center">{{ ++$i }}</td>
<td>{{ $siswa->NIS }}</td>
<td>{{ $siswa->NamaSiswa }}</td>
<td>{{ $siswa->Alamat }}</td>
<td class="text-center">
<form action="{{ route('sisw.destroy',$siswa->id) }}" method="POST">
<a class="btn btn-info btn-sm" href="{{ route('sisw.show',$siswa->id) }}">Show</a>
<a class="btn btn-primary btn-sm" href="{{ route('sisw.edit',$siswa->id) }}">Edit</a>
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger btn-sm" onclick="return confirm('Apakah Anda yakin ingin menghapus data ini?')">Delete</button>
</form>
</td>
</tr>
@endforeach
</table>
{!! $sisw->links() !!}
@endsection</code></pre>
<p><b>create.blade.php</b></p>
<pre><code>@extends('template')
@section('content')
<div class="row mt-5 mb-5">
<div class="col-lg-12 margin-tb">
<div class="float-left">
<h2>Create New Siswa</h2>
</div>
<div class="float-right">
<a class="btn btn-secondary" href="{{ route('sisw.index') }}"> Kembali</a>
</div>
</div>
</div>
@if ($errors->any())
<div class="alert alert-danger">
<strong>Whoops!</strong> Input gagal.<br><br>
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<form action="{{ route('sisw.store') }}" method="POST">
@csrf
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>NIS:</strong>
<input type="text" name="NIS" class="form-control" placeholder="NIS SISWA">
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Nama Siswa:</strong>
<input type="text" name="NamaSiswa" class="form-control" placeholder="NAMA SISWA">
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Alamat:</strong>
<textarea class="form-control" style="height:150px" name="Alamat" placeholder="Content"></textarea>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12 text-center">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</div>
</form>
@endsection</code></pre>
<p><b>show.blade.php</b></p>
<pre><code>@extends('template')
@section('content')
<div class="row mt-5 mb-5">
<div class="col-lg-12 margin-tb">
<div class="float-left">
<h2> Show Siswa</h2>
</div>
<div class="float-right">
<a class="btn btn-secondary" href="{{ route('sisw.index') }}"> Back</a>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>NIS:</strong>
{{ $sisw->NIS }}
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Nama Siswa:</strong>
{{ $sisw->NamaSiswa }}
</div>
</div>
</div>
@endsection</code></pre>
<p><b>edit.blade.php</b></p>
<pre style="text-align: left;"><code>@extends('template')
@section('content')
<div class="row mt-5 mb-5">
<div class="col-lg-12 margin-tb">
<div class="float-left">
<h2>Edit Siswa</h2>
</div>
<div class="float-right">
<a class="btn btn-secondary" href="{{ route('sisw.index') }}"> Back</a>
</div>
</div>
</div>
@if ($errors->any())
<div class="alert alert-danger">
<strong>Whoops!</strong> There were some problems with your input.<br><br>
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<form action="{{ route('sisw.update',$sisw->id) }}" method="POST">
@csrf
@method('PUT')
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>NIS:</strong>
<input type="text" name="NIS" class="form-control" placeholder="NIS SISWA" value="{{ $sisw->NIS }}">
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Nama Siswa:</strong>
<input type="text" name="NamaSiswa" value="{{ $sisw->NamaSiswa }}" class="form-control" placeholder="NAMA SISWA">
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Alamat:</strong>
<textarea class="form-control" style="height:150px" name="Alamat" placeholder="Content">{{ $sisw->Alamat }}</textarea>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12 text-center">
<button type="submit" class="btn btn-primary">Update</button>
</div>
</div>
</form>
@endsection
</code></pre><h3 style="text-align: left;">Test Program</h3><div>Masih sama dengan laravel versi sebelumnya silahkan silahkan ketikan perintah berikut <b>php artisan serve</b> pada terminal atau CMD anda kemudian buka browser anda ketikan alamat berikut ini pada web browser anda <b>http://127.0.0.1:8000/sisw </b>jika berashil maka muncul beberpa tampilan seperti berikut ini :</div><div><br /></div><div>Halaman Index :<br /><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-gzJeWqlElk-OWHXuKF9_KSBcwkO8xqEm0Kkv8M-r2BsMoNVjQKqpiqWUwkqOtkD-DxaNOY4MJihS_aDMI5UhTn9Kh7qiJQfulaMbOHc_J4tC5I6v_yLsT46VR39Z4SR0smxbTycLHAA/s1709/Crud_laravel_8_index.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="624" data-original-width="1709" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-gzJeWqlElk-OWHXuKF9_KSBcwkO8xqEm0Kkv8M-r2BsMoNVjQKqpiqWUwkqOtkD-DxaNOY4MJihS_aDMI5UhTn9Kh7qiJQfulaMbOHc_J4tC5I6v_yLsT46VR39Z4SR0smxbTycLHAA/w640-h234/Crud_laravel_8_index.jpg" width="640" /></a></div><div class="separator" style="clear: both; text-align: left;">Halaman Form Input</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiULWMN62jDTvvBvZcOznHW_551e-YadiyYAj1ceReB_hwYB1nAbcDxcriefi3czy0LDmRzXyMhoAywUsZegEOpMvroRhJhdgto2z7Y4ctd1ldUgQ76e9gUZSY_slOogHl8TLqye9hOzx8/s1627/Crud_laravel_8_input.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="643" data-original-width="1627" height="252" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiULWMN62jDTvvBvZcOznHW_551e-YadiyYAj1ceReB_hwYB1nAbcDxcriefi3czy0LDmRzXyMhoAywUsZegEOpMvroRhJhdgto2z7Y4ctd1ldUgQ76e9gUZSY_slOogHl8TLqye9hOzx8/w640-h252/Crud_laravel_8_input.jpg" width="640" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Halaman Show</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD0D4gOrTXAxBlnvrSSpZoIdn7N6BNM5oqfEkpho813eRLNJe_4DGfWtM6aYT6gPTJvKZrdTHFjV77eUkCT3Jn68RmukClE3EBIIja-Ldl-qNLSfMraPA7XZ0edu8Vyg4VcBPnC-atEA0/s1575/Crud_laravel_8_show.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="452" data-original-width="1575" height="184" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD0D4gOrTXAxBlnvrSSpZoIdn7N6BNM5oqfEkpho813eRLNJe_4DGfWtM6aYT6gPTJvKZrdTHFjV77eUkCT3Jn68RmukClE3EBIIja-Ldl-qNLSfMraPA7XZ0edu8Vyg4VcBPnC-atEA0/w640-h184/Crud_laravel_8_show.jpg" width="640" /></a></div><div class="separator" style="clear: both; text-align: left;">Halaman Form Edit</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9209yOXdrpY8n9lUGND8EA0w3801_rqyrBP-LI2nbwPOKzlzgFx70MlhumAWshMpl4rOM7ITFqoS-zEV-IdEZeKBLIwSR_QgcGeDeLOinLiBiGe-oSkmK1971W4LorKIpKY7_qh0khhM/s1646/Crud_laravel_8_edit.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1646" height="258" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9209yOXdrpY8n9lUGND8EA0w3801_rqyrBP-LI2nbwPOKzlzgFx70MlhumAWshMpl4rOM7ITFqoS-zEV-IdEZeKBLIwSR_QgcGeDeLOinLiBiGe-oSkmK1971W4LorKIpKY7_qh0khhM/w640-h258/Crud_laravel_8_edit.jpg" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><h3 style="clear: both; text-align: left;"><b>Kesimpulan</b></h3>Pada artikel kali ini kita sudah mempelajari tentang cara membuat CRUD di Laravel 8 kata lain dari CRUD kalao di bahasa indonesiakan adalah Membuat, Membaca, Edit dan Hapus. Mayoritas saat kita mengenal framework atau bahasa pemrograman baru yang berhubungan dengan database yang sering kita cari adalah tutorial cara menyimpan, mengedit dan menghapus data dengan laravel 8 misalnya seperti yang saat ini kita pelajari.<div><br /></div><div>Step by step sudah kita pratekan melalui kode-kode diatas mohon maaf jika dalam penyampainnya ada yang kurang jelas bisa kita diskusikan dalam kolom komentar dibawah ini :<br /><div class="separator" style="clear: both; text-align: left;"><br /></div><br /><div class="separator" style="clear: both; text-align: left;"><br /></div><br /><div class="separator" style="clear: both; text-align: left;"><br /></div><br /><div><br /></div><div><br /></div><div><br /></div></div>Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com13tag:blogger.com,1999:blog-2066466048247395712.post-77458365647278358862021-08-29T18:52:00.004-07:002021-08-29T18:53:37.555-07:00Pengertian Default Parameter Python<p></p><p class="MsoNormal"><b style="mso-bidi-font-weight: normal;">Default parameter</b>
di sebut juga dengan <b style="mso-bidi-font-weight: normal;">default argument</b>
merupakan istilah untuk parameter yang mempunyai nilai default atau nilai awal.
<o:p></o:p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvu4VzZwyBrB6ZqxYWUneb2-QjXMbuV5c5Hu5SW8IgcRjQintGHhwQzsdNN6ueb_2MrRl9Xn1HKYWQkcrcXdvYIjX2c-ykSjtaWqCFdKHSgbF2QBipB1mOC42W32AA6eCBZf5NsvhaI24/s907/Pengertian+Default+Parameter+Python.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="510" data-original-width="907" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvu4VzZwyBrB6ZqxYWUneb2-QjXMbuV5c5Hu5SW8IgcRjQintGHhwQzsdNN6ueb_2MrRl9Xn1HKYWQkcrcXdvYIjX2c-ykSjtaWqCFdKHSgbF2QBipB1mOC42W32AA6eCBZf5NsvhaI24/w640-h360/Pengertian+Default+Parameter+Python.jpg" width="640" /></a></div><p class="MsoNormal">Misal kita ingin membuat sebuah fungsi <b style="mso-bidi-font-weight: normal;">perkalian()</b> fungsi tersebut perlu <b style="mso-bidi-font-weight: normal;">2 parameter</b> berupa nilai yang akan dikalikan. Perhatikan contoh
kode program berikut ini :</p><pre><code>def perkalian(var1, var2):
return var1 * var2
print(perkalian(4,3))
print(perkalian(2,9))
</code></pre>
<p>Maka hasilnya</p>
<hasil>
12 <br />
18
</hasil>
<p>Dengan menggunakan default parameter kita juga dapat memanggil <b>fungsi perkalian()</b> hanya dengan 1 inputan atau tidak dengan inputan sama sekali. Perhatikan contoh kode programnya berikut ini :</p><pre><code>def perkalian(var1 = 4, var2 = 3):
return var1 * var2
print(perkalian())
print(perkalian(2))
print(perkalian(4,7))
</code></pre>
<p class="MsoNormal">Dalam baris pertama admin memasukan parameter pertama yaitu <b>var1=4</b> dan parameter yang kedua <b>var2=3.</b> Nilai dalam fungsi itulah yang
di sebut dengan default parameter. Jika parameter <b>var1 </b>dan <b>var2</b> waktu
pemanggilan <b>function</b> maka angka <b>4</b> dan <b>3</b> yang akan menjadil <b>nilai
awal parameter</b>. <o:p></o:p></p><p class="MsoNormal">Dengan menggunakan nilai <b>default parameter</b> ini kita dapat membuat fungsi dengan parameter
pilihan (yang bersifat opsional). Parameter dapat diisi waktu pemanggilan
fungsi, tapi juga boleh di kosongkan.<o:p></o:p></p><p>
</p><p class="MsoNormal">Dalam satu fungsi dapat memiliki banyak <b>default parameter</b>, namun tidak dibolehkan ada parameter yang tidak
ada nilai default yang dibuat sesudah parameter dengan nilai default. Contoh
kode program dibawah ini akan error karena parameter pertama mempunyai nilai
sedangkan yang kedua tidak mempunyai nilai :</p><pre><code>def perkalian(var1 = 4, var2):
return var1 * var2
print(perkalian())
print(perkalian(2))
print(perkalian(4,7))
</code></pre>
<p class="MsoNormal">Jika kode diatas dijalankan maka <b>akan terjadi error</b> karena <b>parameter
pertama</b> mempunyai <b>nilai </b>sedangkan
<b>parameter kedua</b> atau selanjutnya <b>tidak mempunyai nilai</b>. Sebagai catatan
jika pada parameter pertama mempunyai nilai maka untuk parameter selanjutnya
wajib mempunyai nilai default jika tidak ada maka akan terjadi error.<o:p></o:p></p><p class="MsoNormal"><b><span style="font-size: 14pt; line-height: 107%;">Fungsi Pemangkatan</span></b></p><p class="MsoNormal">Bisakah kita membuat pemangkatan dalam python ? tentu saja
pasti bisalah semua itu tergantung dari diri kita mau mencobanya atau tidak ..
hehe ..</p><p class="MsoNormal">Berikut ini merupakan contoh kode program pemangkatan pada
python dengan default parameter.</p><pre><code>def pangkat(angka, pangkat = 3):
hasil = 1
for n in range(0,pangkat):
hasil = hasil * angka
return hasil;
print( pangkat(2) )
print( pangkat(3) )
print( pangkat(3,4) )
print( pangkat(4,4) )
</code></pre>
<p>Maka hasilnya</p>
<hasil>
8<br />
27<br />
81<br />
256
</hasil>
<p class="MsoNormal">Fungsi <b>pangkat()</b>
mempunyai dua parameter yaitu <b>angka</b>
dan<b> pangkat</b>. Pada parameter <b>pangkat </b>mempunyai <b>nilai default 3</b>, sehingga jika saat melakukan pemanggilan, pada
parameter kedua tidak di isi, maka nilai <b>3</b>
yang menjadi nilai <b>default parameter</b>
kedua.</p><p class="MsoNormal">Pada kode program diatas dalam mencari pemangkatan kita
menggunakan perulangan<b> for</b>.
Perulangan dimulai dari nol hingga nilai yang tersimpan pada <b>parameter pangkat</b>. Dalam perulangan
tersebut akan mengalikan nilai <b>angka</b>
dan di simpan dalam variabel <b>hasil.</b>
Kemudian yang terakhir <b>return variabel
hasil</b>.</p><p class="MsoNormal"><o:p></o:p></p><p class="MsoNormal"><b><span style="font-size: 16pt; line-height: 107%;">Kesimpulan<o:p></o:p></span></b></p><p class="MsoNormal">Pada tutorial kali ini kita sudah mempelajari tentang
penggunaan <b>default parameter</b>. Fungsi
default parameter dapat di manfaatkan untuk membuat fungsi yang fleksibel
karena dengan cara pemanggilan <b>fungs</b>i
dapat kita rancang sesuai dengan kebutuhan kita.<o:p></o:p></p><p>
</p><p class="MsoNormal">Mohon maaf jika dalam penyampaiannya ada yang kurang jelas
jika ada yang tdak jelas bisa kita diskusikan dalam kolom komentar di bawah
ini.<o:p></o:p></p>
Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com0tag:blogger.com,1999:blog-2066466048247395712.post-50305274394808912092021-08-29T00:32:00.001-07:002021-08-29T00:32:54.329-07:00Fungsi Continue Pada Bahasa Python<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNomStTQZHOk6RG4KWcu5RvYkrijYKLy1hvARRWgoQlcl3V1B1h_8nfwRUEQMioHvsO3SbjXu7Lp3KfNPdbFmmyYInwuob2U4iSQmn-eCj3oe_uWQl9lK60PYr8oTi0oRPvnowTtkra8Q/s907/Fungsi+Continue+Pada+Bahasa+Python.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="510" data-original-width="907" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNomStTQZHOk6RG4KWcu5RvYkrijYKLy1hvARRWgoQlcl3V1B1h_8nfwRUEQMioHvsO3SbjXu7Lp3KfNPdbFmmyYInwuob2U4iSQmn-eCj3oe_uWQl9lK60PYr8oTi0oRPvnowTtkra8Q/w640-h360/Fungsi+Continue+Pada+Bahasa+Python.jpg" width="640" /></a></div><p>Pada artikel sebelumnya admin sudah membahas tentang <b><a href="https://www.sinauo.com/2021/08/fungsi-break-dalam-bahasa-python.html">break</a></b> pada python dan kali ini admin
akan membahas tentang <b>continue</b> pada
bahasa python. Tidak jauh beda <b>continue</b>
hampir mirip dengan perintah <b>break</b>.
Namun yang membedakan jika dalam <b>break</b>
perulangan langsung terhenti sedangkan dalam <b>continue</b> perulangan hanya melewati satu kali proses iterasi saja.</p><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Format dasar <b style="mso-bidi-font-weight: normal;">continue</b>
pada perulangan<b style="mso-bidi-font-weight: normal;"> while</b> :</p><pre><code>start;
while kondisi1:
increment
if kondisi2:
Continue
# kode yang akan diulang
</code></pre>
<p></p><p class="MsoNormal">Misal sebagai contoh kita membuat perulangan 1 sampai 8,
kemudian terdapat konidis <b style="mso-bidi-font-weight: normal;">if n = 4:, </b>maka
saat variabel counter <b style="mso-bidi-font-weight: normal;">n</b> mencapai <b style="mso-bidi-font-weight: normal;">4</b>, maka nilai <b style="mso-bidi-font-weight: normal;">4</b> akan hilang dan kode program yang ada di bawah perintah <b style="mso-bidi-font-weight: normal;">continue</b> akan terlewati dan proses
perulangan akan lanjut ke iterasi ke <b style="mso-bidi-font-weight: normal;">5</b>.<o:p></o:p></p>
<p class="MsoNormal">Agar lebih jelas perhatikan contoh berikut ini :<o:p></o:p></p><pre><code>n = 0
while n < 8:
n += 1
if n == 4:
continue
print(n, ' + ',n,' = ',n+n)
</code></pre>
<p>Maka hasilnya :</p>
<hasil>
1 + 1 = 2<br />
2 + 2 = 4<br />
3 + 3 = 6<br />
5 + 5 = 10<br />
6 + 6 = 12<br />
7 + 7 = 14<br />
8 + 8 = 16
</hasil>
<p></p><p class="MsoNormal">Coba perhatikan pada kode program di atas pada baris ke 4
terdapat kondisi <b style="mso-bidi-font-weight: normal;">if n == 4: continue</b>.
Konidisi tersebut dapat terpenuhi saat variabel counter <b style="mso-bidi-font-weight: normal;">n</b> berisi angka 4, maka perintah print pada baris 4 akan
terlewati/dilompati dan perulangan lanjut ke iterasi selanjutnya yaitu iterasi
5. Dapat kita lihat pada hasil di atas <b style="mso-bidi-font-weight: normal;">4
+ 4 = 5</b> tidak ada dalam daftar.<o:p></o:p></p>
<p class="MsoNormal">Saat kita membuat perintah <b style="mso-bidi-font-weight: normal;">continue</b> pada <i style="mso-bidi-font-style: normal;">perulangan
while</i>, peletakan posisi increment sangatlah berpengaruh.<o:p></o:p></p>
<p class="MsoNormal">Perhatikan contoh program dibawah ini:<o:p></o:p></p><pre><code>n = 0
while n < 8:
if n == 4:
continue
print(n, ' + ',n,' = ',n+n)
n += 1
</code></pre>
<p>Hasil kode :</p>
<hasil>
0 + 0 = 0<br />
1 + 1 = 2<br />
2 + 2 = 4<br />
3 + 3 = 6
</hasil>
<p></p><p class="MsoNormal">Tampak terlihat hasilnya seperti di atas berhenti sampai
angka <b style="mso-bidi-font-weight: normal;">3+3</b> setelah itu tampak kosong
tanpa adanya akhiran. Yang tampak kosong tersebut aslinya terjadi <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">infinity
loop</i></b> karena perintah <b style="mso-bidi-font-weight: normal;">continue</b>
berada sebelum perintah <b style="mso-bidi-font-weight: normal;">print </b>& <b style="mso-bidi-font-weight: normal;">increment n += 1</b>. Semua itu terjadi
karaena saat variabel <b style="mso-bidi-font-weight: normal;">n == 4</b>
perulangan akan terus berputar Antara baris <b style="mso-bidi-font-weight: normal;">2-4</b>. Perintah increment <b style="mso-bidi-font-weight: normal;">n +=
1</b> tidak dapat di eksekusi karena ditulis setelah perintah <b style="mso-bidi-font-weight: normal;">continue</b>. Silahkan tekan tombol
kombinasi <b style="mso-bidi-font-weight: normal;">CTRL+C</b> dalam python Shell
agar <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">infinity
loop</i></b> dapat terhenti.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZsvRdccVarF7QIW5rB4wIhZPrgWYJhrB64qNFgS-44OScOf8zMMXZ9AzZEP0BhlMVNW0dqZfDf5_S6a1KlaBTZXm8Q69tElO-Aq-bn4xersq6x83eL8j2PntCQ8dWSy6yg-5Hwz739qw/s1017/Fungsi_continue_pada_bahasa_python.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="445" data-original-width="1017" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZsvRdccVarF7QIW5rB4wIhZPrgWYJhrB64qNFgS-44OScOf8zMMXZ9AzZEP0BhlMVNW0dqZfDf5_S6a1KlaBTZXm8Q69tElO-Aq-bn4xersq6x83eL8j2PntCQ8dWSy6yg-5Hwz739qw/w640-h280/Fungsi_continue_pada_bahasa_python.jpg" width="640" /></a></div><div class="separator" style="clear: both; text-align: left;"><p class="MsoNormal">Contoh Perintah <b>Continue</b>
Pada Perulangan <b>For</b><o:p></o:p></p>
<p class="MsoNormal">Perhatikan contoh kode program berikut ini :</p></div><pre><code>for n in range(1,9):
if n == 4:
continue
print(n,' + ',n ,' = ',n+n)
</code></pre>
<p>Maka hasilnya :</p>
<hasil>
1 + 1 = 2<br />
2 + 2 = 4<br />
3 + 3 = 6<br />
5 + 5 = 10<br />
6 + 6 = 12<br />
7 + 7 = 14<br />
8 + 8 = 16
</hasil>
<p></p><p class="MsoNormal">Maka hasilnya akan seperti pada perulangan <b style="mso-bidi-font-weight: normal;">while</b> penjelasannya pun sama.
Selanjutnya mari kita rubah letak perintah <b style="mso-bidi-font-weight: normal;">continue</b>.
Perhatikan contoh kode program berikut ini :<o:p></o:p></p>
<pre><code>for n in range(1,9):
print(n,' + ',n ,' = ',n+n)
if n == 4:
continue
</code></pre>
<p>Maka hasilnya :</p>
<hasil>
1 + 1 = 2<br />
2 + 2 = 4<br />
3 + 3 = 6<br />
4 + 4 = 8<br />
5 + 5 = 10<br />
6 + 6 = 12<br />
7 + 7 = 14<br />
8 + 8 = 16
</hasil>
<p class="MsoNormal">Coba perhatikan hasil kode program di atas bandingkan dengan
yang sebelumnya. Ternyata pada hasil kode program yang bawah <b>4 + 4 = 8</b> muncul dalam <b>daftar list</b>. Pertanyaannya kenapa itu
terjadi ? Karena perintah <b>print</b>
berada sebelum perintah <b>continue</b>
jadi perintah <b>continue</b> dijalankan
saat <b>n</b> bernilai <b>4</b> dan kondisi tersebut terpenuhi, tapi perintah <b>print </b>sudah di eksekusi terlebih
dahulu. Posisi peletakan sangatlah penting dalam melibatkan <b>continue</b> karena dapat berpengaruh pada
hasil.<o:p></o:p></p><p class="MsoNormal"><b><span style="font-size: 16.0pt; line-height: 107%;">Kesimpulan<o:p></o:p></span></b></p><p class="MsoNormal">Pada artikel kali ini kita sudah membahas mengenai <i>perintah continue</i> pada bahasa python.
Pada tutorial kali ini kita sudah belajar menerapkan <i>perintah continue</i> pada perulangan <b>while</b> dan <b>for</b>.<o:p></o:p></p><p class="MsoNormal">Ada beberapa kode program <i>perintah continue</i> diatas yang dapat kita pahami dan pratekan
kemudian di otak atik sendiri.<o:p></o:p></p><p>
</p><p class="MsoNormal">Sekian tutorial perintah continue kali ini mohon maaf jika
dalam penyampaiannya sulit di pahami jika ada yang kurang jelas bisa kita diskusikan
dalam komentar dibawah ini.<o:p></o:p></p>
Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com0tag:blogger.com,1999:blog-2066466048247395712.post-27440492307723463302021-08-28T23:49:00.003-07:002021-08-28T23:49:42.722-07:00Fungsi Break dalam Bahasa Python<p>Pada artikel yang kemarin admin sudah membahas dua
perulangan dalam python yaitu <a href="https://www.sinauo.com/2021/08/belajar-perulangan-while-pada-bahasa.html">perulangan while</a> dan <a href="https://www.sinauo.com/2021/08/belajar-membuat-perulangan-for-pada.html">perulangan for</a>. Saat kita membuat sebuah perulangan, kadang ingin keluar dari
perulangan tersebut sebelum pada waktunya.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1KzQexnHJb1MvhecXRst24SpMSUYirvtl8w_2shPGImQegN87eC8-4zhidBsYutSssKuXL41O2k8I1mDCGIzviYl71MvBQkz6ZwXXWpXEhuW_cCnCUwNUh6JOoJ6iKs_hgIaoejOxMeI/s907/Fungsi+Break+dalam+Bahasa+Python.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="510" data-original-width="907" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1KzQexnHJb1MvhecXRst24SpMSUYirvtl8w_2shPGImQegN87eC8-4zhidBsYutSssKuXL41O2k8I1mDCGIzviYl71MvBQkz6ZwXXWpXEhuW_cCnCUwNUh6JOoJ6iKs_hgIaoejOxMeI/w640-h360/Fungsi+Break+dalam+Bahasa+Python.jpg" width="640" /></a></div><p>Contoh misal kita sedang membuat sebuah perulangan untuk
mencari satu nilai dalam sebuah list yang terdiri dari 50 element. Dan jika
nilai yang kita cari di temukan di posisi ke 20 maka perulangan tersebut akan
berhenti, itulah yang disebut dengan <b style="mso-bidi-font-weight: normal;">break</b>.</p><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;">Break</b> merupakan
perintah khusu yang digunakan untuk memaksa perulangan berhenti sebelum
waktunya. Perintah <b style="mso-bidi-font-weight: normal;">break</b> ini dapat
di gunakan dalam perulangan<b style="mso-bidi-font-weight: normal;"> fo</b>r
maupun <b style="mso-bidi-font-weight: normal;">while</b> di python.<o:p></o:p></p>
<p class="MsoNormal">Fromat dasar perintah break dalam perulangan while</p><pre><code>start;
while kondisi1:
# kode yang akan diulang
if kondisi2:
break
increment</code></pre><p class="MsoNormal">Dalam format diatas jika <b style="mso-bidi-font-weight: normal;">kondisi2</b> bernilai true (sudah terpenuhi) maka secara otomatis
poerulangan akan terhentimeski belum mencapai kondisi akhir di <b style="mso-bidi-font-weight: normal;">kondisi1.<o:p></o:p></b></p>
<h3 style="text-align: left;">Contoh kode program break pada perulangan while </h3><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Di sini admin akan membuat kode program perulangan yang
nantinya akan menampilkan daftar penjumlahan angka :</p><pre><code>n = 1
while n <= 15:
print(n,' + ',n ,' = ',n+n)
n += 1
</code></pre>
<p>Maka hasilnya :</p>
<hasil>
1 + 1 = 2 <br />
2 + 2 = 4 <br />
3 + 3 = 6<br />
4 + 4 = 8<br />
5 + 5 = 10<br />
6 + 6 = 12<br />
7 + 7 = 14<br />
8 + 8 = 16<br />
9 + 9 = 18<br />
10 + 10 = 20<br />
11 + 11 = 22<br />
12 + 12 = 24<br />
13 + 13 = 26<br />
14 + 14 = 28<br />
15 + 15 = 30
</hasil>
<p></p><p class="MsoNormal">Pada kode program di atas masih belum menggunakan <b style="mso-bidi-font-weight: normal;">break</b>, dan kode program tersebut
membuat daftar penjumlahan 1+1 hingga 15+15 dengan perulangan<b style="mso-bidi-font-weight: normal;"> while</b>. Sekarang admin akan menerapkan
kode break pada kode program di atas dimana variabel <b style="mso-bidi-font-weight: normal;">counter</b> sudah mencapai angka 8, maka perulangan akan diberhentikan
(break). Maka perhatikan kode program dibawah ini :</p><pre><code>n = 1
while n <= 15:
print(n,' + ',n ,' = ',n+n)
if n == 8:
break
n += 1
</code></pre>
<p>Maka hasilnya</p>
<hasil>
1 + 1 = 2<br />
2 + 2 = 4<br />
3 + 3 = 6<br />
4 + 4 = 8<br />
5 + 5 = 10<br />
6 + 6 = 12<br />
7 + 7 = 14<br />
8 + 8 = 16
</hasil>
<p>Coba perhatikan pada baris ke 4 terdapat tambahan kode <b>if n == 8 </b>yang artinya dimana jika
kondisi variabel counter <b>n</b> sudah
bernilai <b>8</b> / kondisi sudah terpenuhi
maka perintah <b>break</b> akan berjalan
dan perulangan langsung akan berhenti ketika variabel <b>n</b> sudah mencapai angka <b>8</b>.</p><p class="MsoNormal"><o:p></o:p></p>
<h3 style="text-align: left;">Pemindahan Posisi Break</h3><p class="MsoNormal"><o:p></o:p></p>
<span face=""Calibri","sans-serif"" style="font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Contoh pemindahan posisi break berada sebelum
print</span>
<pre><code>
n = 1
while n <= 15:
if n == 8:
break
print(n,' + ',n ,' = ',n+n)
n += 1
</code></pre>
<p>Maka hasilnya seperti berikut ini :</p>
<hasil>
1 + 1 = 2<br />
2 + 2 = 4<br />
3 + 3 = 6<br />
4 + 4 = 8<br />
5 + 5 = 10<br />
6 + 6 = 12<br />
7 + 7 = 14
</hasil>
<p></p><p class="MsoNormal">Perhatikan hasilnya beda dengan yang di atasnya padahal kita
hanya merubah posisi <b style="mso-bidi-font-weight: normal;">if</b> dan <b style="mso-bidi-font-weight: normal;">break</b> yang awalnya berada sesudah <b style="mso-bidi-font-weight: normal;">print</b> kita rubah menjadi sebelum <b style="mso-bidi-font-weight: normal;">print</b>. Kenapa yang kedua hanya tampil
sampai angka <b style="mso-bidi-font-weight: normal;">7</b> karena ketika
variabel <b style="mso-bidi-font-weight: normal;">n</b> sampai pada angka<b style="mso-bidi-font-weight: normal;"> 8</b>, maka langsung <b style="mso-bidi-font-weight: normal;">break</b> tanpa menjalankan perintah <b style="mso-bidi-font-weight: normal;">print</b>. Semua itu terjadi Karena perintah <b style="mso-bidi-font-weight: normal;">print</b> ditulis setelah pemeriksaan kondisi. Sedangkan pada kode
program yang <b style="mso-bidi-font-weight: normal;">if n == 8</b> berada
sesudah <b style="mso-bidi-font-weight: normal;">print</b> menampilkan sampai
angka <b style="mso-bidi-font-weight: normal;">8</b> karena begitu variabel naik
menjadi <b style="mso-bidi-font-weight: normal;">8</b>, maka perintah <b style="mso-bidi-font-weight: normal;">print</b> di proses terlebih dahulu,
kemudian baru perintah perintah <b style="mso-bidi-font-weight: normal;">break</b>
yang dijalankan.<o:p></o:p></p>
<p class="MsoNormal">Contoh Kode Program Penggunaan Perintah<b style="mso-bidi-font-weight: normal;"> Break</b> pada perulangan <b style="mso-bidi-font-weight: normal;">For</b><o:p></o:p></p>
<p class="MsoNormal">Berikut ini merupakan contoh penggunaan perintah break pada
perulangan <b style="mso-bidi-font-weight: normal;">for</b>.<o:p></o:p></p>
<pre><code>
for n in range(1,15):
print(n,' + ',n ,' = ',n+n)
if n == 8:
break
</code></pre>
<p>Maka hasilnya :</p>
<hasil>
1 + 1 = 2<br />
2 + 2 = 4<br />
3 + 3 = 6<br />
4 + 4 = 8<br />
5 + 5 = 10<br />
6 + 6 = 12<br />
7 + 7 = 14<br />
8 + 8 = 16
</hasil>
<p class="MsoNormal">Penjelasan tentang penggunaan break pada perulangan<b> for</b> tidak jauh beda dengan penggunaan
pada perulangan <b>while</b>. Pada kode program
di atas admin membuat perulangan dengan range 1 sampai 15 karena terdapat
perintah <b>break ( if n == 8:)</b> sesudah
<b>print</b> maka yang tampil sampai angka
8.<o:p></o:p></p><p class="MsoNormal"><b><span style="font-size: 16.0pt; line-height: 107%;">Kesimpulan<o:p></o:p></span></b></p><p class="MsoNormal">Pada artikel kali ini kita sudah membahas tentang perintah
fungsi dari <b>break</b>. Break merupakan
kode program digunakan untuk memaksa perulangan berhenti sebelum waktunya.
Break dapat digunakan dalam perulangan <b>while</b>
maupun <b>for</b> dalam python.<o:p></o:p></p><p class="MsoNormal">Kita juga sudah mempratekan beberapa contoh tentang break
dalam perulangan while maupun for yang kurasa cukup mudah untuk dipahami.<o:p></o:p></p><p>
</p><p class="MsoNormal">Jika ada yang tidak jelas atau perlu ditanyakan mari kita
diskusikan di kolom komentar.<o:p></o:p></p>
Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com0tag:blogger.com,1999:blog-2066466048247395712.post-58276285015591339032021-08-28T06:23:00.000-07:002021-08-28T06:23:02.126-07:00Eksport Data ke Excel di Codeigniter 4 dengan PHPSPreadsheet<p>Kalao sebelumnya admin sudah membahas bagaimana <a href="https://www.sinauo.com/2021/08/import-data-excel-dengan-codeigniter-4.html" target="_blank">cara import data dari excel </a>ke dalam database dengan <b>codeigniter 4</b> maka kali ini admin akan membahas kebalikannya yaitu bagaimana cara mengekspor data dari database ke excel dengan menggunakan codeigniter 4 dan library <b>PHPSpreadsheet</b>.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilN8NYX8Ab22nP6Nwjp7xiCbOe5rvP40KpvoxWEM8-4LcoKOQv3gd565vk5cJ-H46jR8nI14xZxyXlbczQ9LhMaLoPxcIaM2AgYEC4qPLdzDsnvKDnzBKJHS4GU4wWoGn7dYUgpsncAt0/s1017/CI.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="488" data-original-width="1017" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilN8NYX8Ab22nP6Nwjp7xiCbOe5rvP40KpvoxWEM8-4LcoKOQv3gd565vk5cJ-H46jR8nI14xZxyXlbczQ9LhMaLoPxcIaM2AgYEC4qPLdzDsnvKDnzBKJHS4GU4wWoGn7dYUgpsncAt0/w640-h308/CI.jpg" width="640" /></a></div><p>Meng eksport data dari database ke dalam format file excel sering menjadi permintaan seorang client saat memesan sebuah aplikasi. Sebagai seorang programer tentunya wajib memenuhi permintaan client tersebut. Hal tersebut digunakan untuk kebutuhan fitur pelaporan dalam aplikasi.</p><p>Library yang akan kita gunakan dalam tutorial cara eksport data ke excel di codeigniter 4 adalah PHPSpradsheet. <b>PHPSpreadsheet</b> merupakan library yang dibuat menggunakan bahasa pemrograman PHP yang menyediakan beberapa class yang dapat membantu kita dalam membaca dan menulis file Spreadsheet yang berformat seperti LibreOffice Calc dan Excel.</p><h2 style="text-align: left;">Cara Membuat Eksport Data Ke dalam Excel di Codeigniter</h2><p>Seperti biasa langkah pertamanya silahkan install codeigniter 4 dulu dalam komputer atau laptop anda jika belum mengerti caranya silahkan baca <a href="https://www.sinauo.com/2020/05/cara-installasi-codeigniter-4-dengan.html" target="_blank">Cara Installasi Codeigniter 4.</a></p><p>Langkah selanjutnya yang akan kita buat adalah menginstall library PHPSPreadsheet . Untuk installasi library PHPSpreadsheet ini kita menggunakan Composer silahkan buka composer anda kemudian arahkan ke folder root codeigniter 4 anda kemudian ketikan perintah berikut ini </p>
<pre><code>composer require phpoffice/phpspreadsheet
</code></pre>
<p>Jika berhasil maka akan muncul volder baru dengan nama vendor seperti gambar berikut ini :</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiazQye8w_9z8WKH7QePBVISnIPhcP5W9vPWx-vbhG3_K92AQ1OdajzHUeR5xalxNXvh7FenG784x8VgaL_4YFNcSB5vOA6AX4DW1-BD4yNybf8BCnbisDEENBVury7H9M1Bz9RhDcqHuc/s806/Upload_data_dengan_excel_phpspredsheet_php_8_.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="452" data-original-width="806" height="358" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiazQye8w_9z8WKH7QePBVISnIPhcP5W9vPWx-vbhG3_K92AQ1OdajzHUeR5xalxNXvh7FenG784x8VgaL_4YFNcSB5vOA6AX4DW1-BD4yNybf8BCnbisDEENBVury7H9M1Bz9RhDcqHuc/w640-h358/Upload_data_dengan_excel_phpspredsheet_php_8_.jpg" width="640" /></a></div><br /><h3 style="text-align: left;">Menyiapkan Data </h3><p>Silahkan siapkan data anda yang ada dalam database kali ini admin menggunakan data siswa yang ada dalam tabel siswa. berikut data yang akan admin gunakan.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOn6QrpoMSIGh5fg9ZB0bGqxKV6PBJaijyX6iazi2xfmCuMzeDoHp6ylnh7wiR4uCKnMz66_RoO3lz04ESYXSmXmoW9sWWMASi6bL2rnxftUQSYRPLyh-INJTdiyVxPOq21vf151wYlcI/s1658/Eksport-data-excel-codeigniter-4.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="718" data-original-width="1658" height="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOn6QrpoMSIGh5fg9ZB0bGqxKV6PBJaijyX6iazi2xfmCuMzeDoHp6ylnh7wiR4uCKnMz66_RoO3lz04ESYXSmXmoW9sWWMASi6bL2rnxftUQSYRPLyh-INJTdiyVxPOq21vf151wYlcI/w640-h278/Eksport-data-excel-codeigniter-4.jpg" width="640" /></a></div><br /><h3 style="text-align: left;">Koneksi Database</h3><p>Silahkan koneksikan database anda melalui file env atau database.php yang tersimpan dalam folder app/Config kali ini admin menggunakan file env (rename menjadi .env) silahkan buka file nya kemudian cari dan edit bagian yang seperti dibawah ini :</p><pre><code> database.default.hostname = localhost
database.default.database = siswa
database.default.username = root
database.default.password =
database.default.DBDriver = MySQLi
</code></pre>
<p>dan jangan lupa untuk mengganti <b>CI_ENVIRONMENT = production</b> menjadi <b>development</b></p><h3 style="text-align: left;">Membuat Model</h3><p>Selanjutnya kita membuat kelas model yang kita sesuaikan dengan data kita. Silahkan buat file baru dengan nama <b>ModelSiswa.php</b> kemudian simpan dalam folder <b>app/Model</b>. Dalam file <b>ModelSiswa.php</b> kita buat class model <b>ModelSiswa</b></p>
<pre><code><?php namespace App\Models;
use CodeIgniter\Model;
class ModelSiswa extends Model
{
protected $table = 'siswa';
protected $primaryKey = 'NIS';
protected $allowedFields =['NamaSiswa','Alamat'];
}</code></pre>
<h3 style="text-align: left;">Membuat Controller</h3><p>Setelah kita sudah membuat model langkah selanjutnya adalah membuat file controller. Dalam file controller inilah yang akan menghandle proses export ke excel. Dalam controller ini kita akan membuat dua fungsi yaitu fungsi <b>index</b> dan fungsi <b>exportSiswa.</b> Kali ini admin menggunakan file <b>Home.php</b> file bawaan yang sudah tersimpan di folder <b>app/Controllers</b> buka file Home.php kemudian tuliskan kode berikut ini :</p>
<pre><code><?php namespace App\Controllers;
use App\Models\ModelSiswa;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
class Home extends BaseController
{
public function __construct(){
$this->siswa = new ModelSiswa();
}
public function index(){
$data['Siswa'] = $this->siswa->findAll();
echo view('siswa',$data);
}
public function exportExcel()
{
$sisw = $this->siswa->findAll();
$spreadsheet = new Spreadsheet();
$spreadsheet->setActiveSheetIndex(0)
->setCellValue('A1', 'Nis')
->setCellValue('B1', 'Nama Siswa')
->setCellValue('C1', 'Alamat');
$column = 2;
foreach ($sisw as $sisdata) {
$spreadsheet->setActiveSheetIndex(0)
->setCellValue('A' . $column, $sisdata['NIS'])
->setCellValue('B' . $column, $sisdata['NamaSiswa'])
->setCellValue('C' . $column, $sisdata['Alamat']);
$column++;
}
$writer = new Xlsx($spreadsheet);
$filename = 'Data-Siswa-'. date('Y-m-d-His');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename=' . $filename . '.xlsx');
header('Cache-Control: max-age=0');
$writer->save('php://output');
}
}</code></pre>
<h3 style="text-align: left;">Membuat Views</h3><p>Setelah Model dan Controller sudah kita buat kita buat view untuk menampilkan data dan juga download excelnya. Silahkan buat file baru dengan nama <b>siswa.php</b> kemudian simpan dalam folder <b>app/Views</b> lalu masukan kode berikut ini : </p><pre><code><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Eksport Excel Codeigniter</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
</head>
<body>
<div class="container mt-3">
<a href="/home/exportExcel" class="btn btn-primary">Download Excel</a>
<table class="table table-bordered">
<thead>
<tr>
<th>NIS</th>
<th>Nama Siswa</th>
<th>Alamat Siswa</th>
</tr>
</thead>
<tbody id="contactTable">
<?php
if(!empty($Siswa)){
foreach($Siswa as $dt){
?>
<tr>
<td><?= $dt['NIS'] ?></td>
<td><?= $dt['NamaSiswa'] ?></td>
<td><?= $dt['Alamat'] ?></td>
</tr>
<?php
}
}else{
?>
<tr>
<td colspan="3">Tidak ada data</td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
</body>
</html></code></pre>
<p>Untuk mengetes kodenya kita runningkan dulu codeigniter 4 kita silahkan buka terminal atau CMD kemudian masuk ke folder host Codeigniter 4 kemudian ketikan <b>php spark serve</b> selanjutnya silahkan buka browser anda ketikan url berikut http://localhost:8080/ maka tampilannya akan seperti dibawah ini</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOLhqe9phnJFrGKoesQ70oqUHlR0UFRorUU-aak-YwRrUJ8yWlJ7sEateFiaT20w8AOrC_F72D-2OhiNBBCWc2CFzD3lfm9po5VOHx9YBn_AZydjq6xd3-6kkzktsviivdcGy26ejzj6s/s1188/Eksport-data-excel-codeigniter-4-php8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="656" data-original-width="1188" height="354" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOLhqe9phnJFrGKoesQ70oqUHlR0UFRorUU-aak-YwRrUJ8yWlJ7sEateFiaT20w8AOrC_F72D-2OhiNBBCWc2CFzD3lfm9po5VOHx9YBn_AZydjq6xd3-6kkzktsviivdcGy26ejzj6s/w640-h354/Eksport-data-excel-codeigniter-4-php8.jpg" width="640" /></a></div> <div>Silahkan klik Download Excel jika bisa di download dan dalam file excel terdapat data-data yang ada dalam database berarti kita sudah berhasil mempratekkan tutorial cara eksport data ke excel dengan codeigniter 4 .<br /><p><br /></p>
</div>Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com0tag:blogger.com,1999:blog-2066466048247395712.post-3047522376316181702021-08-28T03:35:00.002-07:002021-08-28T03:35:52.401-07:00Import Data Excel dengan Codeigniter 4 menggunakan PHPSpreadsheet<p>Dalam aplikasi pasti ada form untuk input data, dalam form tersebut pasti data yang di input hanya satu-satu atau kita tidak bisa menginput data banyak dalam 1 inputan. Bagaimana cara agar kita dapat menginput banyak data dalam 1 kali input data langsung tersimpan dalam database ? Caranya adalah dengan membuat fitur upload data dengan menggunakan excel. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilN8NYX8Ab22nP6Nwjp7xiCbOe5rvP40KpvoxWEM8-4LcoKOQv3gd565vk5cJ-H46jR8nI14xZxyXlbczQ9LhMaLoPxcIaM2AgYEC4qPLdzDsnvKDnzBKJHS4GU4wWoGn7dYUgpsncAt0/s1017/CI.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="488" data-original-width="1017" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilN8NYX8Ab22nP6Nwjp7xiCbOe5rvP40KpvoxWEM8-4LcoKOQv3gd565vk5cJ-H46jR8nI14xZxyXlbczQ9LhMaLoPxcIaM2AgYEC4qPLdzDsnvKDnzBKJHS4GU4wWoGn7dYUgpsncAt0/w640-h308/CI.jpg" width="640" /></a></div><p>Pada artikel kali ini admin akan membahas bagaimana cara membuat import data dengan excel di C<b>odeigniter 4</b> menggunakan library <b>PHPSpreadsheet</b> untuk membaca file excelnya. Kenapa admin kali ini menggunakan library <b>PHPSpreadsheet </b>tidak menggunakan library PHPExcel. Karena admin menggunakan PHP Versi 8 maka admin menggunakan library PHPSpreadsheet Perlu kita ketahui juga bahwa PHPExcel sudah tidak bisa berjalan pada <b>PHP Versi 8.</b></p><h2 style="text-align: left;">Cara Membuat Import Data dengan Excel di Codeigniter 4</h2><p>Langkah pertama yang perlu kita lakukan adalah menginstall Codeigniter 4 dalam laptop/komputer kita. Jika belum tau caranya silahkan klik <a href="https://www.sinauo.com/2020/05/cara-installasi-codeigniter-4-dengan.html" target="_blank">Cara Install Codeigniter 4.</a></p><p>Langkah yang kedua silahkan anda install library PHPSpreadsheet melalui composer. Silahkan ketikan kode berikut ini pada Composer anda :</p>
<pre><code>composer require phpoffice/phpspreadsheet
</code></pre>
<p>Jika berhasil maka akan muncul folder baru yang bernama vendor dalam folder root Codeigniter 4 anda seperti gambar dibawah ini:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGrAkUuVMdF9vovhpvOHKwTRITrP27KnOnRzo3GfC75jqFp7WpfKoH6AXGaaHQdk9mUKyPCN-04cN4dtVe9cgCht3Z48ORP8TyhMIgt3dHEp_qA-uHkZlE3Mzu4BvN9XU7rlD7KtVbA80/s806/Upload_data_dengan_excel_phpspredsheet_php_8_.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="452" data-original-width="806" height="358" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGrAkUuVMdF9vovhpvOHKwTRITrP27KnOnRzo3GfC75jqFp7WpfKoH6AXGaaHQdk9mUKyPCN-04cN4dtVe9cgCht3Z48ORP8TyhMIgt3dHEp_qA-uHkZlE3Mzu4BvN9XU7rlD7KtVbA80/w640-h358/Upload_data_dengan_excel_phpspredsheet_php_8_.jpg" width="640" /></a></div><div><br /></div>Jika codeigniter 4 dan library PHPSpreadsheet sudah terinstall saatnya kita membuat databasenya silahkan anda buat database dengan nama siswa kemudian buat tabel <b>siswa</b> yang berisi field <b>Nis</b>, <b>NamaSiswa</b> dan <b>Alamat</b>.<div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwaAvOkazBXns6ETbOfQ-4CoplsTwhPdgibandeNQtGhRX3jEkHEBiaaPgf8ngWzkwgBhNMpKnmTl7lAGBo8rvMOoNXOpm3Z0lnxpltw4aXV4SSXTOoGilUzHjuZ7qt3N7i7cmGh38oF4/s1088/Upload_data_dengan_excel_phpspredsheet_php_8_1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="297" data-original-width="1088" height="174" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwaAvOkazBXns6ETbOfQ-4CoplsTwhPdgibandeNQtGhRX3jEkHEBiaaPgf8ngWzkwgBhNMpKnmTl7lAGBo8rvMOoNXOpm3Z0lnxpltw4aXV4SSXTOoGilUzHjuZ7qt3N7i7cmGh38oF4/w640-h174/Upload_data_dengan_excel_phpspredsheet_php_8_1.jpg" width="640" /></a></div><h3 style="text-align: left;"><b>Membuat Koneksi Database</b></h3><div>Langkah selanjutnya adalah membuat koneksi database di <b>codeigniter 4</b>. Dalam pembuatan koneksi database ada dua acara yaitu dengan mengedit file <b>Database.php</b> (seperti Codeigniter 3) yang tersimpan dalam folder <b>app/config</b> atau dengan mengedit filename env menjadi .env yang ada di folder root. Pada tutorial kali ini admin menggunakan file<b> .env</b> . Caranya silahkan rename file <b>env</b> menjadi <b>.env</b> (tambahkan titik di depannya) kemudian buka di teks editor anda cari kode seperti berikut ini dan edit sesuaikan dengan koneksi dan nama database anda.</div><pre><code> database.default.hostname = localhost
database.default.database = siswa
database.default.username = root
database.default.password =
database.default.DBDriver = MySQLi
</code></pre>
<p>masih dalam file <b>.env</b> jangan lupa untuk merubah <b>CI_ENVIRONMENT</b> yang awalnya <b>production</b> menjadi <b>development </b></p><h3 style="text-align: left;">
Membuat Model</h3><div>Setelah membuat koneksi database langkah selanjutnya adalah membuat model. Silahkan anda buat file baru kemudian simpan dalam folder <b>app/Models</b> beri nama <b>ModelSiswa.php</b> kemudian masukan kode berikut ini :</div><pre style="text-align: left;"><code><?php namespace App\Models;
use CodeIgniter\Model;
class ModelSiswa extends Model
{
protected $table = 'siswa';
protected $primaryKey = 'NIS';
protected $allowedFields =['NamaSiswa','Alamat'];
}
</code></pre>
<h3 style="text-align: left;">Membuat Controller</h3><p>Controller bisa disebut juga sebagai jembatan antara model dan view. Di sini kita akan membuat file baru dengan nama <b>Siswa.php</b> kemudian simpan di folder <b>app/Controller</b>. didalam file <b>Siswa.php</b> nantinya kita akan membuat dua fungsi yaitu fungsi yang pertama index yang berfungsi untuk menampilkan data dan fungsi kedua yaitu simpanExcel yang nantinya digunakan untuk menyimpan data dari excel ke dalam database. Silahkan tulis kode dibawah ini kedalam file Siswa.php </p><pre style="text-align: left;"><code><?php namespace App\Controllers;
use App\Models\ModelSiswa;
class Siswa extends BaseController
{
public function __construct(){
$this->siswa = new ModelSiswa();
}
public function index(){
$data['Siswa'] = $this->siswa->findAll();
echo view('data_siswa',$data);
}
public function simpanExcel()
{
$file_excel = $this->request->getFile('fileexcel');
$ext = $file_excel->getClientExtension();
if($ext == 'xls') {
$render = new \PhpOffice\PhpSpreadsheet\Reader\Xls();
} else {
$render = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
}
$spreadsheet = $render->load($file_excel);
$data = $spreadsheet->getActiveSheet()->toArray();
foreach($data as $x => $row) {
if ($x == 0) {
continue;
}
$Nis = $row[0];
$NamaSiswa = $row[1];
$Alamat = $row[2];
$db = \Config\Database::connect();
$cekNis = $db->table('siswa')->getWhere(['Nis'=>$Nis])->getResult();
if(count($cekNis) > 0) {
session()->setFlashdata('message','<b style="color:red">Data Gagal di Import NIS ada yang sama</b>');
} else {
$simpandata = [
'Nis' => $Nis, 'NamaSiswa' => $NamaSiswa, 'Alamat'=> $Alamat
];
$db->table('siswa')->insert($simpandata);
session()->setFlashdata('message','Berhasil import excel');
}
}
return redirect()->to('/siswa');
}
}
</code></pre>
<h3 style="text-align: left;">Membuat View</h3><p>Silahkan buat file baru dengan nama <b>data_siswa.php </b>simpan dalam folder <b>app/Views</b> kemudian tulis kode berikut ini :</p><pre><code><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Import Excel Codeigniter</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
</head>
<body>
<div class="container mt-3">
<?php
if(session()->getFlashdata('message')){
?>
<div class="alert alert-info">
<?= session()->getFlashdata('message') ?>
</div>
<?php
}
?>
<form method="post" action="/siswa/simpanExcel" enctype="multipart/form-data">
<div class="form-group">
<label>File Excel</label>
<input type="file" name="fileexcel" class="form-control" id="file" required accept=".xls, .xlsx" /></p>
</div>
<div class="form-group">
<button class="btn btn-primary" type="submit">Upload</button>
</div>
</form>
<table class="table table-bordered">
<thead>
<tr>
<th>NIS</th>
<th>Nama Siswa</th>
<th>Alamat Siswa</th>
</tr>
</thead>
<tbody id="contactTable">
<?php
if(!empty($Siswa)){
foreach($Siswa as $dt){
?>
<tr>
<td><?= $dt['NIS'] ?></td>
<td><?= $dt['NamaSiswa'] ?></td>
<td><?= $dt['Alamat'] ?></td>
</tr>
<?php
}
}else{
?>
<tr>
<td colspan="3">Tidak ada data</td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
</body>
</html>
</code></pre>
<p>Pada views diatas kita sudah membuat tampilan untuk form upload excel yang diarahkan ke fungsi simpanExcel yang ada di controllers dan juga kode untuk menampilkan data dari database.</p><p>Saat membuat form upload file jangan lupa untuk mencantumkan attribut berikut <b>enctype="multipart/form-data”</b>.</p><p>Jalankan codeigniter 4 masuk ke direktori root <b>Codeigniter 4</b> melalui <b>terminal</b> atau <b>CMD</b> ketikan php spark serve. Kemudian buka broser ketikan alamat ini : <b>http://localhost:8080/index.php/siswa</b></p><p>Format excel yang diupload seperti yang ada digambar berikut ini :</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGwwPsvhgUN2rZHB4_m9KlOe1aF2LOXKleAIwTAaX7X07dmUSY58OWmea0iMh8qD2WVc5W2r11n0KC3O9-7NnbIiM2QTiy2YHBtBzMJ7kZ7z0JlYHXBrKNAu8Hfc-XoCHrTHYtlSGHGRk/s600/Upload_data_dengan_excel_phpspredsheet_php_8.1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="226" data-original-width="600" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGwwPsvhgUN2rZHB4_m9KlOe1aF2LOXKleAIwTAaX7X07dmUSY58OWmea0iMh8qD2WVc5W2r11n0KC3O9-7NnbIiM2QTiy2YHBtBzMJ7kZ7z0JlYHXBrKNAu8Hfc-XoCHrTHYtlSGHGRk/w400-h151/Upload_data_dengan_excel_phpspredsheet_php_8.1.jpg" width="400" /></a></div><p>Jika berhasil maka tampilannya akan seperti dibawah ini :</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh_XKHTYRxFB5edN-SQEy-RZ4G7zmX0ThmKVumeT4MEKSpsvx7p0ryHFEIJll24F8uRkR7k58R5_aNd8K26gigWVd7_eR3685Rr6mAaNtDeXzqbYKjnZ2PMBi7-bcvipquQHCdMKQyS0A/s1710/Upload_data_dengan_excel_phpspredsheet_php_8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="732" data-original-width="1710" height="274" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh_XKHTYRxFB5edN-SQEy-RZ4G7zmX0ThmKVumeT4MEKSpsvx7p0ryHFEIJll24F8uRkR7k58R5_aNd8K26gigWVd7_eR3685Rr6mAaNtDeXzqbYKjnZ2PMBi7-bcvipquQHCdMKQyS0A/w640-h274/Upload_data_dengan_excel_phpspredsheet_php_8.jpg" width="640" /></a></div><p>Sekian artikel kali ini jika ada yang belum jelas dan perlu ditanyakan silahkan kita diskusikan didalam kolom komentar dibawah ini.</p>Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com6tag:blogger.com,1999:blog-2066466048247395712.post-12493375788328487522021-08-27T10:17:00.003-07:002021-08-27T10:17:55.451-07:00Belajar Membuat Perulangan For Pada PythonArtikel yang akan kita bahas kali ini masih sekitar tentang perulangan atau looping merupakan intruksi kode program yang mempunyai tujuan untuk mengulang beberapa baris perintah. Pada artikel sebelumnya admin sudah membahas <a href="https://www.sinauo.com/2021/08/belajar-perulangan-while-pada-bahasa.html" target="_blank">perulangan while pada bahasa python</a> dan kali ini admin akan membahas perulangan <b>for</b> pada <b>python.</b> <br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEVDYcft95Eb8FthXgvjFBj9stKopKPvbno1t0LEvq5quo3L8dPcBPiwV94r2bQl4Fb7Kj-Dki7SM7CGypujJEaExleWJjCZapYji1NkHQNSmvD1Cdf-7l4sNF5nAJJLUNGiREoLFJ86M/s907/Belajar+Membuat+Perulangan+For+Pada+Python.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="510" data-original-width="907" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEVDYcft95Eb8FthXgvjFBj9stKopKPvbno1t0LEvq5quo3L8dPcBPiwV94r2bQl4Fb7Kj-Dki7SM7CGypujJEaExleWJjCZapYji1NkHQNSmvD1Cdf-7l4sNF5nAJJLUNGiREoLFJ86M/w640-h360/Belajar+Membuat+Perulangan+For+Pada+Python.jpg" width="640" /></a></div><br /><div>Perulangan for dalam bahasa pemrograman python berbeda dengan layaknya mayoritas bahasa pemrograman yang lainnya. <b>Perulangan for</b> lebih merujuk ke perulangan untuk memproses sebuah <i><b>himpunan atau array</b></i>. Bisa dikatakan perulangan <b>for</b> dalam bahasa python seperti dengan perulangan <i><b>foreach pada PHP</b></i>.</div><div><br /></div><div>Perhatikan format dasar perulangan <b>for</b> pada bahasa python berikut ini :</div>
<pre><code>var = [a1, b1, ...]
for n in foo:
# Area kode yang nantinya akan melalukan perulangan (yang akan di ulang)
</code></pre>
<p>Pada format diatas admin mendefinisikan variabe <b>var</b> (var = [a1, b1, ...] sebagai variabel himpunan atau array (data dapat berupa salah satu dari tipe data list, string, set, tuple atau dictionary). Nantinya for akan berjalan sebanyak jumlah elemen yang ada dalam variabel <b>var</b> selama perulangan variabel <b>n</b> akan berisi element yang sedang di proses. Biar lebih mudah dalam pemahaman perhatikan contoh berikut ini :</p>
<p>Contoh Perulangan For Pada Bahasa Python :</p>
<pre><code>buah = ['Mangga','Jambu','Pepaya','Nanas','Pisang']
for n in buah:
print(n)
</code></pre>
<p>Maka hasilnya seperti berikut ini :</p>
<hasil>
Mangga<br />
Jambu<br />
Pepaya<br />
Nanas<br />
Pisang
</hasil>
<p>Pada baris pertama admin membuat variabel <b>buah</b> <i>(buah = ['Mangga','Jambu','Pepaya','Nanas','Pisang']) </i>sebagai tipe data list. Dalam list tersebut terdiri dari 4 element. Dengan menggunakan perulangan <b>for</b> admin dapat menampilkan semua isi variabel <b>buah</b> <i>(buah = ['Mangga','Jambu','Pepaya','Nanas','Pisang'])</i> dan pada variabel <b>n</b> <i>(for n in buah:)</i>digunakan untuk menyimpan isi dari elemen yang saat ini di proses.</p>
<h3>Penggunaan tipe data set pada perulangan for</h3>
<p>Penggunanaan data set dalam bahasa python kurung yang kita gunakan adalah kurung kurawal (}) perhatikan contoh berikut ini : </p>
<pre><code>buah = {'Mangga','Jambu','Pepaya','Nanas','Pisang','Jambu'}
for n in buah:
print(n)<br /></code></pre>
<p> maka hasilnya akan seperti berikut ini </p>
<hasil>
Mangga <br />
Pepaya <br />
Pisang <br />
Nanas <br />
Jambu
</hasil>
<p>Coba perhatikan hasil dari kode diatas di dalam list admin menuliskan 6 element kenapa yang tampil hanya 5 element ? ini dikarenakan perilaku dari tipe data set Python, dimana jika data yang berulang (data yang sama) maka data tersebut tidak akan tersimpan. Dalam contoh diatas memasukan buah Jambu sebanyak dua kali.</p>
<h3>Penggunaan tipe data set pada perulangan for</h3>
<p>Dalam bahasa python tipe data string merupakan sebuah array. Contoh kode program perulangan for dengan tipe data string.</p>
<pre><code>var = 'Belajar'
for n in var:
print(n)
</code></pre>
<p>Maka hasilnya adalah sebagai berikut ini :</p>
<hasil>
B<br />e<br />
l<br />
a<br />
j<br />
a<br />
r<br />
</hasil>
<h3>Penggunaan Fungsi Range()</h3>
<p>Penggunaan fungsi range dapat digunakan untuk membuat deret angka yang menjadi inputan kedalam perulangan for.</p>
<p>Contoh Penggunaan Fungsi Range dalam Perulangan For</p>
<pre><code>for n in range(4):
print(n)
</code></pre>
Maka hasilnya :<div>
<hasil>0<br />
1 <br />
2 <br />
3
</hasil>
<p>Pada fungsi range(4) akan membuat 4 deret angka yang dimulai dari angka 0,1,2,3. Kenapa yang tampil hanya sampai angka 3 sedangkan dalam range tertulis angka. Perlu anda perhatikan dan garis bawahi karena angak di mulai dari 0 bukan angka 1.</p>
<h4>Mengatur Jangkuan Dalam Fungsi Range</h4>
<p>
Dalam range kita juga bisa mengatur jangkuan sesuai dengan yang kita inginkan. Caranya dengan menambah anka kedua dalam fungsi range().</p><p>
Contoh Kode Program Range Dengan Jangkauan dalam perulangan for python
</p><pre><code>for n in range(10,15):
print(n)<br /></code></pre>
Maka hasil kodenya sebagai berikut :<div>
<hasil>10 <br />
11 <br />
12 <br />
13 <br />
14
</hasil>
<p>Selain penggunaan fungsi range dengan jangkuan kita juga bisa mengatur tingkat kenaikan atau increment dari range dengan cara menambah satu angka lagi pada saat pemanggilan <b>fungsi range():</b></p>
Contoh kode program fungsi range dengan tingaktan kenaikan atau increment di perulangan for python :
<pre><code>for n in range(2,10,2):
print(n)<br /></code></pre>
Maka Hasilnya :<div> <hasil>2<br />
4 <br />
6 <br />
8 </hasil>Dalam contoh di atas perintah <b>range(2,10,2)</b> akan membuat deret angka 2 sampai 10 diamana setiap angka akan naik atau di tambah 2 angka. Bisa di lihat hasilnya angka deret lompat setiap kelipatan 2, mulai dari 2,4,6,8.</div><div><p></p><p></p><h3 style="text-align: left;">Kesimpulan </h3><div>Pada artikel kali ini kita sudah membahas dan mempelajarai tentang perulangan for dalam bahasa python. Perulangan for dalam bahasa python beda dengan perulangan di mayoritas bahasa pemrograman lain. Perulangan for hampir mirip dengan <i>foreach</i> dalam bahasa <b>PHP.</b></div><div><br /></div><div>Dalam mempratekan perulangan for sangatlah mudah. Perulangan for menggunakan beberapa element untuk dalam data list. Selain itu perulangan for juga dapat digunakan dalam perulangan untuk menampilkan deretan angka. </div></div></div></div>Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com0tag:blogger.com,1999:blog-2066466048247395712.post-13419716437756828412021-08-26T09:26:00.002-07:002021-08-26T09:26:52.336-07:00Belajar Perulangan While pada Bahasa Python<p>Saat kita membuat sebuah program dan berhubungan dengan data atau penomoran pasti kita membutuhkan yang namanya perulangan.Yang namanya perulangan atau struktur perulangan sering disebut dengan loop merupakan instruksi kode program yang mempunyai tujuan untuk mengulang beberapa baris perintah. Ada 3 komponen yang wajib kita ketahui saat membuat kode perulangan yaitu yang pertama <b>Kondisi Awal Perulangan</b> yang kedua <b>Kondisi Saat Perulangan</b> dan yang ketiga yaitu <b>kondisi yang wajib di penuhi agar perulangan terhenti</b>. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAqI-fUOOZoX4f6PN2ygBbfsU__RS_cPLdNhIy4rMAG2Uaes3JiTWsq5UQrOD9IcXS6qOscRznR2TEkWKzJT0YEh5XbEV6uGjurGwsGgbMrnVNeFUFkX5PztuX_OmqVNkNqm_h3kSTcUY/s907/Belajar+Perulangan+While+pada+Bahasa+Python.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="510" data-original-width="907" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAqI-fUOOZoX4f6PN2ygBbfsU__RS_cPLdNhIy4rMAG2Uaes3JiTWsq5UQrOD9IcXS6qOscRznR2TEkWKzJT0YEh5XbEV6uGjurGwsGgbMrnVNeFUFkX5PztuX_OmqVNkNqm_h3kSTcUY/w640-h360/Belajar+Perulangan+While+pada+Bahasa+Python.jpg" width="640" /></a></div><p>Pada artikel kali ini admin akan membahas perulangan while pada python berikut merupakan struktur perulangan while dalam bahasa python :</p>
<pre><code>start;
while condition:
# masukan kode yang akan di ulang
increment
</code></pre>
<p>Pada bagian paling atas terdapat kode <b>start</b> yang digunakan untuk inisial variabel perhitungan, misalnya <b>$n=1. </b>Kemudian pada bagian<b> condition </b>disinilah<b> </b>kondisi perulangan wajib di penuhi supaya perulangan berjalan misal <b>n < 10.</b> Dan ada pula increment di pakai untuk menaikan nilai variabel perhitungan, misal <b>n = n+1.</b></p><p>Perhatikan contoh perulangan while dibawah ini</p><pre><code>n = 1
while n <= 10:
print('Belajar Perulangan')
n += 1
</code></pre>
<p>Jika di run maka hasilnya akan seperti berikut ini :</p>
<hasil>
Belajar Perulangan
<br />Belajar Perulangan
<br />Belajar Perulangan
<br />Belajar Perulangan
<br />Belajar Perulangan
<br />Belajar Perulangan
<br />Belajar Perulangan
<br />Belajar Perulangan
<br />Belajar Perulangan
<br />Belajar Perulangan
</hasil>
<p>Dapat kita pahami bahwa pada kode diatas admin membuat start dengan variabel n yang bernilai angka 1 (n=1) kemudian pada kondisi perulangan memberikan nilai variabel dari start kurang dari atau sama dengan 10 <b>(n <= 10)</b> kemudian admin memasukan kode <b>print('Belajar Perulangan')</b> kode tersebut yang nantinya akan di ulang sebanyak 10 kali sesuai dengan nilai yang ada dalam kondisi. (while n <= 10) . Saat membuat perulangan while jangan lupa untuk membuat perintah increment perintah increment pada kode diatas adalah n += 1. Jika kita sampai lupa menuliskan perintah increment maka perulangan akan berjalan terus karena tidak terpenuhinya kondisi akhir dan akan terus berjalan untuk memberhentikannya kalian tekan <b>CTRL+C</b>. Kondisi tersebut dikenal dengan<b> infinity loop </b></p><p>Berikut contoh <b>infinity loop</b></p>
<pre><code>
n = 1
while n <= 10:
print('Belajar Perulangan')
</code></pre>
<p>Maka Hasilnya akan seperti dibawah ini :</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQBEA5E81t8XTYWiozLQ-6l0JnuaNkdvXVJ1E11jxQmDur7-qv2AiWk2-Pb7UzBPJeAWLl_x2ZhTXBONJ4B_zBidpKWj31uxtvEzRvBUO9H0y2UUsHn2o344_Nfy2QkFXwnK-SJi9cLuw/s1151/Perulangan_infinity_tanpa_batas.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="693" data-original-width="1151" height="386" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQBEA5E81t8XTYWiozLQ-6l0JnuaNkdvXVJ1E11jxQmDur7-qv2AiWk2-Pb7UzBPJeAWLl_x2ZhTXBONJ4B_zBidpKWj31uxtvEzRvBUO9H0y2UUsHn2o344_Nfy2QkFXwnK-SJi9cLuw/w640-h386/Perulangan_infinity_tanpa_batas.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">Penyebab kenapa jika kita menjalankan kode diatas <i>(infinity loop)</i> selalu menjalan perulangan terus menerus dan tidak akan berhenti jika tidak ditekan <b>CTRL+C</b> karena kondisi <b>while n <= 10</b> akan terus bernilai <b>True.</b> Karena didalam blok perulangan tersebut tidak kode yang memerintahkan nilai variabel <b>n</b> supaya kondisi <b>while n <= 10</b> bernilai <b>False</b>.</div><div class="separator" style="clear: both; text-align: left;"><br /></div>Selain itu kita juga harus berhati-hati dalam menggunakan spasi di penulisan kode perulangan dalam python karena itu merupakan penanda blok perulangan. seperti contoh di bawah ini :<pre><code>n = 1
while n <= 10:
print('Belajar Perulangan')
n += 1
</code></pre>
<p>Kode program diatas akan menjadi infinity loop karena perintah increment dibaris terakhir tidak lagi berada dalam blok perulangan, tapi berada setelah perulangan.</p><p>Kita juga bisa menampilkan nilai variabel <b>n</b> di dalam perulangan contohnya seperti dibawah ini :</p><pre><code>n = 1
while n <= 10:
print('Belajar Perulangan', n)
n += 1
</code></pre>
<p>Maka hasilnya akan seperti dibawah ini : </p>
<hasil>Belajar Perulangan 1
<br />Belajar Perulangan 2
<br />Belajar Perulangan 3<br />
Belajar Perulangan 4<br />
Belajar Perulangan 5<br />
Belajar Perulangan 6<br />
Belajar Perulangan 7<br />
Belajar Perulangan 8<br />
Belajar Perulangan 9<br />
Belajar Perulangan 10</hasil>
<p>Bagaimana jika kita ingin mengubah nilai tersebut menjadi menurun atau menjadi kelipatan misal kelipatan 3 atau berapa gitu . Caranya pun gampang kita tinggal mengotak atik pada perintah kondisi awal dan kondisi akhir di bagian <b>increment</b> jika kita ingin menampilkan nilai perulangan menurun kita gunakan proses <b>decrement </b>pada kode diatas perhatikan yang paling bawah yang awalnya nilai variabel <b>n += 1</b> maka kita tinggal megubah seperti ini <b>n -= 1</b> dan jika kita ingin menampilkan deret kelipatan misal kita ingin menampilkan kelipatan angka 2 maka kita ubah kondisi awal dan akhir dengan nilai yang sesuai dengan keingininan seperti contoh dibawah ini : </p>
<pre><code>
n = 2
while n <= 20:
print('Belajar Perulangan', n)
n = n + 2
</code></pre>
Maka hasilnya akan seperti dibawah ini :
<hasil>
Belajar Perulangan 2<br />
Belajar Perulangan 4<br />
Belajar Perulangan 6<br />
Belajar Perulangan 8<br />
Belajar Perulangan 10<br />
Belajar Perulangan 12<br />
Belajar Perulangan 14<br />
Belajar Perulangan 16<br />
Belajar Perulangan 18<br />
Belajar Perulangan 20<br />
</hasil>
<p><span style="font-size: large;"><b>Kesimpulan</b></span></p><p>Kali ini kita sudah mempelajari tentang perulangan pada python yaitu perulangan while untuk membuat sebuah perulangan kita wajib memahasi tiga komponen perulangan.</p><p>Selain itu kita juga sudah bisa mempratekan penggunaan perulangan <i>loop while</i> pada python. Untuk artikel selanjutnya kita nanti akan membahas perulangan pada python dengan menggunakan perintah <b>for.</b></p>Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com0tag:blogger.com,1999:blog-2066466048247395712.post-36443803621534438532021-08-25T19:36:00.002-07:002021-08-25T19:36:22.635-07:00Pengertian dan Fungsi Perintah Return pada Function di Python<p>Apa itu perintah return pada function? Perintah <b>return</b>
pada fungsi artinya mengembalikan nilai yang tersimpan dalam sebuah
variabel kepada kode yang akan memanggil function tersebut. Tujuan dari sebuah <b>return</b> adalah <b>untuk mengembalikan sebuah nilai pada function</b>.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHU0lAmILLaF06xpyEEek8Sy40QAJKVEX5k7ekdHNv-BC9qCtwQerc4e-utYEwxCnQrMh7-dMFM85MkrXx0E_0QQzBjZ0tERcFSA0ZhAOfMzq8PeJmQuxSgF2ZsST0L84xJC7iy2tqLFs/s907/Pengertian+dan+Fungsi+Perintah+Return+pada+Function+di+Python.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="510" data-original-width="907" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHU0lAmILLaF06xpyEEek8Sy40QAJKVEX5k7ekdHNv-BC9qCtwQerc4e-utYEwxCnQrMh7-dMFM85MkrXx0E_0QQzBjZ0tERcFSA0ZhAOfMzq8PeJmQuxSgF2ZsST0L84xJC7iy2tqLFs/w640-h360/Pengertian+dan+Fungsi+Perintah+Return+pada+Function+di+Python.jpg" width="640" /></a></div><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Sebelumnya admin juga sudah membahas artikel <a href="https://www.sinauo.com/2021/08/menganal-fungsi-function-pada-python.html" target="_blank"><b style="mso-bidi-font-weight: normal;">tentang Function dalam python</b>.</a> Dan
kita sudah membuat beberapa contoh ketika sebuah function akan menampilkan
sebuah teks. Seperti contoh dibawah ini :<o:p></o:p></p>
<pre><code>
def luas_persegi_panjang(panjang, lebar):
hasil = panjang * lebar
print("Luas Persegi Panjang Adalah",hasil);
luas_persegi_panjang(2, 4)
</code></pre> <p>
Maka hasil kodenya
</p>
<hasil> Luas Persegi Panjang Adalah 8 </hasil>
<br /><p class="MsoNormal">Dari kode di atas kita dapat memodifikasi dengan menggunakan
tambahan perintah <b style="mso-bidi-font-weight: normal;">return </b>sehingga
kodenya seperti dibawah ini :<o:p></o:p></p>
<pre><code>
def luas_persegi_panjang(panjang, lebar):
hasil = panjang * lebar
return hasil
teks1 = luas_persegi_panjang(2, 4)
print("Luas Perseg Panjang",teks1)
</code></pre>
<p>Maka hasilnya</p>
<hasil>Luas Perseg Panjang 8</hasil>
<p>Perhatikan kode diatas terdapat perintah <b>return</b> pada baris ketiga yaitu <b>return hasil</b> yang artinya mengmebalikan
nilai yang tersimpan di dalam <b>hasil</b>
kepada kode yang memanggil function tersebut.</p><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Perhatikan pada baris kelima disitu admin membuat sebuah
variabel dengan nama teks1 dan diisi dengan luas_persegi_panjang(2, 4). Dengan
perintah tersebut maka variabel teks1 berisi angka 8 kemudian ditampilkan
dengan perintah print.<o:p></o:p></p>
<p class="MsoNormal">Selain perintah diatas kita juga bisa langsung mengembalikan
nilai yang berasal dari hasil operasi. Artinya kita tidak perlu menyimpannya
dalam variabel hasil terlebih bisa kita lihat seperti contoh yang ada dibawah
ini :<o:p></o:p></p>
<pre><code>
def luas_persegi_panjang(panjang, lebar):
return panjang * lebar
print("Luas Perseg Panjang",luas_persegi_panjang(2, 4))
</code></pre>
<p>Jika kode diatas di jalankan maka hasilnya pun sama dengan
kode sebelumnya (<b>Luas Perseg Panjang 8</b>).
Namun pada kode yang ada di atas kita tidak menggunakan variabel. Kalao kode
sebelumnya kita menggunakan variabel <b>hasil</b>
dan <b>teks1</b>.</p><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Perintah return juga dapat menghentikan function karena
dalam function <b>return</b> sangat mirip
dengan perintah <b>break</b> dalam <b>perulangan</b>. Jika suatu function
terdapat sebuah return dan dibawah <b>return</b>
tersebut masih terdapat kode perintah function maka kode yang ada di dibawah <b>return </b>tersebut tidak akan pernah
dijalankan atau eksekusi. <o:p></o:p></p>
<p class="MsoNormal">Perhatikan contoh berikut ini :<o:p></o:p></p><p class="MsoNormal">Jika kode diatas di jalankan maka hasilnya pun sama dengan
kode sebelumnya (<b style="mso-bidi-font-weight: normal;">Luas Perseg Panjang 8</b>).
Namun pada kode yang ada di atas kita tidak menggunakan variabel. Kalao kode
sebelumnya kita menggunakan variabel <b style="mso-bidi-font-weight: normal;">hasil</b>
dan <b style="mso-bidi-font-weight: normal;">teks1</b>.<o:p></o:p></p>
<p class="MsoNormal">Perintah return juga dapat menghentikan function karena
dalam function <b style="mso-bidi-font-weight: normal;">return</b> sangat mirip
dengan perintah <b style="mso-bidi-font-weight: normal;">break</b> dalam <b style="mso-bidi-font-weight: normal;">perulangan</b>. Jika suatu function
terdapat sebuah return dan dibawah <b style="mso-bidi-font-weight: normal;">return</b>
tersebut masih terdapat kode perintah function maka kode yang ada di dibawah <b style="mso-bidi-font-weight: normal;">return </b>tersebut tidak akan pernah
dijalankan atau eksekusi. <o:p></o:p></p>
<p class="MsoNormal">Perhatikan contoh berikut ini <o:p></o:p></p>
<pre><code>
def luas_persegi_panjang(panjang, lebar):
return panjang * lebar
print("Lagi Asik Belajar Python")
print("Luas Perseg Panjang",luas_persegi_panjang(2, 4))
</code></pre>
<p>Maka hasilny adalah masih tetap sama seperti di atas yaitu</p>
<hasil> Luas Perseg Panjang 8</hasil>
<p class="MsoNormal">Pada kode diatas pada baris tiga terdapat terdapat perintah <b>print("Lagi Asik Belajar Python")</b> kode tersebut berada
dalam function namun posisinya berada setelah return maka kode tersebut tidak
akan pernah di eksekusi oleh function tersebut karena berada setelah perintah <b>return</b>.<o:p></o:p></p><h3 style="text-align: left;">Kesimpulan</h3><p class="MsoNormal"><o:p></o:p></p><p class="MsoNormal">Pada artikel kali ini kita telah membahas lanjutan dari
fungsi (function) dalam python yaitu tentang pengertian dan fungsi return pada
python. Admin sudah membahas dan memberikan beberapa contoh semoga contoh
diatas dapat dipahami.<o:p></o:p></p><p class="MsoNormal">Kenapa kita wajib memahami return ini ? karena mayoritas
function akan mengembalikan sebuah nilai, cukup jarang menampilkan hasil dalam
bentuk teks.<o:p></o:p></p><p>
</p><p class="MsoNormal">Cukup sekian artikel kali ini jika ada yang kurang jelas
atau kurang paham mari kita diskusikan di kolom komentar di bawah ini..<o:p></o:p></p>
Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com0tag:blogger.com,1999:blog-2066466048247395712.post-91291150152333223232021-08-24T09:31:00.004-07:002021-08-24T09:37:45.954-07:00Belajar Tentang Pengertian Parameter dan Argumen Fungsi (Function) Python<p>Artikel kali ini melanjutkan pembahasan tentang <a href="https://www.sinauo.com/2021/08/menganal-fungsi-function-pada-python.html" target="_blank">cara membuatfungsi (function) di dalam bahasa python</a>. Apa itu pengertian <b>dari Parameter dan Argumen</b> fungsi dalam
python ? <b>Parameter</b> merupakan sebuah
sebutan nilai untuk inputan fungsi pada saat fungsi tersebut di definisikan,
sedangan <b>Argument </b>adalah sebutan
untuk nilai inputan fungsi pada saat fungsi tersebut di panggil. Biasanya saat
membuat sebuah fungsi, fungsi tersebut dapat menerima sebuah nilai masukan atau
inputan, Nilai itulah yang di sebut dengan <b>parameter</b>
atau <b>argument</b>.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG875k0lExgZ4IAHlsEwYQL2YTs6S4DbGPyv86LOa5bqvxh6ZhQdrRcF4aUM6f-aU0ymvgTxL28bdQbdZ-5OrjH7DMAgV1zj-FPT5CESNUeKXqRE9o8abQVK0AOCaqmba3CaGmefBMExU/s907/PARAMETER+DAN+ARGUMEN_PADA_FUNGSI_PYTHON.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="510" data-original-width="907" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG875k0lExgZ4IAHlsEwYQL2YTs6S4DbGPyv86LOa5bqvxh6ZhQdrRcF4aUM6f-aU0ymvgTxL28bdQbdZ-5OrjH7DMAgV1zj-FPT5CESNUeKXqRE9o8abQVK0AOCaqmba3CaGmefBMExU/w640-h360/PARAMETER+DAN+ARGUMEN_PADA_FUNGSI_PYTHON.jpg" width="640" /></a></div><p>Fungsi dapat menerima 1, 2 atau lebih dari parameter atau argument
atau bahkan tidak terdapat argument atau parameter sekali, semua itu sesuai
dengan kebutuhan kita. Parameter atau argument sebenarnya mirip dan sering di
pertukarkan. Perbedaan argument dan parameter fungsi python adalah hanya di
posisi pembuatan saja.Untuk Parameter merujuk <span style="mso-spacerun: yes;"> </span>pada inputan fungsi saat pendefinisian,
sedangkan argumen merujuk pada nilai input fungsi saat pemanggilan.</p><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Format parameter dan argument fungsi python :<o:p></o:p></p>
<pre><code>Def nama_fungsi(parameter1, parameter2):
#isi fungsi
#ini fungsi
Return nilai
nama_fungsi(argumen1, argumen2)
</code></pre>
<p></p><p class="MsoNormal">Kita lihat pada format di atas bahwa pada baris 1 atau
pertama kita coba perhatikan isi dalam kurung setelah <b style="mso-bidi-font-weight: normal;">nama_fungsi</b> disitulah (dalam kurung) kita dapat menuliskan sebuah
parameter. Dalam contoh diatas ada dua <b style="mso-bidi-font-weight: normal;">parameter</b>
yaitu <b style="mso-bidi-font-weight: normal;">parameter1</b> dan <b style="mso-bidi-font-weight: normal;">parameter2. </b>Selama isi fungsi
parameter1 dan parameter2 bisa diakses sebagaimana variabel biasa. Saat
memanggil fungsi, kita wajib mengisi kedua nilai argument seperti pada contoh
diatas<span style="mso-spacerun: yes;"> </span>nama_fungsi(argumen1, argumen2)
nilai argumen tersebut nantinya yang akan mengisi nilai parameter.<o:p></o:p></p>
<p class="MsoNormal">Agar lebih paham coba perhatikan contoh kode program python
fungsi yang menggunakan parameter di bawah ini :</p><p></p>
<pre><code>def daerah_asal(kota):
print("Kota Asal Saya",kota);
daerah_asal("Jepara")</code></pre>
<p>Maka hasilnya akan seperti dibawah ini</p>
<hasil>Kota Asal Saya Jepara</hasil>
<p></p><p class="MsoNormal">Bisa kita lihat pada contoh kode yang ada Saat pendefinisian
fungsi dari <b style="mso-bidi-font-weight: normal;">daerah_asal()</b> mempunyai
satu parameter yaitu kota daerah_asal(kota) didalam fungsi parameter dapat
diakses seperti halnya kayak variabel. Pada contoh datas hanya terdapat satu
parameter yaitu kota maka kita wajib mengisi argument seperti yang sudah saya
contohkan diatas saya isi dengan string “Jepara” <b style="mso-bidi-font-weight: normal;">daerah_asal(“Jepara”)</b> baris terakhir.</p><p class="MsoNormal">Kita juga dapat menambahkan banyak argument hanya dengan 1
parameter seperti pada contoh berikut ini<o:p></o:p></p><pre><code>def daerah_asal(kota):
print("Kota Asal Saya",kota);
daerah_asal("Jepara")
daerah_asal("Demak")
daerah_asal("Kudus")
daerah_asal("Pati")
</code></pre>
<p>Maka hasilnya seperti dibawah ini </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrqo6ENttfSPHH6vJSFIM-BQBgvanyQjJuW-e3kDqxG-NEaaAEPHjL6Cw0xrqzKiz1U7i0bQqIInWAKsw3a4WBtXt3Ltq2chJ6axma0ZYQhyk7PNNu9ex7UVTxuTFBjMA9v5w3YDUGwXs/s666/Hasil_python_argumen_parameter.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="225" data-original-width="666" height="216" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrqo6ENttfSPHH6vJSFIM-BQBgvanyQjJuW-e3kDqxG-NEaaAEPHjL6Cw0xrqzKiz1U7i0bQqIInWAKsw3a4WBtXt3Ltq2chJ6axma0ZYQhyk7PNNu9ex7UVTxuTFBjMA9v5w3YDUGwXs/w640-h216/Hasil_python_argumen_parameter.png" width="640" /></a></div><div><br /></div><h3 style="text-align: left;"><b>Sekarang kita buat parameter atau argumen yang lebih dari satu.</b></h3><div>Kita dapat menginput satu atau lebih parameter dan argumen dalam python. Ingat saat pengisian parameter dan argumen jumlahnya haru sama. Misal jika parameter nya ada 2 maka argumennya juga wajib dikasih dua jika jumlahnya tidak sama maka program tersebut akan error.</div><div><br /></div><div>Perhatikan contoh penerapan parameter atau argumen lebih dari satu nilai.</div><pre><code>def hitung_perkalian(angka1, angka2):
hasil = angka1 * angka2
print("Hasil Perkalian dari dua angka",hasil);
hitung_perkalian(2, 4)
hitung_perkalian(3, 4)
hitung_perkalian(4, 4)
</code></pre>
<p>Hasil dari kode diatas adalah </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKqmkZZwlOfsAwaas2GYQfHU3_q7FPoyC7kJhp2yji2F4RezLPLEX5q_mUtVCJ9GiRleRQM81j1s3ULqrNw3orE_YKuPoTaOGR8XgRvYnGOGeq1II1dciRwtYTmIKDoWq9XPRjIEgJ0Sk/s664/Hasil_python_argumen_parameter_perkalian.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="208" data-original-width="664" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKqmkZZwlOfsAwaas2GYQfHU3_q7FPoyC7kJhp2yji2F4RezLPLEX5q_mUtVCJ9GiRleRQM81j1s3ULqrNw3orE_YKuPoTaOGR8XgRvYnGOGeq1II1dciRwtYTmIKDoWq9XPRjIEgJ0Sk/w640-h200/Hasil_python_argumen_parameter_perkalian.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: left;">Pada contoh diatas pada baris pertama terdapat dua parameter yaitu angka1 dan angka2. Dalam penamaan parameter boleh bebas asal seperti dengan penamaan variabel dan perlu di ingat tidak boleh menggunakan spasi saat membuat nama parameter. dan pada baris bawah kita telah membuat sebuah argumen yang jumlah argumennya sama dengan jumlah parameter. Tapi dengan pemanggilan fungsi sebanyak tiga kali dengan nilai argumen yang berbeda-beda.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Itulah sekilas sedikit tutorial mengenail parameter dan argumen dalam pemrograman python semoga dapat bermanfaat amin.</div><br /><p><br /></p>
Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com3tag:blogger.com,1999:blog-2066466048247395712.post-19769435449187749442021-08-23T02:47:00.011-07:002021-08-24T09:33:08.877-07:00Menganal Fungsi (Function) pada Python<p>Pada artikel kali admin akan membahas mengenai cara membuat
function (fungsi) pada bahasa pemrograman python. Pada artikel sebelumnya admin
juga membahas mengenai tentang <a href="https://www.sinauo.com/2021/02/tutorial-python-membuat-logika.html" target="_blank">percabangan logika if else pada python </a></p><p class="MsoNormal"><o:p></o:p></p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSpF-lDD3gzBYkbIBp6oRR600HhahfHp5FhSKBoTIE8JljKsP_Pq2gtuobxSynzWCl5Nypu78TBE3QvN5zUpwi0UkOJ-Mv9L9EY0XQVfnhXL7Qsmr7r426TGM8HjIU9ZQhXTF4ypvcBMw/s640/Mengenal+FUngsi+Python.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="359" data-original-width="640" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSpF-lDD3gzBYkbIBp6oRR600HhahfHp5FhSKBoTIE8JljKsP_Pq2gtuobxSynzWCl5Nypu78TBE3QvN5zUpwi0UkOJ-Mv9L9EY0XQVfnhXL7Qsmr7r426TGM8HjIU9ZQhXTF4ypvcBMw/w640-h360/Mengenal+FUngsi+Python.jpg" width="640" /></a></div><p class="MsoNormal">Sebelum mempratekan sebuah kode fungsi (function) dalam
python baiknya kita mengenal dulu apa itu pengertian dari fungsi (function)
pada python ? fungsi (function) adalah sebuah kode khusus yang dibangun guna
untuk menyelesaikan tugas tertentu, dan ikut dalam bagian program utama. Fungsi
dapat dibedakan menjadi dua kelompok yaitu <b style="mso-bidi-font-weight: normal;">Built-In
Function</b> dan <b style="mso-bidi-font-weight: normal;">User Defined Function. </b>Dari
dua kelompok tersebut masing-masing mempunyai pengertian yang berbeda. <o:p></o:p></p>
<p class="MsoNormal">Pengertian dari <b style="mso-bidi-font-weight: normal;">Built-In
Function</b> merupakan sebutan sebuah fungsi yang sudah ada dalam bawaan<span style="mso-spacerun: yes;"> </span>bahasa pemrograman. Sedangkan User Defined
Function adalah fungsi yang kita (Programer) buat sendiri. Dalam bahasa
pemrograman python terdapat banyak fungsi bawaan, termasuk yang dapat diakses
dari library atau package pihak ketiga, Seperti contoh yang sering kita gunakan
yaitu fungsi <b style="mso-bidi-font-weight: normal;">print(). </b>Namun pada
artikel kali ini kita akan fokus pada <b style="mso-bidi-font-weight: normal;">User
Defined Function.<o:p></o:p></b></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="line-height: 107%; mso-bidi-font-size: 11.0pt;"><span style="font-size: large;">Cara
Membuat Fungsi di Bahasa Pemrograman Python.</span><o:p style="font-size: 14pt;"></o:p></span></b></p>
<p class="MsoNormal">Untuk membuat sebuah fungsi dalam bahasa python harus
diawali dengan <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">def</i></b> kemudian diikuti dengan nama fungsi tersebut. Dalam
penulisan nama fungsi dilarang membuat nama fungsi dengan awalan <b style="mso-bidi-font-weight: normal;">angka</b> dan tidak boleh menggunakan <b style="mso-bidi-font-weight: normal;">spasi</b>. Dalam penulisan sebuah nama
fungsi baiknya gunakan huruf kecil semua dan gunakan underscore untuk
memisahkan sebuah kata. Aturan tersebut sering disebut dengan <b style="mso-bidi-font-weight: normal;">snake_case</b> contoh <b style="mso-bidi-font-weight: normal;">form_pendaftarn(), tampil_data_pendaftar(). </b>Sesudah penulisan nama
fungsi wajib terdapat tanda kurung <b style="mso-bidi-font-weight: normal;">() </b>Yang
nantinya dalam tanda kurung tersebut dapat diisi dengan <b style="mso-bidi-font-weight: normal;">argumen atau parameter</b>. <o:p></o:p></p>
<p class="MsoNormal">Dan pada baris pertama di akhiri dengan tanda titik dua <b style="mso-bidi-font-weight: normal;">:</b> untuk memulai kode program function.
Untuk isi dari function selalu berada blok kode yang di jorokkan dengan beberapa
soasi kedalam atau indeen. Jika fungsi tersebut mengembalikan sebuah nilai maka
tambahkan atau jalankan perintah return di baris akhir. Untuk menjalankan
sebuah function dalam python kita wajib memanggil nama function tersebut dengan
cara menulis nama fungsi tersebut. <br /><br />Berikut merupakan penulisan kode function dalam python</p><p class="MsoNormal"><o:p></o:p></p>
<pre><code>def nama_function():
# masukan isi function ……
return nilai
nama_function()
</code></pre><p class="MsoNormal">Pada kode diatas kode function ada pada baris 1-3 dan fungsi
tersebut di panggil satu kali pada baris ke 4.<o:p></o:p></p>
<p class="MsoNormal">Mari kita pratekan cara membuat fungsi dalam python perhatikan
contoh berikut ini :</p>
<pre><code>def sapa_indonesia():
print('Hello Indonesia')
sapa_indonesia()
</code></pre><p class="MsoNormal">Pada kode diatas kita sudah membuat nama fungsi dengan nama
sapa_indonesia() kemudian mempunyai satu perintah yang isinya print(‘Hello Indonesia’)
kemudian nama fungsi tersebut di panggil dibawahnya maka jika di run hasilnya
yang muncul adalah seperti berikut ini<o:p></o:p></p><br />
<hasil>Hello Indonesia</hasil><br /><br /><div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg582zv9wtyLDatARTP0ltlkPp9nZUIYYvVT2U_eweGJGxcNV1MAIw3iCkSONauu0gApW90ES0HJzoWeM6Z8IP-lhZ5_x8rrqVqO8LCIb7wqBliZNDCatayOIytEla3mZJnfzGiq8E8Uos/s1016/PYTHON1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="284" data-original-width="1016" height="178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg582zv9wtyLDatARTP0ltlkPp9nZUIYYvVT2U_eweGJGxcNV1MAIw3iCkSONauu0gApW90ES0HJzoWeM6Z8IP-lhZ5_x8rrqVqO8LCIb7wqBliZNDCatayOIytEla3mZJnfzGiq8E8Uos/w640-h178/PYTHON1.png" width="640" /></a></div><br />Contoh Program Function dengan memiliki banyak fungsi</div>
<pre><code>def fungsi_satu():
print('Ini adalah fungsi pertamaa....');
def fungsi_kedua():
print('Ini adalah fungsi kedua......');
def fungsi_ketiga():
print('Ini adalah fungsi ketiga.....');
fungsi_satu()
fungsi_kedua()
fungsi_ketiga()
</code></pre>
<p class="MsoNormal">Pada contoh diatas kita telah mendefinisikan atau membuat
tiga fungsi dalam kode program yakni <b style="mso-bidi-font-weight: normal;">fungsi_satu(),
fungsi_kedua() dan fungsi_ketiga()</b> maka jika dirun hasilnya akan seperti
dibawah ini:<o:p></o:p></p><br />
<hasil>
Ini adalah fungsi pertamaa....<br />
Ini adalah fungsi kedua......<br />
Ini adalah fungsi ketiga.....
</hasil>
<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixIuaMYqpK_7zo08E17HzcZ0llXFnRlz6EWCTd2QV0vnknqHCv0dal_k2x2jwxEHBsp2UapK7EVG2FN13rKGFtlQ5_nrS-Hlo5t_NWviDS5msazNMVgs9pltZJ_Sms6uTHWW6R6Uovh94/s1028/fungsi_python.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="367" data-original-width="1028" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixIuaMYqpK_7zo08E17HzcZ0llXFnRlz6EWCTd2QV0vnknqHCv0dal_k2x2jwxEHBsp2UapK7EVG2FN13rKGFtlQ5_nrS-Hlo5t_NWviDS5msazNMVgs9pltZJ_Sms6uTHWW6R6Uovh94/w640-h228/fungsi_python.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><p class="MsoNormal" style="text-align: left;"><b><span style="font-size: large;">Cara Membuat Variabel di dalam Function Bahasa Pemrograman
Python</span></b><o:p></o:p></p>
<p class="MsoNormal" style="text-align: left;">Berikut contoh pembuatan variabel dalam fungsi :</p></div>
<pre><code>def perkalian():
angka1 = 5
angka2 = 2
kali = angka1*angka2
print('Hasil Perkalian dari angka1 dan angka2 adalah ',kali)
perkalian()
</code></pre><p class="MsoNormal">Di dalam fungsi perkalian() terdapat dua variabel angka1
dengan isi 5 dan variabel angka2 dengan isi 2. Kemudian terdapat perintah print
yang akan menampilkan hasil perhitungan. Maka hasil dari kode diatas adalah<o:p></o:p></p><br />
<hasil>
Hasil Perkalian dari angka1 dan angka2 adalah 10
</hasil>
<br /><br /><div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKvH5yNhcpxhtnfULgCLfsXb0D2kCbS4BMxG1VovN9RFu6HUrw7YnrrBTGrCJsRZ4Pcq9EOU7Ah_erUcgdV15PVtxfK8SZiqF0KOafx1Q7As6_Ssq4VMNFx0p-pKq7kA37tPB7SI0a4C8/s1019/Python_Fungsi_Function.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="450" data-original-width="1019" height="282" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKvH5yNhcpxhtnfULgCLfsXb0D2kCbS4BMxG1VovN9RFu6HUrw7YnrrBTGrCJsRZ4Pcq9EOU7Ah_erUcgdV15PVtxfK8SZiqF0KOafx1Q7As6_Ssq4VMNFx0p-pKq7kA37tPB7SI0a4C8/w640-h282/Python_Fungsi_Function.png" width="640" /></a></div><br /><p class="MsoNormal">Sekian tutorial tentang pengenalan function (fungsi) python.
Tadi kita sudah membahas bagaimana cara membuat function atau fungsi dalam
python, membuat contoh function / fungsi, membuat variabel dalam function atau
fungsi semoga dapat bermanfaat mohon maaf jika kalimatnya ada yang sulit
dipahami ..</p><p class="MsoNormal">Baca Juga : <a href="https://www.sinauo.com/2021/08/pengertian-parameter-argumen-pada-fungsi-python.html" target="_blank">Pengertian Parameter dan Argumen dalam Fungsi (function) Python</a></p></div>Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com1tag:blogger.com,1999:blog-2066466048247395712.post-35623395091356698812021-02-09T02:06:00.001-08:002021-02-09T02:06:39.898-08:00Aplikasi Pembagian Raport On-Line Sederhana MI/SD/MTs/SMP/SMA/SMK/MA Sederajat<div dir="ltr" style="text-align: left;" trbidi="on">
Kali ini admin akan berbagi aplikasi yang admin buat sendiri yaitu <b>Aplikasi Pembagian Raport OnLine</b> aplikasi ini saya buat untuk tempat kerja admin.<br />
<br />
<b>Aplikasi Pembagian Raport OnLine </b>ditujukan kepada sekolah-sekolah yang menyelenggarakan pembagian raport siswanya secara daring/on-line. dimana nantinya walikelas akan mengupload raport siswa ke aplikasi ini kemudian siswa akan mendownload raport tersebut secara mandiri dari rumah tanpa harus ke sekolah.<br />
<br />
<b>Aplikasi Pembagian E-Raport On-Line </b>dibuat dengan framework Codeigniter 3 sehingga ringan untuk digunakan dan aksesnya cukup cepat, dan bisa dijalankan di versi PHP 5.6, sampai dengan 7.3.<br />
<br />
Admin aplikasi bisa setting form login siswa sesuai dengan jadwal pengambilan raport yang sudah diatur oleh sekolah. Tampilan awal untuk siswa menggunakan waktu mundur countdown sehingga akan menghitung waktu mundur sesuai dengan jadwal.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhm-jJMmrUUbfjBHsFCyUJx1TlP-TTXOet49glLdSNkcv3l1EA061BZoKevVUv2-bKI46YG9zDLdZt8Tq9PYOmG3ZEKpmlHifziKyheyasl7SquKFlYd7LOZSxF64OE7KpTr-jA7OAdNIY/s1237/Aplikasi_Raport.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="635" data-original-width="1237" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhm-jJMmrUUbfjBHsFCyUJx1TlP-TTXOet49glLdSNkcv3l1EA061BZoKevVUv2-bKI46YG9zDLdZt8Tq9PYOmG3ZEKpmlHifziKyheyasl7SquKFlYd7LOZSxF64OE7KpTr-jA7OAdNIY/s640/Aplikasi_Raport.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div>
<br />
Gambar tampilan diatas adalah tampilan untuk siswa dimana form login akan dibuka sesuai dengan waktu yang dijadwalkan oleh sekolah.<br />
<br />
Untuk setting jadwal pembagian raport ada di halaman admin berikut tampilan untuk setting jadwal pembagian raport<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwFdZYy4_cMds5skiRTO1yDd4d88BMwmPW7qjm4Q9EXLmK0VQDAmdd-CaqYw2xu9rMnZQa1tl99_e4AeEWbFoji3-Jl3YvxXUhK2sQlRx9VBIxbU0H25uBHRhhjf89o1oTyxO1hygaMIs/s1600/Screenshot_2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="839" data-original-width="1600" height="334" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwFdZYy4_cMds5skiRTO1yDd4d88BMwmPW7qjm4Q9EXLmK0VQDAmdd-CaqYw2xu9rMnZQa1tl99_e4AeEWbFoji3-Jl3YvxXUhK2sQlRx9VBIxbU0H25uBHRhhjf89o1oTyxO1hygaMIs/s640/Screenshot_2.png" width="640" /></a></div>
<br />
link untuk menuju admin adalah <b>http://domainanda.com/adminpanel</b> kemudian login dengan menggunakan :<br />
<br />
<b>Username : root</b><br />
<b>Password : admin</b><br />
<br />
Setelah anda login silahkan ganti username dan password diatas sehingga keamanan data anda terjaga.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9Ouq7eyDj6XsN8Y_5blJ06g0RL74rNEmaKFnWVOGekOuk_YPOamrBtU-qb10ak41cGIhWjnJ3yMllNiOe0YzQonsFF49cCor9EOUJHqLKAoHA0Kd83sDaUh4FSQJeJDEliLLNGqn0UVE/s1600/Screenshot_1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="844" data-original-width="1600" height="336" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9Ouq7eyDj6XsN8Y_5blJ06g0RL74rNEmaKFnWVOGekOuk_YPOamrBtU-qb10ak41cGIhWjnJ3yMllNiOe0YzQonsFF49cCor9EOUJHqLKAoHA0Kd83sDaUh4FSQJeJDEliLLNGqn0UVE/s640/Screenshot_1.png" width="640" /></a></div>
<br />
Tampilan diatas adalah tampilan untuk admin. yang terdapat beberapa menu untuk setting aplikasi.<br />
<br />
Selain tampilan diatas ada juga tampilan untuk walikelas.<br />
<br />
Link untuk mengakses halaman walikelas adalah : <b>http://domainanda.com/walikelas/login </b>dengan menggunakan username sesaui dengan kelasnya masing-masing dan password yang sudah diberikan diberikan oleh petugas/admin aplikasi. <br />
<br />
Walikelas mempunyai tugas mengupload file raport masing-masing siswa sesuai dengan kelasnya. file raport yang diupload wajib berformat pdf dan ukuran file kurang dari 1 MB<br /><br />
<b><br /></b>
Jika ada yang berminat dengan aplikasi Aplikasi Pembagian E-Raport On-line SMK SMA MA SMP MTs SD MI dan belum punya hosting, silahkan anda cari hosting gratisan ada banyak di internet.</div><div dir="ltr" style="text-align: left;" trbidi="on"><br /></div><div dir="ltr" style="text-align: left;" trbidi="on">Jika anda ingin mendapatkan sourcode tersebut silahkan kunjungi chanel youtube saya : <b><a href="https://www.youtube.com/watch?v=Mgtkj3d-U9s">Sinauo Channel</a></b><br />
<br />
Itulah sekilas pemaparan tentang Aplikasi Pembagian E-Raport On-line SMK SMA MA SMP MTs SD MI Jika ada yang ditanyakan silahkan tinggalkan dikolom komentar.<br />
<br />
</div>Sinauohttp://www.blogger.com/profile/15324633732900879251noreply@blogger.com9