flash sale
hamburger-menu

Tips All

Meningkatkan skills menjadi 1% lebih baik

Reset
Kelas Pengecekan Style Guide PEP8 Pada Python di BuildWithAngga

Pengecekan Style Guide PEP8 Pada Python

Haloo sobat ngodingg Semoga kalian sehat selaluu Sampai dengan saat ini, kamu tentu sudah menuliskan kode pemrograman Python cukup banyak, termasuk di antaranya kode yang kamu tulis mengalami kesalahan sintaksis atau indentasi. Lalu, bagaimana agar ke depannya bisa mencegah hal tersebut terjadi? Semua itu bergantung pada kode editor yang kamu gunakan untuk menulis kode Python, terkadang ada beberapa kode editor yang sudah dilengkapi dengan fitur pengecekan kemungkinan kesalahan dan memformat kode sesuai arahan gaya penulisan (style guide) PEP8, seperti PyCharm. Ada juga kode editor, seperti Visual Studio Code yang menyediakan plugin tambahan untuk membantu pengecekan kemungkinan kesalahan dan memformat kode. PEP8 adalah panduan gaya resmi untuk kode Python. Mengikuti PEP8 dapat membuat kode kamu lebih mudah dibaca, dipelihara, dan dipahami oleh programmer lain. Tujuan dari panduan ini agar kode kamu lebih mudah dibaca dan dipahami oleh programmer lain serta menghindari kemungkinan kesalahan yang akan muncul. Pada materi kali ini, kita akan mempelajari beberapa aplikasi yang dapat kamu gunakan dengan memanggil perintah atau sebaiknya diintegrasikan ke editor kode yang kamu pakai. Tujuannya untuk membantu kamu mengecek kemungkinan kesalahan dan kesesuaian dengan PEP8. 1. Alat Online - PEP8 Online: URL PEP8 Online: Situs web ini memungkinkan kamu untuk memasukkan kode Python kamu dan akan memeriksa apakah kode tersebut mengikuti PEP8.- LintCode: URL LintCode: Alat online ini memungkinkan kamu untuk memasukkan kode Python kamu dan akan memeriksa berbagai masalah gaya, termasuk PEP8.- Codacy: URL Codacy: Layanan ini memungkinkan kamu untuk menghubungkan akun GitHub kamu dan akan secara otomatis memeriksa kode kamu untuk masalah gaya, termasuk PEP8. 2. Alat CLI - pycodestyle: URL pycodestyle: Paket Python ini memungkinkan kamu untuk memeriksa kode Python kamu dari baris perintah. Untuk instalasi, silakan buka terminal kalian dan jalankan kode berikut: - flake8: URL flake8: Paket Python ini memungkinkan kamu untuk memeriksa kode Python kamu untuk berbagai masalah gaya, termasuk PEP8. Untuk instalasi, silakan buka terminal kalian dan jalankan kode berikut: 3. Integrasi Editor Kode Banyak editor kode populer, seperti PyCharm, VS Code, dan Sublime Text, memiliki plugin yang dapat membantu kamu memeriksa kode Python kamu untuk masalah gaya, termasuk PEP8. Tips: Sebaiknya periksa kode kamu untuk PEP8 sebelum kamu push ke repositori kode.kamu dapat mengonfigurasi alat PEP8 untuk mengabaikan aturan tertentu yang tidak kamu sukai.Ada beberapa gaya pengkodean alternatif untuk Python, seperti Black. kamu dapat memilih gaya yang paling sesuai dengan kebutuhan kamu. Sumber Daya PEP8URL PEP8: Panduan gaya resmi untuk PythonPEP8 Online: URL PEP8 Online: Alat online untuk memeriksa kode Python kamu untuk PEP8Pycodestyle: URL pycodestyle: Paket Python untuk memeriksa kode Python kamu untuk PEP8Flake8: URL flake8: Paket Python untuk memeriksa kode Python kamu untuk berbagai masalah gaya, termasuk PEP8 Selanjutnya, mari kita masuk ke pembahasan cara kerja ketiganya. Pastikan kamu sudah menginstal aplikasi yang disebutkan sebelumnya. 1. Masuk ke kode editor kamu, misalnya Visual Studio Code.2. Buat sebuah file bernama kalkulator.py dan masukkan kode berikut.Pada kode di atas, kita membuat kelas bernama Kalkulator. Kelas ini memiliki dua metode, yaitu tambah dan kurang. Atribut yang dimiliki kelas ini hanyalah variabel "i".Berdasarkan PEP8, kode tersebut masih perlu diperbaiki dan ada blok kode yang akan menghasilkan error. Kita akan mengetahuinya nanti. 1. class Kalkulator: 2.     """kalkulator tambah kurang""" 3.     def __init__(self, _i): 4.         self.i = _i 5.     def tambah(self, _i): return self.i + _i 6.     def kurang(self, _i): 7.     return self.i - _i 3. Mari kita jalankan file atau script tersebut dengan aplikasi yang telah diinstal. Buka kembali terminal kamu , pastikan membuka direktori tempat file atau kamu berada. Pycodestyle Untuk menguji menggunakan pycodestyle, jalankan kode berikut: pycodestyle kalkulator.py Output yang dihasilkan adalah berikut: Gambar di atas adalah tampilan terminal ketika kamu menjalankan script menggunakan pycodestyle. Pylint Untuk menguji menggunakan pylint, jalankan kode berikut. pylint kalkulator.py Output yang dihasilkan adalah berikut: Gambar di atas adalah tampilan terminal ketika kamu menjalankan script menggunakan pylint Flake8 Untuk menguji menggunakan flake8, jalankan kode berikut: flake8 kalkulator.py Output yang dihasilkan adalah berikut: Gambar di atas adalah tampilan terminal ketika kamu menjalankan script menggunakan flake8. Pesan dari ketiga aplikasi tersebut ternyata beragam, tetapi ada satu kesamaan, yakni ketiganya menunjukkan pola yang sama di awal pesan berupa nama file diikuti dengan baris dan kolom. Untuk mengetahui mana baris dan kolom, perhatikan gambar di bawah ini. Gambar di atas menunjukkan baris dan kolom dari kode yang telah kita buat sebelumnya. Kita ambil satu contoh, ketika menggunakan pylint pesan yang ditampilkan adalah "kalkulator.py 7:5 Parsing failed: 'expected an indented block after function definition on line 6 (<unknown>, line 7)' (syntax-error).". Ini artinya pylint menunjukkan bahwa pada baris 7 kolom ke-5 seharusnya memiliki indentasi setelah mendefinisikan fungsi di baris ke-6. Baik flake8 maupun pylint, keduanya memberikan pesan bahwa ada error indentasi, sedangkan pada pycodestyle format kode juga dicek sesuai PEP8 sehingga akan menghasilkan pesan yang berbeda, yakni error indentasi dan blank line. Mari perbaiki kodenya, silakan ganti dengan kode berikut. 1. class Kalkulator: 2.     """kalkulator tambah kurang""" 3.     def __init__(self, _i): 4.         self.i = _i 5.   6.     def tambah(self, _i): return self.i + _i 7.   8.     def kurang(self, _i): 9.         return self.i - _i Pada kode di atas, kita telah melakukan beberapa perbaikan. Pertama adalah kita menambahkan new line (garis baru) pada setiap penulisan setelah blok fungsi, sekarang setiap fungsinya dipisahkan oleh satu baris kosong. Kedua, kita menambahkan indentasi pada metode "kurang". Kemudian jalankan kembali file tersebut menggunakan ketiga aplikasi yang sebelumnya digunakan. Jika diproses menggunakan pycodestyle dan flake8, itu tidak akan memunculkan pesan seperti gambar di bawah ini. Hal ini berarti menjelaskan kodenya sudah lebih baik. Namun, ketika kamu menjalankannya menggunakan pylint, beberapa pesan peringatan muncul. Hal ini karena kita perlu menambahkan dokumentasi pada setiap fungsi dan kelas yang dibangun. Tidak apa-apa, itu merupakan peringatan untuk membuat kode kita lebih sempurna. Kesimpulan Mematuhi style guide PEP8 adalah cara yang bagus untuk meningkatkan keterbacaan, konsistensi, dan maintainability kode Python Anda. Ada beberapa alat bantu yang dapat membantu Anda mengecek kode Anda untuk kepatuhan PEP8. Jadi buat kawan-kawan yang mau mempelajari tentang python dari dasar kalian bisa mengikuti kelasnya di BuildWithAngga yaitu Kelas Online Gratis Python Pemrograman Dasar Kalian bisa akses kelasnya secara gratiss lohhh. Oke sekian penjelasan tentang Pengecekan Style Guide PEP8 Pada Python, kalian bisa kembali untuk menguliknya sendiri tentunya. Semoga bermanfaat buat kalian. See you guysss !

Kelas Library Populer pada Python di BuildWithAngga

Library Populer pada Python

