Bagaimana Pengkodean Biner Bekerja?

Bagaimana Pengkodean Biner Bekerja? – Ini adalah fakta populer bahwa komputer hanya bekerja di Binary. Memang benar bahwa komputer hanya memahami dan bekerja dengan kode biner yang merupakan urutan samar dari 1 dan 0. Anda dapat mengatakan bahwa semua teknologi yang Anda lihat di sekitar didasarkan pada landasan 0 dan 1. Di abad 21, ada inovasi teknologi luar biasa yang membuat hidup kita lebih mudah dan juga menyenangkan. Namun, tulang punggung dari semua teknologi luar biasa ini adalah kode biner.

binaryjs

Bagaimana Pengkodean Biner Bekerja?

binaryjs – Sebagai pengguna komputer atau teknologi yang sadar, Anda harus memahami kode biner. Jika Anda seorang pengembang komputer, Anda diharapkan bekerja dengan bahasa pemrograman yang mudah digunakan untuk memberikan instruksi kepada komputer yang tidak mengharapkan Anda menggunakan kode biner. Bahkan jika kemungkinan Anda menulis program komputer dalam kode biner lebih kecil, lebih baik memiliki pengetahuan holistik tentang komputer.

Kode biner adalah konsep paling mendasar dari pemrograman dan Ilmu Komputer. Saya menulis blog ini dan Anda dapat membaca semuanya karena kode biner memungkinkan. Kode biner membuat setiap komputer yang Anda gunakan berfungsi, sebagaimana adanya. Pada dasarnya, kode biner memungkinkan komunikasi dengan komputer dan memberi mereka instruksi yang diperlukan. Jika Anda seorang pengembang, Anda mungkin akan menggunakan satu atau bahasa pemrograman lain untuk menulis kode untuk membuat aplikasi. Ini adalah bahasa tingkat tinggi dan jauh dari kode biner dalam hal implementasi dan sintaksnya tetapi saat kompilasi, bahasa ini diterjemahkan ke dalam kode biner. Komputer dapat menafsirkannya dan menjalankan program Anda hanya karena diubah dalam kode biner.

Jadi, angka 1 dan 0 menentukan bagaimana komputer mengeksekusi dan menghasilkan output untuk penggunanya. Memahami dasar-dasar pengkodean biner, cara kerjanya dan implementasinya menarik dan menarik dan juga sangat berguna. Namun, mempelajari kode biner dapat menjadi abstrak dan sulit untuk dipahami dan oleh karena itu, di blog hari ini, kami akan menjelaskan bagaimana angka 1 dan 0 ini membuat dunia kita dipenuhi dengan teknologi yang sederhana, mudah diakses, namun menakjubkan. Mari kita mulai dengan pengkodean biner!

Pengkodean Biner

Untuk memahami ekosistem kompleks tentang bagaimana pengkodean biner membuat komputer bekerja, pertama-tama kita harus memahami apa itu pengkodean biner. Anda dapat menganggap biner sebagai seperangkat instruksi yang memberi tahu komputer apakah itu harus menyala, yaitu ‘1’ atau mati yaitu ‘0’. Hidup dan mati ini atau ‘0’ atau ‘1’ dapat dipahami secara komprehensif jika kita jelas tentang apa yang dilakukan komputer.

Baca Juga : Dasar Pemrograman C++ Dan Konsep Belajar C++

Pada dasarnya, komputer mengambil input dari penggunanya, menyimpan dan memproses informasi yang diterima dan menyediakan berbagai jenis output yang diinginkan. Sekarang pertanyaannya adalah bagaimana kode biner ini membantu dalam kerja komputer ini? Jawabannya adalah bahwa angka 1 dan 0 membantu komputer menyimpan dan memproses data. Angka 1 dan 0 ini mewakili angka, huruf, simbol lain dan pada dasarnya merupakan unit data terkecil yang dipahami komputer. Di komputer modern, semuanya bekerja sesuai dengan bahasa mesin yang sangat mendasar dan belum sempurna ini, yaitu, 1 dan 0 yang mewakili dua status: ON atau OFF.

Bagian dalam komputer adalah sekumpulan sirkuit dan kabel listrik yang membawa semua informasi di dalam komputer dan membawanya ke tempat yang tepat. Data di sana disimpan atau diproses. Bit adalah unit informasi dasar dan paling dasar di komputer yang mewakili baik “hidup” atau “mati”. Setiap jumlah data yang ingin kita simpan dalam bentuk digital dapat disimpan dengan bantuan ‘0’ atau ‘1’. Komputer menggunakan metode dan teknologi modern lainnya untuk menyimpan data akhir-akhir ini. Kode biner hanya terdiri dari 1 dan 0 tetapi masih dapat mewakili program komputer yang paling kompleks saat ini.

