🟦 Membantu Pemrograman (Coding)

Kemas kini terakhir pada August 7, 2024 oleh Sander Schulhoff

Anda dapat menggunakan ChatGPT untuk debugging, generate kode, memformat, memberikan komentar, dan lainnya. Ia dapat bekerja dengan kode dalam lebih dari 40 bahasa pemrograman.

Sangat TuaTuaTerbaruTercanggih
BASICPerlSwiftKotlin
AssemblyPascalTypeScriptJulia
FortranPHPRustCrystal
LispPrologKotlin/NativeRacket
COBOLCJulia (GPU)Lua
AlgolPL/IGoZig
SNOBOLC++DartNim
RPGSmalltalkElixirCrystal (LLVM)
ForthTclGroovyVlang
AdaSQLScala NativeErlang
Java

Pembuatan Kode

Menginstruksikan ChatGPT untuk menghasilkan kode adalah sesederhana ini:

Bertindak sebagai programmer python junior. Silakan tulis kode untuk menghasilkan madlibs dari 3 array dengan 6 item masing-masing: preposisi, kata kerja, dan kata benda, dengan kata benda juga digunakan sebagai objek langsung. Setelah menulisnya, jalankan kode tersebut.

Hasilnya akan menjadi sesuatu seperti:



import random

prepositions = ['at', 'in', 'on', 'with', 'under', 'over']
verbs = ['run', 'jump', 'dance', 'sing', 'laugh', 'cry']
nouns = ['cat', 'dog', 'tree', 'flower', 'book', 'computer']

preposition = random.choice(prepositions)
verb = random.choice(verbs)
noun = random.choice(nouns)

madlib = f"I {verb} {preposition} the {noun}."

print(madlib)

Coba di sini:

Memberikan Komentar dan Merubah Format Kode

Anda dapat meminta ChatGPT untuk menambahkan komentar ke kode Anda, dan memformatnya agar mudah dibaca. Setelah instruksi Anda yang cepat, tambahkan tiga tanda pagar dan kemudian tempelkan kode yang ingin Anda bersihkan:

Tolong tambahkan komentar baris pada kode Python ini dan ubah formatnya agar mudah dibaca:

import math
amplitude = 30
frequency = 2
num_points = 50
for i in range(num_points):
    y = int(round(amplitude * math.sin(2 * math.pi * frequency * i / num_points)))
    print(' ' * (amplitude + y) + '*')
###

Output-nya akan menjadi seperti berikut ini:



# Import the math module
import math

# Set the amplitude, frequency, and number of points in the wave
amplitude = 30
frequency = 2
num_points = 50

# Loop over each point in the wave
for i in range(num_points):
    # Calculate the y value of the wave using the sine function from the math module
    y = int(round(amplitude * math.sin(2 * math.pi * frequency * i / num_points)))

    # Print a space for padding, followed by an asterisk at the appropriate position on the wave
    print(' ' * (amplitude + y) + '*')


Debugging

Tidak hanya dapat mendeteksi kesalahan sintaks dalam kode, tetapi juga dapat menemukan kesalahan logika yang akan muncul saat kode dieksekusi. Di bawah ini adalah contoh dari skrip Python yang akhirnya menyebabkan kesalahan pembagian dengan nol di baris 4 karena kesalahan logika di baris 3. Coba prompt sederhana ini untuk menemukan dan memperbaiki kesalahan:

Harap periksa dan perbaiki kode Python ini:

1. pizza_cost = 100
2. partygoers = 10
3. while partygoers = 0:
4.    cost_per_person = pizza_cost / partygoers
5.    print("the cost per person is $", "{:.2f}".format(cost_per_person))
6.    partygoers -= 2

Output akan mencakup perulangan while yang sudah dikoreksi, yang diubah untuk memastikan variabel penyebut tetap positif:



3. while partygoers >
 0:

Untuk kesalahan yang lebih halus, Anda mungkin perlu menambahkan lebih banyak rincian: pesan kesalahan, variabel lingkungan, perpustakaan yang disertakan, atau variasi masukan.

Optimasi Kode