Haloo sobat ngodingg Semoga kalian sehat selaluu Library adalah koleksi dari banyaknya modul dan paket yang saling terkait dan dapat digunakan berulang kali. Paket atau package adalah sebuah direktori yang berisi satu atau lebih modul yang terkait dan saling berhubungan. Jumlah library Python sangat banyak yang terbagi menjadi Python Standard Library **dan Python External Library. Python Standard Library adalah jenis library yang telah ter-install secara otomatis ketika kita melakukan instalasi Python. Kamu tidak perlu melakukan instalasi kembali jika ingin menggunakannya. Beberapa contoh Python Standard Library adalah “os”, “datetime”, “re”, serta lainnya. Python External Library adalah kumpulan kode yang telah dikembangkan oleh orang lain atau komunitas dan disediakan dalam bentuk paket atau modul yang dapat diimpor. Jenis library ini mengharuskan kamu untuk melakukan instalasi agar dapat digunakan. External library ini dikembangkan oleh individu atau organisasi di luar tim inti pengembang Python. Untuk melakukan instalasi library eksternal, kamu dapat melakukan beberapa cara, seperti menggunakan PIP dan conda. PIP PIP adalah package manager resmi dari Python yang dapat digunakan untuk mengunduh, meng-install, menghapus, dan mengelola package Python dari Python Package Index (PyPI) dan repositori lainnya. PyPI merupakan repositori online yang menyediakan ribuan package dari Python yang siap digunakan oleh para pengembang. Selain mengelola paket, kamu juga bisa membuat lingkungan virtual dalam Python menggunakan PIP. Hanya saja, pip cenderung difokuskan untuk mengelola instalasi paket dibanding lingkungan virtual. Kabar baiknya, pip biasanya telah terpasang secara otomatis jika kamu menggunakan Python 2 untuk versi 2.7.9 ke atas atau Python 3 untuk versi 3.4 ke atas. Maka dari itu, silakan periksa bahwa pip telah terpasang dengan menjalankan perintah berikut: pip --version Jika lokal komputer kamu belum memiliki pip, kamu bisa mengikuti langkah-langkah berikut. Unduh file berikut: https://bootstrap.pypa.io/get-pip.py.Buka terminal dan buka folder tempat kamu menyimpan file yang telah diunduh. Kemudian jalankan perintah berikut: python get-pip.py Sekarang, kamu sudah menyiapkan pip sebagai package manager yang mendukung instalasi package dan library Python. Untuk melakukan instalasi, kamu bisa mengikuti perintah berikut: pip install <nama-package> Ganti <nama-package> dengan nama package atau library yang ingin kamu unduh. Untuk menghapus package, kamu bisa mengikuti perintah berikut: pip uninstall <nama-package> Silakan ganti <nama-package> dengan package atau library yang ingin kamu hapus. Library Matematika Library yang dapat digunakan untuk permasalahan matematika adalah library math yang termasuk salah satu modul bawaan Python. Kamu hanya perlu melakukan impor untuk modul math. Berikut contoh penerapannya: import math print(math.sqrt(25))  # Output: 5.0 print(math.pi)  # Output: 3.141592653589793 Library Parser Library parser pada Python menyediakan fasilitas untuk menguraikan kode Python menjadi struktur data yang dapat diproses dan dianalisis. Kamu dapat menggunakan Getopt. Argument parser bermanfaat jika kita ingin membuat program atau skrip kecil yang langsung menerima parameter pada saat pemanggilan program. Hal ini biasa digunakan dalam pemanggilan aplikasi atau skrip di *CLI/terminal nix-based, misalnya Linux dan MacOS. Contoh penerapannya berikut: import argparse parser = argparse.ArgumentParser() parser.add_argument('-o', '--output', action='store_true', help="tampilkan output") args = parser.parse_args() if args.output: print("Halo, ini merupakan sebuah output dari panggildicoding.py") Library Pengolahan Data Library pengolahan data bertujuan untuk membantu dalam manipulasi, analisis, dan pemrosesan data. Library ini menyediakan berbagai fungsi dan metode yang memudahkan pengguna untuk melakukan operasi pengolahan data dengan lebih efisien dan cepat. Tujuan dari library ini untuk menyederhanakan tugas-tugas kompleks yang berkaitan dengan pengolahan data. Jadi, kamu tidak perlu mengimplementasikan semuanya dari awal. Berikut adalah beberapa library populer yang digunakan untuk pengolahan data: 1. Pandas adalah library populer yang digunakan untuk pengelolaan dan analisis data. Library ini menyediakan struktur data dan alat untuk membantu pengguna dalam melakukan manipulasi, pembersihan, transformasi, dan analisis data dengan mudah dan efisien. 2. Matplotlib merupakan library untuk melakukan visualisasi data. Matplotlib termasuk jenis library eksternal sehingga kamu perlu melakukan instalasi matplotlib terlebih dahulu. 3. Seaborn yang termasuk jenis library dengan tujuan untuk visualisasi data sama seperti matplotlib. Bahkan library seaborn dibangun berdasarkan pada library matplotlib. Library File Management Library file management adalah kumpulan library yang dirancang untuk membantu pengguna dalam mengelola serta berinteraksi dengan berkas dan direktori pada sistem file. Beberapa library file management adalah berikut. OSModul pada Python berguna untuk fungsi-fungsi yang berkaitan dengan sistem operasi, misalnya open(), path(), getcwd(), dan fungsi lainnya. Modul ini memungkinkan kamu untuk memanfaatkan fungsi yang sama dan mengeksekusi fungsi terkait OS yang mungkin berbeda di setiap sistem operasi. Ada beberapa fitur yang hanya bekerja pada sistem operasi tertentu.JSON Untuk serialization dengan bahasa lain, umumnya kita menggunakan JSON(JavaScript Object Notation) yang memiliki beberapa perbedaan karakteristik dengan pickle, yakni berikut:JSON adalah format text-serialization dan umumnya menggunakan Unicode atau UTF-8. Sementara pickle bersifat binary serialization.JSON dapat dibaca dengan mudah oleh manusia, sementara pickle tidak.JSON dapat dioperasikan dan digunakan di luar ekosistem Python. Pickle adalah Python-specific.JSON secara default hanya dapat merepresentasikan subset dari built-in type pada Python.Pickle dapat merepresentasikan hampir (jika tidak seluruh) tipe Python dan secara default melakukan kompresi data. Sebagaimana yang telah disebutkan sebelumnya, JSON adalah format text yang ditujukan untuk serialization. Agar data dapat dengan mudah ditransmisikan antar berbagai sumber tanpa khawatir bentuknya kacau, menggunakan JSON adalah salah satu pilihan yang tepat. JSON memiliki format yang hampir mirip dengan dictionary tempat data disimpan dengan format key & value pair. Library Web Scraping Library web scraping adalah jenis library untuk membantu pengguna mengumpulkan data dari halaman web. Proses ini disebut sebagai “web scraping” atau “web crawling”. Kamu bisa menggunakan fungsi dan metode pada library ini untuk mengekstraksi informasi dari situs web dan menyimpannya dalam format yang dapat diakses dan digunakan dalam analisis atau aplikasi lainnya. Beautifulsoup Beautifulsoup adalah library untuk mengambil data dari halaman web dan mengekstrak informasi yang diperlukan.Urllib Urllib adalah library bawaan dari Python yang bertujuan untuk scraping konten dari sebuah website. Penggunaan urllib berbeda dengan beautifulsoup. Bisa dikatakan bahwa cara penggunaan urllib sedikit kompleks dibandingkan beautifulsoup. Library Machine Learning Selanjutnya adalah library yang digunakan untuk melakukan pemelajaran mesin. Kamu dapat menggunakan library berikut untuk membantu kamu menyelesaikan permasalahan machine learning. Berikut adalah beberapa library populer untuk machine learning. Scikit-learn Pertama adalah scikit-learn yang menyediakan berbagai algoritma pemelajaran mesin siap pakai untuk membantu dalam pengembangan model pemelajaran mesin, pemrosesan data, dan evaluasi kinerja model.TensorFlow Selanjutnya adalah TensorFlow yang termasuk salah satu library paling populer terkait machine learning. Dengan menggunakan TensorFlow, kamu bisa mengembangkan machine learning hingga tahap deployment.PyTorch Terakhir ada PyTorch, yakni library machine learning yang dikembangkan oleh Facebook’s AI Research lab (FAIR). PyTorch menyediakan alat dan kerangka kerja yang kuat untuk mengembangkan model pemelajaran mesin, terutama dalam konteks jaringan saraf tiruan (neural networks). Library Web Development Terakhir, ada library yang bertujuan untuk pengembangan aplikasi web. Sebagaimana yang sudah dijelaskan dalam materi-materi sebelumnya, Python dapat digunakan untuk pengembangan aplikasi web pada sisi server. Berikut adalah library yang dapat digunakan untuk membantu kamu mengembangkan web. 1. Django adalah high-level Python web framework yang mendukung pengembangan secara cepat, bersih, serta pragmatis. 2. Flask adalah web framework untuk Python yang ditujukan untuk membangun aplikasi web. Flask dirancang dengan tujuan menjadi ringan, fleksibel, dan sederhana. 3. Fast API adalah web framework untuk Python yang tujuannya merancang dan membangun API dengan cepat, efisien, dan aman. FastAPI memberikan kinerja yang tinggi, sintaks yang intuitif, serta dukungan otomatisasi dokumentasi yang kuat. Jadi, ia cocok untuk pengembangan microservis, layanan web responsif, dan sebagainya. Kesimpulan Jadi, kesimpulan yang diberikan pada artikel ini ialah tiap library memiliki kegunaannya masing - masing tergantung dari kebutuhan yang kalian bisa untuk kebutuhan website atau data, jadi buat kawan-kawan yang mau mempelajari tentang python dari dasar kalian bisa mengikuti kelasnya di BuildWithAngga yaitu Kelas Online Gratis Python Pemrograman Dasar Kalian bisa akses kelasnya secara gratiss lohhh. Oke sekian penjelasan tentang library pada python, kalian bisa kembali untuk menguliknya sendiri tentunya. Semoga bermanfaat buat kalian. See you guysss !