Angka 0 dan 1 mewakili nilai numerik bersama dengan tipe data lainnya. Angka-angka mulai dari 0 hingga 9 membentuk sistem angka desimal dan kombinasi apa pun dari 10 digit ini dapat digunakan untuk mewakili nilai angka. Dalam sistem komputasi, setiap digit dalam sistem desimal, mulai dari sisi kanan, mewakili 1, 10, 100, dan seterusnya.

Misalnya, pada angka “123”, 3 mewakili angka 1, 2 mewakili angka 10, dan 1 mewakili angka 100. Pangkat 10 digunakan untuk membedakan antara “tingkat” angka dalam sistem desimal. 1 mewakili 10 0 , 10 mewakili 10 1 , 100 mewakili 10 2 Pola di sini adalah bahwa kekuatan 10 hanya meningkat seiring dengan bertambahnya angka.

Bekerja dari Kode Biner

Sekarang setelah kita memahami nuansa dasar pengkodean biner, mari kita pahami bagaimana tepatnya kode biner bekerja. Di segmen ini, kita akan membahas bagaimana 0 dan 1 membuat teknologi yang paling kompleks bekerja. Kita perlu memiliki satu bit data untuk menyimpan ‘0’ atau ‘1’.

Dalam sistem biner, kita menggunakan pangkat 2 untuk mewakili angka yang dimulai dari ruas kanan. Misalnya, angka pertama adalah 2 0 , jadi ini adalah angka 1, angka kedua adalah 2 1 , yang merupakan angka 2, angka ketiga adalah 2 2 dan seterusnya. Dalam sistem biner, masing-masing digit ini memberi tahu kita apakah digit itu “aktif” atau “mati”. “1” menunjukkan bahwa nilai digit tersebut termasuk dalam nilai numerik dan “0” berarti sebaliknya.

Misalnya, jika kita ingin merepresentasikan sebuah angka, katakanlah 216, dalam biner, deret biner yang akan kita dapatkan adalah 11011000. Anda dapat dengan jelas melihat bahwa lebih banyak digit diperlukan daripada yang kita lakukan dengan sistem desimal, untuk mewakili angka yang sama. Mungkin ada lebih dari satu cara menghitung ekuivalen biner dari angka desimal. Di blog ini, kita melihat salah satu cara untuk merepresentasikan angka dalam biner.

Kami mengambil contoh 216 dan mencoba merepresentasikannya dalam biner. Langkah pertama dan terpenting dalam menghitung ekuivalen biner dari bilangan apa pun adalah menyiapkan tabel pangkat dua. Sekarang, cari nilai terbesar dalam tabel itu yang lebih kecil dari nilai bilangan yang diberikan, dalam hal ini adalah 216. Nilai terbesar yang kurang dari 216 adalah 128. 128 adalah dua pangkat 7 dan karenanya kita membutuhkan 8 digit biner (dari 2 0 hingga 2 7 ) untuk menyimpannya. Sekarang, karena 128 adalah bagian dari perhitungan kita, kita perlu menunjukkan dan menempatkan “1” di tempat 128. Langkah selanjutnya adalah mengurangi 216 (angka) dari 128. Hasil pengurangan menjadi 88. Kita harus mengulangi langkah pertama lagi dan menemukan nilai terbesar yang lebih kecil dari pengurangan yaitu, 88.

Nilai yang diinginkan adalah 64-an , jadi kami menempatkan “1” di 26 . Saya harap Anda mengerti cara kerjanya. Kita harus terus mengulangi langkah-langkah ini untuk mengetahui digit biner mana yang mendapat nilai, itu harus “1” atau “0”. Untuk menemukan kode biner lengkap untuk 216, kita kembali mengurangi 88 dari 64 dan mendapatkan jawabannya sebagai 24. Oleh karena itu, kita akan menempatkan “1” di tempat 16 (nilai terbesar lebih kecil dari 24). Sekarang, Anda dapat mencoba dan menambahkan semua nilai pangkat dua untuk setiap digit. Penambahannya akan menjadi 216, yang merupakan angka yang kita inginkan. Kami akan mendapatkan urutan biner dari suatu angka dengan meletakkan 1 di tempat digit biner yang kami gunakan dalam perhitungan kami dan 0 di tempat digit biner yang tidak kami gunakan dalam perhitungan kami. Dengan cara ini kita akan mendapatkan urutan biner yang benar dari angka desimal. Berbicara tentang 216.  Oleh karena itu, urutan biner dari angka yang diinginkan (216) adalah 11011000.

