Bagaimana AI menjadikan hidup developer lebih mudah, dan membantu semua orang belajar mengembangkan perangkat lunak

 |   John Roach

Read the English version here.

Sejak Ada Lovelace–seorang polymath yang sering dianggap sebagai programmer komputer pertama–mengusulkan untuk menyelesaikan persamaan matematika pada komputer mekanis yang tak pernah dibuat sebelumnya menggunakan kartu yang dilubangi pada tahun 1843, developer perangkat lunak telah menciptakan solusi dalam bentuk instruksi langkah demi langkah yang dapat dipahami oleh komputer.

Menurut Kevin Scott, Chief Technology Officer Microsoft, hal tersebut kini telah berubah.

Sekarang, alat pengembangan perangkat lunak berbasis kecerdasan buatan (artificial intelligence/AI) memungkinkan orang untuk membangun solusi perangkat lunak menggunakan bahasa yang sama dengan bahasa yang mereka gunakan saat berbicara dengan orang lain. Alat bertenaga AI ini menerjemahkan bahasa sehari-hari ke dalam bahasa pemrograman yang dipahami komputer.

“Hal ini memungkinkan Anda, sebagai developer, untuk dapat menerjemahkan sesuatu yang Anda miliki dalam pikiran Anda ke bahasa sehari-hari, dan teknologi ini akan menerjemahkannya ke dalam kode pemrograman yang akan mewujudkan pikiran tersebut,” ujar Scott. “Ini adalah cara berpikir tentang pengembangan yang secara fundamental berbeda dibandingkan dengan cara pikir yang kami miliki pada masa awal perangkat lunak ada.”

Pergeseran paradigma ini didorong oleh Codex, model machine-learning dari perusahaan penelitian dan pengembangan AI—OpenAI—yang dapat menerjemahkan perintah bahasa sehari-hari ke dalam kode dengan lebih dari selusin bahasa pemrograman.

Codex diturunkan dari GPT-3, model bahasa sehari-hari OpenAI yang diperkaya dengan banyak data bahasa dari internet. Codex dilengkapi dengan data bahasa ini serta kode dari repositori perangkat lunak GitHub dan sumber publik lainnya.

“Ini membuat coding jadi lebih produktif dengan menghilangkan pekerjaan yang tidak terlalu menyenangkan, serta membantu Anda mengingat hal-hal yang mungkin telah Anda lupakan dan membantu Anda untuk memecahkan masalah,” ujar Peter Welinder, Vice President of Products and Partnership OpenAI, ketika berbicara tentang Codex.