Kelas Desain Input Field yang Ramah Pengguna dengan Widget TextField di Flutter di BuildWithAngga

Desain Input Field yang Ramah Pengguna dengan Widget TextField di Flutter

Sebelum kamu memulai untuk belajar tentang Flutter, ada baiknya kamu harus mengenal terlebih dahulu Desain Input Field yang Ramah Pengguna dengan Widget TextField di Flutter. Kamu juga bisa belajar lebih dalam lagi tentang Flutter di kelas Flutter bersama BuildWithAngga. Pada pembahasan artikel ini, kita akan membahas Desain Input Field yang Ramah Pengguna dengan Widget TextField di Flutter. Daripada penasaran, yuk kita bedah! Flutter merupakan sebuah framework open-source yang dibuat oleh Google yang bertujuan untuk dapat membuat aplikasi antarmuka yang responsif dan konsisten di berbagai platform, contohnya seperti IOS, Android, Web maupun Desktop. Satu kode yang digunakan sebagai sumber utama bagi developer agar aplikasi yang dikembangkan dapat berjalan dengan baik, yaitu dengan menggunakan bahasa pemrograman Dart. Dengan menggunakan Flutter dapat membantu developer dalam membuat aplikasi yang kaya akan fitur, kinerja dan tampilan yang baik. Apa itu Text Field? Text Field adalah sebuah widget pada Flutter yang digunakan untuk menerima inputan berupa teks dari pengguna. Widget ini dapat memungkinkan kita sebagai pengguna aplikasi untuk dapat memasukkan teks dengan menggunakan keyboard. Manfaat menggunakan Text Field ini sangat beragam, biasanya penggunaan Text Field ini digunakan pada formulir, kuesioner, dan input lainnya. Bagaimana Cara Mendesain Input Field yang Ramah Pengguna dengan Widget TextField di Flutter? Penggunaan Widget Text Field Widget TextField ini digunakan oleh developer untuk membuat input field sebagai tempat untuk pengguna memasukkan teks seperti nama, alamat email, kata sandi, konfirmasi kata sandi, dan sebagainya. Contoh penggunaan sederhana widget TextField: TextField( decoration: InputDecoration( labelText: 'Nama Lengkap', ), ) Pada bagian penggunaan widget TextField, developer biasanya menambahkan properti decoration untuk dapat menambahkan label, placeholder, atau ikon pada TextField. 2. Mengakses Hasil Input Pengguna Pada widget TextField, developer dapat mengakses data yang dimasukkan oleh pengguna ke dalam TextField. Tujuannya adalah untuk dapat menangani perubahan data yang dibuat oleh pengguna. Pada tahap ini developer dapat menggunakan properti TextEditingController dan properti OnChange. 3. Penggunaan Properti TextEditingController TextEditingController merupakan properti yang digunakan oleh developer untuk dapat mengontrol TextField. Developer dapat mengakses dan mengubah teks yang dimasukkan oleh pengguna. Kemudian dengan TextEditingController, developer dapat menetapkan nilai awal atau default pada input field. Contoh penggunaan properti TextEditingController: TextEditingController _controller = TextEditingController(); TextField( controller: _controller, decoration: InputDecoration( labelText: 'Kata Sandi Baru', ), ) Output penggunaan properti TextEditingController: 4. Penggunaan Properti OnChange OnChange merupakan properti TextField yang digunakan untuk dapat menangani perubahan pada nilai TextField yang sedang diinput atau dihapus oleh pengguna. Setiap perubahan pada input field akan dicatat saat developer menggunakan properti OnChange. Contoh penggunaan properti OnChange: TextField( onChanged: (value) { print(value); }, decoration: InputDecoration( labelText: 'Masukkan jawaban anda', ), ) Output penggunaan properti OnChange: 5. Penggunaan Properti OnSubmitted Dribbble.com/JackHarvatt OnSubmitted adalah properti TextField yang digunakan oleh untuk dapat menangani perubahan yang dilakukan pengguna setelah menekan tombol “Submit” atau “Done” pada keyboard. Dengan menggunakan properti ini dapat memudahkan developer dalam menginput data setelah pengguna selesai memasukkan teks. Contoh penggunaan properti OnSubmitted: TextField( onSubmitted: (value) { print(value); }, decoration: InputDecoration( labelText: 'Masukkan jawaban anda', ), ) 6. Penggunaan Properti OnEditingComplete OnEditingComplete merupakan properti TextField yang tujuannya untuk memudahkan developer dalam menentukan fungsi yang akan dipanggil ketika pengguna telah menyelesaikan pengeditan teks setelah menekan tombol “Done” pada keyboard. Pasti teman-teman bakal bertanya apa perbedaannya OnSubmitted dan OnEditingComplete? jawabannya berbeda. Karena OnEditingComplete akan dipanggil tanpa mengirimkan teks yang dimasukkan oleh pengguna. Contoh penggunaan OnEditingComplete: TextField( onEditingComplete: () { print("Teks Diterima"); }, decoration: InputDecoration( labelText: 'Masukkan jawaban anda', ), ) Kesimpulan Dengan menggunakan kombinasi TextEditingController, OnChanged, OnSubmitted, dan OnEditingComplete, teman-teman dapat membuat sebuah aplikasi yang memberikan pengalaman yang lebih interaktif. Menyimpan dan memproses data dengan lebih efisien, serta menangani aksi dari pengguna dengan lebih baik dalam aplikasi Flutter yang teman-teman kembangkan. Hal ini memberikan fleksibilitas dan kontrol yang diperlukan untuk membuat input field yang berfungsi dengan baik sesuai dengan kebutuhan aplikasi teman-teman. Kamu bisa mempelajarinya lebih lanjut dengan mengikuti kelas online gratis belajar flutter di BuildWithAngga loh!😍 Dengan belajar di BuildWithAngga kamu bisa belajar dengan mentor yang berpengalaman dan selalu siap membantu kamu untuk meningkatkan skill programming kamu. Eitss tunggu dulu, setiap kamu menyelesaikan kelasnya kamu bakal dikasih sertifikat loh!🤩 Yuk buruan belajar bersama BuildWithAngga.

Kelas Latihan Bikin ERD Projek Website Forum Community di BuildWithAngga

Latihan Bikin ERD Projek Website Forum Community

Hello people with the spirit of learning! ✨ Membangun forum komunitas online tidak hanya tentang menciptakan platform untuk komunikasi, tetapi juga tentang menciptakan ekosistem di mana orang-orang dengan minat atau kebutuhan yang sama dapat berkumpul, berdiskusi, dan saling membantu. Dalam pembelajaran ini, kita akan mulai dari dasar dan terus berkembang dengan menambahkan fitur-fitur yang memperkaya interaksi antar pengguna. Mari kita pelajari lebih dalam lagi perjalanan kita dalam membangun forum komunitas ini. Langkah Awal: Dasar-Dasar Forum Di awal perjalanan, kita menetapkan fondasi yang kokoh dengan menghadirkan entitas dasar: User, Thread, dan Comment. Bayangkan sebuah forum tanpa pengguna; itu seperti pesta tanpa tamu! Oleh karena itu, kita mulai dengan memastikan setiap individu yang datang ke forum kita dapat mendaftarkan diri, lengkap dengan username, password, dan profil lainnya. Ini adalah langkah pertama kita, menanam benih yang akan tumbuh menjadi komunitas yang ramai. Entitas: User: Inti dari forum, merepresentasikan pengguna yang terdaftar.Thread: Rangkaian diskusi yang dibuat oleh pengguna.Comment: Pesan atau komentar dalam thread oleh pengguna. Atribut: User: id (PK), username, password, name, profile_pic, isAdmin.Thread: id (PK), title, content, file, status, created_at, created_by, updated_at, updated_by, user_id, forum_type_id, thread_category_id.Comment: id (PK), content, created_at, created_by, user_id, thread_id. Hubungan: Pengguna dapat membuat banyak thread dan comment.Setiap thread bisa memiliki banyak comment. Setelah kita memiliki user, kita memperkenalkan mereka pada konsep threads atau percakapan, dan comments atau pesan dalam percakapan tersebut. Threads menjadi jalan bagi pengguna untuk mengawali diskusi mengenai topik tertentu, dan comments adalah cara mereka berkontribusi pada diskusi itu. Kita memberikan kebebasan kepada pengguna untuk mengedit atau menghapus pesan mereka, karena kita semua tahu, manusia bisa berubah pikiran! Pengembangan Fitur Baru: Kategori dan Aktivitas Ketika forum kita mulai berkembang, kita menyadari perlunya organisasi yang lebih baik. Masuklah ThreadCategory dan UserActivity, yang memungkinkan kita mengelompokkan diskusi ke dalam topik yang berbeda dan melacak aktivitas pengguna. Ini seperti membuka banyak ruangan dalam satu rumah besar, di mana setiap ruangan mewakili minat tertentu. Dengan demikian, pengguna bisa langsung menuju ke bagian forum yang paling mereka minati. Untuk mengatur ini, kita menambahkan Moderator untuk setiap kategori. Moderator inilah yang akan menjaga agar diskusi tetap sehat dan produktif, memastikan forum kita tetap menjadi tempat yang aman dan menyenangkan untuk semua orang. Entitas Baru: ThreadCategory: Untuk mengelompokkan thread berdasarkan topik.UserActivity: Mencatat aktivitas login dan logout pengguna. Atribut Baru: ThreadCategory: id (PK), category.UserActivity: id (PK), date, time, activity, user_id. Hubungan Baru: Setiap thread dikaitkan dengan satu kategori.User memiliki banyak aktivitas yang tercatat. Menambahkan fitur yang lebih kompleks: Logging dan Upvote Selanjutnya, kita mengenalkan elemen log untuk menyimpan catatan perubahan yang terjadi dalam sistem dan elemen ThreadUser yang baru, yang kini fokus pada kemampuan untuk "menyukai" thread. Fungsi "like" ini memungkinkan pengguna untuk menunjukkan apresiasi mereka terhadap diskusi atau konten yang menarik, meningkatkan visibilitas untuk diskusi populer dan memberi penghargaan kepada pencipta konten. Entitas Baru: LogActivity: Representasi log aktivitas dalam sistem.ThreadUser: Hubungan antara pengguna dan thread. Atribut Baru: LogActivity: id (PK), description, module, ref_id, created_at, created_by, updated_at, updated_by.ThreadUser: id (PK), created_at, created_by, user_id, thread_id. Hubungan Baru: Pengguna dapat terhubung dengan banyak thread.Aktivitas dalam sistem dicatat dan di-log. Setiap langkah dalam perjalanan ini telah kita dokumentasikan dan direncanakan dengan cermat dalam sebuah Entity Relationship Diagram (ERD). ERD ini bukan hanya peta bagi kita, tapi juga blueprint yang mengarahkan pembangunan forum dari hari ke hari. Di sini kita dapat melihat hubungan antara pengguna, threads, comments, kategori, dan semua entitas lain yang membuat forum kita berfungsi. Kesimpulan Dalam membangun forum komunitas online, kita memulai dengan entitas dasar seperti User, Thread, dan Comment untuk mendukung interaksi pengguna, lalu menambahkan ThreadCategory dan UserActivity untuk meningkatkan organisasi dan pelacakan aktivitas. Perkenalan LogActivity dan ThreadUser memperkaya interaksi lebih lanjut dengan mengizinkan pengguna untuk menyukai thread dan menjaga integritas data. ERD yang telah kita kembangkan bukan hanya sebagai peta relasional, tetapi juga sebagai blueprint yang mengarahkan integrasi dan evolusi fitur, menjadikan forum tidak hanya sebagai platform komunikasi, tetapi sebagai ekosistem yang memungkinkan pertumbuhan dan kolaborasi di antara anggotanya. Tertarik belajar lebih dalam tentang pembuatan ERD? Jangan khawatir! Di BuildWithAngga, kami menyiapkan kelas gratis pembuatan ERD dan upgrade ke Premium untuk benefits lainnya! ;)