Saya harap contohnya jelas dan Anda memahami salah satu metode untuk mengetahui urutan biner dari angka yang diinginkan. Pada awalnya, urutan 1 dan 0 mungkin tidak berarti apa-apa bagi kita hanya karena kita tidak terbiasa dengan sistem biner ini. Namun, itu yang paling penting untuk komputer Anda. Juga, bilangan biner bisa menjadi rumit untuk digunakan dan dihitung dalam bilangan biner karena kita terbiasa dengan sistem bilangan desimal.

Kita dapat mengatakan bahwa sistem biner yang hanya memiliki 0 atau 1 untuk menyimpan data sama baiknya dengan atau menyimpan jumlah data yang sama dengan sistem desimal yang memiliki angka mulai dari 0 hingga 9. Namun, seperti yang telah disebutkan di atas, kode biner dapat juga menyimpan jenis informasi lain termasuk teks, gambar, dan audio.

Kesimpulan

Seperti disebutkan di atas, mempelajari kode biner bisa menjadi abstrak dan sulit dan terkadang orang mungkin berpikir bahwa tidak perlu mempelajari konsep yang sulit seperti itu. Saat Anda membuat kode dan memprogram untuk aplikasi apa pun, Anda tidak pernah berurusan dengan bilangan biner secara langsung.

Namun, Anda menulis dan membaca teks, membuat dan melihat gambar dan bekerja dengan semua hal lain dan karenanya Anda harus tahu bahwa dasar dari semuanya adalah 0 dan 1. Selain itu, pengetahuan tentang kode biner dan sistem biner serta cara kerjanya dapat membantu Anda memahami cara kerja komputer dan segala sesuatu yang dilakukan komputer Anda seperti menerima input, menyimpan dan memproses informasi dan menghasilkan output. Tidak salah untuk mengatakan bahwa semua alat dan teknologi yang kompleks dan canggih hanya memiliki 1 dan 0.

Sekarang setelah Anda memahami cara kerja pengkodean biner, inilah saatnya untuk selangkah lebih maju. Jika Anda tertarik dengan dunia teknologi, kami sarankan Anda memanfaatkan kegemaran Anda dan berkarier di bidang teknologi. Salah satu domain paling booming di industri TI adalah pengembangan web dan jika Anda mencari keterampilan baru untuk dipelajari, desain dan pengembangan web harus ada dalam daftar Anda. Cara terbaik untuk menanamkan keterampilan yang dapat membantu Anda mendapatkan pekerjaan adalah dengan mengikuti kursus profesional yang dibuat oleh para ahli.

Salah satu kursus yang harus Anda pertimbangkan adalah Kursus Pengembangan Web Konfinity . Kursus ini adalah kursus pelatihan yang diteliti dengan baik yang dikembangkan oleh para ahli dari IIT DELHI bekerja sama dengan perusahaan teknologi seperti Google, Amazon dan Microsoft. Dipercaya oleh mahasiswa dan lulusan dari IIT, DTU, NIT, Amity, DU dan lainnya.

Kami mendorong para teknokrat seperti Anda untuk bergabung dalam kursus untuk menguasai seni membuat aplikasi web dengan mempelajari teknologi terbaru, langsung dari HTML dasar hingga situs web canggih dan dinamis, hanya dalam rentang beberapa bulan.

Fakta Keren Tentang Coding Dan Pemrograman

Keren Tentang Coding Dan Pemrograman – Pengkodean dan pemrograman menjadi semakin populer di kalangan anak-anak di seluruh dunia.

Fakta Keren Tentang Coding Dan Pemrograman

binaryjs – Pemrograman sekarang menjadi masa lalu yang populer, dengan banyak anak diperkenalkan ke pengkodean melalui permainan dan platform seperti Minecraft dan Roblox.

Orang tua dan sekolah juga meningkatkan perhatian mereka pada subjek, karena pengkodean sangat relevan dengan masa depan anak-anak. Dengan dedikasi dan pendidikan, anak-anak bisa belajar coding yang tetap menyenangkan. Misalnya, FunTech menawarkan berbagai kursus virtual yang ditujukan untuk anak-anak.

Ini adalah elemen menyenangkan yang membuat pengkodean dan pemrograman menarik bagi anak-anak. Memanfaatkan elemen-elemen itu adalah kunci untuk mendorong mereka.

Baca Juga : Mengenal Perkembangan Masa Depan Pemrograman

Dengan mengingat hal itu, kami telah mengumpulkan 14 fakta keren tentang pengkodean dan pemrograman yang mungkin menjadi pendorong untuk membuat anak-anak Anda tertarik untuk belajar lebih banyak.