Jika skrip Anda memakan waktu terlalu lama untuk dieksekusi, ChatGPT dapat mengoptimalkannya. Berikut ini adalah contoh mengoptimalkan skrip yang tidak efisien dalam mencari bilangan prima:

Bertugas seperti senior python developer yang sangat berpengalaman. Please optimize this script:

for num in range(1, 101):
    if num  1:
        for i in range(2, num):
            if (num % i) == 0:
                break
        else:
            print(num)

Keluarannya mungkin menjadi skrip yang menggunakan algoritma Sieve of Eratosthenes untuk menemukan bilangan prima:



numbers = list(range(2, 101))
for i in numbers:
    for j in range(i * 2, 101, i):
        if j in numbers:
            numbers.remove(j)
print(numbers)

Perhatikan bahwa kami meminta bot untuk "berperilaku seperti pengembang senior " untuk mengoptimalkan skrip. Anda juga dapat menentukan bahwa itu memiliki bidang keahlian tertentu (misalnya, algoritma pengurutan) atau jumlah tahun pengalaman. Atau, jika Anda memiliki skrip yang terlihat terlalu rumit, Anda dapat meminta ChatGPT untuk menulis skrip tersebut "sebagai pengembang junior yang sangat junior."

Menerjemahkan Antarbahasa Pemrograman

Fitur yang sangat berguna yang ditawarkan oleh ChatGPT adalah kemampuan untuk memindahkan program dari satu bahasa ke bahasa lain. Penggunaan umum untuk ini mungkin adalah meningkatkan kode dalam bahasa yang lebih tua ke bahasa yang lebih modern:

Bertindak seperti pengembang berpengalaman dengan pengetahuan baik tentang COBOL dan Python. Convert program dari bahasa COBOL berikut ke bahasa Python:


IDENTIFICATION DIVISION.
PROGRAM-ID. CALCULATE-SS-TAX.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 SALARY PIC 9(7)V99.
01 SS-TAX PIC 9(7)V99.

PROCEDURE DIVISION.
DISPLAY "Enter employee's salary: ".
ACCEPT SALARY.

COMPUTE SS-TAX = SALARY * 0.062.

DISPLAY "Social Security tax is: $", SS-TAX.
STOP RUN.

Keluaran mungkin seperti ini:



salary = float(input("Enter employee's salary: "))
ss_tax = salary * 0.062

print("Social Security tax is: $", round(ss_tax, 2))

Menangani Beberapa File dan Merombak Kode Anda

Bagaimana jika Anda ingin ChatGPT mengevaluasi beberapa file? Cukup sediakan nama file dan tempelkan kode untuk setiap file:


Skrip Python saya menggunakan dua file, yang terdaftar di bawah, di direktori yang berbeda. Tampilkan hasil dari menjalankan conversation.py:

BEGIN FILE 1: ./phrases/coming_and_going.py
def hi(name):
   print(f"Hello, {name}!")
def bye(name):
   print(f"Goodbye, {name}!")

BEGIN FILE 2: ./conversation.py
from phrases.coming_and_going import hi, bye
hi("John")
bye("John")


Hello, John!
Goodbye, John!

Dengan menggunakan teknik ini, Anda dapat mengirimkan beberapa file ke ChatGPT dalam satu permintaan dan meminta untuk merombak kode. Sebagai alternatif, Anda dapat meminta untuk "menghafal" masing-masingnya dan kemudian menjalankannya pada prompt kemudian.

Mensimulasikan Server Database

Tidak hanya dapat bekerja dengan kode, tetapi ChatGPT juga dapat mensimulasikan lingkungan server seperti database, web, dan server email. Perhatikan prompt ini:

Act as Microsoft SQL Server. Create a database called "politics" and inside it a table called "politicians." Fill it with 50 rows of famous politicians from around the world from different eras, 1900-2000. Add columns for their full names, country, dates of birth, and date of death if applicable. Create a view for top 3 politicians who lived the longest. Create and execute a Transact-SQL command that outputs the contents of that view.

Hasilnya akan menjadi sesuatu seperti:



-- Create the "politics" database
CREATE DATABASE politics;
GO