Kelas Must Try! 5 Software AI untuk Bantu Para UI/UX Designer Tahun 2024, Apa Saja? di BuildWithAngga

Must Try! 5 Software AI untuk Bantu Para UI/UX Designer Tahun 2024, Apa Saja?

Di era digital saat ini, peran kecerdasan buatan atau Artificial Intelligence (AI) semakin merasuk ke dalam berbagai bidang, termasuk desain antarmuka pengguna (UI) dan pengalaman pengguna (UX). Dengan kemampuan untuk menganalisis data, mengidentifikasi tren, dan bahkan memprediksi preferensi pengguna, software AI telah menjadi sekutu tak ternilai bagi para desainer UI/UX. Artikel ini kita akan menjelajahi peran penting software AI dalam membantu desainer menciptakan pengalaman pengguna yang menarik dan intuitif, serta mengungkapkan berbagai alat dan teknik yang tersedia untuk mendukung kreativitas dan efisiensi dalam proses desain! 🤗 1. FigGPT FigGPT adalah plugin yang didukung oleh kecerdasan buatan yang dirancang untuk meningkatkan alur kerja dan produktivitas pengguna di Figma, aplikasi perangkat lunak desain yang banyak digunakan. Dengan mengintegrasikan teknologi ChatGPT secara mulus ke dalam Figma, FigGPT memberdayakan desainer untuk menulis dan mengedit teks dengan mudah dan efisien. Ada pun beberapa keunggulan FigGPT seperti: Summarization: Cepat meringkas teks di dalam Figma untuk pemahaman konten yang efisien,Style Changing: Mudah mengubah gaya teks, termasuk font, ukuran, dan warna, di dalam desain Figma,Idea Generation: Hasilkan berbagai ide kreatif untuk konsep desain atau penulisan teks,Komposisi Teks: Menyusun teks langsung di dalam Figma menggunakan kemampuan kecerdasan buatan FigGPT,Component Population: Populasi komponen dengan data contoh untuk membuat mockup desain yang realistis,User-Friendly: Dirancang untuk kemudahan penggunaan oleh desainer dengan semua tingkat keterampilan,Free dan dapat diakses secara online via Chrome 2. Framer Framer adalah software desain yang juga memanfaatkan teknologi AI. Dengan Framer, kamu dapat membuat prototipe interaktif dengan cepat dan mudah. Software ini memungkinkan kamu untuk menguji interaksi pengguna, animasi, dan alur kerja produk. Dengan bantuan AI, kita dapat mengoptimalkan prototipe kita dan mendapatkan wawasan yang worth-it tentang bagaimana pengguna berinteraksi dengan desainmu. Framer mampu: Auto-Code: Software AI satu ini mampu menghasilkan kode secara otomatis berdasarkan desain yang dibuat oleh pengguna. Framer mampu mengenali pola dalam desain dan memberikan kode yang sesuai, sehingga mempercepat proses pengembangan prototipe dan mengurangi kesalahan manusia dalam penulisan kode.Auto-Animate: Fitur ini menggunakan AI untuk menghasilkan animasi yang mulus dan responsif. Software ini akan secara otomatis menganalisis perubahan setiap halaman atau elemen desain, dan menghasilkan animasi yang tepat untuk transisi antara perubahan tersebut.Komponen Siap Pakai: Framer menyediakan komponen siap pakai dan template yang memudahkan desainer untuk membuat prototipe. Ini mempercepat proses prototyping dan memungkinkan desainer untuk fokus pada ide kreatif mereka.Framer yang diakses secara free memiliki batasan fitur. Berbeda dengan Framer berbayar yang memiliki akses fitur lebih luas.Dapat diakses dengan Chrome 3. Recraft Recraft adalah platform kecerdasan buatan yang generatif yang memungkinkan pengguna untuk membuat gambar vektor dan seni berkualitas tinggi menggunakan bantuan bahasa sederhana. Ini dioptimalkan untuk desainer digital, pemasar, seniman, dan kreatif lainnya. Ada pun keunggulan Recraft yaitu: Gambar Vector: Recraft menghasilkan gambar vektor SVG yang tidak tergantung resolusi sehingga dapat diubah ukurannya tanpa kehilangan kualitas, cocok digunakan untuk desain digital maupun cetak.Pemrosesan Bahasa Alami: NLP canggih dari Recraft memungkinkan kamu menggunakan instruksi bahasa alami dan mendapatkan hasil berkualitas tinggi dengan cepat, tanpa perlu mengatur parameter secara manual.Pergeseran Gaya: Mudah menjelajahi variasi dengan beralih antara gaya seni yang berbeda seperti realisme, kartun, seni pixel, dan lainnya.Palet Warna: Gunakan palet warna merek atau buat palet kamu sendiri untuk mendapatkan gambar dengan warna yang konsisten dan tepat.Dapat diakses secara online via Chrome 4. UIzard UIzard adalah software AI yang mengintegrasikan machine learning untuk membantu kamu para UI/UX designers membuat dan menghasilkan prototipe dengan cepat dan effective. Dengan AI ini, kamu dapat menggambarkan interface penggunamu dengan satu kali klik. Ini menghasilkan kode front-end yang siap digunakan dan berbasis pada desain yang kamu buat, menghemat waktu dan upaya. Selain itu, UIzard mampu mengenali elemen-elemen desain dan mengoptimalkan layout, memungkinkan kamu sebagai desainer untuk fokus pada kreativitasmu. Lalu apa saja sih keunggulan UIzard? Bisa membuat design website tanpa codingUIzard memberikan/menyediakan beberapa pilihan jenis design web seusai kebutuhan desainerIntegrasi dengan CMS: Design web dapat diintegrasikan dengan beberapa CMS (Content Management System), contohnya seperti WordPress, Shopify, dan lain sebagainya.Kolaborasi dengan tim: Kamu dapat mengundang timmu untuk berkolaborasi dalam membuat design menggunakan Uizard.io. Uizard punya fitur yang memungkinkan beberapa partner kerja kalian untuk bekerja pada desain website yang sama secara bersamaan.UIzard bisa diakses secara free namun untuk beberapa fitur memang harus harus berbayar,Mudah diakses melalui Chrome. 5. Fontjoy Fontjoy memanfaatkan kekuatan pembelajaran mendalam untuk membantu kamu dalam pencarian kombinasi font yang ideal. Ini mengevaluasi dan menghasilkan pasangan font, menawarkan pilihan yang menyatu secara mulus. Tool canggih ini membawa keseimbangan dan kontras ke desainmu, memastikan bahwa font-font tersebut saling melengkapi. Keunggulan Fontjoy: User-friendly: Dengan kemampuan pembelajaran mendalamnya, antarmuka ini mudah digunakan, memberikan hasil yang cepat dan efektif.Menghemat Waktu: Fontjoy membantu kamu membuat keputusan tentang penyatuan font dengan cepat sehingga kamu dapat menghabiskan lebih banyak waktu pada aspek-aspek lain dari desainmu.Pilihan font yang Beragam: Dengan koleksi font yang luas, Anda memiliki spektrum yang luas untuk dipilih. Kesimpulan Software AI seperti FigGPT, Framer, Recraft, UIzard, dan Fontjoy Insight telah membawa perubahan yang signifikan. Mereka tidak hanya mempermudah tugas para desainer, tetapi juga membantu dalam menciptakan pengalaman pengguna yang lebih baik: FigGPT meningkatkan alur kerja dan produktivitas pengguna dengan integralisasi ChatGPT,Framer memungkinkan pembuatan prototipe yang interaktif,Recraft membuat gambar vektor dan seni berkualitas tinggi,UIzard menghasilkan prototipe dengan cepat, danFontjoy membantu mempermudah menemukan kombinasi font yang menarik. Dengan teknologi AI semakin terlibat dalam workflow UI/UX, para desainer memiliki alat yang kuat untuk mencapai hasil terbaik dan meningkatkan kualitas desainmu. Tertarik belajar lebih dalam? Kamu bisa mulai di kelas-kelas UI/UX BuildWithAngga loh sebagai langkah awal! Tertarik coba? 😉

