Perjalanan Bagi Seorang Developer Menggunakan ChatGPT
Penggunaan ChatGPT tidak terbatas dan mengesankan, dan kemampuan platformnya luar biasa. Anda dapat melakukan hampir semua hal dengannya secara virtual.
Bagi saya, menurut saya ini adalah alat pertama yang menghadirkan kekuatan kecerdasan buatan untuk orang biasa seperti saya. Namun, ini hanyalah permulaan.
Pertimbangkan ChatGPT sebagai asisten pribadi Anda, apa pun yang Anda pikirkan, coba tanyakan. Apakah Anda memerlukan bantuan untuk copywriting, coding, membuat blog, menerjemahkan teks, memeriksa tata bahasa, atau menulis buku dan artikel. Kemampuan alat ini tidak terbatas.
Selanjutnya, kita akan melihat beberapa contoh bagaimana ChatGPT dapat mempermudah pekerjaan dan kehidupan Anda.
Asisten Penulisan Pribadi Anda
Saya mengenal banyak pengembang dan insinyur perangkat lunak yang suka menulis. Anda dapat menggunakan ChatGPT untuk membantu Anda memeriksa kesalahan, tata bahasa, atau menilai artikel Anda sebelum diterbitkan.
Lihatlah contoh di bawah ini:
Jika Anda perhatikan, paragraf yang saya berikan adalah yang ada di bagian header artikel ini. Bagi saya, ini terlihat efisien dan saya rasa saya tidak perlu menambahkan lebih dari itu.
Namun, bagaimana dengan peningkatan potensial? Alih-alih bertanya kepada teman Anda, mari tanyakan pada ChatGPT:
Anda selalu dapat memintanya untuk perbaikan dan bantuan untuk artikel Anda, copywriting, dan apa pun yang ada di pikiran Anda.
Coding
Sebagai contoh, bayangkan atasan Anda meminta Anda untuk mendapatkan semua data tweet setiap menit menggunakan penjadwal Spring dengan Retrofit sebagai cara untuk menggunakan API Twitter.
Saya akan memberikan contoh menggunakan Java, karena saya adalah Pengembang Java, tetapi saya akan berterima kasih jika Anda dapat menerapkan konsep yang sama dengan Teknologi atau bahasa Pemrograman pilihan Anda.
Inilah hasilnya:
Itu benar-benar jawaban bagus yang saya dapatkan dari ChatGPT. Namun, saya menyuruhnya untuk menggunakan ekspresi cron daripada fixedRate. Juga, Itu tidak mengimpor semuanya, tapi itu tidak serius, jangan berharap sebuah program melakukan semuanya!
Saya tidak tahu mengapa, tetapi itu memang mengimpor Retrofit dengan versi 2.10.0, dan itu salah, versi ini BELUM dirilis. Yang terbaru adalah 2.9.0
Bayangkan, Anda mendapatkan kode yang Anda cari, tetapi Anda belum yakin karena Anda ingin memastikan untuk menggunakan fitur Java 17 LTS saat menggunakan Lombok.
Sejujurnya, ini sangat mengejutkan, kode terbaru ini terlihat lebih baik dari yang sebelumnya, dan mudah dimengerti. (Saya tidak menunjukkan jawaban lengkap yang saya dapatkan, karena artikelnya akan sangat panjang)
Tetap saja, kodenya tidak sempurna dan tidak bersih. (Tidak ada kode yang sempurna)
Jangan berharap mesin melakukan segalanya untuk Anda, pikirkan selalu tentang menggunakan konsep pemrograman, pola desain...dll, untuk membuat kode Anda lebih bersih dan efisien.
Penjelasan Kode dan Kinerja Kode
Di bagian ini, mari kita coba membandingkan antara tiga metode Java dan melihat apakah ChatGPT dapat membedakannya dan memberi tahu kami tentang kecepatan yang paling efisien.
Mari kita ambil metode ini sebagai contoh, satu-satunya tujuan adalah memfilter nomor duplikat dari larik yang diberikan, dan kemudian mengembalikan hasil tanpa duplikat.
public static int[] filterDuplicates(int[] data) {
var count = 0;
var result = new int[data.length];
for (int element : data) {
var isDuplicateFound = false;
for (var i = 0; i < count; i++) {
if (element == result[i]) {
isDuplicateFound = true;
break;
}
}
if (!isDuplicateFound) {
result[count] = element;
count++;
}
}
return Arrays.copyOf(result, count);
}
Mari kita lihat apakah ChatGPT dapat mengenali kode ini:
Sangat mengesankan bahwa ia dapat memahami setiap baris kode, ini berarti ia juga dapat menulis kode yang serupa atau bahkan lebih baik. Itu luar biasa.
Selain itu, Anda dapat menanyakannya tentang baris kode tertentu jika Anda merasa tidak mengerti.
Sekarang, Bayangkan Anda memiliki versi yang berbeda dari metode filterDuplicates dan Anda ingin tahu solusi mana yang lebih baik dalam hal kecepatan eksekusi.
Sebagai contoh, mari kita ambil kode berikut dan tanyakan pada ChatGPT metode mana yang paling cepat:
// Method 1
public static int[] filterDuplicates(int[] data) {
var count = 0;
var result = new int[data.length];
for (int element : data) {
var isDuplicateFound = false;
for (var i = 0; i < count; i++) {
if (element == result[i]) {
isDuplicateFound = true;
break;
}
}
if (!isDuplicateFound) {
result[count] = element;
count++;
}
}
return Arrays.copyOf(result, count);
}
// Method 2
public static int[] filterDuplicates2(int[] data) {
List<Integer> list = new ArrayList<>();
for (int value : data) {
if (!list.contains(value)) {
list.add(value);
}
}
return list.stream().mapToInt(i -> i).toArray();
}
// Method 3
public static int[] filterDuplicates3(int[] arr) {
Set<Integer> set = new HashSet<>();
List<Integer> duplicates = new ArrayList<>();
for (int i : arr) {
if (set.add(i)) {
duplicates.add(i);
}
}
return duplicates.stream().mapToInt(i -> i).toArray();
}
Tentu saja, metode pertama akan menang dalam hal kecepatan eksekusi. Tapi, saya tidak menyangka akan mendapatkan respons seperti ini dari ChatGPT. Luar biasa!
Selain kemampuannya untuk menjelaskan kode, ia juga mampu untuk memperbaikinya, menulis ulang dan juga menyederhanakannya.
Pengujian Unit
Anda semua tahu manfaat besar tentang pengujian unit, dengan meningkatkan kualitas dan keandalan kode. Tanpanya kode Anda INCOMPLETE.
Mari buat pengujian unit dari metode tertentu yang mengembalikan angka terdekat ke 0 dari Array.
public int computeClosestToZero(int[] array) {
if (array.length <= 0) {
return 0;
}
int min = Integer.MAX_VALUE;
for (int element : array) {
if (Math.abs(element) <= Math.abs(min)) {
min = element;
}
}
return min;
}
Inilah hasilnya:
Sederhananya, ini adalah hasil yang cukup bagus. Anda juga dapat menggunakan Kerangka Pengujian yang berbeda seperti Mockito, dll., Anda hanya perlu menentukan ke ChatGPT hal yang ingin Anda terapkan dengan tepat.
Jika Anda ingin ChatGPT membantu Anda mengimplementasikan pengujian unit, tetapi Anda memiliki arsitektur besar di mana setiap Kelas bergantung pada Kelas lain. Anda harus memberikan semua informasi yang diperlukan untuk menghasilkan keluaran pengujian unit yang baik.
Jadi, gunakan dengan bijak sebagai alat, Jangan berharap untuk menulis semuanya untuk Anda.
Tetap saja, saya ingin tahu bagaimana ChatGPT menggunakan kode yang kami kirimkan. Apakah itu menyimpannya di suatu tempat dan menggunakannya saat dibutuhkan?
Menulis dokumentasi
Meminta ChatGPT untuk menulis dokumentasi untuk sepotong kode biasanya memberikan hasil yang baik. Bahkan termasuk komentar untuk setiap baris kode.
Jangan biarkan ChatGPT atau alat apa pun yang akan datang menggunakan Anda atau mengganggu Anda. Saya percaya dalam waktu dekat akan banyak alat seperti ini dan beberapa orang akan kehilangan pekerjaan.
Saya pasti tidak mempercayai keluaran ChatGPT, tetapi kami perlu terus mempelajari hal-hal baru dan meningkatkan keterampilan kami dengan menggunakannya. Akan sangat bagus bagi kami untuk TIDAK menggunakan alat seperti itu untuk kode apa pun yang ingin kami terapkan. Jangan terlalu mengandalkannya atau suatu saat Anda akan menemukan diri Anda hanya melakukan copy-paste tanpa memperbaiki diri sendiri.
GUNAKAN DENGAN BIJAK, untuk meningkatkan produktivitas Anda
Saya pribadi percaya bahwa mesin tidak dapat menggantikan Manusia, karena tidak memiliki kemampuan untuk merasakan dan memahami perasaan, visi, dan impian orang. Kita semua perlu mengetahuinya dengan cara memanfaatkan alat ini untuk keuntungan dan kesuksesan kita.
Terima Kasih telah membaca, semoga bermanfaat!