-- Use the "politics" database
USE politics;
GO

-- Create the "politicians" table
CREATE TABLE politicians (
    id INT PRIMARY KEY,
    full_name VARCHAR(50),
    country VARCHAR(50),
    date_of_birth DATE,
    date_of_death DATE
);
-- etc.

Dari sana, Anda dapat menambahkan kolom, indeks, dan lainnya:

Tambahkan kolom ke tabel politikus untuk jabatan kedua dan perbarui untuk setiap baris.

Outputnya bisa menjadi seperti ini:



ALTER TABLE politicians ADD second_in_command VARCHAR(255);

UPDATE politicians
SET second_in_command =
    CASE name
        WHEN 'Winston Churchill' THEN 'Clement Attlee'
        WHEN 'Franklin D. Roosevelt' THEN 'Harry S. Truman'
        WHEN 'Mao Zedong' THEN 'Lin Biao'
        -- add more cases for each politician
        ELSE NULL
    END;

Mensimulasikan Server Web

ChatGPT dapat mensimulasikan banyak server dan API lainnya. Berikut adalah contoh prompt yang mensimulasikan respon sebuah server Apache terhadap header permintaan browser tertentu:

Bertindak sebagai sebuah server web Apache. Bagaimana Anda akan merespons header HTTP ini?

GET /example HTTP/1.1
Host: www.example.com

Hasilnya akan menjadi seperti berikut:



HTTP/1.1 200 OK
Date: [current date and time]
Server: Apache/2.4.41 (Ubuntu)
Last-Modified: [date and time of last modification of the requested resource]
Content-Type: [MIME type of the requested resource, e.g. text/html]

Berikut ini hanya beberapa jenis server dan API yang bisa ditiru oleh ChatGPT:

Sangat TuaTuaTerbaruTercanggih
TelnetHTTP/1.0RESTful APIGraphQL API
FTPSMTPSOAP APIGRPC API
POP3LDAPOAuth 2.0Docker API
IMAPDHCPOpenAPI (Swagger)Kubernetes API
DNSNTPgRPC-web APIIstio API
SNMPRADIUSMQTT APIPrometheus API
SyslogSFTPWebSocket APIEnvoy API
TFTPSSHAWS API GatewayIstio Mixer API
NFSXML-RPCAzure API ManagementOpenTracing API
SMBJSON-RPCGoogle Cloud EndpointsNATS Streaming API

Mensimulasikan Baris Perintah Command Line

Karena shell dalam Linux (atau Windows PowerShell) juga merupakan bahasa pemrograman, Anda dapat berinteraksi dengannya menggunakan ChatGPT, dan membangun lingkungan untuk sistem file Anda:

Berperan sebagai shell perintah Debian Linux. Mohon tanggapi perintah saya seperti terminal, sedikit penjelasan mungkin. Perintah pertamaku adalah: ls -l

Keluarannya akan menjadi sesuatu seperti:



-rw-r--r--  1 user  group   2048 Mar  3 14:23 file1.txt
drwxr-xr-x  2 user  group   4096 Feb 28 09:12 directory1
-rwx------  1 user  group  16384 Feb 25 19:41 executable1

Coba bereksperimen dengan perintah lain:

>
touch greeting.txt
>
echo "hello" >
 greeting.txt
>
ls -l

ChatGPT seharusnya mengingat perubahan Anda (setidaknya untuk sementara) dan hasil akhir seharusnya sesuatu seperti:



-rw-r--r--  1 user  group   2048 Mar  3 14:23 file1.txt
drwxr-xr-x  2 user  group   4096 Feb 28 09:12 directory1
-rwx------  1 user  group  16384 Feb 25 19:41 executable1
-rw-r--r--  1 user  group      6 Mar  4 16:15 greeting.txt

Diskusi lengkap tentang penggunaan ChatGPT sebagai mesin virtual dapat ditemukan di engraved.blog.


Dikontribusikan oleh Prompt Yes!, sebuah perusahaan yang menyediakan pelatihan teknik yang cepat .

Edit this page
Word count: 0

Get AI Certified by Learn Prompting


Copyright © 2024 Learn Prompting.