Kelas Mendalami Konsep Pemrograman Berorientasi Objek di Go: Structs, Methods, dan Interfaces di BuildWithAngga

Mendalami Konsep Pemrograman Berorientasi Objek di Go: Structs, Methods, dan Interfaces

Pemrograman berorientasi objek adalah paradigma pemrograman yang telah menjadi fondasi bagi banyak bahasa pemrograman modern. Di Go, meskipun bahasa ini diketahui sebagai bahasa pemrograman berbasis pemrograman berorientasi objek, namun penggunaannya lebih ringkas dan eksplisit. Konsep pemrograman berorientasi objek di Go menggabungkan kekuatan paradigma tersebut dengan kesederhanaan dan kejelasan bahasa. Structs: Fondasi Data Structs adalah bagian terpenting dalam pemrograman berorientasi objek di Go. Mereka memungkinkan Kamu untuk membuat tipe data baru yang terdiri dari beberapa bidang dengan jenis data yang berbeda. Structs mirip dengan record dalam bahasa pemrograman lainnya. Mari kita lihat contoh sederhana: Dalam contoh di atas, kita membuat tipe data baru bernama Rectangle yang memiliki dua bidang length dan width dengan tipe data float64. Methods: Tingkatkan Keterbacaan dan Kegunaan Methods adalah fungsi yang terkait dengan sebuah tipe data. Mereka memungkinkan Kamu untuk memanipulasi data yang terkandung dalam sebuah struct. Contoh di bawah ini menunjukkan bagaimana kita dapat menambahkan method area() ke struct Rectangle untuk menghitung luasnya: Dalam contoh ini, kita menambahkan method area() yang terkait dengan tipe data Rectangle. Method tersebut diakses menggunakan notasi titik (.) setelah variabel bertipe Rectangle. olb adalah kumpulan method. Mereka mendefinisikan perilaku dari sebuah objek. Dalam Go, sebuah tipe data secara otomatis mengimplementasikan sebuah interface jika ia menyediakan semua method yang diperlukan oleh interface tersebut. Contoh di bawah ini menunjukkan penggunaan interface dalam Go: Dalam contoh ini, Rectangle secara tidak langsung mengimplementasikan interface Shape karena ia memiliki method area(). Kesimpulan Dengan menggunakan structs, methods, dan interfaces kamu dapat mendalami konsep pemrograman berorientasi objek di Go. Meskipun pendekatan Go terhadap pemrograman berorientasi objek lebih sederhana daripada bahasa lain, namun ia memungkinkan kamu untuk membuat kode yang efisien, mudah dibaca, dan mudah dikelola. Semoga dengan pemahaman Go, kamu lebih siap untuk menghadapi tantangan dalam pengembangan aplikasi Go yang lebih kompleks. Jangan ragu untuk terus belajar dan menjelajahi fitur-fitur menarik dalam bahasa Go! Dan untuk pengalaman belajar yang lebih mendalam, yuk bergabung di Build with Angga dan kembangkan keterampilan pemrograman Go Kamu bersama komunitas yang solid dan dukungan dari instruktur ahli. Mari bergabung dan berkembang bersama-sama! 🚀 BuildWithAngga

Kelas Pentingnya Komunitas Developer dalam Membangun Karir di Dunia Teknologi di BuildWithAngga

Pentingnya Komunitas Developer dalam Membangun Karir di Dunia Teknologi

