Mohon tunggu...
Taufiqillah sapto Nugroho
Taufiqillah sapto Nugroho Mohon Tunggu... Buruh - biasa aja

seseorang yang tidak istimewa

Selanjutnya

Tutup

Ilmu Alam & Tekno

Github Copilot: Sebuah Disrupsi dalam Industri Pengembangan Perangkat Lunak

18 Oktober 2022   11:36 Diperbarui: 18 Oktober 2022   11:44 686
+
Laporkan Konten
Laporkan Akun
Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.

Sebuah inovasi yang mengguncang dunia rekayasa perangkat lunak telah dirilis oleh Github dan OpenAI. Seberapa besar dampaknya bagi industri perangkat lunak?

Github dan OpenAI mengumumkan sebuah alat peninjau berbasis artificial intelligence dalam menulis baris kode pemrograman, yang dinamakan sebagai Github copilot. Github copilot adalah perangkat tambahan (ekstension) yang ada pada beberapa text-editor, salah satunya adalah visual studio code. Menariknya, baik Github maupun visual studio code adalah milik  Microsoft Inc. 

Tampaknya, Microsoft ingin mengambil inisiatif untuk memasuki pasar IT, yang sebelumnya seudah mengintegrasikan layanan Github dengan visual studio code, sehingga programmer dan software developer (penulis akan bergantian menggunakan istilah programmer dan developer, pada kasus ini, penulis akan menganggapnya sama)sangat dimudahkan dalam mengelola repository projek mereka. Namun, dengan Github copilot, pengembang perangkat lunak tidak perlu khawatir dalam menulis kode pemrograman, karena teknologi itu sangat powerful.

Biasanya, para programmer mencari solusi kode program, atau debugging melalui website stackoverflow atau mencari dokumentasi resmi sebuah teknologi. Terkadang, cara ini memakan waktu yang lama, karena programmer harus memilah solusi yang tersedia. Github copilot selalu mempelajari setiap baris-baris kode yang pernah programmer tuliskan. 

Dengan begitu, Github copilot akan merekomendasikan solusi yang semakin akurat sepanjang waktu. Teknologi AI dari OpenAI, yang Github gandeng untuk teknologi ini, sudah terkenal reputasinya.

Cara kerja Github copilot

Pengembang dapat menggunakan Github copilot dengan berbagai cara. Pada cara ini, penulis memakai bahasa pemrograman javascript.

  • Men-generate komentar
    Biasanya, kommentar pada setiap bahasa pemrograman tidak berarti apa-apa, kecuali hanya untuk menuliskan algoritma atau alur kode pemrograman. Namun, dengan Github copilot, baris komentar akan diubah menjadi sebuah function. Sangat ajaib!

Dok Pribadi
Dok Pribadi
  • Memberikan Sugestion kode program
    Programmer cukup menuliskan function dan nama function yang spesifik dan merepresentasikan apa yang ingin dikerjakan, lalu Github copilot memberikan opsi kode program yang dimaksud. Opsi yang ditawarkan pun tidak hanya satu. Bayangkan perbedannya ketika masih manual. Programmer benar-benar merancang bagaimana function bekerja, dan kadang function yang dibuat pun tidak berfungsi sebagaimana yang dimaksudkan oleh programmer.

Dok Pribadi
Dok Pribadi
  • Menggunakan framework
    Programmer dapat menggunakan github copilot dalam men-generate sugesti untuk APIs dan framework.

Github copilot benar-benar ajaib! Untuk menggunakan teknologi tersebut, programmer harus berlangganan. Biaya yang dikeluarkan pun relatif murah, yakni $10/ bulan, dan untuk pelajar, termasuk mahasiswa, dikenakan harga cuma-cuma. Dengan fitur yang begitu canggih, timbullah pertanyaan "lalu bagaimana Github copilot men-disrupsi pasar software development?"

Disrupsi pada pasar Software Development

Disrupsi adalah suatu efek yang mengubah hal-hal mendasar (fundamental) mengenai pandangan serta perilaku masyarakat terhadap pasar, industri, budaya, dan berbagai proses di dalamnya yang disebabkan inovasi teknologi dan digital yang semakin maju.

Disrupsi pada awalnya diperkenalkan oleh Christensen Clayton pada tahun 1997 dalam bukunya yang berjudul "The innovator's dilemma". Di dalam bukunya juga diperkenalkan Ddisruptive Innovation, yaitu perkembangan baru , mengganggu eksistensi pasar yang sudah ada, dan pada akhirnya akan menggantikan berbagai hal terdahulu dengan sistem yang lebih sempurna. Disrupsi pada manajemen produksi, memiliki 2 sisi mata koin, dampakk positif dan negatif.

Sebelum pembahasan disrupsi pada pasar ini, mari mengenal bagaimana sebuah software atau aplikasi dibuat. Dalam dunia pemrograman dikenal SDLC  yaitu Software Development Life cycle. SDLC adalah proses pengubahan dan pembuatan sistem, model, serta metodologi yang digunakan untuk pengembangan software. Ada beberapa langkah dalam SDLC, yaitu :

1. Identifikasi Masalah

Dalam tahap ini, Developer menerima semua input yang masuk termasuk dari customer, salesperson, dan industri. Setelah input masuk, developer akan mecoba mempelajari kelebihan dan kekurangan dalam sistem.

2.  Perencanaan

Di tahp ini, tim developer akan memberikan syarat-syarat pengerjaan dan juga biaya yang dibutuhkan. Tidak sampai di situ, developer pun akan merencanakan rincian pengerjaan apabila terjadi skenario terburuk dari software yang ingin dikembangkan.

3. Rancangan

