Thursday, December 4, 2025

Komputer Spek Rendah? Tips Mengembangkan Aplikasi Android(Mobile) Secara Ringan Di Laptop Kentang

Photo by Zain Ali: https://www.pexels.com/photo/android-smartphone-971325/



Assalamu'alaikum Wr. Wb.
             Aplikasi Android adalah aplikasi yang biasanya berjalan pada perangkat mobile atau smartphone yang menggunakan sistem operasi(OS) Android, saya bilang biasanya karena saat ini sistem operasi Android sudah bisa dijalankan di berbagai macam perangkat seperti komputer, televisi, tablet, dan tentu saja android yang mana pada pembahasan kali ini saya hanya fokus pada pembahasan pengembangan aplikasi android di perangkat mobile atau smartphone. Proses pengembangan aplikasi android sedikit berbeda jika dibandingkan dengan proses pengembangan aplikasi Web, saat mengembangkan aplikasi web biasanya requirement minimum yang kita perlukan hanyalah code editor dan peramban seperti Chrome, Firefox, Safari, Opera, dll. sebagai alat untuk debugging, saat mengembangkan aplikasi Android(Mobile) perlu emulator atau perangkat mobile sebagai alat untuk debugging serta requirement lain yang diperlukan, untuk beberapa orang yang hanya memiliki komputer dengan spesifikasi rendah terkadang belum berani mencoba mengembangkan aplikasi Android(mobile) dikarenakan kekhawatiran spesifikasi komputernya belum memadai untuk mengembangkan aplikasi android yang mana sebenarnya bisa diatur atau dioptimalkan agar komputer bisa berjalan lebih ringan saat mengembangkan aplikasi Android pada peraangkat mobile seperti yang akan saya jelaskan pada artikel ini.

Spesifikasi minimum komputer untuk mengembangkan aplikasi android.

  1. CPU minimal Intel i5 generasi 4 / AMD Ryzen 3
  2. RAM minimal 8 GB, 8 GB adalah RAM minimal untuk menjalankan Android Studio
  3. Storage minimal SSD 256 GB, sebenarnya HDD masih bisa tapi akan terasa lebih lambat dibandingkan SSD
  4. GPU mininal Integrated (Intel HD Graphics / Radeon Vega)
  5. Sistem Operasi(OS) bisa menggunakan Windows, Linux, atau MacOS.

Tips Mengembangkan Aplikasi Android(Mobile) Secara Ringan di Lapto Spek Rendah

  • Tidak perlu menginstal android studio jika tidak terlalu membutuhkan karena Android Studio bisa cukup berat saat dijalankan pada komputer berspesifikasi rendah. Salah satu fungsi Android Studio bisa digunakan untuk memudahkan dalam menginstal requirement seperti Emulator, SDK, dll. untuk mengembangkan aplikasi android yang mana requirement-requirement tersebut sebenarnya bisa diinstal tanpa android studio, Android Studio bisa sangat membantu jika komputer anda berspefisikasi cukup sehingga bisa menjalankan Android Studio dengan lancar karena memang Android Studio cukup memudahkan dan efisien terutama untuk mengembangkan aplikasi Java, Kotlin, Flutter, C++(Native / NDK) atau Compose Multiplatform secara serius serta didukung oleh berbagai fitur yang memudahkan.
  • Install SDK secara manual. Seperti yang sudah disinggung di langkah pertama, SDK bisa diinstall secara manual tanpa perlu menginstall Android Studio tetapi memang jika anda menggunakan Android Studio untuk menginstall requirement akan jauh lebih mudah, sebelum menginstall SDK secara manual pastikan SDK yang diinstall pada komputer anda kompatibel dengan versi Java yang sedang anda gunakan.
  • Pakai perangkat mobile saja untuk development sebagai pengganti emulator. Emulator cukup berat jika dijalankan pada komputer berspesifikasi rendah, maka disarankan pakai perangkat mobile saja yang sekiranya cocok dan lancar untuk debugging aplikasi android, tetapi jika anda ingin mencoba pengalaman menggunakan emulator, Genimotion bisa menjadi alternatif yang lebih ringan selain Emulator dari Android Studio.
  • Gunakan Sistem Operasi Linux. Linux terbukti menjadi sistem operasi yang paling ringan terutama Linux Mint XFCE, Xubuntu (Ubuntu + XFCE), Lubuntu (Ubuntu + LXQt), Majaro XFCE, dan Debian XFCE.
  • Gunakan Code Editor yang ringan seperti VS Code, Atom, atau Notepad++, untuk VS Code saat pertama kali diinstall bisa dibilang fitur yang diberikan masih minimal dan bisa menginstall Extension secara mandiri seusai kebutuhan, selain ringan VS Code juga bisa digunakan secara gratis tetapi memang code editor pada Android Studio atau InteliJ/IDEA yang cukup berat dijalankan pada komputer spesifikasi rendah memiliki keunggulan tersendiri terutama bagi anda yang memiliki komputer yang kompatible.

Tuesday, July 9, 2024

Beberapa Tools Penting yang Perlu Anda Siapkan Untuk Jadi Programmer

google