Bergabung dengan komunitas developer dapat menjadi langkah penting dalam meningkatkan keahlian developer di bidang yang kamu tekuni. Tidak hanya memperluas wawasan dan pengetahuanmu dengan informasi terkini, aktif dalam komunitas juga memberikan kesempatan untuk membangun relasi yang berpotensi memberikan manfaat besar bagi karir atau proyek-proyek di masa depan. So, pada artikel kali ini kita mau sharing beberapa mafaat yang bisa kalian dapatkan dengan bergabung dalam komunitas developer, serta rekomendasi 5 komunitas yang layak kalian ikuti! Let’s dive in!🚀 Manfaat Ikut Komunitas Developer Dengan terlibat aktif di komunitas, seseorang memiliki kesempatan untuk belajar, berbagi pengetahuan, memperluas jaringan, dan mendapatkan dukungan dari sesama anggota. Berikut manfaat yang dapat kalian dapatkan: Jaringan Profesional yang Kuat Komunitas developer merupakan tempat yang ideal untuk membangun jaringan profesional yang kuat. Dengan bertemu dengan rekan-rekan seprofesi dan para ahli di bidang teknologi, kalian dapat berbagi pengetahuan, pengalaman, serta memperluas peluang karir kalian. Pertumbuhan dan Pembelajaran Berkelanjutan Melalui komunitas developer, kalian akan terus mendapatkan akses ke berbagai sumber daya pembelajaran, seperti workshop, pelatihan, dan materi pembelajaran online. Hal ini memungkinkan kalian untuk terus mengembangkan keterampilan teknis dan tetap relevan dengan perkembangan terbaru dalam industri. Peluang Kolaborasi Komunitas developer juga menjadi tempat yang ideal untuk menemukan rekan-rekan kolaborasi dalam proyek-proyek bersama. Dengan berkolaborasi, kalian dapat menggabungkan keahlian dan pengalaman dengan orang lain untuk menciptakan solusi yang lebih inovatif dan efektif. Pengakuan Profesional Terlibat aktif dalam komunitas developer juga dapat membantu membangun reputasi profesional. Kontribusi kalian dalam forum, penulisan artikel, atau berbagi pengalaman dapat memberikan pengakuan dari sesama profesional dan meningkatkan visibilitas kalian di industri. Dukungan dan Inspirasi Ketika kalian menghadapi tantangan atau kelelahan dalam perjalanan karir, komunitas developer dapat menjadi sumber dukungan emosional dan motivasi. Melalui berbagi pengalaman dan inspirasi, kalian dapat terus termotivasi untuk mencapai kesuksesan dalam karir. 5 Komunitas Developer yang Bisa Kalian Ikuti Inilah beberapa rekomendasi komunitas developer yang bisa kalian ikuti untuk mendapatkan relasi dan mempertajam keterampilan kalian. 1. EddieHub EddieHub adalah sebuah komunitas Open Source yang inklusif, yang mendorong dan mempromosikan komunikasi, praktik terbaik, dan keahlian teknis dalam lingkungan yang mendukung. Komunitas ini berfokus pada kolaborasi dan kode. EddieHub menyediakan platform bagi siapa saja untuk berkontribusi pada proyek-proyek Open Source sambil membangun jaringan dan meningkatkan keterampilan mereka. Berikut adalah beberapa alasan mengapa menjadi bagian dari EddieHub bisa bermanfaat: Meningkatkan karir dan keterampilan: Dengan berkontribusi pada proyek-proyek open source, dapat mempercepat karir dan keterampilan kalian.Lingkungan yang aman dan mendukung: EddieHub menyediakan ruang obrolan yang inklusif, aman, dan mendukung di Discord, di mana kalian dapat berdiskusi tentang berbagai topik.Belajar bersama secara terbuka: Belajar dari proyek dunia nyata adalah cara terbaik untuk mendapatkan pengalaman.Tumbuhkan jaringan: Dengan platform yang open source, kalian dapat memamerkan keterampilan kalian dan membangun portofolio. Untuk bergabung dengan komunitas EddieHub, kalian bisa mengunjungi situs web mereka dan mengikuti instruksi untuk bergabung dengan organisasi GitHub mereka 2. Pieces Community Pieces Community for Developers adalah sebuah komunitas yang dibentuk oleh Pieces for Developers, sebuah perusahaan perangkat lunak tahap awal yang bertujuan untuk meningkatkan produktivitas pengembang dan memfasilitasi alur kerja yang mulus sepanjang siklus hidup proyek. Mereka menawarkan berbagai cara bagi pengembang untuk terlibat dan membantu membentuk visi mereka, termasuk: Bergabung dengan Komunitas Discord: Di sini, pengembang dapat berkomunikasi langsung dengan tim yang membangun Pieces for Developers. kalian dapat mengajukan dukungan, bertanya, dan menemukan kesempatan untuk berpartisipasi dalam sesi umpan balik atau kontes.Berpartisipasi dalam Open Source: Pieces mendorong kolaborasi dan inovasi, dan selalu mencari pengembang yang bersemangat untuk membuat perbedaan. Kalian dapat berkontribusi pada salah satu SDK open source mereka, menawarkan saran fitur, atau berpartisipasi dalam AMA (Ask Me Anything).Mengirim Umpan Balik atau Permintaan Fitur: Pieces ingin mendengar pendapat kalian tentang produk mereka atau bagaimana mereka dapat meningkatkan pengalaman terhadap produk.Bergabung dengan Program Beta: Untuk mendapatkan akses awal ke fitur, produk, dan lainnya yang baru.Memberikan Ulasan Produk: Baik itu ulasan positif atau konstruktif, umpan balik kalian sangat membantu misi mereka dalam membangun produk yang luar biasa untuk produktivitas pengembang. Pieces for Developers sendiri adalah alat yang dirancang untuk meningkatkan produktivitas pengembang dengan menyediakan hub kode dan tangkapan layar yang ditenagai AI, serta suite plugin yang berfokus pada produktivitas. Mereka bertujuan untuk menjadi lapisan koheren dan “alat antara alat” yang meningkatkan produktivitas dalam tiga proses alur kerja utama: penelitian dan pemecahan masalah di browser, bekerja dengan rekan-rekan dalam lingkungan kolaboratif, dan menulis, meninjau, merujuk, dan menggunakan kembali kode. 3. Lead DevRel Community Lead DevRel Community adalah sebuah komunitas yang berfokus pada profesi Developer Relations (DevRel). Ini adalah tempat bagi para profesional DevRel untuk berbagi pengetahuan, belajar, dan mengembangkan keterampilan mereka. Berikut adalah beberapa aspek penting dari Lead DevRel Community: Pertukaran Pengetahuan: Komunitas ini menyediakan artikel, panduan, dan diskusi tentang topik-topik seperti pengalaman pengembang, strategi relasi pengembang, dan cara membangun komunitas pengembang yang kuat.Sumber Daya Edukasi: Lead DevRel menawarkan konten yang membantu para profesional DevRel memajukan karier mereka, termasuk panduan tentang cara masuk ke dalam bidang DevRel.Komunitas Interaktif: Anggota dapat berpartisipasi dalam komentar, diskusi, dan mendapatkan akses ke fitur komunitas dengan berlangganan.Pembelajaran Berkelanjutan: Komunitas ini mendorong pembelajaran dan pertumbuhan berkelanjutan melalui artikel dan diskusi yang membahas berbagai aspek DevRel, dari keterampilan lunak hingga strategi komunitas. Secara umum, Lead DevRel Community bertujuan untuk menjadi sumber daya yang berharga bagi mereka yang berada di bidang Developer Relations, membantu mereka untuk terhubung, belajar, dan berkembang bersama. Jika kalian tertarik dengan DevRel atau sudah bekerja di bidang ini, bergabung dengan komunitas seperti Lead DevRel bisa sangat bermanfaat. 4. 4C Community 4C Community untuk developer adalah Cool Community of Content Creators. Ini adalah komunitas yang terdesentralisasi dari para pembuat konten yang mendukung satu sama lain dan tumbuh bersama. Meskipun banyak anggotanya adalah developers, komunitas ini tidak eksklusif hanya untuk developers. Fokus utamanya adalah pada proses pembuatan konten, seperti cara membuat video, menulis artikel, dan membuat Twitter Spaces. Berikut adalah beberapa poin penting tentang 4C Community: Desentralisasi: Dalam 4C, setiap anggota dapat membuat acara 4C sendiri dengan logo dan warna komunitas, dan komunitas akan membantu mempromosikannya.Aktif di Discord dan Twitter: Komunitas ini aktif di platform Discord dan Twitter, memungkinkan anggota untuk berinteraksi dan berkolaborasi.Manajer Komunitas: Ada manajer komunitas yang mengurus komunitas, terutama komunitas Discord, dan membahas struktur serta menominasikan anggota staf.Struktur Server: Server Discord mereka terdiri dari beberapa bagian utama seperti Welcome, News/updates, Main Hub, Off-topic, Self-promotion, dan Projects, masing-masing dengan saluran suara terkait. Komunitas ini terbuka untuk semua jenis pembuat konten dan fokus pada diskusi tentang bagaimana membuat konten, bukan pengembangan itu sendiri. Namun, banyak aktivitas dan hal yang terkait dengan teknologi, dan ini diterima dengan baik dalam komunitas. 5. ReactPlay Community ReactPlay Community adalah sebuah platform Open Source yang dirancang untuk membantu para pengembang belajar ReactJS dan FullStack dengan model praktik langsung. Ini adalah tempat di mana kalian dapat: Belajar: Melalui kode, penjelasan, artikel, dan video yang terkait dengan proyek ReactJS.Menciptakan: Kalian memiliki kebebasan penuh untuk menciptakan proyek apa pun berdasarkan ide kalian sendiri atau dengan meniru sesuatu yang kalian lihat di internet.Berbagi: Setelah proses review kode selesai, proyek kalian akan diterima dan kalian menjadi bagian dari komunitas ReactPlay. Ini juga dihitung sebagai kontribusi open source. Komunitas ini adalah komunitas yang sangat baik bagi mereka yang ingin meningkatkan keterampilan ReactJS mereka sambil berkontribusi pada proyek-proyek yang bermanfaat bagi komunitas pengembang yang lebih luas. Kesimpulan Bergabung dengan komunitas developer merupakan langkah yang sangat berharga dalam meningkatkan keahlian dan memperluas jaringan profesional di bidang yang kamu tekuni. Selain memperoleh wawasan dan pengetahuan terkini, aktif di dalam komunitas juga membuka peluang untuk membangun hubungan yang dapat memberikan manfaat besar bagi karier atau proyek di masa depan. Dalam artikel ini, kita telah membahas beberapa manfaat utama yang dapat kamu peroleh dengan bergabung dalam komunitas developer, mulai dari memperkuat jaringan profesional hingga mendapatkan dukungan dan inspirasi dari sesama pengembang. Selain itu, kita juga telah merekomendasikan lima komunitas developer di Indonesia yang layak untuk kamu ikuti, yang masing-masing menawarkan pengalaman unik dan peluang untuk belajar dan berkembang. Selain aktif dalam komunitas, kalian juga dapat mengembangkan skill dengan mengikuti kelas-kelas dari BuildWithAngga. Tersedia berbagai jenis kelas developer yang dapat kalian ikuti seperti Kelas Online Full-Stack Web Developer atau Kelas Online Gratis Belajar Web Development lainnya. Tunggu apa lagi? Daftarkan diri kalian dan dapatkan manfaatnya sekarang!

Kelas Mengenal Laravel Forge: Salah Satu Ekosistem Baru di Laravel 11 di BuildWithAngga

Mengenal Laravel Forge: Salah Satu Ekosistem Baru di Laravel 11

Laravel Forge adalah platform yang menyediakan layanan server management dan implementasi aplikasi yang memudahkan proses peluncuran situs web. Dengan Forge, kamu bisa melupakan semua kerumitan dan tantangan dalam mengatur server, sehingga kamu bisa lebih fokus pada pengembangan aplikasi yang lebih baik. Meskipun di Forge kita mengutamakan penggunaan PHP, namun platform ini juga siap untuk menangani berbagai teknologi lainnya, termasuk Node.js. Prosesnya sangat sederhana. Setelah terhubung dengan server provider pilihan kamu, Forge akan langsung menyediakan server baru dalam hitungan menit. Forge menyediakan berbagai jenis server, mulai dari server web, server database, hingga load balancers, lengkap dengan serangkaian layanan terkonfigurasi seperti Nginx sebagai server web, PHP dengan dukungan untuk beberapa versi, dan masih banyak lagi. Dengan Forge, kamu juga dapat dengan mudah mengelola Scheduled Jobs, Queue Worker, serta TLS/SSL Certificates untuk keamanan aplikasi. Setelah server dipersiapkan, kamu dapat mengelola dan melakukan implementasi aplikasi web kamu dengan mudah melalui UI Forge yang intuitif. Scheduled Jobs LaravelForge_BuildWithAngga Scheduled Jobs adalah tugas-tugas yang dijadwalkan untuk berjalan pada waktu tertentu sesuai dengan jadwal yang telah ditentukan. Dalam konteks pengembangan aplikasi web, Scheduled Jobs sering digunakan untuk menjalankan tugas-tugas rutin seperti pemrosesan data, pengiriman e-mail berkala, atau melakukan tindakan tertentu pada waktu-waktu tertentu. Dengan fitur ini, pengguna Laravel Forge dapat dengan mudah membuat, mengelola, dan menjadwalkan tugas-tugas tersebut tanpa perlu khawatir tentang konfigurasi server secara manual. Queue Worker LaravelForge_BuildWithAngga Queue Worker merupakan komponen yang bertanggung jawab untuk menangani pekerjaan-pekerjaan yang dimasukkan ke dalam antrian (queue) pada aplikasi web. Dalam pengembangan aplikasi, seringkali ada tugas-tugas yang memerlukan waktu pemrosesan yang lama atau membutuhkan interaksi dengan sumber daya eksternal seperti database atau layanan third-party. Dengan menggunakan antrian dan Queue Worker, pengguna dapat memisahkan pekerjaan-pekerjaan tersebut dari respons langsung ke pengguna, sehingga meningkatkan responsivitas aplikasi serta menghindari kehilangan data saat ada lonjakan trafik yang tinggi. TLS/SSL Certificates LaravelForge_BuildWithAngga TLS (Transport Layer Security) dan SSL (Secure Sockets Layer) Certificates adalah protokol dan sertifikat keamanan yang digunakan untuk mengenkripsi komunikasi antara server dan klien di internet. Penggunaan TLS/SSL Certificates sangat penting untuk melindungi data sensitif seperti informasi pengguna, informasi pembayaran, dan lainnya dari serangan peretas dan pengintai. Dengan Laravel Forge, pengguna dapat dengan mudah mengelola pemasangan dan perpanjangan sertifikat TLS/SSL untuk situs web pengguna, sehingga meningkatkan kepercayaan pengguna dan keamanan aplikasi secara keseluruhan. Kesimpulan Laravel Forge merupakan sebuah platform yang menyediakan layanan manajemen server dan implementasi aplikasi yang memudahkan proses peluncuran situs web. Dengan fitur-fitur seperti Scheduled Jobs, Queue Worker, dan TLS/SSL Certificates, pengguna dapat mengelola tugas-tugas yang dijadwalkan, mengoptimalkan kinerja aplikasi dengan memanfaatkan Queue Worker, serta meningkatkan keamanan aplikasi dengan menerapkan enkripsi komunikasi melalui TLS/SSL Certificates. Laravel Forge memungkinkan pengguna untuk fokus pada pengembangan aplikasi yang lebih baik dengan mengurangi kompleksitas dalam mengatur server dan menawarkan kemudahan dalam implementasi berbagai teknologi seperti PHP dan Node.js. Dengan antarmuka pengguna yang intuitif, Laravel Forge menjadi solusi yang sangat berguna bagi para developer dalam mempercepat dan menyederhanakan proses pengelolaan serta implementasi aplikasi web kita. Jika kamu tertarik dengan Laravel 11, kamu bisa eksplorasi dengan mengikuti Kelas Online Laravel 11, Breeze, Spatie: Bikin Web Platform Online Course | BuildWithAngga atau Kelas Online Laravel 11 & Spatie User Roles: Bikin Website Apotek Online | BuildWithAngga. Selain kamu bisa mengenal Laravel 11 kamu juga membuat sebuah project secara langsung dengan materi yang diberikan dan kamu juga bisa bertanya langsung kepada mentor dalam prosesnya.