Tahap ini dimulia dari mengubah spesifikasi sebuah software ke dalam design plan yang biasa disebut spesifikasi dokumen desain. Semua tim, termasuk klien yang bersangkutan akan me-review rancangan ini dan menawarkan feedback.

4. Membangun atau mengembangkan produk

Di tahap ini, tim developer mulai mengerjakan produk dengan menuliskan baris-baris kode program dengan bahasa pemrograman yang sudah ditentukan dalam fase perencanaan. Tahap ini yang menjadi sangat lama, paling membingungkan, dan paling sulit. Dibutuhkan skill teknis yang baik.

5. Pengujian

Dalam tahap ini, yang dilakukan bertanya "apakah sistem berjalan seperti yang diharapkan?" dan mengujinya. Dalam tahap ini juga, sistem harus tidak memiliki bug atau cacat.

6. Memasarkan Produk

Jika software sudah dibuat, maka produk ini ditawarkan ke pasar. Dalam tahap ini juga, developer harus mendenganrkan feedback yang user sampaikan. Bila perlu dilakukan penyesuaian lagi.

7. Maintenance

Dalam teknologi yang terus menerus berubah, tahapan terkahir ini mengharuskan developer dan tim tetap memelihara produk yanf telah selesai. Hal ini perlu dilakukan untuk mencegah adanya error dan penurunan kulitas pada produk.

Lalu bagaimana Github copilot membuat dampak yang cukup signifikan? Perhatikan lagi SDLC dan lihatlah bagian 4 dan 5.  Kita bisa lihat bagaimana potensi Github copilot mengakselerasi proses yang rumit itu. Pihak dan hal-hal yang sangat terdampak adalah:

A. Terdampak Positif

1. Software Architecture

sekarang lebih dari sebelumnya, peran arsitek perangkat lunak akan sangat penting untuk memastikan prinsip-prinsip rekayasa perangkat lunak: Reliability, Availability, Maintainability, Performance (RAMP). Sementara menghasilkan kode yang secara efektif memecahkan masalah tertentu hampir menjadi masalah biaya nol, merancang dengan benar bagaimana semua kode itu cocok bersama di bawah arsitektur perangkat lunak yang umum dan koheren akan menjadi lebih kompleks jika tidak ada prinsip arsitektur perangkat lunak yang kuat yang diterapkan.

2. Bug Finding Tools

pelatihan tentang data berkualitas akan menjadi kunci agar alat seperti Copilot dapat diadopsi secara besar-besaran. Itulah sebabnya perusahaan seperti Amazon sudah bertaruh pada tantangan global koreksi Bug (BugBust) untuk meningkatkan cara asisten pengembangan perangkat lunak cerdas mereka (CodeGuru).

3. Low code / No code - enterprise architecture integration

Ingatlah bahwa Copilot (atau model serupa lainnya) dilatih pada data yang sangat besar, sehingga versi model yang akan datang dapat menghasilkan kode akhir yang sama sekali berbeda. Dalam skenario ini, kemungkinan alat ini untuk diintegrasikan dalam arsitektur perusahaan yang dapat diskalakan akan menjadi keunggulan kompetitif yang jelas bagi vendor nocode/lowcode. Integrasi ini ketika dipahami sebagai pelatihan khusus alat pembuatan kode, akan memungkinkan manfaat dalam kelincahan dan pengurangan biaya untuk tujuan pengkodean, sambil memastikan bahwa kode yang dihasilkan konsisten dengan arsitektur perangkat lunak yang telah ditentukan dan prinsip-prinsipnya.

4. Software Primers / prompt engineering

konsep prima akan menjadi kunci untuk membuat teknologi seperti Copilot berguna, memberikan model definisi yang baik tentang masalah yang ingin kita selesaikan, dll. Beberapa penulis sudah menulis tentang konsep "rekayasa cepat" sebagai cara baru untuk menghadapi pemecahan masalah melalui AI. Sekali lagi, proses rekayasa masih membutuhkan lebih banyak dari apa yang saat ini ditunjukkan oleh Copilot, tetapi itu pasti akan mengubah cara kita mendekati pengkodean sebagai bagian darinya.

5. Software Licensing Management

setelah Copilot diumumkan, Hackernews mulai ramai dengan komentar tentang bagaimana lisensi perangkat lunak akan dikelola saat menggunakan Copilot atau alat serupa. Saya juga berharap bahwa pengacara IP, yang berspesialisasi dalam model lisensi perangkat lunak akan meningkat untuk menangani masalah ini.

Dok Pribadi
Dok Pribadi

B. Terdampak Negatif

1. Software coders and testers

Soal efisiensi, banyak perusahaan melakukan outsourcing / offshoring tugas pemrograman ke coders yang tidak memiliki keterampilan rekayasa perangkat lunak dan pemahaman bisnis. Seperti yang telah kami sebutkan, rekayasa cepat akan menjadi kunci untuk menghasilkan kode kualitas berdasarkan Copilot, dengan mendefinisikan persyaratan bisnis dan teknis dengan benar. Oleh karena itu, para pembuat kode dan penguji tanpa kemampuan bisnis dan teknis yang mendalam akan kesulitan untuk menambahkan nilai (co-pilot, seperti yang disarankan oleh nama solusi itu sendiri) pada proses rekayasa perangkat lunak.

HALAMAN :
  1. 1
  2. 2
  3. 3
Mohon tunggu...

Lihat Konten Ilmu Alam & Tekno Selengkapnya
Lihat Ilmu Alam & Tekno Selengkapnya
Beri Komentar
Berkomentarlah secara bijaksana dan bertanggung jawab. Komentar sepenuhnya menjadi tanggung jawab komentator seperti diatur dalam UU ITE

Belum ada komentar. Jadilah yang pertama untuk memberikan komentar!
LAPORKAN KONTEN
Alasan
Laporkan Konten
Laporkan Akun