[youtube https://youtu.be/ByVOw1Ye2as]

Dalam contoh ini, seorang kreator yang bekerja menggunakan mesin rendering grafis Babylon.js memasukkan perintah bahasa sehari-hari, “buat model tata surya” ke dalam kotak teks. Kemudian, perangkat lunak bertenaga AI menerjemahkan perintah tersebut ke dalam kode untuk membuat model tata surya.

Peningkatan produktivitas yang dibawa Codex ke pengembangan perangkat lunak jelas mengubah lanskap yang ada, ungkap Scott. Hal ini memungkinkan developer untuk menyelesaikan banyak tugas dalam dua menit, yang mana sebelumnya memakan waktu dua jam.

“Dan seringkali, hal yang dilakukan alat tersebut ternyata membantu Anda menyelesaikan bagian yang paling tidak menarik dari pekerjaan Anda dengan sangat cepat, sehingga Anda dapat sampai ke bagian yang paling menarik dari pekerjaan. Hal ini membuat pengalaman berkreasi menjadi lebih menyenangkan,” ujarnya.

Ketika AI dan kode bersatu

Microsoft dan OpenAI menjalin kemitraan pada tahun 2019 untuk mempercepat terobosan dalam AI–termasuk bersama-sama mengembangkan beberapa superkomputer AI terkuat di dunia–dan mengirimkannya kepada developer untuk membangun aplikasi AI generasi berikutnya melalui Azure OpenAI Service.

Anak perusahaan Microsoft, GitHub, juga bekerja dengan OpenAI untuk mengintegrasikan Codex ke dalam GitHub Copilot, ekstensi yang dapat diunduh untuk program pengembangan perangkat lunak seperti Visual Studio Code. Alat ini menggunakan Codex untuk menggambar konteks dari kode yang sudah ada guna menyarankan kode dan fungsi tambahan. Developer juga dapat menjelaskan apa yang ingin mereka capai dalam bahasa sehari-hari, sementara Copilot akan menggunakan pengetahuan dan konteks saat ini untuk memberikan suatu saran atau solusi.

GitHub Copilot, yang dirilis dalam pratinjau teknis pada Juni 2021, saat ini telah memberikan saran pada sekitar 35% kode dalam bahasa pemrograman populer seperti Java dan Python. Kode-kode ini dihasilkan oleh puluhan ribu developer yang terlibat di periode pratinjau teknis dan secara teratur menggunakan GitHub Copilot. GitHub Copilot akan secara resmi diluncurkan pada musim panas ini, membawa kemampuan coding dengan bantuan AI ke jutaan developer profesional, seperti yang diumumkan Microsoft di konferensi developer, Microsoft Build.

Julia Liuson, President of the Developer Division Microsoft, termasuk GitHub, berharap alat hari ini akan menjadi gelombang pertama sistem pengembangan bertenaga AI. Foto milik Microsoft.

“Banyak perangkat lunak memiliki kerangka kerja dan struktur yang sama. Copilot melakukan pekerjaan luar biasa dalam menyelesaikan semua itu untuk Anda, sehingga Anda dapat memfokuskan energi dan kreativitas pada hal-hal yang Anda coba selesaikan secara unik,” kata Julia Liuson, President of the Developer Division Microsoft, termasuk GitHub.

Dengan semakin banyaknya developer yang bereksperimen dengan Codex dan GitHub Copilot, akan ada semakin banyak petunjuk yang muncul mengenai potensi pengembangan dengan bantuan AI, menurut Welinder. Misalnya, dokumentasi bahasa sehari-hari di sebagian besar program perangkat lunak masih minim. Pengguna GitHub Copilot dapat membuat dokumentasi ini secara default ketika menggunakan alat tersebut.

“Anda mendapatkan banyak komentar dalam kode hanya dengan memberi tahu Copilot apa yang harus dilakukan,” ujarnya. “Anda dapat mendokumentasikan kode sembari bekerja; ini menakjubkan.”

Komentar ini, pada gilirannya, berfungsi sebagai alat pengajaran untuk developer lain, yang sering mempelajari program lain untuk mengetahui bagaimana memecahkan masalah tertentu dalam program mereka sendiri. Kemampuan Codex untuk menerjemahkan kode ke bahasa sehari-hari adalah cara lainnya bagi developer untuk belajar sambil melakukan programming, yang akan menurunkan hambatan untuk masuk ke dunia coding, tambah Welinder.

Dari minim kode ke tanpa kode

Sementara itu, alat minim kode dan tanpa kode bertenaga AI, seperti yang tersedia melalui Microsoft Power Platform, bertujuan untuk memungkinkan miliaran orang mengembangkan aplikasi perangkat lunak yang mereka butuhkan guna memecahkan masalah unik mereka, mulai dari ahli audio yang mendigitalisasi formulir kertas sederhana untuk mentransformasi pencegahan gangguan pendengaran di Australia, hingga alat yang meringankan beban kerja entri data manual pada karyawan yang bekerja di usaha milik keluarga, serta solusi bagi perusahaan yang memproses miliaran dolar klaim relaksasi pinjaman COVID-19 untuk bisnis kecil.

Saat ini, ratusan juta orang yang merasa nyaman bekerja dengan formula di Microsoft Excel, program spreadsheet, dapat dengan mudah membawa keterampilan ini ke Power Platform di mana mereka dapat membangun aplikasi perangkat lunak semacam ini, kata Charles Lamanna, Microsoft Corporate Vice President of Business Applications and Platform.

Charles Lamanna, Microsoft Corporate Vice President of Business Applications and Platform, percaya bahwa alat yang didukung AI memungkinkan miliaran orang mengembangkan perangkat lunak. Foto oleh Dan DeLong untuk Microsoft.

“Salah satu dorongan besar yang telah kami lakukan adalah dengan masuk ke tingkat berikutnya, berpindah dari hanya ratusan juta orang yang dapat menggunakan alat ini menuju miliaran orang yang dapat menggunakan alat ini,” katanya. “Dan satu-satunya cara yang kami pikir benar-benar dapat mewujudkannya adalah dengan beralih dari minim kode ke tanpa kode dengan menggunakan pengembangan bertenaga AI.”

Untuk melakukan hal ini, tim Lamanna pertama-tama mengintegrasikan GPT-3 dengan Microsoft Power Apps bagi fitur Power App Ideas, yang memungkinkan orang membuat aplikasi menggunakan bahasa percakapan di Power Fx, bahasa pemrograman open-source untuk pengembangan minim kode yang bermula di Microsoft Excel. Langkah selanjutnya dari ini dan juga telah diumumkan di Build, adalah fitur yang disebut  Power Apps express design, yang memanfaatkan model AI dari Azure Cognitive Services untuk mengubah gambar, foto, PDF, dan file desain Figma menjadi aplikasi perangkat lunak.

“Kami membuatnya bisa melakukan pengenalan gambar dan memetakannya ke konstruksi yang ada di dalam aplikasi. Kami memahami apa itu tombol, apa itu pengelompokkan, apa itu kotak teks, dan menghasilkan aplikasi secara otomatis berdasarkan gambar-gambar tersebut tanpa Anda harus memahami dan menghubungkan semua komponen yang berbeda ini secara mandiri,” sebut Lamanna.

[youtube https://youtu.be/LCCZ_kW14T4]

Fitur bertenaga AI baru yang disebut Power Apps express design membantu mengubah sketsa dan gambar lain menjadi rangka aplikasi, membantu orang dengan sedikit atau tanpa pengalaman coding untuk mengembangkan perangkat lunak.

Transisi dari minim kode ke tanpa kode di balik AI ini mengikuti tren umum komputasi yang menjadi lebih mudah diakses dari waktu ke waktu, tambahnya. Misalnya, komputer pribadi adalah barang langka 40 tahun lalu, spreadsheet bukan hal yang lumrah 30 tahun lalu, akses internet juga terbatas pada 20 tahun lalu. Hingga akhir-akhir ini, pengeditan video dan foto lebih eksklusif untuk para ahli saja.

Pengembangan perangkat lunak juga harus menjadi lebih mudah diakses, kata Lamanna.

“Jika kami ingin semua orang menjadi developer, kami tidak dapat berencana untuk mengajari semua orang cara menulis kode Python atau JavaScript. Hal ini tidak mungkin. Yang memungkinkan adalah jika kita menciptakan pengalaman yang tepat dan menampilkannya di depan cukup banyak orang yang dapat melakukan click, drag, dan drop, serta menggunakan konsep yang sudah familiar untuk menciptakan solusi yang luar biasa,” pungkasnya.

Developer untuk masa depan yang didukung perangkat lunak

Penawaran GitHub Copilot serta minim kode dan tanpa kode yang tersedia melalui Power Platform adalah fase pertama pengembangan bertenaga AI, jelas Liuson. Ia memiliki visi akan model dan alat bertenaga AI yang dapat membantu developer dengan semua tingkat kemampuan untuk membersihkan data, memeriksa kesalahan kode, men-debug program, dan menjelaskan apa arti kode-kode dalam bahasa sehari-hari.

Fitur-fitur ini adalah bagian dari cita-cita yang lebih besar dari alat bertenaga AI, yang dapat berfungsi sebagai asisten yang membantu developer menemukan solusi untuk masalah mereka lebih cepat, dan membantu siapa saja yang ingin membangun aplikasi agar beralih dari ide di kepala mereka menjadi perangkat lunak yang fungsional.

“Sebagai developer, kita semua memiliki hari-hari di mana kita menjadi sangat stres dan berkata, ‘Mengapa ini tak berhasil?’ Dan kami berkonsultasi dengan developer senior untuk mengarahkan kami ke langkah tepat berikutnya,” ujar Liuson. “Ketika Copilot dapat berkata kepada Anda, ‘Hei, inilah empat hal berbeda yang umum dalam pola masalah ini,’ dampaknya akan sangat besar.”

Era baru pengembangan perangkat lunak yang dibantu AI ini dapat menghasilkan produktivitas, kepuasan, dan efisiensi developer yang lebih tinggi, serta membuat pengembangan perangkat lunak lebih lancar dan dapat diakses oleh lebih banyak orang, menurut Scott.

Sebagai contoh, seorang gamer dapat menggunakan bahasa sehari-hari untuk memprogram karakter non-player di Minecraft agar menyelesaikan tugas-tugas seperti membangun struktur bangunan, sehingga membebaskan gamer untuk melakukan hal lain yang lebih mendesak. Desainer grafis dapat menggunakan bahasa sehari-hari untuk membuat adegan 3D di mesin rendering grafis Babylon.js. Guru juga dapat menggunakan alat kreasi dan kolaborasi 3D seperti FrameVR untuk mewujudkan dunia metaverse seperti pemandangan bulan dengan mesin penjelajah bulan dan bendera Amerika.

“Anda dapat menjelaskan ke sistem AI mengenai apa yang ingin Anda capai,” kata Scott. “Sistem dapat mencoba mencari tahu apa yang Anda maksud dan menunjukkan kepada Anda sebagian dari solusi. Kemudian, Anda dapat memperbaiki apa yang ditunjukkan model kepada Anda. Siklus berulang inilah yang akan mengalir secara bebas dan alami.”

Alat-alat ini, tambah Scott, juga akan meningkatkan jajaran developer di dunia yang akan semakin diberdayakan oleh perangkat lunak.

“Karena masa depan sangat bergantung pada perangkat lunak, kami ingin ada lebih banyak orang dan secara inklusif berpartisipasi dalam pembuatannya,” ujarnya. “Kami ingin orang-orang dari berbagai latar belakang dan sudut pandang dapat menggunakan teknologi paling kuat yang dapat mereka gunakan untuk memecahkan masalah yang mereka miliki, untuk membantu mereka membangun bisnis dan menciptakan kesejahteraan bagi keluarga dan komunitas mereka.”

Terkait

Foto header: Kevin Scott, Chief Technology Officer Microsoft, mengatakan alat yang bertenaga AI membantu developer menerjemahkan pemikiran di kepala mereka ke kode. Foto milik Microsoft.

John Roach menulis tentang penelitian dan inovasi Microsoft. Follow John di Twitter.

###