Fakta menarik tentang coding / pemrograman

1. Ada sekitar 700 bahasa pemrograman terpisah

Di antara daftar ini, beberapa bahasa yang paling populer adalah Javascript, Swift, Scala, Python , PHP, Go, Rust, Ruby, dan C#, dengan jutaan pengguna menggunakannya baik dalam karier maupun proyek pribadi mereka. Namun, bahasa pemrograman baru terus diciptakan.

2. Menurut banyak penelitian online, bahasa pemrograman yang paling tidak disukai adalah Perl, Delphi, dan VBA

Dengan PHP, Objective-C, Coffeescript, dan Ruby mengikuti di belakang mereka. Lucunya, dua entri dalam daftar ini, PHP dan Ruby, keduanya masih sangat populer di kalangan pengguna terlepas dari bagaimana komunitas memandangnya secara keseluruhan.

3. Studi terbaru menunjukkan bahwa sekitar 70% pekerjaan pengkodean tidak ada hubungannya dengan teknologi sama sekali

Itu benar, Anda atau anak Anda dapat belajar memprogram dan menerapkan pengetahuan ini ke topik yang sepenuhnya terpisah dari teknologi seperti studi alam, penelitian geografi, serta film dan desain.

4. Pemrogram komputer pertama di dunia adalah seorang matematikawan wanita terkenal

Lahir di London pada 10 Desember 1815, Ada Lovelace, putri penyair terkenal Lord Byron, adalah seorang ahli matematika yang sangat berbakat. Di kemudian hari, dia akan bekerja sama dengan Charles Babbage, seorang insinyur mesin populer yang bertanggung jawab untuk menciptakan salah satu komputer mekanik paling awal.

Dari sana, dia akan menulis teori tentang pengkodean mesin untuk menghitung angka Bernoulli. Kode berikutnya pada akhirnya akan menjadi algoritma pertama yang dilakukan oleh mesin, dan pada dasarnya, adalah program komputer pertama.

5. Pemrograman Komputer berperan penting dalam membantu mengakhiri Perang Dunia II

Alan Turing adalah ahli matematika lain yang sangat terkenal yang juga lahir di Inggris, pada tanggal 23 Juni 1912. Dalam komunitas ilmu komputer, ia terutama dikenal sebagai bapak ilmu komputer modern.

Namun, di samping gelar agung ini, ia juga bertanggung jawab untuk membantu sekutu mengakhiri Perang Dunia II. Selama puncak konflik skala besar, ia akan menggunakan keahliannya untuk memecahkan mesin Enigma, sandi yang digunakan oleh Nazi untuk melindungi komunikasi militer mereka.

6. Virus komputer pertama diciptakan pada tahun 1986

Diberi moniker Brain, virus ini diciptakan oleh dua bersaudara, Basit dan Amjad Farooq Alvi, di Pakistan. Menurut saudara kandung, yang menjalankan toko komputer populer, mereka menciptakan Brain untuk menghentikan pelanggan mereka membuat salinan perangkat lunak mereka tanpa izin.

Namun, tidak seperti virus tradisional, Brain hanya berisi pesan hak cipta tersembunyi dan tidak merusak atau menghapus file atau informasi pengguna.

7. Bahasa pemrograman pertama disebut FORTRAN

Ini dikembangkan oleh tim yang dipimpin oleh Mr. John Backus, seorang ilmuwan komputer Amerika. Pertama kali muncul pada tahun 1964, FORTRAN masih digunakan sampai sekarang, terutama membantu ilmuwan komputer untuk melakukan tes kompleks di berbagai bidang seperti prediksi cuaca numerik, geofisika, kristalografi, dan kimia komputasi.

8. Banyak pemilik perusahaan teknologi besar menyukai video game sebagai anak-anak

Dalam satu contoh, Steve Wozniak dan Steve Jobs, yang ikut mendirikan Apple, pertama kali menemukan kesuksesan dengan mengembangkan video game mereka sendiri yang disebut Breakout. Dari sana, mereka akan menjadi dua nama paling berpengaruh di bidang teknologi, menghasilkan miliaran dolar selama bertahun-tahun.

9. Ada 3 jenis Peretas yang sangat berbeda, yang satu jahat, yang lain baik hati, dan yang terakhir di antara keduanya

Topi hitam adalah jenis pertama dan berspesialisasi dalam membobol jaringan komputer dengan niat jahat. Seringkali, mereka akan mencoba mencuri kata sandi, kartu kredit, dan jenis informasi sensitif lainnya, memeras pengguna internet untuk mendapatkan uang dalam prosesnya.