Kelas 5 Prinsip Penting Desain Responsif untuk Frontend Development yang Sukses di BuildWithAngga

5 Prinsip Penting Desain Responsif untuk Frontend Development yang Sukses

Dalam dunia di mana kita selalu terhubung melalui berbagai perangkat seperti laptop, ponsel pintar, dan tablet, penting bagi kamu sebagai seorang pengembang web untuk memastikan bahwa situs web yang kamu buat tetap dapat diakses dan dinikmati dengan baik di mana pun pengguna berada. Salah satu kunci untuk mencapai hal ini adalah dengan menerapkan prinsip-prinsip desain responsif yang tepat. Nah, di artikel ini, kita akan membahas lima prinsip penting yang harus kamu pahami untuk menciptakan pengalaman pengguna yang baik di semua perangkat. Mari kita bahas tuntas🚀 1. Fleksibilitas Layar Saat kamu merancang situs web, kamu harus memastikan bahwa desainnya tetap keren dan nyaman dilihat di berbagai perangkat, mulai dari layar besar hingga ponsel pintar. Inilah yang disebut dengan fleksibilitas layar. Fleksibilitas layar sangat penting karena pengguna bisa mengakses situs web-mu dari mana saja dan dengan berbagai perangkat. Misalnya, ketika seseorang membuka situs web-mu di ponsel, tampilannya harus tetap terlihat bagus tanpa perlu terus-menerus menggeser-geser layar. Ini membuat pengguna merasa nyaman dan puas saat mengakses kontenmu, tanpa perlu repot-repot menyesuaikan tata letak setiap kali mereka berganti perangkat. Maka dari itu, pastikan kamu memperhatikan fleksibilitas layar saat merancang situs web-mu. Dengan cara itu, kamu bisa memberikan pengalaman pengguna yang konsisten dan memuaskan, tidak peduli perangkat apa yang mereka gunakan. 2. Grid System Ketika kamu membangun situs web, kamu perlu memastikan bahwa tata letaknya tetap rapi dan terstruktur, terlepas dari ukuran layar perangkat pengguna. Di sinilah grid system sangat membantu. Grid system adalah kerangka kerja yang memungkinkan kamu untuk menyusun elemen-elemen situs webmu secara teratur dan konsisten. Dengan menggunakan grid system, kamu dapat menentukan kolom-kolom dan baris-baris di mana kontenmu akan ditempatkan, sehingga tata letak situs webmu tetap konsisten di berbagai perangkat. Misalnya, jika kamu menggunakan grid system dengan 12 kolom, kamu bisa menentukan bahwa sebuah elemen akan menempati 6 kolom di layar besar, tetapi hanya 12 kolom di layar kecil. Ini memastikan bahwa tata letak situs web-mu tetap teratur dan mudah dibaca, tanpa terlihat berantakan atau tidak teratur. Jadi, ketika kamu merancang situs web-mu, pastikan untuk mempertimbangkan penggunaan grid system. Dengan menggunakan grid system, kamu bisa memastikan bahwa tata letak situs web-mu tetap konsisten dan mudah digunakan, tidak peduli ukuran layar perangkat pengguna. 3. Media Queries Media queries adalah fitur yang memungkinkan kamu untuk mengatur tampilan situs web berdasarkan karakteristik perangkat pengguna, seperti lebar layar atau orientasi. Dengan menggunakan media queries, kamu bisa membuat situs web-mu menyesuaikan diri dengan berbagai perangkat dengan lebih baik. Misalnya, kamu bisa mengatur tampilan situs web-mu agar terlihat lebih ramping di layar ponsel dengan menggunakan media queries. Ini memastikan bahwa pengguna mendapatkan pengalaman pengguna yang optimal, terlepas dari perangkat apa yang mereka gunakan. Jadi, ketika kamu merancang situs web-mu, jangan lupakan penggunaan media queries. Dengan menggunakan media queries, kamu bisa memastikan bahwa situs webmu tetap terlihat bagus di semua perangkat, sehingga pengguna bisa mengakses kontenmu dengan nyaman di mana pun mereka berada. 4. Optimasi Gambar dan Konten Saat kamu membangun situs web, kamu perlu memperhatikan ukuran dan kualitas gambar serta konten yang kamu gunakan. Ini penting karena gambar dan konten yang tidak dioptimalkan dapat memperlambat waktu muat situs web-mu dan mengganggu pengalaman pengguna. Ada beberapa cara untuk mengoptimalkan gambar dan kontenmu. Pertama, pastikan untuk mengompres gambar sebelum mengunggahnya ke situs web. Kamu bisa menggunakan alat kompresi gambar online atau plugin khusus untuk mengurangi ukuran gambar tanpa mengorbankan kualitasnya. Selain itu, pertimbangkan untuk membatasi jumlah gambar dan konten yang dimuat secara otomatis saat situs web dimuat. Ini dapat membantu mempercepat waktu muat situs web-mu, terutama bagi pengguna yang menggunakan koneksi internet yang lambat. Selanjutnya, pastikan untuk memprioritaskan konten yang penting dan mengurangi konten yang tidak perlu. Ini akan membantu fokus pengguna pada informasi yang paling relevan dan meningkatkan pengalaman pengguna secara keseluruhan. Dengan mengoptimalkan gambar dan kontenmu, kamu dapat memastikan bahwa situs web-mu tetap responsif dan memberikan pengalaman pengguna yang baik, bahkan di perangkat dan koneksi internet yang lambat. Jadi, jangan lupakan langkah ini saat merancang situs web-mu! 5. Uji Coba dan Pemeliharaan Setelah kamu selesai merancang dan mengembangkan situs web responsif-mu, pekerjaanmu belum selesai. Tahap penting berikutnya adalah melakukan uji coba lintas perangkat dan pemeliharaan terus-menerus. Uji coba lintas perangkat sangat penting untuk memastikan bahwa situs web-mu dapat bekerja dengan baik di berbagai perangkat, seperti laptop, ponsel pintar, dan tablet. Kamu perlu menguji tampilan dan fungsionalitas situs web-mu di setiap perangkat untuk memastikan bahwa pengguna mendapatkan pengalaman pengguna yang konsisten di mana pun mereka berada. Selain itu, kamu juga perlu melakukan pemeliharaan terus-menerus pada situs web-mu. Ini termasuk memperbarui konten, menyesuaikan tata letak, dan memperbaiki bug yang mungkin muncul seiring waktu. Dengan melakukan pemeliharaan rutin, kamu dapat memastikan bahwa situs web-mu tetap responsif dan berfungsi dengan baik seiring waktu. Jadi, jangan lupakan tahap uji coba dan pemeliharaan setelah kamu selesai merancang situs web-mu. Ini adalah langkah penting untuk memastikan kesuksesan situs web-mu dalam jangka panjang. Kesimpulan Sekarang kamu telah mempelajari lima prinsip penting dalam desain responsif untuk Frontend Development yang sukses. Pertama, kamu belajar tentang pentingnya fleksibilitas layar, yang memastikan situs web-mu tetap terlihat bagus di berbagai perangkat. Kemudian, kamu mempelajari tentang penggunaan grid system, media queries, dan optimasi gambar dan konten untuk menciptakan tata letak yang rapi dan memastikan waktu muat yang cepat. Terakhir, kamu mengetahui pentingnya melakukan uji coba lintas perangkat dan pemeliharaan terus-menerus untuk memastikan bahwa situs web-mu tetap responsif dan berfungsi dengan baik seiring waktu. Dengan memperhatikan prinsip-prinsip ini, kamu dapat menciptakan situs web yang responsif dan memuaskan bagi pengguna di semua perangkat. Jadi, jangan ragu untuk menerapkan prinsip-prinsip ini dalam proyek Frontend Development-mu selanjutnya. Dengan begitu, kamu akan menjadi pengembang yang lebih baik dan situs web-mu akan menjadi lebih sukses dalam memberikan pengalaman pengguna yang terbaik. Bagi kamu yang ingin mengeksplorasi lebih lanjut, kamu bisa mengikuti kelas di BuildWithAngga. Ada Kelas Online Gratis Next.js Basic dan proyek berbasis web development lainnya seperti Kelas Online Full-Stack Laravel React JS: Build Streaming Website Like Netflix. Sampai jumpa di artikel selanjutnya, ya! Teruslah belajar dan kembangkan skill kamu dalam mengembangkan aplikasi web yang keren. Semangat! 🚀

