<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Tito Candra</title>
    <description>The latest articles on Forem by Tito Candra (@tcandra24).</description>
    <link>https://forem.com/tcandra24</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F592561%2F762ac28d-c01e-47d0-b9e6-31217249c285.jpeg</url>
      <title>Forem: Tito Candra</title>
      <link>https://forem.com/tcandra24</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/tcandra24"/>
    <language>en</language>
    <item>
      <title>Rahasia Laravel yang Bikin Kode Kamu Makin Ciamik – Pahami Trait Sekali, Langsung Ahli!</title>
      <dc:creator>Tito Candra</dc:creator>
      <pubDate>Thu, 30 Oct 2025 06:14:04 +0000</pubDate>
      <link>https://forem.com/tcandra24/rahasia-laravel-yang-bikin-kode-kamu-makin-ciamik-pahami-trait-sekali-langsung-ahli-18pm</link>
      <guid>https://forem.com/tcandra24/rahasia-laravel-yang-bikin-kode-kamu-makin-ciamik-pahami-trait-sekali-langsung-ahli-18pm</guid>
      <description>&lt;p&gt;&lt;strong&gt;Apa itu Trait di Laravel?&lt;/strong&gt;&lt;br&gt;
Trait bukan hal mistis, tapi sekadar cara cerdas di PHP untuk menghindari penulisan kode berulang. Trait adalah sekumpulan method yang bisa dibagikan ke beberapa kelas, bagaikan ‘paket fungsi’ yang bisa dipakai ulang kapan saja tanpa perlu turunan kelas yang ribet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kenapa Trait Berguna?&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Kode reuse&lt;/strong&gt;: trait memungkinkan kamu menulis satu set method sekali, dan gunakan lagi di banyak kelas - hematin waktu dan tenaga.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Menghindari keterbatasan pewarisan tunggal (single inheritance)&lt;/strong&gt; PHP - tidak perlu extends berkali-kali.&lt;/li&gt;
&lt;li&gt;Ibarat “ambil fungsi pakai trait” - langsung jadi tanpa ulang bikin ulang.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Cara Membuat dan Menggunakan Trait di Laravel (ramah untuk pemula)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Buat folder trait&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Biasanya ditempatkan di: &lt;em&gt;app/Traits&lt;/em&gt; atau &lt;em&gt;app/Models/Traits&lt;/em&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Buat file trait&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Contoh membuat trait ExampleTrait:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php
namespace App\Traits;