Di sisi lain, White hat terutama memilih untuk menggunakan keterampilan mereka untuk kebaikan, secara teratur dikontrak oleh bisnis untuk mencari lubang keamanan di infrastruktur online mereka.

Topi abu-abu adalah campuran keduanya, membantu orang namun juga biasanya mengeksploitasi kerentanan berbasis web mereka saat tidak dibayar untuk layanan mereka.

10. Game komputer pertama yang menghasilkan nol keuntungan bagi tim pembuatnya

Permainan berjudul Spacewar, dibangun dari bawah ke atas oleh Steve Russel, seorang programmer komputer muda, dan tim sesama pengembang yang bersemangat. Hebatnya, Steve dan timnya memilih untuk tidak membebankan biaya kepada orang-orang untuk bermain Spacewar, dan sebaliknya, dengan senang hati membagikan kreasi mereka kepada siapa saja yang ingin mencobanya.

11. NASA masih menggunakan program dari tahun 70-an di pesawat ruang angkasa mereka

Menurut para ahli, NASA memilih untuk tidak menulis kode baru atau merancang program baru karena akan sangat mahal untuk melaksanakannya. Bersamaan dengan ini, mengimplementasikan program baru membutuhkan banyak pengujian untuk meminimalkan kemungkinan kegagalan bencana yang terjadi. Sebaliknya, mereka memilih untuk tetap menggunakan teknologi lama yang telah terbukti andal, aman, dan tidak mahal.

Hebatnya, salah satu pesawat ruang angkasa andalan NASA, Space Shuttle, berjalan dengan kode yang lebih sedikit daripada banyak ponsel dan gadget masa kini.

12. “Bug” komputer pertama adalah bug kehidupan nyata

Di dunia pemrograman, bug adalah kesalahan yang menyebabkan program mogok atau berperilaku aneh. Pertama kali diciptakan oleh Thomas Edison pada tahun 1878 (untuk merujuk pada kesalahan teknis pada periode itu), istilah “bug” pada akhirnya akan digunakan secara umum dalam komputasi modern.

Namun, pada tahun 1947 kasus pertama bug komputer tercatat. Grace Hopper, seorang laksamana di Angkatan Laut AS, sedang mengerjakan komputer Mark II ketika dia menemukan seekor ngengat tersangkut di relai, sehingga menyebabkannya tidak berfungsi.

Setelah ngengat dihilangkan, dia menulis dalam jurnalnya “kasus bug pertama yang ditemukan” – dan sisanya adalah sejarah.

Bagaimana Jika Kode Legacy Sebenarnya Menarik

Bagaimana Jika Kode Legacy Sebenarnya Menarik – M.Scott Ford tidak menikmati pekerjaannya sebagai pengembang perangkat lunak tetapi bukan karena alasan biasa. Dia suka bekerja dengan komputer, dan pernah menjadi pengembang di sejumlah perusahaan setelah lulus dari Virginia Tech dengan gelar di bidang ilmu komputer.

binaryjs

Bagaimana Jika Kode Legacy Sebenarnya Menarik

binaryjs – Tetapi di setiap pekerjaan, ketika dia merasa telah membuat segalanya lebih baik dengan membersihkan basis kode, dia akan diberitahu untuk berhenti membuang-buang waktu dan kembali bekerja. Jadi dia akan pindah ke pekerjaan berikutnya, berharap lingkungan yang lebih kondusif untuk jenis pekerjaan refactoring yang dia nikmati, hanya untuk digagalkan lagi.

“Peningkatan itu tidak dipandang sebagai sesuatu yang berharga,” kata Ford dalam episode perdana podcast yang ia selenggarakan, yang disebutnya, Legacy Code Rocks!

Baca Juga : Pelajari Cara Membuat Coding, Panduan Untuk Belajar Otodidak

Seperti yang dipelajari Ford melalui pengalaman, perusahaan tidak tertarik untuk membuat kode terlihat cantik. Praktik terbaik untuk pengembangan perangkat lunak mendikte kode yang bersih dan mudah dibaca, tetapi dalam bisnis, menghasilkan pendapatan adalah yang terpenting.

Bagi para pemimpin bisnis, itu biasanya berarti lebih banyak kode, belum tentu kode yang baik. Tetapi perusahaan mungkin membayar harganya nanti jika perangkat lunaknya perlu diubah, pemrogram asli sudah lama pergi, dan kodenya tidak dapat diuraikan.

Suatu hari, ketika Ford sedang menonton episode acara perbaikan rumah Rumah Tua Ini , dia mendapat pencerahan.