Kelas Tips Membuat Portfolio UI/UX yang Menarik Perhatian Client di BuildWithAngga

Tips Membuat Portfolio UI/UX yang Menarik Perhatian Client

Dalam dunia desain UI/UX yang semakin kompetitif, portofolio menjadi kunci utama bagi para desainer untuk membedakan diri dan menarik perhatian klien atau perusahaan yang potensial. Menyusun portofolio yang efektif bukanlah tugas yang mudah, namun dengan beberapa tips dan panduan yang tepat, kamu dapat membuat portofolio yang tidak hanya memikat, tetapi juga memberikan nilai tambah yang signifikan. Apa yang Perlu Dimasukkan ke Dalam Portofoliomu? Portofolio UI/UX adalah “kartu nama” kamu di dunia desain digital. Ini adalah hal yang memungkinkan kamu untuk memamerkan kreativitas, keterampilan, dan pendekatanmu dalam merancang pengalaman pengguna yang menakjubkan. Namun, menyusun portofolio yang memukau dan informatif memerlukan perhatian khusus. Berikut adalah beberapa hal penting yang perlu dimasukkan ke dalam portofolio-mu: 1. Project Terbaikmu Pilihlah proyek-proyek terbaikmu yang menunjukkan kemampuan desain dan konseptualisasi yang kuat. Pilih projects yang beragam untuk menunjukkan fleksibilitasmu dalam berbagai jenis proyek. 2. Deskripsi Project yang Jelas Sertakan deskripsi singkat untuk setiap project yang menjelaskan tujuan project, tantangan yang dihadapi, pendekatan desain yang diambil, dan hasil yang dicapai. 3. Proses Desain Tampilkan proses desainmu mulai dari riset awal, sketsa, wireframe, prototipe, hingga desain akhir. Ini membantu calon klien atau perusahaan untuk memahami bagaimana kamu mendekati dan menyelesaikan masalah desain. 4. Sertakan Screen Recording Video Sertakan video interaktif dari desainmu untuk memberikan gambaran yang lebih baik tentang bagaimana produkmu berfungsi. 5. Review atau Rekomendasi Jika memungkinkan, tambahkan review atau feedback dari klien atau rekan kerja yang memuji kualitas dan keahlian desainmu. 6. Kontak dan Informasi Latar Belakang Sertakan informasi kontak kamu dan latar belakang pendidikan atau pengalaman kerja untuk memberikan pemahaman lebih lanjut kepada pengunjung portofolio tentang siapa dirimu dan apa yang kamutawarkan. 7. Pengalaman Pengguna Berikan fokus pada user experience pengguna dalam portofoliomu. Jelaskan bagaimana desain ini meningkatkan pengalaman pengguna dan menciptakan solusi yang mudah digunakan. 8. Konten Dinamis Jangan lupakan untuk menyertakanI projects terbarumu dan terus memperbarui portofolio kamu secara berkala untuk menunjukkan perkembangan dan update dalam desainmu. Dengan memperhatikan elemen-elemen di atas, kamu dapat menyusun portofolio UI/UX yang efektif yang tidak hanya memukau, tetapi juga memberikan wawasan yang berharga tentang kemampuan desain dan pendekatan kamu kepada calon klien atau perusahaan. Platform Untuk Memamerkan Karya dan Portfoliomu Ada beberapa platform yang dapat kmau gunakan untuk mempublikasikan portofolio UI/UX-mu. Berikut adalah beberapa opsi terbaik yang populer: 1. Behance Behance merupakan platform yang sangat populer di kalangan desainer. Kamu dapat membuat profil gratis dan mengunggah portofoliomu dalam berbagai format, termasuk gambar, video, dan animasi. Behance juga memungkinkan interaksi antara desainer, klien, dan perusahaan. 2. Dribbble Dribbble adalah platform desain yang fokus pada visual. Kamu dapat membagikan cuplikan desain kamu dalam format gambar atau GIF, serta berinteraksi dengan komunitas desainer lainnya. Meskipun Dribbble memiliki fokus yang lebih sempit daripada Behance, namun masih merupakan platform yang sangat berguna untuk mempublikasikan portofolio UI/UX. 3. LinkedIn LinkedIn bukan hanya untuk mencari pekerjaan atau membangun jaringan profesional, tetapi juga dapat digunakan untuk mempublikasikan portofolio. Kamu dapat menggunakan fitur "Featured" di profilmu untuk menampilkan proyek-proyek terbaik dirimu, serta menyertakan deskripsi dan gambar untuk setiap proyek. 4. Personal Website Membuat website pribadi adalah cara yang sangat efektif untuk mempublikasikan portofolio milikmu sendiri. Ini memberikan kamu kontrol penuh atas tampilan dan isi portofoliomu. Kamu dapat menggunakan platform seperti WordPress, Wix, atau Squarespace untuk membuat website dengan mudah tanpa perlu memiliki pengetahuan teknis yang mendalam. 5. Cargo Collective Cargo Collective adalah platform yang dikhususkan untuk para kreatif. Kamu dapat membuat portofolio yang menarik dan responsif dengan berbagai macam template yang tersedia. Meskipun Cargo Collective tidak gratis, namun menawarkan fitur-fitur khusus yang mungkin tidak tersedia di platform lain. Pilihlah platform yang sesuai dengan gaya dan kebutuhanmu, serta pastikan untuk memperbarui portofoliomu secara berkala untuk menjaga keterkinian dan relevansi. Hal-hal yang Dilihat Recruiter Dalam Portfolio UI/UX Desainmu: Rekruiter dalam industri desain UI/UX akan melihat beberapa hal kunci dalam portofolio seorang desainer. Berikut adalah hal-hal utama yang biasanya mereka perhatikan: Kualitas Desain Rekruiter akan menilai kualitas visual dari desain yang ditampilkan dalam portofolio. Mereka akan mencari desain yang estetis, bersih, dan mudah dimengerti.Proses Desain Rekruiter akan menilai kualitas visual dari desain yang ditampilkan dalam portofolio. Mereka akan mencari desain yang aesthetic, bersih, dan mudah dimengerti.Pengalaman Pengguna Pengalaman pengguna yang baik merupakan prioritas utama dalam desain UI/UX. Rekruiter akan meilhat bagaimana desainer memperhatikan detail-detail kecil dalam pengalaman pengguna dan bagaimana mereka menghadirkan solusi yang mudah digunakan dan intuitif.Sesuai Dengan Kebutuhan Perusahhaan Rekruiter akan mencari portofolio yang menunjukkan pemahaman yang mendalam tentang perusahaan dan industri tempat mereka melamar. Mereka akan mencari karya-karya yang relevan dan sesuai dengan kebutuhan dan nilai perusahaan.Testimoni dan Rekomendasi Previous Client Testimoni atau rekomendasi dari klien atau rekan kerja sebelumnya dapat memberikan bukti tambahan tentang kualitas dan keahlian desainer. Rekruiter akan memperhatikan apakah ada testimoni atau rekomendasi yang menyatakan bahwa desainer telah memberikan kontribusi yang berharga dalam project sebelumnya.Mengikuti Tren Recruiter ingin melihat apakah kamu cukup up-to-date dengan tren yang ada. Rekruiter akan menginginkan portofolio yang diperbarui secara berkala dengan project terbaru dan relevan. Portofolio yang tidak diperbarui atau tidak relevan mungkin tidak memberikan kesan yang baik kepada rekruiter. Kesimpulan Dalam dunia desain UI/UX, portofolio adalah kunci untuk membuka pintu kesempatan karier yang menarik. Rekruiter akan melihat banyak hal dalam portofolio kamu, mulai dari kualitas desain yang menarik perhatian hingga proses desain yang terdokumentasi dengan baik. Mereka juga akan mencari pengalaman pengguna yang baik dan diversitas proyek yang menunjukkan fleksibilitas kamu dalam berbagai konteks. Penting juga untuk menunjukkan kesesuaian dengan nilai dan kebutuhan perusahaan serta memperlihatkan keahlian teknis kamu. Testimoni atau rekomendasi dari klien atau rekan kerja sebelumnya juga bisa menjadi nilai tambah yang memperkuat kesan positif rekruiter tentang kualitas dan keahlian kamu sebagai desainer UI/UX. Dengan memperhatikan semua aspek ini dalam menyusun portofolio, kamu dapat meningkatkan peluangmu untuk menarik perhatian rekruiter dan memperoleh kesempatan kerja yang diinginkan. Tertarik belajar lebih dalam tentang UI/UX? Jangan khawatur! Di BuildWithAngga, kami menyiapkan kelas-kelas gratis UI/UX dan upgrade ke Premium untuk benefits lainnya! ;)