trait ExampleTrait {
    public function exampleMethod() {
        return 'Ini contoh method dari Trait!';
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Pakai trait di kelas lain&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Misalnya di controller atau model:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php
namespace App\Http\Controllers;
use App\Traits\ExampleTrait;

class HomeController extends Controller {
    use ExampleTrait;

    public function index() {
        return $this-&amp;gt;exampleMethod();
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Kalau kamu akses method tersebut, hasilnya: &lt;strong&gt;“Ini contoh method dari Trait!”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tips Tambahan&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Resolusi Konflik Nama Method
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;use TraitA, TraitB {
    TraitA::methodName insteadof TraitB;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Buat Trait dengan Fungsi Reusable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Contoh trait &lt;em&gt;ResponseTrait&lt;/em&gt; untuk API:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;trait ResponseTrait {
    public function successResponse($data = [], $message = 'success', $code = 200) {
        return response()-&amp;gt;json(compact('data', 'message'), $code);
    }

    public function errorResponse($message, $code = 400) {
        return response()-&amp;gt;json(compact('message'), $code);
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Trait di Eloquent Model&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Trait bisa berisi relasi atau method yang sering dipakai di model. Contohnya:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;HasRoles&lt;/strong&gt; dari Spatie: trait yang memungkinkan model punya relasi roles().&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HasTags&lt;/strong&gt;: terasa seperti fitur tagging—attach, detach tag cukup panggil method di model yang sudah pakai trait.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Rangkuman Sederhana&lt;br&gt;
Membuat Trait: Buat file di app/Traits, tulis trait NamaTrait { ... }&lt;br&gt;
Gunakan: use NamaTrait; dalam kelas yang butuh method-nya&lt;br&gt;
Pakai Lagi: Bisa di banyak kelas untuk fungsi sama&lt;br&gt;
Kalau conflict: Atur dengan insteadof atau as agar tidak tabrakan method&lt;br&gt;
Contoh Praktis: Response format, UUID auto_pk, relasi model, dll&lt;/p&gt;

&lt;p&gt;Sumber Referensi:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Definisi dan konsep trait PHP: manual resmi PHP &lt;a href="https://www.php.net/manual/en/language.oop5.traits.php" rel="noopener noreferrer"&gt;php.link&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Penggunaan dasar trait di Laravel: Medium &amp;amp; DEV guides &lt;a href="https://dev.to/dharmik225/mastering-traits-the-first-step-to-clean-efficient-laravel-code-48l2"&gt;Medium+1DEV Community&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Contoh trait di Eloquent (HasRoles &amp;amp; HasTags): Laravel Daily &lt;a href="https://laraveldaily.com/post/traits-laravel-eloquent-examples" rel="noopener noreferrer"&gt;Laravel Daily&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Trait otomatis UUID untuk model: David Carr Blog &lt;a href="https://dcblog.dev/enhancing-laravel-applications-with-traits-a-step-by-step-guide" rel="noopener noreferrer"&gt;dcblog.dev&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Rangkuman Sederhana&lt;/p&gt;

&lt;p&gt;Gunakan di controller base agar semua controller turunannya punya format respons yang seragam.&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Memperbaiki Error 0x0000011b Windows 10 Sharing Printer</title>
      <dc:creator>Tito Candra</dc:creator>
      <pubDate>Sun, 06 Apr 2025 03:19:01 +0000</pubDate>
      <link>https://forem.com/tcandra24/memperbaiki-error-0x0000011b-windows-10-sharing-printer-383i</link>
      <guid>https://forem.com/tcandra24/memperbaiki-error-0x0000011b-windows-10-sharing-printer-383i</guid>
      <description>&lt;p&gt;Hallo teman,&lt;br&gt;
Disini saya akan share pengalaman pribadi saat troubleshooting printer yang mempunyai error &lt;strong&gt;0x0000011b&lt;/strong&gt;, error ini sering muncul saat ingin melakukan sharing printer pada &lt;strong&gt;Windows 10&lt;/strong&gt;. Error tersebut disebabkan oleh update terbaru &lt;strong&gt;Windows 10 2021-09 Cumulative Update for Windows 10 Version 21H1 for x64-based Systems (KB5005565)&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Terkadang update windows bisa menciptakan manfaat dan kerugian, dalam kasus yang saya alami adalah printer telah terinstall pada komputer &lt;strong&gt;Windows 10&lt;/strong&gt; kemudian printer tersebut di share ke semua pengguna lain. error ini muncul jika ada komputer client menggunakan &lt;strong&gt;Windows 7&lt;/strong&gt; yang mencoba melakukan koneksi dengan printer tadi, jika komputer client sama-sama menggunakan windows 10 mungkin error ini tidak akan muncul.&lt;/p&gt;

&lt;p&gt;lalu bagaimana memperbaikinya, mudah sekali coba ikuti langkah-langkah dibawah ini:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Buka regedit pada komputer server printer atau pada &lt;strong&gt;Windows 10&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Kemudian arahkan direktori ke &lt;strong&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Kemudian buat &lt;strong&gt;DWORD-32&lt;/strong&gt; baru dengan nama &lt;strong&gt;RpcAuthnLevelPrivacyEnabled&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Set &lt;strong&gt;Value&lt;/strong&gt; Data menjadi 0&lt;/li&gt;
&lt;li&gt;Kemudian Restart PC / Server&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Setelah Komputer / Server menyala kembali, coba untuk menyambungkan ulang pada printer menggunakan komputer client yang menggunakan &lt;strong&gt;Windows 7&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Semoga membantu.&lt;br&gt;
Terima Kasih&lt;/p&gt;

&lt;p&gt;Referensi:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="https://bptsi.unisayogya.ac.id/fix-error-kode-error-0x0000011b-windows-10-sharing-printer/" rel="noopener noreferrer"&gt;https://bptsi.unisayogya.ac.id/fix-error-kode-error-0x0000011b-windows-10-sharing-printer/&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>microsoft</category>
      <category>printer</category>
      <category>windows</category>
      <category>troubleshooting</category>
    </item>
  </channel>
</rss>