“Saya seperti, ‘Itulah yang ingin saya lakukan!’” katanya dalam sebuah wawancara dengan Built In. “Mitra bisnis saya mengira saya ingin berhenti dari pekerjaan saya dan merombak rumah. Tidak — saya ingin melakukan apa yang mereka lakukan untuk rumah, tetapi saya ingin melakukannya untuk sistem perangkat lunak.” Ford menyadari bahwa dia ingin bekerja secara eksklusif dengan kode warisan.

Siapa yang ingin bekerja di Kode Legacy

Keputusan Ford tidak biasa, untuk sedikitnya kode warisan tidak memiliki reputasi terbaik. Menurut definisi, ini mengacu pada perangkat lunak yang dibuat bertahun-tahun yang lalu, seringkali dalam bahasa yang lebih tua yang hanya sedikit dikenal oleh pengembang.

Ketika perusahaan mendapati diri mereka tiba-tiba perlu melakukan perubahan setelah beberapa tahun, tugas itu ada di meja beberapa pengembang miskin yang belum pernah melihatnya sebelumnya, tanpa ada orang di sekitar untuk membimbing mereka atau membantu mereka memahami cara kerjanya.

Beberapa pengembang mendengar “kode lama” dan mulai mencari pekerjaan baru.

Ford melihatnya secara berbeda. Dia menikmati bagian dari pengembangan perangkat lunak yang, baginya, terasa seperti pekerjaan detektif — menguraikan kode spageti, penggalian perpustakaan yang terkubur, dan penyelaman mendalam ke panggilan metode bersarang.

Andrea Goulet, mitra bisnis Ford dan co-host podcast, menceritakan tentang Legacy Code Rocks! waktu ketika mereka mengerjakan proyek warisan pelanggan yang tidak memiliki dokumentasi, sejauh yang dapat diketahui siapa pun, dan ditulis dalam bahasa pemrograman internal. Mimpi buruk pemrograman dasar Anda.

“Saya belum pernah melihat Anda begitu bahagia,” kata Goulet kepada Ford. “Kamu seperti anak kecil saat Natal, menyelami file biner.”

Mengurai sejarah dibalik kode warisan

Sementara menonton acara TV realitas tentang renovasi rumah mungkin merupakan cara yang aneh bagi pengembang perangkat lunak untuk menemukan panggilan hidup mereka, Ford melihat kepuasan yang dia rasakan bekerja pada kode warisan yang dicerminkan dalam proyek-proyek yang ditangani oleh pemeran Rumah Tua Ini setiap musim.

“Saya mengamati cara mereka bekerja di rumah-rumah tua, dan jumlah perhatian, kerajinan, dan cinta yang mereka berikan ke dalam infrastruktur yang sedang mereka kerjakan,” katanya. “Cara mereka berbicara tentang orang-orang yang bekerja di rumah sebelumnya – bagaimana, bahkan jika sesuatu tidak dilakukan untuk menyajikan standar, cara itu dilakukan adalah cara yang benar untuk melakukannya.”

Ketika orang lain melihat kekacauan kode yang mengintimidasi, Ford melihat tantangan yang menarik, dan peluang untuk melakukan peningkatan yang akan menguntungkan banyak orang, termasuk pelanggan, pengguna, dan bahkan pengembang.

“Untuk sistem warisan yang baru saja mengumpulkan satu ton utang teknis, atau mereka hanya menanggung beban untuk dikerjakan, ada banyak orang yang hidupnya dipengaruhi oleh keadaan sistem itu,” katanya. “Ini seperti kamu membuat hidup seseorang lebih baik.”

“Ini memiliki nilai, melakukan sesuatu yang berarti, memecahkan masalah yang sebenarnya.”

Ford juga merasa puas karena mengetahui bahwa setiap proyek warisan yang dia kerjakan benar-benar berharga bagi penggunanya — lagi pula, jika tidak, maka tidak ada yang mau repot-repot mengerjakannya.

“Umumnya, jika Anda mengerjakan sesuatu yang sudah ada selama beberapa tahun, dan perusahaan yang membangunnya ingin berinvestasi untuk membuatnya lebih baik, maka itu memberikan nilai bagi seseorang,” katanya. “Ini memiliki nilai, melakukan sesuatu yang berarti, memecahkan masalah yang sebenarnya.”

Antusiasme Ford terhadap infrastruktur yang menua mirip dengan apa yang mungkin dirasakan seseorang yang menemukan lantai kayu keras tersembunyi di bawah karpet di rumah abad ke-19. Baginya, “warisan” mengambil makna aslinya dari mewarisi sesuatu yang berharga.

“Apa pun yang ditinggalkan seseorang adalah warisan mereka,” kata Ford di podcast. “Ini mengambil sesuatu yang orang lain telah tinggalkan dan mungkin menyerah, dan menghembuskan kehidupan tambahan ke dalamnya, dan benar-benar menarik keluar keindahan batin dan potensinya.”