Assalamu'alaikum Wr. Wb.

           Pada artikel saya kali ini saya ingin membagikan tentang tools-tools apa saja yang perlu disiapkan jika anda ingin memulai karir sebagai seorang programmer yang pada kasus kali ini adalah programmer aplikasi seperti mobile dan web. Untuk menjadi programmer anda perlu menyiapkan beberapa tools pada komputer anda guna melengkapi lingkungan kerja anda saat mengembangkan aplikasi mobile atau web, untuk tools-tools yang wajib anda install adalah sebagai berikut:

  1. Code Editor
             
    Code Editor adalah tools utama untuk mengembangkan aplikasi, tools ini berfungsi untuk menulis baris kode yang nantinya akan menjadi sebuah aplikasi utuh, banyak merk Code Editor yang bisa anda pilih sesuai dengan kebutuhan anda diantaranya adalah Visual Studio Code, PHP Storm, Web Storm, Atom, dsb.
  2. Aplikasi Pengujian API (Postman)
               
    Selanjutnya adalah tools yang digunakan untuk melakukan pengujian API, API atau Application Programming Interface adalah interface yang menghubungkan aplikasi client dengan aplikasi server, API perlu diuji terlebih dahulu agar response data yang keluar sesuai dengan kebutuhan aplikasi client, contoh aplikasi pengujian API yang paling terkenal dan banyak digunakan programmer adalah Postman.
  3. Database Manager
                 
    Database Manager digunakan untuk management database seperti create, read, update, dan delete data pada database, dengan database manager anda dapat melihat dan memodifikasi database yang terdapat pada local komputer anda atau pada database yang berada pada server online, beberapa tools aplikasi Database Manager yang paling terkenal adalah Navicat, DBeaver, MongoDB Compass, dsb.
  4. Browser
                 
    Tentu saja anda sangat memerlukan browser untuk pengembangan aplikasi anda, browser dapat digunakan untuk pengujian aplikasi web, mencari problem solving, melakukan debugging, dsb. 
  5. Tools Untuk Bahasa Pemrograman
                 
    Bahasa pemrograman tertentu tidak langsung terinstall pada komputer anda, seperti dart anda perlu mendownload dan menginstall nya terlebih dahulu sebelum mengembangkan aplikasi flutter, node js digunakan untuk mengembangkan aplikasi react, dsb.
  6. Aplikasi Pendukung Lainnya (tergantuk aplikasi dan bahasa yang digunakan)
                 
    Aplikasi pendukung digunakan untuk mendukung pengembangan sebuah aplikasi, seperti docker untuk container aplikasi, virtual machine untuk server tambahan pada local computer, Microsoft Visual Studio untuk pengembangan aplikasi windows desktop (yang mana juga bisa digunakan untuk mengembangkan jenis aplikasi lain), dan lain sebagainya sesuai dengan kebutuhan pengembangan aplikasi anda.

Sunday, September 17, 2023