TENTU SAJA, TERKADANG ‘KODE LAMA’ HANYA BERARTI KODE BURUK
Ford dan Goulet mulai bekerja secara eksklusif pada proyek warisan beberapa tahun setelah memulai perusahaan konsultan perangkat lunak mereka, Corgibytes , pada tahun 2009. (Tagline: “Kode lama, trik baru.”)

Meskipun istilah “kode lama” membangkitkan perangkat lunak berusia puluhan tahun, perusahaan melihat banyak permintaan dari proyek yang dibangun dengan bahasa pemrograman modern juga.

“Ada dua kubu besar,” kata Ford. “Salah satunya adalah mereka memikirkan COBOL dan Fortran, dan mereka memikirkan mainframe — seperti barang kuno yang sangat tua. Dan ada orang lain yang memikirkan hal-hal yang mereka tulis dua minggu lalu, itu tidak mungkin untuk dikerjakan.”

Ford mengatakan 98 persen proyek yang dikerjakan Corgibytes dibangun dengan bahasa pemrograman yang relatif modern seperti Python, JavaScript, atau Ruby.

Proyek node yang ditulis dalam JavaScript, misalnya, mungkin tampak terlalu baru untuk memiliki kode lama, katanya. “Tapi saya pikir ini lebih tentang gejala bagaimana rasanya bekerja dengan sistem, dan bagaimana rasanya menjadi pihak yang menerima konsumsinya.”

Dalam banyak proyek yang dilakukan Ford, pengguna akhir mungkin frustrasi dengan bug, jumlah waktu yang dihabiskan untuk menunggu perbaikan perangkat lunak, dan versi yang baru dirilis yang tidak berfungsi dengan benar. Pada saat yang sama, pengembang frustrasi bekerja dengan kode dan dengan area basis kode yang takut mereka sentuh.

“Jika segala sesuatunya tidak diciptakan dengan cara yang ideal, saya pikir itu tergantung pada kendala yang dihadapi orang-orang.”

“Fitur yang digunakan untuk dibuat dan dikirimkan dengan cepat, dan sekarang sepertinya setiap fitur yang berurutan membutuhkan waktu lebih lama dan lebih lama — itu masalah yang sering kami dengar,” kata Ford.

“Lainnya adalah retensi sulit, moral pada proyek rendah, orang tidak menikmati pekerjaan mereka lagi. Mereka tidak bisa mengikuti bug, atau setiap kali mereka melepaskan lebih banyak bug daripada yang mereka lakukan terakhir kali. .”

Jenis kondisi ini dapat menyebabkan kondisi kerja yang tegang, yang menurut Ford dapat memperburuk situasi.

“Kami memperjelas bahwa tugas kami bukanlah untuk masuk dan menunjuk, dan mengatakan bahwa orang-orang yang bekerja pada sistem tidak tahu apa yang mereka lakukan atau mereka orang jahat,” kata Ford.

“Jika segala sesuatunya tidak diciptakan dengan cara yang ideal, saya pikir itu bermuara pada kendala yang dihadapi orang. Salah satu kendalanya adalah pengetahuan — Anda adalah pengembang junior yang hanya memiliki pengalaman beberapa tahun, dan masih banyak yang belum Anda ketahui.

Atau Anda seorang eksekutif yang benar-benar membutuhkan kemampuan dari sebuah sistem, dan Anda tidak mengerti mengapa butuh waktu lama untuk membuatnya. Kendala dan motivasi ini dapat menciptakan lingkungan yang kurang ideal kode akan dibuat. Dan itu bisa dimengerti.”

Frustrasi dengan proyek yang ada dapat menyebabkan pengembang membuat keputusan pengkodean yang picik, tetapi perbaikan nyata memerlukan pemahaman tentang basis kode, yang dapat memakan waktu dan usaha.

“Anda tidak akan melibas rumah Anda hanya untuk memberi diri Anda dapur baru,” kata Ford. “Tapi saya merasa ada banyak tim teknik yang akan melakukan itu, karena mereka frustrasi dengan sistem pembangunan mereka.”

Kiat renovasi kode diy

Seperti acara perbaikan rumah lainnya, Corgibytes memulai setiap proyek baru dengan pemeriksaan menyeluruh.

“Kami melakukan penyelaman yang sangat dalam ke basis kode, di mana kami melihat metrik analisis statis berbeda yang dapat kami ukur,” kata Ford. “Dan itu seperti dokumen setebal 30 halaman, kami membutuhkan empat hingga enam minggu untuk menyusunnya.”