Is It Possible to Create a Complete Application Using Only Artificial Intelligence?

           
Artificial Intelligence (source: https://www.pexels.com/)


           In this article we will talk about Artificial Intelligence, according to the title above I will explains whether artificial intelligence can create a complete application? such as a full mobile or web application that has its own business model, without any further do I will explain it for you, here we go..

           Currently in 2023, artificial intelligence or we usually call it AI is not yet capable of creating complete applications without human assistance in the sense of being entirely autonomous and independent. Although AI has made significant advancements in software development, especially in code generation and automated testing, there are several limitations to consider:

  1. Limitations in Creativity and Concepts
    Artificial Intelligence has not reached a level where it can create creative concepts or entirely new ideas for applications. The design of application concepts and creative thinking remains a primary strength of humans.
  2. Limitations in Verification and Validation
    Testing and validating applications require a deep understanding of potential use cases, potential issues that may arise, and methods for comprehensive testing. While Artificial Intelligence can assist in automated testing, human understanding remains essential.
  3. Context and Business Issues
    Developing applications often involves an understanding of business problems, what is customer needs, and specific business environments. These aspects cannot be replaced by Artificial Intelligence without human assistance.
  4. Project Planning and Management
    Project management, resource planning, and communication with application development teams and stakeholders also require strong human interaction.
  5. Quality Control
    Although Artificial Intelligence can assist in automated testing, the final quality control and decisions regarding whether an application is ready for launch still rely on humans.

        Thus, Artificial Intelligence is currently more commonly used as a tool to assist human developers in various stages of the software development cycle, including automatic code generation, data analysis, testing, and maintenance. Developers still play a key role in designing, understanding requirements, and making critical decisions in application development.

      While Artificial Intelligence continues to evolve and bring new potential, the role of humans in application development remains crucial, particularly in terms of creative thinking, understanding business context, and making strategic decisions.

Sunday, August 6, 2023

Tips Yang Perlu Anda Siapkan Untuk Menjadi dan Melamar Ke Perusahaan Sebagai Seorang Programmer


Assalamu'alaikum Wr. Wb.
          Pada postingan kali ini saya ingin membagikan beberapa tips dan juga pengalaman tentang apa saja yang perlu anda siapkan jika anda ingin memulai karir sebagai seorang programmer. Programmer adalah salah satu profesi di industri IT yang bertugas untuk membuat dan atau mengembangkan software menggunakan bahasa pemrograman. Untuk anda yang ingin terjun ke bidang IT dan ingin memulai karir pasti butuh referensi atau pengetahuan tentang hal-hal apa saja yang perlu dipersiapkan untuk menjadi seorang programmer, karena beberapa orang yang ingin terjun ke dunia IT pernah mengalami rasa kurang percaya diri dan bingung tentang apa yang perlu anda persiapkan untuk memulai karir sebagai seorang programmer, saya sendiri sampai artikel ini ditulis sudah menjadi seorang programmer kurang lebih sudah tiga setengah tahun dan sudah cukup berpengalaman dalam membuat dan mengembangkan berbagai projek, langsung saja untuk hal-hal yang perlu anda persiapkan untuk menjadi dan melamar ke perusahaan sebagai seorang programmer adalah sebagai berikut:

Yang perlu anda persiapkan untuk menjadi seorang programmer

  1. Memiliki Laptop atau Komputer
               
    Hal pertama yang perlu anda persiapkan tentu saja adalah laptop atau komputer, untuk komputer sebagai seorang programmer pemula tidak harus menggunakan laptop atau komputer dengan spek tinggi, komputer dengan RAM 4 dan Prosesor Inter i5 saja sudah dapat membantu anda mengembangkan software, jika anda sudah memiliki laptop atau komputer maka akan mempermudah anda untuk mempelajari bahasa pemrograman dan teknologi lain yang dibutuhkan untuk membangun software, sebenarnya hal ini dianjurkan tapi bisa saja anda tidak perlu memiliki komputer atau laptop sendiri karena pernah ada programmer yang awalnya hanya menggunakan laptop milik orang lain untuk mempelajari bahasa pemrograman.
  2. Memiliki pengetahuan pemrograman dengan belajar
                 
    Ya, tentu saja anda perlu memiliki skill untuk masuk ke dunia IT, skill yang anda perlukan bisa anda sesuaikan dengan posisi apa yang ingin anda masuki di perusahaan nanti, misal anda ingin menjadi Front End Developer maka anda perlu mempelajari tentang teknologi seputar membangun tampilan sebuah aplikasi beserta consume API, atau jika anda ingin masuk ke perusahaan dengan posisi Back End Developer maka anda perlu mempelajari tentang cara membangun API dan pengetahuan tentang database, lebih baik mempelajari satu teknologi terlebih dahulu sampai lancar baru mempelajari teknologi lain misal mempelajari bahasa pemrograman PHP terlebih dahulu sampai sekiranya mahir baru lanjut ke bahasa teknologi lain misal Node JS.
  3. Mencari tahu tentang informasi teknologi terkini yang digunakan perusahaan IT
               
    Sebelum melamar ke perusahaan IT anda perlu mencari tahu terlebih dahulu tentang teknologi apa yang sekarang banyak digunakan di perusahaan IT, misal di tahun 2023 teknologi seperti Framework Laravel, MySql, Node JS, Golang, Vue JS, dsb. masih banyak digunakan di perusahaan IT sehingga anda perlu mempelajari salah satu atau dua terlabih dahulu untuk dipelajari agar nantinya dapat memenuhi harapan perusahaan tempat anda bekerja.
  4. Kuasai Softskill terutama kemampuan berbicara
                Soft skill cukup penting bagi seorang programmer, banyak sisi dari pekerjaan seorang programmer yang memerlukan softskill terutama kemampuan berbicara misal anda mengembangkan software secara tim maka anda perlu lancar dalam berkomunikasi dengan tim dan juga misal anda bekerja dengan berhadapan langsung dengan klien maka anda juga harus tahu dan lancar berkomunikasi serta menyampaikan informasi kepada klien agar proses pengembangan aplikasi berjalan lancar sampai selesai, biasanya untuk kemampuan berbicara berhubungan dengan rasa percaya diri maka anda perlu menghargai diri sendiri dan berfikir bahwa anda juga bisa sukses dan cerdas untuk kedepannya.
  5. Ikut pelatihan atau sertifikasi IT (Opsional
            Jika anda ingin menambah dan memperkuat skill anda dibidang pemrograman anda dapat mencoba mengikuti khursus dibidang IT untuk menambah dan memperkuapt skill pemrograman anda, sertifikat dan skill yang anda miliki dapat menjadi salah satu penunjang anda untuk masuk ke perusahaan IT, walau begitu skill anda akan tetap menjadi prioritas dan semisal anda tidak memiliki sertifikat tentang pengetahuan IT pun anda masih bisa berkesempatan masuk ke perusahaan sebagai programmer.   
  6. Kuliah di bidang IT
             
    Untuk tips yang terakhir ini opsional karena banyak sekali programmer yang bekerja di industri IT tanpa memiliki ijasah sarjana, tetapi semisal anda benar-benar berniat masuk ke dunia IT dan memiliki kemampuan untuk kuliah maka disarankan untuk kuliah di bidang IT karena kenyataannya lulusan sarjana memiliki pertimbangan yang lebih saat anda melamar ke perusahaan IT sebagai seorang programmer.
Tips melamar ke perusahaan IT sebagai seorang programmer
  1. Siapkan CV dan Portofilio yang menarik
               
    Saat rekruiter mencari seorang calon programmer maka hal yang akan dia lihat pertama kali adalah CV dan Portofolio, siapkan CV dan Portofolio dalam bentuk digital atau kertas, buat semenarik, sejelas, dan serapi mungkin agar dapat menarik rekruiter untuk mengajak anda ke proses rekrutmen, anda juga perlu memperbarui dan melengkapi profil LinkedIn anda sesuai dengan pengalaman dan skill anda.
  2. Sangat mungkin mendapatkan lowongan pekerjaan secara online
                 
    Di jaman sekarang sangat mungkin untuk mendapatkan lowongan pekerjaan sampai mengikuti proses rekrutmen secara online, anda dapat mencarinya di aplikasi LinkedIn, website JobStreet, atau platform lain yang menyediakan informasi tentang lowongan perusahaan IT,
  3. Berlatih bahasa pemrograman atau teknologi yang dibutuhkan perusahaan
               
    Semisal perusahaan yang ingin anda lamar membutuhkan programmer mobile maka anda perlu berlatih membangun aplikasi mobile agar semisal ada tes yang mengharuskan anda untuk memprogram aplikasi mobile anda tidak kesusahan dan dapat lolos tes dengan nilai yang bagus.
  4. Jangan takut atau tidak percaya diri karena requirement pada lowongan yang mengharapkan skill tinggi
                
    Ini salah satu dari pengalaman saya sendiri, saya dulu mempelajari bahasa pemrograman dari HTMP, CSS, JavaScript, PHP, dan MySQL tapi rasa percaya diri saya langsung turun drastis saat melihat requirement pada lowongan pekerjaan sebagai seorang programmer yang terbilang menuntut untuk skill dewa, sebenarnya saya hanya perlu menambah mempelajari tentang teknologi yang digunakan perusahaan IT saat ini seperti Laravel, Node JS, dsb. dan sudah bisa melamar ke perusahaan sebagai seorang programmer, intinya semisal skill anda tidak semuanya tertera pada requirement di lowongan pekerjaan, anda tidak perlu berkecil hati, anda bisa langsung melamar ke perushaan IT dan menjalani tes yang ada, selain itu semisal dalam lowongan programmer dituliskan bahwa anda perlu memiliki ijazah sarjana dan anda hanya lulusan SMK sederajat maka hal tersebut juga jangan terlalu dipikirkan, langsung saja anda lamar ke perusahaan IT yang anda mau karena hal utama yang sangat dibutuhkan oleh perusahaan IT adalah skill anda.
  5. Berlatih interview 
               
    Sering kali seorang calon programmer mengalami kegagalan untuk masuk ke perusahaan IT karena gagal di proses interview, anda akan ditanya tentang pengalaman anda beserta teknologi apa saja yang sudah anda kuasai, anda dapat belajar melakukan interview dengan teman atau orang yang sekiranya dapat membantu anda untuk berlatih interview, berusahalah untuk percaya diri dan sopan saat melakukan proses interview, jangan suka memotong pembicaraan interviewer dan ucapkan apa yang anda ingin ucapkan secara jelas jangan sampai anda gugup dan kata-kata yang anda ucapkan berantakan.
  6. Bilang saja "saya akan belajar" ke interviewer jika anda belum memiliki salah satu atau beberapa skill yang dibutuhkan perusahaan
                 Ini adalah salah satu tehnik jika anda kebetulan ditanyai oleh interviewer saat menjalani tes masuk ke perusahaan IT, semisal anda belum menguasai Laravel tapi anda sudah bisa Node JS atau PHP dan interviewer anda menanyakan "pengalaman apa yang anda miliki dengan framework Laravel?" maka anda dapat menjawabnya dengan "Saya belum memiliki cukup skill di Framework Laravel saat ini tetapi saya akan belajar", dengan mengatakan hal tersebut maka anda memberikan harapan dan keyakinan ke perusahaan anda nanti jika anda mau untuk mempelajari teknologi yang perusahaan anda butuhkan.
  7. Jangan terlalu berharap dan tetap semangat
                 
    Semisal anda gagal dalam proses rekrutmen ke perusahaan IT favorit anda maka anda tidak perlu berkecil hati, anda harus berfikir bahwa ada dua kemungkinan saat anda melamar ke perusahaan IT yaitu berhasil dan gagal, semisal gagal anda hanya perlu melamar ke perusahaan lain sampai anda bisa lolos masuk ke perusahaan sebagai seorang programmer.

Saturday, July 29, 2023

Kelebihan Dan Kekurangan Menggunakan MacBook Untuk Seorang Programmer


Assalamu'alaikum Wr. Wb.
           Apakah anda seorang programmer atau ingin mencoba dunia programming dan tertarik untuk menggunakan laptop MacBook untuk ngoding? sebelum anda membeli laptop MacBook sebagai perangkat. yang ingin anda gunakan untuk ngoding, anda perlu mengetahui terlebih dahulu kelebihan dan kekurangan laptop MacBook jika anda ingin menggunakan laptop MacBook untuk melakukan programming, langsung saja untuk kelebihan dan kekurannya adalah sebagai berikut:

Kelebihan

  1. Performa bagus
             Ya, salah satu keunggulan laptop MacBook dibanding laptop lainnya adalah performanya yang cukup bagus dan kencang, anda akan jarang sekali menemukan laptop MacBook anda ngelag jika anda ngoding atau bekerja menggunakan laptop MacBook, dengan catatan anda menggunakan laptop MacBook anda secara wajar karena hal tersebut juga tergantung dari spesifikasi dan seberapa banyak aplikasi yang sedang anda buka di laptop MacBook anda menghabiskan RAM, misalkan jika RAM anda 8 dan anda menjalankan terlalu banyak aplikasi sehingga hampir atau bahkan menghabiskan RAM  laptop anda maka anda dapat mengalami lag dari laptop MacBook anda, tapi bedanya biasanya lag hanya terjadi pada aplikasi berat yang sedang anda jalankan dan tidak mempengaruhi aplikasi lain, perbedaan signifikan jika anda pernah menggunakan laptop Windows dan mengalami lag karena menghabiskan RAM, maka biasanya akan mempengaruhi aplikasi lain yang sedang berjalan.
  2. Performa dan kualitas touchpad yang bagus
            touchpad yang smooth dan fungsional dapat menggantikan mouse bahkan bagi anda yang terbiasa nyaman menggunakan mouse, misal anda sedang melakukan designing anda dapat melakukan zoom in dan zoom out dengan smooth dengan hanya menggunakan touchpad pada laptop MacBook.
  3. Praktis untuk dibawa bekerja di mana saja dan kapan saja
           
    Hal tersebut karena anda hanya perlu membawa laptop MacBook anda beserta charger saja untuk melakukan pekerjaan anda dimana saja dan kapan saja, anda tidak perlu membawa kipas pendingin dan mouse jika anda mau, untuk perangkat lain sebenarnya tergantung kebutuhan anda, misal anda adalah pengembang aplikasi android dan anda memerlukan smarphone dan USB untuk mendebug aplikasi android anda maka anda memerlukan USB dan perangkat android tetapi hal tersebut sebenarnya bisa menggunakan emulator yang disediakan oleh aplikasi di laptop MacBook. Dengan MacBook anda tidak perlu mematikan laptop MacBook anda jika sudah selesai bekerja, cukup menutupnya saja dan anda laptop anda akan dalam mode sleep dan siap untuk digunakan untuk melakukan pekerjaan kapan saja dan dimana saja.
  4. Baterai yang tahan lama
           
    Laptop MacBook terkenal dengan baterainya yang awet sehingga dan tahan lama saat digunakan, anda tidak perlu bolak-balik mencolokkan charger ke laptop MacBook anda jika sedang bekerja di tempat yang jauh dengan stop kontak, tapi hal tersebut tergantung dengan kondisi baterai anda, seperti MacBook Pro 2015 milik saya sebenarnya dapat bertahan untuk melakukan pekerjaan sampai 6 jam tapi karena kondisinya sudah agak rusak jadi hanya dapat bertahan kurang lebih 2 sampai 3 jam setelah dilakukan pengecasan penuh walau begitu masih bisa dibilah awet jika dibandingkan laptop lain.
  5. Tampilan layar monitor yang jernih
             
    Kelebihan selanjutnya dari laptop MacBook adalah tampilannya yang jernih, anda akan mengalami pengalaman yang berbeda saat menggunakan laptop MacBook untuk melakukan pekerjaan, tampilan di layar monitor terlihat sangat jernih, selain itu anda. juga dapat mengatur intensitas cahaya layar monitor anda untuk anda sesuaikan sesuai kenyamanan anda sesuai kondisi cahaya lokasi tempat anda bekerja, tapi hal tersebut juga tergantung dari kondisi layar monitor anda, jika layar monitor anda sudah rusak atau terlalu banyak kotoran yang menempel maka hal tersebut akan mempengaruhi tampilan layar monitor laptop MacBook anda.

Kekurangan

  1. Harganya biasanya mahal
               
    Karena banyak keunggulan yang diberikan dari laptop MacBook maka laptop MacBook biasanya memiliki harga yang bisa dibilang mahal, untuk laptop MacBook Pro 2015 saya sendiri yang saya beli dalam kondisi second atau setengah pakai harganya sekitar 8,5 juta, walaupun harganya biasanya mahal tapi untuk masalah kualitas dan performa tidak mengecewakan.
  2. Aplikasinya masih banyak yang berbayar dan susah di crack
               
    Jika anda dapat dengan mudah mencari aplikasi gratisan dengan menggunakan laptop Windows maka berbeda dengan laptop MacBook yang kebanyakan aplikasi yang ditujukan untuk MacBook masih banyak yang berbayar, tidak semuanya memang tapi untuk beberapa aplikasi yang digunakan untuk melakukan pekerjaan sebagai seorang programmer misal Navicate dan Php Storm anda akan susah bahkan tidak mungkin untuk mengecrack nya agar gratis berbeda dengan aplikasi Windows yang banyak sekali yang dapat di crack agar dapat digunakan secara gratis.
  3. Biaya perbaikan dan harga komponen mahal
               
    Misal jika anda tidak sengaja menumpahkan kopi di laptop MacBook anda sampai menimbulkan kerusakan maka harga perbaikannya cukup mahal, karena harganya sendiri mahal maka untuk komponen-komponen beserta biasa servis nya pun begitu, tapi dengan harga komponen-komponen yang mahal tersebut sesuai dengan kualitas dan peforma komponen yang diberikan kepada laptop MacBook, tapi hal tersebut tergantung juga apakah komponen yang dipasang ke laptop anda masih bagus dan atau original atau tidak.
  4. Environment tertutup
               
    Berbeda dengan laptop linuk dan windows yang dapat dengan mudah dimodifikasi sesuai kebutuhan, laptop MacBook lebih terbatas dalam memodifikasinya sesuai dengan kebutuhan pengguna, sebagai pengguna laptop MacBook anda dituntut untuk ketergantungan dalam ekosistem Apple, seingga anda akan kesulitan dan perlu mencari alternatif lain agar dapat berinteraksi dengan aplikasi atau sistem operasi pihak ketiga, selain itu laptop MacBook juga terbatas di pilihan karena layanan dan produk Apple atau mitra resmi dari Apple, jika produk atau layanan tidak tersedia di laptop MacBook maka kita perlu mencari alternatif lain yang kompatibel.

Tuesday, April 25, 2023

Bekerja Remote, Enak Atau Tidak? (Sebagai Programmer)


Assalamu'alaikum Wr. Wb
        Pada artikel saya kali ini saya ingin membagikan salah satu pengalaman saya dalam bekerja yaitu pengalaman saya bekerja secara remote sebagai pengembang aplikasi atau programmer. Bekerja remote adalah bekerja secara jarak jauh atau tidak bekerja di kantor perusahaan tempat bekerja bisa dari rumah, cafe, atau mana saja, bekerja secara remote biasa disebut dengan WFH (Work From Home) atau WFA(Work From Anywhere). Bekerja seara remote oleh beberapa orang sering dianggap lebih enak dibandingkan kerja WFO (Work From Office) di kantor, tetapi kenyatanyaannya bekerja secara remote juga memiliki kekurangannya sendiri, berikut kelebihan dan kekurangan bekerja secara remote menurut pengalaman pribadi.

Merasa kesepian (tidak semua orang)
     
Merasa kesepian saat bekerja secara remote sering dialami oleh orang extrovert karena tidak ada orang yang dapat diajak bicara atau ngobrol saat bekerja sendiri kecuali jika kita bekerja bersama di cafe misalnya atau mengobrol dengan anggota keluarga di rumah, tetapi hal tersebut tidak bisa dipastikan setiap hari akan ditemani oleh orang lain saat bekerja, sehingga beberapa orang sering mengeluh karena merasa bosan atau kesepian, tetapi untuk anda yang introvert bekerja secara remote mungkin cocok bagi anda karena anda yang introvert pada dasarnya lebih suka menyendiri termasuk dalam pekerjaan.

       Untuk saya sendiri tidak menganggap diri saya introvert atau extrovert, soal keinginan bekerja remote atau WFO kembali ke mood saya, jika mood sedang ingin bekerja sendiri maka saya enjoy saja bekerja WFA tapi kalau mood sedang menginginkan teman ngobrol maka saya lebih suka bekerja di kantor.

Mebutuhkan koneksi internet pribadi
       Dengan bekerja seara remote kita tentu membutuhkan internet untuk melakukan pekerjaan khususnya saya sebagai programmer yang sangat membutuhkan internet untuk bekerja, karena hal tersebut kita pelu menyiapkan uang untuk kebutuhan internet di rumah dengan menggunakan paket data pada ponset (tethering) atau dengan memasang internet rumah, tapi bagi anda yang malas mengeluarkan uang, anda bisa menggunakan internet gratisan misal di balai desa atau cafe, hanya saja kalau kita menginginkan internet di cafe untuk etikanya kita juga harus membeli setidaknya salah satu makanan/minuman yang dijual oleh cafe tempat kita bekerja.

Terkadang susah dalam komunikasi
       
Dengan bekerja seara remote, kendala yang sering muncul adalah kesulitan dalam komunikasi karena tidak semua rekan kerja dapat dihubungi saat itu juga atau biasanya terjadi slow response, agar lebih leluasa dalam berdiskusi atau berkomunikasi pun kita perlu menjadwalkan atau menyiapkan ruang meet online.

Mengerjakan pekerjaan diluar jam kerja (tidak semua perusahaan)
         
Dengan bekerja secara online maka atasan kita tidak bisa leluasa dalam mengawasi pekerjaan kita, sehingga jika pekerjaan kita kurang dalam waktu yang diberikan atau tidak sesuai target maka kita perlu menyelesaikan atau mengerjakan pekerjaan kita di luar jam kerja, tetapi hal tersebut kembali lagi dari budaya dan sistem kerja dari perusahaan tempat kita bekerja.

Menghindari stress karena bermasalah dengan rekan kerja
         
Jika anda memiliki masalah dengan rekan kerja yang dapat mengganggu performa kerja anda, maka bekerja secara remote dapat menjadi solusi agar anda tidak merassa tertekan atau stress dalam bekerja dan anda dapat mengerjakan pekerjaan anda dengan tenang tanpa ada gangguan dari rekan kerja yang bermasalah dengan anda sehingga tidak mengganggu pekerjaan dan karir anda.

Memangkas waktu pulang, pergi, dan persiapan untuk bekerja
           
Jika anda bekerja secara remote, atasan dan rekan kerja anda tidak akan mempermasalahkan anda sudah mandi atau belum dan sudah rapi atau belum kecuali jika anda perlu melakukan meeting yang mengharuskan anda untuk rapi dan anda juga tidak perlu melakukan pulang pergi ke tempat kerja seperti pekerja WFO sehingga lebih menghemat waktu anda terutama jika tempat anda bekerja sangat jauh dari rumah tempat tinggal anda.

         Untuk enak atau tidaknya tergantung kita dan perusahaan tempat kita bekerja, setiap orang berbeda-beda, ada yang menganggap bekerja remote lebih nyaman, tapi ada juga yang menganggap bekerja remote lebih menyusahkan, untuk bekerja secara WFO sebenarnya juga memiliki enak dan tidak enaknya sendiri misal komunikasi lebih lancar dan koneksi internet sudah disediakan oleh perusahaan tetapi disamping itu jika rumah anda jauh dari lokasi tempat anda bekerja, anda akan merasa kelelahan karena perjalanan pulang/pergi dan jika anda memiliki masalah dengan rekan kerja, anda mau tidak mau harus bertemu dengan rekan anda bekerja di tempat kerja anda, jadi menurut anda bagaimana, enak kerja remote atau kerja WFO?

Saturday, March 18, 2023

Pengalaman Menjadi Seorang Programmer

 
Assalamu'alaikum Wr. Wb.
            Pada postingan saya kali ini saya ingin berbagi pengalaman saya beserta susah senangnya menjadi seorang programmer. Programmer adalah salah satu profesi yang saat ini banyak dibutuhkan oleh perusahaan yang menggunakan teknologi informasi dalam menjalankan bisnis, tugas programmer pada umumnya membangun atau mengembangkan perangkat lunak milik perusahaan atau client yang menggunakan jasa suatu perusaan untuk membuat atau mengembangan software milik client tersebut.

 Pengalaman di perusahaan pertama

            Di perusahaan pertama tempat saya bekerja saya bekerja sebagai mobile developer, di sana saya mengembangkan aplikasi mobile milik perusahaan, sebagai pegawai baru hal yang lumrah jika belum bisa bekerja sesuai harapan perusahaan karena masih perlu menyesuaikan diri dan beradaptasi dengan lingkungan dan budaya kerja pada tempat kerja baru, tetapi sebagai pekerja kita dituntut untuk beradaptasi secepat mungkin dengan lingkungan dan budaya kerja yang ada agar dapat memenuhi harapan perusahaan, sesekali melakukan kesalahan adalah hal yang lumrah tetapi bukan berarti baik untuk dilakukan, apalagi sampai merugikan perusahaan tempat kita bekerja, sehingga sebisa mungkin kita berusaha untuk tidak melakukan kesalahan dan berusaha memenuhi harapan perusahaan, saya sendiri pernah melakukan beberapa kesalahan di perusahaan pertama, tetapi dengan kesalahan yang pernah saya lakukan, saya dapat belajar dan berusaha untuk tidak melakukan kesalahan yang sama di masa mendatang, hal paling mengesalkan saat menjadi programmer adalah stuck saat mengerjakan aplikasi milik perusahaan, apakah pusing? ya jelas wkwk, tetapi jika kita berhasil menangani masalah yang sebelumnya sulit untuk dipecahkan, di masa mendatang kita akan lebih mudah untuk menanganinya karena sudah pernah mengalaminya sebelumnya, hal selanjutnya yang membuat saya tegang adalah saat aplikasi sudah dalam tahap production atau sudah di publish, karena akan merugikan perusahaan jika bug yang ditemukan ternyata cukup serius sehingga kita sebagai pengembang perangkat lunak harus bertanggung jawab dengan memperbaiki bug tersebut agar tidak menimbulkan kerusakan atau kerugian lebih lanjut, maka kita perlu lebih teliti dalam mengembangkan software.

Pengalaman di perusahaan ke dua

              Pengalaman saya di perusahaan kedua tempat saya bekerja saya mendapatkan banyak pengetahuan dan pelajaran berharga, seperti di perusahaan tempat saya bekerja sebelumnya, di sini saya juga mengembangkan aplikasi milik perusahaan, tetapi berbeda dengan perusahaan sebelumnya, di sini saya berperan sebagai fullstack developer dimana selain mengembangkan aplikasi mobile, saya juga ikut serta mengembangkan aplikasi web dan back end, tahun pertama bekerja saya lebih berfokus untuk mengembangkan aplikasi mobile android dan juga web menggunakan socket.io dan di tahun ke dua saya mulai mencoba mengembangkan aplikasi mobile ios menggunakan framework React Native, dan juga  mengembangkan aplikasi Back End menggunakan Laravel dan Golang, untuk pelajaran yang saya dapatkan di perusahaan kedua tempat saya bekerja ini saya mendapatkan pelajaran bahwa kita perlu membedakan teman kerja dan teman biasa, teman kerja hanya sebatas apa perlunya saja saat bekerja, jangan membawa masalah pribadi di pekerjaan dan tetap menjaga hubungan baik antar pekerja agar tetap dapat bekerja dengan nyaman.

Pengalaman di perusahaan ketiga 

               
Selanjutnya pengalaman bekerja saya sebagai programmer di perusahaan ketiga, berbeda dengan kedua tempat kerja saya sebelumnya, pada perusahaan ketiga tempat saya bekerja saya bekerja pada perusahaan software house atau perusahaan yang bergerak dibidang pembuatan perangkat lunak atau Software, kebanyakan software house berdeda dengan kebanyakan perusahaan layanan, pada perusahaan software house kita dituntut untuk bekerja sesuai target yang telah ditentukan oleh perusahaan dan client yang menggunakan jasa software house tersebut, saya dan teman-teman saya dituntut untuk mengembangkan perangkat lunak dengan cepat dan teliti agar hasil aplikasi yang dipesan oleh client berkualitas bagus dan selesai tepat pada waktunya, memang akan terasa lebih tertekan jika dibanding kita bekerja di perusahaan layanan, tetapi ilmu dan skill kita benar-benar di upgrade jika kita bekerja di perusahaan software house.

Saturday, August 21, 2021

Pengalaman Pertama Kali Menjadi Seorang Programmer Android

Assalamu'alaikum Wr. Wb.

        Pada artikel saya kali ini saya ingin membagikan sebuah pengalaman pertama kali saya menjadi seorang Programmer khususnya Programmer yang mengembangkan aplikasi android. Seperti namanya, pekerjaan seorang programmer adalah mengembangkan program atau aplikasi entah itu milik sendiri, milik customer, atau milik perusahaan, secara pribadi saya mulai tertarik mempelajari dunia komputer khususnya tentang membuat sebuah program atau aplikasi adalah dari pertengahan tahun 2018, sebenarnya saya belum terlalu tertarik untuk menjadi programmer melainkan saya pertama kali tertarik dengan programming karena tertarik dengan dunia hacking yang keren seperti film-film hacker yang terkenal seperti Mr.Robot, Who Am I, dsb.

         Setelah lulus dari BootCamp Programming yang saya jalani selama kurang lebih satu setengah bulan, saya mulai mencari lowongan sebagai pengembang aplikasi hingga akhirnya saya mendapatkan pekerjaan pertama saya sebagai pengembang aplikasi di salah satu perusahaan di Jakarta, tetapi karena saya mengalami kendala yaitu kemampuan saya dibidang programming aplikasi android menggunakan React Native yang masih cetek karena di BootCamp materi yang banyak saya pelajari dan saya latih adalah programming aplikasi web maka membuat pekerjaan saya keteteran dan mengalami banyak kesulitan sehingga saya terpaksa menyerah dan mengundurkan diri dari pekerjaan saya sebagai pengembang aplikasi android yang baru berjalan satu minggu:-(.

         Setelah gagal di perusahaan pertama, saya tidak menyerah untuk mencari lowongan pekerjaan baru sebagai seorang programmer, setelah menjalani beberapa tes dari beberapa perusahaan yang saya apply akhirnya saya berhasi diterima di perusahaan kedua sebagai seorang pengembang aplikasi android, karena di perusahaan kedua ini bos saya memaklumi kemampuan saya yang masih sangat cetek, maka saya diperbolehkan bekerja sambil belajar dan di perusahaan kedua ini saya juga lebih dienakkan karena saya diterima bertiga bersama dua teman saya dari BootCamp, menariknya di perusahaan kedua tempat saya bekerja ini teman-teman saya satu kantor yang sudah mulai bekerja sebelumnya rata-rata usianya seumuran dengan saya yang bahkan bosnya usinya lebih muda dari saya.

          Banyak yang beranggapan bahwa bekerja sebagai seorang pengembang aplikasi android sangatlah enak karena pekerjaanya bisa dikerjakan dengan duduk dan minum kopi serta jam kerjanya yang fleksible, mungkin memang benar seperti itu, tetapi di tempat kerja kita dituntut tanggung jawab atas pekerjaan yang bos kita berikan kepada kita yang mana jika kita melakukan kesalahan sampai terjadi bug pada aplikasi production maka kita harus bersiap-siap kena marah oleh atasan dan kita harus segera memperbaiki bug yang ada yang mana jika kita melakukan kesalahan yang fatal kita juga harus bersiap-siap mendapatkan hukuman dari potong gaji bahkan dipecat, lucunya kesalahan pertama saya di perusahaan kedua saya adalah membuat sebagian server atau aplikasi Back-End tidak dapat digunakan karena kurangnya pengetahuan saya tentang PHP server saat berusaha membuat API di aplikasi.

           Sama seperti di perusahaan lainya, selama saya bekerja di perusahaan kedua saya sebagai pengembang aplikasi android, saya dan teman-teman saya dituntut untuk bekerja dibawah tekanan alias bekerja dengan deadline, deadline yang diberikan beragam sesuai dengan tingkat kesulitan fitur yang kita buat pada aplikasi, untungnya kita tidak terlalu dipaksakan untuk mengerjakan sesuai deadline pekerjaan yang terlalu susah untuk kita kerjakan misal saat kita mengalami stuck  saat mengembangkan suatu fitur, biasanya kita akan dibantu oleh programmer lain jika kita mengalami kesulitan dan diberi waktu tambahan untuk mengerjakan pekerjaan yang menurut kita cukup sulit untuk dikerjakan.

           Banyak sekali suka duka saat bekerja menjadi Programmer disebuah perusahaan salah satunya saat kita merasa kurang nyaman dengan salah satu teman kerja kita, maka mau tidak mau kita harus berusaha berdamai dengan teman-teman di tempat kerja karena disini kita dituntut untuk bekerja sama, termasuk dengan teman kerja kita yang menurut kita kurang srek dengan kita, kita juga tidak boleh asal keluar atau resign dari perusahaan kita jika kita menemui masalah dengan teman kerja atau bos kita karena ada konsekwensi yang harus kita lakukan yang salah satu contohnya adalah membayar denda berupa uang ganti rugi kepada perusahaan tempat kita bekerja.

Friday, February 5, 2021

Flutter VS React Native, Manakah yang Unggul

Assalamu'alaikum Wr. Wb. 
       Pada postingan saya kali ini saya ingin sekali membahas tentang beberapa perbedaan antara framework Flutter dan React Native beserta kekurangan dan kelebihannya. Langsung saja berikut perbedaan beserta kekurangan dan kelebihan antara Flutter dan React Native. 





Kelebian Flutter dibanding React Native:
  1. Tidak perlu rendering lama saat ingin debuging.
              Ketika kita menggunakan React Native saat membagun aplikasi, maka kita harus menjalankan "adb devices" untuk mengecek koneksi emulator android dengan komputer kita lalu "npm start","yarn start" atau "npx react-native start" untuk memulai melakukan debugging itupun jika emulator yang kita gunakan langsung terdeteksi oleh komputer kita, jika tidak maka kita harus menulis perintah "adb reverse tcp:8081 tcp:8081" di CMD atau terminal. Berbeda jika kita menggunakan Flutter, karena kita tidak perlu melakukan itu dan cukup menyambungkan emulator kita ke komputer kita maka akan langsung terdeteksi oleh komputer dan kita bisa langsung melakukan debugging.
  2. Banyak widget siap pakai yang telah disediakan.
             
    Jika kita menggunakan React Native, maka tidak semua component siap pakai disediakan untuk pengembang oleh React Native, misalnya jika kita ingin membuat button mengambang di pojok kanan bawah seperti pada aplikasi chating maka kita harus membuatnya dengan komponen yang dibungkus menggunakan salah satu component untuk membuat button misalnya "<TouchableOpacity></TouchableOpacity>" dan kita styling sendiri menggunakan "position: 'absolute'" sedemikian rupa hingga ssesuai dengan keinginan kita berada mengambang di pojok kanan bawah. Berbeda dengan Flutter, kita hanya perlu menambahkan widget siap pakai "floatingActionButton: " dan ditambahkan "onPress: " untuk membuat sebuah button mengambang.
  3. Codingan lebih bersih.  
               
    Seperti yang telah saya singgung di atas, Flutter telah menyediakan widget widget praktis untuk membuat program, selain itu pada terminal akan diberi tahu jika ada package yang tidak digunakan dan bila codingan kita terjadi error, jadi kita bisa menghapusnya sehingga membuat codingan yang kita bangun lebih bersih, tetapi kita masih bisa menggunakan comment untuk menandai codingan kita. 
  4. Tidak bingung codingan saat sudah membangun codingan yang banyak dan rumit
               
    Saat kita menggunakan React Native dan telah membangun component yang dibungkus dengan tag "<View></View>" yang sangat banyak misalnya, biasanya kita akan bingung tag penutup yang telah kita coding sebelumnya milik tag pembuka yang mana, berbeda dengan Flutter yang kita telah diberi tahu di akhir kurung widget, widget tersebut namanya apa sehingga kita tidak kebingungan saat menghadapi kodingan yang banyak.
  5. Error hanya terjadi di halaman yang terjadi error dan dijelaskan apa errornya
                Pada saat kita ngoding menggunakan react native dan kita menemukan error pada program yang kita buat beserta penjelasan error full satu halaman, maka kita akan diperlihatkan layar penuh berwarna merah bahkan pada beberapa kasus mengalami force close tanpa penjelasan error, sehingga mempersulit kita dalam mengembangkan aplikasi. Berbeda dengan flutter, saat kita menemukan error maka hanya akan menunjukkan error di halaman dan bagian yang terjadi error saja, itupun sudah disertai dengan penjelasan error yang mudah dipahami, selain itu jika kita menggunakan VS Code kita akan disediakan terminal untuk memberitahu semua masalah pada kode program Flutter kita.
       Sebenarmya setiap framework yang dibuat oleh para pengembang pasti mengalami perkembangan dan di release dengan versi yang berbeda. Pada versi terbaru, framework-framework tersebut telah mengalami perbaikan bug dan penambahan fitur yang mana akan membuat Flutter dan React Native akan terus bersaing untuk menjadi framework aplikasi mobile lintas platform yang terbaik. React Native juga memiliki beberapa kelebihan dibanding Flutter diantaranya:

Kelebihan React Native dibanding Flutter:

  1. Menggunakan Bahasa Pemrograman JavaScript yang sudah banyak dikenal
               Kelebihan React Native dibanding flutter adalah React Native menggunakan JavaScript yang sudah lebih dulu terkenal dibanding Dart, JavaScript juga mudah untuk dipelajari dengan bahasa yang sangat mudah dimengerti oleh manusia, meskipun begitu sekarang sudah mulai banyak tutorial-tutorial untuk mempelajari bahasa pemrograman Dart untuk Flutter, dan mungkin akan lebih banyak lagi yang akan mahir dalam menggunakan Dart.
  2. Dokumentasi lengkap dan dukungan yang lebih banyak
                 
    React Native sudah memiliki Dokumentasi yang lengkap dan dukungan yang sangat banyak, jika anda menemui error pada program anda, maka akan banyak developer yang telah membagikan bagaimana cara mengatasinya, hal ini karena React Native terlahir lebih awal jika dibanding Flutter, tetapi lambat laun pasti akan lebih banyak lagi dukungan untuk Flutter beserta problem solving nya di internet.