Tim menggunakan metrik analisis kode statis termasuk kompleksitas kode, duplikasi, cakupan, dan churn — untuk menentukan bagian mana dari basis kode yang perlu diperhatikan dan untuk memprioritaskan upayanya. Metrik dianggap secara holistik, sehingga kode yang memiliki kompleksitas tinggi mungkin masih mendapat prioritas rendah jika tidak sering diubah.

Inspeksi juga mencakup proses dan dinamika tim.

“Kami juga melihat praktik tim yang berbeda apakah ada ulasan kode? Apakah penerapan dapat diulang? Bagaimana kontrol kode sumber digunakan?” kata Ford. “Praktek teknik Anda yang berbeda, praktik DevOps yang berbeda, gaya komunikasi Anda. Lihat orang-orang bagian dari tim dan juga produk yang sedang dibuat, dan bagaimana mereka bersatu untuk menceritakan sebuah kisah.”

Salah satu strategi yang direkomendasikan Ford kepada perusahaan adalah menghapus kode dari basis kode yang tidak lagi digunakan, yang disebutnya sebagai “kode mati”. Sama seperti kayu yang membusuk dapat merusak struktur di sekitarnya, kode mati dapat berdampak negatif pada infrastruktur perangkat lunak dan menggunakan sumber daya yang lebih baik digunakan di tempat lain.

“Kami telah melihat beberapa sistem di mana ada bagian besar dari basis kode yang tim teknik pastikan untuk terus bekerja tim teknik tidak menyadari bahwa mereka tidak digunakan lagi,” kata Ford.

“Biayanya benar-benar hanya upaya yang terlibat dalam memastikan bahwa semuanya tetap berfungsi terlepas dari bagaimana Anda mengujinya, apakah Anda melakukannya secara otomatis atau manual. Untuk tim yang melakukannya secara otomatis, saya merasa ini lebih sering terjadi ‘Oh ya, tesnya rusak, jadi kami harus memperbaikinya.’”

“Setiap kali Anda membuat perubahan, perubahan itu akan menimbulkan beberapa kerumitan, kecuali jika Anda melawannya.”

Ford juga merekomendasikan untuk menjaga hal-hal minimal “netral berantakan” setiap kali pengembang masuk ke basis kode untuk membuat perubahan. Meskipun proyek-proyek warisan sering dilihat sebagai sesuatu yang terkutuk secara inheren kekacauan yang entah bagaimana masih berjalan dan mudah-mudahan akan bertahan beberapa tahun lagi — Ford mengatakan perangkat lunak yang digunakan akan selalu menumpuk utang teknis, bahkan jika pengembang tidak secara aktif mengerjakannya.

“Selama itu digunakan, akan ada tekanan untuk berubah,” katanya. “Tekanan itu akan datang dari lingkungan yang berinteraksi dengannya — perpustakaan pihak ketiga, atau antarmuka pengguna, atau sistem operasi yang dijalankannya atau bisa juga dari harapan pengguna: tata letak, seberapa cepat, apakah menyediakan fungsi yang tepat.”

Tekanan ini hanya akan hilang ketika perangkat lunak dihentikan. Sampai saat itu, pertanyaannya adalah bagaimana tim pengembangan akan menangani perubahan yang akhirnya dibutuhkan oleh tekanan ini. Ford merekomendasikan pengembang untuk melakukan pembersihan dan pemeliharaan sebagai ganti setiap perubahan yang mereka lakukan pada sistem lama.

“Setiap kali Anda membuat perubahan, perubahan itu akan menimbulkan beberapa kompleksitas, kecuali jika Anda melawannya,” kata Ford. “Jadi saya pikir saat Anda membuat perubahan adalah saat masuk akal untuk melakukan sedikit pembersihan, dan setidaknya pastikan perubahan Anda netral. Jangan hanya melakukan perbaikan cepat, jangan hanya menempelkan Band-Aid lain pada sistem.”

Baca Juga : Eksploitasi Spectre Windows dan Linux yang Bekerja Ditemukan di VirusTotal

Misalnya, pengembang yang menanggapi permintaan fitur pelanggan mungkin tergoda untuk menambahkan fitur tanpa memahami kode di sekitarnya, tetapi perubahan semacam itu menambah kompleksitas pada basis kode. Sebaliknya, pengembang harus mencari cara untuk meningkatkan sistem dan membuatnya lebih mudah untuk digunakan di lain waktu, kata Ford.

“Jadikan lebih performans, atau permudah penambahan fitur,” ujarnya. “Atau jika tidak ada tes otomatis, tambahkan beberapa tes otomatis. Jika tidak ada di kontrol sumber, letakkan di kontrol sumber. ”